1
0
mirror of https://github.com/immich-app/immich.git synced 2024-12-25 10:43:13 +02:00

fix(server): update album updatedAt on assets/users removed/added (#1977)

This commit is contained in:
Fynn Petersen-Frey 2023-03-11 13:41:46 +01:00 committed by GitHub
parent 63ad802013
commit 3cce43309c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -155,6 +155,7 @@ export class AlbumRepository implements IAlbumRepository {
async addSharedUsers(album: AlbumEntity, addUsersDto: AddUsersDto): Promise<AlbumEntity> {
album.sharedUsers.push(...addUsersDto.sharedUserIds.map((id) => ({ id } as UserEntity)));
album.updatedAt = new Date().toISOString();
await this.albumRepository.save(album);
@ -164,6 +165,7 @@ export class AlbumRepository implements IAlbumRepository {
async removeUser(album: AlbumEntity, userId: string): Promise<void> {
album.sharedUsers = album.sharedUsers.filter((user) => user.id !== userId);
album.updatedAt = new Date().toISOString();
await this.albumRepository.save(album);
}
@ -174,9 +176,13 @@ export class AlbumRepository implements IAlbumRepository {
return !removeAssetsDto.assetIds.includes(asset.id);
});
const numRemovedAssets = assetCount - album.assets.length;
if (numRemovedAssets > 0) {
album.updatedAt = new Date().toISOString();
}
await this.albumRepository.save(album, {});
return assetCount - album.assets.length;
return numRemovedAssets;
}
async addAssets(album: AlbumEntity, addAssetsDto: AddAssetsDto): Promise<AddAssetsResponseDto> {
@ -197,10 +203,14 @@ export class AlbumRepository implements IAlbumRepository {
album.albumThumbnailAssetId = album.assets[0].id;
}
const successfullyAdded = addAssetsDto.assetIds.length - alreadyExisting.length;
if (successfullyAdded > 0) {
album.updatedAt = new Date().toISOString();
}
await this.albumRepository.save(album);
return {
successfullyAdded: addAssetsDto.assetIds.length - alreadyExisting.length,
successfullyAdded,
alreadyInAlbum: alreadyExisting,
};
}