From 08a73c0978aaba0a594007075db384c52a4e81ef Mon Sep 17 00:00:00 2001 From: Alex Tran Date: Sun, 26 Apr 2026 12:54:36 -0500 Subject: [PATCH] fix: tests --- server/src/queries/album.repository.sql | 73 ++++++++++++++++++++- server/src/queries/sync.repository.sql | 2 + server/src/repositories/album.repository.ts | 2 +- 3 files changed, 75 insertions(+), 2 deletions(-) diff --git a/server/src/queries/album.repository.sql b/server/src/queries/album.repository.sql index f5bf79ac9e..22378a54fe 100644 --- a/server/src/queries/album.repository.sql +++ b/server/src/queries/album.repository.sql @@ -19,6 +19,7 @@ select ( select "album_user"."role", + "album_user"."isFavorite", ( select to_json(obj) @@ -98,6 +99,7 @@ select ( select "album_user"."role", + "album_user"."isFavorite", ( select to_json(obj) @@ -195,6 +197,7 @@ select ( select "album_user"."role", + "album_user"."isFavorite", ( select to_json(obj) @@ -258,6 +261,7 @@ select ( select "album_user"."role", + "album_user"."isFavorite", ( select to_json(obj) @@ -334,6 +338,70 @@ where order by "album"."createdAt" desc +-- AlbumRepository.getFavorites +select + "album".*, + ( + select + coalesce(json_agg(agg), '[]') + from + ( + select + "album_user"."role", + "album_user"."isFavorite", + ( + select + to_json(obj) + from + ( + select + "id", + "name", + "email", + "avatarColor", + "profileImagePath", + "profileChangedAt" + from + ( + select + 1 + ) as "dummy" + ) as obj + ) as "user" + from + "album_user" + inner join "user" on "user"."id" = "album_user"."userId" + where + "album_user"."albumId" = "album"."id" + order by + "album_user"."role", + "album_user"."userId" = $1 desc, + "user"."name" asc + ) as agg + ) as "albumUsers", + ( + select + coalesce(json_agg(agg), '[]') + from + ( + select + "shared_link".* + from + "shared_link" + where + "shared_link"."albumId" = "album"."id" + ) as agg + ) as "sharedLinks" +from + "album" + inner join "album_user" on "album_user"."albumId" = "album"."id" + and "album_user"."userId" = $2 + and "album_user"."isFavorite" = true +where + "album"."deletedAt" is null +order by + "album"."createdAt" desc + -- AlbumRepository.getNotShared select "album".*, @@ -357,6 +425,7 @@ select ( select "album_user"."role", + "album_user"."isFavorite", ( select to_json(obj) @@ -461,7 +530,8 @@ with returning "album_user"."albumId", "album_user"."userId", - "album_user"."role" + "album_user"."role", + "album_user"."isFavorite" ), "album_asset" as ( insert into @@ -485,6 +555,7 @@ select ( select "album_user"."role", + "album_user"."isFavorite", ( select to_json(obj) diff --git a/server/src/queries/sync.repository.sql b/server/src/queries/sync.repository.sql index ed8db709e6..48901e3985 100644 --- a/server/src/queries/sync.repository.sql +++ b/server/src/queries/sync.repository.sql @@ -331,6 +331,7 @@ select "album_user"."albumId" as "albumId", "album_user"."userId" as "userId", "album_user"."role", + "album_user"."isFavorite", "album_user"."updateId" from "album_user" as "album_user" @@ -368,6 +369,7 @@ select "album_user"."albumId" as "albumId", "album_user"."userId" as "userId", "album_user"."role", + "album_user"."isFavorite", "album_user"."updateId" from "album_user" as "album_user" diff --git a/server/src/repositories/album.repository.ts b/server/src/repositories/album.repository.ts index a73c3317af..a9c2727c20 100644 --- a/server/src/repositories/album.repository.ts +++ b/server/src/repositories/album.repository.ts @@ -402,7 +402,7 @@ export class AlbumRepository { sql`unnest(${roles}::album_user_role_enum[])`.as('role'), ]), ) - .returning(['album_user.albumId', 'album_user.userId', 'album_user.role']), + .returning(['album_user.albumId', 'album_user.userId', 'album_user.role', 'album_user.isFavorite']), ) .with('album_asset', (db) => db