From 504309eff5714e4478c672328b76c16f32d6c1b2 Mon Sep 17 00:00:00 2001 From: Min Idzelis Date: Sun, 15 Jun 2025 03:04:23 +0000 Subject: [PATCH] chore: make sql --- server/src/queries/person.repository.sql | 9 +++++++++ server/src/repositories/trash.repository.ts | 1 - server/src/services/activity.service.spec.ts | 12 ++++++++++-- web/src/lib/managers/activity-manager.svelte.ts | 4 ++-- 4 files changed, 21 insertions(+), 5 deletions(-) diff --git a/server/src/queries/person.repository.sql b/server/src/queries/person.repository.sql index b8da3b5ae3..6148883c9b 100644 --- a/server/src/queries/person.repository.sql +++ b/server/src/queries/person.repository.sql @@ -279,6 +279,15 @@ where "asset_faces"."personId" = $1 and "asset_faces"."deletedAt" is null +-- PersonRepository.getAssetPersonByFaceId +select + "asset_faces"."assetId", + "asset_faces"."personId" +from + "asset_faces" +where + "asset_faces"."id" = $1 + -- PersonRepository.getLatestFaceDate select max("asset_job_status"."facesRecognizedAt")::text as "latestDate" diff --git a/server/src/repositories/trash.repository.ts b/server/src/repositories/trash.repository.ts index c352d5cd54..7cb9bd8acc 100644 --- a/server/src/repositories/trash.repository.ts +++ b/server/src/repositories/trash.repository.ts @@ -11,7 +11,6 @@ export class TrashRepository { return this.db.selectFrom('assets').select(['id']).where('status', '=', AssetStatus.DELETED).stream(); } - @GenerateSql({ params: [DummyValue.UUID] }) getTrashedIds(userId: string): AsyncIterableIterator<{ id: string }> { return this.db .selectFrom('assets') diff --git a/server/src/services/activity.service.spec.ts b/server/src/services/activity.service.spec.ts index cb414d89b8..2baa87e9ac 100644 --- a/server/src/services/activity.service.spec.ts +++ b/server/src/services/activity.service.spec.ts @@ -80,7 +80,11 @@ describe(ActivityService.name, () => { mocks.access.activity.checkCreateAccess.mockResolvedValue(new Set([albumId])); mocks.activity.create.mockResolvedValue(activity); - mocks.album.getById.mockResolvedValue({ ...albumStub.empty, owner: factory.user({ id: userId }), albumUsers: [] }); + mocks.album.getById.mockResolvedValue({ + ...albumStub.empty, + owner: factory.user({ id: userId }), + albumUsers: [], + }); await sut.create(factory.auth({ user: { id: userId } }), { albumId, @@ -117,7 +121,11 @@ describe(ActivityService.name, () => { mocks.access.activity.checkCreateAccess.mockResolvedValue(new Set([albumId])); mocks.activity.create.mockResolvedValue(activity); mocks.activity.search.mockResolvedValue([]); - mocks.album.getById.mockResolvedValue({ ...albumStub.empty, owner: factory.user({ id: userId }), albumUsers: [] }); + mocks.album.getById.mockResolvedValue({ + ...albumStub.empty, + owner: factory.user({ id: userId }), + albumUsers: [], + }); await sut.create(factory.auth({ user: { id: userId } }), { albumId, assetId, type: ReactionType.LIKE }); diff --git a/web/src/lib/managers/activity-manager.svelte.ts b/web/src/lib/managers/activity-manager.svelte.ts index bb5d7bb4b0..ce6445753d 100644 --- a/web/src/lib/managers/activity-manager.svelte.ts +++ b/web/src/lib/managers/activity-manager.svelte.ts @@ -41,8 +41,8 @@ class ActivityManager { this.#subscribe = createSubscriber((update) => { const unsubscribe = websocketEvents.on('on_activity_change', ({ albumId, assetId }) => { if (this.#albumId === albumId || this.#assetId === assetId) { - this.#invalidateCache(this.#albumId, this.#assetId); - handlePromiseError(this.refreshActivities(this.#albumId!, this.#assetId)); + this.#invalidateCache(albumId, this.#assetId); + handlePromiseError(this.refreshActivities(albumId, this.#assetId)); update(); } });