fix(server,web): correctly show album level like (#4916)

* fix: like in global activity

* refactor: rename isGlobal to ReactionLevel.Album

* chore: open api

* chore: e2e test for album vs comment duplicate like checking

---------

Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
This commit is contained in:
martin
2023-11-10 03:32:31 +01:00
committed by GitHub
parent 986bbfa831
commit 92ec1ce77f
21 changed files with 262 additions and 26 deletions
@@ -10,6 +10,7 @@ import {
ActivitySearchDto,
ActivityStatisticsResponseDto,
MaybeDuplicate,
ReactionLevel,
ReactionType,
mapActivity,
} from './activity.dto';
@@ -30,7 +31,7 @@ export class ActivityService {
const activities = await this.repository.search({
userId: dto.userId,
albumId: dto.albumId,
assetId: dto.assetId,
assetId: dto.level === ReactionLevel.ALBUM ? null : dto.assetId,
isLiked: dto.type && dto.type === ReactionType.LIKE,
});
@@ -54,11 +55,12 @@ export class ActivityService {
let activity: ActivityEntity | null = null;
let duplicate = false;
if (dto.type === 'like') {
if (dto.type === ReactionType.LIKE) {
delete dto.comment;
[activity] = await this.repository.search({
...common,
isGlobal: !dto.assetId,
// `null` will search for an album like
assetId: dto.assetId ?? null,
isLiked: true,
});
duplicate = !!activity;