diff --git a/KkuMulKum/Network/DTO/Model/Meetings/MakeMeetingsResponseModel.swift b/KkuMulKum/Network/DTO/Model/Meetings/MakeMeetingsResponseModel.swift index fa674ee2..3e0f826a 100644 --- a/KkuMulKum/Network/DTO/Model/Meetings/MakeMeetingsResponseModel.swift +++ b/KkuMulKum/Network/DTO/Model/Meetings/MakeMeetingsResponseModel.swift @@ -9,5 +9,11 @@ import Foundation /// 모임 생성 (Response) struct MakeMeetingsResponseModel: ResponseModelType { + let meetingID: Int let invitationCode: String + + enum CodingKeys: String, CodingKey { + case meetingID = "meetingId" + case invitationCode + } } diff --git a/KkuMulKum/Source/MeetingCreate/CreateMeeting/ViewController/CreateMeetingViewController.swift b/KkuMulKum/Source/MeetingCreate/CreateMeeting/ViewController/CreateMeetingViewController.swift index 1f27ef29..87425671 100644 --- a/KkuMulKum/Source/MeetingCreate/CreateMeeting/ViewController/CreateMeetingViewController.swift +++ b/KkuMulKum/Source/MeetingCreate/CreateMeeting/ViewController/CreateMeetingViewController.swift @@ -149,7 +149,7 @@ private extension CreateMeetingViewController { @objc private func copyButtonDidTapped() { - let finishCreateViewController = FinishCreateViewController() + let finishCreateViewController = FinishCreateViewController(meetingID: createMeetingViewModel.meetingID) navigationController?.pushViewController(finishCreateViewController, animated: true) } @@ -157,7 +157,7 @@ private extension CreateMeetingViewController { @objc private func inviteLaterButtonDidTapped() { DispatchQueue.main.asyncAfter(deadline: .now() + 0.7) { - let finishCreateViewController = FinishCreateViewController() + let finishCreateViewController = FinishCreateViewController(meetingID: self.createMeetingViewModel.meetingID) self.navigationController?.pushViewController(finishCreateViewController, animated: true) } diff --git a/KkuMulKum/Source/MeetingCreate/CreateMeeting/ViewModel/CreateMeetingViewModel.swift b/KkuMulKum/Source/MeetingCreate/CreateMeeting/ViewModel/CreateMeetingViewModel.swift index 3b8cecd7..0300c90e 100644 --- a/KkuMulKum/Source/MeetingCreate/CreateMeeting/ViewModel/CreateMeetingViewModel.swift +++ b/KkuMulKum/Source/MeetingCreate/CreateMeeting/ViewModel/CreateMeetingViewModel.swift @@ -24,6 +24,7 @@ class CreateMeetingViewModel { let meetingName = ObservablePattern("") let inviteCodeState = ObservablePattern(.empty) let inviteCode = ObservablePattern("") + var meetingID: Int = 0 let isNextButtonEnabled = ObservablePattern(false) let characterCount = ObservablePattern("0/5") @@ -63,9 +64,15 @@ extension CreateMeetingViewModel { createMeetingResponse.value = try await createMeetingService.createMeeting(request: request)?.data - guard let code = createMeetingResponse.value?.invitationCode else { return } + guard let code = self.createMeetingResponse.value?.invitationCode else { + return + } + guard let meetingID = self.createMeetingResponse.value?.meetingID else { + return + } inviteCode.value = code + self.meetingID = meetingID } catch { print(">>> \(error.localizedDescription) : \(#function)") diff --git a/KkuMulKum/Source/MeetingCreate/FinishCreate/ViewController/FinishCreateViewController.swift b/KkuMulKum/Source/MeetingCreate/FinishCreate/ViewController/FinishCreateViewController.swift index 58b7abbd..ab5034c0 100644 --- a/KkuMulKum/Source/MeetingCreate/FinishCreate/ViewController/FinishCreateViewController.swift +++ b/KkuMulKum/Source/MeetingCreate/FinishCreate/ViewController/FinishCreateViewController.swift @@ -11,6 +11,8 @@ class FinishCreateViewController: BaseViewController { // MARK: Property + + let meetingID: Int private let peopleImageView: UIImageView = UIImageView().then { $0.image = .imgCreateGroup @@ -31,6 +33,19 @@ class FinishCreateViewController: BaseViewController { $0.backgroundColor = .maincolor } + + // MARK: - Initialize + + init(meetingID: Int) { + self.meetingID = meetingID + + super.init(nibName: nil, bundle: nil) + } + + required init?(coder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } + // MARK: - LifeCycle override func viewWillAppear(_ animated: Bool) { @@ -98,7 +113,7 @@ private extension FinishCreateViewController { // TODO: 서버 연결할 때 데이터 바인딩해서 화면 전환 시키기 let meetingInfoViewController = MeetingInfoViewController( viewModel: MeetingInfoViewModel( - meetingID: 1, + meetingID: self.meetingID, service: MeetingService() ) )