refactor(server): notification events (#10754)

This commit is contained in:
Jason Rasmussen
2024-07-03 22:06:20 -04:00
committed by GitHub
parent 0b88bef157
commit 81d12c0586
10 changed files with 92 additions and 69 deletions

View File

@@ -21,7 +21,7 @@ import { IAccessRepository } from 'src/interfaces/access.interface';
import { IAlbumUserRepository } from 'src/interfaces/album-user.interface';
import { AlbumAssetCount, AlbumInfoOptions, IAlbumRepository } from 'src/interfaces/album.interface';
import { IAssetRepository } from 'src/interfaces/asset.interface';
import { IJobRepository, JobName } from 'src/interfaces/job.interface';
import { IEventRepository } from 'src/interfaces/event.interface';
import { IUserRepository } from 'src/interfaces/user.interface';
import { addAssets, removeAssets } from 'src/utils/asset.util';
@@ -32,9 +32,9 @@ export class AlbumService {
@Inject(IAccessRepository) private accessRepository: IAccessRepository,
@Inject(IAlbumRepository) private albumRepository: IAlbumRepository,
@Inject(IAssetRepository) private assetRepository: IAssetRepository,
@Inject(IEventRepository) private eventRepository: IEventRepository,
@Inject(IUserRepository) private userRepository: IUserRepository,
@Inject(IAlbumUserRepository) private albumUserRepository: IAlbumUserRepository,
@Inject(IJobRepository) private jobRepository: IJobRepository,
) {
this.access = AccessCore.create(accessRepository);
}
@@ -188,12 +188,9 @@ export class AlbumService {
updatedAt: new Date(),
albumThumbnailAssetId: album.albumThumbnailAssetId ?? firstNewAssetId,
});
}
await this.jobRepository.queue({
name: JobName.NOTIFY_ALBUM_UPDATE,
data: { id, senderId: auth.user.id },
});
await this.eventRepository.emit('onAlbumUpdateEvent', { id, updatedBy: auth.user.id });
}
return results;
}
@@ -240,11 +237,7 @@ export class AlbumService {
}
await this.albumUserRepository.create({ userId: userId, albumId: id, role });
await this.jobRepository.queue({
name: JobName.NOTIFY_ALBUM_INVITE,
data: { id: album.id, recipientId: user.id },
});
await this.eventRepository.emit('onAlbumInviteEvent', { id, userId });
}
return this.findOrFail(id, { withAssets: true }).then(mapAlbumWithoutAssets);