From d7acea3d17990b71b92e6d9485892f07f59c3fe4 Mon Sep 17 00:00:00 2001 From: 0Hooni Date: Mon, 14 Apr 2025 20:51:16 +0900 Subject: [PATCH 01/83] =?UTF-8?q?refactor/#112:=20Convert=20to=20Folder?= =?UTF-8?q?=EB=A1=9C=20=EA=B0=9C=EC=84=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 프로젝트가 추적하지 않는 파일들 삭제 --- Poppool/Poppool.xcodeproj/project.pbxproj | 3411 +---------------- .../GetBlockUserListResponse.swift | 0 .../{ => UserAPI}/GetMyCommentResponse.swift | 0 .../{ => UserAPI}/GetMyPageResponse.swift | 0 .../{ => UserAPI}/GetMyProfileResponse.swift | 0 .../GetNoticeDetailResponse.swift | 0 .../{ => UserAPI}/GetNoticeListResponse.swift | 0 ...tOtherUserCommentedPopUpListResponse.swift | 0 .../GetRecentPopUpResponse.swift | 0 .../GetWithdrawlListResponse.swift | 0 .../Admin/PopUpStoreRegisterReactor.swift | 306 -- .../Scene/Admin/PopUpStoreRegisterView.swift | 424 -- .../Scene/Map/CustomClusterRenderer.swift | 15 - .../FillterSheetView/CategoryFilterView.swift | 35 - .../Map/FillterSheetView/FilterTabsView.swift | 39 - .../FillterSheetView/LocationFilterView.swift | 40 - .../Map/FindMap/GuideMapViewController.swift | 1 - .../MapGuideView/MapGuideAppService.swift | 71 - .../Presentation/Scene/Map/MapStoreCard.swift | 116 - .../Scene/Map/MicroClusterMarkerView.swift | 2 - .../Scene/Map/StoreListPanelLayout.swift | 30 - .../StoreListView/StoreListHeaderView.swift | 54 - .../StoreListView/StoreListPanelLayout.swift | 39 - .../Scene/Map/StoreLocation.swift | 8 - .../Scene/Map/TestViewController.swift | 153 - 25 files changed, 60 insertions(+), 4684 deletions(-) rename Poppool/Poppool/Domain/Entities/{ => UserAPI}/GetBlockUserListResponse.swift (100%) rename Poppool/Poppool/Domain/Entities/{ => UserAPI}/GetMyCommentResponse.swift (100%) rename Poppool/Poppool/Domain/Entities/{ => UserAPI}/GetMyPageResponse.swift (100%) rename Poppool/Poppool/Domain/Entities/{ => UserAPI}/GetMyProfileResponse.swift (100%) rename Poppool/Poppool/Domain/Entities/{ => UserAPI}/GetNoticeDetailResponse.swift (100%) rename Poppool/Poppool/Domain/Entities/{ => UserAPI}/GetNoticeListResponse.swift (100%) rename Poppool/Poppool/Domain/Entities/{ => UserAPI}/GetOtherUserCommentedPopUpListResponse.swift (100%) rename Poppool/Poppool/Domain/Entities/{ => UserAPI}/GetRecentPopUpResponse.swift (100%) rename Poppool/Poppool/Domain/Entities/{ => UserAPI}/GetWithdrawlListResponse.swift (100%) delete mode 100644 Poppool/Poppool/Presentation/Scene/Admin/PopUpStoreRegisterReactor.swift delete mode 100644 Poppool/Poppool/Presentation/Scene/Admin/PopUpStoreRegisterView.swift delete mode 100644 Poppool/Poppool/Presentation/Scene/Map/CustomClusterRenderer.swift delete mode 100644 Poppool/Poppool/Presentation/Scene/Map/FillterSheetView/CategoryFilterView.swift delete mode 100644 Poppool/Poppool/Presentation/Scene/Map/FillterSheetView/FilterTabsView.swift delete mode 100644 Poppool/Poppool/Presentation/Scene/Map/FillterSheetView/LocationFilterView.swift delete mode 100644 Poppool/Poppool/Presentation/Scene/Map/FindMap/GuideMapViewController.swift delete mode 100644 Poppool/Poppool/Presentation/Scene/Map/FindMap/MapGuideView/MapGuideAppService.swift delete mode 100644 Poppool/Poppool/Presentation/Scene/Map/MapStoreCard.swift delete mode 100644 Poppool/Poppool/Presentation/Scene/Map/MicroClusterMarkerView.swift delete mode 100644 Poppool/Poppool/Presentation/Scene/Map/StoreListPanelLayout.swift delete mode 100644 Poppool/Poppool/Presentation/Scene/Map/StoreListView/StoreListHeaderView.swift delete mode 100644 Poppool/Poppool/Presentation/Scene/Map/StoreListView/StoreListPanelLayout.swift delete mode 100644 Poppool/Poppool/Presentation/Scene/Map/StoreLocation.swift delete mode 100644 Poppool/Poppool/Presentation/Scene/Map/TestViewController.swift diff --git a/Poppool/Poppool.xcodeproj/project.pbxproj b/Poppool/Poppool.xcodeproj/project.pbxproj index f8e92c85..d87bba1e 100644 --- a/Poppool/Poppool.xcodeproj/project.pbxproj +++ b/Poppool/Poppool.xcodeproj/project.pbxproj @@ -3,466 +3,20 @@ archiveVersion = 1; classes = { }; - objectVersion = 56; + objectVersion = 76; objects = { /* Begin PBXBuildFile section */ - 0818988E2D295DC30067BF01 /* MyPageLogoutSection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0818988D2D295DC30067BF01 /* MyPageLogoutSection.swift */; }; - 081898902D295DC80067BF01 /* MyPageLogoutSectionCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0818988F2D295DC80067BF01 /* MyPageLogoutSectionCell.swift */; }; - 081898942D2965C20067BF01 /* ProfileEditController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 081898932D2965C20067BF01 /* ProfileEditController.swift */; }; - 081898962D2965C90067BF01 /* ProfileEditView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 081898952D2965C90067BF01 /* ProfileEditView.swift */; }; - 081898982D2965D20067BF01 /* ProfileEditReactor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 081898972D2965D20067BF01 /* ProfileEditReactor.swift */; }; - 0818989C2D2BAA570067BF01 /* WithdrawlCheckModalView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0818989B2D2BAA570067BF01 /* WithdrawlCheckModalView.swift */; }; - 0818989E2D2BAA610067BF01 /* WithdrawlCheckModalController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0818989D2D2BAA610067BF01 /* WithdrawlCheckModalController.swift */; }; - 081898A02D2BAA670067BF01 /* WithdrawlCheckModalReactor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0818989F2D2BAA670067BF01 /* WithdrawlCheckModalReactor.swift */; }; - 081898A32D2CC0110067BF01 /* WithdrawlReasonView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 081898A22D2CC0110067BF01 /* WithdrawlReasonView.swift */; }; - 081898A52D2CC0180067BF01 /* WithdrawlReasonController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 081898A42D2CC0180067BF01 /* WithdrawlReasonController.swift */; }; - 081898A72D2CC01D0067BF01 /* WithdrawlReasonReactor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 081898A62D2CC01D0067BF01 /* WithdrawlReasonReactor.swift */; }; - 081898AA2D2CEA2F0067BF01 /* WithdrawlCheckSectionCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 081898A92D2CEA2F0067BF01 /* WithdrawlCheckSectionCell.swift */; }; - 081898AC2D2CEA940067BF01 /* WithdrawlCheckSection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 081898AB2D2CEA940067BF01 /* WithdrawlCheckSection.swift */; }; - 081898AE2D2CFC230067BF01 /* GetWithdrawlListResponseDTO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 081898AD2D2CFC230067BF01 /* GetWithdrawlListResponseDTO.swift */; }; - 081898B02D2CFCA40067BF01 /* GetWithdrawlListResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = 081898AF2D2CFCA40067BF01 /* GetWithdrawlListResponse.swift */; }; - 081898B32D2D20D70067BF01 /* WithdrawlCompleteView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 081898B22D2D20D70067BF01 /* WithdrawlCompleteView.swift */; }; - 081898B52D2D20E30067BF01 /* WithdrawlCompleteController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 081898B42D2D20E30067BF01 /* WithdrawlCompleteController.swift */; }; - 081898B72D2D23A90067BF01 /* UINavigationController+.swift in Sources */ = {isa = PBXBuildFile; fileRef = 081898B62D2D23A90067BF01 /* UINavigationController+.swift */; }; - 081898BA2D2E5F4C0067BF01 /* MyCommentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 081898B92D2E5F4C0067BF01 /* MyCommentView.swift */; }; - 081898BC2D2E5F510067BF01 /* MyCommentReactor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 081898BB2D2E5F510067BF01 /* MyCommentReactor.swift */; }; - 081898BE2D2E5F590067BF01 /* MyCommentController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 081898BD2D2E5F590067BF01 /* MyCommentController.swift */; }; - 081898C32D30AE2C0067BF01 /* GetMyProfileResponseDTO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 081898C22D30AE2C0067BF01 /* GetMyProfileResponseDTO.swift */; }; - 081898C52D30AEF40067BF01 /* GetMyProfileResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = 081898C42D30AEF40067BF01 /* GetMyProfileResponse.swift */; }; - 081898CA2D30D5BA0067BF01 /* InfoEditModalView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 081898C92D30D5BA0067BF01 /* InfoEditModalView.swift */; }; - 081898CC2D30D5BF0067BF01 /* InfoEditModalController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 081898CB2D30D5BF0067BF01 /* InfoEditModalController.swift */; }; - 081898CE2D30D5C60067BF01 /* InfoEditModalReactor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 081898CD2D30D5C60067BF01 /* InfoEditModalReactor.swift */; }; - 081898D02D30EA900067BF01 /* PutUserTailoredInfoRequestDTO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 081898CF2D30EA900067BF01 /* PutUserTailoredInfoRequestDTO.swift */; }; - 081898D22D30F57D0067BF01 /* CategoryEditModalView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 081898D12D30F57D0067BF01 /* CategoryEditModalView.swift */; }; - 081898D42D30F5840067BF01 /* CategoryEditModalController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 081898D32D30F5840067BF01 /* CategoryEditModalController.swift */; }; - 081898D62D30F58A0067BF01 /* CategoryEditModalReactor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 081898D52D30F58A0067BF01 /* CategoryEditModalReactor.swift */; }; - 081898D82D310C160067BF01 /* PutUserCategoryRequestDTO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 081898D72D310C160067BF01 /* PutUserCategoryRequestDTO.swift */; }; - 081898DA2D32559B0067BF01 /* PutUserProfileRequestDTO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 081898D92D32559B0067BF01 /* PutUserProfileRequestDTO.swift */; }; - 081898DC2D326DC10067BF01 /* IntroState.swift in Sources */ = {isa = PBXBuildFile; fileRef = 081898DB2D326DC10067BF01 /* IntroState.swift */; }; - 081898E02D338F9C0067BF01 /* ListCountButtonSection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 081898DF2D338F9C0067BF01 /* ListCountButtonSection.swift */; }; - 081898E22D338FA40067BF01 /* ListCountButtonSectionCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 081898E12D338FA40067BF01 /* ListCountButtonSectionCell.swift */; }; - 081898E42D3391550067BF01 /* GetMyCommentedPopUpResponseDTO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 081898E32D3391550067BF01 /* GetMyCommentedPopUpResponseDTO.swift */; }; - 081898E62D3391CB0067BF01 /* GetMyCommentResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = 081898E52D3391CB0067BF01 /* GetMyCommentResponse.swift */; }; - 081898E82D3392480067BF01 /* GetMyCommentRequestDTO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 081898E72D3392480067BF01 /* GetMyCommentRequestDTO.swift */; }; - 081898EC2D33A3960067BF01 /* MyCommentSortedModalView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 081898EB2D33A3960067BF01 /* MyCommentSortedModalView.swift */; }; - 081898EE2D33A39D0067BF01 /* MyCommentSortedModalController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 081898ED2D33A39D0067BF01 /* MyCommentSortedModalController.swift */; }; - 081898F02D33A3A30067BF01 /* MyCommentSortedModalReactor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 081898EF2D33A3A30067BF01 /* MyCommentSortedModalReactor.swift */; }; - 081898F32D33D6AC0067BF01 /* BlockUserManageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 081898F22D33D6AC0067BF01 /* BlockUserManageView.swift */; }; - 081898F52D33D6B10067BF01 /* BlockUserManageController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 081898F42D33D6B10067BF01 /* BlockUserManageController.swift */; }; - 081898F72D33D6B70067BF01 /* BlockUserManageReactor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 081898F62D33D6B70067BF01 /* BlockUserManageReactor.swift */; }; - 081898FB2D33D9320067BF01 /* GetBlockUserListResponseDTO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 081898FA2D33D9320067BF01 /* GetBlockUserListResponseDTO.swift */; }; - 081898FD2D33D9ED0067BF01 /* GetBlockUserListResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = 081898FC2D33D9ED0067BF01 /* GetBlockUserListResponse.swift */; }; - 081898FF2D33DA440067BF01 /* GetBlockUserListRequestDTO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 081898FE2D33DA440067BF01 /* GetBlockUserListRequestDTO.swift */; }; - 081899022D3407F50067BF01 /* BlockUserListSection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 081899012D3407F50067BF01 /* BlockUserListSection.swift */; }; - 081899052D34080B0067BF01 /* BlockUserListSectionCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 081899042D34080B0067BF01 /* BlockUserListSectionCell.swift */; }; - 081899082D34B35A0067BF01 /* MyPageNoticeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 081899072D34B35A0067BF01 /* MyPageNoticeView.swift */; }; - 0818990A2D34B3620067BF01 /* MyPageNoticeController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 081899092D34B3620067BF01 /* MyPageNoticeController.swift */; }; - 0818990C2D34B3670067BF01 /* MyPageNoticeReactor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0818990B2D34B3670067BF01 /* MyPageNoticeReactor.swift */; }; - 0818990E2D34B68C0067BF01 /* GetNoticeListResponseDTO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0818990D2D34B68C0067BF01 /* GetNoticeListResponseDTO.swift */; }; - 081899102D34B7240067BF01 /* GetNoticeListResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0818990F2D34B7240067BF01 /* GetNoticeListResponse.swift */; }; - 081899122D34CA9E0067BF01 /* GetNoticeDetailResponseDTO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 081899112D34CA9E0067BF01 /* GetNoticeDetailResponseDTO.swift */; }; - 081899142D34CAEA0067BF01 /* GetNoticeDetailResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = 081899132D34CAEA0067BF01 /* GetNoticeDetailResponse.swift */; }; - 081899182D34D63E0067BF01 /* NoticeListSection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 081899172D34D63E0067BF01 /* NoticeListSection.swift */; }; - 0818991A2D34D6430067BF01 /* NoticeListSectionCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 081899192D34D6430067BF01 /* NoticeListSectionCell.swift */; }; - 0818991E2D34DF7D0067BF01 /* MyPageNoticeDetailView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0818991D2D34DF7D0067BF01 /* MyPageNoticeDetailView.swift */; }; - 081899202D34DF880067BF01 /* MyPageNoticeDetailController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0818991F2D34DF880067BF01 /* MyPageNoticeDetailController.swift */; }; - 081899222D34DF8E0067BF01 /* MyPageNoticeDetailReactor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 081899212D34DF8E0067BF01 /* MyPageNoticeDetailReactor.swift */; }; - 081899252D3500B80067BF01 /* FAQView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 081899242D3500B80067BF01 /* FAQView.swift */; }; - 081899272D3500BF0067BF01 /* FAQController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 081899262D3500BF0067BF01 /* FAQController.swift */; }; - 081899292D3500C50067BF01 /* FAQReactor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 081899282D3500C50067BF01 /* FAQReactor.swift */; }; - 0818992D2D3506240067BF01 /* FAQDropdownSectionCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0818992C2D3506240067BF01 /* FAQDropdownSectionCell.swift */; }; - 0818992F2D3506290067BF01 /* FAQDropdownSection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0818992E2D3506290067BF01 /* FAQDropdownSection.swift */; }; - 081899332D35F1090067BF01 /* MyPageBookmarkView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 081899322D35F1090067BF01 /* MyPageBookmarkView.swift */; }; - 081899352D35F10F0067BF01 /* MyPageBookmarkController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 081899342D35F10F0067BF01 /* MyPageBookmarkController.swift */; }; - 081899372D35F1140067BF01 /* MyPageBookmarkReactor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 081899362D35F1140067BF01 /* MyPageBookmarkReactor.swift */; }; - 081899392D35F11F0067BF01 /* MyPageRecentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 081899382D35F11F0067BF01 /* MyPageRecentView.swift */; }; - 0818993B2D35F1250067BF01 /* MyPageRecentController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0818993A2D35F1250067BF01 /* MyPageRecentController.swift */; }; - 0818993D2D35F12A0067BF01 /* MyPageRecentReactor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0818993C2D35F12A0067BF01 /* MyPageRecentReactor.swift */; }; - 0818993F2D35FBE00067BF01 /* GetRecentPopUpResponseDTO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0818993E2D35FBE00067BF01 /* GetRecentPopUpResponseDTO.swift */; }; - 081899412D35FDA10067BF01 /* GetRecentPopUpResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = 081899402D35FDA10067BF01 /* GetRecentPopUpResponse.swift */; }; - 081899452D35FEA10067BF01 /* RecentPopUpSection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 081899442D35FEA10067BF01 /* RecentPopUpSection.swift */; }; - 0818994A2D36322B0067BF01 /* PopUpCardSection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 081899492D36322B0067BF01 /* PopUpCardSection.swift */; }; - 0818994C2D3632320067BF01 /* PopUpCardSectionCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0818994B2D3632320067BF01 /* PopUpCardSectionCell.swift */; }; - 081899502D363E5C0067BF01 /* BookMarkPopUpViewTypeModalView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0818994F2D363E5C0067BF01 /* BookMarkPopUpViewTypeModalView.swift */; }; - 081899522D363E640067BF01 /* BookMarkPopUpViewTypeModalController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 081899512D363E640067BF01 /* BookMarkPopUpViewTypeModalController.swift */; }; - 081899542D363E6A0067BF01 /* BookMarkPopUpViewTypeModalReactor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 081899532D363E6A0067BF01 /* BookMarkPopUpViewTypeModalReactor.swift */; }; 082197A12D426DCB0054094A /* Then in Frameworks */ = {isa = PBXBuildFile; productRef = 082197A02D426DCB0054094A /* Then */; }; - 082197A72D4E3EE00054094A /* CommentMyMenuView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 082197A62D4E3EE00054094A /* CommentMyMenuView.swift */; }; - 082197A92D4E3EE90054094A /* CommentMyMenuController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 082197A82D4E3EE90054094A /* CommentMyMenuController.swift */; }; - 082197AB2D4E3EEF0054094A /* CommentMyMenuReactor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 082197AA2D4E3EEF0054094A /* CommentMyMenuReactor.swift */; }; - 082197AD2D4E49370054094A /* DeleteCommentRequestDTO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 082197AC2D4E49370054094A /* DeleteCommentRequestDTO.swift */; }; - 082197B02D4E4E190054094A /* NormalCommentEditView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 082197AF2D4E4E190054094A /* NormalCommentEditView.swift */; }; - 082197B22D4E4E200054094A /* NormalCommentEditController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 082197B12D4E4E200054094A /* NormalCommentEditController.swift */; }; - 082197B42D4E4E280054094A /* NormalCommentEditReactor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 082197B32D4E4E280054094A /* NormalCommentEditReactor.swift */; }; - 083A25822CF361EF0099B58E /* BaseTabmanController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 083A257F2CF361EF0099B58E /* BaseTabmanController.swift */; }; - 083A25832CF361EF0099B58E /* BaseViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 083A25802CF361EF0099B58E /* BaseViewController.swift */; }; - 083A25992CF362090099B58E /* Sectionable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 083A25932CF362090099B58E /* Sectionable.swift */; }; - 083A259A2CF362090099B58E /* SectionDecorationItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 083A25942CF362090099B58E /* SectionDecorationItem.swift */; }; - 083A259B2CF362090099B58E /* SectionSupplementaryItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 083A25952CF362090099B58E /* SectionSupplementaryItem.swift */; }; - 083A259C2CF362090099B58E /* InOutputable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 083A25972CF362090099B58E /* InOutputable.swift */; }; - 083A25B22CF362670099B58E /* NetworkError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 083A25A12CF362670099B58E /* NetworkError.swift */; }; - 083A25B32CF362670099B58E /* Requestable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 083A25A22CF362670099B58E /* Requestable.swift */; }; - 083A25B42CF362670099B58E /* Responsable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 083A25A32CF362670099B58E /* Responsable.swift */; }; - 083A25B52CF362670099B58E /* Endpoint.swift in Sources */ = {isa = PBXBuildFile; fileRef = 083A25A52CF362670099B58E /* Endpoint.swift */; }; - 083A25B62CF362670099B58E /* MultipartEndPoint.swift in Sources */ = {isa = PBXBuildFile; fileRef = 083A25A62CF362670099B58E /* MultipartEndPoint.swift */; }; - 083A25B72CF362670099B58E /* RequestEndpoint.swift in Sources */ = {isa = PBXBuildFile; fileRef = 083A25A72CF362670099B58E /* RequestEndpoint.swift */; }; - 083A25B82CF362670099B58E /* IndicatorMaker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 083A25A92CF362670099B58E /* IndicatorMaker.swift */; }; - 083A25B92CF362670099B58E /* FormDataInterceptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 083A25AB2CF362670099B58E /* FormDataInterceptor.swift */; }; - 083A25BA2CF362670099B58E /* TokenInterceptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 083A25AC2CF362670099B58E /* TokenInterceptor.swift */; }; - 083A25BB2CF362670099B58E /* Provider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 083A25AE2CF362670099B58E /* Provider.swift */; }; - 083A25BC2CF362670099B58E /* ProviderImpl.swift in Sources */ = {isa = PBXBuildFile; fileRef = 083A25AF2CF362670099B58E /* ProviderImpl.swift */; }; - 083A25BF2CF362770099B58E /* Logger.swift in Sources */ = {isa = PBXBuildFile; fileRef = 083A25BD2CF362770099B58E /* Logger.swift */; }; - 083A25C82CF363C00099B58E /* LoginController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 083A25C72CF363C00099B58E /* LoginController.swift */; }; - 083A25CA2CF363C60099B58E /* LoginReactor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 083A25C92CF363C60099B58E /* LoginReactor.swift */; }; - 083A25CC2CF363CB0099B58E /* LoginView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 083A25CB2CF363CB0099B58E /* LoginView.swift */; }; 083A25D02CF364B70099B58E /* Alamofire in Frameworks */ = {isa = PBXBuildFile; productRef = 083A25CF2CF364B70099B58E /* Alamofire */; }; - 083C860B2D073A15003F441C /* DetailView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 083C860A2D073A15003F441C /* DetailView.swift */; }; - 083C860D2D073A1C003F441C /* DetailController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 083C860C2D073A1C003F441C /* DetailController.swift */; }; - 083C860F2D073A23003F441C /* DetailReactor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 083C860E2D073A23003F441C /* DetailReactor.swift */; }; - 083C861C2D087337003F441C /* GetPopUpDetailRequestDTO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 083C861B2D087337003F441C /* GetPopUpDetailRequestDTO.swift */; }; - 083C861E2D08737F003F441C /* GetPopUpDetailResponseDTO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 083C861D2D08737F003F441C /* GetPopUpDetailResponseDTO.swift */; }; - 083C86202D087445003F441C /* GetPopUpDetailResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = 083C861F2D087445003F441C /* GetPopUpDetailResponse.swift */; }; - 083C86242D087A44003F441C /* DetailTitleSection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 083C86232D087A44003F441C /* DetailTitleSection.swift */; }; - 083C86262D087A4E003F441C /* DetailTitleSectionCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 083C86252D087A4E003F441C /* DetailTitleSectionCell.swift */; }; - 083C86292D088080003F441C /* DetailContentSection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 083C86282D088080003F441C /* DetailContentSection.swift */; }; - 083C862B2D08808C003F441C /* DetailContentSectionCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 083C862A2D08808C003F441C /* DetailContentSectionCell.swift */; }; - 083C86362D0C7EF4003F441C /* CommentSelectedController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 083C86352D0C7EF4003F441C /* CommentSelectedController.swift */; }; - 083C86382D0C7EFC003F441C /* CommentSelectedView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 083C86372D0C7EFC003F441C /* CommentSelectedView.swift */; }; - 083C863A2D0C7F0A003F441C /* CommentSelectedReactor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 083C86392D0C7F0A003F441C /* CommentSelectedReactor.swift */; }; - 083C863D2D0C8BC4003F441C /* NormalCommentAddController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 083C863C2D0C8BC4003F441C /* NormalCommentAddController.swift */; }; - 083C863F2D0C8BCE003F441C /* NormalCommentAddView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 083C863E2D0C8BCE003F441C /* NormalCommentAddView.swift */; }; - 083C86412D0C8BD8003F441C /* NormalCommentAddReactor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 083C86402D0C8BD8003F441C /* NormalCommentAddReactor.swift */; }; - 083C86452D0DCDE9003F441C /* AddCommentTitleSectionCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 083C86442D0DCDE8003F441C /* AddCommentTitleSectionCell.swift */; }; - 083C86472D0DCDFB003F441C /* AddCommentTitleSection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 083C86462D0DCDFB003F441C /* AddCommentTitleSection.swift */; }; - 083C864A2D0DCF96003F441C /* AddCommentDescriptionSection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 083C86492D0DCF96003F441C /* AddCommentDescriptionSection.swift */; }; - 083C864C2D0DCF9B003F441C /* AddCommentDescriptionSectionCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 083C864B2D0DCF9B003F441C /* AddCommentDescriptionSectionCell.swift */; }; - 083C864F2D0DD3A6003F441C /* AddCommentImageSection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 083C864E2D0DD3A6003F441C /* AddCommentImageSection.swift */; }; - 083C86512D0DD3AB003F441C /* AddCommentImageSectionCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 083C86502D0DD3AB003F441C /* AddCommentImageSectionCell.swift */; }; - 083C86542D0DD7E9003F441C /* AddCommentSection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 083C86532D0DD7E9003F441C /* AddCommentSection.swift */; }; - 083C86562D0DD7EE003F441C /* AddCommentSectionCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 083C86552D0DD7EE003F441C /* AddCommentSectionCell.swift */; }; - 083C86592D0DEFC3003F441C /* CommentCheckView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 083C86582D0DEFC3003F441C /* CommentCheckView.swift */; }; - 083C865B2D0DEFCF003F441C /* CommentCheckController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 083C865A2D0DEFCF003F441C /* CommentCheckController.swift */; }; - 083C865D2D0DEFD5003F441C /* CommentCheckReactor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 083C865C2D0DEFD5003F441C /* CommentCheckReactor.swift */; }; - 083C86602D0EC496003F441C /* InstaCommentAddView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 083C865F2D0EC496003F441C /* InstaCommentAddView.swift */; }; - 083C86622D0EC49E003F441C /* InstaCommentAddController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 083C86612D0EC49E003F441C /* InstaCommentAddController.swift */; }; - 083C86642D0EC4A5003F441C /* InstaCommentAddReactor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 083C86632D0EC4A5003F441C /* InstaCommentAddReactor.swift */; }; - 083C86692D0ECB47003F441C /* InstaGuideSection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 083C86682D0ECB47003F441C /* InstaGuideSection.swift */; }; - 083C866B2D0ECB4F003F441C /* InstaGuideSectionCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 083C866A2D0ECB4F003F441C /* InstaGuideSectionCell.swift */; }; - 083C866E2D0ECB87003F441C /* InstaGuideChildSection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 083C866D2D0ECB87003F441C /* InstaGuideChildSection.swift */; }; - 083C86702D0ECB8E003F441C /* InstaGuideChildSectionCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 083C866F2D0ECB8E003F441C /* InstaGuideChildSectionCell.swift */; }; - 083C86732D0EE2B1003F441C /* CommentAPIEndPoint.swift in Sources */ = {isa = PBXBuildFile; fileRef = 083C86722D0EE2B1003F441C /* CommentAPIEndPoint.swift */; }; - 083C86762D0EE2CF003F441C /* PostCommentRequestDTO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 083C86752D0EE2CF003F441C /* PostCommentRequestDTO.swift */; }; - 083C86782D0EE382003F441C /* CommentAPIRepository.swift in Sources */ = {isa = PBXBuildFile; fileRef = 083C86772D0EE382003F441C /* CommentAPIRepository.swift */; }; - 083C867A2D0EE3BB003F441C /* CommentAPIUseCaseImpl.swift in Sources */ = {isa = PBXBuildFile; fileRef = 083C86792D0EE3BB003F441C /* CommentAPIUseCaseImpl.swift */; }; - 0841BA802CF9F34100049E31 /* ImageBannerChildSectionCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0841BA7F2CF9F34100049E31 /* ImageBannerChildSectionCell.swift */; }; - 0841BA822CF9F5DF00049E31 /* PreSignedService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0841BA812CF9F5DF00049E31 /* PreSignedService.swift */; }; - 0841BA872CF9F62400049E31 /* PreSignedURLDTO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0841BA842CF9F62300049E31 /* PreSignedURLDTO.swift */; }; - 0841BA882CF9F62400049E31 /* PresignedURLRequestDTO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0841BA852CF9F62300049E31 /* PresignedURLRequestDTO.swift */; }; - 0841BA892CF9F62400049E31 /* PreSignedURLResponseDTO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0841BA862CF9F62300049E31 /* PreSignedURLResponseDTO.swift */; }; - 0841BA8C2CF9F67100049E31 /* PreSignedAPIEndPoint.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0841BA8B2CF9F67100049E31 /* PreSignedAPIEndPoint.swift */; }; - 0841BA8E2CF9F8A100049E31 /* ImageBannerChildSection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0841BA8D2CF9F8A100049E31 /* ImageBannerChildSection.swift */; }; - 0841BAA32CFA31A300049E31 /* SpacingSection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0841BAA22CFA31A300049E31 /* SpacingSection.swift */; }; - 0841BAA52CFA31A900049E31 /* SpacingSectionCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0841BAA42CFA31A900049E31 /* SpacingSectionCell.swift */; }; - 0841BAA82CFA354500049E31 /* HomeTitleSection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0841BAA72CFA354500049E31 /* HomeTitleSection.swift */; }; - 0841BAAA2CFA354C00049E31 /* HomeTitleSectionCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0841BAA92CFA354C00049E31 /* HomeTitleSectionCell.swift */; }; - 0841BAAC2CFA35F300049E31 /* UILabel+.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0841BAAB2CFA35F300049E31 /* UILabel+.swift */; }; - 0841BAAF2CFA38EA00049E31 /* HomeCardSection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0841BAAE2CFA38EA00049E31 /* HomeCardSection.swift */; }; - 0841BAB12CFA38F500049E31 /* HomeCardSectionCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0841BAB02CFA38F500049E31 /* HomeCardSectionCell.swift */; }; - 0841BAB42CFABED700049E31 /* HomePopularCardSection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0841BAB32CFABED700049E31 /* HomePopularCardSection.swift */; }; - 0841BAB62CFABEDC00049E31 /* HomePopularCardSectionCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0841BAB52CFABEDC00049E31 /* HomePopularCardSectionCell.swift */; }; - 0841BAB82CFAC41300049E31 /* SectionBackGroundDecorationView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0841BAB72CFAC41300049E31 /* SectionBackGroundDecorationView.swift */; }; - 0841BABA2CFAE5BE00049E31 /* HomeHeaderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0841BAB92CFAE5BE00049E31 /* HomeHeaderView.swift */; }; - 0841BABC2CFB59E200049E31 /* String?+.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0841BABB2CFB59E200049E31 /* String?+.swift */; }; - 0841BABE2CFB5AA600049E31 /* Date?+.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0841BABD2CFB5AA600049E31 /* Date?+.swift */; }; - 0841BAC32CFB600800049E31 /* TabbarController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0841BAC22CFB600800049E31 /* TabbarController.swift */; }; - 086DD8C82CFDEA9200B97D3B /* UIView+.swift in Sources */ = {isa = PBXBuildFile; fileRef = 086DD8C72CFDEA9200B97D3B /* UIView+.swift */; }; - 086DD8CC2CFDFEA800B97D3B /* HomeListController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 086DD8CB2CFDFEA800B97D3B /* HomeListController.swift */; }; - 086DD8CE2CFDFEB000B97D3B /* HomeListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 086DD8CD2CFDFEB000B97D3B /* HomeListView.swift */; }; - 086DD8D02CFDFEB900B97D3B /* HomeListReactor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 086DD8CF2CFDFEB900B97D3B /* HomeListReactor.swift */; }; - 086DD8D32CFDFF1500B97D3B /* HomePopUpType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 086DD8D22CFDFF1500B97D3B /* HomePopUpType.swift */; }; - 086DD8D62CFF182100B97D3B /* UserAPIEndPoint.swift in Sources */ = {isa = PBXBuildFile; fileRef = 086DD8D52CFF182100B97D3B /* UserAPIEndPoint.swift */; }; - 086DD8D82CFF185200B97D3B /* PostBookmarkPopUpRequestDTO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 086DD8D72CFF185200B97D3B /* PostBookmarkPopUpRequestDTO.swift */; }; - 086DD8DA2CFF194700B97D3B /* UserAPIRepositoryImpl.swift in Sources */ = {isa = PBXBuildFile; fileRef = 086DD8D92CFF194700B97D3B /* UserAPIRepositoryImpl.swift */; }; - 086DD8DE2CFF19C400B97D3B /* UserAPIUseCaseImpl.swift in Sources */ = {isa = PBXBuildFile; fileRef = 086DD8DD2CFF19C400B97D3B /* UserAPIUseCaseImpl.swift */; }; - 086DD8E02CFF2C3700B97D3B /* UIImageView+.swift in Sources */ = {isa = PBXBuildFile; fileRef = 086DD8DF2CFF2C3700B97D3B /* UIImageView+.swift */; }; - 086DD8E32CFF356300B97D3B /* HomeCardGridSection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 086DD8E22CFF356300B97D3B /* HomeCardGridSection.swift */; }; - 086DD92A2D0086AA00B97D3B /* SearchController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 086DD9292D0086AA00B97D3B /* SearchController.swift */; }; - 086DD92C2D0086B100B97D3B /* SearchReactor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 086DD92B2D0086B100B97D3B /* SearchReactor.swift */; }; - 086DD92E2D0086B900B97D3B /* SearchView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 086DD92D2D0086B900B97D3B /* SearchView.swift */; }; - 086DD9302D0090E900B97D3B /* UITextField+.swift in Sources */ = {isa = PBXBuildFile; fileRef = 086DD92F2D0090E900B97D3B /* UITextField+.swift */; }; - 086DD9342D00962500B97D3B /* SearchTitleSectionCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 086DD9332D00962500B97D3B /* SearchTitleSectionCell.swift */; }; - 086DD9362D00963900B97D3B /* SearchTitleSection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 086DD9352D00963900B97D3B /* SearchTitleSection.swift */; }; - 086DD93B2D009A1C00B97D3B /* CancelableTagSection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 086DD93A2D009A1C00B97D3B /* CancelableTagSection.swift */; }; - 086DD93D2D009A2600B97D3B /* CancelableTagSectionCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 086DD93C2D009A2600B97D3B /* CancelableTagSectionCell.swift */; }; - 086DD9402D01EEEB00B97D3B /* SearchCountTitleSection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 086DD93F2D01EEEB00B97D3B /* SearchCountTitleSection.swift */; }; - 086DD9422D01EEF700B97D3B /* SearchCountTitleSectionCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 086DD9412D01EEF700B97D3B /* SearchCountTitleSectionCell.swift */; }; - 086F89C32D1E347700CA4FC9 /* CommentUserInfoView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 086F89C22D1E347700CA4FC9 /* CommentUserInfoView.swift */; }; - 086F89C52D1E347E00CA4FC9 /* CommentUserInfoController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 086F89C42D1E347E00CA4FC9 /* CommentUserInfoController.swift */; }; - 086F89C72D1E348400CA4FC9 /* CommentUserInfoReactor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 086F89C62D1E348400CA4FC9 /* CommentUserInfoReactor.swift */; }; - 086F89CA2D1E42A700CA4FC9 /* CommentUserBlockView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 086F89C92D1E42A700CA4FC9 /* CommentUserBlockView.swift */; }; - 086F89CC2D1E42B000CA4FC9 /* CommentUserBlockController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 086F89CB2D1E42B000CA4FC9 /* CommentUserBlockController.swift */; }; - 086F89CE2D1E42B500CA4FC9 /* CommentUserBlockReactor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 086F89CD2D1E42B500CA4FC9 /* CommentUserBlockReactor.swift */; }; - 086F89D02D1E60A100CA4FC9 /* PostUserBlockRequestDTO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 086F89CF2D1E60A100CA4FC9 /* PostUserBlockRequestDTO.swift */; }; - 086F89D32D1E6DA600CA4FC9 /* OtherUserCommentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 086F89D22D1E6DA600CA4FC9 /* OtherUserCommentView.swift */; }; - 086F89D52D1E6DB100CA4FC9 /* OtherUserCommentController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 086F89D42D1E6DB100CA4FC9 /* OtherUserCommentController.swift */; }; - 086F89D72D1E6DB700CA4FC9 /* OtherUserCommentReactor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 086F89D62D1E6DB700CA4FC9 /* OtherUserCommentReactor.swift */; }; - 086F89D92D1E79E200CA4FC9 /* GetOtherUserCommentListRequestDTO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 086F89D82D1E79E200CA4FC9 /* GetOtherUserCommentListRequestDTO.swift */; }; - 086F89DB2D1E7A6C00CA4FC9 /* GetOtherUserCommentedPopUpListResponseDTO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 086F89DA2D1E7A6C00CA4FC9 /* GetOtherUserCommentedPopUpListResponseDTO.swift */; }; - 086F89E02D1E7CC700CA4FC9 /* GetOtherUserCommentedPopUpListResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = 086F89DF2D1E7CC700CA4FC9 /* GetOtherUserCommentedPopUpListResponse.swift */; }; - 086F89E42D1FE91300CA4FC9 /* OtherUserCommentSection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 086F89E32D1FE91300CA4FC9 /* OtherUserCommentSection.swift */; }; - 086F89E62D1FE91800CA4FC9 /* OtherUserCommentSectionCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 086F89E52D1FE91800CA4FC9 /* OtherUserCommentSectionCell.swift */; }; - 086F89EA2D2009E300CA4FC9 /* SubLoginView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 086F89E92D2009E300CA4FC9 /* SubLoginView.swift */; }; - 086F89EC2D2009EB00CA4FC9 /* SubLoginController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 086F89EB2D2009EB00CA4FC9 /* SubLoginController.swift */; }; - 086F89EE2D2009F100CA4FC9 /* SubLoginReactor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 086F89ED2D2009F100CA4FC9 /* SubLoginReactor.swift */; }; - 086F89F12D2269D800CA4FC9 /* MyPageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 086F89F02D2269D800CA4FC9 /* MyPageView.swift */; }; - 086F89F32D2269DE00CA4FC9 /* MyPageController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 086F89F22D2269DE00CA4FC9 /* MyPageController.swift */; }; - 086F89F52D2269E300CA4FC9 /* MyPageReactor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 086F89F42D2269E300CA4FC9 /* MyPageReactor.swift */; }; - 086F89F72D226DF600CA4FC9 /* GetMyPageResponseDTO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 086F89F62D226DF600CA4FC9 /* GetMyPageResponseDTO.swift */; }; - 086F89F92D226EEB00CA4FC9 /* GetMyPageResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = 086F89F82D226EEB00CA4FC9 /* GetMyPageResponse.swift */; }; - 086F8A052D23CB3300CA4FC9 /* MyPageProfileSection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 086F8A042D23CB3300CA4FC9 /* MyPageProfileSection.swift */; }; - 086F8A072D23CB3800CA4FC9 /* MyPageProfileSectionCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 086F8A062D23CB3800CA4FC9 /* MyPageProfileSectionCell.swift */; }; - 086F8A0A2D2621EE00CA4FC9 /* MyPageMyCommentTitleSection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 086F8A092D2621EE00CA4FC9 /* MyPageMyCommentTitleSection.swift */; }; - 086F8A0C2D2621F400CA4FC9 /* MyPageMyCommentTitleSectionCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 086F8A0B2D2621F400CA4FC9 /* MyPageMyCommentTitleSectionCell.swift */; }; - 086F8A0F2D26297900CA4FC9 /* MyPageCommentSection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 086F8A0E2D26297900CA4FC9 /* MyPageCommentSection.swift */; }; - 086F8A112D26297D00CA4FC9 /* MyPageCommentSectionCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 086F8A102D26297D00CA4FC9 /* MyPageCommentSectionCell.swift */; }; - 086F8A182D265C5F00CA4FC9 /* MyPageListSection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 086F8A172D265C5F00CA4FC9 /* MyPageListSection.swift */; }; - 086F8A1A2D265C6300CA4FC9 /* MyPageListSectionCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 086F8A192D265C6300CA4FC9 /* MyPageListSectionCell.swift */; }; 088DE2442D104EE70030FA9E /* SwiftSoup in Frameworks */ = {isa = PBXBuildFile; productRef = 088DE2432D104EE70030FA9E /* SwiftSoup */; }; - 088DE24A2D12F3360030FA9E /* DetailInfoSection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 088DE2492D12F3360030FA9E /* DetailInfoSection.swift */; }; - 088DE24C2D12F33B0030FA9E /* DetailInfoSectionCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 088DE24B2D12F33B0030FA9E /* DetailInfoSectionCell.swift */; }; - 088DE24F2D13019A0030FA9E /* DetailCommentTitleSection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 088DE24E2D13019A0030FA9E /* DetailCommentTitleSection.swift */; }; - 088DE2512D13019E0030FA9E /* DetailCommentTitleSectionCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 088DE2502D13019E0030FA9E /* DetailCommentTitleSectionCell.swift */; }; - 088DE2542D144A7E0030FA9E /* DetailCommentSection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 088DE2532D144A7E0030FA9E /* DetailCommentSection.swift */; }; - 088DE2562D144A830030FA9E /* DetailCommentSectionCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 088DE2552D144A830030FA9E /* DetailCommentSectionCell.swift */; }; - 088DE2582D144B0F0030FA9E /* DetailCommentProfileView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 088DE2572D144B0F0030FA9E /* DetailCommentProfileView.swift */; }; - 088DE25A2D1458620030FA9E /* DetailCommentImageCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 088DE2592D1458620030FA9E /* DetailCommentImageCell.swift */; }; - 088DE25D2D145E3A0030FA9E /* DetailSimilarSection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 088DE25C2D145E3A0030FA9E /* DetailSimilarSection.swift */; }; - 088DE25F2D145E3F0030FA9E /* DetailSimilarSectionCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 088DE25E2D145E3F0030FA9E /* DetailSimilarSectionCell.swift */; }; - 089952422D031E650022AEF9 /* SearchSortedController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 089952412D031E650022AEF9 /* SearchSortedController.swift */; }; - 089952442D031E6D0022AEF9 /* SearchSortedReactor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 089952432D031E6D0022AEF9 /* SearchSortedReactor.swift */; }; - 089952462D031E740022AEF9 /* SearchSortedView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 089952452D031E740022AEF9 /* SearchSortedView.swift */; }; - 089952492D033A1C0022AEF9 /* PopUpAPIEndPoint.swift in Sources */ = {isa = PBXBuildFile; fileRef = 089952482D033A1C0022AEF9 /* PopUpAPIEndPoint.swift */; }; - 0899524B2D033A9C0022AEF9 /* GetClosePopUpListResponseDTO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0899524A2D033A9C0022AEF9 /* GetClosePopUpListResponseDTO.swift */; }; - 0899524D2D033AA70022AEF9 /* GetOpenPopUpListResponseDTO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0899524C2D033AA70022AEF9 /* GetOpenPopUpListResponseDTO.swift */; }; - 0899524F2D033B5A0022AEF9 /* GetSearchPopUpListRequestDTO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0899524E2D033B5A0022AEF9 /* GetSearchPopUpListRequestDTO.swift */; }; - 089952512D033C410022AEF9 /* GetSearchBottomPopUpListResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = 089952502D033C410022AEF9 /* GetSearchBottomPopUpListResponse.swift */; }; - 089952532D033C940022AEF9 /* PopUpAPIRepositoryImpl.swift in Sources */ = {isa = PBXBuildFile; fileRef = 089952522D033C940022AEF9 /* PopUpAPIRepositoryImpl.swift */; }; - 089952552D033D480022AEF9 /* PopUpAPIUseCaseImpl.swift in Sources */ = {isa = PBXBuildFile; fileRef = 089952542D033D480022AEF9 /* PopUpAPIUseCaseImpl.swift */; }; - 089952582D0347AC0022AEF9 /* SearchCategoryController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 089952572D0347AC0022AEF9 /* SearchCategoryController.swift */; }; - 0899525A2D0347B40022AEF9 /* SearchCategoryReactor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 089952592D0347B40022AEF9 /* SearchCategoryReactor.swift */; }; - 0899525C2D0347BD0022AEF9 /* SearchCategoryView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0899525B2D0347BD0022AEF9 /* SearchCategoryView.swift */; }; - 089952602D0366C40022AEF9 /* SearchMainController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0899525F2D0366C40022AEF9 /* SearchMainController.swift */; }; - 089952622D0366D30022AEF9 /* SearchMainView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 089952612D0366D30022AEF9 /* SearchMainView.swift */; }; - 089952642D0366DA0022AEF9 /* SearchMainReactor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 089952632D0366DA0022AEF9 /* SearchMainReactor.swift */; }; - 089952662D046CCD0022AEF9 /* SearchResultController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 089952652D046CCD0022AEF9 /* SearchResultController.swift */; }; - 089952682D046CD80022AEF9 /* SearchResultReactor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 089952672D046CD80022AEF9 /* SearchResultReactor.swift */; }; - 0899526A2D046CDE0022AEF9 /* SearchResultView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 089952692D046CDE0022AEF9 /* SearchResultView.swift */; }; - 0899526C2D0473EC0022AEF9 /* GetSearchPopUpListResponseDTO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0899526B2D0473EC0022AEF9 /* GetSearchPopUpListResponseDTO.swift */; }; - 0899526E2D0474340022AEF9 /* GetSearchPopUpListResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0899526D2D0474340022AEF9 /* GetSearchPopUpListResponse.swift */; }; - 089952732D0475E90022AEF9 /* SearchResultCountSection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 089952722D0475E90022AEF9 /* SearchResultCountSection.swift */; }; - 089952752D0475F20022AEF9 /* SearchResultCountSectionCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 089952742D0475F20022AEF9 /* SearchResultCountSectionCell.swift */; }; - 089B4FD82D9A57AE00FC0CC3 /* ImageLoader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 089B4FD72D9A57AE00FC0CC3 /* ImageLoader.swift */; }; - 089B4FDF2D9A8F9A00FC0CC3 /* MemoryStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 089B4FDE2D9A8F9A00FC0CC3 /* MemoryStorage.swift */; }; - 08A2E46C2D15BC5000102313 /* CommentLikeRequestDTO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08A2E46B2D15BC5000102313 /* CommentLikeRequestDTO.swift */; }; - 08A2E4792D1B06A300102313 /* ImageDetailView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08A2E4782D1B06A300102313 /* ImageDetailView.swift */; }; - 08A2E47B2D1B06AA00102313 /* ImageDetailController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08A2E47A2D1B06AA00102313 /* ImageDetailController.swift */; }; - 08A2E47D2D1B06B000102313 /* ImageDetailReactor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08A2E47C2D1B06B000102313 /* ImageDetailReactor.swift */; }; - 08A2E4802D1BCDE300102313 /* CommentDetailView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08A2E47F2D1BCDE300102313 /* CommentDetailView.swift */; }; - 08A2E4822D1BCDEA00102313 /* CommentDetailController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08A2E4812D1BCDEA00102313 /* CommentDetailController.swift */; }; - 08A2E4842D1BCDEF00102313 /* CommentDetailReactor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08A2E4832D1BCDEF00102313 /* CommentDetailReactor.swift */; }; - 08A2E4862D1BD85C00102313 /* CommentDetailImageSection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08A2E4852D1BD85C00102313 /* CommentDetailImageSection.swift */; }; - 08A2E48A2D1BDA8400102313 /* CommentDetailContentSection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08A2E4892D1BDA8400102313 /* CommentDetailContentSection.swift */; }; - 08A2E48C2D1BDA8A00102313 /* CommentDetailContentSectionCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08A2E48B2D1BDA8A00102313 /* CommentDetailContentSectionCell.swift */; }; - 08A2E48F2D1BF6E500102313 /* CommentListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08A2E48E2D1BF6E500102313 /* CommentListView.swift */; }; - 08A2E4912D1BF6EA00102313 /* CommentListController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08A2E4902D1BF6EA00102313 /* CommentListController.swift */; }; - 08A2E4932D1BF6EF00102313 /* CommentListReactor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08A2E4922D1BF6EF00102313 /* CommentListReactor.swift */; }; - 08A2E4952D1C078300102313 /* GetPopUpCommentRequestDTO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08A2E4942D1C078300102313 /* GetPopUpCommentRequestDTO.swift */; }; - 08A2E4972D1C07F500102313 /* GetPopUpCommentResponseDTO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08A2E4962D1C07F500102313 /* GetPopUpCommentResponseDTO.swift */; }; - 08A2E4992D1C08D600102313 /* GetPopUpCommentResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08A2E4982D1C08D600102313 /* GetPopUpCommentResponse.swift */; }; - 08A2E49D2D1C416800102313 /* CommentListTitleSection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08A2E49C2D1C416800102313 /* CommentListTitleSection.swift */; }; - 08A2E49F2D1C417000102313 /* CommentListTitleSectionCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08A2E49E2D1C417000102313 /* CommentListTitleSectionCell.swift */; }; - 08B191372CF366680057BC04 /* UICollectionViewCell+.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08B191342CF366670057BC04 /* UICollectionViewCell+.swift */; }; - 08B191382CF366680057BC04 /* UICollectionReusableView+.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08B191352CF366670057BC04 /* UICollectionReusableView+.swift */; }; - 08B191392CF366680057BC04 /* UITableViewCell+.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08B191362CF366670057BC04 /* UITableViewCell+.swift */; }; - 08B1913B2CF366A00057BC04 /* UIApplication+.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08B1913A2CF366A00057BC04 /* UIApplication+.swift */; }; - 08B1913F2CF367FA0057BC04 /* UIColor+.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08B1913E2CF367FA0057BC04 /* UIColor+.swift */; }; - 08B191412CF367FF0057BC04 /* UIFont+.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08B191402CF367FF0057BC04 /* UIFont+.swift */; }; - 08B1914B2CF41D690057BC04 /* GothicA1-Bold.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 08B191422CF41D680057BC04 /* GothicA1-Bold.ttf */; }; - 08B1914C2CF41D690057BC04 /* GothicA1-Light.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 08B191432CF41D680057BC04 /* GothicA1-Light.ttf */; }; - 08B1914D2CF41D690057BC04 /* GothicA1-Medium.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 08B191442CF41D680057BC04 /* GothicA1-Medium.ttf */; }; - 08B1914E2CF41D690057BC04 /* GothicA1-Regular.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 08B191452CF41D680057BC04 /* GothicA1-Regular.ttf */; }; - 08B1914F2CF41D690057BC04 /* Poppins-Bold.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 08B191462CF41D680057BC04 /* Poppins-Bold.ttf */; }; - 08B191502CF41D690057BC04 /* Poppins-Light.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 08B191472CF41D680057BC04 /* Poppins-Light.ttf */; }; - 08B191512CF41D690057BC04 /* Poppins-Medium.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 08B191482CF41D680057BC04 /* Poppins-Medium.ttf */; }; - 08B191522CF41D690057BC04 /* Poppins-Regular.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 08B191492CF41D680057BC04 /* Poppins-Regular.ttf */; }; - 08B191552CF41D6F0057BC04 /* PP_loading.json in Resources */ = {isa = PBXBuildFile; fileRef = 08B191532CF41D6F0057BC04 /* PP_loading.json */; }; - 08B191562CF41D6F0057BC04 /* PP_splash.json in Resources */ = {isa = PBXBuildFile; fileRef = 08B191542CF41D6F0057BC04 /* PP_splash.json */; }; - 08B191592CF41E610057BC04 /* SignUpMainController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08B191582CF41E610057BC04 /* SignUpMainController.swift */; }; - 08B1915B2CF41E690057BC04 /* SignUpMainReactor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08B1915A2CF41E690057BC04 /* SignUpMainReactor.swift */; }; - 08B1915D2CF41E6F0057BC04 /* SignUpMainView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08B1915C2CF41E6F0057BC04 /* SignUpMainView.swift */; }; - 08B191612CF430E70057BC04 /* PPProgressView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08B191602CF430E70057BC04 /* PPProgressView.swift */; }; - 08B191632CF430F30057BC04 /* PPProgressIndicator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08B191622CF430F30057BC04 /* PPProgressIndicator.swift */; }; - 08B191672CF432220057BC04 /* PPCancelHeaderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08B191662CF432220057BC04 /* PPCancelHeaderView.swift */; }; - 08B1916A2CF434B80057BC04 /* SignUpStep1Controller.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08B191692CF434B80057BC04 /* SignUpStep1Controller.swift */; }; - 08B1916C2CF434C30057BC04 /* SignUpStep1View.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08B1916B2CF434C30057BC04 /* SignUpStep1View.swift */; }; - 08B1916E2CF434CF0057BC04 /* SignUpStep1Reactor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08B1916D2CF434CF0057BC04 /* SignUpStep1Reactor.swift */; }; - 08B191712CF4398D0057BC04 /* PPLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08B191702CF4398D0057BC04 /* PPLabel.swift */; }; - 08B191742CF43DF40057BC04 /* SignUpCheckBoxButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08B191732CF43DF40057BC04 /* SignUpCheckBoxButton.swift */; }; - 08B191762CF440C40057BC04 /* PPButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08B191752CF440C40057BC04 /* PPButton.swift */; }; - 08B191782CF442230057BC04 /* UIImage+.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08B191772CF442230057BC04 /* UIImage+.swift */; }; - 08B1917A2CF452B30057BC04 /* SignUpTermsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08B191792CF452B30057BC04 /* SignUpTermsView.swift */; }; - 08B1917D2CF46DE30057BC04 /* TermsDetailController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08B1917C2CF46DE30057BC04 /* TermsDetailController.swift */; }; - 08B1917F2CF46DF20057BC04 /* TermsDetailView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08B1917E2CF46DF20057BC04 /* TermsDetailView.swift */; }; - 08B191822CF48A7B0057BC04 /* SignUpStep2Controller.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08B191812CF48A7B0057BC04 /* SignUpStep2Controller.swift */; }; - 08B191842CF48A820057BC04 /* SignUpStep2View.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08B191832CF48A820057BC04 /* SignUpStep2View.swift */; }; - 08B191862CF48A8B0057BC04 /* SignUpStep2Reactor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08B191852CF48A8B0057BC04 /* SignUpStep2Reactor.swift */; }; - 08B191882CF48FAE0057BC04 /* NickNameState.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08B191872CF48FAE0057BC04 /* NickNameState.swift */; }; - 08B1918D2CF49FF70057BC04 /* SignUpStep3View.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08B1918C2CF49FF70057BC04 /* SignUpStep3View.swift */; }; - 08B1918F2CF4A0020057BC04 /* SignUpStep3Controller.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08B1918E2CF4A0020057BC04 /* SignUpStep3Controller.swift */; }; - 08B191912CF4A00E0057BC04 /* SignUpStep3Reactor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08B191902CF4A00E0057BC04 /* SignUpStep3Reactor.swift */; }; - 08B191942CF4A0F00057BC04 /* SignUpStep4View.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08B191932CF4A0F00057BC04 /* SignUpStep4View.swift */; }; - 08B191962CF4A0FA0057BC04 /* SignUpStep4Controller.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08B191952CF4A0FA0057BC04 /* SignUpStep4Controller.swift */; }; - 08B191982CF4A1010057BC04 /* SignUpStep4Reactor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08B191972CF4A1010057BC04 /* SignUpStep4Reactor.swift */; }; - 08B1919C2CF4A77C0057BC04 /* TagSection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08B1919B2CF4A77C0057BC04 /* TagSection.swift */; }; - 08B1919E2CF4A7830057BC04 /* TagSectionCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08B1919D2CF4A7830057BC04 /* TagSectionCell.swift */; }; - 08B191A02CF4AA0E0057BC04 /* Reactive+.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08B1919F2CF4AA0E0057BC04 /* Reactive+.swift */; }; - 08B191A22CF4AE890057BC04 /* ToastMaker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08B191A12CF4AE890057BC04 /* ToastMaker.swift */; }; - 08B191A42CF5A7030057BC04 /* PPSegmentedControl.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08B191A32CF5A7030057BC04 /* PPSegmentedControl.swift */; }; - 08B191A72CF5A9430057BC04 /* AgeSelectedButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08B191A62CF5A9430057BC04 /* AgeSelectedButton.swift */; }; - 08B191AC2CF5BF9D0057BC04 /* AgeSelectedController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08B191AB2CF5BF9D0057BC04 /* AgeSelectedController.swift */; }; - 08B191AE2CF5BFA60057BC04 /* AgeSelectedView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08B191AD2CF5BFA60057BC04 /* AgeSelectedView.swift */; }; - 08B191B02CF5BFAE0057BC04 /* AgeSelectedReactor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08B191AF2CF5BFAE0057BC04 /* AgeSelectedReactor.swift */; }; - 08B191B22CF5C0A60057BC04 /* PPPicker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08B191B12CF5C0A60057BC04 /* PPPicker.swift */; }; - 08B191B42CF609260057BC04 /* KakaoLoginService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08B191B32CF609260057BC04 /* KakaoLoginService.swift */; }; - 08B191B62CF6092B0057BC04 /* AppleLoginService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08B191B52CF6092B0057BC04 /* AppleLoginService.swift */; }; - 08B191B82CF6092F0057BC04 /* AuthServiceable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08B191B72CF6092F0057BC04 /* AuthServiceable.swift */; }; - 08B191C22CF615CA0057BC04 /* KeyPath.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08B191C12CF615CA0057BC04 /* KeyPath.swift */; }; - 08CBEA032D38989E00248007 /* PostTokenReissueResponseDTO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08CBEA022D38989E00248007 /* PostTokenReissueResponseDTO.swift */; }; - 08CBEA062D38991600248007 /* PostTokenReissueResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08CBEA052D38991600248007 /* PostTokenReissueResponse.swift */; }; - 08CBEA0B2D38DBD600248007 /* LastLoginView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08CBEA0A2D38DBD600248007 /* LastLoginView.swift */; }; - 08CBEA0D2D38ED0D00248007 /* CountButtonView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08CBEA0C2D38ED0D00248007 /* CountButtonView.swift */; }; - 08CBEA3A2D3FABE100248007 /* ToastView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08CBEA392D3FABE100248007 /* ToastView.swift */; }; - 08CBEA3C2D3FABED00248007 /* BookMarkToastView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08CBEA3B2D3FABED00248007 /* BookMarkToastView.swift */; }; - 08CBEA3E2D3FF6A100248007 /* PopUpCardView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08CBEA3D2D3FF6A100248007 /* PopUpCardView.swift */; }; - 08CFD3922D9BDE99004CDD50 /* DiskStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08CFD3912D9BDE99004CDD50 /* DiskStorage.swift */; }; - 08DC61F32CF75037002A2F44 /* KeyChainService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08DC61F22CF75037002A2F44 /* KeyChainService.swift */; }; - 08DC61F52CF765B5002A2F44 /* UserDefaultService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08DC61F42CF765B5002A2F44 /* UserDefaultService.swift */; }; - 08DC61F82CF76843002A2F44 /* SignUpCompleteView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08DC61F72CF76843002A2F44 /* SignUpCompleteView.swift */; }; - 08DC61FA2CF7684F002A2F44 /* SignUpCompleteController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08DC61F92CF7684F002A2F44 /* SignUpCompleteController.swift */; }; - 08DC61FC2CF76862002A2F44 /* SignUpCompleteReactor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08DC61FB2CF76862002A2F44 /* SignUpCompleteReactor.swift */; }; - 08DC62032CF8AC06002A2F44 /* HomeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08DC62022CF8AC06002A2F44 /* HomeView.swift */; }; - 08DC62052CF8AC0E002A2F44 /* HomeController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08DC62042CF8AC0E002A2F44 /* HomeController.swift */; }; - 08DC62072CF8AC14002A2F44 /* HomeReactor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08DC62062CF8AC14002A2F44 /* HomeReactor.swift */; }; - 08DC620B2CF8AE0F002A2F44 /* ImageBannerSection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08DC620A2CF8AE0F002A2F44 /* ImageBannerSection.swift */; }; - 08DC620D2CF8AE16002A2F44 /* ImageBannerSectionCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08DC620C2CF8AE16002A2F44 /* ImageBannerSectionCell.swift */; }; - 08DC62112CF8B446002A2F44 /* SortedRequestDTO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08DC62102CF8B446002A2F44 /* SortedRequestDTO.swift */; }; - 08DE8A0D2D5236840049BCAC /* PutCommentRequestDTO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08DE8A0C2D5236840049BCAC /* PutCommentRequestDTO.swift */; }; - 08DE8A102D5255110049BCAC /* DetailEmptyCommetSection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08DE8A0F2D5255110049BCAC /* DetailEmptyCommetSection.swift */; }; - 08DE8A122D5255180049BCAC /* DetailEmptyCommetSectionCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08DE8A112D5255180049BCAC /* DetailEmptyCommetSectionCell.swift */; }; - 08DE8A182D525BA20049BCAC /* Terms.plist in Resources */ = {isa = PBXBuildFile; fileRef = 08DE8A172D525BA20049BCAC /* Terms.plist */; }; - 08DE8A1B2D5261DE0049BCAC /* MyPageTermsController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08DE8A1A2D5261DE0049BCAC /* MyPageTermsController.swift */; }; - 08DE8A1D2D5261E70049BCAC /* MyPageTermsReactor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08DE8A1C2D5261E70049BCAC /* MyPageTermsReactor.swift */; }; - 08DE8A3F2D54DCC40049BCAC /* MyCommentedPopUpGridSection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08DE8A3E2D54DCC40049BCAC /* MyCommentedPopUpGridSection.swift */; }; - 08DE8A412D54DCCA0049BCAC /* MyCommentedPopUpGridSectionCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08DE8A402D54DCCA0049BCAC /* MyCommentedPopUpGridSectionCell.swift */; }; 4E15142A2D99480200DFD08F /* NMapsMap in Frameworks */ = {isa = PBXBuildFile; productRef = 4E1514292D99480200DFD08F /* NMapsMap */; }; 4E15142C2D994A3A00DFD08F /* KakaoSDK in Frameworks */ = {isa = PBXBuildFile; productRef = 4E15142B2D994A3A00DFD08F /* KakaoSDK */; }; 4E15142E2D994A3A00DFD08F /* KakaoSDKAuth in Frameworks */ = {isa = PBXBuildFile; productRef = 4E15142D2D994A3A00DFD08F /* KakaoSDKAuth */; }; 4E1514302D994A3A00DFD08F /* KakaoSDKCommon in Frameworks */ = {isa = PBXBuildFile; productRef = 4E15142F2D994A3A00DFD08F /* KakaoSDKCommon */; }; 4E5825672D1951DF00EE83EF /* FloatingPanel in Frameworks */ = {isa = PBXBuildFile; productRef = 4E5825662D1951DF00EE83EF /* FloatingPanel */; }; - 4E643FC12D738D7F0046AF29 /* PopUpStoreRegisterReactor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E643FC02D738D7F0046AF29 /* PopUpStoreRegisterReactor.swift */; }; - 4E643FC32D738D930046AF29 /* PopUpStoreRegisterView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E643FC22D738D930046AF29 /* PopUpStoreRegisterView.swift */; }; - 4E685ECE2D12CEB6001EF91C /* BalloonBackgroundView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E685EAA2D12CEB6001EF91C /* BalloonBackgroundView.swift */; }; - 4E685ECF2D12CEB6001EF91C /* BalloonChipCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E685EAB2D12CEB6001EF91C /* BalloonChipCell.swift */; }; - 4E685ED12D12CEB6001EF91C /* FilterBottomSheetReactor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E685EAD2D12CEB6001EF91C /* FilterBottomSheetReactor.swift */; }; - 4E685ED22D12CEB6001EF91C /* FilterBottomSheetView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E685EAE2D12CEB6001EF91C /* FilterBottomSheetView.swift */; }; - 4E685ED32D12CEB6001EF91C /* FilterBottomSheetViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E685EAF2D12CEB6001EF91C /* FilterBottomSheetViewController.swift */; }; - 4E685ED42D12CEB6001EF91C /* FilterCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E685EB02D12CEB6001EF91C /* FilterCell.swift */; }; - 4E685ED52D12CEB6001EF91C /* FilterChip.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E685EB12D12CEB6001EF91C /* FilterChip.swift */; }; - 4E685ED62D12CEB6001EF91C /* FilterChipsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E685EB22D12CEB6001EF91C /* FilterChipsView.swift */; }; - 4E685ED92D12CEB6001EF91C /* MapRepository.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E685EB62D12CEB6001EF91C /* MapRepository.swift */; }; - 4E685EDA2D12CEB6001EF91C /* MapUseCase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E685EB82D12CEB6001EF91C /* MapUseCase.swift */; }; - 4E685EDB2D12CEB6001EF91C /* MapAPIEndpoint.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E685EBA2D12CEB6001EF91C /* MapAPIEndpoint.swift */; }; - 4E685EDD2D12CEB6001EF91C /* MapPopUpStoreDTO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E685EBC2D12CEB6001EF91C /* MapPopUpStoreDTO.swift */; }; - 4E685EDE2D12CEB6001EF91C /* MapPopupCarouselView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E685EBE2D12CEB6001EF91C /* MapPopupCarouselView.swift */; }; - 4E685EDF2D12CEB6001EF91C /* PopupCardCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E685EBF2D12CEB6001EF91C /* PopupCardCell.swift */; }; - 4E685EE02D12CEB6001EF91C /* StoreListCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E685EC12D12CEB6001EF91C /* StoreListCell.swift */; }; - 4E685EE12D12CEB6001EF91C /* StoreListReactor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E685EC22D12CEB6001EF91C /* StoreListReactor.swift */; }; - 4E685EE22D12CEB6001EF91C /* StoreListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E685EC32D12CEB6001EF91C /* StoreListView.swift */; }; - 4E685EE32D12CEB6001EF91C /* StoreListViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E685EC42D12CEB6001EF91C /* StoreListViewController.swift */; }; - 4E685EE42D12CEB6001EF91C /* MapFilterChips.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E685EC62D12CEB6001EF91C /* MapFilterChips.swift */; }; - 4E685EE52D12CEB6001EF91C /* MapMarker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E685EC72D12CEB6001EF91C /* MapMarker.swift */; }; - 4E685EE62D12CEB6001EF91C /* MapReactor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E685EC82D12CEB6001EF91C /* MapReactor.swift */; }; - 4E685EE72D12CEB6001EF91C /* MapSearchInput.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E685EC92D12CEB6001EF91C /* MapSearchInput.swift */; }; - 4E685EE92D12CEB6001EF91C /* MapView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E685ECB2D12CEB6001EF91C /* MapView.swift */; }; - 4E685EEA2D12CEB6001EF91C /* MapViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E685ECC2D12CEB6001EF91C /* MapViewController.swift */; }; - 4E6A06702D42A96100B2A658 /* FullScreenMapViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E6A066F2D42A96100B2A658 /* FullScreenMapViewController.swift */; }; - 4E6C07062D4B6E56008A962A /* RegionDefinitions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E6C07052D4B6E56008A962A /* RegionDefinitions.swift */; }; - 4E6C07082D4B6E74008A962A /* ClusteringModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E6C07072D4B6E74008A962A /* ClusteringModels.swift */; }; - 4E6C070A2D4B6E81008A962A /* ClusteringManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E6C07092D4B6E81008A962A /* ClusteringManager.swift */; }; - 4E6CA4852D34D6ED0034D09A /* AdminBottomSheetReactor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E6CA4842D34D6ED0034D09A /* AdminBottomSheetReactor.swift */; }; - 4E755B1D2D2B9AD300ADFB21 /* GetAdminPopUpStoreListResponseDTO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E755B1C2D2B9AD300ADFB21 /* GetAdminPopUpStoreListResponseDTO.swift */; }; - 4E755B1F2D2B9AE500ADFB21 /* AdminAPIEndpoint.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E755B1E2D2B9AE500ADFB21 /* AdminAPIEndpoint.swift */; }; - 4E755B212D2B9BAB00ADFB21 /* AdminResponseDTO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E755B202D2B9BAB00ADFB21 /* AdminResponseDTO.swift */; }; - 4E755B232D2B9C5D00ADFB21 /* AdminViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E755B222D2B9C5D00ADFB21 /* AdminViewController.swift */; }; - 4E755B252D2B9C6C00ADFB21 /* AdminView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E755B242D2B9C6C00ADFB21 /* AdminView.swift */; }; - 4E755B292D2BA65A00ADFB21 /* AdminReactor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E755B282D2BA65A00ADFB21 /* AdminReactor.swift */; }; - 4E755B2B2D2BA76E00ADFB21 /* AdminUseCase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E755B2A2D2BA76E00ADFB21 /* AdminUseCase.swift */; }; - 4E7823A82D2E84E800AC5110 /* AdminRepository.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E755B2E2D2BA7FB00ADFB21 /* AdminRepository.swift */; }; - 4E7823A92D2E84FB00AC5110 /* AdminStoreCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E755B262D2B9C7C00ADFB21 /* AdminStoreCell.swift */; }; - 4E78706E2D37CB1900465FC9 /* ProfileEditListButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 081898BF2D2FBD130067BF01 /* ProfileEditListButton.swift */; }; - 4E78706F2D37CB2200465FC9 /* PopUpStoreRegisterViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E9C12802D2BE0A6006744D6 /* PopUpStoreRegisterViewController.swift */; }; - 4E8AA29D2D59A2340029DF75 /* MarkerTooltipView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E8AA29C2D59A2340029DF75 /* MarkerTooltipView.swift */; }; - 4E9790C52D40E13500210499 /* MapGuideViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E9790C42D40E13500210499 /* MapGuideViewController.swift */; }; - 4E9A46602D55D1270010578A /* MapUtilities.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E9A465F2D55D1270010578A /* MapUtilities.swift */; }; - 4E9C12782D2BC7A0006744D6 /* AdminBottomSheetView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E9C12772D2BC7A0006744D6 /* AdminBottomSheetView.swift */; }; - 4E9C127A2D2BC811006744D6 /* AdminBottomSheetViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E9C12792D2BC811006744D6 /* AdminBottomSheetViewController.swift */; }; - 4EA2C93D2D424D3300F4D97C /* MapDirectionRepository.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4EA2C93C2D424D3300F4D97C /* MapDirectionRepository.swift */; }; - 4EA2C93F2D424D7400F4D97C /* MapDirectionUseCase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4EA2C93E2D424D7400F4D97C /* MapDirectionUseCase.swift */; }; - 4EA2C9412D424D8400F4D97C /* GetPopUpDirectionResponseDTO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4EA2C9402D424D8400F4D97C /* GetPopUpDirectionResponseDTO.swift */; }; - 4EA2C9432D424DF900F4D97C /* FindDirectionEndPoint.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4EA2C9422D424DF900F4D97C /* FindDirectionEndPoint.swift */; }; - 4EA9989A2D21C2FC009DC30B /* StoreListSection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4EA998992D21C2FC009DC30B /* StoreListSection.swift */; }; 4EA9989D2D21C404009DC30B /* RxDataSources in Frameworks */ = {isa = PBXBuildFile; productRef = 4EA9989C2D21C404009DC30B /* RxDataSources */; }; - 4EAB809D2D3F78AA0041AF30 /* NMFMapViewDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4EAB809C2D3F78AA0041AF30 /* NMFMapViewDelegateProxy.swift */; }; - 4EAB809F2D3F8EF50041AF30 /* ViewportBounds.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4EAB809E2D3F8EF50041AF30 /* ViewportBounds.swift */; }; - 4EDDEFB42D2D285900CFAFA5 /* DateTimePickerManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4EDDEFB32D2D285900CFAFA5 /* DateTimePickerManager.swift */; }; - 4EDE57032D5E70650014D924 /* LocationPermissionBottomSheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4EDE57022D5E70650014D924 /* LocationPermissionBottomSheet.swift */; }; 4EE360FD2D91876300D2441D /* NMapsMap in Frameworks */ = {isa = PBXBuildFile; productRef = 4EE360FC2D91876300D2441D /* NMapsMap */; }; - 4EE5A3D32D40E4A600A2469A /* MapGuideReactor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4EE5A3D22D40E4A600A2469A /* MapGuideReactor.swift */; }; - 4EEA13072DA7CDDA00775256 /* PopUpImagesCollectionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4EEA13062DA7CDDA00775256 /* PopUpImagesCollectionView.swift */; }; - 4EEA1D8F2D352012003E7DE9 /* ImageCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4EEA1D8E2D352012003E7DE9 /* ImageCell.swift */; }; - 4EEA1D912D352027003E7DE9 /* ExtendedImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4EEA1D902D352027003E7DE9 /* ExtendedImage.swift */; }; - 4EECA3942D56770B00A07CCA /* MapPopUpStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E685EBB2D12CEB6001EF91C /* MapPopUpStore.swift */; }; - 4EED9BAC2D22730400B288E7 /* FilterType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4EED9BAB2D22730400B288E7 /* FilterType.swift */; }; - BD226D512CF6DB290038C984 /* PPReturnHeaderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD226D502CF6DB290038C984 /* PPReturnHeaderView.swift */; }; - BD9103612CF6149D00BBCCAE /* AuthAPIEndPoint.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD91034E2CF6149D00BBCCAE /* AuthAPIEndPoint.swift */; }; - BD9103622CF6149D00BBCCAE /* LoginResponseDTO.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD91034F2CF6149D00BBCCAE /* LoginResponseDTO.swift */; }; - BD9103632CF6149D00BBCCAE /* BannerPopUpStoreDTO.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD9103512CF6149D00BBCCAE /* BannerPopUpStoreDTO.swift */; }; - BD9103642CF6149D00BBCCAE /* GetHomeInfoResponseDTO.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD9103522CF6149D00BBCCAE /* GetHomeInfoResponseDTO.swift */; }; - BD9103652CF6149D00BBCCAE /* HomeAPIEndpoint.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD9103532CF6149D00BBCCAE /* HomeAPIEndpoint.swift */; }; - BD9103662CF6149D00BBCCAE /* PopUpStoreResponseDTO.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD9103542CF6149D00BBCCAE /* PopUpStoreResponseDTO.swift */; }; - BD9103682CF6149D00BBCCAE /* AuthAPIRepositoryImpl.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD9103572CF6149D00BBCCAE /* AuthAPIRepositoryImpl.swift */; }; - BD9103692CF6149D00BBCCAE /* HomeAPIRepository.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD9103582CF6149D00BBCCAE /* HomeAPIRepository.swift */; }; - BD91036A2CF6149D00BBCCAE /* SignUpRepositoryImpl.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD9103592CF6149D00BBCCAE /* SignUpRepositoryImpl.swift */; }; - BD91036B2CF6149D00BBCCAE /* CheckNickNameRequestDTO.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD91035B2CF6149D00BBCCAE /* CheckNickNameRequestDTO.swift */; }; - BD91036C2CF6149D00BBCCAE /* GetCategoryListResponseDTO.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD91035C2CF6149D00BBCCAE /* GetCategoryListResponseDTO.swift */; }; - BD91036D2CF6149D00BBCCAE /* SignUpAPIEndpoint.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD91035D2CF6149D00BBCCAE /* SignUpAPIEndpoint.swift */; }; - BD91036E2CF6149D00BBCCAE /* SignUpRequestDTO.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD91035E2CF6149D00BBCCAE /* SignUpRequestDTO.swift */; }; - BD9103812CF614A900BBCCAE /* HomeAPIUseCaseImpl.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD9103702CF614A900BBCCAE /* HomeAPIUseCaseImpl.swift */; }; - BD9103832CF614A900BBCCAE /* SignUpAPIUseCaseImpl.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD9103722CF614A900BBCCAE /* SignUpAPIUseCaseImpl.swift */; }; - BD9103852CF614A900BBCCAE /* AuthAPIUseCaseImpl.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD9103742CF614A900BBCCAE /* AuthAPIUseCaseImpl.swift */; }; - BD9103862CF614A900BBCCAE /* BannerPopUpStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD9103762CF614A900BBCCAE /* BannerPopUpStore.swift */; }; - BD9103872CF614A900BBCCAE /* Category.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD9103772CF614A900BBCCAE /* Category.swift */; }; - BD9103882CF614A900BBCCAE /* GetHomeInfoResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD9103782CF614A900BBCCAE /* GetHomeInfoResponse.swift */; }; - BD9103892CF614A900BBCCAE /* PopUpStoreResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD9103792CF614A900BBCCAE /* PopUpStoreResponse.swift */; }; - BD91038A2CF614A900BBCCAE /* LoginResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD91037A2CF614A900BBCCAE /* LoginResponse.swift */; }; - BD91038B2CF614A900BBCCAE /* AuthRepository.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD91037C2CF614A900BBCCAE /* AuthRepository.swift */; }; - BD9103922CF6166800BBCCAE /* SplashView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD91038E2CF6166800BBCCAE /* SplashView.swift */; }; - BD9103932CF6166800BBCCAE /* SplashController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD9103902CF6166800BBCCAE /* SplashController.swift */; }; - BDCA41C12CF35AC0005EECF6 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDCA41C02CF35AC0005EECF6 /* AppDelegate.swift */; }; - BDCA41C32CF35AC0005EECF6 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDCA41C22CF35AC0005EECF6 /* SceneDelegate.swift */; }; - BDCA41CA2CF35AC1005EECF6 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = BDCA41C92CF35AC1005EECF6 /* Assets.xcassets */; }; - BDCA41CD2CF35AC1005EECF6 /* Base in Resources */ = {isa = PBXBuildFile; fileRef = BDCA41CC2CF35AC1005EECF6 /* Base */; }; BDCA41F22CF35D0D005EECF6 /* SnapKit in Frameworks */ = {isa = PBXBuildFile; productRef = BDCA41F12CF35D0D005EECF6 /* SnapKit */; }; BDCA41F82CF35D9A005EECF6 /* RxSwift in Frameworks */ = {isa = PBXBuildFile; productRef = BDCA41F72CF35D9A005EECF6 /* RxSwift */; }; BDCA41FE2CF35EE7005EECF6 /* ReactorKit in Frameworks */ = {isa = PBXBuildFile; productRef = BDCA41FD2CF35EE7005EECF6 /* ReactorKit */; }; @@ -476,2448 +30,70 @@ /* Begin PBXFileReference section */ 05229DD02D99519200D88E73 /* .swiftlint.yml */ = {isa = PBXFileReference; lastKnownFileType = text.yaml; path = .swiftlint.yml; sourceTree = ""; }; - 057151572D9D2E0800260615 /* Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = ""; }; - 0818988D2D295DC30067BF01 /* MyPageLogoutSection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MyPageLogoutSection.swift; sourceTree = ""; }; - 0818988F2D295DC80067BF01 /* MyPageLogoutSectionCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MyPageLogoutSectionCell.swift; sourceTree = ""; }; - 081898932D2965C20067BF01 /* ProfileEditController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProfileEditController.swift; sourceTree = ""; }; - 081898952D2965C90067BF01 /* ProfileEditView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProfileEditView.swift; sourceTree = ""; }; - 081898972D2965D20067BF01 /* ProfileEditReactor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProfileEditReactor.swift; sourceTree = ""; }; - 0818989B2D2BAA570067BF01 /* WithdrawlCheckModalView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WithdrawlCheckModalView.swift; sourceTree = ""; }; - 0818989D2D2BAA610067BF01 /* WithdrawlCheckModalController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WithdrawlCheckModalController.swift; sourceTree = ""; }; - 0818989F2D2BAA670067BF01 /* WithdrawlCheckModalReactor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WithdrawlCheckModalReactor.swift; sourceTree = ""; }; - 081898A22D2CC0110067BF01 /* WithdrawlReasonView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WithdrawlReasonView.swift; sourceTree = ""; }; - 081898A42D2CC0180067BF01 /* WithdrawlReasonController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WithdrawlReasonController.swift; sourceTree = ""; }; - 081898A62D2CC01D0067BF01 /* WithdrawlReasonReactor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WithdrawlReasonReactor.swift; sourceTree = ""; }; - 081898A92D2CEA2F0067BF01 /* WithdrawlCheckSectionCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WithdrawlCheckSectionCell.swift; sourceTree = ""; }; - 081898AB2D2CEA940067BF01 /* WithdrawlCheckSection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WithdrawlCheckSection.swift; sourceTree = ""; }; - 081898AD2D2CFC230067BF01 /* GetWithdrawlListResponseDTO.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GetWithdrawlListResponseDTO.swift; sourceTree = ""; }; - 081898AF2D2CFCA40067BF01 /* GetWithdrawlListResponse.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GetWithdrawlListResponse.swift; sourceTree = ""; }; - 081898B22D2D20D70067BF01 /* WithdrawlCompleteView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WithdrawlCompleteView.swift; sourceTree = ""; }; - 081898B42D2D20E30067BF01 /* WithdrawlCompleteController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WithdrawlCompleteController.swift; sourceTree = ""; }; - 081898B62D2D23A90067BF01 /* UINavigationController+.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UINavigationController+.swift"; sourceTree = ""; }; - 081898B92D2E5F4C0067BF01 /* MyCommentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MyCommentView.swift; sourceTree = ""; }; - 081898BB2D2E5F510067BF01 /* MyCommentReactor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MyCommentReactor.swift; sourceTree = ""; }; - 081898BD2D2E5F590067BF01 /* MyCommentController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MyCommentController.swift; sourceTree = ""; }; - 081898BF2D2FBD130067BF01 /* ProfileEditListButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProfileEditListButton.swift; sourceTree = ""; }; - 081898C22D30AE2C0067BF01 /* GetMyProfileResponseDTO.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GetMyProfileResponseDTO.swift; sourceTree = ""; }; - 081898C42D30AEF40067BF01 /* GetMyProfileResponse.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GetMyProfileResponse.swift; sourceTree = ""; }; - 081898C92D30D5BA0067BF01 /* InfoEditModalView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InfoEditModalView.swift; sourceTree = ""; }; - 081898CB2D30D5BF0067BF01 /* InfoEditModalController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InfoEditModalController.swift; sourceTree = ""; }; - 081898CD2D30D5C60067BF01 /* InfoEditModalReactor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InfoEditModalReactor.swift; sourceTree = ""; }; - 081898CF2D30EA900067BF01 /* PutUserTailoredInfoRequestDTO.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PutUserTailoredInfoRequestDTO.swift; sourceTree = ""; }; - 081898D12D30F57D0067BF01 /* CategoryEditModalView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CategoryEditModalView.swift; sourceTree = ""; }; - 081898D32D30F5840067BF01 /* CategoryEditModalController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CategoryEditModalController.swift; sourceTree = ""; }; - 081898D52D30F58A0067BF01 /* CategoryEditModalReactor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CategoryEditModalReactor.swift; sourceTree = ""; }; - 081898D72D310C160067BF01 /* PutUserCategoryRequestDTO.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PutUserCategoryRequestDTO.swift; sourceTree = ""; }; - 081898D92D32559B0067BF01 /* PutUserProfileRequestDTO.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PutUserProfileRequestDTO.swift; sourceTree = ""; }; - 081898DB2D326DC10067BF01 /* IntroState.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IntroState.swift; sourceTree = ""; }; - 081898DF2D338F9C0067BF01 /* ListCountButtonSection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ListCountButtonSection.swift; sourceTree = ""; }; - 081898E12D338FA40067BF01 /* ListCountButtonSectionCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ListCountButtonSectionCell.swift; sourceTree = ""; }; - 081898E32D3391550067BF01 /* GetMyCommentedPopUpResponseDTO.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GetMyCommentedPopUpResponseDTO.swift; sourceTree = ""; }; - 081898E52D3391CB0067BF01 /* GetMyCommentResponse.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GetMyCommentResponse.swift; sourceTree = ""; }; - 081898E72D3392480067BF01 /* GetMyCommentRequestDTO.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GetMyCommentRequestDTO.swift; sourceTree = ""; }; - 081898EB2D33A3960067BF01 /* MyCommentSortedModalView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MyCommentSortedModalView.swift; sourceTree = ""; }; - 081898ED2D33A39D0067BF01 /* MyCommentSortedModalController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MyCommentSortedModalController.swift; sourceTree = ""; }; - 081898EF2D33A3A30067BF01 /* MyCommentSortedModalReactor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MyCommentSortedModalReactor.swift; sourceTree = ""; }; - 081898F22D33D6AC0067BF01 /* BlockUserManageView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BlockUserManageView.swift; sourceTree = ""; }; - 081898F42D33D6B10067BF01 /* BlockUserManageController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BlockUserManageController.swift; sourceTree = ""; }; - 081898F62D33D6B70067BF01 /* BlockUserManageReactor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BlockUserManageReactor.swift; sourceTree = ""; }; - 081898FA2D33D9320067BF01 /* GetBlockUserListResponseDTO.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GetBlockUserListResponseDTO.swift; sourceTree = ""; }; - 081898FC2D33D9ED0067BF01 /* GetBlockUserListResponse.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GetBlockUserListResponse.swift; sourceTree = ""; }; - 081898FE2D33DA440067BF01 /* GetBlockUserListRequestDTO.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GetBlockUserListRequestDTO.swift; sourceTree = ""; }; - 081899012D3407F50067BF01 /* BlockUserListSection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BlockUserListSection.swift; sourceTree = ""; }; - 081899042D34080B0067BF01 /* BlockUserListSectionCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BlockUserListSectionCell.swift; sourceTree = ""; }; - 081899072D34B35A0067BF01 /* MyPageNoticeView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MyPageNoticeView.swift; sourceTree = ""; }; - 081899092D34B3620067BF01 /* MyPageNoticeController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MyPageNoticeController.swift; sourceTree = ""; }; - 0818990B2D34B3670067BF01 /* MyPageNoticeReactor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MyPageNoticeReactor.swift; sourceTree = ""; }; - 0818990D2D34B68C0067BF01 /* GetNoticeListResponseDTO.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GetNoticeListResponseDTO.swift; sourceTree = ""; }; - 0818990F2D34B7240067BF01 /* GetNoticeListResponse.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GetNoticeListResponse.swift; sourceTree = ""; }; - 081899112D34CA9E0067BF01 /* GetNoticeDetailResponseDTO.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GetNoticeDetailResponseDTO.swift; sourceTree = ""; }; - 081899132D34CAEA0067BF01 /* GetNoticeDetailResponse.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GetNoticeDetailResponse.swift; sourceTree = ""; }; - 081899172D34D63E0067BF01 /* NoticeListSection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NoticeListSection.swift; sourceTree = ""; }; - 081899192D34D6430067BF01 /* NoticeListSectionCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NoticeListSectionCell.swift; sourceTree = ""; }; - 0818991D2D34DF7D0067BF01 /* MyPageNoticeDetailView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MyPageNoticeDetailView.swift; sourceTree = ""; }; - 0818991F2D34DF880067BF01 /* MyPageNoticeDetailController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MyPageNoticeDetailController.swift; sourceTree = ""; }; - 081899212D34DF8E0067BF01 /* MyPageNoticeDetailReactor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MyPageNoticeDetailReactor.swift; sourceTree = ""; }; - 081899242D3500B80067BF01 /* FAQView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FAQView.swift; sourceTree = ""; }; - 081899262D3500BF0067BF01 /* FAQController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FAQController.swift; sourceTree = ""; }; - 081899282D3500C50067BF01 /* FAQReactor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FAQReactor.swift; sourceTree = ""; }; - 0818992C2D3506240067BF01 /* FAQDropdownSectionCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FAQDropdownSectionCell.swift; sourceTree = ""; }; - 0818992E2D3506290067BF01 /* FAQDropdownSection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FAQDropdownSection.swift; sourceTree = ""; }; - 081899322D35F1090067BF01 /* MyPageBookmarkView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MyPageBookmarkView.swift; sourceTree = ""; }; - 081899342D35F10F0067BF01 /* MyPageBookmarkController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MyPageBookmarkController.swift; sourceTree = ""; }; - 081899362D35F1140067BF01 /* MyPageBookmarkReactor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MyPageBookmarkReactor.swift; sourceTree = ""; }; - 081899382D35F11F0067BF01 /* MyPageRecentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MyPageRecentView.swift; sourceTree = ""; }; - 0818993A2D35F1250067BF01 /* MyPageRecentController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MyPageRecentController.swift; sourceTree = ""; }; - 0818993C2D35F12A0067BF01 /* MyPageRecentReactor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MyPageRecentReactor.swift; sourceTree = ""; }; - 0818993E2D35FBE00067BF01 /* GetRecentPopUpResponseDTO.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GetRecentPopUpResponseDTO.swift; sourceTree = ""; }; - 081899402D35FDA10067BF01 /* GetRecentPopUpResponse.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GetRecentPopUpResponse.swift; sourceTree = ""; }; - 081899442D35FEA10067BF01 /* RecentPopUpSection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RecentPopUpSection.swift; sourceTree = ""; }; - 081899492D36322B0067BF01 /* PopUpCardSection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PopUpCardSection.swift; sourceTree = ""; }; - 0818994B2D3632320067BF01 /* PopUpCardSectionCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PopUpCardSectionCell.swift; sourceTree = ""; }; - 0818994F2D363E5C0067BF01 /* BookMarkPopUpViewTypeModalView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BookMarkPopUpViewTypeModalView.swift; sourceTree = ""; }; - 081899512D363E640067BF01 /* BookMarkPopUpViewTypeModalController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BookMarkPopUpViewTypeModalController.swift; sourceTree = ""; }; - 081899532D363E6A0067BF01 /* BookMarkPopUpViewTypeModalReactor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BookMarkPopUpViewTypeModalReactor.swift; sourceTree = ""; }; - 082197A62D4E3EE00054094A /* CommentMyMenuView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CommentMyMenuView.swift; sourceTree = ""; }; - 082197A82D4E3EE90054094A /* CommentMyMenuController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CommentMyMenuController.swift; sourceTree = ""; }; - 082197AA2D4E3EEF0054094A /* CommentMyMenuReactor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CommentMyMenuReactor.swift; sourceTree = ""; }; - 082197AC2D4E49370054094A /* DeleteCommentRequestDTO.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DeleteCommentRequestDTO.swift; sourceTree = ""; }; - 082197AF2D4E4E190054094A /* NormalCommentEditView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NormalCommentEditView.swift; sourceTree = ""; }; - 082197B12D4E4E200054094A /* NormalCommentEditController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NormalCommentEditController.swift; sourceTree = ""; }; - 082197B32D4E4E280054094A /* NormalCommentEditReactor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NormalCommentEditReactor.swift; sourceTree = ""; }; - 083A257F2CF361EF0099B58E /* BaseTabmanController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BaseTabmanController.swift; sourceTree = ""; }; - 083A25802CF361EF0099B58E /* BaseViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BaseViewController.swift; sourceTree = ""; }; - 083A25932CF362090099B58E /* Sectionable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Sectionable.swift; sourceTree = ""; }; - 083A25942CF362090099B58E /* SectionDecorationItem.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SectionDecorationItem.swift; sourceTree = ""; }; - 083A25952CF362090099B58E /* SectionSupplementaryItem.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SectionSupplementaryItem.swift; sourceTree = ""; }; - 083A25972CF362090099B58E /* InOutputable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = InOutputable.swift; sourceTree = ""; }; - 083A25A12CF362670099B58E /* NetworkError.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NetworkError.swift; sourceTree = ""; }; - 083A25A22CF362670099B58E /* Requestable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Requestable.swift; sourceTree = ""; }; - 083A25A32CF362670099B58E /* Responsable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Responsable.swift; sourceTree = ""; }; - 083A25A52CF362670099B58E /* Endpoint.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Endpoint.swift; sourceTree = ""; }; - 083A25A62CF362670099B58E /* MultipartEndPoint.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MultipartEndPoint.swift; sourceTree = ""; }; - 083A25A72CF362670099B58E /* RequestEndpoint.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RequestEndpoint.swift; sourceTree = ""; }; - 083A25A92CF362670099B58E /* IndicatorMaker.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IndicatorMaker.swift; sourceTree = ""; }; - 083A25AB2CF362670099B58E /* FormDataInterceptor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FormDataInterceptor.swift; sourceTree = ""; }; - 083A25AC2CF362670099B58E /* TokenInterceptor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TokenInterceptor.swift; sourceTree = ""; }; - 083A25AE2CF362670099B58E /* Provider.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Provider.swift; sourceTree = ""; }; - 083A25AF2CF362670099B58E /* ProviderImpl.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ProviderImpl.swift; sourceTree = ""; }; - 083A25BD2CF362770099B58E /* Logger.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Logger.swift; sourceTree = ""; }; - 083A25C72CF363C00099B58E /* LoginController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoginController.swift; sourceTree = ""; }; - 083A25C92CF363C60099B58E /* LoginReactor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoginReactor.swift; sourceTree = ""; }; - 083A25CB2CF363CB0099B58E /* LoginView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoginView.swift; sourceTree = ""; }; - 083C860A2D073A15003F441C /* DetailView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DetailView.swift; sourceTree = ""; }; - 083C860C2D073A1C003F441C /* DetailController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DetailController.swift; sourceTree = ""; }; - 083C860E2D073A23003F441C /* DetailReactor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DetailReactor.swift; sourceTree = ""; }; - 083C861B2D087337003F441C /* GetPopUpDetailRequestDTO.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GetPopUpDetailRequestDTO.swift; sourceTree = ""; }; - 083C861D2D08737F003F441C /* GetPopUpDetailResponseDTO.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GetPopUpDetailResponseDTO.swift; sourceTree = ""; }; - 083C861F2D087445003F441C /* GetPopUpDetailResponse.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GetPopUpDetailResponse.swift; sourceTree = ""; }; - 083C86232D087A44003F441C /* DetailTitleSection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DetailTitleSection.swift; sourceTree = ""; }; - 083C86252D087A4E003F441C /* DetailTitleSectionCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DetailTitleSectionCell.swift; sourceTree = ""; }; - 083C86282D088080003F441C /* DetailContentSection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DetailContentSection.swift; sourceTree = ""; }; - 083C862A2D08808C003F441C /* DetailContentSectionCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DetailContentSectionCell.swift; sourceTree = ""; }; - 083C86352D0C7EF4003F441C /* CommentSelectedController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CommentSelectedController.swift; sourceTree = ""; }; - 083C86372D0C7EFC003F441C /* CommentSelectedView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CommentSelectedView.swift; sourceTree = ""; }; - 083C86392D0C7F0A003F441C /* CommentSelectedReactor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CommentSelectedReactor.swift; sourceTree = ""; }; - 083C863C2D0C8BC4003F441C /* NormalCommentAddController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NormalCommentAddController.swift; sourceTree = ""; }; - 083C863E2D0C8BCE003F441C /* NormalCommentAddView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NormalCommentAddView.swift; sourceTree = ""; }; - 083C86402D0C8BD8003F441C /* NormalCommentAddReactor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NormalCommentAddReactor.swift; sourceTree = ""; }; - 083C86442D0DCDE8003F441C /* AddCommentTitleSectionCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddCommentTitleSectionCell.swift; sourceTree = ""; }; - 083C86462D0DCDFB003F441C /* AddCommentTitleSection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddCommentTitleSection.swift; sourceTree = ""; }; - 083C86492D0DCF96003F441C /* AddCommentDescriptionSection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddCommentDescriptionSection.swift; sourceTree = ""; }; - 083C864B2D0DCF9B003F441C /* AddCommentDescriptionSectionCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddCommentDescriptionSectionCell.swift; sourceTree = ""; }; - 083C864E2D0DD3A6003F441C /* AddCommentImageSection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddCommentImageSection.swift; sourceTree = ""; }; - 083C86502D0DD3AB003F441C /* AddCommentImageSectionCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddCommentImageSectionCell.swift; sourceTree = ""; }; - 083C86532D0DD7E9003F441C /* AddCommentSection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddCommentSection.swift; sourceTree = ""; }; - 083C86552D0DD7EE003F441C /* AddCommentSectionCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddCommentSectionCell.swift; sourceTree = ""; }; - 083C86582D0DEFC3003F441C /* CommentCheckView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CommentCheckView.swift; sourceTree = ""; }; - 083C865A2D0DEFCF003F441C /* CommentCheckController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CommentCheckController.swift; sourceTree = ""; }; - 083C865C2D0DEFD5003F441C /* CommentCheckReactor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CommentCheckReactor.swift; sourceTree = ""; }; - 083C865F2D0EC496003F441C /* InstaCommentAddView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InstaCommentAddView.swift; sourceTree = ""; }; - 083C86612D0EC49E003F441C /* InstaCommentAddController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InstaCommentAddController.swift; sourceTree = ""; }; - 083C86632D0EC4A5003F441C /* InstaCommentAddReactor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InstaCommentAddReactor.swift; sourceTree = ""; }; - 083C86682D0ECB47003F441C /* InstaGuideSection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InstaGuideSection.swift; sourceTree = ""; }; - 083C866A2D0ECB4F003F441C /* InstaGuideSectionCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InstaGuideSectionCell.swift; sourceTree = ""; }; - 083C866D2D0ECB87003F441C /* InstaGuideChildSection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InstaGuideChildSection.swift; sourceTree = ""; }; - 083C866F2D0ECB8E003F441C /* InstaGuideChildSectionCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InstaGuideChildSectionCell.swift; sourceTree = ""; }; - 083C86722D0EE2B1003F441C /* CommentAPIEndPoint.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CommentAPIEndPoint.swift; sourceTree = ""; }; - 083C86752D0EE2CF003F441C /* PostCommentRequestDTO.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PostCommentRequestDTO.swift; sourceTree = ""; }; - 083C86772D0EE382003F441C /* CommentAPIRepository.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CommentAPIRepository.swift; sourceTree = ""; }; - 083C86792D0EE3BB003F441C /* CommentAPIUseCaseImpl.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CommentAPIUseCaseImpl.swift; sourceTree = ""; }; - 0841BA7F2CF9F34100049E31 /* ImageBannerChildSectionCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImageBannerChildSectionCell.swift; sourceTree = ""; }; - 0841BA812CF9F5DF00049E31 /* PreSignedService.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PreSignedService.swift; sourceTree = ""; }; - 0841BA842CF9F62300049E31 /* PreSignedURLDTO.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PreSignedURLDTO.swift; sourceTree = ""; }; - 0841BA852CF9F62300049E31 /* PresignedURLRequestDTO.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PresignedURLRequestDTO.swift; sourceTree = ""; }; - 0841BA862CF9F62300049E31 /* PreSignedURLResponseDTO.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PreSignedURLResponseDTO.swift; sourceTree = ""; }; - 0841BA8B2CF9F67100049E31 /* PreSignedAPIEndPoint.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PreSignedAPIEndPoint.swift; sourceTree = ""; }; - 0841BA8D2CF9F8A100049E31 /* ImageBannerChildSection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImageBannerChildSection.swift; sourceTree = ""; }; - 0841BAA22CFA31A300049E31 /* SpacingSection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SpacingSection.swift; sourceTree = ""; }; - 0841BAA42CFA31A900049E31 /* SpacingSectionCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SpacingSectionCell.swift; sourceTree = ""; }; - 0841BAA72CFA354500049E31 /* HomeTitleSection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeTitleSection.swift; sourceTree = ""; }; - 0841BAA92CFA354C00049E31 /* HomeTitleSectionCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeTitleSectionCell.swift; sourceTree = ""; }; - 0841BAAB2CFA35F300049E31 /* UILabel+.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UILabel+.swift"; sourceTree = ""; }; - 0841BAAE2CFA38EA00049E31 /* HomeCardSection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeCardSection.swift; sourceTree = ""; }; - 0841BAB02CFA38F500049E31 /* HomeCardSectionCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeCardSectionCell.swift; sourceTree = ""; }; - 0841BAB32CFABED700049E31 /* HomePopularCardSection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomePopularCardSection.swift; sourceTree = ""; }; - 0841BAB52CFABEDC00049E31 /* HomePopularCardSectionCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomePopularCardSectionCell.swift; sourceTree = ""; }; - 0841BAB72CFAC41300049E31 /* SectionBackGroundDecorationView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SectionBackGroundDecorationView.swift; sourceTree = ""; }; - 0841BAB92CFAE5BE00049E31 /* HomeHeaderView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeHeaderView.swift; sourceTree = ""; }; - 0841BABB2CFB59E200049E31 /* String?+.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String?+.swift"; sourceTree = ""; }; - 0841BABD2CFB5AA600049E31 /* Date?+.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Date?+.swift"; sourceTree = ""; }; - 0841BAC22CFB600800049E31 /* TabbarController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TabbarController.swift; sourceTree = ""; }; - 086DD8C72CFDEA9200B97D3B /* UIView+.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIView+.swift"; sourceTree = ""; }; - 086DD8CB2CFDFEA800B97D3B /* HomeListController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeListController.swift; sourceTree = ""; }; - 086DD8CD2CFDFEB000B97D3B /* HomeListView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeListView.swift; sourceTree = ""; }; - 086DD8CF2CFDFEB900B97D3B /* HomeListReactor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeListReactor.swift; sourceTree = ""; }; - 086DD8D22CFDFF1500B97D3B /* HomePopUpType.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomePopUpType.swift; sourceTree = ""; }; - 086DD8D52CFF182100B97D3B /* UserAPIEndPoint.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserAPIEndPoint.swift; sourceTree = ""; }; - 086DD8D72CFF185200B97D3B /* PostBookmarkPopUpRequestDTO.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PostBookmarkPopUpRequestDTO.swift; sourceTree = ""; }; - 086DD8D92CFF194700B97D3B /* UserAPIRepositoryImpl.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserAPIRepositoryImpl.swift; sourceTree = ""; }; - 086DD8DD2CFF19C400B97D3B /* UserAPIUseCaseImpl.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserAPIUseCaseImpl.swift; sourceTree = ""; }; - 086DD8DF2CFF2C3700B97D3B /* UIImageView+.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIImageView+.swift"; sourceTree = ""; }; - 086DD8E22CFF356300B97D3B /* HomeCardGridSection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeCardGridSection.swift; sourceTree = ""; }; - 086DD9292D0086AA00B97D3B /* SearchController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchController.swift; sourceTree = ""; }; - 086DD92B2D0086B100B97D3B /* SearchReactor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchReactor.swift; sourceTree = ""; }; - 086DD92D2D0086B900B97D3B /* SearchView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchView.swift; sourceTree = ""; }; - 086DD92F2D0090E900B97D3B /* UITextField+.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UITextField+.swift"; sourceTree = ""; }; - 086DD9332D00962500B97D3B /* SearchTitleSectionCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchTitleSectionCell.swift; sourceTree = ""; }; - 086DD9352D00963900B97D3B /* SearchTitleSection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchTitleSection.swift; sourceTree = ""; }; - 086DD93A2D009A1C00B97D3B /* CancelableTagSection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CancelableTagSection.swift; sourceTree = ""; }; - 086DD93C2D009A2600B97D3B /* CancelableTagSectionCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CancelableTagSectionCell.swift; sourceTree = ""; }; - 086DD93F2D01EEEB00B97D3B /* SearchCountTitleSection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchCountTitleSection.swift; sourceTree = ""; }; - 086DD9412D01EEF700B97D3B /* SearchCountTitleSectionCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchCountTitleSectionCell.swift; sourceTree = ""; }; - 086F89C22D1E347700CA4FC9 /* CommentUserInfoView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CommentUserInfoView.swift; sourceTree = ""; }; - 086F89C42D1E347E00CA4FC9 /* CommentUserInfoController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CommentUserInfoController.swift; sourceTree = ""; }; - 086F89C62D1E348400CA4FC9 /* CommentUserInfoReactor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CommentUserInfoReactor.swift; sourceTree = ""; }; - 086F89C92D1E42A700CA4FC9 /* CommentUserBlockView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CommentUserBlockView.swift; sourceTree = ""; }; - 086F89CB2D1E42B000CA4FC9 /* CommentUserBlockController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CommentUserBlockController.swift; sourceTree = ""; }; - 086F89CD2D1E42B500CA4FC9 /* CommentUserBlockReactor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CommentUserBlockReactor.swift; sourceTree = ""; }; - 086F89CF2D1E60A100CA4FC9 /* PostUserBlockRequestDTO.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PostUserBlockRequestDTO.swift; sourceTree = ""; }; - 086F89D22D1E6DA600CA4FC9 /* OtherUserCommentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OtherUserCommentView.swift; sourceTree = ""; }; - 086F89D42D1E6DB100CA4FC9 /* OtherUserCommentController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OtherUserCommentController.swift; sourceTree = ""; }; - 086F89D62D1E6DB700CA4FC9 /* OtherUserCommentReactor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OtherUserCommentReactor.swift; sourceTree = ""; }; - 086F89D82D1E79E200CA4FC9 /* GetOtherUserCommentListRequestDTO.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GetOtherUserCommentListRequestDTO.swift; sourceTree = ""; }; - 086F89DA2D1E7A6C00CA4FC9 /* GetOtherUserCommentedPopUpListResponseDTO.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GetOtherUserCommentedPopUpListResponseDTO.swift; sourceTree = ""; }; - 086F89DF2D1E7CC700CA4FC9 /* GetOtherUserCommentedPopUpListResponse.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GetOtherUserCommentedPopUpListResponse.swift; sourceTree = ""; }; - 086F89E32D1FE91300CA4FC9 /* OtherUserCommentSection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OtherUserCommentSection.swift; sourceTree = ""; }; - 086F89E52D1FE91800CA4FC9 /* OtherUserCommentSectionCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OtherUserCommentSectionCell.swift; sourceTree = ""; }; - 086F89E92D2009E300CA4FC9 /* SubLoginView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SubLoginView.swift; sourceTree = ""; }; - 086F89EB2D2009EB00CA4FC9 /* SubLoginController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SubLoginController.swift; sourceTree = ""; }; - 086F89ED2D2009F100CA4FC9 /* SubLoginReactor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SubLoginReactor.swift; sourceTree = ""; }; - 086F89F02D2269D800CA4FC9 /* MyPageView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MyPageView.swift; sourceTree = ""; }; - 086F89F22D2269DE00CA4FC9 /* MyPageController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MyPageController.swift; sourceTree = ""; }; - 086F89F42D2269E300CA4FC9 /* MyPageReactor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MyPageReactor.swift; sourceTree = ""; }; - 086F89F62D226DF600CA4FC9 /* GetMyPageResponseDTO.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GetMyPageResponseDTO.swift; sourceTree = ""; }; - 086F89F82D226EEB00CA4FC9 /* GetMyPageResponse.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GetMyPageResponse.swift; sourceTree = ""; }; - 086F8A042D23CB3300CA4FC9 /* MyPageProfileSection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MyPageProfileSection.swift; sourceTree = ""; }; - 086F8A062D23CB3800CA4FC9 /* MyPageProfileSectionCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MyPageProfileSectionCell.swift; sourceTree = ""; }; - 086F8A092D2621EE00CA4FC9 /* MyPageMyCommentTitleSection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MyPageMyCommentTitleSection.swift; sourceTree = ""; }; - 086F8A0B2D2621F400CA4FC9 /* MyPageMyCommentTitleSectionCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MyPageMyCommentTitleSectionCell.swift; sourceTree = ""; }; - 086F8A0E2D26297900CA4FC9 /* MyPageCommentSection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MyPageCommentSection.swift; sourceTree = ""; }; - 086F8A102D26297D00CA4FC9 /* MyPageCommentSectionCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MyPageCommentSectionCell.swift; sourceTree = ""; }; - 086F8A172D265C5F00CA4FC9 /* MyPageListSection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MyPageListSection.swift; sourceTree = ""; }; - 086F8A192D265C6300CA4FC9 /* MyPageListSectionCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MyPageListSectionCell.swift; sourceTree = ""; }; - 088DE2492D12F3360030FA9E /* DetailInfoSection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DetailInfoSection.swift; sourceTree = ""; }; - 088DE24B2D12F33B0030FA9E /* DetailInfoSectionCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DetailInfoSectionCell.swift; sourceTree = ""; }; - 088DE24E2D13019A0030FA9E /* DetailCommentTitleSection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DetailCommentTitleSection.swift; sourceTree = ""; }; - 088DE2502D13019E0030FA9E /* DetailCommentTitleSectionCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DetailCommentTitleSectionCell.swift; sourceTree = ""; }; - 088DE2532D144A7E0030FA9E /* DetailCommentSection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DetailCommentSection.swift; sourceTree = ""; }; - 088DE2552D144A830030FA9E /* DetailCommentSectionCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DetailCommentSectionCell.swift; sourceTree = ""; }; - 088DE2572D144B0F0030FA9E /* DetailCommentProfileView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DetailCommentProfileView.swift; sourceTree = ""; }; - 088DE2592D1458620030FA9E /* DetailCommentImageCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DetailCommentImageCell.swift; sourceTree = ""; }; - 088DE25C2D145E3A0030FA9E /* DetailSimilarSection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DetailSimilarSection.swift; sourceTree = ""; }; - 088DE25E2D145E3F0030FA9E /* DetailSimilarSectionCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DetailSimilarSectionCell.swift; sourceTree = ""; }; - 089952412D031E650022AEF9 /* SearchSortedController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchSortedController.swift; sourceTree = ""; }; - 089952432D031E6D0022AEF9 /* SearchSortedReactor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchSortedReactor.swift; sourceTree = ""; }; - 089952452D031E740022AEF9 /* SearchSortedView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchSortedView.swift; sourceTree = ""; }; - 089952482D033A1C0022AEF9 /* PopUpAPIEndPoint.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PopUpAPIEndPoint.swift; sourceTree = ""; }; - 0899524A2D033A9C0022AEF9 /* GetClosePopUpListResponseDTO.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GetClosePopUpListResponseDTO.swift; sourceTree = ""; }; - 0899524C2D033AA70022AEF9 /* GetOpenPopUpListResponseDTO.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GetOpenPopUpListResponseDTO.swift; sourceTree = ""; }; - 0899524E2D033B5A0022AEF9 /* GetSearchPopUpListRequestDTO.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GetSearchPopUpListRequestDTO.swift; sourceTree = ""; }; - 089952502D033C410022AEF9 /* GetSearchBottomPopUpListResponse.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GetSearchBottomPopUpListResponse.swift; sourceTree = ""; }; - 089952522D033C940022AEF9 /* PopUpAPIRepositoryImpl.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PopUpAPIRepositoryImpl.swift; sourceTree = ""; }; - 089952542D033D480022AEF9 /* PopUpAPIUseCaseImpl.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PopUpAPIUseCaseImpl.swift; sourceTree = ""; }; - 089952572D0347AC0022AEF9 /* SearchCategoryController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchCategoryController.swift; sourceTree = ""; }; - 089952592D0347B40022AEF9 /* SearchCategoryReactor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchCategoryReactor.swift; sourceTree = ""; }; - 0899525B2D0347BD0022AEF9 /* SearchCategoryView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchCategoryView.swift; sourceTree = ""; }; - 0899525F2D0366C40022AEF9 /* SearchMainController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchMainController.swift; sourceTree = ""; }; - 089952612D0366D30022AEF9 /* SearchMainView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchMainView.swift; sourceTree = ""; }; - 089952632D0366DA0022AEF9 /* SearchMainReactor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchMainReactor.swift; sourceTree = ""; }; - 089952652D046CCD0022AEF9 /* SearchResultController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchResultController.swift; sourceTree = ""; }; - 089952672D046CD80022AEF9 /* SearchResultReactor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchResultReactor.swift; sourceTree = ""; }; - 089952692D046CDE0022AEF9 /* SearchResultView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchResultView.swift; sourceTree = ""; }; - 0899526B2D0473EC0022AEF9 /* GetSearchPopUpListResponseDTO.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GetSearchPopUpListResponseDTO.swift; sourceTree = ""; }; - 0899526D2D0474340022AEF9 /* GetSearchPopUpListResponse.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GetSearchPopUpListResponse.swift; sourceTree = ""; }; - 089952722D0475E90022AEF9 /* SearchResultCountSection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchResultCountSection.swift; sourceTree = ""; }; - 089952742D0475F20022AEF9 /* SearchResultCountSectionCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchResultCountSectionCell.swift; sourceTree = ""; }; - 089B4FD72D9A57AE00FC0CC3 /* ImageLoader.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImageLoader.swift; sourceTree = ""; }; - 089B4FDE2D9A8F9A00FC0CC3 /* MemoryStorage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MemoryStorage.swift; sourceTree = ""; }; - 08A2E46B2D15BC5000102313 /* CommentLikeRequestDTO.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CommentLikeRequestDTO.swift; sourceTree = ""; }; - 08A2E4782D1B06A300102313 /* ImageDetailView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImageDetailView.swift; sourceTree = ""; }; - 08A2E47A2D1B06AA00102313 /* ImageDetailController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImageDetailController.swift; sourceTree = ""; }; - 08A2E47C2D1B06B000102313 /* ImageDetailReactor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImageDetailReactor.swift; sourceTree = ""; }; - 08A2E47F2D1BCDE300102313 /* CommentDetailView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CommentDetailView.swift; sourceTree = ""; }; - 08A2E4812D1BCDEA00102313 /* CommentDetailController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CommentDetailController.swift; sourceTree = ""; }; - 08A2E4832D1BCDEF00102313 /* CommentDetailReactor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CommentDetailReactor.swift; sourceTree = ""; }; - 08A2E4852D1BD85C00102313 /* CommentDetailImageSection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CommentDetailImageSection.swift; sourceTree = ""; }; - 08A2E4892D1BDA8400102313 /* CommentDetailContentSection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CommentDetailContentSection.swift; sourceTree = ""; }; - 08A2E48B2D1BDA8A00102313 /* CommentDetailContentSectionCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CommentDetailContentSectionCell.swift; sourceTree = ""; }; - 08A2E48E2D1BF6E500102313 /* CommentListView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CommentListView.swift; sourceTree = ""; }; - 08A2E4902D1BF6EA00102313 /* CommentListController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CommentListController.swift; sourceTree = ""; }; - 08A2E4922D1BF6EF00102313 /* CommentListReactor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CommentListReactor.swift; sourceTree = ""; }; - 08A2E4942D1C078300102313 /* GetPopUpCommentRequestDTO.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GetPopUpCommentRequestDTO.swift; sourceTree = ""; }; - 08A2E4962D1C07F500102313 /* GetPopUpCommentResponseDTO.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GetPopUpCommentResponseDTO.swift; sourceTree = ""; }; - 08A2E4982D1C08D600102313 /* GetPopUpCommentResponse.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GetPopUpCommentResponse.swift; sourceTree = ""; }; - 08A2E49C2D1C416800102313 /* CommentListTitleSection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CommentListTitleSection.swift; sourceTree = ""; }; - 08A2E49E2D1C417000102313 /* CommentListTitleSectionCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CommentListTitleSectionCell.swift; sourceTree = ""; }; - 08B191342CF366670057BC04 /* UICollectionViewCell+.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UICollectionViewCell+.swift"; sourceTree = ""; }; - 08B191352CF366670057BC04 /* UICollectionReusableView+.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UICollectionReusableView+.swift"; sourceTree = ""; }; - 08B191362CF366670057BC04 /* UITableViewCell+.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UITableViewCell+.swift"; sourceTree = ""; }; - 08B1913A2CF366A00057BC04 /* UIApplication+.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIApplication+.swift"; sourceTree = ""; }; - 08B1913E2CF367FA0057BC04 /* UIColor+.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIColor+.swift"; sourceTree = ""; }; - 08B191402CF367FF0057BC04 /* UIFont+.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIFont+.swift"; sourceTree = ""; }; - 08B191422CF41D680057BC04 /* GothicA1-Bold.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "GothicA1-Bold.ttf"; sourceTree = ""; }; - 08B191432CF41D680057BC04 /* GothicA1-Light.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "GothicA1-Light.ttf"; sourceTree = ""; }; - 08B191442CF41D680057BC04 /* GothicA1-Medium.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "GothicA1-Medium.ttf"; sourceTree = ""; }; - 08B191452CF41D680057BC04 /* GothicA1-Regular.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "GothicA1-Regular.ttf"; sourceTree = ""; }; - 08B191462CF41D680057BC04 /* Poppins-Bold.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Poppins-Bold.ttf"; sourceTree = ""; }; - 08B191472CF41D680057BC04 /* Poppins-Light.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Poppins-Light.ttf"; sourceTree = ""; }; - 08B191482CF41D680057BC04 /* Poppins-Medium.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Poppins-Medium.ttf"; sourceTree = ""; }; - 08B191492CF41D680057BC04 /* Poppins-Regular.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Poppins-Regular.ttf"; sourceTree = ""; }; - 08B191532CF41D6F0057BC04 /* PP_loading.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = PP_loading.json; sourceTree = ""; }; - 08B191542CF41D6F0057BC04 /* PP_splash.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = PP_splash.json; sourceTree = ""; }; - 08B191582CF41E610057BC04 /* SignUpMainController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SignUpMainController.swift; sourceTree = ""; }; - 08B1915A2CF41E690057BC04 /* SignUpMainReactor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SignUpMainReactor.swift; sourceTree = ""; }; - 08B1915C2CF41E6F0057BC04 /* SignUpMainView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SignUpMainView.swift; sourceTree = ""; }; - 08B191602CF430E70057BC04 /* PPProgressView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PPProgressView.swift; sourceTree = ""; }; - 08B191622CF430F30057BC04 /* PPProgressIndicator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PPProgressIndicator.swift; sourceTree = ""; }; - 08B191662CF432220057BC04 /* PPCancelHeaderView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PPCancelHeaderView.swift; sourceTree = ""; }; - 08B191692CF434B80057BC04 /* SignUpStep1Controller.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SignUpStep1Controller.swift; sourceTree = ""; }; - 08B1916B2CF434C30057BC04 /* SignUpStep1View.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SignUpStep1View.swift; sourceTree = ""; }; - 08B1916D2CF434CF0057BC04 /* SignUpStep1Reactor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SignUpStep1Reactor.swift; sourceTree = ""; }; - 08B191702CF4398D0057BC04 /* PPLabel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PPLabel.swift; sourceTree = ""; }; - 08B191732CF43DF40057BC04 /* SignUpCheckBoxButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SignUpCheckBoxButton.swift; sourceTree = ""; }; - 08B191752CF440C40057BC04 /* PPButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PPButton.swift; sourceTree = ""; }; - 08B191772CF442230057BC04 /* UIImage+.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIImage+.swift"; sourceTree = ""; }; - 08B191792CF452B30057BC04 /* SignUpTermsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SignUpTermsView.swift; sourceTree = ""; }; - 08B1917C2CF46DE30057BC04 /* TermsDetailController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TermsDetailController.swift; sourceTree = ""; }; - 08B1917E2CF46DF20057BC04 /* TermsDetailView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TermsDetailView.swift; sourceTree = ""; }; - 08B191812CF48A7B0057BC04 /* SignUpStep2Controller.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SignUpStep2Controller.swift; sourceTree = ""; }; - 08B191832CF48A820057BC04 /* SignUpStep2View.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SignUpStep2View.swift; sourceTree = ""; }; - 08B191852CF48A8B0057BC04 /* SignUpStep2Reactor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SignUpStep2Reactor.swift; sourceTree = ""; }; - 08B191872CF48FAE0057BC04 /* NickNameState.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NickNameState.swift; sourceTree = ""; }; - 08B1918C2CF49FF70057BC04 /* SignUpStep3View.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SignUpStep3View.swift; sourceTree = ""; }; - 08B1918E2CF4A0020057BC04 /* SignUpStep3Controller.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SignUpStep3Controller.swift; sourceTree = ""; }; - 08B191902CF4A00E0057BC04 /* SignUpStep3Reactor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SignUpStep3Reactor.swift; sourceTree = ""; }; - 08B191932CF4A0F00057BC04 /* SignUpStep4View.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SignUpStep4View.swift; sourceTree = ""; }; - 08B191952CF4A0FA0057BC04 /* SignUpStep4Controller.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SignUpStep4Controller.swift; sourceTree = ""; }; - 08B191972CF4A1010057BC04 /* SignUpStep4Reactor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SignUpStep4Reactor.swift; sourceTree = ""; }; - 08B1919B2CF4A77C0057BC04 /* TagSection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TagSection.swift; sourceTree = ""; }; - 08B1919D2CF4A7830057BC04 /* TagSectionCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TagSectionCell.swift; sourceTree = ""; }; - 08B1919F2CF4AA0E0057BC04 /* Reactive+.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Reactive+.swift"; sourceTree = ""; }; - 08B191A12CF4AE890057BC04 /* ToastMaker.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ToastMaker.swift; sourceTree = ""; }; - 08B191A32CF5A7030057BC04 /* PPSegmentedControl.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PPSegmentedControl.swift; sourceTree = ""; }; - 08B191A62CF5A9430057BC04 /* AgeSelectedButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AgeSelectedButton.swift; sourceTree = ""; }; - 08B191AB2CF5BF9D0057BC04 /* AgeSelectedController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AgeSelectedController.swift; sourceTree = ""; }; - 08B191AD2CF5BFA60057BC04 /* AgeSelectedView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AgeSelectedView.swift; sourceTree = ""; }; - 08B191AF2CF5BFAE0057BC04 /* AgeSelectedReactor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AgeSelectedReactor.swift; sourceTree = ""; }; - 08B191B12CF5C0A60057BC04 /* PPPicker.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PPPicker.swift; sourceTree = ""; }; - 08B191B32CF609260057BC04 /* KakaoLoginService.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KakaoLoginService.swift; sourceTree = ""; }; - 08B191B52CF6092B0057BC04 /* AppleLoginService.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppleLoginService.swift; sourceTree = ""; }; - 08B191B72CF6092F0057BC04 /* AuthServiceable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AuthServiceable.swift; sourceTree = ""; }; - 08B191C12CF615CA0057BC04 /* KeyPath.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KeyPath.swift; sourceTree = ""; }; - 08CBEA022D38989E00248007 /* PostTokenReissueResponseDTO.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PostTokenReissueResponseDTO.swift; sourceTree = ""; }; - 08CBEA052D38991600248007 /* PostTokenReissueResponse.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PostTokenReissueResponse.swift; sourceTree = ""; }; - 08CBEA0A2D38DBD600248007 /* LastLoginView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LastLoginView.swift; sourceTree = ""; }; - 08CBEA0C2D38ED0D00248007 /* CountButtonView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CountButtonView.swift; sourceTree = ""; }; - 08CBEA392D3FABE100248007 /* ToastView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ToastView.swift; sourceTree = ""; }; - 08CBEA3B2D3FABED00248007 /* BookMarkToastView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BookMarkToastView.swift; sourceTree = ""; }; - 08CBEA3D2D3FF6A100248007 /* PopUpCardView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PopUpCardView.swift; sourceTree = ""; }; - 08CFD3912D9BDE99004CDD50 /* DiskStorage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DiskStorage.swift; sourceTree = ""; }; - 08DC61F22CF75037002A2F44 /* KeyChainService.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KeyChainService.swift; sourceTree = ""; }; - 08DC61F42CF765B5002A2F44 /* UserDefaultService.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UserDefaultService.swift; sourceTree = ""; }; - 08DC61F72CF76843002A2F44 /* SignUpCompleteView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SignUpCompleteView.swift; sourceTree = ""; }; - 08DC61F92CF7684F002A2F44 /* SignUpCompleteController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SignUpCompleteController.swift; sourceTree = ""; }; - 08DC61FB2CF76862002A2F44 /* SignUpCompleteReactor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SignUpCompleteReactor.swift; sourceTree = ""; }; - 08DC62022CF8AC06002A2F44 /* HomeView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeView.swift; sourceTree = ""; }; - 08DC62042CF8AC0E002A2F44 /* HomeController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeController.swift; sourceTree = ""; }; - 08DC62062CF8AC14002A2F44 /* HomeReactor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeReactor.swift; sourceTree = ""; }; - 08DC620A2CF8AE0F002A2F44 /* ImageBannerSection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImageBannerSection.swift; sourceTree = ""; }; - 08DC620C2CF8AE16002A2F44 /* ImageBannerSectionCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImageBannerSectionCell.swift; sourceTree = ""; }; - 08DC62102CF8B446002A2F44 /* SortedRequestDTO.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SortedRequestDTO.swift; sourceTree = ""; }; - 08DE8A0C2D5236840049BCAC /* PutCommentRequestDTO.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PutCommentRequestDTO.swift; sourceTree = ""; }; - 08DE8A0F2D5255110049BCAC /* DetailEmptyCommetSection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DetailEmptyCommetSection.swift; sourceTree = ""; }; - 08DE8A112D5255180049BCAC /* DetailEmptyCommetSectionCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DetailEmptyCommetSectionCell.swift; sourceTree = ""; }; - 08DE8A162D525A9B0049BCAC /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = ko.lproj/LaunchScreen.strings; sourceTree = ""; }; - 08DE8A172D525BA20049BCAC /* Terms.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Terms.plist; sourceTree = ""; }; - 08DE8A1A2D5261DE0049BCAC /* MyPageTermsController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MyPageTermsController.swift; sourceTree = ""; }; - 08DE8A1C2D5261E70049BCAC /* MyPageTermsReactor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MyPageTermsReactor.swift; sourceTree = ""; }; - 08DE8A3E2D54DCC40049BCAC /* MyCommentedPopUpGridSection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MyCommentedPopUpGridSection.swift; sourceTree = ""; }; - 08DE8A402D54DCCA0049BCAC /* MyCommentedPopUpGridSectionCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MyCommentedPopUpGridSectionCell.swift; sourceTree = ""; }; - 4E643FC02D738D7F0046AF29 /* PopUpStoreRegisterReactor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PopUpStoreRegisterReactor.swift; sourceTree = ""; }; - 4E643FC22D738D930046AF29 /* PopUpStoreRegisterView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PopUpStoreRegisterView.swift; sourceTree = ""; }; - 4E685EAA2D12CEB6001EF91C /* BalloonBackgroundView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BalloonBackgroundView.swift; sourceTree = ""; }; - 4E685EAB2D12CEB6001EF91C /* BalloonChipCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BalloonChipCell.swift; sourceTree = ""; }; - 4E685EAD2D12CEB6001EF91C /* FilterBottomSheetReactor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FilterBottomSheetReactor.swift; sourceTree = ""; }; - 4E685EAE2D12CEB6001EF91C /* FilterBottomSheetView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FilterBottomSheetView.swift; sourceTree = ""; }; - 4E685EAF2D12CEB6001EF91C /* FilterBottomSheetViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FilterBottomSheetViewController.swift; sourceTree = ""; }; - 4E685EB02D12CEB6001EF91C /* FilterCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FilterCell.swift; sourceTree = ""; }; - 4E685EB12D12CEB6001EF91C /* FilterChip.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FilterChip.swift; sourceTree = ""; }; - 4E685EB22D12CEB6001EF91C /* FilterChipsView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FilterChipsView.swift; sourceTree = ""; }; - 4E685EB62D12CEB6001EF91C /* MapRepository.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MapRepository.swift; sourceTree = ""; }; - 4E685EB82D12CEB6001EF91C /* MapUseCase.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MapUseCase.swift; sourceTree = ""; }; - 4E685EBA2D12CEB6001EF91C /* MapAPIEndpoint.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MapAPIEndpoint.swift; sourceTree = ""; }; - 4E685EBB2D12CEB6001EF91C /* MapPopUpStore.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MapPopUpStore.swift; sourceTree = ""; }; - 4E685EBC2D12CEB6001EF91C /* MapPopUpStoreDTO.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MapPopUpStoreDTO.swift; sourceTree = ""; }; - 4E685EBE2D12CEB6001EF91C /* MapPopupCarouselView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MapPopupCarouselView.swift; sourceTree = ""; }; - 4E685EBF2D12CEB6001EF91C /* PopupCardCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PopupCardCell.swift; sourceTree = ""; }; - 4E685EC12D12CEB6001EF91C /* StoreListCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StoreListCell.swift; sourceTree = ""; }; - 4E685EC22D12CEB6001EF91C /* StoreListReactor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StoreListReactor.swift; sourceTree = ""; }; - 4E685EC32D12CEB6001EF91C /* StoreListView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StoreListView.swift; sourceTree = ""; }; - 4E685EC42D12CEB6001EF91C /* StoreListViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StoreListViewController.swift; sourceTree = ""; }; - 4E685EC62D12CEB6001EF91C /* MapFilterChips.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MapFilterChips.swift; sourceTree = ""; }; - 4E685EC72D12CEB6001EF91C /* MapMarker.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MapMarker.swift; sourceTree = ""; }; - 4E685EC82D12CEB6001EF91C /* MapReactor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MapReactor.swift; sourceTree = ""; }; - 4E685EC92D12CEB6001EF91C /* MapSearchInput.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MapSearchInput.swift; sourceTree = ""; }; - 4E685ECB2D12CEB6001EF91C /* MapView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MapView.swift; sourceTree = ""; }; - 4E685ECC2D12CEB6001EF91C /* MapViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MapViewController.swift; sourceTree = ""; }; - 4E6A066F2D42A96100B2A658 /* FullScreenMapViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FullScreenMapViewController.swift; sourceTree = ""; }; - 4E6C07052D4B6E56008A962A /* RegionDefinitions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RegionDefinitions.swift; sourceTree = ""; }; - 4E6C07072D4B6E74008A962A /* ClusteringModels.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ClusteringModels.swift; sourceTree = ""; }; - 4E6C07092D4B6E81008A962A /* ClusteringManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ClusteringManager.swift; sourceTree = ""; }; - 4E6CA4842D34D6ED0034D09A /* AdminBottomSheetReactor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AdminBottomSheetReactor.swift; sourceTree = ""; }; - 4E755B1C2D2B9AD300ADFB21 /* GetAdminPopUpStoreListResponseDTO.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GetAdminPopUpStoreListResponseDTO.swift; sourceTree = ""; }; - 4E755B1E2D2B9AE500ADFB21 /* AdminAPIEndpoint.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AdminAPIEndpoint.swift; sourceTree = ""; }; - 4E755B202D2B9BAB00ADFB21 /* AdminResponseDTO.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AdminResponseDTO.swift; sourceTree = ""; }; - 4E755B222D2B9C5D00ADFB21 /* AdminViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AdminViewController.swift; sourceTree = ""; }; - 4E755B242D2B9C6C00ADFB21 /* AdminView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AdminView.swift; sourceTree = ""; }; - 4E755B262D2B9C7C00ADFB21 /* AdminStoreCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AdminStoreCell.swift; sourceTree = ""; }; - 4E755B282D2BA65A00ADFB21 /* AdminReactor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AdminReactor.swift; sourceTree = ""; }; - 4E755B2A2D2BA76E00ADFB21 /* AdminUseCase.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AdminUseCase.swift; sourceTree = ""; }; - 4E755B2E2D2BA7FB00ADFB21 /* AdminRepository.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AdminRepository.swift; sourceTree = ""; }; - 4E8AA29C2D59A2340029DF75 /* MarkerTooltipView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MarkerTooltipView.swift; sourceTree = ""; }; - 4E9790C42D40E13500210499 /* MapGuideViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MapGuideViewController.swift; sourceTree = ""; }; - 4E9A465F2D55D1270010578A /* MapUtilities.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MapUtilities.swift; sourceTree = ""; }; - 4E9C12772D2BC7A0006744D6 /* AdminBottomSheetView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AdminBottomSheetView.swift; sourceTree = ""; }; - 4E9C12792D2BC811006744D6 /* AdminBottomSheetViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AdminBottomSheetViewController.swift; sourceTree = ""; }; - 4E9C12802D2BE0A6006744D6 /* PopUpStoreRegisterViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PopUpStoreRegisterViewController.swift; sourceTree = ""; }; - 4EA2C93C2D424D3300F4D97C /* MapDirectionRepository.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MapDirectionRepository.swift; sourceTree = ""; }; - 4EA2C93E2D424D7400F4D97C /* MapDirectionUseCase.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MapDirectionUseCase.swift; sourceTree = ""; }; - 4EA2C9402D424D8400F4D97C /* GetPopUpDirectionResponseDTO.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GetPopUpDirectionResponseDTO.swift; sourceTree = ""; }; - 4EA2C9422D424DF900F4D97C /* FindDirectionEndPoint.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FindDirectionEndPoint.swift; sourceTree = ""; }; - 4EA998992D21C2FC009DC30B /* StoreListSection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StoreListSection.swift; sourceTree = ""; }; - 4EAB809C2D3F78AA0041AF30 /* NMFMapViewDelegateProxy.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NMFMapViewDelegateProxy.swift; sourceTree = ""; }; - 4EAB809E2D3F8EF50041AF30 /* ViewportBounds.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewportBounds.swift; sourceTree = ""; }; - 4EDDEFB32D2D285900CFAFA5 /* DateTimePickerManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DateTimePickerManager.swift; sourceTree = ""; }; - 4EDE57022D5E70650014D924 /* LocationPermissionBottomSheet.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LocationPermissionBottomSheet.swift; sourceTree = ""; }; - 4EE5A3D22D40E4A600A2469A /* MapGuideReactor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MapGuideReactor.swift; sourceTree = ""; }; - 4EEA13062DA7CDDA00775256 /* PopUpImagesCollectionView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PopUpImagesCollectionView.swift; sourceTree = ""; }; - 4EEA1D8E2D352012003E7DE9 /* ImageCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImageCell.swift; sourceTree = ""; }; - 4EEA1D902D352027003E7DE9 /* ExtendedImage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExtendedImage.swift; sourceTree = ""; }; - 4EED9BAB2D22730400B288E7 /* FilterType.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FilterType.swift; sourceTree = ""; }; - BD226D502CF6DB290038C984 /* PPReturnHeaderView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PPReturnHeaderView.swift; sourceTree = ""; }; - BD91034E2CF6149D00BBCCAE /* AuthAPIEndPoint.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AuthAPIEndPoint.swift; sourceTree = ""; }; - BD91034F2CF6149D00BBCCAE /* LoginResponseDTO.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LoginResponseDTO.swift; sourceTree = ""; }; - BD9103512CF6149D00BBCCAE /* BannerPopUpStoreDTO.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BannerPopUpStoreDTO.swift; sourceTree = ""; }; - BD9103522CF6149D00BBCCAE /* GetHomeInfoResponseDTO.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GetHomeInfoResponseDTO.swift; sourceTree = ""; }; - BD9103532CF6149D00BBCCAE /* HomeAPIEndpoint.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HomeAPIEndpoint.swift; sourceTree = ""; }; - BD9103542CF6149D00BBCCAE /* PopUpStoreResponseDTO.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PopUpStoreResponseDTO.swift; sourceTree = ""; }; - BD9103572CF6149D00BBCCAE /* AuthAPIRepositoryImpl.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AuthAPIRepositoryImpl.swift; sourceTree = ""; }; - BD9103582CF6149D00BBCCAE /* HomeAPIRepository.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HomeAPIRepository.swift; sourceTree = ""; }; - BD9103592CF6149D00BBCCAE /* SignUpRepositoryImpl.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SignUpRepositoryImpl.swift; sourceTree = ""; }; - BD91035B2CF6149D00BBCCAE /* CheckNickNameRequestDTO.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CheckNickNameRequestDTO.swift; sourceTree = ""; }; - BD91035C2CF6149D00BBCCAE /* GetCategoryListResponseDTO.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GetCategoryListResponseDTO.swift; sourceTree = ""; }; - BD91035D2CF6149D00BBCCAE /* SignUpAPIEndpoint.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SignUpAPIEndpoint.swift; sourceTree = ""; }; - BD91035E2CF6149D00BBCCAE /* SignUpRequestDTO.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SignUpRequestDTO.swift; sourceTree = ""; }; - BD9103702CF614A900BBCCAE /* HomeAPIUseCaseImpl.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HomeAPIUseCaseImpl.swift; sourceTree = ""; }; - BD9103722CF614A900BBCCAE /* SignUpAPIUseCaseImpl.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SignUpAPIUseCaseImpl.swift; sourceTree = ""; }; - BD9103742CF614A900BBCCAE /* AuthAPIUseCaseImpl.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AuthAPIUseCaseImpl.swift; sourceTree = ""; }; - BD9103762CF614A900BBCCAE /* BannerPopUpStore.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BannerPopUpStore.swift; sourceTree = ""; }; - BD9103772CF614A900BBCCAE /* Category.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Category.swift; sourceTree = ""; }; - BD9103782CF614A900BBCCAE /* GetHomeInfoResponse.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GetHomeInfoResponse.swift; sourceTree = ""; }; - BD9103792CF614A900BBCCAE /* PopUpStoreResponse.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PopUpStoreResponse.swift; sourceTree = ""; }; - BD91037A2CF614A900BBCCAE /* LoginResponse.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LoginResponse.swift; sourceTree = ""; }; - BD91037C2CF614A900BBCCAE /* AuthRepository.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AuthRepository.swift; sourceTree = ""; }; - BD91038E2CF6166800BBCCAE /* SplashView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SplashView.swift; sourceTree = ""; }; - BD9103902CF6166800BBCCAE /* SplashController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SplashController.swift; sourceTree = ""; }; BDCA41BD2CF35AC0005EECF6 /* Poppool.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Poppool.app; sourceTree = BUILT_PRODUCTS_DIR; }; - BDCA41C02CF35AC0005EECF6 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; - BDCA41C22CF35AC0005EECF6 /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = ""; }; - BDCA41C92CF35AC1005EECF6 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; - BDCA41CC2CF35AC1005EECF6 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; - BDCA41CE2CF35AC1005EECF6 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - BDE30CE02CF87A9700C21E08 /* Poppool.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Poppool.entitlements; sourceTree = ""; }; /* End PBXFileReference section */ -/* Begin PBXFrameworksBuildPhase section */ - BDCA41BA2CF35AC0005EECF6 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - BDCA41F82CF35D9A005EECF6 /* RxSwift in Frameworks */, - BDCA420D2CF35FD2005EECF6 /* RxGesture in Frameworks */, - BDCA42072CF35FA6005EECF6 /* Tabman in Frameworks */, - BDCA42042CF35F76005EECF6 /* PanModal in Frameworks */, - 082197A12D426DCB0054094A /* Then in Frameworks */, - 4E15142E2D994A3A00DFD08F /* KakaoSDKAuth in Frameworks */, - 083A25D02CF364B70099B58E /* Alamofire in Frameworks */, - 4E1514302D994A3A00DFD08F /* KakaoSDKCommon in Frameworks */, - BDCA42102CF35FF5005EECF6 /* Lottie in Frameworks */, - BDCA41FE2CF35EE7005EECF6 /* ReactorKit in Frameworks */, - BDCA41F22CF35D0D005EECF6 /* SnapKit in Frameworks */, - BDCA420A2CF35FB1005EECF6 /* Pageboy in Frameworks */, - 4E5825672D1951DF00EE83EF /* FloatingPanel in Frameworks */, - 4EA9989D2D21C404009DC30B /* RxDataSources in Frameworks */, - 4EE360FD2D91876300D2441D /* NMapsMap in Frameworks */, - BDCA42012CF35EFE005EECF6 /* RxKeyboard in Frameworks */, - 4E15142A2D99480200DFD08F /* NMapsMap in Frameworks */, - 088DE2442D104EE70030FA9E /* SwiftSoup in Frameworks */, - 4E15142C2D994A3A00DFD08F /* KakaoSDK in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 05FBCABE2DABE79A00215BE6 /* AdminAPI */ = { - isa = PBXGroup; - children = ( - 05FBCABF2DABE7AC00215BE6 /* ResponseDTO */, - 4E755B1E2D2B9AE500ADFB21 /* AdminAPIEndpoint.swift */, - ); - path = AdminAPI; - sourceTree = ""; - }; - 05FBCABF2DABE7AC00215BE6 /* ResponseDTO */ = { - isa = PBXGroup; - children = ( - 4E755B1C2D2B9AD300ADFB21 /* GetAdminPopUpStoreListResponseDTO.swift */, - 4E755B202D2B9BAB00ADFB21 /* AdminResponseDTO.swift */, - ); - path = ResponseDTO; - sourceTree = ""; - }; - 05FBCAC02DABEB1100215BE6 /* MapAPI */ = { - isa = PBXGroup; - children = ( - 4EA2C9422D424DF900F4D97C /* FindDirectionEndPoint.swift */, - 4E685EBA2D12CEB6001EF91C /* MapAPIEndpoint.swift */, - 05FBCAC12DABEB3B00215BE6 /* ResponseDTO */, - ); - path = MapAPI; - sourceTree = ""; - }; - 05FBCAC12DABEB3B00215BE6 /* ResponseDTO */ = { - isa = PBXGroup; - children = ( - 4E685EBC2D12CEB6001EF91C /* MapPopUpStoreDTO.swift */, - 4EA2C9402D424D8400F4D97C /* GetPopUpDirectionResponseDTO.swift */, - ); - path = ResponseDTO; - sourceTree = ""; - }; - 0818988C2D295DAD0067BF01 /* MyPageLogoutSection */ = { - isa = PBXGroup; - children = ( - 0818988D2D295DC30067BF01 /* MyPageLogoutSection.swift */, - 0818988F2D295DC80067BF01 /* MyPageLogoutSectionCell.swift */, - ); - path = MyPageLogoutSection; - sourceTree = ""; - }; - 081898912D2962E30067BF01 /* Main */ = { - isa = PBXGroup; - children = ( - 086F89FA2D23B84900CA4FC9 /* View */, - 086F89F22D2269DE00CA4FC9 /* MyPageController.swift */, - 086F89F42D2269E300CA4FC9 /* MyPageReactor.swift */, - ); - path = Main; - sourceTree = ""; - }; - 081898922D2965B10067BF01 /* ProfileEdit */ = { - isa = PBXGroup; - children = ( - 081898C82D30D5AC0067BF01 /* CategoryEditModal */, - 081898C72D30D5A10067BF01 /* InfoEditModal */, - 081898C62D30D5940067BF01 /* Main */, - ); - path = ProfileEdit; - sourceTree = ""; - }; - 081898992D2BAA200067BF01 /* Withdrawl */ = { - isa = PBXGroup; - children = ( - 081898B12D2D20C50067BF01 /* Complete */, - 081898A12D2CBFF30067BF01 /* SelectedReason */, - 0818989A2D2BAA400067BF01 /* CheckModal */, - ); - path = Withdrawl; - sourceTree = ""; - }; - 0818989A2D2BAA400067BF01 /* CheckModal */ = { - isa = PBXGroup; - children = ( - 0818989B2D2BAA570067BF01 /* WithdrawlCheckModalView.swift */, - 0818989D2D2BAA610067BF01 /* WithdrawlCheckModalController.swift */, - 0818989F2D2BAA670067BF01 /* WithdrawlCheckModalReactor.swift */, - ); - path = CheckModal; - sourceTree = ""; - }; - 081898A12D2CBFF30067BF01 /* SelectedReason */ = { - isa = PBXGroup; - children = ( - 081898A82D2CEA210067BF01 /* View */, - 081898A42D2CC0180067BF01 /* WithdrawlReasonController.swift */, - 081898A62D2CC01D0067BF01 /* WithdrawlReasonReactor.swift */, - ); - path = SelectedReason; - sourceTree = ""; - }; - 081898A82D2CEA210067BF01 /* View */ = { - isa = PBXGroup; - children = ( - 081898A22D2CC0110067BF01 /* WithdrawlReasonView.swift */, - 081898A92D2CEA2F0067BF01 /* WithdrawlCheckSectionCell.swift */, - 081898AB2D2CEA940067BF01 /* WithdrawlCheckSection.swift */, - ); - path = View; - sourceTree = ""; - }; - 081898B12D2D20C50067BF01 /* Complete */ = { - isa = PBXGroup; - children = ( - 081898B22D2D20D70067BF01 /* WithdrawlCompleteView.swift */, - 081898B42D2D20E30067BF01 /* WithdrawlCompleteController.swift */, - ); - path = Complete; - sourceTree = ""; - }; - 081898B82D2E5F420067BF01 /* MyComment */ = { - isa = PBXGroup; - children = ( - 081898EA2D33A3870067BF01 /* SortedModal */, - 081898E92D33A3800067BF01 /* Main */, - ); - path = MyComment; - sourceTree = ""; - }; - 081898C12D2FBD170067BF01 /* View */ = { - isa = PBXGroup; - children = ( - 081898952D2965C90067BF01 /* ProfileEditView.swift */, - 081898BF2D2FBD130067BF01 /* ProfileEditListButton.swift */, - ); - path = View; - sourceTree = ""; - }; - 081898C62D30D5940067BF01 /* Main */ = { - isa = PBXGroup; - children = ( - 081898C12D2FBD170067BF01 /* View */, - 081898932D2965C20067BF01 /* ProfileEditController.swift */, - 081898972D2965D20067BF01 /* ProfileEditReactor.swift */, - ); - path = Main; - sourceTree = ""; - }; - 081898C72D30D5A10067BF01 /* InfoEditModal */ = { - isa = PBXGroup; - children = ( - 081898C92D30D5BA0067BF01 /* InfoEditModalView.swift */, - 081898CB2D30D5BF0067BF01 /* InfoEditModalController.swift */, - 081898CD2D30D5C60067BF01 /* InfoEditModalReactor.swift */, - ); - path = InfoEditModal; - sourceTree = ""; - }; - 081898C82D30D5AC0067BF01 /* CategoryEditModal */ = { - isa = PBXGroup; - children = ( - 081898D12D30F57D0067BF01 /* CategoryEditModalView.swift */, - 081898D32D30F5840067BF01 /* CategoryEditModalController.swift */, - 081898D52D30F58A0067BF01 /* CategoryEditModalReactor.swift */, - ); - path = CategoryEditModal; - sourceTree = ""; - }; - 081898DD2D338E2B0067BF01 /* View */ = { - isa = PBXGroup; - children = ( - 08DE8A3D2D54DCAF0049BCAC /* MyCommentedPopUpGridSection */, - 081898DE2D338F790067BF01 /* ListCountButtonSection */, - 081898B92D2E5F4C0067BF01 /* MyCommentView.swift */, - ); - path = View; - sourceTree = ""; - }; - 081898DE2D338F790067BF01 /* ListCountButtonSection */ = { - isa = PBXGroup; - children = ( - 081898DF2D338F9C0067BF01 /* ListCountButtonSection.swift */, - 081898E12D338FA40067BF01 /* ListCountButtonSectionCell.swift */, - ); - path = ListCountButtonSection; - sourceTree = ""; - }; - 081898E92D33A3800067BF01 /* Main */ = { - isa = PBXGroup; - children = ( - 081898DD2D338E2B0067BF01 /* View */, - 081898BD2D2E5F590067BF01 /* MyCommentController.swift */, - 081898BB2D2E5F510067BF01 /* MyCommentReactor.swift */, - ); - path = Main; - sourceTree = ""; - }; - 081898EA2D33A3870067BF01 /* SortedModal */ = { - isa = PBXGroup; - children = ( - 081898EB2D33A3960067BF01 /* MyCommentSortedModalView.swift */, - 081898ED2D33A39D0067BF01 /* MyCommentSortedModalController.swift */, - 081898EF2D33A3A30067BF01 /* MyCommentSortedModalReactor.swift */, - ); - path = SortedModal; - sourceTree = ""; - }; - 081898F12D33D6930067BF01 /* Block */ = { - isa = PBXGroup; - children = ( - 081899002D3407DC0067BF01 /* View */, - 081898F42D33D6B10067BF01 /* BlockUserManageController.swift */, - 081898F62D33D6B70067BF01 /* BlockUserManageReactor.swift */, - ); - path = Block; - sourceTree = ""; - }; - 081899002D3407DC0067BF01 /* View */ = { - isa = PBXGroup; - children = ( - 081899032D3407F80067BF01 /* BlockUserListSection */, - 081898F22D33D6AC0067BF01 /* BlockUserManageView.swift */, - ); - path = View; - sourceTree = ""; - }; - 081899032D3407F80067BF01 /* BlockUserListSection */ = { - isa = PBXGroup; - children = ( - 081899012D3407F50067BF01 /* BlockUserListSection.swift */, - 081899042D34080B0067BF01 /* BlockUserListSectionCell.swift */, - ); - path = BlockUserListSection; - sourceTree = ""; - }; - 081899062D34B3470067BF01 /* Notice */ = { - isa = PBXGroup; - children = ( - 0818991C2D34DF5B0067BF01 /* Detail */, - 0818991B2D34DF530067BF01 /* List */, - ); - path = Notice; - sourceTree = ""; - }; - 081899152D34D6060067BF01 /* View */ = { - isa = PBXGroup; - children = ( - 081899162D34D62F0067BF01 /* NoticeListSection */, - 081899072D34B35A0067BF01 /* MyPageNoticeView.swift */, - ); - path = View; - sourceTree = ""; - }; - 081899162D34D62F0067BF01 /* NoticeListSection */ = { - isa = PBXGroup; - children = ( - 081899172D34D63E0067BF01 /* NoticeListSection.swift */, - 081899192D34D6430067BF01 /* NoticeListSectionCell.swift */, - ); - path = NoticeListSection; - sourceTree = ""; - }; - 0818991B2D34DF530067BF01 /* List */ = { - isa = PBXGroup; - children = ( - 081899152D34D6060067BF01 /* View */, - 081899092D34B3620067BF01 /* MyPageNoticeController.swift */, - 0818990B2D34B3670067BF01 /* MyPageNoticeReactor.swift */, - ); - path = List; - sourceTree = ""; - }; - 0818991C2D34DF5B0067BF01 /* Detail */ = { - isa = PBXGroup; - children = ( - 0818991D2D34DF7D0067BF01 /* MyPageNoticeDetailView.swift */, - 0818991F2D34DF880067BF01 /* MyPageNoticeDetailController.swift */, - 081899212D34DF8E0067BF01 /* MyPageNoticeDetailReactor.swift */, - ); - path = Detail; - sourceTree = ""; - }; - 081899232D3500A90067BF01 /* FAQ */ = { - isa = PBXGroup; - children = ( - 0818992A2D3506100067BF01 /* View */, - 081899262D3500BF0067BF01 /* FAQController.swift */, - 081899282D3500C50067BF01 /* FAQReactor.swift */, - ); - path = FAQ; - sourceTree = ""; - }; - 0818992A2D3506100067BF01 /* View */ = { - isa = PBXGroup; - children = ( - 0818992B2D3506160067BF01 /* FAQDropdownSection */, - 081899242D3500B80067BF01 /* FAQView.swift */, - ); - path = View; - sourceTree = ""; - }; - 0818992B2D3506160067BF01 /* FAQDropdownSection */ = { - isa = PBXGroup; - children = ( - 0818992C2D3506240067BF01 /* FAQDropdownSectionCell.swift */, - 0818992E2D3506290067BF01 /* FAQDropdownSection.swift */, - ); - path = FAQDropdownSection; - sourceTree = ""; - }; - 081899302D35F0C40067BF01 /* Bookmark */ = { - isa = PBXGroup; - children = ( - 0818994E2D363E3D0067BF01 /* ViewTypeModal */, - 0818994D2D363E340067BF01 /* Main */, - ); - path = Bookmark; - sourceTree = ""; - }; - 081899312D35F0D40067BF01 /* Recent */ = { - isa = PBXGroup; - children = ( - 081899422D35FE870067BF01 /* View */, - 0818993A2D35F1250067BF01 /* MyPageRecentController.swift */, - 0818993C2D35F12A0067BF01 /* MyPageRecentReactor.swift */, - ); - path = Recent; - sourceTree = ""; - }; - 081899422D35FE870067BF01 /* View */ = { - isa = PBXGroup; - children = ( - 081899432D35FE8D0067BF01 /* RecentPopUpSection */, - 081899382D35F11F0067BF01 /* MyPageRecentView.swift */, - ); - path = View; - sourceTree = ""; - }; - 081899432D35FE8D0067BF01 /* RecentPopUpSection */ = { - isa = PBXGroup; - children = ( - 081899442D35FEA10067BF01 /* RecentPopUpSection.swift */, - ); - path = RecentPopUpSection; - sourceTree = ""; - }; - 081899462D3632030067BF01 /* View */ = { - isa = PBXGroup; - children = ( - 081899472D3632070067BF01 /* PopUpCardSection */, - 08CBEA0C2D38ED0D00248007 /* CountButtonView.swift */, - ); - path = View; - sourceTree = ""; - }; - 081899472D3632070067BF01 /* PopUpCardSection */ = { - isa = PBXGroup; - children = ( - 081899492D36322B0067BF01 /* PopUpCardSection.swift */, - 0818994B2D3632320067BF01 /* PopUpCardSectionCell.swift */, - 08CBEA3D2D3FF6A100248007 /* PopUpCardView.swift */, - ); - path = PopUpCardSection; - sourceTree = ""; - }; - 0818994D2D363E340067BF01 /* Main */ = { - isa = PBXGroup; - children = ( - 081899462D3632030067BF01 /* View */, - 081899322D35F1090067BF01 /* MyPageBookmarkView.swift */, - 081899342D35F10F0067BF01 /* MyPageBookmarkController.swift */, - 081899362D35F1140067BF01 /* MyPageBookmarkReactor.swift */, - ); - path = Main; - sourceTree = ""; - }; - 0818994E2D363E3D0067BF01 /* ViewTypeModal */ = { - isa = PBXGroup; - children = ( - 0818994F2D363E5C0067BF01 /* BookMarkPopUpViewTypeModalView.swift */, - 081899512D363E640067BF01 /* BookMarkPopUpViewTypeModalController.swift */, - 081899532D363E6A0067BF01 /* BookMarkPopUpViewTypeModalReactor.swift */, - ); - path = ViewTypeModal; - sourceTree = ""; - }; - 082197A42D4E3E9B0054094A /* CommentMyMenu */ = { - isa = PBXGroup; - children = ( - 082197A62D4E3EE00054094A /* CommentMyMenuView.swift */, - 082197A82D4E3EE90054094A /* CommentMyMenuController.swift */, - 082197AA2D4E3EEF0054094A /* CommentMyMenuReactor.swift */, - ); - path = CommentMyMenu; - sourceTree = ""; - }; - 082197A52D4E3EAC0054094A /* CommentInfoMenu */ = { - isa = PBXGroup; - children = ( - 086F89C12D1E345D00CA4FC9 /* CommentUserInfo */, - 082197A42D4E3E9B0054094A /* CommentMyMenu */, - ); - path = CommentInfoMenu; - sourceTree = ""; - }; - 082197AE2D4E4E040054094A /* NormalCommentEdit */ = { - isa = PBXGroup; - children = ( - 082197AF2D4E4E190054094A /* NormalCommentEditView.swift */, - 082197B12D4E4E200054094A /* NormalCommentEditController.swift */, - 082197B32D4E4E280054094A /* NormalCommentEditReactor.swift */, - ); - path = NormalCommentEdit; - sourceTree = ""; - }; - 083A256B2CF361190099B58E /* Application */ = { - isa = PBXGroup; - children = ( - BDCA41C02CF35AC0005EECF6 /* AppDelegate.swift */, - BDCA41C22CF35AC0005EECF6 /* SceneDelegate.swift */, - ); - path = Application; - sourceTree = ""; - }; - 083A256C2CF361210099B58E /* Resource */ = { - isa = PBXGroup; - children = ( - 08DE8A132D525A4A0049BCAC /* Strings */, - 08B191C12CF615CA0057BC04 /* KeyPath.swift */, - 057151572D9D2E0800260615 /* Debug.xcconfig */, - 08B191532CF41D6F0057BC04 /* PP_loading.json */, - 08B191542CF41D6F0057BC04 /* PP_splash.json */, - 08B1914A2CF41D680057BC04 /* Font */, - BDCA41C92CF35AC1005EECF6 /* Assets.xcassets */, - BDCA41CB2CF35AC1005EECF6 /* LaunchScreen.storyboard */, - BDCA41CE2CF35AC1005EECF6 /* Info.plist */, - ); - path = Resource; - sourceTree = ""; - }; - 083A256D2CF3613C0099B58E /* Presentation */ = { - isa = PBXGroup; - children = ( - 08B1915F2CF430D40057BC04 /* Components */, - 083A25C22CF3635B0099B58E /* Scene */, - 083A259D2CF3620B0099B58E /* Utills */, - 08B191332CF366500057BC04 /* Extension */, - ); - path = Presentation; - sourceTree = ""; - }; - 083A25812CF361EF0099B58E /* Controllers */ = { - isa = PBXGroup; - children = ( - 083A257F2CF361EF0099B58E /* BaseTabmanController.swift */, - 083A25802CF361EF0099B58E /* BaseViewController.swift */, - ); - path = Controllers; - sourceTree = ""; - }; - 083A25962CF362090099B58E /* Sectionable */ = { - isa = PBXGroup; - children = ( - 083A25932CF362090099B58E /* Sectionable.swift */, - 083A25942CF362090099B58E /* SectionDecorationItem.swift */, - 083A25952CF362090099B58E /* SectionSupplementaryItem.swift */, - ); - path = Sectionable; - sourceTree = ""; - }; - 083A25982CF362090099B58E /* Interfaces */ = { - isa = PBXGroup; - children = ( - 083A25962CF362090099B58E /* Sectionable */, - 083A25972CF362090099B58E /* InOutputable.swift */, - ); - path = Interfaces; - sourceTree = ""; - }; - 083A259D2CF3620B0099B58E /* Utills */ = { - isa = PBXGroup; - children = ( - 083A25982CF362090099B58E /* Interfaces */, - 083A25812CF361EF0099B58E /* Controllers */, - 08CBEA382D3FABD300248007 /* ToastMaker */, - 4EDDEFB22D2D284B00CFAFA5 /* Common */, - ); - path = Utills; - sourceTree = ""; - }; - 083A259E2CF362310099B58E /* Domain */ = { - isa = PBXGroup; - children = ( - BD91037B2CF614A900BBCCAE /* Entities */, - BD91037F2CF614A900BBCCAE /* Repository */, - BD9103752CF614A900BBCCAE /* UseCase */, - ); - path = Domain; - sourceTree = ""; - }; - 083A259F2CF362360099B58E /* Data */ = { - isa = PBXGroup; - children = ( - BD91035A2CF6149D00BBCCAE /* Repository */, - BD9103602CF6149D00BBCCAE /* Network */, - ); - path = Data; - sourceTree = ""; - }; - 083A25A02CF3623C0099B58E /* Infrastructure */ = { - isa = PBXGroup; - children = ( - 089B4FD62D9A576F00FC0CC3 /* ImageLoader */, - 0841BA832CF9F61500049E31 /* PreSignedService */, - 083A25B12CF362670099B58E /* NetworkLayer */, - 08DC61F42CF765B5002A2F44 /* UserDefaultService.swift */, - 08DC61F22CF75037002A2F44 /* KeyChainService.swift */, - 08B191B72CF6092F0057BC04 /* AuthServiceable.swift */, - 08B191B52CF6092B0057BC04 /* AppleLoginService.swift */, - 08B191B32CF609260057BC04 /* KakaoLoginService.swift */, - 083A25BE2CF362770099B58E /* Logger */, - ); - path = Infrastructure; - sourceTree = ""; - }; - 083A25A42CF362670099B58E /* Common */ = { - isa = PBXGroup; - children = ( - 083A25A12CF362670099B58E /* NetworkError.swift */, - 083A25A22CF362670099B58E /* Requestable.swift */, - 083A25A32CF362670099B58E /* Responsable.swift */, - ); - path = Common; - sourceTree = ""; - }; - 083A25A82CF362670099B58E /* EndPoint */ = { - isa = PBXGroup; - children = ( - 083A25A52CF362670099B58E /* Endpoint.swift */, - 083A25A62CF362670099B58E /* MultipartEndPoint.swift */, - 083A25A72CF362670099B58E /* RequestEndpoint.swift */, - ); - path = EndPoint; - sourceTree = ""; - }; - 083A25AA2CF362670099B58E /* IndicatorMaker */ = { - isa = PBXGroup; - children = ( - 083A25A92CF362670099B58E /* IndicatorMaker.swift */, - ); - path = IndicatorMaker; - sourceTree = ""; - }; - 083A25AD2CF362670099B58E /* Interceptor */ = { - isa = PBXGroup; - children = ( - 083A25AB2CF362670099B58E /* FormDataInterceptor.swift */, - 083A25AC2CF362670099B58E /* TokenInterceptor.swift */, - ); - path = Interceptor; - sourceTree = ""; - }; - 083A25B02CF362670099B58E /* Provider */ = { - isa = PBXGroup; - children = ( - 083A25AE2CF362670099B58E /* Provider.swift */, - 083A25AF2CF362670099B58E /* ProviderImpl.swift */, - ); - path = Provider; - sourceTree = ""; - }; - 083A25B12CF362670099B58E /* NetworkLayer */ = { - isa = PBXGroup; - children = ( - 083A25A42CF362670099B58E /* Common */, - 083A25A82CF362670099B58E /* EndPoint */, - 083A25AA2CF362670099B58E /* IndicatorMaker */, - 083A25AD2CF362670099B58E /* Interceptor */, - 083A25B02CF362670099B58E /* Provider */, - ); - path = NetworkLayer; - sourceTree = ""; - }; - 083A25BE2CF362770099B58E /* Logger */ = { - isa = PBXGroup; - children = ( - 083A25BD2CF362770099B58E /* Logger.swift */, - ); - path = Logger; - sourceTree = ""; - }; - 083A25C22CF3635B0099B58E /* Scene */ = { - isa = PBXGroup; - children = ( - 086F89EF2D2269CD00CA4FC9 /* MyPage */, - 08A2E4772D1B069300102313 /* ImageDetail */, - 0841BABF2CFB5EC700049E31 /* TabbarController */, - 08DC62012CF8ABDA002A2F44 /* Home */, - 086DD9282D00869D00B97D3B /* Search */, - 083A25C42CF363A10099B58E /* SignUp */, - 083A25C32CF363650099B58E /* Login */, - BD9103912CF6166800BBCCAE /* Splash */, - 083C86092D073A08003F441C /* Detail */, - 083C86332D0C7EDB003F441C /* Comment */, - 4E755B1B2D2B9ABF00ADFB21 /* Admin */, - 4E685ECD2D12CEB6001EF91C /* Map */, - ); - path = Scene; - sourceTree = ""; - }; - 083A25C32CF363650099B58E /* Login */ = { - isa = PBXGroup; - children = ( - 086F89E72D2009CF00CA4FC9 /* Main */, - 086F89E82D2009D700CA4FC9 /* Sub */, - 08CBEA0A2D38DBD600248007 /* LastLoginView.swift */, - ); - path = Login; - sourceTree = ""; - }; - 083A25C42CF363A10099B58E /* SignUp */ = { - isa = PBXGroup; - children = ( - 08B1917B2CF46DD40057BC04 /* TermsDetail */, - 08B191572CF41E550057BC04 /* Main */, - 08B191682CF434A10057BC04 /* Step1 */, - 08B191802CF48A5C0057BC04 /* Step2 */, - 08B191892CF49FDE0057BC04 /* Step3 */, - 08B191922CF4A0E00057BC04 /* Step4 */, - 08DC61F62CF76831002A2F44 /* SignUpComplete */, - ); - path = SignUp; - sourceTree = ""; - }; - 083C86092D073A08003F441C /* Detail */ = { - isa = PBXGroup; - children = ( - 083C86212D087A14003F441C /* View */, - 083C860C2D073A1C003F441C /* DetailController.swift */, - 083C860E2D073A23003F441C /* DetailReactor.swift */, - ); - path = Detail; - sourceTree = ""; - }; - 083C86192D087316003F441C /* RequestDTO */ = { - isa = PBXGroup; - children = ( - 0899524E2D033B5A0022AEF9 /* GetSearchPopUpListRequestDTO.swift */, - 083C861B2D087337003F441C /* GetPopUpDetailRequestDTO.swift */, - 08A2E4942D1C078300102313 /* GetPopUpCommentRequestDTO.swift */, - ); - path = RequestDTO; - sourceTree = ""; - }; - 083C861A2D08731C003F441C /* ResponseDTO */ = { - isa = PBXGroup; - children = ( - 0899526B2D0473EC0022AEF9 /* GetSearchPopUpListResponseDTO.swift */, - 0899524A2D033A9C0022AEF9 /* GetClosePopUpListResponseDTO.swift */, - 0899524C2D033AA70022AEF9 /* GetOpenPopUpListResponseDTO.swift */, - 083C861D2D08737F003F441C /* GetPopUpDetailResponseDTO.swift */, - 08A2E4962D1C07F500102313 /* GetPopUpCommentResponseDTO.swift */, - ); - path = ResponseDTO; - sourceTree = ""; - }; - 083C86212D087A14003F441C /* View */ = { - isa = PBXGroup; - children = ( - 08DE8A0E2D5255000049BCAC /* DetailEmptyCommetSection */, - 088DE25B2D145E1F0030FA9E /* DetailSimilarSection */, - 088DE2522D144A6E0030FA9E /* DetailCommentSection */, - 088DE24D2D13018C0030FA9E /* DetailCommentTitleSection */, - 088DE2482D12F3250030FA9E /* DetailInfoSection */, - 083C86272D088069003F441C /* DetailContentSection */, - 083C86222D087A37003F441C /* DetailTitleSection */, - 083C860A2D073A15003F441C /* DetailView.swift */, - ); - path = View; - sourceTree = ""; - }; - 083C86222D087A37003F441C /* DetailTitleSection */ = { - isa = PBXGroup; - children = ( - 083C86232D087A44003F441C /* DetailTitleSection.swift */, - 083C86252D087A4E003F441C /* DetailTitleSectionCell.swift */, - ); - path = DetailTitleSection; - sourceTree = ""; - }; - 083C86272D088069003F441C /* DetailContentSection */ = { - isa = PBXGroup; - children = ( - 083C86282D088080003F441C /* DetailContentSection.swift */, - 083C862A2D08808C003F441C /* DetailContentSectionCell.swift */, - ); - path = DetailContentSection; - sourceTree = ""; - }; - 083C86332D0C7EDB003F441C /* Comment */ = { - isa = PBXGroup; - children = ( - 082197AE2D4E4E040054094A /* NormalCommentEdit */, - 082197A52D4E3EAC0054094A /* CommentInfoMenu */, - 086F89D12D1E6D9100CA4FC9 /* OtherUserComment */, - 086F89C82D1E429400CA4FC9 /* CommentUserBlock */, - 08A2E48D2D1BF6D900102313 /* CommentList */, - 08A2E47E2D1BCDB800102313 /* CommentDetail */, - 083C86572D0DEFB1003F441C /* CommentCheck */, - 083C86342D0C7EE3003F441C /* CommentSelected */, - 083C863B2D0C8BAF003F441C /* NormalCommentAdd */, - 083C865E2D0EC47B003F441C /* InstaComment */, - ); - path = Comment; - sourceTree = ""; - }; - 083C86342D0C7EE3003F441C /* CommentSelected */ = { - isa = PBXGroup; - children = ( - 083C86372D0C7EFC003F441C /* CommentSelectedView.swift */, - 083C86352D0C7EF4003F441C /* CommentSelectedController.swift */, - 083C86392D0C7F0A003F441C /* CommentSelectedReactor.swift */, - ); - path = CommentSelected; - sourceTree = ""; - }; - 083C863B2D0C8BAF003F441C /* NormalCommentAdd */ = { - isa = PBXGroup; - children = ( - 083C86422D0DCD9B003F441C /* View */, - 083C863C2D0C8BC4003F441C /* NormalCommentAddController.swift */, - 083C86402D0C8BD8003F441C /* NormalCommentAddReactor.swift */, - ); - path = NormalCommentAdd; - sourceTree = ""; - }; - 083C86422D0DCD9B003F441C /* View */ = { - isa = PBXGroup; - children = ( - 083C864D2D0DD317003F441C /* AddCommentImageSection */, - 083C86432D0DCDD5003F441C /* AddCommentTitleSection */, - 083C86482D0DCF7A003F441C /* AddCommentDescriptionSection */, - 083C86522D0DD7D1003F441C /* AddCommentSection */, - 083C863E2D0C8BCE003F441C /* NormalCommentAddView.swift */, - ); - path = View; - sourceTree = ""; - }; - 083C86432D0DCDD5003F441C /* AddCommentTitleSection */ = { - isa = PBXGroup; - children = ( - 083C86442D0DCDE8003F441C /* AddCommentTitleSectionCell.swift */, - 083C86462D0DCDFB003F441C /* AddCommentTitleSection.swift */, - ); - path = AddCommentTitleSection; - sourceTree = ""; - }; - 083C86482D0DCF7A003F441C /* AddCommentDescriptionSection */ = { - isa = PBXGroup; - children = ( - 083C86492D0DCF96003F441C /* AddCommentDescriptionSection.swift */, - 083C864B2D0DCF9B003F441C /* AddCommentDescriptionSectionCell.swift */, - ); - path = AddCommentDescriptionSection; - sourceTree = ""; - }; - 083C864D2D0DD317003F441C /* AddCommentImageSection */ = { - isa = PBXGroup; - children = ( - 083C864E2D0DD3A6003F441C /* AddCommentImageSection.swift */, - 083C86502D0DD3AB003F441C /* AddCommentImageSectionCell.swift */, - ); - path = AddCommentImageSection; - sourceTree = ""; - }; - 083C86522D0DD7D1003F441C /* AddCommentSection */ = { - isa = PBXGroup; - children = ( - 083C86532D0DD7E9003F441C /* AddCommentSection.swift */, - 083C86552D0DD7EE003F441C /* AddCommentSectionCell.swift */, - ); - path = AddCommentSection; - sourceTree = ""; - }; - 083C86572D0DEFB1003F441C /* CommentCheck */ = { - isa = PBXGroup; - children = ( - 083C86582D0DEFC3003F441C /* CommentCheckView.swift */, - 083C865A2D0DEFCF003F441C /* CommentCheckController.swift */, - 083C865C2D0DEFD5003F441C /* CommentCheckReactor.swift */, - ); - path = CommentCheck; - sourceTree = ""; - }; - 083C865E2D0EC47B003F441C /* InstaComment */ = { - isa = PBXGroup; - children = ( - 083C86652D0ECB23003F441C /* View */, - 083C86612D0EC49E003F441C /* InstaCommentAddController.swift */, - 083C86632D0EC4A5003F441C /* InstaCommentAddReactor.swift */, - ); - path = InstaComment; - sourceTree = ""; - }; - 083C86652D0ECB23003F441C /* View */ = { - isa = PBXGroup; - children = ( - 083C86662D0ECB2B003F441C /* InstaGuideSection */, - 083C865F2D0EC496003F441C /* InstaCommentAddView.swift */, - ); - path = View; - sourceTree = ""; - }; - 083C86662D0ECB2B003F441C /* InstaGuideSection */ = { - isa = PBXGroup; - children = ( - 083C866C2D0ECB7B003F441C /* InstaGuideChildSection */, - 083C86672D0ECB3C003F441C /* InstaGuideSection */, - ); - path = InstaGuideSection; - sourceTree = ""; - }; - 083C86672D0ECB3C003F441C /* InstaGuideSection */ = { - isa = PBXGroup; - children = ( - 083C86682D0ECB47003F441C /* InstaGuideSection.swift */, - 083C866A2D0ECB4F003F441C /* InstaGuideSectionCell.swift */, - ); - path = InstaGuideSection; - sourceTree = ""; - }; - 083C866C2D0ECB7B003F441C /* InstaGuideChildSection */ = { - isa = PBXGroup; - children = ( - 083C866D2D0ECB87003F441C /* InstaGuideChildSection.swift */, - 083C866F2D0ECB8E003F441C /* InstaGuideChildSectionCell.swift */, - ); - path = InstaGuideChildSection; - sourceTree = ""; - }; - 083C86712D0EE2A3003F441C /* CommentAPI */ = { - isa = PBXGroup; - children = ( - 083C86722D0EE2B1003F441C /* CommentAPIEndPoint.swift */, - 083C86742D0EE2B8003F441C /* RequestDTO */, - ); - path = CommentAPI; - sourceTree = ""; - }; - 083C86742D0EE2B8003F441C /* RequestDTO */ = { - isa = PBXGroup; - children = ( - 083C86752D0EE2CF003F441C /* PostCommentRequestDTO.swift */, - 082197AC2D4E49370054094A /* DeleteCommentRequestDTO.swift */, - 08DE8A0C2D5236840049BCAC /* PutCommentRequestDTO.swift */, - ); - path = RequestDTO; - sourceTree = ""; - }; - 0841BA832CF9F61500049E31 /* PreSignedService */ = { - isa = PBXGroup; - children = ( - 0841BA842CF9F62300049E31 /* PreSignedURLDTO.swift */, - 0841BA852CF9F62300049E31 /* PresignedURLRequestDTO.swift */, - 0841BA862CF9F62300049E31 /* PreSignedURLResponseDTO.swift */, - 0841BA812CF9F5DF00049E31 /* PreSignedService.swift */, - 0841BA8B2CF9F67100049E31 /* PreSignedAPIEndPoint.swift */, - ); - path = PreSignedService; - sourceTree = ""; - }; - 0841BA9D2CFA085700049E31 /* ImageBannerSection */ = { - isa = PBXGroup; - children = ( - 08DC620A2CF8AE0F002A2F44 /* ImageBannerSection.swift */, - 08DC620C2CF8AE16002A2F44 /* ImageBannerSectionCell.swift */, - ); - path = ImageBannerSection; - sourceTree = ""; - }; - 0841BA9E2CFA085F00049E31 /* ImageBannerChildSection */ = { - isa = PBXGroup; - children = ( - 0841BA8D2CF9F8A100049E31 /* ImageBannerChildSection.swift */, - 0841BA7F2CF9F34100049E31 /* ImageBannerChildSectionCell.swift */, - ); - path = ImageBannerChildSection; - sourceTree = ""; - }; - 0841BAA12CFA319400049E31 /* SpacingSection */ = { - isa = PBXGroup; - children = ( - 0841BAA22CFA31A300049E31 /* SpacingSection.swift */, - 0841BAA42CFA31A900049E31 /* SpacingSectionCell.swift */, - ); - path = SpacingSection; - sourceTree = ""; - }; - 0841BAA62CFA353500049E31 /* HomeTitleSection */ = { - isa = PBXGroup; - children = ( - 0841BAA72CFA354500049E31 /* HomeTitleSection.swift */, - 0841BAA92CFA354C00049E31 /* HomeTitleSectionCell.swift */, - ); - path = HomeTitleSection; - sourceTree = ""; - }; - 0841BAAD2CFA38CB00049E31 /* HomeCardSection */ = { - isa = PBXGroup; - children = ( - 0841BAAE2CFA38EA00049E31 /* HomeCardSection.swift */, - 0841BAB02CFA38F500049E31 /* HomeCardSectionCell.swift */, - ); - path = HomeCardSection; - sourceTree = ""; - }; - 0841BAB22CFABEA900049E31 /* HomePopularCardSection */ = { - isa = PBXGroup; - children = ( - 0841BAB32CFABED700049E31 /* HomePopularCardSection.swift */, - 0841BAB52CFABEDC00049E31 /* HomePopularCardSectionCell.swift */, - ); - path = HomePopularCardSection; - sourceTree = ""; - }; - 0841BABF2CFB5EC700049E31 /* TabbarController */ = { - isa = PBXGroup; - children = ( - 0841BAC22CFB600800049E31 /* TabbarController.swift */, - ); - path = TabbarController; - sourceTree = ""; - }; - 086DD8C92CFDFE9100B97D3B /* Main */ = { - isa = PBXGroup; - children = ( - 08DC62082CF8ADB7002A2F44 /* View */, - 08DC62042CF8AC0E002A2F44 /* HomeController.swift */, - 08DC62062CF8AC14002A2F44 /* HomeReactor.swift */, - ); - path = Main; - sourceTree = ""; - }; - 086DD8CA2CFDFE9900B97D3B /* List */ = { - isa = PBXGroup; - children = ( - 086DD8E12CFF355200B97D3B /* View */, - 086DD8CB2CFDFEA800B97D3B /* HomeListController.swift */, - 086DD8CF2CFDFEB900B97D3B /* HomeListReactor.swift */, - 086DD8D22CFDFF1500B97D3B /* HomePopUpType.swift */, - ); - path = List; - sourceTree = ""; - }; - 086DD8D42CFF181500B97D3B /* UserAPI */ = { - isa = PBXGroup; - children = ( - 086DD8D52CFF182100B97D3B /* UserAPIEndPoint.swift */, - 086F89DD2D1E7A7A00CA4FC9 /* ResponseDTO */, - 086F89DC2D1E7A7100CA4FC9 /* RequesetDTO */, - ); - path = UserAPI; - sourceTree = ""; - }; - 086DD8E12CFF355200B97D3B /* View */ = { - isa = PBXGroup; - children = ( - 086DD8CD2CFDFEB000B97D3B /* HomeListView.swift */, - 086DD8E22CFF356300B97D3B /* HomeCardGridSection.swift */, - ); - path = View; - sourceTree = ""; - }; - 086DD9282D00869D00B97D3B /* Search */ = { - isa = PBXGroup; - children = ( - 0899523F2D031E470022AEF9 /* Main */, - 0899525E2D0366A20022AEF9 /* AfterSearch */, - 0899525D2D0366950022AEF9 /* BeforeSearch */, - 089952562D03478D0022AEF9 /* CategoryController */, - 089952402D031E500022AEF9 /* SortedController */, - ); - path = Search; - sourceTree = ""; - }; - 086DD9312D0095DA00B97D3B /* View */ = { - isa = PBXGroup; - children = ( - 086DD93E2D01EED200B97D3B /* SearchCountTitleSection */, - 086DD9372D0099FB00B97D3B /* CancelableTagSection */, - 086DD9322D00960700B97D3B /* SearchTitleSection */, - 086DD92D2D0086B900B97D3B /* SearchView.swift */, - ); - path = View; - sourceTree = ""; - }; - 086DD9322D00960700B97D3B /* SearchTitleSection */ = { - isa = PBXGroup; - children = ( - 086DD9332D00962500B97D3B /* SearchTitleSectionCell.swift */, - 086DD9352D00963900B97D3B /* SearchTitleSection.swift */, - ); - path = SearchTitleSection; - sourceTree = ""; - }; - 086DD9372D0099FB00B97D3B /* CancelableTagSection */ = { - isa = PBXGroup; - children = ( - 086DD93A2D009A1C00B97D3B /* CancelableTagSection.swift */, - 086DD93C2D009A2600B97D3B /* CancelableTagSectionCell.swift */, - ); - path = CancelableTagSection; - sourceTree = ""; - }; - 086DD93E2D01EED200B97D3B /* SearchCountTitleSection */ = { - isa = PBXGroup; - children = ( - 086DD93F2D01EEEB00B97D3B /* SearchCountTitleSection.swift */, - 086DD9412D01EEF700B97D3B /* SearchCountTitleSectionCell.swift */, - ); - path = SearchCountTitleSection; - sourceTree = ""; - }; - 086F89C12D1E345D00CA4FC9 /* CommentUserInfo */ = { - isa = PBXGroup; - children = ( - 086F89C22D1E347700CA4FC9 /* CommentUserInfoView.swift */, - 086F89C42D1E347E00CA4FC9 /* CommentUserInfoController.swift */, - 086F89C62D1E348400CA4FC9 /* CommentUserInfoReactor.swift */, - ); - path = CommentUserInfo; - sourceTree = ""; - }; - 086F89C82D1E429400CA4FC9 /* CommentUserBlock */ = { - isa = PBXGroup; - children = ( - 086F89C92D1E42A700CA4FC9 /* CommentUserBlockView.swift */, - 086F89CB2D1E42B000CA4FC9 /* CommentUserBlockController.swift */, - 086F89CD2D1E42B500CA4FC9 /* CommentUserBlockReactor.swift */, - ); - path = CommentUserBlock; - sourceTree = ""; - }; - 086F89D12D1E6D9100CA4FC9 /* OtherUserComment */ = { - isa = PBXGroup; - children = ( - 086F89E12D1FE8F200CA4FC9 /* View */, - 086F89D42D1E6DB100CA4FC9 /* OtherUserCommentController.swift */, - 086F89D62D1E6DB700CA4FC9 /* OtherUserCommentReactor.swift */, - ); - path = OtherUserComment; - sourceTree = ""; - }; - 086F89DC2D1E7A7100CA4FC9 /* RequesetDTO */ = { - isa = PBXGroup; - children = ( - 086DD8D72CFF185200B97D3B /* PostBookmarkPopUpRequestDTO.swift */, - 08A2E46B2D15BC5000102313 /* CommentLikeRequestDTO.swift */, - 086F89CF2D1E60A100CA4FC9 /* PostUserBlockRequestDTO.swift */, - 086F89D82D1E79E200CA4FC9 /* GetOtherUserCommentListRequestDTO.swift */, - 081898CF2D30EA900067BF01 /* PutUserTailoredInfoRequestDTO.swift */, - 081898D72D310C160067BF01 /* PutUserCategoryRequestDTO.swift */, - 081898D92D32559B0067BF01 /* PutUserProfileRequestDTO.swift */, - 081898E72D3392480067BF01 /* GetMyCommentRequestDTO.swift */, - 081898FE2D33DA440067BF01 /* GetBlockUserListRequestDTO.swift */, - ); - path = RequesetDTO; - sourceTree = ""; - }; - 086F89DD2D1E7A7A00CA4FC9 /* ResponseDTO */ = { - isa = PBXGroup; - children = ( - 086F89DA2D1E7A6C00CA4FC9 /* GetOtherUserCommentedPopUpListResponseDTO.swift */, - 081898C22D30AE2C0067BF01 /* GetMyProfileResponseDTO.swift */, - 086F89F62D226DF600CA4FC9 /* GetMyPageResponseDTO.swift */, - 081898AD2D2CFC230067BF01 /* GetWithdrawlListResponseDTO.swift */, - 081898E32D3391550067BF01 /* GetMyCommentedPopUpResponseDTO.swift */, - 081898FA2D33D9320067BF01 /* GetBlockUserListResponseDTO.swift */, - 0818990D2D34B68C0067BF01 /* GetNoticeListResponseDTO.swift */, - 081899112D34CA9E0067BF01 /* GetNoticeDetailResponseDTO.swift */, - 0818993E2D35FBE00067BF01 /* GetRecentPopUpResponseDTO.swift */, - ); - path = ResponseDTO; - sourceTree = ""; - }; - 086F89DE2D1E7CBE00CA4FC9 /* UserAPI */ = { - isa = PBXGroup; - children = ( - 086F89DF2D1E7CC700CA4FC9 /* GetOtherUserCommentedPopUpListResponse.swift */, - 086F89F82D226EEB00CA4FC9 /* GetMyPageResponse.swift */, - 081898AF2D2CFCA40067BF01 /* GetWithdrawlListResponse.swift */, - 081898C42D30AEF40067BF01 /* GetMyProfileResponse.swift */, - 081898E52D3391CB0067BF01 /* GetMyCommentResponse.swift */, - 081898FC2D33D9ED0067BF01 /* GetBlockUserListResponse.swift */, - 0818990F2D34B7240067BF01 /* GetNoticeListResponse.swift */, - 081899132D34CAEA0067BF01 /* GetNoticeDetailResponse.swift */, - 081899402D35FDA10067BF01 /* GetRecentPopUpResponse.swift */, - ); - name = UserAPI; - sourceTree = ""; - }; - 086F89E12D1FE8F200CA4FC9 /* View */ = { - isa = PBXGroup; - children = ( - 086F89E22D1FE8F800CA4FC9 /* OtherUserCommentSection */, - 086F89D22D1E6DA600CA4FC9 /* OtherUserCommentView.swift */, - ); - path = View; - sourceTree = ""; - }; - 086F89E22D1FE8F800CA4FC9 /* OtherUserCommentSection */ = { - isa = PBXGroup; - children = ( - 086F89E32D1FE91300CA4FC9 /* OtherUserCommentSection.swift */, - 086F89E52D1FE91800CA4FC9 /* OtherUserCommentSectionCell.swift */, - ); - path = OtherUserCommentSection; - sourceTree = ""; - }; - 086F89E72D2009CF00CA4FC9 /* Main */ = { - isa = PBXGroup; - children = ( - 083A25CB2CF363CB0099B58E /* LoginView.swift */, - 083A25C72CF363C00099B58E /* LoginController.swift */, - 083A25C92CF363C60099B58E /* LoginReactor.swift */, - ); - path = Main; - sourceTree = ""; - }; - 086F89E82D2009D700CA4FC9 /* Sub */ = { - isa = PBXGroup; - children = ( - 086F89E92D2009E300CA4FC9 /* SubLoginView.swift */, - 086F89EB2D2009EB00CA4FC9 /* SubLoginController.swift */, - 086F89ED2D2009F100CA4FC9 /* SubLoginReactor.swift */, - ); - path = Sub; - sourceTree = ""; - }; - 086F89EF2D2269CD00CA4FC9 /* MyPage */ = { - isa = PBXGroup; - children = ( - 08DE8A192D5261CD0049BCAC /* Terms */, - 081899312D35F0D40067BF01 /* Recent */, - 081899302D35F0C40067BF01 /* Bookmark */, - 081899232D3500A90067BF01 /* FAQ */, - 081899062D34B3470067BF01 /* Notice */, - 081898F12D33D6930067BF01 /* Block */, - 081898B82D2E5F420067BF01 /* MyComment */, - 081898992D2BAA200067BF01 /* Withdrawl */, - 081898922D2965B10067BF01 /* ProfileEdit */, - 081898912D2962E30067BF01 /* Main */, - ); - path = MyPage; - sourceTree = ""; - }; - 086F89FA2D23B84900CA4FC9 /* View */ = { - isa = PBXGroup; - children = ( - 0818988C2D295DAD0067BF01 /* MyPageLogoutSection */, - 086F8A162D265C5200CA4FC9 /* MyPageListSection */, - 086F8A0D2D26296600CA4FC9 /* MyPageCommentSection */, - 086F8A082D2621DB00CA4FC9 /* MyPageMyCommentTitleSection */, - 086F8A032D23CB2400CA4FC9 /* MyPageProfileSection */, - 086F89F02D2269D800CA4FC9 /* MyPageView.swift */, - ); - path = View; - sourceTree = ""; - }; - 086F8A032D23CB2400CA4FC9 /* MyPageProfileSection */ = { - isa = PBXGroup; - children = ( - 086F8A042D23CB3300CA4FC9 /* MyPageProfileSection.swift */, - 086F8A062D23CB3800CA4FC9 /* MyPageProfileSectionCell.swift */, - ); - path = MyPageProfileSection; - sourceTree = ""; - }; - 086F8A082D2621DB00CA4FC9 /* MyPageMyCommentTitleSection */ = { - isa = PBXGroup; - children = ( - 086F8A092D2621EE00CA4FC9 /* MyPageMyCommentTitleSection.swift */, - 086F8A0B2D2621F400CA4FC9 /* MyPageMyCommentTitleSectionCell.swift */, - ); - path = MyPageMyCommentTitleSection; - sourceTree = ""; - }; - 086F8A0D2D26296600CA4FC9 /* MyPageCommentSection */ = { - isa = PBXGroup; - children = ( - 086F8A0E2D26297900CA4FC9 /* MyPageCommentSection.swift */, - 086F8A102D26297D00CA4FC9 /* MyPageCommentSectionCell.swift */, - ); - path = MyPageCommentSection; - sourceTree = ""; - }; - 086F8A162D265C5200CA4FC9 /* MyPageListSection */ = { - isa = PBXGroup; - children = ( - 086F8A172D265C5F00CA4FC9 /* MyPageListSection.swift */, - 086F8A192D265C6300CA4FC9 /* MyPageListSectionCell.swift */, - ); - path = MyPageListSection; - sourceTree = ""; - }; - 088DE2482D12F3250030FA9E /* DetailInfoSection */ = { - isa = PBXGroup; - children = ( - 088DE2492D12F3360030FA9E /* DetailInfoSection.swift */, - 088DE24B2D12F33B0030FA9E /* DetailInfoSectionCell.swift */, - ); - path = DetailInfoSection; - sourceTree = ""; - }; - 088DE24D2D13018C0030FA9E /* DetailCommentTitleSection */ = { - isa = PBXGroup; - children = ( - 088DE24E2D13019A0030FA9E /* DetailCommentTitleSection.swift */, - 088DE2502D13019E0030FA9E /* DetailCommentTitleSectionCell.swift */, - ); - path = DetailCommentTitleSection; - sourceTree = ""; - }; - 088DE2522D144A6E0030FA9E /* DetailCommentSection */ = { - isa = PBXGroup; - children = ( - 088DE2532D144A7E0030FA9E /* DetailCommentSection.swift */, - 088DE2552D144A830030FA9E /* DetailCommentSectionCell.swift */, - 088DE2572D144B0F0030FA9E /* DetailCommentProfileView.swift */, - 088DE2592D1458620030FA9E /* DetailCommentImageCell.swift */, - ); - path = DetailCommentSection; - sourceTree = ""; - }; - 088DE25B2D145E1F0030FA9E /* DetailSimilarSection */ = { - isa = PBXGroup; - children = ( - 088DE25C2D145E3A0030FA9E /* DetailSimilarSection.swift */, - 088DE25E2D145E3F0030FA9E /* DetailSimilarSectionCell.swift */, - ); - path = DetailSimilarSection; - sourceTree = ""; - }; - 0899523F2D031E470022AEF9 /* Main */ = { - isa = PBXGroup; - children = ( - 089952612D0366D30022AEF9 /* SearchMainView.swift */, - 0899525F2D0366C40022AEF9 /* SearchMainController.swift */, - 089952632D0366DA0022AEF9 /* SearchMainReactor.swift */, - ); - path = Main; - sourceTree = ""; - }; - 089952402D031E500022AEF9 /* SortedController */ = { - isa = PBXGroup; - children = ( - 089952452D031E740022AEF9 /* SearchSortedView.swift */, - 089952412D031E650022AEF9 /* SearchSortedController.swift */, - 089952432D031E6D0022AEF9 /* SearchSortedReactor.swift */, - ); - path = SortedController; - sourceTree = ""; - }; - 089952472D033A0E0022AEF9 /* PopUpAPI */ = { - isa = PBXGroup; - children = ( - 089952482D033A1C0022AEF9 /* PopUpAPIEndPoint.swift */, - 083C861A2D08731C003F441C /* ResponseDTO */, - 083C86192D087316003F441C /* RequestDTO */, - ); - path = PopUpAPI; - sourceTree = ""; - }; - 089952562D03478D0022AEF9 /* CategoryController */ = { - isa = PBXGroup; - children = ( - 0899525B2D0347BD0022AEF9 /* SearchCategoryView.swift */, - 089952572D0347AC0022AEF9 /* SearchCategoryController.swift */, - 089952592D0347B40022AEF9 /* SearchCategoryReactor.swift */, - ); - path = CategoryController; - sourceTree = ""; - }; - 0899525D2D0366950022AEF9 /* BeforeSearch */ = { - isa = PBXGroup; - children = ( - 086DD9312D0095DA00B97D3B /* View */, - 086DD9292D0086AA00B97D3B /* SearchController.swift */, - 086DD92B2D0086B100B97D3B /* SearchReactor.swift */, - ); - path = BeforeSearch; - sourceTree = ""; - }; - 0899525E2D0366A20022AEF9 /* AfterSearch */ = { - isa = PBXGroup; - children = ( - 089952762D0476590022AEF9 /* View */, - 089952652D046CCD0022AEF9 /* SearchResultController.swift */, - 089952672D046CD80022AEF9 /* SearchResultReactor.swift */, - ); - path = AfterSearch; - sourceTree = ""; - }; - 0899526F2D0474430022AEF9 /* PopUpAPI */ = { - isa = PBXGroup; - children = ( - 089952502D033C410022AEF9 /* GetSearchBottomPopUpListResponse.swift */, - 0899526D2D0474340022AEF9 /* GetSearchPopUpListResponse.swift */, - 083C861F2D087445003F441C /* GetPopUpDetailResponse.swift */, - 08A2E4982D1C08D600102313 /* GetPopUpCommentResponse.swift */, - ); - path = PopUpAPI; - sourceTree = ""; - }; - 089952712D0475D70022AEF9 /* SearchResultCountSection */ = { - isa = PBXGroup; - children = ( - 089952722D0475E90022AEF9 /* SearchResultCountSection.swift */, - 089952742D0475F20022AEF9 /* SearchResultCountSectionCell.swift */, - ); - path = SearchResultCountSection; - sourceTree = ""; - }; - 089952762D0476590022AEF9 /* View */ = { - isa = PBXGroup; - children = ( - 089952712D0475D70022AEF9 /* SearchResultCountSection */, - 089952692D046CDE0022AEF9 /* SearchResultView.swift */, - ); - path = View; - sourceTree = ""; - }; - 089B4FD62D9A576F00FC0CC3 /* ImageLoader */ = { - isa = PBXGroup; - children = ( - 089B4FD72D9A57AE00FC0CC3 /* ImageLoader.swift */, - 089B4FDE2D9A8F9A00FC0CC3 /* MemoryStorage.swift */, - 08CFD3912D9BDE99004CDD50 /* DiskStorage.swift */, - ); - path = ImageLoader; - sourceTree = ""; - }; - 08A2E4772D1B069300102313 /* ImageDetail */ = { - isa = PBXGroup; - children = ( - 08A2E4782D1B06A300102313 /* ImageDetailView.swift */, - 08A2E47A2D1B06AA00102313 /* ImageDetailController.swift */, - 08A2E47C2D1B06B000102313 /* ImageDetailReactor.swift */, - ); - path = ImageDetail; - sourceTree = ""; - }; - 08A2E47E2D1BCDB800102313 /* CommentDetail */ = { - isa = PBXGroup; - children = ( - 08A2E4872D1BD86600102313 /* View */, - 08A2E4812D1BCDEA00102313 /* CommentDetailController.swift */, - 08A2E4832D1BCDEF00102313 /* CommentDetailReactor.swift */, - ); - path = CommentDetail; - sourceTree = ""; - }; - 08A2E4872D1BD86600102313 /* View */ = { - isa = PBXGroup; - children = ( - 08A2E4882D1BDA7500102313 /* CommentDetailContentSection */, - 08A2E4852D1BD85C00102313 /* CommentDetailImageSection.swift */, - 08A2E47F2D1BCDE300102313 /* CommentDetailView.swift */, - ); - path = View; - sourceTree = ""; - }; - 08A2E4882D1BDA7500102313 /* CommentDetailContentSection */ = { - isa = PBXGroup; - children = ( - 08A2E4892D1BDA8400102313 /* CommentDetailContentSection.swift */, - 08A2E48B2D1BDA8A00102313 /* CommentDetailContentSectionCell.swift */, - ); - path = CommentDetailContentSection; - sourceTree = ""; - }; - 08A2E48D2D1BF6D900102313 /* CommentList */ = { - isa = PBXGroup; - children = ( - 08A2E49A2D1C414C00102313 /* View */, - 08A2E4902D1BF6EA00102313 /* CommentListController.swift */, - 08A2E4922D1BF6EF00102313 /* CommentListReactor.swift */, - ); - path = CommentList; - sourceTree = ""; - }; - 08A2E49A2D1C414C00102313 /* View */ = { - isa = PBXGroup; - children = ( - 08A2E49B2D1C415500102313 /* CommentListTitleSection */, - 08A2E48E2D1BF6E500102313 /* CommentListView.swift */, - ); - path = View; - sourceTree = ""; - }; - 08A2E49B2D1C415500102313 /* CommentListTitleSection */ = { - isa = PBXGroup; - children = ( - 08A2E49C2D1C416800102313 /* CommentListTitleSection.swift */, - 08A2E49E2D1C417000102313 /* CommentListTitleSectionCell.swift */, - ); - path = CommentListTitleSection; - sourceTree = ""; - }; - 08B191332CF366500057BC04 /* Extension */ = { - isa = PBXGroup; - children = ( - 08B1919F2CF4AA0E0057BC04 /* Reactive+.swift */, - 0841BABB2CFB59E200049E31 /* String?+.swift */, - 08B191402CF367FF0057BC04 /* UIFont+.swift */, - 08B1913E2CF367FA0057BC04 /* UIColor+.swift */, - 08B191352CF366670057BC04 /* UICollectionReusableView+.swift */, - 08B191342CF366670057BC04 /* UICollectionViewCell+.swift */, - 08B191362CF366670057BC04 /* UITableViewCell+.swift */, - 08B1913A2CF366A00057BC04 /* UIApplication+.swift */, - 08B191772CF442230057BC04 /* UIImage+.swift */, - 0841BAAB2CFA35F300049E31 /* UILabel+.swift */, - 0841BABD2CFB5AA600049E31 /* Date?+.swift */, - 086DD8C72CFDEA9200B97D3B /* UIView+.swift */, - 086DD8DF2CFF2C3700B97D3B /* UIImageView+.swift */, - 086DD92F2D0090E900B97D3B /* UITextField+.swift */, - 081898B62D2D23A90067BF01 /* UINavigationController+.swift */, - ); - path = Extension; - sourceTree = ""; - }; - 08B1914A2CF41D680057BC04 /* Font */ = { - isa = PBXGroup; - children = ( - 08B191422CF41D680057BC04 /* GothicA1-Bold.ttf */, - 08B191432CF41D680057BC04 /* GothicA1-Light.ttf */, - 08B191442CF41D680057BC04 /* GothicA1-Medium.ttf */, - 08B191452CF41D680057BC04 /* GothicA1-Regular.ttf */, - 08B191462CF41D680057BC04 /* Poppins-Bold.ttf */, - 08B191472CF41D680057BC04 /* Poppins-Light.ttf */, - 08B191482CF41D680057BC04 /* Poppins-Medium.ttf */, - 08B191492CF41D680057BC04 /* Poppins-Regular.ttf */, - ); - path = Font; - sourceTree = ""; - }; - 08B191572CF41E550057BC04 /* Main */ = { - isa = PBXGroup; - children = ( - 08B1915E2CF430C00057BC04 /* View */, - 08B191582CF41E610057BC04 /* SignUpMainController.swift */, - 08B1915A2CF41E690057BC04 /* SignUpMainReactor.swift */, - ); - path = Main; - sourceTree = ""; - }; - 08B1915E2CF430C00057BC04 /* View */ = { - isa = PBXGroup; - children = ( - 08B1915C2CF41E6F0057BC04 /* SignUpMainView.swift */, - ); - path = View; - sourceTree = ""; - }; - 08B1915F2CF430D40057BC04 /* Components */ = { - isa = PBXGroup; - children = ( - 08B191B12CF5C0A60057BC04 /* PPPicker.swift */, - 08B191702CF4398D0057BC04 /* PPLabel.swift */, - 08B191752CF440C40057BC04 /* PPButton.swift */, - 08B191662CF432220057BC04 /* PPCancelHeaderView.swift */, - BD226D502CF6DB290038C984 /* PPReturnHeaderView.swift */, - 08B191A32CF5A7030057BC04 /* PPSegmentedControl.swift */, - 08B191642CF430F80057BC04 /* PPProgressIndicator */, - ); - path = Components; - sourceTree = ""; - }; - 08B191642CF430F80057BC04 /* PPProgressIndicator */ = { - isa = PBXGroup; - children = ( - 08B191602CF430E70057BC04 /* PPProgressView.swift */, - 08B191622CF430F30057BC04 /* PPProgressIndicator.swift */, - ); - path = PPProgressIndicator; - sourceTree = ""; - }; - 08B191682CF434A10057BC04 /* Step1 */ = { - isa = PBXGroup; - children = ( - 08B191722CF43D900057BC04 /* View */, - 08B191692CF434B80057BC04 /* SignUpStep1Controller.swift */, - 08B1916D2CF434CF0057BC04 /* SignUpStep1Reactor.swift */, - ); - path = Step1; - sourceTree = ""; - }; - 08B191722CF43D900057BC04 /* View */ = { - isa = PBXGroup; - children = ( - 08B1916B2CF434C30057BC04 /* SignUpStep1View.swift */, - 08B191732CF43DF40057BC04 /* SignUpCheckBoxButton.swift */, - 08B191792CF452B30057BC04 /* SignUpTermsView.swift */, - ); - path = View; - sourceTree = ""; - }; - 08B1917B2CF46DD40057BC04 /* TermsDetail */ = { - isa = PBXGroup; - children = ( - 08B1917E2CF46DF20057BC04 /* TermsDetailView.swift */, - 08B1917C2CF46DE30057BC04 /* TermsDetailController.swift */, - ); - path = TermsDetail; - sourceTree = ""; - }; - 08B191802CF48A5C0057BC04 /* Step2 */ = { - isa = PBXGroup; - children = ( - 08B191832CF48A820057BC04 /* SignUpStep2View.swift */, - 08B191812CF48A7B0057BC04 /* SignUpStep2Controller.swift */, - 08B191852CF48A8B0057BC04 /* SignUpStep2Reactor.swift */, - 08B191872CF48FAE0057BC04 /* NickNameState.swift */, - 081898DB2D326DC10067BF01 /* IntroState.swift */, - ); - path = Step2; - sourceTree = ""; - }; - 08B191892CF49FDE0057BC04 /* Step3 */ = { - isa = PBXGroup; - children = ( - 08B191992CF4A63E0057BC04 /* View */, - 08B1918E2CF4A0020057BC04 /* SignUpStep3Controller.swift */, - 08B191902CF4A00E0057BC04 /* SignUpStep3Reactor.swift */, - ); - path = Step3; - sourceTree = ""; - }; - 08B191922CF4A0E00057BC04 /* Step4 */ = { - isa = PBXGroup; - children = ( - 08B191AA2CF5BF8E0057BC04 /* AgeSelectedModal */, - 08B191A92CF5BF860057BC04 /* Main */, - ); - path = Step4; - sourceTree = ""; - }; - 08B191992CF4A63E0057BC04 /* View */ = { - isa = PBXGroup; - children = ( - 08B1919A2CF4A7700057BC04 /* TagSection */, - 08B1918C2CF49FF70057BC04 /* SignUpStep3View.swift */, - ); - path = View; - sourceTree = ""; - }; - 08B1919A2CF4A7700057BC04 /* TagSection */ = { - isa = PBXGroup; - children = ( - 08B1919B2CF4A77C0057BC04 /* TagSection.swift */, - 08B1919D2CF4A7830057BC04 /* TagSectionCell.swift */, - ); - path = TagSection; - sourceTree = ""; - }; - 08B191A82CF5A94B0057BC04 /* View */ = { - isa = PBXGroup; - children = ( - 08B191932CF4A0F00057BC04 /* SignUpStep4View.swift */, - 08B191A62CF5A9430057BC04 /* AgeSelectedButton.swift */, - ); - path = View; - sourceTree = ""; - }; - 08B191A92CF5BF860057BC04 /* Main */ = { - isa = PBXGroup; - children = ( - 08B191A82CF5A94B0057BC04 /* View */, - 08B191952CF4A0FA0057BC04 /* SignUpStep4Controller.swift */, - 08B191972CF4A1010057BC04 /* SignUpStep4Reactor.swift */, - ); - path = Main; - sourceTree = ""; - }; - 08B191AA2CF5BF8E0057BC04 /* AgeSelectedModal */ = { - isa = PBXGroup; - children = ( - 08B191AD2CF5BFA60057BC04 /* AgeSelectedView.swift */, - 08B191AB2CF5BF9D0057BC04 /* AgeSelectedController.swift */, - 08B191AF2CF5BFAE0057BC04 /* AgeSelectedReactor.swift */, - ); - path = AgeSelectedModal; - sourceTree = ""; - }; - 08CBE9FF2D38986E00248007 /* ResponseDTO */ = { - isa = PBXGroup; - children = ( - BD91034F2CF6149D00BBCCAE /* LoginResponseDTO.swift */, - 08CBEA022D38989E00248007 /* PostTokenReissueResponseDTO.swift */, - ); - path = ResponseDTO; - sourceTree = ""; - }; - 08CBEA042D38990600248007 /* AuthAPI */ = { - isa = PBXGroup; - children = ( - BD91037A2CF614A900BBCCAE /* LoginResponse.swift */, - 08CBEA052D38991600248007 /* PostTokenReissueResponse.swift */, - ); - path = AuthAPI; - sourceTree = ""; - }; - 08CBEA382D3FABD300248007 /* ToastMaker */ = { - isa = PBXGroup; - children = ( - 08B191A12CF4AE890057BC04 /* ToastMaker.swift */, - 08CBEA392D3FABE100248007 /* ToastView.swift */, - 08CBEA3B2D3FABED00248007 /* BookMarkToastView.swift */, - ); - path = ToastMaker; - sourceTree = ""; - }; - 08DC61F62CF76831002A2F44 /* SignUpComplete */ = { - isa = PBXGroup; - children = ( - 08DC61F72CF76843002A2F44 /* SignUpCompleteView.swift */, - 08DC61F92CF7684F002A2F44 /* SignUpCompleteController.swift */, - 08DC61FB2CF76862002A2F44 /* SignUpCompleteReactor.swift */, - ); - path = SignUpComplete; - sourceTree = ""; - }; - 08DC62012CF8ABDA002A2F44 /* Home */ = { - isa = PBXGroup; - children = ( - 086DD8CA2CFDFE9900B97D3B /* List */, - 086DD8C92CFDFE9100B97D3B /* Main */, - ); - path = Home; - sourceTree = ""; - }; - 08DC62082CF8ADB7002A2F44 /* View */ = { - isa = PBXGroup; - children = ( - 0841BAB22CFABEA900049E31 /* HomePopularCardSection */, - 0841BAAD2CFA38CB00049E31 /* HomeCardSection */, - 0841BAA62CFA353500049E31 /* HomeTitleSection */, - 0841BAA12CFA319400049E31 /* SpacingSection */, - 08DC62092CF8ADFF002A2F44 /* ImageBannerSection */, - 0841BAB72CFAC41300049E31 /* SectionBackGroundDecorationView.swift */, - 08DC62022CF8AC06002A2F44 /* HomeView.swift */, - 0841BAB92CFAE5BE00049E31 /* HomeHeaderView.swift */, - ); - path = View; - sourceTree = ""; - }; - 08DC62092CF8ADFF002A2F44 /* ImageBannerSection */ = { - isa = PBXGroup; - children = ( - 0841BA9D2CFA085700049E31 /* ImageBannerSection */, - 0841BA9E2CFA085F00049E31 /* ImageBannerChildSection */, - ); - path = ImageBannerSection; - sourceTree = ""; - }; - 08DC620E2CF8B36D002A2F44 /* ResponseDTO */ = { - isa = PBXGroup; - children = ( - BD9103512CF6149D00BBCCAE /* BannerPopUpStoreDTO.swift */, - BD9103542CF6149D00BBCCAE /* PopUpStoreResponseDTO.swift */, - BD9103522CF6149D00BBCCAE /* GetHomeInfoResponseDTO.swift */, - ); - path = ResponseDTO; - sourceTree = ""; - }; - 08DE8A0E2D5255000049BCAC /* DetailEmptyCommetSection */ = { - isa = PBXGroup; - children = ( - 08DE8A0F2D5255110049BCAC /* DetailEmptyCommetSection.swift */, - 08DE8A112D5255180049BCAC /* DetailEmptyCommetSectionCell.swift */, - ); - path = DetailEmptyCommetSection; - sourceTree = ""; - }; - 08DE8A132D525A4A0049BCAC /* Strings */ = { - isa = PBXGroup; - children = ( - 08DE8A172D525BA20049BCAC /* Terms.plist */, - ); - path = Strings; - sourceTree = ""; - }; - 08DE8A192D5261CD0049BCAC /* Terms */ = { - isa = PBXGroup; - children = ( - 08DE8A1A2D5261DE0049BCAC /* MyPageTermsController.swift */, - 08DE8A1C2D5261E70049BCAC /* MyPageTermsReactor.swift */, - ); - path = Terms; - sourceTree = ""; - }; - 08DE8A3D2D54DCAF0049BCAC /* MyCommentedPopUpGridSection */ = { - isa = PBXGroup; - children = ( - 08DE8A3E2D54DCC40049BCAC /* MyCommentedPopUpGridSection.swift */, - 08DE8A402D54DCCA0049BCAC /* MyCommentedPopUpGridSectionCell.swift */, - ); - path = MyCommentedPopUpGridSection; - sourceTree = ""; - }; - 4E685EB52D12CEB6001EF91C /* FillterSheetView */ = { - isa = PBXGroup; - children = ( - 4E685EAA2D12CEB6001EF91C /* BalloonBackgroundView.swift */, - 4E685EAB2D12CEB6001EF91C /* BalloonChipCell.swift */, - 4E685EAD2D12CEB6001EF91C /* FilterBottomSheetReactor.swift */, - 4E685EAE2D12CEB6001EF91C /* FilterBottomSheetView.swift */, - 4E685EAF2D12CEB6001EF91C /* FilterBottomSheetViewController.swift */, - 4E685EB02D12CEB6001EF91C /* FilterCell.swift */, - 4E685EB12D12CEB6001EF91C /* FilterChip.swift */, - 4E685EB22D12CEB6001EF91C /* FilterChipsView.swift */, - ); - path = FillterSheetView; - sourceTree = ""; - }; - 4E685EC02D12CEB6001EF91C /* MapPopupCardView */ = { - isa = PBXGroup; - children = ( - 4E685EBE2D12CEB6001EF91C /* MapPopupCarouselView.swift */, - 4E685EBF2D12CEB6001EF91C /* PopupCardCell.swift */, - ); - path = MapPopupCardView; - sourceTree = ""; - }; - 4E685EC52D12CEB6001EF91C /* StoreListView */ = { - isa = PBXGroup; - children = ( - 4E685EC12D12CEB6001EF91C /* StoreListCell.swift */, - 4E685EC22D12CEB6001EF91C /* StoreListReactor.swift */, - 4E685EC32D12CEB6001EF91C /* StoreListView.swift */, - 4EA998992D21C2FC009DC30B /* StoreListSection.swift */, - 4E685EC42D12CEB6001EF91C /* StoreListViewController.swift */, - ); - path = StoreListView; - sourceTree = ""; - }; - 4E685ECD2D12CEB6001EF91C /* Map */ = { - isa = PBXGroup; - children = ( - 4EC23F432D6F7E6D00558673 /* MapView */, - 4E685EB52D12CEB6001EF91C /* FillterSheetView */, - 4E685EC52D12CEB6001EF91C /* StoreListView */, - 4E685EC02D12CEB6001EF91C /* MapPopupCardView */, - 4EE5A3D12D40E3B100A2469A /* FindMap */, - ); - path = Map; - sourceTree = ""; - }; - 4E755B1B2D2B9ABF00ADFB21 /* Admin */ = { - isa = PBXGroup; - children = ( - 4E755B222D2B9C5D00ADFB21 /* AdminViewController.swift */, - 4E755B242D2B9C6C00ADFB21 /* AdminView.swift */, - 4E755B262D2B9C7C00ADFB21 /* AdminStoreCell.swift */, - 4E755B282D2BA65A00ADFB21 /* AdminReactor.swift */, - 4E9405302D6F7C790002B590 /* AdminRegister */, - 4E94052F2D6F7C670002B590 /* AdminBottomSheet */, - 4EEA1D8E2D352012003E7DE9 /* ImageCell.swift */, - ); - path = Admin; - sourceTree = ""; - }; - 4E94052F2D6F7C670002B590 /* AdminBottomSheet */ = { - isa = PBXGroup; - children = ( - 4E9C12772D2BC7A0006744D6 /* AdminBottomSheetView.swift */, - 4E9C12792D2BC811006744D6 /* AdminBottomSheetViewController.swift */, - 4E6CA4842D34D6ED0034D09A /* AdminBottomSheetReactor.swift */, - ); - path = AdminBottomSheet; - sourceTree = ""; - }; - 4E9405302D6F7C790002B590 /* AdminRegister */ = { - isa = PBXGroup; - children = ( - 4E9C12802D2BE0A6006744D6 /* PopUpStoreRegisterViewController.swift */, - 4E643FC02D738D7F0046AF29 /* PopUpStoreRegisterReactor.swift */, - 4E643FC22D738D930046AF29 /* PopUpStoreRegisterView.swift */, - 4EEA13062DA7CDDA00775256 /* PopUpImagesCollectionView.swift */, - ); - path = AdminRegister; - sourceTree = ""; - }; - 4EA2C93B2D424D2600F4D97C /* MapGuideView */ = { - isa = PBXGroup; - children = ( - 4E6A066F2D42A96100B2A658 /* FullScreenMapViewController.swift */, - 4E9790C42D40E13500210499 /* MapGuideViewController.swift */, - 4EE5A3D22D40E4A600A2469A /* MapGuideReactor.swift */, - ); - path = MapGuideView; - sourceTree = ""; - }; - 4EC23F432D6F7E6D00558673 /* MapView */ = { - isa = PBXGroup; - children = ( - 4E8AA29C2D59A2340029DF75 /* MarkerTooltipView.swift */, - 4E685EC72D12CEB6001EF91C /* MapMarker.swift */, - 4E685EC82D12CEB6001EF91C /* MapReactor.swift */, - 4E685EC92D12CEB6001EF91C /* MapSearchInput.swift */, - 4E685ECB2D12CEB6001EF91C /* MapView.swift */, - 4E685ECC2D12CEB6001EF91C /* MapViewController.swift */, - ); - path = MapView; - sourceTree = ""; - }; - 4EDDEFB22D2D284B00CFAFA5 /* Common */ = { - isa = PBXGroup; - children = ( - 4EAB809C2D3F78AA0041AF30 /* NMFMapViewDelegateProxy.swift */, - 4EAB809E2D3F8EF50041AF30 /* ViewportBounds.swift */, - 4EED9BAB2D22730400B288E7 /* FilterType.swift */, - 4E6C07052D4B6E56008A962A /* RegionDefinitions.swift */, - 4E685EC62D12CEB6001EF91C /* MapFilterChips.swift */, - 4E9A465F2D55D1270010578A /* MapUtilities.swift */, - 4E6C07092D4B6E81008A962A /* ClusteringManager.swift */, - 4E6C07072D4B6E74008A962A /* ClusteringModels.swift */, - 4EDE57022D5E70650014D924 /* LocationPermissionBottomSheet.swift */, - 4EDDEFB32D2D285900CFAFA5 /* DateTimePickerManager.swift */, - 4EEA1D902D352027003E7DE9 /* ExtendedImage.swift */, - ); - path = Common; - sourceTree = ""; - }; - 4EE5A3D12D40E3B100A2469A /* FindMap */ = { - isa = PBXGroup; - children = ( - 4EA2C93B2D424D2600F4D97C /* MapGuideView */, - ); - path = FindMap; - sourceTree = ""; - }; - BD9103502CF6149D00BBCCAE /* AuthAPI */ = { - isa = PBXGroup; - children = ( - BD91034E2CF6149D00BBCCAE /* AuthAPIEndPoint.swift */, - 08CBE9FF2D38986E00248007 /* ResponseDTO */, - ); - path = AuthAPI; - sourceTree = ""; - }; - BD9103562CF6149D00BBCCAE /* HomeAPI */ = { - isa = PBXGroup; - children = ( - BD9103532CF6149D00BBCCAE /* HomeAPIEndpoint.swift */, - 08DC620E2CF8B36D002A2F44 /* ResponseDTO */, - ); - path = HomeAPI; - sourceTree = ""; - }; - BD91035A2CF6149D00BBCCAE /* Repository */ = { - isa = PBXGroup; - children = ( - 4E755B2E2D2BA7FB00ADFB21 /* AdminRepository.swift */, - BD9103572CF6149D00BBCCAE /* AuthAPIRepositoryImpl.swift */, - BD9103582CF6149D00BBCCAE /* HomeAPIRepository.swift */, - BD9103592CF6149D00BBCCAE /* SignUpRepositoryImpl.swift */, - 086DD8D92CFF194700B97D3B /* UserAPIRepositoryImpl.swift */, - 089952522D033C940022AEF9 /* PopUpAPIRepositoryImpl.swift */, - 083C86772D0EE382003F441C /* CommentAPIRepository.swift */, - 4E685EB62D12CEB6001EF91C /* MapRepository.swift */, - ); - path = Repository; - sourceTree = ""; - }; - BD91035F2CF6149D00BBCCAE /* SignUpAPI */ = { - isa = PBXGroup; - children = ( - BD91035B2CF6149D00BBCCAE /* CheckNickNameRequestDTO.swift */, - BD91035C2CF6149D00BBCCAE /* GetCategoryListResponseDTO.swift */, - BD91035D2CF6149D00BBCCAE /* SignUpAPIEndpoint.swift */, - BD91035E2CF6149D00BBCCAE /* SignUpRequestDTO.swift */, - ); - path = SignUpAPI; - sourceTree = ""; - }; - BD9103602CF6149D00BBCCAE /* Network */ = { - isa = PBXGroup; - children = ( - 08DC62102CF8B446002A2F44 /* SortedRequestDTO.swift */, - 05FBCAC02DABEB1100215BE6 /* MapAPI */, - 05FBCABE2DABE79A00215BE6 /* AdminAPI */, - 083C86712D0EE2A3003F441C /* CommentAPI */, - 089952472D033A0E0022AEF9 /* PopUpAPI */, - 086DD8D42CFF181500B97D3B /* UserAPI */, - BD9103502CF6149D00BBCCAE /* AuthAPI */, - BD9103562CF6149D00BBCCAE /* HomeAPI */, - BD91035F2CF6149D00BBCCAE /* SignUpAPI */, +/* Begin PBXFileSystemSynchronizedBuildFileExceptionSet section */ + 05878B6F2DAD2E10004F81E2 /* PBXFileSystemSynchronizedBuildFileExceptionSet */ = { + isa = PBXFileSystemSynchronizedBuildFileExceptionSet; + membershipExceptions = ( + /Localized/Resource/LaunchScreen.storyboard, + Resource/Debug.xcconfig, + Resource/Info.plist, ); - path = Network; - sourceTree = ""; - }; - BD9103752CF614A900BBCCAE /* UseCase */ = { - isa = PBXGroup; - children = ( - BD9103702CF614A900BBCCAE /* HomeAPIUseCaseImpl.swift */, - BD9103722CF614A900BBCCAE /* SignUpAPIUseCaseImpl.swift */, - BD9103742CF614A900BBCCAE /* AuthAPIUseCaseImpl.swift */, - 086DD8DD2CFF19C400B97D3B /* UserAPIUseCaseImpl.swift */, - 4EA2C93E2D424D7400F4D97C /* MapDirectionUseCase.swift */, - 089952542D033D480022AEF9 /* PopUpAPIUseCaseImpl.swift */, - 083C86792D0EE3BB003F441C /* CommentAPIUseCaseImpl.swift */, - 4E755B2A2D2BA76E00ADFB21 /* AdminUseCase.swift */, - 4E685EB82D12CEB6001EF91C /* MapUseCase.swift */, - ); - path = UseCase; - sourceTree = ""; - }; - BD91037B2CF614A900BBCCAE /* Entities */ = { - isa = PBXGroup; - children = ( - 08CBEA042D38990600248007 /* AuthAPI */, - 086F89DE2D1E7CBE00CA4FC9 /* UserAPI */, - BD9103762CF614A900BBCCAE /* BannerPopUpStore.swift */, - 4E685EBB2D12CEB6001EF91C /* MapPopUpStore.swift */, - BD9103772CF614A900BBCCAE /* Category.swift */, - BD9103782CF614A900BBCCAE /* GetHomeInfoResponse.swift */, - BD9103792CF614A900BBCCAE /* PopUpStoreResponse.swift */, - 0899526F2D0474430022AEF9 /* PopUpAPI */, - ); - path = Entities; - sourceTree = ""; - }; - BD91037F2CF614A900BBCCAE /* Repository */ = { - isa = PBXGroup; - children = ( - 4EA2C93C2D424D3300F4D97C /* MapDirectionRepository.swift */, - BD91037C2CF614A900BBCCAE /* AuthRepository.swift */, - ); - path = Repository; - sourceTree = ""; + target = BDCA41BC2CF35AC0005EECF6 /* Poppool */; }; - BD91038F2CF6166800BBCCAE /* View */ = { - isa = PBXGroup; - children = ( - BD91038E2CF6166800BBCCAE /* SplashView.swift */, +/* End PBXFileSystemSynchronizedBuildFileExceptionSet section */ + +/* Begin PBXFileSystemSynchronizedGroupBuildPhaseMembershipExceptionSet section */ + 05878B702DAD2E10004F81E2 /* PBXFileSystemSynchronizedGroupBuildPhaseMembershipExceptionSet */ = { + isa = PBXFileSystemSynchronizedGroupBuildPhaseMembershipExceptionSet; + buildPhase = BDCA41BB2CF35AC0005EECF6 /* Resources */; + membershipExceptions = ( + Resource/Base.lproj/LaunchScreen.storyboard, ); - path = View; - sourceTree = ""; }; - BD9103912CF6166800BBCCAE /* Splash */ = { - isa = PBXGroup; - children = ( - BD91038F2CF6166800BBCCAE /* View */, - BD9103902CF6166800BBCCAE /* SplashController.swift */, +/* End PBXFileSystemSynchronizedGroupBuildPhaseMembershipExceptionSet section */ + +/* Begin PBXFileSystemSynchronizedRootGroup section */ + 058789AD2DAD2E10004F81E2 /* Poppool */ = {isa = PBXFileSystemSynchronizedRootGroup; exceptions = (05878B6F2DAD2E10004F81E2 /* PBXFileSystemSynchronizedBuildFileExceptionSet */, 05878B702DAD2E10004F81E2 /* PBXFileSystemSynchronizedGroupBuildPhaseMembershipExceptionSet */, ); explicitFileTypes = {}; explicitFolders = (); path = Poppool; sourceTree = ""; }; +/* End PBXFileSystemSynchronizedRootGroup section */ + +/* Begin PBXFrameworksBuildPhase section */ + BDCA41BA2CF35AC0005EECF6 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + BDCA41F82CF35D9A005EECF6 /* RxSwift in Frameworks */, + BDCA420D2CF35FD2005EECF6 /* RxGesture in Frameworks */, + BDCA42072CF35FA6005EECF6 /* Tabman in Frameworks */, + BDCA42042CF35F76005EECF6 /* PanModal in Frameworks */, + 082197A12D426DCB0054094A /* Then in Frameworks */, + 4E15142E2D994A3A00DFD08F /* KakaoSDKAuth in Frameworks */, + 083A25D02CF364B70099B58E /* Alamofire in Frameworks */, + 4E1514302D994A3A00DFD08F /* KakaoSDKCommon in Frameworks */, + BDCA42102CF35FF5005EECF6 /* Lottie in Frameworks */, + BDCA41FE2CF35EE7005EECF6 /* ReactorKit in Frameworks */, + BDCA41F22CF35D0D005EECF6 /* SnapKit in Frameworks */, + BDCA420A2CF35FB1005EECF6 /* Pageboy in Frameworks */, + 4E5825672D1951DF00EE83EF /* FloatingPanel in Frameworks */, + 4EA9989D2D21C404009DC30B /* RxDataSources in Frameworks */, + 4EE360FD2D91876300D2441D /* NMapsMap in Frameworks */, + BDCA42012CF35EFE005EECF6 /* RxKeyboard in Frameworks */, + 4E15142A2D99480200DFD08F /* NMapsMap in Frameworks */, + 088DE2442D104EE70030FA9E /* SwiftSoup in Frameworks */, + 4E15142C2D994A3A00DFD08F /* KakaoSDK in Frameworks */, ); - path = Splash; - sourceTree = ""; + runOnlyForDeploymentPostprocessing = 0; }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ BDCA41B42CF35AC0005EECF6 = { isa = PBXGroup; children = ( 05229DD02D99519200D88E73 /* .swiftlint.yml */, - BDCA41BF2CF35AC0005EECF6 /* Poppool */, + 058789AD2DAD2E10004F81E2 /* Poppool */, BDCA41BE2CF35AC0005EECF6 /* Products */, ); sourceTree = ""; @@ -2930,20 +106,6 @@ name = Products; sourceTree = ""; }; - BDCA41BF2CF35AC0005EECF6 /* Poppool */ = { - isa = PBXGroup; - children = ( - BDE30CE02CF87A9700C21E08 /* Poppool.entitlements */, - 083A256B2CF361190099B58E /* Application */, - 083A256D2CF3613C0099B58E /* Presentation */, - 083A259E2CF362310099B58E /* Domain */, - 083A259F2CF362360099B58E /* Data */, - 083A25A02CF3623C0099B58E /* Infrastructure */, - 083A256C2CF361210099B58E /* Resource */, - ); - path = Poppool; - sourceTree = ""; - }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -2960,6 +122,9 @@ ); dependencies = ( ); + fileSystemSynchronizedGroups = ( + 058789AD2DAD2E10004F81E2 /* Poppool */, + ); name = Poppool; packageProductDependencies = ( BDCA41F12CF35D0D005EECF6 /* SnapKit */, @@ -3001,7 +166,6 @@ }; }; buildConfigurationList = BDCA41B82CF35AC0005EECF6 /* Build configuration list for PBXProject "Poppool" */; - compatibilityVersion = "Xcode 14.0"; developmentRegion = ko; hasScannedForEncodings = 0; knownRegions = ( @@ -3027,6 +191,7 @@ 08F403312D884F4D00BFA61A /* XCRemoteSwiftPackageReference "kakao-ios-sdk" */, 4E1514282D99480200DFD08F /* XCRemoteSwiftPackageReference "SPM-NMapsMap" */, ); + preferredProjectObjectVersion = 56; productRefGroup = BDCA41BE2CF35AC0005EECF6 /* Products */; projectDirPath = ""; projectRoot = ""; @@ -3041,19 +206,6 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 08B191562CF41D6F0057BC04 /* PP_splash.json in Resources */, - 08B1914B2CF41D690057BC04 /* GothicA1-Bold.ttf in Resources */, - 08DE8A182D525BA20049BCAC /* Terms.plist in Resources */, - 08B1914D2CF41D690057BC04 /* GothicA1-Medium.ttf in Resources */, - 08B1914F2CF41D690057BC04 /* Poppins-Bold.ttf in Resources */, - 08B191502CF41D690057BC04 /* Poppins-Light.ttf in Resources */, - 08B191552CF41D6F0057BC04 /* PP_loading.json in Resources */, - BDCA41CA2CF35AC1005EECF6 /* Assets.xcassets in Resources */, - BDCA41CD2CF35AC1005EECF6 /* Base in Resources */, - 08B191512CF41D690057BC04 /* Poppins-Medium.ttf in Resources */, - 08B1914C2CF41D690057BC04 /* GothicA1-Light.ttf in Resources */, - 08B1914E2CF41D690057BC04 /* GothicA1-Regular.ttf in Resources */, - 08B191522CF41D690057BC04 /* Poppins-Regular.ttf in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -3086,456 +238,11 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 081898AE2D2CFC230067BF01 /* GetWithdrawlListResponseDTO.swift in Sources */, - 088DE25A2D1458620030FA9E /* DetailCommentImageCell.swift in Sources */, - 089952662D046CCD0022AEF9 /* SearchResultController.swift in Sources */, - 0818993F2D35FBE00067BF01 /* GetRecentPopUpResponseDTO.swift in Sources */, - 08B191962CF4A0FA0057BC04 /* SignUpStep4Controller.swift in Sources */, - 0841BABC2CFB59E200049E31 /* String?+.swift in Sources */, - 0841BA872CF9F62400049E31 /* PreSignedURLDTO.swift in Sources */, - 086F89EC2D2009EB00CA4FC9 /* SubLoginController.swift in Sources */, - 083C86262D087A4E003F441C /* DetailTitleSectionCell.swift in Sources */, - 4E9A46602D55D1270010578A /* MapUtilities.swift in Sources */, - 086DD8DE2CFF19C400B97D3B /* UserAPIUseCaseImpl.swift in Sources */, - 081898C32D30AE2C0067BF01 /* GetMyProfileResponseDTO.swift in Sources */, - 08A2E4802D1BCDE300102313 /* CommentDetailView.swift in Sources */, - 081898BA2D2E5F4C0067BF01 /* MyCommentView.swift in Sources */, - 089952492D033A1C0022AEF9 /* PopUpAPIEndPoint.swift in Sources */, - 083A25C82CF363C00099B58E /* LoginController.swift in Sources */, - 081899292D3500C50067BF01 /* FAQReactor.swift in Sources */, - 083A25B72CF362670099B58E /* RequestEndpoint.swift in Sources */, - 4E6C070A2D4B6E81008A962A /* ClusteringManager.swift in Sources */, - 08A2E47B2D1B06AA00102313 /* ImageDetailController.swift in Sources */, - 083A25B82CF362670099B58E /* IndicatorMaker.swift in Sources */, - 08DE8A102D5255110049BCAC /* DetailEmptyCommetSection.swift in Sources */, - 086F89E62D1FE91800CA4FC9 /* OtherUserCommentSectionCell.swift in Sources */, - 08B191B62CF6092B0057BC04 /* AppleLoginService.swift in Sources */, - 081899542D363E6A0067BF01 /* BookMarkPopUpViewTypeModalReactor.swift in Sources */, - 083C866B2D0ECB4F003F441C /* InstaGuideSectionCell.swift in Sources */, - 083C86202D087445003F441C /* GetPopUpDetailResponse.swift in Sources */, - 4EA2C9432D424DF900F4D97C /* FindDirectionEndPoint.swift in Sources */, - 081898FD2D33D9ED0067BF01 /* GetBlockUserListResponse.swift in Sources */, - 083A25B22CF362670099B58E /* NetworkError.swift in Sources */, - 081899522D363E640067BF01 /* BookMarkPopUpViewTypeModalController.swift in Sources */, - BD9103692CF6149D00BBCCAE /* HomeAPIRepository.swift in Sources */, - 083A25832CF361EF0099B58E /* BaseViewController.swift in Sources */, - 089952752D0475F20022AEF9 /* SearchResultCountSectionCell.swift in Sources */, - 4EECA3942D56770B00A07CCA /* MapPopUpStore.swift in Sources */, - 4E9C12782D2BC7A0006744D6 /* AdminBottomSheetView.swift in Sources */, - 086DD9362D00963900B97D3B /* SearchTitleSection.swift in Sources */, - 086F89D92D1E79E200CA4FC9 /* GetOtherUserCommentListRequestDTO.swift in Sources */, - 083C864F2D0DD3A6003F441C /* AddCommentImageSection.swift in Sources */, - 4EEA13072DA7CDDA00775256 /* PopUpImagesCollectionView.swift in Sources */, - 08B191372CF366680057BC04 /* UICollectionViewCell+.swift in Sources */, - 083A25B42CF362670099B58E /* Responsable.swift in Sources */, - 08CBEA0D2D38ED0D00248007 /* CountButtonView.swift in Sources */, - 0841BAA82CFA354500049E31 /* HomeTitleSection.swift in Sources */, - 08B191782CF442230057BC04 /* UIImage+.swift in Sources */, - 08DE8A122D5255180049BCAC /* DetailEmptyCommetSectionCell.swift in Sources */, - 081898BC2D2E5F510067BF01 /* MyCommentReactor.swift in Sources */, - 0841BA892CF9F62400049E31 /* PreSignedURLResponseDTO.swift in Sources */, - 088DE24A2D12F3360030FA9E /* DetailInfoSection.swift in Sources */, - 081898D02D30EA900067BF01 /* PutUserTailoredInfoRequestDTO.swift in Sources */, - 081898E62D3391CB0067BF01 /* GetMyCommentResponse.swift in Sources */, - 0818991E2D34DF7D0067BF01 /* MyPageNoticeDetailView.swift in Sources */, - BD9103682CF6149D00BBCCAE /* AuthAPIRepositoryImpl.swift in Sources */, - 08DC61F82CF76843002A2F44 /* SignUpCompleteView.swift in Sources */, - BD9103612CF6149D00BBCCAE /* AuthAPIEndPoint.swift in Sources */, - 086DD9422D01EEF700B97D3B /* SearchCountTitleSectionCell.swift in Sources */, - 081898A72D2CC01D0067BF01 /* WithdrawlReasonReactor.swift in Sources */, - 081899332D35F1090067BF01 /* MyPageBookmarkView.swift in Sources */, - 08CBEA3A2D3FABE100248007 /* ToastView.swift in Sources */, - 081899052D34080B0067BF01 /* BlockUserListSectionCell.swift in Sources */, - 4E685EEA2D12CEB6001EF91C /* MapViewController.swift in Sources */, - 4E6C07062D4B6E56008A962A /* RegionDefinitions.swift in Sources */, - 089952582D0347AC0022AEF9 /* SearchCategoryController.swift in Sources */, - 0841BAAA2CFA354C00049E31 /* HomeTitleSectionCell.swift in Sources */, - 08B191612CF430E70057BC04 /* PPProgressView.swift in Sources */, - 086F89EA2D2009E300CA4FC9 /* SubLoginView.swift in Sources */, - 081899352D35F10F0067BF01 /* MyPageBookmarkController.swift in Sources */, - 083A25B32CF362670099B58E /* Requestable.swift in Sources */, - BD9103932CF6166800BBCCAE /* SplashController.swift in Sources */, - 08B1916A2CF434B80057BC04 /* SignUpStep1Controller.swift in Sources */, - 4E685ED52D12CEB6001EF91C /* FilterChip.swift in Sources */, - 083C861C2D087337003F441C /* GetPopUpDetailRequestDTO.swift in Sources */, - BD9103882CF614A900BBCCAE /* GetHomeInfoResponse.swift in Sources */, - 081899022D3407F50067BF01 /* BlockUserListSection.swift in Sources */, - 081899222D34DF8E0067BF01 /* MyPageNoticeDetailReactor.swift in Sources */, - 4E685EDB2D12CEB6001EF91C /* MapAPIEndpoint.swift in Sources */, - 086F89CC2D1E42B000CA4FC9 /* CommentUserBlockController.swift in Sources */, - 08DC62032CF8AC06002A2F44 /* HomeView.swift in Sources */, - 089B4FD82D9A57AE00FC0CC3 /* ImageLoader.swift in Sources */, - BD9103622CF6149D00BBCCAE /* LoginResponseDTO.swift in Sources */, - 083C86642D0EC4A5003F441C /* InstaCommentAddReactor.swift in Sources */, - 08DE8A3F2D54DCC40049BCAC /* MyCommentedPopUpGridSection.swift in Sources */, - 081898C52D30AEF40067BF01 /* GetMyProfileResponse.swift in Sources */, - BD9103922CF6166800BBCCAE /* SplashView.swift in Sources */, - 089B4FDF2D9A8F9A00FC0CC3 /* MemoryStorage.swift in Sources */, - 0899526E2D0474340022AEF9 /* GetSearchPopUpListResponse.swift in Sources */, - 08B191392CF366680057BC04 /* UITableViewCell+.swift in Sources */, - 08A2E48F2D1BF6E500102313 /* CommentListView.swift in Sources */, - 4E755B1D2D2B9AD300ADFB21 /* GetAdminPopUpStoreListResponseDTO.swift in Sources */, - 083A25992CF362090099B58E /* Sectionable.swift in Sources */, - 086DD8E02CFF2C3700B97D3B /* UIImageView+.swift in Sources */, - 081898DA2D32559B0067BF01 /* PutUserProfileRequestDTO.swift in Sources */, - 08B191AC2CF5BF9D0057BC04 /* AgeSelectedController.swift in Sources */, - 4E755B1F2D2B9AE500ADFB21 /* AdminAPIEndpoint.swift in Sources */, - 083C86622D0EC49E003F441C /* InstaCommentAddController.swift in Sources */, - 08B1919C2CF4A77C0057BC04 /* TagSection.swift in Sources */, - BD91038B2CF614A900BBCCAE /* AuthRepository.swift in Sources */, - 08DC61F32CF75037002A2F44 /* KeyChainService.swift in Sources */, - 086DD93B2D009A1C00B97D3B /* CancelableTagSection.swift in Sources */, - 4E755B232D2B9C5D00ADFB21 /* AdminViewController.swift in Sources */, - 08A2E49F2D1C417000102313 /* CommentListTitleSectionCell.swift in Sources */, - 086F89D52D1E6DB100CA4FC9 /* OtherUserCommentController.swift in Sources */, - 083C866E2D0ECB87003F441C /* InstaGuideChildSection.swift in Sources */, - 081898A32D2CC0110067BF01 /* WithdrawlReasonView.swift in Sources */, - 08B1917A2CF452B30057BC04 /* SignUpTermsView.swift in Sources */, - 08B191B82CF6092F0057BC04 /* AuthServiceable.swift in Sources */, - 0841BAB82CFAC41300049E31 /* SectionBackGroundDecorationView.swift in Sources */, - 086F89F52D2269E300CA4FC9 /* MyPageReactor.swift in Sources */, - 089952682D046CD80022AEF9 /* SearchResultReactor.swift in Sources */, - 086DD9402D01EEEB00B97D3B /* SearchCountTitleSection.swift in Sources */, - 083C864C2D0DCF9B003F441C /* AddCommentDescriptionSectionCell.swift in Sources */, - 086DD8CE2CFDFEB000B97D3B /* HomeListView.swift in Sources */, - 08B191C22CF615CA0057BC04 /* KeyPath.swift in Sources */, - 083C86242D087A44003F441C /* DetailTitleSection.swift in Sources */, - 08A2E4822D1BCDEA00102313 /* CommentDetailController.swift in Sources */, - 0841BAA32CFA31A300049E31 /* SpacingSection.swift in Sources */, - 08B191982CF4A1010057BC04 /* SignUpStep4Reactor.swift in Sources */, - 086F8A0A2D2621EE00CA4FC9 /* MyPageMyCommentTitleSection.swift in Sources */, - 089952602D0366C40022AEF9 /* SearchMainController.swift in Sources */, - 081898D42D30F5840067BF01 /* CategoryEditModalController.swift in Sources */, - 088DE2562D144A830030FA9E /* DetailCommentSectionCell.swift in Sources */, - 08B1919E2CF4A7830057BC04 /* TagSectionCell.swift in Sources */, - 081899142D34CAEA0067BF01 /* GetNoticeDetailResponse.swift in Sources */, - 081898D22D30F57D0067BF01 /* CategoryEditModalView.swift in Sources */, - 083C860B2D073A15003F441C /* DetailView.swift in Sources */, - 086F89C52D1E347E00CA4FC9 /* CommentUserInfoController.swift in Sources */, - BD9103862CF614A900BBCCAE /* BannerPopUpStore.swift in Sources */, - 08B191862CF48A8B0057BC04 /* SignUpStep2Reactor.swift in Sources */, - 08DC62052CF8AC0E002A2F44 /* HomeController.swift in Sources */, - 4EA2C93D2D424D3300F4D97C /* MapDirectionRepository.swift in Sources */, - 083C86702D0ECB8E003F441C /* InstaGuideChildSectionCell.swift in Sources */, - 082197B02D4E4E190054094A /* NormalCommentEditView.swift in Sources */, - 086F89D02D1E60A100CA4FC9 /* PostUserBlockRequestDTO.swift in Sources */, - 081898CE2D30D5C60067BF01 /* InfoEditModalReactor.swift in Sources */, - 083C865D2D0DEFD5003F441C /* CommentCheckReactor.swift in Sources */, - BD9103632CF6149D00BBCCAE /* BannerPopUpStoreDTO.swift in Sources */, - 4EDE57032D5E70650014D924 /* LocationPermissionBottomSheet.swift in Sources */, - 081898D62D30F58A0067BF01 /* CategoryEditModalReactor.swift in Sources */, - 081898B32D2D20D70067BF01 /* WithdrawlCompleteView.swift in Sources */, - 086DD92A2D0086AA00B97D3B /* SearchController.swift in Sources */, - 083C860F2D073A23003F441C /* DetailReactor.swift in Sources */, - BD91038A2CF614A900BBCCAE /* LoginResponse.swift in Sources */, - 086F89F92D226EEB00CA4FC9 /* GetMyPageResponse.swift in Sources */, - 083A25BF2CF362770099B58E /* Logger.swift in Sources */, - 08DC61FC2CF76862002A2F44 /* SignUpCompleteReactor.swift in Sources */, - 08DE8A412D54DCCA0049BCAC /* MyCommentedPopUpGridSectionCell.swift in Sources */, - 0818992F2D3506290067BF01 /* FAQDropdownSection.swift in Sources */, - BD9103832CF614A900BBCCAE /* SignUpAPIUseCaseImpl.swift in Sources */, - 4E6CA4852D34D6ED0034D09A /* AdminBottomSheetReactor.swift in Sources */, - 4EE5A3D32D40E4A600A2469A /* MapGuideReactor.swift in Sources */, - 08DC62072CF8AC14002A2F44 /* HomeReactor.swift in Sources */, - 081898F72D33D6B70067BF01 /* BlockUserManageReactor.swift in Sources */, - 082197B22D4E4E200054094A /* NormalCommentEditController.swift in Sources */, - 081899502D363E5C0067BF01 /* BookMarkPopUpViewTypeModalView.swift in Sources */, - 081899452D35FEA10067BF01 /* RecentPopUpSection.swift in Sources */, - 083A259A2CF362090099B58E /* SectionDecorationItem.swift in Sources */, - BD9103892CF614A900BBCCAE /* PopUpStoreResponse.swift in Sources */, - 086F89C72D1E348400CA4FC9 /* CommentUserInfoReactor.swift in Sources */, - 0818990E2D34B68C0067BF01 /* GetNoticeListResponseDTO.swift in Sources */, - 086DD8C82CFDEA9200B97D3B /* UIView+.swift in Sources */, - 08A2E4842D1BCDEF00102313 /* CommentDetailReactor.swift in Sources */, - 4E685ED92D12CEB6001EF91C /* MapRepository.swift in Sources */, - 083A25B62CF362670099B58E /* MultipartEndPoint.swift in Sources */, - 0818993B2D35F1250067BF01 /* MyPageRecentController.swift in Sources */, - 089952462D031E740022AEF9 /* SearchSortedView.swift in Sources */, - 08DC620B2CF8AE0F002A2F44 /* ImageBannerSection.swift in Sources */, - 086DD9302D0090E900B97D3B /* UITextField+.swift in Sources */, - 0818991A2D34D6430067BF01 /* NoticeListSectionCell.swift in Sources */, - 086F89D72D1E6DB700CA4FC9 /* OtherUserCommentReactor.swift in Sources */, - 083C867A2D0EE3BB003F441C /* CommentAPIUseCaseImpl.swift in Sources */, - 4E7823A82D2E84E800AC5110 /* AdminRepository.swift in Sources */, - 086F89DB2D1E7A6C00CA4FC9 /* GetOtherUserCommentedPopUpListResponseDTO.swift in Sources */, - 086F89D32D1E6DA600CA4FC9 /* OtherUserCommentView.swift in Sources */, - 4E685ECE2D12CEB6001EF91C /* BalloonBackgroundView.swift in Sources */, - 4E755B292D2BA65A00ADFB21 /* AdminReactor.swift in Sources */, - 086DD8D62CFF182100B97D3B /* UserAPIEndPoint.swift in Sources */, - 081899372D35F1140067BF01 /* MyPageBookmarkReactor.swift in Sources */, - 4E685EE22D12CEB6001EF91C /* StoreListView.swift in Sources */, - 086F89C32D1E347700CA4FC9 /* CommentUserInfoView.swift in Sources */, - 08B191942CF4A0F00057BC04 /* SignUpStep4View.swift in Sources */, - 08B1918D2CF49FF70057BC04 /* SignUpStep3View.swift in Sources */, - 086F89CE2D1E42B500CA4FC9 /* CommentUserBlockReactor.swift in Sources */, - BD9103642CF6149D00BBCCAE /* GetHomeInfoResponseDTO.swift in Sources */, - 081898E22D338FA40067BF01 /* ListCountButtonSectionCell.swift in Sources */, - 08A2E47D2D1B06B000102313 /* ImageDetailReactor.swift in Sources */, - 08B191B42CF609260057BC04 /* KakaoLoginService.swift in Sources */, - BDCA41C12CF35AC0005EECF6 /* AppDelegate.swift in Sources */, - 083C863A2D0C7F0A003F441C /* CommentSelectedReactor.swift in Sources */, - 0841BAB42CFABED700049E31 /* HomePopularCardSection.swift in Sources */, - 081899182D34D63E0067BF01 /* NoticeListSection.swift in Sources */, - 083C86362D0C7EF4003F441C /* CommentSelectedController.swift in Sources */, - 08A2E4792D1B06A300102313 /* ImageDetailView.swift in Sources */, - 4E7823A92D2E84FB00AC5110 /* AdminStoreCell.swift in Sources */, - 088DE2542D144A7E0030FA9E /* DetailCommentSection.swift in Sources */, - 4E755B2B2D2BA76E00ADFB21 /* AdminUseCase.swift in Sources */, - 083C86292D088080003F441C /* DetailContentSection.swift in Sources */, - 08DC61FA2CF7684F002A2F44 /* SignUpCompleteController.swift in Sources */, - 083C864A2D0DCF96003F441C /* AddCommentDescriptionSection.swift in Sources */, - 4E9790C52D40E13500210499 /* MapGuideViewController.swift in Sources */, - 08B191A42CF5A7030057BC04 /* PPSegmentedControl.swift in Sources */, - 081898DC2D326DC10067BF01 /* IntroState.swift in Sources */, - 0899525C2D0347BD0022AEF9 /* SearchCategoryView.swift in Sources */, - 083C865B2D0DEFCF003F441C /* CommentCheckController.swift in Sources */, - 083C86382D0C7EFC003F441C /* CommentSelectedView.swift in Sources */, - 0818994A2D36322B0067BF01 /* PopUpCardSection.swift in Sources */, - 086F8A052D23CB3300CA4FC9 /* MyPageProfileSection.swift in Sources */, - 081899252D3500B80067BF01 /* FAQView.swift in Sources */, - 086F89EE2D2009F100CA4FC9 /* SubLoginReactor.swift in Sources */, - 08DC61F52CF765B5002A2F44 /* UserDefaultService.swift in Sources */, - 08A2E46C2D15BC5000102313 /* CommentLikeRequestDTO.swift in Sources */, - 086F8A072D23CB3800CA4FC9 /* MyPageProfileSectionCell.swift in Sources */, - 4E643FC12D738D7F0046AF29 /* PopUpStoreRegisterReactor.swift in Sources */, - 08B191AE2CF5BFA60057BC04 /* AgeSelectedView.swift in Sources */, - 4E685EE72D12CEB6001EF91C /* MapSearchInput.swift in Sources */, - 08A2E4912D1BF6EA00102313 /* CommentListController.swift in Sources */, - 0899524D2D033AA70022AEF9 /* GetOpenPopUpListResponseDTO.swift in Sources */, - 081898962D2965C90067BF01 /* ProfileEditView.swift in Sources */, - 083C86602D0EC496003F441C /* InstaCommentAddView.swift in Sources */, - 081898F02D33A3A30067BF01 /* MyCommentSortedModalReactor.swift in Sources */, - 081898E42D3391550067BF01 /* GetMyCommentedPopUpResponseDTO.swift in Sources */, - 088DE25D2D145E3A0030FA9E /* DetailSimilarSection.swift in Sources */, - 4EEA1D912D352027003E7DE9 /* ExtendedImage.swift in Sources */, - 083C863D2D0C8BC4003F441C /* NormalCommentAddController.swift in Sources */, - 08B1916E2CF434CF0057BC04 /* SignUpStep1Reactor.swift in Sources */, - 08B1918F2CF4A0020057BC04 /* SignUpStep3Controller.swift in Sources */, - 08A2E4952D1C078300102313 /* GetPopUpCommentRequestDTO.swift in Sources */, - 08B191912CF4A00E0057BC04 /* SignUpStep3Reactor.swift in Sources */, - 083A259C2CF362090099B58E /* InOutputable.swift in Sources */, - 089952642D0366DA0022AEF9 /* SearchMainReactor.swift in Sources */, - 086F89E02D1E7CC700CA4FC9 /* GetOtherUserCommentedPopUpListResponse.swift in Sources */, - BD9103652CF6149D00BBCCAE /* HomeAPIEndpoint.swift in Sources */, - 086DD8E32CFF356300B97D3B /* HomeCardGridSection.swift in Sources */, - 0841BABE2CFB5AA600049E31 /* Date?+.swift in Sources */, - 08CFD3922D9BDE99004CDD50 /* DiskStorage.swift in Sources */, - 4E685EE12D12CEB6001EF91C /* StoreListReactor.swift in Sources */, - 4E685EE52D12CEB6001EF91C /* MapMarker.swift in Sources */, - 081898FB2D33D9320067BF01 /* GetBlockUserListResponseDTO.swift in Sources */, - 08DC620D2CF8AE16002A2F44 /* ImageBannerSectionCell.swift in Sources */, - 081899412D35FDA10067BF01 /* GetRecentPopUpResponse.swift in Sources */, - 08B1915B2CF41E690057BC04 /* SignUpMainReactor.swift in Sources */, - 4E685ED62D12CEB6001EF91C /* FilterChipsView.swift in Sources */, - 08B191882CF48FAE0057BC04 /* NickNameState.swift in Sources */, - 08A2E48C2D1BDA8A00102313 /* CommentDetailContentSectionCell.swift in Sources */, - 081898982D2965D20067BF01 /* ProfileEditReactor.swift in Sources */, - 083C86562D0DD7EE003F441C /* AddCommentSectionCell.swift in Sources */, - 08B191B22CF5C0A60057BC04 /* PPPicker.swift in Sources */, - 086DD92E2D0086B900B97D3B /* SearchView.swift in Sources */, - 0841BA822CF9F5DF00049E31 /* PreSignedService.swift in Sources */, - 086DD92C2D0086B100B97D3B /* SearchReactor.swift in Sources */, - 08A2E4972D1C07F500102313 /* GetPopUpCommentResponseDTO.swift in Sources */, - BD226D512CF6DB290038C984 /* PPReturnHeaderView.swift in Sources */, - 08B1913F2CF367FA0057BC04 /* UIColor+.swift in Sources */, - 086F8A0C2D2621F400CA4FC9 /* MyPageMyCommentTitleSectionCell.swift in Sources */, - BD91036D2CF6149D00BBCCAE /* SignUpAPIEndpoint.swift in Sources */, - 08A2E4862D1BD85C00102313 /* CommentDetailImageSection.swift in Sources */, - 0818993D2D35F12A0067BF01 /* MyPageRecentReactor.swift in Sources */, - 0899526A2D046CDE0022AEF9 /* SearchResultView.swift in Sources */, - 081898B02D2CFCA40067BF01 /* GetWithdrawlListResponse.swift in Sources */, - 083C86692D0ECB47003F441C /* InstaGuideSection.swift in Sources */, - 081899392D35F11F0067BF01 /* MyPageRecentView.swift in Sources */, - 088DE24C2D12F33B0030FA9E /* DetailInfoSectionCell.swift in Sources */, - 083C86762D0EE2CF003F441C /* PostCommentRequestDTO.swift in Sources */, - 083C861E2D08737F003F441C /* GetPopUpDetailResponseDTO.swift in Sources */, - 086F8A0F2D26297900CA4FC9 /* MyPageCommentSection.swift in Sources */, - 08B1916C2CF434C30057BC04 /* SignUpStep1View.swift in Sources */, - 083A25BC2CF362670099B58E /* ProviderImpl.swift in Sources */, - 4EEA1D8F2D352012003E7DE9 /* ImageCell.swift in Sources */, - 086DD93D2D009A2600B97D3B /* CancelableTagSectionCell.swift in Sources */, - 4E9C127A2D2BC811006744D6 /* AdminBottomSheetViewController.swift in Sources */, - 086DD8DA2CFF194700B97D3B /* UserAPIRepositoryImpl.swift in Sources */, - 4E685ECF2D12CEB6001EF91C /* BalloonChipCell.swift in Sources */, - 083A25CA2CF363C60099B58E /* LoginReactor.swift in Sources */, - 081898BE2D2E5F590067BF01 /* MyCommentController.swift in Sources */, - 083A25BA2CF362670099B58E /* TokenInterceptor.swift in Sources */, - 0841BAC32CFB600800049E31 /* TabbarController.swift in Sources */, - 089952442D031E6D0022AEF9 /* SearchSortedReactor.swift in Sources */, - 086F89E42D1FE91300CA4FC9 /* OtherUserCommentSection.swift in Sources */, - 083C86782D0EE382003F441C /* CommentAPIRepository.swift in Sources */, - 08B191B02CF5BFAE0057BC04 /* AgeSelectedReactor.swift in Sources */, - 4E685EDA2D12CEB6001EF91C /* MapUseCase.swift in Sources */, - 083C863F2D0C8BCE003F441C /* NormalCommentAddView.swift in Sources */, - 4EA9989A2D21C2FC009DC30B /* StoreListSection.swift in Sources */, - 083C86452D0DCDE9003F441C /* AddCommentTitleSectionCell.swift in Sources */, - 083C86412D0C8BD8003F441C /* NormalCommentAddReactor.swift in Sources */, - 089952732D0475E90022AEF9 /* SearchResultCountSection.swift in Sources */, - 08CBEA062D38991600248007 /* PostTokenReissueResponse.swift in Sources */, - 4EED9BAC2D22730400B288E7 /* FilterType.swift in Sources */, - 08B191A02CF4AA0E0057BC04 /* Reactive+.swift in Sources */, - 4E685ED32D12CEB6001EF91C /* FilterBottomSheetViewController.swift in Sources */, - 089952512D033C410022AEF9 /* GetSearchBottomPopUpListResponse.swift in Sources */, - 0841BABA2CFAE5BE00049E31 /* HomeHeaderView.swift in Sources */, - 081898E82D3392480067BF01 /* GetMyCommentRequestDTO.swift in Sources */, - 0841BAAC2CFA35F300049E31 /* UILabel+.swift in Sources */, - 081898F52D33D6B10067BF01 /* BlockUserManageController.swift in Sources */, - 08CBEA3E2D3FF6A100248007 /* PopUpCardView.swift in Sources */, - 086F89F32D2269DE00CA4FC9 /* MyPageController.swift in Sources */, - 0818994C2D3632320067BF01 /* PopUpCardSectionCell.swift in Sources */, - BD91036A2CF6149D00BBCCAE /* SignUpRepositoryImpl.swift in Sources */, - 081898EC2D33A3960067BF01 /* MyCommentSortedModalView.swift in Sources */, - BD91036C2CF6149D00BBCCAE /* GetCategoryListResponseDTO.swift in Sources */, - 086F8A182D265C5F00CA4FC9 /* MyPageListSection.swift in Sources */, - 086F8A1A2D265C6300CA4FC9 /* MyPageListSectionCell.swift in Sources */, - 081899272D3500BF0067BF01 /* FAQController.swift in Sources */, - 08B191672CF432220057BC04 /* PPCancelHeaderView.swift in Sources */, - BD9103812CF614A900BBCCAE /* HomeAPIUseCaseImpl.swift in Sources */, - 08DC62112CF8B446002A2F44 /* SortedRequestDTO.swift in Sources */, - 4EAB809F2D3F8EF50041AF30 /* ViewportBounds.swift in Sources */, - 08B191712CF4398D0057BC04 /* PPLabel.swift in Sources */, - 4E685ED22D12CEB6001EF91C /* FilterBottomSheetView.swift in Sources */, - 0899524F2D033B5A0022AEF9 /* GetSearchPopUpListRequestDTO.swift in Sources */, - 0899525A2D0347B40022AEF9 /* SearchCategoryReactor.swift in Sources */, - 083A25B92CF362670099B58E /* FormDataInterceptor.swift in Sources */, - 4E685EE42D12CEB6001EF91C /* MapFilterChips.swift in Sources */, - BD91036E2CF6149D00BBCCAE /* SignUpRequestDTO.swift in Sources */, - 08B191632CF430F30057BC04 /* PPProgressIndicator.swift in Sources */, - 081898942D2965C20067BF01 /* ProfileEditController.swift in Sources */, - 0818992D2D3506240067BF01 /* FAQDropdownSectionCell.swift in Sources */, - 08B191742CF43DF40057BC04 /* SignUpCheckBoxButton.swift in Sources */, - 086DD8D32CFDFF1500B97D3B /* HomePopUpType.swift in Sources */, - 4E643FC32D738D930046AF29 /* PopUpStoreRegisterView.swift in Sources */, - 081898CC2D30D5BF0067BF01 /* InfoEditModalController.swift in Sources */, - 08DE8A0D2D5236840049BCAC /* PutCommentRequestDTO.swift in Sources */, - 4E685EE92D12CEB6001EF91C /* MapView.swift in Sources */, - 4E755B212D2B9BAB00ADFB21 /* AdminResponseDTO.swift in Sources */, - 08B191382CF366680057BC04 /* UICollectionReusableView+.swift in Sources */, - 4E685EE02D12CEB6001EF91C /* StoreListCell.swift in Sources */, - 4EDDEFB42D2D285900CFAFA5 /* DateTimePickerManager.swift in Sources */, - 08B1915D2CF41E6F0057BC04 /* SignUpMainView.swift in Sources */, - 0841BAA52CFA31A900049E31 /* SpacingSectionCell.swift in Sources */, - 4E685EDF2D12CEB6001EF91C /* PopupCardCell.swift in Sources */, - 083A25B52CF362670099B58E /* Endpoint.swift in Sources */, - 081898A52D2CC0180067BF01 /* WithdrawlReasonController.swift in Sources */, - BDCA41C32CF35AC0005EECF6 /* SceneDelegate.swift in Sources */, - 08B1917F2CF46DF20057BC04 /* TermsDetailView.swift in Sources */, - 4E6A06702D42A96100B2A658 /* FullScreenMapViewController.swift in Sources */, - 4E685EDD2D12CEB6001EF91C /* MapPopUpStoreDTO.swift in Sources */, - 08B191412CF367FF0057BC04 /* UIFont+.swift in Sources */, - 0841BA8E2CF9F8A100049E31 /* ImageBannerChildSection.swift in Sources */, - 083C860D2D073A1C003F441C /* DetailController.swift in Sources */, - 08A2E4932D1BF6EF00102313 /* CommentListReactor.swift in Sources */, - 088DE2582D144B0F0030FA9E /* DetailCommentProfileView.swift in Sources */, - 0818989E2D2BAA610067BF01 /* WithdrawlCheckModalController.swift in Sources */, - 081898902D295DC80067BF01 /* MyPageLogoutSectionCell.swift in Sources */, - 081898EE2D33A39D0067BF01 /* MyCommentSortedModalController.swift in Sources */, - 081898AA2D2CEA2F0067BF01 /* WithdrawlCheckSectionCell.swift in Sources */, - 086DD8CC2CFDFEA800B97D3B /* HomeListController.swift in Sources */, - 086DD9342D00962500B97D3B /* SearchTitleSectionCell.swift in Sources */, - 08B191592CF41E610057BC04 /* SignUpMainController.swift in Sources */, - 0899526C2D0473EC0022AEF9 /* GetSearchPopUpListResponseDTO.swift in Sources */, - 081898B52D2D20E30067BF01 /* WithdrawlCompleteController.swift in Sources */, - 086F89F12D2269D800CA4FC9 /* MyPageView.swift in Sources */, - 081898F32D33D6AC0067BF01 /* BlockUserManageView.swift in Sources */, - 08A2E48A2D1BDA8400102313 /* CommentDetailContentSection.swift in Sources */, - 4E685EDE2D12CEB6001EF91C /* MapPopupCarouselView.swift in Sources */, - 08B1917D2CF46DE30057BC04 /* TermsDetailController.swift in Sources */, - 08CBEA0B2D38DBD600248007 /* LastLoginView.swift in Sources */, - 4E8AA29D2D59A2340029DF75 /* MarkerTooltipView.swift in Sources */, - 0841BAB12CFA38F500049E31 /* HomeCardSectionCell.swift in Sources */, - 4E685EE32D12CEB6001EF91C /* StoreListViewController.swift in Sources */, - 0818990A2D34B3620067BF01 /* MyPageNoticeController.swift in Sources */, - 083C862B2D08808C003F441C /* DetailContentSectionCell.swift in Sources */, - BD91036B2CF6149D00BBCCAE /* CheckNickNameRequestDTO.swift in Sources */, - 0841BAAF2CFA38EA00049E31 /* HomeCardSection.swift in Sources */, - 081898A02D2BAA670067BF01 /* WithdrawlCheckModalReactor.swift in Sources */, - 08B191842CF48A820057BC04 /* SignUpStep2View.swift in Sources */, - 0841BA882CF9F62400049E31 /* PresignedURLRequestDTO.swift in Sources */, - 0841BA8C2CF9F67100049E31 /* PreSignedAPIEndPoint.swift in Sources */, - 08DE8A1B2D5261DE0049BCAC /* MyPageTermsController.swift in Sources */, - 4E78706F2D37CB2200465FC9 /* PopUpStoreRegisterViewController.swift in Sources */, - 081899082D34B35A0067BF01 /* MyPageNoticeView.swift in Sources */, - 4E78706E2D37CB1900465FC9 /* ProfileEditListButton.swift in Sources */, - 081898D82D310C160067BF01 /* PutUserCategoryRequestDTO.swift in Sources */, - 08A2E4992D1C08D600102313 /* GetPopUpCommentResponse.swift in Sources */, - 08CBEA3C2D3FABED00248007 /* BookMarkToastView.swift in Sources */, - 0818988E2D295DC30067BF01 /* MyPageLogoutSection.swift in Sources */, - 089952552D033D480022AEF9 /* PopUpAPIUseCaseImpl.swift in Sources */, - BD9103662CF6149D00BBCCAE /* PopUpStoreResponseDTO.swift in Sources */, - 0841BA802CF9F34100049E31 /* ImageBannerChildSectionCell.swift in Sources */, - 4EA2C93F2D424D7400F4D97C /* MapDirectionUseCase.swift in Sources */, - 088DE2512D13019E0030FA9E /* DetailCommentTitleSectionCell.swift in Sources */, - 083C86592D0DEFC3003F441C /* CommentCheckView.swift in Sources */, - 082197AB2D4E3EEF0054094A /* CommentMyMenuReactor.swift in Sources */, - 083C86732D0EE2B1003F441C /* CommentAPIEndPoint.swift in Sources */, - 081898AC2D2CEA940067BF01 /* WithdrawlCheckSection.swift in Sources */, - 08B1913B2CF366A00057BC04 /* UIApplication+.swift in Sources */, - 083C86542D0DD7E9003F441C /* AddCommentSection.swift in Sources */, - 081898E02D338F9C0067BF01 /* ListCountButtonSection.swift in Sources */, - 4E685EE62D12CEB6001EF91C /* MapReactor.swift in Sources */, - 083A25BB2CF362670099B58E /* Provider.swift in Sources */, - 0899524B2D033A9C0022AEF9 /* GetClosePopUpListResponseDTO.swift in Sources */, - 0818990C2D34B3670067BF01 /* MyPageNoticeReactor.swift in Sources */, - 08B191A72CF5A9430057BC04 /* AgeSelectedButton.swift in Sources */, - 081898CA2D30D5BA0067BF01 /* InfoEditModalView.swift in Sources */, - 081899102D34B7240067BF01 /* GetNoticeListResponse.swift in Sources */, - 089952622D0366D30022AEF9 /* SearchMainView.swift in Sources */, - BD9103872CF614A900BBCCAE /* Category.swift in Sources */, - 083A25822CF361EF0099B58E /* BaseTabmanController.swift in Sources */, - 088DE25F2D145E3F0030FA9E /* DetailSimilarSectionCell.swift in Sources */, - 082197AD2D4E49370054094A /* DeleteCommentRequestDTO.swift in Sources */, - 082197B42D4E4E280054094A /* NormalCommentEditReactor.swift in Sources */, - 081898FF2D33DA440067BF01 /* GetBlockUserListRequestDTO.swift in Sources */, - BD9103852CF614A900BBCCAE /* AuthAPIUseCaseImpl.swift in Sources */, - 08CBEA032D38989E00248007 /* PostTokenReissueResponseDTO.swift in Sources */, - 08DE8A1D2D5261E70049BCAC /* MyPageTermsReactor.swift in Sources */, - 08B191762CF440C40057BC04 /* PPButton.swift in Sources */, - 083A25CC2CF363CB0099B58E /* LoginView.swift in Sources */, - 083A259B2CF362090099B58E /* SectionSupplementaryItem.swift in Sources */, - 4EA2C9412D424D8400F4D97C /* GetPopUpDirectionResponseDTO.swift in Sources */, - 086F89CA2D1E42A700CA4FC9 /* CommentUserBlockView.swift in Sources */, - 086DD8D02CFDFEB900B97D3B /* HomeListReactor.swift in Sources */, - 081899202D34DF880067BF01 /* MyPageNoticeDetailController.swift in Sources */, - 4EAB809D2D3F78AA0041AF30 /* NMFMapViewDelegateProxy.swift in Sources */, - 083C86472D0DCDFB003F441C /* AddCommentTitleSection.swift in Sources */, - 0841BAB62CFABEDC00049E31 /* HomePopularCardSectionCell.swift in Sources */, - 082197A92D4E3EE90054094A /* CommentMyMenuController.swift in Sources */, - 08B191822CF48A7B0057BC04 /* SignUpStep2Controller.swift in Sources */, - 086F8A112D26297D00CA4FC9 /* MyPageCommentSectionCell.swift in Sources */, - 4E685ED12D12CEB6001EF91C /* FilterBottomSheetReactor.swift in Sources */, - 4E6C07082D4B6E74008A962A /* ClusteringModels.swift in Sources */, - 08A2E49D2D1C416800102313 /* CommentListTitleSection.swift in Sources */, - 0818989C2D2BAA570067BF01 /* WithdrawlCheckModalView.swift in Sources */, - 081899122D34CA9E0067BF01 /* GetNoticeDetailResponseDTO.swift in Sources */, - 086DD8D82CFF185200B97D3B /* PostBookmarkPopUpRequestDTO.swift in Sources */, - 089952422D031E650022AEF9 /* SearchSortedController.swift in Sources */, - 089952532D033C940022AEF9 /* PopUpAPIRepositoryImpl.swift in Sources */, - 4E755B252D2B9C6C00ADFB21 /* AdminView.swift in Sources */, - 4E685ED42D12CEB6001EF91C /* FilterCell.swift in Sources */, - 088DE24F2D13019A0030FA9E /* DetailCommentTitleSection.swift in Sources */, - 081898B72D2D23A90067BF01 /* UINavigationController+.swift in Sources */, - 08B191A22CF4AE890057BC04 /* ToastMaker.swift in Sources */, - 082197A72D4E3EE00054094A /* CommentMyMenuView.swift in Sources */, - 086F89F72D226DF600CA4FC9 /* GetMyPageResponseDTO.swift in Sources */, - 083C86512D0DD3AB003F441C /* AddCommentImageSectionCell.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ -/* Begin PBXVariantGroup section */ - BDCA41CB2CF35AC1005EECF6 /* LaunchScreen.storyboard */ = { - isa = PBXVariantGroup; - children = ( - BDCA41CC2CF35AC1005EECF6 /* Base */, - 08DE8A162D525A9B0049BCAC /* ko */, - ); - name = LaunchScreen.storyboard; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - /* Begin XCBuildConfiguration section */ BDCA41E52CF35AC2005EECF6 /* Debug */ = { isa = XCBuildConfiguration; @@ -3661,7 +368,8 @@ }; BDCA41E82CF35AC2005EECF6 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 057151572D9D2E0800260615 /* Debug.xcconfig */; + baseConfigurationReferenceAnchor = 058789AD2DAD2E10004F81E2 /* Poppool */; + baseConfigurationReferenceRelativePath = Resource/Debug.xcconfig; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; @@ -3706,7 +414,8 @@ }; BDCA41E92CF35AC2005EECF6 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 057151572D9D2E0800260615 /* Debug.xcconfig */; + baseConfigurationReferenceAnchor = 058789AD2DAD2E10004F81E2 /* Poppool */; + baseConfigurationReferenceRelativePath = Resource/Debug.xcconfig; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; diff --git a/Poppool/Poppool/Domain/Entities/GetBlockUserListResponse.swift b/Poppool/Poppool/Domain/Entities/UserAPI/GetBlockUserListResponse.swift similarity index 100% rename from Poppool/Poppool/Domain/Entities/GetBlockUserListResponse.swift rename to Poppool/Poppool/Domain/Entities/UserAPI/GetBlockUserListResponse.swift diff --git a/Poppool/Poppool/Domain/Entities/GetMyCommentResponse.swift b/Poppool/Poppool/Domain/Entities/UserAPI/GetMyCommentResponse.swift similarity index 100% rename from Poppool/Poppool/Domain/Entities/GetMyCommentResponse.swift rename to Poppool/Poppool/Domain/Entities/UserAPI/GetMyCommentResponse.swift diff --git a/Poppool/Poppool/Domain/Entities/GetMyPageResponse.swift b/Poppool/Poppool/Domain/Entities/UserAPI/GetMyPageResponse.swift similarity index 100% rename from Poppool/Poppool/Domain/Entities/GetMyPageResponse.swift rename to Poppool/Poppool/Domain/Entities/UserAPI/GetMyPageResponse.swift diff --git a/Poppool/Poppool/Domain/Entities/GetMyProfileResponse.swift b/Poppool/Poppool/Domain/Entities/UserAPI/GetMyProfileResponse.swift similarity index 100% rename from Poppool/Poppool/Domain/Entities/GetMyProfileResponse.swift rename to Poppool/Poppool/Domain/Entities/UserAPI/GetMyProfileResponse.swift diff --git a/Poppool/Poppool/Domain/Entities/GetNoticeDetailResponse.swift b/Poppool/Poppool/Domain/Entities/UserAPI/GetNoticeDetailResponse.swift similarity index 100% rename from Poppool/Poppool/Domain/Entities/GetNoticeDetailResponse.swift rename to Poppool/Poppool/Domain/Entities/UserAPI/GetNoticeDetailResponse.swift diff --git a/Poppool/Poppool/Domain/Entities/GetNoticeListResponse.swift b/Poppool/Poppool/Domain/Entities/UserAPI/GetNoticeListResponse.swift similarity index 100% rename from Poppool/Poppool/Domain/Entities/GetNoticeListResponse.swift rename to Poppool/Poppool/Domain/Entities/UserAPI/GetNoticeListResponse.swift diff --git a/Poppool/Poppool/Domain/Entities/GetOtherUserCommentedPopUpListResponse.swift b/Poppool/Poppool/Domain/Entities/UserAPI/GetOtherUserCommentedPopUpListResponse.swift similarity index 100% rename from Poppool/Poppool/Domain/Entities/GetOtherUserCommentedPopUpListResponse.swift rename to Poppool/Poppool/Domain/Entities/UserAPI/GetOtherUserCommentedPopUpListResponse.swift diff --git a/Poppool/Poppool/Domain/Entities/GetRecentPopUpResponse.swift b/Poppool/Poppool/Domain/Entities/UserAPI/GetRecentPopUpResponse.swift similarity index 100% rename from Poppool/Poppool/Domain/Entities/GetRecentPopUpResponse.swift rename to Poppool/Poppool/Domain/Entities/UserAPI/GetRecentPopUpResponse.swift diff --git a/Poppool/Poppool/Domain/Entities/GetWithdrawlListResponse.swift b/Poppool/Poppool/Domain/Entities/UserAPI/GetWithdrawlListResponse.swift similarity index 100% rename from Poppool/Poppool/Domain/Entities/GetWithdrawlListResponse.swift rename to Poppool/Poppool/Domain/Entities/UserAPI/GetWithdrawlListResponse.swift diff --git a/Poppool/Poppool/Presentation/Scene/Admin/PopUpStoreRegisterReactor.swift b/Poppool/Poppool/Presentation/Scene/Admin/PopUpStoreRegisterReactor.swift deleted file mode 100644 index 6e355394..00000000 --- a/Poppool/Poppool/Presentation/Scene/Admin/PopUpStoreRegisterReactor.swift +++ /dev/null @@ -1,306 +0,0 @@ -//// -//// PopUpStoreRegisterReactor.swift -//// Poppool -//// -//// Created by 김기현 on 1/14/25. -//// -// -// import Foundation -// import ReactorKit -// import RxSwift -// import UIKit -// -// final class PopUpStoreRegisterReactor: Reactor { -// -// // MARK: - Action -// enum Action { -// /// 화면 최초 로드 -// case viewDidLoad -// -// /// 사용자 입력값 갱신 -// case updateName(String) -// case updateDesc(String) -// case updateCategory(String) -// case updateAddress(String) -// case updateLatitude(String) // 문자열 -> Double 변환 -// case updateLongitude(String) -// case updateMarkerTitle(String) -// case updateMarkerSnippet(String) -// case updateStartDate(Date) -// case updateEndDate(Date) -// case updateStartTime(Date) -// case updateEndTime(Date) -// -// /// 이미지 관련 -// case addImage(ExtendedImage) // 개별 이미지 추가 -// case removeImage(Int) // 특정 인덱스 이미지 삭제 -// case toggleMainImage(Int) // 대표이미지 토글 -// -// /// "저장/등록" 버튼 탭 -// case tapRegister -// } -// -// // MARK: - Mutation -// enum Mutation { -// /// 폼 데이터 갱신 -// case setName(String) -// case setDesc(String) -// case setCategory(String) -// case setAddress(String) -// case setLatitude(Double) -// case setLongitude(Double) -// case setMarkerTitle(String) -// case setMarkerSnippet(String) -// case setStartDate(Date?) -// case setEndDate(Date?) -// case setStartTime(Date?) -// case setEndTime(Date?) -// -// /// 이미지 변경 -// case addImage(ExtendedImage) -// case removeImageAt(Int) -// case toggleMain(Int) -// -// /// 등록 성공 여부 -// case setRegistered(Bool) -// } -// -// // MARK: - State -// struct State { -// // 폼 입력값 -// var name: String = "" -// var desc: String = "" -// var category: String = "게임" -// var address: String = "" -// var latitude: Double = 0 -// var longitude: Double = 0 -// var markerTitle: String = "" -// var markerSnippet: String = "" -// var startDate: Date? -// var endDate: Date? -// var startTime: Date? -// var endTime: Date? -// -// -// // 이미지 목록 -// var images: [ExtendedImage] = [] -// -// // 최종 등록 여부 -// var isRegistered: Bool = false -// } -// -// // ReactorKit 필수 -// let initialState: State = State() -// -// // 주입받는 의존성 -// private let adminUseCase: AdminUseCase -// -// // disposeBag (mutate 안에서는 ReactorKit이 관리) -// private let disposeBagInternal = DisposeBag() -// -// // MARK: - Init -// init(adminUseCase: AdminUseCase) { -// self.adminUseCase = adminUseCase -// } -// -// // MARK: - mutate -// func mutate(action: Action) -> Observable { -// switch action { -// -// case .viewDidLoad: -// return .empty() -// -// // 텍스트 입력 업데이트 -// case let .updateName(name): -// return .just(.setName(name)) -// -// case let .updateDesc(desc): -// return .just(.setDesc(desc)) -// -// case let .updateCategory(cat): -// return .just(.setCategory(cat)) -// -// case let .updateAddress(addr): -// return .just(.setAddress(addr)) -// -// case let .updateLatitude(latString): -// // 문자 -> Double 변환 -// let lat = Double(latString) ?? 0 -// return .just(.setLatitude(lat)) -// -// case let .updateLongitude(lonString): -// let lon = Double(lonString) ?? 0 -// return .just(.setLongitude(lon)) -// -// case let .updateMarkerTitle(title): -// return .just(.setMarkerTitle(title)) -// -// case let .updateMarkerSnippet(snippet): -// return .just(.setMarkerSnippet(snippet)) -// -// case let .updateStartDate(date): -// return .just(.setStartDate(date)) -// -// case let .updateEndDate(date): -// return .just(.setEndDate(date)) -// -// case let .updateStartTime(time): -// return .just(.setStartTime(time)) -// -// case let .updateEndTime(time): -// return .just(.setEndTime(time)) -// -// // 이미지 관련 -// case let .addImage(img): -// return .just(.addImage(img)) -// -// case let .removeImage(index): -// return .just(.removeImageAt(index)) -// -// case let .toggleMainImage(index): -// return .just(.toggleMain(index)) -// -// // "저장" 액션 -// case .tapRegister: -// return doRegister() -// } -// } -// -// // MARK: - reduce -// func reduce(state: State, mutation: Mutation) -> State { -// var newState = state -// -// switch mutation { -// case let .setName(name): -// newState.name = name -// -// case let .setDesc(desc): -// newState.desc = desc -// -// case let .setCategory(cat): -// newState.category = cat -// -// case let .setAddress(addr): -// newState.address = addr -// -// case let .setLatitude(lat): -// newState.latitude = lat -// -// case let .setLongitude(lon): -// newState.longitude = lon -// -// case let .setMarkerTitle(title): -// newState.markerTitle = title -// -// case let .setMarkerSnippet(snippet): -// newState.markerSnippet = snippet -// -// case let .setStartDate(date): -// newState.startDate = date -// -// case let .setEndDate(date): -// newState.endDate = date -// -// case let .setStartTime(time): -// newState.startTime = time -// -// case let .setEndTime(time): -// newState.endTime = time -// -// // 이미지 -// case let .addImage(img): -// newState.images.append(img) -// -// case let .removeImageAt(index): -// if index >= 0 && index < newState.images.count { -// newState.images.remove(at: index) -// } -// -// case let .toggleMain(idx): -// // 모든 이미지 isMain=false 후 idx만 true -// for i in 0.. Observable { -// // 1) 폼 유효성 검사 -// guard validateForm() else { -// // 유효성 실패시엔 Mutation 없이 .empty() (혹은 에러 Mutation) -// return .empty() -// } -// -// // 2) 대표 vs 서브 이미지 -// let mainImg = currentState.images.first(where: { $0.isMain }) -// ?? currentState.images.first! -// let mainUrl = mainImg.filePath -// let subImages = currentState.images -// .filter { $0.filePath != mainUrl } -// .map { $0.filePath } -// -// // 3) 날짜/시간 -> 문자열 변환 -// let dateFormatter = DateFormatter() -// dateFormatter.dateFormat = "yyyy-MM-dd" -// let startDateStr = currentState.startDate.map { dateFormatter.string(from: $0) } ?? "2025-01-01" -// let endDateStr = currentState.endDate.map { dateFormatter.string(from: $0) } ?? "2025-12-31" -// -// // 4) DTO -// let request = CreatePopUpStoreRequestDTO( -// name: currentState.name, -// categoryId: convertCategoryToId(currentState.category), -// desc: currentState.desc, -// address: currentState.address, -// startDate: startDateStr, -// endDate: endDateStr, -// mainImageUrl: mainUrl, -// bannerYn: false, -// imageUrlList: subImages, -// latitude: currentState.latitude, -// longitude: currentState.longitude, -// markerTitle: currentState.markerTitle, -// markerSnippet: currentState.markerSnippet, -// startDateBeforeEndDate: true -// ) -// -// // 5) 서버 호출 -> 결과에 따라 Mutation -// return adminUseCase.createStore(request: request) -// .map { _ in Mutation.setRegistered(true) } -// .catch { error in -// // 에러 시 로깅/별도 처리 -// return .empty() -// } -// .asObservable() -// } -// -// // MARK: - validateForm() -// private func validateForm() -> Bool { -// // 간단 예시 -// if currentState.name.isEmpty { return false } -// if currentState.desc.isEmpty { return false } -// if currentState.address.isEmpty { return false } -// if currentState.latitude == 0 && currentState.longitude == 0 { return false } -// if currentState.markerTitle.isEmpty || currentState.markerSnippet.isEmpty { return false } -// // 이미지 >=1, 대표 1장 -// if currentState.images.isEmpty { return false } -// if !currentState.images.contains(where: { $0.isMain }) { return false } -// return true -// } -// -// /// 예시: 카테고리 문자열 -> ID 변환 (임의 로직) -// private func convertCategoryToId(_ cat: String) -> Int64 { -// switch cat { -// case "게임": return 101 -// case "라이프스타일": return 102 -// default: return 100 -// } -// } -// } diff --git a/Poppool/Poppool/Presentation/Scene/Admin/PopUpStoreRegisterView.swift b/Poppool/Poppool/Presentation/Scene/Admin/PopUpStoreRegisterView.swift deleted file mode 100644 index 6255da1a..00000000 --- a/Poppool/Poppool/Presentation/Scene/Admin/PopUpStoreRegisterView.swift +++ /dev/null @@ -1,424 +0,0 @@ -//// -//// PopUpStoreRegisterView.swift -//// Poppool -//// -//// Created by 김기현 on 1/14/25. -//// -// -// import UIKit -// import SnapKit -// import Then -// -// final class PopUpStoreRegisterView: UIView { -// -// // MARK: - Callbacks (Closure) -// /// "이미지 추가" 버튼 탭 -// var onAddImageTapped: (() -> Void)? -// /// "전체삭제" 버튼 탭 -// var onRemoveAllTapped: (() -> Void)? -// /// 대표이미지 체크 토글 (콜렉션셀에서 index 전달) -// var onToggleMainImage: ((Int) -> Void)? -// /// 개별 이미지 삭제(index) -// var onDeleteImage: ((Int) -> Void)? -// -// /// "카테고리 선택" 버튼 탭 -// var onCategoryButtonTapped: (() -> Void)? -// /// "기간 선택" 버튼 탭 -// var onPeriodButtonTapped: (() -> Void)? -// /// "시간 선택" 버튼 탭 -// var onTimeButtonTapped: (() -> Void)? -// /// "저장" 버튼 탭 -// var onSaveTapped: (() -> Void)? -// -// // MARK: - Subviews -// // (1) 상단 "이름" 입력 필드 -// private let nameTextField = UITextField().then { -// $0.placeholder = "팝업스토어 이름을 입력해 주세요." -// $0.font = .systemFont(ofSize: 14) -// $0.textColor = .darkGray -// $0.borderStyle = .roundedRect -// } -// -// // (2) 이미지 버튼들 -// private let addImageButton = UIButton(type: .system).then { -// $0.setTitle("이미지 추가", for: .normal) -// $0.setTitleColor(.systemBlue, for: .normal) -// } -// private let removeAllButton = UIButton(type: .system).then { -// $0.setTitle("전체 삭제", for: .normal) -// $0.setTitleColor(.red, for: .normal) -// } -// -// // (3) 이미지 콜렉션뷰 -// private let imagesCollectionView: UICollectionView = { -// let layout = UICollectionViewFlowLayout() -// layout.scrollDirection = .horizontal -// layout.itemSize = CGSize(width: 80, height: 100) -// layout.minimumLineSpacing = 8 -// -// let cv = UICollectionView(frame: .zero, collectionViewLayout: layout) -// cv.backgroundColor = .clear -// cv.register(PopUpImageCell.self, forCellWithReuseIdentifier: PopUpImageCell.identifier) -// return cv -// }() -// -// // (4) 카테고리/기간/시간 버튼 -// private let categoryButton = UIButton(type: .system).then { -// $0.setTitle("카테고리 선택 ▾", for: .normal) -// $0.setTitleColor(.darkGray, for: .normal) -// $0.titleLabel?.font = .systemFont(ofSize:14) -// $0.layer.cornerRadius = 8 -// $0.layer.borderWidth = 1 -// $0.layer.borderColor = UIColor.lightGray.cgColor -// $0.contentHorizontalAlignment = .left -// $0.contentEdgeInsets = UIEdgeInsets(top:7, left:8, bottom:7, right:8) -// } -// private let periodButton = UIButton(type: .system).then { -// $0.setTitle("기간 선택 ▾", for: .normal) -// $0.setTitleColor(.darkGray, for: .normal) -// $0.titleLabel?.font = UIFont.systemFont(ofSize:14) -// $0.layer.cornerRadius = 8 -// $0.layer.borderWidth = 1 -// $0.layer.borderColor = UIColor.lightGray.cgColor -// $0.contentHorizontalAlignment = .left -// $0.contentEdgeInsets = UIEdgeInsets(top:7, left:8, bottom:7, right:8) -// } -// private let timeButton = UIButton(type: .system).then { -// $0.setTitle("시간 선택 ▾", for: .normal) -// $0.setTitleColor(.darkGray, for: .normal) -// $0.titleLabel?.font = UIFont.systemFont(ofSize:14) -// $0.layer.cornerRadius = 8 -// $0.layer.borderWidth = 1 -// $0.layer.borderColor = UIColor.lightGray.cgColor -// $0.contentHorizontalAlignment = .left -// $0.contentEdgeInsets = UIEdgeInsets(top:7, left:8, bottom:7, right:8) -// } -// -// // (5) "저장" 버튼 -// private let saveButton = UIButton(type: .system).then { -// $0.setTitle("저장", for: .normal) -// $0.setTitleColor(.white, for: .normal) -// $0.backgroundColor = .lightGray -// $0.titleLabel?.font = UIFont.systemFont(ofSize: 16, weight: .bold) -// $0.layer.cornerRadius = 8 -// $0.isEnabled = false -// } -// -// // (6) 스크롤/스택 -// private let scrollView = UIScrollView() -// private let contentView = UIView() -// private let verticalStack = UIStackView().then { -// $0.axis = .vertical -// $0.spacing = 8 -// $0.distribution = .fill -// } -// -// // MARK: - Internal Data -// /// 외부(뷰컨)에서 주입할 "이미지 목록" -// private var images: [ExtendedImage] = [] -// -// // MARK: - Public computed properties -// /// 입력한 이름 get/set -// var storeName: String { -// get { nameTextField.text ?? "" } -// set { nameTextField.text = newValue } -// } -// -// /// 현재 카테고리 버튼 타이틀 -// var categoryText: String { -// get { categoryButton.title(for: .normal) ?? "" } -// set { categoryButton.setTitle(newValue, for: .normal) } -// } -// -// // MARK: - Init -// override init(frame: CGRect) { -// super.init(frame: frame) -// setupLayout() -// setupActions() -// setupCollectionView() -// } -// -// required init?(coder: NSCoder) { -// fatalError("init(coder:) has not been implemented") -// } -// -// // MARK: - Setup -// private func setupLayout() { -// backgroundColor = UIColor(white:0.95, alpha:1) -// -// // 1) 스크롤+컨텐츠 -// addSubview(scrollView) -// scrollView.snp.makeConstraints { make in -// make.top.left.right.equalToSuperview() -// make.bottom.equalToSuperview().offset(-64) // 아래 "저장"버튼을 띄우기 위해 예시 -// } -// scrollView.addSubview(contentView) -// contentView.snp.makeConstraints { make in -// make.edges.equalToSuperview() -// make.width.equalTo(scrollView.snp.width) -// } -// -// // 2) 수직스택 -// contentView.addSubview(verticalStack) -// verticalStack.snp.makeConstraints { make in -// make.top.equalToSuperview().offset(16) -// make.left.right.equalToSuperview().inset(16) -// make.bottom.equalToSuperview() -// } -// -// // (A) 이름 필드 -// let nameRow = makeRow(title: "이름", rightView: nameTextField) -// verticalStack.addArrangedSubview(nameRow) -// -// // (B) 이미지 버튼 (add/remove) -// let buttonStack = UIStackView(arrangedSubviews: [addImageButton, removeAllButton]) -// buttonStack.axis = .horizontal -// buttonStack.distribution = .fillEqually -// buttonStack.spacing = 8 -// verticalStack.addArrangedSubview(buttonStack) -// buttonStack.snp.makeConstraints { make in -// make.height.equalTo(40) -// } -// -// // (C) 콜렉션뷰 -// verticalStack.addArrangedSubview(imagesCollectionView) -// imagesCollectionView.snp.makeConstraints { make in -// make.height.equalTo(100) -// } -// -// // (D) 카테고리 버튼 -// let catRow = makeRow(title: "카테고리", rightView: categoryButton) -// verticalStack.addArrangedSubview(catRow) -// -// // (E) 기간 버튼 -// let periodRow = makeRow(title: "기간", rightView: periodButton) -// verticalStack.addArrangedSubview(periodRow) -// -// // (F) 시간 버튼 -// let timeRow = makeRow(title: "시간", rightView: timeButton) -// verticalStack.addArrangedSubview(timeRow) -// -// // (여기에 위치/마커/설명 등 다른 항목도 같은 방식으로) -// -// // 3) 저장 버튼 (화면 하단 고정) -// addSubview(saveButton) -// saveButton.snp.makeConstraints { make in -// make.left.right.equalToSuperview().inset(16) -// make.bottom.equalTo(safeAreaLayoutGuide).offset(-8) -// make.height.equalTo(44) -// } -// } -// -// private func setupActions() { -// // (1) 이미지추가 -> onAddImageTapped -// addImageButton.addTarget(self, action: #selector(tapAddImage), for: .touchUpInside) -// // (2) 전체삭제 -> onRemoveAllTapped -// removeAllButton.addTarget(self, action: #selector(tapRemoveAll), for: .touchUpInside) -// // (3) 카테고리 -> onCategoryButtonTapped -// categoryButton.addTarget(self, action: #selector(tapCategory), for: .touchUpInside) -// // (4) 기간 -> onPeriodButtonTapped -// periodButton.addTarget(self, action: #selector(tapPeriod), for: .touchUpInside) -// // (5) 시간 -> onTimeButtonTapped -// timeButton.addTarget(self, action: #selector(tapTime), for: .touchUpInside) -// // (6) 저장 -> onSaveTapped -// saveButton.addTarget(self, action: #selector(tapSave), for: .touchUpInside) -// } -// -// private func setupCollectionView() { -// imagesCollectionView.dataSource = self -// imagesCollectionView.delegate = self -// } -// -// // MARK: - Public Methods -// /// 외부에서 "이미지 목록"을 세팅할 때 사용 -// func updateImages(_ newImages: [ExtendedImage]) { -// self.images = newImages -// imagesCollectionView.reloadData() -// updateSaveButtonState() -// } -// -// /// 저장버튼 활성화 업데이트 -// private func updateSaveButtonState() { -// // 예: 이미지가 1장 이상 있을 때만 활성화 -// let hasImages = !images.isEmpty -// saveButton.isEnabled = hasImages -// saveButton.backgroundColor = hasImages ? .systemBlue : .lightGray -// } -// -// // MARK: - Actions -// @objc private func tapAddImage() { -// onAddImageTapped?() -// } -// @objc private func tapRemoveAll() { -// onRemoveAllTapped?() -// } -// @objc private func tapCategory() { -// onCategoryButtonTapped?() -// } -// @objc private func tapPeriod() { -// onPeriodButtonTapped?() -// } -// @objc private func tapTime() { -// onTimeButtonTapped?() -// } -// @objc private func tapSave() { -// onSaveTapped?() -// } -// -// // MARK: - Helpers -// private func makeRow(title: String, rightView: UIView) -> UIView { -// let row = UIView() -// -// // 왼쪽 BG -// let leftBG = UIView() -// leftBG.backgroundColor = UIColor(white:0.94, alpha:1) -// row.addSubview(leftBG) -// leftBG.snp.makeConstraints { make in -// make.top.left.bottom.equalToSuperview() -// make.width.equalTo(80) -// } -// -// // 왼쪽 라벨 -// let label = UILabel() -// label.text = title -// label.font = .systemFont(ofSize:15, weight:.bold) -// label.textColor = .black -// label.textAlignment = .center -// leftBG.addSubview(label) -// label.snp.makeConstraints { make in -// make.centerY.equalToSuperview() -// make.left.right.equalToSuperview().inset(8) -// } -// -// // 오른쪽 BG -// let rightBG = UIView() -// rightBG.backgroundColor = .white -// row.addSubview(rightBG) -// rightBG.snp.makeConstraints { make in -// make.top.bottom.right.equalToSuperview() -// make.left.equalTo(leftBG.snp.right) -// } -// -// // 오른쪽 컨텐츠 (파라미터) -// rightBG.addSubview(rightView) -// rightView.snp.makeConstraints { make in -// make.top.equalToSuperview().offset(8) -// make.bottom.equalToSuperview().offset(-8) -// make.left.equalToSuperview().offset(8) -// make.right.equalToSuperview().offset(-8) -// make.height.equalTo(36).priority(.medium) -// } -// -// // 구분선 -// let sep = UIView() -// sep.backgroundColor = UIColor.lightGray.withAlphaComponent(0.3) -// row.addSubview(sep) -// sep.snp.makeConstraints { make in -// make.left.right.bottom.equalToSuperview() -// make.height.equalTo(1) -// } -// -// return row -// } -// } -// -//// MARK: - UICollectionViewDataSource -// extension PopUpStoreRegisterView: UICollectionViewDataSource { -// func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { -// return images.count -// } -// -// func collectionView(_ collectionView: UICollectionView, -// cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { -// guard let cell = collectionView.dequeueReusableCell( -// withReuseIdentifier: PopUpImageCell.identifier, -// for: indexPath -// ) as? PopUpImageCell else { -// return UICollectionViewCell() -// } -// let item = images[indexPath.item] -// cell.configure(with: item) -// -// cell.onMainCheckToggled = { [weak self] in -// self?.onToggleMainImage?(indexPath.item) -// } -// cell.onDeleteTapped = { [weak self] in -// self?.onDeleteImage?(indexPath.item) -// } -// return cell -// } -// } -// -//// MARK: - UICollectionViewDelegateFlowLayout -// extension PopUpStoreRegisterView: UICollectionViewDelegateFlowLayout { -// // 혹시 셀 사이즈/간격을 동적으로 조정하고 싶다면 여기서 -// } -// -//// MARK: - PopUpImageCell (같은 파일) -// final class PopUpImageCell: UICollectionViewCell { -// static let identifier = "PopUpImageCell" -// -// // 콜백 -// var onMainCheckToggled: (() -> Void)? -// var onDeleteTapped: (() -> Void)? -// -// private let thumbImageView = UIImageView().then { -// $0.contentMode = .scaleAspectFill -// $0.layer.cornerRadius = 6 -// $0.clipsToBounds = true -// } -// private let mainCheckButton = UIButton(type: .system).then { -// $0.setTitle("대표", for: .normal) -// $0.setTitleColor(.white, for: .normal) -// $0.backgroundColor = .gray -// $0.titleLabel?.font = .systemFont(ofSize:12, weight:.medium) -// $0.layer.cornerRadius = 4 -// } -// private let deleteButton = UIButton(type: .system).then { -// $0.setTitle("삭제", for: .normal) -// $0.setTitleColor(.red, for: .normal) -// $0.titleLabel?.font = .systemFont(ofSize:12, weight:.medium) -// } -// -// override init(frame: CGRect) { -// super.init(frame: frame) -// contentView.addSubview(thumbImageView) -// contentView.addSubview(mainCheckButton) -// contentView.addSubview(deleteButton) -// -// thumbImageView.snp.makeConstraints { make in -// make.top.left.right.equalToSuperview() -// make.height.equalTo(thumbImageView.snp.width) -// } -// mainCheckButton.snp.makeConstraints { make in -// make.top.equalTo(thumbImageView.snp.bottom).offset(4) -// make.left.equalToSuperview() -// make.width.equalTo(40) -// make.height.equalTo(24) -// } -// deleteButton.snp.makeConstraints { make in -// make.top.equalTo(thumbImageView.snp.bottom).offset(4) -// make.right.equalToSuperview() -// make.width.equalTo(40) -// make.height.equalTo(24) -// } -// -// mainCheckButton.addTarget(self, action: #selector(didTapMainCheck), for: .touchUpInside) -// deleteButton.addTarget(self, action: #selector(didTapDelete), for: .touchUpInside) -// } -// required init?(coder: NSCoder) { -// fatalError("init(coder:) has not been implemented") -// } -// -// @objc private func didTapMainCheck() { -// onMainCheckToggled?() -// } -// @objc private func didTapDelete() { -// onDeleteTapped?() -// } -// -// func configure(with item: ExtendedImage) { -// thumbImageView.image = item.image -// mainCheckButton.backgroundColor = item.isMain ? .systemRed : .gray -// } -// } diff --git a/Poppool/Poppool/Presentation/Scene/Map/CustomClusterRenderer.swift b/Poppool/Poppool/Presentation/Scene/Map/CustomClusterRenderer.swift deleted file mode 100644 index 82fa4b7d..00000000 --- a/Poppool/Poppool/Presentation/Scene/Map/CustomClusterRenderer.swift +++ /dev/null @@ -1,15 +0,0 @@ -// import GoogleMaps -// -// class CustomClusterRenderer: GMUDefaultClusterRenderer { -// override func willRenderMarker(_ marker: GMSMarker) { -// super.willRenderMarker(marker) -// // 클러스터일 경우 처리 -// if let cluster = marker.userData as? GMUCluster { -// let customView = MapMarker() -// // 예: 클러스터의 이름과 count를 injection -// customView.injection(with: .init(isSelected: false, isCluster: true, regionName: cluster.clusterIdentifier, count: cluster.count)) -// // marker의 iconView에 적용 -// marker.iconView = customView -// } -// } -// } diff --git a/Poppool/Poppool/Presentation/Scene/Map/FillterSheetView/CategoryFilterView.swift b/Poppool/Poppool/Presentation/Scene/Map/FillterSheetView/CategoryFilterView.swift deleted file mode 100644 index 06fd3d99..00000000 --- a/Poppool/Poppool/Presentation/Scene/Map/FillterSheetView/CategoryFilterView.swift +++ /dev/null @@ -1,35 +0,0 @@ -// import UIKit -// import SnapKit -// -// final class CategoryFilterView: UIView { -// private let stackView = UIStackView() -// private let categories = ["게임", "라이프스타일", "엔터테인먼트", "패션", "음식/요리", "키즈"] -// -// override init(frame: CGRect) { -// super.init(frame: frame) -// setupLayout() -// setupCategories() -// } -// -// required init?(coder: NSCoder) { -// fatalError("init(coder:) has not been implemented") -// } -// -// private func setupLayout() { -// addSubview(stackView) -// stackView.axis = .vertical -// stackView.spacing = 12 -// stackView.snp.makeConstraints { make in -// make.top.equalToSuperview().offset(20) -// make.leading.trailing.equalToSuperview().inset(20) -// } -// } -// -// private func setupCategories() { -// for c in categories { -// let chip = FilterChip() -// chip.setTitle(c, style: .inactive) -// stackView.addArrangedSubview(chip) -// } -// } -// } diff --git a/Poppool/Poppool/Presentation/Scene/Map/FillterSheetView/FilterTabsView.swift b/Poppool/Poppool/Presentation/Scene/Map/FillterSheetView/FilterTabsView.swift deleted file mode 100644 index 99dfe49c..00000000 --- a/Poppool/Poppool/Presentation/Scene/Map/FillterSheetView/FilterTabsView.swift +++ /dev/null @@ -1,39 +0,0 @@ -// import UIKit -// import RxSwift -// import RxCocoa -// -// final class FilterTabsView: UIView { -// private let tabs = ["지역", "카테고리"] -// let segmentedControl = UISegmentedControl() -// -// var rx: Reactive { -// return Reactive(self) -// } -// -// override init(frame: CGRect) { -// super.init(frame: frame) -// setupTabs() -// } -// -// required init?(coder: NSCoder) { -// fatalError("init(coder:) has not been implemented") -// } -// -// private func setupTabs() { -// tabs.enumerated().forEach { index, title in -// segmentedControl.insertSegment(withTitle: title, at: index, animated: false) -// } -// segmentedControl.selectedSegmentIndex = 0 -// addSubview(segmentedControl) -// -// segmentedControl.snp.makeConstraints { make in -// make.edges.equalToSuperview() -// } -// } -// } -// -// extension Reactive where Base: FilterTabsView { -// var selectedIndex: ControlProperty { -// return base.segmentedControl.rx.selectedSegmentIndex -// } -// } diff --git a/Poppool/Poppool/Presentation/Scene/Map/FillterSheetView/LocationFilterView.swift b/Poppool/Poppool/Presentation/Scene/Map/FillterSheetView/LocationFilterView.swift deleted file mode 100644 index 567dfd1d..00000000 --- a/Poppool/Poppool/Presentation/Scene/Map/FillterSheetView/LocationFilterView.swift +++ /dev/null @@ -1,40 +0,0 @@ -// import UIKit -// import SnapKit -// -// final class LocationFilterView: UIView { -// private let scrollView = UIScrollView() -// private let contentStack = UIStackView() -// -// private let regions = ["서울", "경기", "인천", "부산", "제주"] -// -// override init(frame: CGRect) { -// super.init(frame: frame) -// setupLayout() -// setupRegions() -// } -// -// required init?(coder: NSCoder) { -// fatalError("init(coder:) has not been implemented") -// } -// -// private func setupLayout() { -// addSubview(scrollView) -// scrollView.snp.makeConstraints { $0.edges.equalToSuperview() } -// -// scrollView.addSubview(contentStack) -// contentStack.axis = .horizontal -// contentStack.spacing = 8 -// contentStack.snp.makeConstraints { make in -// make.edges.equalToSuperview().inset(20) -// make.height.equalTo(40) -// } -// } -// -// private func setupRegions() { -// for r in regions { -// let chip = FilterChip() -// chip.setTitle(r, style: .inactive) -// contentStack.addArrangedSubview(chip) -// } -// } -// } diff --git a/Poppool/Poppool/Presentation/Scene/Map/FindMap/GuideMapViewController.swift b/Poppool/Poppool/Presentation/Scene/Map/FindMap/GuideMapViewController.swift deleted file mode 100644 index 8b137891..00000000 --- a/Poppool/Poppool/Presentation/Scene/Map/FindMap/GuideMapViewController.swift +++ /dev/null @@ -1 +0,0 @@ - diff --git a/Poppool/Poppool/Presentation/Scene/Map/FindMap/MapGuideView/MapGuideAppService.swift b/Poppool/Poppool/Presentation/Scene/Map/FindMap/MapGuideView/MapGuideAppService.swift deleted file mode 100644 index 048c1f2f..00000000 --- a/Poppool/Poppool/Presentation/Scene/Map/FindMap/MapGuideView/MapGuideAppService.swift +++ /dev/null @@ -1,71 +0,0 @@ -import CoreLocation -import UIKit - -enum MapAppType { - case naver - case kakao - case apple - - static func from(string: String) -> MapAppType? { - switch string.lowercased() { - case "naver": - return .naver - case "kakao": - return .kakao - case "apple", "applemap": - return .apple - default: - return nil - } - } - - func urlScheme(coordinate: CLLocationCoordinate2D, name: String, address: String) -> String { - let encodedName = name.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) ?? "" - let encodedAddress = address.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) ?? "" - - switch self { - case .naver: - return "nmap://place?lat=\(coordinate.latitude)&lng=\(coordinate.longitude)&name=\(encodedName)&addr=\(encodedAddress)&appname=com.poppool.app" - case .kakao: - return "kakaomap://look?p=\(coordinate.latitude),\(coordinate.longitude)" - case .apple: - return "maps://?q=\(encodedName)&ll=\(coordinate.latitude),\(coordinate.longitude)&z=16" - } - } - - var appStoreURL: String { - switch self { - case .naver: - return "https://apps.apple.com/kr/app/id311867728" - case .kakao: - return "https://apps.apple.com/kr/app/id304608425" - case .apple: - return "https://apps.apple.com/kr/app/id1108185179" - } - } -} - -class MapAppService { - static func openMapApp(_ appTypeString: String, coordinate: CLLocationCoordinate2D, name: String, address: String) -> Observable { - guard let appType = MapAppType.from(string: appTypeString) else { - return Observable.just("지원하지 않는 맵 앱입니다.") - } - - let urlScheme = appType.urlScheme(coordinate: coordinate, name: name, address: address) - - Logger.log(message: "🗺 맵 앱 열기 시도: \(urlScheme)", category: .debug) - - if let url = URL(string: urlScheme), UIApplication.shared.canOpenURL(url) { - Logger.log(message: "✅ \(appType) 앱 실행", category: .debug) - UIApplication.shared.open(url, options: [:], completionHandler: nil) - return Observable.empty() - } else { - Logger.log(message: "❌ \(appType) 앱 미설치 - 앱스토어로 이동", category: .debug) - if let appStoreURL = URL(string: appType.appStoreURL) { - UIApplication.shared.open(appStoreURL, options: [:], completionHandler: nil) - return Observable.just("\(appTypeString) 앱이 설치되어 있지 않아 앱스토어로 이동합니다.") - } - return Observable.just("앱을 열 수 없습니다.") - } - } -} diff --git a/Poppool/Poppool/Presentation/Scene/Map/MapStoreCard.swift b/Poppool/Poppool/Presentation/Scene/Map/MapStoreCard.swift deleted file mode 100644 index a4c86d8f..00000000 --- a/Poppool/Poppool/Presentation/Scene/Map/MapStoreCard.swift +++ /dev/null @@ -1,116 +0,0 @@ -// import UIKit -// import SnapKit -// -// final class MapStoreCard: UIView { -// // MARK: - Components -// private let containerView: UIView = { -// let view = UIView() -// view.backgroundColor = .white -// view.layer.cornerRadius = 16 -// view.layer.maskedCorners = [.layerMinXMinYCorner, .layerMaxXMinYCorner] -// view.layer.shadowColor = UIColor.black.cgColor -// view.layer.shadowOpacity = 0.1 -// view.layer.shadowRadius = 4 -// view.layer.shadowOffset = CGSize(width: 0, height: -2) -// return view -// }() -// -// private let thumbnailImageView: UIImageView = { -// let iv = UIImageView() -// iv.contentMode = .scaleAspectFill -// iv.clipsToBounds = true -// iv.layer.cornerRadius = 8 -// return iv -// }() -// -// private let categoryLabel = PPLabel(style: .regular, fontSize: 12) -// private let titleLabel: PPLabel = { -// let label = PPLabel(style: .bold, fontSize: 16) -// label.numberOfLines = 2 // 최대 2줄로 제한 -// return label -// }() -// -// private let locationLabel = PPLabel(style: .regular, fontSize: 12) -// private let dateLabel = PPLabel(style: .regular, fontSize: 12) -// -// // MARK: - Init -// init() { -// super.init(frame: .zero) -// setupLayout() -// configureUI() -// } -// -// required init?(coder: NSCoder) { -// fatalError("init(coder:) has not been implemented") -// } -// } -// -//// MARK: - Setup -// private extension MapStoreCard { -// func setupLayout() { -// addSubview(containerView) -// -// [thumbnailImageView, categoryLabel, titleLabel, locationLabel, dateLabel].forEach { -// containerView.addSubview($0) -// } -// -// containerView.snp.makeConstraints { make in -// make.edges.equalToSuperview().inset(16) -// } -// -// -// thumbnailImageView.snp.makeConstraints { make in -// make.leading.equalToSuperview() -// make.top.bottom.equalToSuperview().inset(20) -// make.width.equalTo(80) // 고정된 너비 -// } -// -// categoryLabel.snp.makeConstraints { make in -// make.leading.equalTo(thumbnailImageView.snp.trailing).offset(16) -// make.trailing.equalToSuperview().inset(16) -// make.top.equalTo(thumbnailImageView) -// } -// -// titleLabel.snp.makeConstraints { make in -// make.leading.equalTo(categoryLabel) -// make.trailing.equalToSuperview().inset(16) -// make.top.equalTo(categoryLabel.snp.bottom).offset(8) -// } -// -// locationLabel.snp.makeConstraints { make in -// make.leading.equalTo(categoryLabel) -// make.top.equalTo(titleLabel.snp.bottom).offset(4) -// } -// -// dateLabel.snp.makeConstraints { make in -// make.leading.equalTo(locationLabel.snp.trailing).offset(8) -// make.centerY.equalTo(locationLabel) -// } -// -// } -// -// func configureUI() { -// categoryLabel.textColor = .g700 -// locationLabel.textColor = .g500 -// dateLabel.textColor = .g500 -// } -// } -// -//// MARK: - Inputable -// extension MapStoreCard: Inputable { -// struct Input { -// let image: UIImage? -// let category: String -// let title: String -// let location: String -// let date: String -// } -// -// func injection(with input: Input) { -// thumbnailImageView.image = input.image ?? UIImage(named: "default_thumbnail") -// categoryLabel.text = input.category -// titleLabel.text = input.title -// locationLabel.text = input.location -// dateLabel.text = input.date -// } -// } diff --git a/Poppool/Poppool/Presentation/Scene/Map/MicroClusterMarkerView.swift b/Poppool/Poppool/Presentation/Scene/Map/MicroClusterMarkerView.swift deleted file mode 100644 index f7d21f38..00000000 --- a/Poppool/Poppool/Presentation/Scene/Map/MicroClusterMarkerView.swift +++ /dev/null @@ -1,2 +0,0 @@ -import Foundation -import UIKit diff --git a/Poppool/Poppool/Presentation/Scene/Map/StoreListPanelLayout.swift b/Poppool/Poppool/Presentation/Scene/Map/StoreListPanelLayout.swift deleted file mode 100644 index 5dd5201d..00000000 --- a/Poppool/Poppool/Presentation/Scene/Map/StoreListPanelLayout.swift +++ /dev/null @@ -1,30 +0,0 @@ -// -// import FloatingPanel -// import UIKit -// -// class StoreListPanelLayout: FloatingPanelLayout { -// let position: FloatingPanelPosition = .bottom -// let initialState: FloatingPanelState = .half -// -// var anchors: [FloatingPanelState: FloatingPanelLayoutAnchoring] { -// return [ -// .full: FloatingPanelLayoutAnchor(absoluteInset: 120, edge: .top, referenceGuide: .superview), -// .half: FloatingPanelLayoutAnchor(fractionalInset: 0.6, edge: .bottom, referenceGuide: .safeArea), -// .tip: FloatingPanelLayoutAnchor(absoluteInset: -100, edge: .bottom, referenceGuide: .safeArea) // 완전히 내림 -// ] -// } -// -// func backdropAlpha(for state: FloatingPanelState) -> CGFloat { -// return 0.0 -// } -// -// func shouldMove(for proposedTargetState: FloatingPanelState) -> Bool { -// return true -// } -// -// var cornerRadius: CGFloat { return 0 } -// -// func surfaceLayout(for size: CGSize) -> NSCollectionLayoutDimension { -// return .fractionalWidth(1.0) -// } -// } diff --git a/Poppool/Poppool/Presentation/Scene/Map/StoreListView/StoreListHeaderView.swift b/Poppool/Poppool/Presentation/Scene/Map/StoreListView/StoreListHeaderView.swift deleted file mode 100644 index 65f574b0..00000000 --- a/Poppool/Poppool/Presentation/Scene/Map/StoreListView/StoreListHeaderView.swift +++ /dev/null @@ -1,54 +0,0 @@ -// -// import UIKit -// import SnapKit -// import RxSwift -// -// -// class StoreListHeaderView: UICollectionReusableView { -// static let identifier = "StoreListHeaderView" -// -// let searchInput = MapSearchInput() -// let filterChips = MapFilterChips() -// -// var disposeBag = DisposeBag() -// override init(frame: CGRect) { -// super.init(frame: frame) -//// print("[DEBUG] StoreListHeaderView 초기화 - frame: \(frame)") -// setupLayout() -// searchInput.setBackgroundColorForList() -// -// } -// -// required init?(coder: NSCoder) { -// fatalError("init(coder:) has not been implemented") -// } -// -// private func setupLayout() { -// -// backgroundColor = .white -// addSubview(searchInput) -// addSubview(filterChips) -// -// -// searchInput.snp.makeConstraints { make in -// make.top.equalToSuperview().offset(16) -// make.left.equalToSuperview().offset(20) -// make.right.equalToSuperview().inset(16) -// make.height.equalTo(37) -// -// -// } -// -// filterChips.snp.makeConstraints { make in -// make.top.equalTo(searchInput.snp.bottom).offset(11) -// make.left.right.equalToSuperview().inset(20) -// make.height.equalTo(36) -// make.bottom.equalToSuperview().offset(-20) -// } -// -// -// layoutIfNeeded() -// -// -// } -// } diff --git a/Poppool/Poppool/Presentation/Scene/Map/StoreListView/StoreListPanelLayout.swift b/Poppool/Poppool/Presentation/Scene/Map/StoreListView/StoreListPanelLayout.swift deleted file mode 100644 index ab3b649d..00000000 --- a/Poppool/Poppool/Presentation/Scene/Map/StoreListView/StoreListPanelLayout.swift +++ /dev/null @@ -1,39 +0,0 @@ -// -// StoreListPanelLayout.swift -// Poppool -// -// Created by 김기현 on 12/20/24. -// - -import FloatingPanel -import UIKit - -class StoreListPanelLayout: FloatingPanelLayout { - let position: FloatingPanelPosition = .bottom - let initialState: FloatingPanelState = .half - - var anchors: [FloatingPanelState: FloatingPanelLayoutAnchoring] { - return [ - // 스택뷰 (검색바 + 필터칩) 바로 아래에 맞춰서 올라오도록 설정 - .full: FloatingPanelLayoutAnchor(absoluteInset: 90, edge: .top, referenceGuide: .safeArea), - .half: FloatingPanelLayoutAnchor(fractionalInset: 0.6, edge: .bottom, referenceGuide: .safeArea) - ] - } - - func backdropAlpha(for state: FloatingPanelState) -> CGFloat { - return 0.0 - } - - // 스크롤 뷰와의 상호작용 방지 - func shouldMove(for proposedTargetState: FloatingPanelState) -> Bool { - return true - } - - // 패널의 모서리 둥글기 설정 - var cornerRadius: CGFloat { return 0 } // 페이지처럼 보이도록 모서리 둥글기 제거 - - // 화면 전체를 덮도록 surface 레이아웃 설정 - func surfaceLayout(for size: CGSize) -> NSCollectionLayoutDimension { - return .fractionalWidth(1.0) - } -} diff --git a/Poppool/Poppool/Presentation/Scene/Map/StoreLocation.swift b/Poppool/Poppool/Presentation/Scene/Map/StoreLocation.swift deleted file mode 100644 index e8e7b76c..00000000 --- a/Poppool/Poppool/Presentation/Scene/Map/StoreLocation.swift +++ /dev/null @@ -1,8 +0,0 @@ -// -// StoreLocation.swift -// Poppool -// -// Created by 김기현 on 2/7/25. -// - -import Foundation diff --git a/Poppool/Poppool/Presentation/Scene/Map/TestViewController.swift b/Poppool/Poppool/Presentation/Scene/Map/TestViewController.swift deleted file mode 100644 index 82bd615b..00000000 --- a/Poppool/Poppool/Presentation/Scene/Map/TestViewController.swift +++ /dev/null @@ -1,153 +0,0 @@ -// -// ViewController.swift -// Poppool -// -// Created by Porori on 11/24/24. -// - -import UIKit - -import RxCocoa -import RxGesture -import RxSwift -import SnapKit - -class TestViewController: UIViewController { - - private let topView: UIView = { - let view = UIView() - view.backgroundColor = .w100 - view.alpha = 0 - return view - }() - - private let topViewLabel: UILabel = { - let label = UILabel() - label.text = "Top View Label" - return label - }() - - private let bottomView: UIView = { - let view = UIView() - view.backgroundColor = .w100 - return view - }() - - private let gestureBar: UIView = { - let view = UIView() - view.backgroundColor = .g200 - return view - }() - - private let listButton: PPButton = { - return PPButton(style: .secondary, text: "리스트 버튼") - }() - - private let disposeBag = DisposeBag() - - private var bottomViewTopConstraints: Constraint? - - enum ModalState { - case top - case middle - case bottom - } - - var modalState: ModalState = .bottom - - override func viewDidLoad() { - super.viewDidLoad() - view.backgroundColor = .blue - setUpConstratins() - bind() - } - - func setUpConstratins() { - view.addSubview(listButton) - listButton.snp.makeConstraints { make in - make.leading.trailing.bottom.equalToSuperview().inset(20) - make.height.equalTo(50) - } - - view.addSubview(topView) - topView.snp.makeConstraints { make in - make.top.leading.trailing.equalToSuperview() - make.bottom.equalTo(view.safeAreaLayoutGuide.snp.top).offset(104) - } - - topView.addSubview(topViewLabel) - topViewLabel.snp.makeConstraints { make in - make.center.equalToSuperview() - } - - view.addSubview(bottomView) - bottomView.snp.makeConstraints { make in - make.leading.trailing.equalToSuperview() - bottomViewTopConstraints = make.top.equalTo(topView.snp.bottom).offset(700).constraint - make.height.equalTo(700) - } - - bottomView.addSubview(gestureBar) - gestureBar.snp.makeConstraints { make in - make.width.equalTo(50) - make.height.equalTo(20) - make.top.equalToSuperview().inset(20) - make.centerX.equalToSuperview() - } - } - - func bind() { - listButton.rx.tap - .withUnretained(self) - .subscribe { (owner, _) in - print("listButtonTapped") - UIView.animate(withDuration: 0.3) { - owner.bottomViewTopConstraints?.update(offset: 124) - owner.topView.alpha = 0 - owner.view.layoutIfNeeded() - } - } - .disposed(by: disposeBag) - - gestureBar.rx.swipeGesture(.up) - .skip(1) - .withUnretained(self) - .subscribe { (owner, _) in - print("swipe up") - UIView.animate(withDuration: 0.3) { - owner.bottomViewTopConstraints?.update(offset: 0) - owner.topView.alpha = 1 - owner.view.layoutIfNeeded() - owner.modalState = .top - } - } - .disposed(by: disposeBag) - - gestureBar.rx.swipeGesture(.down) - .skip(1) - .withUnretained(self) - .subscribe { (owner, _) in - print("swipe down") - switch owner.modalState { - case .top: - UIView.animate(withDuration: 0.3) { - owner.bottomViewTopConstraints?.update(offset: 124) - owner.topView.alpha = 0 - owner.view.layoutIfNeeded() - owner.modalState = .middle - } - case .middle: - UIView.animate(withDuration: 0.3) { - owner.bottomViewTopConstraints?.update(offset: 700) - owner.topView.alpha = 0 - owner.view.layoutIfNeeded() - owner.modalState = .bottom - } - case .bottom: - break - } - - } - .disposed(by: disposeBag) - } -} From fd2d10c857a8f1e026b1cbd4f97bd52bd638be62 Mon Sep 17 00:00:00 2001 From: 0Hooni Date: Mon, 14 Apr 2025 20:53:00 +0900 Subject: [PATCH 02/83] =?UTF-8?q?refactor/#112:=20KeyPath=20=E2=86=92=20Se?= =?UTF-8?q?crets=EB=A1=9C=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 동일한 객체 네이밍이 존해서 변경함 --- Poppool/Poppool/Application/AppDelegate.swift | 4 +- .../Network/AdminAPI/AdminAPIEndpoint.swift | 16 +++---- .../Network/AuthAPI/AuthAPIEndPoint.swift | 4 +- .../CommentAPI/CommentAPIEndPoint.swift | 6 +-- .../Network/HomeAPI/HomeAPIEndpoint.swift | 8 ++-- .../MapAPI/FindDirectionEndPoint.swift | 2 +- .../Data/Network/MapAPI/MapAPIEndpoint.swift | 4 +- .../Network/PopUpAPI/PopUpAPIEndPoint.swift | 10 ++--- .../Network/SignUpAPI/SignUpAPIEndpoint.swift | 6 +-- .../Network/UserAPI/UserAPIEndPoint.swift | 42 +++++++++---------- .../PreSignedAPIEndPoint.swift | 6 +-- .../PreSignedService/PreSignedService.swift | 2 +- .../Presentation/Extension/UIImageView+.swift | 4 +- .../Scene/Admin/AdminStoreCell.swift | 2 +- .../Scene/Detail/DetailReactor.swift | 2 +- .../Resource/{KeyPath.swift => Secrets.swift} | 2 +- 16 files changed, 60 insertions(+), 60 deletions(-) rename Poppool/Poppool/Resource/{KeyPath.swift => Secrets.swift} (98%) diff --git a/Poppool/Poppool/Application/AppDelegate.swift b/Poppool/Poppool/Application/AppDelegate.swift index 5b018dd2..bb8a380f 100644 --- a/Poppool/Poppool/Application/AppDelegate.swift +++ b/Poppool/Poppool/Application/AppDelegate.swift @@ -7,8 +7,8 @@ import UIKit class AppDelegate: UIResponder, UIApplicationDelegate { func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { - KakaoSDK.initSDK(appKey: KeyPath.kakaoAuthAppKey) - NMFAuthManager.shared().clientId = KeyPath.naverMapClientID + KakaoSDK.initSDK(appKey: Secrets.kakaoAuthAppKey) + NMFAuthManager.shared().clientId = Secrets.naverMapClientID let locationManager = CLLocationManager() locationManager.requestWhenInUseAuthorization() diff --git a/Poppool/Poppool/Data/Network/AdminAPI/AdminAPIEndpoint.swift b/Poppool/Poppool/Data/Network/AdminAPI/AdminAPIEndpoint.swift index b5ba885d..2f9a6433 100644 --- a/Poppool/Poppool/Data/Network/AdminAPI/AdminAPIEndpoint.swift +++ b/Poppool/Poppool/Data/Network/AdminAPI/AdminAPIEndpoint.swift @@ -14,7 +14,7 @@ struct AdminAPIEndpoint { size: size ) return Endpoint( - baseURL: KeyPath.popPoolBaseURL, + baseURL: Secrets.popPoolBaseURL, path: "/admin/popup-stores/list", method: .get, queryParameters: params @@ -26,7 +26,7 @@ struct AdminAPIEndpoint { id: Int64 ) -> Endpoint { return Endpoint( - baseURL: KeyPath.popPoolBaseURL, + baseURL: Secrets.popPoolBaseURL, path: "/admin/popup-stores", method: .get, queryParameters: ["popUpStoreId": id] @@ -38,7 +38,7 @@ struct AdminAPIEndpoint { request: CreatePopUpStoreRequestDTO ) -> Endpoint { return Endpoint( - baseURL: KeyPath.popPoolBaseURL, + baseURL: Secrets.popPoolBaseURL, path: "/admin/popup-stores", method: .post, bodyParameters: request @@ -50,7 +50,7 @@ struct AdminAPIEndpoint { request: UpdatePopUpStoreRequestDTO ) -> Endpoint { return Endpoint( - baseURL: KeyPath.popPoolBaseURL, + baseURL: Secrets.popPoolBaseURL, path: "/admin/popup-stores", method: .put, bodyParameters: request @@ -62,7 +62,7 @@ struct AdminAPIEndpoint { id: Int64 ) -> Endpoint { return Endpoint( - baseURL: KeyPath.popPoolBaseURL, + baseURL: Secrets.popPoolBaseURL, path: "/admin/popup-stores", method: .delete, queryParameters: ["popUpStoreId": id] @@ -74,7 +74,7 @@ struct AdminAPIEndpoint { request: CreateNoticeRequestDTO ) -> Endpoint { return Endpoint( - baseURL: KeyPath.popPoolBaseURL, + baseURL: Secrets.popPoolBaseURL, path: "/admin/notice", method: .post, bodyParameters: request @@ -86,7 +86,7 @@ struct AdminAPIEndpoint { request: UpdateNoticeRequestDTO ) -> Endpoint { return Endpoint( - baseURL: KeyPath.popPoolBaseURL, + baseURL: Secrets.popPoolBaseURL, path: "/admin/notice/\(id)", method: .put, bodyParameters: request @@ -97,7 +97,7 @@ struct AdminAPIEndpoint { id: Int64 ) -> Endpoint { return Endpoint( - baseURL: KeyPath.popPoolBaseURL, + baseURL: Secrets.popPoolBaseURL, path: "/admin/notice/\(id)", method: .delete ) diff --git a/Poppool/Poppool/Data/Network/AuthAPI/AuthAPIEndPoint.swift b/Poppool/Poppool/Data/Network/AuthAPI/AuthAPIEndPoint.swift index 4647490b..58d72570 100644 --- a/Poppool/Poppool/Data/Network/AuthAPI/AuthAPIEndPoint.swift +++ b/Poppool/Poppool/Data/Network/AuthAPI/AuthAPIEndPoint.swift @@ -18,7 +18,7 @@ struct AuthAPIEndPoint { /// - Returns: Endpoint static func auth_tryLogin(with userCredential: Encodable, path: String) -> Endpoint { return Endpoint( - baseURL: KeyPath.popPoolBaseURL, + baseURL: Secrets.popPoolBaseURL, path: "/auth/\(path)", method: .post, bodyParameters: userCredential, @@ -28,7 +28,7 @@ struct AuthAPIEndPoint { static func postTokenReissue() -> Endpoint { return Endpoint( - baseURL: KeyPath.popPoolBaseURL, + baseURL: Secrets.popPoolBaseURL, path: "/auth/token/reissue", method: .post ) diff --git a/Poppool/Poppool/Data/Network/CommentAPI/CommentAPIEndPoint.swift b/Poppool/Poppool/Data/Network/CommentAPI/CommentAPIEndPoint.swift index 02f4d689..600d3978 100644 --- a/Poppool/Poppool/Data/Network/CommentAPI/CommentAPIEndPoint.swift +++ b/Poppool/Poppool/Data/Network/CommentAPI/CommentAPIEndPoint.swift @@ -13,7 +13,7 @@ struct CommentAPIEndPoint { static func postCommentAdd(request: PostCommentRequestDTO) -> RequestEndpoint { return RequestEndpoint( - baseURL: KeyPath.popPoolBaseURL, + baseURL: Secrets.popPoolBaseURL, path: "/comments", method: .post, bodyParameters: request @@ -22,7 +22,7 @@ struct CommentAPIEndPoint { static func deleteComment(request: DeleteCommentRequestDTO) -> RequestEndpoint { return RequestEndpoint( - baseURL: KeyPath.popPoolBaseURL, + baseURL: Secrets.popPoolBaseURL, path: "/comments", method: .delete, queryParameters: request @@ -31,7 +31,7 @@ struct CommentAPIEndPoint { static func editComment(request: PutCommentRequestDTO) -> RequestEndpoint { return RequestEndpoint( - baseURL: KeyPath.popPoolBaseURL, + baseURL: Secrets.popPoolBaseURL, path: "/comments", method: .put, bodyParameters: request diff --git a/Poppool/Poppool/Data/Network/HomeAPI/HomeAPIEndpoint.swift b/Poppool/Poppool/Data/Network/HomeAPI/HomeAPIEndpoint.swift index 30e19486..accb193d 100644 --- a/Poppool/Poppool/Data/Network/HomeAPI/HomeAPIEndpoint.swift +++ b/Poppool/Poppool/Data/Network/HomeAPI/HomeAPIEndpoint.swift @@ -13,7 +13,7 @@ struct HomeAPIEndpoint { request: SortedRequestDTO ) -> Endpoint { return Endpoint( - baseURL: KeyPath.popPoolBaseURL, + baseURL: Secrets.popPoolBaseURL, path: "/home", method: .get, queryParameters: request @@ -24,7 +24,7 @@ struct HomeAPIEndpoint { request: SortedRequestDTO ) -> Endpoint { return Endpoint( - baseURL: KeyPath.popPoolBaseURL, + baseURL: Secrets.popPoolBaseURL, path: "/home/popular/popup-stores", method: .get, queryParameters: request @@ -35,7 +35,7 @@ struct HomeAPIEndpoint { request: SortedRequestDTO ) -> Endpoint { return Endpoint( - baseURL: KeyPath.popPoolBaseURL, + baseURL: Secrets.popPoolBaseURL, path: "/home/new/popup-stores", method: .get, queryParameters: request @@ -46,7 +46,7 @@ struct HomeAPIEndpoint { request: SortedRequestDTO ) -> Endpoint { return Endpoint( - baseURL: KeyPath.popPoolBaseURL, + baseURL: Secrets.popPoolBaseURL, path: "/home/custom/popup-stores", method: .get, queryParameters: request diff --git a/Poppool/Poppool/Data/Network/MapAPI/FindDirectionEndPoint.swift b/Poppool/Poppool/Data/Network/MapAPI/FindDirectionEndPoint.swift index 691cf788..184c0040 100644 --- a/Poppool/Poppool/Data/Network/MapAPI/FindDirectionEndPoint.swift +++ b/Poppool/Poppool/Data/Network/MapAPI/FindDirectionEndPoint.swift @@ -13,7 +13,7 @@ struct FindDirectionEndPoint { popUpStoreId: Int64 ) -> Endpoint { return Endpoint( - baseURL: KeyPath.popPoolBaseURL, + baseURL: Secrets.popPoolBaseURL, path: "/popup/\(popUpStoreId)/directions", method: .get ) diff --git a/Poppool/Poppool/Data/Network/MapAPI/MapAPIEndpoint.swift b/Poppool/Poppool/Data/Network/MapAPI/MapAPIEndpoint.swift index 3b5c7107..da8bc4fd 100644 --- a/Poppool/Poppool/Data/Network/MapAPI/MapAPIEndpoint.swift +++ b/Poppool/Poppool/Data/Network/MapAPI/MapAPIEndpoint.swift @@ -26,7 +26,7 @@ struct MapAPIEndpoint { ) return Endpoint( - baseURL: KeyPath.popPoolBaseURL, + baseURL: Secrets.popPoolBaseURL, path: "/locations/popup-stores", method: .get, queryParameters: params @@ -44,7 +44,7 @@ struct MapAPIEndpoint { ) return Endpoint( - baseURL: KeyPath.popPoolBaseURL, + baseURL: Secrets.popPoolBaseURL, path: "/locations/search", method: .get, queryParameters: params diff --git a/Poppool/Poppool/Data/Network/PopUpAPI/PopUpAPIEndPoint.swift b/Poppool/Poppool/Data/Network/PopUpAPI/PopUpAPIEndPoint.swift index 788b52d8..6fc60f13 100644 --- a/Poppool/Poppool/Data/Network/PopUpAPI/PopUpAPIEndPoint.swift +++ b/Poppool/Poppool/Data/Network/PopUpAPI/PopUpAPIEndPoint.swift @@ -13,7 +13,7 @@ struct PopUpAPIEndPoint { static func getClosePopUpList(request: GetSearchPopUpListRequestDTO) -> Endpoint { return Endpoint( - baseURL: KeyPath.popPoolBaseURL, + baseURL: Secrets.popPoolBaseURL, path: "/popup/closed", method: .get, queryParameters: request @@ -22,7 +22,7 @@ struct PopUpAPIEndPoint { static func getOpenPopUpList(request: GetSearchPopUpListRequestDTO) -> Endpoint { return Endpoint( - baseURL: KeyPath.popPoolBaseURL, + baseURL: Secrets.popPoolBaseURL, path: "/popup/open", method: .get, queryParameters: request @@ -31,7 +31,7 @@ struct PopUpAPIEndPoint { static func getSearchPopUpList(request: GetSearchPopUpListRequestDTO) -> Endpoint { return Endpoint( - baseURL: KeyPath.popPoolBaseURL, + baseURL: Secrets.popPoolBaseURL, path: "/search/popup-stores", method: .get, queryParameters: request @@ -40,7 +40,7 @@ struct PopUpAPIEndPoint { static func getPopUpDetail(request: GetPopUpDetailRequestDTO) -> Endpoint { return Endpoint( - baseURL: KeyPath.popPoolBaseURL, + baseURL: Secrets.popPoolBaseURL, path: "/popup/\(request.popUpStoreId)/detail", method: .get, queryParameters: request @@ -49,7 +49,7 @@ struct PopUpAPIEndPoint { static func getPopUpComment(request: GetPopUpCommentRequestDTO) -> Endpoint { return Endpoint( - baseURL: KeyPath.popPoolBaseURL, + baseURL: Secrets.popPoolBaseURL, path: "/popup/\(request.popUpStoreId)/comments", method: .get, queryParameters: request diff --git a/Poppool/Poppool/Data/Network/SignUpAPI/SignUpAPIEndpoint.swift b/Poppool/Poppool/Data/Network/SignUpAPI/SignUpAPIEndpoint.swift index 147877c2..f827b0f0 100644 --- a/Poppool/Poppool/Data/Network/SignUpAPI/SignUpAPIEndpoint.swift +++ b/Poppool/Poppool/Data/Network/SignUpAPI/SignUpAPIEndpoint.swift @@ -14,7 +14,7 @@ struct SignUpAPIEndpoint { /// - Returns: Endpoint static func signUp_checkNickName(with request: CheckNickNameRequestDTO) -> Endpoint { return Endpoint( - baseURL: KeyPath.popPoolBaseURL, + baseURL: Secrets.popPoolBaseURL, path: "/signup/check-nickname", method: .get, queryParameters: request @@ -25,7 +25,7 @@ struct SignUpAPIEndpoint { /// - Returns: Endpoint static func signUp_getCategoryList() -> Endpoint { return Endpoint( - baseURL: KeyPath.popPoolBaseURL, + baseURL: Secrets.popPoolBaseURL, path: "/signup/categories", method: .get ) @@ -36,7 +36,7 @@ struct SignUpAPIEndpoint { /// - Returns: RequestEndpoint static func signUp_trySignUp(with request: SignUpRequestDTO) -> RequestEndpoint { return RequestEndpoint( - baseURL: KeyPath.popPoolBaseURL, + baseURL: Secrets.popPoolBaseURL, path: "/signup", method: .post, bodyParameters: request diff --git a/Poppool/Poppool/Data/Network/UserAPI/UserAPIEndPoint.swift b/Poppool/Poppool/Data/Network/UserAPI/UserAPIEndPoint.swift index 9ca2708d..032c756e 100644 --- a/Poppool/Poppool/Data/Network/UserAPI/UserAPIEndPoint.swift +++ b/Poppool/Poppool/Data/Network/UserAPI/UserAPIEndPoint.swift @@ -13,7 +13,7 @@ struct UserAPIEndPoint { static func postBookmarkPopUp(request: PostBookmarkPopUpRequestDTO) -> RequestEndpoint { return RequestEndpoint( - baseURL: KeyPath.popPoolBaseURL, + baseURL: Secrets.popPoolBaseURL, path: "/users/bookmark-popupstores", method: .post, queryParameters: request @@ -22,7 +22,7 @@ struct UserAPIEndPoint { static func deleteBookmarkPopUp(request: PostBookmarkPopUpRequestDTO) -> RequestEndpoint { return RequestEndpoint( - baseURL: KeyPath.popPoolBaseURL, + baseURL: Secrets.popPoolBaseURL, path: "/users/bookmark-popupstores", method: .delete, queryParameters: request @@ -31,7 +31,7 @@ struct UserAPIEndPoint { static func postCommentLike(request: CommentLikeRequestDTO) -> RequestEndpoint { return RequestEndpoint( - baseURL: KeyPath.popPoolBaseURL, + baseURL: Secrets.popPoolBaseURL, path: "/likes", method: .post, queryParameters: request @@ -40,7 +40,7 @@ struct UserAPIEndPoint { static func deleteCommentLike(request: CommentLikeRequestDTO) -> RequestEndpoint { return RequestEndpoint( - baseURL: KeyPath.popPoolBaseURL, + baseURL: Secrets.popPoolBaseURL, path: "/likes", method: .delete, queryParameters: request @@ -49,7 +49,7 @@ struct UserAPIEndPoint { static func postUserBlock(request: PostUserBlockRequestDTO) -> RequestEndpoint { return RequestEndpoint( - baseURL: KeyPath.popPoolBaseURL, + baseURL: Secrets.popPoolBaseURL, path: "/users/block", method: .post, queryParameters: request @@ -58,7 +58,7 @@ struct UserAPIEndPoint { static func deleteUserBlock(request: PostUserBlockRequestDTO) -> RequestEndpoint { return RequestEndpoint( - baseURL: KeyPath.popPoolBaseURL, + baseURL: Secrets.popPoolBaseURL, path: "/users/unblock", method: .delete, queryParameters: request @@ -67,7 +67,7 @@ struct UserAPIEndPoint { static func getOtherUserCommentPopUpList(request: GetOtherUserCommentListRequestDTO) -> Endpoint { return Endpoint( - baseURL: KeyPath.popPoolBaseURL, + baseURL: Secrets.popPoolBaseURL, path: "/users/\(request.commenterId ?? "")/comments", method: .get, queryParameters: request @@ -76,7 +76,7 @@ struct UserAPIEndPoint { static func getMyPage() -> Endpoint { return Endpoint( - baseURL: KeyPath.popPoolBaseURL, + baseURL: Secrets.popPoolBaseURL, path: "/users/my-page", method: .get ) @@ -84,7 +84,7 @@ struct UserAPIEndPoint { static func postLogout() -> RequestEndpoint { return RequestEndpoint( - baseURL: KeyPath.popPoolBaseURL, + baseURL: Secrets.popPoolBaseURL, path: "/users/logout", method: .post ) @@ -92,7 +92,7 @@ struct UserAPIEndPoint { static func getWithdrawlList() -> Endpoint { return Endpoint( - baseURL: KeyPath.popPoolBaseURL, + baseURL: Secrets.popPoolBaseURL, path: "/users/withdrawl/surveys", method: .get ) @@ -100,7 +100,7 @@ struct UserAPIEndPoint { static func postWithdrawl(request: PostWithdrawlListRequestDTO) -> RequestEndpoint { return RequestEndpoint( - baseURL: KeyPath.popPoolBaseURL, + baseURL: Secrets.popPoolBaseURL, path: "/users/delete", method: .post, bodyParameters: request @@ -109,7 +109,7 @@ struct UserAPIEndPoint { static func getMyProfile() -> Endpoint { return Endpoint( - baseURL: KeyPath.popPoolBaseURL, + baseURL: Secrets.popPoolBaseURL, path: "/users/profiles", method: .get ) @@ -117,7 +117,7 @@ struct UserAPIEndPoint { static func putUserTailoredInfo(request: PutUserTailoredInfoRequestDTO) -> RequestEndpoint { return RequestEndpoint( - baseURL: KeyPath.popPoolBaseURL, + baseURL: Secrets.popPoolBaseURL, path: "/users/tailored-info", method: .put, bodyParameters: request @@ -126,7 +126,7 @@ struct UserAPIEndPoint { static func putUserCategory(request: PutUserCategoryRequestDTO) -> RequestEndpoint { return RequestEndpoint( - baseURL: KeyPath.popPoolBaseURL, + baseURL: Secrets.popPoolBaseURL, path: "/users/interests", method: .put, bodyParameters: request @@ -135,7 +135,7 @@ struct UserAPIEndPoint { static func putUserProfile(request: PutUserProfileRequestDTO) -> RequestEndpoint { return RequestEndpoint( - baseURL: KeyPath.popPoolBaseURL, + baseURL: Secrets.popPoolBaseURL, path: "/users/profiles", method: .put, bodyParameters: request @@ -144,7 +144,7 @@ struct UserAPIEndPoint { static func getMyCommentedPopUp(request: SortedRequestDTO) -> Endpoint { return Endpoint( - baseURL: KeyPath.popPoolBaseURL, + baseURL: Secrets.popPoolBaseURL, path: "/users/commented/popup", method: .get, queryParameters: request @@ -153,7 +153,7 @@ struct UserAPIEndPoint { static func getBlockUserList(request: GetBlockUserListRequestDTO) -> Endpoint { return Endpoint( - baseURL: KeyPath.popPoolBaseURL, + baseURL: Secrets.popPoolBaseURL, path: "/users/blocked", method: .get, queryParameters: request @@ -162,7 +162,7 @@ struct UserAPIEndPoint { static func getNoticeList() -> Endpoint { return Endpoint( - baseURL: KeyPath.popPoolBaseURL, + baseURL: Secrets.popPoolBaseURL, path: "/notice/list", method: .get ) @@ -170,7 +170,7 @@ struct UserAPIEndPoint { static func getNoticeDetail(noticeID: Int64) -> Endpoint { return Endpoint( - baseURL: KeyPath.popPoolBaseURL, + baseURL: Secrets.popPoolBaseURL, path: "/notice/\(noticeID)", method: .get ) @@ -178,7 +178,7 @@ struct UserAPIEndPoint { static func getRecentPopUp(request: SortedRequestDTO) -> Endpoint { return Endpoint( - baseURL: KeyPath.popPoolBaseURL, + baseURL: Secrets.popPoolBaseURL, path: "/users/recent-popupstores", method: .get, queryParameters: request @@ -187,7 +187,7 @@ struct UserAPIEndPoint { static func getBookmarkPopUp(request: SortedRequestDTO) -> Endpoint { return Endpoint( - baseURL: KeyPath.popPoolBaseURL, + baseURL: Secrets.popPoolBaseURL, path: "/users/bookmark-popupstores", method: .get, queryParameters: request diff --git a/Poppool/Poppool/Infrastructure/PreSignedService/PreSignedAPIEndPoint.swift b/Poppool/Poppool/Infrastructure/PreSignedService/PreSignedAPIEndPoint.swift index e6e12f83..556bf5d2 100644 --- a/Poppool/Poppool/Infrastructure/PreSignedService/PreSignedAPIEndPoint.swift +++ b/Poppool/Poppool/Infrastructure/PreSignedService/PreSignedAPIEndPoint.swift @@ -11,7 +11,7 @@ struct PreSignedAPIEndPoint { static func presigned_upload(request: PresignedURLRequestDTO) -> Endpoint { Logger.log(message: "Presigned URL 생성 - Request: \(request)", category: .debug) return Endpoint( - baseURL: KeyPath.popPoolBaseURL, + baseURL: Secrets.popPoolBaseURL, path: "/files/upload-preSignedUrl", method: .post, bodyParameters: request @@ -21,7 +21,7 @@ struct PreSignedAPIEndPoint { static func presigned_download(request: PresignedURLRequestDTO) -> Endpoint { Logger.log(message: "Presigned Download URL 생성 - Request: \(request)", category: .debug) return Endpoint( - baseURL: KeyPath.popPoolBaseURL, + baseURL: Secrets.popPoolBaseURL, path: "/files/download-preSignedUrl", method: .post, bodyParameters: request @@ -31,7 +31,7 @@ struct PreSignedAPIEndPoint { static func presigned_delete(request: PresignedURLRequestDTO) -> RequestEndpoint { Logger.log(message: "Presigned Delete 생성 - Request: \(request)", category: .debug) return RequestEndpoint( - baseURL: KeyPath.popPoolBaseURL, + baseURL: Secrets.popPoolBaseURL, path: "/files/delete", method: .post, bodyParameters: request diff --git a/Poppool/Poppool/Infrastructure/PreSignedService/PreSignedService.swift b/Poppool/Poppool/Infrastructure/PreSignedService/PreSignedService.swift index 26efb286..0aaa3410 100644 --- a/Poppool/Poppool/Infrastructure/PreSignedService/PreSignedService.swift +++ b/Poppool/Poppool/Infrastructure/PreSignedService/PreSignedService.swift @@ -287,7 +287,7 @@ extension PreSignedService { } } func fullImageURL(from filePath: String) -> URL? { - let baseURL = KeyPath.popPoolS3BaseURL + let baseURL = Secrets.popPoolS3BaseURL // URL 인코딩 처리를 더 엄격하게 guard let encodedPath = filePath diff --git a/Poppool/Poppool/Presentation/Extension/UIImageView+.swift b/Poppool/Poppool/Presentation/Extension/UIImageView+.swift index bd1738d3..a1a0b349 100644 --- a/Poppool/Poppool/Presentation/Extension/UIImageView+.swift +++ b/Poppool/Poppool/Presentation/Extension/UIImageView+.swift @@ -6,7 +6,7 @@ extension UIImageView { self.image = UIImage(named: "image_default") return } - let imageURLString = KeyPath.popPoolS3BaseURL + path + let imageURLString = Secrets.popPoolS3BaseURL + path if let cenvertimageURL = imageURLString.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) { ImageLoader.shared.loadImage(with: cenvertimageURL, defaultImage: UIImage(named: "image_default"), imageQuality: .origin) { [weak self] image in DispatchQueue.main.async { @@ -22,7 +22,7 @@ extension UIImageView { completion() return } - let imageURLString = KeyPath.popPoolS3BaseURL + path + let imageURLString = Secrets.popPoolS3BaseURL + path if let cenvertimageURL = imageURLString.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) { let imageURL = URL(string: cenvertimageURL) ImageLoader.shared.loadImage(with: cenvertimageURL, defaultImage: UIImage(named: "image_default"), imageQuality: .origin) { [weak self] image in diff --git a/Poppool/Poppool/Presentation/Scene/Admin/AdminStoreCell.swift b/Poppool/Poppool/Presentation/Scene/Admin/AdminStoreCell.swift index 5ab3d4c4..a29c4ee6 100644 --- a/Poppool/Poppool/Presentation/Scene/Admin/AdminStoreCell.swift +++ b/Poppool/Poppool/Presentation/Scene/Admin/AdminStoreCell.swift @@ -83,7 +83,7 @@ final class AdminStoreCell: UITableViewCell { statusChip.text = "운영" // mainImageUrl에서 baseURL 부분 제거 - let imagePath = store.mainImageUrl.replacingOccurrences(of: KeyPath.popPoolS3BaseURL, with: "") + let imagePath = store.mainImageUrl.replacingOccurrences(of: Secrets.popPoolS3BaseURL, with: "") Logger.log(message: "이미지 경로: \(imagePath)", category: .debug) storeImageView.setPPImage(path: imagePath) } diff --git a/Poppool/Poppool/Presentation/Scene/Detail/DetailReactor.swift b/Poppool/Poppool/Presentation/Scene/Detail/DetailReactor.swift index 964cdb5f..8b4e249b 100644 --- a/Poppool/Poppool/Presentation/Scene/Detail/DetailReactor.swift +++ b/Poppool/Poppool/Presentation/Scene/Detail/DetailReactor.swift @@ -372,7 +372,7 @@ extension DetailReactor { func showSharedBoard(controller: BaseViewController) { let storeName = titleSection.inputDataList.first?.title ?? "" - let imagePath = KeyPath.popPoolS3BaseURL + (imageBannerSection.inputDataList.first?.imagePaths.first ?? "") + let imagePath = Secrets.popPoolS3BaseURL + (imageBannerSection.inputDataList.first?.imagePaths.first ?? "") // URL 인코딩 후 생성 guard let encodedPath = imagePath.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed), diff --git a/Poppool/Poppool/Resource/KeyPath.swift b/Poppool/Poppool/Resource/Secrets.swift similarity index 98% rename from Poppool/Poppool/Resource/KeyPath.swift rename to Poppool/Poppool/Resource/Secrets.swift index 4bc23b90..7338561a 100644 --- a/Poppool/Poppool/Resource/KeyPath.swift +++ b/Poppool/Poppool/Resource/Secrets.swift @@ -1,6 +1,6 @@ import Foundation -enum KeyPath { +enum Secrets { static var kakaoAuthAppKey: String { return getValue(forKey: "KAKAO_AUTH_APP_KEY") } From 51dcfeeff743d5e91804aaddbf12697eca095352 Mon Sep 17 00:00:00 2001 From: 0Hooni Date: Mon, 14 Apr 2025 21:37:38 +0900 Subject: [PATCH 03/83] =?UTF-8?q?refactor/#112:=20Extension=20=EC=9C=84?= =?UTF-8?q?=EC=B9=98=20=EC=9D=B4=EB=8F=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../{Presentation => Infrastructure}/Extension/Date?+.swift | 0 .../{Presentation => Infrastructure}/Extension/Reactive+.swift | 0 .../{Presentation => Infrastructure}/Extension/String?+.swift | 0 .../Extension/UIApplication+.swift | 0 .../Extension/UICollectionReusableView+.swift | 0 .../Extension/UICollectionViewCell+.swift | 0 .../{Presentation => Infrastructure}/Extension/UIColor+.swift | 0 .../{Presentation => Infrastructure}/Extension/UIFont+.swift | 0 .../{Presentation => Infrastructure}/Extension/UIImage+.swift | 0 .../{Presentation => Infrastructure}/Extension/UIImageView+.swift | 0 .../{Presentation => Infrastructure}/Extension/UILabel+.swift | 0 .../Extension/UINavigationController+.swift | 0 .../Extension/UITableViewCell+.swift | 0 .../{Presentation => Infrastructure}/Extension/UITextField+.swift | 0 .../{Presentation => Infrastructure}/Extension/UIView+.swift | 0 15 files changed, 0 insertions(+), 0 deletions(-) rename Poppool/Poppool/{Presentation => Infrastructure}/Extension/Date?+.swift (100%) rename Poppool/Poppool/{Presentation => Infrastructure}/Extension/Reactive+.swift (100%) rename Poppool/Poppool/{Presentation => Infrastructure}/Extension/String?+.swift (100%) rename Poppool/Poppool/{Presentation => Infrastructure}/Extension/UIApplication+.swift (100%) rename Poppool/Poppool/{Presentation => Infrastructure}/Extension/UICollectionReusableView+.swift (100%) rename Poppool/Poppool/{Presentation => Infrastructure}/Extension/UICollectionViewCell+.swift (100%) rename Poppool/Poppool/{Presentation => Infrastructure}/Extension/UIColor+.swift (100%) rename Poppool/Poppool/{Presentation => Infrastructure}/Extension/UIFont+.swift (100%) rename Poppool/Poppool/{Presentation => Infrastructure}/Extension/UIImage+.swift (100%) rename Poppool/Poppool/{Presentation => Infrastructure}/Extension/UIImageView+.swift (100%) rename Poppool/Poppool/{Presentation => Infrastructure}/Extension/UILabel+.swift (100%) rename Poppool/Poppool/{Presentation => Infrastructure}/Extension/UINavigationController+.swift (100%) rename Poppool/Poppool/{Presentation => Infrastructure}/Extension/UITableViewCell+.swift (100%) rename Poppool/Poppool/{Presentation => Infrastructure}/Extension/UITextField+.swift (100%) rename Poppool/Poppool/{Presentation => Infrastructure}/Extension/UIView+.swift (100%) diff --git a/Poppool/Poppool/Presentation/Extension/Date?+.swift b/Poppool/Poppool/Infrastructure/Extension/Date?+.swift similarity index 100% rename from Poppool/Poppool/Presentation/Extension/Date?+.swift rename to Poppool/Poppool/Infrastructure/Extension/Date?+.swift diff --git a/Poppool/Poppool/Presentation/Extension/Reactive+.swift b/Poppool/Poppool/Infrastructure/Extension/Reactive+.swift similarity index 100% rename from Poppool/Poppool/Presentation/Extension/Reactive+.swift rename to Poppool/Poppool/Infrastructure/Extension/Reactive+.swift diff --git a/Poppool/Poppool/Presentation/Extension/String?+.swift b/Poppool/Poppool/Infrastructure/Extension/String?+.swift similarity index 100% rename from Poppool/Poppool/Presentation/Extension/String?+.swift rename to Poppool/Poppool/Infrastructure/Extension/String?+.swift diff --git a/Poppool/Poppool/Presentation/Extension/UIApplication+.swift b/Poppool/Poppool/Infrastructure/Extension/UIApplication+.swift similarity index 100% rename from Poppool/Poppool/Presentation/Extension/UIApplication+.swift rename to Poppool/Poppool/Infrastructure/Extension/UIApplication+.swift diff --git a/Poppool/Poppool/Presentation/Extension/UICollectionReusableView+.swift b/Poppool/Poppool/Infrastructure/Extension/UICollectionReusableView+.swift similarity index 100% rename from Poppool/Poppool/Presentation/Extension/UICollectionReusableView+.swift rename to Poppool/Poppool/Infrastructure/Extension/UICollectionReusableView+.swift diff --git a/Poppool/Poppool/Presentation/Extension/UICollectionViewCell+.swift b/Poppool/Poppool/Infrastructure/Extension/UICollectionViewCell+.swift similarity index 100% rename from Poppool/Poppool/Presentation/Extension/UICollectionViewCell+.swift rename to Poppool/Poppool/Infrastructure/Extension/UICollectionViewCell+.swift diff --git a/Poppool/Poppool/Presentation/Extension/UIColor+.swift b/Poppool/Poppool/Infrastructure/Extension/UIColor+.swift similarity index 100% rename from Poppool/Poppool/Presentation/Extension/UIColor+.swift rename to Poppool/Poppool/Infrastructure/Extension/UIColor+.swift diff --git a/Poppool/Poppool/Presentation/Extension/UIFont+.swift b/Poppool/Poppool/Infrastructure/Extension/UIFont+.swift similarity index 100% rename from Poppool/Poppool/Presentation/Extension/UIFont+.swift rename to Poppool/Poppool/Infrastructure/Extension/UIFont+.swift diff --git a/Poppool/Poppool/Presentation/Extension/UIImage+.swift b/Poppool/Poppool/Infrastructure/Extension/UIImage+.swift similarity index 100% rename from Poppool/Poppool/Presentation/Extension/UIImage+.swift rename to Poppool/Poppool/Infrastructure/Extension/UIImage+.swift diff --git a/Poppool/Poppool/Presentation/Extension/UIImageView+.swift b/Poppool/Poppool/Infrastructure/Extension/UIImageView+.swift similarity index 100% rename from Poppool/Poppool/Presentation/Extension/UIImageView+.swift rename to Poppool/Poppool/Infrastructure/Extension/UIImageView+.swift diff --git a/Poppool/Poppool/Presentation/Extension/UILabel+.swift b/Poppool/Poppool/Infrastructure/Extension/UILabel+.swift similarity index 100% rename from Poppool/Poppool/Presentation/Extension/UILabel+.swift rename to Poppool/Poppool/Infrastructure/Extension/UILabel+.swift diff --git a/Poppool/Poppool/Presentation/Extension/UINavigationController+.swift b/Poppool/Poppool/Infrastructure/Extension/UINavigationController+.swift similarity index 100% rename from Poppool/Poppool/Presentation/Extension/UINavigationController+.swift rename to Poppool/Poppool/Infrastructure/Extension/UINavigationController+.swift diff --git a/Poppool/Poppool/Presentation/Extension/UITableViewCell+.swift b/Poppool/Poppool/Infrastructure/Extension/UITableViewCell+.swift similarity index 100% rename from Poppool/Poppool/Presentation/Extension/UITableViewCell+.swift rename to Poppool/Poppool/Infrastructure/Extension/UITableViewCell+.swift diff --git a/Poppool/Poppool/Presentation/Extension/UITextField+.swift b/Poppool/Poppool/Infrastructure/Extension/UITextField+.swift similarity index 100% rename from Poppool/Poppool/Presentation/Extension/UITextField+.swift rename to Poppool/Poppool/Infrastructure/Extension/UITextField+.swift diff --git a/Poppool/Poppool/Presentation/Extension/UIView+.swift b/Poppool/Poppool/Infrastructure/Extension/UIView+.swift similarity index 100% rename from Poppool/Poppool/Presentation/Extension/UIView+.swift rename to Poppool/Poppool/Infrastructure/Extension/UIView+.swift From 226e19c73017e46952f4fb4006ef67741230f714 Mon Sep 17 00:00:00 2001 From: 0Hooni Date: Mon, 14 Apr 2025 21:41:07 +0900 Subject: [PATCH 04/83] =?UTF-8?q?refactor/#112:=20=EC=98=88=EC=83=81=20?= =?UTF-8?q?=EB=AA=A8=EB=93=88=ED=99=94=EC=97=90=20=EB=A7=9E=EA=B2=8C=20?= =?UTF-8?q?=ED=8F=B4=EB=8D=94=20=EA=B5=AC=EC=A1=B0=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Data/{Repository => RepositoryImpl}/AdminRepository.swift | 0 .../{Repository => RepositoryImpl}/AuthAPIRepositoryImpl.swift | 0 .../Repository => Data/RepositoryImpl}/AuthRepository.swift | 0 .../{Repository => RepositoryImpl}/CommentAPIRepository.swift | 0 .../Data/{Repository => RepositoryImpl}/HomeAPIRepository.swift | 0 .../RepositoryImpl}/MapDirectionRepository.swift | 0 .../Data/{Repository => RepositoryImpl}/MapRepository.swift | 0 .../{Repository => RepositoryImpl}/PopUpAPIRepositoryImpl.swift | 0 .../{Repository => RepositoryImpl}/SignUpRepositoryImpl.swift | 0 .../{Repository => RepositoryImpl}/UserAPIRepositoryImpl.swift | 0 .../Poppool/Domain/{UseCase => UseCaseImpl}/AdminUseCase.swift | 0 .../Domain/{UseCase => UseCaseImpl}/AuthAPIUseCaseImpl.swift | 0 .../Domain/{UseCase => UseCaseImpl}/CommentAPIUseCaseImpl.swift | 0 .../Domain/{UseCase => UseCaseImpl}/HomeAPIUseCaseImpl.swift | 0 .../Domain/{UseCase => UseCaseImpl}/MapDirectionUseCase.swift | 0 Poppool/Poppool/Domain/{UseCase => UseCaseImpl}/MapUseCase.swift | 0 .../Domain/{UseCase => UseCaseImpl}/PopUpAPIUseCaseImpl.swift | 0 .../Domain/{UseCase => UseCaseImpl}/SignUpAPIUseCaseImpl.swift | 0 .../Domain/{UseCase => UseCaseImpl}/UserAPIUseCaseImpl.swift | 0 .../Entity}/AuthAPI/LoginResponse.swift | 0 .../Entity}/AuthAPI/PostTokenReissueResponse.swift | 0 .../Entities => DomainInterface/Entity}/BannerPopUpStore.swift | 0 .../{Domain/Entities => DomainInterface/Entity}/Category.swift | 0 .../Entities => DomainInterface/Entity}/GetHomeInfoResponse.swift | 0 .../Entities => DomainInterface/Entity}/MapPopUpStore.swift | 0 .../Entity}/PopUpAPI/GetPopUpCommentResponse.swift | 0 .../Entity}/PopUpAPI/GetPopUpDetailResponse.swift | 0 .../Entity}/PopUpAPI/GetSearchBottomPopUpListResponse.swift | 0 .../Entity}/PopUpAPI/GetSearchPopUpListResponse.swift | 0 .../Entities => DomainInterface/Entity}/PopUpStoreResponse.swift | 0 .../Entity}/UserAPI/GetBlockUserListResponse.swift | 0 .../Entity}/UserAPI/GetMyCommentResponse.swift | 0 .../Entity}/UserAPI/GetMyPageResponse.swift | 0 .../Entity}/UserAPI/GetMyProfileResponse.swift | 0 .../Entity}/UserAPI/GetNoticeDetailResponse.swift | 0 .../Entity}/UserAPI/GetNoticeListResponse.swift | 0 .../Entity}/UserAPI/GetOtherUserCommentedPopUpListResponse.swift | 0 .../Entity}/UserAPI/GetRecentPopUpResponse.swift | 0 .../Entity}/UserAPI/GetWithdrawlListResponse.swift | 0 39 files changed, 0 insertions(+), 0 deletions(-) rename Poppool/Poppool/Data/{Repository => RepositoryImpl}/AdminRepository.swift (100%) rename Poppool/Poppool/Data/{Repository => RepositoryImpl}/AuthAPIRepositoryImpl.swift (100%) rename Poppool/Poppool/{Domain/Repository => Data/RepositoryImpl}/AuthRepository.swift (100%) rename Poppool/Poppool/Data/{Repository => RepositoryImpl}/CommentAPIRepository.swift (100%) rename Poppool/Poppool/Data/{Repository => RepositoryImpl}/HomeAPIRepository.swift (100%) rename Poppool/Poppool/{Domain/Repository => Data/RepositoryImpl}/MapDirectionRepository.swift (100%) rename Poppool/Poppool/Data/{Repository => RepositoryImpl}/MapRepository.swift (100%) rename Poppool/Poppool/Data/{Repository => RepositoryImpl}/PopUpAPIRepositoryImpl.swift (100%) rename Poppool/Poppool/Data/{Repository => RepositoryImpl}/SignUpRepositoryImpl.swift (100%) rename Poppool/Poppool/Data/{Repository => RepositoryImpl}/UserAPIRepositoryImpl.swift (100%) rename Poppool/Poppool/Domain/{UseCase => UseCaseImpl}/AdminUseCase.swift (100%) rename Poppool/Poppool/Domain/{UseCase => UseCaseImpl}/AuthAPIUseCaseImpl.swift (100%) rename Poppool/Poppool/Domain/{UseCase => UseCaseImpl}/CommentAPIUseCaseImpl.swift (100%) rename Poppool/Poppool/Domain/{UseCase => UseCaseImpl}/HomeAPIUseCaseImpl.swift (100%) rename Poppool/Poppool/Domain/{UseCase => UseCaseImpl}/MapDirectionUseCase.swift (100%) rename Poppool/Poppool/Domain/{UseCase => UseCaseImpl}/MapUseCase.swift (100%) rename Poppool/Poppool/Domain/{UseCase => UseCaseImpl}/PopUpAPIUseCaseImpl.swift (100%) rename Poppool/Poppool/Domain/{UseCase => UseCaseImpl}/SignUpAPIUseCaseImpl.swift (100%) rename Poppool/Poppool/Domain/{UseCase => UseCaseImpl}/UserAPIUseCaseImpl.swift (100%) rename Poppool/Poppool/{Domain/Entities => DomainInterface/Entity}/AuthAPI/LoginResponse.swift (100%) rename Poppool/Poppool/{Domain/Entities => DomainInterface/Entity}/AuthAPI/PostTokenReissueResponse.swift (100%) rename Poppool/Poppool/{Domain/Entities => DomainInterface/Entity}/BannerPopUpStore.swift (100%) rename Poppool/Poppool/{Domain/Entities => DomainInterface/Entity}/Category.swift (100%) rename Poppool/Poppool/{Domain/Entities => DomainInterface/Entity}/GetHomeInfoResponse.swift (100%) rename Poppool/Poppool/{Domain/Entities => DomainInterface/Entity}/MapPopUpStore.swift (100%) rename Poppool/Poppool/{Domain/Entities => DomainInterface/Entity}/PopUpAPI/GetPopUpCommentResponse.swift (100%) rename Poppool/Poppool/{Domain/Entities => DomainInterface/Entity}/PopUpAPI/GetPopUpDetailResponse.swift (100%) rename Poppool/Poppool/{Domain/Entities => DomainInterface/Entity}/PopUpAPI/GetSearchBottomPopUpListResponse.swift (100%) rename Poppool/Poppool/{Domain/Entities => DomainInterface/Entity}/PopUpAPI/GetSearchPopUpListResponse.swift (100%) rename Poppool/Poppool/{Domain/Entities => DomainInterface/Entity}/PopUpStoreResponse.swift (100%) rename Poppool/Poppool/{Domain/Entities => DomainInterface/Entity}/UserAPI/GetBlockUserListResponse.swift (100%) rename Poppool/Poppool/{Domain/Entities => DomainInterface/Entity}/UserAPI/GetMyCommentResponse.swift (100%) rename Poppool/Poppool/{Domain/Entities => DomainInterface/Entity}/UserAPI/GetMyPageResponse.swift (100%) rename Poppool/Poppool/{Domain/Entities => DomainInterface/Entity}/UserAPI/GetMyProfileResponse.swift (100%) rename Poppool/Poppool/{Domain/Entities => DomainInterface/Entity}/UserAPI/GetNoticeDetailResponse.swift (100%) rename Poppool/Poppool/{Domain/Entities => DomainInterface/Entity}/UserAPI/GetNoticeListResponse.swift (100%) rename Poppool/Poppool/{Domain/Entities => DomainInterface/Entity}/UserAPI/GetOtherUserCommentedPopUpListResponse.swift (100%) rename Poppool/Poppool/{Domain/Entities => DomainInterface/Entity}/UserAPI/GetRecentPopUpResponse.swift (100%) rename Poppool/Poppool/{Domain/Entities => DomainInterface/Entity}/UserAPI/GetWithdrawlListResponse.swift (100%) diff --git a/Poppool/Poppool/Data/Repository/AdminRepository.swift b/Poppool/Poppool/Data/RepositoryImpl/AdminRepository.swift similarity index 100% rename from Poppool/Poppool/Data/Repository/AdminRepository.swift rename to Poppool/Poppool/Data/RepositoryImpl/AdminRepository.swift diff --git a/Poppool/Poppool/Data/Repository/AuthAPIRepositoryImpl.swift b/Poppool/Poppool/Data/RepositoryImpl/AuthAPIRepositoryImpl.swift similarity index 100% rename from Poppool/Poppool/Data/Repository/AuthAPIRepositoryImpl.swift rename to Poppool/Poppool/Data/RepositoryImpl/AuthAPIRepositoryImpl.swift diff --git a/Poppool/Poppool/Domain/Repository/AuthRepository.swift b/Poppool/Poppool/Data/RepositoryImpl/AuthRepository.swift similarity index 100% rename from Poppool/Poppool/Domain/Repository/AuthRepository.swift rename to Poppool/Poppool/Data/RepositoryImpl/AuthRepository.swift diff --git a/Poppool/Poppool/Data/Repository/CommentAPIRepository.swift b/Poppool/Poppool/Data/RepositoryImpl/CommentAPIRepository.swift similarity index 100% rename from Poppool/Poppool/Data/Repository/CommentAPIRepository.swift rename to Poppool/Poppool/Data/RepositoryImpl/CommentAPIRepository.swift diff --git a/Poppool/Poppool/Data/Repository/HomeAPIRepository.swift b/Poppool/Poppool/Data/RepositoryImpl/HomeAPIRepository.swift similarity index 100% rename from Poppool/Poppool/Data/Repository/HomeAPIRepository.swift rename to Poppool/Poppool/Data/RepositoryImpl/HomeAPIRepository.swift diff --git a/Poppool/Poppool/Domain/Repository/MapDirectionRepository.swift b/Poppool/Poppool/Data/RepositoryImpl/MapDirectionRepository.swift similarity index 100% rename from Poppool/Poppool/Domain/Repository/MapDirectionRepository.swift rename to Poppool/Poppool/Data/RepositoryImpl/MapDirectionRepository.swift diff --git a/Poppool/Poppool/Data/Repository/MapRepository.swift b/Poppool/Poppool/Data/RepositoryImpl/MapRepository.swift similarity index 100% rename from Poppool/Poppool/Data/Repository/MapRepository.swift rename to Poppool/Poppool/Data/RepositoryImpl/MapRepository.swift diff --git a/Poppool/Poppool/Data/Repository/PopUpAPIRepositoryImpl.swift b/Poppool/Poppool/Data/RepositoryImpl/PopUpAPIRepositoryImpl.swift similarity index 100% rename from Poppool/Poppool/Data/Repository/PopUpAPIRepositoryImpl.swift rename to Poppool/Poppool/Data/RepositoryImpl/PopUpAPIRepositoryImpl.swift diff --git a/Poppool/Poppool/Data/Repository/SignUpRepositoryImpl.swift b/Poppool/Poppool/Data/RepositoryImpl/SignUpRepositoryImpl.swift similarity index 100% rename from Poppool/Poppool/Data/Repository/SignUpRepositoryImpl.swift rename to Poppool/Poppool/Data/RepositoryImpl/SignUpRepositoryImpl.swift diff --git a/Poppool/Poppool/Data/Repository/UserAPIRepositoryImpl.swift b/Poppool/Poppool/Data/RepositoryImpl/UserAPIRepositoryImpl.swift similarity index 100% rename from Poppool/Poppool/Data/Repository/UserAPIRepositoryImpl.swift rename to Poppool/Poppool/Data/RepositoryImpl/UserAPIRepositoryImpl.swift diff --git a/Poppool/Poppool/Domain/UseCase/AdminUseCase.swift b/Poppool/Poppool/Domain/UseCaseImpl/AdminUseCase.swift similarity index 100% rename from Poppool/Poppool/Domain/UseCase/AdminUseCase.swift rename to Poppool/Poppool/Domain/UseCaseImpl/AdminUseCase.swift diff --git a/Poppool/Poppool/Domain/UseCase/AuthAPIUseCaseImpl.swift b/Poppool/Poppool/Domain/UseCaseImpl/AuthAPIUseCaseImpl.swift similarity index 100% rename from Poppool/Poppool/Domain/UseCase/AuthAPIUseCaseImpl.swift rename to Poppool/Poppool/Domain/UseCaseImpl/AuthAPIUseCaseImpl.swift diff --git a/Poppool/Poppool/Domain/UseCase/CommentAPIUseCaseImpl.swift b/Poppool/Poppool/Domain/UseCaseImpl/CommentAPIUseCaseImpl.swift similarity index 100% rename from Poppool/Poppool/Domain/UseCase/CommentAPIUseCaseImpl.swift rename to Poppool/Poppool/Domain/UseCaseImpl/CommentAPIUseCaseImpl.swift diff --git a/Poppool/Poppool/Domain/UseCase/HomeAPIUseCaseImpl.swift b/Poppool/Poppool/Domain/UseCaseImpl/HomeAPIUseCaseImpl.swift similarity index 100% rename from Poppool/Poppool/Domain/UseCase/HomeAPIUseCaseImpl.swift rename to Poppool/Poppool/Domain/UseCaseImpl/HomeAPIUseCaseImpl.swift diff --git a/Poppool/Poppool/Domain/UseCase/MapDirectionUseCase.swift b/Poppool/Poppool/Domain/UseCaseImpl/MapDirectionUseCase.swift similarity index 100% rename from Poppool/Poppool/Domain/UseCase/MapDirectionUseCase.swift rename to Poppool/Poppool/Domain/UseCaseImpl/MapDirectionUseCase.swift diff --git a/Poppool/Poppool/Domain/UseCase/MapUseCase.swift b/Poppool/Poppool/Domain/UseCaseImpl/MapUseCase.swift similarity index 100% rename from Poppool/Poppool/Domain/UseCase/MapUseCase.swift rename to Poppool/Poppool/Domain/UseCaseImpl/MapUseCase.swift diff --git a/Poppool/Poppool/Domain/UseCase/PopUpAPIUseCaseImpl.swift b/Poppool/Poppool/Domain/UseCaseImpl/PopUpAPIUseCaseImpl.swift similarity index 100% rename from Poppool/Poppool/Domain/UseCase/PopUpAPIUseCaseImpl.swift rename to Poppool/Poppool/Domain/UseCaseImpl/PopUpAPIUseCaseImpl.swift diff --git a/Poppool/Poppool/Domain/UseCase/SignUpAPIUseCaseImpl.swift b/Poppool/Poppool/Domain/UseCaseImpl/SignUpAPIUseCaseImpl.swift similarity index 100% rename from Poppool/Poppool/Domain/UseCase/SignUpAPIUseCaseImpl.swift rename to Poppool/Poppool/Domain/UseCaseImpl/SignUpAPIUseCaseImpl.swift diff --git a/Poppool/Poppool/Domain/UseCase/UserAPIUseCaseImpl.swift b/Poppool/Poppool/Domain/UseCaseImpl/UserAPIUseCaseImpl.swift similarity index 100% rename from Poppool/Poppool/Domain/UseCase/UserAPIUseCaseImpl.swift rename to Poppool/Poppool/Domain/UseCaseImpl/UserAPIUseCaseImpl.swift diff --git a/Poppool/Poppool/Domain/Entities/AuthAPI/LoginResponse.swift b/Poppool/Poppool/DomainInterface/Entity/AuthAPI/LoginResponse.swift similarity index 100% rename from Poppool/Poppool/Domain/Entities/AuthAPI/LoginResponse.swift rename to Poppool/Poppool/DomainInterface/Entity/AuthAPI/LoginResponse.swift diff --git a/Poppool/Poppool/Domain/Entities/AuthAPI/PostTokenReissueResponse.swift b/Poppool/Poppool/DomainInterface/Entity/AuthAPI/PostTokenReissueResponse.swift similarity index 100% rename from Poppool/Poppool/Domain/Entities/AuthAPI/PostTokenReissueResponse.swift rename to Poppool/Poppool/DomainInterface/Entity/AuthAPI/PostTokenReissueResponse.swift diff --git a/Poppool/Poppool/Domain/Entities/BannerPopUpStore.swift b/Poppool/Poppool/DomainInterface/Entity/BannerPopUpStore.swift similarity index 100% rename from Poppool/Poppool/Domain/Entities/BannerPopUpStore.swift rename to Poppool/Poppool/DomainInterface/Entity/BannerPopUpStore.swift diff --git a/Poppool/Poppool/Domain/Entities/Category.swift b/Poppool/Poppool/DomainInterface/Entity/Category.swift similarity index 100% rename from Poppool/Poppool/Domain/Entities/Category.swift rename to Poppool/Poppool/DomainInterface/Entity/Category.swift diff --git a/Poppool/Poppool/Domain/Entities/GetHomeInfoResponse.swift b/Poppool/Poppool/DomainInterface/Entity/GetHomeInfoResponse.swift similarity index 100% rename from Poppool/Poppool/Domain/Entities/GetHomeInfoResponse.swift rename to Poppool/Poppool/DomainInterface/Entity/GetHomeInfoResponse.swift diff --git a/Poppool/Poppool/Domain/Entities/MapPopUpStore.swift b/Poppool/Poppool/DomainInterface/Entity/MapPopUpStore.swift similarity index 100% rename from Poppool/Poppool/Domain/Entities/MapPopUpStore.swift rename to Poppool/Poppool/DomainInterface/Entity/MapPopUpStore.swift diff --git a/Poppool/Poppool/Domain/Entities/PopUpAPI/GetPopUpCommentResponse.swift b/Poppool/Poppool/DomainInterface/Entity/PopUpAPI/GetPopUpCommentResponse.swift similarity index 100% rename from Poppool/Poppool/Domain/Entities/PopUpAPI/GetPopUpCommentResponse.swift rename to Poppool/Poppool/DomainInterface/Entity/PopUpAPI/GetPopUpCommentResponse.swift diff --git a/Poppool/Poppool/Domain/Entities/PopUpAPI/GetPopUpDetailResponse.swift b/Poppool/Poppool/DomainInterface/Entity/PopUpAPI/GetPopUpDetailResponse.swift similarity index 100% rename from Poppool/Poppool/Domain/Entities/PopUpAPI/GetPopUpDetailResponse.swift rename to Poppool/Poppool/DomainInterface/Entity/PopUpAPI/GetPopUpDetailResponse.swift diff --git a/Poppool/Poppool/Domain/Entities/PopUpAPI/GetSearchBottomPopUpListResponse.swift b/Poppool/Poppool/DomainInterface/Entity/PopUpAPI/GetSearchBottomPopUpListResponse.swift similarity index 100% rename from Poppool/Poppool/Domain/Entities/PopUpAPI/GetSearchBottomPopUpListResponse.swift rename to Poppool/Poppool/DomainInterface/Entity/PopUpAPI/GetSearchBottomPopUpListResponse.swift diff --git a/Poppool/Poppool/Domain/Entities/PopUpAPI/GetSearchPopUpListResponse.swift b/Poppool/Poppool/DomainInterface/Entity/PopUpAPI/GetSearchPopUpListResponse.swift similarity index 100% rename from Poppool/Poppool/Domain/Entities/PopUpAPI/GetSearchPopUpListResponse.swift rename to Poppool/Poppool/DomainInterface/Entity/PopUpAPI/GetSearchPopUpListResponse.swift diff --git a/Poppool/Poppool/Domain/Entities/PopUpStoreResponse.swift b/Poppool/Poppool/DomainInterface/Entity/PopUpStoreResponse.swift similarity index 100% rename from Poppool/Poppool/Domain/Entities/PopUpStoreResponse.swift rename to Poppool/Poppool/DomainInterface/Entity/PopUpStoreResponse.swift diff --git a/Poppool/Poppool/Domain/Entities/UserAPI/GetBlockUserListResponse.swift b/Poppool/Poppool/DomainInterface/Entity/UserAPI/GetBlockUserListResponse.swift similarity index 100% rename from Poppool/Poppool/Domain/Entities/UserAPI/GetBlockUserListResponse.swift rename to Poppool/Poppool/DomainInterface/Entity/UserAPI/GetBlockUserListResponse.swift diff --git a/Poppool/Poppool/Domain/Entities/UserAPI/GetMyCommentResponse.swift b/Poppool/Poppool/DomainInterface/Entity/UserAPI/GetMyCommentResponse.swift similarity index 100% rename from Poppool/Poppool/Domain/Entities/UserAPI/GetMyCommentResponse.swift rename to Poppool/Poppool/DomainInterface/Entity/UserAPI/GetMyCommentResponse.swift diff --git a/Poppool/Poppool/Domain/Entities/UserAPI/GetMyPageResponse.swift b/Poppool/Poppool/DomainInterface/Entity/UserAPI/GetMyPageResponse.swift similarity index 100% rename from Poppool/Poppool/Domain/Entities/UserAPI/GetMyPageResponse.swift rename to Poppool/Poppool/DomainInterface/Entity/UserAPI/GetMyPageResponse.swift diff --git a/Poppool/Poppool/Domain/Entities/UserAPI/GetMyProfileResponse.swift b/Poppool/Poppool/DomainInterface/Entity/UserAPI/GetMyProfileResponse.swift similarity index 100% rename from Poppool/Poppool/Domain/Entities/UserAPI/GetMyProfileResponse.swift rename to Poppool/Poppool/DomainInterface/Entity/UserAPI/GetMyProfileResponse.swift diff --git a/Poppool/Poppool/Domain/Entities/UserAPI/GetNoticeDetailResponse.swift b/Poppool/Poppool/DomainInterface/Entity/UserAPI/GetNoticeDetailResponse.swift similarity index 100% rename from Poppool/Poppool/Domain/Entities/UserAPI/GetNoticeDetailResponse.swift rename to Poppool/Poppool/DomainInterface/Entity/UserAPI/GetNoticeDetailResponse.swift diff --git a/Poppool/Poppool/Domain/Entities/UserAPI/GetNoticeListResponse.swift b/Poppool/Poppool/DomainInterface/Entity/UserAPI/GetNoticeListResponse.swift similarity index 100% rename from Poppool/Poppool/Domain/Entities/UserAPI/GetNoticeListResponse.swift rename to Poppool/Poppool/DomainInterface/Entity/UserAPI/GetNoticeListResponse.swift diff --git a/Poppool/Poppool/Domain/Entities/UserAPI/GetOtherUserCommentedPopUpListResponse.swift b/Poppool/Poppool/DomainInterface/Entity/UserAPI/GetOtherUserCommentedPopUpListResponse.swift similarity index 100% rename from Poppool/Poppool/Domain/Entities/UserAPI/GetOtherUserCommentedPopUpListResponse.swift rename to Poppool/Poppool/DomainInterface/Entity/UserAPI/GetOtherUserCommentedPopUpListResponse.swift diff --git a/Poppool/Poppool/Domain/Entities/UserAPI/GetRecentPopUpResponse.swift b/Poppool/Poppool/DomainInterface/Entity/UserAPI/GetRecentPopUpResponse.swift similarity index 100% rename from Poppool/Poppool/Domain/Entities/UserAPI/GetRecentPopUpResponse.swift rename to Poppool/Poppool/DomainInterface/Entity/UserAPI/GetRecentPopUpResponse.swift diff --git a/Poppool/Poppool/Domain/Entities/UserAPI/GetWithdrawlListResponse.swift b/Poppool/Poppool/DomainInterface/Entity/UserAPI/GetWithdrawlListResponse.swift similarity index 100% rename from Poppool/Poppool/Domain/Entities/UserAPI/GetWithdrawlListResponse.swift rename to Poppool/Poppool/DomainInterface/Entity/UserAPI/GetWithdrawlListResponse.swift From 1db8dab61a1dfc7e0bbba899fc5133cb6d79fe09 Mon Sep 17 00:00:00 2001 From: 0Hooni Date: Mon, 14 Apr 2025 21:46:15 +0900 Subject: [PATCH 05/83] =?UTF-8?q?refactor/#112:=20AdminRepository=20?= =?UTF-8?q?=EC=9D=B8=ED=84=B0=ED=8E=98=EC=9D=B4=EC=8A=A4=20=EB=B6=84?= =?UTF-8?q?=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ository.swift => AdminRepositoryImpl.swift} | 18 +++--------------- .../Repository/AdminRepository.swift | 15 +++++++++++++++ .../Scene/Admin/AdminViewController.swift | 2 +- .../Scene/MyPage/Main/MyPageReactor.swift | 2 +- 4 files changed, 20 insertions(+), 17 deletions(-) rename Poppool/Poppool/Data/RepositoryImpl/{AdminRepository.swift => AdminRepositoryImpl.swift} (88%) create mode 100644 Poppool/Poppool/DomainInterface/Repository/AdminRepository.swift diff --git a/Poppool/Poppool/Data/RepositoryImpl/AdminRepository.swift b/Poppool/Poppool/Data/RepositoryImpl/AdminRepositoryImpl.swift similarity index 88% rename from Poppool/Poppool/Data/RepositoryImpl/AdminRepository.swift rename to Poppool/Poppool/Data/RepositoryImpl/AdminRepositoryImpl.swift index 7d0bd1e6..71de6881 100644 --- a/Poppool/Poppool/Data/RepositoryImpl/AdminRepository.swift +++ b/Poppool/Poppool/Data/RepositoryImpl/AdminRepositoryImpl.swift @@ -1,21 +1,9 @@ -import Alamofire import Foundation + +import Alamofire import RxSwift -import UIKit - -protocol AdminRepository { - func fetchStoreList(query: String?, page: Int, size: Int) -> Observable - func fetchStoreDetail(id: Int64) -> Observable - func createStore(request: CreatePopUpStoreRequestDTO) -> Observable - func updateStore(request: UpdatePopUpStoreRequestDTO) -> Observable - func deleteStore(id: Int64) -> Observable - - func createNotice(request: CreateNoticeRequestDTO) -> Observable - func updateNotice(id: Int64, request: UpdateNoticeRequestDTO) -> Observable - func deleteNotice(id: Int64) -> Observable -} -final class DefaultAdminRepository: AdminRepository { +final class AdminRepositoryImpl: AdminRepository { // MARK: - Properties private let provider: Provider diff --git a/Poppool/Poppool/DomainInterface/Repository/AdminRepository.swift b/Poppool/Poppool/DomainInterface/Repository/AdminRepository.swift new file mode 100644 index 00000000..da4112ec --- /dev/null +++ b/Poppool/Poppool/DomainInterface/Repository/AdminRepository.swift @@ -0,0 +1,15 @@ +import Foundation + +import RxSwift + +protocol AdminRepository { + func fetchStoreList(query: String?, page: Int, size: Int) -> Observable + func fetchStoreDetail(id: Int64) -> Observable + func createStore(request: CreatePopUpStoreRequestDTO) -> Observable + func updateStore(request: UpdatePopUpStoreRequestDTO) -> Observable + func deleteStore(id: Int64) -> Observable + + func createNotice(request: CreateNoticeRequestDTO) -> Observable + func updateNotice(id: Int64, request: UpdateNoticeRequestDTO) -> Observable + func deleteNotice(id: Int64) -> Observable +} diff --git a/Poppool/Poppool/Presentation/Scene/Admin/AdminViewController.swift b/Poppool/Poppool/Presentation/Scene/Admin/AdminViewController.swift index 5e5474f4..d343a466 100644 --- a/Poppool/Poppool/Presentation/Scene/Admin/AdminViewController.swift +++ b/Poppool/Poppool/Presentation/Scene/Admin/AdminViewController.swift @@ -16,7 +16,7 @@ final class AdminViewController: BaseViewController, View { private let adminUseCase: AdminUseCase // MARK: - Init - init(nickname: String, adminUseCase: AdminUseCase = DefaultAdminUseCase(repository: DefaultAdminRepository(provider: ProviderImpl()))) { + init(nickname: String, adminUseCase: AdminUseCase = DefaultAdminUseCase(repository: AdminRepositoryImpl(provider: ProviderImpl()))) { self.nickname = nickname self.adminUseCase = adminUseCase self.mainView = AdminView(frame: .zero) diff --git a/Poppool/Poppool/Presentation/Scene/MyPage/Main/MyPageReactor.swift b/Poppool/Poppool/Presentation/Scene/MyPage/Main/MyPageReactor.swift index 7ac24f0b..503861b4 100644 --- a/Poppool/Poppool/Presentation/Scene/MyPage/Main/MyPageReactor.swift +++ b/Poppool/Poppool/Presentation/Scene/MyPage/Main/MyPageReactor.swift @@ -275,7 +275,7 @@ final class MyPageReactor: Reactor { let adminVC = AdminViewController(nickname: nickname) adminVC.reactor = AdminReactor( useCase: DefaultAdminUseCase( - repository: DefaultAdminRepository(provider: ProviderImpl()) + repository: AdminRepositoryImpl(provider: ProviderImpl()) ) ) controller.navigationController?.pushViewController(adminVC, animated: true) From 6ed7c3d8b8feb2ebc87b604a4341c7b055928cef Mon Sep 17 00:00:00 2001 From: 0Hooni Date: Mon, 14 Apr 2025 21:57:14 +0900 Subject: [PATCH 06/83] =?UTF-8?q?refactor/#112:=20Repository=20=EC=9D=B8?= =?UTF-8?q?=ED=84=B0=ED=8E=98=EC=9D=B4=EC=8A=A4=20=EB=B6=84=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AuthAPIRepositoryImpl.swift | 10 ++----- .../Data/RepositoryImpl/AuthRepository.swift | 22 --------------- ...y.swift => CommentAPIRepositoryImpl.swift} | 9 +----- ...tory.swift => HomeAPIRepositoryImpl.swift} | 10 ++----- ...swift => MapDirectionRepositoryImpl.swift} | 14 ++-------- ...pository.swift => MapRepositoryImpl.swift} | 27 ++---------------- .../PopUpAPIRepositoryImpl.swift | 9 +----- .../RepositoryImpl/SignUpRepositoryImpl.swift | 10 ++----- .../UserAPIRepositoryImpl.swift | 9 +----- .../UseCaseImpl/CommentAPIUseCaseImpl.swift | 4 +-- .../UseCaseImpl/HomeAPIUseCaseImpl.swift | 2 +- .../Repository/AuthAPIRepository.swift | 8 ++++++ .../Repository/CommentAPIRepository.swift | 9 ++++++ .../Repository/HomeAPIRepository.swift | 10 +++++++ .../Repository/MapDirectionRepository.swift | 7 +++++ .../Repository/MapRepository.swift | 28 +++++++++++++++++++ .../Repository/PopUpAPIRepository.swift | 12 ++++++++ .../Repository/SignUpRepository.swift | 17 +++++++++++ .../Repository/UserAPIRepository.swift | 27 ++++++++++++++++++ .../CommentList/CommentListReactor.swift | 2 +- .../NormalCommentAddReactor.swift | 2 +- .../NormalCommentEditReactor.swift | 2 +- .../Scene/Detail/DetailReactor.swift | 2 +- .../MapGuideView/MapGuideReactor.swift | 2 +- .../MapGuideView/MapGuideViewController.swift | 4 +-- .../TabbarController/TabbarController.swift | 4 +-- 26 files changed, 143 insertions(+), 119 deletions(-) delete mode 100644 Poppool/Poppool/Data/RepositoryImpl/AuthRepository.swift rename Poppool/Poppool/Data/RepositoryImpl/{CommentAPIRepository.swift => CommentAPIRepositoryImpl.swift} (87%) rename Poppool/Poppool/Data/RepositoryImpl/{HomeAPIRepository.swift => HomeAPIRepositoryImpl.swift} (91%) rename Poppool/Poppool/Data/RepositoryImpl/{MapDirectionRepository.swift => MapDirectionRepositoryImpl.swift} (72%) rename Poppool/Poppool/Data/RepositoryImpl/{MapRepository.swift => MapRepositoryImpl.swift} (81%) create mode 100644 Poppool/Poppool/DomainInterface/Repository/AuthAPIRepository.swift create mode 100644 Poppool/Poppool/DomainInterface/Repository/CommentAPIRepository.swift create mode 100644 Poppool/Poppool/DomainInterface/Repository/HomeAPIRepository.swift create mode 100644 Poppool/Poppool/DomainInterface/Repository/MapDirectionRepository.swift create mode 100644 Poppool/Poppool/DomainInterface/Repository/MapRepository.swift create mode 100644 Poppool/Poppool/DomainInterface/Repository/PopUpAPIRepository.swift create mode 100644 Poppool/Poppool/DomainInterface/Repository/SignUpRepository.swift create mode 100644 Poppool/Poppool/DomainInterface/Repository/UserAPIRepository.swift diff --git a/Poppool/Poppool/Data/RepositoryImpl/AuthAPIRepositoryImpl.swift b/Poppool/Poppool/Data/RepositoryImpl/AuthAPIRepositoryImpl.swift index 7e01f977..dbb6c689 100644 --- a/Poppool/Poppool/Data/RepositoryImpl/AuthAPIRepositoryImpl.swift +++ b/Poppool/Poppool/Data/RepositoryImpl/AuthAPIRepositoryImpl.swift @@ -1,14 +1,8 @@ -// -// AuthRepository.swift -// Poppool -// -// Created by Porori on 11/25/24. -// - import Foundation + import RxSwift -final class AuthAPIRepositoryImpl { +final class AuthAPIRepositoryImpl: AuthAPIRepository { var provider: Provider diff --git a/Poppool/Poppool/Data/RepositoryImpl/AuthRepository.swift b/Poppool/Poppool/Data/RepositoryImpl/AuthRepository.swift deleted file mode 100644 index 0a8c43be..00000000 --- a/Poppool/Poppool/Data/RepositoryImpl/AuthRepository.swift +++ /dev/null @@ -1,22 +0,0 @@ -// -// AuthRepository.swift -// Poppool -// -// Created by Porori on 11/25/24. -// - -import Foundation -import RxSwift - -// protocol AuthRepository { -// -// /// 네트워크 요청을 처리하는 프로바이더 -// var provider: Provider { get set } -// -// /// 로그인 시도 메서드 -// /// - Parameters: -// /// - userCredential: 사용자 자격 증명 정보 (Encodable) -// /// - socialType: 소셜 로그인 타입 (예: "google", "facebook") -// /// - Returns: 로그인 응답을 나타내는 Observable 객체 -// func tryLogIn(userCredential: Encodable, socialType: String) -> Observable -// } diff --git a/Poppool/Poppool/Data/RepositoryImpl/CommentAPIRepository.swift b/Poppool/Poppool/Data/RepositoryImpl/CommentAPIRepositoryImpl.swift similarity index 87% rename from Poppool/Poppool/Data/RepositoryImpl/CommentAPIRepository.swift rename to Poppool/Poppool/Data/RepositoryImpl/CommentAPIRepositoryImpl.swift index f5264dbf..22ae8766 100644 --- a/Poppool/Poppool/Data/RepositoryImpl/CommentAPIRepository.swift +++ b/Poppool/Poppool/Data/RepositoryImpl/CommentAPIRepositoryImpl.swift @@ -1,15 +1,8 @@ -// -// CommentAPIRepository.swift -// Poppool -// -// Created by SeoJunYoung on 12/15/24. -// - import Foundation import RxSwift -final class CommentAPIRepository { +final class CommentAPIRepositoryImpl: CommentAPIRepository { private let provider: Provider private let tokenInterceptor = TokenInterceptor() diff --git a/Poppool/Poppool/Data/RepositoryImpl/HomeAPIRepository.swift b/Poppool/Poppool/Data/RepositoryImpl/HomeAPIRepositoryImpl.swift similarity index 91% rename from Poppool/Poppool/Data/RepositoryImpl/HomeAPIRepository.swift rename to Poppool/Poppool/Data/RepositoryImpl/HomeAPIRepositoryImpl.swift index 2bd55980..89ef1e10 100644 --- a/Poppool/Poppool/Data/RepositoryImpl/HomeAPIRepository.swift +++ b/Poppool/Poppool/Data/RepositoryImpl/HomeAPIRepositoryImpl.swift @@ -1,14 +1,8 @@ -// -// HomeAPIRepository.swift -// Poppool -// -// Created by Porori on 11/26/24. -// - import Foundation + import RxSwift -final class HomeAPIRepository { +final class HomeAPIRepositoryImpl: HomeAPIRepository { private let provider: Provider private let tokenInterceptor = TokenInterceptor() diff --git a/Poppool/Poppool/Data/RepositoryImpl/MapDirectionRepository.swift b/Poppool/Poppool/Data/RepositoryImpl/MapDirectionRepositoryImpl.swift similarity index 72% rename from Poppool/Poppool/Data/RepositoryImpl/MapDirectionRepository.swift rename to Poppool/Poppool/Data/RepositoryImpl/MapDirectionRepositoryImpl.swift index fcb8e508..b4c3a861 100644 --- a/Poppool/Poppool/Data/RepositoryImpl/MapDirectionRepository.swift +++ b/Poppool/Poppool/Data/RepositoryImpl/MapDirectionRepositoryImpl.swift @@ -1,18 +1,8 @@ -// -// MapDirectionRepository.swift -// Poppool -// -// Created by 김기현 on 1/23/25. -// - import Foundation -import RxSwift -protocol MapDirectionRepository { - func getPopUpDirection(popUpStoreId: Int64) -> Observable -} +import RxSwift -final class DefaultMapDirectionRepository: MapDirectionRepository { +final class MapDirectionRepositoryImpl: MapDirectionRepository { private let provider: Provider private let tokenInterceptor = TokenInterceptor() diff --git a/Poppool/Poppool/Data/RepositoryImpl/MapRepository.swift b/Poppool/Poppool/Data/RepositoryImpl/MapRepositoryImpl.swift similarity index 81% rename from Poppool/Poppool/Data/RepositoryImpl/MapRepository.swift rename to Poppool/Poppool/Data/RepositoryImpl/MapRepositoryImpl.swift index a10bffc5..c9487f87 100644 --- a/Poppool/Poppool/Data/RepositoryImpl/MapRepository.swift +++ b/Poppool/Poppool/Data/RepositoryImpl/MapRepositoryImpl.swift @@ -1,32 +1,9 @@ -// -// MapRepository.swift -// Poppool -// -// Created by 김기현 on 12/3/24. -// - import Foundation -import RxSwift -protocol MapRepository { - func fetchStoresInBounds( - northEastLat: Double, - northEastLon: Double, - southWestLat: Double, - southWestLon: Double, - categories: [Int64] - ) -> Observable<[MapPopUpStoreDTO]> - - func searchStores( - query: String, - categories: [Int64] - ) -> Observable<[MapPopUpStoreDTO]> - - func fetchCategories() -> Observable<[Category]> -} +import RxSwift // MARK: - Implementation -class DefaultMapRepository: MapRepository { +class MapRepositoryImpl: MapRepository { private let provider: Provider init(provider: Provider) { diff --git a/Poppool/Poppool/Data/RepositoryImpl/PopUpAPIRepositoryImpl.swift b/Poppool/Poppool/Data/RepositoryImpl/PopUpAPIRepositoryImpl.swift index 3c786005..735bd339 100644 --- a/Poppool/Poppool/Data/RepositoryImpl/PopUpAPIRepositoryImpl.swift +++ b/Poppool/Poppool/Data/RepositoryImpl/PopUpAPIRepositoryImpl.swift @@ -1,15 +1,8 @@ -// -// PopUpAPIRepositoryImpl.swift -// Poppool -// -// Created by SeoJunYoung on 12/6/24. -// - import Foundation import RxSwift -struct PopUpAPIRepositoryImpl { +final class PopUpAPIRepositoryImpl: PopUpAPIRepository { private let provider: Provider private let tokenInterceptor = TokenInterceptor() diff --git a/Poppool/Poppool/Data/RepositoryImpl/SignUpRepositoryImpl.swift b/Poppool/Poppool/Data/RepositoryImpl/SignUpRepositoryImpl.swift index 6402b3dc..4cdef81e 100644 --- a/Poppool/Poppool/Data/RepositoryImpl/SignUpRepositoryImpl.swift +++ b/Poppool/Poppool/Data/RepositoryImpl/SignUpRepositoryImpl.swift @@ -1,14 +1,8 @@ -// -// SignUpRepositoryImpl.swift -// Poppool -// -// Created by Porori on 11/25/24. -// - import Foundation + import RxSwift -final class SignUpRepositoryImpl { +final class SignUpRepositoryImpl: SignUpRepository { var provider: Provider diff --git a/Poppool/Poppool/Data/RepositoryImpl/UserAPIRepositoryImpl.swift b/Poppool/Poppool/Data/RepositoryImpl/UserAPIRepositoryImpl.swift index 55a66ddb..a146c460 100644 --- a/Poppool/Poppool/Data/RepositoryImpl/UserAPIRepositoryImpl.swift +++ b/Poppool/Poppool/Data/RepositoryImpl/UserAPIRepositoryImpl.swift @@ -1,15 +1,8 @@ -// -// UserAPIRepositoryImpl.swift -// Poppool -// -// Created by SeoJunYoung on 12/3/24. -// - import Foundation import RxSwift -final class UserAPIRepositoryImpl { +final class UserAPIRepositoryImpl: UserAPIRepository { private let provider: Provider private let tokenInterceptor = TokenInterceptor() diff --git a/Poppool/Poppool/Domain/UseCaseImpl/CommentAPIUseCaseImpl.swift b/Poppool/Poppool/Domain/UseCaseImpl/CommentAPIUseCaseImpl.swift index f6d83409..a0ab23d7 100644 --- a/Poppool/Poppool/Domain/UseCaseImpl/CommentAPIUseCaseImpl.swift +++ b/Poppool/Poppool/Domain/UseCaseImpl/CommentAPIUseCaseImpl.swift @@ -11,9 +11,9 @@ import RxSwift final class CommentAPIUseCaseImpl { - var repository: CommentAPIRepository + var repository: CommentAPIRepositoryImpl - init(repository: CommentAPIRepository) { + init(repository: CommentAPIRepositoryImpl) { self.repository = repository } diff --git a/Poppool/Poppool/Domain/UseCaseImpl/HomeAPIUseCaseImpl.swift b/Poppool/Poppool/Domain/UseCaseImpl/HomeAPIUseCaseImpl.swift index 1664dd60..fe41ddc4 100644 --- a/Poppool/Poppool/Domain/UseCaseImpl/HomeAPIUseCaseImpl.swift +++ b/Poppool/Poppool/Domain/UseCaseImpl/HomeAPIUseCaseImpl.swift @@ -9,7 +9,7 @@ import Foundation import RxSwift final class HomeAPIUseCaseImpl { - var repository = HomeAPIRepository(provider: ProviderImpl()) + var repository = HomeAPIRepositoryImpl(provider: ProviderImpl()) func fetchHome( page: Int32?, diff --git a/Poppool/Poppool/DomainInterface/Repository/AuthAPIRepository.swift b/Poppool/Poppool/DomainInterface/Repository/AuthAPIRepository.swift new file mode 100644 index 00000000..630c801b --- /dev/null +++ b/Poppool/Poppool/DomainInterface/Repository/AuthAPIRepository.swift @@ -0,0 +1,8 @@ +import Foundation + +import RxSwift + +protocol AuthAPIRepository { + func tryLogIn(userCredential: Encodable, socialType: String) -> Observable + func postTokenReissue() -> Observable +} diff --git a/Poppool/Poppool/DomainInterface/Repository/CommentAPIRepository.swift b/Poppool/Poppool/DomainInterface/Repository/CommentAPIRepository.swift new file mode 100644 index 00000000..bd079fc8 --- /dev/null +++ b/Poppool/Poppool/DomainInterface/Repository/CommentAPIRepository.swift @@ -0,0 +1,9 @@ +import Foundation + +import RxSwift + +protocol CommentAPIRepository { + func postCommentAdd(request: PostCommentRequestDTO) -> Completable + func deleteComment(request: DeleteCommentRequestDTO) -> Completable + func editComment(request: PutCommentRequestDTO) -> Completable +} diff --git a/Poppool/Poppool/DomainInterface/Repository/HomeAPIRepository.swift b/Poppool/Poppool/DomainInterface/Repository/HomeAPIRepository.swift new file mode 100644 index 00000000..2c6082ed --- /dev/null +++ b/Poppool/Poppool/DomainInterface/Repository/HomeAPIRepository.swift @@ -0,0 +1,10 @@ +import Foundation + +import RxSwift + +protocol HomeAPIRepository { + func fetchHome(request: SortedRequestDTO) -> Observable + func fetchCustomPopUp(request: SortedRequestDTO) -> Observable + func fetchNewPopUp(request: SortedRequestDTO) -> Observable + func fetchPopularPopUp(request: SortedRequestDTO) -> Observable +} diff --git a/Poppool/Poppool/DomainInterface/Repository/MapDirectionRepository.swift b/Poppool/Poppool/DomainInterface/Repository/MapDirectionRepository.swift new file mode 100644 index 00000000..d73ff0a0 --- /dev/null +++ b/Poppool/Poppool/DomainInterface/Repository/MapDirectionRepository.swift @@ -0,0 +1,7 @@ +import Foundation + +import RxSwift + +protocol MapDirectionRepository { + func getPopUpDirection(popUpStoreId: Int64) -> Observable +} diff --git a/Poppool/Poppool/DomainInterface/Repository/MapRepository.swift b/Poppool/Poppool/DomainInterface/Repository/MapRepository.swift new file mode 100644 index 00000000..b50ef36b --- /dev/null +++ b/Poppool/Poppool/DomainInterface/Repository/MapRepository.swift @@ -0,0 +1,28 @@ +// +// MapRepository.swift +// Poppool +// +// Created by 송영훈 on 4/14/25. +// + + +import Foundation + +import RxSwift + +protocol MapRepository { + func fetchStoresInBounds( + northEastLat: Double, + northEastLon: Double, + southWestLat: Double, + southWestLon: Double, + categories: [Int64] + ) -> Observable<[MapPopUpStoreDTO]> + + func searchStores( + query: String, + categories: [Int64] + ) -> Observable<[MapPopUpStoreDTO]> + + func fetchCategories() -> Observable<[Category]> +} \ No newline at end of file diff --git a/Poppool/Poppool/DomainInterface/Repository/PopUpAPIRepository.swift b/Poppool/Poppool/DomainInterface/Repository/PopUpAPIRepository.swift new file mode 100644 index 00000000..4cec5864 --- /dev/null +++ b/Poppool/Poppool/DomainInterface/Repository/PopUpAPIRepository.swift @@ -0,0 +1,12 @@ +import Foundation + +import RxSwift + +protocol PopUpAPIRepository { + func postBookmarkPopUp(request: PostBookmarkPopUpRequestDTO) -> Completable + func getClosePopUpList(request: GetSearchPopUpListRequestDTO) -> Observable + func getOpenPopUpList(request: GetSearchPopUpListRequestDTO) -> Observable + func getSearchPopUpList(request: GetSearchPopUpListRequestDTO) -> Observable + func getPopUpDetail(request: GetPopUpDetailRequestDTO) -> Observable + func getPopUpComment(request: GetPopUpCommentRequestDTO) -> Observable +} diff --git a/Poppool/Poppool/DomainInterface/Repository/SignUpRepository.swift b/Poppool/Poppool/DomainInterface/Repository/SignUpRepository.swift new file mode 100644 index 00000000..d403fe94 --- /dev/null +++ b/Poppool/Poppool/DomainInterface/Repository/SignUpRepository.swift @@ -0,0 +1,17 @@ +import Foundation + +import RxSwift + +protocol SignUpRepository { + func checkNickName(nickName: String) -> Observable + func fetchCategoryList() -> Observable<[Category]> + func trySignUp( + nickName: String, + gender: String, + age: Int32, + socialEmail: String, + socialType: String, + interests: [Int64], + appleAuthorizationCode: String? + ) -> Completable +} diff --git a/Poppool/Poppool/DomainInterface/Repository/UserAPIRepository.swift b/Poppool/Poppool/DomainInterface/Repository/UserAPIRepository.swift new file mode 100644 index 00000000..5d37ef5f --- /dev/null +++ b/Poppool/Poppool/DomainInterface/Repository/UserAPIRepository.swift @@ -0,0 +1,27 @@ +import Foundation + +import RxSwift + +protocol UserAPIRepository { + func postBookmarkPopUp(request: PostBookmarkPopUpRequestDTO) -> Completable + func deleteBookmarkPopUp(request: PostBookmarkPopUpRequestDTO) -> Completable + func postCommentLike(request: CommentLikeRequestDTO) -> Completable + func deleteCommentLike(request: CommentLikeRequestDTO) -> Completable + func postUserBlock(request: PostUserBlockRequestDTO) -> Completable + func deleteUserBlock(request: PostUserBlockRequestDTO) -> Completable + func getOtherUserCommentList(request: GetOtherUserCommentListRequestDTO) -> Observable + func getMyPage() -> Observable + func postLogout() -> Completable + func getWithdrawlList() -> Observable + func postWithdrawl(request: PostWithdrawlListRequestDTO) -> Completable + func getMyProfile() -> Observable + func putUserTailoredInfo(request: PutUserTailoredInfoRequestDTO) -> Completable + func putUserCategory(request: PutUserCategoryRequestDTO) -> Completable + func putUserProfile(request: PutUserProfileRequestDTO) -> Completable + func getMyCommentedPopUp(request: SortedRequestDTO) -> Observable + func getBlockUserList(request: GetBlockUserListRequestDTO) -> Observable + func getNoticeList() -> Observable + func getNoticeDetail(noticeID: Int64) -> Observable + func getRecentPopUp(request: SortedRequestDTO) -> Observable + func getBookmarkPopUp(request: SortedRequestDTO) -> Observable +} diff --git a/Poppool/Poppool/Presentation/Scene/Comment/CommentList/CommentListReactor.swift b/Poppool/Poppool/Presentation/Scene/Comment/CommentList/CommentListReactor.swift index 3823d183..af0fc685 100644 --- a/Poppool/Poppool/Presentation/Scene/Comment/CommentList/CommentListReactor.swift +++ b/Poppool/Poppool/Presentation/Scene/Comment/CommentList/CommentListReactor.swift @@ -51,7 +51,7 @@ final class CommentListReactor: Reactor { private var imageService = PreSignedService() private let popUpAPIUseCase = PopUpAPIUseCaseImpl(repository: PopUpAPIRepositoryImpl(provider: ProviderImpl())) private let userAPIUseCase = UserAPIUseCaseImpl(repository: UserAPIRepositoryImpl(provider: ProviderImpl())) - private let commentAPIUseCase = CommentAPIUseCaseImpl(repository: CommentAPIRepository(provider: ProviderImpl())) + private let commentAPIUseCase = CommentAPIUseCaseImpl(repository: CommentAPIRepositoryImpl(provider: ProviderImpl())) lazy var compositionalLayout: UICollectionViewCompositionalLayout = { UICollectionViewCompositionalLayout { [weak self] section, env in diff --git a/Poppool/Poppool/Presentation/Scene/Comment/NormalCommentAdd/NormalCommentAddReactor.swift b/Poppool/Poppool/Presentation/Scene/Comment/NormalCommentAdd/NormalCommentAddReactor.swift index 63b51884..8e7d528b 100644 --- a/Poppool/Poppool/Presentation/Scene/Comment/NormalCommentAdd/NormalCommentAddReactor.swift +++ b/Poppool/Poppool/Presentation/Scene/Comment/NormalCommentAdd/NormalCommentAddReactor.swift @@ -47,7 +47,7 @@ final class NormalCommentAddReactor: Reactor { private var popUpID: Int64 private var popUpName: String - private let commentAPIUseCase = CommentAPIUseCaseImpl(repository: CommentAPIRepository(provider: ProviderImpl())) + private let commentAPIUseCase = CommentAPIUseCaseImpl(repository: CommentAPIRepositoryImpl(provider: ProviderImpl())) private let imageService = PreSignedService() lazy var compositionalLayout: UICollectionViewCompositionalLayout = { diff --git a/Poppool/Poppool/Presentation/Scene/Comment/NormalCommentEdit/NormalCommentEditReactor.swift b/Poppool/Poppool/Presentation/Scene/Comment/NormalCommentEdit/NormalCommentEditReactor.swift index dee4c3cc..73d67b40 100644 --- a/Poppool/Poppool/Presentation/Scene/Comment/NormalCommentEdit/NormalCommentEditReactor.swift +++ b/Poppool/Poppool/Presentation/Scene/Comment/NormalCommentEdit/NormalCommentEditReactor.swift @@ -48,7 +48,7 @@ final class NormalCommentEditReactor: Reactor { private var popUpName: String private var originComment: DetailCommentSection.CellType.Input - private let commentAPIUseCase = CommentAPIUseCaseImpl(repository: CommentAPIRepository(provider: ProviderImpl())) + private let commentAPIUseCase = CommentAPIUseCaseImpl(repository: CommentAPIRepositoryImpl(provider: ProviderImpl())) private let imageService = PreSignedService() lazy var compositionalLayout: UICollectionViewCompositionalLayout = { diff --git a/Poppool/Poppool/Presentation/Scene/Detail/DetailReactor.swift b/Poppool/Poppool/Presentation/Scene/Detail/DetailReactor.swift index 8b4e249b..ced7d370 100644 --- a/Poppool/Poppool/Presentation/Scene/Detail/DetailReactor.swift +++ b/Poppool/Poppool/Presentation/Scene/Detail/DetailReactor.swift @@ -60,7 +60,7 @@ final class DetailReactor: Reactor { private var imageService = PreSignedService() private let popUpAPIUseCase = PopUpAPIUseCaseImpl(repository: PopUpAPIRepositoryImpl(provider: ProviderImpl())) private let userAPIUseCase = UserAPIUseCaseImpl(repository: UserAPIRepositoryImpl(provider: ProviderImpl())) - private let commentAPIUseCase = CommentAPIUseCaseImpl(repository: CommentAPIRepository(provider: ProviderImpl())) + private let commentAPIUseCase = CommentAPIUseCaseImpl(repository: CommentAPIRepositoryImpl(provider: ProviderImpl())) lazy var compositionalLayout: UICollectionViewCompositionalLayout = { UICollectionViewCompositionalLayout { [weak self] section, env in guard let self = self else { diff --git a/Poppool/Poppool/Presentation/Scene/Map/FindMap/MapGuideView/MapGuideReactor.swift b/Poppool/Poppool/Presentation/Scene/Map/FindMap/MapGuideView/MapGuideReactor.swift index dd3fef65..551a396c 100644 --- a/Poppool/Poppool/Presentation/Scene/Map/FindMap/MapGuideView/MapGuideReactor.swift +++ b/Poppool/Poppool/Presentation/Scene/Map/FindMap/MapGuideView/MapGuideReactor.swift @@ -47,7 +47,7 @@ final class MapGuideReactor: Reactor { // MARK: - Init init( popUpStoreId: Int64, - repository: MapDirectionRepository = DefaultMapDirectionRepository(provider: ProviderImpl()) + repository: MapDirectionRepository = MapDirectionRepositoryImpl(provider: ProviderImpl()) ) { self.popUpStoreId = popUpStoreId self.directionRepository = repository diff --git a/Poppool/Poppool/Presentation/Scene/Map/FindMap/MapGuideView/MapGuideViewController.swift b/Poppool/Poppool/Presentation/Scene/Map/FindMap/MapGuideView/MapGuideViewController.swift index 60d2d07c..7282142a 100644 --- a/Poppool/Poppool/Presentation/Scene/Map/FindMap/MapGuideView/MapGuideViewController.swift +++ b/Poppool/Poppool/Presentation/Scene/Map/FindMap/MapGuideView/MapGuideViewController.swift @@ -172,9 +172,9 @@ final class MapGuideViewController: UIViewController, View { guard let strongSelf = self else { return } let providerInstance = ProviderImpl() - let repositoryInstance = DefaultMapRepository(provider: providerInstance) + let repositoryInstance = MapRepositoryImpl(provider: providerInstance) let useCaseInstance = DefaultMapUseCase(repository: repositoryInstance) - let directionRepositoryInstance = DefaultMapDirectionRepository(provider: providerInstance) + let directionRepositoryInstance = MapDirectionRepositoryImpl(provider: providerInstance) let mapReactorInstance = MapReactor(useCase: useCaseInstance, directionRepository: directionRepositoryInstance) if let selectedStore = strongSelf.currentCarouselStoreList.first { diff --git a/Poppool/Poppool/Presentation/Scene/TabbarController/TabbarController.swift b/Poppool/Poppool/Presentation/Scene/TabbarController/TabbarController.swift index efac523a..77e2659e 100644 --- a/Poppool/Poppool/Presentation/Scene/TabbarController/TabbarController.swift +++ b/Poppool/Poppool/Presentation/Scene/TabbarController/TabbarController.swift @@ -196,8 +196,8 @@ class WaveTabBarController: UITabBarController, UITabBarControllerDelegate { let provider = ProviderImpl() let mapController = MapViewController() - let mapUseCase = DefaultMapUseCase(repository: DefaultMapRepository(provider: provider)) - let directionRepository = DefaultMapDirectionRepository(provider: provider) + let mapUseCase = DefaultMapUseCase(repository: MapRepositoryImpl(provider: provider)) + let directionRepository = MapDirectionRepositoryImpl(provider: provider) mapController.reactor = MapReactor(useCase: mapUseCase, directionRepository: directionRepository) let homeController = HomeController() From 0cc4bf9534d62d7b51a91263b6c87d408c85260d Mon Sep 17 00:00:00 2001 From: 0Hooni Date: Mon, 14 Apr 2025 21:58:48 +0900 Subject: [PATCH 07/83] =?UTF-8?q?refactor/#112:=20Entity=20=ED=8F=B4?= =?UTF-8?q?=EB=8D=94=EB=AA=85=20=EC=9E=84=EC=8B=9C=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Entity/{AuthAPI => AuthResponse}/LoginResponse.swift | 0 .../{AuthAPI => AuthResponse}/PostTokenReissueResponse.swift | 0 .../{PopUpAPI => PopUpResponse}/GetPopUpCommentResponse.swift | 0 .../{PopUpAPI => PopUpResponse}/GetPopUpDetailResponse.swift | 0 .../GetSearchBottomPopUpListResponse.swift | 0 .../{PopUpAPI => PopUpResponse}/GetSearchPopUpListResponse.swift | 0 .../{UserAPI => UserResponse}/GetBlockUserListResponse.swift | 0 .../Entity/{UserAPI => UserResponse}/GetMyCommentResponse.swift | 0 .../Entity/{UserAPI => UserResponse}/GetMyPageResponse.swift | 0 .../Entity/{UserAPI => UserResponse}/GetMyProfileResponse.swift | 0 .../{UserAPI => UserResponse}/GetNoticeDetailResponse.swift | 0 .../Entity/{UserAPI => UserResponse}/GetNoticeListResponse.swift | 0 .../GetOtherUserCommentedPopUpListResponse.swift | 0 .../Entity/{UserAPI => UserResponse}/GetRecentPopUpResponse.swift | 0 .../{UserAPI => UserResponse}/GetWithdrawlListResponse.swift | 0 15 files changed, 0 insertions(+), 0 deletions(-) rename Poppool/Poppool/DomainInterface/Entity/{AuthAPI => AuthResponse}/LoginResponse.swift (100%) rename Poppool/Poppool/DomainInterface/Entity/{AuthAPI => AuthResponse}/PostTokenReissueResponse.swift (100%) rename Poppool/Poppool/DomainInterface/Entity/{PopUpAPI => PopUpResponse}/GetPopUpCommentResponse.swift (100%) rename Poppool/Poppool/DomainInterface/Entity/{PopUpAPI => PopUpResponse}/GetPopUpDetailResponse.swift (100%) rename Poppool/Poppool/DomainInterface/Entity/{PopUpAPI => PopUpResponse}/GetSearchBottomPopUpListResponse.swift (100%) rename Poppool/Poppool/DomainInterface/Entity/{PopUpAPI => PopUpResponse}/GetSearchPopUpListResponse.swift (100%) rename Poppool/Poppool/DomainInterface/Entity/{UserAPI => UserResponse}/GetBlockUserListResponse.swift (100%) rename Poppool/Poppool/DomainInterface/Entity/{UserAPI => UserResponse}/GetMyCommentResponse.swift (100%) rename Poppool/Poppool/DomainInterface/Entity/{UserAPI => UserResponse}/GetMyPageResponse.swift (100%) rename Poppool/Poppool/DomainInterface/Entity/{UserAPI => UserResponse}/GetMyProfileResponse.swift (100%) rename Poppool/Poppool/DomainInterface/Entity/{UserAPI => UserResponse}/GetNoticeDetailResponse.swift (100%) rename Poppool/Poppool/DomainInterface/Entity/{UserAPI => UserResponse}/GetNoticeListResponse.swift (100%) rename Poppool/Poppool/DomainInterface/Entity/{UserAPI => UserResponse}/GetOtherUserCommentedPopUpListResponse.swift (100%) rename Poppool/Poppool/DomainInterface/Entity/{UserAPI => UserResponse}/GetRecentPopUpResponse.swift (100%) rename Poppool/Poppool/DomainInterface/Entity/{UserAPI => UserResponse}/GetWithdrawlListResponse.swift (100%) diff --git a/Poppool/Poppool/DomainInterface/Entity/AuthAPI/LoginResponse.swift b/Poppool/Poppool/DomainInterface/Entity/AuthResponse/LoginResponse.swift similarity index 100% rename from Poppool/Poppool/DomainInterface/Entity/AuthAPI/LoginResponse.swift rename to Poppool/Poppool/DomainInterface/Entity/AuthResponse/LoginResponse.swift diff --git a/Poppool/Poppool/DomainInterface/Entity/AuthAPI/PostTokenReissueResponse.swift b/Poppool/Poppool/DomainInterface/Entity/AuthResponse/PostTokenReissueResponse.swift similarity index 100% rename from Poppool/Poppool/DomainInterface/Entity/AuthAPI/PostTokenReissueResponse.swift rename to Poppool/Poppool/DomainInterface/Entity/AuthResponse/PostTokenReissueResponse.swift diff --git a/Poppool/Poppool/DomainInterface/Entity/PopUpAPI/GetPopUpCommentResponse.swift b/Poppool/Poppool/DomainInterface/Entity/PopUpResponse/GetPopUpCommentResponse.swift similarity index 100% rename from Poppool/Poppool/DomainInterface/Entity/PopUpAPI/GetPopUpCommentResponse.swift rename to Poppool/Poppool/DomainInterface/Entity/PopUpResponse/GetPopUpCommentResponse.swift diff --git a/Poppool/Poppool/DomainInterface/Entity/PopUpAPI/GetPopUpDetailResponse.swift b/Poppool/Poppool/DomainInterface/Entity/PopUpResponse/GetPopUpDetailResponse.swift similarity index 100% rename from Poppool/Poppool/DomainInterface/Entity/PopUpAPI/GetPopUpDetailResponse.swift rename to Poppool/Poppool/DomainInterface/Entity/PopUpResponse/GetPopUpDetailResponse.swift diff --git a/Poppool/Poppool/DomainInterface/Entity/PopUpAPI/GetSearchBottomPopUpListResponse.swift b/Poppool/Poppool/DomainInterface/Entity/PopUpResponse/GetSearchBottomPopUpListResponse.swift similarity index 100% rename from Poppool/Poppool/DomainInterface/Entity/PopUpAPI/GetSearchBottomPopUpListResponse.swift rename to Poppool/Poppool/DomainInterface/Entity/PopUpResponse/GetSearchBottomPopUpListResponse.swift diff --git a/Poppool/Poppool/DomainInterface/Entity/PopUpAPI/GetSearchPopUpListResponse.swift b/Poppool/Poppool/DomainInterface/Entity/PopUpResponse/GetSearchPopUpListResponse.swift similarity index 100% rename from Poppool/Poppool/DomainInterface/Entity/PopUpAPI/GetSearchPopUpListResponse.swift rename to Poppool/Poppool/DomainInterface/Entity/PopUpResponse/GetSearchPopUpListResponse.swift diff --git a/Poppool/Poppool/DomainInterface/Entity/UserAPI/GetBlockUserListResponse.swift b/Poppool/Poppool/DomainInterface/Entity/UserResponse/GetBlockUserListResponse.swift similarity index 100% rename from Poppool/Poppool/DomainInterface/Entity/UserAPI/GetBlockUserListResponse.swift rename to Poppool/Poppool/DomainInterface/Entity/UserResponse/GetBlockUserListResponse.swift diff --git a/Poppool/Poppool/DomainInterface/Entity/UserAPI/GetMyCommentResponse.swift b/Poppool/Poppool/DomainInterface/Entity/UserResponse/GetMyCommentResponse.swift similarity index 100% rename from Poppool/Poppool/DomainInterface/Entity/UserAPI/GetMyCommentResponse.swift rename to Poppool/Poppool/DomainInterface/Entity/UserResponse/GetMyCommentResponse.swift diff --git a/Poppool/Poppool/DomainInterface/Entity/UserAPI/GetMyPageResponse.swift b/Poppool/Poppool/DomainInterface/Entity/UserResponse/GetMyPageResponse.swift similarity index 100% rename from Poppool/Poppool/DomainInterface/Entity/UserAPI/GetMyPageResponse.swift rename to Poppool/Poppool/DomainInterface/Entity/UserResponse/GetMyPageResponse.swift diff --git a/Poppool/Poppool/DomainInterface/Entity/UserAPI/GetMyProfileResponse.swift b/Poppool/Poppool/DomainInterface/Entity/UserResponse/GetMyProfileResponse.swift similarity index 100% rename from Poppool/Poppool/DomainInterface/Entity/UserAPI/GetMyProfileResponse.swift rename to Poppool/Poppool/DomainInterface/Entity/UserResponse/GetMyProfileResponse.swift diff --git a/Poppool/Poppool/DomainInterface/Entity/UserAPI/GetNoticeDetailResponse.swift b/Poppool/Poppool/DomainInterface/Entity/UserResponse/GetNoticeDetailResponse.swift similarity index 100% rename from Poppool/Poppool/DomainInterface/Entity/UserAPI/GetNoticeDetailResponse.swift rename to Poppool/Poppool/DomainInterface/Entity/UserResponse/GetNoticeDetailResponse.swift diff --git a/Poppool/Poppool/DomainInterface/Entity/UserAPI/GetNoticeListResponse.swift b/Poppool/Poppool/DomainInterface/Entity/UserResponse/GetNoticeListResponse.swift similarity index 100% rename from Poppool/Poppool/DomainInterface/Entity/UserAPI/GetNoticeListResponse.swift rename to Poppool/Poppool/DomainInterface/Entity/UserResponse/GetNoticeListResponse.swift diff --git a/Poppool/Poppool/DomainInterface/Entity/UserAPI/GetOtherUserCommentedPopUpListResponse.swift b/Poppool/Poppool/DomainInterface/Entity/UserResponse/GetOtherUserCommentedPopUpListResponse.swift similarity index 100% rename from Poppool/Poppool/DomainInterface/Entity/UserAPI/GetOtherUserCommentedPopUpListResponse.swift rename to Poppool/Poppool/DomainInterface/Entity/UserResponse/GetOtherUserCommentedPopUpListResponse.swift diff --git a/Poppool/Poppool/DomainInterface/Entity/UserAPI/GetRecentPopUpResponse.swift b/Poppool/Poppool/DomainInterface/Entity/UserResponse/GetRecentPopUpResponse.swift similarity index 100% rename from Poppool/Poppool/DomainInterface/Entity/UserAPI/GetRecentPopUpResponse.swift rename to Poppool/Poppool/DomainInterface/Entity/UserResponse/GetRecentPopUpResponse.swift diff --git a/Poppool/Poppool/DomainInterface/Entity/UserAPI/GetWithdrawlListResponse.swift b/Poppool/Poppool/DomainInterface/Entity/UserResponse/GetWithdrawlListResponse.swift similarity index 100% rename from Poppool/Poppool/DomainInterface/Entity/UserAPI/GetWithdrawlListResponse.swift rename to Poppool/Poppool/DomainInterface/Entity/UserResponse/GetWithdrawlListResponse.swift From cc48b56bc3b2fa9848915e28a5f334f7038c418a Mon Sep 17 00:00:00 2001 From: 0Hooni Date: Mon, 14 Apr 2025 22:20:05 +0900 Subject: [PATCH 08/83] =?UTF-8?q?refactor/#112:=20UseCase=20=EC=9D=B8?= =?UTF-8?q?=ED=84=B0=ED=8E=98=EC=9D=B4=EC=8A=A4=20=EB=B6=84=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...inUseCase.swift => AdminUseCaseImpl.swift} | 16 ++-------- .../UseCaseImpl/AuthAPIUseCaseImpl.swift | 14 +++------ .../UseCaseImpl/CommentAPIUseCaseImpl.swift | 15 +++------- .../UseCaseImpl/HomeAPIUseCaseImpl.swift | 17 +++++------ .../UseCaseImpl/MapDirectionUseCase.swift | 26 ----------------- ...{MapUseCase.swift => MapUseCaseImpl.swift} | 21 ++------------ .../UseCaseImpl/PopUpAPIUseCaseImpl.swift | 13 ++------- .../UseCaseImpl/SignUpAPIUseCaseImpl.swift | 16 ++++------ .../UseCaseImpl/UserAPIUseCaseImpl.swift | 14 +++------ .../UseCase/AdminUseCase.swift | 16 ++++++++++ .../UseCase/AuthAPIUseCase.swift | 8 +++++ .../UseCase/CommentAPIUseCase.swift | 9 ++++++ .../UseCase/HomeAPIUseCase.swift | 10 +++++++ .../DomainInterface/UseCase/MapUseCase.swift | 29 +++++++++++++++++++ .../UseCase/PopUpAPIUseCase.swift | 10 +++++++ .../UseCase/SignUpAPIUseCase.swift | 19 ++++++++++++ .../UseCase/UserAPIUseCase.swift | 27 +++++++++++++++++ .../Scene/Admin/AdminViewController.swift | 2 +- .../Scene/Home/List/HomeListReactor.swift | 2 +- .../Scene/Home/Main/HomeReactor.swift | 2 +- .../MapGuideView/MapGuideViewController.swift | 2 +- .../Scene/MyPage/Main/MyPageReactor.swift | 2 +- .../TabbarController/TabbarController.swift | 2 +- 23 files changed, 167 insertions(+), 125 deletions(-) rename Poppool/Poppool/Domain/UseCaseImpl/{AdminUseCase.swift => AdminUseCaseImpl.swift} (74%) delete mode 100644 Poppool/Poppool/Domain/UseCaseImpl/MapDirectionUseCase.swift rename Poppool/Poppool/Domain/UseCaseImpl/{MapUseCase.swift => MapUseCaseImpl.swift} (77%) create mode 100644 Poppool/Poppool/DomainInterface/UseCase/AdminUseCase.swift create mode 100644 Poppool/Poppool/DomainInterface/UseCase/AuthAPIUseCase.swift create mode 100644 Poppool/Poppool/DomainInterface/UseCase/CommentAPIUseCase.swift create mode 100644 Poppool/Poppool/DomainInterface/UseCase/HomeAPIUseCase.swift create mode 100644 Poppool/Poppool/DomainInterface/UseCase/MapUseCase.swift create mode 100644 Poppool/Poppool/DomainInterface/UseCase/PopUpAPIUseCase.swift create mode 100644 Poppool/Poppool/DomainInterface/UseCase/SignUpAPIUseCase.swift create mode 100644 Poppool/Poppool/DomainInterface/UseCase/UserAPIUseCase.swift diff --git a/Poppool/Poppool/Domain/UseCaseImpl/AdminUseCase.swift b/Poppool/Poppool/Domain/UseCaseImpl/AdminUseCaseImpl.swift similarity index 74% rename from Poppool/Poppool/Domain/UseCaseImpl/AdminUseCase.swift rename to Poppool/Poppool/Domain/UseCaseImpl/AdminUseCaseImpl.swift index 870657d3..77097ed2 100644 --- a/Poppool/Poppool/Domain/UseCaseImpl/AdminUseCase.swift +++ b/Poppool/Poppool/Domain/UseCaseImpl/AdminUseCaseImpl.swift @@ -1,20 +1,8 @@ import Foundation -import RxSwift - -protocol AdminUseCase { - func fetchStoreList(query: String?, page: Int, size: Int) -> Observable - func fetchStoreDetail(id: Int64) -> Observable - func createStore(request: CreatePopUpStoreRequestDTO) -> Observable - func updateStore(request: UpdatePopUpStoreRequestDTO) -> Observable - func deleteStore(id: Int64) -> Observable - // Notice - func createNotice(request: CreateNoticeRequestDTO) -> Observable - func updateNotice(id: Int64, request: UpdateNoticeRequestDTO) -> Observable - func deleteNotice(id: Int64) -> Observable -} +import RxSwift -final class DefaultAdminUseCase: AdminUseCase { +final class AdminUseCaseImpl: AdminUseCase { private let repository: AdminRepository diff --git a/Poppool/Poppool/Domain/UseCaseImpl/AuthAPIUseCaseImpl.swift b/Poppool/Poppool/Domain/UseCaseImpl/AuthAPIUseCaseImpl.swift index e15877e6..841a4034 100644 --- a/Poppool/Poppool/Domain/UseCaseImpl/AuthAPIUseCaseImpl.swift +++ b/Poppool/Poppool/Domain/UseCaseImpl/AuthAPIUseCaseImpl.swift @@ -1,18 +1,12 @@ -// -// AuthAPIUseCaseImpl.swift -// Poppool -// -// Created by Porori on 11/25/24. -// - import Foundation + import RxSwift -final class AuthAPIUseCaseImpl { +final class AuthAPIUseCaseImpl: AuthAPIUseCase { - var repository: AuthAPIRepositoryImpl + private let repository: AuthAPIRepository - init(repository: AuthAPIRepositoryImpl) { + init(repository: AuthAPIRepository) { self.repository = repository } diff --git a/Poppool/Poppool/Domain/UseCaseImpl/CommentAPIUseCaseImpl.swift b/Poppool/Poppool/Domain/UseCaseImpl/CommentAPIUseCaseImpl.swift index a0ab23d7..c7a31242 100644 --- a/Poppool/Poppool/Domain/UseCaseImpl/CommentAPIUseCaseImpl.swift +++ b/Poppool/Poppool/Domain/UseCaseImpl/CommentAPIUseCaseImpl.swift @@ -1,19 +1,12 @@ -// -// CommentAPIUseCaseImpl.swift -// Poppool -// -// Created by SeoJunYoung on 12/15/24. -// - import Foundation import RxSwift -final class CommentAPIUseCaseImpl { - - var repository: CommentAPIRepositoryImpl +final class CommentAPIUseCaseImpl: CommentAPIUseCase { + + private let repository: CommentAPIRepository - init(repository: CommentAPIRepositoryImpl) { + init(repository: CommentAPIRepository) { self.repository = repository } diff --git a/Poppool/Poppool/Domain/UseCaseImpl/HomeAPIUseCaseImpl.swift b/Poppool/Poppool/Domain/UseCaseImpl/HomeAPIUseCaseImpl.swift index fe41ddc4..cd665ca5 100644 --- a/Poppool/Poppool/Domain/UseCaseImpl/HomeAPIUseCaseImpl.swift +++ b/Poppool/Poppool/Domain/UseCaseImpl/HomeAPIUseCaseImpl.swift @@ -1,15 +1,14 @@ -// -// HomeAPIUseCaseImpl.swift -// Poppool -// -// Created by Porori on 11/26/24. -// - import Foundation + import RxSwift -final class HomeAPIUseCaseImpl { - var repository = HomeAPIRepositoryImpl(provider: ProviderImpl()) +final class HomeAPIUseCaseImpl: HomeAPIUseCase { + + private let repository: HomeAPIRepository + + init(repository: HomeAPIRepository) { + self.repository = repository + } func fetchHome( page: Int32?, diff --git a/Poppool/Poppool/Domain/UseCaseImpl/MapDirectionUseCase.swift b/Poppool/Poppool/Domain/UseCaseImpl/MapDirectionUseCase.swift deleted file mode 100644 index 0c7ea395..00000000 --- a/Poppool/Poppool/Domain/UseCaseImpl/MapDirectionUseCase.swift +++ /dev/null @@ -1,26 +0,0 @@ -// -// MapDirectionUseCase.swift -// Poppool -// -// Created by 김기현 on 1/23/25. -// - -import Foundation -import RxSwift - -protocol MapDirectionUseCase { - func getPopUpDirection(popUpStoreId: Int64) -> Observable -} - -final class DefaultMapDirectionUseCase: MapDirectionUseCase { - private let repository: MapDirectionRepository - - init(repository: MapDirectionRepository) { - self.repository = repository - } - - func getPopUpDirection(popUpStoreId: Int64) -> Observable { - return repository.getPopUpDirection(popUpStoreId: popUpStoreId) - .map { $0.toDomain() } - } -} diff --git a/Poppool/Poppool/Domain/UseCaseImpl/MapUseCase.swift b/Poppool/Poppool/Domain/UseCaseImpl/MapUseCaseImpl.swift similarity index 77% rename from Poppool/Poppool/Domain/UseCaseImpl/MapUseCase.swift rename to Poppool/Poppool/Domain/UseCaseImpl/MapUseCaseImpl.swift index 660ee9d0..8ee63c44 100644 --- a/Poppool/Poppool/Domain/UseCaseImpl/MapUseCase.swift +++ b/Poppool/Poppool/Domain/UseCaseImpl/MapUseCaseImpl.swift @@ -1,26 +1,9 @@ import Foundation -import RxSwift -protocol MapUseCase { - func fetchCategories() -> Observable<[Category]> - func fetchStoresInBounds( - northEastLat: Double, - northEastLon: Double, - southWestLat: Double, - southWestLon: Double, - categories: [Int64] - ) -> Observable<[MapPopUpStore]> - - func searchStores( - query: String, - categories: [Int64] - ) -> Observable<[MapPopUpStore]> - - func filterStoresByLocation(_ stores: [MapPopUpStore], selectedRegions: [String]) -> [MapPopUpStore] +import RxSwift -} +final class MapUseCaseImpl: MapUseCase { -class DefaultMapUseCase: MapUseCase { private let repository: MapRepository init(repository: MapRepository) { diff --git a/Poppool/Poppool/Domain/UseCaseImpl/PopUpAPIUseCaseImpl.swift b/Poppool/Poppool/Domain/UseCaseImpl/PopUpAPIUseCaseImpl.swift index 6c405d4a..8049526a 100644 --- a/Poppool/Poppool/Domain/UseCaseImpl/PopUpAPIUseCaseImpl.swift +++ b/Poppool/Poppool/Domain/UseCaseImpl/PopUpAPIUseCaseImpl.swift @@ -1,19 +1,12 @@ -// -// PopUpAPIUseCaseImpl.swift -// Poppool -// -// Created by SeoJunYoung on 12/6/24. -// - import Foundation import RxSwift -final class PopUpAPIUseCaseImpl { +final class PopUpAPIUseCaseImpl: PopUpAPIUseCase { - var repository: PopUpAPIRepositoryImpl + private let repository: PopUpAPIRepository - init(repository: PopUpAPIRepositoryImpl) { + init(repository: PopUpAPIRepository) { self.repository = repository } diff --git a/Poppool/Poppool/Domain/UseCaseImpl/SignUpAPIUseCaseImpl.swift b/Poppool/Poppool/Domain/UseCaseImpl/SignUpAPIUseCaseImpl.swift index 006d48fe..d739f9ec 100644 --- a/Poppool/Poppool/Domain/UseCaseImpl/SignUpAPIUseCaseImpl.swift +++ b/Poppool/Poppool/Domain/UseCaseImpl/SignUpAPIUseCaseImpl.swift @@ -1,19 +1,14 @@ -// -// SignUpAPIUseCaseImpl.swift -// Poppool -// -// Created by Porori on 11/25/24. -// - import Foundation + import RxSwift -final class SignUpAPIUseCaseImpl { - var repository: SignUpRepositoryImpl +final class SignUpAPIUseCaseImpl: SignUpAPIUseCase { + private let repository: SignUpRepository - init(repository: SignUpRepositoryImpl) { + init(repository: SignUpRepository) { self.repository = repository } + func trySignUp( nickName: String, gender: String, @@ -33,6 +28,7 @@ final class SignUpAPIUseCaseImpl { appleAuthorizationCode: appleAuthorizationCode ) } + func checkNickName(nickName: String) -> Observable { return repository.checkNickName(nickName: nickName) } diff --git a/Poppool/Poppool/Domain/UseCaseImpl/UserAPIUseCaseImpl.swift b/Poppool/Poppool/Domain/UseCaseImpl/UserAPIUseCaseImpl.swift index 1c907205..55a16028 100644 --- a/Poppool/Poppool/Domain/UseCaseImpl/UserAPIUseCaseImpl.swift +++ b/Poppool/Poppool/Domain/UseCaseImpl/UserAPIUseCaseImpl.swift @@ -1,17 +1,11 @@ -// -// UserAPIUseCaseImpl.swift -// Poppool -// -// Created by SeoJunYoung on 12/3/24. -// +import Foundation import RxSwift -final class UserAPIUseCaseImpl { +final class UserAPIUseCaseImpl: UserAPIUseCase { + private let repository: UserAPIRepository - var repository: UserAPIRepositoryImpl - - init(repository: UserAPIRepositoryImpl) { + init(repository: UserAPIRepository) { self.repository = repository } diff --git a/Poppool/Poppool/DomainInterface/UseCase/AdminUseCase.swift b/Poppool/Poppool/DomainInterface/UseCase/AdminUseCase.swift new file mode 100644 index 00000000..390c45fb --- /dev/null +++ b/Poppool/Poppool/DomainInterface/UseCase/AdminUseCase.swift @@ -0,0 +1,16 @@ +import Foundation + +import RxSwift + +protocol AdminUseCase { + func fetchStoreList(query: String?, page: Int, size: Int) -> Observable + func fetchStoreDetail(id: Int64) -> Observable + func createStore(request: CreatePopUpStoreRequestDTO) -> Observable + func updateStore(request: UpdatePopUpStoreRequestDTO) -> Observable + func deleteStore(id: Int64) -> Observable + + // Notice + func createNotice(request: CreateNoticeRequestDTO) -> Observable + func updateNotice(id: Int64, request: UpdateNoticeRequestDTO) -> Observable + func deleteNotice(id: Int64) -> Observable +} diff --git a/Poppool/Poppool/DomainInterface/UseCase/AuthAPIUseCase.swift b/Poppool/Poppool/DomainInterface/UseCase/AuthAPIUseCase.swift new file mode 100644 index 00000000..0ccfaa35 --- /dev/null +++ b/Poppool/Poppool/DomainInterface/UseCase/AuthAPIUseCase.swift @@ -0,0 +1,8 @@ +import Foundation + +import RxSwift + +protocol AuthAPIUseCase { + func postTryLogin(userCredential: Encodable, socialType: String) -> Observable + func postTokenReissue() -> Observable +} diff --git a/Poppool/Poppool/DomainInterface/UseCase/CommentAPIUseCase.swift b/Poppool/Poppool/DomainInterface/UseCase/CommentAPIUseCase.swift new file mode 100644 index 00000000..be737e40 --- /dev/null +++ b/Poppool/Poppool/DomainInterface/UseCase/CommentAPIUseCase.swift @@ -0,0 +1,9 @@ +import Foundation + +import RxSwift + +protocol CommentAPIUseCase { + func postCommentAdd(popUpStoreId: Int64, content: String?, commentType: String?, imageUrlList: [String?]) -> Completable + func deleteComment(popUpStoreId: Int64, commentId: Int64) -> Completable + func editComment(popUpStoreId: Int64, commentId: Int64, content: String?, imageUrlList: [PutCommentImageDataRequestDTO]?) -> Completable +} diff --git a/Poppool/Poppool/DomainInterface/UseCase/HomeAPIUseCase.swift b/Poppool/Poppool/DomainInterface/UseCase/HomeAPIUseCase.swift new file mode 100644 index 00000000..8bb6b392 --- /dev/null +++ b/Poppool/Poppool/DomainInterface/UseCase/HomeAPIUseCase.swift @@ -0,0 +1,10 @@ +import Foundation + +import RxSwift + +protocol HomeAPIUseCase { + func fetchHome(page: Int32?, size: Int32?, sort: String?) -> Observable + func fetchCustomPopUp(page: Int32?, size: Int32?, sort: String?) -> Observable + func fetchNewPopUp(page: Int32?, size: Int32?, sort: String?) -> Observable + func fetchPopularPopUp(page: Int32?, size: Int32?, sort: String?) -> Observable +} diff --git a/Poppool/Poppool/DomainInterface/UseCase/MapUseCase.swift b/Poppool/Poppool/DomainInterface/UseCase/MapUseCase.swift new file mode 100644 index 00000000..954260ad --- /dev/null +++ b/Poppool/Poppool/DomainInterface/UseCase/MapUseCase.swift @@ -0,0 +1,29 @@ +// +// MapUseCase.swift +// Poppool +// +// Created by 송영훈 on 4/14/25. +// + + +import Foundation + +import RxSwift + +protocol MapUseCase { + func fetchCategories() -> Observable<[Category]> + func fetchStoresInBounds( + northEastLat: Double, + northEastLon: Double, + southWestLat: Double, + southWestLon: Double, + categories: [Int64] + ) -> Observable<[MapPopUpStore]> + + func searchStores( + query: String, + categories: [Int64] + ) -> Observable<[MapPopUpStore]> + + func filterStoresByLocation(_ stores: [MapPopUpStore], selectedRegions: [String]) -> [MapPopUpStore] +} diff --git a/Poppool/Poppool/DomainInterface/UseCase/PopUpAPIUseCase.swift b/Poppool/Poppool/DomainInterface/UseCase/PopUpAPIUseCase.swift new file mode 100644 index 00000000..1e122002 --- /dev/null +++ b/Poppool/Poppool/DomainInterface/UseCase/PopUpAPIUseCase.swift @@ -0,0 +1,10 @@ +import Foundation + +import RxSwift + +protocol PopUpAPIUseCase { + func getSearchBottomPopUpList(isOpen: Bool, categories: [Int64], page: Int32?, size: Int32, sort: String?) -> Observable + func getSearchPopUpList(query: String?) -> Observable + func getPopUpDetail(commentType: String?, popUpStoredId: Int64, isViewCount: Bool?) -> Observable + func getPopUpComment(commentType: String?, page: Int32?, size: Int32?, sort: String?, popUpStoreId: Int64) -> Observable +} diff --git a/Poppool/Poppool/DomainInterface/UseCase/SignUpAPIUseCase.swift b/Poppool/Poppool/DomainInterface/UseCase/SignUpAPIUseCase.swift new file mode 100644 index 00000000..416194f9 --- /dev/null +++ b/Poppool/Poppool/DomainInterface/UseCase/SignUpAPIUseCase.swift @@ -0,0 +1,19 @@ +import Foundation + +import RxSwift + +protocol SignUpAPIUseCase { + func trySignUp( + nickName: String, + gender: String, + age: Int32, + socialEmail: String, + socialType: String, + interests: [Int64], + appleAuthorizationCode: String? + ) -> Completable + + func checkNickName(nickName: String) -> Observable + + func fetchCategoryList() -> Observable<[Category]> +} diff --git a/Poppool/Poppool/DomainInterface/UseCase/UserAPIUseCase.swift b/Poppool/Poppool/DomainInterface/UseCase/UserAPIUseCase.swift new file mode 100644 index 00000000..e73f4cdf --- /dev/null +++ b/Poppool/Poppool/DomainInterface/UseCase/UserAPIUseCase.swift @@ -0,0 +1,27 @@ +import Foundation + +import RxSwift + +protocol UserAPIUseCase { + func postBookmarkPopUp(popUpID: Int64) -> Completable + func deleteBookmarkPopUp(popUpID: Int64) -> Completable + func postCommentLike(commentId: Int64) -> Completable + func deleteCommentLike(commentId: Int64) -> Completable + func postUserBlock(blockedUserId: String?) -> Completable + func deleteUserBlock(blockedUserId: String?) -> Completable + func getOtherUserCommentedPopUpList(commenterId: String?, commentType: String?, page: Int32?, size: Int32?, sort: String?) -> Observable + func getMyPage() -> Observable + func postLogout() -> Completable + func getWithdrawlList() -> Observable + func postWithdrawl(surveyList: [GetWithdrawlListDataResponse]) -> Completable + func getMyProfile() -> Observable + func putUserTailoredInfo(gender: String?, age: Int32) -> Completable + func putUserCategory(interestCategoriesToAdd: [Int64], interestCategoriesToDelete: [Int64], interestCategoriesToKeep: [Int64]) -> Completable + func putUserProfile(profileImageUrl: String?, nickname: String?, email: String?, instagramId: String?, intro: String?) -> Completable + func getMyCommentedPopUp(page: Int32?, size: Int32?, sort: String?) -> Observable + func getBlockUserList(page: Int32?, size: Int32?, sort: String?) -> Observable + func getNoticeList() -> Observable + func getNoticeDetail(noticeID: Int64) -> Observable + func getRecentPopUp(page: Int32?, size: Int32?, sort: String?) -> Observable + func getBookmarkPopUp(page: Int32?, size: Int32?, sort: String?) -> Observable +} diff --git a/Poppool/Poppool/Presentation/Scene/Admin/AdminViewController.swift b/Poppool/Poppool/Presentation/Scene/Admin/AdminViewController.swift index d343a466..b38efef8 100644 --- a/Poppool/Poppool/Presentation/Scene/Admin/AdminViewController.swift +++ b/Poppool/Poppool/Presentation/Scene/Admin/AdminViewController.swift @@ -16,7 +16,7 @@ final class AdminViewController: BaseViewController, View { private let adminUseCase: AdminUseCase // MARK: - Init - init(nickname: String, adminUseCase: AdminUseCase = DefaultAdminUseCase(repository: AdminRepositoryImpl(provider: ProviderImpl()))) { + init(nickname: String, adminUseCase: AdminUseCase = AdminUseCaseImpl(repository: AdminRepositoryImpl(provider: ProviderImpl()))) { self.nickname = nickname self.adminUseCase = adminUseCase self.mainView = AdminView(frame: .zero) diff --git a/Poppool/Poppool/Presentation/Scene/Home/List/HomeListReactor.swift b/Poppool/Poppool/Presentation/Scene/Home/List/HomeListReactor.swift index 23903e0b..1e3d37b3 100644 --- a/Poppool/Poppool/Presentation/Scene/Home/List/HomeListReactor.swift +++ b/Poppool/Poppool/Presentation/Scene/Home/List/HomeListReactor.swift @@ -43,7 +43,7 @@ final class HomeListReactor: Reactor { var disposeBag = DisposeBag() var popUpType: HomePopUpType - private let homeAPIUseCase = HomeAPIUseCaseImpl() + private let homeAPIUseCase = HomeAPIUseCaseImpl(repository: HomeAPIRepositoryImpl(provider: ProviderImpl())) private let userDefaultService = UserDefaultService() private let userAPIUseCase = UserAPIUseCaseImpl(repository: UserAPIRepositoryImpl(provider: ProviderImpl())) diff --git a/Poppool/Poppool/Presentation/Scene/Home/Main/HomeReactor.swift b/Poppool/Poppool/Presentation/Scene/Home/Main/HomeReactor.swift index aa54ee84..1c4ebf67 100644 --- a/Poppool/Poppool/Presentation/Scene/Home/Main/HomeReactor.swift +++ b/Poppool/Poppool/Presentation/Scene/Home/Main/HomeReactor.swift @@ -39,7 +39,7 @@ final class HomeReactor: Reactor { var disposeBag = DisposeBag() - private let homeApiUseCase = HomeAPIUseCaseImpl() + private let homeApiUseCase = HomeAPIUseCaseImpl(repository: HomeAPIRepositoryImpl(provider: ProviderImpl())) private let userAPIUseCase = UserAPIUseCaseImpl(repository: UserAPIRepositoryImpl(provider: ProviderImpl())) private let userDefaultService = UserDefaultService() diff --git a/Poppool/Poppool/Presentation/Scene/Map/FindMap/MapGuideView/MapGuideViewController.swift b/Poppool/Poppool/Presentation/Scene/Map/FindMap/MapGuideView/MapGuideViewController.swift index 7282142a..6da635ef 100644 --- a/Poppool/Poppool/Presentation/Scene/Map/FindMap/MapGuideView/MapGuideViewController.swift +++ b/Poppool/Poppool/Presentation/Scene/Map/FindMap/MapGuideView/MapGuideViewController.swift @@ -173,7 +173,7 @@ final class MapGuideViewController: UIViewController, View { let providerInstance = ProviderImpl() let repositoryInstance = MapRepositoryImpl(provider: providerInstance) - let useCaseInstance = DefaultMapUseCase(repository: repositoryInstance) + let useCaseInstance = MapUseCaseImpl(repository: repositoryInstance) let directionRepositoryInstance = MapDirectionRepositoryImpl(provider: providerInstance) let mapReactorInstance = MapReactor(useCase: useCaseInstance, directionRepository: directionRepositoryInstance) diff --git a/Poppool/Poppool/Presentation/Scene/MyPage/Main/MyPageReactor.swift b/Poppool/Poppool/Presentation/Scene/MyPage/Main/MyPageReactor.swift index 503861b4..3777f7e1 100644 --- a/Poppool/Poppool/Presentation/Scene/MyPage/Main/MyPageReactor.swift +++ b/Poppool/Poppool/Presentation/Scene/MyPage/Main/MyPageReactor.swift @@ -274,7 +274,7 @@ final class MyPageReactor: Reactor { let nickname = profileSection.inputDataList.first?.nickName ?? "" let adminVC = AdminViewController(nickname: nickname) adminVC.reactor = AdminReactor( - useCase: DefaultAdminUseCase( + useCase: AdminUseCaseImpl( repository: AdminRepositoryImpl(provider: ProviderImpl()) ) ) diff --git a/Poppool/Poppool/Presentation/Scene/TabbarController/TabbarController.swift b/Poppool/Poppool/Presentation/Scene/TabbarController/TabbarController.swift index 77e2659e..bd0dc0a1 100644 --- a/Poppool/Poppool/Presentation/Scene/TabbarController/TabbarController.swift +++ b/Poppool/Poppool/Presentation/Scene/TabbarController/TabbarController.swift @@ -196,7 +196,7 @@ class WaveTabBarController: UITabBarController, UITabBarControllerDelegate { let provider = ProviderImpl() let mapController = MapViewController() - let mapUseCase = DefaultMapUseCase(repository: MapRepositoryImpl(provider: provider)) + let mapUseCase = MapUseCaseImpl(repository: MapRepositoryImpl(provider: provider)) let directionRepository = MapDirectionRepositoryImpl(provider: provider) mapController.reactor = MapReactor(useCase: mapUseCase, directionRepository: directionRepository) From 448218ab83aa36545977e714545c5124cd7474d1 Mon Sep 17 00:00:00 2001 From: 0Hooni Date: Mon, 14 Apr 2025 22:35:36 +0900 Subject: [PATCH 09/83] =?UTF-8?q?refactor/#112:=20final,=20private=20let?= =?UTF-8?q?=20=EC=9C=BC=EB=A1=9C=20=ED=86=B5=EC=9D=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Poppool/Data/RepositoryImpl/AuthAPIRepositoryImpl.swift | 5 ++--- .../Data/RepositoryImpl/MapDirectionRepositoryImpl.swift | 1 + Poppool/Poppool/Data/RepositoryImpl/MapRepositoryImpl.swift | 3 ++- .../Poppool/Data/RepositoryImpl/PopUpAPIRepositoryImpl.swift | 1 + .../Poppool/Data/RepositoryImpl/SignUpRepositoryImpl.swift | 2 +- 5 files changed, 7 insertions(+), 5 deletions(-) diff --git a/Poppool/Poppool/Data/RepositoryImpl/AuthAPIRepositoryImpl.swift b/Poppool/Poppool/Data/RepositoryImpl/AuthAPIRepositoryImpl.swift index dbb6c689..a0847bd2 100644 --- a/Poppool/Poppool/Data/RepositoryImpl/AuthAPIRepositoryImpl.swift +++ b/Poppool/Poppool/Data/RepositoryImpl/AuthAPIRepositoryImpl.swift @@ -4,9 +4,8 @@ import RxSwift final class AuthAPIRepositoryImpl: AuthAPIRepository { - var provider: Provider - - var tokenInterceptor = TokenInterceptor() + private let provider: Provider + private let tokenInterceptor = TokenInterceptor() init(provider: Provider) { self.provider = provider diff --git a/Poppool/Poppool/Data/RepositoryImpl/MapDirectionRepositoryImpl.swift b/Poppool/Poppool/Data/RepositoryImpl/MapDirectionRepositoryImpl.swift index b4c3a861..8d0fa37c 100644 --- a/Poppool/Poppool/Data/RepositoryImpl/MapDirectionRepositoryImpl.swift +++ b/Poppool/Poppool/Data/RepositoryImpl/MapDirectionRepositoryImpl.swift @@ -3,6 +3,7 @@ import Foundation import RxSwift final class MapDirectionRepositoryImpl: MapDirectionRepository { + private let provider: Provider private let tokenInterceptor = TokenInterceptor() diff --git a/Poppool/Poppool/Data/RepositoryImpl/MapRepositoryImpl.swift b/Poppool/Poppool/Data/RepositoryImpl/MapRepositoryImpl.swift index c9487f87..d9edb5d5 100644 --- a/Poppool/Poppool/Data/RepositoryImpl/MapRepositoryImpl.swift +++ b/Poppool/Poppool/Data/RepositoryImpl/MapRepositoryImpl.swift @@ -3,7 +3,8 @@ import Foundation import RxSwift // MARK: - Implementation -class MapRepositoryImpl: MapRepository { +final class MapRepositoryImpl: MapRepository { + private let provider: Provider init(provider: Provider) { diff --git a/Poppool/Poppool/Data/RepositoryImpl/PopUpAPIRepositoryImpl.swift b/Poppool/Poppool/Data/RepositoryImpl/PopUpAPIRepositoryImpl.swift index 735bd339..58f8fb5a 100644 --- a/Poppool/Poppool/Data/RepositoryImpl/PopUpAPIRepositoryImpl.swift +++ b/Poppool/Poppool/Data/RepositoryImpl/PopUpAPIRepositoryImpl.swift @@ -3,6 +3,7 @@ import Foundation import RxSwift final class PopUpAPIRepositoryImpl: PopUpAPIRepository { + private let provider: Provider private let tokenInterceptor = TokenInterceptor() diff --git a/Poppool/Poppool/Data/RepositoryImpl/SignUpRepositoryImpl.swift b/Poppool/Poppool/Data/RepositoryImpl/SignUpRepositoryImpl.swift index 4cdef81e..12d5da59 100644 --- a/Poppool/Poppool/Data/RepositoryImpl/SignUpRepositoryImpl.swift +++ b/Poppool/Poppool/Data/RepositoryImpl/SignUpRepositoryImpl.swift @@ -4,7 +4,7 @@ import RxSwift final class SignUpRepositoryImpl: SignUpRepository { - var provider: Provider + private let provider: Provider init(provider: Provider) { self.provider = provider From 3448cac89ce5780d9bca841eaf3ef8c6772f7b95 Mon Sep 17 00:00:00 2001 From: 0Hooni Date: Mon, 14 Apr 2025 22:38:30 +0900 Subject: [PATCH 10/83] =?UTF-8?q?refactor/#112:=20DTO=20=ED=8F=B4=EB=8D=94?= =?UTF-8?q?=EB=A7=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SignUpAPI/{ => RequestDTO}/CheckNickNameRequestDTO.swift | 0 .../Network/SignUpAPI/{ => RequestDTO}/SignUpRequestDTO.swift | 0 .../SignUpAPI/{ => ResponseDTO}/GetCategoryListResponseDTO.swift | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename Poppool/Poppool/Data/Network/SignUpAPI/{ => RequestDTO}/CheckNickNameRequestDTO.swift (100%) rename Poppool/Poppool/Data/Network/SignUpAPI/{ => RequestDTO}/SignUpRequestDTO.swift (100%) rename Poppool/Poppool/Data/Network/SignUpAPI/{ => ResponseDTO}/GetCategoryListResponseDTO.swift (100%) diff --git a/Poppool/Poppool/Data/Network/SignUpAPI/CheckNickNameRequestDTO.swift b/Poppool/Poppool/Data/Network/SignUpAPI/RequestDTO/CheckNickNameRequestDTO.swift similarity index 100% rename from Poppool/Poppool/Data/Network/SignUpAPI/CheckNickNameRequestDTO.swift rename to Poppool/Poppool/Data/Network/SignUpAPI/RequestDTO/CheckNickNameRequestDTO.swift diff --git a/Poppool/Poppool/Data/Network/SignUpAPI/SignUpRequestDTO.swift b/Poppool/Poppool/Data/Network/SignUpAPI/RequestDTO/SignUpRequestDTO.swift similarity index 100% rename from Poppool/Poppool/Data/Network/SignUpAPI/SignUpRequestDTO.swift rename to Poppool/Poppool/Data/Network/SignUpAPI/RequestDTO/SignUpRequestDTO.swift diff --git a/Poppool/Poppool/Data/Network/SignUpAPI/GetCategoryListResponseDTO.swift b/Poppool/Poppool/Data/Network/SignUpAPI/ResponseDTO/GetCategoryListResponseDTO.swift similarity index 100% rename from Poppool/Poppool/Data/Network/SignUpAPI/GetCategoryListResponseDTO.swift rename to Poppool/Poppool/Data/Network/SignUpAPI/ResponseDTO/GetCategoryListResponseDTO.swift From 405e9fe9bbc143e3755891a2b8beba8a647caf55 Mon Sep 17 00:00:00 2001 From: 0Hooni Date: Mon, 14 Apr 2025 23:17:23 +0900 Subject: [PATCH 11/83] =?UTF-8?q?refactor/#112:=20Presigned=20=ED=8F=B4?= =?UTF-8?q?=EB=8D=94=EB=A7=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../{ => PreSignedAPI}/PreSignedAPIEndPoint.swift | 0 .../{ => PreSignedAPI/RequestDTO}/PresignedURLRequestDTO.swift | 0 .../{ => PreSignedAPI/ResponseDTO}/PreSignedURLDTO.swift | 0 .../{ => PreSignedAPI/ResponseDTO}/PreSignedURLResponseDTO.swift | 0 4 files changed, 0 insertions(+), 0 deletions(-) rename Poppool/Poppool/Infrastructure/PreSignedService/{ => PreSignedAPI}/PreSignedAPIEndPoint.swift (100%) rename Poppool/Poppool/Infrastructure/PreSignedService/{ => PreSignedAPI/RequestDTO}/PresignedURLRequestDTO.swift (100%) rename Poppool/Poppool/Infrastructure/PreSignedService/{ => PreSignedAPI/ResponseDTO}/PreSignedURLDTO.swift (100%) rename Poppool/Poppool/Infrastructure/PreSignedService/{ => PreSignedAPI/ResponseDTO}/PreSignedURLResponseDTO.swift (100%) diff --git a/Poppool/Poppool/Infrastructure/PreSignedService/PreSignedAPIEndPoint.swift b/Poppool/Poppool/Infrastructure/PreSignedService/PreSignedAPI/PreSignedAPIEndPoint.swift similarity index 100% rename from Poppool/Poppool/Infrastructure/PreSignedService/PreSignedAPIEndPoint.swift rename to Poppool/Poppool/Infrastructure/PreSignedService/PreSignedAPI/PreSignedAPIEndPoint.swift diff --git a/Poppool/Poppool/Infrastructure/PreSignedService/PresignedURLRequestDTO.swift b/Poppool/Poppool/Infrastructure/PreSignedService/PreSignedAPI/RequestDTO/PresignedURLRequestDTO.swift similarity index 100% rename from Poppool/Poppool/Infrastructure/PreSignedService/PresignedURLRequestDTO.swift rename to Poppool/Poppool/Infrastructure/PreSignedService/PreSignedAPI/RequestDTO/PresignedURLRequestDTO.swift diff --git a/Poppool/Poppool/Infrastructure/PreSignedService/PreSignedURLDTO.swift b/Poppool/Poppool/Infrastructure/PreSignedService/PreSignedAPI/ResponseDTO/PreSignedURLDTO.swift similarity index 100% rename from Poppool/Poppool/Infrastructure/PreSignedService/PreSignedURLDTO.swift rename to Poppool/Poppool/Infrastructure/PreSignedService/PreSignedAPI/ResponseDTO/PreSignedURLDTO.swift diff --git a/Poppool/Poppool/Infrastructure/PreSignedService/PreSignedURLResponseDTO.swift b/Poppool/Poppool/Infrastructure/PreSignedService/PreSignedAPI/ResponseDTO/PreSignedURLResponseDTO.swift similarity index 100% rename from Poppool/Poppool/Infrastructure/PreSignedService/PreSignedURLResponseDTO.swift rename to Poppool/Poppool/Infrastructure/PreSignedService/PreSignedAPI/ResponseDTO/PreSignedURLResponseDTO.swift From 0e1fad05f1a2c31831ec1f132c09da2ed6c3d6db Mon Sep 17 00:00:00 2001 From: 0Hooni Date: Tue, 15 Apr 2025 00:53:10 +0900 Subject: [PATCH 12/83] =?UTF-8?q?refactor/#112:=20=ED=81=B4=EB=A6=B0?= =?UTF-8?q?=EC=95=84=ED=82=A4=ED=85=8D=EC=B2=98=20=EB=B2=A0=EC=9D=B4?= =?UTF-8?q?=EC=8A=A4=20=ED=8F=B4=EB=8D=94=EB=A7=81=20=EA=B5=AC=EC=A1=B0?= =?UTF-8?q?=EB=A1=9C=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Poppool/{ => CoreLayer}/Infrastructure/Extension/Date?+.swift | 0 .../{ => CoreLayer}/Infrastructure/Extension/Reactive+.swift | 0 .../{ => CoreLayer}/Infrastructure/Extension/String?+.swift | 0 .../{ => CoreLayer}/Infrastructure/Extension/UIApplication+.swift | 0 .../Infrastructure/Extension/UICollectionReusableView+.swift | 0 .../Infrastructure/Extension/UICollectionViewCell+.swift | 0 .../{ => CoreLayer}/Infrastructure/Extension/UIColor+.swift | 0 .../{ => CoreLayer}/Infrastructure/Extension/UIFont+.swift | 0 .../{ => CoreLayer}/Infrastructure/Extension/UIImage+.swift | 0 .../{ => CoreLayer}/Infrastructure/Extension/UIImageView+.swift | 0 .../{ => CoreLayer}/Infrastructure/Extension/UILabel+.swift | 0 .../Infrastructure/Extension/UINavigationController+.swift | 0 .../Infrastructure/Extension/UITableViewCell+.swift | 0 .../{ => CoreLayer}/Infrastructure/Extension/UITextField+.swift | 0 .../{ => CoreLayer}/Infrastructure/Extension/UIView+.swift | 0 .../{ => CoreLayer}/Infrastructure/ImageLoader/DiskStorage.swift | 0 .../{ => CoreLayer}/Infrastructure/ImageLoader/ImageLoader.swift | 0 .../Infrastructure/ImageLoader/MemoryStorage.swift | 0 .../Infrastructure}/IndicatorMaker/IndicatorMaker.swift | 0 .../Poppool/{ => CoreLayer}/Infrastructure/Logger/Logger.swift | 0 .../Poppool/{Resource => CoreLayer/Infrastructure}/Secrets.swift | 0 .../Network/API}/AdminAPI/AdminAPIEndpoint.swift | 0 .../Network/API}/AdminAPI/ResponseDTO/AdminResponseDTO.swift | 0 .../AdminAPI/ResponseDTO/GetAdminPopUpStoreListResponseDTO.swift | 0 .../Network/API}/AuthAPI/AuthAPIEndPoint.swift | 0 .../Network/API}/AuthAPI/ResponseDTO/LoginResponseDTO.swift | 0 .../API}/AuthAPI/ResponseDTO/PostTokenReissueResponseDTO.swift | 0 .../Network/API}/CommentAPI/CommentAPIEndPoint.swift | 0 .../API}/CommentAPI/RequestDTO/DeleteCommentRequestDTO.swift | 0 .../API}/CommentAPI/RequestDTO/PostCommentRequestDTO.swift | 0 .../Network/API}/CommentAPI/RequestDTO/PutCommentRequestDTO.swift | 0 .../Network/API}/HomeAPI/HomeAPIEndpoint.swift | 0 .../Network/API}/HomeAPI/ResponseDTO/BannerPopUpStoreDTO.swift | 0 .../Network/API}/HomeAPI/ResponseDTO/GetHomeInfoResponseDTO.swift | 0 .../Network/API}/HomeAPI/ResponseDTO/PopUpStoreResponseDTO.swift | 0 .../Network/API}/MapAPI/FindDirectionEndPoint.swift | 0 .../Network => DataLayer/Network/API}/MapAPI/MapAPIEndpoint.swift | 0 .../API}/MapAPI/ResponseDTO/GetPopUpDirectionResponseDTO.swift | 0 .../Network/API}/MapAPI/ResponseDTO/MapPopUpStoreDTO.swift | 0 .../Network/API}/PopUpAPI/PopUpAPIEndPoint.swift | 0 .../API}/PopUpAPI/RequestDTO/GetPopUpCommentRequestDTO.swift | 0 .../API}/PopUpAPI/RequestDTO/GetPopUpDetailRequestDTO.swift | 0 .../API}/PopUpAPI/RequestDTO/GetSearchPopUpListRequestDTO.swift | 0 .../API}/PopUpAPI/ResponseDTO/GetClosePopUpListResponseDTO.swift | 0 .../API}/PopUpAPI/ResponseDTO/GetOpenPopUpListResponseDTO.swift | 0 .../API}/PopUpAPI/ResponseDTO/GetPopUpCommentResponseDTO.swift | 0 .../API}/PopUpAPI/ResponseDTO/GetPopUpDetailResponseDTO.swift | 0 .../API}/PopUpAPI/ResponseDTO/GetSearchPopUpListResponseDTO.swift | 0 .../Network/API}/PreSignedAPI/PreSignedAPIEndPoint.swift | 0 .../API}/PreSignedAPI/RequestDTO/PresignedURLRequestDTO.swift | 0 .../Network/API}/PreSignedAPI/ResponseDTO/PreSignedURLDTO.swift | 0 .../API}/PreSignedAPI/ResponseDTO/PreSignedURLResponseDTO.swift | 0 .../API}/SignUpAPI/RequestDTO/CheckNickNameRequestDTO.swift | 0 .../Network/API}/SignUpAPI/RequestDTO/SignUpRequestDTO.swift | 0 .../API}/SignUpAPI/ResponseDTO/GetCategoryListResponseDTO.swift | 0 .../Network/API}/SignUpAPI/SignUpAPIEndpoint.swift | 0 .../Network => DataLayer/Network/API}/SortedRequestDTO.swift | 0 .../Network/API}/UserAPI/RequesetDTO/CommentLikeRequestDTO.swift | 0 .../API}/UserAPI/RequesetDTO/GetBlockUserListRequestDTO.swift | 0 .../Network/API}/UserAPI/RequesetDTO/GetMyCommentRequestDTO.swift | 0 .../UserAPI/RequesetDTO/GetOtherUserCommentListRequestDTO.swift | 0 .../API}/UserAPI/RequesetDTO/PostBookmarkPopUpRequestDTO.swift | 0 .../API}/UserAPI/RequesetDTO/PostUserBlockRequestDTO.swift | 0 .../API}/UserAPI/RequesetDTO/PutUserCategoryRequestDTO.swift | 0 .../API}/UserAPI/RequesetDTO/PutUserProfileRequestDTO.swift | 0 .../API}/UserAPI/RequesetDTO/PutUserTailoredInfoRequestDTO.swift | 0 .../API}/UserAPI/ResponseDTO/GetBlockUserListResponseDTO.swift | 0 .../API}/UserAPI/ResponseDTO/GetMyCommentedPopUpResponseDTO.swift | 0 .../Network/API}/UserAPI/ResponseDTO/GetMyPageResponseDTO.swift | 0 .../API}/UserAPI/ResponseDTO/GetMyProfileResponseDTO.swift | 0 .../API}/UserAPI/ResponseDTO/GetNoticeDetailResponseDTO.swift | 0 .../API}/UserAPI/ResponseDTO/GetNoticeListResponseDTO.swift | 0 .../ResponseDTO/GetOtherUserCommentedPopUpListResponseDTO.swift | 0 .../API}/UserAPI/ResponseDTO/GetRecentPopUpResponseDTO.swift | 0 .../API}/UserAPI/ResponseDTO/GetWithdrawlListResponseDTO.swift | 0 .../Network/API}/UserAPI/UserAPIEndPoint.swift | 0 .../NetworkLayer => DataLayer/Network}/Common/NetworkError.swift | 0 .../NetworkLayer => DataLayer/Network}/Common/Requestable.swift | 0 .../NetworkLayer => DataLayer/Network}/Common/Responsable.swift | 0 .../NetworkLayer => DataLayer/Network}/EndPoint/Endpoint.swift | 0 .../Network}/EndPoint/MultipartEndPoint.swift | 0 .../Network}/EndPoint/RequestEndpoint.swift | 0 .../Network}/Interceptor/FormDataInterceptor.swift | 0 .../Network}/Interceptor/TokenInterceptor.swift | 0 .../NetworkLayer => DataLayer/Network}/Provider/Provider.swift | 0 .../Network}/Provider/ProviderImpl.swift | 0 .../Network/Service}/AppleLoginService.swift | 0 .../Network/Service}/AuthServiceable.swift | 0 .../Network/Service}/KakaoLoginService.swift | 0 .../Network/Service}/KeyChainService.swift | 0 .../Network/Service}/PreSignedService.swift | 0 .../Network/Service}/UserDefaultService.swift | 0 .../{Data => DataLayer}/RepositoryImpl/AdminRepositoryImpl.swift | 0 .../RepositoryImpl/AuthAPIRepositoryImpl.swift | 0 .../RepositoryImpl/CommentAPIRepositoryImpl.swift | 0 .../RepositoryImpl/HomeAPIRepositoryImpl.swift | 0 .../RepositoryImpl/MapDirectionRepositoryImpl.swift | 0 .../{Data => DataLayer}/RepositoryImpl/MapRepositoryImpl.swift | 0 .../RepositoryImpl/PopUpAPIRepositoryImpl.swift | 0 .../{Data => DataLayer}/RepositoryImpl/SignUpRepositoryImpl.swift | 0 .../RepositoryImpl/UserAPIRepositoryImpl.swift | 0 .../{ => DomainLayer}/Domain/UseCaseImpl/AdminUseCaseImpl.swift | 0 .../{ => DomainLayer}/Domain/UseCaseImpl/AuthAPIUseCaseImpl.swift | 0 .../Domain/UseCaseImpl/CommentAPIUseCaseImpl.swift | 0 .../{ => DomainLayer}/Domain/UseCaseImpl/HomeAPIUseCaseImpl.swift | 0 .../{ => DomainLayer}/Domain/UseCaseImpl/MapUseCaseImpl.swift | 0 .../Domain/UseCaseImpl/PopUpAPIUseCaseImpl.swift | 0 .../Domain/UseCaseImpl/SignUpAPIUseCaseImpl.swift | 0 .../{ => DomainLayer}/Domain/UseCaseImpl/UserAPIUseCaseImpl.swift | 0 .../DomainInterface/Entity/AuthResponse/LoginResponse.swift | 0 .../Entity/AuthResponse/PostTokenReissueResponse.swift | 0 .../DomainInterface/Entity/BannerPopUpStore.swift | 0 .../{ => DomainLayer}/DomainInterface/Entity/Category.swift | 0 .../DomainInterface/Entity/GetHomeInfoResponse.swift | 0 .../{ => DomainLayer}/DomainInterface/Entity/MapPopUpStore.swift | 0 .../Entity/PopUpResponse/GetPopUpCommentResponse.swift | 0 .../Entity/PopUpResponse/GetPopUpDetailResponse.swift | 0 .../Entity/PopUpResponse/GetSearchBottomPopUpListResponse.swift | 0 .../Entity/PopUpResponse/GetSearchPopUpListResponse.swift | 0 .../DomainInterface/Entity/PopUpStoreResponse.swift | 0 .../Entity/UserResponse/GetBlockUserListResponse.swift | 0 .../Entity/UserResponse/GetMyCommentResponse.swift | 0 .../DomainInterface/Entity/UserResponse/GetMyPageResponse.swift | 0 .../Entity/UserResponse/GetMyProfileResponse.swift | 0 .../Entity/UserResponse/GetNoticeDetailResponse.swift | 0 .../Entity/UserResponse/GetNoticeListResponse.swift | 0 .../UserResponse/GetOtherUserCommentedPopUpListResponse.swift | 0 .../Entity/UserResponse/GetRecentPopUpResponse.swift | 0 .../Entity/UserResponse/GetWithdrawlListResponse.swift | 0 .../DomainInterface/Repository/AdminRepository.swift | 0 .../DomainInterface/Repository/AuthAPIRepository.swift | 0 .../DomainInterface/Repository/CommentAPIRepository.swift | 0 .../DomainInterface/Repository/HomeAPIRepository.swift | 0 .../DomainInterface/Repository/MapDirectionRepository.swift | 0 .../DomainInterface/Repository/MapRepository.swift | 0 .../DomainInterface/Repository/PopUpAPIRepository.swift | 0 .../DomainInterface/Repository/SignUpRepository.swift | 0 .../DomainInterface/Repository/UserAPIRepository.swift | 0 .../{ => DomainLayer}/DomainInterface/UseCase/AdminUseCase.swift | 0 .../DomainInterface/UseCase/AuthAPIUseCase.swift | 0 .../DomainInterface/UseCase/CommentAPIUseCase.swift | 0 .../DomainInterface/UseCase/HomeAPIUseCase.swift | 0 .../{ => DomainLayer}/DomainInterface/UseCase/MapUseCase.swift | 0 .../DomainInterface/UseCase/PopUpAPIUseCase.swift | 0 .../DomainInterface/UseCase/SignUpAPIUseCase.swift | 0 .../DomainInterface/UseCase/UserAPIUseCase.swift | 0 .../Presentation/Components/PPButton.swift | 0 .../Presentation/Components/PPCancelHeaderView.swift | 0 .../{ => PresentationLayer}/Presentation/Components/PPLabel.swift | 0 .../Presentation/Components/PPPicker.swift | 0 .../Components/PPProgressIndicator/PPProgressIndicator.swift | 0 .../Components/PPProgressIndicator/PPProgressView.swift | 0 .../Presentation/Components/PPReturnHeaderView.swift | 0 .../Presentation/Components/PPSegmentedControl.swift | 0 .../Scene/Admin/AdminBottomSheet/AdminBottomSheetReactor.swift | 0 .../Scene/Admin/AdminBottomSheet/AdminBottomSheetView.swift | 0 .../Admin/AdminBottomSheet/AdminBottomSheetViewController.swift | 0 .../Presentation/Scene/Admin/AdminReactor.swift | 0 .../Scene/Admin/AdminRegister/PopUpImagesCollectionView.swift | 0 .../Scene/Admin/AdminRegister/PopUpStoreRegisterReactor.swift | 0 .../Scene/Admin/AdminRegister/PopUpStoreRegisterView.swift | 0 .../Admin/AdminRegister/PopUpStoreRegisterViewController.swift | 0 .../Presentation/Scene/Admin/AdminStoreCell.swift | 0 .../Presentation/Scene/Admin/AdminView.swift | 0 .../Presentation/Scene/Admin/AdminViewController.swift | 0 .../Presentation/Scene/Admin/ImageCell.swift | 0 .../Scene/Comment/CommentCheck/CommentCheckController.swift | 0 .../Scene/Comment/CommentCheck/CommentCheckReactor.swift | 0 .../Scene/Comment/CommentCheck/CommentCheckView.swift | 0 .../Scene/Comment/CommentDetail/CommentDetailController.swift | 0 .../Scene/Comment/CommentDetail/CommentDetailReactor.swift | 0 .../CommentDetailContentSection/CommentDetailContentSection.swift | 0 .../CommentDetailContentSectionCell.swift | 0 .../Comment/CommentDetail/View/CommentDetailImageSection.swift | 0 .../Scene/Comment/CommentDetail/View/CommentDetailView.swift | 0 .../CommentInfoMenu/CommentMyMenu/CommentMyMenuController.swift | 0 .../CommentInfoMenu/CommentMyMenu/CommentMyMenuReactor.swift | 0 .../Comment/CommentInfoMenu/CommentMyMenu/CommentMyMenuView.swift | 0 .../CommentUserInfo/CommentUserInfoController.swift | 0 .../CommentInfoMenu/CommentUserInfo/CommentUserInfoReactor.swift | 0 .../CommentInfoMenu/CommentUserInfo/CommentUserInfoView.swift | 0 .../Scene/Comment/CommentList/CommentListController.swift | 0 .../Scene/Comment/CommentList/CommentListReactor.swift | 0 .../View/CommentListTitleSection/CommentListTitleSection.swift | 0 .../CommentListTitleSection/CommentListTitleSectionCell.swift | 0 .../Scene/Comment/CommentList/View/CommentListView.swift | 0 .../Scene/Comment/CommentSelected/CommentSelectedController.swift | 0 .../Scene/Comment/CommentSelected/CommentSelectedReactor.swift | 0 .../Scene/Comment/CommentSelected/CommentSelectedView.swift | 0 .../Comment/CommentUserBlock/CommentUserBlockController.swift | 0 .../Scene/Comment/CommentUserBlock/CommentUserBlockReactor.swift | 0 .../Scene/Comment/CommentUserBlock/CommentUserBlockView.swift | 0 .../Scene/Comment/InstaComment/InstaCommentAddController.swift | 0 .../Scene/Comment/InstaComment/InstaCommentAddReactor.swift | 0 .../Scene/Comment/InstaComment/View/InstaCommentAddView.swift | 0 .../InstaGuideChildSection/InstaGuideChildSection.swift | 0 .../InstaGuideChildSection/InstaGuideChildSectionCell.swift | 0 .../InstaGuideSection/InstaGuideSection/InstaGuideSection.swift | 0 .../InstaGuideSection/InstaGuideSectionCell.swift | 0 .../Comment/NormalCommentAdd/NormalCommentAddController.swift | 0 .../Scene/Comment/NormalCommentAdd/NormalCommentAddReactor.swift | 0 .../AddCommentDescriptionSection.swift | 0 .../AddCommentDescriptionSectionCell.swift | 0 .../View/AddCommentImageSection/AddCommentImageSection.swift | 0 .../View/AddCommentImageSection/AddCommentImageSectionCell.swift | 0 .../View/AddCommentSection/AddCommentSection.swift | 0 .../View/AddCommentSection/AddCommentSectionCell.swift | 0 .../View/AddCommentTitleSection/AddCommentTitleSection.swift | 0 .../View/AddCommentTitleSection/AddCommentTitleSectionCell.swift | 0 .../Comment/NormalCommentAdd/View/NormalCommentAddView.swift | 0 .../Comment/NormalCommentEdit/NormalCommentEditController.swift | 0 .../Comment/NormalCommentEdit/NormalCommentEditReactor.swift | 0 .../Scene/Comment/NormalCommentEdit/NormalCommentEditView.swift | 0 .../Comment/OtherUserComment/OtherUserCommentController.swift | 0 .../Scene/Comment/OtherUserComment/OtherUserCommentReactor.swift | 0 .../View/OtherUserCommentSection/OtherUserCommentSection.swift | 0 .../OtherUserCommentSection/OtherUserCommentSectionCell.swift | 0 .../Comment/OtherUserComment/View/OtherUserCommentView.swift | 0 .../Presentation/Scene/Detail/DetailController.swift | 0 .../Presentation/Scene/Detail/DetailReactor.swift | 0 .../Detail/View/DetailCommentSection/DetailCommentImageCell.swift | 0 .../View/DetailCommentSection/DetailCommentProfileView.swift | 0 .../Detail/View/DetailCommentSection/DetailCommentSection.swift | 0 .../View/DetailCommentSection/DetailCommentSectionCell.swift | 0 .../DetailCommentTitleSection/DetailCommentTitleSection.swift | 0 .../DetailCommentTitleSection/DetailCommentTitleSectionCell.swift | 0 .../Detail/View/DetailContentSection/DetailContentSection.swift | 0 .../View/DetailContentSection/DetailContentSectionCell.swift | 0 .../View/DetailEmptyCommetSection/DetailEmptyCommetSection.swift | 0 .../DetailEmptyCommetSection/DetailEmptyCommetSectionCell.swift | 0 .../Scene/Detail/View/DetailInfoSection/DetailInfoSection.swift | 0 .../Detail/View/DetailInfoSection/DetailInfoSectionCell.swift | 0 .../Detail/View/DetailSimilarSection/DetailSimilarSection.swift | 0 .../View/DetailSimilarSection/DetailSimilarSectionCell.swift | 0 .../Scene/Detail/View/DetailTitleSection/DetailTitleSection.swift | 0 .../Detail/View/DetailTitleSection/DetailTitleSectionCell.swift | 0 .../Presentation/Scene/Detail/View/DetailView.swift | 0 .../Presentation/Scene/Home/List/HomeListController.swift | 0 .../Presentation/Scene/Home/List/HomeListReactor.swift | 0 .../Presentation/Scene/Home/List/HomePopUpType.swift | 0 .../Presentation/Scene/Home/List/View/HomeCardGridSection.swift | 0 .../Presentation/Scene/Home/List/View/HomeListView.swift | 0 .../Presentation/Scene/Home/Main/HomeController.swift | 0 .../Presentation/Scene/Home/Main/HomeReactor.swift | 0 .../Scene/Home/Main/View/HomeCardSection/HomeCardSection.swift | 0 .../Home/Main/View/HomeCardSection/HomeCardSectionCell.swift | 0 .../Presentation/Scene/Home/Main/View/HomeHeaderView.swift | 0 .../Main/View/HomePopularCardSection/HomePopularCardSection.swift | 0 .../View/HomePopularCardSection/HomePopularCardSectionCell.swift | 0 .../Scene/Home/Main/View/HomeTitleSection/HomeTitleSection.swift | 0 .../Home/Main/View/HomeTitleSection/HomeTitleSectionCell.swift | 0 .../Presentation/Scene/Home/Main/View/HomeView.swift | 0 .../ImageBannerChildSection/ImageBannerChildSection.swift | 0 .../ImageBannerChildSection/ImageBannerChildSectionCell.swift | 0 .../ImageBannerSection/ImageBannerSection.swift | 0 .../ImageBannerSection/ImageBannerSectionCell.swift | 0 .../Scene/Home/Main/View/SectionBackGroundDecorationView.swift | 0 .../Scene/Home/Main/View/SpacingSection/SpacingSection.swift | 0 .../Scene/Home/Main/View/SpacingSection/SpacingSectionCell.swift | 0 .../Presentation/Scene/ImageDetail/ImageDetailController.swift | 0 .../Presentation/Scene/ImageDetail/ImageDetailReactor.swift | 0 .../Presentation/Scene/ImageDetail/ImageDetailView.swift | 0 .../Presentation/Scene/Login/LastLoginView.swift | 0 .../Presentation/Scene/Login/Main/LoginController.swift | 0 .../Presentation/Scene/Login/Main/LoginReactor.swift | 0 .../Presentation/Scene/Login/Main/LoginView.swift | 0 .../Presentation/Scene/Login/Sub/SubLoginController.swift | 0 .../Presentation/Scene/Login/Sub/SubLoginReactor.swift | 0 .../Presentation/Scene/Login/Sub/SubLoginView.swift | 0 .../Scene/Map/FillterSheetView/BalloonBackgroundView.swift | 0 .../Presentation/Scene/Map/FillterSheetView/BalloonChipCell.swift | 0 .../Scene/Map/FillterSheetView/FilterBottomSheetReactor.swift | 0 .../Scene/Map/FillterSheetView/FilterBottomSheetView.swift | 0 .../Map/FillterSheetView/FilterBottomSheetViewController.swift | 0 .../Presentation/Scene/Map/FillterSheetView/FilterCell.swift | 0 .../Presentation/Scene/Map/FillterSheetView/FilterChip.swift | 0 .../Presentation/Scene/Map/FillterSheetView/FilterChipsView.swift | 0 .../Map/FindMap/MapGuideView/FullScreenMapViewController.swift | 0 .../Scene/Map/FindMap/MapGuideView/MapGuideReactor.swift | 0 .../Scene/Map/FindMap/MapGuideView/MapGuideViewController.swift | 0 .../Scene/Map/MapPopupCardView/MapPopupCarouselView.swift | 0 .../Presentation/Scene/Map/MapPopupCardView/PopupCardCell.swift | 0 .../Presentation/Scene/Map/MapView/MapMarker.swift | 0 .../Presentation/Scene/Map/MapView/MapReactor.swift | 0 .../Presentation/Scene/Map/MapView/MapSearchInput.swift | 0 .../Presentation/Scene/Map/MapView/MapView.swift | 0 .../Presentation/Scene/Map/MapView/MapViewController.swift | 0 .../Presentation/Scene/Map/MapView/MarkerTooltipView.swift | 0 .../Presentation/Scene/Map/StoreListView/StoreListCell.swift | 0 .../Presentation/Scene/Map/StoreListView/StoreListReactor.swift | 0 .../Presentation/Scene/Map/StoreListView/StoreListSection.swift | 0 .../Presentation/Scene/Map/StoreListView/StoreListView.swift | 0 .../Scene/Map/StoreListView/StoreListViewController.swift | 0 .../Scene/MyPage/Block/BlockUserManageController.swift | 0 .../Presentation/Scene/MyPage/Block/BlockUserManageReactor.swift | 0 .../Block/View/BlockUserListSection/BlockUserListSection.swift | 0 .../View/BlockUserListSection/BlockUserListSectionCell.swift | 0 .../Scene/MyPage/Block/View/BlockUserManageView.swift | 0 .../Scene/MyPage/Bookmark/Main/MyPageBookmarkController.swift | 0 .../Scene/MyPage/Bookmark/Main/MyPageBookmarkReactor.swift | 0 .../Scene/MyPage/Bookmark/Main/MyPageBookmarkView.swift | 0 .../Scene/MyPage/Bookmark/Main/View/CountButtonView.swift | 0 .../Bookmark/Main/View/PopUpCardSection/PopUpCardSection.swift | 0 .../Main/View/PopUpCardSection/PopUpCardSectionCell.swift | 0 .../Bookmark/Main/View/PopUpCardSection/PopUpCardView.swift | 0 .../ViewTypeModal/BookMarkPopUpViewTypeModalController.swift | 0 .../ViewTypeModal/BookMarkPopUpViewTypeModalReactor.swift | 0 .../Bookmark/ViewTypeModal/BookMarkPopUpViewTypeModalView.swift | 0 .../Presentation/Scene/MyPage/FAQ/FAQController.swift | 0 .../Presentation/Scene/MyPage/FAQ/FAQReactor.swift | 0 .../MyPage/FAQ/View/FAQDropdownSection/FAQDropdownSection.swift | 0 .../FAQ/View/FAQDropdownSection/FAQDropdownSectionCell.swift | 0 .../Presentation/Scene/MyPage/FAQ/View/FAQView.swift | 0 .../Presentation/Scene/MyPage/Main/MyPageController.swift | 0 .../Presentation/Scene/MyPage/Main/MyPageReactor.swift | 0 .../Main/View/MyPageCommentSection/MyPageCommentSection.swift | 0 .../Main/View/MyPageCommentSection/MyPageCommentSectionCell.swift | 0 .../MyPage/Main/View/MyPageListSection/MyPageListSection.swift | 0 .../Main/View/MyPageListSection/MyPageListSectionCell.swift | 0 .../Main/View/MyPageLogoutSection/MyPageLogoutSection.swift | 0 .../Main/View/MyPageLogoutSection/MyPageLogoutSectionCell.swift | 0 .../MyPageMyCommentTitleSection/MyPageMyCommentTitleSection.swift | 0 .../MyPageMyCommentTitleSectionCell.swift | 0 .../Main/View/MyPageProfileSection/MyPageProfileSection.swift | 0 .../Main/View/MyPageProfileSection/MyPageProfileSectionCell.swift | 0 .../Presentation/Scene/MyPage/Main/View/MyPageView.swift | 0 .../Scene/MyPage/MyComment/Main/MyCommentController.swift | 0 .../Scene/MyPage/MyComment/Main/MyCommentReactor.swift | 0 .../Main/View/ListCountButtonSection/ListCountButtonSection.swift | 0 .../View/ListCountButtonSection/ListCountButtonSectionCell.swift | 0 .../Scene/MyPage/MyComment/Main/View/MyCommentView.swift | 0 .../MyCommentedPopUpGridSection/MyCommentedPopUpGridSection.swift | 0 .../MyCommentedPopUpGridSectionCell.swift | 0 .../MyComment/SortedModal/MyCommentSortedModalController.swift | 0 .../MyComment/SortedModal/MyCommentSortedModalReactor.swift | 0 .../MyPage/MyComment/SortedModal/MyCommentSortedModalView.swift | 0 .../Scene/MyPage/Notice/Detail/MyPageNoticeDetailController.swift | 0 .../Scene/MyPage/Notice/Detail/MyPageNoticeDetailReactor.swift | 0 .../Scene/MyPage/Notice/Detail/MyPageNoticeDetailView.swift | 0 .../Scene/MyPage/Notice/List/MyPageNoticeController.swift | 0 .../Scene/MyPage/Notice/List/MyPageNoticeReactor.swift | 0 .../Scene/MyPage/Notice/List/View/MyPageNoticeView.swift | 0 .../Notice/List/View/NoticeListSection/NoticeListSection.swift | 0 .../List/View/NoticeListSection/NoticeListSectionCell.swift | 0 .../CategoryEditModal/CategoryEditModalController.swift | 0 .../ProfileEdit/CategoryEditModal/CategoryEditModalReactor.swift | 0 .../ProfileEdit/CategoryEditModal/CategoryEditModalView.swift | 0 .../ProfileEdit/InfoEditModal/InfoEditModalController.swift | 0 .../MyPage/ProfileEdit/InfoEditModal/InfoEditModalReactor.swift | 0 .../MyPage/ProfileEdit/InfoEditModal/InfoEditModalView.swift | 0 .../Scene/MyPage/ProfileEdit/Main/ProfileEditController.swift | 0 .../Scene/MyPage/ProfileEdit/Main/ProfileEditReactor.swift | 0 .../MyPage/ProfileEdit/Main/View/ProfileEditListButton.swift | 0 .../Scene/MyPage/ProfileEdit/Main/View/ProfileEditView.swift | 0 .../Presentation/Scene/MyPage/Recent/MyPageRecentController.swift | 0 .../Presentation/Scene/MyPage/Recent/MyPageRecentReactor.swift | 0 .../Presentation/Scene/MyPage/Recent/View/MyPageRecentView.swift | 0 .../Recent/View/RecentPopUpSection/RecentPopUpSection.swift | 0 .../Presentation/Scene/MyPage/Terms/MyPageTermsController.swift | 0 .../Presentation/Scene/MyPage/Terms/MyPageTermsReactor.swift | 0 .../Withdrawl/CheckModal/WithdrawlCheckModalController.swift | 0 .../MyPage/Withdrawl/CheckModal/WithdrawlCheckModalReactor.swift | 0 .../MyPage/Withdrawl/CheckModal/WithdrawlCheckModalView.swift | 0 .../MyPage/Withdrawl/Complete/WithdrawlCompleteController.swift | 0 .../Scene/MyPage/Withdrawl/Complete/WithdrawlCompleteView.swift | 0 .../Withdrawl/SelectedReason/View/WithdrawlCheckSection.swift | 0 .../Withdrawl/SelectedReason/View/WithdrawlCheckSectionCell.swift | 0 .../Withdrawl/SelectedReason/View/WithdrawlReasonView.swift | 0 .../Withdrawl/SelectedReason/WithdrawlReasonController.swift | 0 .../MyPage/Withdrawl/SelectedReason/WithdrawlReasonReactor.swift | 0 .../Scene/Search/AfterSearch/SearchResultController.swift | 0 .../Scene/Search/AfterSearch/SearchResultReactor.swift | 0 .../View/SearchResultCountSection/SearchResultCountSection.swift | 0 .../SearchResultCountSection/SearchResultCountSectionCell.swift | 0 .../Scene/Search/AfterSearch/View/SearchResultView.swift | 0 .../Presentation/Scene/Search/BeforeSearch/SearchController.swift | 0 .../Presentation/Scene/Search/BeforeSearch/SearchReactor.swift | 0 .../View/CancelableTagSection/CancelableTagSection.swift | 0 .../View/CancelableTagSection/CancelableTagSectionCell.swift | 0 .../View/SearchCountTitleSection/SearchCountTitleSection.swift | 0 .../SearchCountTitleSection/SearchCountTitleSectionCell.swift | 0 .../BeforeSearch/View/SearchTitleSection/SearchTitleSection.swift | 0 .../View/SearchTitleSection/SearchTitleSectionCell.swift | 0 .../Presentation/Scene/Search/BeforeSearch/View/SearchView.swift | 0 .../Search/CategoryController/SearchCategoryController.swift | 0 .../Scene/Search/CategoryController/SearchCategoryReactor.swift | 0 .../Scene/Search/CategoryController/SearchCategoryView.swift | 0 .../Presentation/Scene/Search/Main/SearchMainController.swift | 0 .../Presentation/Scene/Search/Main/SearchMainReactor.swift | 0 .../Presentation/Scene/Search/Main/SearchMainView.swift | 0 .../Scene/Search/SortedController/SearchSortedController.swift | 0 .../Scene/Search/SortedController/SearchSortedReactor.swift | 0 .../Scene/Search/SortedController/SearchSortedView.swift | 0 .../Presentation/Scene/SignUp/Main/SignUpMainController.swift | 0 .../Presentation/Scene/SignUp/Main/SignUpMainReactor.swift | 0 .../Presentation/Scene/SignUp/Main/View/SignUpMainView.swift | 0 .../Scene/SignUp/SignUpComplete/SignUpCompleteController.swift | 0 .../Scene/SignUp/SignUpComplete/SignUpCompleteReactor.swift | 0 .../Scene/SignUp/SignUpComplete/SignUpCompleteView.swift | 0 .../Presentation/Scene/SignUp/Step1/SignUpStep1Controller.swift | 0 .../Presentation/Scene/SignUp/Step1/SignUpStep1Reactor.swift | 0 .../Scene/SignUp/Step1/View/SignUpCheckBoxButton.swift | 0 .../Presentation/Scene/SignUp/Step1/View/SignUpStep1View.swift | 0 .../Presentation/Scene/SignUp/Step1/View/SignUpTermsView.swift | 0 .../Presentation/Scene/SignUp/Step2/IntroState.swift | 0 .../Presentation/Scene/SignUp/Step2/NickNameState.swift | 0 .../Presentation/Scene/SignUp/Step2/SignUpStep2Controller.swift | 0 .../Presentation/Scene/SignUp/Step2/SignUpStep2Reactor.swift | 0 .../Presentation/Scene/SignUp/Step2/SignUpStep2View.swift | 0 .../Presentation/Scene/SignUp/Step3/SignUpStep3Controller.swift | 0 .../Presentation/Scene/SignUp/Step3/SignUpStep3Reactor.swift | 0 .../Presentation/Scene/SignUp/Step3/View/SignUpStep3View.swift | 0 .../Scene/SignUp/Step3/View/TagSection/TagSection.swift | 0 .../Scene/SignUp/Step3/View/TagSection/TagSectionCell.swift | 0 .../SignUp/Step4/AgeSelectedModal/AgeSelectedController.swift | 0 .../Scene/SignUp/Step4/AgeSelectedModal/AgeSelectedReactor.swift | 0 .../Scene/SignUp/Step4/AgeSelectedModal/AgeSelectedView.swift | 0 .../Scene/SignUp/Step4/Main/SignUpStep4Controller.swift | 0 .../Presentation/Scene/SignUp/Step4/Main/SignUpStep4Reactor.swift | 0 .../Scene/SignUp/Step4/Main/View/AgeSelectedButton.swift | 0 .../Scene/SignUp/Step4/Main/View/SignUpStep4View.swift | 0 .../Scene/SignUp/TermsDetail/TermsDetailController.swift | 0 .../Presentation/Scene/SignUp/TermsDetail/TermsDetailView.swift | 0 .../Presentation/Scene/Splash/SplashController.swift | 0 .../Presentation/Scene/Splash/View/SplashView.swift | 0 .../Presentation/Scene/TabbarController/TabbarController.swift | 0 .../Presentation/Utills/Common/ClusteringManager.swift | 0 .../Presentation/Utills/Common/ClusteringModels.swift | 0 .../Presentation/Utills/Common/DateTimePickerManager.swift | 0 .../Presentation/Utills/Common/ExtendedImage.swift | 0 .../Presentation/Utills/Common/FilterType.swift | 0 .../Utills/Common/LocationPermissionBottomSheet.swift | 0 .../Presentation/Utills/Common/MapFilterChips.swift | 0 .../Presentation/Utills/Common/MapUtilities.swift | 0 .../Presentation/Utills/Common/NMFMapViewDelegateProxy.swift | 0 .../Presentation/Utills/Common/RegionDefinitions.swift | 0 .../Presentation/Utills/Common/ViewportBounds.swift | 0 .../Presentation/Utills/Controllers/BaseTabmanController.swift | 0 .../Presentation/Utills/Controllers/BaseViewController.swift | 0 .../Presentation/Utills/Interfaces/InOutputable.swift | 0 .../Utills/Interfaces/Sectionable/SectionDecorationItem.swift | 0 .../Utills/Interfaces/Sectionable/SectionSupplementaryItem.swift | 0 .../Presentation/Utills/Interfaces/Sectionable/Sectionable.swift | 0 .../Presentation/Utills/ToastMaker/BookMarkToastView.swift | 0 .../Presentation/Utills/ToastMaker/ToastMaker.swift | 0 .../Presentation/Utills/ToastMaker/ToastView.swift | 0 446 files changed, 0 insertions(+), 0 deletions(-) rename Poppool/Poppool/{ => CoreLayer}/Infrastructure/Extension/Date?+.swift (100%) rename Poppool/Poppool/{ => CoreLayer}/Infrastructure/Extension/Reactive+.swift (100%) rename Poppool/Poppool/{ => CoreLayer}/Infrastructure/Extension/String?+.swift (100%) rename Poppool/Poppool/{ => CoreLayer}/Infrastructure/Extension/UIApplication+.swift (100%) rename Poppool/Poppool/{ => CoreLayer}/Infrastructure/Extension/UICollectionReusableView+.swift (100%) rename Poppool/Poppool/{ => CoreLayer}/Infrastructure/Extension/UICollectionViewCell+.swift (100%) rename Poppool/Poppool/{ => CoreLayer}/Infrastructure/Extension/UIColor+.swift (100%) rename Poppool/Poppool/{ => CoreLayer}/Infrastructure/Extension/UIFont+.swift (100%) rename Poppool/Poppool/{ => CoreLayer}/Infrastructure/Extension/UIImage+.swift (100%) rename Poppool/Poppool/{ => CoreLayer}/Infrastructure/Extension/UIImageView+.swift (100%) rename Poppool/Poppool/{ => CoreLayer}/Infrastructure/Extension/UILabel+.swift (100%) rename Poppool/Poppool/{ => CoreLayer}/Infrastructure/Extension/UINavigationController+.swift (100%) rename Poppool/Poppool/{ => CoreLayer}/Infrastructure/Extension/UITableViewCell+.swift (100%) rename Poppool/Poppool/{ => CoreLayer}/Infrastructure/Extension/UITextField+.swift (100%) rename Poppool/Poppool/{ => CoreLayer}/Infrastructure/Extension/UIView+.swift (100%) rename Poppool/Poppool/{ => CoreLayer}/Infrastructure/ImageLoader/DiskStorage.swift (100%) rename Poppool/Poppool/{ => CoreLayer}/Infrastructure/ImageLoader/ImageLoader.swift (100%) rename Poppool/Poppool/{ => CoreLayer}/Infrastructure/ImageLoader/MemoryStorage.swift (100%) rename Poppool/Poppool/{Infrastructure/NetworkLayer => CoreLayer/Infrastructure}/IndicatorMaker/IndicatorMaker.swift (100%) rename Poppool/Poppool/{ => CoreLayer}/Infrastructure/Logger/Logger.swift (100%) rename Poppool/Poppool/{Resource => CoreLayer/Infrastructure}/Secrets.swift (100%) rename Poppool/Poppool/{Data/Network => DataLayer/Network/API}/AdminAPI/AdminAPIEndpoint.swift (100%) rename Poppool/Poppool/{Data/Network => DataLayer/Network/API}/AdminAPI/ResponseDTO/AdminResponseDTO.swift (100%) rename Poppool/Poppool/{Data/Network => DataLayer/Network/API}/AdminAPI/ResponseDTO/GetAdminPopUpStoreListResponseDTO.swift (100%) rename Poppool/Poppool/{Data/Network => DataLayer/Network/API}/AuthAPI/AuthAPIEndPoint.swift (100%) rename Poppool/Poppool/{Data/Network => DataLayer/Network/API}/AuthAPI/ResponseDTO/LoginResponseDTO.swift (100%) rename Poppool/Poppool/{Data/Network => DataLayer/Network/API}/AuthAPI/ResponseDTO/PostTokenReissueResponseDTO.swift (100%) rename Poppool/Poppool/{Data/Network => DataLayer/Network/API}/CommentAPI/CommentAPIEndPoint.swift (100%) rename Poppool/Poppool/{Data/Network => DataLayer/Network/API}/CommentAPI/RequestDTO/DeleteCommentRequestDTO.swift (100%) rename Poppool/Poppool/{Data/Network => DataLayer/Network/API}/CommentAPI/RequestDTO/PostCommentRequestDTO.swift (100%) rename Poppool/Poppool/{Data/Network => DataLayer/Network/API}/CommentAPI/RequestDTO/PutCommentRequestDTO.swift (100%) rename Poppool/Poppool/{Data/Network => DataLayer/Network/API}/HomeAPI/HomeAPIEndpoint.swift (100%) rename Poppool/Poppool/{Data/Network => DataLayer/Network/API}/HomeAPI/ResponseDTO/BannerPopUpStoreDTO.swift (100%) rename Poppool/Poppool/{Data/Network => DataLayer/Network/API}/HomeAPI/ResponseDTO/GetHomeInfoResponseDTO.swift (100%) rename Poppool/Poppool/{Data/Network => DataLayer/Network/API}/HomeAPI/ResponseDTO/PopUpStoreResponseDTO.swift (100%) rename Poppool/Poppool/{Data/Network => DataLayer/Network/API}/MapAPI/FindDirectionEndPoint.swift (100%) rename Poppool/Poppool/{Data/Network => DataLayer/Network/API}/MapAPI/MapAPIEndpoint.swift (100%) rename Poppool/Poppool/{Data/Network => DataLayer/Network/API}/MapAPI/ResponseDTO/GetPopUpDirectionResponseDTO.swift (100%) rename Poppool/Poppool/{Data/Network => DataLayer/Network/API}/MapAPI/ResponseDTO/MapPopUpStoreDTO.swift (100%) rename Poppool/Poppool/{Data/Network => DataLayer/Network/API}/PopUpAPI/PopUpAPIEndPoint.swift (100%) rename Poppool/Poppool/{Data/Network => DataLayer/Network/API}/PopUpAPI/RequestDTO/GetPopUpCommentRequestDTO.swift (100%) rename Poppool/Poppool/{Data/Network => DataLayer/Network/API}/PopUpAPI/RequestDTO/GetPopUpDetailRequestDTO.swift (100%) rename Poppool/Poppool/{Data/Network => DataLayer/Network/API}/PopUpAPI/RequestDTO/GetSearchPopUpListRequestDTO.swift (100%) rename Poppool/Poppool/{Data/Network => DataLayer/Network/API}/PopUpAPI/ResponseDTO/GetClosePopUpListResponseDTO.swift (100%) rename Poppool/Poppool/{Data/Network => DataLayer/Network/API}/PopUpAPI/ResponseDTO/GetOpenPopUpListResponseDTO.swift (100%) rename Poppool/Poppool/{Data/Network => DataLayer/Network/API}/PopUpAPI/ResponseDTO/GetPopUpCommentResponseDTO.swift (100%) rename Poppool/Poppool/{Data/Network => DataLayer/Network/API}/PopUpAPI/ResponseDTO/GetPopUpDetailResponseDTO.swift (100%) rename Poppool/Poppool/{Data/Network => DataLayer/Network/API}/PopUpAPI/ResponseDTO/GetSearchPopUpListResponseDTO.swift (100%) rename Poppool/Poppool/{Infrastructure/PreSignedService => DataLayer/Network/API}/PreSignedAPI/PreSignedAPIEndPoint.swift (100%) rename Poppool/Poppool/{Infrastructure/PreSignedService => DataLayer/Network/API}/PreSignedAPI/RequestDTO/PresignedURLRequestDTO.swift (100%) rename Poppool/Poppool/{Infrastructure/PreSignedService => DataLayer/Network/API}/PreSignedAPI/ResponseDTO/PreSignedURLDTO.swift (100%) rename Poppool/Poppool/{Infrastructure/PreSignedService => DataLayer/Network/API}/PreSignedAPI/ResponseDTO/PreSignedURLResponseDTO.swift (100%) rename Poppool/Poppool/{Data/Network => DataLayer/Network/API}/SignUpAPI/RequestDTO/CheckNickNameRequestDTO.swift (100%) rename Poppool/Poppool/{Data/Network => DataLayer/Network/API}/SignUpAPI/RequestDTO/SignUpRequestDTO.swift (100%) rename Poppool/Poppool/{Data/Network => DataLayer/Network/API}/SignUpAPI/ResponseDTO/GetCategoryListResponseDTO.swift (100%) rename Poppool/Poppool/{Data/Network => DataLayer/Network/API}/SignUpAPI/SignUpAPIEndpoint.swift (100%) rename Poppool/Poppool/{Data/Network => DataLayer/Network/API}/SortedRequestDTO.swift (100%) rename Poppool/Poppool/{Data/Network => DataLayer/Network/API}/UserAPI/RequesetDTO/CommentLikeRequestDTO.swift (100%) rename Poppool/Poppool/{Data/Network => DataLayer/Network/API}/UserAPI/RequesetDTO/GetBlockUserListRequestDTO.swift (100%) rename Poppool/Poppool/{Data/Network => DataLayer/Network/API}/UserAPI/RequesetDTO/GetMyCommentRequestDTO.swift (100%) rename Poppool/Poppool/{Data/Network => DataLayer/Network/API}/UserAPI/RequesetDTO/GetOtherUserCommentListRequestDTO.swift (100%) rename Poppool/Poppool/{Data/Network => DataLayer/Network/API}/UserAPI/RequesetDTO/PostBookmarkPopUpRequestDTO.swift (100%) rename Poppool/Poppool/{Data/Network => DataLayer/Network/API}/UserAPI/RequesetDTO/PostUserBlockRequestDTO.swift (100%) rename Poppool/Poppool/{Data/Network => DataLayer/Network/API}/UserAPI/RequesetDTO/PutUserCategoryRequestDTO.swift (100%) rename Poppool/Poppool/{Data/Network => DataLayer/Network/API}/UserAPI/RequesetDTO/PutUserProfileRequestDTO.swift (100%) rename Poppool/Poppool/{Data/Network => DataLayer/Network/API}/UserAPI/RequesetDTO/PutUserTailoredInfoRequestDTO.swift (100%) rename Poppool/Poppool/{Data/Network => DataLayer/Network/API}/UserAPI/ResponseDTO/GetBlockUserListResponseDTO.swift (100%) rename Poppool/Poppool/{Data/Network => DataLayer/Network/API}/UserAPI/ResponseDTO/GetMyCommentedPopUpResponseDTO.swift (100%) rename Poppool/Poppool/{Data/Network => DataLayer/Network/API}/UserAPI/ResponseDTO/GetMyPageResponseDTO.swift (100%) rename Poppool/Poppool/{Data/Network => DataLayer/Network/API}/UserAPI/ResponseDTO/GetMyProfileResponseDTO.swift (100%) rename Poppool/Poppool/{Data/Network => DataLayer/Network/API}/UserAPI/ResponseDTO/GetNoticeDetailResponseDTO.swift (100%) rename Poppool/Poppool/{Data/Network => DataLayer/Network/API}/UserAPI/ResponseDTO/GetNoticeListResponseDTO.swift (100%) rename Poppool/Poppool/{Data/Network => DataLayer/Network/API}/UserAPI/ResponseDTO/GetOtherUserCommentedPopUpListResponseDTO.swift (100%) rename Poppool/Poppool/{Data/Network => DataLayer/Network/API}/UserAPI/ResponseDTO/GetRecentPopUpResponseDTO.swift (100%) rename Poppool/Poppool/{Data/Network => DataLayer/Network/API}/UserAPI/ResponseDTO/GetWithdrawlListResponseDTO.swift (100%) rename Poppool/Poppool/{Data/Network => DataLayer/Network/API}/UserAPI/UserAPIEndPoint.swift (100%) rename Poppool/Poppool/{Infrastructure/NetworkLayer => DataLayer/Network}/Common/NetworkError.swift (100%) rename Poppool/Poppool/{Infrastructure/NetworkLayer => DataLayer/Network}/Common/Requestable.swift (100%) rename Poppool/Poppool/{Infrastructure/NetworkLayer => DataLayer/Network}/Common/Responsable.swift (100%) rename Poppool/Poppool/{Infrastructure/NetworkLayer => DataLayer/Network}/EndPoint/Endpoint.swift (100%) rename Poppool/Poppool/{Infrastructure/NetworkLayer => DataLayer/Network}/EndPoint/MultipartEndPoint.swift (100%) rename Poppool/Poppool/{Infrastructure/NetworkLayer => DataLayer/Network}/EndPoint/RequestEndpoint.swift (100%) rename Poppool/Poppool/{Infrastructure/NetworkLayer => DataLayer/Network}/Interceptor/FormDataInterceptor.swift (100%) rename Poppool/Poppool/{Infrastructure/NetworkLayer => DataLayer/Network}/Interceptor/TokenInterceptor.swift (100%) rename Poppool/Poppool/{Infrastructure/NetworkLayer => DataLayer/Network}/Provider/Provider.swift (100%) rename Poppool/Poppool/{Infrastructure/NetworkLayer => DataLayer/Network}/Provider/ProviderImpl.swift (100%) rename Poppool/Poppool/{Infrastructure => DataLayer/Network/Service}/AppleLoginService.swift (100%) rename Poppool/Poppool/{Infrastructure => DataLayer/Network/Service}/AuthServiceable.swift (100%) rename Poppool/Poppool/{Infrastructure => DataLayer/Network/Service}/KakaoLoginService.swift (100%) rename Poppool/Poppool/{Infrastructure => DataLayer/Network/Service}/KeyChainService.swift (100%) rename Poppool/Poppool/{Infrastructure/PreSignedService => DataLayer/Network/Service}/PreSignedService.swift (100%) rename Poppool/Poppool/{Infrastructure => DataLayer/Network/Service}/UserDefaultService.swift (100%) rename Poppool/Poppool/{Data => DataLayer}/RepositoryImpl/AdminRepositoryImpl.swift (100%) rename Poppool/Poppool/{Data => DataLayer}/RepositoryImpl/AuthAPIRepositoryImpl.swift (100%) rename Poppool/Poppool/{Data => DataLayer}/RepositoryImpl/CommentAPIRepositoryImpl.swift (100%) rename Poppool/Poppool/{Data => DataLayer}/RepositoryImpl/HomeAPIRepositoryImpl.swift (100%) rename Poppool/Poppool/{Data => DataLayer}/RepositoryImpl/MapDirectionRepositoryImpl.swift (100%) rename Poppool/Poppool/{Data => DataLayer}/RepositoryImpl/MapRepositoryImpl.swift (100%) rename Poppool/Poppool/{Data => DataLayer}/RepositoryImpl/PopUpAPIRepositoryImpl.swift (100%) rename Poppool/Poppool/{Data => DataLayer}/RepositoryImpl/SignUpRepositoryImpl.swift (100%) rename Poppool/Poppool/{Data => DataLayer}/RepositoryImpl/UserAPIRepositoryImpl.swift (100%) rename Poppool/Poppool/{ => DomainLayer}/Domain/UseCaseImpl/AdminUseCaseImpl.swift (100%) rename Poppool/Poppool/{ => DomainLayer}/Domain/UseCaseImpl/AuthAPIUseCaseImpl.swift (100%) rename Poppool/Poppool/{ => DomainLayer}/Domain/UseCaseImpl/CommentAPIUseCaseImpl.swift (100%) rename Poppool/Poppool/{ => DomainLayer}/Domain/UseCaseImpl/HomeAPIUseCaseImpl.swift (100%) rename Poppool/Poppool/{ => DomainLayer}/Domain/UseCaseImpl/MapUseCaseImpl.swift (100%) rename Poppool/Poppool/{ => DomainLayer}/Domain/UseCaseImpl/PopUpAPIUseCaseImpl.swift (100%) rename Poppool/Poppool/{ => DomainLayer}/Domain/UseCaseImpl/SignUpAPIUseCaseImpl.swift (100%) rename Poppool/Poppool/{ => DomainLayer}/Domain/UseCaseImpl/UserAPIUseCaseImpl.swift (100%) rename Poppool/Poppool/{ => DomainLayer}/DomainInterface/Entity/AuthResponse/LoginResponse.swift (100%) rename Poppool/Poppool/{ => DomainLayer}/DomainInterface/Entity/AuthResponse/PostTokenReissueResponse.swift (100%) rename Poppool/Poppool/{ => DomainLayer}/DomainInterface/Entity/BannerPopUpStore.swift (100%) rename Poppool/Poppool/{ => DomainLayer}/DomainInterface/Entity/Category.swift (100%) rename Poppool/Poppool/{ => DomainLayer}/DomainInterface/Entity/GetHomeInfoResponse.swift (100%) rename Poppool/Poppool/{ => DomainLayer}/DomainInterface/Entity/MapPopUpStore.swift (100%) rename Poppool/Poppool/{ => DomainLayer}/DomainInterface/Entity/PopUpResponse/GetPopUpCommentResponse.swift (100%) rename Poppool/Poppool/{ => DomainLayer}/DomainInterface/Entity/PopUpResponse/GetPopUpDetailResponse.swift (100%) rename Poppool/Poppool/{ => DomainLayer}/DomainInterface/Entity/PopUpResponse/GetSearchBottomPopUpListResponse.swift (100%) rename Poppool/Poppool/{ => DomainLayer}/DomainInterface/Entity/PopUpResponse/GetSearchPopUpListResponse.swift (100%) rename Poppool/Poppool/{ => DomainLayer}/DomainInterface/Entity/PopUpStoreResponse.swift (100%) rename Poppool/Poppool/{ => DomainLayer}/DomainInterface/Entity/UserResponse/GetBlockUserListResponse.swift (100%) rename Poppool/Poppool/{ => DomainLayer}/DomainInterface/Entity/UserResponse/GetMyCommentResponse.swift (100%) rename Poppool/Poppool/{ => DomainLayer}/DomainInterface/Entity/UserResponse/GetMyPageResponse.swift (100%) rename Poppool/Poppool/{ => DomainLayer}/DomainInterface/Entity/UserResponse/GetMyProfileResponse.swift (100%) rename Poppool/Poppool/{ => DomainLayer}/DomainInterface/Entity/UserResponse/GetNoticeDetailResponse.swift (100%) rename Poppool/Poppool/{ => DomainLayer}/DomainInterface/Entity/UserResponse/GetNoticeListResponse.swift (100%) rename Poppool/Poppool/{ => DomainLayer}/DomainInterface/Entity/UserResponse/GetOtherUserCommentedPopUpListResponse.swift (100%) rename Poppool/Poppool/{ => DomainLayer}/DomainInterface/Entity/UserResponse/GetRecentPopUpResponse.swift (100%) rename Poppool/Poppool/{ => DomainLayer}/DomainInterface/Entity/UserResponse/GetWithdrawlListResponse.swift (100%) rename Poppool/Poppool/{ => DomainLayer}/DomainInterface/Repository/AdminRepository.swift (100%) rename Poppool/Poppool/{ => DomainLayer}/DomainInterface/Repository/AuthAPIRepository.swift (100%) rename Poppool/Poppool/{ => DomainLayer}/DomainInterface/Repository/CommentAPIRepository.swift (100%) rename Poppool/Poppool/{ => DomainLayer}/DomainInterface/Repository/HomeAPIRepository.swift (100%) rename Poppool/Poppool/{ => DomainLayer}/DomainInterface/Repository/MapDirectionRepository.swift (100%) rename Poppool/Poppool/{ => DomainLayer}/DomainInterface/Repository/MapRepository.swift (100%) rename Poppool/Poppool/{ => DomainLayer}/DomainInterface/Repository/PopUpAPIRepository.swift (100%) rename Poppool/Poppool/{ => DomainLayer}/DomainInterface/Repository/SignUpRepository.swift (100%) rename Poppool/Poppool/{ => DomainLayer}/DomainInterface/Repository/UserAPIRepository.swift (100%) rename Poppool/Poppool/{ => DomainLayer}/DomainInterface/UseCase/AdminUseCase.swift (100%) rename Poppool/Poppool/{ => DomainLayer}/DomainInterface/UseCase/AuthAPIUseCase.swift (100%) rename Poppool/Poppool/{ => DomainLayer}/DomainInterface/UseCase/CommentAPIUseCase.swift (100%) rename Poppool/Poppool/{ => DomainLayer}/DomainInterface/UseCase/HomeAPIUseCase.swift (100%) rename Poppool/Poppool/{ => DomainLayer}/DomainInterface/UseCase/MapUseCase.swift (100%) rename Poppool/Poppool/{ => DomainLayer}/DomainInterface/UseCase/PopUpAPIUseCase.swift (100%) rename Poppool/Poppool/{ => DomainLayer}/DomainInterface/UseCase/SignUpAPIUseCase.swift (100%) rename Poppool/Poppool/{ => DomainLayer}/DomainInterface/UseCase/UserAPIUseCase.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Components/PPButton.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Components/PPCancelHeaderView.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Components/PPLabel.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Components/PPPicker.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Components/PPProgressIndicator/PPProgressIndicator.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Components/PPProgressIndicator/PPProgressView.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Components/PPReturnHeaderView.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Components/PPSegmentedControl.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Admin/AdminBottomSheet/AdminBottomSheetReactor.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Admin/AdminBottomSheet/AdminBottomSheetView.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Admin/AdminBottomSheet/AdminBottomSheetViewController.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Admin/AdminReactor.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Admin/AdminRegister/PopUpImagesCollectionView.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterReactor.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterView.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterViewController.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Admin/AdminStoreCell.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Admin/AdminView.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Admin/AdminViewController.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Admin/ImageCell.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Comment/CommentCheck/CommentCheckController.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Comment/CommentCheck/CommentCheckReactor.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Comment/CommentCheck/CommentCheckView.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Comment/CommentDetail/CommentDetailController.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Comment/CommentDetail/CommentDetailReactor.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Comment/CommentDetail/View/CommentDetailContentSection/CommentDetailContentSection.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Comment/CommentDetail/View/CommentDetailContentSection/CommentDetailContentSectionCell.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Comment/CommentDetail/View/CommentDetailImageSection.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Comment/CommentDetail/View/CommentDetailView.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Comment/CommentInfoMenu/CommentMyMenu/CommentMyMenuController.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Comment/CommentInfoMenu/CommentMyMenu/CommentMyMenuReactor.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Comment/CommentInfoMenu/CommentMyMenu/CommentMyMenuView.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Comment/CommentInfoMenu/CommentUserInfo/CommentUserInfoController.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Comment/CommentInfoMenu/CommentUserInfo/CommentUserInfoReactor.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Comment/CommentInfoMenu/CommentUserInfo/CommentUserInfoView.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Comment/CommentList/CommentListController.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Comment/CommentList/CommentListReactor.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Comment/CommentList/View/CommentListTitleSection/CommentListTitleSection.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Comment/CommentList/View/CommentListTitleSection/CommentListTitleSectionCell.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Comment/CommentList/View/CommentListView.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Comment/CommentSelected/CommentSelectedController.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Comment/CommentSelected/CommentSelectedReactor.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Comment/CommentSelected/CommentSelectedView.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Comment/CommentUserBlock/CommentUserBlockController.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Comment/CommentUserBlock/CommentUserBlockReactor.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Comment/CommentUserBlock/CommentUserBlockView.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Comment/InstaComment/InstaCommentAddController.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Comment/InstaComment/InstaCommentAddReactor.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Comment/InstaComment/View/InstaCommentAddView.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Comment/InstaComment/View/InstaGuideSection/InstaGuideChildSection/InstaGuideChildSection.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Comment/InstaComment/View/InstaGuideSection/InstaGuideChildSection/InstaGuideChildSectionCell.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Comment/InstaComment/View/InstaGuideSection/InstaGuideSection/InstaGuideSection.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Comment/InstaComment/View/InstaGuideSection/InstaGuideSection/InstaGuideSectionCell.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Comment/NormalCommentAdd/NormalCommentAddController.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Comment/NormalCommentAdd/NormalCommentAddReactor.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Comment/NormalCommentAdd/View/AddCommentDescriptionSection/AddCommentDescriptionSection.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Comment/NormalCommentAdd/View/AddCommentDescriptionSection/AddCommentDescriptionSectionCell.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Comment/NormalCommentAdd/View/AddCommentImageSection/AddCommentImageSection.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Comment/NormalCommentAdd/View/AddCommentImageSection/AddCommentImageSectionCell.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Comment/NormalCommentAdd/View/AddCommentSection/AddCommentSection.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Comment/NormalCommentAdd/View/AddCommentSection/AddCommentSectionCell.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Comment/NormalCommentAdd/View/AddCommentTitleSection/AddCommentTitleSection.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Comment/NormalCommentAdd/View/AddCommentTitleSection/AddCommentTitleSectionCell.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Comment/NormalCommentAdd/View/NormalCommentAddView.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Comment/NormalCommentEdit/NormalCommentEditController.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Comment/NormalCommentEdit/NormalCommentEditReactor.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Comment/NormalCommentEdit/NormalCommentEditView.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Comment/OtherUserComment/OtherUserCommentController.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Comment/OtherUserComment/OtherUserCommentReactor.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Comment/OtherUserComment/View/OtherUserCommentSection/OtherUserCommentSection.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Comment/OtherUserComment/View/OtherUserCommentSection/OtherUserCommentSectionCell.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Comment/OtherUserComment/View/OtherUserCommentView.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Detail/DetailController.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Detail/DetailReactor.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Detail/View/DetailCommentSection/DetailCommentImageCell.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Detail/View/DetailCommentSection/DetailCommentProfileView.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Detail/View/DetailCommentSection/DetailCommentSection.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Detail/View/DetailCommentSection/DetailCommentSectionCell.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Detail/View/DetailCommentTitleSection/DetailCommentTitleSection.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Detail/View/DetailCommentTitleSection/DetailCommentTitleSectionCell.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Detail/View/DetailContentSection/DetailContentSection.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Detail/View/DetailContentSection/DetailContentSectionCell.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Detail/View/DetailEmptyCommetSection/DetailEmptyCommetSection.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Detail/View/DetailEmptyCommetSection/DetailEmptyCommetSectionCell.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Detail/View/DetailInfoSection/DetailInfoSection.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Detail/View/DetailInfoSection/DetailInfoSectionCell.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Detail/View/DetailSimilarSection/DetailSimilarSection.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Detail/View/DetailSimilarSection/DetailSimilarSectionCell.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Detail/View/DetailTitleSection/DetailTitleSection.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Detail/View/DetailTitleSection/DetailTitleSectionCell.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Detail/View/DetailView.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Home/List/HomeListController.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Home/List/HomeListReactor.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Home/List/HomePopUpType.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Home/List/View/HomeCardGridSection.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Home/List/View/HomeListView.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Home/Main/HomeController.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Home/Main/HomeReactor.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Home/Main/View/HomeCardSection/HomeCardSection.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Home/Main/View/HomeCardSection/HomeCardSectionCell.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Home/Main/View/HomeHeaderView.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Home/Main/View/HomePopularCardSection/HomePopularCardSection.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Home/Main/View/HomePopularCardSection/HomePopularCardSectionCell.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Home/Main/View/HomeTitleSection/HomeTitleSection.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Home/Main/View/HomeTitleSection/HomeTitleSectionCell.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Home/Main/View/HomeView.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Home/Main/View/ImageBannerSection/ImageBannerChildSection/ImageBannerChildSection.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Home/Main/View/ImageBannerSection/ImageBannerChildSection/ImageBannerChildSectionCell.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Home/Main/View/ImageBannerSection/ImageBannerSection/ImageBannerSection.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Home/Main/View/ImageBannerSection/ImageBannerSection/ImageBannerSectionCell.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Home/Main/View/SectionBackGroundDecorationView.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Home/Main/View/SpacingSection/SpacingSection.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Home/Main/View/SpacingSection/SpacingSectionCell.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/ImageDetail/ImageDetailController.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/ImageDetail/ImageDetailReactor.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/ImageDetail/ImageDetailView.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Login/LastLoginView.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Login/Main/LoginController.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Login/Main/LoginReactor.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Login/Main/LoginView.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Login/Sub/SubLoginController.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Login/Sub/SubLoginReactor.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Login/Sub/SubLoginView.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Map/FillterSheetView/BalloonBackgroundView.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Map/FillterSheetView/BalloonChipCell.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Map/FillterSheetView/FilterBottomSheetReactor.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Map/FillterSheetView/FilterBottomSheetView.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Map/FillterSheetView/FilterBottomSheetViewController.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Map/FillterSheetView/FilterCell.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Map/FillterSheetView/FilterChip.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Map/FillterSheetView/FilterChipsView.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Map/FindMap/MapGuideView/FullScreenMapViewController.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Map/FindMap/MapGuideView/MapGuideReactor.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Map/FindMap/MapGuideView/MapGuideViewController.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Map/MapPopupCardView/MapPopupCarouselView.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Map/MapPopupCardView/PopupCardCell.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Map/MapView/MapMarker.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Map/MapView/MapReactor.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Map/MapView/MapSearchInput.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Map/MapView/MapView.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Map/MapView/MapViewController.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Map/MapView/MarkerTooltipView.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Map/StoreListView/StoreListCell.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Map/StoreListView/StoreListReactor.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Map/StoreListView/StoreListSection.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Map/StoreListView/StoreListView.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Map/StoreListView/StoreListViewController.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/MyPage/Block/BlockUserManageController.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/MyPage/Block/BlockUserManageReactor.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/MyPage/Block/View/BlockUserListSection/BlockUserListSection.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/MyPage/Block/View/BlockUserListSection/BlockUserListSectionCell.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/MyPage/Block/View/BlockUserManageView.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/MyPage/Bookmark/Main/MyPageBookmarkController.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/MyPage/Bookmark/Main/MyPageBookmarkReactor.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/MyPage/Bookmark/Main/MyPageBookmarkView.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/MyPage/Bookmark/Main/View/CountButtonView.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/MyPage/Bookmark/Main/View/PopUpCardSection/PopUpCardSection.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/MyPage/Bookmark/Main/View/PopUpCardSection/PopUpCardSectionCell.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/MyPage/Bookmark/Main/View/PopUpCardSection/PopUpCardView.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/MyPage/Bookmark/ViewTypeModal/BookMarkPopUpViewTypeModalController.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/MyPage/Bookmark/ViewTypeModal/BookMarkPopUpViewTypeModalReactor.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/MyPage/Bookmark/ViewTypeModal/BookMarkPopUpViewTypeModalView.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/MyPage/FAQ/FAQController.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/MyPage/FAQ/FAQReactor.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/MyPage/FAQ/View/FAQDropdownSection/FAQDropdownSection.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/MyPage/FAQ/View/FAQDropdownSection/FAQDropdownSectionCell.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/MyPage/FAQ/View/FAQView.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/MyPage/Main/MyPageController.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/MyPage/Main/MyPageReactor.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/MyPage/Main/View/MyPageCommentSection/MyPageCommentSection.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/MyPage/Main/View/MyPageCommentSection/MyPageCommentSectionCell.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/MyPage/Main/View/MyPageListSection/MyPageListSection.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/MyPage/Main/View/MyPageListSection/MyPageListSectionCell.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/MyPage/Main/View/MyPageLogoutSection/MyPageLogoutSection.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/MyPage/Main/View/MyPageLogoutSection/MyPageLogoutSectionCell.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/MyPage/Main/View/MyPageMyCommentTitleSection/MyPageMyCommentTitleSection.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/MyPage/Main/View/MyPageMyCommentTitleSection/MyPageMyCommentTitleSectionCell.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/MyPage/Main/View/MyPageProfileSection/MyPageProfileSection.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/MyPage/Main/View/MyPageProfileSection/MyPageProfileSectionCell.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/MyPage/Main/View/MyPageView.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/MyPage/MyComment/Main/MyCommentController.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/MyPage/MyComment/Main/MyCommentReactor.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/MyPage/MyComment/Main/View/ListCountButtonSection/ListCountButtonSection.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/MyPage/MyComment/Main/View/ListCountButtonSection/ListCountButtonSectionCell.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/MyPage/MyComment/Main/View/MyCommentView.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/MyPage/MyComment/Main/View/MyCommentedPopUpGridSection/MyCommentedPopUpGridSection.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/MyPage/MyComment/Main/View/MyCommentedPopUpGridSection/MyCommentedPopUpGridSectionCell.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/MyPage/MyComment/SortedModal/MyCommentSortedModalController.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/MyPage/MyComment/SortedModal/MyCommentSortedModalReactor.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/MyPage/MyComment/SortedModal/MyCommentSortedModalView.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/MyPage/Notice/Detail/MyPageNoticeDetailController.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/MyPage/Notice/Detail/MyPageNoticeDetailReactor.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/MyPage/Notice/Detail/MyPageNoticeDetailView.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/MyPage/Notice/List/MyPageNoticeController.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/MyPage/Notice/List/MyPageNoticeReactor.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/MyPage/Notice/List/View/MyPageNoticeView.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/MyPage/Notice/List/View/NoticeListSection/NoticeListSection.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/MyPage/Notice/List/View/NoticeListSection/NoticeListSectionCell.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/MyPage/ProfileEdit/CategoryEditModal/CategoryEditModalController.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/MyPage/ProfileEdit/CategoryEditModal/CategoryEditModalReactor.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/MyPage/ProfileEdit/CategoryEditModal/CategoryEditModalView.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/MyPage/ProfileEdit/InfoEditModal/InfoEditModalController.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/MyPage/ProfileEdit/InfoEditModal/InfoEditModalReactor.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/MyPage/ProfileEdit/InfoEditModal/InfoEditModalView.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/MyPage/ProfileEdit/Main/ProfileEditController.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/MyPage/ProfileEdit/Main/ProfileEditReactor.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/MyPage/ProfileEdit/Main/View/ProfileEditListButton.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/MyPage/ProfileEdit/Main/View/ProfileEditView.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/MyPage/Recent/MyPageRecentController.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/MyPage/Recent/MyPageRecentReactor.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/MyPage/Recent/View/MyPageRecentView.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/MyPage/Recent/View/RecentPopUpSection/RecentPopUpSection.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/MyPage/Terms/MyPageTermsController.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/MyPage/Terms/MyPageTermsReactor.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/MyPage/Withdrawl/CheckModal/WithdrawlCheckModalController.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/MyPage/Withdrawl/CheckModal/WithdrawlCheckModalReactor.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/MyPage/Withdrawl/CheckModal/WithdrawlCheckModalView.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/MyPage/Withdrawl/Complete/WithdrawlCompleteController.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/MyPage/Withdrawl/Complete/WithdrawlCompleteView.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/MyPage/Withdrawl/SelectedReason/View/WithdrawlCheckSection.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/MyPage/Withdrawl/SelectedReason/View/WithdrawlCheckSectionCell.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/MyPage/Withdrawl/SelectedReason/View/WithdrawlReasonView.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/MyPage/Withdrawl/SelectedReason/WithdrawlReasonController.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/MyPage/Withdrawl/SelectedReason/WithdrawlReasonReactor.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Search/AfterSearch/SearchResultController.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Search/AfterSearch/SearchResultReactor.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Search/AfterSearch/View/SearchResultCountSection/SearchResultCountSection.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Search/AfterSearch/View/SearchResultCountSection/SearchResultCountSectionCell.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Search/AfterSearch/View/SearchResultView.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Search/BeforeSearch/SearchController.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Search/BeforeSearch/SearchReactor.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Search/BeforeSearch/View/CancelableTagSection/CancelableTagSection.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Search/BeforeSearch/View/CancelableTagSection/CancelableTagSectionCell.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Search/BeforeSearch/View/SearchCountTitleSection/SearchCountTitleSection.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Search/BeforeSearch/View/SearchCountTitleSection/SearchCountTitleSectionCell.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Search/BeforeSearch/View/SearchTitleSection/SearchTitleSection.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Search/BeforeSearch/View/SearchTitleSection/SearchTitleSectionCell.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Search/BeforeSearch/View/SearchView.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Search/CategoryController/SearchCategoryController.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Search/CategoryController/SearchCategoryReactor.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Search/CategoryController/SearchCategoryView.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Search/Main/SearchMainController.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Search/Main/SearchMainReactor.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Search/Main/SearchMainView.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Search/SortedController/SearchSortedController.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Search/SortedController/SearchSortedReactor.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Search/SortedController/SearchSortedView.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/SignUp/Main/SignUpMainController.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/SignUp/Main/SignUpMainReactor.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/SignUp/Main/View/SignUpMainView.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/SignUp/SignUpComplete/SignUpCompleteController.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/SignUp/SignUpComplete/SignUpCompleteReactor.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/SignUp/SignUpComplete/SignUpCompleteView.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/SignUp/Step1/SignUpStep1Controller.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/SignUp/Step1/SignUpStep1Reactor.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/SignUp/Step1/View/SignUpCheckBoxButton.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/SignUp/Step1/View/SignUpStep1View.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/SignUp/Step1/View/SignUpTermsView.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/SignUp/Step2/IntroState.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/SignUp/Step2/NickNameState.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/SignUp/Step2/SignUpStep2Controller.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/SignUp/Step2/SignUpStep2Reactor.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/SignUp/Step2/SignUpStep2View.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/SignUp/Step3/SignUpStep3Controller.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/SignUp/Step3/SignUpStep3Reactor.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/SignUp/Step3/View/SignUpStep3View.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/SignUp/Step3/View/TagSection/TagSection.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/SignUp/Step3/View/TagSection/TagSectionCell.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/SignUp/Step4/AgeSelectedModal/AgeSelectedController.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/SignUp/Step4/AgeSelectedModal/AgeSelectedReactor.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/SignUp/Step4/AgeSelectedModal/AgeSelectedView.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/SignUp/Step4/Main/SignUpStep4Controller.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/SignUp/Step4/Main/SignUpStep4Reactor.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/SignUp/Step4/Main/View/AgeSelectedButton.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/SignUp/Step4/Main/View/SignUpStep4View.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/SignUp/TermsDetail/TermsDetailController.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/SignUp/TermsDetail/TermsDetailView.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Splash/SplashController.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/Splash/View/SplashView.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Scene/TabbarController/TabbarController.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Utills/Common/ClusteringManager.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Utills/Common/ClusteringModels.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Utills/Common/DateTimePickerManager.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Utills/Common/ExtendedImage.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Utills/Common/FilterType.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Utills/Common/LocationPermissionBottomSheet.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Utills/Common/MapFilterChips.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Utills/Common/MapUtilities.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Utills/Common/NMFMapViewDelegateProxy.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Utills/Common/RegionDefinitions.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Utills/Common/ViewportBounds.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Utills/Controllers/BaseTabmanController.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Utills/Controllers/BaseViewController.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Utills/Interfaces/InOutputable.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Utills/Interfaces/Sectionable/SectionDecorationItem.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Utills/Interfaces/Sectionable/SectionSupplementaryItem.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Utills/Interfaces/Sectionable/Sectionable.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Utills/ToastMaker/BookMarkToastView.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Utills/ToastMaker/ToastMaker.swift (100%) rename Poppool/Poppool/{ => PresentationLayer}/Presentation/Utills/ToastMaker/ToastView.swift (100%) diff --git a/Poppool/Poppool/Infrastructure/Extension/Date?+.swift b/Poppool/Poppool/CoreLayer/Infrastructure/Extension/Date?+.swift similarity index 100% rename from Poppool/Poppool/Infrastructure/Extension/Date?+.swift rename to Poppool/Poppool/CoreLayer/Infrastructure/Extension/Date?+.swift diff --git a/Poppool/Poppool/Infrastructure/Extension/Reactive+.swift b/Poppool/Poppool/CoreLayer/Infrastructure/Extension/Reactive+.swift similarity index 100% rename from Poppool/Poppool/Infrastructure/Extension/Reactive+.swift rename to Poppool/Poppool/CoreLayer/Infrastructure/Extension/Reactive+.swift diff --git a/Poppool/Poppool/Infrastructure/Extension/String?+.swift b/Poppool/Poppool/CoreLayer/Infrastructure/Extension/String?+.swift similarity index 100% rename from Poppool/Poppool/Infrastructure/Extension/String?+.swift rename to Poppool/Poppool/CoreLayer/Infrastructure/Extension/String?+.swift diff --git a/Poppool/Poppool/Infrastructure/Extension/UIApplication+.swift b/Poppool/Poppool/CoreLayer/Infrastructure/Extension/UIApplication+.swift similarity index 100% rename from Poppool/Poppool/Infrastructure/Extension/UIApplication+.swift rename to Poppool/Poppool/CoreLayer/Infrastructure/Extension/UIApplication+.swift diff --git a/Poppool/Poppool/Infrastructure/Extension/UICollectionReusableView+.swift b/Poppool/Poppool/CoreLayer/Infrastructure/Extension/UICollectionReusableView+.swift similarity index 100% rename from Poppool/Poppool/Infrastructure/Extension/UICollectionReusableView+.swift rename to Poppool/Poppool/CoreLayer/Infrastructure/Extension/UICollectionReusableView+.swift diff --git a/Poppool/Poppool/Infrastructure/Extension/UICollectionViewCell+.swift b/Poppool/Poppool/CoreLayer/Infrastructure/Extension/UICollectionViewCell+.swift similarity index 100% rename from Poppool/Poppool/Infrastructure/Extension/UICollectionViewCell+.swift rename to Poppool/Poppool/CoreLayer/Infrastructure/Extension/UICollectionViewCell+.swift diff --git a/Poppool/Poppool/Infrastructure/Extension/UIColor+.swift b/Poppool/Poppool/CoreLayer/Infrastructure/Extension/UIColor+.swift similarity index 100% rename from Poppool/Poppool/Infrastructure/Extension/UIColor+.swift rename to Poppool/Poppool/CoreLayer/Infrastructure/Extension/UIColor+.swift diff --git a/Poppool/Poppool/Infrastructure/Extension/UIFont+.swift b/Poppool/Poppool/CoreLayer/Infrastructure/Extension/UIFont+.swift similarity index 100% rename from Poppool/Poppool/Infrastructure/Extension/UIFont+.swift rename to Poppool/Poppool/CoreLayer/Infrastructure/Extension/UIFont+.swift diff --git a/Poppool/Poppool/Infrastructure/Extension/UIImage+.swift b/Poppool/Poppool/CoreLayer/Infrastructure/Extension/UIImage+.swift similarity index 100% rename from Poppool/Poppool/Infrastructure/Extension/UIImage+.swift rename to Poppool/Poppool/CoreLayer/Infrastructure/Extension/UIImage+.swift diff --git a/Poppool/Poppool/Infrastructure/Extension/UIImageView+.swift b/Poppool/Poppool/CoreLayer/Infrastructure/Extension/UIImageView+.swift similarity index 100% rename from Poppool/Poppool/Infrastructure/Extension/UIImageView+.swift rename to Poppool/Poppool/CoreLayer/Infrastructure/Extension/UIImageView+.swift diff --git a/Poppool/Poppool/Infrastructure/Extension/UILabel+.swift b/Poppool/Poppool/CoreLayer/Infrastructure/Extension/UILabel+.swift similarity index 100% rename from Poppool/Poppool/Infrastructure/Extension/UILabel+.swift rename to Poppool/Poppool/CoreLayer/Infrastructure/Extension/UILabel+.swift diff --git a/Poppool/Poppool/Infrastructure/Extension/UINavigationController+.swift b/Poppool/Poppool/CoreLayer/Infrastructure/Extension/UINavigationController+.swift similarity index 100% rename from Poppool/Poppool/Infrastructure/Extension/UINavigationController+.swift rename to Poppool/Poppool/CoreLayer/Infrastructure/Extension/UINavigationController+.swift diff --git a/Poppool/Poppool/Infrastructure/Extension/UITableViewCell+.swift b/Poppool/Poppool/CoreLayer/Infrastructure/Extension/UITableViewCell+.swift similarity index 100% rename from Poppool/Poppool/Infrastructure/Extension/UITableViewCell+.swift rename to Poppool/Poppool/CoreLayer/Infrastructure/Extension/UITableViewCell+.swift diff --git a/Poppool/Poppool/Infrastructure/Extension/UITextField+.swift b/Poppool/Poppool/CoreLayer/Infrastructure/Extension/UITextField+.swift similarity index 100% rename from Poppool/Poppool/Infrastructure/Extension/UITextField+.swift rename to Poppool/Poppool/CoreLayer/Infrastructure/Extension/UITextField+.swift diff --git a/Poppool/Poppool/Infrastructure/Extension/UIView+.swift b/Poppool/Poppool/CoreLayer/Infrastructure/Extension/UIView+.swift similarity index 100% rename from Poppool/Poppool/Infrastructure/Extension/UIView+.swift rename to Poppool/Poppool/CoreLayer/Infrastructure/Extension/UIView+.swift diff --git a/Poppool/Poppool/Infrastructure/ImageLoader/DiskStorage.swift b/Poppool/Poppool/CoreLayer/Infrastructure/ImageLoader/DiskStorage.swift similarity index 100% rename from Poppool/Poppool/Infrastructure/ImageLoader/DiskStorage.swift rename to Poppool/Poppool/CoreLayer/Infrastructure/ImageLoader/DiskStorage.swift diff --git a/Poppool/Poppool/Infrastructure/ImageLoader/ImageLoader.swift b/Poppool/Poppool/CoreLayer/Infrastructure/ImageLoader/ImageLoader.swift similarity index 100% rename from Poppool/Poppool/Infrastructure/ImageLoader/ImageLoader.swift rename to Poppool/Poppool/CoreLayer/Infrastructure/ImageLoader/ImageLoader.swift diff --git a/Poppool/Poppool/Infrastructure/ImageLoader/MemoryStorage.swift b/Poppool/Poppool/CoreLayer/Infrastructure/ImageLoader/MemoryStorage.swift similarity index 100% rename from Poppool/Poppool/Infrastructure/ImageLoader/MemoryStorage.swift rename to Poppool/Poppool/CoreLayer/Infrastructure/ImageLoader/MemoryStorage.swift diff --git a/Poppool/Poppool/Infrastructure/NetworkLayer/IndicatorMaker/IndicatorMaker.swift b/Poppool/Poppool/CoreLayer/Infrastructure/IndicatorMaker/IndicatorMaker.swift similarity index 100% rename from Poppool/Poppool/Infrastructure/NetworkLayer/IndicatorMaker/IndicatorMaker.swift rename to Poppool/Poppool/CoreLayer/Infrastructure/IndicatorMaker/IndicatorMaker.swift diff --git a/Poppool/Poppool/Infrastructure/Logger/Logger.swift b/Poppool/Poppool/CoreLayer/Infrastructure/Logger/Logger.swift similarity index 100% rename from Poppool/Poppool/Infrastructure/Logger/Logger.swift rename to Poppool/Poppool/CoreLayer/Infrastructure/Logger/Logger.swift diff --git a/Poppool/Poppool/Resource/Secrets.swift b/Poppool/Poppool/CoreLayer/Infrastructure/Secrets.swift similarity index 100% rename from Poppool/Poppool/Resource/Secrets.swift rename to Poppool/Poppool/CoreLayer/Infrastructure/Secrets.swift diff --git a/Poppool/Poppool/Data/Network/AdminAPI/AdminAPIEndpoint.swift b/Poppool/Poppool/DataLayer/Network/API/AdminAPI/AdminAPIEndpoint.swift similarity index 100% rename from Poppool/Poppool/Data/Network/AdminAPI/AdminAPIEndpoint.swift rename to Poppool/Poppool/DataLayer/Network/API/AdminAPI/AdminAPIEndpoint.swift diff --git a/Poppool/Poppool/Data/Network/AdminAPI/ResponseDTO/AdminResponseDTO.swift b/Poppool/Poppool/DataLayer/Network/API/AdminAPI/ResponseDTO/AdminResponseDTO.swift similarity index 100% rename from Poppool/Poppool/Data/Network/AdminAPI/ResponseDTO/AdminResponseDTO.swift rename to Poppool/Poppool/DataLayer/Network/API/AdminAPI/ResponseDTO/AdminResponseDTO.swift diff --git a/Poppool/Poppool/Data/Network/AdminAPI/ResponseDTO/GetAdminPopUpStoreListResponseDTO.swift b/Poppool/Poppool/DataLayer/Network/API/AdminAPI/ResponseDTO/GetAdminPopUpStoreListResponseDTO.swift similarity index 100% rename from Poppool/Poppool/Data/Network/AdminAPI/ResponseDTO/GetAdminPopUpStoreListResponseDTO.swift rename to Poppool/Poppool/DataLayer/Network/API/AdminAPI/ResponseDTO/GetAdminPopUpStoreListResponseDTO.swift diff --git a/Poppool/Poppool/Data/Network/AuthAPI/AuthAPIEndPoint.swift b/Poppool/Poppool/DataLayer/Network/API/AuthAPI/AuthAPIEndPoint.swift similarity index 100% rename from Poppool/Poppool/Data/Network/AuthAPI/AuthAPIEndPoint.swift rename to Poppool/Poppool/DataLayer/Network/API/AuthAPI/AuthAPIEndPoint.swift diff --git a/Poppool/Poppool/Data/Network/AuthAPI/ResponseDTO/LoginResponseDTO.swift b/Poppool/Poppool/DataLayer/Network/API/AuthAPI/ResponseDTO/LoginResponseDTO.swift similarity index 100% rename from Poppool/Poppool/Data/Network/AuthAPI/ResponseDTO/LoginResponseDTO.swift rename to Poppool/Poppool/DataLayer/Network/API/AuthAPI/ResponseDTO/LoginResponseDTO.swift diff --git a/Poppool/Poppool/Data/Network/AuthAPI/ResponseDTO/PostTokenReissueResponseDTO.swift b/Poppool/Poppool/DataLayer/Network/API/AuthAPI/ResponseDTO/PostTokenReissueResponseDTO.swift similarity index 100% rename from Poppool/Poppool/Data/Network/AuthAPI/ResponseDTO/PostTokenReissueResponseDTO.swift rename to Poppool/Poppool/DataLayer/Network/API/AuthAPI/ResponseDTO/PostTokenReissueResponseDTO.swift diff --git a/Poppool/Poppool/Data/Network/CommentAPI/CommentAPIEndPoint.swift b/Poppool/Poppool/DataLayer/Network/API/CommentAPI/CommentAPIEndPoint.swift similarity index 100% rename from Poppool/Poppool/Data/Network/CommentAPI/CommentAPIEndPoint.swift rename to Poppool/Poppool/DataLayer/Network/API/CommentAPI/CommentAPIEndPoint.swift diff --git a/Poppool/Poppool/Data/Network/CommentAPI/RequestDTO/DeleteCommentRequestDTO.swift b/Poppool/Poppool/DataLayer/Network/API/CommentAPI/RequestDTO/DeleteCommentRequestDTO.swift similarity index 100% rename from Poppool/Poppool/Data/Network/CommentAPI/RequestDTO/DeleteCommentRequestDTO.swift rename to Poppool/Poppool/DataLayer/Network/API/CommentAPI/RequestDTO/DeleteCommentRequestDTO.swift diff --git a/Poppool/Poppool/Data/Network/CommentAPI/RequestDTO/PostCommentRequestDTO.swift b/Poppool/Poppool/DataLayer/Network/API/CommentAPI/RequestDTO/PostCommentRequestDTO.swift similarity index 100% rename from Poppool/Poppool/Data/Network/CommentAPI/RequestDTO/PostCommentRequestDTO.swift rename to Poppool/Poppool/DataLayer/Network/API/CommentAPI/RequestDTO/PostCommentRequestDTO.swift diff --git a/Poppool/Poppool/Data/Network/CommentAPI/RequestDTO/PutCommentRequestDTO.swift b/Poppool/Poppool/DataLayer/Network/API/CommentAPI/RequestDTO/PutCommentRequestDTO.swift similarity index 100% rename from Poppool/Poppool/Data/Network/CommentAPI/RequestDTO/PutCommentRequestDTO.swift rename to Poppool/Poppool/DataLayer/Network/API/CommentAPI/RequestDTO/PutCommentRequestDTO.swift diff --git a/Poppool/Poppool/Data/Network/HomeAPI/HomeAPIEndpoint.swift b/Poppool/Poppool/DataLayer/Network/API/HomeAPI/HomeAPIEndpoint.swift similarity index 100% rename from Poppool/Poppool/Data/Network/HomeAPI/HomeAPIEndpoint.swift rename to Poppool/Poppool/DataLayer/Network/API/HomeAPI/HomeAPIEndpoint.swift diff --git a/Poppool/Poppool/Data/Network/HomeAPI/ResponseDTO/BannerPopUpStoreDTO.swift b/Poppool/Poppool/DataLayer/Network/API/HomeAPI/ResponseDTO/BannerPopUpStoreDTO.swift similarity index 100% rename from Poppool/Poppool/Data/Network/HomeAPI/ResponseDTO/BannerPopUpStoreDTO.swift rename to Poppool/Poppool/DataLayer/Network/API/HomeAPI/ResponseDTO/BannerPopUpStoreDTO.swift diff --git a/Poppool/Poppool/Data/Network/HomeAPI/ResponseDTO/GetHomeInfoResponseDTO.swift b/Poppool/Poppool/DataLayer/Network/API/HomeAPI/ResponseDTO/GetHomeInfoResponseDTO.swift similarity index 100% rename from Poppool/Poppool/Data/Network/HomeAPI/ResponseDTO/GetHomeInfoResponseDTO.swift rename to Poppool/Poppool/DataLayer/Network/API/HomeAPI/ResponseDTO/GetHomeInfoResponseDTO.swift diff --git a/Poppool/Poppool/Data/Network/HomeAPI/ResponseDTO/PopUpStoreResponseDTO.swift b/Poppool/Poppool/DataLayer/Network/API/HomeAPI/ResponseDTO/PopUpStoreResponseDTO.swift similarity index 100% rename from Poppool/Poppool/Data/Network/HomeAPI/ResponseDTO/PopUpStoreResponseDTO.swift rename to Poppool/Poppool/DataLayer/Network/API/HomeAPI/ResponseDTO/PopUpStoreResponseDTO.swift diff --git a/Poppool/Poppool/Data/Network/MapAPI/FindDirectionEndPoint.swift b/Poppool/Poppool/DataLayer/Network/API/MapAPI/FindDirectionEndPoint.swift similarity index 100% rename from Poppool/Poppool/Data/Network/MapAPI/FindDirectionEndPoint.swift rename to Poppool/Poppool/DataLayer/Network/API/MapAPI/FindDirectionEndPoint.swift diff --git a/Poppool/Poppool/Data/Network/MapAPI/MapAPIEndpoint.swift b/Poppool/Poppool/DataLayer/Network/API/MapAPI/MapAPIEndpoint.swift similarity index 100% rename from Poppool/Poppool/Data/Network/MapAPI/MapAPIEndpoint.swift rename to Poppool/Poppool/DataLayer/Network/API/MapAPI/MapAPIEndpoint.swift diff --git a/Poppool/Poppool/Data/Network/MapAPI/ResponseDTO/GetPopUpDirectionResponseDTO.swift b/Poppool/Poppool/DataLayer/Network/API/MapAPI/ResponseDTO/GetPopUpDirectionResponseDTO.swift similarity index 100% rename from Poppool/Poppool/Data/Network/MapAPI/ResponseDTO/GetPopUpDirectionResponseDTO.swift rename to Poppool/Poppool/DataLayer/Network/API/MapAPI/ResponseDTO/GetPopUpDirectionResponseDTO.swift diff --git a/Poppool/Poppool/Data/Network/MapAPI/ResponseDTO/MapPopUpStoreDTO.swift b/Poppool/Poppool/DataLayer/Network/API/MapAPI/ResponseDTO/MapPopUpStoreDTO.swift similarity index 100% rename from Poppool/Poppool/Data/Network/MapAPI/ResponseDTO/MapPopUpStoreDTO.swift rename to Poppool/Poppool/DataLayer/Network/API/MapAPI/ResponseDTO/MapPopUpStoreDTO.swift diff --git a/Poppool/Poppool/Data/Network/PopUpAPI/PopUpAPIEndPoint.swift b/Poppool/Poppool/DataLayer/Network/API/PopUpAPI/PopUpAPIEndPoint.swift similarity index 100% rename from Poppool/Poppool/Data/Network/PopUpAPI/PopUpAPIEndPoint.swift rename to Poppool/Poppool/DataLayer/Network/API/PopUpAPI/PopUpAPIEndPoint.swift diff --git a/Poppool/Poppool/Data/Network/PopUpAPI/RequestDTO/GetPopUpCommentRequestDTO.swift b/Poppool/Poppool/DataLayer/Network/API/PopUpAPI/RequestDTO/GetPopUpCommentRequestDTO.swift similarity index 100% rename from Poppool/Poppool/Data/Network/PopUpAPI/RequestDTO/GetPopUpCommentRequestDTO.swift rename to Poppool/Poppool/DataLayer/Network/API/PopUpAPI/RequestDTO/GetPopUpCommentRequestDTO.swift diff --git a/Poppool/Poppool/Data/Network/PopUpAPI/RequestDTO/GetPopUpDetailRequestDTO.swift b/Poppool/Poppool/DataLayer/Network/API/PopUpAPI/RequestDTO/GetPopUpDetailRequestDTO.swift similarity index 100% rename from Poppool/Poppool/Data/Network/PopUpAPI/RequestDTO/GetPopUpDetailRequestDTO.swift rename to Poppool/Poppool/DataLayer/Network/API/PopUpAPI/RequestDTO/GetPopUpDetailRequestDTO.swift diff --git a/Poppool/Poppool/Data/Network/PopUpAPI/RequestDTO/GetSearchPopUpListRequestDTO.swift b/Poppool/Poppool/DataLayer/Network/API/PopUpAPI/RequestDTO/GetSearchPopUpListRequestDTO.swift similarity index 100% rename from Poppool/Poppool/Data/Network/PopUpAPI/RequestDTO/GetSearchPopUpListRequestDTO.swift rename to Poppool/Poppool/DataLayer/Network/API/PopUpAPI/RequestDTO/GetSearchPopUpListRequestDTO.swift diff --git a/Poppool/Poppool/Data/Network/PopUpAPI/ResponseDTO/GetClosePopUpListResponseDTO.swift b/Poppool/Poppool/DataLayer/Network/API/PopUpAPI/ResponseDTO/GetClosePopUpListResponseDTO.swift similarity index 100% rename from Poppool/Poppool/Data/Network/PopUpAPI/ResponseDTO/GetClosePopUpListResponseDTO.swift rename to Poppool/Poppool/DataLayer/Network/API/PopUpAPI/ResponseDTO/GetClosePopUpListResponseDTO.swift diff --git a/Poppool/Poppool/Data/Network/PopUpAPI/ResponseDTO/GetOpenPopUpListResponseDTO.swift b/Poppool/Poppool/DataLayer/Network/API/PopUpAPI/ResponseDTO/GetOpenPopUpListResponseDTO.swift similarity index 100% rename from Poppool/Poppool/Data/Network/PopUpAPI/ResponseDTO/GetOpenPopUpListResponseDTO.swift rename to Poppool/Poppool/DataLayer/Network/API/PopUpAPI/ResponseDTO/GetOpenPopUpListResponseDTO.swift diff --git a/Poppool/Poppool/Data/Network/PopUpAPI/ResponseDTO/GetPopUpCommentResponseDTO.swift b/Poppool/Poppool/DataLayer/Network/API/PopUpAPI/ResponseDTO/GetPopUpCommentResponseDTO.swift similarity index 100% rename from Poppool/Poppool/Data/Network/PopUpAPI/ResponseDTO/GetPopUpCommentResponseDTO.swift rename to Poppool/Poppool/DataLayer/Network/API/PopUpAPI/ResponseDTO/GetPopUpCommentResponseDTO.swift diff --git a/Poppool/Poppool/Data/Network/PopUpAPI/ResponseDTO/GetPopUpDetailResponseDTO.swift b/Poppool/Poppool/DataLayer/Network/API/PopUpAPI/ResponseDTO/GetPopUpDetailResponseDTO.swift similarity index 100% rename from Poppool/Poppool/Data/Network/PopUpAPI/ResponseDTO/GetPopUpDetailResponseDTO.swift rename to Poppool/Poppool/DataLayer/Network/API/PopUpAPI/ResponseDTO/GetPopUpDetailResponseDTO.swift diff --git a/Poppool/Poppool/Data/Network/PopUpAPI/ResponseDTO/GetSearchPopUpListResponseDTO.swift b/Poppool/Poppool/DataLayer/Network/API/PopUpAPI/ResponseDTO/GetSearchPopUpListResponseDTO.swift similarity index 100% rename from Poppool/Poppool/Data/Network/PopUpAPI/ResponseDTO/GetSearchPopUpListResponseDTO.swift rename to Poppool/Poppool/DataLayer/Network/API/PopUpAPI/ResponseDTO/GetSearchPopUpListResponseDTO.swift diff --git a/Poppool/Poppool/Infrastructure/PreSignedService/PreSignedAPI/PreSignedAPIEndPoint.swift b/Poppool/Poppool/DataLayer/Network/API/PreSignedAPI/PreSignedAPIEndPoint.swift similarity index 100% rename from Poppool/Poppool/Infrastructure/PreSignedService/PreSignedAPI/PreSignedAPIEndPoint.swift rename to Poppool/Poppool/DataLayer/Network/API/PreSignedAPI/PreSignedAPIEndPoint.swift diff --git a/Poppool/Poppool/Infrastructure/PreSignedService/PreSignedAPI/RequestDTO/PresignedURLRequestDTO.swift b/Poppool/Poppool/DataLayer/Network/API/PreSignedAPI/RequestDTO/PresignedURLRequestDTO.swift similarity index 100% rename from Poppool/Poppool/Infrastructure/PreSignedService/PreSignedAPI/RequestDTO/PresignedURLRequestDTO.swift rename to Poppool/Poppool/DataLayer/Network/API/PreSignedAPI/RequestDTO/PresignedURLRequestDTO.swift diff --git a/Poppool/Poppool/Infrastructure/PreSignedService/PreSignedAPI/ResponseDTO/PreSignedURLDTO.swift b/Poppool/Poppool/DataLayer/Network/API/PreSignedAPI/ResponseDTO/PreSignedURLDTO.swift similarity index 100% rename from Poppool/Poppool/Infrastructure/PreSignedService/PreSignedAPI/ResponseDTO/PreSignedURLDTO.swift rename to Poppool/Poppool/DataLayer/Network/API/PreSignedAPI/ResponseDTO/PreSignedURLDTO.swift diff --git a/Poppool/Poppool/Infrastructure/PreSignedService/PreSignedAPI/ResponseDTO/PreSignedURLResponseDTO.swift b/Poppool/Poppool/DataLayer/Network/API/PreSignedAPI/ResponseDTO/PreSignedURLResponseDTO.swift similarity index 100% rename from Poppool/Poppool/Infrastructure/PreSignedService/PreSignedAPI/ResponseDTO/PreSignedURLResponseDTO.swift rename to Poppool/Poppool/DataLayer/Network/API/PreSignedAPI/ResponseDTO/PreSignedURLResponseDTO.swift diff --git a/Poppool/Poppool/Data/Network/SignUpAPI/RequestDTO/CheckNickNameRequestDTO.swift b/Poppool/Poppool/DataLayer/Network/API/SignUpAPI/RequestDTO/CheckNickNameRequestDTO.swift similarity index 100% rename from Poppool/Poppool/Data/Network/SignUpAPI/RequestDTO/CheckNickNameRequestDTO.swift rename to Poppool/Poppool/DataLayer/Network/API/SignUpAPI/RequestDTO/CheckNickNameRequestDTO.swift diff --git a/Poppool/Poppool/Data/Network/SignUpAPI/RequestDTO/SignUpRequestDTO.swift b/Poppool/Poppool/DataLayer/Network/API/SignUpAPI/RequestDTO/SignUpRequestDTO.swift similarity index 100% rename from Poppool/Poppool/Data/Network/SignUpAPI/RequestDTO/SignUpRequestDTO.swift rename to Poppool/Poppool/DataLayer/Network/API/SignUpAPI/RequestDTO/SignUpRequestDTO.swift diff --git a/Poppool/Poppool/Data/Network/SignUpAPI/ResponseDTO/GetCategoryListResponseDTO.swift b/Poppool/Poppool/DataLayer/Network/API/SignUpAPI/ResponseDTO/GetCategoryListResponseDTO.swift similarity index 100% rename from Poppool/Poppool/Data/Network/SignUpAPI/ResponseDTO/GetCategoryListResponseDTO.swift rename to Poppool/Poppool/DataLayer/Network/API/SignUpAPI/ResponseDTO/GetCategoryListResponseDTO.swift diff --git a/Poppool/Poppool/Data/Network/SignUpAPI/SignUpAPIEndpoint.swift b/Poppool/Poppool/DataLayer/Network/API/SignUpAPI/SignUpAPIEndpoint.swift similarity index 100% rename from Poppool/Poppool/Data/Network/SignUpAPI/SignUpAPIEndpoint.swift rename to Poppool/Poppool/DataLayer/Network/API/SignUpAPI/SignUpAPIEndpoint.swift diff --git a/Poppool/Poppool/Data/Network/SortedRequestDTO.swift b/Poppool/Poppool/DataLayer/Network/API/SortedRequestDTO.swift similarity index 100% rename from Poppool/Poppool/Data/Network/SortedRequestDTO.swift rename to Poppool/Poppool/DataLayer/Network/API/SortedRequestDTO.swift diff --git a/Poppool/Poppool/Data/Network/UserAPI/RequesetDTO/CommentLikeRequestDTO.swift b/Poppool/Poppool/DataLayer/Network/API/UserAPI/RequesetDTO/CommentLikeRequestDTO.swift similarity index 100% rename from Poppool/Poppool/Data/Network/UserAPI/RequesetDTO/CommentLikeRequestDTO.swift rename to Poppool/Poppool/DataLayer/Network/API/UserAPI/RequesetDTO/CommentLikeRequestDTO.swift diff --git a/Poppool/Poppool/Data/Network/UserAPI/RequesetDTO/GetBlockUserListRequestDTO.swift b/Poppool/Poppool/DataLayer/Network/API/UserAPI/RequesetDTO/GetBlockUserListRequestDTO.swift similarity index 100% rename from Poppool/Poppool/Data/Network/UserAPI/RequesetDTO/GetBlockUserListRequestDTO.swift rename to Poppool/Poppool/DataLayer/Network/API/UserAPI/RequesetDTO/GetBlockUserListRequestDTO.swift diff --git a/Poppool/Poppool/Data/Network/UserAPI/RequesetDTO/GetMyCommentRequestDTO.swift b/Poppool/Poppool/DataLayer/Network/API/UserAPI/RequesetDTO/GetMyCommentRequestDTO.swift similarity index 100% rename from Poppool/Poppool/Data/Network/UserAPI/RequesetDTO/GetMyCommentRequestDTO.swift rename to Poppool/Poppool/DataLayer/Network/API/UserAPI/RequesetDTO/GetMyCommentRequestDTO.swift diff --git a/Poppool/Poppool/Data/Network/UserAPI/RequesetDTO/GetOtherUserCommentListRequestDTO.swift b/Poppool/Poppool/DataLayer/Network/API/UserAPI/RequesetDTO/GetOtherUserCommentListRequestDTO.swift similarity index 100% rename from Poppool/Poppool/Data/Network/UserAPI/RequesetDTO/GetOtherUserCommentListRequestDTO.swift rename to Poppool/Poppool/DataLayer/Network/API/UserAPI/RequesetDTO/GetOtherUserCommentListRequestDTO.swift diff --git a/Poppool/Poppool/Data/Network/UserAPI/RequesetDTO/PostBookmarkPopUpRequestDTO.swift b/Poppool/Poppool/DataLayer/Network/API/UserAPI/RequesetDTO/PostBookmarkPopUpRequestDTO.swift similarity index 100% rename from Poppool/Poppool/Data/Network/UserAPI/RequesetDTO/PostBookmarkPopUpRequestDTO.swift rename to Poppool/Poppool/DataLayer/Network/API/UserAPI/RequesetDTO/PostBookmarkPopUpRequestDTO.swift diff --git a/Poppool/Poppool/Data/Network/UserAPI/RequesetDTO/PostUserBlockRequestDTO.swift b/Poppool/Poppool/DataLayer/Network/API/UserAPI/RequesetDTO/PostUserBlockRequestDTO.swift similarity index 100% rename from Poppool/Poppool/Data/Network/UserAPI/RequesetDTO/PostUserBlockRequestDTO.swift rename to Poppool/Poppool/DataLayer/Network/API/UserAPI/RequesetDTO/PostUserBlockRequestDTO.swift diff --git a/Poppool/Poppool/Data/Network/UserAPI/RequesetDTO/PutUserCategoryRequestDTO.swift b/Poppool/Poppool/DataLayer/Network/API/UserAPI/RequesetDTO/PutUserCategoryRequestDTO.swift similarity index 100% rename from Poppool/Poppool/Data/Network/UserAPI/RequesetDTO/PutUserCategoryRequestDTO.swift rename to Poppool/Poppool/DataLayer/Network/API/UserAPI/RequesetDTO/PutUserCategoryRequestDTO.swift diff --git a/Poppool/Poppool/Data/Network/UserAPI/RequesetDTO/PutUserProfileRequestDTO.swift b/Poppool/Poppool/DataLayer/Network/API/UserAPI/RequesetDTO/PutUserProfileRequestDTO.swift similarity index 100% rename from Poppool/Poppool/Data/Network/UserAPI/RequesetDTO/PutUserProfileRequestDTO.swift rename to Poppool/Poppool/DataLayer/Network/API/UserAPI/RequesetDTO/PutUserProfileRequestDTO.swift diff --git a/Poppool/Poppool/Data/Network/UserAPI/RequesetDTO/PutUserTailoredInfoRequestDTO.swift b/Poppool/Poppool/DataLayer/Network/API/UserAPI/RequesetDTO/PutUserTailoredInfoRequestDTO.swift similarity index 100% rename from Poppool/Poppool/Data/Network/UserAPI/RequesetDTO/PutUserTailoredInfoRequestDTO.swift rename to Poppool/Poppool/DataLayer/Network/API/UserAPI/RequesetDTO/PutUserTailoredInfoRequestDTO.swift diff --git a/Poppool/Poppool/Data/Network/UserAPI/ResponseDTO/GetBlockUserListResponseDTO.swift b/Poppool/Poppool/DataLayer/Network/API/UserAPI/ResponseDTO/GetBlockUserListResponseDTO.swift similarity index 100% rename from Poppool/Poppool/Data/Network/UserAPI/ResponseDTO/GetBlockUserListResponseDTO.swift rename to Poppool/Poppool/DataLayer/Network/API/UserAPI/ResponseDTO/GetBlockUserListResponseDTO.swift diff --git a/Poppool/Poppool/Data/Network/UserAPI/ResponseDTO/GetMyCommentedPopUpResponseDTO.swift b/Poppool/Poppool/DataLayer/Network/API/UserAPI/ResponseDTO/GetMyCommentedPopUpResponseDTO.swift similarity index 100% rename from Poppool/Poppool/Data/Network/UserAPI/ResponseDTO/GetMyCommentedPopUpResponseDTO.swift rename to Poppool/Poppool/DataLayer/Network/API/UserAPI/ResponseDTO/GetMyCommentedPopUpResponseDTO.swift diff --git a/Poppool/Poppool/Data/Network/UserAPI/ResponseDTO/GetMyPageResponseDTO.swift b/Poppool/Poppool/DataLayer/Network/API/UserAPI/ResponseDTO/GetMyPageResponseDTO.swift similarity index 100% rename from Poppool/Poppool/Data/Network/UserAPI/ResponseDTO/GetMyPageResponseDTO.swift rename to Poppool/Poppool/DataLayer/Network/API/UserAPI/ResponseDTO/GetMyPageResponseDTO.swift diff --git a/Poppool/Poppool/Data/Network/UserAPI/ResponseDTO/GetMyProfileResponseDTO.swift b/Poppool/Poppool/DataLayer/Network/API/UserAPI/ResponseDTO/GetMyProfileResponseDTO.swift similarity index 100% rename from Poppool/Poppool/Data/Network/UserAPI/ResponseDTO/GetMyProfileResponseDTO.swift rename to Poppool/Poppool/DataLayer/Network/API/UserAPI/ResponseDTO/GetMyProfileResponseDTO.swift diff --git a/Poppool/Poppool/Data/Network/UserAPI/ResponseDTO/GetNoticeDetailResponseDTO.swift b/Poppool/Poppool/DataLayer/Network/API/UserAPI/ResponseDTO/GetNoticeDetailResponseDTO.swift similarity index 100% rename from Poppool/Poppool/Data/Network/UserAPI/ResponseDTO/GetNoticeDetailResponseDTO.swift rename to Poppool/Poppool/DataLayer/Network/API/UserAPI/ResponseDTO/GetNoticeDetailResponseDTO.swift diff --git a/Poppool/Poppool/Data/Network/UserAPI/ResponseDTO/GetNoticeListResponseDTO.swift b/Poppool/Poppool/DataLayer/Network/API/UserAPI/ResponseDTO/GetNoticeListResponseDTO.swift similarity index 100% rename from Poppool/Poppool/Data/Network/UserAPI/ResponseDTO/GetNoticeListResponseDTO.swift rename to Poppool/Poppool/DataLayer/Network/API/UserAPI/ResponseDTO/GetNoticeListResponseDTO.swift diff --git a/Poppool/Poppool/Data/Network/UserAPI/ResponseDTO/GetOtherUserCommentedPopUpListResponseDTO.swift b/Poppool/Poppool/DataLayer/Network/API/UserAPI/ResponseDTO/GetOtherUserCommentedPopUpListResponseDTO.swift similarity index 100% rename from Poppool/Poppool/Data/Network/UserAPI/ResponseDTO/GetOtherUserCommentedPopUpListResponseDTO.swift rename to Poppool/Poppool/DataLayer/Network/API/UserAPI/ResponseDTO/GetOtherUserCommentedPopUpListResponseDTO.swift diff --git a/Poppool/Poppool/Data/Network/UserAPI/ResponseDTO/GetRecentPopUpResponseDTO.swift b/Poppool/Poppool/DataLayer/Network/API/UserAPI/ResponseDTO/GetRecentPopUpResponseDTO.swift similarity index 100% rename from Poppool/Poppool/Data/Network/UserAPI/ResponseDTO/GetRecentPopUpResponseDTO.swift rename to Poppool/Poppool/DataLayer/Network/API/UserAPI/ResponseDTO/GetRecentPopUpResponseDTO.swift diff --git a/Poppool/Poppool/Data/Network/UserAPI/ResponseDTO/GetWithdrawlListResponseDTO.swift b/Poppool/Poppool/DataLayer/Network/API/UserAPI/ResponseDTO/GetWithdrawlListResponseDTO.swift similarity index 100% rename from Poppool/Poppool/Data/Network/UserAPI/ResponseDTO/GetWithdrawlListResponseDTO.swift rename to Poppool/Poppool/DataLayer/Network/API/UserAPI/ResponseDTO/GetWithdrawlListResponseDTO.swift diff --git a/Poppool/Poppool/Data/Network/UserAPI/UserAPIEndPoint.swift b/Poppool/Poppool/DataLayer/Network/API/UserAPI/UserAPIEndPoint.swift similarity index 100% rename from Poppool/Poppool/Data/Network/UserAPI/UserAPIEndPoint.swift rename to Poppool/Poppool/DataLayer/Network/API/UserAPI/UserAPIEndPoint.swift diff --git a/Poppool/Poppool/Infrastructure/NetworkLayer/Common/NetworkError.swift b/Poppool/Poppool/DataLayer/Network/Common/NetworkError.swift similarity index 100% rename from Poppool/Poppool/Infrastructure/NetworkLayer/Common/NetworkError.swift rename to Poppool/Poppool/DataLayer/Network/Common/NetworkError.swift diff --git a/Poppool/Poppool/Infrastructure/NetworkLayer/Common/Requestable.swift b/Poppool/Poppool/DataLayer/Network/Common/Requestable.swift similarity index 100% rename from Poppool/Poppool/Infrastructure/NetworkLayer/Common/Requestable.swift rename to Poppool/Poppool/DataLayer/Network/Common/Requestable.swift diff --git a/Poppool/Poppool/Infrastructure/NetworkLayer/Common/Responsable.swift b/Poppool/Poppool/DataLayer/Network/Common/Responsable.swift similarity index 100% rename from Poppool/Poppool/Infrastructure/NetworkLayer/Common/Responsable.swift rename to Poppool/Poppool/DataLayer/Network/Common/Responsable.swift diff --git a/Poppool/Poppool/Infrastructure/NetworkLayer/EndPoint/Endpoint.swift b/Poppool/Poppool/DataLayer/Network/EndPoint/Endpoint.swift similarity index 100% rename from Poppool/Poppool/Infrastructure/NetworkLayer/EndPoint/Endpoint.swift rename to Poppool/Poppool/DataLayer/Network/EndPoint/Endpoint.swift diff --git a/Poppool/Poppool/Infrastructure/NetworkLayer/EndPoint/MultipartEndPoint.swift b/Poppool/Poppool/DataLayer/Network/EndPoint/MultipartEndPoint.swift similarity index 100% rename from Poppool/Poppool/Infrastructure/NetworkLayer/EndPoint/MultipartEndPoint.swift rename to Poppool/Poppool/DataLayer/Network/EndPoint/MultipartEndPoint.swift diff --git a/Poppool/Poppool/Infrastructure/NetworkLayer/EndPoint/RequestEndpoint.swift b/Poppool/Poppool/DataLayer/Network/EndPoint/RequestEndpoint.swift similarity index 100% rename from Poppool/Poppool/Infrastructure/NetworkLayer/EndPoint/RequestEndpoint.swift rename to Poppool/Poppool/DataLayer/Network/EndPoint/RequestEndpoint.swift diff --git a/Poppool/Poppool/Infrastructure/NetworkLayer/Interceptor/FormDataInterceptor.swift b/Poppool/Poppool/DataLayer/Network/Interceptor/FormDataInterceptor.swift similarity index 100% rename from Poppool/Poppool/Infrastructure/NetworkLayer/Interceptor/FormDataInterceptor.swift rename to Poppool/Poppool/DataLayer/Network/Interceptor/FormDataInterceptor.swift diff --git a/Poppool/Poppool/Infrastructure/NetworkLayer/Interceptor/TokenInterceptor.swift b/Poppool/Poppool/DataLayer/Network/Interceptor/TokenInterceptor.swift similarity index 100% rename from Poppool/Poppool/Infrastructure/NetworkLayer/Interceptor/TokenInterceptor.swift rename to Poppool/Poppool/DataLayer/Network/Interceptor/TokenInterceptor.swift diff --git a/Poppool/Poppool/Infrastructure/NetworkLayer/Provider/Provider.swift b/Poppool/Poppool/DataLayer/Network/Provider/Provider.swift similarity index 100% rename from Poppool/Poppool/Infrastructure/NetworkLayer/Provider/Provider.swift rename to Poppool/Poppool/DataLayer/Network/Provider/Provider.swift diff --git a/Poppool/Poppool/Infrastructure/NetworkLayer/Provider/ProviderImpl.swift b/Poppool/Poppool/DataLayer/Network/Provider/ProviderImpl.swift similarity index 100% rename from Poppool/Poppool/Infrastructure/NetworkLayer/Provider/ProviderImpl.swift rename to Poppool/Poppool/DataLayer/Network/Provider/ProviderImpl.swift diff --git a/Poppool/Poppool/Infrastructure/AppleLoginService.swift b/Poppool/Poppool/DataLayer/Network/Service/AppleLoginService.swift similarity index 100% rename from Poppool/Poppool/Infrastructure/AppleLoginService.swift rename to Poppool/Poppool/DataLayer/Network/Service/AppleLoginService.swift diff --git a/Poppool/Poppool/Infrastructure/AuthServiceable.swift b/Poppool/Poppool/DataLayer/Network/Service/AuthServiceable.swift similarity index 100% rename from Poppool/Poppool/Infrastructure/AuthServiceable.swift rename to Poppool/Poppool/DataLayer/Network/Service/AuthServiceable.swift diff --git a/Poppool/Poppool/Infrastructure/KakaoLoginService.swift b/Poppool/Poppool/DataLayer/Network/Service/KakaoLoginService.swift similarity index 100% rename from Poppool/Poppool/Infrastructure/KakaoLoginService.swift rename to Poppool/Poppool/DataLayer/Network/Service/KakaoLoginService.swift diff --git a/Poppool/Poppool/Infrastructure/KeyChainService.swift b/Poppool/Poppool/DataLayer/Network/Service/KeyChainService.swift similarity index 100% rename from Poppool/Poppool/Infrastructure/KeyChainService.swift rename to Poppool/Poppool/DataLayer/Network/Service/KeyChainService.swift diff --git a/Poppool/Poppool/Infrastructure/PreSignedService/PreSignedService.swift b/Poppool/Poppool/DataLayer/Network/Service/PreSignedService.swift similarity index 100% rename from Poppool/Poppool/Infrastructure/PreSignedService/PreSignedService.swift rename to Poppool/Poppool/DataLayer/Network/Service/PreSignedService.swift diff --git a/Poppool/Poppool/Infrastructure/UserDefaultService.swift b/Poppool/Poppool/DataLayer/Network/Service/UserDefaultService.swift similarity index 100% rename from Poppool/Poppool/Infrastructure/UserDefaultService.swift rename to Poppool/Poppool/DataLayer/Network/Service/UserDefaultService.swift diff --git a/Poppool/Poppool/Data/RepositoryImpl/AdminRepositoryImpl.swift b/Poppool/Poppool/DataLayer/RepositoryImpl/AdminRepositoryImpl.swift similarity index 100% rename from Poppool/Poppool/Data/RepositoryImpl/AdminRepositoryImpl.swift rename to Poppool/Poppool/DataLayer/RepositoryImpl/AdminRepositoryImpl.swift diff --git a/Poppool/Poppool/Data/RepositoryImpl/AuthAPIRepositoryImpl.swift b/Poppool/Poppool/DataLayer/RepositoryImpl/AuthAPIRepositoryImpl.swift similarity index 100% rename from Poppool/Poppool/Data/RepositoryImpl/AuthAPIRepositoryImpl.swift rename to Poppool/Poppool/DataLayer/RepositoryImpl/AuthAPIRepositoryImpl.swift diff --git a/Poppool/Poppool/Data/RepositoryImpl/CommentAPIRepositoryImpl.swift b/Poppool/Poppool/DataLayer/RepositoryImpl/CommentAPIRepositoryImpl.swift similarity index 100% rename from Poppool/Poppool/Data/RepositoryImpl/CommentAPIRepositoryImpl.swift rename to Poppool/Poppool/DataLayer/RepositoryImpl/CommentAPIRepositoryImpl.swift diff --git a/Poppool/Poppool/Data/RepositoryImpl/HomeAPIRepositoryImpl.swift b/Poppool/Poppool/DataLayer/RepositoryImpl/HomeAPIRepositoryImpl.swift similarity index 100% rename from Poppool/Poppool/Data/RepositoryImpl/HomeAPIRepositoryImpl.swift rename to Poppool/Poppool/DataLayer/RepositoryImpl/HomeAPIRepositoryImpl.swift diff --git a/Poppool/Poppool/Data/RepositoryImpl/MapDirectionRepositoryImpl.swift b/Poppool/Poppool/DataLayer/RepositoryImpl/MapDirectionRepositoryImpl.swift similarity index 100% rename from Poppool/Poppool/Data/RepositoryImpl/MapDirectionRepositoryImpl.swift rename to Poppool/Poppool/DataLayer/RepositoryImpl/MapDirectionRepositoryImpl.swift diff --git a/Poppool/Poppool/Data/RepositoryImpl/MapRepositoryImpl.swift b/Poppool/Poppool/DataLayer/RepositoryImpl/MapRepositoryImpl.swift similarity index 100% rename from Poppool/Poppool/Data/RepositoryImpl/MapRepositoryImpl.swift rename to Poppool/Poppool/DataLayer/RepositoryImpl/MapRepositoryImpl.swift diff --git a/Poppool/Poppool/Data/RepositoryImpl/PopUpAPIRepositoryImpl.swift b/Poppool/Poppool/DataLayer/RepositoryImpl/PopUpAPIRepositoryImpl.swift similarity index 100% rename from Poppool/Poppool/Data/RepositoryImpl/PopUpAPIRepositoryImpl.swift rename to Poppool/Poppool/DataLayer/RepositoryImpl/PopUpAPIRepositoryImpl.swift diff --git a/Poppool/Poppool/Data/RepositoryImpl/SignUpRepositoryImpl.swift b/Poppool/Poppool/DataLayer/RepositoryImpl/SignUpRepositoryImpl.swift similarity index 100% rename from Poppool/Poppool/Data/RepositoryImpl/SignUpRepositoryImpl.swift rename to Poppool/Poppool/DataLayer/RepositoryImpl/SignUpRepositoryImpl.swift diff --git a/Poppool/Poppool/Data/RepositoryImpl/UserAPIRepositoryImpl.swift b/Poppool/Poppool/DataLayer/RepositoryImpl/UserAPIRepositoryImpl.swift similarity index 100% rename from Poppool/Poppool/Data/RepositoryImpl/UserAPIRepositoryImpl.swift rename to Poppool/Poppool/DataLayer/RepositoryImpl/UserAPIRepositoryImpl.swift diff --git a/Poppool/Poppool/Domain/UseCaseImpl/AdminUseCaseImpl.swift b/Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/AdminUseCaseImpl.swift similarity index 100% rename from Poppool/Poppool/Domain/UseCaseImpl/AdminUseCaseImpl.swift rename to Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/AdminUseCaseImpl.swift diff --git a/Poppool/Poppool/Domain/UseCaseImpl/AuthAPIUseCaseImpl.swift b/Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/AuthAPIUseCaseImpl.swift similarity index 100% rename from Poppool/Poppool/Domain/UseCaseImpl/AuthAPIUseCaseImpl.swift rename to Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/AuthAPIUseCaseImpl.swift diff --git a/Poppool/Poppool/Domain/UseCaseImpl/CommentAPIUseCaseImpl.swift b/Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/CommentAPIUseCaseImpl.swift similarity index 100% rename from Poppool/Poppool/Domain/UseCaseImpl/CommentAPIUseCaseImpl.swift rename to Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/CommentAPIUseCaseImpl.swift diff --git a/Poppool/Poppool/Domain/UseCaseImpl/HomeAPIUseCaseImpl.swift b/Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/HomeAPIUseCaseImpl.swift similarity index 100% rename from Poppool/Poppool/Domain/UseCaseImpl/HomeAPIUseCaseImpl.swift rename to Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/HomeAPIUseCaseImpl.swift diff --git a/Poppool/Poppool/Domain/UseCaseImpl/MapUseCaseImpl.swift b/Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/MapUseCaseImpl.swift similarity index 100% rename from Poppool/Poppool/Domain/UseCaseImpl/MapUseCaseImpl.swift rename to Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/MapUseCaseImpl.swift diff --git a/Poppool/Poppool/Domain/UseCaseImpl/PopUpAPIUseCaseImpl.swift b/Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/PopUpAPIUseCaseImpl.swift similarity index 100% rename from Poppool/Poppool/Domain/UseCaseImpl/PopUpAPIUseCaseImpl.swift rename to Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/PopUpAPIUseCaseImpl.swift diff --git a/Poppool/Poppool/Domain/UseCaseImpl/SignUpAPIUseCaseImpl.swift b/Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/SignUpAPIUseCaseImpl.swift similarity index 100% rename from Poppool/Poppool/Domain/UseCaseImpl/SignUpAPIUseCaseImpl.swift rename to Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/SignUpAPIUseCaseImpl.swift diff --git a/Poppool/Poppool/Domain/UseCaseImpl/UserAPIUseCaseImpl.swift b/Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/UserAPIUseCaseImpl.swift similarity index 100% rename from Poppool/Poppool/Domain/UseCaseImpl/UserAPIUseCaseImpl.swift rename to Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/UserAPIUseCaseImpl.swift diff --git a/Poppool/Poppool/DomainInterface/Entity/AuthResponse/LoginResponse.swift b/Poppool/Poppool/DomainLayer/DomainInterface/Entity/AuthResponse/LoginResponse.swift similarity index 100% rename from Poppool/Poppool/DomainInterface/Entity/AuthResponse/LoginResponse.swift rename to Poppool/Poppool/DomainLayer/DomainInterface/Entity/AuthResponse/LoginResponse.swift diff --git a/Poppool/Poppool/DomainInterface/Entity/AuthResponse/PostTokenReissueResponse.swift b/Poppool/Poppool/DomainLayer/DomainInterface/Entity/AuthResponse/PostTokenReissueResponse.swift similarity index 100% rename from Poppool/Poppool/DomainInterface/Entity/AuthResponse/PostTokenReissueResponse.swift rename to Poppool/Poppool/DomainLayer/DomainInterface/Entity/AuthResponse/PostTokenReissueResponse.swift diff --git a/Poppool/Poppool/DomainInterface/Entity/BannerPopUpStore.swift b/Poppool/Poppool/DomainLayer/DomainInterface/Entity/BannerPopUpStore.swift similarity index 100% rename from Poppool/Poppool/DomainInterface/Entity/BannerPopUpStore.swift rename to Poppool/Poppool/DomainLayer/DomainInterface/Entity/BannerPopUpStore.swift diff --git a/Poppool/Poppool/DomainInterface/Entity/Category.swift b/Poppool/Poppool/DomainLayer/DomainInterface/Entity/Category.swift similarity index 100% rename from Poppool/Poppool/DomainInterface/Entity/Category.swift rename to Poppool/Poppool/DomainLayer/DomainInterface/Entity/Category.swift diff --git a/Poppool/Poppool/DomainInterface/Entity/GetHomeInfoResponse.swift b/Poppool/Poppool/DomainLayer/DomainInterface/Entity/GetHomeInfoResponse.swift similarity index 100% rename from Poppool/Poppool/DomainInterface/Entity/GetHomeInfoResponse.swift rename to Poppool/Poppool/DomainLayer/DomainInterface/Entity/GetHomeInfoResponse.swift diff --git a/Poppool/Poppool/DomainInterface/Entity/MapPopUpStore.swift b/Poppool/Poppool/DomainLayer/DomainInterface/Entity/MapPopUpStore.swift similarity index 100% rename from Poppool/Poppool/DomainInterface/Entity/MapPopUpStore.swift rename to Poppool/Poppool/DomainLayer/DomainInterface/Entity/MapPopUpStore.swift diff --git a/Poppool/Poppool/DomainInterface/Entity/PopUpResponse/GetPopUpCommentResponse.swift b/Poppool/Poppool/DomainLayer/DomainInterface/Entity/PopUpResponse/GetPopUpCommentResponse.swift similarity index 100% rename from Poppool/Poppool/DomainInterface/Entity/PopUpResponse/GetPopUpCommentResponse.swift rename to Poppool/Poppool/DomainLayer/DomainInterface/Entity/PopUpResponse/GetPopUpCommentResponse.swift diff --git a/Poppool/Poppool/DomainInterface/Entity/PopUpResponse/GetPopUpDetailResponse.swift b/Poppool/Poppool/DomainLayer/DomainInterface/Entity/PopUpResponse/GetPopUpDetailResponse.swift similarity index 100% rename from Poppool/Poppool/DomainInterface/Entity/PopUpResponse/GetPopUpDetailResponse.swift rename to Poppool/Poppool/DomainLayer/DomainInterface/Entity/PopUpResponse/GetPopUpDetailResponse.swift diff --git a/Poppool/Poppool/DomainInterface/Entity/PopUpResponse/GetSearchBottomPopUpListResponse.swift b/Poppool/Poppool/DomainLayer/DomainInterface/Entity/PopUpResponse/GetSearchBottomPopUpListResponse.swift similarity index 100% rename from Poppool/Poppool/DomainInterface/Entity/PopUpResponse/GetSearchBottomPopUpListResponse.swift rename to Poppool/Poppool/DomainLayer/DomainInterface/Entity/PopUpResponse/GetSearchBottomPopUpListResponse.swift diff --git a/Poppool/Poppool/DomainInterface/Entity/PopUpResponse/GetSearchPopUpListResponse.swift b/Poppool/Poppool/DomainLayer/DomainInterface/Entity/PopUpResponse/GetSearchPopUpListResponse.swift similarity index 100% rename from Poppool/Poppool/DomainInterface/Entity/PopUpResponse/GetSearchPopUpListResponse.swift rename to Poppool/Poppool/DomainLayer/DomainInterface/Entity/PopUpResponse/GetSearchPopUpListResponse.swift diff --git a/Poppool/Poppool/DomainInterface/Entity/PopUpStoreResponse.swift b/Poppool/Poppool/DomainLayer/DomainInterface/Entity/PopUpStoreResponse.swift similarity index 100% rename from Poppool/Poppool/DomainInterface/Entity/PopUpStoreResponse.swift rename to Poppool/Poppool/DomainLayer/DomainInterface/Entity/PopUpStoreResponse.swift diff --git a/Poppool/Poppool/DomainInterface/Entity/UserResponse/GetBlockUserListResponse.swift b/Poppool/Poppool/DomainLayer/DomainInterface/Entity/UserResponse/GetBlockUserListResponse.swift similarity index 100% rename from Poppool/Poppool/DomainInterface/Entity/UserResponse/GetBlockUserListResponse.swift rename to Poppool/Poppool/DomainLayer/DomainInterface/Entity/UserResponse/GetBlockUserListResponse.swift diff --git a/Poppool/Poppool/DomainInterface/Entity/UserResponse/GetMyCommentResponse.swift b/Poppool/Poppool/DomainLayer/DomainInterface/Entity/UserResponse/GetMyCommentResponse.swift similarity index 100% rename from Poppool/Poppool/DomainInterface/Entity/UserResponse/GetMyCommentResponse.swift rename to Poppool/Poppool/DomainLayer/DomainInterface/Entity/UserResponse/GetMyCommentResponse.swift diff --git a/Poppool/Poppool/DomainInterface/Entity/UserResponse/GetMyPageResponse.swift b/Poppool/Poppool/DomainLayer/DomainInterface/Entity/UserResponse/GetMyPageResponse.swift similarity index 100% rename from Poppool/Poppool/DomainInterface/Entity/UserResponse/GetMyPageResponse.swift rename to Poppool/Poppool/DomainLayer/DomainInterface/Entity/UserResponse/GetMyPageResponse.swift diff --git a/Poppool/Poppool/DomainInterface/Entity/UserResponse/GetMyProfileResponse.swift b/Poppool/Poppool/DomainLayer/DomainInterface/Entity/UserResponse/GetMyProfileResponse.swift similarity index 100% rename from Poppool/Poppool/DomainInterface/Entity/UserResponse/GetMyProfileResponse.swift rename to Poppool/Poppool/DomainLayer/DomainInterface/Entity/UserResponse/GetMyProfileResponse.swift diff --git a/Poppool/Poppool/DomainInterface/Entity/UserResponse/GetNoticeDetailResponse.swift b/Poppool/Poppool/DomainLayer/DomainInterface/Entity/UserResponse/GetNoticeDetailResponse.swift similarity index 100% rename from Poppool/Poppool/DomainInterface/Entity/UserResponse/GetNoticeDetailResponse.swift rename to Poppool/Poppool/DomainLayer/DomainInterface/Entity/UserResponse/GetNoticeDetailResponse.swift diff --git a/Poppool/Poppool/DomainInterface/Entity/UserResponse/GetNoticeListResponse.swift b/Poppool/Poppool/DomainLayer/DomainInterface/Entity/UserResponse/GetNoticeListResponse.swift similarity index 100% rename from Poppool/Poppool/DomainInterface/Entity/UserResponse/GetNoticeListResponse.swift rename to Poppool/Poppool/DomainLayer/DomainInterface/Entity/UserResponse/GetNoticeListResponse.swift diff --git a/Poppool/Poppool/DomainInterface/Entity/UserResponse/GetOtherUserCommentedPopUpListResponse.swift b/Poppool/Poppool/DomainLayer/DomainInterface/Entity/UserResponse/GetOtherUserCommentedPopUpListResponse.swift similarity index 100% rename from Poppool/Poppool/DomainInterface/Entity/UserResponse/GetOtherUserCommentedPopUpListResponse.swift rename to Poppool/Poppool/DomainLayer/DomainInterface/Entity/UserResponse/GetOtherUserCommentedPopUpListResponse.swift diff --git a/Poppool/Poppool/DomainInterface/Entity/UserResponse/GetRecentPopUpResponse.swift b/Poppool/Poppool/DomainLayer/DomainInterface/Entity/UserResponse/GetRecentPopUpResponse.swift similarity index 100% rename from Poppool/Poppool/DomainInterface/Entity/UserResponse/GetRecentPopUpResponse.swift rename to Poppool/Poppool/DomainLayer/DomainInterface/Entity/UserResponse/GetRecentPopUpResponse.swift diff --git a/Poppool/Poppool/DomainInterface/Entity/UserResponse/GetWithdrawlListResponse.swift b/Poppool/Poppool/DomainLayer/DomainInterface/Entity/UserResponse/GetWithdrawlListResponse.swift similarity index 100% rename from Poppool/Poppool/DomainInterface/Entity/UserResponse/GetWithdrawlListResponse.swift rename to Poppool/Poppool/DomainLayer/DomainInterface/Entity/UserResponse/GetWithdrawlListResponse.swift diff --git a/Poppool/Poppool/DomainInterface/Repository/AdminRepository.swift b/Poppool/Poppool/DomainLayer/DomainInterface/Repository/AdminRepository.swift similarity index 100% rename from Poppool/Poppool/DomainInterface/Repository/AdminRepository.swift rename to Poppool/Poppool/DomainLayer/DomainInterface/Repository/AdminRepository.swift diff --git a/Poppool/Poppool/DomainInterface/Repository/AuthAPIRepository.swift b/Poppool/Poppool/DomainLayer/DomainInterface/Repository/AuthAPIRepository.swift similarity index 100% rename from Poppool/Poppool/DomainInterface/Repository/AuthAPIRepository.swift rename to Poppool/Poppool/DomainLayer/DomainInterface/Repository/AuthAPIRepository.swift diff --git a/Poppool/Poppool/DomainInterface/Repository/CommentAPIRepository.swift b/Poppool/Poppool/DomainLayer/DomainInterface/Repository/CommentAPIRepository.swift similarity index 100% rename from Poppool/Poppool/DomainInterface/Repository/CommentAPIRepository.swift rename to Poppool/Poppool/DomainLayer/DomainInterface/Repository/CommentAPIRepository.swift diff --git a/Poppool/Poppool/DomainInterface/Repository/HomeAPIRepository.swift b/Poppool/Poppool/DomainLayer/DomainInterface/Repository/HomeAPIRepository.swift similarity index 100% rename from Poppool/Poppool/DomainInterface/Repository/HomeAPIRepository.swift rename to Poppool/Poppool/DomainLayer/DomainInterface/Repository/HomeAPIRepository.swift diff --git a/Poppool/Poppool/DomainInterface/Repository/MapDirectionRepository.swift b/Poppool/Poppool/DomainLayer/DomainInterface/Repository/MapDirectionRepository.swift similarity index 100% rename from Poppool/Poppool/DomainInterface/Repository/MapDirectionRepository.swift rename to Poppool/Poppool/DomainLayer/DomainInterface/Repository/MapDirectionRepository.swift diff --git a/Poppool/Poppool/DomainInterface/Repository/MapRepository.swift b/Poppool/Poppool/DomainLayer/DomainInterface/Repository/MapRepository.swift similarity index 100% rename from Poppool/Poppool/DomainInterface/Repository/MapRepository.swift rename to Poppool/Poppool/DomainLayer/DomainInterface/Repository/MapRepository.swift diff --git a/Poppool/Poppool/DomainInterface/Repository/PopUpAPIRepository.swift b/Poppool/Poppool/DomainLayer/DomainInterface/Repository/PopUpAPIRepository.swift similarity index 100% rename from Poppool/Poppool/DomainInterface/Repository/PopUpAPIRepository.swift rename to Poppool/Poppool/DomainLayer/DomainInterface/Repository/PopUpAPIRepository.swift diff --git a/Poppool/Poppool/DomainInterface/Repository/SignUpRepository.swift b/Poppool/Poppool/DomainLayer/DomainInterface/Repository/SignUpRepository.swift similarity index 100% rename from Poppool/Poppool/DomainInterface/Repository/SignUpRepository.swift rename to Poppool/Poppool/DomainLayer/DomainInterface/Repository/SignUpRepository.swift diff --git a/Poppool/Poppool/DomainInterface/Repository/UserAPIRepository.swift b/Poppool/Poppool/DomainLayer/DomainInterface/Repository/UserAPIRepository.swift similarity index 100% rename from Poppool/Poppool/DomainInterface/Repository/UserAPIRepository.swift rename to Poppool/Poppool/DomainLayer/DomainInterface/Repository/UserAPIRepository.swift diff --git a/Poppool/Poppool/DomainInterface/UseCase/AdminUseCase.swift b/Poppool/Poppool/DomainLayer/DomainInterface/UseCase/AdminUseCase.swift similarity index 100% rename from Poppool/Poppool/DomainInterface/UseCase/AdminUseCase.swift rename to Poppool/Poppool/DomainLayer/DomainInterface/UseCase/AdminUseCase.swift diff --git a/Poppool/Poppool/DomainInterface/UseCase/AuthAPIUseCase.swift b/Poppool/Poppool/DomainLayer/DomainInterface/UseCase/AuthAPIUseCase.swift similarity index 100% rename from Poppool/Poppool/DomainInterface/UseCase/AuthAPIUseCase.swift rename to Poppool/Poppool/DomainLayer/DomainInterface/UseCase/AuthAPIUseCase.swift diff --git a/Poppool/Poppool/DomainInterface/UseCase/CommentAPIUseCase.swift b/Poppool/Poppool/DomainLayer/DomainInterface/UseCase/CommentAPIUseCase.swift similarity index 100% rename from Poppool/Poppool/DomainInterface/UseCase/CommentAPIUseCase.swift rename to Poppool/Poppool/DomainLayer/DomainInterface/UseCase/CommentAPIUseCase.swift diff --git a/Poppool/Poppool/DomainInterface/UseCase/HomeAPIUseCase.swift b/Poppool/Poppool/DomainLayer/DomainInterface/UseCase/HomeAPIUseCase.swift similarity index 100% rename from Poppool/Poppool/DomainInterface/UseCase/HomeAPIUseCase.swift rename to Poppool/Poppool/DomainLayer/DomainInterface/UseCase/HomeAPIUseCase.swift diff --git a/Poppool/Poppool/DomainInterface/UseCase/MapUseCase.swift b/Poppool/Poppool/DomainLayer/DomainInterface/UseCase/MapUseCase.swift similarity index 100% rename from Poppool/Poppool/DomainInterface/UseCase/MapUseCase.swift rename to Poppool/Poppool/DomainLayer/DomainInterface/UseCase/MapUseCase.swift diff --git a/Poppool/Poppool/DomainInterface/UseCase/PopUpAPIUseCase.swift b/Poppool/Poppool/DomainLayer/DomainInterface/UseCase/PopUpAPIUseCase.swift similarity index 100% rename from Poppool/Poppool/DomainInterface/UseCase/PopUpAPIUseCase.swift rename to Poppool/Poppool/DomainLayer/DomainInterface/UseCase/PopUpAPIUseCase.swift diff --git a/Poppool/Poppool/DomainInterface/UseCase/SignUpAPIUseCase.swift b/Poppool/Poppool/DomainLayer/DomainInterface/UseCase/SignUpAPIUseCase.swift similarity index 100% rename from Poppool/Poppool/DomainInterface/UseCase/SignUpAPIUseCase.swift rename to Poppool/Poppool/DomainLayer/DomainInterface/UseCase/SignUpAPIUseCase.swift diff --git a/Poppool/Poppool/DomainInterface/UseCase/UserAPIUseCase.swift b/Poppool/Poppool/DomainLayer/DomainInterface/UseCase/UserAPIUseCase.swift similarity index 100% rename from Poppool/Poppool/DomainInterface/UseCase/UserAPIUseCase.swift rename to Poppool/Poppool/DomainLayer/DomainInterface/UseCase/UserAPIUseCase.swift diff --git a/Poppool/Poppool/Presentation/Components/PPButton.swift b/Poppool/Poppool/PresentationLayer/Presentation/Components/PPButton.swift similarity index 100% rename from Poppool/Poppool/Presentation/Components/PPButton.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Components/PPButton.swift diff --git a/Poppool/Poppool/Presentation/Components/PPCancelHeaderView.swift b/Poppool/Poppool/PresentationLayer/Presentation/Components/PPCancelHeaderView.swift similarity index 100% rename from Poppool/Poppool/Presentation/Components/PPCancelHeaderView.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Components/PPCancelHeaderView.swift diff --git a/Poppool/Poppool/Presentation/Components/PPLabel.swift b/Poppool/Poppool/PresentationLayer/Presentation/Components/PPLabel.swift similarity index 100% rename from Poppool/Poppool/Presentation/Components/PPLabel.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Components/PPLabel.swift diff --git a/Poppool/Poppool/Presentation/Components/PPPicker.swift b/Poppool/Poppool/PresentationLayer/Presentation/Components/PPPicker.swift similarity index 100% rename from Poppool/Poppool/Presentation/Components/PPPicker.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Components/PPPicker.swift diff --git a/Poppool/Poppool/Presentation/Components/PPProgressIndicator/PPProgressIndicator.swift b/Poppool/Poppool/PresentationLayer/Presentation/Components/PPProgressIndicator/PPProgressIndicator.swift similarity index 100% rename from Poppool/Poppool/Presentation/Components/PPProgressIndicator/PPProgressIndicator.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Components/PPProgressIndicator/PPProgressIndicator.swift diff --git a/Poppool/Poppool/Presentation/Components/PPProgressIndicator/PPProgressView.swift b/Poppool/Poppool/PresentationLayer/Presentation/Components/PPProgressIndicator/PPProgressView.swift similarity index 100% rename from Poppool/Poppool/Presentation/Components/PPProgressIndicator/PPProgressView.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Components/PPProgressIndicator/PPProgressView.swift diff --git a/Poppool/Poppool/Presentation/Components/PPReturnHeaderView.swift b/Poppool/Poppool/PresentationLayer/Presentation/Components/PPReturnHeaderView.swift similarity index 100% rename from Poppool/Poppool/Presentation/Components/PPReturnHeaderView.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Components/PPReturnHeaderView.swift diff --git a/Poppool/Poppool/Presentation/Components/PPSegmentedControl.swift b/Poppool/Poppool/PresentationLayer/Presentation/Components/PPSegmentedControl.swift similarity index 100% rename from Poppool/Poppool/Presentation/Components/PPSegmentedControl.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Components/PPSegmentedControl.swift diff --git a/Poppool/Poppool/Presentation/Scene/Admin/AdminBottomSheet/AdminBottomSheetReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminBottomSheet/AdminBottomSheetReactor.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Admin/AdminBottomSheet/AdminBottomSheetReactor.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminBottomSheet/AdminBottomSheetReactor.swift diff --git a/Poppool/Poppool/Presentation/Scene/Admin/AdminBottomSheet/AdminBottomSheetView.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminBottomSheet/AdminBottomSheetView.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Admin/AdminBottomSheet/AdminBottomSheetView.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminBottomSheet/AdminBottomSheetView.swift diff --git a/Poppool/Poppool/Presentation/Scene/Admin/AdminBottomSheet/AdminBottomSheetViewController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminBottomSheet/AdminBottomSheetViewController.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Admin/AdminBottomSheet/AdminBottomSheetViewController.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminBottomSheet/AdminBottomSheetViewController.swift diff --git a/Poppool/Poppool/Presentation/Scene/Admin/AdminReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminReactor.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Admin/AdminReactor.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminReactor.swift diff --git a/Poppool/Poppool/Presentation/Scene/Admin/AdminRegister/PopUpImagesCollectionView.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminRegister/PopUpImagesCollectionView.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Admin/AdminRegister/PopUpImagesCollectionView.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminRegister/PopUpImagesCollectionView.swift diff --git a/Poppool/Poppool/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterReactor.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterReactor.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterReactor.swift diff --git a/Poppool/Poppool/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterView.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterView.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterView.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterView.swift diff --git a/Poppool/Poppool/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterViewController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterViewController.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterViewController.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterViewController.swift diff --git a/Poppool/Poppool/Presentation/Scene/Admin/AdminStoreCell.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminStoreCell.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Admin/AdminStoreCell.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminStoreCell.swift diff --git a/Poppool/Poppool/Presentation/Scene/Admin/AdminView.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminView.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Admin/AdminView.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminView.swift diff --git a/Poppool/Poppool/Presentation/Scene/Admin/AdminViewController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminViewController.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Admin/AdminViewController.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminViewController.swift diff --git a/Poppool/Poppool/Presentation/Scene/Admin/ImageCell.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/ImageCell.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Admin/ImageCell.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/ImageCell.swift diff --git a/Poppool/Poppool/Presentation/Scene/Comment/CommentCheck/CommentCheckController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentCheck/CommentCheckController.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Comment/CommentCheck/CommentCheckController.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentCheck/CommentCheckController.swift diff --git a/Poppool/Poppool/Presentation/Scene/Comment/CommentCheck/CommentCheckReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentCheck/CommentCheckReactor.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Comment/CommentCheck/CommentCheckReactor.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentCheck/CommentCheckReactor.swift diff --git a/Poppool/Poppool/Presentation/Scene/Comment/CommentCheck/CommentCheckView.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentCheck/CommentCheckView.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Comment/CommentCheck/CommentCheckView.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentCheck/CommentCheckView.swift diff --git a/Poppool/Poppool/Presentation/Scene/Comment/CommentDetail/CommentDetailController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentDetail/CommentDetailController.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Comment/CommentDetail/CommentDetailController.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentDetail/CommentDetailController.swift diff --git a/Poppool/Poppool/Presentation/Scene/Comment/CommentDetail/CommentDetailReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentDetail/CommentDetailReactor.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Comment/CommentDetail/CommentDetailReactor.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentDetail/CommentDetailReactor.swift diff --git a/Poppool/Poppool/Presentation/Scene/Comment/CommentDetail/View/CommentDetailContentSection/CommentDetailContentSection.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentDetail/View/CommentDetailContentSection/CommentDetailContentSection.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Comment/CommentDetail/View/CommentDetailContentSection/CommentDetailContentSection.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentDetail/View/CommentDetailContentSection/CommentDetailContentSection.swift diff --git a/Poppool/Poppool/Presentation/Scene/Comment/CommentDetail/View/CommentDetailContentSection/CommentDetailContentSectionCell.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentDetail/View/CommentDetailContentSection/CommentDetailContentSectionCell.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Comment/CommentDetail/View/CommentDetailContentSection/CommentDetailContentSectionCell.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentDetail/View/CommentDetailContentSection/CommentDetailContentSectionCell.swift diff --git a/Poppool/Poppool/Presentation/Scene/Comment/CommentDetail/View/CommentDetailImageSection.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentDetail/View/CommentDetailImageSection.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Comment/CommentDetail/View/CommentDetailImageSection.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentDetail/View/CommentDetailImageSection.swift diff --git a/Poppool/Poppool/Presentation/Scene/Comment/CommentDetail/View/CommentDetailView.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentDetail/View/CommentDetailView.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Comment/CommentDetail/View/CommentDetailView.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentDetail/View/CommentDetailView.swift diff --git a/Poppool/Poppool/Presentation/Scene/Comment/CommentInfoMenu/CommentMyMenu/CommentMyMenuController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentInfoMenu/CommentMyMenu/CommentMyMenuController.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Comment/CommentInfoMenu/CommentMyMenu/CommentMyMenuController.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentInfoMenu/CommentMyMenu/CommentMyMenuController.swift diff --git a/Poppool/Poppool/Presentation/Scene/Comment/CommentInfoMenu/CommentMyMenu/CommentMyMenuReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentInfoMenu/CommentMyMenu/CommentMyMenuReactor.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Comment/CommentInfoMenu/CommentMyMenu/CommentMyMenuReactor.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentInfoMenu/CommentMyMenu/CommentMyMenuReactor.swift diff --git a/Poppool/Poppool/Presentation/Scene/Comment/CommentInfoMenu/CommentMyMenu/CommentMyMenuView.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentInfoMenu/CommentMyMenu/CommentMyMenuView.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Comment/CommentInfoMenu/CommentMyMenu/CommentMyMenuView.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentInfoMenu/CommentMyMenu/CommentMyMenuView.swift diff --git a/Poppool/Poppool/Presentation/Scene/Comment/CommentInfoMenu/CommentUserInfo/CommentUserInfoController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentInfoMenu/CommentUserInfo/CommentUserInfoController.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Comment/CommentInfoMenu/CommentUserInfo/CommentUserInfoController.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentInfoMenu/CommentUserInfo/CommentUserInfoController.swift diff --git a/Poppool/Poppool/Presentation/Scene/Comment/CommentInfoMenu/CommentUserInfo/CommentUserInfoReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentInfoMenu/CommentUserInfo/CommentUserInfoReactor.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Comment/CommentInfoMenu/CommentUserInfo/CommentUserInfoReactor.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentInfoMenu/CommentUserInfo/CommentUserInfoReactor.swift diff --git a/Poppool/Poppool/Presentation/Scene/Comment/CommentInfoMenu/CommentUserInfo/CommentUserInfoView.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentInfoMenu/CommentUserInfo/CommentUserInfoView.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Comment/CommentInfoMenu/CommentUserInfo/CommentUserInfoView.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentInfoMenu/CommentUserInfo/CommentUserInfoView.swift diff --git a/Poppool/Poppool/Presentation/Scene/Comment/CommentList/CommentListController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentList/CommentListController.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Comment/CommentList/CommentListController.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentList/CommentListController.swift diff --git a/Poppool/Poppool/Presentation/Scene/Comment/CommentList/CommentListReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentList/CommentListReactor.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Comment/CommentList/CommentListReactor.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentList/CommentListReactor.swift diff --git a/Poppool/Poppool/Presentation/Scene/Comment/CommentList/View/CommentListTitleSection/CommentListTitleSection.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentList/View/CommentListTitleSection/CommentListTitleSection.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Comment/CommentList/View/CommentListTitleSection/CommentListTitleSection.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentList/View/CommentListTitleSection/CommentListTitleSection.swift diff --git a/Poppool/Poppool/Presentation/Scene/Comment/CommentList/View/CommentListTitleSection/CommentListTitleSectionCell.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentList/View/CommentListTitleSection/CommentListTitleSectionCell.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Comment/CommentList/View/CommentListTitleSection/CommentListTitleSectionCell.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentList/View/CommentListTitleSection/CommentListTitleSectionCell.swift diff --git a/Poppool/Poppool/Presentation/Scene/Comment/CommentList/View/CommentListView.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentList/View/CommentListView.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Comment/CommentList/View/CommentListView.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentList/View/CommentListView.swift diff --git a/Poppool/Poppool/Presentation/Scene/Comment/CommentSelected/CommentSelectedController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentSelected/CommentSelectedController.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Comment/CommentSelected/CommentSelectedController.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentSelected/CommentSelectedController.swift diff --git a/Poppool/Poppool/Presentation/Scene/Comment/CommentSelected/CommentSelectedReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentSelected/CommentSelectedReactor.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Comment/CommentSelected/CommentSelectedReactor.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentSelected/CommentSelectedReactor.swift diff --git a/Poppool/Poppool/Presentation/Scene/Comment/CommentSelected/CommentSelectedView.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentSelected/CommentSelectedView.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Comment/CommentSelected/CommentSelectedView.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentSelected/CommentSelectedView.swift diff --git a/Poppool/Poppool/Presentation/Scene/Comment/CommentUserBlock/CommentUserBlockController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentUserBlock/CommentUserBlockController.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Comment/CommentUserBlock/CommentUserBlockController.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentUserBlock/CommentUserBlockController.swift diff --git a/Poppool/Poppool/Presentation/Scene/Comment/CommentUserBlock/CommentUserBlockReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentUserBlock/CommentUserBlockReactor.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Comment/CommentUserBlock/CommentUserBlockReactor.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentUserBlock/CommentUserBlockReactor.swift diff --git a/Poppool/Poppool/Presentation/Scene/Comment/CommentUserBlock/CommentUserBlockView.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentUserBlock/CommentUserBlockView.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Comment/CommentUserBlock/CommentUserBlockView.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentUserBlock/CommentUserBlockView.swift diff --git a/Poppool/Poppool/Presentation/Scene/Comment/InstaComment/InstaCommentAddController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/InstaComment/InstaCommentAddController.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Comment/InstaComment/InstaCommentAddController.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/InstaComment/InstaCommentAddController.swift diff --git a/Poppool/Poppool/Presentation/Scene/Comment/InstaComment/InstaCommentAddReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/InstaComment/InstaCommentAddReactor.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Comment/InstaComment/InstaCommentAddReactor.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/InstaComment/InstaCommentAddReactor.swift diff --git a/Poppool/Poppool/Presentation/Scene/Comment/InstaComment/View/InstaCommentAddView.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/InstaComment/View/InstaCommentAddView.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Comment/InstaComment/View/InstaCommentAddView.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/InstaComment/View/InstaCommentAddView.swift diff --git a/Poppool/Poppool/Presentation/Scene/Comment/InstaComment/View/InstaGuideSection/InstaGuideChildSection/InstaGuideChildSection.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/InstaComment/View/InstaGuideSection/InstaGuideChildSection/InstaGuideChildSection.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Comment/InstaComment/View/InstaGuideSection/InstaGuideChildSection/InstaGuideChildSection.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/InstaComment/View/InstaGuideSection/InstaGuideChildSection/InstaGuideChildSection.swift diff --git a/Poppool/Poppool/Presentation/Scene/Comment/InstaComment/View/InstaGuideSection/InstaGuideChildSection/InstaGuideChildSectionCell.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/InstaComment/View/InstaGuideSection/InstaGuideChildSection/InstaGuideChildSectionCell.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Comment/InstaComment/View/InstaGuideSection/InstaGuideChildSection/InstaGuideChildSectionCell.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/InstaComment/View/InstaGuideSection/InstaGuideChildSection/InstaGuideChildSectionCell.swift diff --git a/Poppool/Poppool/Presentation/Scene/Comment/InstaComment/View/InstaGuideSection/InstaGuideSection/InstaGuideSection.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/InstaComment/View/InstaGuideSection/InstaGuideSection/InstaGuideSection.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Comment/InstaComment/View/InstaGuideSection/InstaGuideSection/InstaGuideSection.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/InstaComment/View/InstaGuideSection/InstaGuideSection/InstaGuideSection.swift diff --git a/Poppool/Poppool/Presentation/Scene/Comment/InstaComment/View/InstaGuideSection/InstaGuideSection/InstaGuideSectionCell.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/InstaComment/View/InstaGuideSection/InstaGuideSection/InstaGuideSectionCell.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Comment/InstaComment/View/InstaGuideSection/InstaGuideSection/InstaGuideSectionCell.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/InstaComment/View/InstaGuideSection/InstaGuideSection/InstaGuideSectionCell.swift diff --git a/Poppool/Poppool/Presentation/Scene/Comment/NormalCommentAdd/NormalCommentAddController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/NormalCommentAdd/NormalCommentAddController.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Comment/NormalCommentAdd/NormalCommentAddController.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/NormalCommentAdd/NormalCommentAddController.swift diff --git a/Poppool/Poppool/Presentation/Scene/Comment/NormalCommentAdd/NormalCommentAddReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/NormalCommentAdd/NormalCommentAddReactor.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Comment/NormalCommentAdd/NormalCommentAddReactor.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/NormalCommentAdd/NormalCommentAddReactor.swift diff --git a/Poppool/Poppool/Presentation/Scene/Comment/NormalCommentAdd/View/AddCommentDescriptionSection/AddCommentDescriptionSection.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/NormalCommentAdd/View/AddCommentDescriptionSection/AddCommentDescriptionSection.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Comment/NormalCommentAdd/View/AddCommentDescriptionSection/AddCommentDescriptionSection.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/NormalCommentAdd/View/AddCommentDescriptionSection/AddCommentDescriptionSection.swift diff --git a/Poppool/Poppool/Presentation/Scene/Comment/NormalCommentAdd/View/AddCommentDescriptionSection/AddCommentDescriptionSectionCell.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/NormalCommentAdd/View/AddCommentDescriptionSection/AddCommentDescriptionSectionCell.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Comment/NormalCommentAdd/View/AddCommentDescriptionSection/AddCommentDescriptionSectionCell.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/NormalCommentAdd/View/AddCommentDescriptionSection/AddCommentDescriptionSectionCell.swift diff --git a/Poppool/Poppool/Presentation/Scene/Comment/NormalCommentAdd/View/AddCommentImageSection/AddCommentImageSection.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/NormalCommentAdd/View/AddCommentImageSection/AddCommentImageSection.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Comment/NormalCommentAdd/View/AddCommentImageSection/AddCommentImageSection.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/NormalCommentAdd/View/AddCommentImageSection/AddCommentImageSection.swift diff --git a/Poppool/Poppool/Presentation/Scene/Comment/NormalCommentAdd/View/AddCommentImageSection/AddCommentImageSectionCell.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/NormalCommentAdd/View/AddCommentImageSection/AddCommentImageSectionCell.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Comment/NormalCommentAdd/View/AddCommentImageSection/AddCommentImageSectionCell.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/NormalCommentAdd/View/AddCommentImageSection/AddCommentImageSectionCell.swift diff --git a/Poppool/Poppool/Presentation/Scene/Comment/NormalCommentAdd/View/AddCommentSection/AddCommentSection.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/NormalCommentAdd/View/AddCommentSection/AddCommentSection.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Comment/NormalCommentAdd/View/AddCommentSection/AddCommentSection.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/NormalCommentAdd/View/AddCommentSection/AddCommentSection.swift diff --git a/Poppool/Poppool/Presentation/Scene/Comment/NormalCommentAdd/View/AddCommentSection/AddCommentSectionCell.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/NormalCommentAdd/View/AddCommentSection/AddCommentSectionCell.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Comment/NormalCommentAdd/View/AddCommentSection/AddCommentSectionCell.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/NormalCommentAdd/View/AddCommentSection/AddCommentSectionCell.swift diff --git a/Poppool/Poppool/Presentation/Scene/Comment/NormalCommentAdd/View/AddCommentTitleSection/AddCommentTitleSection.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/NormalCommentAdd/View/AddCommentTitleSection/AddCommentTitleSection.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Comment/NormalCommentAdd/View/AddCommentTitleSection/AddCommentTitleSection.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/NormalCommentAdd/View/AddCommentTitleSection/AddCommentTitleSection.swift diff --git a/Poppool/Poppool/Presentation/Scene/Comment/NormalCommentAdd/View/AddCommentTitleSection/AddCommentTitleSectionCell.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/NormalCommentAdd/View/AddCommentTitleSection/AddCommentTitleSectionCell.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Comment/NormalCommentAdd/View/AddCommentTitleSection/AddCommentTitleSectionCell.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/NormalCommentAdd/View/AddCommentTitleSection/AddCommentTitleSectionCell.swift diff --git a/Poppool/Poppool/Presentation/Scene/Comment/NormalCommentAdd/View/NormalCommentAddView.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/NormalCommentAdd/View/NormalCommentAddView.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Comment/NormalCommentAdd/View/NormalCommentAddView.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/NormalCommentAdd/View/NormalCommentAddView.swift diff --git a/Poppool/Poppool/Presentation/Scene/Comment/NormalCommentEdit/NormalCommentEditController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/NormalCommentEdit/NormalCommentEditController.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Comment/NormalCommentEdit/NormalCommentEditController.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/NormalCommentEdit/NormalCommentEditController.swift diff --git a/Poppool/Poppool/Presentation/Scene/Comment/NormalCommentEdit/NormalCommentEditReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/NormalCommentEdit/NormalCommentEditReactor.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Comment/NormalCommentEdit/NormalCommentEditReactor.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/NormalCommentEdit/NormalCommentEditReactor.swift diff --git a/Poppool/Poppool/Presentation/Scene/Comment/NormalCommentEdit/NormalCommentEditView.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/NormalCommentEdit/NormalCommentEditView.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Comment/NormalCommentEdit/NormalCommentEditView.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/NormalCommentEdit/NormalCommentEditView.swift diff --git a/Poppool/Poppool/Presentation/Scene/Comment/OtherUserComment/OtherUserCommentController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/OtherUserComment/OtherUserCommentController.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Comment/OtherUserComment/OtherUserCommentController.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/OtherUserComment/OtherUserCommentController.swift diff --git a/Poppool/Poppool/Presentation/Scene/Comment/OtherUserComment/OtherUserCommentReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/OtherUserComment/OtherUserCommentReactor.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Comment/OtherUserComment/OtherUserCommentReactor.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/OtherUserComment/OtherUserCommentReactor.swift diff --git a/Poppool/Poppool/Presentation/Scene/Comment/OtherUserComment/View/OtherUserCommentSection/OtherUserCommentSection.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/OtherUserComment/View/OtherUserCommentSection/OtherUserCommentSection.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Comment/OtherUserComment/View/OtherUserCommentSection/OtherUserCommentSection.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/OtherUserComment/View/OtherUserCommentSection/OtherUserCommentSection.swift diff --git a/Poppool/Poppool/Presentation/Scene/Comment/OtherUserComment/View/OtherUserCommentSection/OtherUserCommentSectionCell.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/OtherUserComment/View/OtherUserCommentSection/OtherUserCommentSectionCell.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Comment/OtherUserComment/View/OtherUserCommentSection/OtherUserCommentSectionCell.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/OtherUserComment/View/OtherUserCommentSection/OtherUserCommentSectionCell.swift diff --git a/Poppool/Poppool/Presentation/Scene/Comment/OtherUserComment/View/OtherUserCommentView.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/OtherUserComment/View/OtherUserCommentView.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Comment/OtherUserComment/View/OtherUserCommentView.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/OtherUserComment/View/OtherUserCommentView.swift diff --git a/Poppool/Poppool/Presentation/Scene/Detail/DetailController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/DetailController.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Detail/DetailController.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/DetailController.swift diff --git a/Poppool/Poppool/Presentation/Scene/Detail/DetailReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/DetailReactor.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Detail/DetailReactor.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/DetailReactor.swift diff --git a/Poppool/Poppool/Presentation/Scene/Detail/View/DetailCommentSection/DetailCommentImageCell.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/View/DetailCommentSection/DetailCommentImageCell.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Detail/View/DetailCommentSection/DetailCommentImageCell.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/View/DetailCommentSection/DetailCommentImageCell.swift diff --git a/Poppool/Poppool/Presentation/Scene/Detail/View/DetailCommentSection/DetailCommentProfileView.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/View/DetailCommentSection/DetailCommentProfileView.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Detail/View/DetailCommentSection/DetailCommentProfileView.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/View/DetailCommentSection/DetailCommentProfileView.swift diff --git a/Poppool/Poppool/Presentation/Scene/Detail/View/DetailCommentSection/DetailCommentSection.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/View/DetailCommentSection/DetailCommentSection.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Detail/View/DetailCommentSection/DetailCommentSection.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/View/DetailCommentSection/DetailCommentSection.swift diff --git a/Poppool/Poppool/Presentation/Scene/Detail/View/DetailCommentSection/DetailCommentSectionCell.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/View/DetailCommentSection/DetailCommentSectionCell.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Detail/View/DetailCommentSection/DetailCommentSectionCell.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/View/DetailCommentSection/DetailCommentSectionCell.swift diff --git a/Poppool/Poppool/Presentation/Scene/Detail/View/DetailCommentTitleSection/DetailCommentTitleSection.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/View/DetailCommentTitleSection/DetailCommentTitleSection.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Detail/View/DetailCommentTitleSection/DetailCommentTitleSection.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/View/DetailCommentTitleSection/DetailCommentTitleSection.swift diff --git a/Poppool/Poppool/Presentation/Scene/Detail/View/DetailCommentTitleSection/DetailCommentTitleSectionCell.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/View/DetailCommentTitleSection/DetailCommentTitleSectionCell.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Detail/View/DetailCommentTitleSection/DetailCommentTitleSectionCell.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/View/DetailCommentTitleSection/DetailCommentTitleSectionCell.swift diff --git a/Poppool/Poppool/Presentation/Scene/Detail/View/DetailContentSection/DetailContentSection.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/View/DetailContentSection/DetailContentSection.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Detail/View/DetailContentSection/DetailContentSection.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/View/DetailContentSection/DetailContentSection.swift diff --git a/Poppool/Poppool/Presentation/Scene/Detail/View/DetailContentSection/DetailContentSectionCell.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/View/DetailContentSection/DetailContentSectionCell.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Detail/View/DetailContentSection/DetailContentSectionCell.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/View/DetailContentSection/DetailContentSectionCell.swift diff --git a/Poppool/Poppool/Presentation/Scene/Detail/View/DetailEmptyCommetSection/DetailEmptyCommetSection.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/View/DetailEmptyCommetSection/DetailEmptyCommetSection.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Detail/View/DetailEmptyCommetSection/DetailEmptyCommetSection.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/View/DetailEmptyCommetSection/DetailEmptyCommetSection.swift diff --git a/Poppool/Poppool/Presentation/Scene/Detail/View/DetailEmptyCommetSection/DetailEmptyCommetSectionCell.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/View/DetailEmptyCommetSection/DetailEmptyCommetSectionCell.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Detail/View/DetailEmptyCommetSection/DetailEmptyCommetSectionCell.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/View/DetailEmptyCommetSection/DetailEmptyCommetSectionCell.swift diff --git a/Poppool/Poppool/Presentation/Scene/Detail/View/DetailInfoSection/DetailInfoSection.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/View/DetailInfoSection/DetailInfoSection.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Detail/View/DetailInfoSection/DetailInfoSection.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/View/DetailInfoSection/DetailInfoSection.swift diff --git a/Poppool/Poppool/Presentation/Scene/Detail/View/DetailInfoSection/DetailInfoSectionCell.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/View/DetailInfoSection/DetailInfoSectionCell.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Detail/View/DetailInfoSection/DetailInfoSectionCell.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/View/DetailInfoSection/DetailInfoSectionCell.swift diff --git a/Poppool/Poppool/Presentation/Scene/Detail/View/DetailSimilarSection/DetailSimilarSection.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/View/DetailSimilarSection/DetailSimilarSection.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Detail/View/DetailSimilarSection/DetailSimilarSection.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/View/DetailSimilarSection/DetailSimilarSection.swift diff --git a/Poppool/Poppool/Presentation/Scene/Detail/View/DetailSimilarSection/DetailSimilarSectionCell.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/View/DetailSimilarSection/DetailSimilarSectionCell.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Detail/View/DetailSimilarSection/DetailSimilarSectionCell.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/View/DetailSimilarSection/DetailSimilarSectionCell.swift diff --git a/Poppool/Poppool/Presentation/Scene/Detail/View/DetailTitleSection/DetailTitleSection.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/View/DetailTitleSection/DetailTitleSection.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Detail/View/DetailTitleSection/DetailTitleSection.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/View/DetailTitleSection/DetailTitleSection.swift diff --git a/Poppool/Poppool/Presentation/Scene/Detail/View/DetailTitleSection/DetailTitleSectionCell.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/View/DetailTitleSection/DetailTitleSectionCell.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Detail/View/DetailTitleSection/DetailTitleSectionCell.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/View/DetailTitleSection/DetailTitleSectionCell.swift diff --git a/Poppool/Poppool/Presentation/Scene/Detail/View/DetailView.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/View/DetailView.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Detail/View/DetailView.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/View/DetailView.swift diff --git a/Poppool/Poppool/Presentation/Scene/Home/List/HomeListController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/List/HomeListController.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Home/List/HomeListController.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/List/HomeListController.swift diff --git a/Poppool/Poppool/Presentation/Scene/Home/List/HomeListReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/List/HomeListReactor.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Home/List/HomeListReactor.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/List/HomeListReactor.swift diff --git a/Poppool/Poppool/Presentation/Scene/Home/List/HomePopUpType.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/List/HomePopUpType.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Home/List/HomePopUpType.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/List/HomePopUpType.swift diff --git a/Poppool/Poppool/Presentation/Scene/Home/List/View/HomeCardGridSection.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/List/View/HomeCardGridSection.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Home/List/View/HomeCardGridSection.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/List/View/HomeCardGridSection.swift diff --git a/Poppool/Poppool/Presentation/Scene/Home/List/View/HomeListView.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/List/View/HomeListView.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Home/List/View/HomeListView.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/List/View/HomeListView.swift diff --git a/Poppool/Poppool/Presentation/Scene/Home/Main/HomeController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/HomeController.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Home/Main/HomeController.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/HomeController.swift diff --git a/Poppool/Poppool/Presentation/Scene/Home/Main/HomeReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/HomeReactor.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Home/Main/HomeReactor.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/HomeReactor.swift diff --git a/Poppool/Poppool/Presentation/Scene/Home/Main/View/HomeCardSection/HomeCardSection.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/View/HomeCardSection/HomeCardSection.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Home/Main/View/HomeCardSection/HomeCardSection.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/View/HomeCardSection/HomeCardSection.swift diff --git a/Poppool/Poppool/Presentation/Scene/Home/Main/View/HomeCardSection/HomeCardSectionCell.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/View/HomeCardSection/HomeCardSectionCell.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Home/Main/View/HomeCardSection/HomeCardSectionCell.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/View/HomeCardSection/HomeCardSectionCell.swift diff --git a/Poppool/Poppool/Presentation/Scene/Home/Main/View/HomeHeaderView.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/View/HomeHeaderView.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Home/Main/View/HomeHeaderView.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/View/HomeHeaderView.swift diff --git a/Poppool/Poppool/Presentation/Scene/Home/Main/View/HomePopularCardSection/HomePopularCardSection.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/View/HomePopularCardSection/HomePopularCardSection.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Home/Main/View/HomePopularCardSection/HomePopularCardSection.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/View/HomePopularCardSection/HomePopularCardSection.swift diff --git a/Poppool/Poppool/Presentation/Scene/Home/Main/View/HomePopularCardSection/HomePopularCardSectionCell.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/View/HomePopularCardSection/HomePopularCardSectionCell.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Home/Main/View/HomePopularCardSection/HomePopularCardSectionCell.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/View/HomePopularCardSection/HomePopularCardSectionCell.swift diff --git a/Poppool/Poppool/Presentation/Scene/Home/Main/View/HomeTitleSection/HomeTitleSection.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/View/HomeTitleSection/HomeTitleSection.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Home/Main/View/HomeTitleSection/HomeTitleSection.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/View/HomeTitleSection/HomeTitleSection.swift diff --git a/Poppool/Poppool/Presentation/Scene/Home/Main/View/HomeTitleSection/HomeTitleSectionCell.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/View/HomeTitleSection/HomeTitleSectionCell.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Home/Main/View/HomeTitleSection/HomeTitleSectionCell.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/View/HomeTitleSection/HomeTitleSectionCell.swift diff --git a/Poppool/Poppool/Presentation/Scene/Home/Main/View/HomeView.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/View/HomeView.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Home/Main/View/HomeView.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/View/HomeView.swift diff --git a/Poppool/Poppool/Presentation/Scene/Home/Main/View/ImageBannerSection/ImageBannerChildSection/ImageBannerChildSection.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/View/ImageBannerSection/ImageBannerChildSection/ImageBannerChildSection.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Home/Main/View/ImageBannerSection/ImageBannerChildSection/ImageBannerChildSection.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/View/ImageBannerSection/ImageBannerChildSection/ImageBannerChildSection.swift diff --git a/Poppool/Poppool/Presentation/Scene/Home/Main/View/ImageBannerSection/ImageBannerChildSection/ImageBannerChildSectionCell.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/View/ImageBannerSection/ImageBannerChildSection/ImageBannerChildSectionCell.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Home/Main/View/ImageBannerSection/ImageBannerChildSection/ImageBannerChildSectionCell.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/View/ImageBannerSection/ImageBannerChildSection/ImageBannerChildSectionCell.swift diff --git a/Poppool/Poppool/Presentation/Scene/Home/Main/View/ImageBannerSection/ImageBannerSection/ImageBannerSection.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/View/ImageBannerSection/ImageBannerSection/ImageBannerSection.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Home/Main/View/ImageBannerSection/ImageBannerSection/ImageBannerSection.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/View/ImageBannerSection/ImageBannerSection/ImageBannerSection.swift diff --git a/Poppool/Poppool/Presentation/Scene/Home/Main/View/ImageBannerSection/ImageBannerSection/ImageBannerSectionCell.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/View/ImageBannerSection/ImageBannerSection/ImageBannerSectionCell.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Home/Main/View/ImageBannerSection/ImageBannerSection/ImageBannerSectionCell.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/View/ImageBannerSection/ImageBannerSection/ImageBannerSectionCell.swift diff --git a/Poppool/Poppool/Presentation/Scene/Home/Main/View/SectionBackGroundDecorationView.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/View/SectionBackGroundDecorationView.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Home/Main/View/SectionBackGroundDecorationView.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/View/SectionBackGroundDecorationView.swift diff --git a/Poppool/Poppool/Presentation/Scene/Home/Main/View/SpacingSection/SpacingSection.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/View/SpacingSection/SpacingSection.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Home/Main/View/SpacingSection/SpacingSection.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/View/SpacingSection/SpacingSection.swift diff --git a/Poppool/Poppool/Presentation/Scene/Home/Main/View/SpacingSection/SpacingSectionCell.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/View/SpacingSection/SpacingSectionCell.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Home/Main/View/SpacingSection/SpacingSectionCell.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/View/SpacingSection/SpacingSectionCell.swift diff --git a/Poppool/Poppool/Presentation/Scene/ImageDetail/ImageDetailController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/ImageDetail/ImageDetailController.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/ImageDetail/ImageDetailController.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/ImageDetail/ImageDetailController.swift diff --git a/Poppool/Poppool/Presentation/Scene/ImageDetail/ImageDetailReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/ImageDetail/ImageDetailReactor.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/ImageDetail/ImageDetailReactor.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/ImageDetail/ImageDetailReactor.swift diff --git a/Poppool/Poppool/Presentation/Scene/ImageDetail/ImageDetailView.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/ImageDetail/ImageDetailView.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/ImageDetail/ImageDetailView.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/ImageDetail/ImageDetailView.swift diff --git a/Poppool/Poppool/Presentation/Scene/Login/LastLoginView.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Login/LastLoginView.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Login/LastLoginView.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Login/LastLoginView.swift diff --git a/Poppool/Poppool/Presentation/Scene/Login/Main/LoginController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Login/Main/LoginController.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Login/Main/LoginController.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Login/Main/LoginController.swift diff --git a/Poppool/Poppool/Presentation/Scene/Login/Main/LoginReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Login/Main/LoginReactor.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Login/Main/LoginReactor.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Login/Main/LoginReactor.swift diff --git a/Poppool/Poppool/Presentation/Scene/Login/Main/LoginView.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Login/Main/LoginView.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Login/Main/LoginView.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Login/Main/LoginView.swift diff --git a/Poppool/Poppool/Presentation/Scene/Login/Sub/SubLoginController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Login/Sub/SubLoginController.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Login/Sub/SubLoginController.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Login/Sub/SubLoginController.swift diff --git a/Poppool/Poppool/Presentation/Scene/Login/Sub/SubLoginReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Login/Sub/SubLoginReactor.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Login/Sub/SubLoginReactor.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Login/Sub/SubLoginReactor.swift diff --git a/Poppool/Poppool/Presentation/Scene/Login/Sub/SubLoginView.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Login/Sub/SubLoginView.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Login/Sub/SubLoginView.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Login/Sub/SubLoginView.swift diff --git a/Poppool/Poppool/Presentation/Scene/Map/FillterSheetView/BalloonBackgroundView.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/FillterSheetView/BalloonBackgroundView.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Map/FillterSheetView/BalloonBackgroundView.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/FillterSheetView/BalloonBackgroundView.swift diff --git a/Poppool/Poppool/Presentation/Scene/Map/FillterSheetView/BalloonChipCell.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/FillterSheetView/BalloonChipCell.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Map/FillterSheetView/BalloonChipCell.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/FillterSheetView/BalloonChipCell.swift diff --git a/Poppool/Poppool/Presentation/Scene/Map/FillterSheetView/FilterBottomSheetReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/FillterSheetView/FilterBottomSheetReactor.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Map/FillterSheetView/FilterBottomSheetReactor.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/FillterSheetView/FilterBottomSheetReactor.swift diff --git a/Poppool/Poppool/Presentation/Scene/Map/FillterSheetView/FilterBottomSheetView.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/FillterSheetView/FilterBottomSheetView.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Map/FillterSheetView/FilterBottomSheetView.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/FillterSheetView/FilterBottomSheetView.swift diff --git a/Poppool/Poppool/Presentation/Scene/Map/FillterSheetView/FilterBottomSheetViewController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/FillterSheetView/FilterBottomSheetViewController.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Map/FillterSheetView/FilterBottomSheetViewController.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/FillterSheetView/FilterBottomSheetViewController.swift diff --git a/Poppool/Poppool/Presentation/Scene/Map/FillterSheetView/FilterCell.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/FillterSheetView/FilterCell.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Map/FillterSheetView/FilterCell.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/FillterSheetView/FilterCell.swift diff --git a/Poppool/Poppool/Presentation/Scene/Map/FillterSheetView/FilterChip.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/FillterSheetView/FilterChip.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Map/FillterSheetView/FilterChip.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/FillterSheetView/FilterChip.swift diff --git a/Poppool/Poppool/Presentation/Scene/Map/FillterSheetView/FilterChipsView.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/FillterSheetView/FilterChipsView.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Map/FillterSheetView/FilterChipsView.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/FillterSheetView/FilterChipsView.swift diff --git a/Poppool/Poppool/Presentation/Scene/Map/FindMap/MapGuideView/FullScreenMapViewController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/FindMap/MapGuideView/FullScreenMapViewController.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Map/FindMap/MapGuideView/FullScreenMapViewController.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/FindMap/MapGuideView/FullScreenMapViewController.swift diff --git a/Poppool/Poppool/Presentation/Scene/Map/FindMap/MapGuideView/MapGuideReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/FindMap/MapGuideView/MapGuideReactor.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Map/FindMap/MapGuideView/MapGuideReactor.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/FindMap/MapGuideView/MapGuideReactor.swift diff --git a/Poppool/Poppool/Presentation/Scene/Map/FindMap/MapGuideView/MapGuideViewController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/FindMap/MapGuideView/MapGuideViewController.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Map/FindMap/MapGuideView/MapGuideViewController.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/FindMap/MapGuideView/MapGuideViewController.swift diff --git a/Poppool/Poppool/Presentation/Scene/Map/MapPopupCardView/MapPopupCarouselView.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/MapPopupCardView/MapPopupCarouselView.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Map/MapPopupCardView/MapPopupCarouselView.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/MapPopupCardView/MapPopupCarouselView.swift diff --git a/Poppool/Poppool/Presentation/Scene/Map/MapPopupCardView/PopupCardCell.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/MapPopupCardView/PopupCardCell.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Map/MapPopupCardView/PopupCardCell.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/MapPopupCardView/PopupCardCell.swift diff --git a/Poppool/Poppool/Presentation/Scene/Map/MapView/MapMarker.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/MapView/MapMarker.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Map/MapView/MapMarker.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/MapView/MapMarker.swift diff --git a/Poppool/Poppool/Presentation/Scene/Map/MapView/MapReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/MapView/MapReactor.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Map/MapView/MapReactor.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/MapView/MapReactor.swift diff --git a/Poppool/Poppool/Presentation/Scene/Map/MapView/MapSearchInput.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/MapView/MapSearchInput.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Map/MapView/MapSearchInput.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/MapView/MapSearchInput.swift diff --git a/Poppool/Poppool/Presentation/Scene/Map/MapView/MapView.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/MapView/MapView.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Map/MapView/MapView.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/MapView/MapView.swift diff --git a/Poppool/Poppool/Presentation/Scene/Map/MapView/MapViewController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/MapView/MapViewController.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Map/MapView/MapViewController.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/MapView/MapViewController.swift diff --git a/Poppool/Poppool/Presentation/Scene/Map/MapView/MarkerTooltipView.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/MapView/MarkerTooltipView.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Map/MapView/MarkerTooltipView.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/MapView/MarkerTooltipView.swift diff --git a/Poppool/Poppool/Presentation/Scene/Map/StoreListView/StoreListCell.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/StoreListView/StoreListCell.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Map/StoreListView/StoreListCell.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/StoreListView/StoreListCell.swift diff --git a/Poppool/Poppool/Presentation/Scene/Map/StoreListView/StoreListReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/StoreListView/StoreListReactor.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Map/StoreListView/StoreListReactor.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/StoreListView/StoreListReactor.swift diff --git a/Poppool/Poppool/Presentation/Scene/Map/StoreListView/StoreListSection.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/StoreListView/StoreListSection.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Map/StoreListView/StoreListSection.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/StoreListView/StoreListSection.swift diff --git a/Poppool/Poppool/Presentation/Scene/Map/StoreListView/StoreListView.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/StoreListView/StoreListView.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Map/StoreListView/StoreListView.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/StoreListView/StoreListView.swift diff --git a/Poppool/Poppool/Presentation/Scene/Map/StoreListView/StoreListViewController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/StoreListView/StoreListViewController.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Map/StoreListView/StoreListViewController.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/StoreListView/StoreListViewController.swift diff --git a/Poppool/Poppool/Presentation/Scene/MyPage/Block/BlockUserManageController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Block/BlockUserManageController.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/MyPage/Block/BlockUserManageController.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Block/BlockUserManageController.swift diff --git a/Poppool/Poppool/Presentation/Scene/MyPage/Block/BlockUserManageReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Block/BlockUserManageReactor.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/MyPage/Block/BlockUserManageReactor.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Block/BlockUserManageReactor.swift diff --git a/Poppool/Poppool/Presentation/Scene/MyPage/Block/View/BlockUserListSection/BlockUserListSection.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Block/View/BlockUserListSection/BlockUserListSection.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/MyPage/Block/View/BlockUserListSection/BlockUserListSection.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Block/View/BlockUserListSection/BlockUserListSection.swift diff --git a/Poppool/Poppool/Presentation/Scene/MyPage/Block/View/BlockUserListSection/BlockUserListSectionCell.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Block/View/BlockUserListSection/BlockUserListSectionCell.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/MyPage/Block/View/BlockUserListSection/BlockUserListSectionCell.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Block/View/BlockUserListSection/BlockUserListSectionCell.swift diff --git a/Poppool/Poppool/Presentation/Scene/MyPage/Block/View/BlockUserManageView.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Block/View/BlockUserManageView.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/MyPage/Block/View/BlockUserManageView.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Block/View/BlockUserManageView.swift diff --git a/Poppool/Poppool/Presentation/Scene/MyPage/Bookmark/Main/MyPageBookmarkController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Bookmark/Main/MyPageBookmarkController.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/MyPage/Bookmark/Main/MyPageBookmarkController.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Bookmark/Main/MyPageBookmarkController.swift diff --git a/Poppool/Poppool/Presentation/Scene/MyPage/Bookmark/Main/MyPageBookmarkReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Bookmark/Main/MyPageBookmarkReactor.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/MyPage/Bookmark/Main/MyPageBookmarkReactor.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Bookmark/Main/MyPageBookmarkReactor.swift diff --git a/Poppool/Poppool/Presentation/Scene/MyPage/Bookmark/Main/MyPageBookmarkView.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Bookmark/Main/MyPageBookmarkView.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/MyPage/Bookmark/Main/MyPageBookmarkView.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Bookmark/Main/MyPageBookmarkView.swift diff --git a/Poppool/Poppool/Presentation/Scene/MyPage/Bookmark/Main/View/CountButtonView.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Bookmark/Main/View/CountButtonView.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/MyPage/Bookmark/Main/View/CountButtonView.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Bookmark/Main/View/CountButtonView.swift diff --git a/Poppool/Poppool/Presentation/Scene/MyPage/Bookmark/Main/View/PopUpCardSection/PopUpCardSection.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Bookmark/Main/View/PopUpCardSection/PopUpCardSection.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/MyPage/Bookmark/Main/View/PopUpCardSection/PopUpCardSection.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Bookmark/Main/View/PopUpCardSection/PopUpCardSection.swift diff --git a/Poppool/Poppool/Presentation/Scene/MyPage/Bookmark/Main/View/PopUpCardSection/PopUpCardSectionCell.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Bookmark/Main/View/PopUpCardSection/PopUpCardSectionCell.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/MyPage/Bookmark/Main/View/PopUpCardSection/PopUpCardSectionCell.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Bookmark/Main/View/PopUpCardSection/PopUpCardSectionCell.swift diff --git a/Poppool/Poppool/Presentation/Scene/MyPage/Bookmark/Main/View/PopUpCardSection/PopUpCardView.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Bookmark/Main/View/PopUpCardSection/PopUpCardView.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/MyPage/Bookmark/Main/View/PopUpCardSection/PopUpCardView.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Bookmark/Main/View/PopUpCardSection/PopUpCardView.swift diff --git a/Poppool/Poppool/Presentation/Scene/MyPage/Bookmark/ViewTypeModal/BookMarkPopUpViewTypeModalController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Bookmark/ViewTypeModal/BookMarkPopUpViewTypeModalController.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/MyPage/Bookmark/ViewTypeModal/BookMarkPopUpViewTypeModalController.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Bookmark/ViewTypeModal/BookMarkPopUpViewTypeModalController.swift diff --git a/Poppool/Poppool/Presentation/Scene/MyPage/Bookmark/ViewTypeModal/BookMarkPopUpViewTypeModalReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Bookmark/ViewTypeModal/BookMarkPopUpViewTypeModalReactor.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/MyPage/Bookmark/ViewTypeModal/BookMarkPopUpViewTypeModalReactor.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Bookmark/ViewTypeModal/BookMarkPopUpViewTypeModalReactor.swift diff --git a/Poppool/Poppool/Presentation/Scene/MyPage/Bookmark/ViewTypeModal/BookMarkPopUpViewTypeModalView.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Bookmark/ViewTypeModal/BookMarkPopUpViewTypeModalView.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/MyPage/Bookmark/ViewTypeModal/BookMarkPopUpViewTypeModalView.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Bookmark/ViewTypeModal/BookMarkPopUpViewTypeModalView.swift diff --git a/Poppool/Poppool/Presentation/Scene/MyPage/FAQ/FAQController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/FAQ/FAQController.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/MyPage/FAQ/FAQController.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/FAQ/FAQController.swift diff --git a/Poppool/Poppool/Presentation/Scene/MyPage/FAQ/FAQReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/FAQ/FAQReactor.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/MyPage/FAQ/FAQReactor.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/FAQ/FAQReactor.swift diff --git a/Poppool/Poppool/Presentation/Scene/MyPage/FAQ/View/FAQDropdownSection/FAQDropdownSection.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/FAQ/View/FAQDropdownSection/FAQDropdownSection.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/MyPage/FAQ/View/FAQDropdownSection/FAQDropdownSection.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/FAQ/View/FAQDropdownSection/FAQDropdownSection.swift diff --git a/Poppool/Poppool/Presentation/Scene/MyPage/FAQ/View/FAQDropdownSection/FAQDropdownSectionCell.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/FAQ/View/FAQDropdownSection/FAQDropdownSectionCell.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/MyPage/FAQ/View/FAQDropdownSection/FAQDropdownSectionCell.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/FAQ/View/FAQDropdownSection/FAQDropdownSectionCell.swift diff --git a/Poppool/Poppool/Presentation/Scene/MyPage/FAQ/View/FAQView.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/FAQ/View/FAQView.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/MyPage/FAQ/View/FAQView.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/FAQ/View/FAQView.swift diff --git a/Poppool/Poppool/Presentation/Scene/MyPage/Main/MyPageController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/MyPageController.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/MyPage/Main/MyPageController.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/MyPageController.swift diff --git a/Poppool/Poppool/Presentation/Scene/MyPage/Main/MyPageReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/MyPageReactor.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/MyPage/Main/MyPageReactor.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/MyPageReactor.swift diff --git a/Poppool/Poppool/Presentation/Scene/MyPage/Main/View/MyPageCommentSection/MyPageCommentSection.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/View/MyPageCommentSection/MyPageCommentSection.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/MyPage/Main/View/MyPageCommentSection/MyPageCommentSection.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/View/MyPageCommentSection/MyPageCommentSection.swift diff --git a/Poppool/Poppool/Presentation/Scene/MyPage/Main/View/MyPageCommentSection/MyPageCommentSectionCell.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/View/MyPageCommentSection/MyPageCommentSectionCell.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/MyPage/Main/View/MyPageCommentSection/MyPageCommentSectionCell.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/View/MyPageCommentSection/MyPageCommentSectionCell.swift diff --git a/Poppool/Poppool/Presentation/Scene/MyPage/Main/View/MyPageListSection/MyPageListSection.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/View/MyPageListSection/MyPageListSection.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/MyPage/Main/View/MyPageListSection/MyPageListSection.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/View/MyPageListSection/MyPageListSection.swift diff --git a/Poppool/Poppool/Presentation/Scene/MyPage/Main/View/MyPageListSection/MyPageListSectionCell.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/View/MyPageListSection/MyPageListSectionCell.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/MyPage/Main/View/MyPageListSection/MyPageListSectionCell.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/View/MyPageListSection/MyPageListSectionCell.swift diff --git a/Poppool/Poppool/Presentation/Scene/MyPage/Main/View/MyPageLogoutSection/MyPageLogoutSection.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/View/MyPageLogoutSection/MyPageLogoutSection.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/MyPage/Main/View/MyPageLogoutSection/MyPageLogoutSection.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/View/MyPageLogoutSection/MyPageLogoutSection.swift diff --git a/Poppool/Poppool/Presentation/Scene/MyPage/Main/View/MyPageLogoutSection/MyPageLogoutSectionCell.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/View/MyPageLogoutSection/MyPageLogoutSectionCell.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/MyPage/Main/View/MyPageLogoutSection/MyPageLogoutSectionCell.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/View/MyPageLogoutSection/MyPageLogoutSectionCell.swift diff --git a/Poppool/Poppool/Presentation/Scene/MyPage/Main/View/MyPageMyCommentTitleSection/MyPageMyCommentTitleSection.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/View/MyPageMyCommentTitleSection/MyPageMyCommentTitleSection.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/MyPage/Main/View/MyPageMyCommentTitleSection/MyPageMyCommentTitleSection.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/View/MyPageMyCommentTitleSection/MyPageMyCommentTitleSection.swift diff --git a/Poppool/Poppool/Presentation/Scene/MyPage/Main/View/MyPageMyCommentTitleSection/MyPageMyCommentTitleSectionCell.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/View/MyPageMyCommentTitleSection/MyPageMyCommentTitleSectionCell.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/MyPage/Main/View/MyPageMyCommentTitleSection/MyPageMyCommentTitleSectionCell.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/View/MyPageMyCommentTitleSection/MyPageMyCommentTitleSectionCell.swift diff --git a/Poppool/Poppool/Presentation/Scene/MyPage/Main/View/MyPageProfileSection/MyPageProfileSection.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/View/MyPageProfileSection/MyPageProfileSection.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/MyPage/Main/View/MyPageProfileSection/MyPageProfileSection.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/View/MyPageProfileSection/MyPageProfileSection.swift diff --git a/Poppool/Poppool/Presentation/Scene/MyPage/Main/View/MyPageProfileSection/MyPageProfileSectionCell.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/View/MyPageProfileSection/MyPageProfileSectionCell.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/MyPage/Main/View/MyPageProfileSection/MyPageProfileSectionCell.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/View/MyPageProfileSection/MyPageProfileSectionCell.swift diff --git a/Poppool/Poppool/Presentation/Scene/MyPage/Main/View/MyPageView.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/View/MyPageView.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/MyPage/Main/View/MyPageView.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/View/MyPageView.swift diff --git a/Poppool/Poppool/Presentation/Scene/MyPage/MyComment/Main/MyCommentController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/MyComment/Main/MyCommentController.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/MyPage/MyComment/Main/MyCommentController.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/MyComment/Main/MyCommentController.swift diff --git a/Poppool/Poppool/Presentation/Scene/MyPage/MyComment/Main/MyCommentReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/MyComment/Main/MyCommentReactor.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/MyPage/MyComment/Main/MyCommentReactor.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/MyComment/Main/MyCommentReactor.swift diff --git a/Poppool/Poppool/Presentation/Scene/MyPage/MyComment/Main/View/ListCountButtonSection/ListCountButtonSection.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/MyComment/Main/View/ListCountButtonSection/ListCountButtonSection.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/MyPage/MyComment/Main/View/ListCountButtonSection/ListCountButtonSection.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/MyComment/Main/View/ListCountButtonSection/ListCountButtonSection.swift diff --git a/Poppool/Poppool/Presentation/Scene/MyPage/MyComment/Main/View/ListCountButtonSection/ListCountButtonSectionCell.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/MyComment/Main/View/ListCountButtonSection/ListCountButtonSectionCell.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/MyPage/MyComment/Main/View/ListCountButtonSection/ListCountButtonSectionCell.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/MyComment/Main/View/ListCountButtonSection/ListCountButtonSectionCell.swift diff --git a/Poppool/Poppool/Presentation/Scene/MyPage/MyComment/Main/View/MyCommentView.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/MyComment/Main/View/MyCommentView.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/MyPage/MyComment/Main/View/MyCommentView.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/MyComment/Main/View/MyCommentView.swift diff --git a/Poppool/Poppool/Presentation/Scene/MyPage/MyComment/Main/View/MyCommentedPopUpGridSection/MyCommentedPopUpGridSection.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/MyComment/Main/View/MyCommentedPopUpGridSection/MyCommentedPopUpGridSection.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/MyPage/MyComment/Main/View/MyCommentedPopUpGridSection/MyCommentedPopUpGridSection.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/MyComment/Main/View/MyCommentedPopUpGridSection/MyCommentedPopUpGridSection.swift diff --git a/Poppool/Poppool/Presentation/Scene/MyPage/MyComment/Main/View/MyCommentedPopUpGridSection/MyCommentedPopUpGridSectionCell.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/MyComment/Main/View/MyCommentedPopUpGridSection/MyCommentedPopUpGridSectionCell.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/MyPage/MyComment/Main/View/MyCommentedPopUpGridSection/MyCommentedPopUpGridSectionCell.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/MyComment/Main/View/MyCommentedPopUpGridSection/MyCommentedPopUpGridSectionCell.swift diff --git a/Poppool/Poppool/Presentation/Scene/MyPage/MyComment/SortedModal/MyCommentSortedModalController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/MyComment/SortedModal/MyCommentSortedModalController.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/MyPage/MyComment/SortedModal/MyCommentSortedModalController.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/MyComment/SortedModal/MyCommentSortedModalController.swift diff --git a/Poppool/Poppool/Presentation/Scene/MyPage/MyComment/SortedModal/MyCommentSortedModalReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/MyComment/SortedModal/MyCommentSortedModalReactor.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/MyPage/MyComment/SortedModal/MyCommentSortedModalReactor.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/MyComment/SortedModal/MyCommentSortedModalReactor.swift diff --git a/Poppool/Poppool/Presentation/Scene/MyPage/MyComment/SortedModal/MyCommentSortedModalView.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/MyComment/SortedModal/MyCommentSortedModalView.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/MyPage/MyComment/SortedModal/MyCommentSortedModalView.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/MyComment/SortedModal/MyCommentSortedModalView.swift diff --git a/Poppool/Poppool/Presentation/Scene/MyPage/Notice/Detail/MyPageNoticeDetailController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Notice/Detail/MyPageNoticeDetailController.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/MyPage/Notice/Detail/MyPageNoticeDetailController.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Notice/Detail/MyPageNoticeDetailController.swift diff --git a/Poppool/Poppool/Presentation/Scene/MyPage/Notice/Detail/MyPageNoticeDetailReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Notice/Detail/MyPageNoticeDetailReactor.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/MyPage/Notice/Detail/MyPageNoticeDetailReactor.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Notice/Detail/MyPageNoticeDetailReactor.swift diff --git a/Poppool/Poppool/Presentation/Scene/MyPage/Notice/Detail/MyPageNoticeDetailView.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Notice/Detail/MyPageNoticeDetailView.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/MyPage/Notice/Detail/MyPageNoticeDetailView.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Notice/Detail/MyPageNoticeDetailView.swift diff --git a/Poppool/Poppool/Presentation/Scene/MyPage/Notice/List/MyPageNoticeController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Notice/List/MyPageNoticeController.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/MyPage/Notice/List/MyPageNoticeController.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Notice/List/MyPageNoticeController.swift diff --git a/Poppool/Poppool/Presentation/Scene/MyPage/Notice/List/MyPageNoticeReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Notice/List/MyPageNoticeReactor.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/MyPage/Notice/List/MyPageNoticeReactor.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Notice/List/MyPageNoticeReactor.swift diff --git a/Poppool/Poppool/Presentation/Scene/MyPage/Notice/List/View/MyPageNoticeView.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Notice/List/View/MyPageNoticeView.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/MyPage/Notice/List/View/MyPageNoticeView.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Notice/List/View/MyPageNoticeView.swift diff --git a/Poppool/Poppool/Presentation/Scene/MyPage/Notice/List/View/NoticeListSection/NoticeListSection.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Notice/List/View/NoticeListSection/NoticeListSection.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/MyPage/Notice/List/View/NoticeListSection/NoticeListSection.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Notice/List/View/NoticeListSection/NoticeListSection.swift diff --git a/Poppool/Poppool/Presentation/Scene/MyPage/Notice/List/View/NoticeListSection/NoticeListSectionCell.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Notice/List/View/NoticeListSection/NoticeListSectionCell.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/MyPage/Notice/List/View/NoticeListSection/NoticeListSectionCell.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Notice/List/View/NoticeListSection/NoticeListSectionCell.swift diff --git a/Poppool/Poppool/Presentation/Scene/MyPage/ProfileEdit/CategoryEditModal/CategoryEditModalController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/ProfileEdit/CategoryEditModal/CategoryEditModalController.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/MyPage/ProfileEdit/CategoryEditModal/CategoryEditModalController.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/ProfileEdit/CategoryEditModal/CategoryEditModalController.swift diff --git a/Poppool/Poppool/Presentation/Scene/MyPage/ProfileEdit/CategoryEditModal/CategoryEditModalReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/ProfileEdit/CategoryEditModal/CategoryEditModalReactor.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/MyPage/ProfileEdit/CategoryEditModal/CategoryEditModalReactor.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/ProfileEdit/CategoryEditModal/CategoryEditModalReactor.swift diff --git a/Poppool/Poppool/Presentation/Scene/MyPage/ProfileEdit/CategoryEditModal/CategoryEditModalView.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/ProfileEdit/CategoryEditModal/CategoryEditModalView.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/MyPage/ProfileEdit/CategoryEditModal/CategoryEditModalView.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/ProfileEdit/CategoryEditModal/CategoryEditModalView.swift diff --git a/Poppool/Poppool/Presentation/Scene/MyPage/ProfileEdit/InfoEditModal/InfoEditModalController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/ProfileEdit/InfoEditModal/InfoEditModalController.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/MyPage/ProfileEdit/InfoEditModal/InfoEditModalController.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/ProfileEdit/InfoEditModal/InfoEditModalController.swift diff --git a/Poppool/Poppool/Presentation/Scene/MyPage/ProfileEdit/InfoEditModal/InfoEditModalReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/ProfileEdit/InfoEditModal/InfoEditModalReactor.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/MyPage/ProfileEdit/InfoEditModal/InfoEditModalReactor.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/ProfileEdit/InfoEditModal/InfoEditModalReactor.swift diff --git a/Poppool/Poppool/Presentation/Scene/MyPage/ProfileEdit/InfoEditModal/InfoEditModalView.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/ProfileEdit/InfoEditModal/InfoEditModalView.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/MyPage/ProfileEdit/InfoEditModal/InfoEditModalView.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/ProfileEdit/InfoEditModal/InfoEditModalView.swift diff --git a/Poppool/Poppool/Presentation/Scene/MyPage/ProfileEdit/Main/ProfileEditController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/ProfileEdit/Main/ProfileEditController.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/MyPage/ProfileEdit/Main/ProfileEditController.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/ProfileEdit/Main/ProfileEditController.swift diff --git a/Poppool/Poppool/Presentation/Scene/MyPage/ProfileEdit/Main/ProfileEditReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/ProfileEdit/Main/ProfileEditReactor.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/MyPage/ProfileEdit/Main/ProfileEditReactor.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/ProfileEdit/Main/ProfileEditReactor.swift diff --git a/Poppool/Poppool/Presentation/Scene/MyPage/ProfileEdit/Main/View/ProfileEditListButton.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/ProfileEdit/Main/View/ProfileEditListButton.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/MyPage/ProfileEdit/Main/View/ProfileEditListButton.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/ProfileEdit/Main/View/ProfileEditListButton.swift diff --git a/Poppool/Poppool/Presentation/Scene/MyPage/ProfileEdit/Main/View/ProfileEditView.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/ProfileEdit/Main/View/ProfileEditView.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/MyPage/ProfileEdit/Main/View/ProfileEditView.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/ProfileEdit/Main/View/ProfileEditView.swift diff --git a/Poppool/Poppool/Presentation/Scene/MyPage/Recent/MyPageRecentController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Recent/MyPageRecentController.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/MyPage/Recent/MyPageRecentController.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Recent/MyPageRecentController.swift diff --git a/Poppool/Poppool/Presentation/Scene/MyPage/Recent/MyPageRecentReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Recent/MyPageRecentReactor.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/MyPage/Recent/MyPageRecentReactor.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Recent/MyPageRecentReactor.swift diff --git a/Poppool/Poppool/Presentation/Scene/MyPage/Recent/View/MyPageRecentView.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Recent/View/MyPageRecentView.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/MyPage/Recent/View/MyPageRecentView.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Recent/View/MyPageRecentView.swift diff --git a/Poppool/Poppool/Presentation/Scene/MyPage/Recent/View/RecentPopUpSection/RecentPopUpSection.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Recent/View/RecentPopUpSection/RecentPopUpSection.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/MyPage/Recent/View/RecentPopUpSection/RecentPopUpSection.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Recent/View/RecentPopUpSection/RecentPopUpSection.swift diff --git a/Poppool/Poppool/Presentation/Scene/MyPage/Terms/MyPageTermsController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Terms/MyPageTermsController.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/MyPage/Terms/MyPageTermsController.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Terms/MyPageTermsController.swift diff --git a/Poppool/Poppool/Presentation/Scene/MyPage/Terms/MyPageTermsReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Terms/MyPageTermsReactor.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/MyPage/Terms/MyPageTermsReactor.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Terms/MyPageTermsReactor.swift diff --git a/Poppool/Poppool/Presentation/Scene/MyPage/Withdrawl/CheckModal/WithdrawlCheckModalController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Withdrawl/CheckModal/WithdrawlCheckModalController.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/MyPage/Withdrawl/CheckModal/WithdrawlCheckModalController.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Withdrawl/CheckModal/WithdrawlCheckModalController.swift diff --git a/Poppool/Poppool/Presentation/Scene/MyPage/Withdrawl/CheckModal/WithdrawlCheckModalReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Withdrawl/CheckModal/WithdrawlCheckModalReactor.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/MyPage/Withdrawl/CheckModal/WithdrawlCheckModalReactor.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Withdrawl/CheckModal/WithdrawlCheckModalReactor.swift diff --git a/Poppool/Poppool/Presentation/Scene/MyPage/Withdrawl/CheckModal/WithdrawlCheckModalView.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Withdrawl/CheckModal/WithdrawlCheckModalView.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/MyPage/Withdrawl/CheckModal/WithdrawlCheckModalView.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Withdrawl/CheckModal/WithdrawlCheckModalView.swift diff --git a/Poppool/Poppool/Presentation/Scene/MyPage/Withdrawl/Complete/WithdrawlCompleteController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Withdrawl/Complete/WithdrawlCompleteController.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/MyPage/Withdrawl/Complete/WithdrawlCompleteController.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Withdrawl/Complete/WithdrawlCompleteController.swift diff --git a/Poppool/Poppool/Presentation/Scene/MyPage/Withdrawl/Complete/WithdrawlCompleteView.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Withdrawl/Complete/WithdrawlCompleteView.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/MyPage/Withdrawl/Complete/WithdrawlCompleteView.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Withdrawl/Complete/WithdrawlCompleteView.swift diff --git a/Poppool/Poppool/Presentation/Scene/MyPage/Withdrawl/SelectedReason/View/WithdrawlCheckSection.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Withdrawl/SelectedReason/View/WithdrawlCheckSection.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/MyPage/Withdrawl/SelectedReason/View/WithdrawlCheckSection.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Withdrawl/SelectedReason/View/WithdrawlCheckSection.swift diff --git a/Poppool/Poppool/Presentation/Scene/MyPage/Withdrawl/SelectedReason/View/WithdrawlCheckSectionCell.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Withdrawl/SelectedReason/View/WithdrawlCheckSectionCell.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/MyPage/Withdrawl/SelectedReason/View/WithdrawlCheckSectionCell.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Withdrawl/SelectedReason/View/WithdrawlCheckSectionCell.swift diff --git a/Poppool/Poppool/Presentation/Scene/MyPage/Withdrawl/SelectedReason/View/WithdrawlReasonView.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Withdrawl/SelectedReason/View/WithdrawlReasonView.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/MyPage/Withdrawl/SelectedReason/View/WithdrawlReasonView.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Withdrawl/SelectedReason/View/WithdrawlReasonView.swift diff --git a/Poppool/Poppool/Presentation/Scene/MyPage/Withdrawl/SelectedReason/WithdrawlReasonController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Withdrawl/SelectedReason/WithdrawlReasonController.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/MyPage/Withdrawl/SelectedReason/WithdrawlReasonController.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Withdrawl/SelectedReason/WithdrawlReasonController.swift diff --git a/Poppool/Poppool/Presentation/Scene/MyPage/Withdrawl/SelectedReason/WithdrawlReasonReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Withdrawl/SelectedReason/WithdrawlReasonReactor.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/MyPage/Withdrawl/SelectedReason/WithdrawlReasonReactor.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Withdrawl/SelectedReason/WithdrawlReasonReactor.swift diff --git a/Poppool/Poppool/Presentation/Scene/Search/AfterSearch/SearchResultController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/AfterSearch/SearchResultController.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Search/AfterSearch/SearchResultController.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/AfterSearch/SearchResultController.swift diff --git a/Poppool/Poppool/Presentation/Scene/Search/AfterSearch/SearchResultReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/AfterSearch/SearchResultReactor.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Search/AfterSearch/SearchResultReactor.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/AfterSearch/SearchResultReactor.swift diff --git a/Poppool/Poppool/Presentation/Scene/Search/AfterSearch/View/SearchResultCountSection/SearchResultCountSection.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/AfterSearch/View/SearchResultCountSection/SearchResultCountSection.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Search/AfterSearch/View/SearchResultCountSection/SearchResultCountSection.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/AfterSearch/View/SearchResultCountSection/SearchResultCountSection.swift diff --git a/Poppool/Poppool/Presentation/Scene/Search/AfterSearch/View/SearchResultCountSection/SearchResultCountSectionCell.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/AfterSearch/View/SearchResultCountSection/SearchResultCountSectionCell.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Search/AfterSearch/View/SearchResultCountSection/SearchResultCountSectionCell.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/AfterSearch/View/SearchResultCountSection/SearchResultCountSectionCell.swift diff --git a/Poppool/Poppool/Presentation/Scene/Search/AfterSearch/View/SearchResultView.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/AfterSearch/View/SearchResultView.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Search/AfterSearch/View/SearchResultView.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/AfterSearch/View/SearchResultView.swift diff --git a/Poppool/Poppool/Presentation/Scene/Search/BeforeSearch/SearchController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/BeforeSearch/SearchController.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Search/BeforeSearch/SearchController.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/BeforeSearch/SearchController.swift diff --git a/Poppool/Poppool/Presentation/Scene/Search/BeforeSearch/SearchReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/BeforeSearch/SearchReactor.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Search/BeforeSearch/SearchReactor.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/BeforeSearch/SearchReactor.swift diff --git a/Poppool/Poppool/Presentation/Scene/Search/BeforeSearch/View/CancelableTagSection/CancelableTagSection.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/BeforeSearch/View/CancelableTagSection/CancelableTagSection.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Search/BeforeSearch/View/CancelableTagSection/CancelableTagSection.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/BeforeSearch/View/CancelableTagSection/CancelableTagSection.swift diff --git a/Poppool/Poppool/Presentation/Scene/Search/BeforeSearch/View/CancelableTagSection/CancelableTagSectionCell.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/BeforeSearch/View/CancelableTagSection/CancelableTagSectionCell.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Search/BeforeSearch/View/CancelableTagSection/CancelableTagSectionCell.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/BeforeSearch/View/CancelableTagSection/CancelableTagSectionCell.swift diff --git a/Poppool/Poppool/Presentation/Scene/Search/BeforeSearch/View/SearchCountTitleSection/SearchCountTitleSection.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/BeforeSearch/View/SearchCountTitleSection/SearchCountTitleSection.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Search/BeforeSearch/View/SearchCountTitleSection/SearchCountTitleSection.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/BeforeSearch/View/SearchCountTitleSection/SearchCountTitleSection.swift diff --git a/Poppool/Poppool/Presentation/Scene/Search/BeforeSearch/View/SearchCountTitleSection/SearchCountTitleSectionCell.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/BeforeSearch/View/SearchCountTitleSection/SearchCountTitleSectionCell.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Search/BeforeSearch/View/SearchCountTitleSection/SearchCountTitleSectionCell.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/BeforeSearch/View/SearchCountTitleSection/SearchCountTitleSectionCell.swift diff --git a/Poppool/Poppool/Presentation/Scene/Search/BeforeSearch/View/SearchTitleSection/SearchTitleSection.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/BeforeSearch/View/SearchTitleSection/SearchTitleSection.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Search/BeforeSearch/View/SearchTitleSection/SearchTitleSection.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/BeforeSearch/View/SearchTitleSection/SearchTitleSection.swift diff --git a/Poppool/Poppool/Presentation/Scene/Search/BeforeSearch/View/SearchTitleSection/SearchTitleSectionCell.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/BeforeSearch/View/SearchTitleSection/SearchTitleSectionCell.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Search/BeforeSearch/View/SearchTitleSection/SearchTitleSectionCell.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/BeforeSearch/View/SearchTitleSection/SearchTitleSectionCell.swift diff --git a/Poppool/Poppool/Presentation/Scene/Search/BeforeSearch/View/SearchView.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/BeforeSearch/View/SearchView.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Search/BeforeSearch/View/SearchView.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/BeforeSearch/View/SearchView.swift diff --git a/Poppool/Poppool/Presentation/Scene/Search/CategoryController/SearchCategoryController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/CategoryController/SearchCategoryController.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Search/CategoryController/SearchCategoryController.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/CategoryController/SearchCategoryController.swift diff --git a/Poppool/Poppool/Presentation/Scene/Search/CategoryController/SearchCategoryReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/CategoryController/SearchCategoryReactor.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Search/CategoryController/SearchCategoryReactor.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/CategoryController/SearchCategoryReactor.swift diff --git a/Poppool/Poppool/Presentation/Scene/Search/CategoryController/SearchCategoryView.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/CategoryController/SearchCategoryView.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Search/CategoryController/SearchCategoryView.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/CategoryController/SearchCategoryView.swift diff --git a/Poppool/Poppool/Presentation/Scene/Search/Main/SearchMainController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/Main/SearchMainController.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Search/Main/SearchMainController.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/Main/SearchMainController.swift diff --git a/Poppool/Poppool/Presentation/Scene/Search/Main/SearchMainReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/Main/SearchMainReactor.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Search/Main/SearchMainReactor.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/Main/SearchMainReactor.swift diff --git a/Poppool/Poppool/Presentation/Scene/Search/Main/SearchMainView.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/Main/SearchMainView.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Search/Main/SearchMainView.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/Main/SearchMainView.swift diff --git a/Poppool/Poppool/Presentation/Scene/Search/SortedController/SearchSortedController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/SortedController/SearchSortedController.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Search/SortedController/SearchSortedController.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/SortedController/SearchSortedController.swift diff --git a/Poppool/Poppool/Presentation/Scene/Search/SortedController/SearchSortedReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/SortedController/SearchSortedReactor.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Search/SortedController/SearchSortedReactor.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/SortedController/SearchSortedReactor.swift diff --git a/Poppool/Poppool/Presentation/Scene/Search/SortedController/SearchSortedView.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/SortedController/SearchSortedView.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Search/SortedController/SearchSortedView.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/SortedController/SearchSortedView.swift diff --git a/Poppool/Poppool/Presentation/Scene/SignUp/Main/SignUpMainController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Main/SignUpMainController.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/SignUp/Main/SignUpMainController.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Main/SignUpMainController.swift diff --git a/Poppool/Poppool/Presentation/Scene/SignUp/Main/SignUpMainReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Main/SignUpMainReactor.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/SignUp/Main/SignUpMainReactor.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Main/SignUpMainReactor.swift diff --git a/Poppool/Poppool/Presentation/Scene/SignUp/Main/View/SignUpMainView.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Main/View/SignUpMainView.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/SignUp/Main/View/SignUpMainView.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Main/View/SignUpMainView.swift diff --git a/Poppool/Poppool/Presentation/Scene/SignUp/SignUpComplete/SignUpCompleteController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/SignUpComplete/SignUpCompleteController.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/SignUp/SignUpComplete/SignUpCompleteController.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/SignUpComplete/SignUpCompleteController.swift diff --git a/Poppool/Poppool/Presentation/Scene/SignUp/SignUpComplete/SignUpCompleteReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/SignUpComplete/SignUpCompleteReactor.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/SignUp/SignUpComplete/SignUpCompleteReactor.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/SignUpComplete/SignUpCompleteReactor.swift diff --git a/Poppool/Poppool/Presentation/Scene/SignUp/SignUpComplete/SignUpCompleteView.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/SignUpComplete/SignUpCompleteView.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/SignUp/SignUpComplete/SignUpCompleteView.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/SignUpComplete/SignUpCompleteView.swift diff --git a/Poppool/Poppool/Presentation/Scene/SignUp/Step1/SignUpStep1Controller.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step1/SignUpStep1Controller.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/SignUp/Step1/SignUpStep1Controller.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step1/SignUpStep1Controller.swift diff --git a/Poppool/Poppool/Presentation/Scene/SignUp/Step1/SignUpStep1Reactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step1/SignUpStep1Reactor.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/SignUp/Step1/SignUpStep1Reactor.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step1/SignUpStep1Reactor.swift diff --git a/Poppool/Poppool/Presentation/Scene/SignUp/Step1/View/SignUpCheckBoxButton.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step1/View/SignUpCheckBoxButton.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/SignUp/Step1/View/SignUpCheckBoxButton.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step1/View/SignUpCheckBoxButton.swift diff --git a/Poppool/Poppool/Presentation/Scene/SignUp/Step1/View/SignUpStep1View.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step1/View/SignUpStep1View.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/SignUp/Step1/View/SignUpStep1View.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step1/View/SignUpStep1View.swift diff --git a/Poppool/Poppool/Presentation/Scene/SignUp/Step1/View/SignUpTermsView.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step1/View/SignUpTermsView.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/SignUp/Step1/View/SignUpTermsView.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step1/View/SignUpTermsView.swift diff --git a/Poppool/Poppool/Presentation/Scene/SignUp/Step2/IntroState.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step2/IntroState.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/SignUp/Step2/IntroState.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step2/IntroState.swift diff --git a/Poppool/Poppool/Presentation/Scene/SignUp/Step2/NickNameState.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step2/NickNameState.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/SignUp/Step2/NickNameState.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step2/NickNameState.swift diff --git a/Poppool/Poppool/Presentation/Scene/SignUp/Step2/SignUpStep2Controller.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step2/SignUpStep2Controller.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/SignUp/Step2/SignUpStep2Controller.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step2/SignUpStep2Controller.swift diff --git a/Poppool/Poppool/Presentation/Scene/SignUp/Step2/SignUpStep2Reactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step2/SignUpStep2Reactor.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/SignUp/Step2/SignUpStep2Reactor.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step2/SignUpStep2Reactor.swift diff --git a/Poppool/Poppool/Presentation/Scene/SignUp/Step2/SignUpStep2View.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step2/SignUpStep2View.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/SignUp/Step2/SignUpStep2View.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step2/SignUpStep2View.swift diff --git a/Poppool/Poppool/Presentation/Scene/SignUp/Step3/SignUpStep3Controller.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step3/SignUpStep3Controller.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/SignUp/Step3/SignUpStep3Controller.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step3/SignUpStep3Controller.swift diff --git a/Poppool/Poppool/Presentation/Scene/SignUp/Step3/SignUpStep3Reactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step3/SignUpStep3Reactor.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/SignUp/Step3/SignUpStep3Reactor.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step3/SignUpStep3Reactor.swift diff --git a/Poppool/Poppool/Presentation/Scene/SignUp/Step3/View/SignUpStep3View.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step3/View/SignUpStep3View.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/SignUp/Step3/View/SignUpStep3View.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step3/View/SignUpStep3View.swift diff --git a/Poppool/Poppool/Presentation/Scene/SignUp/Step3/View/TagSection/TagSection.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step3/View/TagSection/TagSection.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/SignUp/Step3/View/TagSection/TagSection.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step3/View/TagSection/TagSection.swift diff --git a/Poppool/Poppool/Presentation/Scene/SignUp/Step3/View/TagSection/TagSectionCell.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step3/View/TagSection/TagSectionCell.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/SignUp/Step3/View/TagSection/TagSectionCell.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step3/View/TagSection/TagSectionCell.swift diff --git a/Poppool/Poppool/Presentation/Scene/SignUp/Step4/AgeSelectedModal/AgeSelectedController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step4/AgeSelectedModal/AgeSelectedController.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/SignUp/Step4/AgeSelectedModal/AgeSelectedController.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step4/AgeSelectedModal/AgeSelectedController.swift diff --git a/Poppool/Poppool/Presentation/Scene/SignUp/Step4/AgeSelectedModal/AgeSelectedReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step4/AgeSelectedModal/AgeSelectedReactor.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/SignUp/Step4/AgeSelectedModal/AgeSelectedReactor.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step4/AgeSelectedModal/AgeSelectedReactor.swift diff --git a/Poppool/Poppool/Presentation/Scene/SignUp/Step4/AgeSelectedModal/AgeSelectedView.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step4/AgeSelectedModal/AgeSelectedView.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/SignUp/Step4/AgeSelectedModal/AgeSelectedView.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step4/AgeSelectedModal/AgeSelectedView.swift diff --git a/Poppool/Poppool/Presentation/Scene/SignUp/Step4/Main/SignUpStep4Controller.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step4/Main/SignUpStep4Controller.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/SignUp/Step4/Main/SignUpStep4Controller.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step4/Main/SignUpStep4Controller.swift diff --git a/Poppool/Poppool/Presentation/Scene/SignUp/Step4/Main/SignUpStep4Reactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step4/Main/SignUpStep4Reactor.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/SignUp/Step4/Main/SignUpStep4Reactor.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step4/Main/SignUpStep4Reactor.swift diff --git a/Poppool/Poppool/Presentation/Scene/SignUp/Step4/Main/View/AgeSelectedButton.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step4/Main/View/AgeSelectedButton.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/SignUp/Step4/Main/View/AgeSelectedButton.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step4/Main/View/AgeSelectedButton.swift diff --git a/Poppool/Poppool/Presentation/Scene/SignUp/Step4/Main/View/SignUpStep4View.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step4/Main/View/SignUpStep4View.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/SignUp/Step4/Main/View/SignUpStep4View.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step4/Main/View/SignUpStep4View.swift diff --git a/Poppool/Poppool/Presentation/Scene/SignUp/TermsDetail/TermsDetailController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/TermsDetail/TermsDetailController.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/SignUp/TermsDetail/TermsDetailController.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/TermsDetail/TermsDetailController.swift diff --git a/Poppool/Poppool/Presentation/Scene/SignUp/TermsDetail/TermsDetailView.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/TermsDetail/TermsDetailView.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/SignUp/TermsDetail/TermsDetailView.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/TermsDetail/TermsDetailView.swift diff --git a/Poppool/Poppool/Presentation/Scene/Splash/SplashController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Splash/SplashController.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Splash/SplashController.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Splash/SplashController.swift diff --git a/Poppool/Poppool/Presentation/Scene/Splash/View/SplashView.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Splash/View/SplashView.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/Splash/View/SplashView.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/Splash/View/SplashView.swift diff --git a/Poppool/Poppool/Presentation/Scene/TabbarController/TabbarController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/TabbarController/TabbarController.swift similarity index 100% rename from Poppool/Poppool/Presentation/Scene/TabbarController/TabbarController.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Scene/TabbarController/TabbarController.swift diff --git a/Poppool/Poppool/Presentation/Utills/Common/ClusteringManager.swift b/Poppool/Poppool/PresentationLayer/Presentation/Utills/Common/ClusteringManager.swift similarity index 100% rename from Poppool/Poppool/Presentation/Utills/Common/ClusteringManager.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Utills/Common/ClusteringManager.swift diff --git a/Poppool/Poppool/Presentation/Utills/Common/ClusteringModels.swift b/Poppool/Poppool/PresentationLayer/Presentation/Utills/Common/ClusteringModels.swift similarity index 100% rename from Poppool/Poppool/Presentation/Utills/Common/ClusteringModels.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Utills/Common/ClusteringModels.swift diff --git a/Poppool/Poppool/Presentation/Utills/Common/DateTimePickerManager.swift b/Poppool/Poppool/PresentationLayer/Presentation/Utills/Common/DateTimePickerManager.swift similarity index 100% rename from Poppool/Poppool/Presentation/Utills/Common/DateTimePickerManager.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Utills/Common/DateTimePickerManager.swift diff --git a/Poppool/Poppool/Presentation/Utills/Common/ExtendedImage.swift b/Poppool/Poppool/PresentationLayer/Presentation/Utills/Common/ExtendedImage.swift similarity index 100% rename from Poppool/Poppool/Presentation/Utills/Common/ExtendedImage.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Utills/Common/ExtendedImage.swift diff --git a/Poppool/Poppool/Presentation/Utills/Common/FilterType.swift b/Poppool/Poppool/PresentationLayer/Presentation/Utills/Common/FilterType.swift similarity index 100% rename from Poppool/Poppool/Presentation/Utills/Common/FilterType.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Utills/Common/FilterType.swift diff --git a/Poppool/Poppool/Presentation/Utills/Common/LocationPermissionBottomSheet.swift b/Poppool/Poppool/PresentationLayer/Presentation/Utills/Common/LocationPermissionBottomSheet.swift similarity index 100% rename from Poppool/Poppool/Presentation/Utills/Common/LocationPermissionBottomSheet.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Utills/Common/LocationPermissionBottomSheet.swift diff --git a/Poppool/Poppool/Presentation/Utills/Common/MapFilterChips.swift b/Poppool/Poppool/PresentationLayer/Presentation/Utills/Common/MapFilterChips.swift similarity index 100% rename from Poppool/Poppool/Presentation/Utills/Common/MapFilterChips.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Utills/Common/MapFilterChips.swift diff --git a/Poppool/Poppool/Presentation/Utills/Common/MapUtilities.swift b/Poppool/Poppool/PresentationLayer/Presentation/Utills/Common/MapUtilities.swift similarity index 100% rename from Poppool/Poppool/Presentation/Utills/Common/MapUtilities.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Utills/Common/MapUtilities.swift diff --git a/Poppool/Poppool/Presentation/Utills/Common/NMFMapViewDelegateProxy.swift b/Poppool/Poppool/PresentationLayer/Presentation/Utills/Common/NMFMapViewDelegateProxy.swift similarity index 100% rename from Poppool/Poppool/Presentation/Utills/Common/NMFMapViewDelegateProxy.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Utills/Common/NMFMapViewDelegateProxy.swift diff --git a/Poppool/Poppool/Presentation/Utills/Common/RegionDefinitions.swift b/Poppool/Poppool/PresentationLayer/Presentation/Utills/Common/RegionDefinitions.swift similarity index 100% rename from Poppool/Poppool/Presentation/Utills/Common/RegionDefinitions.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Utills/Common/RegionDefinitions.swift diff --git a/Poppool/Poppool/Presentation/Utills/Common/ViewportBounds.swift b/Poppool/Poppool/PresentationLayer/Presentation/Utills/Common/ViewportBounds.swift similarity index 100% rename from Poppool/Poppool/Presentation/Utills/Common/ViewportBounds.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Utills/Common/ViewportBounds.swift diff --git a/Poppool/Poppool/Presentation/Utills/Controllers/BaseTabmanController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Utills/Controllers/BaseTabmanController.swift similarity index 100% rename from Poppool/Poppool/Presentation/Utills/Controllers/BaseTabmanController.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Utills/Controllers/BaseTabmanController.swift diff --git a/Poppool/Poppool/Presentation/Utills/Controllers/BaseViewController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Utills/Controllers/BaseViewController.swift similarity index 100% rename from Poppool/Poppool/Presentation/Utills/Controllers/BaseViewController.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Utills/Controllers/BaseViewController.swift diff --git a/Poppool/Poppool/Presentation/Utills/Interfaces/InOutputable.swift b/Poppool/Poppool/PresentationLayer/Presentation/Utills/Interfaces/InOutputable.swift similarity index 100% rename from Poppool/Poppool/Presentation/Utills/Interfaces/InOutputable.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Utills/Interfaces/InOutputable.swift diff --git a/Poppool/Poppool/Presentation/Utills/Interfaces/Sectionable/SectionDecorationItem.swift b/Poppool/Poppool/PresentationLayer/Presentation/Utills/Interfaces/Sectionable/SectionDecorationItem.swift similarity index 100% rename from Poppool/Poppool/Presentation/Utills/Interfaces/Sectionable/SectionDecorationItem.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Utills/Interfaces/Sectionable/SectionDecorationItem.swift diff --git a/Poppool/Poppool/Presentation/Utills/Interfaces/Sectionable/SectionSupplementaryItem.swift b/Poppool/Poppool/PresentationLayer/Presentation/Utills/Interfaces/Sectionable/SectionSupplementaryItem.swift similarity index 100% rename from Poppool/Poppool/Presentation/Utills/Interfaces/Sectionable/SectionSupplementaryItem.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Utills/Interfaces/Sectionable/SectionSupplementaryItem.swift diff --git a/Poppool/Poppool/Presentation/Utills/Interfaces/Sectionable/Sectionable.swift b/Poppool/Poppool/PresentationLayer/Presentation/Utills/Interfaces/Sectionable/Sectionable.swift similarity index 100% rename from Poppool/Poppool/Presentation/Utills/Interfaces/Sectionable/Sectionable.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Utills/Interfaces/Sectionable/Sectionable.swift diff --git a/Poppool/Poppool/Presentation/Utills/ToastMaker/BookMarkToastView.swift b/Poppool/Poppool/PresentationLayer/Presentation/Utills/ToastMaker/BookMarkToastView.swift similarity index 100% rename from Poppool/Poppool/Presentation/Utills/ToastMaker/BookMarkToastView.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Utills/ToastMaker/BookMarkToastView.swift diff --git a/Poppool/Poppool/Presentation/Utills/ToastMaker/ToastMaker.swift b/Poppool/Poppool/PresentationLayer/Presentation/Utills/ToastMaker/ToastMaker.swift similarity index 100% rename from Poppool/Poppool/Presentation/Utills/ToastMaker/ToastMaker.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Utills/ToastMaker/ToastMaker.swift diff --git a/Poppool/Poppool/Presentation/Utills/ToastMaker/ToastView.swift b/Poppool/Poppool/PresentationLayer/Presentation/Utills/ToastMaker/ToastView.swift similarity index 100% rename from Poppool/Poppool/Presentation/Utills/ToastMaker/ToastView.swift rename to Poppool/Poppool/PresentationLayer/Presentation/Utills/ToastMaker/ToastView.swift From e4230f23f4ee5b77767204b6fb90d39ab05ad3b7 Mon Sep 17 00:00:00 2001 From: 0Hooni Date: Wed, 16 Apr 2025 10:12:24 +0900 Subject: [PATCH 13/83] =?UTF-8?q?refactor/#112:=20=EB=B6=88=ED=95=84?= =?UTF-8?q?=EC=9A=94=ED=95=9C=20=ED=8C=8C=EC=9D=BC=20=EC=A0=9C=EA=B1=B0=20?= =?UTF-8?q?=EB=B0=8F=20Layer=EC=97=90=20=EB=A7=9E=EA=B2=8C=20=ED=8F=B4?= =?UTF-8?q?=EB=8D=94=EB=A7=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Infrastructure/Extension/UIFont+.swift | 1 + .../IndicatorMaker/IndicatorMaker.swift | 56 ------------------- .../Service/AppleLoginService.swift | 0 .../Service/AuthServiceable.swift | 0 .../Service/KakaoLoginService.swift | 0 .../Service/KeyChainService.swift | 0 .../Service/PreSignedService.swift | 0 .../Service/UserDefaultService.swift | 0 .../GetCategoryListResponseDTO.swift | 4 +- .../Network/API/SortedRequestDTO.swift | 2 + .../Interceptor/FormDataInterceptor.swift | 30 ---------- .../RepositoryImpl/MapRepositoryImpl.swift | 2 +- .../PopUpAPIRepositoryImpl.swift | 2 +- .../RepositoryImpl/SignUpRepositoryImpl.swift | 2 +- .../Domain/UseCaseImpl/MapUseCaseImpl.swift | 2 +- .../UseCaseImpl/SignUpAPIUseCaseImpl.swift | 2 +- .../CategoryResponse.swift} | 2 +- .../{ => HomeResponse}/BannerPopUpStore.swift | 0 .../GetHomeInfoResponse.swift | 0 .../{ => MapResponse}/MapPopUpStore.swift | 0 .../PopUpStoreResponse.swift | 0 .../UserResponse/GetMyProfileResponse.swift | 2 +- .../Repository/MapRepository.swift | 4 +- .../Repository/SignUpRepository.swift | 2 +- .../DomainInterface/UseCase/MapUseCase.swift | 2 +- .../UseCase/SignUpAPIUseCase.swift | 2 +- .../Utills/Common/FilterType.swift | 1 - .../Utills/Common/ViewportBounds.swift | 6 -- 28 files changed, 17 insertions(+), 107 deletions(-) delete mode 100644 Poppool/Poppool/CoreLayer/Infrastructure/IndicatorMaker/IndicatorMaker.swift rename Poppool/Poppool/{DataLayer/Network => CoreLayer/Infrastructure}/Service/AppleLoginService.swift (100%) rename Poppool/Poppool/{DataLayer/Network => CoreLayer/Infrastructure}/Service/AuthServiceable.swift (100%) rename Poppool/Poppool/{DataLayer/Network => CoreLayer/Infrastructure}/Service/KakaoLoginService.swift (100%) rename Poppool/Poppool/{DataLayer/Network => CoreLayer/Infrastructure}/Service/KeyChainService.swift (100%) rename Poppool/Poppool/{DataLayer/Network => CoreLayer/Infrastructure}/Service/PreSignedService.swift (100%) rename Poppool/Poppool/{DataLayer/Network => CoreLayer/Infrastructure}/Service/UserDefaultService.swift (100%) delete mode 100644 Poppool/Poppool/DataLayer/Network/Interceptor/FormDataInterceptor.swift rename Poppool/Poppool/DomainLayer/DomainInterface/Entity/{Category.swift => AuthResponse/CategoryResponse.swift} (85%) rename Poppool/Poppool/DomainLayer/DomainInterface/Entity/{ => HomeResponse}/BannerPopUpStore.swift (100%) rename Poppool/Poppool/DomainLayer/DomainInterface/Entity/{ => HomeResponse}/GetHomeInfoResponse.swift (100%) rename Poppool/Poppool/DomainLayer/DomainInterface/Entity/{ => MapResponse}/MapPopUpStore.swift (100%) rename Poppool/Poppool/DomainLayer/DomainInterface/Entity/{ => PopUpResponse}/PopUpStoreResponse.swift (100%) delete mode 100644 Poppool/Poppool/PresentationLayer/Presentation/Utills/Common/ViewportBounds.swift diff --git a/Poppool/Poppool/CoreLayer/Infrastructure/Extension/UIFont+.swift b/Poppool/Poppool/CoreLayer/Infrastructure/Extension/UIFont+.swift index 75bdb25b..f8eaab2d 100644 --- a/Poppool/Poppool/CoreLayer/Infrastructure/Extension/UIFont+.swift +++ b/Poppool/Poppool/CoreLayer/Infrastructure/Extension/UIFont+.swift @@ -1,4 +1,5 @@ import Foundation + import UIKit extension UIFont { diff --git a/Poppool/Poppool/CoreLayer/Infrastructure/IndicatorMaker/IndicatorMaker.swift b/Poppool/Poppool/CoreLayer/Infrastructure/IndicatorMaker/IndicatorMaker.swift deleted file mode 100644 index 997125a1..00000000 --- a/Poppool/Poppool/CoreLayer/Infrastructure/IndicatorMaker/IndicatorMaker.swift +++ /dev/null @@ -1,56 +0,0 @@ -// -// IndicatorMaker.swift -// MomsVillage -// -// Created by SeoJunYoung on 10/14/24. -// - -import UIKit - -import Lottie -import SnapKit - -struct IndicatorMaker { - - static let indicatorImageView: LottieAnimationView = { - let view = LottieAnimationView(name: "indicator") - view.loopMode = .loop - return view - }() - - static let overlayView: UIView = { - let view = UIView() - view.backgroundColor = .black.withAlphaComponent(0.1) - return view - }() - - static func showIndicator() { - DispatchQueue.main.async { - guard let topVC = UIApplication.topViewController() else { - print("Error: Cannot find top view controller") - return - } - - topVC.view.addSubview(overlayView) - overlayView.snp.makeConstraints { make in - make.edges.equalToSuperview() - } - overlayView.addSubview(indicatorImageView) - indicatorImageView.snp.makeConstraints { make in - make.size.equalTo(200) - make.center.equalToSuperview() - } - indicatorImageView.play() - topVC.view.isUserInteractionEnabled = false - } - } - - static func hideIndicator() { - DispatchQueue.main.async { - indicatorImageView.stop() - overlayView.removeFromSuperview() - indicatorImageView.removeFromSuperview() - UIApplication.topViewController()?.view.isUserInteractionEnabled = true - } - } -} diff --git a/Poppool/Poppool/DataLayer/Network/Service/AppleLoginService.swift b/Poppool/Poppool/CoreLayer/Infrastructure/Service/AppleLoginService.swift similarity index 100% rename from Poppool/Poppool/DataLayer/Network/Service/AppleLoginService.swift rename to Poppool/Poppool/CoreLayer/Infrastructure/Service/AppleLoginService.swift diff --git a/Poppool/Poppool/DataLayer/Network/Service/AuthServiceable.swift b/Poppool/Poppool/CoreLayer/Infrastructure/Service/AuthServiceable.swift similarity index 100% rename from Poppool/Poppool/DataLayer/Network/Service/AuthServiceable.swift rename to Poppool/Poppool/CoreLayer/Infrastructure/Service/AuthServiceable.swift diff --git a/Poppool/Poppool/DataLayer/Network/Service/KakaoLoginService.swift b/Poppool/Poppool/CoreLayer/Infrastructure/Service/KakaoLoginService.swift similarity index 100% rename from Poppool/Poppool/DataLayer/Network/Service/KakaoLoginService.swift rename to Poppool/Poppool/CoreLayer/Infrastructure/Service/KakaoLoginService.swift diff --git a/Poppool/Poppool/DataLayer/Network/Service/KeyChainService.swift b/Poppool/Poppool/CoreLayer/Infrastructure/Service/KeyChainService.swift similarity index 100% rename from Poppool/Poppool/DataLayer/Network/Service/KeyChainService.swift rename to Poppool/Poppool/CoreLayer/Infrastructure/Service/KeyChainService.swift diff --git a/Poppool/Poppool/DataLayer/Network/Service/PreSignedService.swift b/Poppool/Poppool/CoreLayer/Infrastructure/Service/PreSignedService.swift similarity index 100% rename from Poppool/Poppool/DataLayer/Network/Service/PreSignedService.swift rename to Poppool/Poppool/CoreLayer/Infrastructure/Service/PreSignedService.swift diff --git a/Poppool/Poppool/DataLayer/Network/Service/UserDefaultService.swift b/Poppool/Poppool/CoreLayer/Infrastructure/Service/UserDefaultService.swift similarity index 100% rename from Poppool/Poppool/DataLayer/Network/Service/UserDefaultService.swift rename to Poppool/Poppool/CoreLayer/Infrastructure/Service/UserDefaultService.swift diff --git a/Poppool/Poppool/DataLayer/Network/API/SignUpAPI/ResponseDTO/GetCategoryListResponseDTO.swift b/Poppool/Poppool/DataLayer/Network/API/SignUpAPI/ResponseDTO/GetCategoryListResponseDTO.swift index b437e186..bf58db7d 100644 --- a/Poppool/Poppool/DataLayer/Network/API/SignUpAPI/ResponseDTO/GetCategoryListResponseDTO.swift +++ b/Poppool/Poppool/DataLayer/Network/API/SignUpAPI/ResponseDTO/GetCategoryListResponseDTO.swift @@ -19,7 +19,7 @@ struct CategoryResponseDTO: Codable { } extension CategoryResponseDTO { - func toDomain() -> Category { - return Category(categoryId: categoryId, category: categoryName) + func toDomain() -> CategoryResponse { + return CategoryResponse(categoryId: categoryId, category: categoryName) } } diff --git a/Poppool/Poppool/DataLayer/Network/API/SortedRequestDTO.swift b/Poppool/Poppool/DataLayer/Network/API/SortedRequestDTO.swift index 70752653..14ecf6d6 100644 --- a/Poppool/Poppool/DataLayer/Network/API/SortedRequestDTO.swift +++ b/Poppool/Poppool/DataLayer/Network/API/SortedRequestDTO.swift @@ -5,6 +5,8 @@ // Created by SeoJunYoung on 11/28/24. // +// TODO: SortedRequestDTO를 HOME, User로 나눠서 폴더에 넣어주기 + import Foundation struct SortedRequestDTO: Encodable { diff --git a/Poppool/Poppool/DataLayer/Network/Interceptor/FormDataInterceptor.swift b/Poppool/Poppool/DataLayer/Network/Interceptor/FormDataInterceptor.swift deleted file mode 100644 index f057df7d..00000000 --- a/Poppool/Poppool/DataLayer/Network/Interceptor/FormDataInterceptor.swift +++ /dev/null @@ -1,30 +0,0 @@ -// -// FormDataInterceptor.swift -// MomsVillage -// -// Created by SeoJunYoung on 10/25/24. -// - -import Alamofire -import Foundation -import RxSwift - -final class FormDataInterceptor: RequestInterceptor { - - private var disposeBag = DisposeBag() - - func adapt( - _ urlRequest: URLRequest, - for session: Session, - completion: @escaping (Result) -> Void) { - } - - func retry( - _ request: Request, - for session: Session, - dueTo error: any Error, - completion: @escaping (RetryResult) -> Void - ) { - Logger.log(message: "FormDataInterceptor Retry Start", category: .network) - } -} diff --git a/Poppool/Poppool/DataLayer/RepositoryImpl/MapRepositoryImpl.swift b/Poppool/Poppool/DataLayer/RepositoryImpl/MapRepositoryImpl.swift index d9edb5d5..c78a6af6 100644 --- a/Poppool/Poppool/DataLayer/RepositoryImpl/MapRepositoryImpl.swift +++ b/Poppool/Poppool/DataLayer/RepositoryImpl/MapRepositoryImpl.swift @@ -45,7 +45,7 @@ final class MapRepositoryImpl: MapRepository { .map { $0.popUpStoreList } } - func fetchCategories() -> Observable<[Category]> { + func fetchCategories() -> Observable<[CategoryResponse]> { Logger.log(message: "카테고리 매핑 요청을 시작합니다.", category: .network) return provider.requestData( diff --git a/Poppool/Poppool/DataLayer/RepositoryImpl/PopUpAPIRepositoryImpl.swift b/Poppool/Poppool/DataLayer/RepositoryImpl/PopUpAPIRepositoryImpl.swift index 58f8fb5a..b20a108a 100644 --- a/Poppool/Poppool/DataLayer/RepositoryImpl/PopUpAPIRepositoryImpl.swift +++ b/Poppool/Poppool/DataLayer/RepositoryImpl/PopUpAPIRepositoryImpl.swift @@ -3,7 +3,7 @@ import Foundation import RxSwift final class PopUpAPIRepositoryImpl: PopUpAPIRepository { - + private let provider: Provider private let tokenInterceptor = TokenInterceptor() diff --git a/Poppool/Poppool/DataLayer/RepositoryImpl/SignUpRepositoryImpl.swift b/Poppool/Poppool/DataLayer/RepositoryImpl/SignUpRepositoryImpl.swift index 12d5da59..d6b071d0 100644 --- a/Poppool/Poppool/DataLayer/RepositoryImpl/SignUpRepositoryImpl.swift +++ b/Poppool/Poppool/DataLayer/RepositoryImpl/SignUpRepositoryImpl.swift @@ -15,7 +15,7 @@ final class SignUpRepositoryImpl: SignUpRepository { return provider.requestData(with: endPoint, interceptor: TokenInterceptor()) } - func fetchCategoryList() -> Observable<[Category]> { + func fetchCategoryList() -> Observable<[CategoryResponse]> { let endPoint = SignUpAPIEndpoint.signUp_getCategoryList() return provider.requestData(with: endPoint, interceptor: TokenInterceptor()).map { responseDTO in return responseDTO.categoryResponseList.map({ $0.toDomain() }) diff --git a/Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/MapUseCaseImpl.swift b/Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/MapUseCaseImpl.swift index 8ee63c44..f06968c0 100644 --- a/Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/MapUseCaseImpl.swift +++ b/Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/MapUseCaseImpl.swift @@ -10,7 +10,7 @@ final class MapUseCaseImpl: MapUseCase { self.repository = repository } - func fetchCategories() -> Observable<[Category]> { + func fetchCategories() -> Observable<[CategoryResponse]> { return repository.fetchCategories() } diff --git a/Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/SignUpAPIUseCaseImpl.swift b/Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/SignUpAPIUseCaseImpl.swift index d739f9ec..9f91f723 100644 --- a/Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/SignUpAPIUseCaseImpl.swift +++ b/Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/SignUpAPIUseCaseImpl.swift @@ -33,7 +33,7 @@ final class SignUpAPIUseCaseImpl: SignUpAPIUseCase { return repository.checkNickName(nickName: nickName) } - func fetchCategoryList() -> Observable<[Category]> { + func fetchCategoryList() -> Observable<[CategoryResponse]> { return repository.fetchCategoryList() } } diff --git a/Poppool/Poppool/DomainLayer/DomainInterface/Entity/Category.swift b/Poppool/Poppool/DomainLayer/DomainInterface/Entity/AuthResponse/CategoryResponse.swift similarity index 85% rename from Poppool/Poppool/DomainLayer/DomainInterface/Entity/Category.swift rename to Poppool/Poppool/DomainLayer/DomainInterface/Entity/AuthResponse/CategoryResponse.swift index 9f7da1cd..20972e3c 100644 --- a/Poppool/Poppool/DomainLayer/DomainInterface/Entity/Category.swift +++ b/Poppool/Poppool/DomainLayer/DomainInterface/Entity/AuthResponse/CategoryResponse.swift @@ -7,7 +7,7 @@ import Foundation -struct Category { +struct CategoryResponse { let categoryId: Int64 let category: String } diff --git a/Poppool/Poppool/DomainLayer/DomainInterface/Entity/BannerPopUpStore.swift b/Poppool/Poppool/DomainLayer/DomainInterface/Entity/HomeResponse/BannerPopUpStore.swift similarity index 100% rename from Poppool/Poppool/DomainLayer/DomainInterface/Entity/BannerPopUpStore.swift rename to Poppool/Poppool/DomainLayer/DomainInterface/Entity/HomeResponse/BannerPopUpStore.swift diff --git a/Poppool/Poppool/DomainLayer/DomainInterface/Entity/GetHomeInfoResponse.swift b/Poppool/Poppool/DomainLayer/DomainInterface/Entity/HomeResponse/GetHomeInfoResponse.swift similarity index 100% rename from Poppool/Poppool/DomainLayer/DomainInterface/Entity/GetHomeInfoResponse.swift rename to Poppool/Poppool/DomainLayer/DomainInterface/Entity/HomeResponse/GetHomeInfoResponse.swift diff --git a/Poppool/Poppool/DomainLayer/DomainInterface/Entity/MapPopUpStore.swift b/Poppool/Poppool/DomainLayer/DomainInterface/Entity/MapResponse/MapPopUpStore.swift similarity index 100% rename from Poppool/Poppool/DomainLayer/DomainInterface/Entity/MapPopUpStore.swift rename to Poppool/Poppool/DomainLayer/DomainInterface/Entity/MapResponse/MapPopUpStore.swift diff --git a/Poppool/Poppool/DomainLayer/DomainInterface/Entity/PopUpStoreResponse.swift b/Poppool/Poppool/DomainLayer/DomainInterface/Entity/PopUpResponse/PopUpStoreResponse.swift similarity index 100% rename from Poppool/Poppool/DomainLayer/DomainInterface/Entity/PopUpStoreResponse.swift rename to Poppool/Poppool/DomainLayer/DomainInterface/Entity/PopUpResponse/PopUpStoreResponse.swift diff --git a/Poppool/Poppool/DomainLayer/DomainInterface/Entity/UserResponse/GetMyProfileResponse.swift b/Poppool/Poppool/DomainLayer/DomainInterface/Entity/UserResponse/GetMyProfileResponse.swift index 081da110..6c71ce4b 100644 --- a/Poppool/Poppool/DomainLayer/DomainInterface/Entity/UserResponse/GetMyProfileResponse.swift +++ b/Poppool/Poppool/DomainLayer/DomainInterface/Entity/UserResponse/GetMyProfileResponse.swift @@ -15,5 +15,5 @@ struct GetMyProfileResponse { var intro: String? var gender: String? var age: Int32 - var interestCategoryList: [Category] + var interestCategoryList: [CategoryResponse] } diff --git a/Poppool/Poppool/DomainLayer/DomainInterface/Repository/MapRepository.swift b/Poppool/Poppool/DomainLayer/DomainInterface/Repository/MapRepository.swift index b50ef36b..6f613828 100644 --- a/Poppool/Poppool/DomainLayer/DomainInterface/Repository/MapRepository.swift +++ b/Poppool/Poppool/DomainLayer/DomainInterface/Repository/MapRepository.swift @@ -24,5 +24,5 @@ protocol MapRepository { categories: [Int64] ) -> Observable<[MapPopUpStoreDTO]> - func fetchCategories() -> Observable<[Category]> -} \ No newline at end of file + func fetchCategories() -> Observable<[CategoryResponse]> +} diff --git a/Poppool/Poppool/DomainLayer/DomainInterface/Repository/SignUpRepository.swift b/Poppool/Poppool/DomainLayer/DomainInterface/Repository/SignUpRepository.swift index d403fe94..6e7ef1b0 100644 --- a/Poppool/Poppool/DomainLayer/DomainInterface/Repository/SignUpRepository.swift +++ b/Poppool/Poppool/DomainLayer/DomainInterface/Repository/SignUpRepository.swift @@ -4,7 +4,7 @@ import RxSwift protocol SignUpRepository { func checkNickName(nickName: String) -> Observable - func fetchCategoryList() -> Observable<[Category]> + func fetchCategoryList() -> Observable<[CategoryResponse]> func trySignUp( nickName: String, gender: String, diff --git a/Poppool/Poppool/DomainLayer/DomainInterface/UseCase/MapUseCase.swift b/Poppool/Poppool/DomainLayer/DomainInterface/UseCase/MapUseCase.swift index 954260ad..9eb687da 100644 --- a/Poppool/Poppool/DomainLayer/DomainInterface/UseCase/MapUseCase.swift +++ b/Poppool/Poppool/DomainLayer/DomainInterface/UseCase/MapUseCase.swift @@ -11,7 +11,7 @@ import Foundation import RxSwift protocol MapUseCase { - func fetchCategories() -> Observable<[Category]> + func fetchCategories() -> Observable<[CategoryResponse]> func fetchStoresInBounds( northEastLat: Double, northEastLon: Double, diff --git a/Poppool/Poppool/DomainLayer/DomainInterface/UseCase/SignUpAPIUseCase.swift b/Poppool/Poppool/DomainLayer/DomainInterface/UseCase/SignUpAPIUseCase.swift index 416194f9..e0dfeb36 100644 --- a/Poppool/Poppool/DomainLayer/DomainInterface/UseCase/SignUpAPIUseCase.swift +++ b/Poppool/Poppool/DomainLayer/DomainInterface/UseCase/SignUpAPIUseCase.swift @@ -15,5 +15,5 @@ protocol SignUpAPIUseCase { func checkNickName(nickName: String) -> Observable - func fetchCategoryList() -> Observable<[Category]> + func fetchCategoryList() -> Observable<[CategoryResponse]> } diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Utills/Common/FilterType.swift b/Poppool/Poppool/PresentationLayer/Presentation/Utills/Common/FilterType.swift index b19e7c64..c181a940 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Utills/Common/FilterType.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Utills/Common/FilterType.swift @@ -1,5 +1,4 @@ import Foundation -import UIKit /// 맵과 리스트에서 공통으로 사용하는 필터 타입 enum FilterType { diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Utills/Common/ViewportBounds.swift b/Poppool/Poppool/PresentationLayer/Presentation/Utills/Common/ViewportBounds.swift deleted file mode 100644 index 9c1fc360..00000000 --- a/Poppool/Poppool/PresentationLayer/Presentation/Utills/Common/ViewportBounds.swift +++ /dev/null @@ -1,6 +0,0 @@ -import CoreLocation - -struct ViewportBounds { - let northEast: CLLocationCoordinate2D - let southWest: CLLocationCoordinate2D -} From f76fb706556892a4bd4117d412aba8c48e5057ea Mon Sep 17 00:00:00 2001 From: 0Hooni Date: Wed, 16 Apr 2025 17:31:30 +0900 Subject: [PATCH 14/83] =?UTF-8?q?feat/#113:=20DIContainer=20=EA=B5=AC?= =?UTF-8?q?=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DIContainer/DIContainer.swift | 68 +++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 Poppool/Poppool/CoreLayer/Infrastructure/DIContainer/DIContainer.swift diff --git a/Poppool/Poppool/CoreLayer/Infrastructure/DIContainer/DIContainer.swift b/Poppool/Poppool/CoreLayer/Infrastructure/DIContainer/DIContainer.swift new file mode 100644 index 00000000..7db26b38 --- /dev/null +++ b/Poppool/Poppool/CoreLayer/Infrastructure/DIContainer/DIContainer.swift @@ -0,0 +1,68 @@ +import Foundation + +/// 의존성 주입 컨테이너 +/// +/// 이 컨테이너는 타입 기반으로 의존성을 등록하고 어디서든 안전하게 꺼내 쓸 수 있도록 도와줍니다. +/// +/// 앱 시작 시점에 필요한 구현체를 `register(_:_: )`를 통해 등록하고, +/// 이후에는 `resolve(_:)` 메서드를 통해 원하는 타입의 인스턴스를 꺼낼 수 있습니다. +/// +/// ## 등록 예시 +/// ```swift +/// DIContainer.register(SampleProtocol.self) { +/// SampleImpl() +/// } +/// ``` +/// +/// ## 사용 예시 +/// ```swift +/// // DIContainer의 resolve 메서드를 사용하는 방식 +/// let sample: SampleProtocol = DIContainer.resolve(SampleProtocol.self) +/// ``` +public final class DIContainer { + private static let container = DIContainer() + + private var registrations: [ObjectIdentifier: () -> Any] = [:] + + private let resolveQueue = DispatchQueue(label: "resolveQueue") + + private init() {} + + /// 의존성을 등록합니다. + /// - Parameters: + /// - type: 등록할 프로토콜 또는 클래스 타입 + /// - implementation: 해당 타입에 대응되는 구현체를 생성하는 클로저 + public static func register( + _ type: T.Type, + _ implementation: @escaping () -> T + ) { + container.register(type, implementation) + } + + /// 의존성을 꺼내옵니다. + /// - Parameter type: 요청할 타입 + /// - Returns: 등록된 타입의 인스턴스 + public static func resolve(_ type: T.Type) -> T { + return container.resolve(type) + } + + private func register( + _ type: T.Type, + _ implementation: @escaping () -> T + ) { + let key = ObjectIdentifier(type) + registrations[key] = { implementation() } + } + + private func resolve(_ type: T.Type) -> T { + let key = ObjectIdentifier(type) + + return resolveQueue.sync { + guard let registration = registrations[key], + let instance = registration() as? T + else { fatalError("\(type) does not registered") } + + return instance + } + } +} From d62546d0b68722e9ee5807addcb1052b5492188d Mon Sep 17 00:00:00 2001 From: 0Hooni Date: Wed, 16 Apr 2025 17:32:03 +0900 Subject: [PATCH 15/83] =?UTF-8?q?feat/#113:=20=EA=B0=84=EB=8B=A8=ED=95=9C?= =?UTF-8?q?=20=EC=9D=98=EC=A1=B4=EC=84=B1=20=EC=A3=BC=EC=9E=85=EC=9D=84=20?= =?UTF-8?q?=EC=9C=84=ED=95=9C=20PropertyWrapper=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DIContainer/DependencyWrapper.swift | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 Poppool/Poppool/CoreLayer/Infrastructure/DIContainer/DependencyWrapper.swift diff --git a/Poppool/Poppool/CoreLayer/Infrastructure/DIContainer/DependencyWrapper.swift b/Poppool/Poppool/CoreLayer/Infrastructure/DIContainer/DependencyWrapper.swift new file mode 100644 index 00000000..cbfee35a --- /dev/null +++ b/Poppool/Poppool/CoreLayer/Infrastructure/DIContainer/DependencyWrapper.swift @@ -0,0 +1,28 @@ +import Foundation + +/// 의존성 자동 주입을 위한 프로퍼티 래퍼 +/// +/// 사용하는 곳에서 `@Dependency`만 붙이면 등록된 구현체가 자동으로 주입됩니다. +/// +/// Swift의 프로퍼티 래퍼 특성상 `var`로 선언해야 하지만, 실제 인스턴스는 외부에서 변경할 수 없도록 `private(set)`으로 보호되어 불변성을 유지합니다. +/// +/// 사용 예시: +/// ```swift +/// class MyViewModel { +/// @Dependency var sample: SampleProtocol +/// +/// func run() { +/// sample.doSomething() +/// } +/// } +/// ``` +@propertyWrapper +public final class Dependency { + /// DIContainer에서 꺼내온 실제 인스턴스 + public private(set) var wrappedValue: T + + /// DIContainer로부터 자동으로 인스턴스를 꺼내와 초기화합니다. + public init() { + self.wrappedValue = DIContainer.resolve(T.self) + } +} From b99d07c69799928e5e9fb9d9fcc1c55b9f06774c Mon Sep 17 00:00:00 2001 From: 0Hooni Date: Wed, 16 Apr 2025 18:25:16 +0900 Subject: [PATCH 16/83] =?UTF-8?q?refactor/#113:=20KeyChainService=20?= =?UTF-8?q?=EC=9D=98=EC=A1=B4=EC=84=B1=20=EA=B4=80=EB=A6=AC=EB=A5=BC=20?= =?UTF-8?q?=EC=9C=84=ED=95=B4=20DIContainer=20=EC=A0=81=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Poppool/Poppool/Application/AppDelegate.swift | 11 +++++++++++ .../Network/Interceptor/TokenInterceptor.swift | 2 +- .../DataLayer/Network/Provider/ProviderImpl.swift | 2 +- .../Presentation/Scene/Login/Main/LoginReactor.swift | 2 +- .../Scene/Login/Sub/SubLoginReactor.swift | 2 +- .../Scene/MyPage/Main/MyPageReactor.swift | 6 +++--- .../SelectedReason/WithdrawlReasonReactor.swift | 2 +- .../Presentation/Scene/Splash/SplashController.swift | 2 +- 8 files changed, 20 insertions(+), 9 deletions(-) diff --git a/Poppool/Poppool/Application/AppDelegate.swift b/Poppool/Poppool/Application/AppDelegate.swift index bb8a380f..489957ce 100644 --- a/Poppool/Poppool/Application/AppDelegate.swift +++ b/Poppool/Poppool/Application/AppDelegate.swift @@ -13,6 +13,8 @@ class AppDelegate: UIResponder, UIApplicationDelegate { let locationManager = CLLocationManager() locationManager.requestWhenInUseAuthorization() + self.registerDependencies() + return true } @@ -21,3 +23,12 @@ class AppDelegate: UIResponder, UIApplicationDelegate { return UISceneConfiguration(name: "Default Configuration", sessionRole: connectingSceneSession.role) } } + +// MARK: - Dependency +extension AppDelegate { + /// 의존성 등록을 위한 메서드 + private func registerDependencies() { + // MARK: Register Service + DIContainer.register(KeyChainService.self) { return KeyChainService() } + } +} diff --git a/Poppool/Poppool/DataLayer/Network/Interceptor/TokenInterceptor.swift b/Poppool/Poppool/DataLayer/Network/Interceptor/TokenInterceptor.swift index 9ad8e40f..c6cd1ec3 100644 --- a/Poppool/Poppool/DataLayer/Network/Interceptor/TokenInterceptor.swift +++ b/Poppool/Poppool/DataLayer/Network/Interceptor/TokenInterceptor.swift @@ -16,7 +16,7 @@ final class TokenInterceptor: RequestInterceptor { for session: Session, completion: @escaping (Result) -> Void) { Logger.log(message: "TokenInterceptor Adapt Token", category: .network) - let keyChainService = KeyChainService() + @Dependency var keyChainService: KeyChainService var urlRequest = urlRequest let accessTokenResult = keyChainService.fetchToken(type: .accessToken) switch accessTokenResult { diff --git a/Poppool/Poppool/DataLayer/Network/Provider/ProviderImpl.swift b/Poppool/Poppool/DataLayer/Network/Provider/ProviderImpl.swift index a7fa9517..0a14662f 100644 --- a/Poppool/Poppool/DataLayer/Network/Provider/ProviderImpl.swift +++ b/Poppool/Poppool/DataLayer/Network/Provider/ProviderImpl.swift @@ -118,7 +118,7 @@ final class ProviderImpl: Provider { accessToken = accessToken.replacingOccurrences(of: "Bearer ", with: "") refreshToken = refreshToken.replacingOccurrences(of: "Bearer ", with: "") - let keyChainService = KeyChainService() + @Dependency var keyChainService: KeyChainService keyChainService.saveToken(type: .accessToken, value: accessToken) keyChainService.saveToken(type: .refreshToken, value: refreshToken) } diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Login/Main/LoginReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Login/Main/LoginReactor.swift index 1d3425a0..d7963143 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Login/Main/LoginReactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Login/Main/LoginReactor.swift @@ -41,7 +41,7 @@ final class LoginReactor: Reactor { private let kakaoLoginService = KakaoLoginService() private var appleLoginService = AppleLoginService() private let authApiUseCase = AuthAPIUseCaseImpl(repository: AuthAPIRepositoryImpl(provider: ProviderImpl())) - private let keyChainService = KeyChainService() + @Dependency private var keyChainService: KeyChainService let userDefaultService = UserDefaultService() // MARK: - init diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Login/Sub/SubLoginReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Login/Sub/SubLoginReactor.swift index 24b6d961..b51ec276 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Login/Sub/SubLoginReactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Login/Sub/SubLoginReactor.swift @@ -41,7 +41,7 @@ final class SubLoginReactor: Reactor { private let kakaoLoginService = KakaoLoginService() private var appleLoginService = AppleLoginService() private let authApiUseCase = AuthAPIUseCaseImpl(repository: AuthAPIRepositoryImpl(provider: ProviderImpl())) - private let keyChainService = KeyChainService() + @Dependency private var keyChainService: KeyChainService let userDefaultService = UserDefaultService() // MARK: - init diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/MyPageReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/MyPageReactor.swift index 3777f7e1..927375f9 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/MyPageReactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/MyPageReactor.swift @@ -184,9 +184,9 @@ final class MyPageReactor: Reactor { controller.navigationController?.pushViewController(nextController, animated: true) case .logout: - let service = KeyChainService() - _ = service.deleteToken(type: .accessToken) - _ = service.deleteToken(type: .refreshToken) + @Dependency var keyChainService: KeyChainService + _ = keyChainService.deleteToken(type: .accessToken) + _ = keyChainService.deleteToken(type: .refreshToken) ToastMaker.createToast(message: "로그아웃 되었어요") DispatchQueue.main.async { [weak self] in self?.action.onNext(.viewWillAppear) diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Withdrawl/SelectedReason/WithdrawlReasonReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Withdrawl/SelectedReason/WithdrawlReasonReactor.swift index ca08cbf5..4e0a67de 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Withdrawl/SelectedReason/WithdrawlReasonReactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Withdrawl/SelectedReason/WithdrawlReasonReactor.swift @@ -58,7 +58,7 @@ final class WithdrawlReasonReactor: Reactor { private var reasonSection = WithdrawlCheckSection(inputDataList: []) private var spacing156Section = SpacingSection(inputDataList: [.init(spacing: 156)]) private let userAPIUseCase = UserAPIUseCaseImpl(repository: UserAPIRepositoryImpl(provider: ProviderImpl())) - private let keyChainService = KeyChainService() + @Dependency private var keyChainService: KeyChainService private let userDefaultService = UserDefaultService() // MARK: - init init() { diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Splash/SplashController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Splash/SplashController.swift index c4fb9af4..24ac8954 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Splash/SplashController.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Splash/SplashController.swift @@ -19,7 +19,7 @@ final class SplashController: BaseViewController { private var mainView = SplashView() private let authAPIUseCase = AuthAPIUseCaseImpl(repository: AuthAPIRepositoryImpl(provider: ProviderImpl())) - private let keyChainService = KeyChainService() + @Dependency private var keyChainService: KeyChainService private var rootViewController: UIViewController? } From aec9f97040602b2f137a2ff73477580836d2b1ce Mon Sep 17 00:00:00 2001 From: 0Hooni Date: Wed, 16 Apr 2025 18:29:15 +0900 Subject: [PATCH 17/83] =?UTF-8?q?refactor/#113:=20Provider=20=EC=9D=98?= =?UTF-8?q?=EC=A1=B4=EC=84=B1=20=EB=8C=80=EC=B2=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Poppool/Poppool/Application/AppDelegate.swift | 9 +++++++++ .../Infrastructure/Service/PreSignedService.swift | 4 +--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/Poppool/Poppool/Application/AppDelegate.swift b/Poppool/Poppool/Application/AppDelegate.swift index 489957ce..0e2cd87d 100644 --- a/Poppool/Poppool/Application/AppDelegate.swift +++ b/Poppool/Poppool/Application/AppDelegate.swift @@ -29,6 +29,15 @@ extension AppDelegate { /// 의존성 등록을 위한 메서드 private func registerDependencies() { // MARK: Register Service + DIContainer.register(Provider.self) { return ProviderImpl() } DIContainer.register(KeyChainService.self) { return KeyChainService() } + + // MARK: Resolve service + + // MARK: Register repository + + // MARK: Resolve repository + + // MARK: Register UseCase } } diff --git a/Poppool/Poppool/CoreLayer/Infrastructure/Service/PreSignedService.swift b/Poppool/Poppool/CoreLayer/Infrastructure/Service/PreSignedService.swift index 0aaa3410..ad1ef9a2 100644 --- a/Poppool/Poppool/CoreLayer/Infrastructure/Service/PreSignedService.swift +++ b/Poppool/Poppool/CoreLayer/Infrastructure/Service/PreSignedService.swift @@ -25,7 +25,7 @@ class PreSignedService { let tokenInterceptor = TokenInterceptor() - let provider = ProviderImpl() + @Dependency private var provider: Provider let disposeBag = DisposeBag() @@ -204,7 +204,6 @@ private extension PreSignedService { func getUploadLinks(request: PresignedURLRequestDTO) -> Observable { Logger.log(message: "Presigned URL 생성 요청 데이터: \(request)", category: .debug) - let provider = ProviderImpl() let endPoint = PreSignedAPIEndPoint.presigned_upload(request: request) return provider.requestData(with: endPoint, interceptor: tokenInterceptor) .do(onNext: { response in @@ -215,7 +214,6 @@ private extension PreSignedService { } func getDownloadLinks(request: PresignedURLRequestDTO) -> Observable { - let provider = ProviderImpl() let endPoint = PreSignedAPIEndPoint.presigned_download(request: request) return provider.requestData(with: endPoint, interceptor: tokenInterceptor) } From 54de56d4a8f2d14df2d98ac3174ebd4fdd4d20f5 Mon Sep 17 00:00:00 2001 From: 0Hooni Date: Wed, 16 Apr 2025 20:58:22 +0900 Subject: [PATCH 18/83] =?UTF-8?q?refactor/#113:=20MapUseCase=20=EC=9D=98?= =?UTF-8?q?=EC=A1=B4=EC=84=B1=20=EB=8C=80=EC=B2=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Poppool/Poppool/Application/AppDelegate.swift | 4 ++++ .../Map/FindMap/MapGuideView/MapGuideViewController.swift | 6 +++--- .../Scene/TabbarController/TabbarController.swift | 2 +- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/Poppool/Poppool/Application/AppDelegate.swift b/Poppool/Poppool/Application/AppDelegate.swift index 0e2cd87d..d359a281 100644 --- a/Poppool/Poppool/Application/AppDelegate.swift +++ b/Poppool/Poppool/Application/AppDelegate.swift @@ -33,11 +33,15 @@ extension AppDelegate { DIContainer.register(KeyChainService.self) { return KeyChainService() } // MARK: Resolve service + @Dependency var provider: Provider // MARK: Register repository + DIContainer.register(MapRepository.self) { return MapRepositoryImpl(provider: provider) } // MARK: Resolve repository + @Dependency var mapRepository: MapRepository // MARK: Register UseCase + DIContainer.register(MapUseCase.self) { return MapUseCaseImpl(repository: mapRepository) } } } diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/FindMap/MapGuideView/MapGuideViewController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/FindMap/MapGuideView/MapGuideViewController.swift index 6da635ef..3cec2853 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/FindMap/MapGuideView/MapGuideViewController.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/FindMap/MapGuideView/MapGuideViewController.swift @@ -172,10 +172,10 @@ final class MapGuideViewController: UIViewController, View { guard let strongSelf = self else { return } let providerInstance = ProviderImpl() - let repositoryInstance = MapRepositoryImpl(provider: providerInstance) - let useCaseInstance = MapUseCaseImpl(repository: repositoryInstance) + @Dependency var mapUseCase: MapUseCase + let directionRepositoryInstance = MapDirectionRepositoryImpl(provider: providerInstance) - let mapReactorInstance = MapReactor(useCase: useCaseInstance, directionRepository: directionRepositoryInstance) + let mapReactorInstance = MapReactor(useCase: mapUseCase, directionRepository: directionRepositoryInstance) if let selectedStore = strongSelf.currentCarouselStoreList.first { mapReactorInstance.action.onNext(.didSelectItem(selectedStore)) diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/TabbarController/TabbarController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/TabbarController/TabbarController.swift index bd0dc0a1..18b8735e 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/TabbarController/TabbarController.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/TabbarController/TabbarController.swift @@ -196,7 +196,7 @@ class WaveTabBarController: UITabBarController, UITabBarControllerDelegate { let provider = ProviderImpl() let mapController = MapViewController() - let mapUseCase = MapUseCaseImpl(repository: MapRepositoryImpl(provider: provider)) + @Dependency var mapUseCase: MapUseCase let directionRepository = MapDirectionRepositoryImpl(provider: provider) mapController.reactor = MapReactor(useCase: mapUseCase, directionRepository: directionRepository) From c25bc34e2e6544bb2e4fde60041b24a0d186dfe1 Mon Sep 17 00:00:00 2001 From: 0Hooni Date: Wed, 16 Apr 2025 21:36:49 +0900 Subject: [PATCH 19/83] =?UTF-8?q?style/#113:=20DIContainer=20lint=20?= =?UTF-8?q?=EC=97=90=EB=9F=AC=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Infrastructure/DIContainer/DIContainer.swift | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/Poppool/Poppool/CoreLayer/Infrastructure/DIContainer/DIContainer.swift b/Poppool/Poppool/CoreLayer/Infrastructure/DIContainer/DIContainer.swift index 7db26b38..0ad4234e 100644 --- a/Poppool/Poppool/CoreLayer/Infrastructure/DIContainer/DIContainer.swift +++ b/Poppool/Poppool/CoreLayer/Infrastructure/DIContainer/DIContainer.swift @@ -21,13 +21,13 @@ import Foundation /// ``` public final class DIContainer { private static let container = DIContainer() - + private var registrations: [ObjectIdentifier: () -> Any] = [:] - + private let resolveQueue = DispatchQueue(label: "resolveQueue") - + private init() {} - + /// 의존성을 등록합니다. /// - Parameters: /// - type: 등록할 프로토콜 또는 클래스 타입 @@ -38,14 +38,14 @@ public final class DIContainer { ) { container.register(type, implementation) } - + /// 의존성을 꺼내옵니다. /// - Parameter type: 요청할 타입 /// - Returns: 등록된 타입의 인스턴스 public static func resolve(_ type: T.Type) -> T { return container.resolve(type) } - + private func register( _ type: T.Type, _ implementation: @escaping () -> T @@ -53,7 +53,7 @@ public final class DIContainer { let key = ObjectIdentifier(type) registrations[key] = { implementation() } } - + private func resolve(_ type: T.Type) -> T { let key = ObjectIdentifier(type) @@ -61,7 +61,7 @@ public final class DIContainer { guard let registration = registrations[key], let instance = registration() as? T else { fatalError("\(type) does not registered") } - + return instance } } From de9e70b4e07b2f63e835771c7f6f82e3e0b96e06 Mon Sep 17 00:00:00 2001 From: 0Hooni Date: Wed, 16 Apr 2025 21:52:52 +0900 Subject: [PATCH 20/83] =?UTF-8?q?refactor/#113:=20AdminUseCase=20=EC=9D=98?= =?UTF-8?q?=EC=A1=B4=EC=84=B1=20=EC=A3=BC=EC=9E=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Poppool/Poppool/Application/AppDelegate.swift | 3 +++ .../Presentation/Scene/Admin/AdminReactor.swift | 10 +++++----- .../AdminRegister/PopUpStoreRegisterReactor.swift | 6 +++++- .../PopUpStoreRegisterViewController.swift | 6 +++++- .../Presentation/Scene/Admin/AdminViewController.swift | 5 ++++- .../Presentation/Scene/MyPage/Main/MyPageReactor.swift | 9 +++++---- 6 files changed, 27 insertions(+), 12 deletions(-) diff --git a/Poppool/Poppool/Application/AppDelegate.swift b/Poppool/Poppool/Application/AppDelegate.swift index d359a281..e0b3e405 100644 --- a/Poppool/Poppool/Application/AppDelegate.swift +++ b/Poppool/Poppool/Application/AppDelegate.swift @@ -37,11 +37,14 @@ extension AppDelegate { // MARK: Register repository DIContainer.register(MapRepository.self) { return MapRepositoryImpl(provider: provider) } + DIContainer.register(AdminRepository.self) { return AdminRepositoryImpl(provider: provider) } // MARK: Resolve repository @Dependency var mapRepository: MapRepository + @Dependency var adminRepository: AdminRepository // MARK: Register UseCase DIContainer.register(MapUseCase.self) { return MapUseCaseImpl(repository: mapRepository) } + DIContainer.register(AdminUseCase.self) { return AdminUseCaseImpl(repository: adminRepository) } } } diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminReactor.swift index e258e6df..c8984af1 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminReactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminReactor.swift @@ -31,10 +31,10 @@ final class AdminReactor: Reactor { var initialState: State var disposeBag = DisposeBag() - private let useCase: AdminUseCase + private let adminUseCase: AdminUseCase - init(useCase: AdminUseCase) { - self.useCase = useCase + init(adminUseCase: AdminUseCase) { + self.adminUseCase = adminUseCase self.initialState = State() } @@ -43,7 +43,7 @@ final class AdminReactor: Reactor { case .viewDidLoad, .reloadData: return .concat([ .just(.setIsLoading(true)), - useCase.fetchStoreList(query: nil, page: 0, size: 100) + adminUseCase.fetchStoreList(query: nil, page: 0, size: 100) .map { .setStores($0.popUpStoreList ?? []) }, // ✅ nil 방지 .just(.setIsLoading(false)) ]) @@ -51,7 +51,7 @@ final class AdminReactor: Reactor { case let .updateSearchQuery(query): return .concat([ .just(.setIsLoading(true)), - useCase.fetchStoreList(query: query, page: 0, size: 100) + adminUseCase.fetchStoreList(query: query, page: 0, size: 100) .do(onNext: { response in Logger.log(message: "조회 성공 - 응답 데이터: \(response)", category: .info) }, onError: { error in diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterReactor.swift index e2c6cb67..3321184e 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterReactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterReactor.swift @@ -16,7 +16,11 @@ final class PopUpStoreRegisterReactor: Reactor { private var disposeBag = DisposeBag() - init(adminUseCase: AdminUseCase, presignedService: PreSignedService, editingStore: GetAdminPopUpStoreListResponseDTO.PopUpStore? = nil) { + init( + adminUseCase: AdminUseCase, + presignedService: PreSignedService, + editingStore: GetAdminPopUpStoreListResponseDTO.PopUpStore? = nil + ) { self.adminUseCase = adminUseCase self.presignedService = presignedService self.isEditMode = editingStore != nil diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterViewController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterViewController.swift index 15e6855b..4f7c9c83 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterViewController.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterViewController.swift @@ -19,7 +19,11 @@ final class PopUpStoreRegisterViewController: BaseViewController { private var mainView: PopUpRegisterView // MARK: - Initializer - init(nickname: String, adminUseCase: AdminUseCase, editingStore: GetAdminPopUpStoreListResponseDTO.PopUpStore? = nil) { + init( + nickname: String, + adminUseCase: AdminUseCase, + editingStore: GetAdminPopUpStoreListResponseDTO.PopUpStore? = nil + ) { self.nickname = nickname self.adminUseCase = adminUseCase self.mainView = PopUpRegisterView() diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminViewController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminViewController.swift index b38efef8..a3a21e31 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminViewController.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminViewController.swift @@ -16,7 +16,10 @@ final class AdminViewController: BaseViewController, View { private let adminUseCase: AdminUseCase // MARK: - Init - init(nickname: String, adminUseCase: AdminUseCase = AdminUseCaseImpl(repository: AdminRepositoryImpl(provider: ProviderImpl()))) { + init( + nickname: String, + adminUseCase: AdminUseCase + ) { self.nickname = nickname self.adminUseCase = adminUseCase self.mainView = AdminView(frame: .zero) diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/MyPageReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/MyPageReactor.swift index 927375f9..68a57447 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/MyPageReactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/MyPageReactor.swift @@ -272,11 +272,12 @@ final class MyPageReactor: Reactor { case .moveToAdminScene(let controller): // 관리자 VC let nickname = profileSection.inputDataList.first?.nickName ?? "" - let adminVC = AdminViewController(nickname: nickname) + let adminVC = AdminViewController( + nickname: nickname, + adminUseCase: DIContainer.resolve(AdminUseCase.self) + ) adminVC.reactor = AdminReactor( - useCase: AdminUseCaseImpl( - repository: AdminRepositoryImpl(provider: ProviderImpl()) - ) + adminUseCase: DIContainer.resolve(AdminUseCase.self) ) controller.navigationController?.pushViewController(adminVC, animated: true) } From c34ff2e56e5af67aaa091272251ff612037829f1 Mon Sep 17 00:00:00 2001 From: 0Hooni Date: Wed, 16 Apr 2025 21:55:38 +0900 Subject: [PATCH 21/83] =?UTF-8?q?refactor/#113:=20MapUseCase=20=EC=9D=98?= =?UTF-8?q?=EC=A1=B4=EC=84=B1=20=EC=A3=BC=EC=9E=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MapGuideView/MapGuideViewController.swift | 6 +++++- .../Scene/Map/MapView/MapReactor.swift | 16 ++++++++-------- .../TabbarController/TabbarController.swift | 2 +- 3 files changed, 14 insertions(+), 10 deletions(-) diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/FindMap/MapGuideView/MapGuideViewController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/FindMap/MapGuideView/MapGuideViewController.swift index 3cec2853..9e86e795 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/FindMap/MapGuideView/MapGuideViewController.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/FindMap/MapGuideView/MapGuideViewController.swift @@ -174,8 +174,12 @@ final class MapGuideViewController: UIViewController, View { let providerInstance = ProviderImpl() @Dependency var mapUseCase: MapUseCase + // FIXME: Respository를 UseCase를 태우도록 변경 필요!! let directionRepositoryInstance = MapDirectionRepositoryImpl(provider: providerInstance) - let mapReactorInstance = MapReactor(useCase: mapUseCase, directionRepository: directionRepositoryInstance) + let mapReactorInstance = MapReactor( + mapUseCase: mapUseCase, + directionRepository: directionRepositoryInstance + ) if let selectedStore = strongSelf.currentCarouselStoreList.first { mapReactorInstance.action.onNext(.didSelectItem(selectedStore)) diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/MapView/MapReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/MapView/MapReactor.swift index b0e82322..f1b599ac 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/MapView/MapReactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/MapView/MapReactor.swift @@ -64,11 +64,11 @@ final class MapReactor: Reactor { } let initialState: State - private let useCase: MapUseCase + private let mapUseCase: MapUseCase private let directionRepository: MapDirectionRepository - init(useCase: MapUseCase, directionRepository: MapDirectionRepository) { - self.useCase = useCase + init(mapUseCase: MapUseCase, directionRepository: MapDirectionRepository) { + self.mapUseCase = mapUseCase self.directionRepository = directionRepository self.initialState = State() } @@ -90,7 +90,7 @@ final class MapReactor: Reactor { func mutate(action: Action) -> Observable { switch action { case .fetchCategories: - return useCase.fetchCategories() + return mapUseCase.fetchCategories() .map { categories in let mapping = categories.reduce(into: [String: Int64]()) { dict, category in dict[category.category] = category.categoryId @@ -107,7 +107,7 @@ final class MapReactor: Reactor { return .concat([ .just(.setSearchResults([])), .just(.setLoading(true)), - useCase.searchStores(query: query, categories: categoryIDs) + mapUseCase.searchStores(query: query, categories: categoryIDs) .flatMap { results -> Observable in if results.isEmpty { return .just(.setToastMessage("검색 결과가 없습니다.")) @@ -124,7 +124,7 @@ final class MapReactor: Reactor { return .concat([ .just(.setLoading(true)), - useCase.fetchStoresInBounds( + mapUseCase.fetchStoresInBounds( northEastLat: northEastLat, northEastLon: northEastLon, southWestLat: southWestLat, @@ -185,7 +185,7 @@ final class MapReactor: Reactor { .compactMap { currentState.categoryMapping[$0] } return Observable.concat([ Observable.just(.setLoading(true)), - useCase.fetchStoresInBounds( + mapUseCase.fetchStoresInBounds( northEastLat: northEastLat, northEastLon: northEastLon, southWestLat: southWestLat, @@ -260,7 +260,7 @@ final class MapReactor: Reactor { return .concat([ .just(.setLoading(true)), - useCase.fetchStoresInBounds( + mapUseCase.fetchStoresInBounds( northEastLat: koreaRegion.northEast.lat, northEastLon: koreaRegion.northEast.lon, southWestLat: koreaRegion.southWest.lat, diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/TabbarController/TabbarController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/TabbarController/TabbarController.swift index 18b8735e..cca64663 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/TabbarController/TabbarController.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/TabbarController/TabbarController.swift @@ -198,7 +198,7 @@ class WaveTabBarController: UITabBarController, UITabBarControllerDelegate { let mapController = MapViewController() @Dependency var mapUseCase: MapUseCase let directionRepository = MapDirectionRepositoryImpl(provider: provider) - mapController.reactor = MapReactor(useCase: mapUseCase, directionRepository: directionRepository) + mapController.reactor = MapReactor(mapUseCase: mapUseCase, directionRepository: directionRepository) let homeController = HomeController() homeController.reactor = HomeReactor() From e67aec78695704542265093e2a95491684c9d4f8 Mon Sep 17 00:00:00 2001 From: 0Hooni Date: Wed, 16 Apr 2025 23:09:39 +0900 Subject: [PATCH 22/83] =?UTF-8?q?refactor/#113:=20UserAPIUseCase=20?= =?UTF-8?q?=EC=9D=98=EC=A1=B4=EC=84=B1=20=EC=A3=BC=EC=9E=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Poppool/Poppool/Application/AppDelegate.swift | 3 + .../CommentDetail/CommentDetailReactor.swift | 8 ++- .../CommentList/CommentListReactor.swift | 19 ++++-- .../OtherUserCommentReactor.swift | 13 +++- .../Scene/Detail/DetailReactor.swift | 29 +++++++-- .../Scene/Home/List/HomeListReactor.swift | 13 +++- .../Scene/Home/Main/HomeReactor.swift | 65 +++++++++++++++---- .../Scene/Map/MapView/MapViewController.swift | 11 +++- .../Map/StoreListView/StoreListReactor.swift | 4 +- .../StoreListViewController.swift | 5 +- .../MyPage/Block/BlockUserManageReactor.swift | 5 +- .../Bookmark/Main/MyPageBookmarkReactor.swift | 15 +++-- .../Scene/MyPage/Main/MyPageReactor.swift | 24 ++++--- .../MyComment/Main/MyCommentReactor.swift | 10 ++- .../Detail/MyPageNoticeDetailReactor.swift | 8 ++- .../Notice/List/MyPageNoticeReactor.swift | 10 ++- .../CategoryEditModalReactor.swift | 8 ++- .../InfoEditModal/InfoEditModalReactor.swift | 9 ++- .../ProfileEdit/Main/ProfileEditReactor.swift | 16 +++-- .../MyPage/Recent/MyPageRecentReactor.swift | 10 ++- .../WithdrawlReasonReactor.swift | 5 +- .../AfterSearch/SearchResultReactor.swift | 10 ++- .../Search/BeforeSearch/SearchReactor.swift | 10 ++- .../Search/Main/SearchMainController.swift | 4 +- .../TabbarController/TabbarController.swift | 4 +- .../Utills/ToastMaker/ToastMaker.swift | 4 +- 26 files changed, 236 insertions(+), 86 deletions(-) diff --git a/Poppool/Poppool/Application/AppDelegate.swift b/Poppool/Poppool/Application/AppDelegate.swift index e0b3e405..4e661809 100644 --- a/Poppool/Poppool/Application/AppDelegate.swift +++ b/Poppool/Poppool/Application/AppDelegate.swift @@ -38,13 +38,16 @@ extension AppDelegate { // MARK: Register repository DIContainer.register(MapRepository.self) { return MapRepositoryImpl(provider: provider) } DIContainer.register(AdminRepository.self) { return AdminRepositoryImpl(provider: provider) } + DIContainer.register(UserAPIRepository.self) { return UserAPIRepositoryImpl(provider: provider) } // MARK: Resolve repository @Dependency var mapRepository: MapRepository @Dependency var adminRepository: AdminRepository + @Dependency var userAPIRepository: UserAPIRepository // MARK: Register UseCase DIContainer.register(MapUseCase.self) { return MapUseCaseImpl(repository: mapRepository) } DIContainer.register(AdminUseCase.self) { return AdminUseCaseImpl(repository: adminRepository) } + DIContainer.register(UserAPIUseCase.self) { return UserAPIUseCaseImpl(repository: userAPIRepository) } } } diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentDetail/CommentDetailReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentDetail/CommentDetailReactor.swift index 8b7d28f3..8641f50d 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentDetail/CommentDetailReactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentDetail/CommentDetailReactor.swift @@ -36,7 +36,7 @@ final class CommentDetailReactor: Reactor { var initialState: State var disposeBag = DisposeBag() - private let userAPIUseCase = UserAPIUseCaseImpl(repository: UserAPIRepositoryImpl(provider: ProviderImpl())) + private let userAPIUseCase: UserAPIUseCase lazy var compositionalLayout: UICollectionViewCompositionalLayout = { UICollectionViewCompositionalLayout { [weak self] section, env in @@ -58,8 +58,12 @@ final class CommentDetailReactor: Reactor { private let spacing16Section = SpacingSection(inputDataList: [.init(spacing: 16)]) // MARK: - init - init(comment: DetailCommentSection.CellType.Input) { + init( + comment: DetailCommentSection.CellType.Input, + userAPIUseCase: UserAPIUseCase + ) { self.initialState = State(commentData: comment) + self.userAPIUseCase = userAPIUseCase } // MARK: - Reactor Methods diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentList/CommentListReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentList/CommentListReactor.swift index af0fc685..3310f1b3 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentList/CommentListReactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentList/CommentListReactor.swift @@ -50,7 +50,7 @@ final class CommentListReactor: Reactor { private var imageService = PreSignedService() private let popUpAPIUseCase = PopUpAPIUseCaseImpl(repository: PopUpAPIRepositoryImpl(provider: ProviderImpl())) - private let userAPIUseCase = UserAPIUseCaseImpl(repository: UserAPIRepositoryImpl(provider: ProviderImpl())) + private let userAPIUseCase: UserAPIUseCase private let commentAPIUseCase = CommentAPIUseCaseImpl(repository: CommentAPIRepositoryImpl(provider: ProviderImpl())) lazy var compositionalLayout: UICollectionViewCompositionalLayout = { @@ -73,10 +73,15 @@ final class CommentListReactor: Reactor { private let spacing24Section = SpacingSection(inputDataList: [.init(spacing: 24)]) private let spacing28Section = SpacingSection(inputDataList: [.init(spacing: 28)]) // MARK: - init - init(popUpID: Int64, popUpName: String?) { + init( + popUpID: Int64, + popUpName: String?, + userAPIUseCase: UserAPIUseCase + ) { self.initialState = State() self.popUpID = popUpID self.popUpName = popUpName + self.userAPIUseCase = userAPIUseCase } // MARK: - Reactor Methods @@ -188,7 +193,10 @@ final class CommentListReactor: Reactor { case .presentDetailScene(let controller, let row): let comment = commentSection.inputDataList[row] let nextController = CommentDetailController() - nextController.reactor = CommentDetailReactor(comment: comment) + nextController.reactor = CommentDetailReactor( + comment: comment, + userAPIUseCase: userAPIUseCase + ) nextController.mainView.likeButton.rx.tap .map { Action.detailSceneLikeButtonTapped(row: row)} .bind(to: action) @@ -233,7 +241,10 @@ final class CommentListReactor: Reactor { case .normal: owner.dismiss(animated: true) { [weak controller] in let otherUserCommentController = OtherUserCommentController() - otherUserCommentController.reactor = OtherUserCommentReactor(commenterID: comment.creator) + otherUserCommentController.reactor = OtherUserCommentReactor( + commenterID: comment.creator, + userAPIUseCase: self.userAPIUseCase + ) controller?.navigationController?.pushViewController(otherUserCommentController, animated: true) } case .block: diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/OtherUserComment/OtherUserCommentReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/OtherUserComment/OtherUserCommentReactor.swift index bc2de562..5f4e5167 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/OtherUserComment/OtherUserCommentReactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/OtherUserComment/OtherUserCommentReactor.swift @@ -38,7 +38,7 @@ final class OtherUserCommentReactor: Reactor { var disposeBag = DisposeBag() private let commenterID: String? - private let userAPIUseCase = UserAPIUseCaseImpl(repository: UserAPIRepositoryImpl(provider: ProviderImpl())) + private let userAPIUseCase: UserAPIUseCase lazy var compositionalLayout: UICollectionViewCompositionalLayout = { UICollectionViewCompositionalLayout { [weak self] section, env in @@ -58,9 +58,13 @@ final class OtherUserCommentReactor: Reactor { private var popUpSection = MyCommentedPopUpGridSection(inputDataList: []) // MARK: - init - init(commenterID: String?) { + init( + commenterID: String?, + userAPIUseCase: UserAPIUseCase + ) { self.initialState = State() self.commenterID = commenterID + self.userAPIUseCase = userAPIUseCase } // MARK: - Reactor Methods @@ -103,7 +107,10 @@ final class OtherUserCommentReactor: Reactor { case .moveToDetailScene(let controller, let row): let id = popUpSection.inputDataList[row].popUpID let nextController = DetailController() - nextController.reactor = DetailReactor(popUpID: id) + nextController.reactor = DetailReactor( + popUpID: id, + userAPIUseCase: userAPIUseCase + ) controller.navigationController?.pushViewController(nextController, animated: true) } return newState diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/DetailReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/DetailReactor.swift index ced7d370..d4abab15 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/DetailReactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/DetailReactor.swift @@ -59,7 +59,7 @@ final class DetailReactor: Reactor { private var imageService = PreSignedService() private let popUpAPIUseCase = PopUpAPIUseCaseImpl(repository: PopUpAPIRepositoryImpl(provider: ProviderImpl())) - private let userAPIUseCase = UserAPIUseCaseImpl(repository: UserAPIRepositoryImpl(provider: ProviderImpl())) + private let userAPIUseCase: UserAPIUseCase private let commentAPIUseCase = CommentAPIUseCaseImpl(repository: CommentAPIRepositoryImpl(provider: ProviderImpl())) lazy var compositionalLayout: UICollectionViewCompositionalLayout = { UICollectionViewCompositionalLayout { [weak self] section, env in @@ -94,8 +94,12 @@ final class DetailReactor: Reactor { private var spacing16Section = SpacingSection(inputDataList: [.init(spacing: 16)]) private var spacing16GraySection = SpacingSection(inputDataList: [.init(spacing: 16, backgroundColor: .g50)]) // MARK: - init - init(popUpID: Int64) { + init( + popUpID: Int64, + userAPIUseCase: UserAPIUseCase + ) { self.popUpID = popUpID + self.userAPIUseCase = userAPIUseCase self.initialState = State() } @@ -171,7 +175,11 @@ final class DetailReactor: Reactor { case .moveToCommentTotalScene(let controller): if isLogin { let nextController = CommentListController() - nextController.reactor = CommentListReactor(popUpID: popUpID, popUpName: popUpName) + nextController.reactor = CommentListReactor( + popUpID: popUpID, + popUpName: popUpName, + userAPIUseCase: userAPIUseCase + ) controller.navigationController?.pushViewController(nextController, animated: true) } else { let loginController = SubLoginController() @@ -190,12 +198,18 @@ final class DetailReactor: Reactor { case .showCommentDetailScene(let controller, let indexPath): let comment = commentSection.inputDataList[indexPath.row] let nextController = CommentDetailController() - nextController.reactor = CommentDetailReactor(comment: comment) + nextController.reactor = CommentDetailReactor( + comment: comment, + userAPIUseCase: userAPIUseCase + ) controller.presentPanModal(nextController) case .moveToDetailScene(let controller, let indexPath): let id = similarSection.inputDataList[indexPath.row].id let nextController = DetailController() - nextController.reactor = DetailReactor(popUpID: id) + nextController.reactor = DetailReactor( + popUpID: id, + userAPIUseCase: userAPIUseCase + ) controller.navigationController?.pushViewController(nextController, animated: true) case .moveToRecentScene(let controller): controller.navigationController?.popViewController(animated: true) @@ -436,7 +450,10 @@ extension DetailReactor { case .normal: owner.dismiss(animated: true) { [weak controller] in let otherUserCommentController = OtherUserCommentController() - otherUserCommentController.reactor = OtherUserCommentReactor(commenterID: comment.creator) + otherUserCommentController.reactor = OtherUserCommentReactor( + commenterID: comment.creator, + userAPIUseCase: self.userAPIUseCase + ) controller?.navigationController?.pushViewController(otherUserCommentController, animated: true) } case .block: diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/List/HomeListReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/List/HomeListReactor.swift index 1e3d37b3..c454c132 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/List/HomeListReactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/List/HomeListReactor.swift @@ -45,7 +45,7 @@ final class HomeListReactor: Reactor { private let homeAPIUseCase = HomeAPIUseCaseImpl(repository: HomeAPIRepositoryImpl(provider: ProviderImpl())) private let userDefaultService = UserDefaultService() - private let userAPIUseCase = UserAPIUseCaseImpl(repository: UserAPIRepositoryImpl(provider: ProviderImpl())) + private let userAPIUseCase: UserAPIUseCase private var isLoading: Bool = false private var totalPage: Int32 = 0 @@ -70,9 +70,13 @@ final class HomeListReactor: Reactor { private var cardSections = HomeCardGridSection(inputDataList: []) // MARK: - init - init(popUpType: HomePopUpType) { + init( + popUpType: HomePopUpType, + userAPIUseCase: UserAPIUseCase + ) { self.initialState = State(popUpType: popUpType) self.popUpType = popUpType + self.userAPIUseCase = userAPIUseCase } // MARK: - Reactor Methods @@ -144,7 +148,10 @@ final class HomeListReactor: Reactor { isLoading = false case .moveToDetailScene(let controller, let row): let nextController = DetailController() - nextController.reactor = DetailReactor(popUpID: cardSections.inputDataList[row].id) + nextController.reactor = DetailReactor( + popUpID: cardSections.inputDataList[row].id, + userAPIUseCase: userAPIUseCase + ) controller.navigationController?.pushViewController(nextController, animated: true) } return newState diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/HomeReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/HomeReactor.swift index 1c4ebf67..a34eba5c 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/HomeReactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/HomeReactor.swift @@ -40,7 +40,7 @@ final class HomeReactor: Reactor { var disposeBag = DisposeBag() private let homeApiUseCase = HomeAPIUseCaseImpl(repository: HomeAPIRepositoryImpl(provider: ProviderImpl())) - private let userAPIUseCase = UserAPIUseCaseImpl(repository: UserAPIRepositoryImpl(provider: ProviderImpl())) + private let userAPIUseCase: UserAPIUseCase private let userDefaultService = UserDefaultService() lazy var compositionalLayout: UICollectionViewCompositionalLayout = { @@ -84,7 +84,8 @@ final class HomeReactor: Reactor { private var spaceGray24Section = SpacingSection(inputDataList: [.init(spacing: 24, backgroundColor: .g700)]) // MARK: - init - init() { + init(userAPIUseCase: UserAPIUseCase) { + self.userAPIUseCase = userAPIUseCase self.initialState = State() } @@ -272,35 +273,56 @@ final class HomeReactor: Reactor { case 0: if let id = loginImageBannerSection.inputDataList.first?.idList[indexPath.row - 1] { let controller = DetailController() - controller.reactor = DetailReactor(popUpID: id) + controller.reactor = DetailReactor( + popUpID: id, + userAPIUseCase: userAPIUseCase + ) currentController.navigationController?.pushViewController(controller, animated: true) } case 2: let controller = HomeListController() - controller.reactor = HomeListReactor(popUpType: .curation) + controller.reactor = HomeListReactor( + popUpType: .curation, + userAPIUseCase: userAPIUseCase + ) currentController.navigationController?.pushViewController(controller, animated: true) case 4: let id = curationSection.inputDataList[indexPath.row].id let controller = DetailController() - controller.reactor = DetailReactor(popUpID: id) + controller.reactor = DetailReactor( + popUpID: id, + userAPIUseCase: userAPIUseCase + ) currentController.navigationController?.pushViewController(controller, animated: true) case 7: let controller = HomeListController() - controller.reactor = HomeListReactor(popUpType: .popular) + controller.reactor = HomeListReactor( + popUpType: .popular, + userAPIUseCase: userAPIUseCase + ) currentController.navigationController?.pushViewController(controller, animated: true) case 9: let id = popularSection.inputDataList[indexPath.row].id let controller = DetailController() - controller.reactor = DetailReactor(popUpID: id) + controller.reactor = DetailReactor( + popUpID: id, + userAPIUseCase: userAPIUseCase + ) currentController.navigationController?.pushViewController(controller, animated: true) case 12: let controller = HomeListController() - controller.reactor = HomeListReactor(popUpType: .new) + controller.reactor = HomeListReactor( + popUpType: .new, + userAPIUseCase: userAPIUseCase + ) currentController.navigationController?.pushViewController(controller, animated: true) case 14: let id = newSection.inputDataList[indexPath.row].id let controller = DetailController() - controller.reactor = DetailReactor(popUpID: id) + controller.reactor = DetailReactor( + popUpID: id, + userAPIUseCase: userAPIUseCase + ) currentController.navigationController?.pushViewController(controller, animated: true) default: break @@ -310,26 +332,41 @@ final class HomeReactor: Reactor { case 0: if let id = loginImageBannerSection.inputDataList.first?.idList[indexPath.row - 1] { let controller = DetailController() - controller.reactor = DetailReactor(popUpID: id) + controller.reactor = DetailReactor( + popUpID: id, + userAPIUseCase: userAPIUseCase + ) currentController.navigationController?.pushViewController(controller, animated: true) } case 2: let controller = HomeListController() - controller.reactor = HomeListReactor(popUpType: .popular) + controller.reactor = HomeListReactor( + popUpType: .popular, + userAPIUseCase: userAPIUseCase + ) currentController.navigationController?.pushViewController(controller, animated: true) case 4: let id = popularSection.inputDataList[indexPath.row].id let controller = DetailController() - controller.reactor = DetailReactor(popUpID: id) + controller.reactor = DetailReactor( + popUpID: id, + userAPIUseCase: userAPIUseCase + ) currentController.navigationController?.pushViewController(controller, animated: true) case 7: let controller = HomeListController() - controller.reactor = HomeListReactor(popUpType: .new) + controller.reactor = HomeListReactor( + popUpType: .new, + userAPIUseCase: userAPIUseCase + ) currentController.navigationController?.pushViewController(controller, animated: true) case 9: let id = newSection.inputDataList[indexPath.row].id let controller = DetailController() - controller.reactor = DetailReactor(popUpID: id) + controller.reactor = DetailReactor( + popUpID: id, + userAPIUseCase: userAPIUseCase + ) currentController.navigationController?.pushViewController(controller, animated: true) default: break diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/MapView/MapViewController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/MapView/MapViewController.swift index e327b463..17b6f1ec 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/MapView/MapViewController.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/MapView/MapViewController.swift @@ -41,8 +41,10 @@ class MapViewController: BaseViewController, View, CLLocationManagerDelegate, NM let carouselView = MapPopupCarouselView() private let locationManager = CLLocationManager() var currentMarker: NMFMarker? - private let storeListReactor = StoreListReactor() - private let storeListViewController = StoreListViewController(reactor: StoreListReactor()) + private let storeListReactor = StoreListReactor(userAPIUseCase: DIContainer.resolve(UserAPIUseCase.self)) + private let storeListViewController = StoreListViewController( + reactor: StoreListReactor(userAPIUseCase: DIContainer.resolve(UserAPIUseCase.self)) + ) private var listViewTopConstraint: Constraint? private var currentFilterBottomSheet: FilterBottomSheetViewController? private var filterChipsTopY: CGFloat = 0 @@ -115,7 +117,10 @@ class MapViewController: BaseViewController, View, CLLocationManagerDelegate, NM carouselView.onCardTapped = { [weak self] store in let detailController = DetailController() - detailController.reactor = DetailReactor(popUpID: Int64(store.id)) + detailController.reactor = DetailReactor( + popUpID: Int64(store.id), + userAPIUseCase: DIContainer.resolve(UserAPIUseCase.self) + ) self?.navigationController?.isNavigationBarHidden = false self?.navigationController?.tabBarController?.tabBar.isHidden = false diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/StoreListView/StoreListReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/StoreListView/StoreListReactor.swift index 21e54ec8..dba652c8 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/StoreListView/StoreListReactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/StoreListView/StoreListReactor.swift @@ -5,7 +5,7 @@ import RxSwift final class StoreListReactor: Reactor { // MARK: - Reactor - private let userAPIUseCase: UserAPIUseCaseImpl + private let userAPIUseCase: UserAPIUseCase private let popUpAPIUseCase: PopUpAPIUseCaseImpl private let bookmarkStateRelay = PublishRelay<(Int64, Bool)>() @@ -48,7 +48,7 @@ final class StoreListReactor: Reactor { var initialState: State init( - userAPIUseCase: UserAPIUseCaseImpl = UserAPIUseCaseImpl(repository: UserAPIRepositoryImpl(provider: ProviderImpl())), + userAPIUseCase: UserAPIUseCase, popUpAPIUseCase: PopUpAPIUseCaseImpl = PopUpAPIUseCaseImpl(repository: PopUpAPIRepositoryImpl(provider: ProviderImpl())) ) { self.userAPIUseCase = userAPIUseCase diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/StoreListView/StoreListViewController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/StoreListView/StoreListViewController.swift index 3a358ce8..5f421b12 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/StoreListView/StoreListViewController.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/StoreListView/StoreListViewController.swift @@ -116,7 +116,10 @@ final class StoreListViewController: UIViewController, View { let store = owner.reactor?.currentState.stores[indexPath.item] else { return } let detailController = DetailController() - detailController.reactor = DetailReactor(popUpID: Int64(store.id)) + detailController.reactor = DetailReactor( + popUpID: Int64(store.id), + userAPIUseCase: DIContainer.resolve(UserAPIUseCase.self) + ) owner.navigationController?.isNavigationBarHidden = false owner.navigationController?.tabBarController?.tabBar.isHidden = false diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Block/BlockUserManageReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Block/BlockUserManageReactor.swift index 99c16ac2..e0439e64 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Block/BlockUserManageReactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Block/BlockUserManageReactor.swift @@ -35,7 +35,7 @@ final class BlockUserManageReactor: Reactor { var initialState: State var disposeBag = DisposeBag() - private let userAPIUseCase = UserAPIUseCaseImpl(repository: UserAPIRepositoryImpl(provider: ProviderImpl())) + private let userAPIUseCase: UserAPIUseCase lazy var compositionalLayout: UICollectionViewCompositionalLayout = { UICollectionViewCompositionalLayout { [weak self] section, env in @@ -56,7 +56,8 @@ final class BlockUserManageReactor: Reactor { private var spcing16Section = SpacingSection(inputDataList: [.init(spacing: 16)]) // MARK: - init - init() { + init(userAPIUseCase: UserAPIUseCase) { + self.userAPIUseCase = userAPIUseCase self.initialState = State() } diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Bookmark/Main/MyPageBookmarkReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Bookmark/Main/MyPageBookmarkReactor.swift index 077b4506..f8ac3593 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Bookmark/Main/MyPageBookmarkReactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Bookmark/Main/MyPageBookmarkReactor.swift @@ -52,7 +52,7 @@ final class MyPageBookmarkReactor: Reactor { private var size: Int32 = 10 private var viewType: String = "크게보기" - private let userAPIUseCase = UserAPIUseCaseImpl(repository: UserAPIRepositoryImpl(provider: ProviderImpl())) + private let userAPIUseCase: UserAPIUseCase lazy var compositionalLayout: UICollectionViewCompositionalLayout = { UICollectionViewCompositionalLayout { [weak self] section, env in @@ -74,7 +74,8 @@ final class MyPageBookmarkReactor: Reactor { private var spacing150Section = SpacingSection(inputDataList: [.init(spacing: 150)]) // MARK: - init - init() { + init(userAPIUseCase: UserAPIUseCase) { + self.userAPIUseCase = userAPIUseCase self.initialState = State() } @@ -178,7 +179,10 @@ final class MyPageBookmarkReactor: Reactor { controller.navigationController?.popViewController(animated: true) case .moveToDetailScene(let controller, let row): let nextController = DetailController() - nextController.reactor = DetailReactor(popUpID: listSection.inputDataList[row].id) + nextController.reactor = DetailReactor( + popUpID: listSection.inputDataList[row].id, + userAPIUseCase: userAPIUseCase + ) controller.navigationController?.pushViewController(nextController, animated: true) case .presentModal(let controller): let nextController = BookMarkPopUpViewTypeModalController() @@ -195,7 +199,10 @@ final class MyPageBookmarkReactor: Reactor { .disposed(by: nextController.disposeBag) case .moveToSuggestScene(let controller): let nextController = HomeListController() - nextController.reactor = HomeListReactor(popUpType: .curation) + nextController.reactor = HomeListReactor( + popUpType: .curation, + userAPIUseCase: userAPIUseCase + ) controller.navigationController?.pushViewController(nextController, animated: true) } newState.sections = getSection() diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/MyPageReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/MyPageReactor.swift index 68a57447..60bfe676 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/MyPageReactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/MyPageReactor.swift @@ -45,7 +45,7 @@ final class MyPageReactor: Reactor { var initialState: State var disposeBag = DisposeBag() - private let userAPIUseCase = UserAPIUseCaseImpl(repository: UserAPIRepositoryImpl(provider: ProviderImpl())) + private let userAPIUseCase: UserAPIUseCase lazy var compositionalLayout: UICollectionViewCompositionalLayout = { UICollectionViewCompositionalLayout { [weak self] section, env in @@ -103,7 +103,8 @@ final class MyPageReactor: Reactor { var isAdmin: Bool = false // MARK: - init - init() { + init(userAPIUseCase: UserAPIUseCase) { + self.userAPIUseCase = userAPIUseCase self.initialState = State() } @@ -180,7 +181,7 @@ final class MyPageReactor: Reactor { case .moveToProfileEditScene(let controller): let nextController = ProfileEditController() - nextController.reactor = ProfileEditReactor() + nextController.reactor = ProfileEditReactor(userAPIUseCase: userAPIUseCase) controller.navigationController?.pushViewController(nextController, animated: true) case .logout: @@ -207,7 +208,7 @@ final class MyPageReactor: Reactor { case .apply: nextController.dismiss(animated: true) { let reasonController = WithdrawlReasonController() - reasonController.reactor = WithdrawlReasonReactor() + reasonController.reactor = WithdrawlReasonReactor(userAPIUseCase: self.userAPIUseCase) controller?.navigationController?.pushViewController(reasonController, animated: true) } case .cancel: @@ -220,12 +221,12 @@ final class MyPageReactor: Reactor { case "차단한 사용자 관리": let nextController = BlockUserManageController() - nextController.reactor = BlockUserManageReactor() + nextController.reactor = BlockUserManageReactor(userAPIUseCase: userAPIUseCase) controller.navigationController?.pushViewController(nextController, animated: true) case "공지사항": let nextController = MyPageNoticeController() - nextController.reactor = MyPageNoticeReactor() + nextController.reactor = MyPageNoticeReactor(userAPIUseCase: userAPIUseCase) controller.navigationController?.pushViewController(nextController, animated: true) case "고객문의": @@ -235,12 +236,12 @@ final class MyPageReactor: Reactor { case "찜한 팝업": let nextController = MyPageBookmarkController() - nextController.reactor = MyPageBookmarkReactor() + nextController.reactor = MyPageBookmarkReactor(userAPIUseCase: userAPIUseCase) controller.navigationController?.pushViewController(nextController, animated: true) case "최근 본 팝업": let nextController = MyPageRecentController() - nextController.reactor = MyPageRecentReactor() + nextController.reactor = MyPageRecentReactor(userAPIUseCase: userAPIUseCase) controller.navigationController?.pushViewController(nextController, animated: true) case "약관": @@ -254,7 +255,10 @@ final class MyPageReactor: Reactor { case .moveToPopUpDetailScene(let controller, let row): let nextController = DetailController() let popUpID = commentSection.inputDataList[row].popUpID - nextController.reactor = DetailReactor(popUpID: popUpID) + nextController.reactor = DetailReactor( + popUpID: popUpID, + userAPIUseCase: userAPIUseCase + ) controller.navigationController?.pushViewController(nextController, animated: true) case .moveToLoginScene(let controller): @@ -266,7 +270,7 @@ final class MyPageReactor: Reactor { case .moveToMyCommentScene(let controller): let nextController = MyCommentController() - nextController.reactor = MyCommentReactor() + nextController.reactor = MyCommentReactor(userAPIUseCase: userAPIUseCase) controller.navigationController?.pushViewController(nextController, animated: true) case .moveToAdminScene(let controller): diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/MyComment/Main/MyCommentReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/MyComment/Main/MyCommentReactor.swift index 83445aac..f4688687 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/MyComment/Main/MyCommentReactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/MyComment/Main/MyCommentReactor.swift @@ -37,7 +37,7 @@ final class MyCommentReactor: Reactor { var initialState: State var disposeBag = DisposeBag() - private let userAPIUseCase = UserAPIUseCaseImpl(repository: UserAPIRepositoryImpl(provider: ProviderImpl())) + private let userAPIUseCase: UserAPIUseCase lazy var compositionalLayout: UICollectionViewCompositionalLayout = { UICollectionViewCompositionalLayout { [weak self] section, env in @@ -59,7 +59,8 @@ final class MyCommentReactor: Reactor { private var spacing64Section = SpacingSection(inputDataList: [.init(spacing: 64)]) // MARK: - init - init() { + init(userAPIUseCase: UserAPIUseCase) { + self.userAPIUseCase = userAPIUseCase self.initialState = State() } @@ -106,7 +107,10 @@ final class MyCommentReactor: Reactor { case .moveToDetailScene(let controller, let row): let popUpID = listSection.inputDataList[row].popUpID let nextController = DetailController() - nextController.reactor = DetailReactor(popUpID: popUpID) + nextController.reactor = DetailReactor( + popUpID: popUpID, + userAPIUseCase: userAPIUseCase + ) controller.navigationController?.pushViewController(nextController, animated: true) case .moveToRecentScene(let controller): controller.navigationController?.popViewController(animated: true) diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Notice/Detail/MyPageNoticeDetailReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Notice/Detail/MyPageNoticeDetailReactor.swift index 02bb5176..f868b9ed 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Notice/Detail/MyPageNoticeDetailReactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Notice/Detail/MyPageNoticeDetailReactor.swift @@ -37,10 +37,14 @@ final class MyPageNoticeDetailReactor: Reactor { var content: String? var noticeID: Int64 - let userAPIUseCase = UserAPIUseCaseImpl(repository: UserAPIRepositoryImpl(provider: ProviderImpl())) + let userAPIUseCase: UserAPIUseCase // MARK: - init - init(noticeID: Int64) { + init( + noticeID: Int64, + userAPIUseCase: UserAPIUseCase + ) { self.noticeID = noticeID + self.userAPIUseCase = userAPIUseCase self.initialState = State() } diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Notice/List/MyPageNoticeReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Notice/List/MyPageNoticeReactor.swift index ab4da90c..c5620e42 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Notice/List/MyPageNoticeReactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Notice/List/MyPageNoticeReactor.swift @@ -34,7 +34,7 @@ final class MyPageNoticeReactor: Reactor { var initialState: State var disposeBag = DisposeBag() - private let userAPIUseCase = UserAPIUseCaseImpl(repository: UserAPIRepositoryImpl(provider: ProviderImpl())) + private let userAPIUseCase: UserAPIUseCase lazy var compositionalLayout: UICollectionViewCompositionalLayout = { UICollectionViewCompositionalLayout { [weak self] section, env in @@ -54,7 +54,8 @@ final class MyPageNoticeReactor: Reactor { private let spacing16Section = SpacingSection(inputDataList: [.init(spacing: 16)]) // MARK: - init - init() { + init(userAPIUseCase: UserAPIUseCase) { + self.userAPIUseCase = userAPIUseCase self.initialState = State() } @@ -85,7 +86,10 @@ final class MyPageNoticeReactor: Reactor { newState.sections = getSection() case .moveToDetailScene(let controller, let row): let nextController = MyPageNoticeDetailController() - nextController.reactor = MyPageNoticeDetailReactor(noticeID: listSection.inputDataList[row].noticeID) + nextController.reactor = MyPageNoticeDetailReactor( + noticeID: listSection.inputDataList[row].noticeID, + userAPIUseCase: userAPIUseCase + ) controller.navigationController?.pushViewController(nextController, animated: true) case .moveToRecentScene(let controller): controller.navigationController?.popViewController(animated: true) diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/ProfileEdit/CategoryEditModal/CategoryEditModalReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/ProfileEdit/CategoryEditModal/CategoryEditModalReactor.swift index 2fb1bac2..518e80bf 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/ProfileEdit/CategoryEditModal/CategoryEditModalReactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/ProfileEdit/CategoryEditModal/CategoryEditModalReactor.swift @@ -53,12 +53,16 @@ final class CategoryEditModalReactor: Reactor { }() private var signUpUseCase = SignUpAPIUseCaseImpl(repository: SignUpRepositoryImpl(provider: ProviderImpl())) - private var userAPIUseCase = UserAPIUseCaseImpl(repository: UserAPIRepositoryImpl(provider: ProviderImpl())) + private var userAPIUseCase: UserAPIUseCase private var tagSection = TagSection(inputDataList: []) // MARK: - init - init(selectedID: [Int64]) { + init( + selectedID: [Int64], + userAPIUseCase: UserAPIUseCase + ) { self.originSelectedID = selectedID + self.userAPIUseCase = userAPIUseCase self.initialState = State(originSelectedID: selectedID) } diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/ProfileEdit/InfoEditModal/InfoEditModalReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/ProfileEdit/InfoEditModal/InfoEditModalReactor.swift index df0ae566..45e48e9b 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/ProfileEdit/InfoEditModal/InfoEditModalReactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/ProfileEdit/InfoEditModal/InfoEditModalReactor.swift @@ -48,11 +48,16 @@ final class InfoEditModalReactor: Reactor { var currentAge: Int32 = 0 var currentGender: String? - private let userAPIUseCase = UserAPIUseCaseImpl(repository: UserAPIRepositoryImpl(provider: ProviderImpl())) + private let userAPIUseCase: UserAPIUseCase // MARK: - init - init(age: Int32, gender: String?) { + init( + age: Int32, + gender: String?, + userAPIUseCase: UserAPIUseCase + ) { self.originAge = age self.originGender = gender + self.userAPIUseCase = userAPIUseCase self.initialState = State(age: age, gender: gender) } diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/ProfileEdit/Main/ProfileEditReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/ProfileEdit/Main/ProfileEditReactor.swift index 5719a881..9aa9f5e3 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/ProfileEdit/Main/ProfileEditReactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/ProfileEdit/Main/ProfileEditReactor.swift @@ -64,12 +64,13 @@ final class ProfileEditReactor: Reactor { var currentIntro: String? var introIsActive: Bool = false - private let userAPIUseCase = UserAPIUseCaseImpl(repository: UserAPIRepositoryImpl(provider: ProviderImpl())) + private let userAPIUseCase: UserAPIUseCase private let signUpAPIUseCase = SignUpAPIUseCaseImpl(repository: SignUpRepositoryImpl(provider: ProviderImpl())) private let imageService = PreSignedService() // MARK: - init - init() { + init(userAPIUseCase: UserAPIUseCase) { + self.userAPIUseCase = userAPIUseCase self.initialState = State() } @@ -133,11 +134,18 @@ final class ProfileEditReactor: Reactor { newState.introState = checkIntroState(text: currentIntro, isActive: introIsActive) case .moveToCategoryEditScene(let controller): let nextController = CategoryEditModalController() - nextController.reactor = CategoryEditModalReactor(selectedID: newState.originProfileData?.interestCategoryList.map { $0.categoryId } ?? []) + nextController.reactor = CategoryEditModalReactor( + selectedID: newState.originProfileData?.interestCategoryList.map { $0.categoryId } ?? [], + userAPIUseCase: userAPIUseCase + ) controller.presentPanModal(nextController) case .moveToInfoEditScene(let controller): let nextController = InfoEditModalController() - nextController.reactor = InfoEditModalReactor(age: originProfileData?.age ?? 0, gender: originProfileData?.gender) + nextController.reactor = InfoEditModalReactor( + age: originProfileData?.age ?? 0, + gender: originProfileData?.gender, + userAPIUseCase: userAPIUseCase + ) controller.presentPanModal(nextController) case .isValidateNickName(let isValidate): if isValidate { diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Recent/MyPageRecentReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Recent/MyPageRecentReactor.swift index 300b6bcb..7bd27e39 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Recent/MyPageRecentReactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Recent/MyPageRecentReactor.swift @@ -42,7 +42,7 @@ final class MyPageRecentReactor: Reactor { private var currentPage: Int32 = 0 private var size: Int32 = 100 - private let userAPIUseCase = UserAPIUseCaseImpl(repository: UserAPIRepositoryImpl(provider: ProviderImpl())) + private let userAPIUseCase: UserAPIUseCase lazy var compositionalLayout: UICollectionViewCompositionalLayout = { UICollectionViewCompositionalLayout { [weak self] section, env in @@ -63,7 +63,8 @@ final class MyPageRecentReactor: Reactor { private var spacing16Section = SpacingSection(inputDataList: [.init(spacing: 16)]) // MARK: - init - init() { + init(userAPIUseCase: UserAPIUseCase) { + self.userAPIUseCase = userAPIUseCase self.initialState = State() } @@ -125,7 +126,10 @@ final class MyPageRecentReactor: Reactor { controller.navigationController?.popViewController(animated: true) case .moveToDetailScene(let controller, let row): let nextController = DetailController() - nextController.reactor = DetailReactor(popUpID: listSection.inputDataList[row].id) + nextController.reactor = DetailReactor( + popUpID: listSection.inputDataList[row].id, + userAPIUseCase: userAPIUseCase + ) controller.navigationController?.pushViewController(nextController, animated: true) } return newState diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Withdrawl/SelectedReason/WithdrawlReasonReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Withdrawl/SelectedReason/WithdrawlReasonReactor.swift index 4e0a67de..4748166b 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Withdrawl/SelectedReason/WithdrawlReasonReactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Withdrawl/SelectedReason/WithdrawlReasonReactor.swift @@ -57,11 +57,12 @@ final class WithdrawlReasonReactor: Reactor { private var reasonSection = WithdrawlCheckSection(inputDataList: []) private var spacing156Section = SpacingSection(inputDataList: [.init(spacing: 156)]) - private let userAPIUseCase = UserAPIUseCaseImpl(repository: UserAPIRepositoryImpl(provider: ProviderImpl())) + private let userAPIUseCase: UserAPIUseCase @Dependency private var keyChainService: KeyChainService private let userDefaultService = UserDefaultService() // MARK: - init - init() { + init(userAPIUseCase: UserAPIUseCase) { + self.userAPIUseCase = userAPIUseCase self.initialState = State() } diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/AfterSearch/SearchResultReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/AfterSearch/SearchResultReactor.swift index f4601985..f61829cd 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/AfterSearch/SearchResultReactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/AfterSearch/SearchResultReactor.swift @@ -36,7 +36,7 @@ final class SearchResultReactor: Reactor { var initialState: State var disposeBag = DisposeBag() private var popUpAPIUseCase = PopUpAPIUseCaseImpl(repository: PopUpAPIRepositoryImpl(provider: ProviderImpl())) - private let userAPIUseCase = UserAPIUseCaseImpl(repository: UserAPIRepositoryImpl(provider: ProviderImpl())) + private let userAPIUseCase: UserAPIUseCase lazy var compositionalLayout: UICollectionViewCompositionalLayout = { UICollectionViewCompositionalLayout { [weak self] section, env in guard let self = self else { @@ -59,7 +59,8 @@ final class SearchResultReactor: Reactor { private let spacing64Section = SpacingSection(inputDataList: [.init(spacing: 64)]) // MARK: - init - init() { + init(userAPIUseCase: UserAPIUseCase) { + self.userAPIUseCase = userAPIUseCase self.initialState = State() } @@ -123,7 +124,10 @@ final class SearchResultReactor: Reactor { newState.isEmptyResult = true case .moveToDetailScene(let controller, let indexPath): let nextController = DetailController() - nextController.reactor = DetailReactor(popUpID: searchListSection.inputDataList[indexPath.row].id) + nextController.reactor = DetailReactor( + popUpID: searchListSection.inputDataList[indexPath.row].id, + userAPIUseCase: userAPIUseCase + ) controller.navigationController?.pushViewController(nextController, animated: true) } return newState diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/BeforeSearch/SearchReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/BeforeSearch/SearchReactor.swift index a8fa3122..df6ee726 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/BeforeSearch/SearchReactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/BeforeSearch/SearchReactor.swift @@ -59,7 +59,7 @@ final class SearchReactor: Reactor { let userDefaultService = UserDefaultService() private let popUpAPIUseCase = PopUpAPIUseCaseImpl(repository: PopUpAPIRepositoryImpl(provider: ProviderImpl())) - private let userAPIUseCase = UserAPIUseCaseImpl(repository: UserAPIRepositoryImpl(provider: ProviderImpl())) + private let userAPIUseCase: UserAPIUseCase lazy var compositionalLayout: UICollectionViewCompositionalLayout = { UICollectionViewCompositionalLayout { [weak self] section, env in @@ -91,7 +91,8 @@ final class SearchReactor: Reactor { private let spacing64Section = SpacingSection(inputDataList: [.init(spacing: 64)]) // MARK: - init - init() { + init(userAPIUseCase: UserAPIUseCase) { + self.userAPIUseCase = userAPIUseCase self.initialState = State() } @@ -219,7 +220,10 @@ final class SearchReactor: Reactor { .disposed(by: nextController.disposeBag) case .moveToDetailScene(let controller, let indexPath): let nextController = DetailController() - nextController.reactor = DetailReactor(popUpID: searchListSection.inputDataList[indexPath.row].id) + nextController.reactor = DetailReactor( + popUpID: searchListSection.inputDataList[indexPath.row].id, + userAPIUseCase: userAPIUseCase + ) controller.navigationController?.pushViewController(nextController, animated: true) case .setSearchKeyWord(let text): newState.searchKeyWord = text diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/Main/SearchMainController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/Main/SearchMainController.swift index c9b9fe6f..4da3edf1 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/Main/SearchMainController.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/Main/SearchMainController.swift @@ -25,13 +25,13 @@ final class SearchMainController: BaseTabmanController, View { var beforeController: SearchController = { let controller = SearchController() - controller.reactor = SearchReactor() + controller.reactor = SearchReactor(userAPIUseCase: DIContainer.resolve(UserAPIUseCase.self)) return controller }() var afterController: SearchResultController = { let controller = SearchResultController() - controller.reactor = SearchResultReactor() + controller.reactor = SearchResultReactor(userAPIUseCase: DIContainer.resolve(UserAPIUseCase.self)) return controller }() diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/TabbarController/TabbarController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/TabbarController/TabbarController.swift index cca64663..2c6f55eb 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/TabbarController/TabbarController.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/TabbarController/TabbarController.swift @@ -201,10 +201,10 @@ class WaveTabBarController: UITabBarController, UITabBarControllerDelegate { mapController.reactor = MapReactor(mapUseCase: mapUseCase, directionRepository: directionRepository) let homeController = HomeController() - homeController.reactor = HomeReactor() + homeController.reactor = HomeReactor(userAPIUseCase: DIContainer.resolve(UserAPIUseCase.self)) let myPageController = MyPageController() - myPageController.reactor = MyPageReactor() + myPageController.reactor = MyPageReactor(userAPIUseCase: DIContainer.resolve(UserAPIUseCase.self)) let iconSize = CGSize(width: 32, height: 32) // 탭바 아이템 생성 diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Utills/ToastMaker/ToastMaker.swift b/Poppool/Poppool/PresentationLayer/Presentation/Utills/ToastMaker/ToastMaker.swift index 54f6fdf7..924c7b0e 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Utills/ToastMaker/ToastMaker.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Utills/ToastMaker/ToastMaker.swift @@ -92,7 +92,9 @@ extension ToastMaker { .withUnretained(currentVC) .subscribe(onNext: { (owner, _) in let nextController = MyPageBookmarkController() - nextController.reactor = MyPageBookmarkReactor() + nextController.reactor = MyPageBookmarkReactor( + userAPIUseCase: DIContainer.resolve(UserAPIUseCase.self) + ) owner.navigationController?.pushViewController(nextController, animated: true) }) .disposed(by: disposeBag) From 8c0e3ebf5d05434fc4b6d34794678c217dc129f7 Mon Sep 17 00:00:00 2001 From: 0Hooni Date: Wed, 16 Apr 2025 23:21:20 +0900 Subject: [PATCH 23/83] =?UTF-8?q?refactor/#113:=20PopUpAPIUseCase=20?= =?UTF-8?q?=EC=9D=98=EC=A1=B4=EC=84=B1=20=EC=A3=BC=EC=9E=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Poppool/Poppool/Application/AppDelegate.swift | 3 +++ .../CommentList/CommentListReactor.swift | 6 ++++-- .../OtherUserCommentReactor.swift | 3 ++- .../Scene/Detail/DetailReactor.swift | 12 +++++++---- .../Scene/Home/List/HomeListReactor.swift | 3 ++- .../Scene/Home/Main/HomeReactor.swift | 21 ++++++++++++------- .../Scene/Map/MapView/MapViewController.swift | 7 +++++-- .../StoreListViewController.swift | 3 ++- .../Bookmark/Main/MyPageBookmarkReactor.swift | 3 ++- .../Scene/MyPage/Main/MyPageReactor.swift | 3 ++- .../MyComment/Main/MyCommentReactor.swift | 3 ++- .../MyPage/Recent/MyPageRecentReactor.swift | 3 ++- .../AfterSearch/SearchResultReactor.swift | 11 +++++++--- .../Search/BeforeSearch/SearchReactor.swift | 11 +++++++--- .../Search/Main/SearchMainController.swift | 10 +++++++-- 15 files changed, 72 insertions(+), 30 deletions(-) diff --git a/Poppool/Poppool/Application/AppDelegate.swift b/Poppool/Poppool/Application/AppDelegate.swift index 4e661809..3128fc07 100644 --- a/Poppool/Poppool/Application/AppDelegate.swift +++ b/Poppool/Poppool/Application/AppDelegate.swift @@ -39,15 +39,18 @@ extension AppDelegate { DIContainer.register(MapRepository.self) { return MapRepositoryImpl(provider: provider) } DIContainer.register(AdminRepository.self) { return AdminRepositoryImpl(provider: provider) } DIContainer.register(UserAPIRepository.self) { return UserAPIRepositoryImpl(provider: provider) } + DIContainer.register(PopUpAPIRepository.self) { return PopUpAPIRepositoryImpl(provider: provider) } // MARK: Resolve repository @Dependency var mapRepository: MapRepository @Dependency var adminRepository: AdminRepository @Dependency var userAPIRepository: UserAPIRepository + @Dependency var popUpAPIRepository: PopUpAPIRepository // MARK: Register UseCase DIContainer.register(MapUseCase.self) { return MapUseCaseImpl(repository: mapRepository) } DIContainer.register(AdminUseCase.self) { return AdminUseCaseImpl(repository: adminRepository) } DIContainer.register(UserAPIUseCase.self) { return UserAPIUseCaseImpl(repository: userAPIRepository) } + DIContainer.register(PopUpAPIUseCase.self) { return PopUpAPIUseCaseImpl(repository: popUpAPIRepository) } } } diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentList/CommentListReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentList/CommentListReactor.swift index 3310f1b3..c98139f0 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentList/CommentListReactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentList/CommentListReactor.swift @@ -49,7 +49,7 @@ final class CommentListReactor: Reactor { private var appendDataIsEmpty: Bool = false private var imageService = PreSignedService() - private let popUpAPIUseCase = PopUpAPIUseCaseImpl(repository: PopUpAPIRepositoryImpl(provider: ProviderImpl())) + private let popUpAPIUseCase: PopUpAPIUseCase private let userAPIUseCase: UserAPIUseCase private let commentAPIUseCase = CommentAPIUseCaseImpl(repository: CommentAPIRepositoryImpl(provider: ProviderImpl())) @@ -76,12 +76,14 @@ final class CommentListReactor: Reactor { init( popUpID: Int64, popUpName: String?, - userAPIUseCase: UserAPIUseCase + userAPIUseCase: UserAPIUseCase, + popUpAPIUseCase: PopUpAPIUseCase ) { self.initialState = State() self.popUpID = popUpID self.popUpName = popUpName self.userAPIUseCase = userAPIUseCase + self.popUpAPIUseCase = popUpAPIUseCase } // MARK: - Reactor Methods diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/OtherUserComment/OtherUserCommentReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/OtherUserComment/OtherUserCommentReactor.swift index 5f4e5167..c18f26d4 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/OtherUserComment/OtherUserCommentReactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/OtherUserComment/OtherUserCommentReactor.swift @@ -109,7 +109,8 @@ final class OtherUserCommentReactor: Reactor { let nextController = DetailController() nextController.reactor = DetailReactor( popUpID: id, - userAPIUseCase: userAPIUseCase + userAPIUseCase: userAPIUseCase, + popUpAPIUseCase: DIContainer.resolve(PopUpAPIUseCase.self) ) controller.navigationController?.pushViewController(nextController, animated: true) } diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/DetailReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/DetailReactor.swift index d4abab15..c127a559 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/DetailReactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/DetailReactor.swift @@ -58,7 +58,7 @@ final class DetailReactor: Reactor { private var isFirstRequest: Bool = true private var imageService = PreSignedService() - private let popUpAPIUseCase = PopUpAPIUseCaseImpl(repository: PopUpAPIRepositoryImpl(provider: ProviderImpl())) + private let popUpAPIUseCase: PopUpAPIUseCase private let userAPIUseCase: UserAPIUseCase private let commentAPIUseCase = CommentAPIUseCaseImpl(repository: CommentAPIRepositoryImpl(provider: ProviderImpl())) lazy var compositionalLayout: UICollectionViewCompositionalLayout = { @@ -96,10 +96,12 @@ final class DetailReactor: Reactor { // MARK: - init init( popUpID: Int64, - userAPIUseCase: UserAPIUseCase + userAPIUseCase: UserAPIUseCase, + popUpAPIUseCase: PopUpAPIUseCase ) { self.popUpID = popUpID self.userAPIUseCase = userAPIUseCase + self.popUpAPIUseCase = popUpAPIUseCase self.initialState = State() } @@ -178,7 +180,8 @@ final class DetailReactor: Reactor { nextController.reactor = CommentListReactor( popUpID: popUpID, popUpName: popUpName, - userAPIUseCase: userAPIUseCase + userAPIUseCase: userAPIUseCase, + popUpAPIUseCase: popUpAPIUseCase ) controller.navigationController?.pushViewController(nextController, animated: true) } else { @@ -208,7 +211,8 @@ final class DetailReactor: Reactor { let nextController = DetailController() nextController.reactor = DetailReactor( popUpID: id, - userAPIUseCase: userAPIUseCase + userAPIUseCase: userAPIUseCase, + popUpAPIUseCase: popUpAPIUseCase ) controller.navigationController?.pushViewController(nextController, animated: true) case .moveToRecentScene(let controller): diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/List/HomeListReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/List/HomeListReactor.swift index c454c132..52b0ee7f 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/List/HomeListReactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/List/HomeListReactor.swift @@ -150,7 +150,8 @@ final class HomeListReactor: Reactor { let nextController = DetailController() nextController.reactor = DetailReactor( popUpID: cardSections.inputDataList[row].id, - userAPIUseCase: userAPIUseCase + userAPIUseCase: userAPIUseCase, + popUpAPIUseCase: DIContainer.resolve(PopUpAPIUseCase.self) ) controller.navigationController?.pushViewController(nextController, animated: true) } diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/HomeReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/HomeReactor.swift index a34eba5c..4406df63 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/HomeReactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/HomeReactor.swift @@ -275,7 +275,8 @@ final class HomeReactor: Reactor { let controller = DetailController() controller.reactor = DetailReactor( popUpID: id, - userAPIUseCase: userAPIUseCase + userAPIUseCase: userAPIUseCase, + popUpAPIUseCase: DIContainer.resolve(PopUpAPIUseCase.self) ) currentController.navigationController?.pushViewController(controller, animated: true) } @@ -291,7 +292,8 @@ final class HomeReactor: Reactor { let controller = DetailController() controller.reactor = DetailReactor( popUpID: id, - userAPIUseCase: userAPIUseCase + userAPIUseCase: userAPIUseCase, + popUpAPIUseCase: DIContainer.resolve(PopUpAPIUseCase.self) ) currentController.navigationController?.pushViewController(controller, animated: true) case 7: @@ -306,7 +308,8 @@ final class HomeReactor: Reactor { let controller = DetailController() controller.reactor = DetailReactor( popUpID: id, - userAPIUseCase: userAPIUseCase + userAPIUseCase: userAPIUseCase, + popUpAPIUseCase: DIContainer.resolve(PopUpAPIUseCase.self) ) currentController.navigationController?.pushViewController(controller, animated: true) case 12: @@ -321,7 +324,8 @@ final class HomeReactor: Reactor { let controller = DetailController() controller.reactor = DetailReactor( popUpID: id, - userAPIUseCase: userAPIUseCase + userAPIUseCase: userAPIUseCase, + popUpAPIUseCase: DIContainer.resolve(PopUpAPIUseCase.self) ) currentController.navigationController?.pushViewController(controller, animated: true) default: @@ -334,7 +338,8 @@ final class HomeReactor: Reactor { let controller = DetailController() controller.reactor = DetailReactor( popUpID: id, - userAPIUseCase: userAPIUseCase + userAPIUseCase: userAPIUseCase, + popUpAPIUseCase: DIContainer.resolve(PopUpAPIUseCase.self) ) currentController.navigationController?.pushViewController(controller, animated: true) } @@ -350,7 +355,8 @@ final class HomeReactor: Reactor { let controller = DetailController() controller.reactor = DetailReactor( popUpID: id, - userAPIUseCase: userAPIUseCase + userAPIUseCase: userAPIUseCase, + popUpAPIUseCase: DIContainer.resolve(PopUpAPIUseCase.self) ) currentController.navigationController?.pushViewController(controller, animated: true) case 7: @@ -365,7 +371,8 @@ final class HomeReactor: Reactor { let controller = DetailController() controller.reactor = DetailReactor( popUpID: id, - userAPIUseCase: userAPIUseCase + userAPIUseCase: userAPIUseCase, + popUpAPIUseCase: DIContainer.resolve(PopUpAPIUseCase.self) ) currentController.navigationController?.pushViewController(controller, animated: true) default: diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/MapView/MapViewController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/MapView/MapViewController.swift index 17b6f1ec..67c5b4bc 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/MapView/MapViewController.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/MapView/MapViewController.swift @@ -32,8 +32,10 @@ class MapViewController: BaseViewController, View, CLLocationManagerDelegate, NM private var markerDictionary: [Int64: NMFMarker] = [:] private var individualMarkerDictionary: [Int64: NMFMarker] = [:] private var clusterMarkerDictionary: [String: NMFMarker] = [:] + // FIXME: Reactor 이용해서 처리하도록 수정 private let popUpAPIUseCase = PopUpAPIUseCaseImpl( - repository: PopUpAPIRepositoryImpl(provider: ProviderImpl())) + repository: PopUpAPIRepositoryImpl(provider: ProviderImpl()) + ) private let clusteringManager = ClusteringManager() var currentStores: [MapPopUpStore] = [] var disposeBag = DisposeBag() @@ -119,7 +121,8 @@ class MapViewController: BaseViewController, View, CLLocationManagerDelegate, NM let detailController = DetailController() detailController.reactor = DetailReactor( popUpID: Int64(store.id), - userAPIUseCase: DIContainer.resolve(UserAPIUseCase.self) + userAPIUseCase: DIContainer.resolve(UserAPIUseCase.self), + popUpAPIUseCase: self?.popUpAPIUseCase ?? DIContainer.resolve(PopUpAPIUseCase.self) ) self?.navigationController?.isNavigationBarHidden = false diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/StoreListView/StoreListViewController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/StoreListView/StoreListViewController.swift index 5f421b12..8239c1a4 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/StoreListView/StoreListViewController.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/StoreListView/StoreListViewController.swift @@ -118,7 +118,8 @@ final class StoreListViewController: UIViewController, View { let detailController = DetailController() detailController.reactor = DetailReactor( popUpID: Int64(store.id), - userAPIUseCase: DIContainer.resolve(UserAPIUseCase.self) + userAPIUseCase: DIContainer.resolve(UserAPIUseCase.self), + popUpAPIUseCase: DIContainer.resolve(PopUpAPIUseCase.self) ) owner.navigationController?.isNavigationBarHidden = false diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Bookmark/Main/MyPageBookmarkReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Bookmark/Main/MyPageBookmarkReactor.swift index f8ac3593..b3e0660d 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Bookmark/Main/MyPageBookmarkReactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Bookmark/Main/MyPageBookmarkReactor.swift @@ -181,7 +181,8 @@ final class MyPageBookmarkReactor: Reactor { let nextController = DetailController() nextController.reactor = DetailReactor( popUpID: listSection.inputDataList[row].id, - userAPIUseCase: userAPIUseCase + userAPIUseCase: userAPIUseCase, + popUpAPIUseCase: DIContainer.resolve(PopUpAPIUseCase.self) ) controller.navigationController?.pushViewController(nextController, animated: true) case .presentModal(let controller): diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/MyPageReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/MyPageReactor.swift index 60bfe676..274d1294 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/MyPageReactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/MyPageReactor.swift @@ -257,7 +257,8 @@ final class MyPageReactor: Reactor { let popUpID = commentSection.inputDataList[row].popUpID nextController.reactor = DetailReactor( popUpID: popUpID, - userAPIUseCase: userAPIUseCase + userAPIUseCase: userAPIUseCase, + popUpAPIUseCase: DIContainer.resolve(PopUpAPIUseCase.self) ) controller.navigationController?.pushViewController(nextController, animated: true) diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/MyComment/Main/MyCommentReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/MyComment/Main/MyCommentReactor.swift index f4688687..bfb9275d 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/MyComment/Main/MyCommentReactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/MyComment/Main/MyCommentReactor.swift @@ -109,7 +109,8 @@ final class MyCommentReactor: Reactor { let nextController = DetailController() nextController.reactor = DetailReactor( popUpID: popUpID, - userAPIUseCase: userAPIUseCase + userAPIUseCase: userAPIUseCase, + popUpAPIUseCase: DIContainer.resolve(PopUpAPIUseCase.self) ) controller.navigationController?.pushViewController(nextController, animated: true) case .moveToRecentScene(let controller): diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Recent/MyPageRecentReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Recent/MyPageRecentReactor.swift index 7bd27e39..7a48683f 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Recent/MyPageRecentReactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Recent/MyPageRecentReactor.swift @@ -128,7 +128,8 @@ final class MyPageRecentReactor: Reactor { let nextController = DetailController() nextController.reactor = DetailReactor( popUpID: listSection.inputDataList[row].id, - userAPIUseCase: userAPIUseCase + userAPIUseCase: userAPIUseCase, + popUpAPIUseCase: DIContainer.resolve(PopUpAPIUseCase.self) ) controller.navigationController?.pushViewController(nextController, animated: true) } diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/AfterSearch/SearchResultReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/AfterSearch/SearchResultReactor.swift index f61829cd..b05c1ddb 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/AfterSearch/SearchResultReactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/AfterSearch/SearchResultReactor.swift @@ -35,7 +35,7 @@ final class SearchResultReactor: Reactor { var initialState: State var disposeBag = DisposeBag() - private var popUpAPIUseCase = PopUpAPIUseCaseImpl(repository: PopUpAPIRepositoryImpl(provider: ProviderImpl())) + private var popUpAPIUseCase: PopUpAPIUseCase private let userAPIUseCase: UserAPIUseCase lazy var compositionalLayout: UICollectionViewCompositionalLayout = { UICollectionViewCompositionalLayout { [weak self] section, env in @@ -59,8 +59,12 @@ final class SearchResultReactor: Reactor { private let spacing64Section = SpacingSection(inputDataList: [.init(spacing: 64)]) // MARK: - init - init(userAPIUseCase: UserAPIUseCase) { + init( + userAPIUseCase: UserAPIUseCase, + popUpAPIUseCase: PopUpAPIUseCase + ) { self.userAPIUseCase = userAPIUseCase + self.popUpAPIUseCase = popUpAPIUseCase self.initialState = State() } @@ -126,7 +130,8 @@ final class SearchResultReactor: Reactor { let nextController = DetailController() nextController.reactor = DetailReactor( popUpID: searchListSection.inputDataList[indexPath.row].id, - userAPIUseCase: userAPIUseCase + userAPIUseCase: userAPIUseCase, + popUpAPIUseCase: popUpAPIUseCase ) controller.navigationController?.pushViewController(nextController, animated: true) } diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/BeforeSearch/SearchReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/BeforeSearch/SearchReactor.swift index df6ee726..5027add3 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/BeforeSearch/SearchReactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/BeforeSearch/SearchReactor.swift @@ -58,7 +58,7 @@ final class SearchReactor: Reactor { private var isLoading: Bool = false let userDefaultService = UserDefaultService() - private let popUpAPIUseCase = PopUpAPIUseCaseImpl(repository: PopUpAPIRepositoryImpl(provider: ProviderImpl())) + private let popUpAPIUseCase: PopUpAPIUseCase private let userAPIUseCase: UserAPIUseCase lazy var compositionalLayout: UICollectionViewCompositionalLayout = { @@ -91,8 +91,12 @@ final class SearchReactor: Reactor { private let spacing64Section = SpacingSection(inputDataList: [.init(spacing: 64)]) // MARK: - init - init(userAPIUseCase: UserAPIUseCase) { + init( + userAPIUseCase: UserAPIUseCase, + popUpAPIUseCase: PopUpAPIUseCase + ) { self.userAPIUseCase = userAPIUseCase + self.popUpAPIUseCase = popUpAPIUseCase self.initialState = State() } @@ -222,7 +226,8 @@ final class SearchReactor: Reactor { let nextController = DetailController() nextController.reactor = DetailReactor( popUpID: searchListSection.inputDataList[indexPath.row].id, - userAPIUseCase: userAPIUseCase + userAPIUseCase: userAPIUseCase, + popUpAPIUseCase: popUpAPIUseCase ) controller.navigationController?.pushViewController(nextController, animated: true) case .setSearchKeyWord(let text): diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/Main/SearchMainController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/Main/SearchMainController.swift index 4da3edf1..91840c9c 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/Main/SearchMainController.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/Main/SearchMainController.swift @@ -25,13 +25,19 @@ final class SearchMainController: BaseTabmanController, View { var beforeController: SearchController = { let controller = SearchController() - controller.reactor = SearchReactor(userAPIUseCase: DIContainer.resolve(UserAPIUseCase.self)) + controller.reactor = SearchReactor( + userAPIUseCase: DIContainer.resolve(UserAPIUseCase.self), + popUpAPIUseCase: DIContainer.resolve(PopUpAPIUseCase.self) + ) return controller }() var afterController: SearchResultController = { let controller = SearchResultController() - controller.reactor = SearchResultReactor(userAPIUseCase: DIContainer.resolve(UserAPIUseCase.self)) + controller.reactor = SearchResultReactor( + userAPIUseCase: DIContainer.resolve(UserAPIUseCase.self), + popUpAPIUseCase: DIContainer.resolve(PopUpAPIUseCase.self) + ) return controller }() From e489b14b63807255c6a481a0e640a2b64a54144f Mon Sep 17 00:00:00 2001 From: 0Hooni Date: Wed, 16 Apr 2025 23:36:23 +0900 Subject: [PATCH 24/83] =?UTF-8?q?refactor/#113:=20CommentAPIUseCase=20?= =?UTF-8?q?=EC=9D=98=EC=A1=B4=EC=84=B1=20=EC=A3=BC=EC=9E=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Poppool/Poppool/Application/AppDelegate.swift | 3 +++ .../CommentList/CommentListReactor.swift | 13 +++++++--- .../NormalCommentAddReactor.swift | 9 +++++-- .../NormalCommentEditReactor.swift | 10 ++++++-- .../OtherUserCommentReactor.swift | 3 ++- .../Scene/Detail/DetailReactor.swift | 25 ++++++++++++++----- .../Scene/Home/List/HomeListReactor.swift | 3 ++- .../Scene/Home/Main/HomeReactor.swift | 21 ++++++++++------ .../Scene/Map/MapView/MapViewController.swift | 3 ++- .../StoreListViewController.swift | 3 ++- .../Bookmark/Main/MyPageBookmarkReactor.swift | 3 ++- .../Scene/MyPage/Main/MyPageReactor.swift | 3 ++- .../MyComment/Main/MyCommentReactor.swift | 3 ++- .../MyPage/Recent/MyPageRecentReactor.swift | 3 ++- .../AfterSearch/SearchResultReactor.swift | 3 ++- .../Search/BeforeSearch/SearchReactor.swift | 3 ++- 16 files changed, 81 insertions(+), 30 deletions(-) diff --git a/Poppool/Poppool/Application/AppDelegate.swift b/Poppool/Poppool/Application/AppDelegate.swift index 3128fc07..04bcfb3a 100644 --- a/Poppool/Poppool/Application/AppDelegate.swift +++ b/Poppool/Poppool/Application/AppDelegate.swift @@ -40,17 +40,20 @@ extension AppDelegate { DIContainer.register(AdminRepository.self) { return AdminRepositoryImpl(provider: provider) } DIContainer.register(UserAPIRepository.self) { return UserAPIRepositoryImpl(provider: provider) } DIContainer.register(PopUpAPIRepository.self) { return PopUpAPIRepositoryImpl(provider: provider) } + DIContainer.register(CommentAPIRepository.self) { return CommentAPIRepositoryImpl(provider: provider) } // MARK: Resolve repository @Dependency var mapRepository: MapRepository @Dependency var adminRepository: AdminRepository @Dependency var userAPIRepository: UserAPIRepository @Dependency var popUpAPIRepository: PopUpAPIRepository + @Dependency var commentAPIRepository: CommentAPIRepository // MARK: Register UseCase DIContainer.register(MapUseCase.self) { return MapUseCaseImpl(repository: mapRepository) } DIContainer.register(AdminUseCase.self) { return AdminUseCaseImpl(repository: adminRepository) } DIContainer.register(UserAPIUseCase.self) { return UserAPIUseCaseImpl(repository: userAPIRepository) } DIContainer.register(PopUpAPIUseCase.self) { return PopUpAPIUseCaseImpl(repository: popUpAPIRepository) } + DIContainer.register(CommentAPIUseCase.self) { return CommentAPIUseCaseImpl(repository: commentAPIRepository) } } } diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentList/CommentListReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentList/CommentListReactor.swift index c98139f0..7bdd33c5 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentList/CommentListReactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentList/CommentListReactor.swift @@ -51,7 +51,7 @@ final class CommentListReactor: Reactor { private var imageService = PreSignedService() private let popUpAPIUseCase: PopUpAPIUseCase private let userAPIUseCase: UserAPIUseCase - private let commentAPIUseCase = CommentAPIUseCaseImpl(repository: CommentAPIRepositoryImpl(provider: ProviderImpl())) + private let commentAPIUseCase: CommentAPIUseCase lazy var compositionalLayout: UICollectionViewCompositionalLayout = { UICollectionViewCompositionalLayout { [weak self] section, env in @@ -77,13 +77,15 @@ final class CommentListReactor: Reactor { popUpID: Int64, popUpName: String?, userAPIUseCase: UserAPIUseCase, - popUpAPIUseCase: PopUpAPIUseCase + popUpAPIUseCase: PopUpAPIUseCase, + commentAPIUseCase: CommentAPIUseCase ) { self.initialState = State() self.popUpID = popUpID self.popUpName = popUpName self.userAPIUseCase = userAPIUseCase self.popUpAPIUseCase = popUpAPIUseCase + self.commentAPIUseCase = commentAPIUseCase } // MARK: - Reactor Methods @@ -311,7 +313,12 @@ final class CommentListReactor: Reactor { owner.dismiss(animated: true) { [weak controller] in guard let popUpName = self.popUpName else { return } let editController = NormalCommentEditController() - editController.reactor = NormalCommentEditReactor(popUpID: self.popUpID, popUpName: popUpName, comment: comment) + editController.reactor = NormalCommentEditReactor( + popUpID: self.popUpID, + popUpName: popUpName, + comment: comment, + commentAPIUseCase: self.commentAPIUseCase + ) controller?.navigationController?.pushViewController(editController, animated: true) } case .cancel: diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/NormalCommentAdd/NormalCommentAddReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/NormalCommentAdd/NormalCommentAddReactor.swift index 8e7d528b..8e00f247 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/NormalCommentAdd/NormalCommentAddReactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/NormalCommentAdd/NormalCommentAddReactor.swift @@ -47,7 +47,7 @@ final class NormalCommentAddReactor: Reactor { private var popUpID: Int64 private var popUpName: String - private let commentAPIUseCase = CommentAPIUseCaseImpl(repository: CommentAPIRepositoryImpl(provider: ProviderImpl())) + private let commentAPIUseCase: CommentAPIUseCase private let imageService = PreSignedService() lazy var compositionalLayout: UICollectionViewCompositionalLayout = { @@ -74,10 +74,15 @@ final class NormalCommentAddReactor: Reactor { private let spacing16Section = SpacingSection(inputDataList: [.init(spacing: 16)]) private let spacing32Section = SpacingSection(inputDataList: [.init(spacing: 32)]) // MARK: - init - init(popUpID: Int64, popUpName: String) { + init( + popUpID: Int64, + popUpName: String, + commentAPIUseCase: CommentAPIUseCase + ) { self.initialState = State() self.popUpID = popUpID self.popUpName = popUpName + self.commentAPIUseCase = commentAPIUseCase } // MARK: - Reactor Methods diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/NormalCommentEdit/NormalCommentEditReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/NormalCommentEdit/NormalCommentEditReactor.swift index 73d67b40..a13c4ca9 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/NormalCommentEdit/NormalCommentEditReactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/NormalCommentEdit/NormalCommentEditReactor.swift @@ -48,7 +48,7 @@ final class NormalCommentEditReactor: Reactor { private var popUpName: String private var originComment: DetailCommentSection.CellType.Input - private let commentAPIUseCase = CommentAPIUseCaseImpl(repository: CommentAPIRepositoryImpl(provider: ProviderImpl())) + private let commentAPIUseCase: CommentAPIUseCase private let imageService = PreSignedService() lazy var compositionalLayout: UICollectionViewCompositionalLayout = { @@ -76,11 +76,17 @@ final class NormalCommentEditReactor: Reactor { private let spacing32Section = SpacingSection(inputDataList: [.init(spacing: 32)]) // MARK: - init - init(popUpID: Int64, popUpName: String, comment: DetailCommentSection.CellType.Input) { + init( + popUpID: Int64, + popUpName: String, + comment: DetailCommentSection.CellType.Input, + commentAPIUseCase: CommentAPIUseCase + ) { self.initialState = State(text: comment.comment) self.popUpID = popUpID self.popUpName = popUpName self.originComment = comment + self.commentAPIUseCase = commentAPIUseCase let imageList = zip(comment.imageList, comment.imageIDList) imageSection.inputDataList.append(contentsOf: imageList.map({ url, id in .init(image: nil, isFirstCell: false, isEditCase: true, imageURL: url, imageID: id) diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/OtherUserComment/OtherUserCommentReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/OtherUserComment/OtherUserCommentReactor.swift index c18f26d4..ed2ebb51 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/OtherUserComment/OtherUserCommentReactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/OtherUserComment/OtherUserCommentReactor.swift @@ -110,7 +110,8 @@ final class OtherUserCommentReactor: Reactor { nextController.reactor = DetailReactor( popUpID: id, userAPIUseCase: userAPIUseCase, - popUpAPIUseCase: DIContainer.resolve(PopUpAPIUseCase.self) + popUpAPIUseCase: DIContainer.resolve(PopUpAPIUseCase.self), + commentAPIUseCase: DIContainer.resolve(CommentAPIUseCase.self) ) controller.navigationController?.pushViewController(nextController, animated: true) } diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/DetailReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/DetailReactor.swift index c127a559..7e938419 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/DetailReactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/DetailReactor.swift @@ -60,7 +60,7 @@ final class DetailReactor: Reactor { private var imageService = PreSignedService() private let popUpAPIUseCase: PopUpAPIUseCase private let userAPIUseCase: UserAPIUseCase - private let commentAPIUseCase = CommentAPIUseCaseImpl(repository: CommentAPIRepositoryImpl(provider: ProviderImpl())) + private let commentAPIUseCase: CommentAPIUseCase lazy var compositionalLayout: UICollectionViewCompositionalLayout = { UICollectionViewCompositionalLayout { [weak self] section, env in guard let self = self else { @@ -97,11 +97,13 @@ final class DetailReactor: Reactor { init( popUpID: Int64, userAPIUseCase: UserAPIUseCase, - popUpAPIUseCase: PopUpAPIUseCase + popUpAPIUseCase: PopUpAPIUseCase, + commentAPIUseCase: CommentAPIUseCase ) { self.popUpID = popUpID self.userAPIUseCase = userAPIUseCase self.popUpAPIUseCase = popUpAPIUseCase + self.commentAPIUseCase = commentAPIUseCase self.initialState = State() } @@ -151,7 +153,11 @@ final class DetailReactor: Reactor { case .moveToCommentTypeSelectedScene(let controller): if isLogin { let commentController = NormalCommentAddController() - commentController.reactor = NormalCommentAddReactor(popUpID: popUpID, popUpName: popUpName ?? "") + commentController.reactor = NormalCommentAddReactor( + popUpID: popUpID, + popUpName: popUpName ?? "", + commentAPIUseCase: commentAPIUseCase + ) controller.navigationController?.pushViewController(commentController, animated: true) } else { let loginController = SubLoginController() @@ -181,7 +187,8 @@ final class DetailReactor: Reactor { popUpID: popUpID, popUpName: popUpName, userAPIUseCase: userAPIUseCase, - popUpAPIUseCase: popUpAPIUseCase + popUpAPIUseCase: popUpAPIUseCase, + commentAPIUseCase: commentAPIUseCase ) controller.navigationController?.pushViewController(nextController, animated: true) } else { @@ -212,7 +219,8 @@ final class DetailReactor: Reactor { nextController.reactor = DetailReactor( popUpID: id, userAPIUseCase: userAPIUseCase, - popUpAPIUseCase: popUpAPIUseCase + popUpAPIUseCase: popUpAPIUseCase, + commentAPIUseCase: commentAPIUseCase ) controller.navigationController?.pushViewController(nextController, animated: true) case .moveToRecentScene(let controller): @@ -523,7 +531,12 @@ extension DetailReactor { owner.dismiss(animated: true) { [weak controller] in guard let popUpName = self.popUpName else { return } let editController = NormalCommentEditController() - editController.reactor = NormalCommentEditReactor(popUpID: self.popUpID, popUpName: popUpName, comment: comment) + editController.reactor = NormalCommentEditReactor( + popUpID: self.popUpID, + popUpName: popUpName, + comment: comment, + commentAPIUseCase: self.commentAPIUseCase + ) controller?.navigationController?.pushViewController(editController, animated: true) } case .cancel: diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/List/HomeListReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/List/HomeListReactor.swift index 52b0ee7f..54045b52 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/List/HomeListReactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/List/HomeListReactor.swift @@ -151,7 +151,8 @@ final class HomeListReactor: Reactor { nextController.reactor = DetailReactor( popUpID: cardSections.inputDataList[row].id, userAPIUseCase: userAPIUseCase, - popUpAPIUseCase: DIContainer.resolve(PopUpAPIUseCase.self) + popUpAPIUseCase: DIContainer.resolve(PopUpAPIUseCase.self), + commentAPIUseCase: DIContainer.resolve(CommentAPIUseCase.self) ) controller.navigationController?.pushViewController(nextController, animated: true) } diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/HomeReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/HomeReactor.swift index 4406df63..9897ffc0 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/HomeReactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/HomeReactor.swift @@ -276,7 +276,8 @@ final class HomeReactor: Reactor { controller.reactor = DetailReactor( popUpID: id, userAPIUseCase: userAPIUseCase, - popUpAPIUseCase: DIContainer.resolve(PopUpAPIUseCase.self) + popUpAPIUseCase: DIContainer.resolve(PopUpAPIUseCase.self), + commentAPIUseCase: DIContainer.resolve(CommentAPIUseCase.self) ) currentController.navigationController?.pushViewController(controller, animated: true) } @@ -293,7 +294,8 @@ final class HomeReactor: Reactor { controller.reactor = DetailReactor( popUpID: id, userAPIUseCase: userAPIUseCase, - popUpAPIUseCase: DIContainer.resolve(PopUpAPIUseCase.self) + popUpAPIUseCase: DIContainer.resolve(PopUpAPIUseCase.self), + commentAPIUseCase: DIContainer.resolve(CommentAPIUseCase.self) ) currentController.navigationController?.pushViewController(controller, animated: true) case 7: @@ -309,7 +311,8 @@ final class HomeReactor: Reactor { controller.reactor = DetailReactor( popUpID: id, userAPIUseCase: userAPIUseCase, - popUpAPIUseCase: DIContainer.resolve(PopUpAPIUseCase.self) + popUpAPIUseCase: DIContainer.resolve(PopUpAPIUseCase.self), + commentAPIUseCase: DIContainer.resolve(CommentAPIUseCase.self) ) currentController.navigationController?.pushViewController(controller, animated: true) case 12: @@ -325,7 +328,8 @@ final class HomeReactor: Reactor { controller.reactor = DetailReactor( popUpID: id, userAPIUseCase: userAPIUseCase, - popUpAPIUseCase: DIContainer.resolve(PopUpAPIUseCase.self) + popUpAPIUseCase: DIContainer.resolve(PopUpAPIUseCase.self), + commentAPIUseCase: DIContainer.resolve(CommentAPIUseCase.self) ) currentController.navigationController?.pushViewController(controller, animated: true) default: @@ -339,7 +343,8 @@ final class HomeReactor: Reactor { controller.reactor = DetailReactor( popUpID: id, userAPIUseCase: userAPIUseCase, - popUpAPIUseCase: DIContainer.resolve(PopUpAPIUseCase.self) + popUpAPIUseCase: DIContainer.resolve(PopUpAPIUseCase.self), + commentAPIUseCase: DIContainer.resolve(CommentAPIUseCase.self) ) currentController.navigationController?.pushViewController(controller, animated: true) } @@ -356,7 +361,8 @@ final class HomeReactor: Reactor { controller.reactor = DetailReactor( popUpID: id, userAPIUseCase: userAPIUseCase, - popUpAPIUseCase: DIContainer.resolve(PopUpAPIUseCase.self) + popUpAPIUseCase: DIContainer.resolve(PopUpAPIUseCase.self), + commentAPIUseCase: DIContainer.resolve(CommentAPIUseCase.self) ) currentController.navigationController?.pushViewController(controller, animated: true) case 7: @@ -372,7 +378,8 @@ final class HomeReactor: Reactor { controller.reactor = DetailReactor( popUpID: id, userAPIUseCase: userAPIUseCase, - popUpAPIUseCase: DIContainer.resolve(PopUpAPIUseCase.self) + popUpAPIUseCase: DIContainer.resolve(PopUpAPIUseCase.self), + commentAPIUseCase: DIContainer.resolve(CommentAPIUseCase.self) ) currentController.navigationController?.pushViewController(controller, animated: true) default: diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/MapView/MapViewController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/MapView/MapViewController.swift index 67c5b4bc..762ef97f 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/MapView/MapViewController.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/MapView/MapViewController.swift @@ -122,7 +122,8 @@ class MapViewController: BaseViewController, View, CLLocationManagerDelegate, NM detailController.reactor = DetailReactor( popUpID: Int64(store.id), userAPIUseCase: DIContainer.resolve(UserAPIUseCase.self), - popUpAPIUseCase: self?.popUpAPIUseCase ?? DIContainer.resolve(PopUpAPIUseCase.self) + popUpAPIUseCase: self?.popUpAPIUseCase ?? DIContainer.resolve(PopUpAPIUseCase.self), + commentAPIUseCase: DIContainer.resolve(CommentAPIUseCase.self) ) self?.navigationController?.isNavigationBarHidden = false diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/StoreListView/StoreListViewController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/StoreListView/StoreListViewController.swift index 8239c1a4..9ab19b90 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/StoreListView/StoreListViewController.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/StoreListView/StoreListViewController.swift @@ -119,7 +119,8 @@ final class StoreListViewController: UIViewController, View { detailController.reactor = DetailReactor( popUpID: Int64(store.id), userAPIUseCase: DIContainer.resolve(UserAPIUseCase.self), - popUpAPIUseCase: DIContainer.resolve(PopUpAPIUseCase.self) + popUpAPIUseCase: DIContainer.resolve(PopUpAPIUseCase.self), + commentAPIUseCase: DIContainer.resolve(CommentAPIUseCase.self) ) owner.navigationController?.isNavigationBarHidden = false diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Bookmark/Main/MyPageBookmarkReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Bookmark/Main/MyPageBookmarkReactor.swift index b3e0660d..23f39005 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Bookmark/Main/MyPageBookmarkReactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Bookmark/Main/MyPageBookmarkReactor.swift @@ -182,7 +182,8 @@ final class MyPageBookmarkReactor: Reactor { nextController.reactor = DetailReactor( popUpID: listSection.inputDataList[row].id, userAPIUseCase: userAPIUseCase, - popUpAPIUseCase: DIContainer.resolve(PopUpAPIUseCase.self) + popUpAPIUseCase: DIContainer.resolve(PopUpAPIUseCase.self), + commentAPIUseCase: DIContainer.resolve(CommentAPIUseCase.self) ) controller.navigationController?.pushViewController(nextController, animated: true) case .presentModal(let controller): diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/MyPageReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/MyPageReactor.swift index 274d1294..5edd3778 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/MyPageReactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/MyPageReactor.swift @@ -258,7 +258,8 @@ final class MyPageReactor: Reactor { nextController.reactor = DetailReactor( popUpID: popUpID, userAPIUseCase: userAPIUseCase, - popUpAPIUseCase: DIContainer.resolve(PopUpAPIUseCase.self) + popUpAPIUseCase: DIContainer.resolve(PopUpAPIUseCase.self), + commentAPIUseCase: DIContainer.resolve(CommentAPIUseCase.self) ) controller.navigationController?.pushViewController(nextController, animated: true) diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/MyComment/Main/MyCommentReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/MyComment/Main/MyCommentReactor.swift index bfb9275d..a41eb076 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/MyComment/Main/MyCommentReactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/MyComment/Main/MyCommentReactor.swift @@ -110,7 +110,8 @@ final class MyCommentReactor: Reactor { nextController.reactor = DetailReactor( popUpID: popUpID, userAPIUseCase: userAPIUseCase, - popUpAPIUseCase: DIContainer.resolve(PopUpAPIUseCase.self) + popUpAPIUseCase: DIContainer.resolve(PopUpAPIUseCase.self), + commentAPIUseCase: DIContainer.resolve(CommentAPIUseCase.self) ) controller.navigationController?.pushViewController(nextController, animated: true) case .moveToRecentScene(let controller): diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Recent/MyPageRecentReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Recent/MyPageRecentReactor.swift index 7a48683f..06318f0a 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Recent/MyPageRecentReactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Recent/MyPageRecentReactor.swift @@ -129,7 +129,8 @@ final class MyPageRecentReactor: Reactor { nextController.reactor = DetailReactor( popUpID: listSection.inputDataList[row].id, userAPIUseCase: userAPIUseCase, - popUpAPIUseCase: DIContainer.resolve(PopUpAPIUseCase.self) + popUpAPIUseCase: DIContainer.resolve(PopUpAPIUseCase.self), + commentAPIUseCase: DIContainer.resolve(CommentAPIUseCase.self) ) controller.navigationController?.pushViewController(nextController, animated: true) } diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/AfterSearch/SearchResultReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/AfterSearch/SearchResultReactor.swift index b05c1ddb..0122bc4d 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/AfterSearch/SearchResultReactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/AfterSearch/SearchResultReactor.swift @@ -131,7 +131,8 @@ final class SearchResultReactor: Reactor { nextController.reactor = DetailReactor( popUpID: searchListSection.inputDataList[indexPath.row].id, userAPIUseCase: userAPIUseCase, - popUpAPIUseCase: popUpAPIUseCase + popUpAPIUseCase: popUpAPIUseCase, + commentAPIUseCase: DIContainer.resolve(CommentAPIUseCase.self) ) controller.navigationController?.pushViewController(nextController, animated: true) } diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/BeforeSearch/SearchReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/BeforeSearch/SearchReactor.swift index 5027add3..960feda8 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/BeforeSearch/SearchReactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/BeforeSearch/SearchReactor.swift @@ -227,7 +227,8 @@ final class SearchReactor: Reactor { nextController.reactor = DetailReactor( popUpID: searchListSection.inputDataList[indexPath.row].id, userAPIUseCase: userAPIUseCase, - popUpAPIUseCase: popUpAPIUseCase + popUpAPIUseCase: popUpAPIUseCase, + commentAPIUseCase: DIContainer.resolve(CommentAPIUseCase.self) ) controller.navigationController?.pushViewController(nextController, animated: true) case .setSearchKeyWord(let text): From d13c2b24b0a76cc48c37e775f99aa55b0f9d02fb Mon Sep 17 00:00:00 2001 From: 0Hooni Date: Wed, 16 Apr 2025 23:41:51 +0900 Subject: [PATCH 25/83] =?UTF-8?q?refactor/#113:=20HomeAPIUseCase=20?= =?UTF-8?q?=EC=9D=98=EC=A1=B4=EC=84=B1=20=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Poppool/Poppool/Application/AppDelegate.swift | 3 +++ .../Scene/Home/List/HomeListReactor.swift | 6 +++-- .../Scene/Home/Main/HomeReactor.swift | 25 +++++++++++++------ .../Bookmark/Main/MyPageBookmarkReactor.swift | 3 ++- .../TabbarController/TabbarController.swift | 5 +++- 5 files changed, 30 insertions(+), 12 deletions(-) diff --git a/Poppool/Poppool/Application/AppDelegate.swift b/Poppool/Poppool/Application/AppDelegate.swift index 04bcfb3a..0eff7fb3 100644 --- a/Poppool/Poppool/Application/AppDelegate.swift +++ b/Poppool/Poppool/Application/AppDelegate.swift @@ -41,6 +41,7 @@ extension AppDelegate { DIContainer.register(UserAPIRepository.self) { return UserAPIRepositoryImpl(provider: provider) } DIContainer.register(PopUpAPIRepository.self) { return PopUpAPIRepositoryImpl(provider: provider) } DIContainer.register(CommentAPIRepository.self) { return CommentAPIRepositoryImpl(provider: provider) } + DIContainer.register(HomeAPIRepository.self) { return HomeAPIRepositoryImpl(provider: provider) } // MARK: Resolve repository @Dependency var mapRepository: MapRepository @@ -48,6 +49,7 @@ extension AppDelegate { @Dependency var userAPIRepository: UserAPIRepository @Dependency var popUpAPIRepository: PopUpAPIRepository @Dependency var commentAPIRepository: CommentAPIRepository + @Dependency var homeAPIRepository: HomeAPIRepository // MARK: Register UseCase DIContainer.register(MapUseCase.self) { return MapUseCaseImpl(repository: mapRepository) } @@ -55,5 +57,6 @@ extension AppDelegate { DIContainer.register(UserAPIUseCase.self) { return UserAPIUseCaseImpl(repository: userAPIRepository) } DIContainer.register(PopUpAPIUseCase.self) { return PopUpAPIUseCaseImpl(repository: popUpAPIRepository) } DIContainer.register(CommentAPIUseCase.self) { return CommentAPIUseCaseImpl(repository: commentAPIRepository) } + DIContainer.register(HomeAPIUseCase.self) { return HomeAPIUseCaseImpl(repository: homeAPIRepository) } } } diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/List/HomeListReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/List/HomeListReactor.swift index 54045b52..776ded93 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/List/HomeListReactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/List/HomeListReactor.swift @@ -43,7 +43,7 @@ final class HomeListReactor: Reactor { var disposeBag = DisposeBag() var popUpType: HomePopUpType - private let homeAPIUseCase = HomeAPIUseCaseImpl(repository: HomeAPIRepositoryImpl(provider: ProviderImpl())) + private let homeAPIUseCase: HomeAPIUseCase private let userDefaultService = UserDefaultService() private let userAPIUseCase: UserAPIUseCase @@ -72,11 +72,13 @@ final class HomeListReactor: Reactor { // MARK: - init init( popUpType: HomePopUpType, - userAPIUseCase: UserAPIUseCase + userAPIUseCase: UserAPIUseCase, + homeAPIUseCase: HomeAPIUseCase ) { self.initialState = State(popUpType: popUpType) self.popUpType = popUpType self.userAPIUseCase = userAPIUseCase + self.homeAPIUseCase = homeAPIUseCase } // MARK: - Reactor Methods diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/HomeReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/HomeReactor.swift index 9897ffc0..228abf0a 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/HomeReactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/HomeReactor.swift @@ -39,7 +39,7 @@ final class HomeReactor: Reactor { var disposeBag = DisposeBag() - private let homeApiUseCase = HomeAPIUseCaseImpl(repository: HomeAPIRepositoryImpl(provider: ProviderImpl())) + private let homeAPIUseCase: HomeAPIUseCase private let userAPIUseCase: UserAPIUseCase private let userDefaultService = UserDefaultService() @@ -84,8 +84,12 @@ final class HomeReactor: Reactor { private var spaceGray24Section = SpacingSection(inputDataList: [.init(spacing: 24, backgroundColor: .g700)]) // MARK: - init - init(userAPIUseCase: UserAPIUseCase) { + init( + userAPIUseCase: UserAPIUseCase, + homeAPIUseCase: HomeAPIUseCase + ) { self.userAPIUseCase = userAPIUseCase + self.homeAPIUseCase = homeAPIUseCase self.initialState = State() } @@ -95,7 +99,7 @@ final class HomeReactor: Reactor { case .changeIndicatorColor(let controller, let row): return Observable.just(.skip) case .viewWillAppear: - return homeApiUseCase.fetchHome(page: 0, size: 6, sort: "viewCount,desc") + return homeAPIUseCase.fetchHome(page: 0, size: 6, sort: "viewCount,desc") .withUnretained(self) .map { (owner, response) in owner.setBannerSection(response: response) @@ -285,7 +289,8 @@ final class HomeReactor: Reactor { let controller = HomeListController() controller.reactor = HomeListReactor( popUpType: .curation, - userAPIUseCase: userAPIUseCase + userAPIUseCase: userAPIUseCase, + homeAPIUseCase: homeAPIUseCase ) currentController.navigationController?.pushViewController(controller, animated: true) case 4: @@ -302,7 +307,8 @@ final class HomeReactor: Reactor { let controller = HomeListController() controller.reactor = HomeListReactor( popUpType: .popular, - userAPIUseCase: userAPIUseCase + userAPIUseCase: userAPIUseCase, + homeAPIUseCase: homeAPIUseCase ) currentController.navigationController?.pushViewController(controller, animated: true) case 9: @@ -319,7 +325,8 @@ final class HomeReactor: Reactor { let controller = HomeListController() controller.reactor = HomeListReactor( popUpType: .new, - userAPIUseCase: userAPIUseCase + userAPIUseCase: userAPIUseCase, + homeAPIUseCase: homeAPIUseCase ) currentController.navigationController?.pushViewController(controller, animated: true) case 14: @@ -352,7 +359,8 @@ final class HomeReactor: Reactor { let controller = HomeListController() controller.reactor = HomeListReactor( popUpType: .popular, - userAPIUseCase: userAPIUseCase + userAPIUseCase: userAPIUseCase, + homeAPIUseCase: homeAPIUseCase ) currentController.navigationController?.pushViewController(controller, animated: true) case 4: @@ -369,7 +377,8 @@ final class HomeReactor: Reactor { let controller = HomeListController() controller.reactor = HomeListReactor( popUpType: .new, - userAPIUseCase: userAPIUseCase + userAPIUseCase: userAPIUseCase, + homeAPIUseCase: homeAPIUseCase ) currentController.navigationController?.pushViewController(controller, animated: true) case 9: diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Bookmark/Main/MyPageBookmarkReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Bookmark/Main/MyPageBookmarkReactor.swift index 23f39005..084782dc 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Bookmark/Main/MyPageBookmarkReactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Bookmark/Main/MyPageBookmarkReactor.swift @@ -203,7 +203,8 @@ final class MyPageBookmarkReactor: Reactor { let nextController = HomeListController() nextController.reactor = HomeListReactor( popUpType: .curation, - userAPIUseCase: userAPIUseCase + userAPIUseCase: userAPIUseCase, + homeAPIUseCase: DIContainer.resolve(HomeAPIUseCase.self) ) controller.navigationController?.pushViewController(nextController, animated: true) } diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/TabbarController/TabbarController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/TabbarController/TabbarController.swift index 2c6f55eb..e3210dbf 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/TabbarController/TabbarController.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/TabbarController/TabbarController.swift @@ -201,7 +201,10 @@ class WaveTabBarController: UITabBarController, UITabBarControllerDelegate { mapController.reactor = MapReactor(mapUseCase: mapUseCase, directionRepository: directionRepository) let homeController = HomeController() - homeController.reactor = HomeReactor(userAPIUseCase: DIContainer.resolve(UserAPIUseCase.self)) + homeController.reactor = HomeReactor( + userAPIUseCase: DIContainer.resolve(UserAPIUseCase.self), + homeAPIUseCase: DIContainer.resolve(HomeAPIUseCase.self) + ) let myPageController = MyPageController() myPageController.reactor = MyPageReactor(userAPIUseCase: DIContainer.resolve(UserAPIUseCase.self)) From 955d84840e124a052c006db606063b557361f618 Mon Sep 17 00:00:00 2001 From: 0Hooni Date: Wed, 16 Apr 2025 23:50:04 +0900 Subject: [PATCH 26/83] =?UTF-8?q?refactor/#113:=20AuthAPIUseCase=20?= =?UTF-8?q?=EC=9D=98=EC=A1=B4=EC=84=B1=20=EC=A3=BC=EC=9E=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Poppool/Poppool/Application/AppDelegate.swift | 3 +++ .../Presentation/Scene/Detail/DetailReactor.swift | 12 +++++++++--- .../Scene/Login/Main/LoginReactor.swift | 11 +++++++---- .../Scene/Login/Sub/SubLoginReactor.swift | 11 +++++++---- .../Scene/MyPage/Main/MyPageReactor.swift | 4 +++- .../Scene/Splash/SplashController.swift | 14 +++++--------- 6 files changed, 34 insertions(+), 21 deletions(-) diff --git a/Poppool/Poppool/Application/AppDelegate.swift b/Poppool/Poppool/Application/AppDelegate.swift index 0eff7fb3..e3276914 100644 --- a/Poppool/Poppool/Application/AppDelegate.swift +++ b/Poppool/Poppool/Application/AppDelegate.swift @@ -42,6 +42,7 @@ extension AppDelegate { DIContainer.register(PopUpAPIRepository.self) { return PopUpAPIRepositoryImpl(provider: provider) } DIContainer.register(CommentAPIRepository.self) { return CommentAPIRepositoryImpl(provider: provider) } DIContainer.register(HomeAPIRepository.self) { return HomeAPIRepositoryImpl(provider: provider) } + DIContainer.register(AuthAPIRepository.self) { return AuthAPIRepositoryImpl(provider: provider) } // MARK: Resolve repository @Dependency var mapRepository: MapRepository @@ -50,6 +51,7 @@ extension AppDelegate { @Dependency var popUpAPIRepository: PopUpAPIRepository @Dependency var commentAPIRepository: CommentAPIRepository @Dependency var homeAPIRepository: HomeAPIRepository + @Dependency var authAPIRepository: AuthAPIRepository // MARK: Register UseCase DIContainer.register(MapUseCase.self) { return MapUseCaseImpl(repository: mapRepository) } @@ -58,5 +60,6 @@ extension AppDelegate { DIContainer.register(PopUpAPIUseCase.self) { return PopUpAPIUseCaseImpl(repository: popUpAPIRepository) } DIContainer.register(CommentAPIUseCase.self) { return CommentAPIUseCaseImpl(repository: commentAPIRepository) } DIContainer.register(HomeAPIUseCase.self) { return HomeAPIUseCaseImpl(repository: homeAPIRepository) } + DIContainer.register(AuthAPIUseCase.self) { return AuthAPIUseCaseImpl(repository: authAPIRepository) } } } diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/DetailReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/DetailReactor.swift index 7e938419..edbe9b36 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/DetailReactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/DetailReactor.swift @@ -161,7 +161,9 @@ final class DetailReactor: Reactor { controller.navigationController?.pushViewController(commentController, animated: true) } else { let loginController = SubLoginController() - loginController.reactor = SubLoginReactor() + loginController.reactor = SubLoginReactor( + authAPIUseCase: DIContainer.resolve(AuthAPIUseCase.self) + ) let nextController = UINavigationController(rootViewController: loginController) nextController.modalPresentationStyle = .fullScreen controller.present(nextController, animated: true) @@ -193,7 +195,9 @@ final class DetailReactor: Reactor { controller.navigationController?.pushViewController(nextController, animated: true) } else { let loginController = SubLoginController() - loginController.reactor = SubLoginReactor() + loginController.reactor = SubLoginReactor( + authAPIUseCase: DIContainer.resolve(AuthAPIUseCase.self) + ) let nextController = UINavigationController(rootViewController: loginController) nextController.modalPresentationStyle = .fullScreen controller.present(nextController, animated: true) @@ -227,7 +231,9 @@ final class DetailReactor: Reactor { controller.navigationController?.popViewController(animated: true) case .moveToLoginScene(let controller): let loginController = SubLoginController() - loginController.reactor = SubLoginReactor() + loginController.reactor = SubLoginReactor( + authAPIUseCase: DIContainer.resolve(AuthAPIUseCase.self) + ) let nextController = UINavigationController(rootViewController: loginController) nextController.modalPresentationStyle = .fullScreen controller.present(nextController, animated: true) diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Login/Main/LoginReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Login/Main/LoginReactor.swift index d7963143..f972d93f 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Login/Main/LoginReactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Login/Main/LoginReactor.swift @@ -40,12 +40,15 @@ final class LoginReactor: Reactor { private let kakaoLoginService = KakaoLoginService() private var appleLoginService = AppleLoginService() - private let authApiUseCase = AuthAPIUseCaseImpl(repository: AuthAPIRepositoryImpl(provider: ProviderImpl())) + private let authAPIUseCase: AuthAPIUseCase @Dependency private var keyChainService: KeyChainService let userDefaultService = UserDefaultService() // MARK: - init - init() { + init( + authAPIUseCase: AuthAPIUseCase + ) { + self.authAPIUseCase = authAPIUseCase self.initialState = State() } @@ -93,7 +96,7 @@ final class LoginReactor: Reactor { return kakaoLoginService.fetchUserCredential() .withUnretained(self) .flatMap { owner, response in - return owner.authApiUseCase.postTryLogin(userCredential: response, socialType: "kakao") + return owner.authAPIUseCase.postTryLogin(userCredential: response, socialType: "kakao") } .withUnretained(self) .map { [weak controller] (owner, loginResponse) in @@ -121,7 +124,7 @@ final class LoginReactor: Reactor { .withUnretained(self) .flatMap { owner, response in owner.authrizationCode = response.authorizationCode - return owner.authApiUseCase.postTryLogin(userCredential: response, socialType: "apple") + return owner.authAPIUseCase.postTryLogin(userCredential: response, socialType: "apple") } .withUnretained(self) .map { [weak controller] (owner, loginResponse) in diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Login/Sub/SubLoginReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Login/Sub/SubLoginReactor.swift index b51ec276..ca603d43 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Login/Sub/SubLoginReactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Login/Sub/SubLoginReactor.swift @@ -40,12 +40,15 @@ final class SubLoginReactor: Reactor { private let kakaoLoginService = KakaoLoginService() private var appleLoginService = AppleLoginService() - private let authApiUseCase = AuthAPIUseCaseImpl(repository: AuthAPIRepositoryImpl(provider: ProviderImpl())) + private let authAPIUseCase: AuthAPIUseCase @Dependency private var keyChainService: KeyChainService let userDefaultService = UserDefaultService() // MARK: - init - init() { + init( + authAPIUseCase: AuthAPIUseCase + ) { + self.authAPIUseCase = authAPIUseCase self.initialState = State() } @@ -90,7 +93,7 @@ final class SubLoginReactor: Reactor { return kakaoLoginService.fetchUserCredential() .withUnretained(self) .flatMap { owner, response in - owner.authApiUseCase.postTryLogin(userCredential: response, socialType: "kakao") + owner.authAPIUseCase.postTryLogin(userCredential: response, socialType: "kakao") } .withUnretained(self) .map { [weak controller] (owner, loginResponse) in @@ -118,7 +121,7 @@ final class SubLoginReactor: Reactor { .withUnretained(self) .flatMap { owner, response in owner.authrizationCode = response.authorizationCode - return owner.authApiUseCase.postTryLogin(userCredential: response, socialType: "apple") + return owner.authAPIUseCase.postTryLogin(userCredential: response, socialType: "apple") } .withUnretained(self) .map { [weak controller] (owner, loginResponse) in diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/MyPageReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/MyPageReactor.swift index 5edd3778..92d62266 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/MyPageReactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/MyPageReactor.swift @@ -265,7 +265,9 @@ final class MyPageReactor: Reactor { case .moveToLoginScene(let controller): let nextController = SubLoginController() - nextController.reactor = SubLoginReactor() + nextController.reactor = SubLoginReactor( + authAPIUseCase: DIContainer.resolve(AuthAPIUseCase.self) + ) let navigationController = UINavigationController(rootViewController: nextController) navigationController.modalPresentationStyle = .fullScreen controller.present(navigationController, animated: true) diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Splash/SplashController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Splash/SplashController.swift index 24ac8954..80cc2877 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Splash/SplashController.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Splash/SplashController.swift @@ -1,10 +1,3 @@ -// -// SplashController.swift -// Poppool -// -// Created by Porori on 11/26/24. -// - import UIKit import ReactorKit @@ -18,7 +11,8 @@ final class SplashController: BaseViewController { var disposeBag = DisposeBag() private var mainView = SplashView() - private let authAPIUseCase = AuthAPIUseCaseImpl(repository: AuthAPIRepositoryImpl(provider: ProviderImpl())) + // //FIXME: Reactor 태워서 UseCase 처리하도록 수정 + @Dependency private var authAPIUseCase: AuthAPIUseCase @Dependency private var keyChainService: KeyChainService private var rootViewController: UIViewController? @@ -65,7 +59,9 @@ private extension SplashController { }, onError: { [weak self] _ in guard let self = self else { return } let loginViewController = LoginController() - loginViewController.reactor = LoginReactor() + loginViewController.reactor = LoginReactor( + authAPIUseCase: authAPIUseCase + ) let loginNavigationController = UINavigationController(rootViewController: loginViewController) rootViewController = loginNavigationController }) From 514cad7fe92296dc2fffeda0d975173d2feb3469 Mon Sep 17 00:00:00 2001 From: 0Hooni Date: Wed, 16 Apr 2025 23:57:20 +0900 Subject: [PATCH 27/83] =?UTF-8?q?refactor/#113:=20PopUpAPIUseCase=20?= =?UTF-8?q?=EC=9D=98=EC=A1=B4=EC=84=B1=20=EC=A3=BC=EC=9E=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Scene/Map/MapView/MapViewController.swift | 18 +++++++++++------- .../Map/StoreListView/StoreListReactor.swift | 7 ++++--- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/MapView/MapViewController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/MapView/MapViewController.swift index 762ef97f..e6d07180 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/MapView/MapViewController.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/MapView/MapViewController.swift @@ -32,10 +32,7 @@ class MapViewController: BaseViewController, View, CLLocationManagerDelegate, NM private var markerDictionary: [Int64: NMFMarker] = [:] private var individualMarkerDictionary: [Int64: NMFMarker] = [:] private var clusterMarkerDictionary: [String: NMFMarker] = [:] - // FIXME: Reactor 이용해서 처리하도록 수정 - private let popUpAPIUseCase = PopUpAPIUseCaseImpl( - repository: PopUpAPIRepositoryImpl(provider: ProviderImpl()) - ) + @Dependency private var popUpAPIUseCase: PopUpAPIUseCase private let clusteringManager = ClusteringManager() var currentStores: [MapPopUpStore] = [] var disposeBag = DisposeBag() @@ -43,9 +40,15 @@ class MapViewController: BaseViewController, View, CLLocationManagerDelegate, NM let carouselView = MapPopupCarouselView() private let locationManager = CLLocationManager() var currentMarker: NMFMarker? - private let storeListReactor = StoreListReactor(userAPIUseCase: DIContainer.resolve(UserAPIUseCase.self)) + private let storeListReactor = StoreListReactor( + userAPIUseCase: DIContainer.resolve(UserAPIUseCase.self), + popUpAPIUseCase: DIContainer.resolve(PopUpAPIUseCase.self) + ) private let storeListViewController = StoreListViewController( - reactor: StoreListReactor(userAPIUseCase: DIContainer.resolve(UserAPIUseCase.self)) + reactor: StoreListReactor( + userAPIUseCase: DIContainer.resolve(UserAPIUseCase.self), + popUpAPIUseCase: DIContainer.resolve(PopUpAPIUseCase.self) + ) ) private var listViewTopConstraint: Constraint? private var currentFilterBottomSheet: FilterBottomSheetViewController? @@ -1235,7 +1238,8 @@ class MapViewController: BaseViewController, View, CLLocationManagerDelegate, NM stores.forEach { store in self.popUpAPIUseCase.getPopUpDetail( commentType: "NORMAL", - popUpStoredId: store.id + popUpStoredId: store.id, + isViewCount: true ) .asObservable() .observe(on: MainScheduler.instance) diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/StoreListView/StoreListReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/StoreListView/StoreListReactor.swift index dba652c8..5204520c 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/StoreListView/StoreListReactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/StoreListView/StoreListReactor.swift @@ -6,7 +6,7 @@ import RxSwift final class StoreListReactor: Reactor { // MARK: - Reactor private let userAPIUseCase: UserAPIUseCase - private let popUpAPIUseCase: PopUpAPIUseCaseImpl + private let popUpAPIUseCase: PopUpAPIUseCase private let bookmarkStateRelay = PublishRelay<(Int64, Bool)>() // private var currentPage = 0 @@ -49,7 +49,7 @@ final class StoreListReactor: Reactor { init( userAPIUseCase: UserAPIUseCase, - popUpAPIUseCase: PopUpAPIUseCaseImpl = PopUpAPIUseCaseImpl(repository: PopUpAPIRepositoryImpl(provider: ProviderImpl())) + popUpAPIUseCase: PopUpAPIUseCase ) { self.userAPIUseCase = userAPIUseCase self.popUpAPIUseCase = popUpAPIUseCase @@ -82,7 +82,8 @@ final class StoreListReactor: Reactor { return popUpAPIUseCase.getPopUpDetail( commentType: "NORMAL", - popUpStoredId: Int64(idInt32) // Int32 → Int64 변환 + popUpStoredId: Int64(idInt32), // Int32 → Int64 변환 + isViewCount: true ) .flatMap { detail -> Observable in if detail.bookmarkYn != store.isBookmarked { From 588b5feec602230787c50531532e14dfa277c3a7 Mon Sep 17 00:00:00 2001 From: 0Hooni Date: Thu, 17 Apr 2025 00:06:19 +0900 Subject: [PATCH 28/83] =?UTF-8?q?refactor/#113:=20SignUpAPIUseCase=20?= =?UTF-8?q?=EC=9D=98=EC=A1=B4=EC=84=B1=20=EC=A3=BC=EC=9E=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Poppool/Poppool/Application/AppDelegate.swift | 3 +++ .../Presentation/Scene/Login/Main/LoginReactor.swift | 6 +++++- .../Scene/Login/Sub/SubLoginReactor.swift | 6 +++++- .../Scene/MyPage/Main/MyPageReactor.swift | 5 ++++- .../CategoryEditModal/CategoryEditModalReactor.swift | 6 ++++-- .../MyPage/ProfileEdit/Main/ProfileEditReactor.swift | 11 ++++++++--- .../Scene/Search/BeforeSearch/SearchReactor.swift | 5 ++++- .../CategoryController/SearchCategoryReactor.swift | 8 ++++++-- .../Scene/SignUp/Main/SignUpMainController.swift | 8 ++++++-- .../Scene/SignUp/Main/SignUpMainReactor.swift | 11 +++++++---- .../Scene/SignUp/Step2/SignUpStep2Reactor.swift | 7 +++++-- .../Scene/SignUp/Step3/SignUpStep3Reactor.swift | 7 +++++-- 12 files changed, 62 insertions(+), 21 deletions(-) diff --git a/Poppool/Poppool/Application/AppDelegate.swift b/Poppool/Poppool/Application/AppDelegate.swift index e3276914..71d4ab96 100644 --- a/Poppool/Poppool/Application/AppDelegate.swift +++ b/Poppool/Poppool/Application/AppDelegate.swift @@ -43,6 +43,7 @@ extension AppDelegate { DIContainer.register(CommentAPIRepository.self) { return CommentAPIRepositoryImpl(provider: provider) } DIContainer.register(HomeAPIRepository.self) { return HomeAPIRepositoryImpl(provider: provider) } DIContainer.register(AuthAPIRepository.self) { return AuthAPIRepositoryImpl(provider: provider) } + DIContainer.register(SignUpRepository.self) { return SignUpRepositoryImpl(provider: provider) } // MARK: Resolve repository @Dependency var mapRepository: MapRepository @@ -52,6 +53,7 @@ extension AppDelegate { @Dependency var commentAPIRepository: CommentAPIRepository @Dependency var homeAPIRepository: HomeAPIRepository @Dependency var authAPIRepository: AuthAPIRepository + @Dependency var signUpRepository: SignUpRepository // MARK: Register UseCase DIContainer.register(MapUseCase.self) { return MapUseCaseImpl(repository: mapRepository) } @@ -61,5 +63,6 @@ extension AppDelegate { DIContainer.register(CommentAPIUseCase.self) { return CommentAPIUseCaseImpl(repository: commentAPIRepository) } DIContainer.register(HomeAPIUseCase.self) { return HomeAPIUseCaseImpl(repository: homeAPIRepository) } DIContainer.register(AuthAPIUseCase.self) { return AuthAPIUseCaseImpl(repository: authAPIRepository) } + DIContainer.register(SignUpAPIUseCase.self) { return SignUpAPIUseCaseImpl(repository: signUpRepository) } } } diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Login/Main/LoginReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Login/Main/LoginReactor.swift index f972d93f..6065f763 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Login/Main/LoginReactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Login/Main/LoginReactor.swift @@ -74,7 +74,11 @@ final class LoginReactor: Reactor { switch mutation { case .moveToSignUpScene(let controller): let signUpController = SignUpMainController() - signUpController.reactor = SignUpMainReactor(isFirstResponderCase: true, authrizationCode: authrizationCode) + signUpController.reactor = SignUpMainReactor( + isFirstResponderCase: true, + authrizationCode: authrizationCode, + signUpAPIUseCase: DIContainer.resolve(SignUpAPIUseCase.self) + ) controller.navigationController?.pushViewController(signUpController, animated: true) case .moveToHomeScene(let controller): let homeTabbar = WaveTabBarController() diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Login/Sub/SubLoginReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Login/Sub/SubLoginReactor.swift index ca603d43..71711306 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Login/Sub/SubLoginReactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Login/Sub/SubLoginReactor.swift @@ -72,7 +72,11 @@ final class SubLoginReactor: Reactor { switch mutation { case .moveToSignUpScene(let controller): let signUpController = SignUpMainController() - signUpController.reactor = SignUpMainReactor(isFirstResponderCase: false, authrizationCode: authrizationCode) + signUpController.reactor = SignUpMainReactor( + isFirstResponderCase: false, + authrizationCode: authrizationCode, + signUpAPIUseCase: DIContainer.resolve(SignUpAPIUseCase.self) + ) controller.navigationController?.pushViewController(signUpController, animated: true) case .dismissScene(let controller): controller.dismiss(animated: true) diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/MyPageReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/MyPageReactor.swift index 92d62266..1b32e806 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/MyPageReactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/MyPageReactor.swift @@ -181,7 +181,10 @@ final class MyPageReactor: Reactor { case .moveToProfileEditScene(let controller): let nextController = ProfileEditController() - nextController.reactor = ProfileEditReactor(userAPIUseCase: userAPIUseCase) + nextController.reactor = ProfileEditReactor( + userAPIUseCase: userAPIUseCase, + signUpAPIUseCase: DIContainer.resolve(SignUpAPIUseCase.self) + ) controller.navigationController?.pushViewController(nextController, animated: true) case .logout: diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/ProfileEdit/CategoryEditModal/CategoryEditModalReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/ProfileEdit/CategoryEditModal/CategoryEditModalReactor.swift index 518e80bf..5e1efdcb 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/ProfileEdit/CategoryEditModal/CategoryEditModalReactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/ProfileEdit/CategoryEditModal/CategoryEditModalReactor.swift @@ -52,17 +52,19 @@ final class CategoryEditModalReactor: Reactor { } }() - private var signUpUseCase = SignUpAPIUseCaseImpl(repository: SignUpRepositoryImpl(provider: ProviderImpl())) + private var signUpUseCase: SignUpAPIUseCase private var userAPIUseCase: UserAPIUseCase private var tagSection = TagSection(inputDataList: []) // MARK: - init init( selectedID: [Int64], - userAPIUseCase: UserAPIUseCase + userAPIUseCase: UserAPIUseCase, + signUpAPIUseCase: SignUpAPIUseCase ) { self.originSelectedID = selectedID self.userAPIUseCase = userAPIUseCase + self.signUpUseCase = signUpAPIUseCase self.initialState = State(originSelectedID: selectedID) } diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/ProfileEdit/Main/ProfileEditReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/ProfileEdit/Main/ProfileEditReactor.swift index 9aa9f5e3..00b17647 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/ProfileEdit/Main/ProfileEditReactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/ProfileEdit/Main/ProfileEditReactor.swift @@ -65,12 +65,16 @@ final class ProfileEditReactor: Reactor { var introIsActive: Bool = false private let userAPIUseCase: UserAPIUseCase - private let signUpAPIUseCase = SignUpAPIUseCaseImpl(repository: SignUpRepositoryImpl(provider: ProviderImpl())) + private let signUpAPIUseCase: SignUpAPIUseCase private let imageService = PreSignedService() // MARK: - init - init(userAPIUseCase: UserAPIUseCase) { + init( + userAPIUseCase: UserAPIUseCase, + signUpAPIUseCase: SignUpAPIUseCase + ) { self.userAPIUseCase = userAPIUseCase + self.signUpAPIUseCase = signUpAPIUseCase self.initialState = State() } @@ -136,7 +140,8 @@ final class ProfileEditReactor: Reactor { let nextController = CategoryEditModalController() nextController.reactor = CategoryEditModalReactor( selectedID: newState.originProfileData?.interestCategoryList.map { $0.categoryId } ?? [], - userAPIUseCase: userAPIUseCase + userAPIUseCase: userAPIUseCase, + signUpAPIUseCase: signUpAPIUseCase ) controller.presentPanModal(nextController) case .moveToInfoEditScene(let controller): diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/BeforeSearch/SearchReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/BeforeSearch/SearchReactor.swift index 960feda8..9e90a637 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/BeforeSearch/SearchReactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/BeforeSearch/SearchReactor.swift @@ -193,7 +193,10 @@ final class SearchReactor: Reactor { case .moveToCategoryScene(let controller): let categoryIDList = searchCategorySection.inputDataList.compactMap { $0.id } let nextController = SearchCategoryController() - nextController.reactor = SearchCategoryReactor(originCategoryList: categoryIDList) + nextController.reactor = SearchCategoryReactor( + originCategoryList: categoryIDList, + signUpAPIUseCase: DIContainer.resolve(SignUpAPIUseCase.self) + ) controller.presentPanModal(nextController) nextController.reactor?.state .withUnretained(self) diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/CategoryController/SearchCategoryReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/CategoryController/SearchCategoryReactor.swift index 383d676f..66554ab7 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/CategoryController/SearchCategoryReactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/CategoryController/SearchCategoryReactor.swift @@ -43,7 +43,7 @@ final class SearchCategoryReactor: Reactor { var initialState: State var disposeBag = DisposeBag() var originCategoryList: [Int64] - private let signUpAPIUseCase = SignUpAPIUseCaseImpl(repository: SignUpRepositoryImpl(provider: ProviderImpl())) + private let signUpAPIUseCase: SignUpAPIUseCase private var tagSection = TagSection(inputDataList: []) lazy var compositionalLayout: UICollectionViewCompositionalLayout = { UICollectionViewCompositionalLayout { [weak self] section, env in @@ -60,9 +60,13 @@ final class SearchCategoryReactor: Reactor { }() // MARK: - init - init(originCategoryList: [Int64]) { + init( + originCategoryList: [Int64], + signUpAPIUseCase: SignUpAPIUseCase + ) { self.initialState = State() self.originCategoryList = originCategoryList + self.signUpAPIUseCase = signUpAPIUseCase } // MARK: - Reactor Methods diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Main/SignUpMainController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Main/SignUpMainController.swift index 6fd26f5c..9e31c30e 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Main/SignUpMainController.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Main/SignUpMainController.swift @@ -31,13 +31,17 @@ final class SignUpMainController: BaseTabmanController, View { var step2Controller: SignUpStep2Controller = { let controller = SignUpStep2Controller() - controller.reactor = SignUpStep2Reactor() + controller.reactor = SignUpStep2Reactor( + signUpAPIUseCase: DIContainer.resolve(SignUpAPIUseCase.self) + ) return controller }() var step3Controller: SignUpStep3Controller = { let controller = SignUpStep3Controller() - controller.reactor = SignUpStep3Reactor() + controller.reactor = SignUpStep3Reactor( + signUpAPIUseCase: DIContainer.resolve(SignUpAPIUseCase.self) + ) return controller }() diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Main/SignUpMainReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Main/SignUpMainReactor.swift index 363a7ec0..c98f891e 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Main/SignUpMainReactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Main/SignUpMainReactor.swift @@ -60,15 +60,20 @@ final class SignUpMainReactor: Reactor { private var authrizationCode: String? - private var signUpAPIUseCase = SignUpAPIUseCaseImpl(repository: SignUpRepositoryImpl(provider: ProviderImpl())) + private var signUpAPIUseCase: SignUpAPIUseCase private let userDefaultService = UserDefaultService() var isFirstResponderCase: Bool // MARK: - init - init(isFirstResponderCase: Bool, authrizationCode: String?) { + init( + isFirstResponderCase: Bool, + authrizationCode: String?, + signUpAPIUseCase: SignUpAPIUseCase + ) { self.initialState = State() self.authrizationCode = authrizationCode self.isFirstResponderCase = isFirstResponderCase + self.signUpAPIUseCase = signUpAPIUseCase } // MARK: - Reactor Methods @@ -122,8 +127,6 @@ final class SignUpMainReactor: Reactor { let nickName = newState.nickName, let gender = newState.gender else { return newState } - signUpAPIUseCase = SignUpAPIUseCaseImpl(repository: SignUpRepositoryImpl(provider: ProviderImpl())) - signUpAPIUseCase.trySignUp( nickName: nickName, gender: gender, diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step2/SignUpStep2Reactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step2/SignUpStep2Reactor.swift index 9604a80d..24f21cfb 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step2/SignUpStep2Reactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step2/SignUpStep2Reactor.swift @@ -39,11 +39,14 @@ final class SignUpStep2Reactor: Reactor { var initialState: State var disposeBag = DisposeBag() - private let signUpAPIUseCase = SignUpAPIUseCaseImpl(repository: SignUpRepositoryImpl(provider: ProviderImpl())) + private let signUpAPIUseCase: SignUpAPIUseCase private var nickName: String? // MARK: - init - init() { + init( + signUpAPIUseCase: SignUpAPIUseCase + ) { + self.signUpAPIUseCase = signUpAPIUseCase self.initialState = State() } diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step3/SignUpStep3Reactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step3/SignUpStep3Reactor.swift index 30fbc30b..142a0124 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step3/SignUpStep3Reactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step3/SignUpStep3Reactor.swift @@ -34,7 +34,7 @@ final class SignUpStep3Reactor: Reactor { var initialState: State var disposeBag = DisposeBag() - private let signUpAPIUseCase = SignUpAPIUseCaseImpl(repository: SignUpRepositoryImpl(provider: ProviderImpl())) + private let signUpAPIUseCase: SignUpAPIUseCase private var cetegoryIDList: [Int64] = [] lazy var compositionalLayout: UICollectionViewCompositionalLayout = { @@ -54,7 +54,10 @@ final class SignUpStep3Reactor: Reactor { private var categorySection: TagSection = TagSection(inputDataList: []) // MARK: - init - init() { + init( + signUpAPIUseCase: SignUpAPIUseCase + ) { + self.signUpAPIUseCase = signUpAPIUseCase self.initialState = State() } From 5a75bcfee913bea7439f064e3647ae40f3fc0529 Mon Sep 17 00:00:00 2001 From: 0Hooni Date: Thu, 17 Apr 2025 00:15:19 +0900 Subject: [PATCH 29/83] =?UTF-8?q?refactor/#113:=20MapDirectionRepository?= =?UTF-8?q?=20=EC=9D=98=EC=A1=B4=EC=84=B1=20=EC=A3=BC=EC=9E=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - repository의 메서드를 바로 끌어다쓰는 경우로 보임 - 제거되어야 되는 부분 - 반드시 UseCase를 태우도록 변경 필요 --- .../Presentation/Scene/Detail/DetailReactor.swift | 5 ++++- .../Scene/Map/FindMap/MapGuideView/MapGuideReactor.swift | 8 ++++---- .../Map/FindMap/MapGuideView/MapGuideViewController.swift | 4 +--- .../Presentation/Scene/Map/MapView/MapReactor.swift | 8 ++++---- .../Scene/TabbarController/TabbarController.swift | 7 +++++-- 5 files changed, 18 insertions(+), 14 deletions(-) diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/DetailReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/DetailReactor.swift index edbe9b36..181667ed 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/DetailReactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/DetailReactor.swift @@ -175,7 +175,10 @@ final class DetailReactor: Reactor { ToastMaker.createToast(message: "주소를 복사했어요") case .moveToAddressScene(let controller): let mapGuideController = MapGuideViewController(popUpStoreId: popUpID) - let reactor = MapGuideReactor(popUpStoreId: popUpID) + let reactor = MapGuideReactor( + popUpStoreId: popUpID, + mapDirectionRepository: DIContainer.resolve(MapDirectionRepository.self) + ) mapGuideController.reactor = reactor mapGuideController.modalPresentationStyle = .overCurrentContext diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/FindMap/MapGuideView/MapGuideReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/FindMap/MapGuideView/MapGuideReactor.swift index 551a396c..085787de 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/FindMap/MapGuideView/MapGuideReactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/FindMap/MapGuideView/MapGuideReactor.swift @@ -42,15 +42,15 @@ final class MapGuideReactor: Reactor { let initialState: State private let popUpStoreId: Int64 - private let directionRepository: MapDirectionRepository + private let mapDirectionRepository: MapDirectionRepository // MARK: - Init init( popUpStoreId: Int64, - repository: MapDirectionRepository = MapDirectionRepositoryImpl(provider: ProviderImpl()) + mapDirectionRepository: MapDirectionRepository ) { self.popUpStoreId = popUpStoreId - self.directionRepository = repository + self.mapDirectionRepository = mapDirectionRepository self.initialState = State() } @@ -70,7 +70,7 @@ final class MapGuideReactor: Reactor { return Observable.just(.navigateBack) case .viewDidLoad(let id): - return directionRepository.getPopUpDirection(popUpStoreId: id) + return mapDirectionRepository.getPopUpDirection(popUpStoreId: id) .map { response -> [Mutation] in return [ .setMap(CLLocationCoordinate2D(latitude: response.latitude, longitude: response.longitude)), diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/FindMap/MapGuideView/MapGuideViewController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/FindMap/MapGuideView/MapGuideViewController.swift index 9e86e795..7c247580 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/FindMap/MapGuideView/MapGuideViewController.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/FindMap/MapGuideView/MapGuideViewController.swift @@ -174,11 +174,9 @@ final class MapGuideViewController: UIViewController, View { let providerInstance = ProviderImpl() @Dependency var mapUseCase: MapUseCase - // FIXME: Respository를 UseCase를 태우도록 변경 필요!! - let directionRepositoryInstance = MapDirectionRepositoryImpl(provider: providerInstance) let mapReactorInstance = MapReactor( mapUseCase: mapUseCase, - directionRepository: directionRepositoryInstance + mapDirectionRepository: DIContainer.resolve(MapDirectionRepository.self) ) if let selectedStore = strongSelf.currentCarouselStoreList.first { diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/MapView/MapReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/MapView/MapReactor.swift index f1b599ac..d5d5d9b8 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/MapView/MapReactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/MapView/MapReactor.swift @@ -65,11 +65,11 @@ final class MapReactor: Reactor { let initialState: State private let mapUseCase: MapUseCase - private let directionRepository: MapDirectionRepository + private let mapDirectionRepository: MapDirectionRepository - init(mapUseCase: MapUseCase, directionRepository: MapDirectionRepository) { + init(mapUseCase: MapUseCase, mapDirectionRepository: MapDirectionRepository) { self.mapUseCase = mapUseCase - self.directionRepository = directionRepository + self.mapDirectionRepository = mapDirectionRepository self.initialState = State() } private func store(_ store: MapPopUpStore, matches filter: String) -> Bool { @@ -215,7 +215,7 @@ final class MapReactor: Reactor { } case .viewDidLoad(let id): - return directionRepository.getPopUpDirection(popUpStoreId: id) + return mapDirectionRepository.getPopUpDirection(popUpStoreId: id) .do( onNext: { _ in }, diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/TabbarController/TabbarController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/TabbarController/TabbarController.swift index e3210dbf..00e8ab50 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/TabbarController/TabbarController.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/TabbarController/TabbarController.swift @@ -197,8 +197,11 @@ class WaveTabBarController: UITabBarController, UITabBarControllerDelegate { let mapController = MapViewController() @Dependency var mapUseCase: MapUseCase - let directionRepository = MapDirectionRepositoryImpl(provider: provider) - mapController.reactor = MapReactor(mapUseCase: mapUseCase, directionRepository: directionRepository) + @Dependency var mapDirectionRepository: MapDirectionRepository + mapController.reactor = MapReactor( + mapUseCase: mapUseCase, + mapDirectionRepository: mapDirectionRepository + ) let homeController = HomeController() homeController.reactor = HomeReactor( From 235a2272800c00fb72e3541dfd5f09f14a1d9bd6 Mon Sep 17 00:00:00 2001 From: 0Hooni Date: Thu, 17 Apr 2025 00:35:58 +0900 Subject: [PATCH 30/83] =?UTF-8?q?remove/#113:=20=EB=B6=88=ED=95=84?= =?UTF-8?q?=EC=9A=94=ED=95=9C=20=EC=9D=98=EC=A1=B4=EC=84=B1=20=EC=9D=B8?= =?UTF-8?q?=EC=8A=A4=ED=84=B4=EC=8A=A4=20=EC=83=9D=EC=84=B1=20=EC=A0=9C?= =?UTF-8?q?=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - UseCase를 불필요하게 ViewController에서 사용할 경우를 방지 - 불필요한 인스턴스를 제거하여 메모리 확보 --- .../AdminRegister/PopUpStoreRegisterViewController.swift | 5 +---- .../Presentation/Scene/Admin/AdminViewController.swift | 6 +----- .../FindMap/MapGuideView/MapGuideViewController.swift | 5 +---- .../Scene/SignUp/Main/SignUpMainReactor.swift | 2 +- .../Scene/TabbarController/TabbarController.swift | 9 +++------ 5 files changed, 7 insertions(+), 20 deletions(-) diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterViewController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterViewController.swift index 4f7c9c83..ed6fd4d0 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterViewController.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterViewController.swift @@ -11,7 +11,6 @@ final class PopUpStoreRegisterViewController: BaseViewController { // MARK: - Properties private var pickerViewController: PHPickerViewController? - private let adminUseCase: AdminUseCase private let nickname: String var completionHandler: (() -> Void)? var disposeBag = DisposeBag() @@ -21,18 +20,16 @@ final class PopUpStoreRegisterViewController: BaseViewController { // MARK: - Initializer init( nickname: String, - adminUseCase: AdminUseCase, editingStore: GetAdminPopUpStoreListResponseDTO.PopUpStore? = nil ) { self.nickname = nickname - self.adminUseCase = adminUseCase self.mainView = PopUpRegisterView() super.init() let presignedService = PreSignedService() let reactor = PopUpStoreRegisterReactor( - adminUseCase: adminUseCase, + adminUseCase: DIContainer.resolve(AdminUseCase.self), presignedService: presignedService, editingStore: editingStore ) diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminViewController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminViewController.swift index a3a21e31..45de4fb4 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminViewController.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminViewController.swift @@ -172,7 +172,6 @@ final class AdminViewController: BaseViewController, View { private func editStore(_ store: GetAdminPopUpStoreListResponseDTO.PopUpStore) { let registerVC = PopUpStoreRegisterViewController( nickname: nickname, - adminUseCase: adminUseCase, editingStore: store ) @@ -248,10 +247,7 @@ final class AdminViewController: BaseViewController, View { mainView.registerButton.rx.tap .subscribe(onNext: { [weak self] _ in guard let self = self else { return } - let registerVC = PopUpStoreRegisterViewController( - nickname: self.nickname, - adminUseCase: self.adminUseCase - ) + let registerVC = PopUpStoreRegisterViewController(nickname: self.nickname) registerVC.completionHandler = { [weak self] in self?.reactor?.action.onNext(.reloadData) diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/FindMap/MapGuideView/MapGuideViewController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/FindMap/MapGuideView/MapGuideViewController.swift index 7c247580..9f45b079 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/FindMap/MapGuideView/MapGuideViewController.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/FindMap/MapGuideView/MapGuideViewController.swift @@ -171,11 +171,8 @@ final class MapGuideViewController: UIViewController, View { .subscribe(onNext: { [weak self] in guard let strongSelf = self else { return } - let providerInstance = ProviderImpl() - @Dependency var mapUseCase: MapUseCase - let mapReactorInstance = MapReactor( - mapUseCase: mapUseCase, + mapUseCase: DIContainer.resolve(MapUseCase.self), mapDirectionRepository: DIContainer.resolve(MapDirectionRepository.self) ) diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Main/SignUpMainReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Main/SignUpMainReactor.swift index c98f891e..adeaa99e 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Main/SignUpMainReactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Main/SignUpMainReactor.swift @@ -60,7 +60,7 @@ final class SignUpMainReactor: Reactor { private var authrizationCode: String? - private var signUpAPIUseCase: SignUpAPIUseCase + private let signUpAPIUseCase: SignUpAPIUseCase private let userDefaultService = UserDefaultService() var isFirstResponderCase: Bool diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/TabbarController/TabbarController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/TabbarController/TabbarController.swift index 00e8ab50..4be350da 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/TabbarController/TabbarController.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/TabbarController/TabbarController.swift @@ -193,14 +193,11 @@ class WaveTabBarController: UITabBarController, UITabBarControllerDelegate { } func addSomeTabItems() { - let provider = ProviderImpl() - let mapController = MapViewController() - @Dependency var mapUseCase: MapUseCase - @Dependency var mapDirectionRepository: MapDirectionRepository + mapController.reactor = MapReactor( - mapUseCase: mapUseCase, - mapDirectionRepository: mapDirectionRepository + mapUseCase: DIContainer.resolve(MapUseCase.self), + mapDirectionRepository: DIContainer.resolve(MapDirectionRepository.self) ) let homeController = HomeController() From add928b105c1eba89c72644db44189495a1b1285 Mon Sep 17 00:00:00 2001 From: 0Hooni Date: Thu, 17 Apr 2025 16:43:41 +0900 Subject: [PATCH 31/83] =?UTF-8?q?fix/#113:=20MapDirectionRepository=20?= =?UTF-8?q?=EC=9D=98=EC=A1=B4=EC=84=B1=20=EB=93=B1=EB=A1=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Poppool/Poppool/Application/AppDelegate.swift | 1 + 1 file changed, 1 insertion(+) diff --git a/Poppool/Poppool/Application/AppDelegate.swift b/Poppool/Poppool/Application/AppDelegate.swift index 71d4ab96..471f00c9 100644 --- a/Poppool/Poppool/Application/AppDelegate.swift +++ b/Poppool/Poppool/Application/AppDelegate.swift @@ -44,6 +44,7 @@ extension AppDelegate { DIContainer.register(HomeAPIRepository.self) { return HomeAPIRepositoryImpl(provider: provider) } DIContainer.register(AuthAPIRepository.self) { return AuthAPIRepositoryImpl(provider: provider) } DIContainer.register(SignUpRepository.self) { return SignUpRepositoryImpl(provider: provider) } + DIContainer.register(MapDirectionRepository.self) { return MapDirectionRepositoryImpl(provider: provider) } // MARK: Resolve repository @Dependency var mapRepository: MapRepository From 71dd5ac1a3e7eda0e9eb3ce060504a5b620ef6cd Mon Sep 17 00:00:00 2001 From: JunYoung Date: Thu, 17 Apr 2025 21:15:14 +0900 Subject: [PATCH 32/83] =?UTF-8?q?refactor/#116:=20HomeAPI=20=EA=B4=80?= =?UTF-8?q?=EB=A0=A8=20Domain=20Layer=20DTO=20=EC=A0=9C=EA=B1=B0=20-=20?= =?UTF-8?q?=EB=B9=8C=EB=93=9C=20=ED=99=95=EC=9D=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../RepositoryImpl/HomeAPIRepositoryImpl.swift | 12 ++++++++---- .../Domain/UseCaseImpl/HomeAPIUseCaseImpl.swift | 8 ++++---- .../Repository/HomeAPIRepository.swift | 8 ++++---- 3 files changed, 16 insertions(+), 12 deletions(-) diff --git a/Poppool/Poppool/DataLayer/RepositoryImpl/HomeAPIRepositoryImpl.swift b/Poppool/Poppool/DataLayer/RepositoryImpl/HomeAPIRepositoryImpl.swift index 89ef1e10..2e432b88 100644 --- a/Poppool/Poppool/DataLayer/RepositoryImpl/HomeAPIRepositoryImpl.swift +++ b/Poppool/Poppool/DataLayer/RepositoryImpl/HomeAPIRepositoryImpl.swift @@ -11,22 +11,26 @@ final class HomeAPIRepositoryImpl: HomeAPIRepository { self.provider = provider } - func fetchHome(request: SortedRequestDTO) -> Observable { + func fetchHome(page: Int32?, size: Int32?, sort: String?) -> Observable { + let request = SortedRequestDTO(page: page, size: size, sort: sort) let endPoint = HomeAPIEndpoint.fetchHome(request: request) return provider.requestData(with: endPoint, interceptor: tokenInterceptor).map({ $0.toDomain() }) } - func fetchCustomPopUp(request: SortedRequestDTO) -> Observable { + func fetchCustomPopUp(page: Int32?, size: Int32?, sort: String?) -> Observable { + let request = SortedRequestDTO(page: page, size: size, sort: sort) let endPoint = HomeAPIEndpoint.fetchCustomPopUp(request: request) return provider.requestData(with: endPoint, interceptor: tokenInterceptor).map({ $0.toDomain() }) } - func fetchNewPopUp(request: SortedRequestDTO) -> Observable { + func fetchNewPopUp(page: Int32?, size: Int32?, sort: String?) -> Observable { + let request = SortedRequestDTO(page: page, size: size, sort: sort) let endPoint = HomeAPIEndpoint.fetchNewPopUp(request: request) return provider.requestData(with: endPoint, interceptor: tokenInterceptor).map({ $0.toDomain() }) } - func fetchPopularPopUp(request: SortedRequestDTO) -> Observable { + func fetchPopularPopUp(page: Int32?, size: Int32?, sort: String?) -> Observable { + let request = SortedRequestDTO(page: page, size: size, sort: sort) let endPoint = HomeAPIEndpoint.fetchPopularPopUp(request: request) return provider.requestData(with: endPoint, interceptor: tokenInterceptor).map({ $0.toDomain() }) } diff --git a/Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/HomeAPIUseCaseImpl.swift b/Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/HomeAPIUseCaseImpl.swift index cd665ca5..2251ba97 100644 --- a/Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/HomeAPIUseCaseImpl.swift +++ b/Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/HomeAPIUseCaseImpl.swift @@ -15,7 +15,7 @@ final class HomeAPIUseCaseImpl: HomeAPIUseCase { size: Int32?, sort: String? ) -> Observable { - return repository.fetchHome(request: .init(page: page, size: size, sort: sort)) + return repository.fetchHome(page: page, size: size, sort: sort) } func fetchCustomPopUp( @@ -23,7 +23,7 @@ final class HomeAPIUseCaseImpl: HomeAPIUseCase { size: Int32?, sort: String? ) -> Observable { - return repository.fetchCustomPopUp(request: .init(page: page, size: size, sort: sort)) + return repository.fetchCustomPopUp(page: page, size: size, sort: sort) } func fetchNewPopUp( @@ -31,7 +31,7 @@ final class HomeAPIUseCaseImpl: HomeAPIUseCase { size: Int32?, sort: String? ) -> Observable { - return repository.fetchNewPopUp(request: .init(page: page, size: size, sort: sort)) + return repository.fetchNewPopUp(page: page, size: size, sort: sort) } func fetchPopularPopUp( @@ -39,6 +39,6 @@ final class HomeAPIUseCaseImpl: HomeAPIUseCase { size: Int32?, sort: String? ) -> Observable { - return repository.fetchPopularPopUp(request: .init(page: page, size: size, sort: sort)) + return repository.fetchPopularPopUp(page: page, size: size, sort: sort) } } diff --git a/Poppool/Poppool/DomainLayer/DomainInterface/Repository/HomeAPIRepository.swift b/Poppool/Poppool/DomainLayer/DomainInterface/Repository/HomeAPIRepository.swift index 2c6082ed..4b7f0bb1 100644 --- a/Poppool/Poppool/DomainLayer/DomainInterface/Repository/HomeAPIRepository.swift +++ b/Poppool/Poppool/DomainLayer/DomainInterface/Repository/HomeAPIRepository.swift @@ -3,8 +3,8 @@ import Foundation import RxSwift protocol HomeAPIRepository { - func fetchHome(request: SortedRequestDTO) -> Observable - func fetchCustomPopUp(request: SortedRequestDTO) -> Observable - func fetchNewPopUp(request: SortedRequestDTO) -> Observable - func fetchPopularPopUp(request: SortedRequestDTO) -> Observable + func fetchHome(page: Int32?, size: Int32?, sort: String?) -> Observable + func fetchCustomPopUp(page: Int32?, size: Int32?, sort: String?) -> Observable + func fetchNewPopUp(page: Int32?, size: Int32?, sort: String?) -> Observable + func fetchPopularPopUp(page: Int32?, size: Int32?, sort: String?) -> Observable } From fa9db31f7b2c124a010d0029c20f5bef796ccdc1 Mon Sep 17 00:00:00 2001 From: JunYoung Date: Thu, 17 Apr 2025 22:23:49 +0900 Subject: [PATCH 33/83] =?UTF-8?q?refactor/#116:=20PopUpAPI=20=EA=B4=80?= =?UTF-8?q?=EB=A0=A8=20Domain=20Layer=20DTO=20=EC=A0=9C=EA=B1=B0=20-=20?= =?UTF-8?q?=EB=B9=8C=EB=93=9C=20=ED=99=95=EC=9D=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PopUpAPIRepositoryImpl.swift | 49 ++++++++++++++----- .../UseCaseImpl/PopUpAPIUseCaseImpl.swift | 11 ++--- .../Repository/PopUpAPIRepository.swift | 44 ++++++++++++++--- 3 files changed, 81 insertions(+), 23 deletions(-) diff --git a/Poppool/Poppool/DataLayer/RepositoryImpl/PopUpAPIRepositoryImpl.swift b/Poppool/Poppool/DataLayer/RepositoryImpl/PopUpAPIRepositoryImpl.swift index b20a108a..ab8e22d6 100644 --- a/Poppool/Poppool/DataLayer/RepositoryImpl/PopUpAPIRepositoryImpl.swift +++ b/Poppool/Poppool/DataLayer/RepositoryImpl/PopUpAPIRepositoryImpl.swift @@ -11,33 +11,60 @@ final class PopUpAPIRepositoryImpl: PopUpAPIRepository { self.provider = provider } - func postBookmarkPopUp(request: PostBookmarkPopUpRequestDTO) -> Completable { + func postBookmarkPopUp(popUpStoreId: Int64) -> Completable { + let request = PostBookmarkPopUpRequestDTO(popUpStoreId: popUpStoreId) let endPoint = UserAPIEndPoint.postBookmarkPopUp(request: request) return provider.request(with: endPoint, interceptor: tokenInterceptor) } - func getClosePopUpList(request: GetSearchPopUpListRequestDTO) -> Observable { + func getClosePopUpList( + categories: String?, + page: Int32?, + size: Int32?, + sort: String?, + query: String?, + sortCode: String? + ) -> Observable { + let request = GetSearchPopUpListRequestDTO(categories: categories, page: page, size: size, sort: sort, query: query, sortCode: sortCode) let endPoint = PopUpAPIEndPoint.getClosePopUpList(request: request) - return provider.requestData(with: endPoint, interceptor: tokenInterceptor) + return provider.requestData(with: endPoint, interceptor: tokenInterceptor).map { $0.toDomain() } } - func getOpenPopUpList(request: GetSearchPopUpListRequestDTO) -> Observable { + func getOpenPopUpList( + categories: String?, + page: Int32?, + size: Int32?, + sort: String?, + query: String?, + sortCode: String? + ) -> Observable { + let request = GetSearchPopUpListRequestDTO(categories: categories, page: page, size: size, sort: sort, query: query, sortCode: sortCode) let endPoint = PopUpAPIEndPoint.getOpenPopUpList(request: request) - return provider.requestData(with: endPoint, interceptor: tokenInterceptor) + return provider.requestData(with: endPoint, interceptor: tokenInterceptor).map { $0.toDomain() } } - func getSearchPopUpList(request: GetSearchPopUpListRequestDTO) -> Observable { + func getSearchPopUpList( + categories: String?, + page: Int32?, + size: Int32?, + sort: String?, + query: String?, + sortCode: String? + ) -> Observable { + let request = GetSearchPopUpListRequestDTO(categories: categories, page: page, size: size, sort: sort, query: query, sortCode: sortCode) let endPoint = PopUpAPIEndPoint.getSearchPopUpList(request: request) - return provider.requestData(with: endPoint, interceptor: tokenInterceptor) + return provider.requestData(with: endPoint, interceptor: tokenInterceptor).map { $0.toDomain() } } - func getPopUpDetail(request: GetPopUpDetailRequestDTO) -> Observable { + func getPopUpDetail(commentType: String?, popUpStoreId: Int64, viewCountYn: Bool?) -> Observable { + let request = GetPopUpDetailRequestDTO(commentType: commentType, popUpStoreId: popUpStoreId, viewCountYn: viewCountYn) let endPoint = PopUpAPIEndPoint.getPopUpDetail(request: request) - return provider.requestData(with: endPoint, interceptor: tokenInterceptor) + return provider.requestData(with: endPoint, interceptor: tokenInterceptor).map { $0.toDomain() } } - func getPopUpComment(request: GetPopUpCommentRequestDTO) -> Observable { + func getPopUpComment(commentType: String?, page: Int32?, size: Int32?, sort: String?, popUpStoreId: Int64) -> Observable { + let request = GetPopUpCommentRequestDTO(commentType: commentType, page: page, size: size, sort: sort, popUpStoreId: popUpStoreId) let endPoint = PopUpAPIEndPoint.getPopUpComment(request: request) - return provider.requestData(with: endPoint, interceptor: tokenInterceptor) + return provider.requestData(with: endPoint, interceptor: tokenInterceptor).map { $0.toDomain() } } } diff --git a/Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/PopUpAPIUseCaseImpl.swift b/Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/PopUpAPIUseCaseImpl.swift index 8049526a..5bd701ce 100644 --- a/Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/PopUpAPIUseCaseImpl.swift +++ b/Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/PopUpAPIUseCaseImpl.swift @@ -15,24 +15,23 @@ final class PopUpAPIUseCaseImpl: PopUpAPIUseCase { if !categories.isEmpty { categoryString = categories.map { String($0) + "," }.reduce("", +) } - let request = GetSearchPopUpListRequestDTO(categories: categoryString, page: page, size: size, sortCode: sort) if isOpen { - return repository.getOpenPopUpList(request: request).map { $0.toDomain() } + return repository.getOpenPopUpList(categories: categoryString, page: page, size: size, sort: nil, query: nil, sortCode: sort) } else { - return repository.getClosePopUpList(request: request).map { $0.toDomain() } + return repository.getClosePopUpList(categories: categoryString, page: page, size: size, sort: nil, query: nil, sortCode: sort) } } func getSearchPopUpList(query: String?) -> Observable { - return repository.getSearchPopUpList(request: .init(query: query)).map { $0.toDomain() } + return repository.getSearchPopUpList(categories: nil, page: nil, size: nil, sort: nil, query: query, sortCode: nil) } func getPopUpDetail(commentType: String?, popUpStoredId: Int64, isViewCount: Bool? = true) -> Observable { - return repository.getPopUpDetail(request: .init(commentType: commentType, popUpStoreId: popUpStoredId, viewCountYn: isViewCount)).map { $0.toDomain() } + return repository.getPopUpDetail(commentType: commentType, popUpStoreId: popUpStoredId, viewCountYn: isViewCount) } func getPopUpComment(commentType: String?, page: Int32?, size: Int32?, sort: String?, popUpStoreId: Int64) -> Observable { let request: GetPopUpCommentRequestDTO = .init(commentType: commentType, page: page, size: size, sort: sort, popUpStoreId: popUpStoreId) - return repository.getPopUpComment(request: request).map { $0.toDomain() } + return repository.getPopUpComment(commentType: commentType, page: page, size: size, sort: sort, popUpStoreId: popUpStoreId) } } diff --git a/Poppool/Poppool/DomainLayer/DomainInterface/Repository/PopUpAPIRepository.swift b/Poppool/Poppool/DomainLayer/DomainInterface/Repository/PopUpAPIRepository.swift index 4cec5864..d03a9666 100644 --- a/Poppool/Poppool/DomainLayer/DomainInterface/Repository/PopUpAPIRepository.swift +++ b/Poppool/Poppool/DomainLayer/DomainInterface/Repository/PopUpAPIRepository.swift @@ -3,10 +3,42 @@ import Foundation import RxSwift protocol PopUpAPIRepository { - func postBookmarkPopUp(request: PostBookmarkPopUpRequestDTO) -> Completable - func getClosePopUpList(request: GetSearchPopUpListRequestDTO) -> Observable - func getOpenPopUpList(request: GetSearchPopUpListRequestDTO) -> Observable - func getSearchPopUpList(request: GetSearchPopUpListRequestDTO) -> Observable - func getPopUpDetail(request: GetPopUpDetailRequestDTO) -> Observable - func getPopUpComment(request: GetPopUpCommentRequestDTO) -> Observable + func postBookmarkPopUp(popUpStoreId: Int64) -> Completable + + func getClosePopUpList( + categories: String?, + page: Int32?, + size: Int32?, + sort: String?, + query: String?, + sortCode: String? + ) -> Observable + + func getOpenPopUpList( + categories: String?, + page: Int32?, + size: Int32?, + sort: String?, + query: String?, + sortCode: String? + ) -> Observable + + func getSearchPopUpList( + categories: String?, + page: Int32?, + size: Int32?, + sort: String?, + query: String?, + sortCode: String? + ) -> Observable + + func getPopUpDetail(commentType: String?, popUpStoreId: Int64, viewCountYn: Bool?) -> Observable + + func getPopUpComment( + commentType: String?, + page: Int32?, + size: Int32?, + sort: String?, + popUpStoreId: Int64 + ) -> Observable } From c34382d55bfb2826584be670420668171d9bdb7a Mon Sep 17 00:00:00 2001 From: JunYoung Date: Thu, 17 Apr 2025 23:05:29 +0900 Subject: [PATCH 34/83] =?UTF-8?q?refactor/#116:=20HomeAPI=20=EA=B4=80?= =?UTF-8?q?=EB=A0=A8=20Domain=20Layer=20DTO=20=EC=A0=9C=EA=B1=B0=20-=20?= =?UTF-8?q?=EB=B9=8C=EB=93=9C=20=ED=99=95=EC=9D=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../GetBlockUserListRequestDTO.swift | 14 --- .../Network/API/UserAPI/UserAPIEndPoint.swift | 2 +- .../UserAPIRepositoryImpl.swift | 107 +++++++++++------- .../UseCaseImpl/PopUpAPIUseCaseImpl.swift | 2 +- .../UseCaseImpl/SignUpAPIUseCaseImpl.swift | 4 +- .../UseCaseImpl/UserAPIUseCaseImpl.swift | 56 +++++---- .../Repository/UserAPIRepository.swift | 62 ++++++---- 7 files changed, 141 insertions(+), 106 deletions(-) delete mode 100644 Poppool/Poppool/DataLayer/Network/API/UserAPI/RequesetDTO/GetBlockUserListRequestDTO.swift diff --git a/Poppool/Poppool/DataLayer/Network/API/UserAPI/RequesetDTO/GetBlockUserListRequestDTO.swift b/Poppool/Poppool/DataLayer/Network/API/UserAPI/RequesetDTO/GetBlockUserListRequestDTO.swift deleted file mode 100644 index a06c73c1..00000000 --- a/Poppool/Poppool/DataLayer/Network/API/UserAPI/RequesetDTO/GetBlockUserListRequestDTO.swift +++ /dev/null @@ -1,14 +0,0 @@ -// -// GetBlockUserListRequestDTO.swift -// Poppool -// -// Created by SeoJunYoung on 1/12/25. -// - -import Foundation - -struct GetBlockUserListRequestDTO: Encodable { - var page: Int32? - var size: Int32? - var sort: String? -} diff --git a/Poppool/Poppool/DataLayer/Network/API/UserAPI/UserAPIEndPoint.swift b/Poppool/Poppool/DataLayer/Network/API/UserAPI/UserAPIEndPoint.swift index 032c756e..3ddc45e1 100644 --- a/Poppool/Poppool/DataLayer/Network/API/UserAPI/UserAPIEndPoint.swift +++ b/Poppool/Poppool/DataLayer/Network/API/UserAPI/UserAPIEndPoint.swift @@ -151,7 +151,7 @@ struct UserAPIEndPoint { ) } - static func getBlockUserList(request: GetBlockUserListRequestDTO) -> Endpoint { + static func getBlockUserList(request: SortedRequestDTO) -> Endpoint { return Endpoint( baseURL: Secrets.popPoolBaseURL, path: "/users/blocked", diff --git a/Poppool/Poppool/DataLayer/RepositoryImpl/UserAPIRepositoryImpl.swift b/Poppool/Poppool/DataLayer/RepositoryImpl/UserAPIRepositoryImpl.swift index a146c460..d52ddf0b 100644 --- a/Poppool/Poppool/DataLayer/RepositoryImpl/UserAPIRepositoryImpl.swift +++ b/Poppool/Poppool/DataLayer/RepositoryImpl/UserAPIRepositoryImpl.swift @@ -11,44 +11,51 @@ final class UserAPIRepositoryImpl: UserAPIRepository { self.provider = provider } - func postBookmarkPopUp(request: PostBookmarkPopUpRequestDTO) -> Completable { - let endPoint = UserAPIEndPoint.postBookmarkPopUp(request: request) + func postBookmarkPopUp(popUpStoreId: Int64) -> Completable { + let endPoint = UserAPIEndPoint.postBookmarkPopUp(request: .init(popUpStoreId: popUpStoreId)) return provider.request(with: endPoint, interceptor: tokenInterceptor) } - func deleteBookmarkPopUp(request: PostBookmarkPopUpRequestDTO) -> Completable { - let endPoint = UserAPIEndPoint.deleteBookmarkPopUp(request: request) + func deleteBookmarkPopUp(popUpStoreId: Int64) -> Completable { + let endPoint = UserAPIEndPoint.deleteBookmarkPopUp(request: .init(popUpStoreId: popUpStoreId)) return provider.request(with: endPoint, interceptor: tokenInterceptor) } - func postCommentLike(request: CommentLikeRequestDTO) -> Completable { - let endPoint = UserAPIEndPoint.postCommentLike(request: request) + func postCommentLike(commentId: Int64) -> Completable { + let endPoint = UserAPIEndPoint.postCommentLike(request: .init(commentId: commentId)) return provider.request(with: endPoint, interceptor: tokenInterceptor) } - func deleteCommentLike(request: CommentLikeRequestDTO) -> Completable { - let endPoint = UserAPIEndPoint.deleteCommentLike(request: request) + func deleteCommentLike(commentId: Int64) -> Completable { + let endPoint = UserAPIEndPoint.deleteCommentLike(request: .init(commentId: commentId)) return provider.request(with: endPoint, interceptor: tokenInterceptor) } - func postUserBlock(request: PostUserBlockRequestDTO) -> Completable { - let endPoint = UserAPIEndPoint.postUserBlock(request: request) + func postUserBlock(blockedUserId: String?) -> Completable { + let endPoint = UserAPIEndPoint.postUserBlock(request: .init(blockedUserId: blockedUserId)) return provider.request(with: endPoint, interceptor: tokenInterceptor) } - func deleteUserBlock(request: PostUserBlockRequestDTO) -> Completable { - let endPoint = UserAPIEndPoint.deleteUserBlock(request: request) + func deleteUserBlock(blockedUserId: String?) -> Completable { + let endPoint = UserAPIEndPoint.deleteUserBlock(request: .init(blockedUserId: blockedUserId)) return provider.request(with: endPoint, interceptor: tokenInterceptor) } - func getOtherUserCommentList(request: GetOtherUserCommentListRequestDTO) -> Observable { + func getOtherUserCommentList( + commenterId: String?, + commentType: String?, + page: Int32?, + size: Int32?, + sort: String? + ) -> Observable { + let request = GetOtherUserCommentListRequestDTO(commenterId: commenterId, commentType: commentType, page: page, size: size, sort: sort) let endPoint = UserAPIEndPoint.getOtherUserCommentPopUpList(request: request) - return provider.requestData(with: endPoint, interceptor: tokenInterceptor) + return provider.requestData(with: endPoint, interceptor: tokenInterceptor).map { $0.toDomain() } } - func getMyPage() -> Observable { + func getMyPage() -> Observable { let endPoint = UserAPIEndPoint.getMyPage() - return provider.requestData(with: endPoint, interceptor: tokenInterceptor) + return provider.requestData(with: endPoint, interceptor: tokenInterceptor).map { $0.toDomain() } } func postLogout() -> Completable { @@ -56,63 +63,87 @@ final class UserAPIRepositoryImpl: UserAPIRepository { return provider.request(with: endPoint, interceptor: tokenInterceptor) } - func getWithdrawlList() -> Observable { + func getWithdrawlList() -> Observable { let endPoint = UserAPIEndPoint.getWithdrawlList() - return provider.requestData(with: endPoint, interceptor: tokenInterceptor) + return provider.requestData(with: endPoint, interceptor: tokenInterceptor).map { $0.toDomain() } } - func postWithdrawl(request: PostWithdrawlListRequestDTO) -> Completable { - let endPoint = UserAPIEndPoint.postWithdrawl(request: request) + func postWithdrawl(list: [(Int64, String?)]) -> Completable { + let endPoint = UserAPIEndPoint.postWithdrawl(request: .init(checkedSurveyList: list.map { .init(id: $0.0, survey: $0.1)})) return provider.request(with: endPoint, interceptor: tokenInterceptor) } - func getMyProfile() -> Observable { + func getMyProfile() -> Observable { let endPoint = UserAPIEndPoint.getMyProfile() - return provider.requestData(with: endPoint, interceptor: tokenInterceptor) + return provider.requestData(with: endPoint, interceptor: tokenInterceptor).map { $0.toDomain() } } - func putUserTailoredInfo(request: PutUserTailoredInfoRequestDTO) -> Completable { - let endPoint = UserAPIEndPoint.putUserTailoredInfo(request: request) + func putUserTailoredInfo(gender: String?, age: Int32) -> Completable { + let endPoint = UserAPIEndPoint.putUserTailoredInfo(request: .init(gender: gender, age: age)) return provider.request(with: endPoint, interceptor: tokenInterceptor) } - func putUserCategory(request: PutUserCategoryRequestDTO) -> Completable { + func putUserCategory( + interestCategoriesToAdd: [Int64], + interestCategoriesToDelete: [Int64], + interestCategoriesToKeep: [Int64] + ) -> Completable { + let request = PutUserCategoryRequestDTO( + interestCategoriesToAdd: interestCategoriesToAdd, + interestCategoriesToDelete: interestCategoriesToDelete, + interestCategoriesToKeep: interestCategoriesToKeep + ) let endPoint = UserAPIEndPoint.putUserCategory(request: request) return provider.request(with: endPoint, interceptor: tokenInterceptor) } - func putUserProfile(request: PutUserProfileRequestDTO) -> Completable { + func putUserProfile( + profileImageUrl: String?, + nickname: String?, + email: String?, + instagramId: String?, + intro: String? + ) -> Completable { + let request = PutUserProfileRequestDTO(profileImageUrl: profileImageUrl, nickname: nickname, email: email, instagramId: instagramId, intro: intro) let endPoint = UserAPIEndPoint.putUserProfile(request: request) return provider.request(with: endPoint, interceptor: tokenInterceptor) } - func getMyCommentedPopUp(request: SortedRequestDTO) -> Observable { + func getMyCommentedPopUp( + page: Int32?, + size: Int32?, + sort: String? + ) -> Observable { + let request = SortedRequestDTO(page: page, size: size, sort: sort) let endPoint = UserAPIEndPoint.getMyCommentedPopUp(request: request) - return provider.requestData(with: endPoint, interceptor: tokenInterceptor) + return provider.requestData(with: endPoint, interceptor: tokenInterceptor).map { $0.toDomain() } } - func getBlockUserList(request: GetBlockUserListRequestDTO) -> Observable { + func getBlockUserList(page: Int32?, size: Int32?, sort: String?) -> Observable { + let request = SortedRequestDTO(page: page, size: size, sort: sort) let endPoint = UserAPIEndPoint.getBlockUserList(request: request) - return provider.requestData(with: endPoint, interceptor: tokenInterceptor) + return provider.requestData(with: endPoint, interceptor: tokenInterceptor).map { $0.toDomain() } } - func getNoticeList() -> Observable { + func getNoticeList() -> Observable { let endPoint = UserAPIEndPoint.getNoticeList() - return provider.requestData(with: endPoint, interceptor: tokenInterceptor) + return provider.requestData(with: endPoint, interceptor: tokenInterceptor).map { $0.toDomain() } } - func getNoticeDetail(noticeID: Int64) -> Observable { + func getNoticeDetail(noticeID: Int64) -> Observable { let endPoint = UserAPIEndPoint.getNoticeDetail(noticeID: noticeID) - return provider.requestData(with: endPoint, interceptor: tokenInterceptor) + return provider.requestData(with: endPoint, interceptor: tokenInterceptor).map { $0.toDomain() } } - func getRecentPopUp(request: SortedRequestDTO) -> Observable { + func getRecentPopUp(page: Int32?, size: Int32?, sort: String?) -> Observable { + let request = SortedRequestDTO(page: page, size: size, sort: sort) let endPoint = UserAPIEndPoint.getRecentPopUp(request: request) - return provider.requestData(with: endPoint, interceptor: tokenInterceptor) + return provider.requestData(with: endPoint, interceptor: tokenInterceptor).map { $0.toDomain() } } - func getBookmarkPopUp(request: SortedRequestDTO) -> Observable { + func getBookmarkPopUp(page: Int32?, size: Int32?, sort: String?) -> Observable { + let request = SortedRequestDTO(page: page, size: size, sort: sort) let endPoint = UserAPIEndPoint.getBookmarkPopUp(request: request) - return provider.requestData(with: endPoint, interceptor: tokenInterceptor) + return provider.requestData(with: endPoint, interceptor: tokenInterceptor).map { $0.toDomain() } } } diff --git a/Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/PopUpAPIUseCaseImpl.swift b/Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/PopUpAPIUseCaseImpl.swift index 5bd701ce..4e53f095 100644 --- a/Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/PopUpAPIUseCaseImpl.swift +++ b/Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/PopUpAPIUseCaseImpl.swift @@ -31,7 +31,7 @@ final class PopUpAPIUseCaseImpl: PopUpAPIUseCase { } func getPopUpComment(commentType: String?, page: Int32?, size: Int32?, sort: String?, popUpStoreId: Int64) -> Observable { - let request: GetPopUpCommentRequestDTO = .init(commentType: commentType, page: page, size: size, sort: sort, popUpStoreId: popUpStoreId) + let request = GetPopUpCommentRequestDTO(commentType: commentType, page: page, size: size, sort: sort, popUpStoreId: popUpStoreId) return repository.getPopUpComment(commentType: commentType, page: page, size: size, sort: sort, popUpStoreId: popUpStoreId) } } diff --git a/Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/SignUpAPIUseCaseImpl.swift b/Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/SignUpAPIUseCaseImpl.swift index 9f91f723..78c69f75 100644 --- a/Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/SignUpAPIUseCaseImpl.swift +++ b/Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/SignUpAPIUseCaseImpl.swift @@ -8,7 +8,7 @@ final class SignUpAPIUseCaseImpl: SignUpAPIUseCase { init(repository: SignUpRepository) { self.repository = repository } - + func trySignUp( nickName: String, gender: String, @@ -28,7 +28,7 @@ final class SignUpAPIUseCaseImpl: SignUpAPIUseCase { appleAuthorizationCode: appleAuthorizationCode ) } - + func checkNickName(nickName: String) -> Observable { return repository.checkNickName(nickName: nickName) } diff --git a/Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/UserAPIUseCaseImpl.swift b/Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/UserAPIUseCaseImpl.swift index 55a16028..d13ea254 100644 --- a/Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/UserAPIUseCaseImpl.swift +++ b/Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/UserAPIUseCaseImpl.swift @@ -10,27 +10,27 @@ final class UserAPIUseCaseImpl: UserAPIUseCase { } func postBookmarkPopUp(popUpID: Int64) -> Completable { - return repository.postBookmarkPopUp(request: .init(popUpStoreId: popUpID)) + return repository.postBookmarkPopUp(popUpStoreId: popUpID) } func deleteBookmarkPopUp(popUpID: Int64) -> Completable { - return repository.deleteBookmarkPopUp(request: .init(popUpStoreId: popUpID)) + return repository.deleteBookmarkPopUp(popUpStoreId: popUpID) } func postCommentLike(commentId: Int64) -> Completable { - return repository.postCommentLike(request: .init(commentId: commentId)) + return repository.postCommentLike(commentId: commentId) } func deleteCommentLike(commentId: Int64) -> Completable { - return repository.deleteCommentLike(request: .init(commentId: commentId)) + return repository.deleteCommentLike(commentId: commentId) } func postUserBlock(blockedUserId: String?) -> Completable { - return repository.postUserBlock(request: .init(blockedUserId: blockedUserId)) + return repository.postUserBlock(blockedUserId: blockedUserId) } func deleteUserBlock(blockedUserId: String?) -> Completable { - return repository.deleteUserBlock(request: .init(blockedUserId: blockedUserId)) + return repository.deleteUserBlock(blockedUserId: blockedUserId) } func getOtherUserCommentedPopUpList( @@ -41,18 +41,16 @@ final class UserAPIUseCaseImpl: UserAPIUseCase { sort: String? ) -> Observable { return repository.getOtherUserCommentList( - request: .init( - commenterId: commenterId, - commentType: commentType, - page: page, - size: size, - sort: sort) + commenterId: commenterId, + commentType: commentType, + page: page, + size: size, + sort: sort ) - .map { $0.toDomain() } } func getMyPage() -> Observable { - return repository.getMyPage().map { $0.toDomain() } + return repository.getMyPage() } func postLogout() -> Completable { @@ -60,19 +58,19 @@ final class UserAPIUseCaseImpl: UserAPIUseCase { } func getWithdrawlList() -> Observable { - return repository.getWithdrawlList().map { $0.toDomain() } + return repository.getWithdrawlList() } func postWithdrawl(surveyList: [GetWithdrawlListDataResponse]) -> Completable { - return repository.postWithdrawl(request: .init(checkedSurveyList: surveyList.map { .init(id: $0.id, survey: $0.survey)})) + return repository.postWithdrawl(list: surveyList.map { ($0.id, $0.survey)}) } func getMyProfile() -> Observable { - return repository.getMyProfile().map { $0.toDomain() } + return repository.getMyProfile() } func putUserTailoredInfo(gender: String?, age: Int32) -> Completable { - return repository.putUserTailoredInfo(request: .init(gender: gender, age: age)) + return repository.putUserTailoredInfo(gender: gender, age: age) } func putUserCategory( @@ -81,39 +79,37 @@ final class UserAPIUseCaseImpl: UserAPIUseCase { interestCategoriesToKeep: [Int64] ) -> Completable { return repository.putUserCategory( - request: .init( - interestCategoriesToAdd: interestCategoriesToAdd, - interestCategoriesToDelete: interestCategoriesToDelete, - interestCategoriesToKeep: interestCategoriesToKeep - ) + interestCategoriesToAdd: interestCategoriesToAdd, + interestCategoriesToDelete: interestCategoriesToDelete, + interestCategoriesToKeep: interestCategoriesToKeep ) } func putUserProfile(profileImageUrl: String?, nickname: String?, email: String?, instagramId: String?, intro: String?) -> Completable { - return repository.putUserProfile(request: .init(profileImageUrl: profileImageUrl, nickname: nickname, email: email, instagramId: instagramId, intro: intro)) + return repository.putUserProfile(profileImageUrl: profileImageUrl, nickname: nickname, email: email, instagramId: instagramId, intro: intro) } func getMyCommentedPopUp(page: Int32?, size: Int32?, sort: String?) -> Observable { - return repository.getMyCommentedPopUp(request: .init(page: page, size: size, sort: sort)).map { $0.toDomain() } + return repository.getMyCommentedPopUp(page: page, size: size, sort: sort) } func getBlockUserList(page: Int32?, size: Int32?, sort: String?) -> Observable { - return repository.getBlockUserList(request: .init(page: page, size: size, sort: sort)).map { $0.toDomain() } + return repository.getBlockUserList(page: page, size: size, sort: sort) } func getNoticeList() -> Observable { - return repository.getNoticeList().map { $0.toDomain() } + return repository.getNoticeList() } func getNoticeDetail(noticeID: Int64) -> Observable { - return repository.getNoticeDetail(noticeID: noticeID).map { $0.toDomain() } + return repository.getNoticeDetail(noticeID: noticeID) } func getRecentPopUp(page: Int32?, size: Int32?, sort: String?) -> Observable { - return repository.getRecentPopUp(request: .init(page: page, size: size, sort: sort)).map { $0.toDomain() } + return repository.getRecentPopUp(page: page, size: size, sort: sort) } func getBookmarkPopUp(page: Int32?, size: Int32?, sort: String?) -> Observable { - return repository.getBookmarkPopUp(request: .init(page: page, size: size, sort: sort)).map { $0.toDomain() } + return repository.getBookmarkPopUp(page: page, size: size, sort: sort) } } diff --git a/Poppool/Poppool/DomainLayer/DomainInterface/Repository/UserAPIRepository.swift b/Poppool/Poppool/DomainLayer/DomainInterface/Repository/UserAPIRepository.swift index 5d37ef5f..3012787d 100644 --- a/Poppool/Poppool/DomainLayer/DomainInterface/Repository/UserAPIRepository.swift +++ b/Poppool/Poppool/DomainLayer/DomainInterface/Repository/UserAPIRepository.swift @@ -3,25 +3,47 @@ import Foundation import RxSwift protocol UserAPIRepository { - func postBookmarkPopUp(request: PostBookmarkPopUpRequestDTO) -> Completable - func deleteBookmarkPopUp(request: PostBookmarkPopUpRequestDTO) -> Completable - func postCommentLike(request: CommentLikeRequestDTO) -> Completable - func deleteCommentLike(request: CommentLikeRequestDTO) -> Completable - func postUserBlock(request: PostUserBlockRequestDTO) -> Completable - func deleteUserBlock(request: PostUserBlockRequestDTO) -> Completable - func getOtherUserCommentList(request: GetOtherUserCommentListRequestDTO) -> Observable - func getMyPage() -> Observable + func postBookmarkPopUp(popUpStoreId: Int64) -> Completable + func deleteBookmarkPopUp(popUpStoreId: Int64) -> Completable + func postCommentLike(commentId: Int64) -> Completable + func deleteCommentLike(commentId: Int64) -> Completable + func postUserBlock(blockedUserId: String?) -> Completable + func deleteUserBlock(blockedUserId: String?) -> Completable + + func getOtherUserCommentList( + commenterId: String?, + commentType: String?, + page: Int32?, + size: Int32?, + sort: String? + ) -> Observable + + func getMyPage() -> Observable func postLogout() -> Completable - func getWithdrawlList() -> Observable - func postWithdrawl(request: PostWithdrawlListRequestDTO) -> Completable - func getMyProfile() -> Observable - func putUserTailoredInfo(request: PutUserTailoredInfoRequestDTO) -> Completable - func putUserCategory(request: PutUserCategoryRequestDTO) -> Completable - func putUserProfile(request: PutUserProfileRequestDTO) -> Completable - func getMyCommentedPopUp(request: SortedRequestDTO) -> Observable - func getBlockUserList(request: GetBlockUserListRequestDTO) -> Observable - func getNoticeList() -> Observable - func getNoticeDetail(noticeID: Int64) -> Observable - func getRecentPopUp(request: SortedRequestDTO) -> Observable - func getBookmarkPopUp(request: SortedRequestDTO) -> Observable + func getWithdrawlList() -> Observable + func postWithdrawl(list: [(Int64, String?)]) -> Completable + + func getMyProfile() -> Observable + func putUserTailoredInfo(gender: String?, age: Int32) -> Completable + + func putUserCategory( + interestCategoriesToAdd: [Int64], + interestCategoriesToDelete: [Int64], + interestCategoriesToKeep: [Int64] + ) -> Completable + + func putUserProfile( + profileImageUrl: String?, + nickname: String?, + email: String?, + instagramId: String?, + intro: String? + ) -> Completable + + func getMyCommentedPopUp(page: Int32?, size: Int32?, sort: String?) -> Observable + func getBlockUserList(page: Int32?, size: Int32?, sort: String?) -> Observable + func getNoticeList() -> Observable + func getNoticeDetail(noticeID: Int64) -> Observable + func getRecentPopUp(page: Int32?, size: Int32?, sort: String?) -> Observable + func getBookmarkPopUp(page: Int32?, size: Int32?, sort: String?) -> Observable } From 64bc196be86fb5f790ce025316118ea6080dfb7d Mon Sep 17 00:00:00 2001 From: JunYoung Date: Thu, 17 Apr 2025 23:15:24 +0900 Subject: [PATCH 35/83] =?UTF-8?q?refactor/#116:=20SortedRequestDTO=20Home,?= =?UTF-8?q?=20User=20=EB=B6=84=EB=A6=AC=20-=20=EB=B9=8C=EB=93=9C=20?= =?UTF-8?q?=ED=99=95=EC=9D=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Network/API/HomeAPI/HomeAPIEndpoint.swift | 15 ++++----------- .../RequestDTO/HomeSortedRequestDTO.swift | 7 +++++++ .../DataLayer/Network/API/SortedRequestDTO.swift | 16 ---------------- .../RequesetDTO/UserSortedRequestDTO.swift | 7 +++++++ .../Network/API/UserAPI/UserAPIEndPoint.swift | 8 ++++---- .../RepositoryImpl/HomeAPIRepositoryImpl.swift | 8 ++++---- .../RepositoryImpl/UserAPIRepositoryImpl.swift | 8 ++++---- .../Domain/UseCaseImpl/PopUpAPIUseCaseImpl.swift | 1 - 8 files changed, 30 insertions(+), 40 deletions(-) create mode 100644 Poppool/Poppool/DataLayer/Network/API/HomeAPI/RequestDTO/HomeSortedRequestDTO.swift delete mode 100644 Poppool/Poppool/DataLayer/Network/API/SortedRequestDTO.swift create mode 100644 Poppool/Poppool/DataLayer/Network/API/UserAPI/RequesetDTO/UserSortedRequestDTO.swift diff --git a/Poppool/Poppool/DataLayer/Network/API/HomeAPI/HomeAPIEndpoint.swift b/Poppool/Poppool/DataLayer/Network/API/HomeAPI/HomeAPIEndpoint.swift index accb193d..1d38114f 100644 --- a/Poppool/Poppool/DataLayer/Network/API/HomeAPI/HomeAPIEndpoint.swift +++ b/Poppool/Poppool/DataLayer/Network/API/HomeAPI/HomeAPIEndpoint.swift @@ -1,16 +1,9 @@ -// -// HomeRepositoryImpl.swift -// Poppool -// -// Created by Porori on 11/26/24. -// - import Foundation struct HomeAPIEndpoint { static func fetchHome( - request: SortedRequestDTO + request: HomeSortedRequestDTO ) -> Endpoint { return Endpoint( baseURL: Secrets.popPoolBaseURL, @@ -21,7 +14,7 @@ struct HomeAPIEndpoint { } static func fetchPopularPopUp( - request: SortedRequestDTO + request: HomeSortedRequestDTO ) -> Endpoint { return Endpoint( baseURL: Secrets.popPoolBaseURL, @@ -32,7 +25,7 @@ struct HomeAPIEndpoint { } static func fetchNewPopUp( - request: SortedRequestDTO + request: HomeSortedRequestDTO ) -> Endpoint { return Endpoint( baseURL: Secrets.popPoolBaseURL, @@ -43,7 +36,7 @@ struct HomeAPIEndpoint { } static func fetchCustomPopUp( - request: SortedRequestDTO + request: HomeSortedRequestDTO ) -> Endpoint { return Endpoint( baseURL: Secrets.popPoolBaseURL, diff --git a/Poppool/Poppool/DataLayer/Network/API/HomeAPI/RequestDTO/HomeSortedRequestDTO.swift b/Poppool/Poppool/DataLayer/Network/API/HomeAPI/RequestDTO/HomeSortedRequestDTO.swift new file mode 100644 index 00000000..1f7b5f72 --- /dev/null +++ b/Poppool/Poppool/DataLayer/Network/API/HomeAPI/RequestDTO/HomeSortedRequestDTO.swift @@ -0,0 +1,7 @@ +import Foundation + +struct HomeSortedRequestDTO: Encodable { + var page: Int32? + var size: Int32? + var sort: String? +} diff --git a/Poppool/Poppool/DataLayer/Network/API/SortedRequestDTO.swift b/Poppool/Poppool/DataLayer/Network/API/SortedRequestDTO.swift deleted file mode 100644 index 14ecf6d6..00000000 --- a/Poppool/Poppool/DataLayer/Network/API/SortedRequestDTO.swift +++ /dev/null @@ -1,16 +0,0 @@ -// -// SortedRequestDTO.swift -// Poppool -// -// Created by SeoJunYoung on 11/28/24. -// - -// TODO: SortedRequestDTO를 HOME, User로 나눠서 폴더에 넣어주기 - -import Foundation - -struct SortedRequestDTO: Encodable { - var page: Int32? - var size: Int32? - var sort: String? -} diff --git a/Poppool/Poppool/DataLayer/Network/API/UserAPI/RequesetDTO/UserSortedRequestDTO.swift b/Poppool/Poppool/DataLayer/Network/API/UserAPI/RequesetDTO/UserSortedRequestDTO.swift new file mode 100644 index 00000000..aee72ce5 --- /dev/null +++ b/Poppool/Poppool/DataLayer/Network/API/UserAPI/RequesetDTO/UserSortedRequestDTO.swift @@ -0,0 +1,7 @@ +import Foundation + +struct UserSortedRequestDTO: Encodable { + var page: Int32? + var size: Int32? + var sort: String? +} diff --git a/Poppool/Poppool/DataLayer/Network/API/UserAPI/UserAPIEndPoint.swift b/Poppool/Poppool/DataLayer/Network/API/UserAPI/UserAPIEndPoint.swift index 3ddc45e1..eca9ac14 100644 --- a/Poppool/Poppool/DataLayer/Network/API/UserAPI/UserAPIEndPoint.swift +++ b/Poppool/Poppool/DataLayer/Network/API/UserAPI/UserAPIEndPoint.swift @@ -142,7 +142,7 @@ struct UserAPIEndPoint { ) } - static func getMyCommentedPopUp(request: SortedRequestDTO) -> Endpoint { + static func getMyCommentedPopUp(request: UserSortedRequestDTO) -> Endpoint { return Endpoint( baseURL: Secrets.popPoolBaseURL, path: "/users/commented/popup", @@ -151,7 +151,7 @@ struct UserAPIEndPoint { ) } - static func getBlockUserList(request: SortedRequestDTO) -> Endpoint { + static func getBlockUserList(request: UserSortedRequestDTO) -> Endpoint { return Endpoint( baseURL: Secrets.popPoolBaseURL, path: "/users/blocked", @@ -176,7 +176,7 @@ struct UserAPIEndPoint { ) } - static func getRecentPopUp(request: SortedRequestDTO) -> Endpoint { + static func getRecentPopUp(request: UserSortedRequestDTO) -> Endpoint { return Endpoint( baseURL: Secrets.popPoolBaseURL, path: "/users/recent-popupstores", @@ -185,7 +185,7 @@ struct UserAPIEndPoint { ) } - static func getBookmarkPopUp(request: SortedRequestDTO) -> Endpoint { + static func getBookmarkPopUp(request: UserSortedRequestDTO) -> Endpoint { return Endpoint( baseURL: Secrets.popPoolBaseURL, path: "/users/bookmark-popupstores", diff --git a/Poppool/Poppool/DataLayer/RepositoryImpl/HomeAPIRepositoryImpl.swift b/Poppool/Poppool/DataLayer/RepositoryImpl/HomeAPIRepositoryImpl.swift index 2e432b88..bd4d02e2 100644 --- a/Poppool/Poppool/DataLayer/RepositoryImpl/HomeAPIRepositoryImpl.swift +++ b/Poppool/Poppool/DataLayer/RepositoryImpl/HomeAPIRepositoryImpl.swift @@ -12,25 +12,25 @@ final class HomeAPIRepositoryImpl: HomeAPIRepository { } func fetchHome(page: Int32?, size: Int32?, sort: String?) -> Observable { - let request = SortedRequestDTO(page: page, size: size, sort: sort) + let request = HomeSortedRequestDTO(page: page, size: size, sort: sort) let endPoint = HomeAPIEndpoint.fetchHome(request: request) return provider.requestData(with: endPoint, interceptor: tokenInterceptor).map({ $0.toDomain() }) } func fetchCustomPopUp(page: Int32?, size: Int32?, sort: String?) -> Observable { - let request = SortedRequestDTO(page: page, size: size, sort: sort) + let request = HomeSortedRequestDTO(page: page, size: size, sort: sort) let endPoint = HomeAPIEndpoint.fetchCustomPopUp(request: request) return provider.requestData(with: endPoint, interceptor: tokenInterceptor).map({ $0.toDomain() }) } func fetchNewPopUp(page: Int32?, size: Int32?, sort: String?) -> Observable { - let request = SortedRequestDTO(page: page, size: size, sort: sort) + let request = HomeSortedRequestDTO(page: page, size: size, sort: sort) let endPoint = HomeAPIEndpoint.fetchNewPopUp(request: request) return provider.requestData(with: endPoint, interceptor: tokenInterceptor).map({ $0.toDomain() }) } func fetchPopularPopUp(page: Int32?, size: Int32?, sort: String?) -> Observable { - let request = SortedRequestDTO(page: page, size: size, sort: sort) + let request = HomeSortedRequestDTO(page: page, size: size, sort: sort) let endPoint = HomeAPIEndpoint.fetchPopularPopUp(request: request) return provider.requestData(with: endPoint, interceptor: tokenInterceptor).map({ $0.toDomain() }) } diff --git a/Poppool/Poppool/DataLayer/RepositoryImpl/UserAPIRepositoryImpl.swift b/Poppool/Poppool/DataLayer/RepositoryImpl/UserAPIRepositoryImpl.swift index d52ddf0b..c8d3c00b 100644 --- a/Poppool/Poppool/DataLayer/RepositoryImpl/UserAPIRepositoryImpl.swift +++ b/Poppool/Poppool/DataLayer/RepositoryImpl/UserAPIRepositoryImpl.swift @@ -114,13 +114,13 @@ final class UserAPIRepositoryImpl: UserAPIRepository { size: Int32?, sort: String? ) -> Observable { - let request = SortedRequestDTO(page: page, size: size, sort: sort) + let request = UserSortedRequestDTO(page: page, size: size, sort: sort) let endPoint = UserAPIEndPoint.getMyCommentedPopUp(request: request) return provider.requestData(with: endPoint, interceptor: tokenInterceptor).map { $0.toDomain() } } func getBlockUserList(page: Int32?, size: Int32?, sort: String?) -> Observable { - let request = SortedRequestDTO(page: page, size: size, sort: sort) + let request = UserSortedRequestDTO(page: page, size: size, sort: sort) let endPoint = UserAPIEndPoint.getBlockUserList(request: request) return provider.requestData(with: endPoint, interceptor: tokenInterceptor).map { $0.toDomain() } } @@ -136,13 +136,13 @@ final class UserAPIRepositoryImpl: UserAPIRepository { } func getRecentPopUp(page: Int32?, size: Int32?, sort: String?) -> Observable { - let request = SortedRequestDTO(page: page, size: size, sort: sort) + let request = UserSortedRequestDTO(page: page, size: size, sort: sort) let endPoint = UserAPIEndPoint.getRecentPopUp(request: request) return provider.requestData(with: endPoint, interceptor: tokenInterceptor).map { $0.toDomain() } } func getBookmarkPopUp(page: Int32?, size: Int32?, sort: String?) -> Observable { - let request = SortedRequestDTO(page: page, size: size, sort: sort) + let request = UserSortedRequestDTO(page: page, size: size, sort: sort) let endPoint = UserAPIEndPoint.getBookmarkPopUp(request: request) return provider.requestData(with: endPoint, interceptor: tokenInterceptor).map { $0.toDomain() } } diff --git a/Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/PopUpAPIUseCaseImpl.swift b/Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/PopUpAPIUseCaseImpl.swift index 4e53f095..c199fddb 100644 --- a/Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/PopUpAPIUseCaseImpl.swift +++ b/Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/PopUpAPIUseCaseImpl.swift @@ -31,7 +31,6 @@ final class PopUpAPIUseCaseImpl: PopUpAPIUseCase { } func getPopUpComment(commentType: String?, page: Int32?, size: Int32?, sort: String?, popUpStoreId: Int64) -> Observable { - let request = GetPopUpCommentRequestDTO(commentType: commentType, page: page, size: size, sort: sort, popUpStoreId: popUpStoreId) return repository.getPopUpComment(commentType: commentType, page: page, size: size, sort: sort, popUpStoreId: popUpStoreId) } } From 8be3180472bc223a2287d56ea552be46bf490bef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=84=80=E1=85=B5=E1=86=B7=E1=84=80=E1=85=B5=E1=84=92?= =?UTF-8?q?=E1=85=A7=E1=86=AB?= Date: Sun, 20 Apr 2025 02:30:07 +0900 Subject: [PATCH 36/83] =?UTF-8?q?refactor/#117:=20Admin=20=EB=8F=84?= =?UTF-8?q?=EB=A9=94=EC=9D=B8=20=EB=A0=88=EC=9D=B4=EC=96=B4=20DTO=20?= =?UTF-8?q?=EC=A0=9C=EA=B1=B0=20=EB=B0=8F=20Params=20=EA=B0=9D=EC=B2=B4=20?= =?UTF-8?q?=EC=A0=81=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../RepositoryImpl/AdminRepositoryImpl.swift | 189 +++++++++--------- .../Domain/UseCaseImpl/AdminUseCaseImpl.swift | 44 ++-- .../Entity/AdminResponse/AdminStore.swift | 8 + .../AdminResponse/AdminStoreDetail.swift | 26 +++ .../AdminResponse/Params/AdminParams.swift | 49 +++++ .../Repository/AdminRepository.swift | 21 +- .../UseCase/AdminUseCase.swift | 22 +- .../Scene/Admin/AdminReactor.swift | 12 +- .../PopUpStoreRegisterReactor.swift | 67 +++---- .../Scene/Admin/AdminViewController.swift | 66 ++++-- .../Scene/MyPage/Main/MyPageReactor.swift | 11 +- 11 files changed, 305 insertions(+), 210 deletions(-) create mode 100644 Poppool/Poppool/DomainLayer/DomainInterface/Entity/AdminResponse/AdminStore.swift create mode 100644 Poppool/Poppool/DomainLayer/DomainInterface/Entity/AdminResponse/AdminStoreDetail.swift create mode 100644 Poppool/Poppool/DomainLayer/DomainInterface/Entity/AdminResponse/Params/AdminParams.swift diff --git a/Poppool/Poppool/DataLayer/RepositoryImpl/AdminRepositoryImpl.swift b/Poppool/Poppool/DataLayer/RepositoryImpl/AdminRepositoryImpl.swift index 71de6881..46cf88d8 100644 --- a/Poppool/Poppool/DataLayer/RepositoryImpl/AdminRepositoryImpl.swift +++ b/Poppool/Poppool/DataLayer/RepositoryImpl/AdminRepositoryImpl.swift @@ -1,5 +1,4 @@ import Foundation - import Alamofire import RxSwift @@ -15,7 +14,7 @@ final class AdminRepositoryImpl: AdminRepository { } // MARK: - Store Methods - func fetchStoreList(query: String?, page: Int, size: Int) -> Observable { + func fetchStoreList(query: String?, page: Int, size: Int) -> Observable<[AdminStore]> { let endpoint = AdminAPIEndpoint.fetchStoreList( query: query, page: page, @@ -25,131 +24,135 @@ final class AdminRepositoryImpl: AdminRepository { with: endpoint, interceptor: tokenInterceptor ) + .map { response in + response.popUpStoreList?.map { + AdminStore(id: $0.id, name: $0.name, categoryName: $0.categoryName, mainImageUrl: $0.mainImageUrl) + } ?? [] + } } - func fetchStoreDetail(id: Int64) -> Observable { + func fetchStoreDetail(id: Int64) -> Observable { let endpoint = AdminAPIEndpoint.fetchStoreDetail(id: id) return provider.requestData( with: endpoint, interceptor: tokenInterceptor ) + .map { dto in + AdminStoreDetail( + id: dto.id, + name: dto.name, + categoryId: dto.categoryId, + categoryName: dto.categoryName, + description: dto.desc, + address: dto.address, + startDate: dto.startDate, + endDate: dto.endDate, + createUserId: dto.createUserId, + createDateTime: dto.createDateTime, + mainImageUrl: dto.mainImageUrl, + bannerYn: dto.bannerYn, + images: dto.imageList.map { + AdminStoreDetail.StoreImage( + id: $0.id, + imageUrl: $0.imageUrl + ) + }, + latitude: dto.latitude, + longitude: dto.longitude, + markerTitle: dto.markerTitle, + markerSnippet: dto.markerSnippet + ) + } .catch { error in if case .responseSerializationFailed = error as? AFError { - // 빈 데이터 응답시 기본값 반환 - return Observable.just(GetAdminPopUpStoreDetailResponseDTO.empty) + return Observable.empty() } throw error } } - func createStore(request: CreatePopUpStoreRequestDTO) -> Observable { - Logger.log(message: "createStore API 호출 시작", category: .info) - let endpoint = AdminAPIEndpoint.createStore(request: request) - Logger.log(message: "Request URL: \(endpoint.baseURL + endpoint.path)", category: .info) - Logger.log(message: "Request Body: \(request)", category: .info) - - return provider.requestData( - with: endpoint, - interceptor: tokenInterceptor - ) - .catch { error -> Observable in - if case .responseSerializationFailed(let reason) = error as? AFError, - case .inputDataNilOrZeroLength = reason { - // 빈 응답 데이터일 경우 성공으로 간주 - Logger.log(message: "빈 응답 데이터 처리: 성공으로 간주", category: .info) - return Observable.just(EmptyResponse()) - } - throw error - } - .do( - onNext: { _ in - Logger.log(message: "createStore API 호출 성공", category: .info) - }, - onError: { error in - Logger.log(message: "createStore API 호출 실패: \(error)", category: .error) - } + func createStore(params: CreateStoreParams) -> Completable { + let dto = CreatePopUpStoreRequestDTO( + name: params.name, + categoryId: params.categoryId, + desc: params.desc, + address: params.address, + startDate: params.startDate, + endDate: params.endDate, + mainImageUrl: params.mainImageUrl, + imageUrlList: params.imageUrlList, + latitude: params.latitude, + longitude: params.longitude, + markerTitle: params.markerTitle, + markerSnippet: params.markerSnippet, + startDateBeforeEndDate: params.startDateBeforeEndDate ) + let endpoint = AdminAPIEndpoint.createStore(request: dto) + return provider.request(with: endpoint, interceptor: tokenInterceptor) } - func updateStore(request: UpdatePopUpStoreRequestDTO) -> Observable { - let endpoint = AdminAPIEndpoint.updateStore(request: request) - - Logger.log(message: """ - Store Update 요청: - URL: \(endpoint.baseURL + endpoint.path) - Method: PUT - Request: \(request) - """, category: .debug) - - return provider.requestData( - with: endpoint, - interceptor: tokenInterceptor + func updateStore(params: UpdateStoreParams) -> Completable { + let dto = UpdatePopUpStoreRequestDTO( + popUpStore: UpdatePopUpStoreRequestDTO.PopUpStore( + id: params.id, + name: params.name, + categoryId: params.categoryId, + desc: params.desc, + address: params.address, + startDate: params.startDate, + endDate: params.endDate, + mainImageUrl: params.mainImageUrl, + bannerYn: !params.mainImageUrl.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty, + imageUrl: params.imageUrlList.compactMap { $0 }, + startDateBeforeEndDate: params.startDateBeforeEndDate + ), + location: UpdatePopUpStoreRequestDTO.Location( + latitude: params.latitude, + longitude: params.longitude, + markerTitle: params.markerTitle, + markerSnippet: params.markerSnippet + ), + imagesToAdd: params.imageUrlList.compactMap { $0 }, + imagesToDelete: params.imagesToDelete ) - .catch { error -> Observable in - Logger.log(message: "Update Store Error 발생: \(error)", category: .error) - - if let afError = error as? AFError { - switch afError { - case .responseSerializationFailed(let reason): - Logger.log(message: "Serialization 실패 reason: \(reason)", category: .error) - if case .inputDataNilOrZeroLength = reason { - Logger.log(message: "빈 응답 데이터 - 성공으로 처리", category: .info) - return Observable.just(EmptyResponse()) - } - default: - Logger.log(message: "기타 AFError: \(afError)", category: .error) - } - } - - throw error - } - .do(onNext: { _ in - Logger.log(message: "Store Update 성공", category: .info) - }, onError: { error in - Logger.log(message: "Store Update 최종 실패: \(error)", category: .error) - }) + let endpoint = AdminAPIEndpoint.updateStore(request: dto) + return provider.request(with: endpoint, interceptor: tokenInterceptor) } - func deleteStore(id: Int64) -> Observable { - Logger.log(message: "deleteStore API 호출 시작", category: .info) + func deleteStore(id: Int64) -> Completable { let endpoint = AdminAPIEndpoint.deleteStore(id: id) return provider.request(with: endpoint, interceptor: tokenInterceptor) - .andThen(Observable.just(EmptyResponse())) - .do( - onNext: { _ in - Logger.log(message: "deleteStore API 호출 성공", category: .info) - }, - onError: { error in - Logger.log(message: "deleteStore API 호출 실패: \(error)", category: .error) - } - ) } // MARK: - Notice Methods - func createNotice(request: CreateNoticeRequestDTO) -> Observable { - let endpoint = AdminAPIEndpoint.createNotice(request: request) - return provider.requestData( - with: endpoint, - interceptor: tokenInterceptor + func createNotice(params: CreateNoticeParams) -> Completable { + let dto = CreateNoticeRequestDTO( + title: params.title, + content: params.content, + imageUrlList: params.imageUrlList ) + let endpoint = AdminAPIEndpoint.createNotice(request: dto) + return provider.request(with: endpoint, interceptor: tokenInterceptor) } - func updateNotice(id: Int64, request: UpdateNoticeRequestDTO) -> Observable { - let endpoint = AdminAPIEndpoint.updateNotice(id: id, request: request) - return provider.requestData( - with: endpoint, - interceptor: tokenInterceptor + func updateNotice(params: UpdateNoticeParams) -> Completable { + let dto = UpdateNoticeRequestDTO( + title: params.title, + content: params.content, + imageUrlList: params.imageUrlList, + imagesToDelete: params.imagesToDelete ) + let endpoint = AdminAPIEndpoint.updateNotice(id: params.id, request: dto) + return provider.request(with: endpoint, interceptor: tokenInterceptor) } - func deleteNotice(id: Int64) -> Observable { + func deleteNotice(id: Int64) -> Completable { let endpoint = AdminAPIEndpoint.deleteNotice(id: id) - return provider.requestData( - with: endpoint, - interceptor: tokenInterceptor - ) + return provider.request(with: endpoint, interceptor: tokenInterceptor) } } + +// Helper extension - keeping this for utility purposes extension GetAdminPopUpStoreDetailResponseDTO { static var empty: GetAdminPopUpStoreDetailResponseDTO { return GetAdminPopUpStoreDetailResponseDTO( diff --git a/Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/AdminUseCaseImpl.swift b/Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/AdminUseCaseImpl.swift index 77097ed2..1f11e19f 100644 --- a/Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/AdminUseCaseImpl.swift +++ b/Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/AdminUseCaseImpl.swift @@ -1,5 +1,4 @@ import Foundation - import RxSwift final class AdminUseCaseImpl: AdminUseCase { @@ -10,53 +9,52 @@ final class AdminUseCaseImpl: AdminUseCase { self.repository = repository } - func fetchStoreList(query: String?, page: Int, size: Int) -> Observable { + func fetchStoreList(query: String?, page: Int, size: Int) -> Observable<[AdminStore]> { return repository.fetchStoreList(query: query, page: page, size: size) } - func fetchStoreDetail(id: Int64) -> Observable { + func fetchStoreDetail(id: Int64) -> Observable { return repository.fetchStoreDetail(id: id) } - func createStore(request: CreatePopUpStoreRequestDTO) -> Observable { - Logger.log(message: "createStore 호출 - 요청 데이터: \(request)", category: .debug) - return repository.createStore(request: request) - .do(onNext: { _ in - Logger.log(message: "createStore 성공", category: .info) - }, onError: { error in + func createStore(params: CreateStoreParams) -> Completable { + Logger.log(message: "createStore 호출 - 스토어명: \(params.name)", category: .debug) + return repository.createStore(params: params) + .do(onError: { error in Logger.log(message: "createStore 실패 - Error: \(error)", category: .error) + }, onCompleted: { + Logger.log(message: "createStore 성공", category: .info) }) } - func updateStore(request: UpdatePopUpStoreRequestDTO) -> Observable { + func updateStore(params: UpdateStoreParams) -> Completable { Logger.log(message: """ Updating store with location: - Latitude: \(request.location.latitude) - Longitude: \(request.location.longitude) + Latitude: \(params.latitude) + Longitude: \(params.longitude) """, category: .debug) - - return repository.updateStore(request: request) - .do(onNext: { _ in - Logger.log(message: "Store update successful", category: .debug) - }, onError: { error in + return repository.updateStore(params: params) + .do(onError: { error in Logger.log(message: "Store update failed: \(error)", category: .error) + }, onCompleted: { + Logger.log(message: "Store update successful", category: .debug) }) } - func deleteStore(id: Int64) -> Observable { + func deleteStore(id: Int64) -> Completable { return repository.deleteStore(id: id) } // Notice - func createNotice(request: CreateNoticeRequestDTO) -> Observable { - return repository.createNotice(request: request) + func createNotice(params: CreateNoticeParams) -> Completable { + return repository.createNotice(params: params) } - func updateNotice(id: Int64, request: UpdateNoticeRequestDTO) -> Observable { - return repository.updateNotice(id: id, request: request) + func updateNotice(params: UpdateNoticeParams) -> Completable { + return repository.updateNotice(params: params) } - func deleteNotice(id: Int64) -> Observable { + func deleteNotice(id: Int64) -> Completable { return repository.deleteNotice(id: id) } } diff --git a/Poppool/Poppool/DomainLayer/DomainInterface/Entity/AdminResponse/AdminStore.swift b/Poppool/Poppool/DomainLayer/DomainInterface/Entity/AdminResponse/AdminStore.swift new file mode 100644 index 00000000..58db4f63 --- /dev/null +++ b/Poppool/Poppool/DomainLayer/DomainInterface/Entity/AdminResponse/AdminStore.swift @@ -0,0 +1,8 @@ +import Foundation + +struct AdminStore { + let id: Int64 + let name: String + let categoryName: String + let mainImageUrl: String +} diff --git a/Poppool/Poppool/DomainLayer/DomainInterface/Entity/AdminResponse/AdminStoreDetail.swift b/Poppool/Poppool/DomainLayer/DomainInterface/Entity/AdminResponse/AdminStoreDetail.swift new file mode 100644 index 00000000..dc8f91ef --- /dev/null +++ b/Poppool/Poppool/DomainLayer/DomainInterface/Entity/AdminResponse/AdminStoreDetail.swift @@ -0,0 +1,26 @@ +import Foundation + +struct AdminStoreDetail { + let id: Int64 + let name: String + let categoryId: Int64 + let categoryName: String + let description: String + let address: String + let startDate: String + let endDate: String + let createUserId: String + let createDateTime: String + let mainImageUrl: String + let bannerYn: Bool + let images: [StoreImage] + let latitude: Double + let longitude: Double + let markerTitle: String + let markerSnippet: String + + struct StoreImage { + let id: Int64 + let imageUrl: String + } +} diff --git a/Poppool/Poppool/DomainLayer/DomainInterface/Entity/AdminResponse/Params/AdminParams.swift b/Poppool/Poppool/DomainLayer/DomainInterface/Entity/AdminResponse/Params/AdminParams.swift new file mode 100644 index 00000000..8f5a9d7e --- /dev/null +++ b/Poppool/Poppool/DomainLayer/DomainInterface/Entity/AdminResponse/Params/AdminParams.swift @@ -0,0 +1,49 @@ +import Foundation + +struct CreateStoreParams { + let name: String + let categoryId: Int64 + let desc: String + let address: String + let startDate: String + let endDate: String + let mainImageUrl: String + let imageUrlList: [String?] + let latitude: Double + let longitude: Double + let markerTitle: String + let markerSnippet: String + let startDateBeforeEndDate: Bool +} + +struct UpdateStoreParams { + let id: Int64 + let name: String + let categoryId: Int64 + let desc: String + let address: String + let startDate: String + let endDate: String + let mainImageUrl: String + let imageUrlList: [String?] + let imagesToDelete: [Int64] + let latitude: Double + let longitude: Double + let markerTitle: String + let markerSnippet: String + let startDateBeforeEndDate: Bool +} + +struct CreateNoticeParams { + let title: String + let content: String + let imageUrlList: [String] +} + +struct UpdateNoticeParams { + let id: Int64 + let title: String + let content: String + let imageUrlList: [String] + let imagesToDelete: [Int64] +} diff --git a/Poppool/Poppool/DomainLayer/DomainInterface/Repository/AdminRepository.swift b/Poppool/Poppool/DomainLayer/DomainInterface/Repository/AdminRepository.swift index da4112ec..8f87a343 100644 --- a/Poppool/Poppool/DomainLayer/DomainInterface/Repository/AdminRepository.swift +++ b/Poppool/Poppool/DomainLayer/DomainInterface/Repository/AdminRepository.swift @@ -3,13 +3,16 @@ import Foundation import RxSwift protocol AdminRepository { - func fetchStoreList(query: String?, page: Int, size: Int) -> Observable - func fetchStoreDetail(id: Int64) -> Observable - func createStore(request: CreatePopUpStoreRequestDTO) -> Observable - func updateStore(request: UpdatePopUpStoreRequestDTO) -> Observable - func deleteStore(id: Int64) -> Observable - - func createNotice(request: CreateNoticeRequestDTO) -> Observable - func updateNotice(id: Int64, request: UpdateNoticeRequestDTO) -> Observable - func deleteNotice(id: Int64) -> Observable + func fetchStoreList(query: String?, page: Int, size: Int) -> Observable<[AdminStore]> + func fetchStoreDetail(id: Int64) -> Observable + + func createStore(params: CreateStoreParams) -> Completable + + func updateStore(params: UpdateStoreParams) -> Completable + + func deleteStore(id: Int64) -> Completable + + func createNotice(params: CreateNoticeParams) -> Completable + func updateNotice(params: UpdateNoticeParams) -> Completable + func deleteNotice(id: Int64) -> Completable } diff --git a/Poppool/Poppool/DomainLayer/DomainInterface/UseCase/AdminUseCase.swift b/Poppool/Poppool/DomainLayer/DomainInterface/UseCase/AdminUseCase.swift index 390c45fb..08c59b15 100644 --- a/Poppool/Poppool/DomainLayer/DomainInterface/UseCase/AdminUseCase.swift +++ b/Poppool/Poppool/DomainLayer/DomainInterface/UseCase/AdminUseCase.swift @@ -1,16 +1,18 @@ import Foundation - import RxSwift protocol AdminUseCase { - func fetchStoreList(query: String?, page: Int, size: Int) -> Observable - func fetchStoreDetail(id: Int64) -> Observable - func createStore(request: CreatePopUpStoreRequestDTO) -> Observable - func updateStore(request: UpdatePopUpStoreRequestDTO) -> Observable - func deleteStore(id: Int64) -> Observable - // Notice - func createNotice(request: CreateNoticeRequestDTO) -> Observable - func updateNotice(id: Int64, request: UpdateNoticeRequestDTO) -> Observable - func deleteNotice(id: Int64) -> Observable + func fetchStoreList(query: String?, page: Int, size: Int) -> Observable<[AdminStore]> + func fetchStoreDetail(id: Int64) -> Observable + + func createStore(params: CreateStoreParams) -> Completable + + func updateStore(params: UpdateStoreParams) -> Completable + + func deleteStore(id: Int64) -> Completable + + func createNotice(params: CreateNoticeParams) -> Completable + func updateNotice(params: UpdateNoticeParams) -> Completable + func deleteNotice(id: Int64) -> Completable } diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminReactor.swift index e258e6df..12382108 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminReactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminReactor.swift @@ -14,18 +14,18 @@ final class AdminReactor: Reactor { } enum Mutation { - case setStores([GetAdminPopUpStoreListResponseDTO.PopUpStore]) + case setStores([AdminStore]) case setIsLoading(Bool) case navigateToRegister(Bool) - case navigateToEdit(GetAdminPopUpStoreListResponseDTO.PopUpStore) // ✅ 수정 데이터 추가 + case navigateToEdit(AdminStore) // ✅ 수정 데이터 추가 } struct State { - var storeList: [GetAdminPopUpStoreListResponseDTO.PopUpStore] = [] + var storeList: [AdminStore] = [] var isLoading: Bool = false var shouldNavigateToRegister: Bool = false - var selectedStoreForEdit: GetAdminPopUpStoreListResponseDTO.PopUpStore? // ✅ 추가 + var selectedStoreForEdit: AdminStore? // ✅ 추가 } @@ -44,7 +44,7 @@ final class AdminReactor: Reactor { return .concat([ .just(.setIsLoading(true)), useCase.fetchStoreList(query: nil, page: 0, size: 100) - .map { .setStores($0.popUpStoreList ?? []) }, // ✅ nil 방지 + .map { .setStores($0) }, // ✅ nil 방지 .just(.setIsLoading(false)) ]) @@ -57,7 +57,7 @@ final class AdminReactor: Reactor { }, onError: { error in Logger.log(message: "조회 실패 - 에러: \(error.localizedDescription)", category: .error) }) - .map { .setStores($0.popUpStoreList ?? []) }, // ✅ nil 방지 + .map { .setStores($0) }, // ✅ nil 방지 .just(.setIsLoading(false)) ]) diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterReactor.swift index e2c6cb67..ab03c402 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterReactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterReactor.swift @@ -85,7 +85,7 @@ final class PopUpStoreRegisterReactor: Reactor { case addDeletedImage(id: Int64, path: String) // 기존 스토어 데이터 설정 - case setStoreDetail(GetAdminPopUpStoreDetailResponseDTO) + case setStoreDetail(AdminStoreDetail) case setOriginalImageIds([String: Int64]) // UI 상태 관리 @@ -357,7 +357,7 @@ final class PopUpStoreRegisterReactor: Reactor { newState.address = storeDetail.address newState.lat = String(storeDetail.latitude) newState.lon = String(storeDetail.longitude) - newState.description = storeDetail.desc + newState.description = storeDetail.description // 날짜 파싱 let isoFormatter = ISO8601DateFormatter() @@ -615,7 +615,7 @@ final class PopUpStoreRegisterReactor: Reactor { // 이미지 ID 매핑 초기화 및 설정 var originalImageIds: [String: Int64] = [:] - for image in storeDetail.imageList { + for image in storeDetail.images { originalImageIds[image.imageUrl] = image.id } @@ -629,7 +629,7 @@ final class PopUpStoreRegisterReactor: Reactor { let dispatchGroup = DispatchGroup() let imageObservable = Observable.create { observer in - for imageData in storeDetail.imageList { + for imageData in storeDetail.images { // 중복 이미지 건너뛰기 if loadedImageUrls.contains(imageData.imageUrl) { continue @@ -742,7 +742,7 @@ final class PopUpStoreRegisterReactor: Reactor { return false } ?? imagePaths.first ?? "" - let request = CreatePopUpStoreRequestDTO( + let params = CreateStoreParams( name: state.name, categoryId: state.categoryId, desc: state.description, @@ -758,8 +758,8 @@ final class PopUpStoreRegisterReactor: Reactor { startDateBeforeEndDate: true ) - return self.adminUseCase.createStore(request: request) - .map { _ in .setSuccess(true) } + return self.adminUseCase.createStore(params: params) + .andThen(Observable.just(.setSuccess(true))) } } @@ -856,43 +856,26 @@ final class PopUpStoreRegisterReactor: Reactor { mainImage = "" } - // 업데이트 요청 생성 - let request = UpdatePopUpStoreRequestDTO( - popUpStore: .init( - id: storeId, - name: state.name, - categoryId: state.categoryId, - desc: state.description, - address: state.address, - startDate: dates.startDate, - endDate: dates.endDate, - mainImageUrl: mainImage, - bannerYn: !mainImage.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty, - imageUrl: allPaths, - startDateBeforeEndDate: true - ), - location: .init( - latitude: Double(state.lat) ?? 0, - longitude: Double(state.lon) ?? 0, - markerTitle: state.markerTitle, - markerSnippet: state.markerSnippet - ), - imagesToAdd: newImagePaths ?? [], - imagesToDelete: state.deletedImageIds + let params = UpdateStoreParams( + id: storeId, + name: state.name, + categoryId: state.categoryId, + desc: state.description, + address: state.address, + startDate: dates.startDate, + endDate: dates.endDate, + mainImageUrl: mainImage, + imageUrlList: allPaths, + imagesToDelete: state.deletedImageIds, + latitude: Double(state.lat) ?? 0, + longitude: Double(state.lon) ?? 0, + markerTitle: state.markerTitle, + markerSnippet: state.markerSnippet, + startDateBeforeEndDate: true ) - // 서버에 스토어 정보 업데이트 요청 - return adminUseCase.updateStore(request: request) - .flatMap { [weak self] _ -> Observable in - guard let self = self else { return .empty() } - - // S3에서 삭제된 이미지 제거 - if !state.deletedImagePaths.isEmpty { - self.deleteImagesFromS3(state.deletedImagePaths) - } - - return .just(.setSuccess(true)) - } + return self.adminUseCase.updateStore(params: params) + .andThen(Observable.just(.setSuccess(true))) } } diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminViewController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminViewController.swift index b38efef8..993b0cd2 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminViewController.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminViewController.swift @@ -16,7 +16,7 @@ final class AdminViewController: BaseViewController, View { private let adminUseCase: AdminUseCase // MARK: - Init - init(nickname: String, adminUseCase: AdminUseCase = AdminUseCaseImpl(repository: AdminRepositoryImpl(provider: ProviderImpl()))) { + init(nickname: String, adminUseCase: AdminUseCase) { self.nickname = nickname self.adminUseCase = adminUseCase self.mainView = AdminView(frame: .zero) @@ -122,7 +122,6 @@ final class AdminViewController: BaseViewController, View { alert.addAction(UIAlertAction(title: "취소", style: .cancel)) - // iPad support if let popoverController = alert.popoverPresentationController { popoverController.sourceView = mainView.menuButton popoverController.sourceRect = mainView.menuButton.bounds @@ -151,7 +150,7 @@ final class AdminViewController: BaseViewController, View { present(alert, animated: true) } - private func showDeleteConfirmation(for store: GetAdminPopUpStoreListResponseDTO.PopUpStore) { + private func showDeleteConfirmation(for store: AdminStore) { let alert = UIAlertController( title: "삭제 확인", message: "\(store.name)을(를) 삭제하시겠습니까?", @@ -166,22 +165,43 @@ final class AdminViewController: BaseViewController, View { present(alert, animated: true) } - private func editStore(_ store: GetAdminPopUpStoreListResponseDTO.PopUpStore) { - let registerVC = PopUpStoreRegisterViewController( - nickname: nickname, - adminUseCase: adminUseCase, - editingStore: store - ) - - // 수정할 때도 completionHandler 추가 - registerVC.completionHandler = { [weak self] in - self?.reactor?.action.onNext(.reloadData) - } - - navigationController?.pushViewController(registerVC, animated: true) + private func editStore(_ store: AdminStore) { + adminUseCase.fetchStoreDetail(id: store.id) + .observe(on: MainScheduler.instance) + .subscribe( + onNext: { [weak self] storeDetail in + guard let self = self else { return } + let updateParams = UpdateStoreParams( + id: storeDetail.id, + name: storeDetail.name, + categoryId: storeDetail.categoryId, + desc: storeDetail.description, + address: storeDetail.address, + startDate: storeDetail.startDate, + endDate: storeDetail.endDate, + mainImageUrl: storeDetail.mainImageUrl, + imageUrlList: storeDetail.images.map { $0.imageUrl }, + imagesToDelete: [], + latitude: storeDetail.latitude, + longitude: storeDetail.longitude, + markerTitle: storeDetail.markerTitle, + markerSnippet: storeDetail.markerSnippet, + startDateBeforeEndDate: true + ) + let registerVC = PopUpStoreRegisterViewController( + nickname: self.nickname, + adminUseCase: self.adminUseCase + ) + self.navigationController?.pushViewController(registerVC, animated: true) + }, + onError: { [weak self] error in + self?.showErrorAlert(message: "스토어 정보 조회 실패: \(error.localizedDescription)") + } + ) + .disposed(by: disposeBag) } - private func deleteStore(_ store: GetAdminPopUpStoreListResponseDTO.PopUpStore) { + private func deleteStore(_ store: AdminStore) { // 먼저 스토어 상세 정보를 가져와 모든 이미지 URL을 확인 adminUseCase.fetchStoreDetail(id: store.id) .observe(on: MainScheduler.instance) @@ -194,7 +214,7 @@ final class AdminViewController: BaseViewController, View { allImageUrls.append(storeDetail.mainImageUrl) // 다른 모든 이미지 URL 추가 - let otherImageUrls = storeDetail.imageList.map { $0.imageUrl } + let otherImageUrls = storeDetail.images.map { $0.imageUrl } allImageUrls.append(contentsOf: otherImageUrls) allImageUrls = Array(Set(allImageUrls)) @@ -206,7 +226,7 @@ final class AdminViewController: BaseViewController, View { .andThen(self.adminUseCase.deleteStore(id: store.id)) .observe(on: MainScheduler.instance) .subscribe( - onNext: { [weak self] _ in + onCompleted: { [weak self] in self?.reactor?.action.onNext(.reloadData) ToastMaker.createToast(message: "삭제되었습니다") }, @@ -277,7 +297,13 @@ final class AdminViewController: BaseViewController, View { cellIdentifier: AdminStoreCell.identifier, cellType: AdminStoreCell.self )) { _, item, cell in - cell.configure(with: item) + let dto = GetAdminPopUpStoreListResponseDTO.PopUpStore( + id: item.id, + name: item.name, + categoryName: item.categoryName, + mainImageUrl: item.mainImageUrl + ) + cell.configure(with: dto) } .disposed(by: disposeBag) } diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/MyPageReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/MyPageReactor.swift index 3777f7e1..1b271497 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/MyPageReactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/MyPageReactor.swift @@ -263,21 +263,18 @@ final class MyPageReactor: Reactor { let navigationController = UINavigationController(rootViewController: nextController) navigationController.modalPresentationStyle = .fullScreen controller.present(navigationController, animated: true) - case .moveToMyCommentScene(let controller): let nextController = MyCommentController() nextController.reactor = MyCommentReactor() controller.navigationController?.pushViewController(nextController, animated: true) - case .moveToAdminScene(let controller): // 관리자 VC let nickname = profileSection.inputDataList.first?.nickName ?? "" - let adminVC = AdminViewController(nickname: nickname) - adminVC.reactor = AdminReactor( - useCase: AdminUseCaseImpl( - repository: AdminRepositoryImpl(provider: ProviderImpl()) - ) + let adminUseCase = AdminUseCaseImpl( + repository: AdminRepositoryImpl(provider: ProviderImpl()) ) + let adminVC = AdminViewController(nickname: nickname, adminUseCase: adminUseCase) + adminVC.reactor = AdminReactor(useCase: adminUseCase) controller.navigationController?.pushViewController(adminVC, animated: true) } From 0d32c2658da4012a331e7f12fe88a84f068de2f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=84=80=E1=85=B5=E1=86=B7=E1=84=80=E1=85=B5=E1=84=92?= =?UTF-8?q?=E1=85=A7=E1=86=AB?= Date: Sun, 20 Apr 2025 03:00:08 +0900 Subject: [PATCH 37/83] =?UTF-8?q?refactor/#117:=20Map=20API=20=EA=B4=80?= =?UTF-8?q?=EB=A0=A8=20DTO=EC=A0=9C=EA=B1=B0=20=EB=B9=8C=EB=93=9C=ED=85=8C?= =?UTF-8?q?=EC=8A=A4=ED=8A=B8=20=ED=99=95=EC=9D=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../RepositoryImpl/MapRepositoryImpl.swift | 58 ++++++++++++++----- .../Domain/UseCaseImpl/MapUseCaseImpl.swift | 42 ++++++++------ .../Repository/MapRepository.swift | 4 +- 3 files changed, 70 insertions(+), 34 deletions(-) diff --git a/Poppool/Poppool/DataLayer/RepositoryImpl/MapRepositoryImpl.swift b/Poppool/Poppool/DataLayer/RepositoryImpl/MapRepositoryImpl.swift index c78a6af6..2ce6dbeb 100644 --- a/Poppool/Poppool/DataLayer/RepositoryImpl/MapRepositoryImpl.swift +++ b/Poppool/Poppool/DataLayer/RepositoryImpl/MapRepositoryImpl.swift @@ -2,9 +2,8 @@ import Foundation import RxSwift -// MARK: - Implementation final class MapRepositoryImpl: MapRepository { - + private let provider: Provider init(provider: Provider) { @@ -17,7 +16,7 @@ final class MapRepositoryImpl: MapRepository { southWestLat: Double, southWestLon: Double, categories: [Int64] - ) -> Observable<[MapPopUpStoreDTO]> { + ) -> Observable<[MapPopUpStore]> { return provider.requestData( with: MapAPIEndpoint.locations_fetchStoresInBounds( northEastLat: northEastLat, @@ -29,12 +28,30 @@ final class MapRepositoryImpl: MapRepository { interceptor: TokenInterceptor() ) .map { $0.popUpStoreList } + .map { dtoList in + dtoList.map { dto -> MapPopUpStore in + return MapPopUpStore( + id: dto.id, + category: dto.categoryName, + name: dto.name, + address: dto.address, + startDate: dto.startDate, + endDate: dto.endDate, + latitude: dto.latitude, + longitude: dto.longitude, + markerId: dto.id, + markerTitle: dto.markerTitle ?? dto.name, + markerSnippet: dto.markerSnippet ?? "", + mainImageUrl: dto.mainImageUrl + ) + } + } } func searchStores( query: String, categories: [Int64] - ) -> Observable<[MapPopUpStoreDTO]> { + ) -> Observable<[MapPopUpStore]> { return provider.requestData( with: MapAPIEndpoint.locations_searchStores( query: query, @@ -43,10 +60,28 @@ final class MapRepositoryImpl: MapRepository { interceptor: TokenInterceptor() ) .map { $0.popUpStoreList } + .map { dtoList in + dtoList.map { dto -> MapPopUpStore in + return MapPopUpStore( + id: dto.id, + category: dto.categoryName, + name: dto.name, + address: dto.address, + startDate: dto.startDate, + endDate: dto.endDate, + latitude: dto.latitude, + longitude: dto.longitude, + markerId: dto.id, + markerTitle: dto.markerTitle ?? dto.name, + markerSnippet: dto.markerSnippet ?? "", + mainImageUrl: dto.mainImageUrl + ) + } + } } func fetchCategories() -> Observable<[CategoryResponse]> { - Logger.log(message: "카테고리 매핑 요청을 시작합니다.", category: .network) + Logger.log(message: "카테고리 목록 요청을 시작합니다.", category: .network) return provider.requestData( with: SignUpAPIEndpoint.signUp_getCategoryList(), @@ -54,26 +89,19 @@ final class MapRepositoryImpl: MapRepository { ) .do(onNext: { responseDTO in Logger.log( - message: """ - 카테고리 매핑 응답: - - Response: \(responseDTO) - - categoryResponseList: \(responseDTO.categoryResponseList) - """, + message: "카테고리 목록 응답 성공", category: .debug ) }) .map { responseDTO in - let categories = responseDTO.categoryResponseList.map { $0.toDomain() } - Logger.log(message: "매핑된 카테고리 데이터: \(categories)", category: .debug) - return categories + responseDTO.categoryResponseList.map { $0.toDomain() } } .catch { error in Logger.log( - message: "카테고리 매핑 요청 실패: \(error.localizedDescription)", + message: "카테고리 목록 요청 실패: \(error.localizedDescription)", category: .error ) throw error } } - } diff --git a/Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/MapUseCaseImpl.swift b/Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/MapUseCaseImpl.swift index f06968c0..7ffd64c2 100644 --- a/Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/MapUseCaseImpl.swift +++ b/Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/MapUseCaseImpl.swift @@ -21,15 +21,18 @@ final class MapUseCaseImpl: MapUseCase { southWestLon: Double, categories: [Int64] ) -> Observable<[MapPopUpStore]> { - return repository.fetchStoresInBounds( northEastLat: northEastLat, northEastLon: northEastLon, southWestLat: southWestLat, southWestLon: southWestLon, - categories: categories // ← 그대로 넘긴다 + categories: categories ) - .map { $0.map { $0.toDomain() } } + .do(onNext: { stores in + Logger.log(message: "맵 범위 내 스토어 \(stores.count)개 로드됨", category: .debug) + }, onError: { error in + Logger.log(message: "맵 범위 내 스토어 로드 실패: \(error)", category: .error) + }) } func searchStores( @@ -38,23 +41,28 @@ final class MapUseCaseImpl: MapUseCase { ) -> Observable<[MapPopUpStore]> { return repository.searchStores( query: query, - categories: categories.map { Int64($0) ?? 0 } + categories: categories ) - .map { $0.map { $0.toDomain() } } + .do(onNext: { stores in + Logger.log(message: "'\(query)' 검색 결과 \(stores.count)개 로드됨", category: .debug) + }, onError: { error in + Logger.log(message: "스토어 검색 실패: \(error)", category: .error) + }) } + func filterStoresByLocation(_ stores: [MapPopUpStore], selectedRegions: [String]) -> [MapPopUpStore] { - guard !selectedRegions.isEmpty else { return stores } + guard !selectedRegions.isEmpty else { return stores } - return stores.filter { store in - let components = store.address.components(separatedBy: " ") - guard components.count >= 2 else { return false } + return stores.filter { store in + let components = store.address.components(separatedBy: " ") + guard components.count >= 2 else { return false } - let mainRegion = components[0].replacingOccurrences(of: "특별시", with: "") - .replacingOccurrences(of: "광역시", with: "") - let subRegion = components[1] + let mainRegion = components[0].replacingOccurrences(of: "특별시", with: "") + .replacingOccurrences(of: "광역시", with: "") + let subRegion = components[1] - return selectedRegions.contains("\(mainRegion)전체") || - selectedRegions.contains(subRegion) - } - } - } + return selectedRegions.contains("\(mainRegion)전체") || + selectedRegions.contains(subRegion) + } + } +} diff --git a/Poppool/Poppool/DomainLayer/DomainInterface/Repository/MapRepository.swift b/Poppool/Poppool/DomainLayer/DomainInterface/Repository/MapRepository.swift index 6f613828..cfdb4f65 100644 --- a/Poppool/Poppool/DomainLayer/DomainInterface/Repository/MapRepository.swift +++ b/Poppool/Poppool/DomainLayer/DomainInterface/Repository/MapRepository.swift @@ -17,12 +17,12 @@ protocol MapRepository { southWestLat: Double, southWestLon: Double, categories: [Int64] - ) -> Observable<[MapPopUpStoreDTO]> + ) -> Observable<[MapPopUpStore]> func searchStores( query: String, categories: [Int64] - ) -> Observable<[MapPopUpStoreDTO]> + ) -> Observable<[MapPopUpStore]> func fetchCategories() -> Observable<[CategoryResponse]> } From 22a0571d8945a758c74797c1ad41d8079d6dbbd7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=84=80=E1=85=B5=E1=86=B7=E1=84=80=E1=85=B5=E1=84=92?= =?UTF-8?q?=E1=85=A7=E1=86=AB?= Date: Sun, 20 Apr 2025 06:34:39 +0900 Subject: [PATCH 38/83] =?UTF-8?q?refactor/#117:=20MapPopUpStore=20?= =?UTF-8?q?=EB=8F=84=EB=A9=94=EC=9D=B8=20=EB=AA=A8=EB=8D=B8=EC=97=90?= =?UTF-8?q?=EC=84=9C=20=20=ED=94=84=EB=A0=88=EC=9E=84=EC=9B=8C=ED=81=AC=20?= =?UTF-8?q?=EC=9D=98=EC=A1=B4=EC=84=B1=20=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Entity/MapResponse/MapPopUpStore.swift | 26 ------------------- .../Scene/Map/MapView/MapViewController.swift | 24 +++++++++++++++-- 2 files changed, 22 insertions(+), 28 deletions(-) diff --git a/Poppool/Poppool/DomainLayer/DomainInterface/Entity/MapResponse/MapPopUpStore.swift b/Poppool/Poppool/DomainLayer/DomainInterface/Entity/MapResponse/MapPopUpStore.swift index 2be1694e..65fc7ebb 100644 --- a/Poppool/Poppool/DomainLayer/DomainInterface/Entity/MapResponse/MapPopUpStore.swift +++ b/Poppool/Poppool/DomainLayer/DomainInterface/Entity/MapResponse/MapPopUpStore.swift @@ -1,5 +1,4 @@ import Foundation -import NMapsMap struct MapPopUpStore: Equatable { let id: Int64 @@ -14,29 +13,4 @@ struct MapPopUpStore: Equatable { let markerTitle: String let markerSnippet: String let mainImageUrl: String? - - var nmgCoordinate: NMGLatLng { - NMGLatLng(lat: latitude, lng: longitude) - } - - func toMarkerInput() -> MapMarker.Input { - return MapMarker.Input( - isSelected: false, - isCluster: false, - regionName: self.markerTitle, - count: 0 - ) - } - - func toStoreItem() -> StoreItem { - return StoreItem( - id: id, - thumbnailURL: mainImageUrl ?? "", - category: category, - title: name, - location: address, - dateRange: "\(startDate) ~ \(endDate)", - isBookmarked: false - ) - } } diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/MapView/MapViewController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/MapView/MapViewController.swift index e327b463..d8653307 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/MapView/MapViewController.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/MapView/MapViewController.swift @@ -501,7 +501,17 @@ class MapViewController: BaseViewController, View, CLLocationManagerDelegate, NM self.addMarkers(for: results) // 스토어 리스트 업데이트 - let storeItems = results.map { $0.toStoreItem() } + let storeItems = results.map { store in + StoreItem( + id: store.id, + thumbnailURL: store.mainImageUrl ?? "", + category: store.category, + title: store.name, + location: store.address, + dateRange: "\(store.startDate) ~ \(store.endDate)", + isBookmarked: false + ) + } self.storeListViewController.reactor?.action.onNext(.setStores(storeItems)) // 캐러셀 업데이트 @@ -1044,7 +1054,17 @@ class MapViewController: BaseViewController, View, CLLocationManagerDelegate, NM } private func updateListView(with results: [MapPopUpStore]) { // MapPopUpStore 배열을 StoreItem 배열로 변환 - let storeItems = results.map { $0.toStoreItem() } + let storeItems = results.map { store in + StoreItem( + id: store.id, + thumbnailURL: store.mainImageUrl ?? "", + category: store.category, + title: store.name, + location: store.address, + dateRange: "\(store.startDate) ~ \(store.endDate)", + isBookmarked: false + ) + } storeListViewController.reactor?.action.onNext(.setStores(storeItems)) } From 9edf78542f6dd638770680d6c34fb2622e29c675 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=84=80=E1=85=B5=E1=86=B7=E1=84=80=E1=85=B5=E1=84=92?= =?UTF-8?q?=E1=85=A7=E1=86=AB?= Date: Sun, 20 Apr 2025 06:35:08 +0900 Subject: [PATCH 39/83] =?UTF-8?q?refactor/#117:=20DTO=20->=20=EB=8F=84?= =?UTF-8?q?=EB=A9=94=EC=9D=B8=20=EB=AA=A8=EB=8D=B8=20=EB=B3=80=ED=99=98=20?= =?UTF-8?q?=EB=A1=9C=EC=A7=81=EC=9D=84=20MapDomainModelConverter=EB=A1=9C?= =?UTF-8?q?=20=EB=B6=84=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MapAPI/ResponseDTO/MapPopUpStoreDTO.swift | 18 --------- .../Converter/MapDomainModelConverter.swift | 22 ++++++++++ .../RepositoryImpl/MapRepositoryImpl.swift | 40 +------------------ 3 files changed, 24 insertions(+), 56 deletions(-) create mode 100644 Poppool/Poppool/DataLayer/RepositoryImpl/Converter/MapDomainModelConverter.swift diff --git a/Poppool/Poppool/DataLayer/Network/API/MapAPI/ResponseDTO/MapPopUpStoreDTO.swift b/Poppool/Poppool/DataLayer/Network/API/MapAPI/ResponseDTO/MapPopUpStoreDTO.swift index cd7bb5de..12d4916f 100644 --- a/Poppool/Poppool/DataLayer/Network/API/MapAPI/ResponseDTO/MapPopUpStoreDTO.swift +++ b/Poppool/Poppool/DataLayer/Network/API/MapAPI/ResponseDTO/MapPopUpStoreDTO.swift @@ -14,24 +14,6 @@ struct MapPopUpStoreDTO: Codable { let markerSnippet: String let mainImageUrl: String? let bookmarkYn: Bool? - - func toDomain() -> MapPopUpStore { - return MapPopUpStore( - id: id, - category: categoryName, - name: name, - address: address, - startDate: startDate, - endDate: endDate, - latitude: latitude, - longitude: longitude, - markerId: markerId, - markerTitle: markerTitle, - markerSnippet: markerSnippet, - mainImageUrl: mainImageUrl - - ) - } } struct GetViewBoundPopUpStoreListResponse: Decodable { diff --git a/Poppool/Poppool/DataLayer/RepositoryImpl/Converter/MapDomainModelConverter.swift b/Poppool/Poppool/DataLayer/RepositoryImpl/Converter/MapDomainModelConverter.swift new file mode 100644 index 00000000..fb53ddab --- /dev/null +++ b/Poppool/Poppool/DataLayer/RepositoryImpl/Converter/MapDomainModelConverter.swift @@ -0,0 +1,22 @@ +import Foundation + +struct MapDomainModelConverter { + /// MapPopUpStoreDTO + /// → MapPopUpStore 도메인 모델로 변환 + static func convert(_ dto: MapPopUpStoreDTO) -> MapPopUpStore { + return MapPopUpStore( + id: dto.id, + category: dto.categoryName, + name: dto.name, + address: dto.address, + startDate: dto.startDate, + endDate: dto.endDate, + latitude: dto.latitude, + longitude: dto.longitude, + markerId: dto.markerId, + markerTitle: dto.markerTitle, + markerSnippet: dto.markerSnippet, + mainImageUrl: dto.mainImageUrl + ) + } +} diff --git a/Poppool/Poppool/DataLayer/RepositoryImpl/MapRepositoryImpl.swift b/Poppool/Poppool/DataLayer/RepositoryImpl/MapRepositoryImpl.swift index 2ce6dbeb..45973865 100644 --- a/Poppool/Poppool/DataLayer/RepositoryImpl/MapRepositoryImpl.swift +++ b/Poppool/Poppool/DataLayer/RepositoryImpl/MapRepositoryImpl.swift @@ -27,25 +27,7 @@ final class MapRepositoryImpl: MapRepository { ), interceptor: TokenInterceptor() ) - .map { $0.popUpStoreList } - .map { dtoList in - dtoList.map { dto -> MapPopUpStore in - return MapPopUpStore( - id: dto.id, - category: dto.categoryName, - name: dto.name, - address: dto.address, - startDate: dto.startDate, - endDate: dto.endDate, - latitude: dto.latitude, - longitude: dto.longitude, - markerId: dto.id, - markerTitle: dto.markerTitle ?? dto.name, - markerSnippet: dto.markerSnippet ?? "", - mainImageUrl: dto.mainImageUrl - ) - } - } + .map { $0.popUpStoreList.map(MapDomainModelConverter.convert) } } func searchStores( @@ -59,25 +41,7 @@ final class MapRepositoryImpl: MapRepository { ), interceptor: TokenInterceptor() ) - .map { $0.popUpStoreList } - .map { dtoList in - dtoList.map { dto -> MapPopUpStore in - return MapPopUpStore( - id: dto.id, - category: dto.categoryName, - name: dto.name, - address: dto.address, - startDate: dto.startDate, - endDate: dto.endDate, - latitude: dto.latitude, - longitude: dto.longitude, - markerId: dto.id, - markerTitle: dto.markerTitle ?? dto.name, - markerSnippet: dto.markerSnippet ?? "", - mainImageUrl: dto.mainImageUrl - ) - } - } + .map { $0.popUpStoreList.map(MapDomainModelConverter.convert) } } func fetchCategories() -> Observable<[CategoryResponse]> { From 0e85d9b477269b0b868444acbd17cef2f9f3228f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=84=80=E1=85=B5=E1=86=B7=E1=84=80=E1=85=B5=E1=84=92?= =?UTF-8?q?=E1=85=A7=E1=86=AB?= Date: Sun, 20 Apr 2025 06:43:26 +0900 Subject: [PATCH 40/83] =?UTF-8?q?refactor/#117:=20Auth=20API=20DomainLayer?= =?UTF-8?q?=20DTO=20=EC=A0=9C=EA=B1=B0=20=EB=B9=8C=EB=93=9C=ED=99=95?= =?UTF-8?q?=EC=9D=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DataLayer/RepositoryImpl/AuthAPIRepositoryImpl.swift | 6 ++++-- .../DomainLayer/Domain/UseCaseImpl/AuthAPIUseCaseImpl.swift | 4 +--- .../DomainInterface/Repository/AuthAPIRepository.swift | 3 +-- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/Poppool/Poppool/DataLayer/RepositoryImpl/AuthAPIRepositoryImpl.swift b/Poppool/Poppool/DataLayer/RepositoryImpl/AuthAPIRepositoryImpl.swift index a0847bd2..c1f27826 100644 --- a/Poppool/Poppool/DataLayer/RepositoryImpl/AuthAPIRepositoryImpl.swift +++ b/Poppool/Poppool/DataLayer/RepositoryImpl/AuthAPIRepositoryImpl.swift @@ -1,5 +1,4 @@ import Foundation - import RxSwift final class AuthAPIRepositoryImpl: AuthAPIRepository { @@ -20,8 +19,11 @@ final class AuthAPIRepositoryImpl: AuthAPIRepository { } } - func postTokenReissue() -> Observable { + func postTokenReissue() -> Observable { let endPoint = AuthAPIEndPoint.postTokenReissue() return provider.requestData(with: endPoint, interceptor: tokenInterceptor) + .map { responseDTO in + return responseDTO.toDomain() + } } } diff --git a/Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/AuthAPIUseCaseImpl.swift b/Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/AuthAPIUseCaseImpl.swift index 841a4034..258cb9e0 100644 --- a/Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/AuthAPIUseCaseImpl.swift +++ b/Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/AuthAPIUseCaseImpl.swift @@ -1,5 +1,4 @@ import Foundation - import RxSwift final class AuthAPIUseCaseImpl: AuthAPIUseCase { @@ -15,7 +14,6 @@ final class AuthAPIUseCaseImpl: AuthAPIUseCase { } func postTokenReissue() -> Observable { - let endPoint = AuthAPIEndPoint.postTokenReissue() - return repository.postTokenReissue().map { $0.toDomain() } + return repository.postTokenReissue() } } diff --git a/Poppool/Poppool/DomainLayer/DomainInterface/Repository/AuthAPIRepository.swift b/Poppool/Poppool/DomainLayer/DomainInterface/Repository/AuthAPIRepository.swift index 630c801b..ba9ae29f 100644 --- a/Poppool/Poppool/DomainLayer/DomainInterface/Repository/AuthAPIRepository.swift +++ b/Poppool/Poppool/DomainLayer/DomainInterface/Repository/AuthAPIRepository.swift @@ -1,8 +1,7 @@ import Foundation - import RxSwift protocol AuthAPIRepository { func tryLogIn(userCredential: Encodable, socialType: String) -> Observable - func postTokenReissue() -> Observable + func postTokenReissue() -> Observable } From 1f4ce4867a9cbd328ae99002c634a4ddaa59975a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=84=80=E1=85=B5=E1=86=B7=E1=84=80=E1=85=B5=E1=84=92?= =?UTF-8?q?=E1=85=A7=E1=86=AB?= Date: Sun, 20 Apr 2025 08:29:35 +0900 Subject: [PATCH 41/83] =?UTF-8?q?refactor/#117:=20Comment=20API=20?= =?UTF-8?q?=EB=A0=88=ED=8F=AC=EC=A7=80=ED=86=A0=EB=A6=AC=20=EC=9D=B8?= =?UTF-8?q?=ED=84=B0=ED=8E=98=EC=9D=B4=EC=8A=A4=EC=97=90=EC=84=9C=20DTO=20?= =?UTF-8?q?=ED=8C=8C=EB=9D=BC=EB=AF=B8=ED=84=B0=20=EC=A0=9C=EA=B1=B0=20?= =?UTF-8?q?=EB=B0=8F=20=EC=9E=84=ED=94=8C=EC=97=90=EC=84=9C=20=EB=A7=A4?= =?UTF-8?q?=ED=95=91=20=EB=B9=8C=EB=93=9C=ED=85=8C=EC=8A=A4=ED=8A=B8=20?= =?UTF-8?q?=ED=99=95=EC=9D=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CommentAPIRepositoryImpl.swift | 15 +++++++------ .../UseCaseImpl/CommentAPIUseCaseImpl.swift | 8 +++---- .../Repository/CommentAPIRepository.swift | 21 ++++++++++++++++--- .../UseCase/CommentAPIUseCase.swift | 2 +- 4 files changed, 32 insertions(+), 14 deletions(-) diff --git a/Poppool/Poppool/DataLayer/RepositoryImpl/CommentAPIRepositoryImpl.swift b/Poppool/Poppool/DataLayer/RepositoryImpl/CommentAPIRepositoryImpl.swift index 22ae8766..6fa51907 100644 --- a/Poppool/Poppool/DataLayer/RepositoryImpl/CommentAPIRepositoryImpl.swift +++ b/Poppool/Poppool/DataLayer/RepositoryImpl/CommentAPIRepositoryImpl.swift @@ -11,18 +11,21 @@ final class CommentAPIRepositoryImpl: CommentAPIRepository { self.provider = provider } - func postCommentAdd(request: PostCommentRequestDTO) -> Completable { - let endPoint = CommentAPIEndPoint.postCommentAdd(request: request) + func postCommentAdd(popUpStoreId: Int64, content: String?, commentType: String?, imageUrlList: [String?]) -> Completable { + let requestDTO = PostCommentRequestDTO(popUpStoreId: popUpStoreId, content: content, commentType: commentType, imageUrlList: imageUrlList) + let endPoint = CommentAPIEndPoint.postCommentAdd(request: requestDTO) return provider.request(with: endPoint, interceptor: tokenInterceptor) } - func deleteComment(request: DeleteCommentRequestDTO) -> Completable { - let endPoint = CommentAPIEndPoint.deleteComment(request: request) + func deleteComment(popUpStoreId: Int64, commentId: Int64) -> Completable { + let requestDTO = DeleteCommentRequestDTO(popUpStoreId: popUpStoreId, commentId: commentId) + let endPoint = CommentAPIEndPoint.deleteComment(request: requestDTO) return provider.request(with: endPoint, interceptor: tokenInterceptor) } - func editComment(request: PutCommentRequestDTO) -> Completable { - let endPoint = CommentAPIEndPoint.editComment(request: request) + func editComment(popUpStoreId: Int64, commentId: Int64, content: String?, imageUrlList: [PutCommentImageDataRequestDTO]?) -> Completable { + let requestDTO = PutCommentRequestDTO(popUpStoreId: popUpStoreId, commentId: commentId, content: content, imageUrlList: imageUrlList) + let endPoint = CommentAPIEndPoint.editComment(request: requestDTO) return provider.request(with: endPoint, interceptor: tokenInterceptor) } } diff --git a/Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/CommentAPIUseCaseImpl.swift b/Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/CommentAPIUseCaseImpl.swift index c7a31242..9086e118 100644 --- a/Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/CommentAPIUseCaseImpl.swift +++ b/Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/CommentAPIUseCaseImpl.swift @@ -3,7 +3,7 @@ import Foundation import RxSwift final class CommentAPIUseCaseImpl: CommentAPIUseCase { - + private let repository: CommentAPIRepository init(repository: CommentAPIRepository) { @@ -11,14 +11,14 @@ final class CommentAPIUseCaseImpl: CommentAPIUseCase { } func postCommentAdd(popUpStoreId: Int64, content: String?, commentType: String?, imageUrlList: [String?]) -> Completable { - return repository.postCommentAdd(request: .init(popUpStoreId: popUpStoreId, content: content, commentType: commentType, imageUrlList: imageUrlList)) + return repository.postCommentAdd(popUpStoreId: popUpStoreId, content: content, commentType: commentType, imageUrlList: imageUrlList) } func deleteComment(popUpStoreId: Int64, commentId: Int64) -> Completable { - return repository.deleteComment(request: .init(popUpStoreId: popUpStoreId, commentId: commentId)) + return repository.deleteComment(popUpStoreId: popUpStoreId, commentId: commentId) } func editComment(popUpStoreId: Int64, commentId: Int64, content: String?, imageUrlList: [PutCommentImageDataRequestDTO]?) -> Completable { - return repository.editComment(request: .init(popUpStoreId: popUpStoreId, commentId: commentId, content: content, imageUrlList: imageUrlList)) + return repository.editComment(popUpStoreId: popUpStoreId, commentId: commentId, content: content, imageUrlList: imageUrlList) } } diff --git a/Poppool/Poppool/DomainLayer/DomainInterface/Repository/CommentAPIRepository.swift b/Poppool/Poppool/DomainLayer/DomainInterface/Repository/CommentAPIRepository.swift index bd079fc8..e353e65c 100644 --- a/Poppool/Poppool/DomainLayer/DomainInterface/Repository/CommentAPIRepository.swift +++ b/Poppool/Poppool/DomainLayer/DomainInterface/Repository/CommentAPIRepository.swift @@ -3,7 +3,22 @@ import Foundation import RxSwift protocol CommentAPIRepository { - func postCommentAdd(request: PostCommentRequestDTO) -> Completable - func deleteComment(request: DeleteCommentRequestDTO) -> Completable - func editComment(request: PutCommentRequestDTO) -> Completable + func postCommentAdd( + popUpStoreId: Int64, + content: String?, + commentType: String?, + imageUrlList: [String?] + ) -> Completable + + func deleteComment( + popUpStoreId: Int64, + commentId: Int64 + ) -> Completable + + func editComment( + popUpStoreId: Int64, + commentId: Int64, + content: String?, + imageUrlList: [PutCommentImageDataRequestDTO]? + ) -> Completable } diff --git a/Poppool/Poppool/DomainLayer/DomainInterface/UseCase/CommentAPIUseCase.swift b/Poppool/Poppool/DomainLayer/DomainInterface/UseCase/CommentAPIUseCase.swift index be737e40..021c842a 100644 --- a/Poppool/Poppool/DomainLayer/DomainInterface/UseCase/CommentAPIUseCase.swift +++ b/Poppool/Poppool/DomainLayer/DomainInterface/UseCase/CommentAPIUseCase.swift @@ -5,5 +5,5 @@ import RxSwift protocol CommentAPIUseCase { func postCommentAdd(popUpStoreId: Int64, content: String?, commentType: String?, imageUrlList: [String?]) -> Completable func deleteComment(popUpStoreId: Int64, commentId: Int64) -> Completable - func editComment(popUpStoreId: Int64, commentId: Int64, content: String?, imageUrlList: [PutCommentImageDataRequestDTO]?) -> Completable + func editComment(popUpStoreId: Int64, commentId: Int64, content: String?, imageUrlList: [String?]?) -> Completable } From ca1ddb797bdd9fe4a5b854f480f1eff566a71252 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 20 Apr 2025 00:22:17 +0000 Subject: [PATCH 42/83] style/#117: Apply SwiftLint autocorrect --- .../DataLayer/RepositoryImpl/AdminRepositoryImpl.swift | 2 +- .../DataLayer/RepositoryImpl/MapDirectionRepositoryImpl.swift | 2 +- .../Poppool/DataLayer/RepositoryImpl/MapRepositoryImpl.swift | 2 +- .../DomainInterface/Repository/MapRepository.swift | 1 - .../DomainLayer/DomainInterface/UseCase/MapUseCase.swift | 1 - .../DomainInterface/UseCase/SignUpAPIUseCase.swift | 4 ++-- 6 files changed, 5 insertions(+), 7 deletions(-) diff --git a/Poppool/Poppool/DataLayer/RepositoryImpl/AdminRepositoryImpl.swift b/Poppool/Poppool/DataLayer/RepositoryImpl/AdminRepositoryImpl.swift index 46cf88d8..5856ca40 100644 --- a/Poppool/Poppool/DataLayer/RepositoryImpl/AdminRepositoryImpl.swift +++ b/Poppool/Poppool/DataLayer/RepositoryImpl/AdminRepositoryImpl.swift @@ -1,5 +1,5 @@ -import Foundation import Alamofire +import Foundation import RxSwift final class AdminRepositoryImpl: AdminRepository { diff --git a/Poppool/Poppool/DataLayer/RepositoryImpl/MapDirectionRepositoryImpl.swift b/Poppool/Poppool/DataLayer/RepositoryImpl/MapDirectionRepositoryImpl.swift index 8d0fa37c..25a7791f 100644 --- a/Poppool/Poppool/DataLayer/RepositoryImpl/MapDirectionRepositoryImpl.swift +++ b/Poppool/Poppool/DataLayer/RepositoryImpl/MapDirectionRepositoryImpl.swift @@ -3,7 +3,7 @@ import Foundation import RxSwift final class MapDirectionRepositoryImpl: MapDirectionRepository { - + private let provider: Provider private let tokenInterceptor = TokenInterceptor() diff --git a/Poppool/Poppool/DataLayer/RepositoryImpl/MapRepositoryImpl.swift b/Poppool/Poppool/DataLayer/RepositoryImpl/MapRepositoryImpl.swift index 45973865..2a519f4b 100644 --- a/Poppool/Poppool/DataLayer/RepositoryImpl/MapRepositoryImpl.swift +++ b/Poppool/Poppool/DataLayer/RepositoryImpl/MapRepositoryImpl.swift @@ -51,7 +51,7 @@ final class MapRepositoryImpl: MapRepository { with: SignUpAPIEndpoint.signUp_getCategoryList(), interceptor: TokenInterceptor() ) - .do(onNext: { responseDTO in + .do(onNext: { _ in Logger.log( message: "카테고리 목록 응답 성공", category: .debug diff --git a/Poppool/Poppool/DomainLayer/DomainInterface/Repository/MapRepository.swift b/Poppool/Poppool/DomainLayer/DomainInterface/Repository/MapRepository.swift index cfdb4f65..4e6c1a19 100644 --- a/Poppool/Poppool/DomainLayer/DomainInterface/Repository/MapRepository.swift +++ b/Poppool/Poppool/DomainLayer/DomainInterface/Repository/MapRepository.swift @@ -5,7 +5,6 @@ // Created by 송영훈 on 4/14/25. // - import Foundation import RxSwift diff --git a/Poppool/Poppool/DomainLayer/DomainInterface/UseCase/MapUseCase.swift b/Poppool/Poppool/DomainLayer/DomainInterface/UseCase/MapUseCase.swift index 9eb687da..c2944362 100644 --- a/Poppool/Poppool/DomainLayer/DomainInterface/UseCase/MapUseCase.swift +++ b/Poppool/Poppool/DomainLayer/DomainInterface/UseCase/MapUseCase.swift @@ -5,7 +5,6 @@ // Created by 송영훈 on 4/14/25. // - import Foundation import RxSwift diff --git a/Poppool/Poppool/DomainLayer/DomainInterface/UseCase/SignUpAPIUseCase.swift b/Poppool/Poppool/DomainLayer/DomainInterface/UseCase/SignUpAPIUseCase.swift index e0dfeb36..8711e4a7 100644 --- a/Poppool/Poppool/DomainLayer/DomainInterface/UseCase/SignUpAPIUseCase.swift +++ b/Poppool/Poppool/DomainLayer/DomainInterface/UseCase/SignUpAPIUseCase.swift @@ -12,8 +12,8 @@ protocol SignUpAPIUseCase { interests: [Int64], appleAuthorizationCode: String? ) -> Completable - + func checkNickName(nickName: String) -> Observable - + func fetchCategoryList() -> Observable<[CategoryResponse]> } From 0eb1045f65c71d08cd5f813da4cbbee32442de26 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=84=80=E1=85=B5=E1=86=B7=E1=84=80=E1=85=B5=E1=84=92?= =?UTF-8?q?=E1=85=A7=E1=86=AB?= Date: Sun, 20 Apr 2025 17:10:17 +0900 Subject: [PATCH 43/83] =?UTF-8?q?refactor/#117:=20AdminVC=20DTO=EC=82=AC?= =?UTF-8?q?=EC=9A=A9=20=EC=A0=9C=EA=B1=B0=20,=20Params=20=EC=8A=A4?= =?UTF-8?q?=ED=83=80=EC=9D=BC=EC=97=90=20=EB=A7=9E=EB=8F=84=EB=A1=9D=20?= =?UTF-8?q?=EB=84=A4=EC=9D=B4=EB=B0=8D=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../RepositoryImpl/AdminRepositoryImpl.swift | 10 +++++----- .../Domain/UseCaseImpl/AdminUseCaseImpl.swift | 4 ++-- ...StoreDetail.swift => StoreDetailResponse.swift} | 2 +- .../{AdminStore.swift => StoreResponse.swift} | 2 +- .../Repository/AdminRepository.swift | 4 ++-- .../DomainInterface/UseCase/AdminUseCase.swift | 4 ++-- .../DomainInterface/UseCase/MapUseCase.swift | 7 ------- .../Presentation/Scene/Admin/AdminReactor.swift | 8 ++++---- .../AdminRegister/PopUpStoreRegisterReactor.swift | 2 +- .../Presentation/Scene/Admin/AdminStoreCell.swift | 3 +-- .../Scene/Admin/AdminViewController.swift | 14 ++++---------- 11 files changed, 23 insertions(+), 37 deletions(-) rename Poppool/Poppool/DomainLayer/DomainInterface/Entity/AdminResponse/{AdminStoreDetail.swift => StoreDetailResponse.swift} (94%) rename Poppool/Poppool/DomainLayer/DomainInterface/Entity/AdminResponse/{AdminStore.swift => StoreResponse.swift} (83%) diff --git a/Poppool/Poppool/DataLayer/RepositoryImpl/AdminRepositoryImpl.swift b/Poppool/Poppool/DataLayer/RepositoryImpl/AdminRepositoryImpl.swift index 5856ca40..1edf2d41 100644 --- a/Poppool/Poppool/DataLayer/RepositoryImpl/AdminRepositoryImpl.swift +++ b/Poppool/Poppool/DataLayer/RepositoryImpl/AdminRepositoryImpl.swift @@ -14,7 +14,7 @@ final class AdminRepositoryImpl: AdminRepository { } // MARK: - Store Methods - func fetchStoreList(query: String?, page: Int, size: Int) -> Observable<[AdminStore]> { + func fetchStoreList(query: String?, page: Int, size: Int) -> Observable<[StoreResponse]> { let endpoint = AdminAPIEndpoint.fetchStoreList( query: query, page: page, @@ -26,19 +26,19 @@ final class AdminRepositoryImpl: AdminRepository { ) .map { response in response.popUpStoreList?.map { - AdminStore(id: $0.id, name: $0.name, categoryName: $0.categoryName, mainImageUrl: $0.mainImageUrl) + StoreResponse(id: $0.id, name: $0.name, categoryName: $0.categoryName, mainImageUrl: $0.mainImageUrl) } ?? [] } } - func fetchStoreDetail(id: Int64) -> Observable { + func fetchStoreDetail(id: Int64) -> Observable { let endpoint = AdminAPIEndpoint.fetchStoreDetail(id: id) return provider.requestData( with: endpoint, interceptor: tokenInterceptor ) .map { dto in - AdminStoreDetail( + StoreDetailResponse( id: dto.id, name: dto.name, categoryId: dto.categoryId, @@ -52,7 +52,7 @@ final class AdminRepositoryImpl: AdminRepository { mainImageUrl: dto.mainImageUrl, bannerYn: dto.bannerYn, images: dto.imageList.map { - AdminStoreDetail.StoreImage( + StoreDetailResponse.StoreImage( id: $0.id, imageUrl: $0.imageUrl ) diff --git a/Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/AdminUseCaseImpl.swift b/Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/AdminUseCaseImpl.swift index 1f11e19f..3dfcb67f 100644 --- a/Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/AdminUseCaseImpl.swift +++ b/Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/AdminUseCaseImpl.swift @@ -9,11 +9,11 @@ final class AdminUseCaseImpl: AdminUseCase { self.repository = repository } - func fetchStoreList(query: String?, page: Int, size: Int) -> Observable<[AdminStore]> { + func fetchStoreList(query: String?, page: Int, size: Int) -> Observable<[StoreResponse]> { return repository.fetchStoreList(query: query, page: page, size: size) } - func fetchStoreDetail(id: Int64) -> Observable { + func fetchStoreDetail(id: Int64) -> Observable { return repository.fetchStoreDetail(id: id) } diff --git a/Poppool/Poppool/DomainLayer/DomainInterface/Entity/AdminResponse/AdminStoreDetail.swift b/Poppool/Poppool/DomainLayer/DomainInterface/Entity/AdminResponse/StoreDetailResponse.swift similarity index 94% rename from Poppool/Poppool/DomainLayer/DomainInterface/Entity/AdminResponse/AdminStoreDetail.swift rename to Poppool/Poppool/DomainLayer/DomainInterface/Entity/AdminResponse/StoreDetailResponse.swift index dc8f91ef..352b7f9f 100644 --- a/Poppool/Poppool/DomainLayer/DomainInterface/Entity/AdminResponse/AdminStoreDetail.swift +++ b/Poppool/Poppool/DomainLayer/DomainInterface/Entity/AdminResponse/StoreDetailResponse.swift @@ -1,6 +1,6 @@ import Foundation -struct AdminStoreDetail { +struct StoreDetailResponse { let id: Int64 let name: String let categoryId: Int64 diff --git a/Poppool/Poppool/DomainLayer/DomainInterface/Entity/AdminResponse/AdminStore.swift b/Poppool/Poppool/DomainLayer/DomainInterface/Entity/AdminResponse/StoreResponse.swift similarity index 83% rename from Poppool/Poppool/DomainLayer/DomainInterface/Entity/AdminResponse/AdminStore.swift rename to Poppool/Poppool/DomainLayer/DomainInterface/Entity/AdminResponse/StoreResponse.swift index 58db4f63..2e7913aa 100644 --- a/Poppool/Poppool/DomainLayer/DomainInterface/Entity/AdminResponse/AdminStore.swift +++ b/Poppool/Poppool/DomainLayer/DomainInterface/Entity/AdminResponse/StoreResponse.swift @@ -1,6 +1,6 @@ import Foundation -struct AdminStore { +struct StoreResponse { let id: Int64 let name: String let categoryName: String diff --git a/Poppool/Poppool/DomainLayer/DomainInterface/Repository/AdminRepository.swift b/Poppool/Poppool/DomainLayer/DomainInterface/Repository/AdminRepository.swift index 8f87a343..a30695e0 100644 --- a/Poppool/Poppool/DomainLayer/DomainInterface/Repository/AdminRepository.swift +++ b/Poppool/Poppool/DomainLayer/DomainInterface/Repository/AdminRepository.swift @@ -3,8 +3,8 @@ import Foundation import RxSwift protocol AdminRepository { - func fetchStoreList(query: String?, page: Int, size: Int) -> Observable<[AdminStore]> - func fetchStoreDetail(id: Int64) -> Observable + func fetchStoreList(query: String?, page: Int, size: Int) -> Observable<[StoreResponse]> + func fetchStoreDetail(id: Int64) -> Observable func createStore(params: CreateStoreParams) -> Completable diff --git a/Poppool/Poppool/DomainLayer/DomainInterface/UseCase/AdminUseCase.swift b/Poppool/Poppool/DomainLayer/DomainInterface/UseCase/AdminUseCase.swift index 08c59b15..b9a8161f 100644 --- a/Poppool/Poppool/DomainLayer/DomainInterface/UseCase/AdminUseCase.swift +++ b/Poppool/Poppool/DomainLayer/DomainInterface/UseCase/AdminUseCase.swift @@ -3,8 +3,8 @@ import RxSwift protocol AdminUseCase { - func fetchStoreList(query: String?, page: Int, size: Int) -> Observable<[AdminStore]> - func fetchStoreDetail(id: Int64) -> Observable + func fetchStoreList(query: String?, page: Int, size: Int) -> Observable<[StoreResponse]> + func fetchStoreDetail(id: Int64) -> Observable func createStore(params: CreateStoreParams) -> Completable diff --git a/Poppool/Poppool/DomainLayer/DomainInterface/UseCase/MapUseCase.swift b/Poppool/Poppool/DomainLayer/DomainInterface/UseCase/MapUseCase.swift index c2944362..f425adf0 100644 --- a/Poppool/Poppool/DomainLayer/DomainInterface/UseCase/MapUseCase.swift +++ b/Poppool/Poppool/DomainLayer/DomainInterface/UseCase/MapUseCase.swift @@ -1,10 +1,3 @@ -// -// MapUseCase.swift -// Poppool -// -// Created by 송영훈 on 4/14/25. -// - import Foundation import RxSwift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminReactor.swift index 4e9d8bc9..8ca61403 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminReactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminReactor.swift @@ -14,18 +14,18 @@ final class AdminReactor: Reactor { } enum Mutation { - case setStores([AdminStore]) + case setStores([StoreResponse]) case setIsLoading(Bool) case navigateToRegister(Bool) - case navigateToEdit(AdminStore) // ✅ 수정 데이터 추가 + case navigateToEdit(StoreResponse) // ✅ 수정 데이터 추가 } struct State { - var storeList: [AdminStore] = [] + var storeList: [StoreResponse] = [] var isLoading: Bool = false var shouldNavigateToRegister: Bool = false - var selectedStoreForEdit: AdminStore? // ✅ 추가 + var selectedStoreForEdit: StoreResponse? // ✅ 추가 } diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterReactor.swift index 6989d910..7ef8fb60 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterReactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterReactor.swift @@ -89,7 +89,7 @@ final class PopUpStoreRegisterReactor: Reactor { case addDeletedImage(id: Int64, path: String) // 기존 스토어 데이터 설정 - case setStoreDetail(AdminStoreDetail) + case setStoreDetail(StoreDetailResponse) case setOriginalImageIds([String: Int64]) // UI 상태 관리 diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminStoreCell.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminStoreCell.swift index a29c4ee6..e7468603 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminStoreCell.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminStoreCell.swift @@ -75,14 +75,13 @@ final class AdminStoreCell: UITableViewCell { } // MARK: - Configure - func configure(with store: GetAdminPopUpStoreListResponseDTO.PopUpStore) { + func configure(with store: StoreResponse) { Logger.log(message: "셀 데이터 바인딩: \(store)", category: .debug) titleLabel.text = store.name categoryLabel.text = store.categoryName statusChip.text = "운영" - // mainImageUrl에서 baseURL 부분 제거 let imagePath = store.mainImageUrl.replacingOccurrences(of: Secrets.popPoolS3BaseURL, with: "") Logger.log(message: "이미지 경로: \(imagePath)", category: .debug) storeImageView.setPPImage(path: imagePath) diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminViewController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminViewController.swift index aa85097f..108773ee 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminViewController.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminViewController.swift @@ -153,7 +153,7 @@ final class AdminViewController: BaseViewController, View { present(alert, animated: true) } - private func showDeleteConfirmation(for store: AdminStore) { + private func showDeleteConfirmation(for store: StoreResponse) { let alert = UIAlertController( title: "삭제 확인", message: "\(store.name)을(를) 삭제하시겠습니까?", @@ -168,7 +168,7 @@ final class AdminViewController: BaseViewController, View { present(alert, animated: true) } - private func editStore(_ store: AdminStore) { + private func editStore(_ store: StoreResponse) { adminUseCase.fetchStoreDetail(id: store.id) .observe(on: MainScheduler.instance) .subscribe( @@ -201,7 +201,7 @@ final class AdminViewController: BaseViewController, View { .disposed(by: disposeBag) } - private func deleteStore(_ store: AdminStore) { + private func deleteStore(_ store: StoreResponse) { // 먼저 스토어 상세 정보를 가져와 모든 이미지 URL을 확인 adminUseCase.fetchStoreDetail(id: store.id) .observe(on: MainScheduler.instance) @@ -294,13 +294,7 @@ final class AdminViewController: BaseViewController, View { cellIdentifier: AdminStoreCell.identifier, cellType: AdminStoreCell.self )) { _, store, cell in - let dto = GetAdminPopUpStoreListResponseDTO.PopUpStore( - id: store.id, - name: store.name, - categoryName: store.categoryName, - mainImageUrl: store.mainImageUrl - ) - cell.configure(with: dto) + cell.configure(with: store) } .disposed(by: disposeBag) } From 11a86206182d151fc00f2d134e4d47b1a528d5f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=84=80=E1=85=B5=E1=86=B7=E1=84=80=E1=85=B5=E1=84=92?= =?UTF-8?q?=E1=85=A7=E1=86=AB?= Date: Sun, 20 Apr 2025 19:10:36 +0900 Subject: [PATCH 44/83] =?UTF-8?q?refactor/#117:=20=ED=8C=9D=EC=97=85?= =?UTF-8?q?=EB=A0=88=EC=A7=80=EC=8A=A4=ED=84=B0=20=EB=B7=B0=EC=BB=A8?= =?UTF-8?q?=EC=97=90=EC=84=9C=20DTO=20=EC=A0=9C=EA=B1=B0=20=EB=B9=8C?= =?UTF-8?q?=EB=93=9C=ED=85=8C=EC=8A=A4=ED=8A=B8=20=ED=99=95=EC=9D=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Network/API/MapAPI/MapAPIEndpoint.swift | 1 - .../MapAPI/ResponseDTO/MapPopUpStoreDTO.swift | 18 ++++++++++++++- .../RepositoryImpl/AdminRepositoryImpl.swift | 10 ++++----- .../Converter/MapDomainModelConverter.swift | 22 ------------------- .../RepositoryImpl/MapRepositoryImpl.swift | 4 ++-- .../Domain/UseCaseImpl/AdminUseCaseImpl.swift | 4 ++-- .../{StoreResponse.swift => AdminStore.swift} | 2 +- ...lResponse.swift => AdminStoreDetail.swift} | 2 +- .../Repository/AdminRepository.swift | 4 ++-- .../UseCase/AdminUseCase.swift | 4 ++-- .../Scene/Admin/AdminReactor.swift | 8 +++---- .../PopUpStoreRegisterReactor.swift | 4 ++-- .../PopUpStoreRegisterViewController.swift | 2 +- .../Scene/Admin/AdminStoreCell.swift | 2 +- .../Scene/Admin/AdminViewController.swift | 6 ++--- 15 files changed, 43 insertions(+), 50 deletions(-) delete mode 100644 Poppool/Poppool/DataLayer/RepositoryImpl/Converter/MapDomainModelConverter.swift rename Poppool/Poppool/DomainLayer/DomainInterface/Entity/AdminResponse/{StoreResponse.swift => AdminStore.swift} (83%) rename Poppool/Poppool/DomainLayer/DomainInterface/Entity/AdminResponse/{StoreDetailResponse.swift => AdminStoreDetail.swift} (94%) diff --git a/Poppool/Poppool/DataLayer/Network/API/MapAPI/MapAPIEndpoint.swift b/Poppool/Poppool/DataLayer/Network/API/MapAPI/MapAPIEndpoint.swift index da8bc4fd..334067a5 100644 --- a/Poppool/Poppool/DataLayer/Network/API/MapAPI/MapAPIEndpoint.swift +++ b/Poppool/Poppool/DataLayer/Network/API/MapAPI/MapAPIEndpoint.swift @@ -52,7 +52,6 @@ struct MapAPIEndpoint { } } -// MARK: - Query DTOs struct BoundQueryDTO: Encodable { let northEastLat: Double let northEastLon: Double diff --git a/Poppool/Poppool/DataLayer/Network/API/MapAPI/ResponseDTO/MapPopUpStoreDTO.swift b/Poppool/Poppool/DataLayer/Network/API/MapAPI/ResponseDTO/MapPopUpStoreDTO.swift index 12d4916f..7f356980 100644 --- a/Poppool/Poppool/DataLayer/Network/API/MapAPI/ResponseDTO/MapPopUpStoreDTO.swift +++ b/Poppool/Poppool/DataLayer/Network/API/MapAPI/ResponseDTO/MapPopUpStoreDTO.swift @@ -14,8 +14,24 @@ struct MapPopUpStoreDTO: Codable { let markerSnippet: String let mainImageUrl: String? let bookmarkYn: Bool? -} + func toDomain() -> MapPopUpStore { + return MapPopUpStore( + id: id, + category: categoryName, + name: name, + address: address, + startDate: startDate, + endDate: endDate, + latitude: latitude, + longitude: longitude, + markerId: markerId, + markerTitle: markerTitle, + markerSnippet: markerSnippet, + mainImageUrl: mainImageUrl + ) + } +} struct GetViewBoundPopUpStoreListResponse: Decodable { let popUpStoreList: [MapPopUpStoreDTO] } diff --git a/Poppool/Poppool/DataLayer/RepositoryImpl/AdminRepositoryImpl.swift b/Poppool/Poppool/DataLayer/RepositoryImpl/AdminRepositoryImpl.swift index 1edf2d41..5856ca40 100644 --- a/Poppool/Poppool/DataLayer/RepositoryImpl/AdminRepositoryImpl.swift +++ b/Poppool/Poppool/DataLayer/RepositoryImpl/AdminRepositoryImpl.swift @@ -14,7 +14,7 @@ final class AdminRepositoryImpl: AdminRepository { } // MARK: - Store Methods - func fetchStoreList(query: String?, page: Int, size: Int) -> Observable<[StoreResponse]> { + func fetchStoreList(query: String?, page: Int, size: Int) -> Observable<[AdminStore]> { let endpoint = AdminAPIEndpoint.fetchStoreList( query: query, page: page, @@ -26,19 +26,19 @@ final class AdminRepositoryImpl: AdminRepository { ) .map { response in response.popUpStoreList?.map { - StoreResponse(id: $0.id, name: $0.name, categoryName: $0.categoryName, mainImageUrl: $0.mainImageUrl) + AdminStore(id: $0.id, name: $0.name, categoryName: $0.categoryName, mainImageUrl: $0.mainImageUrl) } ?? [] } } - func fetchStoreDetail(id: Int64) -> Observable { + func fetchStoreDetail(id: Int64) -> Observable { let endpoint = AdminAPIEndpoint.fetchStoreDetail(id: id) return provider.requestData( with: endpoint, interceptor: tokenInterceptor ) .map { dto in - StoreDetailResponse( + AdminStoreDetail( id: dto.id, name: dto.name, categoryId: dto.categoryId, @@ -52,7 +52,7 @@ final class AdminRepositoryImpl: AdminRepository { mainImageUrl: dto.mainImageUrl, bannerYn: dto.bannerYn, images: dto.imageList.map { - StoreDetailResponse.StoreImage( + AdminStoreDetail.StoreImage( id: $0.id, imageUrl: $0.imageUrl ) diff --git a/Poppool/Poppool/DataLayer/RepositoryImpl/Converter/MapDomainModelConverter.swift b/Poppool/Poppool/DataLayer/RepositoryImpl/Converter/MapDomainModelConverter.swift deleted file mode 100644 index fb53ddab..00000000 --- a/Poppool/Poppool/DataLayer/RepositoryImpl/Converter/MapDomainModelConverter.swift +++ /dev/null @@ -1,22 +0,0 @@ -import Foundation - -struct MapDomainModelConverter { - /// MapPopUpStoreDTO - /// → MapPopUpStore 도메인 모델로 변환 - static func convert(_ dto: MapPopUpStoreDTO) -> MapPopUpStore { - return MapPopUpStore( - id: dto.id, - category: dto.categoryName, - name: dto.name, - address: dto.address, - startDate: dto.startDate, - endDate: dto.endDate, - latitude: dto.latitude, - longitude: dto.longitude, - markerId: dto.markerId, - markerTitle: dto.markerTitle, - markerSnippet: dto.markerSnippet, - mainImageUrl: dto.mainImageUrl - ) - } -} diff --git a/Poppool/Poppool/DataLayer/RepositoryImpl/MapRepositoryImpl.swift b/Poppool/Poppool/DataLayer/RepositoryImpl/MapRepositoryImpl.swift index 2a519f4b..08ffdbee 100644 --- a/Poppool/Poppool/DataLayer/RepositoryImpl/MapRepositoryImpl.swift +++ b/Poppool/Poppool/DataLayer/RepositoryImpl/MapRepositoryImpl.swift @@ -27,7 +27,7 @@ final class MapRepositoryImpl: MapRepository { ), interceptor: TokenInterceptor() ) - .map { $0.popUpStoreList.map(MapDomainModelConverter.convert) } + .map { $0.popUpStoreList.map { $0.toDomain() } } } func searchStores( @@ -41,7 +41,7 @@ final class MapRepositoryImpl: MapRepository { ), interceptor: TokenInterceptor() ) - .map { $0.popUpStoreList.map(MapDomainModelConverter.convert) } + .map { $0.popUpStoreList.map { $0.toDomain() } } } func fetchCategories() -> Observable<[CategoryResponse]> { diff --git a/Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/AdminUseCaseImpl.swift b/Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/AdminUseCaseImpl.swift index 3dfcb67f..1f11e19f 100644 --- a/Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/AdminUseCaseImpl.swift +++ b/Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/AdminUseCaseImpl.swift @@ -9,11 +9,11 @@ final class AdminUseCaseImpl: AdminUseCase { self.repository = repository } - func fetchStoreList(query: String?, page: Int, size: Int) -> Observable<[StoreResponse]> { + func fetchStoreList(query: String?, page: Int, size: Int) -> Observable<[AdminStore]> { return repository.fetchStoreList(query: query, page: page, size: size) } - func fetchStoreDetail(id: Int64) -> Observable { + func fetchStoreDetail(id: Int64) -> Observable { return repository.fetchStoreDetail(id: id) } diff --git a/Poppool/Poppool/DomainLayer/DomainInterface/Entity/AdminResponse/StoreResponse.swift b/Poppool/Poppool/DomainLayer/DomainInterface/Entity/AdminResponse/AdminStore.swift similarity index 83% rename from Poppool/Poppool/DomainLayer/DomainInterface/Entity/AdminResponse/StoreResponse.swift rename to Poppool/Poppool/DomainLayer/DomainInterface/Entity/AdminResponse/AdminStore.swift index 2e7913aa..58db4f63 100644 --- a/Poppool/Poppool/DomainLayer/DomainInterface/Entity/AdminResponse/StoreResponse.swift +++ b/Poppool/Poppool/DomainLayer/DomainInterface/Entity/AdminResponse/AdminStore.swift @@ -1,6 +1,6 @@ import Foundation -struct StoreResponse { +struct AdminStore { let id: Int64 let name: String let categoryName: String diff --git a/Poppool/Poppool/DomainLayer/DomainInterface/Entity/AdminResponse/StoreDetailResponse.swift b/Poppool/Poppool/DomainLayer/DomainInterface/Entity/AdminResponse/AdminStoreDetail.swift similarity index 94% rename from Poppool/Poppool/DomainLayer/DomainInterface/Entity/AdminResponse/StoreDetailResponse.swift rename to Poppool/Poppool/DomainLayer/DomainInterface/Entity/AdminResponse/AdminStoreDetail.swift index 352b7f9f..dc8f91ef 100644 --- a/Poppool/Poppool/DomainLayer/DomainInterface/Entity/AdminResponse/StoreDetailResponse.swift +++ b/Poppool/Poppool/DomainLayer/DomainInterface/Entity/AdminResponse/AdminStoreDetail.swift @@ -1,6 +1,6 @@ import Foundation -struct StoreDetailResponse { +struct AdminStoreDetail { let id: Int64 let name: String let categoryId: Int64 diff --git a/Poppool/Poppool/DomainLayer/DomainInterface/Repository/AdminRepository.swift b/Poppool/Poppool/DomainLayer/DomainInterface/Repository/AdminRepository.swift index a30695e0..8f87a343 100644 --- a/Poppool/Poppool/DomainLayer/DomainInterface/Repository/AdminRepository.swift +++ b/Poppool/Poppool/DomainLayer/DomainInterface/Repository/AdminRepository.swift @@ -3,8 +3,8 @@ import Foundation import RxSwift protocol AdminRepository { - func fetchStoreList(query: String?, page: Int, size: Int) -> Observable<[StoreResponse]> - func fetchStoreDetail(id: Int64) -> Observable + func fetchStoreList(query: String?, page: Int, size: Int) -> Observable<[AdminStore]> + func fetchStoreDetail(id: Int64) -> Observable func createStore(params: CreateStoreParams) -> Completable diff --git a/Poppool/Poppool/DomainLayer/DomainInterface/UseCase/AdminUseCase.swift b/Poppool/Poppool/DomainLayer/DomainInterface/UseCase/AdminUseCase.swift index b9a8161f..08c59b15 100644 --- a/Poppool/Poppool/DomainLayer/DomainInterface/UseCase/AdminUseCase.swift +++ b/Poppool/Poppool/DomainLayer/DomainInterface/UseCase/AdminUseCase.swift @@ -3,8 +3,8 @@ import RxSwift protocol AdminUseCase { - func fetchStoreList(query: String?, page: Int, size: Int) -> Observable<[StoreResponse]> - func fetchStoreDetail(id: Int64) -> Observable + func fetchStoreList(query: String?, page: Int, size: Int) -> Observable<[AdminStore]> + func fetchStoreDetail(id: Int64) -> Observable func createStore(params: CreateStoreParams) -> Completable diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminReactor.swift index 8ca61403..4e9d8bc9 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminReactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminReactor.swift @@ -14,18 +14,18 @@ final class AdminReactor: Reactor { } enum Mutation { - case setStores([StoreResponse]) + case setStores([AdminStore]) case setIsLoading(Bool) case navigateToRegister(Bool) - case navigateToEdit(StoreResponse) // ✅ 수정 데이터 추가 + case navigateToEdit(AdminStore) // ✅ 수정 데이터 추가 } struct State { - var storeList: [StoreResponse] = [] + var storeList: [AdminStore] = [] var isLoading: Bool = false var shouldNavigateToRegister: Bool = false - var selectedStoreForEdit: StoreResponse? // ✅ 추가 + var selectedStoreForEdit: AdminStore? // ✅ 추가 } diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterReactor.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterReactor.swift index 7ef8fb60..fd4b5088 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterReactor.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterReactor.swift @@ -19,7 +19,7 @@ final class PopUpStoreRegisterReactor: Reactor { init( adminUseCase: AdminUseCase, presignedService: PreSignedService, - editingStore: GetAdminPopUpStoreListResponseDTO.PopUpStore? = nil + editingStore: AdminStore? = nil ) { self.adminUseCase = adminUseCase self.presignedService = presignedService @@ -89,7 +89,7 @@ final class PopUpStoreRegisterReactor: Reactor { case addDeletedImage(id: Int64, path: String) // 기존 스토어 데이터 설정 - case setStoreDetail(StoreDetailResponse) + case setStoreDetail(AdminStoreDetail) case setOriginalImageIds([String: Int64]) // UI 상태 관리 diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterViewController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterViewController.swift index ed6fd4d0..3a33d18e 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterViewController.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterViewController.swift @@ -20,7 +20,7 @@ final class PopUpStoreRegisterViewController: BaseViewController { // MARK: - Initializer init( nickname: String, - editingStore: GetAdminPopUpStoreListResponseDTO.PopUpStore? = nil + editingStore: AdminStore? = nil ) { self.nickname = nickname self.mainView = PopUpRegisterView() diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminStoreCell.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminStoreCell.swift index e7468603..1789ce87 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminStoreCell.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminStoreCell.swift @@ -75,7 +75,7 @@ final class AdminStoreCell: UITableViewCell { } // MARK: - Configure - func configure(with store: StoreResponse) { + func configure(with store: AdminStore) { Logger.log(message: "셀 데이터 바인딩: \(store)", category: .debug) titleLabel.text = store.name diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminViewController.swift b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminViewController.swift index 108773ee..29c8b765 100644 --- a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminViewController.swift +++ b/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminViewController.swift @@ -153,7 +153,7 @@ final class AdminViewController: BaseViewController, View { present(alert, animated: true) } - private func showDeleteConfirmation(for store: StoreResponse) { + private func showDeleteConfirmation(for store: AdminStore) { let alert = UIAlertController( title: "삭제 확인", message: "\(store.name)을(를) 삭제하시겠습니까?", @@ -168,7 +168,7 @@ final class AdminViewController: BaseViewController, View { present(alert, animated: true) } - private func editStore(_ store: StoreResponse) { + private func editStore(_ store: AdminStore) { adminUseCase.fetchStoreDetail(id: store.id) .observe(on: MainScheduler.instance) .subscribe( @@ -201,7 +201,7 @@ final class AdminViewController: BaseViewController, View { .disposed(by: disposeBag) } - private func deleteStore(_ store: StoreResponse) { + private func deleteStore(_ store: AdminStore) { // 먼저 스토어 상세 정보를 가져와 모든 이미지 URL을 확인 adminUseCase.fetchStoreDetail(id: store.id) .observe(on: MainScheduler.instance) From af70a35746a2585d5329ddfdee64647a638d7dc4 Mon Sep 17 00:00:00 2001 From: 0Hooni Date: Sun, 20 Apr 2025 23:16:52 +0900 Subject: [PATCH 45/83] =?UTF-8?q?refactor/#112:=20=EB=AA=A8=EB=93=88?= =?UTF-8?q?=ED=99=94=20=EB=B0=8F=20Layer=EC=97=90=20=ED=8C=8C=EC=9D=BC=20?= =?UTF-8?q?=EC=9D=B4=EB=8F=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Infrastructure.xcodeproj/project.pbxproj | 352 +++++++++++++ .../DIContainer/DIContainer.swift | 0 .../DIContainer/DependencyWrapper.swift | 0 .../Infrastructure/Extension/Date?+.swift | 0 .../Infrastructure/Extension/Reactive+.swift | 0 .../Infrastructure/Extension/String?+.swift | 0 .../Extension/UIApplication+.swift | 0 .../Extension/UICollectionReusableView+.swift | 0 .../Extension/UICollectionViewCell+.swift | 0 .../Infrastructure/Extension/UIColor+.swift | 0 .../Infrastructure/Extension/UIFont+.swift | 0 .../Infrastructure/Extension/UIImage+.swift | 0 .../Extension/UIImageView+.swift | 0 .../Infrastructure/Extension/UILabel+.swift | 0 .../Extension/UINavigationController+.swift | 0 .../Extension/UITableViewCell+.swift | 0 .../Extension/UITextField+.swift | 0 .../Infrastructure/Extension/UIView+.swift | 0 .../ImageLoader/DiskStorage.swift | 0 .../ImageLoader/ImageLoader.swift | 0 .../ImageLoader/MemoryStorage.swift | 0 .../Infrastructure/Logger/Logger.swift | 0 .../Infrastructure/Secrets.swift | 0 .../Service/AppleLoginService.swift | 0 .../Service/AuthServiceable.swift | 0 .../Service/KakaoLoginService.swift | 0 .../Service/KeyChainService.swift | 0 .../Service/PreSignedService.swift | 0 .../Service/UserDefaultService.swift | 0 .../Data/Data.xcodeproj/project.pbxproj | 349 +++++++++++++ .../API/AdminAPI/AdminAPIEndpoint.swift | 0 .../ResponseDTO/AdminResponseDTO.swift | 0 .../GetAdminPopUpStoreListResponseDTO.swift | 0 .../Network/API/AuthAPI/AuthAPIEndPoint.swift | 0 .../ResponseDTO/LoginResponseDTO.swift | 0 .../PostTokenReissueResponseDTO.swift | 0 .../API/CommentAPI/CommentAPIEndPoint.swift | 0 .../RequestDTO/DeleteCommentRequestDTO.swift | 0 .../RequestDTO/PostCommentRequestDTO.swift | 0 .../RequestDTO/PutCommentRequestDTO.swift | 0 .../Network/API/HomeAPI/HomeAPIEndpoint.swift | 0 .../RequestDTO/HomeSortedRequestDTO.swift | 0 .../ResponseDTO/BannerPopUpStoreDTO.swift | 0 .../ResponseDTO/GetHomeInfoResponseDTO.swift | 0 .../ResponseDTO/PopUpStoreResponseDTO.swift | 0 .../API/MapAPI/FindDirectionEndPoint.swift | 0 .../Network/API/MapAPI/MapAPIEndpoint.swift | 0 .../GetPopUpDirectionResponseDTO.swift | 0 .../MapAPI/ResponseDTO/MapPopUpStoreDTO.swift | 0 .../API/PopUpAPI/PopUpAPIEndPoint.swift | 0 .../GetPopUpCommentRequestDTO.swift | 0 .../RequestDTO/GetPopUpDetailRequestDTO.swift | 0 .../GetSearchPopUpListRequestDTO.swift | 0 .../GetClosePopUpListResponseDTO.swift | 0 .../GetOpenPopUpListResponseDTO.swift | 0 .../GetPopUpCommentResponseDTO.swift | 0 .../GetPopUpDetailResponseDTO.swift | 0 .../GetSearchPopUpListResponseDTO.swift | 0 .../PreSignedAPI/PreSignedAPIEndPoint.swift | 0 .../RequestDTO/PresignedURLRequestDTO.swift | 0 .../ResponseDTO/PreSignedURLDTO.swift | 0 .../ResponseDTO/PreSignedURLResponseDTO.swift | 0 .../RequestDTO/CheckNickNameRequestDTO.swift | 0 .../RequestDTO/SignUpRequestDTO.swift | 0 .../GetCategoryListResponseDTO.swift | 0 .../API/SignUpAPI/SignUpAPIEndpoint.swift | 0 .../RequesetDTO/CommentLikeRequestDTO.swift | 0 .../RequesetDTO/GetMyCommentRequestDTO.swift | 0 .../GetOtherUserCommentListRequestDTO.swift | 0 .../PostBookmarkPopUpRequestDTO.swift | 0 .../RequesetDTO/PostUserBlockRequestDTO.swift | 0 .../PutUserCategoryRequestDTO.swift | 0 .../PutUserProfileRequestDTO.swift | 0 .../PutUserTailoredInfoRequestDTO.swift | 0 .../RequesetDTO/UserSortedRequestDTO.swift | 0 .../GetBlockUserListResponseDTO.swift | 0 .../GetMyCommentedPopUpResponseDTO.swift | 0 .../ResponseDTO/GetMyPageResponseDTO.swift | 0 .../ResponseDTO/GetMyProfileResponseDTO.swift | 0 .../GetNoticeDetailResponseDTO.swift | 0 .../GetNoticeListResponseDTO.swift | 0 ...herUserCommentedPopUpListResponseDTO.swift | 0 .../GetRecentPopUpResponseDTO.swift | 0 .../GetWithdrawlListResponseDTO.swift | 0 .../Network/API/UserAPI/UserAPIEndPoint.swift | 0 .../Data}/Network/Common/NetworkError.swift | 0 .../Data}/Network/Common/Requestable.swift | 0 .../Data}/Network/Common/Responsable.swift | 0 .../Data}/Network/EndPoint/Endpoint.swift | 0 .../Network/EndPoint/MultipartEndPoint.swift | 0 .../Network/EndPoint/RequestEndpoint.swift | 0 .../Interceptor/TokenInterceptor.swift | 0 .../Data}/Network/Provider/Provider.swift | 0 .../Data}/Network/Provider/ProviderImpl.swift | 0 .../RepositoryImpl/AdminRepositoryImpl.swift | 0 .../AuthAPIRepositoryImpl.swift | 0 .../CommentAPIRepositoryImpl.swift | 0 .../HomeAPIRepositoryImpl.swift | 0 .../MapDirectionRepositoryImpl.swift | 0 .../RepositoryImpl/MapRepositoryImpl.swift | 0 .../PopUpAPIRepositoryImpl.swift | 0 .../RepositoryImpl/SignUpRepositoryImpl.swift | 0 .../UserAPIRepositoryImpl.swift | 0 .../Domain/Domain.xcodeproj/project.pbxproj | 488 ++++++++++++++++++ .../Domain/UseCaseImpl/AdminUseCaseImpl.swift | 0 .../UseCaseImpl/AuthAPIUseCaseImpl.swift | 0 .../UseCaseImpl/CommentAPIUseCaseImpl.swift | 0 .../UseCaseImpl/HomeAPIUseCaseImpl.swift | 0 .../Domain/UseCaseImpl/MapUseCaseImpl.swift | 0 .../UseCaseImpl/PopUpAPIUseCaseImpl.swift | 0 .../UseCaseImpl/SignUpAPIUseCaseImpl.swift | 0 .../UseCaseImpl/UserAPIUseCaseImpl.swift | 0 .../Entity/AdminResponse/AdminStore.swift | 0 .../AdminResponse/AdminStoreDetail.swift | 0 .../AdminResponse/Params/AdminParams.swift | 0 .../AuthResponse/CategoryResponse.swift | 0 .../Entity/AuthResponse/LoginResponse.swift | 0 .../PostTokenReissueResponse.swift | 0 .../HomeResponse/BannerPopUpStore.swift | 0 .../HomeResponse/GetHomeInfoResponse.swift | 0 .../Entity/MapResponse/MapPopUpStore.swift | 0 .../GetPopUpCommentResponse.swift | 0 .../GetPopUpDetailResponse.swift | 0 .../GetSearchBottomPopUpListResponse.swift | 0 .../GetSearchPopUpListResponse.swift | 0 .../PopUpResponse/PopUpStoreResponse.swift | 0 .../GetBlockUserListResponse.swift | 0 .../UserResponse/GetMyCommentResponse.swift | 0 .../UserResponse/GetMyPageResponse.swift | 0 .../UserResponse/GetMyProfileResponse.swift | 0 .../GetNoticeDetailResponse.swift | 0 .../UserResponse/GetNoticeListResponse.swift | 0 ...tOtherUserCommentedPopUpListResponse.swift | 0 .../UserResponse/GetRecentPopUpResponse.swift | 0 .../GetWithdrawlListResponse.swift | 0 .../Repository/AdminRepository.swift | 0 .../Repository/AuthAPIRepository.swift | 0 .../Repository/CommentAPIRepository.swift | 0 .../Repository/HomeAPIRepository.swift | 0 .../Repository/MapDirectionRepository.swift | 0 .../Repository/MapRepository.swift | 0 .../Repository/PopUpAPIRepository.swift | 0 .../Repository/SignUpRepository.swift | 0 .../Repository/UserAPIRepository.swift | 0 .../UseCase/AdminUseCase.swift | 0 .../UseCase/AuthAPIUseCase.swift | 0 .../UseCase/CommentAPIUseCase.swift | 0 .../UseCase/HomeAPIUseCase.swift | 0 .../DomainInterface/UseCase/MapUseCase.swift | 0 .../UseCase/PopUpAPIUseCase.swift | 0 .../UseCase/SignUpAPIUseCase.swift | 0 .../UseCase/UserAPIUseCase.swift | 0 Poppool/Poppool.xcodeproj/project.pbxproj | 4 +- .../contents.xcworkspacedata | 35 ++ .../xcshareddata/swiftpm/Package.resolved | 168 ++++++ .../{ => Resource}/Poppool.entitlements | 0 .../Presentation.xcodeproj/project.pbxproj | 352 +++++++++++++ .../Presentation/Components/PPButton.swift | 0 .../Components/PPCancelHeaderView.swift | 0 .../Presentation/Components/PPLabel.swift | 0 .../Presentation/Components/PPPicker.swift | 0 .../PPProgressIndicator.swift | 0 .../PPProgressIndicator/PPProgressView.swift | 0 .../Components/PPReturnHeaderView.swift | 0 .../Components/PPSegmentedControl.swift | 0 .../AdminBottomSheetReactor.swift | 0 .../AdminBottomSheetView.swift | 0 .../AdminBottomSheetViewController.swift | 0 .../Scene/Admin/AdminReactor.swift | 0 .../PopUpImagesCollectionView.swift | 0 .../PopUpStoreRegisterReactor.swift | 0 .../PopUpStoreRegisterView.swift | 0 .../PopUpStoreRegisterViewController.swift | 0 .../Scene/Admin/AdminStoreCell.swift | 0 .../Presentation/Scene/Admin/AdminView.swift | 0 .../Scene/Admin/AdminViewController.swift | 0 .../Presentation/Scene/Admin/ImageCell.swift | 0 .../CommentCheck/CommentCheckController.swift | 0 .../CommentCheck/CommentCheckReactor.swift | 0 .../CommentCheck/CommentCheckView.swift | 0 .../CommentDetailController.swift | 0 .../CommentDetail/CommentDetailReactor.swift | 0 .../CommentDetailContentSection.swift | 0 .../CommentDetailContentSectionCell.swift | 0 .../View/CommentDetailImageSection.swift | 0 .../View/CommentDetailView.swift | 0 .../CommentMyMenuController.swift | 0 .../CommentMyMenu/CommentMyMenuReactor.swift | 0 .../CommentMyMenu/CommentMyMenuView.swift | 0 .../CommentUserInfoController.swift | 0 .../CommentUserInfoReactor.swift | 0 .../CommentUserInfo/CommentUserInfoView.swift | 0 .../CommentList/CommentListController.swift | 0 .../CommentList/CommentListReactor.swift | 0 .../CommentListTitleSection.swift | 0 .../CommentListTitleSectionCell.swift | 0 .../CommentList/View/CommentListView.swift | 0 .../CommentSelectedController.swift | 0 .../CommentSelectedReactor.swift | 0 .../CommentSelected/CommentSelectedView.swift | 0 .../CommentUserBlockController.swift | 0 .../CommentUserBlockReactor.swift | 0 .../CommentUserBlockView.swift | 0 .../InstaCommentAddController.swift | 0 .../InstaComment/InstaCommentAddReactor.swift | 0 .../View/InstaCommentAddView.swift | 0 .../InstaGuideChildSection.swift | 0 .../InstaGuideChildSectionCell.swift | 0 .../InstaGuideSection/InstaGuideSection.swift | 0 .../InstaGuideSectionCell.swift | 0 .../NormalCommentAddController.swift | 0 .../NormalCommentAddReactor.swift | 0 .../AddCommentDescriptionSection.swift | 0 .../AddCommentDescriptionSectionCell.swift | 0 .../AddCommentImageSection.swift | 0 .../AddCommentImageSectionCell.swift | 0 .../AddCommentSection/AddCommentSection.swift | 0 .../AddCommentSectionCell.swift | 0 .../AddCommentTitleSection.swift | 0 .../AddCommentTitleSectionCell.swift | 0 .../View/NormalCommentAddView.swift | 0 .../NormalCommentEditController.swift | 0 .../NormalCommentEditReactor.swift | 0 .../NormalCommentEditView.swift | 0 .../OtherUserCommentController.swift | 0 .../OtherUserCommentReactor.swift | 0 .../OtherUserCommentSection.swift | 0 .../OtherUserCommentSectionCell.swift | 0 .../View/OtherUserCommentView.swift | 0 .../Scene/Detail/DetailController.swift | 0 .../Scene/Detail/DetailReactor.swift | 0 .../DetailCommentImageCell.swift | 0 .../DetailCommentProfileView.swift | 0 .../DetailCommentSection.swift | 0 .../DetailCommentSectionCell.swift | 0 .../DetailCommentTitleSection.swift | 0 .../DetailCommentTitleSectionCell.swift | 0 .../DetailContentSection.swift | 0 .../DetailContentSectionCell.swift | 0 .../DetailEmptyCommetSection.swift | 0 .../DetailEmptyCommetSectionCell.swift | 0 .../DetailInfoSection/DetailInfoSection.swift | 0 .../DetailInfoSectionCell.swift | 0 .../DetailSimilarSection.swift | 0 .../DetailSimilarSectionCell.swift | 0 .../DetailTitleSection.swift | 0 .../DetailTitleSectionCell.swift | 0 .../Scene/Detail/View/DetailView.swift | 0 .../Scene/Home/List/HomeListController.swift | 0 .../Scene/Home/List/HomeListReactor.swift | 0 .../Scene/Home/List/HomePopUpType.swift | 0 .../Home/List/View/HomeCardGridSection.swift | 0 .../Scene/Home/List/View/HomeListView.swift | 0 .../Scene/Home/Main/HomeController.swift | 0 .../Scene/Home/Main/HomeReactor.swift | 0 .../HomeCardSection/HomeCardSection.swift | 0 .../HomeCardSection/HomeCardSectionCell.swift | 0 .../Scene/Home/Main/View/HomeHeaderView.swift | 0 .../HomePopularCardSection.swift | 0 .../HomePopularCardSectionCell.swift | 0 .../HomeTitleSection/HomeTitleSection.swift | 0 .../HomeTitleSectionCell.swift | 0 .../Scene/Home/Main/View/HomeView.swift | 0 .../ImageBannerChildSection.swift | 0 .../ImageBannerChildSectionCell.swift | 0 .../ImageBannerSection.swift | 0 .../ImageBannerSectionCell.swift | 0 .../SectionBackGroundDecorationView.swift | 0 .../View/SpacingSection/SpacingSection.swift | 0 .../SpacingSection/SpacingSectionCell.swift | 0 .../ImageDetail/ImageDetailController.swift | 0 .../ImageDetail/ImageDetailReactor.swift | 0 .../Scene/ImageDetail/ImageDetailView.swift | 0 .../Scene/Login/LastLoginView.swift | 0 .../Scene/Login/Main/LoginController.swift | 0 .../Scene/Login/Main/LoginReactor.swift | 0 .../Scene/Login/Main/LoginView.swift | 0 .../Scene/Login/Sub/SubLoginController.swift | 0 .../Scene/Login/Sub/SubLoginReactor.swift | 0 .../Scene/Login/Sub/SubLoginView.swift | 0 .../BalloonBackgroundView.swift | 0 .../FillterSheetView/BalloonChipCell.swift | 0 .../FilterBottomSheetReactor.swift | 0 .../FilterBottomSheetView.swift | 0 .../FilterBottomSheetViewController.swift | 0 .../Map/FillterSheetView/FilterCell.swift | 0 .../Map/FillterSheetView/FilterChip.swift | 0 .../FillterSheetView/FilterChipsView.swift | 0 .../FullScreenMapViewController.swift | 0 .../MapGuideView/MapGuideReactor.swift | 0 .../MapGuideView/MapGuideViewController.swift | 0 .../MapPopupCarouselView.swift | 0 .../Map/MapPopupCardView/PopupCardCell.swift | 0 .../Scene/Map/MapView/MapMarker.swift | 0 .../Scene/Map/MapView/MapReactor.swift | 0 .../Scene/Map/MapView/MapSearchInput.swift | 0 .../Scene/Map/MapView/MapView.swift | 0 .../Scene/Map/MapView/MapViewController.swift | 0 .../Scene/Map/MapView/MarkerTooltipView.swift | 0 .../Map/StoreListView/StoreListCell.swift | 0 .../Map/StoreListView/StoreListReactor.swift | 0 .../Map/StoreListView/StoreListSection.swift | 0 .../Map/StoreListView/StoreListView.swift | 0 .../StoreListViewController.swift | 0 .../Block/BlockUserManageController.swift | 0 .../MyPage/Block/BlockUserManageReactor.swift | 0 .../BlockUserListSection.swift | 0 .../BlockUserListSectionCell.swift | 0 .../Block/View/BlockUserManageView.swift | 0 .../Main/MyPageBookmarkController.swift | 0 .../Bookmark/Main/MyPageBookmarkReactor.swift | 0 .../Bookmark/Main/MyPageBookmarkView.swift | 0 .../Bookmark/Main/View/CountButtonView.swift | 0 .../PopUpCardSection/PopUpCardSection.swift | 0 .../PopUpCardSectionCell.swift | 0 .../View/PopUpCardSection/PopUpCardView.swift | 0 ...BookMarkPopUpViewTypeModalController.swift | 0 .../BookMarkPopUpViewTypeModalReactor.swift | 0 .../BookMarkPopUpViewTypeModalView.swift | 0 .../Scene/MyPage/FAQ/FAQController.swift | 0 .../Scene/MyPage/FAQ/FAQReactor.swift | 0 .../FAQDropdownSection.swift | 0 .../FAQDropdownSectionCell.swift | 0 .../Scene/MyPage/FAQ/View/FAQView.swift | 0 .../Scene/MyPage/Main/MyPageController.swift | 0 .../Scene/MyPage/Main/MyPageReactor.swift | 0 .../MyPageCommentSection.swift | 0 .../MyPageCommentSectionCell.swift | 0 .../MyPageListSection/MyPageListSection.swift | 0 .../MyPageListSectionCell.swift | 0 .../MyPageLogoutSection.swift | 0 .../MyPageLogoutSectionCell.swift | 0 .../MyPageMyCommentTitleSection.swift | 0 .../MyPageMyCommentTitleSectionCell.swift | 0 .../MyPageProfileSection.swift | 0 .../MyPageProfileSectionCell.swift | 0 .../Scene/MyPage/Main/View/MyPageView.swift | 0 .../MyComment/Main/MyCommentController.swift | 0 .../MyComment/Main/MyCommentReactor.swift | 0 .../ListCountButtonSection.swift | 0 .../ListCountButtonSectionCell.swift | 0 .../MyComment/Main/View/MyCommentView.swift | 0 .../MyCommentedPopUpGridSection.swift | 0 .../MyCommentedPopUpGridSectionCell.swift | 0 .../MyCommentSortedModalController.swift | 0 .../MyCommentSortedModalReactor.swift | 0 .../MyCommentSortedModalView.swift | 0 .../Detail/MyPageNoticeDetailController.swift | 0 .../Detail/MyPageNoticeDetailReactor.swift | 0 .../Detail/MyPageNoticeDetailView.swift | 0 .../Notice/List/MyPageNoticeController.swift | 0 .../Notice/List/MyPageNoticeReactor.swift | 0 .../Notice/List/View/MyPageNoticeView.swift | 0 .../NoticeListSection/NoticeListSection.swift | 0 .../NoticeListSectionCell.swift | 0 .../CategoryEditModalController.swift | 0 .../CategoryEditModalReactor.swift | 0 .../CategoryEditModalView.swift | 0 .../InfoEditModalController.swift | 0 .../InfoEditModal/InfoEditModalReactor.swift | 0 .../InfoEditModal/InfoEditModalView.swift | 0 .../Main/ProfileEditController.swift | 0 .../ProfileEdit/Main/ProfileEditReactor.swift | 0 .../Main/View/ProfileEditListButton.swift | 0 .../Main/View/ProfileEditView.swift | 0 .../Recent/MyPageRecentController.swift | 0 .../MyPage/Recent/MyPageRecentReactor.swift | 0 .../MyPage/Recent/View/MyPageRecentView.swift | 0 .../RecentPopUpSection.swift | 0 .../MyPage/Terms/MyPageTermsController.swift | 0 .../MyPage/Terms/MyPageTermsReactor.swift | 0 .../WithdrawlCheckModalController.swift | 0 .../WithdrawlCheckModalReactor.swift | 0 .../CheckModal/WithdrawlCheckModalView.swift | 0 .../WithdrawlCompleteController.swift | 0 .../Complete/WithdrawlCompleteView.swift | 0 .../View/WithdrawlCheckSection.swift | 0 .../View/WithdrawlCheckSectionCell.swift | 0 .../View/WithdrawlReasonView.swift | 0 .../WithdrawlReasonController.swift | 0 .../WithdrawlReasonReactor.swift | 0 .../AfterSearch/SearchResultController.swift | 0 .../AfterSearch/SearchResultReactor.swift | 0 .../SearchResultCountSection.swift | 0 .../SearchResultCountSectionCell.swift | 0 .../AfterSearch/View/SearchResultView.swift | 0 .../BeforeSearch/SearchController.swift | 0 .../Search/BeforeSearch/SearchReactor.swift | 0 .../CancelableTagSection.swift | 0 .../CancelableTagSectionCell.swift | 0 .../SearchCountTitleSection.swift | 0 .../SearchCountTitleSectionCell.swift | 0 .../SearchTitleSection.swift | 0 .../SearchTitleSectionCell.swift | 0 .../Search/BeforeSearch/View/SearchView.swift | 0 .../SearchCategoryController.swift | 0 .../SearchCategoryReactor.swift | 0 .../SearchCategoryView.swift | 0 .../Search/Main/SearchMainController.swift | 0 .../Scene/Search/Main/SearchMainReactor.swift | 0 .../Scene/Search/Main/SearchMainView.swift | 0 .../SearchSortedController.swift | 0 .../SearchSortedReactor.swift | 0 .../SortedController/SearchSortedView.swift | 0 .../SignUp/Main/SignUpMainController.swift | 0 .../Scene/SignUp/Main/SignUpMainReactor.swift | 0 .../SignUp/Main/View/SignUpMainView.swift | 0 .../SignUpCompleteController.swift | 0 .../SignUpCompleteReactor.swift | 0 .../SignUpComplete/SignUpCompleteView.swift | 0 .../SignUp/Step1/SignUpStep1Controller.swift | 0 .../SignUp/Step1/SignUpStep1Reactor.swift | 0 .../Step1/View/SignUpCheckBoxButton.swift | 0 .../SignUp/Step1/View/SignUpStep1View.swift | 0 .../SignUp/Step1/View/SignUpTermsView.swift | 0 .../Scene/SignUp/Step2/IntroState.swift | 0 .../Scene/SignUp/Step2/NickNameState.swift | 0 .../SignUp/Step2/SignUpStep2Controller.swift | 0 .../SignUp/Step2/SignUpStep2Reactor.swift | 0 .../Scene/SignUp/Step2/SignUpStep2View.swift | 0 .../SignUp/Step3/SignUpStep3Controller.swift | 0 .../SignUp/Step3/SignUpStep3Reactor.swift | 0 .../SignUp/Step3/View/SignUpStep3View.swift | 0 .../Step3/View/TagSection/TagSection.swift | 0 .../View/TagSection/TagSectionCell.swift | 0 .../AgeSelectedController.swift | 0 .../AgeSelectedModal/AgeSelectedReactor.swift | 0 .../AgeSelectedModal/AgeSelectedView.swift | 0 .../Step4/Main/SignUpStep4Controller.swift | 0 .../Step4/Main/SignUpStep4Reactor.swift | 0 .../Step4/Main/View/AgeSelectedButton.swift | 0 .../Step4/Main/View/SignUpStep4View.swift | 0 .../TermsDetail/TermsDetailController.swift | 0 .../SignUp/TermsDetail/TermsDetailView.swift | 0 .../Scene/Splash/SplashController.swift | 0 .../Scene/Splash/View/SplashView.swift | 0 .../TabbarController/TabbarController.swift | 0 .../Utills/Common/ClusteringManager.swift | 0 .../Utills/Common/ClusteringModels.swift | 0 .../Utills/Common/DateTimePickerManager.swift | 0 .../Utills/Common/ExtendedImage.swift | 0 .../Utills/Common/FilterType.swift | 0 .../LocationPermissionBottomSheet.swift | 0 .../Utills/Common/MapFilterChips.swift | 0 .../Utills/Common/MapUtilities.swift | 0 .../Common/NMFMapViewDelegateProxy.swift | 0 .../Utills/Common/RegionDefinitions.swift | 0 .../Controllers/BaseTabmanController.swift | 0 .../Controllers/BaseViewController.swift | 0 .../Utills/Interfaces/InOutputable.swift | 0 .../Sectionable/SectionDecorationItem.swift | 0 .../SectionSupplementaryItem.swift | 0 .../Interfaces/Sectionable/Sectionable.swift | 0 .../Utills/ToastMaker/BookMarkToastView.swift | 0 .../Utills/ToastMaker/ToastMaker.swift | 0 .../Utills/ToastMaker/ToastView.swift | 0 456 files changed, 1746 insertions(+), 2 deletions(-) create mode 100644 Poppool/CoreLayer/Infrastructure/Infrastructure.xcodeproj/project.pbxproj rename Poppool/{Poppool/CoreLayer => CoreLayer/Infrastructure}/Infrastructure/DIContainer/DIContainer.swift (100%) rename Poppool/{Poppool/CoreLayer => CoreLayer/Infrastructure}/Infrastructure/DIContainer/DependencyWrapper.swift (100%) rename Poppool/{Poppool/CoreLayer => CoreLayer/Infrastructure}/Infrastructure/Extension/Date?+.swift (100%) rename Poppool/{Poppool/CoreLayer => CoreLayer/Infrastructure}/Infrastructure/Extension/Reactive+.swift (100%) rename Poppool/{Poppool/CoreLayer => CoreLayer/Infrastructure}/Infrastructure/Extension/String?+.swift (100%) rename Poppool/{Poppool/CoreLayer => CoreLayer/Infrastructure}/Infrastructure/Extension/UIApplication+.swift (100%) rename Poppool/{Poppool/CoreLayer => CoreLayer/Infrastructure}/Infrastructure/Extension/UICollectionReusableView+.swift (100%) rename Poppool/{Poppool/CoreLayer => CoreLayer/Infrastructure}/Infrastructure/Extension/UICollectionViewCell+.swift (100%) rename Poppool/{Poppool/CoreLayer => CoreLayer/Infrastructure}/Infrastructure/Extension/UIColor+.swift (100%) rename Poppool/{Poppool/CoreLayer => CoreLayer/Infrastructure}/Infrastructure/Extension/UIFont+.swift (100%) rename Poppool/{Poppool/CoreLayer => CoreLayer/Infrastructure}/Infrastructure/Extension/UIImage+.swift (100%) rename Poppool/{Poppool/CoreLayer => CoreLayer/Infrastructure}/Infrastructure/Extension/UIImageView+.swift (100%) rename Poppool/{Poppool/CoreLayer => CoreLayer/Infrastructure}/Infrastructure/Extension/UILabel+.swift (100%) rename Poppool/{Poppool/CoreLayer => CoreLayer/Infrastructure}/Infrastructure/Extension/UINavigationController+.swift (100%) rename Poppool/{Poppool/CoreLayer => CoreLayer/Infrastructure}/Infrastructure/Extension/UITableViewCell+.swift (100%) rename Poppool/{Poppool/CoreLayer => CoreLayer/Infrastructure}/Infrastructure/Extension/UITextField+.swift (100%) rename Poppool/{Poppool/CoreLayer => CoreLayer/Infrastructure}/Infrastructure/Extension/UIView+.swift (100%) rename Poppool/{Poppool/CoreLayer => CoreLayer/Infrastructure}/Infrastructure/ImageLoader/DiskStorage.swift (100%) rename Poppool/{Poppool/CoreLayer => CoreLayer/Infrastructure}/Infrastructure/ImageLoader/ImageLoader.swift (100%) rename Poppool/{Poppool/CoreLayer => CoreLayer/Infrastructure}/Infrastructure/ImageLoader/MemoryStorage.swift (100%) rename Poppool/{Poppool/CoreLayer => CoreLayer/Infrastructure}/Infrastructure/Logger/Logger.swift (100%) rename Poppool/{Poppool/CoreLayer => CoreLayer/Infrastructure}/Infrastructure/Secrets.swift (100%) rename Poppool/{Poppool/CoreLayer => CoreLayer/Infrastructure}/Infrastructure/Service/AppleLoginService.swift (100%) rename Poppool/{Poppool/CoreLayer => CoreLayer/Infrastructure}/Infrastructure/Service/AuthServiceable.swift (100%) rename Poppool/{Poppool/CoreLayer => CoreLayer/Infrastructure}/Infrastructure/Service/KakaoLoginService.swift (100%) rename Poppool/{Poppool/CoreLayer => CoreLayer/Infrastructure}/Infrastructure/Service/KeyChainService.swift (100%) rename Poppool/{Poppool/CoreLayer => CoreLayer/Infrastructure}/Infrastructure/Service/PreSignedService.swift (100%) rename Poppool/{Poppool/CoreLayer => CoreLayer/Infrastructure}/Infrastructure/Service/UserDefaultService.swift (100%) create mode 100644 Poppool/DataLayer/Data/Data.xcodeproj/project.pbxproj rename Poppool/{Poppool/DataLayer => DataLayer/Data/Data}/Network/API/AdminAPI/AdminAPIEndpoint.swift (100%) rename Poppool/{Poppool/DataLayer => DataLayer/Data/Data}/Network/API/AdminAPI/ResponseDTO/AdminResponseDTO.swift (100%) rename Poppool/{Poppool/DataLayer => DataLayer/Data/Data}/Network/API/AdminAPI/ResponseDTO/GetAdminPopUpStoreListResponseDTO.swift (100%) rename Poppool/{Poppool/DataLayer => DataLayer/Data/Data}/Network/API/AuthAPI/AuthAPIEndPoint.swift (100%) rename Poppool/{Poppool/DataLayer => DataLayer/Data/Data}/Network/API/AuthAPI/ResponseDTO/LoginResponseDTO.swift (100%) rename Poppool/{Poppool/DataLayer => DataLayer/Data/Data}/Network/API/AuthAPI/ResponseDTO/PostTokenReissueResponseDTO.swift (100%) rename Poppool/{Poppool/DataLayer => DataLayer/Data/Data}/Network/API/CommentAPI/CommentAPIEndPoint.swift (100%) rename Poppool/{Poppool/DataLayer => DataLayer/Data/Data}/Network/API/CommentAPI/RequestDTO/DeleteCommentRequestDTO.swift (100%) rename Poppool/{Poppool/DataLayer => DataLayer/Data/Data}/Network/API/CommentAPI/RequestDTO/PostCommentRequestDTO.swift (100%) rename Poppool/{Poppool/DataLayer => DataLayer/Data/Data}/Network/API/CommentAPI/RequestDTO/PutCommentRequestDTO.swift (100%) rename Poppool/{Poppool/DataLayer => DataLayer/Data/Data}/Network/API/HomeAPI/HomeAPIEndpoint.swift (100%) rename Poppool/{Poppool/DataLayer => DataLayer/Data/Data}/Network/API/HomeAPI/RequestDTO/HomeSortedRequestDTO.swift (100%) rename Poppool/{Poppool/DataLayer => DataLayer/Data/Data}/Network/API/HomeAPI/ResponseDTO/BannerPopUpStoreDTO.swift (100%) rename Poppool/{Poppool/DataLayer => DataLayer/Data/Data}/Network/API/HomeAPI/ResponseDTO/GetHomeInfoResponseDTO.swift (100%) rename Poppool/{Poppool/DataLayer => DataLayer/Data/Data}/Network/API/HomeAPI/ResponseDTO/PopUpStoreResponseDTO.swift (100%) rename Poppool/{Poppool/DataLayer => DataLayer/Data/Data}/Network/API/MapAPI/FindDirectionEndPoint.swift (100%) rename Poppool/{Poppool/DataLayer => DataLayer/Data/Data}/Network/API/MapAPI/MapAPIEndpoint.swift (100%) rename Poppool/{Poppool/DataLayer => DataLayer/Data/Data}/Network/API/MapAPI/ResponseDTO/GetPopUpDirectionResponseDTO.swift (100%) rename Poppool/{Poppool/DataLayer => DataLayer/Data/Data}/Network/API/MapAPI/ResponseDTO/MapPopUpStoreDTO.swift (100%) rename Poppool/{Poppool/DataLayer => DataLayer/Data/Data}/Network/API/PopUpAPI/PopUpAPIEndPoint.swift (100%) rename Poppool/{Poppool/DataLayer => DataLayer/Data/Data}/Network/API/PopUpAPI/RequestDTO/GetPopUpCommentRequestDTO.swift (100%) rename Poppool/{Poppool/DataLayer => DataLayer/Data/Data}/Network/API/PopUpAPI/RequestDTO/GetPopUpDetailRequestDTO.swift (100%) rename Poppool/{Poppool/DataLayer => DataLayer/Data/Data}/Network/API/PopUpAPI/RequestDTO/GetSearchPopUpListRequestDTO.swift (100%) rename Poppool/{Poppool/DataLayer => DataLayer/Data/Data}/Network/API/PopUpAPI/ResponseDTO/GetClosePopUpListResponseDTO.swift (100%) rename Poppool/{Poppool/DataLayer => DataLayer/Data/Data}/Network/API/PopUpAPI/ResponseDTO/GetOpenPopUpListResponseDTO.swift (100%) rename Poppool/{Poppool/DataLayer => DataLayer/Data/Data}/Network/API/PopUpAPI/ResponseDTO/GetPopUpCommentResponseDTO.swift (100%) rename Poppool/{Poppool/DataLayer => DataLayer/Data/Data}/Network/API/PopUpAPI/ResponseDTO/GetPopUpDetailResponseDTO.swift (100%) rename Poppool/{Poppool/DataLayer => DataLayer/Data/Data}/Network/API/PopUpAPI/ResponseDTO/GetSearchPopUpListResponseDTO.swift (100%) rename Poppool/{Poppool/DataLayer => DataLayer/Data/Data}/Network/API/PreSignedAPI/PreSignedAPIEndPoint.swift (100%) rename Poppool/{Poppool/DataLayer => DataLayer/Data/Data}/Network/API/PreSignedAPI/RequestDTO/PresignedURLRequestDTO.swift (100%) rename Poppool/{Poppool/DataLayer => DataLayer/Data/Data}/Network/API/PreSignedAPI/ResponseDTO/PreSignedURLDTO.swift (100%) rename Poppool/{Poppool/DataLayer => DataLayer/Data/Data}/Network/API/PreSignedAPI/ResponseDTO/PreSignedURLResponseDTO.swift (100%) rename Poppool/{Poppool/DataLayer => DataLayer/Data/Data}/Network/API/SignUpAPI/RequestDTO/CheckNickNameRequestDTO.swift (100%) rename Poppool/{Poppool/DataLayer => DataLayer/Data/Data}/Network/API/SignUpAPI/RequestDTO/SignUpRequestDTO.swift (100%) rename Poppool/{Poppool/DataLayer => DataLayer/Data/Data}/Network/API/SignUpAPI/ResponseDTO/GetCategoryListResponseDTO.swift (100%) rename Poppool/{Poppool/DataLayer => DataLayer/Data/Data}/Network/API/SignUpAPI/SignUpAPIEndpoint.swift (100%) rename Poppool/{Poppool/DataLayer => DataLayer/Data/Data}/Network/API/UserAPI/RequesetDTO/CommentLikeRequestDTO.swift (100%) rename Poppool/{Poppool/DataLayer => DataLayer/Data/Data}/Network/API/UserAPI/RequesetDTO/GetMyCommentRequestDTO.swift (100%) rename Poppool/{Poppool/DataLayer => DataLayer/Data/Data}/Network/API/UserAPI/RequesetDTO/GetOtherUserCommentListRequestDTO.swift (100%) rename Poppool/{Poppool/DataLayer => DataLayer/Data/Data}/Network/API/UserAPI/RequesetDTO/PostBookmarkPopUpRequestDTO.swift (100%) rename Poppool/{Poppool/DataLayer => DataLayer/Data/Data}/Network/API/UserAPI/RequesetDTO/PostUserBlockRequestDTO.swift (100%) rename Poppool/{Poppool/DataLayer => DataLayer/Data/Data}/Network/API/UserAPI/RequesetDTO/PutUserCategoryRequestDTO.swift (100%) rename Poppool/{Poppool/DataLayer => DataLayer/Data/Data}/Network/API/UserAPI/RequesetDTO/PutUserProfileRequestDTO.swift (100%) rename Poppool/{Poppool/DataLayer => DataLayer/Data/Data}/Network/API/UserAPI/RequesetDTO/PutUserTailoredInfoRequestDTO.swift (100%) rename Poppool/{Poppool/DataLayer => DataLayer/Data/Data}/Network/API/UserAPI/RequesetDTO/UserSortedRequestDTO.swift (100%) rename Poppool/{Poppool/DataLayer => DataLayer/Data/Data}/Network/API/UserAPI/ResponseDTO/GetBlockUserListResponseDTO.swift (100%) rename Poppool/{Poppool/DataLayer => DataLayer/Data/Data}/Network/API/UserAPI/ResponseDTO/GetMyCommentedPopUpResponseDTO.swift (100%) rename Poppool/{Poppool/DataLayer => DataLayer/Data/Data}/Network/API/UserAPI/ResponseDTO/GetMyPageResponseDTO.swift (100%) rename Poppool/{Poppool/DataLayer => DataLayer/Data/Data}/Network/API/UserAPI/ResponseDTO/GetMyProfileResponseDTO.swift (100%) rename Poppool/{Poppool/DataLayer => DataLayer/Data/Data}/Network/API/UserAPI/ResponseDTO/GetNoticeDetailResponseDTO.swift (100%) rename Poppool/{Poppool/DataLayer => DataLayer/Data/Data}/Network/API/UserAPI/ResponseDTO/GetNoticeListResponseDTO.swift (100%) rename Poppool/{Poppool/DataLayer => DataLayer/Data/Data}/Network/API/UserAPI/ResponseDTO/GetOtherUserCommentedPopUpListResponseDTO.swift (100%) rename Poppool/{Poppool/DataLayer => DataLayer/Data/Data}/Network/API/UserAPI/ResponseDTO/GetRecentPopUpResponseDTO.swift (100%) rename Poppool/{Poppool/DataLayer => DataLayer/Data/Data}/Network/API/UserAPI/ResponseDTO/GetWithdrawlListResponseDTO.swift (100%) rename Poppool/{Poppool/DataLayer => DataLayer/Data/Data}/Network/API/UserAPI/UserAPIEndPoint.swift (100%) rename Poppool/{Poppool/DataLayer => DataLayer/Data/Data}/Network/Common/NetworkError.swift (100%) rename Poppool/{Poppool/DataLayer => DataLayer/Data/Data}/Network/Common/Requestable.swift (100%) rename Poppool/{Poppool/DataLayer => DataLayer/Data/Data}/Network/Common/Responsable.swift (100%) rename Poppool/{Poppool/DataLayer => DataLayer/Data/Data}/Network/EndPoint/Endpoint.swift (100%) rename Poppool/{Poppool/DataLayer => DataLayer/Data/Data}/Network/EndPoint/MultipartEndPoint.swift (100%) rename Poppool/{Poppool/DataLayer => DataLayer/Data/Data}/Network/EndPoint/RequestEndpoint.swift (100%) rename Poppool/{Poppool/DataLayer => DataLayer/Data/Data}/Network/Interceptor/TokenInterceptor.swift (100%) rename Poppool/{Poppool/DataLayer => DataLayer/Data/Data}/Network/Provider/Provider.swift (100%) rename Poppool/{Poppool/DataLayer => DataLayer/Data/Data}/Network/Provider/ProviderImpl.swift (100%) rename Poppool/{Poppool/DataLayer => DataLayer/Data/Data}/RepositoryImpl/AdminRepositoryImpl.swift (100%) rename Poppool/{Poppool/DataLayer => DataLayer/Data/Data}/RepositoryImpl/AuthAPIRepositoryImpl.swift (100%) rename Poppool/{Poppool/DataLayer => DataLayer/Data/Data}/RepositoryImpl/CommentAPIRepositoryImpl.swift (100%) rename Poppool/{Poppool/DataLayer => DataLayer/Data/Data}/RepositoryImpl/HomeAPIRepositoryImpl.swift (100%) rename Poppool/{Poppool/DataLayer => DataLayer/Data/Data}/RepositoryImpl/MapDirectionRepositoryImpl.swift (100%) rename Poppool/{Poppool/DataLayer => DataLayer/Data/Data}/RepositoryImpl/MapRepositoryImpl.swift (100%) rename Poppool/{Poppool/DataLayer => DataLayer/Data/Data}/RepositoryImpl/PopUpAPIRepositoryImpl.swift (100%) rename Poppool/{Poppool/DataLayer => DataLayer/Data/Data}/RepositoryImpl/SignUpRepositoryImpl.swift (100%) rename Poppool/{Poppool/DataLayer => DataLayer/Data/Data}/RepositoryImpl/UserAPIRepositoryImpl.swift (100%) create mode 100644 Poppool/DomainLayer/Domain/Domain.xcodeproj/project.pbxproj rename Poppool/{Poppool/DomainLayer => DomainLayer/Domain}/Domain/UseCaseImpl/AdminUseCaseImpl.swift (100%) rename Poppool/{Poppool/DomainLayer => DomainLayer/Domain}/Domain/UseCaseImpl/AuthAPIUseCaseImpl.swift (100%) rename Poppool/{Poppool/DomainLayer => DomainLayer/Domain}/Domain/UseCaseImpl/CommentAPIUseCaseImpl.swift (100%) rename Poppool/{Poppool/DomainLayer => DomainLayer/Domain}/Domain/UseCaseImpl/HomeAPIUseCaseImpl.swift (100%) rename Poppool/{Poppool/DomainLayer => DomainLayer/Domain}/Domain/UseCaseImpl/MapUseCaseImpl.swift (100%) rename Poppool/{Poppool/DomainLayer => DomainLayer/Domain}/Domain/UseCaseImpl/PopUpAPIUseCaseImpl.swift (100%) rename Poppool/{Poppool/DomainLayer => DomainLayer/Domain}/Domain/UseCaseImpl/SignUpAPIUseCaseImpl.swift (100%) rename Poppool/{Poppool/DomainLayer => DomainLayer/Domain}/Domain/UseCaseImpl/UserAPIUseCaseImpl.swift (100%) rename Poppool/{Poppool/DomainLayer => DomainLayer/Domain}/DomainInterface/Entity/AdminResponse/AdminStore.swift (100%) rename Poppool/{Poppool/DomainLayer => DomainLayer/Domain}/DomainInterface/Entity/AdminResponse/AdminStoreDetail.swift (100%) rename Poppool/{Poppool/DomainLayer => DomainLayer/Domain}/DomainInterface/Entity/AdminResponse/Params/AdminParams.swift (100%) rename Poppool/{Poppool/DomainLayer => DomainLayer/Domain}/DomainInterface/Entity/AuthResponse/CategoryResponse.swift (100%) rename Poppool/{Poppool/DomainLayer => DomainLayer/Domain}/DomainInterface/Entity/AuthResponse/LoginResponse.swift (100%) rename Poppool/{Poppool/DomainLayer => DomainLayer/Domain}/DomainInterface/Entity/AuthResponse/PostTokenReissueResponse.swift (100%) rename Poppool/{Poppool/DomainLayer => DomainLayer/Domain}/DomainInterface/Entity/HomeResponse/BannerPopUpStore.swift (100%) rename Poppool/{Poppool/DomainLayer => DomainLayer/Domain}/DomainInterface/Entity/HomeResponse/GetHomeInfoResponse.swift (100%) rename Poppool/{Poppool/DomainLayer => DomainLayer/Domain}/DomainInterface/Entity/MapResponse/MapPopUpStore.swift (100%) rename Poppool/{Poppool/DomainLayer => DomainLayer/Domain}/DomainInterface/Entity/PopUpResponse/GetPopUpCommentResponse.swift (100%) rename Poppool/{Poppool/DomainLayer => DomainLayer/Domain}/DomainInterface/Entity/PopUpResponse/GetPopUpDetailResponse.swift (100%) rename Poppool/{Poppool/DomainLayer => DomainLayer/Domain}/DomainInterface/Entity/PopUpResponse/GetSearchBottomPopUpListResponse.swift (100%) rename Poppool/{Poppool/DomainLayer => DomainLayer/Domain}/DomainInterface/Entity/PopUpResponse/GetSearchPopUpListResponse.swift (100%) rename Poppool/{Poppool/DomainLayer => DomainLayer/Domain}/DomainInterface/Entity/PopUpResponse/PopUpStoreResponse.swift (100%) rename Poppool/{Poppool/DomainLayer => DomainLayer/Domain}/DomainInterface/Entity/UserResponse/GetBlockUserListResponse.swift (100%) rename Poppool/{Poppool/DomainLayer => DomainLayer/Domain}/DomainInterface/Entity/UserResponse/GetMyCommentResponse.swift (100%) rename Poppool/{Poppool/DomainLayer => DomainLayer/Domain}/DomainInterface/Entity/UserResponse/GetMyPageResponse.swift (100%) rename Poppool/{Poppool/DomainLayer => DomainLayer/Domain}/DomainInterface/Entity/UserResponse/GetMyProfileResponse.swift (100%) rename Poppool/{Poppool/DomainLayer => DomainLayer/Domain}/DomainInterface/Entity/UserResponse/GetNoticeDetailResponse.swift (100%) rename Poppool/{Poppool/DomainLayer => DomainLayer/Domain}/DomainInterface/Entity/UserResponse/GetNoticeListResponse.swift (100%) rename Poppool/{Poppool/DomainLayer => DomainLayer/Domain}/DomainInterface/Entity/UserResponse/GetOtherUserCommentedPopUpListResponse.swift (100%) rename Poppool/{Poppool/DomainLayer => DomainLayer/Domain}/DomainInterface/Entity/UserResponse/GetRecentPopUpResponse.swift (100%) rename Poppool/{Poppool/DomainLayer => DomainLayer/Domain}/DomainInterface/Entity/UserResponse/GetWithdrawlListResponse.swift (100%) rename Poppool/{Poppool/DomainLayer => DomainLayer/Domain}/DomainInterface/Repository/AdminRepository.swift (100%) rename Poppool/{Poppool/DomainLayer => DomainLayer/Domain}/DomainInterface/Repository/AuthAPIRepository.swift (100%) rename Poppool/{Poppool/DomainLayer => DomainLayer/Domain}/DomainInterface/Repository/CommentAPIRepository.swift (100%) rename Poppool/{Poppool/DomainLayer => DomainLayer/Domain}/DomainInterface/Repository/HomeAPIRepository.swift (100%) rename Poppool/{Poppool/DomainLayer => DomainLayer/Domain}/DomainInterface/Repository/MapDirectionRepository.swift (100%) rename Poppool/{Poppool/DomainLayer => DomainLayer/Domain}/DomainInterface/Repository/MapRepository.swift (100%) rename Poppool/{Poppool/DomainLayer => DomainLayer/Domain}/DomainInterface/Repository/PopUpAPIRepository.swift (100%) rename Poppool/{Poppool/DomainLayer => DomainLayer/Domain}/DomainInterface/Repository/SignUpRepository.swift (100%) rename Poppool/{Poppool/DomainLayer => DomainLayer/Domain}/DomainInterface/Repository/UserAPIRepository.swift (100%) rename Poppool/{Poppool/DomainLayer => DomainLayer/Domain}/DomainInterface/UseCase/AdminUseCase.swift (100%) rename Poppool/{Poppool/DomainLayer => DomainLayer/Domain}/DomainInterface/UseCase/AuthAPIUseCase.swift (100%) rename Poppool/{Poppool/DomainLayer => DomainLayer/Domain}/DomainInterface/UseCase/CommentAPIUseCase.swift (100%) rename Poppool/{Poppool/DomainLayer => DomainLayer/Domain}/DomainInterface/UseCase/HomeAPIUseCase.swift (100%) rename Poppool/{Poppool/DomainLayer => DomainLayer/Domain}/DomainInterface/UseCase/MapUseCase.swift (100%) rename Poppool/{Poppool/DomainLayer => DomainLayer/Domain}/DomainInterface/UseCase/PopUpAPIUseCase.swift (100%) rename Poppool/{Poppool/DomainLayer => DomainLayer/Domain}/DomainInterface/UseCase/SignUpAPIUseCase.swift (100%) rename Poppool/{Poppool/DomainLayer => DomainLayer/Domain}/DomainInterface/UseCase/UserAPIUseCase.swift (100%) create mode 100644 Poppool/Poppool.xcworkspace/contents.xcworkspacedata create mode 100644 Poppool/Poppool.xcworkspace/xcshareddata/swiftpm/Package.resolved rename Poppool/Poppool/{ => Resource}/Poppool.entitlements (100%) create mode 100644 Poppool/PresentationLayer/Presentation/Presentation.xcodeproj/project.pbxproj rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Components/PPButton.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Components/PPCancelHeaderView.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Components/PPLabel.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Components/PPPicker.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Components/PPProgressIndicator/PPProgressIndicator.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Components/PPProgressIndicator/PPProgressView.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Components/PPReturnHeaderView.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Components/PPSegmentedControl.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Admin/AdminBottomSheet/AdminBottomSheetReactor.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Admin/AdminBottomSheet/AdminBottomSheetView.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Admin/AdminBottomSheet/AdminBottomSheetViewController.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Admin/AdminReactor.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Admin/AdminRegister/PopUpImagesCollectionView.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterReactor.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterView.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterViewController.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Admin/AdminStoreCell.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Admin/AdminView.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Admin/AdminViewController.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Admin/ImageCell.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Comment/CommentCheck/CommentCheckController.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Comment/CommentCheck/CommentCheckReactor.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Comment/CommentCheck/CommentCheckView.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Comment/CommentDetail/CommentDetailController.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Comment/CommentDetail/CommentDetailReactor.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Comment/CommentDetail/View/CommentDetailContentSection/CommentDetailContentSection.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Comment/CommentDetail/View/CommentDetailContentSection/CommentDetailContentSectionCell.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Comment/CommentDetail/View/CommentDetailImageSection.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Comment/CommentDetail/View/CommentDetailView.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Comment/CommentInfoMenu/CommentMyMenu/CommentMyMenuController.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Comment/CommentInfoMenu/CommentMyMenu/CommentMyMenuReactor.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Comment/CommentInfoMenu/CommentMyMenu/CommentMyMenuView.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Comment/CommentInfoMenu/CommentUserInfo/CommentUserInfoController.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Comment/CommentInfoMenu/CommentUserInfo/CommentUserInfoReactor.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Comment/CommentInfoMenu/CommentUserInfo/CommentUserInfoView.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Comment/CommentList/CommentListController.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Comment/CommentList/CommentListReactor.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Comment/CommentList/View/CommentListTitleSection/CommentListTitleSection.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Comment/CommentList/View/CommentListTitleSection/CommentListTitleSectionCell.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Comment/CommentList/View/CommentListView.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Comment/CommentSelected/CommentSelectedController.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Comment/CommentSelected/CommentSelectedReactor.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Comment/CommentSelected/CommentSelectedView.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Comment/CommentUserBlock/CommentUserBlockController.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Comment/CommentUserBlock/CommentUserBlockReactor.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Comment/CommentUserBlock/CommentUserBlockView.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Comment/InstaComment/InstaCommentAddController.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Comment/InstaComment/InstaCommentAddReactor.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Comment/InstaComment/View/InstaCommentAddView.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Comment/InstaComment/View/InstaGuideSection/InstaGuideChildSection/InstaGuideChildSection.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Comment/InstaComment/View/InstaGuideSection/InstaGuideChildSection/InstaGuideChildSectionCell.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Comment/InstaComment/View/InstaGuideSection/InstaGuideSection/InstaGuideSection.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Comment/InstaComment/View/InstaGuideSection/InstaGuideSection/InstaGuideSectionCell.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Comment/NormalCommentAdd/NormalCommentAddController.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Comment/NormalCommentAdd/NormalCommentAddReactor.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Comment/NormalCommentAdd/View/AddCommentDescriptionSection/AddCommentDescriptionSection.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Comment/NormalCommentAdd/View/AddCommentDescriptionSection/AddCommentDescriptionSectionCell.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Comment/NormalCommentAdd/View/AddCommentImageSection/AddCommentImageSection.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Comment/NormalCommentAdd/View/AddCommentImageSection/AddCommentImageSectionCell.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Comment/NormalCommentAdd/View/AddCommentSection/AddCommentSection.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Comment/NormalCommentAdd/View/AddCommentSection/AddCommentSectionCell.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Comment/NormalCommentAdd/View/AddCommentTitleSection/AddCommentTitleSection.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Comment/NormalCommentAdd/View/AddCommentTitleSection/AddCommentTitleSectionCell.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Comment/NormalCommentAdd/View/NormalCommentAddView.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Comment/NormalCommentEdit/NormalCommentEditController.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Comment/NormalCommentEdit/NormalCommentEditReactor.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Comment/NormalCommentEdit/NormalCommentEditView.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Comment/OtherUserComment/OtherUserCommentController.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Comment/OtherUserComment/OtherUserCommentReactor.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Comment/OtherUserComment/View/OtherUserCommentSection/OtherUserCommentSection.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Comment/OtherUserComment/View/OtherUserCommentSection/OtherUserCommentSectionCell.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Comment/OtherUserComment/View/OtherUserCommentView.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Detail/DetailController.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Detail/DetailReactor.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Detail/View/DetailCommentSection/DetailCommentImageCell.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Detail/View/DetailCommentSection/DetailCommentProfileView.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Detail/View/DetailCommentSection/DetailCommentSection.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Detail/View/DetailCommentSection/DetailCommentSectionCell.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Detail/View/DetailCommentTitleSection/DetailCommentTitleSection.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Detail/View/DetailCommentTitleSection/DetailCommentTitleSectionCell.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Detail/View/DetailContentSection/DetailContentSection.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Detail/View/DetailContentSection/DetailContentSectionCell.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Detail/View/DetailEmptyCommetSection/DetailEmptyCommetSection.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Detail/View/DetailEmptyCommetSection/DetailEmptyCommetSectionCell.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Detail/View/DetailInfoSection/DetailInfoSection.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Detail/View/DetailInfoSection/DetailInfoSectionCell.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Detail/View/DetailSimilarSection/DetailSimilarSection.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Detail/View/DetailSimilarSection/DetailSimilarSectionCell.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Detail/View/DetailTitleSection/DetailTitleSection.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Detail/View/DetailTitleSection/DetailTitleSectionCell.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Detail/View/DetailView.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Home/List/HomeListController.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Home/List/HomeListReactor.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Home/List/HomePopUpType.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Home/List/View/HomeCardGridSection.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Home/List/View/HomeListView.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Home/Main/HomeController.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Home/Main/HomeReactor.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Home/Main/View/HomeCardSection/HomeCardSection.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Home/Main/View/HomeCardSection/HomeCardSectionCell.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Home/Main/View/HomeHeaderView.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Home/Main/View/HomePopularCardSection/HomePopularCardSection.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Home/Main/View/HomePopularCardSection/HomePopularCardSectionCell.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Home/Main/View/HomeTitleSection/HomeTitleSection.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Home/Main/View/HomeTitleSection/HomeTitleSectionCell.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Home/Main/View/HomeView.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Home/Main/View/ImageBannerSection/ImageBannerChildSection/ImageBannerChildSection.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Home/Main/View/ImageBannerSection/ImageBannerChildSection/ImageBannerChildSectionCell.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Home/Main/View/ImageBannerSection/ImageBannerSection/ImageBannerSection.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Home/Main/View/ImageBannerSection/ImageBannerSection/ImageBannerSectionCell.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Home/Main/View/SectionBackGroundDecorationView.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Home/Main/View/SpacingSection/SpacingSection.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Home/Main/View/SpacingSection/SpacingSectionCell.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/ImageDetail/ImageDetailController.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/ImageDetail/ImageDetailReactor.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/ImageDetail/ImageDetailView.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Login/LastLoginView.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Login/Main/LoginController.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Login/Main/LoginReactor.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Login/Main/LoginView.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Login/Sub/SubLoginController.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Login/Sub/SubLoginReactor.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Login/Sub/SubLoginView.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Map/FillterSheetView/BalloonBackgroundView.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Map/FillterSheetView/BalloonChipCell.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Map/FillterSheetView/FilterBottomSheetReactor.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Map/FillterSheetView/FilterBottomSheetView.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Map/FillterSheetView/FilterBottomSheetViewController.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Map/FillterSheetView/FilterCell.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Map/FillterSheetView/FilterChip.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Map/FillterSheetView/FilterChipsView.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Map/FindMap/MapGuideView/FullScreenMapViewController.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Map/FindMap/MapGuideView/MapGuideReactor.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Map/FindMap/MapGuideView/MapGuideViewController.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Map/MapPopupCardView/MapPopupCarouselView.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Map/MapPopupCardView/PopupCardCell.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Map/MapView/MapMarker.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Map/MapView/MapReactor.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Map/MapView/MapSearchInput.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Map/MapView/MapView.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Map/MapView/MapViewController.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Map/MapView/MarkerTooltipView.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Map/StoreListView/StoreListCell.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Map/StoreListView/StoreListReactor.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Map/StoreListView/StoreListSection.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Map/StoreListView/StoreListView.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Map/StoreListView/StoreListViewController.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/MyPage/Block/BlockUserManageController.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/MyPage/Block/BlockUserManageReactor.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/MyPage/Block/View/BlockUserListSection/BlockUserListSection.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/MyPage/Block/View/BlockUserListSection/BlockUserListSectionCell.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/MyPage/Block/View/BlockUserManageView.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/MyPage/Bookmark/Main/MyPageBookmarkController.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/MyPage/Bookmark/Main/MyPageBookmarkReactor.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/MyPage/Bookmark/Main/MyPageBookmarkView.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/MyPage/Bookmark/Main/View/CountButtonView.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/MyPage/Bookmark/Main/View/PopUpCardSection/PopUpCardSection.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/MyPage/Bookmark/Main/View/PopUpCardSection/PopUpCardSectionCell.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/MyPage/Bookmark/Main/View/PopUpCardSection/PopUpCardView.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/MyPage/Bookmark/ViewTypeModal/BookMarkPopUpViewTypeModalController.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/MyPage/Bookmark/ViewTypeModal/BookMarkPopUpViewTypeModalReactor.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/MyPage/Bookmark/ViewTypeModal/BookMarkPopUpViewTypeModalView.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/MyPage/FAQ/FAQController.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/MyPage/FAQ/FAQReactor.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/MyPage/FAQ/View/FAQDropdownSection/FAQDropdownSection.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/MyPage/FAQ/View/FAQDropdownSection/FAQDropdownSectionCell.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/MyPage/FAQ/View/FAQView.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/MyPage/Main/MyPageController.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/MyPage/Main/MyPageReactor.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/MyPage/Main/View/MyPageCommentSection/MyPageCommentSection.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/MyPage/Main/View/MyPageCommentSection/MyPageCommentSectionCell.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/MyPage/Main/View/MyPageListSection/MyPageListSection.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/MyPage/Main/View/MyPageListSection/MyPageListSectionCell.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/MyPage/Main/View/MyPageLogoutSection/MyPageLogoutSection.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/MyPage/Main/View/MyPageLogoutSection/MyPageLogoutSectionCell.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/MyPage/Main/View/MyPageMyCommentTitleSection/MyPageMyCommentTitleSection.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/MyPage/Main/View/MyPageMyCommentTitleSection/MyPageMyCommentTitleSectionCell.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/MyPage/Main/View/MyPageProfileSection/MyPageProfileSection.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/MyPage/Main/View/MyPageProfileSection/MyPageProfileSectionCell.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/MyPage/Main/View/MyPageView.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/MyPage/MyComment/Main/MyCommentController.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/MyPage/MyComment/Main/MyCommentReactor.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/MyPage/MyComment/Main/View/ListCountButtonSection/ListCountButtonSection.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/MyPage/MyComment/Main/View/ListCountButtonSection/ListCountButtonSectionCell.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/MyPage/MyComment/Main/View/MyCommentView.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/MyPage/MyComment/Main/View/MyCommentedPopUpGridSection/MyCommentedPopUpGridSection.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/MyPage/MyComment/Main/View/MyCommentedPopUpGridSection/MyCommentedPopUpGridSectionCell.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/MyPage/MyComment/SortedModal/MyCommentSortedModalController.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/MyPage/MyComment/SortedModal/MyCommentSortedModalReactor.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/MyPage/MyComment/SortedModal/MyCommentSortedModalView.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/MyPage/Notice/Detail/MyPageNoticeDetailController.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/MyPage/Notice/Detail/MyPageNoticeDetailReactor.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/MyPage/Notice/Detail/MyPageNoticeDetailView.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/MyPage/Notice/List/MyPageNoticeController.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/MyPage/Notice/List/MyPageNoticeReactor.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/MyPage/Notice/List/View/MyPageNoticeView.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/MyPage/Notice/List/View/NoticeListSection/NoticeListSection.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/MyPage/Notice/List/View/NoticeListSection/NoticeListSectionCell.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/MyPage/ProfileEdit/CategoryEditModal/CategoryEditModalController.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/MyPage/ProfileEdit/CategoryEditModal/CategoryEditModalReactor.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/MyPage/ProfileEdit/CategoryEditModal/CategoryEditModalView.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/MyPage/ProfileEdit/InfoEditModal/InfoEditModalController.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/MyPage/ProfileEdit/InfoEditModal/InfoEditModalReactor.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/MyPage/ProfileEdit/InfoEditModal/InfoEditModalView.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/MyPage/ProfileEdit/Main/ProfileEditController.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/MyPage/ProfileEdit/Main/ProfileEditReactor.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/MyPage/ProfileEdit/Main/View/ProfileEditListButton.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/MyPage/ProfileEdit/Main/View/ProfileEditView.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/MyPage/Recent/MyPageRecentController.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/MyPage/Recent/MyPageRecentReactor.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/MyPage/Recent/View/MyPageRecentView.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/MyPage/Recent/View/RecentPopUpSection/RecentPopUpSection.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/MyPage/Terms/MyPageTermsController.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/MyPage/Terms/MyPageTermsReactor.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/MyPage/Withdrawl/CheckModal/WithdrawlCheckModalController.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/MyPage/Withdrawl/CheckModal/WithdrawlCheckModalReactor.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/MyPage/Withdrawl/CheckModal/WithdrawlCheckModalView.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/MyPage/Withdrawl/Complete/WithdrawlCompleteController.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/MyPage/Withdrawl/Complete/WithdrawlCompleteView.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/MyPage/Withdrawl/SelectedReason/View/WithdrawlCheckSection.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/MyPage/Withdrawl/SelectedReason/View/WithdrawlCheckSectionCell.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/MyPage/Withdrawl/SelectedReason/View/WithdrawlReasonView.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/MyPage/Withdrawl/SelectedReason/WithdrawlReasonController.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/MyPage/Withdrawl/SelectedReason/WithdrawlReasonReactor.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Search/AfterSearch/SearchResultController.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Search/AfterSearch/SearchResultReactor.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Search/AfterSearch/View/SearchResultCountSection/SearchResultCountSection.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Search/AfterSearch/View/SearchResultCountSection/SearchResultCountSectionCell.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Search/AfterSearch/View/SearchResultView.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Search/BeforeSearch/SearchController.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Search/BeforeSearch/SearchReactor.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Search/BeforeSearch/View/CancelableTagSection/CancelableTagSection.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Search/BeforeSearch/View/CancelableTagSection/CancelableTagSectionCell.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Search/BeforeSearch/View/SearchCountTitleSection/SearchCountTitleSection.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Search/BeforeSearch/View/SearchCountTitleSection/SearchCountTitleSectionCell.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Search/BeforeSearch/View/SearchTitleSection/SearchTitleSection.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Search/BeforeSearch/View/SearchTitleSection/SearchTitleSectionCell.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Search/BeforeSearch/View/SearchView.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Search/CategoryController/SearchCategoryController.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Search/CategoryController/SearchCategoryReactor.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Search/CategoryController/SearchCategoryView.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Search/Main/SearchMainController.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Search/Main/SearchMainReactor.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Search/Main/SearchMainView.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Search/SortedController/SearchSortedController.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Search/SortedController/SearchSortedReactor.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Search/SortedController/SearchSortedView.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/SignUp/Main/SignUpMainController.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/SignUp/Main/SignUpMainReactor.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/SignUp/Main/View/SignUpMainView.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/SignUp/SignUpComplete/SignUpCompleteController.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/SignUp/SignUpComplete/SignUpCompleteReactor.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/SignUp/SignUpComplete/SignUpCompleteView.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/SignUp/Step1/SignUpStep1Controller.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/SignUp/Step1/SignUpStep1Reactor.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/SignUp/Step1/View/SignUpCheckBoxButton.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/SignUp/Step1/View/SignUpStep1View.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/SignUp/Step1/View/SignUpTermsView.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/SignUp/Step2/IntroState.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/SignUp/Step2/NickNameState.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/SignUp/Step2/SignUpStep2Controller.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/SignUp/Step2/SignUpStep2Reactor.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/SignUp/Step2/SignUpStep2View.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/SignUp/Step3/SignUpStep3Controller.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/SignUp/Step3/SignUpStep3Reactor.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/SignUp/Step3/View/SignUpStep3View.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/SignUp/Step3/View/TagSection/TagSection.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/SignUp/Step3/View/TagSection/TagSectionCell.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/SignUp/Step4/AgeSelectedModal/AgeSelectedController.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/SignUp/Step4/AgeSelectedModal/AgeSelectedReactor.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/SignUp/Step4/AgeSelectedModal/AgeSelectedView.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/SignUp/Step4/Main/SignUpStep4Controller.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/SignUp/Step4/Main/SignUpStep4Reactor.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/SignUp/Step4/Main/View/AgeSelectedButton.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/SignUp/Step4/Main/View/SignUpStep4View.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/SignUp/TermsDetail/TermsDetailController.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/SignUp/TermsDetail/TermsDetailView.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Splash/SplashController.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/Splash/View/SplashView.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Scene/TabbarController/TabbarController.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Utills/Common/ClusteringManager.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Utills/Common/ClusteringModels.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Utills/Common/DateTimePickerManager.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Utills/Common/ExtendedImage.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Utills/Common/FilterType.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Utills/Common/LocationPermissionBottomSheet.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Utills/Common/MapFilterChips.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Utills/Common/MapUtilities.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Utills/Common/NMFMapViewDelegateProxy.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Utills/Common/RegionDefinitions.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Utills/Controllers/BaseTabmanController.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Utills/Controllers/BaseViewController.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Utills/Interfaces/InOutputable.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Utills/Interfaces/Sectionable/SectionDecorationItem.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Utills/Interfaces/Sectionable/SectionSupplementaryItem.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Utills/Interfaces/Sectionable/Sectionable.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Utills/ToastMaker/BookMarkToastView.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Utills/ToastMaker/ToastMaker.swift (100%) rename Poppool/{Poppool/PresentationLayer => PresentationLayer/Presentation}/Presentation/Utills/ToastMaker/ToastView.swift (100%) diff --git a/Poppool/CoreLayer/Infrastructure/Infrastructure.xcodeproj/project.pbxproj b/Poppool/CoreLayer/Infrastructure/Infrastructure.xcodeproj/project.pbxproj new file mode 100644 index 00000000..cdc524ab --- /dev/null +++ b/Poppool/CoreLayer/Infrastructure/Infrastructure.xcodeproj/project.pbxproj @@ -0,0 +1,352 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 77; + objects = { + +/* Begin PBXFileReference section */ + 058CC9182DB5383C0084221A /* Infrastructure.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Infrastructure.framework; sourceTree = BUILT_PRODUCTS_DIR; }; +/* End PBXFileReference section */ + +/* Begin PBXFileSystemSynchronizedRootGroup section */ + 058CC91A2DB5383C0084221A /* Infrastructure */ = { + isa = PBXFileSystemSynchronizedRootGroup; + path = Infrastructure; + sourceTree = ""; + }; +/* End PBXFileSystemSynchronizedRootGroup section */ + +/* Begin PBXFrameworksBuildPhase section */ + 058CC9152DB5383C0084221A /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 058CC90E2DB5383C0084221A = { + isa = PBXGroup; + children = ( + 058CC91A2DB5383C0084221A /* Infrastructure */, + 058CC9192DB5383C0084221A /* Products */, + ); + sourceTree = ""; + }; + 058CC9192DB5383C0084221A /* Products */ = { + isa = PBXGroup; + children = ( + 058CC9182DB5383C0084221A /* Infrastructure.framework */, + ); + name = Products; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + 058CC9132DB5383C0084221A /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + 058CC9172DB5383C0084221A /* Infrastructure */ = { + isa = PBXNativeTarget; + buildConfigurationList = 058CC91F2DB5383C0084221A /* Build configuration list for PBXNativeTarget "Infrastructure" */; + buildPhases = ( + 058CC9132DB5383C0084221A /* Headers */, + 058CC9142DB5383C0084221A /* Sources */, + 058CC9152DB5383C0084221A /* Frameworks */, + 058CC9162DB5383C0084221A /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + fileSystemSynchronizedGroups = ( + 058CC91A2DB5383C0084221A /* Infrastructure */, + ); + name = Infrastructure; + packageProductDependencies = ( + ); + productName = Infrastructure; + productReference = 058CC9182DB5383C0084221A /* Infrastructure.framework */; + productType = "com.apple.product-type.framework"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 058CC90F2DB5383C0084221A /* Project object */ = { + isa = PBXProject; + attributes = { + BuildIndependentTargetsInParallel = 1; + LastSwiftUpdateCheck = 1630; + LastUpgradeCheck = 1630; + TargetAttributes = { + 058CC9172DB5383C0084221A = { + CreatedOnToolsVersion = 16.3; + }; + }; + }; + buildConfigurationList = 058CC9122DB5383C0084221A /* Build configuration list for PBXProject "Infrastructure" */; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 058CC90E2DB5383C0084221A; + minimizedProjectReferenceProxies = 1; + preferredProjectObjectVersion = 77; + productRefGroup = 058CC9192DB5383C0084221A /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 058CC9172DB5383C0084221A /* Infrastructure */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 058CC9162DB5383C0084221A /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 058CC9142DB5383C0084221A /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + 058CC91D2DB5383C0084221A /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_C_LANGUAGE_STANDARD = gnu17; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 18.4; + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)"; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + 058CC91E2DB5383C0084221A /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_C_LANGUAGE_STANDARD = gnu17; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 18.4; + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + SDKROOT = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + 058CC9202DB5383C0084221A /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUILD_LIBRARY_FOR_DISTRIBUTION = YES; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_MODULE_VERIFIER = YES; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_KEY_NSHumanReadableCopyright = ""; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++"; + MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu17 gnu++20"; + PRODUCT_BUNDLE_IDENTIFIER = com.poppoolIOS.poppool.Infrastructure; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SKIP_INSTALL = YES; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_INSTALL_MODULE = YES; + SWIFT_INSTALL_OBJC_HEADER = NO; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 058CC9212DB5383C0084221A /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUILD_LIBRARY_FOR_DISTRIBUTION = YES; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_MODULE_VERIFIER = YES; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_KEY_NSHumanReadableCopyright = ""; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++"; + MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu17 gnu++20"; + PRODUCT_BUNDLE_IDENTIFIER = com.poppoolIOS.poppool.Infrastructure; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SKIP_INSTALL = YES; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_INSTALL_MODULE = YES; + SWIFT_INSTALL_OBJC_HEADER = NO; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 058CC9122DB5383C0084221A /* Build configuration list for PBXProject "Infrastructure" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 058CC91D2DB5383C0084221A /* Debug */, + 058CC91E2DB5383C0084221A /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 058CC91F2DB5383C0084221A /* Build configuration list for PBXNativeTarget "Infrastructure" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 058CC9202DB5383C0084221A /* Debug */, + 058CC9212DB5383C0084221A /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 058CC90F2DB5383C0084221A /* Project object */; +} diff --git a/Poppool/Poppool/CoreLayer/Infrastructure/DIContainer/DIContainer.swift b/Poppool/CoreLayer/Infrastructure/Infrastructure/DIContainer/DIContainer.swift similarity index 100% rename from Poppool/Poppool/CoreLayer/Infrastructure/DIContainer/DIContainer.swift rename to Poppool/CoreLayer/Infrastructure/Infrastructure/DIContainer/DIContainer.swift diff --git a/Poppool/Poppool/CoreLayer/Infrastructure/DIContainer/DependencyWrapper.swift b/Poppool/CoreLayer/Infrastructure/Infrastructure/DIContainer/DependencyWrapper.swift similarity index 100% rename from Poppool/Poppool/CoreLayer/Infrastructure/DIContainer/DependencyWrapper.swift rename to Poppool/CoreLayer/Infrastructure/Infrastructure/DIContainer/DependencyWrapper.swift diff --git a/Poppool/Poppool/CoreLayer/Infrastructure/Extension/Date?+.swift b/Poppool/CoreLayer/Infrastructure/Infrastructure/Extension/Date?+.swift similarity index 100% rename from Poppool/Poppool/CoreLayer/Infrastructure/Extension/Date?+.swift rename to Poppool/CoreLayer/Infrastructure/Infrastructure/Extension/Date?+.swift diff --git a/Poppool/Poppool/CoreLayer/Infrastructure/Extension/Reactive+.swift b/Poppool/CoreLayer/Infrastructure/Infrastructure/Extension/Reactive+.swift similarity index 100% rename from Poppool/Poppool/CoreLayer/Infrastructure/Extension/Reactive+.swift rename to Poppool/CoreLayer/Infrastructure/Infrastructure/Extension/Reactive+.swift diff --git a/Poppool/Poppool/CoreLayer/Infrastructure/Extension/String?+.swift b/Poppool/CoreLayer/Infrastructure/Infrastructure/Extension/String?+.swift similarity index 100% rename from Poppool/Poppool/CoreLayer/Infrastructure/Extension/String?+.swift rename to Poppool/CoreLayer/Infrastructure/Infrastructure/Extension/String?+.swift diff --git a/Poppool/Poppool/CoreLayer/Infrastructure/Extension/UIApplication+.swift b/Poppool/CoreLayer/Infrastructure/Infrastructure/Extension/UIApplication+.swift similarity index 100% rename from Poppool/Poppool/CoreLayer/Infrastructure/Extension/UIApplication+.swift rename to Poppool/CoreLayer/Infrastructure/Infrastructure/Extension/UIApplication+.swift diff --git a/Poppool/Poppool/CoreLayer/Infrastructure/Extension/UICollectionReusableView+.swift b/Poppool/CoreLayer/Infrastructure/Infrastructure/Extension/UICollectionReusableView+.swift similarity index 100% rename from Poppool/Poppool/CoreLayer/Infrastructure/Extension/UICollectionReusableView+.swift rename to Poppool/CoreLayer/Infrastructure/Infrastructure/Extension/UICollectionReusableView+.swift diff --git a/Poppool/Poppool/CoreLayer/Infrastructure/Extension/UICollectionViewCell+.swift b/Poppool/CoreLayer/Infrastructure/Infrastructure/Extension/UICollectionViewCell+.swift similarity index 100% rename from Poppool/Poppool/CoreLayer/Infrastructure/Extension/UICollectionViewCell+.swift rename to Poppool/CoreLayer/Infrastructure/Infrastructure/Extension/UICollectionViewCell+.swift diff --git a/Poppool/Poppool/CoreLayer/Infrastructure/Extension/UIColor+.swift b/Poppool/CoreLayer/Infrastructure/Infrastructure/Extension/UIColor+.swift similarity index 100% rename from Poppool/Poppool/CoreLayer/Infrastructure/Extension/UIColor+.swift rename to Poppool/CoreLayer/Infrastructure/Infrastructure/Extension/UIColor+.swift diff --git a/Poppool/Poppool/CoreLayer/Infrastructure/Extension/UIFont+.swift b/Poppool/CoreLayer/Infrastructure/Infrastructure/Extension/UIFont+.swift similarity index 100% rename from Poppool/Poppool/CoreLayer/Infrastructure/Extension/UIFont+.swift rename to Poppool/CoreLayer/Infrastructure/Infrastructure/Extension/UIFont+.swift diff --git a/Poppool/Poppool/CoreLayer/Infrastructure/Extension/UIImage+.swift b/Poppool/CoreLayer/Infrastructure/Infrastructure/Extension/UIImage+.swift similarity index 100% rename from Poppool/Poppool/CoreLayer/Infrastructure/Extension/UIImage+.swift rename to Poppool/CoreLayer/Infrastructure/Infrastructure/Extension/UIImage+.swift diff --git a/Poppool/Poppool/CoreLayer/Infrastructure/Extension/UIImageView+.swift b/Poppool/CoreLayer/Infrastructure/Infrastructure/Extension/UIImageView+.swift similarity index 100% rename from Poppool/Poppool/CoreLayer/Infrastructure/Extension/UIImageView+.swift rename to Poppool/CoreLayer/Infrastructure/Infrastructure/Extension/UIImageView+.swift diff --git a/Poppool/Poppool/CoreLayer/Infrastructure/Extension/UILabel+.swift b/Poppool/CoreLayer/Infrastructure/Infrastructure/Extension/UILabel+.swift similarity index 100% rename from Poppool/Poppool/CoreLayer/Infrastructure/Extension/UILabel+.swift rename to Poppool/CoreLayer/Infrastructure/Infrastructure/Extension/UILabel+.swift diff --git a/Poppool/Poppool/CoreLayer/Infrastructure/Extension/UINavigationController+.swift b/Poppool/CoreLayer/Infrastructure/Infrastructure/Extension/UINavigationController+.swift similarity index 100% rename from Poppool/Poppool/CoreLayer/Infrastructure/Extension/UINavigationController+.swift rename to Poppool/CoreLayer/Infrastructure/Infrastructure/Extension/UINavigationController+.swift diff --git a/Poppool/Poppool/CoreLayer/Infrastructure/Extension/UITableViewCell+.swift b/Poppool/CoreLayer/Infrastructure/Infrastructure/Extension/UITableViewCell+.swift similarity index 100% rename from Poppool/Poppool/CoreLayer/Infrastructure/Extension/UITableViewCell+.swift rename to Poppool/CoreLayer/Infrastructure/Infrastructure/Extension/UITableViewCell+.swift diff --git a/Poppool/Poppool/CoreLayer/Infrastructure/Extension/UITextField+.swift b/Poppool/CoreLayer/Infrastructure/Infrastructure/Extension/UITextField+.swift similarity index 100% rename from Poppool/Poppool/CoreLayer/Infrastructure/Extension/UITextField+.swift rename to Poppool/CoreLayer/Infrastructure/Infrastructure/Extension/UITextField+.swift diff --git a/Poppool/Poppool/CoreLayer/Infrastructure/Extension/UIView+.swift b/Poppool/CoreLayer/Infrastructure/Infrastructure/Extension/UIView+.swift similarity index 100% rename from Poppool/Poppool/CoreLayer/Infrastructure/Extension/UIView+.swift rename to Poppool/CoreLayer/Infrastructure/Infrastructure/Extension/UIView+.swift diff --git a/Poppool/Poppool/CoreLayer/Infrastructure/ImageLoader/DiskStorage.swift b/Poppool/CoreLayer/Infrastructure/Infrastructure/ImageLoader/DiskStorage.swift similarity index 100% rename from Poppool/Poppool/CoreLayer/Infrastructure/ImageLoader/DiskStorage.swift rename to Poppool/CoreLayer/Infrastructure/Infrastructure/ImageLoader/DiskStorage.swift diff --git a/Poppool/Poppool/CoreLayer/Infrastructure/ImageLoader/ImageLoader.swift b/Poppool/CoreLayer/Infrastructure/Infrastructure/ImageLoader/ImageLoader.swift similarity index 100% rename from Poppool/Poppool/CoreLayer/Infrastructure/ImageLoader/ImageLoader.swift rename to Poppool/CoreLayer/Infrastructure/Infrastructure/ImageLoader/ImageLoader.swift diff --git a/Poppool/Poppool/CoreLayer/Infrastructure/ImageLoader/MemoryStorage.swift b/Poppool/CoreLayer/Infrastructure/Infrastructure/ImageLoader/MemoryStorage.swift similarity index 100% rename from Poppool/Poppool/CoreLayer/Infrastructure/ImageLoader/MemoryStorage.swift rename to Poppool/CoreLayer/Infrastructure/Infrastructure/ImageLoader/MemoryStorage.swift diff --git a/Poppool/Poppool/CoreLayer/Infrastructure/Logger/Logger.swift b/Poppool/CoreLayer/Infrastructure/Infrastructure/Logger/Logger.swift similarity index 100% rename from Poppool/Poppool/CoreLayer/Infrastructure/Logger/Logger.swift rename to Poppool/CoreLayer/Infrastructure/Infrastructure/Logger/Logger.swift diff --git a/Poppool/Poppool/CoreLayer/Infrastructure/Secrets.swift b/Poppool/CoreLayer/Infrastructure/Infrastructure/Secrets.swift similarity index 100% rename from Poppool/Poppool/CoreLayer/Infrastructure/Secrets.swift rename to Poppool/CoreLayer/Infrastructure/Infrastructure/Secrets.swift diff --git a/Poppool/Poppool/CoreLayer/Infrastructure/Service/AppleLoginService.swift b/Poppool/CoreLayer/Infrastructure/Infrastructure/Service/AppleLoginService.swift similarity index 100% rename from Poppool/Poppool/CoreLayer/Infrastructure/Service/AppleLoginService.swift rename to Poppool/CoreLayer/Infrastructure/Infrastructure/Service/AppleLoginService.swift diff --git a/Poppool/Poppool/CoreLayer/Infrastructure/Service/AuthServiceable.swift b/Poppool/CoreLayer/Infrastructure/Infrastructure/Service/AuthServiceable.swift similarity index 100% rename from Poppool/Poppool/CoreLayer/Infrastructure/Service/AuthServiceable.swift rename to Poppool/CoreLayer/Infrastructure/Infrastructure/Service/AuthServiceable.swift diff --git a/Poppool/Poppool/CoreLayer/Infrastructure/Service/KakaoLoginService.swift b/Poppool/CoreLayer/Infrastructure/Infrastructure/Service/KakaoLoginService.swift similarity index 100% rename from Poppool/Poppool/CoreLayer/Infrastructure/Service/KakaoLoginService.swift rename to Poppool/CoreLayer/Infrastructure/Infrastructure/Service/KakaoLoginService.swift diff --git a/Poppool/Poppool/CoreLayer/Infrastructure/Service/KeyChainService.swift b/Poppool/CoreLayer/Infrastructure/Infrastructure/Service/KeyChainService.swift similarity index 100% rename from Poppool/Poppool/CoreLayer/Infrastructure/Service/KeyChainService.swift rename to Poppool/CoreLayer/Infrastructure/Infrastructure/Service/KeyChainService.swift diff --git a/Poppool/Poppool/CoreLayer/Infrastructure/Service/PreSignedService.swift b/Poppool/CoreLayer/Infrastructure/Infrastructure/Service/PreSignedService.swift similarity index 100% rename from Poppool/Poppool/CoreLayer/Infrastructure/Service/PreSignedService.swift rename to Poppool/CoreLayer/Infrastructure/Infrastructure/Service/PreSignedService.swift diff --git a/Poppool/Poppool/CoreLayer/Infrastructure/Service/UserDefaultService.swift b/Poppool/CoreLayer/Infrastructure/Infrastructure/Service/UserDefaultService.swift similarity index 100% rename from Poppool/Poppool/CoreLayer/Infrastructure/Service/UserDefaultService.swift rename to Poppool/CoreLayer/Infrastructure/Infrastructure/Service/UserDefaultService.swift diff --git a/Poppool/DataLayer/Data/Data.xcodeproj/project.pbxproj b/Poppool/DataLayer/Data/Data.xcodeproj/project.pbxproj new file mode 100644 index 00000000..1d9b6350 --- /dev/null +++ b/Poppool/DataLayer/Data/Data.xcodeproj/project.pbxproj @@ -0,0 +1,349 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 77; + objects = { + +/* Begin PBXFileReference section */ + 058CC8DC2DB5376A0084221A /* Data.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Data.framework; sourceTree = BUILT_PRODUCTS_DIR; }; +/* End PBXFileReference section */ + +/* Begin PBXFileSystemSynchronizedRootGroup section */ + 05C1D05C2DB5387500508FFD /* Data */ = { + isa = PBXFileSystemSynchronizedRootGroup; + path = Data; + sourceTree = ""; + }; +/* End PBXFileSystemSynchronizedRootGroup section */ + +/* Begin PBXFrameworksBuildPhase section */ + 058CC8D92DB5376A0084221A /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 058CC8D22DB5376A0084221A = { + isa = PBXGroup; + children = ( + 05C1D05C2DB5387500508FFD /* Data */, + 058CC8DD2DB5376A0084221A /* Products */, + ); + sourceTree = ""; + }; + 058CC8DD2DB5376A0084221A /* Products */ = { + isa = PBXGroup; + children = ( + 058CC8DC2DB5376A0084221A /* Data.framework */, + ); + name = Products; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + 058CC8D72DB5376A0084221A /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + 058CC8DB2DB5376A0084221A /* Data */ = { + isa = PBXNativeTarget; + buildConfigurationList = 058CC8E32DB5376A0084221A /* Build configuration list for PBXNativeTarget "Data" */; + buildPhases = ( + 058CC8D72DB5376A0084221A /* Headers */, + 058CC8D82DB5376A0084221A /* Sources */, + 058CC8D92DB5376A0084221A /* Frameworks */, + 058CC8DA2DB5376A0084221A /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = Data; + packageProductDependencies = ( + ); + productName = Data; + productReference = 058CC8DC2DB5376A0084221A /* Data.framework */; + productType = "com.apple.product-type.framework"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 058CC8D32DB5376A0084221A /* Project object */ = { + isa = PBXProject; + attributes = { + BuildIndependentTargetsInParallel = 1; + LastSwiftUpdateCheck = 1630; + LastUpgradeCheck = 1630; + TargetAttributes = { + 058CC8DB2DB5376A0084221A = { + CreatedOnToolsVersion = 16.3; + }; + }; + }; + buildConfigurationList = 058CC8D62DB5376A0084221A /* Build configuration list for PBXProject "Data" */; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 058CC8D22DB5376A0084221A; + minimizedProjectReferenceProxies = 1; + preferredProjectObjectVersion = 77; + productRefGroup = 058CC8DD2DB5376A0084221A /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 058CC8DB2DB5376A0084221A /* Data */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 058CC8DA2DB5376A0084221A /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 058CC8D82DB5376A0084221A /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + 058CC8E12DB5376A0084221A /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_C_LANGUAGE_STANDARD = gnu17; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 18.4; + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)"; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + 058CC8E22DB5376A0084221A /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_C_LANGUAGE_STANDARD = gnu17; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 18.4; + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + SDKROOT = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + 058CC8E42DB5376A0084221A /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUILD_LIBRARY_FOR_DISTRIBUTION = YES; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_MODULE_VERIFIER = YES; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_KEY_NSHumanReadableCopyright = ""; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++"; + MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu17 gnu++20"; + PRODUCT_BUNDLE_IDENTIFIER = com.poppoolIOS.poppool.Data; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SKIP_INSTALL = YES; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_INSTALL_MODULE = YES; + SWIFT_INSTALL_OBJC_HEADER = NO; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 058CC8E52DB5376A0084221A /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUILD_LIBRARY_FOR_DISTRIBUTION = YES; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_MODULE_VERIFIER = YES; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_KEY_NSHumanReadableCopyright = ""; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++"; + MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu17 gnu++20"; + PRODUCT_BUNDLE_IDENTIFIER = com.poppoolIOS.poppool.Data; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SKIP_INSTALL = YES; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_INSTALL_MODULE = YES; + SWIFT_INSTALL_OBJC_HEADER = NO; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 058CC8D62DB5376A0084221A /* Build configuration list for PBXProject "Data" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 058CC8E12DB5376A0084221A /* Debug */, + 058CC8E22DB5376A0084221A /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 058CC8E32DB5376A0084221A /* Build configuration list for PBXNativeTarget "Data" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 058CC8E42DB5376A0084221A /* Debug */, + 058CC8E52DB5376A0084221A /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 058CC8D32DB5376A0084221A /* Project object */; +} diff --git a/Poppool/Poppool/DataLayer/Network/API/AdminAPI/AdminAPIEndpoint.swift b/Poppool/DataLayer/Data/Data/Network/API/AdminAPI/AdminAPIEndpoint.swift similarity index 100% rename from Poppool/Poppool/DataLayer/Network/API/AdminAPI/AdminAPIEndpoint.swift rename to Poppool/DataLayer/Data/Data/Network/API/AdminAPI/AdminAPIEndpoint.swift diff --git a/Poppool/Poppool/DataLayer/Network/API/AdminAPI/ResponseDTO/AdminResponseDTO.swift b/Poppool/DataLayer/Data/Data/Network/API/AdminAPI/ResponseDTO/AdminResponseDTO.swift similarity index 100% rename from Poppool/Poppool/DataLayer/Network/API/AdminAPI/ResponseDTO/AdminResponseDTO.swift rename to Poppool/DataLayer/Data/Data/Network/API/AdminAPI/ResponseDTO/AdminResponseDTO.swift diff --git a/Poppool/Poppool/DataLayer/Network/API/AdminAPI/ResponseDTO/GetAdminPopUpStoreListResponseDTO.swift b/Poppool/DataLayer/Data/Data/Network/API/AdminAPI/ResponseDTO/GetAdminPopUpStoreListResponseDTO.swift similarity index 100% rename from Poppool/Poppool/DataLayer/Network/API/AdminAPI/ResponseDTO/GetAdminPopUpStoreListResponseDTO.swift rename to Poppool/DataLayer/Data/Data/Network/API/AdminAPI/ResponseDTO/GetAdminPopUpStoreListResponseDTO.swift diff --git a/Poppool/Poppool/DataLayer/Network/API/AuthAPI/AuthAPIEndPoint.swift b/Poppool/DataLayer/Data/Data/Network/API/AuthAPI/AuthAPIEndPoint.swift similarity index 100% rename from Poppool/Poppool/DataLayer/Network/API/AuthAPI/AuthAPIEndPoint.swift rename to Poppool/DataLayer/Data/Data/Network/API/AuthAPI/AuthAPIEndPoint.swift diff --git a/Poppool/Poppool/DataLayer/Network/API/AuthAPI/ResponseDTO/LoginResponseDTO.swift b/Poppool/DataLayer/Data/Data/Network/API/AuthAPI/ResponseDTO/LoginResponseDTO.swift similarity index 100% rename from Poppool/Poppool/DataLayer/Network/API/AuthAPI/ResponseDTO/LoginResponseDTO.swift rename to Poppool/DataLayer/Data/Data/Network/API/AuthAPI/ResponseDTO/LoginResponseDTO.swift diff --git a/Poppool/Poppool/DataLayer/Network/API/AuthAPI/ResponseDTO/PostTokenReissueResponseDTO.swift b/Poppool/DataLayer/Data/Data/Network/API/AuthAPI/ResponseDTO/PostTokenReissueResponseDTO.swift similarity index 100% rename from Poppool/Poppool/DataLayer/Network/API/AuthAPI/ResponseDTO/PostTokenReissueResponseDTO.swift rename to Poppool/DataLayer/Data/Data/Network/API/AuthAPI/ResponseDTO/PostTokenReissueResponseDTO.swift diff --git a/Poppool/Poppool/DataLayer/Network/API/CommentAPI/CommentAPIEndPoint.swift b/Poppool/DataLayer/Data/Data/Network/API/CommentAPI/CommentAPIEndPoint.swift similarity index 100% rename from Poppool/Poppool/DataLayer/Network/API/CommentAPI/CommentAPIEndPoint.swift rename to Poppool/DataLayer/Data/Data/Network/API/CommentAPI/CommentAPIEndPoint.swift diff --git a/Poppool/Poppool/DataLayer/Network/API/CommentAPI/RequestDTO/DeleteCommentRequestDTO.swift b/Poppool/DataLayer/Data/Data/Network/API/CommentAPI/RequestDTO/DeleteCommentRequestDTO.swift similarity index 100% rename from Poppool/Poppool/DataLayer/Network/API/CommentAPI/RequestDTO/DeleteCommentRequestDTO.swift rename to Poppool/DataLayer/Data/Data/Network/API/CommentAPI/RequestDTO/DeleteCommentRequestDTO.swift diff --git a/Poppool/Poppool/DataLayer/Network/API/CommentAPI/RequestDTO/PostCommentRequestDTO.swift b/Poppool/DataLayer/Data/Data/Network/API/CommentAPI/RequestDTO/PostCommentRequestDTO.swift similarity index 100% rename from Poppool/Poppool/DataLayer/Network/API/CommentAPI/RequestDTO/PostCommentRequestDTO.swift rename to Poppool/DataLayer/Data/Data/Network/API/CommentAPI/RequestDTO/PostCommentRequestDTO.swift diff --git a/Poppool/Poppool/DataLayer/Network/API/CommentAPI/RequestDTO/PutCommentRequestDTO.swift b/Poppool/DataLayer/Data/Data/Network/API/CommentAPI/RequestDTO/PutCommentRequestDTO.swift similarity index 100% rename from Poppool/Poppool/DataLayer/Network/API/CommentAPI/RequestDTO/PutCommentRequestDTO.swift rename to Poppool/DataLayer/Data/Data/Network/API/CommentAPI/RequestDTO/PutCommentRequestDTO.swift diff --git a/Poppool/Poppool/DataLayer/Network/API/HomeAPI/HomeAPIEndpoint.swift b/Poppool/DataLayer/Data/Data/Network/API/HomeAPI/HomeAPIEndpoint.swift similarity index 100% rename from Poppool/Poppool/DataLayer/Network/API/HomeAPI/HomeAPIEndpoint.swift rename to Poppool/DataLayer/Data/Data/Network/API/HomeAPI/HomeAPIEndpoint.swift diff --git a/Poppool/Poppool/DataLayer/Network/API/HomeAPI/RequestDTO/HomeSortedRequestDTO.swift b/Poppool/DataLayer/Data/Data/Network/API/HomeAPI/RequestDTO/HomeSortedRequestDTO.swift similarity index 100% rename from Poppool/Poppool/DataLayer/Network/API/HomeAPI/RequestDTO/HomeSortedRequestDTO.swift rename to Poppool/DataLayer/Data/Data/Network/API/HomeAPI/RequestDTO/HomeSortedRequestDTO.swift diff --git a/Poppool/Poppool/DataLayer/Network/API/HomeAPI/ResponseDTO/BannerPopUpStoreDTO.swift b/Poppool/DataLayer/Data/Data/Network/API/HomeAPI/ResponseDTO/BannerPopUpStoreDTO.swift similarity index 100% rename from Poppool/Poppool/DataLayer/Network/API/HomeAPI/ResponseDTO/BannerPopUpStoreDTO.swift rename to Poppool/DataLayer/Data/Data/Network/API/HomeAPI/ResponseDTO/BannerPopUpStoreDTO.swift diff --git a/Poppool/Poppool/DataLayer/Network/API/HomeAPI/ResponseDTO/GetHomeInfoResponseDTO.swift b/Poppool/DataLayer/Data/Data/Network/API/HomeAPI/ResponseDTO/GetHomeInfoResponseDTO.swift similarity index 100% rename from Poppool/Poppool/DataLayer/Network/API/HomeAPI/ResponseDTO/GetHomeInfoResponseDTO.swift rename to Poppool/DataLayer/Data/Data/Network/API/HomeAPI/ResponseDTO/GetHomeInfoResponseDTO.swift diff --git a/Poppool/Poppool/DataLayer/Network/API/HomeAPI/ResponseDTO/PopUpStoreResponseDTO.swift b/Poppool/DataLayer/Data/Data/Network/API/HomeAPI/ResponseDTO/PopUpStoreResponseDTO.swift similarity index 100% rename from Poppool/Poppool/DataLayer/Network/API/HomeAPI/ResponseDTO/PopUpStoreResponseDTO.swift rename to Poppool/DataLayer/Data/Data/Network/API/HomeAPI/ResponseDTO/PopUpStoreResponseDTO.swift diff --git a/Poppool/Poppool/DataLayer/Network/API/MapAPI/FindDirectionEndPoint.swift b/Poppool/DataLayer/Data/Data/Network/API/MapAPI/FindDirectionEndPoint.swift similarity index 100% rename from Poppool/Poppool/DataLayer/Network/API/MapAPI/FindDirectionEndPoint.swift rename to Poppool/DataLayer/Data/Data/Network/API/MapAPI/FindDirectionEndPoint.swift diff --git a/Poppool/Poppool/DataLayer/Network/API/MapAPI/MapAPIEndpoint.swift b/Poppool/DataLayer/Data/Data/Network/API/MapAPI/MapAPIEndpoint.swift similarity index 100% rename from Poppool/Poppool/DataLayer/Network/API/MapAPI/MapAPIEndpoint.swift rename to Poppool/DataLayer/Data/Data/Network/API/MapAPI/MapAPIEndpoint.swift diff --git a/Poppool/Poppool/DataLayer/Network/API/MapAPI/ResponseDTO/GetPopUpDirectionResponseDTO.swift b/Poppool/DataLayer/Data/Data/Network/API/MapAPI/ResponseDTO/GetPopUpDirectionResponseDTO.swift similarity index 100% rename from Poppool/Poppool/DataLayer/Network/API/MapAPI/ResponseDTO/GetPopUpDirectionResponseDTO.swift rename to Poppool/DataLayer/Data/Data/Network/API/MapAPI/ResponseDTO/GetPopUpDirectionResponseDTO.swift diff --git a/Poppool/Poppool/DataLayer/Network/API/MapAPI/ResponseDTO/MapPopUpStoreDTO.swift b/Poppool/DataLayer/Data/Data/Network/API/MapAPI/ResponseDTO/MapPopUpStoreDTO.swift similarity index 100% rename from Poppool/Poppool/DataLayer/Network/API/MapAPI/ResponseDTO/MapPopUpStoreDTO.swift rename to Poppool/DataLayer/Data/Data/Network/API/MapAPI/ResponseDTO/MapPopUpStoreDTO.swift diff --git a/Poppool/Poppool/DataLayer/Network/API/PopUpAPI/PopUpAPIEndPoint.swift b/Poppool/DataLayer/Data/Data/Network/API/PopUpAPI/PopUpAPIEndPoint.swift similarity index 100% rename from Poppool/Poppool/DataLayer/Network/API/PopUpAPI/PopUpAPIEndPoint.swift rename to Poppool/DataLayer/Data/Data/Network/API/PopUpAPI/PopUpAPIEndPoint.swift diff --git a/Poppool/Poppool/DataLayer/Network/API/PopUpAPI/RequestDTO/GetPopUpCommentRequestDTO.swift b/Poppool/DataLayer/Data/Data/Network/API/PopUpAPI/RequestDTO/GetPopUpCommentRequestDTO.swift similarity index 100% rename from Poppool/Poppool/DataLayer/Network/API/PopUpAPI/RequestDTO/GetPopUpCommentRequestDTO.swift rename to Poppool/DataLayer/Data/Data/Network/API/PopUpAPI/RequestDTO/GetPopUpCommentRequestDTO.swift diff --git a/Poppool/Poppool/DataLayer/Network/API/PopUpAPI/RequestDTO/GetPopUpDetailRequestDTO.swift b/Poppool/DataLayer/Data/Data/Network/API/PopUpAPI/RequestDTO/GetPopUpDetailRequestDTO.swift similarity index 100% rename from Poppool/Poppool/DataLayer/Network/API/PopUpAPI/RequestDTO/GetPopUpDetailRequestDTO.swift rename to Poppool/DataLayer/Data/Data/Network/API/PopUpAPI/RequestDTO/GetPopUpDetailRequestDTO.swift diff --git a/Poppool/Poppool/DataLayer/Network/API/PopUpAPI/RequestDTO/GetSearchPopUpListRequestDTO.swift b/Poppool/DataLayer/Data/Data/Network/API/PopUpAPI/RequestDTO/GetSearchPopUpListRequestDTO.swift similarity index 100% rename from Poppool/Poppool/DataLayer/Network/API/PopUpAPI/RequestDTO/GetSearchPopUpListRequestDTO.swift rename to Poppool/DataLayer/Data/Data/Network/API/PopUpAPI/RequestDTO/GetSearchPopUpListRequestDTO.swift diff --git a/Poppool/Poppool/DataLayer/Network/API/PopUpAPI/ResponseDTO/GetClosePopUpListResponseDTO.swift b/Poppool/DataLayer/Data/Data/Network/API/PopUpAPI/ResponseDTO/GetClosePopUpListResponseDTO.swift similarity index 100% rename from Poppool/Poppool/DataLayer/Network/API/PopUpAPI/ResponseDTO/GetClosePopUpListResponseDTO.swift rename to Poppool/DataLayer/Data/Data/Network/API/PopUpAPI/ResponseDTO/GetClosePopUpListResponseDTO.swift diff --git a/Poppool/Poppool/DataLayer/Network/API/PopUpAPI/ResponseDTO/GetOpenPopUpListResponseDTO.swift b/Poppool/DataLayer/Data/Data/Network/API/PopUpAPI/ResponseDTO/GetOpenPopUpListResponseDTO.swift similarity index 100% rename from Poppool/Poppool/DataLayer/Network/API/PopUpAPI/ResponseDTO/GetOpenPopUpListResponseDTO.swift rename to Poppool/DataLayer/Data/Data/Network/API/PopUpAPI/ResponseDTO/GetOpenPopUpListResponseDTO.swift diff --git a/Poppool/Poppool/DataLayer/Network/API/PopUpAPI/ResponseDTO/GetPopUpCommentResponseDTO.swift b/Poppool/DataLayer/Data/Data/Network/API/PopUpAPI/ResponseDTO/GetPopUpCommentResponseDTO.swift similarity index 100% rename from Poppool/Poppool/DataLayer/Network/API/PopUpAPI/ResponseDTO/GetPopUpCommentResponseDTO.swift rename to Poppool/DataLayer/Data/Data/Network/API/PopUpAPI/ResponseDTO/GetPopUpCommentResponseDTO.swift diff --git a/Poppool/Poppool/DataLayer/Network/API/PopUpAPI/ResponseDTO/GetPopUpDetailResponseDTO.swift b/Poppool/DataLayer/Data/Data/Network/API/PopUpAPI/ResponseDTO/GetPopUpDetailResponseDTO.swift similarity index 100% rename from Poppool/Poppool/DataLayer/Network/API/PopUpAPI/ResponseDTO/GetPopUpDetailResponseDTO.swift rename to Poppool/DataLayer/Data/Data/Network/API/PopUpAPI/ResponseDTO/GetPopUpDetailResponseDTO.swift diff --git a/Poppool/Poppool/DataLayer/Network/API/PopUpAPI/ResponseDTO/GetSearchPopUpListResponseDTO.swift b/Poppool/DataLayer/Data/Data/Network/API/PopUpAPI/ResponseDTO/GetSearchPopUpListResponseDTO.swift similarity index 100% rename from Poppool/Poppool/DataLayer/Network/API/PopUpAPI/ResponseDTO/GetSearchPopUpListResponseDTO.swift rename to Poppool/DataLayer/Data/Data/Network/API/PopUpAPI/ResponseDTO/GetSearchPopUpListResponseDTO.swift diff --git a/Poppool/Poppool/DataLayer/Network/API/PreSignedAPI/PreSignedAPIEndPoint.swift b/Poppool/DataLayer/Data/Data/Network/API/PreSignedAPI/PreSignedAPIEndPoint.swift similarity index 100% rename from Poppool/Poppool/DataLayer/Network/API/PreSignedAPI/PreSignedAPIEndPoint.swift rename to Poppool/DataLayer/Data/Data/Network/API/PreSignedAPI/PreSignedAPIEndPoint.swift diff --git a/Poppool/Poppool/DataLayer/Network/API/PreSignedAPI/RequestDTO/PresignedURLRequestDTO.swift b/Poppool/DataLayer/Data/Data/Network/API/PreSignedAPI/RequestDTO/PresignedURLRequestDTO.swift similarity index 100% rename from Poppool/Poppool/DataLayer/Network/API/PreSignedAPI/RequestDTO/PresignedURLRequestDTO.swift rename to Poppool/DataLayer/Data/Data/Network/API/PreSignedAPI/RequestDTO/PresignedURLRequestDTO.swift diff --git a/Poppool/Poppool/DataLayer/Network/API/PreSignedAPI/ResponseDTO/PreSignedURLDTO.swift b/Poppool/DataLayer/Data/Data/Network/API/PreSignedAPI/ResponseDTO/PreSignedURLDTO.swift similarity index 100% rename from Poppool/Poppool/DataLayer/Network/API/PreSignedAPI/ResponseDTO/PreSignedURLDTO.swift rename to Poppool/DataLayer/Data/Data/Network/API/PreSignedAPI/ResponseDTO/PreSignedURLDTO.swift diff --git a/Poppool/Poppool/DataLayer/Network/API/PreSignedAPI/ResponseDTO/PreSignedURLResponseDTO.swift b/Poppool/DataLayer/Data/Data/Network/API/PreSignedAPI/ResponseDTO/PreSignedURLResponseDTO.swift similarity index 100% rename from Poppool/Poppool/DataLayer/Network/API/PreSignedAPI/ResponseDTO/PreSignedURLResponseDTO.swift rename to Poppool/DataLayer/Data/Data/Network/API/PreSignedAPI/ResponseDTO/PreSignedURLResponseDTO.swift diff --git a/Poppool/Poppool/DataLayer/Network/API/SignUpAPI/RequestDTO/CheckNickNameRequestDTO.swift b/Poppool/DataLayer/Data/Data/Network/API/SignUpAPI/RequestDTO/CheckNickNameRequestDTO.swift similarity index 100% rename from Poppool/Poppool/DataLayer/Network/API/SignUpAPI/RequestDTO/CheckNickNameRequestDTO.swift rename to Poppool/DataLayer/Data/Data/Network/API/SignUpAPI/RequestDTO/CheckNickNameRequestDTO.swift diff --git a/Poppool/Poppool/DataLayer/Network/API/SignUpAPI/RequestDTO/SignUpRequestDTO.swift b/Poppool/DataLayer/Data/Data/Network/API/SignUpAPI/RequestDTO/SignUpRequestDTO.swift similarity index 100% rename from Poppool/Poppool/DataLayer/Network/API/SignUpAPI/RequestDTO/SignUpRequestDTO.swift rename to Poppool/DataLayer/Data/Data/Network/API/SignUpAPI/RequestDTO/SignUpRequestDTO.swift diff --git a/Poppool/Poppool/DataLayer/Network/API/SignUpAPI/ResponseDTO/GetCategoryListResponseDTO.swift b/Poppool/DataLayer/Data/Data/Network/API/SignUpAPI/ResponseDTO/GetCategoryListResponseDTO.swift similarity index 100% rename from Poppool/Poppool/DataLayer/Network/API/SignUpAPI/ResponseDTO/GetCategoryListResponseDTO.swift rename to Poppool/DataLayer/Data/Data/Network/API/SignUpAPI/ResponseDTO/GetCategoryListResponseDTO.swift diff --git a/Poppool/Poppool/DataLayer/Network/API/SignUpAPI/SignUpAPIEndpoint.swift b/Poppool/DataLayer/Data/Data/Network/API/SignUpAPI/SignUpAPIEndpoint.swift similarity index 100% rename from Poppool/Poppool/DataLayer/Network/API/SignUpAPI/SignUpAPIEndpoint.swift rename to Poppool/DataLayer/Data/Data/Network/API/SignUpAPI/SignUpAPIEndpoint.swift diff --git a/Poppool/Poppool/DataLayer/Network/API/UserAPI/RequesetDTO/CommentLikeRequestDTO.swift b/Poppool/DataLayer/Data/Data/Network/API/UserAPI/RequesetDTO/CommentLikeRequestDTO.swift similarity index 100% rename from Poppool/Poppool/DataLayer/Network/API/UserAPI/RequesetDTO/CommentLikeRequestDTO.swift rename to Poppool/DataLayer/Data/Data/Network/API/UserAPI/RequesetDTO/CommentLikeRequestDTO.swift diff --git a/Poppool/Poppool/DataLayer/Network/API/UserAPI/RequesetDTO/GetMyCommentRequestDTO.swift b/Poppool/DataLayer/Data/Data/Network/API/UserAPI/RequesetDTO/GetMyCommentRequestDTO.swift similarity index 100% rename from Poppool/Poppool/DataLayer/Network/API/UserAPI/RequesetDTO/GetMyCommentRequestDTO.swift rename to Poppool/DataLayer/Data/Data/Network/API/UserAPI/RequesetDTO/GetMyCommentRequestDTO.swift diff --git a/Poppool/Poppool/DataLayer/Network/API/UserAPI/RequesetDTO/GetOtherUserCommentListRequestDTO.swift b/Poppool/DataLayer/Data/Data/Network/API/UserAPI/RequesetDTO/GetOtherUserCommentListRequestDTO.swift similarity index 100% rename from Poppool/Poppool/DataLayer/Network/API/UserAPI/RequesetDTO/GetOtherUserCommentListRequestDTO.swift rename to Poppool/DataLayer/Data/Data/Network/API/UserAPI/RequesetDTO/GetOtherUserCommentListRequestDTO.swift diff --git a/Poppool/Poppool/DataLayer/Network/API/UserAPI/RequesetDTO/PostBookmarkPopUpRequestDTO.swift b/Poppool/DataLayer/Data/Data/Network/API/UserAPI/RequesetDTO/PostBookmarkPopUpRequestDTO.swift similarity index 100% rename from Poppool/Poppool/DataLayer/Network/API/UserAPI/RequesetDTO/PostBookmarkPopUpRequestDTO.swift rename to Poppool/DataLayer/Data/Data/Network/API/UserAPI/RequesetDTO/PostBookmarkPopUpRequestDTO.swift diff --git a/Poppool/Poppool/DataLayer/Network/API/UserAPI/RequesetDTO/PostUserBlockRequestDTO.swift b/Poppool/DataLayer/Data/Data/Network/API/UserAPI/RequesetDTO/PostUserBlockRequestDTO.swift similarity index 100% rename from Poppool/Poppool/DataLayer/Network/API/UserAPI/RequesetDTO/PostUserBlockRequestDTO.swift rename to Poppool/DataLayer/Data/Data/Network/API/UserAPI/RequesetDTO/PostUserBlockRequestDTO.swift diff --git a/Poppool/Poppool/DataLayer/Network/API/UserAPI/RequesetDTO/PutUserCategoryRequestDTO.swift b/Poppool/DataLayer/Data/Data/Network/API/UserAPI/RequesetDTO/PutUserCategoryRequestDTO.swift similarity index 100% rename from Poppool/Poppool/DataLayer/Network/API/UserAPI/RequesetDTO/PutUserCategoryRequestDTO.swift rename to Poppool/DataLayer/Data/Data/Network/API/UserAPI/RequesetDTO/PutUserCategoryRequestDTO.swift diff --git a/Poppool/Poppool/DataLayer/Network/API/UserAPI/RequesetDTO/PutUserProfileRequestDTO.swift b/Poppool/DataLayer/Data/Data/Network/API/UserAPI/RequesetDTO/PutUserProfileRequestDTO.swift similarity index 100% rename from Poppool/Poppool/DataLayer/Network/API/UserAPI/RequesetDTO/PutUserProfileRequestDTO.swift rename to Poppool/DataLayer/Data/Data/Network/API/UserAPI/RequesetDTO/PutUserProfileRequestDTO.swift diff --git a/Poppool/Poppool/DataLayer/Network/API/UserAPI/RequesetDTO/PutUserTailoredInfoRequestDTO.swift b/Poppool/DataLayer/Data/Data/Network/API/UserAPI/RequesetDTO/PutUserTailoredInfoRequestDTO.swift similarity index 100% rename from Poppool/Poppool/DataLayer/Network/API/UserAPI/RequesetDTO/PutUserTailoredInfoRequestDTO.swift rename to Poppool/DataLayer/Data/Data/Network/API/UserAPI/RequesetDTO/PutUserTailoredInfoRequestDTO.swift diff --git a/Poppool/Poppool/DataLayer/Network/API/UserAPI/RequesetDTO/UserSortedRequestDTO.swift b/Poppool/DataLayer/Data/Data/Network/API/UserAPI/RequesetDTO/UserSortedRequestDTO.swift similarity index 100% rename from Poppool/Poppool/DataLayer/Network/API/UserAPI/RequesetDTO/UserSortedRequestDTO.swift rename to Poppool/DataLayer/Data/Data/Network/API/UserAPI/RequesetDTO/UserSortedRequestDTO.swift diff --git a/Poppool/Poppool/DataLayer/Network/API/UserAPI/ResponseDTO/GetBlockUserListResponseDTO.swift b/Poppool/DataLayer/Data/Data/Network/API/UserAPI/ResponseDTO/GetBlockUserListResponseDTO.swift similarity index 100% rename from Poppool/Poppool/DataLayer/Network/API/UserAPI/ResponseDTO/GetBlockUserListResponseDTO.swift rename to Poppool/DataLayer/Data/Data/Network/API/UserAPI/ResponseDTO/GetBlockUserListResponseDTO.swift diff --git a/Poppool/Poppool/DataLayer/Network/API/UserAPI/ResponseDTO/GetMyCommentedPopUpResponseDTO.swift b/Poppool/DataLayer/Data/Data/Network/API/UserAPI/ResponseDTO/GetMyCommentedPopUpResponseDTO.swift similarity index 100% rename from Poppool/Poppool/DataLayer/Network/API/UserAPI/ResponseDTO/GetMyCommentedPopUpResponseDTO.swift rename to Poppool/DataLayer/Data/Data/Network/API/UserAPI/ResponseDTO/GetMyCommentedPopUpResponseDTO.swift diff --git a/Poppool/Poppool/DataLayer/Network/API/UserAPI/ResponseDTO/GetMyPageResponseDTO.swift b/Poppool/DataLayer/Data/Data/Network/API/UserAPI/ResponseDTO/GetMyPageResponseDTO.swift similarity index 100% rename from Poppool/Poppool/DataLayer/Network/API/UserAPI/ResponseDTO/GetMyPageResponseDTO.swift rename to Poppool/DataLayer/Data/Data/Network/API/UserAPI/ResponseDTO/GetMyPageResponseDTO.swift diff --git a/Poppool/Poppool/DataLayer/Network/API/UserAPI/ResponseDTO/GetMyProfileResponseDTO.swift b/Poppool/DataLayer/Data/Data/Network/API/UserAPI/ResponseDTO/GetMyProfileResponseDTO.swift similarity index 100% rename from Poppool/Poppool/DataLayer/Network/API/UserAPI/ResponseDTO/GetMyProfileResponseDTO.swift rename to Poppool/DataLayer/Data/Data/Network/API/UserAPI/ResponseDTO/GetMyProfileResponseDTO.swift diff --git a/Poppool/Poppool/DataLayer/Network/API/UserAPI/ResponseDTO/GetNoticeDetailResponseDTO.swift b/Poppool/DataLayer/Data/Data/Network/API/UserAPI/ResponseDTO/GetNoticeDetailResponseDTO.swift similarity index 100% rename from Poppool/Poppool/DataLayer/Network/API/UserAPI/ResponseDTO/GetNoticeDetailResponseDTO.swift rename to Poppool/DataLayer/Data/Data/Network/API/UserAPI/ResponseDTO/GetNoticeDetailResponseDTO.swift diff --git a/Poppool/Poppool/DataLayer/Network/API/UserAPI/ResponseDTO/GetNoticeListResponseDTO.swift b/Poppool/DataLayer/Data/Data/Network/API/UserAPI/ResponseDTO/GetNoticeListResponseDTO.swift similarity index 100% rename from Poppool/Poppool/DataLayer/Network/API/UserAPI/ResponseDTO/GetNoticeListResponseDTO.swift rename to Poppool/DataLayer/Data/Data/Network/API/UserAPI/ResponseDTO/GetNoticeListResponseDTO.swift diff --git a/Poppool/Poppool/DataLayer/Network/API/UserAPI/ResponseDTO/GetOtherUserCommentedPopUpListResponseDTO.swift b/Poppool/DataLayer/Data/Data/Network/API/UserAPI/ResponseDTO/GetOtherUserCommentedPopUpListResponseDTO.swift similarity index 100% rename from Poppool/Poppool/DataLayer/Network/API/UserAPI/ResponseDTO/GetOtherUserCommentedPopUpListResponseDTO.swift rename to Poppool/DataLayer/Data/Data/Network/API/UserAPI/ResponseDTO/GetOtherUserCommentedPopUpListResponseDTO.swift diff --git a/Poppool/Poppool/DataLayer/Network/API/UserAPI/ResponseDTO/GetRecentPopUpResponseDTO.swift b/Poppool/DataLayer/Data/Data/Network/API/UserAPI/ResponseDTO/GetRecentPopUpResponseDTO.swift similarity index 100% rename from Poppool/Poppool/DataLayer/Network/API/UserAPI/ResponseDTO/GetRecentPopUpResponseDTO.swift rename to Poppool/DataLayer/Data/Data/Network/API/UserAPI/ResponseDTO/GetRecentPopUpResponseDTO.swift diff --git a/Poppool/Poppool/DataLayer/Network/API/UserAPI/ResponseDTO/GetWithdrawlListResponseDTO.swift b/Poppool/DataLayer/Data/Data/Network/API/UserAPI/ResponseDTO/GetWithdrawlListResponseDTO.swift similarity index 100% rename from Poppool/Poppool/DataLayer/Network/API/UserAPI/ResponseDTO/GetWithdrawlListResponseDTO.swift rename to Poppool/DataLayer/Data/Data/Network/API/UserAPI/ResponseDTO/GetWithdrawlListResponseDTO.swift diff --git a/Poppool/Poppool/DataLayer/Network/API/UserAPI/UserAPIEndPoint.swift b/Poppool/DataLayer/Data/Data/Network/API/UserAPI/UserAPIEndPoint.swift similarity index 100% rename from Poppool/Poppool/DataLayer/Network/API/UserAPI/UserAPIEndPoint.swift rename to Poppool/DataLayer/Data/Data/Network/API/UserAPI/UserAPIEndPoint.swift diff --git a/Poppool/Poppool/DataLayer/Network/Common/NetworkError.swift b/Poppool/DataLayer/Data/Data/Network/Common/NetworkError.swift similarity index 100% rename from Poppool/Poppool/DataLayer/Network/Common/NetworkError.swift rename to Poppool/DataLayer/Data/Data/Network/Common/NetworkError.swift diff --git a/Poppool/Poppool/DataLayer/Network/Common/Requestable.swift b/Poppool/DataLayer/Data/Data/Network/Common/Requestable.swift similarity index 100% rename from Poppool/Poppool/DataLayer/Network/Common/Requestable.swift rename to Poppool/DataLayer/Data/Data/Network/Common/Requestable.swift diff --git a/Poppool/Poppool/DataLayer/Network/Common/Responsable.swift b/Poppool/DataLayer/Data/Data/Network/Common/Responsable.swift similarity index 100% rename from Poppool/Poppool/DataLayer/Network/Common/Responsable.swift rename to Poppool/DataLayer/Data/Data/Network/Common/Responsable.swift diff --git a/Poppool/Poppool/DataLayer/Network/EndPoint/Endpoint.swift b/Poppool/DataLayer/Data/Data/Network/EndPoint/Endpoint.swift similarity index 100% rename from Poppool/Poppool/DataLayer/Network/EndPoint/Endpoint.swift rename to Poppool/DataLayer/Data/Data/Network/EndPoint/Endpoint.swift diff --git a/Poppool/Poppool/DataLayer/Network/EndPoint/MultipartEndPoint.swift b/Poppool/DataLayer/Data/Data/Network/EndPoint/MultipartEndPoint.swift similarity index 100% rename from Poppool/Poppool/DataLayer/Network/EndPoint/MultipartEndPoint.swift rename to Poppool/DataLayer/Data/Data/Network/EndPoint/MultipartEndPoint.swift diff --git a/Poppool/Poppool/DataLayer/Network/EndPoint/RequestEndpoint.swift b/Poppool/DataLayer/Data/Data/Network/EndPoint/RequestEndpoint.swift similarity index 100% rename from Poppool/Poppool/DataLayer/Network/EndPoint/RequestEndpoint.swift rename to Poppool/DataLayer/Data/Data/Network/EndPoint/RequestEndpoint.swift diff --git a/Poppool/Poppool/DataLayer/Network/Interceptor/TokenInterceptor.swift b/Poppool/DataLayer/Data/Data/Network/Interceptor/TokenInterceptor.swift similarity index 100% rename from Poppool/Poppool/DataLayer/Network/Interceptor/TokenInterceptor.swift rename to Poppool/DataLayer/Data/Data/Network/Interceptor/TokenInterceptor.swift diff --git a/Poppool/Poppool/DataLayer/Network/Provider/Provider.swift b/Poppool/DataLayer/Data/Data/Network/Provider/Provider.swift similarity index 100% rename from Poppool/Poppool/DataLayer/Network/Provider/Provider.swift rename to Poppool/DataLayer/Data/Data/Network/Provider/Provider.swift diff --git a/Poppool/Poppool/DataLayer/Network/Provider/ProviderImpl.swift b/Poppool/DataLayer/Data/Data/Network/Provider/ProviderImpl.swift similarity index 100% rename from Poppool/Poppool/DataLayer/Network/Provider/ProviderImpl.swift rename to Poppool/DataLayer/Data/Data/Network/Provider/ProviderImpl.swift diff --git a/Poppool/Poppool/DataLayer/RepositoryImpl/AdminRepositoryImpl.swift b/Poppool/DataLayer/Data/Data/RepositoryImpl/AdminRepositoryImpl.swift similarity index 100% rename from Poppool/Poppool/DataLayer/RepositoryImpl/AdminRepositoryImpl.swift rename to Poppool/DataLayer/Data/Data/RepositoryImpl/AdminRepositoryImpl.swift diff --git a/Poppool/Poppool/DataLayer/RepositoryImpl/AuthAPIRepositoryImpl.swift b/Poppool/DataLayer/Data/Data/RepositoryImpl/AuthAPIRepositoryImpl.swift similarity index 100% rename from Poppool/Poppool/DataLayer/RepositoryImpl/AuthAPIRepositoryImpl.swift rename to Poppool/DataLayer/Data/Data/RepositoryImpl/AuthAPIRepositoryImpl.swift diff --git a/Poppool/Poppool/DataLayer/RepositoryImpl/CommentAPIRepositoryImpl.swift b/Poppool/DataLayer/Data/Data/RepositoryImpl/CommentAPIRepositoryImpl.swift similarity index 100% rename from Poppool/Poppool/DataLayer/RepositoryImpl/CommentAPIRepositoryImpl.swift rename to Poppool/DataLayer/Data/Data/RepositoryImpl/CommentAPIRepositoryImpl.swift diff --git a/Poppool/Poppool/DataLayer/RepositoryImpl/HomeAPIRepositoryImpl.swift b/Poppool/DataLayer/Data/Data/RepositoryImpl/HomeAPIRepositoryImpl.swift similarity index 100% rename from Poppool/Poppool/DataLayer/RepositoryImpl/HomeAPIRepositoryImpl.swift rename to Poppool/DataLayer/Data/Data/RepositoryImpl/HomeAPIRepositoryImpl.swift diff --git a/Poppool/Poppool/DataLayer/RepositoryImpl/MapDirectionRepositoryImpl.swift b/Poppool/DataLayer/Data/Data/RepositoryImpl/MapDirectionRepositoryImpl.swift similarity index 100% rename from Poppool/Poppool/DataLayer/RepositoryImpl/MapDirectionRepositoryImpl.swift rename to Poppool/DataLayer/Data/Data/RepositoryImpl/MapDirectionRepositoryImpl.swift diff --git a/Poppool/Poppool/DataLayer/RepositoryImpl/MapRepositoryImpl.swift b/Poppool/DataLayer/Data/Data/RepositoryImpl/MapRepositoryImpl.swift similarity index 100% rename from Poppool/Poppool/DataLayer/RepositoryImpl/MapRepositoryImpl.swift rename to Poppool/DataLayer/Data/Data/RepositoryImpl/MapRepositoryImpl.swift diff --git a/Poppool/Poppool/DataLayer/RepositoryImpl/PopUpAPIRepositoryImpl.swift b/Poppool/DataLayer/Data/Data/RepositoryImpl/PopUpAPIRepositoryImpl.swift similarity index 100% rename from Poppool/Poppool/DataLayer/RepositoryImpl/PopUpAPIRepositoryImpl.swift rename to Poppool/DataLayer/Data/Data/RepositoryImpl/PopUpAPIRepositoryImpl.swift diff --git a/Poppool/Poppool/DataLayer/RepositoryImpl/SignUpRepositoryImpl.swift b/Poppool/DataLayer/Data/Data/RepositoryImpl/SignUpRepositoryImpl.swift similarity index 100% rename from Poppool/Poppool/DataLayer/RepositoryImpl/SignUpRepositoryImpl.swift rename to Poppool/DataLayer/Data/Data/RepositoryImpl/SignUpRepositoryImpl.swift diff --git a/Poppool/Poppool/DataLayer/RepositoryImpl/UserAPIRepositoryImpl.swift b/Poppool/DataLayer/Data/Data/RepositoryImpl/UserAPIRepositoryImpl.swift similarity index 100% rename from Poppool/Poppool/DataLayer/RepositoryImpl/UserAPIRepositoryImpl.swift rename to Poppool/DataLayer/Data/Data/RepositoryImpl/UserAPIRepositoryImpl.swift diff --git a/Poppool/DomainLayer/Domain/Domain.xcodeproj/project.pbxproj b/Poppool/DomainLayer/Domain/Domain.xcodeproj/project.pbxproj new file mode 100644 index 00000000..477f9ea6 --- /dev/null +++ b/Poppool/DomainLayer/Domain/Domain.xcodeproj/project.pbxproj @@ -0,0 +1,488 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 77; + objects = { + +/* Begin PBXFileReference section */ + 058CC8F02DB5377F0084221A /* Domain.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Domain.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 05C1D0DB2DB538A600508FFD /* DomainInterface.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = DomainInterface.framework; sourceTree = BUILT_PRODUCTS_DIR; }; +/* End PBXFileReference section */ + +/* Begin PBXFileSystemSynchronizedRootGroup section */ + 058CC8F22DB5377F0084221A /* Domain */ = { + isa = PBXFileSystemSynchronizedRootGroup; + path = Domain; + sourceTree = ""; + }; + 05C1D0DC2DB538A600508FFD /* DomainInterface */ = { + isa = PBXFileSystemSynchronizedRootGroup; + path = DomainInterface; + sourceTree = ""; + }; +/* End PBXFileSystemSynchronizedRootGroup section */ + +/* Begin PBXFrameworksBuildPhase section */ + 058CC8ED2DB5377F0084221A /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 05C1D0D82DB538A600508FFD /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 058CC8E62DB5377F0084221A = { + isa = PBXGroup; + children = ( + 058CC8F22DB5377F0084221A /* Domain */, + 05C1D0DC2DB538A600508FFD /* DomainInterface */, + 058CC8F12DB5377F0084221A /* Products */, + ); + sourceTree = ""; + }; + 058CC8F12DB5377F0084221A /* Products */ = { + isa = PBXGroup; + children = ( + 058CC8F02DB5377F0084221A /* Domain.framework */, + 05C1D0DB2DB538A600508FFD /* DomainInterface.framework */, + ); + name = Products; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + 058CC8EB2DB5377F0084221A /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 05C1D0D62DB538A600508FFD /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + 058CC8EF2DB5377F0084221A /* Domain */ = { + isa = PBXNativeTarget; + buildConfigurationList = 058CC8F72DB5377F0084221A /* Build configuration list for PBXNativeTarget "Domain" */; + buildPhases = ( + 058CC8EB2DB5377F0084221A /* Headers */, + 058CC8EC2DB5377F0084221A /* Sources */, + 058CC8ED2DB5377F0084221A /* Frameworks */, + 058CC8EE2DB5377F0084221A /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + fileSystemSynchronizedGroups = ( + 058CC8F22DB5377F0084221A /* Domain */, + ); + name = Domain; + packageProductDependencies = ( + ); + productName = Domain; + productReference = 058CC8F02DB5377F0084221A /* Domain.framework */; + productType = "com.apple.product-type.framework"; + }; + 05C1D0DA2DB538A600508FFD /* DomainInterface */ = { + isa = PBXNativeTarget; + buildConfigurationList = 05C1D0DF2DB538A600508FFD /* Build configuration list for PBXNativeTarget "DomainInterface" */; + buildPhases = ( + 05C1D0D62DB538A600508FFD /* Headers */, + 05C1D0D72DB538A600508FFD /* Sources */, + 05C1D0D82DB538A600508FFD /* Frameworks */, + 05C1D0D92DB538A600508FFD /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + fileSystemSynchronizedGroups = ( + 05C1D0DC2DB538A600508FFD /* DomainInterface */, + ); + name = DomainInterface; + packageProductDependencies = ( + ); + productName = DomainInterface; + productReference = 05C1D0DB2DB538A600508FFD /* DomainInterface.framework */; + productType = "com.apple.product-type.framework"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 058CC8E72DB5377F0084221A /* Project object */ = { + isa = PBXProject; + attributes = { + BuildIndependentTargetsInParallel = 1; + LastSwiftUpdateCheck = 1630; + LastUpgradeCheck = 1630; + TargetAttributes = { + 058CC8EF2DB5377F0084221A = { + CreatedOnToolsVersion = 16.3; + }; + 05C1D0DA2DB538A600508FFD = { + CreatedOnToolsVersion = 16.3; + }; + }; + }; + buildConfigurationList = 058CC8EA2DB5377F0084221A /* Build configuration list for PBXProject "Domain" */; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 058CC8E62DB5377F0084221A; + minimizedProjectReferenceProxies = 1; + preferredProjectObjectVersion = 77; + productRefGroup = 058CC8F12DB5377F0084221A /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 058CC8EF2DB5377F0084221A /* Domain */, + 05C1D0DA2DB538A600508FFD /* DomainInterface */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 058CC8EE2DB5377F0084221A /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 05C1D0D92DB538A600508FFD /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 058CC8EC2DB5377F0084221A /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 05C1D0D72DB538A600508FFD /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + 058CC8F52DB5377F0084221A /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_C_LANGUAGE_STANDARD = gnu17; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 18.4; + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)"; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + 058CC8F62DB5377F0084221A /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_C_LANGUAGE_STANDARD = gnu17; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 18.4; + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + SDKROOT = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + 058CC8F82DB5377F0084221A /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUILD_LIBRARY_FOR_DISTRIBUTION = YES; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_MODULE_VERIFIER = YES; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_KEY_NSHumanReadableCopyright = ""; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++"; + MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu17 gnu++20"; + PRODUCT_BUNDLE_IDENTIFIER = com.poppoolIOS.poppool.Domain; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SKIP_INSTALL = YES; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_INSTALL_MODULE = YES; + SWIFT_INSTALL_OBJC_HEADER = NO; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 058CC8F92DB5377F0084221A /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUILD_LIBRARY_FOR_DISTRIBUTION = YES; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_MODULE_VERIFIER = YES; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_KEY_NSHumanReadableCopyright = ""; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++"; + MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu17 gnu++20"; + PRODUCT_BUNDLE_IDENTIFIER = com.poppoolIOS.poppool.Domain; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SKIP_INSTALL = YES; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_INSTALL_MODULE = YES; + SWIFT_INSTALL_OBJC_HEADER = NO; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Release; + }; + 05C1D0E02DB538A600508FFD /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUILD_LIBRARY_FOR_DISTRIBUTION = YES; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_MODULE_VERIFIER = YES; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_KEY_NSHumanReadableCopyright = ""; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++"; + MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu17 gnu++20"; + PRODUCT_BUNDLE_IDENTIFIER = com.poppoolIOS.poppool.DomainInterface; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SKIP_INSTALL = YES; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_INSTALL_MODULE = YES; + SWIFT_INSTALL_OBJC_HEADER = NO; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 05C1D0E12DB538A600508FFD /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUILD_LIBRARY_FOR_DISTRIBUTION = YES; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_MODULE_VERIFIER = YES; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_KEY_NSHumanReadableCopyright = ""; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++"; + MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu17 gnu++20"; + PRODUCT_BUNDLE_IDENTIFIER = com.poppoolIOS.poppool.DomainInterface; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SKIP_INSTALL = YES; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_INSTALL_MODULE = YES; + SWIFT_INSTALL_OBJC_HEADER = NO; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 058CC8EA2DB5377F0084221A /* Build configuration list for PBXProject "Domain" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 058CC8F52DB5377F0084221A /* Debug */, + 058CC8F62DB5377F0084221A /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 058CC8F72DB5377F0084221A /* Build configuration list for PBXNativeTarget "Domain" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 058CC8F82DB5377F0084221A /* Debug */, + 058CC8F92DB5377F0084221A /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 05C1D0DF2DB538A600508FFD /* Build configuration list for PBXNativeTarget "DomainInterface" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 05C1D0E02DB538A600508FFD /* Debug */, + 05C1D0E12DB538A600508FFD /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 058CC8E72DB5377F0084221A /* Project object */; +} diff --git a/Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/AdminUseCaseImpl.swift b/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/AdminUseCaseImpl.swift similarity index 100% rename from Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/AdminUseCaseImpl.swift rename to Poppool/DomainLayer/Domain/Domain/UseCaseImpl/AdminUseCaseImpl.swift diff --git a/Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/AuthAPIUseCaseImpl.swift b/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/AuthAPIUseCaseImpl.swift similarity index 100% rename from Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/AuthAPIUseCaseImpl.swift rename to Poppool/DomainLayer/Domain/Domain/UseCaseImpl/AuthAPIUseCaseImpl.swift diff --git a/Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/CommentAPIUseCaseImpl.swift b/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/CommentAPIUseCaseImpl.swift similarity index 100% rename from Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/CommentAPIUseCaseImpl.swift rename to Poppool/DomainLayer/Domain/Domain/UseCaseImpl/CommentAPIUseCaseImpl.swift diff --git a/Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/HomeAPIUseCaseImpl.swift b/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/HomeAPIUseCaseImpl.swift similarity index 100% rename from Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/HomeAPIUseCaseImpl.swift rename to Poppool/DomainLayer/Domain/Domain/UseCaseImpl/HomeAPIUseCaseImpl.swift diff --git a/Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/MapUseCaseImpl.swift b/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/MapUseCaseImpl.swift similarity index 100% rename from Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/MapUseCaseImpl.swift rename to Poppool/DomainLayer/Domain/Domain/UseCaseImpl/MapUseCaseImpl.swift diff --git a/Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/PopUpAPIUseCaseImpl.swift b/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/PopUpAPIUseCaseImpl.swift similarity index 100% rename from Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/PopUpAPIUseCaseImpl.swift rename to Poppool/DomainLayer/Domain/Domain/UseCaseImpl/PopUpAPIUseCaseImpl.swift diff --git a/Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/SignUpAPIUseCaseImpl.swift b/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/SignUpAPIUseCaseImpl.swift similarity index 100% rename from Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/SignUpAPIUseCaseImpl.swift rename to Poppool/DomainLayer/Domain/Domain/UseCaseImpl/SignUpAPIUseCaseImpl.swift diff --git a/Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/UserAPIUseCaseImpl.swift b/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/UserAPIUseCaseImpl.swift similarity index 100% rename from Poppool/Poppool/DomainLayer/Domain/UseCaseImpl/UserAPIUseCaseImpl.swift rename to Poppool/DomainLayer/Domain/Domain/UseCaseImpl/UserAPIUseCaseImpl.swift diff --git a/Poppool/Poppool/DomainLayer/DomainInterface/Entity/AdminResponse/AdminStore.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/AdminResponse/AdminStore.swift similarity index 100% rename from Poppool/Poppool/DomainLayer/DomainInterface/Entity/AdminResponse/AdminStore.swift rename to Poppool/DomainLayer/Domain/DomainInterface/Entity/AdminResponse/AdminStore.swift diff --git a/Poppool/Poppool/DomainLayer/DomainInterface/Entity/AdminResponse/AdminStoreDetail.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/AdminResponse/AdminStoreDetail.swift similarity index 100% rename from Poppool/Poppool/DomainLayer/DomainInterface/Entity/AdminResponse/AdminStoreDetail.swift rename to Poppool/DomainLayer/Domain/DomainInterface/Entity/AdminResponse/AdminStoreDetail.swift diff --git a/Poppool/Poppool/DomainLayer/DomainInterface/Entity/AdminResponse/Params/AdminParams.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/AdminResponse/Params/AdminParams.swift similarity index 100% rename from Poppool/Poppool/DomainLayer/DomainInterface/Entity/AdminResponse/Params/AdminParams.swift rename to Poppool/DomainLayer/Domain/DomainInterface/Entity/AdminResponse/Params/AdminParams.swift diff --git a/Poppool/Poppool/DomainLayer/DomainInterface/Entity/AuthResponse/CategoryResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/AuthResponse/CategoryResponse.swift similarity index 100% rename from Poppool/Poppool/DomainLayer/DomainInterface/Entity/AuthResponse/CategoryResponse.swift rename to Poppool/DomainLayer/Domain/DomainInterface/Entity/AuthResponse/CategoryResponse.swift diff --git a/Poppool/Poppool/DomainLayer/DomainInterface/Entity/AuthResponse/LoginResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/AuthResponse/LoginResponse.swift similarity index 100% rename from Poppool/Poppool/DomainLayer/DomainInterface/Entity/AuthResponse/LoginResponse.swift rename to Poppool/DomainLayer/Domain/DomainInterface/Entity/AuthResponse/LoginResponse.swift diff --git a/Poppool/Poppool/DomainLayer/DomainInterface/Entity/AuthResponse/PostTokenReissueResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/AuthResponse/PostTokenReissueResponse.swift similarity index 100% rename from Poppool/Poppool/DomainLayer/DomainInterface/Entity/AuthResponse/PostTokenReissueResponse.swift rename to Poppool/DomainLayer/Domain/DomainInterface/Entity/AuthResponse/PostTokenReissueResponse.swift diff --git a/Poppool/Poppool/DomainLayer/DomainInterface/Entity/HomeResponse/BannerPopUpStore.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/HomeResponse/BannerPopUpStore.swift similarity index 100% rename from Poppool/Poppool/DomainLayer/DomainInterface/Entity/HomeResponse/BannerPopUpStore.swift rename to Poppool/DomainLayer/Domain/DomainInterface/Entity/HomeResponse/BannerPopUpStore.swift diff --git a/Poppool/Poppool/DomainLayer/DomainInterface/Entity/HomeResponse/GetHomeInfoResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/HomeResponse/GetHomeInfoResponse.swift similarity index 100% rename from Poppool/Poppool/DomainLayer/DomainInterface/Entity/HomeResponse/GetHomeInfoResponse.swift rename to Poppool/DomainLayer/Domain/DomainInterface/Entity/HomeResponse/GetHomeInfoResponse.swift diff --git a/Poppool/Poppool/DomainLayer/DomainInterface/Entity/MapResponse/MapPopUpStore.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/MapResponse/MapPopUpStore.swift similarity index 100% rename from Poppool/Poppool/DomainLayer/DomainInterface/Entity/MapResponse/MapPopUpStore.swift rename to Poppool/DomainLayer/Domain/DomainInterface/Entity/MapResponse/MapPopUpStore.swift diff --git a/Poppool/Poppool/DomainLayer/DomainInterface/Entity/PopUpResponse/GetPopUpCommentResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetPopUpCommentResponse.swift similarity index 100% rename from Poppool/Poppool/DomainLayer/DomainInterface/Entity/PopUpResponse/GetPopUpCommentResponse.swift rename to Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetPopUpCommentResponse.swift diff --git a/Poppool/Poppool/DomainLayer/DomainInterface/Entity/PopUpResponse/GetPopUpDetailResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetPopUpDetailResponse.swift similarity index 100% rename from Poppool/Poppool/DomainLayer/DomainInterface/Entity/PopUpResponse/GetPopUpDetailResponse.swift rename to Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetPopUpDetailResponse.swift diff --git a/Poppool/Poppool/DomainLayer/DomainInterface/Entity/PopUpResponse/GetSearchBottomPopUpListResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetSearchBottomPopUpListResponse.swift similarity index 100% rename from Poppool/Poppool/DomainLayer/DomainInterface/Entity/PopUpResponse/GetSearchBottomPopUpListResponse.swift rename to Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetSearchBottomPopUpListResponse.swift diff --git a/Poppool/Poppool/DomainLayer/DomainInterface/Entity/PopUpResponse/GetSearchPopUpListResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetSearchPopUpListResponse.swift similarity index 100% rename from Poppool/Poppool/DomainLayer/DomainInterface/Entity/PopUpResponse/GetSearchPopUpListResponse.swift rename to Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetSearchPopUpListResponse.swift diff --git a/Poppool/Poppool/DomainLayer/DomainInterface/Entity/PopUpResponse/PopUpStoreResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/PopUpStoreResponse.swift similarity index 100% rename from Poppool/Poppool/DomainLayer/DomainInterface/Entity/PopUpResponse/PopUpStoreResponse.swift rename to Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/PopUpStoreResponse.swift diff --git a/Poppool/Poppool/DomainLayer/DomainInterface/Entity/UserResponse/GetBlockUserListResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetBlockUserListResponse.swift similarity index 100% rename from Poppool/Poppool/DomainLayer/DomainInterface/Entity/UserResponse/GetBlockUserListResponse.swift rename to Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetBlockUserListResponse.swift diff --git a/Poppool/Poppool/DomainLayer/DomainInterface/Entity/UserResponse/GetMyCommentResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetMyCommentResponse.swift similarity index 100% rename from Poppool/Poppool/DomainLayer/DomainInterface/Entity/UserResponse/GetMyCommentResponse.swift rename to Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetMyCommentResponse.swift diff --git a/Poppool/Poppool/DomainLayer/DomainInterface/Entity/UserResponse/GetMyPageResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetMyPageResponse.swift similarity index 100% rename from Poppool/Poppool/DomainLayer/DomainInterface/Entity/UserResponse/GetMyPageResponse.swift rename to Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetMyPageResponse.swift diff --git a/Poppool/Poppool/DomainLayer/DomainInterface/Entity/UserResponse/GetMyProfileResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetMyProfileResponse.swift similarity index 100% rename from Poppool/Poppool/DomainLayer/DomainInterface/Entity/UserResponse/GetMyProfileResponse.swift rename to Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetMyProfileResponse.swift diff --git a/Poppool/Poppool/DomainLayer/DomainInterface/Entity/UserResponse/GetNoticeDetailResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetNoticeDetailResponse.swift similarity index 100% rename from Poppool/Poppool/DomainLayer/DomainInterface/Entity/UserResponse/GetNoticeDetailResponse.swift rename to Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetNoticeDetailResponse.swift diff --git a/Poppool/Poppool/DomainLayer/DomainInterface/Entity/UserResponse/GetNoticeListResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetNoticeListResponse.swift similarity index 100% rename from Poppool/Poppool/DomainLayer/DomainInterface/Entity/UserResponse/GetNoticeListResponse.swift rename to Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetNoticeListResponse.swift diff --git a/Poppool/Poppool/DomainLayer/DomainInterface/Entity/UserResponse/GetOtherUserCommentedPopUpListResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetOtherUserCommentedPopUpListResponse.swift similarity index 100% rename from Poppool/Poppool/DomainLayer/DomainInterface/Entity/UserResponse/GetOtherUserCommentedPopUpListResponse.swift rename to Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetOtherUserCommentedPopUpListResponse.swift diff --git a/Poppool/Poppool/DomainLayer/DomainInterface/Entity/UserResponse/GetRecentPopUpResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetRecentPopUpResponse.swift similarity index 100% rename from Poppool/Poppool/DomainLayer/DomainInterface/Entity/UserResponse/GetRecentPopUpResponse.swift rename to Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetRecentPopUpResponse.swift diff --git a/Poppool/Poppool/DomainLayer/DomainInterface/Entity/UserResponse/GetWithdrawlListResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetWithdrawlListResponse.swift similarity index 100% rename from Poppool/Poppool/DomainLayer/DomainInterface/Entity/UserResponse/GetWithdrawlListResponse.swift rename to Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetWithdrawlListResponse.swift diff --git a/Poppool/Poppool/DomainLayer/DomainInterface/Repository/AdminRepository.swift b/Poppool/DomainLayer/Domain/DomainInterface/Repository/AdminRepository.swift similarity index 100% rename from Poppool/Poppool/DomainLayer/DomainInterface/Repository/AdminRepository.swift rename to Poppool/DomainLayer/Domain/DomainInterface/Repository/AdminRepository.swift diff --git a/Poppool/Poppool/DomainLayer/DomainInterface/Repository/AuthAPIRepository.swift b/Poppool/DomainLayer/Domain/DomainInterface/Repository/AuthAPIRepository.swift similarity index 100% rename from Poppool/Poppool/DomainLayer/DomainInterface/Repository/AuthAPIRepository.swift rename to Poppool/DomainLayer/Domain/DomainInterface/Repository/AuthAPIRepository.swift diff --git a/Poppool/Poppool/DomainLayer/DomainInterface/Repository/CommentAPIRepository.swift b/Poppool/DomainLayer/Domain/DomainInterface/Repository/CommentAPIRepository.swift similarity index 100% rename from Poppool/Poppool/DomainLayer/DomainInterface/Repository/CommentAPIRepository.swift rename to Poppool/DomainLayer/Domain/DomainInterface/Repository/CommentAPIRepository.swift diff --git a/Poppool/Poppool/DomainLayer/DomainInterface/Repository/HomeAPIRepository.swift b/Poppool/DomainLayer/Domain/DomainInterface/Repository/HomeAPIRepository.swift similarity index 100% rename from Poppool/Poppool/DomainLayer/DomainInterface/Repository/HomeAPIRepository.swift rename to Poppool/DomainLayer/Domain/DomainInterface/Repository/HomeAPIRepository.swift diff --git a/Poppool/Poppool/DomainLayer/DomainInterface/Repository/MapDirectionRepository.swift b/Poppool/DomainLayer/Domain/DomainInterface/Repository/MapDirectionRepository.swift similarity index 100% rename from Poppool/Poppool/DomainLayer/DomainInterface/Repository/MapDirectionRepository.swift rename to Poppool/DomainLayer/Domain/DomainInterface/Repository/MapDirectionRepository.swift diff --git a/Poppool/Poppool/DomainLayer/DomainInterface/Repository/MapRepository.swift b/Poppool/DomainLayer/Domain/DomainInterface/Repository/MapRepository.swift similarity index 100% rename from Poppool/Poppool/DomainLayer/DomainInterface/Repository/MapRepository.swift rename to Poppool/DomainLayer/Domain/DomainInterface/Repository/MapRepository.swift diff --git a/Poppool/Poppool/DomainLayer/DomainInterface/Repository/PopUpAPIRepository.swift b/Poppool/DomainLayer/Domain/DomainInterface/Repository/PopUpAPIRepository.swift similarity index 100% rename from Poppool/Poppool/DomainLayer/DomainInterface/Repository/PopUpAPIRepository.swift rename to Poppool/DomainLayer/Domain/DomainInterface/Repository/PopUpAPIRepository.swift diff --git a/Poppool/Poppool/DomainLayer/DomainInterface/Repository/SignUpRepository.swift b/Poppool/DomainLayer/Domain/DomainInterface/Repository/SignUpRepository.swift similarity index 100% rename from Poppool/Poppool/DomainLayer/DomainInterface/Repository/SignUpRepository.swift rename to Poppool/DomainLayer/Domain/DomainInterface/Repository/SignUpRepository.swift diff --git a/Poppool/Poppool/DomainLayer/DomainInterface/Repository/UserAPIRepository.swift b/Poppool/DomainLayer/Domain/DomainInterface/Repository/UserAPIRepository.swift similarity index 100% rename from Poppool/Poppool/DomainLayer/DomainInterface/Repository/UserAPIRepository.swift rename to Poppool/DomainLayer/Domain/DomainInterface/Repository/UserAPIRepository.swift diff --git a/Poppool/Poppool/DomainLayer/DomainInterface/UseCase/AdminUseCase.swift b/Poppool/DomainLayer/Domain/DomainInterface/UseCase/AdminUseCase.swift similarity index 100% rename from Poppool/Poppool/DomainLayer/DomainInterface/UseCase/AdminUseCase.swift rename to Poppool/DomainLayer/Domain/DomainInterface/UseCase/AdminUseCase.swift diff --git a/Poppool/Poppool/DomainLayer/DomainInterface/UseCase/AuthAPIUseCase.swift b/Poppool/DomainLayer/Domain/DomainInterface/UseCase/AuthAPIUseCase.swift similarity index 100% rename from Poppool/Poppool/DomainLayer/DomainInterface/UseCase/AuthAPIUseCase.swift rename to Poppool/DomainLayer/Domain/DomainInterface/UseCase/AuthAPIUseCase.swift diff --git a/Poppool/Poppool/DomainLayer/DomainInterface/UseCase/CommentAPIUseCase.swift b/Poppool/DomainLayer/Domain/DomainInterface/UseCase/CommentAPIUseCase.swift similarity index 100% rename from Poppool/Poppool/DomainLayer/DomainInterface/UseCase/CommentAPIUseCase.swift rename to Poppool/DomainLayer/Domain/DomainInterface/UseCase/CommentAPIUseCase.swift diff --git a/Poppool/Poppool/DomainLayer/DomainInterface/UseCase/HomeAPIUseCase.swift b/Poppool/DomainLayer/Domain/DomainInterface/UseCase/HomeAPIUseCase.swift similarity index 100% rename from Poppool/Poppool/DomainLayer/DomainInterface/UseCase/HomeAPIUseCase.swift rename to Poppool/DomainLayer/Domain/DomainInterface/UseCase/HomeAPIUseCase.swift diff --git a/Poppool/Poppool/DomainLayer/DomainInterface/UseCase/MapUseCase.swift b/Poppool/DomainLayer/Domain/DomainInterface/UseCase/MapUseCase.swift similarity index 100% rename from Poppool/Poppool/DomainLayer/DomainInterface/UseCase/MapUseCase.swift rename to Poppool/DomainLayer/Domain/DomainInterface/UseCase/MapUseCase.swift diff --git a/Poppool/Poppool/DomainLayer/DomainInterface/UseCase/PopUpAPIUseCase.swift b/Poppool/DomainLayer/Domain/DomainInterface/UseCase/PopUpAPIUseCase.swift similarity index 100% rename from Poppool/Poppool/DomainLayer/DomainInterface/UseCase/PopUpAPIUseCase.swift rename to Poppool/DomainLayer/Domain/DomainInterface/UseCase/PopUpAPIUseCase.swift diff --git a/Poppool/Poppool/DomainLayer/DomainInterface/UseCase/SignUpAPIUseCase.swift b/Poppool/DomainLayer/Domain/DomainInterface/UseCase/SignUpAPIUseCase.swift similarity index 100% rename from Poppool/Poppool/DomainLayer/DomainInterface/UseCase/SignUpAPIUseCase.swift rename to Poppool/DomainLayer/Domain/DomainInterface/UseCase/SignUpAPIUseCase.swift diff --git a/Poppool/Poppool/DomainLayer/DomainInterface/UseCase/UserAPIUseCase.swift b/Poppool/DomainLayer/Domain/DomainInterface/UseCase/UserAPIUseCase.swift similarity index 100% rename from Poppool/Poppool/DomainLayer/DomainInterface/UseCase/UserAPIUseCase.swift rename to Poppool/DomainLayer/Domain/DomainInterface/UseCase/UserAPIUseCase.swift diff --git a/Poppool/Poppool.xcodeproj/project.pbxproj b/Poppool/Poppool.xcodeproj/project.pbxproj index d87bba1e..ac472c55 100644 --- a/Poppool/Poppool.xcodeproj/project.pbxproj +++ b/Poppool/Poppool.xcodeproj/project.pbxproj @@ -373,7 +373,7 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; - CODE_SIGN_ENTITLEMENTS = Poppool/Poppool.entitlements; + CODE_SIGN_ENTITLEMENTS = Poppool/Resource/Poppool.entitlements; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; CODE_SIGN_STYLE = Manual; CURRENT_PROJECT_VERSION = 1; @@ -419,7 +419,7 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; - CODE_SIGN_ENTITLEMENTS = Poppool/Poppool.entitlements; + CODE_SIGN_ENTITLEMENTS = Poppool/Resource/Poppool.entitlements; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; CODE_SIGN_STYLE = Manual; CURRENT_PROJECT_VERSION = 1; diff --git a/Poppool/Poppool.xcworkspace/contents.xcworkspacedata b/Poppool/Poppool.xcworkspace/contents.xcworkspacedata new file mode 100644 index 00000000..5e470cb2 --- /dev/null +++ b/Poppool/Poppool.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/Poppool/Poppool.xcworkspace/xcshareddata/swiftpm/Package.resolved b/Poppool/Poppool.xcworkspace/xcshareddata/swiftpm/Package.resolved new file mode 100644 index 00000000..c64560f9 --- /dev/null +++ b/Poppool/Poppool.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -0,0 +1,168 @@ +{ + "originHash" : "893e9d5956a6d674d140654334c58c276c99001321206803c07c48415f2e6ac3", + "pins" : [ + { + "identity" : "alamofire", + "kind" : "remoteSourceControl", + "location" : "https://github.com/Alamofire/Alamofire.git", + "state" : { + "revision" : "513364f870f6bfc468f9d2ff0a95caccc10044c5", + "version" : "5.10.2" + } + }, + { + "identity" : "floatingpanel", + "kind" : "remoteSourceControl", + "location" : "https://github.com/scenee/FloatingPanel.git", + "state" : { + "revision" : "a1f20cedb14bd1ddc63e30a8dd10c85e8f1fa011", + "version" : "2.8.7" + } + }, + { + "identity" : "kakao-ios-sdk", + "kind" : "remoteSourceControl", + "location" : "https://github.com/kakao/kakao-ios-sdk.git", + "state" : { + "revision" : "bfe2fe42f730ccfe59e85f6e9eda2f4578e9a307", + "version" : "2.24.0" + } + }, + { + "identity" : "lottie-spm", + "kind" : "remoteSourceControl", + "location" : "https://github.com/airbnb/lottie-spm.git", + "state" : { + "revision" : "8c6edf4f0fa84fe9c058600a4295eb0c01661c69", + "version" : "4.5.1" + } + }, + { + "identity" : "pageboy", + "kind" : "remoteSourceControl", + "location" : "https://github.com/uias/Pageboy.git", + "state" : { + "revision" : "be0c1f6f1964cfb07f9d819b0863f2c3f255f612", + "version" : "4.2.0" + } + }, + { + "identity" : "panmodal", + "kind" : "remoteSourceControl", + "location" : "https://github.com/slackhq/PanModal.git", + "state" : { + "revision" : "b012aecb6b67a8e46369227f893c12544846613f", + "version" : "1.2.7" + } + }, + { + "identity" : "reactorkit", + "kind" : "remoteSourceControl", + "location" : "https://github.com/ReactorKit/ReactorKit.git", + "state" : { + "revision" : "8fa33f09c6f6621a2aa536d739956d53b84dd139", + "version" : "3.2.0" + } + }, + { + "identity" : "rxdatasources", + "kind" : "remoteSourceControl", + "location" : "https://github.com/RxSwiftCommunity/RxDataSources.git", + "state" : { + "revision" : "90c29b48b628479097fe775ed1966d75ac374518", + "version" : "5.0.2" + } + }, + { + "identity" : "rxgesture", + "kind" : "remoteSourceControl", + "location" : "https://github.com/RxSwiftCommunity/RxGesture.git", + "state" : { + "revision" : "1b137c576b4aaaab949235752278956697c9e4a0", + "version" : "4.0.4" + } + }, + { + "identity" : "rxkeyboard", + "kind" : "remoteSourceControl", + "location" : "https://github.com/RxSwiftCommunity/RxKeyboard.git", + "state" : { + "revision" : "63f6377975c962a1d89f012a6f1e5bebb2c502b7", + "version" : "2.0.1" + } + }, + { + "identity" : "rxswift", + "kind" : "remoteSourceControl", + "location" : "https://github.com/ReactiveX/RxSwift.git", + "state" : { + "revision" : "5dd1907d64f0d36f158f61a466bab75067224893", + "version" : "6.9.0" + } + }, + { + "identity" : "snapkit", + "kind" : "remoteSourceControl", + "location" : "https://github.com/SnapKit/SnapKit.git", + "state" : { + "revision" : "2842e6e84e82eb9a8dac0100ca90d9444b0307f4", + "version" : "5.7.1" + } + }, + { + "identity" : "spm-nmapsgeometry", + "kind" : "remoteSourceControl", + "location" : "https://github.com/navermaps/SPM-NMapsGeometry.git", + "state" : { + "revision" : "436d5e2e684f557faf5ef5862fd6633a42d7af11", + "version" : "1.0.2" + } + }, + { + "identity" : "spm-nmapsmap", + "kind" : "remoteSourceControl", + "location" : "https://github.com/navermaps/SPM-NMapsMap", + "state" : { + "revision" : "ad89e53fdfec3b8d8994280fb0414b5a7b1c3e8e", + "version" : "3.21.0" + } + }, + { + "identity" : "swiftsoup", + "kind" : "remoteSourceControl", + "location" : "https://github.com/scinfu/SwiftSoup", + "state" : { + "revision" : "bba848db50462894e7fc0891d018dfecad4ef11e", + "version" : "2.8.7" + } + }, + { + "identity" : "tabman", + "kind" : "remoteSourceControl", + "location" : "https://github.com/uias/Tabman.git", + "state" : { + "revision" : "3b2213290eb93e55bb50b49d1a179033005c11ab", + "version" : "3.2.0" + } + }, + { + "identity" : "then", + "kind" : "remoteSourceControl", + "location" : "https://github.com/devxoul/Then", + "state" : { + "revision" : "d41ef523faef0f911369f79c0b96815d9dbb6d7a", + "version" : "3.0.0" + } + }, + { + "identity" : "weakmaptable", + "kind" : "remoteSourceControl", + "location" : "https://github.com/ReactorKit/WeakMapTable.git", + "state" : { + "revision" : "cb05d64cef2bbf51e85c53adee937df46540a74e", + "version" : "1.2.1" + } + } + ], + "version" : 3 +} diff --git a/Poppool/Poppool/Poppool.entitlements b/Poppool/Poppool/Resource/Poppool.entitlements similarity index 100% rename from Poppool/Poppool/Poppool.entitlements rename to Poppool/Poppool/Resource/Poppool.entitlements diff --git a/Poppool/PresentationLayer/Presentation/Presentation.xcodeproj/project.pbxproj b/Poppool/PresentationLayer/Presentation/Presentation.xcodeproj/project.pbxproj new file mode 100644 index 00000000..f58fe33f --- /dev/null +++ b/Poppool/PresentationLayer/Presentation/Presentation.xcodeproj/project.pbxproj @@ -0,0 +1,352 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 77; + objects = { + +/* Begin PBXFileReference section */ + 058CC9042DB537960084221A /* Presentation.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Presentation.framework; sourceTree = BUILT_PRODUCTS_DIR; }; +/* End PBXFileReference section */ + +/* Begin PBXFileSystemSynchronizedRootGroup section */ + 058CC9062DB537960084221A /* Presentation */ = { + isa = PBXFileSystemSynchronizedRootGroup; + path = Presentation; + sourceTree = ""; + }; +/* End PBXFileSystemSynchronizedRootGroup section */ + +/* Begin PBXFrameworksBuildPhase section */ + 058CC9012DB537960084221A /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 058CC8FA2DB537960084221A = { + isa = PBXGroup; + children = ( + 058CC9062DB537960084221A /* Presentation */, + 058CC9052DB537960084221A /* Products */, + ); + sourceTree = ""; + }; + 058CC9052DB537960084221A /* Products */ = { + isa = PBXGroup; + children = ( + 058CC9042DB537960084221A /* Presentation.framework */, + ); + name = Products; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + 058CC8FF2DB537960084221A /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + 058CC9032DB537960084221A /* Presentation */ = { + isa = PBXNativeTarget; + buildConfigurationList = 058CC90B2DB537960084221A /* Build configuration list for PBXNativeTarget "Presentation" */; + buildPhases = ( + 058CC8FF2DB537960084221A /* Headers */, + 058CC9002DB537960084221A /* Sources */, + 058CC9012DB537960084221A /* Frameworks */, + 058CC9022DB537960084221A /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + fileSystemSynchronizedGroups = ( + 058CC9062DB537960084221A /* Presentation */, + ); + name = Presentation; + packageProductDependencies = ( + ); + productName = Presentation; + productReference = 058CC9042DB537960084221A /* Presentation.framework */; + productType = "com.apple.product-type.framework"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 058CC8FB2DB537960084221A /* Project object */ = { + isa = PBXProject; + attributes = { + BuildIndependentTargetsInParallel = 1; + LastSwiftUpdateCheck = 1630; + LastUpgradeCheck = 1630; + TargetAttributes = { + 058CC9032DB537960084221A = { + CreatedOnToolsVersion = 16.3; + }; + }; + }; + buildConfigurationList = 058CC8FE2DB537960084221A /* Build configuration list for PBXProject "Presentation" */; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 058CC8FA2DB537960084221A; + minimizedProjectReferenceProxies = 1; + preferredProjectObjectVersion = 77; + productRefGroup = 058CC9052DB537960084221A /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 058CC9032DB537960084221A /* Presentation */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 058CC9022DB537960084221A /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 058CC9002DB537960084221A /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + 058CC9092DB537960084221A /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_C_LANGUAGE_STANDARD = gnu17; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 18.4; + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)"; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + 058CC90A2DB537960084221A /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_C_LANGUAGE_STANDARD = gnu17; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 18.4; + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + SDKROOT = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + 058CC90C2DB537960084221A /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUILD_LIBRARY_FOR_DISTRIBUTION = YES; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_MODULE_VERIFIER = YES; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_KEY_NSHumanReadableCopyright = ""; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++"; + MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu17 gnu++20"; + PRODUCT_BUNDLE_IDENTIFIER = com.poppoolIOS.poppool.Presentation; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SKIP_INSTALL = YES; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_INSTALL_MODULE = YES; + SWIFT_INSTALL_OBJC_HEADER = NO; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 058CC90D2DB537960084221A /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUILD_LIBRARY_FOR_DISTRIBUTION = YES; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_MODULE_VERIFIER = YES; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_KEY_NSHumanReadableCopyright = ""; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++"; + MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu17 gnu++20"; + PRODUCT_BUNDLE_IDENTIFIER = com.poppoolIOS.poppool.Presentation; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SKIP_INSTALL = YES; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_INSTALL_MODULE = YES; + SWIFT_INSTALL_OBJC_HEADER = NO; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 058CC8FE2DB537960084221A /* Build configuration list for PBXProject "Presentation" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 058CC9092DB537960084221A /* Debug */, + 058CC90A2DB537960084221A /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 058CC90B2DB537960084221A /* Build configuration list for PBXNativeTarget "Presentation" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 058CC90C2DB537960084221A /* Debug */, + 058CC90D2DB537960084221A /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 058CC8FB2DB537960084221A /* Project object */; +} diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Components/PPButton.swift b/Poppool/PresentationLayer/Presentation/Presentation/Components/PPButton.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Components/PPButton.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Components/PPButton.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Components/PPCancelHeaderView.swift b/Poppool/PresentationLayer/Presentation/Presentation/Components/PPCancelHeaderView.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Components/PPCancelHeaderView.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Components/PPCancelHeaderView.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Components/PPLabel.swift b/Poppool/PresentationLayer/Presentation/Presentation/Components/PPLabel.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Components/PPLabel.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Components/PPLabel.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Components/PPPicker.swift b/Poppool/PresentationLayer/Presentation/Presentation/Components/PPPicker.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Components/PPPicker.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Components/PPPicker.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Components/PPProgressIndicator/PPProgressIndicator.swift b/Poppool/PresentationLayer/Presentation/Presentation/Components/PPProgressIndicator/PPProgressIndicator.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Components/PPProgressIndicator/PPProgressIndicator.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Components/PPProgressIndicator/PPProgressIndicator.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Components/PPProgressIndicator/PPProgressView.swift b/Poppool/PresentationLayer/Presentation/Presentation/Components/PPProgressIndicator/PPProgressView.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Components/PPProgressIndicator/PPProgressView.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Components/PPProgressIndicator/PPProgressView.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Components/PPReturnHeaderView.swift b/Poppool/PresentationLayer/Presentation/Presentation/Components/PPReturnHeaderView.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Components/PPReturnHeaderView.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Components/PPReturnHeaderView.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Components/PPSegmentedControl.swift b/Poppool/PresentationLayer/Presentation/Presentation/Components/PPSegmentedControl.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Components/PPSegmentedControl.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Components/PPSegmentedControl.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminBottomSheet/AdminBottomSheetReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminBottomSheet/AdminBottomSheetReactor.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminBottomSheet/AdminBottomSheetReactor.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminBottomSheet/AdminBottomSheetReactor.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminBottomSheet/AdminBottomSheetView.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminBottomSheet/AdminBottomSheetView.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminBottomSheet/AdminBottomSheetView.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminBottomSheet/AdminBottomSheetView.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminBottomSheet/AdminBottomSheetViewController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminBottomSheet/AdminBottomSheetViewController.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminBottomSheet/AdminBottomSheetViewController.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminBottomSheet/AdminBottomSheetViewController.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminReactor.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminReactor.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminReactor.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminRegister/PopUpImagesCollectionView.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminRegister/PopUpImagesCollectionView.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminRegister/PopUpImagesCollectionView.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminRegister/PopUpImagesCollectionView.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterReactor.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterReactor.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterReactor.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterView.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterView.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterView.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterView.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterViewController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterViewController.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterViewController.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterViewController.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminStoreCell.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminStoreCell.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminStoreCell.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminStoreCell.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminView.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminView.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminView.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminView.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminViewController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminViewController.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/AdminViewController.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminViewController.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/ImageCell.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/ImageCell.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Admin/ImageCell.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/ImageCell.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentCheck/CommentCheckController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/CommentCheck/CommentCheckController.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentCheck/CommentCheckController.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/CommentCheck/CommentCheckController.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentCheck/CommentCheckReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/CommentCheck/CommentCheckReactor.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentCheck/CommentCheckReactor.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/CommentCheck/CommentCheckReactor.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentCheck/CommentCheckView.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/CommentCheck/CommentCheckView.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentCheck/CommentCheckView.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/CommentCheck/CommentCheckView.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentDetail/CommentDetailController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/CommentDetail/CommentDetailController.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentDetail/CommentDetailController.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/CommentDetail/CommentDetailController.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentDetail/CommentDetailReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/CommentDetail/CommentDetailReactor.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentDetail/CommentDetailReactor.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/CommentDetail/CommentDetailReactor.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentDetail/View/CommentDetailContentSection/CommentDetailContentSection.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/CommentDetail/View/CommentDetailContentSection/CommentDetailContentSection.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentDetail/View/CommentDetailContentSection/CommentDetailContentSection.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/CommentDetail/View/CommentDetailContentSection/CommentDetailContentSection.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentDetail/View/CommentDetailContentSection/CommentDetailContentSectionCell.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/CommentDetail/View/CommentDetailContentSection/CommentDetailContentSectionCell.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentDetail/View/CommentDetailContentSection/CommentDetailContentSectionCell.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/CommentDetail/View/CommentDetailContentSection/CommentDetailContentSectionCell.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentDetail/View/CommentDetailImageSection.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/CommentDetail/View/CommentDetailImageSection.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentDetail/View/CommentDetailImageSection.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/CommentDetail/View/CommentDetailImageSection.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentDetail/View/CommentDetailView.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/CommentDetail/View/CommentDetailView.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentDetail/View/CommentDetailView.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/CommentDetail/View/CommentDetailView.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentInfoMenu/CommentMyMenu/CommentMyMenuController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/CommentInfoMenu/CommentMyMenu/CommentMyMenuController.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentInfoMenu/CommentMyMenu/CommentMyMenuController.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/CommentInfoMenu/CommentMyMenu/CommentMyMenuController.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentInfoMenu/CommentMyMenu/CommentMyMenuReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/CommentInfoMenu/CommentMyMenu/CommentMyMenuReactor.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentInfoMenu/CommentMyMenu/CommentMyMenuReactor.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/CommentInfoMenu/CommentMyMenu/CommentMyMenuReactor.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentInfoMenu/CommentMyMenu/CommentMyMenuView.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/CommentInfoMenu/CommentMyMenu/CommentMyMenuView.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentInfoMenu/CommentMyMenu/CommentMyMenuView.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/CommentInfoMenu/CommentMyMenu/CommentMyMenuView.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentInfoMenu/CommentUserInfo/CommentUserInfoController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/CommentInfoMenu/CommentUserInfo/CommentUserInfoController.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentInfoMenu/CommentUserInfo/CommentUserInfoController.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/CommentInfoMenu/CommentUserInfo/CommentUserInfoController.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentInfoMenu/CommentUserInfo/CommentUserInfoReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/CommentInfoMenu/CommentUserInfo/CommentUserInfoReactor.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentInfoMenu/CommentUserInfo/CommentUserInfoReactor.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/CommentInfoMenu/CommentUserInfo/CommentUserInfoReactor.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentInfoMenu/CommentUserInfo/CommentUserInfoView.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/CommentInfoMenu/CommentUserInfo/CommentUserInfoView.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentInfoMenu/CommentUserInfo/CommentUserInfoView.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/CommentInfoMenu/CommentUserInfo/CommentUserInfoView.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentList/CommentListController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/CommentList/CommentListController.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentList/CommentListController.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/CommentList/CommentListController.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentList/CommentListReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/CommentList/CommentListReactor.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentList/CommentListReactor.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/CommentList/CommentListReactor.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentList/View/CommentListTitleSection/CommentListTitleSection.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/CommentList/View/CommentListTitleSection/CommentListTitleSection.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentList/View/CommentListTitleSection/CommentListTitleSection.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/CommentList/View/CommentListTitleSection/CommentListTitleSection.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentList/View/CommentListTitleSection/CommentListTitleSectionCell.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/CommentList/View/CommentListTitleSection/CommentListTitleSectionCell.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentList/View/CommentListTitleSection/CommentListTitleSectionCell.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/CommentList/View/CommentListTitleSection/CommentListTitleSectionCell.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentList/View/CommentListView.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/CommentList/View/CommentListView.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentList/View/CommentListView.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/CommentList/View/CommentListView.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentSelected/CommentSelectedController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/CommentSelected/CommentSelectedController.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentSelected/CommentSelectedController.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/CommentSelected/CommentSelectedController.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentSelected/CommentSelectedReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/CommentSelected/CommentSelectedReactor.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentSelected/CommentSelectedReactor.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/CommentSelected/CommentSelectedReactor.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentSelected/CommentSelectedView.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/CommentSelected/CommentSelectedView.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentSelected/CommentSelectedView.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/CommentSelected/CommentSelectedView.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentUserBlock/CommentUserBlockController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/CommentUserBlock/CommentUserBlockController.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentUserBlock/CommentUserBlockController.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/CommentUserBlock/CommentUserBlockController.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentUserBlock/CommentUserBlockReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/CommentUserBlock/CommentUserBlockReactor.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentUserBlock/CommentUserBlockReactor.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/CommentUserBlock/CommentUserBlockReactor.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentUserBlock/CommentUserBlockView.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/CommentUserBlock/CommentUserBlockView.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/CommentUserBlock/CommentUserBlockView.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/CommentUserBlock/CommentUserBlockView.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/InstaComment/InstaCommentAddController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/InstaComment/InstaCommentAddController.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/InstaComment/InstaCommentAddController.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/InstaComment/InstaCommentAddController.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/InstaComment/InstaCommentAddReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/InstaComment/InstaCommentAddReactor.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/InstaComment/InstaCommentAddReactor.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/InstaComment/InstaCommentAddReactor.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/InstaComment/View/InstaCommentAddView.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/InstaComment/View/InstaCommentAddView.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/InstaComment/View/InstaCommentAddView.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/InstaComment/View/InstaCommentAddView.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/InstaComment/View/InstaGuideSection/InstaGuideChildSection/InstaGuideChildSection.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/InstaComment/View/InstaGuideSection/InstaGuideChildSection/InstaGuideChildSection.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/InstaComment/View/InstaGuideSection/InstaGuideChildSection/InstaGuideChildSection.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/InstaComment/View/InstaGuideSection/InstaGuideChildSection/InstaGuideChildSection.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/InstaComment/View/InstaGuideSection/InstaGuideChildSection/InstaGuideChildSectionCell.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/InstaComment/View/InstaGuideSection/InstaGuideChildSection/InstaGuideChildSectionCell.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/InstaComment/View/InstaGuideSection/InstaGuideChildSection/InstaGuideChildSectionCell.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/InstaComment/View/InstaGuideSection/InstaGuideChildSection/InstaGuideChildSectionCell.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/InstaComment/View/InstaGuideSection/InstaGuideSection/InstaGuideSection.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/InstaComment/View/InstaGuideSection/InstaGuideSection/InstaGuideSection.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/InstaComment/View/InstaGuideSection/InstaGuideSection/InstaGuideSection.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/InstaComment/View/InstaGuideSection/InstaGuideSection/InstaGuideSection.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/InstaComment/View/InstaGuideSection/InstaGuideSection/InstaGuideSectionCell.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/InstaComment/View/InstaGuideSection/InstaGuideSection/InstaGuideSectionCell.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/InstaComment/View/InstaGuideSection/InstaGuideSection/InstaGuideSectionCell.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/InstaComment/View/InstaGuideSection/InstaGuideSection/InstaGuideSectionCell.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/NormalCommentAdd/NormalCommentAddController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/NormalCommentAdd/NormalCommentAddController.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/NormalCommentAdd/NormalCommentAddController.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/NormalCommentAdd/NormalCommentAddController.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/NormalCommentAdd/NormalCommentAddReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/NormalCommentAdd/NormalCommentAddReactor.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/NormalCommentAdd/NormalCommentAddReactor.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/NormalCommentAdd/NormalCommentAddReactor.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/NormalCommentAdd/View/AddCommentDescriptionSection/AddCommentDescriptionSection.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/NormalCommentAdd/View/AddCommentDescriptionSection/AddCommentDescriptionSection.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/NormalCommentAdd/View/AddCommentDescriptionSection/AddCommentDescriptionSection.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/NormalCommentAdd/View/AddCommentDescriptionSection/AddCommentDescriptionSection.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/NormalCommentAdd/View/AddCommentDescriptionSection/AddCommentDescriptionSectionCell.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/NormalCommentAdd/View/AddCommentDescriptionSection/AddCommentDescriptionSectionCell.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/NormalCommentAdd/View/AddCommentDescriptionSection/AddCommentDescriptionSectionCell.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/NormalCommentAdd/View/AddCommentDescriptionSection/AddCommentDescriptionSectionCell.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/NormalCommentAdd/View/AddCommentImageSection/AddCommentImageSection.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/NormalCommentAdd/View/AddCommentImageSection/AddCommentImageSection.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/NormalCommentAdd/View/AddCommentImageSection/AddCommentImageSection.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/NormalCommentAdd/View/AddCommentImageSection/AddCommentImageSection.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/NormalCommentAdd/View/AddCommentImageSection/AddCommentImageSectionCell.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/NormalCommentAdd/View/AddCommentImageSection/AddCommentImageSectionCell.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/NormalCommentAdd/View/AddCommentImageSection/AddCommentImageSectionCell.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/NormalCommentAdd/View/AddCommentImageSection/AddCommentImageSectionCell.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/NormalCommentAdd/View/AddCommentSection/AddCommentSection.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/NormalCommentAdd/View/AddCommentSection/AddCommentSection.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/NormalCommentAdd/View/AddCommentSection/AddCommentSection.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/NormalCommentAdd/View/AddCommentSection/AddCommentSection.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/NormalCommentAdd/View/AddCommentSection/AddCommentSectionCell.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/NormalCommentAdd/View/AddCommentSection/AddCommentSectionCell.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/NormalCommentAdd/View/AddCommentSection/AddCommentSectionCell.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/NormalCommentAdd/View/AddCommentSection/AddCommentSectionCell.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/NormalCommentAdd/View/AddCommentTitleSection/AddCommentTitleSection.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/NormalCommentAdd/View/AddCommentTitleSection/AddCommentTitleSection.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/NormalCommentAdd/View/AddCommentTitleSection/AddCommentTitleSection.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/NormalCommentAdd/View/AddCommentTitleSection/AddCommentTitleSection.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/NormalCommentAdd/View/AddCommentTitleSection/AddCommentTitleSectionCell.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/NormalCommentAdd/View/AddCommentTitleSection/AddCommentTitleSectionCell.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/NormalCommentAdd/View/AddCommentTitleSection/AddCommentTitleSectionCell.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/NormalCommentAdd/View/AddCommentTitleSection/AddCommentTitleSectionCell.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/NormalCommentAdd/View/NormalCommentAddView.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/NormalCommentAdd/View/NormalCommentAddView.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/NormalCommentAdd/View/NormalCommentAddView.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/NormalCommentAdd/View/NormalCommentAddView.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/NormalCommentEdit/NormalCommentEditController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/NormalCommentEdit/NormalCommentEditController.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/NormalCommentEdit/NormalCommentEditController.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/NormalCommentEdit/NormalCommentEditController.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/NormalCommentEdit/NormalCommentEditReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/NormalCommentEdit/NormalCommentEditReactor.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/NormalCommentEdit/NormalCommentEditReactor.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/NormalCommentEdit/NormalCommentEditReactor.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/NormalCommentEdit/NormalCommentEditView.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/NormalCommentEdit/NormalCommentEditView.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/NormalCommentEdit/NormalCommentEditView.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/NormalCommentEdit/NormalCommentEditView.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/OtherUserComment/OtherUserCommentController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/OtherUserComment/OtherUserCommentController.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/OtherUserComment/OtherUserCommentController.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/OtherUserComment/OtherUserCommentController.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/OtherUserComment/OtherUserCommentReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/OtherUserComment/OtherUserCommentReactor.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/OtherUserComment/OtherUserCommentReactor.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/OtherUserComment/OtherUserCommentReactor.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/OtherUserComment/View/OtherUserCommentSection/OtherUserCommentSection.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/OtherUserComment/View/OtherUserCommentSection/OtherUserCommentSection.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/OtherUserComment/View/OtherUserCommentSection/OtherUserCommentSection.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/OtherUserComment/View/OtherUserCommentSection/OtherUserCommentSection.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/OtherUserComment/View/OtherUserCommentSection/OtherUserCommentSectionCell.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/OtherUserComment/View/OtherUserCommentSection/OtherUserCommentSectionCell.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/OtherUserComment/View/OtherUserCommentSection/OtherUserCommentSectionCell.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/OtherUserComment/View/OtherUserCommentSection/OtherUserCommentSectionCell.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/OtherUserComment/View/OtherUserCommentView.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/OtherUserComment/View/OtherUserCommentView.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Comment/OtherUserComment/View/OtherUserCommentView.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/OtherUserComment/View/OtherUserCommentView.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/DetailController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Detail/DetailController.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/DetailController.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Detail/DetailController.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/DetailReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Detail/DetailReactor.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/DetailReactor.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Detail/DetailReactor.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/View/DetailCommentSection/DetailCommentImageCell.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Detail/View/DetailCommentSection/DetailCommentImageCell.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/View/DetailCommentSection/DetailCommentImageCell.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Detail/View/DetailCommentSection/DetailCommentImageCell.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/View/DetailCommentSection/DetailCommentProfileView.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Detail/View/DetailCommentSection/DetailCommentProfileView.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/View/DetailCommentSection/DetailCommentProfileView.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Detail/View/DetailCommentSection/DetailCommentProfileView.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/View/DetailCommentSection/DetailCommentSection.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Detail/View/DetailCommentSection/DetailCommentSection.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/View/DetailCommentSection/DetailCommentSection.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Detail/View/DetailCommentSection/DetailCommentSection.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/View/DetailCommentSection/DetailCommentSectionCell.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Detail/View/DetailCommentSection/DetailCommentSectionCell.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/View/DetailCommentSection/DetailCommentSectionCell.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Detail/View/DetailCommentSection/DetailCommentSectionCell.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/View/DetailCommentTitleSection/DetailCommentTitleSection.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Detail/View/DetailCommentTitleSection/DetailCommentTitleSection.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/View/DetailCommentTitleSection/DetailCommentTitleSection.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Detail/View/DetailCommentTitleSection/DetailCommentTitleSection.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/View/DetailCommentTitleSection/DetailCommentTitleSectionCell.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Detail/View/DetailCommentTitleSection/DetailCommentTitleSectionCell.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/View/DetailCommentTitleSection/DetailCommentTitleSectionCell.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Detail/View/DetailCommentTitleSection/DetailCommentTitleSectionCell.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/View/DetailContentSection/DetailContentSection.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Detail/View/DetailContentSection/DetailContentSection.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/View/DetailContentSection/DetailContentSection.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Detail/View/DetailContentSection/DetailContentSection.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/View/DetailContentSection/DetailContentSectionCell.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Detail/View/DetailContentSection/DetailContentSectionCell.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/View/DetailContentSection/DetailContentSectionCell.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Detail/View/DetailContentSection/DetailContentSectionCell.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/View/DetailEmptyCommetSection/DetailEmptyCommetSection.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Detail/View/DetailEmptyCommetSection/DetailEmptyCommetSection.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/View/DetailEmptyCommetSection/DetailEmptyCommetSection.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Detail/View/DetailEmptyCommetSection/DetailEmptyCommetSection.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/View/DetailEmptyCommetSection/DetailEmptyCommetSectionCell.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Detail/View/DetailEmptyCommetSection/DetailEmptyCommetSectionCell.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/View/DetailEmptyCommetSection/DetailEmptyCommetSectionCell.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Detail/View/DetailEmptyCommetSection/DetailEmptyCommetSectionCell.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/View/DetailInfoSection/DetailInfoSection.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Detail/View/DetailInfoSection/DetailInfoSection.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/View/DetailInfoSection/DetailInfoSection.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Detail/View/DetailInfoSection/DetailInfoSection.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/View/DetailInfoSection/DetailInfoSectionCell.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Detail/View/DetailInfoSection/DetailInfoSectionCell.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/View/DetailInfoSection/DetailInfoSectionCell.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Detail/View/DetailInfoSection/DetailInfoSectionCell.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/View/DetailSimilarSection/DetailSimilarSection.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Detail/View/DetailSimilarSection/DetailSimilarSection.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/View/DetailSimilarSection/DetailSimilarSection.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Detail/View/DetailSimilarSection/DetailSimilarSection.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/View/DetailSimilarSection/DetailSimilarSectionCell.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Detail/View/DetailSimilarSection/DetailSimilarSectionCell.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/View/DetailSimilarSection/DetailSimilarSectionCell.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Detail/View/DetailSimilarSection/DetailSimilarSectionCell.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/View/DetailTitleSection/DetailTitleSection.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Detail/View/DetailTitleSection/DetailTitleSection.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/View/DetailTitleSection/DetailTitleSection.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Detail/View/DetailTitleSection/DetailTitleSection.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/View/DetailTitleSection/DetailTitleSectionCell.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Detail/View/DetailTitleSection/DetailTitleSectionCell.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/View/DetailTitleSection/DetailTitleSectionCell.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Detail/View/DetailTitleSection/DetailTitleSectionCell.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/View/DetailView.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Detail/View/DetailView.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Detail/View/DetailView.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Detail/View/DetailView.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/List/HomeListController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Home/List/HomeListController.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/List/HomeListController.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Home/List/HomeListController.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/List/HomeListReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Home/List/HomeListReactor.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/List/HomeListReactor.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Home/List/HomeListReactor.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/List/HomePopUpType.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Home/List/HomePopUpType.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/List/HomePopUpType.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Home/List/HomePopUpType.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/List/View/HomeCardGridSection.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Home/List/View/HomeCardGridSection.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/List/View/HomeCardGridSection.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Home/List/View/HomeCardGridSection.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/List/View/HomeListView.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Home/List/View/HomeListView.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/List/View/HomeListView.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Home/List/View/HomeListView.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/HomeController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Home/Main/HomeController.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/HomeController.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Home/Main/HomeController.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/HomeReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Home/Main/HomeReactor.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/HomeReactor.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Home/Main/HomeReactor.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/View/HomeCardSection/HomeCardSection.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Home/Main/View/HomeCardSection/HomeCardSection.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/View/HomeCardSection/HomeCardSection.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Home/Main/View/HomeCardSection/HomeCardSection.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/View/HomeCardSection/HomeCardSectionCell.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Home/Main/View/HomeCardSection/HomeCardSectionCell.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/View/HomeCardSection/HomeCardSectionCell.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Home/Main/View/HomeCardSection/HomeCardSectionCell.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/View/HomeHeaderView.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Home/Main/View/HomeHeaderView.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/View/HomeHeaderView.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Home/Main/View/HomeHeaderView.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/View/HomePopularCardSection/HomePopularCardSection.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Home/Main/View/HomePopularCardSection/HomePopularCardSection.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/View/HomePopularCardSection/HomePopularCardSection.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Home/Main/View/HomePopularCardSection/HomePopularCardSection.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/View/HomePopularCardSection/HomePopularCardSectionCell.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Home/Main/View/HomePopularCardSection/HomePopularCardSectionCell.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/View/HomePopularCardSection/HomePopularCardSectionCell.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Home/Main/View/HomePopularCardSection/HomePopularCardSectionCell.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/View/HomeTitleSection/HomeTitleSection.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Home/Main/View/HomeTitleSection/HomeTitleSection.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/View/HomeTitleSection/HomeTitleSection.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Home/Main/View/HomeTitleSection/HomeTitleSection.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/View/HomeTitleSection/HomeTitleSectionCell.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Home/Main/View/HomeTitleSection/HomeTitleSectionCell.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/View/HomeTitleSection/HomeTitleSectionCell.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Home/Main/View/HomeTitleSection/HomeTitleSectionCell.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/View/HomeView.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Home/Main/View/HomeView.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/View/HomeView.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Home/Main/View/HomeView.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/View/ImageBannerSection/ImageBannerChildSection/ImageBannerChildSection.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Home/Main/View/ImageBannerSection/ImageBannerChildSection/ImageBannerChildSection.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/View/ImageBannerSection/ImageBannerChildSection/ImageBannerChildSection.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Home/Main/View/ImageBannerSection/ImageBannerChildSection/ImageBannerChildSection.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/View/ImageBannerSection/ImageBannerChildSection/ImageBannerChildSectionCell.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Home/Main/View/ImageBannerSection/ImageBannerChildSection/ImageBannerChildSectionCell.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/View/ImageBannerSection/ImageBannerChildSection/ImageBannerChildSectionCell.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Home/Main/View/ImageBannerSection/ImageBannerChildSection/ImageBannerChildSectionCell.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/View/ImageBannerSection/ImageBannerSection/ImageBannerSection.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Home/Main/View/ImageBannerSection/ImageBannerSection/ImageBannerSection.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/View/ImageBannerSection/ImageBannerSection/ImageBannerSection.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Home/Main/View/ImageBannerSection/ImageBannerSection/ImageBannerSection.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/View/ImageBannerSection/ImageBannerSection/ImageBannerSectionCell.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Home/Main/View/ImageBannerSection/ImageBannerSection/ImageBannerSectionCell.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/View/ImageBannerSection/ImageBannerSection/ImageBannerSectionCell.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Home/Main/View/ImageBannerSection/ImageBannerSection/ImageBannerSectionCell.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/View/SectionBackGroundDecorationView.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Home/Main/View/SectionBackGroundDecorationView.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/View/SectionBackGroundDecorationView.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Home/Main/View/SectionBackGroundDecorationView.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/View/SpacingSection/SpacingSection.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Home/Main/View/SpacingSection/SpacingSection.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/View/SpacingSection/SpacingSection.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Home/Main/View/SpacingSection/SpacingSection.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/View/SpacingSection/SpacingSectionCell.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Home/Main/View/SpacingSection/SpacingSectionCell.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Home/Main/View/SpacingSection/SpacingSectionCell.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Home/Main/View/SpacingSection/SpacingSectionCell.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/ImageDetail/ImageDetailController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/ImageDetail/ImageDetailController.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/ImageDetail/ImageDetailController.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/ImageDetail/ImageDetailController.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/ImageDetail/ImageDetailReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/ImageDetail/ImageDetailReactor.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/ImageDetail/ImageDetailReactor.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/ImageDetail/ImageDetailReactor.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/ImageDetail/ImageDetailView.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/ImageDetail/ImageDetailView.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/ImageDetail/ImageDetailView.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/ImageDetail/ImageDetailView.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Login/LastLoginView.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Login/LastLoginView.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Login/LastLoginView.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Login/LastLoginView.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Login/Main/LoginController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Login/Main/LoginController.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Login/Main/LoginController.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Login/Main/LoginController.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Login/Main/LoginReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Login/Main/LoginReactor.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Login/Main/LoginReactor.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Login/Main/LoginReactor.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Login/Main/LoginView.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Login/Main/LoginView.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Login/Main/LoginView.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Login/Main/LoginView.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Login/Sub/SubLoginController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Login/Sub/SubLoginController.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Login/Sub/SubLoginController.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Login/Sub/SubLoginController.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Login/Sub/SubLoginReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Login/Sub/SubLoginReactor.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Login/Sub/SubLoginReactor.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Login/Sub/SubLoginReactor.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Login/Sub/SubLoginView.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Login/Sub/SubLoginView.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Login/Sub/SubLoginView.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Login/Sub/SubLoginView.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/FillterSheetView/BalloonBackgroundView.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/FillterSheetView/BalloonBackgroundView.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/FillterSheetView/BalloonBackgroundView.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/FillterSheetView/BalloonBackgroundView.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/FillterSheetView/BalloonChipCell.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/FillterSheetView/BalloonChipCell.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/FillterSheetView/BalloonChipCell.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/FillterSheetView/BalloonChipCell.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/FillterSheetView/FilterBottomSheetReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/FillterSheetView/FilterBottomSheetReactor.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/FillterSheetView/FilterBottomSheetReactor.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/FillterSheetView/FilterBottomSheetReactor.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/FillterSheetView/FilterBottomSheetView.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/FillterSheetView/FilterBottomSheetView.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/FillterSheetView/FilterBottomSheetView.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/FillterSheetView/FilterBottomSheetView.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/FillterSheetView/FilterBottomSheetViewController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/FillterSheetView/FilterBottomSheetViewController.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/FillterSheetView/FilterBottomSheetViewController.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/FillterSheetView/FilterBottomSheetViewController.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/FillterSheetView/FilterCell.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/FillterSheetView/FilterCell.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/FillterSheetView/FilterCell.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/FillterSheetView/FilterCell.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/FillterSheetView/FilterChip.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/FillterSheetView/FilterChip.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/FillterSheetView/FilterChip.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/FillterSheetView/FilterChip.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/FillterSheetView/FilterChipsView.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/FillterSheetView/FilterChipsView.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/FillterSheetView/FilterChipsView.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/FillterSheetView/FilterChipsView.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/FindMap/MapGuideView/FullScreenMapViewController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/FindMap/MapGuideView/FullScreenMapViewController.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/FindMap/MapGuideView/FullScreenMapViewController.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/FindMap/MapGuideView/FullScreenMapViewController.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/FindMap/MapGuideView/MapGuideReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/FindMap/MapGuideView/MapGuideReactor.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/FindMap/MapGuideView/MapGuideReactor.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/FindMap/MapGuideView/MapGuideReactor.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/FindMap/MapGuideView/MapGuideViewController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/FindMap/MapGuideView/MapGuideViewController.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/FindMap/MapGuideView/MapGuideViewController.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/FindMap/MapGuideView/MapGuideViewController.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/MapPopupCardView/MapPopupCarouselView.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/MapPopupCardView/MapPopupCarouselView.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/MapPopupCardView/MapPopupCarouselView.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/MapPopupCardView/MapPopupCarouselView.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/MapPopupCardView/PopupCardCell.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/MapPopupCardView/PopupCardCell.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/MapPopupCardView/PopupCardCell.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/MapPopupCardView/PopupCardCell.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/MapView/MapMarker.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/MapView/MapMarker.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/MapView/MapMarker.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/MapView/MapMarker.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/MapView/MapReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/MapView/MapReactor.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/MapView/MapReactor.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/MapView/MapReactor.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/MapView/MapSearchInput.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/MapView/MapSearchInput.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/MapView/MapSearchInput.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/MapView/MapSearchInput.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/MapView/MapView.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/MapView/MapView.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/MapView/MapView.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/MapView/MapView.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/MapView/MapViewController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/MapView/MapViewController.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/MapView/MapViewController.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/MapView/MapViewController.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/MapView/MarkerTooltipView.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/MapView/MarkerTooltipView.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/MapView/MarkerTooltipView.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/MapView/MarkerTooltipView.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/StoreListView/StoreListCell.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/StoreListView/StoreListCell.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/StoreListView/StoreListCell.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/StoreListView/StoreListCell.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/StoreListView/StoreListReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/StoreListView/StoreListReactor.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/StoreListView/StoreListReactor.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/StoreListView/StoreListReactor.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/StoreListView/StoreListSection.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/StoreListView/StoreListSection.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/StoreListView/StoreListSection.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/StoreListView/StoreListSection.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/StoreListView/StoreListView.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/StoreListView/StoreListView.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/StoreListView/StoreListView.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/StoreListView/StoreListView.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/StoreListView/StoreListViewController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/StoreListView/StoreListViewController.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Map/StoreListView/StoreListViewController.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/StoreListView/StoreListViewController.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Block/BlockUserManageController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Block/BlockUserManageController.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Block/BlockUserManageController.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Block/BlockUserManageController.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Block/BlockUserManageReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Block/BlockUserManageReactor.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Block/BlockUserManageReactor.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Block/BlockUserManageReactor.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Block/View/BlockUserListSection/BlockUserListSection.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Block/View/BlockUserListSection/BlockUserListSection.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Block/View/BlockUserListSection/BlockUserListSection.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Block/View/BlockUserListSection/BlockUserListSection.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Block/View/BlockUserListSection/BlockUserListSectionCell.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Block/View/BlockUserListSection/BlockUserListSectionCell.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Block/View/BlockUserListSection/BlockUserListSectionCell.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Block/View/BlockUserListSection/BlockUserListSectionCell.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Block/View/BlockUserManageView.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Block/View/BlockUserManageView.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Block/View/BlockUserManageView.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Block/View/BlockUserManageView.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Bookmark/Main/MyPageBookmarkController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Bookmark/Main/MyPageBookmarkController.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Bookmark/Main/MyPageBookmarkController.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Bookmark/Main/MyPageBookmarkController.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Bookmark/Main/MyPageBookmarkReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Bookmark/Main/MyPageBookmarkReactor.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Bookmark/Main/MyPageBookmarkReactor.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Bookmark/Main/MyPageBookmarkReactor.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Bookmark/Main/MyPageBookmarkView.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Bookmark/Main/MyPageBookmarkView.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Bookmark/Main/MyPageBookmarkView.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Bookmark/Main/MyPageBookmarkView.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Bookmark/Main/View/CountButtonView.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Bookmark/Main/View/CountButtonView.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Bookmark/Main/View/CountButtonView.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Bookmark/Main/View/CountButtonView.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Bookmark/Main/View/PopUpCardSection/PopUpCardSection.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Bookmark/Main/View/PopUpCardSection/PopUpCardSection.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Bookmark/Main/View/PopUpCardSection/PopUpCardSection.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Bookmark/Main/View/PopUpCardSection/PopUpCardSection.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Bookmark/Main/View/PopUpCardSection/PopUpCardSectionCell.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Bookmark/Main/View/PopUpCardSection/PopUpCardSectionCell.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Bookmark/Main/View/PopUpCardSection/PopUpCardSectionCell.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Bookmark/Main/View/PopUpCardSection/PopUpCardSectionCell.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Bookmark/Main/View/PopUpCardSection/PopUpCardView.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Bookmark/Main/View/PopUpCardSection/PopUpCardView.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Bookmark/Main/View/PopUpCardSection/PopUpCardView.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Bookmark/Main/View/PopUpCardSection/PopUpCardView.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Bookmark/ViewTypeModal/BookMarkPopUpViewTypeModalController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Bookmark/ViewTypeModal/BookMarkPopUpViewTypeModalController.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Bookmark/ViewTypeModal/BookMarkPopUpViewTypeModalController.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Bookmark/ViewTypeModal/BookMarkPopUpViewTypeModalController.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Bookmark/ViewTypeModal/BookMarkPopUpViewTypeModalReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Bookmark/ViewTypeModal/BookMarkPopUpViewTypeModalReactor.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Bookmark/ViewTypeModal/BookMarkPopUpViewTypeModalReactor.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Bookmark/ViewTypeModal/BookMarkPopUpViewTypeModalReactor.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Bookmark/ViewTypeModal/BookMarkPopUpViewTypeModalView.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Bookmark/ViewTypeModal/BookMarkPopUpViewTypeModalView.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Bookmark/ViewTypeModal/BookMarkPopUpViewTypeModalView.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Bookmark/ViewTypeModal/BookMarkPopUpViewTypeModalView.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/FAQ/FAQController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/FAQ/FAQController.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/FAQ/FAQController.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/FAQ/FAQController.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/FAQ/FAQReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/FAQ/FAQReactor.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/FAQ/FAQReactor.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/FAQ/FAQReactor.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/FAQ/View/FAQDropdownSection/FAQDropdownSection.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/FAQ/View/FAQDropdownSection/FAQDropdownSection.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/FAQ/View/FAQDropdownSection/FAQDropdownSection.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/FAQ/View/FAQDropdownSection/FAQDropdownSection.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/FAQ/View/FAQDropdownSection/FAQDropdownSectionCell.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/FAQ/View/FAQDropdownSection/FAQDropdownSectionCell.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/FAQ/View/FAQDropdownSection/FAQDropdownSectionCell.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/FAQ/View/FAQDropdownSection/FAQDropdownSectionCell.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/FAQ/View/FAQView.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/FAQ/View/FAQView.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/FAQ/View/FAQView.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/FAQ/View/FAQView.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/MyPageController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Main/MyPageController.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/MyPageController.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Main/MyPageController.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/MyPageReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Main/MyPageReactor.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/MyPageReactor.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Main/MyPageReactor.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/View/MyPageCommentSection/MyPageCommentSection.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Main/View/MyPageCommentSection/MyPageCommentSection.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/View/MyPageCommentSection/MyPageCommentSection.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Main/View/MyPageCommentSection/MyPageCommentSection.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/View/MyPageCommentSection/MyPageCommentSectionCell.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Main/View/MyPageCommentSection/MyPageCommentSectionCell.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/View/MyPageCommentSection/MyPageCommentSectionCell.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Main/View/MyPageCommentSection/MyPageCommentSectionCell.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/View/MyPageListSection/MyPageListSection.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Main/View/MyPageListSection/MyPageListSection.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/View/MyPageListSection/MyPageListSection.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Main/View/MyPageListSection/MyPageListSection.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/View/MyPageListSection/MyPageListSectionCell.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Main/View/MyPageListSection/MyPageListSectionCell.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/View/MyPageListSection/MyPageListSectionCell.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Main/View/MyPageListSection/MyPageListSectionCell.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/View/MyPageLogoutSection/MyPageLogoutSection.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Main/View/MyPageLogoutSection/MyPageLogoutSection.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/View/MyPageLogoutSection/MyPageLogoutSection.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Main/View/MyPageLogoutSection/MyPageLogoutSection.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/View/MyPageLogoutSection/MyPageLogoutSectionCell.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Main/View/MyPageLogoutSection/MyPageLogoutSectionCell.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/View/MyPageLogoutSection/MyPageLogoutSectionCell.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Main/View/MyPageLogoutSection/MyPageLogoutSectionCell.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/View/MyPageMyCommentTitleSection/MyPageMyCommentTitleSection.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Main/View/MyPageMyCommentTitleSection/MyPageMyCommentTitleSection.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/View/MyPageMyCommentTitleSection/MyPageMyCommentTitleSection.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Main/View/MyPageMyCommentTitleSection/MyPageMyCommentTitleSection.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/View/MyPageMyCommentTitleSection/MyPageMyCommentTitleSectionCell.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Main/View/MyPageMyCommentTitleSection/MyPageMyCommentTitleSectionCell.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/View/MyPageMyCommentTitleSection/MyPageMyCommentTitleSectionCell.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Main/View/MyPageMyCommentTitleSection/MyPageMyCommentTitleSectionCell.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/View/MyPageProfileSection/MyPageProfileSection.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Main/View/MyPageProfileSection/MyPageProfileSection.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/View/MyPageProfileSection/MyPageProfileSection.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Main/View/MyPageProfileSection/MyPageProfileSection.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/View/MyPageProfileSection/MyPageProfileSectionCell.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Main/View/MyPageProfileSection/MyPageProfileSectionCell.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/View/MyPageProfileSection/MyPageProfileSectionCell.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Main/View/MyPageProfileSection/MyPageProfileSectionCell.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/View/MyPageView.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Main/View/MyPageView.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Main/View/MyPageView.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Main/View/MyPageView.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/MyComment/Main/MyCommentController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/MyComment/Main/MyCommentController.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/MyComment/Main/MyCommentController.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/MyComment/Main/MyCommentController.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/MyComment/Main/MyCommentReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/MyComment/Main/MyCommentReactor.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/MyComment/Main/MyCommentReactor.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/MyComment/Main/MyCommentReactor.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/MyComment/Main/View/ListCountButtonSection/ListCountButtonSection.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/MyComment/Main/View/ListCountButtonSection/ListCountButtonSection.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/MyComment/Main/View/ListCountButtonSection/ListCountButtonSection.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/MyComment/Main/View/ListCountButtonSection/ListCountButtonSection.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/MyComment/Main/View/ListCountButtonSection/ListCountButtonSectionCell.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/MyComment/Main/View/ListCountButtonSection/ListCountButtonSectionCell.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/MyComment/Main/View/ListCountButtonSection/ListCountButtonSectionCell.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/MyComment/Main/View/ListCountButtonSection/ListCountButtonSectionCell.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/MyComment/Main/View/MyCommentView.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/MyComment/Main/View/MyCommentView.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/MyComment/Main/View/MyCommentView.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/MyComment/Main/View/MyCommentView.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/MyComment/Main/View/MyCommentedPopUpGridSection/MyCommentedPopUpGridSection.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/MyComment/Main/View/MyCommentedPopUpGridSection/MyCommentedPopUpGridSection.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/MyComment/Main/View/MyCommentedPopUpGridSection/MyCommentedPopUpGridSection.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/MyComment/Main/View/MyCommentedPopUpGridSection/MyCommentedPopUpGridSection.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/MyComment/Main/View/MyCommentedPopUpGridSection/MyCommentedPopUpGridSectionCell.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/MyComment/Main/View/MyCommentedPopUpGridSection/MyCommentedPopUpGridSectionCell.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/MyComment/Main/View/MyCommentedPopUpGridSection/MyCommentedPopUpGridSectionCell.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/MyComment/Main/View/MyCommentedPopUpGridSection/MyCommentedPopUpGridSectionCell.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/MyComment/SortedModal/MyCommentSortedModalController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/MyComment/SortedModal/MyCommentSortedModalController.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/MyComment/SortedModal/MyCommentSortedModalController.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/MyComment/SortedModal/MyCommentSortedModalController.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/MyComment/SortedModal/MyCommentSortedModalReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/MyComment/SortedModal/MyCommentSortedModalReactor.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/MyComment/SortedModal/MyCommentSortedModalReactor.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/MyComment/SortedModal/MyCommentSortedModalReactor.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/MyComment/SortedModal/MyCommentSortedModalView.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/MyComment/SortedModal/MyCommentSortedModalView.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/MyComment/SortedModal/MyCommentSortedModalView.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/MyComment/SortedModal/MyCommentSortedModalView.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Notice/Detail/MyPageNoticeDetailController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Notice/Detail/MyPageNoticeDetailController.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Notice/Detail/MyPageNoticeDetailController.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Notice/Detail/MyPageNoticeDetailController.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Notice/Detail/MyPageNoticeDetailReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Notice/Detail/MyPageNoticeDetailReactor.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Notice/Detail/MyPageNoticeDetailReactor.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Notice/Detail/MyPageNoticeDetailReactor.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Notice/Detail/MyPageNoticeDetailView.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Notice/Detail/MyPageNoticeDetailView.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Notice/Detail/MyPageNoticeDetailView.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Notice/Detail/MyPageNoticeDetailView.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Notice/List/MyPageNoticeController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Notice/List/MyPageNoticeController.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Notice/List/MyPageNoticeController.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Notice/List/MyPageNoticeController.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Notice/List/MyPageNoticeReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Notice/List/MyPageNoticeReactor.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Notice/List/MyPageNoticeReactor.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Notice/List/MyPageNoticeReactor.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Notice/List/View/MyPageNoticeView.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Notice/List/View/MyPageNoticeView.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Notice/List/View/MyPageNoticeView.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Notice/List/View/MyPageNoticeView.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Notice/List/View/NoticeListSection/NoticeListSection.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Notice/List/View/NoticeListSection/NoticeListSection.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Notice/List/View/NoticeListSection/NoticeListSection.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Notice/List/View/NoticeListSection/NoticeListSection.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Notice/List/View/NoticeListSection/NoticeListSectionCell.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Notice/List/View/NoticeListSection/NoticeListSectionCell.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Notice/List/View/NoticeListSection/NoticeListSectionCell.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Notice/List/View/NoticeListSection/NoticeListSectionCell.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/ProfileEdit/CategoryEditModal/CategoryEditModalController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/ProfileEdit/CategoryEditModal/CategoryEditModalController.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/ProfileEdit/CategoryEditModal/CategoryEditModalController.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/ProfileEdit/CategoryEditModal/CategoryEditModalController.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/ProfileEdit/CategoryEditModal/CategoryEditModalReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/ProfileEdit/CategoryEditModal/CategoryEditModalReactor.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/ProfileEdit/CategoryEditModal/CategoryEditModalReactor.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/ProfileEdit/CategoryEditModal/CategoryEditModalReactor.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/ProfileEdit/CategoryEditModal/CategoryEditModalView.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/ProfileEdit/CategoryEditModal/CategoryEditModalView.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/ProfileEdit/CategoryEditModal/CategoryEditModalView.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/ProfileEdit/CategoryEditModal/CategoryEditModalView.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/ProfileEdit/InfoEditModal/InfoEditModalController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/ProfileEdit/InfoEditModal/InfoEditModalController.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/ProfileEdit/InfoEditModal/InfoEditModalController.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/ProfileEdit/InfoEditModal/InfoEditModalController.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/ProfileEdit/InfoEditModal/InfoEditModalReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/ProfileEdit/InfoEditModal/InfoEditModalReactor.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/ProfileEdit/InfoEditModal/InfoEditModalReactor.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/ProfileEdit/InfoEditModal/InfoEditModalReactor.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/ProfileEdit/InfoEditModal/InfoEditModalView.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/ProfileEdit/InfoEditModal/InfoEditModalView.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/ProfileEdit/InfoEditModal/InfoEditModalView.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/ProfileEdit/InfoEditModal/InfoEditModalView.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/ProfileEdit/Main/ProfileEditController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/ProfileEdit/Main/ProfileEditController.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/ProfileEdit/Main/ProfileEditController.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/ProfileEdit/Main/ProfileEditController.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/ProfileEdit/Main/ProfileEditReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/ProfileEdit/Main/ProfileEditReactor.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/ProfileEdit/Main/ProfileEditReactor.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/ProfileEdit/Main/ProfileEditReactor.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/ProfileEdit/Main/View/ProfileEditListButton.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/ProfileEdit/Main/View/ProfileEditListButton.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/ProfileEdit/Main/View/ProfileEditListButton.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/ProfileEdit/Main/View/ProfileEditListButton.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/ProfileEdit/Main/View/ProfileEditView.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/ProfileEdit/Main/View/ProfileEditView.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/ProfileEdit/Main/View/ProfileEditView.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/ProfileEdit/Main/View/ProfileEditView.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Recent/MyPageRecentController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Recent/MyPageRecentController.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Recent/MyPageRecentController.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Recent/MyPageRecentController.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Recent/MyPageRecentReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Recent/MyPageRecentReactor.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Recent/MyPageRecentReactor.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Recent/MyPageRecentReactor.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Recent/View/MyPageRecentView.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Recent/View/MyPageRecentView.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Recent/View/MyPageRecentView.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Recent/View/MyPageRecentView.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Recent/View/RecentPopUpSection/RecentPopUpSection.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Recent/View/RecentPopUpSection/RecentPopUpSection.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Recent/View/RecentPopUpSection/RecentPopUpSection.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Recent/View/RecentPopUpSection/RecentPopUpSection.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Terms/MyPageTermsController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Terms/MyPageTermsController.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Terms/MyPageTermsController.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Terms/MyPageTermsController.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Terms/MyPageTermsReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Terms/MyPageTermsReactor.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Terms/MyPageTermsReactor.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Terms/MyPageTermsReactor.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Withdrawl/CheckModal/WithdrawlCheckModalController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Withdrawl/CheckModal/WithdrawlCheckModalController.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Withdrawl/CheckModal/WithdrawlCheckModalController.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Withdrawl/CheckModal/WithdrawlCheckModalController.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Withdrawl/CheckModal/WithdrawlCheckModalReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Withdrawl/CheckModal/WithdrawlCheckModalReactor.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Withdrawl/CheckModal/WithdrawlCheckModalReactor.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Withdrawl/CheckModal/WithdrawlCheckModalReactor.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Withdrawl/CheckModal/WithdrawlCheckModalView.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Withdrawl/CheckModal/WithdrawlCheckModalView.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Withdrawl/CheckModal/WithdrawlCheckModalView.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Withdrawl/CheckModal/WithdrawlCheckModalView.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Withdrawl/Complete/WithdrawlCompleteController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Withdrawl/Complete/WithdrawlCompleteController.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Withdrawl/Complete/WithdrawlCompleteController.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Withdrawl/Complete/WithdrawlCompleteController.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Withdrawl/Complete/WithdrawlCompleteView.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Withdrawl/Complete/WithdrawlCompleteView.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Withdrawl/Complete/WithdrawlCompleteView.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Withdrawl/Complete/WithdrawlCompleteView.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Withdrawl/SelectedReason/View/WithdrawlCheckSection.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Withdrawl/SelectedReason/View/WithdrawlCheckSection.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Withdrawl/SelectedReason/View/WithdrawlCheckSection.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Withdrawl/SelectedReason/View/WithdrawlCheckSection.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Withdrawl/SelectedReason/View/WithdrawlCheckSectionCell.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Withdrawl/SelectedReason/View/WithdrawlCheckSectionCell.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Withdrawl/SelectedReason/View/WithdrawlCheckSectionCell.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Withdrawl/SelectedReason/View/WithdrawlCheckSectionCell.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Withdrawl/SelectedReason/View/WithdrawlReasonView.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Withdrawl/SelectedReason/View/WithdrawlReasonView.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Withdrawl/SelectedReason/View/WithdrawlReasonView.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Withdrawl/SelectedReason/View/WithdrawlReasonView.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Withdrawl/SelectedReason/WithdrawlReasonController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Withdrawl/SelectedReason/WithdrawlReasonController.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Withdrawl/SelectedReason/WithdrawlReasonController.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Withdrawl/SelectedReason/WithdrawlReasonController.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Withdrawl/SelectedReason/WithdrawlReasonReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Withdrawl/SelectedReason/WithdrawlReasonReactor.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/MyPage/Withdrawl/SelectedReason/WithdrawlReasonReactor.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Withdrawl/SelectedReason/WithdrawlReasonReactor.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/AfterSearch/SearchResultController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Search/AfterSearch/SearchResultController.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/AfterSearch/SearchResultController.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Search/AfterSearch/SearchResultController.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/AfterSearch/SearchResultReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Search/AfterSearch/SearchResultReactor.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/AfterSearch/SearchResultReactor.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Search/AfterSearch/SearchResultReactor.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/AfterSearch/View/SearchResultCountSection/SearchResultCountSection.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Search/AfterSearch/View/SearchResultCountSection/SearchResultCountSection.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/AfterSearch/View/SearchResultCountSection/SearchResultCountSection.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Search/AfterSearch/View/SearchResultCountSection/SearchResultCountSection.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/AfterSearch/View/SearchResultCountSection/SearchResultCountSectionCell.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Search/AfterSearch/View/SearchResultCountSection/SearchResultCountSectionCell.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/AfterSearch/View/SearchResultCountSection/SearchResultCountSectionCell.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Search/AfterSearch/View/SearchResultCountSection/SearchResultCountSectionCell.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/AfterSearch/View/SearchResultView.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Search/AfterSearch/View/SearchResultView.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/AfterSearch/View/SearchResultView.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Search/AfterSearch/View/SearchResultView.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/BeforeSearch/SearchController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Search/BeforeSearch/SearchController.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/BeforeSearch/SearchController.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Search/BeforeSearch/SearchController.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/BeforeSearch/SearchReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Search/BeforeSearch/SearchReactor.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/BeforeSearch/SearchReactor.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Search/BeforeSearch/SearchReactor.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/BeforeSearch/View/CancelableTagSection/CancelableTagSection.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Search/BeforeSearch/View/CancelableTagSection/CancelableTagSection.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/BeforeSearch/View/CancelableTagSection/CancelableTagSection.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Search/BeforeSearch/View/CancelableTagSection/CancelableTagSection.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/BeforeSearch/View/CancelableTagSection/CancelableTagSectionCell.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Search/BeforeSearch/View/CancelableTagSection/CancelableTagSectionCell.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/BeforeSearch/View/CancelableTagSection/CancelableTagSectionCell.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Search/BeforeSearch/View/CancelableTagSection/CancelableTagSectionCell.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/BeforeSearch/View/SearchCountTitleSection/SearchCountTitleSection.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Search/BeforeSearch/View/SearchCountTitleSection/SearchCountTitleSection.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/BeforeSearch/View/SearchCountTitleSection/SearchCountTitleSection.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Search/BeforeSearch/View/SearchCountTitleSection/SearchCountTitleSection.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/BeforeSearch/View/SearchCountTitleSection/SearchCountTitleSectionCell.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Search/BeforeSearch/View/SearchCountTitleSection/SearchCountTitleSectionCell.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/BeforeSearch/View/SearchCountTitleSection/SearchCountTitleSectionCell.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Search/BeforeSearch/View/SearchCountTitleSection/SearchCountTitleSectionCell.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/BeforeSearch/View/SearchTitleSection/SearchTitleSection.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Search/BeforeSearch/View/SearchTitleSection/SearchTitleSection.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/BeforeSearch/View/SearchTitleSection/SearchTitleSection.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Search/BeforeSearch/View/SearchTitleSection/SearchTitleSection.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/BeforeSearch/View/SearchTitleSection/SearchTitleSectionCell.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Search/BeforeSearch/View/SearchTitleSection/SearchTitleSectionCell.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/BeforeSearch/View/SearchTitleSection/SearchTitleSectionCell.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Search/BeforeSearch/View/SearchTitleSection/SearchTitleSectionCell.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/BeforeSearch/View/SearchView.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Search/BeforeSearch/View/SearchView.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/BeforeSearch/View/SearchView.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Search/BeforeSearch/View/SearchView.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/CategoryController/SearchCategoryController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Search/CategoryController/SearchCategoryController.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/CategoryController/SearchCategoryController.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Search/CategoryController/SearchCategoryController.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/CategoryController/SearchCategoryReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Search/CategoryController/SearchCategoryReactor.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/CategoryController/SearchCategoryReactor.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Search/CategoryController/SearchCategoryReactor.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/CategoryController/SearchCategoryView.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Search/CategoryController/SearchCategoryView.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/CategoryController/SearchCategoryView.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Search/CategoryController/SearchCategoryView.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/Main/SearchMainController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Search/Main/SearchMainController.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/Main/SearchMainController.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Search/Main/SearchMainController.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/Main/SearchMainReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Search/Main/SearchMainReactor.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/Main/SearchMainReactor.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Search/Main/SearchMainReactor.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/Main/SearchMainView.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Search/Main/SearchMainView.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/Main/SearchMainView.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Search/Main/SearchMainView.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/SortedController/SearchSortedController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Search/SortedController/SearchSortedController.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/SortedController/SearchSortedController.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Search/SortedController/SearchSortedController.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/SortedController/SearchSortedReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Search/SortedController/SearchSortedReactor.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/SortedController/SearchSortedReactor.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Search/SortedController/SearchSortedReactor.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/SortedController/SearchSortedView.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Search/SortedController/SearchSortedView.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Search/SortedController/SearchSortedView.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Search/SortedController/SearchSortedView.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Main/SignUpMainController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/Main/SignUpMainController.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Main/SignUpMainController.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/Main/SignUpMainController.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Main/SignUpMainReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/Main/SignUpMainReactor.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Main/SignUpMainReactor.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/Main/SignUpMainReactor.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Main/View/SignUpMainView.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/Main/View/SignUpMainView.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Main/View/SignUpMainView.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/Main/View/SignUpMainView.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/SignUpComplete/SignUpCompleteController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/SignUpComplete/SignUpCompleteController.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/SignUpComplete/SignUpCompleteController.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/SignUpComplete/SignUpCompleteController.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/SignUpComplete/SignUpCompleteReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/SignUpComplete/SignUpCompleteReactor.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/SignUpComplete/SignUpCompleteReactor.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/SignUpComplete/SignUpCompleteReactor.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/SignUpComplete/SignUpCompleteView.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/SignUpComplete/SignUpCompleteView.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/SignUpComplete/SignUpCompleteView.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/SignUpComplete/SignUpCompleteView.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step1/SignUpStep1Controller.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/Step1/SignUpStep1Controller.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step1/SignUpStep1Controller.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/Step1/SignUpStep1Controller.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step1/SignUpStep1Reactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/Step1/SignUpStep1Reactor.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step1/SignUpStep1Reactor.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/Step1/SignUpStep1Reactor.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step1/View/SignUpCheckBoxButton.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/Step1/View/SignUpCheckBoxButton.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step1/View/SignUpCheckBoxButton.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/Step1/View/SignUpCheckBoxButton.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step1/View/SignUpStep1View.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/Step1/View/SignUpStep1View.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step1/View/SignUpStep1View.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/Step1/View/SignUpStep1View.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step1/View/SignUpTermsView.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/Step1/View/SignUpTermsView.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step1/View/SignUpTermsView.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/Step1/View/SignUpTermsView.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step2/IntroState.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/Step2/IntroState.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step2/IntroState.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/Step2/IntroState.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step2/NickNameState.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/Step2/NickNameState.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step2/NickNameState.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/Step2/NickNameState.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step2/SignUpStep2Controller.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/Step2/SignUpStep2Controller.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step2/SignUpStep2Controller.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/Step2/SignUpStep2Controller.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step2/SignUpStep2Reactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/Step2/SignUpStep2Reactor.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step2/SignUpStep2Reactor.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/Step2/SignUpStep2Reactor.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step2/SignUpStep2View.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/Step2/SignUpStep2View.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step2/SignUpStep2View.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/Step2/SignUpStep2View.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step3/SignUpStep3Controller.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/Step3/SignUpStep3Controller.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step3/SignUpStep3Controller.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/Step3/SignUpStep3Controller.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step3/SignUpStep3Reactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/Step3/SignUpStep3Reactor.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step3/SignUpStep3Reactor.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/Step3/SignUpStep3Reactor.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step3/View/SignUpStep3View.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/Step3/View/SignUpStep3View.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step3/View/SignUpStep3View.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/Step3/View/SignUpStep3View.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step3/View/TagSection/TagSection.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/Step3/View/TagSection/TagSection.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step3/View/TagSection/TagSection.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/Step3/View/TagSection/TagSection.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step3/View/TagSection/TagSectionCell.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/Step3/View/TagSection/TagSectionCell.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step3/View/TagSection/TagSectionCell.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/Step3/View/TagSection/TagSectionCell.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step4/AgeSelectedModal/AgeSelectedController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/Step4/AgeSelectedModal/AgeSelectedController.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step4/AgeSelectedModal/AgeSelectedController.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/Step4/AgeSelectedModal/AgeSelectedController.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step4/AgeSelectedModal/AgeSelectedReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/Step4/AgeSelectedModal/AgeSelectedReactor.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step4/AgeSelectedModal/AgeSelectedReactor.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/Step4/AgeSelectedModal/AgeSelectedReactor.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step4/AgeSelectedModal/AgeSelectedView.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/Step4/AgeSelectedModal/AgeSelectedView.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step4/AgeSelectedModal/AgeSelectedView.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/Step4/AgeSelectedModal/AgeSelectedView.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step4/Main/SignUpStep4Controller.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/Step4/Main/SignUpStep4Controller.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step4/Main/SignUpStep4Controller.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/Step4/Main/SignUpStep4Controller.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step4/Main/SignUpStep4Reactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/Step4/Main/SignUpStep4Reactor.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step4/Main/SignUpStep4Reactor.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/Step4/Main/SignUpStep4Reactor.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step4/Main/View/AgeSelectedButton.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/Step4/Main/View/AgeSelectedButton.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step4/Main/View/AgeSelectedButton.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/Step4/Main/View/AgeSelectedButton.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step4/Main/View/SignUpStep4View.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/Step4/Main/View/SignUpStep4View.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/Step4/Main/View/SignUpStep4View.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/Step4/Main/View/SignUpStep4View.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/TermsDetail/TermsDetailController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/TermsDetail/TermsDetailController.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/TermsDetail/TermsDetailController.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/TermsDetail/TermsDetailController.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/TermsDetail/TermsDetailView.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/TermsDetail/TermsDetailView.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/SignUp/TermsDetail/TermsDetailView.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/TermsDetail/TermsDetailView.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Splash/SplashController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Splash/SplashController.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Splash/SplashController.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Splash/SplashController.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/Splash/View/SplashView.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Splash/View/SplashView.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/Splash/View/SplashView.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/Splash/View/SplashView.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Scene/TabbarController/TabbarController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/TabbarController/TabbarController.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Scene/TabbarController/TabbarController.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Scene/TabbarController/TabbarController.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Utills/Common/ClusteringManager.swift b/Poppool/PresentationLayer/Presentation/Presentation/Utills/Common/ClusteringManager.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Utills/Common/ClusteringManager.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Utills/Common/ClusteringManager.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Utills/Common/ClusteringModels.swift b/Poppool/PresentationLayer/Presentation/Presentation/Utills/Common/ClusteringModels.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Utills/Common/ClusteringModels.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Utills/Common/ClusteringModels.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Utills/Common/DateTimePickerManager.swift b/Poppool/PresentationLayer/Presentation/Presentation/Utills/Common/DateTimePickerManager.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Utills/Common/DateTimePickerManager.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Utills/Common/DateTimePickerManager.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Utills/Common/ExtendedImage.swift b/Poppool/PresentationLayer/Presentation/Presentation/Utills/Common/ExtendedImage.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Utills/Common/ExtendedImage.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Utills/Common/ExtendedImage.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Utills/Common/FilterType.swift b/Poppool/PresentationLayer/Presentation/Presentation/Utills/Common/FilterType.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Utills/Common/FilterType.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Utills/Common/FilterType.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Utills/Common/LocationPermissionBottomSheet.swift b/Poppool/PresentationLayer/Presentation/Presentation/Utills/Common/LocationPermissionBottomSheet.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Utills/Common/LocationPermissionBottomSheet.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Utills/Common/LocationPermissionBottomSheet.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Utills/Common/MapFilterChips.swift b/Poppool/PresentationLayer/Presentation/Presentation/Utills/Common/MapFilterChips.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Utills/Common/MapFilterChips.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Utills/Common/MapFilterChips.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Utills/Common/MapUtilities.swift b/Poppool/PresentationLayer/Presentation/Presentation/Utills/Common/MapUtilities.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Utills/Common/MapUtilities.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Utills/Common/MapUtilities.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Utills/Common/NMFMapViewDelegateProxy.swift b/Poppool/PresentationLayer/Presentation/Presentation/Utills/Common/NMFMapViewDelegateProxy.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Utills/Common/NMFMapViewDelegateProxy.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Utills/Common/NMFMapViewDelegateProxy.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Utills/Common/RegionDefinitions.swift b/Poppool/PresentationLayer/Presentation/Presentation/Utills/Common/RegionDefinitions.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Utills/Common/RegionDefinitions.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Utills/Common/RegionDefinitions.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Utills/Controllers/BaseTabmanController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Utills/Controllers/BaseTabmanController.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Utills/Controllers/BaseTabmanController.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Utills/Controllers/BaseTabmanController.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Utills/Controllers/BaseViewController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Utills/Controllers/BaseViewController.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Utills/Controllers/BaseViewController.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Utills/Controllers/BaseViewController.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Utills/Interfaces/InOutputable.swift b/Poppool/PresentationLayer/Presentation/Presentation/Utills/Interfaces/InOutputable.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Utills/Interfaces/InOutputable.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Utills/Interfaces/InOutputable.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Utills/Interfaces/Sectionable/SectionDecorationItem.swift b/Poppool/PresentationLayer/Presentation/Presentation/Utills/Interfaces/Sectionable/SectionDecorationItem.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Utills/Interfaces/Sectionable/SectionDecorationItem.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Utills/Interfaces/Sectionable/SectionDecorationItem.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Utills/Interfaces/Sectionable/SectionSupplementaryItem.swift b/Poppool/PresentationLayer/Presentation/Presentation/Utills/Interfaces/Sectionable/SectionSupplementaryItem.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Utills/Interfaces/Sectionable/SectionSupplementaryItem.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Utills/Interfaces/Sectionable/SectionSupplementaryItem.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Utills/Interfaces/Sectionable/Sectionable.swift b/Poppool/PresentationLayer/Presentation/Presentation/Utills/Interfaces/Sectionable/Sectionable.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Utills/Interfaces/Sectionable/Sectionable.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Utills/Interfaces/Sectionable/Sectionable.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Utills/ToastMaker/BookMarkToastView.swift b/Poppool/PresentationLayer/Presentation/Presentation/Utills/ToastMaker/BookMarkToastView.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Utills/ToastMaker/BookMarkToastView.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Utills/ToastMaker/BookMarkToastView.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Utills/ToastMaker/ToastMaker.swift b/Poppool/PresentationLayer/Presentation/Presentation/Utills/ToastMaker/ToastMaker.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Utills/ToastMaker/ToastMaker.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Utills/ToastMaker/ToastMaker.swift diff --git a/Poppool/Poppool/PresentationLayer/Presentation/Utills/ToastMaker/ToastView.swift b/Poppool/PresentationLayer/Presentation/Presentation/Utills/ToastMaker/ToastView.swift similarity index 100% rename from Poppool/Poppool/PresentationLayer/Presentation/Utills/ToastMaker/ToastView.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Utills/ToastMaker/ToastView.swift From 3dd99219de56acf73ea49a907447e661e93fdded Mon Sep 17 00:00:00 2001 From: 0Hooni Date: Sun, 20 Apr 2025 23:19:41 +0900 Subject: [PATCH 46/83] =?UTF-8?q?chore/#112:=20=EB=9D=BC=EC=9D=B4=EB=B8=8C?= =?UTF-8?q?=EB=9F=AC=EB=A6=AC=20=EA=B2=BD=EA=B3=A0=20=ED=95=B4=EC=A0=9C?= =?UTF-8?q?=EB=A5=BC=20=EC=9C=84=ED=95=9C=20=EB=B9=8C=EB=93=9C=20=EC=84=A4?= =?UTF-8?q?=EC=A0=95=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Infrastructure.xcodeproj/project.pbxproj | 4 ++-- Poppool/DataLayer/Data/Data.xcodeproj/project.pbxproj | 4 ++-- .../DomainLayer/Domain/Domain.xcodeproj/project.pbxproj | 8 ++++---- .../Presentation/Presentation.xcodeproj/project.pbxproj | 4 ++-- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/Poppool/CoreLayer/Infrastructure/Infrastructure.xcodeproj/project.pbxproj b/Poppool/CoreLayer/Infrastructure/Infrastructure.xcodeproj/project.pbxproj index cdc524ab..c0f697aa 100644 --- a/Poppool/CoreLayer/Infrastructure/Infrastructure.xcodeproj/project.pbxproj +++ b/Poppool/CoreLayer/Infrastructure/Infrastructure.xcodeproj/project.pbxproj @@ -264,7 +264,7 @@ 058CC9202DB5383C0084221A /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - BUILD_LIBRARY_FOR_DISTRIBUTION = YES; + BUILD_LIBRARY_FOR_DISTRIBUTION = NO; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; DYLIB_COMPATIBILITY_VERSION = 1; @@ -296,7 +296,7 @@ 058CC9212DB5383C0084221A /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - BUILD_LIBRARY_FOR_DISTRIBUTION = YES; + BUILD_LIBRARY_FOR_DISTRIBUTION = NO; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; DYLIB_COMPATIBILITY_VERSION = 1; diff --git a/Poppool/DataLayer/Data/Data.xcodeproj/project.pbxproj b/Poppool/DataLayer/Data/Data.xcodeproj/project.pbxproj index 1d9b6350..7a207670 100644 --- a/Poppool/DataLayer/Data/Data.xcodeproj/project.pbxproj +++ b/Poppool/DataLayer/Data/Data.xcodeproj/project.pbxproj @@ -261,7 +261,7 @@ 058CC8E42DB5376A0084221A /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - BUILD_LIBRARY_FOR_DISTRIBUTION = YES; + BUILD_LIBRARY_FOR_DISTRIBUTION = NO; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; DYLIB_COMPATIBILITY_VERSION = 1; @@ -293,7 +293,7 @@ 058CC8E52DB5376A0084221A /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - BUILD_LIBRARY_FOR_DISTRIBUTION = YES; + BUILD_LIBRARY_FOR_DISTRIBUTION = NO; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; DYLIB_COMPATIBILITY_VERSION = 1; diff --git a/Poppool/DomainLayer/Domain/Domain.xcodeproj/project.pbxproj b/Poppool/DomainLayer/Domain/Domain.xcodeproj/project.pbxproj index 477f9ea6..57b425c2 100644 --- a/Poppool/DomainLayer/Domain/Domain.xcodeproj/project.pbxproj +++ b/Poppool/DomainLayer/Domain/Domain.xcodeproj/project.pbxproj @@ -327,7 +327,7 @@ 058CC8F82DB5377F0084221A /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - BUILD_LIBRARY_FOR_DISTRIBUTION = YES; + BUILD_LIBRARY_FOR_DISTRIBUTION = NO; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; DYLIB_COMPATIBILITY_VERSION = 1; @@ -359,7 +359,7 @@ 058CC8F92DB5377F0084221A /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - BUILD_LIBRARY_FOR_DISTRIBUTION = YES; + BUILD_LIBRARY_FOR_DISTRIBUTION = NO; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; DYLIB_COMPATIBILITY_VERSION = 1; @@ -391,7 +391,7 @@ 05C1D0E02DB538A600508FFD /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - BUILD_LIBRARY_FOR_DISTRIBUTION = YES; + BUILD_LIBRARY_FOR_DISTRIBUTION = NO; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; DYLIB_COMPATIBILITY_VERSION = 1; @@ -423,7 +423,7 @@ 05C1D0E12DB538A600508FFD /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - BUILD_LIBRARY_FOR_DISTRIBUTION = YES; + BUILD_LIBRARY_FOR_DISTRIBUTION = NO; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; DYLIB_COMPATIBILITY_VERSION = 1; diff --git a/Poppool/PresentationLayer/Presentation/Presentation.xcodeproj/project.pbxproj b/Poppool/PresentationLayer/Presentation/Presentation.xcodeproj/project.pbxproj index f58fe33f..acc077fa 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation.xcodeproj/project.pbxproj +++ b/Poppool/PresentationLayer/Presentation/Presentation.xcodeproj/project.pbxproj @@ -264,7 +264,7 @@ 058CC90C2DB537960084221A /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - BUILD_LIBRARY_FOR_DISTRIBUTION = YES; + BUILD_LIBRARY_FOR_DISTRIBUTION = NO; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; DYLIB_COMPATIBILITY_VERSION = 1; @@ -296,7 +296,7 @@ 058CC90D2DB537960084221A /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - BUILD_LIBRARY_FOR_DISTRIBUTION = YES; + BUILD_LIBRARY_FOR_DISTRIBUTION = NO; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; DYLIB_COMPATIBILITY_VERSION = 1; From a832442e5bbe4bd2f5453c715ebd9f9dad83f8bc Mon Sep 17 00:00:00 2001 From: 0Hooni Date: Sun, 20 Apr 2025 23:20:26 +0900 Subject: [PATCH 47/83] =?UTF-8?q?refactor/#112:=20=EC=9D=B8=ED=84=B0?= =?UTF-8?q?=ED=8E=98=EC=9D=B4=EC=8A=A4=20=EC=A0=91=EA=B7=BC=20=EC=A0=9C?= =?UTF-8?q?=EC=96=B4=EC=9E=90=EB=A5=BC=20public=EC=9C=BC=EB=A1=9C=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DomainInterface/Repository/AdminRepository.swift | 2 +- .../DomainInterface/Repository/AuthAPIRepository.swift | 3 ++- .../Repository/CommentAPIRepository.swift | 2 +- .../DomainInterface/Repository/HomeAPIRepository.swift | 2 +- .../Repository/MapDirectionRepository.swift | 2 +- .../DomainInterface/Repository/MapRepository.swift | 9 +-------- .../DomainInterface/Repository/PopUpAPIRepository.swift | 2 +- .../DomainInterface/Repository/SignUpRepository.swift | 2 +- .../DomainInterface/Repository/UserAPIRepository.swift | 2 +- .../Domain/DomainInterface/UseCase/AdminUseCase.swift | 3 ++- .../Domain/DomainInterface/UseCase/AuthAPIUseCase.swift | 2 +- .../DomainInterface/UseCase/CommentAPIUseCase.swift | 2 +- .../Domain/DomainInterface/UseCase/HomeAPIUseCase.swift | 2 +- .../Domain/DomainInterface/UseCase/MapUseCase.swift | 2 +- .../Domain/DomainInterface/UseCase/PopUpAPIUseCase.swift | 2 +- .../DomainInterface/UseCase/SignUpAPIUseCase.swift | 2 +- .../Domain/DomainInterface/UseCase/UserAPIUseCase.swift | 2 +- 17 files changed, 19 insertions(+), 24 deletions(-) diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Repository/AdminRepository.swift b/Poppool/DomainLayer/Domain/DomainInterface/Repository/AdminRepository.swift index 8f87a343..4a9f2972 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Repository/AdminRepository.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Repository/AdminRepository.swift @@ -2,7 +2,7 @@ import Foundation import RxSwift -protocol AdminRepository { +public protocol AdminRepository { func fetchStoreList(query: String?, page: Int, size: Int) -> Observable<[AdminStore]> func fetchStoreDetail(id: Int64) -> Observable diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Repository/AuthAPIRepository.swift b/Poppool/DomainLayer/Domain/DomainInterface/Repository/AuthAPIRepository.swift index ba9ae29f..33154753 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Repository/AuthAPIRepository.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Repository/AuthAPIRepository.swift @@ -1,7 +1,8 @@ import Foundation + import RxSwift -protocol AuthAPIRepository { +public protocol AuthAPIRepository { func tryLogIn(userCredential: Encodable, socialType: String) -> Observable func postTokenReissue() -> Observable } diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Repository/CommentAPIRepository.swift b/Poppool/DomainLayer/Domain/DomainInterface/Repository/CommentAPIRepository.swift index e353e65c..3562db2c 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Repository/CommentAPIRepository.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Repository/CommentAPIRepository.swift @@ -2,7 +2,7 @@ import Foundation import RxSwift -protocol CommentAPIRepository { +public protocol CommentAPIRepository { func postCommentAdd( popUpStoreId: Int64, content: String?, diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Repository/HomeAPIRepository.swift b/Poppool/DomainLayer/Domain/DomainInterface/Repository/HomeAPIRepository.swift index 4b7f0bb1..d417f03a 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Repository/HomeAPIRepository.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Repository/HomeAPIRepository.swift @@ -2,7 +2,7 @@ import Foundation import RxSwift -protocol HomeAPIRepository { +public protocol HomeAPIRepository { func fetchHome(page: Int32?, size: Int32?, sort: String?) -> Observable func fetchCustomPopUp(page: Int32?, size: Int32?, sort: String?) -> Observable func fetchNewPopUp(page: Int32?, size: Int32?, sort: String?) -> Observable diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Repository/MapDirectionRepository.swift b/Poppool/DomainLayer/Domain/DomainInterface/Repository/MapDirectionRepository.swift index d73ff0a0..b933470a 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Repository/MapDirectionRepository.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Repository/MapDirectionRepository.swift @@ -2,6 +2,6 @@ import Foundation import RxSwift -protocol MapDirectionRepository { +public protocol MapDirectionRepository { func getPopUpDirection(popUpStoreId: Int64) -> Observable } diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Repository/MapRepository.swift b/Poppool/DomainLayer/Domain/DomainInterface/Repository/MapRepository.swift index 4e6c1a19..4f086267 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Repository/MapRepository.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Repository/MapRepository.swift @@ -1,15 +1,8 @@ -// -// MapRepository.swift -// Poppool -// -// Created by 송영훈 on 4/14/25. -// - import Foundation import RxSwift -protocol MapRepository { +public protocol MapRepository { func fetchStoresInBounds( northEastLat: Double, northEastLon: Double, diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Repository/PopUpAPIRepository.swift b/Poppool/DomainLayer/Domain/DomainInterface/Repository/PopUpAPIRepository.swift index d03a9666..b6c000ec 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Repository/PopUpAPIRepository.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Repository/PopUpAPIRepository.swift @@ -2,7 +2,7 @@ import Foundation import RxSwift -protocol PopUpAPIRepository { +public protocol PopUpAPIRepository { func postBookmarkPopUp(popUpStoreId: Int64) -> Completable func getClosePopUpList( diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Repository/SignUpRepository.swift b/Poppool/DomainLayer/Domain/DomainInterface/Repository/SignUpRepository.swift index 6e7ef1b0..7ce31985 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Repository/SignUpRepository.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Repository/SignUpRepository.swift @@ -2,7 +2,7 @@ import Foundation import RxSwift -protocol SignUpRepository { +public protocol SignUpRepository { func checkNickName(nickName: String) -> Observable func fetchCategoryList() -> Observable<[CategoryResponse]> func trySignUp( diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Repository/UserAPIRepository.swift b/Poppool/DomainLayer/Domain/DomainInterface/Repository/UserAPIRepository.swift index 3012787d..2b2658a0 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Repository/UserAPIRepository.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Repository/UserAPIRepository.swift @@ -2,7 +2,7 @@ import Foundation import RxSwift -protocol UserAPIRepository { +public protocol UserAPIRepository { func postBookmarkPopUp(popUpStoreId: Int64) -> Completable func deleteBookmarkPopUp(popUpStoreId: Int64) -> Completable func postCommentLike(commentId: Int64) -> Completable diff --git a/Poppool/DomainLayer/Domain/DomainInterface/UseCase/AdminUseCase.swift b/Poppool/DomainLayer/Domain/DomainInterface/UseCase/AdminUseCase.swift index 08c59b15..5e083d73 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/UseCase/AdminUseCase.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/UseCase/AdminUseCase.swift @@ -1,7 +1,8 @@ import Foundation + import RxSwift -protocol AdminUseCase { +public protocol AdminUseCase { func fetchStoreList(query: String?, page: Int, size: Int) -> Observable<[AdminStore]> func fetchStoreDetail(id: Int64) -> Observable diff --git a/Poppool/DomainLayer/Domain/DomainInterface/UseCase/AuthAPIUseCase.swift b/Poppool/DomainLayer/Domain/DomainInterface/UseCase/AuthAPIUseCase.swift index 0ccfaa35..44ce761c 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/UseCase/AuthAPIUseCase.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/UseCase/AuthAPIUseCase.swift @@ -2,7 +2,7 @@ import Foundation import RxSwift -protocol AuthAPIUseCase { +public protocol AuthAPIUseCase { func postTryLogin(userCredential: Encodable, socialType: String) -> Observable func postTokenReissue() -> Observable } diff --git a/Poppool/DomainLayer/Domain/DomainInterface/UseCase/CommentAPIUseCase.swift b/Poppool/DomainLayer/Domain/DomainInterface/UseCase/CommentAPIUseCase.swift index 021c842a..5114f0d3 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/UseCase/CommentAPIUseCase.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/UseCase/CommentAPIUseCase.swift @@ -2,7 +2,7 @@ import Foundation import RxSwift -protocol CommentAPIUseCase { +public protocol CommentAPIUseCase { func postCommentAdd(popUpStoreId: Int64, content: String?, commentType: String?, imageUrlList: [String?]) -> Completable func deleteComment(popUpStoreId: Int64, commentId: Int64) -> Completable func editComment(popUpStoreId: Int64, commentId: Int64, content: String?, imageUrlList: [String?]?) -> Completable diff --git a/Poppool/DomainLayer/Domain/DomainInterface/UseCase/HomeAPIUseCase.swift b/Poppool/DomainLayer/Domain/DomainInterface/UseCase/HomeAPIUseCase.swift index 8bb6b392..30f6d2f0 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/UseCase/HomeAPIUseCase.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/UseCase/HomeAPIUseCase.swift @@ -2,7 +2,7 @@ import Foundation import RxSwift -protocol HomeAPIUseCase { +public protocol HomeAPIUseCase { func fetchHome(page: Int32?, size: Int32?, sort: String?) -> Observable func fetchCustomPopUp(page: Int32?, size: Int32?, sort: String?) -> Observable func fetchNewPopUp(page: Int32?, size: Int32?, sort: String?) -> Observable diff --git a/Poppool/DomainLayer/Domain/DomainInterface/UseCase/MapUseCase.swift b/Poppool/DomainLayer/Domain/DomainInterface/UseCase/MapUseCase.swift index f425adf0..b4c82a70 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/UseCase/MapUseCase.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/UseCase/MapUseCase.swift @@ -2,7 +2,7 @@ import Foundation import RxSwift -protocol MapUseCase { +public protocol MapUseCase { func fetchCategories() -> Observable<[CategoryResponse]> func fetchStoresInBounds( northEastLat: Double, diff --git a/Poppool/DomainLayer/Domain/DomainInterface/UseCase/PopUpAPIUseCase.swift b/Poppool/DomainLayer/Domain/DomainInterface/UseCase/PopUpAPIUseCase.swift index 1e122002..7748b47f 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/UseCase/PopUpAPIUseCase.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/UseCase/PopUpAPIUseCase.swift @@ -2,7 +2,7 @@ import Foundation import RxSwift -protocol PopUpAPIUseCase { +public protocol PopUpAPIUseCase { func getSearchBottomPopUpList(isOpen: Bool, categories: [Int64], page: Int32?, size: Int32, sort: String?) -> Observable func getSearchPopUpList(query: String?) -> Observable func getPopUpDetail(commentType: String?, popUpStoredId: Int64, isViewCount: Bool?) -> Observable diff --git a/Poppool/DomainLayer/Domain/DomainInterface/UseCase/SignUpAPIUseCase.swift b/Poppool/DomainLayer/Domain/DomainInterface/UseCase/SignUpAPIUseCase.swift index 8711e4a7..dc8fb97d 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/UseCase/SignUpAPIUseCase.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/UseCase/SignUpAPIUseCase.swift @@ -2,7 +2,7 @@ import Foundation import RxSwift -protocol SignUpAPIUseCase { +public protocol SignUpAPIUseCase { func trySignUp( nickName: String, gender: String, diff --git a/Poppool/DomainLayer/Domain/DomainInterface/UseCase/UserAPIUseCase.swift b/Poppool/DomainLayer/Domain/DomainInterface/UseCase/UserAPIUseCase.swift index e73f4cdf..6f74f9f8 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/UseCase/UserAPIUseCase.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/UseCase/UserAPIUseCase.swift @@ -2,7 +2,7 @@ import Foundation import RxSwift -protocol UserAPIUseCase { +public protocol UserAPIUseCase { func postBookmarkPopUp(popUpID: Int64) -> Completable func deleteBookmarkPopUp(popUpID: Int64) -> Completable func postCommentLike(commentId: Int64) -> Completable From 8e1998a21fc5722c92916d2f4527dba82623f993 Mon Sep 17 00:00:00 2001 From: 0Hooni Date: Sun, 20 Apr 2025 23:22:16 +0900 Subject: [PATCH 48/83] =?UTF-8?q?chore/#112:=20=EB=AA=A8=EB=93=88=EA=B0=84?= =?UTF-8?q?=20=ED=95=84=EC=9A=94=ED=95=9C=20=EC=9D=98=EC=A1=B4=EC=84=B1=20?= =?UTF-8?q?=EC=97=B0=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Data/Data.xcodeproj/project.pbxproj | 37 ++++++++++ .../Domain/Domain.xcodeproj/project.pbxproj | 71 +++++++++++++++++++ Poppool/Poppool.xcodeproj/project.pbxproj | 46 ++++++++++++ .../Presentation.xcodeproj/project.pbxproj | 37 ++++++++++ 4 files changed, 191 insertions(+) diff --git a/Poppool/DataLayer/Data/Data.xcodeproj/project.pbxproj b/Poppool/DataLayer/Data/Data.xcodeproj/project.pbxproj index 7a207670..2a120ba4 100644 --- a/Poppool/DataLayer/Data/Data.xcodeproj/project.pbxproj +++ b/Poppool/DataLayer/Data/Data.xcodeproj/project.pbxproj @@ -6,8 +6,32 @@ objectVersion = 77; objects = { +/* Begin PBXBuildFile section */ + 05C1D6172DB53A5600508FFD /* DomainInterface.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 05C1D6152DB53A5600508FFD /* DomainInterface.framework */; }; + 05C1D6182DB53A5600508FFD /* DomainInterface.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 05C1D6152DB53A5600508FFD /* DomainInterface.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 05C1D6192DB53A5600508FFD /* Infrastructure.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 05C1D6162DB53A5600508FFD /* Infrastructure.framework */; }; + 05C1D61A2DB53A5600508FFD /* Infrastructure.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 05C1D6162DB53A5600508FFD /* Infrastructure.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; +/* End PBXBuildFile section */ + +/* Begin PBXCopyFilesBuildPhase section */ + 05C1D61B2DB53A5600508FFD /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + 05C1D6182DB53A5600508FFD /* DomainInterface.framework in Embed Frameworks */, + 05C1D61A2DB53A5600508FFD /* Infrastructure.framework in Embed Frameworks */, + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + /* Begin PBXFileReference section */ 058CC8DC2DB5376A0084221A /* Data.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Data.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 05C1D6152DB53A5600508FFD /* DomainInterface.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = DomainInterface.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 05C1D6162DB53A5600508FFD /* Infrastructure.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Infrastructure.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFileSystemSynchronizedRootGroup section */ @@ -23,6 +47,8 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 05C1D6172DB53A5600508FFD /* DomainInterface.framework in Frameworks */, + 05C1D6192DB53A5600508FFD /* Infrastructure.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -33,6 +59,7 @@ isa = PBXGroup; children = ( 05C1D05C2DB5387500508FFD /* Data */, + 05C1D6142DB53A5600508FFD /* Frameworks */, 058CC8DD2DB5376A0084221A /* Products */, ); sourceTree = ""; @@ -45,6 +72,15 @@ name = Products; sourceTree = ""; }; + 05C1D6142DB53A5600508FFD /* Frameworks */ = { + isa = PBXGroup; + children = ( + 05C1D6152DB53A5600508FFD /* DomainInterface.framework */, + 05C1D6162DB53A5600508FFD /* Infrastructure.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ @@ -66,6 +102,7 @@ 058CC8D82DB5376A0084221A /* Sources */, 058CC8D92DB5376A0084221A /* Frameworks */, 058CC8DA2DB5376A0084221A /* Resources */, + 05C1D61B2DB53A5600508FFD /* Embed Frameworks */, ); buildRules = ( ); diff --git a/Poppool/DomainLayer/Domain/Domain.xcodeproj/project.pbxproj b/Poppool/DomainLayer/Domain/Domain.xcodeproj/project.pbxproj index 57b425c2..b5d78435 100644 --- a/Poppool/DomainLayer/Domain/Domain.xcodeproj/project.pbxproj +++ b/Poppool/DomainLayer/Domain/Domain.xcodeproj/project.pbxproj @@ -6,9 +6,56 @@ objectVersion = 77; objects = { +/* Begin PBXBuildFile section */ + 05C1D61E2DB53A6700508FFD /* DomainInterface.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 05C1D0DB2DB538A600508FFD /* DomainInterface.framework */; }; + 05C1D61F2DB53A6700508FFD /* DomainInterface.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 05C1D0DB2DB538A600508FFD /* DomainInterface.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 05C1D6222DB53A6700508FFD /* Infrastructure.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 05C1D61D2DB53A6700508FFD /* Infrastructure.framework */; }; + 05C1D6232DB53A6700508FFD /* Infrastructure.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 05C1D61D2DB53A6700508FFD /* Infrastructure.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 05C1D6262DB53A6E00508FFD /* Infrastructure.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 05C1D6252DB53A6E00508FFD /* Infrastructure.framework */; }; + 05C1D6272DB53A6E00508FFD /* Infrastructure.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 05C1D6252DB53A6E00508FFD /* Infrastructure.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 05C1D6202DB53A6700508FFD /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 058CC8E72DB5377F0084221A /* Project object */; + proxyType = 1; + remoteGlobalIDString = 05C1D0DA2DB538A600508FFD; + remoteInfo = DomainInterface; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXCopyFilesBuildPhase section */ + 05C1D6242DB53A6700508FFD /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + 05C1D61F2DB53A6700508FFD /* DomainInterface.framework in Embed Frameworks */, + 05C1D6232DB53A6700508FFD /* Infrastructure.framework in Embed Frameworks */, + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; + 05C1D6282DB53A6E00508FFD /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + 05C1D6272DB53A6E00508FFD /* Infrastructure.framework in Embed Frameworks */, + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + /* Begin PBXFileReference section */ 058CC8F02DB5377F0084221A /* Domain.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Domain.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 05C1D0DB2DB538A600508FFD /* DomainInterface.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = DomainInterface.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 05C1D61D2DB53A6700508FFD /* Infrastructure.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Infrastructure.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 05C1D6252DB53A6E00508FFD /* Infrastructure.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Infrastructure.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFileSystemSynchronizedRootGroup section */ @@ -29,6 +76,8 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 05C1D61E2DB53A6700508FFD /* DomainInterface.framework in Frameworks */, + 05C1D6222DB53A6700508FFD /* Infrastructure.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -36,6 +85,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 05C1D6262DB53A6E00508FFD /* Infrastructure.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -47,6 +97,7 @@ children = ( 058CC8F22DB5377F0084221A /* Domain */, 05C1D0DC2DB538A600508FFD /* DomainInterface */, + 05C1D61C2DB53A6700508FFD /* Frameworks */, 058CC8F12DB5377F0084221A /* Products */, ); sourceTree = ""; @@ -60,6 +111,15 @@ name = Products; sourceTree = ""; }; + 05C1D61C2DB53A6700508FFD /* Frameworks */ = { + isa = PBXGroup; + children = ( + 05C1D6252DB53A6E00508FFD /* Infrastructure.framework */, + 05C1D61D2DB53A6700508FFD /* Infrastructure.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ @@ -88,10 +148,12 @@ 058CC8EC2DB5377F0084221A /* Sources */, 058CC8ED2DB5377F0084221A /* Frameworks */, 058CC8EE2DB5377F0084221A /* Resources */, + 05C1D6242DB53A6700508FFD /* Embed Frameworks */, ); buildRules = ( ); dependencies = ( + 05C1D6212DB53A6700508FFD /* PBXTargetDependency */, ); fileSystemSynchronizedGroups = ( 058CC8F22DB5377F0084221A /* Domain */, @@ -111,6 +173,7 @@ 05C1D0D72DB538A600508FFD /* Sources */, 05C1D0D82DB538A600508FFD /* Frameworks */, 05C1D0D92DB538A600508FFD /* Resources */, + 05C1D6282DB53A6E00508FFD /* Embed Frameworks */, ); buildRules = ( ); @@ -198,6 +261,14 @@ }; /* End PBXSourcesBuildPhase section */ +/* Begin PBXTargetDependency section */ + 05C1D6212DB53A6700508FFD /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 05C1D0DA2DB538A600508FFD /* DomainInterface */; + targetProxy = 05C1D6202DB53A6700508FFD /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + /* Begin XCBuildConfiguration section */ 058CC8F52DB5377F0084221A /* Debug */ = { isa = XCBuildConfiguration; diff --git a/Poppool/Poppool.xcodeproj/project.pbxproj b/Poppool/Poppool.xcodeproj/project.pbxproj index ac472c55..b89c06d8 100644 --- a/Poppool/Poppool.xcodeproj/project.pbxproj +++ b/Poppool/Poppool.xcodeproj/project.pbxproj @@ -7,6 +7,14 @@ objects = { /* Begin PBXBuildFile section */ + 05C1D60B2DB53A4900508FFD /* Data.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 05C1D6072DB53A4900508FFD /* Data.framework */; }; + 05C1D60C2DB53A4900508FFD /* Data.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 05C1D6072DB53A4900508FFD /* Data.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 05C1D60D2DB53A4900508FFD /* Domain.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 05C1D6082DB53A4900508FFD /* Domain.framework */; }; + 05C1D60E2DB53A4900508FFD /* Domain.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 05C1D6082DB53A4900508FFD /* Domain.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 05C1D60F2DB53A4900508FFD /* Infrastructure.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 05C1D6092DB53A4900508FFD /* Infrastructure.framework */; }; + 05C1D6102DB53A4900508FFD /* Infrastructure.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 05C1D6092DB53A4900508FFD /* Infrastructure.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 05C1D6112DB53A4900508FFD /* Presentation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 05C1D60A2DB53A4900508FFD /* Presentation.framework */; }; + 05C1D6122DB53A4900508FFD /* Presentation.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 05C1D60A2DB53A4900508FFD /* Presentation.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 082197A12D426DCB0054094A /* Then in Frameworks */ = {isa = PBXBuildFile; productRef = 082197A02D426DCB0054094A /* Then */; }; 083A25D02CF364B70099B58E /* Alamofire in Frameworks */ = {isa = PBXBuildFile; productRef = 083A25CF2CF364B70099B58E /* Alamofire */; }; 088DE2442D104EE70030FA9E /* SwiftSoup in Frameworks */ = {isa = PBXBuildFile; productRef = 088DE2432D104EE70030FA9E /* SwiftSoup */; }; @@ -28,8 +36,29 @@ BDCA42102CF35FF5005EECF6 /* Lottie in Frameworks */ = {isa = PBXBuildFile; productRef = BDCA420F2CF35FF5005EECF6 /* Lottie */; }; /* End PBXBuildFile section */ +/* Begin PBXCopyFilesBuildPhase section */ + 05C1D6132DB53A4900508FFD /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + 05C1D6102DB53A4900508FFD /* Infrastructure.framework in Embed Frameworks */, + 05C1D60E2DB53A4900508FFD /* Domain.framework in Embed Frameworks */, + 05C1D6122DB53A4900508FFD /* Presentation.framework in Embed Frameworks */, + 05C1D60C2DB53A4900508FFD /* Data.framework in Embed Frameworks */, + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + /* Begin PBXFileReference section */ 05229DD02D99519200D88E73 /* .swiftlint.yml */ = {isa = PBXFileReference; lastKnownFileType = text.yaml; path = .swiftlint.yml; sourceTree = ""; }; + 05C1D6072DB53A4900508FFD /* Data.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Data.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 05C1D6082DB53A4900508FFD /* Domain.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Domain.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 05C1D6092DB53A4900508FFD /* Infrastructure.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Infrastructure.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 05C1D60A2DB53A4900508FFD /* Presentation.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Presentation.framework; sourceTree = BUILT_PRODUCTS_DIR; }; BDCA41BD2CF35AC0005EECF6 /* Poppool.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Poppool.app; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ @@ -65,13 +94,17 @@ buildActionMask = 2147483647; files = ( BDCA41F82CF35D9A005EECF6 /* RxSwift in Frameworks */, + 05C1D60F2DB53A4900508FFD /* Infrastructure.framework in Frameworks */, BDCA420D2CF35FD2005EECF6 /* RxGesture in Frameworks */, BDCA42072CF35FA6005EECF6 /* Tabman in Frameworks */, BDCA42042CF35F76005EECF6 /* PanModal in Frameworks */, 082197A12D426DCB0054094A /* Then in Frameworks */, 4E15142E2D994A3A00DFD08F /* KakaoSDKAuth in Frameworks */, + 05C1D60D2DB53A4900508FFD /* Domain.framework in Frameworks */, 083A25D02CF364B70099B58E /* Alamofire in Frameworks */, 4E1514302D994A3A00DFD08F /* KakaoSDKCommon in Frameworks */, + 05C1D6112DB53A4900508FFD /* Presentation.framework in Frameworks */, + 05C1D60B2DB53A4900508FFD /* Data.framework in Frameworks */, BDCA42102CF35FF5005EECF6 /* Lottie in Frameworks */, BDCA41FE2CF35EE7005EECF6 /* ReactorKit in Frameworks */, BDCA41F22CF35D0D005EECF6 /* SnapKit in Frameworks */, @@ -89,11 +122,23 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ + 05C1D6062DB53A4900508FFD /* Frameworks */ = { + isa = PBXGroup; + children = ( + 05C1D6072DB53A4900508FFD /* Data.framework */, + 05C1D6082DB53A4900508FFD /* Domain.framework */, + 05C1D6092DB53A4900508FFD /* Infrastructure.framework */, + 05C1D60A2DB53A4900508FFD /* Presentation.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; BDCA41B42CF35AC0005EECF6 = { isa = PBXGroup; children = ( 05229DD02D99519200D88E73 /* .swiftlint.yml */, 058789AD2DAD2E10004F81E2 /* Poppool */, + 05C1D6062DB53A4900508FFD /* Frameworks */, BDCA41BE2CF35AC0005EECF6 /* Products */, ); sourceTree = ""; @@ -117,6 +162,7 @@ BDCA41B92CF35AC0005EECF6 /* Sources */, BDCA41BA2CF35AC0005EECF6 /* Frameworks */, BDCA41BB2CF35AC0005EECF6 /* Resources */, + 05C1D6132DB53A4900508FFD /* Embed Frameworks */, ); buildRules = ( ); diff --git a/Poppool/PresentationLayer/Presentation/Presentation.xcodeproj/project.pbxproj b/Poppool/PresentationLayer/Presentation/Presentation.xcodeproj/project.pbxproj index acc077fa..48d6a932 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation.xcodeproj/project.pbxproj +++ b/Poppool/PresentationLayer/Presentation/Presentation.xcodeproj/project.pbxproj @@ -6,8 +6,32 @@ objectVersion = 77; objects = { +/* Begin PBXBuildFile section */ + 05C1D62C2DB53A8200508FFD /* DomainInterface.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 05C1D62A2DB53A8200508FFD /* DomainInterface.framework */; }; + 05C1D62D2DB53A8200508FFD /* DomainInterface.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 05C1D62A2DB53A8200508FFD /* DomainInterface.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 05C1D62E2DB53A8200508FFD /* Infrastructure.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 05C1D62B2DB53A8200508FFD /* Infrastructure.framework */; }; + 05C1D62F2DB53A8200508FFD /* Infrastructure.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 05C1D62B2DB53A8200508FFD /* Infrastructure.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; +/* End PBXBuildFile section */ + +/* Begin PBXCopyFilesBuildPhase section */ + 05C1D6302DB53A8200508FFD /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + 05C1D62D2DB53A8200508FFD /* DomainInterface.framework in Embed Frameworks */, + 05C1D62F2DB53A8200508FFD /* Infrastructure.framework in Embed Frameworks */, + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + /* Begin PBXFileReference section */ 058CC9042DB537960084221A /* Presentation.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Presentation.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 05C1D62A2DB53A8200508FFD /* DomainInterface.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = DomainInterface.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 05C1D62B2DB53A8200508FFD /* Infrastructure.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Infrastructure.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFileSystemSynchronizedRootGroup section */ @@ -23,6 +47,8 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 05C1D62C2DB53A8200508FFD /* DomainInterface.framework in Frameworks */, + 05C1D62E2DB53A8200508FFD /* Infrastructure.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -33,6 +59,7 @@ isa = PBXGroup; children = ( 058CC9062DB537960084221A /* Presentation */, + 05C1D6292DB53A8200508FFD /* Frameworks */, 058CC9052DB537960084221A /* Products */, ); sourceTree = ""; @@ -45,6 +72,15 @@ name = Products; sourceTree = ""; }; + 05C1D6292DB53A8200508FFD /* Frameworks */ = { + isa = PBXGroup; + children = ( + 05C1D62A2DB53A8200508FFD /* DomainInterface.framework */, + 05C1D62B2DB53A8200508FFD /* Infrastructure.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ @@ -66,6 +102,7 @@ 058CC9002DB537960084221A /* Sources */, 058CC9012DB537960084221A /* Frameworks */, 058CC9022DB537960084221A /* Resources */, + 05C1D6302DB53A8200508FFD /* Embed Frameworks */, ); buildRules = ( ); From 512dcde56346ff738c0dc0ad82c2b96e1cdc8441 Mon Sep 17 00:00:00 2001 From: 0Hooni Date: Sun, 20 Apr 2025 23:24:23 +0900 Subject: [PATCH 49/83] =?UTF-8?q?chore/#112:=20Build=20phase=EC=97=90=20?= =?UTF-8?q?=EC=BB=B4=ED=8C=8C=EC=9D=BC=ED=95=A0=20=EC=86=8C=EC=8A=A4=20?= =?UTF-8?q?=EB=AA=A9=EB=A1=9D=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Data/Data.xcodeproj/project.pbxproj | 85 +++++++++++++++++++ 1 file changed, 85 insertions(+) diff --git a/Poppool/DataLayer/Data/Data.xcodeproj/project.pbxproj b/Poppool/DataLayer/Data/Data.xcodeproj/project.pbxproj index 2a120ba4..b05e0790 100644 --- a/Poppool/DataLayer/Data/Data.xcodeproj/project.pbxproj +++ b/Poppool/DataLayer/Data/Data.xcodeproj/project.pbxproj @@ -34,9 +34,94 @@ 05C1D6162DB53A5600508FFD /* Infrastructure.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Infrastructure.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ +/* Begin PBXFileSystemSynchronizedBuildFileExceptionSet section */ + 05C1D67A2DB53AB000508FFD /* Exceptions for "Data" folder in "Data" target */ = { + isa = PBXFileSystemSynchronizedBuildFileExceptionSet; + membershipExceptions = ( + Network/API/AdminAPI/AdminAPIEndpoint.swift, + Network/API/AdminAPI/ResponseDTO/AdminResponseDTO.swift, + Network/API/AdminAPI/ResponseDTO/GetAdminPopUpStoreListResponseDTO.swift, + Network/API/AuthAPI/AuthAPIEndPoint.swift, + Network/API/AuthAPI/ResponseDTO/LoginResponseDTO.swift, + Network/API/AuthAPI/ResponseDTO/PostTokenReissueResponseDTO.swift, + Network/API/CommentAPI/CommentAPIEndPoint.swift, + Network/API/CommentAPI/RequestDTO/DeleteCommentRequestDTO.swift, + Network/API/CommentAPI/RequestDTO/PostCommentRequestDTO.swift, + Network/API/CommentAPI/RequestDTO/PutCommentRequestDTO.swift, + Network/API/HomeAPI/HomeAPIEndpoint.swift, + Network/API/HomeAPI/RequestDTO/HomeSortedRequestDTO.swift, + Network/API/HomeAPI/ResponseDTO/BannerPopUpStoreDTO.swift, + Network/API/HomeAPI/ResponseDTO/GetHomeInfoResponseDTO.swift, + Network/API/HomeAPI/ResponseDTO/PopUpStoreResponseDTO.swift, + Network/API/MapAPI/FindDirectionEndPoint.swift, + Network/API/MapAPI/MapAPIEndpoint.swift, + Network/API/MapAPI/ResponseDTO/GetPopUpDirectionResponseDTO.swift, + Network/API/MapAPI/ResponseDTO/MapPopUpStoreDTO.swift, + Network/API/PopUpAPI/PopUpAPIEndPoint.swift, + Network/API/PopUpAPI/RequestDTO/GetPopUpCommentRequestDTO.swift, + Network/API/PopUpAPI/RequestDTO/GetPopUpDetailRequestDTO.swift, + Network/API/PopUpAPI/RequestDTO/GetSearchPopUpListRequestDTO.swift, + Network/API/PopUpAPI/ResponseDTO/GetClosePopUpListResponseDTO.swift, + Network/API/PopUpAPI/ResponseDTO/GetOpenPopUpListResponseDTO.swift, + Network/API/PopUpAPI/ResponseDTO/GetPopUpCommentResponseDTO.swift, + Network/API/PopUpAPI/ResponseDTO/GetPopUpDetailResponseDTO.swift, + Network/API/PopUpAPI/ResponseDTO/GetSearchPopUpListResponseDTO.swift, + Network/API/PreSignedAPI/PreSignedAPIEndPoint.swift, + Network/API/PreSignedAPI/RequestDTO/PresignedURLRequestDTO.swift, + Network/API/PreSignedAPI/ResponseDTO/PreSignedURLDTO.swift, + Network/API/PreSignedAPI/ResponseDTO/PreSignedURLResponseDTO.swift, + Network/API/SignUpAPI/RequestDTO/CheckNickNameRequestDTO.swift, + Network/API/SignUpAPI/RequestDTO/SignUpRequestDTO.swift, + Network/API/SignUpAPI/ResponseDTO/GetCategoryListResponseDTO.swift, + Network/API/SignUpAPI/SignUpAPIEndpoint.swift, + Network/API/UserAPI/RequesetDTO/CommentLikeRequestDTO.swift, + Network/API/UserAPI/RequesetDTO/GetMyCommentRequestDTO.swift, + Network/API/UserAPI/RequesetDTO/GetOtherUserCommentListRequestDTO.swift, + Network/API/UserAPI/RequesetDTO/PostBookmarkPopUpRequestDTO.swift, + Network/API/UserAPI/RequesetDTO/PostUserBlockRequestDTO.swift, + Network/API/UserAPI/RequesetDTO/PutUserCategoryRequestDTO.swift, + Network/API/UserAPI/RequesetDTO/PutUserProfileRequestDTO.swift, + Network/API/UserAPI/RequesetDTO/PutUserTailoredInfoRequestDTO.swift, + Network/API/UserAPI/RequesetDTO/UserSortedRequestDTO.swift, + Network/API/UserAPI/ResponseDTO/GetBlockUserListResponseDTO.swift, + Network/API/UserAPI/ResponseDTO/GetMyCommentedPopUpResponseDTO.swift, + Network/API/UserAPI/ResponseDTO/GetMyPageResponseDTO.swift, + Network/API/UserAPI/ResponseDTO/GetMyProfileResponseDTO.swift, + Network/API/UserAPI/ResponseDTO/GetNoticeDetailResponseDTO.swift, + Network/API/UserAPI/ResponseDTO/GetNoticeListResponseDTO.swift, + Network/API/UserAPI/ResponseDTO/GetOtherUserCommentedPopUpListResponseDTO.swift, + Network/API/UserAPI/ResponseDTO/GetRecentPopUpResponseDTO.swift, + Network/API/UserAPI/ResponseDTO/GetWithdrawlListResponseDTO.swift, + Network/API/UserAPI/UserAPIEndPoint.swift, + Network/Common/NetworkError.swift, + Network/Common/Requestable.swift, + Network/Common/Responsable.swift, + Network/EndPoint/Endpoint.swift, + Network/EndPoint/MultipartEndPoint.swift, + Network/EndPoint/RequestEndpoint.swift, + Network/Interceptor/TokenInterceptor.swift, + Network/Provider/Provider.swift, + Network/Provider/ProviderImpl.swift, + RepositoryImpl/AdminRepositoryImpl.swift, + RepositoryImpl/AuthAPIRepositoryImpl.swift, + RepositoryImpl/CommentAPIRepositoryImpl.swift, + RepositoryImpl/HomeAPIRepositoryImpl.swift, + RepositoryImpl/MapDirectionRepositoryImpl.swift, + RepositoryImpl/MapRepositoryImpl.swift, + RepositoryImpl/PopUpAPIRepositoryImpl.swift, + RepositoryImpl/SignUpRepositoryImpl.swift, + RepositoryImpl/UserAPIRepositoryImpl.swift, + ); + target = 058CC8DB2DB5376A0084221A /* Data */; + }; +/* End PBXFileSystemSynchronizedBuildFileExceptionSet section */ + /* Begin PBXFileSystemSynchronizedRootGroup section */ 05C1D05C2DB5387500508FFD /* Data */ = { isa = PBXFileSystemSynchronizedRootGroup; + exceptions = ( + 05C1D67A2DB53AB000508FFD /* Exceptions for "Data" folder in "Data" target */, + ); path = Data; sourceTree = ""; }; From c6795b461c92bc75231f0232edf27332ff0ec4be Mon Sep 17 00:00:00 2001 From: 0Hooni Date: Sun, 20 Apr 2025 23:26:33 +0900 Subject: [PATCH 50/83] =?UTF-8?q?refactor/#112:=20=EA=B5=AC=ED=98=84?= =?UTF-8?q?=EC=B2=B4=EC=97=90=20DomainInterface=EB=A5=BC=20import?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Data/Data/RepositoryImpl/AdminRepositoryImpl.swift | 5 ++++- .../Data/Data/RepositoryImpl/AuthAPIRepositoryImpl.swift | 3 +++ .../Data/Data/RepositoryImpl/CommentAPIRepositoryImpl.swift | 2 ++ .../Data/Data/RepositoryImpl/HomeAPIRepositoryImpl.swift | 2 ++ .../Data/RepositoryImpl/MapDirectionRepositoryImpl.swift | 2 ++ .../Data/Data/RepositoryImpl/MapRepositoryImpl.swift | 2 ++ .../Data/Data/RepositoryImpl/PopUpAPIRepositoryImpl.swift | 2 ++ .../Data/Data/RepositoryImpl/SignUpRepositoryImpl.swift | 2 ++ .../Data/Data/RepositoryImpl/UserAPIRepositoryImpl.swift | 2 ++ .../Domain/Domain/UseCaseImpl/AdminUseCaseImpl.swift | 3 +++ .../Domain/Domain/UseCaseImpl/AuthAPIUseCaseImpl.swift | 3 +++ .../Domain/Domain/UseCaseImpl/CommentAPIUseCaseImpl.swift | 3 +++ .../Domain/Domain/UseCaseImpl/HomeAPIUseCaseImpl.swift | 2 ++ .../Domain/Domain/UseCaseImpl/MapUseCaseImpl.swift | 2 ++ .../Domain/Domain/UseCaseImpl/PopUpAPIUseCaseImpl.swift | 2 ++ .../Domain/Domain/UseCaseImpl/SignUpAPIUseCaseImpl.swift | 2 ++ .../Domain/Domain/UseCaseImpl/UserAPIUseCaseImpl.swift | 2 ++ 17 files changed, 40 insertions(+), 1 deletion(-) diff --git a/Poppool/DataLayer/Data/Data/RepositoryImpl/AdminRepositoryImpl.swift b/Poppool/DataLayer/Data/Data/RepositoryImpl/AdminRepositoryImpl.swift index 5856ca40..73bf0cf3 100644 --- a/Poppool/DataLayer/Data/Data/RepositoryImpl/AdminRepositoryImpl.swift +++ b/Poppool/DataLayer/Data/Data/RepositoryImpl/AdminRepositoryImpl.swift @@ -1,5 +1,8 @@ -import Alamofire import Foundation + +import DomainInterface + +import Alamofire import RxSwift final class AdminRepositoryImpl: AdminRepository { diff --git a/Poppool/DataLayer/Data/Data/RepositoryImpl/AuthAPIRepositoryImpl.swift b/Poppool/DataLayer/Data/Data/RepositoryImpl/AuthAPIRepositoryImpl.swift index c1f27826..bd991c59 100644 --- a/Poppool/DataLayer/Data/Data/RepositoryImpl/AuthAPIRepositoryImpl.swift +++ b/Poppool/DataLayer/Data/Data/RepositoryImpl/AuthAPIRepositoryImpl.swift @@ -1,4 +1,7 @@ import Foundation + +import DomainInterface + import RxSwift final class AuthAPIRepositoryImpl: AuthAPIRepository { diff --git a/Poppool/DataLayer/Data/Data/RepositoryImpl/CommentAPIRepositoryImpl.swift b/Poppool/DataLayer/Data/Data/RepositoryImpl/CommentAPIRepositoryImpl.swift index 6fa51907..210c31c0 100644 --- a/Poppool/DataLayer/Data/Data/RepositoryImpl/CommentAPIRepositoryImpl.swift +++ b/Poppool/DataLayer/Data/Data/RepositoryImpl/CommentAPIRepositoryImpl.swift @@ -1,5 +1,7 @@ import Foundation +import DomainInterface + import RxSwift final class CommentAPIRepositoryImpl: CommentAPIRepository { diff --git a/Poppool/DataLayer/Data/Data/RepositoryImpl/HomeAPIRepositoryImpl.swift b/Poppool/DataLayer/Data/Data/RepositoryImpl/HomeAPIRepositoryImpl.swift index bd4d02e2..fe8e4b44 100644 --- a/Poppool/DataLayer/Data/Data/RepositoryImpl/HomeAPIRepositoryImpl.swift +++ b/Poppool/DataLayer/Data/Data/RepositoryImpl/HomeAPIRepositoryImpl.swift @@ -1,5 +1,7 @@ import Foundation +import DomainInterface + import RxSwift final class HomeAPIRepositoryImpl: HomeAPIRepository { diff --git a/Poppool/DataLayer/Data/Data/RepositoryImpl/MapDirectionRepositoryImpl.swift b/Poppool/DataLayer/Data/Data/RepositoryImpl/MapDirectionRepositoryImpl.swift index 25a7791f..b9f8c297 100644 --- a/Poppool/DataLayer/Data/Data/RepositoryImpl/MapDirectionRepositoryImpl.swift +++ b/Poppool/DataLayer/Data/Data/RepositoryImpl/MapDirectionRepositoryImpl.swift @@ -1,5 +1,7 @@ import Foundation +import DomainInterface + import RxSwift final class MapDirectionRepositoryImpl: MapDirectionRepository { diff --git a/Poppool/DataLayer/Data/Data/RepositoryImpl/MapRepositoryImpl.swift b/Poppool/DataLayer/Data/Data/RepositoryImpl/MapRepositoryImpl.swift index 08ffdbee..fa6b742c 100644 --- a/Poppool/DataLayer/Data/Data/RepositoryImpl/MapRepositoryImpl.swift +++ b/Poppool/DataLayer/Data/Data/RepositoryImpl/MapRepositoryImpl.swift @@ -1,5 +1,7 @@ import Foundation +import DomainInterface + import RxSwift final class MapRepositoryImpl: MapRepository { diff --git a/Poppool/DataLayer/Data/Data/RepositoryImpl/PopUpAPIRepositoryImpl.swift b/Poppool/DataLayer/Data/Data/RepositoryImpl/PopUpAPIRepositoryImpl.swift index ab8e22d6..37600666 100644 --- a/Poppool/DataLayer/Data/Data/RepositoryImpl/PopUpAPIRepositoryImpl.swift +++ b/Poppool/DataLayer/Data/Data/RepositoryImpl/PopUpAPIRepositoryImpl.swift @@ -1,5 +1,7 @@ import Foundation +import DomainInterface + import RxSwift final class PopUpAPIRepositoryImpl: PopUpAPIRepository { diff --git a/Poppool/DataLayer/Data/Data/RepositoryImpl/SignUpRepositoryImpl.swift b/Poppool/DataLayer/Data/Data/RepositoryImpl/SignUpRepositoryImpl.swift index d6b071d0..a3b4f7fe 100644 --- a/Poppool/DataLayer/Data/Data/RepositoryImpl/SignUpRepositoryImpl.swift +++ b/Poppool/DataLayer/Data/Data/RepositoryImpl/SignUpRepositoryImpl.swift @@ -1,5 +1,7 @@ import Foundation +import DomainInterface + import RxSwift final class SignUpRepositoryImpl: SignUpRepository { diff --git a/Poppool/DataLayer/Data/Data/RepositoryImpl/UserAPIRepositoryImpl.swift b/Poppool/DataLayer/Data/Data/RepositoryImpl/UserAPIRepositoryImpl.swift index c8d3c00b..31ca397c 100644 --- a/Poppool/DataLayer/Data/Data/RepositoryImpl/UserAPIRepositoryImpl.swift +++ b/Poppool/DataLayer/Data/Data/RepositoryImpl/UserAPIRepositoryImpl.swift @@ -1,5 +1,7 @@ import Foundation +import DomainInterface + import RxSwift final class UserAPIRepositoryImpl: UserAPIRepository { diff --git a/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/AdminUseCaseImpl.swift b/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/AdminUseCaseImpl.swift index 1f11e19f..52c25f65 100644 --- a/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/AdminUseCaseImpl.swift +++ b/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/AdminUseCaseImpl.swift @@ -1,4 +1,7 @@ import Foundation + +import DomainInterface + import RxSwift final class AdminUseCaseImpl: AdminUseCase { diff --git a/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/AuthAPIUseCaseImpl.swift b/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/AuthAPIUseCaseImpl.swift index 258cb9e0..81aabcdc 100644 --- a/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/AuthAPIUseCaseImpl.swift +++ b/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/AuthAPIUseCaseImpl.swift @@ -1,4 +1,7 @@ import Foundation + +import DomainInterface + import RxSwift final class AuthAPIUseCaseImpl: AuthAPIUseCase { diff --git a/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/CommentAPIUseCaseImpl.swift b/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/CommentAPIUseCaseImpl.swift index 96b13ae4..695e669f 100644 --- a/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/CommentAPIUseCaseImpl.swift +++ b/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/CommentAPIUseCaseImpl.swift @@ -1,4 +1,7 @@ import Foundation + +import DomainInterface + import RxSwift final class CommentAPIUseCaseImpl: CommentAPIUseCase { diff --git a/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/HomeAPIUseCaseImpl.swift b/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/HomeAPIUseCaseImpl.swift index 2251ba97..17ee1e6f 100644 --- a/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/HomeAPIUseCaseImpl.swift +++ b/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/HomeAPIUseCaseImpl.swift @@ -1,5 +1,7 @@ import Foundation +import DomainInterface + import RxSwift final class HomeAPIUseCaseImpl: HomeAPIUseCase { diff --git a/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/MapUseCaseImpl.swift b/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/MapUseCaseImpl.swift index 7ffd64c2..a6b7d558 100644 --- a/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/MapUseCaseImpl.swift +++ b/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/MapUseCaseImpl.swift @@ -1,5 +1,7 @@ import Foundation +import DomainInterface + import RxSwift final class MapUseCaseImpl: MapUseCase { diff --git a/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/PopUpAPIUseCaseImpl.swift b/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/PopUpAPIUseCaseImpl.swift index c199fddb..b437cb38 100644 --- a/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/PopUpAPIUseCaseImpl.swift +++ b/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/PopUpAPIUseCaseImpl.swift @@ -1,5 +1,7 @@ import Foundation +import DomainInterface + import RxSwift final class PopUpAPIUseCaseImpl: PopUpAPIUseCase { diff --git a/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/SignUpAPIUseCaseImpl.swift b/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/SignUpAPIUseCaseImpl.swift index 78c69f75..baf641ca 100644 --- a/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/SignUpAPIUseCaseImpl.swift +++ b/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/SignUpAPIUseCaseImpl.swift @@ -1,5 +1,7 @@ import Foundation +import DomainInterface + import RxSwift final class SignUpAPIUseCaseImpl: SignUpAPIUseCase { diff --git a/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/UserAPIUseCaseImpl.swift b/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/UserAPIUseCaseImpl.swift index d13ea254..f33df46e 100644 --- a/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/UserAPIUseCaseImpl.swift +++ b/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/UserAPIUseCaseImpl.swift @@ -1,5 +1,7 @@ import Foundation +import DomainInterface + import RxSwift final class UserAPIUseCaseImpl: UserAPIUseCase { From c52cfd8492a91b5b94544bcbc5fc067d224da45b Mon Sep 17 00:00:00 2001 From: 0Hooni Date: Sun, 20 Apr 2025 23:30:02 +0900 Subject: [PATCH 51/83] =?UTF-8?q?refactor/#112:=20=EC=99=B8=EB=B6=80?= =?UTF-8?q?=EC=97=90=EC=84=9C=20=EC=95=8C=EB=8F=84=EB=A1=9D=20Entity=20?= =?UTF-8?q?=EC=A0=91=EA=B7=BC=EC=A0=9C=EC=96=B4=EC=9E=90=EB=A5=BC=20public?= =?UTF-8?q?=EC=9C=BC=EB=A1=9C=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Entity/AdminResponse/AdminStore.swift | 2 +- .../Entity/AdminResponse/AdminStoreDetail.swift | 2 +- .../Entity/AdminResponse/Params/AdminParams.swift | 8 ++++---- .../Entity/AuthResponse/CategoryResponse.swift | 9 +-------- .../Entity/AuthResponse/LoginResponse.swift | 9 +-------- .../AuthResponse/PostTokenReissueResponse.swift | 9 +-------- .../Entity/HomeResponse/BannerPopUpStore.swift | 9 +-------- .../Entity/HomeResponse/GetHomeInfoResponse.swift | 9 +-------- .../Entity/MapResponse/MapPopUpStore.swift | 2 +- .../PopUpResponse/GetPopUpCommentResponse.swift | 9 +-------- .../PopUpResponse/GetPopUpDetailResponse.swift | 15 ++++----------- .../GetSearchBottomPopUpListResponse.swift | 9 +-------- .../GetSearchPopUpListResponse.swift | 9 +-------- .../Entity/PopUpResponse/PopUpStoreResponse.swift | 9 +-------- .../UserResponse/GetBlockUserListResponse.swift | 11 ++--------- .../UserResponse/GetMyCommentResponse.swift | 11 ++--------- .../Entity/UserResponse/GetMyPageResponse.swift | 11 ++--------- .../UserResponse/GetMyProfileResponse.swift | 9 +-------- .../UserResponse/GetNoticeDetailResponse.swift | 9 +-------- .../UserResponse/GetNoticeListResponse.swift | 11 ++--------- .../GetOtherUserCommentedPopUpListResponse.swift | 11 ++--------- .../UserResponse/GetRecentPopUpResponse.swift | 14 ++++---------- .../UserResponse/GetWithdrawlListResponse.swift | 11 ++--------- 23 files changed, 38 insertions(+), 170 deletions(-) diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/AdminResponse/AdminStore.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/AdminResponse/AdminStore.swift index 58db4f63..54f2a211 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/AdminResponse/AdminStore.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/AdminResponse/AdminStore.swift @@ -1,6 +1,6 @@ import Foundation -struct AdminStore { +public struct AdminStore { let id: Int64 let name: String let categoryName: String diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/AdminResponse/AdminStoreDetail.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/AdminResponse/AdminStoreDetail.swift index dc8f91ef..62c26415 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/AdminResponse/AdminStoreDetail.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/AdminResponse/AdminStoreDetail.swift @@ -1,6 +1,6 @@ import Foundation -struct AdminStoreDetail { +public struct AdminStoreDetail { let id: Int64 let name: String let categoryId: Int64 diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/AdminResponse/Params/AdminParams.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/AdminResponse/Params/AdminParams.swift index 8f5a9d7e..f9262d37 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/AdminResponse/Params/AdminParams.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/AdminResponse/Params/AdminParams.swift @@ -1,6 +1,6 @@ import Foundation -struct CreateStoreParams { +public struct CreateStoreParams { let name: String let categoryId: Int64 let desc: String @@ -16,7 +16,7 @@ struct CreateStoreParams { let startDateBeforeEndDate: Bool } -struct UpdateStoreParams { +public struct UpdateStoreParams { let id: Int64 let name: String let categoryId: Int64 @@ -34,13 +34,13 @@ struct UpdateStoreParams { let startDateBeforeEndDate: Bool } -struct CreateNoticeParams { +public struct CreateNoticeParams { let title: String let content: String let imageUrlList: [String] } -struct UpdateNoticeParams { +public struct UpdateNoticeParams { let id: Int64 let title: String let content: String diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/AuthResponse/CategoryResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/AuthResponse/CategoryResponse.swift index 20972e3c..8951e68d 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/AuthResponse/CategoryResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/AuthResponse/CategoryResponse.swift @@ -1,13 +1,6 @@ -// -// Category.swift -// Poppool -// -// Created by Porori on 11/25/24. -// - import Foundation -struct CategoryResponse { +public struct CategoryResponse { let categoryId: Int64 let category: String } diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/AuthResponse/LoginResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/AuthResponse/LoginResponse.swift index 7cb0f2a1..676a45b3 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/AuthResponse/LoginResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/AuthResponse/LoginResponse.swift @@ -1,13 +1,6 @@ -// -// LoginResponse.swift -// Poppool -// -// Created by Porori on 11/25/24. -// - import Foundation -struct LoginResponse { +public struct LoginResponse { var userId: String var grantType: String var accessToken: String diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/AuthResponse/PostTokenReissueResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/AuthResponse/PostTokenReissueResponse.swift index 299e9612..d661cfba 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/AuthResponse/PostTokenReissueResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/AuthResponse/PostTokenReissueResponse.swift @@ -1,13 +1,6 @@ -// -// PostTokenReissueResponse.swift -// Poppool -// -// Created by SeoJunYoung on 1/16/25. -// - import Foundation -struct PostTokenReissueResponse { +public struct PostTokenReissueResponse { var accessToken: String? var refreshToken: String? var accessTokenExpiresAt: String? diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/HomeResponse/BannerPopUpStore.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/HomeResponse/BannerPopUpStore.swift index 11868aaf..9f572658 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/HomeResponse/BannerPopUpStore.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/HomeResponse/BannerPopUpStore.swift @@ -1,13 +1,6 @@ -// -// BannerPopUpStore.swift -// Poppool -// -// Created by Porori on 11/26/24. -// - import Foundation -struct BannerPopUpStore { +public struct BannerPopUpStore { var id: Int64 var name: String var mainImageUrl: String diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/HomeResponse/GetHomeInfoResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/HomeResponse/GetHomeInfoResponse.swift index a12a3fce..10a39158 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/HomeResponse/GetHomeInfoResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/HomeResponse/GetHomeInfoResponse.swift @@ -1,13 +1,6 @@ -// -// GetHomeInfoResponse.swift -// Poppool -// -// Created by Porori on 11/26/24. -// - import Foundation -struct GetHomeInfoResponse { +public struct GetHomeInfoResponse { var bannerPopUpStoreList: [BannerPopUpStore] var nickname: String? var customPopUpStoreList: [PopUpStoreResponse] diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/MapResponse/MapPopUpStore.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/MapResponse/MapPopUpStore.swift index 65fc7ebb..5bf58009 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/MapResponse/MapPopUpStore.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/MapResponse/MapPopUpStore.swift @@ -1,6 +1,6 @@ import Foundation -struct MapPopUpStore: Equatable { +public struct MapPopUpStore: Equatable { let id: Int64 let category: String let name: String diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetPopUpCommentResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetPopUpCommentResponse.swift index 9befaef6..2d60f542 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetPopUpCommentResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetPopUpCommentResponse.swift @@ -1,12 +1,5 @@ -// -// GetPopUpCommentResponse.swift -// Poppool -// -// Created by SeoJunYoung on 12/25/24. -// - import Foundation -struct GetPopUpCommentResponse { +public struct GetPopUpCommentResponse { let commentList: [GetPopUpDetailCommentResponse] } diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetPopUpDetailResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetPopUpDetailResponse.swift index 55497518..c1b7b27a 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetPopUpDetailResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetPopUpDetailResponse.swift @@ -1,13 +1,6 @@ -// -// GetPopUpDetailResponse.swift -// Poppool -// -// Created by SeoJunYoung on 12/10/24. -// - import Foundation -struct GetPopUpDetailResponse { +public struct GetPopUpDetailResponse { let name: String? let desc: String? let startDate: String? @@ -25,12 +18,12 @@ struct GetPopUpDetailResponse { let similarPopUpStoreList: [GetPopUpDetailSimilarResponse] } -struct GetPopUpDetailImageResponse { +public struct GetPopUpDetailImageResponse { let id: Int64 let imageUrl: String? } -struct GetPopUpDetailCommentResponse { +public struct GetPopUpDetailCommentResponse { let commentId: Int64 let creator: String? let nickname: String? @@ -44,7 +37,7 @@ struct GetPopUpDetailCommentResponse { let commentImageList: [GetPopUpDetailImageResponse] } -struct GetPopUpDetailSimilarResponse { +public struct GetPopUpDetailSimilarResponse { let id: Int64 let name: String? let mainImageUrl: String? diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetSearchBottomPopUpListResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetSearchBottomPopUpListResponse.swift index 9ae5c6b1..b639b478 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetSearchBottomPopUpListResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetSearchBottomPopUpListResponse.swift @@ -1,13 +1,6 @@ -// -// GetSearchBottomPopUpListResponse.swift -// Poppool -// -// Created by SeoJunYoung on 12/6/24. -// - import Foundation -struct GetSearchBottomPopUpListResponse { +public struct GetSearchBottomPopUpListResponse { var popUpStoreList: [PopUpStoreResponse] var loginYn: Bool var totalPages: Int32 diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetSearchPopUpListResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetSearchPopUpListResponse.swift index c0cb86f5..cca24b8a 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetSearchPopUpListResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetSearchPopUpListResponse.swift @@ -1,13 +1,6 @@ -// -// GetSearchPopUpListResponse.swift -// Poppool -// -// Created by SeoJunYoung on 12/7/24. -// - import Foundation -struct GetSearchPopUpListResponse { +public struct GetSearchPopUpListResponse { var popUpStoreList: [PopUpStoreResponse] var loginYn: Bool } diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/PopUpStoreResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/PopUpStoreResponse.swift index 48cd3914..255d95fb 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/PopUpStoreResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/PopUpStoreResponse.swift @@ -1,13 +1,6 @@ -// -// PopUpStoreResponse.swift -// Poppool -// -// Created by Porori on 11/26/24. -// - import Foundation -struct PopUpStoreResponse { +public struct PopUpStoreResponse { let id: Int64 let category: String? let name: String? diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetBlockUserListResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetBlockUserListResponse.swift index bc7f1adc..253acf72 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetBlockUserListResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetBlockUserListResponse.swift @@ -1,19 +1,12 @@ -// -// GetBlockUserListResponse.swift -// Poppool -// -// Created by SeoJunYoung on 1/12/25. -// - import Foundation -struct GetBlockUserListResponse { +public struct GetBlockUserListResponse { var blockedUserInfoList: [GetBlockUserListDataResponse] var totalPages: Int32 var totalElements: Int32 } -struct GetBlockUserListDataResponse { +public struct GetBlockUserListDataResponse { var userId: String? var profileImageUrl: String? var nickname: String? diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetMyCommentResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetMyCommentResponse.swift index 6d47e920..9edacc86 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetMyCommentResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetMyCommentResponse.swift @@ -1,17 +1,10 @@ -// -// GetMyCommentResponse.swift -// Poppool -// -// Created by SeoJunYoung on 1/12/25. -// - import Foundation -struct GetMyCommentedPopUpResponse { +public struct GetMyCommentedPopUpResponse { var popUpInfoList: [GetMyCommentedPopUpDataResponse] } -struct GetMyCommentedPopUpDataResponse { +public struct GetMyCommentedPopUpDataResponse { var popUpStoreId: Int64 var popUpStoreName: String? var desc: String? diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetMyPageResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetMyPageResponse.swift index 0586e572..34faf968 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetMyPageResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetMyPageResponse.swift @@ -1,13 +1,6 @@ -// -// GetMyPageResponse.swift -// Poppool -// -// Created by SeoJunYoung on 12/30/24. -// - import Foundation -struct GetMyPageResponse { +public struct GetMyPageResponse { var nickname: String? var profileImageUrl: String? var intro: String? @@ -17,7 +10,7 @@ struct GetMyPageResponse { var myCommentedPopUpList: [GetMyPagePopUpResponse] } -struct GetMyPagePopUpResponse { +public struct GetMyPagePopUpResponse { var popUpStoreId: Int64 var popUpStoreName: String? var mainImageUrl: String? diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetMyProfileResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetMyProfileResponse.swift index 6c71ce4b..77f0be1b 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetMyProfileResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetMyProfileResponse.swift @@ -1,13 +1,6 @@ -// -// GetMyProfileResponse.swift -// Poppool -// -// Created by SeoJunYoung on 1/10/25. -// - import Foundation -struct GetMyProfileResponse { +public struct GetMyProfileResponse { var profileImageUrl: String? var nickname: String? var email: String? diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetNoticeDetailResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetNoticeDetailResponse.swift index a259e9d4..dce77077 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetNoticeDetailResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetNoticeDetailResponse.swift @@ -1,13 +1,6 @@ -// -// GetNoticeDetailResponse.swift -// Poppool -// -// Created by SeoJunYoung on 1/13/25. -// - import Foundation -struct GetNoticeDetailResponse { +public struct GetNoticeDetailResponse { var id: Int64 var title: String? var content: String? diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetNoticeListResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetNoticeListResponse.swift index 045e2164..cb0cbfb3 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetNoticeListResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetNoticeListResponse.swift @@ -1,17 +1,10 @@ -// -// GetNoticeListResponse.swift -// Poppool -// -// Created by SeoJunYoung on 1/13/25. -// - import Foundation -struct GetNoticeListResponse { +public struct GetNoticeListResponse { var noticeInfoList: [GetNoticeListDataResponse] } -struct GetNoticeListDataResponse { +public struct GetNoticeListDataResponse { var id: Int64 var title: String? var createdDateTime: String? diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetOtherUserCommentedPopUpListResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetOtherUserCommentedPopUpListResponse.swift index 71fce6de..af25688a 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetOtherUserCommentedPopUpListResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetOtherUserCommentedPopUpListResponse.swift @@ -1,17 +1,10 @@ -// -// GetOtherUserCommentedPopUpListResponse.swift -// Poppool -// -// Created by SeoJunYoung on 12/27/24. -// - import Foundation -struct GetOtherUserCommentedPopUpListResponse { +public struct GetOtherUserCommentedPopUpListResponse { var popUpInfoList: [GetOtherUserCommentedPopUpResponse] } -struct GetOtherUserCommentedPopUpResponse { +public struct GetOtherUserCommentedPopUpResponse { var popUpStoreId: Int64 var popUpStoreName: String? var desc: String? diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetRecentPopUpResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetRecentPopUpResponse.swift index 6960a262..5606d9d9 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetRecentPopUpResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetRecentPopUpResponse.swift @@ -1,19 +1,12 @@ -// -// GetRecentPopUpResponse.swift -// Poppool -// -// Created by SeoJunYoung on 1/14/25. -// - import Foundation -struct GetRecentPopUpResponse { +public struct GetRecentPopUpResponse { var popUpInfoList: [GetRecentPopUpDataResponse] var totalPages: Int32 var totalElements: Int32 } -struct GetRecentPopUpDataResponse { +public struct GetRecentPopUpDataResponse { var popUpStoreId: Int64 var popUpStoreName: String? var desc: String? @@ -23,7 +16,8 @@ struct GetRecentPopUpDataResponse { var address: String? var closeYn: Bool } -extension GetRecentPopUpDataResponse { + +public extension GetRecentPopUpDataResponse { func toStoreItem() -> StoreItem { return StoreItem( id: self.popUpStoreId, diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetWithdrawlListResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetWithdrawlListResponse.swift index 9bdf33d6..decf5f72 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetWithdrawlListResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetWithdrawlListResponse.swift @@ -1,17 +1,10 @@ -// -// GetWithdrawlListResponse.swift -// Poppool -// -// Created by SeoJunYoung on 1/7/25. -// - import Foundation -struct GetWithdrawlListResponse { +public struct GetWithdrawlListResponse { var withDrawlSurveyList: [GetWithdrawlListDataResponse] } -struct GetWithdrawlListDataResponse { +public struct GetWithdrawlListDataResponse { var id: Int64 var survey: String? } From 147f35fd972465e7c955439210c30f7781e7b8e9 Mon Sep 17 00:00:00 2001 From: 0Hooni Date: Sun, 20 Apr 2025 23:34:48 +0900 Subject: [PATCH 52/83] =?UTF-8?q?chore/#112:=20Infra=EC=97=90=20Rx,=20Kaka?= =?UTF-8?q?o=20=EA=B4=80=EB=A0=A8=20=ED=8C=A8=ED=82=A4=EC=A7=80=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Infrastructure.xcodeproj/project.pbxproj | 61 +++++++++++++++++++ 1 file changed, 61 insertions(+) diff --git a/Poppool/CoreLayer/Infrastructure/Infrastructure.xcodeproj/project.pbxproj b/Poppool/CoreLayer/Infrastructure/Infrastructure.xcodeproj/project.pbxproj index c0f697aa..8f7ecdc1 100644 --- a/Poppool/CoreLayer/Infrastructure/Infrastructure.xcodeproj/project.pbxproj +++ b/Poppool/CoreLayer/Infrastructure/Infrastructure.xcodeproj/project.pbxproj @@ -6,6 +6,13 @@ objectVersion = 77; objects = { +/* Begin PBXBuildFile section */ + 05C1D8302DB53CE300508FFD /* RxCocoa-Dynamic in Frameworks */ = {isa = PBXBuildFile; productRef = 05C1D82F2DB53CE300508FFD /* RxCocoa-Dynamic */; }; + 05C1D8322DB53CE300508FFD /* RxSwift-Dynamic in Frameworks */ = {isa = PBXBuildFile; productRef = 05C1D8312DB53CE300508FFD /* RxSwift-Dynamic */; }; + 05C1D8352DB53D3A00508FFD /* KakaoSDKAuth in Frameworks */ = {isa = PBXBuildFile; productRef = 05C1D8342DB53D3A00508FFD /* KakaoSDKAuth */; }; + 05C1D8372DB53D3A00508FFD /* KakaoSDKUser in Frameworks */ = {isa = PBXBuildFile; productRef = 05C1D8362DB53D3A00508FFD /* KakaoSDKUser */; }; +/* End PBXBuildFile section */ + /* Begin PBXFileReference section */ 058CC9182DB5383C0084221A /* Infrastructure.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Infrastructure.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ @@ -23,6 +30,10 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 05C1D8372DB53D3A00508FFD /* KakaoSDKUser in Frameworks */, + 05C1D8322DB53CE300508FFD /* RxSwift-Dynamic in Frameworks */, + 05C1D8302DB53CE300508FFD /* RxCocoa-Dynamic in Frameworks */, + 05C1D8352DB53D3A00508FFD /* KakaoSDKAuth in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -76,6 +87,10 @@ ); name = Infrastructure; packageProductDependencies = ( + 05C1D82F2DB53CE300508FFD /* RxCocoa-Dynamic */, + 05C1D8312DB53CE300508FFD /* RxSwift-Dynamic */, + 05C1D8342DB53D3A00508FFD /* KakaoSDKAuth */, + 05C1D8362DB53D3A00508FFD /* KakaoSDKUser */, ); productName = Infrastructure; productReference = 058CC9182DB5383C0084221A /* Infrastructure.framework */; @@ -105,6 +120,10 @@ ); mainGroup = 058CC90E2DB5383C0084221A; minimizedProjectReferenceProxies = 1; + packageReferences = ( + 05C1D82E2DB53CE300508FFD /* XCRemoteSwiftPackageReference "RxSwift" */, + 05C1D8332DB53D3A00508FFD /* XCRemoteSwiftPackageReference "kakao-ios-sdk" */, + ); preferredProjectObjectVersion = 77; productRefGroup = 058CC9192DB5383C0084221A /* Products */; projectDirPath = ""; @@ -347,6 +366,48 @@ defaultConfigurationName = Release; }; /* End XCConfigurationList section */ + +/* Begin XCRemoteSwiftPackageReference section */ + 05C1D82E2DB53CE300508FFD /* XCRemoteSwiftPackageReference "RxSwift" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/ReactiveX/RxSwift"; + requirement = { + kind = upToNextMajorVersion; + minimumVersion = 6.9.0; + }; + }; + 05C1D8332DB53D3A00508FFD /* XCRemoteSwiftPackageReference "kakao-ios-sdk" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/kakao/kakao-ios-sdk"; + requirement = { + kind = upToNextMajorVersion; + minimumVersion = 2.24.0; + }; + }; +/* End XCRemoteSwiftPackageReference section */ + +/* Begin XCSwiftPackageProductDependency section */ + 05C1D82F2DB53CE300508FFD /* RxCocoa-Dynamic */ = { + isa = XCSwiftPackageProductDependency; + package = 05C1D82E2DB53CE300508FFD /* XCRemoteSwiftPackageReference "RxSwift" */; + productName = "RxCocoa-Dynamic"; + }; + 05C1D8312DB53CE300508FFD /* RxSwift-Dynamic */ = { + isa = XCSwiftPackageProductDependency; + package = 05C1D82E2DB53CE300508FFD /* XCRemoteSwiftPackageReference "RxSwift" */; + productName = "RxSwift-Dynamic"; + }; + 05C1D8342DB53D3A00508FFD /* KakaoSDKAuth */ = { + isa = XCSwiftPackageProductDependency; + package = 05C1D8332DB53D3A00508FFD /* XCRemoteSwiftPackageReference "kakao-ios-sdk" */; + productName = KakaoSDKAuth; + }; + 05C1D8362DB53D3A00508FFD /* KakaoSDKUser */ = { + isa = XCSwiftPackageProductDependency; + package = 05C1D8332DB53D3A00508FFD /* XCRemoteSwiftPackageReference "kakao-ios-sdk" */; + productName = KakaoSDKUser; + }; +/* End XCSwiftPackageProductDependency section */ }; rootObject = 058CC90F2DB5383C0084221A /* Project object */; } From aa9633719e645300df5163c23982d348098e82f8 Mon Sep 17 00:00:00 2001 From: 0Hooni Date: Sun, 20 Apr 2025 23:35:06 +0900 Subject: [PATCH 53/83] =?UTF-8?q?chore/#112:=20Domain=EC=97=90=20=ED=95=84?= =?UTF-8?q?=EC=9A=94=ED=95=9C=20=ED=8C=A8=ED=82=A4=EC=A7=80=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Domain/Domain.xcodeproj/project.pbxproj | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/Poppool/DomainLayer/Domain/Domain.xcodeproj/project.pbxproj b/Poppool/DomainLayer/Domain/Domain.xcodeproj/project.pbxproj index b5d78435..8b19b2ae 100644 --- a/Poppool/DomainLayer/Domain/Domain.xcodeproj/project.pbxproj +++ b/Poppool/DomainLayer/Domain/Domain.xcodeproj/project.pbxproj @@ -13,6 +13,8 @@ 05C1D6232DB53A6700508FFD /* Infrastructure.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 05C1D61D2DB53A6700508FFD /* Infrastructure.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 05C1D6262DB53A6E00508FFD /* Infrastructure.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 05C1D6252DB53A6E00508FFD /* Infrastructure.framework */; }; 05C1D6272DB53A6E00508FFD /* Infrastructure.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 05C1D6252DB53A6E00508FFD /* Infrastructure.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 05C1D82A2DB53CC200508FFD /* RxSwift-Dynamic in Frameworks */ = {isa = PBXBuildFile; productRef = 05C1D8292DB53CC200508FFD /* RxSwift-Dynamic */; }; + 05C1D82C2DB53CD100508FFD /* RxSwift-Dynamic in Frameworks */ = {isa = PBXBuildFile; productRef = 05C1D82B2DB53CD100508FFD /* RxSwift-Dynamic */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -77,6 +79,7 @@ buildActionMask = 2147483647; files = ( 05C1D61E2DB53A6700508FFD /* DomainInterface.framework in Frameworks */, + 05C1D82A2DB53CC200508FFD /* RxSwift-Dynamic in Frameworks */, 05C1D6222DB53A6700508FFD /* Infrastructure.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; @@ -85,6 +88,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 05C1D82C2DB53CD100508FFD /* RxSwift-Dynamic in Frameworks */, 05C1D6262DB53A6E00508FFD /* Infrastructure.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; @@ -160,6 +164,7 @@ ); name = Domain; packageProductDependencies = ( + 05C1D8292DB53CC200508FFD /* RxSwift-Dynamic */, ); productName = Domain; productReference = 058CC8F02DB5377F0084221A /* Domain.framework */; @@ -184,6 +189,7 @@ ); name = DomainInterface; packageProductDependencies = ( + 05C1D82B2DB53CD100508FFD /* RxSwift-Dynamic */, ); productName = DomainInterface; productReference = 05C1D0DB2DB538A600508FFD /* DomainInterface.framework */; @@ -216,6 +222,9 @@ ); mainGroup = 058CC8E62DB5377F0084221A; minimizedProjectReferenceProxies = 1; + packageReferences = ( + 05C1D8282DB53CC100508FFD /* XCRemoteSwiftPackageReference "RxSwift" */, + ); preferredProjectObjectVersion = 77; productRefGroup = 058CC8F12DB5377F0084221A /* Products */; projectDirPath = ""; @@ -554,6 +563,30 @@ defaultConfigurationName = Release; }; /* End XCConfigurationList section */ + +/* Begin XCRemoteSwiftPackageReference section */ + 05C1D8282DB53CC100508FFD /* XCRemoteSwiftPackageReference "RxSwift" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/ReactiveX/RxSwift"; + requirement = { + kind = upToNextMajorVersion; + minimumVersion = 6.9.0; + }; + }; +/* End XCRemoteSwiftPackageReference section */ + +/* Begin XCSwiftPackageProductDependency section */ + 05C1D8292DB53CC200508FFD /* RxSwift-Dynamic */ = { + isa = XCSwiftPackageProductDependency; + package = 05C1D8282DB53CC100508FFD /* XCRemoteSwiftPackageReference "RxSwift" */; + productName = "RxSwift-Dynamic"; + }; + 05C1D82B2DB53CD100508FFD /* RxSwift-Dynamic */ = { + isa = XCSwiftPackageProductDependency; + package = 05C1D8282DB53CC100508FFD /* XCRemoteSwiftPackageReference "RxSwift" */; + productName = "RxSwift-Dynamic"; + }; +/* End XCSwiftPackageProductDependency section */ }; rootObject = 058CC8E72DB5377F0084221A /* Project object */; } From bf74f1e2e52c8e67a16fce5c20e37dc268e3a619 Mon Sep 17 00:00:00 2001 From: 0Hooni Date: Sun, 20 Apr 2025 23:39:40 +0900 Subject: [PATCH 54/83] =?UTF-8?q?refactor/#112:=20Logger=EC=99=80=20?= =?UTF-8?q?=EC=97=B0=EA=B4=80=EB=90=9C=20=EB=AC=B8=EC=A0=9C=20=ED=95=B4?= =?UTF-8?q?=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Logger에서 필요한 Entity의 접근 제어자 수정 - Logger에서 사용하는 private 제거 --- .../Infrastructure/Logger/Logger.swift | 17 ++---- .../AdminResponse/Params/AdminParams.swift | 56 +++++++++---------- 2 files changed, 32 insertions(+), 41 deletions(-) diff --git a/Poppool/CoreLayer/Infrastructure/Infrastructure/Logger/Logger.swift b/Poppool/CoreLayer/Infrastructure/Infrastructure/Logger/Logger.swift index 9ad233b2..16360c15 100644 --- a/Poppool/CoreLayer/Infrastructure/Infrastructure/Logger/Logger.swift +++ b/Poppool/CoreLayer/Infrastructure/Infrastructure/Logger/Logger.swift @@ -1,14 +1,7 @@ -// -// Logger.swift -// MomsVillage -// -// Created by SeoJunYoung on 8/9/24. -// - import Foundation -struct Logger { - enum Level { +public struct Logger { + public enum Level { case info case debug case network @@ -55,12 +48,10 @@ struct Logger { static var isShowLine: Bool = false static var isShowLog: Bool = true - static private let noInputText = "Input is not found" - - static func log( + public static func log( message: Any, category: Level, - fileName: String = noInputText, + fileName: String = "Input is not found", line: Int? = nil ) { if isShowLog { diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/AdminResponse/Params/AdminParams.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/AdminResponse/Params/AdminParams.swift index f9262d37..cbae967f 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/AdminResponse/Params/AdminParams.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/AdminResponse/Params/AdminParams.swift @@ -1,37 +1,37 @@ import Foundation public struct CreateStoreParams { - let name: String - let categoryId: Int64 - let desc: String - let address: String - let startDate: String - let endDate: String - let mainImageUrl: String - let imageUrlList: [String?] - let latitude: Double - let longitude: Double - let markerTitle: String - let markerSnippet: String - let startDateBeforeEndDate: Bool + public let name: String + public let categoryId: Int64 + public let desc: String + public let address: String + public let startDate: String + public let endDate: String + public let mainImageUrl: String + public let imageUrlList: [String?] + public let latitude: Double + public let longitude: Double + public let markerTitle: String + public let markerSnippet: String + public let startDateBeforeEndDate: Bool } public struct UpdateStoreParams { - let id: Int64 - let name: String - let categoryId: Int64 - let desc: String - let address: String - let startDate: String - let endDate: String - let mainImageUrl: String - let imageUrlList: [String?] - let imagesToDelete: [Int64] - let latitude: Double - let longitude: Double - let markerTitle: String - let markerSnippet: String - let startDateBeforeEndDate: Bool + public let id: Int64 + public let name: String + public let categoryId: Int64 + public let desc: String + public let address: String + public let startDate: String + public let endDate: String + public let mainImageUrl: String + public let imageUrlList: [String?] + public let imagesToDelete: [Int64] + public let latitude: Double + public let longitude: Double + public let markerTitle: String + public let markerSnippet: String + public let startDateBeforeEndDate: Bool } public struct CreateNoticeParams { From f20aef88c0288da5072949e2834d513fe278716d Mon Sep 17 00:00:00 2001 From: 0Hooni Date: Mon, 21 Apr 2025 01:57:47 +0900 Subject: [PATCH 55/83] =?UTF-8?q?fix/#112:=20PreSignedService=20=EC=82=AC?= =?UTF-8?q?=EC=9A=A9=EC=9D=84=20DataLayer=EB=A5=BC=20=ED=86=B5=ED=95=98?= =?UTF-8?q?=EB=8F=84=EB=A1=9D=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - PreSignedService를 InfraStructure에서 DataLayer로 이동 - PreSignedService를 이용할 수 있도록 관련 UseCase와 Repository의 인터페이스와 구현체 구현 - PreSignedService를 사용하던 PresentationLayer의 일부 Reactor들을 UseCase를 이용하도록 수정 - imageService라는 명칭을 PreSignedUseCase로 수정 --- .../Data/Data.xcodeproj/project.pbxproj | 2 + .../Network}/Service/PreSignedService.swift | 10 +--- .../PreSignedRepositoryImpl.swift | 29 ++++++++++ .../UseCaseImpl/PreSignedUseCaseImpl.swift | 23 ++++++++ .../Repository/PreSignedRepository.swift | 9 +++ .../UseCase/PreSignedUseCase.swift | 9 +++ .../PopUpStoreRegisterReactor.swift | 21 +++---- .../PopUpStoreRegisterViewController.swift | 3 +- .../Scene/Admin/AdminViewController.swift | 10 +++- .../CommentList/CommentListReactor.swift | 23 ++++---- .../NormalCommentAddReactor.swift | 47 ++++++++------- .../NormalCommentEditReactor.swift | 58 +++++++++---------- .../Scene/Detail/DetailReactor.swift | 16 +++-- .../HomeCardSection/HomeCardSectionCell.swift | 3 +- .../HomePopularCardSectionCell.swift | 1 - .../ProfileEdit/Main/ProfileEditReactor.swift | 24 ++++---- 16 files changed, 179 insertions(+), 109 deletions(-) rename Poppool/{CoreLayer/Infrastructure/Infrastructure => DataLayer/Data/Data/Network}/Service/PreSignedService.swift (99%) create mode 100644 Poppool/DataLayer/Data/Data/RepositoryImpl/PreSignedRepositoryImpl.swift create mode 100644 Poppool/DomainLayer/Domain/Domain/UseCaseImpl/PreSignedUseCaseImpl.swift create mode 100644 Poppool/DomainLayer/Domain/DomainInterface/Repository/PreSignedRepository.swift create mode 100644 Poppool/DomainLayer/Domain/DomainInterface/UseCase/PreSignedUseCase.swift diff --git a/Poppool/DataLayer/Data/Data.xcodeproj/project.pbxproj b/Poppool/DataLayer/Data/Data.xcodeproj/project.pbxproj index b05e0790..c28adfdb 100644 --- a/Poppool/DataLayer/Data/Data.xcodeproj/project.pbxproj +++ b/Poppool/DataLayer/Data/Data.xcodeproj/project.pbxproj @@ -102,6 +102,7 @@ Network/Interceptor/TokenInterceptor.swift, Network/Provider/Provider.swift, Network/Provider/ProviderImpl.swift, + Network/Service/PreSignedService.swift, RepositoryImpl/AdminRepositoryImpl.swift, RepositoryImpl/AuthAPIRepositoryImpl.swift, RepositoryImpl/CommentAPIRepositoryImpl.swift, @@ -109,6 +110,7 @@ RepositoryImpl/MapDirectionRepositoryImpl.swift, RepositoryImpl/MapRepositoryImpl.swift, RepositoryImpl/PopUpAPIRepositoryImpl.swift, + RepositoryImpl/PreSignedRepositoryImpl.swift, RepositoryImpl/SignUpRepositoryImpl.swift, RepositoryImpl/UserAPIRepositoryImpl.swift, ); diff --git a/Poppool/CoreLayer/Infrastructure/Infrastructure/Service/PreSignedService.swift b/Poppool/DataLayer/Data/Data/Network/Service/PreSignedService.swift similarity index 99% rename from Poppool/CoreLayer/Infrastructure/Infrastructure/Service/PreSignedService.swift rename to Poppool/DataLayer/Data/Data/Network/Service/PreSignedService.swift index ad1ef9a2..3609bc2b 100644 --- a/Poppool/CoreLayer/Infrastructure/Infrastructure/Service/PreSignedService.swift +++ b/Poppool/DataLayer/Data/Data/Network/Service/PreSignedService.swift @@ -1,13 +1,7 @@ -// -// PreSignedService.swift -// PopPool -// -// Created by SeoJunYoung on 9/5/24. -// - -import Foundation import UIKit +import Infrastructure + import Alamofire import RxCocoa import RxSwift diff --git a/Poppool/DataLayer/Data/Data/RepositoryImpl/PreSignedRepositoryImpl.swift b/Poppool/DataLayer/Data/Data/RepositoryImpl/PreSignedRepositoryImpl.swift new file mode 100644 index 00000000..4f6eec21 --- /dev/null +++ b/Poppool/DataLayer/Data/Data/RepositoryImpl/PreSignedRepositoryImpl.swift @@ -0,0 +1,29 @@ +import UIKit + +import DomainInterface + +import RxSwift + +public final class PreSignedRepositoryImpl: PreSignedRepository { + + private let service = PreSignedService() + + public func tryUpload(presignedURLRequest: [(filePath: String, image: UIImage)]) -> Single { + return service.tryUpload(datas: presignedURLRequest.map { + PreSignedService.PresignedURLRequest( + filePath: $0.filePath, + image: $0.image + ) + }) + } + + public func tryDelete(objectKeyList: [String]) -> Completable { + return service.tryDelete( + targetPaths: PresignedURLRequestDTO(objectKeyList: objectKeyList) + ) + } + + public func fullImageURL(from filePath: String) -> URL? { + return service.fullImageURL(from: filePath) + } +} diff --git a/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/PreSignedUseCaseImpl.swift b/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/PreSignedUseCaseImpl.swift new file mode 100644 index 00000000..493f2ea8 --- /dev/null +++ b/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/PreSignedUseCaseImpl.swift @@ -0,0 +1,23 @@ +import UIKit + +import DomainInterface + +import RxSwift + +public final class PreSignedUseCaseImpl: PreSignedUseCase { + private let repository: PreSignedRepository + + init(repository: PreSignedRepository) { + self.repository = repository + } + + public func tryUpload(presignedURLRequest: [(filePath: String, image: UIImage)]) -> Single { + return repository.tryUpload(presignedURLRequest: presignedURLRequest) + } + public func tryDelete(objectKeyList: [String]) -> Completable { + return repository.tryDelete(objectKeyList: objectKeyList) + } + public func fullImageURL(from filePath: String) -> URL? { + repository.fullImageURL(from: filePath) + } +} diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Repository/PreSignedRepository.swift b/Poppool/DomainLayer/Domain/DomainInterface/Repository/PreSignedRepository.swift new file mode 100644 index 00000000..483becff --- /dev/null +++ b/Poppool/DomainLayer/Domain/DomainInterface/Repository/PreSignedRepository.swift @@ -0,0 +1,9 @@ +import UIKit + +import RxSwift + +public protocol PreSignedRepository { + func tryUpload(presignedURLRequest: [(filePath: String, image: UIImage)]) -> Single + func tryDelete(objectKeyList: [String]) -> Completable + func fullImageURL(from filePath: String) -> URL? +} diff --git a/Poppool/DomainLayer/Domain/DomainInterface/UseCase/PreSignedUseCase.swift b/Poppool/DomainLayer/Domain/DomainInterface/UseCase/PreSignedUseCase.swift new file mode 100644 index 00000000..13b92620 --- /dev/null +++ b/Poppool/DomainLayer/Domain/DomainInterface/UseCase/PreSignedUseCase.swift @@ -0,0 +1,9 @@ +import UIKit + +import RxSwift + +public protocol PreSignedUseCase { + func tryUpload(presignedURLRequest: [(filePath: String, image: UIImage)]) -> Single + func tryDelete(objectKeyList: [String]) -> Completable + func fullImageURL(from filePath: String) -> URL? +} diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterReactor.swift index fd4b5088..b984a6f8 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterReactor.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterReactor.swift @@ -1,7 +1,8 @@ import UIKit - import CoreLocation +import DomainInterface + import ReactorKit import RxCocoa import RxSwift @@ -10,7 +11,7 @@ final class PopUpStoreRegisterReactor: Reactor { // MARK: - Properties private let adminUseCase: AdminUseCase - private let presignedService: PreSignedService + private let preSignedUseCase: PreSignedUseCase private let isEditMode: Bool private let editingStoreId: Int64? @@ -18,11 +19,11 @@ final class PopUpStoreRegisterReactor: Reactor { init( adminUseCase: AdminUseCase, - presignedService: PreSignedService, + preSignedUseCase: PreSignedUseCase, editingStore: AdminStore? = nil ) { self.adminUseCase = adminUseCase - self.presignedService = presignedService + self.preSignedUseCase = preSignedUseCase self.isEditMode = editingStore != nil self.editingStoreId = editingStore?.id @@ -520,7 +521,7 @@ final class PopUpStoreRegisterReactor: Reactor { private func deleteImagesFromS3(_ imagePaths: [String]) { guard !imagePaths.isEmpty else { return } - presignedService.tryDelete(targetPaths: .init(objectKeyList: imagePaths)) + preSignedUseCase.tryDelete(objectKeyList: imagePaths) .subscribe( onCompleted: { Logger.log(message: "S3에서 모든 이미지 삭제 성공: \(imagePaths.count)개", category: .info) @@ -648,7 +649,7 @@ final class PopUpStoreRegisterReactor: Reactor { dispatchGroup.enter() - if let imageURL = self.presignedService.fullImageURL(from: imageData.imageUrl) { + if let imageURL = self.preSignedUseCase.fullImageURL(from: imageData.imageUrl) { URLSession.shared.dataTask(with: imageURL) { data, _, error in defer { dispatchGroup.leave() } @@ -722,8 +723,8 @@ final class PopUpStoreRegisterReactor: Reactor { isMain: image.isMain) } - return presignedService.tryUpload(datas: updatedImages.map { - PreSignedService.PresignedURLRequest(filePath: $0.filePath, image: $0.image) + return preSignedUseCase.tryUpload(presignedURLRequest: updatedImages.map { + return (filePath: $0.filePath, image: $0.image) }) .asObservable() // Single을 Observable로 변환 .map { _ in updatedImages.map { $0.filePath } } @@ -802,8 +803,8 @@ final class PopUpStoreRegisterReactor: Reactor { isMain: image.isMain) } - return presignedService.tryUpload(datas: updatedImages.map { - PreSignedService.PresignedURLRequest(filePath: $0.filePath, image: $0.image) + return preSignedUseCase.tryUpload(presignedURLRequest: updatedImages.map { + return (filePath: $0.filePath, image: $0.image) }) .asObservable() .map { _ in updatedImages.map { $0.filePath } } diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterViewController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterViewController.swift index 3a33d18e..199d4c26 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterViewController.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterViewController.swift @@ -27,10 +27,9 @@ final class PopUpStoreRegisterViewController: BaseViewController { super.init() - let presignedService = PreSignedService() let reactor = PopUpStoreRegisterReactor( adminUseCase: DIContainer.resolve(AdminUseCase.self), - presignedService: presignedService, + preSignedUseCase: DIContainer.resolve(PreSignedUseCasae.self), editingStore: editingStore ) diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminViewController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminViewController.swift index 29c8b765..7e98d74a 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminViewController.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminViewController.swift @@ -1,7 +1,11 @@ +import UIKit + +import Infrastructure +import DomainInterface + import ReactorKit import RxCocoa import RxSwift -import UIKit final class AdminViewController: BaseViewController, View { @@ -221,8 +225,8 @@ final class AdminViewController: BaseViewController, View { Logger.log(message: "삭제할 이미지: \(allImageUrls.count)개", category: .debug) - let imageService = PreSignedService() - imageService.tryDelete(targetPaths: .init(objectKeyList: allImageUrls)) + @Dependency var preSignedUseCase: PreSignedUseCase + preSignedUseCase.tryDelete(objectKeyList: allImageUrls) .andThen(self.adminUseCase.deleteStore(id: store.id)) .observe(on: MainScheduler.instance) .subscribe( diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/CommentList/CommentListReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/CommentList/CommentListReactor.swift index 7bdd33c5..d8141f79 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/CommentList/CommentListReactor.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/CommentList/CommentListReactor.swift @@ -1,12 +1,8 @@ -// -// CommentListReactor.swift -// Poppool -// -// Created by SeoJunYoung on 12/25/24. -// - import UIKit +import Infrastructure +import DomainInterface + import ReactorKit import RxCocoa import RxSwift @@ -48,7 +44,7 @@ final class CommentListReactor: Reactor { private var page: Int32 = 0 private var appendDataIsEmpty: Bool = false - private var imageService = PreSignedService() + private let preSignedUseCase: PreSignedUseCase private let popUpAPIUseCase: PopUpAPIUseCase private let userAPIUseCase: UserAPIUseCase private let commentAPIUseCase: CommentAPIUseCase @@ -78,7 +74,8 @@ final class CommentListReactor: Reactor { popUpName: String?, userAPIUseCase: UserAPIUseCase, popUpAPIUseCase: PopUpAPIUseCase, - commentAPIUseCase: CommentAPIUseCase + commentAPIUseCase: CommentAPIUseCase, + preSignedUseCase: PreSignedUseCase ) { self.initialState = State() self.popUpID = popUpID @@ -86,6 +83,7 @@ final class CommentListReactor: Reactor { self.userAPIUseCase = userAPIUseCase self.popUpAPIUseCase = popUpAPIUseCase self.commentAPIUseCase = commentAPIUseCase + self.preSignedUseCase = preSignedUseCase } // MARK: - Reactor Methods @@ -287,7 +285,6 @@ final class CommentListReactor: Reactor { func showMyCommentMenu(controller: BaseViewController, comment: DetailCommentSection.CellType.Input) { let nextController = CommentMyMenuController() nextController.reactor = CommentMyMenuReactor(nickName: comment.nickName) - imageService = PreSignedService() controller.presentPanModal(nextController) nextController.reactor?.state @@ -304,10 +301,10 @@ final class CommentListReactor: Reactor { .disposed(by: self.disposeBag) let commentList = comment.imageList.compactMap { $0 } - self.imageService.tryDelete(targetPaths: .init(objectKeyList: commentList)) - .subscribe { + self.preSignedUseCase.tryDelete(objectKeyList: commentList) + .subscribe(onDisposed: { Logger.log(message: "S3 Image Delete 완료", category: .info) - } + }) .disposed(by: self.disposeBag) case .edit: owner.dismiss(animated: true) { [weak controller] in diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/NormalCommentAdd/NormalCommentAddReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/NormalCommentAdd/NormalCommentAddReactor.swift index 8e00f247..e3acc723 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/NormalCommentAdd/NormalCommentAddReactor.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/NormalCommentAdd/NormalCommentAddReactor.swift @@ -1,13 +1,9 @@ -// -// NormalCommentAddReactor.swift -// Poppool -// -// Created by SeoJunYoung on 12/14/24. -// - import PhotosUI import UIKit +import Infrastructure +import DomainInterface + import ReactorKit import RxCocoa import RxSwift @@ -48,7 +44,7 @@ final class NormalCommentAddReactor: Reactor { private var popUpName: String private let commentAPIUseCase: CommentAPIUseCase - private let imageService = PreSignedService() + private let preSignedUseCase: PreSignedUseCase lazy var compositionalLayout: UICollectionViewCompositionalLayout = { UICollectionViewCompositionalLayout { [weak self] section, env in @@ -77,12 +73,14 @@ final class NormalCommentAddReactor: Reactor { init( popUpID: Int64, popUpName: String, - commentAPIUseCase: CommentAPIUseCase + commentAPIUseCase: CommentAPIUseCase, + preSignedUseCase: PreSignedUseCase ) { self.initialState = State() self.popUpID = popUpID self.popUpName = popUpName self.commentAPIUseCase = commentAPIUseCase + self.preSignedUseCase = preSignedUseCase } // MARK: - Reactor Methods @@ -160,20 +158,25 @@ final class NormalCommentAddReactor: Reactor { let uuid = UUID().uuidString let pathList = images.map { "PopUpComment/\(popUpName)/\(uuid)/\($0.offset).jpg" } - imageService.tryUpload(datas: images.map { .init(filePath: "PopUpComment/\(popUpName)/\(uuid)/\($0.offset).jpg", image: $0.element)}) - .subscribe(onSuccess: { [weak self] _ in - guard let self = self else { return } - self.commentAPIUseCase.postCommentAdd(popUpStoreId: self.popUpID, content: newState.text, commentType: "NORMAL", imageUrlList: pathList) - .subscribe(onDisposed: { - controller.navigationController?.popViewController(animated: true) { - DispatchQueue.main.asyncAfter(deadline: .now()) { - ToastMaker.createToast(message: "코멘트 작성을 완료했어요") - } + preSignedUseCase.tryUpload(presignedURLRequest: images.map { + return ( + filePath: "PopUpComment/\(popUpName)/\(uuid)/\($0.offset).jpg", + image: $0.element + ) + }) + .subscribe(onSuccess: { [weak self] _ in + guard let self = self else { return } + self.commentAPIUseCase.postCommentAdd(popUpStoreId: self.popUpID, content: newState.text, commentType: "NORMAL", imageUrlList: pathList) + .subscribe(onDisposed: { + controller.navigationController?.popViewController(animated: true) { + DispatchQueue.main.asyncAfter(deadline: .now()) { + ToastMaker.createToast(message: "코멘트 작성을 완료했어요") } - }) - .disposed(by: disposeBag) - }) - .disposed(by: disposeBag) + } + }) + .disposed(by: disposeBag) + }) + .disposed(by: disposeBag) } } diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/NormalCommentEdit/NormalCommentEditReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/NormalCommentEdit/NormalCommentEditReactor.swift index b33014d9..3d5182b7 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/NormalCommentEdit/NormalCommentEditReactor.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/NormalCommentEdit/NormalCommentEditReactor.swift @@ -1,13 +1,9 @@ -// -// NormalCommentEditReactor.swift -// Poppool -// -// Created by SeoJunYoung on 2/1/25. -// - import PhotosUI import UIKit +import Infrastructure +import DomainInterface + import ReactorKit import RxCocoa import RxSwift @@ -49,7 +45,7 @@ final class NormalCommentEditReactor: Reactor { private var originComment: DetailCommentSection.CellType.Input private let commentAPIUseCase: CommentAPIUseCase - private let imageService = PreSignedService() + private let preSignedUseCase: PreSignedUseCase lazy var compositionalLayout: UICollectionViewCompositionalLayout = { UICollectionViewCompositionalLayout { [weak self] section, env in @@ -80,13 +76,15 @@ final class NormalCommentEditReactor: Reactor { popUpID: Int64, popUpName: String, comment: DetailCommentSection.CellType.Input, - commentAPIUseCase: CommentAPIUseCase + commentAPIUseCase: CommentAPIUseCase, + preSignedUseCase: PreSignedUseCase ) { self.initialState = State(text: comment.comment) self.popUpID = popUpID self.popUpName = popUpName self.originComment = comment self.commentAPIUseCase = commentAPIUseCase + self.preSignedUseCase = preSignedUseCase let imageList = zip(comment.imageList, comment.imageIDList) imageSection.inputDataList.append(contentsOf: imageList.map({ url, id in .init(image: nil, isFirstCell: false, isEditCase: true, imageURL: url, imageID: id) @@ -174,26 +172,28 @@ final class NormalCommentEditReactor: Reactor { var convertDeleteImages: [PutCommentImageDataRequestDTO] = deleteImages.map { .init(imageId: $0.1, imageUrl: $0.0, actionType: "DELETE")} if !addImages.isEmpty { - imageService.tryUpload(datas: addImages.map { .init(filePath: pathList[$0.offset], image: $0.element)}) - .subscribe { [weak self] _ in + preSignedUseCase.tryUpload(presignedURLRequest: addImages.map { + return (filePath: pathList[$0.offset], image: $0.element) + }) + .subscribe { [weak self] _ in + guard let self = self else { return } + self.commentAPIUseCase.editComment( + popUpStoreId: self.popUpID, + commentId: self.originComment.commentID, + content: newState.text, + imageUrlList: (convertAddImages + convertKeepImages + convertDeleteImages).map { $0.imageUrl } + ) + .subscribe(onDisposed: { [weak self, weak controller] in guard let self = self else { return } - self.commentAPIUseCase.editComment( - popUpStoreId: self.popUpID, - commentId: self.originComment.commentID, - content: newState.text, - imageUrlList: (convertAddImages + convertKeepImages + convertDeleteImages).map { $0.imageUrl } - ) - .subscribe { [weak self, weak controller] in - guard let self = self else { return } - self.imageService.tryDelete(targetPaths: .init(objectKeyList: deleteImages.compactMap { $0.0 })) - .subscribe { - controller?.navigationController?.popViewController(animated: true) - } - .disposed(by: self.disposeBag) - } - .disposed(by: self.disposeBag) - } - .disposed(by: disposeBag) + self.preSignedUseCase.tryDelete(objectKeyList: deleteImages.compactMap { $0.0 }) + .subscribe(onDisposed: { + controller?.navigationController?.popViewController(animated: true) + }) + .disposed(by: self.disposeBag) + }) + .disposed(by: self.disposeBag) + } + .disposed(by: disposeBag) } else { commentAPIUseCase.editComment( popUpStoreId: self.popUpID, @@ -203,7 +203,7 @@ final class NormalCommentEditReactor: Reactor { ) .subscribe { [weak self, weak controller] in guard let self = self else { return } - self.imageService.tryDelete(targetPaths: .init(objectKeyList: deleteImages.compactMap { $0.0 })) + self.preSignedUseCase.tryDelete(objectKeyList: deleteImages.compactMap { $0.0 }) .subscribe { controller?.navigationController?.popViewController(animated: true) } diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Detail/DetailReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Detail/DetailReactor.swift index 181667ed..4335cc05 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Detail/DetailReactor.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Detail/DetailReactor.swift @@ -1,5 +1,8 @@ import UIKit +import Infrastructure +import DomainInterface + import LinkPresentation import ReactorKit import RxCocoa @@ -57,7 +60,7 @@ final class DetailReactor: Reactor { private var isLogin: Bool = false private var isFirstRequest: Bool = true - private var imageService = PreSignedService() + private var preSignedUseCase: PreSignedUseCase private let popUpAPIUseCase: PopUpAPIUseCase private let userAPIUseCase: UserAPIUseCase private let commentAPIUseCase: CommentAPIUseCase @@ -98,12 +101,14 @@ final class DetailReactor: Reactor { popUpID: Int64, userAPIUseCase: UserAPIUseCase, popUpAPIUseCase: PopUpAPIUseCase, - commentAPIUseCase: CommentAPIUseCase + commentAPIUseCase: CommentAPIUseCase, + preSignedUseCase: PreSignedUseCase ) { self.popUpID = popUpID self.userAPIUseCase = userAPIUseCase self.popUpAPIUseCase = popUpAPIUseCase self.commentAPIUseCase = commentAPIUseCase + self.preSignedUseCase = preSignedUseCase self.initialState = State() } @@ -513,7 +518,6 @@ extension DetailReactor { func showMyCommentMenu(controller: BaseViewController, indexPath: IndexPath, comment: DetailCommentSection.CellType.Input) { let nextController = CommentMyMenuController() nextController.reactor = CommentMyMenuReactor(nickName: comment.nickName) - imageService = PreSignedService() controller.presentPanModal(nextController) nextController.reactor?.state @@ -530,10 +534,10 @@ extension DetailReactor { .disposed(by: self.disposeBag) let commentList = comment.imageList.compactMap { $0 } - self.imageService.tryDelete(targetPaths: .init(objectKeyList: commentList)) - .subscribe { + self.preSignedUseCase.tryDelete(objectKeyList: commentList) + .subscribe(onDisposed: { Logger.log(message: "S3 Image Delete 완료", category: .info) - } + }) .disposed(by: self.disposeBag) case .edit: diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Home/Main/View/HomeCardSection/HomeCardSectionCell.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Home/Main/View/HomeCardSection/HomeCardSectionCell.swift index 30bb15e1..8c26452a 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Home/Main/View/HomeCardSection/HomeCardSectionCell.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Home/Main/View/HomeCardSection/HomeCardSectionCell.swift @@ -56,8 +56,7 @@ final class HomeCardSectionCell: UICollectionViewCell { label.textColor = .w100 return label }() - - private let imageService = PreSignedService() + // MARK: - init override init(frame: CGRect) { diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Home/Main/View/HomePopularCardSection/HomePopularCardSectionCell.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Home/Main/View/HomePopularCardSection/HomePopularCardSectionCell.swift index b4bd7862..33170f64 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Home/Main/View/HomePopularCardSection/HomePopularCardSectionCell.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Home/Main/View/HomePopularCardSection/HomePopularCardSectionCell.swift @@ -57,7 +57,6 @@ final class HomePopularCardSectionCell: UICollectionViewCell { let disposeBag = DisposeBag() - private let imageService = PreSignedService() // MARK: - init override init(frame: CGRect) { diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/ProfileEdit/Main/ProfileEditReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/ProfileEdit/Main/ProfileEditReactor.swift index 00b17647..0b57dd84 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/ProfileEdit/Main/ProfileEditReactor.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/ProfileEdit/Main/ProfileEditReactor.swift @@ -1,13 +1,9 @@ -// -// ProfileEditReactor.swift -// Poppool -// -// Created by SeoJunYoung on 1/4/25. -// - import PhotosUI import UIKit +import Infrastructure +import DomainInterface + import ReactorKit import RxCocoa import RxSwift @@ -66,15 +62,17 @@ final class ProfileEditReactor: Reactor { private let userAPIUseCase: UserAPIUseCase private let signUpAPIUseCase: SignUpAPIUseCase - private let imageService = PreSignedService() + private let preSignedUseCase: PreSignedUseCase // MARK: - init init( userAPIUseCase: UserAPIUseCase, - signUpAPIUseCase: SignUpAPIUseCase + signUpAPIUseCase: SignUpAPIUseCase, + preSignedUseCase: PreSignedUseCase ) { self.userAPIUseCase = userAPIUseCase self.signUpAPIUseCase = signUpAPIUseCase + self.preSignedUseCase = preSignedUseCase self.initialState = State() } @@ -191,14 +189,14 @@ final class ProfileEditReactor: Reactor { let newPath = "ProfileImage/\(UUID().uuidString).jpg" currentImagePath = newPath if originProfileData?.profileImageUrl == nil { - return imageService.tryUpload(datas: [.init(filePath: newPath, image: changeImage)]) + return preSignedUseCase.tryUpload(presignedURLRequest: [(filePath: newPath, image: changeImage)]) .asObservable() .map { .loadView } } else { let deletePath = originProfileData?.profileImageUrl ?? "" - return imageService.tryDelete(targetPaths: .init(objectKeyList: [deletePath])) + return preSignedUseCase.tryDelete(objectKeyList: [deletePath]) .andThen( - imageService.tryUpload(datas: [.init(filePath: newPath, image: changeImage)]) + preSignedUseCase.tryUpload(presignedURLRequest: [(filePath: newPath, image: changeImage)]) .asObservable() .map { .loadView } ) @@ -211,7 +209,7 @@ final class ProfileEditReactor: Reactor { } else { currentImagePath = nil let deletePath = originProfileData?.profileImageUrl ?? "" - return imageService.tryDelete(targetPaths: .init(objectKeyList: [deletePath])) + return preSignedUseCase.tryDelete(objectKeyList: [deletePath]) .andThen(Observable.just(.loadView)) } } else { From 01e2cff4ecd4c51904a48c5445b71200fca94354 Mon Sep 17 00:00:00 2001 From: 0Hooni Date: Mon, 21 Apr 2025 02:05:36 +0900 Subject: [PATCH 56/83] =?UTF-8?q?remove/#112:=20=EC=82=AC=EC=9A=A9?= =?UTF-8?q?=ED=95=98=EC=A7=80=20=EC=95=8A=EB=8A=94=20Domain=20=EC=BB=A8?= =?UTF-8?q?=EB=B2=84=ED=84=B0=20=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../UserResponse/GetRecentPopUpResponse.swift | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetRecentPopUpResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetRecentPopUpResponse.swift index 5606d9d9..22b7e924 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetRecentPopUpResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetRecentPopUpResponse.swift @@ -16,17 +16,3 @@ public struct GetRecentPopUpDataResponse { var address: String? var closeYn: Bool } - -public extension GetRecentPopUpDataResponse { - func toStoreItem() -> StoreItem { - return StoreItem( - id: self.popUpStoreId, - thumbnailURL: self.mainImageUrl ?? "", - category: "카테고리", - title: self.popUpStoreName ?? "제목 없음", - location: self.address ?? "주소 없음", - dateRange: "\(self.startDate ?? "") ~ \(self.endDate ?? "")", - isBookmarked: self.closeYn - ) - } -} From 907702c4e9cdf15f996cf7fd18f1ed72ca28ff20 Mon Sep 17 00:00:00 2001 From: 0Hooni Date: Mon, 21 Apr 2025 02:06:06 +0900 Subject: [PATCH 57/83] =?UTF-8?q?refactor/#112:=20Secrets=20=EC=A0=91?= =?UTF-8?q?=EA=B7=BC=EC=A0=9C=EC=96=B4=EC=9E=90=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Infrastructure/Infrastructure/Secrets.swift | 12 ++++++------ .../Data/Data/RepositoryImpl/MapRepositoryImpl.swift | 1 + .../AdminRegister/PopUpStoreRegisterReactor.swift | 1 + 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/Poppool/CoreLayer/Infrastructure/Infrastructure/Secrets.swift b/Poppool/CoreLayer/Infrastructure/Infrastructure/Secrets.swift index 7338561a..80a48514 100644 --- a/Poppool/CoreLayer/Infrastructure/Infrastructure/Secrets.swift +++ b/Poppool/CoreLayer/Infrastructure/Infrastructure/Secrets.swift @@ -1,23 +1,23 @@ import Foundation -enum Secrets { - static var kakaoAuthAppKey: String { +public enum Secrets { + public static var kakaoAuthAppKey: String { return getValue(forKey: "KAKAO_AUTH_APP_KEY") } - static var popPoolBaseURL: String { + public static var popPoolBaseURL: String { return getValue(forKey: "POPPOOL_BASE_URL") } - static var popPoolS3BaseURL: String { + public static var popPoolS3BaseURL: String { return getValue(forKey: "POPPOOL_S3_BASE_URL") } - static var popPoolAPIKey: String { + public static var popPoolAPIKey: String { return getValue(forKey: "POPPOOL_API_KEY") } - static var naverMapClientID: String { + public static var naverMapClientID: String { return getValue(forKey: "NAVER_MAP_CLIENT_ID") } diff --git a/Poppool/DataLayer/Data/Data/RepositoryImpl/MapRepositoryImpl.swift b/Poppool/DataLayer/Data/Data/RepositoryImpl/MapRepositoryImpl.swift index fa6b742c..9ac2c055 100644 --- a/Poppool/DataLayer/Data/Data/RepositoryImpl/MapRepositoryImpl.swift +++ b/Poppool/DataLayer/Data/Data/RepositoryImpl/MapRepositoryImpl.swift @@ -1,6 +1,7 @@ import Foundation import DomainInterface +import Infrastructure import RxSwift diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterReactor.swift index b984a6f8..53df9995 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterReactor.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterReactor.swift @@ -1,6 +1,7 @@ import UIKit import CoreLocation +import Infrastructure import DomainInterface import ReactorKit From a17463bae44395e1c3358598ddd30bf6b770acf5 Mon Sep 17 00:00:00 2001 From: 0Hooni Date: Mon, 21 Apr 2025 02:23:26 +0900 Subject: [PATCH 58/83] =?UTF-8?q?refactor/#112:=20=EC=A0=91=EA=B7=BC?= =?UTF-8?q?=EC=A0=9C=EC=96=B4=EC=9E=90=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Infrastructure.xcodeproj/project.pbxproj | 20 ++++++++++ .../Service/KeyChainService.swift | 11 ++--- .../Data/Data.xcodeproj/project.pbxproj | 2 + .../Data/Data/Network/Provider/Provider.swift | 9 +---- .../Data/Network/Provider/ProviderImpl.swift | 9 ++++- .../RepositoryImpl/AdminRepositoryImpl.swift | 4 +- .../AuthAPIRepositoryImpl.swift | 4 +- .../CommentAPIRepositoryImpl.swift | 4 +- .../HomeAPIRepositoryImpl.swift | 4 +- .../MapDirectionRepositoryImpl.swift | 4 +- .../RepositoryImpl/MapRepositoryImpl.swift | 4 +- .../PopUpAPIRepositoryImpl.swift | 4 +- .../PreSignedRepositoryImpl.swift | 2 + .../RepositoryImpl/SignUpRepositoryImpl.swift | 4 +- .../UserAPIRepositoryImpl.swift | 4 +- .../Domain/Domain.xcodeproj/project.pbxproj | 4 ++ .../Domain/UseCaseImpl/AdminUseCaseImpl.swift | 4 +- .../UseCaseImpl/AuthAPIUseCaseImpl.swift | 4 +- .../UseCaseImpl/CommentAPIUseCaseImpl.swift | 4 +- .../UseCaseImpl/HomeAPIUseCaseImpl.swift | 4 +- .../Domain/UseCaseImpl/MapUseCaseImpl.swift | 4 +- .../UseCaseImpl/PopUpAPIUseCaseImpl.swift | 4 +- .../UseCaseImpl/PreSignedUseCaseImpl.swift | 2 +- .../UseCaseImpl/SignUpAPIUseCaseImpl.swift | 4 +- .../UseCaseImpl/UserAPIUseCaseImpl.swift | 4 +- .../Entity/AdminResponse/AdminStore.swift | 8 ++-- .../AdminResponse/AdminStoreDetail.swift | 40 +++++++++---------- .../AdminResponse/Params/AdminParams.swift | 34 ++++++++++++++++ Poppool/Poppool/Application/AppDelegate.swift | 12 +++++- .../Presentation.xcodeproj/project.pbxproj | 2 + .../PopUpStoreRegisterViewController.swift | 3 ++ 31 files changed, 148 insertions(+), 78 deletions(-) diff --git a/Poppool/CoreLayer/Infrastructure/Infrastructure.xcodeproj/project.pbxproj b/Poppool/CoreLayer/Infrastructure/Infrastructure.xcodeproj/project.pbxproj index 8f7ecdc1..145363c1 100644 --- a/Poppool/CoreLayer/Infrastructure/Infrastructure.xcodeproj/project.pbxproj +++ b/Poppool/CoreLayer/Infrastructure/Infrastructure.xcodeproj/project.pbxproj @@ -7,12 +7,29 @@ objects = { /* Begin PBXBuildFile section */ + 0512596B2DB5629C001342A2 /* RxCocoa-Dynamic in Embed Frameworks */ = {isa = PBXBuildFile; productRef = 05C1D82F2DB53CE300508FFD /* RxCocoa-Dynamic */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; + 0512596D2DB5629E001342A2 /* RxSwift-Dynamic in Embed Frameworks */ = {isa = PBXBuildFile; productRef = 05C1D8312DB53CE300508FFD /* RxSwift-Dynamic */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; 05C1D8302DB53CE300508FFD /* RxCocoa-Dynamic in Frameworks */ = {isa = PBXBuildFile; productRef = 05C1D82F2DB53CE300508FFD /* RxCocoa-Dynamic */; }; 05C1D8322DB53CE300508FFD /* RxSwift-Dynamic in Frameworks */ = {isa = PBXBuildFile; productRef = 05C1D8312DB53CE300508FFD /* RxSwift-Dynamic */; }; 05C1D8352DB53D3A00508FFD /* KakaoSDKAuth in Frameworks */ = {isa = PBXBuildFile; productRef = 05C1D8342DB53D3A00508FFD /* KakaoSDKAuth */; }; 05C1D8372DB53D3A00508FFD /* KakaoSDKUser in Frameworks */ = {isa = PBXBuildFile; productRef = 05C1D8362DB53D3A00508FFD /* KakaoSDKUser */; }; /* End PBXBuildFile section */ +/* Begin PBXCopyFilesBuildPhase section */ + 0512596C2DB5629C001342A2 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + 0512596D2DB5629E001342A2 /* RxSwift-Dynamic in Embed Frameworks */, + 0512596B2DB5629C001342A2 /* RxCocoa-Dynamic in Embed Frameworks */, + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + /* Begin PBXFileReference section */ 058CC9182DB5383C0084221A /* Infrastructure.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Infrastructure.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ @@ -77,6 +94,7 @@ 058CC9142DB5383C0084221A /* Sources */, 058CC9152DB5383C0084221A /* Frameworks */, 058CC9162DB5383C0084221A /* Resources */, + 0512596C2DB5629C001342A2 /* Embed Frameworks */, ); buildRules = ( ); @@ -293,6 +311,7 @@ GENERATE_INFOPLIST_FILE = YES; INFOPLIST_KEY_NSHumanReadableCopyright = ""; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 16.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -325,6 +344,7 @@ GENERATE_INFOPLIST_FILE = YES; INFOPLIST_KEY_NSHumanReadableCopyright = ""; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 16.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", diff --git a/Poppool/CoreLayer/Infrastructure/Infrastructure/Service/KeyChainService.swift b/Poppool/CoreLayer/Infrastructure/Infrastructure/Service/KeyChainService.swift index ebcfcb70..69b8225b 100644 --- a/Poppool/CoreLayer/Infrastructure/Infrastructure/Service/KeyChainService.swift +++ b/Poppool/CoreLayer/Infrastructure/Infrastructure/Service/KeyChainService.swift @@ -1,16 +1,9 @@ -// -// KeyChainService.swift -// MomsVillage -// -// Created by SeoJunYoung on 9/2/24. -// - import Foundation import Security import RxSwift -final class KeyChainService { +public final class KeyChainService { // KeyChain에서 발생할 수 있는 오류를 정의 enum KeyChainError: Error { @@ -22,6 +15,8 @@ final class KeyChainService { // KeyChain 서비스 이름 private let service = "keyChain" + public init() { } + /// KeyChain에서 특정 타입의 토큰을 가져오는 메서드 /// - Parameter type: 가져오려는 토큰의 타입 (`accessToken` 또는 `refreshToken`) /// - Returns: 가져온 토큰을 담은 `Single` diff --git a/Poppool/DataLayer/Data/Data.xcodeproj/project.pbxproj b/Poppool/DataLayer/Data/Data.xcodeproj/project.pbxproj index c28adfdb..3a0327d9 100644 --- a/Poppool/DataLayer/Data/Data.xcodeproj/project.pbxproj +++ b/Poppool/DataLayer/Data/Data.xcodeproj/project.pbxproj @@ -395,6 +395,7 @@ GENERATE_INFOPLIST_FILE = YES; INFOPLIST_KEY_NSHumanReadableCopyright = ""; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 16.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -427,6 +428,7 @@ GENERATE_INFOPLIST_FILE = YES; INFOPLIST_KEY_NSHumanReadableCopyright = ""; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 16.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", diff --git a/Poppool/DataLayer/Data/Data/Network/Provider/Provider.swift b/Poppool/DataLayer/Data/Data/Network/Provider/Provider.swift index 1a2e4394..5567cb93 100644 --- a/Poppool/DataLayer/Data/Data/Network/Provider/Provider.swift +++ b/Poppool/DataLayer/Data/Data/Network/Provider/Provider.swift @@ -1,16 +1,9 @@ -// -// Provider.swift -// MomsVillage -// -// Created by SeoJunYoung on 8/16/24. -// - import Foundation import Alamofire import RxSwift -protocol Provider { +public protocol Provider { /// 네트워크 요청을 수행하고 결과를 반환하는 메서드 /// - Parameters: diff --git a/Poppool/DataLayer/Data/Data/Network/Provider/ProviderImpl.swift b/Poppool/DataLayer/Data/Data/Network/Provider/ProviderImpl.swift index 0a14662f..7f2295bc 100644 --- a/Poppool/DataLayer/Data/Data/Network/Provider/ProviderImpl.swift +++ b/Poppool/DataLayer/Data/Data/Network/Provider/ProviderImpl.swift @@ -1,12 +1,17 @@ -import Alamofire import Foundation + +import Infrastructure + +import Alamofire import RxSwift -final class ProviderImpl: Provider { +public final class ProviderImpl: Provider { private let disposeBag = DisposeBag() var timeoutTimer: Timer? + public init(timeoutTimer: Timer? = nil) { self.timeoutTimer = timeoutTimer } + func requestData( with endpoint: E, interceptor: RequestInterceptor? = nil diff --git a/Poppool/DataLayer/Data/Data/RepositoryImpl/AdminRepositoryImpl.swift b/Poppool/DataLayer/Data/Data/RepositoryImpl/AdminRepositoryImpl.swift index 73bf0cf3..1a4e68f0 100644 --- a/Poppool/DataLayer/Data/Data/RepositoryImpl/AdminRepositoryImpl.swift +++ b/Poppool/DataLayer/Data/Data/RepositoryImpl/AdminRepositoryImpl.swift @@ -5,14 +5,14 @@ import DomainInterface import Alamofire import RxSwift -final class AdminRepositoryImpl: AdminRepository { +public final class AdminRepositoryImpl: AdminRepository { // MARK: - Properties private let provider: Provider private let tokenInterceptor = TokenInterceptor() // MARK: - Init - init(provider: Provider) { + public init(provider: Provider) { self.provider = provider } diff --git a/Poppool/DataLayer/Data/Data/RepositoryImpl/AuthAPIRepositoryImpl.swift b/Poppool/DataLayer/Data/Data/RepositoryImpl/AuthAPIRepositoryImpl.swift index bd991c59..43e16ab5 100644 --- a/Poppool/DataLayer/Data/Data/RepositoryImpl/AuthAPIRepositoryImpl.swift +++ b/Poppool/DataLayer/Data/Data/RepositoryImpl/AuthAPIRepositoryImpl.swift @@ -4,12 +4,12 @@ import DomainInterface import RxSwift -final class AuthAPIRepositoryImpl: AuthAPIRepository { +public final class AuthAPIRepositoryImpl: AuthAPIRepository { private let provider: Provider private let tokenInterceptor = TokenInterceptor() - init(provider: Provider) { + public init(provider: Provider) { self.provider = provider } diff --git a/Poppool/DataLayer/Data/Data/RepositoryImpl/CommentAPIRepositoryImpl.swift b/Poppool/DataLayer/Data/Data/RepositoryImpl/CommentAPIRepositoryImpl.swift index 210c31c0..8c9eb15a 100644 --- a/Poppool/DataLayer/Data/Data/RepositoryImpl/CommentAPIRepositoryImpl.swift +++ b/Poppool/DataLayer/Data/Data/RepositoryImpl/CommentAPIRepositoryImpl.swift @@ -4,12 +4,12 @@ import DomainInterface import RxSwift -final class CommentAPIRepositoryImpl: CommentAPIRepository { +public final class CommentAPIRepositoryImpl: CommentAPIRepository { private let provider: Provider private let tokenInterceptor = TokenInterceptor() - init(provider: Provider) { + public init(provider: Provider) { self.provider = provider } diff --git a/Poppool/DataLayer/Data/Data/RepositoryImpl/HomeAPIRepositoryImpl.swift b/Poppool/DataLayer/Data/Data/RepositoryImpl/HomeAPIRepositoryImpl.swift index fe8e4b44..a76953cc 100644 --- a/Poppool/DataLayer/Data/Data/RepositoryImpl/HomeAPIRepositoryImpl.swift +++ b/Poppool/DataLayer/Data/Data/RepositoryImpl/HomeAPIRepositoryImpl.swift @@ -4,12 +4,12 @@ import DomainInterface import RxSwift -final class HomeAPIRepositoryImpl: HomeAPIRepository { +public final class HomeAPIRepositoryImpl: HomeAPIRepository { private let provider: Provider private let tokenInterceptor = TokenInterceptor() - init(provider: Provider) { + public init(provider: Provider) { self.provider = provider } diff --git a/Poppool/DataLayer/Data/Data/RepositoryImpl/MapDirectionRepositoryImpl.swift b/Poppool/DataLayer/Data/Data/RepositoryImpl/MapDirectionRepositoryImpl.swift index b9f8c297..bad1882a 100644 --- a/Poppool/DataLayer/Data/Data/RepositoryImpl/MapDirectionRepositoryImpl.swift +++ b/Poppool/DataLayer/Data/Data/RepositoryImpl/MapDirectionRepositoryImpl.swift @@ -4,12 +4,12 @@ import DomainInterface import RxSwift -final class MapDirectionRepositoryImpl: MapDirectionRepository { +public final class MapDirectionRepositoryImpl: MapDirectionRepository { private let provider: Provider private let tokenInterceptor = TokenInterceptor() - init(provider: Provider) { + public init(provider: Provider) { self.provider = provider } diff --git a/Poppool/DataLayer/Data/Data/RepositoryImpl/MapRepositoryImpl.swift b/Poppool/DataLayer/Data/Data/RepositoryImpl/MapRepositoryImpl.swift index 9ac2c055..6d80fff7 100644 --- a/Poppool/DataLayer/Data/Data/RepositoryImpl/MapRepositoryImpl.swift +++ b/Poppool/DataLayer/Data/Data/RepositoryImpl/MapRepositoryImpl.swift @@ -5,11 +5,11 @@ import Infrastructure import RxSwift -final class MapRepositoryImpl: MapRepository { +public final class MapRepositoryImpl: MapRepository { private let provider: Provider - init(provider: Provider) { + public init(provider: Provider) { self.provider = provider } diff --git a/Poppool/DataLayer/Data/Data/RepositoryImpl/PopUpAPIRepositoryImpl.swift b/Poppool/DataLayer/Data/Data/RepositoryImpl/PopUpAPIRepositoryImpl.swift index 37600666..cb22fc00 100644 --- a/Poppool/DataLayer/Data/Data/RepositoryImpl/PopUpAPIRepositoryImpl.swift +++ b/Poppool/DataLayer/Data/Data/RepositoryImpl/PopUpAPIRepositoryImpl.swift @@ -4,12 +4,12 @@ import DomainInterface import RxSwift -final class PopUpAPIRepositoryImpl: PopUpAPIRepository { +public final class PopUpAPIRepositoryImpl: PopUpAPIRepository { private let provider: Provider private let tokenInterceptor = TokenInterceptor() - init(provider: Provider) { + public init(provider: Provider) { self.provider = provider } diff --git a/Poppool/DataLayer/Data/Data/RepositoryImpl/PreSignedRepositoryImpl.swift b/Poppool/DataLayer/Data/Data/RepositoryImpl/PreSignedRepositoryImpl.swift index 4f6eec21..8bcf66d5 100644 --- a/Poppool/DataLayer/Data/Data/RepositoryImpl/PreSignedRepositoryImpl.swift +++ b/Poppool/DataLayer/Data/Data/RepositoryImpl/PreSignedRepositoryImpl.swift @@ -8,6 +8,8 @@ public final class PreSignedRepositoryImpl: PreSignedRepository { private let service = PreSignedService() + public init() { } + public func tryUpload(presignedURLRequest: [(filePath: String, image: UIImage)]) -> Single { return service.tryUpload(datas: presignedURLRequest.map { PreSignedService.PresignedURLRequest( diff --git a/Poppool/DataLayer/Data/Data/RepositoryImpl/SignUpRepositoryImpl.swift b/Poppool/DataLayer/Data/Data/RepositoryImpl/SignUpRepositoryImpl.swift index a3b4f7fe..10225783 100644 --- a/Poppool/DataLayer/Data/Data/RepositoryImpl/SignUpRepositoryImpl.swift +++ b/Poppool/DataLayer/Data/Data/RepositoryImpl/SignUpRepositoryImpl.swift @@ -4,11 +4,11 @@ import DomainInterface import RxSwift -final class SignUpRepositoryImpl: SignUpRepository { +public final class SignUpRepositoryImpl: SignUpRepository { private let provider: Provider - init(provider: Provider) { + public init(provider: Provider) { self.provider = provider } diff --git a/Poppool/DataLayer/Data/Data/RepositoryImpl/UserAPIRepositoryImpl.swift b/Poppool/DataLayer/Data/Data/RepositoryImpl/UserAPIRepositoryImpl.swift index 31ca397c..55ff8a35 100644 --- a/Poppool/DataLayer/Data/Data/RepositoryImpl/UserAPIRepositoryImpl.swift +++ b/Poppool/DataLayer/Data/Data/RepositoryImpl/UserAPIRepositoryImpl.swift @@ -4,12 +4,12 @@ import DomainInterface import RxSwift -final class UserAPIRepositoryImpl: UserAPIRepository { +public final class UserAPIRepositoryImpl: UserAPIRepository { private let provider: Provider private let tokenInterceptor = TokenInterceptor() - init(provider: Provider) { + public init(provider: Provider) { self.provider = provider } diff --git a/Poppool/DomainLayer/Domain/Domain.xcodeproj/project.pbxproj b/Poppool/DomainLayer/Domain/Domain.xcodeproj/project.pbxproj index 8b19b2ae..88ed89bd 100644 --- a/Poppool/DomainLayer/Domain/Domain.xcodeproj/project.pbxproj +++ b/Poppool/DomainLayer/Domain/Domain.xcodeproj/project.pbxproj @@ -417,6 +417,7 @@ GENERATE_INFOPLIST_FILE = YES; INFOPLIST_KEY_NSHumanReadableCopyright = ""; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 16.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -449,6 +450,7 @@ GENERATE_INFOPLIST_FILE = YES; INFOPLIST_KEY_NSHumanReadableCopyright = ""; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 16.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -481,6 +483,7 @@ GENERATE_INFOPLIST_FILE = YES; INFOPLIST_KEY_NSHumanReadableCopyright = ""; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 16.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -513,6 +516,7 @@ GENERATE_INFOPLIST_FILE = YES; INFOPLIST_KEY_NSHumanReadableCopyright = ""; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 16.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", diff --git a/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/AdminUseCaseImpl.swift b/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/AdminUseCaseImpl.swift index 52c25f65..e3976ba6 100644 --- a/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/AdminUseCaseImpl.swift +++ b/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/AdminUseCaseImpl.swift @@ -4,11 +4,11 @@ import DomainInterface import RxSwift -final class AdminUseCaseImpl: AdminUseCase { +public final class AdminUseCaseImpl: AdminUseCase { private let repository: AdminRepository - init(repository: AdminRepository) { + public init(repository: AdminRepository) { self.repository = repository } diff --git a/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/AuthAPIUseCaseImpl.swift b/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/AuthAPIUseCaseImpl.swift index 81aabcdc..ae809033 100644 --- a/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/AuthAPIUseCaseImpl.swift +++ b/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/AuthAPIUseCaseImpl.swift @@ -4,11 +4,11 @@ import DomainInterface import RxSwift -final class AuthAPIUseCaseImpl: AuthAPIUseCase { +public final class AuthAPIUseCaseImpl: AuthAPIUseCase { private let repository: AuthAPIRepository - init(repository: AuthAPIRepository) { + public init(repository: AuthAPIRepository) { self.repository = repository } diff --git a/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/CommentAPIUseCaseImpl.swift b/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/CommentAPIUseCaseImpl.swift index 695e669f..43b4dec4 100644 --- a/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/CommentAPIUseCaseImpl.swift +++ b/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/CommentAPIUseCaseImpl.swift @@ -4,11 +4,11 @@ import DomainInterface import RxSwift -final class CommentAPIUseCaseImpl: CommentAPIUseCase { +public final class CommentAPIUseCaseImpl: CommentAPIUseCase { private let repository: CommentAPIRepository - init(repository: CommentAPIRepository) { + public init(repository: CommentAPIRepository) { self.repository = repository } diff --git a/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/HomeAPIUseCaseImpl.swift b/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/HomeAPIUseCaseImpl.swift index 17ee1e6f..b8a8eaf8 100644 --- a/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/HomeAPIUseCaseImpl.swift +++ b/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/HomeAPIUseCaseImpl.swift @@ -4,11 +4,11 @@ import DomainInterface import RxSwift -final class HomeAPIUseCaseImpl: HomeAPIUseCase { +public final class HomeAPIUseCaseImpl: HomeAPIUseCase { private let repository: HomeAPIRepository - init(repository: HomeAPIRepository) { + public init(repository: HomeAPIRepository) { self.repository = repository } diff --git a/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/MapUseCaseImpl.swift b/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/MapUseCaseImpl.swift index a6b7d558..60157303 100644 --- a/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/MapUseCaseImpl.swift +++ b/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/MapUseCaseImpl.swift @@ -4,11 +4,11 @@ import DomainInterface import RxSwift -final class MapUseCaseImpl: MapUseCase { +public final class MapUseCaseImpl: MapUseCase { private let repository: MapRepository - init(repository: MapRepository) { + public init(repository: MapRepository) { self.repository = repository } diff --git a/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/PopUpAPIUseCaseImpl.swift b/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/PopUpAPIUseCaseImpl.swift index b437cb38..cbb38408 100644 --- a/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/PopUpAPIUseCaseImpl.swift +++ b/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/PopUpAPIUseCaseImpl.swift @@ -4,11 +4,11 @@ import DomainInterface import RxSwift -final class PopUpAPIUseCaseImpl: PopUpAPIUseCase { +public final class PopUpAPIUseCaseImpl: PopUpAPIUseCase { private let repository: PopUpAPIRepository - init(repository: PopUpAPIRepository) { + public init(repository: PopUpAPIRepository) { self.repository = repository } diff --git a/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/PreSignedUseCaseImpl.swift b/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/PreSignedUseCaseImpl.swift index 493f2ea8..c84a23bf 100644 --- a/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/PreSignedUseCaseImpl.swift +++ b/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/PreSignedUseCaseImpl.swift @@ -7,7 +7,7 @@ import RxSwift public final class PreSignedUseCaseImpl: PreSignedUseCase { private let repository: PreSignedRepository - init(repository: PreSignedRepository) { + public init(repository: PreSignedRepository) { self.repository = repository } diff --git a/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/SignUpAPIUseCaseImpl.swift b/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/SignUpAPIUseCaseImpl.swift index baf641ca..74714236 100644 --- a/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/SignUpAPIUseCaseImpl.swift +++ b/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/SignUpAPIUseCaseImpl.swift @@ -4,10 +4,10 @@ import DomainInterface import RxSwift -final class SignUpAPIUseCaseImpl: SignUpAPIUseCase { +public final class SignUpAPIUseCaseImpl: SignUpAPIUseCase { private let repository: SignUpRepository - init(repository: SignUpRepository) { + public init(repository: SignUpRepository) { self.repository = repository } diff --git a/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/UserAPIUseCaseImpl.swift b/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/UserAPIUseCaseImpl.swift index f33df46e..a3ea8525 100644 --- a/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/UserAPIUseCaseImpl.swift +++ b/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/UserAPIUseCaseImpl.swift @@ -4,10 +4,10 @@ import DomainInterface import RxSwift -final class UserAPIUseCaseImpl: UserAPIUseCase { +public final class UserAPIUseCaseImpl: UserAPIUseCase { private let repository: UserAPIRepository - init(repository: UserAPIRepository) { + public init(repository: UserAPIRepository) { self.repository = repository } diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/AdminResponse/AdminStore.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/AdminResponse/AdminStore.swift index 54f2a211..636685a6 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/AdminResponse/AdminStore.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/AdminResponse/AdminStore.swift @@ -1,8 +1,8 @@ import Foundation public struct AdminStore { - let id: Int64 - let name: String - let categoryName: String - let mainImageUrl: String + public let id: Int64 + public let name: String + public let categoryName: String + public let mainImageUrl: String } diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/AdminResponse/AdminStoreDetail.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/AdminResponse/AdminStoreDetail.swift index 62c26415..3cb81611 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/AdminResponse/AdminStoreDetail.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/AdminResponse/AdminStoreDetail.swift @@ -1,26 +1,26 @@ import Foundation public struct AdminStoreDetail { - let id: Int64 - let name: String - let categoryId: Int64 - let categoryName: String - let description: String - let address: String - let startDate: String - let endDate: String - let createUserId: String - let createDateTime: String - let mainImageUrl: String - let bannerYn: Bool - let images: [StoreImage] - let latitude: Double - let longitude: Double - let markerTitle: String - let markerSnippet: String + public let id: Int64 + public let name: String + public let categoryId: Int64 + public let categoryName: String + public let description: String + public let address: String + public let startDate: String + public let endDate: String + public let createUserId: String + public let createDateTime: String + public let mainImageUrl: String + public let bannerYn: Bool + public let images: [StoreImage] + public let latitude: Double + public let longitude: Double + public let markerTitle: String + public let markerSnippet: String - struct StoreImage { - let id: Int64 - let imageUrl: String + public struct StoreImage { + public let id: Int64 + public let imageUrl: String } } diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/AdminResponse/Params/AdminParams.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/AdminResponse/Params/AdminParams.swift index cbae967f..c92c1fa6 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/AdminResponse/Params/AdminParams.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/AdminResponse/Params/AdminParams.swift @@ -1,6 +1,22 @@ import Foundation public struct CreateStoreParams { + public init(name: String, categoryId: Int64, desc: String, address: String, startDate: String, endDate: String, mainImageUrl: String, imageUrlList: [String?], latitude: Double, longitude: Double, markerTitle: String, markerSnippet: String, startDateBeforeEndDate: Bool) { + self.name = name + self.categoryId = categoryId + self.desc = desc + self.address = address + self.startDate = startDate + self.endDate = endDate + self.mainImageUrl = mainImageUrl + self.imageUrlList = imageUrlList + self.latitude = latitude + self.longitude = longitude + self.markerTitle = markerTitle + self.markerSnippet = markerSnippet + self.startDateBeforeEndDate = startDateBeforeEndDate + } + public let name: String public let categoryId: Int64 public let desc: String @@ -17,6 +33,24 @@ public struct CreateStoreParams { } public struct UpdateStoreParams { + public init(id: Int64, name: String, categoryId: Int64, desc: String, address: String, startDate: String, endDate: String, mainImageUrl: String, imageUrlList: [String?], imagesToDelete: [Int64], latitude: Double, longitude: Double, markerTitle: String, markerSnippet: String, startDateBeforeEndDate: Bool) { + self.id = id + self.name = name + self.categoryId = categoryId + self.desc = desc + self.address = address + self.startDate = startDate + self.endDate = endDate + self.mainImageUrl = mainImageUrl + self.imageUrlList = imageUrlList + self.imagesToDelete = imagesToDelete + self.latitude = latitude + self.longitude = longitude + self.markerTitle = markerTitle + self.markerSnippet = markerSnippet + self.startDateBeforeEndDate = startDateBeforeEndDate + } + public let id: Int64 public let name: String public let categoryId: Int64 diff --git a/Poppool/Poppool/Application/AppDelegate.swift b/Poppool/Poppool/Application/AppDelegate.swift index 471f00c9..048389c4 100644 --- a/Poppool/Poppool/Application/AppDelegate.swift +++ b/Poppool/Poppool/Application/AppDelegate.swift @@ -1,7 +1,14 @@ +import UIKit import CoreLocation + +import Data +import Domain +import DomainInterface +import Presentation +import Infrastructure + import KakaoSDKCommon import NMapsMap -import UIKit @main class AppDelegate: UIResponder, UIApplicationDelegate { @@ -45,6 +52,7 @@ extension AppDelegate { DIContainer.register(AuthAPIRepository.self) { return AuthAPIRepositoryImpl(provider: provider) } DIContainer.register(SignUpRepository.self) { return SignUpRepositoryImpl(provider: provider) } DIContainer.register(MapDirectionRepository.self) { return MapDirectionRepositoryImpl(provider: provider) } + DIContainer.register(PreSignedRepository.self) { return PreSignedRepositoryImpl() } // MARK: Resolve repository @Dependency var mapRepository: MapRepository @@ -55,6 +63,7 @@ extension AppDelegate { @Dependency var homeAPIRepository: HomeAPIRepository @Dependency var authAPIRepository: AuthAPIRepository @Dependency var signUpRepository: SignUpRepository + @Dependency var preSignedRepository: PreSignedRepository // MARK: Register UseCase DIContainer.register(MapUseCase.self) { return MapUseCaseImpl(repository: mapRepository) } @@ -65,5 +74,6 @@ extension AppDelegate { DIContainer.register(HomeAPIUseCase.self) { return HomeAPIUseCaseImpl(repository: homeAPIRepository) } DIContainer.register(AuthAPIUseCase.self) { return AuthAPIUseCaseImpl(repository: authAPIRepository) } DIContainer.register(SignUpAPIUseCase.self) { return SignUpAPIUseCaseImpl(repository: signUpRepository) } + DIContainer.register(PreSignedUseCase.self) { return PreSignedUseCaseImpl(repository: preSignedRepository) } } } diff --git a/Poppool/PresentationLayer/Presentation/Presentation.xcodeproj/project.pbxproj b/Poppool/PresentationLayer/Presentation/Presentation.xcodeproj/project.pbxproj index 48d6a932..faf1c80f 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation.xcodeproj/project.pbxproj +++ b/Poppool/PresentationLayer/Presentation/Presentation.xcodeproj/project.pbxproj @@ -311,6 +311,7 @@ GENERATE_INFOPLIST_FILE = YES; INFOPLIST_KEY_NSHumanReadableCopyright = ""; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 16.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -343,6 +344,7 @@ GENERATE_INFOPLIST_FILE = YES; INFOPLIST_KEY_NSHumanReadableCopyright = ""; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 16.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterViewController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterViewController.swift index 199d4c26..387022a5 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterViewController.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterViewController.swift @@ -2,6 +2,9 @@ import CoreLocation import PhotosUI import UIKit +import DomainInterface +import Infrastructure + import ReactorKit import RxCocoa import RxSwift From 356d3decdc0c81ca3e9b0df31b5e2bf35b06f206 Mon Sep 17 00:00:00 2001 From: 0Hooni Date: Mon, 21 Apr 2025 02:25:33 +0900 Subject: [PATCH 59/83] =?UTF-8?q?refactor/#112:=20Provider=20=EA=B4=80?= =?UTF-8?q?=EB=A0=A8=20=EC=A0=91=EA=B7=BC=EC=A0=9C=EC=96=B4=EC=9E=90=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Infrastructure/Service/KeyChainService.swift | 4 ++-- .../Data/Data/Network/Common/Requestable.swift | 11 +++-------- .../Data/Data/Network/Common/Responsable.swift | 9 +-------- .../Data/Data/Network/EndPoint/Endpoint.swift | 9 +-------- .../Data/Network/EndPoint/MultipartEndPoint.swift | 13 ++++--------- .../Data/Data/Network/Provider/ProviderImpl.swift | 6 +++--- 6 files changed, 14 insertions(+), 38 deletions(-) diff --git a/Poppool/CoreLayer/Infrastructure/Infrastructure/Service/KeyChainService.swift b/Poppool/CoreLayer/Infrastructure/Infrastructure/Service/KeyChainService.swift index 69b8225b..b9545cf0 100644 --- a/Poppool/CoreLayer/Infrastructure/Infrastructure/Service/KeyChainService.swift +++ b/Poppool/CoreLayer/Infrastructure/Infrastructure/Service/KeyChainService.swift @@ -62,7 +62,7 @@ public final class KeyChainService { /// - Parameter type: 저장하려는 토큰의 타입 (`accessToken` 또는 `refreshToken`) /// - Parameter value: 저장할 토큰의 값 /// - Returns: 완료 시 `Completable` - func saveToken(type: TokenType, value: String) -> Result { + public func saveToken(type: TokenType, value: String) -> Result { // allowLossyConversion은 인코딩 과정에서 손실이 되는 것을 허용할 것인지 설정 guard let convertValue = value.data(using: .utf8, allowLossyConversion: false) else { return .failure(KeyChainError.dataConversionError(message: "Failed to convert value to Data.")) @@ -123,7 +123,7 @@ public final class KeyChainService { } } -enum TokenType: String { +public enum TokenType: String { case accessToken // 액세스 토큰 case refreshToken // 리프레시 토큰 } diff --git a/Poppool/DataLayer/Data/Data/Network/Common/Requestable.swift b/Poppool/DataLayer/Data/Data/Network/Common/Requestable.swift index 9933fba3..2709e94c 100644 --- a/Poppool/DataLayer/Data/Data/Network/Common/Requestable.swift +++ b/Poppool/DataLayer/Data/Data/Network/Common/Requestable.swift @@ -1,15 +1,10 @@ -// -// Requestable.swift -// MomsVillage -// -// Created by SeoJunYoung on 8/16/24. -// - import Foundation +import Infrastructure + import Alamofire -protocol Requestable { +public protocol Requestable { var baseURL: String { get } var path: String { get } var method: HTTPMethod { get } diff --git a/Poppool/DataLayer/Data/Data/Network/Common/Responsable.swift b/Poppool/DataLayer/Data/Data/Network/Common/Responsable.swift index c4743d30..9f7c310c 100644 --- a/Poppool/DataLayer/Data/Data/Network/Common/Responsable.swift +++ b/Poppool/DataLayer/Data/Data/Network/Common/Responsable.swift @@ -1,12 +1,5 @@ -// -// Responsable.swift -// MomsVillage -// -// Created by SeoJunYoung on 8/16/24. -// - import Foundation -protocol Responsable { +public protocol Responsable { associatedtype Response } diff --git a/Poppool/DataLayer/Data/Data/Network/EndPoint/Endpoint.swift b/Poppool/DataLayer/Data/Data/Network/EndPoint/Endpoint.swift index fcc83980..4e835db9 100644 --- a/Poppool/DataLayer/Data/Data/Network/EndPoint/Endpoint.swift +++ b/Poppool/DataLayer/Data/Data/Network/EndPoint/Endpoint.swift @@ -1,15 +1,8 @@ -// -// Endpoint.swift -// MomsVillage -// -// Created by SeoJunYoung on 8/16/24. -// - import Foundation import Alamofire -protocol RequesteResponsable: Requestable, Responsable where Response: Decodable {} +public protocol RequesteResponsable: Requestable, Responsable where Response: Decodable {} class Endpoint: RequesteResponsable { typealias Response = R diff --git a/Poppool/DataLayer/Data/Data/Network/EndPoint/MultipartEndPoint.swift b/Poppool/DataLayer/Data/Data/Network/EndPoint/MultipartEndPoint.swift index 75b4ef2e..00a5bf3c 100644 --- a/Poppool/DataLayer/Data/Data/Network/EndPoint/MultipartEndPoint.swift +++ b/Poppool/DataLayer/Data/Data/Network/EndPoint/MultipartEndPoint.swift @@ -1,15 +1,10 @@ -// -// MultipartEndPoint.swift -// MomsVillage -// -// Created by SeoJunYoung on 10/25/24. -// - import UIKit +import Infrastructure + import Alamofire -class MultipartEndPoint: URLRequestConvertible { +public class MultipartEndPoint: URLRequestConvertible { var baseURL: String var path: String var method: HTTPMethod @@ -36,7 +31,7 @@ class MultipartEndPoint: URLRequestConvertible { self.headers = headers } - func asURLRequest() throws -> URLRequest { + public func asURLRequest() throws -> URLRequest { let url = try baseURL.asURL().appendingPathComponent(path) var request = URLRequest(url: url) Logger.log(message: "\(request) URL 생성", category: .network) diff --git a/Poppool/DataLayer/Data/Data/Network/Provider/ProviderImpl.swift b/Poppool/DataLayer/Data/Data/Network/Provider/ProviderImpl.swift index 7f2295bc..e3d925ed 100644 --- a/Poppool/DataLayer/Data/Data/Network/Provider/ProviderImpl.swift +++ b/Poppool/DataLayer/Data/Data/Network/Provider/ProviderImpl.swift @@ -12,7 +12,7 @@ public final class ProviderImpl: Provider { public init(timeoutTimer: Timer? = nil) { self.timeoutTimer = timeoutTimer } - func requestData( + public func requestData( with endpoint: E, interceptor: RequestInterceptor? = nil ) -> Observable where R == E.Response { @@ -87,7 +87,7 @@ public final class ProviderImpl: Provider { } } - func request( + public func request( with request: E, interceptor: RequestInterceptor? = nil ) -> Completable { @@ -146,7 +146,7 @@ public final class ProviderImpl: Provider { } // multipart 업로드는 기존 코드와 동일 - func uploadImages( + public func uploadImages( with request: MultipartEndPoint, interceptor: RequestInterceptor? = nil ) -> Completable { From 23b19117677cfc7010efc6fad4c201a7b5678654 Mon Sep 17 00:00:00 2001 From: 0Hooni Date: Mon, 21 Apr 2025 02:40:40 +0900 Subject: [PATCH 60/83] =?UTF-8?q?refactor/#112:=20SceneDelegate=EC=97=90?= =?UTF-8?q?=EC=84=9C=20=EB=AC=B8=EC=A0=9C=EB=90=98=EB=8D=98=20=EC=A0=91?= =?UTF-8?q?=EA=B7=BC=EC=A0=9C=EC=96=B4=EC=9E=90=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Infrastructure/Extension/UIColor+.swift | 2 +- .../AuthResponse/PostTokenReissueResponse.swift | 8 ++++---- Poppool/Poppool/Application/SceneDelegate.swift | 2 ++ .../Scene/Splash/SplashController.swift | 11 +++++++++-- .../Utills/Controllers/BaseViewController.swift | 15 +++++---------- 5 files changed, 21 insertions(+), 17 deletions(-) diff --git a/Poppool/CoreLayer/Infrastructure/Infrastructure/Extension/UIColor+.swift b/Poppool/CoreLayer/Infrastructure/Infrastructure/Extension/UIColor+.swift index 1ea48e23..72662faf 100644 --- a/Poppool/CoreLayer/Infrastructure/Infrastructure/Extension/UIColor+.swift +++ b/Poppool/CoreLayer/Infrastructure/Infrastructure/Extension/UIColor+.swift @@ -7,7 +7,7 @@ import UIKit -extension UIColor { +public extension UIColor { // 무채색 컬러 static let g50 = UIColor(hexCode: "F2F5F7") diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/AuthResponse/PostTokenReissueResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/AuthResponse/PostTokenReissueResponse.swift index d661cfba..3639847f 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/AuthResponse/PostTokenReissueResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/AuthResponse/PostTokenReissueResponse.swift @@ -1,8 +1,8 @@ import Foundation public struct PostTokenReissueResponse { - var accessToken: String? - var refreshToken: String? - var accessTokenExpiresAt: String? - var refreshTokenExpiresAt: String? + public var accessToken: String? + public var refreshToken: String? + public var accessTokenExpiresAt: String? + public var refreshTokenExpiresAt: String? } diff --git a/Poppool/Poppool/Application/SceneDelegate.swift b/Poppool/Poppool/Application/SceneDelegate.swift index 5a7be40e..df8f5bb8 100644 --- a/Poppool/Poppool/Application/SceneDelegate.swift +++ b/Poppool/Poppool/Application/SceneDelegate.swift @@ -1,5 +1,7 @@ import UIKit +import Presentation + import KakaoSDKAuth import RxSwift diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Splash/SplashController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Splash/SplashController.swift index 80cc2877..4aece5de 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Splash/SplashController.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Splash/SplashController.swift @@ -1,12 +1,19 @@ import UIKit +import Infrastructure +import DomainInterface + import ReactorKit import RxCocoa import RxSwift import SnapKit -final class SplashController: BaseViewController { +public final class SplashController: BaseViewController { + public override init() { } + + required init?(coder: NSCoder) { fatalError("init(coder:) has not been implemented") } + // MARK: - Properties var disposeBag = DisposeBag() @@ -20,7 +27,7 @@ final class SplashController: BaseViewController { // MARK: - Life Cycle extension SplashController { - override func viewDidLoad() { + public override func viewDidLoad() { super.viewDidLoad() setUp() setRootview() diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Utills/Controllers/BaseViewController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Utills/Controllers/BaseViewController.swift index 2184b672..19da325b 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Utills/Controllers/BaseViewController.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Utills/Controllers/BaseViewController.swift @@ -1,16 +1,11 @@ -// -// BaseViewController.swift -// MomsVillage -// -// Created by SeoJunYoung on 8/9/24. -// - import UIKit +import Infrastructure + import RxCocoa import RxSwift -class BaseViewController: UIViewController { +public class BaseViewController: UIViewController { var systemStatusBarIsDark: BehaviorRelay = .init(value: true) var systemStatusBarDisposeBag = DisposeBag() @@ -29,14 +24,14 @@ class BaseViewController: UIViewController { fatalError("init(coder:) has not been implemented") } - override func viewDidLoad() { + public override func viewDidLoad() { super.viewDidLoad() self.view.backgroundColor = .white self.navigationController?.navigationBar.isHidden = true systemStatusBarIsDarkBind() } - override func viewWillAppear(_ animated: Bool) { + public override func viewWillAppear(_ animated: Bool) { super.viewWillAppear(animated) systemStatusBarIsDark.accept(systemStatusBarIsDark.value) } From 57d0a27f3c58c5788dbc410402a63c09f14331d3 Mon Sep 17 00:00:00 2001 From: 0Hooni Date: Mon, 21 Apr 2025 02:41:06 +0900 Subject: [PATCH 61/83] =?UTF-8?q?fix/#112:=20PutCommentImageDataRequestDTO?= =?UTF-8?q?=20=EC=9D=98=EC=A1=B4=EC=84=B1=20=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CommentAPIRepositoryImpl.swift | 15 ++++++--- .../UseCaseImpl/CommentAPIUseCaseImpl.swift | 9 +++--- .../Repository/CommentAPIRepository.swift | 32 +++++++++---------- 3 files changed, 31 insertions(+), 25 deletions(-) diff --git a/Poppool/DataLayer/Data/Data/RepositoryImpl/CommentAPIRepositoryImpl.swift b/Poppool/DataLayer/Data/Data/RepositoryImpl/CommentAPIRepositoryImpl.swift index 8c9eb15a..142b61c0 100644 --- a/Poppool/DataLayer/Data/Data/RepositoryImpl/CommentAPIRepositoryImpl.swift +++ b/Poppool/DataLayer/Data/Data/RepositoryImpl/CommentAPIRepositoryImpl.swift @@ -13,20 +13,27 @@ public final class CommentAPIRepositoryImpl: CommentAPIRepository { self.provider = provider } - func postCommentAdd(popUpStoreId: Int64, content: String?, commentType: String?, imageUrlList: [String?]) -> Completable { + public func postCommentAdd(popUpStoreId: Int64, content: String?, commentType: String?, imageUrlList: [String?]) -> Completable { let requestDTO = PostCommentRequestDTO(popUpStoreId: popUpStoreId, content: content, commentType: commentType, imageUrlList: imageUrlList) let endPoint = CommentAPIEndPoint.postCommentAdd(request: requestDTO) return provider.request(with: endPoint, interceptor: tokenInterceptor) } - func deleteComment(popUpStoreId: Int64, commentId: Int64) -> Completable { + public func deleteComment(popUpStoreId: Int64, commentId: Int64) -> Completable { let requestDTO = DeleteCommentRequestDTO(popUpStoreId: popUpStoreId, commentId: commentId) let endPoint = CommentAPIEndPoint.deleteComment(request: requestDTO) return provider.request(with: endPoint, interceptor: tokenInterceptor) } - func editComment(popUpStoreId: Int64, commentId: Int64, content: String?, imageUrlList: [PutCommentImageDataRequestDTO]?) -> Completable { - let requestDTO = PutCommentRequestDTO(popUpStoreId: popUpStoreId, commentId: commentId, content: content, imageUrlList: imageUrlList) + public func editComment(popUpStoreId: Int64, commentId: Int64, content: String?, imageUrlList: [String?]?) -> Completable { + let dtoList: [PutCommentImageDataRequestDTO]? = imageUrlList?.compactMap { $0 }.map { PutCommentImageDataRequestDTO(imageUrl: $0) } + + let requestDTO = PutCommentRequestDTO( + popUpStoreId: popUpStoreId, + commentId: commentId, + content: content, + imageUrlList: dtoList + ) let endPoint = CommentAPIEndPoint.editComment(request: requestDTO) return provider.request(with: endPoint, interceptor: tokenInterceptor) } diff --git a/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/CommentAPIUseCaseImpl.swift b/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/CommentAPIUseCaseImpl.swift index 43b4dec4..479fbdd0 100644 --- a/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/CommentAPIUseCaseImpl.swift +++ b/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/CommentAPIUseCaseImpl.swift @@ -12,16 +12,15 @@ public final class CommentAPIUseCaseImpl: CommentAPIUseCase { self.repository = repository } - func postCommentAdd(popUpStoreId: Int64, content: String?, commentType: String?, imageUrlList: [String?]) -> Completable { + public func postCommentAdd(popUpStoreId: Int64, content: String?, commentType: String?, imageUrlList: [String?]) -> Completable { return repository.postCommentAdd(popUpStoreId: popUpStoreId, content: content, commentType: commentType, imageUrlList: imageUrlList) } - func deleteComment(popUpStoreId: Int64, commentId: Int64) -> Completable { + public func deleteComment(popUpStoreId: Int64, commentId: Int64) -> Completable { return repository.deleteComment(popUpStoreId: popUpStoreId, commentId: commentId) } - func editComment(popUpStoreId: Int64, commentId: Int64, content: String?, imageUrlList: [String?]?) -> Completable { - let dtoList: [PutCommentImageDataRequestDTO]? = imageUrlList?.compactMap { $0 }.map { PutCommentImageDataRequestDTO(imageUrl: $0) } - return repository.editComment(popUpStoreId: popUpStoreId, commentId: commentId, content: content, imageUrlList: dtoList) + public func editComment(popUpStoreId: Int64, commentId: Int64, content: String?, imageUrlList: [String?]?) -> Completable { + return repository.editComment(popUpStoreId: popUpStoreId, commentId: commentId, content: content, imageUrlList: imageUrlList) } } diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Repository/CommentAPIRepository.swift b/Poppool/DomainLayer/Domain/DomainInterface/Repository/CommentAPIRepository.swift index 3562db2c..64fc0fbd 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Repository/CommentAPIRepository.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Repository/CommentAPIRepository.swift @@ -3,22 +3,22 @@ import Foundation import RxSwift public protocol CommentAPIRepository { - func postCommentAdd( - popUpStoreId: Int64, - content: String?, - commentType: String?, - imageUrlList: [String?] - ) -> Completable + func postCommentAdd( + popUpStoreId: Int64, + content: String?, + commentType: String?, + imageUrlList: [String?] + ) -> Completable - func deleteComment( - popUpStoreId: Int64, - commentId: Int64 - ) -> Completable + func deleteComment( + popUpStoreId: Int64, + commentId: Int64 + ) -> Completable - func editComment( - popUpStoreId: Int64, - commentId: Int64, - content: String?, - imageUrlList: [PutCommentImageDataRequestDTO]? - ) -> Completable + func editComment( + popUpStoreId: Int64, + commentId: Int64, + content: String?, + imageUrlList: [String?]? + ) -> Completable } From c36a9654a1e47f32c2ad0bd3d42adce30daa15bc Mon Sep 17 00:00:00 2001 From: 0Hooni Date: Mon, 21 Apr 2025 02:44:54 +0900 Subject: [PATCH 62/83] =?UTF-8?q?fix/#112:=20GetPopUpDirectionResponseDTO?= =?UTF-8?q?=20=EC=9E=98=EB=AA=BB=EB=90=9C=20=EC=82=AC=EC=9A=A9=20=EC=A0=9C?= =?UTF-8?q?=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../GetPopUpDirectionResponseDTO.swift | 23 ++------------- .../MapDirectionRepositoryImpl.swift | 2 +- .../GetPopUpDirectionResponse.swift | 29 +++++++++++++++++++ .../Repository/MapDirectionRepository.swift | 2 +- 4 files changed, 33 insertions(+), 23 deletions(-) create mode 100644 Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetPopUpDirectionResponse.swift diff --git a/Poppool/DataLayer/Data/Data/Network/API/MapAPI/ResponseDTO/GetPopUpDirectionResponseDTO.swift b/Poppool/DataLayer/Data/Data/Network/API/MapAPI/ResponseDTO/GetPopUpDirectionResponseDTO.swift index cd67dfee..15c4c206 100644 --- a/Poppool/DataLayer/Data/Data/Network/API/MapAPI/ResponseDTO/GetPopUpDirectionResponseDTO.swift +++ b/Poppool/DataLayer/Data/Data/Network/API/MapAPI/ResponseDTO/GetPopUpDirectionResponseDTO.swift @@ -1,12 +1,7 @@ -// -// GetPopUpDirectionResponseDTO.swift -// Poppool -// -// Created by 김기현 on 1/23/25. -// - import Foundation +import DomainInterface + struct GetPopUpDirectionResponseDTO: Decodable { let id: Int64 let categoryName: String @@ -36,17 +31,3 @@ struct GetPopUpDirectionResponseDTO: Decodable { ) } } - -struct GetPopUpDirectionResponse { - let id: Int64 - let categoryName: String - let name: String - let address: String - let startDate: String - let endDate: String - let latitude: Double - let longitude: Double - let markerId: Int64 - let markerTitle: String - let markerSnippet: String -} diff --git a/Poppool/DataLayer/Data/Data/RepositoryImpl/MapDirectionRepositoryImpl.swift b/Poppool/DataLayer/Data/Data/RepositoryImpl/MapDirectionRepositoryImpl.swift index bad1882a..b8bdcedc 100644 --- a/Poppool/DataLayer/Data/Data/RepositoryImpl/MapDirectionRepositoryImpl.swift +++ b/Poppool/DataLayer/Data/Data/RepositoryImpl/MapDirectionRepositoryImpl.swift @@ -13,7 +13,7 @@ public final class MapDirectionRepositoryImpl: MapDirectionRepository { self.provider = provider } - func getPopUpDirection(popUpStoreId: Int64) -> Observable { + public func getPopUpDirection(popUpStoreId: Int64) -> Observable { let endpoint = FindDirectionEndPoint.fetchDirection(popUpStoreId: popUpStoreId) // print("🌎 [Repository]: 요청 생성 - \(endpoint)") return provider.requestData(with: endpoint, interceptor: TokenInterceptor()) diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetPopUpDirectionResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetPopUpDirectionResponse.swift new file mode 100644 index 00000000..6686d6d3 --- /dev/null +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetPopUpDirectionResponse.swift @@ -0,0 +1,29 @@ +import Foundation + +public struct GetPopUpDirectionResponse { + public init(id: Int64, categoryName: String, name: String, address: String, startDate: String, endDate: String, latitude: Double, longitude: Double, markerId: Int64, markerTitle: String, markerSnippet: String) { + self.id = id + self.categoryName = categoryName + self.name = name + self.address = address + self.startDate = startDate + self.endDate = endDate + self.latitude = latitude + self.longitude = longitude + self.markerId = markerId + self.markerTitle = markerTitle + self.markerSnippet = markerSnippet + } + + let id: Int64 + let categoryName: String + let name: String + let address: String + let startDate: String + let endDate: String + let latitude: Double + let longitude: Double + let markerId: Int64 + let markerTitle: String + let markerSnippet: String +} diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Repository/MapDirectionRepository.swift b/Poppool/DomainLayer/Domain/DomainInterface/Repository/MapDirectionRepository.swift index b933470a..ba17d266 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Repository/MapDirectionRepository.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Repository/MapDirectionRepository.swift @@ -3,5 +3,5 @@ import Foundation import RxSwift public protocol MapDirectionRepository { - func getPopUpDirection(popUpStoreId: Int64) -> Observable + func getPopUpDirection(popUpStoreId: Int64) -> Observable } From 49f53b7f51773fe0250c234c3d3a5324e4cc2a55 Mon Sep 17 00:00:00 2001 From: 0Hooni Date: Mon, 21 Apr 2025 02:49:36 +0900 Subject: [PATCH 63/83] =?UTF-8?q?fix/#112:=20FindDirectionRepositoryImpl?= =?UTF-8?q?=20=EB=B0=98=ED=99=98=20=EA=B0=92=20=EB=AC=B8=EC=A0=9C=20?= =?UTF-8?q?=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Data/RepositoryImpl/MapDirectionRepositoryImpl.swift | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/Poppool/DataLayer/Data/Data/RepositoryImpl/MapDirectionRepositoryImpl.swift b/Poppool/DataLayer/Data/Data/RepositoryImpl/MapDirectionRepositoryImpl.swift index b8bdcedc..cccd8f73 100644 --- a/Poppool/DataLayer/Data/Data/RepositoryImpl/MapDirectionRepositoryImpl.swift +++ b/Poppool/DataLayer/Data/Data/RepositoryImpl/MapDirectionRepositoryImpl.swift @@ -15,13 +15,6 @@ public final class MapDirectionRepositoryImpl: MapDirectionRepository { public func getPopUpDirection(popUpStoreId: Int64) -> Observable { let endpoint = FindDirectionEndPoint.fetchDirection(popUpStoreId: popUpStoreId) -// print("🌎 [Repository]: 요청 생성 - \(endpoint)") - return provider.requestData(with: endpoint, interceptor: TokenInterceptor()) - .do(onNext: { _ in -// print("✅ [Repository]: 응답 수신 - \(response)") - }, onError: { error in - print("❌ [Repository]: 요청 실패 - \(error)") - }) + return provider.requestData(with: endpoint, interceptor: tokenInterceptor).map({ $0.toDomain() }) } - } From 07cc2608746e68db6e25a3d14a54527831305f2a Mon Sep 17 00:00:00 2001 From: 0Hooni Date: Mon, 21 Apr 2025 02:57:24 +0900 Subject: [PATCH 64/83] =?UTF-8?q?refactor/#112:=20=EC=A0=91=EA=B7=BC?= =?UTF-8?q?=EC=A0=9C=EC=96=B4=EC=9E=90=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Infrastructure.xcodeproj/project.pbxproj | 44 +++++++++++++------ .../HomeAPIRepositoryImpl.swift | 8 ++-- .../Domain/UseCaseImpl/AdminUseCaseImpl.swift | 17 +++---- .../UseCaseImpl/AuthAPIUseCaseImpl.swift | 4 +- .../UseCaseImpl/HomeAPIUseCaseImpl.swift | 8 ++-- .../Domain/UseCaseImpl/MapUseCaseImpl.swift | 9 ++-- .../UseCaseImpl/PopUpAPIUseCaseImpl.swift | 8 ++-- .../UseCaseImpl/SignUpAPIUseCaseImpl.swift | 6 +-- .../UseCaseImpl/UserAPIUseCaseImpl.swift | 42 +++++++++--------- .../Entity/MapResponse/MapPopUpStore.swift | 24 +++++----- .../GetWithdrawlListResponse.swift | 4 +- 11 files changed, 96 insertions(+), 78 deletions(-) diff --git a/Poppool/CoreLayer/Infrastructure/Infrastructure.xcodeproj/project.pbxproj b/Poppool/CoreLayer/Infrastructure/Infrastructure.xcodeproj/project.pbxproj index 145363c1..789f6440 100644 --- a/Poppool/CoreLayer/Infrastructure/Infrastructure.xcodeproj/project.pbxproj +++ b/Poppool/CoreLayer/Infrastructure/Infrastructure.xcodeproj/project.pbxproj @@ -7,10 +7,10 @@ objects = { /* Begin PBXBuildFile section */ - 0512596B2DB5629C001342A2 /* RxCocoa-Dynamic in Embed Frameworks */ = {isa = PBXBuildFile; productRef = 05C1D82F2DB53CE300508FFD /* RxCocoa-Dynamic */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; - 0512596D2DB5629E001342A2 /* RxSwift-Dynamic in Embed Frameworks */ = {isa = PBXBuildFile; productRef = 05C1D8312DB53CE300508FFD /* RxSwift-Dynamic */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; - 05C1D8302DB53CE300508FFD /* RxCocoa-Dynamic in Frameworks */ = {isa = PBXBuildFile; productRef = 05C1D82F2DB53CE300508FFD /* RxCocoa-Dynamic */; }; - 05C1D8322DB53CE300508FFD /* RxSwift-Dynamic in Frameworks */ = {isa = PBXBuildFile; productRef = 05C1D8312DB53CE300508FFD /* RxSwift-Dynamic */; }; + 05125B662DB56C21001342A2 /* KakaoSDKAuth in Embed Frameworks */ = {isa = PBXBuildFile; productRef = 05C1D8342DB53D3A00508FFD /* KakaoSDKAuth */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; + 05125B672DB56C21001342A2 /* KakaoSDKUser in Embed Frameworks */ = {isa = PBXBuildFile; productRef = 05C1D8362DB53D3A00508FFD /* KakaoSDKUser */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; + 05125B702DB56C5E001342A2 /* RxCocoa-Dynamic in Frameworks */ = {isa = PBXBuildFile; productRef = 05125B6F2DB56C5E001342A2 /* RxCocoa-Dynamic */; }; + 05125B732DB56C5E001342A2 /* RxSwift-Dynamic in Frameworks */ = {isa = PBXBuildFile; productRef = 05125B722DB56C5E001342A2 /* RxSwift-Dynamic */; }; 05C1D8352DB53D3A00508FFD /* KakaoSDKAuth in Frameworks */ = {isa = PBXBuildFile; productRef = 05C1D8342DB53D3A00508FFD /* KakaoSDKAuth */; }; 05C1D8372DB53D3A00508FFD /* KakaoSDKUser in Frameworks */ = {isa = PBXBuildFile; productRef = 05C1D8362DB53D3A00508FFD /* KakaoSDKUser */; }; /* End PBXBuildFile section */ @@ -22,8 +22,8 @@ dstPath = ""; dstSubfolderSpec = 10; files = ( - 0512596D2DB5629E001342A2 /* RxSwift-Dynamic in Embed Frameworks */, - 0512596B2DB5629C001342A2 /* RxCocoa-Dynamic in Embed Frameworks */, + 05125B672DB56C21001342A2 /* KakaoSDKUser in Embed Frameworks */, + 05125B662DB56C21001342A2 /* KakaoSDKAuth in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -47,9 +47,9 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 05125B732DB56C5E001342A2 /* RxSwift-Dynamic in Frameworks */, 05C1D8372DB53D3A00508FFD /* KakaoSDKUser in Frameworks */, - 05C1D8322DB53CE300508FFD /* RxSwift-Dynamic in Frameworks */, - 05C1D8302DB53CE300508FFD /* RxCocoa-Dynamic in Frameworks */, + 05125B702DB56C5E001342A2 /* RxCocoa-Dynamic in Frameworks */, 05C1D8352DB53D3A00508FFD /* KakaoSDKAuth in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; @@ -57,10 +57,18 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ + 05125B6A2DB56C32001342A2 /* Frameworks */ = { + isa = PBXGroup; + children = ( + ); + name = Frameworks; + sourceTree = ""; + }; 058CC90E2DB5383C0084221A = { isa = PBXGroup; children = ( 058CC91A2DB5383C0084221A /* Infrastructure */, + 05125B6A2DB56C32001342A2 /* Frameworks */, 058CC9192DB5383C0084221A /* Products */, ); sourceTree = ""; @@ -105,10 +113,10 @@ ); name = Infrastructure; packageProductDependencies = ( - 05C1D82F2DB53CE300508FFD /* RxCocoa-Dynamic */, - 05C1D8312DB53CE300508FFD /* RxSwift-Dynamic */, 05C1D8342DB53D3A00508FFD /* KakaoSDKAuth */, 05C1D8362DB53D3A00508FFD /* KakaoSDKUser */, + 05125B6F2DB56C5E001342A2 /* RxCocoa-Dynamic */, + 05125B722DB56C5E001342A2 /* RxSwift-Dynamic */, ); productName = Infrastructure; productReference = 058CC9182DB5383C0084221A /* Infrastructure.framework */; @@ -323,11 +331,15 @@ PRODUCT_BUNDLE_IDENTIFIER = com.poppoolIOS.poppool.Infrastructure; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SKIP_INSTALL = YES; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; + SUPPORTS_MACCATALYST = NO; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; + SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO; SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_INSTALL_MODULE = YES; SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; + TARGETED_DEVICE_FAMILY = 1; }; name = Debug; }; @@ -356,11 +368,15 @@ PRODUCT_BUNDLE_IDENTIFIER = com.poppoolIOS.poppool.Infrastructure; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SKIP_INSTALL = YES; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; + SUPPORTS_MACCATALYST = NO; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; + SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO; SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_INSTALL_MODULE = YES; SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; + TARGETED_DEVICE_FAMILY = 1; }; name = Release; }; @@ -407,12 +423,12 @@ /* End XCRemoteSwiftPackageReference section */ /* Begin XCSwiftPackageProductDependency section */ - 05C1D82F2DB53CE300508FFD /* RxCocoa-Dynamic */ = { + 05125B6F2DB56C5E001342A2 /* RxCocoa-Dynamic */ = { isa = XCSwiftPackageProductDependency; package = 05C1D82E2DB53CE300508FFD /* XCRemoteSwiftPackageReference "RxSwift" */; productName = "RxCocoa-Dynamic"; }; - 05C1D8312DB53CE300508FFD /* RxSwift-Dynamic */ = { + 05125B722DB56C5E001342A2 /* RxSwift-Dynamic */ = { isa = XCSwiftPackageProductDependency; package = 05C1D82E2DB53CE300508FFD /* XCRemoteSwiftPackageReference "RxSwift" */; productName = "RxSwift-Dynamic"; diff --git a/Poppool/DataLayer/Data/Data/RepositoryImpl/HomeAPIRepositoryImpl.swift b/Poppool/DataLayer/Data/Data/RepositoryImpl/HomeAPIRepositoryImpl.swift index a76953cc..c9020451 100644 --- a/Poppool/DataLayer/Data/Data/RepositoryImpl/HomeAPIRepositoryImpl.swift +++ b/Poppool/DataLayer/Data/Data/RepositoryImpl/HomeAPIRepositoryImpl.swift @@ -13,25 +13,25 @@ public final class HomeAPIRepositoryImpl: HomeAPIRepository { self.provider = provider } - func fetchHome(page: Int32?, size: Int32?, sort: String?) -> Observable { + public func fetchHome(page: Int32?, size: Int32?, sort: String?) -> Observable { let request = HomeSortedRequestDTO(page: page, size: size, sort: sort) let endPoint = HomeAPIEndpoint.fetchHome(request: request) return provider.requestData(with: endPoint, interceptor: tokenInterceptor).map({ $0.toDomain() }) } - func fetchCustomPopUp(page: Int32?, size: Int32?, sort: String?) -> Observable { + public func fetchCustomPopUp(page: Int32?, size: Int32?, sort: String?) -> Observable { let request = HomeSortedRequestDTO(page: page, size: size, sort: sort) let endPoint = HomeAPIEndpoint.fetchCustomPopUp(request: request) return provider.requestData(with: endPoint, interceptor: tokenInterceptor).map({ $0.toDomain() }) } - func fetchNewPopUp(page: Int32?, size: Int32?, sort: String?) -> Observable { + public func fetchNewPopUp(page: Int32?, size: Int32?, sort: String?) -> Observable { let request = HomeSortedRequestDTO(page: page, size: size, sort: sort) let endPoint = HomeAPIEndpoint.fetchNewPopUp(request: request) return provider.requestData(with: endPoint, interceptor: tokenInterceptor).map({ $0.toDomain() }) } - func fetchPopularPopUp(page: Int32?, size: Int32?, sort: String?) -> Observable { + public func fetchPopularPopUp(page: Int32?, size: Int32?, sort: String?) -> Observable { let request = HomeSortedRequestDTO(page: page, size: size, sort: sort) let endPoint = HomeAPIEndpoint.fetchPopularPopUp(request: request) return provider.requestData(with: endPoint, interceptor: tokenInterceptor).map({ $0.toDomain() }) diff --git a/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/AdminUseCaseImpl.swift b/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/AdminUseCaseImpl.swift index e3976ba6..de49b176 100644 --- a/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/AdminUseCaseImpl.swift +++ b/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/AdminUseCaseImpl.swift @@ -1,6 +1,7 @@ import Foundation import DomainInterface +import Infrastructure import RxSwift @@ -12,15 +13,15 @@ public final class AdminUseCaseImpl: AdminUseCase { self.repository = repository } - func fetchStoreList(query: String?, page: Int, size: Int) -> Observable<[AdminStore]> { + public func fetchStoreList(query: String?, page: Int, size: Int) -> Observable<[AdminStore]> { return repository.fetchStoreList(query: query, page: page, size: size) } - func fetchStoreDetail(id: Int64) -> Observable { + public func fetchStoreDetail(id: Int64) -> Observable { return repository.fetchStoreDetail(id: id) } - func createStore(params: CreateStoreParams) -> Completable { + public func createStore(params: CreateStoreParams) -> Completable { Logger.log(message: "createStore 호출 - 스토어명: \(params.name)", category: .debug) return repository.createStore(params: params) .do(onError: { error in @@ -30,7 +31,7 @@ public final class AdminUseCaseImpl: AdminUseCase { }) } - func updateStore(params: UpdateStoreParams) -> Completable { + public func updateStore(params: UpdateStoreParams) -> Completable { Logger.log(message: """ Updating store with location: Latitude: \(params.latitude) @@ -44,20 +45,20 @@ public final class AdminUseCaseImpl: AdminUseCase { }) } - func deleteStore(id: Int64) -> Completable { + public func deleteStore(id: Int64) -> Completable { return repository.deleteStore(id: id) } // Notice - func createNotice(params: CreateNoticeParams) -> Completable { + public func createNotice(params: CreateNoticeParams) -> Completable { return repository.createNotice(params: params) } - func updateNotice(params: UpdateNoticeParams) -> Completable { + public func updateNotice(params: UpdateNoticeParams) -> Completable { return repository.updateNotice(params: params) } - func deleteNotice(id: Int64) -> Completable { + public func deleteNotice(id: Int64) -> Completable { return repository.deleteNotice(id: id) } } diff --git a/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/AuthAPIUseCaseImpl.swift b/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/AuthAPIUseCaseImpl.swift index ae809033..6ec0781d 100644 --- a/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/AuthAPIUseCaseImpl.swift +++ b/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/AuthAPIUseCaseImpl.swift @@ -12,11 +12,11 @@ public final class AuthAPIUseCaseImpl: AuthAPIUseCase { self.repository = repository } - func postTryLogin(userCredential: Encodable, socialType: String) -> Observable { + public func postTryLogin(userCredential: Encodable, socialType: String) -> Observable { return repository.tryLogIn(userCredential: userCredential, socialType: socialType) } - func postTokenReissue() -> Observable { + public func postTokenReissue() -> Observable { return repository.postTokenReissue() } } diff --git a/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/HomeAPIUseCaseImpl.swift b/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/HomeAPIUseCaseImpl.swift index b8a8eaf8..be56469f 100644 --- a/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/HomeAPIUseCaseImpl.swift +++ b/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/HomeAPIUseCaseImpl.swift @@ -12,7 +12,7 @@ public final class HomeAPIUseCaseImpl: HomeAPIUseCase { self.repository = repository } - func fetchHome( + public func fetchHome( page: Int32?, size: Int32?, sort: String? @@ -20,7 +20,7 @@ public final class HomeAPIUseCaseImpl: HomeAPIUseCase { return repository.fetchHome(page: page, size: size, sort: sort) } - func fetchCustomPopUp( + public func fetchCustomPopUp( page: Int32?, size: Int32?, sort: String? @@ -28,7 +28,7 @@ public final class HomeAPIUseCaseImpl: HomeAPIUseCase { return repository.fetchCustomPopUp(page: page, size: size, sort: sort) } - func fetchNewPopUp( + public func fetchNewPopUp( page: Int32?, size: Int32?, sort: String? @@ -36,7 +36,7 @@ public final class HomeAPIUseCaseImpl: HomeAPIUseCase { return repository.fetchNewPopUp(page: page, size: size, sort: sort) } - func fetchPopularPopUp( + public func fetchPopularPopUp( page: Int32?, size: Int32?, sort: String? diff --git a/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/MapUseCaseImpl.swift b/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/MapUseCaseImpl.swift index 60157303..5253690e 100644 --- a/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/MapUseCaseImpl.swift +++ b/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/MapUseCaseImpl.swift @@ -1,6 +1,7 @@ import Foundation import DomainInterface +import Infrastructure import RxSwift @@ -12,11 +13,11 @@ public final class MapUseCaseImpl: MapUseCase { self.repository = repository } - func fetchCategories() -> Observable<[CategoryResponse]> { + public func fetchCategories() -> Observable<[CategoryResponse]> { return repository.fetchCategories() } - func fetchStoresInBounds( + public func fetchStoresInBounds( northEastLat: Double, northEastLon: Double, southWestLat: Double, @@ -37,7 +38,7 @@ public final class MapUseCaseImpl: MapUseCase { }) } - func searchStores( + public func searchStores( query: String, categories: [Int64] ) -> Observable<[MapPopUpStore]> { @@ -52,7 +53,7 @@ public final class MapUseCaseImpl: MapUseCase { }) } - func filterStoresByLocation(_ stores: [MapPopUpStore], selectedRegions: [String]) -> [MapPopUpStore] { + public func filterStoresByLocation(_ stores: [MapPopUpStore], selectedRegions: [String]) -> [MapPopUpStore] { guard !selectedRegions.isEmpty else { return stores } return stores.filter { store in diff --git a/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/PopUpAPIUseCaseImpl.swift b/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/PopUpAPIUseCaseImpl.swift index cbb38408..716f1304 100644 --- a/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/PopUpAPIUseCaseImpl.swift +++ b/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/PopUpAPIUseCaseImpl.swift @@ -12,7 +12,7 @@ public final class PopUpAPIUseCaseImpl: PopUpAPIUseCase { self.repository = repository } - func getSearchBottomPopUpList(isOpen: Bool, categories: [Int64], page: Int32?, size: Int32, sort: String?) -> Observable { + public func getSearchBottomPopUpList(isOpen: Bool, categories: [Int64], page: Int32?, size: Int32, sort: String?) -> Observable { var categoryString: String? if !categories.isEmpty { categoryString = categories.map { String($0) + "," }.reduce("", +) @@ -24,15 +24,15 @@ public final class PopUpAPIUseCaseImpl: PopUpAPIUseCase { } } - func getSearchPopUpList(query: String?) -> Observable { + public func getSearchPopUpList(query: String?) -> Observable { return repository.getSearchPopUpList(categories: nil, page: nil, size: nil, sort: nil, query: query, sortCode: nil) } - func getPopUpDetail(commentType: String?, popUpStoredId: Int64, isViewCount: Bool? = true) -> Observable { + public func getPopUpDetail(commentType: String?, popUpStoredId: Int64, isViewCount: Bool? = true) -> Observable { return repository.getPopUpDetail(commentType: commentType, popUpStoreId: popUpStoredId, viewCountYn: isViewCount) } - func getPopUpComment(commentType: String?, page: Int32?, size: Int32?, sort: String?, popUpStoreId: Int64) -> Observable { + public func getPopUpComment(commentType: String?, page: Int32?, size: Int32?, sort: String?, popUpStoreId: Int64) -> Observable { return repository.getPopUpComment(commentType: commentType, page: page, size: size, sort: sort, popUpStoreId: popUpStoreId) } } diff --git a/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/SignUpAPIUseCaseImpl.swift b/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/SignUpAPIUseCaseImpl.swift index 74714236..1086c284 100644 --- a/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/SignUpAPIUseCaseImpl.swift +++ b/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/SignUpAPIUseCaseImpl.swift @@ -11,7 +11,7 @@ public final class SignUpAPIUseCaseImpl: SignUpAPIUseCase { self.repository = repository } - func trySignUp( + public func trySignUp( nickName: String, gender: String, age: Int32, @@ -31,11 +31,11 @@ public final class SignUpAPIUseCaseImpl: SignUpAPIUseCase { ) } - func checkNickName(nickName: String) -> Observable { + public func checkNickName(nickName: String) -> Observable { return repository.checkNickName(nickName: nickName) } - func fetchCategoryList() -> Observable<[CategoryResponse]> { + public func fetchCategoryList() -> Observable<[CategoryResponse]> { return repository.fetchCategoryList() } } diff --git a/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/UserAPIUseCaseImpl.swift b/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/UserAPIUseCaseImpl.swift index a3ea8525..c70de393 100644 --- a/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/UserAPIUseCaseImpl.swift +++ b/Poppool/DomainLayer/Domain/Domain/UseCaseImpl/UserAPIUseCaseImpl.swift @@ -11,31 +11,31 @@ public final class UserAPIUseCaseImpl: UserAPIUseCase { self.repository = repository } - func postBookmarkPopUp(popUpID: Int64) -> Completable { + public func postBookmarkPopUp(popUpID: Int64) -> Completable { return repository.postBookmarkPopUp(popUpStoreId: popUpID) } - func deleteBookmarkPopUp(popUpID: Int64) -> Completable { + public func deleteBookmarkPopUp(popUpID: Int64) -> Completable { return repository.deleteBookmarkPopUp(popUpStoreId: popUpID) } - func postCommentLike(commentId: Int64) -> Completable { + public func postCommentLike(commentId: Int64) -> Completable { return repository.postCommentLike(commentId: commentId) } - func deleteCommentLike(commentId: Int64) -> Completable { + public func deleteCommentLike(commentId: Int64) -> Completable { return repository.deleteCommentLike(commentId: commentId) } - func postUserBlock(blockedUserId: String?) -> Completable { + public func postUserBlock(blockedUserId: String?) -> Completable { return repository.postUserBlock(blockedUserId: blockedUserId) } - func deleteUserBlock(blockedUserId: String?) -> Completable { + public func deleteUserBlock(blockedUserId: String?) -> Completable { return repository.deleteUserBlock(blockedUserId: blockedUserId) } - func getOtherUserCommentedPopUpList( + public func getOtherUserCommentedPopUpList( commenterId: String?, commentType: String?, page: Int32?, @@ -51,31 +51,31 @@ public final class UserAPIUseCaseImpl: UserAPIUseCase { ) } - func getMyPage() -> Observable { + public func getMyPage() -> Observable { return repository.getMyPage() } - func postLogout() -> Completable { + public func postLogout() -> Completable { return repository.postLogout() } - func getWithdrawlList() -> Observable { + public func getWithdrawlList() -> Observable { return repository.getWithdrawlList() } - func postWithdrawl(surveyList: [GetWithdrawlListDataResponse]) -> Completable { + public func postWithdrawl(surveyList: [GetWithdrawlListDataResponse]) -> Completable { return repository.postWithdrawl(list: surveyList.map { ($0.id, $0.survey)}) } - func getMyProfile() -> Observable { + public func getMyProfile() -> Observable { return repository.getMyProfile() } - func putUserTailoredInfo(gender: String?, age: Int32) -> Completable { + public func putUserTailoredInfo(gender: String?, age: Int32) -> Completable { return repository.putUserTailoredInfo(gender: gender, age: age) } - func putUserCategory( + public func putUserCategory( interestCategoriesToAdd: [Int64], interestCategoriesToDelete: [Int64], interestCategoriesToKeep: [Int64] @@ -87,31 +87,31 @@ public final class UserAPIUseCaseImpl: UserAPIUseCase { ) } - func putUserProfile(profileImageUrl: String?, nickname: String?, email: String?, instagramId: String?, intro: String?) -> Completable { + public func putUserProfile(profileImageUrl: String?, nickname: String?, email: String?, instagramId: String?, intro: String?) -> Completable { return repository.putUserProfile(profileImageUrl: profileImageUrl, nickname: nickname, email: email, instagramId: instagramId, intro: intro) } - func getMyCommentedPopUp(page: Int32?, size: Int32?, sort: String?) -> Observable { + public func getMyCommentedPopUp(page: Int32?, size: Int32?, sort: String?) -> Observable { return repository.getMyCommentedPopUp(page: page, size: size, sort: sort) } - func getBlockUserList(page: Int32?, size: Int32?, sort: String?) -> Observable { + public func getBlockUserList(page: Int32?, size: Int32?, sort: String?) -> Observable { return repository.getBlockUserList(page: page, size: size, sort: sort) } - func getNoticeList() -> Observable { + public func getNoticeList() -> Observable { return repository.getNoticeList() } - func getNoticeDetail(noticeID: Int64) -> Observable { + public func getNoticeDetail(noticeID: Int64) -> Observable { return repository.getNoticeDetail(noticeID: noticeID) } - func getRecentPopUp(page: Int32?, size: Int32?, sort: String?) -> Observable { + public func getRecentPopUp(page: Int32?, size: Int32?, sort: String?) -> Observable { return repository.getRecentPopUp(page: page, size: size, sort: sort) } - func getBookmarkPopUp(page: Int32?, size: Int32?, sort: String?) -> Observable { + public func getBookmarkPopUp(page: Int32?, size: Int32?, sort: String?) -> Observable { return repository.getBookmarkPopUp(page: page, size: size, sort: sort) } } diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/MapResponse/MapPopUpStore.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/MapResponse/MapPopUpStore.swift index 5bf58009..b0d5bfc1 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/MapResponse/MapPopUpStore.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/MapResponse/MapPopUpStore.swift @@ -1,16 +1,16 @@ import Foundation public struct MapPopUpStore: Equatable { - let id: Int64 - let category: String - let name: String - let address: String - let startDate: String - let endDate: String - let latitude: Double - let longitude: Double - let markerId: Int64 - let markerTitle: String - let markerSnippet: String - let mainImageUrl: String? + public let id: Int64 + public let category: String + public let name: String + public let address: String + public let startDate: String + public let endDate: String + public let latitude: Double + public let longitude: Double + public let markerId: Int64 + public let markerTitle: String + public let markerSnippet: String + public let mainImageUrl: String? } diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetWithdrawlListResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetWithdrawlListResponse.swift index decf5f72..302881f2 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetWithdrawlListResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetWithdrawlListResponse.swift @@ -5,6 +5,6 @@ public struct GetWithdrawlListResponse { } public struct GetWithdrawlListDataResponse { - var id: Int64 - var survey: String? + public var id: Int64 + public var survey: String? } From 222a73d591b1aa8d9dd8cf68a5cb0590044467f0 Mon Sep 17 00:00:00 2001 From: 0Hooni Date: Mon, 21 Apr 2025 03:06:54 +0900 Subject: [PATCH 65/83] =?UTF-8?q?refactor/#112:=20DomainInterface=20?= =?UTF-8?q?=EC=9D=98=EC=A1=B4=20=EC=B6=94=EA=B0=80=20=EB=B0=8F=20=EC=A0=91?= =?UTF-8?q?=EA=B7=BC=EC=A0=9C=EC=96=B4=EC=9E=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Infrastructure/Extension/Date?+.swift | 9 +--- .../Infrastructure/Extension/String?+.swift | 2 +- .../ResponseDTO/LoginResponseDTO.swift | 9 +--- .../PostTokenReissueResponseDTO.swift | 9 +--- .../ResponseDTO/BannerPopUpStoreDTO.swift | 9 +--- .../ResponseDTO/GetHomeInfoResponseDTO.swift | 9 +--- .../ResponseDTO/PopUpStoreResponseDTO.swift | 9 +--- .../MapAPI/ResponseDTO/MapPopUpStoreDTO.swift | 2 + .../GetClosePopUpListResponseDTO.swift | 9 +--- .../GetOpenPopUpListResponseDTO.swift | 9 +--- .../GetPopUpCommentResponseDTO.swift | 9 +--- .../GetPopUpDetailResponseDTO.swift | 11 ++--- .../GetSearchPopUpListResponseDTO.swift | 9 +--- .../GetCategoryListResponseDTO.swift | 9 +--- .../GetBlockUserListResponseDTO.swift | 9 +--- .../GetMyCommentedPopUpResponseDTO.swift | 9 +--- .../ResponseDTO/GetMyPageResponseDTO.swift | 9 +--- .../ResponseDTO/GetMyProfileResponseDTO.swift | 9 +--- .../GetNoticeDetailResponseDTO.swift | 9 +--- .../GetNoticeListResponseDTO.swift | 9 +--- ...herUserCommentedPopUpListResponseDTO.swift | 9 +--- .../GetRecentPopUpResponseDTO.swift | 10 ++--- .../GetWithdrawlListResponseDTO.swift | 9 +--- .../AuthResponse/CategoryResponse.swift | 5 +++ .../Entity/AuthResponse/LoginResponse.swift | 11 +++++ .../PostTokenReissueResponse.swift | 7 +++ .../HomeResponse/BannerPopUpStore.swift | 6 +++ .../HomeResponse/GetHomeInfoResponse.swift | 15 +++++++ .../Entity/MapResponse/MapPopUpStore.swift | 15 +++++++ .../GetPopUpCommentResponse.swift | 4 ++ .../GetPopUpDetailResponse.swift | 44 +++++++++++++++++++ .../GetSearchBottomPopUpListResponse.swift | 7 +++ .../GetSearchPopUpListResponse.swift | 5 +++ .../PopUpResponse/PopUpStoreResponse.swift | 11 +++++ .../GetBlockUserListResponse.swift | 13 ++++++ .../UserResponse/GetMyCommentResponse.swift | 15 +++++++ .../UserResponse/GetMyPageResponse.swift | 16 +++++++ .../UserResponse/GetMyProfileResponse.swift | 11 +++++ .../GetNoticeDetailResponse.swift | 7 +++ .../UserResponse/GetNoticeListResponse.swift | 10 +++++ ...tOtherUserCommentedPopUpListResponse.swift | 15 +++++++ .../UserResponse/GetRecentPopUpResponse.swift | 17 +++++++ .../GetWithdrawlListResponse.swift | 9 ++++ 43 files changed, 290 insertions(+), 149 deletions(-) diff --git a/Poppool/CoreLayer/Infrastructure/Infrastructure/Extension/Date?+.swift b/Poppool/CoreLayer/Infrastructure/Infrastructure/Extension/Date?+.swift index 550cd427..c0a294a2 100644 --- a/Poppool/CoreLayer/Infrastructure/Infrastructure/Extension/Date?+.swift +++ b/Poppool/CoreLayer/Infrastructure/Infrastructure/Extension/Date?+.swift @@ -1,13 +1,6 @@ -// -// Date+.swift -// Poppool -// -// Created by SeoJunYoung on 11/30/24. -// - import Foundation -extension Optional where Wrapped == Date { +public extension Optional where Wrapped == Date { /// `yyyy. MM. dd` 형식으로 날짜를 문자열로 변환합니다. /// - Parameter defaultString: 날짜가 nil일 경우 반환할 기본 문자열 (기본값: 빈 문자열 "") /// - Returns: 형식화된 날짜 문자열 또는 기본 문자열 diff --git a/Poppool/CoreLayer/Infrastructure/Infrastructure/Extension/String?+.swift b/Poppool/CoreLayer/Infrastructure/Infrastructure/Extension/String?+.swift index 5e7c7831..c06feb51 100644 --- a/Poppool/CoreLayer/Infrastructure/Infrastructure/Extension/String?+.swift +++ b/Poppool/CoreLayer/Infrastructure/Infrastructure/Extension/String?+.swift @@ -1,6 +1,6 @@ import UIKit -extension Optional where Wrapped == String { +public extension Optional where Wrapped == String { /// ISO 8601 형식의 문자열을 `Date`로 변환하는 메서드 func toDate() -> Date? { guard let self = self else { return nil } // 옵셔널 해제 diff --git a/Poppool/DataLayer/Data/Data/Network/API/AuthAPI/ResponseDTO/LoginResponseDTO.swift b/Poppool/DataLayer/Data/Data/Network/API/AuthAPI/ResponseDTO/LoginResponseDTO.swift index 198eccd0..d88322d6 100644 --- a/Poppool/DataLayer/Data/Data/Network/API/AuthAPI/ResponseDTO/LoginResponseDTO.swift +++ b/Poppool/DataLayer/Data/Data/Network/API/AuthAPI/ResponseDTO/LoginResponseDTO.swift @@ -1,12 +1,7 @@ -// -// LoginResponseDTO.swift -// Poppool -// -// Created by Porori on 11/25/24. -// - import Foundation +import DomainInterface + struct LoginResponseDTO: Decodable { var userId: String var grantType: String diff --git a/Poppool/DataLayer/Data/Data/Network/API/AuthAPI/ResponseDTO/PostTokenReissueResponseDTO.swift b/Poppool/DataLayer/Data/Data/Network/API/AuthAPI/ResponseDTO/PostTokenReissueResponseDTO.swift index 3640caf4..73ccf5ea 100644 --- a/Poppool/DataLayer/Data/Data/Network/API/AuthAPI/ResponseDTO/PostTokenReissueResponseDTO.swift +++ b/Poppool/DataLayer/Data/Data/Network/API/AuthAPI/ResponseDTO/PostTokenReissueResponseDTO.swift @@ -1,12 +1,7 @@ -// -// PostTokenReissueResponseDTO.swift -// Poppool -// -// Created by SeoJunYoung on 1/16/25. -// - import Foundation +import DomainInterface + struct PostTokenReissueResponseDTO: Decodable { var accessToken: String? var refreshToken: String? diff --git a/Poppool/DataLayer/Data/Data/Network/API/HomeAPI/ResponseDTO/BannerPopUpStoreDTO.swift b/Poppool/DataLayer/Data/Data/Network/API/HomeAPI/ResponseDTO/BannerPopUpStoreDTO.swift index f1eacb95..6f2841ac 100644 --- a/Poppool/DataLayer/Data/Data/Network/API/HomeAPI/ResponseDTO/BannerPopUpStoreDTO.swift +++ b/Poppool/DataLayer/Data/Data/Network/API/HomeAPI/ResponseDTO/BannerPopUpStoreDTO.swift @@ -1,12 +1,7 @@ -// -// BannerPopUpStoreDTO.swift -// Poppool -// -// Created by Porori on 11/26/24. -// - import Foundation +import DomainInterface + struct BannerPopUpStoreDTO: Decodable { var id: Int64 var name: String diff --git a/Poppool/DataLayer/Data/Data/Network/API/HomeAPI/ResponseDTO/GetHomeInfoResponseDTO.swift b/Poppool/DataLayer/Data/Data/Network/API/HomeAPI/ResponseDTO/GetHomeInfoResponseDTO.swift index d33857b7..351faf9f 100644 --- a/Poppool/DataLayer/Data/Data/Network/API/HomeAPI/ResponseDTO/GetHomeInfoResponseDTO.swift +++ b/Poppool/DataLayer/Data/Data/Network/API/HomeAPI/ResponseDTO/GetHomeInfoResponseDTO.swift @@ -1,12 +1,7 @@ -// -// GetHomeInfoResponseDTO.swift -// Poppool -// -// Created by Porori on 11/26/24. -// - import Foundation +import DomainInterface + struct GetHomeInfoResponseDTO: Decodable { var bannerPopUpStoreList: [BannerPopUpStoreDTO] var nickname: String? diff --git a/Poppool/DataLayer/Data/Data/Network/API/HomeAPI/ResponseDTO/PopUpStoreResponseDTO.swift b/Poppool/DataLayer/Data/Data/Network/API/HomeAPI/ResponseDTO/PopUpStoreResponseDTO.swift index 830f3423..4cfb0832 100644 --- a/Poppool/DataLayer/Data/Data/Network/API/HomeAPI/ResponseDTO/PopUpStoreResponseDTO.swift +++ b/Poppool/DataLayer/Data/Data/Network/API/HomeAPI/ResponseDTO/PopUpStoreResponseDTO.swift @@ -1,12 +1,7 @@ -// -// GetHomeInfoDataResponseDTO.swift -// Poppool -// -// Created by Porori on 11/26/24. -// - import Foundation +import DomainInterface + struct PopUpStoreResponseDTO: Decodable { let id: Int64 let categoryName: String? diff --git a/Poppool/DataLayer/Data/Data/Network/API/MapAPI/ResponseDTO/MapPopUpStoreDTO.swift b/Poppool/DataLayer/Data/Data/Network/API/MapAPI/ResponseDTO/MapPopUpStoreDTO.swift index 7f356980..c5d4a7c7 100644 --- a/Poppool/DataLayer/Data/Data/Network/API/MapAPI/ResponseDTO/MapPopUpStoreDTO.swift +++ b/Poppool/DataLayer/Data/Data/Network/API/MapAPI/ResponseDTO/MapPopUpStoreDTO.swift @@ -1,5 +1,7 @@ import Foundation +import DomainInterface + struct MapPopUpStoreDTO: Codable { let id: Int64 let categoryName: String diff --git a/Poppool/DataLayer/Data/Data/Network/API/PopUpAPI/ResponseDTO/GetClosePopUpListResponseDTO.swift b/Poppool/DataLayer/Data/Data/Network/API/PopUpAPI/ResponseDTO/GetClosePopUpListResponseDTO.swift index eab1fac5..a57fee94 100644 --- a/Poppool/DataLayer/Data/Data/Network/API/PopUpAPI/ResponseDTO/GetClosePopUpListResponseDTO.swift +++ b/Poppool/DataLayer/Data/Data/Network/API/PopUpAPI/ResponseDTO/GetClosePopUpListResponseDTO.swift @@ -1,12 +1,7 @@ -// -// GetClosePopUpListResponseDTO.swift -// Poppool -// -// Created by SeoJunYoung on 12/6/24. -// - import Foundation +import DomainInterface + struct GetClosePopUpListResponseDTO: Decodable { var closedPopUpStoreList: [PopUpStoreResponseDTO] var loginYn: Bool diff --git a/Poppool/DataLayer/Data/Data/Network/API/PopUpAPI/ResponseDTO/GetOpenPopUpListResponseDTO.swift b/Poppool/DataLayer/Data/Data/Network/API/PopUpAPI/ResponseDTO/GetOpenPopUpListResponseDTO.swift index a7194b4b..40d983fc 100644 --- a/Poppool/DataLayer/Data/Data/Network/API/PopUpAPI/ResponseDTO/GetOpenPopUpListResponseDTO.swift +++ b/Poppool/DataLayer/Data/Data/Network/API/PopUpAPI/ResponseDTO/GetOpenPopUpListResponseDTO.swift @@ -1,12 +1,7 @@ -// -// GetOpenPopUpListResponseDTO.swift -// Poppool -// -// Created by SeoJunYoung on 12/6/24. -// - import Foundation +import DomainInterface + struct GetOpenPopUpListResponseDTO: Decodable { var openPopUpStoreList: [PopUpStoreResponseDTO] var loginYn: Bool diff --git a/Poppool/DataLayer/Data/Data/Network/API/PopUpAPI/ResponseDTO/GetPopUpCommentResponseDTO.swift b/Poppool/DataLayer/Data/Data/Network/API/PopUpAPI/ResponseDTO/GetPopUpCommentResponseDTO.swift index fef0aa36..3461f17d 100644 --- a/Poppool/DataLayer/Data/Data/Network/API/PopUpAPI/ResponseDTO/GetPopUpCommentResponseDTO.swift +++ b/Poppool/DataLayer/Data/Data/Network/API/PopUpAPI/ResponseDTO/GetPopUpCommentResponseDTO.swift @@ -1,12 +1,7 @@ -// -// GetPopUpCommentResponseDTO.swift -// Poppool -// -// Created by SeoJunYoung on 12/25/24. -// - import Foundation +import DomainInterface + struct GetPopUpCommentResponseDTO: Decodable { let commentList: [GetPopUpDetailCommentResponseDTO] } diff --git a/Poppool/DataLayer/Data/Data/Network/API/PopUpAPI/ResponseDTO/GetPopUpDetailResponseDTO.swift b/Poppool/DataLayer/Data/Data/Network/API/PopUpAPI/ResponseDTO/GetPopUpDetailResponseDTO.swift index e08b6338..53ea4dee 100644 --- a/Poppool/DataLayer/Data/Data/Network/API/PopUpAPI/ResponseDTO/GetPopUpDetailResponseDTO.swift +++ b/Poppool/DataLayer/Data/Data/Network/API/PopUpAPI/ResponseDTO/GetPopUpDetailResponseDTO.swift @@ -1,11 +1,8 @@ -// -// GetPopUpDetailResponseDTO.swift -// Poppool -// -// Created by SeoJunYoung on 12/10/24. -// - import Foundation + +import DomainInterface +import Infrastructure + // MARK: - Main Model struct GetPopUpDetailResponseDTO: Decodable { let name: String? diff --git a/Poppool/DataLayer/Data/Data/Network/API/PopUpAPI/ResponseDTO/GetSearchPopUpListResponseDTO.swift b/Poppool/DataLayer/Data/Data/Network/API/PopUpAPI/ResponseDTO/GetSearchPopUpListResponseDTO.swift index 60495f23..841ca801 100644 --- a/Poppool/DataLayer/Data/Data/Network/API/PopUpAPI/ResponseDTO/GetSearchPopUpListResponseDTO.swift +++ b/Poppool/DataLayer/Data/Data/Network/API/PopUpAPI/ResponseDTO/GetSearchPopUpListResponseDTO.swift @@ -1,12 +1,7 @@ -// -// GetSearchPopUpListResponseDTO.swift -// Poppool -// -// Created by SeoJunYoung on 12/7/24. -// - import Foundation +import DomainInterface + struct GetSearchPopUpListResponseDTO: Decodable { var popUpStoreList: [PopUpStoreResponseDTO] var loginYn: Bool diff --git a/Poppool/DataLayer/Data/Data/Network/API/SignUpAPI/ResponseDTO/GetCategoryListResponseDTO.swift b/Poppool/DataLayer/Data/Data/Network/API/SignUpAPI/ResponseDTO/GetCategoryListResponseDTO.swift index bf58db7d..f964e045 100644 --- a/Poppool/DataLayer/Data/Data/Network/API/SignUpAPI/ResponseDTO/GetCategoryListResponseDTO.swift +++ b/Poppool/DataLayer/Data/Data/Network/API/SignUpAPI/ResponseDTO/GetCategoryListResponseDTO.swift @@ -1,12 +1,7 @@ -// -// GetCategoryListResponseDTO.swift -// Poppool -// -// Created by Porori on 11/25/24. -// - import Foundation +import DomainInterface + // MARK: - GetCategoryListResponseDTO struct GetCategoryListResponseDTO: Codable { let categoryResponseList: [CategoryResponseDTO] diff --git a/Poppool/DataLayer/Data/Data/Network/API/UserAPI/ResponseDTO/GetBlockUserListResponseDTO.swift b/Poppool/DataLayer/Data/Data/Network/API/UserAPI/ResponseDTO/GetBlockUserListResponseDTO.swift index 7d862c5d..a375ca41 100644 --- a/Poppool/DataLayer/Data/Data/Network/API/UserAPI/ResponseDTO/GetBlockUserListResponseDTO.swift +++ b/Poppool/DataLayer/Data/Data/Network/API/UserAPI/ResponseDTO/GetBlockUserListResponseDTO.swift @@ -1,12 +1,7 @@ -// -// GetBlockUserListResponseDTO.swift -// Poppool -// -// Created by SeoJunYoung on 1/12/25. -// - import Foundation +import DomainInterface + struct GetBlockUserListResponseDTO: Decodable { var blockedUserInfoList: [GetBlockUserListDataResponseDTO] var totalPages: Int32 diff --git a/Poppool/DataLayer/Data/Data/Network/API/UserAPI/ResponseDTO/GetMyCommentedPopUpResponseDTO.swift b/Poppool/DataLayer/Data/Data/Network/API/UserAPI/ResponseDTO/GetMyCommentedPopUpResponseDTO.swift index cd3b71ea..5d6591e4 100644 --- a/Poppool/DataLayer/Data/Data/Network/API/UserAPI/ResponseDTO/GetMyCommentedPopUpResponseDTO.swift +++ b/Poppool/DataLayer/Data/Data/Network/API/UserAPI/ResponseDTO/GetMyCommentedPopUpResponseDTO.swift @@ -1,12 +1,7 @@ -// -// GetMyCommentedPopUpResponseDTO.swift -// Poppool -// -// Created by SeoJunYoung on 1/12/25. -// - import Foundation +import DomainInterface + struct GetMyCommentedPopUpResponseDTO: Decodable { var popUpInfoList: [GetMyCommentedPopUpDataResponseDTO] } diff --git a/Poppool/DataLayer/Data/Data/Network/API/UserAPI/ResponseDTO/GetMyPageResponseDTO.swift b/Poppool/DataLayer/Data/Data/Network/API/UserAPI/ResponseDTO/GetMyPageResponseDTO.swift index 11f511c0..64a1f071 100644 --- a/Poppool/DataLayer/Data/Data/Network/API/UserAPI/ResponseDTO/GetMyPageResponseDTO.swift +++ b/Poppool/DataLayer/Data/Data/Network/API/UserAPI/ResponseDTO/GetMyPageResponseDTO.swift @@ -1,12 +1,7 @@ -// -// GetMyPageResponseDTO.swift -// Poppool -// -// Created by SeoJunYoung on 12/30/24. -// - import Foundation +import DomainInterface + struct GetMyPageResponseDTO: Decodable { var nickname: String? var profileImageUrl: String? diff --git a/Poppool/DataLayer/Data/Data/Network/API/UserAPI/ResponseDTO/GetMyProfileResponseDTO.swift b/Poppool/DataLayer/Data/Data/Network/API/UserAPI/ResponseDTO/GetMyProfileResponseDTO.swift index 5704cf9b..1ffb4133 100644 --- a/Poppool/DataLayer/Data/Data/Network/API/UserAPI/ResponseDTO/GetMyProfileResponseDTO.swift +++ b/Poppool/DataLayer/Data/Data/Network/API/UserAPI/ResponseDTO/GetMyProfileResponseDTO.swift @@ -1,12 +1,7 @@ -// -// GetMyProfileResponseDTO.swift -// Poppool -// -// Created by SeoJunYoung on 1/10/25. -// - import Foundation +import DomainInterface + struct GetMyProfileResponseDTO: Decodable { var profileImageUrl: String? var nickname: String? diff --git a/Poppool/DataLayer/Data/Data/Network/API/UserAPI/ResponseDTO/GetNoticeDetailResponseDTO.swift b/Poppool/DataLayer/Data/Data/Network/API/UserAPI/ResponseDTO/GetNoticeDetailResponseDTO.swift index d8e9baba..f50ff39b 100644 --- a/Poppool/DataLayer/Data/Data/Network/API/UserAPI/ResponseDTO/GetNoticeDetailResponseDTO.swift +++ b/Poppool/DataLayer/Data/Data/Network/API/UserAPI/ResponseDTO/GetNoticeDetailResponseDTO.swift @@ -1,12 +1,7 @@ -// -// GetNoticeDetailResponseDTO.swift -// Poppool -// -// Created by SeoJunYoung on 1/13/25. -// - import Foundation +import DomainInterface + struct GetNoticeDetailResponseDTO: Decodable { var id: Int64 var title: String? diff --git a/Poppool/DataLayer/Data/Data/Network/API/UserAPI/ResponseDTO/GetNoticeListResponseDTO.swift b/Poppool/DataLayer/Data/Data/Network/API/UserAPI/ResponseDTO/GetNoticeListResponseDTO.swift index f2314de9..c280a0a7 100644 --- a/Poppool/DataLayer/Data/Data/Network/API/UserAPI/ResponseDTO/GetNoticeListResponseDTO.swift +++ b/Poppool/DataLayer/Data/Data/Network/API/UserAPI/ResponseDTO/GetNoticeListResponseDTO.swift @@ -1,12 +1,7 @@ -// -// GetNoticeListResponseDTO.swift -// Poppool -// -// Created by SeoJunYoung on 1/13/25. -// - import Foundation +import DomainInterface + struct GetNoticeListResponseDTO: Decodable { var noticeInfoList: [GetNoticeListDataResponseDTO] } diff --git a/Poppool/DataLayer/Data/Data/Network/API/UserAPI/ResponseDTO/GetOtherUserCommentedPopUpListResponseDTO.swift b/Poppool/DataLayer/Data/Data/Network/API/UserAPI/ResponseDTO/GetOtherUserCommentedPopUpListResponseDTO.swift index 455b5d26..382485bc 100644 --- a/Poppool/DataLayer/Data/Data/Network/API/UserAPI/ResponseDTO/GetOtherUserCommentedPopUpListResponseDTO.swift +++ b/Poppool/DataLayer/Data/Data/Network/API/UserAPI/ResponseDTO/GetOtherUserCommentedPopUpListResponseDTO.swift @@ -1,12 +1,7 @@ -// -// GetOtherUserCommentedPopUpListResponseDTO.swift -// Poppool -// -// Created by SeoJunYoung on 12/27/24. -// - import Foundation +import DomainInterface + struct GetOtherUserCommentedPopUpListResponseDTO: Decodable { var popUpInfoList: [GetOtherUserCommentedPopUpResponseDTO] } diff --git a/Poppool/DataLayer/Data/Data/Network/API/UserAPI/ResponseDTO/GetRecentPopUpResponseDTO.swift b/Poppool/DataLayer/Data/Data/Network/API/UserAPI/ResponseDTO/GetRecentPopUpResponseDTO.swift index 20b4f454..8d02dc95 100644 --- a/Poppool/DataLayer/Data/Data/Network/API/UserAPI/ResponseDTO/GetRecentPopUpResponseDTO.swift +++ b/Poppool/DataLayer/Data/Data/Network/API/UserAPI/ResponseDTO/GetRecentPopUpResponseDTO.swift @@ -1,12 +1,8 @@ -// -// GetRecentPopUpResponseDTO.swift -// Poppool -// -// Created by SeoJunYoung on 1/14/25. -// - import Foundation +import DomainInterface +import Infrastructure + struct GetRecentPopUpResponseDTO: Decodable { var popUpInfoList: [GetRecentPopUpDataResponseDTO] var totalPages: Int32 diff --git a/Poppool/DataLayer/Data/Data/Network/API/UserAPI/ResponseDTO/GetWithdrawlListResponseDTO.swift b/Poppool/DataLayer/Data/Data/Network/API/UserAPI/ResponseDTO/GetWithdrawlListResponseDTO.swift index 862bccb1..d1c01819 100644 --- a/Poppool/DataLayer/Data/Data/Network/API/UserAPI/ResponseDTO/GetWithdrawlListResponseDTO.swift +++ b/Poppool/DataLayer/Data/Data/Network/API/UserAPI/ResponseDTO/GetWithdrawlListResponseDTO.swift @@ -1,12 +1,7 @@ -// -// GetWithdrawlListResponseDTO.swift -// Poppool -// -// Created by SeoJunYoung on 1/7/25. -// - import Foundation +import DomainInterface + struct GetWithdrawlListResponseDTO: Decodable { var withDrawlSurveyList: [GetWithdrawlListDataResponseDTO] } diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/AuthResponse/CategoryResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/AuthResponse/CategoryResponse.swift index 8951e68d..db311870 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/AuthResponse/CategoryResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/AuthResponse/CategoryResponse.swift @@ -1,6 +1,11 @@ import Foundation public struct CategoryResponse { + public init(categoryId: Int64, category: String) { + self.categoryId = categoryId + self.category = category + } + let categoryId: Int64 let category: String } diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/AuthResponse/LoginResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/AuthResponse/LoginResponse.swift index 676a45b3..f7146e48 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/AuthResponse/LoginResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/AuthResponse/LoginResponse.swift @@ -1,6 +1,17 @@ import Foundation public struct LoginResponse { + public init(userId: String, grantType: String, accessToken: String, refreshToken: String, accessTokenExpiresAt: String, refreshTokenExpiresAt: String, socialType: String, isRegisteredUser: Bool) { + self.userId = userId + self.grantType = grantType + self.accessToken = accessToken + self.refreshToken = refreshToken + self.accessTokenExpiresAt = accessTokenExpiresAt + self.refreshTokenExpiresAt = refreshTokenExpiresAt + self.socialType = socialType + self.isRegisteredUser = isRegisteredUser + } + var userId: String var grantType: String var accessToken: String diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/AuthResponse/PostTokenReissueResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/AuthResponse/PostTokenReissueResponse.swift index 3639847f..39c7724d 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/AuthResponse/PostTokenReissueResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/AuthResponse/PostTokenReissueResponse.swift @@ -1,6 +1,13 @@ import Foundation public struct PostTokenReissueResponse { + public init(accessToken: String? = nil, refreshToken: String? = nil, accessTokenExpiresAt: String? = nil, refreshTokenExpiresAt: String? = nil) { + self.accessToken = accessToken + self.refreshToken = refreshToken + self.accessTokenExpiresAt = accessTokenExpiresAt + self.refreshTokenExpiresAt = refreshTokenExpiresAt + } + public var accessToken: String? public var refreshToken: String? public var accessTokenExpiresAt: String? diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/HomeResponse/BannerPopUpStore.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/HomeResponse/BannerPopUpStore.swift index 9f572658..e262b2eb 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/HomeResponse/BannerPopUpStore.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/HomeResponse/BannerPopUpStore.swift @@ -1,6 +1,12 @@ import Foundation public struct BannerPopUpStore { + public init(id: Int64, name: String, mainImageUrl: String) { + self.id = id + self.name = name + self.mainImageUrl = mainImageUrl + } + var id: Int64 var name: String var mainImageUrl: String diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/HomeResponse/GetHomeInfoResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/HomeResponse/GetHomeInfoResponse.swift index 10a39158..460b2bfc 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/HomeResponse/GetHomeInfoResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/HomeResponse/GetHomeInfoResponse.swift @@ -1,6 +1,21 @@ import Foundation public struct GetHomeInfoResponse { + public init(bannerPopUpStoreList: [BannerPopUpStore], nickname: String? = nil, customPopUpStoreList: [PopUpStoreResponse], customPopUpStoreTotalPages: Int32, customPopUpStoreTotalElements: Int64, popularPopUpStoreList: [PopUpStoreResponse], popularPopUpStoreTotalPages: Int32, popularPopUpStoreTotalElements: Int64, newPopUpStoreList: [PopUpStoreResponse], newPopUpStoreTotalPages: Int32, newPopUpStoreTotalElements: Int64, loginYn: Bool) { + self.bannerPopUpStoreList = bannerPopUpStoreList + self.nickname = nickname + self.customPopUpStoreList = customPopUpStoreList + self.customPopUpStoreTotalPages = customPopUpStoreTotalPages + self.customPopUpStoreTotalElements = customPopUpStoreTotalElements + self.popularPopUpStoreList = popularPopUpStoreList + self.popularPopUpStoreTotalPages = popularPopUpStoreTotalPages + self.popularPopUpStoreTotalElements = popularPopUpStoreTotalElements + self.newPopUpStoreList = newPopUpStoreList + self.newPopUpStoreTotalPages = newPopUpStoreTotalPages + self.newPopUpStoreTotalElements = newPopUpStoreTotalElements + self.loginYn = loginYn + } + var bannerPopUpStoreList: [BannerPopUpStore] var nickname: String? var customPopUpStoreList: [PopUpStoreResponse] diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/MapResponse/MapPopUpStore.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/MapResponse/MapPopUpStore.swift index b0d5bfc1..16fcecb3 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/MapResponse/MapPopUpStore.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/MapResponse/MapPopUpStore.swift @@ -1,6 +1,21 @@ import Foundation public struct MapPopUpStore: Equatable { + public init(id: Int64, category: String, name: String, address: String, startDate: String, endDate: String, latitude: Double, longitude: Double, markerId: Int64, markerTitle: String, markerSnippet: String, mainImageUrl: String?) { + self.id = id + self.category = category + self.name = name + self.address = address + self.startDate = startDate + self.endDate = endDate + self.latitude = latitude + self.longitude = longitude + self.markerId = markerId + self.markerTitle = markerTitle + self.markerSnippet = markerSnippet + self.mainImageUrl = mainImageUrl + } + public let id: Int64 public let category: String public let name: String diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetPopUpCommentResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetPopUpCommentResponse.swift index 2d60f542..63a0fd8f 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetPopUpCommentResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetPopUpCommentResponse.swift @@ -1,5 +1,9 @@ import Foundation public struct GetPopUpCommentResponse { + public init(commentList: [GetPopUpDetailCommentResponse]) { + self.commentList = commentList + } + let commentList: [GetPopUpDetailCommentResponse] } diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetPopUpDetailResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetPopUpDetailResponse.swift index c1b7b27a..52a0c1a6 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetPopUpDetailResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetPopUpDetailResponse.swift @@ -1,6 +1,24 @@ import Foundation public struct GetPopUpDetailResponse { + public init(name: String?, desc: String?, startDate: String?, endDate: String?, startTime: String?, endTime: String?, address: String?, commentCount: Int64, bookmarkYn: Bool, loginYn: Bool, hasCommented: Bool, mainImageUrl: String?, imageList: [GetPopUpDetailImageResponse], commentList: [GetPopUpDetailCommentResponse], similarPopUpStoreList: [GetPopUpDetailSimilarResponse]) { + self.name = name + self.desc = desc + self.startDate = startDate + self.endDate = endDate + self.startTime = startTime + self.endTime = endTime + self.address = address + self.commentCount = commentCount + self.bookmarkYn = bookmarkYn + self.loginYn = loginYn + self.hasCommented = hasCommented + self.mainImageUrl = mainImageUrl + self.imageList = imageList + self.commentList = commentList + self.similarPopUpStoreList = similarPopUpStoreList + } + let name: String? let desc: String? let startDate: String? @@ -19,11 +37,30 @@ public struct GetPopUpDetailResponse { } public struct GetPopUpDetailImageResponse { + public init(id: Int64, imageUrl: String?) { + self.id = id + self.imageUrl = imageUrl + } + let id: Int64 let imageUrl: String? } public struct GetPopUpDetailCommentResponse { + public init(commentId: Int64, creator: String?, nickname: String?, instagramId: String?, profileImageUrl: String?, content: String?, likeYn: Bool, likeCount: Int64, myCommentYn: Bool, createDateTime: String?, commentImageList: [GetPopUpDetailImageResponse]) { + self.commentId = commentId + self.creator = creator + self.nickname = nickname + self.instagramId = instagramId + self.profileImageUrl = profileImageUrl + self.content = content + self.likeYn = likeYn + self.likeCount = likeCount + self.myCommentYn = myCommentYn + self.createDateTime = createDateTime + self.commentImageList = commentImageList + } + let commentId: Int64 let creator: String? let nickname: String? @@ -38,6 +75,13 @@ public struct GetPopUpDetailCommentResponse { } public struct GetPopUpDetailSimilarResponse { + public init(id: Int64, name: String?, mainImageUrl: String?, endDate: String?) { + self.id = id + self.name = name + self.mainImageUrl = mainImageUrl + self.endDate = endDate + } + let id: Int64 let name: String? let mainImageUrl: String? diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetSearchBottomPopUpListResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetSearchBottomPopUpListResponse.swift index b639b478..2ef7acb1 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetSearchBottomPopUpListResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetSearchBottomPopUpListResponse.swift @@ -1,6 +1,13 @@ import Foundation public struct GetSearchBottomPopUpListResponse { + public init(popUpStoreList: [PopUpStoreResponse], loginYn: Bool, totalPages: Int32, totalElements: Int64) { + self.popUpStoreList = popUpStoreList + self.loginYn = loginYn + self.totalPages = totalPages + self.totalElements = totalElements + } + var popUpStoreList: [PopUpStoreResponse] var loginYn: Bool var totalPages: Int32 diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetSearchPopUpListResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetSearchPopUpListResponse.swift index cca24b8a..bc8908a3 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetSearchPopUpListResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetSearchPopUpListResponse.swift @@ -1,6 +1,11 @@ import Foundation public struct GetSearchPopUpListResponse { + public init(popUpStoreList: [PopUpStoreResponse], loginYn: Bool) { + self.popUpStoreList = popUpStoreList + self.loginYn = loginYn + } + var popUpStoreList: [PopUpStoreResponse] var loginYn: Bool } diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/PopUpStoreResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/PopUpStoreResponse.swift index 255d95fb..03182907 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/PopUpStoreResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/PopUpStoreResponse.swift @@ -1,6 +1,17 @@ import Foundation public struct PopUpStoreResponse { + public init(id: Int64, category: String?, name: String?, address: String?, mainImageUrl: String?, startDate: String?, endDate: String?, bookmarkYn: Bool) { + self.id = id + self.category = category + self.name = name + self.address = address + self.mainImageUrl = mainImageUrl + self.startDate = startDate + self.endDate = endDate + self.bookmarkYn = bookmarkYn + } + let id: Int64 let category: String? let name: String? diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetBlockUserListResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetBlockUserListResponse.swift index 253acf72..0d92623d 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetBlockUserListResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetBlockUserListResponse.swift @@ -1,12 +1,25 @@ import Foundation public struct GetBlockUserListResponse { + public init(blockedUserInfoList: [GetBlockUserListDataResponse], totalPages: Int32, totalElements: Int32) { + self.blockedUserInfoList = blockedUserInfoList + self.totalPages = totalPages + self.totalElements = totalElements + } + var blockedUserInfoList: [GetBlockUserListDataResponse] var totalPages: Int32 var totalElements: Int32 } public struct GetBlockUserListDataResponse { + public init(userId: String? = nil, profileImageUrl: String? = nil, nickname: String? = nil, instagramId: String? = nil) { + self.userId = userId + self.profileImageUrl = profileImageUrl + self.nickname = nickname + self.instagramId = instagramId + } + var userId: String? var profileImageUrl: String? var nickname: String? diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetMyCommentResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetMyCommentResponse.swift index 9edacc86..2f35c79a 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetMyCommentResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetMyCommentResponse.swift @@ -1,10 +1,25 @@ import Foundation public struct GetMyCommentedPopUpResponse { + public init(popUpInfoList: [GetMyCommentedPopUpDataResponse]) { + self.popUpInfoList = popUpInfoList + } + var popUpInfoList: [GetMyCommentedPopUpDataResponse] } public struct GetMyCommentedPopUpDataResponse { + public init(popUpStoreId: Int64, popUpStoreName: String? = nil, desc: String? = nil, mainImageUrl: String? = nil, startDate: String? = nil, endDate: String? = nil, address: String? = nil, closedYn: Bool) { + self.popUpStoreId = popUpStoreId + self.popUpStoreName = popUpStoreName + self.desc = desc + self.mainImageUrl = mainImageUrl + self.startDate = startDate + self.endDate = endDate + self.address = address + self.closedYn = closedYn + } + var popUpStoreId: Int64 var popUpStoreName: String? var desc: String? diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetMyPageResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetMyPageResponse.swift index 34faf968..81723476 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetMyPageResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetMyPageResponse.swift @@ -1,6 +1,16 @@ import Foundation public struct GetMyPageResponse { + public init(nickname: String? = nil, profileImageUrl: String? = nil, intro: String? = nil, instagramId: String? = nil, loginYn: Bool, adminYn: Bool, myCommentedPopUpList: [GetMyPagePopUpResponse]) { + self.nickname = nickname + self.profileImageUrl = profileImageUrl + self.intro = intro + self.instagramId = instagramId + self.loginYn = loginYn + self.adminYn = adminYn + self.myCommentedPopUpList = myCommentedPopUpList + } + var nickname: String? var profileImageUrl: String? var intro: String? @@ -11,6 +21,12 @@ public struct GetMyPageResponse { } public struct GetMyPagePopUpResponse { + public init(popUpStoreId: Int64, popUpStoreName: String? = nil, mainImageUrl: String? = nil) { + self.popUpStoreId = popUpStoreId + self.popUpStoreName = popUpStoreName + self.mainImageUrl = mainImageUrl + } + var popUpStoreId: Int64 var popUpStoreName: String? var mainImageUrl: String? diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetMyProfileResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetMyProfileResponse.swift index 77f0be1b..2a3b0981 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetMyProfileResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetMyProfileResponse.swift @@ -1,6 +1,17 @@ import Foundation public struct GetMyProfileResponse { + public init(profileImageUrl: String? = nil, nickname: String? = nil, email: String? = nil, instagramId: String? = nil, intro: String? = nil, gender: String? = nil, age: Int32, interestCategoryList: [CategoryResponse]) { + self.profileImageUrl = profileImageUrl + self.nickname = nickname + self.email = email + self.instagramId = instagramId + self.intro = intro + self.gender = gender + self.age = age + self.interestCategoryList = interestCategoryList + } + var profileImageUrl: String? var nickname: String? var email: String? diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetNoticeDetailResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetNoticeDetailResponse.swift index dce77077..02cdd67c 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetNoticeDetailResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetNoticeDetailResponse.swift @@ -1,6 +1,13 @@ import Foundation public struct GetNoticeDetailResponse { + public init(id: Int64, title: String? = nil, content: String? = nil, createDateTime: String? = nil) { + self.id = id + self.title = title + self.content = content + self.createDateTime = createDateTime + } + var id: Int64 var title: String? var content: String? diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetNoticeListResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetNoticeListResponse.swift index cb0cbfb3..43ed66a1 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetNoticeListResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetNoticeListResponse.swift @@ -1,10 +1,20 @@ import Foundation public struct GetNoticeListResponse { + public init(noticeInfoList: [GetNoticeListDataResponse]) { + self.noticeInfoList = noticeInfoList + } + var noticeInfoList: [GetNoticeListDataResponse] } public struct GetNoticeListDataResponse { + public init(id: Int64, title: String? = nil, createdDateTime: String? = nil) { + self.id = id + self.title = title + self.createdDateTime = createdDateTime + } + var id: Int64 var title: String? var createdDateTime: String? diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetOtherUserCommentedPopUpListResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetOtherUserCommentedPopUpListResponse.swift index af25688a..5545ee3d 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetOtherUserCommentedPopUpListResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetOtherUserCommentedPopUpListResponse.swift @@ -1,10 +1,25 @@ import Foundation public struct GetOtherUserCommentedPopUpListResponse { + public init(popUpInfoList: [GetOtherUserCommentedPopUpResponse]) { + self.popUpInfoList = popUpInfoList + } + var popUpInfoList: [GetOtherUserCommentedPopUpResponse] } public struct GetOtherUserCommentedPopUpResponse { + public init(popUpStoreId: Int64, popUpStoreName: String? = nil, desc: String? = nil, mainImageUrl: String? = nil, startDate: String? = nil, endDate: String? = nil, address: String? = nil, closedYn: Bool) { + self.popUpStoreId = popUpStoreId + self.popUpStoreName = popUpStoreName + self.desc = desc + self.mainImageUrl = mainImageUrl + self.startDate = startDate + self.endDate = endDate + self.address = address + self.closedYn = closedYn + } + var popUpStoreId: Int64 var popUpStoreName: String? var desc: String? diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetRecentPopUpResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetRecentPopUpResponse.swift index 22b7e924..9a463f09 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetRecentPopUpResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetRecentPopUpResponse.swift @@ -1,12 +1,29 @@ import Foundation public struct GetRecentPopUpResponse { + public init(popUpInfoList: [GetRecentPopUpDataResponse], totalPages: Int32, totalElements: Int32) { + self.popUpInfoList = popUpInfoList + self.totalPages = totalPages + self.totalElements = totalElements + } + var popUpInfoList: [GetRecentPopUpDataResponse] var totalPages: Int32 var totalElements: Int32 } public struct GetRecentPopUpDataResponse { + public init(popUpStoreId: Int64, popUpStoreName: String? = nil, desc: String? = nil, mainImageUrl: String? = nil, startDate: String? = nil, endDate: String? = nil, address: String? = nil, closeYn: Bool) { + self.popUpStoreId = popUpStoreId + self.popUpStoreName = popUpStoreName + self.desc = desc + self.mainImageUrl = mainImageUrl + self.startDate = startDate + self.endDate = endDate + self.address = address + self.closeYn = closeYn + } + var popUpStoreId: Int64 var popUpStoreName: String? var desc: String? diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetWithdrawlListResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetWithdrawlListResponse.swift index 302881f2..cc8d63ca 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetWithdrawlListResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetWithdrawlListResponse.swift @@ -1,10 +1,19 @@ import Foundation public struct GetWithdrawlListResponse { + public init(withDrawlSurveyList: [GetWithdrawlListDataResponse]) { + self.withDrawlSurveyList = withDrawlSurveyList + } + var withDrawlSurveyList: [GetWithdrawlListDataResponse] } public struct GetWithdrawlListDataResponse { + public init(id: Int64, survey: String? = nil) { + self.id = id + self.survey = survey + } + public var id: Int64 public var survey: String? } From cfd37622b144dd46685433444cf3d1b554b36568 Mon Sep 17 00:00:00 2001 From: 0Hooni Date: Mon, 21 Apr 2025 03:12:14 +0900 Subject: [PATCH 66/83] =?UTF-8?q?refactor/#112:=20=EC=A0=91=EA=B7=BC=20?= =?UTF-8?q?=EC=A0=9C=EC=96=B4=EC=9E=90=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Network/API/HomeAPI/HomeAPIEndpoint.swift | 2 + .../PreSignedAPI/PreSignedAPIEndPoint.swift | 9 +--- .../API/SignUpAPI/SignUpAPIEndpoint.swift | 9 +--- .../RepositoryImpl/AdminRepositoryImpl.swift | 16 +++---- .../AuthAPIRepositoryImpl.swift | 4 +- .../RepositoryImpl/MapRepositoryImpl.swift | 6 +-- .../PopUpAPIRepositoryImpl.swift | 12 +++--- .../RepositoryImpl/SignUpRepositoryImpl.swift | 6 +-- .../UserAPIRepositoryImpl.swift | 42 +++++++++---------- .../Entity/AdminResponse/AdminStore.swift | 7 ++++ .../AdminResponse/AdminStoreDetail.swift | 25 +++++++++++ .../AdminResponse/Params/AdminParams.swift | 16 +++---- 12 files changed, 89 insertions(+), 65 deletions(-) diff --git a/Poppool/DataLayer/Data/Data/Network/API/HomeAPI/HomeAPIEndpoint.swift b/Poppool/DataLayer/Data/Data/Network/API/HomeAPI/HomeAPIEndpoint.swift index 1d38114f..82dd7985 100644 --- a/Poppool/DataLayer/Data/Data/Network/API/HomeAPI/HomeAPIEndpoint.swift +++ b/Poppool/DataLayer/Data/Data/Network/API/HomeAPI/HomeAPIEndpoint.swift @@ -1,5 +1,7 @@ import Foundation +import Infrastructure + struct HomeAPIEndpoint { static func fetchHome( diff --git a/Poppool/DataLayer/Data/Data/Network/API/PreSignedAPI/PreSignedAPIEndPoint.swift b/Poppool/DataLayer/Data/Data/Network/API/PreSignedAPI/PreSignedAPIEndPoint.swift index 556bf5d2..21d930f2 100644 --- a/Poppool/DataLayer/Data/Data/Network/API/PreSignedAPI/PreSignedAPIEndPoint.swift +++ b/Poppool/DataLayer/Data/Data/Network/API/PreSignedAPI/PreSignedAPIEndPoint.swift @@ -1,12 +1,7 @@ -// -// PreSignedAPIEndPoint.swift -// Poppool -// -// Created by SeoJunYoung on 11/29/24. -// - import Foundation +import Infrastructure + struct PreSignedAPIEndPoint { static func presigned_upload(request: PresignedURLRequestDTO) -> Endpoint { Logger.log(message: "Presigned URL 생성 - Request: \(request)", category: .debug) diff --git a/Poppool/DataLayer/Data/Data/Network/API/SignUpAPI/SignUpAPIEndpoint.swift b/Poppool/DataLayer/Data/Data/Network/API/SignUpAPI/SignUpAPIEndpoint.swift index f827b0f0..36527751 100644 --- a/Poppool/DataLayer/Data/Data/Network/API/SignUpAPI/SignUpAPIEndpoint.swift +++ b/Poppool/DataLayer/Data/Data/Network/API/SignUpAPI/SignUpAPIEndpoint.swift @@ -1,12 +1,7 @@ -// -// SignUpAPIEndpoint.swift -// Poppool -// -// Created by Porori on 11/25/24. -// - import Foundation +import Infrastructure + struct SignUpAPIEndpoint { /// 닉네임 중복을 확인합니다. diff --git a/Poppool/DataLayer/Data/Data/RepositoryImpl/AdminRepositoryImpl.swift b/Poppool/DataLayer/Data/Data/RepositoryImpl/AdminRepositoryImpl.swift index 1a4e68f0..da3f0d33 100644 --- a/Poppool/DataLayer/Data/Data/RepositoryImpl/AdminRepositoryImpl.swift +++ b/Poppool/DataLayer/Data/Data/RepositoryImpl/AdminRepositoryImpl.swift @@ -17,7 +17,7 @@ public final class AdminRepositoryImpl: AdminRepository { } // MARK: - Store Methods - func fetchStoreList(query: String?, page: Int, size: Int) -> Observable<[AdminStore]> { + public func fetchStoreList(query: String?, page: Int, size: Int) -> Observable<[AdminStore]> { let endpoint = AdminAPIEndpoint.fetchStoreList( query: query, page: page, @@ -34,7 +34,7 @@ public final class AdminRepositoryImpl: AdminRepository { } } - func fetchStoreDetail(id: Int64) -> Observable { + public func fetchStoreDetail(id: Int64) -> Observable { let endpoint = AdminAPIEndpoint.fetchStoreDetail(id: id) return provider.requestData( with: endpoint, @@ -74,7 +74,7 @@ public final class AdminRepositoryImpl: AdminRepository { } } - func createStore(params: CreateStoreParams) -> Completable { + public func createStore(params: CreateStoreParams) -> Completable { let dto = CreatePopUpStoreRequestDTO( name: params.name, categoryId: params.categoryId, @@ -94,7 +94,7 @@ public final class AdminRepositoryImpl: AdminRepository { return provider.request(with: endpoint, interceptor: tokenInterceptor) } - func updateStore(params: UpdateStoreParams) -> Completable { + public func updateStore(params: UpdateStoreParams) -> Completable { let dto = UpdatePopUpStoreRequestDTO( popUpStore: UpdatePopUpStoreRequestDTO.PopUpStore( id: params.id, @@ -122,13 +122,13 @@ public final class AdminRepositoryImpl: AdminRepository { return provider.request(with: endpoint, interceptor: tokenInterceptor) } - func deleteStore(id: Int64) -> Completable { + public func deleteStore(id: Int64) -> Completable { let endpoint = AdminAPIEndpoint.deleteStore(id: id) return provider.request(with: endpoint, interceptor: tokenInterceptor) } // MARK: - Notice Methods - func createNotice(params: CreateNoticeParams) -> Completable { + public func createNotice(params: CreateNoticeParams) -> Completable { let dto = CreateNoticeRequestDTO( title: params.title, content: params.content, @@ -138,7 +138,7 @@ public final class AdminRepositoryImpl: AdminRepository { return provider.request(with: endpoint, interceptor: tokenInterceptor) } - func updateNotice(params: UpdateNoticeParams) -> Completable { + public func updateNotice(params: UpdateNoticeParams) -> Completable { let dto = UpdateNoticeRequestDTO( title: params.title, content: params.content, @@ -149,7 +149,7 @@ public final class AdminRepositoryImpl: AdminRepository { return provider.request(with: endpoint, interceptor: tokenInterceptor) } - func deleteNotice(id: Int64) -> Completable { + public func deleteNotice(id: Int64) -> Completable { let endpoint = AdminAPIEndpoint.deleteNotice(id: id) return provider.request(with: endpoint, interceptor: tokenInterceptor) } diff --git a/Poppool/DataLayer/Data/Data/RepositoryImpl/AuthAPIRepositoryImpl.swift b/Poppool/DataLayer/Data/Data/RepositoryImpl/AuthAPIRepositoryImpl.swift index 43e16ab5..0449cdf0 100644 --- a/Poppool/DataLayer/Data/Data/RepositoryImpl/AuthAPIRepositoryImpl.swift +++ b/Poppool/DataLayer/Data/Data/RepositoryImpl/AuthAPIRepositoryImpl.swift @@ -13,7 +13,7 @@ public final class AuthAPIRepositoryImpl: AuthAPIRepository { self.provider = provider } - func tryLogIn(userCredential: Encodable, socialType: String) -> Observable { + public func tryLogIn(userCredential: Encodable, socialType: String) -> Observable { let endPoint = AuthAPIEndPoint.auth_tryLogin(with: userCredential, path: socialType) return provider .requestData(with: endPoint, interceptor: nil) @@ -22,7 +22,7 @@ public final class AuthAPIRepositoryImpl: AuthAPIRepository { } } - func postTokenReissue() -> Observable { + public func postTokenReissue() -> Observable { let endPoint = AuthAPIEndPoint.postTokenReissue() return provider.requestData(with: endPoint, interceptor: tokenInterceptor) .map { responseDTO in diff --git a/Poppool/DataLayer/Data/Data/RepositoryImpl/MapRepositoryImpl.swift b/Poppool/DataLayer/Data/Data/RepositoryImpl/MapRepositoryImpl.swift index 6d80fff7..236aad21 100644 --- a/Poppool/DataLayer/Data/Data/RepositoryImpl/MapRepositoryImpl.swift +++ b/Poppool/DataLayer/Data/Data/RepositoryImpl/MapRepositoryImpl.swift @@ -13,7 +13,7 @@ public final class MapRepositoryImpl: MapRepository { self.provider = provider } - func fetchStoresInBounds( + public func fetchStoresInBounds( northEastLat: Double, northEastLon: Double, southWestLat: Double, @@ -33,7 +33,7 @@ public final class MapRepositoryImpl: MapRepository { .map { $0.popUpStoreList.map { $0.toDomain() } } } - func searchStores( + public func searchStores( query: String, categories: [Int64] ) -> Observable<[MapPopUpStore]> { @@ -47,7 +47,7 @@ public final class MapRepositoryImpl: MapRepository { .map { $0.popUpStoreList.map { $0.toDomain() } } } - func fetchCategories() -> Observable<[CategoryResponse]> { + public func fetchCategories() -> Observable<[CategoryResponse]> { Logger.log(message: "카테고리 목록 요청을 시작합니다.", category: .network) return provider.requestData( diff --git a/Poppool/DataLayer/Data/Data/RepositoryImpl/PopUpAPIRepositoryImpl.swift b/Poppool/DataLayer/Data/Data/RepositoryImpl/PopUpAPIRepositoryImpl.swift index cb22fc00..782c7880 100644 --- a/Poppool/DataLayer/Data/Data/RepositoryImpl/PopUpAPIRepositoryImpl.swift +++ b/Poppool/DataLayer/Data/Data/RepositoryImpl/PopUpAPIRepositoryImpl.swift @@ -13,13 +13,13 @@ public final class PopUpAPIRepositoryImpl: PopUpAPIRepository { self.provider = provider } - func postBookmarkPopUp(popUpStoreId: Int64) -> Completable { + public func postBookmarkPopUp(popUpStoreId: Int64) -> Completable { let request = PostBookmarkPopUpRequestDTO(popUpStoreId: popUpStoreId) let endPoint = UserAPIEndPoint.postBookmarkPopUp(request: request) return provider.request(with: endPoint, interceptor: tokenInterceptor) } - func getClosePopUpList( + public func getClosePopUpList( categories: String?, page: Int32?, size: Int32?, @@ -32,7 +32,7 @@ public final class PopUpAPIRepositoryImpl: PopUpAPIRepository { return provider.requestData(with: endPoint, interceptor: tokenInterceptor).map { $0.toDomain() } } - func getOpenPopUpList( + public func getOpenPopUpList( categories: String?, page: Int32?, size: Int32?, @@ -45,7 +45,7 @@ public final class PopUpAPIRepositoryImpl: PopUpAPIRepository { return provider.requestData(with: endPoint, interceptor: tokenInterceptor).map { $0.toDomain() } } - func getSearchPopUpList( + public func getSearchPopUpList( categories: String?, page: Int32?, size: Int32?, @@ -58,13 +58,13 @@ public final class PopUpAPIRepositoryImpl: PopUpAPIRepository { return provider.requestData(with: endPoint, interceptor: tokenInterceptor).map { $0.toDomain() } } - func getPopUpDetail(commentType: String?, popUpStoreId: Int64, viewCountYn: Bool?) -> Observable { + public func getPopUpDetail(commentType: String?, popUpStoreId: Int64, viewCountYn: Bool?) -> Observable { let request = GetPopUpDetailRequestDTO(commentType: commentType, popUpStoreId: popUpStoreId, viewCountYn: viewCountYn) let endPoint = PopUpAPIEndPoint.getPopUpDetail(request: request) return provider.requestData(with: endPoint, interceptor: tokenInterceptor).map { $0.toDomain() } } - func getPopUpComment(commentType: String?, page: Int32?, size: Int32?, sort: String?, popUpStoreId: Int64) -> Observable { + public func getPopUpComment(commentType: String?, page: Int32?, size: Int32?, sort: String?, popUpStoreId: Int64) -> Observable { let request = GetPopUpCommentRequestDTO(commentType: commentType, page: page, size: size, sort: sort, popUpStoreId: popUpStoreId) let endPoint = PopUpAPIEndPoint.getPopUpComment(request: request) return provider.requestData(with: endPoint, interceptor: tokenInterceptor).map { $0.toDomain() } diff --git a/Poppool/DataLayer/Data/Data/RepositoryImpl/SignUpRepositoryImpl.swift b/Poppool/DataLayer/Data/Data/RepositoryImpl/SignUpRepositoryImpl.swift index 10225783..f8009fbb 100644 --- a/Poppool/DataLayer/Data/Data/RepositoryImpl/SignUpRepositoryImpl.swift +++ b/Poppool/DataLayer/Data/Data/RepositoryImpl/SignUpRepositoryImpl.swift @@ -12,19 +12,19 @@ public final class SignUpRepositoryImpl: SignUpRepository { self.provider = provider } - func checkNickName(nickName: String) -> Observable { + public func checkNickName(nickName: String) -> Observable { let endPoint = SignUpAPIEndpoint.signUp_checkNickName(with: .init(nickName: nickName)) return provider.requestData(with: endPoint, interceptor: TokenInterceptor()) } - func fetchCategoryList() -> Observable<[CategoryResponse]> { + public func fetchCategoryList() -> Observable<[CategoryResponse]> { let endPoint = SignUpAPIEndpoint.signUp_getCategoryList() return provider.requestData(with: endPoint, interceptor: TokenInterceptor()).map { responseDTO in return responseDTO.categoryResponseList.map({ $0.toDomain() }) } } - func trySignUp( + public func trySignUp( nickName: String, gender: String, age: Int32, diff --git a/Poppool/DataLayer/Data/Data/RepositoryImpl/UserAPIRepositoryImpl.swift b/Poppool/DataLayer/Data/Data/RepositoryImpl/UserAPIRepositoryImpl.swift index 55ff8a35..2e8d9c98 100644 --- a/Poppool/DataLayer/Data/Data/RepositoryImpl/UserAPIRepositoryImpl.swift +++ b/Poppool/DataLayer/Data/Data/RepositoryImpl/UserAPIRepositoryImpl.swift @@ -13,37 +13,37 @@ public final class UserAPIRepositoryImpl: UserAPIRepository { self.provider = provider } - func postBookmarkPopUp(popUpStoreId: Int64) -> Completable { + public func postBookmarkPopUp(popUpStoreId: Int64) -> Completable { let endPoint = UserAPIEndPoint.postBookmarkPopUp(request: .init(popUpStoreId: popUpStoreId)) return provider.request(with: endPoint, interceptor: tokenInterceptor) } - func deleteBookmarkPopUp(popUpStoreId: Int64) -> Completable { + public func deleteBookmarkPopUp(popUpStoreId: Int64) -> Completable { let endPoint = UserAPIEndPoint.deleteBookmarkPopUp(request: .init(popUpStoreId: popUpStoreId)) return provider.request(with: endPoint, interceptor: tokenInterceptor) } - func postCommentLike(commentId: Int64) -> Completable { + public func postCommentLike(commentId: Int64) -> Completable { let endPoint = UserAPIEndPoint.postCommentLike(request: .init(commentId: commentId)) return provider.request(with: endPoint, interceptor: tokenInterceptor) } - func deleteCommentLike(commentId: Int64) -> Completable { + public func deleteCommentLike(commentId: Int64) -> Completable { let endPoint = UserAPIEndPoint.deleteCommentLike(request: .init(commentId: commentId)) return provider.request(with: endPoint, interceptor: tokenInterceptor) } - func postUserBlock(blockedUserId: String?) -> Completable { + public func postUserBlock(blockedUserId: String?) -> Completable { let endPoint = UserAPIEndPoint.postUserBlock(request: .init(blockedUserId: blockedUserId)) return provider.request(with: endPoint, interceptor: tokenInterceptor) } - func deleteUserBlock(blockedUserId: String?) -> Completable { + public func deleteUserBlock(blockedUserId: String?) -> Completable { let endPoint = UserAPIEndPoint.deleteUserBlock(request: .init(blockedUserId: blockedUserId)) return provider.request(with: endPoint, interceptor: tokenInterceptor) } - func getOtherUserCommentList( + public func getOtherUserCommentList( commenterId: String?, commentType: String?, page: Int32?, @@ -55,37 +55,37 @@ public final class UserAPIRepositoryImpl: UserAPIRepository { return provider.requestData(with: endPoint, interceptor: tokenInterceptor).map { $0.toDomain() } } - func getMyPage() -> Observable { + public func getMyPage() -> Observable { let endPoint = UserAPIEndPoint.getMyPage() return provider.requestData(with: endPoint, interceptor: tokenInterceptor).map { $0.toDomain() } } - func postLogout() -> Completable { + public func postLogout() -> Completable { let endPoint = UserAPIEndPoint.postLogout() return provider.request(with: endPoint, interceptor: tokenInterceptor) } - func getWithdrawlList() -> Observable { + public func getWithdrawlList() -> Observable { let endPoint = UserAPIEndPoint.getWithdrawlList() return provider.requestData(with: endPoint, interceptor: tokenInterceptor).map { $0.toDomain() } } - func postWithdrawl(list: [(Int64, String?)]) -> Completable { + public func postWithdrawl(list: [(Int64, String?)]) -> Completable { let endPoint = UserAPIEndPoint.postWithdrawl(request: .init(checkedSurveyList: list.map { .init(id: $0.0, survey: $0.1)})) return provider.request(with: endPoint, interceptor: tokenInterceptor) } - func getMyProfile() -> Observable { + public func getMyProfile() -> Observable { let endPoint = UserAPIEndPoint.getMyProfile() return provider.requestData(with: endPoint, interceptor: tokenInterceptor).map { $0.toDomain() } } - func putUserTailoredInfo(gender: String?, age: Int32) -> Completable { + public func putUserTailoredInfo(gender: String?, age: Int32) -> Completable { let endPoint = UserAPIEndPoint.putUserTailoredInfo(request: .init(gender: gender, age: age)) return provider.request(with: endPoint, interceptor: tokenInterceptor) } - func putUserCategory( + public func putUserCategory( interestCategoriesToAdd: [Int64], interestCategoriesToDelete: [Int64], interestCategoriesToKeep: [Int64] @@ -99,7 +99,7 @@ public final class UserAPIRepositoryImpl: UserAPIRepository { return provider.request(with: endPoint, interceptor: tokenInterceptor) } - func putUserProfile( + public func putUserProfile( profileImageUrl: String?, nickname: String?, email: String?, @@ -111,7 +111,7 @@ public final class UserAPIRepositoryImpl: UserAPIRepository { return provider.request(with: endPoint, interceptor: tokenInterceptor) } - func getMyCommentedPopUp( + public func getMyCommentedPopUp( page: Int32?, size: Int32?, sort: String? @@ -121,29 +121,29 @@ public final class UserAPIRepositoryImpl: UserAPIRepository { return provider.requestData(with: endPoint, interceptor: tokenInterceptor).map { $0.toDomain() } } - func getBlockUserList(page: Int32?, size: Int32?, sort: String?) -> Observable { + public func getBlockUserList(page: Int32?, size: Int32?, sort: String?) -> Observable { let request = UserSortedRequestDTO(page: page, size: size, sort: sort) let endPoint = UserAPIEndPoint.getBlockUserList(request: request) return provider.requestData(with: endPoint, interceptor: tokenInterceptor).map { $0.toDomain() } } - func getNoticeList() -> Observable { + public func getNoticeList() -> Observable { let endPoint = UserAPIEndPoint.getNoticeList() return provider.requestData(with: endPoint, interceptor: tokenInterceptor).map { $0.toDomain() } } - func getNoticeDetail(noticeID: Int64) -> Observable { + public func getNoticeDetail(noticeID: Int64) -> Observable { let endPoint = UserAPIEndPoint.getNoticeDetail(noticeID: noticeID) return provider.requestData(with: endPoint, interceptor: tokenInterceptor).map { $0.toDomain() } } - func getRecentPopUp(page: Int32?, size: Int32?, sort: String?) -> Observable { + public func getRecentPopUp(page: Int32?, size: Int32?, sort: String?) -> Observable { let request = UserSortedRequestDTO(page: page, size: size, sort: sort) let endPoint = UserAPIEndPoint.getRecentPopUp(request: request) return provider.requestData(with: endPoint, interceptor: tokenInterceptor).map { $0.toDomain() } } - func getBookmarkPopUp(page: Int32?, size: Int32?, sort: String?) -> Observable { + public func getBookmarkPopUp(page: Int32?, size: Int32?, sort: String?) -> Observable { let request = UserSortedRequestDTO(page: page, size: size, sort: sort) let endPoint = UserAPIEndPoint.getBookmarkPopUp(request: request) return provider.requestData(with: endPoint, interceptor: tokenInterceptor).map { $0.toDomain() } diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/AdminResponse/AdminStore.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/AdminResponse/AdminStore.swift index 636685a6..e1d0c9f9 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/AdminResponse/AdminStore.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/AdminResponse/AdminStore.swift @@ -1,6 +1,13 @@ import Foundation public struct AdminStore { + public init(id: Int64, name: String, categoryName: String, mainImageUrl: String) { + self.id = id + self.name = name + self.categoryName = categoryName + self.mainImageUrl = mainImageUrl + } + public let id: Int64 public let name: String public let categoryName: String diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/AdminResponse/AdminStoreDetail.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/AdminResponse/AdminStoreDetail.swift index 3cb81611..353eda79 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/AdminResponse/AdminStoreDetail.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/AdminResponse/AdminStoreDetail.swift @@ -1,6 +1,26 @@ import Foundation public struct AdminStoreDetail { + public init(id: Int64, name: String, categoryId: Int64, categoryName: String, description: String, address: String, startDate: String, endDate: String, createUserId: String, createDateTime: String, mainImageUrl: String, bannerYn: Bool, images: [StoreImage], latitude: Double, longitude: Double, markerTitle: String, markerSnippet: String) { + self.id = id + self.name = name + self.categoryId = categoryId + self.categoryName = categoryName + self.description = description + self.address = address + self.startDate = startDate + self.endDate = endDate + self.createUserId = createUserId + self.createDateTime = createDateTime + self.mainImageUrl = mainImageUrl + self.bannerYn = bannerYn + self.images = images + self.latitude = latitude + self.longitude = longitude + self.markerTitle = markerTitle + self.markerSnippet = markerSnippet + } + public let id: Int64 public let name: String public let categoryId: Int64 @@ -20,6 +40,11 @@ public struct AdminStoreDetail { public let markerSnippet: String public struct StoreImage { + public init(id: Int64, imageUrl: String) { + self.id = id + self.imageUrl = imageUrl + } + public let id: Int64 public let imageUrl: String } diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/AdminResponse/Params/AdminParams.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/AdminResponse/Params/AdminParams.swift index c92c1fa6..029b9793 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/AdminResponse/Params/AdminParams.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/AdminResponse/Params/AdminParams.swift @@ -69,15 +69,15 @@ public struct UpdateStoreParams { } public struct CreateNoticeParams { - let title: String - let content: String - let imageUrlList: [String] + public let title: String + public let content: String + public let imageUrlList: [String] } public struct UpdateNoticeParams { - let id: Int64 - let title: String - let content: String - let imageUrlList: [String] - let imagesToDelete: [Int64] + public let id: Int64 + public let title: String + public let content: String + public let imageUrlList: [String] + public let imagesToDelete: [Int64] } From 1e10d7ae41495b195f1f51930476b1d43e40372e Mon Sep 17 00:00:00 2001 From: 0Hooni Date: Mon, 21 Apr 2025 03:16:18 +0900 Subject: [PATCH 67/83] =?UTF-8?q?refactor/#112:=20=EC=9D=BC=EB=B6=80=20Ext?= =?UTF-8?q?ension=EC=9D=84=20PresentationLayer=EB=A1=9C=20=EC=9D=B4?= =?UTF-8?q?=EB=8F=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Presentation/DesignSystem}/Extension/UIApplication+.swift | 0 .../DesignSystem}/Extension/UICollectionReusableView+.swift | 0 .../DesignSystem}/Extension/UICollectionViewCell+.swift | 0 .../Presentation/DesignSystem}/Extension/UIColor+.swift | 0 .../Presentation/DesignSystem}/Extension/UIFont+.swift | 2 +- .../Presentation/DesignSystem}/Extension/UILabel+.swift | 0 .../DesignSystem}/Extension/UINavigationController+.swift | 0 .../Presentation/DesignSystem}/Extension/UITableViewCell+.swift | 0 .../Presentation/DesignSystem}/Extension/UITextField+.swift | 0 .../Presentation/DesignSystem}/Extension/UIView+.swift | 0 10 files changed, 1 insertion(+), 1 deletion(-) rename Poppool/{CoreLayer/Infrastructure/Infrastructure => PresentationLayer/Presentation/Presentation/DesignSystem}/Extension/UIApplication+.swift (100%) rename Poppool/{CoreLayer/Infrastructure/Infrastructure => PresentationLayer/Presentation/Presentation/DesignSystem}/Extension/UICollectionReusableView+.swift (100%) rename Poppool/{CoreLayer/Infrastructure/Infrastructure => PresentationLayer/Presentation/Presentation/DesignSystem}/Extension/UICollectionViewCell+.swift (100%) rename Poppool/{CoreLayer/Infrastructure/Infrastructure => PresentationLayer/Presentation/Presentation/DesignSystem}/Extension/UIColor+.swift (100%) rename Poppool/{CoreLayer/Infrastructure/Infrastructure => PresentationLayer/Presentation/Presentation/DesignSystem}/Extension/UIFont+.swift (94%) rename Poppool/{CoreLayer/Infrastructure/Infrastructure => PresentationLayer/Presentation/Presentation/DesignSystem}/Extension/UILabel+.swift (100%) rename Poppool/{CoreLayer/Infrastructure/Infrastructure => PresentationLayer/Presentation/Presentation/DesignSystem}/Extension/UINavigationController+.swift (100%) rename Poppool/{CoreLayer/Infrastructure/Infrastructure => PresentationLayer/Presentation/Presentation/DesignSystem}/Extension/UITableViewCell+.swift (100%) rename Poppool/{CoreLayer/Infrastructure/Infrastructure => PresentationLayer/Presentation/Presentation/DesignSystem}/Extension/UITextField+.swift (100%) rename Poppool/{CoreLayer/Infrastructure/Infrastructure => PresentationLayer/Presentation/Presentation/DesignSystem}/Extension/UIView+.swift (100%) diff --git a/Poppool/CoreLayer/Infrastructure/Infrastructure/Extension/UIApplication+.swift b/Poppool/PresentationLayer/Presentation/Presentation/DesignSystem/Extension/UIApplication+.swift similarity index 100% rename from Poppool/CoreLayer/Infrastructure/Infrastructure/Extension/UIApplication+.swift rename to Poppool/PresentationLayer/Presentation/Presentation/DesignSystem/Extension/UIApplication+.swift diff --git a/Poppool/CoreLayer/Infrastructure/Infrastructure/Extension/UICollectionReusableView+.swift b/Poppool/PresentationLayer/Presentation/Presentation/DesignSystem/Extension/UICollectionReusableView+.swift similarity index 100% rename from Poppool/CoreLayer/Infrastructure/Infrastructure/Extension/UICollectionReusableView+.swift rename to Poppool/PresentationLayer/Presentation/Presentation/DesignSystem/Extension/UICollectionReusableView+.swift diff --git a/Poppool/CoreLayer/Infrastructure/Infrastructure/Extension/UICollectionViewCell+.swift b/Poppool/PresentationLayer/Presentation/Presentation/DesignSystem/Extension/UICollectionViewCell+.swift similarity index 100% rename from Poppool/CoreLayer/Infrastructure/Infrastructure/Extension/UICollectionViewCell+.swift rename to Poppool/PresentationLayer/Presentation/Presentation/DesignSystem/Extension/UICollectionViewCell+.swift diff --git a/Poppool/CoreLayer/Infrastructure/Infrastructure/Extension/UIColor+.swift b/Poppool/PresentationLayer/Presentation/Presentation/DesignSystem/Extension/UIColor+.swift similarity index 100% rename from Poppool/CoreLayer/Infrastructure/Infrastructure/Extension/UIColor+.swift rename to Poppool/PresentationLayer/Presentation/Presentation/DesignSystem/Extension/UIColor+.swift diff --git a/Poppool/CoreLayer/Infrastructure/Infrastructure/Extension/UIFont+.swift b/Poppool/PresentationLayer/Presentation/Presentation/DesignSystem/Extension/UIFont+.swift similarity index 94% rename from Poppool/CoreLayer/Infrastructure/Infrastructure/Extension/UIFont+.swift rename to Poppool/PresentationLayer/Presentation/Presentation/DesignSystem/Extension/UIFont+.swift index f8eaab2d..3720eb67 100644 --- a/Poppool/CoreLayer/Infrastructure/Infrastructure/Extension/UIFont+.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/DesignSystem/Extension/UIFont+.swift @@ -2,7 +2,7 @@ import Foundation import UIKit -extension UIFont { +public extension UIFont { static func korFont(style: FontStyle, size: CGFloat) -> UIFont? { return UIFont(name: "GothicA1\(style.rawValue)", size: size) } diff --git a/Poppool/CoreLayer/Infrastructure/Infrastructure/Extension/UILabel+.swift b/Poppool/PresentationLayer/Presentation/Presentation/DesignSystem/Extension/UILabel+.swift similarity index 100% rename from Poppool/CoreLayer/Infrastructure/Infrastructure/Extension/UILabel+.swift rename to Poppool/PresentationLayer/Presentation/Presentation/DesignSystem/Extension/UILabel+.swift diff --git a/Poppool/CoreLayer/Infrastructure/Infrastructure/Extension/UINavigationController+.swift b/Poppool/PresentationLayer/Presentation/Presentation/DesignSystem/Extension/UINavigationController+.swift similarity index 100% rename from Poppool/CoreLayer/Infrastructure/Infrastructure/Extension/UINavigationController+.swift rename to Poppool/PresentationLayer/Presentation/Presentation/DesignSystem/Extension/UINavigationController+.swift diff --git a/Poppool/CoreLayer/Infrastructure/Infrastructure/Extension/UITableViewCell+.swift b/Poppool/PresentationLayer/Presentation/Presentation/DesignSystem/Extension/UITableViewCell+.swift similarity index 100% rename from Poppool/CoreLayer/Infrastructure/Infrastructure/Extension/UITableViewCell+.swift rename to Poppool/PresentationLayer/Presentation/Presentation/DesignSystem/Extension/UITableViewCell+.swift diff --git a/Poppool/CoreLayer/Infrastructure/Infrastructure/Extension/UITextField+.swift b/Poppool/PresentationLayer/Presentation/Presentation/DesignSystem/Extension/UITextField+.swift similarity index 100% rename from Poppool/CoreLayer/Infrastructure/Infrastructure/Extension/UITextField+.swift rename to Poppool/PresentationLayer/Presentation/Presentation/DesignSystem/Extension/UITextField+.swift diff --git a/Poppool/CoreLayer/Infrastructure/Infrastructure/Extension/UIView+.swift b/Poppool/PresentationLayer/Presentation/Presentation/DesignSystem/Extension/UIView+.swift similarity index 100% rename from Poppool/CoreLayer/Infrastructure/Infrastructure/Extension/UIView+.swift rename to Poppool/PresentationLayer/Presentation/Presentation/DesignSystem/Extension/UIView+.swift From 0650a7bcbab97700e35d48fda999019e5983ba60 Mon Sep 17 00:00:00 2001 From: 0Hooni Date: Mon, 21 Apr 2025 16:07:38 +0900 Subject: [PATCH 68/83] =?UTF-8?q?refactor/#112:=20=EB=B9=A0=EC=A0=B8?= =?UTF-8?q?=EC=9E=88=EB=8D=98=20import,=20public=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Infrastructure/Extension/String?+.swift | 2 +- .../Extension/UIImageView+.swift | 2 +- .../Service/AppleLoginService.swift | 17 +++++-------- .../Service/KakaoLoginService.swift | 6 +++-- .../Service/KeyChainService.swift | 2 +- .../Service/UserDefaultService.swift | 6 +++-- .../API/AdminAPI/AdminAPIEndpoint.swift | 2 ++ .../API/MapAPI/FindDirectionEndPoint.swift | 9 ++----- .../Entity/AuthResponse/LoginResponse.swift | 10 ++++---- .../HomeResponse/GetHomeInfoResponse.swift | 14 +++++------ .../PopUpResponse/PopUpStoreResponse.swift | 16 ++++++------ .../GetNoticeDetailResponse.swift | 6 ++--- .../UserResponse/GetRecentPopUpResponse.swift | 22 ++++++++-------- .../Presentation.xcodeproj/project.pbxproj | 25 +++++++++++++++++++ .../AdminBottomSheetView.swift | 5 +++- .../CommentDetailController.swift | 8 ------ .../Scene/Home/List/HomeListReactor.swift | 10 +++----- .../Scene/Login/Main/LoginReactor.swift | 8 ++---- .../Map/MapPopupCardView/PopupCardCell.swift | 2 ++ .../Bookmark/Main/MyPageBookmarkReactor.swift | 10 +++----- .../Detail/MyPageNoticeDetailReactor.swift | 7 +----- .../Interfaces/Sectionable/Sectionable.swift | 9 ++----- 22 files changed, 97 insertions(+), 101 deletions(-) diff --git a/Poppool/CoreLayer/Infrastructure/Infrastructure/Extension/String?+.swift b/Poppool/CoreLayer/Infrastructure/Infrastructure/Extension/String?+.swift index c06feb51..c6bb485a 100644 --- a/Poppool/CoreLayer/Infrastructure/Infrastructure/Extension/String?+.swift +++ b/Poppool/CoreLayer/Infrastructure/Infrastructure/Extension/String?+.swift @@ -41,7 +41,7 @@ extension String { } extension String { /// ISO 8601 형식의 문자열을 `Date`로 변환하는 메서드 - func toDate() -> Date? { + public func toDate() -> Date? { let dateFormatter = DateFormatter() dateFormatter.locale = Locale(identifier: "en_US_POSIX") diff --git a/Poppool/CoreLayer/Infrastructure/Infrastructure/Extension/UIImageView+.swift b/Poppool/CoreLayer/Infrastructure/Infrastructure/Extension/UIImageView+.swift index a1a0b349..cacd212c 100644 --- a/Poppool/CoreLayer/Infrastructure/Infrastructure/Extension/UIImageView+.swift +++ b/Poppool/CoreLayer/Infrastructure/Infrastructure/Extension/UIImageView+.swift @@ -1,6 +1,6 @@ import UIKit -extension UIImageView { +public extension UIImageView { func setPPImage(path: String?) { guard let path = path else { self.image = UIImage(named: "image_default") diff --git a/Poppool/CoreLayer/Infrastructure/Infrastructure/Service/AppleLoginService.swift b/Poppool/CoreLayer/Infrastructure/Infrastructure/Service/AppleLoginService.swift index ecee526f..280851be 100644 --- a/Poppool/CoreLayer/Infrastructure/Infrastructure/Service/AppleLoginService.swift +++ b/Poppool/CoreLayer/Infrastructure/Infrastructure/Service/AppleLoginService.swift @@ -1,14 +1,9 @@ -// -// AppleLoginService.swift -// MomsVillage -// -// Created by SeoJunYoung on 8/20/24. -// - import AuthenticationServices import RxSwift -final class AppleLoginService: NSObject, AuthServiceable { +public final class AppleLoginService: NSObject, AuthServiceable { + + public override init() { } // 사용자 자격 증명 정보를 방출할 subject private var authServiceResponse: PublishSubject = .init() @@ -34,7 +29,7 @@ final class AppleLoginService: NSObject, AuthServiceable { extension AppleLoginService: ASAuthorizationControllerPresentationContextProviding, ASAuthorizationControllerDelegate { // 인증 컨트롤러의 프레젠테이션 앵커를 반환하는 함수 - func presentationAnchor(for controller: ASAuthorizationController) -> ASPresentationAnchor { + public func presentationAnchor(for controller: ASAuthorizationController) -> ASPresentationAnchor { let scenes = UIApplication.shared.connectedScenes let windowSecne = scenes.first as? UIWindowScene guard let window = windowSecne?.windows.first else { @@ -50,7 +45,7 @@ extension AppleLoginService: ASAuthorizationControllerPresentationContextProvidi } // 인증 성공 시 호출되는 함수 - func authorizationController( + public func authorizationController( controller: ASAuthorizationController, didCompleteWithAuthorization authorization: ASAuthorization ) { @@ -81,7 +76,7 @@ extension AppleLoginService: ASAuthorizationControllerPresentationContextProvidi } } // 인증 실패 시 호출되는 함수 - func authorizationController( + public func authorizationController( controller: ASAuthorizationController, didCompleteWithError error: Error ) { diff --git a/Poppool/CoreLayer/Infrastructure/Infrastructure/Service/KakaoLoginService.swift b/Poppool/CoreLayer/Infrastructure/Infrastructure/Service/KakaoLoginService.swift index 382133e9..176395e7 100644 --- a/Poppool/CoreLayer/Infrastructure/Infrastructure/Service/KakaoLoginService.swift +++ b/Poppool/CoreLayer/Infrastructure/Infrastructure/Service/KakaoLoginService.swift @@ -2,7 +2,9 @@ import KakaoSDKAuth import KakaoSDKUser import RxSwift -final class KakaoLoginService: AuthServiceable { +public final class KakaoLoginService: AuthServiceable { + + public init() { } var disposeBag = DisposeBag() @@ -22,7 +24,7 @@ final class KakaoLoginService: AuthServiceable { } } - func fetchUserCredential() -> Observable { + public func fetchUserCredential() -> Observable { return Observable.create { [weak self] observer in guard let self else { Logger.log( diff --git a/Poppool/CoreLayer/Infrastructure/Infrastructure/Service/KeyChainService.swift b/Poppool/CoreLayer/Infrastructure/Infrastructure/Service/KeyChainService.swift index b9545cf0..bd6a0c09 100644 --- a/Poppool/CoreLayer/Infrastructure/Infrastructure/Service/KeyChainService.swift +++ b/Poppool/CoreLayer/Infrastructure/Infrastructure/Service/KeyChainService.swift @@ -98,7 +98,7 @@ public final class KeyChainService { /// KeyChain에서 특정 타입의 토큰을 삭제하는 메서드 /// - Parameter type: 삭제하려는 토큰의 타입 (`accessToken` 또는 `refreshToken`) /// - Returns: 완료 시 `Completable` - func deleteToken(type: TokenType) -> Result { + public func deleteToken(type: TokenType) -> Result { // 1. query 작성 let keyChainQuery: NSDictionary = [ kSecClass: kSecClassGenericPassword, diff --git a/Poppool/CoreLayer/Infrastructure/Infrastructure/Service/UserDefaultService.swift b/Poppool/CoreLayer/Infrastructure/Infrastructure/Service/UserDefaultService.swift index ff64c2a6..a938f31c 100644 --- a/Poppool/CoreLayer/Infrastructure/Infrastructure/Service/UserDefaultService.swift +++ b/Poppool/CoreLayer/Infrastructure/Infrastructure/Service/UserDefaultService.swift @@ -9,7 +9,9 @@ import Foundation import RxSwift -final class UserDefaultService { +public final class UserDefaultService { + + public init() { } /// Userdefault 데이터 저장 메서드 /// - Parameters: @@ -17,7 +19,7 @@ final class UserDefaultService { /// - value: 저장하는 데이터 값 i.e) access token 등 /// - to: 로컬 데이터베이스 타입 - DatabaseType /// - Returns: 별도 안내 없음 - func save(key: String, value: String) { + public func save(key: String, value: String) { UserDefaults.standard.set(value, forKey: key) } diff --git a/Poppool/DataLayer/Data/Data/Network/API/AdminAPI/AdminAPIEndpoint.swift b/Poppool/DataLayer/Data/Data/Network/API/AdminAPI/AdminAPIEndpoint.swift index 40305bfe..1b7175d1 100644 --- a/Poppool/DataLayer/Data/Data/Network/API/AdminAPI/AdminAPIEndpoint.swift +++ b/Poppool/DataLayer/Data/Data/Network/API/AdminAPI/AdminAPIEndpoint.swift @@ -1,5 +1,7 @@ import Foundation +import Infrastructure + struct EmptyResponse: Decodable {} struct AdminAPIEndpoint { diff --git a/Poppool/DataLayer/Data/Data/Network/API/MapAPI/FindDirectionEndPoint.swift b/Poppool/DataLayer/Data/Data/Network/API/MapAPI/FindDirectionEndPoint.swift index 184c0040..e9680478 100644 --- a/Poppool/DataLayer/Data/Data/Network/API/MapAPI/FindDirectionEndPoint.swift +++ b/Poppool/DataLayer/Data/Data/Network/API/MapAPI/FindDirectionEndPoint.swift @@ -1,12 +1,7 @@ -// -// FindDirectionEndPoint.swift -// Poppool -// -// Created by 김기현 on 1/23/25. -// - import Foundation +import Infrastructure + struct FindDirectionEndPoint { // MARK: - Direction static func fetchDirection( diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/AuthResponse/LoginResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/AuthResponse/LoginResponse.swift index f7146e48..94e6f175 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/AuthResponse/LoginResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/AuthResponse/LoginResponse.swift @@ -12,12 +12,12 @@ public struct LoginResponse { self.isRegisteredUser = isRegisteredUser } - var userId: String + public var userId: String var grantType: String - var accessToken: String - var refreshToken: String + public var accessToken: String + public var refreshToken: String var accessTokenExpiresAt: String var refreshTokenExpiresAt: String - var socialType: String - var isRegisteredUser: Bool + public var socialType: String + public var isRegisteredUser: Bool } diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/HomeResponse/GetHomeInfoResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/HomeResponse/GetHomeInfoResponse.swift index 460b2bfc..f64eac49 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/HomeResponse/GetHomeInfoResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/HomeResponse/GetHomeInfoResponse.swift @@ -18,14 +18,14 @@ public struct GetHomeInfoResponse { var bannerPopUpStoreList: [BannerPopUpStore] var nickname: String? - var customPopUpStoreList: [PopUpStoreResponse] - var customPopUpStoreTotalPages: Int32 + public var customPopUpStoreList: [PopUpStoreResponse] + public var customPopUpStoreTotalPages: Int32 var customPopUpStoreTotalElements: Int64 - var popularPopUpStoreList: [PopUpStoreResponse] - var popularPopUpStoreTotalPages: Int32 + public var popularPopUpStoreList: [PopUpStoreResponse] + public var popularPopUpStoreTotalPages: Int32 var popularPopUpStoreTotalElements: Int64 - var newPopUpStoreList: [PopUpStoreResponse] - var newPopUpStoreTotalPages: Int32 + public var newPopUpStoreList: [PopUpStoreResponse] + public var newPopUpStoreTotalPages: Int32 var newPopUpStoreTotalElements: Int64 - var loginYn: Bool + public var loginYn: Bool } diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/PopUpStoreResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/PopUpStoreResponse.swift index 03182907..5c487da6 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/PopUpStoreResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/PopUpStoreResponse.swift @@ -12,12 +12,12 @@ public struct PopUpStoreResponse { self.bookmarkYn = bookmarkYn } - let id: Int64 - let category: String? - let name: String? - let address: String? - let mainImageUrl: String? - let startDate: String? - let endDate: String? - let bookmarkYn: Bool + public let id: Int64 + public let category: String? + public let name: String? + public let address: String? + public let mainImageUrl: String? + public let startDate: String? + public let endDate: String? + public let bookmarkYn: Bool } diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetNoticeDetailResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetNoticeDetailResponse.swift index 02cdd67c..532a7a5c 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetNoticeDetailResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetNoticeDetailResponse.swift @@ -9,7 +9,7 @@ public struct GetNoticeDetailResponse { } var id: Int64 - var title: String? - var content: String? - var createDateTime: String? + public var title: String? + public var content: String? + public var createDateTime: String? } diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetRecentPopUpResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetRecentPopUpResponse.swift index 9a463f09..46d0e070 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetRecentPopUpResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetRecentPopUpResponse.swift @@ -7,9 +7,9 @@ public struct GetRecentPopUpResponse { self.totalElements = totalElements } - var popUpInfoList: [GetRecentPopUpDataResponse] - var totalPages: Int32 - var totalElements: Int32 + public var popUpInfoList: [GetRecentPopUpDataResponse] + public var totalPages: Int32 + public var totalElements: Int32 } public struct GetRecentPopUpDataResponse { @@ -24,12 +24,12 @@ public struct GetRecentPopUpDataResponse { self.closeYn = closeYn } - var popUpStoreId: Int64 - var popUpStoreName: String? - var desc: String? - var mainImageUrl: String? - var startDate: String? - var endDate: String? - var address: String? - var closeYn: Bool + public var popUpStoreId: Int64 + public var popUpStoreName: String? + public var desc: String? + public var mainImageUrl: String? + public var startDate: String? + public var endDate: String? + public var address: String? + public var closeYn: Bool } diff --git a/Poppool/PresentationLayer/Presentation/Presentation.xcodeproj/project.pbxproj b/Poppool/PresentationLayer/Presentation/Presentation.xcodeproj/project.pbxproj index faf1c80f..68a0a032 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation.xcodeproj/project.pbxproj +++ b/Poppool/PresentationLayer/Presentation/Presentation.xcodeproj/project.pbxproj @@ -7,6 +7,7 @@ objects = { /* Begin PBXBuildFile section */ + 05125B952DB62295001342A2 /* RxSwift-Dynamic in Frameworks */ = {isa = PBXBuildFile; productRef = 05125B942DB62295001342A2 /* RxSwift-Dynamic */; }; 05C1D62C2DB53A8200508FFD /* DomainInterface.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 05C1D62A2DB53A8200508FFD /* DomainInterface.framework */; }; 05C1D62D2DB53A8200508FFD /* DomainInterface.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 05C1D62A2DB53A8200508FFD /* DomainInterface.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 05C1D62E2DB53A8200508FFD /* Infrastructure.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 05C1D62B2DB53A8200508FFD /* Infrastructure.framework */; }; @@ -48,6 +49,7 @@ buildActionMask = 2147483647; files = ( 05C1D62C2DB53A8200508FFD /* DomainInterface.framework in Frameworks */, + 05125B952DB62295001342A2 /* RxSwift-Dynamic in Frameworks */, 05C1D62E2DB53A8200508FFD /* Infrastructure.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; @@ -113,6 +115,7 @@ ); name = Presentation; packageProductDependencies = ( + 05125B942DB62295001342A2 /* RxSwift-Dynamic */, ); productName = Presentation; productReference = 058CC9042DB537960084221A /* Presentation.framework */; @@ -142,6 +145,9 @@ ); mainGroup = 058CC8FA2DB537960084221A; minimizedProjectReferenceProxies = 1; + packageReferences = ( + 05125B932DB62295001342A2 /* XCRemoteSwiftPackageReference "RxSwift" */, + ); preferredProjectObjectVersion = 77; productRefGroup = 058CC9052DB537960084221A /* Products */; projectDirPath = ""; @@ -386,6 +392,25 @@ defaultConfigurationName = Release; }; /* End XCConfigurationList section */ + +/* Begin XCRemoteSwiftPackageReference section */ + 05125B932DB62295001342A2 /* XCRemoteSwiftPackageReference "RxSwift" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/ReactiveX/RxSwift"; + requirement = { + kind = upToNextMajorVersion; + minimumVersion = 6.9.0; + }; + }; +/* End XCRemoteSwiftPackageReference section */ + +/* Begin XCSwiftPackageProductDependency section */ + 05125B942DB62295001342A2 /* RxSwift-Dynamic */ = { + isa = XCSwiftPackageProductDependency; + package = 05125B932DB62295001342A2 /* XCRemoteSwiftPackageReference "RxSwift" */; + productName = "RxSwift-Dynamic"; + }; +/* End XCSwiftPackageProductDependency section */ }; rootObject = 058CC8FB2DB537960084221A /* Project object */; } diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminBottomSheet/AdminBottomSheetView.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminBottomSheet/AdminBottomSheetView.swift index b23047dc..69a94cbe 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminBottomSheet/AdminBottomSheetView.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminBottomSheet/AdminBottomSheetView.swift @@ -1,8 +1,11 @@ +import UIKit + +import Infrastructure + import ReactorKit import RxCocoa import RxSwift import SnapKit -import UIKit final class AdminBottomSheetView: UIView { diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/CommentDetail/CommentDetailController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/CommentDetail/CommentDetailController.swift index 49d47a25..6c8b4cbc 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/CommentDetail/CommentDetailController.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/CommentDetail/CommentDetailController.swift @@ -1,10 +1,3 @@ -// -// CommentDetailController.swift -// Poppool -// -// Created by SeoJunYoung on 12/25/24. -// - import UIKit import PanModal @@ -67,7 +60,6 @@ private extension CommentDetailController { // MARK: - Methods extension CommentDetailController { func bind(reactor: Reactor) { - rx.viewWillAppear .map { Reactor.Action.viewWillAppear } .bind(to: reactor.action) diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Home/List/HomeListReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Home/List/HomeListReactor.swift index 776ded93..6e0e002e 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Home/List/HomeListReactor.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Home/List/HomeListReactor.swift @@ -1,12 +1,8 @@ -// -// HomeListReactor.swift -// Poppool -// -// Created by SeoJunYoung on 12/2/24. -// - import UIKit +import DomainInterface +import Infrastructure + import ReactorKit import RxCocoa import RxSwift diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Login/Main/LoginReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Login/Main/LoginReactor.swift index 6065f763..0ca12f9a 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Login/Main/LoginReactor.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Login/Main/LoginReactor.swift @@ -1,9 +1,5 @@ -// -// LoginReactor.swift -// Poppool -// -// Created by SeoJunYoung on 11/24/24. -// +import Infrastructure +import DomainInterface import ReactorKit import RxCocoa diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/MapPopupCardView/PopupCardCell.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/MapPopupCardView/PopupCardCell.swift index 5d2f8f11..7da20209 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/MapPopupCardView/PopupCardCell.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/MapPopupCardView/PopupCardCell.swift @@ -1,5 +1,7 @@ import UIKit +import DomainInterface + import SnapKit final class PopupCardCell: UICollectionViewCell { diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Bookmark/Main/MyPageBookmarkReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Bookmark/Main/MyPageBookmarkReactor.swift index 084782dc..56ecea39 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Bookmark/Main/MyPageBookmarkReactor.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Bookmark/Main/MyPageBookmarkReactor.swift @@ -1,12 +1,8 @@ -// -// MyPageBookmarkReactor.swift -// Poppool -// -// Created by SeoJunYoung on 1/14/25. -// - import UIKit +import DomainInterface +import Infrastructure + import ReactorKit import RxCocoa import RxSwift diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Notice/Detail/MyPageNoticeDetailReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Notice/Detail/MyPageNoticeDetailReactor.swift index f868b9ed..cb16df03 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Notice/Detail/MyPageNoticeDetailReactor.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Notice/Detail/MyPageNoticeDetailReactor.swift @@ -1,9 +1,4 @@ -// -// MyPageNoticeDetailReactor.swift -// Poppool -// -// Created by SeoJunYoung on 1/13/25. -// +import DomainInterface import ReactorKit import RxCocoa diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Utills/Interfaces/Sectionable/Sectionable.swift b/Poppool/PresentationLayer/Presentation/Presentation/Utills/Interfaces/Sectionable/Sectionable.swift index 158f9092..7153b6a7 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Utills/Interfaces/Sectionable/Sectionable.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Utills/Interfaces/Sectionable/Sectionable.swift @@ -1,12 +1,7 @@ -// -// Sectionable.swift -// MomsVillage -// -// Created by SeoJunYoung on 8/29/24. -// - import UIKit +import Infrastructure + import RxSwift import SnapKit From 765644292a6937c32b3449de7f5986350f3e0357 Mon Sep 17 00:00:00 2001 From: 0Hooni Date: Mon, 21 Apr 2025 18:51:20 +0900 Subject: [PATCH 69/83] =?UTF-8?q?refactor/#112:=20LoginService=20=EC=9D=98?= =?UTF-8?q?=EC=A1=B4=EC=84=B1=20=ED=9D=90=EB=A6=84=20=EA=B0=9C=EC=84=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 우선적으로 Service를 Presentation으로 이동 - Entity를 DomainInterface로 이동 --- .../Infrastructure.xcodeproj/project.pbxproj | 29 ------- .../Data/Data.xcodeproj/project.pbxproj | 25 ++++++ .../AuthResponse/AuthServiceResponse.swift | 15 ++++ .../Presentation.xcodeproj/project.pbxproj | 84 +++++++++++++++++++ .../Utills}/Service/AppleLoginService.swift | 3 + .../Utills}/Service/AuthServiceable.swift | 16 +--- .../Utills}/Service/KakaoLoginService.swift | 3 + 7 files changed, 132 insertions(+), 43 deletions(-) create mode 100644 Poppool/DomainLayer/Domain/DomainInterface/Entity/AuthResponse/AuthServiceResponse.swift rename Poppool/{CoreLayer/Infrastructure/Infrastructure => PresentationLayer/Presentation/Presentation/Utills}/Service/AppleLoginService.swift (98%) rename Poppool/{CoreLayer/Infrastructure/Infrastructure => PresentationLayer/Presentation/Presentation/Utills}/Service/AuthServiceable.swift (55%) rename Poppool/{CoreLayer/Infrastructure/Infrastructure => PresentationLayer/Presentation/Presentation/Utills}/Service/KakaoLoginService.swift (98%) diff --git a/Poppool/CoreLayer/Infrastructure/Infrastructure.xcodeproj/project.pbxproj b/Poppool/CoreLayer/Infrastructure/Infrastructure.xcodeproj/project.pbxproj index 789f6440..b3db38a2 100644 --- a/Poppool/CoreLayer/Infrastructure/Infrastructure.xcodeproj/project.pbxproj +++ b/Poppool/CoreLayer/Infrastructure/Infrastructure.xcodeproj/project.pbxproj @@ -7,12 +7,8 @@ objects = { /* Begin PBXBuildFile section */ - 05125B662DB56C21001342A2 /* KakaoSDKAuth in Embed Frameworks */ = {isa = PBXBuildFile; productRef = 05C1D8342DB53D3A00508FFD /* KakaoSDKAuth */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; - 05125B672DB56C21001342A2 /* KakaoSDKUser in Embed Frameworks */ = {isa = PBXBuildFile; productRef = 05C1D8362DB53D3A00508FFD /* KakaoSDKUser */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; 05125B702DB56C5E001342A2 /* RxCocoa-Dynamic in Frameworks */ = {isa = PBXBuildFile; productRef = 05125B6F2DB56C5E001342A2 /* RxCocoa-Dynamic */; }; 05125B732DB56C5E001342A2 /* RxSwift-Dynamic in Frameworks */ = {isa = PBXBuildFile; productRef = 05125B722DB56C5E001342A2 /* RxSwift-Dynamic */; }; - 05C1D8352DB53D3A00508FFD /* KakaoSDKAuth in Frameworks */ = {isa = PBXBuildFile; productRef = 05C1D8342DB53D3A00508FFD /* KakaoSDKAuth */; }; - 05C1D8372DB53D3A00508FFD /* KakaoSDKUser in Frameworks */ = {isa = PBXBuildFile; productRef = 05C1D8362DB53D3A00508FFD /* KakaoSDKUser */; }; /* End PBXBuildFile section */ /* Begin PBXCopyFilesBuildPhase section */ @@ -22,8 +18,6 @@ dstPath = ""; dstSubfolderSpec = 10; files = ( - 05125B672DB56C21001342A2 /* KakaoSDKUser in Embed Frameworks */, - 05125B662DB56C21001342A2 /* KakaoSDKAuth in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -48,9 +42,7 @@ buildActionMask = 2147483647; files = ( 05125B732DB56C5E001342A2 /* RxSwift-Dynamic in Frameworks */, - 05C1D8372DB53D3A00508FFD /* KakaoSDKUser in Frameworks */, 05125B702DB56C5E001342A2 /* RxCocoa-Dynamic in Frameworks */, - 05C1D8352DB53D3A00508FFD /* KakaoSDKAuth in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -113,8 +105,6 @@ ); name = Infrastructure; packageProductDependencies = ( - 05C1D8342DB53D3A00508FFD /* KakaoSDKAuth */, - 05C1D8362DB53D3A00508FFD /* KakaoSDKUser */, 05125B6F2DB56C5E001342A2 /* RxCocoa-Dynamic */, 05125B722DB56C5E001342A2 /* RxSwift-Dynamic */, ); @@ -148,7 +138,6 @@ minimizedProjectReferenceProxies = 1; packageReferences = ( 05C1D82E2DB53CE300508FFD /* XCRemoteSwiftPackageReference "RxSwift" */, - 05C1D8332DB53D3A00508FFD /* XCRemoteSwiftPackageReference "kakao-ios-sdk" */, ); preferredProjectObjectVersion = 77; productRefGroup = 058CC9192DB5383C0084221A /* Products */; @@ -412,14 +401,6 @@ minimumVersion = 6.9.0; }; }; - 05C1D8332DB53D3A00508FFD /* XCRemoteSwiftPackageReference "kakao-ios-sdk" */ = { - isa = XCRemoteSwiftPackageReference; - repositoryURL = "https://github.com/kakao/kakao-ios-sdk"; - requirement = { - kind = upToNextMajorVersion; - minimumVersion = 2.24.0; - }; - }; /* End XCRemoteSwiftPackageReference section */ /* Begin XCSwiftPackageProductDependency section */ @@ -433,16 +414,6 @@ package = 05C1D82E2DB53CE300508FFD /* XCRemoteSwiftPackageReference "RxSwift" */; productName = "RxSwift-Dynamic"; }; - 05C1D8342DB53D3A00508FFD /* KakaoSDKAuth */ = { - isa = XCSwiftPackageProductDependency; - package = 05C1D8332DB53D3A00508FFD /* XCRemoteSwiftPackageReference "kakao-ios-sdk" */; - productName = KakaoSDKAuth; - }; - 05C1D8362DB53D3A00508FFD /* KakaoSDKUser */ = { - isa = XCSwiftPackageProductDependency; - package = 05C1D8332DB53D3A00508FFD /* XCRemoteSwiftPackageReference "kakao-ios-sdk" */; - productName = KakaoSDKUser; - }; /* End XCSwiftPackageProductDependency section */ }; rootObject = 058CC90F2DB5383C0084221A /* Project object */; diff --git a/Poppool/DataLayer/Data/Data.xcodeproj/project.pbxproj b/Poppool/DataLayer/Data/Data.xcodeproj/project.pbxproj index 3a0327d9..2398ebd8 100644 --- a/Poppool/DataLayer/Data/Data.xcodeproj/project.pbxproj +++ b/Poppool/DataLayer/Data/Data.xcodeproj/project.pbxproj @@ -11,6 +11,7 @@ 05C1D6182DB53A5600508FFD /* DomainInterface.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 05C1D6152DB53A5600508FFD /* DomainInterface.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 05C1D6192DB53A5600508FFD /* Infrastructure.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 05C1D6162DB53A5600508FFD /* Infrastructure.framework */; }; 05C1D61A2DB53A5600508FFD /* Infrastructure.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 05C1D6162DB53A5600508FFD /* Infrastructure.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 05EC93C52DB62B0000771CB3 /* RxSwift-Dynamic in Frameworks */ = {isa = PBXBuildFile; productRef = 05EC93C42DB62B0000771CB3 /* RxSwift-Dynamic */; }; /* End PBXBuildFile section */ /* Begin PBXCopyFilesBuildPhase section */ @@ -134,6 +135,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 05EC93C52DB62B0000771CB3 /* RxSwift-Dynamic in Frameworks */, 05C1D6172DB53A5600508FFD /* DomainInterface.framework in Frameworks */, 05C1D6192DB53A5600508FFD /* Infrastructure.framework in Frameworks */, ); @@ -197,6 +199,7 @@ ); name = Data; packageProductDependencies = ( + 05EC93C42DB62B0000771CB3 /* RxSwift-Dynamic */, ); productName = Data; productReference = 058CC8DC2DB5376A0084221A /* Data.framework */; @@ -226,6 +229,9 @@ ); mainGroup = 058CC8D22DB5376A0084221A; minimizedProjectReferenceProxies = 1; + packageReferences = ( + 05EC93C32DB62B0000771CB3 /* XCRemoteSwiftPackageReference "RxSwift" */, + ); preferredProjectObjectVersion = 77; productRefGroup = 058CC8DD2DB5376A0084221A /* Products */; projectDirPath = ""; @@ -470,6 +476,25 @@ defaultConfigurationName = Release; }; /* End XCConfigurationList section */ + +/* Begin XCRemoteSwiftPackageReference section */ + 05EC93C32DB62B0000771CB3 /* XCRemoteSwiftPackageReference "RxSwift" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/ReactiveX/RxSwift"; + requirement = { + kind = upToNextMajorVersion; + minimumVersion = 6.9.0; + }; + }; +/* End XCRemoteSwiftPackageReference section */ + +/* Begin XCSwiftPackageProductDependency section */ + 05EC93C42DB62B0000771CB3 /* RxSwift-Dynamic */ = { + isa = XCSwiftPackageProductDependency; + package = 05EC93C32DB62B0000771CB3 /* XCRemoteSwiftPackageReference "RxSwift" */; + productName = "RxSwift-Dynamic"; + }; +/* End XCSwiftPackageProductDependency section */ }; rootObject = 058CC8D32DB5376A0084221A /* Project object */; } diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/AuthResponse/AuthServiceResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/AuthResponse/AuthServiceResponse.swift new file mode 100644 index 00000000..e6aa5fa0 --- /dev/null +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/AuthResponse/AuthServiceResponse.swift @@ -0,0 +1,15 @@ +import Foundation + +public struct AuthServiceResponse: Encodable { + public init(idToken: String? = nil, authorizationCode: String? = nil, kakaoUserId: Int64? = nil, kakaoAccessToken: String? = nil) { + self.idToken = idToken + self.authorizationCode = authorizationCode + self.kakaoUserId = kakaoUserId + self.kakaoAccessToken = kakaoAccessToken + } + + var idToken: String? + var authorizationCode: String? + var kakaoUserId: Int64? + var kakaoAccessToken: String? +} diff --git a/Poppool/PresentationLayer/Presentation/Presentation.xcodeproj/project.pbxproj b/Poppool/PresentationLayer/Presentation/Presentation.xcodeproj/project.pbxproj index 68a0a032..b457e926 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation.xcodeproj/project.pbxproj +++ b/Poppool/PresentationLayer/Presentation/Presentation.xcodeproj/project.pbxproj @@ -8,10 +8,16 @@ /* Begin PBXBuildFile section */ 05125B952DB62295001342A2 /* RxSwift-Dynamic in Frameworks */ = {isa = PBXBuildFile; productRef = 05125B942DB62295001342A2 /* RxSwift-Dynamic */; }; + 05125B982DB626E3001342A2 /* ReactorKit in Frameworks */ = {isa = PBXBuildFile; productRef = 05125B972DB626E3001342A2 /* ReactorKit */; }; + 05125B9B2DB626ED001342A2 /* SnapKit-Dynamic in Frameworks */ = {isa = PBXBuildFile; productRef = 05125B9A2DB626ED001342A2 /* SnapKit-Dynamic */; }; + 05125B9D2DB626FA001342A2 /* RxCocoa-Dynamic in Frameworks */ = {isa = PBXBuildFile; productRef = 05125B9C2DB626FA001342A2 /* RxCocoa-Dynamic */; }; + 05125BA12DB6275C001342A2 /* PanModal in Frameworks */ = {isa = PBXBuildFile; productRef = 05125BA02DB6275C001342A2 /* PanModal */; }; 05C1D62C2DB53A8200508FFD /* DomainInterface.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 05C1D62A2DB53A8200508FFD /* DomainInterface.framework */; }; 05C1D62D2DB53A8200508FFD /* DomainInterface.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 05C1D62A2DB53A8200508FFD /* DomainInterface.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 05C1D62E2DB53A8200508FFD /* Infrastructure.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 05C1D62B2DB53A8200508FFD /* Infrastructure.framework */; }; 05C1D62F2DB53A8200508FFD /* Infrastructure.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 05C1D62B2DB53A8200508FFD /* Infrastructure.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 05EC93CF2DB64C6F00771CB3 /* KakaoSDKAuth in Frameworks */ = {isa = PBXBuildFile; productRef = 05EC93CE2DB64C6F00771CB3 /* KakaoSDKAuth */; }; + 05EC93D12DB64C6F00771CB3 /* KakaoSDKUser in Frameworks */ = {isa = PBXBuildFile; productRef = 05EC93D02DB64C6F00771CB3 /* KakaoSDKUser */; }; /* End PBXBuildFile section */ /* Begin PBXCopyFilesBuildPhase section */ @@ -48,9 +54,15 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 05125B9B2DB626ED001342A2 /* SnapKit-Dynamic in Frameworks */, 05C1D62C2DB53A8200508FFD /* DomainInterface.framework in Frameworks */, 05125B952DB62295001342A2 /* RxSwift-Dynamic in Frameworks */, + 05125B982DB626E3001342A2 /* ReactorKit in Frameworks */, + 05125B9D2DB626FA001342A2 /* RxCocoa-Dynamic in Frameworks */, 05C1D62E2DB53A8200508FFD /* Infrastructure.framework in Frameworks */, + 05125BA12DB6275C001342A2 /* PanModal in Frameworks */, + 05EC93CF2DB64C6F00771CB3 /* KakaoSDKAuth in Frameworks */, + 05EC93D12DB64C6F00771CB3 /* KakaoSDKUser in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -116,6 +128,12 @@ name = Presentation; packageProductDependencies = ( 05125B942DB62295001342A2 /* RxSwift-Dynamic */, + 05125B972DB626E3001342A2 /* ReactorKit */, + 05125B9A2DB626ED001342A2 /* SnapKit-Dynamic */, + 05125B9C2DB626FA001342A2 /* RxCocoa-Dynamic */, + 05125BA02DB6275C001342A2 /* PanModal */, + 05EC93CE2DB64C6F00771CB3 /* KakaoSDKAuth */, + 05EC93D02DB64C6F00771CB3 /* KakaoSDKUser */, ); productName = Presentation; productReference = 058CC9042DB537960084221A /* Presentation.framework */; @@ -147,6 +165,10 @@ minimizedProjectReferenceProxies = 1; packageReferences = ( 05125B932DB62295001342A2 /* XCRemoteSwiftPackageReference "RxSwift" */, + 05125B962DB626E3001342A2 /* XCRemoteSwiftPackageReference "ReactorKit" */, + 05125B992DB626ED001342A2 /* XCRemoteSwiftPackageReference "SnapKit" */, + 05125B9F2DB6275C001342A2 /* XCRemoteSwiftPackageReference "PanModal" */, + 05EC93CD2DB64C6F00771CB3 /* XCRemoteSwiftPackageReference "kakao-ios-sdk" */, ); preferredProjectObjectVersion = 77; productRefGroup = 058CC9052DB537960084221A /* Products */; @@ -402,6 +424,38 @@ minimumVersion = 6.9.0; }; }; + 05125B962DB626E3001342A2 /* XCRemoteSwiftPackageReference "ReactorKit" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/ReactorKit/ReactorKit"; + requirement = { + kind = upToNextMajorVersion; + minimumVersion = 3.2.0; + }; + }; + 05125B992DB626ED001342A2 /* XCRemoteSwiftPackageReference "SnapKit" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/SnapKit/SnapKit"; + requirement = { + kind = upToNextMajorVersion; + minimumVersion = 5.7.1; + }; + }; + 05125B9F2DB6275C001342A2 /* XCRemoteSwiftPackageReference "PanModal" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/slackhq/PanModal"; + requirement = { + kind = upToNextMajorVersion; + minimumVersion = 1.2.7; + }; + }; + 05EC93CD2DB64C6F00771CB3 /* XCRemoteSwiftPackageReference "kakao-ios-sdk" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/kakao/kakao-ios-sdk"; + requirement = { + kind = upToNextMajorVersion; + minimumVersion = 2.24.0; + }; + }; /* End XCRemoteSwiftPackageReference section */ /* Begin XCSwiftPackageProductDependency section */ @@ -410,6 +464,36 @@ package = 05125B932DB62295001342A2 /* XCRemoteSwiftPackageReference "RxSwift" */; productName = "RxSwift-Dynamic"; }; + 05125B972DB626E3001342A2 /* ReactorKit */ = { + isa = XCSwiftPackageProductDependency; + package = 05125B962DB626E3001342A2 /* XCRemoteSwiftPackageReference "ReactorKit" */; + productName = ReactorKit; + }; + 05125B9A2DB626ED001342A2 /* SnapKit-Dynamic */ = { + isa = XCSwiftPackageProductDependency; + package = 05125B992DB626ED001342A2 /* XCRemoteSwiftPackageReference "SnapKit" */; + productName = "SnapKit-Dynamic"; + }; + 05125B9C2DB626FA001342A2 /* RxCocoa-Dynamic */ = { + isa = XCSwiftPackageProductDependency; + package = 05125B932DB62295001342A2 /* XCRemoteSwiftPackageReference "RxSwift" */; + productName = "RxCocoa-Dynamic"; + }; + 05125BA02DB6275C001342A2 /* PanModal */ = { + isa = XCSwiftPackageProductDependency; + package = 05125B9F2DB6275C001342A2 /* XCRemoteSwiftPackageReference "PanModal" */; + productName = PanModal; + }; + 05EC93CE2DB64C6F00771CB3 /* KakaoSDKAuth */ = { + isa = XCSwiftPackageProductDependency; + package = 05EC93CD2DB64C6F00771CB3 /* XCRemoteSwiftPackageReference "kakao-ios-sdk" */; + productName = KakaoSDKAuth; + }; + 05EC93D02DB64C6F00771CB3 /* KakaoSDKUser */ = { + isa = XCSwiftPackageProductDependency; + package = 05EC93CD2DB64C6F00771CB3 /* XCRemoteSwiftPackageReference "kakao-ios-sdk" */; + productName = KakaoSDKUser; + }; /* End XCSwiftPackageProductDependency section */ }; rootObject = 058CC8FB2DB537960084221A /* Project object */; diff --git a/Poppool/CoreLayer/Infrastructure/Infrastructure/Service/AppleLoginService.swift b/Poppool/PresentationLayer/Presentation/Presentation/Utills/Service/AppleLoginService.swift similarity index 98% rename from Poppool/CoreLayer/Infrastructure/Infrastructure/Service/AppleLoginService.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Utills/Service/AppleLoginService.swift index 280851be..91a42cc0 100644 --- a/Poppool/CoreLayer/Infrastructure/Infrastructure/Service/AppleLoginService.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Utills/Service/AppleLoginService.swift @@ -1,3 +1,6 @@ +import Infrastructure +import DomainInterface + import AuthenticationServices import RxSwift diff --git a/Poppool/CoreLayer/Infrastructure/Infrastructure/Service/AuthServiceable.swift b/Poppool/PresentationLayer/Presentation/Presentation/Utills/Service/AuthServiceable.swift similarity index 55% rename from Poppool/CoreLayer/Infrastructure/Infrastructure/Service/AuthServiceable.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Utills/Service/AuthServiceable.swift index cd20f3ee..ca1cc728 100644 --- a/Poppool/CoreLayer/Infrastructure/Infrastructure/Service/AuthServiceable.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Utills/Service/AuthServiceable.swift @@ -1,11 +1,6 @@ -// -// AuthService.swift -// MomsVillage -// -// Created by SeoJunYoung on 8/22/24. -// +import Foundation -import UIKit +import DomainInterface import RxSwift @@ -15,13 +10,6 @@ protocol AuthServiceable: AnyObject { func fetchUserCredential() -> Observable } -struct AuthServiceResponse: Encodable { - var idToken: String? - var authorizationCode: String? - var kakaoUserId: Int64? - var kakaoAccessToken: String? -} - enum AuthError: Error { case notInstalled case unknownError(description: String?) diff --git a/Poppool/CoreLayer/Infrastructure/Infrastructure/Service/KakaoLoginService.swift b/Poppool/PresentationLayer/Presentation/Presentation/Utills/Service/KakaoLoginService.swift similarity index 98% rename from Poppool/CoreLayer/Infrastructure/Infrastructure/Service/KakaoLoginService.swift rename to Poppool/PresentationLayer/Presentation/Presentation/Utills/Service/KakaoLoginService.swift index 176395e7..a7efe24e 100644 --- a/Poppool/CoreLayer/Infrastructure/Infrastructure/Service/KakaoLoginService.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Utills/Service/KakaoLoginService.swift @@ -1,3 +1,6 @@ +import Infrastructure +import DomainInterface + import KakaoSDKAuth import KakaoSDKUser import RxSwift From 9df71dd7218af7fd06c72a757c7361a1eaa990bf Mon Sep 17 00:00:00 2001 From: 0Hooni Date: Mon, 21 Apr 2025 18:56:13 +0900 Subject: [PATCH 70/83] =?UTF-8?q?refactor/#112:=20import,=20public=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Service/UserDefaultService.swift | 2 +- .../GetPopUpDirectionResponse.swift | 8 ++++---- .../GetSearchPopUpListResponse.swift | 4 ++-- .../UserResponse/GetNoticeListResponse.swift | 8 ++++---- ...etOtherUserCommentedPopUpListResponse.swift | 18 +++++++++--------- .../Scene/Admin/AdminReactor.swift | 3 +++ .../OtherUserCommentReactor.swift | 10 +++------- .../Scene/Login/Sub/SubLoginReactor.swift | 8 ++------ .../FindMap/MapGuideView/MapGuideReactor.swift | 6 +++++- .../Notice/List/MyPageNoticeReactor.swift | 9 ++------- .../AfterSearch/SearchResultReactor.swift | 10 +++------- .../Utills/Common/ClusteringModels.swift | 2 ++ .../Sectionable/SectionSupplementaryItem.swift | 9 ++------- 13 files changed, 42 insertions(+), 55 deletions(-) diff --git a/Poppool/CoreLayer/Infrastructure/Infrastructure/Service/UserDefaultService.swift b/Poppool/CoreLayer/Infrastructure/Infrastructure/Service/UserDefaultService.swift index a938f31c..e91bc37b 100644 --- a/Poppool/CoreLayer/Infrastructure/Infrastructure/Service/UserDefaultService.swift +++ b/Poppool/CoreLayer/Infrastructure/Infrastructure/Service/UserDefaultService.swift @@ -38,7 +38,7 @@ public final class UserDefaultService { /// - key: 찾는 데이터의 키 값 i.e) 유저 id 등 /// - from: 로컬 데이터베이스 타입 - DatabaseType /// - Returns: 찾은 데이터 - String 타입 - func fetch(key: String) -> String? { + public func fetch(key: String) -> String? { if let token = UserDefaults.standard.string(forKey: key) { return token } diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetPopUpDirectionResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetPopUpDirectionResponse.swift index 6686d6d3..8aa4daff 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetPopUpDirectionResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetPopUpDirectionResponse.swift @@ -17,12 +17,12 @@ public struct GetPopUpDirectionResponse { let id: Int64 let categoryName: String - let name: String - let address: String + public let name: String + public let address: String let startDate: String let endDate: String - let latitude: Double - let longitude: Double + public let latitude: Double + public let longitude: Double let markerId: Int64 let markerTitle: String let markerSnippet: String diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetSearchPopUpListResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetSearchPopUpListResponse.swift index bc8908a3..e628592f 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetSearchPopUpListResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetSearchPopUpListResponse.swift @@ -6,6 +6,6 @@ public struct GetSearchPopUpListResponse { self.loginYn = loginYn } - var popUpStoreList: [PopUpStoreResponse] - var loginYn: Bool + public var popUpStoreList: [PopUpStoreResponse] + public var loginYn: Bool } diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetNoticeListResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetNoticeListResponse.swift index 43ed66a1..121592eb 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetNoticeListResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetNoticeListResponse.swift @@ -5,7 +5,7 @@ public struct GetNoticeListResponse { self.noticeInfoList = noticeInfoList } - var noticeInfoList: [GetNoticeListDataResponse] + public var noticeInfoList: [GetNoticeListDataResponse] } public struct GetNoticeListDataResponse { @@ -15,7 +15,7 @@ public struct GetNoticeListDataResponse { self.createdDateTime = createdDateTime } - var id: Int64 - var title: String? - var createdDateTime: String? + public var id: Int64 + public var title: String? + public var createdDateTime: String? } diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetOtherUserCommentedPopUpListResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetOtherUserCommentedPopUpListResponse.swift index 5545ee3d..ab1710d1 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetOtherUserCommentedPopUpListResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetOtherUserCommentedPopUpListResponse.swift @@ -5,7 +5,7 @@ public struct GetOtherUserCommentedPopUpListResponse { self.popUpInfoList = popUpInfoList } - var popUpInfoList: [GetOtherUserCommentedPopUpResponse] + public var popUpInfoList: [GetOtherUserCommentedPopUpResponse] } public struct GetOtherUserCommentedPopUpResponse { @@ -20,12 +20,12 @@ public struct GetOtherUserCommentedPopUpResponse { self.closedYn = closedYn } - var popUpStoreId: Int64 - var popUpStoreName: String? - var desc: String? - var mainImageUrl: String? - var startDate: String? - var endDate: String? - var address: String? - var closedYn: Bool + public var popUpStoreId: Int64 + public var popUpStoreName: String? + public var desc: String? + public var mainImageUrl: String? + public var startDate: String? + public var endDate: String? + public var address: String? + public var closedYn: Bool } diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminReactor.swift index 4e9d8bc9..33da143f 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminReactor.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminReactor.swift @@ -1,3 +1,6 @@ +import DomainInterface +import Infrastructure + import ReactorKit import RxCocoa import RxSwift diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/OtherUserComment/OtherUserCommentReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/OtherUserComment/OtherUserCommentReactor.swift index ed2ebb51..800567f0 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/OtherUserComment/OtherUserCommentReactor.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/OtherUserComment/OtherUserCommentReactor.swift @@ -1,12 +1,8 @@ -// -// OtherUserCommentReactor.swift -// Poppool -// -// Created by SeoJunYoung on 12/27/24. -// - import UIKit +import DomainInterface +import Infrastructure + import ReactorKit import RxCocoa import RxSwift diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Login/Sub/SubLoginReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Login/Sub/SubLoginReactor.swift index 71711306..d257b177 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Login/Sub/SubLoginReactor.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Login/Sub/SubLoginReactor.swift @@ -1,9 +1,5 @@ -// -// SubLoginReactor.swift -// Poppool -// -// Created by SeoJunYoung on 12/28/24. -// +import Infrastructure +import DomainInterface import ReactorKit import RxCocoa diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/FindMap/MapGuideView/MapGuideReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/FindMap/MapGuideView/MapGuideReactor.swift index 085787de..a51aa8ab 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/FindMap/MapGuideView/MapGuideReactor.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/FindMap/MapGuideView/MapGuideReactor.swift @@ -1,7 +1,11 @@ import CoreLocation +import UIKit + +import DomainInterface +import Infrastructure + import ReactorKit import RxSwift -import UIKit final class MapGuideReactor: Reactor { // MARK: - Actions diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Notice/List/MyPageNoticeReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Notice/List/MyPageNoticeReactor.swift index c5620e42..8af96c6a 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Notice/List/MyPageNoticeReactor.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Notice/List/MyPageNoticeReactor.swift @@ -1,12 +1,7 @@ -// -// MyPageNoticeReactor.swift -// Poppool -// -// Created by SeoJunYoung on 1/13/25. -// - import UIKit +import DomainInterface + import ReactorKit import RxCocoa import RxSwift diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Search/AfterSearch/SearchResultReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Search/AfterSearch/SearchResultReactor.swift index 0122bc4d..6c117497 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Search/AfterSearch/SearchResultReactor.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Search/AfterSearch/SearchResultReactor.swift @@ -1,12 +1,8 @@ -// -// SearchResultReactor.swift -// Poppool -// -// Created by SeoJunYoung on 12/7/24. -// - import UIKit +import DomainInterface +import Infrastructure + import ReactorKit import RxCocoa import RxSwift diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Utills/Common/ClusteringModels.swift b/Poppool/PresentationLayer/Presentation/Presentation/Utills/Common/ClusteringModels.swift index b0f80b7d..84da1db2 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Utills/Common/ClusteringModels.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Utills/Common/ClusteringModels.swift @@ -1,3 +1,5 @@ +import DomainInterface + import NMapsMap enum MapZoomLevel { diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Utills/Interfaces/Sectionable/SectionSupplementaryItem.swift b/Poppool/PresentationLayer/Presentation/Presentation/Utills/Interfaces/Sectionable/SectionSupplementaryItem.swift index 2837db0c..c37a5e4b 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Utills/Interfaces/Sectionable/SectionSupplementaryItem.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Utills/Interfaces/Sectionable/SectionSupplementaryItem.swift @@ -1,12 +1,7 @@ -// -// SectionSupplementaryItem.swift -// MomsVillage -// -// Created by SeoJunYoung on 8/29/24. -// - import UIKit +import Infrastructure + /// `SectionSupplementaryItem` 구조체는 섹션에 추가될 Supplementary View에 대한 정보를 정의합니다. /// 제네릭 타입 `View`는 `UICollectionReusableView`와 `InOutputable` 프로토콜을 준수해야 합니다. struct SectionSupplementaryItem: SectionSupplementaryItemable { From 5794c3f83eafd14c52a6c3fb91b7093b571141f2 Mon Sep 17 00:00:00 2001 From: 0Hooni Date: Mon, 21 Apr 2025 18:56:13 +0900 Subject: [PATCH 71/83] =?UTF-8?q?refactor/#112:=20import,=20public=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Service/UserDefaultService.swift | 2 +- .../API/PopUpAPI/PopUpAPIEndPoint.swift | 9 ++---- .../Network/API/UserAPI/UserAPIEndPoint.swift | 9 ++---- .../GetPopUpDirectionResponse.swift | 8 ++--- .../GetSearchPopUpListResponse.swift | 4 +-- .../UserResponse/GetNoticeListResponse.swift | 8 ++--- ...tOtherUserCommentedPopUpListResponse.swift | 18 +++++------ .../Presentation.xcodeproj/project.pbxproj | 32 +++++++++---------- .../Scene/Admin/AdminReactor.swift | 3 ++ .../OtherUserCommentReactor.swift | 10 ++---- .../Scene/Login/Sub/SubLoginReactor.swift | 8 ++--- .../MapGuideView/MapGuideReactor.swift | 6 +++- .../Notice/List/MyPageNoticeReactor.swift | 9 ++---- .../AfterSearch/SearchResultReactor.swift | 10 ++---- .../Utills/Common/ClusteringModels.swift | 2 ++ .../SectionSupplementaryItem.swift | 9 ++---- 16 files changed, 62 insertions(+), 85 deletions(-) diff --git a/Poppool/CoreLayer/Infrastructure/Infrastructure/Service/UserDefaultService.swift b/Poppool/CoreLayer/Infrastructure/Infrastructure/Service/UserDefaultService.swift index a938f31c..e91bc37b 100644 --- a/Poppool/CoreLayer/Infrastructure/Infrastructure/Service/UserDefaultService.swift +++ b/Poppool/CoreLayer/Infrastructure/Infrastructure/Service/UserDefaultService.swift @@ -38,7 +38,7 @@ public final class UserDefaultService { /// - key: 찾는 데이터의 키 값 i.e) 유저 id 등 /// - from: 로컬 데이터베이스 타입 - DatabaseType /// - Returns: 찾은 데이터 - String 타입 - func fetch(key: String) -> String? { + public func fetch(key: String) -> String? { if let token = UserDefaults.standard.string(forKey: key) { return token } diff --git a/Poppool/DataLayer/Data/Data/Network/API/PopUpAPI/PopUpAPIEndPoint.swift b/Poppool/DataLayer/Data/Data/Network/API/PopUpAPI/PopUpAPIEndPoint.swift index 6fc60f13..70a968f6 100644 --- a/Poppool/DataLayer/Data/Data/Network/API/PopUpAPI/PopUpAPIEndPoint.swift +++ b/Poppool/DataLayer/Data/Data/Network/API/PopUpAPI/PopUpAPIEndPoint.swift @@ -1,12 +1,7 @@ -// -// PopUpAPIEndPoint.swift -// Poppool -// -// Created by SeoJunYoung on 12/6/24. -// - import Foundation +import Infrastructure + import RxSwift struct PopUpAPIEndPoint { diff --git a/Poppool/DataLayer/Data/Data/Network/API/UserAPI/UserAPIEndPoint.swift b/Poppool/DataLayer/Data/Data/Network/API/UserAPI/UserAPIEndPoint.swift index eca9ac14..d063d383 100644 --- a/Poppool/DataLayer/Data/Data/Network/API/UserAPI/UserAPIEndPoint.swift +++ b/Poppool/DataLayer/Data/Data/Network/API/UserAPI/UserAPIEndPoint.swift @@ -1,12 +1,7 @@ -// -// UserAPIEndPoint.swift -// Poppool -// -// Created by SeoJunYoung on 12/3/24. -// - import Foundation +import Infrastructure + import RxSwift struct UserAPIEndPoint { diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetPopUpDirectionResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetPopUpDirectionResponse.swift index 6686d6d3..8aa4daff 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetPopUpDirectionResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetPopUpDirectionResponse.swift @@ -17,12 +17,12 @@ public struct GetPopUpDirectionResponse { let id: Int64 let categoryName: String - let name: String - let address: String + public let name: String + public let address: String let startDate: String let endDate: String - let latitude: Double - let longitude: Double + public let latitude: Double + public let longitude: Double let markerId: Int64 let markerTitle: String let markerSnippet: String diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetSearchPopUpListResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetSearchPopUpListResponse.swift index bc8908a3..e628592f 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetSearchPopUpListResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetSearchPopUpListResponse.swift @@ -6,6 +6,6 @@ public struct GetSearchPopUpListResponse { self.loginYn = loginYn } - var popUpStoreList: [PopUpStoreResponse] - var loginYn: Bool + public var popUpStoreList: [PopUpStoreResponse] + public var loginYn: Bool } diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetNoticeListResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetNoticeListResponse.swift index 43ed66a1..121592eb 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetNoticeListResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetNoticeListResponse.swift @@ -5,7 +5,7 @@ public struct GetNoticeListResponse { self.noticeInfoList = noticeInfoList } - var noticeInfoList: [GetNoticeListDataResponse] + public var noticeInfoList: [GetNoticeListDataResponse] } public struct GetNoticeListDataResponse { @@ -15,7 +15,7 @@ public struct GetNoticeListDataResponse { self.createdDateTime = createdDateTime } - var id: Int64 - var title: String? - var createdDateTime: String? + public var id: Int64 + public var title: String? + public var createdDateTime: String? } diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetOtherUserCommentedPopUpListResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetOtherUserCommentedPopUpListResponse.swift index 5545ee3d..ab1710d1 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetOtherUserCommentedPopUpListResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetOtherUserCommentedPopUpListResponse.swift @@ -5,7 +5,7 @@ public struct GetOtherUserCommentedPopUpListResponse { self.popUpInfoList = popUpInfoList } - var popUpInfoList: [GetOtherUserCommentedPopUpResponse] + public var popUpInfoList: [GetOtherUserCommentedPopUpResponse] } public struct GetOtherUserCommentedPopUpResponse { @@ -20,12 +20,12 @@ public struct GetOtherUserCommentedPopUpResponse { self.closedYn = closedYn } - var popUpStoreId: Int64 - var popUpStoreName: String? - var desc: String? - var mainImageUrl: String? - var startDate: String? - var endDate: String? - var address: String? - var closedYn: Bool + public var popUpStoreId: Int64 + public var popUpStoreName: String? + public var desc: String? + public var mainImageUrl: String? + public var startDate: String? + public var endDate: String? + public var address: String? + public var closedYn: Bool } diff --git a/Poppool/PresentationLayer/Presentation/Presentation.xcodeproj/project.pbxproj b/Poppool/PresentationLayer/Presentation/Presentation.xcodeproj/project.pbxproj index b457e926..3c4595ff 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation.xcodeproj/project.pbxproj +++ b/Poppool/PresentationLayer/Presentation/Presentation.xcodeproj/project.pbxproj @@ -7,10 +7,8 @@ objects = { /* Begin PBXBuildFile section */ - 05125B952DB62295001342A2 /* RxSwift-Dynamic in Frameworks */ = {isa = PBXBuildFile; productRef = 05125B942DB62295001342A2 /* RxSwift-Dynamic */; }; 05125B982DB626E3001342A2 /* ReactorKit in Frameworks */ = {isa = PBXBuildFile; productRef = 05125B972DB626E3001342A2 /* ReactorKit */; }; 05125B9B2DB626ED001342A2 /* SnapKit-Dynamic in Frameworks */ = {isa = PBXBuildFile; productRef = 05125B9A2DB626ED001342A2 /* SnapKit-Dynamic */; }; - 05125B9D2DB626FA001342A2 /* RxCocoa-Dynamic in Frameworks */ = {isa = PBXBuildFile; productRef = 05125B9C2DB626FA001342A2 /* RxCocoa-Dynamic */; }; 05125BA12DB6275C001342A2 /* PanModal in Frameworks */ = {isa = PBXBuildFile; productRef = 05125BA02DB6275C001342A2 /* PanModal */; }; 05C1D62C2DB53A8200508FFD /* DomainInterface.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 05C1D62A2DB53A8200508FFD /* DomainInterface.framework */; }; 05C1D62D2DB53A8200508FFD /* DomainInterface.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 05C1D62A2DB53A8200508FFD /* DomainInterface.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; @@ -18,6 +16,8 @@ 05C1D62F2DB53A8200508FFD /* Infrastructure.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 05C1D62B2DB53A8200508FFD /* Infrastructure.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 05EC93CF2DB64C6F00771CB3 /* KakaoSDKAuth in Frameworks */ = {isa = PBXBuildFile; productRef = 05EC93CE2DB64C6F00771CB3 /* KakaoSDKAuth */; }; 05EC93D12DB64C6F00771CB3 /* KakaoSDKUser in Frameworks */ = {isa = PBXBuildFile; productRef = 05EC93D02DB64C6F00771CB3 /* KakaoSDKUser */; }; + 05EC93D32DB6536200771CB3 /* RxCocoa in Frameworks */ = {isa = PBXBuildFile; productRef = 05EC93D22DB6536200771CB3 /* RxCocoa */; }; + 05EC93D52DB6536200771CB3 /* RxSwift in Frameworks */ = {isa = PBXBuildFile; productRef = 05EC93D42DB6536200771CB3 /* RxSwift */; }; /* End PBXBuildFile section */ /* Begin PBXCopyFilesBuildPhase section */ @@ -54,14 +54,14 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 05EC93D52DB6536200771CB3 /* RxSwift in Frameworks */, 05125B9B2DB626ED001342A2 /* SnapKit-Dynamic in Frameworks */, 05C1D62C2DB53A8200508FFD /* DomainInterface.framework in Frameworks */, - 05125B952DB62295001342A2 /* RxSwift-Dynamic in Frameworks */, 05125B982DB626E3001342A2 /* ReactorKit in Frameworks */, - 05125B9D2DB626FA001342A2 /* RxCocoa-Dynamic in Frameworks */, 05C1D62E2DB53A8200508FFD /* Infrastructure.framework in Frameworks */, 05125BA12DB6275C001342A2 /* PanModal in Frameworks */, 05EC93CF2DB64C6F00771CB3 /* KakaoSDKAuth in Frameworks */, + 05EC93D32DB6536200771CB3 /* RxCocoa in Frameworks */, 05EC93D12DB64C6F00771CB3 /* KakaoSDKUser in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; @@ -127,13 +127,13 @@ ); name = Presentation; packageProductDependencies = ( - 05125B942DB62295001342A2 /* RxSwift-Dynamic */, 05125B972DB626E3001342A2 /* ReactorKit */, 05125B9A2DB626ED001342A2 /* SnapKit-Dynamic */, - 05125B9C2DB626FA001342A2 /* RxCocoa-Dynamic */, 05125BA02DB6275C001342A2 /* PanModal */, 05EC93CE2DB64C6F00771CB3 /* KakaoSDKAuth */, 05EC93D02DB64C6F00771CB3 /* KakaoSDKUser */, + 05EC93D22DB6536200771CB3 /* RxCocoa */, + 05EC93D42DB6536200771CB3 /* RxSwift */, ); productName = Presentation; productReference = 058CC9042DB537960084221A /* Presentation.framework */; @@ -459,11 +459,6 @@ /* End XCRemoteSwiftPackageReference section */ /* Begin XCSwiftPackageProductDependency section */ - 05125B942DB62295001342A2 /* RxSwift-Dynamic */ = { - isa = XCSwiftPackageProductDependency; - package = 05125B932DB62295001342A2 /* XCRemoteSwiftPackageReference "RxSwift" */; - productName = "RxSwift-Dynamic"; - }; 05125B972DB626E3001342A2 /* ReactorKit */ = { isa = XCSwiftPackageProductDependency; package = 05125B962DB626E3001342A2 /* XCRemoteSwiftPackageReference "ReactorKit" */; @@ -474,11 +469,6 @@ package = 05125B992DB626ED001342A2 /* XCRemoteSwiftPackageReference "SnapKit" */; productName = "SnapKit-Dynamic"; }; - 05125B9C2DB626FA001342A2 /* RxCocoa-Dynamic */ = { - isa = XCSwiftPackageProductDependency; - package = 05125B932DB62295001342A2 /* XCRemoteSwiftPackageReference "RxSwift" */; - productName = "RxCocoa-Dynamic"; - }; 05125BA02DB6275C001342A2 /* PanModal */ = { isa = XCSwiftPackageProductDependency; package = 05125B9F2DB6275C001342A2 /* XCRemoteSwiftPackageReference "PanModal" */; @@ -494,6 +484,16 @@ package = 05EC93CD2DB64C6F00771CB3 /* XCRemoteSwiftPackageReference "kakao-ios-sdk" */; productName = KakaoSDKUser; }; + 05EC93D22DB6536200771CB3 /* RxCocoa */ = { + isa = XCSwiftPackageProductDependency; + package = 05125B932DB62295001342A2 /* XCRemoteSwiftPackageReference "RxSwift" */; + productName = RxCocoa; + }; + 05EC93D42DB6536200771CB3 /* RxSwift */ = { + isa = XCSwiftPackageProductDependency; + package = 05125B932DB62295001342A2 /* XCRemoteSwiftPackageReference "RxSwift" */; + productName = RxSwift; + }; /* End XCSwiftPackageProductDependency section */ }; rootObject = 058CC8FB2DB537960084221A /* Project object */; diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminReactor.swift index 4e9d8bc9..33da143f 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminReactor.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminReactor.swift @@ -1,3 +1,6 @@ +import DomainInterface +import Infrastructure + import ReactorKit import RxCocoa import RxSwift diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/OtherUserComment/OtherUserCommentReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/OtherUserComment/OtherUserCommentReactor.swift index ed2ebb51..800567f0 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/OtherUserComment/OtherUserCommentReactor.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/OtherUserComment/OtherUserCommentReactor.swift @@ -1,12 +1,8 @@ -// -// OtherUserCommentReactor.swift -// Poppool -// -// Created by SeoJunYoung on 12/27/24. -// - import UIKit +import DomainInterface +import Infrastructure + import ReactorKit import RxCocoa import RxSwift diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Login/Sub/SubLoginReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Login/Sub/SubLoginReactor.swift index 71711306..d257b177 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Login/Sub/SubLoginReactor.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Login/Sub/SubLoginReactor.swift @@ -1,9 +1,5 @@ -// -// SubLoginReactor.swift -// Poppool -// -// Created by SeoJunYoung on 12/28/24. -// +import Infrastructure +import DomainInterface import ReactorKit import RxCocoa diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/FindMap/MapGuideView/MapGuideReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/FindMap/MapGuideView/MapGuideReactor.swift index 085787de..a51aa8ab 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/FindMap/MapGuideView/MapGuideReactor.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/FindMap/MapGuideView/MapGuideReactor.swift @@ -1,7 +1,11 @@ import CoreLocation +import UIKit + +import DomainInterface +import Infrastructure + import ReactorKit import RxSwift -import UIKit final class MapGuideReactor: Reactor { // MARK: - Actions diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Notice/List/MyPageNoticeReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Notice/List/MyPageNoticeReactor.swift index c5620e42..8af96c6a 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Notice/List/MyPageNoticeReactor.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Notice/List/MyPageNoticeReactor.swift @@ -1,12 +1,7 @@ -// -// MyPageNoticeReactor.swift -// Poppool -// -// Created by SeoJunYoung on 1/13/25. -// - import UIKit +import DomainInterface + import ReactorKit import RxCocoa import RxSwift diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Search/AfterSearch/SearchResultReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Search/AfterSearch/SearchResultReactor.swift index 0122bc4d..6c117497 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Search/AfterSearch/SearchResultReactor.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Search/AfterSearch/SearchResultReactor.swift @@ -1,12 +1,8 @@ -// -// SearchResultReactor.swift -// Poppool -// -// Created by SeoJunYoung on 12/7/24. -// - import UIKit +import DomainInterface +import Infrastructure + import ReactorKit import RxCocoa import RxSwift diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Utills/Common/ClusteringModels.swift b/Poppool/PresentationLayer/Presentation/Presentation/Utills/Common/ClusteringModels.swift index b0f80b7d..84da1db2 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Utills/Common/ClusteringModels.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Utills/Common/ClusteringModels.swift @@ -1,3 +1,5 @@ +import DomainInterface + import NMapsMap enum MapZoomLevel { diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Utills/Interfaces/Sectionable/SectionSupplementaryItem.swift b/Poppool/PresentationLayer/Presentation/Presentation/Utills/Interfaces/Sectionable/SectionSupplementaryItem.swift index 2837db0c..c37a5e4b 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Utills/Interfaces/Sectionable/SectionSupplementaryItem.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Utills/Interfaces/Sectionable/SectionSupplementaryItem.swift @@ -1,12 +1,7 @@ -// -// SectionSupplementaryItem.swift -// MomsVillage -// -// Created by SeoJunYoung on 8/29/24. -// - import UIKit +import Infrastructure + /// `SectionSupplementaryItem` 구조체는 섹션에 추가될 Supplementary View에 대한 정보를 정의합니다. /// 제네릭 타입 `View`는 `UICollectionReusableView`와 `InOutputable` 프로토콜을 준수해야 합니다. struct SectionSupplementaryItem: SectionSupplementaryItemable { From 89b938f05fd2cc21a411cc9aebd52bac3edbf4db Mon Sep 17 00:00:00 2001 From: 0Hooni Date: Mon, 21 Apr 2025 19:25:07 +0900 Subject: [PATCH 72/83] =?UTF-8?q?refactor/#112:=20PreSignedUseCase=20?= =?UTF-8?q?=EC=83=9D=EC=84=B1=EC=9E=90=20=EC=A3=BC=EC=9E=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../OtherUserComment/OtherUserCommentReactor.swift | 3 ++- .../Scene/Home/List/HomeListReactor.swift | 3 ++- .../Search/AfterSearch/SearchResultReactor.swift | 3 ++- .../Scene/Search/BeforeSearch/SearchReactor.swift | 13 +++++-------- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/OtherUserComment/OtherUserCommentReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/OtherUserComment/OtherUserCommentReactor.swift index 800567f0..8d8506db 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/OtherUserComment/OtherUserCommentReactor.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/OtherUserComment/OtherUserCommentReactor.swift @@ -107,7 +107,8 @@ final class OtherUserCommentReactor: Reactor { popUpID: id, userAPIUseCase: userAPIUseCase, popUpAPIUseCase: DIContainer.resolve(PopUpAPIUseCase.self), - commentAPIUseCase: DIContainer.resolve(CommentAPIUseCase.self) + commentAPIUseCase: DIContainer.resolve(CommentAPIUseCase.self), + preSignedUseCase: DIContainer.resolve(PreSignedUseCase.self) ) controller.navigationController?.pushViewController(nextController, animated: true) } diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Home/List/HomeListReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Home/List/HomeListReactor.swift index 6e0e002e..f958730d 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Home/List/HomeListReactor.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Home/List/HomeListReactor.swift @@ -150,7 +150,8 @@ final class HomeListReactor: Reactor { popUpID: cardSections.inputDataList[row].id, userAPIUseCase: userAPIUseCase, popUpAPIUseCase: DIContainer.resolve(PopUpAPIUseCase.self), - commentAPIUseCase: DIContainer.resolve(CommentAPIUseCase.self) + commentAPIUseCase: DIContainer.resolve(CommentAPIUseCase.self), + preSignedUseCase: DIContainer.resolve(PreSignedUseCase.self) ) controller.navigationController?.pushViewController(nextController, animated: true) } diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Search/AfterSearch/SearchResultReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Search/AfterSearch/SearchResultReactor.swift index 6c117497..cb8c25b1 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Search/AfterSearch/SearchResultReactor.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Search/AfterSearch/SearchResultReactor.swift @@ -128,7 +128,8 @@ final class SearchResultReactor: Reactor { popUpID: searchListSection.inputDataList[indexPath.row].id, userAPIUseCase: userAPIUseCase, popUpAPIUseCase: popUpAPIUseCase, - commentAPIUseCase: DIContainer.resolve(CommentAPIUseCase.self) + commentAPIUseCase: DIContainer.resolve(CommentAPIUseCase.self), + preSignedUseCase: DIContainer.resolve(PreSignedUseCase.self) ) controller.navigationController?.pushViewController(nextController, animated: true) } diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Search/BeforeSearch/SearchReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Search/BeforeSearch/SearchReactor.swift index 9e90a637..17cd6119 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Search/BeforeSearch/SearchReactor.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Search/BeforeSearch/SearchReactor.swift @@ -1,12 +1,8 @@ -// -// SearchReactor.swift -// Poppool -// -// Created by SeoJunYoung on 12/4/24. -// - import UIKit +import DomainInterface +import Infrastructure + import ReactorKit import RxCocoa import RxSwift @@ -231,7 +227,8 @@ final class SearchReactor: Reactor { popUpID: searchListSection.inputDataList[indexPath.row].id, userAPIUseCase: userAPIUseCase, popUpAPIUseCase: popUpAPIUseCase, - commentAPIUseCase: DIContainer.resolve(CommentAPIUseCase.self) + commentAPIUseCase: DIContainer.resolve(CommentAPIUseCase.self), + preSignedUseCase: DIContainer.resolve(PreSignedUseCase.self) ) controller.navigationController?.pushViewController(nextController, animated: true) case .setSearchKeyWord(let text): From eeccce62a6c4ff499d60d086af45535007d5d014 Mon Sep 17 00:00:00 2001 From: 0Hooni Date: Mon, 21 Apr 2025 20:30:03 +0900 Subject: [PATCH 73/83] =?UTF-8?q?refactor/#112:=20import,=20public=20?= =?UTF-8?q?=EB=AC=B8=EC=A0=9C=20=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Infrastructure.xcodeproj/project.pbxproj | 37 ++++++++--- .../Infrastructure/Extension/Reactive+.swift | 9 +-- .../HomeResponse/BannerPopUpStore.swift | 6 +- .../HomeResponse/GetHomeInfoResponse.swift | 4 +- .../GetPopUpDetailResponse.swift | 64 +++++++++---------- .../GetBlockUserListResponse.swift | 14 ++-- .../UserResponse/GetMyCommentResponse.swift | 18 +++--- .../UserResponse/GetMyPageResponse.swift | 20 +++--- .../GetWithdrawlListResponse.swift | 2 +- .../AdminBottomSheetViewController.swift | 5 +- .../PopUpStoreRegisterViewController.swift | 2 +- .../Scene/Detail/DetailReactor.swift | 12 ++-- .../Scene/Home/Main/HomeReactor.swift | 24 +++++-- .../Scene/Login/Main/LoginController.swift | 2 + .../FullScreenMapViewController.swift | 6 +- .../Scene/Map/MapView/MapReactor.swift | 4 ++ .../Scene/Map/MapView/MapViewController.swift | 9 ++- .../Scene/Map/MapView/MarkerTooltipView.swift | 5 +- .../MyPage/Block/BlockUserManageReactor.swift | 9 +-- .../Bookmark/Main/MyPageBookmarkReactor.swift | 3 +- .../Scene/MyPage/Main/MyPageReactor.swift | 17 +++-- .../MyComment/Main/MyCommentReactor.swift | 13 ++-- .../MyPage/Recent/MyPageRecentReactor.swift | 13 ++-- .../WithdrawlReasonReactor.swift | 10 +-- .../Scene/SignUp/Main/SignUpMainReactor.swift | 8 +-- .../SignUp/Step2/SignUpStep2Reactor.swift | 10 +-- .../TabbarController/TabbarController.swift | 10 +-- .../Controllers/BaseTabmanController.swift | 9 +-- .../Utills/ToastMaker/ToastMaker.swift | 10 +-- 29 files changed, 182 insertions(+), 173 deletions(-) diff --git a/Poppool/CoreLayer/Infrastructure/Infrastructure.xcodeproj/project.pbxproj b/Poppool/CoreLayer/Infrastructure/Infrastructure.xcodeproj/project.pbxproj index b3db38a2..70ccf6fe 100644 --- a/Poppool/CoreLayer/Infrastructure/Infrastructure.xcodeproj/project.pbxproj +++ b/Poppool/CoreLayer/Infrastructure/Infrastructure.xcodeproj/project.pbxproj @@ -7,8 +7,9 @@ objects = { /* Begin PBXBuildFile section */ - 05125B702DB56C5E001342A2 /* RxCocoa-Dynamic in Frameworks */ = {isa = PBXBuildFile; productRef = 05125B6F2DB56C5E001342A2 /* RxCocoa-Dynamic */; }; - 05125B732DB56C5E001342A2 /* RxSwift-Dynamic in Frameworks */ = {isa = PBXBuildFile; productRef = 05125B722DB56C5E001342A2 /* RxSwift-Dynamic */; }; + 05EC93D92DB6605100771CB3 /* RxCocoa in Frameworks */ = {isa = PBXBuildFile; productRef = 05EC93D82DB6605100771CB3 /* RxCocoa */; }; + 05EC93DB2DB6605100771CB3 /* RxSwift in Frameworks */ = {isa = PBXBuildFile; productRef = 05EC93DA2DB6605100771CB3 /* RxSwift */; }; + 05EC93DE2DB6612100771CB3 /* RxGesture in Frameworks */ = {isa = PBXBuildFile; productRef = 05EC93DD2DB6612100771CB3 /* RxGesture */; }; /* End PBXBuildFile section */ /* Begin PBXCopyFilesBuildPhase section */ @@ -41,8 +42,9 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 05125B732DB56C5E001342A2 /* RxSwift-Dynamic in Frameworks */, - 05125B702DB56C5E001342A2 /* RxCocoa-Dynamic in Frameworks */, + 05EC93DB2DB6605100771CB3 /* RxSwift in Frameworks */, + 05EC93DE2DB6612100771CB3 /* RxGesture in Frameworks */, + 05EC93D92DB6605100771CB3 /* RxCocoa in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -105,8 +107,9 @@ ); name = Infrastructure; packageProductDependencies = ( - 05125B6F2DB56C5E001342A2 /* RxCocoa-Dynamic */, - 05125B722DB56C5E001342A2 /* RxSwift-Dynamic */, + 05EC93D82DB6605100771CB3 /* RxCocoa */, + 05EC93DA2DB6605100771CB3 /* RxSwift */, + 05EC93DD2DB6612100771CB3 /* RxGesture */, ); productName = Infrastructure; productReference = 058CC9182DB5383C0084221A /* Infrastructure.framework */; @@ -138,6 +141,7 @@ minimizedProjectReferenceProxies = 1; packageReferences = ( 05C1D82E2DB53CE300508FFD /* XCRemoteSwiftPackageReference "RxSwift" */, + 05EC93DC2DB6612100771CB3 /* XCRemoteSwiftPackageReference "RxGesture" */, ); preferredProjectObjectVersion = 77; productRefGroup = 058CC9192DB5383C0084221A /* Products */; @@ -401,18 +405,31 @@ minimumVersion = 6.9.0; }; }; + 05EC93DC2DB6612100771CB3 /* XCRemoteSwiftPackageReference "RxGesture" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/RxSwiftCommunity/RxGesture"; + requirement = { + kind = upToNextMajorVersion; + minimumVersion = 4.0.4; + }; + }; /* End XCRemoteSwiftPackageReference section */ /* Begin XCSwiftPackageProductDependency section */ - 05125B6F2DB56C5E001342A2 /* RxCocoa-Dynamic */ = { + 05EC93D82DB6605100771CB3 /* RxCocoa */ = { isa = XCSwiftPackageProductDependency; package = 05C1D82E2DB53CE300508FFD /* XCRemoteSwiftPackageReference "RxSwift" */; - productName = "RxCocoa-Dynamic"; + productName = RxCocoa; }; - 05125B722DB56C5E001342A2 /* RxSwift-Dynamic */ = { + 05EC93DA2DB6605100771CB3 /* RxSwift */ = { isa = XCSwiftPackageProductDependency; package = 05C1D82E2DB53CE300508FFD /* XCRemoteSwiftPackageReference "RxSwift" */; - productName = "RxSwift-Dynamic"; + productName = RxSwift; + }; + 05EC93DD2DB6612100771CB3 /* RxGesture */ = { + isa = XCSwiftPackageProductDependency; + package = 05EC93DC2DB6612100771CB3 /* XCRemoteSwiftPackageReference "RxGesture" */; + productName = RxGesture; }; /* End XCSwiftPackageProductDependency section */ }; diff --git a/Poppool/CoreLayer/Infrastructure/Infrastructure/Extension/Reactive+.swift b/Poppool/CoreLayer/Infrastructure/Infrastructure/Extension/Reactive+.swift index 74665b05..68a22b6c 100644 --- a/Poppool/CoreLayer/Infrastructure/Infrastructure/Extension/Reactive+.swift +++ b/Poppool/CoreLayer/Infrastructure/Infrastructure/Extension/Reactive+.swift @@ -1,16 +1,9 @@ -// -// Reactive+.swift -// MomsVillage -// -// Created by SeoJunYoung on 8/26/24. -// - import UIKit import RxCocoa import RxSwift -extension Reactive where Base: UIViewController { +public extension Reactive where Base: UIViewController { var viewDidLoad: ControlEvent { let source = self.methodInvoked(#selector(Base.viewDidLoad)).map( { _ in }) diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/HomeResponse/BannerPopUpStore.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/HomeResponse/BannerPopUpStore.swift index e262b2eb..2c5efa15 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/HomeResponse/BannerPopUpStore.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/HomeResponse/BannerPopUpStore.swift @@ -7,7 +7,7 @@ public struct BannerPopUpStore { self.mainImageUrl = mainImageUrl } - var id: Int64 - var name: String - var mainImageUrl: String + public var id: Int64 + public var name: String + public var mainImageUrl: String } diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/HomeResponse/GetHomeInfoResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/HomeResponse/GetHomeInfoResponse.swift index f64eac49..b3ee4e93 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/HomeResponse/GetHomeInfoResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/HomeResponse/GetHomeInfoResponse.swift @@ -16,8 +16,8 @@ public struct GetHomeInfoResponse { self.loginYn = loginYn } - var bannerPopUpStoreList: [BannerPopUpStore] - var nickname: String? + public var bannerPopUpStoreList: [BannerPopUpStore] + public var nickname: String? public var customPopUpStoreList: [PopUpStoreResponse] public var customPopUpStoreTotalPages: Int32 var customPopUpStoreTotalElements: Int64 diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetPopUpDetailResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetPopUpDetailResponse.swift index 52a0c1a6..be18c5c7 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetPopUpDetailResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetPopUpDetailResponse.swift @@ -19,21 +19,21 @@ public struct GetPopUpDetailResponse { self.similarPopUpStoreList = similarPopUpStoreList } - let name: String? - let desc: String? - let startDate: String? - let endDate: String? - let startTime: String? - let endTime: String? - let address: String? - let commentCount: Int64 - let bookmarkYn: Bool - let loginYn: Bool - let hasCommented: Bool - let mainImageUrl: String? - let imageList: [GetPopUpDetailImageResponse] - let commentList: [GetPopUpDetailCommentResponse] - let similarPopUpStoreList: [GetPopUpDetailSimilarResponse] + public let name: String? + public let desc: String? + public let startDate: String? + public let endDate: String? + public let startTime: String? + public let endTime: String? + public let address: String? + public let commentCount: Int64 + public let bookmarkYn: Bool + public let loginYn: Bool + public let hasCommented: Bool + public let mainImageUrl: String? + public let imageList: [GetPopUpDetailImageResponse] + public let commentList: [GetPopUpDetailCommentResponse] + public let similarPopUpStoreList: [GetPopUpDetailSimilarResponse] } public struct GetPopUpDetailImageResponse { @@ -42,8 +42,8 @@ public struct GetPopUpDetailImageResponse { self.imageUrl = imageUrl } - let id: Int64 - let imageUrl: String? + public let id: Int64 + public let imageUrl: String? } public struct GetPopUpDetailCommentResponse { @@ -61,17 +61,17 @@ public struct GetPopUpDetailCommentResponse { self.commentImageList = commentImageList } - let commentId: Int64 - let creator: String? - let nickname: String? - let instagramId: String? - let profileImageUrl: String? - let content: String? - let likeYn: Bool - let likeCount: Int64 - let myCommentYn: Bool - let createDateTime: String? - let commentImageList: [GetPopUpDetailImageResponse] + public let commentId: Int64 + public let creator: String? + public let nickname: String? + public let instagramId: String? + public let profileImageUrl: String? + public let content: String? + public let likeYn: Bool + public let likeCount: Int64 + public let myCommentYn: Bool + public let createDateTime: String? + public let commentImageList: [GetPopUpDetailImageResponse] } public struct GetPopUpDetailSimilarResponse { @@ -82,8 +82,8 @@ public struct GetPopUpDetailSimilarResponse { self.endDate = endDate } - let id: Int64 - let name: String? - let mainImageUrl: String? - let endDate: String? + public let id: Int64 + public let name: String? + public let mainImageUrl: String? + public let endDate: String? } diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetBlockUserListResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetBlockUserListResponse.swift index 0d92623d..a1495ca9 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetBlockUserListResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetBlockUserListResponse.swift @@ -7,9 +7,9 @@ public struct GetBlockUserListResponse { self.totalElements = totalElements } - var blockedUserInfoList: [GetBlockUserListDataResponse] - var totalPages: Int32 - var totalElements: Int32 + public var blockedUserInfoList: [GetBlockUserListDataResponse] + public var totalPages: Int32 + public var totalElements: Int32 } public struct GetBlockUserListDataResponse { @@ -20,8 +20,8 @@ public struct GetBlockUserListDataResponse { self.instagramId = instagramId } - var userId: String? - var profileImageUrl: String? - var nickname: String? - var instagramId: String? + public var userId: String? + public var profileImageUrl: String? + public var nickname: String? + public var instagramId: String? } diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetMyCommentResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetMyCommentResponse.swift index 2f35c79a..0f1ecacf 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetMyCommentResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetMyCommentResponse.swift @@ -5,7 +5,7 @@ public struct GetMyCommentedPopUpResponse { self.popUpInfoList = popUpInfoList } - var popUpInfoList: [GetMyCommentedPopUpDataResponse] + public var popUpInfoList: [GetMyCommentedPopUpDataResponse] } public struct GetMyCommentedPopUpDataResponse { @@ -20,12 +20,12 @@ public struct GetMyCommentedPopUpDataResponse { self.closedYn = closedYn } - var popUpStoreId: Int64 - var popUpStoreName: String? - var desc: String? - var mainImageUrl: String? - var startDate: String? - var endDate: String? - var address: String? - var closedYn: Bool + public var popUpStoreId: Int64 + public var popUpStoreName: String? + public var desc: String? + public var mainImageUrl: String? + public var startDate: String? + public var endDate: String? + public var address: String? + public var closedYn: Bool } diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetMyPageResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetMyPageResponse.swift index 81723476..b7d1dd73 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetMyPageResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetMyPageResponse.swift @@ -11,13 +11,13 @@ public struct GetMyPageResponse { self.myCommentedPopUpList = myCommentedPopUpList } - var nickname: String? - var profileImageUrl: String? - var intro: String? - var instagramId: String? - var loginYn: Bool - var adminYn: Bool - var myCommentedPopUpList: [GetMyPagePopUpResponse] + public var nickname: String? + public var profileImageUrl: String? + public var intro: String? + public var instagramId: String? + public var loginYn: Bool + public var adminYn: Bool + public var myCommentedPopUpList: [GetMyPagePopUpResponse] } public struct GetMyPagePopUpResponse { @@ -27,7 +27,7 @@ public struct GetMyPagePopUpResponse { self.mainImageUrl = mainImageUrl } - var popUpStoreId: Int64 - var popUpStoreName: String? - var mainImageUrl: String? + public var popUpStoreId: Int64 + public var popUpStoreName: String? + public var mainImageUrl: String? } diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetWithdrawlListResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetWithdrawlListResponse.swift index cc8d63ca..636ee8f9 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetWithdrawlListResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetWithdrawlListResponse.swift @@ -5,7 +5,7 @@ public struct GetWithdrawlListResponse { self.withDrawlSurveyList = withDrawlSurveyList } - var withDrawlSurveyList: [GetWithdrawlListDataResponse] + public var withDrawlSurveyList: [GetWithdrawlListDataResponse] } public struct GetWithdrawlListDataResponse { diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminBottomSheet/AdminBottomSheetViewController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminBottomSheet/AdminBottomSheetViewController.swift index 4f3a1a7b..89ee0c06 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminBottomSheet/AdminBottomSheetViewController.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminBottomSheet/AdminBottomSheetViewController.swift @@ -1,8 +1,11 @@ +import UIKit + +import Infrastructure + import ReactorKit import RxCocoa import RxSwift import SnapKit -import UIKit final class AdminBottomSheetViewController: BaseViewController, View { diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterViewController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterViewController.swift index 387022a5..6d4523e8 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterViewController.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterViewController.swift @@ -32,7 +32,7 @@ final class PopUpStoreRegisterViewController: BaseViewController { let reactor = PopUpStoreRegisterReactor( adminUseCase: DIContainer.resolve(AdminUseCase.self), - preSignedUseCase: DIContainer.resolve(PreSignedUseCasae.self), + preSignedUseCase: DIContainer.resolve(PreSignedUseCase.self), editingStore: editingStore ) diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Detail/DetailReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Detail/DetailReactor.swift index 4335cc05..71a11147 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Detail/DetailReactor.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Detail/DetailReactor.swift @@ -161,7 +161,8 @@ final class DetailReactor: Reactor { commentController.reactor = NormalCommentAddReactor( popUpID: popUpID, popUpName: popUpName ?? "", - commentAPIUseCase: commentAPIUseCase + commentAPIUseCase: commentAPIUseCase, + preSignedUseCase: preSignedUseCase ) controller.navigationController?.pushViewController(commentController, animated: true) } else { @@ -198,7 +199,8 @@ final class DetailReactor: Reactor { popUpName: popUpName, userAPIUseCase: userAPIUseCase, popUpAPIUseCase: popUpAPIUseCase, - commentAPIUseCase: commentAPIUseCase + commentAPIUseCase: commentAPIUseCase, + preSignedUseCase: preSignedUseCase ) controller.navigationController?.pushViewController(nextController, animated: true) } else { @@ -232,7 +234,8 @@ final class DetailReactor: Reactor { popUpID: id, userAPIUseCase: userAPIUseCase, popUpAPIUseCase: popUpAPIUseCase, - commentAPIUseCase: commentAPIUseCase + commentAPIUseCase: commentAPIUseCase, + preSignedUseCase: preSignedUseCase ) controller.navigationController?.pushViewController(nextController, animated: true) case .moveToRecentScene(let controller): @@ -548,7 +551,8 @@ extension DetailReactor { popUpID: self.popUpID, popUpName: popUpName, comment: comment, - commentAPIUseCase: self.commentAPIUseCase + commentAPIUseCase: self.commentAPIUseCase, + preSignedUseCase: self.preSignedUseCase ) controller?.navigationController?.pushViewController(editController, animated: true) } diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Home/Main/HomeReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Home/Main/HomeReactor.swift index 228abf0a..b27415c1 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Home/Main/HomeReactor.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Home/Main/HomeReactor.swift @@ -1,5 +1,8 @@ import UIKit +import DomainInterface +import Infrastructure + import ReactorKit import RxCocoa import RxSwift @@ -281,7 +284,8 @@ final class HomeReactor: Reactor { popUpID: id, userAPIUseCase: userAPIUseCase, popUpAPIUseCase: DIContainer.resolve(PopUpAPIUseCase.self), - commentAPIUseCase: DIContainer.resolve(CommentAPIUseCase.self) + commentAPIUseCase: DIContainer.resolve(CommentAPIUseCase.self), + preSignedUseCase: DIContainer.resolve(PreSignedUseCase.self) ) currentController.navigationController?.pushViewController(controller, animated: true) } @@ -300,7 +304,8 @@ final class HomeReactor: Reactor { popUpID: id, userAPIUseCase: userAPIUseCase, popUpAPIUseCase: DIContainer.resolve(PopUpAPIUseCase.self), - commentAPIUseCase: DIContainer.resolve(CommentAPIUseCase.self) + commentAPIUseCase: DIContainer.resolve(CommentAPIUseCase.self), + preSignedUseCase: DIContainer.resolve(PreSignedUseCase.self) ) currentController.navigationController?.pushViewController(controller, animated: true) case 7: @@ -318,7 +323,8 @@ final class HomeReactor: Reactor { popUpID: id, userAPIUseCase: userAPIUseCase, popUpAPIUseCase: DIContainer.resolve(PopUpAPIUseCase.self), - commentAPIUseCase: DIContainer.resolve(CommentAPIUseCase.self) + commentAPIUseCase: DIContainer.resolve(CommentAPIUseCase.self), + preSignedUseCase: DIContainer.resolve(PreSignedUseCase.self) ) currentController.navigationController?.pushViewController(controller, animated: true) case 12: @@ -336,7 +342,8 @@ final class HomeReactor: Reactor { popUpID: id, userAPIUseCase: userAPIUseCase, popUpAPIUseCase: DIContainer.resolve(PopUpAPIUseCase.self), - commentAPIUseCase: DIContainer.resolve(CommentAPIUseCase.self) + commentAPIUseCase: DIContainer.resolve(CommentAPIUseCase.self), + preSignedUseCase: DIContainer.resolve(PreSignedUseCase.self) ) currentController.navigationController?.pushViewController(controller, animated: true) default: @@ -351,7 +358,8 @@ final class HomeReactor: Reactor { popUpID: id, userAPIUseCase: userAPIUseCase, popUpAPIUseCase: DIContainer.resolve(PopUpAPIUseCase.self), - commentAPIUseCase: DIContainer.resolve(CommentAPIUseCase.self) + commentAPIUseCase: DIContainer.resolve(CommentAPIUseCase.self), + preSignedUseCase: DIContainer.resolve(PreSignedUseCase.self) ) currentController.navigationController?.pushViewController(controller, animated: true) } @@ -370,7 +378,8 @@ final class HomeReactor: Reactor { popUpID: id, userAPIUseCase: userAPIUseCase, popUpAPIUseCase: DIContainer.resolve(PopUpAPIUseCase.self), - commentAPIUseCase: DIContainer.resolve(CommentAPIUseCase.self) + commentAPIUseCase: DIContainer.resolve(CommentAPIUseCase.self), + preSignedUseCase: DIContainer.resolve(PreSignedUseCase.self) ) currentController.navigationController?.pushViewController(controller, animated: true) case 7: @@ -388,7 +397,8 @@ final class HomeReactor: Reactor { popUpID: id, userAPIUseCase: userAPIUseCase, popUpAPIUseCase: DIContainer.resolve(PopUpAPIUseCase.self), - commentAPIUseCase: DIContainer.resolve(CommentAPIUseCase.self) + commentAPIUseCase: DIContainer.resolve(CommentAPIUseCase.self), + preSignedUseCase: DIContainer.resolve(PreSignedUseCase.self) ) currentController.navigationController?.pushViewController(controller, animated: true) default: diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Login/Main/LoginController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Login/Main/LoginController.swift index 47912023..df5d00de 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Login/Main/LoginController.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Login/Main/LoginController.swift @@ -7,6 +7,8 @@ import UIKit +import Infrastructure + import ReactorKit import RxCocoa import RxSwift diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/FindMap/MapGuideView/FullScreenMapViewController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/FindMap/MapGuideView/FullScreenMapViewController.swift index 82393654..b6f8989a 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/FindMap/MapGuideView/FullScreenMapViewController.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/FindMap/MapGuideView/FullScreenMapViewController.swift @@ -1,9 +1,13 @@ import CoreLocation +import UIKit + +import DomainInterface +import Infrastructure + import NMapsMap import RxCocoa import RxSwift import SnapKit -import UIKit class FullScreenMapViewController: MapViewController { // MARK: - Properties diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/MapView/MapReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/MapView/MapReactor.swift index d5d5d9b8..bf79b064 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/MapView/MapReactor.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/MapView/MapReactor.swift @@ -1,4 +1,8 @@ import CoreLocation + +import DomainInterface +import Infrastructure + import ReactorKit import RxSwift diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/MapView/MapViewController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/MapView/MapViewController.swift index 243ad3f6..1c275561 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/MapView/MapViewController.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/MapView/MapViewController.swift @@ -1,4 +1,9 @@ +import UIKit import CoreLocation + +import DomainInterface +import Infrastructure + import FloatingPanel import NMapsMap import ReactorKit @@ -6,7 +11,6 @@ import RxCocoa import RxGesture import RxSwift import SnapKit -import UIKit class MapViewController: BaseViewController, View, CLLocationManagerDelegate, NMFMapViewTouchDelegate, NMFMapViewCameraDelegate, UIGestureRecognizerDelegate { typealias Reactor = MapReactor @@ -126,7 +130,8 @@ class MapViewController: BaseViewController, View, CLLocationManagerDelegate, NM popUpID: Int64(store.id), userAPIUseCase: DIContainer.resolve(UserAPIUseCase.self), popUpAPIUseCase: self?.popUpAPIUseCase ?? DIContainer.resolve(PopUpAPIUseCase.self), - commentAPIUseCase: DIContainer.resolve(CommentAPIUseCase.self) + commentAPIUseCase: DIContainer.resolve(CommentAPIUseCase.self), + preSignedUseCase: DIContainer.resolve(PreSignedUseCase.self) ) self?.navigationController?.isNavigationBarHidden = false diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/MapView/MarkerTooltipView.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/MapView/MarkerTooltipView.swift index a1c2bffe..ed8ce855 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/MapView/MarkerTooltipView.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/MapView/MarkerTooltipView.swift @@ -1,6 +1,9 @@ -import SnapKit import UIKit +import DomainInterface + +import SnapKit + final class MarkerTooltipView: UIView, UIGestureRecognizerDelegate { // MARK: - Properties diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Block/BlockUserManageReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Block/BlockUserManageReactor.swift index e0439e64..7d8bc987 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Block/BlockUserManageReactor.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Block/BlockUserManageReactor.swift @@ -1,12 +1,7 @@ -// -// BlockUserManageReactor.swift -// Poppool -// -// Created by SeoJunYoung on 1/12/25. -// - import UIKit +import DomainInterface + import ReactorKit import RxCocoa import RxSwift diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Bookmark/Main/MyPageBookmarkReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Bookmark/Main/MyPageBookmarkReactor.swift index 56ecea39..fd82c499 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Bookmark/Main/MyPageBookmarkReactor.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Bookmark/Main/MyPageBookmarkReactor.swift @@ -179,7 +179,8 @@ final class MyPageBookmarkReactor: Reactor { popUpID: listSection.inputDataList[row].id, userAPIUseCase: userAPIUseCase, popUpAPIUseCase: DIContainer.resolve(PopUpAPIUseCase.self), - commentAPIUseCase: DIContainer.resolve(CommentAPIUseCase.self) + commentAPIUseCase: DIContainer.resolve(CommentAPIUseCase.self), + preSignedUseCase: DIContainer.resolve(PreSignedUseCase.self) ) controller.navigationController?.pushViewController(nextController, animated: true) case .presentModal(let controller): diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Main/MyPageReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Main/MyPageReactor.swift index 3150edd4..3fe8c1d9 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Main/MyPageReactor.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Main/MyPageReactor.swift @@ -1,14 +1,11 @@ -// -// MyPageReactor.swift -// Poppool -// -// Created by SeoJunYoung on 12/30/24. -// +import UIKit + +import DomainInterface +import Infrastructure import ReactorKit import RxCocoa import RxSwift -import UIKit final class MyPageReactor: Reactor { @@ -183,7 +180,8 @@ final class MyPageReactor: Reactor { let nextController = ProfileEditController() nextController.reactor = ProfileEditReactor( userAPIUseCase: userAPIUseCase, - signUpAPIUseCase: DIContainer.resolve(SignUpAPIUseCase.self) + signUpAPIUseCase: DIContainer.resolve(SignUpAPIUseCase.self), + preSignedUseCase: DIContainer.resolve(PreSignedUseCase.self) ) controller.navigationController?.pushViewController(nextController, animated: true) @@ -262,7 +260,8 @@ final class MyPageReactor: Reactor { popUpID: popUpID, userAPIUseCase: userAPIUseCase, popUpAPIUseCase: DIContainer.resolve(PopUpAPIUseCase.self), - commentAPIUseCase: DIContainer.resolve(CommentAPIUseCase.self) + commentAPIUseCase: DIContainer.resolve(CommentAPIUseCase.self), + preSignedUseCase: DIContainer.resolve(PreSignedUseCase.self) ) controller.navigationController?.pushViewController(nextController, animated: true) diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/MyComment/Main/MyCommentReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/MyComment/Main/MyCommentReactor.swift index a41eb076..2b4911db 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/MyComment/Main/MyCommentReactor.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/MyComment/Main/MyCommentReactor.swift @@ -1,12 +1,8 @@ -// -// MyCommentReactor.swift -// Poppool -// -// Created by SeoJunYoung on 1/8/25. -// - import UIKit +import DomainInterface +import Infrastructure + import ReactorKit import RxCocoa import RxSwift @@ -111,7 +107,8 @@ final class MyCommentReactor: Reactor { popUpID: popUpID, userAPIUseCase: userAPIUseCase, popUpAPIUseCase: DIContainer.resolve(PopUpAPIUseCase.self), - commentAPIUseCase: DIContainer.resolve(CommentAPIUseCase.self) + commentAPIUseCase: DIContainer.resolve(CommentAPIUseCase.self), + preSignedUseCase: DIContainer.resolve(PreSignedUseCase.self) ) controller.navigationController?.pushViewController(nextController, animated: true) case .moveToRecentScene(let controller): diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Recent/MyPageRecentReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Recent/MyPageRecentReactor.swift index 06318f0a..94b3f651 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Recent/MyPageRecentReactor.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Recent/MyPageRecentReactor.swift @@ -1,12 +1,8 @@ -// -// MyPageRecentReactor.swift -// Poppool -// -// Created by SeoJunYoung on 1/14/25. -// - import UIKit +import DomainInterface +import Infrastructure + import ReactorKit import RxCocoa import RxSwift @@ -130,7 +126,8 @@ final class MyPageRecentReactor: Reactor { popUpID: listSection.inputDataList[row].id, userAPIUseCase: userAPIUseCase, popUpAPIUseCase: DIContainer.resolve(PopUpAPIUseCase.self), - commentAPIUseCase: DIContainer.resolve(CommentAPIUseCase.self) + commentAPIUseCase: DIContainer.resolve(CommentAPIUseCase.self), + preSignedUseCase: DIContainer.resolve(PreSignedUseCase.self) ) controller.navigationController?.pushViewController(nextController, animated: true) } diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Withdrawl/SelectedReason/WithdrawlReasonReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Withdrawl/SelectedReason/WithdrawlReasonReactor.swift index 4748166b..8cb10ad6 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Withdrawl/SelectedReason/WithdrawlReasonReactor.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Withdrawl/SelectedReason/WithdrawlReasonReactor.swift @@ -1,12 +1,8 @@ -// -// WithdrawlReasonReactor.swift -// Poppool -// -// Created by SeoJunYoung on 1/7/25. -// - import UIKit +import DomainInterface +import Infrastructure + import ReactorKit import RxCocoa import RxSwift diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/Main/SignUpMainReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/Main/SignUpMainReactor.swift index adeaa99e..c4f3db3a 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/Main/SignUpMainReactor.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/Main/SignUpMainReactor.swift @@ -1,9 +1,5 @@ -// -// SignUpMainReactor.swift -// Poppool -// -// Created by SeoJunYoung on 11/25/24. -// +import DomainInterface +import Infrastructure import ReactorKit import RxCocoa diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/Step2/SignUpStep2Reactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/Step2/SignUpStep2Reactor.swift index 24f21cfb..3c700b01 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/Step2/SignUpStep2Reactor.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/Step2/SignUpStep2Reactor.swift @@ -1,12 +1,8 @@ -// -// SignUpStep2Reactor.swift -// Poppool -// -// Created by SeoJunYoung on 11/25/24. -// - import UIKit +import DomainInterface +import Infrastructure + import ReactorKit import RxCocoa import RxSwift diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/TabbarController/TabbarController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/TabbarController/TabbarController.swift index 4be350da..8bee4e8b 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/TabbarController/TabbarController.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/TabbarController/TabbarController.swift @@ -1,12 +1,8 @@ -// -// TabbarController.swift -// Poppool -// -// Created by SeoJunYoung on 12/1/24. -// - import UIKit +import DomainInterface +import Infrastructure + class WaveTabBarController: UITabBarController, UITabBarControllerDelegate { private let waveLayer = CAShapeLayer() diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Utills/Controllers/BaseTabmanController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Utills/Controllers/BaseTabmanController.swift index 639a66e5..42a777dd 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Utills/Controllers/BaseTabmanController.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Utills/Controllers/BaseTabmanController.swift @@ -1,12 +1,7 @@ -// -// BaseTabmanController.swift -// MomsVillage -// -// Created by SeoJunYoung on 9/25/24. -// - import UIKit +import Infrastructure + import Pageboy import Tabman diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Utills/ToastMaker/ToastMaker.swift b/Poppool/PresentationLayer/Presentation/Presentation/Utills/ToastMaker/ToastMaker.swift index 924c7b0e..7c6f29be 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Utills/ToastMaker/ToastMaker.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Utills/ToastMaker/ToastMaker.swift @@ -1,12 +1,8 @@ -// -// ToastMaker.swift -// Poppool -// -// Created by SeoJunYoung on 11/25/24. -// - import UIKit +import DomainInterface +import Infrastructure + import RxCocoa import RxSwift import SnapKit From 190941a7777aa19257814d5c141741afdc6ba707 Mon Sep 17 00:00:00 2001 From: 0Hooni Date: Mon, 21 Apr 2025 20:30:03 +0900 Subject: [PATCH 74/83] =?UTF-8?q?refactor/#112:=20import,=20public=20?= =?UTF-8?q?=EB=AC=B8=EC=A0=9C=20=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Infrastructure.xcodeproj/project.pbxproj | 37 ++++++++--- .../Infrastructure/Extension/Reactive+.swift | 9 +-- .../HomeResponse/BannerPopUpStore.swift | 6 +- .../HomeResponse/GetHomeInfoResponse.swift | 4 +- .../GetPopUpCommentResponse.swift | 2 +- .../GetPopUpDetailResponse.swift | 64 +++++++++---------- .../GetPopUpDirectionResponse.swift | 14 ++-- .../GetBlockUserListResponse.swift | 14 ++-- .../UserResponse/GetMyCommentResponse.swift | 18 +++--- .../UserResponse/GetMyPageResponse.swift | 20 +++--- .../GetWithdrawlListResponse.swift | 2 +- .../AdminBottomSheetViewController.swift | 5 +- .../PopUpStoreRegisterViewController.swift | 2 +- .../CommentList/CommentListReactor.swift | 3 +- .../InstaCommentAddController.swift | 9 +-- .../Scene/Detail/DetailReactor.swift | 12 ++-- .../Scene/Home/Main/HomeReactor.swift | 24 +++++-- .../Scene/Login/Main/LoginController.swift | 2 + .../FullScreenMapViewController.swift | 6 +- .../MapGuideView/MapGuideViewController.swift | 6 +- .../Scene/Map/MapView/MapReactor.swift | 8 ++- .../Scene/Map/MapView/MapViewController.swift | 9 ++- .../Scene/Map/MapView/MarkerTooltipView.swift | 5 +- .../Map/StoreListView/StoreListReactor.swift | 4 ++ .../StoreListViewController.swift | 9 ++- .../MyPage/Block/BlockUserManageReactor.swift | 9 +-- .../Bookmark/Main/MyPageBookmarkReactor.swift | 3 +- .../Scene/MyPage/Main/MyPageReactor.swift | 17 +++-- .../MyComment/Main/MyCommentReactor.swift | 13 ++-- .../Main/ProfileEditController.swift | 9 +-- .../MyPage/Recent/MyPageRecentReactor.swift | 13 ++-- .../WithdrawlReasonReactor.swift | 10 +-- .../SearchCategoryReactor.swift | 9 +-- .../Search/Main/SearchMainController.swift | 10 +-- .../SignUp/Main/SignUpMainController.swift | 10 +-- .../Scene/SignUp/Main/SignUpMainReactor.swift | 8 +-- .../SignUp/Step2/SignUpStep2Reactor.swift | 10 +-- .../SignUp/Step3/SignUpStep3Reactor.swift | 9 +-- .../Scene/Splash/SplashController.swift | 4 -- .../TabbarController/TabbarController.swift | 10 +-- .../Utills/Common/ClusteringManager.swift | 3 + .../Controllers/BaseTabmanController.swift | 9 +-- .../Controllers/BaseViewController.swift | 4 +- .../Utills/ToastMaker/ToastMaker.swift | 10 +-- 44 files changed, 228 insertions(+), 236 deletions(-) diff --git a/Poppool/CoreLayer/Infrastructure/Infrastructure.xcodeproj/project.pbxproj b/Poppool/CoreLayer/Infrastructure/Infrastructure.xcodeproj/project.pbxproj index b3db38a2..70ccf6fe 100644 --- a/Poppool/CoreLayer/Infrastructure/Infrastructure.xcodeproj/project.pbxproj +++ b/Poppool/CoreLayer/Infrastructure/Infrastructure.xcodeproj/project.pbxproj @@ -7,8 +7,9 @@ objects = { /* Begin PBXBuildFile section */ - 05125B702DB56C5E001342A2 /* RxCocoa-Dynamic in Frameworks */ = {isa = PBXBuildFile; productRef = 05125B6F2DB56C5E001342A2 /* RxCocoa-Dynamic */; }; - 05125B732DB56C5E001342A2 /* RxSwift-Dynamic in Frameworks */ = {isa = PBXBuildFile; productRef = 05125B722DB56C5E001342A2 /* RxSwift-Dynamic */; }; + 05EC93D92DB6605100771CB3 /* RxCocoa in Frameworks */ = {isa = PBXBuildFile; productRef = 05EC93D82DB6605100771CB3 /* RxCocoa */; }; + 05EC93DB2DB6605100771CB3 /* RxSwift in Frameworks */ = {isa = PBXBuildFile; productRef = 05EC93DA2DB6605100771CB3 /* RxSwift */; }; + 05EC93DE2DB6612100771CB3 /* RxGesture in Frameworks */ = {isa = PBXBuildFile; productRef = 05EC93DD2DB6612100771CB3 /* RxGesture */; }; /* End PBXBuildFile section */ /* Begin PBXCopyFilesBuildPhase section */ @@ -41,8 +42,9 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 05125B732DB56C5E001342A2 /* RxSwift-Dynamic in Frameworks */, - 05125B702DB56C5E001342A2 /* RxCocoa-Dynamic in Frameworks */, + 05EC93DB2DB6605100771CB3 /* RxSwift in Frameworks */, + 05EC93DE2DB6612100771CB3 /* RxGesture in Frameworks */, + 05EC93D92DB6605100771CB3 /* RxCocoa in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -105,8 +107,9 @@ ); name = Infrastructure; packageProductDependencies = ( - 05125B6F2DB56C5E001342A2 /* RxCocoa-Dynamic */, - 05125B722DB56C5E001342A2 /* RxSwift-Dynamic */, + 05EC93D82DB6605100771CB3 /* RxCocoa */, + 05EC93DA2DB6605100771CB3 /* RxSwift */, + 05EC93DD2DB6612100771CB3 /* RxGesture */, ); productName = Infrastructure; productReference = 058CC9182DB5383C0084221A /* Infrastructure.framework */; @@ -138,6 +141,7 @@ minimizedProjectReferenceProxies = 1; packageReferences = ( 05C1D82E2DB53CE300508FFD /* XCRemoteSwiftPackageReference "RxSwift" */, + 05EC93DC2DB6612100771CB3 /* XCRemoteSwiftPackageReference "RxGesture" */, ); preferredProjectObjectVersion = 77; productRefGroup = 058CC9192DB5383C0084221A /* Products */; @@ -401,18 +405,31 @@ minimumVersion = 6.9.0; }; }; + 05EC93DC2DB6612100771CB3 /* XCRemoteSwiftPackageReference "RxGesture" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/RxSwiftCommunity/RxGesture"; + requirement = { + kind = upToNextMajorVersion; + minimumVersion = 4.0.4; + }; + }; /* End XCRemoteSwiftPackageReference section */ /* Begin XCSwiftPackageProductDependency section */ - 05125B6F2DB56C5E001342A2 /* RxCocoa-Dynamic */ = { + 05EC93D82DB6605100771CB3 /* RxCocoa */ = { isa = XCSwiftPackageProductDependency; package = 05C1D82E2DB53CE300508FFD /* XCRemoteSwiftPackageReference "RxSwift" */; - productName = "RxCocoa-Dynamic"; + productName = RxCocoa; }; - 05125B722DB56C5E001342A2 /* RxSwift-Dynamic */ = { + 05EC93DA2DB6605100771CB3 /* RxSwift */ = { isa = XCSwiftPackageProductDependency; package = 05C1D82E2DB53CE300508FFD /* XCRemoteSwiftPackageReference "RxSwift" */; - productName = "RxSwift-Dynamic"; + productName = RxSwift; + }; + 05EC93DD2DB6612100771CB3 /* RxGesture */ = { + isa = XCSwiftPackageProductDependency; + package = 05EC93DC2DB6612100771CB3 /* XCRemoteSwiftPackageReference "RxGesture" */; + productName = RxGesture; }; /* End XCSwiftPackageProductDependency section */ }; diff --git a/Poppool/CoreLayer/Infrastructure/Infrastructure/Extension/Reactive+.swift b/Poppool/CoreLayer/Infrastructure/Infrastructure/Extension/Reactive+.swift index 74665b05..68a22b6c 100644 --- a/Poppool/CoreLayer/Infrastructure/Infrastructure/Extension/Reactive+.swift +++ b/Poppool/CoreLayer/Infrastructure/Infrastructure/Extension/Reactive+.swift @@ -1,16 +1,9 @@ -// -// Reactive+.swift -// MomsVillage -// -// Created by SeoJunYoung on 8/26/24. -// - import UIKit import RxCocoa import RxSwift -extension Reactive where Base: UIViewController { +public extension Reactive where Base: UIViewController { var viewDidLoad: ControlEvent { let source = self.methodInvoked(#selector(Base.viewDidLoad)).map( { _ in }) diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/HomeResponse/BannerPopUpStore.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/HomeResponse/BannerPopUpStore.swift index e262b2eb..2c5efa15 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/HomeResponse/BannerPopUpStore.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/HomeResponse/BannerPopUpStore.swift @@ -7,7 +7,7 @@ public struct BannerPopUpStore { self.mainImageUrl = mainImageUrl } - var id: Int64 - var name: String - var mainImageUrl: String + public var id: Int64 + public var name: String + public var mainImageUrl: String } diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/HomeResponse/GetHomeInfoResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/HomeResponse/GetHomeInfoResponse.swift index f64eac49..b3ee4e93 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/HomeResponse/GetHomeInfoResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/HomeResponse/GetHomeInfoResponse.swift @@ -16,8 +16,8 @@ public struct GetHomeInfoResponse { self.loginYn = loginYn } - var bannerPopUpStoreList: [BannerPopUpStore] - var nickname: String? + public var bannerPopUpStoreList: [BannerPopUpStore] + public var nickname: String? public var customPopUpStoreList: [PopUpStoreResponse] public var customPopUpStoreTotalPages: Int32 var customPopUpStoreTotalElements: Int64 diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetPopUpCommentResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetPopUpCommentResponse.swift index 63a0fd8f..5f8e5ae9 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetPopUpCommentResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetPopUpCommentResponse.swift @@ -5,5 +5,5 @@ public struct GetPopUpCommentResponse { self.commentList = commentList } - let commentList: [GetPopUpDetailCommentResponse] + public let commentList: [GetPopUpDetailCommentResponse] } diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetPopUpDetailResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetPopUpDetailResponse.swift index 52a0c1a6..be18c5c7 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetPopUpDetailResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetPopUpDetailResponse.swift @@ -19,21 +19,21 @@ public struct GetPopUpDetailResponse { self.similarPopUpStoreList = similarPopUpStoreList } - let name: String? - let desc: String? - let startDate: String? - let endDate: String? - let startTime: String? - let endTime: String? - let address: String? - let commentCount: Int64 - let bookmarkYn: Bool - let loginYn: Bool - let hasCommented: Bool - let mainImageUrl: String? - let imageList: [GetPopUpDetailImageResponse] - let commentList: [GetPopUpDetailCommentResponse] - let similarPopUpStoreList: [GetPopUpDetailSimilarResponse] + public let name: String? + public let desc: String? + public let startDate: String? + public let endDate: String? + public let startTime: String? + public let endTime: String? + public let address: String? + public let commentCount: Int64 + public let bookmarkYn: Bool + public let loginYn: Bool + public let hasCommented: Bool + public let mainImageUrl: String? + public let imageList: [GetPopUpDetailImageResponse] + public let commentList: [GetPopUpDetailCommentResponse] + public let similarPopUpStoreList: [GetPopUpDetailSimilarResponse] } public struct GetPopUpDetailImageResponse { @@ -42,8 +42,8 @@ public struct GetPopUpDetailImageResponse { self.imageUrl = imageUrl } - let id: Int64 - let imageUrl: String? + public let id: Int64 + public let imageUrl: String? } public struct GetPopUpDetailCommentResponse { @@ -61,17 +61,17 @@ public struct GetPopUpDetailCommentResponse { self.commentImageList = commentImageList } - let commentId: Int64 - let creator: String? - let nickname: String? - let instagramId: String? - let profileImageUrl: String? - let content: String? - let likeYn: Bool - let likeCount: Int64 - let myCommentYn: Bool - let createDateTime: String? - let commentImageList: [GetPopUpDetailImageResponse] + public let commentId: Int64 + public let creator: String? + public let nickname: String? + public let instagramId: String? + public let profileImageUrl: String? + public let content: String? + public let likeYn: Bool + public let likeCount: Int64 + public let myCommentYn: Bool + public let createDateTime: String? + public let commentImageList: [GetPopUpDetailImageResponse] } public struct GetPopUpDetailSimilarResponse { @@ -82,8 +82,8 @@ public struct GetPopUpDetailSimilarResponse { self.endDate = endDate } - let id: Int64 - let name: String? - let mainImageUrl: String? - let endDate: String? + public let id: Int64 + public let name: String? + public let mainImageUrl: String? + public let endDate: String? } diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetPopUpDirectionResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetPopUpDirectionResponse.swift index 8aa4daff..60157404 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetPopUpDirectionResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetPopUpDirectionResponse.swift @@ -15,15 +15,15 @@ public struct GetPopUpDirectionResponse { self.markerSnippet = markerSnippet } - let id: Int64 - let categoryName: String + public let id: Int64 + public let categoryName: String public let name: String public let address: String - let startDate: String - let endDate: String + public let startDate: String + public let endDate: String public let latitude: Double public let longitude: Double - let markerId: Int64 - let markerTitle: String - let markerSnippet: String + public let markerId: Int64 + public let markerTitle: String + public let markerSnippet: String } diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetBlockUserListResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetBlockUserListResponse.swift index 0d92623d..a1495ca9 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetBlockUserListResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetBlockUserListResponse.swift @@ -7,9 +7,9 @@ public struct GetBlockUserListResponse { self.totalElements = totalElements } - var blockedUserInfoList: [GetBlockUserListDataResponse] - var totalPages: Int32 - var totalElements: Int32 + public var blockedUserInfoList: [GetBlockUserListDataResponse] + public var totalPages: Int32 + public var totalElements: Int32 } public struct GetBlockUserListDataResponse { @@ -20,8 +20,8 @@ public struct GetBlockUserListDataResponse { self.instagramId = instagramId } - var userId: String? - var profileImageUrl: String? - var nickname: String? - var instagramId: String? + public var userId: String? + public var profileImageUrl: String? + public var nickname: String? + public var instagramId: String? } diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetMyCommentResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetMyCommentResponse.swift index 2f35c79a..0f1ecacf 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetMyCommentResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetMyCommentResponse.swift @@ -5,7 +5,7 @@ public struct GetMyCommentedPopUpResponse { self.popUpInfoList = popUpInfoList } - var popUpInfoList: [GetMyCommentedPopUpDataResponse] + public var popUpInfoList: [GetMyCommentedPopUpDataResponse] } public struct GetMyCommentedPopUpDataResponse { @@ -20,12 +20,12 @@ public struct GetMyCommentedPopUpDataResponse { self.closedYn = closedYn } - var popUpStoreId: Int64 - var popUpStoreName: String? - var desc: String? - var mainImageUrl: String? - var startDate: String? - var endDate: String? - var address: String? - var closedYn: Bool + public var popUpStoreId: Int64 + public var popUpStoreName: String? + public var desc: String? + public var mainImageUrl: String? + public var startDate: String? + public var endDate: String? + public var address: String? + public var closedYn: Bool } diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetMyPageResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetMyPageResponse.swift index 81723476..b7d1dd73 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetMyPageResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetMyPageResponse.swift @@ -11,13 +11,13 @@ public struct GetMyPageResponse { self.myCommentedPopUpList = myCommentedPopUpList } - var nickname: String? - var profileImageUrl: String? - var intro: String? - var instagramId: String? - var loginYn: Bool - var adminYn: Bool - var myCommentedPopUpList: [GetMyPagePopUpResponse] + public var nickname: String? + public var profileImageUrl: String? + public var intro: String? + public var instagramId: String? + public var loginYn: Bool + public var adminYn: Bool + public var myCommentedPopUpList: [GetMyPagePopUpResponse] } public struct GetMyPagePopUpResponse { @@ -27,7 +27,7 @@ public struct GetMyPagePopUpResponse { self.mainImageUrl = mainImageUrl } - var popUpStoreId: Int64 - var popUpStoreName: String? - var mainImageUrl: String? + public var popUpStoreId: Int64 + public var popUpStoreName: String? + public var mainImageUrl: String? } diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetWithdrawlListResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetWithdrawlListResponse.swift index cc8d63ca..636ee8f9 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetWithdrawlListResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetWithdrawlListResponse.swift @@ -5,7 +5,7 @@ public struct GetWithdrawlListResponse { self.withDrawlSurveyList = withDrawlSurveyList } - var withDrawlSurveyList: [GetWithdrawlListDataResponse] + public var withDrawlSurveyList: [GetWithdrawlListDataResponse] } public struct GetWithdrawlListDataResponse { diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminBottomSheet/AdminBottomSheetViewController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminBottomSheet/AdminBottomSheetViewController.swift index 4f3a1a7b..89ee0c06 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminBottomSheet/AdminBottomSheetViewController.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminBottomSheet/AdminBottomSheetViewController.swift @@ -1,8 +1,11 @@ +import UIKit + +import Infrastructure + import ReactorKit import RxCocoa import RxSwift import SnapKit -import UIKit final class AdminBottomSheetViewController: BaseViewController, View { diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterViewController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterViewController.swift index 387022a5..6d4523e8 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterViewController.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterViewController.swift @@ -32,7 +32,7 @@ final class PopUpStoreRegisterViewController: BaseViewController { let reactor = PopUpStoreRegisterReactor( adminUseCase: DIContainer.resolve(AdminUseCase.self), - preSignedUseCase: DIContainer.resolve(PreSignedUseCasae.self), + preSignedUseCase: DIContainer.resolve(PreSignedUseCase.self), editingStore: editingStore ) diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/CommentList/CommentListReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/CommentList/CommentListReactor.swift index d8141f79..0707c1ba 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/CommentList/CommentListReactor.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/CommentList/CommentListReactor.swift @@ -314,7 +314,8 @@ final class CommentListReactor: Reactor { popUpID: self.popUpID, popUpName: popUpName, comment: comment, - commentAPIUseCase: self.commentAPIUseCase + commentAPIUseCase: self.commentAPIUseCase, + preSignedUseCase: self.preSignedUseCase ) controller?.navigationController?.pushViewController(editController, animated: true) } diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/InstaComment/InstaCommentAddController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/InstaComment/InstaCommentAddController.swift index 68c6327b..0c03cf24 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/InstaComment/InstaCommentAddController.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/InstaComment/InstaCommentAddController.swift @@ -1,12 +1,7 @@ -// -// InstaCommentAddController.swift -// Poppool -// -// Created by SeoJunYoung on 12/15/24. -// - import UIKit +import Infrastructure + import ReactorKit import RxCocoa import RxSwift diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Detail/DetailReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Detail/DetailReactor.swift index 4335cc05..71a11147 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Detail/DetailReactor.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Detail/DetailReactor.swift @@ -161,7 +161,8 @@ final class DetailReactor: Reactor { commentController.reactor = NormalCommentAddReactor( popUpID: popUpID, popUpName: popUpName ?? "", - commentAPIUseCase: commentAPIUseCase + commentAPIUseCase: commentAPIUseCase, + preSignedUseCase: preSignedUseCase ) controller.navigationController?.pushViewController(commentController, animated: true) } else { @@ -198,7 +199,8 @@ final class DetailReactor: Reactor { popUpName: popUpName, userAPIUseCase: userAPIUseCase, popUpAPIUseCase: popUpAPIUseCase, - commentAPIUseCase: commentAPIUseCase + commentAPIUseCase: commentAPIUseCase, + preSignedUseCase: preSignedUseCase ) controller.navigationController?.pushViewController(nextController, animated: true) } else { @@ -232,7 +234,8 @@ final class DetailReactor: Reactor { popUpID: id, userAPIUseCase: userAPIUseCase, popUpAPIUseCase: popUpAPIUseCase, - commentAPIUseCase: commentAPIUseCase + commentAPIUseCase: commentAPIUseCase, + preSignedUseCase: preSignedUseCase ) controller.navigationController?.pushViewController(nextController, animated: true) case .moveToRecentScene(let controller): @@ -548,7 +551,8 @@ extension DetailReactor { popUpID: self.popUpID, popUpName: popUpName, comment: comment, - commentAPIUseCase: self.commentAPIUseCase + commentAPIUseCase: self.commentAPIUseCase, + preSignedUseCase: self.preSignedUseCase ) controller?.navigationController?.pushViewController(editController, animated: true) } diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Home/Main/HomeReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Home/Main/HomeReactor.swift index 228abf0a..b27415c1 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Home/Main/HomeReactor.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Home/Main/HomeReactor.swift @@ -1,5 +1,8 @@ import UIKit +import DomainInterface +import Infrastructure + import ReactorKit import RxCocoa import RxSwift @@ -281,7 +284,8 @@ final class HomeReactor: Reactor { popUpID: id, userAPIUseCase: userAPIUseCase, popUpAPIUseCase: DIContainer.resolve(PopUpAPIUseCase.self), - commentAPIUseCase: DIContainer.resolve(CommentAPIUseCase.self) + commentAPIUseCase: DIContainer.resolve(CommentAPIUseCase.self), + preSignedUseCase: DIContainer.resolve(PreSignedUseCase.self) ) currentController.navigationController?.pushViewController(controller, animated: true) } @@ -300,7 +304,8 @@ final class HomeReactor: Reactor { popUpID: id, userAPIUseCase: userAPIUseCase, popUpAPIUseCase: DIContainer.resolve(PopUpAPIUseCase.self), - commentAPIUseCase: DIContainer.resolve(CommentAPIUseCase.self) + commentAPIUseCase: DIContainer.resolve(CommentAPIUseCase.self), + preSignedUseCase: DIContainer.resolve(PreSignedUseCase.self) ) currentController.navigationController?.pushViewController(controller, animated: true) case 7: @@ -318,7 +323,8 @@ final class HomeReactor: Reactor { popUpID: id, userAPIUseCase: userAPIUseCase, popUpAPIUseCase: DIContainer.resolve(PopUpAPIUseCase.self), - commentAPIUseCase: DIContainer.resolve(CommentAPIUseCase.self) + commentAPIUseCase: DIContainer.resolve(CommentAPIUseCase.self), + preSignedUseCase: DIContainer.resolve(PreSignedUseCase.self) ) currentController.navigationController?.pushViewController(controller, animated: true) case 12: @@ -336,7 +342,8 @@ final class HomeReactor: Reactor { popUpID: id, userAPIUseCase: userAPIUseCase, popUpAPIUseCase: DIContainer.resolve(PopUpAPIUseCase.self), - commentAPIUseCase: DIContainer.resolve(CommentAPIUseCase.self) + commentAPIUseCase: DIContainer.resolve(CommentAPIUseCase.self), + preSignedUseCase: DIContainer.resolve(PreSignedUseCase.self) ) currentController.navigationController?.pushViewController(controller, animated: true) default: @@ -351,7 +358,8 @@ final class HomeReactor: Reactor { popUpID: id, userAPIUseCase: userAPIUseCase, popUpAPIUseCase: DIContainer.resolve(PopUpAPIUseCase.self), - commentAPIUseCase: DIContainer.resolve(CommentAPIUseCase.self) + commentAPIUseCase: DIContainer.resolve(CommentAPIUseCase.self), + preSignedUseCase: DIContainer.resolve(PreSignedUseCase.self) ) currentController.navigationController?.pushViewController(controller, animated: true) } @@ -370,7 +378,8 @@ final class HomeReactor: Reactor { popUpID: id, userAPIUseCase: userAPIUseCase, popUpAPIUseCase: DIContainer.resolve(PopUpAPIUseCase.self), - commentAPIUseCase: DIContainer.resolve(CommentAPIUseCase.self) + commentAPIUseCase: DIContainer.resolve(CommentAPIUseCase.self), + preSignedUseCase: DIContainer.resolve(PreSignedUseCase.self) ) currentController.navigationController?.pushViewController(controller, animated: true) case 7: @@ -388,7 +397,8 @@ final class HomeReactor: Reactor { popUpID: id, userAPIUseCase: userAPIUseCase, popUpAPIUseCase: DIContainer.resolve(PopUpAPIUseCase.self), - commentAPIUseCase: DIContainer.resolve(CommentAPIUseCase.self) + commentAPIUseCase: DIContainer.resolve(CommentAPIUseCase.self), + preSignedUseCase: DIContainer.resolve(PreSignedUseCase.self) ) currentController.navigationController?.pushViewController(controller, animated: true) default: diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Login/Main/LoginController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Login/Main/LoginController.swift index 47912023..df5d00de 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Login/Main/LoginController.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Login/Main/LoginController.swift @@ -7,6 +7,8 @@ import UIKit +import Infrastructure + import ReactorKit import RxCocoa import RxSwift diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/FindMap/MapGuideView/FullScreenMapViewController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/FindMap/MapGuideView/FullScreenMapViewController.swift index 82393654..b6f8989a 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/FindMap/MapGuideView/FullScreenMapViewController.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/FindMap/MapGuideView/FullScreenMapViewController.swift @@ -1,9 +1,13 @@ import CoreLocation +import UIKit + +import DomainInterface +import Infrastructure + import NMapsMap import RxCocoa import RxSwift import SnapKit -import UIKit class FullScreenMapViewController: MapViewController { // MARK: - Properties diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/FindMap/MapGuideView/MapGuideViewController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/FindMap/MapGuideView/MapGuideViewController.swift index 9f45b079..d583d286 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/FindMap/MapGuideView/MapGuideViewController.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/FindMap/MapGuideView/MapGuideViewController.swift @@ -1,9 +1,13 @@ import CoreLocation +import UIKit + +import DomainInterface +import Infrastructure + import NMapsMap import ReactorKit import RxSwift import SnapKit -import UIKit final class MapGuideViewController: UIViewController, View { // MARK: - Properties diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/MapView/MapReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/MapView/MapReactor.swift index d5d5d9b8..dd6d5db1 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/MapView/MapReactor.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/MapView/MapReactor.swift @@ -1,4 +1,8 @@ import CoreLocation + +import DomainInterface +import Infrastructure + import ReactorKit import RxSwift @@ -227,9 +231,7 @@ final class MapReactor: Reactor { }, onSubscribe: { } ) - .map { dto in - let response = dto.toDomain() - + .map { response in return MapPopUpStore( id: response.id, category: response.categoryName, diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/MapView/MapViewController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/MapView/MapViewController.swift index 243ad3f6..1c275561 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/MapView/MapViewController.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/MapView/MapViewController.swift @@ -1,4 +1,9 @@ +import UIKit import CoreLocation + +import DomainInterface +import Infrastructure + import FloatingPanel import NMapsMap import ReactorKit @@ -6,7 +11,6 @@ import RxCocoa import RxGesture import RxSwift import SnapKit -import UIKit class MapViewController: BaseViewController, View, CLLocationManagerDelegate, NMFMapViewTouchDelegate, NMFMapViewCameraDelegate, UIGestureRecognizerDelegate { typealias Reactor = MapReactor @@ -126,7 +130,8 @@ class MapViewController: BaseViewController, View, CLLocationManagerDelegate, NM popUpID: Int64(store.id), userAPIUseCase: DIContainer.resolve(UserAPIUseCase.self), popUpAPIUseCase: self?.popUpAPIUseCase ?? DIContainer.resolve(PopUpAPIUseCase.self), - commentAPIUseCase: DIContainer.resolve(CommentAPIUseCase.self) + commentAPIUseCase: DIContainer.resolve(CommentAPIUseCase.self), + preSignedUseCase: DIContainer.resolve(PreSignedUseCase.self) ) self?.navigationController?.isNavigationBarHidden = false diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/MapView/MarkerTooltipView.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/MapView/MarkerTooltipView.swift index a1c2bffe..ed8ce855 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/MapView/MarkerTooltipView.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/MapView/MarkerTooltipView.swift @@ -1,6 +1,9 @@ -import SnapKit import UIKit +import DomainInterface + +import SnapKit + final class MarkerTooltipView: UIView, UIGestureRecognizerDelegate { // MARK: - Properties diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/StoreListView/StoreListReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/StoreListView/StoreListReactor.swift index 5204520c..054506ce 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/StoreListView/StoreListReactor.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/StoreListView/StoreListReactor.swift @@ -1,4 +1,8 @@ import Foundation + +import DomainInterface +import Infrastructure + import ReactorKit import RxCocoa import RxSwift diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/StoreListView/StoreListViewController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/StoreListView/StoreListViewController.swift index 9ab19b90..92dba9d9 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/StoreListView/StoreListViewController.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/StoreListView/StoreListViewController.swift @@ -1,10 +1,14 @@ +import UIKit + +import DomainInterface +import Infrastructure + import FloatingPanel import ReactorKit import RxCocoa import RxDataSources import RxSwift import SnapKit -import UIKit final class StoreListViewController: UIViewController, View { typealias Reactor = StoreListReactor @@ -120,7 +124,8 @@ final class StoreListViewController: UIViewController, View { popUpID: Int64(store.id), userAPIUseCase: DIContainer.resolve(UserAPIUseCase.self), popUpAPIUseCase: DIContainer.resolve(PopUpAPIUseCase.self), - commentAPIUseCase: DIContainer.resolve(CommentAPIUseCase.self) + commentAPIUseCase: DIContainer.resolve(CommentAPIUseCase.self), + preSignedUseCase: DIContainer.resolve(PreSignedUseCase.self) ) owner.navigationController?.isNavigationBarHidden = false diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Block/BlockUserManageReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Block/BlockUserManageReactor.swift index e0439e64..7d8bc987 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Block/BlockUserManageReactor.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Block/BlockUserManageReactor.swift @@ -1,12 +1,7 @@ -// -// BlockUserManageReactor.swift -// Poppool -// -// Created by SeoJunYoung on 1/12/25. -// - import UIKit +import DomainInterface + import ReactorKit import RxCocoa import RxSwift diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Bookmark/Main/MyPageBookmarkReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Bookmark/Main/MyPageBookmarkReactor.swift index 56ecea39..fd82c499 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Bookmark/Main/MyPageBookmarkReactor.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Bookmark/Main/MyPageBookmarkReactor.swift @@ -179,7 +179,8 @@ final class MyPageBookmarkReactor: Reactor { popUpID: listSection.inputDataList[row].id, userAPIUseCase: userAPIUseCase, popUpAPIUseCase: DIContainer.resolve(PopUpAPIUseCase.self), - commentAPIUseCase: DIContainer.resolve(CommentAPIUseCase.self) + commentAPIUseCase: DIContainer.resolve(CommentAPIUseCase.self), + preSignedUseCase: DIContainer.resolve(PreSignedUseCase.self) ) controller.navigationController?.pushViewController(nextController, animated: true) case .presentModal(let controller): diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Main/MyPageReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Main/MyPageReactor.swift index 3150edd4..3fe8c1d9 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Main/MyPageReactor.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Main/MyPageReactor.swift @@ -1,14 +1,11 @@ -// -// MyPageReactor.swift -// Poppool -// -// Created by SeoJunYoung on 12/30/24. -// +import UIKit + +import DomainInterface +import Infrastructure import ReactorKit import RxCocoa import RxSwift -import UIKit final class MyPageReactor: Reactor { @@ -183,7 +180,8 @@ final class MyPageReactor: Reactor { let nextController = ProfileEditController() nextController.reactor = ProfileEditReactor( userAPIUseCase: userAPIUseCase, - signUpAPIUseCase: DIContainer.resolve(SignUpAPIUseCase.self) + signUpAPIUseCase: DIContainer.resolve(SignUpAPIUseCase.self), + preSignedUseCase: DIContainer.resolve(PreSignedUseCase.self) ) controller.navigationController?.pushViewController(nextController, animated: true) @@ -262,7 +260,8 @@ final class MyPageReactor: Reactor { popUpID: popUpID, userAPIUseCase: userAPIUseCase, popUpAPIUseCase: DIContainer.resolve(PopUpAPIUseCase.self), - commentAPIUseCase: DIContainer.resolve(CommentAPIUseCase.self) + commentAPIUseCase: DIContainer.resolve(CommentAPIUseCase.self), + preSignedUseCase: DIContainer.resolve(PreSignedUseCase.self) ) controller.navigationController?.pushViewController(nextController, animated: true) diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/MyComment/Main/MyCommentReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/MyComment/Main/MyCommentReactor.swift index a41eb076..2b4911db 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/MyComment/Main/MyCommentReactor.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/MyComment/Main/MyCommentReactor.swift @@ -1,12 +1,8 @@ -// -// MyCommentReactor.swift -// Poppool -// -// Created by SeoJunYoung on 1/8/25. -// - import UIKit +import DomainInterface +import Infrastructure + import ReactorKit import RxCocoa import RxSwift @@ -111,7 +107,8 @@ final class MyCommentReactor: Reactor { popUpID: popUpID, userAPIUseCase: userAPIUseCase, popUpAPIUseCase: DIContainer.resolve(PopUpAPIUseCase.self), - commentAPIUseCase: DIContainer.resolve(CommentAPIUseCase.self) + commentAPIUseCase: DIContainer.resolve(CommentAPIUseCase.self), + preSignedUseCase: DIContainer.resolve(PreSignedUseCase.self) ) controller.navigationController?.pushViewController(nextController, animated: true) case .moveToRecentScene(let controller): diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/ProfileEdit/Main/ProfileEditController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/ProfileEdit/Main/ProfileEditController.swift index 95801cc2..9dc41725 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/ProfileEdit/Main/ProfileEditController.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/ProfileEdit/Main/ProfileEditController.swift @@ -1,13 +1,8 @@ -// -// ProfileEditController.swift -// Poppool -// -// Created by SeoJunYoung on 1/4/25. -// - import PhotosUI import UIKit +import Infrastructure + import ReactorKit import RxCocoa import RxGesture diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Recent/MyPageRecentReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Recent/MyPageRecentReactor.swift index 06318f0a..94b3f651 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Recent/MyPageRecentReactor.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Recent/MyPageRecentReactor.swift @@ -1,12 +1,8 @@ -// -// MyPageRecentReactor.swift -// Poppool -// -// Created by SeoJunYoung on 1/14/25. -// - import UIKit +import DomainInterface +import Infrastructure + import ReactorKit import RxCocoa import RxSwift @@ -130,7 +126,8 @@ final class MyPageRecentReactor: Reactor { popUpID: listSection.inputDataList[row].id, userAPIUseCase: userAPIUseCase, popUpAPIUseCase: DIContainer.resolve(PopUpAPIUseCase.self), - commentAPIUseCase: DIContainer.resolve(CommentAPIUseCase.self) + commentAPIUseCase: DIContainer.resolve(CommentAPIUseCase.self), + preSignedUseCase: DIContainer.resolve(PreSignedUseCase.self) ) controller.navigationController?.pushViewController(nextController, animated: true) } diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Withdrawl/SelectedReason/WithdrawlReasonReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Withdrawl/SelectedReason/WithdrawlReasonReactor.swift index 4748166b..8cb10ad6 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Withdrawl/SelectedReason/WithdrawlReasonReactor.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/Withdrawl/SelectedReason/WithdrawlReasonReactor.swift @@ -1,12 +1,8 @@ -// -// WithdrawlReasonReactor.swift -// Poppool -// -// Created by SeoJunYoung on 1/7/25. -// - import UIKit +import DomainInterface +import Infrastructure + import ReactorKit import RxCocoa import RxSwift diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Search/CategoryController/SearchCategoryReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Search/CategoryController/SearchCategoryReactor.swift index 66554ab7..267f5dcb 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Search/CategoryController/SearchCategoryReactor.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Search/CategoryController/SearchCategoryReactor.swift @@ -1,12 +1,7 @@ -// -// SearchCategoryReactor.swift -// Poppool -// -// Created by SeoJunYoung on 12/6/24. -// - import UIKit +import DomainInterface + import ReactorKit import RxCocoa import RxSwift diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Search/Main/SearchMainController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Search/Main/SearchMainController.swift index 91840c9c..7eb6542e 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Search/Main/SearchMainController.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Search/Main/SearchMainController.swift @@ -1,12 +1,8 @@ -// -// SearchMainController.swift -// Poppool -// -// Created by SeoJunYoung on 12/7/24. -// - import UIKit +import DomainInterface +import Infrastructure + import Pageboy import ReactorKit import RxCocoa diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/Main/SignUpMainController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/Main/SignUpMainController.swift index 9e31c30e..e72b9a4c 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/Main/SignUpMainController.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/Main/SignUpMainController.swift @@ -1,12 +1,8 @@ -// -// SignUpMainController.swift -// Poppool -// -// Created by SeoJunYoung on 11/25/24. -// - import UIKit +import DomainInterface +import Infrastructure + import Pageboy import ReactorKit import RxCocoa diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/Main/SignUpMainReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/Main/SignUpMainReactor.swift index adeaa99e..c4f3db3a 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/Main/SignUpMainReactor.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/Main/SignUpMainReactor.swift @@ -1,9 +1,5 @@ -// -// SignUpMainReactor.swift -// Poppool -// -// Created by SeoJunYoung on 11/25/24. -// +import DomainInterface +import Infrastructure import ReactorKit import RxCocoa diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/Step2/SignUpStep2Reactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/Step2/SignUpStep2Reactor.swift index 24f21cfb..3c700b01 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/Step2/SignUpStep2Reactor.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/Step2/SignUpStep2Reactor.swift @@ -1,12 +1,8 @@ -// -// SignUpStep2Reactor.swift -// Poppool -// -// Created by SeoJunYoung on 11/25/24. -// - import UIKit +import DomainInterface +import Infrastructure + import ReactorKit import RxCocoa import RxSwift diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/Step3/SignUpStep3Reactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/Step3/SignUpStep3Reactor.swift index 142a0124..078e6d52 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/Step3/SignUpStep3Reactor.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/SignUp/Step3/SignUpStep3Reactor.swift @@ -1,12 +1,7 @@ -// -// SignUpStep3Reactor.swift -// Poppool -// -// Created by SeoJunYoung on 11/25/24. -// - import UIKit +import DomainInterface + import ReactorKit import RxCocoa import RxSwift diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Splash/SplashController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Splash/SplashController.swift index 4aece5de..e28d8ac6 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Splash/SplashController.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Splash/SplashController.swift @@ -9,10 +9,6 @@ import RxSwift import SnapKit public final class SplashController: BaseViewController { - - public override init() { } - - required init?(coder: NSCoder) { fatalError("init(coder:) has not been implemented") } // MARK: - Properties var disposeBag = DisposeBag() diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/TabbarController/TabbarController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/TabbarController/TabbarController.swift index 4be350da..8bee4e8b 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/TabbarController/TabbarController.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/TabbarController/TabbarController.swift @@ -1,12 +1,8 @@ -// -// TabbarController.swift -// Poppool -// -// Created by SeoJunYoung on 12/1/24. -// - import UIKit +import DomainInterface +import Infrastructure + class WaveTabBarController: UITabBarController, UITabBarControllerDelegate { private let waveLayer = CAShapeLayer() diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Utills/Common/ClusteringManager.swift b/Poppool/PresentationLayer/Presentation/Presentation/Utills/Common/ClusteringManager.swift index ad3b265f..23bebd96 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Utills/Common/ClusteringManager.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Utills/Common/ClusteringManager.swift @@ -1,3 +1,6 @@ +import DomainInterface +import Infrastructure + import NMapsMap class ClusteringManager { diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Utills/Controllers/BaseTabmanController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Utills/Controllers/BaseTabmanController.swift index 639a66e5..42a777dd 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Utills/Controllers/BaseTabmanController.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Utills/Controllers/BaseTabmanController.swift @@ -1,12 +1,7 @@ -// -// BaseTabmanController.swift -// MomsVillage -// -// Created by SeoJunYoung on 9/25/24. -// - import UIKit +import Infrastructure + import Pageboy import Tabman diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Utills/Controllers/BaseViewController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Utills/Controllers/BaseViewController.swift index 19da325b..03eeded3 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Utills/Controllers/BaseViewController.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Utills/Controllers/BaseViewController.swift @@ -10,7 +10,7 @@ public class BaseViewController: UIViewController { var systemStatusBarIsDark: BehaviorRelay = .init(value: true) var systemStatusBarDisposeBag = DisposeBag() - init() { + public init() { super.init(nibName: nil, bundle: nil) Logger.log( message: "\(self) init", @@ -20,7 +20,7 @@ public class BaseViewController: UIViewController { ) } - required init?(coder: NSCoder) { + public required init?(coder: NSCoder) { fatalError("init(coder:) has not been implemented") } diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Utills/ToastMaker/ToastMaker.swift b/Poppool/PresentationLayer/Presentation/Presentation/Utills/ToastMaker/ToastMaker.swift index 924c7b0e..7c6f29be 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Utills/ToastMaker/ToastMaker.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Utills/ToastMaker/ToastMaker.swift @@ -1,12 +1,8 @@ -// -// ToastMaker.swift -// Poppool -// -// Created by SeoJunYoung on 11/25/24. -// - import UIKit +import DomainInterface +import Infrastructure + import RxCocoa import RxSwift import SnapKit From d845683ded38e3c734b1ec8c4c40d7aa2de07662 Mon Sep 17 00:00:00 2001 From: 0Hooni Date: Mon, 21 Apr 2025 20:43:54 +0900 Subject: [PATCH 75/83] =?UTF-8?q?remove/#112:=20InstaComment=20=EA=B4=80?= =?UTF-8?q?=EB=A0=A8=20=EC=BD=94=EB=93=9C=20=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../InstaCommentAddController.swift | 102 --------- .../InstaComment/InstaCommentAddReactor.swift | 153 ------------- .../View/InstaCommentAddView.swift | 93 -------- .../InstaGuideChildSection.swift | 42 ---- .../InstaGuideChildSectionCell.swift | 103 --------- .../InstaGuideSection/InstaGuideSection.swift | 41 ---- .../InstaGuideSectionCell.swift | 206 ------------------ 7 files changed, 740 deletions(-) delete mode 100644 Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/InstaComment/InstaCommentAddController.swift delete mode 100644 Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/InstaComment/InstaCommentAddReactor.swift delete mode 100644 Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/InstaComment/View/InstaCommentAddView.swift delete mode 100644 Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/InstaComment/View/InstaGuideSection/InstaGuideChildSection/InstaGuideChildSection.swift delete mode 100644 Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/InstaComment/View/InstaGuideSection/InstaGuideChildSection/InstaGuideChildSectionCell.swift delete mode 100644 Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/InstaComment/View/InstaGuideSection/InstaGuideSection/InstaGuideSection.swift delete mode 100644 Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/InstaComment/View/InstaGuideSection/InstaGuideSection/InstaGuideSectionCell.swift diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/InstaComment/InstaCommentAddController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/InstaComment/InstaCommentAddController.swift deleted file mode 100644 index 0c03cf24..00000000 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/InstaComment/InstaCommentAddController.swift +++ /dev/null @@ -1,102 +0,0 @@ -import UIKit - -import Infrastructure - -import ReactorKit -import RxCocoa -import RxSwift -import SnapKit -import SwiftSoup - -final class InstaCommentAddController: BaseViewController, View { - - typealias Reactor = InstaCommentAddReactor - - // MARK: - Properties - var disposeBag = DisposeBag() - - private var mainView = InstaCommentAddView() - private var sections: [any Sectionable] = [] -} - -// MARK: - Life Cycle -extension InstaCommentAddController { - override func viewDidLoad() { - super.viewDidLoad() - setUp() - } -} - -// MARK: - SetUp -private extension InstaCommentAddController { - func setUp() { - if let layout = reactor?.compositionalLayout { - mainView.contentCollectionView.collectionViewLayout = layout - } - mainView.contentCollectionView.delegate = self - mainView.contentCollectionView.dataSource = self - mainView.contentCollectionView.register(InstaGuideSectionCell.self, forCellWithReuseIdentifier: InstaGuideSectionCell.identifiers) - view.backgroundColor = .g50 - view.addSubview(mainView) - mainView.snp.makeConstraints { make in - make.edges.equalTo(view.safeAreaLayoutGuide) - } - } -} - -// MARK: - Methods -extension InstaCommentAddController { - func bind(reactor: Reactor) { - - SceneDelegate.appDidBecomeActive - .subscribe { _ in - if let url = UIPasteboard.general.string { -// guard let url = URL(string: url) else { return } -// self.crawl(url: url) -// self.fetchHTML(url: url) - } else { - print("Clipboard is empty or does not contain text") - } - } - .disposed(by: disposeBag) - - rx.viewWillAppear - .map { Reactor.Action.viewWillAppear } - .bind(to: reactor.action) - .disposed(by: disposeBag) - - mainView.instaButton.rx.tap - .map { Reactor.Action.instaButtonTapped } - .bind(to: reactor.action) - .disposed(by: disposeBag) - - reactor.state - .withUnretained(self) - .subscribe { (owner, state) in - owner.sections = state.sections - owner.mainView.contentCollectionView.reloadData() - } - .disposed(by: disposeBag) - } -} - -// MARK: - UICollectionViewDelegate, UICollectionViewDataSource -extension InstaCommentAddController: UICollectionViewDelegate, UICollectionViewDataSource { - func numberOfSections(in collectionView: UICollectionView) -> Int { - return sections.count - } - - func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { - return sections[section].dataCount - } - - func collectionView( - _ collectionView: UICollectionView, - cellForItemAt indexPath: IndexPath - ) -> UICollectionViewCell { - let cell = sections[indexPath.section].getCell(collectionView: collectionView, indexPath: indexPath) - guard let reactor = reactor else { return cell } - - return cell - } -} diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/InstaComment/InstaCommentAddReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/InstaComment/InstaCommentAddReactor.swift deleted file mode 100644 index c9d0e127..00000000 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/InstaComment/InstaCommentAddReactor.swift +++ /dev/null @@ -1,153 +0,0 @@ -// -// InstaCommentAddReactor.swift -// Poppool -// -// Created by SeoJunYoung on 12/15/24. -// - -import UIKit - -import ReactorKit -import RxCocoa -import RxSwift - -final class InstaCommentAddReactor: Reactor { - - // MARK: - Reactor - enum Action { - case viewWillAppear - case instaButtonTapped - } - - enum Mutation { - case loadView - case moveToInsta - } - - struct State { - var sections: [any Sectionable] = [] - } - - // MARK: - properties - - var initialState: State - var disposeBag = DisposeBag() - - lazy var compositionalLayout: UICollectionViewCompositionalLayout = { - UICollectionViewCompositionalLayout { [weak self] section, env in - guard let self = self else { - return NSCollectionLayoutSection(group: NSCollectionLayoutGroup( - layoutSize: .init( - widthDimension: .fractionalWidth(1), - heightDimension: .fractionalHeight(1) - )) - ) - } - return getSection()[section].getSection(section: section, env: env) - } - }() - - private let guideSection = InstaGuideSection(inputDataList: [ - .init( - imageList: [ - UIImage(named: "icon_instaGuide_0"), - UIImage(named: "icon_instaGuide_1"), - UIImage(named: "icon_instaGuide_2"), - UIImage(named: "icon_instaGuide_3") - ], - title: [ - { - let title = "아래 인스타그램 열기\n버튼을 터치해 앱 열기" - let attributedTitle = NSMutableAttributedString(string: title) - let koreanFont = UIFont.korFont(style: .bold, size: 20)! - attributedTitle.addAttribute(.font, value: koreanFont, range: NSRange(location: 0, length: title.count)) - attributedTitle.addAttribute(.foregroundColor, value: UIColor.blu500.cgColor, range: (title as NSString).range(of: "인스타그램 열기")) - let paragraphStyle = NSMutableParagraphStyle() - paragraphStyle.lineHeightMultiple = 1.2 - attributedTitle.addAttribute(.paragraphStyle, value: paragraphStyle, range: NSRange(location: 0, length: title.count)) - return attributedTitle - }(), - { - let title = "원하는 피드의 이미지로 이동 후\n공유하기 > 링크복사 터치하기" - let attributedTitle = NSMutableAttributedString(string: title) - let koreanFont = UIFont.korFont(style: .bold, size: 20)! - attributedTitle.addAttribute(.font, value: koreanFont, range: NSRange(location: 0, length: title.count)) - attributedTitle.addAttribute(.foregroundColor, value: UIColor.blu500.cgColor, range: (title as NSString).range(of: "공유하기 > 링크복사")) - let paragraphStyle = NSMutableParagraphStyle() - paragraphStyle.lineHeightMultiple = 1.2 - attributedTitle.addAttribute(.paragraphStyle, value: paragraphStyle, range: NSRange(location: 0, length: title.count)) - return attributedTitle - }(), - { - let title = "아래 이미지 영역을 터치해\n팝풀 앱으로 돌아오기" - let attributedTitle = NSMutableAttributedString(string: title) - let koreanFont = UIFont.korFont(style: .bold, size: 20)! - attributedTitle.addAttribute(.font, value: koreanFont, range: NSRange(location: 0, length: title.count)) - attributedTitle.addAttribute(.foregroundColor, value: UIColor.blu500.cgColor, range: (title as NSString).range(of: "팝풀 앱")) - let paragraphStyle = NSMutableParagraphStyle() - paragraphStyle.lineHeightMultiple = 1.2 - attributedTitle.addAttribute(.paragraphStyle, value: paragraphStyle, range: NSRange(location: 0, length: title.count)) - return attributedTitle - }(), - { - let title = "복사된 인스타 피드 이미지와\n함께할 글을 입력 후 등록하기" - let attributedTitle = NSMutableAttributedString(string: title) - let koreanFont = UIFont.korFont(style: .bold, size: 20)! - attributedTitle.addAttribute(.font, value: koreanFont, range: NSRange(location: 0, length: title.count)) - attributedTitle.addAttribute(.foregroundColor, value: UIColor.blu500.cgColor, range: (title as NSString).range(of: "글을 입력 후 등록")) - let paragraphStyle = NSMutableParagraphStyle() - paragraphStyle.lineHeightMultiple = 1.2 - attributedTitle.addAttribute(.paragraphStyle, value: paragraphStyle, range: NSRange(location: 0, length: title.count)) - return attributedTitle - }() - ] - ) - ]) - - // MARK: - init - init() { - self.initialState = State() - } - - // MARK: - Reactor Methods - func mutate(action: Action) -> Observable { - switch action { - case .viewWillAppear: - return Observable.just(.loadView) - case .instaButtonTapped: - return Observable.just(.moveToInsta) - } - } - - func reduce(state: State, mutation: Mutation) -> State { - var newState = state - switch mutation { - case .loadView: - newState.sections = getSection() - case .moveToInsta: - openInstagram() - - } - return newState - } - - func getSection() -> [any Sectionable] { - return [ - guideSection - ] - } - - func openInstagram() { - // Instagram 앱의 URL Scheme - let instagramURL = URL(string: "instagram://app")! - - if UIApplication.shared.canOpenURL(instagramURL) { - // Instagram 앱 열기 - UIApplication.shared.open(instagramURL, options: [:], completionHandler: nil) - } else { - // Instagram 앱이 설치되지 않은 경우 - let appStoreURL = URL(string: "https://apps.apple.com/app/instagram/id389801252")! - UIApplication.shared.open(appStoreURL, options: [:], completionHandler: nil) - } - } -} diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/InstaComment/View/InstaCommentAddView.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/InstaComment/View/InstaCommentAddView.swift deleted file mode 100644 index c7c9faa0..00000000 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/InstaComment/View/InstaCommentAddView.swift +++ /dev/null @@ -1,93 +0,0 @@ -// -// InstaCommentAddView.swift -// Poppool -// -// Created by SeoJunYoung on 12/15/24. -// - -import UIKit - -import SnapKit - -final class InstaCommentAddView: UIView { - - // MARK: - Components - let headerView: PPReturnHeaderView = { - let view = PPReturnHeaderView() - view.headerLabel.setLineHeightText(text: "코멘트 작성하기", font: .korFont(style: .regular, size: 15)) - return view - }() - - let instaButton: UIButton = { - let button = UIButton() - button.setTitleColor(.white, for: .normal) - button.backgroundColor = .g900 - button.layer.cornerRadius = 4 - - let title = "Instagram 열기" - let attributedTitle = NSMutableAttributedString(string: title) - - let englishFont = UIFont.engFont(style: .medium, size: 15)! - attributedTitle.addAttribute(.font, value: englishFont, range: (title as NSString).range(of: "Instagram")) - - let koreanFont = UIFont.korFont(style: .medium, size: 15)! - attributedTitle.addAttribute(.font, value: koreanFont, range: (title as NSString).range(of: "열기")) - - button.setAttributedTitle(attributedTitle, for: .normal) - - return button - }() - - private let instaImageView: UIImageView = { - let view = UIImageView() - view.image = UIImage(named: "icon_instagram") - return view - }() - - let contentCollectionView: UICollectionView = { - let view = UICollectionView(frame: .zero, collectionViewLayout: .init()) - view.backgroundColor = .g50 - return view - }() - - // MARK: - init - init() { - super.init(frame: .zero) - setUpConstraints() - } - - required init?(coder: NSCoder) { - fatalError("init(coder:) has not been implemented") - } -} - -// MARK: - SetUp -private extension InstaCommentAddView { - - func setUpConstraints() { - self.addSubview(headerView) - headerView.snp.makeConstraints { make in - make.top.leading.trailing.equalToSuperview() - } - - self.addSubview(instaButton) - instaButton.snp.makeConstraints { make in - make.leading.trailing.bottom.equalToSuperview().inset(20) - make.height.equalTo(52) - } - - instaButton.addSubview(instaImageView) - instaImageView.snp.makeConstraints { make in - make.leading.equalToSuperview().inset(20) - make.centerY.equalToSuperview() - make.size.equalTo(22) - } - - self.addSubview(contentCollectionView) - contentCollectionView.snp.makeConstraints { make in - make.top.equalTo(headerView.snp.bottom) - make.leading.trailing.equalToSuperview() - make.bottom.equalTo(instaButton.snp.top) - } - } -} diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/InstaComment/View/InstaGuideSection/InstaGuideChildSection/InstaGuideChildSection.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/InstaComment/View/InstaGuideSection/InstaGuideChildSection/InstaGuideChildSection.swift deleted file mode 100644 index cb88aa60..00000000 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/InstaComment/View/InstaGuideSection/InstaGuideChildSection/InstaGuideChildSection.swift +++ /dev/null @@ -1,42 +0,0 @@ -// -// InstaGuideChildSection.swift -// Poppool -// -// Created by SeoJunYoung on 12/15/24. -// - -import UIKit - -import RxSwift - -struct InstaGuideChildSection: Sectionable { - - var currentPage: PublishSubject = .init() - - typealias CellType = InstaGuideChildSectionCell - - var inputDataList: [CellType.Input] - - var supplementaryItems: [any SectionSupplementaryItemable]? - - var decorationItems: [any SectionDecorationItemable]? - - func setSection(section: Int, env: any NSCollectionLayoutEnvironment) -> NSCollectionLayoutSection { - let itemSize = NSCollectionLayoutSize( - widthDimension: .fractionalWidth(1), - heightDimension: .estimated(500) - ) - let item = NSCollectionLayoutItem(layoutSize: itemSize) - - let groupSize = NSCollectionLayoutSize( - widthDimension: .fractionalWidth(1), - heightDimension: .estimated(500) - ) - let group = NSCollectionLayoutGroup.horizontal(layoutSize: groupSize, subitems: [item]) - - // 섹션 생성 - let section = NSCollectionLayoutSection(group: group) - section.orthogonalScrollingBehavior = .paging - return section - } -} diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/InstaComment/View/InstaGuideSection/InstaGuideChildSection/InstaGuideChildSectionCell.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/InstaComment/View/InstaGuideSection/InstaGuideChildSection/InstaGuideChildSectionCell.swift deleted file mode 100644 index 5a4bff39..00000000 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/InstaComment/View/InstaGuideSection/InstaGuideChildSection/InstaGuideChildSectionCell.swift +++ /dev/null @@ -1,103 +0,0 @@ -// -// InstaGuideChildSectionCell.swift -// Poppool -// -// Created by SeoJunYoung on 12/15/24. -// - -import UIKit - -import RxSwift -import SnapKit - -final class InstaGuideChildSectionCell: UICollectionViewCell { - - // MARK: - Components - - let disposeBag = DisposeBag() - - private let indexTrailgView: UIView = { - let view = UIView() - view.backgroundColor = .g900 - view.clipsToBounds = true - view.layer.cornerRadius = 4 - return view - }() - - private let indexLabel: UILabel = { - let label = UILabel() - label.font = .engFont(style: .medium, size: 16) - label.textColor = .w100 - label.textAlignment = .center - return label - }() - - private let titleLabel: UILabel = { - let label = UILabel() - label.numberOfLines = 2 - return label - }() - - private let imageView: UIImageView = { - let view = UIImageView() - view.layer.cornerRadius = 8 - view.clipsToBounds = true - return view - }() - - // MARK: - init - - override init(frame: CGRect) { - super.init(frame: frame) - setUpConstraints() - } - - required init?(coder: NSCoder) { - fatalError() - } -} - -// MARK: - SetUp -private extension InstaGuideChildSectionCell { - func setUpConstraints() { - contentView.addSubview(indexTrailgView) - indexTrailgView.snp.makeConstraints { make in - make.top.equalToSuperview().inset(36) - make.leading.equalToSuperview().inset(20) - make.width.equalTo(40) - make.height.equalTo(33) - } - - indexTrailgView.addSubview(indexLabel) - indexLabel.snp.makeConstraints { make in - make.center.equalToSuperview() - } - - contentView.addSubview(titleLabel) - titleLabel.snp.makeConstraints { make in - make.leading.trailing.equalToSuperview().inset(20) - make.top.equalTo(indexTrailgView.snp.bottom).offset(16) - } - contentView.addSubview(imageView) - imageView.snp.makeConstraints { make in - make.size.equalTo(335) - make.centerX.equalToSuperview() - make.top.equalTo(titleLabel.snp.bottom).offset(28) - make.bottom.equalToSuperview() - } - } -} - -extension InstaGuideChildSectionCell: Inputable { - struct Input { - var image: UIImage? - var title: NSMutableAttributedString? - var index: Int - } - - func injection(with input: Input) { - indexLabel.text = "#\(input.index + 1)" - titleLabel.attributedText = input.title - imageView.image = input.image - } -} diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/InstaComment/View/InstaGuideSection/InstaGuideSection/InstaGuideSection.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/InstaComment/View/InstaGuideSection/InstaGuideSection/InstaGuideSection.swift deleted file mode 100644 index 13bfca92..00000000 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/InstaComment/View/InstaGuideSection/InstaGuideSection/InstaGuideSection.swift +++ /dev/null @@ -1,41 +0,0 @@ -// -// InstaGuideSection.swift -// Poppool -// -// Created by SeoJunYoung on 12/15/24. -// - -import UIKit - -import RxSwift - -struct InstaGuideSection: Sectionable { - - var currentPage: PublishSubject = .init() - - typealias CellType = InstaGuideSectionCell - - var inputDataList: [CellType.Input] - - var supplementaryItems: [any SectionSupplementaryItemable]? - - var decorationItems: [any SectionDecorationItemable]? - - func setSection(section: Int, env: any NSCollectionLayoutEnvironment) -> NSCollectionLayoutSection { - let itemSize = NSCollectionLayoutSize( - widthDimension: .fractionalWidth(1), - heightDimension: .estimated(600) - ) - let item = NSCollectionLayoutItem(layoutSize: itemSize) - - let groupSize = NSCollectionLayoutSize( - widthDimension: .fractionalWidth(1.0), - heightDimension: .estimated(600) - ) - let group = NSCollectionLayoutGroup.horizontal(layoutSize: groupSize, subitems: [item]) - - // 섹션 생성 - - return NSCollectionLayoutSection(group: group) - } -} diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/InstaComment/View/InstaGuideSection/InstaGuideSection/InstaGuideSectionCell.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/InstaComment/View/InstaGuideSection/InstaGuideSection/InstaGuideSectionCell.swift deleted file mode 100644 index d3c3371e..00000000 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/InstaComment/View/InstaGuideSection/InstaGuideSection/InstaGuideSectionCell.swift +++ /dev/null @@ -1,206 +0,0 @@ -// -// InstaGuideSectionCell.swift -// Poppool -// -// Created by SeoJunYoung on 12/15/24. -// - -import UIKit - -import RxSwift -import SnapKit - -final class InstaGuideSectionCell: UICollectionViewCell { - - // MARK: - Components - - let disposeBag = DisposeBag() - - private var autoScrollTimer: Timer? - - private lazy var contentCollectionView: UICollectionView = { - let view = UICollectionView(frame: .zero, collectionViewLayout: compositionalLayout) - view.isScrollEnabled = false - view.backgroundColor = .g50 - return view - }() - - var pageControl: UIPageControl = { - let controller = UIPageControl() - controller.currentPage = 0 - controller.preferredIndicatorImage = UIImage(systemName: "circle") - controller.preferredCurrentPageIndicatorImage = UIImage(systemName: "circle.fill") - controller.pageIndicatorTintColor = .pb30 - controller.currentPageIndicatorTintColor = .g600 - controller.isUserInteractionEnabled = false - controller.transform = CGAffineTransform(scaleX: 0.8, y: 0.8) - return controller - }() - - let stopButton: UIButton = { - let button = UIButton() - button.setImage(UIImage(named: "icon_banner_stopButton_gray"), for: .normal) - return button - }() - - private var isAutoBannerPlay: Bool = false - - private var imageSection = InstaGuideChildSection(inputDataList: []) - - lazy var compositionalLayout: UICollectionViewCompositionalLayout = { - UICollectionViewCompositionalLayout { [weak self] section, env in - guard let self = self else { - return NSCollectionLayoutSection(group: NSCollectionLayoutGroup( - layoutSize: .init( - widthDimension: .fractionalWidth(1), - heightDimension: .fractionalHeight(1) - )) - ) - } - return getSection()[section].getSection(section: section, env: env) - } - }() - - // MARK: - init - - override init(frame: CGRect) { - super.init(frame: frame) - setUp() - setUpConstraints() - bind() - } - - required init?(coder: NSCoder) { - fatalError() - } - - override func prepareForReuse() { - super.prepareForReuse() - stopAutoScroll() - } - - deinit { - stopAutoScroll() - } -} - -// MARK: - SetUp -private extension InstaGuideSectionCell { - func setUp() { - contentCollectionView.delegate = self - contentCollectionView.dataSource = self - - contentCollectionView.register( - InstaGuideChildSectionCell.self, - forCellWithReuseIdentifier: InstaGuideChildSectionCell.identifiers - ) - imageSection.currentPage - .withUnretained(self) - .subscribe { (owner, page) in - owner.pageControl.currentPage = page - } - .disposed(by: disposeBag) - } - - func setUpConstraints() { - contentView.addSubview(contentCollectionView) - contentCollectionView.snp.makeConstraints { make in - make.top.leading.trailing.equalToSuperview() - make.height.equalTo(504) - } - - contentView.addSubview(pageControl) - pageControl.snp.makeConstraints { make in - make.top.equalTo(contentCollectionView.snp.bottom) - make.centerX.equalToSuperview() - make.bottom.equalToSuperview() - } - - contentView.addSubview(stopButton) - stopButton.snp.makeConstraints { make in - make.size.equalTo(8) - make.centerY.equalTo(pageControl.snp.centerY) - make.leading.equalTo(pageControl.snp.trailing).offset(-36) - } - } - - func getSection() -> [any Sectionable] { - return [imageSection] - } - - func startAutoScroll(interval: TimeInterval = 3.0) { - stopAutoScroll() // 기존 타이머를 중지 - isAutoBannerPlay = true - autoScrollTimer = Timer.scheduledTimer(withTimeInterval: interval, repeats: true) { [weak self] _ in - self?.scrollToNextItem() - } - } - - // 자동 스크롤 중지 함수 - func stopAutoScroll() { - isAutoBannerPlay = false - autoScrollTimer?.invalidate() - autoScrollTimer = nil - } - - // 다음 배너로 스크롤 - private func scrollToNextItem() { - - let visibleIndexPaths = contentCollectionView.indexPathsForVisibleItems.sorted() - guard let currentIndex = visibleIndexPaths.first else { return } - - let nextIndex = IndexPath( - item: (currentIndex.item + 1) % imageSection.dataCount, - section: currentIndex.section - ) - - contentCollectionView.scrollToItem(at: nextIndex, at: .centeredHorizontally, animated: true) - pageControl.currentPage = nextIndex.item - } - - func bind() { - stopButton.rx.tap - .withUnretained(self) - .subscribe { (owner, _) in - if owner.isAutoBannerPlay { - owner.stopAutoScroll() - } else { - owner.startAutoScroll() - } - } - .disposed(by: disposeBag) - } -} - -extension InstaGuideSectionCell: Inputable { - struct Input { - var imageList: [UIImage?] - var title: [NSMutableAttributedString?] - } - - func injection(with input: Input) { - pageControl.numberOfPages = input.imageList.count - let datas = zip(input.imageList, input.title).enumerated().map { $0 } - imageSection.inputDataList = datas.map { .init(image: $0.element.0, title: $0.element.1, index: $0.offset)} - contentCollectionView.reloadData() - startAutoScroll() - } -} - -// MARK: - UICollectionViewDelegate, UICollectionViewDataSource -extension InstaGuideSectionCell: UICollectionViewDelegate, UICollectionViewDataSource { - - func numberOfSections(in collectionView: UICollectionView) -> Int { - return getSection().count - } - func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { - return getSection()[section].dataCount - } - - func collectionView( - _ collectionView: UICollectionView, - cellForItemAt indexPath: IndexPath - ) -> UICollectionViewCell { - return getSection()[indexPath.section].getCell(collectionView: collectionView, indexPath: indexPath) - } -} From ecc17d9010d0c3e5d73861d7b8fa13b0965e9c28 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=84=80=E1=85=B5=E1=86=B7=E1=84=80=E1=85=B5=E1=84=92?= =?UTF-8?q?=E1=85=A7=E1=86=AB?= Date: Mon, 21 Apr 2025 21:02:17 +0900 Subject: [PATCH 76/83] =?UTF-8?q?refactor/#112=20:=20authorizationCode=20?= =?UTF-8?q?=EC=A0=91=EA=B7=BC=EB=A0=88=EB=B2=A8=20Mutation=20=ED=83=80?= =?UTF-8?q?=EC=9E=85=EB=AA=85=EC=8B=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Entity/AuthResponse/AuthServiceResponse.swift | 8 ++++---- .../Presentation/Scene/Login/Sub/SubLoginReactor.swift | 3 ++- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/AuthResponse/AuthServiceResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/AuthResponse/AuthServiceResponse.swift index e6aa5fa0..5150eb84 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/AuthResponse/AuthServiceResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/AuthResponse/AuthServiceResponse.swift @@ -8,8 +8,8 @@ public struct AuthServiceResponse: Encodable { self.kakaoAccessToken = kakaoAccessToken } - var idToken: String? - var authorizationCode: String? - var kakaoUserId: Int64? - var kakaoAccessToken: String? + public var idToken: String? + public var authorizationCode: String? + public var kakaoUserId: Int64? + public var kakaoAccessToken: String? } diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Login/Sub/SubLoginReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Login/Sub/SubLoginReactor.swift index d257b177..216e4257 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Login/Sub/SubLoginReactor.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Login/Sub/SubLoginReactor.swift @@ -124,7 +124,8 @@ final class SubLoginReactor: Reactor { return owner.authAPIUseCase.postTryLogin(userCredential: response, socialType: "apple") } .withUnretained(self) - .map { [weak controller] (owner, loginResponse) in + + .map { [weak controller] (owner:SubLoginReactor, loginResponse:LoginResponse) -> Mutation in guard let controller = controller else { return .loadView } owner.userDefaultService.save(key: "userID", value: loginResponse.userId) owner.userDefaultService.save(key: "socialType", value: loginResponse.socialType) From b145fd23a32a6584e2cd9cede0ca88315650d791 Mon Sep 17 00:00:00 2001 From: JunYoung Date: Mon, 21 Apr 2025 21:07:22 +0900 Subject: [PATCH 77/83] =?UTF-8?q?refactor/#112:=20=ED=8C=A8=ED=82=A4?= =?UTF-8?q?=EC=A7=80=20=EC=88=98=EC=A0=95=20=EB=B0=8F=20=EC=A0=91=EA=B7=BC?= =?UTF-8?q?=20=EC=A0=9C=EC=96=B4=EC=9E=90=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Data/Data.xcodeproj/project.pbxproj | 33 +++-- .../Domain/Domain.xcodeproj/project.pbxproj | 32 +++-- .../AuthResponse/AuthServiceResponse.swift | 8 +- .../Presentation.xcodeproj/project.pbxproj | 119 ++++++++++++++++++ .../NormalCommentEditReactor.swift | 13 +- 5 files changed, 178 insertions(+), 27 deletions(-) diff --git a/Poppool/DataLayer/Data/Data.xcodeproj/project.pbxproj b/Poppool/DataLayer/Data/Data.xcodeproj/project.pbxproj index 2398ebd8..de8fcec0 100644 --- a/Poppool/DataLayer/Data/Data.xcodeproj/project.pbxproj +++ b/Poppool/DataLayer/Data/Data.xcodeproj/project.pbxproj @@ -11,7 +11,8 @@ 05C1D6182DB53A5600508FFD /* DomainInterface.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 05C1D6152DB53A5600508FFD /* DomainInterface.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 05C1D6192DB53A5600508FFD /* Infrastructure.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 05C1D6162DB53A5600508FFD /* Infrastructure.framework */; }; 05C1D61A2DB53A5600508FFD /* Infrastructure.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 05C1D6162DB53A5600508FFD /* Infrastructure.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 05EC93C52DB62B0000771CB3 /* RxSwift-Dynamic in Frameworks */ = {isa = PBXBuildFile; productRef = 05EC93C42DB62B0000771CB3 /* RxSwift-Dynamic */; }; + 08B2A3522DB66AFB00E57EFA /* RxSwift in Frameworks */ = {isa = PBXBuildFile; productRef = 08B2A3512DB66AFB00E57EFA /* RxSwift */; }; + 08B2A3552DB66B1D00E57EFA /* AlamofireDynamic in Frameworks */ = {isa = PBXBuildFile; productRef = 08B2A3542DB66B1D00E57EFA /* AlamofireDynamic */; }; /* End PBXBuildFile section */ /* Begin PBXCopyFilesBuildPhase section */ @@ -135,7 +136,8 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 05EC93C52DB62B0000771CB3 /* RxSwift-Dynamic in Frameworks */, + 08B2A3522DB66AFB00E57EFA /* RxSwift in Frameworks */, + 08B2A3552DB66B1D00E57EFA /* AlamofireDynamic in Frameworks */, 05C1D6172DB53A5600508FFD /* DomainInterface.framework in Frameworks */, 05C1D6192DB53A5600508FFD /* Infrastructure.framework in Frameworks */, ); @@ -199,7 +201,8 @@ ); name = Data; packageProductDependencies = ( - 05EC93C42DB62B0000771CB3 /* RxSwift-Dynamic */, + 08B2A3512DB66AFB00E57EFA /* RxSwift */, + 08B2A3542DB66B1D00E57EFA /* AlamofireDynamic */, ); productName = Data; productReference = 058CC8DC2DB5376A0084221A /* Data.framework */; @@ -230,7 +233,8 @@ mainGroup = 058CC8D22DB5376A0084221A; minimizedProjectReferenceProxies = 1; packageReferences = ( - 05EC93C32DB62B0000771CB3 /* XCRemoteSwiftPackageReference "RxSwift" */, + 08B2A3502DB66AFB00E57EFA /* XCRemoteSwiftPackageReference "RxSwift" */, + 08B2A3532DB66B1D00E57EFA /* XCRemoteSwiftPackageReference "Alamofire" */, ); preferredProjectObjectVersion = 77; productRefGroup = 058CC8DD2DB5376A0084221A /* Products */; @@ -478,7 +482,7 @@ /* End XCConfigurationList section */ /* Begin XCRemoteSwiftPackageReference section */ - 05EC93C32DB62B0000771CB3 /* XCRemoteSwiftPackageReference "RxSwift" */ = { + 08B2A3502DB66AFB00E57EFA /* XCRemoteSwiftPackageReference "RxSwift" */ = { isa = XCRemoteSwiftPackageReference; repositoryURL = "https://github.com/ReactiveX/RxSwift"; requirement = { @@ -486,13 +490,26 @@ minimumVersion = 6.9.0; }; }; + 08B2A3532DB66B1D00E57EFA /* XCRemoteSwiftPackageReference "Alamofire" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/Alamofire/Alamofire.git"; + requirement = { + kind = upToNextMajorVersion; + minimumVersion = 5.10.2; + }; + }; /* End XCRemoteSwiftPackageReference section */ /* Begin XCSwiftPackageProductDependency section */ - 05EC93C42DB62B0000771CB3 /* RxSwift-Dynamic */ = { + 08B2A3512DB66AFB00E57EFA /* RxSwift */ = { + isa = XCSwiftPackageProductDependency; + package = 08B2A3502DB66AFB00E57EFA /* XCRemoteSwiftPackageReference "RxSwift" */; + productName = RxSwift; + }; + 08B2A3542DB66B1D00E57EFA /* AlamofireDynamic */ = { isa = XCSwiftPackageProductDependency; - package = 05EC93C32DB62B0000771CB3 /* XCRemoteSwiftPackageReference "RxSwift" */; - productName = "RxSwift-Dynamic"; + package = 08B2A3532DB66B1D00E57EFA /* XCRemoteSwiftPackageReference "Alamofire" */; + productName = AlamofireDynamic; }; /* End XCSwiftPackageProductDependency section */ }; diff --git a/Poppool/DomainLayer/Domain/Domain.xcodeproj/project.pbxproj b/Poppool/DomainLayer/Domain/Domain.xcodeproj/project.pbxproj index d26d7875..c5dc782d 100644 --- a/Poppool/DomainLayer/Domain/Domain.xcodeproj/project.pbxproj +++ b/Poppool/DomainLayer/Domain/Domain.xcodeproj/project.pbxproj @@ -13,8 +13,8 @@ 05C1D6232DB53A6700508FFD /* Infrastructure.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 05C1D61D2DB53A6700508FFD /* Infrastructure.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 05C1D6262DB53A6E00508FFD /* Infrastructure.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 05C1D6252DB53A6E00508FFD /* Infrastructure.framework */; }; 05C1D6272DB53A6E00508FFD /* Infrastructure.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 05C1D6252DB53A6E00508FFD /* Infrastructure.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 05C1D82A2DB53CC200508FFD /* RxSwift-Dynamic in Frameworks */ = {isa = PBXBuildFile; productRef = 05C1D8292DB53CC200508FFD /* RxSwift-Dynamic */; }; - 05C1D82C2DB53CD100508FFD /* RxSwift-Dynamic in Frameworks */ = {isa = PBXBuildFile; productRef = 05C1D82B2DB53CD100508FFD /* RxSwift-Dynamic */; }; + 08B29EE62DB6696700E57EFA /* RxSwift in Frameworks */ = {isa = PBXBuildFile; productRef = 08B29EE52DB6696700E57EFA /* RxSwift */; }; + 08B2A34F2DB66AD300E57EFA /* RxSwift in Frameworks */ = {isa = PBXBuildFile; productRef = 08B2A34E2DB66AD300E57EFA /* RxSwift */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -78,8 +78,8 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 08B2A34F2DB66AD300E57EFA /* RxSwift in Frameworks */, 05C1D61E2DB53A6700508FFD /* DomainInterface.framework in Frameworks */, - 05C1D82A2DB53CC200508FFD /* RxSwift-Dynamic in Frameworks */, 05C1D6222DB53A6700508FFD /* Infrastructure.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; @@ -88,7 +88,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 05C1D82C2DB53CD100508FFD /* RxSwift-Dynamic in Frameworks */, + 08B29EE62DB6696700E57EFA /* RxSwift in Frameworks */, 05C1D6262DB53A6E00508FFD /* Infrastructure.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; @@ -164,7 +164,7 @@ ); name = Domain; packageProductDependencies = ( - 05C1D8292DB53CC200508FFD /* RxSwift-Dynamic */, + 08B2A34E2DB66AD300E57EFA /* RxSwift */, ); productName = Domain; productReference = 058CC8F02DB5377F0084221A /* Domain.framework */; @@ -189,7 +189,7 @@ ); name = DomainInterface; packageProductDependencies = ( - 05C1D82B2DB53CD100508FFD /* RxSwift-Dynamic */, + 08B29EE52DB6696700E57EFA /* RxSwift */, ); productName = DomainInterface; productReference = 05C1D0DB2DB538A600508FFD /* DomainInterface.framework */; @@ -498,11 +498,15 @@ PRODUCT_BUNDLE_IDENTIFIER = com.poppoolIOS.poppool.DomainInterface; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SKIP_INSTALL = YES; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; + SUPPORTS_MACCATALYST = NO; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; + SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO; SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_INSTALL_MODULE = YES; SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; + TARGETED_DEVICE_FAMILY = 1; }; name = Debug; }; @@ -532,11 +536,15 @@ PRODUCT_BUNDLE_IDENTIFIER = com.poppoolIOS.poppool.DomainInterface; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SKIP_INSTALL = YES; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; + SUPPORTS_MACCATALYST = NO; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; + SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO; SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_INSTALL_MODULE = YES; SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; + TARGETED_DEVICE_FAMILY = 1; }; name = Release; }; @@ -584,15 +592,15 @@ /* End XCRemoteSwiftPackageReference section */ /* Begin XCSwiftPackageProductDependency section */ - 05C1D8292DB53CC200508FFD /* RxSwift-Dynamic */ = { + 08B29EE52DB6696700E57EFA /* RxSwift */ = { isa = XCSwiftPackageProductDependency; package = 05C1D8282DB53CC100508FFD /* XCRemoteSwiftPackageReference "RxSwift" */; - productName = "RxSwift-Dynamic"; + productName = RxSwift; }; - 05C1D82B2DB53CD100508FFD /* RxSwift-Dynamic */ = { + 08B2A34E2DB66AD300E57EFA /* RxSwift */ = { isa = XCSwiftPackageProductDependency; package = 05C1D8282DB53CC100508FFD /* XCRemoteSwiftPackageReference "RxSwift" */; - productName = "RxSwift-Dynamic"; + productName = RxSwift; }; /* End XCSwiftPackageProductDependency section */ }; diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/AuthResponse/AuthServiceResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/AuthResponse/AuthServiceResponse.swift index e6aa5fa0..5150eb84 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/AuthResponse/AuthServiceResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/AuthResponse/AuthServiceResponse.swift @@ -8,8 +8,8 @@ public struct AuthServiceResponse: Encodable { self.kakaoAccessToken = kakaoAccessToken } - var idToken: String? - var authorizationCode: String? - var kakaoUserId: Int64? - var kakaoAccessToken: String? + public var idToken: String? + public var authorizationCode: String? + public var kakaoUserId: Int64? + public var kakaoAccessToken: String? } diff --git a/Poppool/PresentationLayer/Presentation/Presentation.xcodeproj/project.pbxproj b/Poppool/PresentationLayer/Presentation/Presentation.xcodeproj/project.pbxproj index 3c4595ff..af4dc626 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation.xcodeproj/project.pbxproj +++ b/Poppool/PresentationLayer/Presentation/Presentation.xcodeproj/project.pbxproj @@ -18,6 +18,13 @@ 05EC93D12DB64C6F00771CB3 /* KakaoSDKUser in Frameworks */ = {isa = PBXBuildFile; productRef = 05EC93D02DB64C6F00771CB3 /* KakaoSDKUser */; }; 05EC93D32DB6536200771CB3 /* RxCocoa in Frameworks */ = {isa = PBXBuildFile; productRef = 05EC93D22DB6536200771CB3 /* RxCocoa */; }; 05EC93D52DB6536200771CB3 /* RxSwift in Frameworks */ = {isa = PBXBuildFile; productRef = 05EC93D42DB6536200771CB3 /* RxSwift */; }; + 08B2A3582DB66B4100E57EFA /* RxKeyboard in Frameworks */ = {isa = PBXBuildFile; productRef = 08B2A3572DB66B4100E57EFA /* RxKeyboard */; }; + 08B2A35B2DB66B5A00E57EFA /* FloatingPanel in Frameworks */ = {isa = PBXBuildFile; productRef = 08B2A35A2DB66B5A00E57EFA /* FloatingPanel */; }; + 08B2A35E2DB66B8600E57EFA /* RxDataSources in Frameworks */ = {isa = PBXBuildFile; productRef = 08B2A35D2DB66B8600E57EFA /* RxDataSources */; }; + 08B2A3612DB66BAB00E57EFA /* Then in Frameworks */ = {isa = PBXBuildFile; productRef = 08B2A3602DB66BAB00E57EFA /* Then */; }; + 08B2A3642DB66BBC00E57EFA /* Tabman in Frameworks */ = {isa = PBXBuildFile; productRef = 08B2A3632DB66BBC00E57EFA /* Tabman */; }; + 08B2A3672DB66BD400E57EFA /* Pageboy in Frameworks */ = {isa = PBXBuildFile; productRef = 08B2A3662DB66BD400E57EFA /* Pageboy */; }; + 08B2A36A2DB66BF200E57EFA /* RxGesture in Frameworks */ = {isa = PBXBuildFile; productRef = 08B2A3692DB66BF200E57EFA /* RxGesture */; }; /* End PBXBuildFile section */ /* Begin PBXCopyFilesBuildPhase section */ @@ -54,15 +61,22 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 08B2A3672DB66BD400E57EFA /* Pageboy in Frameworks */, 05EC93D52DB6536200771CB3 /* RxSwift in Frameworks */, + 08B2A36A2DB66BF200E57EFA /* RxGesture in Frameworks */, 05125B9B2DB626ED001342A2 /* SnapKit-Dynamic in Frameworks */, 05C1D62C2DB53A8200508FFD /* DomainInterface.framework in Frameworks */, 05125B982DB626E3001342A2 /* ReactorKit in Frameworks */, + 08B2A35B2DB66B5A00E57EFA /* FloatingPanel in Frameworks */, + 08B2A3612DB66BAB00E57EFA /* Then in Frameworks */, 05C1D62E2DB53A8200508FFD /* Infrastructure.framework in Frameworks */, 05125BA12DB6275C001342A2 /* PanModal in Frameworks */, 05EC93CF2DB64C6F00771CB3 /* KakaoSDKAuth in Frameworks */, + 08B2A3642DB66BBC00E57EFA /* Tabman in Frameworks */, 05EC93D32DB6536200771CB3 /* RxCocoa in Frameworks */, + 08B2A35E2DB66B8600E57EFA /* RxDataSources in Frameworks */, 05EC93D12DB64C6F00771CB3 /* KakaoSDKUser in Frameworks */, + 08B2A3582DB66B4100E57EFA /* RxKeyboard in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -134,6 +148,13 @@ 05EC93D02DB64C6F00771CB3 /* KakaoSDKUser */, 05EC93D22DB6536200771CB3 /* RxCocoa */, 05EC93D42DB6536200771CB3 /* RxSwift */, + 08B2A3572DB66B4100E57EFA /* RxKeyboard */, + 08B2A35A2DB66B5A00E57EFA /* FloatingPanel */, + 08B2A35D2DB66B8600E57EFA /* RxDataSources */, + 08B2A3602DB66BAB00E57EFA /* Then */, + 08B2A3632DB66BBC00E57EFA /* Tabman */, + 08B2A3662DB66BD400E57EFA /* Pageboy */, + 08B2A3692DB66BF200E57EFA /* RxGesture */, ); productName = Presentation; productReference = 058CC9042DB537960084221A /* Presentation.framework */; @@ -169,6 +190,13 @@ 05125B992DB626ED001342A2 /* XCRemoteSwiftPackageReference "SnapKit" */, 05125B9F2DB6275C001342A2 /* XCRemoteSwiftPackageReference "PanModal" */, 05EC93CD2DB64C6F00771CB3 /* XCRemoteSwiftPackageReference "kakao-ios-sdk" */, + 08B2A3562DB66B4100E57EFA /* XCRemoteSwiftPackageReference "RxKeyboard" */, + 08B2A3592DB66B5A00E57EFA /* XCRemoteSwiftPackageReference "FloatingPanel" */, + 08B2A35C2DB66B8600E57EFA /* XCRemoteSwiftPackageReference "RxDataSources" */, + 08B2A35F2DB66BAB00E57EFA /* XCRemoteSwiftPackageReference "Then" */, + 08B2A3622DB66BBC00E57EFA /* XCRemoteSwiftPackageReference "Tabman" */, + 08B2A3652DB66BD400E57EFA /* XCRemoteSwiftPackageReference "Pageboy" */, + 08B2A3682DB66BF200E57EFA /* XCRemoteSwiftPackageReference "RxGesture" */, ); preferredProjectObjectVersion = 77; productRefGroup = 058CC9052DB537960084221A /* Products */; @@ -456,6 +484,62 @@ minimumVersion = 2.24.0; }; }; + 08B2A3562DB66B4100E57EFA /* XCRemoteSwiftPackageReference "RxKeyboard" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/RxSwiftCommunity/RxKeyboard"; + requirement = { + kind = upToNextMajorVersion; + minimumVersion = 2.0.1; + }; + }; + 08B2A3592DB66B5A00E57EFA /* XCRemoteSwiftPackageReference "FloatingPanel" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/scenee/FloatingPanel"; + requirement = { + kind = upToNextMajorVersion; + minimumVersion = 2.8.7; + }; + }; + 08B2A35C2DB66B8600E57EFA /* XCRemoteSwiftPackageReference "RxDataSources" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/RxSwiftCommunity/RxDataSources"; + requirement = { + kind = upToNextMajorVersion; + minimumVersion = 5.0.2; + }; + }; + 08B2A35F2DB66BAB00E57EFA /* XCRemoteSwiftPackageReference "Then" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/devxoul/Then"; + requirement = { + kind = upToNextMajorVersion; + minimumVersion = 3.0.0; + }; + }; + 08B2A3622DB66BBC00E57EFA /* XCRemoteSwiftPackageReference "Tabman" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/uias/Tabman"; + requirement = { + kind = upToNextMajorVersion; + minimumVersion = 3.2.0; + }; + }; + 08B2A3652DB66BD400E57EFA /* XCRemoteSwiftPackageReference "Pageboy" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/uias/Pageboy"; + requirement = { + kind = upToNextMajorVersion; + minimumVersion = 4.2.0; + }; + }; + 08B2A3682DB66BF200E57EFA /* XCRemoteSwiftPackageReference "RxGesture" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/RxSwiftCommunity/RxGesture"; + requirement = { + kind = upToNextMajorVersion; + minimumVersion = 4.0.4; + }; + }; /* End XCRemoteSwiftPackageReference section */ /* Begin XCSwiftPackageProductDependency section */ @@ -494,6 +578,41 @@ package = 05125B932DB62295001342A2 /* XCRemoteSwiftPackageReference "RxSwift" */; productName = RxSwift; }; + 08B2A3572DB66B4100E57EFA /* RxKeyboard */ = { + isa = XCSwiftPackageProductDependency; + package = 08B2A3562DB66B4100E57EFA /* XCRemoteSwiftPackageReference "RxKeyboard" */; + productName = RxKeyboard; + }; + 08B2A35A2DB66B5A00E57EFA /* FloatingPanel */ = { + isa = XCSwiftPackageProductDependency; + package = 08B2A3592DB66B5A00E57EFA /* XCRemoteSwiftPackageReference "FloatingPanel" */; + productName = FloatingPanel; + }; + 08B2A35D2DB66B8600E57EFA /* RxDataSources */ = { + isa = XCSwiftPackageProductDependency; + package = 08B2A35C2DB66B8600E57EFA /* XCRemoteSwiftPackageReference "RxDataSources" */; + productName = RxDataSources; + }; + 08B2A3602DB66BAB00E57EFA /* Then */ = { + isa = XCSwiftPackageProductDependency; + package = 08B2A35F2DB66BAB00E57EFA /* XCRemoteSwiftPackageReference "Then" */; + productName = Then; + }; + 08B2A3632DB66BBC00E57EFA /* Tabman */ = { + isa = XCSwiftPackageProductDependency; + package = 08B2A3622DB66BBC00E57EFA /* XCRemoteSwiftPackageReference "Tabman" */; + productName = Tabman; + }; + 08B2A3662DB66BD400E57EFA /* Pageboy */ = { + isa = XCSwiftPackageProductDependency; + package = 08B2A3652DB66BD400E57EFA /* XCRemoteSwiftPackageReference "Pageboy" */; + productName = Pageboy; + }; + 08B2A3692DB66BF200E57EFA /* RxGesture */ = { + isa = XCSwiftPackageProductDependency; + package = 08B2A3682DB66BF200E57EFA /* XCRemoteSwiftPackageReference "RxGesture" */; + productName = RxGesture; + }; /* End XCSwiftPackageProductDependency section */ }; rootObject = 058CC8FB2DB537960084221A /* Project object */; diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/NormalCommentEdit/NormalCommentEditReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/NormalCommentEdit/NormalCommentEditReactor.swift index 3d5182b7..788444f9 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/NormalCommentEdit/NormalCommentEditReactor.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/NormalCommentEdit/NormalCommentEditReactor.swift @@ -35,6 +35,13 @@ final class NormalCommentEditReactor: Reactor { var isReloadView: Bool = true var isSaving: Bool = false } + + struct PutCommentImageData { + var imageId: Int64? + var imageUrl: String? + var actionType: String? + } + // MARK: - properties @@ -167,9 +174,9 @@ final class NormalCommentEditReactor: Reactor { } } - var convertAddImages: [PutCommentImageDataRequestDTO] = addImages.map { .init(imageId: nil, imageUrl: pathList[$0.offset], actionType: "ADD")} - var convertKeepImages: [PutCommentImageDataRequestDTO] = keepImages.map { .init(imageId: nil, imageUrl: $0, actionType: "KEEP")} - var convertDeleteImages: [PutCommentImageDataRequestDTO] = deleteImages.map { .init(imageId: $0.1, imageUrl: $0.0, actionType: "DELETE")} + var convertAddImages: [PutCommentImageData] = addImages.map { .init(imageId: nil, imageUrl: pathList[$0.offset], actionType: "ADD")} + var convertKeepImages: [PutCommentImageData] = keepImages.map { .init(imageId: nil, imageUrl: $0, actionType: "KEEP")} + var convertDeleteImages: [PutCommentImageData] = deleteImages.map { .init(imageId: $0.1, imageUrl: $0.0, actionType: "DELETE")} if !addImages.isEmpty { preSignedUseCase.tryUpload(presignedURLRequest: addImages.map { From b96570ff9bad4e121410a24c862ef2fdce6fec19 Mon Sep 17 00:00:00 2001 From: JunYoung Date: Mon, 21 Apr 2025 21:11:59 +0900 Subject: [PATCH 78/83] =?UTF-8?q?fix/#112:=20=EC=9B=90=ED=98=95=EB=B3=B5?= =?UTF-8?q?=EA=B5=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Presentation/Scene/Login/Sub/SubLoginReactor.swift | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Login/Sub/SubLoginReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Login/Sub/SubLoginReactor.swift index 216e4257..d257b177 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Login/Sub/SubLoginReactor.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Login/Sub/SubLoginReactor.swift @@ -124,8 +124,7 @@ final class SubLoginReactor: Reactor { return owner.authAPIUseCase.postTryLogin(userCredential: response, socialType: "apple") } .withUnretained(self) - - .map { [weak controller] (owner:SubLoginReactor, loginResponse:LoginResponse) -> Mutation in + .map { [weak controller] (owner, loginResponse) in guard let controller = controller else { return .loadView } owner.userDefaultService.save(key: "userID", value: loginResponse.userId) owner.userDefaultService.save(key: "socialType", value: loginResponse.socialType) From bf633966915aa315dc46e60fb07ff70e69e8363e Mon Sep 17 00:00:00 2001 From: 0Hooni Date: Mon, 21 Apr 2025 21:21:55 +0900 Subject: [PATCH 79/83] =?UTF-8?q?fix/#112:=20DIContainer=20=EC=8A=A4?= =?UTF-8?q?=EB=A0=88=EB=93=9C=20=EC=97=90=EB=9F=AC=20=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Infrastructure/DIContainer/DIContainer.swift | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/Poppool/CoreLayer/Infrastructure/Infrastructure/DIContainer/DIContainer.swift b/Poppool/CoreLayer/Infrastructure/Infrastructure/DIContainer/DIContainer.swift index 0ad4234e..66b3e1ef 100644 --- a/Poppool/CoreLayer/Infrastructure/Infrastructure/DIContainer/DIContainer.swift +++ b/Poppool/CoreLayer/Infrastructure/Infrastructure/DIContainer/DIContainer.swift @@ -57,12 +57,10 @@ public final class DIContainer { private func resolve(_ type: T.Type) -> T { let key = ObjectIdentifier(type) - return resolveQueue.sync { - guard let registration = registrations[key], - let instance = registration() as? T - else { fatalError("\(type) does not registered") } + guard let registration = registrations[key], + let instance = registration() as? T + else { fatalError("\(type) does not registered") } - return instance - } + return instance } } From 609682680f7e6de5c6259e667fe72a62cf88464c Mon Sep 17 00:00:00 2001 From: 0Hooni Date: Mon, 21 Apr 2025 21:22:59 +0900 Subject: [PATCH 80/83] =?UTF-8?q?chore/#112:=20Static=20library=EB=A5=BC?= =?UTF-8?q?=20=EC=82=AC=EC=9A=A9=ED=95=98=EB=8F=84=EB=A1=9D=20=ED=95=98?= =?UTF-8?q?=EC=97=AC=20@rpath=20=EB=AC=B8=EC=A0=9C=20=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Data/Data.xcodeproj/project.pbxproj | 16 ++++++++-------- Poppool/Poppool.xcodeproj/project.pbxproj | 6 ++++++ .../Presentation.xcodeproj/project.pbxproj | 16 ++++++++-------- 3 files changed, 22 insertions(+), 16 deletions(-) diff --git a/Poppool/DataLayer/Data/Data.xcodeproj/project.pbxproj b/Poppool/DataLayer/Data/Data.xcodeproj/project.pbxproj index de8fcec0..464d09d8 100644 --- a/Poppool/DataLayer/Data/Data.xcodeproj/project.pbxproj +++ b/Poppool/DataLayer/Data/Data.xcodeproj/project.pbxproj @@ -7,12 +7,12 @@ objects = { /* Begin PBXBuildFile section */ + 05BDD3DC2DB66EB500C1E192 /* Alamofire in Frameworks */ = {isa = PBXBuildFile; productRef = 05BDD3DB2DB66EB500C1E192 /* Alamofire */; }; 05C1D6172DB53A5600508FFD /* DomainInterface.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 05C1D6152DB53A5600508FFD /* DomainInterface.framework */; }; 05C1D6182DB53A5600508FFD /* DomainInterface.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 05C1D6152DB53A5600508FFD /* DomainInterface.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 05C1D6192DB53A5600508FFD /* Infrastructure.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 05C1D6162DB53A5600508FFD /* Infrastructure.framework */; }; 05C1D61A2DB53A5600508FFD /* Infrastructure.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 05C1D6162DB53A5600508FFD /* Infrastructure.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 08B2A3522DB66AFB00E57EFA /* RxSwift in Frameworks */ = {isa = PBXBuildFile; productRef = 08B2A3512DB66AFB00E57EFA /* RxSwift */; }; - 08B2A3552DB66B1D00E57EFA /* AlamofireDynamic in Frameworks */ = {isa = PBXBuildFile; productRef = 08B2A3542DB66B1D00E57EFA /* AlamofireDynamic */; }; /* End PBXBuildFile section */ /* Begin PBXCopyFilesBuildPhase section */ @@ -137,7 +137,7 @@ buildActionMask = 2147483647; files = ( 08B2A3522DB66AFB00E57EFA /* RxSwift in Frameworks */, - 08B2A3552DB66B1D00E57EFA /* AlamofireDynamic in Frameworks */, + 05BDD3DC2DB66EB500C1E192 /* Alamofire in Frameworks */, 05C1D6172DB53A5600508FFD /* DomainInterface.framework in Frameworks */, 05C1D6192DB53A5600508FFD /* Infrastructure.framework in Frameworks */, ); @@ -202,7 +202,7 @@ name = Data; packageProductDependencies = ( 08B2A3512DB66AFB00E57EFA /* RxSwift */, - 08B2A3542DB66B1D00E57EFA /* AlamofireDynamic */, + 05BDD3DB2DB66EB500C1E192 /* Alamofire */, ); productName = Data; productReference = 058CC8DC2DB5376A0084221A /* Data.framework */; @@ -501,16 +501,16 @@ /* End XCRemoteSwiftPackageReference section */ /* Begin XCSwiftPackageProductDependency section */ + 05BDD3DB2DB66EB500C1E192 /* Alamofire */ = { + isa = XCSwiftPackageProductDependency; + package = 08B2A3532DB66B1D00E57EFA /* XCRemoteSwiftPackageReference "Alamofire" */; + productName = Alamofire; + }; 08B2A3512DB66AFB00E57EFA /* RxSwift */ = { isa = XCSwiftPackageProductDependency; package = 08B2A3502DB66AFB00E57EFA /* XCRemoteSwiftPackageReference "RxSwift" */; productName = RxSwift; }; - 08B2A3542DB66B1D00E57EFA /* AlamofireDynamic */ = { - isa = XCSwiftPackageProductDependency; - package = 08B2A3532DB66B1D00E57EFA /* XCRemoteSwiftPackageReference "Alamofire" */; - productName = AlamofireDynamic; - }; /* End XCSwiftPackageProductDependency section */ }; rootObject = 058CC8D32DB5376A0084221A /* Project object */; diff --git a/Poppool/Poppool.xcodeproj/project.pbxproj b/Poppool/Poppool.xcodeproj/project.pbxproj index 4c32e118..5c009e1c 100644 --- a/Poppool/Poppool.xcodeproj/project.pbxproj +++ b/Poppool/Poppool.xcodeproj/project.pbxproj @@ -7,6 +7,8 @@ objects = { /* Begin PBXBuildFile section */ + 05BDD3D62DB66E1700C1E192 /* DomainInterface.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 05BDD3D52DB66E1700C1E192 /* DomainInterface.framework */; }; + 05BDD3D72DB66E1700C1E192 /* DomainInterface.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 05BDD3D52DB66E1700C1E192 /* DomainInterface.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 05C1D60B2DB53A4900508FFD /* Data.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 05C1D6072DB53A4900508FFD /* Data.framework */; }; 05C1D60C2DB53A4900508FFD /* Data.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 05C1D6072DB53A4900508FFD /* Data.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 05C1D60D2DB53A4900508FFD /* Domain.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 05C1D6082DB53A4900508FFD /* Domain.framework */; }; @@ -44,6 +46,7 @@ dstPath = ""; dstSubfolderSpec = 10; files = ( + 05BDD3D72DB66E1700C1E192 /* DomainInterface.framework in Embed Frameworks */, 05C1D6102DB53A4900508FFD /* Infrastructure.framework in Embed Frameworks */, 05C1D60E2DB53A4900508FFD /* Domain.framework in Embed Frameworks */, 05C1D6122DB53A4900508FFD /* Presentation.framework in Embed Frameworks */, @@ -56,6 +59,7 @@ /* Begin PBXFileReference section */ 05229DD02D99519200D88E73 /* .swiftlint.yml */ = {isa = PBXFileReference; lastKnownFileType = text.yaml; path = .swiftlint.yml; sourceTree = ""; }; + 05BDD3D52DB66E1700C1E192 /* DomainInterface.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = DomainInterface.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 05C1D6072DB53A4900508FFD /* Data.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Data.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 05C1D6082DB53A4900508FFD /* Domain.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Domain.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 05C1D6092DB53A4900508FFD /* Infrastructure.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Infrastructure.framework; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -99,6 +103,7 @@ BDCA420D2CF35FD2005EECF6 /* RxGesture in Frameworks */, BDCA42072CF35FA6005EECF6 /* Tabman in Frameworks */, BDCA42042CF35F76005EECF6 /* PanModal in Frameworks */, + 05BDD3D62DB66E1700C1E192 /* DomainInterface.framework in Frameworks */, 082197A12D426DCB0054094A /* Then in Frameworks */, 05EC93D72DB6599500771CB3 /* RxCocoa in Frameworks */, 4E15142E2D994A3A00DFD08F /* KakaoSDKAuth in Frameworks */, @@ -127,6 +132,7 @@ 05C1D6062DB53A4900508FFD /* Frameworks */ = { isa = PBXGroup; children = ( + 05BDD3D52DB66E1700C1E192 /* DomainInterface.framework */, 05C1D6072DB53A4900508FFD /* Data.framework */, 05C1D6082DB53A4900508FFD /* Domain.framework */, 05C1D6092DB53A4900508FFD /* Infrastructure.framework */, diff --git a/Poppool/PresentationLayer/Presentation/Presentation.xcodeproj/project.pbxproj b/Poppool/PresentationLayer/Presentation/Presentation.xcodeproj/project.pbxproj index af4dc626..940425d2 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation.xcodeproj/project.pbxproj +++ b/Poppool/PresentationLayer/Presentation/Presentation.xcodeproj/project.pbxproj @@ -8,8 +8,8 @@ /* Begin PBXBuildFile section */ 05125B982DB626E3001342A2 /* ReactorKit in Frameworks */ = {isa = PBXBuildFile; productRef = 05125B972DB626E3001342A2 /* ReactorKit */; }; - 05125B9B2DB626ED001342A2 /* SnapKit-Dynamic in Frameworks */ = {isa = PBXBuildFile; productRef = 05125B9A2DB626ED001342A2 /* SnapKit-Dynamic */; }; 05125BA12DB6275C001342A2 /* PanModal in Frameworks */ = {isa = PBXBuildFile; productRef = 05125BA02DB6275C001342A2 /* PanModal */; }; + 05BDD3DA2DB66E6400C1E192 /* SnapKit in Frameworks */ = {isa = PBXBuildFile; productRef = 05BDD3D92DB66E6400C1E192 /* SnapKit */; }; 05C1D62C2DB53A8200508FFD /* DomainInterface.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 05C1D62A2DB53A8200508FFD /* DomainInterface.framework */; }; 05C1D62D2DB53A8200508FFD /* DomainInterface.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 05C1D62A2DB53A8200508FFD /* DomainInterface.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 05C1D62E2DB53A8200508FFD /* Infrastructure.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 05C1D62B2DB53A8200508FFD /* Infrastructure.framework */; }; @@ -62,9 +62,9 @@ buildActionMask = 2147483647; files = ( 08B2A3672DB66BD400E57EFA /* Pageboy in Frameworks */, + 05BDD3DA2DB66E6400C1E192 /* SnapKit in Frameworks */, 05EC93D52DB6536200771CB3 /* RxSwift in Frameworks */, 08B2A36A2DB66BF200E57EFA /* RxGesture in Frameworks */, - 05125B9B2DB626ED001342A2 /* SnapKit-Dynamic in Frameworks */, 05C1D62C2DB53A8200508FFD /* DomainInterface.framework in Frameworks */, 05125B982DB626E3001342A2 /* ReactorKit in Frameworks */, 08B2A35B2DB66B5A00E57EFA /* FloatingPanel in Frameworks */, @@ -142,7 +142,6 @@ name = Presentation; packageProductDependencies = ( 05125B972DB626E3001342A2 /* ReactorKit */, - 05125B9A2DB626ED001342A2 /* SnapKit-Dynamic */, 05125BA02DB6275C001342A2 /* PanModal */, 05EC93CE2DB64C6F00771CB3 /* KakaoSDKAuth */, 05EC93D02DB64C6F00771CB3 /* KakaoSDKUser */, @@ -155,6 +154,7 @@ 08B2A3632DB66BBC00E57EFA /* Tabman */, 08B2A3662DB66BD400E57EFA /* Pageboy */, 08B2A3692DB66BF200E57EFA /* RxGesture */, + 05BDD3D92DB66E6400C1E192 /* SnapKit */, ); productName = Presentation; productReference = 058CC9042DB537960084221A /* Presentation.framework */; @@ -548,16 +548,16 @@ package = 05125B962DB626E3001342A2 /* XCRemoteSwiftPackageReference "ReactorKit" */; productName = ReactorKit; }; - 05125B9A2DB626ED001342A2 /* SnapKit-Dynamic */ = { - isa = XCSwiftPackageProductDependency; - package = 05125B992DB626ED001342A2 /* XCRemoteSwiftPackageReference "SnapKit" */; - productName = "SnapKit-Dynamic"; - }; 05125BA02DB6275C001342A2 /* PanModal */ = { isa = XCSwiftPackageProductDependency; package = 05125B9F2DB6275C001342A2 /* XCRemoteSwiftPackageReference "PanModal" */; productName = PanModal; }; + 05BDD3D92DB66E6400C1E192 /* SnapKit */ = { + isa = XCSwiftPackageProductDependency; + package = 05125B992DB626ED001342A2 /* XCRemoteSwiftPackageReference "SnapKit" */; + productName = SnapKit; + }; 05EC93CE2DB64C6F00771CB3 /* KakaoSDKAuth */ = { isa = XCSwiftPackageProductDependency; package = 05EC93CD2DB64C6F00771CB3 /* XCRemoteSwiftPackageReference "kakao-ios-sdk" */; From 8e5772026cc49ec20130ee856ce6c443ffdb23f9 Mon Sep 17 00:00:00 2001 From: 0Hooni Date: Mon, 21 Apr 2025 21:42:24 +0900 Subject: [PATCH 81/83] =?UTF-8?q?chore/#112:=20=ED=94=84=EB=A0=88=EC=9E=84?= =?UTF-8?q?=EC=9B=8C=ED=81=AC=20do=20not=20embed=EB=A1=9C=20=EB=B3=80?= =?UTF-8?q?=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Data/Data.xcodeproj/project.pbxproj | 18 ----------- .../Domain/Domain.xcodeproj/project.pbxproj | 31 ------------------- .../Presentation.xcodeproj/project.pbxproj | 8 ++--- 3 files changed, 2 insertions(+), 55 deletions(-) diff --git a/Poppool/DataLayer/Data/Data.xcodeproj/project.pbxproj b/Poppool/DataLayer/Data/Data.xcodeproj/project.pbxproj index 464d09d8..86ed61dc 100644 --- a/Poppool/DataLayer/Data/Data.xcodeproj/project.pbxproj +++ b/Poppool/DataLayer/Data/Data.xcodeproj/project.pbxproj @@ -9,27 +9,10 @@ /* Begin PBXBuildFile section */ 05BDD3DC2DB66EB500C1E192 /* Alamofire in Frameworks */ = {isa = PBXBuildFile; productRef = 05BDD3DB2DB66EB500C1E192 /* Alamofire */; }; 05C1D6172DB53A5600508FFD /* DomainInterface.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 05C1D6152DB53A5600508FFD /* DomainInterface.framework */; }; - 05C1D6182DB53A5600508FFD /* DomainInterface.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 05C1D6152DB53A5600508FFD /* DomainInterface.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 05C1D6192DB53A5600508FFD /* Infrastructure.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 05C1D6162DB53A5600508FFD /* Infrastructure.framework */; }; - 05C1D61A2DB53A5600508FFD /* Infrastructure.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 05C1D6162DB53A5600508FFD /* Infrastructure.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 08B2A3522DB66AFB00E57EFA /* RxSwift in Frameworks */ = {isa = PBXBuildFile; productRef = 08B2A3512DB66AFB00E57EFA /* RxSwift */; }; /* End PBXBuildFile section */ -/* Begin PBXCopyFilesBuildPhase section */ - 05C1D61B2DB53A5600508FFD /* Embed Frameworks */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - 05C1D6182DB53A5600508FFD /* DomainInterface.framework in Embed Frameworks */, - 05C1D61A2DB53A5600508FFD /* Infrastructure.framework in Embed Frameworks */, - ); - name = "Embed Frameworks"; - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - /* Begin PBXFileReference section */ 058CC8DC2DB5376A0084221A /* Data.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Data.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 05C1D6152DB53A5600508FFD /* DomainInterface.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = DomainInterface.framework; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -193,7 +176,6 @@ 058CC8D82DB5376A0084221A /* Sources */, 058CC8D92DB5376A0084221A /* Frameworks */, 058CC8DA2DB5376A0084221A /* Resources */, - 05C1D61B2DB53A5600508FFD /* Embed Frameworks */, ); buildRules = ( ); diff --git a/Poppool/DomainLayer/Domain/Domain.xcodeproj/project.pbxproj b/Poppool/DomainLayer/Domain/Domain.xcodeproj/project.pbxproj index c5dc782d..e238744c 100644 --- a/Poppool/DomainLayer/Domain/Domain.xcodeproj/project.pbxproj +++ b/Poppool/DomainLayer/Domain/Domain.xcodeproj/project.pbxproj @@ -8,11 +8,8 @@ /* Begin PBXBuildFile section */ 05C1D61E2DB53A6700508FFD /* DomainInterface.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 05C1D0DB2DB538A600508FFD /* DomainInterface.framework */; }; - 05C1D61F2DB53A6700508FFD /* DomainInterface.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 05C1D0DB2DB538A600508FFD /* DomainInterface.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 05C1D6222DB53A6700508FFD /* Infrastructure.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 05C1D61D2DB53A6700508FFD /* Infrastructure.framework */; }; - 05C1D6232DB53A6700508FFD /* Infrastructure.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 05C1D61D2DB53A6700508FFD /* Infrastructure.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 05C1D6262DB53A6E00508FFD /* Infrastructure.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 05C1D6252DB53A6E00508FFD /* Infrastructure.framework */; }; - 05C1D6272DB53A6E00508FFD /* Infrastructure.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 05C1D6252DB53A6E00508FFD /* Infrastructure.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 08B29EE62DB6696700E57EFA /* RxSwift in Frameworks */ = {isa = PBXBuildFile; productRef = 08B29EE52DB6696700E57EFA /* RxSwift */; }; 08B2A34F2DB66AD300E57EFA /* RxSwift in Frameworks */ = {isa = PBXBuildFile; productRef = 08B2A34E2DB66AD300E57EFA /* RxSwift */; }; /* End PBXBuildFile section */ @@ -27,32 +24,6 @@ }; /* End PBXContainerItemProxy section */ -/* Begin PBXCopyFilesBuildPhase section */ - 05C1D6242DB53A6700508FFD /* Embed Frameworks */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - 05C1D61F2DB53A6700508FFD /* DomainInterface.framework in Embed Frameworks */, - 05C1D6232DB53A6700508FFD /* Infrastructure.framework in Embed Frameworks */, - ); - name = "Embed Frameworks"; - runOnlyForDeploymentPostprocessing = 0; - }; - 05C1D6282DB53A6E00508FFD /* Embed Frameworks */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - 05C1D6272DB53A6E00508FFD /* Infrastructure.framework in Embed Frameworks */, - ); - name = "Embed Frameworks"; - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - /* Begin PBXFileReference section */ 058CC8F02DB5377F0084221A /* Domain.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Domain.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 05C1D0DB2DB538A600508FFD /* DomainInterface.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = DomainInterface.framework; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -152,7 +123,6 @@ 058CC8EC2DB5377F0084221A /* Sources */, 058CC8ED2DB5377F0084221A /* Frameworks */, 058CC8EE2DB5377F0084221A /* Resources */, - 05C1D6242DB53A6700508FFD /* Embed Frameworks */, ); buildRules = ( ); @@ -178,7 +148,6 @@ 05C1D0D72DB538A600508FFD /* Sources */, 05C1D0D82DB538A600508FFD /* Frameworks */, 05C1D0D92DB538A600508FFD /* Resources */, - 05C1D6282DB53A6E00508FFD /* Embed Frameworks */, ); buildRules = ( ); diff --git a/Poppool/PresentationLayer/Presentation/Presentation.xcodeproj/project.pbxproj b/Poppool/PresentationLayer/Presentation/Presentation.xcodeproj/project.pbxproj index 940425d2..961cac34 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation.xcodeproj/project.pbxproj +++ b/Poppool/PresentationLayer/Presentation/Presentation.xcodeproj/project.pbxproj @@ -11,9 +11,7 @@ 05125BA12DB6275C001342A2 /* PanModal in Frameworks */ = {isa = PBXBuildFile; productRef = 05125BA02DB6275C001342A2 /* PanModal */; }; 05BDD3DA2DB66E6400C1E192 /* SnapKit in Frameworks */ = {isa = PBXBuildFile; productRef = 05BDD3D92DB66E6400C1E192 /* SnapKit */; }; 05C1D62C2DB53A8200508FFD /* DomainInterface.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 05C1D62A2DB53A8200508FFD /* DomainInterface.framework */; }; - 05C1D62D2DB53A8200508FFD /* DomainInterface.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 05C1D62A2DB53A8200508FFD /* DomainInterface.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 05C1D62E2DB53A8200508FFD /* Infrastructure.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 05C1D62B2DB53A8200508FFD /* Infrastructure.framework */; }; - 05C1D62F2DB53A8200508FFD /* Infrastructure.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 05C1D62B2DB53A8200508FFD /* Infrastructure.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 05EC93CF2DB64C6F00771CB3 /* KakaoSDKAuth in Frameworks */ = {isa = PBXBuildFile; productRef = 05EC93CE2DB64C6F00771CB3 /* KakaoSDKAuth */; }; 05EC93D12DB64C6F00771CB3 /* KakaoSDKUser in Frameworks */ = {isa = PBXBuildFile; productRef = 05EC93D02DB64C6F00771CB3 /* KakaoSDKUser */; }; 05EC93D32DB6536200771CB3 /* RxCocoa in Frameworks */ = {isa = PBXBuildFile; productRef = 05EC93D22DB6536200771CB3 /* RxCocoa */; }; @@ -28,14 +26,12 @@ /* End PBXBuildFile section */ /* Begin PBXCopyFilesBuildPhase section */ - 05C1D6302DB53A8200508FFD /* Embed Frameworks */ = { + 05BDD5C22DB6744000C1E192 /* Embed Frameworks */ = { isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; dstPath = ""; dstSubfolderSpec = 10; files = ( - 05C1D62D2DB53A8200508FFD /* DomainInterface.framework in Embed Frameworks */, - 05C1D62F2DB53A8200508FFD /* Infrastructure.framework in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -130,7 +126,7 @@ 058CC9002DB537960084221A /* Sources */, 058CC9012DB537960084221A /* Frameworks */, 058CC9022DB537960084221A /* Resources */, - 05C1D6302DB53A8200508FFD /* Embed Frameworks */, + 05BDD5C22DB6744000C1E192 /* Embed Frameworks */, ); buildRules = ( ); From e5bbed391f98a95d705d5e63482f5c2a3a8c5d61 Mon Sep 17 00:00:00 2001 From: 0Hooni Date: Mon, 21 Apr 2025 22:21:25 +0900 Subject: [PATCH 82/83] =?UTF-8?q?chore/#112:=20=ED=8C=A8=ED=82=A4=EC=A7=80?= =?UTF-8?q?=20=EA=B0=84=EC=86=8C=ED=99=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Infrastructure.xcodeproj/project.pbxproj | 20 +- .../Data/Data.xcodeproj/project.pbxproj | 20 +- .../Domain/Domain.xcodeproj/project.pbxproj | 41 ++- Poppool/Poppool.xcodeproj/project.pbxproj | 258 ++---------------- .../xcshareddata/swiftpm/Package.resolved | 17 +- Poppool/Poppool/Application/AppDelegate.swift | 1 - .../Poppool/Application/SceneDelegate.swift | 1 - .../Presentation.xcodeproj/project.pbxproj | 41 ++- 8 files changed, 113 insertions(+), 286 deletions(-) diff --git a/Poppool/CoreLayer/Infrastructure/Infrastructure.xcodeproj/project.pbxproj b/Poppool/CoreLayer/Infrastructure/Infrastructure.xcodeproj/project.pbxproj index 70ccf6fe..d5ab556c 100644 --- a/Poppool/CoreLayer/Infrastructure/Infrastructure.xcodeproj/project.pbxproj +++ b/Poppool/CoreLayer/Infrastructure/Infrastructure.xcodeproj/project.pbxproj @@ -7,8 +7,8 @@ objects = { /* Begin PBXBuildFile section */ + 0522C1D72DB67B4F00B141FF /* RxSwift in Frameworks */ = {isa = PBXBuildFile; productRef = 0522C1D62DB67B4F00B141FF /* RxSwift */; }; 05EC93D92DB6605100771CB3 /* RxCocoa in Frameworks */ = {isa = PBXBuildFile; productRef = 05EC93D82DB6605100771CB3 /* RxCocoa */; }; - 05EC93DB2DB6605100771CB3 /* RxSwift in Frameworks */ = {isa = PBXBuildFile; productRef = 05EC93DA2DB6605100771CB3 /* RxSwift */; }; 05EC93DE2DB6612100771CB3 /* RxGesture in Frameworks */ = {isa = PBXBuildFile; productRef = 05EC93DD2DB6612100771CB3 /* RxGesture */; }; /* End PBXBuildFile section */ @@ -42,7 +42,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 05EC93DB2DB6605100771CB3 /* RxSwift in Frameworks */, + 0522C1D72DB67B4F00B141FF /* RxSwift in Frameworks */, 05EC93DE2DB6612100771CB3 /* RxGesture in Frameworks */, 05EC93D92DB6605100771CB3 /* RxCocoa in Frameworks */, ); @@ -108,8 +108,8 @@ name = Infrastructure; packageProductDependencies = ( 05EC93D82DB6605100771CB3 /* RxCocoa */, - 05EC93DA2DB6605100771CB3 /* RxSwift */, 05EC93DD2DB6612100771CB3 /* RxGesture */, + 0522C1D62DB67B4F00B141FF /* RxSwift */, ); productName = Infrastructure; productReference = 058CC9182DB5383C0084221A /* Infrastructure.framework */; @@ -303,8 +303,10 @@ isa = XCBuildConfiguration; buildSettings = { BUILD_LIBRARY_FOR_DISTRIBUTION = NO; + CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = ""; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; @@ -323,6 +325,7 @@ MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu17 gnu++20"; PRODUCT_BUNDLE_IDENTIFIER = com.poppoolIOS.poppool.Infrastructure; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SKIP_INSTALL = YES; SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; SUPPORTS_MACCATALYST = NO; @@ -340,8 +343,10 @@ isa = XCBuildConfiguration; buildSettings = { BUILD_LIBRARY_FOR_DISTRIBUTION = NO; + CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = ""; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; @@ -360,6 +365,7 @@ MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu17 gnu++20"; PRODUCT_BUNDLE_IDENTIFIER = com.poppoolIOS.poppool.Infrastructure; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SKIP_INSTALL = YES; SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; SUPPORTS_MACCATALYST = NO; @@ -416,15 +422,15 @@ /* End XCRemoteSwiftPackageReference section */ /* Begin XCSwiftPackageProductDependency section */ - 05EC93D82DB6605100771CB3 /* RxCocoa */ = { + 0522C1D62DB67B4F00B141FF /* RxSwift */ = { isa = XCSwiftPackageProductDependency; package = 05C1D82E2DB53CE300508FFD /* XCRemoteSwiftPackageReference "RxSwift" */; - productName = RxCocoa; + productName = RxSwift; }; - 05EC93DA2DB6605100771CB3 /* RxSwift */ = { + 05EC93D82DB6605100771CB3 /* RxCocoa */ = { isa = XCSwiftPackageProductDependency; package = 05C1D82E2DB53CE300508FFD /* XCRemoteSwiftPackageReference "RxSwift" */; - productName = RxSwift; + productName = RxCocoa; }; 05EC93DD2DB6612100771CB3 /* RxGesture */ = { isa = XCSwiftPackageProductDependency; diff --git a/Poppool/DataLayer/Data/Data.xcodeproj/project.pbxproj b/Poppool/DataLayer/Data/Data.xcodeproj/project.pbxproj index 86ed61dc..84c04464 100644 --- a/Poppool/DataLayer/Data/Data.xcodeproj/project.pbxproj +++ b/Poppool/DataLayer/Data/Data.xcodeproj/project.pbxproj @@ -7,10 +7,10 @@ objects = { /* Begin PBXBuildFile section */ + 0522C1DB2DB67C6100B141FF /* RxSwift in Frameworks */ = {isa = PBXBuildFile; productRef = 0522C1DA2DB67C6100B141FF /* RxSwift */; }; 05BDD3DC2DB66EB500C1E192 /* Alamofire in Frameworks */ = {isa = PBXBuildFile; productRef = 05BDD3DB2DB66EB500C1E192 /* Alamofire */; }; 05C1D6172DB53A5600508FFD /* DomainInterface.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 05C1D6152DB53A5600508FFD /* DomainInterface.framework */; }; 05C1D6192DB53A5600508FFD /* Infrastructure.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 05C1D6162DB53A5600508FFD /* Infrastructure.framework */; }; - 08B2A3522DB66AFB00E57EFA /* RxSwift in Frameworks */ = {isa = PBXBuildFile; productRef = 08B2A3512DB66AFB00E57EFA /* RxSwift */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -119,9 +119,9 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 08B2A3522DB66AFB00E57EFA /* RxSwift in Frameworks */, 05BDD3DC2DB66EB500C1E192 /* Alamofire in Frameworks */, 05C1D6172DB53A5600508FFD /* DomainInterface.framework in Frameworks */, + 0522C1DB2DB67C6100B141FF /* RxSwift in Frameworks */, 05C1D6192DB53A5600508FFD /* Infrastructure.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; @@ -183,8 +183,8 @@ ); name = Data; packageProductDependencies = ( - 08B2A3512DB66AFB00E57EFA /* RxSwift */, 05BDD3DB2DB66EB500C1E192 /* Alamofire */, + 0522C1DA2DB67C6100B141FF /* RxSwift */, ); productName = Data; productReference = 058CC8DC2DB5376A0084221A /* Data.framework */; @@ -215,8 +215,8 @@ mainGroup = 058CC8D22DB5376A0084221A; minimizedProjectReferenceProxies = 1; packageReferences = ( - 08B2A3502DB66AFB00E57EFA /* XCRemoteSwiftPackageReference "RxSwift" */, 08B2A3532DB66B1D00E57EFA /* XCRemoteSwiftPackageReference "Alamofire" */, + 05BDD5DA2DB6786900C1E192 /* XCRemoteSwiftPackageReference "RxSwift" */, ); preferredProjectObjectVersion = 77; productRefGroup = 058CC8DD2DB5376A0084221A /* Products */; @@ -464,7 +464,7 @@ /* End XCConfigurationList section */ /* Begin XCRemoteSwiftPackageReference section */ - 08B2A3502DB66AFB00E57EFA /* XCRemoteSwiftPackageReference "RxSwift" */ = { + 05BDD5DA2DB6786900C1E192 /* XCRemoteSwiftPackageReference "RxSwift" */ = { isa = XCRemoteSwiftPackageReference; repositoryURL = "https://github.com/ReactiveX/RxSwift"; requirement = { @@ -483,16 +483,16 @@ /* End XCRemoteSwiftPackageReference section */ /* Begin XCSwiftPackageProductDependency section */ + 0522C1DA2DB67C6100B141FF /* RxSwift */ = { + isa = XCSwiftPackageProductDependency; + package = 05BDD5DA2DB6786900C1E192 /* XCRemoteSwiftPackageReference "RxSwift" */; + productName = RxSwift; + }; 05BDD3DB2DB66EB500C1E192 /* Alamofire */ = { isa = XCSwiftPackageProductDependency; package = 08B2A3532DB66B1D00E57EFA /* XCRemoteSwiftPackageReference "Alamofire" */; productName = Alamofire; }; - 08B2A3512DB66AFB00E57EFA /* RxSwift */ = { - isa = XCSwiftPackageProductDependency; - package = 08B2A3502DB66AFB00E57EFA /* XCRemoteSwiftPackageReference "RxSwift" */; - productName = RxSwift; - }; /* End XCSwiftPackageProductDependency section */ }; rootObject = 058CC8D32DB5376A0084221A /* Project object */; diff --git a/Poppool/DomainLayer/Domain/Domain.xcodeproj/project.pbxproj b/Poppool/DomainLayer/Domain/Domain.xcodeproj/project.pbxproj index e238744c..94cc85b7 100644 --- a/Poppool/DomainLayer/Domain/Domain.xcodeproj/project.pbxproj +++ b/Poppool/DomainLayer/Domain/Domain.xcodeproj/project.pbxproj @@ -7,11 +7,11 @@ objects = { /* Begin PBXBuildFile section */ + 0522C1DD2DB67C6E00B141FF /* RxSwift in Frameworks */ = {isa = PBXBuildFile; productRef = 0522C1DC2DB67C6E00B141FF /* RxSwift */; }; + 0522C1DF2DB67C7700B141FF /* RxSwift in Frameworks */ = {isa = PBXBuildFile; productRef = 0522C1DE2DB67C7700B141FF /* RxSwift */; }; 05C1D61E2DB53A6700508FFD /* DomainInterface.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 05C1D0DB2DB538A600508FFD /* DomainInterface.framework */; }; 05C1D6222DB53A6700508FFD /* Infrastructure.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 05C1D61D2DB53A6700508FFD /* Infrastructure.framework */; }; 05C1D6262DB53A6E00508FFD /* Infrastructure.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 05C1D6252DB53A6E00508FFD /* Infrastructure.framework */; }; - 08B29EE62DB6696700E57EFA /* RxSwift in Frameworks */ = {isa = PBXBuildFile; productRef = 08B29EE52DB6696700E57EFA /* RxSwift */; }; - 08B2A34F2DB66AD300E57EFA /* RxSwift in Frameworks */ = {isa = PBXBuildFile; productRef = 08B2A34E2DB66AD300E57EFA /* RxSwift */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -24,6 +24,29 @@ }; /* End PBXContainerItemProxy section */ +/* Begin PBXCopyFilesBuildPhase section */ + 05BDD5E02DB678D100C1E192 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; + 05BDD5E42DB678DC00C1E192 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + /* Begin PBXFileReference section */ 058CC8F02DB5377F0084221A /* Domain.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Domain.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 05C1D0DB2DB538A600508FFD /* DomainInterface.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = DomainInterface.framework; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -49,7 +72,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 08B2A34F2DB66AD300E57EFA /* RxSwift in Frameworks */, + 0522C1DD2DB67C6E00B141FF /* RxSwift in Frameworks */, 05C1D61E2DB53A6700508FFD /* DomainInterface.framework in Frameworks */, 05C1D6222DB53A6700508FFD /* Infrastructure.framework in Frameworks */, ); @@ -59,7 +82,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 08B29EE62DB6696700E57EFA /* RxSwift in Frameworks */, + 0522C1DF2DB67C7700B141FF /* RxSwift in Frameworks */, 05C1D6262DB53A6E00508FFD /* Infrastructure.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; @@ -123,6 +146,7 @@ 058CC8EC2DB5377F0084221A /* Sources */, 058CC8ED2DB5377F0084221A /* Frameworks */, 058CC8EE2DB5377F0084221A /* Resources */, + 05BDD5E42DB678DC00C1E192 /* Embed Frameworks */, ); buildRules = ( ); @@ -134,7 +158,7 @@ ); name = Domain; packageProductDependencies = ( - 08B2A34E2DB66AD300E57EFA /* RxSwift */, + 0522C1DC2DB67C6E00B141FF /* RxSwift */, ); productName = Domain; productReference = 058CC8F02DB5377F0084221A /* Domain.framework */; @@ -148,6 +172,7 @@ 05C1D0D72DB538A600508FFD /* Sources */, 05C1D0D82DB538A600508FFD /* Frameworks */, 05C1D0D92DB538A600508FFD /* Resources */, + 05BDD5E02DB678D100C1E192 /* Embed Frameworks */, ); buildRules = ( ); @@ -158,7 +183,7 @@ ); name = DomainInterface; packageProductDependencies = ( - 08B29EE52DB6696700E57EFA /* RxSwift */, + 0522C1DE2DB67C7700B141FF /* RxSwift */, ); productName = DomainInterface; productReference = 05C1D0DB2DB538A600508FFD /* DomainInterface.framework */; @@ -561,12 +586,12 @@ /* End XCRemoteSwiftPackageReference section */ /* Begin XCSwiftPackageProductDependency section */ - 08B29EE52DB6696700E57EFA /* RxSwift */ = { + 0522C1DC2DB67C6E00B141FF /* RxSwift */ = { isa = XCSwiftPackageProductDependency; package = 05C1D8282DB53CC100508FFD /* XCRemoteSwiftPackageReference "RxSwift" */; productName = RxSwift; }; - 08B2A34E2DB66AD300E57EFA /* RxSwift */ = { + 0522C1DE2DB67C7700B141FF /* RxSwift */ = { isa = XCSwiftPackageProductDependency; package = 05C1D8282DB53CC100508FFD /* XCRemoteSwiftPackageReference "RxSwift" */; productName = RxSwift; diff --git a/Poppool/Poppool.xcodeproj/project.pbxproj b/Poppool/Poppool.xcodeproj/project.pbxproj index 5c009e1c..3970791e 100644 --- a/Poppool/Poppool.xcodeproj/project.pbxproj +++ b/Poppool/Poppool.xcodeproj/project.pbxproj @@ -7,6 +7,8 @@ objects = { /* Begin PBXBuildFile section */ + 0522C1D92DB67C5900B141FF /* RxSwift in Frameworks */ = {isa = PBXBuildFile; productRef = 0522C1D82DB67C5900B141FF /* RxSwift */; }; + 0522C3C62DB67D7800B141FF /* RxGesture in Frameworks */ = {isa = PBXBuildFile; productRef = 0522C3C52DB67D7800B141FF /* RxGesture */; }; 05BDD3D62DB66E1700C1E192 /* DomainInterface.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 05BDD3D52DB66E1700C1E192 /* DomainInterface.framework */; }; 05BDD3D72DB66E1700C1E192 /* DomainInterface.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 05BDD3D52DB66E1700C1E192 /* DomainInterface.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 05C1D60B2DB53A4900508FFD /* Data.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 05C1D6072DB53A4900508FFD /* Data.framework */; }; @@ -17,26 +19,10 @@ 05C1D6102DB53A4900508FFD /* Infrastructure.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 05C1D6092DB53A4900508FFD /* Infrastructure.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 05C1D6112DB53A4900508FFD /* Presentation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 05C1D60A2DB53A4900508FFD /* Presentation.framework */; }; 05C1D6122DB53A4900508FFD /* Presentation.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 05C1D60A2DB53A4900508FFD /* Presentation.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 05EC93D72DB6599500771CB3 /* RxCocoa in Frameworks */ = {isa = PBXBuildFile; productRef = 05EC93D62DB6599500771CB3 /* RxCocoa */; }; - 082197A12D426DCB0054094A /* Then in Frameworks */ = {isa = PBXBuildFile; productRef = 082197A02D426DCB0054094A /* Then */; }; - 083A25D02CF364B70099B58E /* Alamofire in Frameworks */ = {isa = PBXBuildFile; productRef = 083A25CF2CF364B70099B58E /* Alamofire */; }; - 088DE2442D104EE70030FA9E /* SwiftSoup in Frameworks */ = {isa = PBXBuildFile; productRef = 088DE2432D104EE70030FA9E /* SwiftSoup */; }; 4E15142A2D99480200DFD08F /* NMapsMap in Frameworks */ = {isa = PBXBuildFile; productRef = 4E1514292D99480200DFD08F /* NMapsMap */; }; - 4E15142C2D994A3A00DFD08F /* KakaoSDK in Frameworks */ = {isa = PBXBuildFile; productRef = 4E15142B2D994A3A00DFD08F /* KakaoSDK */; }; 4E15142E2D994A3A00DFD08F /* KakaoSDKAuth in Frameworks */ = {isa = PBXBuildFile; productRef = 4E15142D2D994A3A00DFD08F /* KakaoSDKAuth */; }; 4E1514302D994A3A00DFD08F /* KakaoSDKCommon in Frameworks */ = {isa = PBXBuildFile; productRef = 4E15142F2D994A3A00DFD08F /* KakaoSDKCommon */; }; - 4E5825672D1951DF00EE83EF /* FloatingPanel in Frameworks */ = {isa = PBXBuildFile; productRef = 4E5825662D1951DF00EE83EF /* FloatingPanel */; }; - 4EA9989D2D21C404009DC30B /* RxDataSources in Frameworks */ = {isa = PBXBuildFile; productRef = 4EA9989C2D21C404009DC30B /* RxDataSources */; }; 4EE360FD2D91876300D2441D /* NMapsMap in Frameworks */ = {isa = PBXBuildFile; productRef = 4EE360FC2D91876300D2441D /* NMapsMap */; }; - BDCA41F22CF35D0D005EECF6 /* SnapKit in Frameworks */ = {isa = PBXBuildFile; productRef = BDCA41F12CF35D0D005EECF6 /* SnapKit */; }; - BDCA41F82CF35D9A005EECF6 /* RxSwift in Frameworks */ = {isa = PBXBuildFile; productRef = BDCA41F72CF35D9A005EECF6 /* RxSwift */; }; - BDCA41FE2CF35EE7005EECF6 /* ReactorKit in Frameworks */ = {isa = PBXBuildFile; productRef = BDCA41FD2CF35EE7005EECF6 /* ReactorKit */; }; - BDCA42012CF35EFE005EECF6 /* RxKeyboard in Frameworks */ = {isa = PBXBuildFile; productRef = BDCA42002CF35EFE005EECF6 /* RxKeyboard */; }; - BDCA42042CF35F76005EECF6 /* PanModal in Frameworks */ = {isa = PBXBuildFile; productRef = BDCA42032CF35F76005EECF6 /* PanModal */; }; - BDCA42072CF35FA6005EECF6 /* Tabman in Frameworks */ = {isa = PBXBuildFile; productRef = BDCA42062CF35FA6005EECF6 /* Tabman */; }; - BDCA420A2CF35FB1005EECF6 /* Pageboy in Frameworks */ = {isa = PBXBuildFile; productRef = BDCA42092CF35FB1005EECF6 /* Pageboy */; }; - BDCA420D2CF35FD2005EECF6 /* RxGesture in Frameworks */ = {isa = PBXBuildFile; productRef = BDCA420C2CF35FD2005EECF6 /* RxGesture */; }; - BDCA42102CF35FF5005EECF6 /* Lottie in Frameworks */ = {isa = PBXBuildFile; productRef = BDCA420F2CF35FF5005EECF6 /* Lottie */; }; /* End PBXBuildFile section */ /* Begin PBXCopyFilesBuildPhase section */ @@ -98,31 +84,17 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - BDCA41F82CF35D9A005EECF6 /* RxSwift in Frameworks */, 05C1D60F2DB53A4900508FFD /* Infrastructure.framework in Frameworks */, - BDCA420D2CF35FD2005EECF6 /* RxGesture in Frameworks */, - BDCA42072CF35FA6005EECF6 /* Tabman in Frameworks */, - BDCA42042CF35F76005EECF6 /* PanModal in Frameworks */, 05BDD3D62DB66E1700C1E192 /* DomainInterface.framework in Frameworks */, - 082197A12D426DCB0054094A /* Then in Frameworks */, - 05EC93D72DB6599500771CB3 /* RxCocoa in Frameworks */, + 0522C1D92DB67C5900B141FF /* RxSwift in Frameworks */, 4E15142E2D994A3A00DFD08F /* KakaoSDKAuth in Frameworks */, 05C1D60D2DB53A4900508FFD /* Domain.framework in Frameworks */, - 083A25D02CF364B70099B58E /* Alamofire in Frameworks */, 4E1514302D994A3A00DFD08F /* KakaoSDKCommon in Frameworks */, 05C1D6112DB53A4900508FFD /* Presentation.framework in Frameworks */, 05C1D60B2DB53A4900508FFD /* Data.framework in Frameworks */, - BDCA42102CF35FF5005EECF6 /* Lottie in Frameworks */, - BDCA41FE2CF35EE7005EECF6 /* ReactorKit in Frameworks */, - BDCA41F22CF35D0D005EECF6 /* SnapKit in Frameworks */, - BDCA420A2CF35FB1005EECF6 /* Pageboy in Frameworks */, - 4E5825672D1951DF00EE83EF /* FloatingPanel in Frameworks */, - 4EA9989D2D21C404009DC30B /* RxDataSources in Frameworks */, + 0522C3C62DB67D7800B141FF /* RxGesture in Frameworks */, 4EE360FD2D91876300D2441D /* NMapsMap in Frameworks */, - BDCA42012CF35EFE005EECF6 /* RxKeyboard in Frameworks */, 4E15142A2D99480200DFD08F /* NMapsMap in Frameworks */, - 088DE2442D104EE70030FA9E /* SwiftSoup in Frameworks */, - 4E15142C2D994A3A00DFD08F /* KakaoSDK in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -181,25 +153,11 @@ ); name = Poppool; packageProductDependencies = ( - BDCA41F12CF35D0D005EECF6 /* SnapKit */, - BDCA41F72CF35D9A005EECF6 /* RxSwift */, - BDCA41FD2CF35EE7005EECF6 /* ReactorKit */, - BDCA42002CF35EFE005EECF6 /* RxKeyboard */, - BDCA42032CF35F76005EECF6 /* PanModal */, - BDCA42062CF35FA6005EECF6 /* Tabman */, - BDCA42092CF35FB1005EECF6 /* Pageboy */, - BDCA420C2CF35FD2005EECF6 /* RxGesture */, - BDCA420F2CF35FF5005EECF6 /* Lottie */, - 083A25CF2CF364B70099B58E /* Alamofire */, - 088DE2432D104EE70030FA9E /* SwiftSoup */, - 4E5825662D1951DF00EE83EF /* FloatingPanel */, - 4EA9989C2D21C404009DC30B /* RxDataSources */, - 082197A02D426DCB0054094A /* Then */, 4E1514292D99480200DFD08F /* NMapsMap */, - 4E15142B2D994A3A00DFD08F /* KakaoSDK */, 4E15142D2D994A3A00DFD08F /* KakaoSDKAuth */, 4E15142F2D994A3A00DFD08F /* KakaoSDKCommon */, - 05EC93D62DB6599500771CB3 /* RxCocoa */, + 0522C1D82DB67C5900B141FF /* RxSwift */, + 0522C3C52DB67D7800B141FF /* RxGesture */, ); productName = Poppool; productReference = BDCA41BD2CF35AC0005EECF6 /* Poppool.app */; @@ -229,22 +187,11 @@ ); mainGroup = BDCA41B42CF35AC0005EECF6; packageReferences = ( - BDCA41F02CF35D0D005EECF6 /* XCRemoteSwiftPackageReference "SnapKit" */, - BDCA41F62CF35D9A005EECF6 /* XCRemoteSwiftPackageReference "RxSwift" */, - BDCA41FC2CF35EE7005EECF6 /* XCRemoteSwiftPackageReference "ReactorKit" */, - BDCA41FF2CF35EFE005EECF6 /* XCRemoteSwiftPackageReference "RxKeyboard" */, - BDCA42022CF35F76005EECF6 /* XCRemoteSwiftPackageReference "PanModal" */, - BDCA42052CF35FA6005EECF6 /* XCRemoteSwiftPackageReference "Tabman" */, - BDCA42082CF35FB1005EECF6 /* XCRemoteSwiftPackageReference "Pageboy" */, - BDCA420B2CF35FD2005EECF6 /* XCRemoteSwiftPackageReference "RxGesture" */, - BDCA420E2CF35FF5005EECF6 /* XCRemoteSwiftPackageReference "lottie-spm" */, - 083A25CE2CF364B70099B58E /* XCRemoteSwiftPackageReference "Alamofire" */, - 088DE2422D104EE70030FA9E /* XCRemoteSwiftPackageReference "SwiftSoup" */, - 4E5825652D1951DF00EE83EF /* XCRemoteSwiftPackageReference "FloatingPanel" */, - 4EA9989B2D21C404009DC30B /* XCRemoteSwiftPackageReference "RxDataSources" */, - 0821979F2D426DCB0054094A /* XCRemoteSwiftPackageReference "Then" */, 08F403312D884F4D00BFA61A /* XCRemoteSwiftPackageReference "kakao-ios-sdk" */, 4E1514282D99480200DFD08F /* XCRemoteSwiftPackageReference "SPM-NMapsMap" */, + 05BDD5C32DB674E500C1E192 /* XCRemoteSwiftPackageReference "SnapKit" */, + 05BDD5D62DB6783C00C1E192 /* XCRemoteSwiftPackageReference "RxSwift" */, + 0522C3C42DB67D7800B141FF /* XCRemoteSwiftPackageReference "RxGesture" */, ); preferredProjectObjectVersion = 56; productRefGroup = BDCA41BE2CF35AC0005EECF6 /* Products */; @@ -537,28 +484,28 @@ /* End XCConfigurationList section */ /* Begin XCRemoteSwiftPackageReference section */ - 0821979F2D426DCB0054094A /* XCRemoteSwiftPackageReference "Then" */ = { + 0522C3C42DB67D7800B141FF /* XCRemoteSwiftPackageReference "RxGesture" */ = { isa = XCRemoteSwiftPackageReference; - repositoryURL = "https://github.com/devxoul/Then"; + repositoryURL = "https://github.com/RxSwiftCommunity/RxGesture"; requirement = { kind = upToNextMajorVersion; - minimumVersion = 3.0.0; + minimumVersion = 4.0.4; }; }; - 083A25CE2CF364B70099B58E /* XCRemoteSwiftPackageReference "Alamofire" */ = { + 05BDD5C32DB674E500C1E192 /* XCRemoteSwiftPackageReference "SnapKit" */ = { isa = XCRemoteSwiftPackageReference; - repositoryURL = "https://github.com/Alamofire/Alamofire.git"; + repositoryURL = "https://github.com/SnapKit/SnapKit"; requirement = { kind = upToNextMajorVersion; - minimumVersion = 5.10.1; + minimumVersion = 5.7.1; }; }; - 088DE2422D104EE70030FA9E /* XCRemoteSwiftPackageReference "SwiftSoup" */ = { + 05BDD5D62DB6783C00C1E192 /* XCRemoteSwiftPackageReference "RxSwift" */ = { isa = XCRemoteSwiftPackageReference; - repositoryURL = "https://github.com/scinfu/SwiftSoup"; + repositoryURL = "https://github.com/ReactiveX/RxSwift"; requirement = { kind = upToNextMajorVersion; - minimumVersion = 2.7.6; + minimumVersion = 6.9.0; }; }; 08F403312D884F4D00BFA61A /* XCRemoteSwiftPackageReference "kakao-ios-sdk" */ = { @@ -577,22 +524,6 @@ minimumVersion = 3.21.0; }; }; - 4E5825652D1951DF00EE83EF /* XCRemoteSwiftPackageReference "FloatingPanel" */ = { - isa = XCRemoteSwiftPackageReference; - repositoryURL = "https://github.com/scenee/FloatingPanel.git"; - requirement = { - kind = upToNextMajorVersion; - minimumVersion = 2.8.6; - }; - }; - 4EA9989B2D21C404009DC30B /* XCRemoteSwiftPackageReference "RxDataSources" */ = { - isa = XCRemoteSwiftPackageReference; - repositoryURL = "https://github.com/RxSwiftCommunity/RxDataSources.git"; - requirement = { - kind = upToNextMajorVersion; - minimumVersion = 5.0.2; - }; - }; 4EE360FB2D91876300D2441D /* XCRemoteSwiftPackageReference "SPM-NMapsMap" */ = { isa = XCRemoteSwiftPackageReference; repositoryURL = "https://github.com/navermaps/SPM-NMapsMap"; @@ -601,110 +532,24 @@ minimumVersion = 3.21.0; }; }; - BDCA41F02CF35D0D005EECF6 /* XCRemoteSwiftPackageReference "SnapKit" */ = { - isa = XCRemoteSwiftPackageReference; - repositoryURL = "https://github.com/SnapKit/SnapKit.git"; - requirement = { - kind = upToNextMajorVersion; - minimumVersion = 5.7.1; - }; - }; - BDCA41F62CF35D9A005EECF6 /* XCRemoteSwiftPackageReference "RxSwift" */ = { - isa = XCRemoteSwiftPackageReference; - repositoryURL = "https://github.com/ReactiveX/RxSwift.git"; - requirement = { - kind = upToNextMajorVersion; - minimumVersion = 6.8.0; - }; - }; - BDCA41FC2CF35EE7005EECF6 /* XCRemoteSwiftPackageReference "ReactorKit" */ = { - isa = XCRemoteSwiftPackageReference; - repositoryURL = "https://github.com/ReactorKit/ReactorKit.git"; - requirement = { - kind = upToNextMajorVersion; - minimumVersion = 3.2.0; - }; - }; - BDCA41FF2CF35EFE005EECF6 /* XCRemoteSwiftPackageReference "RxKeyboard" */ = { - isa = XCRemoteSwiftPackageReference; - repositoryURL = "https://github.com/RxSwiftCommunity/RxKeyboard.git"; - requirement = { - kind = upToNextMajorVersion; - minimumVersion = 2.0.1; - }; - }; - BDCA42022CF35F76005EECF6 /* XCRemoteSwiftPackageReference "PanModal" */ = { - isa = XCRemoteSwiftPackageReference; - repositoryURL = "https://github.com/slackhq/PanModal.git"; - requirement = { - kind = upToNextMajorVersion; - minimumVersion = 1.2.7; - }; - }; - BDCA42052CF35FA6005EECF6 /* XCRemoteSwiftPackageReference "Tabman" */ = { - isa = XCRemoteSwiftPackageReference; - repositoryURL = "https://github.com/uias/Tabman.git"; - requirement = { - kind = upToNextMajorVersion; - minimumVersion = 3.2.0; - }; - }; - BDCA42082CF35FB1005EECF6 /* XCRemoteSwiftPackageReference "Pageboy" */ = { - isa = XCRemoteSwiftPackageReference; - repositoryURL = "https://github.com/uias/Pageboy.git"; - requirement = { - kind = upToNextMajorVersion; - minimumVersion = 4.2.0; - }; - }; - BDCA420B2CF35FD2005EECF6 /* XCRemoteSwiftPackageReference "RxGesture" */ = { - isa = XCRemoteSwiftPackageReference; - repositoryURL = "https://github.com/RxSwiftCommunity/RxGesture.git"; - requirement = { - kind = upToNextMajorVersion; - minimumVersion = 4.0.4; - }; - }; - BDCA420E2CF35FF5005EECF6 /* XCRemoteSwiftPackageReference "lottie-spm" */ = { - isa = XCRemoteSwiftPackageReference; - repositoryURL = "https://github.com/airbnb/lottie-spm.git"; - requirement = { - kind = upToNextMajorVersion; - minimumVersion = 4.5.0; - }; - }; /* End XCRemoteSwiftPackageReference section */ /* Begin XCSwiftPackageProductDependency section */ - 05EC93D62DB6599500771CB3 /* RxCocoa */ = { - isa = XCSwiftPackageProductDependency; - package = BDCA41F62CF35D9A005EECF6 /* XCRemoteSwiftPackageReference "RxSwift" */; - productName = RxCocoa; - }; - 082197A02D426DCB0054094A /* Then */ = { + 0522C1D82DB67C5900B141FF /* RxSwift */ = { isa = XCSwiftPackageProductDependency; - package = 0821979F2D426DCB0054094A /* XCRemoteSwiftPackageReference "Then" */; - productName = Then; - }; - 083A25CF2CF364B70099B58E /* Alamofire */ = { - isa = XCSwiftPackageProductDependency; - package = 083A25CE2CF364B70099B58E /* XCRemoteSwiftPackageReference "Alamofire" */; - productName = Alamofire; + package = 05BDD5D62DB6783C00C1E192 /* XCRemoteSwiftPackageReference "RxSwift" */; + productName = RxSwift; }; - 088DE2432D104EE70030FA9E /* SwiftSoup */ = { + 0522C3C52DB67D7800B141FF /* RxGesture */ = { isa = XCSwiftPackageProductDependency; - package = 088DE2422D104EE70030FA9E /* XCRemoteSwiftPackageReference "SwiftSoup" */; - productName = SwiftSoup; + package = 0522C3C42DB67D7800B141FF /* XCRemoteSwiftPackageReference "RxGesture" */; + productName = RxGesture; }; 4E1514292D99480200DFD08F /* NMapsMap */ = { isa = XCSwiftPackageProductDependency; package = 4E1514282D99480200DFD08F /* XCRemoteSwiftPackageReference "SPM-NMapsMap" */; productName = NMapsMap; }; - 4E15142B2D994A3A00DFD08F /* KakaoSDK */ = { - isa = XCSwiftPackageProductDependency; - productName = KakaoSDK; - }; 4E15142D2D994A3A00DFD08F /* KakaoSDKAuth */ = { isa = XCSwiftPackageProductDependency; productName = KakaoSDKAuth; @@ -713,66 +558,11 @@ isa = XCSwiftPackageProductDependency; productName = KakaoSDKCommon; }; - 4E5825662D1951DF00EE83EF /* FloatingPanel */ = { - isa = XCSwiftPackageProductDependency; - package = 4E5825652D1951DF00EE83EF /* XCRemoteSwiftPackageReference "FloatingPanel" */; - productName = FloatingPanel; - }; - 4EA9989C2D21C404009DC30B /* RxDataSources */ = { - isa = XCSwiftPackageProductDependency; - package = 4EA9989B2D21C404009DC30B /* XCRemoteSwiftPackageReference "RxDataSources" */; - productName = RxDataSources; - }; 4EE360FC2D91876300D2441D /* NMapsMap */ = { isa = XCSwiftPackageProductDependency; package = 4EE360FB2D91876300D2441D /* XCRemoteSwiftPackageReference "SPM-NMapsMap" */; productName = NMapsMap; }; - BDCA41F12CF35D0D005EECF6 /* SnapKit */ = { - isa = XCSwiftPackageProductDependency; - package = BDCA41F02CF35D0D005EECF6 /* XCRemoteSwiftPackageReference "SnapKit" */; - productName = SnapKit; - }; - BDCA41F72CF35D9A005EECF6 /* RxSwift */ = { - isa = XCSwiftPackageProductDependency; - package = BDCA41F62CF35D9A005EECF6 /* XCRemoteSwiftPackageReference "RxSwift" */; - productName = RxSwift; - }; - BDCA41FD2CF35EE7005EECF6 /* ReactorKit */ = { - isa = XCSwiftPackageProductDependency; - package = BDCA41FC2CF35EE7005EECF6 /* XCRemoteSwiftPackageReference "ReactorKit" */; - productName = ReactorKit; - }; - BDCA42002CF35EFE005EECF6 /* RxKeyboard */ = { - isa = XCSwiftPackageProductDependency; - package = BDCA41FF2CF35EFE005EECF6 /* XCRemoteSwiftPackageReference "RxKeyboard" */; - productName = RxKeyboard; - }; - BDCA42032CF35F76005EECF6 /* PanModal */ = { - isa = XCSwiftPackageProductDependency; - package = BDCA42022CF35F76005EECF6 /* XCRemoteSwiftPackageReference "PanModal" */; - productName = PanModal; - }; - BDCA42062CF35FA6005EECF6 /* Tabman */ = { - isa = XCSwiftPackageProductDependency; - package = BDCA42052CF35FA6005EECF6 /* XCRemoteSwiftPackageReference "Tabman" */; - productName = Tabman; - }; - BDCA42092CF35FB1005EECF6 /* Pageboy */ = { - isa = XCSwiftPackageProductDependency; - package = BDCA42082CF35FB1005EECF6 /* XCRemoteSwiftPackageReference "Pageboy" */; - productName = Pageboy; - }; - BDCA420C2CF35FD2005EECF6 /* RxGesture */ = { - isa = XCSwiftPackageProductDependency; - package = BDCA420B2CF35FD2005EECF6 /* XCRemoteSwiftPackageReference "RxGesture" */; - productName = RxGesture; - }; - BDCA420F2CF35FF5005EECF6 /* Lottie */ = { - isa = XCSwiftPackageProductDependency; - package = BDCA420E2CF35FF5005EECF6 /* XCRemoteSwiftPackageReference "lottie-spm" */; - productName = Lottie; - }; /* End XCSwiftPackageProductDependency section */ }; rootObject = BDCA41B52CF35AC0005EECF6 /* Project object */; diff --git a/Poppool/Poppool.xcworkspace/xcshareddata/swiftpm/Package.resolved b/Poppool/Poppool.xcworkspace/xcshareddata/swiftpm/Package.resolved index c64560f9..069cbc12 100644 --- a/Poppool/Poppool.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/Poppool/Poppool.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -1,5 +1,5 @@ { - "originHash" : "893e9d5956a6d674d140654334c58c276c99001321206803c07c48415f2e6ac3", + "originHash" : "bb8b8add80965de3fd56f4bb28fdba3b8a176e1362ab3ddd0bb3dcc27bc6f621", "pins" : [ { "identity" : "alamofire", @@ -29,11 +29,11 @@ } }, { - "identity" : "lottie-spm", + "identity" : "lottie-ios", "kind" : "remoteSourceControl", - "location" : "https://github.com/airbnb/lottie-spm.git", + "location" : "https://github.com/airbnb/lottie-ios", "state" : { - "revision" : "8c6edf4f0fa84fe9c058600a4295eb0c01661c69", + "revision" : "047aa81b77adcbf583a966dfef620d17650cc656", "version" : "4.5.1" } }, @@ -127,15 +127,6 @@ "version" : "3.21.0" } }, - { - "identity" : "swiftsoup", - "kind" : "remoteSourceControl", - "location" : "https://github.com/scinfu/SwiftSoup", - "state" : { - "revision" : "bba848db50462894e7fc0891d018dfecad4ef11e", - "version" : "2.8.7" - } - }, { "identity" : "tabman", "kind" : "remoteSourceControl", diff --git a/Poppool/Poppool/Application/AppDelegate.swift b/Poppool/Poppool/Application/AppDelegate.swift index 048389c4..dec23ab8 100644 --- a/Poppool/Poppool/Application/AppDelegate.swift +++ b/Poppool/Poppool/Application/AppDelegate.swift @@ -4,7 +4,6 @@ import CoreLocation import Data import Domain import DomainInterface -import Presentation import Infrastructure import KakaoSDKCommon diff --git a/Poppool/Poppool/Application/SceneDelegate.swift b/Poppool/Poppool/Application/SceneDelegate.swift index df8f5bb8..1df47b66 100644 --- a/Poppool/Poppool/Application/SceneDelegate.swift +++ b/Poppool/Poppool/Application/SceneDelegate.swift @@ -11,7 +11,6 @@ class SceneDelegate: UIResponder, UIWindowSceneDelegate { static let appDidBecomeActive = PublishSubject() static let appDidDisconnect = PublishSubject() - private let disposeBag = DisposeBag() func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) { guard let windowScene = (scene as? UIWindowScene) else { return } diff --git a/Poppool/PresentationLayer/Presentation/Presentation.xcodeproj/project.pbxproj b/Poppool/PresentationLayer/Presentation/Presentation.xcodeproj/project.pbxproj index 961cac34..f8acaeec 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation.xcodeproj/project.pbxproj +++ b/Poppool/PresentationLayer/Presentation/Presentation.xcodeproj/project.pbxproj @@ -9,13 +9,14 @@ /* Begin PBXBuildFile section */ 05125B982DB626E3001342A2 /* ReactorKit in Frameworks */ = {isa = PBXBuildFile; productRef = 05125B972DB626E3001342A2 /* ReactorKit */; }; 05125BA12DB6275C001342A2 /* PanModal in Frameworks */ = {isa = PBXBuildFile; productRef = 05125BA02DB6275C001342A2 /* PanModal */; }; - 05BDD3DA2DB66E6400C1E192 /* SnapKit in Frameworks */ = {isa = PBXBuildFile; productRef = 05BDD3D92DB66E6400C1E192 /* SnapKit */; }; + 0522C1E12DB67C8300B141FF /* RxSwift in Frameworks */ = {isa = PBXBuildFile; productRef = 0522C1E02DB67C8300B141FF /* RxSwift */; }; + 05BDD5CC2DB6756500C1E192 /* SnapKit in Frameworks */ = {isa = PBXBuildFile; productRef = 05BDD5CB2DB6756500C1E192 /* SnapKit */; }; + 05BDD5CF2DB6770300C1E192 /* Lottie in Frameworks */ = {isa = PBXBuildFile; productRef = 05BDD5CE2DB6770300C1E192 /* Lottie */; }; 05C1D62C2DB53A8200508FFD /* DomainInterface.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 05C1D62A2DB53A8200508FFD /* DomainInterface.framework */; }; 05C1D62E2DB53A8200508FFD /* Infrastructure.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 05C1D62B2DB53A8200508FFD /* Infrastructure.framework */; }; 05EC93CF2DB64C6F00771CB3 /* KakaoSDKAuth in Frameworks */ = {isa = PBXBuildFile; productRef = 05EC93CE2DB64C6F00771CB3 /* KakaoSDKAuth */; }; 05EC93D12DB64C6F00771CB3 /* KakaoSDKUser in Frameworks */ = {isa = PBXBuildFile; productRef = 05EC93D02DB64C6F00771CB3 /* KakaoSDKUser */; }; 05EC93D32DB6536200771CB3 /* RxCocoa in Frameworks */ = {isa = PBXBuildFile; productRef = 05EC93D22DB6536200771CB3 /* RxCocoa */; }; - 05EC93D52DB6536200771CB3 /* RxSwift in Frameworks */ = {isa = PBXBuildFile; productRef = 05EC93D42DB6536200771CB3 /* RxSwift */; }; 08B2A3582DB66B4100E57EFA /* RxKeyboard in Frameworks */ = {isa = PBXBuildFile; productRef = 08B2A3572DB66B4100E57EFA /* RxKeyboard */; }; 08B2A35B2DB66B5A00E57EFA /* FloatingPanel in Frameworks */ = {isa = PBXBuildFile; productRef = 08B2A35A2DB66B5A00E57EFA /* FloatingPanel */; }; 08B2A35E2DB66B8600E57EFA /* RxDataSources in Frameworks */ = {isa = PBXBuildFile; productRef = 08B2A35D2DB66B8600E57EFA /* RxDataSources */; }; @@ -58,13 +59,14 @@ buildActionMask = 2147483647; files = ( 08B2A3672DB66BD400E57EFA /* Pageboy in Frameworks */, - 05BDD3DA2DB66E6400C1E192 /* SnapKit in Frameworks */, - 05EC93D52DB6536200771CB3 /* RxSwift in Frameworks */, + 05BDD5CC2DB6756500C1E192 /* SnapKit in Frameworks */, 08B2A36A2DB66BF200E57EFA /* RxGesture in Frameworks */, 05C1D62C2DB53A8200508FFD /* DomainInterface.framework in Frameworks */, 05125B982DB626E3001342A2 /* ReactorKit in Frameworks */, + 05BDD5CF2DB6770300C1E192 /* Lottie in Frameworks */, 08B2A35B2DB66B5A00E57EFA /* FloatingPanel in Frameworks */, 08B2A3612DB66BAB00E57EFA /* Then in Frameworks */, + 0522C1E12DB67C8300B141FF /* RxSwift in Frameworks */, 05C1D62E2DB53A8200508FFD /* Infrastructure.framework in Frameworks */, 05125BA12DB6275C001342A2 /* PanModal in Frameworks */, 05EC93CF2DB64C6F00771CB3 /* KakaoSDKAuth in Frameworks */, @@ -142,7 +144,6 @@ 05EC93CE2DB64C6F00771CB3 /* KakaoSDKAuth */, 05EC93D02DB64C6F00771CB3 /* KakaoSDKUser */, 05EC93D22DB6536200771CB3 /* RxCocoa */, - 05EC93D42DB6536200771CB3 /* RxSwift */, 08B2A3572DB66B4100E57EFA /* RxKeyboard */, 08B2A35A2DB66B5A00E57EFA /* FloatingPanel */, 08B2A35D2DB66B8600E57EFA /* RxDataSources */, @@ -150,7 +151,9 @@ 08B2A3632DB66BBC00E57EFA /* Tabman */, 08B2A3662DB66BD400E57EFA /* Pageboy */, 08B2A3692DB66BF200E57EFA /* RxGesture */, - 05BDD3D92DB66E6400C1E192 /* SnapKit */, + 05BDD5CB2DB6756500C1E192 /* SnapKit */, + 05BDD5CE2DB6770300C1E192 /* Lottie */, + 0522C1E02DB67C8300B141FF /* RxSwift */, ); productName = Presentation; productReference = 058CC9042DB537960084221A /* Presentation.framework */; @@ -193,6 +196,7 @@ 08B2A3622DB66BBC00E57EFA /* XCRemoteSwiftPackageReference "Tabman" */, 08B2A3652DB66BD400E57EFA /* XCRemoteSwiftPackageReference "Pageboy" */, 08B2A3682DB66BF200E57EFA /* XCRemoteSwiftPackageReference "RxGesture" */, + 05BDD5CD2DB6770300C1E192 /* XCRemoteSwiftPackageReference "lottie-ios" */, ); preferredProjectObjectVersion = 77; productRefGroup = 058CC9052DB537960084221A /* Products */; @@ -472,6 +476,14 @@ minimumVersion = 1.2.7; }; }; + 05BDD5CD2DB6770300C1E192 /* XCRemoteSwiftPackageReference "lottie-ios" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/airbnb/lottie-ios"; + requirement = { + kind = upToNextMajorVersion; + minimumVersion = 4.5.1; + }; + }; 05EC93CD2DB64C6F00771CB3 /* XCRemoteSwiftPackageReference "kakao-ios-sdk" */ = { isa = XCRemoteSwiftPackageReference; repositoryURL = "https://github.com/kakao/kakao-ios-sdk"; @@ -549,11 +561,21 @@ package = 05125B9F2DB6275C001342A2 /* XCRemoteSwiftPackageReference "PanModal" */; productName = PanModal; }; - 05BDD3D92DB66E6400C1E192 /* SnapKit */ = { + 0522C1E02DB67C8300B141FF /* RxSwift */ = { + isa = XCSwiftPackageProductDependency; + package = 05125B932DB62295001342A2 /* XCRemoteSwiftPackageReference "RxSwift" */; + productName = RxSwift; + }; + 05BDD5CB2DB6756500C1E192 /* SnapKit */ = { isa = XCSwiftPackageProductDependency; package = 05125B992DB626ED001342A2 /* XCRemoteSwiftPackageReference "SnapKit" */; productName = SnapKit; }; + 05BDD5CE2DB6770300C1E192 /* Lottie */ = { + isa = XCSwiftPackageProductDependency; + package = 05BDD5CD2DB6770300C1E192 /* XCRemoteSwiftPackageReference "lottie-ios" */; + productName = Lottie; + }; 05EC93CE2DB64C6F00771CB3 /* KakaoSDKAuth */ = { isa = XCSwiftPackageProductDependency; package = 05EC93CD2DB64C6F00771CB3 /* XCRemoteSwiftPackageReference "kakao-ios-sdk" */; @@ -569,11 +591,6 @@ package = 05125B932DB62295001342A2 /* XCRemoteSwiftPackageReference "RxSwift" */; productName = RxCocoa; }; - 05EC93D42DB6536200771CB3 /* RxSwift */ = { - isa = XCSwiftPackageProductDependency; - package = 05125B932DB62295001342A2 /* XCRemoteSwiftPackageReference "RxSwift" */; - productName = RxSwift; - }; 08B2A3572DB66B4100E57EFA /* RxKeyboard */ = { isa = XCSwiftPackageProductDependency; package = 08B2A3562DB66B4100E57EFA /* XCRemoteSwiftPackageReference "RxKeyboard" */; From 1d65ee27af82ee6f6325ef49eb7f53677ed25057 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 21 Apr 2025 13:23:00 +0000 Subject: [PATCH 83/83] style/#112: Apply SwiftLint autocorrect --- .../Infrastructure/DIContainer/DependencyWrapper.swift | 2 +- .../Data/RepositoryImpl/PreSignedRepositoryImpl.swift | 4 ++-- .../Entity/AdminResponse/AdminStore.swift | 2 +- .../Entity/AdminResponse/AdminStoreDetail.swift | 4 ++-- .../Entity/AuthResponse/CategoryResponse.swift | 2 +- .../Entity/PopUpResponse/GetPopUpCommentResponse.swift | 2 +- .../Entity/PopUpResponse/GetPopUpDetailResponse.swift | 6 +++--- .../PopUpResponse/GetSearchBottomPopUpListResponse.swift | 2 +- .../PopUpResponse/GetSearchPopUpListResponse.swift | 2 +- .../Entity/UserResponse/GetBlockUserListResponse.swift | 2 +- .../Entity/UserResponse/GetMyPageResponse.swift | 2 +- .../Entity/UserResponse/GetMyProfileResponse.swift | 2 +- .../Entity/UserResponse/GetNoticeDetailResponse.swift | 2 +- .../Entity/UserResponse/GetNoticeListResponse.swift | 2 +- .../GetOtherUserCommentedPopUpListResponse.swift | 2 +- .../Entity/UserResponse/GetRecentPopUpResponse.swift | 2 +- .../Entity/UserResponse/GetWithdrawlListResponse.swift | 2 +- Poppool/Poppool/Application/AppDelegate.swift | 2 +- .../Admin/AdminRegister/PopUpStoreRegisterReactor.swift | 4 ++-- .../Presentation/Scene/Admin/AdminStoreCell.swift | 2 +- .../Presentation/Scene/Admin/AdminViewController.swift | 4 ++-- .../Scene/Comment/CommentList/CommentListReactor.swift | 4 ++-- .../NormalCommentAdd/NormalCommentAddReactor.swift | 2 +- .../NormalCommentEdit/NormalCommentEditReactor.swift | 9 ++++----- .../Presentation/Scene/Detail/DetailReactor.swift | 4 ++-- .../Main/View/HomeCardSection/HomeCardSectionCell.swift | 2 +- .../Presentation/Scene/Login/Main/LoginReactor.swift | 2 +- .../Presentation/Scene/Login/Sub/SubLoginReactor.swift | 2 +- .../Scene/Map/MapView/MapViewController.swift | 2 +- .../MyPage/ProfileEdit/Main/ProfileEditReactor.swift | 2 +- .../Presentation/Scene/Splash/SplashController.swift | 4 ++-- .../Presentation/Utills/Service/AppleLoginService.swift | 2 +- .../Presentation/Utills/Service/KakaoLoginService.swift | 2 +- 33 files changed, 45 insertions(+), 46 deletions(-) diff --git a/Poppool/CoreLayer/Infrastructure/Infrastructure/DIContainer/DependencyWrapper.swift b/Poppool/CoreLayer/Infrastructure/Infrastructure/DIContainer/DependencyWrapper.swift index cbfee35a..7096c486 100644 --- a/Poppool/CoreLayer/Infrastructure/Infrastructure/DIContainer/DependencyWrapper.swift +++ b/Poppool/CoreLayer/Infrastructure/Infrastructure/DIContainer/DependencyWrapper.swift @@ -20,7 +20,7 @@ import Foundation public final class Dependency { /// DIContainer에서 꺼내온 실제 인스턴스 public private(set) var wrappedValue: T - + /// DIContainer로부터 자동으로 인스턴스를 꺼내와 초기화합니다. public init() { self.wrappedValue = DIContainer.resolve(T.self) diff --git a/Poppool/DataLayer/Data/Data/RepositoryImpl/PreSignedRepositoryImpl.swift b/Poppool/DataLayer/Data/Data/RepositoryImpl/PreSignedRepositoryImpl.swift index 8bcf66d5..3c08b22b 100644 --- a/Poppool/DataLayer/Data/Data/RepositoryImpl/PreSignedRepositoryImpl.swift +++ b/Poppool/DataLayer/Data/Data/RepositoryImpl/PreSignedRepositoryImpl.swift @@ -18,13 +18,13 @@ public final class PreSignedRepositoryImpl: PreSignedRepository { ) }) } - + public func tryDelete(objectKeyList: [String]) -> Completable { return service.tryDelete( targetPaths: PresignedURLRequestDTO(objectKeyList: objectKeyList) ) } - + public func fullImageURL(from filePath: String) -> URL? { return service.fullImageURL(from: filePath) } diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/AdminResponse/AdminStore.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/AdminResponse/AdminStore.swift index e1d0c9f9..e57f78fc 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/AdminResponse/AdminStore.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/AdminResponse/AdminStore.swift @@ -7,7 +7,7 @@ public struct AdminStore { self.categoryName = categoryName self.mainImageUrl = mainImageUrl } - + public let id: Int64 public let name: String public let categoryName: String diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/AdminResponse/AdminStoreDetail.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/AdminResponse/AdminStoreDetail.swift index 353eda79..7dbb50b8 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/AdminResponse/AdminStoreDetail.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/AdminResponse/AdminStoreDetail.swift @@ -20,7 +20,7 @@ public struct AdminStoreDetail { self.markerTitle = markerTitle self.markerSnippet = markerSnippet } - + public let id: Int64 public let name: String public let categoryId: Int64 @@ -44,7 +44,7 @@ public struct AdminStoreDetail { self.id = id self.imageUrl = imageUrl } - + public let id: Int64 public let imageUrl: String } diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/AuthResponse/CategoryResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/AuthResponse/CategoryResponse.swift index f8848576..23d1c6e0 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/AuthResponse/CategoryResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/AuthResponse/CategoryResponse.swift @@ -5,7 +5,7 @@ public struct CategoryResponse { self.categoryId = categoryId self.category = category } - + public let categoryId: Int64 public let category: String } diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetPopUpCommentResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetPopUpCommentResponse.swift index 5f8e5ae9..ae460a5a 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetPopUpCommentResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetPopUpCommentResponse.swift @@ -4,6 +4,6 @@ public struct GetPopUpCommentResponse { public init(commentList: [GetPopUpDetailCommentResponse]) { self.commentList = commentList } - + public let commentList: [GetPopUpDetailCommentResponse] } diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetPopUpDetailResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetPopUpDetailResponse.swift index be18c5c7..fcb8137c 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetPopUpDetailResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetPopUpDetailResponse.swift @@ -41,7 +41,7 @@ public struct GetPopUpDetailImageResponse { self.id = id self.imageUrl = imageUrl } - + public let id: Int64 public let imageUrl: String? } @@ -60,7 +60,7 @@ public struct GetPopUpDetailCommentResponse { self.createDateTime = createDateTime self.commentImageList = commentImageList } - + public let commentId: Int64 public let creator: String? public let nickname: String? @@ -81,7 +81,7 @@ public struct GetPopUpDetailSimilarResponse { self.mainImageUrl = mainImageUrl self.endDate = endDate } - + public let id: Int64 public let name: String? public let mainImageUrl: String? diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetSearchBottomPopUpListResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetSearchBottomPopUpListResponse.swift index b5434ece..acaab501 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetSearchBottomPopUpListResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetSearchBottomPopUpListResponse.swift @@ -7,7 +7,7 @@ public struct GetSearchBottomPopUpListResponse { self.totalPages = totalPages self.totalElements = totalElements } - + public var popUpStoreList: [PopUpStoreResponse] public var loginYn: Bool public var totalPages: Int32 diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetSearchPopUpListResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetSearchPopUpListResponse.swift index e628592f..93c13fa5 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetSearchPopUpListResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/PopUpResponse/GetSearchPopUpListResponse.swift @@ -5,7 +5,7 @@ public struct GetSearchPopUpListResponse { self.popUpStoreList = popUpStoreList self.loginYn = loginYn } - + public var popUpStoreList: [PopUpStoreResponse] public var loginYn: Bool } diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetBlockUserListResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetBlockUserListResponse.swift index a1495ca9..a63aaf7f 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetBlockUserListResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetBlockUserListResponse.swift @@ -19,7 +19,7 @@ public struct GetBlockUserListDataResponse { self.nickname = nickname self.instagramId = instagramId } - + public var userId: String? public var profileImageUrl: String? public var nickname: String? diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetMyPageResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetMyPageResponse.swift index b7d1dd73..47bfb54b 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetMyPageResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetMyPageResponse.swift @@ -26,7 +26,7 @@ public struct GetMyPagePopUpResponse { self.popUpStoreName = popUpStoreName self.mainImageUrl = mainImageUrl } - + public var popUpStoreId: Int64 public var popUpStoreName: String? public var mainImageUrl: String? diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetMyProfileResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetMyProfileResponse.swift index ce7a1534..671433c8 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetMyProfileResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetMyProfileResponse.swift @@ -11,7 +11,7 @@ public struct GetMyProfileResponse { self.age = age self.interestCategoryList = interestCategoryList } - + public var profileImageUrl: String? public var nickname: String? public var email: String? diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetNoticeDetailResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetNoticeDetailResponse.swift index 532a7a5c..a1e20371 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetNoticeDetailResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetNoticeDetailResponse.swift @@ -7,7 +7,7 @@ public struct GetNoticeDetailResponse { self.content = content self.createDateTime = createDateTime } - + var id: Int64 public var title: String? public var content: String? diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetNoticeListResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetNoticeListResponse.swift index 121592eb..fe085bfc 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetNoticeListResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetNoticeListResponse.swift @@ -14,7 +14,7 @@ public struct GetNoticeListDataResponse { self.title = title self.createdDateTime = createdDateTime } - + public var id: Int64 public var title: String? public var createdDateTime: String? diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetOtherUserCommentedPopUpListResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetOtherUserCommentedPopUpListResponse.swift index ab1710d1..65c2f463 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetOtherUserCommentedPopUpListResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetOtherUserCommentedPopUpListResponse.swift @@ -19,7 +19,7 @@ public struct GetOtherUserCommentedPopUpResponse { self.address = address self.closedYn = closedYn } - + public var popUpStoreId: Int64 public var popUpStoreName: String? public var desc: String? diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetRecentPopUpResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetRecentPopUpResponse.swift index 46d0e070..0e84a1f6 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetRecentPopUpResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetRecentPopUpResponse.swift @@ -23,7 +23,7 @@ public struct GetRecentPopUpDataResponse { self.address = address self.closeYn = closeYn } - + public var popUpStoreId: Int64 public var popUpStoreName: String? public var desc: String? diff --git a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetWithdrawlListResponse.swift b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetWithdrawlListResponse.swift index 636ee8f9..830001e0 100644 --- a/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetWithdrawlListResponse.swift +++ b/Poppool/DomainLayer/Domain/DomainInterface/Entity/UserResponse/GetWithdrawlListResponse.swift @@ -13,7 +13,7 @@ public struct GetWithdrawlListDataResponse { self.id = id self.survey = survey } - + public var id: Int64 public var survey: String? } diff --git a/Poppool/Poppool/Application/AppDelegate.swift b/Poppool/Poppool/Application/AppDelegate.swift index dec23ab8..f7f91de9 100644 --- a/Poppool/Poppool/Application/AppDelegate.swift +++ b/Poppool/Poppool/Application/AppDelegate.swift @@ -1,5 +1,5 @@ -import UIKit import CoreLocation +import UIKit import Data import Domain diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterReactor.swift index 53df9995..324f2183 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterReactor.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminRegister/PopUpStoreRegisterReactor.swift @@ -1,8 +1,8 @@ -import UIKit import CoreLocation +import UIKit -import Infrastructure import DomainInterface +import Infrastructure import ReactorKit import RxCocoa diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminStoreCell.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminStoreCell.swift index 3d6b6dda..2abf1f73 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminStoreCell.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminStoreCell.swift @@ -80,7 +80,7 @@ final class AdminStoreCell: UITableViewCell { } // MARK: - Configure - func configure(with store: AdminStore) { + func configure(with store: AdminStore) { Logger.log(message: "셀 데이터 바인딩: \(store)", category: .debug) titleLabel.text = store.name diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminViewController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminViewController.swift index 7e98d74a..ddf71a45 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminViewController.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Admin/AdminViewController.swift @@ -1,7 +1,7 @@ import UIKit -import Infrastructure import DomainInterface +import Infrastructure import ReactorKit import RxCocoa @@ -298,7 +298,7 @@ final class AdminViewController: BaseViewController, View { cellIdentifier: AdminStoreCell.identifier, cellType: AdminStoreCell.self )) { _, store, cell in - cell.configure(with: store) + cell.configure(with: store) } .disposed(by: disposeBag) } diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/CommentList/CommentListReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/CommentList/CommentListReactor.swift index 0707c1ba..e0b71792 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/CommentList/CommentListReactor.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/CommentList/CommentListReactor.swift @@ -1,7 +1,7 @@ import UIKit -import Infrastructure import DomainInterface +import Infrastructure import ReactorKit import RxCocoa @@ -302,7 +302,7 @@ final class CommentListReactor: Reactor { let commentList = comment.imageList.compactMap { $0 } self.preSignedUseCase.tryDelete(objectKeyList: commentList) - .subscribe(onDisposed: { + .subscribe(onDisposed: { Logger.log(message: "S3 Image Delete 완료", category: .info) }) .disposed(by: self.disposeBag) diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/NormalCommentAdd/NormalCommentAddReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/NormalCommentAdd/NormalCommentAddReactor.swift index e3acc723..b68f78ed 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/NormalCommentAdd/NormalCommentAddReactor.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/NormalCommentAdd/NormalCommentAddReactor.swift @@ -1,8 +1,8 @@ import PhotosUI import UIKit -import Infrastructure import DomainInterface +import Infrastructure import ReactorKit import RxCocoa diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/NormalCommentEdit/NormalCommentEditReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/NormalCommentEdit/NormalCommentEditReactor.swift index 788444f9..1ad07a70 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/NormalCommentEdit/NormalCommentEditReactor.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Comment/NormalCommentEdit/NormalCommentEditReactor.swift @@ -1,8 +1,8 @@ import PhotosUI import UIKit -import Infrastructure import DomainInterface +import Infrastructure import ReactorKit import RxCocoa @@ -35,14 +35,13 @@ final class NormalCommentEditReactor: Reactor { var isReloadView: Bool = true var isSaving: Bool = false } - + struct PutCommentImageData { var imageId: Int64? var imageUrl: String? var actionType: String? } - // MARK: - properties var initialState: State @@ -190,10 +189,10 @@ final class NormalCommentEditReactor: Reactor { content: newState.text, imageUrlList: (convertAddImages + convertKeepImages + convertDeleteImages).map { $0.imageUrl } ) - .subscribe(onDisposed: { [weak self, weak controller] in + .subscribe(onDisposed: { [weak self, weak controller] in guard let self = self else { return } self.preSignedUseCase.tryDelete(objectKeyList: deleteImages.compactMap { $0.0 }) - .subscribe(onDisposed: { + .subscribe(onDisposed: { controller?.navigationController?.popViewController(animated: true) }) .disposed(by: self.disposeBag) diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Detail/DetailReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Detail/DetailReactor.swift index 71a11147..f54b4f78 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Detail/DetailReactor.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Detail/DetailReactor.swift @@ -1,7 +1,7 @@ import UIKit -import Infrastructure import DomainInterface +import Infrastructure import LinkPresentation import ReactorKit @@ -538,7 +538,7 @@ extension DetailReactor { let commentList = comment.imageList.compactMap { $0 } self.preSignedUseCase.tryDelete(objectKeyList: commentList) - .subscribe(onDisposed: { + .subscribe(onDisposed: { Logger.log(message: "S3 Image Delete 완료", category: .info) }) .disposed(by: self.disposeBag) diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Home/Main/View/HomeCardSection/HomeCardSectionCell.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Home/Main/View/HomeCardSection/HomeCardSectionCell.swift index 8c26452a..c69e6409 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Home/Main/View/HomeCardSection/HomeCardSectionCell.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Home/Main/View/HomeCardSection/HomeCardSectionCell.swift @@ -56,7 +56,7 @@ final class HomeCardSectionCell: UICollectionViewCell { label.textColor = .w100 return label }() - + // MARK: - init override init(frame: CGRect) { diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Login/Main/LoginReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Login/Main/LoginReactor.swift index cb6b11e3..32b3fe8e 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Login/Main/LoginReactor.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Login/Main/LoginReactor.swift @@ -1,5 +1,5 @@ -import Infrastructure import DomainInterface +import Infrastructure import ReactorKit import RxCocoa diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Login/Sub/SubLoginReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Login/Sub/SubLoginReactor.swift index d257b177..88170711 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Login/Sub/SubLoginReactor.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Login/Sub/SubLoginReactor.swift @@ -1,5 +1,5 @@ -import Infrastructure import DomainInterface +import Infrastructure import ReactorKit import RxCocoa diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/MapView/MapViewController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/MapView/MapViewController.swift index 1c275561..39e20a31 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/MapView/MapViewController.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Map/MapView/MapViewController.swift @@ -1,5 +1,5 @@ -import UIKit import CoreLocation +import UIKit import DomainInterface import Infrastructure diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/ProfileEdit/Main/ProfileEditReactor.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/ProfileEdit/Main/ProfileEditReactor.swift index 0b57dd84..42702d27 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/ProfileEdit/Main/ProfileEditReactor.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/MyPage/ProfileEdit/Main/ProfileEditReactor.swift @@ -1,8 +1,8 @@ import PhotosUI import UIKit -import Infrastructure import DomainInterface +import Infrastructure import ReactorKit import RxCocoa diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Splash/SplashController.swift b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Splash/SplashController.swift index e28d8ac6..a4bc2163 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Scene/Splash/SplashController.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Scene/Splash/SplashController.swift @@ -1,7 +1,7 @@ import UIKit -import Infrastructure import DomainInterface +import Infrastructure import ReactorKit import RxCocoa @@ -9,7 +9,7 @@ import RxSwift import SnapKit public final class SplashController: BaseViewController { - + // MARK: - Properties var disposeBag = DisposeBag() diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Utills/Service/AppleLoginService.swift b/Poppool/PresentationLayer/Presentation/Presentation/Utills/Service/AppleLoginService.swift index 91a42cc0..18458103 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Utills/Service/AppleLoginService.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Utills/Service/AppleLoginService.swift @@ -1,5 +1,5 @@ -import Infrastructure import DomainInterface +import Infrastructure import AuthenticationServices import RxSwift diff --git a/Poppool/PresentationLayer/Presentation/Presentation/Utills/Service/KakaoLoginService.swift b/Poppool/PresentationLayer/Presentation/Presentation/Utills/Service/KakaoLoginService.swift index a7efe24e..634cf838 100644 --- a/Poppool/PresentationLayer/Presentation/Presentation/Utills/Service/KakaoLoginService.swift +++ b/Poppool/PresentationLayer/Presentation/Presentation/Utills/Service/KakaoLoginService.swift @@ -1,5 +1,5 @@ -import Infrastructure import DomainInterface +import Infrastructure import KakaoSDKAuth import KakaoSDKUser