Skip to content

Commit 1d0c656

Browse files
authored
✨ Feat: 크루 게시글, 멤버 관련 알림 기능 추가 적용
✨ Feat: 크루 게시글, 멤버 관련 알림 기능 추가 적용
2 parents a2cc6c9 + 3ee6756 commit 1d0c656

4 files changed

Lines changed: 28 additions & 2 deletions

File tree

src/crew/page/member/repository/member.repository.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,13 @@ export const isExistCrewMember = async ({ crewMemberId }) => {
143143
{
144144
where: {
145145
id: crewMemberId,
146+
},
147+
include: {
148+
user: {
149+
select: {
150+
id: true
151+
}
152+
}
146153
}
147154
}
148155
)

src/crew/page/member/service/member.service.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import * as baseError from "../../../../error.js";
22
import * as memberResponse from "../dto/response/member.response.dto.js";
33
import * as memberRepository from "../repository/member.repository.js";
4+
import { eventEmitter } from "../../../../index.js";
45

56
export const readMembersByCrew = async ({ userId, crewId, page, size }) => {
67
try {
@@ -91,6 +92,10 @@ export const kickCrewMember = async ({ userId, crewId, crewMemberId }) => {
9192
throw new baseError.PermissionDeniedError("권한이 없는 크루원입니다.");
9293
}
9394
const member = await memberRepository.removeMemberByCrewMemberId({ crewMemberId });
95+
eventEmitter.emit('CREW_KICKED', {
96+
targetId: { crewId },
97+
userId: [isExistCrewMember.user.id]
98+
});
9499
return memberResponse.CrewMemberResponse(member);
95100
} catch (err) {
96101
throw err;

src/crew/page/post/repository/post.repository.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -546,6 +546,11 @@ export const isExistPost = async ({ postId }) => {
546546
crewMember: {
547547
select: {
548548
role: true,
549+
user: {
550+
select: {
551+
id: true
552+
}
553+
}
549554
}
550555
}
551556
}

src/crew/page/post/service/post.service.js

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import * as postResponse from "../dto/response/post.response.dto.js"
33
import * as postRepository from "../repository/post.repository.js"
44
import * as baseError from "../../../../error.js"
55
import * as s3Function from "../../../../utils/s3.js"
6+
import { eventEmitter } from '../../../../index.js';
67

78
export const readPostsByCrew = async ({ crewId, page, size }) => {
89
try {
@@ -209,10 +210,15 @@ export const toggleCrewPostLike = async ({ userId, crewId, postId }) => {
209210
if (!crewMember) {
210211
throw new baseError.NotCrewMemberError("크루 멤버에 속하지 않은 유저입니다.", { userId });
211212
}
213+
const crewMemberId = crewMember.id;
212214
const likeInfo = await postRepository.likeCrewPost({
213-
crewMemberId: crewMember.id,
215+
crewMemberId: crewMemberId,
214216
postId,
215217
})
218+
eventEmitter.emit('POST_LIKED', {
219+
targetId: { userId, postId },
220+
userId: [isExistPost.crewMember.user.id]
221+
})
216222
return postResponse.likeCrewPostResponse(likeInfo);
217223
} catch (err) {
218224
throw err;
@@ -272,7 +278,10 @@ export const createCrewPostComment = async ({ crewId, postId, userId, content, i
272278
content,
273279
isPublic
274280
})
275-
281+
eventEmitter.emit('POST_COMMENTED', {
282+
targetId: { userId, postId },
283+
userId: [isExistPost.crewMember.user.id]
284+
})
276285
return postResponse.CrewCommentResponse(comment);
277286
} catch (err) {
278287
throw err;

0 commit comments

Comments
 (0)