Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BE] main branch 병합 #179

Merged
merged 77 commits into from
May 23, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
77 commits
Select commit Hold shift + click to select a range
d7526d1
[BE] refactor : 미팅 생성시 정보 반환하도록 수정
320Hwany May 19, 2024
c653aad
Merge pull request #152 from U2DJ2/be/feat/meeting
320Hwany May 19, 2024
28f6722
[BE] refactor : 로그인한 회원의 모임 조회
320Hwany May 19, 2024
a4111bb
Merge pull request #154 from U2DJ2/be/refactor/moim
320Hwany May 19, 2024
a8a2dfd
[BE] feat : 회원 세션 인증 API 구현 및 테스트
jerry3269 May 19, 2024
256dd94
Merge pull request #156 from U2DJ2/be/feat/session-validation
jerry3269 May 19, 2024
3c2571a
[BE] feat : 회원 세션 인증 API 구현 및 테스트
jerry3269 May 19, 2024
6788b76
Merge pull request #157 from U2DJ2/be/feat/session-validation
jerry3269 May 19, 2024
2e9bb3e
[BE] feat : 모임 참여 여부 확인
320Hwany May 19, 2024
eec0060
[BE] test : 모임 참여 여부 확인
320Hwany May 19, 2024
8498c83
Merge pull request #158 from U2DJ2/be/feat/joined-moim
320Hwany May 19, 2024
4c36e63
[BE] fix : 미팅 참여 수락 오류 수정
320Hwany May 19, 2024
58d95c5
[BE] feat : 모임 참가시 모임의 미팅 참여
320Hwany May 19, 2024
a29c871
Merge pull request #161 from U2DJ2/be/feat/meeting
320Hwany May 19, 2024
883294e
[BE] fix : 미팅 정보 조회 쿼리 오류 수정
320Hwany May 19, 2024
138bcfc
Merge pull request #162 from U2DJ2/be/feat/meeting
320Hwany May 19, 2024
ed09221
[BE] fix : 모임 참여시 미팅 정보 저장하도록 수정
320Hwany May 19, 2024
b3162b5
Merge branch 'backend-main' into be/feat/meeting
320Hwany May 19, 2024
655fa77
Merge pull request #163 from U2DJ2/be/feat/meeting
320Hwany May 19, 2024
d32daca
[BE] fix : 미팅 생성 날짜 오류 수정
320Hwany May 19, 2024
75134bc
[BE] refactor : 정기 미팅 생성시 시작 날짜 확인
320Hwany May 19, 2024
d4715e7
[BE] chore : jacoco 테스트 커버리지 설정
320Hwany May 20, 2024
acb3b7b
[BE] chore : git ignore 설정 변경
320Hwany May 20, 2024
d8d9a16
Merge pull request #165 from U2DJ2/be/chore/test-coverage
320Hwany May 20, 2024
1b20de7
[BE] feat : 미팅 댓글 비지니스 로직 틀 작성
jerry3269 May 16, 2024
f4718d4
[BE] feat : 미팅 댓글 작성 기능 구현
jerry3269 May 16, 2024
69be5b8
[BE] refactor : 미팅 DTO 패키지 수정
jerry3269 May 16, 2024
b195fc0
[BE] test : 미팅 댓글 작성 테스트
jerry3269 May 16, 2024
d746331
[BE] feat : 미팅 댓글 조회
jerry3269 May 16, 2024
dc1ed9b
[BE] refactor : 리스트 반환 타입 생성자 메서드명 수정
jerry3269 May 16, 2024
33d47b0
[BE] test : 미팅 댓글 목록 조회 테스트
jerry3269 May 16, 2024
5184242
[BE] feat : 미팅 댓글 수정 기능 구현
jerry3269 May 16, 2024
ce49904
[BE] test : 미팅 댓글 수정 테스트
jerry3269 May 16, 2024
f84cf6d
[BE] feat : 미팅 댓글 삭제 기능 구현
jerry3269 May 16, 2024
cac1e5f
[BE] test : 미팅 댓글 삭제 테스트
jerry3269 May 16, 2024
63fefb4
[BE] test : 댓글 작성 테스트 추가
jerry3269 May 17, 2024
de44f2c
[BE] fix : 테스트 오류 수정
jerry3269 May 17, 2024
7fd4984
[BE] rebase : conflict 해결
jerry3269 May 20, 2024
66bd5ef
[BE] refactor : 사용하지 않는 flush메서드 제거
jerry3269 May 20, 2024
79fae7b
[BE] test : 모임 삭제시 모임이 없을 경우 예외가 발생하지 않는지 테스트
jerry3269 May 20, 2024
9e4040c
Merge pull request #168 from U2DJ2/be/feat/meeting-comments
Anak-2 May 20, 2024
b1fd7fb
[BE] refactor : 사용하지 않는 의존성 제거
jerry3269 May 19, 2024
3b45507
[BE] feat : 미팅 생성시 모임장인지 검증
jerry3269 May 19, 2024
b07a0a0
[BE] feat : 속한 대학의 모임만 반환
jerry3269 May 19, 2024
96691fb
[BE] feat : 검색시 속한 대학 모임만 조회
jerry3269 May 19, 2024
0f7b8b6
[BE] rebase : conflict 해결
jerry3269 May 20, 2024
49d33fb
Merge pull request #171 from U2DJ2/be/feat/university-validation
Anak-2 May 20, 2024
d1af5e1
[BE] feat : 자신이 참여한 모임 리스트를 완료 여부에 따라 반환
Anak-2 May 21, 2024
21f33ce
[BE] fix : 프론트엔드에서 요청값을 booelan으로 받기 위해 Boolean 객체 사용
Anak-2 May 21, 2024
b289363
[BE] docs : 문서화를 더 직관적이도록 기존 api 이름 참고하여 변경
Anak-2 May 21, 2024
6b5f973
[BE] fix : session validation 요청이 세션 검사 인터셉터를 안 거치도록 수정
Anak-2 May 21, 2024
4c202d4
[BE] fix : 헷갈리는 api 요청 이름 수정
Anak-2 May 21, 2024
508297d
[BE] feat : 자신이 호스트인 모임만 반환하는 기능 추가
Anak-2 May 21, 2024
cd432b9
[BE] docs : 자신이 호스트인 모임 조회 문서화
Anak-2 May 21, 2024
74638d2
[BE] chore : test given 절 추가
Anak-2 May 22, 2024
d81d20e
Merge pull request #173 from U2DJ2/be/feat/moim
Anak-2 May 22, 2024
3e40c86
[BE] refactor : 미팅 참여 정보 조회 예외처리
320Hwany May 20, 2024
a2bf962
[BE] feat : 이메일 수신 여부 차단 Entity/Repository 추가
320Hwany May 20, 2024
4e47811
[BE] feat : 이메일 수신 차단 설정 구현
320Hwany May 20, 2024
fca90a3
[BE] test : 이메일 수신 차단 설정 구현
320Hwany May 20, 2024
08f6126
[BE] feat : 로그인한 회원의 이메일 수신 정보 조회
320Hwany May 20, 2024
d847970
[BE] test : 로그인한 회원의 이메일 수신 정보 조회
320Hwany May 21, 2024
468e274
[BE] feat : 회원가입시 이메일 수신 차단 정보 추가
320Hwany May 21, 2024
0bdb9ac
[BE] test : 회원가입시 이메일 수신 차단 정보 추가
320Hwany May 21, 2024
78cbaf1
[BE] feat : 이메일 전송할 때 수신 여부 체크
320Hwany May 21, 2024
bde748a
[BE] test : 이메일 전송할 때 수신 여부 체크
320Hwany May 21, 2024
d195a5a
Merge pull request #172 from U2DJ2/be/feat/email-subscribe
320Hwany May 22, 2024
469c306
[BE] feat : 미팅 삭제시 스케줄 삭제, 참여 미팅 정보 삭제
320Hwany May 22, 2024
7bb52f5
[BE] test : 미팅 삭제시 스케줄 삭제, 참여 미팅 정보 삭제
320Hwany May 22, 2024
7dcc7a5
Merge pull request #176 from U2DJ2/be/feat/meeting-remove
320Hwany May 22, 2024
aab7495
[BE] feat : 미팅 정보 수정
320Hwany May 22, 2024
90cf9f1
[BE] test : 미팅 정보 수정
320Hwany May 22, 2024
ace6bae
Merge pull request #177 from U2DJ2/be/feat/schedule-update
320Hwany May 23, 2024
3f54c6b
[BE] test : 스케줄 날짜 계산
320Hwany May 23, 2024
303a283
[BE] test : 스케줄/가용시간 색상 계산
320Hwany May 23, 2024
e2b2d5e
[BE] test : 로그인 세션 생성/검증
320Hwany May 23, 2024
a801487
Merge pull request #178 from U2DJ2/be/test/domain
320Hwany May 23, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion backend/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ build/
**/src/main/generated/

