From 152e02d2f556d60c05a72980cd12787392d46d08 Mon Sep 17 00:00:00 2001 From: Bas Meeuwissen Date: Wed, 21 May 2025 15:34:34 +0200 Subject: [PATCH 1/6] #411: fixed inconsistencies Bff now without database and notification service Node renamed to Worker Not all reads and writes were added to the correct segments --- segments/notification.json | 4 +++- segments/reads.json | 1 + segments/writes.json | 2 ++ services/bff.json | 8 ++------ services/notification.json | 4 ++-- services/reads.json | 4 ++-- services/reads2.json | 4 ++-- services/standalone.json | 4 ++-- services/writes.json | 4 ++-- src/integrations/runtime/setUpBff.ts | 19 +++++++++++++++++++ .../runtime/{setUpNode.ts => setUpWorker.ts} | 0 src/integrations/runtime/tearDownBff.ts | 8 ++++++++ .../{tearDownNode.ts => tearDownWorker.ts} | 0 .../elementary/StartedFollowing.tsx | 2 +- 14 files changed, 46 insertions(+), 18 deletions(-) create mode 100644 src/integrations/runtime/setUpBff.ts rename src/integrations/runtime/{setUpNode.ts => setUpWorker.ts} (100%) create mode 100644 src/integrations/runtime/tearDownBff.ts rename src/integrations/runtime/{tearDownNode.ts => tearDownWorker.ts} (100%) diff --git a/segments/notification.json b/segments/notification.json index 79854f4f..00a16a4b 100644 --- a/segments/notification.json +++ b/segments/notification.json @@ -1,5 +1,7 @@ { "./domain/notification/create": { "default": { "access": "protected" } }, "./domain/notification/getById": { "default": { "access": "protected" } }, - "./domain/notification/getRecent": { "default": { "access": "protected" } } + "./domain/notification/getByPostId": { "default": { "access": "protected" } }, + "./domain/notification/getRecent": { "default": { "access": "protected" } }, + "./domain/notification/remove": { "default": { "access": "protected" } } } \ No newline at end of file diff --git a/segments/reads.json b/segments/reads.json index 9138f068..a45a91d3 100644 --- a/segments/reads.json +++ b/segments/reads.json @@ -22,6 +22,7 @@ "./domain/post.metrics/getByPost": { "default": { "access": "protected" } }, "./domain/rating/exists": { "default": { "access": "protected" } }, + "./domain/rating/toggle/getData": { "default": { "access": "protected" } }, "./domain/relation/exists": { "default": { "access": "protected" } }, "./domain/relation/explore": { "default": { "access": "protected" } }, diff --git a/segments/writes.json b/segments/writes.json index df89b688..c1f09fa1 100644 --- a/segments/writes.json +++ b/segments/writes.json @@ -9,6 +9,7 @@ "./domain/creator/update": { "default": { "access": "protected" } }, "./domain/creator.metrics/create/insertData": { "default": { "access": "protected" } }, + "./domain/creator.metrics/update": { "default": { "access": "protected" } }, "./domain/image/save": { "default": { "access": "protected" } }, "./domain/image/erase": { "default": { "access": "protected" } }, @@ -19,6 +20,7 @@ "./domain/post/update": { "default": { "access": "protected" } }, "./domain/post.metrics/create/insertData": { "default": { "access": "protected" } }, + "./domain/post.metrics/update": { "default": { "access": "protected" } }, "./domain/rating/create": { "default": { "access": "protected" } }, "./domain/rating/erase": { "default": { "access": "protected" } }, diff --git a/services/bff.json b/services/bff.json index b929b5d6..07f49c17 100644 --- a/services/bff.json +++ b/services/bff.json @@ -1,14 +1,10 @@ { "url": "http://127.0.0.1:4000", "setUp": [ - "./integrations/runtime/setUpNode" + "./integrations/runtime/setUpBff" ], "tearDown": [ - "./integrations/runtime/tearDownNode" - ], - "healthChecks": [ - "./integrations/runtime/fileStoreHealthCheck", - "./integrations/runtime/databaseHealthCheck" + "./integrations/runtime/tearDownBff" ], "worker": { diff --git a/services/notification.json b/services/notification.json index f5c01f5d..b84c53ea 100644 --- a/services/notification.json +++ b/services/notification.json @@ -1,10 +1,10 @@ { "url": "http://127.0.0.1:4001", "setUp": [ - "./integrations/runtime/setUpNode" + "./integrations/runtime/setUpWorker" ], "tearDown": [ - "./integrations/runtime/tearDownNode" + "./integrations/runtime/tearDownWorker" ], "healthChecks": [ "./integrations/runtime/notificationHealthCheck", diff --git a/services/reads.json b/services/reads.json index d85b3d32..2403e57a 100644 --- a/services/reads.json +++ b/services/reads.json @@ -1,10 +1,10 @@ { "url": "http://127.0.0.1:4002", "setUp": [ - "./integrations/runtime/setUpNode" + "./integrations/runtime/setUpWorker" ], "tearDown": [ - "./integrations/runtime/tearDownNode" + "./integrations/runtime/tearDownWorker" ], "healthChecks": [ "./integrations/runtime/fileStoreHealthCheck", diff --git a/services/reads2.json b/services/reads2.json index af5c5671..b15c05a3 100644 --- a/services/reads2.json +++ b/services/reads2.json @@ -1,10 +1,10 @@ { "url": "http://127.0.0.1:4003", "setUp": [ - "./integrations/runtime/setUpNode" + "./integrations/runtime/setUpWorker" ], "tearDown": [ - "./integrations/runtime/tearDownNode" + "./integrations/runtime/tearDownWorker" ], "healthChecks": [ "./integrations/runtime/fileStoreHealthCheck", diff --git a/services/standalone.json b/services/standalone.json index 7fdbd3bf..f3903cec 100644 --- a/services/standalone.json +++ b/services/standalone.json @@ -1,12 +1,12 @@ { "url": "http://127.0.0.1:3000", "setUp": [ - "./integrations/runtime/setUpNode", + "./integrations/runtime/setUpWorker", "./integrations/runtime/setUpGateway" ], "tearDown": [ "./integrations/runtime/tearDownGateway", - "./integrations/runtime/tearDownNode" + "./integrations/runtime/tearDownWorker" ], "healthChecks": [ "./integrations/runtime/notificationHealthCheck", diff --git a/services/writes.json b/services/writes.json index 5c7b3092..4da3c22e 100644 --- a/services/writes.json +++ b/services/writes.json @@ -1,10 +1,10 @@ { "url": "http://127.0.0.1:4004", "setUp": [ - "./integrations/runtime/setUpNode" + "./integrations/runtime/setUpWorker" ], "tearDown": [ - "./integrations/runtime/tearDownNode" + "./integrations/runtime/tearDownWorker" ], "healthChecks": [ "./integrations/runtime/fileStoreHealthCheck", diff --git a/src/integrations/runtime/setUpBff.ts b/src/integrations/runtime/setUpBff.ts new file mode 100644 index 00000000..5c1f24ff --- /dev/null +++ b/src/integrations/runtime/setUpBff.ts @@ -0,0 +1,19 @@ + +import eventBroker from '^/integrations/eventbroker'; + +try +{ + await Promise.allSettled([ + eventBroker.connect() + ]); +} +catch (error) +{ + const disconnections = []; + + if (eventBroker.connected) disconnections.push(eventBroker.disconnect()); + + await Promise.allSettled(disconnections); + + throw error; +} diff --git a/src/integrations/runtime/setUpNode.ts b/src/integrations/runtime/setUpWorker.ts similarity index 100% rename from src/integrations/runtime/setUpNode.ts rename to src/integrations/runtime/setUpWorker.ts diff --git a/src/integrations/runtime/tearDownBff.ts b/src/integrations/runtime/tearDownBff.ts new file mode 100644 index 00000000..4aa38270 --- /dev/null +++ b/src/integrations/runtime/tearDownBff.ts @@ -0,0 +1,8 @@ + +import eventBroker from '^/integrations/eventbroker'; + +const disconnections = []; + +if (eventBroker.connected) disconnections.push(eventBroker.disconnect()); + +await Promise.allSettled(disconnections); diff --git a/src/integrations/runtime/tearDownNode.ts b/src/integrations/runtime/tearDownWorker.ts similarity index 100% rename from src/integrations/runtime/tearDownNode.ts rename to src/integrations/runtime/tearDownWorker.ts diff --git a/src/webui/components/notification/elementary/StartedFollowing.tsx b/src/webui/components/notification/elementary/StartedFollowing.tsx index d980822b..e1cf68e3 100644 --- a/src/webui/components/notification/elementary/StartedFollowing.tsx +++ b/src/webui/components/notification/elementary/StartedFollowing.tsx @@ -8,7 +8,7 @@ type Props = { export default function Component({ isFollowing }: Props) { const message = 'I started following you.' - + (isFollowing ? '' : 'Hit the Follow button to follow me back.'); + + (isFollowing ? '' : ' Hit the Follow button to follow me back.'); return From 83e3311769da22fbc3170b6dbd1160c548f5a5d4 Mon Sep 17 00:00:00 2001 From: Bas Meeuwissen Date: Fri, 23 May 2025 22:07:16 +0200 Subject: [PATCH 2/6] #411: consistent imports --- src/domain/comic/create/create.ts | 1 - src/domain/comic/erase/erase.ts | 1 - src/domain/common/validateRange/validateRange.ts | 3 +-- src/domain/creator.metrics/getByCreator/getByCreator.ts | 1 - .../creator.metrics/updateFollowers/updateFollowers.ts | 3 +-- .../creator.metrics/updateFollowing/updateFollowing.ts | 3 +-- src/domain/creator.metrics/updatePosts/updatePosts.ts | 3 +-- src/domain/creator/cleanNickname/cleanNickname.ts | 1 - src/domain/creator/create/create.ts | 1 - src/domain/creator/register/publish.ts | 1 - src/domain/creator/register/register.ts | 1 - src/domain/creator/register/subscribe.ts | 1 - src/domain/image/create/convertDataUrl.ts | 3 +-- src/domain/image/validate/validate.ts | 1 - src/domain/post.metrics/getByPost/getByPost.ts | 1 - src/domain/post.metrics/updateRatings/updateRatings.ts | 3 +-- .../post.metrics/updateReactions/updateReactions.ts | 3 +-- src/domain/post/aggregate/aggregate.ts | 1 - src/domain/post/create/create.ts | 1 - src/domain/post/create/publish.ts | 1 - src/domain/post/create/subscribe.ts | 1 - src/domain/post/createWithComic/createWithComic.ts | 1 - src/domain/post/createWithComment/createWithComment.ts | 1 - src/domain/post/getRecommended/getRecommended.ts | 3 +-- src/domain/post/remove/publish.ts | 1 - src/domain/post/remove/remove.ts | 1 - src/domain/post/remove/subscribe.ts | 1 - src/domain/rating/toggle/publish.ts | 1 - src/domain/rating/toggle/subscribe.ts | 1 - src/domain/rating/toggle/switchOff.ts | 1 - src/domain/rating/toggle/switchOn.ts | 1 - src/domain/relation/establish/establish.ts | 1 - src/domain/relation/establish/publish.ts | 1 - src/domain/relation/establish/subscribe.ts | 1 - src/domain/relation/getFollowers/getFollowers.ts | 1 - src/domain/relation/getFollowing/getFollowing.ts | 1 - src/domain/relation/translateToRequester/translate.ts | 1 - .../relation/translateToRequester/translateToRequester.ts | 1 - .../authentication/errors/UnknownImplementation.ts | 2 +- src/integrations/database/errors/UnknownImplementation.ts | 2 +- .../eventbroker/errors/UnknownImplementation.ts | 2 +- .../eventbroker/implementations/memory/Memory.ts | 2 +- .../filestore/errors/UnknownImplementation.ts | 2 +- src/integrations/http/errors/UnknownImplementation.ts | 2 +- src/integrations/logging/errors/UnknownImplementation.ts | 2 +- .../notification/errors/UnknownImplementation.ts | 2 +- src/integrations/runtime/setUpWorker.ts | 8 +------- .../validation/errors/UnknownImplementation.ts | 2 +- src/integrations/validation/errors/UnknownValidator.ts | 2 +- src/webui/components/application/Header.tsx | 4 +--- src/webui/components/application/Identity.tsx | 1 - src/webui/components/common/Form.tsx | 1 - src/webui/components/common/OrderAndSearchRow.tsx | 1 - src/webui/components/common/PullToRefresh.tsx | 1 - src/webui/components/common/ScrollLoader.tsx | 1 - src/webui/components/post/DeleteButton.tsx | 1 + src/webui/components/reaction/Engagement.tsx | 1 + src/webui/components/relation/elementary/FollowRow.tsx | 1 + src/webui/features/PostDetails.tsx | 1 - src/webui/features/PostHighlight.tsx | 6 +++--- src/webui/features/PostReactions.tsx | 3 +-- src/webui/features/Profile.tsx | 7 +++---- 62 files changed, 30 insertions(+), 81 deletions(-) diff --git a/src/domain/comic/create/create.ts b/src/domain/comic/create/create.ts index ab0f6c74..33a44b16 100644 --- a/src/domain/comic/create/create.ts +++ b/src/domain/comic/create/create.ts @@ -2,7 +2,6 @@ import createImage from '^/domain/image/create'; import { IMAGE_TYPE } from '../definitions'; - import createData from './createData'; import insertData from './insertData'; import validateData from './validateData'; diff --git a/src/domain/comic/erase/erase.ts b/src/domain/comic/erase/erase.ts index c1c7b6aa..73e81fb6 100644 --- a/src/domain/comic/erase/erase.ts +++ b/src/domain/comic/erase/erase.ts @@ -2,7 +2,6 @@ import eraseImage from '^/domain/image/erase'; import getById from '../getById'; - import eraseData from './eraseData'; export default async function erase(id: string): Promise diff --git a/src/domain/common/validateRange/validateRange.ts b/src/domain/common/validateRange/validateRange.ts index 9c3f1019..ab8375c0 100644 --- a/src/domain/common/validateRange/validateRange.ts +++ b/src/domain/common/validateRange/validateRange.ts @@ -2,9 +2,8 @@ import type { ValidationSchema } from '^/integrations/validation'; import validator from '^/integrations/validation'; -import type { Range } from './types'; - import InvalidRange from './InvalidRange'; +import type { Range } from './types'; const schema: ValidationSchema = { diff --git a/src/domain/creator.metrics/getByCreator/getByCreator.ts b/src/domain/creator.metrics/getByCreator/getByCreator.ts index 4713d6fd..b947e120 100644 --- a/src/domain/creator.metrics/getByCreator/getByCreator.ts +++ b/src/domain/creator.metrics/getByCreator/getByCreator.ts @@ -3,7 +3,6 @@ import database from '^/integrations/database'; import { RECORD_TYPE } from '../definitions'; import type { DataModel } from '../types'; - import CreatorMetricsNotFound from './CreatorMetricsNotFound'; export default async function getByCreator(creatorId: string): Promise diff --git a/src/domain/creator.metrics/updateFollowers/updateFollowers.ts b/src/domain/creator.metrics/updateFollowers/updateFollowers.ts index 60662949..f78178be 100644 --- a/src/domain/creator.metrics/updateFollowers/updateFollowers.ts +++ b/src/domain/creator.metrics/updateFollowers/updateFollowers.ts @@ -1,8 +1,7 @@ import getByCreator from '../getByCreator'; -import update from '../update'; - import type { CountOperation } from '../types'; +import update from '../update'; export default async function updateFollowers(creatorId: string, operation: CountOperation): Promise { diff --git a/src/domain/creator.metrics/updateFollowing/updateFollowing.ts b/src/domain/creator.metrics/updateFollowing/updateFollowing.ts index 668f5b66..28ecf6ec 100644 --- a/src/domain/creator.metrics/updateFollowing/updateFollowing.ts +++ b/src/domain/creator.metrics/updateFollowing/updateFollowing.ts @@ -1,8 +1,7 @@ import getByCreator from '../getByCreator'; -import update from '../update'; - import type { CountOperation } from '../types'; +import update from '../update'; export default async function updateFollowing(creatorId: string, operation: CountOperation): Promise { diff --git a/src/domain/creator.metrics/updatePosts/updatePosts.ts b/src/domain/creator.metrics/updatePosts/updatePosts.ts index 6fbeeab1..5fddad54 100644 --- a/src/domain/creator.metrics/updatePosts/updatePosts.ts +++ b/src/domain/creator.metrics/updatePosts/updatePosts.ts @@ -1,8 +1,7 @@ import getByCreator from '../getByCreator'; -import update from '../update'; - import type { CountOperation } from '../types'; +import update from '../update'; export default async function updatePosts(creatorId: string, operation: CountOperation): Promise { diff --git a/src/domain/creator/cleanNickname/cleanNickname.ts b/src/domain/creator/cleanNickname/cleanNickname.ts index 6f97707f..daf6545b 100644 --- a/src/domain/creator/cleanNickname/cleanNickname.ts +++ b/src/domain/creator/cleanNickname/cleanNickname.ts @@ -1,6 +1,5 @@ import { NICKNAME_MAX_LENGTH } from '../definitions'; - import { REPLACE_EXPRESSION } from './definitions'; export default function cleanNickname(nickname: string): string diff --git a/src/domain/creator/create/create.ts b/src/domain/creator/create/create.ts index b09c8a29..2bd12d49 100644 --- a/src/domain/creator/create/create.ts +++ b/src/domain/creator/create/create.ts @@ -1,6 +1,5 @@ import type { DataModel } from '../types'; - import createData from './createData'; import insertData from './insertData'; import validateData from './validateData'; diff --git a/src/domain/creator/register/publish.ts b/src/domain/creator/register/publish.ts index 85a9384d..62037765 100644 --- a/src/domain/creator/register/publish.ts +++ b/src/domain/creator/register/publish.ts @@ -2,7 +2,6 @@ import eventBroker from '^/integrations/eventbroker'; import { EVENT_CHANNEL } from '../definitions'; - import { EVENT_NAME } from './definitions'; import type { RegisteredPublication } from './types'; diff --git a/src/domain/creator/register/register.ts b/src/domain/creator/register/register.ts index e2893143..f7951e62 100644 --- a/src/domain/creator/register/register.ts +++ b/src/domain/creator/register/register.ts @@ -6,7 +6,6 @@ import { FULL_NAME_MAX_LENGTH } from '../definitions'; import erase from '../erase'; import generateNickname from '../generateNickname'; import type { DataModel } from '../types'; - import downloadPortrait from './downloadPortrait'; import publish from './publish'; diff --git a/src/domain/creator/register/subscribe.ts b/src/domain/creator/register/subscribe.ts index 0158f9c6..3238fdb5 100644 --- a/src/domain/creator/register/subscribe.ts +++ b/src/domain/creator/register/subscribe.ts @@ -2,7 +2,6 @@ import eventBroker from '^/integrations/eventbroker'; import { EVENT_CHANNEL } from '../definitions'; - import { EVENT_NAME } from './definitions'; import type { RegisteredEventHandler, RegisteredSubscription } from './types'; diff --git a/src/domain/image/create/convertDataUrl.ts b/src/domain/image/create/convertDataUrl.ts index 7a4d3129..bd5f0903 100644 --- a/src/domain/image/create/convertDataUrl.ts +++ b/src/domain/image/create/convertDataUrl.ts @@ -1,7 +1,6 @@ -import InvalidDataURL from './InvalidDataURL'; - import type { Image } from '../types'; +import InvalidDataURL from './InvalidDataURL'; const DATA_URL_REGEX = /^data:(image\/(\w+));base64,(.*)$/; diff --git a/src/domain/image/validate/validate.ts b/src/domain/image/validate/validate.ts index d1f53abc..e79aa195 100644 --- a/src/domain/image/validate/validate.ts +++ b/src/domain/image/validate/validate.ts @@ -3,7 +3,6 @@ import type { ValidationSchema } from '^/integrations/validation'; import validator from '^/integrations/validation'; import type { MetaData } from '../types'; - import InvalidImage from './InvalidImage'; const TEN_B = 10; diff --git a/src/domain/post.metrics/getByPost/getByPost.ts b/src/domain/post.metrics/getByPost/getByPost.ts index 9e965813..d5a4993e 100644 --- a/src/domain/post.metrics/getByPost/getByPost.ts +++ b/src/domain/post.metrics/getByPost/getByPost.ts @@ -3,7 +3,6 @@ import database from '^/integrations/database'; import { RECORD_TYPE } from '../definitions'; import type { DataModel } from '../types'; - import PostMetricsNotFound from './PostMetricsNotFound'; export default async function getByPost(postId: string): Promise diff --git a/src/domain/post.metrics/updateRatings/updateRatings.ts b/src/domain/post.metrics/updateRatings/updateRatings.ts index 9aed165b..47a66764 100644 --- a/src/domain/post.metrics/updateRatings/updateRatings.ts +++ b/src/domain/post.metrics/updateRatings/updateRatings.ts @@ -1,8 +1,7 @@ import getByPost from '../getByPost'; -import update from '../update'; - import type { CountOperation } from '../types'; +import update from '../update'; export default async function updateRatings(postId: string, operation: CountOperation): Promise { diff --git a/src/domain/post.metrics/updateReactions/updateReactions.ts b/src/domain/post.metrics/updateReactions/updateReactions.ts index e8ca1ee7..9236fefc 100644 --- a/src/domain/post.metrics/updateReactions/updateReactions.ts +++ b/src/domain/post.metrics/updateReactions/updateReactions.ts @@ -1,8 +1,7 @@ import getByPost from '../getByPost'; -import update from '../update'; - import type { CountOperation } from '../types'; +import update from '../update'; export default async function updateReactionCount(postId: string, operation: CountOperation): Promise { diff --git a/src/domain/post/aggregate/aggregate.ts b/src/domain/post/aggregate/aggregate.ts index 75186a28..67b7104b 100644 --- a/src/domain/post/aggregate/aggregate.ts +++ b/src/domain/post/aggregate/aggregate.ts @@ -7,7 +7,6 @@ import ratingExists from '^/domain/rating/exists'; import getRelationData from '^/domain/relation/getAggregated'; import type { DataModel } from '../types'; - import type { AggregatedData } from './types'; export default async function aggregate(requester: Requester, data: DataModel): Promise diff --git a/src/domain/post/create/create.ts b/src/domain/post/create/create.ts index 4c1bfe55..9eef3339 100644 --- a/src/domain/post/create/create.ts +++ b/src/domain/post/create/create.ts @@ -2,7 +2,6 @@ import logger from '^/integrations/logging'; import erase from '../erase'; - import createData from './createData'; import insertData from './insertData'; import publish from './publish'; diff --git a/src/domain/post/create/publish.ts b/src/domain/post/create/publish.ts index 6d467c0b..a9eefc41 100644 --- a/src/domain/post/create/publish.ts +++ b/src/domain/post/create/publish.ts @@ -2,7 +2,6 @@ import eventBroker from '^/integrations/eventbroker'; import { EVENT_CHANNEL } from '../definitions'; - import { EVENT_NAME } from './definitions'; import type { CreatedPublication } from './types'; diff --git a/src/domain/post/create/subscribe.ts b/src/domain/post/create/subscribe.ts index ebd46cbd..fb2ba008 100644 --- a/src/domain/post/create/subscribe.ts +++ b/src/domain/post/create/subscribe.ts @@ -2,7 +2,6 @@ import eventBroker from '^/integrations/eventbroker'; import { EVENT_CHANNEL } from '../definitions'; - import { EVENT_NAME } from './definitions'; import type { CreatedEventHandler, CreatedSubscription } from './types'; diff --git a/src/domain/post/createWithComic/createWithComic.ts b/src/domain/post/createWithComic/createWithComic.ts index 797e55af..53cf9f11 100644 --- a/src/domain/post/createWithComic/createWithComic.ts +++ b/src/domain/post/createWithComic/createWithComic.ts @@ -1,6 +1,5 @@ import type { Requester } from '^/domain/authentication'; - import createComic from '^/domain/comic/create'; import createPost from '../create'; diff --git a/src/domain/post/createWithComment/createWithComment.ts b/src/domain/post/createWithComment/createWithComment.ts index d32d799a..50b50a0b 100644 --- a/src/domain/post/createWithComment/createWithComment.ts +++ b/src/domain/post/createWithComment/createWithComment.ts @@ -1,6 +1,5 @@ import type { Requester } from '^/domain/authentication'; - import createComment from '^/domain/comment/create'; import createPost from '../create'; diff --git a/src/domain/post/getRecommended/getRecommended.ts b/src/domain/post/getRecommended/getRecommended.ts index 3bdd8a8a..0beb51c1 100644 --- a/src/domain/post/getRecommended/getRecommended.ts +++ b/src/domain/post/getRecommended/getRecommended.ts @@ -1,11 +1,10 @@ -import type { RecordQuery, RecordSort} from '^/integrations/database'; +import type { RecordQuery, RecordSort } from '^/integrations/database'; import database, { SortDirections } from '^/integrations/database'; import type { Requester } from '^/domain/authentication'; import { RECORD_TYPE } from '../definitions'; - import type { DataModel } from '../types'; export default async function getRecommended(requester: Requester, limit: number, offset: number): Promise diff --git a/src/domain/post/remove/publish.ts b/src/domain/post/remove/publish.ts index 03416dac..36819073 100644 --- a/src/domain/post/remove/publish.ts +++ b/src/domain/post/remove/publish.ts @@ -2,7 +2,6 @@ import eventBroker from '^/integrations/eventbroker'; import { EVENT_CHANNEL } from '../definitions'; - import { EVENT_NAME } from './definitions'; import type { RemovedPublication } from './types'; diff --git a/src/domain/post/remove/remove.ts b/src/domain/post/remove/remove.ts index 0b4dac5a..278631c6 100644 --- a/src/domain/post/remove/remove.ts +++ b/src/domain/post/remove/remove.ts @@ -5,7 +5,6 @@ import type { Requester } from '^/domain/authentication'; import getById from '../getById'; import PostNotFound from '../PostNotFound'; - import deleteData from './deleteData'; import isNotOwner from './isNotOwner'; import publish from './publish'; diff --git a/src/domain/post/remove/subscribe.ts b/src/domain/post/remove/subscribe.ts index c3d48a3d..ccfde875 100644 --- a/src/domain/post/remove/subscribe.ts +++ b/src/domain/post/remove/subscribe.ts @@ -2,7 +2,6 @@ import eventBroker from '^/integrations/eventbroker'; import { EVENT_CHANNEL } from '../definitions'; - import { EVENT_NAME } from './definitions'; import type { RemovedEventHandler, RemovedSubscription } from './types'; diff --git a/src/domain/rating/toggle/publish.ts b/src/domain/rating/toggle/publish.ts index ec02e68c..edd6adb5 100644 --- a/src/domain/rating/toggle/publish.ts +++ b/src/domain/rating/toggle/publish.ts @@ -2,7 +2,6 @@ import eventBroker from '^/integrations/eventbroker'; import { EVENT_CHANNEL } from '../definitions'; - import { EVENT_NAME } from './definitions'; import type { ToggledPublication } from './types'; diff --git a/src/domain/rating/toggle/subscribe.ts b/src/domain/rating/toggle/subscribe.ts index fc7afa5b..d62ca31f 100644 --- a/src/domain/rating/toggle/subscribe.ts +++ b/src/domain/rating/toggle/subscribe.ts @@ -2,7 +2,6 @@ import eventBroker from '^/integrations/eventbroker'; import { EVENT_CHANNEL } from '../definitions'; - import { EVENT_NAME } from './definitions'; import type { ToggledEventHandler, ToggledSubscription } from './types'; diff --git a/src/domain/rating/toggle/switchOff.ts b/src/domain/rating/toggle/switchOff.ts index a97cf1d7..fb7ef1cb 100644 --- a/src/domain/rating/toggle/switchOff.ts +++ b/src/domain/rating/toggle/switchOff.ts @@ -2,7 +2,6 @@ import create from '../create'; import erase from '../erase'; import type { DataModel } from '../types'; - import publish from './publish'; export default async function switchOff(rating: DataModel): Promise diff --git a/src/domain/rating/toggle/switchOn.ts b/src/domain/rating/toggle/switchOn.ts index 7e146c77..f04942a0 100644 --- a/src/domain/rating/toggle/switchOn.ts +++ b/src/domain/rating/toggle/switchOn.ts @@ -1,7 +1,6 @@ import create from '../create'; import erase from '../erase'; - import publish from './publish'; export default async function switchOn(creatorId: string, postId: string): Promise diff --git a/src/domain/relation/establish/establish.ts b/src/domain/relation/establish/establish.ts index 7abf0a7b..5716e0d6 100644 --- a/src/domain/relation/establish/establish.ts +++ b/src/domain/relation/establish/establish.ts @@ -6,7 +6,6 @@ import type { Requester } from '^/domain/authentication'; import create from '../create'; import erase from '../erase'; import exists from '../exists'; - import publish from './publish'; import RelationAlreadyExists from './RelationAlreadyExists'; diff --git a/src/domain/relation/establish/publish.ts b/src/domain/relation/establish/publish.ts index f3bb386b..04f5ffd4 100644 --- a/src/domain/relation/establish/publish.ts +++ b/src/domain/relation/establish/publish.ts @@ -2,7 +2,6 @@ import eventBroker from '^/integrations/eventbroker'; import { EVENT_CHANNEL } from '../definitions'; - import { EVENT_NAME } from './definitions'; import type { EstablishedPublication } from './types'; diff --git a/src/domain/relation/establish/subscribe.ts b/src/domain/relation/establish/subscribe.ts index 003c571b..4b07372e 100644 --- a/src/domain/relation/establish/subscribe.ts +++ b/src/domain/relation/establish/subscribe.ts @@ -2,7 +2,6 @@ import eventBroker from '^/integrations/eventbroker'; import { EVENT_CHANNEL } from '../definitions'; - import { EVENT_NAME } from './definitions'; import type { EstablishedEventHandler, EstablishedSubscription } from './types'; diff --git a/src/domain/relation/getFollowers/getFollowers.ts b/src/domain/relation/getFollowers/getFollowers.ts index c571f4cc..19b62f54 100644 --- a/src/domain/relation/getFollowers/getFollowers.ts +++ b/src/domain/relation/getFollowers/getFollowers.ts @@ -3,7 +3,6 @@ import type { Requester } from '^/domain/authentication'; import translateToRequester from '../translateToRequester'; import type { DataModel } from '../types'; - import retrieveData from './retrieveData'; export default async function getFollowers(requester: Requester, followingId: string, limit: number, offset: number): Promise diff --git a/src/domain/relation/getFollowing/getFollowing.ts b/src/domain/relation/getFollowing/getFollowing.ts index 4d28a0e0..82d2ee36 100644 --- a/src/domain/relation/getFollowing/getFollowing.ts +++ b/src/domain/relation/getFollowing/getFollowing.ts @@ -3,7 +3,6 @@ import type { Requester } from '^/domain/authentication'; import translateToRequester from '../translateToRequester'; import type { DataModel } from '../types'; - import retrieveData from './retrieveData'; export default async function getFollowing(requester: Requester, followerId: string, limit: number | undefined = undefined, offset: number | undefined = undefined): Promise diff --git a/src/domain/relation/translateToRequester/translate.ts b/src/domain/relation/translateToRequester/translate.ts index 9f4fa294..ad008430 100644 --- a/src/domain/relation/translateToRequester/translate.ts +++ b/src/domain/relation/translateToRequester/translate.ts @@ -3,7 +3,6 @@ import type { Requester } from '^/domain/authentication'; import get from '../get'; import type { DataModel } from '../types'; - import type { Mapping } from './types'; export default async function translate(requester: Requester, mapping: Mapping, data: DataModel): Promise diff --git a/src/domain/relation/translateToRequester/translateToRequester.ts b/src/domain/relation/translateToRequester/translateToRequester.ts index 380b86a1..b5a6b593 100644 --- a/src/domain/relation/translateToRequester/translateToRequester.ts +++ b/src/domain/relation/translateToRequester/translateToRequester.ts @@ -2,7 +2,6 @@ import type { Requester } from '^/domain/authentication'; import type { DataModel } from '../types'; - import translate from './translate'; import type { Mapping } from './types'; diff --git a/src/integrations/authentication/errors/UnknownImplementation.ts b/src/integrations/authentication/errors/UnknownImplementation.ts index 13e875bc..d300bcc8 100644 --- a/src/integrations/authentication/errors/UnknownImplementation.ts +++ b/src/integrations/authentication/errors/UnknownImplementation.ts @@ -3,7 +3,7 @@ import AuthenticationError from './AuthenticationError'; export default class UnknownImplementation extends AuthenticationError { - constructor(name?: string) + constructor(name: string) { super(`Unknown authentication implementation: ${name}`); } diff --git a/src/integrations/database/errors/UnknownImplementation.ts b/src/integrations/database/errors/UnknownImplementation.ts index 9f21ddc7..4da7a3e8 100644 --- a/src/integrations/database/errors/UnknownImplementation.ts +++ b/src/integrations/database/errors/UnknownImplementation.ts @@ -3,7 +3,7 @@ import DatabaseError from './DatabaseError'; export default class UnknownImplementation extends DatabaseError { - constructor(name?: string) + constructor(name: string) { super(`Unknown database implementation: ${name}`); } diff --git a/src/integrations/eventbroker/errors/UnknownImplementation.ts b/src/integrations/eventbroker/errors/UnknownImplementation.ts index 8571d8d5..80cb1385 100644 --- a/src/integrations/eventbroker/errors/UnknownImplementation.ts +++ b/src/integrations/eventbroker/errors/UnknownImplementation.ts @@ -3,7 +3,7 @@ import EventBrokerError from './EventBrokerError'; export default class UnknownImplementation extends EventBrokerError { - constructor(name?: string) + constructor(name: string) { super(`Unknown event broker implementation: ${name}`); } diff --git a/src/integrations/eventbroker/implementations/memory/Memory.ts b/src/integrations/eventbroker/implementations/memory/Memory.ts index 7be2ac80..fde248f9 100644 --- a/src/integrations/eventbroker/implementations/memory/Memory.ts +++ b/src/integrations/eventbroker/implementations/memory/Memory.ts @@ -8,7 +8,7 @@ export default class Memory implements Driver { readonly #emitters = new Map(); - #connected = true; + #connected = false; get connected() { return this.#connected; } diff --git a/src/integrations/filestore/errors/UnknownImplementation.ts b/src/integrations/filestore/errors/UnknownImplementation.ts index e2ed7e15..907c49c7 100644 --- a/src/integrations/filestore/errors/UnknownImplementation.ts +++ b/src/integrations/filestore/errors/UnknownImplementation.ts @@ -3,7 +3,7 @@ import FileSystemError from './FileSystemError'; export default class UnknownImplementation extends FileSystemError { - constructor(name?: string) + constructor(name: string) { super(`Unknown file system implementation: ${name}`); } diff --git a/src/integrations/http/errors/UnknownImplementation.ts b/src/integrations/http/errors/UnknownImplementation.ts index e872e141..5d23da6e 100644 --- a/src/integrations/http/errors/UnknownImplementation.ts +++ b/src/integrations/http/errors/UnknownImplementation.ts @@ -3,7 +3,7 @@ import HttpError from './HttpError'; export default class UnknownImplementation extends HttpError { - constructor(name?: string) + constructor(name: string) { super(`Unknown http implementation: ${name}`); } diff --git a/src/integrations/logging/errors/UnknownImplementation.ts b/src/integrations/logging/errors/UnknownImplementation.ts index 10327420..2c70ed33 100644 --- a/src/integrations/logging/errors/UnknownImplementation.ts +++ b/src/integrations/logging/errors/UnknownImplementation.ts @@ -3,7 +3,7 @@ import LogError from './LogError'; export default class UnknownImplementation extends LogError { - constructor(name?: string) + constructor(name: string) { super(`Unknown logger implementation: ${name}`); } diff --git a/src/integrations/notification/errors/UnknownImplementation.ts b/src/integrations/notification/errors/UnknownImplementation.ts index c92f44b5..013ab06b 100644 --- a/src/integrations/notification/errors/UnknownImplementation.ts +++ b/src/integrations/notification/errors/UnknownImplementation.ts @@ -3,7 +3,7 @@ import NotificationError from './NotificationError'; export default class UnknownImplementation extends NotificationError { - constructor(name?: string) + constructor(name: string) { super(`Unknown notification implementation: ${name}`); } diff --git a/src/integrations/runtime/setUpWorker.ts b/src/integrations/runtime/setUpWorker.ts index c54885fc..6194ba43 100644 --- a/src/integrations/runtime/setUpWorker.ts +++ b/src/integrations/runtime/setUpWorker.ts @@ -1,16 +1,12 @@ import database from '^/integrations/database'; -import eventBroker from '^/integrations/eventbroker'; import fileStore from '^/integrations/filestore'; -import notificationService from '^/integrations/notification'; try { await Promise.allSettled([ database.connect(), - eventBroker.connect(), - fileStore.connect(), - notificationService.connect() + fileStore.connect() ]); } catch (error) @@ -18,9 +14,7 @@ catch (error) const disconnections = []; if (database.connected) disconnections.push(database.disconnect()); - if (eventBroker.connected) disconnections.push(eventBroker.disconnect()); if (fileStore.connected) disconnections.push(fileStore.disconnect()); - if (notificationService.connected) disconnections.push(notificationService.disconnect()); await Promise.allSettled(disconnections); diff --git a/src/integrations/validation/errors/UnknownImplementation.ts b/src/integrations/validation/errors/UnknownImplementation.ts index 41280c11..7bf0d151 100644 --- a/src/integrations/validation/errors/UnknownImplementation.ts +++ b/src/integrations/validation/errors/UnknownImplementation.ts @@ -3,7 +3,7 @@ import ValidationError from './ValidationError'; export default class UnknownImplementation extends ValidationError { - constructor(name?: string) + constructor(name: string) { super(`Unknown validation implementation: ${name}`); } diff --git a/src/integrations/validation/errors/UnknownValidator.ts b/src/integrations/validation/errors/UnknownValidator.ts index f92dfbee..5b3dabfe 100644 --- a/src/integrations/validation/errors/UnknownValidator.ts +++ b/src/integrations/validation/errors/UnknownValidator.ts @@ -3,7 +3,7 @@ import ValidationError from './ValidationError'; export default class UnknownValidator extends ValidationError { - constructor(name?: string) + constructor(name: string) { super(`Unknown validator: ${name}`); } diff --git a/src/webui/components/application/Header.tsx b/src/webui/components/application/Header.tsx index 21ce2ade..e8ab5c31 100644 --- a/src/webui/components/application/Header.tsx +++ b/src/webui/components/application/Header.tsx @@ -4,10 +4,8 @@ import type { AggregatedData as AggregatedCreatorData } from '^/domain/creator/a import { Row } from '^/webui/designsystem'; import CreatorIdentity from '../creator/ConciseIdentity'; - -import LogoutButton from './LogoutButton'; - import Logo from './Logo'; +import LogoutButton from './LogoutButton'; type Props = { readonly identity: AggregatedCreatorData; diff --git a/src/webui/components/application/Identity.tsx b/src/webui/components/application/Identity.tsx index 252d62f2..31763208 100644 --- a/src/webui/components/application/Identity.tsx +++ b/src/webui/components/application/Identity.tsx @@ -4,7 +4,6 @@ import type { AggregatedData as AggregatedCreatorData } from '^/domain/creator/a import { Row } from '^/webui/designsystem'; import CreatorIdentity from '../creator/FullIdentity'; - import LogoutButton from './LogoutButton'; type Props = { diff --git a/src/webui/components/common/Form.tsx b/src/webui/components/common/Form.tsx index cf35a514..3ac5c6fb 100644 --- a/src/webui/components/common/Form.tsx +++ b/src/webui/components/common/Form.tsx @@ -2,7 +2,6 @@ import type { ReactNode } from 'react'; import { Button, Form, Row } from '^/webui/designsystem'; - import { useForm } from '^/webui/hooks'; type Props = { diff --git a/src/webui/components/common/OrderAndSearchRow.tsx b/src/webui/components/common/OrderAndSearchRow.tsx index 27ffd5c2..998a53c5 100644 --- a/src/webui/components/common/OrderAndSearchRow.tsx +++ b/src/webui/components/common/OrderAndSearchRow.tsx @@ -1,6 +1,5 @@ import { Row, TextBox } from '^/webui/designsystem'; - import { useDebouncedValue } from '^/webui/hooks'; import OrderSelection from './elementary/OrderSelection'; diff --git a/src/webui/components/common/PullToRefresh.tsx b/src/webui/components/common/PullToRefresh.tsx index e5c88ffa..6f16fc93 100644 --- a/src/webui/components/common/PullToRefresh.tsx +++ b/src/webui/components/common/PullToRefresh.tsx @@ -2,7 +2,6 @@ import type { ReactNode } from 'react'; import useRefreshOnPull from './hooks/useRefreshOnPull'; - import Spinner from './Spinner'; type Props = { diff --git a/src/webui/components/common/ScrollLoader.tsx b/src/webui/components/common/ScrollLoader.tsx index a25bd8f7..10b8280b 100644 --- a/src/webui/components/common/ScrollLoader.tsx +++ b/src/webui/components/common/ScrollLoader.tsx @@ -3,7 +3,6 @@ import type { ReactNode } from 'react'; import type { LoadHandler } from './hooks/useLoadOnScroll'; import useLoadOnScroll from './hooks/useLoadOnScroll'; - import Spinner from './Spinner'; type Props = { diff --git a/src/webui/components/post/DeleteButton.tsx b/src/webui/components/post/DeleteButton.tsx index 6462b0c9..b5612135 100644 --- a/src/webui/components/post/DeleteButton.tsx +++ b/src/webui/components/post/DeleteButton.tsx @@ -1,5 +1,6 @@ import { ClickArea } from '^/webui/designsystem'; + import DeleteIcon from './elementary/DeleteIcon'; type Props = { diff --git a/src/webui/components/reaction/Engagement.tsx b/src/webui/components/reaction/Engagement.tsx index 71454e76..d7137338 100644 --- a/src/webui/components/reaction/Engagement.tsx +++ b/src/webui/components/reaction/Engagement.tsx @@ -2,6 +2,7 @@ import { ClickArea, Row } from '^/webui/designsystem'; import CompactNumber from '../common/CompactNumber'; + import Icon from './elementary/Icon'; type Props = { diff --git a/src/webui/components/relation/elementary/FollowRow.tsx b/src/webui/components/relation/elementary/FollowRow.tsx index 61f09c6d..3ea40873 100644 --- a/src/webui/components/relation/elementary/FollowRow.tsx +++ b/src/webui/components/relation/elementary/FollowRow.tsx @@ -4,6 +4,7 @@ import type { ReactNode } from 'react'; import { Row } from '^/webui/designsystem'; import EditButton from '../../common/EditButton'; + import FollowButton from './FollowButton'; type Props = { diff --git a/src/webui/features/PostDetails.tsx b/src/webui/features/PostDetails.tsx index ba45c5cc..2011cbb3 100644 --- a/src/webui/features/PostDetails.tsx +++ b/src/webui/features/PostDetails.tsx @@ -14,7 +14,6 @@ import useRemovePost from './hooks/useRemovePost'; import useTogglePostRating from './hooks/useTogglePostRating'; import useViewPostDetails from './hooks/useViewPostDetails'; import useViewProfile from './hooks/useViewProfile'; - import PostReactions from './PostReactions'; export default function Feature() diff --git a/src/webui/features/PostHighlight.tsx b/src/webui/features/PostHighlight.tsx index 568c80a5..cb4990fb 100644 --- a/src/webui/features/PostHighlight.tsx +++ b/src/webui/features/PostHighlight.tsx @@ -3,9 +3,9 @@ import { useCallback } from 'react'; import type { AggregatedData as AggregatedPostData } from '^/domain/post/aggregate'; -import { ConfirmationPanel, LoadingContainer, PostDetailsPanel, PostLargePanel, SingleReactionRow } from '../components'; -import { useAppContext } from '../contexts'; -import { Column, Ruler } from '../designsystem'; +import { ConfirmationPanel, LoadingContainer, PostDetailsPanel, PostLargePanel, SingleReactionRow } from '^/webui/components'; +import { useAppContext } from '^/webui/contexts'; +import { Column, Ruler } from '^/webui/designsystem'; import useEstablishRelation from './hooks/useEstablishRelation'; import useHighlightReaction from './hooks/useHighlight'; diff --git a/src/webui/features/PostReactions.tsx b/src/webui/features/PostReactions.tsx index 807e0fd9..5bb56097 100644 --- a/src/webui/features/PostReactions.tsx +++ b/src/webui/features/PostReactions.tsx @@ -7,14 +7,13 @@ import { OrderAndAddRow, PostPanelList, PullToRefresh, ResultSet, ScrollLoader } import { useAppContext } from '^/webui/contexts'; import { Column } from '^/webui/designsystem'; +import CreatePostReaction from './CreatePostReaction'; import useEstablishRelation from './hooks/useEstablishRelation'; import useReactions from './hooks/usePostReactions'; import useTogglePostRating from './hooks/useTogglePostRating'; import useViewPostDetails from './hooks/useViewPostDetails'; import useViewProfile from './hooks/useViewProfile'; -import CreatePostReaction from './CreatePostReaction'; - type Props = { readonly post: AggregatedPostData; }; diff --git a/src/webui/features/Profile.tsx b/src/webui/features/Profile.tsx index 0079025f..cd36e051 100644 --- a/src/webui/features/Profile.tsx +++ b/src/webui/features/Profile.tsx @@ -7,13 +7,12 @@ import { Column, Ruler, Tab, Tabs } from '^/webui/designsystem'; import { usePathParam } from '^/webui/hooks'; -import useCreator from './hooks/useCreator'; -import useEditProfile from './hooks/useEditProfile'; -import useEstablishRelation from './hooks/useEstablishRelation'; - import CreatorComics from './CreatorComics'; import CreatorFollowers from './CreatorFollowers'; import CreatorFollowing from './CreatorFollowing'; +import useCreator from './hooks/useCreator'; +import useEditProfile from './hooks/useEditProfile'; +import useEstablishRelation from './hooks/useEstablishRelation'; export default function Feature() { From cee473d741f75977d5c45026862bdb7286b6a395 Mon Sep 17 00:00:00 2001 From: Bas Meeuwissen Date: Fri, 23 May 2025 22:07:43 +0200 Subject: [PATCH 3/6] #411: added forgotten service worker files --- services/repository.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/repository.json b/services/repository.json index 55d9704f..71017f55 100644 --- a/services/repository.json +++ b/services/repository.json @@ -3,6 +3,6 @@ "repository": { "serveIndexOnNotFound": true, - "assets": ["index.html", "main.js", "assets/**/*", "webui/**/*"] + "assets": ["index.html", "main.js", "assets/**/*", "webui/**/*", "registerSW.js", "sw.js", "workbox-*.js", "manifest.webmanifest" ] } } \ No newline at end of file From 13d4fc8c861a32ee12746478cdfadac51526b002 Mon Sep 17 00:00:00 2001 From: Bas Meeuwissen Date: Fri, 23 May 2025 22:08:11 +0200 Subject: [PATCH 4/6] #411: only bff has notifications --- services/notification.json | 1 - 1 file changed, 1 deletion(-) diff --git a/services/notification.json b/services/notification.json index b84c53ea..34c3922b 100644 --- a/services/notification.json +++ b/services/notification.json @@ -7,7 +7,6 @@ "./integrations/runtime/tearDownWorker" ], "healthChecks": [ - "./integrations/runtime/notificationHealthCheck", "./integrations/runtime/databaseHealthCheck" ], "worker": From fc862fb57182296b9621d70c453cf146da45bebc Mon Sep 17 00:00:00 2001 From: Bas Meeuwissen Date: Fri, 23 May 2025 22:35:21 +0200 Subject: [PATCH 5/6] #411: new jitar release The improved resource loading required to initialize the event manager as disconnected. --- package-lock.json | 21 +++++++++------------ package.json | 4 ++-- 2 files changed, 11 insertions(+), 14 deletions(-) diff --git a/package-lock.json b/package-lock.json index 569e0dc8..9c46b25d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,7 @@ "version": "0.0.0", "dependencies": { "dayjs": "^1.11.13", - "jitar": "^0.9.0", + "jitar": "^0.9.2", "minio": "^8.0.4", "mongodb": "^6.13.0", "openid-client": "^6.4.1", @@ -21,7 +21,7 @@ "zod": "^3.24.2" }, "devDependencies": { - "@jitar/plugin-vite": "^0.9.0", + "@jitar/plugin-vite": "^0.9.2", "@types/node": "22.13.0", "@types/react": "^19.1.0", "@types/react-dom": "^19.1.1", @@ -2369,14 +2369,11 @@ } }, "node_modules/@jitar/plugin-vite": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/@jitar/plugin-vite/-/plugin-vite-0.9.1.tgz", - "integrity": "sha512-hNj3ZzE3kP3mftuXeiAKZb1jnr6Go98iZFozv/GW7kBk0c8ZgcLYuZ1j9/LgbzxHAG6jGu5mwp1GLXAZFTjg3A==", + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/@jitar/plugin-vite/-/plugin-vite-0.9.2.tgz", + "integrity": "sha512-eWmNu6+q+jqxFMAEPYS5klbS8O0dWo3ukEMVhwXw93FliF+bX8vvD6do6lojFnVs7NjIRiMKj1Gtn9/neDaNvQ==", "dev": true, "license": "MIT", - "dependencies": { - "vite": "^6.0.11" - }, "peerDependencies": { "vite": ">=4.0.0 || >=5.0.0 || >=6.0.0" }, @@ -6867,12 +6864,12 @@ } }, "node_modules/jitar": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/jitar/-/jitar-0.9.1.tgz", - "integrity": "sha512-ZQiw+5w9OcsbjBnMTtDlQpUewUJTpLiL1E55eE0rxetNOJymd4v/oRmKlTCpyGfd2mBn7zrRBXL42GuBWqyk8Q==", + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/jitar/-/jitar-0.9.2.tgz", + "integrity": "sha512-oopTTZ0WzTbhVOwJmJC+Ty4IgCAgH7umPIAvZcxXgX7TcDJVojYxujuFvcrDNm/BnK1o2goLJgCIlwM4H3VPRQ==", "license": "MIT", "dependencies": { - "dotenv": "^16.4.7", + "dotenv": "^16.5.0", "express": "^5.0.1", "fs-extra": "^11.3.0", "glob": "11.0.1", diff --git a/package.json b/package.json index 65090304..99478080 100644 --- a/package.json +++ b/package.json @@ -39,7 +39,7 @@ ], "dependencies": { "dayjs": "^1.11.13", - "jitar": "^0.9.0", + "jitar": "^0.9.2", "minio": "^8.0.4", "mongodb": "^6.13.0", "openid-client": "^6.4.1", @@ -51,7 +51,7 @@ "zod": "^3.24.2" }, "devDependencies": { - "@jitar/plugin-vite": "^0.9.0", + "@jitar/plugin-vite": "^0.9.2", "@types/node": "22.13.0", "@types/react": "^19.1.0", "@types/react-dom": "^19.1.1", From 79dc68f104ef253250de82e2feba1d97105b3a36 Mon Sep 17 00:00:00 2001 From: Bas Meeuwissen Date: Fri, 23 May 2025 23:00:11 +0200 Subject: [PATCH 6/6] #412: processed review comments --- services/standalone.json | 5 +++-- src/integrations/validation/errors/UnknownImplementation.ts | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/services/standalone.json b/services/standalone.json index f3903cec..0fd741ce 100644 --- a/services/standalone.json +++ b/services/standalone.json @@ -1,15 +1,16 @@ { "url": "http://127.0.0.1:3000", "setUp": [ + "./integrations/runtime/setUpBff", "./integrations/runtime/setUpWorker", "./integrations/runtime/setUpGateway" ], "tearDown": [ "./integrations/runtime/tearDownGateway", - "./integrations/runtime/tearDownWorker" + "./integrations/runtime/tearDownWorker", + "./integrations/runtime/tearDownBff" ], "healthChecks": [ - "./integrations/runtime/notificationHealthCheck", "./integrations/runtime/fileStoreHealthCheck", "./integrations/runtime/databaseHealthCheck" ], diff --git a/src/integrations/validation/errors/UnknownImplementation.ts b/src/integrations/validation/errors/UnknownImplementation.ts index 7bf0d151..9ebb237e 100644 --- a/src/integrations/validation/errors/UnknownImplementation.ts +++ b/src/integrations/validation/errors/UnknownImplementation.ts @@ -3,7 +3,7 @@ import ValidationError from './ValidationError'; export default class UnknownImplementation extends ValidationError { - constructor(name: string) + constructor(name: string) { super(`Unknown validation implementation: ${name}`); }