소스 검색

fix(server): Deleted shared users cause problem with album retrival and creation (#1002)

* fix(server): Deleted shared users cause problem with album retrival and creation

* Remove dead code
Alex 2 년 전
부모
커밋
cc697486fc
1개의 변경된 파일16개의 추가작업 그리고 2개의 파일을 삭제
  1. 16 2
      server/apps/immich/src/api-v1/album/response-dto/album-response.dto.ts

+ 16 - 2
server/apps/immich/src/api-v1/album/response-dto/album-response.dto.ts

@@ -18,7 +18,14 @@ export class AlbumResponseDto {
 }
 
 export function mapAlbum(entity: AlbumEntity): AlbumResponseDto {
-  const sharedUsers = entity.sharedUsers?.map((userAlbum) => mapUser(userAlbum.userInfo)) || [];
+  const sharedUsers: UserResponseDto[] = [];
+
+  entity.sharedUsers?.forEach((userAlbum) => {
+    if (userAlbum.userInfo) {
+      const user = mapUser(userAlbum.userInfo);
+      sharedUsers.push(user);
+    }
+  });
   return {
     albumName: entity.albumName,
     albumThumbnailAssetId: entity.albumThumbnailAssetId,
@@ -33,7 +40,14 @@ export function mapAlbum(entity: AlbumEntity): AlbumResponseDto {
 }
 
 export function mapAlbumExcludeAssetInfo(entity: AlbumEntity): AlbumResponseDto {
-  const sharedUsers = entity.sharedUsers?.map((userAlbum) => mapUser(userAlbum.userInfo)) || [];
+  const sharedUsers: UserResponseDto[] = [];
+
+  entity.sharedUsers?.forEach((userAlbum) => {
+    if (userAlbum.userInfo) {
+      const user = mapUser(userAlbum.userInfo);
+      sharedUsers.push(user);
+    }
+  });
   return {
     albumName: entity.albumName,
     albumThumbnailAssetId: entity.albumThumbnailAssetId,