### initDB ###
**/src/main/java/moim_today/global/init/**
**/src/main/java/moim_today/**/init/**

### Properties ###
application.yml
Expand Down
26 changes: 25 additions & 1 deletion backend/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ plugins {
id 'io.spring.dependency-management' version '1.1.4'
id 'com.epages.restdocs-api-spec' version "${restdocsApiSpecVersion}"
id 'org.hidetake.swagger.generator' version '2.18.2'
id 'jacoco'
}

group = 'u2dj2'
Expand Down Expand Up @@ -118,6 +119,7 @@ dependencies {
tasks.named('test') {
outputs.dir snippetsDir
useJUnitPlatform()
finalizedBy jacocoTestReport
}

tasks.withType(GenerateSwaggerUI) {
Expand All @@ -144,4 +146,26 @@ bootJar {
}
}

jar.enabled = false
jar.enabled = false

jacoco {
toolVersion = "0.8.10"
}

jacocoTestReport {
dependsOn test
reports {
xml.required = true
html.required = true
}
afterEvaluate {
classDirectories.setFrom(files(classDirectories.files.collect {
fileTree(dir: it, exclude: [
'moim_today/dto/**',
'moim_today/global/**',
'moim_today/application/**',
'**/Q*.*'
])
}))
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import jakarta.servlet.http.HttpServletRequest;
import moim_today.dto.auth.MemberLoginRequest;
import moim_today.dto.auth.MemberSignUpRequest;
import moim_today.dto.auth.MemberSessionValidateResponse;

public interface AuthService {

Expand All @@ -11,4 +12,6 @@ public interface AuthService {
void signUp(final MemberSignUpRequest memberSignUpRequest, final HttpServletRequest request);

void logout(final HttpServletRequest request);

MemberSessionValidateResponse validateMemberSession(final HttpServletRequest request);
}
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
package moim_today.application.auth;

import jakarta.servlet.http.HttpServletRequest;
import moim_today.domain.member.MemberSession;
import moim_today.dto.auth.MemberLoginRequest;
import moim_today.dto.auth.MemberSignUpRequest;
import moim_today.dto.auth.MemberSessionValidateResponse;
import moim_today.implement.department.DepartmentFinder;
import moim_today.implement.member.AuthManager;
import jakarta.servlet.http.HttpServletRequest;
import moim_today.implement.member.MemberFinder;
import moim_today.implement.university.UniversityFinder;
import org.springframework.stereotype.Service;
Expand Down Expand Up @@ -46,4 +48,9 @@ public void signUp(final MemberSignUpRequest memberSignUpRequest,
memberFinder.validateEmailNotExists(memberSignUpRequest.email());
authManager.signUp(memberSignUpRequest, request);
}

@Override
public MemberSessionValidateResponse validateMemberSession(final HttpServletRequest request) {
return MemberSession.validateMemberSession(request);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package moim_today.application.email_subscribe;

import moim_today.dto.mail.EmailSubscriptionResponse;

public interface EmailSubscribeService {

EmailSubscriptionResponse getSubscriptionStatus(final long memberId);

void updateSubscribeStatus(final long memberId, final boolean subscribedStatus);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
package moim_today.application.email_subscribe;

import moim_today.dto.mail.EmailSubscriptionResponse;
import moim_today.implement.email_subscribe.EmailSubscribeUpdater;
import moim_today.implement.email_subscribe.EmailSubscriptionFinder;
import org.springframework.stereotype.Service;

@Service
public class EmailSubscribeServiceImpl implements EmailSubscribeService {

private final EmailSubscribeUpdater emailSubscribeUpdater;
private final EmailSubscriptionFinder emailSubscriptionFinder;

public EmailSubscribeServiceImpl(final EmailSubscribeUpdater emailSubscribeUpdater,
final EmailSubscriptionFinder emailSubscriptionFinder) {
this.emailSubscribeUpdater = emailSubscribeUpdater;
this.emailSubscriptionFinder = emailSubscriptionFinder;
}

@Override
public EmailSubscriptionResponse getSubscriptionStatus(final long memberId) {
boolean subscriptionStatus = emailSubscriptionFinder.getSubscriptionStatus(memberId);
return EmailSubscriptionResponse.of(subscriptionStatus);
}

@Override
public void updateSubscribeStatus(final long memberId, final boolean subscribedStatus) {
emailSubscribeUpdater.updateSubscribeStatus(memberId, subscribedStatus);
}
}
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
package moim_today.application.meeting.joined_meeting;


public interface JoinedMeetingService {

void acceptanceJoinMeeting(final long memberId, final long meetingId);

void refuseJoinMeeting(final long memberId, final long meetingId);

void deleteAllByMeetingId(final long meetingId);
}
Original file line number Diff line number Diff line change
@@ -1,26 +1,40 @@
package moim_today.application.meeting.joined_meeting;

import moim_today.implement.meeting.joined_meeting.JoinedMeetingRemover;
import moim_today.implement.meeting.joined_meeting.JoinedMeetingUpdater;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;


@Service
public class JoinedMeetingServiceImpl implements JoinedMeetingService {

private final JoinedMeetingUpdater joinedMeetingUpdater;
private final JoinedMeetingRemover joinedMeetingRemover;

public JoinedMeetingServiceImpl(final JoinedMeetingUpdater joinedMeetingUpdater) {
public JoinedMeetingServiceImpl(final JoinedMeetingUpdater joinedMeetingUpdater,
final JoinedMeetingRemover joinedMeetingRemover) {
this.joinedMeetingUpdater = joinedMeetingUpdater;
this.joinedMeetingRemover = joinedMeetingRemover;
}

@Transactional
@Override
public void acceptanceJoinMeeting(final long memberId, final long meetingId) {
boolean attendance = true;
joinedMeetingUpdater.updateAttendance(memberId, meetingId, attendance);
}

@Transactional
@Override
public void refuseJoinMeeting(final long memberId, final long meetingId) {
boolean attendance = false;
joinedMeetingUpdater.updateAttendance(memberId, meetingId, attendance);
}

@Transactional
@Override
public void deleteAllByMeetingId(final long meetingId) {
joinedMeetingRemover.deleteAllByMeetingId(meetingId);
}
}
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
package moim_today.application.meeting.meeting;

import moim_today.domain.meeting.enums.MeetingStatus;
import moim_today.dto.meeting.MeetingCreateRequest;
import moim_today.dto.meeting.MeetingDetailResponse;
import moim_today.dto.meeting.MeetingSimpleResponse;
import moim_today.dto.meeting.meeting.*;

import java.util.List;

public interface MeetingService {

void createMeeting(final MeetingCreateRequest meetingCreateRequest);
MeetingCreateResponse createMeeting(final long memberId, final MeetingCreateRequest meetingCreateRequest);

List<MeetingSimpleResponse> findAllByMoimId(final long moimId, final long memberId, final MeetingStatus meetingStatus);

MeetingDetailResponse findDetailsById(final long meetingId);

void updateMeeting(final long memberId, final MeetingUpdateRequest meetingUpdateRequest);

void deleteMeeting(final long memberId, final long meetingId);
}
Original file line number Diff line number Diff line change
@@ -1,15 +1,18 @@
package moim_today.application.meeting.meeting;

import moim_today.application.meeting.joined_meeting.JoinedMeetingService;
import moim_today.application.schedule.ScheduleService;
import moim_today.domain.meeting.enums.MeetingStatus;
import moim_today.dto.meeting.MeetingCreateRequest;
import moim_today.dto.meeting.MeetingDetailResponse;
import moim_today.dto.meeting.MeetingSimpleDao;
import moim_today.dto.meeting.MeetingSimpleResponse;
import moim_today.dto.meeting.meeting.*;
import moim_today.implement.meeting.meeting.MeetingFinder;
import moim_today.implement.meeting.meeting.MeetingManager;
import moim_today.implement.meeting.meeting.MeetingRemover;
import moim_today.implement.meeting.meeting.MeetingUpdater;
import moim_today.persistence.entity.meeting.meeting.MeetingJpaEntity;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;

Expand All @@ -18,18 +21,25 @@ public class MeetingServiceImpl implements MeetingService {

private final MeetingManager meetingManager;
private final MeetingFinder meetingFinder;
private final MeetingUpdater meetingUpdater;
private final MeetingRemover meetingRemover;
private final ScheduleService scheduleService;
private final JoinedMeetingService joinedMeetingService;

public MeetingServiceImpl(final MeetingManager meetingManager, final MeetingFinder meetingFinder,
final MeetingRemover meetingRemover) {
final MeetingUpdater meetingUpdater, final MeetingRemover meetingRemover,
final ScheduleService scheduleService, final JoinedMeetingService joinedMeetingService) {
this.meetingManager = meetingManager;
this.meetingFinder = meetingFinder;
this.meetingUpdater = meetingUpdater;
this.meetingRemover = meetingRemover;
this.scheduleService = scheduleService;
this.joinedMeetingService = joinedMeetingService;
}

@Override
public void createMeeting(final MeetingCreateRequest meetingCreateRequest) {
meetingManager.createMeeting(meetingCreateRequest);
public MeetingCreateResponse createMeeting(final long memberId, final MeetingCreateRequest meetingCreateRequest) {
return meetingManager.createMeeting(memberId, meetingCreateRequest, LocalDate.now());
}

@Override
Expand All @@ -45,8 +55,16 @@ public MeetingDetailResponse findDetailsById(final long meetingId) {
return meetingFinder.findDetailsById(meetingId);
}

@Override
public void updateMeeting(final long memberId, final MeetingUpdateRequest meetingUpdateRequest) {
meetingUpdater.updateMeeting(memberId, meetingUpdateRequest);
}

@Transactional
@Override
public void deleteMeeting(final long memberId, final long meetingId) {
meetingRemover.deleteMeeting(meetingId, meetingId);
scheduleService.deleteAllByMeetingId(meetingId);
joinedMeetingService.deleteAllByMeetingId(meetingId);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package moim_today.application.meeting.meeting_comment;

import moim_today.dto.meeting.meeting_comment.MeetingCommentCreateRequest;
import moim_today.dto.meeting.meeting_comment.MeetingCommentResponse;
import moim_today.dto.meeting.meeting_comment.MeetingCommentUpdateRequest;

import java.util.List;

public interface MeetingCommentService {

void createMeetingComment(final long memberId, final MeetingCommentCreateRequest meetingCommentCreateRequest);

List<MeetingCommentResponse> findAllByMeetingId(final long memberId, final long meetingId);

void updateMeetingComment(final long memberId, final MeetingCommentUpdateRequest meetingCommentUpdateRequest);

void deleteMeetingComment(final long memberId, final long meetingCommentId);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
package moim_today.application.meeting.meeting_comment;

import moim_today.dto.meeting.meeting_comment.MeetingCommentCreateRequest;
import moim_today.dto.meeting.meeting_comment.MeetingCommentResponse;
import moim_today.dto.meeting.meeting_comment.MeetingCommentUpdateRequest;
import moim_today.implement.meeting.meeting.MeetingFinder;
import moim_today.implement.meeting.meeting_comment.MeetingCommentAppender;
import moim_today.implement.meeting.meeting_comment.MeetingCommentFinder;
import moim_today.implement.meeting.meeting_comment.MeetingCommentRemover;
import moim_today.implement.meeting.meeting_comment.MeetingCommentUpdater;
import moim_today.implement.moim.joined_moim.JoinedMoimFinder;
import moim_today.persistence.entity.meeting.meeting_comment.MeetingCommentJpaEntity;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

@Service
public class MeetingCommentServiceImpl implements MeetingCommentService {

private final MeetingCommentAppender meetingCommentAppender;
private final MeetingCommentFinder meetingCommentFinder;
private final MeetingCommentUpdater meetingCommentUpdater;
private final MeetingCommentRemover meetingCommentRemover;
private final MeetingFinder meetingFinder;
private final JoinedMoimFinder joinedMoimFinder;

public MeetingCommentServiceImpl(final MeetingCommentAppender meetingCommentAppender,
final MeetingCommentFinder meetingCommentFinder,
final MeetingCommentUpdater meetingCommentUpdater,
final MeetingCommentRemover meetingCommentRemover,
final MeetingFinder meetingFinder,
final JoinedMoimFinder joinedMoimFinder) {
this.meetingCommentAppender = meetingCommentAppender;
this.meetingCommentFinder = meetingCommentFinder;
this.meetingCommentUpdater = meetingCommentUpdater;
this.meetingCommentRemover = meetingCommentRemover;
this.meetingFinder = meetingFinder;
this.joinedMoimFinder = joinedMoimFinder;
}

@Override
public void createMeetingComment(final long memberId, final MeetingCommentCreateRequest meetingCommentCreateRequest) {
long moimId = meetingFinder.getMoimIdByMeetingId(meetingCommentCreateRequest.meetingId());
joinedMoimFinder.validateMemberInMoim(memberId, moimId);
meetingCommentAppender.createMeetingComment(memberId, meetingCommentCreateRequest);
}

@Override
public List<MeetingCommentResponse> findAllByMeetingId(final long memberId, final long meetingId) {
long moimId = meetingFinder.getMoimIdByMeetingId(meetingId);
joinedMoimFinder.validateMemberInMoim(memberId, moimId);
return meetingCommentFinder.findAllByMeetingId(meetingId);
}

@Transactional
@Override
public void updateMeetingComment(final long memberId, final MeetingCommentUpdateRequest meetingCommentUpdateRequest) {
long meetingCommentId = meetingCommentUpdateRequest.meetingCommentId();
MeetingCommentJpaEntity meetingCommentJpaEntity = meetingCommentFinder.getById(meetingCommentId);
meetingCommentJpaEntity.validateMember(memberId);
meetingCommentUpdater.updateMeetingComment(meetingCommentId, meetingCommentUpdateRequest);
}

@Override
public void deleteMeetingComment(final long memberId, final long meetingCommentId) {
MeetingCommentJpaEntity meetingCommentJpaEntity = meetingCommentFinder.getById(meetingCommentId);
meetingCommentJpaEntity.validateMember(memberId);
meetingCommentRemover.deleteById(meetingCommentId);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -18,5 +18,7 @@ public interface MemberService {

MemberHostResponse isHost(final long memberId, final long moimId);

MemberJoinedMoimResponse isJoinedMoim(final long moimId, final long memberId);

MemberSimpleResponse getHostProfileByMoimId(final long moimId);
}
Original file line number Diff line number Diff line change
Expand Up @@ -66,9 +66,13 @@ public ProfileImageResponse uploadProfileImage(final long memberId, final Multip
@Override
public MemberHostResponse isHost(final long memberId, final long moimId) {
boolean isHost = moimManager.isHost(memberId, moimId);
return MemberHostResponse.builder()
.isHost(isHost)
.build();
return MemberHostResponse.from(isHost);
}

@Override
public MemberJoinedMoimResponse isJoinedMoim(final long moimId, final long memberId) {
boolean isJoinedMoim = moimManager.isJoinedMoim(moimId, memberId);
return MemberJoinedMoimResponse.from(isJoinedMoim);
}

@Override
Expand Down
Loading