Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public async likeComment(commentId: number, user: User) {
- const commentEntity = await this.commentsRepository.findOne({
- id: commentId,
- });
- if (
- (await commentEntity.likedByUsers).some(
- existingUser => existingUser.id === user.id,
- )
- ) {
- return { responseMessage: 'Comment added to Liked' };
- }
- const usersLlikedComment = [...(await commentEntity.likedByUsers), user];
- commentEntity.likedByUsers = Promise.resolve(usersLlikedComment);
- commentEntity.likes = (await commentEntity.likedByUsers).length;
- this.commentsRepository.save(commentEntity);
- return { responseMessage: 'Comment added to Liked' };
- }
- ///////////////////////////////////////////////////////////////////////////////////////////////
- public async unlikeComment(commentId: number, user: User) {
- const commentEntity = await this.commentsRepository.findOne({
- id: commentId,
- });
- if (
- !(await commentEntity.likedByUsers).some(
- userFound => userFound.id === user.id,
- )
- ) {
- return { responseMessage: 'Comment removed from Liked' };
- }
- const usersLlikedComment = await commentEntity.likedByUsers;
- const usersWithoutCurrentUser = usersLlikedComment.filter(
- userLiked => userLiked.id !== user.id,
- );
- commentEntity.likedByUsers = Promise.resolve(usersWithoutCurrentUser);
- commentEntity.likes = (await commentEntity.likedByUsers).length;
- this.commentsRepository.save(commentEntity);
- return { responseMessage: 'Comment removed from Liked' };
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement