From fa4253cd25632c6d479a94ce7eed2abe78ff217f Mon Sep 17 00:00:00 2001 From: Roy Date: Fri, 31 Jul 2026 00:18:27 +0900 Subject: [PATCH 01/83] refator: Module --- .../FeatureModule.swift | 70 ++- .../TargetDependency+Module/Modules.swift | 19 +- .../Path+Modules.swift | 11 - .../TargetDependency+Modules.swift | 7 - .../Project+Templete/Extension+String.swift | 2 +- Projects/App/Project.swift | 6 +- .../Configuration/PushTokenStore.swift | 4 +- Projects/App/Sources/Di/DiRegister.swift | 7 +- .../Battle/AppBattleCoordinator.swift | 4 +- .../Coordinator/Hifi/AppHifiCoordinator.swift | 2 +- .../Coordinator/Home/AppHomeCoordinator.swift | 4 +- .../Profile/AppProfileCoordinator.swift | 3 +- .../App/Sources/Reducer/Root/AppReducer.swift | 9 +- Projects/App/Sources/View/Root/AppView.swift | 9 +- .../PickeCoreTests/Sources/Test.swift | 13 + .../Entity => Core/PickeCore}/Project.swift | 14 +- .../PickeCore}/Sources/Base.swift | 0 .../PickeCore}/Sources/FeatureFlag.swift | 0 .../PickeFoundationTests}/Sources/Test.swift | 0 .../PickeFoundation}/Project.swift | 11 +- .../Sources/Extension/Date+.swift | 2 +- .../Sources/Extension/Int+.swift | 2 +- .../Sources/Extension/String+.swift | 2 +- .../Sources/Extension/UUID+.swift | 2 +- .../Interface}/Manager/AuthLocalStorage.swift | 2 +- .../DefaultMemoryKeychainManager.swift | 2 +- .../Manager}/KeychainManagerInterface.swift | 4 +- Projects/Core/PickeStorage/Project.swift | 22 + .../Sources/Manager/KeychainManager.swift | 6 +- .../Testing/PickeStorageTesting.swift | 8 + .../Tests/PickeStorageTests.swift | 14 + .../Repository}/AppUpdateRepositoryImpl.swift | 5 +- Projects/Data/Attendance/Project.swift | 2 +- .../Sources/Service/AttendanceService.swift | 2 +- Projects/Data/Auth/Project.swift | 4 +- .../Interceptor/AuthInterceptor.swift | 5 +- .../SessionInvalidationMonitor.swift | 3 +- .../RefreshToken/AccessTokenCredential.swift | 2 +- .../RefreshToken/AuthSessionManager.swift | 5 +- .../OptimizedSessionManager.swift | 5 +- .../Repository/AuthRepositoryImpl.swift | 3 +- .../Google/GoogleOAuthRepositoryImpl.swift | 1 - .../Apple/AppleOAuthRepositoryImpl.swift | 1 - .../OAuth/Kakao/KakaoOAuthRepository.swift | 1 - .../OAuth/Web/OAuthWebViewController.swift | 1 - .../Auth/Sources/Service/AuthService.swift | 2 +- .../Data/Auth/Tests/AuthRepositoryTests.swift | 1 - Projects/Data/Battle/Project.swift | 5 +- .../Repository/BattleRepositoryImpl.swift | 4 +- .../Battle/Tests/BattleRepositoryTests.swift | 1 - Projects/Data/Comment/Project.swift | 2 +- Projects/Data/Data/Project.swift | 2 +- Projects/Data/DataTesting/Project.swift | 5 +- .../AppUpdate/FakeAppUpdateRepository.swift | 3 +- Projects/Data/Home/Project.swift | 3 +- .../Repository/HomeRepositoryImpl.swift | 2 +- .../Data/Home/Tests/HomeRepositoryTests.swift | 2 +- Projects/Data/Model/Project.swift | 2 +- .../AppUpdate/Mapper/AppUpdateDTO+.swift | 2 +- .../Battle/Mapper/BattleDetailDataDTO+.swift | 1 - .../Mapper/BattlePerspectiveDataDTO+.swift | 1 - .../Mapper/BattleProposalDataDTO+.swift | 1 - .../Mapper/BattleScenarioDataDTO+.swift | 1 - .../Mapper/BattleVoteStatsDataDTO+.swift | 1 - .../Battle/Mapper/PreVoteDataDTO+.swift | 1 - .../Mapper/RecommendedBattleDataDTO+.swift | 1 - .../Battle/Mapper/TodayBattleDataDTO+.swift | 1 - .../Mapper/PerspectiveCommentDataDTO+.swift | 1 - Projects/Data/Notification/Project.swift | 2 +- .../Sources/Service/NotificationService.swift | 2 +- Projects/Data/Perspective/Project.swift | 2 +- Projects/Data/Profile/Project.swift | 2 +- .../Sources/Service/ProfileService.swift | 2 +- .../Tests/ProfileRequestMappingTests.swift | 2 +- .../Data/{Service => Remote}/Project.swift | 6 +- .../RemoteTests}/Sources/Test.swift | 0 .../Sources/Common/Encodable+.swift | 0 .../Sources/Device/DeviceService.swift | 0 .../Request/DeviceRegisterRequest.swift | 0 Projects/Data/Repository/Project.swift | 7 +- Projects/Data/Search/Project.swift | 3 +- .../Search/Sources/SearchBattleDataDTO+.swift | 1 - .../Search/Sources/SearchRepositoryImpl.swift | 2 +- .../Search/Tests/SearchRepositoryTests.swift | 2 +- .../Demo/Sources/PickeDesignKitDemoApp.swift | 0 .../Demo/Sources/StorybookView.swift | 0 .../DesignSystemTests}/Sources/Test.swift | 0 .../Project.swift | 0 .../FontAsset/PretendardVariable.ttf | Bin .../ImageAssets.xcassets/Auth/Contents.json | 0 .../Auth/checkBlue.imageset/Contents.json | 0 .../Auth/checkBlue.imageset/checkBlue.svg | 0 .../Auth/errorXmark.imageset/Contents.json | 0 .../Auth/errorXmark.imageset/errorXmark.svg | 0 .../ImageAssets.xcassets/Avatar/Contents.json | 0 .../Avatar/avatarPlato.imageset/Contents.json | 0 .../avatarPlato.imageset/avatarPlato.png | Bin .../avatarSartre.imageset/Contents.json | 0 .../avatarSartre.imageset/avatarSartre.png | Bin .../Avatar/avatarSunja.imageset/Contents.json | 0 .../avatarSunja.imageset/avatarSunja.png | Bin .../Comment/heartPlus.imageset/Contents.json | 0 .../Comment/heartPlus.imageset/heartPlus.svg | 0 .../ImageAssets.xcassets/Contents.json | 0 .../ImageAssets.xcassets/GNB/Contents.json | 0 .../GNB/tabExplore.imageset/Contents.json | 0 .../GNB/tabExplore.imageset/tabExplore.svg | 0 .../tabExploreActive.imageset/Contents.json | 0 .../tabExploreActive.svg | 0 .../GNB/tabHome.imageset/Contents.json | 0 .../GNB/tabHome.imageset/tabHome.svg | 0 .../GNB/tabHomeActive.imageset/Contents.json | 0 .../tabHomeActive.imageset/tabHomeActive.svg | 0 .../GNB/tabMyPage.imageset/Contents.json | 0 .../GNB/tabMyPage.imageset/tabMyPage.svg | 0 .../tabMyPageActive.imageset/Contents.json | 0 .../tabMyPageActive.svg | 0 .../GNB/tabQuickBattle.imageset/Contents.json | 0 .../tabQuickBattle.svg | 0 .../Contents.json | 0 .../tabQuickBattleActive.svg | 0 .../ImageAssets.xcassets/Home/Contents.json | 0 .../Home/appLogo.imageset/Contents.json | 0 .../Home/appLogo.imageset/appLogo.svg | 0 .../Home/bell.imageset/Contents.json | 0 .../Home/bell.imageset/bell.svg | 0 .../OnBoarding/Contents.json | 0 .../onboarding1.imageset/Contents.json | 0 ...354\230\250\353\263\264\353\224\251 1.svg" | 0 .../onboarding2.imageset/Contents.json | 0 ...354\230\250\353\263\264\353\224\251 2.svg" | 0 .../onboarding3.imageset/Contents.json | 0 ...354\230\250\353\263\264\353\224\251 3.svg" | 0 .../onboarding4.imageset/Contents.json | 0 ...354\230\250\353\263\264\353\224\251 4.svg" | 0 .../Profile/Contents.json | 0 .../Profile/history.imageset/Contents.json | 0 .../Profile/history.imageset/history.svg | 0 .../Profile/lock.imageset/Contents.json | 0 ...\252\251-\354\227\206\354\235\214-2 1.png" | Bin .../Profile/vs.imageset/Contents.json | 0 .../Profile/vs.imageset/versus_home.svg | 0 .../ImageAssets.xcassets/logo/Contents.json | 0 .../logo/loginLogo.imageset/Contents.json | 0 ...\354\274\200 \353\241\234\352\263\240.svg" | 0 .../logo/noDataLogo.imageset/Contents.json | 0 .../logo/noDataLogo.imageset/pickeLogo2.svg | 0 .../logo/splashLogo.imageset/Contents.json | 0 .../logo/splashLogo.imageset/splashLogo.png | Bin .../socialLogin/Contents.json | 0 .../socialLogin/google.imageset/Contents.json | 0 .../socialLogin/google.imageset/google.svg | 0 .../socialLogin/kakao.imageset/Contents.json | 0 .../socialLogin/kakao.imageset/kakao.svg | 0 .../CGFloat/CGFloat+Component+.swift | 0 .../Extension/CGFloat/CGFloat+Radius+.swift | 0 .../Extension/CGFloat/CGFloat+Spacing+.swift | 0 .../Sources/Extension/Color/Color+.swift | 0 .../Sources/Extension/Color/UIColor+.swift | 0 .../Sources/Extension/Image/Image+.swift | 0 .../Sources/Extension/Image/UIImage+.swift | 0 .../Extension/ScreenSize/UIScreen+.swift | 0 .../Extension/View/View+Background.swift | 0 .../Sources/Extension/View/View+Border.swift | 0 .../Sources/Token/Color/ShapeStyle+.swift | 0 .../Sources/Token/Image/ImageAsset.swift | 0 .../Sources/Token/Typography/CustomSize.swift | 0 .../Token/Typography/PretendardFont.swift | 22 +- .../Typography/PretendardFontFamily.swift | 0 .../UI/ActionSheet/BottomActionSheet.swift | 0 .../UI/ActionSheet/PickeActionPill.swift | 0 .../CustomPopup/CustomAlertModifiers.swift | 0 .../Alert/CustomPopup/CustomAlertState.swift | 0 ...stomConfirmationPopupView+Components.swift | 99 +++ .../CustomConfirmationPopupView+Content.swift | 277 +++++++++ .../CustomConfirmationPopupView+Report.swift | 129 ++++ .../CustomConfirmationPopupView.swift | 65 ++ .../UI/Alert/CustomPopup/ReportReason.swift | 30 + .../UI/AudioPlayer/AudioEqualizerView.swift | 0 .../AudioPlayer/AudioPlayerControlView.swift | 0 .../Sources/UI/Avatar/PickeAvatar.swift | 0 .../Sources/UI/Avatar/PickeAvatarView.swift | 0 .../Sources/UI/Badge/PickeBadge.swift | 0 .../Sources/UI/Button/CTAButtonStyle.swift | 0 .../UI/Button/CTAButtonStyleModifier.swift | 0 .../Sources/UI/Card/PickeListRowCard.swift | 0 .../Sources/UI/Chip/PickeSortChip.swift | 0 .../Sources/UI/Divider/PickeDivider.swift | 0 .../UI/Empty/PickeEmptyStateView.swift | 0 .../UI/Empty/PickeRetryErrorView.swift | 0 .../UI/Floating/FloatingErrorView.swift | 0 .../UI/Input/PickeCommentInputBar.swift | 0 .../Sources/UI/Modal/PickeModal.swift | 0 .../UI/Navigaion/PickeNavigationBar.swift | 0 .../UI/Navigaion/PickeSegmentTab.swift | 0 .../UINavigationController+gesture.swift | 0 .../Sources/UI/Share/ShareSheet.swift | 0 .../Sources/UI/Skeleton/SkeletonBlock.swift | 0 .../Sources/UI/Skeleton/SkeletonView.swift | 0 .../Sources/UI/Toast/ToastManager.swift | 0 .../Sources/UI/Toast/ToastType.swift | 0 .../Sources/UI/Toast/ToastView.swift | 0 .../Sources/UI/Token/ComponentToken.swift | 0 .../Interface/AppUpdateInterface.swift | 3 +- .../Interface/AppUpdateUseCaseInterface.swift | 3 +- .../DefaultAppUpdateRepositoryImpl.swift | 4 +- .../Default/DefaultAppUpdateUseCaseImpl.swift | 4 +- .../Interface/Entity}/AppUpdateError.swift | 2 +- .../Interface/Entity}/AppUpdateInfo.swift | 2 +- .../Project.swift | 15 +- .../Sources}/AppUpdateUseCaseImpl.swift | 5 +- .../Testing/AppUpdateDomainTesting.swift | 8 + .../Tests/AppUpdateDomainTests.swift | 14 + .../DefaultUnifiedOAuthUseCaseImpl.swift | 2 +- .../UnifiedOAuthUseCaseInterface.swift | 2 +- .../Interface/Entity}/AuthError.swift | 12 +- Projects/Domain/Auth/Project.swift | 7 +- .../Auth/Sources/Auth/AuthUseCaseImpl.swift | 3 +- .../Sources/OAuth/UnifiedOAuthUseCase.swift | 3 +- .../Default/DefaultBattleRepositoryImpl.swift | 1 - .../Contract/Interface/BattleInterface.swift | 1 - .../Interface/Entity}/BattleError.swift | 2 +- Projects/Domain/Battle/Project.swift | 5 +- .../Battle/Sources/Battle/BattleUseCase.swift | 2 - .../Entity}/Deeplink/PickeDeeplink.swift | 2 +- .../Entity}/Share/ShareContent.swift | 2 +- .../Interface/Entity}/Share/ShareItem.swift | 2 +- Projects/Domain/Domain/Project.swift | 14 +- .../Sources/Exported/DomainExported.swift | 4 +- Projects/Domain/DomainTesting/Project.swift | 3 +- .../Analytics/NoopAnalyticsUseCase.swift | 2 +- .../AppUpdate/MockAppUpdateUseCase.swift | 4 +- .../Sources/Manager/MockKeychainManager.swift | 1 - .../Entity/EntityTests/Sources/Test.swift | 8 - .../Exported/ProfileDomainBridge.swift | 6 - .../Sources/DefaultSearchRepositoryImpl.swift | 1 - .../Interface/Sources/SearchInterface.swift | 1 - Projects/Domain/Search/Project.swift | 4 +- .../Domain/Search/Sources/SearchUseCase.swift | 1 - Projects/Domain/UseCase/Project.swift | 26 - .../Analytics/Events/AdPlacement.swift | 10 - .../Exported/ProfileDomainBridge.swift | 6 - .../Sources}/AlamofireNetworkProvider.swift | 2 +- .../Sources}/NetworkProviding.swift | 2 +- .../Sources}/PickeEventMonitor.swift | 2 +- .../Sources}/SessionFactory.swift | 22 +- Projects/Presentation/Auth/Project.swift | 8 +- .../Coordinator/Reducer/AuthCoordinator.swift | 1 - .../Sources/Main/Reducer/LoginFeature.swift | 3 +- .../Components/SocialCircleButtonView.swift | 1 - .../Auth/Sources/Main/View/LoginView.swift | 1 - Projects/Presentation/Battle/Project.swift | 8 +- .../Sources/Main/Model/DailyBattle.swift | 3 +- .../Sources/Main/Reducer/BattleFeature.swift | 4 +- .../Battle/Sources/Main/View/BattleView.swift | 1 - Projects/Presentation/Chat/Project.swift | 11 +- .../ChatRoom/Reducer/ChatRoomFeature.swift | 7 +- .../Sources/ChatRoom/View/ChatRoomView.swift | 1 - .../Comment/Reducer/CommentFeature.swift | 4 +- .../Sources/Comment/View/CommentView.swift | 3 +- .../Reducer/CommentReplyFeature.swift | 4 +- .../CommentReply/View/CommentReplyView.swift | 3 +- .../Coordinator/Reducer/ChatCoordinator.swift | 4 +- .../Curation/Reducer/CurationFeature.swift | 11 +- .../Sources/Curation/View/CurationView.swift | 8 +- .../Sources/Vote/Reducer/PreVoteFeature.swift | 4 +- .../Chat/Sources/Vote/View/PreVoteView.swift | 1 - Projects/Presentation/Hifi/Project.swift | 10 +- .../Hifi/Sources/Reducer/HifiFeature.swift | 10 +- .../Hifi/Sources/View/HifiView.swift | 8 +- Projects/Presentation/Home/Project.swift | 9 +- .../Common/PhilosopherAvatar+ImageAsset.swift | 1 - .../Sources/Main/Reducer/HomeFeature.swift | 13 +- .../View/Components/BestBattleCardView.swift | 1 - .../View/Components/HeroCarouselView.swift | 1 - .../View/Components/HotBattleCardView.swift | 1 - .../View/Components/NewBattleCardView.swift | 1 - .../Main/View/Components/QuizCardView.swift | 1 - .../Main/View/Components/VoteCardView.swift | 1 - .../Home/Sources/Main/View/HomeView.swift | 5 +- .../Home/Tests/Sources/HomeTests.swift | 1 - .../Presentation/Notification/Project.swift | 8 +- .../Main/Reducer/NotificationFeature.swift | 6 +- .../Sources/Main/View/NotificationView.swift | 2 +- .../Interface/Sources/ProfileInterface.swift | 2 + Projects/Presentation/Profile/Project.swift | 12 +- .../Reducer/BattleProposalFeature.swift | 2 - .../View/BattleProposalView.swift | 1 - .../Reducer/BattleRecordFeature.swift | 2 - .../BattleRecord/View/BattleRecordView.swift | 4 +- .../Reducer/ContentActivityFeature.swift | 2 - .../View/ContentActivityView.swift | 4 +- .../Sources/Main/Reducer/ProfileFeature.swift | 9 +- .../Sources/Main/View/ProfileView.swift | 5 +- .../Notice/Reducer/NoticeFeature.swift | 2 +- .../Sources/Notice/View/NoticeView.swift | 4 +- .../Reducer/NotificationSettingFeature.swift | 2 - .../View/NotificationSettingView.swift | 2 +- .../Reducer/PointHistoryFeature.swift | 2 - .../PointHistory/View/PointHistoryView.swift | 4 +- .../Sources/Recap/Reducer/RecapFeature.swift | 4 +- .../View/Components/RecapLockedView.swift | 2 +- .../View/Components/RecapMatchCard.swift | 2 +- .../Components/RecapPhilosopherCard.swift | 2 +- .../View/Components/RecapRadarChart.swift | 2 +- .../Recap/View/Components/RecapScoreBar.swift | 2 +- .../Sources/Recap/View/RecapView.swift | 2 +- .../Settings/Reducer/SettingsFeature.swift | 5 +- .../Reducer/WithdrawReasonFeature.swift | 3 +- Projects/Presentation/Splash/Project.swift | 8 +- .../Sources/Reducer/SplashFeature.swift | 6 +- .../Splash/Tests/Sources/SplashTests.swift | 6 +- Projects/Presentation/Web/Project.swift | 3 +- .../Interface/UseCase/RewardedAdClient.swift | 35 ++ Projects/Service/Ad/Project.swift | 23 + .../Ad}/Sources/AdBannerSkeletonView.swift | 2 +- .../Ad}/Sources/AdFitBannerView.swift | 8 +- .../Ad}/Sources/AdFitNativeAdView.swift | 32 +- .../Ad}/Sources/AppStartPopupAd.swift | 16 +- .../UseCase/RewardedAdClient+Live.swift} | 52 +- .../Service/Ad/Testing/AdServiceTesting.swift | 8 + .../Service/Ad/Tests/AdServiceTests.swift | 14 + .../Interface/Event/AdClickData.swift | 27 + .../Interface/Event/AdPlacement.swift | 22 + .../Interface/Event}/AnalyticsButton.swift | 0 .../Interface/Event}/AnalyticsEvent.swift | 2 + .../Interface/Event}/AnalyticsProvider.swift | 0 .../Interface/Event}/AnalyticsScreen.swift | 0 .../Interface/Event}/BattleStepData.swift | 0 .../Event}/CommunityActionData.swift | 0 .../Interface/Event}/ContentActionData.swift | 0 .../Interface/Event}/EngagementAction.swift | 0 .../Event}/NotificationActionData.swift | 0 .../Interface/Event}/OnboardingStep.swift | 0 .../Interface/Event}/PlaybackAction.swift | 0 .../Interface/Event}/PointActionData.swift | 0 .../Interface/Event}/ReportActionData.swift | 0 .../Interface/Event}/ShareActionData.swift | 0 .../Interface/UseCase/AnalyticsUseCase.swift | 56 ++ Projects/Service/Analytics/Project.swift | 23 + .../UseCase/AnalyticsUseCase+Live.swift} | 117 ++-- .../Testing/AnalyticsServiceTesting.swift | 8 + .../Tests/AnalyticsServiceTests.swift | 14 + .../Interface/AudioPlayerInterface.swift | 2 +- Projects/Service/AudioPlayer/Project.swift | 21 + .../Sources}/AudioPlayerRepositoryImpl.swift | 2 +- .../Testing/AudioPlayerServiceTesting.swift | 8 + .../Tests/AudioPlayerServiceTests.swift | 14 + .../Interface/Entity}/DevicePlatform.swift | 2 +- .../Interface/UseCase}/DeviceInterface.swift | 3 +- .../Interface/UseCase}/DeviceUseCase.swift | 8 +- .../Device}/Project.swift | 16 +- .../Repository}/DeviceRepositoryImpl.swift | 8 +- .../Sources/UseCase/DeviceUseCase+Live.swift | 15 + .../Device/Testing/DeviceServiceTesting.swift | 8 + .../Device/Tests/DeviceServiceTests.swift | 14 + Projects/Shared/AdKit/Project.swift | 21 - .../DesignSystemTests/Sources/Test.swift | 8 - .../CustomConfirmationPopupView.swift | 569 ------------------ Projects/Shared/Shared/Project.swift | 19 - .../Shared/SharedTests/Sources/Test.swift | 8 - Projects/Shared/ThirdParty/Sources/Base.swift | 22 - .../Tests/Sources/ThirdPartyTests.swift | 27 - .../Utill/UtillTests/Sources/Test.swift | 8 - 364 files changed, 1559 insertions(+), 1205 deletions(-) create mode 100644 Projects/Core/PickeCore/PickeCoreTests/Sources/Test.swift rename Projects/{Domain/Entity => Core/PickeCore}/Project.swift (52%) rename Projects/{Shared/Shared => Core/PickeCore}/Sources/Base.swift (100%) rename Projects/{Shared/Shared => Core/PickeCore}/Sources/FeatureFlag.swift (100%) rename Projects/{Domain/DomainInterface/DomainInterfaceTests => Core/PickeFoundation/PickeFoundationTests}/Sources/Test.swift (100%) rename Projects/{Shared/Utill => Core/PickeFoundation}/Project.swift (67%) rename Projects/{Shared/Utill => Core/PickeFoundation}/Sources/Extension/Date+.swift (98%) rename Projects/{Shared/Utill => Core/PickeFoundation}/Sources/Extension/Int+.swift (97%) rename Projects/{Shared/Utill => Core/PickeFoundation}/Sources/Extension/String+.swift (97%) rename Projects/{Shared/Utill => Core/PickeFoundation}/Sources/Extension/UUID+.swift (95%) rename Projects/{Domain/DomainInterface/Sources => Core/PickeStorage/Interface}/Manager/AuthLocalStorage.swift (96%) rename Projects/{Domain/DomainInterface/Sources/Manager/Default => Core/PickeStorage/Interface/Manager}/DefaultMemoryKeychainManager.swift (97%) rename Projects/{Domain/DomainInterface/Sources/Manager/Interface => Core/PickeStorage/Interface/Manager}/KeychainManagerInterface.swift (93%) create mode 100644 Projects/Core/PickeStorage/Project.swift rename Projects/{Domain/UseCase => Core/PickeStorage}/Sources/Manager/KeychainManager.swift (96%) create mode 100644 Projects/Core/PickeStorage/Testing/PickeStorageTesting.swift create mode 100644 Projects/Core/PickeStorage/Tests/PickeStorageTests.swift rename Projects/Data/{Repository/Sources/AppUpdate => AppUpdate/Sources/Repository}/AppUpdateRepositoryImpl.swift (97%) rename Projects/Data/{Repository/Sources/Auth => Auth/Sources}/Interceptor/AuthInterceptor.swift (99%) rename Projects/Data/{Repository/Sources/Auth => Auth/Sources}/Interceptor/SessionInvalidationMonitor.swift (97%) rename Projects/Data/{Repository/Sources/Auth => Auth/Sources}/RefreshToken/AccessTokenCredential.swift (99%) rename Projects/Data/{Repository/Sources/Auth => Auth/Sources}/RefreshToken/AuthSessionManager.swift (97%) rename Projects/Data/{Repository/Sources/Auth => Auth/Sources}/RefreshToken/OptimizedSessionManager.swift (97%) rename Projects/Data/{Service => Remote}/Project.swift (75%) rename Projects/Data/{Service/ServiceTests => Remote/RemoteTests}/Sources/Test.swift (100%) rename Projects/Data/{Service => Remote}/Sources/Common/Encodable+.swift (100%) rename Projects/Data/{Service => Remote}/Sources/Device/DeviceService.swift (100%) rename Projects/Data/{Service => Remote}/Sources/Device/Request/DeviceRegisterRequest.swift (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Demo/Sources/PickeDesignKitDemoApp.swift (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Demo/Sources/StorybookView.swift (100%) rename Projects/{Domain/UseCase/Tests => DesignSystem/DesignSystemTests}/Sources/Test.swift (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Project.swift (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Resources/FontAsset/PretendardVariable.ttf (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Resources/ImageAssets.xcassets/Auth/Contents.json (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Resources/ImageAssets.xcassets/Auth/checkBlue.imageset/Contents.json (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Resources/ImageAssets.xcassets/Auth/checkBlue.imageset/checkBlue.svg (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Resources/ImageAssets.xcassets/Auth/errorXmark.imageset/Contents.json (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Resources/ImageAssets.xcassets/Auth/errorXmark.imageset/errorXmark.svg (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Resources/ImageAssets.xcassets/Avatar/Contents.json (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Resources/ImageAssets.xcassets/Avatar/avatarPlato.imageset/Contents.json (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Resources/ImageAssets.xcassets/Avatar/avatarPlato.imageset/avatarPlato.png (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Resources/ImageAssets.xcassets/Avatar/avatarSartre.imageset/Contents.json (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Resources/ImageAssets.xcassets/Avatar/avatarSartre.imageset/avatarSartre.png (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Resources/ImageAssets.xcassets/Avatar/avatarSunja.imageset/Contents.json (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Resources/ImageAssets.xcassets/Avatar/avatarSunja.imageset/avatarSunja.png (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Resources/ImageAssets.xcassets/Comment/heartPlus.imageset/Contents.json (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Resources/ImageAssets.xcassets/Comment/heartPlus.imageset/heartPlus.svg (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Resources/ImageAssets.xcassets/Contents.json (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Resources/ImageAssets.xcassets/GNB/Contents.json (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Resources/ImageAssets.xcassets/GNB/tabExplore.imageset/Contents.json (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Resources/ImageAssets.xcassets/GNB/tabExplore.imageset/tabExplore.svg (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Resources/ImageAssets.xcassets/GNB/tabExploreActive.imageset/Contents.json (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Resources/ImageAssets.xcassets/GNB/tabExploreActive.imageset/tabExploreActive.svg (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Resources/ImageAssets.xcassets/GNB/tabHome.imageset/Contents.json (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Resources/ImageAssets.xcassets/GNB/tabHome.imageset/tabHome.svg (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Resources/ImageAssets.xcassets/GNB/tabHomeActive.imageset/Contents.json (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Resources/ImageAssets.xcassets/GNB/tabHomeActive.imageset/tabHomeActive.svg (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Resources/ImageAssets.xcassets/GNB/tabMyPage.imageset/Contents.json (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Resources/ImageAssets.xcassets/GNB/tabMyPage.imageset/tabMyPage.svg (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Resources/ImageAssets.xcassets/GNB/tabMyPageActive.imageset/Contents.json (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Resources/ImageAssets.xcassets/GNB/tabMyPageActive.imageset/tabMyPageActive.svg (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Resources/ImageAssets.xcassets/GNB/tabQuickBattle.imageset/Contents.json (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Resources/ImageAssets.xcassets/GNB/tabQuickBattle.imageset/tabQuickBattle.svg (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Resources/ImageAssets.xcassets/GNB/tabQuickBattleActive.imageset/Contents.json (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Resources/ImageAssets.xcassets/GNB/tabQuickBattleActive.imageset/tabQuickBattleActive.svg (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Resources/ImageAssets.xcassets/Home/Contents.json (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Resources/ImageAssets.xcassets/Home/appLogo.imageset/Contents.json (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Resources/ImageAssets.xcassets/Home/appLogo.imageset/appLogo.svg (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Resources/ImageAssets.xcassets/Home/bell.imageset/Contents.json (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Resources/ImageAssets.xcassets/Home/bell.imageset/bell.svg (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Resources/ImageAssets.xcassets/OnBoarding/Contents.json (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Resources/ImageAssets.xcassets/OnBoarding/onboarding1.imageset/Contents.json (100%) rename "Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/OnBoarding/onboarding1.imageset/\354\230\250\353\263\264\353\224\251 1.svg" => "Projects/DesignSystem/Resources/ImageAssets.xcassets/OnBoarding/onboarding1.imageset/\354\230\250\353\263\264\353\224\251 1.svg" (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Resources/ImageAssets.xcassets/OnBoarding/onboarding2.imageset/Contents.json (100%) rename "Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/OnBoarding/onboarding2.imageset/\354\230\250\353\263\264\353\224\251 2.svg" => "Projects/DesignSystem/Resources/ImageAssets.xcassets/OnBoarding/onboarding2.imageset/\354\230\250\353\263\264\353\224\251 2.svg" (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Resources/ImageAssets.xcassets/OnBoarding/onboarding3.imageset/Contents.json (100%) rename "Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/OnBoarding/onboarding3.imageset/\354\230\250\353\263\264\353\224\251 3.svg" => "Projects/DesignSystem/Resources/ImageAssets.xcassets/OnBoarding/onboarding3.imageset/\354\230\250\353\263\264\353\224\251 3.svg" (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Resources/ImageAssets.xcassets/OnBoarding/onboarding4.imageset/Contents.json (100%) rename "Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/OnBoarding/onboarding4.imageset/\354\230\250\353\263\264\353\224\251 4.svg" => "Projects/DesignSystem/Resources/ImageAssets.xcassets/OnBoarding/onboarding4.imageset/\354\230\250\353\263\264\353\224\251 4.svg" (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Resources/ImageAssets.xcassets/Profile/Contents.json (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Resources/ImageAssets.xcassets/Profile/history.imageset/Contents.json (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Resources/ImageAssets.xcassets/Profile/history.imageset/history.svg (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Resources/ImageAssets.xcassets/Profile/lock.imageset/Contents.json (100%) rename "Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/Profile/lock.imageset/\354\240\234\353\252\251-\354\227\206\354\235\214-2 1.png" => "Projects/DesignSystem/Resources/ImageAssets.xcassets/Profile/lock.imageset/\354\240\234\353\252\251-\354\227\206\354\235\214-2 1.png" (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Resources/ImageAssets.xcassets/Profile/vs.imageset/Contents.json (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Resources/ImageAssets.xcassets/Profile/vs.imageset/versus_home.svg (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Resources/ImageAssets.xcassets/logo/Contents.json (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Resources/ImageAssets.xcassets/logo/loginLogo.imageset/Contents.json (100%) rename "Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/logo/loginLogo.imageset/\355\224\275\354\274\200 \353\241\234\352\263\240.svg" => "Projects/DesignSystem/Resources/ImageAssets.xcassets/logo/loginLogo.imageset/\355\224\275\354\274\200 \353\241\234\352\263\240.svg" (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Resources/ImageAssets.xcassets/logo/noDataLogo.imageset/Contents.json (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Resources/ImageAssets.xcassets/logo/noDataLogo.imageset/pickeLogo2.svg (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Resources/ImageAssets.xcassets/logo/splashLogo.imageset/Contents.json (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Resources/ImageAssets.xcassets/logo/splashLogo.imageset/splashLogo.png (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Resources/ImageAssets.xcassets/socialLogin/Contents.json (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Resources/ImageAssets.xcassets/socialLogin/google.imageset/Contents.json (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Resources/ImageAssets.xcassets/socialLogin/google.imageset/google.svg (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Resources/ImageAssets.xcassets/socialLogin/kakao.imageset/Contents.json (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Resources/ImageAssets.xcassets/socialLogin/kakao.imageset/kakao.svg (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Sources/Extension/CGFloat/CGFloat+Component+.swift (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Sources/Extension/CGFloat/CGFloat+Radius+.swift (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Sources/Extension/CGFloat/CGFloat+Spacing+.swift (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Sources/Extension/Color/Color+.swift (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Sources/Extension/Color/UIColor+.swift (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Sources/Extension/Image/Image+.swift (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Sources/Extension/Image/UIImage+.swift (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Sources/Extension/ScreenSize/UIScreen+.swift (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Sources/Extension/View/View+Background.swift (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Sources/Extension/View/View+Border.swift (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Sources/Token/Color/ShapeStyle+.swift (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Sources/Token/Image/ImageAsset.swift (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Sources/Token/Typography/CustomSize.swift (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Sources/Token/Typography/PretendardFont.swift (74%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Sources/Token/Typography/PretendardFontFamily.swift (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Sources/UI/ActionSheet/BottomActionSheet.swift (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Sources/UI/ActionSheet/PickeActionPill.swift (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Sources/UI/Alert/CustomPopup/CustomAlertModifiers.swift (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Sources/UI/Alert/CustomPopup/CustomAlertState.swift (100%) create mode 100644 Projects/DesignSystem/Sources/UI/Alert/CustomPopup/CustomConfirmationPopupView+Components.swift create mode 100644 Projects/DesignSystem/Sources/UI/Alert/CustomPopup/CustomConfirmationPopupView+Content.swift create mode 100644 Projects/DesignSystem/Sources/UI/Alert/CustomPopup/CustomConfirmationPopupView+Report.swift create mode 100644 Projects/DesignSystem/Sources/UI/Alert/CustomPopup/CustomConfirmationPopupView.swift create mode 100644 Projects/DesignSystem/Sources/UI/Alert/CustomPopup/ReportReason.swift rename Projects/{Shared/PickeDesignKit => DesignSystem}/Sources/UI/AudioPlayer/AudioEqualizerView.swift (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Sources/UI/AudioPlayer/AudioPlayerControlView.swift (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Sources/UI/Avatar/PickeAvatar.swift (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Sources/UI/Avatar/PickeAvatarView.swift (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Sources/UI/Badge/PickeBadge.swift (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Sources/UI/Button/CTAButtonStyle.swift (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Sources/UI/Button/CTAButtonStyleModifier.swift (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Sources/UI/Card/PickeListRowCard.swift (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Sources/UI/Chip/PickeSortChip.swift (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Sources/UI/Divider/PickeDivider.swift (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Sources/UI/Empty/PickeEmptyStateView.swift (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Sources/UI/Empty/PickeRetryErrorView.swift (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Sources/UI/Floating/FloatingErrorView.swift (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Sources/UI/Input/PickeCommentInputBar.swift (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Sources/UI/Modal/PickeModal.swift (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Sources/UI/Navigaion/PickeNavigationBar.swift (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Sources/UI/Navigaion/PickeSegmentTab.swift (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Sources/UI/Navigaion/UINavigationController+gesture.swift (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Sources/UI/Share/ShareSheet.swift (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Sources/UI/Skeleton/SkeletonBlock.swift (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Sources/UI/Skeleton/SkeletonView.swift (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Sources/UI/Toast/ToastManager.swift (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Sources/UI/Toast/ToastType.swift (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Sources/UI/Toast/ToastView.swift (100%) rename Projects/{Shared/PickeDesignKit => DesignSystem}/Sources/UI/Token/ComponentToken.swift (100%) rename Projects/Domain/{DomainInterface/Sources => }/AppUpdate/Interface/AppUpdateInterface.swift (95%) rename Projects/Domain/{DomainInterface/Sources => }/AppUpdate/Interface/AppUpdateUseCaseInterface.swift (96%) rename Projects/Domain/{DomainInterface/Sources/AppUpdate => AppUpdate/Interface}/Default/DefaultAppUpdateRepositoryImpl.swift (91%) rename Projects/Domain/{DomainInterface/Sources/AppUpdate => AppUpdate/Interface}/Default/DefaultAppUpdateUseCaseImpl.swift (81%) rename Projects/Domain/{Entity/Sources/Error => AppUpdate/Interface/Entity}/AppUpdateError.swift (97%) rename Projects/Domain/{Entity/Sources/AppUpdate => AppUpdate/Interface/Entity}/AppUpdateInfo.swift (95%) rename Projects/Domain/{DomainInterface => AppUpdate}/Project.swift (51%) rename Projects/Domain/{UseCase/Sources/AppUpdate => AppUpdate/Sources}/AppUpdateUseCaseImpl.swift (88%) create mode 100644 Projects/Domain/AppUpdate/Testing/AppUpdateDomainTesting.swift create mode 100644 Projects/Domain/AppUpdate/Tests/AppUpdateDomainTests.swift rename Projects/Domain/{Entity/Sources/Error => Auth/Interface/Entity}/AuthError.swift (93%) rename Projects/Domain/{Entity/Sources/Error => Battle/Interface/Entity}/BattleError.swift (98%) rename Projects/Domain/{Entity/Sources => Common/Interface/Entity}/Deeplink/PickeDeeplink.swift (99%) rename Projects/Domain/{Entity/Sources => Common/Interface/Entity}/Share/ShareContent.swift (97%) rename Projects/Domain/{Entity/Sources => Common/Interface/Entity}/Share/ShareItem.swift (93%) delete mode 100644 Projects/Domain/Entity/EntityTests/Sources/Test.swift delete mode 100644 Projects/Domain/Entity/Sources/Exported/ProfileDomainBridge.swift delete mode 100644 Projects/Domain/UseCase/Project.swift delete mode 100644 Projects/Domain/UseCase/Sources/Analytics/Events/AdPlacement.swift delete mode 100644 Projects/Domain/UseCase/Sources/Exported/ProfileDomainBridge.swift rename Projects/{Data/Repository/Sources/Network => Network/NetworkModule/Sources}/AlamofireNetworkProvider.swift (99%) rename Projects/{Data/Repository/Sources/Network => Network/NetworkModule/Sources}/NetworkProviding.swift (98%) rename Projects/{Data/Repository/Sources/Network => Network/NetworkModule/Sources}/PickeEventMonitor.swift (99%) rename Projects/{Data/Repository/Sources/Network => Network/NetworkModule/Sources}/SessionFactory.swift (64%) create mode 100644 Projects/Service/Ad/Interface/UseCase/RewardedAdClient.swift create mode 100644 Projects/Service/Ad/Project.swift rename Projects/{Shared/AdKit => Service/Ad}/Sources/AdBannerSkeletonView.swift (98%) rename Projects/{Shared/AdKit => Service/Ad}/Sources/AdFitBannerView.swift (93%) rename Projects/{Shared/AdKit => Service/Ad}/Sources/AdFitNativeAdView.swift (90%) rename Projects/{Shared/AdKit => Service/Ad}/Sources/AppStartPopupAd.swift (86%) rename Projects/{Domain/UseCase/Sources/Ad/RewardedAdClient.swift => Service/Ad/Sources/UseCase/RewardedAdClient+Live.swift} (76%) create mode 100644 Projects/Service/Ad/Testing/AdServiceTesting.swift create mode 100644 Projects/Service/Ad/Tests/AdServiceTests.swift create mode 100644 Projects/Service/Analytics/Interface/Event/AdClickData.swift create mode 100644 Projects/Service/Analytics/Interface/Event/AdPlacement.swift rename Projects/{Domain/UseCase/Sources/Analytics/Events => Service/Analytics/Interface/Event}/AnalyticsButton.swift (100%) rename Projects/{Domain/UseCase/Sources/Analytics => Service/Analytics/Interface/Event}/AnalyticsEvent.swift (93%) rename Projects/{Domain/UseCase/Sources/Analytics/Events => Service/Analytics/Interface/Event}/AnalyticsProvider.swift (100%) rename Projects/{Domain/UseCase/Sources/Analytics/Events => Service/Analytics/Interface/Event}/AnalyticsScreen.swift (100%) rename Projects/{Domain/UseCase/Sources/Analytics/Events => Service/Analytics/Interface/Event}/BattleStepData.swift (100%) rename Projects/{Domain/UseCase/Sources/Analytics/Events => Service/Analytics/Interface/Event}/CommunityActionData.swift (100%) rename Projects/{Domain/UseCase/Sources/Analytics/Events => Service/Analytics/Interface/Event}/ContentActionData.swift (100%) rename Projects/{Domain/UseCase/Sources/Analytics/Events => Service/Analytics/Interface/Event}/EngagementAction.swift (100%) rename Projects/{Domain/UseCase/Sources/Analytics/Events => Service/Analytics/Interface/Event}/NotificationActionData.swift (100%) rename Projects/{Domain/UseCase/Sources/Analytics/Events => Service/Analytics/Interface/Event}/OnboardingStep.swift (100%) rename Projects/{Domain/UseCase/Sources/Analytics/Events => Service/Analytics/Interface/Event}/PlaybackAction.swift (100%) rename Projects/{Domain/UseCase/Sources/Analytics/Events => Service/Analytics/Interface/Event}/PointActionData.swift (100%) rename Projects/{Domain/UseCase/Sources/Analytics/Events => Service/Analytics/Interface/Event}/ReportActionData.swift (100%) rename Projects/{Domain/UseCase/Sources/Analytics/Events => Service/Analytics/Interface/Event}/ShareActionData.swift (100%) create mode 100644 Projects/Service/Analytics/Interface/UseCase/AnalyticsUseCase.swift create mode 100644 Projects/Service/Analytics/Project.swift rename Projects/{Domain/UseCase/Sources/Analytics/AnalyticsUseCase.swift => Service/Analytics/Sources/UseCase/AnalyticsUseCase+Live.swift} (63%) create mode 100644 Projects/Service/Analytics/Testing/AnalyticsServiceTesting.swift create mode 100644 Projects/Service/Analytics/Tests/AnalyticsServiceTests.swift rename Projects/{Domain/DomainInterface/Sources => Service}/AudioPlayer/Interface/AudioPlayerInterface.swift (97%) create mode 100644 Projects/Service/AudioPlayer/Project.swift rename Projects/{Data/Repository/Sources/AudioPlayer => Service/AudioPlayer/Sources}/AudioPlayerRepositoryImpl.swift (98%) create mode 100644 Projects/Service/AudioPlayer/Testing/AudioPlayerServiceTesting.swift create mode 100644 Projects/Service/AudioPlayer/Tests/AudioPlayerServiceTests.swift rename Projects/{Domain/Entity/Sources/Device => Service/Device/Interface/Entity}/DevicePlatform.swift (85%) rename Projects/{Domain/DomainInterface/Sources/Device/Interface => Service/Device/Interface/UseCase}/DeviceInterface.swift (97%) rename Projects/{Domain/UseCase/Sources/Device => Service/Device/Interface/UseCase}/DeviceUseCase.swift (88%) rename Projects/{Shared/ThirdParty => Service/Device}/Project.swift (59%) rename Projects/{Data/Repository/Sources/Device => Service/Device/Sources/Repository}/DeviceRepositoryImpl.swift (92%) create mode 100644 Projects/Service/Device/Sources/UseCase/DeviceUseCase+Live.swift create mode 100644 Projects/Service/Device/Testing/DeviceServiceTesting.swift create mode 100644 Projects/Service/Device/Tests/DeviceServiceTests.swift delete mode 100644 Projects/Shared/AdKit/Project.swift delete mode 100644 Projects/Shared/PickeDesignKit/DesignSystemTests/Sources/Test.swift delete mode 100644 Projects/Shared/PickeDesignKit/Sources/UI/Alert/CustomPopup/CustomConfirmationPopupView.swift delete mode 100644 Projects/Shared/Shared/Project.swift delete mode 100644 Projects/Shared/Shared/SharedTests/Sources/Test.swift delete mode 100644 Projects/Shared/ThirdParty/Sources/Base.swift delete mode 100644 Projects/Shared/ThirdParty/Tests/Sources/ThirdPartyTests.swift delete mode 100644 Projects/Shared/Utill/UtillTests/Sources/Test.swift diff --git a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/FeatureModule.swift b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/FeatureModule.swift index 2b763037..94f244b6 100644 --- a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/FeatureModule.swift +++ b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/FeatureModule.swift @@ -26,8 +26,36 @@ public enum DomainFeatureModule: String, CaseIterable { case Perspective case Profile case Search - /// 여러 feature 가 공유하는 저변경 횡단 계약(AppUpdate/Analytics/Device 등) + /// 여러 feature 가 공유하는 저변경 횡단 계약 case Common + /// 앱 강제/권장 업데이트 판정. + case AppUpdate +} + +/// 앱 전역이 쓰는 최하위 기반 모듈. 도메인·서비스보다 아래에 있고 아무것도 의존하지 않는다. +public enum CoreFeatureModule: String, CaseIterable { + /// 하위 Core 모듈과 공용 외부 라이브러리를 한 번에 노출하는 우산. + case PickeCore + /// 표준 타입 확장 등 순수 유틸. + case PickeFoundation + /// 키체인 등 로컬 보관소. + case PickeStorage +} + +/// 외부 SDK·플랫폼 기능을 감싸는 서비스 모듈. +/// +/// 도메인 규칙이 아니라 "무엇으로 구현하느냐"가 본질인 것들이다(광고 SDK, 분석 SDK, +/// 키체인, 디바이스 정보). 계약은 Interface 타깃에 두고 SDK 는 구현 타깃에만 링크해, +/// 화면이 SDK 를 끌고 오지 않게 한다. +public enum ServiceFeatureModule: String, CaseIterable { + /// AdFit 배너·네이티브 + GoogleMobileAds 리워드. + case Ad + /// Mixpanel 이벤트 + Sentry 모니터링. + case Analytics + /// 디바이스 식별·플랫폼 정보. + case Device + /// AVFoundation 음원 재생. + case AudioPlayer } public enum DataFeatureModule: String, CaseIterable { @@ -60,6 +88,19 @@ public extension ProjectDescription.Path { static func DataFeature(_ module: DataFeatureModule) -> Self { .relativeToRoot("Projects/Data/\(module.rawValue)") } + + static func ServiceFeature(_ module: ServiceFeatureModule) -> Self { + .relativeToRoot("Projects/Service/\(module.rawValue)") + } + + static func CoreFeature(_ module: CoreFeatureModule) -> Self { + .relativeToRoot("Projects/Core/\(module.rawValue)") + } + + /// 디자인 시스템은 단일 모듈이라 레이어 디렉토리가 곧 모듈 경로다. + static var DesignSystem: Self { + .relativeToRoot("Projects/DesignSystem") + } } // MARK: - TargetDependency @@ -80,4 +121,31 @@ public extension TargetDependency { static func Data(_ module: DataFeatureModule) -> Self { .project(target: "\(module.rawValue)Data", path: .DataFeature(module)) } + + /// 최하위 기반 모듈. 단일 타깃 모듈(PickeCore/PickeFoundation)은 kind 를 생략하고, + /// 계약을 가르는 모듈(PickeStorage)만 `.interface` 를 지정한다. + static func Core(_ module: CoreFeatureModule, _ kind: FeatureTargetKind? = nil) -> Self { + let suffix = switch kind { + case .interface: "Interface" + case .testing: "Testing" + case .implementation, nil: "" + } + return .project(target: "\(module.rawValue)\(suffix)", path: .CoreFeature(module)) + } + + /// 디자인 시스템(단일 타깃). + static var DesignSystem: Self { + .project(target: "PickeDesignKit", path: .DesignSystem) + } + + /// SDK 래핑 서비스 모듈. 기본은 구현 타깃(`Service`). + /// 화면은 `.interface` 만 의존해 SDK 를 링크하지 않는 것을 권장. + static func Service(_ module: ServiceFeatureModule, _ kind: FeatureTargetKind = .implementation) -> Self { + let suffix = switch kind { + case .interface: "ServiceInterface" + case .implementation: "Service" + case .testing: "ServiceTesting" + } + return .project(target: "\(module.rawValue)\(suffix)", path: .ServiceFeature(module)) + } } diff --git a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Modules.swift b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Modules.swift index 9e688e51..d7120642 100644 --- a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Modules.swift +++ b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Modules.swift @@ -12,7 +12,6 @@ public enum ModulePath { case Network(Networks) case Domain(Domains) case Data(Datas) - case Shared(Shareds) } // MARK: - CoreDomainModule @@ -37,7 +36,7 @@ public extension ModulePath { case Data case Repository case API - case Service + case Remote case DataTesting public static let name: String = "Data" @@ -48,25 +47,9 @@ public extension ModulePath { public extension ModulePath { enum Domains: String, CaseIterable { - case Entity - case UseCase case Domain - case DomainInterface case DomainTesting public static let name: String = "Domain" } } - -public extension ModulePath { - enum Shareds: String, CaseIterable { - case Shared - case PickeDesignKit - case Utill - /// 광고 SDK(AdFit) 전용 모듈. 디자인 시스템과 분리해, 광고를 노출하는 화면만 명시적으로 의존한다. - case AdKit - - public static let name: String = "Shared" - case ThirdParty - } -} diff --git a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Path+Modules.swift b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Path+Modules.swift index 5d4a3662..8ce60905 100644 --- a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Path+Modules.swift +++ b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Path+Modules.swift @@ -8,17 +8,6 @@ import Foundation import ProjectDescription -// MARK: ProjectDescription.Path + PickeDesignKit -public extension ProjectDescription.Path { - static var Shared: Self { - return .relativeToRoot("Projects/\(ModulePath.Shareds.name)") - } - - static func Shared(implementation module: ModulePath.Shareds) -> Self { - return .relativeToRoot("Projects/\(ModulePath.Shareds .name)/\(module.rawValue)") - } -} - // MARK: - Network public extension ProjectDescription.Path { static var Networking: Self { diff --git a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/TargetDependency+Modules.swift b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/TargetDependency+Modules.swift index 1866ebc8..d9023a91 100644 --- a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/TargetDependency+Modules.swift +++ b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/TargetDependency+Modules.swift @@ -15,13 +15,6 @@ private extension TargetDependency { } } -// Shared -public extension TargetDependency { - static func Shared(implements module: ModulePath.Shareds) -> Self { - projectTarget(module.rawValue, path: .Shared(implementation: module)) - } -} - // Network public extension TargetDependency { diff --git a/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/Extension+String.swift b/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/Extension+String.swift index b827fa92..36668e33 100644 --- a/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/Extension+String.swift +++ b/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/Extension+String.swift @@ -17,7 +17,7 @@ public extension String { return Project.Environment.bundlePrefix } - static func appBuildVersion(buildVersion: String = "2607292356") -> String { + static func appBuildVersion(buildVersion: String = "2607300031") -> String { return buildVersion } diff --git a/Projects/App/Project.swift b/Projects/App/Project.swift index 66940e72..df6d45df 100644 --- a/Projects/App/Project.swift +++ b/Projects/App/Project.swift @@ -13,12 +13,13 @@ let project = Project.configure( settings: .appMainSetting, scripts: [.SentryUploadString], dependencies: [ + .Service(.AudioPlayer), .Presentation(implements: .Presentation), .Domain(implements: .Domain), .Data(implements: .Data), .Network(implements: .NetworkModule), - .Shared(implements: .Shared), - .Shared(implements: .AdKit), // 앱 시작 전면 팝업 광고 + .Core(.PickeCore), + .Service(.Ad), // 앱 시작 전면 팝업 광고 .SPM.googleMobileAds, .SPM.firebaseCrashlytics, .SPM.mixpanel, @@ -26,7 +27,6 @@ let project = Project.configure( .SPM.kingfisher, .SPM.sdwebImageCore, .SPM.sentrySwiftUI, - ], sources: ["Sources/**"], resources: ["Resources/**"], diff --git a/Projects/App/Sources/Application/Configuration/PushTokenStore.swift b/Projects/App/Sources/Application/Configuration/PushTokenStore.swift index 4ee0e3a4..d0c9812e 100644 --- a/Projects/App/Sources/Application/Configuration/PushTokenStore.swift +++ b/Projects/App/Sources/Application/Configuration/PushTokenStore.swift @@ -5,9 +5,9 @@ import Foundation -import Entity import LogMacro -import UseCase +import DeviceServiceInterface +import PickeStorageInterface enum PushTokenStore { static var current: String? { diff --git a/Projects/App/Sources/Di/DiRegister.swift b/Projects/App/Sources/Di/DiRegister.swift index f422c905..00bf719f 100644 --- a/Projects/App/Sources/Di/DiRegister.swift +++ b/Projects/App/Sources/Di/DiRegister.swift @@ -16,7 +16,7 @@ import BattleDomainInterface import CommentData import CommentDomain import CommentDomainInterface -import DomainInterface +import AudioPlayerService import HomeData import HomeDomainInterface import NetworkToken @@ -28,10 +28,13 @@ import ProfileData import Repository import SearchData import SearchDomainInterface -import UseCase import ComposableArchitecture import WeaveDI +import AppUpdateDomain +import DeviceService +import PickeStorage +import ProfileDomainInterface /// 기본 WeaveDI 관리자 (단순하고 안정적) @MainActor diff --git a/Projects/App/Sources/Reducer/Coordinator/Battle/AppBattleCoordinator.swift b/Projects/App/Sources/Reducer/Coordinator/Battle/AppBattleCoordinator.swift index 5240fcd4..c03db659 100644 --- a/Projects/App/Sources/Reducer/Coordinator/Battle/AppBattleCoordinator.swift +++ b/Projects/App/Sources/Reducer/Coordinator/Battle/AppBattleCoordinator.swift @@ -6,11 +6,11 @@ import Foundation import ComposableArchitecture -import DomainInterface import PickeDesignKit import Presentation -import Shared +import PickeCore import TCAFlow +import AudioPlayerServiceInterface @FlowCoordinator(screen: "AppBattleScreen", navigation: true) public struct AppBattleCoordinator { diff --git a/Projects/App/Sources/Reducer/Coordinator/Hifi/AppHifiCoordinator.swift b/Projects/App/Sources/Reducer/Coordinator/Hifi/AppHifiCoordinator.swift index 7f87907e..cc645ac9 100644 --- a/Projects/App/Sources/Reducer/Coordinator/Hifi/AppHifiCoordinator.swift +++ b/Projects/App/Sources/Reducer/Coordinator/Hifi/AppHifiCoordinator.swift @@ -6,9 +6,9 @@ import Foundation import ComposableArchitecture -import DomainInterface import Presentation import TCAFlow +import AudioPlayerServiceInterface @FlowCoordinator(screen: "AppHifiScreen", navigation: true) public struct AppHifiCoordinator { diff --git a/Projects/App/Sources/Reducer/Coordinator/Home/AppHomeCoordinator.swift b/Projects/App/Sources/Reducer/Coordinator/Home/AppHomeCoordinator.swift index d1140e00..c0945f79 100644 --- a/Projects/App/Sources/Reducer/Coordinator/Home/AppHomeCoordinator.swift +++ b/Projects/App/Sources/Reducer/Coordinator/Home/AppHomeCoordinator.swift @@ -6,11 +6,11 @@ import Foundation import ComposableArchitecture -import DomainInterface import PickeDesignKit import Presentation -import Shared +import PickeCore import TCAFlow +import AudioPlayerServiceInterface @FlowCoordinator(screen: "AppHomeScreen", navigation: true) public struct AppHomeCoordinator { diff --git a/Projects/App/Sources/Reducer/Coordinator/Profile/AppProfileCoordinator.swift b/Projects/App/Sources/Reducer/Coordinator/Profile/AppProfileCoordinator.swift index 7450d3dd..61601b7d 100644 --- a/Projects/App/Sources/Reducer/Coordinator/Profile/AppProfileCoordinator.swift +++ b/Projects/App/Sources/Reducer/Coordinator/Profile/AppProfileCoordinator.swift @@ -7,10 +7,9 @@ import Foundation import AuthDomainInterface import ComposableArchitecture -import DomainInterface -import Entity import Presentation import TCAFlow +import AudioPlayerServiceInterface @FlowCoordinator(screen: "AppProfileScreen", navigation: true) public struct AppProfileCoordinator { diff --git a/Projects/App/Sources/Reducer/Root/AppReducer.swift b/Projects/App/Sources/Reducer/Root/AppReducer.swift index 767ae2bf..fb038b83 100644 --- a/Projects/App/Sources/Reducer/Root/AppReducer.swift +++ b/Projects/App/Sources/Reducer/Root/AppReducer.swift @@ -10,7 +10,7 @@ import Domain import LogMacro import NotificationDomainInterface import Presentation -import Shared +import PickeCore @Reducer public struct AppReducer: Sendable { @@ -51,6 +51,8 @@ public struct AppReducer: Sendable { case presentView case presentRoot case presentAuth + /// 앱 시작 전면 팝업 광고 클릭. + case appStartAdClicked } // MARK: - 앱내에서 사용하는 액션 @@ -83,6 +85,7 @@ public struct AppReducer: Sendable { } @Dependency(\.continuousClock) var clock + @Dependency(\.analyticsUseCase) private var analyticsUseCase // 🎯 PFW 패턴: 강타입 최소 CancelID (3개로 축소) private enum CancelID: Hashable { @@ -159,6 +162,10 @@ public struct AppReducer: Sendable { case .presentAuth: return startTransition(.completeAuthTransition) + + case .appStartAdClicked: + analyticsUseCase.track(.adClick(AdClickData(placement: .appStart, format: .popup))) + return .none } } diff --git a/Projects/App/Sources/View/Root/AppView.swift b/Projects/App/Sources/View/Root/AppView.swift index e4f5e682..4af9f5a7 100644 --- a/Projects/App/Sources/View/Root/AppView.swift +++ b/Projects/App/Sources/View/Root/AppView.swift @@ -7,11 +7,11 @@ import SwiftUI -import AdKit import ComposableArchitecture import PickeDesignKit import Presentation +import AdService struct AppView: View { @Bindable var store: StoreOf @@ -47,7 +47,12 @@ struct AppView: View { )) // splash 가 아닌 메인 진입 시점이라 rootViewController 가 준비돼 있다. // 닫기 종류와 관계없이 다음 메인 진입 때 다시 요청한다. - .onAppear { AppStartPopupAd.presentIfNeeded() } + .onAppear { + AppStartPopupAd.presentIfNeeded( + // 이 스코프의 store 는 mainTab 코디네이터라 루트 스토어를 명시한다. + onAdClick: { self.store.send(.view(.appStartAdClicked)) } + ) + } } } } diff --git a/Projects/Core/PickeCore/PickeCoreTests/Sources/Test.swift b/Projects/Core/PickeCore/PickeCoreTests/Sources/Test.swift new file mode 100644 index 00000000..21d9fad0 --- /dev/null +++ b/Projects/Core/PickeCore/PickeCoreTests/Sources/Test.swift @@ -0,0 +1,13 @@ +// +// Test.swift +// PickeCoreTests +// + +import Testing + +struct PickeCoreTests { + @Test + func pickeCoreExample() { + #expect(true) + } +} diff --git a/Projects/Domain/Entity/Project.swift b/Projects/Core/PickeCore/Project.swift similarity index 52% rename from Projects/Domain/Entity/Project.swift rename to Projects/Core/PickeCore/Project.swift index 69f3ee1a..9dc339c8 100644 --- a/Projects/Domain/Entity/Project.swift +++ b/Projects/Core/PickeCore/Project.swift @@ -5,14 +5,16 @@ import ProjectDescription import ProjectTemplatePlugin let project = Project.configure( - moduleType: .module(name: "Entity"), - bundleId: .appBundleID(name: ".Entity"), - product: .staticFramework, + moduleType: .module(name: "PickeCore"), + bundleId: .appBundleID(name: ".PickeCore"), + product: .framework, settings: .settings(), dependencies: [ - .Domain(.Common, .interface), - .Domain(.Home, .interface), - .Domain(.Profile, .interface), + .Core(.PickeFoundation), + .DesignSystem, + .SPM.composableArchitecture, + .SPM.tcaFlow, + .SPM.sdwebImage, ], sources: ["Sources/**"], hasTests: false diff --git a/Projects/Shared/Shared/Sources/Base.swift b/Projects/Core/PickeCore/Sources/Base.swift similarity index 100% rename from Projects/Shared/Shared/Sources/Base.swift rename to Projects/Core/PickeCore/Sources/Base.swift diff --git a/Projects/Shared/Shared/Sources/FeatureFlag.swift b/Projects/Core/PickeCore/Sources/FeatureFlag.swift similarity index 100% rename from Projects/Shared/Shared/Sources/FeatureFlag.swift rename to Projects/Core/PickeCore/Sources/FeatureFlag.swift diff --git a/Projects/Domain/DomainInterface/DomainInterfaceTests/Sources/Test.swift b/Projects/Core/PickeFoundation/PickeFoundationTests/Sources/Test.swift similarity index 100% rename from Projects/Domain/DomainInterface/DomainInterfaceTests/Sources/Test.swift rename to Projects/Core/PickeFoundation/PickeFoundationTests/Sources/Test.swift diff --git a/Projects/Shared/Utill/Project.swift b/Projects/Core/PickeFoundation/Project.swift similarity index 67% rename from Projects/Shared/Utill/Project.swift rename to Projects/Core/PickeFoundation/Project.swift index 0035bd62..bbbc0aec 100644 --- a/Projects/Shared/Utill/Project.swift +++ b/Projects/Core/PickeFoundation/Project.swift @@ -1,16 +1,15 @@ +import DependencyPackagePlugin +import DependencyPlugin import Foundation import ProjectDescription -import DependencyPlugin import ProjectTemplatePlugin -import DependencyPackagePlugin let project = Project.configure( - moduleType: .module(name: "Utill"), - bundleId: .appBundleID(name: ".Utill"), + moduleType: .module(name: "PickeFoundation"), + bundleId: .appBundleID(name: ".PickeFoundation"), product: .staticFramework, - settings: .settings(), + settings: .settings(), dependencies: [ - ], sources: ["Sources/**"], hasTests: false diff --git a/Projects/Shared/Utill/Sources/Extension/Date+.swift b/Projects/Core/PickeFoundation/Sources/Extension/Date+.swift similarity index 98% rename from Projects/Shared/Utill/Sources/Extension/Date+.swift rename to Projects/Core/PickeFoundation/Sources/Extension/Date+.swift index 14077cba..2ca5a602 100644 --- a/Projects/Shared/Utill/Sources/Extension/Date+.swift +++ b/Projects/Core/PickeFoundation/Sources/Extension/Date+.swift @@ -1,6 +1,6 @@ // // Date+.swift -// Utill +// PickeFoundation // import Foundation diff --git a/Projects/Shared/Utill/Sources/Extension/Int+.swift b/Projects/Core/PickeFoundation/Sources/Extension/Int+.swift similarity index 97% rename from Projects/Shared/Utill/Sources/Extension/Int+.swift rename to Projects/Core/PickeFoundation/Sources/Extension/Int+.swift index 867ea750..02127eb7 100644 --- a/Projects/Shared/Utill/Sources/Extension/Int+.swift +++ b/Projects/Core/PickeFoundation/Sources/Extension/Int+.swift @@ -1,6 +1,6 @@ // // Int+DecimalFormat.swift -// Utill +// PickeFoundation // import Foundation diff --git a/Projects/Shared/Utill/Sources/Extension/String+.swift b/Projects/Core/PickeFoundation/Sources/Extension/String+.swift similarity index 97% rename from Projects/Shared/Utill/Sources/Extension/String+.swift rename to Projects/Core/PickeFoundation/Sources/Extension/String+.swift index 342ed51a..b2aa2015 100644 --- a/Projects/Shared/Utill/Sources/Extension/String+.swift +++ b/Projects/Core/PickeFoundation/Sources/Extension/String+.swift @@ -1,6 +1,6 @@ // // String+Sentence.swift -// Utill +// PickeFoundation // import Foundation diff --git a/Projects/Shared/Utill/Sources/Extension/UUID+.swift b/Projects/Core/PickeFoundation/Sources/Extension/UUID+.swift similarity index 95% rename from Projects/Shared/Utill/Sources/Extension/UUID+.swift rename to Projects/Core/PickeFoundation/Sources/Extension/UUID+.swift index 52375120..e266d6ca 100644 --- a/Projects/Shared/Utill/Sources/Extension/UUID+.swift +++ b/Projects/Core/PickeFoundation/Sources/Extension/UUID+.swift @@ -1,6 +1,6 @@ // // UUID+Deterministic.swift -// Utill +// PickeFoundation // import Foundation diff --git a/Projects/Domain/DomainInterface/Sources/Manager/AuthLocalStorage.swift b/Projects/Core/PickeStorage/Interface/Manager/AuthLocalStorage.swift similarity index 96% rename from Projects/Domain/DomainInterface/Sources/Manager/AuthLocalStorage.swift rename to Projects/Core/PickeStorage/Interface/Manager/AuthLocalStorage.swift index 414dc9c0..922c6e3b 100644 --- a/Projects/Domain/DomainInterface/Sources/Manager/AuthLocalStorage.swift +++ b/Projects/Core/PickeStorage/Interface/Manager/AuthLocalStorage.swift @@ -1,6 +1,6 @@ // // AuthLocalStorage.swift -// DomainInterface +// PickeStorageInterface // import Foundation diff --git a/Projects/Domain/DomainInterface/Sources/Manager/Default/DefaultMemoryKeychainManager.swift b/Projects/Core/PickeStorage/Interface/Manager/DefaultMemoryKeychainManager.swift similarity index 97% rename from Projects/Domain/DomainInterface/Sources/Manager/Default/DefaultMemoryKeychainManager.swift rename to Projects/Core/PickeStorage/Interface/Manager/DefaultMemoryKeychainManager.swift index 982444ae..d4d8f16b 100644 --- a/Projects/Domain/DomainInterface/Sources/Manager/Default/DefaultMemoryKeychainManager.swift +++ b/Projects/Core/PickeStorage/Interface/Manager/DefaultMemoryKeychainManager.swift @@ -1,6 +1,6 @@ // // DefaultMemoryKeychainManager.swift -// DomainInterface +// PickeStorageInterface // // Created by Wonji Suh on 1/2/26. // diff --git a/Projects/Domain/DomainInterface/Sources/Manager/Interface/KeychainManagerInterface.swift b/Projects/Core/PickeStorage/Interface/Manager/KeychainManagerInterface.swift similarity index 93% rename from Projects/Domain/DomainInterface/Sources/Manager/Interface/KeychainManagerInterface.swift rename to Projects/Core/PickeStorage/Interface/Manager/KeychainManagerInterface.swift index 753630dc..10b41331 100644 --- a/Projects/Domain/DomainInterface/Sources/Manager/Interface/KeychainManagerInterface.swift +++ b/Projects/Core/PickeStorage/Interface/Manager/KeychainManagerInterface.swift @@ -1,6 +1,6 @@ // // KeychainManagerInterface.swift -// DomainInterface +// PickeStorageInterface // // Created by Wonji Suh on 1/2/26. // @@ -27,7 +27,7 @@ public struct KeychainManagerDependency: DependencyKey { } public static var testValue: KeychainManaging { - return InMemoryKeychainManager() + return InMemoryKeychainManager() } public static var previewValue: KeychainManaging = testValue diff --git a/Projects/Core/PickeStorage/Project.swift b/Projects/Core/PickeStorage/Project.swift new file mode 100644 index 00000000..46ec43fc --- /dev/null +++ b/Projects/Core/PickeStorage/Project.swift @@ -0,0 +1,22 @@ +import DependencyPackagePlugin +import DependencyPlugin +import Foundation +import ProjectDescription +import ProjectTemplatePlugin + +let project = Project.configure( + moduleType: .microModule(name: "PickeStorage"), + bundleId: .appBundleID(name: ".PickeStorage"), + product: .staticFramework, + settings: .settings(), + // KeychainManager(Sources)가 ComposableArchitecture(DependencyKey)·WeaveDI(UnifiedDI)를 직접 import. + // Security 는 시스템 프레임워크라 별도 의존성 선언이 필요 없고, Core 계층이라 Domain·Service 를 의존하지 않는다. + dependencies: [ + .SPM.composableArchitecture, + .SPM.weaveDI, + ], + interfaceDependencies: [ + .SPM.composableArchitecture, + .SPM.weaveDI, + ] +) diff --git a/Projects/Domain/UseCase/Sources/Manager/KeychainManager.swift b/Projects/Core/PickeStorage/Sources/Manager/KeychainManager.swift similarity index 96% rename from Projects/Domain/UseCase/Sources/Manager/KeychainManager.swift rename to Projects/Core/PickeStorage/Sources/Manager/KeychainManager.swift index dd4d8954..ac922366 100644 --- a/Projects/Domain/UseCase/Sources/Manager/KeychainManager.swift +++ b/Projects/Core/PickeStorage/Sources/Manager/KeychainManager.swift @@ -1,6 +1,6 @@ // // KeychainManager.swift -// UseCase +// PickeStorage // // Created by Wonji Suh on 1/2/26. // @@ -8,7 +8,7 @@ import Foundation import ComposableArchitecture -@_exported import DomainInterface +@_exported import PickeStorageInterface import Security import WeaveDI @@ -107,5 +107,5 @@ public final class KeychainManager: KeychainManaging, @unchecked Sendable { } } -// keychainManager 의존성(프로토콜/DependencyKey/accessor)은 DomainInterface 에 중앙집중. +// keychainManager 의존성(프로토콜/DependencyKey/accessor)은 PickeStorageInterface 에 중앙집중. // 여기서는 구현체 KeychainManager 만 제공하고 DI(DiRegister)로 주입한다. diff --git a/Projects/Core/PickeStorage/Testing/PickeStorageTesting.swift b/Projects/Core/PickeStorage/Testing/PickeStorageTesting.swift new file mode 100644 index 00000000..a2f020a3 --- /dev/null +++ b/Projects/Core/PickeStorage/Testing/PickeStorageTesting.swift @@ -0,0 +1,8 @@ +// +// PickeStorageTesting.swift +// PickeStorageTesting +// + +import PickeStorageInterface + +public enum PickeStorageTesting {} diff --git a/Projects/Core/PickeStorage/Tests/PickeStorageTests.swift b/Projects/Core/PickeStorage/Tests/PickeStorageTests.swift new file mode 100644 index 00000000..7c741219 --- /dev/null +++ b/Projects/Core/PickeStorage/Tests/PickeStorageTests.swift @@ -0,0 +1,14 @@ +// +// PickeStorageTests.swift +// PickeStorageTests +// + +@testable import PickeStorage +import Testing + +struct PickeStorageTests { + @Test + func pickeStorageExample() { + #expect(true) + } +} diff --git a/Projects/Data/Repository/Sources/AppUpdate/AppUpdateRepositoryImpl.swift b/Projects/Data/AppUpdate/Sources/Repository/AppUpdateRepositoryImpl.swift similarity index 97% rename from Projects/Data/Repository/Sources/AppUpdate/AppUpdateRepositoryImpl.swift rename to Projects/Data/AppUpdate/Sources/Repository/AppUpdateRepositoryImpl.swift index fa871a76..26bc469f 100644 --- a/Projects/Data/Repository/Sources/AppUpdate/AppUpdateRepositoryImpl.swift +++ b/Projects/Data/AppUpdate/Sources/Repository/AppUpdateRepositoryImpl.swift @@ -1,14 +1,13 @@ // // AppUpdateRepositoryImpl.swift -// Repository +// AppUpdateData // import Foundation -import DomainInterface -import Entity import Model +import AppUpdateDomainInterface import LogMacro public final class AppUpdateRepositoryImpl: AppUpdateInterface { diff --git a/Projects/Data/Attendance/Project.swift b/Projects/Data/Attendance/Project.swift index 3cb585bd..3d23fb49 100644 --- a/Projects/Data/Attendance/Project.swift +++ b/Projects/Data/Attendance/Project.swift @@ -13,7 +13,7 @@ let project = Project.configure( .Domain(.Attendance, .interface), .Data(implements: .API), .Data(implements: .Model), - .Data(implements: .Service), + .Data(implements: .Remote), .Data(implements: .Repository), .Network(implements: .NetworkHeader), .SPM.logMarco, diff --git a/Projects/Data/Attendance/Sources/Service/AttendanceService.swift b/Projects/Data/Attendance/Sources/Service/AttendanceService.swift index 04ea279f..0ea8e473 100644 --- a/Projects/Data/Attendance/Sources/Service/AttendanceService.swift +++ b/Projects/Data/Attendance/Sources/Service/AttendanceService.swift @@ -7,7 +7,7 @@ import Foundation import API import NetworkHeader -import Service +import Remote public enum AttendanceService { case check diff --git a/Projects/Data/Auth/Project.swift b/Projects/Data/Auth/Project.swift index 3db8d880..c09da8cb 100644 --- a/Projects/Data/Auth/Project.swift +++ b/Projects/Data/Auth/Project.swift @@ -11,10 +11,10 @@ let project = Project.configure( settings: .settings(), dependencies: [ .Domain(.Auth, .interface), - .Domain(implements: .Entity), + .Data(implements: .API), .Data(implements: .Model), - .Data(implements: .Service), + .Data(implements: .Remote), .Data(implements: .Repository), .Network(implements: .NetworkHeader), .SPM.weaveDI, diff --git a/Projects/Data/Repository/Sources/Auth/Interceptor/AuthInterceptor.swift b/Projects/Data/Auth/Sources/Interceptor/AuthInterceptor.swift similarity index 99% rename from Projects/Data/Repository/Sources/Auth/Interceptor/AuthInterceptor.swift rename to Projects/Data/Auth/Sources/Interceptor/AuthInterceptor.swift index d089f9de..a098550e 100644 --- a/Projects/Data/Repository/Sources/Auth/Interceptor/AuthInterceptor.swift +++ b/Projects/Data/Auth/Sources/Interceptor/AuthInterceptor.swift @@ -1,6 +1,6 @@ // // AuthInterceptor.swift -// Repository +// AuthData // // Created by Wonji Suh on 5/14/26. // @@ -9,10 +9,9 @@ import Alamofire import AuthDomainInterface import ComposableArchitecture import Dependencies -import DomainInterface -import Entity import Foundation import LogMacro +import PickeStorageInterface import UIKit // MARK: - Notification diff --git a/Projects/Data/Repository/Sources/Auth/Interceptor/SessionInvalidationMonitor.swift b/Projects/Data/Auth/Sources/Interceptor/SessionInvalidationMonitor.swift similarity index 97% rename from Projects/Data/Repository/Sources/Auth/Interceptor/SessionInvalidationMonitor.swift rename to Projects/Data/Auth/Sources/Interceptor/SessionInvalidationMonitor.swift index 2d6c3b96..afff2662 100644 --- a/Projects/Data/Repository/Sources/Auth/Interceptor/SessionInvalidationMonitor.swift +++ b/Projects/Data/Auth/Sources/Interceptor/SessionInvalidationMonitor.swift @@ -1,11 +1,10 @@ // // SessionInvalidationMonitor.swift -// Repository +// AuthData // import Alamofire import Dependencies -import DomainInterface import Foundation import LogMacro diff --git a/Projects/Data/Repository/Sources/Auth/RefreshToken/AccessTokenCredential.swift b/Projects/Data/Auth/Sources/RefreshToken/AccessTokenCredential.swift similarity index 99% rename from Projects/Data/Repository/Sources/Auth/RefreshToken/AccessTokenCredential.swift rename to Projects/Data/Auth/Sources/RefreshToken/AccessTokenCredential.swift index 9f4e0060..d3b854a3 100644 --- a/Projects/Data/Repository/Sources/Auth/RefreshToken/AccessTokenCredential.swift +++ b/Projects/Data/Auth/Sources/RefreshToken/AccessTokenCredential.swift @@ -1,6 +1,6 @@ // // AccessTokenCredential.swift -// Repository +// AuthData // // Created by Wonji Suh on 5/14/26. // diff --git a/Projects/Data/Repository/Sources/Auth/RefreshToken/AuthSessionManager.swift b/Projects/Data/Auth/Sources/RefreshToken/AuthSessionManager.swift similarity index 97% rename from Projects/Data/Repository/Sources/Auth/RefreshToken/AuthSessionManager.swift rename to Projects/Data/Auth/Sources/RefreshToken/AuthSessionManager.swift index 424a5457..bea6ccc9 100644 --- a/Projects/Data/Repository/Sources/Auth/RefreshToken/AuthSessionManager.swift +++ b/Projects/Data/Auth/Sources/RefreshToken/AuthSessionManager.swift @@ -1,15 +1,14 @@ // // AuthSessionManager.swift -// Repository +// AuthData // // Created by Wonji Suh on 5/14/26. // import Alamofire import AuthDomainInterface -import DomainInterface -import Entity import Foundation +import PickeStorageInterface import UIKit import WeaveDI diff --git a/Projects/Data/Repository/Sources/Auth/RefreshToken/OptimizedSessionManager.swift b/Projects/Data/Auth/Sources/RefreshToken/OptimizedSessionManager.swift similarity index 97% rename from Projects/Data/Repository/Sources/Auth/RefreshToken/OptimizedSessionManager.swift rename to Projects/Data/Auth/Sources/RefreshToken/OptimizedSessionManager.swift index f5b8077c..3fff0ae1 100644 --- a/Projects/Data/Repository/Sources/Auth/RefreshToken/OptimizedSessionManager.swift +++ b/Projects/Data/Auth/Sources/RefreshToken/OptimizedSessionManager.swift @@ -1,15 +1,14 @@ // // OptimizedSessionManager.swift -// Repository +// AuthData // // Created by Wonji Suh on 5/14/26. // import Alamofire import AuthDomainInterface -import DomainInterface -import Entity import Foundation +import PickeStorageInterface import WeaveDI /// 네트워킹 성능 최적화된 세션 매니저 diff --git a/Projects/Data/Auth/Sources/Repository/AuthRepositoryImpl.swift b/Projects/Data/Auth/Sources/Repository/AuthRepositoryImpl.swift index 64ad9961..9c1fd5fa 100644 --- a/Projects/Data/Auth/Sources/Repository/AuthRepositoryImpl.swift +++ b/Projects/Data/Auth/Sources/Repository/AuthRepositoryImpl.swift @@ -8,10 +8,9 @@ import Foundation import AuthDomainInterface -import Entity import Model import Repository -import Service +import Remote import Alamofire import Dependencies diff --git a/Projects/Data/Auth/Sources/Repository/Google/GoogleOAuthRepositoryImpl.swift b/Projects/Data/Auth/Sources/Repository/Google/GoogleOAuthRepositoryImpl.swift index 22b8e574..101823ad 100644 --- a/Projects/Data/Auth/Sources/Repository/Google/GoogleOAuthRepositoryImpl.swift +++ b/Projects/Data/Auth/Sources/Repository/Google/GoogleOAuthRepositoryImpl.swift @@ -7,7 +7,6 @@ import AuthenticationServices import AuthDomainInterface -import Entity import Foundation import LogMacro import UIKit diff --git a/Projects/Data/Auth/Sources/Repository/OAuth/Apple/AppleOAuthRepositoryImpl.swift b/Projects/Data/Auth/Sources/Repository/OAuth/Apple/AppleOAuthRepositoryImpl.swift index a540188b..b7fb819e 100644 --- a/Projects/Data/Auth/Sources/Repository/OAuth/Apple/AppleOAuthRepositoryImpl.swift +++ b/Projects/Data/Auth/Sources/Repository/OAuth/Apple/AppleOAuthRepositoryImpl.swift @@ -9,7 +9,6 @@ import Foundation import AuthenticationServices @preconcurrency import AuthDomainInterface -import Entity import LogMacro import WeaveDI diff --git a/Projects/Data/Auth/Sources/Repository/OAuth/Kakao/KakaoOAuthRepository.swift b/Projects/Data/Auth/Sources/Repository/OAuth/Kakao/KakaoOAuthRepository.swift index 7e4eca65..d2064a77 100644 --- a/Projects/Data/Auth/Sources/Repository/OAuth/Kakao/KakaoOAuthRepository.swift +++ b/Projects/Data/Auth/Sources/Repository/OAuth/Kakao/KakaoOAuthRepository.swift @@ -7,7 +7,6 @@ import AuthenticationServices import AuthDomainInterface -import Entity import Foundation import LogMacro import UIKit diff --git a/Projects/Data/Auth/Sources/Repository/OAuth/Web/OAuthWebViewController.swift b/Projects/Data/Auth/Sources/Repository/OAuth/Web/OAuthWebViewController.swift index 5d6b81fc..45f9d310 100644 --- a/Projects/Data/Auth/Sources/Repository/OAuth/Web/OAuthWebViewController.swift +++ b/Projects/Data/Auth/Sources/Repository/OAuth/Web/OAuthWebViewController.swift @@ -7,7 +7,6 @@ import Combine import AuthDomainInterface -import Entity import Foundation import UIKit import WebKit diff --git a/Projects/Data/Auth/Sources/Service/AuthService.swift b/Projects/Data/Auth/Sources/Service/AuthService.swift index 62a673f9..5362a360 100644 --- a/Projects/Data/Auth/Sources/Service/AuthService.swift +++ b/Projects/Data/Auth/Sources/Service/AuthService.swift @@ -10,7 +10,7 @@ import Foundation import API import AuthDomainInterface import NetworkHeader -import Service +import Remote public enum AuthService { case login(provider: SocialType, body: OAuthLoginRequest) diff --git a/Projects/Data/Auth/Tests/AuthRepositoryTests.swift b/Projects/Data/Auth/Tests/AuthRepositoryTests.swift index 98540b72..39a9bb3b 100644 --- a/Projects/Data/Auth/Tests/AuthRepositoryTests.swift +++ b/Projects/Data/Auth/Tests/AuthRepositoryTests.swift @@ -9,7 +9,6 @@ import Testing @testable import AuthData import AuthDomainInterface -import Entity struct AuthRepositoryTests { // MARK: - login diff --git a/Projects/Data/Battle/Project.swift b/Projects/Data/Battle/Project.swift index f445a277..a25f55d2 100644 --- a/Projects/Data/Battle/Project.swift +++ b/Projects/Data/Battle/Project.swift @@ -10,12 +10,13 @@ let project = Project.configure( product: .staticFramework, settings: .settings(), dependencies: [ + .Domain(.Home, .interface), .Domain(.Battle, .interface), .Domain(.Common, .interface), - .Domain(implements: .Entity), + .Data(implements: .API), .Data(implements: .Model), - .Data(implements: .Service), + .Data(implements: .Remote), .Data(implements: .Repository), .Network(implements: .NetworkHeader), .SPM.weaveDI, diff --git a/Projects/Data/Battle/Sources/Repository/BattleRepositoryImpl.swift b/Projects/Data/Battle/Sources/Repository/BattleRepositoryImpl.swift index bbca1acc..ae281fc4 100644 --- a/Projects/Data/Battle/Sources/Repository/BattleRepositoryImpl.swift +++ b/Projects/Data/Battle/Sources/Repository/BattleRepositoryImpl.swift @@ -7,12 +7,10 @@ import Foundation import BattleDomainInterface import CommonDomainInterface -import DomainInterface -import Entity import HomeDomainInterface import Model import Repository -import Service +import Remote import LogMacro diff --git a/Projects/Data/Battle/Tests/BattleRepositoryTests.swift b/Projects/Data/Battle/Tests/BattleRepositoryTests.swift index 84fba6f0..d21cf7b9 100644 --- a/Projects/Data/Battle/Tests/BattleRepositoryTests.swift +++ b/Projects/Data/Battle/Tests/BattleRepositoryTests.swift @@ -9,7 +9,6 @@ import Testing import BattleDomainInterface import CommonDomainInterface -import Entity import Foundation import HomeDomainInterface diff --git a/Projects/Data/Comment/Project.swift b/Projects/Data/Comment/Project.swift index 6821fdf0..3444f556 100644 --- a/Projects/Data/Comment/Project.swift +++ b/Projects/Data/Comment/Project.swift @@ -14,7 +14,7 @@ let project = Project.configure( .Domain(.Common, .interface), .Data(implements: .API), .Data(implements: .Model), - .Data(implements: .Service), + .Data(implements: .Remote), .Data(implements: .Repository), .Network(implements: .NetworkHeader), .SPM.logMarco, diff --git a/Projects/Data/Data/Project.swift b/Projects/Data/Data/Project.swift index 1a1b3965..6b760345 100644 --- a/Projects/Data/Data/Project.swift +++ b/Projects/Data/Data/Project.swift @@ -12,7 +12,7 @@ let project = Project.configure( dependencies: [ .Data(implements: .API), .Data(implements: .Model), - .Data(implements: .Service), + .Data(implements: .Remote), .Data(implements: .Repository), .Data(.Attendance), .Data(.Auth), diff --git a/Projects/Data/DataTesting/Project.swift b/Projects/Data/DataTesting/Project.swift index 0b06360b..75d86a87 100644 --- a/Projects/Data/DataTesting/Project.swift +++ b/Projects/Data/DataTesting/Project.swift @@ -10,8 +10,9 @@ let project = Project.configure( product: .framework, settings: .settings(), dependencies: [ - .Domain(implements: .Entity), - .Domain(implements: .DomainInterface), + .Domain(.AppUpdate, .interface), + + .Service(.AudioPlayer), ], sources: ["Sources/**"] ) diff --git a/Projects/Data/DataTesting/Sources/AppUpdate/FakeAppUpdateRepository.swift b/Projects/Data/DataTesting/Sources/AppUpdate/FakeAppUpdateRepository.swift index 4189acd7..79a11f9f 100644 --- a/Projects/Data/DataTesting/Sources/AppUpdate/FakeAppUpdateRepository.swift +++ b/Projects/Data/DataTesting/Sources/AppUpdate/FakeAppUpdateRepository.swift @@ -3,8 +3,7 @@ // DataTesting // -import DomainInterface -import Entity +import AppUpdateDomainInterface public struct FakeAppUpdateRepository: AppUpdateInterface { public var info: AppUpdateInfo diff --git a/Projects/Data/Home/Project.swift b/Projects/Data/Home/Project.swift index 2fd4624b..708250ce 100644 --- a/Projects/Data/Home/Project.swift +++ b/Projects/Data/Home/Project.swift @@ -10,11 +10,12 @@ let project = Project.configure( product: .staticFramework, settings: .settings(), dependencies: [ + .Domain(.Auth, .interface), .Domain(.Home, .interface), .Domain(.Common, .interface), .Data(implements: .API), .Data(implements: .Model), - .Data(implements: .Service), + .Data(implements: .Remote), .Data(implements: .Repository), .Network(implements: .NetworkHeader), .SPM.weaveDI, diff --git a/Projects/Data/Home/Sources/Repository/HomeRepositoryImpl.swift b/Projects/Data/Home/Sources/Repository/HomeRepositoryImpl.swift index 03f96a90..153b140d 100644 --- a/Projects/Data/Home/Sources/Repository/HomeRepositoryImpl.swift +++ b/Projects/Data/Home/Sources/Repository/HomeRepositoryImpl.swift @@ -7,12 +7,12 @@ import Foundation -import Entity import HomeDomainInterface import Model import Repository import LogMacro +import AuthDomainInterface public final class HomeRepositoryImpl: HomeInterface, @unchecked Sendable { diff --git a/Projects/Data/Home/Tests/HomeRepositoryTests.swift b/Projects/Data/Home/Tests/HomeRepositoryTests.swift index e3a002da..e07671c9 100644 --- a/Projects/Data/Home/Tests/HomeRepositoryTests.swift +++ b/Projects/Data/Home/Tests/HomeRepositoryTests.swift @@ -9,8 +9,8 @@ import Testing @testable import HomeData import CommonDomainInterface -import Entity import HomeDomainInterface +import AuthDomainInterface struct HomeRepositoryTests { private static let fullEnvelope = """ diff --git a/Projects/Data/Model/Project.swift b/Projects/Data/Model/Project.swift index 42c73db6..13bf8708 100644 --- a/Projects/Data/Model/Project.swift +++ b/Projects/Data/Model/Project.swift @@ -10,11 +10,11 @@ let project = Project.configure( product: .staticFramework, settings: .settings(), dependencies: [ + .Domain(.AppUpdate, .interface), .Domain(.Common, .interface), .Domain(.Comment, .interface), .Domain(.Battle, .interface), .Domain(.Home, .interface), - .Domain(implements: .Entity), ], sources: ["Sources/**"], hasTests: false diff --git a/Projects/Data/Model/Sources/AppUpdate/Mapper/AppUpdateDTO+.swift b/Projects/Data/Model/Sources/AppUpdate/Mapper/AppUpdateDTO+.swift index b78ade4b..fc5a49f2 100644 --- a/Projects/Data/Model/Sources/AppUpdate/Mapper/AppUpdateDTO+.swift +++ b/Projects/Data/Model/Sources/AppUpdate/Mapper/AppUpdateDTO+.swift @@ -4,8 +4,8 @@ // import Foundation +import AppUpdateDomainInterface -import Entity public extension AppStoreInfoDTO { func toEntity(currentVersion: String) -> AppUpdateInfo { diff --git a/Projects/Data/Model/Sources/Battle/Mapper/BattleDetailDataDTO+.swift b/Projects/Data/Model/Sources/Battle/Mapper/BattleDetailDataDTO+.swift index 2818f8be..a121144a 100644 --- a/Projects/Data/Model/Sources/Battle/Mapper/BattleDetailDataDTO+.swift +++ b/Projects/Data/Model/Sources/Battle/Mapper/BattleDetailDataDTO+.swift @@ -3,7 +3,6 @@ // Model // -import Entity import BattleDomainInterface import CommonDomainInterface import Foundation diff --git a/Projects/Data/Model/Sources/Battle/Mapper/BattlePerspectiveDataDTO+.swift b/Projects/Data/Model/Sources/Battle/Mapper/BattlePerspectiveDataDTO+.swift index 1ee58f02..d3285374 100644 --- a/Projects/Data/Model/Sources/Battle/Mapper/BattlePerspectiveDataDTO+.swift +++ b/Projects/Data/Model/Sources/Battle/Mapper/BattlePerspectiveDataDTO+.swift @@ -4,7 +4,6 @@ // import CommonDomainInterface -import Entity import Foundation public extension BattlePerspectivePageDataDTO { diff --git a/Projects/Data/Model/Sources/Battle/Mapper/BattleProposalDataDTO+.swift b/Projects/Data/Model/Sources/Battle/Mapper/BattleProposalDataDTO+.swift index e49609d5..b1341e32 100644 --- a/Projects/Data/Model/Sources/Battle/Mapper/BattleProposalDataDTO+.swift +++ b/Projects/Data/Model/Sources/Battle/Mapper/BattleProposalDataDTO+.swift @@ -3,7 +3,6 @@ // Model // -import Entity import BattleDomainInterface import Foundation diff --git a/Projects/Data/Model/Sources/Battle/Mapper/BattleScenarioDataDTO+.swift b/Projects/Data/Model/Sources/Battle/Mapper/BattleScenarioDataDTO+.swift index d26e8198..a102781a 100644 --- a/Projects/Data/Model/Sources/Battle/Mapper/BattleScenarioDataDTO+.swift +++ b/Projects/Data/Model/Sources/Battle/Mapper/BattleScenarioDataDTO+.swift @@ -3,7 +3,6 @@ // Model // -import Entity import Foundation import HomeDomainInterface diff --git a/Projects/Data/Model/Sources/Battle/Mapper/BattleVoteStatsDataDTO+.swift b/Projects/Data/Model/Sources/Battle/Mapper/BattleVoteStatsDataDTO+.swift index 1c02f65a..ead0e984 100644 --- a/Projects/Data/Model/Sources/Battle/Mapper/BattleVoteStatsDataDTO+.swift +++ b/Projects/Data/Model/Sources/Battle/Mapper/BattleVoteStatsDataDTO+.swift @@ -3,7 +3,6 @@ // Model // -import Entity import BattleDomainInterface import Foundation diff --git a/Projects/Data/Model/Sources/Battle/Mapper/PreVoteDataDTO+.swift b/Projects/Data/Model/Sources/Battle/Mapper/PreVoteDataDTO+.swift index 9c435db2..4e9e54df 100644 --- a/Projects/Data/Model/Sources/Battle/Mapper/PreVoteDataDTO+.swift +++ b/Projects/Data/Model/Sources/Battle/Mapper/PreVoteDataDTO+.swift @@ -3,7 +3,6 @@ // Model // -import Entity import BattleDomainInterface import Foundation diff --git a/Projects/Data/Model/Sources/Battle/Mapper/RecommendedBattleDataDTO+.swift b/Projects/Data/Model/Sources/Battle/Mapper/RecommendedBattleDataDTO+.swift index 7dc24eee..0abcb721 100644 --- a/Projects/Data/Model/Sources/Battle/Mapper/RecommendedBattleDataDTO+.swift +++ b/Projects/Data/Model/Sources/Battle/Mapper/RecommendedBattleDataDTO+.swift @@ -3,7 +3,6 @@ // Model // -import Entity import BattleDomainInterface import CommonDomainInterface import Foundation diff --git a/Projects/Data/Model/Sources/Battle/Mapper/TodayBattleDataDTO+.swift b/Projects/Data/Model/Sources/Battle/Mapper/TodayBattleDataDTO+.swift index 9aed8152..c0b60908 100644 --- a/Projects/Data/Model/Sources/Battle/Mapper/TodayBattleDataDTO+.swift +++ b/Projects/Data/Model/Sources/Battle/Mapper/TodayBattleDataDTO+.swift @@ -3,7 +3,6 @@ // Model // -import Entity import BattleDomainInterface import Foundation diff --git a/Projects/Data/Model/Sources/Perspective/Mapper/PerspectiveCommentDataDTO+.swift b/Projects/Data/Model/Sources/Perspective/Mapper/PerspectiveCommentDataDTO+.swift index d84df7d5..8e8d52d6 100644 --- a/Projects/Data/Model/Sources/Perspective/Mapper/PerspectiveCommentDataDTO+.swift +++ b/Projects/Data/Model/Sources/Perspective/Mapper/PerspectiveCommentDataDTO+.swift @@ -4,7 +4,6 @@ // import CommentDomainInterface -import Entity import Foundation public extension PerspectiveCommentPageDataDTO { diff --git a/Projects/Data/Notification/Project.swift b/Projects/Data/Notification/Project.swift index 77837f3c..f6d89e29 100644 --- a/Projects/Data/Notification/Project.swift +++ b/Projects/Data/Notification/Project.swift @@ -13,7 +13,7 @@ let project = Project.configure( .Domain(.Notification, .interface), .Data(implements: .API), .Data(implements: .Model), - .Data(implements: .Service), + .Data(implements: .Remote), .Data(implements: .Repository), .Network(implements: .NetworkHeader), .SPM.logMarco, diff --git a/Projects/Data/Notification/Sources/Service/NotificationService.swift b/Projects/Data/Notification/Sources/Service/NotificationService.swift index c99f4419..5c4a3305 100644 --- a/Projects/Data/Notification/Sources/Service/NotificationService.swift +++ b/Projects/Data/Notification/Sources/Service/NotificationService.swift @@ -7,7 +7,7 @@ import Foundation import API import NetworkHeader -import Service +import Remote public enum NotificationService { diff --git a/Projects/Data/Perspective/Project.swift b/Projects/Data/Perspective/Project.swift index 2ee1c2bb..6351dcda 100644 --- a/Projects/Data/Perspective/Project.swift +++ b/Projects/Data/Perspective/Project.swift @@ -15,7 +15,7 @@ let project = Project.configure( .Domain(.Comment, .interface), .Data(implements: .API), .Data(implements: .Model), - .Data(implements: .Service), + .Data(implements: .Remote), .Data(implements: .Repository), .Network(implements: .NetworkHeader), .SPM.weaveDI, diff --git a/Projects/Data/Profile/Project.swift b/Projects/Data/Profile/Project.swift index d090ab92..f48b66e2 100644 --- a/Projects/Data/Profile/Project.swift +++ b/Projects/Data/Profile/Project.swift @@ -13,7 +13,7 @@ let project = Project.configure( .Domain(.Profile, .interface), .Data(implements: .API), .Data(implements: .Model), - .Data(implements: .Service), + .Data(implements: .Remote), .Data(implements: .Repository), .Network(implements: .NetworkHeader), .SPM.logMarco, diff --git a/Projects/Data/Profile/Sources/Service/ProfileService.swift b/Projects/Data/Profile/Sources/Service/ProfileService.swift index 4c1fdd0e..06537ccc 100644 --- a/Projects/Data/Profile/Sources/Service/ProfileService.swift +++ b/Projects/Data/Profile/Sources/Service/ProfileService.swift @@ -7,7 +7,7 @@ import Foundation import API import NetworkHeader -import Service +import Remote public enum ProfileService { diff --git a/Projects/Data/Profile/Tests/ProfileRequestMappingTests.swift b/Projects/Data/Profile/Tests/ProfileRequestMappingTests.swift index b308254e..1e92f117 100644 --- a/Projects/Data/Profile/Tests/ProfileRequestMappingTests.swift +++ b/Projects/Data/Profile/Tests/ProfileRequestMappingTests.swift @@ -9,7 +9,7 @@ import Testing @testable import ProfileData import NetworkHeader -import Service +import Remote struct ProfileRequestMappingTests { @Test func mypage_요청은_GET_이며_경로가_api_v1_me_mypage_이다() throws { diff --git a/Projects/Data/Service/Project.swift b/Projects/Data/Remote/Project.swift similarity index 75% rename from Projects/Data/Service/Project.swift rename to Projects/Data/Remote/Project.swift index dc7b21bd..3992a230 100644 --- a/Projects/Data/Service/Project.swift +++ b/Projects/Data/Remote/Project.swift @@ -5,13 +5,13 @@ import ProjectDescription import ProjectTemplatePlugin let project = Project.configure( - moduleType: .module(name: "Service"), - bundleId: .appBundleID(name: ".Service"), + moduleType: .module(name: "Remote"), + bundleId: .appBundleID(name: ".Remote"), product: .staticFramework, settings: .settings(), dependencies: [ .Data(implements: .API), - .Domain(implements: .Entity), + .Network(implements: .NetworkHeader), ], sources: ["Sources/**"], diff --git a/Projects/Data/Service/ServiceTests/Sources/Test.swift b/Projects/Data/Remote/RemoteTests/Sources/Test.swift similarity index 100% rename from Projects/Data/Service/ServiceTests/Sources/Test.swift rename to Projects/Data/Remote/RemoteTests/Sources/Test.swift diff --git a/Projects/Data/Service/Sources/Common/Encodable+.swift b/Projects/Data/Remote/Sources/Common/Encodable+.swift similarity index 100% rename from Projects/Data/Service/Sources/Common/Encodable+.swift rename to Projects/Data/Remote/Sources/Common/Encodable+.swift diff --git a/Projects/Data/Service/Sources/Device/DeviceService.swift b/Projects/Data/Remote/Sources/Device/DeviceService.swift similarity index 100% rename from Projects/Data/Service/Sources/Device/DeviceService.swift rename to Projects/Data/Remote/Sources/Device/DeviceService.swift diff --git a/Projects/Data/Service/Sources/Device/Request/DeviceRegisterRequest.swift b/Projects/Data/Remote/Sources/Device/Request/DeviceRegisterRequest.swift similarity index 100% rename from Projects/Data/Service/Sources/Device/Request/DeviceRegisterRequest.swift rename to Projects/Data/Remote/Sources/Device/Request/DeviceRegisterRequest.swift diff --git a/Projects/Data/Repository/Project.swift b/Projects/Data/Repository/Project.swift index e9051869..9cf0c0b7 100644 --- a/Projects/Data/Repository/Project.swift +++ b/Projects/Data/Repository/Project.swift @@ -10,14 +10,17 @@ let project = Project.configure( product: .staticFramework, settings: .settings(), dependencies: [ + .Core(.PickeStorage, .interface), + .Domain(.AppUpdate, .interface), + .Service(.Device, .interface), .Domain(.Common, .interface), .Domain(.Comment, .interface), .Domain(.Home, .interface), .Network(implements: .Networking), .Network(implements: .NetworkHeader), - .Data(implements: .Service), + .Data(implements: .Remote), .Data(implements: .Model), - .Domain(implements: .DomainInterface), + .Service(.AudioPlayer), .Domain(.Auth, .interface), .SPM.alamofire, .SPM.composableArchitecture, diff --git a/Projects/Data/Search/Project.swift b/Projects/Data/Search/Project.swift index e49d5ea8..5e98a21e 100644 --- a/Projects/Data/Search/Project.swift +++ b/Projects/Data/Search/Project.swift @@ -10,10 +10,11 @@ let project = Project.configure( product: .staticFramework, settings: .settings(), dependencies: [ + .Domain(.Battle, .interface), .Domain(.Search, .interface), .Domain(.Common, .interface), .Domain(.Home, .interface), - .Domain(implements: .Entity), + .Data(implements: .API), .Data(implements: .Model), .Data(implements: .Repository), diff --git a/Projects/Data/Search/Sources/SearchBattleDataDTO+.swift b/Projects/Data/Search/Sources/SearchBattleDataDTO+.swift index 59db2802..4923343c 100644 --- a/Projects/Data/Search/Sources/SearchBattleDataDTO+.swift +++ b/Projects/Data/Search/Sources/SearchBattleDataDTO+.swift @@ -3,7 +3,6 @@ // Model // -import Entity import Foundation import HomeDomainInterface diff --git a/Projects/Data/Search/Sources/SearchRepositoryImpl.swift b/Projects/Data/Search/Sources/SearchRepositoryImpl.swift index c4fc429a..bfc33a6b 100644 --- a/Projects/Data/Search/Sources/SearchRepositoryImpl.swift +++ b/Projects/Data/Search/Sources/SearchRepositoryImpl.swift @@ -5,13 +5,13 @@ import Foundation -import Entity import HomeDomainInterface import Model import Repository import SearchDomainInterface import LogMacro +import BattleDomainInterface public final class SearchRepositoryImpl: SearchInterface, @unchecked Sendable { diff --git a/Projects/Data/Search/Tests/SearchRepositoryTests.swift b/Projects/Data/Search/Tests/SearchRepositoryTests.swift index bd0aa30d..677a7724 100644 --- a/Projects/Data/Search/Tests/SearchRepositoryTests.swift +++ b/Projects/Data/Search/Tests/SearchRepositoryTests.swift @@ -7,8 +7,8 @@ import Testing @testable import SearchData -import Entity import HomeDomainInterface +import BattleDomainInterface struct SearchRepositoryTests { @Test func searchBattles_은_정상_응답을_ExploreItemPage로_매핑한다() async throws { diff --git a/Projects/Shared/PickeDesignKit/Demo/Sources/PickeDesignKitDemoApp.swift b/Projects/DesignSystem/Demo/Sources/PickeDesignKitDemoApp.swift similarity index 100% rename from Projects/Shared/PickeDesignKit/Demo/Sources/PickeDesignKitDemoApp.swift rename to Projects/DesignSystem/Demo/Sources/PickeDesignKitDemoApp.swift diff --git a/Projects/Shared/PickeDesignKit/Demo/Sources/StorybookView.swift b/Projects/DesignSystem/Demo/Sources/StorybookView.swift similarity index 100% rename from Projects/Shared/PickeDesignKit/Demo/Sources/StorybookView.swift rename to Projects/DesignSystem/Demo/Sources/StorybookView.swift diff --git a/Projects/Domain/UseCase/Tests/Sources/Test.swift b/Projects/DesignSystem/DesignSystemTests/Sources/Test.swift similarity index 100% rename from Projects/Domain/UseCase/Tests/Sources/Test.swift rename to Projects/DesignSystem/DesignSystemTests/Sources/Test.swift diff --git a/Projects/Shared/PickeDesignKit/Project.swift b/Projects/DesignSystem/Project.swift similarity index 100% rename from Projects/Shared/PickeDesignKit/Project.swift rename to Projects/DesignSystem/Project.swift diff --git a/Projects/Shared/PickeDesignKit/Resources/FontAsset/PretendardVariable.ttf b/Projects/DesignSystem/Resources/FontAsset/PretendardVariable.ttf similarity index 100% rename from Projects/Shared/PickeDesignKit/Resources/FontAsset/PretendardVariable.ttf rename to Projects/DesignSystem/Resources/FontAsset/PretendardVariable.ttf diff --git a/Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/Auth/Contents.json b/Projects/DesignSystem/Resources/ImageAssets.xcassets/Auth/Contents.json similarity index 100% rename from Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/Auth/Contents.json rename to Projects/DesignSystem/Resources/ImageAssets.xcassets/Auth/Contents.json diff --git a/Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/Auth/checkBlue.imageset/Contents.json b/Projects/DesignSystem/Resources/ImageAssets.xcassets/Auth/checkBlue.imageset/Contents.json similarity index 100% rename from Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/Auth/checkBlue.imageset/Contents.json rename to Projects/DesignSystem/Resources/ImageAssets.xcassets/Auth/checkBlue.imageset/Contents.json diff --git a/Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/Auth/checkBlue.imageset/checkBlue.svg b/Projects/DesignSystem/Resources/ImageAssets.xcassets/Auth/checkBlue.imageset/checkBlue.svg similarity index 100% rename from Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/Auth/checkBlue.imageset/checkBlue.svg rename to Projects/DesignSystem/Resources/ImageAssets.xcassets/Auth/checkBlue.imageset/checkBlue.svg diff --git a/Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/Auth/errorXmark.imageset/Contents.json b/Projects/DesignSystem/Resources/ImageAssets.xcassets/Auth/errorXmark.imageset/Contents.json similarity index 100% rename from Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/Auth/errorXmark.imageset/Contents.json rename to Projects/DesignSystem/Resources/ImageAssets.xcassets/Auth/errorXmark.imageset/Contents.json diff --git a/Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/Auth/errorXmark.imageset/errorXmark.svg b/Projects/DesignSystem/Resources/ImageAssets.xcassets/Auth/errorXmark.imageset/errorXmark.svg similarity index 100% rename from Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/Auth/errorXmark.imageset/errorXmark.svg rename to Projects/DesignSystem/Resources/ImageAssets.xcassets/Auth/errorXmark.imageset/errorXmark.svg diff --git a/Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/Avatar/Contents.json b/Projects/DesignSystem/Resources/ImageAssets.xcassets/Avatar/Contents.json similarity index 100% rename from Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/Avatar/Contents.json rename to Projects/DesignSystem/Resources/ImageAssets.xcassets/Avatar/Contents.json diff --git a/Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/Avatar/avatarPlato.imageset/Contents.json b/Projects/DesignSystem/Resources/ImageAssets.xcassets/Avatar/avatarPlato.imageset/Contents.json similarity index 100% rename from Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/Avatar/avatarPlato.imageset/Contents.json rename to Projects/DesignSystem/Resources/ImageAssets.xcassets/Avatar/avatarPlato.imageset/Contents.json diff --git a/Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/Avatar/avatarPlato.imageset/avatarPlato.png b/Projects/DesignSystem/Resources/ImageAssets.xcassets/Avatar/avatarPlato.imageset/avatarPlato.png similarity index 100% rename from Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/Avatar/avatarPlato.imageset/avatarPlato.png rename to Projects/DesignSystem/Resources/ImageAssets.xcassets/Avatar/avatarPlato.imageset/avatarPlato.png diff --git a/Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/Avatar/avatarSartre.imageset/Contents.json b/Projects/DesignSystem/Resources/ImageAssets.xcassets/Avatar/avatarSartre.imageset/Contents.json similarity index 100% rename from Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/Avatar/avatarSartre.imageset/Contents.json rename to Projects/DesignSystem/Resources/ImageAssets.xcassets/Avatar/avatarSartre.imageset/Contents.json diff --git a/Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/Avatar/avatarSartre.imageset/avatarSartre.png b/Projects/DesignSystem/Resources/ImageAssets.xcassets/Avatar/avatarSartre.imageset/avatarSartre.png similarity index 100% rename from Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/Avatar/avatarSartre.imageset/avatarSartre.png rename to Projects/DesignSystem/Resources/ImageAssets.xcassets/Avatar/avatarSartre.imageset/avatarSartre.png diff --git a/Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/Avatar/avatarSunja.imageset/Contents.json b/Projects/DesignSystem/Resources/ImageAssets.xcassets/Avatar/avatarSunja.imageset/Contents.json similarity index 100% rename from Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/Avatar/avatarSunja.imageset/Contents.json rename to Projects/DesignSystem/Resources/ImageAssets.xcassets/Avatar/avatarSunja.imageset/Contents.json diff --git a/Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/Avatar/avatarSunja.imageset/avatarSunja.png b/Projects/DesignSystem/Resources/ImageAssets.xcassets/Avatar/avatarSunja.imageset/avatarSunja.png similarity index 100% rename from Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/Avatar/avatarSunja.imageset/avatarSunja.png rename to Projects/DesignSystem/Resources/ImageAssets.xcassets/Avatar/avatarSunja.imageset/avatarSunja.png diff --git a/Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/Comment/heartPlus.imageset/Contents.json b/Projects/DesignSystem/Resources/ImageAssets.xcassets/Comment/heartPlus.imageset/Contents.json similarity index 100% rename from Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/Comment/heartPlus.imageset/Contents.json rename to Projects/DesignSystem/Resources/ImageAssets.xcassets/Comment/heartPlus.imageset/Contents.json diff --git a/Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/Comment/heartPlus.imageset/heartPlus.svg b/Projects/DesignSystem/Resources/ImageAssets.xcassets/Comment/heartPlus.imageset/heartPlus.svg similarity index 100% rename from Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/Comment/heartPlus.imageset/heartPlus.svg rename to Projects/DesignSystem/Resources/ImageAssets.xcassets/Comment/heartPlus.imageset/heartPlus.svg diff --git a/Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/Contents.json b/Projects/DesignSystem/Resources/ImageAssets.xcassets/Contents.json similarity index 100% rename from Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/Contents.json rename to Projects/DesignSystem/Resources/ImageAssets.xcassets/Contents.json diff --git a/Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/GNB/Contents.json b/Projects/DesignSystem/Resources/ImageAssets.xcassets/GNB/Contents.json similarity index 100% rename from Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/GNB/Contents.json rename to Projects/DesignSystem/Resources/ImageAssets.xcassets/GNB/Contents.json diff --git a/Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/GNB/tabExplore.imageset/Contents.json b/Projects/DesignSystem/Resources/ImageAssets.xcassets/GNB/tabExplore.imageset/Contents.json similarity index 100% rename from Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/GNB/tabExplore.imageset/Contents.json rename to Projects/DesignSystem/Resources/ImageAssets.xcassets/GNB/tabExplore.imageset/Contents.json diff --git a/Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/GNB/tabExplore.imageset/tabExplore.svg b/Projects/DesignSystem/Resources/ImageAssets.xcassets/GNB/tabExplore.imageset/tabExplore.svg similarity index 100% rename from Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/GNB/tabExplore.imageset/tabExplore.svg rename to Projects/DesignSystem/Resources/ImageAssets.xcassets/GNB/tabExplore.imageset/tabExplore.svg diff --git a/Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/GNB/tabExploreActive.imageset/Contents.json b/Projects/DesignSystem/Resources/ImageAssets.xcassets/GNB/tabExploreActive.imageset/Contents.json similarity index 100% rename from Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/GNB/tabExploreActive.imageset/Contents.json rename to Projects/DesignSystem/Resources/ImageAssets.xcassets/GNB/tabExploreActive.imageset/Contents.json diff --git a/Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/GNB/tabExploreActive.imageset/tabExploreActive.svg b/Projects/DesignSystem/Resources/ImageAssets.xcassets/GNB/tabExploreActive.imageset/tabExploreActive.svg similarity index 100% rename from Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/GNB/tabExploreActive.imageset/tabExploreActive.svg rename to Projects/DesignSystem/Resources/ImageAssets.xcassets/GNB/tabExploreActive.imageset/tabExploreActive.svg diff --git a/Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/GNB/tabHome.imageset/Contents.json b/Projects/DesignSystem/Resources/ImageAssets.xcassets/GNB/tabHome.imageset/Contents.json similarity index 100% rename from Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/GNB/tabHome.imageset/Contents.json rename to Projects/DesignSystem/Resources/ImageAssets.xcassets/GNB/tabHome.imageset/Contents.json diff --git a/Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/GNB/tabHome.imageset/tabHome.svg b/Projects/DesignSystem/Resources/ImageAssets.xcassets/GNB/tabHome.imageset/tabHome.svg similarity index 100% rename from Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/GNB/tabHome.imageset/tabHome.svg rename to Projects/DesignSystem/Resources/ImageAssets.xcassets/GNB/tabHome.imageset/tabHome.svg diff --git a/Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/GNB/tabHomeActive.imageset/Contents.json b/Projects/DesignSystem/Resources/ImageAssets.xcassets/GNB/tabHomeActive.imageset/Contents.json similarity index 100% rename from Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/GNB/tabHomeActive.imageset/Contents.json rename to Projects/DesignSystem/Resources/ImageAssets.xcassets/GNB/tabHomeActive.imageset/Contents.json diff --git a/Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/GNB/tabHomeActive.imageset/tabHomeActive.svg b/Projects/DesignSystem/Resources/ImageAssets.xcassets/GNB/tabHomeActive.imageset/tabHomeActive.svg similarity index 100% rename from Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/GNB/tabHomeActive.imageset/tabHomeActive.svg rename to Projects/DesignSystem/Resources/ImageAssets.xcassets/GNB/tabHomeActive.imageset/tabHomeActive.svg diff --git a/Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/GNB/tabMyPage.imageset/Contents.json b/Projects/DesignSystem/Resources/ImageAssets.xcassets/GNB/tabMyPage.imageset/Contents.json similarity index 100% rename from Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/GNB/tabMyPage.imageset/Contents.json rename to Projects/DesignSystem/Resources/ImageAssets.xcassets/GNB/tabMyPage.imageset/Contents.json diff --git a/Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/GNB/tabMyPage.imageset/tabMyPage.svg b/Projects/DesignSystem/Resources/ImageAssets.xcassets/GNB/tabMyPage.imageset/tabMyPage.svg similarity index 100% rename from Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/GNB/tabMyPage.imageset/tabMyPage.svg rename to Projects/DesignSystem/Resources/ImageAssets.xcassets/GNB/tabMyPage.imageset/tabMyPage.svg diff --git a/Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/GNB/tabMyPageActive.imageset/Contents.json b/Projects/DesignSystem/Resources/ImageAssets.xcassets/GNB/tabMyPageActive.imageset/Contents.json similarity index 100% rename from Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/GNB/tabMyPageActive.imageset/Contents.json rename to Projects/DesignSystem/Resources/ImageAssets.xcassets/GNB/tabMyPageActive.imageset/Contents.json diff --git a/Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/GNB/tabMyPageActive.imageset/tabMyPageActive.svg b/Projects/DesignSystem/Resources/ImageAssets.xcassets/GNB/tabMyPageActive.imageset/tabMyPageActive.svg similarity index 100% rename from Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/GNB/tabMyPageActive.imageset/tabMyPageActive.svg rename to Projects/DesignSystem/Resources/ImageAssets.xcassets/GNB/tabMyPageActive.imageset/tabMyPageActive.svg diff --git a/Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/GNB/tabQuickBattle.imageset/Contents.json b/Projects/DesignSystem/Resources/ImageAssets.xcassets/GNB/tabQuickBattle.imageset/Contents.json similarity index 100% rename from Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/GNB/tabQuickBattle.imageset/Contents.json rename to Projects/DesignSystem/Resources/ImageAssets.xcassets/GNB/tabQuickBattle.imageset/Contents.json diff --git a/Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/GNB/tabQuickBattle.imageset/tabQuickBattle.svg b/Projects/DesignSystem/Resources/ImageAssets.xcassets/GNB/tabQuickBattle.imageset/tabQuickBattle.svg similarity index 100% rename from Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/GNB/tabQuickBattle.imageset/tabQuickBattle.svg rename to Projects/DesignSystem/Resources/ImageAssets.xcassets/GNB/tabQuickBattle.imageset/tabQuickBattle.svg diff --git a/Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/GNB/tabQuickBattleActive.imageset/Contents.json b/Projects/DesignSystem/Resources/ImageAssets.xcassets/GNB/tabQuickBattleActive.imageset/Contents.json similarity index 100% rename from Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/GNB/tabQuickBattleActive.imageset/Contents.json rename to Projects/DesignSystem/Resources/ImageAssets.xcassets/GNB/tabQuickBattleActive.imageset/Contents.json diff --git a/Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/GNB/tabQuickBattleActive.imageset/tabQuickBattleActive.svg b/Projects/DesignSystem/Resources/ImageAssets.xcassets/GNB/tabQuickBattleActive.imageset/tabQuickBattleActive.svg similarity index 100% rename from Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/GNB/tabQuickBattleActive.imageset/tabQuickBattleActive.svg rename to Projects/DesignSystem/Resources/ImageAssets.xcassets/GNB/tabQuickBattleActive.imageset/tabQuickBattleActive.svg diff --git a/Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/Home/Contents.json b/Projects/DesignSystem/Resources/ImageAssets.xcassets/Home/Contents.json similarity index 100% rename from Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/Home/Contents.json rename to Projects/DesignSystem/Resources/ImageAssets.xcassets/Home/Contents.json diff --git a/Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/Home/appLogo.imageset/Contents.json b/Projects/DesignSystem/Resources/ImageAssets.xcassets/Home/appLogo.imageset/Contents.json similarity index 100% rename from Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/Home/appLogo.imageset/Contents.json rename to Projects/DesignSystem/Resources/ImageAssets.xcassets/Home/appLogo.imageset/Contents.json diff --git a/Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/Home/appLogo.imageset/appLogo.svg b/Projects/DesignSystem/Resources/ImageAssets.xcassets/Home/appLogo.imageset/appLogo.svg similarity index 100% rename from Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/Home/appLogo.imageset/appLogo.svg rename to Projects/DesignSystem/Resources/ImageAssets.xcassets/Home/appLogo.imageset/appLogo.svg diff --git a/Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/Home/bell.imageset/Contents.json b/Projects/DesignSystem/Resources/ImageAssets.xcassets/Home/bell.imageset/Contents.json similarity index 100% rename from Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/Home/bell.imageset/Contents.json rename to Projects/DesignSystem/Resources/ImageAssets.xcassets/Home/bell.imageset/Contents.json diff --git a/Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/Home/bell.imageset/bell.svg b/Projects/DesignSystem/Resources/ImageAssets.xcassets/Home/bell.imageset/bell.svg similarity index 100% rename from Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/Home/bell.imageset/bell.svg rename to Projects/DesignSystem/Resources/ImageAssets.xcassets/Home/bell.imageset/bell.svg diff --git a/Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/OnBoarding/Contents.json b/Projects/DesignSystem/Resources/ImageAssets.xcassets/OnBoarding/Contents.json similarity index 100% rename from Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/OnBoarding/Contents.json rename to Projects/DesignSystem/Resources/ImageAssets.xcassets/OnBoarding/Contents.json diff --git a/Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/OnBoarding/onboarding1.imageset/Contents.json b/Projects/DesignSystem/Resources/ImageAssets.xcassets/OnBoarding/onboarding1.imageset/Contents.json similarity index 100% rename from Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/OnBoarding/onboarding1.imageset/Contents.json rename to Projects/DesignSystem/Resources/ImageAssets.xcassets/OnBoarding/onboarding1.imageset/Contents.json diff --git "a/Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/OnBoarding/onboarding1.imageset/\354\230\250\353\263\264\353\224\251 1.svg" "b/Projects/DesignSystem/Resources/ImageAssets.xcassets/OnBoarding/onboarding1.imageset/\354\230\250\353\263\264\353\224\251 1.svg" similarity index 100% rename from "Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/OnBoarding/onboarding1.imageset/\354\230\250\353\263\264\353\224\251 1.svg" rename to "Projects/DesignSystem/Resources/ImageAssets.xcassets/OnBoarding/onboarding1.imageset/\354\230\250\353\263\264\353\224\251 1.svg" diff --git a/Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/OnBoarding/onboarding2.imageset/Contents.json b/Projects/DesignSystem/Resources/ImageAssets.xcassets/OnBoarding/onboarding2.imageset/Contents.json similarity index 100% rename from Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/OnBoarding/onboarding2.imageset/Contents.json rename to Projects/DesignSystem/Resources/ImageAssets.xcassets/OnBoarding/onboarding2.imageset/Contents.json diff --git "a/Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/OnBoarding/onboarding2.imageset/\354\230\250\353\263\264\353\224\251 2.svg" "b/Projects/DesignSystem/Resources/ImageAssets.xcassets/OnBoarding/onboarding2.imageset/\354\230\250\353\263\264\353\224\251 2.svg" similarity index 100% rename from "Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/OnBoarding/onboarding2.imageset/\354\230\250\353\263\264\353\224\251 2.svg" rename to "Projects/DesignSystem/Resources/ImageAssets.xcassets/OnBoarding/onboarding2.imageset/\354\230\250\353\263\264\353\224\251 2.svg" diff --git a/Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/OnBoarding/onboarding3.imageset/Contents.json b/Projects/DesignSystem/Resources/ImageAssets.xcassets/OnBoarding/onboarding3.imageset/Contents.json similarity index 100% rename from Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/OnBoarding/onboarding3.imageset/Contents.json rename to Projects/DesignSystem/Resources/ImageAssets.xcassets/OnBoarding/onboarding3.imageset/Contents.json diff --git "a/Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/OnBoarding/onboarding3.imageset/\354\230\250\353\263\264\353\224\251 3.svg" "b/Projects/DesignSystem/Resources/ImageAssets.xcassets/OnBoarding/onboarding3.imageset/\354\230\250\353\263\264\353\224\251 3.svg" similarity index 100% rename from "Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/OnBoarding/onboarding3.imageset/\354\230\250\353\263\264\353\224\251 3.svg" rename to "Projects/DesignSystem/Resources/ImageAssets.xcassets/OnBoarding/onboarding3.imageset/\354\230\250\353\263\264\353\224\251 3.svg" diff --git a/Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/OnBoarding/onboarding4.imageset/Contents.json b/Projects/DesignSystem/Resources/ImageAssets.xcassets/OnBoarding/onboarding4.imageset/Contents.json similarity index 100% rename from Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/OnBoarding/onboarding4.imageset/Contents.json rename to Projects/DesignSystem/Resources/ImageAssets.xcassets/OnBoarding/onboarding4.imageset/Contents.json diff --git "a/Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/OnBoarding/onboarding4.imageset/\354\230\250\353\263\264\353\224\251 4.svg" "b/Projects/DesignSystem/Resources/ImageAssets.xcassets/OnBoarding/onboarding4.imageset/\354\230\250\353\263\264\353\224\251 4.svg" similarity index 100% rename from "Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/OnBoarding/onboarding4.imageset/\354\230\250\353\263\264\353\224\251 4.svg" rename to "Projects/DesignSystem/Resources/ImageAssets.xcassets/OnBoarding/onboarding4.imageset/\354\230\250\353\263\264\353\224\251 4.svg" diff --git a/Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/Profile/Contents.json b/Projects/DesignSystem/Resources/ImageAssets.xcassets/Profile/Contents.json similarity index 100% rename from Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/Profile/Contents.json rename to Projects/DesignSystem/Resources/ImageAssets.xcassets/Profile/Contents.json diff --git a/Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/Profile/history.imageset/Contents.json b/Projects/DesignSystem/Resources/ImageAssets.xcassets/Profile/history.imageset/Contents.json similarity index 100% rename from Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/Profile/history.imageset/Contents.json rename to Projects/DesignSystem/Resources/ImageAssets.xcassets/Profile/history.imageset/Contents.json diff --git a/Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/Profile/history.imageset/history.svg b/Projects/DesignSystem/Resources/ImageAssets.xcassets/Profile/history.imageset/history.svg similarity index 100% rename from Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/Profile/history.imageset/history.svg rename to Projects/DesignSystem/Resources/ImageAssets.xcassets/Profile/history.imageset/history.svg diff --git a/Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/Profile/lock.imageset/Contents.json b/Projects/DesignSystem/Resources/ImageAssets.xcassets/Profile/lock.imageset/Contents.json similarity index 100% rename from Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/Profile/lock.imageset/Contents.json rename to Projects/DesignSystem/Resources/ImageAssets.xcassets/Profile/lock.imageset/Contents.json diff --git "a/Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/Profile/lock.imageset/\354\240\234\353\252\251-\354\227\206\354\235\214-2 1.png" "b/Projects/DesignSystem/Resources/ImageAssets.xcassets/Profile/lock.imageset/\354\240\234\353\252\251-\354\227\206\354\235\214-2 1.png" similarity index 100% rename from "Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/Profile/lock.imageset/\354\240\234\353\252\251-\354\227\206\354\235\214-2 1.png" rename to "Projects/DesignSystem/Resources/ImageAssets.xcassets/Profile/lock.imageset/\354\240\234\353\252\251-\354\227\206\354\235\214-2 1.png" diff --git a/Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/Profile/vs.imageset/Contents.json b/Projects/DesignSystem/Resources/ImageAssets.xcassets/Profile/vs.imageset/Contents.json similarity index 100% rename from Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/Profile/vs.imageset/Contents.json rename to Projects/DesignSystem/Resources/ImageAssets.xcassets/Profile/vs.imageset/Contents.json diff --git a/Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/Profile/vs.imageset/versus_home.svg b/Projects/DesignSystem/Resources/ImageAssets.xcassets/Profile/vs.imageset/versus_home.svg similarity index 100% rename from Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/Profile/vs.imageset/versus_home.svg rename to Projects/DesignSystem/Resources/ImageAssets.xcassets/Profile/vs.imageset/versus_home.svg diff --git a/Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/logo/Contents.json b/Projects/DesignSystem/Resources/ImageAssets.xcassets/logo/Contents.json similarity index 100% rename from Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/logo/Contents.json rename to Projects/DesignSystem/Resources/ImageAssets.xcassets/logo/Contents.json diff --git a/Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/logo/loginLogo.imageset/Contents.json b/Projects/DesignSystem/Resources/ImageAssets.xcassets/logo/loginLogo.imageset/Contents.json similarity index 100% rename from Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/logo/loginLogo.imageset/Contents.json rename to Projects/DesignSystem/Resources/ImageAssets.xcassets/logo/loginLogo.imageset/Contents.json diff --git "a/Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/logo/loginLogo.imageset/\355\224\275\354\274\200 \353\241\234\352\263\240.svg" "b/Projects/DesignSystem/Resources/ImageAssets.xcassets/logo/loginLogo.imageset/\355\224\275\354\274\200 \353\241\234\352\263\240.svg" similarity index 100% rename from "Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/logo/loginLogo.imageset/\355\224\275\354\274\200 \353\241\234\352\263\240.svg" rename to "Projects/DesignSystem/Resources/ImageAssets.xcassets/logo/loginLogo.imageset/\355\224\275\354\274\200 \353\241\234\352\263\240.svg" diff --git a/Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/logo/noDataLogo.imageset/Contents.json b/Projects/DesignSystem/Resources/ImageAssets.xcassets/logo/noDataLogo.imageset/Contents.json similarity index 100% rename from Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/logo/noDataLogo.imageset/Contents.json rename to Projects/DesignSystem/Resources/ImageAssets.xcassets/logo/noDataLogo.imageset/Contents.json diff --git a/Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/logo/noDataLogo.imageset/pickeLogo2.svg b/Projects/DesignSystem/Resources/ImageAssets.xcassets/logo/noDataLogo.imageset/pickeLogo2.svg similarity index 100% rename from Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/logo/noDataLogo.imageset/pickeLogo2.svg rename to Projects/DesignSystem/Resources/ImageAssets.xcassets/logo/noDataLogo.imageset/pickeLogo2.svg diff --git a/Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/logo/splashLogo.imageset/Contents.json b/Projects/DesignSystem/Resources/ImageAssets.xcassets/logo/splashLogo.imageset/Contents.json similarity index 100% rename from Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/logo/splashLogo.imageset/Contents.json rename to Projects/DesignSystem/Resources/ImageAssets.xcassets/logo/splashLogo.imageset/Contents.json diff --git a/Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/logo/splashLogo.imageset/splashLogo.png b/Projects/DesignSystem/Resources/ImageAssets.xcassets/logo/splashLogo.imageset/splashLogo.png similarity index 100% rename from Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/logo/splashLogo.imageset/splashLogo.png rename to Projects/DesignSystem/Resources/ImageAssets.xcassets/logo/splashLogo.imageset/splashLogo.png diff --git a/Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/socialLogin/Contents.json b/Projects/DesignSystem/Resources/ImageAssets.xcassets/socialLogin/Contents.json similarity index 100% rename from Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/socialLogin/Contents.json rename to Projects/DesignSystem/Resources/ImageAssets.xcassets/socialLogin/Contents.json diff --git a/Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/socialLogin/google.imageset/Contents.json b/Projects/DesignSystem/Resources/ImageAssets.xcassets/socialLogin/google.imageset/Contents.json similarity index 100% rename from Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/socialLogin/google.imageset/Contents.json rename to Projects/DesignSystem/Resources/ImageAssets.xcassets/socialLogin/google.imageset/Contents.json diff --git a/Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/socialLogin/google.imageset/google.svg b/Projects/DesignSystem/Resources/ImageAssets.xcassets/socialLogin/google.imageset/google.svg similarity index 100% rename from Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/socialLogin/google.imageset/google.svg rename to Projects/DesignSystem/Resources/ImageAssets.xcassets/socialLogin/google.imageset/google.svg diff --git a/Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/socialLogin/kakao.imageset/Contents.json b/Projects/DesignSystem/Resources/ImageAssets.xcassets/socialLogin/kakao.imageset/Contents.json similarity index 100% rename from Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/socialLogin/kakao.imageset/Contents.json rename to Projects/DesignSystem/Resources/ImageAssets.xcassets/socialLogin/kakao.imageset/Contents.json diff --git a/Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/socialLogin/kakao.imageset/kakao.svg b/Projects/DesignSystem/Resources/ImageAssets.xcassets/socialLogin/kakao.imageset/kakao.svg similarity index 100% rename from Projects/Shared/PickeDesignKit/Resources/ImageAssets.xcassets/socialLogin/kakao.imageset/kakao.svg rename to Projects/DesignSystem/Resources/ImageAssets.xcassets/socialLogin/kakao.imageset/kakao.svg diff --git a/Projects/Shared/PickeDesignKit/Sources/Extension/CGFloat/CGFloat+Component+.swift b/Projects/DesignSystem/Sources/Extension/CGFloat/CGFloat+Component+.swift similarity index 100% rename from Projects/Shared/PickeDesignKit/Sources/Extension/CGFloat/CGFloat+Component+.swift rename to Projects/DesignSystem/Sources/Extension/CGFloat/CGFloat+Component+.swift diff --git a/Projects/Shared/PickeDesignKit/Sources/Extension/CGFloat/CGFloat+Radius+.swift b/Projects/DesignSystem/Sources/Extension/CGFloat/CGFloat+Radius+.swift similarity index 100% rename from Projects/Shared/PickeDesignKit/Sources/Extension/CGFloat/CGFloat+Radius+.swift rename to Projects/DesignSystem/Sources/Extension/CGFloat/CGFloat+Radius+.swift diff --git a/Projects/Shared/PickeDesignKit/Sources/Extension/CGFloat/CGFloat+Spacing+.swift b/Projects/DesignSystem/Sources/Extension/CGFloat/CGFloat+Spacing+.swift similarity index 100% rename from Projects/Shared/PickeDesignKit/Sources/Extension/CGFloat/CGFloat+Spacing+.swift rename to Projects/DesignSystem/Sources/Extension/CGFloat/CGFloat+Spacing+.swift diff --git a/Projects/Shared/PickeDesignKit/Sources/Extension/Color/Color+.swift b/Projects/DesignSystem/Sources/Extension/Color/Color+.swift similarity index 100% rename from Projects/Shared/PickeDesignKit/Sources/Extension/Color/Color+.swift rename to Projects/DesignSystem/Sources/Extension/Color/Color+.swift diff --git a/Projects/Shared/PickeDesignKit/Sources/Extension/Color/UIColor+.swift b/Projects/DesignSystem/Sources/Extension/Color/UIColor+.swift similarity index 100% rename from Projects/Shared/PickeDesignKit/Sources/Extension/Color/UIColor+.swift rename to Projects/DesignSystem/Sources/Extension/Color/UIColor+.swift diff --git a/Projects/Shared/PickeDesignKit/Sources/Extension/Image/Image+.swift b/Projects/DesignSystem/Sources/Extension/Image/Image+.swift similarity index 100% rename from Projects/Shared/PickeDesignKit/Sources/Extension/Image/Image+.swift rename to Projects/DesignSystem/Sources/Extension/Image/Image+.swift diff --git a/Projects/Shared/PickeDesignKit/Sources/Extension/Image/UIImage+.swift b/Projects/DesignSystem/Sources/Extension/Image/UIImage+.swift similarity index 100% rename from Projects/Shared/PickeDesignKit/Sources/Extension/Image/UIImage+.swift rename to Projects/DesignSystem/Sources/Extension/Image/UIImage+.swift diff --git a/Projects/Shared/PickeDesignKit/Sources/Extension/ScreenSize/UIScreen+.swift b/Projects/DesignSystem/Sources/Extension/ScreenSize/UIScreen+.swift similarity index 100% rename from Projects/Shared/PickeDesignKit/Sources/Extension/ScreenSize/UIScreen+.swift rename to Projects/DesignSystem/Sources/Extension/ScreenSize/UIScreen+.swift diff --git a/Projects/Shared/PickeDesignKit/Sources/Extension/View/View+Background.swift b/Projects/DesignSystem/Sources/Extension/View/View+Background.swift similarity index 100% rename from Projects/Shared/PickeDesignKit/Sources/Extension/View/View+Background.swift rename to Projects/DesignSystem/Sources/Extension/View/View+Background.swift diff --git a/Projects/Shared/PickeDesignKit/Sources/Extension/View/View+Border.swift b/Projects/DesignSystem/Sources/Extension/View/View+Border.swift similarity index 100% rename from Projects/Shared/PickeDesignKit/Sources/Extension/View/View+Border.swift rename to Projects/DesignSystem/Sources/Extension/View/View+Border.swift diff --git a/Projects/Shared/PickeDesignKit/Sources/Token/Color/ShapeStyle+.swift b/Projects/DesignSystem/Sources/Token/Color/ShapeStyle+.swift similarity index 100% rename from Projects/Shared/PickeDesignKit/Sources/Token/Color/ShapeStyle+.swift rename to Projects/DesignSystem/Sources/Token/Color/ShapeStyle+.swift diff --git a/Projects/Shared/PickeDesignKit/Sources/Token/Image/ImageAsset.swift b/Projects/DesignSystem/Sources/Token/Image/ImageAsset.swift similarity index 100% rename from Projects/Shared/PickeDesignKit/Sources/Token/Image/ImageAsset.swift rename to Projects/DesignSystem/Sources/Token/Image/ImageAsset.swift diff --git a/Projects/Shared/PickeDesignKit/Sources/Token/Typography/CustomSize.swift b/Projects/DesignSystem/Sources/Token/Typography/CustomSize.swift similarity index 100% rename from Projects/Shared/PickeDesignKit/Sources/Token/Typography/CustomSize.swift rename to Projects/DesignSystem/Sources/Token/Typography/CustomSize.swift diff --git a/Projects/Shared/PickeDesignKit/Sources/Token/Typography/PretendardFont.swift b/Projects/DesignSystem/Sources/Token/Typography/PretendardFont.swift similarity index 74% rename from Projects/Shared/PickeDesignKit/Sources/Token/Typography/PretendardFont.swift rename to Projects/DesignSystem/Sources/Token/Typography/PretendardFont.swift index 58b8f2aa..5a77db45 100644 --- a/Projects/Shared/PickeDesignKit/Sources/Token/Typography/PretendardFont.swift +++ b/Projects/DesignSystem/Sources/Token/Typography/PretendardFont.swift @@ -12,7 +12,13 @@ public struct PretendardFont: ViewModifier { public let size: CGFloat public func body(content: Content) -> some View { - return content.font(.custom("PretendardVariable-\(family)", fixedSize: size)) + content + .font( + .custom( + "PretendardVariable-\(family)", + fixedSize: size + ) + ) } } @@ -21,11 +27,21 @@ public extension View { family: PretendardFontFamily, size: CGFloat ) -> some View { - return modifier(PretendardFont(family: family, size: size)) + modifier( + PretendardFont( + family: family, + size: size + ) + ) } func pretendardFont(_ textStyle: CustomSizeFont) -> some View { - return modifier(PretendardFont(family: textStyle.fontFamily, size: textStyle.size)) + modifier( + PretendardFont( + family: textStyle.fontFamily, + size: textStyle.size + ) + ) } } diff --git a/Projects/Shared/PickeDesignKit/Sources/Token/Typography/PretendardFontFamily.swift b/Projects/DesignSystem/Sources/Token/Typography/PretendardFontFamily.swift similarity index 100% rename from Projects/Shared/PickeDesignKit/Sources/Token/Typography/PretendardFontFamily.swift rename to Projects/DesignSystem/Sources/Token/Typography/PretendardFontFamily.swift diff --git a/Projects/Shared/PickeDesignKit/Sources/UI/ActionSheet/BottomActionSheet.swift b/Projects/DesignSystem/Sources/UI/ActionSheet/BottomActionSheet.swift similarity index 100% rename from Projects/Shared/PickeDesignKit/Sources/UI/ActionSheet/BottomActionSheet.swift rename to Projects/DesignSystem/Sources/UI/ActionSheet/BottomActionSheet.swift diff --git a/Projects/Shared/PickeDesignKit/Sources/UI/ActionSheet/PickeActionPill.swift b/Projects/DesignSystem/Sources/UI/ActionSheet/PickeActionPill.swift similarity index 100% rename from Projects/Shared/PickeDesignKit/Sources/UI/ActionSheet/PickeActionPill.swift rename to Projects/DesignSystem/Sources/UI/ActionSheet/PickeActionPill.swift diff --git a/Projects/Shared/PickeDesignKit/Sources/UI/Alert/CustomPopup/CustomAlertModifiers.swift b/Projects/DesignSystem/Sources/UI/Alert/CustomPopup/CustomAlertModifiers.swift similarity index 100% rename from Projects/Shared/PickeDesignKit/Sources/UI/Alert/CustomPopup/CustomAlertModifiers.swift rename to Projects/DesignSystem/Sources/UI/Alert/CustomPopup/CustomAlertModifiers.swift diff --git a/Projects/Shared/PickeDesignKit/Sources/UI/Alert/CustomPopup/CustomAlertState.swift b/Projects/DesignSystem/Sources/UI/Alert/CustomPopup/CustomAlertState.swift similarity index 100% rename from Projects/Shared/PickeDesignKit/Sources/UI/Alert/CustomPopup/CustomAlertState.swift rename to Projects/DesignSystem/Sources/UI/Alert/CustomPopup/CustomAlertState.swift diff --git a/Projects/DesignSystem/Sources/UI/Alert/CustomPopup/CustomConfirmationPopupView+Components.swift b/Projects/DesignSystem/Sources/UI/Alert/CustomPopup/CustomConfirmationPopupView+Components.swift new file mode 100644 index 00000000..134f66b3 --- /dev/null +++ b/Projects/DesignSystem/Sources/UI/Alert/CustomPopup/CustomConfirmationPopupView+Components.swift @@ -0,0 +1,99 @@ +// +// CustomConfirmationPopupView+Components.swift +// DesignSystem +// +// 팝업 공통 헬퍼 뷰 + +import SwiftUI + +extension CustomConfirmationPopup { + /// 베이지 카드 + primary 보더 컨테이너 (width 313, top padding 20). + func pickeAlertCard( + opacity: Double = 1, + @ViewBuilder content: () -> some View + ) -> some View { + content() + .padding(.top, 20) + .frame(maxWidth: 313) + .pickeCard( + .beige500, + border: .primary500, + lineWidth: 1.5 + ) + .opacity(opacity) + .clipShape(RoundedRectangle(cornerRadius: .radiusDefault)) + .onTapGesture {} + } + + /// 본문 텍스트 (14/Medium, primary800, 가운데, 좌우 20). + func pickeBodyText(_ text: String) -> some View { + Text(text) + .pretendardFont(.labelMedium) + .foregroundStyle(.primary800) + .lineSpacing(14 * 0.4) + .multilineTextAlignment(.center) + .frame(maxWidth: .infinity) + .padding(.horizontal, 20) + } + + /// 좌(밝은)·우(primary) 2버튼 행. 좌/우 의미는 호출부가 결정. + @ViewBuilder + func pickeTwoButtonRow( + leftTitle: String, + leftAction: @escaping () -> Void, + rightTitle: String, + rightAction: @escaping () -> Void + ) -> some View { + if dynamicTypeSize.isAccessibilitySize { + VStack(spacing: 8) { + pickeSecondaryButton(title: leftTitle, action: leftAction) + pickePrimaryButton(title: rightTitle, action: rightAction) + } + .padding(.horizontal, 16) + .padding(.bottom, 16) + } else { + HStack(spacing: 8) { + pickeSecondaryButton(title: leftTitle, action: leftAction) + pickePrimaryButton(title: rightTitle, action: rightAction) + } + .padding(.horizontal, 16) + .padding(.bottom, 16) + } + } + + @ViewBuilder + private func pickeSecondaryButton( + title: String, + action: @escaping () -> Void + ) -> some View { + Button(action: action) { + Text(title) + .pretendardFont(.labelMedium) + .foregroundStyle(.primary800) + .lineLimit(1) + .minimumScaleFactor(0.85) + .frame(maxWidth: .infinity) + .frame(minHeight: 48) + .roundedBackground(.secondary50, radius: 8) + } + .buttonStyle(.plain) + } + + @ViewBuilder + private func pickePrimaryButton( + title: String, + action: @escaping () -> Void + ) -> some View { + Button(action: action) { + Text(title) + .pretendardFont(.labelMedium) + .foregroundStyle(.secondary50) + .lineLimit(1) + .minimumScaleFactor(0.85) + .frame(maxWidth: .infinity) + .frame(minHeight: 48) + .roundedBackground(.primary500, radius: 8) + } + .buttonStyle(.plain) + } +} diff --git a/Projects/DesignSystem/Sources/UI/Alert/CustomPopup/CustomConfirmationPopupView+Content.swift b/Projects/DesignSystem/Sources/UI/Alert/CustomPopup/CustomConfirmationPopupView+Content.swift new file mode 100644 index 00000000..f42ecf64 --- /dev/null +++ b/Projects/DesignSystem/Sources/UI/Alert/CustomPopup/CustomConfirmationPopupView+Content.swift @@ -0,0 +1,277 @@ +// +// CustomConfirmationPopupView+Content.swift +// DesignSystem +// +// 팝업 종류별 컨텐츠 뷰 구성 + +import SwiftUI + +extension CustomConfirmationPopup { + func popupMaxWidth(for containerWidth: CGFloat) -> CGFloat { + max(0, min(containerWidth - popupHorizontalPadding * 2, 360)) + } + + var popupHorizontalPadding: CGFloat { + switch style { + case .confirmation: + return 20 + case .finalVote, .report, .alreadyWatched, .deleteConfirm, .logout, .withdraw, .suggestTopic: + return 0 + } + } + + @ViewBuilder + var popupContent: some View { + switch style { + case .confirmation: + confirmationContent + case .finalVote: + finalVoteContent + case .report: + reportContent + case .alreadyWatched: + alreadyWatchedContent + case .deleteConfirm: + deleteConfirmContent + case .logout, .withdraw: + logoutWithdrawContent + case .suggestTopic: + suggestTopicContent + } + } + + /// 로그아웃/탈퇴 — 공통 팝업 스타일(무료 충전/다시 시청 팝업과 동일). + /// 본문 + 라운드 2버튼(확정=왼쪽 밝은 secondary50 / 취소=오른쪽 primary500). + var logoutWithdrawContent: some View { + pickeAlertCard { + VStack(spacing: 16) { + pickeBodyText(title) + + pickeTwoButtonRow( + leftTitle: confirmTitle, leftAction: onConfirm, + rightTitle: cancelTitle, rightAction: onCancel + ) + } + } + } + + /// 주제 제안 — 타이틀 + 본문 + 뒤로가기(왼쪽 밝은) / 제안하기(오른쪽 primary). + var suggestTopicContent: some View { + pickeAlertCard { + VStack(spacing: 16) { + VStack(spacing: 10) { + Text(title) + .pretendardFont(.headingMedium) + .foregroundStyle(.primary800) + .multilineTextAlignment(.center) + + if !message.isEmpty { + pickeBodyText(message) + } + } + + pickeTwoButtonRow( + leftTitle: cancelTitle, leftAction: onCancel, + rightTitle: confirmTitle, rightAction: onConfirm + ) + } + } + } + + var deleteConfirmContent: some View { + VStack(spacing: 16) { + Text(title) + .pretendardFont(.labelMedium) + .foregroundStyle(.neutral900) + .lineSpacing(14 * 0.4) + .multilineTextAlignment(.center) + .frame(maxWidth: .infinity) + .padding(.horizontal, 20) + + HStack(spacing: 0) { + // 삭제하기 (왼쪽·밝은 버튼) = 확정(삭제) + Button(action: onConfirm) { + Text(confirmTitle) + .pretendardFont(.labelMedium) + .foregroundStyle(.primary500) + .lineSpacing(14 * 0.4) + .frame(maxWidth: .infinity) + .padding(.vertical, 12) + .background(.secondary50, in: Rectangle()) + } + .buttonStyle(.plain) + + // 뒤로가기 (오른쪽·어두운 버튼) = 취소 + Button(action: onCancel) { + Text(cancelTitle) + .pretendardFont(.labelMedium) + .foregroundStyle(.secondary50) + .lineSpacing(14 * 0.4) + .frame(maxWidth: .infinity) + .padding(.vertical, 12) + .background(.primary500, in: Rectangle()) + } + .buttonStyle(.plain) + } + } + .padding(.top, 20) + .frame(maxWidth: 313) + .pickeCard( + .beige500, + border: .primary500, + lineWidth: 1.5 + ) + .opacity(0.9) + .clipShape(RoundedRectangle(cornerRadius: .radiusDefault)) + .onTapGesture {} + } + + @ViewBuilder + var alreadyWatchedContent: some View { + VStack(spacing: 12) { + VStack(spacing: 8) { + Text(title) + .pretendardFont(.headingMedium) + .foregroundStyle(.primary800) + .kerning(-0.4) + .multilineTextAlignment(.center) + .padding(.horizontal, 20) + + if !message.isEmpty { + Text(message) + .pretendardFont(.medium13) + .foregroundStyle(.neutral400) + .multilineTextAlignment(.center) + .padding(.horizontal, 20) + } + } + + HStack(spacing: 0) { + Button(action: onCancel) { + Text(cancelTitle.isEmpty ? "취소" : cancelTitle) + .pretendardFont(.labelMedium) + .foregroundStyle(.primary500) + .frame(maxWidth: .infinity) + .padding(.vertical, 12) + .background(.secondary50, in: Rectangle()) + } + .buttonStyle(.plain) + + Button(action: onConfirm) { + Text(confirmTitle.isEmpty ? "다시" : confirmTitle) + .pretendardFont(.labelMedium) + .foregroundStyle(.secondary50) + .frame(maxWidth: .infinity) + .padding(.vertical, 12) + .background(.primary500, in: Rectangle()) + } + .buttonStyle(.plain) + } + } + .padding(.top, 24) + .frame(maxWidth: 343) + .pickeCard( + .beige500, + border: .primary500, + lineWidth: 1.5, + radius: 6 + ) + .onTapGesture {} + } + + var confirmationContent: some View { + VStack(spacing: 24) { + VStack(spacing: 8) { + Text(title) + .pretendardFont(.bold18) + .foregroundStyle(.neutral800) + .multilineTextAlignment(.center) + + if !message.isEmpty { + Text(message) + .pretendardFont(.regular13) + .foregroundStyle(.neutral400) + .lineSpacing(13 * 0.4) + .multilineTextAlignment(.center) + } + } + + HStack(spacing: 8) { + if !cancelTitle.isEmpty { + Button(action: onCancel) { + Text(cancelTitle) + .pretendardFont(.labelMedium) + .foregroundStyle(.neutral500) + .frame(maxWidth: .infinity) + .frame(height: 48) + .roundedBackground(.beige600) + } + .buttonStyle(.plain) + } + + Button(action: onConfirm) { + Text(confirmTitle) + .pretendardFont(.labelMedium) + .foregroundStyle(.beige50) + .frame(maxWidth: .infinity) + .frame(height: 48) + .background( + isDestructive ? Color.errorDefault : Color.primary500, + in: RoundedRectangle(cornerRadius: .radiusDefault) + ) + } + .buttonStyle(.plain) + } + } + .padding(.vertical, 28) + .padding(.horizontal, 20) + .frame(maxWidth: 320) + .pickeCard(ComponentToken.Popup.background, border: ComponentToken.Popup.border) + .onTapGesture {} + } + + var finalVoteContent: some View { + VStack(spacing: 16) { + Text(title) + .pretendardFont(.labelMedium) + .foregroundStyle(.neutral900) + .lineSpacing(14 * 0.4) + .multilineTextAlignment(.center) + .frame(maxWidth: .infinity) + .padding(.horizontal, 20) + + HStack(spacing: 0) { + Button(action: onCancel) { + Text(cancelTitle) + .pretendardFont(.labelMedium) + .foregroundStyle(.primary500) + .lineSpacing(14 * 0.4) + .frame(maxWidth: .infinity) + .padding(.vertical, 12) + .background(.secondary50, in: Rectangle()) + } + .buttonStyle(.plain) + + Button(action: onConfirm) { + Text(confirmTitle) + .pretendardFont(.labelMedium) + .foregroundStyle(.secondary50) + .lineSpacing(14 * 0.4) + .frame(maxWidth: .infinity) + .padding(.vertical, 12) + .background(.primary500, in: Rectangle()) + } + .buttonStyle(.plain) + } + } + .padding(.top, 20) + .frame(maxWidth: 313) + .pickeCard( + .beige500, + border: .primary500, + lineWidth: 1.5 + ) + .opacity(0.9) + .onTapGesture {} + } +} diff --git a/Projects/DesignSystem/Sources/UI/Alert/CustomPopup/CustomConfirmationPopupView+Report.swift b/Projects/DesignSystem/Sources/UI/Alert/CustomPopup/CustomConfirmationPopupView+Report.swift new file mode 100644 index 00000000..6451e674 --- /dev/null +++ b/Projects/DesignSystem/Sources/UI/Alert/CustomPopup/CustomConfirmationPopupView+Report.swift @@ -0,0 +1,129 @@ +// +// CustomConfirmationPopupView+Report.swift +// DesignSystem +// +// 신고 팝업 전용 컨텐츠 + +import SwiftUI + +extension CustomConfirmationPopup { + @ViewBuilder + var reportContent: some View { + VStack(spacing: 16) { + reportHeader + reasonGrid + reportButtons + } + .padding(.top, 20) + .frame(maxWidth: 343) + .roundedBackground(.beige500, radius: 6) + .clipShape(RoundedRectangle(cornerRadius: 6)) + .roundedBorder( + .primary500, + lineWidth: 1.5, + radius: 6 + ) + .onTapGesture {} + } + + @ViewBuilder + private var reportHeader: some View { + Text("신고사유") + .pretendardFont(.headingMedium) + .foregroundStyle(.primary800) + .frame(maxWidth: .infinity, alignment: .leading) + .padding(.horizontal, 20) + } + + @ViewBuilder + private var reasonGrid: some View { + HStack(alignment: .top, spacing: 0) { + reasonColumn(ReportReason.leftColumn) + reasonColumn(ReportReason.rightColumn, fillSpacer: true) + } + .padding(.horizontal, 20) + .padding(.vertical, 12) + .frame(height: 116) + } + + @ViewBuilder + private func reasonColumn( + _ reasons: [ReportReason], + fillSpacer: Bool = false + ) -> some View { + VStack(alignment: .leading, spacing: 16) { + ForEach(reasons) { reason in + reasonRow(reason) + } + if fillSpacer { + Spacer(minLength: 0) + } + } + .frame(maxWidth: .infinity, alignment: .leading) + } + + @ViewBuilder + private func reasonRow(_ reason: ReportReason) -> some View { + Button { + selectedReason = reason + } label: { + HStack(spacing: 6) { + reasonRadio(isSelected: selectedReason == reason) + Text(reason.title) + .pretendardFont(.labelMedium) + .foregroundStyle(.neutral900) + } + } + .buttonStyle(.plain) + } + + @ViewBuilder + private func reasonRadio(isSelected: Bool) -> some View { + ZStack { + Circle() + .stroke(.gray200, lineWidth: 3) + .frame(width: 20, height: 20) + if isSelected { + Circle() + .fill(.primary500) + .frame(width: 10, height: 10) + } + } + } + + @ViewBuilder + private var reportButtons: some View { + HStack(spacing: 10) { + reportSubmitButton + reportCancelButton + } + } + + @ViewBuilder + private var reportSubmitButton: some View { + Button(action: onConfirm) { + Text(confirmTitle.isEmpty ? "신고하기" : confirmTitle) + .pretendardFont(.labelMedium) + .foregroundStyle(.primary800) + .frame(maxWidth: .infinity) + .padding(.vertical, 12) + .background(.secondary50, in: Rectangle()) + } + .buttonStyle(.plain) + .disabled(selectedReason == nil) + .opacity(selectedReason == nil ? 0.5 : 1) + } + + @ViewBuilder + private var reportCancelButton: some View { + Button(action: onCancel) { + Text(cancelTitle.isEmpty ? "뒤로가기" : cancelTitle) + .pretendardFont(.labelMedium) + .foregroundStyle(.secondary50) + .frame(maxWidth: .infinity) + .padding(.vertical, 12) + .background(.primary500, in: Rectangle()) + } + .buttonStyle(.plain) + } +} diff --git a/Projects/DesignSystem/Sources/UI/Alert/CustomPopup/CustomConfirmationPopupView.swift b/Projects/DesignSystem/Sources/UI/Alert/CustomPopup/CustomConfirmationPopupView.swift new file mode 100644 index 00000000..fc555045 --- /dev/null +++ b/Projects/DesignSystem/Sources/UI/Alert/CustomPopup/CustomConfirmationPopupView.swift @@ -0,0 +1,65 @@ +// +// CustomConfirmationPopupView.swift +// DesignSystem +// + +import SwiftUI + +struct CustomConfirmationPopup: View { + @Environment(\.dynamicTypeSize) var dynamicTypeSize + + let title: String + let message: String + let confirmTitle: String + let cancelTitle: String + let isDestructive: Bool + let style: CustomAlertStyle + let onConfirm: () -> Void + let onCancel: () -> Void + + @State private var isContentVisible = false + @State var selectedReason: ReportReason? + + init( + title: String, + message: String, + confirmTitle: String, + cancelTitle: String, + isDestructive: Bool, + style: CustomAlertStyle, + onConfirm: @escaping () -> Void, + onCancel: @escaping () -> Void + ) { + self.title = title + self.message = message + self.confirmTitle = confirmTitle + self.cancelTitle = cancelTitle + self.isDestructive = isDestructive + self.style = style + self.onConfirm = onConfirm + self.onCancel = onCancel + } + + var body: some View { + GeometryReader { proxy in + ZStack { + Color.black + .opacity(isContentVisible ? 0.6 : 0) + .ignoresSafeArea() + .onTapGesture(perform: onCancel) + + popupContent + .frame(maxWidth: popupMaxWidth(for: proxy.size.width)) + .padding(.horizontal, popupHorizontalPadding) + .offset(y: isContentVisible ? 0 : 120) + .opacity(isContentVisible ? 1 : 0) + .accessibilityAddTraits(.isModal) + } + } + .onAppear { + withAnimation(.easeInOut(duration: 0.3)) { + isContentVisible = true + } + } + } +} diff --git a/Projects/DesignSystem/Sources/UI/Alert/CustomPopup/ReportReason.swift b/Projects/DesignSystem/Sources/UI/Alert/CustomPopup/ReportReason.swift new file mode 100644 index 00000000..66e65903 --- /dev/null +++ b/Projects/DesignSystem/Sources/UI/Alert/CustomPopup/ReportReason.swift @@ -0,0 +1,30 @@ +// +// ReportReason.swift +// DesignSystem +// +// 신고 사유 enum + +import Foundation + +public enum ReportReason: String, CaseIterable, Identifiable, Equatable { + case commercial + case repeat_ + case explicit + case insult + case other + + public var id: String { rawValue } + + public var title: String { + switch self { + case .commercial: "영리목적/홍보성" + case .repeat_: "같은 내용 반복 게시" + case .explicit: "음란성/선정성" + case .insult: "욕설/인신공격" + case .other: "기타" + } + } + + static let leftColumn: [ReportReason] = [.commercial, .explicit, .other] + static let rightColumn: [ReportReason] = [.repeat_, .insult] +} diff --git a/Projects/Shared/PickeDesignKit/Sources/UI/AudioPlayer/AudioEqualizerView.swift b/Projects/DesignSystem/Sources/UI/AudioPlayer/AudioEqualizerView.swift similarity index 100% rename from Projects/Shared/PickeDesignKit/Sources/UI/AudioPlayer/AudioEqualizerView.swift rename to Projects/DesignSystem/Sources/UI/AudioPlayer/AudioEqualizerView.swift diff --git a/Projects/Shared/PickeDesignKit/Sources/UI/AudioPlayer/AudioPlayerControlView.swift b/Projects/DesignSystem/Sources/UI/AudioPlayer/AudioPlayerControlView.swift similarity index 100% rename from Projects/Shared/PickeDesignKit/Sources/UI/AudioPlayer/AudioPlayerControlView.swift rename to Projects/DesignSystem/Sources/UI/AudioPlayer/AudioPlayerControlView.swift diff --git a/Projects/Shared/PickeDesignKit/Sources/UI/Avatar/PickeAvatar.swift b/Projects/DesignSystem/Sources/UI/Avatar/PickeAvatar.swift similarity index 100% rename from Projects/Shared/PickeDesignKit/Sources/UI/Avatar/PickeAvatar.swift rename to Projects/DesignSystem/Sources/UI/Avatar/PickeAvatar.swift diff --git a/Projects/Shared/PickeDesignKit/Sources/UI/Avatar/PickeAvatarView.swift b/Projects/DesignSystem/Sources/UI/Avatar/PickeAvatarView.swift similarity index 100% rename from Projects/Shared/PickeDesignKit/Sources/UI/Avatar/PickeAvatarView.swift rename to Projects/DesignSystem/Sources/UI/Avatar/PickeAvatarView.swift diff --git a/Projects/Shared/PickeDesignKit/Sources/UI/Badge/PickeBadge.swift b/Projects/DesignSystem/Sources/UI/Badge/PickeBadge.swift similarity index 100% rename from Projects/Shared/PickeDesignKit/Sources/UI/Badge/PickeBadge.swift rename to Projects/DesignSystem/Sources/UI/Badge/PickeBadge.swift diff --git a/Projects/Shared/PickeDesignKit/Sources/UI/Button/CTAButtonStyle.swift b/Projects/DesignSystem/Sources/UI/Button/CTAButtonStyle.swift similarity index 100% rename from Projects/Shared/PickeDesignKit/Sources/UI/Button/CTAButtonStyle.swift rename to Projects/DesignSystem/Sources/UI/Button/CTAButtonStyle.swift diff --git a/Projects/Shared/PickeDesignKit/Sources/UI/Button/CTAButtonStyleModifier.swift b/Projects/DesignSystem/Sources/UI/Button/CTAButtonStyleModifier.swift similarity index 100% rename from Projects/Shared/PickeDesignKit/Sources/UI/Button/CTAButtonStyleModifier.swift rename to Projects/DesignSystem/Sources/UI/Button/CTAButtonStyleModifier.swift diff --git a/Projects/Shared/PickeDesignKit/Sources/UI/Card/PickeListRowCard.swift b/Projects/DesignSystem/Sources/UI/Card/PickeListRowCard.swift similarity index 100% rename from Projects/Shared/PickeDesignKit/Sources/UI/Card/PickeListRowCard.swift rename to Projects/DesignSystem/Sources/UI/Card/PickeListRowCard.swift diff --git a/Projects/Shared/PickeDesignKit/Sources/UI/Chip/PickeSortChip.swift b/Projects/DesignSystem/Sources/UI/Chip/PickeSortChip.swift similarity index 100% rename from Projects/Shared/PickeDesignKit/Sources/UI/Chip/PickeSortChip.swift rename to Projects/DesignSystem/Sources/UI/Chip/PickeSortChip.swift diff --git a/Projects/Shared/PickeDesignKit/Sources/UI/Divider/PickeDivider.swift b/Projects/DesignSystem/Sources/UI/Divider/PickeDivider.swift similarity index 100% rename from Projects/Shared/PickeDesignKit/Sources/UI/Divider/PickeDivider.swift rename to Projects/DesignSystem/Sources/UI/Divider/PickeDivider.swift diff --git a/Projects/Shared/PickeDesignKit/Sources/UI/Empty/PickeEmptyStateView.swift b/Projects/DesignSystem/Sources/UI/Empty/PickeEmptyStateView.swift similarity index 100% rename from Projects/Shared/PickeDesignKit/Sources/UI/Empty/PickeEmptyStateView.swift rename to Projects/DesignSystem/Sources/UI/Empty/PickeEmptyStateView.swift diff --git a/Projects/Shared/PickeDesignKit/Sources/UI/Empty/PickeRetryErrorView.swift b/Projects/DesignSystem/Sources/UI/Empty/PickeRetryErrorView.swift similarity index 100% rename from Projects/Shared/PickeDesignKit/Sources/UI/Empty/PickeRetryErrorView.swift rename to Projects/DesignSystem/Sources/UI/Empty/PickeRetryErrorView.swift diff --git a/Projects/Shared/PickeDesignKit/Sources/UI/Floating/FloatingErrorView.swift b/Projects/DesignSystem/Sources/UI/Floating/FloatingErrorView.swift similarity index 100% rename from Projects/Shared/PickeDesignKit/Sources/UI/Floating/FloatingErrorView.swift rename to Projects/DesignSystem/Sources/UI/Floating/FloatingErrorView.swift diff --git a/Projects/Shared/PickeDesignKit/Sources/UI/Input/PickeCommentInputBar.swift b/Projects/DesignSystem/Sources/UI/Input/PickeCommentInputBar.swift similarity index 100% rename from Projects/Shared/PickeDesignKit/Sources/UI/Input/PickeCommentInputBar.swift rename to Projects/DesignSystem/Sources/UI/Input/PickeCommentInputBar.swift diff --git a/Projects/Shared/PickeDesignKit/Sources/UI/Modal/PickeModal.swift b/Projects/DesignSystem/Sources/UI/Modal/PickeModal.swift similarity index 100% rename from Projects/Shared/PickeDesignKit/Sources/UI/Modal/PickeModal.swift rename to Projects/DesignSystem/Sources/UI/Modal/PickeModal.swift diff --git a/Projects/Shared/PickeDesignKit/Sources/UI/Navigaion/PickeNavigationBar.swift b/Projects/DesignSystem/Sources/UI/Navigaion/PickeNavigationBar.swift similarity index 100% rename from Projects/Shared/PickeDesignKit/Sources/UI/Navigaion/PickeNavigationBar.swift rename to Projects/DesignSystem/Sources/UI/Navigaion/PickeNavigationBar.swift diff --git a/Projects/Shared/PickeDesignKit/Sources/UI/Navigaion/PickeSegmentTab.swift b/Projects/DesignSystem/Sources/UI/Navigaion/PickeSegmentTab.swift similarity index 100% rename from Projects/Shared/PickeDesignKit/Sources/UI/Navigaion/PickeSegmentTab.swift rename to Projects/DesignSystem/Sources/UI/Navigaion/PickeSegmentTab.swift diff --git a/Projects/Shared/PickeDesignKit/Sources/UI/Navigaion/UINavigationController+gesture.swift b/Projects/DesignSystem/Sources/UI/Navigaion/UINavigationController+gesture.swift similarity index 100% rename from Projects/Shared/PickeDesignKit/Sources/UI/Navigaion/UINavigationController+gesture.swift rename to Projects/DesignSystem/Sources/UI/Navigaion/UINavigationController+gesture.swift diff --git a/Projects/Shared/PickeDesignKit/Sources/UI/Share/ShareSheet.swift b/Projects/DesignSystem/Sources/UI/Share/ShareSheet.swift similarity index 100% rename from Projects/Shared/PickeDesignKit/Sources/UI/Share/ShareSheet.swift rename to Projects/DesignSystem/Sources/UI/Share/ShareSheet.swift diff --git a/Projects/Shared/PickeDesignKit/Sources/UI/Skeleton/SkeletonBlock.swift b/Projects/DesignSystem/Sources/UI/Skeleton/SkeletonBlock.swift similarity index 100% rename from Projects/Shared/PickeDesignKit/Sources/UI/Skeleton/SkeletonBlock.swift rename to Projects/DesignSystem/Sources/UI/Skeleton/SkeletonBlock.swift diff --git a/Projects/Shared/PickeDesignKit/Sources/UI/Skeleton/SkeletonView.swift b/Projects/DesignSystem/Sources/UI/Skeleton/SkeletonView.swift similarity index 100% rename from Projects/Shared/PickeDesignKit/Sources/UI/Skeleton/SkeletonView.swift rename to Projects/DesignSystem/Sources/UI/Skeleton/SkeletonView.swift diff --git a/Projects/Shared/PickeDesignKit/Sources/UI/Toast/ToastManager.swift b/Projects/DesignSystem/Sources/UI/Toast/ToastManager.swift similarity index 100% rename from Projects/Shared/PickeDesignKit/Sources/UI/Toast/ToastManager.swift rename to Projects/DesignSystem/Sources/UI/Toast/ToastManager.swift diff --git a/Projects/Shared/PickeDesignKit/Sources/UI/Toast/ToastType.swift b/Projects/DesignSystem/Sources/UI/Toast/ToastType.swift similarity index 100% rename from Projects/Shared/PickeDesignKit/Sources/UI/Toast/ToastType.swift rename to Projects/DesignSystem/Sources/UI/Toast/ToastType.swift diff --git a/Projects/Shared/PickeDesignKit/Sources/UI/Toast/ToastView.swift b/Projects/DesignSystem/Sources/UI/Toast/ToastView.swift similarity index 100% rename from Projects/Shared/PickeDesignKit/Sources/UI/Toast/ToastView.swift rename to Projects/DesignSystem/Sources/UI/Toast/ToastView.swift diff --git a/Projects/Shared/PickeDesignKit/Sources/UI/Token/ComponentToken.swift b/Projects/DesignSystem/Sources/UI/Token/ComponentToken.swift similarity index 100% rename from Projects/Shared/PickeDesignKit/Sources/UI/Token/ComponentToken.swift rename to Projects/DesignSystem/Sources/UI/Token/ComponentToken.swift diff --git a/Projects/Domain/DomainInterface/Sources/AppUpdate/Interface/AppUpdateInterface.swift b/Projects/Domain/AppUpdate/Interface/AppUpdateInterface.swift similarity index 95% rename from Projects/Domain/DomainInterface/Sources/AppUpdate/Interface/AppUpdateInterface.swift rename to Projects/Domain/AppUpdate/Interface/AppUpdateInterface.swift index ad7279c3..4749894b 100644 --- a/Projects/Domain/DomainInterface/Sources/AppUpdate/Interface/AppUpdateInterface.swift +++ b/Projects/Domain/AppUpdate/Interface/AppUpdateInterface.swift @@ -1,11 +1,10 @@ // // AppUpdateInterface.swift -// DomainInterface +// AppUpdateDomainInterface // import Foundation -import Entity import WeaveDI public protocol AppUpdateInterface: Sendable { diff --git a/Projects/Domain/DomainInterface/Sources/AppUpdate/Interface/AppUpdateUseCaseInterface.swift b/Projects/Domain/AppUpdate/Interface/AppUpdateUseCaseInterface.swift similarity index 96% rename from Projects/Domain/DomainInterface/Sources/AppUpdate/Interface/AppUpdateUseCaseInterface.swift rename to Projects/Domain/AppUpdate/Interface/AppUpdateUseCaseInterface.swift index 9c234a75..c1c63689 100644 --- a/Projects/Domain/DomainInterface/Sources/AppUpdate/Interface/AppUpdateUseCaseInterface.swift +++ b/Projects/Domain/AppUpdate/Interface/AppUpdateUseCaseInterface.swift @@ -1,11 +1,10 @@ // // AppUpdateUseCaseInterface.swift -// DomainInterface +// AppUpdateDomainInterface // import Foundation -import Entity import WeaveDI public protocol AppUpdateUseCaseInterface: Sendable { diff --git a/Projects/Domain/DomainInterface/Sources/AppUpdate/Default/DefaultAppUpdateRepositoryImpl.swift b/Projects/Domain/AppUpdate/Interface/Default/DefaultAppUpdateRepositoryImpl.swift similarity index 91% rename from Projects/Domain/DomainInterface/Sources/AppUpdate/Default/DefaultAppUpdateRepositoryImpl.swift rename to Projects/Domain/AppUpdate/Interface/Default/DefaultAppUpdateRepositoryImpl.swift index e359805f..0f6c5ddf 100644 --- a/Projects/Domain/DomainInterface/Sources/AppUpdate/Default/DefaultAppUpdateRepositoryImpl.swift +++ b/Projects/Domain/AppUpdate/Interface/Default/DefaultAppUpdateRepositoryImpl.swift @@ -1,11 +1,11 @@ // // DefaultAppUpdateRepositoryImpl.swift -// DomainInterface +// AppUpdateDomain // import Foundation -import Entity +import AppUpdateDomainInterface public final class DefaultAppUpdateRepositoryImpl: AppUpdateInterface { public init() {} diff --git a/Projects/Domain/DomainInterface/Sources/AppUpdate/Default/DefaultAppUpdateUseCaseImpl.swift b/Projects/Domain/AppUpdate/Interface/Default/DefaultAppUpdateUseCaseImpl.swift similarity index 81% rename from Projects/Domain/DomainInterface/Sources/AppUpdate/Default/DefaultAppUpdateUseCaseImpl.swift rename to Projects/Domain/AppUpdate/Interface/Default/DefaultAppUpdateUseCaseImpl.swift index 1fb05952..4714bee0 100644 --- a/Projects/Domain/DomainInterface/Sources/AppUpdate/Default/DefaultAppUpdateUseCaseImpl.swift +++ b/Projects/Domain/AppUpdate/Interface/Default/DefaultAppUpdateUseCaseImpl.swift @@ -1,11 +1,11 @@ // // DefaultAppUpdateUseCaseImpl.swift -// DomainInterface +// AppUpdateDomain // import Foundation -import Entity +import AppUpdateDomainInterface public struct DefaultAppUpdateUseCaseImpl: AppUpdateUseCaseInterface { public init() {} diff --git a/Projects/Domain/Entity/Sources/Error/AppUpdateError.swift b/Projects/Domain/AppUpdate/Interface/Entity/AppUpdateError.swift similarity index 97% rename from Projects/Domain/Entity/Sources/Error/AppUpdateError.swift rename to Projects/Domain/AppUpdate/Interface/Entity/AppUpdateError.swift index f7ab2ca4..3d958347 100644 --- a/Projects/Domain/Entity/Sources/Error/AppUpdateError.swift +++ b/Projects/Domain/AppUpdate/Interface/Entity/AppUpdateError.swift @@ -1,6 +1,6 @@ // // AppUpdateError.swift -// Entity +// AppUpdateDomainInterface // import Foundation diff --git a/Projects/Domain/Entity/Sources/AppUpdate/AppUpdateInfo.swift b/Projects/Domain/AppUpdate/Interface/Entity/AppUpdateInfo.swift similarity index 95% rename from Projects/Domain/Entity/Sources/AppUpdate/AppUpdateInfo.swift rename to Projects/Domain/AppUpdate/Interface/Entity/AppUpdateInfo.swift index 80002455..7187c2fe 100644 --- a/Projects/Domain/Entity/Sources/AppUpdate/AppUpdateInfo.swift +++ b/Projects/Domain/AppUpdate/Interface/Entity/AppUpdateInfo.swift @@ -1,6 +1,6 @@ // // AppUpdateInfo.swift -// Entity +// AppUpdateDomainInterface // import Foundation diff --git a/Projects/Domain/DomainInterface/Project.swift b/Projects/Domain/AppUpdate/Project.swift similarity index 51% rename from Projects/Domain/DomainInterface/Project.swift rename to Projects/Domain/AppUpdate/Project.swift index 819263af..107883cf 100644 --- a/Projects/Domain/DomainInterface/Project.swift +++ b/Projects/Domain/AppUpdate/Project.swift @@ -5,18 +5,15 @@ import ProjectDescription import ProjectTemplatePlugin let project = Project.configure( - moduleType: .module(name: "DomainInterface"), - bundleId: .appBundleID(name: ".DomainInterface"), + moduleType: .microModule(name: "AppUpdateDomain"), + bundleId: .appBundleID(name: ".AppUpdateDomain"), product: .staticFramework, settings: .settings(), dependencies: [ - .Domain(.Common, .interface), - .Domain(.Comment, .interface), - .Domain(.Home, .interface), - .Domain(implements: .Entity), - .SPM.weaveDI, .SPM.composableArchitecture, ], - sources: ["Sources/**"], - hasTests: false + interfaceDependencies: [ + .SPM.weaveDI, + .SPM.composableArchitecture, + ] ) diff --git a/Projects/Domain/UseCase/Sources/AppUpdate/AppUpdateUseCaseImpl.swift b/Projects/Domain/AppUpdate/Sources/AppUpdateUseCaseImpl.swift similarity index 88% rename from Projects/Domain/UseCase/Sources/AppUpdate/AppUpdateUseCaseImpl.swift rename to Projects/Domain/AppUpdate/Sources/AppUpdateUseCaseImpl.swift index e0aad24d..96911f5b 100644 --- a/Projects/Domain/UseCase/Sources/AppUpdate/AppUpdateUseCaseImpl.swift +++ b/Projects/Domain/AppUpdate/Sources/AppUpdateUseCaseImpl.swift @@ -1,10 +1,9 @@ // // AppUpdateUseCaseImpl.swift -// UseCase +// AppUpdateDomain // -import DomainInterface -import Entity +import AppUpdateDomainInterface import ComposableArchitecture diff --git a/Projects/Domain/AppUpdate/Testing/AppUpdateDomainTesting.swift b/Projects/Domain/AppUpdate/Testing/AppUpdateDomainTesting.swift new file mode 100644 index 00000000..83c10456 --- /dev/null +++ b/Projects/Domain/AppUpdate/Testing/AppUpdateDomainTesting.swift @@ -0,0 +1,8 @@ +// +// AppUpdateDomainTesting.swift +// AppUpdateDomainTesting +// + +import AppUpdateDomainInterface + +public enum AppUpdateDomainTesting {} diff --git a/Projects/Domain/AppUpdate/Tests/AppUpdateDomainTests.swift b/Projects/Domain/AppUpdate/Tests/AppUpdateDomainTests.swift new file mode 100644 index 00000000..a3a7f042 --- /dev/null +++ b/Projects/Domain/AppUpdate/Tests/AppUpdateDomainTests.swift @@ -0,0 +1,14 @@ +// +// AppUpdateDomainTests.swift +// AppUpdateDomainTests +// + +@testable import AppUpdateDomain +import Testing + +struct AppUpdateDomainTests { + @Test + func appUpdateDomainExample() { + #expect(true) + } +} diff --git a/Projects/Domain/Auth/Interface/Contract/OAuth/Default/DefaultUnifiedOAuthUseCaseImpl.swift b/Projects/Domain/Auth/Interface/Contract/OAuth/Default/DefaultUnifiedOAuthUseCaseImpl.swift index c607faf8..c58df50d 100644 --- a/Projects/Domain/Auth/Interface/Contract/OAuth/Default/DefaultUnifiedOAuthUseCaseImpl.swift +++ b/Projects/Domain/Auth/Interface/Contract/OAuth/Default/DefaultUnifiedOAuthUseCaseImpl.swift @@ -4,8 +4,8 @@ // @preconcurrency import AuthenticationServices -import Entity import Foundation +import AuthDomainInterface /// 통합 OAuth UseCase 의 기본 구현체 (테스트 / 프리뷰용 no-op) public final class DefaultUnifiedOAuthUseCaseImpl: UnifiedOAuthUseCaseInterface, @unchecked Sendable { diff --git a/Projects/Domain/Auth/Interface/Contract/OAuth/Interface/UnifiedOAuthUseCaseInterface.swift b/Projects/Domain/Auth/Interface/Contract/OAuth/Interface/UnifiedOAuthUseCaseInterface.swift index bc409f3d..eda194a9 100644 --- a/Projects/Domain/Auth/Interface/Contract/OAuth/Interface/UnifiedOAuthUseCaseInterface.swift +++ b/Projects/Domain/Auth/Interface/Contract/OAuth/Interface/UnifiedOAuthUseCaseInterface.swift @@ -4,9 +4,9 @@ // @preconcurrency import AuthenticationServices -import Entity import Foundation import WeaveDI +import AuthDomainInterface /// 통합 OAuth UseCase 를 위한 Interface 프로토콜 public protocol UnifiedOAuthUseCaseInterface: Sendable { diff --git a/Projects/Domain/Entity/Sources/Error/AuthError.swift b/Projects/Domain/Auth/Interface/Entity/AuthError.swift similarity index 93% rename from Projects/Domain/Entity/Sources/Error/AuthError.swift rename to Projects/Domain/Auth/Interface/Entity/AuthError.swift index 1c94b929..a9b6dc96 100644 --- a/Projects/Domain/Entity/Sources/Error/AuthError.swift +++ b/Projects/Domain/Auth/Interface/Entity/AuthError.swift @@ -1,6 +1,6 @@ // // AuthError.swift -// Entity +// AuthDomainInterface // // Created by Wonji Suh on 12/29/25. // @@ -47,13 +47,13 @@ public enum AuthError: Error, Equatable, LocalizedError, Hashable { return "ID 토큰을 가져오지 못했습니다." case .userCancelled: return "사용자가 로그인을 취소했습니다." - case .invalidCredential(let message): + case let .invalidCredential(message): return "잘못된 자격 증명입니다: \(message)" - case .networkError(let message): + case let .networkError(message): return "네트워크 오류가 발생했습니다: \(message)" - case .backendError(let message): + case let .backendError(message): return "서버에서 오류가 발생했습니다: \(message)" - case .needsTermsAgreement(let message): + case let .needsTermsAgreement(message): return "\(message)" case .accountDeletionFailed: return "회원 탈퇴에 실패했습니다." @@ -63,7 +63,7 @@ public enum AuthError: Error, Equatable, LocalizedError, Hashable { return "이미 탈퇴된 계정입니다." case .refreshTokenExpired: return "로그인이 만료되었습니다. 다시 로그인해주세요." - case .unknownError(let message): + case let .unknownError(message): return "알 수 없는 오류가 발생했습니다: \(message)" } } diff --git a/Projects/Domain/Auth/Project.swift b/Projects/Domain/Auth/Project.swift index 6b437ede..ee01dca7 100644 --- a/Projects/Domain/Auth/Project.swift +++ b/Projects/Domain/Auth/Project.swift @@ -10,14 +10,15 @@ let project = Project.configure( product: .staticFramework, settings: .settings(), dependencies: [ - .Domain(implements: .Entity), - .Domain(implements: .DomainInterface), + .Core(.PickeStorage, .interface), + + .Service(.AudioPlayer), .SPM.composableArchitecture, .SPM.weaveDI, .SPM.logMarco, ], interfaceDependencies: [ - .Domain(implements: .Entity), + .SPM.weaveDI, .SPM.composableArchitecture, ] diff --git a/Projects/Domain/Auth/Sources/Auth/AuthUseCaseImpl.swift b/Projects/Domain/Auth/Sources/Auth/AuthUseCaseImpl.swift index 60a2a5c3..58d52e68 100644 --- a/Projects/Domain/Auth/Sources/Auth/AuthUseCaseImpl.swift +++ b/Projects/Domain/Auth/Sources/Auth/AuthUseCaseImpl.swift @@ -8,11 +8,10 @@ import Foundation import AuthDomainInterface -import DomainInterface -import Entity import ComposableArchitecture import WeaveDI +import PickeStorageInterface public struct AuthUseCaseImpl: AuthUseCaseInterface { @Dependency(\.authRepository) var authRepository diff --git a/Projects/Domain/Auth/Sources/OAuth/UnifiedOAuthUseCase.swift b/Projects/Domain/Auth/Sources/OAuth/UnifiedOAuthUseCase.swift index e6e8cff2..183fb180 100644 --- a/Projects/Domain/Auth/Sources/OAuth/UnifiedOAuthUseCase.swift +++ b/Projects/Domain/Auth/Sources/OAuth/UnifiedOAuthUseCase.swift @@ -8,11 +8,10 @@ @preconcurrency import AuthDomainInterface import AuthenticationServices import Dependencies -import DomainInterface -import Entity import Foundation import LogMacro import Sharing +import PickeStorageInterface /// 통합 OAuth UseCase — 소셜 인증 → 백엔드 로그인까지 단일 진입점 public struct UnifiedOAuthUseCase: UnifiedOAuthUseCaseInterface { diff --git a/Projects/Domain/Battle/Interface/Contract/Default/DefaultBattleRepositoryImpl.swift b/Projects/Domain/Battle/Interface/Contract/Default/DefaultBattleRepositoryImpl.swift index 43bf53ae..cc1c2cab 100644 --- a/Projects/Domain/Battle/Interface/Contract/Default/DefaultBattleRepositoryImpl.swift +++ b/Projects/Domain/Battle/Interface/Contract/Default/DefaultBattleRepositoryImpl.swift @@ -4,7 +4,6 @@ // import CommonDomainInterface -import Entity import Foundation import HomeDomainInterface diff --git a/Projects/Domain/Battle/Interface/Contract/Interface/BattleInterface.swift b/Projects/Domain/Battle/Interface/Contract/Interface/BattleInterface.swift index 7cd20e06..464c9288 100644 --- a/Projects/Domain/Battle/Interface/Contract/Interface/BattleInterface.swift +++ b/Projects/Domain/Battle/Interface/Contract/Interface/BattleInterface.swift @@ -4,7 +4,6 @@ // import CommonDomainInterface -import Entity import Foundation import HomeDomainInterface import WeaveDI diff --git a/Projects/Domain/Entity/Sources/Error/BattleError.swift b/Projects/Domain/Battle/Interface/Entity/BattleError.swift similarity index 98% rename from Projects/Domain/Entity/Sources/Error/BattleError.swift rename to Projects/Domain/Battle/Interface/Entity/BattleError.swift index fe76e10a..a9004c3d 100644 --- a/Projects/Domain/Entity/Sources/Error/BattleError.swift +++ b/Projects/Domain/Battle/Interface/Entity/BattleError.swift @@ -1,6 +1,6 @@ // // BattleError.swift -// Entity +// BattleDomainInterface // import Foundation diff --git a/Projects/Domain/Battle/Project.swift b/Projects/Domain/Battle/Project.swift index de5d2448..5daa9658 100644 --- a/Projects/Domain/Battle/Project.swift +++ b/Projects/Domain/Battle/Project.swift @@ -10,13 +10,14 @@ let project = Project.configure( settings: .settings(), dependencies: [ .Domain(.Common, .interface), - .Domain(implements: .Entity), + .SPM.weaveDI, .SPM.composableArchitecture, ], interfaceDependencies: [ + .Domain(.Home, .interface), .Domain(.Common, .interface), - .Domain(implements: .Entity), + .SPM.weaveDI, .SPM.composableArchitecture, ] diff --git a/Projects/Domain/Battle/Sources/Battle/BattleUseCase.swift b/Projects/Domain/Battle/Sources/Battle/BattleUseCase.swift index a93ef784..1afa6d42 100644 --- a/Projects/Domain/Battle/Sources/Battle/BattleUseCase.swift +++ b/Projects/Domain/Battle/Sources/Battle/BattleUseCase.swift @@ -7,8 +7,6 @@ import Foundation import BattleDomainInterface import CommonDomainInterface -import DomainInterface -import Entity import HomeDomainInterface import ComposableArchitecture diff --git a/Projects/Domain/Entity/Sources/Deeplink/PickeDeeplink.swift b/Projects/Domain/Common/Interface/Entity/Deeplink/PickeDeeplink.swift similarity index 99% rename from Projects/Domain/Entity/Sources/Deeplink/PickeDeeplink.swift rename to Projects/Domain/Common/Interface/Entity/Deeplink/PickeDeeplink.swift index e5fa0f09..bbfb3620 100644 --- a/Projects/Domain/Entity/Sources/Deeplink/PickeDeeplink.swift +++ b/Projects/Domain/Common/Interface/Entity/Deeplink/PickeDeeplink.swift @@ -1,6 +1,6 @@ // // PickeDeeplink.swift -// Picke +// CommonDomainInterface // import Foundation diff --git a/Projects/Domain/Entity/Sources/Share/ShareContent.swift b/Projects/Domain/Common/Interface/Entity/Share/ShareContent.swift similarity index 97% rename from Projects/Domain/Entity/Sources/Share/ShareContent.swift rename to Projects/Domain/Common/Interface/Entity/Share/ShareContent.swift index faa1642f..1c1cc0eb 100644 --- a/Projects/Domain/Entity/Sources/Share/ShareContent.swift +++ b/Projects/Domain/Common/Interface/Entity/Share/ShareContent.swift @@ -1,6 +1,6 @@ // // ShareContent.swift -// Entity +// CommonDomainInterface // import Foundation diff --git a/Projects/Domain/Entity/Sources/Share/ShareItem.swift b/Projects/Domain/Common/Interface/Entity/Share/ShareItem.swift similarity index 93% rename from Projects/Domain/Entity/Sources/Share/ShareItem.swift rename to Projects/Domain/Common/Interface/Entity/Share/ShareItem.swift index 2883bdde..e2e9cc7b 100644 --- a/Projects/Domain/Entity/Sources/Share/ShareItem.swift +++ b/Projects/Domain/Common/Interface/Entity/Share/ShareItem.swift @@ -1,6 +1,6 @@ // // ShareItem.swift -// Entity +// CommonDomainInterface // import Foundation diff --git a/Projects/Domain/Domain/Project.swift b/Projects/Domain/Domain/Project.swift index ddf3899a..53b84a06 100644 --- a/Projects/Domain/Domain/Project.swift +++ b/Projects/Domain/Domain/Project.swift @@ -10,26 +10,16 @@ let project = Project.configure( product: .staticFramework, settings: .settings(), dependencies: [ - .Domain(.Common, .interface), .Domain(.Common), - .Domain(implements: .Entity), - .Domain(implements: .DomainInterface), - .Domain(implements: .UseCase), - .Domain(.Attendance, .interface), + + .Service(.AudioPlayer), .Domain(.Attendance), - .Domain(.Auth, .interface), .Domain(.Auth), - .Domain(.Battle, .interface), .Domain(.Battle), - .Domain(.Search, .interface), .Domain(.Search), - .Domain(.Comment, .interface), .Domain(.Comment), - .Domain(.Home, .interface), .Domain(.Home), - .Domain(.Notification, .interface), .Domain(.Notification), - .Domain(.Perspective, .interface), .Domain(.Perspective), .Domain(.Profile), ], diff --git a/Projects/Domain/Domain/Sources/Exported/DomainExported.swift b/Projects/Domain/Domain/Sources/Exported/DomainExported.swift index e0a5a7af..6396dbdb 100644 --- a/Projects/Domain/Domain/Sources/Exported/DomainExported.swift +++ b/Projects/Domain/Domain/Sources/Exported/DomainExported.swift @@ -13,8 +13,6 @@ @_exported import CommentDomainInterface @_exported import CommonDomain @_exported import CommonDomainInterface -@_exported import DomainInterface -@_exported import Entity @_exported import HomeDomain @_exported import HomeDomainInterface @_exported import NotificationDomain @@ -24,4 +22,4 @@ @_exported import ProfileDomain @_exported import SearchDomain @_exported import SearchDomainInterface -@_exported import UseCase +@_exported import AppUpdateDomainInterface diff --git a/Projects/Domain/DomainTesting/Project.swift b/Projects/Domain/DomainTesting/Project.swift index cd202da9..7edd1b7a 100644 --- a/Projects/Domain/DomainTesting/Project.swift +++ b/Projects/Domain/DomainTesting/Project.swift @@ -10,7 +10,8 @@ let project = Project.configure( product: .framework, settings: .settings(), dependencies: [ - .Domain(implements: .UseCase), + .Domain(.AppUpdate, .interface), + .Service(.Analytics, .interface), ], sources: ["Sources/**"] ) diff --git a/Projects/Domain/DomainTesting/Sources/Analytics/NoopAnalyticsUseCase.swift b/Projects/Domain/DomainTesting/Sources/Analytics/NoopAnalyticsUseCase.swift index 34883143..706691fb 100644 --- a/Projects/Domain/DomainTesting/Sources/Analytics/NoopAnalyticsUseCase.swift +++ b/Projects/Domain/DomainTesting/Sources/Analytics/NoopAnalyticsUseCase.swift @@ -1,9 +1,9 @@ // +import AnalyticsServiceInterface // NoopAnalyticsUseCase.swift // DomainTesting // -import UseCase public extension AnalyticsUseCase { static let noop = AnalyticsUseCase( diff --git a/Projects/Domain/DomainTesting/Sources/AppUpdate/MockAppUpdateUseCase.swift b/Projects/Domain/DomainTesting/Sources/AppUpdate/MockAppUpdateUseCase.swift index 65f65b3d..e384966e 100644 --- a/Projects/Domain/DomainTesting/Sources/AppUpdate/MockAppUpdateUseCase.swift +++ b/Projects/Domain/DomainTesting/Sources/AppUpdate/MockAppUpdateUseCase.swift @@ -3,9 +3,7 @@ // DomainTesting // -import DomainInterface -import Entity -import UseCase +import AppUpdateDomainInterface public struct MockAppUpdateUseCase: AppUpdateUseCaseInterface { public var info: AppUpdateInfo? diff --git a/Projects/Domain/DomainTesting/Sources/Manager/MockKeychainManager.swift b/Projects/Domain/DomainTesting/Sources/Manager/MockKeychainManager.swift index 9e9c5e2d..a6d371c4 100644 --- a/Projects/Domain/DomainTesting/Sources/Manager/MockKeychainManager.swift +++ b/Projects/Domain/DomainTesting/Sources/Manager/MockKeychainManager.swift @@ -8,7 +8,6 @@ import Foundation import WeaveDI -import DomainInterface public final class MockKeychainManager: KeychainManaging, @unchecked Sendable { // MARK: - Configuration diff --git a/Projects/Domain/Entity/EntityTests/Sources/Test.swift b/Projects/Domain/Entity/EntityTests/Sources/Test.swift deleted file mode 100644 index 88831a39..00000000 --- a/Projects/Domain/Entity/EntityTests/Sources/Test.swift +++ /dev/null @@ -1,8 +0,0 @@ -// -// base.swift -// DDDAttendance -// -// Created by Roy on 2025-10-22 -// Copyright © 2025 DDD , Ltd. All rights reserved. -// - diff --git a/Projects/Domain/Entity/Sources/Exported/ProfileDomainBridge.swift b/Projects/Domain/Entity/Sources/Exported/ProfileDomainBridge.swift deleted file mode 100644 index 9dd0c3ce..00000000 --- a/Projects/Domain/Entity/Sources/Exported/ProfileDomainBridge.swift +++ /dev/null @@ -1,6 +0,0 @@ -// -// ProfileDomainBridge.swift -// Entity -// - -@_exported import ProfileDomainInterface diff --git a/Projects/Domain/Search/Interface/Sources/DefaultSearchRepositoryImpl.swift b/Projects/Domain/Search/Interface/Sources/DefaultSearchRepositoryImpl.swift index eebd4679..a947d174 100644 --- a/Projects/Domain/Search/Interface/Sources/DefaultSearchRepositoryImpl.swift +++ b/Projects/Domain/Search/Interface/Sources/DefaultSearchRepositoryImpl.swift @@ -3,7 +3,6 @@ // DomainInterface // -import Entity import Foundation import HomeDomainInterface diff --git a/Projects/Domain/Search/Interface/Sources/SearchInterface.swift b/Projects/Domain/Search/Interface/Sources/SearchInterface.swift index a3c89ca5..1e11b380 100644 --- a/Projects/Domain/Search/Interface/Sources/SearchInterface.swift +++ b/Projects/Domain/Search/Interface/Sources/SearchInterface.swift @@ -3,7 +3,6 @@ // DomainInterface // -import Entity import Foundation import HomeDomainInterface import WeaveDI diff --git a/Projects/Domain/Search/Project.swift b/Projects/Domain/Search/Project.swift index ccc395ba..62869810 100644 --- a/Projects/Domain/Search/Project.swift +++ b/Projects/Domain/Search/Project.swift @@ -11,13 +11,13 @@ let project = Project.configure( settings: .settings(), dependencies: [ .Domain(.Home, .interface), - .Domain(implements: .Entity), + .SPM.weaveDI, .SPM.composableArchitecture, ], interfaceDependencies: [ .Domain(.Home, .interface), - .Domain(implements: .Entity), + .SPM.weaveDI, .SPM.composableArchitecture, ] diff --git a/Projects/Domain/Search/Sources/SearchUseCase.swift b/Projects/Domain/Search/Sources/SearchUseCase.swift index 57acac6d..7bb1457f 100644 --- a/Projects/Domain/Search/Sources/SearchUseCase.swift +++ b/Projects/Domain/Search/Sources/SearchUseCase.swift @@ -5,7 +5,6 @@ import Foundation -import Entity import HomeDomainInterface import SearchDomainInterface diff --git a/Projects/Domain/UseCase/Project.swift b/Projects/Domain/UseCase/Project.swift deleted file mode 100644 index 88693110..00000000 --- a/Projects/Domain/UseCase/Project.swift +++ /dev/null @@ -1,26 +0,0 @@ -import DependencyPackagePlugin -import DependencyPlugin -import Foundation -import ProjectDescription -import ProjectTemplatePlugin - -let project = Project.configure( - moduleType: .module(name: "UseCase"), - bundleId: .appBundleID(name: ".UseCase"), - product: .staticFramework, - settings: .settings(), - dependencies: [ - .Domain(.Common, .interface), - .Domain(.Comment, .interface), - .Domain(.Home, .interface), - .Domain(implements: .DomainInterface), - .Domain(.Profile), - .SPM.composableArchitecture, - .SPM.weaveDI, - .SPM.mixpanel, - .SPM.mixpanelSessionReplay, - .SPM.googleMobileAds, - ], - sources: ["Sources/**"], - hasTests: true -) diff --git a/Projects/Domain/UseCase/Sources/Analytics/Events/AdPlacement.swift b/Projects/Domain/UseCase/Sources/Analytics/Events/AdPlacement.swift deleted file mode 100644 index 91a88f03..00000000 --- a/Projects/Domain/UseCase/Sources/Analytics/Events/AdPlacement.swift +++ /dev/null @@ -1,10 +0,0 @@ -// -// AdPlacement.swift -// UseCase -// - -import Foundation - -public enum AdPlacement: String, Sendable { - case charge = "충전소" -} diff --git a/Projects/Domain/UseCase/Sources/Exported/ProfileDomainBridge.swift b/Projects/Domain/UseCase/Sources/Exported/ProfileDomainBridge.swift deleted file mode 100644 index 40560934..00000000 --- a/Projects/Domain/UseCase/Sources/Exported/ProfileDomainBridge.swift +++ /dev/null @@ -1,6 +0,0 @@ -// -// ProfileDomainBridge.swift -// UseCase -// - -@_exported import ProfileDomain diff --git a/Projects/Data/Repository/Sources/Network/AlamofireNetworkProvider.swift b/Projects/Network/NetworkModule/Sources/AlamofireNetworkProvider.swift similarity index 99% rename from Projects/Data/Repository/Sources/Network/AlamofireNetworkProvider.swift rename to Projects/Network/NetworkModule/Sources/AlamofireNetworkProvider.swift index a675a194..36a6700a 100644 --- a/Projects/Data/Repository/Sources/Network/AlamofireNetworkProvider.swift +++ b/Projects/Network/NetworkModule/Sources/AlamofireNetworkProvider.swift @@ -1,6 +1,6 @@ // // AlamofireNetworkProvider.swift -// Repository +// NetworkModule // import Foundation diff --git a/Projects/Data/Repository/Sources/Network/NetworkProviding.swift b/Projects/Network/NetworkModule/Sources/NetworkProviding.swift similarity index 98% rename from Projects/Data/Repository/Sources/Network/NetworkProviding.swift rename to Projects/Network/NetworkModule/Sources/NetworkProviding.swift index 2fc1f8b9..2b7f67f5 100644 --- a/Projects/Data/Repository/Sources/Network/NetworkProviding.swift +++ b/Projects/Network/NetworkModule/Sources/NetworkProviding.swift @@ -1,6 +1,6 @@ // // NetworkProviding.swift -// Repository +// NetworkModule // import Foundation diff --git a/Projects/Data/Repository/Sources/Network/PickeEventMonitor.swift b/Projects/Network/NetworkModule/Sources/PickeEventMonitor.swift similarity index 99% rename from Projects/Data/Repository/Sources/Network/PickeEventMonitor.swift rename to Projects/Network/NetworkModule/Sources/PickeEventMonitor.swift index 925291e8..4df27b36 100644 --- a/Projects/Data/Repository/Sources/Network/PickeEventMonitor.swift +++ b/Projects/Network/NetworkModule/Sources/PickeEventMonitor.swift @@ -1,6 +1,6 @@ // // PickeEventMonitor.swift -// Repository +// NetworkModule // import Alamofire diff --git a/Projects/Data/Repository/Sources/Network/SessionFactory.swift b/Projects/Network/NetworkModule/Sources/SessionFactory.swift similarity index 64% rename from Projects/Data/Repository/Sources/Network/SessionFactory.swift rename to Projects/Network/NetworkModule/Sources/SessionFactory.swift index cf45d92a..c296650d 100644 --- a/Projects/Data/Repository/Sources/Network/SessionFactory.swift +++ b/Projects/Network/NetworkModule/Sources/SessionFactory.swift @@ -1,27 +1,29 @@ // // SessionFactory.swift -// Repository +// NetworkModule // import Alamofire import Foundation /// 인증(authenticated) / 비인증(plain) 세션 조립 팩토리. -enum SessionFactory { - /// 인증 세션. `AuthInterceptor`(401 자동 refresh·retry)를 얹는다. 대부분의 요청에 사용. - static func authenticated() -> Session { +/// +/// 인터셉터·부가 이벤트 모니터는 호출자가 주입한다(NetworkModule 은 인증 주체를 모른다). +public enum SessionFactory { + /// 인증 세션. 호출자가 넘긴 `interceptor`(401 자동 refresh·retry 등)를 얹는다. 대부분의 요청에 사용. + public static func authenticated(interceptor: RequestInterceptor, eventMonitors: [any EventMonitor] = []) -> Session { Session( configuration: configuration(), - interceptor: AuthInterceptor(), - eventMonitors: monitors() + interceptor: interceptor, + eventMonitors: monitors() + eventMonitors ) } /// 비인증 세션. 로그인/토큰 재발급처럼 아직 토큰이 없는 요청에 사용(인터셉터 없음). - static func plain() -> Session { + public static func plain(eventMonitors: [any EventMonitor] = []) -> Session { Session( configuration: configuration(), - eventMonitors: monitors() + eventMonitors: monitors() + eventMonitors ) } } @@ -56,8 +58,8 @@ private extension SessionFactory { return configuration } - /// 두 세션 공통 이벤트 모니터. 요청/응답 로깅 + USER_404/AUTH_401 세션 무효화. + /// 두 세션 공통 기본 이벤트 모니터(요청/응답 로깅). 인증 관련 모니터는 호출자가 `eventMonitors` 로 추가. static func monitors() -> [any EventMonitor] { - [PickeEventMonitor(), SessionInvalidationMonitor()] + [PickeEventMonitor()] } } diff --git a/Projects/Presentation/Auth/Project.swift b/Projects/Presentation/Auth/Project.swift index c63eaade..f052be5d 100644 --- a/Projects/Presentation/Auth/Project.swift +++ b/Projects/Presentation/Auth/Project.swift @@ -9,11 +9,13 @@ let project = Project.configure( bundleId: .appBundleID(name: ".Auth"), settings: .settings(), dependencies: [ + .DesignSystem, + .Service(.Analytics, .interface), .SPM.composableArchitecture, .SPM.tcaFlow, .Domain(.Auth, .interface), - .Domain(implements: .Entity), - .Domain(implements: .UseCase), - .Shared(implements: .Shared), + + + .Core(.PickeCore), ] ) diff --git a/Projects/Presentation/Auth/Sources/Coordinator/Reducer/AuthCoordinator.swift b/Projects/Presentation/Auth/Sources/Coordinator/Reducer/AuthCoordinator.swift index 9de8f68d..830b873c 100644 --- a/Projects/Presentation/Auth/Sources/Coordinator/Reducer/AuthCoordinator.swift +++ b/Projects/Presentation/Auth/Sources/Coordinator/Reducer/AuthCoordinator.swift @@ -9,7 +9,6 @@ import Foundation import AuthInterface import ComposableArchitecture -import Entity import TCAFlow import AuthDomainInterface diff --git a/Projects/Presentation/Auth/Sources/Main/Reducer/LoginFeature.swift b/Projects/Presentation/Auth/Sources/Main/Reducer/LoginFeature.swift index e3539ff2..a96378be 100644 --- a/Projects/Presentation/Auth/Sources/Main/Reducer/LoginFeature.swift +++ b/Projects/Presentation/Auth/Sources/Main/Reducer/LoginFeature.swift @@ -10,12 +10,11 @@ import Foundation import AuthInterface import ComposableArchitecture -import Entity import LogMacro import AuthDomainInterface import PickeDesignKit -import UseCase +import AnalyticsServiceInterface @Reducer public struct LoginFeature { diff --git a/Projects/Presentation/Auth/Sources/Main/View/Components/SocialCircleButtonView.swift b/Projects/Presentation/Auth/Sources/Main/View/Components/SocialCircleButtonView.swift index 9cd89883..6386d0e0 100644 --- a/Projects/Presentation/Auth/Sources/Main/View/Components/SocialCircleButtonView.swift +++ b/Projects/Presentation/Auth/Sources/Main/View/Components/SocialCircleButtonView.swift @@ -8,7 +8,6 @@ import AuthDomainInterface import AuthenticationServices import ComposableArchitecture -import Entity import SwiftUI struct SocialCircleButtonView: View { diff --git a/Projects/Presentation/Auth/Sources/Main/View/LoginView.swift b/Projects/Presentation/Auth/Sources/Main/View/LoginView.swift index cf04c04c..82c10207 100644 --- a/Projects/Presentation/Auth/Sources/Main/View/LoginView.swift +++ b/Projects/Presentation/Auth/Sources/Main/View/LoginView.swift @@ -6,7 +6,6 @@ // import ComposableArchitecture -import Entity import SwiftUI import AuthDomainInterface diff --git a/Projects/Presentation/Battle/Project.swift b/Projects/Presentation/Battle/Project.swift index 526f444e..394c77ac 100644 --- a/Projects/Presentation/Battle/Project.swift +++ b/Projects/Presentation/Battle/Project.swift @@ -9,9 +9,13 @@ let project = Project.configure( bundleId: .appBundleID(name: ".Battle"), settings: .settings(), dependencies: [ - .Shared(implements: .Shared), + .Domain(.Common, .interface), + .DesignSystem, + .Core(.PickeFoundation), + .Service(.Analytics, .interface), + .Core(.PickeCore), .Domain(.Battle, .interface), - .Domain(implements: .UseCase), + .SPM.composableArchitecture, .SPM.tcaFlow, .SPM.kingfisher, diff --git a/Projects/Presentation/Battle/Sources/Main/Model/DailyBattle.swift b/Projects/Presentation/Battle/Sources/Main/Model/DailyBattle.swift index 88da05d2..fbe26b82 100644 --- a/Projects/Presentation/Battle/Sources/Main/Model/DailyBattle.swift +++ b/Projects/Presentation/Battle/Sources/Main/Model/DailyBattle.swift @@ -5,9 +5,8 @@ import Foundation -import Entity import BattleDomainInterface -import Utill +import PickeFoundation public struct DailyBattle: Equatable, Identifiable { public var battleId: Int diff --git a/Projects/Presentation/Battle/Sources/Main/Reducer/BattleFeature.swift b/Projects/Presentation/Battle/Sources/Main/Reducer/BattleFeature.swift index 3426c33f..4a97f3f2 100644 --- a/Projects/Presentation/Battle/Sources/Main/Reducer/BattleFeature.swift +++ b/Projects/Presentation/Battle/Sources/Main/Reducer/BattleFeature.swift @@ -6,10 +6,10 @@ import Foundation import ComposableArchitecture -import Entity import BattleDomainInterface import LogMacro -import UseCase +import AnalyticsServiceInterface +import CommonDomainInterface @Reducer public struct BattleFeature { diff --git a/Projects/Presentation/Battle/Sources/Main/View/BattleView.swift b/Projects/Presentation/Battle/Sources/Main/View/BattleView.swift index c8d1f089..e19cd2dc 100644 --- a/Projects/Presentation/Battle/Sources/Main/View/BattleView.swift +++ b/Projects/Presentation/Battle/Sources/Main/View/BattleView.swift @@ -6,7 +6,6 @@ import SwiftUI import ComposableArchitecture -import Entity import Kingfisher import PickeDesignKit diff --git a/Projects/Presentation/Chat/Project.swift b/Projects/Presentation/Chat/Project.swift index 24878ae2..a830d5fc 100644 --- a/Projects/Presentation/Chat/Project.swift +++ b/Projects/Presentation/Chat/Project.swift @@ -9,14 +9,19 @@ let project = Project.configure( bundleId: .appBundleID(name: ".Chat"), settings: .settings(), dependencies: [ + .Service(.AudioPlayer, .interface), + .Domain(.Perspective, .interface), + .DesignSystem, + .Core(.PickeFoundation), + .Service(.Analytics, .interface), .Domain(.Common, .interface), .Domain(.Battle, .interface), .Domain(.Home, .interface), - .Domain(implements: .UseCase), + .Domain(.Comment, .interface), - .Shared(implements: .Shared), + .Core(.PickeCore), // 큐레이션 리스트 상단 배너 광고 — 광고를 노출하는 화면만 명시적으로 의존한다. - .Shared(implements: .AdKit), + .Service(.Ad), .SPM.composableArchitecture, .SPM.tcaFlow, .SPM.kingfisher, diff --git a/Projects/Presentation/Chat/Sources/ChatRoom/Reducer/ChatRoomFeature.swift b/Projects/Presentation/Chat/Sources/ChatRoom/Reducer/ChatRoomFeature.swift index 05968c6a..1e653b0a 100644 --- a/Projects/Presentation/Chat/Sources/ChatRoom/Reducer/ChatRoomFeature.swift +++ b/Projects/Presentation/Chat/Sources/ChatRoom/Reducer/ChatRoomFeature.swift @@ -10,13 +10,12 @@ import Foundation import BattleDomainInterface import ChatInterface import ComposableArchitecture -import DomainInterface -import Entity import HomeDomainInterface import LogMacro import PickeDesignKit -import UseCase -import Utill +import PickeFoundation +import AnalyticsServiceInterface +import AudioPlayerServiceInterface @Reducer public struct ChatRoomFeature { diff --git a/Projects/Presentation/Chat/Sources/ChatRoom/View/ChatRoomView.swift b/Projects/Presentation/Chat/Sources/ChatRoom/View/ChatRoomView.swift index ed941bae..f3036539 100644 --- a/Projects/Presentation/Chat/Sources/ChatRoom/View/ChatRoomView.swift +++ b/Projects/Presentation/Chat/Sources/ChatRoom/View/ChatRoomView.swift @@ -8,7 +8,6 @@ import SwiftUI import ComposableArchitecture -import Entity import HomeDomainInterface import Kingfisher import PickeDesignKit diff --git a/Projects/Presentation/Chat/Sources/Comment/Reducer/CommentFeature.swift b/Projects/Presentation/Chat/Sources/Comment/Reducer/CommentFeature.swift index 4637c190..94c3caa5 100644 --- a/Projects/Presentation/Chat/Sources/Comment/Reducer/CommentFeature.swift +++ b/Projects/Presentation/Chat/Sources/Comment/Reducer/CommentFeature.swift @@ -9,12 +9,10 @@ import BattleDomainInterface import CommentDomainInterface import CommonDomainInterface import ComposableArchitecture -import DomainInterface -import Entity import LogMacro import PerspectiveDomainInterface import PickeDesignKit -import UseCase +import AnalyticsServiceInterface @Reducer public struct CommentFeature { diff --git a/Projects/Presentation/Chat/Sources/Comment/View/CommentView.swift b/Projects/Presentation/Chat/Sources/Comment/View/CommentView.swift index 8888f91d..fb0c4509 100644 --- a/Projects/Presentation/Chat/Sources/Comment/View/CommentView.swift +++ b/Projects/Presentation/Chat/Sources/Comment/View/CommentView.swift @@ -7,9 +7,8 @@ import SwiftUI import CommentDomainInterface import ComposableArchitecture -import Entity import PickeDesignKit -import Utill +import PickeFoundation @ViewAction(for: CommentFeature.self) public struct CommentView: View { diff --git a/Projects/Presentation/Chat/Sources/CommentReply/Reducer/CommentReplyFeature.swift b/Projects/Presentation/Chat/Sources/CommentReply/Reducer/CommentReplyFeature.swift index d1f245a1..972c9c88 100644 --- a/Projects/Presentation/Chat/Sources/CommentReply/Reducer/CommentReplyFeature.swift +++ b/Projects/Presentation/Chat/Sources/CommentReply/Reducer/CommentReplyFeature.swift @@ -10,12 +10,10 @@ import Foundation import CommentDomainInterface import CommonDomainInterface import ComposableArchitecture -import DomainInterface -import Entity import LogMacro import PerspectiveDomainInterface import PickeDesignKit -import UseCase +import AnalyticsServiceInterface @Reducer public struct CommentReplyFeature { diff --git a/Projects/Presentation/Chat/Sources/CommentReply/View/CommentReplyView.swift b/Projects/Presentation/Chat/Sources/CommentReply/View/CommentReplyView.swift index 098bf303..6a99c16e 100644 --- a/Projects/Presentation/Chat/Sources/CommentReply/View/CommentReplyView.swift +++ b/Projects/Presentation/Chat/Sources/CommentReply/View/CommentReplyView.swift @@ -7,9 +7,8 @@ import SwiftUI import CommentDomainInterface import ComposableArchitecture -import Entity import PickeDesignKit -import Utill +import PickeFoundation @ViewAction(for: CommentReplyFeature.self) public struct CommentReplyView: View { diff --git a/Projects/Presentation/Chat/Sources/Coordinator/Reducer/ChatCoordinator.swift b/Projects/Presentation/Chat/Sources/Coordinator/Reducer/ChatCoordinator.swift index 154e4e2e..ab9023aa 100644 --- a/Projects/Presentation/Chat/Sources/Coordinator/Reducer/ChatCoordinator.swift +++ b/Projects/Presentation/Chat/Sources/Coordinator/Reducer/ChatCoordinator.swift @@ -8,11 +8,11 @@ import Foundation import ChatInterface import CommentDomainInterface import ComposableArchitecture -import DomainInterface import LogMacro import PickeDesignKit -import Shared +import PickeCore import TCAFlow +import AudioPlayerServiceInterface @FlowCoordinator(screen: "ChatScreen", navigation: true) public struct ChatCoordinator { diff --git a/Projects/Presentation/Chat/Sources/Curation/Reducer/CurationFeature.swift b/Projects/Presentation/Chat/Sources/Curation/Reducer/CurationFeature.swift index 1974feb7..3cadc556 100644 --- a/Projects/Presentation/Chat/Sources/Curation/Reducer/CurationFeature.swift +++ b/Projects/Presentation/Chat/Sources/Curation/Reducer/CurationFeature.swift @@ -5,12 +5,10 @@ import Foundation -import ComposableArchitecture -import DomainInterface -import Entity import BattleDomainInterface +import ComposableArchitecture import LogMacro -import UseCase +import AnalyticsServiceInterface @Reducer public struct CurationFeature { @@ -40,6 +38,7 @@ public struct CurationFeature { case backButtonTapped case closeButtonTapped case battleTapped(battleId: Int) + case adNativeClicked } public enum AsyncAction: Equatable { @@ -102,6 +101,10 @@ extension CurationFeature { case let .battleTapped(battleId): analyticsUseCase.track(.uiAction(action: .curationBattle, screen: .curation)) return .send(.delegate(.openBattle(battleId: battleId))) + + case .adNativeClicked: + analyticsUseCase.track(.adClick(AdClickData(placement: .curation, format: .native, unit: "ADFIT_NATIVE_2_1"))) + return .none } } diff --git a/Projects/Presentation/Chat/Sources/Curation/View/CurationView.swift b/Projects/Presentation/Chat/Sources/Curation/View/CurationView.swift index 19fcd805..845c7ded 100644 --- a/Projects/Presentation/Chat/Sources/Curation/View/CurationView.swift +++ b/Projects/Presentation/Chat/Sources/Curation/View/CurationView.swift @@ -5,12 +5,11 @@ import SwiftUI -import AdKit import BattleDomainInterface import ComposableArchitecture -import Entity import PickeDesignKit -import Utill +import PickeFoundation +import AdService @ViewAction(for: CurationFeature.self) public struct CurationView: View { @@ -29,7 +28,8 @@ public struct CurationView: View { // 광고가 없으면 AdFitNativeAdView 가 스스로 자리를 접어 높이 0 이 된다. AdFitNativeAdView( unit: .wide, - insets: EdgeInsets(top: 0, leading: 0, bottom: 4, trailing: 0) + insets: EdgeInsets(top: 0, leading: 0, bottom: 4, trailing: 0), + onAdClick: { send(.adNativeClicked) } ) if store.isLoading, store.battles.isEmpty { diff --git a/Projects/Presentation/Chat/Sources/Vote/Reducer/PreVoteFeature.swift b/Projects/Presentation/Chat/Sources/Vote/Reducer/PreVoteFeature.swift index 198298b6..68523efe 100644 --- a/Projects/Presentation/Chat/Sources/Vote/Reducer/PreVoteFeature.swift +++ b/Projects/Presentation/Chat/Sources/Vote/Reducer/PreVoteFeature.swift @@ -11,12 +11,10 @@ import UIKit import BattleDomainInterface import CommonDomainInterface import ComposableArchitecture -import DomainInterface -import Entity import LogMacro import PerspectiveDomainInterface import PickeDesignKit -import UseCase +import AnalyticsServiceInterface @Reducer public struct PreVoteFeature { diff --git a/Projects/Presentation/Chat/Sources/Vote/View/PreVoteView.swift b/Projects/Presentation/Chat/Sources/Vote/View/PreVoteView.swift index a5ad9269..c042a28a 100644 --- a/Projects/Presentation/Chat/Sources/Vote/View/PreVoteView.swift +++ b/Projects/Presentation/Chat/Sources/Vote/View/PreVoteView.swift @@ -9,7 +9,6 @@ import SwiftUI import BattleDomainInterface import ComposableArchitecture -import Entity import Kingfisher import PickeDesignKit diff --git a/Projects/Presentation/Hifi/Project.swift b/Projects/Presentation/Hifi/Project.swift index 01d5cf2d..8afb20c3 100644 --- a/Projects/Presentation/Hifi/Project.swift +++ b/Projects/Presentation/Hifi/Project.swift @@ -10,11 +10,15 @@ let project = Project.configure( product: .staticFramework, settings: .settings(), dependencies: [ - .Shared(implements: .Shared), + .Domain(.Battle, .interface), + .DesignSystem, + .Core(.PickeFoundation), + .Service(.Analytics, .interface), + .Core(.PickeCore), // 탐색 리스트 인라인 배너 광고 — 광고를 노출하는 화면만 명시적으로 의존한다. - .Shared(implements: .AdKit), + .Service(.Ad), .Domain(.Home, .interface), - .Domain(implements: .UseCase), + .Domain(.Search, .interface), .Domain(.Notification, .interface), .SPM.composableArchitecture, diff --git a/Projects/Presentation/Hifi/Sources/Reducer/HifiFeature.swift b/Projects/Presentation/Hifi/Sources/Reducer/HifiFeature.swift index 68740304..a232d978 100644 --- a/Projects/Presentation/Hifi/Sources/Reducer/HifiFeature.swift +++ b/Projects/Presentation/Hifi/Sources/Reducer/HifiFeature.swift @@ -7,12 +7,12 @@ import Foundation import SearchDomainInterface import ComposableArchitecture -import Entity import HifiInterface import HomeDomainInterface import LogMacro import NotificationDomainInterface -import UseCase +import AnalyticsServiceInterface +import BattleDomainInterface @Reducer public struct HifiFeature { @@ -50,6 +50,8 @@ public struct HifiFeature { case itemTapped(id: Int) case reachedBottom case notificationTapped + /// 탐색 화면 배너 광고 클릭 + case adBannerClicked } public enum AsyncAction: Equatable { @@ -129,6 +131,10 @@ extension HifiFeature { // 무한 스크롤: 다음 페이지가 있고 로딩 중이 아니면 추가 로드. guard state.hasNext, !state.isLoading else { return .none } return .send(.async(.searchRequested(reset: false))) + + case .adBannerClicked: + analyticsUseCase.track(.adClick(AdClickData(placement: .explore, format: .banner, unit: "ADFIT_BANNER_320X100"))) + return .none } } diff --git a/Projects/Presentation/Hifi/Sources/View/HifiView.swift b/Projects/Presentation/Hifi/Sources/View/HifiView.swift index f973f4ec..7203b354 100644 --- a/Projects/Presentation/Hifi/Sources/View/HifiView.swift +++ b/Projects/Presentation/Hifi/Sources/View/HifiView.swift @@ -5,13 +5,12 @@ import SwiftUI -import AdKit import ComposableArchitecture -import Entity import HomeDomainInterface import Kingfisher import PickeDesignKit -import Utill +import PickeFoundation +import AdService @ViewAction(for: HifiFeature.self) public struct HifiView: View { @@ -142,7 +141,8 @@ private extension HifiView { func adBannerRow() -> some View { AdFitBannerView( unit: .size320x100, - insets: EdgeInsets(top: 12, leading: 16, bottom: 12, trailing: 16) + insets: EdgeInsets(top: 12, leading: 16, bottom: 12, trailing: 16), + onAdClick: { send(.adBannerClicked) } ) } diff --git a/Projects/Presentation/Home/Project.swift b/Projects/Presentation/Home/Project.swift index 7fe5a9a9..779ce36d 100644 --- a/Projects/Presentation/Home/Project.swift +++ b/Projects/Presentation/Home/Project.swift @@ -10,15 +10,18 @@ let project = Project.configure( product: .staticFramework, settings: .settings(), dependencies: [ + .Domain(.Auth, .interface), + .DesignSystem, + .Service(.Analytics, .interface), .SPM.tcaFlow, .SPM.kingfisher, .Domain(.Attendance, .interface), .Domain(.Battle, .interface), .Domain(.Home, .interface), - .Domain(implements: .UseCase), + .Domain(.Notification, .interface), - .Shared(implements: .Shared), + .Core(.PickeCore), // 홈 피드 중간 배너 광고 — 광고를 노출하는 화면만 명시적으로 의존한다. - .Shared(implements: .AdKit), + .Service(.Ad), ] ) diff --git a/Projects/Presentation/Home/Sources/Common/PhilosopherAvatar+ImageAsset.swift b/Projects/Presentation/Home/Sources/Common/PhilosopherAvatar+ImageAsset.swift index c1162451..749f8376 100644 --- a/Projects/Presentation/Home/Sources/Common/PhilosopherAvatar+ImageAsset.swift +++ b/Projects/Presentation/Home/Sources/Common/PhilosopherAvatar+ImageAsset.swift @@ -4,7 +4,6 @@ // import PickeDesignKit -import Entity import BattleDomainInterface extension PhilosopherAvatar { diff --git a/Projects/Presentation/Home/Sources/Main/Reducer/HomeFeature.swift b/Projects/Presentation/Home/Sources/Main/Reducer/HomeFeature.swift index b054a6c5..93a7ccce 100644 --- a/Projects/Presentation/Home/Sources/Main/Reducer/HomeFeature.swift +++ b/Projects/Presentation/Home/Sources/Main/Reducer/HomeFeature.swift @@ -7,15 +7,14 @@ import AttendanceDomainInterface import ComposableArchitecture -import DomainInterface -import Entity import Foundation import HomeDomainInterface import HomeInterface import LogMacro import NotificationDomainInterface -import Shared -import UseCase +import PickeCore +import AnalyticsServiceInterface +import AuthDomainInterface @Reducer public struct HomeFeature { @@ -68,6 +67,8 @@ public struct HomeFeature { case bestBattleTapped(BestBattle) case newBattleTapped(NewBattle) case notificationTapped + /// 홈 피드 네이티브 광고 클릭 + case adNativeClicked } public enum Section: Equatable { @@ -200,6 +201,10 @@ extension HomeFeature { case .notificationTapped: analyticsUseCase.track(.uiAction(action: .homeNotification, screen: .home)) return .send(.delegate(.openNotification)) + + case .adNativeClicked: + analyticsUseCase.track(.adClick(AdClickData(placement: .home, format: .native, unit: "ADFIT_NATIVE_2_1"))) + return .none } } diff --git a/Projects/Presentation/Home/Sources/Main/View/Components/BestBattleCardView.swift b/Projects/Presentation/Home/Sources/Main/View/Components/BestBattleCardView.swift index d05992d5..a4fc07ec 100644 --- a/Projects/Presentation/Home/Sources/Main/View/Components/BestBattleCardView.swift +++ b/Projects/Presentation/Home/Sources/Main/View/Components/BestBattleCardView.swift @@ -7,7 +7,6 @@ import SwiftUI -import Entity import HomeDomainInterface import PickeDesignKit diff --git a/Projects/Presentation/Home/Sources/Main/View/Components/HeroCarouselView.swift b/Projects/Presentation/Home/Sources/Main/View/Components/HeroCarouselView.swift index eca3d08f..a43acb08 100644 --- a/Projects/Presentation/Home/Sources/Main/View/Components/HeroCarouselView.swift +++ b/Projects/Presentation/Home/Sources/Main/View/Components/HeroCarouselView.swift @@ -7,7 +7,6 @@ import SwiftUI -import Entity import HomeDomainInterface import PickeDesignKit diff --git a/Projects/Presentation/Home/Sources/Main/View/Components/HotBattleCardView.swift b/Projects/Presentation/Home/Sources/Main/View/Components/HotBattleCardView.swift index 08edb507..555527bf 100644 --- a/Projects/Presentation/Home/Sources/Main/View/Components/HotBattleCardView.swift +++ b/Projects/Presentation/Home/Sources/Main/View/Components/HotBattleCardView.swift @@ -7,7 +7,6 @@ import SwiftUI -import Entity import HomeDomainInterface import PickeDesignKit diff --git a/Projects/Presentation/Home/Sources/Main/View/Components/NewBattleCardView.swift b/Projects/Presentation/Home/Sources/Main/View/Components/NewBattleCardView.swift index 6f17da8f..3e4a583b 100644 --- a/Projects/Presentation/Home/Sources/Main/View/Components/NewBattleCardView.swift +++ b/Projects/Presentation/Home/Sources/Main/View/Components/NewBattleCardView.swift @@ -7,7 +7,6 @@ import SwiftUI -import Entity import HomeDomainInterface import PickeDesignKit diff --git a/Projects/Presentation/Home/Sources/Main/View/Components/QuizCardView.swift b/Projects/Presentation/Home/Sources/Main/View/Components/QuizCardView.swift index c674fecb..59dad27e 100644 --- a/Projects/Presentation/Home/Sources/Main/View/Components/QuizCardView.swift +++ b/Projects/Presentation/Home/Sources/Main/View/Components/QuizCardView.swift @@ -7,7 +7,6 @@ import SwiftUI -import Entity import HomeDomainInterface import PickeDesignKit diff --git a/Projects/Presentation/Home/Sources/Main/View/Components/VoteCardView.swift b/Projects/Presentation/Home/Sources/Main/View/Components/VoteCardView.swift index cac38cdb..2bc7879f 100644 --- a/Projects/Presentation/Home/Sources/Main/View/Components/VoteCardView.swift +++ b/Projects/Presentation/Home/Sources/Main/View/Components/VoteCardView.swift @@ -7,7 +7,6 @@ import SwiftUI -import Entity import HomeDomainInterface import PickeDesignKit diff --git a/Projects/Presentation/Home/Sources/Main/View/HomeView.swift b/Projects/Presentation/Home/Sources/Main/View/HomeView.swift index ddd7ffb6..bc7d4910 100644 --- a/Projects/Presentation/Home/Sources/Main/View/HomeView.swift +++ b/Projects/Presentation/Home/Sources/Main/View/HomeView.swift @@ -7,12 +7,11 @@ import SwiftUI -import Entity import HomeDomainInterface import PickeDesignKit -import AdKit import ComposableArchitecture +import AdService @ViewAction(for: HomeFeature.self) public struct HomeView: View { @@ -47,7 +46,7 @@ public struct HomeView: View { } // 광고가 없으면 AdFitNativeAdView 가 스스로 접혀 높이 0 이 된다 — // 섹션 간 spacing 32 가 두 번 겹치지 않도록 여백은 따로 주지 않는다. - AdFitNativeAdView(unit: .wide) + AdFitNativeAdView(unit: .wide, onAdClick: { send(.adNativeClicked) }) .frame(maxWidth: .infinity) if !store.bestBattles.isEmpty { bestBattlesSection() diff --git a/Projects/Presentation/Home/Tests/Sources/HomeTests.swift b/Projects/Presentation/Home/Tests/Sources/HomeTests.swift index b3c4ec69..41180700 100644 --- a/Projects/Presentation/Home/Tests/Sources/HomeTests.swift +++ b/Projects/Presentation/Home/Tests/Sources/HomeTests.swift @@ -1,5 +1,4 @@ import ComposableArchitecture -import Entity import Foundation import HomeDomainInterface import Testing diff --git a/Projects/Presentation/Notification/Project.swift b/Projects/Presentation/Notification/Project.swift index 99a0fa06..e360aa5b 100644 --- a/Projects/Presentation/Notification/Project.swift +++ b/Projects/Presentation/Notification/Project.swift @@ -9,9 +9,13 @@ let project = Project.configure( bundleId: .appBundleID(name: ".Notification"), settings: .settings(), dependencies: [ + .Domain(.Common, .interface), + .DesignSystem, + .Core(.PickeFoundation), + .Service(.Analytics, .interface), .Domain(.Notification, .interface), - .Domain(implements: .UseCase), - .Shared(implements: .Shared), + + .Core(.PickeCore), .SPM.composableArchitecture, .SPM.tcaFlow, ] diff --git a/Projects/Presentation/Notification/Sources/Main/Reducer/NotificationFeature.swift b/Projects/Presentation/Notification/Sources/Main/Reducer/NotificationFeature.swift index d663a92e..bda32f6d 100644 --- a/Projects/Presentation/Notification/Sources/Main/Reducer/NotificationFeature.swift +++ b/Projects/Presentation/Notification/Sources/Main/Reducer/NotificationFeature.swift @@ -6,11 +6,11 @@ import Foundation import ComposableArchitecture -import Entity import LogMacro import NotificationDomainInterface -import Shared -import UseCase +import PickeCore +import AnalyticsServiceInterface +import CommonDomainInterface @Reducer public struct NotificationFeature { diff --git a/Projects/Presentation/Notification/Sources/Main/View/NotificationView.swift b/Projects/Presentation/Notification/Sources/Main/View/NotificationView.swift index 93ea45e5..13690467 100644 --- a/Projects/Presentation/Notification/Sources/Main/View/NotificationView.swift +++ b/Projects/Presentation/Notification/Sources/Main/View/NotificationView.swift @@ -8,7 +8,7 @@ import SwiftUI import ComposableArchitecture import NotificationDomainInterface import PickeDesignKit -import Utill +import PickeFoundation @ViewAction(for: NotificationFeature.self) public struct NotificationView: View { diff --git a/Projects/Presentation/Profile/Interface/Sources/ProfileInterface.swift b/Projects/Presentation/Profile/Interface/Sources/ProfileInterface.swift index 22e1ba88..054f13a6 100644 --- a/Projects/Presentation/Profile/Interface/Sources/ProfileInterface.swift +++ b/Projects/Presentation/Profile/Interface/Sources/ProfileInterface.swift @@ -1 +1,3 @@ +import ProfileDomainInterface + public enum ProfileInterface {} diff --git a/Projects/Presentation/Profile/Project.swift b/Projects/Presentation/Profile/Project.swift index 18e8177b..3b8da920 100644 --- a/Projects/Presentation/Profile/Project.swift +++ b/Projects/Presentation/Profile/Project.swift @@ -10,13 +10,19 @@ let project = Project.configure( product: .staticFramework, settings: .settings(), dependencies: [ + .Domain(.Common, .interface), + .DesignSystem, + .Core(.PickeFoundation), + .Core(.PickeStorage, .interface), + .Service(.Device, .interface), + .Service(.Analytics, .interface), .Domain(.Profile, .interface), .Domain(.Auth, .interface), .Domain(.Battle, .interface), .Domain(.Notification, .interface), - .Domain(implements: .UseCase), - .Shared(implements: .Shared), - .Shared(implements: .AdKit), // 마이페이지 하단 배너 광고 + + .Core(.PickeCore), + .Service(.Ad), // 마이페이지 하단 배너 광고 .SPM.composableArchitecture, .SPM.tcaFlow, .SPM.kingfisher, diff --git a/Projects/Presentation/Profile/Sources/BattleProposal/Reducer/BattleProposalFeature.swift b/Projects/Presentation/Profile/Sources/BattleProposal/Reducer/BattleProposalFeature.swift index cf10e4e3..c9c8a8c2 100644 --- a/Projects/Presentation/Profile/Sources/BattleProposal/Reducer/BattleProposalFeature.swift +++ b/Projects/Presentation/Profile/Sources/BattleProposal/Reducer/BattleProposalFeature.swift @@ -7,10 +7,8 @@ import Foundation import ComposableArchitecture import PickeDesignKit -import Entity import BattleDomainInterface import LogMacro -import UseCase @Reducer public struct BattleProposalFeature { diff --git a/Projects/Presentation/Profile/Sources/BattleProposal/View/BattleProposalView.swift b/Projects/Presentation/Profile/Sources/BattleProposal/View/BattleProposalView.swift index 12dd3722..4bbd769e 100644 --- a/Projects/Presentation/Profile/Sources/BattleProposal/View/BattleProposalView.swift +++ b/Projects/Presentation/Profile/Sources/BattleProposal/View/BattleProposalView.swift @@ -7,7 +7,6 @@ import SwiftUI import ComposableArchitecture import PickeDesignKit -import Entity import BattleDomainInterface @ViewAction(for: BattleProposalFeature.self) diff --git a/Projects/Presentation/Profile/Sources/BattleRecord/Reducer/BattleRecordFeature.swift b/Projects/Presentation/Profile/Sources/BattleRecord/Reducer/BattleRecordFeature.swift index fe131c2b..b2e97d04 100644 --- a/Projects/Presentation/Profile/Sources/BattleRecord/Reducer/BattleRecordFeature.swift +++ b/Projects/Presentation/Profile/Sources/BattleRecord/Reducer/BattleRecordFeature.swift @@ -7,9 +7,7 @@ import Foundation import ProfileDomainInterface import ComposableArchitecture -import Entity import LogMacro -import UseCase @Reducer public struct BattleRecordFeature { diff --git a/Projects/Presentation/Profile/Sources/BattleRecord/View/BattleRecordView.swift b/Projects/Presentation/Profile/Sources/BattleRecord/View/BattleRecordView.swift index 177b1fd0..d5a7c918 100644 --- a/Projects/Presentation/Profile/Sources/BattleRecord/View/BattleRecordView.swift +++ b/Projects/Presentation/Profile/Sources/BattleRecord/View/BattleRecordView.swift @@ -7,8 +7,8 @@ import SwiftUI import ComposableArchitecture import PickeDesignKit -import Entity -import Utill +import PickeFoundation +import ProfileDomainInterface @ViewAction(for: BattleRecordFeature.self) public struct BattleRecordView: View { diff --git a/Projects/Presentation/Profile/Sources/ContentActivity/Reducer/ContentActivityFeature.swift b/Projects/Presentation/Profile/Sources/ContentActivity/Reducer/ContentActivityFeature.swift index 1a98a516..aa324949 100644 --- a/Projects/Presentation/Profile/Sources/ContentActivity/Reducer/ContentActivityFeature.swift +++ b/Projects/Presentation/Profile/Sources/ContentActivity/Reducer/ContentActivityFeature.swift @@ -7,9 +7,7 @@ import Foundation import ProfileDomainInterface import ComposableArchitecture -import Entity import LogMacro -import UseCase @Reducer public struct ContentActivityFeature { diff --git a/Projects/Presentation/Profile/Sources/ContentActivity/View/ContentActivityView.swift b/Projects/Presentation/Profile/Sources/ContentActivity/View/ContentActivityView.swift index 40f1a0f7..b0f4d6ef 100644 --- a/Projects/Presentation/Profile/Sources/ContentActivity/View/ContentActivityView.swift +++ b/Projects/Presentation/Profile/Sources/ContentActivity/View/ContentActivityView.swift @@ -6,10 +6,10 @@ import SwiftUI import ComposableArchitecture -import Entity import Kingfisher import PickeDesignKit -import Utill +import PickeFoundation +import ProfileDomainInterface @ViewAction(for: ContentActivityFeature.self) public struct ContentActivityView: View { diff --git a/Projects/Presentation/Profile/Sources/Main/Reducer/ProfileFeature.swift b/Projects/Presentation/Profile/Sources/Main/Reducer/ProfileFeature.swift index 09005caf..57b74b34 100644 --- a/Projects/Presentation/Profile/Sources/Main/Reducer/ProfileFeature.swift +++ b/Projects/Presentation/Profile/Sources/Main/Reducer/ProfileFeature.swift @@ -7,11 +7,11 @@ import Foundation import ProfileDomainInterface import ComposableArchitecture -import Entity import LogMacro import NotificationDomainInterface import PickeDesignKit -import UseCase +import AdServiceInterface +import AnalyticsServiceInterface @Reducer public struct ProfileFeature { @@ -94,6 +94,7 @@ public struct ProfileFeature { case freeChargeTapped case philosopherTapped case menuTapped(MenuItem) + case adNativeClicked } public enum AsyncAction: Equatable { @@ -227,6 +228,10 @@ extension ProfileFeature { case let .menuTapped(item): return .send(.delegate(.menuSelected(item))) + + case .adNativeClicked: + analyticsUseCase.track(.adClick(AdClickData(placement: .mypage, format: .native, unit: "ADFIT_NATIVE_2_1"))) + return .none } } diff --git a/Projects/Presentation/Profile/Sources/Main/View/ProfileView.swift b/Projects/Presentation/Profile/Sources/Main/View/ProfileView.swift index 474b6a88..5c45380f 100644 --- a/Projects/Presentation/Profile/Sources/Main/View/ProfileView.swift +++ b/Projects/Presentation/Profile/Sources/Main/View/ProfileView.swift @@ -5,10 +5,10 @@ import SwiftUI -import AdKit import ComposableArchitecture import Kingfisher import PickeDesignKit +import AdService @ViewAction(for: ProfileFeature.self) public struct ProfileView: View { @@ -44,7 +44,8 @@ public struct ProfileView: View { // 마이페이지 하단 네이티브 광고 — 2:1(.wide) 규격, 좌우 여백 16. AdFitNativeAdView( unit: .wide, - insets: EdgeInsets(top: 12, leading: 16, bottom: 12, trailing: 16) + insets: EdgeInsets(top: 12, leading: 16, bottom: 12, trailing: 16), + onAdClick: { send(.adNativeClicked) } ) } } diff --git a/Projects/Presentation/Profile/Sources/Notice/Reducer/NoticeFeature.swift b/Projects/Presentation/Profile/Sources/Notice/Reducer/NoticeFeature.swift index bad59306..d3afad6f 100644 --- a/Projects/Presentation/Profile/Sources/Notice/Reducer/NoticeFeature.swift +++ b/Projects/Presentation/Profile/Sources/Notice/Reducer/NoticeFeature.swift @@ -6,9 +6,9 @@ import Foundation import ComposableArchitecture -import Entity import LogMacro import NotificationDomainInterface +import ProfileDomainInterface @Reducer public struct NoticeFeature { diff --git a/Projects/Presentation/Profile/Sources/Notice/View/NoticeView.swift b/Projects/Presentation/Profile/Sources/Notice/View/NoticeView.swift index dadd469d..378e078f 100644 --- a/Projects/Presentation/Profile/Sources/Notice/View/NoticeView.swift +++ b/Projects/Presentation/Profile/Sources/Notice/View/NoticeView.swift @@ -6,10 +6,10 @@ import SwiftUI import ComposableArchitecture -import Entity import NotificationDomainInterface import PickeDesignKit -import Utill +import PickeFoundation +import ProfileDomainInterface @ViewAction(for: NoticeFeature.self) public struct NoticeView: View { diff --git a/Projects/Presentation/Profile/Sources/NotificationSetting/Reducer/NotificationSettingFeature.swift b/Projects/Presentation/Profile/Sources/NotificationSetting/Reducer/NotificationSettingFeature.swift index ec12ef52..751a998f 100644 --- a/Projects/Presentation/Profile/Sources/NotificationSetting/Reducer/NotificationSettingFeature.swift +++ b/Projects/Presentation/Profile/Sources/NotificationSetting/Reducer/NotificationSettingFeature.swift @@ -7,9 +7,7 @@ import Foundation import ProfileDomainInterface import ComposableArchitecture -import Entity import LogMacro -import UseCase @Reducer public struct NotificationSettingFeature { diff --git a/Projects/Presentation/Profile/Sources/NotificationSetting/View/NotificationSettingView.swift b/Projects/Presentation/Profile/Sources/NotificationSetting/View/NotificationSettingView.swift index 59524663..e52faa8b 100644 --- a/Projects/Presentation/Profile/Sources/NotificationSetting/View/NotificationSettingView.swift +++ b/Projects/Presentation/Profile/Sources/NotificationSetting/View/NotificationSettingView.swift @@ -7,7 +7,7 @@ import SwiftUI import ComposableArchitecture import PickeDesignKit -import Entity +import ProfileDomainInterface @ViewAction(for: NotificationSettingFeature.self) public struct NotificationSettingView: View { diff --git a/Projects/Presentation/Profile/Sources/PointHistory/Reducer/PointHistoryFeature.swift b/Projects/Presentation/Profile/Sources/PointHistory/Reducer/PointHistoryFeature.swift index ff27fa6f..16fdd6ef 100644 --- a/Projects/Presentation/Profile/Sources/PointHistory/Reducer/PointHistoryFeature.swift +++ b/Projects/Presentation/Profile/Sources/PointHistory/Reducer/PointHistoryFeature.swift @@ -7,10 +7,8 @@ import Foundation import ProfileDomainInterface import ComposableArchitecture -import Entity import LogMacro import PickeDesignKit -import UseCase @Reducer public struct PointHistoryFeature { diff --git a/Projects/Presentation/Profile/Sources/PointHistory/View/PointHistoryView.swift b/Projects/Presentation/Profile/Sources/PointHistory/View/PointHistoryView.swift index 767b2e49..df5e1bfa 100644 --- a/Projects/Presentation/Profile/Sources/PointHistory/View/PointHistoryView.swift +++ b/Projects/Presentation/Profile/Sources/PointHistory/View/PointHistoryView.swift @@ -7,8 +7,8 @@ import SwiftUI import ComposableArchitecture import PickeDesignKit -import Entity -import Utill +import PickeFoundation +import ProfileDomainInterface @ViewAction(for: PointHistoryFeature.self) public struct PointHistoryView: View { diff --git a/Projects/Presentation/Profile/Sources/Recap/Reducer/RecapFeature.swift b/Projects/Presentation/Profile/Sources/Recap/Reducer/RecapFeature.swift index 33fec635..8a189dd1 100644 --- a/Projects/Presentation/Profile/Sources/Recap/Reducer/RecapFeature.swift +++ b/Projects/Presentation/Profile/Sources/Recap/Reducer/RecapFeature.swift @@ -8,9 +8,9 @@ import ProfileDomainInterface import UIKit import ComposableArchitecture -import Entity import LogMacro -import UseCase +import AnalyticsServiceInterface +import CommonDomainInterface @Reducer public struct RecapFeature { diff --git a/Projects/Presentation/Profile/Sources/Recap/View/Components/RecapLockedView.swift b/Projects/Presentation/Profile/Sources/Recap/View/Components/RecapLockedView.swift index 895bab1a..c5545480 100644 --- a/Projects/Presentation/Profile/Sources/Recap/View/Components/RecapLockedView.swift +++ b/Projects/Presentation/Profile/Sources/Recap/View/Components/RecapLockedView.swift @@ -6,7 +6,7 @@ import SwiftUI import PickeDesignKit -import Entity +import ProfileDomainInterface struct RecapLockedView: View { /// 잠금 장식용 레이더(블러) — picke.pen 잠금 그래프 라벨/형태(거의 꽉 찬 육각형). diff --git a/Projects/Presentation/Profile/Sources/Recap/View/Components/RecapMatchCard.swift b/Projects/Presentation/Profile/Sources/Recap/View/Components/RecapMatchCard.swift index d15b541a..cab63628 100644 --- a/Projects/Presentation/Profile/Sources/Recap/View/Components/RecapMatchCard.swift +++ b/Projects/Presentation/Profile/Sources/Recap/View/Components/RecapMatchCard.swift @@ -5,9 +5,9 @@ import SwiftUI -import Entity import Kingfisher import PickeDesignKit +import ProfileDomainInterface public struct RecapMatchCard: View { private let card: RecapCard diff --git a/Projects/Presentation/Profile/Sources/Recap/View/Components/RecapPhilosopherCard.swift b/Projects/Presentation/Profile/Sources/Recap/View/Components/RecapPhilosopherCard.swift index a1b04053..f46d52a1 100644 --- a/Projects/Presentation/Profile/Sources/Recap/View/Components/RecapPhilosopherCard.swift +++ b/Projects/Presentation/Profile/Sources/Recap/View/Components/RecapPhilosopherCard.swift @@ -5,9 +5,9 @@ import SwiftUI -import Entity import Kingfisher import PickeDesignKit +import ProfileDomainInterface public struct RecapPhilosopherCard: View { private let card: RecapCard diff --git a/Projects/Presentation/Profile/Sources/Recap/View/Components/RecapRadarChart.swift b/Projects/Presentation/Profile/Sources/Recap/View/Components/RecapRadarChart.swift index 3d0126c5..c002b65c 100644 --- a/Projects/Presentation/Profile/Sources/Recap/View/Components/RecapRadarChart.swift +++ b/Projects/Presentation/Profile/Sources/Recap/View/Components/RecapRadarChart.swift @@ -5,8 +5,8 @@ import SwiftUI -import Entity import PickeDesignKit +import ProfileDomainInterface public struct RecapRadarChart: View { private let axes: [RecapScoreAxis] diff --git a/Projects/Presentation/Profile/Sources/Recap/View/Components/RecapScoreBar.swift b/Projects/Presentation/Profile/Sources/Recap/View/Components/RecapScoreBar.swift index 62fe964d..60dd156d 100644 --- a/Projects/Presentation/Profile/Sources/Recap/View/Components/RecapScoreBar.swift +++ b/Projects/Presentation/Profile/Sources/Recap/View/Components/RecapScoreBar.swift @@ -6,7 +6,7 @@ import SwiftUI import PickeDesignKit -import Entity +import ProfileDomainInterface public struct RecapScoreBar: View { private let axis: RecapScoreAxis diff --git a/Projects/Presentation/Profile/Sources/Recap/View/RecapView.swift b/Projects/Presentation/Profile/Sources/Recap/View/RecapView.swift index 3e646631..5dab3b9c 100644 --- a/Projects/Presentation/Profile/Sources/Recap/View/RecapView.swift +++ b/Projects/Presentation/Profile/Sources/Recap/View/RecapView.swift @@ -6,9 +6,9 @@ import SwiftUI import ComposableArchitecture -import Entity import Kingfisher import PickeDesignKit +import ProfileDomainInterface @ViewAction(for: RecapFeature.self) public struct RecapView: View { diff --git a/Projects/Presentation/Profile/Sources/Settings/Reducer/SettingsFeature.swift b/Projects/Presentation/Profile/Sources/Settings/Reducer/SettingsFeature.swift index 859e902c..60a10baa 100644 --- a/Projects/Presentation/Profile/Sources/Settings/Reducer/SettingsFeature.swift +++ b/Projects/Presentation/Profile/Sources/Settings/Reducer/SettingsFeature.swift @@ -7,10 +7,11 @@ import Foundation import AuthDomainInterface import ComposableArchitecture -import Entity import LogMacro import PickeDesignKit -import UseCase +import AnalyticsServiceInterface +import DeviceServiceInterface +import PickeStorageInterface @Reducer public struct SettingsFeature { diff --git a/Projects/Presentation/Profile/Sources/Withdraw/Reducer/WithdrawReasonFeature.swift b/Projects/Presentation/Profile/Sources/Withdraw/Reducer/WithdrawReasonFeature.swift index 60939cc3..28c33757 100644 --- a/Projects/Presentation/Profile/Sources/Withdraw/Reducer/WithdrawReasonFeature.swift +++ b/Projects/Presentation/Profile/Sources/Withdraw/Reducer/WithdrawReasonFeature.swift @@ -9,7 +9,8 @@ import AuthDomainInterface import ComposableArchitecture import LogMacro import PickeDesignKit -import UseCase +import DeviceServiceInterface +import PickeStorageInterface @Reducer public struct WithdrawReasonFeature { diff --git a/Projects/Presentation/Splash/Project.swift b/Projects/Presentation/Splash/Project.swift index 0d80ecef..9341f77d 100644 --- a/Projects/Presentation/Splash/Project.swift +++ b/Projects/Presentation/Splash/Project.swift @@ -9,9 +9,13 @@ let project = Project.configure( bundleId: .appBundleID(name: ".Splash"), settings: .settings(), dependencies: [ + .DesignSystem, + .Domain(.AppUpdate, .interface), + .Core(.PickeStorage, .interface), + .Service(.Analytics, .interface), .SPM.composableArchitecture, .SPM.sdwebImageCore, - .Domain(implements: .UseCase), - .Shared(implements: .Shared), + + .Core(.PickeCore), ] ) diff --git a/Projects/Presentation/Splash/Sources/Reducer/SplashFeature.swift b/Projects/Presentation/Splash/Sources/Reducer/SplashFeature.swift index 2f4d7485..ed66eab4 100644 --- a/Projects/Presentation/Splash/Sources/Reducer/SplashFeature.swift +++ b/Projects/Presentation/Splash/Sources/Reducer/SplashFeature.swift @@ -7,12 +7,12 @@ import Foundation -import DomainInterface -import Entity -import UseCase import ComposableArchitecture import LogMacro +import AnalyticsServiceInterface +import AppUpdateDomainInterface +import PickeStorageInterface @Reducer public struct SplashFeature { diff --git a/Projects/Presentation/Splash/Tests/Sources/SplashTests.swift b/Projects/Presentation/Splash/Tests/Sources/SplashTests.swift index 28d7fc70..5a1cee02 100644 --- a/Projects/Presentation/Splash/Tests/Sources/SplashTests.swift +++ b/Projects/Presentation/Splash/Tests/Sources/SplashTests.swift @@ -8,9 +8,9 @@ import ComposableArchitecture import Testing -import DomainInterface -import Entity -import UseCase +import AnalyticsServiceInterface +import AppUpdateDomainInterface +import PickeStorageInterface @testable import Splash diff --git a/Projects/Presentation/Web/Project.swift b/Projects/Presentation/Web/Project.swift index 31fb22c0..8bd2b85a 100644 --- a/Projects/Presentation/Web/Project.swift +++ b/Projects/Presentation/Web/Project.swift @@ -9,7 +9,8 @@ let project = Project.configure( bundleId: .appBundleID(name: ".Web"), settings: .settings(), dependencies: [ + .DesignSystem, .SPM.composableArchitecture, - .Shared(implements: .Shared), + .Core(.PickeCore), ] ) diff --git a/Projects/Service/Ad/Interface/UseCase/RewardedAdClient.swift b/Projects/Service/Ad/Interface/UseCase/RewardedAdClient.swift new file mode 100644 index 00000000..cb912087 --- /dev/null +++ b/Projects/Service/Ad/Interface/UseCase/RewardedAdClient.swift @@ -0,0 +1,35 @@ +// +// RewardedAdClient.swift +// AdService +// + +import Foundation + +import ComposableArchitecture + +/// 리워드 광고 표시 계약. +/// +/// 이 타입은 GoogleMobileAds 를 알지 못한다. 실제로 광고를 로드/표시하는 구현은 +/// `AdService`(Sources) 의 `liveValue` 에만 있고, 화면들은 이 인터페이스만 의존한다. +public struct RewardedAdClient: Sendable { + /// 리워드 광고를 로드/표시하고 보상 획득 여부를 반환. + public var showRewardedAd: @Sendable () async -> Bool + + public init(showRewardedAd: @escaping @Sendable () async -> Bool) { + self.showRewardedAd = showRewardedAd + } +} + +/// 테스트/프리뷰 기본값은 인터페이스가 갖는다. `liveValue` 는 구현 모듈이 `DependencyKey` 로 채운다 +/// — 그래야 테스트 타깃이 GoogleMobileAds SDK 를 링크하지 않는다. +extension RewardedAdClient: TestDependencyKey { + public static let testValue = RewardedAdClient(showRewardedAd: { false }) + public static let previewValue = testValue +} + +public extension DependencyValues { + var rewardedAdClient: RewardedAdClient { + get { self[RewardedAdClient.self] } + set { self[RewardedAdClient.self] = newValue } + } +} diff --git a/Projects/Service/Ad/Project.swift b/Projects/Service/Ad/Project.swift new file mode 100644 index 00000000..1a94de47 --- /dev/null +++ b/Projects/Service/Ad/Project.swift @@ -0,0 +1,23 @@ +import DependencyPackagePlugin +import DependencyPlugin +import Foundation +import ProjectDescription +import ProjectTemplatePlugin + +let project = Project.configure( + moduleType: .microModule(name: "AdService"), + bundleId: .appBundleID(name: ".AdService"), + // 정적 프레임워크로 둔다. GoogleMobileAds 는 Tuist 에서 동적으로 매핑돼 있고 GAD 심볼은 + // 그 안의 xcframework 에 있어, 이 모듈이 동적이면 자기 링크 시점에 GADRewardedAd/GADRequest 를 + // 못 풀고 실패한다(이전엔 UseCase 가 정적이라 앱 링크로 넘어가 해결됐다). + product: .staticFramework, + settings: .settings(), + dependencies: [ + .SPM.adFit, + .SPM.googleMobileAds, + .Service(.Analytics, .interface), + ], + interfaceDependencies: [ + .SPM.composableArchitecture, + ] +) diff --git a/Projects/Shared/AdKit/Sources/AdBannerSkeletonView.swift b/Projects/Service/Ad/Sources/AdBannerSkeletonView.swift similarity index 98% rename from Projects/Shared/AdKit/Sources/AdBannerSkeletonView.swift rename to Projects/Service/Ad/Sources/AdBannerSkeletonView.swift index 081cda2c..7dfb575c 100644 --- a/Projects/Shared/AdKit/Sources/AdBannerSkeletonView.swift +++ b/Projects/Service/Ad/Sources/AdBannerSkeletonView.swift @@ -1,6 +1,6 @@ // // AdBannerSkeletonView.swift -// AdKit +// AdService // import SwiftUI diff --git a/Projects/Shared/AdKit/Sources/AdFitBannerView.swift b/Projects/Service/Ad/Sources/AdFitBannerView.swift similarity index 93% rename from Projects/Shared/AdKit/Sources/AdFitBannerView.swift rename to Projects/Service/Ad/Sources/AdFitBannerView.swift index 4d9a5837..ac8fcedb 100644 --- a/Projects/Shared/AdKit/Sources/AdFitBannerView.swift +++ b/Projects/Service/Ad/Sources/AdFitBannerView.swift @@ -59,6 +59,7 @@ public struct AdFitBannerView: View { private let unit: AdFitBannerUnit private let insets: EdgeInsets private let alignment: Alignment + private let onAdClick: () -> Void /// 배너 로드 진행 상태. 로딩 동안은 스켈레톤, 성공하면 광고, 실패하면 자리를 접는다. private enum LoadState { @@ -76,14 +77,18 @@ public struct AdFitBannerView: View { /// 주변 콘텐츠와 좌측 라인을 맞추려면 호출부가 콘텐츠와 동일한 여백을 넘겨준다. /// 광고가 없으면 뷰가 통째로 접혀 이 여백도 남지 않는다. /// - alignment: 고정폭 배너의 정렬. 콘텐츠 좌측에 맞추려면 `.leading`. + /// - onAdClick: 배너를 눌렀을 때. AdKit 은 분석 모듈을 의존하지 않으므로 + /// 트래킹은 호출한 화면이 담당한다. public init( unit: AdFitBannerUnit = .size320x50, insets: EdgeInsets = EdgeInsets(), - alignment: Alignment = .center + alignment: Alignment = .center, + onAdClick: @escaping () -> Void = {} ) { self.unit = unit self.insets = insets self.alignment = alignment + self.onAdClick = onAdClick } public var body: some View { @@ -99,6 +104,7 @@ public struct AdFitBannerView: View { // 노출할 광고가 없는 경우(에러 코드 2)도 포함해 실패하면 자리를 비운다. loadState = (error == nil) ? .loaded : .failed } + .onDidClickAd { _ in onAdClick() } .onSizeThatFits(orientation: $orientation, width: contentWidth) .frame( width: max(contentWidth, 1), diff --git a/Projects/Shared/AdKit/Sources/AdFitNativeAdView.swift b/Projects/Service/Ad/Sources/AdFitNativeAdView.swift similarity index 90% rename from Projects/Shared/AdKit/Sources/AdFitNativeAdView.swift rename to Projects/Service/Ad/Sources/AdFitNativeAdView.swift index 323e91d2..8204d04e 100644 --- a/Projects/Shared/AdKit/Sources/AdFitNativeAdView.swift +++ b/Projects/Service/Ad/Sources/AdFitNativeAdView.swift @@ -1,6 +1,6 @@ // // AdFitNativeAdView.swift -// AdKit +// AdService // import OSLog @@ -49,6 +49,7 @@ public struct AdFitNativeAdView: View { private let unit: AdFitNativeAdUnit private let insets: EdgeInsets + private let onAdClick: () -> Void /// 광고 수신 완료 여부. 완료 전까지는 스켈레톤으로 자리를 잡는다. @State private var loaded = false @@ -58,12 +59,16 @@ public struct AdFitNativeAdView: View { /// - unit: 노출할 네이티브 광고 비율. /// - insets: 광고가 **실제로 노출될 때만** 적용되는 여백. 광고 단위가 없으면 /// 뷰가 통째로 접혀 이 여백도 남지 않는다. + /// - onAdClick: 광고를 눌렀을 때. AdKit 은 분석 모듈을 의존하지 않으므로 + /// 트래킹은 호출한 화면이 담당한다. public init( unit: AdFitNativeAdUnit, - insets: EdgeInsets = EdgeInsets() + insets: EdgeInsets = EdgeInsets(), + onAdClick: @escaping () -> Void = {} ) { self.unit = unit self.insets = insets + self.onAdClick = onAdClick } public var body: some View { @@ -90,7 +95,8 @@ public struct AdFitNativeAdView: View { Self.logger.error( "AdFit 네이티브 광고 수신 실패: \(unit.infoPlistKey, privacy: .public), domain=\(nsError.domain, privacy: .public), code=\(nsError.code), \(error.localizedDescription, privacy: .public)" ) - } + }, + onClick: onAdClick ) .aspectRatio(unit.aspectRatio, contentMode: .fit) .opacity(loaded ? 1 : 0) @@ -118,6 +124,7 @@ private struct AdFitNativeAdRepresentable: UIViewRepresentable { @Binding var failed: Bool let onReceive: () -> Void let onFailure: (Error) -> Void + let onClick: () -> Void func makeCoordinator() -> Coordinator { Coordinator( @@ -125,7 +132,8 @@ private struct AdFitNativeAdRepresentable: UIViewRepresentable { loaded: $loaded, failed: $failed, onReceive: onReceive, - onFailure: onFailure + onFailure: onFailure, + onClick: onClick ) } @@ -146,12 +154,13 @@ private struct AdFitNativeAdRepresentable: UIViewRepresentable { } @MainActor - final class Coordinator: NSObject, AdFitNativeAdLoaderDelegate { + final class Coordinator: NSObject, AdFitNativeAdLoaderDelegate, AdFitNativeAdDelegate { private let loader: AdFitNativeAdLoader private let loaded: Binding private let failed: Binding private let onReceive: () -> Void private let onFailure: (Error) -> Void + private let onClick: () -> Void private weak var nativeAdView: PlainNativeAdView? private var nativeAd: AdFitNativeAd? private var retryTask: Task? @@ -162,7 +171,7 @@ private struct AdFitNativeAdRepresentable: UIViewRepresentable { .seconds(15), .seconds(30), .seconds(60), - .seconds(120) + .seconds(120), ] init( @@ -170,13 +179,15 @@ private struct AdFitNativeAdRepresentable: UIViewRepresentable { loaded: Binding, failed: Binding, onReceive: @escaping () -> Void, - onFailure: @escaping (Error) -> Void + onFailure: @escaping (Error) -> Void, + onClick: @escaping () -> Void ) { loader = AdFitNativeAdLoader(clientId: clientId) self.loaded = loaded self.failed = failed self.onReceive = onReceive self.onFailure = onFailure + self.onClick = onClick super.init() loader.delegate = self } @@ -217,6 +228,7 @@ private struct AdFitNativeAdRepresentable: UIViewRepresentable { retryTask = nil isRequesting = false self.nativeAd = nativeAd + nativeAd.delegate = self nativeAd.rootViewController = nativeAdView.window?.rootViewController nativeAd.bind(nativeAdView) failed.wrappedValue = false @@ -224,8 +236,12 @@ private struct AdFitNativeAdRepresentable: UIViewRepresentable { onReceive() } + func nativeAdDidClickAd(_: AdFitNativeAd) { + onClick() + } + func nativeAdLoaderDidFailToReceiveAd( - _ nativeAdLoader: AdFitNativeAdLoader, + _: AdFitNativeAdLoader, error: Error ) { isRequesting = false diff --git a/Projects/Shared/AdKit/Sources/AppStartPopupAd.swift b/Projects/Service/Ad/Sources/AppStartPopupAd.swift similarity index 86% rename from Projects/Shared/AdKit/Sources/AppStartPopupAd.swift rename to Projects/Service/Ad/Sources/AppStartPopupAd.swift index 64e826d7..de202449 100644 --- a/Projects/Shared/AdKit/Sources/AppStartPopupAd.swift +++ b/Projects/Service/Ad/Sources/AppStartPopupAd.swift @@ -1,10 +1,10 @@ // // AppStartPopupAd.swift -// AdKit +// AdService // -import UIKit import OSLog +import UIKit import AdFitSDK @@ -12,9 +12,12 @@ import AdFitSDK public enum AppStartPopupAd { /// 메인 화면 진입 후 호출할 때마다 팝업을 시도한다. /// 광고 단위가 없거나 로드에 실패하면 아무것도 뜨지 않는다(무해). + /// + /// - Parameter onAdClick: 팝업을 눌렀을 때. AdKit 은 분석 모듈을 의존하지 않으므로 + /// 트래킹은 호출한 화면이 담당한다. @MainActor - public static func presentIfNeeded() { - AppStartPopupAdPresenter.shared.presentIfNeeded() + public static func presentIfNeeded(onAdClick: @escaping () -> Void = {}) { + AppStartPopupAdPresenter.shared.presentIfNeeded(onAdClick: onAdClick) } } @@ -29,10 +32,12 @@ final class AppStartPopupAdPresenter: NSObject, SuperboardPopUpDelegate { ) private var popUp: SuperboardPopUp? + private var onAdClick: () -> Void = {} override private init() {} - func presentIfNeeded() { + func presentIfNeeded(onAdClick: @escaping () -> Void = {}) { + self.onAdClick = onAdClick guard popUp == nil else { Self.logger.debug("AdFit 앱 전환 광고 건너뜀: 이미 요청 중") return @@ -71,6 +76,7 @@ final class AppStartPopupAdPresenter: NSObject, SuperboardPopUpDelegate { func adViewDidClickAd() { Self.logger.info("AdFit 앱 전환 광고 클릭") + onAdClick() } func adViewControllerClickClose() { diff --git a/Projects/Domain/UseCase/Sources/Ad/RewardedAdClient.swift b/Projects/Service/Ad/Sources/UseCase/RewardedAdClient+Live.swift similarity index 76% rename from Projects/Domain/UseCase/Sources/Ad/RewardedAdClient.swift rename to Projects/Service/Ad/Sources/UseCase/RewardedAdClient+Live.swift index 0a71b5ab..a6e27f7c 100644 --- a/Projects/Domain/UseCase/Sources/Ad/RewardedAdClient.swift +++ b/Projects/Service/Ad/Sources/UseCase/RewardedAdClient+Live.swift @@ -1,39 +1,30 @@ // -// RewardedAdClient.swift -// UseCase +// RewardedAdClient+Live.swift +// AdService // import Foundation +import UIKit +import AdServiceInterface +import AnalyticsServiceInterface import ComposableArchitecture -import LogMacro - import GoogleMobileAds -import UIKit - -public struct RewardedAdClient: Sendable { - /// 리워드 광고를 로드/표시하고 보상 획득 여부를 반환. - public var showRewardedAd: @Sendable () async -> Bool +import LogMacro - public init(showRewardedAd: @escaping @Sendable () async -> Bool) { - self.showRewardedAd = showRewardedAd - } -} +// MARK: - Live extension RewardedAdClient: DependencyKey { public static let liveValue = RewardedAdClient( - showRewardedAd: { await RewardedAdPresenter().present() } + showRewardedAd: { + @Dependency(\.analyticsUseCase) var analyticsUseCase + // 클로저에 UseCase 통째로 붙잡지 않도록 track 만 떼어 넘긴다(Sendable). + let track = analyticsUseCase.track + return await RewardedAdPresenter( + onClick: { track(.adClick(AdClickData(placement: .charge, format: .rewarded))) } + ).present() + } ) - - public static let testValue = RewardedAdClient(showRewardedAd: { false }) - public static let previewValue = testValue -} - -public extension DependencyValues { - var rewardedAdClient: RewardedAdClient { - get { self[RewardedAdClient.self] } - set { self[RewardedAdClient.self] = newValue } - } } /// 리워드 광고 1회 표시를 책임지는 프레젠터. 표시 종료(보상/닫힘/실패)까지 self 를 유지한다. @@ -52,6 +43,14 @@ private final class RewardedAdPresenter: NSObject, FullScreenContentDelegate { private var earnedReward = false private var retainSelf: RewardedAdPresenter? + /// 광고 클릭 시 호출. 트래킹은 호출부(liveValue)가 주입해 프레젠터는 분석 모듈을 모른다. + private let onClick: @Sendable () -> Void + + init(onClick: @escaping @Sendable () -> Void) { + self.onClick = onClick + super.init() + } + func present() async -> Bool { do { let ad = try await RewardedAd.load(with: adUnitID, request: Request()) @@ -83,6 +82,11 @@ private final class RewardedAdPresenter: NSObject, FullScreenContentDelegate { finish(earnedReward) } + func adDidRecordClick(_: FullScreenPresentingAd) { + Log.debug("[RewardedAd] 광고 클릭") + onClick() + } + func ad(_: FullScreenPresentingAd, didFailToPresentFullScreenContentWithError error: Error) { Log.error("[RewardedAd] 광고 표시 실패: \(error.localizedDescription)") finish(false) diff --git a/Projects/Service/Ad/Testing/AdServiceTesting.swift b/Projects/Service/Ad/Testing/AdServiceTesting.swift new file mode 100644 index 00000000..e79aca31 --- /dev/null +++ b/Projects/Service/Ad/Testing/AdServiceTesting.swift @@ -0,0 +1,8 @@ +// +// AdServiceTesting.swift +// AdServiceTesting +// + +import AdServiceInterface + +public enum AdServiceTesting {} diff --git a/Projects/Service/Ad/Tests/AdServiceTests.swift b/Projects/Service/Ad/Tests/AdServiceTests.swift new file mode 100644 index 00000000..ae6720bf --- /dev/null +++ b/Projects/Service/Ad/Tests/AdServiceTests.swift @@ -0,0 +1,14 @@ +// +// AdServiceTests.swift +// AdServiceTests +// + +@testable import AdService +import Testing + +struct AdServiceTests { + @Test + func adServiceExample() { + #expect(true) + } +} diff --git a/Projects/Service/Analytics/Interface/Event/AdClickData.swift b/Projects/Service/Analytics/Interface/Event/AdClickData.swift new file mode 100644 index 00000000..892d2e2d --- /dev/null +++ b/Projects/Service/Analytics/Interface/Event/AdClickData.swift @@ -0,0 +1,27 @@ +// +// AdClickData.swift +// UseCase +// + +import Foundation + +/// 광고 노출 형태. 같은 지면이라도 형태가 다르면 클릭 성격이 달라 따로 본다. +public enum AdFormat: String, Sendable { + case banner + case native + case popup + case rewarded +} + +public struct AdClickData: Sendable { + public let placement: AdPlacement + public let format: AdFormat + /// 광고 단위 식별자(Info.plist 키). 지면이 같아도 단위별 성과를 나눠 보기 위해 남긴다. + public let unit: String? + + public init(placement: AdPlacement, format: AdFormat, unit: String? = nil) { + self.placement = placement + self.format = format + self.unit = unit + } +} diff --git a/Projects/Service/Analytics/Interface/Event/AdPlacement.swift b/Projects/Service/Analytics/Interface/Event/AdPlacement.swift new file mode 100644 index 00000000..50b0fb03 --- /dev/null +++ b/Projects/Service/Analytics/Interface/Event/AdPlacement.swift @@ -0,0 +1,22 @@ +// +// AdPlacement.swift +// UseCase +// + +import Foundation + +/// 광고가 놓인 자리. ad_revenue(리워드 시청 완료)와 ad_click(광고 클릭)이 함께 쓴다. +public enum AdPlacement: String, Sendable { + /// 충전소 리워드 광고. 이미 쌓인 ad_revenue 데이터와 값이 끊기지 않도록 표기를 그대로 둔다. + case charge = "충전소" + /// 홈 피드 네이티브. + case home + /// 큐레이션 리스트 최상단 네이티브. + case curation + /// 마이페이지 하단 네이티브. + case mypage + /// 탐색(Hifi) 카드 사이 배너. + case explore + /// 앱 시작 전면 팝업. + case appStart = "app_start" +} diff --git a/Projects/Domain/UseCase/Sources/Analytics/Events/AnalyticsButton.swift b/Projects/Service/Analytics/Interface/Event/AnalyticsButton.swift similarity index 100% rename from Projects/Domain/UseCase/Sources/Analytics/Events/AnalyticsButton.swift rename to Projects/Service/Analytics/Interface/Event/AnalyticsButton.swift diff --git a/Projects/Domain/UseCase/Sources/Analytics/AnalyticsEvent.swift b/Projects/Service/Analytics/Interface/Event/AnalyticsEvent.swift similarity index 93% rename from Projects/Domain/UseCase/Sources/Analytics/AnalyticsEvent.swift rename to Projects/Service/Analytics/Interface/Event/AnalyticsEvent.swift index ee6bfb16..8dba8795 100644 --- a/Projects/Domain/UseCase/Sources/Analytics/AnalyticsEvent.swift +++ b/Projects/Service/Analytics/Interface/Event/AnalyticsEvent.swift @@ -16,6 +16,8 @@ public enum AnalyticsEvent: Sendable { case communityAction(CommunityActionData) /// 보상형 광고 시청 완료 시. case adRevenue(placement: AdPlacement) + /// 광고 클릭 시 (배너/네이티브/전면 팝업/리워드 공통). + case adClick(AdClickData) // MARK: 확장 (설계: analytics-mixpanel-design.md) diff --git a/Projects/Domain/UseCase/Sources/Analytics/Events/AnalyticsProvider.swift b/Projects/Service/Analytics/Interface/Event/AnalyticsProvider.swift similarity index 100% rename from Projects/Domain/UseCase/Sources/Analytics/Events/AnalyticsProvider.swift rename to Projects/Service/Analytics/Interface/Event/AnalyticsProvider.swift diff --git a/Projects/Domain/UseCase/Sources/Analytics/Events/AnalyticsScreen.swift b/Projects/Service/Analytics/Interface/Event/AnalyticsScreen.swift similarity index 100% rename from Projects/Domain/UseCase/Sources/Analytics/Events/AnalyticsScreen.swift rename to Projects/Service/Analytics/Interface/Event/AnalyticsScreen.swift diff --git a/Projects/Domain/UseCase/Sources/Analytics/Events/BattleStepData.swift b/Projects/Service/Analytics/Interface/Event/BattleStepData.swift similarity index 100% rename from Projects/Domain/UseCase/Sources/Analytics/Events/BattleStepData.swift rename to Projects/Service/Analytics/Interface/Event/BattleStepData.swift diff --git a/Projects/Domain/UseCase/Sources/Analytics/Events/CommunityActionData.swift b/Projects/Service/Analytics/Interface/Event/CommunityActionData.swift similarity index 100% rename from Projects/Domain/UseCase/Sources/Analytics/Events/CommunityActionData.swift rename to Projects/Service/Analytics/Interface/Event/CommunityActionData.swift diff --git a/Projects/Domain/UseCase/Sources/Analytics/Events/ContentActionData.swift b/Projects/Service/Analytics/Interface/Event/ContentActionData.swift similarity index 100% rename from Projects/Domain/UseCase/Sources/Analytics/Events/ContentActionData.swift rename to Projects/Service/Analytics/Interface/Event/ContentActionData.swift diff --git a/Projects/Domain/UseCase/Sources/Analytics/Events/EngagementAction.swift b/Projects/Service/Analytics/Interface/Event/EngagementAction.swift similarity index 100% rename from Projects/Domain/UseCase/Sources/Analytics/Events/EngagementAction.swift rename to Projects/Service/Analytics/Interface/Event/EngagementAction.swift diff --git a/Projects/Domain/UseCase/Sources/Analytics/Events/NotificationActionData.swift b/Projects/Service/Analytics/Interface/Event/NotificationActionData.swift similarity index 100% rename from Projects/Domain/UseCase/Sources/Analytics/Events/NotificationActionData.swift rename to Projects/Service/Analytics/Interface/Event/NotificationActionData.swift diff --git a/Projects/Domain/UseCase/Sources/Analytics/Events/OnboardingStep.swift b/Projects/Service/Analytics/Interface/Event/OnboardingStep.swift similarity index 100% rename from Projects/Domain/UseCase/Sources/Analytics/Events/OnboardingStep.swift rename to Projects/Service/Analytics/Interface/Event/OnboardingStep.swift diff --git a/Projects/Domain/UseCase/Sources/Analytics/Events/PlaybackAction.swift b/Projects/Service/Analytics/Interface/Event/PlaybackAction.swift similarity index 100% rename from Projects/Domain/UseCase/Sources/Analytics/Events/PlaybackAction.swift rename to Projects/Service/Analytics/Interface/Event/PlaybackAction.swift diff --git a/Projects/Domain/UseCase/Sources/Analytics/Events/PointActionData.swift b/Projects/Service/Analytics/Interface/Event/PointActionData.swift similarity index 100% rename from Projects/Domain/UseCase/Sources/Analytics/Events/PointActionData.swift rename to Projects/Service/Analytics/Interface/Event/PointActionData.swift diff --git a/Projects/Domain/UseCase/Sources/Analytics/Events/ReportActionData.swift b/Projects/Service/Analytics/Interface/Event/ReportActionData.swift similarity index 100% rename from Projects/Domain/UseCase/Sources/Analytics/Events/ReportActionData.swift rename to Projects/Service/Analytics/Interface/Event/ReportActionData.swift diff --git a/Projects/Domain/UseCase/Sources/Analytics/Events/ShareActionData.swift b/Projects/Service/Analytics/Interface/Event/ShareActionData.swift similarity index 100% rename from Projects/Domain/UseCase/Sources/Analytics/Events/ShareActionData.swift rename to Projects/Service/Analytics/Interface/Event/ShareActionData.swift diff --git a/Projects/Service/Analytics/Interface/UseCase/AnalyticsUseCase.swift b/Projects/Service/Analytics/Interface/UseCase/AnalyticsUseCase.swift new file mode 100644 index 00000000..2a1c382d --- /dev/null +++ b/Projects/Service/Analytics/Interface/UseCase/AnalyticsUseCase.swift @@ -0,0 +1,56 @@ +// +// AnalyticsUseCase.swift +// AnalyticsService +// + +import Foundation + +import ComposableArchitecture + +// MARK: - UseCase + +/// 유저 액션 트래킹 계약. +/// +/// 이 타입은 어떤 분석 SDK 도 알지 못한다. Mixpanel·Sentry 로 실제로 보내는 구현은 +/// `AnalyticsService`(Sources) 의 `liveValue` 에만 있고, 화면들은 이 인터페이스만 의존한다. +public struct AnalyticsUseCase: Sendable { + /// 앱 시작 시 공통 슈퍼 프로퍼티(os_type/app_version/build) 등록. + public var registerBaseProperties: @Sendable () -> Void + /// 로그인 성공 직후 유저 고유 ID 연결 + 로그인 슈퍼/유저 프로퍼티 설정. + public var identify: @Sendable (_ userID: String, _ method: String?) -> Void + /// 핵심 퍼널 이벤트 트래킹. + public var track: @Sendable (_ event: AnalyticsEvent) -> Void + /// 로그아웃/탈퇴 시 계정 분리(reset) + 공통 프로퍼티 재등록. + public var reset: @Sendable () -> Void + + public init( + registerBaseProperties: @escaping @Sendable () -> Void, + identify: @escaping @Sendable (_ userID: String, _ method: String?) -> Void, + track: @escaping @Sendable (_ event: AnalyticsEvent) -> Void, + reset: @escaping @Sendable () -> Void + ) { + self.registerBaseProperties = registerBaseProperties + self.identify = identify + self.track = track + self.reset = reset + } +} + +/// 테스트/프리뷰 기본값은 인터페이스가 갖는다. `liveValue` 는 구현 모듈이 `DependencyKey` 로 채운다 +/// — 그래야 테스트 타깃이 분석 SDK 를 링크하지 않는다. +extension AnalyticsUseCase: TestDependencyKey { + public static let testValue = AnalyticsUseCase( + registerBaseProperties: {}, + identify: { _, _ in }, + track: { _ in }, + reset: {} + ) + public static let previewValue = testValue +} + +public extension DependencyValues { + var analyticsUseCase: AnalyticsUseCase { + get { self[AnalyticsUseCase.self] } + set { self[AnalyticsUseCase.self] = newValue } + } +} diff --git a/Projects/Service/Analytics/Project.swift b/Projects/Service/Analytics/Project.swift new file mode 100644 index 00000000..5bacc300 --- /dev/null +++ b/Projects/Service/Analytics/Project.swift @@ -0,0 +1,23 @@ +import DependencyPackagePlugin +import DependencyPlugin +import Foundation +import ProjectDescription +import ProjectTemplatePlugin + +let project = Project.configure( + moduleType: .microModule(name: "AnalyticsService"), + bundleId: .appBundleID(name: ".AnalyticsService"), + product: .staticFramework, + settings: .settings(), + // 분석 SDK 는 구현 타깃에만 붙인다 — 화면들은 Interface 만 의존하므로 + // Mixpanel·Sentry 를 링크하지도, 이들이 바뀔 때 재컴파일되지도 않는다. + dependencies: [ + .SPM.mixpanel, + .SPM.mixpanelSessionReplay, + .SPM.sentry, + .SPM.logMarco, + ], + interfaceDependencies: [ + .SPM.composableArchitecture, + ] +) diff --git a/Projects/Domain/UseCase/Sources/Analytics/AnalyticsUseCase.swift b/Projects/Service/Analytics/Sources/UseCase/AnalyticsUseCase+Live.swift similarity index 63% rename from Projects/Domain/UseCase/Sources/Analytics/AnalyticsUseCase.swift rename to Projects/Service/Analytics/Sources/UseCase/AnalyticsUseCase+Live.swift index 51181e53..4f16d026 100644 --- a/Projects/Domain/UseCase/Sources/Analytics/AnalyticsUseCase.swift +++ b/Projects/Service/Analytics/Sources/UseCase/AnalyticsUseCase+Live.swift @@ -1,40 +1,18 @@ // -// AnalyticsUseCase.swift -// UseCase +// AnalyticsUseCase+Live.swift +// AnalyticsService // import Foundation +import AnalyticsServiceInterface import ComposableArchitecture -import Entity import LogMacro import Mixpanel import MixpanelSessionReplay +@preconcurrency import Sentry -// MARK: - UseCase - -public struct AnalyticsUseCase: Sendable { - /// 앱 시작 시 공통 슈퍼 프로퍼티(os_type/app_version/build) 등록. - public var registerBaseProperties: @Sendable () -> Void - /// 로그인 성공 직후 유저 고유 ID 연결 + 로그인 슈퍼/유저 프로퍼티 설정. - public var identify: @Sendable (_ userID: String, _ method: String?) -> Void - /// 핵심 퍼널 이벤트 트래킹. - public var track: @Sendable (_ event: AnalyticsEvent) -> Void - /// 로그아웃/탈퇴 시 계정 분리(reset) + 공통 프로퍼티 재등록. - public var reset: @Sendable () -> Void - - public init( - registerBaseProperties: @escaping @Sendable () -> Void, - identify: @escaping @Sendable (_ userID: String, _ method: String?) -> Void, - track: @escaping @Sendable (_ event: AnalyticsEvent) -> Void, - reset: @escaping @Sendable () -> Void - ) { - self.registerBaseProperties = registerBaseProperties - self.identify = identify - self.track = track - self.reset = reset - } -} +// MARK: - Live extension AnalyticsUseCase: DependencyKey { /// 모든 이벤트에 자동 첨부되는 공통 슈퍼 프로퍼티(플랫폼/버전). is_logged_in 은 identify/reset 이 관리. @@ -72,6 +50,13 @@ extension AnalyticsUseCase: DependencyKey { if !properties.isEmpty { mixpanel.people.set(properties: properties) } + + // Sentry 이슈에도 같은 유저를 붙인다 — 크래시가 누구에게 터졌는지 Mixpanel 과 동일 ID 로 대조된다. + let user = User(userId: userID) + if let method, !method.isEmpty { + user.data = ["login_provider": method] + } + SentrySDK.setUser(user) }, track: { event in let mixpanel = Mixpanel.mainInstance() @@ -79,21 +64,67 @@ extension AnalyticsUseCase: DependencyKey { let properties = eventProperties(event) #logDebug("Mixpanel track", ["event": name, "properties": String(describing: properties)]) mixpanel.track(event: name, properties: properties) + enrichPeopleProfile(mixpanel, event: event) + monitorInSentry(name: name, properties: properties, event: event) }, reset: { let mixpanel = Mixpanel.mainInstance() mixpanel.reset() // 슈퍼 프로퍼티 포함 전체 초기화 → 계정 분리. mixpanel.registerSuperProperties(baseSuperProperties()) // 공통 프로퍼티 재등록(is_logged_in 미포함 = 로그아웃). + SentrySDK.setUser(nil) // 다음 이슈가 이전 계정에 붙지 않도록 함께 끊는다. } ) - public static let testValue = AnalyticsUseCase( - registerBaseProperties: {}, - identify: { _, _ in }, - track: { _ in }, - reset: {} - ) - public static let previewValue = testValue + /// 트래킹한 유저 액션을 Sentry 에도 남긴다. 셋 다 목적이 다르다. + /// - breadcrumb: 크래시 직전 행동 흐름. Mixpanel 을 따로 열지 않고 이슈 화면에서 바로 읽는다. + /// - `user.action.count`: 액션 종류별 발생량. 배포 후 특정 화면 진입이 끊기면 여기서 먼저 보인다. + /// - `ad.click.count`: 광고 클릭만 따로 집계. 지면·형태별로 나눠 본다. + private static func monitorInSentry(name: String, properties: Properties, event: AnalyticsEvent) { + let attributes = properties.compactMapValues { $0 as? String } + + let breadcrumb = Breadcrumb(level: .info, category: "user.action") + breadcrumb.message = name + breadcrumb.data = properties.mapValues { $0 as Any } + SentrySDK.addBreadcrumb(breadcrumb) + + var metricAttributes: [String: any SentryAttributeValue] = ["event": name] + for (key, value) in attributes { + metricAttributes[key] = value + } + SentrySDK.metrics.count(key: "user.action.count", value: 1, attributes: metricAttributes) + + // 광고 클릭은 매출과 직결돼 별도 카운터 + 로그로 남긴다(로그는 검색/필터 대상). + guard case let .adClick(data) = event else { return } + SentrySDK.metrics.count( + key: "ad.click.count", + value: 1, + attributes: [ + "placement": data.placement.rawValue, + "format": data.format.rawValue, + ] + ) + SentrySDK.logger.info("ad_click", attributes: metricAttributes) + } + + /// Mixpanel 유저 프로필 누적. 이벤트만으론 "이 유저가 광고를 얼마나 누르는 사람인지" 를 + /// 코호트로 못 뽑아서, 사람 단위 지표를 함께 쌓는다. + private static func enrichPeopleProfile(_ mixpanel: MixpanelInstance, event: AnalyticsEvent) { + switch event { + case let .adClick(data): + mixpanel.people.increment(property: "ad_click_count", by: 1) + mixpanel.people.set(properties: [ + "last_ad_click_at": Date(), + "last_ad_placement": data.placement.rawValue, + ]) + + case let .adRevenue(placement): + mixpanel.people.increment(property: "ad_reward_count", by: 1) + mixpanel.people.set(properties: ["last_ad_reward_placement": placement.rawValue]) + + default: + break + } + } private static func eventName(_ event: AnalyticsEvent) -> String { switch event { @@ -102,6 +133,7 @@ extension AnalyticsUseCase: DependencyKey { case .reportAction: "report_action" case .communityAction: "community_action" case .adRevenue: "ad_revenue" + case .adClick: "ad_click" case .onboardingStep: "onboarding_step" case .pointAction: "point_action" case .notificationAction: "notification_action" @@ -148,6 +180,16 @@ extension AnalyticsUseCase: DependencyKey { case let .adRevenue(placement): return ["placement": placement.rawValue] + case let .adClick(data): + var properties: Properties = [ + "placement": data.placement.rawValue, + "format": data.format.rawValue, + ] + if let unit = data.unit { + properties["unit"] = unit + } + return properties + case let .onboardingStep(step, provider): var properties: Properties = ["step": step.rawValue] if let provider { @@ -207,10 +249,3 @@ extension AnalyticsUseCase: DependencyKey { } } } - -public extension DependencyValues { - var analyticsUseCase: AnalyticsUseCase { - get { self[AnalyticsUseCase.self] } - set { self[AnalyticsUseCase.self] = newValue } - } -} diff --git a/Projects/Service/Analytics/Testing/AnalyticsServiceTesting.swift b/Projects/Service/Analytics/Testing/AnalyticsServiceTesting.swift new file mode 100644 index 00000000..bfa25177 --- /dev/null +++ b/Projects/Service/Analytics/Testing/AnalyticsServiceTesting.swift @@ -0,0 +1,8 @@ +// +// AnalyticsServiceTesting.swift +// AnalyticsServiceTesting +// + +import AnalyticsServiceInterface + +public enum AnalyticsServiceTesting {} diff --git a/Projects/Service/Analytics/Tests/AnalyticsServiceTests.swift b/Projects/Service/Analytics/Tests/AnalyticsServiceTests.swift new file mode 100644 index 00000000..aa5b05d2 --- /dev/null +++ b/Projects/Service/Analytics/Tests/AnalyticsServiceTests.swift @@ -0,0 +1,14 @@ +// +// AnalyticsServiceTests.swift +// AnalyticsServiceTests +// + +@testable import AnalyticsService +import Testing + +struct AnalyticsServiceTests { + @Test + func analyticsServiceExample() { + #expect(true) + } +} diff --git a/Projects/Domain/DomainInterface/Sources/AudioPlayer/Interface/AudioPlayerInterface.swift b/Projects/Service/AudioPlayer/Interface/AudioPlayerInterface.swift similarity index 97% rename from Projects/Domain/DomainInterface/Sources/AudioPlayer/Interface/AudioPlayerInterface.swift rename to Projects/Service/AudioPlayer/Interface/AudioPlayerInterface.swift index db2bf446..a224d962 100644 --- a/Projects/Domain/DomainInterface/Sources/AudioPlayer/Interface/AudioPlayerInterface.swift +++ b/Projects/Service/AudioPlayer/Interface/AudioPlayerInterface.swift @@ -1,6 +1,6 @@ // // AudioPlayerInterface.swift -// DomainInterface +// AudioPlayerServiceInterface // import Dependencies diff --git a/Projects/Service/AudioPlayer/Project.swift b/Projects/Service/AudioPlayer/Project.swift new file mode 100644 index 00000000..08137764 --- /dev/null +++ b/Projects/Service/AudioPlayer/Project.swift @@ -0,0 +1,21 @@ +import DependencyPackagePlugin +import DependencyPlugin +import Foundation +import ProjectDescription +import ProjectTemplatePlugin + +let project = Project.configure( + moduleType: .microModule(name: "AudioPlayerService"), + bundleId: .appBundleID(name: ".AudioPlayerService"), + product: .staticFramework, + settings: .settings(), + // AVFoundation 은 시스템 프레임워크라 별도 선언이 필요 없다. + dependencies: [ + .SPM.composableArchitecture, + .SPM.weaveDI, + ], + interfaceDependencies: [ + .SPM.composableArchitecture, + .SPM.weaveDI, + ] +) diff --git a/Projects/Data/Repository/Sources/AudioPlayer/AudioPlayerRepositoryImpl.swift b/Projects/Service/AudioPlayer/Sources/AudioPlayerRepositoryImpl.swift similarity index 98% rename from Projects/Data/Repository/Sources/AudioPlayer/AudioPlayerRepositoryImpl.swift rename to Projects/Service/AudioPlayer/Sources/AudioPlayerRepositoryImpl.swift index 268758a0..d9a46478 100644 --- a/Projects/Data/Repository/Sources/AudioPlayer/AudioPlayerRepositoryImpl.swift +++ b/Projects/Service/AudioPlayer/Sources/AudioPlayerRepositoryImpl.swift @@ -4,7 +4,7 @@ // import AVFoundation -import DomainInterface +import AudioPlayerServiceInterface import Foundation public final class AudioPlayerRepositoryImpl: AudioPlayerInterface, @unchecked Sendable { diff --git a/Projects/Service/AudioPlayer/Testing/AudioPlayerServiceTesting.swift b/Projects/Service/AudioPlayer/Testing/AudioPlayerServiceTesting.swift new file mode 100644 index 00000000..2aef8ee8 --- /dev/null +++ b/Projects/Service/AudioPlayer/Testing/AudioPlayerServiceTesting.swift @@ -0,0 +1,8 @@ +// +// AudioPlayerServiceTesting.swift +// AudioPlayerServiceTesting +// + +import AudioPlayerServiceInterface + +public enum AudioPlayerServiceTesting {} diff --git a/Projects/Service/AudioPlayer/Tests/AudioPlayerServiceTests.swift b/Projects/Service/AudioPlayer/Tests/AudioPlayerServiceTests.swift new file mode 100644 index 00000000..d3a54346 --- /dev/null +++ b/Projects/Service/AudioPlayer/Tests/AudioPlayerServiceTests.swift @@ -0,0 +1,14 @@ +// +// AudioPlayerServiceTests.swift +// AudioPlayerServiceTests +// + +@testable import AudioPlayerService +import Testing + +struct AudioPlayerServiceTests { + @Test + func audioPlayerServiceExample() { + #expect(true) + } +} diff --git a/Projects/Domain/Entity/Sources/Device/DevicePlatform.swift b/Projects/Service/Device/Interface/Entity/DevicePlatform.swift similarity index 85% rename from Projects/Domain/Entity/Sources/Device/DevicePlatform.swift rename to Projects/Service/Device/Interface/Entity/DevicePlatform.swift index 0d4f997f..aad77fdd 100644 --- a/Projects/Domain/Entity/Sources/Device/DevicePlatform.swift +++ b/Projects/Service/Device/Interface/Entity/DevicePlatform.swift @@ -1,6 +1,6 @@ // // DevicePlatform.swift -// Entity +// DeviceServiceInterface // import Foundation diff --git a/Projects/Domain/DomainInterface/Sources/Device/Interface/DeviceInterface.swift b/Projects/Service/Device/Interface/UseCase/DeviceInterface.swift similarity index 97% rename from Projects/Domain/DomainInterface/Sources/Device/Interface/DeviceInterface.swift rename to Projects/Service/Device/Interface/UseCase/DeviceInterface.swift index 08122553..8c9a7173 100644 --- a/Projects/Domain/DomainInterface/Sources/Device/Interface/DeviceInterface.swift +++ b/Projects/Service/Device/Interface/UseCase/DeviceInterface.swift @@ -1,9 +1,8 @@ // // DeviceInterface.swift -// DomainInterface +// DeviceServiceInterface // -import Entity import Foundation import WeaveDI diff --git a/Projects/Domain/UseCase/Sources/Device/DeviceUseCase.swift b/Projects/Service/Device/Interface/UseCase/DeviceUseCase.swift similarity index 88% rename from Projects/Domain/UseCase/Sources/Device/DeviceUseCase.swift rename to Projects/Service/Device/Interface/UseCase/DeviceUseCase.swift index 8a852162..35f16edb 100644 --- a/Projects/Domain/UseCase/Sources/Device/DeviceUseCase.swift +++ b/Projects/Service/Device/Interface/UseCase/DeviceUseCase.swift @@ -1,13 +1,10 @@ // // DeviceUseCase.swift -// UseCase +// DeviceServiceInterface // import Foundation -import DomainInterface -import Entity - import ComposableArchitecture /// APNs 디바이스 토큰 보관소 (UserDefaults). App(수신)·Presentation(로그아웃 해제) 공용. @@ -34,8 +31,7 @@ public struct DeviceUseCaseImpl: DeviceInterface { } } -extension DeviceUseCaseImpl: DependencyKey { - public static var liveValue = DeviceUseCaseImpl() +extension DeviceUseCaseImpl: TestDependencyKey { public static var testValue = DeviceUseCaseImpl() public static var previewValue = DeviceUseCaseImpl() } diff --git a/Projects/Shared/ThirdParty/Project.swift b/Projects/Service/Device/Project.swift similarity index 59% rename from Projects/Shared/ThirdParty/Project.swift rename to Projects/Service/Device/Project.swift index e6c5bf54..e80072d1 100644 --- a/Projects/Shared/ThirdParty/Project.swift +++ b/Projects/Service/Device/Project.swift @@ -1,19 +1,19 @@ +import DependencyPackagePlugin +import DependencyPlugin import Foundation import ProjectDescription -import DependencyPlugin import ProjectTemplatePlugin -import DependencyPackagePlugin let project = Project.configure( - moduleType: .module(name: "ThirdParty"), - bundleId: .appBundleID(name: ".ThirdParty"), + moduleType: .microModule(name: "DeviceService"), + bundleId: .appBundleID(name: ".DeviceService"), product: .staticFramework, settings: .settings(), dependencies: [ .SPM.composableArchitecture, - .SPM.tcaFlow, - .SPM.sdwebImage - ], - sources: ["Sources/**"] + interfaceDependencies: [ + .SPM.composableArchitecture, + .SPM.weaveDI, + ] ) diff --git a/Projects/Data/Repository/Sources/Device/DeviceRepositoryImpl.swift b/Projects/Service/Device/Sources/Repository/DeviceRepositoryImpl.swift similarity index 92% rename from Projects/Data/Repository/Sources/Device/DeviceRepositoryImpl.swift rename to Projects/Service/Device/Sources/Repository/DeviceRepositoryImpl.swift index b31cd800..fa2908dc 100644 --- a/Projects/Data/Repository/Sources/Device/DeviceRepositoryImpl.swift +++ b/Projects/Service/Device/Sources/Repository/DeviceRepositoryImpl.swift @@ -1,18 +1,16 @@ // // DeviceRepositoryImpl.swift -// Repository +// DeviceService // import Foundation -import DomainInterface -import Entity import Model -import Service +import Remote +import DeviceServiceInterface import LogMacro - public final class DeviceRepositoryImpl: DeviceInterface, @unchecked Sendable { private let provider: any NetworkProviding diff --git a/Projects/Service/Device/Sources/UseCase/DeviceUseCase+Live.swift b/Projects/Service/Device/Sources/UseCase/DeviceUseCase+Live.swift new file mode 100644 index 00000000..f59d5cd0 --- /dev/null +++ b/Projects/Service/Device/Sources/UseCase/DeviceUseCase+Live.swift @@ -0,0 +1,15 @@ +// +// DeviceUseCase+Live.swift +// DeviceService +// + +import Foundation + +import ComposableArchitecture +import DeviceServiceInterface + +// MARK: - Live + +extension DeviceUseCaseImpl: DependencyKey { + public static var liveValue = DeviceUseCaseImpl() +} diff --git a/Projects/Service/Device/Testing/DeviceServiceTesting.swift b/Projects/Service/Device/Testing/DeviceServiceTesting.swift new file mode 100644 index 00000000..06a574cf --- /dev/null +++ b/Projects/Service/Device/Testing/DeviceServiceTesting.swift @@ -0,0 +1,8 @@ +// +// DeviceServiceTesting.swift +// DeviceServiceTesting +// + +import DeviceServiceInterface + +public enum DeviceServiceTesting {} diff --git a/Projects/Service/Device/Tests/DeviceServiceTests.swift b/Projects/Service/Device/Tests/DeviceServiceTests.swift new file mode 100644 index 00000000..a6851a45 --- /dev/null +++ b/Projects/Service/Device/Tests/DeviceServiceTests.swift @@ -0,0 +1,14 @@ +// +// DeviceServiceTests.swift +// DeviceServiceTests +// + +@testable import DeviceService +import Testing + +struct DeviceServiceTests { + @Test + func deviceServiceExample() { + #expect(true) + } +} diff --git a/Projects/Shared/AdKit/Project.swift b/Projects/Shared/AdKit/Project.swift deleted file mode 100644 index 194bfdf6..00000000 --- a/Projects/Shared/AdKit/Project.swift +++ /dev/null @@ -1,21 +0,0 @@ -import DependencyPackagePlugin -import DependencyPlugin -import Foundation -import ProjectDescription -import ProjectTemplatePlugin - -let project = Project.configure( - moduleType: .module(name: "AdKit"), - bundleId: .appBundleID(name: ".AdKit"), - // AdFitSDK.xcframework 가 DYLIB 이라 정적으로 감싸면 링크 경로가 꼬인다 — 동적 프레임워크로 둔다. - product: .framework, - settings: .settings(), - dependencies: [ - // AdFit 배너 뷰(AdFitBannerView)가 쓰는 SDK. 광고를 노출하는 화면만 이 모듈을 의존하므로 - // 디자인 시스템(PickeDesignKit)이나 스토리북 데모가 광고 SDK를 끌고 오지 않는다. - // AdFitSDK.xcframework 는 DYLIB 이라 여기 한 곳에서만 링크해도 앱에 단일 사본으로 임베드된다. - .SPM.adFit, - ], - sources: ["Sources/**"], - hasTests: false -) diff --git a/Projects/Shared/PickeDesignKit/DesignSystemTests/Sources/Test.swift b/Projects/Shared/PickeDesignKit/DesignSystemTests/Sources/Test.swift deleted file mode 100644 index a9c810e3..00000000 --- a/Projects/Shared/PickeDesignKit/DesignSystemTests/Sources/Test.swift +++ /dev/null @@ -1,8 +0,0 @@ -// -// base.swift -// DDDAttendance -// -// Created by Roy on 2025-09-04 -// Copyright © 2025 DDD , Ltd. All rights reserved. -// - diff --git a/Projects/Shared/PickeDesignKit/Sources/UI/Alert/CustomPopup/CustomConfirmationPopupView.swift b/Projects/Shared/PickeDesignKit/Sources/UI/Alert/CustomPopup/CustomConfirmationPopupView.swift deleted file mode 100644 index fe9897d1..00000000 --- a/Projects/Shared/PickeDesignKit/Sources/UI/Alert/CustomPopup/CustomConfirmationPopupView.swift +++ /dev/null @@ -1,569 +0,0 @@ -// -// CustomConfirmationPopupView.swift -// DesignSystem -// - -import SwiftUI - -struct CustomConfirmationPopup: View { - @Environment(\.dynamicTypeSize) private var dynamicTypeSize - - private let title: String - private let message: String - private let confirmTitle: String - private let cancelTitle: String - private let isDestructive: Bool - private let style: CustomAlertStyle - private let onConfirm: () -> Void - private let onCancel: () -> Void - - @State private var isContentVisible = false - - init( - title: String, - message: String, - confirmTitle: String, - cancelTitle: String, - isDestructive: Bool, - style: CustomAlertStyle, - onConfirm: @escaping () -> Void, - onCancel: @escaping () -> Void - ) { - self.title = title - self.message = message - self.confirmTitle = confirmTitle - self.cancelTitle = cancelTitle - self.isDestructive = isDestructive - self.style = style - self.onConfirm = onConfirm - self.onCancel = onCancel - } - - var body: some View { - GeometryReader { proxy in - ZStack { - Color.black - .opacity(isContentVisible ? 0.6 : 0) - .ignoresSafeArea() - .onTapGesture(perform: onCancel) - - popupContent - .frame(maxWidth: popupMaxWidth(for: proxy.size.width)) - .padding(.horizontal, popupHorizontalPadding) - .offset(y: isContentVisible ? 0 : 120) - .opacity(isContentVisible ? 1 : 0) - .accessibilityAddTraits(.isModal) - } - } - .onAppear { - withAnimation(.easeInOut(duration: 0.3)) { - isContentVisible = true - } - } - } - - private func popupMaxWidth(for containerWidth: CGFloat) -> CGFloat { - max(0, min(containerWidth - popupHorizontalPadding * 2, 360)) - } - - private var popupHorizontalPadding: CGFloat { - switch style { - case .confirmation: - return 20 - case .finalVote, .report, .alreadyWatched, .deleteConfirm, .logout, .withdraw, .suggestTopic: - return 0 - } - } - - @ViewBuilder - private var popupContent: some View { - switch style { - case .confirmation: - confirmationContent - case .finalVote: - finalVoteContent - case .report: - reportContent - case .alreadyWatched: - alreadyWatchedContent - case .deleteConfirm: - deleteConfirmContent - case .logout, .withdraw: - logoutWithdrawContent - case .suggestTopic: - suggestTopicContent - } - } - - /// 로그아웃/탈퇴 — 공통 팝업 스타일(무료 충전/다시 시청 팝업과 동일). - /// 본문 + 라운드 2버튼(확정=왼쪽 밝은 secondary50 / 취소=오른쪽 primary500). - private var logoutWithdrawContent: some View { - pickeAlertCard { - VStack(spacing: 16) { - pickeBodyText(title) - - pickeTwoButtonRow( - leftTitle: confirmTitle, leftAction: onConfirm, - rightTitle: cancelTitle, rightAction: onCancel - ) - } - } - } - - /// 주제 제안 — 타이틀 + 본문 + 뒤로가기(왼쪽 밝은) / 제안하기(오른쪽 primary). - private var suggestTopicContent: some View { - pickeAlertCard { - VStack(spacing: 16) { - VStack(spacing: 10) { - Text(title) - .pretendardFont(.headingMedium) - .foregroundStyle(.primary800) - .multilineTextAlignment(.center) - - if !message.isEmpty { - pickeBodyText(message) - } - } - - pickeTwoButtonRow( - leftTitle: cancelTitle, leftAction: onCancel, - rightTitle: confirmTitle, rightAction: onConfirm - ) - } - } - } - - // MARK: picke 공통 팝업 헬퍼 - - /// 베이지 카드 + primary 보더 컨테이너 (width 313, top padding 20). - private func pickeAlertCard( - opacity: Double = 1, - @ViewBuilder content: () -> some View - ) -> some View { - content() - .padding(.top, 20) - .frame(maxWidth: 313) - .pickeCard( - .beige500, - border: .primary500, - lineWidth: 1.5 - ) - .opacity(opacity) - .clipShape(RoundedRectangle(cornerRadius: .radiusDefault)) - .onTapGesture {} - } - - /// 본문 텍스트 (14/Medium, primary800, 가운데, 좌우 20). - private func pickeBodyText(_ text: String) -> some View { - Text(text) - .pretendardFont(.labelMedium) - .foregroundStyle(.primary800) - .lineSpacing(14 * 0.4) - .multilineTextAlignment(.center) - .frame(maxWidth: .infinity) - .padding(.horizontal, 20) - } - - /// 좌(밝은)·우(primary) 2버튼 행. 좌/우 의미는 호출부가 결정. - @ViewBuilder - private func pickeTwoButtonRow( - leftTitle: String, - leftAction: @escaping () -> Void, - rightTitle: String, - rightAction: @escaping () -> Void - ) -> some View { - if dynamicTypeSize.isAccessibilitySize { - VStack(spacing: 8) { - pickeSecondaryButton(title: leftTitle, action: leftAction) - pickePrimaryButton(title: rightTitle, action: rightAction) - } - .padding(.horizontal, 16) - .padding(.bottom, 16) - } else { - HStack(spacing: 8) { - pickeSecondaryButton(title: leftTitle, action: leftAction) - pickePrimaryButton(title: rightTitle, action: rightAction) - } - .padding(.horizontal, 16) - .padding(.bottom, 16) - } - } - - @ViewBuilder - private func pickeSecondaryButton( - title: String, - action: @escaping () -> Void - ) -> some View { - Button(action: action) { - Text(title) - .pretendardFont(.labelMedium) - .foregroundStyle(.primary800) - .lineLimit(1) - .minimumScaleFactor(0.85) - .frame(maxWidth: .infinity) - .frame(minHeight: 48) - .roundedBackground(.secondary50, radius: 8) - } - .buttonStyle(.plain) - } - - @ViewBuilder - private func pickePrimaryButton( - title: String, - action: @escaping () -> Void - ) -> some View { - Button(action: action) { - Text(title) - .pretendardFont(.labelMedium) - .foregroundStyle(.secondary50) - .lineLimit(1) - .minimumScaleFactor(0.85) - .frame(maxWidth: .infinity) - .frame(minHeight: 48) - .roundedBackground(.primary500, radius: 8) - } - .buttonStyle(.plain) - } - - private var deleteConfirmContent: some View { - VStack(spacing: 16) { - Text(title) - .pretendardFont(.labelMedium) - .foregroundStyle(.neutral900) - .lineSpacing(14 * 0.4) - .multilineTextAlignment(.center) - .frame(maxWidth: .infinity) - .padding(.horizontal, 20) - - HStack(spacing: 0) { - // 삭제하기 (왼쪽·밝은 버튼) = 확정(삭제) - Button(action: onConfirm) { - Text(confirmTitle) - .pretendardFont(.labelMedium) - .foregroundStyle(.primary500) - .lineSpacing(14 * 0.4) - .frame(maxWidth: .infinity) - .padding(.vertical, 12) - .background(.secondary50, in: Rectangle()) - } - .buttonStyle(.plain) - - // 뒤로가기 (오른쪽·어두운 버튼) = 취소 - Button(action: onCancel) { - Text(cancelTitle) - .pretendardFont(.labelMedium) - .foregroundStyle(.secondary50) - .lineSpacing(14 * 0.4) - .frame(maxWidth: .infinity) - .padding(.vertical, 12) - .background(.primary500, in: Rectangle()) - } - .buttonStyle(.plain) - } - } - .padding(.top, 20) - .frame(maxWidth: 313) - .pickeCard( - .beige500, - border: .primary500, - lineWidth: 1.5 - ) - .opacity(0.9) - .clipShape(RoundedRectangle(cornerRadius: .radiusDefault)) - .onTapGesture {} - } - - @ViewBuilder - private var alreadyWatchedContent: some View { - VStack(spacing: 12) { - VStack(spacing: 8) { - Text(title) - .pretendardFont(.headingMedium) - .foregroundStyle(.primary800) - .kerning(-0.4) - .multilineTextAlignment(.center) - .padding(.horizontal, 20) - - if !message.isEmpty { - Text(message) - .pretendardFont(.medium13) - .foregroundStyle(.neutral400) - .multilineTextAlignment(.center) - .padding(.horizontal, 20) - } - } - - HStack(spacing: 0) { - Button(action: onCancel) { - Text(cancelTitle.isEmpty ? "취소" : cancelTitle) - .pretendardFont(.labelMedium) - .foregroundStyle(.primary500) - .frame(maxWidth: .infinity) - .padding(.vertical, 12) - .background(.secondary50, in: Rectangle()) - } - .buttonStyle(.plain) - - Button(action: onConfirm) { - Text(confirmTitle.isEmpty ? "다시" : confirmTitle) - .pretendardFont(.labelMedium) - .foregroundStyle(.secondary50) - .frame(maxWidth: .infinity) - .padding(.vertical, 12) - .background(.primary500, in: Rectangle()) - } - .buttonStyle(.plain) - } - } - .padding(.top, 24) - .frame(maxWidth: 343) - .pickeCard( - .beige500, - border: .primary500, - lineWidth: 1.5, - radius: 6 - ) - .onTapGesture {} - } - - private var confirmationContent: some View { - VStack(spacing: 24) { - VStack(spacing: 8) { - Text(title) - .pretendardFont(.bold18) - .foregroundStyle(.neutral800) - .multilineTextAlignment(.center) - - if !message.isEmpty { - Text(message) - .pretendardFont(.regular13) - .foregroundStyle(.neutral400) - .lineSpacing(13 * 0.4) - .multilineTextAlignment(.center) - } - } - - HStack(spacing: 8) { - if !cancelTitle.isEmpty { - Button(action: onCancel) { - Text(cancelTitle) - .pretendardFont(.labelMedium) - .foregroundStyle(.neutral500) - .frame(maxWidth: .infinity) - .frame(height: 48) - .roundedBackground(.beige600) - } - .buttonStyle(.plain) - } - - Button(action: onConfirm) { - Text(confirmTitle) - .pretendardFont(.labelMedium) - .foregroundStyle(.beige50) - .frame(maxWidth: .infinity) - .frame(height: 48) - .background( - isDestructive ? Color.errorDefault : Color.primary500, - in: RoundedRectangle(cornerRadius: .radiusDefault) - ) - } - .buttonStyle(.plain) - } - } - .padding(.vertical, 28) - .padding(.horizontal, 20) - .frame(maxWidth: 320) - .pickeCard(ComponentToken.Popup.background, border: ComponentToken.Popup.border) - .onTapGesture {} - } - - private var finalVoteContent: some View { - VStack(spacing: 16) { - Text(title) - .pretendardFont(.labelMedium) - .foregroundStyle(.neutral900) - .lineSpacing(14 * 0.4) - .multilineTextAlignment(.center) - .frame(maxWidth: .infinity) - .padding(.horizontal, 20) - - HStack(spacing: 0) { - Button(action: onCancel) { - Text(cancelTitle) - .pretendardFont(.labelMedium) - .foregroundStyle(.primary500) - .lineSpacing(14 * 0.4) - .frame(maxWidth: .infinity) - .padding(.vertical, 12) - .background(.secondary50, in: Rectangle()) - } - .buttonStyle(.plain) - - Button(action: onConfirm) { - Text(confirmTitle) - .pretendardFont(.labelMedium) - .foregroundStyle(.secondary50) - .lineSpacing(14 * 0.4) - .frame(maxWidth: .infinity) - .padding(.vertical, 12) - .background(.primary500, in: Rectangle()) - } - .buttonStyle(.plain) - } - } - .padding(.top, 20) - .frame(maxWidth: 313) - .pickeCard( - .beige500, - border: .primary500, - lineWidth: 1.5 - ) - .opacity(0.9) - .onTapGesture {} - } - - @State private var selectedReason: ReportReason? - - @ViewBuilder - private var reportContent: some View { - VStack(spacing: 16) { - reportHeader - reasonGrid - reportButtons - } - .padding(.top, 20) - .frame(maxWidth: 343) - .roundedBackground(.beige500, radius: 6) - .clipShape(RoundedRectangle(cornerRadius: 6)) - .roundedBorder( - .primary500, - lineWidth: 1.5, - radius: 6 - ) - .onTapGesture {} - } - - @ViewBuilder - private var reportHeader: some View { - Text("신고사유") - .pretendardFont(.headingMedium) - .foregroundStyle(.primary800) - .frame(maxWidth: .infinity, alignment: .leading) - .padding(.horizontal, 20) - } - - @ViewBuilder - private var reasonGrid: some View { - HStack(alignment: .top, spacing: 0) { - reasonColumn(ReportReason.leftColumn) - reasonColumn(ReportReason.rightColumn, fillSpacer: true) - } - .padding(.horizontal, 20) - .padding(.vertical, 12) - .frame(height: 116) - } - - @ViewBuilder - private func reasonColumn( - _ reasons: [ReportReason], - fillSpacer: Bool = false - ) -> some View { - VStack(alignment: .leading, spacing: 16) { - ForEach(reasons) { reason in - reasonRow(reason) - } - if fillSpacer { - Spacer(minLength: 0) - } - } - .frame(maxWidth: .infinity, alignment: .leading) - } - - @ViewBuilder - private func reasonRow(_ reason: ReportReason) -> some View { - Button { - selectedReason = reason - } label: { - HStack(spacing: 6) { - reasonRadio(isSelected: selectedReason == reason) - Text(reason.title) - .pretendardFont(.labelMedium) - .foregroundStyle(.neutral900) - } - } - .buttonStyle(.plain) - } - - @ViewBuilder - private func reasonRadio(isSelected: Bool) -> some View { - ZStack { - Circle() - .stroke(.gray200, lineWidth: 3) - .frame(width: 20, height: 20) - if isSelected { - Circle() - .fill(.primary500) - .frame(width: 10, height: 10) - } - } - } - - @ViewBuilder - private var reportButtons: some View { - HStack(spacing: 10) { - reportSubmitButton - reportCancelButton - } - } - - @ViewBuilder - private var reportSubmitButton: some View { - Button(action: onConfirm) { - Text(confirmTitle.isEmpty ? "신고하기" : confirmTitle) - .pretendardFont(.labelMedium) - .foregroundStyle(.primary800) - .frame(maxWidth: .infinity) - .padding(.vertical, 12) - .background(.secondary50, in: Rectangle()) - } - .buttonStyle(.plain) - .disabled(selectedReason == nil) - .opacity(selectedReason == nil ? 0.5 : 1) - } - - @ViewBuilder - private var reportCancelButton: some View { - Button(action: onCancel) { - Text(cancelTitle.isEmpty ? "뒤로가기" : cancelTitle) - .pretendardFont(.labelMedium) - .foregroundStyle(.secondary50) - .frame(maxWidth: .infinity) - .padding(.vertical, 12) - .background(.primary500, in: Rectangle()) - } - .buttonStyle(.plain) - } -} - -public enum ReportReason: String, CaseIterable, Identifiable, Equatable { - case commercial - case repeat_ - case explicit - case insult - case other - - public var id: String { rawValue } - - public var title: String { - switch self { - case .commercial: "영리목적/홍보성" - case .repeat_: "같은 내용 반복 게시" - case .explicit: "음란성/선정성" - case .insult: "욕설/인신공격" - case .other: "기타" - } - } - - static let leftColumn: [ReportReason] = [.commercial, .explicit, .other] - static let rightColumn: [ReportReason] = [.repeat_, .insult] -} diff --git a/Projects/Shared/Shared/Project.swift b/Projects/Shared/Shared/Project.swift deleted file mode 100644 index 877208c6..00000000 --- a/Projects/Shared/Shared/Project.swift +++ /dev/null @@ -1,19 +0,0 @@ -import Foundation -import ProjectDescription -import DependencyPlugin -import ProjectTemplatePlugin -import DependencyPackagePlugin - -let project = Project.configure( - moduleType: .module(name: "Shared"), - bundleId: .appBundleID(name: ".Shared"), - product: .framework, - settings: .settings(), - dependencies: [ - .Shared(implements: .PickeDesignKit), - .Shared(implements: .Utill), - .Shared(implements: .ThirdParty) - ], - sources: ["Sources/**"], - hasTests: false -) diff --git a/Projects/Shared/Shared/SharedTests/Sources/Test.swift b/Projects/Shared/Shared/SharedTests/Sources/Test.swift deleted file mode 100644 index a9c810e3..00000000 --- a/Projects/Shared/Shared/SharedTests/Sources/Test.swift +++ /dev/null @@ -1,8 +0,0 @@ -// -// base.swift -// DDDAttendance -// -// Created by Roy on 2025-09-04 -// Copyright © 2025 DDD , Ltd. All rights reserved. -// - diff --git a/Projects/Shared/ThirdParty/Sources/Base.swift b/Projects/Shared/ThirdParty/Sources/Base.swift deleted file mode 100644 index 1b586673..00000000 --- a/Projects/Shared/ThirdParty/Sources/Base.swift +++ /dev/null @@ -1,22 +0,0 @@ -// -// base.swift -// DDDAttendance. -// -// Created by Roy on 2026-05-07 -// Copyright © 2026 DDD , Ltd., All rights reserved. -// - -import SwiftUI - -struct BaseView: View { - var body: some View { - VStack { - Image(systemName: "globe") - .imageScale(.large) - .foregroundColor(.accentColor) - Text("Hello, world!") - } - .padding() - } -} - diff --git a/Projects/Shared/ThirdParty/Tests/Sources/ThirdPartyTests.swift b/Projects/Shared/ThirdParty/Tests/Sources/ThirdPartyTests.swift deleted file mode 100644 index 549dc5c1..00000000 --- a/Projects/Shared/ThirdParty/Tests/Sources/ThirdPartyTests.swift +++ /dev/null @@ -1,27 +0,0 @@ -// -// ThirdPartyTests.swift -// Shared.ThirdPartyTests -// -// Created by Roy on 2026-05-07. -// - -import Testing -@testable import ThirdParty - -struct ThirdPartyTests { - - @Test - func thirdpartyExample() { - // This is an example of a test case. - #expect(true) - } - - @Test - func thirdpartyLogicTest() { - // Add your test logic here. - let result = true - #expect(result == true) - } - -} - diff --git a/Projects/Shared/Utill/UtillTests/Sources/Test.swift b/Projects/Shared/Utill/UtillTests/Sources/Test.swift deleted file mode 100644 index a9c810e3..00000000 --- a/Projects/Shared/Utill/UtillTests/Sources/Test.swift +++ /dev/null @@ -1,8 +0,0 @@ -// -// base.swift -// DDDAttendance -// -// Created by Roy on 2025-09-04 -// Copyright © 2025 DDD , Ltd. All rights reserved. -// - From 343a5fd04edda7e08dad8fc92e68b634577f8755 Mon Sep 17 00:00:00 2001 From: Roy Date: Thu, 13 Aug 2026 23:00:48 +0900 Subject: [PATCH 02/83] =?UTF-8?q?fix(signing):=20=EC=83=88=20App=20Store?= =?UTF-8?q?=20Connect=20=ED=8C=80=EC=9C=BC=EB=A1=9C=20=EC=BD=94=EB=93=9C?= =?UTF-8?q?=20=EC=84=9C=EB=AA=85=20=EC=84=A4=EC=A0=95=20=EC=9D=B4=EA=B4=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 계정 이관에 따라 팀을 N94CS4N6VR 에서 3UFKCXVTN4 로 바꾸고, Xcode 가 개발 인증서를 찾지 못하던 문제를 함께 수정한다. - ProjectConfig: teamId 를 새 팀으로 교체 - Project+Target: 타깃 레벨 recommended 기본값이 CODE_SIGN_IDENTITY 에 "iPhone Developer" 를 심어 프로젝트 설정을 덮었다. match 가 발급하는 건 Apple Development 이므로 이 키만 제외한다 - SettingDictionary: setCodeSignIdentity 기본값을 Apple Development 로 - Project+Settings: Stage 컨피그가 개발용 프로파일을 쓰도록 변경. fastlane 은 세 레인 모두 Release 컨피그로 빌드하므로 배포에는 영향이 없다 - Matchfile: API 키 환경변수명이 .env 와 달라 Apple ID 로그인으로 폴백하던 문제 수정 --- .../Project+Templete/Project+Target.swift | 5 +- .../Project+Templete/ProjectConfig.swift | 2 +- .../Setting/Project+Settings.swift | 6 +- .../Setting/SettingDictionary.swift | 96 ++++++++++--------- fastlane/Matchfile | 8 +- 5 files changed, 62 insertions(+), 55 deletions(-) diff --git a/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/Project+Target.swift b/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/Project+Target.swift index 46bf17a6..6c41916b 100644 --- a/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/Project+Target.swift +++ b/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/Project+Target.swift @@ -15,7 +15,10 @@ let suppressWarningsSettings: ProjectDescription.Settings = .settings( "SWIFT_ENABLE_EXPLICIT_MODULES": "NO", "_EXPERIMENTAL_SWIFT_EXPLICIT_MODULES": "NO", "CLANG_ENABLE_EXPLICIT_MODULES": "NO", - ] + ], + // recommended 기본값은 타깃 레벨에 CODE_SIGN_IDENTITY = "iPhone Developer" 를 심어 + // 프로젝트 설정의 값을 덮는다. match 가 발급하는 건 Apple Development 이므로 이 키만 제외한다. + defaultSettings: .recommended(excluding: ["CODE_SIGN_IDENTITY"]) ) extension Project { diff --git a/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/ProjectConfig.swift b/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/ProjectConfig.swift index af96f404..f377f460 100644 --- a/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/ProjectConfig.swift +++ b/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/ProjectConfig.swift @@ -27,7 +27,7 @@ public enum ProjectConfig { // MARK: - 🔧 기타 설정 public static let bundleIdPrefix = "io.Picke.co" - public static let teamId = "N94CS4N6VR" + public static let teamId = "3UFKCXVTN4" public static let deploymentTarget: ProjectDescription.DeploymentTargets = .iOS("17.0") public static let deploymentDestination: ProjectDescription.Destinations = [.iPhone] public static let appVersion = "1.0.0" diff --git a/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Setting/Project+Settings.swift b/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Setting/Project+Settings.swift index be4a93ba..d205cad7 100644 --- a/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Setting/Project+Settings.swift +++ b/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Setting/Project+Settings.swift @@ -65,7 +65,7 @@ extension Settings { commonSettings( appName: Project.Environment.appStageName, displayName: Project.Environment.appName, - provisioningProfile: "match AppStore \(Project.Environment.bundlePrefix)", + provisioningProfile: "match Development \(Project.Environment.bundlePrefix)", setSkipInstall: false ), xcconfig: .path(.stage) @@ -93,7 +93,9 @@ extension Settings { xcconfig: .path(.prod) ), - ], defaultSettings: .recommended + // Tuist 의 recommended 기본값은 타겟 레벨에 CODE_SIGN_IDENTITY = "iPhone Developer" 를 주입해 + // base 설정을 덮는다. match 가 발급하는 건 Apple Development 이므로 이 키만 제외한다. + ], defaultSettings: .recommended(excluding: ["CODE_SIGN_IDENTITY"]) ) public static func appBaseSetting(appName: String) -> Settings { diff --git a/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Setting/SettingDictionary.swift b/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Setting/SettingDictionary.swift index 11e16cef..e03e8dc5 100644 --- a/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Setting/SettingDictionary.swift +++ b/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Setting/SettingDictionary.swift @@ -10,97 +10,99 @@ import ProjectDescription public extension SettingsDictionary { func setProductBundleIdentifier(_ value: String = "com.iOS$(BUNDLE_ID_SUFFIX)") -> SettingsDictionary { - return self.merging(["PRODUCT_BUNDLE_IDENTIFIER": SettingValue(stringLiteral: value)]) { (_, new) in new } + return merging(["PRODUCT_BUNDLE_IDENTIFIER": SettingValue(stringLiteral: value)]) { _, new in new } } - + func setProductName(_ value: String) -> SettingsDictionary { - return self.merging(["PRODUCT_NAME": SettingValue(stringLiteral: value)]) { (_, new) in new } + return merging(["PRODUCT_NAME": SettingValue(stringLiteral: value)]) { _, new in new } } - + func setCFBundleDisplayName(_ value: String) -> SettingsDictionary { - return self.merging(["CFBundleDisplayName": SettingValue(stringLiteral: value)]) { (_, new) in new } + return merging(["CFBundleDisplayName": SettingValue(stringLiteral: value)]) { _, new in new } } - + func setMarketingVersion(_ value: String) -> SettingsDictionary { - return self.merging(["MARKETING_VERSION": SettingValue(stringLiteral: value)]) { (_, new) in new } + return merging(["MARKETING_VERSION": SettingValue(stringLiteral: value)]) { _, new in new } } - + func setASAuthenticationServicesEnabled(_ value: String = "YES") -> SettingsDictionary { - return self.merging(["AS_AUTHENTICATION_SERVICES_ENABLED": SettingValue(stringLiteral: value)]) { (_, new) in new } + return merging(["AS_AUTHENTICATION_SERVICES_ENABLED": SettingValue(stringLiteral: value)]) { _, new in new } } - + func setPushNotificationsEnabled(_ value: String = "YES") -> SettingsDictionary { - return self.merging(["PUSH_NOTIFICATIONS_ENABLED": SettingValue(stringLiteral: value)]) { (_, new) in new } + return merging(["PUSH_NOTIFICATIONS_ENABLED": SettingValue(stringLiteral: value)]) { _, new in new } } - - func setEnableBackgroundModes(_ value: String = "YES", backgroundModes: String = "remote-notification") -> SettingsDictionary { - return self.merging(["ENABLE_BACKGROUND_MODES": SettingValue(stringLiteral: value), "BACKGROUND_MODES": SettingValue(stringLiteral: backgroundModes)]) { (_, new) in new } + + func setEnableBackgroundModes(_ value: String = "YES", + backgroundModes: String = "remote-notification") -> SettingsDictionary + { + return merging([ + "ENABLE_BACKGROUND_MODES": SettingValue(stringLiteral: value), + "BACKGROUND_MODES": SettingValue(stringLiteral: backgroundModes), + ]) { _, new in new } } - + func setArchs(_ value: String = "$(ARCHS_STANDARD)") -> SettingsDictionary { - return self.merging(["ARCHS": SettingValue(stringLiteral: value)]) { (_, new) in new } + return merging(["ARCHS": SettingValue(stringLiteral: value)]) { _, new in new } } - + func setOtherLdFlags(_ value: String = "$(inherited) -ObjC") -> SettingsDictionary { - return self.merging(["OTHER_LDFLAGS": SettingValue(stringLiteral: value)]) { (_, new) in new } + return merging(["OTHER_LDFLAGS": SettingValue(stringLiteral: value)]) { _, new in new } } - + func setCurrentProjectVersion(_ value: String) -> SettingsDictionary { - return self.merging(["CURRENT_PROJECT_VERSION": SettingValue(stringLiteral: value)]) { (_, new) in new } + return merging(["CURRENT_PROJECT_VERSION": SettingValue(stringLiteral: value)]) { _, new in new } } - - func setCodeSignIdentity(_ value: String = "iPhone Developer") -> SettingsDictionary { - return self.merging(["CODE_SIGN_IDENTITY": SettingValue(stringLiteral: value)]) { (_, new) in new } + + func setCodeSignIdentity(_ value: String = "Apple Development") -> SettingsDictionary { + return merging(["CODE_SIGN_IDENTITY": SettingValue(stringLiteral: value)]) { _, new in new } } - + func setCodeSignStyle(_ value: String = "Manual") -> SettingsDictionary { - return self.merging(["CODE_SIGN_STYLE": SettingValue(stringLiteral: value)]) { (_, new) in new } + return merging(["CODE_SIGN_STYLE": SettingValue(stringLiteral: value)]) { _, new in new } } - + func setVersioningSystem(_ value: String = "apple-generic") -> SettingsDictionary { - return self.merging(["VERSIONING_SYSTEM": SettingValue(stringLiteral: value)]) { (_, new) in new } + return merging(["VERSIONING_SYSTEM": SettingValue(stringLiteral: value)]) { _, new in new } } - + func setDebugInformationFormat(_ value: String = "DWARF with dSYM File") -> SettingsDictionary { - return self.merging(["DEBUG_INFORMATION_FORMAT": SettingValue(stringLiteral: value)]) { (_, new) in new } + return merging(["DEBUG_INFORMATION_FORMAT": SettingValue(stringLiteral: value)]) { _, new in new } } - + func setStripStyle(_ value: String = "non-global") -> SettingsDictionary { - return self.merging(["STRIP_STYLE": SettingValue(stringLiteral: value)]) { (_, new) in new } + return merging(["STRIP_STYLE": SettingValue(stringLiteral: value)]) { _, new in new } } - + func setProvisioningProfileSpecifier(_ value: String) -> SettingsDictionary { - return self.merging(["PROVISIONING_PROFILE_SPECIFIER": SettingValue(stringLiteral: value)]) { (_, new) in new } + return merging(["PROVISIONING_PROFILE_SPECIFIER": SettingValue(stringLiteral: value)]) { _, new in new } } - + func setSwiftVersion(_ value: String) -> SettingsDictionary { - return self.merging(["SWIFT_VERSION": SettingValue(stringLiteral: value)]) { (_, new) in new } + return merging(["SWIFT_VERSION": SettingValue(stringLiteral: value)]) { _, new in new } } - + func setDevelopmentTeam(_ value: String) -> SettingsDictionary { - return self.merging(["DEVELOPMENT_TEAM": SettingValue(stringLiteral: value)]) { (_, new) in new } + return merging(["DEVELOPMENT_TEAM": SettingValue(stringLiteral: value)]) { _, new in new } } - + func setSkipInstall(_ value: Bool = false) -> SettingsDictionary { - return self.merging(["SKIP_INSTALL": SettingValue(stringLiteral: value ? "YES" : "NO")]) + return merging(["SKIP_INSTALL": SettingValue(stringLiteral: value ? "YES" : "NO")]) } - + func setExplicitlyBuiltModules(_ value: Bool = true) -> SettingsDictionary { - return self.merging(["EXPLICITLY_BUILT_MODULES": SettingValue(stringLiteral: value ? "YES" : "NO")]) + return merging(["EXPLICITLY_BUILT_MODULES": SettingValue(stringLiteral: value ? "YES" : "NO")]) } - + /// 기본 로케일을 한국어(ko)로 설정하는 메서드 func setCFBundleDevelopmentRegion(_ value: String = "ko") -> SettingsDictionary { - return self.merging(["CFBundleDevelopmentRegion": SettingValue(stringLiteral: value)]) { (_, new) in new } + return merging(["CFBundleDevelopmentRegion": SettingValue(stringLiteral: value)]) { _, new in new } } func setAllowNonModularIncludesInFrameworkModules(_ value: Bool) -> SettingsDictionary { let stringValue = value ? "YES" : "NO" return merging([ - "CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES": SettingValue(stringLiteral: stringValue) + "CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES": SettingValue(stringLiteral: stringValue), ]) { _, new in new } } } - - - diff --git a/fastlane/Matchfile b/fastlane/Matchfile index 4370553a..11cc749c 100644 --- a/fastlane/Matchfile +++ b/fastlane/Matchfile @@ -1,4 +1,4 @@ -git_url("git@github.com:Roy-wonji/FastlaneMatch.git") +git_url("git@github.com:SWYP-Find/Fastlane-match.git") storage_mode("git") app_identifier(["io.Picke.co"]) include_mac_in_profiles(true) @@ -11,18 +11,18 @@ keychain_name(ENV["MATCH_KEYCHAIN_NAME"] || "match_keychain") keychain_password(ENV["MATCH_KEYCHAIN_PASSWORD"]) # .env 파일에서 API 키가 있으면 임시 JSON 파일 생성 후 사용 완료시 자동 삭제 -if ENV["APP_STORE_CONNECT_API_KEY_ID"] && ENV["APP_STORE_CONNECT_API_KEY_ISSUER_ID"] && ENV["APP_STORE_CONNECT_API_KEY_KEY_CONTENT"] +if ENV["APP_STORE_CONNECT_API_KEY_ID"] && ENV["APP_STORE_CONNECT_ISSUER_ID"] && ENV["APP_STORE_CONNECT_API_KEY_CONTENT"] require 'json' require 'base64' api_key_path = "fastlane/AuthKey_#{ENV['APP_STORE_CONNECT_API_KEY_ID']}.json" # 임시 JSON 파일 생성 - decoded_key = Base64.decode64(ENV["APP_STORE_CONNECT_API_KEY_KEY_CONTENT"]) + decoded_key = Base64.decode64(ENV["APP_STORE_CONNECT_API_KEY_CONTENT"]) api_key_data = { "key_id" => ENV["APP_STORE_CONNECT_API_KEY_ID"], - "issuer_id" => ENV["APP_STORE_CONNECT_API_KEY_ISSUER_ID"], + "issuer_id" => ENV["APP_STORE_CONNECT_ISSUER_ID"], "key" => decoded_key, "duration" => 1200, "in_house" => false From 7f6382bd21ff90585baaa182e789c1e5816e54d3 Mon Sep 17 00:00:00 2001 From: Roy Date: Wed, 19 Aug 2026 21:41:43 +0900 Subject: [PATCH 03/83] =?UTF-8?q?feat(data):=20AppUpdate=20=EB=A5=BC=20?= =?UTF-8?q?=EB=8F=85=EB=A6=BD=20=EB=8D=B0=EC=9D=B4=ED=84=B0=20=EB=AA=A8?= =?UTF-8?q?=EB=93=88=EB=A1=9C=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 앱 업데이트 조회 코드가 모듈 정의 없이 소스만 존재해 다른 Data 모듈처럼 독립적으로 빌드/의존할 수 없었다. 모듈 목록과 Tuist 프로젝트를 추가한다. - DataFeatureModule 에 AppUpdate 케이스 추가 - Projects/Data/AppUpdate/Project.swift 신설(AppUpdateDomain 인터페이스, Model, NetworkModule 에만 의존) --- .../FeatureModule.swift | 1 + Projects/Data/AppUpdate/Project.swift | 20 +++++++++++++++++++ 2 files changed, 21 insertions(+) create mode 100644 Projects/Data/AppUpdate/Project.swift diff --git a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/FeatureModule.swift b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/FeatureModule.swift index 94f244b6..982b7ad8 100644 --- a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/FeatureModule.swift +++ b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/FeatureModule.swift @@ -59,6 +59,7 @@ public enum ServiceFeatureModule: String, CaseIterable { } public enum DataFeatureModule: String, CaseIterable { + case AppUpdate case Attendance case Auth case Battle diff --git a/Projects/Data/AppUpdate/Project.swift b/Projects/Data/AppUpdate/Project.swift new file mode 100644 index 00000000..45d6968d --- /dev/null +++ b/Projects/Data/AppUpdate/Project.swift @@ -0,0 +1,20 @@ +import DependencyPackagePlugin +import DependencyPlugin +import Foundation +import ProjectDescription +import ProjectTemplatePlugin + +let project = Project.configure( + moduleType: .module(name: "AppUpdateData"), + bundleId: .appBundleID(name: ".AppUpdateData"), + product: .staticFramework, + settings: .settings(), + dependencies: [ + .Domain(.AppUpdate, .interface), + .Data(implements: .Model), + .Network(implements: .NetworkModule), + .SPM.logMarco, + ], + sources: ["Sources/**"], + hasTests: false +) From 76e17626c84a57e3bce009c7efc813d7cb259eba Mon Sep 17 00:00:00 2001 From: Roy Date: Wed, 19 Aug 2026 21:42:01 +0900 Subject: [PATCH 04/83] =?UTF-8?q?feat(network):=20=EC=84=B8=EC=85=98=20?= =?UTF-8?q?=EB=A0=88=EC=A7=80=EC=8A=A4=ED=8A=B8=EB=A6=AC=EC=99=80=20?= =?UTF-8?q?=EC=9A=94=EC=B2=AD=20=ED=85=94=EB=A0=88=EB=A9=94=ED=8A=B8?= =?UTF-8?q?=EB=A6=AC=EB=A5=BC=20NetworkModule=20=EB=A1=9C=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 세션 인스턴스를 Data/Auth 의 OptimizedSessionManager 가 소유해 NetworkModule 이 상위 모듈을 거꾸로 참조해야 했고, 요청 지연·실패를 관측할 지점도 없었다. 세션 보관은 NetworkModule 쪽 레지스트리로 옮기고 provider 가 요청 결과를 직접 기록하게 한다. - NetworkSessionRegistry: 인증/비인증 세션을 주입받아 보관, provider 는 여기서 세션을 꺼낸다. OptimizedSessionManager 는 configureNetworkSessions() 로 자신이 만든 세션을 등록만 한다 - NetworkTelemetry: source·method·url·statusCode·duration·성공여부 이벤트 기록 - AlamofireNetworkProvider: .value 대신 .response 를 받아 텔레메트리를 남기고 결과를 반환하도록 변경(동작 동일) - URLSession 을 직접 쓰는 두 경로도 같은 이벤트를 남긴다: 앱스토어 lookup(app_store_lookup), 투표 공유 이미지(vote_share_image) --- .../Repository/AppUpdateRepositoryImpl.swift | 34 ++++++++++++- .../OptimizedSessionManager.swift | 17 ++++++- Projects/Network/NetworkModule/Project.swift | 5 +- .../Sources/AlamofireNetworkProvider.swift | 47 +++++++++++++++-- .../Exported/NetworkModuleExported.swift | 3 -- .../Sources/NetworkSessionRegistry.swift | 40 +++++++++++++++ .../Sources/NetworkTelemetry.swift | 50 +++++++++++++++++++ Projects/Presentation/Chat/Project.swift | 3 +- .../Sources/Vote/Reducer/PreVoteFeature.swift | 36 +++++++++++-- 9 files changed, 215 insertions(+), 20 deletions(-) create mode 100644 Projects/Network/NetworkModule/Sources/NetworkSessionRegistry.swift create mode 100644 Projects/Network/NetworkModule/Sources/NetworkTelemetry.swift diff --git a/Projects/Data/AppUpdate/Sources/Repository/AppUpdateRepositoryImpl.swift b/Projects/Data/AppUpdate/Sources/Repository/AppUpdateRepositoryImpl.swift index 26bc469f..921dbd2d 100644 --- a/Projects/Data/AppUpdate/Sources/Repository/AppUpdateRepositoryImpl.swift +++ b/Projects/Data/AppUpdate/Sources/Repository/AppUpdateRepositoryImpl.swift @@ -9,6 +9,7 @@ import Model import AppUpdateDomainInterface import LogMacro +import NetworkModule public final class AppUpdateRepositoryImpl: AppUpdateInterface { private let urlSession: URLSession @@ -48,8 +49,15 @@ public final class AppUpdateRepositoryImpl: AppUpdateInterface { let urlString = "https://itunes.apple.com/lookup?bundleId=\(bundleId)&country=\(country)" guard let url = URL(string: urlString) else { throw AppUpdateError.invalidBundleId } + let startedAt = Date() do { - let (data, _) = try await urlSession.data(from: url) + let (data, urlResponse) = try await urlSession.data(from: url) + recordTelemetry( + url: url, + response: urlResponse, + startedAt: startedAt, + isSuccess: true + ) let response = try JSONDecoder().decode(AppUpdateResponseDTO.self, from: data) guard let appInfo = response.results.first else { throw AppUpdateError.appNotFound } return appInfo @@ -58,11 +66,35 @@ public final class AppUpdateRepositoryImpl: AppUpdateInterface { } catch let error as AppUpdateError { throw error } catch { + recordTelemetry( + url: url, + response: nil, + startedAt: startedAt, + isSuccess: false + ) Log.error("[AppUpdate] lookup 실패(\(country)): \(error.localizedDescription)") throw AppUpdateError.from(error) } } + private func recordTelemetry( + url: URL, + response: URLResponse?, + startedAt: Date, + isSuccess: Bool + ) { + NetworkTelemetry.shared.record( + NetworkTelemetryEvent( + source: "app_store_lookup", + method: "GET", + url: url, + statusCode: (response as? HTTPURLResponse)?.statusCode, + duration: Date().timeIntervalSince(startedAt), + isSuccess: isSuccess + ) + ) + } + private func currentLanguage() -> String { if let code = Locale.current.language.languageCode?.identifier { return code } if let preferred = Locale.preferredLanguages.first { return String(preferred.prefix(2)) } diff --git a/Projects/Data/Auth/Sources/RefreshToken/OptimizedSessionManager.swift b/Projects/Data/Auth/Sources/RefreshToken/OptimizedSessionManager.swift index 3fff0ae1..f66a822c 100644 --- a/Projects/Data/Auth/Sources/RefreshToken/OptimizedSessionManager.swift +++ b/Projects/Data/Auth/Sources/RefreshToken/OptimizedSessionManager.swift @@ -8,6 +8,7 @@ import Alamofire import AuthDomainInterface import Foundation +import NetworkModule import PickeStorageInterface import WeaveDI @@ -25,12 +26,24 @@ public final class OptimizedSessionManager { private init() { // 세션 조립은 SessionFactory 가 담당(config·인터셉터·이벤트 모니터). 동작 보존. - session = SessionFactory.authenticated() - plainSession = SessionFactory.plain() + session = SessionFactory.authenticated( + interceptor: AuthInterceptor(), + eventMonitors: [SessionInvalidationMonitor()] + ) + plainSession = SessionFactory.plain( + eventMonitors: [SessionInvalidationMonitor()] + ) setupInitialCredential() } + public func configureNetworkSessions() { + NetworkSessionRegistry.shared.configure( + authorizedSession: session, + plainSession: plainSession + ) + } + public func updateCredential(with tokens: AuthTokens) { credential = AccessTokenCredential.make( accessToken: tokens.accessToken, diff --git a/Projects/Network/NetworkModule/Project.swift b/Projects/Network/NetworkModule/Project.swift index f6354437..28be0b60 100644 --- a/Projects/Network/NetworkModule/Project.swift +++ b/Projects/Network/NetworkModule/Project.swift @@ -10,10 +10,9 @@ let project = Project.configure( product: .staticFramework, settings: .settings(), dependencies: [ - .Network(implements: .NetworkToken), .Network(implements: .NetworkHeader), - .Network(implements: .Networking), - .Network(implements: .ThirdPartys), + .SPM.alamofire, + .SPM.logMarco, ], sources: ["Sources/**"] ) diff --git a/Projects/Network/NetworkModule/Sources/AlamofireNetworkProvider.swift b/Projects/Network/NetworkModule/Sources/AlamofireNetworkProvider.swift index 36a6700a..f208f851 100644 --- a/Projects/Network/NetworkModule/Sources/AlamofireNetworkProvider.swift +++ b/Projects/Network/NetworkModule/Sources/AlamofireNetworkProvider.swift @@ -20,39 +20,76 @@ public struct AlamofireNetworkProvider: NetworkProvidin session: Session? = nil, decoder: JSONDecoder = JSONDecoder() ) { - self.session = session ?? OptimizedSessionManager.shared.session + self.session = session ?? NetworkSessionRegistry.shared.authorizedSession() self.decoder = decoder } public func request(_ target: Target) async throws -> D { let request = try target.asURLRequest() - return try await session + let startedAt = Date() + let response = await session .request(request) .validate() .serializingDecodable(D.self, decoder: decoder) - .value + .response + recordTelemetry( + request: request, + response: response.response, + startedAt: startedAt, + isSuccess: response.error == nil + ) + return try response.result.get() } public func requestResponse(_ target: Target) async throws -> PickeResponse { let request = try target.asURLRequest() + let startedAt = Date() let dataTask = session.request(request).serializingData() let response = await dataTask.response + recordTelemetry( + request: request, + response: response.response, + startedAt: startedAt, + isSuccess: response.error == nil + ) let data = try response.result.get() return PickeResponse( statusCode: response.response?.statusCode ?? 0, data: data ) } + + private func recordTelemetry( + request: URLRequest, + response: HTTPURLResponse?, + startedAt: Date, + isSuccess: Bool + ) { + NetworkTelemetry.shared.record( + NetworkTelemetryEvent( + source: "alamofire", + method: request.httpMethod ?? "UNKNOWN", + url: request.url, + statusCode: response?.statusCode, + duration: Date().timeIntervalSince(startedAt), + isSuccess: isSuccess + ) + ) + } } public extension AlamofireNetworkProvider { /// 인증 세션(인터셉터 부착) 기반 provider. 기존 `MoyaProvider.authorized` 대체. static var authorized: AlamofireNetworkProvider { - AlamofireNetworkProvider(session: OptimizedSessionManager.shared.session) + AlamofireNetworkProvider( + session: NetworkSessionRegistry.shared.authorizedSession() + ) } /// 인증 없는 세션 기반 provider. 기존 `MoyaProvider.default` 대체. static var `default`: AlamofireNetworkProvider { - AlamofireNetworkProvider(session: OptimizedSessionManager.shared.plainSession) + AlamofireNetworkProvider( + session: NetworkSessionRegistry.shared.plainSession() + ) } } diff --git a/Projects/Network/NetworkModule/Sources/Exported/NetworkModuleExported.swift b/Projects/Network/NetworkModule/Sources/Exported/NetworkModuleExported.swift index 700ac2ca..f09acdd9 100644 --- a/Projects/Network/NetworkModule/Sources/Exported/NetworkModuleExported.swift +++ b/Projects/Network/NetworkModule/Sources/Exported/NetworkModuleExported.swift @@ -5,7 +5,4 @@ // MARK: - Network 레이어 한번에 노출 -@_exported import NetworkToken @_exported import NetworkHeader -@_exported import Networking -@_exported import ThirdPartys diff --git a/Projects/Network/NetworkModule/Sources/NetworkSessionRegistry.swift b/Projects/Network/NetworkModule/Sources/NetworkSessionRegistry.swift new file mode 100644 index 00000000..42bbb2c1 --- /dev/null +++ b/Projects/Network/NetworkModule/Sources/NetworkSessionRegistry.swift @@ -0,0 +1,40 @@ +// +// NetworkSessionRegistry.swift +// NetworkModule +// + +import Alamofire +import Foundation + +/// NetworkModule 이 인증 구현체를 직접 알지 않도록 세션 조립 결과만 주입받는다. +public final class NetworkSessionRegistry: @unchecked Sendable { + public static let shared = NetworkSessionRegistry() + + private let lock = NSLock() + private var configuredAuthorizedSession: Session? + private var configuredPlainSession: Session? + + private init() {} + + public func configure( + authorizedSession: Session, + plainSession: Session + ) { + lock.withLock { + configuredAuthorizedSession = authorizedSession + configuredPlainSession = plainSession + } + } + + func authorizedSession() -> Session { + lock.withLock { + configuredAuthorizedSession + } ?? SessionFactory.plain() + } + + func plainSession() -> Session { + lock.withLock { + configuredPlainSession + } ?? SessionFactory.plain() + } +} diff --git a/Projects/Network/NetworkModule/Sources/NetworkTelemetry.swift b/Projects/Network/NetworkModule/Sources/NetworkTelemetry.swift new file mode 100644 index 00000000..09554998 --- /dev/null +++ b/Projects/Network/NetworkModule/Sources/NetworkTelemetry.swift @@ -0,0 +1,50 @@ +import Foundation + +public struct NetworkTelemetryEvent: Sendable { + public let source: String + public let method: String + public let host: String + public let path: String + public let statusCode: Int? + public let durationMilliseconds: Int + public let isSuccess: Bool + + public init( + source: String, + method: String, + url: URL?, + statusCode: Int?, + duration: TimeInterval, + isSuccess: Bool + ) { + self.source = source + self.method = method + host = url?.host ?? "" + path = url?.path ?? "" + self.statusCode = statusCode + durationMilliseconds = max(0, Int(duration * 1000)) + self.isSuccess = isSuccess + } +} + +public final class NetworkTelemetry: @unchecked Sendable { + public static let shared = NetworkTelemetry() + + private let lock = NSLock() + private var handler: (@Sendable (NetworkTelemetryEvent) -> Void)? + + private init() {} + + public func configure( + handler: @escaping @Sendable (NetworkTelemetryEvent) -> Void + ) { + lock.withLock { + self.handler = handler + } + } + + public func record(_ event: NetworkTelemetryEvent) { + let currentHandler = lock.withLock { handler } + currentHandler?(event) + } +} diff --git a/Projects/Presentation/Chat/Project.swift b/Projects/Presentation/Chat/Project.swift index a830d5fc..9f3cebf2 100644 --- a/Projects/Presentation/Chat/Project.swift +++ b/Projects/Presentation/Chat/Project.swift @@ -17,7 +17,8 @@ let project = Project.configure( .Domain(.Common, .interface), .Domain(.Battle, .interface), .Domain(.Home, .interface), - + .Network(implements: .NetworkModule), + .Domain(.Comment, .interface), .Core(.PickeCore), // 큐레이션 리스트 상단 배너 광고 — 광고를 노출하는 화면만 명시적으로 의존한다. diff --git a/Projects/Presentation/Chat/Sources/Vote/Reducer/PreVoteFeature.swift b/Projects/Presentation/Chat/Sources/Vote/Reducer/PreVoteFeature.swift index 68523efe..bcf869af 100644 --- a/Projects/Presentation/Chat/Sources/Vote/Reducer/PreVoteFeature.swift +++ b/Projects/Presentation/Chat/Sources/Vote/Reducer/PreVoteFeature.swift @@ -6,15 +6,16 @@ // import Foundation +import NetworkModule import UIKit +import AnalyticsServiceInterface import BattleDomainInterface import CommonDomainInterface import ComposableArchitecture import LogMacro import PerspectiveDomainInterface import PickeDesignKit -import AnalyticsServiceInterface @Reducer public struct PreVoteFeature { @@ -289,11 +290,36 @@ extension PreVoteFeature { if let data = content.snapshotData, let image = UIImage(data: data) { items.append(image) } else if let thumbnailURL = content.thumbnailURL, - let remoteURL = URL(string: thumbnailURL), - let (data, _) = try? await URLSession.shared.data(from: remoteURL), - let image = UIImage(data: data) + let remoteURL = URL(string: thumbnailURL) { - items.append(image) + let startedAt = Date() + do { + let (data, response) = try await URLSession.shared.data(from: remoteURL) + NetworkTelemetry.shared.record( + NetworkTelemetryEvent( + source: "vote_share_image", + method: "GET", + url: remoteURL, + statusCode: (response as? HTTPURLResponse)?.statusCode, + duration: Date().timeIntervalSince(startedAt), + isSuccess: true + ) + ) + if let image = UIImage(data: data) { + items.append(image) + } + } catch { + NetworkTelemetry.shared.record( + NetworkTelemetryEvent( + source: "vote_share_image", + method: "GET", + url: remoteURL, + statusCode: nil, + duration: Date().timeIntervalSince(startedAt), + isSuccess: false + ) + ) + } } await send(.inner(.sharePrepared(ShareItem(items: items)))) From 82fc4f562fe41e99f6bd903fea85f387ff80d031 Mon Sep 17 00:00:00 2001 From: Roy Date: Wed, 19 Aug 2026 21:42:17 +0900 Subject: [PATCH 05/83] =?UTF-8?q?refactor(data):=20Repository=20=EB=AA=A8?= =?UTF-8?q?=EB=93=88=EC=9D=84=20=EC=A0=9C=EA=B1=B0=ED=95=98=EA=B3=A0=20Net?= =?UTF-8?q?workModule=20=EC=9D=98=EC=A1=B4=EC=9C=BC=EB=A1=9C=20=EB=8C=80?= =?UTF-8?q?=EC=B2=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Repository 모듈은 provider 타입을 재노출하는 것 외에 자체 책임이 없으면서 Storage·Domain 인터페이스·AudioPlayer 까지 끌고 다녀, 모든 Data 모듈이 필요 없는 의존성을 함께 가져가고 있었다. 각 모듈이 NetworkModule 만 직접 의존하도록 바꾸고 모듈을 삭제한다. - ModulePath.Datas 에서 Repository 케이스 제거, Projects/Data/Repository 삭제 - Data 9개 모듈(Attendance/Auth/Battle/Comment/Home/Notification/Perspective/ Profile/Search)과 Service/Device 의 의존성·import 를 NetworkModule 로 교체 - 각 모듈 TestSupport 의 StubNetworkProvider import 도 동일하게 교체 - DataExported: Repository·Service 재노출 제거, 중복 CommentData 정리, AppUpdateData·AttendanceData 추가 - PerspectiveService: Repository 를 통해 딸려오던 Remote 를 명시적으로 import --- .../TargetDependency+Module/Modules.swift | 1 - Projects/Data/Attendance/Project.swift | 2 +- .../Repository/AttendanceRepositoryImpl.swift | 2 +- .../Data/Attendance/Tests/TestSupport.swift | 2 +- Projects/Data/Auth/Project.swift | 2 +- .../Repository/AuthRepositoryImpl.swift | 2 +- Projects/Data/Auth/Tests/TestSupport.swift | 2 +- Projects/Data/Battle/Project.swift | 2 +- .../Repository/BattleRepositoryImpl.swift | 2 +- Projects/Data/Battle/Tests/TestSupport.swift | 2 +- Projects/Data/Comment/Project.swift | 2 +- .../Repository/CommentRepositoryImpl.swift | 2 +- Projects/Data/Comment/Tests/TestSupport.swift | 2 +- Projects/Data/Data/Project.swift | 2 +- .../Data/Sources/Exported/DataExported.swift | 5 ++- Projects/Data/Home/Project.swift | 2 +- .../Repository/HomeRepositoryImpl.swift | 2 +- Projects/Data/Home/Tests/TestSupport.swift | 2 +- Projects/Data/Notification/Project.swift | 2 +- .../NotificationRepositoryImpl.swift | 2 +- .../Data/Notification/Tests/TestSupport.swift | 2 +- Projects/Data/Perspective/Project.swift | 2 +- .../PerspectiveRepositoryImpl.swift | 2 +- .../Sources/Service/PerspectiveService.swift | 2 +- .../Data/Perspective/Tests/TestSupport.swift | 2 +- Projects/Data/Profile/Project.swift | 2 +- .../Repository/ProfileRepositoryImpl.swift | 2 +- Projects/Data/Profile/Tests/TestSupport.swift | 2 +- Projects/Data/Repository/Project.swift | 33 ------------------- .../Data/Repository/Tests/Sources/Test.swift | 8 ----- Projects/Data/Search/Project.swift | 2 +- .../Search/Sources/SearchRepositoryImpl.swift | 2 +- Projects/Data/Search/Tests/TestSupport.swift | 2 +- Projects/Service/Device/Project.swift | 4 +++ .../Repository/DeviceRepositoryImpl.swift | 1 + 35 files changed, 36 insertions(+), 74 deletions(-) delete mode 100644 Projects/Data/Repository/Project.swift delete mode 100644 Projects/Data/Repository/Tests/Sources/Test.swift diff --git a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Modules.swift b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Modules.swift index d7120642..4db9a227 100644 --- a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Modules.swift +++ b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Modules.swift @@ -34,7 +34,6 @@ public extension ModulePath { enum Datas: String, CaseIterable { case Model case Data - case Repository case API case Remote case DataTesting diff --git a/Projects/Data/Attendance/Project.swift b/Projects/Data/Attendance/Project.swift index 3d23fb49..56a9c9d5 100644 --- a/Projects/Data/Attendance/Project.swift +++ b/Projects/Data/Attendance/Project.swift @@ -14,7 +14,7 @@ let project = Project.configure( .Data(implements: .API), .Data(implements: .Model), .Data(implements: .Remote), - .Data(implements: .Repository), + .Network(implements: .NetworkModule), .Network(implements: .NetworkHeader), .SPM.logMarco, ], diff --git a/Projects/Data/Attendance/Sources/Repository/AttendanceRepositoryImpl.swift b/Projects/Data/Attendance/Sources/Repository/AttendanceRepositoryImpl.swift index ea284148..60b628f3 100644 --- a/Projects/Data/Attendance/Sources/Repository/AttendanceRepositoryImpl.swift +++ b/Projects/Data/Attendance/Sources/Repository/AttendanceRepositoryImpl.swift @@ -7,7 +7,7 @@ import Foundation import AttendanceDomainInterface import Model -import Repository +import NetworkModule import LogMacro diff --git a/Projects/Data/Attendance/Tests/TestSupport.swift b/Projects/Data/Attendance/Tests/TestSupport.swift index cf2dfba4..aca89249 100644 --- a/Projects/Data/Attendance/Tests/TestSupport.swift +++ b/Projects/Data/Attendance/Tests/TestSupport.swift @@ -6,7 +6,7 @@ import Foundation import NetworkHeader -import Repository +import NetworkModule /// 고정 데이터를 그대로 디코딩해 반환하는 스텁 provider. struct StubNetworkProvider: NetworkProviding { diff --git a/Projects/Data/Auth/Project.swift b/Projects/Data/Auth/Project.swift index c09da8cb..8045c88e 100644 --- a/Projects/Data/Auth/Project.swift +++ b/Projects/Data/Auth/Project.swift @@ -15,7 +15,7 @@ let project = Project.configure( .Data(implements: .API), .Data(implements: .Model), .Data(implements: .Remote), - .Data(implements: .Repository), + .Network(implements: .NetworkModule), .Network(implements: .NetworkHeader), .SPM.weaveDI, .SPM.logMarco, diff --git a/Projects/Data/Auth/Sources/Repository/AuthRepositoryImpl.swift b/Projects/Data/Auth/Sources/Repository/AuthRepositoryImpl.swift index 9c1fd5fa..be24dc5b 100644 --- a/Projects/Data/Auth/Sources/Repository/AuthRepositoryImpl.swift +++ b/Projects/Data/Auth/Sources/Repository/AuthRepositoryImpl.swift @@ -9,7 +9,7 @@ import Foundation import AuthDomainInterface import Model -import Repository +import NetworkModule import Remote import Alamofire diff --git a/Projects/Data/Auth/Tests/TestSupport.swift b/Projects/Data/Auth/Tests/TestSupport.swift index b255f045..be93d87a 100644 --- a/Projects/Data/Auth/Tests/TestSupport.swift +++ b/Projects/Data/Auth/Tests/TestSupport.swift @@ -6,7 +6,7 @@ import Foundation import NetworkHeader -import Repository +import NetworkModule /// 고정 데이터를 그대로 디코딩해 반환하는 스텁 provider. struct StubNetworkProvider: NetworkProviding { diff --git a/Projects/Data/Battle/Project.swift b/Projects/Data/Battle/Project.swift index a25f55d2..1ca2055a 100644 --- a/Projects/Data/Battle/Project.swift +++ b/Projects/Data/Battle/Project.swift @@ -17,7 +17,7 @@ let project = Project.configure( .Data(implements: .API), .Data(implements: .Model), .Data(implements: .Remote), - .Data(implements: .Repository), + .Network(implements: .NetworkModule), .Network(implements: .NetworkHeader), .SPM.weaveDI, .SPM.logMarco, diff --git a/Projects/Data/Battle/Sources/Repository/BattleRepositoryImpl.swift b/Projects/Data/Battle/Sources/Repository/BattleRepositoryImpl.swift index ae281fc4..e30bbaab 100644 --- a/Projects/Data/Battle/Sources/Repository/BattleRepositoryImpl.swift +++ b/Projects/Data/Battle/Sources/Repository/BattleRepositoryImpl.swift @@ -9,7 +9,7 @@ import BattleDomainInterface import CommonDomainInterface import HomeDomainInterface import Model -import Repository +import NetworkModule import Remote import LogMacro diff --git a/Projects/Data/Battle/Tests/TestSupport.swift b/Projects/Data/Battle/Tests/TestSupport.swift index 204c6d44..8b02121c 100644 --- a/Projects/Data/Battle/Tests/TestSupport.swift +++ b/Projects/Data/Battle/Tests/TestSupport.swift @@ -6,7 +6,7 @@ import Foundation import NetworkHeader -import Repository +import NetworkModule /// 고정 데이터를 그대로 디코딩해 반환하는 스텁 provider. struct StubNetworkProvider: NetworkProviding { diff --git a/Projects/Data/Comment/Project.swift b/Projects/Data/Comment/Project.swift index 3444f556..291a8ceb 100644 --- a/Projects/Data/Comment/Project.swift +++ b/Projects/Data/Comment/Project.swift @@ -15,7 +15,7 @@ let project = Project.configure( .Data(implements: .API), .Data(implements: .Model), .Data(implements: .Remote), - .Data(implements: .Repository), + .Network(implements: .NetworkModule), .Network(implements: .NetworkHeader), .SPM.logMarco, ], diff --git a/Projects/Data/Comment/Sources/Repository/CommentRepositoryImpl.swift b/Projects/Data/Comment/Sources/Repository/CommentRepositoryImpl.swift index ee2e93ca..c0766e90 100644 --- a/Projects/Data/Comment/Sources/Repository/CommentRepositoryImpl.swift +++ b/Projects/Data/Comment/Sources/Repository/CommentRepositoryImpl.swift @@ -8,7 +8,7 @@ import Foundation import CommentDomainInterface import CommonDomainInterface import Model -import Repository +import NetworkModule import LogMacro diff --git a/Projects/Data/Comment/Tests/TestSupport.swift b/Projects/Data/Comment/Tests/TestSupport.swift index a2eada1f..51473396 100644 --- a/Projects/Data/Comment/Tests/TestSupport.swift +++ b/Projects/Data/Comment/Tests/TestSupport.swift @@ -6,7 +6,7 @@ import Foundation import NetworkHeader -import Repository +import NetworkModule struct StubNetworkProvider: NetworkProviding { let stubData: Data diff --git a/Projects/Data/Data/Project.swift b/Projects/Data/Data/Project.swift index 6b760345..b0e16f74 100644 --- a/Projects/Data/Data/Project.swift +++ b/Projects/Data/Data/Project.swift @@ -10,10 +10,10 @@ let project = Project.configure( product: .staticFramework, settings: .settings(), dependencies: [ + .Data(.AppUpdate), .Data(implements: .API), .Data(implements: .Model), .Data(implements: .Remote), - .Data(implements: .Repository), .Data(.Attendance), .Data(.Auth), .Data(.Battle), diff --git a/Projects/Data/Data/Sources/Exported/DataExported.swift b/Projects/Data/Data/Sources/Exported/DataExported.swift index 1b1719b8..07a16b25 100644 --- a/Projects/Data/Data/Sources/Exported/DataExported.swift +++ b/Projects/Data/Data/Sources/Exported/DataExported.swift @@ -6,15 +6,14 @@ // MARK: - Data 레이어 한번에 노출 @_exported import API +@_exported import AppUpdateData +@_exported import AttendanceData @_exported import AuthData @_exported import BattleData @_exported import CommentData -@_exported import CommentData @_exported import HomeData @_exported import Model @_exported import NotificationData @_exported import PerspectiveData @_exported import ProfileData -@_exported import Repository @_exported import SearchData -@_exported import Service diff --git a/Projects/Data/Home/Project.swift b/Projects/Data/Home/Project.swift index 708250ce..7a5348e9 100644 --- a/Projects/Data/Home/Project.swift +++ b/Projects/Data/Home/Project.swift @@ -16,7 +16,7 @@ let project = Project.configure( .Data(implements: .API), .Data(implements: .Model), .Data(implements: .Remote), - .Data(implements: .Repository), + .Network(implements: .NetworkModule), .Network(implements: .NetworkHeader), .SPM.weaveDI, .SPM.logMarco, diff --git a/Projects/Data/Home/Sources/Repository/HomeRepositoryImpl.swift b/Projects/Data/Home/Sources/Repository/HomeRepositoryImpl.swift index 153b140d..06db2d8d 100644 --- a/Projects/Data/Home/Sources/Repository/HomeRepositoryImpl.swift +++ b/Projects/Data/Home/Sources/Repository/HomeRepositoryImpl.swift @@ -9,7 +9,7 @@ import Foundation import HomeDomainInterface import Model -import Repository +import NetworkModule import LogMacro import AuthDomainInterface diff --git a/Projects/Data/Home/Tests/TestSupport.swift b/Projects/Data/Home/Tests/TestSupport.swift index 3c34b06e..b97076f5 100644 --- a/Projects/Data/Home/Tests/TestSupport.swift +++ b/Projects/Data/Home/Tests/TestSupport.swift @@ -6,7 +6,7 @@ import Foundation import NetworkHeader -import Repository +import NetworkModule /// 고정 데이터를 그대로 디코딩해 반환하는 스텁 provider. struct StubNetworkProvider: NetworkProviding { diff --git a/Projects/Data/Notification/Project.swift b/Projects/Data/Notification/Project.swift index f6d89e29..9127afd5 100644 --- a/Projects/Data/Notification/Project.swift +++ b/Projects/Data/Notification/Project.swift @@ -14,7 +14,7 @@ let project = Project.configure( .Data(implements: .API), .Data(implements: .Model), .Data(implements: .Remote), - .Data(implements: .Repository), + .Network(implements: .NetworkModule), .Network(implements: .NetworkHeader), .SPM.logMarco, ], diff --git a/Projects/Data/Notification/Sources/Repository/NotificationRepositoryImpl.swift b/Projects/Data/Notification/Sources/Repository/NotificationRepositoryImpl.swift index 1fec5732..865b7dd1 100644 --- a/Projects/Data/Notification/Sources/Repository/NotificationRepositoryImpl.swift +++ b/Projects/Data/Notification/Sources/Repository/NotificationRepositoryImpl.swift @@ -7,7 +7,7 @@ import Foundation import Model import NotificationDomainInterface -import Repository +import NetworkModule import LogMacro diff --git a/Projects/Data/Notification/Tests/TestSupport.swift b/Projects/Data/Notification/Tests/TestSupport.swift index 00726c55..df7f90d8 100644 --- a/Projects/Data/Notification/Tests/TestSupport.swift +++ b/Projects/Data/Notification/Tests/TestSupport.swift @@ -6,7 +6,7 @@ import Foundation import NetworkHeader -import Repository +import NetworkModule /// 고정 데이터를 그대로 디코딩해 반환하는 스텁 provider. struct StubNetworkProvider: NetworkProviding { diff --git a/Projects/Data/Perspective/Project.swift b/Projects/Data/Perspective/Project.swift index 6351dcda..c0de1708 100644 --- a/Projects/Data/Perspective/Project.swift +++ b/Projects/Data/Perspective/Project.swift @@ -16,7 +16,7 @@ let project = Project.configure( .Data(implements: .API), .Data(implements: .Model), .Data(implements: .Remote), - .Data(implements: .Repository), + .Network(implements: .NetworkModule), .Network(implements: .NetworkHeader), .SPM.weaveDI, .SPM.logMarco, diff --git a/Projects/Data/Perspective/Sources/Repository/PerspectiveRepositoryImpl.swift b/Projects/Data/Perspective/Sources/Repository/PerspectiveRepositoryImpl.swift index 2550f6bd..f4d12cfc 100644 --- a/Projects/Data/Perspective/Sources/Repository/PerspectiveRepositoryImpl.swift +++ b/Projects/Data/Perspective/Sources/Repository/PerspectiveRepositoryImpl.swift @@ -9,7 +9,7 @@ import CommentDomainInterface import CommonDomainInterface import Model import PerspectiveDomainInterface -import Repository +import NetworkModule import LogMacro diff --git a/Projects/Data/Perspective/Sources/Service/PerspectiveService.swift b/Projects/Data/Perspective/Sources/Service/PerspectiveService.swift index a2b5005f..9834d2f4 100644 --- a/Projects/Data/Perspective/Sources/Service/PerspectiveService.swift +++ b/Projects/Data/Perspective/Sources/Service/PerspectiveService.swift @@ -7,7 +7,7 @@ import Foundation import API import NetworkHeader - +import Remote public struct PerspectiveCommentBody: Encodable { public let content: String diff --git a/Projects/Data/Perspective/Tests/TestSupport.swift b/Projects/Data/Perspective/Tests/TestSupport.swift index 275c5faa..b220c9d5 100644 --- a/Projects/Data/Perspective/Tests/TestSupport.swift +++ b/Projects/Data/Perspective/Tests/TestSupport.swift @@ -6,7 +6,7 @@ import Foundation import NetworkHeader -import Repository +import NetworkModule struct StubNetworkProvider: NetworkProviding { let stubData: Data diff --git a/Projects/Data/Profile/Project.swift b/Projects/Data/Profile/Project.swift index f48b66e2..65da7c78 100644 --- a/Projects/Data/Profile/Project.swift +++ b/Projects/Data/Profile/Project.swift @@ -14,7 +14,7 @@ let project = Project.configure( .Data(implements: .API), .Data(implements: .Model), .Data(implements: .Remote), - .Data(implements: .Repository), + .Network(implements: .NetworkModule), .Network(implements: .NetworkHeader), .SPM.logMarco, ], diff --git a/Projects/Data/Profile/Sources/Repository/ProfileRepositoryImpl.swift b/Projects/Data/Profile/Sources/Repository/ProfileRepositoryImpl.swift index 144a4100..ab694666 100644 --- a/Projects/Data/Profile/Sources/Repository/ProfileRepositoryImpl.swift +++ b/Projects/Data/Profile/Sources/Repository/ProfileRepositoryImpl.swift @@ -6,7 +6,7 @@ import Foundation import ProfileDomainInterface -import Repository +import NetworkModule import LogMacro diff --git a/Projects/Data/Profile/Tests/TestSupport.swift b/Projects/Data/Profile/Tests/TestSupport.swift index 8e9e2f2f..54c0d5a0 100644 --- a/Projects/Data/Profile/Tests/TestSupport.swift +++ b/Projects/Data/Profile/Tests/TestSupport.swift @@ -6,7 +6,7 @@ import Foundation import NetworkHeader -import Repository +import NetworkModule /// 고정 데이터를 그대로 디코딩해 반환하는 스텁 provider. struct StubNetworkProvider: NetworkProviding { diff --git a/Projects/Data/Repository/Project.swift b/Projects/Data/Repository/Project.swift deleted file mode 100644 index 9cf0c0b7..00000000 --- a/Projects/Data/Repository/Project.swift +++ /dev/null @@ -1,33 +0,0 @@ -import DependencyPackagePlugin -import DependencyPlugin -import Foundation -import ProjectDescription -import ProjectTemplatePlugin - -let project = Project.configure( - moduleType: .module(name: "Repository"), - bundleId: .appBundleID(name: ".Repository"), - product: .staticFramework, - settings: .settings(), - dependencies: [ - .Core(.PickeStorage, .interface), - .Domain(.AppUpdate, .interface), - .Service(.Device, .interface), - .Domain(.Common, .interface), - .Domain(.Comment, .interface), - .Domain(.Home, .interface), - .Network(implements: .Networking), - .Network(implements: .NetworkHeader), - .Data(implements: .Remote), - .Data(implements: .Model), - .Service(.AudioPlayer), - .Domain(.Auth, .interface), - .SPM.alamofire, - .SPM.composableArchitecture, - .SPM.weaveDI, - .SPM.logMarco, - .SPM.mixpanel, - ], - sources: ["Sources/**"], - hasTests: true -) diff --git a/Projects/Data/Repository/Tests/Sources/Test.swift b/Projects/Data/Repository/Tests/Sources/Test.swift deleted file mode 100644 index a9c810e3..00000000 --- a/Projects/Data/Repository/Tests/Sources/Test.swift +++ /dev/null @@ -1,8 +0,0 @@ -// -// base.swift -// DDDAttendance -// -// Created by Roy on 2025-09-04 -// Copyright © 2025 DDD , Ltd. All rights reserved. -// - diff --git a/Projects/Data/Search/Project.swift b/Projects/Data/Search/Project.swift index 5e98a21e..7ef05c59 100644 --- a/Projects/Data/Search/Project.swift +++ b/Projects/Data/Search/Project.swift @@ -17,7 +17,7 @@ let project = Project.configure( .Data(implements: .API), .Data(implements: .Model), - .Data(implements: .Repository), + .Network(implements: .NetworkModule), .Network(implements: .NetworkHeader), .SPM.logMarco, ], diff --git a/Projects/Data/Search/Sources/SearchRepositoryImpl.swift b/Projects/Data/Search/Sources/SearchRepositoryImpl.swift index bfc33a6b..e639a58e 100644 --- a/Projects/Data/Search/Sources/SearchRepositoryImpl.swift +++ b/Projects/Data/Search/Sources/SearchRepositoryImpl.swift @@ -7,7 +7,7 @@ import Foundation import HomeDomainInterface import Model -import Repository +import NetworkModule import SearchDomainInterface import LogMacro diff --git a/Projects/Data/Search/Tests/TestSupport.swift b/Projects/Data/Search/Tests/TestSupport.swift index 1a0072c5..cacf6fbc 100644 --- a/Projects/Data/Search/Tests/TestSupport.swift +++ b/Projects/Data/Search/Tests/TestSupport.swift @@ -6,7 +6,7 @@ import Foundation import NetworkHeader -import Repository +import NetworkModule /// 고정 데이터를 그대로 디코딩해 반환하는 스텁 provider. struct StubNetworkProvider: NetworkProviding { diff --git a/Projects/Service/Device/Project.swift b/Projects/Service/Device/Project.swift index e80072d1..c6189df1 100644 --- a/Projects/Service/Device/Project.swift +++ b/Projects/Service/Device/Project.swift @@ -10,7 +10,11 @@ let project = Project.configure( product: .staticFramework, settings: .settings(), dependencies: [ + .Data(implements: .Model), + .Data(implements: .Remote), + .Network(implements: .NetworkModule), .SPM.composableArchitecture, + .SPM.logMarco, ], interfaceDependencies: [ .SPM.composableArchitecture, diff --git a/Projects/Service/Device/Sources/Repository/DeviceRepositoryImpl.swift b/Projects/Service/Device/Sources/Repository/DeviceRepositoryImpl.swift index fa2908dc..50747101 100644 --- a/Projects/Service/Device/Sources/Repository/DeviceRepositoryImpl.swift +++ b/Projects/Service/Device/Sources/Repository/DeviceRepositoryImpl.swift @@ -6,6 +6,7 @@ import Foundation import Model +import NetworkModule import Remote import DeviceServiceInterface From 2bee674274411d2be3b13952f552fc32bdde5e9c Mon Sep 17 00:00:00 2001 From: Roy Date: Wed, 19 Aug 2026 21:42:22 +0900 Subject: [PATCH 06/83] =?UTF-8?q?refactor(module):=20=EC=8B=A4=EC=A0=9C?= =?UTF-8?q?=EB=A1=9C=20=EC=93=B0=EC=A7=80=20=EC=95=8A=EB=8A=94=20=EB=AA=A8?= =?UTF-8?q?=EB=93=88=20=EA=B0=84=20=EC=9D=98=EC=A1=B4=EC=84=B1=20=EC=A0=95?= =?UTF-8?q?=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Domain/Auth, Domain: AudioPlayer 서비스 의존 제거 - Domain/Home: Notification 도메인 의존 제거 - Presentation/Profile: Profile 도메인 인터페이스를 interfaceDependencies 로 이동 --- Projects/Domain/Auth/Project.swift | 2 -- Projects/Domain/Domain/Project.swift | 2 -- Projects/Domain/Home/Project.swift | 1 - Projects/Presentation/Profile/Project.swift | 5 ++++- 4 files changed, 4 insertions(+), 6 deletions(-) diff --git a/Projects/Domain/Auth/Project.swift b/Projects/Domain/Auth/Project.swift index ee01dca7..f45f104d 100644 --- a/Projects/Domain/Auth/Project.swift +++ b/Projects/Domain/Auth/Project.swift @@ -11,8 +11,6 @@ let project = Project.configure( settings: .settings(), dependencies: [ .Core(.PickeStorage, .interface), - - .Service(.AudioPlayer), .SPM.composableArchitecture, .SPM.weaveDI, .SPM.logMarco, diff --git a/Projects/Domain/Domain/Project.swift b/Projects/Domain/Domain/Project.swift index 53b84a06..10fa9bdb 100644 --- a/Projects/Domain/Domain/Project.swift +++ b/Projects/Domain/Domain/Project.swift @@ -11,8 +11,6 @@ let project = Project.configure( settings: .settings(), dependencies: [ .Domain(.Common), - - .Service(.AudioPlayer), .Domain(.Attendance), .Domain(.Auth), .Domain(.Battle), diff --git a/Projects/Domain/Home/Project.swift b/Projects/Domain/Home/Project.swift index 17c02485..ba759a38 100644 --- a/Projects/Domain/Home/Project.swift +++ b/Projects/Domain/Home/Project.swift @@ -10,7 +10,6 @@ let project = Project.configure( settings: .settings(), dependencies: [ .Domain(.Common, .interface), - .Domain(.Notification), .SPM.weaveDI, .SPM.composableArchitecture, ], diff --git a/Projects/Presentation/Profile/Project.swift b/Projects/Presentation/Profile/Project.swift index 3b8da920..74a3eb8a 100644 --- a/Projects/Presentation/Profile/Project.swift +++ b/Projects/Presentation/Profile/Project.swift @@ -20,11 +20,14 @@ let project = Project.configure( .Domain(.Auth, .interface), .Domain(.Battle, .interface), .Domain(.Notification, .interface), - + .Core(.PickeCore), .Service(.Ad), // 마이페이지 하단 배너 광고 .SPM.composableArchitecture, .SPM.tcaFlow, .SPM.kingfisher, + ], + interfaceDependencies: [ + .Domain(.Profile, .interface), ] ) From 2f69da38fdcc4c861e89d04e996c9893b310b187 Mon Sep 17 00:00:00 2001 From: Roy Date: Wed, 19 Aug 2026 21:42:54 +0900 Subject: [PATCH 07/83] =?UTF-8?q?feat(app):=20=EC=9D=B4=EB=AF=B8=EC=A7=80?= =?UTF-8?q?=20=EB=8B=A4=EC=9A=B4=EB=A1=9C=EB=93=9C=EC=97=90=EB=8F=84=20?= =?UTF-8?q?=EB=84=A4=ED=8A=B8=EC=9B=8C=ED=81=AC=20=ED=85=94=EB=A0=88?= =?UTF-8?q?=EB=A9=94=ED=8A=B8=EB=A6=AC=20=EC=88=98=EC=A7=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Kingfisher 는 자체 다운로더를 쓰기 때문에 provider 경로의 계측에 잡히지 않았다. ImageDownloaderDelegate 로 시작/완료 시각을 재 kingfisher source 이벤트로 남긴다. --- .../KingfisherConfigurator.swift | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/Projects/App/Sources/Application/Configuration/KingfisherConfigurator.swift b/Projects/App/Sources/Application/Configuration/KingfisherConfigurator.swift index fa15ba38..5ea2b84a 100644 --- a/Projects/App/Sources/Application/Configuration/KingfisherConfigurator.swift +++ b/Projects/App/Sources/Application/Configuration/KingfisherConfigurator.swift @@ -6,10 +6,14 @@ import Foundation import Kingfisher +import NetworkModule +import PickeStorageInterface import Domain enum KingfisherConfigurator { + private static let telemetryDelegate = KingfisherTelemetryDelegate() + /// 보호 이미지 (picke 백엔드 `/api/v1/resources/...`) 에만 Bearer 토큰을 첨부한다. /// 그 외 외부 호스트 (picsum.photos / 카카오 CDN 등) 로는 토큰을 절대 보내지 않는다. private static let protectedHostSuffixes: Set = [ @@ -40,5 +44,42 @@ enum KingfisherConfigurator { KingfisherManager.shared.defaultOptions = [ .requestModifier(modifier), ] + KingfisherManager.shared.downloader.delegate = telemetryDelegate + } +} + +private final class KingfisherTelemetryDelegate: ImageDownloaderDelegate, @unchecked Sendable { + private let lock = NSLock() + private var startedAtByURL: [URL: Date] = [:] + + func imageDownloader( + _: ImageDownloader, + willDownloadImageForURL url: URL, + with _: URLRequest? + ) { + lock.withLock { + startedAtByURL[url] = Date() + } + } + + func imageDownloader( + _: ImageDownloader, + didFinishDownloadingImageForURL url: URL, + with response: URLResponse?, + error: Error? + ) { + let startedAt = lock.withLock { + startedAtByURL.removeValue(forKey: url) ?? Date() + } + NetworkTelemetry.shared.record( + NetworkTelemetryEvent( + source: "kingfisher", + method: "GET", + url: url, + statusCode: (response as? HTTPURLResponse)?.statusCode, + duration: Date().timeIntervalSince(startedAt), + isSuccess: error == nil + ) + ) } } From f8a664d1bc7807dfe5d90056327c4d72b21a749c Mon Sep 17 00:00:00 2001 From: Roy Date: Wed, 19 Aug 2026 21:43:05 +0900 Subject: [PATCH 08/83] =?UTF-8?q?refactor(di):=20DiRegister=20=EB=A5=BC=20?= =?UTF-8?q?=EA=B1=B7=EC=96=B4=EB=82=B4=EA=B3=A0=20AppDependencyFactory=20?= =?UTF-8?q?=EB=A1=9C=20=EC=A3=BC=EC=9E=85=20=EC=9D=BC=EC=9B=90=ED=99=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 의존성이 WeaveDI 컨테이너에 문자열 없이 타입으로 숨어 있어, 화면이 무엇을 필요로 하는지 코드에서 보이지 않고 resolve 실패는 런타임에만 드러났다. TCA DependencyValues 에 명시적으로 넣고 컨테이너는 인터셉터 브리지에만 남긴다. - DiRegister 삭제, AppDependencyFactory 신설. 화면 단위 Factory(Auth/Home/ Chat/Profile/Search/AppService)가 각자 필요한 의존성을 configure(&values) 로 주입 - Alamofire 인터셉터는 Store 수명 밖에서 동작하므로 KeychainManaging 과 AuthInterface 만 WeaveDI 에 등록하고, 세션·Kingfisher 설정을 configureNetworkInfrastructure() 에서 함께 수행 - UnifiedDI.resolve 호출부(푸시 토큰, 코디네이터, 루트 뷰)를 직접 참조로 교체 - App/Project.swift: 위 주입에 필요한 Domain 10종, AppUpdateData, NetworkToken, PickeStorage, Device, Analytics 의존성 추가 - AppDelegate: 텔레메트리 이벤트를 Mixpanel network_request 로 보내는 싱크 연결 --- Projects/App/Project.swift | 15 +++ .../Configuration/PushTokenStore.swift | 2 +- .../Delegate/AppDelegate+Configure.swift | 36 +++-- .../Delegate/AppDelegate+Push.swift | 4 +- .../Sources/Application/Entry/PickeApp.swift | 2 + .../App/Sources/Di/AppDependencyFactory.swift | 126 ++++++++++++++++++ .../Di/AppPresentationContextProvider.swift | 8 +- Projects/App/Sources/Di/DiRegister.swift | 92 ------------- .../Sources/Di/KeychainTokenProvider.swift | 3 +- .../Battle/AppBattleCoordinator.swift | 4 +- .../Coordinator/Hifi/AppHifiCoordinator.swift | 2 +- .../Coordinator/Home/AppHomeCoordinator.swift | 4 +- .../MainTab/AppMainTabCoordinator.swift | 1 + .../Profile/AppProfileCoordinator.swift | 2 +- .../App/Sources/Reducer/Root/AppReducer.swift | 3 +- Projects/App/Sources/View/Root/AppView.swift | 2 +- .../App/Sources/View/Root/ContentView.swift | 14 +- 17 files changed, 190 insertions(+), 130 deletions(-) create mode 100644 Projects/App/Sources/Di/AppDependencyFactory.swift delete mode 100644 Projects/App/Sources/Di/DiRegister.swift diff --git a/Projects/App/Project.swift b/Projects/App/Project.swift index df6d45df..25a5b8f7 100644 --- a/Projects/App/Project.swift +++ b/Projects/App/Project.swift @@ -13,12 +13,27 @@ let project = Project.configure( settings: .appMainSetting, scripts: [.SentryUploadString], dependencies: [ + .Domain(.AppUpdate), + .Domain(.Attendance), + .Domain(.Auth), + .Domain(.Battle), + .Domain(.Comment), + .Domain(.Home), + .Domain(.Notification), + .Domain(.Perspective), + .Domain(.Profile), + .Domain(.Search), + .Data(.AppUpdate), .Service(.AudioPlayer), + .Service(.Analytics), .Presentation(implements: .Presentation), .Domain(implements: .Domain), .Data(implements: .Data), .Network(implements: .NetworkModule), + .Network(implements: .NetworkToken), .Core(.PickeCore), + .Core(.PickeStorage), + .Service(.Device), .Service(.Ad), // 앱 시작 전면 팝업 광고 .SPM.googleMobileAds, .SPM.firebaseCrashlytics, diff --git a/Projects/App/Sources/Application/Configuration/PushTokenStore.swift b/Projects/App/Sources/Application/Configuration/PushTokenStore.swift index d0c9812e..65f9afc3 100644 --- a/Projects/App/Sources/Application/Configuration/PushTokenStore.swift +++ b/Projects/App/Sources/Application/Configuration/PushTokenStore.swift @@ -5,8 +5,8 @@ import Foundation -import LogMacro import DeviceServiceInterface +import LogMacro import PickeStorageInterface enum PushTokenStore { diff --git a/Projects/App/Sources/Application/Delegate/AppDelegate+Configure.swift b/Projects/App/Sources/Application/Delegate/AppDelegate+Configure.swift index 9ac185be..b0d79350 100644 --- a/Projects/App/Sources/Application/Delegate/AppDelegate+Configure.swift +++ b/Projects/App/Sources/Application/Delegate/AppDelegate+Configure.swift @@ -8,8 +8,8 @@ import GoogleMobileAds import LogMacro import Mixpanel import MixpanelSessionReplay +import NetworkModule import UIKit -import WeaveDI import Domain @@ -53,6 +53,27 @@ extension AppDelegate { ]) initializeMixpanelSessionReplay() + configureNetworkTelemetry() + } + + private func configureNetworkTelemetry() { + NetworkTelemetry.shared.configure { event in + var properties: Properties = [ + "source": event.source, + "method": event.method, + "host": event.host, + "path": event.path, + "duration_ms": event.durationMilliseconds, + "success": event.isSuccess, + ] + if let statusCode = event.statusCode { + properties["status_code"] = statusCode + } + Mixpanel.mainInstance().track( + event: "network_request", + properties: properties + ) + } } /// NOTE: MixpanelSessionReplay 1.4.0의 _UIReparentingView swizzling이 @@ -100,17 +121,6 @@ extension AppDelegate { // MARK: - DI func configureDependencies() { - WeaveDI.Container.bootstrapInTask { @DIContainerActor _ in - await AppDIManager.shared.registerDefaultDependencies() - - // Kingfisher 글로벌 requestModifier 등록 — DI 등록 직후라 KeychainManaging resolve 보장 - if let keychainManager = UnifiedDI.resolve(KeychainManaging.self) { - await MainActor.run { - KingfisherConfigurator.configureAuthorizedDownloader( - keychainManager: keychainManager - ) - } - } - } + AppDependencyFactory.configureNetworkInfrastructure() } } diff --git a/Projects/App/Sources/Application/Delegate/AppDelegate+Push.swift b/Projects/App/Sources/Application/Delegate/AppDelegate+Push.swift index 740cfb69..917285b8 100644 --- a/Projects/App/Sources/Application/Delegate/AppDelegate+Push.swift +++ b/Projects/App/Sources/Application/Delegate/AppDelegate+Push.swift @@ -6,7 +6,6 @@ import LogMacro import UIKit import UserNotifications -import WeaveDI import Domain @@ -39,8 +38,7 @@ extension AppDelegate { PushTokenStore.current = tokenString #logDebug("[Push] APNs 토큰 수신: \(tokenString.prefix(12))…") - guard let keychainManager = UnifiedDI.resolve(KeychainManaging.self), - keychainManager.accessToken()?.isEmpty == false else { return } + guard AppDependencyFactory.keychainManager.accessToken()?.isEmpty == false else { return } Task { await PushTokenStore.register() } } diff --git a/Projects/App/Sources/Application/Entry/PickeApp.swift b/Projects/App/Sources/Application/Entry/PickeApp.swift index 85d40183..5e1c92ec 100644 --- a/Projects/App/Sources/Application/Entry/PickeApp.swift +++ b/Projects/App/Sources/Application/Entry/PickeApp.swift @@ -18,6 +18,8 @@ struct PickeApp: App { #else AppReducer() #endif + } withDependencies: { + AppDependencyFactory.configure(&$0) } SentryTracedView("AppRoot") { diff --git a/Projects/App/Sources/Di/AppDependencyFactory.swift b/Projects/App/Sources/Di/AppDependencyFactory.swift new file mode 100644 index 00000000..6289371e --- /dev/null +++ b/Projects/App/Sources/Di/AppDependencyFactory.swift @@ -0,0 +1,126 @@ +import AnalyticsService +import AnalyticsServiceInterface +import AppUpdateData +import AppUpdateDomain +import AttendanceData +import AttendanceDomain +import AudioPlayerService +import AuthData +import AuthDomain +import BattleData +import BattleDomain +import CommentData +import CommentDomain +import ComposableArchitecture +import DeviceService +import DeviceServiceInterface +import HomeData +import HomeDomain +import NetworkModule +import NotificationData +import NotificationDomain +import PerspectiveData +import PerspectiveDomain +import PickeStorage +import PickeStorageInterface +import ProfileData +import ProfileDomain +import SearchData +import SearchDomain +import WeaveDI + +enum AppDependencyFactory { + static let keychainManager: KeychainManaging = KeychainManager() + + @MainActor + static func configure(_ values: inout DependencyValues) { + values.keychainManager = keychainManager + AuthFeatureFactory.configure(&values) + HomeFeatureFactory.configure(&values) + ChatFeatureFactory.configure(&values) + ProfileFeatureFactory.configure(&values) + SearchFeatureFactory.configure(&values) + AppServiceFactory.configure(&values) + } + + /// Alamofire interceptor는 Store 수명 밖에서 실행되므로 제거 전까지 동일 인스턴스를 브리지한다. + /// 화면 Reducer 의존성은 위 `configure(_:)`에서 명시적으로 주입한다. + static func configureNetworkInfrastructure() { + WeaveDI.builder + .register { keychainManager } + .register { AuthRepositoryImpl() as AuthInterface } + .configure() + + OptimizedSessionManager.shared.configureNetworkSessions() + KingfisherConfigurator.configureAuthorizedDownloader( + keychainManager: keychainManager + ) + } +} + +private enum AuthFeatureFactory { + @MainActor + static func configure(_ values: inout DependencyValues) { + values.authRepository = AuthRepositoryImpl() + values.authUseCase = AuthUseCaseImpl() + values.appleManger = AppleLoginRepositoryImpl() + values.appleOAuthRepository = AppleOAuthRepositoryImpl() + values.googleOAuthRepository = GoogleOAuthRepositoryImpl( + presentationContextProvider: AppPresentationContextProvider() + ) + values.kakaoOAuthRepository = KakaoOAuthRepository( + presentationContextProvider: AppPresentationContextProvider() + ) + values.appleOAuthProvider = AppleOAuthProvider() + values.googleOAuthProvider = GoogleOAuthProvider() + values.kakaoOAuthProvider = KakaoOAuthProvider() + values.unifiedOAuthUseCase = UnifiedOAuthUseCase() + } +} + +private enum HomeFeatureFactory { + static func configure(_ values: inout DependencyValues) { + values.homeRepository = HomeRepositoryImpl() + values.homeUseCase = HomeUseCaseImpl() + values.notificationRepository = NotificationRepositoryImpl() + values.notificationUseCase = NotificationUseCaseImpl() + values.attendanceRepository = AttendanceRepositoryImpl() + values.attendanceUseCase = AttendanceUseCaseImpl() + } +} + +private enum ChatFeatureFactory { + static func configure(_ values: inout DependencyValues) { + values.battleRepository = BattleRepositoryImpl() + values.battleUseCase = BattleUseCaseImpl() + values.commentRepository = CommentRepositoryImpl() + values.commentUseCase = CommentUseCaseImpl() + values.perspectiveRepository = PerspectiveRepositoryImpl() + values.perspectiveUseCase = PerspectiveUseCaseImpl() + values.audioPlayer = AudioPlayerRepositoryImpl() + } +} + +private enum ProfileFeatureFactory { + static func configure(_ values: inout DependencyValues) { + values.profileRepository = ProfileRepositoryImpl() + values.profileUseCase = ProfileUseCaseImpl() + values.deviceRepository = DeviceRepositoryImpl() + values.deviceUseCase = DeviceUseCaseImpl() + } +} + +private enum SearchFeatureFactory { + static func configure(_ values: inout DependencyValues) { + values.searchRepository = SearchRepositoryImpl() + values.searchUseCase = SearchUseCaseImpl() + } +} + +private enum AppServiceFactory { + static func configure(_ values: inout DependencyValues) { + values.analyticsUseCase = .liveValue + values.appUpdateRepository = AppUpdateRepositoryImpl() + values.appUpdateUseCase = AppUpdateUseCaseImpl() + } +} diff --git a/Projects/App/Sources/Di/AppPresentationContextProvider.swift b/Projects/App/Sources/Di/AppPresentationContextProvider.swift index 3d14bbd6..5adecdcd 100644 --- a/Projects/App/Sources/Di/AppPresentationContextProvider.swift +++ b/Projects/App/Sources/Di/AppPresentationContextProvider.swift @@ -10,15 +10,15 @@ import UIKit /// 앱 전체에서 사용할 ASWebAuthenticationSession용 presentation provider final class AppPresentationContextProvider: NSObject, ASWebAuthenticationPresentationContextProviding { - func presentationAnchor(for session: ASWebAuthenticationSession) -> ASPresentationAnchor { + func presentationAnchor(for _: ASWebAuthenticationSession) -> ASPresentationAnchor { UIApplication.shared.connectedScenes .compactMap { $0 as? UIWindowScene } - .flatMap { $0.windows } + .flatMap(\.windows) .first(where: { $0.isKeyWindow }) ?? - UIApplication.shared.connectedScenes + UIApplication.shared.connectedScenes .compactMap { $0 as? UIWindowScene } .first? .windows.first ?? - ASPresentationAnchor() + ASPresentationAnchor() } } diff --git a/Projects/App/Sources/Di/DiRegister.swift b/Projects/App/Sources/Di/DiRegister.swift deleted file mode 100644 index 00bf719f..00000000 --- a/Projects/App/Sources/Di/DiRegister.swift +++ /dev/null @@ -1,92 +0,0 @@ -// -// DiRegister.swift -// Picke -// -// Created by Wonji Suh on 11/24/25. -// - -import Foundation - -import AttendanceData -import AttendanceDomainInterface -import AuthData -import AuthDomain -import BattleData -import BattleDomainInterface -import CommentData -import CommentDomain -import CommentDomainInterface -import AudioPlayerService -import HomeData -import HomeDomainInterface -import NetworkToken -import NotificationData -import NotificationDomainInterface -import PerspectiveData -import PerspectiveDomainInterface -import ProfileData -import Repository -import SearchData -import SearchDomainInterface - -import ComposableArchitecture -import WeaveDI -import AppUpdateDomain -import DeviceService -import PickeStorage -import ProfileDomainInterface - -/// 기본 WeaveDI 관리자 (단순하고 안정적) -@MainActor -public final class AppDIManager: Sendable { - public static let shared = AppDIManager() - - private init() {} - - /// 기본 WeaveDI 의존성 등록 (Repository만) - public func registerDefaultDependencies() { - // Repository 구현체들만 등록 - WeaveDI.builder - // 🔧 인프라 계층 (PFW 단순성 원칙) - .register { KeychainManager() as KeychainManaging } - .register { - let keychainManager = UnifiedDI.resolve(KeychainManaging.self) ?? KeychainManager() - return KeychainTokenProvider(keychainManager: keychainManager) as TokenProviding - } - - // 🏗️ Repository 계층 (Clean Architecture + PFW) - .register { AuthRepositoryImpl() as AuthInterface } - .register { HomeRepositoryImpl() as HomeInterface } - .register { BattleRepositoryImpl() as BattleInterface } - .register { CommentRepositoryImpl() as CommentInterface } - .register { PerspectiveRepositoryImpl() as PerspectiveInterface } - .register { SearchRepositoryImpl() as SearchInterface } - .register { AudioPlayerRepositoryImpl() as AudioPlayerInterface } - .register { ProfileRepositoryImpl() as ProfileInterface } - .register { NotificationRepositoryImpl() as NotificationInterface } - .register { AttendanceRepositoryImpl() as AttendanceInterface } - .register { DeviceRepositoryImpl() as DeviceInterface } - .register { AppUpdateRepositoryImpl() as AppUpdateInterface } - .register { AppUpdateUseCaseImpl() as AppUpdateUseCaseInterface } - .register { AuthUseCaseImpl() as AuthUseCaseInterface } - .register { UnifiedOAuthUseCase() as UnifiedOAuthUseCaseInterface } - // 🔐 OAuth Provider 계층 (PFW 조합 패턴) - .register { - MainActor.assumeIsolated { - GoogleOAuthRepositoryImpl(presentationContextProvider: AppPresentationContextProvider( - )) as GoogleOAuthInterface - } - } - .register { AppleLoginRepositoryImpl() as AppleAuthRequestInterface } - .register { - MainActor.assumeIsolated { - KakaoOAuthRepository(presentationContextProvider: AppPresentationContextProvider()) as KakaoOAuthInterface - } - } - .register { AppleOAuthRepositoryImpl() as AppleOAuthInterface } - .register { AppleOAuthProvider() as AppleOAuthProviderInterface } - .register { GoogleOAuthProvider() as GoogleOAuthProviderInterface } - .register { KakaoOAuthProvider() as KakaoOAuthProviderInterface } - .configure() - } -} diff --git a/Projects/App/Sources/Di/KeychainTokenProvider.swift b/Projects/App/Sources/Di/KeychainTokenProvider.swift index f8ebf7fa..b28584d1 100644 --- a/Projects/App/Sources/Di/KeychainTokenProvider.swift +++ b/Projects/App/Sources/Di/KeychainTokenProvider.swift @@ -8,8 +8,9 @@ import Foundation // 필요 모듈만 사용 -import Domain import NetworkModule +import NetworkToken +import PickeStorageInterface struct KeychainTokenProvider: TokenProviding { private let keychainManager: KeychainManaging diff --git a/Projects/App/Sources/Reducer/Coordinator/Battle/AppBattleCoordinator.swift b/Projects/App/Sources/Reducer/Coordinator/Battle/AppBattleCoordinator.swift index c03db659..ccceee29 100644 --- a/Projects/App/Sources/Reducer/Coordinator/Battle/AppBattleCoordinator.swift +++ b/Projects/App/Sources/Reducer/Coordinator/Battle/AppBattleCoordinator.swift @@ -5,12 +5,12 @@ import Foundation +import AudioPlayerServiceInterface import ComposableArchitecture +import PickeCore import PickeDesignKit import Presentation -import PickeCore import TCAFlow -import AudioPlayerServiceInterface @FlowCoordinator(screen: "AppBattleScreen", navigation: true) public struct AppBattleCoordinator { diff --git a/Projects/App/Sources/Reducer/Coordinator/Hifi/AppHifiCoordinator.swift b/Projects/App/Sources/Reducer/Coordinator/Hifi/AppHifiCoordinator.swift index cc645ac9..07376839 100644 --- a/Projects/App/Sources/Reducer/Coordinator/Hifi/AppHifiCoordinator.swift +++ b/Projects/App/Sources/Reducer/Coordinator/Hifi/AppHifiCoordinator.swift @@ -5,10 +5,10 @@ import Foundation +import AudioPlayerServiceInterface import ComposableArchitecture import Presentation import TCAFlow -import AudioPlayerServiceInterface @FlowCoordinator(screen: "AppHifiScreen", navigation: true) public struct AppHifiCoordinator { diff --git a/Projects/App/Sources/Reducer/Coordinator/Home/AppHomeCoordinator.swift b/Projects/App/Sources/Reducer/Coordinator/Home/AppHomeCoordinator.swift index c0945f79..0163412d 100644 --- a/Projects/App/Sources/Reducer/Coordinator/Home/AppHomeCoordinator.swift +++ b/Projects/App/Sources/Reducer/Coordinator/Home/AppHomeCoordinator.swift @@ -5,12 +5,12 @@ import Foundation +import AudioPlayerServiceInterface import ComposableArchitecture +import PickeCore import PickeDesignKit import Presentation -import PickeCore import TCAFlow -import AudioPlayerServiceInterface @FlowCoordinator(screen: "AppHomeScreen", navigation: true) public struct AppHomeCoordinator { diff --git a/Projects/App/Sources/Reducer/Coordinator/MainTab/AppMainTabCoordinator.swift b/Projects/App/Sources/Reducer/Coordinator/MainTab/AppMainTabCoordinator.swift index 0ae24daf..a7204ed1 100644 --- a/Projects/App/Sources/Reducer/Coordinator/MainTab/AppMainTabCoordinator.swift +++ b/Projects/App/Sources/Reducer/Coordinator/MainTab/AppMainTabCoordinator.swift @@ -7,6 +7,7 @@ import Foundation +import AnalyticsServiceInterface import ComposableArchitecture import PickeDesignKit import Presentation diff --git a/Projects/App/Sources/Reducer/Coordinator/Profile/AppProfileCoordinator.swift b/Projects/App/Sources/Reducer/Coordinator/Profile/AppProfileCoordinator.swift index 61601b7d..22d588f1 100644 --- a/Projects/App/Sources/Reducer/Coordinator/Profile/AppProfileCoordinator.swift +++ b/Projects/App/Sources/Reducer/Coordinator/Profile/AppProfileCoordinator.swift @@ -5,11 +5,11 @@ import Foundation +import AudioPlayerServiceInterface import AuthDomainInterface import ComposableArchitecture import Presentation import TCAFlow -import AudioPlayerServiceInterface @FlowCoordinator(screen: "AppProfileScreen", navigation: true) public struct AppProfileCoordinator { diff --git a/Projects/App/Sources/Reducer/Root/AppReducer.swift b/Projects/App/Sources/Reducer/Root/AppReducer.swift index fb038b83..6363a2a4 100644 --- a/Projects/App/Sources/Reducer/Root/AppReducer.swift +++ b/Projects/App/Sources/Reducer/Root/AppReducer.swift @@ -5,12 +5,13 @@ // Created by Wonji Suh on 5/6/26. // +import AnalyticsServiceInterface import ComposableArchitecture import Domain import LogMacro import NotificationDomainInterface -import Presentation import PickeCore +import Presentation @Reducer public struct AppReducer: Sendable { diff --git a/Projects/App/Sources/View/Root/AppView.swift b/Projects/App/Sources/View/Root/AppView.swift index 4af9f5a7..cadfdf6f 100644 --- a/Projects/App/Sources/View/Root/AppView.swift +++ b/Projects/App/Sources/View/Root/AppView.swift @@ -10,8 +10,8 @@ import SwiftUI import ComposableArchitecture import PickeDesignKit -import Presentation import AdService +import Presentation struct AppView: View { @Bindable var store: StoreOf diff --git a/Projects/App/Sources/View/Root/ContentView.swift b/Projects/App/Sources/View/Root/ContentView.swift index b2a85dba..abbc3def 100644 --- a/Projects/App/Sources/View/Root/ContentView.swift +++ b/Projects/App/Sources/View/Root/ContentView.swift @@ -1,16 +1,15 @@ -import SwiftUI import Presentation +import SwiftUI public struct ContentView: View { - public init() {} + public init() {} - public var body: some View { - Text("Hello, World!") - .padding() - } + public var body: some View { + Text("Hello, World!") + .padding() + } } - #Preview { ContentView() } @@ -20,4 +19,3 @@ public struct ContentView: View { AppAuthCoordinator() })) } - From 394d0e341438398613ccdf5c97a30277ee372303 Mon Sep 17 00:00:00 2001 From: Roy Date: Wed, 19 Aug 2026 21:43:10 +0900 Subject: [PATCH 09/83] =?UTF-8?q?style(app):=20=EC=95=B1=20=ED=85=8C?= =?UTF-8?q?=EC=8A=A4=ED=8A=B8=20=EC=BD=94=EB=93=9C=20=EB=93=A4=EC=97=AC?= =?UTF-8?q?=EC=93=B0=EA=B8=B0=C2=B7=EA=B0=9C=ED=96=89=20=EC=A0=95=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 동작 변경 없음. 2-space 들여쓰기와 파일 끝 개행만 맞춘다. --- .../Sources/MultiModuleTemplateTests.swift | 8 ++--- Projects/App/Tests/Sources/PickeTests.swift | 32 +++++++++---------- 2 files changed, 19 insertions(+), 21 deletions(-) diff --git a/Projects/App/Tests/Sources/MultiModuleTemplateTests.swift b/Projects/App/Tests/Sources/MultiModuleTemplateTests.swift index 393bad25..3ee03c36 100644 --- a/Projects/App/Tests/Sources/MultiModuleTemplateTests.swift +++ b/Projects/App/Tests/Sources/MultiModuleTemplateTests.swift @@ -2,7 +2,7 @@ import Foundation import XCTest final class MultiModuleTemplateTests: XCTestCase { - func test_twoPlusTwo_isFour() { - XCTAssertEqual(2+2, 4) - } -} \ No newline at end of file + func test_twoPlusTwo_isFour() { + XCTAssertEqual(2 + 2, 4) + } +} diff --git a/Projects/App/Tests/Sources/PickeTests.swift b/Projects/App/Tests/Sources/PickeTests.swift index b75ae217..c32aa7dd 100644 --- a/Projects/App/Tests/Sources/PickeTests.swift +++ b/Projects/App/Tests/Sources/PickeTests.swift @@ -8,24 +8,22 @@ import XCTest final class PickeTests: XCTestCase { + override func setUpWithError() throws { + // Put setup code here. + } - override func setUpWithError() throws { - // Put setup code here. - } + override func tearDownWithError() throws { + // Put teardown code here. + } - override func tearDownWithError() throws { - // Put teardown code here. - } + func testExample() throws { + // This is an example of a functional test case. + } - func testExample() throws { - // This is an example of a functional test case. + func testPerformanceExample() throws { + // This is an example of a performance test case. + measure { + // Put the code you want to measure the time of here. } - - func testPerformanceExample() throws { - // This is an example of a performance test case. - self.measure { - // Put the code you want to measure the time of here. - } - } - -} \ No newline at end of file + } +} From 3aaa637eb1335447a16900228dc23a574f49ec2f Mon Sep 17 00:00:00 2001 From: Roy Date: Wed, 19 Aug 2026 21:43:11 +0900 Subject: [PATCH 10/83] =?UTF-8?q?chore:=20=EB=AA=A8=EB=93=88=20=EC=9D=98?= =?UTF-8?q?=EC=A1=B4=EC=84=B1=20=EA=B7=B8=EB=9E=98=ED=94=84=20=EC=9D=B4?= =?UTF-8?q?=EB=AF=B8=EC=A7=80=20=EA=B0=B1=EC=8B=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- graph.png | Bin 1156080 -> 1311394 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/graph.png b/graph.png index fc788bb1e57b6d68f789426616ffb0e7c2ec0501..1d5cf5ed3a8502aad8f09546af7a97d91b533eeb 100644 GIT binary patch literal 1311394 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

ojk+$&=i*aS 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

nJ#RE*i)8)A0rkB;5zVSekgzK#m>Ew-6FGw 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
C{nHXWTk1 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

;X)53G&<{erQzsYbb>j_rtr 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�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%0A&oYu7$-1d#B$A6*Stl+*MXm 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

#x+ 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

9XvBEoiNohce@mM*92#A0Qr8AQp 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ŝdWN8$=Q%0UVOi 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�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%0DL~DQ+9(9?{9t)O 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

  • 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%0Dh*$?Ql6<8y3lZ9wukkNqLR``M-C4b)|r-N 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ð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

    )cK}yf@EUtVxmV>i8`>r#W**+?w zavToUX=XN*Rq&yf+}^IqrB-lv_fG%oci>ZY{re+F$Y`*`t)_A`pu%5N>>0X_>+ye; z_1yMnRVblc$aqu348F*%q&epcB*?Xs_Sxe-_85l5KrO3Qt=bEmkNfjtJIB~;40$ODr2aJ3DehdE+$zw69D60_73Tf*Bl8W4C@<^5)jIUKGY+TVH09ZRxgt z_wTtLfEJm~xkz&nzNL&ZAKAaYnCpoCyMCDW%eh5v@v}_1TrdvYTj#5bJv>r=o(rNL zy!j0o6~RLrv0Seo_{S(HD6G;tf&Xw(X_CfRBe@Re0{Tk%7~A)pkEVLxJk0j_zq~gf%kO*QFI+HD=)Ai@-)Nfq^cpupz%^IhZ|C6b zEOKgW?x`yT`g(gy_HjK8eD9fQBYaM=qbbVSjSXU@ZErmW0gUf?{Cjq1=Qd9DYvF&T z^ft$GLih2~v%w62J!G>o%3!`uZIrp&r^KkJg`f34?66U4Wr1!u*7(o+@*fJ>nJ<>o z_+dmO3ghpt-UH+A+iAIQ7SVck;(VwrP8#KXM{w~puf3~TJ;YN>MJ>T^}KizE(ESwu6Z8QGgGEpw8l8 zitzbn;)-xyQOG>Ledx#@X-^t_TsJ9eS`+#jBd+;C+w)LXwnS(Q8#OA?ZDbe$#C*^e z3Rv2PjZuG$yY%_Xpgd1*0!5=v!Ocg?IQb*r5aJckL!n%O&JM&KuXy`GTHO!Ws7LQr zI*^%;H~>(_A7E(KI`2G}Zgh@aWP z4FYN^hqGQ5=ZpHHf%}%=ZusJM`Q}vI7N^dem$$9Qo><7<;Yr(qD%Py>PDb+LqLcgoIIvgRJi_}J zos3XesFt&7`{coTZPPO@#<@5!!uEcT%L0Sb^A*PTNp|kJe|p~1g|>B)A8bmD21f2J zO*(nr%WsfGTlf^S8iTk?DUL5@sFv(^3M;{m?Yqa3mxr<{_GMKB*R#WgHxz!F&ip^# zIFhIH364_D*AoRd%M-N&Zbv-{SA!G~KO;GE|3&T`$=XmfFtA}-My|hy%;^xn7c!de z%AGDHB+N0mgxNZIjKN`(zF8}eo`1Voe&ICIgOG(Nqp#*#enkJgtkP}8yr(8am69+< zVp|rst2pCXw%lg6SoDB&3=@XUP_1)X(iqS<2&(;_K9l0qo3fU>R=_3LtF-PfTBw19 z7F1TuVIyd$V1*)C@9p2G_xZCHt`_m%e7Js2m>5+~k&^6yKm6rapRDrZ5FiM%((Bj9 zmtJ4r4ew+s-Km6kjFV#gOQi%K)W_@n-IR~}FS(SzD+KRqbg?20ixYf~=|baqjpyN( zxtf2q{MI(u{l}ZKLy2q;isE*ygCf|^M|L=XiA@LmLeW0dZT-NdREK-<3b|iarU-Ia zi!=s$c^{Wy6gLu1#daGSsZ4NUV31P&I_)$t zB#oSRY3s%gdk1C}*?phBTef-m`id*8H2z4)d1s@t*!sc}h^fcRS9fr8YjWx|*;^{; z?Ag^R_lC-qRBf7Y)3v6jm?wtkAu_i8h(#A;b&`}#uJ^9i=T@E0p@}z709RVc_A%x- zU(pck`uo!~3gBSvN#!XAF zI4801=J)sa5!YnAYSkHw(&Lha@;~X^1qJAzb(y!@o{LWmc#<}J7A9SQ*dEBp8p4O+ z6ZRgLT5+avieWW#$|JjOAv+!3+Ou%vwC3Rw)zWzyUd(5k=O=0p9Ro z`wNaqe(r!ifT5<^_mC@e|D;(V5NyrK7O;M`qUalgB_XN=8DhKsvkJI(GEwoz0^e-2cic4x{)GLw|0Ai*B3absp9< z3b89MRM-DznXqIA^jif_g~RvpQakfao5mt4xQrPQBB~`Ce-AI50+#n4kOwM7RC(yN zoW2_fAM)ildn1dyx%G4SIbk)|Ao+S$risoGMxGa9#iN!E@L~o zblZh#pwJH}A9;F^;-x8e+3Oh2CR?~?sxxQ}coe(El(;!ewoDG;&BiTfC$C@-1J$%e|IC!m~?sN@#lxXth7?` zzCAwf>({MYMd+AK@e3#ng`jTfo6dSfPi-4Xp6BWTKw1ny0T2krO~@!e@V3WzAt(QM{vlr8D)! z7vg$AMg~oeI2~ZQelc36TKbc2S%4tIK>6C+KTJ#quwZQ2j0m|-&;6@>;kP-7EnV02 zNf#M#(GGo^^jxa@a;Nthp=zB{OBDHaGfPXKq@>Y21p2dXl%1mF8M?+2ZE*IC+H9WC;u1LM5ZM@rGUUEMnr9^pbPhqc9ul zskNnX{=g|714+mhP&u6^XZZ8jtpmD}utxwCngky8Tmz5a-#gMPwQK!%8gsmJ$Vllv zN2G1}*a5v9XgJQEdq=jOAH2A*B5;CQ>hjS`_tx;C5pntZt?r$r=Q3Bi(|qq|a!S!K zg4wpGUd~?;Wcy)xJVj4eI|s51$-7BQOQWPvKCRMyFb3#?U}l3dl`YBOmnTwy$bg+) zf}7*34ZPb=&{QgKpL}^jV`ORf9e&AMocGU&QW`R(9f!W~Wu}9Ck7Epj{^{_}#cxAi%--?$=cxX! za$SAG;7AyMd~RcUJG1{N>2ulbXvPjwT|LamkfgNOPj>~h6E;`Pu{h+^snJ>+bjab- zticmUMQCqYM=3rn>Onu=^>cy4HH9ATTrV?amb~B7>`U85PAB7+LwsBav{?-xj!90i znm*i>F?&5?f%dkYSQE}i?7~M9Up)gwe;umzjhfg9OClz{WM05Y#`%= zd7uE!R8tl4s=c|bVK7NHUkP6!7eGu9ob2rEf`{NhPEutWZ+1l}$qJI$J5MRm| zbV=wWnIOATJYn>KOd%|VHt?pf@6ZmwNJ>n)K_<^=tShE*I5e}TC6FmxFbH7Xb9a`mPDP;@`B;|9%hMovMpKmJUm0=r^JNsEO+mRAM?v`-hZ0k-Me!ESb^#Dy@@rn)OiKYWWG{?tJj<{#9 zTzfAfQL6=tKr|P}Dczqj^)C&&@%5oLzJ*~E`b>#_q#Bp}^Uu`4=`u6ayr)Thz4uF} zPsk#3bL9#>OWPOijNZ)|GVj`Hg@#T;o{!#lGwk}!Fr9*i^OWaz-c{JR*qcZewn%9d zzVVAUt9Wjy)IB0&TB398sKs6rszEU380DnZ)tnoA+H%U`^{4NRHgnbRtC&Fo24~GUNcmR-B_KfV??Z1eDZhRoH zNEBnrjjlS=S_b>s8bNJkw3sYh7_!ThV@pVYM~v{oBvsS|qn3&3RzrTB{)$JgG-Z;@ z8{Mkp(KT7atz?$jEqMd;q%J8PieE zyLSy>03^U1ka)!}&3ik3sJLBV$T6Tv#-d%2CvJm}_i@|s!KP=1isenkc0^(QAF$*f z_MMz6LyCIwsk{0R0fm;N+L2}>JXBrv*6b*LyiQNe^n?cb~ z7u^6TNr3s(3oi!z7}irHZjf|dVz_VW)aova2dPNcj8?voMX0l{uW#kQ6rNG(jg7s? z-gtg(fB2-4BUsTcEx%lZD(7GV!@P3`H*Zt}dlD4{L~>_fHf~%I=S^70xcC)-Q~bzc zdc=1xZnZ?(tCuu3HX6T+BKB+2q)B)ph;kU<7T`^_#*)2RH_q3&tBhhhNSKF!h5~2& z^!C=`_`gTSfe~zPZP9c56msH(6v&mJJm3a4F?mB1TeoWZRvN+U+q_Af>fwl$hI3g_+cI?5TH++{`_zh$RkQ!;XRMz)7v2hKf`nW zz)%WjY%c64HJhEu$o)VECuki`F)Yue_DyZaQxx%KMMa?pCyle5Y+UMVz)>sGZ0Ysk zQe&)|-yIznRp`ys)UqapRl-L9u=$Yr`yVwfi}@% zS1=VXMx#%>V5BpXuO+;n#HjV6fBoP|T5j?J=^77ICM|Hw2IHQ6s-o$~kNB!fedd66 zE{oAi`HxNs)=zwwp-w0o@{^uZ6v)xCn9%xy&M)jxKKHTs&cucW7}`Y@$tW==-_oIPze`P@O1* z9&xKzwQt}5VZ}G$TY;=hj=m9$>*U-JZO#Rcwtw4%za5(zko?Hfl~!FL^_MVf(zRQ+ zuNh{>DNC^&PcSx%!{ye zU??Q0Q~!}99-%_-%*Au$=F)`=r>lMyI4Jf41kLSbaU=H&U-KXxL{|KHCI{f(1xzZ= zO!9`Yv!zAs!jHrzq3B+u+`Pvk*&q6bjX=0d2P#)%jzOagwdg)0)iaJeY5frs*fLvR zUvreu*1qaAV+xhLaAf65{r2}9*LS~G__O3Wg7!yr{B!~B z=;Q_F2+5@U+AP;SHpu(yCCXzgrYsVB-+%HX-n!x^n2Io*2SN~0p8P@ef_$r$^n~1! zGnFpV71CD+g#8qOewlV=|W<`g}uq4nR;Q;ASIXn)~b@?U5N zl-1dHpV?nb@C^Y4f!K&E_%+iCaGZ{;Yg_Z4w$AYVpWfXW0RC%Q+IbeYsYtnG%n4dg zk_{zb2XKND-+0aDIiJ|)6x#_GZxuRlNC^!%?!hy!y+yzv1Y9%gF^BstTT>=w zLPVN=QHx}|)PH<`;jqjT!ia!?sxx@^iv`HIZ}y#~7&suSli(!A2XCQGg>}4tkI-)OKh|dW8{?L{j^h+4KSY)$XeYIt$cqmR4eplQBY9A=sj1CMU~Rr4LVCJPI@xoR>1amt?G1tU&1w71Rw@xt8Q*am%jC>3;LE1So0 z;oHNp1h#&}t-11=Atj;UN`%lIuY>7PKC;n0LLRF&*j7|jeEU{m0)e+rc7PV)?C7+} z<~y5|1Q^`~I2r9Tr9+_XCme4)!5oplkyPD&&YY)CzWU!4d`n?)Y&w36ouLmLt9*V*i$5S`-1o45c0Tw5fmIFG?W%+IZ_c%d_U#oKE}LkyREaBQ#fb|n@Rqu1bk2Q z%Sy(71{}40Zb1VA4k;Whr$UPXSkcnIQ2iFc4@7-20O&zn_B?kQ=B^;PLPAiWY&NAU z?^V$4WT%WpI~*6F=r6V^ohb0vC6@uCk9UJC5O*l=*fsI<|1ztE^VRn6mHtM5mcWWZ zB8lv7A#X!%r;$>67%KO}l(yf!T3i2aWOrAf>J-}Edn10%zwpAP`O6AO)%TnVBD;$f zEy@BcXh%vmMVngMp2l7ngnugK;EJ>@j(r{(Sj6s_T&Q;!MZ;m&QsS$?S><-_4(+A_ zNwOJ`F}h$rdaVB{8GmeeMTKPR)`6Ww3lO05OZ18;sa82Tm5!{A|GmoqhST`q?k?rW z!C$lvo#jBnzIMx(H~qOF4CxFX3*keq_3fMgM?g0o!lG1wo9)oAOof~i$K#KNGDQlU z+}6f%lFSYApvCvKiO-n0x^%kSoW+cX=V}OkGTGMT$EQ~^IPFbiv#o}=0aD(fKV6Pp z!CRg+&E2r&gkPeze0Qx*i@Dy#F#Ur?#Fp*ZHK@C|u_B~EHAMO$H6lYw(sT^9MG40(?(Y1b zphDEzAk0RnxM<$}#J!N4+k<-{c;)eS*qqsj7|rh8y&=JXPx3nzN$u)2J|Yk%hA`uf zTnUfBxe_wRLxdQ2uR<{-K{btS!C|+J9|osfyEfA{oim2Q73cxR04dmv{SPH^yU z>aM*xh#a*{4nFWpUPKpwpOjv4VmFJ0L*DQCy+0)|F(WWE_P2MB_0#9Qcu>9xY-V}l z`3CSq@J+juffL)n@j4R`Xs^>e=fVrL%YHB>htJhB4liUvTwC7AFH~T@*=$sZKFFV# zk3p*C%jSAAS7MqpRF#mo2(pQCL=5jt%&PI9{FsNPa6H`ll2f)QCP3x|^id9aj~@mvMa@uIW|x?=-oG|6`wLg@-#jJBR!$pi^@`Qz}pG z832k?!4xbXKZ_b&pnUXwv)3tZuIst~;RE<+WC=Yvk2(F@p=Db4eBf{%H$<hQ^m`WEH4Iv<>Z^lV3ds+(gnv>a+NheW!ESpj#GXBG8L) z@`fbmC;YPQK#YehC{;m<^J3A-3!XgW%Or?)p;&=&aA|GXK~*+0`fV>ogH_aN0yCru zsOmUR3&Y($)MLyp+-IeTduimstF#+}vw*E(!j4hi{NrxN!}U3`Uow}=T)ZR|DJ4qU zs{?E1bmL^=AJJZ_sHvS_+SRep2e3q(FMI}ij)bdzmW-xDwEEs7(H3h6jJz}1VVY?E z`4lr#OO6PsKUA9W)~(kIrD;kYYBFhw5-eD!DbAN z=T?6B`t<6KY zY!S+Vya=M{PjkZ<|DdH~oU}e;W#LP0&UvQkR5)yjmDTtiWeVLQ=VbwFvs?rzB07ly z<)5L|Rsp!f%nLDu)7xWX<)|ASzuwX3!?8w1KL-F?^!FcEK8mV`@Twf9FYP|)v)V~! z8z8`cW)DFIxEwy;x_5`REI{@O2hVD%G4V&B)0|CAG*~UZM0rEXXH<$NGO{y?I!VdHcs5+AL8?$kIY3dsOzKg+eHM7+MC& zGRYDpOQk}RtR+cVlZ0dqX~9U!5``AKkTevL=XK89zvubmnPZOonA;eAzt{Cy&hx#U z?a4>5)qc6Q6-bK7#KY1<0P^g5w}xe5fyJd2F>5V!EjzM#Mx^|4#p6-jMl{D^Sby}; z2%t|Ih}S+)?X1gSbdVw}e4KCmxuiK!;~_JroT z$E;^eYTfa8o$^Efjp}*jHQyQA46*rD^W8S3Nd=v{PwKCOAOf(KTLvU(b78Ob2d>Jp|ziaDZfHQ@da4N*};<+?to*=djBfs(L*7xB6zJW=ycZKKG1d z8PSQ6u&c+(L468Hc`7ya*xXND1_XHS!`n|ZN_eNcDe`Cni04G3_kjus_d-W=qw{LcALdHH_6}JzP)hLULasoQ+ z&{(%TcK+-P{}G(Rmi~3ab-oE2NTog_Xm~XHkdHF~sUX+VX*E&cOrL%olU2_zU9^3C zYIHB|xnwl0=dRGE;~kZUVeK%;yqsk|a^JSt_;`JjmNO}r5tyR1Y6@Op(A*SJ&Mogg z=C2>?*d6O2*B}s=230F(Y8Mc9#`Ctb^dBhuj%Y4^)UAs#rNO9KL7`+oyyx>XUPZl+ z6{&&!G8?-c*_mY1Z=@&?E&w=IxPa`Z=@xA>{J(GDdd220=`NWJgo?i03hk1>JAh9! zD_1a0?mBEIqt-L3&b4pTMu{ShI^F)nis9X~B;Dt8b+!Bk8M1mzXW`BrJIVlSGASXb z4TbIig*rFxjS8!xVO(cRe^pNNE$vJjbM{k5RJ2-dH9^-sZkNY_;ju3g?$%(E-{w}z z!$b{`GWWUTOU1Mu`Q1lt-51TSKmcydelrgg_Th{9@pgv@qmmk)>Y0{EkWNHtxLf&; zLx3RfyqLv8p{IIS(GI0}-M5b&+P5-vYd<;s4v`b@_aSeir3l^gygE)bF)pyL=7na>`)gJiwqq=LwitN2hb+)~%+f zxt4sbtqYp46hRW=iVNdZZxnr-DH!&cF}L1i7*BMHS=Ueh+*s9a6Vo43xJO63q%CUd zI@enD5ANpEf!S{HI9bfL=#5<$`X=nDp~391n@$E_!b3ZDHRuyI@Ce6sp>Jqkt%{oO z2031(fj6HN+`G4qYu{5R5p&e*XNb)sl}CV>dsyxmuBQ-@8#r7~nkFtT4iEn3gH-P5 zV0ibRBk?)I%@?I4B;4=0;PH$ea0ay1#$K}4*zR+Ptc{MN4Ia}g_bT-#3IsbMsy;ox z(p)*P5x-6`$Vr^+A&mEdiT07!+7)(@o0_yicMPsijm{r-ggM2QF#-#`Cy|`q#^2 zUhdR<^R;U46^)PTMJfwAd<|ZpXuGdg$KA+w*h*&~)1=ocopYlf{F#{INH2`iCC$R(N%j_v)(_sDx6^H<%^;RL<&RU>`E?E6JUqbMa0q@>m2TJH3Yzp3cY}$y`M_Vz!deIEm_~!`Nj@R zSHHTpVkRm{5whWrd3t$OYt}A^kXY*aGVYT%Jb6gb&B&fXtMYkHGDMwTdk%*;fWhJ~ z8A!&sdRox6`I0ytUg|e1r#V#e!;=ZCSFbj3SMt8lhAk3q`JAy?n_(>QMeNX_b)reJMtvg)he&u(7KkH)U6)v#Lc{{fu?nzq&CR_Aw3+Pw z7#-&*w6pJjHlV@47N~^pNPHV05~=eG4jOGXVf>@*tY!QjbRnU-2EPOE4b}^2CBjc2 z4tmaeOu8sMJC95K;TKH~0=8nK(*b!!MQuri+EHNqy{$usAHe#qFsIUq^qzVCUPaaQ z4qg>D2?Ziq<7oeqfmCm6N1w1u#^~@<#(KqZCky6B*&UCiuXx_ni4y}uLR27`H(*dX zHu-7W2O+%Ue^uWQTh~4Mr80r#^j4?BdhnjL!sbd65mygXGJ%q6P~VMy_9=>*7C^GD zk@=h*T}F-j`^bXM9hM8m`@-r$$B5&_?q6nFh)p7LVu$3rS+s599T2*hK3l~7bTEHk zoUznJfip@5ov>~HLOG#rvds8RZeX|LSN*^DgDN8vK=HzPCpEd@gnx2#J2+NRg}sc2 zR|&V?Plmxt5t5*JhO89C7>(JVxbJ57ZrRI*nwril5EE}a-HE(A;*S1&mb^g9KH9r1 z`t52W_y4{)q}K+jR5wTjIVq)vMFG^X?ba`7rMIYC508&)$xlO>be&@eO0O9#t4O(| zC{3v~?%K6XtP%VK5s#FWNwlPx5oimY-=}%3`rR-L%p8ue37Gk@kMn5AV5=l#jUFs$ z-EZy;V6pY0-y(*6!LOrDX*)p>m=&x;1F@rdjDtEFHKw%B%CBBl3Z^rs* zvhqxd3Vf#km27oa1OxOtbNC_Q3!?JhB#?`Qn_U6fS)aXIEi_OX<%o%iYYTu)YDn0P z4M&d5OKNsNJ#*ru@(|V$7`X@~uw&BzH9?9Eim{$69)O?VB~1}%C?NBPG)lAg4m~b% zc8TVqixeybq(yJC-+pn=x3gOMCoX&2+vzS${xvcV$8jmWM3+n2nUoeNCzgA8i>i6x0Q~fiVDn9B)*iq%Y zQCC*gD02{wq{L;c#M49{7sxKDLwT4X^slZQ%|IGcVn1!>uC3*T2@ug^XC~(*+;nl<%E~&78MEAfi@9X$IT12 z-YCBYEd)Mum*5^8{jT+SDgtT2%A`wO>Ri`HbF@Ghz7 zJBXJY3471V-sbHI;j_)mOCOUQLzRgjd(cQLIT8)D4Pd zQt2XiLjr(d;_!~z>vvo8;Q2SSmUU!HYy+nT>2mJa_~_z>l8#Y_W+P7}j${scOtl8J z=87A190QK`7JWv3z630MU)#9B*#9I1Ie)RXH{9~ru5<;+M8*c=igUc%sko%1s9Rry zBdf%9B_{-aU_(Rjq<{`)WXHZn5mSNC#h*G4gU zqE+?A!i%0&91N^(@zwC32i*MGZcw2i&;S=iE{Uyzj5_}%V`Q8)=AG0T5DsBXb$cBt z13G2EF0RZ_Roli7Uj#p(YwexvvL`-+Q%9q9XK%NDG+GZ8<5W%eMz>gfyxF~icgy^L z)rYCaDQ5?6fBcy zh(|Y17*)4@PfpRwy{aLPl)YymGO~vLW(hU1h>=c)RFv)CUC=r&DD>-9vD*25s?D#p zNk@+!0PS~+XiJp>UM?C!sr0~wk&=nE1-kFtwELZ@6$i)u@xuM#*W>x#7iOk@eAhDdEt<8Tj%&6qIG1qvurf4Vp@#(HE$upjosU9Ona=>S$7c{GnX`?;JJCte z)fRW0!wbF4W!T@a@ySBYX+xpK$%z%lqeGB>cCFmf^o~NqAWQr5{3?W>5aqm@RcoA_ zof}gdBclN{Lea%7NrlYcR2<-W*Iq4kC|I@N!&RfMp4yY{ds%It4ppTyy{4K%0P|2} zbSui!V>zRmH){r`zDP2_`Tikj{e}FOB?HLEaqnERa?C4074cvZ`;>}5okWyb@4rvx zbcMR^i}>v8v+r3KCq(&LE&mY1J+|}@gNo@DZauTaW@kT>z)?pb8Kord(6c`C0PRNTX z*Si29Kr=W9uJdhZ#{Xr=R@+&e1Kq*pIP$Ay5Mge5gq4ji$66e6@iy*>K2E35VuX-~$G&sS@dT?ab6 zY^(le+r_P&lB|c#o3J+hL8Zd+ELJi5B`v0~-*0~1U$_Z{tCTAx?6^3spt{wiw0 z`ETS(233Hc$hjA9Q~vH9!rPB7;lsTywN$TdZ|)Rx%oJ%H(nCl|ahWd|Iru@xHr}EA zGg_-EA~T~HQQ7@>@ZrNoEC~K)HC*`PYiDb|3cCUr>FDypCa?6gP zl$lbLILGX6Kq)J>CV;l|$Cs~A^-I}AF^JsHC3$0Snpio8x%oeH4IvD0XM0XNHD~?U z%9Rwh>RMW&^s4}CMk#CPmBJQNPQ%2fUhkZzw${b(f>d4O#{RlGUtrfJ zM^CDevT`p`dB0jPD~l@|$?^@<=~)fBVp5?9<%AQj8OrPvyG^E#S&z1d%0!kk)$8m0 zxCkb;S?u*3_y0j0Wa83*9bm7D1nrGyBZ5v_;76d2@ALifq+&YDo1U}Ol^<3teJq5} zm#1F0Yoz|zxpVTF*zwyZu6eGk(7u1y19w|DQ8ztpe025r-itr28{BqA8}FJElaAJm znB+bm{a{G*?h<8ZMcEmI``uq5kr|!6IBHJ5M`0I@((`1Q#;2JV4 zxIV9KuG6@3*jTQpAP~Bo+f=r4j3KxzieMX3W{?vE0*0DbCjMgSxKlAaPV;ID5^YfV z>8vVkEuVS=e`Y40SOh>4o9yu{+2{>cB_bzfs)s50vHzCo@0N+c1Hehjbn4gl&y>+t zLZ!&$IBx0nH_GRbz$QjI2_Bm}+iU@XSX5Gi1v;1HatMf#Ty!zyA0&TU&2S<<$Of>! zgtfmLXgd0eG9#@aG>|`u6h~qEn1s-mGSKMRS}#M~9d!5H!XXqcCn|(a`VTzqQ!8d9sGvwN^6Ks^_eWS`_KKj(-kIM3kA$o#@a=mBI9PqRpF& zy?bnH-)MB#Bcr>a!-Y!zbHPYurC3N;9B`M_W{8c9xga(=9*PHiin3FXt;#}{sbIXMrkr1TV* zDUpBe9~VA+Xa|E}r+BvO-etdsafisvc~E<}%k~3(UT>MyJTNKxn|j#7|Hc2glfli)_=dgC zsjenV!56Cs+o(sXMLNr>tZWXQy#v5F-bxXmh!V4B&l6Af_}}upqHgzw?m#L^*ssLF z8QK_$(ESd|S%Zi{;Q;GVild|?uh`8lAhqJRT+jDqNjbOObE1#5iu|)T&xR6gsr>t-DO^fCYz29zrmZ--k3hLE94fIt-w6#oj3Z}P55CxG#^yBteO5-d}s2mD+KNsvUWC%M-H6yd>w zn6O;Vk&T!wgT7^yH6EP8bB z4yL05$D+rz3z3CPPXR|JEvE=peB-FA5M4{a;Qurf24dPu&D68fqy-c|Gm3E;aaP^M z^qerlh^fqL>~Uj?6^pcEw3&TPP5F$C_;WZaB?KO8376P`oN80o%m47>SuM0lt?1sH zAm3>8v&UBJJ>$ROU>mmjpW&Q~FYOkjfenPwTD;(Gh=7@zhmomafDK~J2hQr{Ja*83 zW>1p*`q2P}aQVc;K{`Jn%d8_q8`c93b^#(sTq6f8qN{?dYkzAGSyI}O=2v_!*aRcE ze#Oh_rW6ys0kWKc;#NXB!ci!4S(Z*nE57vjs=D1to><%O*2Eoa0wkWUy5n(X_1l89)RykSCH!JKyW4$~dt5FDW{eu80yigBOK`TR{EAeoP3dURupdMTD&}2OI(XWW+B=vTvIRta zExq0EhBX)>Z1~T)>2Gi~O89!!-L~etARMHzU<=3v%74wEv(3mx+!&pa?A&vTCYl!M z(WxSX;f8TCNPWNYx%Qrnu{Ksn>E>Kw5RjKQ)k|nW_fqRePDTdT2GBGQ!=$C z;SVS-F1`nMk&zLQ{IT)x96yF$eMY{DDieWjh}jh3X`sm{O{JM$lrn2)u$i9G*mj)XyOT{R<72QzxJ6lbfC08W|tZJ6|yP+N16#yH8F!|Ni)l8Cl86k2Y%Pw{y0BDpyU+8EWot@nF6aA{dc@X-H0%xzb_=$f zAJc!2{@oreT<4C|TNvjc`p+#jhAYJ)M&*9tcq ze+_i6p#+wEQHm~$dLM)F8{ck5$hW}Di|?*t6cvWjm@YOlXNu$RxoF8mp2gx}Rc)`A zJjaC#voI(eNJy}``wo?S$%9<8d2_N}EseP{V8M?8y?$mq`p~>XebcIRWl&tvaLqjt z)F_@>h9!C+DXIB?TxC4^l9y?Pyi`DN5q?#N`!=LrHTHg>x3Ud;Ktw{Eq3%>WGDg7u z=RnF;AjpA!-+JOHlTlDG{S|;xpO*R*LPrU0LDJhb4!&#H47tD17B)pW0iEz()AV%& z4fqBEH%}W4!H>y7gu=nV{7Ib7o3^A^cci`?wPwvQR`jW*uWtADSySxw7JRI|Ae_`1 zfe{hojniCynweLF@sLoWAHF*DN5_K}qp)R*1kx!29*+Q#!M%DHX%Mq3EDs>yz}5eB z6Aw2xeg*9pAp#2@Jq{UtD3j}kQaglAG;`+6dq>9WatE!vG?;jR?jp6OPiPdEpUdTU zikQHbd3z0C$7ODeUiWt203aBe zz>LtbiZZYped*}QlSY*j!=5U+%^tX91j??&PwS4_NH3F`>b-k!{jxTpkCjsQ=XmtP zW6x8(xu$bO?f$T(V%;*8-z{Fhh*3i&6 zC!Zgjb3n^vdxcHKNUp=37nh#9#_G+ivfS(l!x+SQeria19Hb%yM)XaHIq+yhqD z=o5yBWw#O!(_EAzTqgVI!@U}5Dg@div{)s(A2tz*ouTxW)&;D4?UCpWlu~#059`26 zzd%HA_>$jb2|cennb z+?LYtAmo=^(_QW>w6d<;$LtHn)EBY56kJh8j_+4AFJBbgZQq)2AKFuMiTs^wcmu~c z9Xt1=TwmC4L}f+??p!C`lD}n~*$jQnCG?S(X7y7-xyQTV%m@MgKRe@m*vN!1t)^Cf z-&#;JbC(73?Crl?Vw>5!_D$7DS$=rViSrUA(!IN;#x2J&W2AAvsnpe={XtePn?YvJ z36K>Q-SW(|p0c|Er$t?WT&C+cAJv#|v|ZvuMEy9&>JX}m%AJLa%NiqzmwyIy} zb&!-YRBs>5UYL2ybLMDs``z#h@vlUBNo;|`fTa5p`Yd;=|JR38vDd%fW!;|fIDKdc z137WW_nWl1C3+&E5|}O0Gq-hHIwcf$GVG0!1DAroAKUS16kZu|O<)+m#yt+B^{H?F zM{F!xJ3Db;1H{o02aCNfLbnwx8^I!-+3m@eox$KC41_b4Uqe=uZd=tR`UQvG9y3o( zVSI6P+g}_6B9jF!fAQ7omgrwt+~PUIE_3bf-Ig4b?AKo(>{4Tx*rQE&0pLd?B4RoG zjHonMgr$AF%Vn?pf88t+aT>LA$KyN~F0=(RY@ed%rj0e=2CnsPyO*6JiWih?lwFL<79TX*Td-Or$&nkTTl?k$oghmQE*haV zn(bx)0iF%kDn5uNiKSLmY1#3u=8GLWULQ+I88vxw8}3>-?1B>-5uf?em*zIlA|a&! zY8k}&-26ND<)7ZZJ$w7I%cdQ>BxVfVy<~rLP7iv*Kvbq*14tZ-Gks zGx^17ds^2cxD&A{?o{8e@7qX{J{c^|{)T9CsQ3^UN;7J(aTvR8*6OW~oDhllPk0bc z=~>TLG$=ZK?EDO$h^!y;XM7T$!)HR&x*8gm^BHg@>f6m`boq~OAIC(0RnHk#u`j)L z5>TYvTe!BQ;W9C43OLx#VqrTV4(7~0SR7khTUYH)_ptYldC3*O^v7SKg7mY7hzFS5 za<|`lG-Q?h}~W>EK663>E(;j&SXoO+xr_cphMO4}?SV-~ey|R1}Y{38AYhDk>Ti<5;KZ=N~>~^Nm;W`87CxF04AEY{ilF>A^RP;Jz_k6o2D< z78VM*Ix$Ho-;I&FMWnBbshHUUl$6>j99lhB~Q+JC}!a|g$^m`V_oL_ zSk=C+9mg05XX5k?r#{!`qG0N(wnFuWp74Nw|82vi&AG<0$p3Pi!2)r2tf$qWctKq! z|BJxrUiXP%yT%3-*ZXjbG?t|=m*}!(XG7I%xZ27;e0W-(Iaf@Y zjJ4o>iCH7lrGpD7a>X)bt!7G%*ROl3aCv2f@fONo zwitg8%5mRd-4C$6_ zPWs{35|dFCZUsJU;Qb?_{bqa5_V|5(O3ML9goqI7+=7S47w_)TbFuf##+fZno2xJP z0VlV?Nl%rcw07<9-cDDepmGt`NqIuFsaAdUygPdum05LB_U7Rae?35RP({cU9x^@diNprK^->&$b~zKP1*4@ z54XIxQkilqf;RaQwjc%Lj2S4Yhes#fzIpRNYHD@DZ(WS}RkONKkBY&c>YNMUUQyAK zZ^NE>{@Oh4#&h)S5*LVAp$tHhOU@dYgbmPl-rbHEmRpc7w0-g7B(W>-FGS@JZ4a`* zfh%A$`urfKW@dSLaH^ruy45a#xEjo)`gB2!nka8OJPhsC`%{B^LmqNBOI!w)5gZ^N zmgVOAH)-oaA&ND{xT4@LHr?)lzK>Wbl zDLy-PNs>2O+szVZg1h%g)i<=l!gz_s9!$z}+p~`BSP=tq!(KQy&&zAGgo*I4c??zk z%%kYP1oV+qX=v&>;0tJaKB{=7sh;WNT2t_P%jmE;4fh_gYEau&9jC--k=4T(Rv4^i9o3IEeR(%{f6iG+8QfVpV|CX%%UxD$ZC#&c z)bQ|0jc<8%Dl}-vmTv-c?r}62%)LyeM=JBX`dJ+sc(xtwOzJP@&13`Fvou4NTfc;@@I z^97t%hwffYeo6Vh2eB^<=#a5lA0|T6lD9HoMb&dPsu!@Y!`Y>tJS*Y8sSPMBS5&$c ze;Nx`r`^jX2!)X3^}~WpO^@+Ib|PAGnfE9#dFM8LtL%jo(Y4wN<wx%i#NoEnW7G zHQI-p_{fnE-qPYu2ToE2(;EOa5td`J%g&0>MQ+r7-c#@;QiH8ePanWEuX}%Pn9sY; zmaz|n03zRQIb=L)23mwbzUYno{Hla1HFO2o>Ow(VWz#Ze;_cb4jgjy$b)uyRJLu|( zHz_cA^YIu|f*aw!VAZjYH$-tDQoPwMTzF#I)}o2}Io(*|>D095nnvI ze72J!x2mwl_PZR^(CXOIA(rLjiR>c9;LzngI`_J1mNiUPMb!}YhE7VZXQ@Z3p9O91DBfi1ou%Gk%#z}{=$idtxN8X4?&IR0CY-LaTIUYSa>s1JT33)<1CM@N z>A(5;0&YH*5#>Bxy@IMn3QL|}z7EF_iG>JlN7$kh#)_v@@9(Egz;;Be!5jeH zxGT)Kdr(y5PQPDAva9GY_K^uZF-Vd>VVx8y0ikA&OpaUiv(A)0awEkWV(7F>Y8-Fi zuGi_aZrZ*ZKkP221h&a7G^u08o;V361(=kH*s&?+smSla!x|F5>k_R1ZX`)c_@hNG zLLDv|md~Hpg@mXmx9a@#_<1|1N|tdo<(4QiP)jw2Ge*tn`QC=v3J)G}K}zGp8e9*| zEBl1RI6Nh)(ow=om;9V%C{h{lo>Ob;SAgxfBJW{}_n4SF+7}xmZJEZDjm6I|hoxlv zXa>>M1Fdq`XD7zJ;s%mUlu=jFoQ8M#yH(SCxZgy$50Qc~v+dueyq|DL6ps3^SH2aA z85y0SqDD{;OK|`G9 zi1-P8aoR{OGM&<{W%n<3q}4%if1M&Pl2%`UOmY<9Y<4fZ-!+q#QwSGHJKxKGh)`CYo_0R(>yMJ6yT;*IoO+E3WZ^%s=a}iu4~3F z{X_E#9zPDHY89qi@*ny6k~t+e+sHmh20@*)G@@iiA>w}yl_r2MBBn;v2UQwpXQ~mG zZ=BbT5oyF(ZWWu$P|cj7nLYzp)of)4007yM z0)h?Xt|hla6pzA1^T=<|*-_tow5)n#jiU>ZFBz6wIsfD0N5?Rq$k)aCzA$x0}Mt$WG`ZtWJK!JhPHRTv6p)no8$R0?UpSf zAEZ_1p+uKDZ?2;66XXZaOJ982Q#!=~YJktuSV+*eUrb3)X-LR>LJ)wIcO8Gs%A2dA zrSYVvy9UjDFJ-osP>LW0o;A~EQuTlizF_W^gm?V&`*Rm{qh?v(*pHK@PPO6whQQLe zRjt#{!#<+@)F%rq&`NaK9%tCGw#(}wj_zx+UYC{WnH%jic-8*^GhfR6@3Lc^?}YX3 zwdiEN-lxrjy?*Nd7+AhsT0!vzu+9`3HurbI&_Pa>$1vf&LD{Nytk6V{CTs~GmG403 zHiFuE@9gd^BK!C7Uldlkm{&y1!+4h=a6ZOGY4A7#i=;kljwWUu_{^T?n)xw)SB@Wl zKTLlBO$il$+N%5a@7MQq({YxHU*f>}y63cb@aPdLZAAo*QOlw(ng^Bb{@f*eWa|>I zWDSod4KW=A*ELeg9H}gI3mh)R7PXa0mczoJ5lx6h;cDgadUl*NapL`hd)U`vBwV$S zf}Qnq9q^NbTcW`73_?eh7g>Juv9|r>j@(>X!lh6oH2kWa&0dhi5U#H}#ug=h*Gevf zli}QIjt59&x{_8A>+)h63!8JojltMB4E>J8rgstl7F==&Ylp<3$yqOtyi4e7`}CFj zMzM?zyZe{p=-i3_ufJ#8h6;EXc8TKWxN;LHMXE5_CWyEY$RyB}Qea9G1w|_}+1%z% zWuJhKu#mr`f!G$BMW`P!x>Ic_U?Be=Je&5*I{Jh9;i2?c^nFcsj;`ty7yW-)fM7^V zT9D!K6KH*?LR$$zdGqGkC;zC{t-aCIRcLoGZ7w5`u5t4j)V|DXKVZ3{WAKEg*C)9~ z>ohusTrulJj83|G#feO_PV>Sl$D=dX+kV5~XU*Z<))oc}x7F zC^XT4u|pyEw{jhvE6#fD6Wq7zJ5x@@v<83e3Wwo#?6;OmT3VW1+lcEJ74%HMvVVm| zwP$k(06_r`kKMZg!ARuy?U@&LVlntIHRe;%g9m1QGbc}eSleQ4bbkedJ8MH5_SEg$ zv}yFEr3Uo4Qm+ZpXFP7-HEcgFUk71Vr^By6Nc%E+7MD3S6^Aj|uA^Q%ad&lKjlec^ zO;JguUv9}qXBVjK9IX^PZtaqVdg^zF8CuZe6W0(`pH+#zPczTGt*RnrdlqFKO{4;I zOyx=g5=4}+FnxA?9Tq9W5Yt_a?MhNLcyc>%I5paA;SOwRF{oVTnuaI{0X#EMpT}fo2Mfo(8&!mIa|a{ z%8^NJa4;id|Gqxwa?EBRiJ|QT#-UZy%e8QuS&0J}I#SpbfDH~nw$9Rql4Tjsw8~dq z{cP!4_~U;760|5UdN?Q|Idl#>!9_(yQMKcP;s?6kdDhX^k2QI-ovvxEcE)&v7Rz}V zEMx4mO(ee$x)565AlE=|nXYQIbqyS&4wm(i!O^wVso@lReuq3*UYYTI)4ya-vllq_~>ZgYt z9ph;Qk}jSJ83#w(cRp7|BXLC)!*FG+_`5=sd43S2f>Sro$%+>a@3WGDJ-$%fQnrh*K4WP02x;q z{1LxJ?@lTu!+H7W%Ew0A|ERAALvbq1d#}amT!w&^K4=aWH?r4K`)FI3nO)1wY%Icargs@Va!*%br4V2w!8wSQL11$T3h?`I zMFQ98GbntSSs03D?cnLtUxqbOCNl(wynWA_ORO*8<4{#AFr?vn>X+wzc=7&yv0;lS z!64yZBooN3wO<>H+s;#`=0b9a<@wMVo7HKflPEWiO))Sc&LQPfy&k&C-?^F1`w)4``1h z{}&b6f~mS>E(VDZgY9KdC!aH z0m_jz1dB$z;dNG$aFD$Va?^ro?F0v*oEKP5tm?C8moDBtN1F}?>y80%G?_)hqFxL- zHDg}nu3gHI>a2kZN;^06?jKr++ny2+peOW|uhd)I<93>RE^3k$EH{hf*h=$U``hS{ zm(;bA@x{uv} z?9@pTfhc!fdM;{f3>raFt=z!41P5QSe`N!FE(rsVFD_3?jQQe(Kv)oD=pP^*gy3Wq zv}MIcHXCb3EPWPB%bVCT+5lJK@Gh@9Gp)$vV(YJ8ze;IB*z+bSO(?}OW@~&Ol?b~XM+kOss=-uX06z@o&=%^5(d_J=$sc^m-8ajzE;YAOJlOXr- zrg>xPG-?Cz;q^T?m@+2?<^pSec(@vdfI|*fboJ2^VRx5HPqrDv=8PL|shvZmiu)!?3i#mHT9k8#;26w-v^RA z#dgO{`PFZRIA4aRaoW*SMw@>J3aK(XGuHZ_L&vU3=Z|dLAp8bmYq(rp^$v*0&7o#6+ z_+0>?l54^`c3rUG$MZK7XC~cTsC%hP3wKZ z{Ofv=)oz{sCVZE7-8d;^R2Ay5G8pr?>>qyP4?yK{*tSp(G#kwY1|5JW-q=wU9GH4o zsD+xw)(4_sudEZYyn<4#z3!-T$`jMql8wY>z~Pku)F6y>OJWWT)D-!6yc51ZZ3q8M zGeY%pT^w$bZ8?7-IFi%-KWn1o zZBxaeyl_hBwZ5?5F>izK(C2;|J2J+QOZUJC#+LD)5dN(AXcgvvgplF>|O*^#F7`gV^+8RwB<(D;idzW5T5%wM{`K4`%7#@nc7Bi;WEzyar|ItkEmS z=&6fNJv1zA1V?blL;ul*St<$wKw(a+K&q>|&&pr5;`iQ>3Fcm3?iX5ykE}0C4ZFJP z;9ABh=*P8IUTAx@_s^l^W=I?*6WYX1dIKDmt1<5KT)xqGo%+lE-!+NqvZb+jUs)+n zl@d@UW3j71iwLr5w+_0xttfwh*gPjVJhd^OS9kxxz_8He7%HyJYhV%6hk4_A9HW#cBPrMT6BST*)5a68bimQ;!!sr1RB}(*+HNzS zj;;}~V<>-#$|02~fSo%LRj)Vu$k-JH>ZoHowU6Z3`)OoEuuerB5_5LY;Fw44ez3NL z+2Wq_1$guvS@?uSs7H5UcKy!Ho5T5rkQrF$=_lv>`KJ;#2y{P@8;6m2vZw#Nahr{9 z4hu(SAl3`X2KrW2`ukQc#SCS;Sg#;V1YM-u7cDy1@&Iv@#0%;T znYG7hE>JVfCVC|83n~YlkMTSMV`Do>kUB1246YOo-`|u!xOw? z&^X{Yw0f;L(LA1R>bu3r?av^GR@HU-QIpE9X6ylmBE&sR}VkyJJ4|H8B$CUJ((3bT%!Ki>{W zl02vkv-1WowrbuOG#q(StRV?0~~^WVJS`V$KR-FG-cD#;RxGv>@> z&Y@IfeeqjRGmrMTe)$puog2yR4c85F9d$I-eq~_a9W%jnsrJ0NETShlid=b@pb z*h``)UL0v1L`h7aDVG=vl!1|sAKrlLWI{Pe^apQ{;XECy>aKa495J7fIhI0<&bFF@hbtbhOh#QL^nO1xvpY-6|y@yH^a5r_8Sak0hmZz_)w z;#d7IORjK?qMtVE_1aS<+ z`tpLv4{Nx1KzL=Mk}$-i=c*1vm<3?7_QB9mkNpqy&kkdH1Oz;AfM3SbIWHkWlOF%O|hnv^m1Y+QVnIJCEXBBSTX3z*6D>*WEV@3N(VSyCD z`xupZ_2-x7;J1BQk3Z?++#G`PK?{T1atxqDxS8loQHl&9&EY{j-9JZmmvjy|6o!GL z54q7`inNI$XA7&6^t7#G53EJ3gNjj|tQM>+Vt+1OQ#&g?CSl6dsV_L4CALTM2gp$s z?gNG5_GR~7)SP@pyvATB_gA-fQb+qlgx*ivNCoBp>uZsK|1u7QSPzE*#~upv!LsGR z(j4Po52-PbRl#YWb?@RqbHphjgriZ}8i>GL%pbjJRE9>VpPBm#5MRtccPNM#29jtTI6o!_ixZxx4n+QK) z7We}El0&(U_00(T!2<}|R#FbD+i~T}n%$ueW44Qsi?#(aJ{Rjs*Jt~Bt8k#x0OB^i zc`%(Cj%dQ|*|&oRzR2CQBg~PMg~a*O>&)F+kBUF7W%6tiwO*Wm%Q|;E zG@Y{;{yY+Y1FexD(cG%E%!%z1FjqKst{Wu5E+hbW`vB^M}T zY&Pc%WqA?@*w&;BU(mvWJt2Lo-i-y(5=ACe*K6e=TeN3 ziAZ*>jQ0x;7T}c2SQ4;AmIT`0If{&o+BG)T)-vyrx?9xvpb&1imK?hOPRtl2se>uR zCnPlC$dp%v(x&R%uQ5~M$~8IRp>X81qPO5E*C5I6GY3?9v3&__1$$mx@WspabFOuv z`T#Xf{44rA(Vv(juF-!EDeid)ZJ?vu!kYtXDILn24+p7@^_7t?~0z)0@^V(RKNoG4VKCG;XQ! zI{JWmI8B){GWv^Z%vVm2jap@s!G0N80Qhq=FEew4RzW`ti-!4^ciap%vQ=X2@9=~I zO7@M24!5t`13#JfdIVB(8m1Nk*R!2;I&?7ot8BQ)aG~B%6Pt?AL#C`u(e!q!SYG~g zM%i!o%%Ew9_V0i0cX%kWF9Yw2PrJGp*=>^5#>pglPkVgAxmlh&{Z2KAQC{o?^L3MTt~}+p=rYG*?ru4+O|_tcS~?oYvCdx{#@!3 z>=22w6&vV~QIW6eCc2M(+| z(F>q>U0T{#zqIXO&Cf2jWRz4#0V(0kPtLsX<;k0eX-cjMafc6E#eP52>Pp0oa*m)D z&__(B?DD3i?epOi&m?@qTVbE$8v5(?A6`}YC12Wu_0M%5OZg-wxtbcA(W9FIf^CGP zNg%w*?Sgj2OG(@X`hnqo5})?Rc8lsp>jb>yQXwBq;t2w0mm zGaqI7(2}zzmY%5J^VaPR+amshm~B5*m*J<3gB$W~Oj;DDtZ>)^SA1wE zQ+Ck;yx80)W81PbmbY_TtN{cewpE#q3z&W7{0wavxamy{I?Gvb#?8yCvi5x+EVj|J zd@c~%Lqyc~>3i#bqEeZb>SlLI%|AL25DcZQ#~P_{SUt98>g3_XA39|BXb`IgMlkYM z4TuZ-+cu{gy$VW-@fHf(QRu;fQM1tB5UD!)Q;%-lw$=0oIn(IB03xGs(kMV>OgR$1 z$_4~!DcLbGSGsMGr<;DGFxm&K%nUjSbw*>$M$c4VkQG-fvr>5o!^sma$|1n@oq=sH?OEGW1QPWqd24Oc`$nzTbjo!(l-3 z45Fl%i_?UASO#Mh=6PxmaYi6%c^(!j%IP zWJ!hx%Q)e8MqxX}oexzm&IE3o#0~uyft4%L>gGa;rjofIW~i{jh^-3)FS&AHLh0kz zv6&K`is?ken%#29R2oYeu}vw$ML)(P{x0?Njk_f~V7jg|x{go415CV7X%O<$)189Z~}G`fBe6|oUAZzZC#YDg1w=`%^}qDlK`xr=i; zEzLZm;fGhp!OQGhBv%encQXY2?LwU+xF)0EmOcK?u_w43BP3pc=~kVpIjcy-0-T=Y z_M&7I%e!bJXt;)C)y4Ps9A`$4-3W#V$s}rSgS^!gelTS`rmLffD`1LOZ-XDhRn183 z-TrYUDs@aAL%Qk*-|~?9OD-{FMVHjB0;Nd3Dit(6$_*BzVf52mG{^nFnRM@N5Tyz7 z2H@1_=kA$uFr%HI{(wif)>CH!QcHMe%!d*)YL_*k#MxseEEVXYJ}f&MAcsHBb>6%p zr`cB=srE#DAnxJ+Al>Ivdi7m;VJ7921XF>i3Ub2GINCdjL0uZv>{{q zC>mFzM}E$L?}9wy3SBgKu>^+GN2D5igrn34ucn(_RGUggC{_ZtdKr*0^USWcb9rpZ zbCz5k8DhW&kU5dqd0YDV`K5N8Juto(XBtcv5YoqfMNC~lLvQ4`hDurLH{3w*kBFt? zf#`@@%0#Ckr8vIw|%q?~hsolJ}c28*$KJ#ydnA*PBISG1GWM0)|ADpe9R$&qOvD<#j zHJknyQ6$_=*Jm9~o+&~)2~bA=Dg2bQ2tsM4_X;31T`} zk#N4hK6*yvPM`G?ZhiPaEdYZxAu381Wpx@HBRUC1#n3xl)`hy!p(sD2TdR;Fgl<^pJ3}B*{yqPix&m=??-L=JUX&) z94&)4Rw^LXE_{Egc}ehGS-Qs9yt1yvvE*dwXV6H}#jdAOKRtgR19+|DhtHm^%a#JA zps!Lu^2THWwyw0eV9Da{H2BruRd4mnn;PO-rLe(6lFh!qG11Us|IG<+lRfWet5NSJypc3T{8E5C7Rj%Um(Z3ng+W`pTHxfiCm~Yi? zMya?NWX}fgN0>o7*VHoZ_x?t4NlBISG_LN@`6;^KJ%rhs=c-7k8E*)WT! zTMG+r9x)Lbg_@2kiLcDKQa=2cyHTnM2X-YUa%GYFsL*}q=uPL3g9=QZyi;rSWQ6`| zK_aT)`5^c~d^JMc7s|-i3`)CfeQb`U4q9B9Yf(ZjImk5s{>YsyiXG8l&b+k3(O}VA zd(|#+>(;GnnLjbHV1BQYl5ZFJ)%#jVUH~-1tu?J%M=fq&Y5YU;pp{;WY;c0N%T|YE zg!DD_YTA8gGafeHJoE&ST1tkBwoL<@2sfe-tsV$iV;pXe-p8(mdT2n%jq)P= zNhjR^uUJC2Xx+pOiKL5LBXP>BBZcplF*f#!@v{ABmk-oO*Q>u)p+LxH5G#81f)zz~ zN56~aeIiJ1B05ljXc=@%s-Dy>bf$^b+6s}sy@x+|8}e2~VOveR^4jJd+MfHz$F0Fe zRlAA0r%J)q&%T$n9i1$dHI6hM{%G)3J_id~9PYH5o(l{XD%ghJ{rlFf$U%o}OBL7c zi{W(=@37x&n*LV$IcnJMU%sC^IX*WxSJ)8-f$Gwg)ZQvOV7^SLwXS7cD{jg}LSaoz zj+G=E&mtU+^HTDQWqc-ce*)SE{CgRtbSZlTx(^UF_9_+P+fXe za2dh#c%u?G;Ik??uPa(I@%iwUz|#pqN?`Gz83;nok-aR4nPKdLWX{C`=f zvwFWdm?rZkMZ^IZCst(ImBmhLAMA_IholjY1pyJ|H0>WVR1O!+&$~N2Y>=qGFRbV? zGy_Y0z3!65ieP-4yrD=nv%KKYiK}bDZ0SBW``$C64f-#)mlEwrkf$HZUh06$@H+ z8Ga1Dfj(f-qkm2wYwE&pV+S4cv;ApFr=>^c5AP1QSv#sQndOZ9(cb4TP9#nVWa)UY z_YH-V8|?YXoxT$GRUmW@u9v>QOg8#+WNBF0`p5MxBWEtCU7JA)zuSg?<{*4IGOMg96ekYA8F$7MV4vT)^P%7Og=m?7 z_gv8X&@xM&j1Y-b406TQ)%milk?v%&_@uES3XEs?cW=*YJ?%#Oy|XZ~q(Kt>x75!B z%#@?4d{&`6b97NWx^4EVNRPn?HuSmr)49-b`bey3Jy6oe(u~LEIoyqBvCLp;>nAsAlmnPFk@r)^lc<$$13ZSq^@F)f5sHFX46`FWI-%;JMqp$;F!KB=~6w!v!lSq2XxcX;V@5o4!0RRGT zgE33Szkpcf!TUt*$VCn~VXTqsW9={XK6_D!K!1OKX`86xR<8ET8o_?`T+teSj0TV6 zW_y@f<_6WQ%q1&r>-<0-D`D`2z( z$;pn|y;a-xQLSoz1GcVRJ5|ggTo~@c+`casupUB5!sRG%K4X$t`}s;xd)3Hw-uNz9 z#ngb(HAyT|NXV#|JHr$Gb*ODP_YF2D$yv%K1BYj5Un`MJ;=hoTp@(rvDJha7Knty~ zWJ%SEbelb_Tp=Nzlzp)g#{#MNzIfGzBu2flIezEI5I8ad0I(rQ!)`Qw{}wUhWM|u* zctdrAg63afff9v7>>z8Ii_4?&PFx1)fl9RA(9?573Na_sw_vlRaDiRtS{GDf=gu~; z#t1@NfUwE>w)*+G34lZPk4{6P+2Azw%CwuJr;t(RsK!_HxN(|)Ass#>-Fm)_$hQz< zohrH8dd6mg8X*RRITTD9mF+XP%VgGdVBJy;J^u8q^Pr`Qye~+FustqC-cQN1fJjpl z8S{S*YUhi6rMTqLv9UwGPH92plk#5?B+ro?MCS8N_Jo z8Fj+f7^PD$1TDJzcc#{_u|oa(Xy@g3Uijp+9oWf$%-70hIv)e;VHpf68edy$SDQIk zS+@k5>ct*a#~#6Am|- zjqdXwYfLdL?h_I79Ug{KBH3~!26S24`-ZO4sbnvAi z>p27@aRPNjmKbb^2!&&tj_*pK6*`i0E{bN%1Qh}d#eR(1s|E(BiL4NJF%k78N6aqZ zM|~i=#q+DbcIQ$z{+CH?Q@*4ZeW8T(@j;~L7r+V}Y~j=`V|^P|0Vr^SMEyDh_C>9l zU8lC%g6oIlxbpzxCNHe9QMTfNNTZVNaY)&U>r{Z`QNlsVhHu4}1Rm_tnZ1KI3-!j2+z6 zaP&rv{vi$?H~Qtc_1x&Hd&8o>Z^)XFM!9+2-n5wEs?ni)$mpf^Dx=>#@3gFU?DJm@ zkE^byZjZf9$;epBaHs12oy-^P=++XxbArRY3F;Lop?a@po9;Rid@^paO7{+p zCwbuE0Q=gC;M4rV>h{*=|Evs%kD9*3i+Wm%?)n1DV^HMJ$CAdx_~KWdr7G|%tt=h zbn5ayy6pL)nnF0x@j~BG)2Dym>Dcp+V8Apme0W+FR2s-dq&DZR{)_t+M1p5ND)#Mz z)5dvR+_t1$ToPuBePl!kf%SK3^d%r31N4f(oGu9s>Pxqg$vPG)*n7o_*QlnKXl^uV zlbk>tz4)QdLF*2qkVa z7qiCO?YmOYeL*H92I~C$BY-k4hdWqbok{=_hjYPSy!44?m0CfW!EY#D?GncEtGp^( zC-3!uM&4ToK%Bw3_Wt9tJrE51AV(IC@(Ctu*SN7=zD|#~yogIG@Aml=&@#}uDJg&O z(H9}`6@EV8*I;@oP4i$Rn+1i1nU5ar;_df?-v%n1?H(ITdzH#CBk=;G zgM#rjq^4x>k79oq%442RxF=O>KI)aW6sZPZkf`hGAa zWjvJ{@Z~6Yh?#F5+`pf|_DV@k>uNL7CxMtqv%4C1mMPZ6V)=tzwe9bCeHoS0kwSO2 zNySXR$*Ml?`0V~4w%!D)=lp%+He(rEC`-ytg%G6>$)HkUB5jhbLW@0(P#MY6CZv@t zEmDY(y;8~=DYA>QM3y93((=6Sncx38=Q-z@bLJdlX7v4jKJWLvT-SA9cR|z#E8WM* zKladYJ$&A!=iy5GI~)NfLf4=aA)2DwR$|N>M^LJ1N5kE$69k|GESUJT&6Ar~Vs)G^ z3hjbv04nTD@DWwj)vO^3!n!)(O(JbfSn;mwE?sn6b=(K>HykY#RhyJ9UXAtNyNy;; znHmfeC=NJAeM^yTdTP}TnRumI9xbI=DI#VxBau8J@@sHx?CgnK?jMnV$uuNhX*x{O zZf;i|uGnm`?NNJU>T>j1rPMZy-ySa+AV2BD$pXo72vQb5K9xLkh?|x1v}qj>A!{L? zqv*=m(Rcc>AfvwX5!?a);Xrkb#~b6B_MJW*_tLi1dE$?v(BroIj5%{|?^K^GCzX+Y zM`lZE{$4zO*q^4|y95Tr?%DGeI5)Pt2c-@Z6`1ITk9N)KOFadWF7xpBet3Z7FTfE1 z5LB%CPO#_!A0s#YqDCjGOrX+XsD#AJchH9v4WtF-Oas8oRHZ*b(5=Dk;xGHHN8VL) zw=;iz8bj>50!x9t(z+#SJ1ZpgF*Yh31#Y3YL;K_3k%yP1bn{d!@TP*lQ3IRt@hgUG zdyKc}7P4c|=CKTSne^RZ|CxYbulA@gYWVcu~ABvh_-Kvc5%eR;5RL&9n^08f8S%vDiW5@LH>z&0SB`GN= zuTAGRUHyMeu+*&E{bFcT?J1W+KL&OH@>VQg{sKlI_u92Xg~8pZPWcTs6h+Hu0rQFG z1-4UGox`Jnpvxg|0vo)!tx68hK*hjodDw{CZWRVzpZ@`V6|Y&89AZ@EcClq7=pXPC zNkJyYkA0m(t5o9qYe`&u{QHEgpSQ9G z!onS}k5%+xOjiwQy@Hv7FuwGPFjKWlS!Sx1$(@kf&>Q9d(aZZ!dbn;!o4mYBnntK{ z8&m~^cs`5vP%w9I(ZdU6vB|m1GXsL3=Jwvm30tTz>UvLdbxXj!_O_4t0C&o$BI_| zkU29ioygS37@NZDh{L&^AnFGXTu$Cey>Nm~%aFb6E%bd6sBjaUP#uC+3x8lph+k2s z{&Hr5{<*`LL%Ek`Yu^!xRmMvsq&hpl8ve!*nCMd0rdS?@5lIdm z3gN>GpaZ;~^mmv2l~MCi9ON$hzWil0H2|eD+$~MeYw`@v23x4R0;=P{oMg;`3&!y#zwkkD(3NFevNRVu z$R_eeZM}FHawF(!nXnRtb(~1=<9Q$;u zd(Jw|;5D+7`0iczmHHZldSP%#cW6A}hh>X10B#|##@zkviS$#C=?ue3$1BTnTNQ3y z1Hi!KzpEH-c=RZml)^MmsqNnPM=ZR3d{hu;z?l_~P`}B@4G$CzZ_M|Sb(P_v`cSP% z$9NaXk?FAnp_A-u!dCwpe|WbkE%o_`EOrWzxjE_|!bE@7v03fF+Z{62b_QO?MOn1y za?$X7QxeY=nsR4vpEJk71 zXxkD`o%)(MAt$HS$j987M?Ib9kOMj@vVT-uOGf&}uHMsV;IzNOGW@r~!*K@>e#^P2 zlI^U~x33==jU3erjbT;(`(_@SDyGej_fHC0HRryKanr4jO~8Qw8|+WHY+zw?Vq^8) zgBBKza{+U6^~|#`mbyB{1}-ru@Gdt#=Bfo3cM^GGU41>x6=~{sm__k7LXE{%j3W=c zD6#jcw0VAEwT15YLRuBBWkJj22a!AKK-DFiF(M{76B3}c`l-QJjN!VZcp$*j#17|d zMQF`7$0`iJeq7!00~5>O;BbK3LD@Wi>C%Rx2eua% zKFeCa4~Zj8*=UV?WfAi@SS2ZUmGFX9VE{NfB$PJub^Bc0NyeZZT=n z7SxQ6E-t3{is9b2pAUr5@41;Z8%W=I>9(9~utqcdfF!EI-ywKK*241KZV=dvS5z^o zo%zjvt&_UGel&UeWofB+Lp=i0lXdZLkIxC33`TR4(DNXNSOAfga4Rwaay3zwX z|L04*yv~l=n;KJQeER>i0CvOsegJ@YZ*Zn`s&HMo8Nd%Dfu*GT_h<6 z(SXdi!n?$s76)h|@!{~7Z(hB^_3{!h(I|2%d_0eFI0|euTL9K|9v&ySEJjD;nKPw| z3J48NqKT$#Z^~rNiubH^Qr2>~gcB)>eEW2_JUR~)$)O}V-dL~M4@jfm=^$=Zj2;;88Wt7?skPx@`@sVSbhtIBy1JUS zm6s_d_O08r$uoR=w~|(rqfox7IxxpBDQ-m~>B_}nW|el29zB4K^R70lHZMJ$lHxXY zy``rG5rL;!@ahE0C0Wo^<#9B{H=S3{9LtEcN0n4U_JQ*-UU5a5crF9M9$Y>E_DU99 z@ctHTHq?n398!{dwYWGOHK@+whr>W}cUEJ=ZpI-C$>nNFtsozyZhl?Zw=cgQc1{r3irW`eTv=03EV+u|8tF_dsFowMi z4Kr}10|;!-ryOC&C$Vms|M zT|pWHy5EwLl4Hf&rn#I!zq7Wn$A}TEu&Vm}dEWJ%>Zk)xF!%y=GH2OUV%|^`Kk7O< zJ9!QF-=$HZktA}TJ&Q$zLv{WSL6Sf$+Zv}%XldFZvQut|q|Wt?h9Hl4K?IdGM=vLH z3b$5{Ptq`0^5JD=r3LZ>jxO)!WunO>ift!q2q`^}*r%tMXaf#P+r;YSP%0jPYUfM; z{FYu-ZXJ}Ol)0(7_7B^ruSd_6q?~H0(K4?1Z^f0&WV%#@?b?Ovw;2jLSO7E+G6WCg zRrVg(!)U(F{Q0S6^)O!#ex9w9A&4I|2BKG87$jw}-8+4cVGE)6Pye zp!()+zva(nopMn`U@0~eCRZNp^ZBNN%kC>$H^<+mcs`<8WW=HevQp14&t#(lwN5#5 zeNylto5zC(4RWFyk`3t}o}LTi96vC>kRAX$O!UWmX*c!Tadu;_Rn!h8u|uMi{mn)t zV3>Dz4m4#dQ3j$xf+_BiC-)c z+hTYMF`!yg>pv{C9rd=a8K6I!c&%bD@rPdYUmu^N zN0&&Cp~$S^Egri(Bc6}<*TP8>2p=CTA!(sO*oeVZko=810*R$7D>*7NzW3zslHqS6 zJje4!MYBc}Lp39dx|tKLs5^UXGLr)k*{`WYUeF2=lJ^D?L4o9tJeZJ1CGFc-zuNcL z$B|+`0H7gLN#N8NxE2-vz+ED41cGI5G|V*(U5*Qchl00JnQKp$)l zKRljh2`E5&HZ#q!Ia56g!48k5`%ZIkm;zgrnCmisj_I(K3{E6a*N6KXZqkqAvSe!a z^(5I5;Lq$lR{$ZEyTVS===01ByOy!^4j@vz&bYKtxGjM4kZ;}*DAJkSgnM|+AQUzA zNYn1%R77X;gHd*#^ch=C`|e;6+|G6HH0;+q&Fz%$rK$Q=E?RSAQe*h7>({qeZT<{+ zAQ%`FK4LMd@(qL)9jZPJ?WJBbwwos!c>mZ=4aME=!A9T7h}me3OcO1k5tvL6H+aW! zH0WEQCU}6ktWFTuL?{|?M$Td$$hjAFg$j&ptm??t?)fCKH!w@5STX_t@tK9BVUdxx z*Apf^OiDH@7T4=%5~~5o+)ILmHni3C6A8;KkfscFKq?3 zio$R}1$%K0P|+{q6&<^nS!`uCd9qw3bYD6gM^P`RzTN=dUxn!K#JcZG#XySdjH7nW z_3O#^@4s}m3MD%ci3`ZgO#aC{TS&=M;ZKDrdt4SK(1-Vr(k%$R-h_v$bn6xba0tSb zJaYVDOuTfc-T)gVI5Ig|v+`+*DOTCHZiUd1W2BjjSaIelm+42l#&9vkP#4Zz-?O3< zT63T06J?Z;b>rUQK4G{Z?oUhCeu{A;Wz*44Z>B#Ojw!BbEu& zUQ}aG$hIyc*%MAFp7KydU(oY_xd~c zaG@_dSzs7{_G}d8Ts7q#O+@e32CXM-^E>23B}u1*^5g8zYw^p+j2vmJ+hJ`_DniaD zdJUP1=dV+XAIYv6hTT9pODPPb97oVF{X^!dQ=t9VRCbytg5_ApbWB#btdc!=|G}1< zn+*lCpR*?j>ozrA-Cab{`OeN?^WAB^4i{IZrmiUrYP-GJ-VrK?&Tfu7bjZ$ih~)u&MHoxxI*s1UhLCu6J%`mPmk@AUcqwD0-|``fV5w4m0fWT%{7Lt%RfHWLqDBT(=+>0>gZqOhDANAzkNH% zgd52$>vMYX$B8W;EasuX734m#9&1xvE%}+|7Hn0#CIUjGXqdir92Tx8J>T1a?T9r! z^U>pgRlsDM96xa)j=&Q4o9R?0p8Jd*9fO-9b2+?ZrSFt*m$K?h2r74Q^JHy|<-5Q6 z!;#K(QqX5$)%fylrpfr%MnJe+B6^Cg2Zwi_J1cyAI4C_im?HS@c~5u7zzbQw#a{-C z#)1bDn2X|!+X!P}ZXWosKjBB&qrAD(zQA8sjyz&w#hf4qJrAO@aBrj- zoe-c~H1rrFzz2?`lyT?QRBK3k)pgiE$f`sPKDefXge8KB1$t<3zSrX#e_F&BXe+|J zX>jZG-0v@^4jb)R;cwJ8+1aX?kBN=2a%}v{>U=kZRjjr$%u^sW#H5!iz?%iar)E?jB}JggGhSVpgBxiO zxS-4+=5q|-m!`rR9y)=`>)plpd77GCKX8XFb)UIDI-w4E!fCKt8_R=m$*unS{fu_7 zc8sQ8^4z0Q1>ZD^kKH&ln__)^eT_1j9khji00B_aU!v>ns_keLw)gJNsyBr$Q@!~S z@PQ-vuNHyeGe&CvcTq&u4dC5qur8;iOK;SI}EnPuHz869XP;C0RA&Gz1PHUHUIVFhqxmM01x2w-pb*ie(%8# zd!q43f2@xs66{((L&JvjtoKu+C0hb8a}s4YGZK5B46SRp9b+ck734lP@KNhcf{XOk z&@kx~grLPOzVVjvq)9xD}pWl;WE00>G9_-bFLYWoB%{i%~%G~-xlhB?+8hT9Far*cG+bUnw?1>X11LHb&R`B(IqBr}{!Ayi! z2%;kKi&ZYz7P`MKb1!c!r#0kb#~ar{p(RjvawMywLKNvjES*9KE?8NL_5 zOFoT@A{)zuj<;CiDTx}`1cb{uKkCFIp{#VwmnUKwYzS!9QN5$b|DYJtg z?IE9uR!qDDz=gy-3o0c{tLHjUI_~QmbhvdG^K%UDy{m%i0_n*f?zj)+LDATd&~7~b zVxUK{h8i9w##$N8GeW3Gz_V;DG_$W&);u0QX8 zIILiF)Y`FMbY>X9s0q#CsR_`@Ve%2v%E=Q#x zWAoS{N1F2tjgSKX(0QdEvSCtkcZS(iP#k!OSIiKhq+3CKK@0{RBjWOiGH)Ol^ISla>+BqnfV}&dDg!$NN z$-FsFU(fBOHMcdJnh0DwZSf-=UgeYhS>dEH_}0ygqmd#cSmGL?oUZZk2V0+|9ZpK> zPv4(#{P?s^zhW7}qF7B1e|hn`LF|~-)o-SPg5h(Cw%H-S@&pDZxw#2u1#Rwk(b?Eb zMW+_6Z-Cc$(yb z;G~+bU+MY~%kiHTK$b|pqD&W!G$M{2I}~{;@O~mFf$$uUZ30-YY%|A%EP(R<;+Kmj zwmW@b%OTocY!KVdWWK!t{lFEY%*JT$1%3Lubfpgr!EWmIAJDZorOSi8V@kU-GkQWun zmvHwiAuE|tR0GiONQ z>|4xP-}q}TDB1MNtIG!XUyM_JU2G6LqhHxsE0tZ+L2F98@Hb(-#;!G@w59e#q#IbB%_SgH z-lb579i*+n;BY6=Htz7@o0EF^A^;o?<59lT&WyBB?CEvqF=|UEhtcmu`sWHGK*UhP{6hF@4F2xc4%!bw}p z1ki}LF>5?VR6&X@LTM?LoQTrBnebNVVHtt~3=2Oy-Aq34Xl@`NE_0`{J6ygJfWmy> zr>SmxP!|tK{rI!Cb|nFW$!8Vz^YZ6o!B&ws_TwIVu0GMoZNpUF5oq6X+mpADg_C9kC<5{pf*lgC4 z-d$f@YK(r{q-;-F_1*$jGiioreqD3GLdzhMcSq>wb;l*2{Tx%#yRM*FKa_4us6~)w ziQ@yOF|87dv_Om&fx7UC3Va?LSnrj+C+XZ*>yl<%SIyV)R^2DItWgn!0wokNsEB>j zRj2uY+}$NFvi>xg(T83Gl6)mSZ|aB+rOH=hA04_(ZCs6YTpB9vn<#o<>!N#^=K3c1icq=nFte z>9vJkbi`YID$K1iZTs%sb;?`Dr+R|V!U>eUeQWp9sD^S91;RB*4>$d?6y!lp97<_l zot$1iSUQyN$MX{{920I>E$Z#_{$h5tjsG(sSFU~Gfr)?6G}a8ifBv}73_RL`WF`{*9wQF?gu^4#HV1+Qw`NEl7|C`})}ugZ#pBVWFLohQkR!wgn0O9F>_`*7-s+Q1MVJaN_7Ahrt#f&iQ2 zH1)FYKA~6`zP#@cjFW zstll|Ot?h|>nWq|Ba_779W`j-!>bP;c5T{pV~ZZ4^!>7R5gyER$`ohx-Gl9p|08A8 z<4Rj&;VskMtiy&>cy$JO?mBj@E+Lxh(1l$no7*LugE9&F3jn>RA4rB0dQ$4-(1YXknA($8b35SWI;L6RL z@59SmK@A(HZRfpD|7SWV|E^tXU9!v*EvsaOkYM->DHodQM+v@@WELeyKxyDGS-F@fCSWr(xZWt%?GS;+zG$Fb1Be1YGnO5oRo3PM3hMm+(30YLNFr0ebQUAq9H zu7P`q^bgVkl~WPyE0HIS{h16COrCsmWXgck2hbkm;-$q*m^2ejOoF>^0MbHnwk)CL zdb&A;{o*7*q&xvOW?SI_jlNu_(w{x6!X*^gW8jQ~Y$iEkKdUmb%8i2Ue=z1|<`f`) zTr7WjQqWL$mp;>P?)iUOfY+~U%qyRuvgFV2ht}NW_qLYFyRZt_4M)v*MTND|HIN?) zYn^$QnvjMbzGyrq-8i+UOdgRIXI}Kumj1T*+!N*4(Ed}R{@J|Q+jIcJ6liH}qvKg&Xg6n0=Fa^G zxkQv*9h<9cT2q>IYpq+~J#z@sP|9@rZ>Wx$1Kh;v)V8HMu+9%vn&J-`SpPUqi@P9x zQRU@V$2HbX^!BbBe&sT(@6O`Ln?PhH{bce_^qQhcb8wKwO}lqJObCA5f8fAYoDo5| zks-Mhr*tMw;MTX7aUR`kHDmt&x^&iB&N=vgS`c7@@6XrDGJy&d{D>C=b+YX3aU+^A z?cu}atadl_K3nABxBXymw|)EeS=iV_34nu$XK6GIPRmNuhOQ*nZCWodgYnFKRvz9FqGZNg$fMS9H}aQ z*j+K-SM&b0u^FNCc~>`nu8jKZ>aj2BJNm38MeeVWgS`PqA=az_B?9)}u)g^>q!Fk@ zd`{jrJ9^_OQ1}?fRD0|61Th;nxvWlO&T&O(+!@1<+f)bL$_jQA`eTdXNM4cHPob&J zCRy2&g#dTrmTwNk@1Lybkf|`BQrrh3h!47}?2hF!1cd~wCE@MZYM)qJ?W$z=W*a`E zr76K7kQ)CHSqYvwZn+n+K)vIBu%<#a)3@C^cj^R>J9X*ORIf%^B4~T_bAJvGZ@VM) zJkfkBb>PE&Ma1tXE{85g|JJmHc)Fy{8qo>Jgl6IkjzV00(ZF+9E@kcW%-eHR;#u;H z{sX3k#KLL+#>QPQBk5Lv5AQs31soHmVR4}hhuzqFQVK8OILNDrn6=} zvA^4mb_BnItyh#GP9|uE7a=Vp2}$k9Z1-Xvz1am=y~H$c(?#eS7OdVxKVG31IgV$5 zdpfIgMDT#^7R5xs&xo8_v0RfOQTs_mqJhAOWLSz*uHIin+a}^;MNZ>Sj9%CA)6m$bsFC&tsZpYuKbBIr~jRvKshpkrs`h?da zTu=Z0lXNfKzI7{+fCk!A*!7DwdE>B-Ewi2P&Uy6h9OAdvWZ1ss*4f+N8ovqi`#IIR zrAd_a^g_F&zC(vM_^S9#x6CUr8&;V7qwcPTx!=!iv+V%n+{Bo;>hK*-pV zrJjNq13YvyE}vm?*NK)=rtgp~v5v0Zq|=-mE?#0X=IJRceB6(SprFYiJ0lj{3#P)` z$X-;L_YidYPU%G*jy*d|IuH*5i}o#QodfbEW^>@raa3vIMvE%2Md0b5|Kh?3oe5U@ z3@gA8EPcCOwK=^u{Q?he%dun2GPD-!j^yh~MB$tW+9`^YM?QPGj#Ow($oC~{%44Np zkc9-KDWR?r_nevjb>KdOH95%J59@x71}7O5y%Zs@c$%W1dq>Uita*JS-Zv5$L2h6V z8t*;!b3_6wG9-}ZgJcUJw$1oL7FYN!pj2X1r_Y!%-Ix**7R!Cf$o^7bLY+U#^jR13 zgi-QD&IZfQvSzC8%Vp4EnpIUbRrA0|6v1yvMiiBuLL7lAS$nuMpqpL?hT0wJ1!Vr0 z#utK+G6LhwB7Q*O^6{pl0VbO?9J?be0Gy9BE+!$W*704No!lE}cAqS!fj8-ok=eDb z@jaO|Fmd1clei=!^YlW}i1U~|PoJexQEMI8`riqLo(5jMH3nbG3c8674sw}s3u9*L zn$TP=K(r)~IK04h|LB-LARxle@u`OaT`8+B1syb-Vp8$wWci?8gdTB8kWt~Vu)FU! zH%y?iaRncWReRhMeJ!=9Zpw=MYH0wH_W6o-l(#f|S&2;a2d&jhrxB1&jWD&Gf{g3V znBpf)#p8l`?nm-wb z>xQXfm!QJ+{urqJ*~mH~?I5$Q5)l9Y!}R~+v>?A3qRG>Kc9G~JIXdTv%3 zZCZ==4dooYbs+c;)R80o6Oz_6v(9VLk--SG1cp8b=oX)~*-T9di$PiY?Up`@O$l95 zMj99xj6$ygJ~3slfeKN8&4O0$S6x$uTt(zjjh5~%S&ICc+kc;T-^un3jr6U@q4z-b zF8`-7ofS6nA)t~I>JpLLN@*)Y8T;DW7tTBHxO0^(d-R^Rq9i4*(1JI++q2QA>qcwc z@5wG*Qo(=$aTyH({AZvtNrWX z6dEw@P~6M{zA4b0I!54V;n>(MfuHFq+?8cjHcu^O@!_(lugF~}jIC9}9zS}Nac8lp zGoYWuz{ymNVf4Ut*-`z~)td(xSzdSeYsQQ)^mSVw44ggtnYo4s=?HmHL%4rQqUAse z9q9>SctnaT0v%>Zc88~}%{?WvvIygKTm=mh0xg)cjQ))u;1n_n3)iA*#jzvP+RzZP+vV2g+Py`_4y$<+qvvxIPn-BdUh|g7gHDv%c z_1zPWsZev9x52BLqMqfDuqd3GW*p zAD?e^qMe|Js7UDuxm?*4!^8n&MmuP%rJY~~HSP52EBEf5nprS8qaC#o!-C_SI#?F( zd4AWgC1K?9!-sYwl+`9)ac3^SkE(mCH}(`-BJ-lUdoefr0B_<>#=6zh_au~MQcdWM z{+r5|uU?R^$Qx7a)@?EvyUZ)hJ$B^C6r!vveH*0!*he%S4mX@v45MLnW0_Cwp8uv% zR)jqGr zB>EiOGYjusg+#soOU~-{J}>j=t9vm=503E!|#v`%BRI1Qfl~uZ{@eBhX)!-2W;#KoM>79Rk5w=@c z;7`x9=9b6U@=)o~0?Lv}n{nFPdnd%~+c#9TX{%$3xs`)r{>U&LY}KI&bM~D=e1RG; zJ5s7_lk=Ux3v(^=Tf|=&tkfSD@0iTk-6nMzu>C&wFa18i)?Lbac}iKOUc_AQ7)Z$X6Iu>O7Dbu8jRn8p+?*B1w4sF%W#Y>C?d-K}u)VfPYun5v1Y zgzXSSuo;!*XRkPy&Dep8Tx`TC+nGvS|M44rlyUYC&}P2KT(7xjWB2a8&3TYfFlMLZ zGlz#;54`%#Rfwj-!sJt}{5}`2afsS-R7)fnqT*z5Hi>fMSpCcl5o2G51sA%Go|8Zq z#VS+22ApRsKZGG6Nqv-Mm`$@CwC|fudCbEqeYWL&dSp^Hy}Oqj<~4WNFTogvcRMjo z0>3!iq8T9198PFNKxqN%z(^K{Uc1-SsG%0bN(KUmQB`9ZHx`XcvX$nybM~hfn{me3 z-@~L!6i_VIM1cnm%n$dp_nW_Q-eV6MF4>zvA3>$orTWC?c0FnzFRUq+hU`D4^d_JZ zp}0eO7ikqnE_H}6PCL{N>4iXPd?Oj&q#mlaAM>D#vNCzki~$3eqK=A+)6M)dc`5AA z4AOg+bKZ=qeva4FaNbJg^L^yWl}H>Hy&0jp@qmSgZWXA>n!vYNM8PxabSHxt|+Wa z|USEyfL&y6I z6nHndK+a(*798~)20pH1Wy4?)sQSoNrc+fJK!a%5#K^K#6ukWqjduq|poHx|YE%^N z(W=TSdL~kSFbvw2CAhpsSF78%J1h7=d$6InVUS8K?cp8jbOA_!(&r4-CbKh@dJ8D| z$J_W&xAc$5@-TwGj^s%Nt(gGa08HukeWB#Q4Aq!LMh_yjtiAh%bErOUq4N{)#{KCP zKD}%KB^da|r`{x{W7ZN%+<>d<&Yr$4EoQe=Xf54Pij9#YDjCrVefsnX@!ehM9p)!) zP)ijJ$kn2C%`wFDqW~X86%3}GqJCml_)H5ImqSt8XYdO~uVSX8{RPV`Uy=xk zR%H{hY{c2O>lxu>Oh$GgVf85hTNBVNFl?Dfrsfm6E_2cVP36`d_hvrh{f!)5m6a@! zXHRUb83??ns=hs16rTG#Aq-nXnf=xqv8jW91iOI?2xrC5tJa$vuT8#7b$-Ln6YlM(v97YNlZK@z9q?tHz`C3*ZtTB^hB3Tu2_w&Yv zGmli(B37;DG{~q6L&XK6b4CDk8CJMe+qP<~0=}}un_^ZJ9IU>u4?fa>%4i{vSlVq{ z+XtK5O)}~6`P899z_%i}{;~({8QYzj@Z*5U#Ly1KC!`m-tP3`%ErwsBOp*;2!o32u zXrrFOvpJs%{rRgmr#VV1R;~J<5M}=2#Z3ET?0Wmw1-fUByN^k>!^{CElu}C(hp&x) zQ|czmy+r{?u;2l26gtlNx{}CmU0RoQi-C!i2rd{SPdS9N2$rVM9VnYK&t6Ob!)r(WYP7F@ct|9WiW;fd6@oYgq5 z7l1K54-FjUi{5kOwDt5l7hw5*@R%nj*un7Ehv71u!e%4}+@Pcn?R@9y?S0YiQd8?7 zPpdsm-odgFT(X~}kQW7@$ zzqy#Yh#)6(W;Ydut)JWRFu zx=QV|+%B`?OsY+S6()D;l&1XW^t6rBn~mS4mC^F|q6CGHze;1OH#kn5*Fxuk{i3O* zyA<;GRPU+(;PYJiD1dm-F)*PP4uScKiqokQseE+OwcrPZ^Uo`Qhz6#9x(fY%}j)z z;vpoNH!Q{6rOrEhn9Q^7Fg1cjlSPrzL8hl94r+t=0Yz5~mxf*_n;T)6{6>G^zyPE( zt#YCn9~8T@;BF)Ts>o~J&_)J@IBLKg#N%Tp)-<7SW0Jc77Xm}~3w%Y@5sR;h}71-yiLfz-5!H2jv@l^FbRSThR$>G!Vbh>qZ7PM6$L)`~sqWiZqlN8f(*!pPs~J zqqURCCsx`soT;T)_@eQ53icd_17{Zw1pvjHG=d}2(&-UZ-T}(Hcgqud^7YW+i=Oh2 zKiX*Y;}@W>zkfz!ACJ#G9hWO8J5a_cx8gvXqxQIZStokz)p6dX>=?iI%&oOBL(S$t zL#STJ1{kWOfl>HUuSKVDQ*HEK%CcAQg331sWp$~}T=$_&zsw?8C6IB2VZ){!nyl2O zm`S)M%T|^;R&`2?-nL;w_PX+x3{QygAHu4PA#6sL1*|3k)D~7v#UPE%1h08V&<9^W zJQ|L$kt-h02NV1Tof_5|E)PV>iO(KhsE1}>7=av$7rlkr zMzTwE^gbDMw(8A=6*`@g+iBUdxuu)C>Lj#x)h+HE>I7KVOLR`80`V<~GFYP{4j4TP z)^7l|9I^PJIGD+BDJy^`fom1b&$vu>qg;GJwdBN@+|G98Cx1E={%W5=|Ggi&^4`m> z#-`7^oM`M`_=}^^khD(ExUV8GN3Yn8A)%o|`<$xpbFx>}*f^#i&y{;qU6T|rj8LRq z!eL>Wm6cc$5UwE5WYaT@f(RmBul-Q5`K)aXXs|B1lRf`ykIHWzSFv5Ih z?{{sz9eFC|$EDqC3V;LIgBjYo^41Uqr0@VRviTLvcu1iIqK})DNP@sKUr!xBAKtS! z@(hZN)g_ZHEN}*}9yVj}oPt?E#*(Fo~XYd`7k>z|n0I|=^ zMxJ2$pGL&+ob3p_WSCLB==7Okw*jx7J>O=W&r1uU7Y|X@i=#jiUjp1A#c(t-GKtva z=NhUTox5ezrdBUc$}}!9g_43Ul1ZC8Z~@7On*Qhx>MaW`;g1iX&J=`!YHj_OZ_KUx zZ{8g7HX53{-+%$8hnBEqz2jQ7!0(g2&7N(h(*+T9CL4>{X60-P%gu(xw{nvZ-tgYo zuXYJ=4SBkM!o=FXblIa;lr_t0Y#77MZQEn?E{afZ%WWwfFr(Q_=8Qxsq4;LhZasGs zlC}T2(@?l~8GA@R+!0<>a-V!Kd|goZWb;qasI1RLk5lf_WhFxoLLm`=Rj3#Ne6`LP z-es3HUNkv)I6^}UF2WX})>l&bPEBNz2C?6s^|?3K>rd(n!(1_uFjTN_oN}#A-pe$w zitJ`qN7~zXcR!evw1o&fMft-xb95@={y{v&$yJbEZoTd6PYax_mL=rm_D8V^yttC~ zicfAk!F$H$U<)B5AdE>~?Fg0A)%)izudy8u*tCH@iUr7k3;l`hL9UK&L)cFXccD6Hf zTT@ff8DxkT-GX{V^Jo1|4TucbxUmH0t84`1VNKq&Vf-4ncq7`ycSHnG{qR+zUf+Of z5SkHw0mqH@JYU=M7eHkz-MkCu5J;Mc&ZJ2?is*7RatIgZ38yk_@)VRIl5 zAK_ij+cu$z=3f*-keO}CW6*=zcK{62f|9FG{PJkW@TLrtdvEntTTAP&Veb_!CX~N= zB`y^lqh^Z#Na#E=b9g}Bz?bz@*GxPiT@AzBrr~XE-yK_p$0m`{4RY%USbyv=mDU)s z9J-tUk`Oaje{nbffOFKS;hKPjUusl-)oJ7hCdqq1X>_i4x9y6^S|~19I8mkZNYwlO zIk;gdz+l;%H?n6|&+XoRvM!zRU9c*!ciBNff%cLMjQm@5LdSJgExwf%poHDzmx669 zrW{r&*`YsJ$ZDV7DgLMyce~BhSt9jA8pFJsqF6(Az}*&lCA!TDK=){U4-L$1!gY2$ zz;;6%@jf(M2bq|EdGmp!Bw1{m;vY2=4^xVXg(OUtjs(JqXg!{_;QzD$vi6|$xn;NW z^PRaeG&QWcu6>kOnyB(?>($Qt96wNKZ$>vLZnJD|hA0;E&^!kA(v<8(-S5R8cEoc zL&Py%Bs4IZ^PTOIn^8wBpuVOw4xj1e4ug#3Mu~BemD^Ikj9T|?uxP2!+t8ib7L{Hb z@CV7B3jYPFbt0G}*?4PUrcXf!wzfrmlgR?=P>^5wRGd_f$YiVTpXo4ww;4D4hXb4A z-ztCKxU3th`!M;?A+bwO3VNB6@BIk|4nBtOpOv5Yf`Ec>%)G;d2Y2qgpi`KK)J>=A zvIS=K;arFlTzz1A74jbSH21=&=zy65Z)x%KOmXYEbA0|pIWnBdl)63X{A8rzkX5pb zhfHnr@mABok%t46>6=+FVGgO)gij%!f|XC5tkj3UFAxnO{3fVz4#4u~Z{LvUn7ibJ zGZry>wg`x!wzd)UfhsZZ+0EhR^ROpS4K&52Sx9hjr=Ar4o1BUdO>YX@2Li~x*GcSv z<)y?ia0mtk6sYT3WTcVXn^@V{mb)O2A3YOuO^9_^h$^e7ZEw2Y{w3>S$a82|vh55| z7E+yp)X2EEXkR(Cd?22@;lTdNtXHEyBB8w^B?_EFtVIC{5J+pWh3u!~*m_x;RX&0G zp?n4sNavsZYZt@pNFtHwNyQ|%5;e09dhF!Ay||4cTl8CD!E@rzk$(%wEs5^Y*uDND zScJ#Nqi#;7w;61OR7hQMNki%!vC7MGJW@Gv-zB^tp4!AS_F2`9ZvuOIi&S=KMp8TE zae(qipH^f!d#g}g%jh8gx9D<3pPAUanPh+L9BJx*d|2`at6wSEN&W+?t0DG7+cH8}H9@hi^tNrwH;^jv% zkJZqETbDYU()cjQqCUk3#1+>HBhF2f2mDHZnZAuKTHgXo3<~AU8MAuN`KSGTWh>hm z%TyX?2X=dNF}98J?$;NWteRVQp=w|Y{XDVlgKDNy`){UEv#OTNl#}r{ig}l!gjR^P zpsV39`V2<$%!x?Ix#|Ept{&`zOo%Z*<%%7=$L7DyZ`!me^VZ@&CA|&kxx5KbMV`~O zq34$dDg@`ntp!k2FO%xf!lH7c=geO5r`8sW@SOD7CTBCH#je+{{#D+0hb>uHnzKpP z^`x)_!Af*3l!7afEZp8Zb~2BE?$XZAZWzu<0k`_dN@WH#00R(G3YRIJ6+!TNTc1JO z0iuO_WJ>ZUtwW-HNAZBgC$Q|}$01`D{YH@q2`jXq4$aK?A9DsT9qNnA(2%M*?1<>S zb|0>CrfQm=jp=U1N=BcsZ|&Xk*-bbO5)Q&3^Q|v})~7N%TjuFG;x#tTn6{j=n(w`$ z*KAy2dbeo1tRanJZNy#hNSc|usAf9D;ZRkec0hEDhFlf_K@4OJ$JnHbO z{>dXy^_+z46Rj<^KQhM76jJKBZ!$76uHU$!6nsADdwQUP?~TcK>`iLQfWDxwdm%~X zjc}ASaTnw2#anKxWbTNoEm-HX^PaL2lM`iqBW+Nis6ddDHPnBfOYN<$v{85W4}PlX zFS&KR&FP7+?-QT>GplJOWtcr?#1i{HS8rUuu9)u=*zNbuBkKn)ZTa=I$}~sExc#=D zN8~B^7=EvEda!|bD|Q96atu4%J8awjzj;i}so$mCCI&G1e~nkef?{C+$)jT8i2FBf zM$Wptd2*2fD);~vBmfq|1yUkg)Ttmu2Gl3{8!O^ zfg~d)TC=ELRnJY9%Yl>t>>mK62i^^$oSFP=EcKy=EL4Gab2z^$0QC!(a1yzeV#o>h zCj9Rn1KN{UWCT!3Ld=CkB?P%rTJGqSTeS9Q>8+@nf}w&&LtCPE6_@t}63! z#Sn|h3oy^FoFMz9o@X&xkdlR_XE<|^6wqRMD7X33ce*xK+&~C4{jq*VP*L!Zggk@4 zz+-eW{Vi0o^p-sS8tXBSzBj@0yS2&Bu;}RPm069qNmni<7xif~4nh&{Y&Usx+do@R z@h01_O1?jH|Kv^4ADM0L7avF`Qb3xMnNE7aA*KFW6HV6a+_NViCg&DqBd=>dl>wWk zOf^0Yo=@}_nY zry#*yVt(ORHSWTO8JnHGn3$*RHs%xpGk9CB2qOVg(5s_|=efs{#36CA(bAn`L40WiNdld@XBUs{puWGBzuE7Df8QYVfh}X6=Z-7aoY)c^B6^Cn(NN~ zS1(`69!!p7A5FZ7qvw>cbOF!Z&$;0 z7Qqa@@ujPObXN?!5eG!hpaMtA0z{0Ggo||0{&g+GnAefMU8DW@NgU{}_wpH9Bd`Ne znu9}V-8F<_xJpOqMds9>WP5IFc?)ckuOU}b>#;3Zrvro=kd@4L!Q;cYRYUQx0sNGb zM|;ryH~in2>#U%~CBhP7;^t=g0wfFrQV*D$1PMwX58)m0;>A4RE$L*rA_vL5N+BO7 zi=&P-b#M}*q6cOQTf+njIf&t_FDIucz?X|P0oWEwqX@>LlC^D9HR;*XxYtxyTRG7D zc@cV1S!mpQN@YP4^ODml;3BugHt66#GTsDe^5x6x$yhVr!tgdBH9Pf$Vw-N6v%7!9 zpb3fWv=!e~i%jVwY3D`xOXJ&0VR#d<$H6s|jMqkCXcW7U_e=JqNXIH)yPAd zpWI8VEMn13Xy8Bug)M*oOTa?f5RN3iahGJC6IU*hgL=#fa@@E9WeK#QjHDl~`*Dc3 zkJJz01aT&j-k5{0%#Tg(dY4PH5*&?Y7Fm!chfX9rtB6S*I(~vEf!C#^ceb%Ord2YLa zODYa?BKxH$Z&aJ1;rfObAuPs+5BW@Xk6ZVPON*PZE68W&fNjY0*)Eiiev>hex;UTk z&ICO4rjtS7c;lAglR~)XoZfk;7Qs@}h$>tWn*-IM%(%#bphWUu_XpI2*zaMh&pSxS z3HEoc8^_taa`oz@VKoxA7_U8XK5ONxCBr+e_%xKkwQH+03hvFCJ2%T{$oaM^MMm&q z@^02QAPe2DRFLQCM=du2M{B4*5!?~$)D0foyH}UsJ_YMYemttEmJ2^QZrm%Sao@iF zb^8B+na#TqpPW21=g=fTF{+Z}v5_c4$kNS*Lx6mG@$zNAtt#9YWx!rej@H(e-BeX0 zevL9zS8tB+ka8W!TQXnb{X9T6TdMJWO-tK$CA$xLd> z?mRNzWeCm@El{9u4laPr?7-EbUV@5riT;$az-lbV_$-@Rd5gK%uLlqWP<38HA_SwF zkh^vzod{8l*u9xdx}WhmjI&4s^+(PRR@rC48=W#yDQ;?2`!xLisNl16O;oURIaQ1_?@5T zu)y7mvUjpx?ZAevJ$lTJyKh#vPI+H@W@LCN8-U*M(~${gf+yHr{L!Pg=t0imJVqTX z^$O6US$@<}O-#{pIeG=8aTzfs3MQsTqLQ$(x;JJ*fjCG3&z@X3mA7e~^H8Afh>_ua z?CS8yf&xzxw@|Q>p(u>D~ju`jN|}>Xf7*hDz+!+G@0h^5WGrl z0~PV5-L;Rwg@&#Bwpg^Et;fybff1L)WdQk68fa3o;rE)4Pn0R+G4M4*w?SEz<5X4N zYi<6`o9h;3AuAYC{1h3GP)7{p($1W6f3OWaN9r>=aLuQqGLMLipUrU0xlkCxX^xhX zldr>UR-5b(lNPtIa_IGY$=hbw{2ZV`j%pNKlfg{LU``f!x0+Oh-dAQQ;jtCp^rR5j zfgR7)t6QL*l%=MeI8ny^xVh?A;^Y?KK?prBV`CJ)0t(VaTUO0%%k)iNUUPU+@zeqi zgBx}Nj}aUfF^Q>9$t;W(d5l6Tay96=no2kY(_NFasCG%(YUeuBhqw*bev0)gRT>(Pa=mn%k z+Y9Y1PEs_0G6u^8s9$#I!>380*t%}_4oz?x6ms_LDCwA}>F6|_iJ**qCqKQNhM-;m zNs2)w=Ee!d;_7~5>Mt1o9hB{1J9cCPvPO+t@0(nnNH0*@h#U0a!32XQl%{Y}A(Y<2 zHc?C;dVU8)wbtXDkTc%FWux`;e%aR7)%ic}#76JcSJuJ58Pkc~A3j$B+hQ4KWGb$j z@oAhGu4q2LtQKFU)2_$SR$#zcpJi#Oy+ukw^r(OccOAMq?F~fDfcsmkF z+T^QzYh%DPfng~)BTOyFU%7yaDv~P$MPRq|uPfns0>aZ+fQHKQ(gh_2oYg1{3CL?w zGSODu@ZaYxf0;7{T z1ToQt*D@P@WavUfDCoM|z_P6DI3c17b3d@Z#&l{N9Xhqa@3tGV*+T=kbdRA=4ClI^ zQh>xX!npw90HKTwwm}1oO}%?!-hxGou43d$lbl2p>HN2Bm7>;^dWOc3=3pynKXP*R z85&Cj8qV;qyj2Gq=a!%o{zwwf<@e1WWOL+&&?#HCOg5fA!FUH^MJn-!nLcB#T)84m zGH26li~4amazMU`>`3b0xqCTIRIs*`9oMMOU1%c^jyOX-hr31CU0gBuBG_nCLZ?Qj z+X58RLefmeng>la`N=`c1p*QmTOf{JOCIBBGLND_#D4%IV7n#+cHpOeXts$FRI{7R zR4}-eev?Pbzv*Z=iGM+#9Lif3jqZW%kMOoO*Z5xj<;%m9i`ok^j#n&n$_2}nuHZqy zAt23H$UF?t$VO%fpmgc2uZ&&RCSLUNBnM(z9%z}Svp3a>8K@}7c|ymGAL$Q2_h+f3 z-CRDe%l@HDKiy3*>&VA)CA?d8Gqh2r=|^HM>T|R{cVHq31HX)abw^x7o$``=|GLxb zEo>)_1LLOoT?r}Fddy$^1Tc{agoc`mVolHI(UFl?;YehRfIBO}Lrhnkovq&Z0N{va z40WZ{fLyHCU8^o^HR=nkQH5U`SPn`7v4MsfVD-yEkTbtD3-o2u9#HT)oL&AK0ZkZc zaSJ!_8YVy4*!cBHCuq68K%xU4YtG4~m@+0lg2w*|CrNg0W9&(jB<64XmVD`gkuXPH zSY2MiM9>C$OU~pbK;C;Hmti*b!J28&DFXbsx@p8p&6?RiJ0Q|?VvH9ieH#zJZ0Zcy zXLTS66eCGfo*ZNLfX`dSNnW|_$Vwg)@}WR}2XUp=@IA-+QeP}bck|ai!w}}12x~1SV7yX`m@t}K<`wo*hLDuTbC#oE6Bt^H ze62O^x3r&yoN#oe(z7Cnve4+_Am*!5cvFf9PX&g{dx=sVUWc*Vmkrr2`~I^vn!>zofoU)6np>+Eq8hKa%!&yt(;}F;`{sOimcNoSWTh z$dIE-j#C<~XXsP3aT~V~YQULg{0O|vs={s560kk?6{{)_B4d^I44CPvDF? zhn!Y=HL<*R^!!g31jb|BS2VI{1;loozIJNzdt%Yb7ngoxjAEj_y($8Ah%IpWF!OEp zSFQ@h0irBE#x#EPR%$(pl(D@ICJ9l4U%7MV^T{)-nK;2M2;h8Zs(S3W^@hxV6Qw2( zF2JTDn>})XtXny}rd`XH9o!BD?nXjo0>ZYV z=IymZ%V~$P>(Q$5z#6{AMQvM{k^xovo!8soUu(E_y}F^vim;wleN%^YD&I;+H<{wn ze{@dKl(h**ZQgi@fDp&O#`?y#_z|7x?B0IKL< zlpq)kFo^5@Bhd*HcTUent|d_hzJvV`|<7ABZ{{F-Lcm{1Tj$ricbB&c`LzX z$deqq`OB7B5K{+zuzS6Mh{z{>Mf^eKdm;bV8sfsbslJFw2>ps}?+~JsQOZ!sF#{C| z@TBysmMiRf?~o$gaso3fmV^l;?w91$)A>;5g>QtM6ZD@7w=7b^-}f zMo}T^Tx4b7E7a1JdK)RqFkjw8l#9n7hc%(pO$SKzPF z`XYdO8vxd$IsX&Yb2t3BD0Yv0cE1eL@{mO=ARtVhcVHH9W%1#T0Y;R6L6oK8$PKY_ ztu}t}z6@m;2vZA&ie(y$=)BK+4p5|Ls~Nr042?`pw=S>L>fhhiagM{RSr>9WX4VH& zNT=w~6v*iK@4x$3@Bg8ye!EhWMGz0v$BrF4A4x~*%CROoC3&DtER&^Sk^ML7qss?O z+?+eb8wINjyIw>kJSB`PwC4w<<$+fqG~pofnB1~bvrjlYyDEgbH^Opjx_@hYeRzMz_0Ob?4s9zB{O zt5Lv%a}lWk@rSDcuJR{UBf#ZjX#;X%=;a3muY(g5heV25`fZQ!%qn&cBmte1knvcJ z|32b{tu+(46ln*D(4xUUnHQ{XM*U2pS8wY>H98S$4qCGhT1(4u>-fGbN(d1HptGjC zP1Qv5Dua)ZuzboZ3}`>sZvDdn^}!{A6cFVLwsLmXYNGY=e~3$$L*826|EC4eaFij$AP=@ttb*ks1pV4AgBmahKzIGl@q^V9Q`R%Flxl#Nt9 zLK>9%p#S5jOmnG&&mj<8rFrs>|}I1m(MdB z8QtHT8hT{<1Ii5Jvl9_T4=;1=$G!3njs+!tn(4C}X8u6HBSt0&)oDZlb?=_l{CWhPyE174pWNXAg?XU>uF$7Bb{P_ikj2&Pt`}PH=k-iMzuLo=} zW8os4<~6`kwub}Ez9Y)8x!yesu3sNG{gU;?Ykzsq;T!Lr_qLx_YRBF6-c#-vGEW2| zw4$MI4d~?$>IC_e;!{YArMvjy=b*Bo7UWr()y=}}g)@pR9zO6{cj({DwtUMI(})mw0iJR zvi1{vRx}0F?$}y}P}V{Ny7LrsF6EYR0L?K(Uh89IAWvQfokIT&Gci+c7e|(Pb%$ItOMVk(=4EJ^@P@5~>XUW7`=ci12-^~EXkPUk9LAt!0QS*@tdY^* z824RuHKoJ0)qa^SQ&wm*RlDC?T~JbT3yUpi=WVg)O=!s|b@9C32;h&NnJEeJ%gNE1 z5kG<E zDitueBq!?dsT*f2Jm+kj)nVS?Ia9x^_eWjxN#R!;NdD)S=I&6A@SL zTYZ^eAXQRzJhig$wS50gwzjEo8E_x-F&7dLpRhY+($)ew6)-ctvZKSe#lX$ z(cMWQ3y(E&{quvoC$XgyyMp)Sd9tz&SrmIlcA!6Ir6gw29k=sE(9ujKD^nYFCbO!t z!rsX41kXj$ask*;7@3wW3*b#Gup+hY`#0tD$zUC1 zVSn^1FjgmIrxCsh#<#vO{0S?U0&>YYmEAnV2D&*Bl@WY1r=C02Ag;WSI|;oX4h116 zkHI(Ne~w(K$Om<%4Qs=MwCn>54=);D3J57&4U<{28iQIutpCUw#*t=;^$LJ*OaT3X zR~CgXpJ`cqb*+!b0cgwlCMNYCKd~HycHkWcjdSBVe=yaUSjVB_Lh78nX4x`t9wZ1% z%Ju6FD9$50n6+uus*p^5gLaBMaGozUtHTa3kzzp6ZWEmjGLL4_t)`#O*b$j~ubhjz z66t3evVfba@hwt8YpJo<`AW?BQCf*oX7ckc!F0vcZ1 zmO259QzfLix9FhlZf*#?1KAoFBPluNUG)hgLk zh)?c`0-Ne-+xIFEhjBBSvmzDfR{E| zm>|JTI2PyC^1~@Zs-Y*<>Y61dv9SYB_{ew$vAwF9Trv zk<^U3R`zhvtbfI1@sZIR_WJnvr1|!Wa`S3?ostnKm%8@i%W1z}pSYGsqZFWG!zBnN zk}|Qg^z%<(x0|K=sEtd2M7XDe>R9b?%`E^eD_q0_!{}4zcyVN@S_4;9S>%~xu!z{ zru-|D6n0CLy(H!fn6Rqtcg63+F=Kfakrr0wZRIJnK9)n{tHPjy{V%*-^s-hU6BucUb2FmBWq(hKt6sErHU_E7hnhTh zar#nB5r0VGZo}W;#u6gt?7(|X8aI}pic+lsn3YS$(+Kbt_{l6M>$57DOA({+{@Klb zKXf4|fp5BY^a`w!a!kCT;QOF1RKFCS+H-a$_DAG{-V}@^|GMHP7grt>AAa#U5cotu z0sLbH6o{N#K0@19;9<&mID@EznwF$esN0iNSW6Ne;+8b4r1&L{x{<#hA=X9i+&kcp zCIKEKKe+yWfFuB<#tDt1|L(2m#geB92!RB&L#RJH@r~NFQ)8I- z1G%|~lPTxK=xxT%(bEE4Yriz3B0L48E+sNAc-#CG_FfLA$mv6Y2aW@JvtVy~lOZ%l znH0*4F08n{dPC`_Pjg6u6kH*E_fGAOui)CPrW$6-RCIZ;p-cORe(-)LTqaj#>h$S{ zt(_|`X+$&f1s*4QWf6{>E+H5|5bvW}uOR>BzkffIGshJ15ZXbpEP;hWtvr>kOMP&g z&IbxWE9I-ph!6)uaoSi25Gv;d6qYzTadBaohr=H+I5xQB?!(GxcJU0xd&2l^oB=d$ z*0-vaQ=HqdM?mb}Zajb9g#yF&h3mfxLP%b;zM0gH@{{n8qh8_x$Yw@{P=XJdfWxc= zJ(8g}K)^5Pkc_=sqst~U$Pc$+bVls=Ck2D+DXA8y-BNZEyaEi>EL+)vUjN`n3-&+uyu~UK1vNg zqmfo9f^Av5CHex;3|X^FXC3{}v5SL$-|leJwE6T&vun4hYHEr;Oqd#w7VWJ+IlTqg zn;kv6xXDzLYQc*3es7_%yiFhs*}(@hB<31~kaW;^)$Y$--2}6`GgTLRK1Kt1E)AMA@lae9 zX4&v2f8X_j>1HfU!P8t_~7U{8gIG|mNlGD zOO21CG|D-hcC*?QkG07;I}Ihn?7*Mg9OFnQ6^WZ?^Z^jYI98|vJ8)1%V~jG0%YEo+ zLM5mf3wIlE>kA?udmb_T^zmAA|F%SozS zc!cYB@3ux!EJuYfiV-3L#BR9zB63!(7=0#_Ckq=g6RNl^ou$}kiPsOKvCEbebViR} z*gh?+8!c)&&@E{7eR8U8RqGYbgP?2$n+1|n?9oF6+)&(N5jU#;&*s#B5)_$3!MnSD z?k_*nJ)T7gc&ThVqNV6L@&Ww&xXmHp z4br_V>z2()=ZW!p+9=j9Zq~T5#+Hw!Bpn%WCL9N>nGpUK=_vHo#?6~g5ueaVhc76u zd99Qw3(NV|Z1z>OG##OKnA-^}tQuGYVVa51L=^$t;esm3RzhbbBb16fF z%s;C=8qlR%H+_(yDllj<={R*`zco?}rmAH77r)5p(CgwklY&gklm5m7r#Pw9^JlNw zCs7m7s~s{$Rfzx4zdacfU(zge_`m@<38PM@q6TCG1TOrTVuY z>O&KUZ2Jmeg+HQ$mDA#vqRar4xUpc4;tHdlz#Y#JbKq6ki=vAPT6Te0Eni;#VEv8M zR5)RE#4$P;=TQ3?t5XUa+Dt%vChBu0{k$hw7!Mc62Zk zB}B;)qz&5_e@(L$tFyK}?l6A|_->H!@#6nca{=~aMpQD0X|fdw-`99=E%rJ3^57-x ze%3qp?QzXB_S=R@!|KcyElPMi{50d!lof~a63!DN4@nsmTa4lEw z+M2mS6wwp6-D@XY6GEXD7kgqe0eI{No(#qMIC_ykg^d`7`1lm?>}XuS zc{Q(0yp2Wm%d#v;LN&YE;8~!-KgwQx7G$ob~byCMr0nn#MZS;)K_`yRbq_TcqjE{6pC zSgX5kI=r zY!y1mG>J5@NK;6{27*fgVuHwJa{|@Z<=3F{Br-KeLkhi>ia_D4d*v2KP>36DOES~e=)n|GHf#|bOrFN&q8SCE63uAB zkrvK-VEbg;5}bBE>kh<}jER^#uP+ll>0G_IJ)i=sC>M&lZORdv9iX8cu-xVQCGZ^4 zD^nAjL`~RnrGc#Fd>p$hn2R|prriouoscqx2wrFzy7${gsNanp8@d=(rUaOMfh@YC z(0*5^uBRwhTY6}M9ryEImFD|3*t&V2lh$BG?7}*u(Vk-ZHqX@~zh9i^$}hLuVR|a) z50x*e56s{7{EkbB?T6Ka>3ud3cH&Sxv_jM>Q)Pa4qRMtNT%m zwX9HHkL+&zE@}EADx2%s*=;c`OmXf_zr$q2eZZsfC2)&oxQ3q~LxP;}HcYxap#}08W>Y!6oCdjT0jow1%-t z9(g@2NrF%okDE(}slOX#Oz*J>Ap7dxC4 zxSiDpPxVI*9Oy~$gC?e$MLyW)v}?7EUN91#7J-{vFZZX>%&m8F@HcqOc5gzE&{~3( z%$Wox+sXFRT&B*5`@%s31y+D|7y=%HCW{7~fy#oY*yL24!4Q}d_vPmT#KDQTXp)Z_ zwNLNf4Xf%`rRTrX4hUF%kO;fy?Bq=re*l9b9D9$hi@3x0JpHn?628{`STe-}fN~mD zDM6b@pSSkH?!VHT=l!U<6u5vh5$D%^ydGD0UV#O6BKA$+8F!A0OoR*JQHyo~+VhwH zBm>Z8QNsY!bA6Z=5G@pENW5Jbta+_IX2?lfIpC}(z~)vwhG{<#9;anye(-PXy&^HP z(=p`Bj6@=fXbOY-b~Ox)G)cT-!B6NBP#E|J4VW?ZKd%LVDOl-c{odtjAC{>Fn4~GH zrw5AyhN#Ayeq`&lmhzGxxJxFft9s0IBNquBz?1#Y5@VQ2Tto#$&Q8Q7Z$EtS#=VNE z`^e3GZ~XAR3%6_%UaS<=5*R_Jdl+R45xOprDbKc1g<1jiuU2Y$ttv` zUy{#JCWzq^P{^8>SB6s=SV73pEY2Kxu3nffEATXC`Y!O&)N;E{f|lW|K{i?hcrRW6 z0i{t>|8#uznKSp!wO*#?*?NA%$gn?V&G%kDC4KJ$mGfc4n{0KA%TV!ppnM?E^rV;D z&320$XsKN?HE($+ZI|NYgKE3-n%)nc8T|IQHB7&-KN^k08s@mg@)H+32io1c7@SnL zwbnt%DzU!316M+*29iMVcRBMAgSm6(-qXx3e)mpc(y*UF#WOQNMp=2}%@z|NY7|0- z^XKn4eY!t$D=7pFSt&_qrt;H8dqzxK!4oA&jj%{<3_EANVj`Pp-NBLSqN-d#^(^B| z9p>;*;4fU?qlIX$ovQ`HDXa%L$x%|xn~xs{m+foJLpiJR6ZIJ&%`8M_+xJb6d6^Z} zPRr$|n6jdpk~vszYR!+bYz{zYcC%~drn|d0CUj>JdEY;eSBJ~m5Hs|J@-pWg99d3j zILE)DO|vy)`fH2z)^)t&;qfU%^43JtGm9J-1ej5gVn`Aj4JUtyJ;1XE$u3(dYN~G* za5Og|g@V@f^6`nfJh310MWldY&YYQvnh*dHYOX)c3NEbi0wI7-j5GaQlcl~CjCe!#Srh#@J$?*LC*?kZg6s4d4ZwxkLdlc!&8qaXtbYWL zQlKH4tQNo!zdL3znx(G%YOSz_Rjf`;u71}Q;6?U9)AnvHsGKtgCD$GB`yeeFB?$)) z;+Eyyj|e?dMXC3uuy86eO4)ahS7lyrV;^i>@Zh;=FzJ^&UrFRN@miN_ygzoE@92NL z>&dV%_p#IMi?`8_8s8iSas(&K@}&;cf->WWFTZbkFd}f0m4M_FU@W{oce5e{G?ANu zZ&4PNUFV5To7)A2H2R+wz<1A2H69l`Gy161qEFa|G6@u2lu6;?`;Q(~ua&1H+i}>6 zi7SBMX=I}wS;lM|+D+m2#Z$hYdiajNla7Q#C{(n^| zIM^$*i4MhAM@virO##|>Ba*XD@G<`CMxIA$fWkh*wvOtjnOedtuQtKKxCYJvPQ z@|_#lG4UVHbNSuTum5wn7jD zcL*YYUjqsY*~3GNyTPUMFYr+*JE&d61Q`-0(Ld~FJhL9cFktU<0SLv(c<{sfvOkGy zN7aDxMYdahc-3dVJ+N^L8uUH`2bRRFn>qw>6BoG~EAFKmWe2n4?yt{l86=SHRXkY= zj+@j0)fjHD%Q8A=S3d7umZLF8&d^45rA`88RUAJEZU|EcktAYW+M2Rs1i@u>nQMI( z{S?MG&c)vMWy=!{Dm|QQQLfp)f>P!yYD$>}-4+Lzr3gw1LFwh| z8%~8HuvPh+DWd16Q)P3u1rb)pN%ef&KYI8Ol<1u0b8!Zv-2ffD4%bOh`UvzXy|#Wx z!8DJt6xN8Q7)WpfyCVGXFX!19flmbkwNbVkTnWdxP=62HmTt9TB=G3WA> zW*kdtCupGxm3&0qivn6*y)?i_neQo!z2))^nKqy&kpth~zOP+=yc%!QZixxO!8mAl zX5$wtc1=J-!GgW5#QW|f&70hGWJ8e@NJXm$qsD&B>_DxK7txsOw zG?Fh*p$TCe&Mo`;>BV7s(%eORD&C0)I1@LtFk+6644?(K~eV;Zq~h&d}K!gkgUjvs7!6WrWkc-cvn-F+bbljp3!)|!dw3pKT@`Gi^ zi71~49EkkGSds?L0SFG**Y2Ge8K(8=v5N?>3f4Zjlgh?;c@BO(BPjgIO-F)n)vqlz6LFxfVL&4E~b@aX$&>cMoB&tgGNJefa*f`pzx#?HZT9^~e(##ac*^R(fU z&a4EJK$34s4I%w<7RTU z3TwL#JR=_E{FD9IeW8+t^@~fN?Cu^pF~F&J*Rr*nBKYg#&Weii<1tR*YV^^gU7(# zP%NG9yynd|d2lGA^_vqWFU+wJ=TamvG>BwQCIeWYX|-rFHNG^7uh7J`O2B$Kd!y*zadj*j}2@NSF!OunZq!6ec) zZraomvYH}4aKuV)9sQWSG!pC(ZUpWnYhZcjPu{pc66p@zKTK}My?b->-i}lel@@Jj zXR0QVH#&bW)L+>l1Oj&>L#wiV1S9%hC(a>%;a?0m>?v zlc&r-BZojus#Wql|FG=3m)QwWrd>!m5^uC$GvoKV6e)*MTtabIJRfVee?}U3zf2JU zwgG&NK4W*6o>IJS$-~<|nai?w!p9D-J0$|>S~IFW+--Nj{kERIMAj3hd}PAM2f}E| z4}gDfE+5KmPb0N(VokQnKEVENRL`h;-Cc@)HlTt-oh;=X`j5HSiaMlO4hLW5+wb4E zuh)b_pQiQMUw-jIWmNQB8DS%}H-9&cZbgonm^!Xq>&35*d0c>VEp6%zAoeER136Wg z40GZe${@qPy&tsz7EFy%?7`)HNGq=-C5q!Nd@*CpqA3N-ivCuxQ2CkGNXzqneCr81mu4H7X%xJ@Edo14hEDFUsL5_R$ zt){I~?K?iZ0WR$a$kxEozCh|AZU9;PakC()C`@?2sJ{G0Tbq#!k*luCKH*Ch10)t5 zH}1f{a@t*Z)(Mrzss8pk?<)PSccl0ZA>DVIzYGm3@d3Zt7T+3-AkTSGt?biuaEdx+ z;NWB!I8A+CNXXDZLx%JlHR^k3yI_0|R298aUq+k&eaoO1V4sN){@={94O3oBKOR&? ztYb~L4ny4P;Mq`%l74|folY@XO#B)2Fft{qES~GTQT|v0wZEQ zTuh_%Jl>bKq|TN?nouTk60Qn=+guDz!ysobU%uR{fB*e6t}q40f08BPKzhwvr_*0) z_5Y&-jVhK-<>Vi7h1Q67QD{azcJFS6^o2_!GIm&*q_K|1AZ7FG0F)UHF4biZGo8N5*E(iDh7@= zQcEYZP*Efr-9I~yfu-_{jZ1-_hWxzgxMXg=Jh-klQN?v?Y%uO?;%HGa_5Ma5A6Ra&-^Aqn*!GT!$Tk&IiHI|9d%c| zIGJlGgRaQMWN?ds{oC=}iet7(6t3n;vTcn0ccF=i$0#~90X|Z$MD$OeMlZdH5e-VU zjO^^#6qRq8J|wZc|{0o4D72?8dJT|(NY%6^gjK~6Yr-}xt)lliQ8B)o$c6TK>z--#uuc0 z$AG)a

    oh#PyG=RNArU&ue1-$xBj@3oXnQkA5ZXY(<-5Uyg^x+f)y}NlORI8q(Be z_~N{=1?8iAgKAKjb*Ad$c~=qr7GW}}^QN{5Ln>mz0r^45O6PVXWEp+Masj)Fcu%~+ zV!U>6>JV#P))uB+CodeVBzDmJ!7B9M;N5T7RBH*o zKJ3^AJ|p~R<(>pTeTSEbjNlIT>AXuZFF+I18~G_jK0Q(i5Eh9X zdl8UcOsXfZ4-kyI9-NF)9F}fu3M9-MAyM768BhXe-LgHUOA4AyU&Fv zvi|^40ae~z?j%-xtAPusA{KwS>@@Avg2;K3Sb(sKE7@v7`wUYIJ*C)XYynn8)+sl= zru1#70N&bc*EOE|bls)|9CR9P4yW=?9)`E%vxF0h#0C$d;8vsDKA?0mf@fS27tmzziu~&V zb{B-^Gc(gREEuHd#W>WIPCG>{720&}CRatVB)ISo=^F#k=fzBwJUs znK`93^B=c(kk9`4EB5@hUvwc5zK@-Hw;7`7CCk?cAq@g=*b^Ki&BM4Yby>E zn1SVOElVoCH77~ui+aQ2?pR0+xo71~Kq>4}-y zr6nb`rDj!GceWv8K*gqHJL7^w-Q5xdyv@+lSm$gtR$g@N6m11Pj7|Bk11zS5AZ*{G z$Ix{Q9)oKC5rP^ba08X(ahhE;vfuVJJm z$NUJL_3zEM_N5CQcN==_T9Mz#z-blxWzu;kD9OL8U#nx5iObYg7M9UtU~@2J>Y}YU zl?qxC7nhQqT^3-@ce_c=E=(@cIGiNJoT8@0JczNQw0YBd9$p;dZM_mn?C}~Kn_;JlS%sBl$U?U{+AWut6OIz|VUS!=3 zp<)RHT?b}u{JSQkq?)O(?|idYDCtQ4W~7mV7)l~44+YDCo&nhKIdQ@~e(!N6`nj;= zLlIpOZAo@=d8h;kJ`BihhfrXD3>gGLAEmt|Exin^6OOaiyGX@=z?X@1AmXNgMnyZ@ zYVTuqSPTMXuLvTEFTb#!gKeExT9k+G~6FKKSFNC^G3 zYtG!%4kT<>#K?#1*qdu%nnt)s{y*lEMjFa#aQP$xJ z($jJG$v54@=IT4MuRjFd>GT zE(7Ejz%=FV-8pN<8Q#|rJ$e;1JS%nf&9=%Z6$FBh#PRZf@eNCpqoR_+H=M-slr5#` zN)F5(9G^no=gf`*x>Kt^!qid;BpotN#bAytP$<4v}*}Ih3jSI_l-Tk62^Du=O$@$Nh)ysn^TbfZ35Z zfzCbQNS;(aA`+3@gb)*fig~G~GLf3`4Nx6fHd(eO^cXvG5O&87K5!LOfQK<)Z@7+G{{aQQc|3AwJoIMqh4irx$vLe%76NJ z8-m8T=O^y6{7SjpdCbOM6dJT_1>s)^%`zwfVMbbE6p&fL*Q>YPV~aUYK{!42uZM*k zfML)DnLYlhgE$kiqC`xzu+UgT-Eh3yLYfbz;%ALlB z!9ZN{tmx5IkT5`9r|}@c>HwIzW(JVdQk3}U98z!Jo;h?AD-eA_5EU$ob5_#p(}^bAcF@)R ztziakpc6FEbO5iPo$RyK_9m+RhUs09}CFA~6@yKIyPq0AA~?ESI_6Dhe?n{Ual913ihjoT|Y)Ki5eI zY=M`Rs`PtlRAa{0uGe?nW-{vi{-yO~lV#NoBXs8nd7kJ$HvU#g1Gq zLo>5X0lXOJkeUB;;fT2f*ykdI(MuN(>@;BxY$URDan%OV16a-kV^kTxWnEH-Gk-Sc zK4W7z5*fiwT=t-`CkP(Nhn1d%>nwJan>QP&?A2;OWkDDE4h`B3M3sDrP^J&d&Rch< zZWN_GozLqv-GWT-^H9xn_os+;6zVIvN_1gbqdp%+4v{9cK12z%-wJ-qx9`cP{{H(Q zxIL0oHFo$ebN%)BcNbNc^q-!wgC$I2GneuKfmn!FSzDW(~M=Xm%~P# zKIdRQ=ggfo%}zW%+PQ1jmSc02TPy$~eQO_(K~KWM3ku+>nSNaP>K(%_)ax^=7&%-^dCAXtuUCROvYfRC zcwqs;!y@F6)*AMD1{bk-s;#X>+_LcTp(NQNCzKx9AL*a*$)*Dp%=efM?$3v0KA<9_ zrz>Q*PeQ`je{FT@Y_eTJvjn(7Qq~)=Tee)hefveP^eAvUO?2+_!v_ye&^!SMOjc^| z?zHUEhTL<<&l}hE?C6s|tfSMm{ckFL*rWalev4dl&og3VanC>uA1$fq1 zUA?6PLp>H2z_*<+D^RX+|4`axr`rHpBQfNB0|5Z=DEtz?mwUm)S=i+*-K(fNvB>C( zK>~v453lOi>S}&z$d27%Vt0qWDd*m!+fVv|en`|6^Db(m_-g5 zRr3XSVKSc!;#tU#ZB@4J%bWjc0YILFNuo|LyZq1QRrnbvcX}eRfoq4LuzW@BjXYME8ZhF2=RAiglqLg zOM|X84P;nAZ*!`(Kf-5O5zU_X`^pQKp-ZuX?IDym<7ponyeO6Oru0eB%KI~J&&Z1an$F?qNL*DrC;3m zHnmHRGBD6e{)-H00~jp-^H1}>1*00HCOW&a*D-`dXcO@N(HpE(S@p$=&C`Rw&YI{a zCMB3U^23%_^wn%+jl8iuad5K-fERN0VC=z(9pC=IvLNrn*klO9y6!=@i$ie4JWu=I+q}hVoN%xI%%Vn?>=A#1cjF<8>Ugd)RNaC zV~8SOhPulff9&#JBp#3(V<`G9ItTd@3=>?t z9Xr1-JNM3mj6kwsoAnNsB7({}b|gC1hExMGsV^G9&!6j_ytX@X^k^j--Q`9PDEOeLq@>5MM(DmN zp!yM&w>Shc1mgT9U73pQLdwz&QCW{}Y7;zQ{(VSPGUYvG#Utu=x+;eAQb406=8`CYHHj2dB1OsBl3wI4e#p+Ou;t0*JDcN^Fp*TKP}gJ?xa zqw&_0nUlK>BF-{8r|{Aokf243ncg3G3Cdtf?PzinqxEbUoG)&>i$kv+WJ@rHjd&N1 zM})0+y!#LOTAAtfnwrYu0iJ2(MXOvT3aD0HN9`fnp?gj6l+F8RY#)&OBQx0kS^ur)U|6(9 zy%vQucqd&U4^<5L2xU?u^E<69ET*7Kz)hzQZ6D+%Sb=d-@*@gzhBb1|R?VgO;SX4$ zI{{UfyLSFxcWvuWfm*&Oj&N}NpTUlxbdIe!%_80czqSvDuIRe*4!PYyeWhaL;K54D4 z9%UWWlu~)}l=TbzEyo#*&b|!YC>~5q(NQPeqXEVk2e<#-U_;XA0k+~Kr1;JYz&6_6 zVlRa(g5n#XU;^Y2si22iu3lZ-bkNiKIQZ7M)IL$ z8h7=w$R1@>L|OnKV!?eRD#J5z3bMv0HuW(byowC-GHI*qnBjNrrfww_J2N%li~^zc zy{fvU{jr@f(5`j|KNNri%}idOC~zl~CllVG z=D+69XHc7M+u6=q$tPVlwSmlpF#JGO2k-5(J><|#cTV`C? z@7M40(~h;{#alS=>HiPAfpD=kodqiDdz1_H?JKs8==-I(=obLcpyJmdpXun_CNHLb z#wMnxr8O@QH{FPcANorp ziAgf*N4BbPR?lkzHzF3C0ATb+<;b^?3@%LH92vU6+?-RlXX82g7nbm#F;L)wd5qhF zf*BHVsk-9{dMO-9Z?NH9z-CFsxVMSFWfql_Hv2`W=SgqW=neqHxyWU&Y0B+@+bLqDRUik+QhL zJW1o)V0HByWFOwZMr??2SxDh^ik6^o)#IP%49(5&ftE_580(pz`eEmEzlv1Q_L zT-j@fu3n5prld4v!W$B{@=5bMxudyyVy*&#Rfu&32?~&0QWkK>uulQ|gMP@~G#)S2 zJG}JP<1IX|dD1^XXaWGI7JT@Vc}$(`*(=2zm9*qBZU>*D4(ZP(D>@-`XxX1)ww}1+ zTGZoc=1=tKae%y_=GDOV1OlC<$;ZDbENX30bTuBWG4eNJY$}UMnQNnfhYk2_5xiZ=h~;e&6*GAy0F5!zj9 zwWf9mrk?>K$>cx?tY=iJKsY4swm?7}Usw0|xZ($ZVbq~;han*EBD6ycmb4{!Bh?N8x(Gc!t}J`S)osHD z_BNed@+5^>{5!mCV7)@0Vadz!{@; zGG4bQi`HNPDE-*B5}Eg;YTDGPkR48V#mFZoul<&KXpQP<fI7=WOZxK3;_O|T8`W%*(rM0iGex(D||c3n;j zJ=pCTyCVhYVB*i)X3G$2B3Y#^i;XaBB84Ij=v#LFtSlOq!CqC>Q|6;TB@aTWv;sU( z7VuE0j5=efi;fLFsW>4LA7j6lVvaWkR*S#XPU!=@l^5|I{4)A`SOu?FNc+*189ZP< za5_aBGL=>2HsI2bsHmT_3XpJIWOt?%MI`8&m2d@YW^~>&}{`fYA}twC>_nB?eM9dt7ZcN54Gy zr;W{Q{6P!N?}xnk=I}ha`2DKynX4vVaN)PTcF^vv=onpsIuUXigd zj=2u$-|=;`T%JEICQ|6693~(ERa>x_3XK4JwI^{i5tpM>)E~I+9}r$dAwq1xM<#9B z^rBSe*hKYA1S1*CjHCUQbxmSrT@r(eU~~rp0|!oE)~gRoOb2Qo9HNPEk@eyzUu4yQ zj9_C-EsC#4kK{ixNpx-DjaC2p(2D6k48^r4Wp?-&P`*ut`lElf;=Ti)4X3yw_?Hlv zY!?1d#=BHd5q-tfQ2q% zvyHfNn2J)uKmUkxgyU|r2$G1{GSt`om?T@i*yk6Z^Avh>qTwA=)<3}qQfyF^9yoYV zbsfEm=!AlQksHJ=1nnndM8dCWgkwZI1^N+ltX!oXhi0f!445Re$vpBGZ3lx%7dN)0 zuJ!cwjWJ9)g|U;2c+!Cqe+4KQFd(AKq`7jjQ@lH=^Gd|WE&pP+cGRPSdVoJcF=-Je zS)EvHZeEufmO~{k`nQOP)l1z6DZ}}Rzd6~q5Da{z%@h5+-Z^6_S3&Kj44$>>DP@VT z>ENa(JWG$_7YyiwK^J@n>^1vz%~nP;;v$6+eB_mlZ~p-GCAw=`rZt!Q0QI}?;{F!K zq|p8B@dW>ad`nHx0Gr|nS*%0hK%SHBdCbG4R-Z$i$*XPYhwpC3uq-Y8BD+9}Js{!3 zf6d6zS#{tul_~Wy_R=fZ&;l7Lb3z?`Tv(8VV#AJZYwYwTuH20`3^?pn&e4=L zO6c@$uU(F93v~U3t_h*S{Won4Y}w}APqzEgI?Er#{s?Si`plW{gX~Hk-SSRd38`5U zP?3jVhk)3?pl%mUg_zo~oIY)^jhl!^`u07UnQ$2?ph#RObm7TRJd0lpgtCc?Pshg% zVh`v#FTGKA_4I{?^H+vuXX-_4Up`_SPie}=*#52OuHa)@0IbVx{d&vx1gEkgB7 zv9J+;L{X+vqKMzDREE!Uhh71zF}q`C!a#urW4fUwCziNEM`Xyl*{hqeF<9K;{|FXjeI73~EK#?{gxNpw zT5`WyN^zdsa>uiO_2<{6oF^br3GrNpgBWU87y3I5Y7_CM9=iaEXJia8!pOpe+%p44j96g0bIprOG39j=lX3#Q{&6d|qwrxWa|ZE41_x=i zzv&#iHi{BcC{9WZ!KxJ$@NM3X!u$cj2zhrFlFaw7uerv=6q%g+nZyLRY-7Zq04mmU z{d!*v4G?m*>M=nD6)or_VqF2d$&&xBTn=46aw5a29-cm+ZG|_9Ey5fVzi2Zr=4ChO zlo&|=3Nl7YfQ_1SE0}nhY+lk+rn$io6slhV^Tffi!({EU z7Us=V3t&NGdsbb|{CB5`xNM%w{kAv1w4M7EB0d$$DemMW0hxP#Kxv8UuLeFL?4qK^B405+g9Jx9idqgao2@5 zZvU)s8GB*S(TG)lmo6odg5oV9(r4h3-)SeQ#c)_-wSKeXy*$aftRJSFEgf#Qy=Y)ES2GPb` zx-^Q68ism8Yt*GZ2o9No_DHTlasgZDk&JJ5$KU_QZb4{cV#G(R$fS_Xhd&u*~I{n zs1|zVim67h3^-G~#A5_i=3* zV`qu&4EC1T*{6Qk87ia_N9ZJZ7ctZP&$~`$%QBK$#DTIp1GYH1D!=9LYrWslu)H3( zQGxrpLn255=BTsr>lZL9c=-1Om!G3}GU3!sqFE-!tZuda1pSV2iSD)&@BMgqkb-dG zw)tr-WKlhxNnQU9JKaW4UG<@ILZ!vCg52slIZ?@(%7SI5e4V~(a_!gL9LKr3x&`r@ zU8JtIGy44cU{MN9w)@sCi^|ro^tZvn%45(RE#NPPFuu@%$W+{n`p)v3B(bB+ zCy>PW>JD^hCbBxVhAan5767!O&GadaP7zPZUBDc32~)HutO-3eMcE^#yr$w1lp+uH#}Jf-?5&)b*Q&5wb15;N$Sxu0JpZ9Pm};AY!l8z2>g|3^F-@Szl5=3L5}onsCg3tK^QV@~TX@~UdGW$AiMkv0vN zbyfc%7AH^cgrg$By+v61douF$>EwAKmG7IT;u>sdWb{@4M#AyquWVXgRNvS3LYT=S z-K&G2xuV5}1ZicoUjMLG_+m4&C$lQgfn|c?qfh{ff57Ao-&`~sT)~U9o0z67D9Bjv zDTpul7_x}f1=nY<=ZQJ2Y1zQ@?(h4$6m6Ma@ zc)`u&Bup=W9_jgP;7_BWlRF|H-Kh%=gyd0ij|+MioaVx*vW-t{ecp}|Do)awlG1l( z0!fsDj*&!Z;IA_)Ccagm_y_)(Hx)#P>kN!?^`1u{3|27X3HYszk0K0q4g2MsuYx*7g+&IT)_`Tgg88q-5wt4voq)o zdb73GJHZd@ASTbCzKB}nM`Hyq0U6PoG&w0tb40`T=T6N^uH;CySzyM(=C} z7kZS(aFGrfIiSsiS7Um;pt5UOc|f^ygTxsnk+k%{{w;1!q)XE!+EV#YRo})0NJCSz zueP>%yE9mVQbQb|e|h^doC$r93827^UHYlH#_*xrZ42mt@S7(fJEF1YNCkT>>i%#x zx9=?_19BooW#!#KP;lomL7RQt%8%KdTR2li_YDYEF|RuM9ZiwhlMdw zkp@u=rzXjuYx#8S<`WEF5+uXVtWurvOE2OD3uu@G&^~BPk?XGiYEE| zCJJ_BzxqgU&UW1O<3moVukWi)1Lu`*nb+O!1Zh$&_r{07N&t-<&o}lA>)lt`#sVF9 z(Gm=b$yXA6V8+?z*h2q$E@v{1w;g)O>{;}nTsB_f8l z)cyaN_y!M;Gbwih8N}d1KwUaNAkYio60pW$8UxlWr?Ub;78gWfpsewd9Xl0mqV8co zrb>ZAg;?o(bAODz^S2xmt>l~kFyoT^>-%C-tZ+9E;$C-rR=@xM5}VX%gC=$a6_yE5 z#J_x|8^FwY77Yz-XQMvnP>Q&rf$Riyqeo{jn8BAvf5Fo! zLadTn$4x}I&@z4*Jt!Sq%cH>Y=Uuznrf%qp>R85_Tz_wZ%;J&0em3^N)IQ81=&;L? z9-M-V%rygO#}q*(sQF9G6w1mYus8u3kp|IgJODIdIt02|S>Hv* zNx0r9DcvHo!5})iJQTS}2dE}lrH#>9KJlXdNMGZ5lc+?&BU>Qd0yGuSouU9gumJuo zbNqxiURSU<9sodnlHfrIy?|M*Q-|08h7kgQ7CFDKjiXFWFg!MA-n@3Q zkNvMP8(LGo3Iz#Hfqlfh4W)@6G%wT?qd1Y$n?U>iX!^e;RdfDYVKNW8w9jq&eiBj5uLN+Aj2tsU#*lgh^qm1voLbeKX%1?du>}fHn?9_oSCWV z*c+@$&@~7D$`O_I(=N8o~HU; zaeRM0tC4YOic@y>TR88e<&-JDJElf^dQY8p_TkpD4!#V_QT$c{Mz@4f>EWUffI%@BaJ+BxRr%>e4f)zD*t9rE~b?-|`?qi5Wv{H+)nn;5O zWfAJ@ZPu%k&1X^aRShXBEEM|+W;et`i)%zX+aTMzUVWD0XjI_zB-s3?Q^~Lj_37eV zHov{IWe!%xuhFLg`NCkillxfE5!j{kG8oSDL>!3+pi7jF2hN_zA-JiaE@b8a^}xlO z-xohfi|BK~vILsq2BxiNa0LnRQk^Y|Sn4GCyYOJJNvjYE#@9G~3q_WDlaN1lb4feM z?sFB-AMu0;{=%Wtk->d5&z`x*RrU0w14DS$v`Wf7U@CB1tMqUY5R^N`wt%_+Vd)hA z(gV^^%Mw3hjFkZ^Az$LT)wk5Top8eJGoi;*)isTGC0=Or) zynW}+i)=C;+gi8HvCOxl2N7?2qB3)H7RIB86*od6UmKA62F(=#8te8gOhl*S`(!g_ z+*lTI=HOGskyFK9-)!p1s3UNQLcGxETiLt zN2OeMj4E9LbbwY#pfpiqqF^<$OUub(`3xVpc(zBc(#MgyK;iUbTvK=ucRsb~%;1nh zxRCtEmMvdEV+(h@u+yI`AJCw)px@x&3S7=-4hI%dq3V*}1vDDId<8lX@!tvDj6Oo0 zML2kWb>2>lLxs|~H}z+1hfbaPsbNn6jpFrN=X^r7MzA zXEFkMhw4wsU#?1y9wlt4HAN%q}py3JqxPSZg{uwRDAHB-sv9ozpaC&EMkupIldC17%rzFJr;_2((`) zkOkv748HgpEUtx@yn0n`2!n>s2b2c`Ekhr993a?XO*G*&}F_=+?TkuC?0#g zl)dOFUn49P*PuUw9z|YY((WIo)$u5QAXVzfk-UEr%>gVMAytHbZfppga8d3329Zu7 z^WiK^qo%??XJ*Wpn{9e(-$5*$4v~#iH~M?&X4nn<-^GUyu@Nj?d!KZuTG4eNJ@2e# z-4XMtHw-?yy#2)?roi{0Sim1i+*V=e({S0aB=xH`iLvi_I7DD+*o}k1(Cim0xzm! z@epx8Ek6d2UTSXwzQFHRy>Fieatk!OwSS28aZJg@bqQf6 zm3RX&k?dz^gjNff5WT3!#uqH=0j6VVTti+dWMCVHUZ_%K9Sx+IOX*X%3$?o~4+jJ! z?fbZN;ll5k+NYou=&+RP4t=v*Pc6WHUqrM!n0ukuGgrwyed<(g)Y=8SQ1heL>rOYF z)w;{b5MrL#3jp-6JV(ZIXfSl<>(T42eRVZ{`HAXL?-nxJO83t>-#P2_MC#z{nwxHd z!!2L4#*>x{^M&daGfbnjg61Xf$%RpQk4X zohMQ7&9gZ3IE@9i%M1+4VltMH1Ei1uPnAtWlvQG)AwwYt%HBB6nk^43YQ<+BE7t#g z$|v1O_x5^A{U310zUbC|!>xk`4|b01ZIGUjcQ~jLIycd1-f7GIj`rUhap8sB#%7BV zeHJdsLuIgoVZUzZfO5TCHEq^RQVL8hPCXs<$4p}37wXwx_cl#*sX0h=vBM3CaTdzJ zy5&Frj^8ixC}>UC7(7s>fD34Re*fy9AB*Gr4L|f31Eb(1JRc1L2@4R5a&M{W_0guT zxWzywR9s(72?~(;N00ozuW}pZi8v%Nq_s9LaV()-qC?Nerf;r^f?B+h5vzc0&7SkO zo{|iSQ1^<^An6546h#`h-#F=2ZBjZg-i= z){OH_!NKNAyPK0U&BWyLfkl3a!Ar*v95RG_Jwym_DTYA+m<~|;bbf{Ct4PFG=rc&( z1f3A%P0jUZ-3jKXMh)3TAO>*m8+e`CO`J3Egmb5N*?5WIQIEHI9JTU$?9zsWU_}?tAE~Ni4|e2x}Z)VCLY`}re`-a&_W&3 z$y4kyV;8Vx#t3nx5Cb{vS|-(1?W7mPw!{snfgv$uN0l+ITWO_)zo*y}Q$cQ+iTb-g zZ5ly0y4|;>ho=N5ueL-XM()?p&=4gvkHlg&yCr*HJI_&t+S~(#B=(_HSj<37RaKnN zP&bVc!#1hiIvSn3xHV@zIef*!o+V4qjH&O}UJGl=Qz)3A4IrP@i=th=KA1jYK-JJF zCUP&bT~h4FK#ejmtHVJvWqi!EfP)7&ettO?!IN68k_^xQA+9`~T|Ewm1HtA1bc&GY z@82@!4=72@gyJ7o1LgDxdH5}!PYGz-cJuCD&}3-JWjeKYE@ z+aRVT&n`xEJQ>}E=It)HAd%rD!)GkPmL=#yNAtZXJD8&Lq!$kZ*}p30P$v_ z)zZMMgV8R+n-ck!s0}|95b%W!RbL=6G-=@k`?2fu71|bfM|R|aLU6Lgz6Y!YVv0b; zLo{;oqu3(e>MdP*To4_|Pi)R0KOM^AKZCSTVhy-s$hyk|$B)bC6PlHPd%9RHOoj0g z)=yX@_0S^AF;(RhRWMf|mZp(8Kethg;u6)6 z7MMA}VH3^BF@;b z6hsY7Y_hDMW&bm8zTb5m$vdepT)uw&uPJx@YL$V#g+#!vdDQfFZh+q|q=keo9 zW7*qG7@&9=37#Dw)d%gmnIv|cX*ZOTi-gEA0 zg68_+K1KMY8=F4#-qJa$s;ZJ11m=}K0Vg3}g-_R7l3_)0Lx6H8K+hh3%(`FSzKx(q zcnTZ^-jM$D-bp~wN|3R(#27UjO&pTw`6x(kg4oRjMj&0vuqOQg;A`K+?=+{P7NcZl zy5@kIPv}{UP74TZD}mvt$K;zsw^r#j`TIbVN0@mHXZ0Sl*TdoqcmC+ttJfRf1Iyvr z?_o`{V|DJXVrB1st0o=DZ39FCa)gb|ceA(lYxmQ^Q+LY*0NEZ{{`_}S`!iHAc2j<1 z>>S?mDF6d8Bm4WX!mMgc4X}FNR`s?SIS-?1SyIe>YVMJLV9t@-BW&}I!OdY~woIcm z(sX3qh17LSsYMRkGfQjKA|ZVLv#lX6v&vJ9EodMp zqdeR!Q1ziQo_5FL6hM*iP0 ztLFb<>~M7Xly0&f4R==c02St2(992)Su;M9)38Q|kBDwV$UcB2j%Ury7TD(0jbUXt z(hj_zP>A-RU8pheDFCq~H#Uy@z@Z5V4NU>w?JOHrQ6^tXdrWE7+e`odqv}k+dR*JJ zZ=RhlA@&yQADJac?qcyQb`i}ewVfO z@$LN{``CNGYf=CI^W66}oacF+m*Yn~^MQK@(CkPc>(RrE4d7q86V7=&jeUBczC(L3 zeKGO1ke9hddp`{&LNgXf?xlH_J%!Zm=-RN(L5}1D7QTEABc-LIyibuR2_7B!M%!Qp zAplC~5BI(=IDo4WCCfDyzXIG|8DdR5W^(bzv`<)a$z+N&&TwV8T%AC|sHJwWA*zOB z1n<=H?-q{JzVuQ$W-J1=+3Z~bJ-Y*lG8NM7FbXbaTTK8qq_27RGWD{y zx~{hN=~cd3b@K^z$~umX5bCq6%3eL-vUKD8Fw&JMEP?EakpU3YP()sZrQ%Yg%)la1 z#!GL~fae5j4`esoATtbOnAZ}AF|M<>_SJtl)l@7#z(!P~CEN)z3eqODO9p0UdyuTm zY=0MA&jtC;DdIwNUx#_S|7RUGFnWESj0TohhllguHu8s9V*sPe<0mP&A*Qp z5)~c)g$HTn5=S`LVz6MsicpCD=@bhTNMM#kg-yJEph`1v0zve_PFYLdj9ZFcx%~Q$ zx71JnIUeos^J@x>!mjB*)aI_vKK}lhqZ09OP*=3J9({$_h7CoNcI{77Y#<5i@M9vN zdfob;le6jro?(#~*Yna4!O8k-kX$$P()r1Q11Tly8VS`kzK8Lawb1%+C%A&pHjC3O ziCWvGLkElZe^-oLalFJWqAG+{tp0oqsP|rj28n$zZPXU}W_g39$qpE2p#jB>tO$); zuO+M-YifG0Q>%>#?Ppk6ct-!CRVs%wHnF9(f$XY>xf13VJ z-c8C5nT`;;lUy&RKrcH5)#nGvC@t&DNXnACLUhM%bdbUo90ayuUtGRb2c$-{C@eDF z#xxCMxw&nOivj+wVZF%Ppfq8=_ym4N|B}I%*4R(tiHc>^(UGfmkp57d72AX_?YWc0 z@S6>RCJQ<%MOBV(eH}fLR4ams6%nf_d!mLogU)5e`In`9ncO;Il$j zI3nZMhzv?R#~9gS2I)$b%H|Wqy5UsYAb@6E785UY#mJsM@VuP8Fa%Z zH?^^2uTFHa;7U8px+s(QGHo?uw^7rRTs?qq8|B`eI(D?S*}4C1SVJBN>@wk_+t#Y? znZM9!T?s69&}AY>9=tRlk9K(@$qGJ&a;H+*u%Z*spRM^GNO7t2=352PTz z0hQwm4-W9g9hf|7z=*Q#bjLEfNe6-gI@Y9i0~8fpYY1ZUSD!!IN7y95Gl_7J&;W9x z5%3z7zOkuk9~`OpD!d8C$2z&xQ>&^+e;Snagu86Nc*89Bz<1{fToYZ?7kZo=ziwTP zrs>9)89yUY=Azc;x%UdLo&0&qht7R&9k&}cYxmJ%egC*GoHH4@1wd6PqfuQ|@;S1= z!z*5%xL2rtn*MgfE6XTUw@#5;f>BS4jtGoR63$cJRo7^Bnh8mQ98g9NN5JqzfLc zPJq~wrU6*)q_{tUml3{3%#u(#K6`DcNt?kyM0c=197JbmHYz0{2&f}^=#G9xs6_xs zr8~g61vp*&UC-sy>{;T0NXt{X)_ncpHig`5T{PTXzGbE-HH{JkCURv1RN|(HTH+3TQyh8 zPDI!AT(g5#gfBI<3>$;s3Dbw!I^;cO*NPq6t?=+*&qLT=?bnd|Xo|o-l~q(2`LZ{j zYPS0$svN_$YrnUgIA*`vu^kQkm0Ek!!8&_v83W)86g8N>fyRJ3P8Jw#sQq+N_s|8a zKz<8Qa2m!wGLS%8AqpB?GT8rutu0sA=qlc26h&Km`ee&*)zz%CZN#p6zU+H`V8jZU zqAqw}Cx&h)i-b3!qtLbb-Y0VPm-J2!;$MqeO$JAxl-U~C34?&czk$Zdn;I9Wk$;(F z=5Nr0qK#Kr8W=JvL|viF%FigTV(CjTA3r{NovPkuXDqRK;#tuAyI97X zrIK-+(vmBD_0jUT1QTsdiOSFHq<`u>{L&v0;p8fxdn$@W9dyAofR{#Lb9nJQ~`(L^8dsH9y zgNF`**3>m~909vE0p!!!c`NaYc3gIM37@2*vI96AtosB(0|m0!sA>$0K46g`{WpCN z@TAl@&Muz~2Xrh%TTk62`5P$@7@eb=TQ>5)mr)Kvh{!5yn&vsJ748moj92D5QsHN# z=_GWw5xWx>-}q?%h+V6HnZa(1k;Mp`dO&8iO){R%`FrKMxHp@?2DQPkNXIgn#tipo zZ~cAt=bC4Ahy{o`A#U7-Av%khdKbHXWzh5TBvQv;rQl%5vHz&6NoTe6O{W*}#$W8@6N=#f8bkRYHgo3%3h=zDqlvh#K!HpT{OJLl9T46Hv$P%l{qEkP zqNL6pn)%`)?Q&L&g?HAifwz$fG<*k6@jAK=U%rV(cgm<38&f6%xF{t6$aXA_fR|{> z%pvs-?C@NuChnm1<)`C-)L91J?rbMnCLJ01@brw{NS(lc`vRZijI#%3P;fsoiP%=K zTmd*k9MVGXXCCZ5Y1(}3!-Wx$3@y{Hqsy>Pru;xdDw}l^4O`jVPe}Yi!60vhGJY%L zC&CIqAnRI9T1kB*GIt?vV6I^*oMc^z`%*owqLDCZqmpos5et08x>Pv#$wFeI;-Y=$ z!z~7RNisqn5$*?kTCTrH#zNTQ3d#chn!0aqwcjpeoIQKi<2Vbi`{TU~D6u?Acn4QI zMvF5*cbBhTjgIpWt{L@hZJ%rWY*c58>RsR?rjR|uHWu>`sl@&h8pAL-CEnbN;~+&1 z_-mSa=C9M=d7dh~E;{?v2NOA4q$xCfF}Z~TNW;F;?jrXPkvv)>5j5OZVpY$tQTdCF zedxS9c|0QT;Fo{e(rwO+2YF2IJ}Mc1r9Yt1@KK{$zNvxJ5{xx}Xe3gNOe`_JGyE&# zh~z15AV&PvE>8v-RqrEy5;sTrCQ|Ma>(ji%xy3|{$K z+X^K=LgpBo#2u(to39%Jz_i!!q?H-NrASV!@Lq2xtz-jO#6N#-nc( zD-obJzGx$h>%c}2Fd>so1Ohy4YZZnpG;Yb|e+m8T+K>{*s5`}cpYISIk)aQ?Lr*7V z3G<~~YukXhBSpob zzdn&I#I8qpT*i|yg0NcrdjeRq!^WCESL=R{k`5~Ndg*iNMUW))dgqmLcb$Rm*$s2N z41g{B{2FdNZG5_^?zFsz4{Lj7bt+033%9bx-_pb5{PL?Ok`KJy2*}o_p`(&gkVzBs z_CBF}C^?Ie$HE94ZaKokemoPnfN~;w$=RnX< zS@wy}k5#tD#~u1d+C=Gg2u1j<|KnY6UKM%6BUWM1-rn69r^zH!YZ~L^$bwoJB^){t2mk-=-(gj z@Fw-^3gvNZ)GeVr@S4vWpw1e1N})8){o0DR&G{pEML4;+nNgcJX9dQ7XN`_)T^B6^ zsJKHymuN?6xz8bd{sG7tD(MQ7gzm;~vMLvhp}yMpe#OEGz|}0U>;u$J1FHY~yAxF2 zuh6OY52*Ee0I?83^T=N|Ek664w@$U2 zGNk#4(WC7quRY6#NJ76X4koLJsW;Rn^GjPci)Sp+3d$VZ$BZZ!` z6U{!hsk@-|SrXs)nn>lqMSpL3uweqJ*9aK!W&cyp#?ds8E>3}Q8Qo!gA{+0jb;oHSHE-vr>30f3p~LTY+y(T+Z{&o7f&(Y1l%R| z+mI*Zziar;Q*O*xGCqeE{CU!!X*- z=8i6AF5ENm9|{t3aSd_xOh22aC977!YEqfOwb&goN9^h|bVk=3OM+OpV;B8d#bS}7mS6}{dL;1L8ezvmVY z;;`f5C2J_q1>mbXi9bsm#p5PO{wxg<0$W~2FLDbKELeg@53~4x!k##6!8k#D4+ts( z?va@gL(x-;9UE#}>WJMa{PG^xafD@e6|Df`3!)X>{u{a;xhPDfQWk)+me54W0oTDl6o&DRv+S+^Z5_y%Megq9CqQ>(qg%hR-=OJ$JJQBZowk_pwF&$S>Ru3kvdNyO5 z*dj|^#kx3uHQ-nE6#o%sc6LX#%jzdSKU%Vi^z6=pV=5$B?E{;6>&1(%?59T3Q2o-Y ze3*Pka$OFa>uYs zT~S$Vimk*r+N+44ebx?b8;xBZ1%1yGtcx>5b`~+>1~lnS$MTj9mMGoZOq*F$xT~%i zR+w%1ynSFus42BUv264TENsbDGUCBpQEU2UFr`U^AVzqc`0fG{D0l8`Rl7#3y+8WH z3xv1Y1=gwgqTIA$Aj4R`ZubQ%An%Aw5wQSJ>t1L6nKLBdy; ziK$2TfWox2$`V!Te~I~g>R;`j-EF139G2JnwZS2;GXSSZ2Le}2r<-M@=<3|hy*rN| zw)C0eoH_rP6zhWz_Bc?piV)54p{#&_=iW?1`*=||+=;qV40ovLtu{ghW@O)oWD~Xa zq9~AOMc5McX`bV{ZjwvjjJ+f3`w)p_A30-sQuDiec+d=O;^kfWa&*>!3_M~GHBs;| znJ)%rEoNAEgS~+DXu)mcVf*5b#Tyc-FOawKsFcStP0QcksuxAiNzmIuCZ>r`JDdk& z=CbO_?b70rRBUWEDx^1)9g`&cEAE%uR}RlS9H3Tad!l}WY>)8J?5cxy!;fyXDwU*1xwdfS;JaJGvOylV+B`f%_V?ikOJ<_R4;kydG2q)`(hrsG zDRfwk8~d6Rgd922g^IwdBnim#L0;a5SOq&OFlu(s=+y;}9z+6-KajFKeQvk z51+VA7=$(A-7+aK4)o$>O~Mr|?iUEbImW9IMT(6csNDMNw<&Q-071owM=lh~WsRk_ zILRYG0$93*{OVGw|JmPzTu}>PWi`{$y=ffX9m{{Q?c3_OKHMz9_Zwzg(YqM z6_&u*QlPXSig=kKTtE2P=n+}+_$%*mXYu<!bZSkhv~(SUQ`kv14LCu1$pA50AH_&4PkuxBV+Q%MW zzR%*9AO~bQhVOlEfud05^r~_Y&3`N6jR4s3hVb9j zzQulDZDj6-pMs?MbbO;=N`HKk=nx8FZ^@Bir%zAjbt5TiiA+d$&aAEoX(<<7tQV#$#=X9x!7*P|EJ#5i~O<;n( z_6->`=2xP>D=$b?_oz)Qr=)0!(~P)AHfq}R>RuxtTz3|G5mAAU1To|Cx(rB~$=tF? z`p9cq3{1$f1h6gi=^{s>gb`W+B9Rv)K2nf$G9JpS6+3a!{81&%LJ>j_Za(M1!OC5H z96A8={<9+;bx#}3y>ep49;zKM&S>}Y&u0)fQY)FDz>pirs1||FcvOtac-2!H#>)kw zB}EI1cjgQvrZTmTcpFpG8xOosxVWx3^}KPTp@$kFgMpSvQ| z>Qs;RiE1y&iArT%t`4}#o6rVl7^(ETv~<_km(n9a7or6;?+yh=ngbap=Z zpg@+k0v~f*TYAOOaOa|Dg200{jsVHvdAIP77PSYZHUQY%`Sbe(|47L!!GiX`G0Hu( z5W2(!=|fid>eHNyaR7f-o7E?XV~?0*JFsAdymH0jIo&36-sM5QvTIw!UX}F(IzU~u zadGZ)3Ieg=!PB8kamrHF0RvhQ>xI??Mmn>~0Y6;KBPMBoqLb)Lg5yNXXap&hvi~IM z7+d<-J4QdSe30_+<;$1U{h|{`<0c#Ih&X75F}b+SZD!BII5Y-)EGg_*F(t%Tv|5`H z=hOMO!HjJ)yT-ivd6OSDWj88)tyNT15M{Ly;7#*_2F^@W*Oyprg4{%7v4u6xPbG}n zeEbhp<|%TjSq+ht^>s`^5Q0o7KA+2%FZcXOpK%>n4<;-oY3nt<{t-$r@!_C|+>)9K z1U<^3GR$|L9?3!eA3RyyqBV)=-fbNWa>msZ7(iI z(9K__8jbtcvr6QronPi9H7XPYG0V%|>I<}WCY8F3kAgEY*Dy^zYs2wL=GSKDyqKh` zC0id@i~Q4ICv8AOw*~h_wkED|$2o0SF8zor9t|dx_}Q*ngQF~~OqsHmU2PI`Fr zyB3SIS*m>sF4@dRSsPShP&amegBs$dYfO5%7MOjnf=2mCEuj`1!oxn-te&2Oh>5caV2Tvw~%19Jf zU<2}KnITVJ6m;~A!G1rrkcXax45Vw31U$ZncvmrM&h?OUuy3Eih7Bom^E4TuPNF~L z&W2GrP#q{SvWR0I5Lw{P%HMv#x+0tvNSK()u=Y53i<8|Rd2gdsMZ4k#3dyz_Ro>eL zmwXaJOHgX43)Yl}Pjtjp@C_+94G-6WL|5j((w{t$)s?jQnLK0a4>1#i1K@9gv~SO< zUdK?H#VXN;V>foa)j8fJWg1(b(|}rO^BjSw5?uyVJ4o0C-Haz`5uv_w4`(MW3CZ%G z>+ttVf6V;EhL)Z~)I5mv8R3h>Lh}uD(J5jwebdatSSAf{CY&J9-b`^CPyGSHa#DF| zRXlA8diYIOuU@q*9sJuB+C~6CVf|<^=^O%APtG@i%SBHpJqV?Vv4P@AbBFv?zTahEQAkNCt8w}?F%Cz0VR3S5Sc+enE9f0&bVofxK`5sDRsd`I1C z!20^!;%jvtUo?tiGff7rK{H5papb_odCj4Jp~@5gbudT){cxY|l{k6>T$qSVkRCAX zFmBQ$Kc4nr+Nh|T7tr-cSIzD}+Ly0tY?w4 z^L~~yutTKXS^`-odyFuPhsVVQEyrfmXXHLbM`SCb)-jlae0mS=&|#o-=}sC zcPbCdj&H@R4-BHeC;2d>%Q)r~_4{kA0w~ORi{tr_bcYXMQgH*=g5+nfj~DyxNK9HO z$XU0d0`63igt)?p{9X?ck}T}r5}cxDHiss5LFHAlu-HOge=+Gi*nNWsU?uDC}MgAheR;E0%jj~gXMJ>S%> z>iIXZBHsQx=y06iXEi%itgEGIQbnaa9(p86(BB9gji@~+Z65EnYXu*HwmTu=C%jg~FwCu(2Bg#K0Zhe6MnqN&2B`n*m(5n$M z*fnh7vY-bI1+l#n6CddJJ4^}Af_7{=N=vn*vsk!-OUm+CLR^H&^MlGYk~49PwEX*2 ziWV;xsiC=c#lDFzHy~x~6BtSXY4T?;e448*HcNDt)a?<})neq19v}?M%Bp8`N1Qi> z10Vxoeg+pip7lx`80kXDct{iBNYYBX=((r`Pd3hKueq$E&~*3Fh2V3L2>sq=fWnC- z9>|%DCNp%KHagfjdfE!KE@^nmWayV$$nY%NaQ3j3=pK@CFRY^y^Q9kiV|%B2zS|LPiW8EQoLM5PY=Tm`m*v9#R&M+yxj+B{WMHFV>;98csQbQ;DwhUA+*@o%Vh zX134T5b|^nW67@BpO}i5W{TnzKg2kVx{q$-fxZ~_dvV393sI6~uLJY{m;r;A-ayF2 zKBd`-pZZe#gDc6fAjOstj`(iv%^p7!`@*h(dGeqsn(5&fYTtsaj)_DT)S~XK~)%ap@^*DQ&s3tY~47r}*{1gUP(18?-*R!E$k-5F%ooeY-EY3aYzc;H* zcB{b<4OO{Y=W(0yS{hij!ot)Y?H^xQRJ)F6s`$sE4OQosnY5t~SgdcpMo9MWZtERQpb*L!WJYNE9O%)pCS!KBh37xP0`hz!jW8D7Qn$q5OF#; zX}&LCT)b`QTqc{E&PQ`4e3`4Ot?T|;`-yyeIFHEb2O?u)vOv0+*P4$gCVyl#-|jYV z)d$%K*I@zQQcL-e_h~#U_#*zqZ&7iP&_%gI-Spqm-T5BJK6(Me+<@#tWeq)Ej;+R6V)i2+%t!im36h3>@fBI`TSI<=PH`#Tm4-H5=@(&fGui=c@M?LSeGGoAij{y_fbF`f+ zR#434G-840G;M<^CMNB7-GW0zmeB5{1uY9ShB!=;F(=Y7U9y@vGm^MWr(d^lYY1+5 zbm-UEk4yXB5VlKvoOw*}5mpQO*(!;fz=q0u!(`SpB4Waay7)E4?lXcu)m>fSR4}2D z!MJwU-6z;}G4*x7+e>LeLf1sg0rzw+W^|9ui8*@Qq@=$^NoLk-_m(Rb-{~`BO4ECd z?cCScHB@Xcq2uf(`d7#PxL32K)sD2~O@gaSSJ^8bPcF;ue1Al>mqT@;^L(ooDi?>O zn)=K6F^@XQX9m4%caN5zV#Ce7bT`K_hb|NLj4705fdh|97lzC&QtQh1EdrMd%gBb7 zA>SS24o*gT5Nnsb|A0xK@|q2x4Bb;J?~h`NLYbtk_YbYS;^@wT}PbnhpA`yAIzA2Qm?K<-p#( zb7$!9vOa^OvJs`U-ctNK(Bw>356nR$GT{EgVf;pMfaXG}qOp{mzKT7qOJ|$zmiNX4 z2)ev|<9hxDApMZE8{$pbt`Y$@3P(A$>`Lvj@MC5R7A~}4MkTfCk?q$q@46#PN0{!W z3REGUq3?COfDnLC-tPJS4~m5&=Th^3rH9_nxH2)GDYXl;TX;g{9&py}d<+`^a`QCV zzrAk#`bUdwewKO}=|{Mvo1a34^%`|z&MP+JeKY%*j4385d=D|7`?E7w0S2Zs$F zg*>zV{2QcPrx8fx{ti+YbZ83E6*kuhG%=65+9l^i;~LO+^oG9Mwwd#P)_Hn9uKiie z_gqQ99|a1{gG|1Deve(JuB4imgUuM95k;rG zC+iWnW~EGuvNR`}-3!+7dFwF(E9}Qd?k}A8b&u%#{O=Y4pcO8n9jEQF*81i4&)-3) zNTw8cRd+MR0MPzNOlx`~Ox#Xtlv~;j`g4kTQI5v5=hG%gNxzai#$9;}jYo^r6FBr) zyi-%tV*BKMwh}U6Xu{;IB5W{~F~q>yZ8u);Wmc8X8$vf? z#;5p;*suMqL!rJ|y5X1%qw;`HwVsr%eL`1;JN($Wp$Elv*70J_(|bzHtREK~XY}a4 zXA(RjDEkB~pZ+>zzuuo3Gi0?uyF7SB@ErQX-n>AH62#p7)zwc;t9Wt@)Km@&blFK# z_(LS6rX5>=G@l^t*-)Ccyp>?jq@cZ5mDPgd^IDK7@7%wCHh;q+`mV32mUO)@?)b8H zG}KNwcOYeXt&)z_1D4GkM({or3E}De3pF67d8s!|dhHig4+>E)_{Wt@VZazF4xD{{ ztN7)X*~FZ?K{1ZqZZ0J-mKgI_JsVo@Fxy^Zso#V)j7zC7IhN?fvHDPOb*!8f*`2fV z?)U>FJa&aH*irkgYJJAl*Zi2QALkHqO`XSP?Y$8Wek)Y5XoKPHrB)wE-^&hPuV$9rp9e+cAL5}#ZmUbu^IES>P1%9=bPv`P69X3#D?SzE;@ z)L|W`CaH+{mrRMz4K^5<T&uxU=6WHRI?WgZtf4zLJlamkJ*!h7E zcld_qySy$bX^QUfbiNCmNy5O)9U5{vP+jBOW z@)wa)`PsxSu-$D86jG0}PNtWZ_OFtykFVdnX@LHdA?KtbOSax*XvU?aCACTcM`koH zoq3C9`zAMPP1y*c`S(DkAI!b?KhG8$+4I&5; zRO;0OX5KcgXFY|@*(HU5K2^Q0W-zF!`$MDq2K^q8US~Y6un|VP6%e53@Zrjs_ViR`R+m{>gF%PJ zN9Vsm*m8EpWq8^~3VKm%*pCz#*znl2rinJKlkM8D>GBg(bHcDz0gw?TE}mx@q+PjkH?4S^kjO`Fl_I-u^5JpQxC-2r9K>Uy-o1FtjBAo zz)mSZr}XnbIypfcol8gmj>Y#fV;Bcj@ZPJp>(;{#1B*o=@(~Z~TqVo@zYM$01vYe2W(kT}2_ zn2Q!GCOfKh3x9(GsSP}lY-gqoYKphkf`LwUGm+@3V!TLcxZu%QX<-@FSkC8md7hn} z?Pn6Pg{hTB4eDc%O$Sg~-Xgj$Llm9wns$TcE^T@7*#7+uy6;(devY?yokqzTrr_Qt z!&j&m+zki;5HaZ4Zd~NU)CVQtmF~=jZon#IEhh1pBeqmEFYaWyi76D1K z?t7X>m}l;2;&Z*;v1xwjdVnrB-zqd1&{2-c*s%pMUJhWMMq81L1Sf|6C}zF{?qd_% z4E%1$$_;YZ*Y#tb=epcO%O`UQkQzR>3SS4!w7-tzg#AA!*1xag>S7?%0WHXY)niYe z1%KUQ6FU(-*xJ$E(bDOl5S7tbCS|9FSN2YZTDwyB+mrLS;3v|Cn`{RE%Tgok;rlOa zKuntdXb1P9r>17h^{Fr4x`W}8!L@7qTDwd{-N6)LJR)kwvvsR?yC2tT*Q}kQVk3W} z2HY2J4d0UYA3rd)MTYB)D9gPj5wwqUi_bUMT#qMY9;Ij!(cUJuBl3VHQ<8EgBj`*Q zz>)MmkA_Rue4hgxXK9rJ4j6{KdDi>c&o9eEav}rF6mvQ}1cAL}xwIhkaI|kY^-CNM zPxyj=2uG2~!x(~$-juhd>vgiVSEAL0^E5C*^1Gn;OGa{>k?Q7gJvV_(ag_Kc%GSaRm=5F;Pyo9 z`{BYpzKRT_u6kA+xPc@2s`-Hh=?4GUmpV}t zaN5eP^m0)o?g3a8`{7yVotw)|g7_fT>UxQD6~&G$Y?pP80E(UHz0aSW(xo|PWdfo7 z0b?GRp9C)*VLer}=S-wJp>KibucvUG@mh{YI^T7cf1fk=<3{xB*NhLe$VWbMiX|#eFjvKyG|e`_M`AQH!%OBgiqEYcT6sLV#!yPZHJ-( zUiy4!Qc+%uaJMMCLFnT84fZ=|62aZoe(rVf`0?G`_2tQSU&{)5aIObW8EYz&e=s}e z@BH3b{%4`=!6&a+&5?nEA|BjM{IA7JlGu-g4_jTVlxtm_tVxgn=&x9G4rx0M${eCZ zqGq0p-UXY1yhx@G79_3XD=TowW&0C~w@#pBTLBHiNhCjOYJ7jas0YR9{!=b5MbM^qxGVH>GtU(JEgI= zIR5mYpGO78&m7%7`-I2F`$vYw?Vq-J+$MU8xv0;3s!C|tmBO+WKEAMY2d%~) z;goVQAbkhB>I9isWj@v#HL44Bp^x35g{G0$=Z*uQ;9GGa3$=baPir{kzMJzhs_wAI zrR5N9tZ7Jj7Jn;0Khga69(a+2^v8Nbb`^wKNBa_k!IOEL5$>32cO=k&E$_Ws^kC5t zG*t^6&(XCK-H35Iu*vEZ4`r9kJnY@MFhEWzXRS9rJURRD|6xzg)u~ThGZlTR!Ru#)YwG87q5! zav;CoI%G;-pNS5>JF2%umDXZok#*|2VuoFPZvE7*)r|Fju<}v5+Y4(YGADrh{9_mA z*xT=h550jW(tWR$G?h(&6VX52QC)f?pK>S;TZo4nOInFHuH+819m; zhNg4^iH7&g-LcL*w;;m316D4ScL@UvqeM@LD3O5SWNVVj-|lwXSrn#4Pv+ciH^(daDpQ`K>p_*WFUew`Hz+39uM_)V0+( zPu<1&RDY$WZj74=oNJt*bN$;Ct<*;Pp>31x?A@9VHFc*G6B9cbK=cUMF>$Jsc?M`$ zCzra!$M)k9Pn6DD_3)%)eD{#4P2y+SWq$d{D#XP;)1&hZ;~v{?Ee~l8JR&>GN&Dg& zRF+cNhQ3}_W8h06AD`9pNEN3VX6;B%IzB*uCWT>;Nn_3pVjm~ExdC$wK2aR{+6`)| zfVsxm+}ii_f)C!Woa%9JN0;{*Y1?!|b{V(3Q(XIa$Nah4%7n_zWYi;LHctjf4LEj| zf#9Bp?ouV~q|HM@FnWzQ#oadhIKOF;<58rNQ4-#x4JE5truPCgpwQ}xX8^g;Be^U2 z6I7jF_n@?@>O-TytfPCiYli&f$;g4lKL@b(C!~=vfhq3dM$HQ6dNGsLbUl}k8(+i; z;u#3!zr7iQ4nF2lODvQA;xgK?V24IL9kodgkdlULE7~K-;=#rq3<38H%-kCsyhyiv zEqv1umDU!G_Izq|Y~tl{t320_?%oy=%bEPaUveh(2w6G&Go5763Z)hkf)XRg^*mkK z$g}lk_*qmvt*9FHOb(jEVGO@?#N7hF4>V$Pnmv>Ttz{nrmk*t)ax=(KR7d?lK@8Q$Wpd1SJ8OZBR2C^%;*3ZYW2C3 z!gIz&S<-5b$=}E+^P@*XcD?glfu2#TCJm(~qeSL*rEyxhp|^;#16S|5ikQUS``0ST zikQ(y>1VS(X&3>Yj2C!q!k|O8Edzu7DF%aT&Pps~?&A50jI)OsfY=4Iq|v-{m(p5c z8YpLglNh7fM!w?Drzgcs6jv?k^anU#Q2Nn>oi+CeLGKC$_Q>W{SbbWe_b!2-E7p#t z;Z4oCGWbJ_6^i8|8i9G3|0rHeTluJd5DcPjNT{+ngxGCoe9bZ#K1!~8pdEi+ak3q? zX}m$l06q0gCfu7S81z##44XbHrtW;uGbo8IWTt*WCX}G39>kDGm`)+kQenpG+vxp; zJ`{o^jZ#MJc%?X?Bi&^tg_pcEQO4w*o`IO(2=*+f!85>@crzw&4yW#o>wonT4|>5_ z-~lJy%{E>?>d%hq#=Y?a)k7KcXl`*s>rE)Q=1~hNk6x=y-G9BXTqJQ~e9qmAS!7~n zCIWJ5$HHubuV(SRV240scq3@DS|d=n$$5+^ZKY|gA{zrw4>cG_noCVh&0n^3vvSMO zS}vJy0fQWOk_H66TR9SCzOMcw@1NyOpYK0B1ZYtpL8Ys2L5KC|IOIEZgfR4 ztLxGil?jafT(?Ufuvt+PQ3`DZz;I&hNqPA4p5g(A7A}op+h;W~?z@Orjvh}Dx-}wk z0mp3+cU4h8%6e5e*AG+OR_P>gEvMQg(^F21blTA=r5WVY+V>HM&g?2h8YEN=XH!&- zie-xz)he6)aPr%>%`n0|f8B}CyLPo=+-e@|PHT!wZHojF=Sia$U~!+KP*Pn>^t zrg%bTgxi>X(O?uB9gmcXC}z4w(A4-VQl%GpP|xSTtpPLixp;9+(9inCCmnkoi2T%8 zZ^C8o^f7u3E!X~!7NC8&gF8ne!qc*6yV0wr#uxwXxskDtFNihA$6AX)#oD5vneDoE z&Ds?}-UEo1Bf!L200V+=zzop$&#PD=I+Wx?0j`gCBx#BdWw3UA(T7vE-TYd6Z&(5K zrB3{I(sb;q>vvIalB_u#t(3Lv;jY{0%brg+)|PQ#C}S&y@juxx63+*1EJ*#@*&ID`l(4{u1-xf!_zh1xI`ue0Ugnv6= zb>E}NaCUXARlPTBv7zw%Nd8!j@;#~q=-gxV>Qiu8K4_gwjgKi!X;M#UA1WFk@LWJ0 z*<8Hj?s;=F88!e7o{AY?*q{38mKr0Nc`%!A%GV;MF`|T6GR4ss_>HKg6pO%!Mr0Ag zgkJ&p0P3HwNW|LRlt30qAjsjlykjh3XrQC!5_gbHtSwb>Dtv~{I1!22Qe)FC2s<7? zOZ1}x5{Bq7K#zN}UDA97g+FjUq=}4fVQtp4jo*!=lk0o+?(Kus&$RWa#|2DPVgBs- zevNtXD>6=G-XE>vE~|k|j7I`;<#6s621-viT?^h;M;_`l=vMT+BLSh?|LW9^Kr^MlQZMk`J?pDY6UL0st6vz)2!F z@#a#T)EyQ{R!RCAKx>{lPbK&|;%%cw2uPajGnk~5- zZ9x%3x5Tz*zjr7-!+1#Rzklha@T*|G&%4ld=y=C%YGACqaV#4LpCOfw zSg{8Z5din>*HN3tjgzN`em8Y`UF#4sk~uR2nRoB*6mMCL$`7Q*2XJ1CXdtNVbofCL zd-t~cfJTnyWRG|$(n2kGxQ62(7yeVh)lk`Rz;%}WMf=!a!eItuQ$<)({6ZSv3&yT)pHVR|t>;dHp+l_4H<{buQ3Sfo>^6crsnVOJ? z@5pJ9{IbKsen}|9v*Qn&Z8eF;RsO6{t-wqId+V8uvg8(hqRybKH4_uf!g6^n!lTPH zZt<*u&5Ri3()=yv0j|X5K^_%~lw5cS3E%jd%&*E$Fz>6}s)>1Y{>kb6w%;nu!5hc~ zLPEWb-*}Ge$;YLX-&2J9`&qj>%$N1;0LXjnn(SPWQPOoG=q$CMswS0-_gn)T>D`BYSZ@epiOp zJ%CtXzv!Nq8*7&W!bA@~GWLj+#0W(Vgf1199EOuYkl6umo(VJRbGtzZ1pM_d^qR@@xllE;;fm=c`RT47wFjsRB44}-%{eo2Kb{MgSp<&$I~2< zEjoP#UOLHVKM35@Cr_pm#^sfR+A1h8MWF3d_+}lRlr22ijb1>wL`%2f1q`n zJ>B}M$kBm?Ps77vY@(l3G%L*ekshJ+%Fl`^=24bvftgPZS`Gxh2_r=2^74fq2&Z2s z_;i{uY0^Wc^FO3ttzrQJfA$?=iT@*qtE!{lKZ;lYpH+PB)&k-i$J&+OKF)TbQ6F+>&QLI!X)@f1J&g?#piil-hOGhLj3UAAmvR@u$V;D&9fdoW7uSyQDIT ze{MNz)?_Zz*ZZT&_Sy|{`x37wnKseJ6ngCK$B$FpQmZ$xvRDtaCdl0%4k(pgrwo9BTYQJqcr%6Ir;;nuxAqY z0F!vQyNjsd$e3k+_vdaIO2H^12Ws#4XyGL@Vz1v`Nl~$#-;FQ?KQ3^(7#tnP3K_GZ zWh)uO8i@;-oGm1m*LU5@C_j4R^>pIzA_kVp!Kd-zJb-&H+L;ryK)EDE<9>>{lGkV& z^DwgNlp9KwfR^jeZ-$$AM|(l#qgU)Tpk1?mxCjtqzP=b?Aq6Y8Dq-juUA(;UfkNeS z*;;2X*yu@m2+K@cZpM7;vHt+*vXU!x=BEVfeRx7Vkg4{pb&m<8?_umC>9QWs0A@aZ zTpd-ye;y*jGLtF=Vr#p2`-#cI;IRuM7V7{G{Gg+m!d;D95z5o=@eqz~a@=E)EPcpJ ziq3agOq`eN!_8Rr=xl^+a*~rP5;Q(Xu+Ceaqg1aHx-=tvcil-`mncF*fX2%QCcox= zjn=uZ6EG>g>k6!J72CHrPrs->U_jQ14O?So=?tUrkUKIGZ`~E-5_8&Ny4x9OVNO%Y zN#>R)OksEA(?6r(*paM!1%Nsn;iYN4efzr!(RCn7&=d31SS;R{wiFJ~ft#n+(IoF$WW%@5!43CSqwxGxCdWg1P3B{m?Kx@Nh1fj7>iG zINXZHBY3R0KGYfZ4x2zv5(fIeCSbfOUn^TNQBef(unT!zO+&M95mxP*=E zv8Y#b{#jFtT7PDZ9fc%VE4qy7uB`<<+lT=vy>wgEea#SBO)cP;0dS^~6G$?%O0P^U z=bfZMH~d|Eb{h%=AU+TbF<9nr@Bp*My!rgO&HqLK4{z8V`?Ci+eb{WI>0?HObO#o2S;WR( zI&VsXWg^oq_8G<31b7~RSx_jzvC*SPk2B)w^Xm}3`x=IAvW}jB$#1tgzDiTxkf{;f zry)pK^6d&av4QIP*JDH`7f$`m-&%_h6oNW-r1f|2pQR3Uh$lSz)S6IZp-)UXg#ZVU34 zXe$dw{AF!QWrO~{0!Is( zx{XN82C;7Z9beQ0+ndR#E%=E)W%w(KY~ARC{0TW0NL3Jp7&Rij0p^~zJfo4lp5rDx z15+A4cZi72C8JGeK~c``+^t<5piYyonkA&Ph?H?iX1Nf?ViF&_=7P-FejJqO?rO@82#IK7`DM+c)7$8T@(JJEPrw`$~^)GXteyxnj+8bfsn1)%D@ zOw4+&-MST-Yx5{0J{ zM`n&`OFM(O8%x@TiY+F@{_IDy3%9YIq$8Wzfb#*k#D-tYx<^|6^F5il+Jv%4AS+UP z{U=Epbm#{0i3h+zcRiE znWYoAw-{<>-^B;|T1jQ7%hh2SC1@{tEV-LFi+x*EnmtqUkD|-eUgFis207U;6Z@BfyQ|Hl0j6BvxH>4E@^Yq&l zwWEJ8huZ`7Sn{>@NMTqh+@q82*$0K+>JN)qd5fd2D7D5X!4)RLYIGHomf;-B6uMuLj1|axoWHt zvL8Y`WZ8x<*PCK@d+w>%VdeoV-r)H3DdftgiMDC{oF@mLpG;o;Nrl|s3S15fs}L~a zOuX9~FIHOXfUa-Zj(%;^`hd0q)xPh7nI8|410NPTqTQ9CxCC z+|^?vfd;8b+hM~lHaXI12~j5Kvl$PNNuqsA(atdpJ9<@WCTs>ek-%&d_-0wMw&jC2 zu=aJzs67lAkwu}=c*)|Wp|}3lA*|p)KQmxsElZL-QtjIYO!VPSHuFt0asS466BL)J z|niR`>4R zCGqV{=Ywdy4Yg)ClybfW%6Ij$9{Qnfx*e0$0aC^dIz&1N?pjv*#w#>5v@OM_$$F$n zv!jQGrc)X+f?kzZ68mPwRHHA|)eFB(IO7?)n$FLE-D-^SHaBcK_4uJ9M_NXhGg#FY z`I!NczIX2%M-MHDsEuR76B8%|b|GcJ@Pa+zSlZzGcHK2D zbsJreGDI*OOp2cO-$ClWI&17;qnw%!&N!~}_yQQ5|MQsW7gH%s7)U%5m=rTBYIi4% zH{p*Q+HU)<0a!r;{yDzha_2C{W4Ls#_i)+LXRA!6gk zP|)9d(?N@9D9RUKel_FnVU`;5K$7Oq9w4L>k3uGei8>^CByAUs)z*ma5-k!8v*rjN zhI-)6L}4{?B1N~=`F)R)=H~7Emh z#S;(ixgW(yAt>hgCOSjiX~ks$03Rk{RO=EJBU59IXVQf8#EH;xe`CZqIMjUYg+_3m zr0b^#XY>XO`YYcBLyDHe=FPXr#(2TE>U5tQki-=vI6g10%#XUzvzTXp3qV)>(> z5|D9nPHCpsSSQ`(RQ%NabSfe@J3HU&@%bB~cw~(;^Y_TiF+6WVBeAqy_CqeMLbqTbYdt20S)%tl8?a!1v0eVb0#*g z4~kssTA@qP>wa6tz_7AIGGJof-=TEj^O&y)D&EAyU1F@x5nIkT#1^q5<4A)@;SCuh zTyT`Bc_Z9>$ni*pYAx$>BFD502H5&RSs$QGbsS+vJanOV-2XPkPabJ@5 zF5l45s;n-B;VKCM`n`KMqyrJDP7m$^ROTkRJh5w2>qrZ0>3u`^HW1B~}{znUNtc^y{ zj{awse!Poh2(6=ljIl|7d!C0!9^mC!H6E-+@(PU7g0eTWYnlT?nYL4~_xz*>i7cs) zD*6e!kTDu@w!pg@O2;|d3ES69C*K5oi-pR^hk1HYB|7b{Z6fV=YC;bx^IvFqsVbRS z_2p_z3}5%TYzWdtT2M&!#9Y885x)TYP>4%K@qZ^R4(sg>H6^A5t7R(%eqpR+=Ch0I zJhW(oYLXo_D=RBQHYns58G2QmJ1}~RsXyvAyOgyG)C;oyOE$_OW*h7j$21yXvdkAz zUMf;l>5cG9NKBjnfPIdH9AlH%g35$907}SZ^K=PQwqRl9+o#8IUg(2ek8tUIl=Sm!YzIF;s!vIzg+HI2?-DJ6l2jvhTqYR^N_`K+tf zY37iH5-KcFoIv~GG2jREoXCVxPj-4G)S&NXH$Buf-Q=P8)=X#!oEhQ>kMD<(BB5|( zXF-eAg4=;^fdRjS}e`p9$H2!u6{S!I9g?P_2`# z1!Pk_h`n#2qU}j!gbfWw*&xb>KX~v{!RsPv+~5oFp8f;Ha78wu^o|xP5j<586ev{& z+3hi~PcHgk^Lq9lpzIAOKZFBT47v}1dWBI4dJTDaekwb$8=BvSD++P&02$E6B=`ho zY_~DXC1%8sIoXi}(qaeOw+}R72lnsRm&CGbYE)!*f`T&ggJTTXX^}RFM?7)^QF|AT zi5^5tmWO4B>E8MK_qAaUWDUAKAowAYTHdXjK@dGMcSwNrtc;ZyGLZmMXic?TL!FEU z9nQv-ya;)G6j&J$^ZvasL_JZs0NRfwreE2TFQXqmMDJY*DFJDY>a4EJlrK394s#VFIRT_ELZQLm8N6p-%-Uxp&{bCj;YNDE(0@WaqJXquV3liWt4)8%4@2 zWy@Lp|Lq0OLE*$ERY3mewSs`LEAH7W#PJ)DerEIx71i_euNfI{w^=>944WGeo56tM zm-r?X>#GGODo=zw#Q^I;n2{))PP+U+;=#y%BdS^iIVyiZHvV@&o|4Vw|44%zjMNDb z22EaQ@*v;kN@^ZYhm#x_&aNf>eBx`}XVKp8g@gR5-ppe;?vTEQSP}>u32qiWW~Y6ripGBB zFo0%Q--3^cn2~wxFRZgt5wSILThVUa1hy$eO$&76@bBN&wzfy=4xpqtU311!2C$qE zCS`>0SXH$S4WP?|slGT1`gA;68fMZ$En^%62(G^HrS~WhGeUKL_wF5^L^^xOHI%vA z$?S3N6p^r?nnp2>_6IjmCv^!k63bjvq1#(why*-x9gYwANYtu`P{0D7b;u;5W?^YbIyVw3qosZnOM39FChuwu1WABjL8AlW-P8A;^ig2RNyO{>-=>v(1?hRri1d!f#ob9)bT;+ zC}OV9bWSviV(j%Ebm6J8PbfhB?@aE0>xVc23}FqvoVJLEl&)Y$1CG_>D=;+q)&|Y} zZ6LzvL%~k#v)f|9wyEf3nl9YKjx3%B){UxBU-B}V-3FhU;(NT&^%OtJFn>f5qPGF; z3xduGb&RiQP=6K}|52#w0_+Bj8U9U7+Ig7UKo@bKz!+sc=4tOS7=!GD2xh7)aO9x& zphitlT~RqPM;6-pxSheva9I#SBaN=>^02Wm2;R1(_Omzzl{)I~LVL{zQP=F;Z9gkPWeymR> zl1U`?m(U?0Z+EU%y;B3>6gK6FMmJMN@_?llTE~aMhU@L%;NUC9JXe6XQ~+Eq4|qKt za8gGz7ApHPuRBMZ*XmQc-_Oq{h$##b2JsxBxPS5fjB!9@uw~4LuukxNQT;<*5awKB zVEE=?P8)75k-1?86ET{TVIhlo2o?v*Bk*DnAq3$Y@V7M>cFJRvkC9;j8hs03o?jq= z3=6)vg_)RkES}Lj3{L%#z{6L4eUr3#GpFxaLxI{Pc&|ng-v~uQE+|w{dR@B+83q#@ z{6i?sg=0gAkif39Tdq0?bQ3dpb!W`8fu%JI_!MpvW~0YFvRbS_zs0ipBSknApY_Mj zpYKqPCamUzOhT?1W*=}9b#egpoFI36kqGb}37-?4Q7b1wy<(81`JJCFB3?Fj2~yLp zScnSWY;~Rg`7=|rGyX+9F0x^$U||MXj{zq^a}e)h;FC!90yhkXE|I0~kP_Rzph^I< zgnRE^yuKFLTW)5CcP%cnEBfrGi{+^G*~4l~4;2|$x`9BC_HxsHJW%H z4|E~v*)+}=>gf?ZnBI=v4sq_?dh&@lc(MyVu;G0Vi&hMNsjw6gFUe7dk-w=C_z=un z{Yi6eCe-e=iW%K?sP6_~qb4v$ht^@=G>a*G{~EHrzuC300>G5^hl z#HN<70T<0LaISj63-2%xgYuxLCy@>hOv5xo_>d+DtjcK^-0B^W2nLUfB#4ob>zFH> z{8`R66xcQ@z8|8O-)Z3D1@*Llz0}meGWF%l9Wr_?5$k__?RBtL_BQ^G*?whToHhWU zE}EH^Y1IfGPanw3?b+;KGm6+$E!k6~OXP1bULl%kO`C|?V0+Zkq#*`5BUi9$AL<2Q zdmyxErmCx0p9+;9MW05?%*D;U1~@5zZ4z#P7#*6A<3%SwyC^ zEdqAv=;^CG?1WjQaiLJwi*0S#H$)1FlU0r8ocGSu8QKc5Vc!sf97Bd)FfeLijxNA2 z2!R;ORbo~0@XXBlgUJUu>a^gBOOKo!!tmva4g}wP+or<*Q-?nLd~DS!kMr@VnqM(p zY}iRD2gu;gdQ442*M3HvA={Kd3dzgU%GMS|R6zZh z#T$QWf=}-o@VKF*L?YnxYw|CQMh7lx4>uH zG(Obpb^~P+*rH+Naup;CRzR|o|14+9M&tSV{{5>vrK+-IR$yIdy?))+;9za*ZNmpx zcd&-*Y)xMF*L|ZCW!#dZ6`Abu=Cn=#w?nc3wa!6BK@ou{eVec8_7Cn(Pc5l>Gj8~F zXF}QaOb+m zE}D~}$EU8Q24>FgEg@C#+UWP;`!Y847xL~Fu=#>O^TXgQzWj~V$$iEJJcLq+4z1TX z)WH;9lGrA93coQIRXZAK!l>=jU|zgsArfncjOH}A06e;{!LuP3Pv+;3A4w?n+t3a< z@tt&k_eB(7Hp)}N{j{-3r&KwJBSAaEPK|Jdx;ONd`ZOI>*E;NH@wPi+f6?@AZ4$MuAklkeK5(=*r6qAMF zE*O#R-?vX2{c={l#bM$b&|dCy*$oUG{JH8y=S?U%PGHaoE+{y;Ppd7&3ZV@TNl8uZ zQ5m|Ma#xTz<0@du78KQTxU>ts^28zp-;Xi=EXQ!*_H)n1Ls-_+ydQHrv1fBLVO6T92#1d^Zf0H59)=<_mD;$9kt-#N$61`R%!*s8ep`cRoxe;VD31(OLQ+nvBA1A zCGK$jva^t)+;A$@(8(?h5f9^(ex>sh=yBnj517pm&X5!Rp2Q{$5D#RfxB$UP!eGf5 zv<>jxnh8!TH-7LXEe<_wIuC-J=zMni6$+8D8vC{^2l=w@U~zlbsZf zv#Zzxx>d@&6=>xr9QLzwsrq`!0@=4* z=FKWI@_DiCB@LkpBlEdkzD&HYaQp}xiJRNF#Lc>3unD#8_{E_{dEhFmkH7Cfnjs;~ z9wus4d*9eYi}PMh!W4Q@YmTvwhxxDJ%!2D_w>XDp#=x-?Ht{OxksB@UB|z)2^6Qs) z?e3_@j~lBW-3koM>+*%67f#sG?wVHC+<9ih&fjQQteY^IJWAdOP6LU%V1$3Dt+i`O z=Pr0Fy2*TG?z_y>b!+5PuNpEMGeJZE1?^#S+d&1e1NUxv;p3QF9sFWHyLlCOM8UoX zE*1+jgTzUO;y~50^t9=av@#M z;IiW^Hi)(_8EP@23E&Xxgsegtt=EMgGqOM};@dB}x&9*vEegjJFf9sdmu3IVvs^6c zw{a1&7h)q6;mwDaDU{?zFcwWFcsf34% zz{sxuZyGig22++OEeHeB?ybw`H}Z3DMHh($Bp9^_Ip!Yf>3K}~w{1q!AQ@RtwM)jg zxTR(lt8~>4MHiL45@U2yOpRMcK*WeX6-7b8Ln+4ZijeJ89vTA0;U&By;*SgO>fQ}P zh^S>X{Tex7vKH~Y37?a!dveX8>gO)~rcsPTv1L7tXIpa;z&lZuCF#n0e^gvM(D}zB&MA@|wOb2i(xuE_cF9&64QSZ|8Ak^+edgH{W zc-m}B&J1I}`2!!|z)%Y4J9b)zq!=@?^F#z8L)XDS5#tU@Tq$94!!iZmulq?r`=`c2 zxSVy*!38iBf&8F^L`e_JBL>>F6f94|r05wM3%HUk+Uy!+C8|J_3!r4?G;Y1v>QLbH zmNwmw zUgRAR)*AO%&k@=LIT`4Gn=$|TiUnPyO2LIUSZ9KfM&?&zNGic3=}s~Q56c)+to;WL zw4p13r&+1ywiPS0xC8*rEVy3Kvw#s?RAA^C2D3j@T-e3OL$#HY^As}F(%HQqZh<$dIN+kms+F_*usn?m(Q-ZB_4d*7HoD>~$Z?RU%& z2|=Z!6cIcRY%TvpX2UstUfw%Ij)I55@b{A#JHwx)*Z;5+;4tj{@b_(t{&Lb$v8n zUQM^fx57jB!SFyz2|&yTLw}{Br-(Rx;awxF2LZx8$i+2Wp&mt$IYHCn`xvGN;TWU6 zw#TpK{Nn!e8+0rYbxLFxByisrd`OcaNCqT$fqvrWEy$yzK%0!u(_qG@)!MFPwr&9{k<2M^^kIi+O-nnDP33GFEU>0Wt zTRMP!0{|jCUX&`Z0fj%_1M-AOsznlY&=Uz-yQ&H^MY`R-axj57Ad{$tohvCw^KG3L zVsSv3?(6ZT0mLf}GDo;i!k_@e@9d-Yzx|$oqzbzO6_j$YkDKB(HKoHXB(7-yYqQIn zSp#Jt+E>R|4-Ec;Sc{FDv&-FY6WIn(7=V|jbYmm|78<2C_RZguJP75=K#-uBs5I~ltR{;fL%I9MkmlGq+trm zf_e*A8qdlz!pDjTxe2QqAzcx;Y@sn7f`=V=HuInn7S{0C$OIiS?lEm%TVkZ zI0D?UyxNK6A&TKEsrCNAr<@X(Z@vj5IMkhO2qMmc!8cTLVH8iaoS@&`S4p-1c?C5c z5ecCA3A=jfGT9u!3sps7{K_=ZI-=(a*WgKo-!+{l6U>gBdfu_R+fJV(u35cS**9(! zR(`r@NZ9?vJdmuoKm>TZuwS6d4>z~aJkfeUz|xjqK;Y#<*9A{Z1i{kNL9tH#Y+(uI zGOHc(f__vsQoi$eji5R2a{i5e62mqW8l0;ur5GKpY0bPBu> zE-^%fW>8|-Xf!&CPxpS<)uG|4Wt`~&9v(QBZjJAHCt7?Log8A5_$R{;WN{{p#$s8L;Y418RtG`|$bXnj|!Vot+~R zb~Lc#NFtmrv^kojZpEF+o3hcAxqt|ci-QyfK35Pdtq2t#Y!9{6miEcP>_#m#S4%uI zr3>ED6r=oGXZvcxIJ!O$TH}z=yvbzLa8GTqBYHu~829G&c9=CR^>=>(^ZCLLm!_RL zf;EqhQRA~ckkHe&!P^~xJh}1CXi1d!7QEijlJPBfjjxqwuuvWDhYn1 zx>)+uz04b=q(HXGqVsMeVmVaS1>ZLz?48WI<&C!jX|yzYi@V({bk2qT?$2YzO~oJ+qIbZ| zCk0or^rDqy?qQ@tC5*edknS)sNOTgsyY~1SD-j)-mZ3fEHh##y0`mycnc*T?IqLKZ zI26Qzk*tgxF%Q(|0X83_frj8X^6YWboi7E@{eY{d1@<^>=(tQm=H%Rnwm2w=i)!nR z9rkVh)8rN7Gr^#x&PJpgVRs9fIku8luX+Rh2oB&YGx$92;&+(TldtN|O*X3LKYaKp zt~2}RryPP6yS!TJ$hwZ>s>}L72 zb*C)KBI+cFed;??+BZd9f_v~9z!yI87HlirrSb_2!sM4t3634GxXHaF_DCTY-QK-`8Vj%kBL|YxFfoP zUSDc4^a=P`=!!{{pwD%IgKMZGCh%61=ACaX#9>vxodyt*xiNp;xO`p}u$x-_M zO8nbq~FD4)uO1;FH~hO zQCyOk_2zN4=-oGQz39Klt-;Kf8@eYHEU8!uO4sR$)ubo>tq%VC0!Ln(wHIOvve4>3 zM6HCXfrPLTw-TJ16GZEZaY=j3vo=%BBgBgyzNh9(rkc+5&OlrsMfITFgQNUXb6avL zI3dJU`0c8P7%xOlPk>VpUs&oSjNt%4IlCrDqWXSdC_omI($=5R)|Mj)02|=N>B-$7 zaT-tKrC_a{=!>9Lyb=^oJLS(Z8fx&c;5-Ik{B92fu_Ny8C;o;47B;qSiy#9E+3{@m zdwEv;xF0ZT5{<81Iflj=T>`eVlLYwk6iZ&Xe{exv7v(?n~BI!?-dDV;3>WJ%a&jeYgR)aC(2? zLNzC@DJO_N0_{}`8Z>(ZK=MPx54Ip~(lYK;BfT{US)s^F)9(%_S{2F)2aJI0N}e$& zMF!%;My{~MS4HKPW?UqE`$=SXOgw>bg=LB|r0sMuk!X7%jwF+vyB2<$RtVzr z4M&<@)^TSOCjj4ps$n! zuap=yz%=L?-kMYYov{_3=z5r|%Zp+Vj!%~Yr0Up+YM&5J)PLm|{x9+_;JT0Jzxc0F zw9aN)n@QnDIyf;z-|d0L8X)vJlSs}3Q77>=ATTghJ523Mw3_xCZvSDlS_(2JbCMc$~+MUj?TZ1-`_5uy`%T zDyQHrg%AJz#8b+%XG!p-(+0Y4QY;IaId0wbp~XCCnDJkCDu=tv5-M+KVCu927#yWH z<~wbuGNrxUk^{@TDxRw21LGaVEZE}R1Z)St0Rwz|3F(x_Vr(5Y-0Y~ZoO#hr(m zOdH%m4DWgiPW5WzT9cX*mI)@drvt$v7<6Z$_8Cr#K9>ULy!=$QsXI&{6!v${3m6h7sTALRB!w4s+I`E|WtxEsF%z&V`%FZ;H%UF8c1uP_%p`wZjO6oPA z@oO+i(7Qd;jrJQmsZQ*Bz}m7O4^8vYv2Xy1ai2UrpnOO3L-daQ+r2BKK_>bS_*wbP z5(js3l*##d0syS%F{*6?bIuMNSdU*8aC~9O>fZ@C7WlA(D+A$IM0we3tYraV&|t!h zeVK=crxoLAHS}R%)T-^-tY@+}P=N~|lj-z5k|ak-n3b0^`h zz+w`M2Zq3OSJl?OPf>O=qa*qtGFpREEc#8kj0?Btio*L2U?$zjHd}N z3e=ePq3o_ijKRc~7!l)&K$=zfYUlqLd)>otk^&f;;^%7un+d`LBSaBG0w?qL_&RuB zZpIuIW3|ywmj?@CcV5niC1)8n4}cN4oA^jMjk1TS?3DG}3H}Zm(<)T0SV$j4ys5BP zh|m||ZIQo=i3+vwEg*xNy~`^;F5!5Ba{+!tDil4S-+@bmffK0Dw576+7h?WoK-P!o ziX;KPhmL`P&Hg!HoYC#9`PlKqBD5yfB5LYz}AcVpu%<{j+o)wt{!dWnmeGtAI&A zw8#Fi*tmJ?){7+|I2i60vi=KD&FLCNt@aLAwFRvLvDw8a*T2Ju=s*Bmj3Nz@v292# zSWO{#J=~C;fhbaiXlW)AJ2WwI8-_`Hpu50jm4_(D#555$A7nui)-!TQ&Aw-Wgn{zu zn?1)#gphQN*y~6bW<(Sv=7{dkf%(pQ{tKkeA7-zffqI zS%8j!IP5rYhyza8t@vc&4^4l=~ zG#Ko3C?H#CPI&G!`_2TeF#Oy_H zto9`57k``Zu*jBH;_ik$ANLUDN$ z!D1AAO3-2zarPsgH-Q7g4e1~3mntE~Zb3P&ks!4LuUP>sxi}rSJ|VcM5KBXl7$}|^ z&@|!~HOEILu>v(6iD$5jAoL`KA1&X8_)z7oDtrk92zggZnd828a72+3Wh8NUoj&_7B@pZ#wP10g&#@zdwUV8@;BtGz(MLf?1q1X z9*MV0e32G{ZUzP>U;FphK!$Ql*T^Uc(gUxHbF(5&~Yw#~4$E~%jV3c7NPh72u!7v(D;=uBzva+%>MJz5mTY&gs zgC(?#L5Psw?<*!DdWS<9VW?=cQ}WV!)b)3QgB3_!*0q~D|DPEMv+y!~2T!s*lr33o z9&`+qRwBdjGI|RobtrNYu?dL5zy>V&s=>}mG&w)$E&}$1TE=$b+p%qw0={*xtzJoa#+i0&o*W>Hy-hcAA`&FON>ghAz z2ejHDt+f6VfR1unCOpr4t^a?X+m4S%u~L*#C6yUB)Z??U=w5I$6rj*WW!A-wk*4T+ zq8Y;zHL>~~7jwjxkz5tPE^C28Qat;|tuTzbfA|*RplkxFs0NfT1oRc@fcx07?nBe3FI##g z2nl!k_f!}d8Ets;YiCwa>0IDcip=?9>yJ5Lb2>KVN&N%O>ui%IYW@H5BJ5tp`z1uS zFkx&TRsg^U#@1beI?JfCt0QH?!G$;&k+cD(e<5qeiFQwCLz(AVS}xCWl4Lk4#!MYn z21@5fVoQoB*idm7qY7VyP0)o1|BL7)@H_Szzcj`K>J8a3g-14uQQWle!ANyxR@Pg% z!bF#vFe0$)m>qqTyS^f4my+V7FIDH1o2KFOSq3jt4kTVetwyWhy!2}H&netr;tYhq zvzF94a0Lp$z@(I-c|S5T5b)QE#^UW&04?C!Cqj2q295(^_*c>flpCm-l56X z-2&h4M6F7kyjoUq)#5DK77sqKDhMp#p%cGe+>uXhhD&P+{S}Xe5Sfk+T&cu3y_gR3 zcVUb7>xmEy-0p?W48B8$s!=N4kBYj5n27=2PW+FxWeQfF8K3xhDI)=1NRYbV<26U4ya{t47$nNT5IE#p33(R?Si~6}>C{Q{20GQk1bH;@D1oOv2W^88 zW)W2`;u98j*1(XYo5L)D33hQ!ohxSJPw=MRb#--B4UmYjo8`t>FP+|CV&~I{0&CO=w;&Z7h3>ZoPXX=$XQ#Z4wu3JG zp9x25OYL(-Vnl}g^2tgfXg$`V+{($x(ce|^>ZiM)`8+@OJHQgcaIU24__rk2_R}3U zZ6q@T7s9H|(i37Oz%d{dF828=1uj2wAsBAGJeT51M>_{#IsOPABdMP>_(LH z!={oXv9yFxfKi}U4dA2EQbFzbjszFDs?hH|wi%rQyl$)Ao1||;aqw1M7U~_LSPdAl za}HcxI$L^o*lvB4WZ2lNOP4R0qh^0BY#Ws)zMzvh^X>p1Nq_5M!-U zQ)i8Z+a$CmP_WRfk$>#HA9QZO-#}@F?3$Ad9+s`xsfAv-Dr_7!OD(qVT)%Epp{cB6 z$ga!HzQo0vB%81>P|Ro%Q@bB&rncY%GQr6Nz;~!=pIiS!jUr z#nNtH-KdAT2M#c6XX;&-`1)Mh;7cD^ycu!I~>hA8ayy!cm z1KKHdWiu*g!Kf>Kz0 zHjm9McB@+~z1z{FwV(PibGQxe7G}dBfihu;fKKf#Y*9dPHu&}Ke-=o<7jF#=T~r}( z$l6s2pKGxE4B>7Hqnz@9ME{=k^VJ+KW-xvvtDcFS&5J-0z(qo6{7N@vf>}-0{oqM= zIVr#5fRW34RI(KIh2JQUowzC5yh>miXR|L5eI0Hx#XrkK6GrC*9Z|UjNr=zH%mVqf;#QrHrJTQK}&EV>TLe0eEb$ZuSo_Qs0 z88)s#RC5KeDDZ)o2FLwQ<EhB4T3fPxg)pW0GMK(mn|Z12?uZe!L!sOAT`XMO-`r z>_W-iYdkGp1^0(w(lTOL;M_5OnG|1`&D;aMiq-MDAq#2qK*!2ME&~W*26FC|zbg|Q zl+kNw?_o{LPJ~a8R~OxXscDM_(Gd35WP=C1Wjf-h^0C}n3V0wJ*deH=+_VDC5cgoR zc-Apu_jpB8(i^_}t#Aqfii55pXQ2WWtKbW!dN|hrYKFp=9waER?CHRW%}m{Fy$jHa z(?Hn{!t+H7EsW$QaQ4;Kds08|pb0yO$Nmn&tsnJ=U+2En(8!AeQ=*goJ>cP75Obm1 z75%#GT~5d=nEA=0oWO6wfHD*K2+;YY;;S5K!CQE@rfKt@Ox8P^{YBgT?ZoU5oS-xh z-7x)5dz9&NvDXz;3Tp=j2FMXWN7IZ(41yc+K5s}6#38^%)ob)kOkyV^$Iu^Cs(Ybe zgD%`@Gy&+Y_)0g1=2GCL`2%Jl#W+y;w|IJacuwRFp@YB|Lk%lO#9X0lEl>P^p~^G| zxV?;HNGy4XqyVMhg`Z2VuGe6kPquFmDLskcINtgcYA3}N90lm^NT-KfPeeE|Ff-xN zjI)Xk>eR$ii=Dtk-@}Y_kX8CFq!@tzU>SWEe0li&6S6oqdtj&Q^-tXaCc)@6%H~^7 zb^}63g-$d{rQK~9XPaX{^yO3OQT$CmtuT)1KW(Iz@!X_ zo_yhkuG{XCv7Q5aBJY*gToJ|B>xbX<^lacxZstyUxE61R%0DEFMj`x8*bU3;C#^+x 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 (TSjHOX}_{|UGb{!<0Q*0k57Kz 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�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�*+ikJqXzH>kmyQH3D& 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 z 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 z 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≧0D5Cx)g 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

    ms0jeTk%{PN(1@v=QXHYB@ys_<6SlMX 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π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 z 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 C%)~hW From 57d75d65f093fd636c55574b9182079e1e40de2a Mon Sep 17 00:00:00 2001 From: Roy Date: Fri, 28 Aug 2026 21:57:41 +0900 Subject: [PATCH 11/83] =?UTF-8?q?chore(tuist):=20=EB=A7=A4=EB=8B=88?= =?UTF-8?q?=ED=8E=98=EC=8A=A4=ED=8A=B8=20=EB=A1=9C=EB=94=A9=20=EC=8B=9C=20?= =?UTF-8?q?=EC=B0=8D=ED=9E=88=EB=8D=98=20=ED=94=84=EB=A1=9C=EC=A0=9D?= =?UTF-8?q?=ED=8A=B8=20=EC=9D=B4=EB=A6=84=20=EB=A1=9C=EA=B7=B8=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 Project.Environment.projectName 이 static let 이라 매니페스트 파일마다 한 번씩 평가되면서, 모듈 수만큼(50여 줄) 같은 print 가 generate 로그를 덮었다. 아래 bundleIdPrefix·teamId 와 동일하게 환경변수 우선 대입만 남긴다. --- .../Project+Templete/Project+Enviorment.swift | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/Project+Enviorment.swift b/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/Project+Enviorment.swift index ca4961ca..cbac7d6a 100644 --- a/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/Project+Enviorment.swift +++ b/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/Project+Enviorment.swift @@ -11,15 +11,7 @@ import ProjectDescription public extension Project { enum Environment { // 환경변수에서 프로젝트 이름을 읽어오고, 없으면 기본값 사용 - private static let projectName: String = { - if let envProjectName = ProcessInfo.processInfo.environment["PROJECT_NAME"] { - print("🔍 [Project+Environment] PROJECT_NAME 환경변수 발견: \(envProjectName)") - return envProjectName - } else { - print("🎵 [Project+Environment] ProjectConfig에서 프로젝트 이름 사용: \(ProjectConfig.projectName)") - return ProjectConfig.projectName - } - }() + private static let projectName = ProcessInfo.processInfo.environment["PROJECT_NAME"] ?? ProjectConfig.projectName // 🎯 모든 설정을 ProjectConfig에서 가져오거나 환경변수 우선 적용 private static let bundleIdPrefix = ProcessInfo.processInfo.environment["BUNDLE_ID_PREFIX"] ?? ProjectConfig.bundleIdPrefix private static let teamId = ProcessInfo.processInfo.environment["TEAM_ID"] ?? ProjectConfig.teamId From 9d4ae07b35ba7b7f72e1707ffd9ad1283e4519bf Mon Sep 17 00:00:00 2001 From: Roy Date: Sun, 6 Sep 2026 14:34:56 +0900 Subject: [PATCH 12/83] =?UTF-8?q?chore(tuist):=20=EC=83=88=20=ED=8C=8C?= =?UTF-8?q?=EC=9D=BC=EC=97=90=20=EA=B3=B5=ED=86=B5=20=ED=97=A4=EB=8D=94?= =?UTF-8?q?=EA=B0=80=20=EC=9E=90=EB=8F=99=EC=9C=BC=EB=A1=9C=20=EB=B6=99?= =?UTF-8?q?=EB=8F=84=EB=A1=9D=20fileHeaderTemplate=20=EC=A3=BC=EC=9E=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit DDDAttendance 처럼 Project 생성 시 IDETemplateMacros 를 심어 파일명·모듈명·생성일이 자동으로 채워지게 한다. 작성자는 기여자별로 갈리지 않도록 Picke 로 고정한다. --- .../FileHeaderTemplate+.swift | 24 +++++++++++++++++++ .../Project+Templete/Project+App.swift | 3 ++- .../Project+Templete/Project+Feature.swift | 3 ++- .../Project+Templete/Project+Module.swift | 3 ++- ...l.swift => MockAttendanceRepository.swift} | 0 5 files changed, 30 insertions(+), 3 deletions(-) create mode 100644 Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/FileHeaderTemplate+.swift rename Projects/Domain/Attendance/Interface/{DefaultAttendanceRepositoryImpl.swift => MockAttendanceRepository.swift} (100%) diff --git a/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/FileHeaderTemplate+.swift b/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/FileHeaderTemplate+.swift new file mode 100644 index 00000000..724fdacb --- /dev/null +++ b/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/FileHeaderTemplate+.swift @@ -0,0 +1,24 @@ +// +// FileHeaderTemplate+.swift +// ProjectDescriptionHelpers +// +// Xcode 파일 헤더(IDETemplateMacros). 새 파일 생성 시 자동 삽입된다. +// ___FILENAME___/___PACKAGENAME___/___DATE___ 는 Xcode 가 채운다. +// 작성자는 기여자와 무관하게 프로젝트명으로 고정한다. +// + +import ProjectDescription + +public extension FileHeaderTemplate { + /// 프로젝트 공통 파일 헤더. + static var `default`: FileHeaderTemplate { + """ + // + // ___FILENAME___ + // ___PACKAGENAME___ + // + // Created by Picke on ___DATE___. + // + """ + } +} diff --git a/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/Project+App.swift b/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/Project+App.swift index f85eb52d..c6c190b8 100644 --- a/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/Project+App.swift +++ b/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/Project+App.swift @@ -94,7 +94,8 @@ extension Project { packages: packages, settings: settings, targets: targets, - schemes: schemes + schemes: schemes, + fileHeaderTemplate: .default ) } } diff --git a/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/Project+Feature.swift b/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/Project+Feature.swift index 91dd011f..737838db 100644 --- a/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/Project+Feature.swift +++ b/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/Project+Feature.swift @@ -85,7 +85,8 @@ extension Project { testingTarget, testTarget, ], - schemes: schemes + schemes: schemes, + fileHeaderTemplate: .default ) } } diff --git a/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/Project+Module.swift b/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/Project+Module.swift index 3e007c08..3b0b1e89 100644 --- a/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/Project+Module.swift +++ b/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/Project+Module.swift @@ -89,7 +89,8 @@ extension Project { packages: packages, settings: settings.injectingModuleConfigurationsIfNeeded(), targets: targets, - schemes: allSchemes + schemes: allSchemes, + fileHeaderTemplate: .default ) } } diff --git a/Projects/Domain/Attendance/Interface/DefaultAttendanceRepositoryImpl.swift b/Projects/Domain/Attendance/Interface/MockAttendanceRepository.swift similarity index 100% rename from Projects/Domain/Attendance/Interface/DefaultAttendanceRepositoryImpl.swift rename to Projects/Domain/Attendance/Interface/MockAttendanceRepository.swift From b17696ce024de7b185afeab53251075e4fe3fa20 Mon Sep 17 00:00:00 2001 From: Roy Date: Sun, 6 Sep 2026 14:34:57 +0900 Subject: [PATCH 13/83] =?UTF-8?q?refactor(di):=20Attendance=20=EC=9D=98=20?= =?UTF-8?q?live=20=EB=93=B1=EB=A1=9D=EC=9D=84=20=EA=B5=AC=ED=98=84=20?= =?UTF-8?q?=EC=86=8C=EC=9C=A0=20=EB=AA=A8=EB=93=88=EB=A1=9C=20=EC=98=AE?= =?UTF-8?q?=EA=B8=B0=EA=B3=A0=20Interface=20=EB=A5=BC=20=EA=B3=84=EC=95=BD?= =?UTF-8?q?=EB=A7=8C=20=EB=82=A8=EA=B8=B4=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Interface 가 UnifiedDI 컨테이너를 조회해 실패하면 no-op 구현으로 조용히 대체하던 폴백을 걷어낸다. 주입 누락이 런타임 빈 화면이 아니라 링크 단계에서 드러난다. - Interface 는 TestDependencyKey 만 노출하고 testValue 로 Mock 을 준다 - Repository live 는 AttendanceData, UseCase live 는 AttendanceDomain 이 등록 - 한 키에 별칭으로 묶여 있던 repository·useCase 를 별도 키로 분리 - 중앙 등록 목록에서 Attendance 두 줄 제거 --- .../App/Sources/Di/AppDependencyFactory.swift | 4 --- Projects/Data/Attendance/Project.swift | 1 + .../Sources/AttendanceLiveDependencies.swift | 13 ++++++++++ .../Interface/AttendanceInterface.swift | 26 +++++++++---------- .../Interface/MockAttendanceRepository.swift | 8 +++--- Projects/Domain/Attendance/Project.swift | 2 +- .../Sources/AttendanceLiveDependencies.swift | 13 ++++++++++ 7 files changed, 46 insertions(+), 21 deletions(-) create mode 100644 Projects/Data/Attendance/Sources/AttendanceLiveDependencies.swift create mode 100644 Projects/Domain/Attendance/Sources/AttendanceLiveDependencies.swift diff --git a/Projects/App/Sources/Di/AppDependencyFactory.swift b/Projects/App/Sources/Di/AppDependencyFactory.swift index 6289371e..4b892729 100644 --- a/Projects/App/Sources/Di/AppDependencyFactory.swift +++ b/Projects/App/Sources/Di/AppDependencyFactory.swift @@ -2,8 +2,6 @@ import AnalyticsService import AnalyticsServiceInterface import AppUpdateData import AppUpdateDomain -import AttendanceData -import AttendanceDomain import AudioPlayerService import AuthData import AuthDomain @@ -84,8 +82,6 @@ private enum HomeFeatureFactory { values.homeUseCase = HomeUseCaseImpl() values.notificationRepository = NotificationRepositoryImpl() values.notificationUseCase = NotificationUseCaseImpl() - values.attendanceRepository = AttendanceRepositoryImpl() - values.attendanceUseCase = AttendanceUseCaseImpl() } } diff --git a/Projects/Data/Attendance/Project.swift b/Projects/Data/Attendance/Project.swift index 56a9c9d5..f2c2967d 100644 --- a/Projects/Data/Attendance/Project.swift +++ b/Projects/Data/Attendance/Project.swift @@ -17,6 +17,7 @@ let project = Project.configure( .Network(implements: .NetworkModule), .Network(implements: .NetworkHeader), .SPM.logMarco, + .SPM.composableArchitecture, ], sources: ["Sources/**"], hasTests: true diff --git a/Projects/Data/Attendance/Sources/AttendanceLiveDependencies.swift b/Projects/Data/Attendance/Sources/AttendanceLiveDependencies.swift new file mode 100644 index 00000000..a7b4077b --- /dev/null +++ b/Projects/Data/Attendance/Sources/AttendanceLiveDependencies.swift @@ -0,0 +1,13 @@ +// +// AttendanceLiveDependencies.swift +// AttendanceData +// +// 이 모듈이 소유한 live 구현을 스스로 등록한다. +// + +import AttendanceDomainInterface +import ComposableArchitecture + +extension AttendanceRepositoryDependency: DependencyKey { + public static var liveValue: AttendanceInterface { AttendanceRepositoryImpl() } +} diff --git a/Projects/Domain/Attendance/Interface/AttendanceInterface.swift b/Projects/Domain/Attendance/Interface/AttendanceInterface.swift index 524f8263..ba5b5b60 100644 --- a/Projects/Domain/Attendance/Interface/AttendanceInterface.swift +++ b/Projects/Domain/Attendance/Interface/AttendanceInterface.swift @@ -1,10 +1,11 @@ // // AttendanceInterface.swift -// DomainInterface +// AttendanceDomainInterface // import Foundation -import WeaveDI + +import ComposableArchitecture public protocol AttendanceInterface: Sendable { /// 오늘의 출석을 체크하고 포인트를 지급받는다. 하루 1회만 가능. @@ -15,16 +16,16 @@ public protocol AttendanceInterface: Sendable { func fetchAttendanceSummary() async throws -> AttendanceSummary } -public struct AttendanceRepositoryDependency: DependencyKey { - public static var liveValue: AttendanceInterface { - UnifiedDI.resolve(AttendanceInterface.self) ?? DefaultAttendanceRepositoryImpl() - } +// Interface 는 `testValue` 만 안다. `liveValue` 는 구현을 소유한 모듈이 등록한다 +// (Repository → Data/Attendance, UseCase → Domain/Attendance/Sources). +// 등록이 빠지면 링크 단계에서 드러나므로 조용한 폴백이 생기지 않는다. - public static var testValue: AttendanceInterface { - UnifiedDI.resolve(AttendanceInterface.self) ?? DefaultAttendanceRepositoryImpl() - } +public enum AttendanceRepositoryDependency: TestDependencyKey { + public static var testValue: AttendanceInterface { MockAttendanceRepository() } +} - public static var previewValue: AttendanceInterface = liveValue +public enum AttendanceUseCaseDependency: TestDependencyKey { + public static var testValue: AttendanceInterface { MockAttendanceRepository() } } public extension DependencyValues { @@ -34,10 +35,9 @@ public extension DependencyValues { } } -// UseCase 소비자용 별칭 — 인터페이스 강제(구현 모듈 import 불필요). pass-through 라 리포지토리 키로 해소. public extension DependencyValues { var attendanceUseCase: AttendanceInterface { - get { self[AttendanceRepositoryDependency.self] } - set { self[AttendanceRepositoryDependency.self] = newValue } + get { self[AttendanceUseCaseDependency.self] } + set { self[AttendanceUseCaseDependency.self] = newValue } } } diff --git a/Projects/Domain/Attendance/Interface/MockAttendanceRepository.swift b/Projects/Domain/Attendance/Interface/MockAttendanceRepository.swift index 7c2b18a9..4bc7f528 100644 --- a/Projects/Domain/Attendance/Interface/MockAttendanceRepository.swift +++ b/Projects/Domain/Attendance/Interface/MockAttendanceRepository.swift @@ -1,11 +1,13 @@ // -// DefaultAttendanceRepositoryImpl.swift -// DomainInterface +// MockAttendanceRepository.swift +// AttendanceDomainInterface // import Foundation -public struct DefaultAttendanceRepositoryImpl: AttendanceInterface { +/// 계약을 만족하는 테스트/프리뷰용 더블. +/// 운영 구현은 `AttendanceRepositoryImpl`(Data) 이며 Interface 는 그 이름을 알지 않는다. +public struct MockAttendanceRepository: AttendanceInterface { public init() {} public func checkAttendance() async throws -> AttendanceCheckResult { diff --git a/Projects/Domain/Attendance/Project.swift b/Projects/Domain/Attendance/Project.swift index 80626c2e..e8efe3fb 100644 --- a/Projects/Domain/Attendance/Project.swift +++ b/Projects/Domain/Attendance/Project.swift @@ -9,5 +9,5 @@ let project = Project.configure( bundleId: .appBundleID(name: ".AttendanceDomain"), settings: .settings(), dependencies: [.SPM.weaveDI, .SPM.composableArchitecture], - interfaceDependencies: [.SPM.weaveDI, .SPM.composableArchitecture] + interfaceDependencies: [.SPM.composableArchitecture] ) diff --git a/Projects/Domain/Attendance/Sources/AttendanceLiveDependencies.swift b/Projects/Domain/Attendance/Sources/AttendanceLiveDependencies.swift new file mode 100644 index 00000000..c894e139 --- /dev/null +++ b/Projects/Domain/Attendance/Sources/AttendanceLiveDependencies.swift @@ -0,0 +1,13 @@ +// +// AttendanceLiveDependencies.swift +// AttendanceDomain +// +// 이 모듈이 소유한 live 구현을 스스로 등록한다. +// + +import AttendanceDomainInterface +import ComposableArchitecture + +extension AttendanceUseCaseDependency: DependencyKey { + public static var liveValue: AttendanceInterface { AttendanceUseCaseImpl() } +} From 156eb3161713d9899580bc184805a535c767a92a Mon Sep 17 00:00:00 2001 From: Roy Date: Sun, 6 Sep 2026 15:21:37 +0900 Subject: [PATCH 14/83] =?UTF-8?q?refactor(di):=20live=20=EB=93=B1=EB=A1=9D?= =?UTF-8?q?=EC=9D=84=20=EA=B5=AC=ED=98=84=20=EC=86=8C=EC=9C=A0=20=EB=AA=A8?= =?UTF-8?q?=EB=93=88=EB=A1=9C=20=EC=98=AE=EA=B8=B0=EA=B3=A0=20Interface=20?= =?UTF-8?q?=EB=A5=BC=20=EA=B3=84=EC=95=BD=EB=A7=8C=20=EB=82=A8=EA=B8=B4?= =?UTF-8?q?=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Attendance 에 적용한 패턴을 나머지 10개 도메인으로 확장한다. - Interface 의 DependencyKey 를 TestDependencyKey 로 낮춰 계약과 testValue 만 남긴다. - liveValue 는 구현을 소유한 Domain/Data 모듈의 LiveDependencies.swift 에서 등록한다. - DefaultRepositoryImpl 을 MockRepository 로 바꿔 testValue 전용임을 이름으로 드러낸다. - UnifiedDI.resolve(...) ?? Default...() 폴백을 제거한다. 주입 누락이 런타임 무동작으로 묻히지 않고 컴파일 단계에서 드러나야 한다. - Repository 와 UseCase 가 같은 키를 공유하던 도메인은 키를 둘로 분리한다. 중앙 팩토리가 같은 키에 서로 다른 구현을 대입해 나중 등록이 이기던 문제를 없앤다. - 중앙 집중식 AppDependencyFactory 의 도메인 등록을 걷어낸다. - AuthPresentationContextProvider 를 App 에서 AuthData 로 옮긴다. 구현을 쓰는 모듈이 소유한다. - GoogleOAuthRepositoryImpl / KakaoOAuthRepository 의 init 을 nonisolated 로 바꾼다. @MainActor configure 대신 nonisolated liveValue 에서 생성되며, init 은 저장 프로퍼티만 대입한다. - Dependencies+OAuth.swift 를 제거한다. AuthLiveDependencies 가 DependencyKey 준수까지 포함해 대체한다. --- .../App/Sources/Di/AppDependencyFactory.swift | 60 ------------------- Projects/Data/AppUpdate/Project.swift | 1 + .../Sources/AppUpdateLiveDependencies.swift | 13 ++++ .../Auth/Sources/AuthLiveDependencies.swift | 33 ++++++++++ .../Google/GoogleOAuthRepositoryImpl.swift | 6 +- .../AuthPresentationContextProvider.swift} | 10 ++-- .../OAuth/Kakao/KakaoOAuthRepository.swift | 6 +- Projects/Data/Battle/Project.swift | 1 + .../Sources/BattleLiveDependencies.swift | 13 ++++ Projects/Data/Comment/Project.swift | 1 + .../Sources/CommentLiveDependencies.swift | 13 ++++ Projects/Data/Home/Project.swift | 1 + .../Home/Sources/HomeLiveDependencies.swift | 13 ++++ Projects/Data/Notification/Project.swift | 1 + .../NotificationLiveDependencies.swift | 13 ++++ Projects/Data/Perspective/Project.swift | 1 + .../Sources/PerspectiveLiveDependencies.swift | 13 ++++ Projects/Data/Profile/Project.swift | 1 + .../Sources/ProfileLiveDependencies.swift | 13 ++++ Projects/Data/Search/Project.swift | 1 + .../Sources/SearchLiveDependencies.swift | 13 ++++ .../Interface/AppUpdateInterface.swift | 14 +---- .../Interface/AppUpdateUseCaseInterface.swift | 14 +---- ...pl.swift => MockAppUpdateRepository.swift} | 4 +- ...eImpl.swift => MockAppUpdateUseCase.swift} | 4 +- .../Sources/AppUpdateLiveDependencies.swift | 13 ++++ ...tImpl.swift => MockAppleAuthRequest.swift} | 4 +- .../Interface/AppleAuthRequestInterface.swift | 14 +---- .../Apple/Interface/AppleOAuthInterface.swift | 12 +--- .../AppleOAuthProviderInterface.swift | 14 +---- ...oryImpl.swift => MockAuthRepository.swift} | 4 +- ...seCaseImpl.swift => MockAuthUseCase.swift} | 4 +- .../Auth/Interface/AuthInterface.swift | 14 +---- .../Auth/Interface/AuthUseCaseInterface.swift | 14 +---- .../Interface/GoogleOAuthInterface.swift | 12 +--- .../GoogleOAuthProviderInterface.swift | 14 +---- .../KakaoOAuthProviderInterface.swift | 14 +---- .../KakaoOAuthRepositoryProtocol.swift | 11 +--- ...pl.swift => MockUnifiedOAuthUseCase.swift} | 6 +- .../UnifiedOAuthUseCaseInterface.swift | 14 +---- .../Auth/Sources/AuthLiveDependencies.swift | 29 +++++++++ .../Sources/OAuth/Dependencies+OAuth.swift | 34 ----------- ...yImpl.swift => MockBattleRepository.swift} | 4 +- .../Contract/Interface/BattleInterface.swift | 20 +++---- .../Sources/BattleLiveDependencies.swift | 13 ++++ .../Comment/Interface/CommentInterface.swift | 22 +++---- .../Sources/CommentLiveDependencies.swift | 13 ++++ .../Interface/Repository/HomeInterface.swift | 20 +++---- ...oryImpl.swift => MockHomeRepository.swift} | 4 +- .../Home/Sources/HomeLiveDependencies.swift | 13 ++++ ...swift => MockNotificationRepository.swift} | 4 +- .../Interface/NotificationInterface.swift | 20 +++---- .../NotificationLiveDependencies.swift | 13 ++++ ....swift => MockPerspectiveRepository.swift} | 4 +- .../Interface/PerspectiveInterface.swift | 20 +++---- .../Sources/PerspectiveLiveDependencies.swift | 13 ++++ ...Impl.swift => MockProfileRepository.swift} | 4 +- .../Interface/ProfileInterface.swift | 20 +++---- .../Sources/ProfileLiveDependencies.swift | 13 ++++ ...yImpl.swift => MockSearchRepository.swift} | 4 +- .../Interface/Sources/SearchInterface.swift | 20 +++---- .../Sources/SearchLiveDependencies.swift | 13 ++++ 62 files changed, 410 insertions(+), 337 deletions(-) create mode 100644 Projects/Data/AppUpdate/Sources/AppUpdateLiveDependencies.swift create mode 100644 Projects/Data/Auth/Sources/AuthLiveDependencies.swift rename Projects/{App/Sources/Di/AppPresentationContextProvider.swift => Data/Auth/Sources/Repository/OAuth/AuthPresentationContextProvider.swift} (61%) create mode 100644 Projects/Data/Battle/Sources/BattleLiveDependencies.swift create mode 100644 Projects/Data/Comment/Sources/CommentLiveDependencies.swift create mode 100644 Projects/Data/Home/Sources/HomeLiveDependencies.swift create mode 100644 Projects/Data/Notification/Sources/NotificationLiveDependencies.swift create mode 100644 Projects/Data/Perspective/Sources/PerspectiveLiveDependencies.swift create mode 100644 Projects/Data/Profile/Sources/ProfileLiveDependencies.swift create mode 100644 Projects/Data/Search/Sources/SearchLiveDependencies.swift rename Projects/Domain/AppUpdate/Interface/Default/{DefaultAppUpdateRepositoryImpl.swift => MockAppUpdateRepository.swift} (80%) rename Projects/Domain/AppUpdate/Interface/Default/{DefaultAppUpdateUseCaseImpl.swift => MockAppUpdateUseCase.swift} (61%) create mode 100644 Projects/Domain/AppUpdate/Sources/AppUpdateLiveDependencies.swift rename Projects/Domain/Auth/Interface/Contract/Apple/Default/{DefaultAppleAuthRequestImpl.swift => MockAppleAuthRequest.swift} (93%) rename Projects/Domain/Auth/Interface/Contract/Auth/Default/{DefaultAuthRepositoryImpl.swift => MockAuthRepository.swift} (91%) rename Projects/Domain/Auth/Interface/Contract/Auth/Default/{DefaultAuthUseCaseImpl.swift => MockAuthUseCase.swift} (91%) rename Projects/Domain/Auth/Interface/Contract/OAuth/Default/{DefaultUnifiedOAuthUseCaseImpl.swift => MockUnifiedOAuthUseCase.swift} (69%) create mode 100644 Projects/Domain/Auth/Sources/AuthLiveDependencies.swift delete mode 100644 Projects/Domain/Auth/Sources/OAuth/Dependencies+OAuth.swift rename Projects/Domain/Battle/Interface/Contract/Default/{DefaultBattleRepositoryImpl.swift => MockBattleRepository.swift} (96%) create mode 100644 Projects/Domain/Battle/Sources/BattleLiveDependencies.swift create mode 100644 Projects/Domain/Comment/Sources/CommentLiveDependencies.swift rename Projects/Domain/Home/Interface/Repository/{DefaultHomeRepositoryImpl.swift => MockHomeRepository.swift} (69%) create mode 100644 Projects/Domain/Home/Sources/HomeLiveDependencies.swift rename Projects/Domain/Notification/Interface/{DefaultNotificationRepositoryImpl.swift => MockNotificationRepository.swift} (87%) create mode 100644 Projects/Domain/Notification/Sources/NotificationLiveDependencies.swift rename Projects/Domain/Perspective/Interface/{DefaultPerspectiveRepositoryImpl.swift => MockPerspectiveRepository.swift} (95%) create mode 100644 Projects/Domain/Perspective/Sources/PerspectiveLiveDependencies.swift rename Projects/Domain/Profile/Interface/Repository/Default/{DefaultProfileRepositoryImpl.swift => MockProfileRepository.swift} (96%) create mode 100644 Projects/Domain/Profile/Sources/ProfileLiveDependencies.swift rename Projects/Domain/Search/Interface/Sources/{DefaultSearchRepositoryImpl.swift => MockSearchRepository.swift} (75%) create mode 100644 Projects/Domain/Search/Sources/SearchLiveDependencies.swift diff --git a/Projects/App/Sources/Di/AppDependencyFactory.swift b/Projects/App/Sources/Di/AppDependencyFactory.swift index 4b892729..360b1bed 100644 --- a/Projects/App/Sources/Di/AppDependencyFactory.swift +++ b/Projects/App/Sources/Di/AppDependencyFactory.swift @@ -5,26 +5,12 @@ import AppUpdateDomain import AudioPlayerService import AuthData import AuthDomain -import BattleData -import BattleDomain -import CommentData -import CommentDomain import ComposableArchitecture import DeviceService import DeviceServiceInterface -import HomeData -import HomeDomain import NetworkModule -import NotificationData -import NotificationDomain -import PerspectiveData -import PerspectiveDomain import PickeStorage import PickeStorageInterface -import ProfileData -import ProfileDomain -import SearchData -import SearchDomain import WeaveDI enum AppDependencyFactory { @@ -33,11 +19,8 @@ enum AppDependencyFactory { @MainActor static func configure(_ values: inout DependencyValues) { values.keychainManager = keychainManager - AuthFeatureFactory.configure(&values) - HomeFeatureFactory.configure(&values) ChatFeatureFactory.configure(&values) ProfileFeatureFactory.configure(&values) - SearchFeatureFactory.configure(&values) AppServiceFactory.configure(&values) } @@ -56,67 +39,24 @@ enum AppDependencyFactory { } } -private enum AuthFeatureFactory { - @MainActor - static func configure(_ values: inout DependencyValues) { - values.authRepository = AuthRepositoryImpl() - values.authUseCase = AuthUseCaseImpl() - values.appleManger = AppleLoginRepositoryImpl() - values.appleOAuthRepository = AppleOAuthRepositoryImpl() - values.googleOAuthRepository = GoogleOAuthRepositoryImpl( - presentationContextProvider: AppPresentationContextProvider() - ) - values.kakaoOAuthRepository = KakaoOAuthRepository( - presentationContextProvider: AppPresentationContextProvider() - ) - values.appleOAuthProvider = AppleOAuthProvider() - values.googleOAuthProvider = GoogleOAuthProvider() - values.kakaoOAuthProvider = KakaoOAuthProvider() - values.unifiedOAuthUseCase = UnifiedOAuthUseCase() - } -} -private enum HomeFeatureFactory { - static func configure(_ values: inout DependencyValues) { - values.homeRepository = HomeRepositoryImpl() - values.homeUseCase = HomeUseCaseImpl() - values.notificationRepository = NotificationRepositoryImpl() - values.notificationUseCase = NotificationUseCaseImpl() - } -} private enum ChatFeatureFactory { static func configure(_ values: inout DependencyValues) { - values.battleRepository = BattleRepositoryImpl() - values.battleUseCase = BattleUseCaseImpl() - values.commentRepository = CommentRepositoryImpl() - values.commentUseCase = CommentUseCaseImpl() - values.perspectiveRepository = PerspectiveRepositoryImpl() - values.perspectiveUseCase = PerspectiveUseCaseImpl() values.audioPlayer = AudioPlayerRepositoryImpl() } } private enum ProfileFeatureFactory { static func configure(_ values: inout DependencyValues) { - values.profileRepository = ProfileRepositoryImpl() - values.profileUseCase = ProfileUseCaseImpl() values.deviceRepository = DeviceRepositoryImpl() values.deviceUseCase = DeviceUseCaseImpl() } } -private enum SearchFeatureFactory { - static func configure(_ values: inout DependencyValues) { - values.searchRepository = SearchRepositoryImpl() - values.searchUseCase = SearchUseCaseImpl() - } -} private enum AppServiceFactory { static func configure(_ values: inout DependencyValues) { values.analyticsUseCase = .liveValue - values.appUpdateRepository = AppUpdateRepositoryImpl() - values.appUpdateUseCase = AppUpdateUseCaseImpl() } } diff --git a/Projects/Data/AppUpdate/Project.swift b/Projects/Data/AppUpdate/Project.swift index 45d6968d..b3736ee6 100644 --- a/Projects/Data/AppUpdate/Project.swift +++ b/Projects/Data/AppUpdate/Project.swift @@ -14,6 +14,7 @@ let project = Project.configure( .Data(implements: .Model), .Network(implements: .NetworkModule), .SPM.logMarco, + .SPM.composableArchitecture, ], sources: ["Sources/**"], hasTests: false diff --git a/Projects/Data/AppUpdate/Sources/AppUpdateLiveDependencies.swift b/Projects/Data/AppUpdate/Sources/AppUpdateLiveDependencies.swift new file mode 100644 index 00000000..354d51d2 --- /dev/null +++ b/Projects/Data/AppUpdate/Sources/AppUpdateLiveDependencies.swift @@ -0,0 +1,13 @@ +// +// AppUpdateLiveDependencies.swift +// AppUpdateData +// +// 이 모듈이 소유한 live 구현을 스스로 등록한다. +// + +import AppUpdateDomainInterface +import ComposableArchitecture + +extension AppUpdateRepositoryDependency: DependencyKey { + public static var liveValue: AppUpdateInterface { AppUpdateRepositoryImpl() } +} diff --git a/Projects/Data/Auth/Sources/AuthLiveDependencies.swift b/Projects/Data/Auth/Sources/AuthLiveDependencies.swift new file mode 100644 index 00000000..3e5fe164 --- /dev/null +++ b/Projects/Data/Auth/Sources/AuthLiveDependencies.swift @@ -0,0 +1,33 @@ +// +// AuthLiveDependencies.swift +// AuthData +// +// 이 모듈이 소유한 live 구현을 스스로 등록한다. +// + +import AuthDomainInterface +import ComposableArchitecture + +extension AuthRepositoryDependency: DependencyKey { + public static var liveValue: AuthInterface { AuthRepositoryImpl() } +} + +extension AppleAuthRequestDependency: DependencyKey { + public static var liveValue: AppleAuthRequestInterface { AppleLoginRepositoryImpl() } +} + +extension AppleOAuthRepositoryDependencyKey: DependencyKey { + public static var liveValue: AppleOAuthInterface { AppleOAuthRepositoryImpl() } +} + +extension GoogleOAuthRepositoryDependencyKey: DependencyKey { + public static var liveValue: GoogleOAuthInterface { + GoogleOAuthRepositoryImpl(presentationContextProvider: AuthPresentationContextProvider()) + } +} + +extension KakaoOAuthRepositoryDependencyKey: DependencyKey { + public static var liveValue: KakaoOAuthInterface { + KakaoOAuthRepository(presentationContextProvider: AuthPresentationContextProvider()) + } +} diff --git a/Projects/Data/Auth/Sources/Repository/Google/GoogleOAuthRepositoryImpl.swift b/Projects/Data/Auth/Sources/Repository/Google/GoogleOAuthRepositoryImpl.swift index 101823ad..a62e40f2 100644 --- a/Projects/Data/Auth/Sources/Repository/Google/GoogleOAuthRepositoryImpl.swift +++ b/Projects/Data/Auth/Sources/Repository/Google/GoogleOAuthRepositoryImpl.swift @@ -5,8 +5,8 @@ // Created by Wonji Suh on 12/29/25. // -import AuthenticationServices import AuthDomainInterface +import AuthenticationServices import Foundation import LogMacro import UIKit @@ -27,7 +27,9 @@ public final class GoogleOAuthRepositoryImpl: NSObject, GoogleOAuthInterface { /// DI 호환을 위해 유지 (WKWebView 기반에서는 미사용) private let presentationContextProvider: ASWebAuthenticationPresentationContextProviding - public init(presentationContextProvider: ASWebAuthenticationPresentationContextProviding) { + /// 저장 프로퍼티 대입만 하므로 격리가 필요 없다. + /// DependencyKey 의 nonisolated `liveValue` 에서 생성된다. + public nonisolated init(presentationContextProvider: ASWebAuthenticationPresentationContextProviding) { self.presentationContextProvider = presentationContextProvider } diff --git a/Projects/App/Sources/Di/AppPresentationContextProvider.swift b/Projects/Data/Auth/Sources/Repository/OAuth/AuthPresentationContextProvider.swift similarity index 61% rename from Projects/App/Sources/Di/AppPresentationContextProvider.swift rename to Projects/Data/Auth/Sources/Repository/OAuth/AuthPresentationContextProvider.swift index 5adecdcd..80fa3860 100644 --- a/Projects/App/Sources/Di/AppPresentationContextProvider.swift +++ b/Projects/Data/Auth/Sources/Repository/OAuth/AuthPresentationContextProvider.swift @@ -1,6 +1,6 @@ // -// AppPresentationContextProvider.swift -// Picke +// AuthPresentationContextProvider.swift +// AuthData // // Created by Wonji Suh on 5/14/26. // @@ -9,8 +9,10 @@ import AuthenticationServices import UIKit /// 앱 전체에서 사용할 ASWebAuthenticationSession용 presentation provider -final class AppPresentationContextProvider: NSObject, ASWebAuthenticationPresentationContextProviding { - func presentationAnchor(for _: ASWebAuthenticationSession) -> ASPresentationAnchor { +public final class AuthPresentationContextProvider: NSObject, ASWebAuthenticationPresentationContextProviding { + override public init() { super.init() } + + public func presentationAnchor(for _: ASWebAuthenticationSession) -> ASPresentationAnchor { UIApplication.shared.connectedScenes .compactMap { $0 as? UIWindowScene } .flatMap(\.windows) diff --git a/Projects/Data/Auth/Sources/Repository/OAuth/Kakao/KakaoOAuthRepository.swift b/Projects/Data/Auth/Sources/Repository/OAuth/Kakao/KakaoOAuthRepository.swift index d2064a77..65fb53a4 100644 --- a/Projects/Data/Auth/Sources/Repository/OAuth/Kakao/KakaoOAuthRepository.swift +++ b/Projects/Data/Auth/Sources/Repository/OAuth/Kakao/KakaoOAuthRepository.swift @@ -5,8 +5,8 @@ // Created by Wonji Suh on 12/05/25. // -import AuthenticationServices import AuthDomainInterface +import AuthenticationServices import Foundation import LogMacro import UIKit @@ -25,7 +25,9 @@ public final class KakaoOAuthRepository: NSObject, KakaoOAuthInterface { /// DI 호환을 위해 유지 (WKWebView 기반에서는 미사용) private let presentationContextProvider: ASWebAuthenticationPresentationContextProviding - public init(presentationContextProvider: ASWebAuthenticationPresentationContextProviding) { + /// 저장 프로퍼티 대입만 하므로 격리가 필요 없다. + /// DependencyKey 의 nonisolated `liveValue` 에서 생성된다. + public nonisolated init(presentationContextProvider: ASWebAuthenticationPresentationContextProviding) { self.presentationContextProvider = presentationContextProvider } diff --git a/Projects/Data/Battle/Project.swift b/Projects/Data/Battle/Project.swift index 1ca2055a..da40c4ad 100644 --- a/Projects/Data/Battle/Project.swift +++ b/Projects/Data/Battle/Project.swift @@ -21,6 +21,7 @@ let project = Project.configure( .Network(implements: .NetworkHeader), .SPM.weaveDI, .SPM.logMarco, + .SPM.composableArchitecture, ], sources: ["Sources/**"], hasTests: true diff --git a/Projects/Data/Battle/Sources/BattleLiveDependencies.swift b/Projects/Data/Battle/Sources/BattleLiveDependencies.swift new file mode 100644 index 00000000..d59368dc --- /dev/null +++ b/Projects/Data/Battle/Sources/BattleLiveDependencies.swift @@ -0,0 +1,13 @@ +// +// BattleLiveDependencies.swift +// BattleData +// +// 이 모듈이 소유한 live 구현을 스스로 등록한다. +// + +import BattleDomainInterface +import ComposableArchitecture + +extension BattleRepositoryDependency: DependencyKey { + public static var liveValue: BattleInterface { BattleRepositoryImpl() } +} diff --git a/Projects/Data/Comment/Project.swift b/Projects/Data/Comment/Project.swift index 291a8ceb..b8529ebe 100644 --- a/Projects/Data/Comment/Project.swift +++ b/Projects/Data/Comment/Project.swift @@ -18,6 +18,7 @@ let project = Project.configure( .Network(implements: .NetworkModule), .Network(implements: .NetworkHeader), .SPM.logMarco, + .SPM.composableArchitecture, ], sources: ["Sources/**"], hasTests: true diff --git a/Projects/Data/Comment/Sources/CommentLiveDependencies.swift b/Projects/Data/Comment/Sources/CommentLiveDependencies.swift new file mode 100644 index 00000000..c00e1bc8 --- /dev/null +++ b/Projects/Data/Comment/Sources/CommentLiveDependencies.swift @@ -0,0 +1,13 @@ +// +// CommentLiveDependencies.swift +// CommentData +// +// 이 모듈이 소유한 live 구현을 스스로 등록한다. +// + +import CommentDomainInterface +import ComposableArchitecture + +extension CommentRepositoryDependency: DependencyKey { + public static var liveValue: CommentInterface { CommentRepositoryImpl() } +} diff --git a/Projects/Data/Home/Project.swift b/Projects/Data/Home/Project.swift index 7a5348e9..6fd6af8a 100644 --- a/Projects/Data/Home/Project.swift +++ b/Projects/Data/Home/Project.swift @@ -20,6 +20,7 @@ let project = Project.configure( .Network(implements: .NetworkHeader), .SPM.weaveDI, .SPM.logMarco, + .SPM.composableArchitecture, ], sources: ["Sources/**"], hasTests: true diff --git a/Projects/Data/Home/Sources/HomeLiveDependencies.swift b/Projects/Data/Home/Sources/HomeLiveDependencies.swift new file mode 100644 index 00000000..1a0a8ae8 --- /dev/null +++ b/Projects/Data/Home/Sources/HomeLiveDependencies.swift @@ -0,0 +1,13 @@ +// +// HomeLiveDependencies.swift +// HomeData +// +// 이 모듈이 소유한 live 구현을 스스로 등록한다. +// + +import HomeDomainInterface +import ComposableArchitecture + +extension HomeRepositoryDependency: DependencyKey { + public static var liveValue: HomeInterface { HomeRepositoryImpl() } +} diff --git a/Projects/Data/Notification/Project.swift b/Projects/Data/Notification/Project.swift index 9127afd5..370854d9 100644 --- a/Projects/Data/Notification/Project.swift +++ b/Projects/Data/Notification/Project.swift @@ -17,6 +17,7 @@ let project = Project.configure( .Network(implements: .NetworkModule), .Network(implements: .NetworkHeader), .SPM.logMarco, + .SPM.composableArchitecture, ], sources: ["Sources/**"], hasTests: true diff --git a/Projects/Data/Notification/Sources/NotificationLiveDependencies.swift b/Projects/Data/Notification/Sources/NotificationLiveDependencies.swift new file mode 100644 index 00000000..179b55c1 --- /dev/null +++ b/Projects/Data/Notification/Sources/NotificationLiveDependencies.swift @@ -0,0 +1,13 @@ +// +// NotificationLiveDependencies.swift +// NotificationData +// +// 이 모듈이 소유한 live 구현을 스스로 등록한다. +// + +import NotificationDomainInterface +import ComposableArchitecture + +extension NotificationRepositoryDependency: DependencyKey { + public static var liveValue: NotificationInterface { NotificationRepositoryImpl() } +} diff --git a/Projects/Data/Perspective/Project.swift b/Projects/Data/Perspective/Project.swift index c0de1708..57e3a577 100644 --- a/Projects/Data/Perspective/Project.swift +++ b/Projects/Data/Perspective/Project.swift @@ -20,6 +20,7 @@ let project = Project.configure( .Network(implements: .NetworkHeader), .SPM.weaveDI, .SPM.logMarco, + .SPM.composableArchitecture, ], sources: ["Sources/**"], hasTests: true diff --git a/Projects/Data/Perspective/Sources/PerspectiveLiveDependencies.swift b/Projects/Data/Perspective/Sources/PerspectiveLiveDependencies.swift new file mode 100644 index 00000000..31524992 --- /dev/null +++ b/Projects/Data/Perspective/Sources/PerspectiveLiveDependencies.swift @@ -0,0 +1,13 @@ +// +// PerspectiveLiveDependencies.swift +// PerspectiveData +// +// 이 모듈이 소유한 live 구현을 스스로 등록한다. +// + +import PerspectiveDomainInterface +import ComposableArchitecture + +extension PerspectiveRepositoryDependency: DependencyKey { + public static var liveValue: PerspectiveInterface { PerspectiveRepositoryImpl() } +} diff --git a/Projects/Data/Profile/Project.swift b/Projects/Data/Profile/Project.swift index 65da7c78..5a31bb20 100644 --- a/Projects/Data/Profile/Project.swift +++ b/Projects/Data/Profile/Project.swift @@ -17,6 +17,7 @@ let project = Project.configure( .Network(implements: .NetworkModule), .Network(implements: .NetworkHeader), .SPM.logMarco, + .SPM.composableArchitecture, ], sources: ["Sources/**"], hasTests: true diff --git a/Projects/Data/Profile/Sources/ProfileLiveDependencies.swift b/Projects/Data/Profile/Sources/ProfileLiveDependencies.swift new file mode 100644 index 00000000..557acf6a --- /dev/null +++ b/Projects/Data/Profile/Sources/ProfileLiveDependencies.swift @@ -0,0 +1,13 @@ +// +// ProfileLiveDependencies.swift +// ProfileData +// +// 이 모듈이 소유한 live 구현을 스스로 등록한다. +// + +import ProfileDomainInterface +import ComposableArchitecture + +extension ProfileRepositoryDependency: DependencyKey { + public static var liveValue: ProfileInterface { ProfileRepositoryImpl() } +} diff --git a/Projects/Data/Search/Project.swift b/Projects/Data/Search/Project.swift index 7ef05c59..11d11845 100644 --- a/Projects/Data/Search/Project.swift +++ b/Projects/Data/Search/Project.swift @@ -20,6 +20,7 @@ let project = Project.configure( .Network(implements: .NetworkModule), .Network(implements: .NetworkHeader), .SPM.logMarco, + .SPM.composableArchitecture, ], sources: ["Sources/**"], hasTests: true diff --git a/Projects/Data/Search/Sources/SearchLiveDependencies.swift b/Projects/Data/Search/Sources/SearchLiveDependencies.swift new file mode 100644 index 00000000..b32f924f --- /dev/null +++ b/Projects/Data/Search/Sources/SearchLiveDependencies.swift @@ -0,0 +1,13 @@ +// +// SearchLiveDependencies.swift +// SearchData +// +// 이 모듈이 소유한 live 구현을 스스로 등록한다. +// + +import SearchDomainInterface +import ComposableArchitecture + +extension SearchRepositoryDependency: DependencyKey { + public static var liveValue: SearchInterface { SearchRepositoryImpl() } +} diff --git a/Projects/Domain/AppUpdate/Interface/AppUpdateInterface.swift b/Projects/Domain/AppUpdate/Interface/AppUpdateInterface.swift index 4749894b..e6c3b4a6 100644 --- a/Projects/Domain/AppUpdate/Interface/AppUpdateInterface.swift +++ b/Projects/Domain/AppUpdate/Interface/AppUpdateInterface.swift @@ -5,22 +5,14 @@ import Foundation -import WeaveDI +import ComposableArchitecture public protocol AppUpdateInterface: Sendable { func checkForUpdate() async throws -> AppUpdateInfo } -public struct AppUpdateRepositoryDependency: DependencyKey { - public static var liveValue: AppUpdateInterface { - UnifiedDI.resolve(AppUpdateInterface.self) ?? DefaultAppUpdateRepositoryImpl() - } - - public static var testValue: AppUpdateInterface { - UnifiedDI.resolve(AppUpdateInterface.self) ?? DefaultAppUpdateRepositoryImpl() - } - - public static var previewValue: AppUpdateInterface = liveValue +public enum AppUpdateRepositoryDependency: TestDependencyKey { + public static var testValue: AppUpdateInterface { MockAppUpdateRepository() } } public extension DependencyValues { diff --git a/Projects/Domain/AppUpdate/Interface/AppUpdateUseCaseInterface.swift b/Projects/Domain/AppUpdate/Interface/AppUpdateUseCaseInterface.swift index c1c63689..c27872fc 100644 --- a/Projects/Domain/AppUpdate/Interface/AppUpdateUseCaseInterface.swift +++ b/Projects/Domain/AppUpdate/Interface/AppUpdateUseCaseInterface.swift @@ -5,22 +5,14 @@ import Foundation -import WeaveDI +import ComposableArchitecture public protocol AppUpdateUseCaseInterface: Sendable { func checkForUpdate() async throws -> AppUpdateInfo? } -public struct AppUpdateUseCaseDependency: DependencyKey { - public static var liveValue: AppUpdateUseCaseInterface { - UnifiedDI.resolve(AppUpdateUseCaseInterface.self) ?? DefaultAppUpdateUseCaseImpl() - } - - public static var testValue: AppUpdateUseCaseInterface { - UnifiedDI.resolve(AppUpdateUseCaseInterface.self) ?? DefaultAppUpdateUseCaseImpl() - } - - public static var previewValue: AppUpdateUseCaseInterface = liveValue +public enum AppUpdateUseCaseDependency: TestDependencyKey { + public static var testValue: AppUpdateUseCaseInterface { MockAppUpdateUseCase() } } public extension DependencyValues { diff --git a/Projects/Domain/AppUpdate/Interface/Default/DefaultAppUpdateRepositoryImpl.swift b/Projects/Domain/AppUpdate/Interface/Default/MockAppUpdateRepository.swift similarity index 80% rename from Projects/Domain/AppUpdate/Interface/Default/DefaultAppUpdateRepositoryImpl.swift rename to Projects/Domain/AppUpdate/Interface/Default/MockAppUpdateRepository.swift index 0f6c5ddf..303800fa 100644 --- a/Projects/Domain/AppUpdate/Interface/Default/DefaultAppUpdateRepositoryImpl.swift +++ b/Projects/Domain/AppUpdate/Interface/Default/MockAppUpdateRepository.swift @@ -1,5 +1,5 @@ // -// DefaultAppUpdateRepositoryImpl.swift +// MockAppUpdateRepository.swift // AppUpdateDomain // @@ -7,7 +7,7 @@ import Foundation import AppUpdateDomainInterface -public final class DefaultAppUpdateRepositoryImpl: AppUpdateInterface { +public final class MockAppUpdateRepository: AppUpdateInterface { public init() {} public func checkForUpdate() async throws -> AppUpdateInfo { diff --git a/Projects/Domain/AppUpdate/Interface/Default/DefaultAppUpdateUseCaseImpl.swift b/Projects/Domain/AppUpdate/Interface/Default/MockAppUpdateUseCase.swift similarity index 61% rename from Projects/Domain/AppUpdate/Interface/Default/DefaultAppUpdateUseCaseImpl.swift rename to Projects/Domain/AppUpdate/Interface/Default/MockAppUpdateUseCase.swift index 4714bee0..612ec642 100644 --- a/Projects/Domain/AppUpdate/Interface/Default/DefaultAppUpdateUseCaseImpl.swift +++ b/Projects/Domain/AppUpdate/Interface/Default/MockAppUpdateUseCase.swift @@ -1,5 +1,5 @@ // -// DefaultAppUpdateUseCaseImpl.swift +// MockAppUpdateUseCase.swift // AppUpdateDomain // @@ -7,7 +7,7 @@ import Foundation import AppUpdateDomainInterface -public struct DefaultAppUpdateUseCaseImpl: AppUpdateUseCaseInterface { +public struct MockAppUpdateUseCase: AppUpdateUseCaseInterface { public init() {} public func checkForUpdate() async throws -> AppUpdateInfo? { diff --git a/Projects/Domain/AppUpdate/Sources/AppUpdateLiveDependencies.swift b/Projects/Domain/AppUpdate/Sources/AppUpdateLiveDependencies.swift new file mode 100644 index 00000000..acb5b60a --- /dev/null +++ b/Projects/Domain/AppUpdate/Sources/AppUpdateLiveDependencies.swift @@ -0,0 +1,13 @@ +// +// AppUpdateLiveDependencies.swift +// AppUpdateDomain +// +// 이 모듈이 소유한 live 구현을 스스로 등록한다. +// + +import AppUpdateDomainInterface +import ComposableArchitecture + +extension AppUpdateUseCaseDependency: DependencyKey { + public static var liveValue: AppUpdateUseCaseInterface { AppUpdateUseCaseImpl() } +} diff --git a/Projects/Domain/Auth/Interface/Contract/Apple/Default/DefaultAppleAuthRequestImpl.swift b/Projects/Domain/Auth/Interface/Contract/Apple/Default/MockAppleAuthRequest.swift similarity index 93% rename from Projects/Domain/Auth/Interface/Contract/Apple/Default/DefaultAppleAuthRequestImpl.swift rename to Projects/Domain/Auth/Interface/Contract/Apple/Default/MockAppleAuthRequest.swift index 911dc97d..a0d821e0 100644 --- a/Projects/Domain/Auth/Interface/Contract/Apple/Default/DefaultAppleAuthRequestImpl.swift +++ b/Projects/Domain/Auth/Interface/Contract/Apple/Default/MockAppleAuthRequest.swift @@ -1,5 +1,5 @@ // -// DefaultAppleAuthRequestImpl.swift +// MockAppleAuthRequest.swift // DomainInterface // // Created by Wonji Suh on 12/26/25. @@ -12,7 +12,7 @@ import CryptoKit /// Default fallback implementation of AppleAuthRequestInterface -public struct DefaultAppleAuthRequestImpl: AppleAuthRequestInterface { +public struct MockAppleAuthRequest: AppleAuthRequestInterface { public init() {} diff --git a/Projects/Domain/Auth/Interface/Contract/Apple/Interface/AppleAuthRequestInterface.swift b/Projects/Domain/Auth/Interface/Contract/Apple/Interface/AppleAuthRequestInterface.swift index 9c98d6f2..e0789086 100644 --- a/Projects/Domain/Auth/Interface/Contract/Apple/Interface/AppleAuthRequestInterface.swift +++ b/Projects/Domain/Auth/Interface/Contract/Apple/Interface/AppleAuthRequestInterface.swift @@ -7,23 +7,15 @@ import Foundation import AuthenticationServices -import WeaveDI +import ComposableArchitecture public protocol AppleAuthRequestInterface: Sendable { func prepare(_ request: ASAuthorizationAppleIDRequest) -> String } ///// OAuth Repository의 DependencyKey 구조체 -public struct AppleAuthRequestDependency: DependencyKey { - public static var liveValue: AppleAuthRequestInterface { - UnifiedDI.resolve(AppleAuthRequestInterface.self) ?? DefaultAppleAuthRequestImpl() - } - - public static var testValue: AppleAuthRequestInterface { - UnifiedDI.resolve(AppleAuthRequestInterface.self) ?? DefaultAppleAuthRequestImpl() - } - - public static var previewValue: AppleAuthRequestInterface = liveValue +public enum AppleAuthRequestDependency: TestDependencyKey { + public static var testValue: AppleAuthRequestInterface { MockAppleAuthRequest() } } /// DependencyValues extension으로 간편한 접근 제공 diff --git a/Projects/Domain/Auth/Interface/Contract/Apple/Interface/AppleOAuthInterface.swift b/Projects/Domain/Auth/Interface/Contract/Apple/Interface/AppleOAuthInterface.swift index 203252f7..a9a2386e 100644 --- a/Projects/Domain/Auth/Interface/Contract/Apple/Interface/AppleOAuthInterface.swift +++ b/Projects/Domain/Auth/Interface/Contract/Apple/Interface/AppleOAuthInterface.swift @@ -9,7 +9,7 @@ import Foundation import AuthenticationServices -import WeaveDI +import ComposableArchitecture public protocol AppleOAuthInterface: Sendable { func signIn() async throws -> AppleOAuthPayload @@ -20,14 +20,8 @@ public protocol AppleOAuthInterface: Sendable { } // MARK: - Dependencies -public struct AppleOAuthRepositoryDependencyKey: DependencyKey { - public static var liveValue: AppleOAuthInterface { - UnifiedDI.resolve(AppleOAuthInterface.self) ?? MockAppleOAuthRepository() - } - public static var previewValue: AppleOAuthInterface { - UnifiedDI.resolve(AppleOAuthInterface.self) ?? MockAppleOAuthRepository() - } - public static var testValue: AppleOAuthInterface = MockAppleOAuthRepository() +public enum AppleOAuthRepositoryDependencyKey: TestDependencyKey { + public static var testValue: AppleOAuthInterface { MockAppleOAuthRepository() } } public extension DependencyValues { diff --git a/Projects/Domain/Auth/Interface/Contract/Apple/Interface/AppleOAuthProviderInterface.swift b/Projects/Domain/Auth/Interface/Contract/Apple/Interface/AppleOAuthProviderInterface.swift index eff78271..f6ca94c7 100644 --- a/Projects/Domain/Auth/Interface/Contract/Apple/Interface/AppleOAuthProviderInterface.swift +++ b/Projects/Domain/Auth/Interface/Contract/Apple/Interface/AppleOAuthProviderInterface.swift @@ -7,7 +7,7 @@ import Foundation import AuthenticationServices -import WeaveDI +import ComposableArchitecture /// Apple OAuth Provider Interface 프로토콜 public protocol AppleOAuthProviderInterface: Sendable { @@ -20,16 +20,8 @@ public protocol AppleOAuthProviderInterface: Sendable { } /// Apple OAuth Provider의 DependencyKey 구조체 -public struct AppleOAuthProviderDependency: DependencyKey { - public static var liveValue: AppleOAuthProviderInterface { - UnifiedDI.resolve(AppleOAuthProviderInterface.self) ?? MockAppleOAuthProvider() - } - - public static var testValue: AppleOAuthProviderInterface { - UnifiedDI.resolve(AppleOAuthProviderInterface.self) ?? MockAppleOAuthProvider() - } - - public static var previewValue: AppleOAuthProviderInterface = testValue +public enum AppleOAuthProviderDependency: TestDependencyKey { + public static var testValue: AppleOAuthProviderInterface { MockAppleOAuthProvider() } } /// DependencyValues extension으로 간편한 접근 제공 diff --git a/Projects/Domain/Auth/Interface/Contract/Auth/Default/DefaultAuthRepositoryImpl.swift b/Projects/Domain/Auth/Interface/Contract/Auth/Default/MockAuthRepository.swift similarity index 91% rename from Projects/Domain/Auth/Interface/Contract/Auth/Default/DefaultAuthRepositoryImpl.swift rename to Projects/Domain/Auth/Interface/Contract/Auth/Default/MockAuthRepository.swift index b6181dd1..b50c6a97 100644 --- a/Projects/Domain/Auth/Interface/Contract/Auth/Default/DefaultAuthRepositoryImpl.swift +++ b/Projects/Domain/Auth/Interface/Contract/Auth/Default/MockAuthRepository.swift @@ -1,5 +1,5 @@ // -// DefaultAuthRepositoryImpl.swift +// MockAuthRepository.swift // DomainInterface // // Created by Wonji Suh on 5/14/26. @@ -8,7 +8,7 @@ import Foundation /// Auth Repository 의 기본 구현체 (테스트 / 프리뷰용 no-op) -public final class DefaultAuthRepositoryImpl: AuthInterface, @unchecked Sendable { +public final class MockAuthRepository: AuthInterface, @unchecked Sendable { public init() {} public func login( diff --git a/Projects/Domain/Auth/Interface/Contract/Auth/Default/DefaultAuthUseCaseImpl.swift b/Projects/Domain/Auth/Interface/Contract/Auth/Default/MockAuthUseCase.swift similarity index 91% rename from Projects/Domain/Auth/Interface/Contract/Auth/Default/DefaultAuthUseCaseImpl.swift rename to Projects/Domain/Auth/Interface/Contract/Auth/Default/MockAuthUseCase.swift index e36bd0f3..42b1e514 100644 --- a/Projects/Domain/Auth/Interface/Contract/Auth/Default/DefaultAuthUseCaseImpl.swift +++ b/Projects/Domain/Auth/Interface/Contract/Auth/Default/MockAuthUseCase.swift @@ -1,12 +1,12 @@ // -// DefaultAuthUseCaseImpl.swift +// MockAuthUseCase.swift // DomainInterface // import Foundation /// Auth UseCase 의 기본 구현체 (테스트 / 프리뷰용 no-op) -public final class DefaultAuthUseCaseImpl: AuthUseCaseInterface, @unchecked Sendable { +public final class MockAuthUseCase: AuthUseCaseInterface, @unchecked Sendable { public init() {} public func login( diff --git a/Projects/Domain/Auth/Interface/Contract/Auth/Interface/AuthInterface.swift b/Projects/Domain/Auth/Interface/Contract/Auth/Interface/AuthInterface.swift index c303b873..1b925e30 100644 --- a/Projects/Domain/Auth/Interface/Contract/Auth/Interface/AuthInterface.swift +++ b/Projects/Domain/Auth/Interface/Contract/Auth/Interface/AuthInterface.swift @@ -6,7 +6,7 @@ // import Foundation -import WeaveDI +import ComposableArchitecture /// Auth 관련 비즈니스 로직을 위한 Interface 프로토콜 public protocol AuthInterface: Sendable { @@ -23,16 +23,8 @@ public protocol AuthInterface: Sendable { } /// Auth Repository 의 DependencyKey 구조체 -public struct AuthRepositoryDependency: DependencyKey { - public static var liveValue: AuthInterface { - return UnifiedDI.resolve(AuthInterface.self) ?? DefaultAuthRepositoryImpl() - } - - public static var testValue: AuthInterface { - return UnifiedDI.resolve(AuthInterface.self) ?? DefaultAuthRepositoryImpl() - } - - public static var previewValue: AuthInterface = liveValue +public enum AuthRepositoryDependency: TestDependencyKey { + public static var testValue: AuthInterface { MockAuthRepository() } } public extension DependencyValues { diff --git a/Projects/Domain/Auth/Interface/Contract/Auth/Interface/AuthUseCaseInterface.swift b/Projects/Domain/Auth/Interface/Contract/Auth/Interface/AuthUseCaseInterface.swift index e9545fa8..a1ab9daf 100644 --- a/Projects/Domain/Auth/Interface/Contract/Auth/Interface/AuthUseCaseInterface.swift +++ b/Projects/Domain/Auth/Interface/Contract/Auth/Interface/AuthUseCaseInterface.swift @@ -4,22 +4,14 @@ // import Foundation -import WeaveDI +import ComposableArchitecture /// Auth 관련 비즈니스 로직 UseCase 를 위한 Interface 프로토콜 public protocol AuthUseCaseInterface: AuthInterface {} /// Auth UseCase 의 DependencyKey 구조체 -public struct AuthUseCaseDependency: DependencyKey { - public static var liveValue: AuthUseCaseInterface { - return UnifiedDI.resolve(AuthUseCaseInterface.self) ?? DefaultAuthUseCaseImpl() - } - - public static var testValue: AuthUseCaseInterface { - return UnifiedDI.resolve(AuthUseCaseInterface.self) ?? DefaultAuthUseCaseImpl() - } - - public static var previewValue: AuthUseCaseInterface = liveValue +public enum AuthUseCaseDependency: TestDependencyKey { + public static var testValue: AuthUseCaseInterface { MockAuthUseCase() } } public extension DependencyValues { diff --git a/Projects/Domain/Auth/Interface/Contract/Google/Interface/GoogleOAuthInterface.swift b/Projects/Domain/Auth/Interface/Contract/Google/Interface/GoogleOAuthInterface.swift index 702551e5..f9eaf446 100644 --- a/Projects/Domain/Auth/Interface/Contract/Google/Interface/GoogleOAuthInterface.swift +++ b/Projects/Domain/Auth/Interface/Contract/Google/Interface/GoogleOAuthInterface.swift @@ -6,20 +6,14 @@ // import Foundation -import WeaveDI +import ComposableArchitecture public protocol GoogleOAuthInterface: Sendable { func signIn() async throws -> GoogleOAuthPayload } -public struct GoogleOAuthRepositoryDependencyKey: DependencyKey { - public static var liveValue: GoogleOAuthInterface { - UnifiedDI.resolve(GoogleOAuthInterface.self) ?? MockGoogleOAuthRepository() - } - public static var previewValue: GoogleOAuthInterface { - UnifiedDI.resolve(GoogleOAuthInterface.self) ?? MockGoogleOAuthRepository() - } - public static var testValue: GoogleOAuthInterface = MockGoogleOAuthRepository() +public enum GoogleOAuthRepositoryDependencyKey: TestDependencyKey { + public static var testValue: GoogleOAuthInterface { MockGoogleOAuthRepository() } } public extension DependencyValues { diff --git a/Projects/Domain/Auth/Interface/Contract/Google/Interface/GoogleOAuthProviderInterface.swift b/Projects/Domain/Auth/Interface/Contract/Google/Interface/GoogleOAuthProviderInterface.swift index 575cf99a..758969e8 100644 --- a/Projects/Domain/Auth/Interface/Contract/Google/Interface/GoogleOAuthProviderInterface.swift +++ b/Projects/Domain/Auth/Interface/Contract/Google/Interface/GoogleOAuthProviderInterface.swift @@ -6,7 +6,7 @@ // import Foundation -import WeaveDI +import ComposableArchitecture /// Google OAuth Provider Interface 프로토콜 public protocol GoogleOAuthProviderInterface: Sendable { @@ -14,16 +14,8 @@ public protocol GoogleOAuthProviderInterface: Sendable { } /// Google OAuth Provider 의 DependencyKey 구조체 -public struct GoogleOAuthProviderDependency: DependencyKey { - public static var liveValue: GoogleOAuthProviderInterface { - return UnifiedDI.resolve(GoogleOAuthProviderInterface.self) ?? MockGoogleOAuthProvider() - } - - public static var testValue: GoogleOAuthProviderInterface { - return UnifiedDI.resolve(GoogleOAuthProviderInterface.self) ?? MockGoogleOAuthProvider() - } - - public static var previewValue: GoogleOAuthProviderInterface = testValue +public enum GoogleOAuthProviderDependency: TestDependencyKey { + public static var testValue: GoogleOAuthProviderInterface { MockGoogleOAuthProvider() } } public extension DependencyValues { diff --git a/Projects/Domain/Auth/Interface/Contract/Kakao/Interface/KakaoOAuthProviderInterface.swift b/Projects/Domain/Auth/Interface/Contract/Kakao/Interface/KakaoOAuthProviderInterface.swift index 67efaebe..7a79d923 100644 --- a/Projects/Domain/Auth/Interface/Contract/Kakao/Interface/KakaoOAuthProviderInterface.swift +++ b/Projects/Domain/Auth/Interface/Contract/Kakao/Interface/KakaoOAuthProviderInterface.swift @@ -6,7 +6,7 @@ // import Foundation -import WeaveDI +import ComposableArchitecture /// Kakao OAuth Provider Interface 프로토콜 public protocol KakaoOAuthProviderInterface: Sendable { @@ -14,16 +14,8 @@ public protocol KakaoOAuthProviderInterface: Sendable { } /// Kakao OAuth Provider의 DependencyKey 구조체 -public struct KakaoOAuthProviderDependency: DependencyKey { - public static var liveValue: KakaoOAuthProviderInterface { - return UnifiedDI.resolve(KakaoOAuthProviderInterface.self) ?? MockKakaoOAuthProvider() - } - - public static var testValue: KakaoOAuthProviderInterface { - return UnifiedDI.resolve(KakaoOAuthProviderInterface.self) ?? MockKakaoOAuthProvider() - } - - public static var previewValue: KakaoOAuthProviderInterface = testValue +public enum KakaoOAuthProviderDependency: TestDependencyKey { + public static var testValue: KakaoOAuthProviderInterface { MockKakaoOAuthProvider() } } /// DependencyValues extension으로 간편한 접근 제공 diff --git a/Projects/Domain/Auth/Interface/Contract/Kakao/Interface/KakaoOAuthRepositoryProtocol.swift b/Projects/Domain/Auth/Interface/Contract/Kakao/Interface/KakaoOAuthRepositoryProtocol.swift index 052fbcee..0aa386e9 100644 --- a/Projects/Domain/Auth/Interface/Contract/Kakao/Interface/KakaoOAuthRepositoryProtocol.swift +++ b/Projects/Domain/Auth/Interface/Contract/Kakao/Interface/KakaoOAuthRepositoryProtocol.swift @@ -7,7 +7,7 @@ import Dependencies import Foundation -import WeaveDI +import ComposableArchitecture public protocol KakaoOAuthInterface: Sendable { func signIn() async throws -> KakaoOAuthPayload @@ -15,13 +15,8 @@ public protocol KakaoOAuthInterface: Sendable { // MARK: - Dependencies -public struct KakaoOAuthRepositoryDependencyKey: DependencyKey { - public static var liveValue: KakaoOAuthInterface { - return UnifiedDI.resolve(KakaoOAuthInterface.self) ?? MockKakaoOAuthRepository() - } - - public static var previewValue: KakaoOAuthInterface = MockKakaoOAuthRepository() - public static var testValue: KakaoOAuthInterface = MockKakaoOAuthRepository() +public enum KakaoOAuthRepositoryDependencyKey: TestDependencyKey { + public static var testValue: KakaoOAuthInterface { MockKakaoOAuthRepository() } } public extension DependencyValues { diff --git a/Projects/Domain/Auth/Interface/Contract/OAuth/Default/DefaultUnifiedOAuthUseCaseImpl.swift b/Projects/Domain/Auth/Interface/Contract/OAuth/Default/MockUnifiedOAuthUseCase.swift similarity index 69% rename from Projects/Domain/Auth/Interface/Contract/OAuth/Default/DefaultUnifiedOAuthUseCaseImpl.swift rename to Projects/Domain/Auth/Interface/Contract/OAuth/Default/MockUnifiedOAuthUseCase.swift index c58df50d..76394a24 100644 --- a/Projects/Domain/Auth/Interface/Contract/OAuth/Default/DefaultUnifiedOAuthUseCaseImpl.swift +++ b/Projects/Domain/Auth/Interface/Contract/OAuth/Default/MockUnifiedOAuthUseCase.swift @@ -1,5 +1,5 @@ // -// DefaultUnifiedOAuthUseCaseImpl.swift +// MockUnifiedOAuthUseCase.swift // DomainInterface // @@ -8,7 +8,7 @@ import Foundation import AuthDomainInterface /// 통합 OAuth UseCase 의 기본 구현체 (테스트 / 프리뷰용 no-op) -public final class DefaultUnifiedOAuthUseCaseImpl: UnifiedOAuthUseCaseInterface, @unchecked Sendable { +public final class MockUnifiedOAuthUseCase: UnifiedOAuthUseCaseInterface, @unchecked Sendable { public init() {} public func processOAuthFlow( @@ -18,6 +18,6 @@ public final class DefaultUnifiedOAuthUseCaseImpl: UnifiedOAuthUseCaseInterface, googleToken _: String?, kakaoToken _: String? ) async -> Result { - .failure(.unknownError("DefaultUnifiedOAuthUseCaseImpl")) + .failure(.unknownError("MockUnifiedOAuthUseCase")) } } diff --git a/Projects/Domain/Auth/Interface/Contract/OAuth/Interface/UnifiedOAuthUseCaseInterface.swift b/Projects/Domain/Auth/Interface/Contract/OAuth/Interface/UnifiedOAuthUseCaseInterface.swift index eda194a9..11647976 100644 --- a/Projects/Domain/Auth/Interface/Contract/OAuth/Interface/UnifiedOAuthUseCaseInterface.swift +++ b/Projects/Domain/Auth/Interface/Contract/OAuth/Interface/UnifiedOAuthUseCaseInterface.swift @@ -5,7 +5,7 @@ @preconcurrency import AuthenticationServices import Foundation -import WeaveDI +import ComposableArchitecture import AuthDomainInterface /// 통합 OAuth UseCase 를 위한 Interface 프로토콜 @@ -21,16 +21,8 @@ public protocol UnifiedOAuthUseCaseInterface: Sendable { } /// 통합 OAuth UseCase 의 DependencyKey 구조체 -public struct UnifiedOAuthUseCaseDependency: DependencyKey { - public static var liveValue: UnifiedOAuthUseCaseInterface { - return UnifiedDI.resolve(UnifiedOAuthUseCaseInterface.self) ?? DefaultUnifiedOAuthUseCaseImpl() - } - - public static var testValue: UnifiedOAuthUseCaseInterface { - return UnifiedDI.resolve(UnifiedOAuthUseCaseInterface.self) ?? DefaultUnifiedOAuthUseCaseImpl() - } - - public static var previewValue: UnifiedOAuthUseCaseInterface = liveValue +public enum UnifiedOAuthUseCaseDependency: TestDependencyKey { + public static var testValue: UnifiedOAuthUseCaseInterface { MockUnifiedOAuthUseCase() } } public extension DependencyValues { diff --git a/Projects/Domain/Auth/Sources/AuthLiveDependencies.swift b/Projects/Domain/Auth/Sources/AuthLiveDependencies.swift new file mode 100644 index 00000000..c4c1b02d --- /dev/null +++ b/Projects/Domain/Auth/Sources/AuthLiveDependencies.swift @@ -0,0 +1,29 @@ +// +// AuthLiveDependencies.swift +// AuthDomain +// +// 이 모듈이 소유한 live 구현을 스스로 등록한다. +// + +import AuthDomainInterface +import ComposableArchitecture + +extension AuthUseCaseDependency: DependencyKey { + public static var liveValue: AuthUseCaseInterface { AuthUseCaseImpl() } +} + +extension UnifiedOAuthUseCaseDependency: DependencyKey { + public static var liveValue: UnifiedOAuthUseCaseInterface { UnifiedOAuthUseCase() } +} + +extension AppleOAuthProviderDependency: DependencyKey { + public static var liveValue: AppleOAuthProviderInterface { AppleOAuthProvider() } +} + +extension GoogleOAuthProviderDependency: DependencyKey { + public static var liveValue: GoogleOAuthProviderInterface { GoogleOAuthProvider() } +} + +extension KakaoOAuthProviderDependency: DependencyKey { + public static var liveValue: KakaoOAuthProviderInterface { KakaoOAuthProvider() } +} diff --git a/Projects/Domain/Auth/Sources/OAuth/Dependencies+OAuth.swift b/Projects/Domain/Auth/Sources/OAuth/Dependencies+OAuth.swift deleted file mode 100644 index eb886615..00000000 --- a/Projects/Domain/Auth/Sources/OAuth/Dependencies+OAuth.swift +++ /dev/null @@ -1,34 +0,0 @@ -// -// Dependencies+OAuth.swift -// UseCase -// -// Created by Wonji Suh on 12/29/25. -// - -import Dependencies -import AuthDomainInterface -import Foundation - -// MARK: - Apple OAuth Provider Registration - -public extension AppleOAuthProviderDependency { - static var liveValue: AppleOAuthProviderInterface { - AppleOAuthProvider() - } -} - -// MARK: - Google OAuth Provider Registration - -public extension GoogleOAuthProviderDependency { - static var liveValue: GoogleOAuthProviderInterface { - GoogleOAuthProvider() - } -} - -// MARK: - Kakao OAuth Provider Registration - -public extension KakaoOAuthProviderDependency { - static var liveValue: KakaoOAuthProviderInterface { - KakaoOAuthProvider() - } -} diff --git a/Projects/Domain/Battle/Interface/Contract/Default/DefaultBattleRepositoryImpl.swift b/Projects/Domain/Battle/Interface/Contract/Default/MockBattleRepository.swift similarity index 96% rename from Projects/Domain/Battle/Interface/Contract/Default/DefaultBattleRepositoryImpl.swift rename to Projects/Domain/Battle/Interface/Contract/Default/MockBattleRepository.swift index cc1c2cab..604d35c7 100644 --- a/Projects/Domain/Battle/Interface/Contract/Default/DefaultBattleRepositoryImpl.swift +++ b/Projects/Domain/Battle/Interface/Contract/Default/MockBattleRepository.swift @@ -1,5 +1,5 @@ // -// DefaultBattleRepositoryImpl.swift +// MockBattleRepository.swift // DomainInterface // @@ -7,7 +7,7 @@ import CommonDomainInterface import Foundation import HomeDomainInterface -public struct DefaultBattleRepositoryImpl: BattleInterface { +public struct MockBattleRepository: BattleInterface { public init() {} public func fetchTodayBattles() async throws -> TodayBattlePage { diff --git a/Projects/Domain/Battle/Interface/Contract/Interface/BattleInterface.swift b/Projects/Domain/Battle/Interface/Contract/Interface/BattleInterface.swift index 464c9288..2489e548 100644 --- a/Projects/Domain/Battle/Interface/Contract/Interface/BattleInterface.swift +++ b/Projects/Domain/Battle/Interface/Contract/Interface/BattleInterface.swift @@ -6,7 +6,7 @@ import CommonDomainInterface import Foundation import HomeDomainInterface -import WeaveDI +import ComposableArchitecture public protocol BattleInterface: Sendable { func fetchTodayBattles() async throws -> TodayBattlePage @@ -39,16 +39,12 @@ public protocol BattleInterface: Sendable { func proposeBattle(_ draft: BattleProposalDraft) async throws -> BattleProposal } -public struct BattleRepositoryDependency: DependencyKey { - public static var liveValue: BattleInterface { - UnifiedDI.resolve(BattleInterface.self) ?? DefaultBattleRepositoryImpl() - } - - public static var testValue: BattleInterface { - UnifiedDI.resolve(BattleInterface.self) ?? DefaultBattleRepositoryImpl() - } +public enum BattleRepositoryDependency: TestDependencyKey { + public static var testValue: BattleInterface { MockBattleRepository() } +} - public static var previewValue: BattleInterface = liveValue +public enum BattleUseCaseDependency: TestDependencyKey { + public static var testValue: BattleInterface { MockBattleRepository() } } public extension DependencyValues { @@ -61,7 +57,7 @@ public extension DependencyValues { // UseCase 소비자용 별칭 — 인터페이스 강제(구현 모듈 import 불필요). pass-through 라 리포지토리 키로 해소. public extension DependencyValues { var battleUseCase: BattleInterface { - get { self[BattleRepositoryDependency.self] } - set { self[BattleRepositoryDependency.self] = newValue } + get { self[BattleUseCaseDependency.self] } + set { self[BattleUseCaseDependency.self] = newValue } } } diff --git a/Projects/Domain/Battle/Sources/BattleLiveDependencies.swift b/Projects/Domain/Battle/Sources/BattleLiveDependencies.swift new file mode 100644 index 00000000..caabc91b --- /dev/null +++ b/Projects/Domain/Battle/Sources/BattleLiveDependencies.swift @@ -0,0 +1,13 @@ +// +// BattleLiveDependencies.swift +// BattleDomain +// +// 이 모듈이 소유한 live 구현을 스스로 등록한다. +// + +import BattleDomainInterface +import ComposableArchitecture + +extension BattleUseCaseDependency: DependencyKey { + public static var liveValue: BattleInterface { BattleUseCaseImpl() } +} diff --git a/Projects/Domain/Comment/Interface/CommentInterface.swift b/Projects/Domain/Comment/Interface/CommentInterface.swift index a19d8cec..75d9dd62 100644 --- a/Projects/Domain/Comment/Interface/CommentInterface.swift +++ b/Projects/Domain/Comment/Interface/CommentInterface.swift @@ -6,14 +6,14 @@ import CommonDomainInterface import Dependencies import Foundation -import WeaveDI +import ComposableArchitecture public protocol CommentInterface: Sendable { func likeComment(commentId: Int) async throws -> CommentLikeResult func unlikeComment(commentId: Int) async throws -> CommentLikeResult } -public struct DefaultCommentRepositoryImpl: CommentInterface { +public struct MockCommentRepository: CommentInterface { public init() {} public func likeComment(commentId: Int) async throws -> CommentLikeResult { @@ -25,16 +25,12 @@ public struct DefaultCommentRepositoryImpl: CommentInterface { } } -public struct CommentRepositoryDependency: DependencyKey { - public static var liveValue: CommentInterface { - UnifiedDI.resolve(CommentInterface.self) ?? DefaultCommentRepositoryImpl() - } - - public static var testValue: CommentInterface { - UnifiedDI.resolve(CommentInterface.self) ?? DefaultCommentRepositoryImpl() - } +public enum CommentRepositoryDependency: TestDependencyKey { + public static var testValue: CommentInterface { MockCommentRepository() } +} - public static var previewValue: CommentInterface = liveValue +public enum CommentUseCaseDependency: TestDependencyKey { + public static var testValue: CommentInterface { MockCommentRepository() } } public extension DependencyValues { @@ -47,7 +43,7 @@ public extension DependencyValues { // UseCase 소비자용 별칭 — 인터페이스 강제(구현 모듈 import 불필요). pass-through 라 리포지토리 키로 해소. public extension DependencyValues { var commentUseCase: CommentInterface { - get { self[CommentRepositoryDependency.self] } - set { self[CommentRepositoryDependency.self] = newValue } + get { self[CommentUseCaseDependency.self] } + set { self[CommentUseCaseDependency.self] = newValue } } } diff --git a/Projects/Domain/Comment/Sources/CommentLiveDependencies.swift b/Projects/Domain/Comment/Sources/CommentLiveDependencies.swift new file mode 100644 index 00000000..b1d56490 --- /dev/null +++ b/Projects/Domain/Comment/Sources/CommentLiveDependencies.swift @@ -0,0 +1,13 @@ +// +// CommentLiveDependencies.swift +// CommentDomain +// +// 이 모듈이 소유한 live 구현을 스스로 등록한다. +// + +import CommentDomainInterface +import ComposableArchitecture + +extension CommentUseCaseDependency: DependencyKey { + public static var liveValue: CommentInterface { CommentUseCaseImpl() } +} diff --git a/Projects/Domain/Home/Interface/Repository/HomeInterface.swift b/Projects/Domain/Home/Interface/Repository/HomeInterface.swift index 0cd36937..0c922a0f 100644 --- a/Projects/Domain/Home/Interface/Repository/HomeInterface.swift +++ b/Projects/Domain/Home/Interface/Repository/HomeInterface.swift @@ -6,7 +6,7 @@ // import Foundation -import WeaveDI +import ComposableArchitecture /// 홈 화면 데이터 조회 Repository 인터페이스. public protocol HomeInterface: Sendable { @@ -15,16 +15,12 @@ public protocol HomeInterface: Sendable { // MARK: - Dependency -public struct HomeRepositoryDependency: DependencyKey { - public static var liveValue: HomeInterface { - return UnifiedDI.resolve(HomeInterface.self) ?? DefaultHomeRepositoryImpl() - } - - public static var testValue: HomeInterface { - return UnifiedDI.resolve(HomeInterface.self) ?? DefaultHomeRepositoryImpl() - } +public enum HomeRepositoryDependency: TestDependencyKey { + public static var testValue: HomeInterface { MockHomeRepository() } +} - public static var previewValue: HomeInterface = liveValue +public enum HomeUseCaseDependency: TestDependencyKey { + public static var testValue: HomeInterface { MockHomeRepository() } } public extension DependencyValues { @@ -37,7 +33,7 @@ public extension DependencyValues { // UseCase 소비자용 별칭 — 인터페이스 강제(구현 모듈 import 불필요). pass-through 라 리포지토리 키로 해소. public extension DependencyValues { var homeUseCase: HomeInterface { - get { self[HomeRepositoryDependency.self] } - set { self[HomeRepositoryDependency.self] = newValue } + get { self[HomeUseCaseDependency.self] } + set { self[HomeUseCaseDependency.self] = newValue } } } diff --git a/Projects/Domain/Home/Interface/Repository/DefaultHomeRepositoryImpl.swift b/Projects/Domain/Home/Interface/Repository/MockHomeRepository.swift similarity index 69% rename from Projects/Domain/Home/Interface/Repository/DefaultHomeRepositoryImpl.swift rename to Projects/Domain/Home/Interface/Repository/MockHomeRepository.swift index d966240e..31213666 100644 --- a/Projects/Domain/Home/Interface/Repository/DefaultHomeRepositoryImpl.swift +++ b/Projects/Domain/Home/Interface/Repository/MockHomeRepository.swift @@ -1,5 +1,5 @@ // -// DefaultHomeRepositoryImpl.swift +// MockHomeRepository.swift // DomainInterface // // Created by Wonji Suh on 5/16/26. @@ -8,7 +8,7 @@ import Foundation /// Home Repository 기본 구현체 — 미주입 환경에서 mock 번들을 반환한다. -public final class DefaultHomeRepositoryImpl: HomeInterface, @unchecked Sendable { +public final class MockHomeRepository: HomeInterface, @unchecked Sendable { public init() {} public func fetchHome() async throws -> HomeBundle { diff --git a/Projects/Domain/Home/Sources/HomeLiveDependencies.swift b/Projects/Domain/Home/Sources/HomeLiveDependencies.swift new file mode 100644 index 00000000..f9f5ac7c --- /dev/null +++ b/Projects/Domain/Home/Sources/HomeLiveDependencies.swift @@ -0,0 +1,13 @@ +// +// HomeLiveDependencies.swift +// HomeDomain +// +// 이 모듈이 소유한 live 구현을 스스로 등록한다. +// + +import HomeDomainInterface +import ComposableArchitecture + +extension HomeUseCaseDependency: DependencyKey { + public static var liveValue: HomeInterface { HomeUseCaseImpl() } +} diff --git a/Projects/Domain/Notification/Interface/DefaultNotificationRepositoryImpl.swift b/Projects/Domain/Notification/Interface/MockNotificationRepository.swift similarity index 87% rename from Projects/Domain/Notification/Interface/DefaultNotificationRepositoryImpl.swift rename to Projects/Domain/Notification/Interface/MockNotificationRepository.swift index 9846494f..e6cb72e8 100644 --- a/Projects/Domain/Notification/Interface/DefaultNotificationRepositoryImpl.swift +++ b/Projects/Domain/Notification/Interface/MockNotificationRepository.swift @@ -1,11 +1,11 @@ // -// DefaultNotificationRepositoryImpl.swift +// MockNotificationRepository.swift // DomainInterface // import Foundation -public struct DefaultNotificationRepositoryImpl: NotificationInterface { +public struct MockNotificationRepository: NotificationInterface { public init() {} public func fetchNotifications( diff --git a/Projects/Domain/Notification/Interface/NotificationInterface.swift b/Projects/Domain/Notification/Interface/NotificationInterface.swift index b42f4565..e1fe315c 100644 --- a/Projects/Domain/Notification/Interface/NotificationInterface.swift +++ b/Projects/Domain/Notification/Interface/NotificationInterface.swift @@ -4,7 +4,7 @@ // import Foundation -import WeaveDI +import ComposableArchitecture public protocol NotificationInterface: Sendable { func fetchNotifications( @@ -20,16 +20,12 @@ public protocol NotificationInterface: Sendable { func markAllAsRead() async throws -> Bool } -public struct NotificationRepositoryDependency: DependencyKey { - public static var liveValue: NotificationInterface { - UnifiedDI.resolve(NotificationInterface.self) ?? DefaultNotificationRepositoryImpl() - } - - public static var testValue: NotificationInterface { - UnifiedDI.resolve(NotificationInterface.self) ?? DefaultNotificationRepositoryImpl() - } +public enum NotificationRepositoryDependency: TestDependencyKey { + public static var testValue: NotificationInterface { MockNotificationRepository() } +} - public static var previewValue: NotificationInterface = liveValue +public enum NotificationUseCaseDependency: TestDependencyKey { + public static var testValue: NotificationInterface { MockNotificationRepository() } } public extension DependencyValues { @@ -42,7 +38,7 @@ public extension DependencyValues { // UseCase 소비자용 별칭 — 인터페이스 강제(구현 모듈 import 불필요). pass-through 라 리포지토리 키로 해소. public extension DependencyValues { var notificationUseCase: NotificationInterface { - get { self[NotificationRepositoryDependency.self] } - set { self[NotificationRepositoryDependency.self] = newValue } + get { self[NotificationUseCaseDependency.self] } + set { self[NotificationUseCaseDependency.self] = newValue } } } diff --git a/Projects/Domain/Notification/Sources/NotificationLiveDependencies.swift b/Projects/Domain/Notification/Sources/NotificationLiveDependencies.swift new file mode 100644 index 00000000..b10f5a66 --- /dev/null +++ b/Projects/Domain/Notification/Sources/NotificationLiveDependencies.swift @@ -0,0 +1,13 @@ +// +// NotificationLiveDependencies.swift +// NotificationDomain +// +// 이 모듈이 소유한 live 구현을 스스로 등록한다. +// + +import NotificationDomainInterface +import ComposableArchitecture + +extension NotificationUseCaseDependency: DependencyKey { + public static var liveValue: NotificationInterface { NotificationUseCaseImpl() } +} diff --git a/Projects/Domain/Perspective/Interface/DefaultPerspectiveRepositoryImpl.swift b/Projects/Domain/Perspective/Interface/MockPerspectiveRepository.swift similarity index 95% rename from Projects/Domain/Perspective/Interface/DefaultPerspectiveRepositoryImpl.swift rename to Projects/Domain/Perspective/Interface/MockPerspectiveRepository.swift index 95b8363f..793e15fa 100644 --- a/Projects/Domain/Perspective/Interface/DefaultPerspectiveRepositoryImpl.swift +++ b/Projects/Domain/Perspective/Interface/MockPerspectiveRepository.swift @@ -1,5 +1,5 @@ // -// DefaultPerspectiveRepositoryImpl.swift +// MockPerspectiveRepository.swift // PerspectiveDomainInterface // // Created by Wonji Suh on 6/3/26. @@ -9,7 +9,7 @@ import CommentDomainInterface import CommonDomainInterface import Foundation -public struct DefaultPerspectiveRepositoryImpl: PerspectiveInterface { +public struct MockPerspectiveRepository: PerspectiveInterface { public init() {} public func fetchPerspective(perspectiveId: Int) async throws -> BattlePerspective { diff --git a/Projects/Domain/Perspective/Interface/PerspectiveInterface.swift b/Projects/Domain/Perspective/Interface/PerspectiveInterface.swift index a7f59fc6..15622754 100644 --- a/Projects/Domain/Perspective/Interface/PerspectiveInterface.swift +++ b/Projects/Domain/Perspective/Interface/PerspectiveInterface.swift @@ -7,7 +7,7 @@ import CommentDomainInterface import CommonDomainInterface import Dependencies import Foundation -import WeaveDI +import ComposableArchitecture public protocol PerspectiveInterface: Sendable { func fetchPerspective(perspectiveId: Int) async throws -> BattlePerspective @@ -38,16 +38,12 @@ public protocol PerspectiveInterface: Sendable { func reportComment(perspectiveId: Int, commentId: Int) async throws } -public struct PerspectiveRepositoryDependency: DependencyKey { - public static var liveValue: PerspectiveInterface { - UnifiedDI.resolve(PerspectiveInterface.self) ?? DefaultPerspectiveRepositoryImpl() - } - - public static var testValue: PerspectiveInterface { - UnifiedDI.resolve(PerspectiveInterface.self) ?? DefaultPerspectiveRepositoryImpl() - } +public enum PerspectiveRepositoryDependency: TestDependencyKey { + public static var testValue: PerspectiveInterface { MockPerspectiveRepository() } +} - public static var previewValue: PerspectiveInterface = liveValue +public enum PerspectiveUseCaseDependency: TestDependencyKey { + public static var testValue: PerspectiveInterface { MockPerspectiveRepository() } } public extension DependencyValues { @@ -60,7 +56,7 @@ public extension DependencyValues { // UseCase 소비자용 별칭 — 인터페이스 강제(구현 모듈 import 불필요). pass-through 라 리포지토리 키로 해소. public extension DependencyValues { var perspectiveUseCase: PerspectiveInterface { - get { self[PerspectiveRepositoryDependency.self] } - set { self[PerspectiveRepositoryDependency.self] = newValue } + get { self[PerspectiveUseCaseDependency.self] } + set { self[PerspectiveUseCaseDependency.self] = newValue } } } diff --git a/Projects/Domain/Perspective/Sources/PerspectiveLiveDependencies.swift b/Projects/Domain/Perspective/Sources/PerspectiveLiveDependencies.swift new file mode 100644 index 00000000..2d9839b7 --- /dev/null +++ b/Projects/Domain/Perspective/Sources/PerspectiveLiveDependencies.swift @@ -0,0 +1,13 @@ +// +// PerspectiveLiveDependencies.swift +// PerspectiveDomain +// +// 이 모듈이 소유한 live 구현을 스스로 등록한다. +// + +import PerspectiveDomainInterface +import ComposableArchitecture + +extension PerspectiveUseCaseDependency: DependencyKey { + public static var liveValue: PerspectiveInterface { PerspectiveUseCaseImpl() } +} diff --git a/Projects/Domain/Profile/Interface/Repository/Default/DefaultProfileRepositoryImpl.swift b/Projects/Domain/Profile/Interface/Repository/Default/MockProfileRepository.swift similarity index 96% rename from Projects/Domain/Profile/Interface/Repository/Default/DefaultProfileRepositoryImpl.swift rename to Projects/Domain/Profile/Interface/Repository/Default/MockProfileRepository.swift index 964d032b..8b001471 100644 --- a/Projects/Domain/Profile/Interface/Repository/Default/DefaultProfileRepositoryImpl.swift +++ b/Projects/Domain/Profile/Interface/Repository/Default/MockProfileRepository.swift @@ -1,11 +1,11 @@ // -// DefaultProfileRepositoryImpl.swift +// MockProfileRepository.swift // DomainInterface // import Foundation -public struct DefaultProfileRepositoryImpl: ProfileInterface { +public struct MockProfileRepository: ProfileInterface { public init() {} public func fetchMyPage() async throws -> MyPage { diff --git a/Projects/Domain/Profile/Interface/Repository/Interface/ProfileInterface.swift b/Projects/Domain/Profile/Interface/Repository/Interface/ProfileInterface.swift index 16024d9d..f18507bd 100644 --- a/Projects/Domain/Profile/Interface/Repository/Interface/ProfileInterface.swift +++ b/Projects/Domain/Profile/Interface/Repository/Interface/ProfileInterface.swift @@ -4,7 +4,7 @@ // import Foundation -import WeaveDI +import ComposableArchitecture public protocol ProfileInterface: Sendable { func fetchMyPage() async throws -> MyPage @@ -31,16 +31,12 @@ public protocol ProfileInterface: Sendable { ) async throws -> UpdatedProfile } -public struct ProfileRepositoryDependency: DependencyKey { - public static var liveValue: ProfileInterface { - UnifiedDI.resolve(ProfileInterface.self) ?? DefaultProfileRepositoryImpl() - } - - public static var testValue: ProfileInterface { - UnifiedDI.resolve(ProfileInterface.self) ?? DefaultProfileRepositoryImpl() - } +public enum ProfileRepositoryDependency: TestDependencyKey { + public static var testValue: ProfileInterface { MockProfileRepository() } +} - public static var previewValue: ProfileInterface = liveValue +public enum ProfileUseCaseDependency: TestDependencyKey { + public static var testValue: ProfileInterface { MockProfileRepository() } } public extension DependencyValues { @@ -53,7 +49,7 @@ public extension DependencyValues { // UseCase 소비자용 별칭 — 인터페이스 강제(구현 모듈 import 불필요). pass-through 라 리포지토리 키로 해소. public extension DependencyValues { var profileUseCase: ProfileInterface { - get { self[ProfileRepositoryDependency.self] } - set { self[ProfileRepositoryDependency.self] = newValue } + get { self[ProfileUseCaseDependency.self] } + set { self[ProfileUseCaseDependency.self] = newValue } } } diff --git a/Projects/Domain/Profile/Sources/ProfileLiveDependencies.swift b/Projects/Domain/Profile/Sources/ProfileLiveDependencies.swift new file mode 100644 index 00000000..16dd59fc --- /dev/null +++ b/Projects/Domain/Profile/Sources/ProfileLiveDependencies.swift @@ -0,0 +1,13 @@ +// +// ProfileLiveDependencies.swift +// ProfileDomain +// +// 이 모듈이 소유한 live 구현을 스스로 등록한다. +// + +import ProfileDomainInterface +import ComposableArchitecture + +extension ProfileUseCaseDependency: DependencyKey { + public static var liveValue: ProfileInterface { ProfileUseCaseImpl() } +} diff --git a/Projects/Domain/Search/Interface/Sources/DefaultSearchRepositoryImpl.swift b/Projects/Domain/Search/Interface/Sources/MockSearchRepository.swift similarity index 75% rename from Projects/Domain/Search/Interface/Sources/DefaultSearchRepositoryImpl.swift rename to Projects/Domain/Search/Interface/Sources/MockSearchRepository.swift index a947d174..e49d5fb1 100644 --- a/Projects/Domain/Search/Interface/Sources/DefaultSearchRepositoryImpl.swift +++ b/Projects/Domain/Search/Interface/Sources/MockSearchRepository.swift @@ -1,12 +1,12 @@ // -// DefaultSearchRepositoryImpl.swift +// MockSearchRepository.swift // DomainInterface // import Foundation import HomeDomainInterface -public struct DefaultSearchRepositoryImpl: SearchInterface { +public struct MockSearchRepository: SearchInterface { public init() {} public func searchBattles( diff --git a/Projects/Domain/Search/Interface/Sources/SearchInterface.swift b/Projects/Domain/Search/Interface/Sources/SearchInterface.swift index 1e11b380..af61174e 100644 --- a/Projects/Domain/Search/Interface/Sources/SearchInterface.swift +++ b/Projects/Domain/Search/Interface/Sources/SearchInterface.swift @@ -5,7 +5,7 @@ import Foundation import HomeDomainInterface -import WeaveDI +import ComposableArchitecture public protocol SearchInterface: Sendable { func searchBattles( @@ -16,16 +16,12 @@ public protocol SearchInterface: Sendable { ) async throws -> ExploreItemPage } -public struct SearchRepositoryDependency: DependencyKey { - public static var liveValue: SearchInterface { - UnifiedDI.resolve(SearchInterface.self) ?? DefaultSearchRepositoryImpl() - } - - public static var testValue: SearchInterface { - UnifiedDI.resolve(SearchInterface.self) ?? DefaultSearchRepositoryImpl() - } +public enum SearchRepositoryDependency: TestDependencyKey { + public static var testValue: SearchInterface { MockSearchRepository() } +} - public static var previewValue: SearchInterface = liveValue +public enum SearchUseCaseDependency: TestDependencyKey { + public static var testValue: SearchInterface { MockSearchRepository() } } public extension DependencyValues { @@ -38,7 +34,7 @@ public extension DependencyValues { // UseCase 소비자용 별칭 — 인터페이스 강제(구현 모듈 import 불필요). pass-through 라 리포지토리 키로 해소. public extension DependencyValues { var searchUseCase: SearchInterface { - get { self[SearchRepositoryDependency.self] } - set { self[SearchRepositoryDependency.self] = newValue } + get { self[SearchUseCaseDependency.self] } + set { self[SearchUseCaseDependency.self] = newValue } } } diff --git a/Projects/Domain/Search/Sources/SearchLiveDependencies.swift b/Projects/Domain/Search/Sources/SearchLiveDependencies.swift new file mode 100644 index 00000000..f02c9f00 --- /dev/null +++ b/Projects/Domain/Search/Sources/SearchLiveDependencies.swift @@ -0,0 +1,13 @@ +// +// SearchLiveDependencies.swift +// SearchDomain +// +// 이 모듈이 소유한 live 구현을 스스로 등록한다. +// + +import SearchDomainInterface +import ComposableArchitecture + +extension SearchUseCaseDependency: DependencyKey { + public static var liveValue: SearchInterface { SearchUseCaseImpl() } +} From fdba6499d909090e1809623ad4c5ca2b540cc086 Mon Sep 17 00:00:00 2001 From: Roy Date: Sun, 6 Sep 2026 15:27:46 +0900 Subject: [PATCH 15/83] =?UTF-8?q?refactor(feature):=20Presentation=20?= =?UTF-8?q?=EB=A0=88=EC=9D=B4=EC=96=B4=EB=A5=BC=20Feature=20=EB=A1=9C=20?= =?UTF-8?q?=EB=B0=94=EA=BE=B8=EA=B3=A0=20=EC=97=84=EB=B8=8C=EB=A0=90?= =?UTF-8?q?=EB=9F=AC=EB=A5=BC=20FeatureAssembly=20=EB=A1=9C=20=EB=B6=84?= =?UTF-8?q?=EB=A6=AC=ED=95=9C=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 레이어 이름을 참조 프로젝트(DDDAttendance)와 맞춘다. - Projects/Presentation 을 Projects/Feature 로 옮긴다. - 모든 피처를 묶던 Presentation 엄브렐러 모듈을 FeatureAssembly 로 바꾼다. - PresentationFeatureModule 을 FeatureModule 로 바꾸고 케이스를 lowerCamelCase + 명시 rawValue 로 정리한다. rawValue 가 실제 타깃명이라 오타로 깨지지 않는다. - 엄브렐러는 피처가 아니므로 카탈로그에서 빼고 .featureAssembly 헬퍼로 분리한다. - TargetDependency+Presentation.swift 를 TargetDependency+Feature.swift 로 바꾸고 .Presentation(implements:) 를 .feature(implements:) 로 바꾼다. - App 은 .featureAssembly 하나만 의존한다. - import Presentation 을 import FeatureAssembly 로 바꾼다. - 파일 헤더에 모듈명으로 박혀 있던 Presentation 을 갱신한다. PresentationAction(TCA) 과 UNNotificationPresentationOptions(UIKit) 는 외부 API 라 건드리지 않는다. --- .../Project+Templete/ModuleType.swift | 28 ++++---- .../TargetDependency+Feature.swift | 65 +++++++++++++++++++ .../TargetDependency+Presentation.swift | 55 ---------------- Projects/App/Project.swift | 2 +- .../Coordinator/Auth/AppAuthCoordinator.swift | 2 +- .../Battle/AppBattleCoordinator.swift | 2 +- .../Coordinator/Hifi/AppHifiCoordinator.swift | 2 +- .../Coordinator/Home/AppHomeCoordinator.swift | 2 +- .../MainTab/AppMainTabCoordinator.swift | 2 +- .../Profile/AppProfileCoordinator.swift | 2 +- .../App/Sources/Reducer/Root/AppReducer.swift | 2 +- .../Auth/AppAuthCoordinatorView.swift | 2 +- .../Battle/AppBattleCoordinatorView.swift | 2 +- .../Hifi/AppHifiCoordinatorView.swift | 2 +- .../Home/AppHomeCoordinatorView.swift | 2 +- .../Coordinator/MainTab/AppMainTabView.swift | 2 +- .../Profile/AppProfileCoordinatorView.swift | 2 +- Projects/App/Sources/View/Root/AppView.swift | 2 +- .../App/Sources/View/Root/ContentView.swift | 2 +- .../Interface/Sources/AuthInterface.swift | 0 .../Auth/Project.swift | 2 +- .../Coordinator/Reducer/AuthCoordinator.swift | 0 .../View/AuthCoordinatorView.swift | 0 .../Sources/Main/Reducer/LoginFeature.swift | 0 .../Main/Reducer/TermsAgreementFeature.swift | 0 .../Components/SocialCircleButtonView.swift | 0 .../View/Components/TermsAgreementView.swift | 0 .../Auth/Sources/Main/View/LoginView.swift | 0 .../Reducer/OnBoardingFeature.swift | 0 .../Components/OnBoardingPageIndicator.swift | 0 .../OnBoarding/View/OnBoardingView.swift | 0 .../Auth/Testing/Sources/AuthTesting.swift | 0 .../Auth/Tests/Sources/AuthTests.swift | 2 +- .../Interface/Sources/BattleInterface.swift | 0 .../Battle/Project.swift | 2 +- .../Reducer/BattleCoordinator.swift | 0 .../View/BattleCoordinatorView.swift | 0 .../Sources/Main/Model/DailyBattle.swift | 0 .../Sources/Main/Reducer/BattleFeature.swift | 0 .../Battle/Sources/Main/View/BattleView.swift | 0 .../View/Components/BattlePagingBar.swift | 0 .../View/Components/BattleSkeletonView.swift | 0 .../Testing/Sources/BattleTesting.swift | 0 .../Battle/Tests/Sources/BattleTests.swift | 2 +- .../Interface/Sources/ChatInterface.swift | 0 .../Chat/Project.swift | 2 +- .../ChatRoom/Reducer/ChatRoomFeature.swift | 0 .../Sources/ChatRoom/View/ChatRoomView.swift | 0 .../Components/ChatRoomSkeletonView.swift | 0 .../Comment/Reducer/CommentFeature.swift | 0 .../Sources/Comment/View/CommentView.swift | 0 .../View/Components/CommentSkeletonView.swift | 0 .../Reducer/CommentReplyFeature.swift | 0 .../CommentReply/View/CommentReplyView.swift | 0 .../Components/CommentReplySkeletonView.swift | 0 .../Coordinator/Reducer/ChatCoordinator.swift | 0 .../View/ChatCoordinatorView.swift | 0 .../Curation/Reducer/CurationFeature.swift | 0 .../Components/CurationSkeletonView.swift | 0 .../Sources/Curation/View/CurationView.swift | 0 .../Sources/Vote/Reducer/PreVoteFeature.swift | 0 .../View/Components/PreVoteSkeletonView.swift | 0 .../Sources/Vote/View/PreVoteLayout.swift | 0 .../Chat/Sources/Vote/View/PreVoteView.swift | 0 .../Chat/Testing/Sources/ChatTesting.swift | 0 .../Chat/Tests/Sources/ChatTests.swift | 2 +- .../Feature/FeatureAssembly/Project.swift | 24 +++++++ .../Exported/FeatureAssemblyExported.swift} | 4 +- .../FeatureAssembly}/Tests/Sources/Test.swift | 0 .../Interface/Sources/HifiInterface.swift | 0 .../Hifi/Project.swift | 2 +- .../Coordinator/Reducer/HifiCoordinator.swift | 0 .../View/HifiCoordinatorView.swift | 0 .../Hifi/Sources/Reducer/HifiFeature.swift | 0 .../View/Components/ExploreSkeletonView.swift | 0 .../View/Components/HifiHeaderView.swift | 0 .../Hifi/Sources/View/HifiView.swift | 0 .../Hifi/Testing/Sources/HifiTesting.swift | 0 .../Hifi/Tests/Sources/HifiTests.swift | 2 +- .../Interface/Sources/HomeInterface.swift | 0 .../Home/Project.swift | 2 +- .../Reducer/AttendanceModalFeature.swift | 0 .../Attendance/View/AttendanceDayCell.swift | 0 .../Attendance/View/AttendanceModalView.swift | 0 .../Attendance/View/AttendanceSheetView.swift | 0 .../Common/PhilosopherAvatar+ImageAsset.swift | 0 .../Coordinator/Reducer/HomeCoordinator.swift | 0 .../View/HomeCoordinatorView.swift | 0 .../Sources/Main/Reducer/HomeFeature.swift | 0 .../View/Components/BestBattleCardView.swift | 0 .../View/Components/HeroCarouselView.swift | 0 .../Main/View/Components/HomeHeaderView.swift | 0 .../View/Components/HomeSectionHeader.swift | 0 .../View/Components/HomeSkeletonView.swift | 0 .../View/Components/HotBattleCardView.swift | 0 .../Main/View/Components/MetaLabelView.swift | 0 .../View/Components/NewBattleCardView.swift | 0 .../Main/View/Components/QuizCardView.swift | 0 .../Main/View/Components/VoteCardView.swift | 0 .../Home/Sources/Main/View/HomeView.swift | 0 .../Home/Testing/Sources/HomeTesting.swift | 0 .../Home/Tests/Sources/HomeTests.swift | 0 .../Sources/NotificationInterface.swift | 0 .../Notification/Project.swift | 2 +- .../Reducer/NotificationCoordinator.swift | 0 .../View/NotificationCoordinatorView.swift | 0 .../Main/Reducer/NotificationFeature.swift | 0 .../Components/NotificationSkeletonView.swift | 0 .../Sources/Main/View/NotificationView.swift | 0 .../Testing/Sources/NotificationTesting.swift | 0 .../Tests/Sources/NotificationTests.swift | 2 +- .../Interface/Sources/ProfileInterface.swift | 0 .../Profile/Project.swift | 2 +- .../Reducer/BattleProposalFeature.swift | 0 .../View/BattleProposalView.swift | 0 .../Reducer/BattleRecordFeature.swift | 0 .../BattleRecord/View/BattleRecordView.swift | 0 .../Components/BattleRecordSkeletonView.swift | 0 .../Reducer/ContentActivityFeature.swift | 0 .../ContentActivitySkeletonView.swift | 0 .../View/ContentActivityView.swift | 0 .../Reducer/ProfileCoordinator.swift | 0 .../View/ProfileCoordinatorView.swift | 0 .../Sources/Main/Reducer/ProfileFeature.swift | 0 .../View/Components/ProfileSkeletonView.swift | 0 .../Sources/Main/View/ProfileView.swift | 0 .../Notice/Reducer/NoticeFeature.swift | 0 .../Sources/Notice/View/NoticeView.swift | 0 .../Reducer/NotificationSettingFeature.swift | 0 .../NotificationSettingSkeletonView.swift | 0 .../View/NotificationSettingView.swift | 0 .../Reducer/PointHistoryFeature.swift | 0 .../Components/PointHistorySkeletonView.swift | 0 .../PointHistory/View/PointHistoryView.swift | 0 .../Sources/Recap/Reducer/RecapFeature.swift | 0 .../View/Components/RecapLockedView.swift | 0 .../View/Components/RecapMatchCard.swift | 0 .../Components/RecapPhilosopherCard.swift | 0 .../View/Components/RecapRadarChart.swift | 0 .../Recap/View/Components/RecapScoreBar.swift | 0 .../View/Components/RecapSkeletonView.swift | 0 .../Sources/Recap/View/RecapView.swift | 0 .../Settings/Reducer/SettingsFeature.swift | 0 .../Sources/Settings/View/SettingsView.swift | 0 .../Reducer/WithdrawReasonFeature.swift | 0 .../Withdraw/View/WithdrawReasonView.swift | 0 .../Testing/Sources/ProfileTesting.swift | 0 .../Profile/Tests/Sources/ProfileTests.swift | 2 +- .../Interface/Sources/SplashInterface.swift | 0 .../Splash/Project.swift | 2 +- .../Sources/Reducer/SplashFeature.swift | 0 .../SplashLogoAnimatedImageView.swift | 0 .../Splash/Sources/View/SplashView.swift | 0 .../Testing/Sources/SplashTesting.swift | 0 .../Splash/Tests/Sources/SplashTests.swift | 2 +- .../Web/Interface/Sources/WebInterface.swift | 0 .../Web/Project.swift | 2 +- .../Web/Sources/Reducer/WebReducer.swift | 0 .../Sources/View/WebRepresentableView.swift | 0 .../Web/Sources/View/WebView.swift | 0 .../Web/Testing/Sources/WebTesting.swift | 0 .../Web/Tests/Sources/WebTests.swift | 2 +- .../Presentation/Presentation/Project.swift | 24 ------- 163 files changed, 139 insertions(+), 127 deletions(-) create mode 100644 Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/TargetDependency+Feature.swift delete mode 100644 Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/TargetDependency+Presentation.swift rename Projects/{Presentation => Feature}/Auth/Interface/Sources/AuthInterface.swift (100%) rename Projects/{Presentation => Feature}/Auth/Project.swift (93%) rename Projects/{Presentation => Feature}/Auth/Sources/Coordinator/Reducer/AuthCoordinator.swift (100%) rename Projects/{Presentation => Feature}/Auth/Sources/Coordinator/View/AuthCoordinatorView.swift (100%) rename Projects/{Presentation => Feature}/Auth/Sources/Main/Reducer/LoginFeature.swift (100%) rename Projects/{Presentation => Feature}/Auth/Sources/Main/Reducer/TermsAgreementFeature.swift (100%) rename Projects/{Presentation => Feature}/Auth/Sources/Main/View/Components/SocialCircleButtonView.swift (100%) rename Projects/{Presentation => Feature}/Auth/Sources/Main/View/Components/TermsAgreementView.swift (100%) rename Projects/{Presentation => Feature}/Auth/Sources/Main/View/LoginView.swift (100%) rename Projects/{Presentation => Feature}/Auth/Sources/OnBoarding/Reducer/OnBoardingFeature.swift (100%) rename Projects/{Presentation => Feature}/Auth/Sources/OnBoarding/View/Components/OnBoardingPageIndicator.swift (100%) rename Projects/{Presentation => Feature}/Auth/Sources/OnBoarding/View/OnBoardingView.swift (100%) rename Projects/{Presentation => Feature}/Auth/Testing/Sources/AuthTesting.swift (100%) rename Projects/{Presentation => Feature}/Auth/Tests/Sources/AuthTests.swift (93%) rename Projects/{Presentation => Feature}/Battle/Interface/Sources/BattleInterface.swift (100%) rename Projects/{Presentation => Feature}/Battle/Project.swift (93%) rename Projects/{Presentation => Feature}/Battle/Sources/Coordinator/Reducer/BattleCoordinator.swift (100%) rename Projects/{Presentation => Feature}/Battle/Sources/Coordinator/View/BattleCoordinatorView.swift (100%) rename Projects/{Presentation => Feature}/Battle/Sources/Main/Model/DailyBattle.swift (100%) rename Projects/{Presentation => Feature}/Battle/Sources/Main/Reducer/BattleFeature.swift (100%) rename Projects/{Presentation => Feature}/Battle/Sources/Main/View/BattleView.swift (100%) rename Projects/{Presentation => Feature}/Battle/Sources/Main/View/Components/BattlePagingBar.swift (100%) rename Projects/{Presentation => Feature}/Battle/Sources/Main/View/Components/BattleSkeletonView.swift (100%) rename Projects/{Presentation => Feature}/Battle/Testing/Sources/BattleTesting.swift (100%) rename Projects/{Presentation => Feature}/Battle/Tests/Sources/BattleTests.swift (92%) rename Projects/{Presentation => Feature}/Chat/Interface/Sources/ChatInterface.swift (100%) rename Projects/{Presentation => Feature}/Chat/Project.swift (96%) rename Projects/{Presentation => Feature}/Chat/Sources/ChatRoom/Reducer/ChatRoomFeature.swift (100%) rename Projects/{Presentation => Feature}/Chat/Sources/ChatRoom/View/ChatRoomView.swift (100%) rename Projects/{Presentation => Feature}/Chat/Sources/ChatRoom/View/Components/ChatRoomSkeletonView.swift (100%) rename Projects/{Presentation => Feature}/Chat/Sources/Comment/Reducer/CommentFeature.swift (100%) rename Projects/{Presentation => Feature}/Chat/Sources/Comment/View/CommentView.swift (100%) rename Projects/{Presentation => Feature}/Chat/Sources/Comment/View/Components/CommentSkeletonView.swift (100%) rename Projects/{Presentation => Feature}/Chat/Sources/CommentReply/Reducer/CommentReplyFeature.swift (100%) rename Projects/{Presentation => Feature}/Chat/Sources/CommentReply/View/CommentReplyView.swift (100%) rename Projects/{Presentation => Feature}/Chat/Sources/CommentReply/View/Components/CommentReplySkeletonView.swift (100%) rename Projects/{Presentation => Feature}/Chat/Sources/Coordinator/Reducer/ChatCoordinator.swift (100%) rename Projects/{Presentation => Feature}/Chat/Sources/Coordinator/View/ChatCoordinatorView.swift (100%) rename Projects/{Presentation => Feature}/Chat/Sources/Curation/Reducer/CurationFeature.swift (100%) rename Projects/{Presentation => Feature}/Chat/Sources/Curation/View/Components/CurationSkeletonView.swift (100%) rename Projects/{Presentation => Feature}/Chat/Sources/Curation/View/CurationView.swift (100%) rename Projects/{Presentation => Feature}/Chat/Sources/Vote/Reducer/PreVoteFeature.swift (100%) rename Projects/{Presentation => Feature}/Chat/Sources/Vote/View/Components/PreVoteSkeletonView.swift (100%) rename Projects/{Presentation => Feature}/Chat/Sources/Vote/View/PreVoteLayout.swift (100%) rename Projects/{Presentation => Feature}/Chat/Sources/Vote/View/PreVoteView.swift (100%) rename Projects/{Presentation => Feature}/Chat/Testing/Sources/ChatTesting.swift (100%) rename Projects/{Presentation => Feature}/Chat/Tests/Sources/ChatTests.swift (92%) create mode 100644 Projects/Feature/FeatureAssembly/Project.swift rename Projects/{Presentation/Presentation/Sources/Exported/PresentationExported.swift => Feature/FeatureAssembly/Sources/Exported/FeatureAssemblyExported.swift} (85%) rename Projects/{Presentation/Presentation => Feature/FeatureAssembly}/Tests/Sources/Test.swift (100%) rename Projects/{Presentation => Feature}/Hifi/Interface/Sources/HifiInterface.swift (100%) rename Projects/{Presentation => Feature}/Hifi/Project.swift (95%) rename Projects/{Presentation => Feature}/Hifi/Sources/Coordinator/Reducer/HifiCoordinator.swift (100%) rename Projects/{Presentation => Feature}/Hifi/Sources/Coordinator/View/HifiCoordinatorView.swift (100%) rename Projects/{Presentation => Feature}/Hifi/Sources/Reducer/HifiFeature.swift (100%) rename Projects/{Presentation => Feature}/Hifi/Sources/View/Components/ExploreSkeletonView.swift (100%) rename Projects/{Presentation => Feature}/Hifi/Sources/View/Components/HifiHeaderView.swift (100%) rename Projects/{Presentation => Feature}/Hifi/Sources/View/HifiView.swift (100%) rename Projects/{Presentation => Feature}/Hifi/Testing/Sources/HifiTesting.swift (100%) rename Projects/{Presentation => Feature}/Hifi/Tests/Sources/HifiTests.swift (93%) rename Projects/{Presentation => Feature}/Home/Interface/Sources/HomeInterface.swift (100%) rename Projects/{Presentation => Feature}/Home/Project.swift (95%) rename Projects/{Presentation => Feature}/Home/Sources/Attendance/Reducer/AttendanceModalFeature.swift (100%) rename Projects/{Presentation => Feature}/Home/Sources/Attendance/View/AttendanceDayCell.swift (100%) rename Projects/{Presentation => Feature}/Home/Sources/Attendance/View/AttendanceModalView.swift (100%) rename Projects/{Presentation => Feature}/Home/Sources/Attendance/View/AttendanceSheetView.swift (100%) rename Projects/{Presentation => Feature}/Home/Sources/Common/PhilosopherAvatar+ImageAsset.swift (100%) rename Projects/{Presentation => Feature}/Home/Sources/Coordinator/Reducer/HomeCoordinator.swift (100%) rename Projects/{Presentation => Feature}/Home/Sources/Coordinator/View/HomeCoordinatorView.swift (100%) rename Projects/{Presentation => Feature}/Home/Sources/Main/Reducer/HomeFeature.swift (100%) rename Projects/{Presentation => Feature}/Home/Sources/Main/View/Components/BestBattleCardView.swift (100%) rename Projects/{Presentation => Feature}/Home/Sources/Main/View/Components/HeroCarouselView.swift (100%) rename Projects/{Presentation => Feature}/Home/Sources/Main/View/Components/HomeHeaderView.swift (100%) rename Projects/{Presentation => Feature}/Home/Sources/Main/View/Components/HomeSectionHeader.swift (100%) rename Projects/{Presentation => Feature}/Home/Sources/Main/View/Components/HomeSkeletonView.swift (100%) rename Projects/{Presentation => Feature}/Home/Sources/Main/View/Components/HotBattleCardView.swift (100%) rename Projects/{Presentation => Feature}/Home/Sources/Main/View/Components/MetaLabelView.swift (100%) rename Projects/{Presentation => Feature}/Home/Sources/Main/View/Components/NewBattleCardView.swift (100%) rename Projects/{Presentation => Feature}/Home/Sources/Main/View/Components/QuizCardView.swift (100%) rename Projects/{Presentation => Feature}/Home/Sources/Main/View/Components/VoteCardView.swift (100%) rename Projects/{Presentation => Feature}/Home/Sources/Main/View/HomeView.swift (100%) rename Projects/{Presentation => Feature}/Home/Testing/Sources/HomeTesting.swift (100%) rename Projects/{Presentation => Feature}/Home/Tests/Sources/HomeTests.swift (100%) rename Projects/{Presentation => Feature}/Notification/Interface/Sources/NotificationInterface.swift (100%) rename Projects/{Presentation => Feature}/Notification/Project.swift (92%) rename Projects/{Presentation => Feature}/Notification/Sources/Coordinator/Reducer/NotificationCoordinator.swift (100%) rename Projects/{Presentation => Feature}/Notification/Sources/Coordinator/View/NotificationCoordinatorView.swift (100%) rename Projects/{Presentation => Feature}/Notification/Sources/Main/Reducer/NotificationFeature.swift (100%) rename Projects/{Presentation => Feature}/Notification/Sources/Main/View/Components/NotificationSkeletonView.swift (100%) rename Projects/{Presentation => Feature}/Notification/Sources/Main/View/NotificationView.swift (100%) rename Projects/{Presentation => Feature}/Notification/Testing/Sources/NotificationTesting.swift (100%) rename Projects/{Presentation => Feature}/Notification/Tests/Sources/NotificationTests.swift (91%) rename Projects/{Presentation => Feature}/Profile/Interface/Sources/ProfileInterface.swift (100%) rename Projects/{Presentation => Feature}/Profile/Project.swift (96%) rename Projects/{Presentation => Feature}/Profile/Sources/BattleProposal/Reducer/BattleProposalFeature.swift (100%) rename Projects/{Presentation => Feature}/Profile/Sources/BattleProposal/View/BattleProposalView.swift (100%) rename Projects/{Presentation => Feature}/Profile/Sources/BattleRecord/Reducer/BattleRecordFeature.swift (100%) rename Projects/{Presentation => Feature}/Profile/Sources/BattleRecord/View/BattleRecordView.swift (100%) rename Projects/{Presentation => Feature}/Profile/Sources/BattleRecord/View/Components/BattleRecordSkeletonView.swift (100%) rename Projects/{Presentation => Feature}/Profile/Sources/ContentActivity/Reducer/ContentActivityFeature.swift (100%) rename Projects/{Presentation => Feature}/Profile/Sources/ContentActivity/View/Components/ContentActivitySkeletonView.swift (100%) rename Projects/{Presentation => Feature}/Profile/Sources/ContentActivity/View/ContentActivityView.swift (100%) rename Projects/{Presentation => Feature}/Profile/Sources/Coordinator/Reducer/ProfileCoordinator.swift (100%) rename Projects/{Presentation => Feature}/Profile/Sources/Coordinator/View/ProfileCoordinatorView.swift (100%) rename Projects/{Presentation => Feature}/Profile/Sources/Main/Reducer/ProfileFeature.swift (100%) rename Projects/{Presentation => Feature}/Profile/Sources/Main/View/Components/ProfileSkeletonView.swift (100%) rename Projects/{Presentation => Feature}/Profile/Sources/Main/View/ProfileView.swift (100%) rename Projects/{Presentation => Feature}/Profile/Sources/Notice/Reducer/NoticeFeature.swift (100%) rename Projects/{Presentation => Feature}/Profile/Sources/Notice/View/NoticeView.swift (100%) rename Projects/{Presentation => Feature}/Profile/Sources/NotificationSetting/Reducer/NotificationSettingFeature.swift (100%) rename Projects/{Presentation => Feature}/Profile/Sources/NotificationSetting/View/Components/NotificationSettingSkeletonView.swift (100%) rename Projects/{Presentation => Feature}/Profile/Sources/NotificationSetting/View/NotificationSettingView.swift (100%) rename Projects/{Presentation => Feature}/Profile/Sources/PointHistory/Reducer/PointHistoryFeature.swift (100%) rename Projects/{Presentation => Feature}/Profile/Sources/PointHistory/View/Components/PointHistorySkeletonView.swift (100%) rename Projects/{Presentation => Feature}/Profile/Sources/PointHistory/View/PointHistoryView.swift (100%) rename Projects/{Presentation => Feature}/Profile/Sources/Recap/Reducer/RecapFeature.swift (100%) rename Projects/{Presentation => Feature}/Profile/Sources/Recap/View/Components/RecapLockedView.swift (100%) rename Projects/{Presentation => Feature}/Profile/Sources/Recap/View/Components/RecapMatchCard.swift (100%) rename Projects/{Presentation => Feature}/Profile/Sources/Recap/View/Components/RecapPhilosopherCard.swift (100%) rename Projects/{Presentation => Feature}/Profile/Sources/Recap/View/Components/RecapRadarChart.swift (100%) rename Projects/{Presentation => Feature}/Profile/Sources/Recap/View/Components/RecapScoreBar.swift (100%) rename Projects/{Presentation => Feature}/Profile/Sources/Recap/View/Components/RecapSkeletonView.swift (100%) rename Projects/{Presentation => Feature}/Profile/Sources/Recap/View/RecapView.swift (100%) rename Projects/{Presentation => Feature}/Profile/Sources/Settings/Reducer/SettingsFeature.swift (100%) rename Projects/{Presentation => Feature}/Profile/Sources/Settings/View/SettingsView.swift (100%) rename Projects/{Presentation => Feature}/Profile/Sources/Withdraw/Reducer/WithdrawReasonFeature.swift (100%) rename Projects/{Presentation => Feature}/Profile/Sources/Withdraw/View/WithdrawReasonView.swift (100%) rename Projects/{Presentation => Feature}/Profile/Testing/Sources/ProfileTesting.swift (100%) rename Projects/{Presentation => Feature}/Profile/Tests/Sources/ProfileTests.swift (92%) rename Projects/{Presentation => Feature}/Splash/Interface/Sources/SplashInterface.swift (100%) rename Projects/{Presentation => Feature}/Splash/Project.swift (93%) rename Projects/{Presentation => Feature}/Splash/Sources/Reducer/SplashFeature.swift (100%) rename Projects/{Presentation => Feature}/Splash/Sources/View/Components/SplashLogoAnimatedImageView.swift (100%) rename Projects/{Presentation => Feature}/Splash/Sources/View/SplashView.swift (100%) rename Projects/{Presentation => Feature}/Splash/Testing/Sources/SplashTesting.swift (100%) rename Projects/{Presentation => Feature}/Splash/Tests/Sources/SplashTests.swift (98%) rename Projects/{Presentation => Feature}/Web/Interface/Sources/WebInterface.swift (100%) rename Projects/{Presentation => Feature}/Web/Project.swift (91%) rename Projects/{Presentation => Feature}/Web/Sources/Reducer/WebReducer.swift (100%) rename Projects/{Presentation => Feature}/Web/Sources/View/WebRepresentableView.swift (100%) rename Projects/{Presentation => Feature}/Web/Sources/View/WebView.swift (100%) rename Projects/{Presentation => Feature}/Web/Testing/Sources/WebTesting.swift (100%) rename Projects/{Presentation => Feature}/Web/Tests/Sources/WebTests.swift (93%) delete mode 100644 Projects/Presentation/Presentation/Project.swift diff --git a/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/ModuleType.swift b/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/ModuleType.swift index e2a4806b..c785a185 100644 --- a/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/ModuleType.swift +++ b/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/ModuleType.swift @@ -13,23 +13,25 @@ public enum ModuleTarget { case testing } -public enum PresentationFeatureModule: String, CaseIterable { - case Presentation - case Splash - case Auth - case Home - case Chat - case Hifi - case Web - case Battle - case Profile - case Notification +/// Feature 레이어 모듈 카탈로그(단일 출처). +/// 모듈 추가 = case 한 줄. rawValue 가 실제 타깃명이라 오타로 깨지지 않는다. +/// 엄브렐러 모듈(FeatureAssembly)은 피처가 아니므로 여기 넣지 않는다. +public enum FeatureModule: String, CaseIterable { + case splash = "Splash" + case auth = "Auth" + case home = "Home" + case chat = "Chat" + case hifi = "Hifi" + case web = "Web" + case battle = "Battle" + case profile = "Profile" + case notification = "Notification" } public enum ModuleType { case app - case feature(PresentationFeatureModule) + case feature(FeatureModule) case module(name: String) - /// Data/Domain 등 비-Presentation 모듈을 마이크로피처(Interface/구현/Testing/Tests) 4타깃으로 구성. + /// Data/Domain 등 비-Feature 모듈을 마이크로피처(Interface/구현/Testing/Tests) 4타깃으로 구성. case microModule(name: String) } diff --git a/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/TargetDependency+Feature.swift b/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/TargetDependency+Feature.swift new file mode 100644 index 00000000..692450e2 --- /dev/null +++ b/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/TargetDependency+Feature.swift @@ -0,0 +1,65 @@ +// +// TargetDependency+Feature.swift +// ProjectTemplatePlugin +// +// Feature 레이어 의존성 경로 helper. +// Project.configure(.feature(...)) 와 같은 FeatureModule catalog 를 사용한다. +// + +import ProjectDescription + +public extension ProjectDescription.Path { + static var Feature: Self { + return .relativeToRoot("Projects/Feature") + } + + static func Feature(implementation module: FeatureModule) -> Self { + return .relativeToRoot("Projects/Feature/\(module.rawValue)") + } + + static func Feature( + _ module: FeatureModule, + _ target: ModuleTarget + ) -> Self { + switch target { + case .interface: + return .relativeToRoot("Projects/Feature/\(module.rawValue)/Interface") + case .implementation: + return .Feature(implementation: module) + case .testing: + return .relativeToRoot("Projects/Feature/\(module.rawValue)/Testing") + } + } +} + +public extension TargetDependency { + /// 피처 의존성. 피처끼리는 상대의 Interface 에만 의존하고, + /// 구현 연결은 조립 레이어(FeatureAssembly/App)에서만 `.implementation` 으로 명시한다. + static func feature( + _ module: FeatureModule, + _ target: ModuleTarget = .interface + ) -> Self { + let targetName = switch target { + case .interface: + "\(module.rawValue)Interface" + case .implementation: + module.rawValue + case .testing: + "\(module.rawValue)Testing" + } + + return .project(target: targetName, path: .Feature(module, target)) + } + + static func feature(implements module: FeatureModule) -> Self { + return .feature(module, .implementation) + } + + /// 모든 피처를 묶고 구현을 등록하는 엄브렐러 모듈 (App 진입점). + static var featureAssembly: Self { + return .project( + target: "FeatureAssembly", + path: .relativeToRoot("Projects/Feature/FeatureAssembly") + ) + } +} diff --git a/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/TargetDependency+Presentation.swift b/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/TargetDependency+Presentation.swift deleted file mode 100644 index 233ad323..00000000 --- a/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/TargetDependency+Presentation.swift +++ /dev/null @@ -1,55 +0,0 @@ -// -// TargetDependency+Presentation.swift -// ProjectTemplatePlugin -// -// Presentation micro-feature 의존성 경로 helper. -// Project.configure(.feature(...)) 와 같은 PresentationFeatureModule catalog 를 사용한다. -// - -import ProjectDescription - -public extension ProjectDescription.Path { - static var Presentation: Self { - return .relativeToRoot("Projects/Presentation") - } - - static func Presentation(implementation module: PresentationFeatureModule) -> Self { - return .relativeToRoot("Projects/Presentation/\(module.rawValue)") - } - - static func Presentation( - _ module: PresentationFeatureModule, - _ target: ModuleTarget - ) -> Self { - switch target { - case .interface: - return .relativeToRoot("Projects/Presentation/\(module.rawValue)/Interface") - case .implementation: - return .Presentation(implementation: module) - case .testing: - return .relativeToRoot("Projects/Presentation/\(module.rawValue)/Testing") - } - } -} - -public extension TargetDependency { - static func Presentation( - _ module: PresentationFeatureModule, - _ target: ModuleTarget = .interface - ) -> Self { - let targetName = switch target { - case .interface: - "\(module.rawValue)Interface" - case .implementation: - module.rawValue - case .testing: - "\(module.rawValue)Testing" - } - - return .project(target: targetName, path: .Presentation(module, target)) - } - - static func Presentation(implements module: PresentationFeatureModule) -> Self { - return .Presentation(module, .implementation) - } -} diff --git a/Projects/App/Project.swift b/Projects/App/Project.swift index 25a5b8f7..e64240e0 100644 --- a/Projects/App/Project.swift +++ b/Projects/App/Project.swift @@ -26,7 +26,7 @@ let project = Project.configure( .Data(.AppUpdate), .Service(.AudioPlayer), .Service(.Analytics), - .Presentation(implements: .Presentation), + .featureAssembly, .Domain(implements: .Domain), .Data(implements: .Data), .Network(implements: .NetworkModule), diff --git a/Projects/App/Sources/Reducer/Coordinator/Auth/AppAuthCoordinator.swift b/Projects/App/Sources/Reducer/Coordinator/Auth/AppAuthCoordinator.swift index e75fd215..de517976 100644 --- a/Projects/App/Sources/Reducer/Coordinator/Auth/AppAuthCoordinator.swift +++ b/Projects/App/Sources/Reducer/Coordinator/Auth/AppAuthCoordinator.swift @@ -6,7 +6,7 @@ import Foundation import ComposableArchitecture -import Presentation +import FeatureAssembly import TCAFlow @FlowCoordinator(screen: "AppAuthScreen", navigation: true) diff --git a/Projects/App/Sources/Reducer/Coordinator/Battle/AppBattleCoordinator.swift b/Projects/App/Sources/Reducer/Coordinator/Battle/AppBattleCoordinator.swift index ccceee29..ec4ecbd1 100644 --- a/Projects/App/Sources/Reducer/Coordinator/Battle/AppBattleCoordinator.swift +++ b/Projects/App/Sources/Reducer/Coordinator/Battle/AppBattleCoordinator.swift @@ -9,7 +9,7 @@ import AudioPlayerServiceInterface import ComposableArchitecture import PickeCore import PickeDesignKit -import Presentation +import FeatureAssembly import TCAFlow @FlowCoordinator(screen: "AppBattleScreen", navigation: true) diff --git a/Projects/App/Sources/Reducer/Coordinator/Hifi/AppHifiCoordinator.swift b/Projects/App/Sources/Reducer/Coordinator/Hifi/AppHifiCoordinator.swift index 07376839..85ac3a53 100644 --- a/Projects/App/Sources/Reducer/Coordinator/Hifi/AppHifiCoordinator.swift +++ b/Projects/App/Sources/Reducer/Coordinator/Hifi/AppHifiCoordinator.swift @@ -7,7 +7,7 @@ import Foundation import AudioPlayerServiceInterface import ComposableArchitecture -import Presentation +import FeatureAssembly import TCAFlow @FlowCoordinator(screen: "AppHifiScreen", navigation: true) diff --git a/Projects/App/Sources/Reducer/Coordinator/Home/AppHomeCoordinator.swift b/Projects/App/Sources/Reducer/Coordinator/Home/AppHomeCoordinator.swift index 0163412d..c677ccae 100644 --- a/Projects/App/Sources/Reducer/Coordinator/Home/AppHomeCoordinator.swift +++ b/Projects/App/Sources/Reducer/Coordinator/Home/AppHomeCoordinator.swift @@ -9,7 +9,7 @@ import AudioPlayerServiceInterface import ComposableArchitecture import PickeCore import PickeDesignKit -import Presentation +import FeatureAssembly import TCAFlow @FlowCoordinator(screen: "AppHomeScreen", navigation: true) diff --git a/Projects/App/Sources/Reducer/Coordinator/MainTab/AppMainTabCoordinator.swift b/Projects/App/Sources/Reducer/Coordinator/MainTab/AppMainTabCoordinator.swift index a7204ed1..bf3af999 100644 --- a/Projects/App/Sources/Reducer/Coordinator/MainTab/AppMainTabCoordinator.swift +++ b/Projects/App/Sources/Reducer/Coordinator/MainTab/AppMainTabCoordinator.swift @@ -10,7 +10,7 @@ import Foundation import AnalyticsServiceInterface import ComposableArchitecture import PickeDesignKit -import Presentation +import FeatureAssembly import TCAFlow @Reducer diff --git a/Projects/App/Sources/Reducer/Coordinator/Profile/AppProfileCoordinator.swift b/Projects/App/Sources/Reducer/Coordinator/Profile/AppProfileCoordinator.swift index 22d588f1..d9b8b841 100644 --- a/Projects/App/Sources/Reducer/Coordinator/Profile/AppProfileCoordinator.swift +++ b/Projects/App/Sources/Reducer/Coordinator/Profile/AppProfileCoordinator.swift @@ -8,7 +8,7 @@ import Foundation import AudioPlayerServiceInterface import AuthDomainInterface import ComposableArchitecture -import Presentation +import FeatureAssembly import TCAFlow @FlowCoordinator(screen: "AppProfileScreen", navigation: true) diff --git a/Projects/App/Sources/Reducer/Root/AppReducer.swift b/Projects/App/Sources/Reducer/Root/AppReducer.swift index 6363a2a4..5c0a6744 100644 --- a/Projects/App/Sources/Reducer/Root/AppReducer.swift +++ b/Projects/App/Sources/Reducer/Root/AppReducer.swift @@ -11,7 +11,7 @@ import Domain import LogMacro import NotificationDomainInterface import PickeCore -import Presentation +import FeatureAssembly @Reducer public struct AppReducer: Sendable { diff --git a/Projects/App/Sources/View/Coordinator/Auth/AppAuthCoordinatorView.swift b/Projects/App/Sources/View/Coordinator/Auth/AppAuthCoordinatorView.swift index 5ee1fe16..88df83b3 100644 --- a/Projects/App/Sources/View/Coordinator/Auth/AppAuthCoordinatorView.swift +++ b/Projects/App/Sources/View/Coordinator/Auth/AppAuthCoordinatorView.swift @@ -6,7 +6,7 @@ import SwiftUI import ComposableArchitecture -import Presentation +import FeatureAssembly import TCAFlow public struct AppAuthCoordinatorView: View { diff --git a/Projects/App/Sources/View/Coordinator/Battle/AppBattleCoordinatorView.swift b/Projects/App/Sources/View/Coordinator/Battle/AppBattleCoordinatorView.swift index 8a6fe7f0..c1e625bb 100644 --- a/Projects/App/Sources/View/Coordinator/Battle/AppBattleCoordinatorView.swift +++ b/Projects/App/Sources/View/Coordinator/Battle/AppBattleCoordinatorView.swift @@ -6,7 +6,7 @@ import SwiftUI import ComposableArchitecture -import Presentation +import FeatureAssembly import TCAFlow public struct AppBattleCoordinatorView: View { diff --git a/Projects/App/Sources/View/Coordinator/Hifi/AppHifiCoordinatorView.swift b/Projects/App/Sources/View/Coordinator/Hifi/AppHifiCoordinatorView.swift index b68cd4be..45cf672f 100644 --- a/Projects/App/Sources/View/Coordinator/Hifi/AppHifiCoordinatorView.swift +++ b/Projects/App/Sources/View/Coordinator/Hifi/AppHifiCoordinatorView.swift @@ -6,7 +6,7 @@ import SwiftUI import ComposableArchitecture -import Presentation +import FeatureAssembly import TCAFlow public struct AppHifiCoordinatorView: View { diff --git a/Projects/App/Sources/View/Coordinator/Home/AppHomeCoordinatorView.swift b/Projects/App/Sources/View/Coordinator/Home/AppHomeCoordinatorView.swift index 75c107fa..a81558cd 100644 --- a/Projects/App/Sources/View/Coordinator/Home/AppHomeCoordinatorView.swift +++ b/Projects/App/Sources/View/Coordinator/Home/AppHomeCoordinatorView.swift @@ -6,7 +6,7 @@ import SwiftUI import ComposableArchitecture -import Presentation +import FeatureAssembly import TCAFlow public struct AppHomeCoordinatorView: View { diff --git a/Projects/App/Sources/View/Coordinator/MainTab/AppMainTabView.swift b/Projects/App/Sources/View/Coordinator/MainTab/AppMainTabView.swift index 584e5e26..75650159 100644 --- a/Projects/App/Sources/View/Coordinator/MainTab/AppMainTabView.swift +++ b/Projects/App/Sources/View/Coordinator/MainTab/AppMainTabView.swift @@ -10,7 +10,7 @@ import UIKit import ComposableArchitecture import PickeDesignKit -import Presentation +import FeatureAssembly import TCAFlow public struct AppMainTabView: View { diff --git a/Projects/App/Sources/View/Coordinator/Profile/AppProfileCoordinatorView.swift b/Projects/App/Sources/View/Coordinator/Profile/AppProfileCoordinatorView.swift index e75a5607..a085cccf 100644 --- a/Projects/App/Sources/View/Coordinator/Profile/AppProfileCoordinatorView.swift +++ b/Projects/App/Sources/View/Coordinator/Profile/AppProfileCoordinatorView.swift @@ -6,7 +6,7 @@ import SwiftUI import ComposableArchitecture -import Presentation +import FeatureAssembly import TCAFlow public struct AppProfileCoordinatorView: View { diff --git a/Projects/App/Sources/View/Root/AppView.swift b/Projects/App/Sources/View/Root/AppView.swift index cadfdf6f..3aa64c8a 100644 --- a/Projects/App/Sources/View/Root/AppView.swift +++ b/Projects/App/Sources/View/Root/AppView.swift @@ -11,7 +11,7 @@ import ComposableArchitecture import PickeDesignKit import AdService -import Presentation +import FeatureAssembly struct AppView: View { @Bindable var store: StoreOf diff --git a/Projects/App/Sources/View/Root/ContentView.swift b/Projects/App/Sources/View/Root/ContentView.swift index abbc3def..c4eca408 100644 --- a/Projects/App/Sources/View/Root/ContentView.swift +++ b/Projects/App/Sources/View/Root/ContentView.swift @@ -1,4 +1,4 @@ -import Presentation +import FeatureAssembly import SwiftUI public struct ContentView: View { diff --git a/Projects/Presentation/Auth/Interface/Sources/AuthInterface.swift b/Projects/Feature/Auth/Interface/Sources/AuthInterface.swift similarity index 100% rename from Projects/Presentation/Auth/Interface/Sources/AuthInterface.swift rename to Projects/Feature/Auth/Interface/Sources/AuthInterface.swift diff --git a/Projects/Presentation/Auth/Project.swift b/Projects/Feature/Auth/Project.swift similarity index 93% rename from Projects/Presentation/Auth/Project.swift rename to Projects/Feature/Auth/Project.swift index f052be5d..5f453d86 100644 --- a/Projects/Presentation/Auth/Project.swift +++ b/Projects/Feature/Auth/Project.swift @@ -5,7 +5,7 @@ import ProjectDescription import ProjectTemplatePlugin let project = Project.configure( - moduleType: .feature(.Auth), + moduleType: .feature(.auth), bundleId: .appBundleID(name: ".Auth"), settings: .settings(), dependencies: [ diff --git a/Projects/Presentation/Auth/Sources/Coordinator/Reducer/AuthCoordinator.swift b/Projects/Feature/Auth/Sources/Coordinator/Reducer/AuthCoordinator.swift similarity index 100% rename from Projects/Presentation/Auth/Sources/Coordinator/Reducer/AuthCoordinator.swift rename to Projects/Feature/Auth/Sources/Coordinator/Reducer/AuthCoordinator.swift diff --git a/Projects/Presentation/Auth/Sources/Coordinator/View/AuthCoordinatorView.swift b/Projects/Feature/Auth/Sources/Coordinator/View/AuthCoordinatorView.swift similarity index 100% rename from Projects/Presentation/Auth/Sources/Coordinator/View/AuthCoordinatorView.swift rename to Projects/Feature/Auth/Sources/Coordinator/View/AuthCoordinatorView.swift diff --git a/Projects/Presentation/Auth/Sources/Main/Reducer/LoginFeature.swift b/Projects/Feature/Auth/Sources/Main/Reducer/LoginFeature.swift similarity index 100% rename from Projects/Presentation/Auth/Sources/Main/Reducer/LoginFeature.swift rename to Projects/Feature/Auth/Sources/Main/Reducer/LoginFeature.swift diff --git a/Projects/Presentation/Auth/Sources/Main/Reducer/TermsAgreementFeature.swift b/Projects/Feature/Auth/Sources/Main/Reducer/TermsAgreementFeature.swift similarity index 100% rename from Projects/Presentation/Auth/Sources/Main/Reducer/TermsAgreementFeature.swift rename to Projects/Feature/Auth/Sources/Main/Reducer/TermsAgreementFeature.swift diff --git a/Projects/Presentation/Auth/Sources/Main/View/Components/SocialCircleButtonView.swift b/Projects/Feature/Auth/Sources/Main/View/Components/SocialCircleButtonView.swift similarity index 100% rename from Projects/Presentation/Auth/Sources/Main/View/Components/SocialCircleButtonView.swift rename to Projects/Feature/Auth/Sources/Main/View/Components/SocialCircleButtonView.swift diff --git a/Projects/Presentation/Auth/Sources/Main/View/Components/TermsAgreementView.swift b/Projects/Feature/Auth/Sources/Main/View/Components/TermsAgreementView.swift similarity index 100% rename from Projects/Presentation/Auth/Sources/Main/View/Components/TermsAgreementView.swift rename to Projects/Feature/Auth/Sources/Main/View/Components/TermsAgreementView.swift diff --git a/Projects/Presentation/Auth/Sources/Main/View/LoginView.swift b/Projects/Feature/Auth/Sources/Main/View/LoginView.swift similarity index 100% rename from Projects/Presentation/Auth/Sources/Main/View/LoginView.swift rename to Projects/Feature/Auth/Sources/Main/View/LoginView.swift diff --git a/Projects/Presentation/Auth/Sources/OnBoarding/Reducer/OnBoardingFeature.swift b/Projects/Feature/Auth/Sources/OnBoarding/Reducer/OnBoardingFeature.swift similarity index 100% rename from Projects/Presentation/Auth/Sources/OnBoarding/Reducer/OnBoardingFeature.swift rename to Projects/Feature/Auth/Sources/OnBoarding/Reducer/OnBoardingFeature.swift diff --git a/Projects/Presentation/Auth/Sources/OnBoarding/View/Components/OnBoardingPageIndicator.swift b/Projects/Feature/Auth/Sources/OnBoarding/View/Components/OnBoardingPageIndicator.swift similarity index 100% rename from Projects/Presentation/Auth/Sources/OnBoarding/View/Components/OnBoardingPageIndicator.swift rename to Projects/Feature/Auth/Sources/OnBoarding/View/Components/OnBoardingPageIndicator.swift diff --git a/Projects/Presentation/Auth/Sources/OnBoarding/View/OnBoardingView.swift b/Projects/Feature/Auth/Sources/OnBoarding/View/OnBoardingView.swift similarity index 100% rename from Projects/Presentation/Auth/Sources/OnBoarding/View/OnBoardingView.swift rename to Projects/Feature/Auth/Sources/OnBoarding/View/OnBoardingView.swift diff --git a/Projects/Presentation/Auth/Testing/Sources/AuthTesting.swift b/Projects/Feature/Auth/Testing/Sources/AuthTesting.swift similarity index 100% rename from Projects/Presentation/Auth/Testing/Sources/AuthTesting.swift rename to Projects/Feature/Auth/Testing/Sources/AuthTesting.swift diff --git a/Projects/Presentation/Auth/Tests/Sources/AuthTests.swift b/Projects/Feature/Auth/Tests/Sources/AuthTests.swift similarity index 93% rename from Projects/Presentation/Auth/Tests/Sources/AuthTests.swift rename to Projects/Feature/Auth/Tests/Sources/AuthTests.swift index f664af61..ffb04a08 100644 --- a/Projects/Presentation/Auth/Tests/Sources/AuthTests.swift +++ b/Projects/Feature/Auth/Tests/Sources/AuthTests.swift @@ -1,6 +1,6 @@ // // AuthTests.swift -// Presentation.AuthTests +// Feature.AuthTests // // Created by Roy on 2026-05-09. // diff --git a/Projects/Presentation/Battle/Interface/Sources/BattleInterface.swift b/Projects/Feature/Battle/Interface/Sources/BattleInterface.swift similarity index 100% rename from Projects/Presentation/Battle/Interface/Sources/BattleInterface.swift rename to Projects/Feature/Battle/Interface/Sources/BattleInterface.swift diff --git a/Projects/Presentation/Battle/Project.swift b/Projects/Feature/Battle/Project.swift similarity index 93% rename from Projects/Presentation/Battle/Project.swift rename to Projects/Feature/Battle/Project.swift index 394c77ac..5ba16359 100644 --- a/Projects/Presentation/Battle/Project.swift +++ b/Projects/Feature/Battle/Project.swift @@ -5,7 +5,7 @@ import ProjectDescription import ProjectTemplatePlugin let project = Project.configure( - moduleType: .feature(.Battle), + moduleType: .feature(.battle), bundleId: .appBundleID(name: ".Battle"), settings: .settings(), dependencies: [ diff --git a/Projects/Presentation/Battle/Sources/Coordinator/Reducer/BattleCoordinator.swift b/Projects/Feature/Battle/Sources/Coordinator/Reducer/BattleCoordinator.swift similarity index 100% rename from Projects/Presentation/Battle/Sources/Coordinator/Reducer/BattleCoordinator.swift rename to Projects/Feature/Battle/Sources/Coordinator/Reducer/BattleCoordinator.swift diff --git a/Projects/Presentation/Battle/Sources/Coordinator/View/BattleCoordinatorView.swift b/Projects/Feature/Battle/Sources/Coordinator/View/BattleCoordinatorView.swift similarity index 100% rename from Projects/Presentation/Battle/Sources/Coordinator/View/BattleCoordinatorView.swift rename to Projects/Feature/Battle/Sources/Coordinator/View/BattleCoordinatorView.swift diff --git a/Projects/Presentation/Battle/Sources/Main/Model/DailyBattle.swift b/Projects/Feature/Battle/Sources/Main/Model/DailyBattle.swift similarity index 100% rename from Projects/Presentation/Battle/Sources/Main/Model/DailyBattle.swift rename to Projects/Feature/Battle/Sources/Main/Model/DailyBattle.swift diff --git a/Projects/Presentation/Battle/Sources/Main/Reducer/BattleFeature.swift b/Projects/Feature/Battle/Sources/Main/Reducer/BattleFeature.swift similarity index 100% rename from Projects/Presentation/Battle/Sources/Main/Reducer/BattleFeature.swift rename to Projects/Feature/Battle/Sources/Main/Reducer/BattleFeature.swift diff --git a/Projects/Presentation/Battle/Sources/Main/View/BattleView.swift b/Projects/Feature/Battle/Sources/Main/View/BattleView.swift similarity index 100% rename from Projects/Presentation/Battle/Sources/Main/View/BattleView.swift rename to Projects/Feature/Battle/Sources/Main/View/BattleView.swift diff --git a/Projects/Presentation/Battle/Sources/Main/View/Components/BattlePagingBar.swift b/Projects/Feature/Battle/Sources/Main/View/Components/BattlePagingBar.swift similarity index 100% rename from Projects/Presentation/Battle/Sources/Main/View/Components/BattlePagingBar.swift rename to Projects/Feature/Battle/Sources/Main/View/Components/BattlePagingBar.swift diff --git a/Projects/Presentation/Battle/Sources/Main/View/Components/BattleSkeletonView.swift b/Projects/Feature/Battle/Sources/Main/View/Components/BattleSkeletonView.swift similarity index 100% rename from Projects/Presentation/Battle/Sources/Main/View/Components/BattleSkeletonView.swift rename to Projects/Feature/Battle/Sources/Main/View/Components/BattleSkeletonView.swift diff --git a/Projects/Presentation/Battle/Testing/Sources/BattleTesting.swift b/Projects/Feature/Battle/Testing/Sources/BattleTesting.swift similarity index 100% rename from Projects/Presentation/Battle/Testing/Sources/BattleTesting.swift rename to Projects/Feature/Battle/Testing/Sources/BattleTesting.swift diff --git a/Projects/Presentation/Battle/Tests/Sources/BattleTests.swift b/Projects/Feature/Battle/Tests/Sources/BattleTests.swift similarity index 92% rename from Projects/Presentation/Battle/Tests/Sources/BattleTests.swift rename to Projects/Feature/Battle/Tests/Sources/BattleTests.swift index 4a2f4c62..717c784d 100644 --- a/Projects/Presentation/Battle/Tests/Sources/BattleTests.swift +++ b/Projects/Feature/Battle/Tests/Sources/BattleTests.swift @@ -1,6 +1,6 @@ // // BattleTests.swift -// Presentation.BattleTests +// Feature.BattleTests // // Created by Roy on 2026-06-05. // diff --git a/Projects/Presentation/Chat/Interface/Sources/ChatInterface.swift b/Projects/Feature/Chat/Interface/Sources/ChatInterface.swift similarity index 100% rename from Projects/Presentation/Chat/Interface/Sources/ChatInterface.swift rename to Projects/Feature/Chat/Interface/Sources/ChatInterface.swift diff --git a/Projects/Presentation/Chat/Project.swift b/Projects/Feature/Chat/Project.swift similarity index 96% rename from Projects/Presentation/Chat/Project.swift rename to Projects/Feature/Chat/Project.swift index 9f3cebf2..a2f2c757 100644 --- a/Projects/Presentation/Chat/Project.swift +++ b/Projects/Feature/Chat/Project.swift @@ -5,7 +5,7 @@ import ProjectDescription import ProjectTemplatePlugin let project = Project.configure( - moduleType: .feature(.Chat), + moduleType: .feature(.chat), bundleId: .appBundleID(name: ".Chat"), settings: .settings(), dependencies: [ diff --git a/Projects/Presentation/Chat/Sources/ChatRoom/Reducer/ChatRoomFeature.swift b/Projects/Feature/Chat/Sources/ChatRoom/Reducer/ChatRoomFeature.swift similarity index 100% rename from Projects/Presentation/Chat/Sources/ChatRoom/Reducer/ChatRoomFeature.swift rename to Projects/Feature/Chat/Sources/ChatRoom/Reducer/ChatRoomFeature.swift diff --git a/Projects/Presentation/Chat/Sources/ChatRoom/View/ChatRoomView.swift b/Projects/Feature/Chat/Sources/ChatRoom/View/ChatRoomView.swift similarity index 100% rename from Projects/Presentation/Chat/Sources/ChatRoom/View/ChatRoomView.swift rename to Projects/Feature/Chat/Sources/ChatRoom/View/ChatRoomView.swift diff --git a/Projects/Presentation/Chat/Sources/ChatRoom/View/Components/ChatRoomSkeletonView.swift b/Projects/Feature/Chat/Sources/ChatRoom/View/Components/ChatRoomSkeletonView.swift similarity index 100% rename from Projects/Presentation/Chat/Sources/ChatRoom/View/Components/ChatRoomSkeletonView.swift rename to Projects/Feature/Chat/Sources/ChatRoom/View/Components/ChatRoomSkeletonView.swift diff --git a/Projects/Presentation/Chat/Sources/Comment/Reducer/CommentFeature.swift b/Projects/Feature/Chat/Sources/Comment/Reducer/CommentFeature.swift similarity index 100% rename from Projects/Presentation/Chat/Sources/Comment/Reducer/CommentFeature.swift rename to Projects/Feature/Chat/Sources/Comment/Reducer/CommentFeature.swift diff --git a/Projects/Presentation/Chat/Sources/Comment/View/CommentView.swift b/Projects/Feature/Chat/Sources/Comment/View/CommentView.swift similarity index 100% rename from Projects/Presentation/Chat/Sources/Comment/View/CommentView.swift rename to Projects/Feature/Chat/Sources/Comment/View/CommentView.swift diff --git a/Projects/Presentation/Chat/Sources/Comment/View/Components/CommentSkeletonView.swift b/Projects/Feature/Chat/Sources/Comment/View/Components/CommentSkeletonView.swift similarity index 100% rename from Projects/Presentation/Chat/Sources/Comment/View/Components/CommentSkeletonView.swift rename to Projects/Feature/Chat/Sources/Comment/View/Components/CommentSkeletonView.swift diff --git a/Projects/Presentation/Chat/Sources/CommentReply/Reducer/CommentReplyFeature.swift b/Projects/Feature/Chat/Sources/CommentReply/Reducer/CommentReplyFeature.swift similarity index 100% rename from Projects/Presentation/Chat/Sources/CommentReply/Reducer/CommentReplyFeature.swift rename to Projects/Feature/Chat/Sources/CommentReply/Reducer/CommentReplyFeature.swift diff --git a/Projects/Presentation/Chat/Sources/CommentReply/View/CommentReplyView.swift b/Projects/Feature/Chat/Sources/CommentReply/View/CommentReplyView.swift similarity index 100% rename from Projects/Presentation/Chat/Sources/CommentReply/View/CommentReplyView.swift rename to Projects/Feature/Chat/Sources/CommentReply/View/CommentReplyView.swift diff --git a/Projects/Presentation/Chat/Sources/CommentReply/View/Components/CommentReplySkeletonView.swift b/Projects/Feature/Chat/Sources/CommentReply/View/Components/CommentReplySkeletonView.swift similarity index 100% rename from Projects/Presentation/Chat/Sources/CommentReply/View/Components/CommentReplySkeletonView.swift rename to Projects/Feature/Chat/Sources/CommentReply/View/Components/CommentReplySkeletonView.swift diff --git a/Projects/Presentation/Chat/Sources/Coordinator/Reducer/ChatCoordinator.swift b/Projects/Feature/Chat/Sources/Coordinator/Reducer/ChatCoordinator.swift similarity index 100% rename from Projects/Presentation/Chat/Sources/Coordinator/Reducer/ChatCoordinator.swift rename to Projects/Feature/Chat/Sources/Coordinator/Reducer/ChatCoordinator.swift diff --git a/Projects/Presentation/Chat/Sources/Coordinator/View/ChatCoordinatorView.swift b/Projects/Feature/Chat/Sources/Coordinator/View/ChatCoordinatorView.swift similarity index 100% rename from Projects/Presentation/Chat/Sources/Coordinator/View/ChatCoordinatorView.swift rename to Projects/Feature/Chat/Sources/Coordinator/View/ChatCoordinatorView.swift diff --git a/Projects/Presentation/Chat/Sources/Curation/Reducer/CurationFeature.swift b/Projects/Feature/Chat/Sources/Curation/Reducer/CurationFeature.swift similarity index 100% rename from Projects/Presentation/Chat/Sources/Curation/Reducer/CurationFeature.swift rename to Projects/Feature/Chat/Sources/Curation/Reducer/CurationFeature.swift diff --git a/Projects/Presentation/Chat/Sources/Curation/View/Components/CurationSkeletonView.swift b/Projects/Feature/Chat/Sources/Curation/View/Components/CurationSkeletonView.swift similarity index 100% rename from Projects/Presentation/Chat/Sources/Curation/View/Components/CurationSkeletonView.swift rename to Projects/Feature/Chat/Sources/Curation/View/Components/CurationSkeletonView.swift diff --git a/Projects/Presentation/Chat/Sources/Curation/View/CurationView.swift b/Projects/Feature/Chat/Sources/Curation/View/CurationView.swift similarity index 100% rename from Projects/Presentation/Chat/Sources/Curation/View/CurationView.swift rename to Projects/Feature/Chat/Sources/Curation/View/CurationView.swift diff --git a/Projects/Presentation/Chat/Sources/Vote/Reducer/PreVoteFeature.swift b/Projects/Feature/Chat/Sources/Vote/Reducer/PreVoteFeature.swift similarity index 100% rename from Projects/Presentation/Chat/Sources/Vote/Reducer/PreVoteFeature.swift rename to Projects/Feature/Chat/Sources/Vote/Reducer/PreVoteFeature.swift diff --git a/Projects/Presentation/Chat/Sources/Vote/View/Components/PreVoteSkeletonView.swift b/Projects/Feature/Chat/Sources/Vote/View/Components/PreVoteSkeletonView.swift similarity index 100% rename from Projects/Presentation/Chat/Sources/Vote/View/Components/PreVoteSkeletonView.swift rename to Projects/Feature/Chat/Sources/Vote/View/Components/PreVoteSkeletonView.swift diff --git a/Projects/Presentation/Chat/Sources/Vote/View/PreVoteLayout.swift b/Projects/Feature/Chat/Sources/Vote/View/PreVoteLayout.swift similarity index 100% rename from Projects/Presentation/Chat/Sources/Vote/View/PreVoteLayout.swift rename to Projects/Feature/Chat/Sources/Vote/View/PreVoteLayout.swift diff --git a/Projects/Presentation/Chat/Sources/Vote/View/PreVoteView.swift b/Projects/Feature/Chat/Sources/Vote/View/PreVoteView.swift similarity index 100% rename from Projects/Presentation/Chat/Sources/Vote/View/PreVoteView.swift rename to Projects/Feature/Chat/Sources/Vote/View/PreVoteView.swift diff --git a/Projects/Presentation/Chat/Testing/Sources/ChatTesting.swift b/Projects/Feature/Chat/Testing/Sources/ChatTesting.swift similarity index 100% rename from Projects/Presentation/Chat/Testing/Sources/ChatTesting.swift rename to Projects/Feature/Chat/Testing/Sources/ChatTesting.swift diff --git a/Projects/Presentation/Chat/Tests/Sources/ChatTests.swift b/Projects/Feature/Chat/Tests/Sources/ChatTests.swift similarity index 92% rename from Projects/Presentation/Chat/Tests/Sources/ChatTests.swift rename to Projects/Feature/Chat/Tests/Sources/ChatTests.swift index 206e298e..00bcf6d7 100644 --- a/Projects/Presentation/Chat/Tests/Sources/ChatTests.swift +++ b/Projects/Feature/Chat/Tests/Sources/ChatTests.swift @@ -1,6 +1,6 @@ // // ChatTests.swift -// Presentation.ChatTests +// Feature.ChatTests // // Created by Roy on 2026-05-21. // diff --git a/Projects/Feature/FeatureAssembly/Project.swift b/Projects/Feature/FeatureAssembly/Project.swift new file mode 100644 index 00000000..a3ce9576 --- /dev/null +++ b/Projects/Feature/FeatureAssembly/Project.swift @@ -0,0 +1,24 @@ +import DependencyPackagePlugin +import DependencyPlugin +import Foundation +import ProjectDescription +import ProjectTemplatePlugin + +let project = Project.configure( + moduleType: .module(name: "FeatureAssembly"), + bundleId: .appBundleID(name: ".FeatureAssembly"), + product: .staticFramework, + settings: .settings(), + dependencies: [ + .feature(implements: .splash), + .feature(implements: .auth), + .feature(implements: .web), + .feature(implements: .home), + .feature(implements: .chat), + .feature(implements: .hifi), + .feature(implements: .battle), + .feature(implements: .profile), + .feature(implements: .notification), + ], + sources: ["Sources/**"] +) diff --git a/Projects/Presentation/Presentation/Sources/Exported/PresentationExported.swift b/Projects/Feature/FeatureAssembly/Sources/Exported/FeatureAssemblyExported.swift similarity index 85% rename from Projects/Presentation/Presentation/Sources/Exported/PresentationExported.swift rename to Projects/Feature/FeatureAssembly/Sources/Exported/FeatureAssemblyExported.swift index 1eac8a02..d2ef22b9 100644 --- a/Projects/Presentation/Presentation/Sources/Exported/PresentationExported.swift +++ b/Projects/Feature/FeatureAssembly/Sources/Exported/FeatureAssemblyExported.swift @@ -1,6 +1,6 @@ // -// PresentationExported.swift -// Presentation +// FeatureAssemblyExported.swift +// FeatureAssembly // // Created by Wonji Suh on 9/5/25. // diff --git a/Projects/Presentation/Presentation/Tests/Sources/Test.swift b/Projects/Feature/FeatureAssembly/Tests/Sources/Test.swift similarity index 100% rename from Projects/Presentation/Presentation/Tests/Sources/Test.swift rename to Projects/Feature/FeatureAssembly/Tests/Sources/Test.swift diff --git a/Projects/Presentation/Hifi/Interface/Sources/HifiInterface.swift b/Projects/Feature/Hifi/Interface/Sources/HifiInterface.swift similarity index 100% rename from Projects/Presentation/Hifi/Interface/Sources/HifiInterface.swift rename to Projects/Feature/Hifi/Interface/Sources/HifiInterface.swift diff --git a/Projects/Presentation/Hifi/Project.swift b/Projects/Feature/Hifi/Project.swift similarity index 95% rename from Projects/Presentation/Hifi/Project.swift rename to Projects/Feature/Hifi/Project.swift index 8afb20c3..80a1e9d2 100644 --- a/Projects/Presentation/Hifi/Project.swift +++ b/Projects/Feature/Hifi/Project.swift @@ -5,7 +5,7 @@ import ProjectDescription import ProjectTemplatePlugin let project = Project.configure( - moduleType: .feature(.Hifi), + moduleType: .feature(.hifi), bundleId: .appBundleID(name: ".Hifi"), product: .staticFramework, settings: .settings(), diff --git a/Projects/Presentation/Hifi/Sources/Coordinator/Reducer/HifiCoordinator.swift b/Projects/Feature/Hifi/Sources/Coordinator/Reducer/HifiCoordinator.swift similarity index 100% rename from Projects/Presentation/Hifi/Sources/Coordinator/Reducer/HifiCoordinator.swift rename to Projects/Feature/Hifi/Sources/Coordinator/Reducer/HifiCoordinator.swift diff --git a/Projects/Presentation/Hifi/Sources/Coordinator/View/HifiCoordinatorView.swift b/Projects/Feature/Hifi/Sources/Coordinator/View/HifiCoordinatorView.swift similarity index 100% rename from Projects/Presentation/Hifi/Sources/Coordinator/View/HifiCoordinatorView.swift rename to Projects/Feature/Hifi/Sources/Coordinator/View/HifiCoordinatorView.swift diff --git a/Projects/Presentation/Hifi/Sources/Reducer/HifiFeature.swift b/Projects/Feature/Hifi/Sources/Reducer/HifiFeature.swift similarity index 100% rename from Projects/Presentation/Hifi/Sources/Reducer/HifiFeature.swift rename to Projects/Feature/Hifi/Sources/Reducer/HifiFeature.swift diff --git a/Projects/Presentation/Hifi/Sources/View/Components/ExploreSkeletonView.swift b/Projects/Feature/Hifi/Sources/View/Components/ExploreSkeletonView.swift similarity index 100% rename from Projects/Presentation/Hifi/Sources/View/Components/ExploreSkeletonView.swift rename to Projects/Feature/Hifi/Sources/View/Components/ExploreSkeletonView.swift diff --git a/Projects/Presentation/Hifi/Sources/View/Components/HifiHeaderView.swift b/Projects/Feature/Hifi/Sources/View/Components/HifiHeaderView.swift similarity index 100% rename from Projects/Presentation/Hifi/Sources/View/Components/HifiHeaderView.swift rename to Projects/Feature/Hifi/Sources/View/Components/HifiHeaderView.swift diff --git a/Projects/Presentation/Hifi/Sources/View/HifiView.swift b/Projects/Feature/Hifi/Sources/View/HifiView.swift similarity index 100% rename from Projects/Presentation/Hifi/Sources/View/HifiView.swift rename to Projects/Feature/Hifi/Sources/View/HifiView.swift diff --git a/Projects/Presentation/Hifi/Testing/Sources/HifiTesting.swift b/Projects/Feature/Hifi/Testing/Sources/HifiTesting.swift similarity index 100% rename from Projects/Presentation/Hifi/Testing/Sources/HifiTesting.swift rename to Projects/Feature/Hifi/Testing/Sources/HifiTesting.swift diff --git a/Projects/Presentation/Hifi/Tests/Sources/HifiTests.swift b/Projects/Feature/Hifi/Tests/Sources/HifiTests.swift similarity index 93% rename from Projects/Presentation/Hifi/Tests/Sources/HifiTests.swift rename to Projects/Feature/Hifi/Tests/Sources/HifiTests.swift index 21c54d00..44cdccd1 100644 --- a/Projects/Presentation/Hifi/Tests/Sources/HifiTests.swift +++ b/Projects/Feature/Hifi/Tests/Sources/HifiTests.swift @@ -1,6 +1,6 @@ // // HifiTests.swift -// Presentation.HifiTests +// Feature.HifiTests // // Created by Roy on 2026-06-04. // diff --git a/Projects/Presentation/Home/Interface/Sources/HomeInterface.swift b/Projects/Feature/Home/Interface/Sources/HomeInterface.swift similarity index 100% rename from Projects/Presentation/Home/Interface/Sources/HomeInterface.swift rename to Projects/Feature/Home/Interface/Sources/HomeInterface.swift diff --git a/Projects/Presentation/Home/Project.swift b/Projects/Feature/Home/Project.swift similarity index 95% rename from Projects/Presentation/Home/Project.swift rename to Projects/Feature/Home/Project.swift index 779ce36d..46da8179 100644 --- a/Projects/Presentation/Home/Project.swift +++ b/Projects/Feature/Home/Project.swift @@ -5,7 +5,7 @@ import ProjectDescription import ProjectTemplatePlugin let project = Project.configure( - moduleType: .feature(.Home), + moduleType: .feature(.home), bundleId: .appBundleID(name: ".Home"), product: .staticFramework, settings: .settings(), diff --git a/Projects/Presentation/Home/Sources/Attendance/Reducer/AttendanceModalFeature.swift b/Projects/Feature/Home/Sources/Attendance/Reducer/AttendanceModalFeature.swift similarity index 100% rename from Projects/Presentation/Home/Sources/Attendance/Reducer/AttendanceModalFeature.swift rename to Projects/Feature/Home/Sources/Attendance/Reducer/AttendanceModalFeature.swift diff --git a/Projects/Presentation/Home/Sources/Attendance/View/AttendanceDayCell.swift b/Projects/Feature/Home/Sources/Attendance/View/AttendanceDayCell.swift similarity index 100% rename from Projects/Presentation/Home/Sources/Attendance/View/AttendanceDayCell.swift rename to Projects/Feature/Home/Sources/Attendance/View/AttendanceDayCell.swift diff --git a/Projects/Presentation/Home/Sources/Attendance/View/AttendanceModalView.swift b/Projects/Feature/Home/Sources/Attendance/View/AttendanceModalView.swift similarity index 100% rename from Projects/Presentation/Home/Sources/Attendance/View/AttendanceModalView.swift rename to Projects/Feature/Home/Sources/Attendance/View/AttendanceModalView.swift diff --git a/Projects/Presentation/Home/Sources/Attendance/View/AttendanceSheetView.swift b/Projects/Feature/Home/Sources/Attendance/View/AttendanceSheetView.swift similarity index 100% rename from Projects/Presentation/Home/Sources/Attendance/View/AttendanceSheetView.swift rename to Projects/Feature/Home/Sources/Attendance/View/AttendanceSheetView.swift diff --git a/Projects/Presentation/Home/Sources/Common/PhilosopherAvatar+ImageAsset.swift b/Projects/Feature/Home/Sources/Common/PhilosopherAvatar+ImageAsset.swift similarity index 100% rename from Projects/Presentation/Home/Sources/Common/PhilosopherAvatar+ImageAsset.swift rename to Projects/Feature/Home/Sources/Common/PhilosopherAvatar+ImageAsset.swift diff --git a/Projects/Presentation/Home/Sources/Coordinator/Reducer/HomeCoordinator.swift b/Projects/Feature/Home/Sources/Coordinator/Reducer/HomeCoordinator.swift similarity index 100% rename from Projects/Presentation/Home/Sources/Coordinator/Reducer/HomeCoordinator.swift rename to Projects/Feature/Home/Sources/Coordinator/Reducer/HomeCoordinator.swift diff --git a/Projects/Presentation/Home/Sources/Coordinator/View/HomeCoordinatorView.swift b/Projects/Feature/Home/Sources/Coordinator/View/HomeCoordinatorView.swift similarity index 100% rename from Projects/Presentation/Home/Sources/Coordinator/View/HomeCoordinatorView.swift rename to Projects/Feature/Home/Sources/Coordinator/View/HomeCoordinatorView.swift diff --git a/Projects/Presentation/Home/Sources/Main/Reducer/HomeFeature.swift b/Projects/Feature/Home/Sources/Main/Reducer/HomeFeature.swift similarity index 100% rename from Projects/Presentation/Home/Sources/Main/Reducer/HomeFeature.swift rename to Projects/Feature/Home/Sources/Main/Reducer/HomeFeature.swift diff --git a/Projects/Presentation/Home/Sources/Main/View/Components/BestBattleCardView.swift b/Projects/Feature/Home/Sources/Main/View/Components/BestBattleCardView.swift similarity index 100% rename from Projects/Presentation/Home/Sources/Main/View/Components/BestBattleCardView.swift rename to Projects/Feature/Home/Sources/Main/View/Components/BestBattleCardView.swift diff --git a/Projects/Presentation/Home/Sources/Main/View/Components/HeroCarouselView.swift b/Projects/Feature/Home/Sources/Main/View/Components/HeroCarouselView.swift similarity index 100% rename from Projects/Presentation/Home/Sources/Main/View/Components/HeroCarouselView.swift rename to Projects/Feature/Home/Sources/Main/View/Components/HeroCarouselView.swift diff --git a/Projects/Presentation/Home/Sources/Main/View/Components/HomeHeaderView.swift b/Projects/Feature/Home/Sources/Main/View/Components/HomeHeaderView.swift similarity index 100% rename from Projects/Presentation/Home/Sources/Main/View/Components/HomeHeaderView.swift rename to Projects/Feature/Home/Sources/Main/View/Components/HomeHeaderView.swift diff --git a/Projects/Presentation/Home/Sources/Main/View/Components/HomeSectionHeader.swift b/Projects/Feature/Home/Sources/Main/View/Components/HomeSectionHeader.swift similarity index 100% rename from Projects/Presentation/Home/Sources/Main/View/Components/HomeSectionHeader.swift rename to Projects/Feature/Home/Sources/Main/View/Components/HomeSectionHeader.swift diff --git a/Projects/Presentation/Home/Sources/Main/View/Components/HomeSkeletonView.swift b/Projects/Feature/Home/Sources/Main/View/Components/HomeSkeletonView.swift similarity index 100% rename from Projects/Presentation/Home/Sources/Main/View/Components/HomeSkeletonView.swift rename to Projects/Feature/Home/Sources/Main/View/Components/HomeSkeletonView.swift diff --git a/Projects/Presentation/Home/Sources/Main/View/Components/HotBattleCardView.swift b/Projects/Feature/Home/Sources/Main/View/Components/HotBattleCardView.swift similarity index 100% rename from Projects/Presentation/Home/Sources/Main/View/Components/HotBattleCardView.swift rename to Projects/Feature/Home/Sources/Main/View/Components/HotBattleCardView.swift diff --git a/Projects/Presentation/Home/Sources/Main/View/Components/MetaLabelView.swift b/Projects/Feature/Home/Sources/Main/View/Components/MetaLabelView.swift similarity index 100% rename from Projects/Presentation/Home/Sources/Main/View/Components/MetaLabelView.swift rename to Projects/Feature/Home/Sources/Main/View/Components/MetaLabelView.swift diff --git a/Projects/Presentation/Home/Sources/Main/View/Components/NewBattleCardView.swift b/Projects/Feature/Home/Sources/Main/View/Components/NewBattleCardView.swift similarity index 100% rename from Projects/Presentation/Home/Sources/Main/View/Components/NewBattleCardView.swift rename to Projects/Feature/Home/Sources/Main/View/Components/NewBattleCardView.swift diff --git a/Projects/Presentation/Home/Sources/Main/View/Components/QuizCardView.swift b/Projects/Feature/Home/Sources/Main/View/Components/QuizCardView.swift similarity index 100% rename from Projects/Presentation/Home/Sources/Main/View/Components/QuizCardView.swift rename to Projects/Feature/Home/Sources/Main/View/Components/QuizCardView.swift diff --git a/Projects/Presentation/Home/Sources/Main/View/Components/VoteCardView.swift b/Projects/Feature/Home/Sources/Main/View/Components/VoteCardView.swift similarity index 100% rename from Projects/Presentation/Home/Sources/Main/View/Components/VoteCardView.swift rename to Projects/Feature/Home/Sources/Main/View/Components/VoteCardView.swift diff --git a/Projects/Presentation/Home/Sources/Main/View/HomeView.swift b/Projects/Feature/Home/Sources/Main/View/HomeView.swift similarity index 100% rename from Projects/Presentation/Home/Sources/Main/View/HomeView.swift rename to Projects/Feature/Home/Sources/Main/View/HomeView.swift diff --git a/Projects/Presentation/Home/Testing/Sources/HomeTesting.swift b/Projects/Feature/Home/Testing/Sources/HomeTesting.swift similarity index 100% rename from Projects/Presentation/Home/Testing/Sources/HomeTesting.swift rename to Projects/Feature/Home/Testing/Sources/HomeTesting.swift diff --git a/Projects/Presentation/Home/Tests/Sources/HomeTests.swift b/Projects/Feature/Home/Tests/Sources/HomeTests.swift similarity index 100% rename from Projects/Presentation/Home/Tests/Sources/HomeTests.swift rename to Projects/Feature/Home/Tests/Sources/HomeTests.swift diff --git a/Projects/Presentation/Notification/Interface/Sources/NotificationInterface.swift b/Projects/Feature/Notification/Interface/Sources/NotificationInterface.swift similarity index 100% rename from Projects/Presentation/Notification/Interface/Sources/NotificationInterface.swift rename to Projects/Feature/Notification/Interface/Sources/NotificationInterface.swift diff --git a/Projects/Presentation/Notification/Project.swift b/Projects/Feature/Notification/Project.swift similarity index 92% rename from Projects/Presentation/Notification/Project.swift rename to Projects/Feature/Notification/Project.swift index e360aa5b..38f909d4 100644 --- a/Projects/Presentation/Notification/Project.swift +++ b/Projects/Feature/Notification/Project.swift @@ -5,7 +5,7 @@ import ProjectDescription import ProjectTemplatePlugin let project = Project.configure( - moduleType: .feature(.Notification), + moduleType: .feature(.notification), bundleId: .appBundleID(name: ".Notification"), settings: .settings(), dependencies: [ diff --git a/Projects/Presentation/Notification/Sources/Coordinator/Reducer/NotificationCoordinator.swift b/Projects/Feature/Notification/Sources/Coordinator/Reducer/NotificationCoordinator.swift similarity index 100% rename from Projects/Presentation/Notification/Sources/Coordinator/Reducer/NotificationCoordinator.swift rename to Projects/Feature/Notification/Sources/Coordinator/Reducer/NotificationCoordinator.swift diff --git a/Projects/Presentation/Notification/Sources/Coordinator/View/NotificationCoordinatorView.swift b/Projects/Feature/Notification/Sources/Coordinator/View/NotificationCoordinatorView.swift similarity index 100% rename from Projects/Presentation/Notification/Sources/Coordinator/View/NotificationCoordinatorView.swift rename to Projects/Feature/Notification/Sources/Coordinator/View/NotificationCoordinatorView.swift diff --git a/Projects/Presentation/Notification/Sources/Main/Reducer/NotificationFeature.swift b/Projects/Feature/Notification/Sources/Main/Reducer/NotificationFeature.swift similarity index 100% rename from Projects/Presentation/Notification/Sources/Main/Reducer/NotificationFeature.swift rename to Projects/Feature/Notification/Sources/Main/Reducer/NotificationFeature.swift diff --git a/Projects/Presentation/Notification/Sources/Main/View/Components/NotificationSkeletonView.swift b/Projects/Feature/Notification/Sources/Main/View/Components/NotificationSkeletonView.swift similarity index 100% rename from Projects/Presentation/Notification/Sources/Main/View/Components/NotificationSkeletonView.swift rename to Projects/Feature/Notification/Sources/Main/View/Components/NotificationSkeletonView.swift diff --git a/Projects/Presentation/Notification/Sources/Main/View/NotificationView.swift b/Projects/Feature/Notification/Sources/Main/View/NotificationView.swift similarity index 100% rename from Projects/Presentation/Notification/Sources/Main/View/NotificationView.swift rename to Projects/Feature/Notification/Sources/Main/View/NotificationView.swift diff --git a/Projects/Presentation/Notification/Testing/Sources/NotificationTesting.swift b/Projects/Feature/Notification/Testing/Sources/NotificationTesting.swift similarity index 100% rename from Projects/Presentation/Notification/Testing/Sources/NotificationTesting.swift rename to Projects/Feature/Notification/Testing/Sources/NotificationTesting.swift diff --git a/Projects/Presentation/Notification/Tests/Sources/NotificationTests.swift b/Projects/Feature/Notification/Tests/Sources/NotificationTests.swift similarity index 91% rename from Projects/Presentation/Notification/Tests/Sources/NotificationTests.swift rename to Projects/Feature/Notification/Tests/Sources/NotificationTests.swift index 7d4136bf..36e56308 100644 --- a/Projects/Presentation/Notification/Tests/Sources/NotificationTests.swift +++ b/Projects/Feature/Notification/Tests/Sources/NotificationTests.swift @@ -1,6 +1,6 @@ // // NotificationTests.swift -// Presentation.NotificationTests +// Feature.NotificationTests // // Created by Roy on 2026-06-10. // diff --git a/Projects/Presentation/Profile/Interface/Sources/ProfileInterface.swift b/Projects/Feature/Profile/Interface/Sources/ProfileInterface.swift similarity index 100% rename from Projects/Presentation/Profile/Interface/Sources/ProfileInterface.swift rename to Projects/Feature/Profile/Interface/Sources/ProfileInterface.swift diff --git a/Projects/Presentation/Profile/Project.swift b/Projects/Feature/Profile/Project.swift similarity index 96% rename from Projects/Presentation/Profile/Project.swift rename to Projects/Feature/Profile/Project.swift index 74a3eb8a..c769e7c5 100644 --- a/Projects/Presentation/Profile/Project.swift +++ b/Projects/Feature/Profile/Project.swift @@ -5,7 +5,7 @@ import ProjectDescription import ProjectTemplatePlugin let project = Project.configure( - moduleType: .feature(.Profile), + moduleType: .feature(.profile), bundleId: .appBundleID(name: ".Profile"), product: .staticFramework, settings: .settings(), diff --git a/Projects/Presentation/Profile/Sources/BattleProposal/Reducer/BattleProposalFeature.swift b/Projects/Feature/Profile/Sources/BattleProposal/Reducer/BattleProposalFeature.swift similarity index 100% rename from Projects/Presentation/Profile/Sources/BattleProposal/Reducer/BattleProposalFeature.swift rename to Projects/Feature/Profile/Sources/BattleProposal/Reducer/BattleProposalFeature.swift diff --git a/Projects/Presentation/Profile/Sources/BattleProposal/View/BattleProposalView.swift b/Projects/Feature/Profile/Sources/BattleProposal/View/BattleProposalView.swift similarity index 100% rename from Projects/Presentation/Profile/Sources/BattleProposal/View/BattleProposalView.swift rename to Projects/Feature/Profile/Sources/BattleProposal/View/BattleProposalView.swift diff --git a/Projects/Presentation/Profile/Sources/BattleRecord/Reducer/BattleRecordFeature.swift b/Projects/Feature/Profile/Sources/BattleRecord/Reducer/BattleRecordFeature.swift similarity index 100% rename from Projects/Presentation/Profile/Sources/BattleRecord/Reducer/BattleRecordFeature.swift rename to Projects/Feature/Profile/Sources/BattleRecord/Reducer/BattleRecordFeature.swift diff --git a/Projects/Presentation/Profile/Sources/BattleRecord/View/BattleRecordView.swift b/Projects/Feature/Profile/Sources/BattleRecord/View/BattleRecordView.swift similarity index 100% rename from Projects/Presentation/Profile/Sources/BattleRecord/View/BattleRecordView.swift rename to Projects/Feature/Profile/Sources/BattleRecord/View/BattleRecordView.swift diff --git a/Projects/Presentation/Profile/Sources/BattleRecord/View/Components/BattleRecordSkeletonView.swift b/Projects/Feature/Profile/Sources/BattleRecord/View/Components/BattleRecordSkeletonView.swift similarity index 100% rename from Projects/Presentation/Profile/Sources/BattleRecord/View/Components/BattleRecordSkeletonView.swift rename to Projects/Feature/Profile/Sources/BattleRecord/View/Components/BattleRecordSkeletonView.swift diff --git a/Projects/Presentation/Profile/Sources/ContentActivity/Reducer/ContentActivityFeature.swift b/Projects/Feature/Profile/Sources/ContentActivity/Reducer/ContentActivityFeature.swift similarity index 100% rename from Projects/Presentation/Profile/Sources/ContentActivity/Reducer/ContentActivityFeature.swift rename to Projects/Feature/Profile/Sources/ContentActivity/Reducer/ContentActivityFeature.swift diff --git a/Projects/Presentation/Profile/Sources/ContentActivity/View/Components/ContentActivitySkeletonView.swift b/Projects/Feature/Profile/Sources/ContentActivity/View/Components/ContentActivitySkeletonView.swift similarity index 100% rename from Projects/Presentation/Profile/Sources/ContentActivity/View/Components/ContentActivitySkeletonView.swift rename to Projects/Feature/Profile/Sources/ContentActivity/View/Components/ContentActivitySkeletonView.swift diff --git a/Projects/Presentation/Profile/Sources/ContentActivity/View/ContentActivityView.swift b/Projects/Feature/Profile/Sources/ContentActivity/View/ContentActivityView.swift similarity index 100% rename from Projects/Presentation/Profile/Sources/ContentActivity/View/ContentActivityView.swift rename to Projects/Feature/Profile/Sources/ContentActivity/View/ContentActivityView.swift diff --git a/Projects/Presentation/Profile/Sources/Coordinator/Reducer/ProfileCoordinator.swift b/Projects/Feature/Profile/Sources/Coordinator/Reducer/ProfileCoordinator.swift similarity index 100% rename from Projects/Presentation/Profile/Sources/Coordinator/Reducer/ProfileCoordinator.swift rename to Projects/Feature/Profile/Sources/Coordinator/Reducer/ProfileCoordinator.swift diff --git a/Projects/Presentation/Profile/Sources/Coordinator/View/ProfileCoordinatorView.swift b/Projects/Feature/Profile/Sources/Coordinator/View/ProfileCoordinatorView.swift similarity index 100% rename from Projects/Presentation/Profile/Sources/Coordinator/View/ProfileCoordinatorView.swift rename to Projects/Feature/Profile/Sources/Coordinator/View/ProfileCoordinatorView.swift diff --git a/Projects/Presentation/Profile/Sources/Main/Reducer/ProfileFeature.swift b/Projects/Feature/Profile/Sources/Main/Reducer/ProfileFeature.swift similarity index 100% rename from Projects/Presentation/Profile/Sources/Main/Reducer/ProfileFeature.swift rename to Projects/Feature/Profile/Sources/Main/Reducer/ProfileFeature.swift diff --git a/Projects/Presentation/Profile/Sources/Main/View/Components/ProfileSkeletonView.swift b/Projects/Feature/Profile/Sources/Main/View/Components/ProfileSkeletonView.swift similarity index 100% rename from Projects/Presentation/Profile/Sources/Main/View/Components/ProfileSkeletonView.swift rename to Projects/Feature/Profile/Sources/Main/View/Components/ProfileSkeletonView.swift diff --git a/Projects/Presentation/Profile/Sources/Main/View/ProfileView.swift b/Projects/Feature/Profile/Sources/Main/View/ProfileView.swift similarity index 100% rename from Projects/Presentation/Profile/Sources/Main/View/ProfileView.swift rename to Projects/Feature/Profile/Sources/Main/View/ProfileView.swift diff --git a/Projects/Presentation/Profile/Sources/Notice/Reducer/NoticeFeature.swift b/Projects/Feature/Profile/Sources/Notice/Reducer/NoticeFeature.swift similarity index 100% rename from Projects/Presentation/Profile/Sources/Notice/Reducer/NoticeFeature.swift rename to Projects/Feature/Profile/Sources/Notice/Reducer/NoticeFeature.swift diff --git a/Projects/Presentation/Profile/Sources/Notice/View/NoticeView.swift b/Projects/Feature/Profile/Sources/Notice/View/NoticeView.swift similarity index 100% rename from Projects/Presentation/Profile/Sources/Notice/View/NoticeView.swift rename to Projects/Feature/Profile/Sources/Notice/View/NoticeView.swift diff --git a/Projects/Presentation/Profile/Sources/NotificationSetting/Reducer/NotificationSettingFeature.swift b/Projects/Feature/Profile/Sources/NotificationSetting/Reducer/NotificationSettingFeature.swift similarity index 100% rename from Projects/Presentation/Profile/Sources/NotificationSetting/Reducer/NotificationSettingFeature.swift rename to Projects/Feature/Profile/Sources/NotificationSetting/Reducer/NotificationSettingFeature.swift diff --git a/Projects/Presentation/Profile/Sources/NotificationSetting/View/Components/NotificationSettingSkeletonView.swift b/Projects/Feature/Profile/Sources/NotificationSetting/View/Components/NotificationSettingSkeletonView.swift similarity index 100% rename from Projects/Presentation/Profile/Sources/NotificationSetting/View/Components/NotificationSettingSkeletonView.swift rename to Projects/Feature/Profile/Sources/NotificationSetting/View/Components/NotificationSettingSkeletonView.swift diff --git a/Projects/Presentation/Profile/Sources/NotificationSetting/View/NotificationSettingView.swift b/Projects/Feature/Profile/Sources/NotificationSetting/View/NotificationSettingView.swift similarity index 100% rename from Projects/Presentation/Profile/Sources/NotificationSetting/View/NotificationSettingView.swift rename to Projects/Feature/Profile/Sources/NotificationSetting/View/NotificationSettingView.swift diff --git a/Projects/Presentation/Profile/Sources/PointHistory/Reducer/PointHistoryFeature.swift b/Projects/Feature/Profile/Sources/PointHistory/Reducer/PointHistoryFeature.swift similarity index 100% rename from Projects/Presentation/Profile/Sources/PointHistory/Reducer/PointHistoryFeature.swift rename to Projects/Feature/Profile/Sources/PointHistory/Reducer/PointHistoryFeature.swift diff --git a/Projects/Presentation/Profile/Sources/PointHistory/View/Components/PointHistorySkeletonView.swift b/Projects/Feature/Profile/Sources/PointHistory/View/Components/PointHistorySkeletonView.swift similarity index 100% rename from Projects/Presentation/Profile/Sources/PointHistory/View/Components/PointHistorySkeletonView.swift rename to Projects/Feature/Profile/Sources/PointHistory/View/Components/PointHistorySkeletonView.swift diff --git a/Projects/Presentation/Profile/Sources/PointHistory/View/PointHistoryView.swift b/Projects/Feature/Profile/Sources/PointHistory/View/PointHistoryView.swift similarity index 100% rename from Projects/Presentation/Profile/Sources/PointHistory/View/PointHistoryView.swift rename to Projects/Feature/Profile/Sources/PointHistory/View/PointHistoryView.swift diff --git a/Projects/Presentation/Profile/Sources/Recap/Reducer/RecapFeature.swift b/Projects/Feature/Profile/Sources/Recap/Reducer/RecapFeature.swift similarity index 100% rename from Projects/Presentation/Profile/Sources/Recap/Reducer/RecapFeature.swift rename to Projects/Feature/Profile/Sources/Recap/Reducer/RecapFeature.swift diff --git a/Projects/Presentation/Profile/Sources/Recap/View/Components/RecapLockedView.swift b/Projects/Feature/Profile/Sources/Recap/View/Components/RecapLockedView.swift similarity index 100% rename from Projects/Presentation/Profile/Sources/Recap/View/Components/RecapLockedView.swift rename to Projects/Feature/Profile/Sources/Recap/View/Components/RecapLockedView.swift diff --git a/Projects/Presentation/Profile/Sources/Recap/View/Components/RecapMatchCard.swift b/Projects/Feature/Profile/Sources/Recap/View/Components/RecapMatchCard.swift similarity index 100% rename from Projects/Presentation/Profile/Sources/Recap/View/Components/RecapMatchCard.swift rename to Projects/Feature/Profile/Sources/Recap/View/Components/RecapMatchCard.swift diff --git a/Projects/Presentation/Profile/Sources/Recap/View/Components/RecapPhilosopherCard.swift b/Projects/Feature/Profile/Sources/Recap/View/Components/RecapPhilosopherCard.swift similarity index 100% rename from Projects/Presentation/Profile/Sources/Recap/View/Components/RecapPhilosopherCard.swift rename to Projects/Feature/Profile/Sources/Recap/View/Components/RecapPhilosopherCard.swift diff --git a/Projects/Presentation/Profile/Sources/Recap/View/Components/RecapRadarChart.swift b/Projects/Feature/Profile/Sources/Recap/View/Components/RecapRadarChart.swift similarity index 100% rename from Projects/Presentation/Profile/Sources/Recap/View/Components/RecapRadarChart.swift rename to Projects/Feature/Profile/Sources/Recap/View/Components/RecapRadarChart.swift diff --git a/Projects/Presentation/Profile/Sources/Recap/View/Components/RecapScoreBar.swift b/Projects/Feature/Profile/Sources/Recap/View/Components/RecapScoreBar.swift similarity index 100% rename from Projects/Presentation/Profile/Sources/Recap/View/Components/RecapScoreBar.swift rename to Projects/Feature/Profile/Sources/Recap/View/Components/RecapScoreBar.swift diff --git a/Projects/Presentation/Profile/Sources/Recap/View/Components/RecapSkeletonView.swift b/Projects/Feature/Profile/Sources/Recap/View/Components/RecapSkeletonView.swift similarity index 100% rename from Projects/Presentation/Profile/Sources/Recap/View/Components/RecapSkeletonView.swift rename to Projects/Feature/Profile/Sources/Recap/View/Components/RecapSkeletonView.swift diff --git a/Projects/Presentation/Profile/Sources/Recap/View/RecapView.swift b/Projects/Feature/Profile/Sources/Recap/View/RecapView.swift similarity index 100% rename from Projects/Presentation/Profile/Sources/Recap/View/RecapView.swift rename to Projects/Feature/Profile/Sources/Recap/View/RecapView.swift diff --git a/Projects/Presentation/Profile/Sources/Settings/Reducer/SettingsFeature.swift b/Projects/Feature/Profile/Sources/Settings/Reducer/SettingsFeature.swift similarity index 100% rename from Projects/Presentation/Profile/Sources/Settings/Reducer/SettingsFeature.swift rename to Projects/Feature/Profile/Sources/Settings/Reducer/SettingsFeature.swift diff --git a/Projects/Presentation/Profile/Sources/Settings/View/SettingsView.swift b/Projects/Feature/Profile/Sources/Settings/View/SettingsView.swift similarity index 100% rename from Projects/Presentation/Profile/Sources/Settings/View/SettingsView.swift rename to Projects/Feature/Profile/Sources/Settings/View/SettingsView.swift diff --git a/Projects/Presentation/Profile/Sources/Withdraw/Reducer/WithdrawReasonFeature.swift b/Projects/Feature/Profile/Sources/Withdraw/Reducer/WithdrawReasonFeature.swift similarity index 100% rename from Projects/Presentation/Profile/Sources/Withdraw/Reducer/WithdrawReasonFeature.swift rename to Projects/Feature/Profile/Sources/Withdraw/Reducer/WithdrawReasonFeature.swift diff --git a/Projects/Presentation/Profile/Sources/Withdraw/View/WithdrawReasonView.swift b/Projects/Feature/Profile/Sources/Withdraw/View/WithdrawReasonView.swift similarity index 100% rename from Projects/Presentation/Profile/Sources/Withdraw/View/WithdrawReasonView.swift rename to Projects/Feature/Profile/Sources/Withdraw/View/WithdrawReasonView.swift diff --git a/Projects/Presentation/Profile/Testing/Sources/ProfileTesting.swift b/Projects/Feature/Profile/Testing/Sources/ProfileTesting.swift similarity index 100% rename from Projects/Presentation/Profile/Testing/Sources/ProfileTesting.swift rename to Projects/Feature/Profile/Testing/Sources/ProfileTesting.swift diff --git a/Projects/Presentation/Profile/Tests/Sources/ProfileTests.swift b/Projects/Feature/Profile/Tests/Sources/ProfileTests.swift similarity index 92% rename from Projects/Presentation/Profile/Tests/Sources/ProfileTests.swift rename to Projects/Feature/Profile/Tests/Sources/ProfileTests.swift index f3758250..2bad7e42 100644 --- a/Projects/Presentation/Profile/Tests/Sources/ProfileTests.swift +++ b/Projects/Feature/Profile/Tests/Sources/ProfileTests.swift @@ -1,6 +1,6 @@ // // ProfileTests.swift -// Presentation.ProfileTests +// Feature.ProfileTests // // Created by Roy on 2026-06-08. // diff --git a/Projects/Presentation/Splash/Interface/Sources/SplashInterface.swift b/Projects/Feature/Splash/Interface/Sources/SplashInterface.swift similarity index 100% rename from Projects/Presentation/Splash/Interface/Sources/SplashInterface.swift rename to Projects/Feature/Splash/Interface/Sources/SplashInterface.swift diff --git a/Projects/Presentation/Splash/Project.swift b/Projects/Feature/Splash/Project.swift similarity index 93% rename from Projects/Presentation/Splash/Project.swift rename to Projects/Feature/Splash/Project.swift index 9341f77d..3bed9d9e 100644 --- a/Projects/Presentation/Splash/Project.swift +++ b/Projects/Feature/Splash/Project.swift @@ -5,7 +5,7 @@ import ProjectTemplatePlugin import DependencyPackagePlugin let project = Project.configure( - moduleType: .feature(.Splash), + moduleType: .feature(.splash), bundleId: .appBundleID(name: ".Splash"), settings: .settings(), dependencies: [ diff --git a/Projects/Presentation/Splash/Sources/Reducer/SplashFeature.swift b/Projects/Feature/Splash/Sources/Reducer/SplashFeature.swift similarity index 100% rename from Projects/Presentation/Splash/Sources/Reducer/SplashFeature.swift rename to Projects/Feature/Splash/Sources/Reducer/SplashFeature.swift diff --git a/Projects/Presentation/Splash/Sources/View/Components/SplashLogoAnimatedImageView.swift b/Projects/Feature/Splash/Sources/View/Components/SplashLogoAnimatedImageView.swift similarity index 100% rename from Projects/Presentation/Splash/Sources/View/Components/SplashLogoAnimatedImageView.swift rename to Projects/Feature/Splash/Sources/View/Components/SplashLogoAnimatedImageView.swift diff --git a/Projects/Presentation/Splash/Sources/View/SplashView.swift b/Projects/Feature/Splash/Sources/View/SplashView.swift similarity index 100% rename from Projects/Presentation/Splash/Sources/View/SplashView.swift rename to Projects/Feature/Splash/Sources/View/SplashView.swift diff --git a/Projects/Presentation/Splash/Testing/Sources/SplashTesting.swift b/Projects/Feature/Splash/Testing/Sources/SplashTesting.swift similarity index 100% rename from Projects/Presentation/Splash/Testing/Sources/SplashTesting.swift rename to Projects/Feature/Splash/Testing/Sources/SplashTesting.swift diff --git a/Projects/Presentation/Splash/Tests/Sources/SplashTests.swift b/Projects/Feature/Splash/Tests/Sources/SplashTests.swift similarity index 98% rename from Projects/Presentation/Splash/Tests/Sources/SplashTests.swift rename to Projects/Feature/Splash/Tests/Sources/SplashTests.swift index 5a1cee02..e90e4876 100644 --- a/Projects/Presentation/Splash/Tests/Sources/SplashTests.swift +++ b/Projects/Feature/Splash/Tests/Sources/SplashTests.swift @@ -1,6 +1,6 @@ // // SplashTests.swift -// Presentation.SplashTests +// Feature.SplashTests // // Created by Roy on 2026-05-02. // diff --git a/Projects/Presentation/Web/Interface/Sources/WebInterface.swift b/Projects/Feature/Web/Interface/Sources/WebInterface.swift similarity index 100% rename from Projects/Presentation/Web/Interface/Sources/WebInterface.swift rename to Projects/Feature/Web/Interface/Sources/WebInterface.swift diff --git a/Projects/Presentation/Web/Project.swift b/Projects/Feature/Web/Project.swift similarity index 91% rename from Projects/Presentation/Web/Project.swift rename to Projects/Feature/Web/Project.swift index 8bd2b85a..59fd0d0e 100644 --- a/Projects/Presentation/Web/Project.swift +++ b/Projects/Feature/Web/Project.swift @@ -5,7 +5,7 @@ import ProjectTemplatePlugin import DependencyPackagePlugin let project = Project.configure( - moduleType: .feature(.Web), + moduleType: .feature(.web), bundleId: .appBundleID(name: ".Web"), settings: .settings(), dependencies: [ diff --git a/Projects/Presentation/Web/Sources/Reducer/WebReducer.swift b/Projects/Feature/Web/Sources/Reducer/WebReducer.swift similarity index 100% rename from Projects/Presentation/Web/Sources/Reducer/WebReducer.swift rename to Projects/Feature/Web/Sources/Reducer/WebReducer.swift diff --git a/Projects/Presentation/Web/Sources/View/WebRepresentableView.swift b/Projects/Feature/Web/Sources/View/WebRepresentableView.swift similarity index 100% rename from Projects/Presentation/Web/Sources/View/WebRepresentableView.swift rename to Projects/Feature/Web/Sources/View/WebRepresentableView.swift diff --git a/Projects/Presentation/Web/Sources/View/WebView.swift b/Projects/Feature/Web/Sources/View/WebView.swift similarity index 100% rename from Projects/Presentation/Web/Sources/View/WebView.swift rename to Projects/Feature/Web/Sources/View/WebView.swift diff --git a/Projects/Presentation/Web/Testing/Sources/WebTesting.swift b/Projects/Feature/Web/Testing/Sources/WebTesting.swift similarity index 100% rename from Projects/Presentation/Web/Testing/Sources/WebTesting.swift rename to Projects/Feature/Web/Testing/Sources/WebTesting.swift diff --git a/Projects/Presentation/Web/Tests/Sources/WebTests.swift b/Projects/Feature/Web/Tests/Sources/WebTests.swift similarity index 93% rename from Projects/Presentation/Web/Tests/Sources/WebTests.swift rename to Projects/Feature/Web/Tests/Sources/WebTests.swift index 5c330c51..cadda21d 100644 --- a/Projects/Presentation/Web/Tests/Sources/WebTests.swift +++ b/Projects/Feature/Web/Tests/Sources/WebTests.swift @@ -1,6 +1,6 @@ // // WebTests.swift -// Presentation.WebTests +// Feature.WebTests // // Created by Roy on 2026-06-04. // diff --git a/Projects/Presentation/Presentation/Project.swift b/Projects/Presentation/Presentation/Project.swift deleted file mode 100644 index 6c2d35ea..00000000 --- a/Projects/Presentation/Presentation/Project.swift +++ /dev/null @@ -1,24 +0,0 @@ -import DependencyPackagePlugin -import DependencyPlugin -import Foundation -import ProjectDescription -import ProjectTemplatePlugin - -let project = Project.configure( - moduleType: .module(name: "Presentation"), - bundleId: .appBundleID(name: ".Presentation"), - product: .staticFramework, - settings: .settings(), - dependencies: [ - .Presentation(implements: .Splash), - .Presentation(implements: .Auth), - .Presentation(implements: .Web), - .Presentation(implements: .Home), - .Presentation(implements: .Chat), - .Presentation(implements: .Hifi), - .Presentation(implements: .Battle), - .Presentation(implements: .Profile), - .Presentation(implements: .Notification), - ], - sources: ["Sources/**"] -) From 2e553db1a906ff6c5ed70d23fc540c9ccea71367 Mon Sep 17 00:00:00 2001 From: Roy Date: Sun, 6 Sep 2026 15:33:38 +0900 Subject: [PATCH 16/83] =?UTF-8?q?refactor(assembly):=20Domain=C2=B7Data=20?= =?UTF-8?q?=EC=97=84=EB=B8=8C=EB=A0=90=EB=9F=AC=EB=A5=BC=20DomainAssembly?= =?UTF-8?q?=C2=B7DataAssembly=20=EB=A1=9C=20=EB=B0=94=EA=BE=BC=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 조립 경계 이름을 참조 프로젝트(DDDAttendance)와 맞춘다. - Projects/Domain/Domain 을 DomainAssembly 로, Projects/Data/Data 를 DataAssembly 로 옮긴다. - ModulePath.Domains / Datas 카탈로그에서 엄브렐러 case 를 뺀다. 엄브렐러는 모듈이 아니라 조립 경계라 .domainAssembly / .dataAssembly 전용 헬퍼로만 접근한다. FeatureAssembly 와 같은 처리다. - import Domain 을 import DomainAssembly 로 바꾼다. - 파일 헤더에 모듈명으로 박혀 있던 Domain / Data 를 갱신한다. --- .../TargetDependency+Module/Modules.swift | 6 ++++-- .../TargetDependency+Modules.swift | 12 ++++++++++-- Projects/App/Project.swift | 4 ++-- .../Configuration/KingfisherConfigurator.swift | 2 +- .../Application/Deeplink/PushDeeplinkBridge.swift | 2 +- .../Application/Delegate/AppDelegate+Configure.swift | 2 +- .../Application/Delegate/AppDelegate+Push.swift | 2 +- Projects/App/Sources/Reducer/Root/AppReducer.swift | 2 +- Projects/Data/{Data => DataAssembly}/Project.swift | 4 ++-- .../Sources/Exported/DataAssemblyExported.swift} | 4 ++-- .../Domain/{Domain => DomainAssembly}/Project.swift | 4 ++-- .../Sources/Exported/DomainAssemblyExported.swift} | 4 ++-- 12 files changed, 29 insertions(+), 19 deletions(-) rename Projects/Data/{Data => DataAssembly}/Project.swift (85%) rename Projects/Data/{Data/Sources/Exported/DataExported.swift => DataAssembly/Sources/Exported/DataAssemblyExported.swift} (89%) rename Projects/Domain/{Domain => DomainAssembly}/Project.swift (83%) rename Projects/Domain/{Domain/Sources/Exported/DomainExported.swift => DomainAssembly/Sources/Exported/DomainAssemblyExported.swift} (93%) diff --git a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Modules.swift b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Modules.swift index 4db9a227..ebf37c88 100644 --- a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Modules.swift +++ b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Modules.swift @@ -31,9 +31,10 @@ public extension ModulePath { // MARK: - CoreMoudule public extension ModulePath { + /// 엄브렐러(DataAssembly)는 모듈이 아니라 조립 경계라 카탈로그에 넣지 않는다. + /// `TargetDependency.dataAssembly` 로만 접근한다. enum Datas: String, CaseIterable { case Model - case Data case API case Remote case DataTesting @@ -45,8 +46,9 @@ public extension ModulePath { // MARK: - CoreMoudule public extension ModulePath { + /// 엄브렐러(DomainAssembly)는 모듈이 아니라 조립 경계라 카탈로그에 넣지 않는다. + /// `TargetDependency.domainAssembly` 로만 접근한다. enum Domains: String, CaseIterable { - case Domain case DomainTesting public static let name: String = "Domain" diff --git a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/TargetDependency+Modules.swift b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/TargetDependency+Modules.swift index d9023a91..3f2da5b0 100644 --- a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/TargetDependency+Modules.swift +++ b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/TargetDependency+Modules.swift @@ -15,7 +15,6 @@ private extension TargetDependency { } } - // Network public extension TargetDependency { static func Network(implements module: ModulePath.Networks) -> Self { @@ -23,12 +22,16 @@ public extension TargetDependency { } } - // Domain public extension TargetDependency { static func Domain(implements module: ModulePath.Domains) -> Self { projectTarget(module.rawValue, path: .Domain(implementation: module)) } + + /// 컨텍스트별 Domain 구현을 묶어 제공하는 엄브렐러 모듈. + static var domainAssembly: Self { + projectTarget("DomainAssembly", path: .relativeToRoot("Projects/Domain/DomainAssembly")) + } } // Data @@ -36,4 +39,9 @@ public extension TargetDependency { static func Data(implements module: ModulePath.Datas) -> Self { projectTarget(module.rawValue, path: .Data(implementation: module)) } + + /// 컨텍스트별 Repository 구현을 묶어 제공하는 엄브렐러 모듈. + static var dataAssembly: Self { + projectTarget("DataAssembly", path: .relativeToRoot("Projects/Data/DataAssembly")) + } } diff --git a/Projects/App/Project.swift b/Projects/App/Project.swift index e64240e0..711ad5aa 100644 --- a/Projects/App/Project.swift +++ b/Projects/App/Project.swift @@ -27,8 +27,8 @@ let project = Project.configure( .Service(.AudioPlayer), .Service(.Analytics), .featureAssembly, - .Domain(implements: .Domain), - .Data(implements: .Data), + .domainAssembly, + .dataAssembly, .Network(implements: .NetworkModule), .Network(implements: .NetworkToken), .Core(.PickeCore), diff --git a/Projects/App/Sources/Application/Configuration/KingfisherConfigurator.swift b/Projects/App/Sources/Application/Configuration/KingfisherConfigurator.swift index 5ea2b84a..afc960ae 100644 --- a/Projects/App/Sources/Application/Configuration/KingfisherConfigurator.swift +++ b/Projects/App/Sources/Application/Configuration/KingfisherConfigurator.swift @@ -9,7 +9,7 @@ import Kingfisher import NetworkModule import PickeStorageInterface -import Domain +import DomainAssembly enum KingfisherConfigurator { private static let telemetryDelegate = KingfisherTelemetryDelegate() diff --git a/Projects/App/Sources/Application/Deeplink/PushDeeplinkBridge.swift b/Projects/App/Sources/Application/Deeplink/PushDeeplinkBridge.swift index 69550bda..542e20d9 100644 --- a/Projects/App/Sources/Application/Deeplink/PushDeeplinkBridge.swift +++ b/Projects/App/Sources/Application/Deeplink/PushDeeplinkBridge.swift @@ -5,7 +5,7 @@ import Foundation -import Domain +import DomainAssembly import LogMacro enum PushDeeplinkBridge { diff --git a/Projects/App/Sources/Application/Delegate/AppDelegate+Configure.swift b/Projects/App/Sources/Application/Delegate/AppDelegate+Configure.swift index b0d79350..856316cc 100644 --- a/Projects/App/Sources/Application/Delegate/AppDelegate+Configure.swift +++ b/Projects/App/Sources/Application/Delegate/AppDelegate+Configure.swift @@ -11,7 +11,7 @@ import MixpanelSessionReplay import NetworkModule import UIKit -import Domain +import DomainAssembly extension AppDelegate { /// 기동 초기화 진입점. 순서에 의미가 있다. diff --git a/Projects/App/Sources/Application/Delegate/AppDelegate+Push.swift b/Projects/App/Sources/Application/Delegate/AppDelegate+Push.swift index 917285b8..4ca243bc 100644 --- a/Projects/App/Sources/Application/Delegate/AppDelegate+Push.swift +++ b/Projects/App/Sources/Application/Delegate/AppDelegate+Push.swift @@ -7,7 +7,7 @@ import LogMacro import UIKit import UserNotifications -import Domain +import DomainAssembly extension AppDelegate { func configurePushNotifications() { diff --git a/Projects/App/Sources/Reducer/Root/AppReducer.swift b/Projects/App/Sources/Reducer/Root/AppReducer.swift index 5c0a6744..6d8ccf20 100644 --- a/Projects/App/Sources/Reducer/Root/AppReducer.swift +++ b/Projects/App/Sources/Reducer/Root/AppReducer.swift @@ -7,7 +7,7 @@ import AnalyticsServiceInterface import ComposableArchitecture -import Domain +import DomainAssembly import LogMacro import NotificationDomainInterface import PickeCore diff --git a/Projects/Data/Data/Project.swift b/Projects/Data/DataAssembly/Project.swift similarity index 85% rename from Projects/Data/Data/Project.swift rename to Projects/Data/DataAssembly/Project.swift index b0e16f74..0d27b673 100644 --- a/Projects/Data/Data/Project.swift +++ b/Projects/Data/DataAssembly/Project.swift @@ -5,8 +5,8 @@ import ProjectDescription import ProjectTemplatePlugin let project = Project.configure( - moduleType: .module(name: "Data"), - bundleId: .appBundleID(name: ".Data"), + moduleType: .module(name: "DataAssembly"), + bundleId: .appBundleID(name: ".DataAssembly"), product: .staticFramework, settings: .settings(), dependencies: [ diff --git a/Projects/Data/Data/Sources/Exported/DataExported.swift b/Projects/Data/DataAssembly/Sources/Exported/DataAssemblyExported.swift similarity index 89% rename from Projects/Data/Data/Sources/Exported/DataExported.swift rename to Projects/Data/DataAssembly/Sources/Exported/DataAssemblyExported.swift index 07a16b25..493b37c5 100644 --- a/Projects/Data/Data/Sources/Exported/DataExported.swift +++ b/Projects/Data/DataAssembly/Sources/Exported/DataAssemblyExported.swift @@ -1,6 +1,6 @@ // -// DataExported.swift -// Data +// DataAssemblyExported.swift +// DataAssembly // // MARK: - Data 레이어 한번에 노출 diff --git a/Projects/Domain/Domain/Project.swift b/Projects/Domain/DomainAssembly/Project.swift similarity index 83% rename from Projects/Domain/Domain/Project.swift rename to Projects/Domain/DomainAssembly/Project.swift index 10fa9bdb..4ec7bbac 100644 --- a/Projects/Domain/Domain/Project.swift +++ b/Projects/Domain/DomainAssembly/Project.swift @@ -5,8 +5,8 @@ import ProjectDescription import ProjectTemplatePlugin let project = Project.configure( - moduleType: .module(name: "Domain"), - bundleId: .appBundleID(name: ".Domain"), + moduleType: .module(name: "DomainAssembly"), + bundleId: .appBundleID(name: ".DomainAssembly"), product: .staticFramework, settings: .settings(), dependencies: [ diff --git a/Projects/Domain/Domain/Sources/Exported/DomainExported.swift b/Projects/Domain/DomainAssembly/Sources/Exported/DomainAssemblyExported.swift similarity index 93% rename from Projects/Domain/Domain/Sources/Exported/DomainExported.swift rename to Projects/Domain/DomainAssembly/Sources/Exported/DomainAssemblyExported.swift index 6396dbdb..edbf5240 100644 --- a/Projects/Domain/Domain/Sources/Exported/DomainExported.swift +++ b/Projects/Domain/DomainAssembly/Sources/Exported/DomainAssemblyExported.swift @@ -1,6 +1,6 @@ // -// DomainExported.swift -// Domain +// DomainAssemblyExported.swift +// DomainAssembly // // MARK: - Domain 레이어 한번에 노출 From 86d4a785edc44bd691a86949f75ea558a3662822 Mon Sep 17 00:00:00 2001 From: Roy Date: Sun, 6 Sep 2026 15:41:25 +0900 Subject: [PATCH 17/83] =?UTF-8?q?refactor(assembly):=20CoreAssembly=C2=B7S?= =?UTF-8?q?erviceAssembly=20=EB=A5=BC=20=EB=A7=8C=EB=93=A4=EA=B3=A0=20App?= =?UTF-8?q?=20=EC=9D=98=20Core=C2=B7Service=20=EC=9D=98=EC=A1=B4=EC=9D=84?= =?UTF-8?q?=20=ED=95=98=EB=82=98=EB=A1=9C=20=EB=AC=B6=EB=8A=94=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 참조 프로젝트(DDDAttendance)의 5개 조립 경계 중 빠져 있던 둘을 채운다. - Projects/Core/CoreAssembly 를 만든다. PickeCore·PickeFoundation·PickeStorage 구현을 묶는다. - Projects/Service/ServiceAssembly 를 만든다. CoreAssembly 위에 Ad·Analytics· AudioPlayer·Device 구현을 묶는다. SDK 링크는 이 경계 안에서만 일어난다. - TargetDependency 에 .coreAssembly / .serviceAssembly 헬퍼를 더한다. - App 이 개별로 걸고 있던 Core 2개와 Service 4개를 .serviceAssembly 하나로 바꾼다. App 의존성 29개에서 24개로 줄었다. Domain·Data·Network 는 App 소스가 개별 Interface 를 직접 import 하고 있어 이번 단계에서 건드리지 않는다. --- .../FeatureModule.swift | 10 +++++++++ Projects/App/Project.swift | 9 +++----- Projects/Core/CoreAssembly/Project.swift | 20 +++++++++++++++++ .../Exported/CoreAssemblyExported.swift | 10 +++++++++ .../Service/ServiceAssembly/Project.swift | 22 +++++++++++++++++++ .../Exported/ServiceAssemblyExported.swift | 12 ++++++++++ 6 files changed, 77 insertions(+), 6 deletions(-) create mode 100644 Projects/Core/CoreAssembly/Project.swift create mode 100644 Projects/Core/CoreAssembly/Sources/Exported/CoreAssemblyExported.swift create mode 100644 Projects/Service/ServiceAssembly/Project.swift create mode 100644 Projects/Service/ServiceAssembly/Sources/Exported/ServiceAssemblyExported.swift diff --git a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/FeatureModule.swift b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/FeatureModule.swift index 982b7ad8..baab6361 100644 --- a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/FeatureModule.swift +++ b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/FeatureModule.swift @@ -149,4 +149,14 @@ public extension TargetDependency { } return .project(target: "\(module.rawValue)\(suffix)", path: .ServiceFeature(module)) } + + /// SDK 래핑 서비스 구현을 묶어 제공하는 엄브렐러 모듈. + static var serviceAssembly: Self { + .project(target: "ServiceAssembly", path: .relativeToRoot("Projects/Service/ServiceAssembly")) + } + + /// 최하위 기반 모듈 구현을 묶어 제공하는 엄브렐러 모듈. + static var coreAssembly: Self { + .project(target: "CoreAssembly", path: .relativeToRoot("Projects/Core/CoreAssembly")) + } } diff --git a/Projects/App/Project.swift b/Projects/App/Project.swift index 711ad5aa..34047078 100644 --- a/Projects/App/Project.swift +++ b/Projects/App/Project.swift @@ -24,17 +24,14 @@ let project = Project.configure( .Domain(.Profile), .Domain(.Search), .Data(.AppUpdate), - .Service(.AudioPlayer), - .Service(.Analytics), .featureAssembly, .domainAssembly, .dataAssembly, + // Core·Service 구현은 조립 경계 하나로 들어온다. + // 앱 시작 전면 팝업 광고(AdService)도 여기에 포함된다. + .serviceAssembly, .Network(implements: .NetworkModule), .Network(implements: .NetworkToken), - .Core(.PickeCore), - .Core(.PickeStorage), - .Service(.Device), - .Service(.Ad), // 앱 시작 전면 팝업 광고 .SPM.googleMobileAds, .SPM.firebaseCrashlytics, .SPM.mixpanel, diff --git a/Projects/Core/CoreAssembly/Project.swift b/Projects/Core/CoreAssembly/Project.swift new file mode 100644 index 00000000..3b47f55f --- /dev/null +++ b/Projects/Core/CoreAssembly/Project.swift @@ -0,0 +1,20 @@ +import DependencyPackagePlugin +import DependencyPlugin +import Foundation +import ProjectDescription +import ProjectTemplatePlugin + +let project = Project.configure( + moduleType: .module(name: "CoreAssembly"), + bundleId: .appBundleID(name: ".CoreAssembly"), + product: .staticFramework, + settings: .settings(), + // 최하위 기반 모듈의 구현을 한곳에서 묶는 조립 경계. + dependencies: [ + .Core(.PickeCore), + .Core(.PickeFoundation), + .Core(.PickeStorage, .implementation), + ], + sources: ["Sources/**"], + hasTests: false +) diff --git a/Projects/Core/CoreAssembly/Sources/Exported/CoreAssemblyExported.swift b/Projects/Core/CoreAssembly/Sources/Exported/CoreAssemblyExported.swift new file mode 100644 index 00000000..0258f7a0 --- /dev/null +++ b/Projects/Core/CoreAssembly/Sources/Exported/CoreAssemblyExported.swift @@ -0,0 +1,10 @@ +// +// CoreAssemblyExported.swift +// CoreAssembly +// + +// MARK: - Core 레이어 한번에 노출 + +@_exported import PickeCore +@_exported import PickeFoundation +@_exported import PickeStorage diff --git a/Projects/Service/ServiceAssembly/Project.swift b/Projects/Service/ServiceAssembly/Project.swift new file mode 100644 index 00000000..0278493e --- /dev/null +++ b/Projects/Service/ServiceAssembly/Project.swift @@ -0,0 +1,22 @@ +import DependencyPackagePlugin +import DependencyPlugin +import Foundation +import ProjectDescription +import ProjectTemplatePlugin + +let project = Project.configure( + moduleType: .module(name: "ServiceAssembly"), + bundleId: .appBundleID(name: ".ServiceAssembly"), + product: .staticFramework, + settings: .settings(), + // SDK 를 링크하는 서비스 구현을 한곳에서 묶는 조립 경계. + dependencies: [ + .coreAssembly, + .Service(.Ad), + .Service(.Analytics), + .Service(.AudioPlayer), + .Service(.Device), + ], + sources: ["Sources/**"], + hasTests: false +) diff --git a/Projects/Service/ServiceAssembly/Sources/Exported/ServiceAssemblyExported.swift b/Projects/Service/ServiceAssembly/Sources/Exported/ServiceAssemblyExported.swift new file mode 100644 index 00000000..aab28edb --- /dev/null +++ b/Projects/Service/ServiceAssembly/Sources/Exported/ServiceAssemblyExported.swift @@ -0,0 +1,12 @@ +// +// ServiceAssemblyExported.swift +// ServiceAssembly +// + +// MARK: - Service 레이어 한번에 노출 + +@_exported import AdService +@_exported import AnalyticsService +@_exported import AudioPlayerService +@_exported import CoreAssembly +@_exported import DeviceService From c764f327c3bd6d1c605469ca349620487edc792d Mon Sep 17 00:00:00 2001 From: Roy Date: Sun, 6 Sep 2026 17:48:20 +0900 Subject: [PATCH 18/83] =?UTF-8?q?refactor(assembly):=20App=20=EC=9D=98=20?= =?UTF-8?q?=EA=B0=9C=EB=B3=84=20Domain=C2=B7Data=20=EC=9D=98=EC=A1=B4?= =?UTF-8?q?=EC=9D=84=20=EC=A1=B0=EB=A6=BD=20=EA=B2=BD=EA=B3=84=EB=A1=9C=20?= =?UTF-8?q?=ED=9D=A1=EC=88=98=ED=95=9C=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit DomainAssembly 가 AppUpdate 를 포함해 도메인 10개를 모두 재노출하도록 맞추고, App 매니페스트에서 .Domain 10개와 .Data(.AppUpdate) 를 걷어낸다. App 소스의 개별 모듈 import 도 DomainAssembly·DataAssembly 로 정리한다. 빌드 검증은 사용자 요청으로 취소했다. --- Projects/App/Project.swift | 12 +----------- Projects/App/Sources/Di/AppDependencyFactory.swift | 6 ++---- .../Coordinator/Profile/AppProfileCoordinator.swift | 2 +- Projects/App/Sources/Reducer/Root/AppReducer.swift | 1 - Projects/Domain/DomainAssembly/Project.swift | 1 + .../Sources/Exported/DomainAssemblyExported.swift | 6 +++++- 6 files changed, 10 insertions(+), 18 deletions(-) diff --git a/Projects/App/Project.swift b/Projects/App/Project.swift index 34047078..4d739ad4 100644 --- a/Projects/App/Project.swift +++ b/Projects/App/Project.swift @@ -13,17 +13,7 @@ let project = Project.configure( settings: .appMainSetting, scripts: [.SentryUploadString], dependencies: [ - .Domain(.AppUpdate), - .Domain(.Attendance), - .Domain(.Auth), - .Domain(.Battle), - .Domain(.Comment), - .Domain(.Home), - .Domain(.Notification), - .Domain(.Perspective), - .Domain(.Profile), - .Domain(.Search), - .Data(.AppUpdate), + // 화면·도메인·데이터 구현은 각 레이어의 조립 경계 하나로 들어온다. .featureAssembly, .domainAssembly, .dataAssembly, diff --git a/Projects/App/Sources/Di/AppDependencyFactory.swift b/Projects/App/Sources/Di/AppDependencyFactory.swift index 360b1bed..f0b369e8 100644 --- a/Projects/App/Sources/Di/AppDependencyFactory.swift +++ b/Projects/App/Sources/Di/AppDependencyFactory.swift @@ -1,13 +1,11 @@ import AnalyticsService import AnalyticsServiceInterface -import AppUpdateData -import AppUpdateDomain import AudioPlayerService -import AuthData -import AuthDomain import ComposableArchitecture +import DataAssembly import DeviceService import DeviceServiceInterface +import DomainAssembly import NetworkModule import PickeStorage import PickeStorageInterface diff --git a/Projects/App/Sources/Reducer/Coordinator/Profile/AppProfileCoordinator.swift b/Projects/App/Sources/Reducer/Coordinator/Profile/AppProfileCoordinator.swift index d9b8b841..4dafc6e1 100644 --- a/Projects/App/Sources/Reducer/Coordinator/Profile/AppProfileCoordinator.swift +++ b/Projects/App/Sources/Reducer/Coordinator/Profile/AppProfileCoordinator.swift @@ -6,8 +6,8 @@ import Foundation import AudioPlayerServiceInterface -import AuthDomainInterface import ComposableArchitecture +import DomainAssembly import FeatureAssembly import TCAFlow diff --git a/Projects/App/Sources/Reducer/Root/AppReducer.swift b/Projects/App/Sources/Reducer/Root/AppReducer.swift index 6d8ccf20..b537857c 100644 --- a/Projects/App/Sources/Reducer/Root/AppReducer.swift +++ b/Projects/App/Sources/Reducer/Root/AppReducer.swift @@ -9,7 +9,6 @@ import AnalyticsServiceInterface import ComposableArchitecture import DomainAssembly import LogMacro -import NotificationDomainInterface import PickeCore import FeatureAssembly diff --git a/Projects/Domain/DomainAssembly/Project.swift b/Projects/Domain/DomainAssembly/Project.swift index 4ec7bbac..1fbb3a8b 100644 --- a/Projects/Domain/DomainAssembly/Project.swift +++ b/Projects/Domain/DomainAssembly/Project.swift @@ -11,6 +11,7 @@ let project = Project.configure( settings: .settings(), dependencies: [ .Domain(.Common), + .Domain(.AppUpdate), .Domain(.Attendance), .Domain(.Auth), .Domain(.Battle), diff --git a/Projects/Domain/DomainAssembly/Sources/Exported/DomainAssemblyExported.swift b/Projects/Domain/DomainAssembly/Sources/Exported/DomainAssemblyExported.swift index edbf5240..138b44cd 100644 --- a/Projects/Domain/DomainAssembly/Sources/Exported/DomainAssemblyExported.swift +++ b/Projects/Domain/DomainAssembly/Sources/Exported/DomainAssemblyExported.swift @@ -5,6 +5,10 @@ // MARK: - Domain 레이어 한번에 노출 +@_exported import AppUpdateDomain +@_exported import AppUpdateDomainInterface +@_exported import AttendanceDomain +@_exported import AttendanceDomainInterface @_exported import AuthDomain @_exported import AuthDomainInterface @_exported import BattleDomain @@ -20,6 +24,6 @@ @_exported import PerspectiveDomain @_exported import PerspectiveDomainInterface @_exported import ProfileDomain +@_exported import ProfileDomainInterface @_exported import SearchDomain @_exported import SearchDomainInterface -@_exported import AppUpdateDomainInterface From 04da064fd84873e312ccb070935a5b50994cee01 Mon Sep 17 00:00:00 2001 From: Roy Date: Sun, 6 Sep 2026 17:51:10 +0900 Subject: [PATCH 19/83] =?UTF-8?q?refactor(tuist):=20=EB=AA=A8=EB=93=88=20?= =?UTF-8?q?=ED=94=84=EB=A1=9C=EC=A0=9D=ED=8A=B8=20=EC=98=B5=EC=85=98?= =?UTF-8?q?=EA=B3=BC=20Demo=20=EC=8A=A4=ED=82=B4=20=EB=B6=84=EB=A6=AC?= =?UTF-8?q?=EB=A5=BC=20DDD=20=ED=85=9C=ED=94=8C=EB=A6=BF=EC=97=90=20?= =?UTF-8?q?=EB=A7=9E=EC=B6=98=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 모듈·피처 프로젝트가 Project.Options 를 주지 않아 자동 생성 스킴에 커버리지가 꺼져 있었고 개발 리전도 비어 있었다. DDD 와 동일하게 채운다. Demo 가 있는 모듈은 자동 스킴이 구현과 Demo 를 한 BuildAction 에 묶으므로, 자동 스킴을 끄고 Scheme.module / Scheme.demo 로 목적별 스킴을 나눈다. 검증: tuist generate 성공, PickeDesignKit 스킴이 구현·Demo 둘로 분리됨, AuthDomain 자동 스킴에 codeCoverageEnabled=YES 적용 확인. --- .../Project+Templete/Project+App.swift | 1 + .../Project+Templete/Project+Feature.swift | 5 +++ .../Project+Templete/Project+Module.swift | 20 +++++---- .../Scheme/Scheme+Module.swift | 45 +++++++++++++++++++ 4 files changed, 63 insertions(+), 8 deletions(-) create mode 100644 Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Scheme/Scheme+Module.swift diff --git a/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/Project+App.swift b/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/Project+App.swift index c6c190b8..681b8035 100644 --- a/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/Project+App.swift +++ b/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/Project+App.swift @@ -88,6 +88,7 @@ extension Project { return Project( name: name, options: .options( + automaticSchemesOptions: .enabled(codeCoverageEnabled: true), defaultKnownRegions: ["en", "ko"], developmentRegion: "ko" ), diff --git a/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/Project+Feature.swift b/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/Project+Feature.swift index 737838db..596ed77d 100644 --- a/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/Project+Feature.swift +++ b/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/Project+Feature.swift @@ -78,6 +78,11 @@ extension Project { return Project( name: name, + options: .options( + automaticSchemesOptions: .enabled(codeCoverageEnabled: true), + defaultKnownRegions: ["en", "ko"], + developmentRegion: "ko" + ), settings: settings.injectingModuleConfigurationsIfNeeded(), targets: [ interfaceTarget, diff --git a/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/Project+Module.swift b/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/Project+Module.swift index 3b0b1e89..5849e483 100644 --- a/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/Project+Module.swift +++ b/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/Project+Module.swift @@ -56,7 +56,9 @@ extension Project { } var allSchemes = schemes + var hasDemo = false if let demoDisplayName { + hasDemo = true let demoName = "\(name)Demo" targets.append( .target( @@ -74,18 +76,20 @@ extension Project { settings: suppressWarningsSettings ) ) - allSchemes.append( - .scheme( - name: demoName, - shared: true, - buildAction: .buildAction(targets: [.target(demoName)]), - runAction: .runAction(configuration: .stage, executable: "\(demoName)") - ) - ) + allSchemes.append(contentsOf: [ + .module(name: name, hasTests: hasTests), + .demo(name: demoName), + ]) } return Project( name: name, + options: .options( + // Demo 가 있으면 자동 스킴이 구현·Demo 를 한 BuildAction 으로 묶으므로 직접 나눈 스킴만 쓴다. + automaticSchemesOptions: hasDemo ? .disabled : .enabled(codeCoverageEnabled: true), + defaultKnownRegions: ["en", "ko"], + developmentRegion: "ko" + ), packages: packages, settings: settings.injectingModuleConfigurationsIfNeeded(), targets: targets, diff --git a/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Scheme/Scheme+Module.swift b/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Scheme/Scheme+Module.swift new file mode 100644 index 00000000..99164ed8 --- /dev/null +++ b/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Scheme/Scheme+Module.swift @@ -0,0 +1,45 @@ +// +// Scheme+Module.swift +// ProjectTemplatePlugin +// +// Demo 가 있는 모듈의 구현/테스트 스킴과 Demo 실행 스킴을 분리한다. +// + +import ProjectDescription + +public extension Scheme { + static func module(name: String, hasTests: Bool) -> Scheme { + makeModuleScheme( + name: name, + target: name, + testTargets: hasTests ? ["\(name)Tests"] : [] + ) + } + + static func demo(name: String) -> Scheme { + makeModuleScheme(name: name, target: name) + } + + private static func makeModuleScheme( + name: String, + target: String, + testTargets: [TestableTarget] = [] + ) -> Scheme { + return .scheme( + name: name, + shared: true, + buildAction: .buildAction(targets: [.target(target)]), + testAction: testTargets.isEmpty + ? nil + : .targets( + testTargets, + configuration: .stage, + options: .options(coverage: true) + ), + runAction: .runAction(configuration: .stage), + archiveAction: .archiveAction(configuration: .stage), + profileAction: .profileAction(configuration: .stage), + analyzeAction: .analyzeAction(configuration: .stage) + ) + } +} From 50fc3a0fe6a148397f38f42d93c535c3d4f9f759 Mon Sep 17 00:00:00 2001 From: Roy Date: Sun, 6 Sep 2026 17:54:44 +0900 Subject: [PATCH 20/83] =?UTF-8?q?refactor(service):=20=EC=84=9C=EB=B2=84?= =?UTF-8?q?=20=EA=B3=84=EC=95=BD=20=EB=AA=A8=EB=93=88=20API=20=EB=A5=BC=20?= =?UTF-8?q?Data=20=EC=97=90=EC=84=9C=20Service=20=EB=A0=88=EC=9D=B4?= =?UTF-8?q?=EC=96=B4=EB=A1=9C=20=EC=98=AE=EA=B8=B4=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit API 는 베이스 URL 과 도메인 경로만 담는 서버 계약이라 Repository 구현이 사는 Data 레이어가 아니라 Service 레이어에 속한다. DDD 의 Service/API 배치에 맞춘다. 모듈 카탈로그의 Datas 에서 API 를 빼고 TargetDependency.api 접근자를 두었으며, 조립 경계도 DataAssembly 에서 ServiceAssembly 로 옮긴다. 검증: tuist generate 성공. --- .../TargetDependency+Module/FeatureModule.swift | 5 +++++ .../TargetDependency+Module/Modules.swift | 1 - Projects/Data/Attendance/Project.swift | 2 +- Projects/Data/Auth/Project.swift | 2 +- Projects/Data/Battle/Project.swift | 2 +- Projects/Data/Comment/Project.swift | 2 +- Projects/Data/DataAssembly/Project.swift | 1 - .../DataAssembly/Sources/Exported/DataAssemblyExported.swift | 1 - Projects/Data/Home/Project.swift | 2 +- Projects/Data/Notification/Project.swift | 2 +- Projects/Data/Perspective/Project.swift | 2 +- Projects/Data/Profile/Project.swift | 2 +- Projects/Data/Remote/Project.swift | 2 +- Projects/Data/Search/Project.swift | 2 +- Projects/{Data => Service}/API/APITests/Sources/Test.swift | 0 Projects/{Data => Service}/API/Project.swift | 0 Projects/{Data => Service}/API/Sources/Base/BaseAPI.swift | 0 .../{Data => Service}/API/Sources/Base/PieckeDomain.swift | 0 Projects/Service/ServiceAssembly/Project.swift | 1 + .../Sources/Exported/ServiceAssemblyExported.swift | 1 + 20 files changed, 17 insertions(+), 13 deletions(-) rename Projects/{Data => Service}/API/APITests/Sources/Test.swift (100%) rename Projects/{Data => Service}/API/Project.swift (100%) rename Projects/{Data => Service}/API/Sources/Base/BaseAPI.swift (100%) rename Projects/{Data => Service}/API/Sources/Base/PieckeDomain.swift (100%) diff --git a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/FeatureModule.swift b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/FeatureModule.swift index baab6361..5d432f2f 100644 --- a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/FeatureModule.swift +++ b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/FeatureModule.swift @@ -150,6 +150,11 @@ public extension TargetDependency { return .project(target: "\(module.rawValue)\(suffix)", path: .ServiceFeature(module)) } + /// 서버 계약(베이스 URL·도메인 경로)만 담는 모듈. SDK 도 도메인 규칙도 링크하지 않는다. + static var api: Self { + .project(target: "API", path: .relativeToRoot("Projects/Service/API")) + } + /// SDK 래핑 서비스 구현을 묶어 제공하는 엄브렐러 모듈. static var serviceAssembly: Self { .project(target: "ServiceAssembly", path: .relativeToRoot("Projects/Service/ServiceAssembly")) diff --git a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Modules.swift b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Modules.swift index ebf37c88..f2b81cf7 100644 --- a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Modules.swift +++ b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Modules.swift @@ -35,7 +35,6 @@ public extension ModulePath { /// `TargetDependency.dataAssembly` 로만 접근한다. enum Datas: String, CaseIterable { case Model - case API case Remote case DataTesting diff --git a/Projects/Data/Attendance/Project.swift b/Projects/Data/Attendance/Project.swift index f2c2967d..4e1dba46 100644 --- a/Projects/Data/Attendance/Project.swift +++ b/Projects/Data/Attendance/Project.swift @@ -11,7 +11,7 @@ let project = Project.configure( settings: .settings(), dependencies: [ .Domain(.Attendance, .interface), - .Data(implements: .API), + .api, .Data(implements: .Model), .Data(implements: .Remote), .Network(implements: .NetworkModule), diff --git a/Projects/Data/Auth/Project.swift b/Projects/Data/Auth/Project.swift index 8045c88e..b2937300 100644 --- a/Projects/Data/Auth/Project.swift +++ b/Projects/Data/Auth/Project.swift @@ -12,7 +12,7 @@ let project = Project.configure( dependencies: [ .Domain(.Auth, .interface), - .Data(implements: .API), + .api, .Data(implements: .Model), .Data(implements: .Remote), .Network(implements: .NetworkModule), diff --git a/Projects/Data/Battle/Project.swift b/Projects/Data/Battle/Project.swift index da40c4ad..63b68e76 100644 --- a/Projects/Data/Battle/Project.swift +++ b/Projects/Data/Battle/Project.swift @@ -14,7 +14,7 @@ let project = Project.configure( .Domain(.Battle, .interface), .Domain(.Common, .interface), - .Data(implements: .API), + .api, .Data(implements: .Model), .Data(implements: .Remote), .Network(implements: .NetworkModule), diff --git a/Projects/Data/Comment/Project.swift b/Projects/Data/Comment/Project.swift index b8529ebe..0c5dcaa8 100644 --- a/Projects/Data/Comment/Project.swift +++ b/Projects/Data/Comment/Project.swift @@ -12,7 +12,7 @@ let project = Project.configure( dependencies: [ .Domain(.Comment, .interface), .Domain(.Common, .interface), - .Data(implements: .API), + .api, .Data(implements: .Model), .Data(implements: .Remote), .Network(implements: .NetworkModule), diff --git a/Projects/Data/DataAssembly/Project.swift b/Projects/Data/DataAssembly/Project.swift index 0d27b673..b708da1d 100644 --- a/Projects/Data/DataAssembly/Project.swift +++ b/Projects/Data/DataAssembly/Project.swift @@ -11,7 +11,6 @@ let project = Project.configure( settings: .settings(), dependencies: [ .Data(.AppUpdate), - .Data(implements: .API), .Data(implements: .Model), .Data(implements: .Remote), .Data(.Attendance), diff --git a/Projects/Data/DataAssembly/Sources/Exported/DataAssemblyExported.swift b/Projects/Data/DataAssembly/Sources/Exported/DataAssemblyExported.swift index 493b37c5..2c51257c 100644 --- a/Projects/Data/DataAssembly/Sources/Exported/DataAssemblyExported.swift +++ b/Projects/Data/DataAssembly/Sources/Exported/DataAssemblyExported.swift @@ -5,7 +5,6 @@ // MARK: - Data 레이어 한번에 노출 -@_exported import API @_exported import AppUpdateData @_exported import AttendanceData @_exported import AuthData diff --git a/Projects/Data/Home/Project.swift b/Projects/Data/Home/Project.swift index 6fd6af8a..febe7375 100644 --- a/Projects/Data/Home/Project.swift +++ b/Projects/Data/Home/Project.swift @@ -13,7 +13,7 @@ let project = Project.configure( .Domain(.Auth, .interface), .Domain(.Home, .interface), .Domain(.Common, .interface), - .Data(implements: .API), + .api, .Data(implements: .Model), .Data(implements: .Remote), .Network(implements: .NetworkModule), diff --git a/Projects/Data/Notification/Project.swift b/Projects/Data/Notification/Project.swift index 370854d9..9fb0cbce 100644 --- a/Projects/Data/Notification/Project.swift +++ b/Projects/Data/Notification/Project.swift @@ -11,7 +11,7 @@ let project = Project.configure( settings: .settings(), dependencies: [ .Domain(.Notification, .interface), - .Data(implements: .API), + .api, .Data(implements: .Model), .Data(implements: .Remote), .Network(implements: .NetworkModule), diff --git a/Projects/Data/Perspective/Project.swift b/Projects/Data/Perspective/Project.swift index 57e3a577..d1455318 100644 --- a/Projects/Data/Perspective/Project.swift +++ b/Projects/Data/Perspective/Project.swift @@ -13,7 +13,7 @@ let project = Project.configure( .Domain(.Perspective, .interface), .Domain(.Common, .interface), .Domain(.Comment, .interface), - .Data(implements: .API), + .api, .Data(implements: .Model), .Data(implements: .Remote), .Network(implements: .NetworkModule), diff --git a/Projects/Data/Profile/Project.swift b/Projects/Data/Profile/Project.swift index 5a31bb20..6fcda288 100644 --- a/Projects/Data/Profile/Project.swift +++ b/Projects/Data/Profile/Project.swift @@ -11,7 +11,7 @@ let project = Project.configure( settings: .settings(), dependencies: [ .Domain(.Profile, .interface), - .Data(implements: .API), + .api, .Data(implements: .Model), .Data(implements: .Remote), .Network(implements: .NetworkModule), diff --git a/Projects/Data/Remote/Project.swift b/Projects/Data/Remote/Project.swift index 3992a230..2e5c5a9a 100644 --- a/Projects/Data/Remote/Project.swift +++ b/Projects/Data/Remote/Project.swift @@ -10,7 +10,7 @@ let project = Project.configure( product: .staticFramework, settings: .settings(), dependencies: [ - .Data(implements: .API), + .api, .Network(implements: .NetworkHeader), ], diff --git a/Projects/Data/Search/Project.swift b/Projects/Data/Search/Project.swift index 11d11845..f5f0f167 100644 --- a/Projects/Data/Search/Project.swift +++ b/Projects/Data/Search/Project.swift @@ -15,7 +15,7 @@ let project = Project.configure( .Domain(.Common, .interface), .Domain(.Home, .interface), - .Data(implements: .API), + .api, .Data(implements: .Model), .Network(implements: .NetworkModule), .Network(implements: .NetworkHeader), diff --git a/Projects/Data/API/APITests/Sources/Test.swift b/Projects/Service/API/APITests/Sources/Test.swift similarity index 100% rename from Projects/Data/API/APITests/Sources/Test.swift rename to Projects/Service/API/APITests/Sources/Test.swift diff --git a/Projects/Data/API/Project.swift b/Projects/Service/API/Project.swift similarity index 100% rename from Projects/Data/API/Project.swift rename to Projects/Service/API/Project.swift diff --git a/Projects/Data/API/Sources/Base/BaseAPI.swift b/Projects/Service/API/Sources/Base/BaseAPI.swift similarity index 100% rename from Projects/Data/API/Sources/Base/BaseAPI.swift rename to Projects/Service/API/Sources/Base/BaseAPI.swift diff --git a/Projects/Data/API/Sources/Base/PieckeDomain.swift b/Projects/Service/API/Sources/Base/PieckeDomain.swift similarity index 100% rename from Projects/Data/API/Sources/Base/PieckeDomain.swift rename to Projects/Service/API/Sources/Base/PieckeDomain.swift diff --git a/Projects/Service/ServiceAssembly/Project.swift b/Projects/Service/ServiceAssembly/Project.swift index 0278493e..ec650ac6 100644 --- a/Projects/Service/ServiceAssembly/Project.swift +++ b/Projects/Service/ServiceAssembly/Project.swift @@ -12,6 +12,7 @@ let project = Project.configure( // SDK 를 링크하는 서비스 구현을 한곳에서 묶는 조립 경계. dependencies: [ .coreAssembly, + .api, .Service(.Ad), .Service(.Analytics), .Service(.AudioPlayer), diff --git a/Projects/Service/ServiceAssembly/Sources/Exported/ServiceAssemblyExported.swift b/Projects/Service/ServiceAssembly/Sources/Exported/ServiceAssemblyExported.swift index aab28edb..6ca0660c 100644 --- a/Projects/Service/ServiceAssembly/Sources/Exported/ServiceAssemblyExported.swift +++ b/Projects/Service/ServiceAssembly/Sources/Exported/ServiceAssemblyExported.swift @@ -6,6 +6,7 @@ // MARK: - Service 레이어 한번에 노출 @_exported import AdService +@_exported import API @_exported import AnalyticsService @_exported import AudioPlayerService @_exported import CoreAssembly From 79910636061e5c4dd7a6c6116fd54e22ecb463e0 Mon Sep 17 00:00:00 2001 From: Roy Date: Sun, 6 Sep 2026 17:56:44 +0900 Subject: [PATCH 21/83] =?UTF-8?q?refactor(service):=20=EB=8F=84=EB=A9=94?= =?UTF-8?q?=EC=9D=B8=EB=B3=84=20API=20=EA=B2=BD=EB=A1=9C=20enum=20?= =?UTF-8?q?=EC=9D=84=20Service/API=20=EB=A1=9C=20=EB=AA=A8=EC=9D=80?= =?UTF-8?q?=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 각 Data 모듈이 들고 있던 *API enum 은 서버 경로 문자열만 담고 있어 Repository 구현과 함께 둘 이유가 없다. 파일 헤더도 이미 API 를 가리키고 있었다. DDD 의 Service/API/Sources/ 배치에 맞춰 9개를 옮긴다. AuthApI.swift 는 이동하면서 AuthAPI.swift 로 바로잡는다. 검증: tuist generate 성공. --- .../API => Service/API/Sources/Attendance}/AttendanceAPI.swift | 0 .../AuthApI.swift => Service/API/Sources/Auth/AuthAPI.swift} | 2 +- .../Sources/API => Service/API/Sources/Battle}/BattleAPI.swift | 0 .../API => Service/API/Sources/Comment}/CommentAPI.swift | 0 .../Home/Sources/API => Service/API/Sources/Home}/HomeAPI.swift | 0 .../API/Sources/Notification}/NotificationAPI.swift | 0 .../API/Sources/Perspective}/PerspectiveAPI.swift | 0 .../API => Service/API/Sources/Profile}/ProfileAPI.swift | 0 .../Sources => Service/API/Sources/Search}/SearchAPI.swift | 0 9 files changed, 1 insertion(+), 1 deletion(-) rename Projects/{Data/Attendance/Sources/API => Service/API/Sources/Attendance}/AttendanceAPI.swift (100%) rename Projects/{Data/Auth/Sources/API/AuthApI.swift => Service/API/Sources/Auth/AuthAPI.swift} (95%) rename Projects/{Data/Battle/Sources/API => Service/API/Sources/Battle}/BattleAPI.swift (100%) rename Projects/{Data/Comment/Sources/API => Service/API/Sources/Comment}/CommentAPI.swift (100%) rename Projects/{Data/Home/Sources/API => Service/API/Sources/Home}/HomeAPI.swift (100%) rename Projects/{Data/Notification/Sources/API => Service/API/Sources/Notification}/NotificationAPI.swift (100%) rename Projects/{Data/Perspective/Sources/API => Service/API/Sources/Perspective}/PerspectiveAPI.swift (100%) rename Projects/{Data/Profile/Sources/API => Service/API/Sources/Profile}/ProfileAPI.swift (100%) rename Projects/{Data/Search/Sources => Service/API/Sources/Search}/SearchAPI.swift (100%) diff --git a/Projects/Data/Attendance/Sources/API/AttendanceAPI.swift b/Projects/Service/API/Sources/Attendance/AttendanceAPI.swift similarity index 100% rename from Projects/Data/Attendance/Sources/API/AttendanceAPI.swift rename to Projects/Service/API/Sources/Attendance/AttendanceAPI.swift diff --git a/Projects/Data/Auth/Sources/API/AuthApI.swift b/Projects/Service/API/Sources/Auth/AuthAPI.swift similarity index 95% rename from Projects/Data/Auth/Sources/API/AuthApI.swift rename to Projects/Service/API/Sources/Auth/AuthAPI.swift index 1a84a86a..6acbc4c5 100644 --- a/Projects/Data/Auth/Sources/API/AuthApI.swift +++ b/Projects/Service/API/Sources/Auth/AuthAPI.swift @@ -1,5 +1,5 @@ // -// AuthApI.swift +// AuthAPI.swift // API // // Created by Wonji Suh on 5/14/26. diff --git a/Projects/Data/Battle/Sources/API/BattleAPI.swift b/Projects/Service/API/Sources/Battle/BattleAPI.swift similarity index 100% rename from Projects/Data/Battle/Sources/API/BattleAPI.swift rename to Projects/Service/API/Sources/Battle/BattleAPI.swift diff --git a/Projects/Data/Comment/Sources/API/CommentAPI.swift b/Projects/Service/API/Sources/Comment/CommentAPI.swift similarity index 100% rename from Projects/Data/Comment/Sources/API/CommentAPI.swift rename to Projects/Service/API/Sources/Comment/CommentAPI.swift diff --git a/Projects/Data/Home/Sources/API/HomeAPI.swift b/Projects/Service/API/Sources/Home/HomeAPI.swift similarity index 100% rename from Projects/Data/Home/Sources/API/HomeAPI.swift rename to Projects/Service/API/Sources/Home/HomeAPI.swift diff --git a/Projects/Data/Notification/Sources/API/NotificationAPI.swift b/Projects/Service/API/Sources/Notification/NotificationAPI.swift similarity index 100% rename from Projects/Data/Notification/Sources/API/NotificationAPI.swift rename to Projects/Service/API/Sources/Notification/NotificationAPI.swift diff --git a/Projects/Data/Perspective/Sources/API/PerspectiveAPI.swift b/Projects/Service/API/Sources/Perspective/PerspectiveAPI.swift similarity index 100% rename from Projects/Data/Perspective/Sources/API/PerspectiveAPI.swift rename to Projects/Service/API/Sources/Perspective/PerspectiveAPI.swift diff --git a/Projects/Data/Profile/Sources/API/ProfileAPI.swift b/Projects/Service/API/Sources/Profile/ProfileAPI.swift similarity index 100% rename from Projects/Data/Profile/Sources/API/ProfileAPI.swift rename to Projects/Service/API/Sources/Profile/ProfileAPI.swift diff --git a/Projects/Data/Search/Sources/SearchAPI.swift b/Projects/Service/API/Sources/Search/SearchAPI.swift similarity index 100% rename from Projects/Data/Search/Sources/SearchAPI.swift rename to Projects/Service/API/Sources/Search/SearchAPI.swift From 633709978899c7e7dc327e44c7234e7947f09af3 Mon Sep 17 00:00:00 2001 From: Roy Date: Sun, 6 Sep 2026 17:58:59 +0900 Subject: [PATCH 22/83] =?UTF-8?q?refactor(service):=20Data/Remote=20?= =?UTF-8?q?=EB=A5=BC=20Service/APIEndpoint=20=EB=A1=9C=20=EC=98=AE?= =?UTF-8?q?=EA=B8=B4=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 이 모듈이 담고 있던 건 디바이스 등록 요청 정의와 Encodable 확장으로, Repository 구현이 아니라 서버 요청 정의다. 이름과 위치를 실제 내용에 맞춘다. DDD 의 Service/APIEndpoint 와 같은 자리다. 모듈 카탈로그의 Datas 에서 Remote 를 빼고 TargetDependency.apiEndpoint 를 두었다. 매니페스트 10곳과 import 9곳을 함께 옮겼다. 검증: tuist generate 성공. --- .../TargetDependency+Module/FeatureModule.swift | 5 +++++ .../TargetDependency+Module/Modules.swift | 1 - Projects/Data/Attendance/Project.swift | 2 +- .../Data/Attendance/Sources/Service/AttendanceService.swift | 2 +- Projects/Data/Auth/Project.swift | 2 +- .../Data/Auth/Sources/Repository/AuthRepositoryImpl.swift | 2 +- Projects/Data/Auth/Sources/Service/AuthService.swift | 2 +- Projects/Data/Battle/Project.swift | 2 +- .../Battle/Sources/Repository/BattleRepositoryImpl.swift | 2 +- Projects/Data/Comment/Project.swift | 2 +- Projects/Data/DataAssembly/Project.swift | 2 +- Projects/Data/Home/Project.swift | 2 +- Projects/Data/Notification/Project.swift | 2 +- .../Notification/Sources/Service/NotificationService.swift | 2 +- Projects/Data/Perspective/Project.swift | 2 +- .../Perspective/Sources/Service/PerspectiveService.swift | 2 +- Projects/Data/Profile/Project.swift | 2 +- Projects/Data/Profile/Sources/Service/ProfileService.swift | 2 +- Projects/Data/Profile/Tests/ProfileRequestMappingTests.swift | 2 +- Projects/{Data/Remote => Service/APIEndpoint}/Project.swift | 5 ++--- .../APIEndpoint}/RemoteTests/Sources/Test.swift | 0 .../APIEndpoint}/Sources/Common/Encodable+.swift | 0 .../APIEndpoint}/Sources/Device/DeviceService.swift | 0 .../Sources/Device/Request/DeviceRegisterRequest.swift | 0 Projects/Service/Device/Project.swift | 2 +- .../Device/Sources/Repository/DeviceRepositoryImpl.swift | 2 +- 26 files changed, 26 insertions(+), 23 deletions(-) rename Projects/{Data/Remote => Service/APIEndpoint}/Project.swift (78%) rename Projects/{Data/Remote => Service/APIEndpoint}/RemoteTests/Sources/Test.swift (100%) rename Projects/{Data/Remote => Service/APIEndpoint}/Sources/Common/Encodable+.swift (100%) rename Projects/{Data/Remote => Service/APIEndpoint}/Sources/Device/DeviceService.swift (100%) rename Projects/{Data/Remote => Service/APIEndpoint}/Sources/Device/Request/DeviceRegisterRequest.swift (100%) diff --git a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/FeatureModule.swift b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/FeatureModule.swift index 5d432f2f..a01074b2 100644 --- a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/FeatureModule.swift +++ b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/FeatureModule.swift @@ -155,6 +155,11 @@ public extension TargetDependency { .project(target: "API", path: .relativeToRoot("Projects/Service/API")) } + /// 서버 요청 정의(TargetType)와 요청 DTO 를 담는 모듈. + static var apiEndpoint: Self { + .project(target: "APIEndpoint", path: .relativeToRoot("Projects/Service/APIEndpoint")) + } + /// SDK 래핑 서비스 구현을 묶어 제공하는 엄브렐러 모듈. static var serviceAssembly: Self { .project(target: "ServiceAssembly", path: .relativeToRoot("Projects/Service/ServiceAssembly")) diff --git a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Modules.swift b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Modules.swift index f2b81cf7..51248da8 100644 --- a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Modules.swift +++ b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Modules.swift @@ -35,7 +35,6 @@ public extension ModulePath { /// `TargetDependency.dataAssembly` 로만 접근한다. enum Datas: String, CaseIterable { case Model - case Remote case DataTesting public static let name: String = "Data" diff --git a/Projects/Data/Attendance/Project.swift b/Projects/Data/Attendance/Project.swift index 4e1dba46..37b77791 100644 --- a/Projects/Data/Attendance/Project.swift +++ b/Projects/Data/Attendance/Project.swift @@ -13,7 +13,7 @@ let project = Project.configure( .Domain(.Attendance, .interface), .api, .Data(implements: .Model), - .Data(implements: .Remote), + .apiEndpoint, .Network(implements: .NetworkModule), .Network(implements: .NetworkHeader), .SPM.logMarco, diff --git a/Projects/Data/Attendance/Sources/Service/AttendanceService.swift b/Projects/Data/Attendance/Sources/Service/AttendanceService.swift index 0ea8e473..bf8d5c36 100644 --- a/Projects/Data/Attendance/Sources/Service/AttendanceService.swift +++ b/Projects/Data/Attendance/Sources/Service/AttendanceService.swift @@ -6,8 +6,8 @@ import Foundation import API +import APIEndpoint import NetworkHeader -import Remote public enum AttendanceService { case check diff --git a/Projects/Data/Auth/Project.swift b/Projects/Data/Auth/Project.swift index b2937300..2aeced8c 100644 --- a/Projects/Data/Auth/Project.swift +++ b/Projects/Data/Auth/Project.swift @@ -14,7 +14,7 @@ let project = Project.configure( .api, .Data(implements: .Model), - .Data(implements: .Remote), + .apiEndpoint, .Network(implements: .NetworkModule), .Network(implements: .NetworkHeader), .SPM.weaveDI, diff --git a/Projects/Data/Auth/Sources/Repository/AuthRepositoryImpl.swift b/Projects/Data/Auth/Sources/Repository/AuthRepositoryImpl.swift index be24dc5b..9062b6ed 100644 --- a/Projects/Data/Auth/Sources/Repository/AuthRepositoryImpl.swift +++ b/Projects/Data/Auth/Sources/Repository/AuthRepositoryImpl.swift @@ -7,10 +7,10 @@ import Foundation +import APIEndpoint import AuthDomainInterface import Model import NetworkModule -import Remote import Alamofire import Dependencies diff --git a/Projects/Data/Auth/Sources/Service/AuthService.swift b/Projects/Data/Auth/Sources/Service/AuthService.swift index 5362a360..26f5c9fb 100644 --- a/Projects/Data/Auth/Sources/Service/AuthService.swift +++ b/Projects/Data/Auth/Sources/Service/AuthService.swift @@ -8,9 +8,9 @@ import Foundation import API +import APIEndpoint import AuthDomainInterface import NetworkHeader -import Remote public enum AuthService { case login(provider: SocialType, body: OAuthLoginRequest) diff --git a/Projects/Data/Battle/Project.swift b/Projects/Data/Battle/Project.swift index 63b68e76..c4e6c19d 100644 --- a/Projects/Data/Battle/Project.swift +++ b/Projects/Data/Battle/Project.swift @@ -16,7 +16,7 @@ let project = Project.configure( .api, .Data(implements: .Model), - .Data(implements: .Remote), + .apiEndpoint, .Network(implements: .NetworkModule), .Network(implements: .NetworkHeader), .SPM.weaveDI, diff --git a/Projects/Data/Battle/Sources/Repository/BattleRepositoryImpl.swift b/Projects/Data/Battle/Sources/Repository/BattleRepositoryImpl.swift index e30bbaab..b723509a 100644 --- a/Projects/Data/Battle/Sources/Repository/BattleRepositoryImpl.swift +++ b/Projects/Data/Battle/Sources/Repository/BattleRepositoryImpl.swift @@ -5,12 +5,12 @@ import Foundation +import APIEndpoint import BattleDomainInterface import CommonDomainInterface import HomeDomainInterface import Model import NetworkModule -import Remote import LogMacro diff --git a/Projects/Data/Comment/Project.swift b/Projects/Data/Comment/Project.swift index 0c5dcaa8..853d3a0c 100644 --- a/Projects/Data/Comment/Project.swift +++ b/Projects/Data/Comment/Project.swift @@ -14,7 +14,7 @@ let project = Project.configure( .Domain(.Common, .interface), .api, .Data(implements: .Model), - .Data(implements: .Remote), + .apiEndpoint, .Network(implements: .NetworkModule), .Network(implements: .NetworkHeader), .SPM.logMarco, diff --git a/Projects/Data/DataAssembly/Project.swift b/Projects/Data/DataAssembly/Project.swift index b708da1d..437107f2 100644 --- a/Projects/Data/DataAssembly/Project.swift +++ b/Projects/Data/DataAssembly/Project.swift @@ -12,7 +12,7 @@ let project = Project.configure( dependencies: [ .Data(.AppUpdate), .Data(implements: .Model), - .Data(implements: .Remote), + .apiEndpoint, .Data(.Attendance), .Data(.Auth), .Data(.Battle), diff --git a/Projects/Data/Home/Project.swift b/Projects/Data/Home/Project.swift index febe7375..879a3e4a 100644 --- a/Projects/Data/Home/Project.swift +++ b/Projects/Data/Home/Project.swift @@ -15,7 +15,7 @@ let project = Project.configure( .Domain(.Common, .interface), .api, .Data(implements: .Model), - .Data(implements: .Remote), + .apiEndpoint, .Network(implements: .NetworkModule), .Network(implements: .NetworkHeader), .SPM.weaveDI, diff --git a/Projects/Data/Notification/Project.swift b/Projects/Data/Notification/Project.swift index 9fb0cbce..199f4b25 100644 --- a/Projects/Data/Notification/Project.swift +++ b/Projects/Data/Notification/Project.swift @@ -13,7 +13,7 @@ let project = Project.configure( .Domain(.Notification, .interface), .api, .Data(implements: .Model), - .Data(implements: .Remote), + .apiEndpoint, .Network(implements: .NetworkModule), .Network(implements: .NetworkHeader), .SPM.logMarco, diff --git a/Projects/Data/Notification/Sources/Service/NotificationService.swift b/Projects/Data/Notification/Sources/Service/NotificationService.swift index 5c4a3305..93962b59 100644 --- a/Projects/Data/Notification/Sources/Service/NotificationService.swift +++ b/Projects/Data/Notification/Sources/Service/NotificationService.swift @@ -6,8 +6,8 @@ import Foundation import API +import APIEndpoint import NetworkHeader -import Remote public enum NotificationService { diff --git a/Projects/Data/Perspective/Project.swift b/Projects/Data/Perspective/Project.swift index d1455318..a7a1916d 100644 --- a/Projects/Data/Perspective/Project.swift +++ b/Projects/Data/Perspective/Project.swift @@ -15,7 +15,7 @@ let project = Project.configure( .Domain(.Comment, .interface), .api, .Data(implements: .Model), - .Data(implements: .Remote), + .apiEndpoint, .Network(implements: .NetworkModule), .Network(implements: .NetworkHeader), .SPM.weaveDI, diff --git a/Projects/Data/Perspective/Sources/Service/PerspectiveService.swift b/Projects/Data/Perspective/Sources/Service/PerspectiveService.swift index 9834d2f4..05b4a00b 100644 --- a/Projects/Data/Perspective/Sources/Service/PerspectiveService.swift +++ b/Projects/Data/Perspective/Sources/Service/PerspectiveService.swift @@ -6,8 +6,8 @@ import Foundation import API +import APIEndpoint import NetworkHeader -import Remote public struct PerspectiveCommentBody: Encodable { public let content: String diff --git a/Projects/Data/Profile/Project.swift b/Projects/Data/Profile/Project.swift index 6fcda288..8efac1df 100644 --- a/Projects/Data/Profile/Project.swift +++ b/Projects/Data/Profile/Project.swift @@ -13,7 +13,7 @@ let project = Project.configure( .Domain(.Profile, .interface), .api, .Data(implements: .Model), - .Data(implements: .Remote), + .apiEndpoint, .Network(implements: .NetworkModule), .Network(implements: .NetworkHeader), .SPM.logMarco, diff --git a/Projects/Data/Profile/Sources/Service/ProfileService.swift b/Projects/Data/Profile/Sources/Service/ProfileService.swift index 06537ccc..9ec3fa02 100644 --- a/Projects/Data/Profile/Sources/Service/ProfileService.swift +++ b/Projects/Data/Profile/Sources/Service/ProfileService.swift @@ -6,8 +6,8 @@ import Foundation import API +import APIEndpoint import NetworkHeader -import Remote public enum ProfileService { diff --git a/Projects/Data/Profile/Tests/ProfileRequestMappingTests.swift b/Projects/Data/Profile/Tests/ProfileRequestMappingTests.swift index 1e92f117..3eebc1e3 100644 --- a/Projects/Data/Profile/Tests/ProfileRequestMappingTests.swift +++ b/Projects/Data/Profile/Tests/ProfileRequestMappingTests.swift @@ -8,8 +8,8 @@ import Testing @testable import ProfileData +import APIEndpoint import NetworkHeader -import Remote struct ProfileRequestMappingTests { @Test func mypage_요청은_GET_이며_경로가_api_v1_me_mypage_이다() throws { diff --git a/Projects/Data/Remote/Project.swift b/Projects/Service/APIEndpoint/Project.swift similarity index 78% rename from Projects/Data/Remote/Project.swift rename to Projects/Service/APIEndpoint/Project.swift index 2e5c5a9a..79acd6d2 100644 --- a/Projects/Data/Remote/Project.swift +++ b/Projects/Service/APIEndpoint/Project.swift @@ -5,13 +5,12 @@ import ProjectDescription import ProjectTemplatePlugin let project = Project.configure( - moduleType: .module(name: "Remote"), - bundleId: .appBundleID(name: ".Remote"), + moduleType: .module(name: "APIEndpoint"), + bundleId: .appBundleID(name: ".APIEndpoint"), product: .staticFramework, settings: .settings(), dependencies: [ .api, - .Network(implements: .NetworkHeader), ], sources: ["Sources/**"], diff --git a/Projects/Data/Remote/RemoteTests/Sources/Test.swift b/Projects/Service/APIEndpoint/RemoteTests/Sources/Test.swift similarity index 100% rename from Projects/Data/Remote/RemoteTests/Sources/Test.swift rename to Projects/Service/APIEndpoint/RemoteTests/Sources/Test.swift diff --git a/Projects/Data/Remote/Sources/Common/Encodable+.swift b/Projects/Service/APIEndpoint/Sources/Common/Encodable+.swift similarity index 100% rename from Projects/Data/Remote/Sources/Common/Encodable+.swift rename to Projects/Service/APIEndpoint/Sources/Common/Encodable+.swift diff --git a/Projects/Data/Remote/Sources/Device/DeviceService.swift b/Projects/Service/APIEndpoint/Sources/Device/DeviceService.swift similarity index 100% rename from Projects/Data/Remote/Sources/Device/DeviceService.swift rename to Projects/Service/APIEndpoint/Sources/Device/DeviceService.swift diff --git a/Projects/Data/Remote/Sources/Device/Request/DeviceRegisterRequest.swift b/Projects/Service/APIEndpoint/Sources/Device/Request/DeviceRegisterRequest.swift similarity index 100% rename from Projects/Data/Remote/Sources/Device/Request/DeviceRegisterRequest.swift rename to Projects/Service/APIEndpoint/Sources/Device/Request/DeviceRegisterRequest.swift diff --git a/Projects/Service/Device/Project.swift b/Projects/Service/Device/Project.swift index c6189df1..dabc9945 100644 --- a/Projects/Service/Device/Project.swift +++ b/Projects/Service/Device/Project.swift @@ -11,7 +11,7 @@ let project = Project.configure( settings: .settings(), dependencies: [ .Data(implements: .Model), - .Data(implements: .Remote), + .apiEndpoint, .Network(implements: .NetworkModule), .SPM.composableArchitecture, .SPM.logMarco, diff --git a/Projects/Service/Device/Sources/Repository/DeviceRepositoryImpl.swift b/Projects/Service/Device/Sources/Repository/DeviceRepositoryImpl.swift index 50747101..1bff4428 100644 --- a/Projects/Service/Device/Sources/Repository/DeviceRepositoryImpl.swift +++ b/Projects/Service/Device/Sources/Repository/DeviceRepositoryImpl.swift @@ -5,9 +5,9 @@ import Foundation +import APIEndpoint import Model import NetworkModule -import Remote import DeviceServiceInterface import LogMacro From cc6acb5aa2195d24be037fd32a8dd0cae69e845e Mon Sep 17 00:00:00 2001 From: Roy Date: Sun, 6 Sep 2026 18:10:01 +0900 Subject: [PATCH 23/83] =?UTF-8?q?refactor(service):=20=EB=8F=84=EB=A9=94?= =?UTF-8?q?=EC=9D=B8=EB=B3=84=20=EC=84=9C=EB=B2=84=20=EC=9A=94=EC=B2=AD=20?= =?UTF-8?q?=EC=A0=95=EC=9D=98=EB=A5=BC=20APIEndpoint=20=EB=A1=9C=20?= =?UTF-8?q?=EB=AA=A8=EC=9D=80=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 각 Data 모듈이 들고 있던 *Service TargetType 과 요청 DTO 20개를 Service/APIEndpoint/Sources/ 으로 옮긴다. 서버와의 통신 계약이라 Repository 구현과 같은 모듈에 있을 이유가 없다. Auth 엔드포인트가 경로에 SocialType 을 쓰므로 APIEndpoint 는 Auth 도메인 인터페이스만 의존한다. DDD 의 APIEndpoint 도 동일하게 필요한 도메인 인터페이스만 좁게 의존한다. 참조하는 Repository·테스트 23개 파일에 import APIEndpoint 를 추가했고, Search 매니페스트에 빠져 있던 apiEndpoint 의존을 채웠다. 검증: tuist generate 성공. APIEndpoint 스킴 빌드는 진행 중. --- .../Sources/Repository/AttendanceRepositoryImpl.swift | 1 + Projects/Data/Attendance/Tests/AttendanceRepositoryTests.swift | 1 + Projects/Data/Auth/Tests/AuthRepositoryTests.swift | 1 + Projects/Data/Auth/Tests/AuthRequestMappingTests.swift | 1 + Projects/Data/Battle/Tests/BattleRepositoryTests.swift | 1 + Projects/Data/Battle/Tests/BattleRequestMappingTests.swift | 1 + .../Comment/Sources/Repository/CommentRepositoryImpl.swift | 1 + Projects/Data/Comment/Tests/CommentRepositoryTests.swift | 1 + Projects/Data/Comment/Tests/CommentRequestMappingTests.swift | 1 + Projects/Data/Home/Sources/Repository/HomeRepositoryImpl.swift | 1 + Projects/Data/Home/Tests/HomeRepositoryTests.swift | 3 ++- Projects/Data/Home/Tests/HomeRequestMappingTests.swift | 1 + .../Sources/Repository/NotificationRepositoryImpl.swift | 3 ++- .../Data/Notification/Tests/NotificationRepositoryTests.swift | 1 + .../Notification/Tests/NotificationRequestMappingTests.swift | 1 + .../Sources/Repository/PerspectiveRepositoryImpl.swift | 3 ++- .../Data/Perspective/Tests/PerspectiveRepositoryTests.swift | 1 + .../Perspective/Tests/PerspectiveRequestMappingTests.swift | 1 + .../Profile/Sources/Repository/ProfileRepositoryImpl.swift | 3 ++- Projects/Data/Profile/Tests/ProfileRepositoryTests.swift | 1 + Projects/Data/Search/Project.swift | 1 + Projects/Data/Search/Sources/SearchRepositoryImpl.swift | 1 + Projects/Data/Search/Tests/SearchRepositoryTests.swift | 3 ++- Projects/Data/Search/Tests/SearchRequestMappingTests.swift | 1 + Projects/Service/APIEndpoint/Project.swift | 2 ++ .../APIEndpoint/Sources/Attendance}/AttendanceService.swift | 1 - .../APIEndpoint/Sources/Auth}/AuthService.swift | 1 - .../APIEndpoint/Sources/Auth}/Request/OAuthRequest.swift | 0 .../APIEndpoint/Sources/Battle}/BattleService.swift | 0 .../Sources/Battle}/Request/BattleProposalRequest.swift | 0 .../Sources/Battle}/Request/CreatePerspectiveRequest.swift | 0 .../Sources/Battle}/Request/PerspectivesQueryRequest.swift | 0 .../APIEndpoint/Sources/Battle}/Request/PreVoteRequest.swift | 0 .../APIEndpoint/Sources/Comment}/CommentService.swift | 0 .../APIEndpoint/Sources/Home}/HomeService.swift | 0 .../Sources/Notification}/NotificationService.swift | 1 - .../Notification}/Request/NotificationsQueryRequest.swift | 0 .../APIEndpoint/Sources/Perspective}/PerspectiveService.swift | 1 - .../APIEndpoint/Sources/Profile}/ProfileService.swift | 1 - .../Sources/Profile}/Request/BattleRecordsQueryRequest.swift | 0 .../Profile}/Request/ContentActivitiesQueryRequest.swift | 0 .../Sources/Profile}/Request/CreditHistoryQueryRequest.swift | 0 .../Sources/Profile}/Request/NotificationSettingsRequest.swift | 0 .../Sources/Profile}/Request/ProfileUpdateRequest.swift | 0 .../APIEndpoint/Sources/Search}/SearchService.swift | 0 45 files changed, 31 insertions(+), 10 deletions(-) rename Projects/{Data/Attendance/Sources/Service => Service/APIEndpoint/Sources/Attendance}/AttendanceService.swift (97%) rename Projects/{Data/Auth/Sources/Service => Service/APIEndpoint/Sources/Auth}/AuthService.swift (98%) rename Projects/{Data/Auth/Sources/Service => Service/APIEndpoint/Sources/Auth}/Request/OAuthRequest.swift (100%) rename Projects/{Data/Battle/Sources/Service => Service/APIEndpoint/Sources/Battle}/BattleService.swift (100%) rename Projects/{Data/Battle/Sources/Service => Service/APIEndpoint/Sources/Battle}/Request/BattleProposalRequest.swift (100%) rename Projects/{Data/Battle/Sources/Service => Service/APIEndpoint/Sources/Battle}/Request/CreatePerspectiveRequest.swift (100%) rename Projects/{Data/Battle/Sources/Service => Service/APIEndpoint/Sources/Battle}/Request/PerspectivesQueryRequest.swift (100%) rename Projects/{Data/Battle/Sources/Service => Service/APIEndpoint/Sources/Battle}/Request/PreVoteRequest.swift (100%) rename Projects/{Data/Comment/Sources/Service => Service/APIEndpoint/Sources/Comment}/CommentService.swift (100%) rename Projects/{Data/Home/Sources/Service => Service/APIEndpoint/Sources/Home}/HomeService.swift (100%) rename Projects/{Data/Notification/Sources/Service => Service/APIEndpoint/Sources/Notification}/NotificationService.swift (98%) rename Projects/{Data/Notification/Sources/Service => Service/APIEndpoint/Sources/Notification}/Request/NotificationsQueryRequest.swift (100%) rename Projects/{Data/Perspective/Sources/Service => Service/APIEndpoint/Sources/Perspective}/PerspectiveService.swift (99%) rename Projects/{Data/Profile/Sources/Service => Service/APIEndpoint/Sources/Profile}/ProfileService.swift (99%) rename Projects/{Data/Profile/Sources/Service => Service/APIEndpoint/Sources/Profile}/Request/BattleRecordsQueryRequest.swift (100%) rename Projects/{Data/Profile/Sources/Service => Service/APIEndpoint/Sources/Profile}/Request/ContentActivitiesQueryRequest.swift (100%) rename Projects/{Data/Profile/Sources/Service => Service/APIEndpoint/Sources/Profile}/Request/CreditHistoryQueryRequest.swift (100%) rename Projects/{Data/Profile/Sources/Service => Service/APIEndpoint/Sources/Profile}/Request/NotificationSettingsRequest.swift (100%) rename Projects/{Data/Profile/Sources/Service => Service/APIEndpoint/Sources/Profile}/Request/ProfileUpdateRequest.swift (100%) rename Projects/{Data/Search/Sources => Service/APIEndpoint/Sources/Search}/SearchService.swift (100%) diff --git a/Projects/Data/Attendance/Sources/Repository/AttendanceRepositoryImpl.swift b/Projects/Data/Attendance/Sources/Repository/AttendanceRepositoryImpl.swift index 60b628f3..8b3707d3 100644 --- a/Projects/Data/Attendance/Sources/Repository/AttendanceRepositoryImpl.swift +++ b/Projects/Data/Attendance/Sources/Repository/AttendanceRepositoryImpl.swift @@ -5,6 +5,7 @@ import Foundation +import APIEndpoint import AttendanceDomainInterface import Model import NetworkModule diff --git a/Projects/Data/Attendance/Tests/AttendanceRepositoryTests.swift b/Projects/Data/Attendance/Tests/AttendanceRepositoryTests.swift index cf69a32f..392bce0f 100644 --- a/Projects/Data/Attendance/Tests/AttendanceRepositoryTests.swift +++ b/Projects/Data/Attendance/Tests/AttendanceRepositoryTests.swift @@ -6,6 +6,7 @@ import Foundation import Testing +import APIEndpoint import AttendanceDomainInterface @testable import AttendanceData diff --git a/Projects/Data/Auth/Tests/AuthRepositoryTests.swift b/Projects/Data/Auth/Tests/AuthRepositoryTests.swift index 39a9bb3b..22d024d6 100644 --- a/Projects/Data/Auth/Tests/AuthRepositoryTests.swift +++ b/Projects/Data/Auth/Tests/AuthRepositoryTests.swift @@ -8,6 +8,7 @@ import Testing @testable import AuthData +import APIEndpoint import AuthDomainInterface struct AuthRepositoryTests { diff --git a/Projects/Data/Auth/Tests/AuthRequestMappingTests.swift b/Projects/Data/Auth/Tests/AuthRequestMappingTests.swift index cf74aeeb..8d636ff1 100644 --- a/Projects/Data/Auth/Tests/AuthRequestMappingTests.swift +++ b/Projects/Data/Auth/Tests/AuthRequestMappingTests.swift @@ -9,6 +9,7 @@ import Testing @testable import AuthData import API +import APIEndpoint import AuthDomainInterface import NetworkHeader diff --git a/Projects/Data/Battle/Tests/BattleRepositoryTests.swift b/Projects/Data/Battle/Tests/BattleRepositoryTests.swift index d21cf7b9..d0f968df 100644 --- a/Projects/Data/Battle/Tests/BattleRepositoryTests.swift +++ b/Projects/Data/Battle/Tests/BattleRepositoryTests.swift @@ -7,6 +7,7 @@ import Testing @testable import BattleData +import APIEndpoint import BattleDomainInterface import CommonDomainInterface import Foundation diff --git a/Projects/Data/Battle/Tests/BattleRequestMappingTests.swift b/Projects/Data/Battle/Tests/BattleRequestMappingTests.swift index 443b50cd..aed3ab76 100644 --- a/Projects/Data/Battle/Tests/BattleRequestMappingTests.swift +++ b/Projects/Data/Battle/Tests/BattleRequestMappingTests.swift @@ -7,6 +7,7 @@ import Testing @testable import BattleData +import APIEndpoint import Foundation import NetworkHeader diff --git a/Projects/Data/Comment/Sources/Repository/CommentRepositoryImpl.swift b/Projects/Data/Comment/Sources/Repository/CommentRepositoryImpl.swift index c0766e90..63ff77f4 100644 --- a/Projects/Data/Comment/Sources/Repository/CommentRepositoryImpl.swift +++ b/Projects/Data/Comment/Sources/Repository/CommentRepositoryImpl.swift @@ -5,6 +5,7 @@ import Foundation +import APIEndpoint import CommentDomainInterface import CommonDomainInterface import Model diff --git a/Projects/Data/Comment/Tests/CommentRepositoryTests.swift b/Projects/Data/Comment/Tests/CommentRepositoryTests.swift index 361723af..6ae6d247 100644 --- a/Projects/Data/Comment/Tests/CommentRepositoryTests.swift +++ b/Projects/Data/Comment/Tests/CommentRepositoryTests.swift @@ -8,6 +8,7 @@ import Testing @testable import CommentData +import APIEndpoint import CommentDomainInterface import CommonDomainInterface diff --git a/Projects/Data/Comment/Tests/CommentRequestMappingTests.swift b/Projects/Data/Comment/Tests/CommentRequestMappingTests.swift index ca89e394..a34ed346 100644 --- a/Projects/Data/Comment/Tests/CommentRequestMappingTests.swift +++ b/Projects/Data/Comment/Tests/CommentRequestMappingTests.swift @@ -8,6 +8,7 @@ import Testing @testable import CommentData +import APIEndpoint import NetworkHeader struct CommentRequestMappingTests { diff --git a/Projects/Data/Home/Sources/Repository/HomeRepositoryImpl.swift b/Projects/Data/Home/Sources/Repository/HomeRepositoryImpl.swift index 06db2d8d..e75538c7 100644 --- a/Projects/Data/Home/Sources/Repository/HomeRepositoryImpl.swift +++ b/Projects/Data/Home/Sources/Repository/HomeRepositoryImpl.swift @@ -7,6 +7,7 @@ import Foundation +import APIEndpoint import HomeDomainInterface import Model import NetworkModule diff --git a/Projects/Data/Home/Tests/HomeRepositoryTests.swift b/Projects/Data/Home/Tests/HomeRepositoryTests.swift index e07671c9..4f762db9 100644 --- a/Projects/Data/Home/Tests/HomeRepositoryTests.swift +++ b/Projects/Data/Home/Tests/HomeRepositoryTests.swift @@ -8,9 +8,10 @@ import Testing @testable import HomeData +import APIEndpoint +import AuthDomainInterface import CommonDomainInterface import HomeDomainInterface -import AuthDomainInterface struct HomeRepositoryTests { private static let fullEnvelope = """ diff --git a/Projects/Data/Home/Tests/HomeRequestMappingTests.swift b/Projects/Data/Home/Tests/HomeRequestMappingTests.swift index d6988648..1b6c405b 100644 --- a/Projects/Data/Home/Tests/HomeRequestMappingTests.swift +++ b/Projects/Data/Home/Tests/HomeRequestMappingTests.swift @@ -8,6 +8,7 @@ import Testing @testable import HomeData +import APIEndpoint import NetworkHeader struct HomeRequestMappingTests { diff --git a/Projects/Data/Notification/Sources/Repository/NotificationRepositoryImpl.swift b/Projects/Data/Notification/Sources/Repository/NotificationRepositoryImpl.swift index 865b7dd1..b2a82904 100644 --- a/Projects/Data/Notification/Sources/Repository/NotificationRepositoryImpl.swift +++ b/Projects/Data/Notification/Sources/Repository/NotificationRepositoryImpl.swift @@ -5,9 +5,10 @@ import Foundation +import APIEndpoint import Model -import NotificationDomainInterface import NetworkModule +import NotificationDomainInterface import LogMacro diff --git a/Projects/Data/Notification/Tests/NotificationRepositoryTests.swift b/Projects/Data/Notification/Tests/NotificationRepositoryTests.swift index 1a3c1fe5..cbebe4ed 100644 --- a/Projects/Data/Notification/Tests/NotificationRepositoryTests.swift +++ b/Projects/Data/Notification/Tests/NotificationRepositoryTests.swift @@ -8,6 +8,7 @@ import Testing @testable import NotificationData +import APIEndpoint import NotificationDomainInterface struct NotificationRepositoryTests { diff --git a/Projects/Data/Notification/Tests/NotificationRequestMappingTests.swift b/Projects/Data/Notification/Tests/NotificationRequestMappingTests.swift index 70c9bd7b..63da7abf 100644 --- a/Projects/Data/Notification/Tests/NotificationRequestMappingTests.swift +++ b/Projects/Data/Notification/Tests/NotificationRequestMappingTests.swift @@ -9,6 +9,7 @@ import Testing @testable import NotificationData import API +import APIEndpoint import NetworkHeader struct NotificationRequestMappingTests { diff --git a/Projects/Data/Perspective/Sources/Repository/PerspectiveRepositoryImpl.swift b/Projects/Data/Perspective/Sources/Repository/PerspectiveRepositoryImpl.swift index f4d12cfc..7e5140ed 100644 --- a/Projects/Data/Perspective/Sources/Repository/PerspectiveRepositoryImpl.swift +++ b/Projects/Data/Perspective/Sources/Repository/PerspectiveRepositoryImpl.swift @@ -5,11 +5,12 @@ import Foundation +import APIEndpoint import CommentDomainInterface import CommonDomainInterface import Model -import PerspectiveDomainInterface import NetworkModule +import PerspectiveDomainInterface import LogMacro diff --git a/Projects/Data/Perspective/Tests/PerspectiveRepositoryTests.swift b/Projects/Data/Perspective/Tests/PerspectiveRepositoryTests.swift index 5a55f428..c6b0a826 100644 --- a/Projects/Data/Perspective/Tests/PerspectiveRepositoryTests.swift +++ b/Projects/Data/Perspective/Tests/PerspectiveRepositoryTests.swift @@ -8,6 +8,7 @@ import Testing @testable import PerspectiveData +import APIEndpoint import CommentDomainInterface import CommonDomainInterface import PerspectiveDomainInterface diff --git a/Projects/Data/Perspective/Tests/PerspectiveRequestMappingTests.swift b/Projects/Data/Perspective/Tests/PerspectiveRequestMappingTests.swift index 13c1b2dc..c5b5060f 100644 --- a/Projects/Data/Perspective/Tests/PerspectiveRequestMappingTests.swift +++ b/Projects/Data/Perspective/Tests/PerspectiveRequestMappingTests.swift @@ -8,6 +8,7 @@ import Testing @testable import PerspectiveData +import APIEndpoint import NetworkHeader struct PerspectiveRequestMappingTests { diff --git a/Projects/Data/Profile/Sources/Repository/ProfileRepositoryImpl.swift b/Projects/Data/Profile/Sources/Repository/ProfileRepositoryImpl.swift index ab694666..aa3a18a0 100644 --- a/Projects/Data/Profile/Sources/Repository/ProfileRepositoryImpl.swift +++ b/Projects/Data/Profile/Sources/Repository/ProfileRepositoryImpl.swift @@ -5,8 +5,9 @@ import Foundation -import ProfileDomainInterface +import APIEndpoint import NetworkModule +import ProfileDomainInterface import LogMacro diff --git a/Projects/Data/Profile/Tests/ProfileRepositoryTests.swift b/Projects/Data/Profile/Tests/ProfileRepositoryTests.swift index 63a7e482..f6a9a491 100644 --- a/Projects/Data/Profile/Tests/ProfileRepositoryTests.swift +++ b/Projects/Data/Profile/Tests/ProfileRepositoryTests.swift @@ -8,6 +8,7 @@ import Testing @testable import ProfileData +import APIEndpoint import ProfileDomainInterface struct ProfileRepositoryTests { diff --git a/Projects/Data/Search/Project.swift b/Projects/Data/Search/Project.swift index f5f0f167..538865d5 100644 --- a/Projects/Data/Search/Project.swift +++ b/Projects/Data/Search/Project.swift @@ -16,6 +16,7 @@ let project = Project.configure( .Domain(.Home, .interface), .api, + .apiEndpoint, .Data(implements: .Model), .Network(implements: .NetworkModule), .Network(implements: .NetworkHeader), diff --git a/Projects/Data/Search/Sources/SearchRepositoryImpl.swift b/Projects/Data/Search/Sources/SearchRepositoryImpl.swift index e639a58e..fa3a4df5 100644 --- a/Projects/Data/Search/Sources/SearchRepositoryImpl.swift +++ b/Projects/Data/Search/Sources/SearchRepositoryImpl.swift @@ -5,6 +5,7 @@ import Foundation +import APIEndpoint import HomeDomainInterface import Model import NetworkModule diff --git a/Projects/Data/Search/Tests/SearchRepositoryTests.swift b/Projects/Data/Search/Tests/SearchRepositoryTests.swift index 677a7724..7e6afde0 100644 --- a/Projects/Data/Search/Tests/SearchRepositoryTests.swift +++ b/Projects/Data/Search/Tests/SearchRepositoryTests.swift @@ -7,8 +7,9 @@ import Testing @testable import SearchData -import HomeDomainInterface +import APIEndpoint import BattleDomainInterface +import HomeDomainInterface struct SearchRepositoryTests { @Test func searchBattles_은_정상_응답을_ExploreItemPage로_매핑한다() async throws { diff --git a/Projects/Data/Search/Tests/SearchRequestMappingTests.swift b/Projects/Data/Search/Tests/SearchRequestMappingTests.swift index 1920c8eb..8c0a172e 100644 --- a/Projects/Data/Search/Tests/SearchRequestMappingTests.swift +++ b/Projects/Data/Search/Tests/SearchRequestMappingTests.swift @@ -7,6 +7,7 @@ import Testing @testable import SearchData +import APIEndpoint import NetworkHeader struct SearchRequestMappingTests { diff --git a/Projects/Service/APIEndpoint/Project.swift b/Projects/Service/APIEndpoint/Project.swift index 79acd6d2..b7b9950b 100644 --- a/Projects/Service/APIEndpoint/Project.swift +++ b/Projects/Service/APIEndpoint/Project.swift @@ -11,6 +11,8 @@ let project = Project.configure( settings: .settings(), dependencies: [ .api, + // Auth 엔드포인트가 SocialType 을 경로에 쓴다. + .Domain(.Auth, .interface), .Network(implements: .NetworkHeader), ], sources: ["Sources/**"], diff --git a/Projects/Data/Attendance/Sources/Service/AttendanceService.swift b/Projects/Service/APIEndpoint/Sources/Attendance/AttendanceService.swift similarity index 97% rename from Projects/Data/Attendance/Sources/Service/AttendanceService.swift rename to Projects/Service/APIEndpoint/Sources/Attendance/AttendanceService.swift index bf8d5c36..a9e398c4 100644 --- a/Projects/Data/Attendance/Sources/Service/AttendanceService.swift +++ b/Projects/Service/APIEndpoint/Sources/Attendance/AttendanceService.swift @@ -6,7 +6,6 @@ import Foundation import API -import APIEndpoint import NetworkHeader public enum AttendanceService { diff --git a/Projects/Data/Auth/Sources/Service/AuthService.swift b/Projects/Service/APIEndpoint/Sources/Auth/AuthService.swift similarity index 98% rename from Projects/Data/Auth/Sources/Service/AuthService.swift rename to Projects/Service/APIEndpoint/Sources/Auth/AuthService.swift index 26f5c9fb..ca70053c 100644 --- a/Projects/Data/Auth/Sources/Service/AuthService.swift +++ b/Projects/Service/APIEndpoint/Sources/Auth/AuthService.swift @@ -8,7 +8,6 @@ import Foundation import API -import APIEndpoint import AuthDomainInterface import NetworkHeader diff --git a/Projects/Data/Auth/Sources/Service/Request/OAuthRequest.swift b/Projects/Service/APIEndpoint/Sources/Auth/Request/OAuthRequest.swift similarity index 100% rename from Projects/Data/Auth/Sources/Service/Request/OAuthRequest.swift rename to Projects/Service/APIEndpoint/Sources/Auth/Request/OAuthRequest.swift diff --git a/Projects/Data/Battle/Sources/Service/BattleService.swift b/Projects/Service/APIEndpoint/Sources/Battle/BattleService.swift similarity index 100% rename from Projects/Data/Battle/Sources/Service/BattleService.swift rename to Projects/Service/APIEndpoint/Sources/Battle/BattleService.swift diff --git a/Projects/Data/Battle/Sources/Service/Request/BattleProposalRequest.swift b/Projects/Service/APIEndpoint/Sources/Battle/Request/BattleProposalRequest.swift similarity index 100% rename from Projects/Data/Battle/Sources/Service/Request/BattleProposalRequest.swift rename to Projects/Service/APIEndpoint/Sources/Battle/Request/BattleProposalRequest.swift diff --git a/Projects/Data/Battle/Sources/Service/Request/CreatePerspectiveRequest.swift b/Projects/Service/APIEndpoint/Sources/Battle/Request/CreatePerspectiveRequest.swift similarity index 100% rename from Projects/Data/Battle/Sources/Service/Request/CreatePerspectiveRequest.swift rename to Projects/Service/APIEndpoint/Sources/Battle/Request/CreatePerspectiveRequest.swift diff --git a/Projects/Data/Battle/Sources/Service/Request/PerspectivesQueryRequest.swift b/Projects/Service/APIEndpoint/Sources/Battle/Request/PerspectivesQueryRequest.swift similarity index 100% rename from Projects/Data/Battle/Sources/Service/Request/PerspectivesQueryRequest.swift rename to Projects/Service/APIEndpoint/Sources/Battle/Request/PerspectivesQueryRequest.swift diff --git a/Projects/Data/Battle/Sources/Service/Request/PreVoteRequest.swift b/Projects/Service/APIEndpoint/Sources/Battle/Request/PreVoteRequest.swift similarity index 100% rename from Projects/Data/Battle/Sources/Service/Request/PreVoteRequest.swift rename to Projects/Service/APIEndpoint/Sources/Battle/Request/PreVoteRequest.swift diff --git a/Projects/Data/Comment/Sources/Service/CommentService.swift b/Projects/Service/APIEndpoint/Sources/Comment/CommentService.swift similarity index 100% rename from Projects/Data/Comment/Sources/Service/CommentService.swift rename to Projects/Service/APIEndpoint/Sources/Comment/CommentService.swift diff --git a/Projects/Data/Home/Sources/Service/HomeService.swift b/Projects/Service/APIEndpoint/Sources/Home/HomeService.swift similarity index 100% rename from Projects/Data/Home/Sources/Service/HomeService.swift rename to Projects/Service/APIEndpoint/Sources/Home/HomeService.swift diff --git a/Projects/Data/Notification/Sources/Service/NotificationService.swift b/Projects/Service/APIEndpoint/Sources/Notification/NotificationService.swift similarity index 98% rename from Projects/Data/Notification/Sources/Service/NotificationService.swift rename to Projects/Service/APIEndpoint/Sources/Notification/NotificationService.swift index 93962b59..9991fe8e 100644 --- a/Projects/Data/Notification/Sources/Service/NotificationService.swift +++ b/Projects/Service/APIEndpoint/Sources/Notification/NotificationService.swift @@ -6,7 +6,6 @@ import Foundation import API -import APIEndpoint import NetworkHeader diff --git a/Projects/Data/Notification/Sources/Service/Request/NotificationsQueryRequest.swift b/Projects/Service/APIEndpoint/Sources/Notification/Request/NotificationsQueryRequest.swift similarity index 100% rename from Projects/Data/Notification/Sources/Service/Request/NotificationsQueryRequest.swift rename to Projects/Service/APIEndpoint/Sources/Notification/Request/NotificationsQueryRequest.swift diff --git a/Projects/Data/Perspective/Sources/Service/PerspectiveService.swift b/Projects/Service/APIEndpoint/Sources/Perspective/PerspectiveService.swift similarity index 99% rename from Projects/Data/Perspective/Sources/Service/PerspectiveService.swift rename to Projects/Service/APIEndpoint/Sources/Perspective/PerspectiveService.swift index 05b4a00b..f93e0c4d 100644 --- a/Projects/Data/Perspective/Sources/Service/PerspectiveService.swift +++ b/Projects/Service/APIEndpoint/Sources/Perspective/PerspectiveService.swift @@ -6,7 +6,6 @@ import Foundation import API -import APIEndpoint import NetworkHeader public struct PerspectiveCommentBody: Encodable { diff --git a/Projects/Data/Profile/Sources/Service/ProfileService.swift b/Projects/Service/APIEndpoint/Sources/Profile/ProfileService.swift similarity index 99% rename from Projects/Data/Profile/Sources/Service/ProfileService.swift rename to Projects/Service/APIEndpoint/Sources/Profile/ProfileService.swift index 9ec3fa02..ef9c2ae2 100644 --- a/Projects/Data/Profile/Sources/Service/ProfileService.swift +++ b/Projects/Service/APIEndpoint/Sources/Profile/ProfileService.swift @@ -6,7 +6,6 @@ import Foundation import API -import APIEndpoint import NetworkHeader diff --git a/Projects/Data/Profile/Sources/Service/Request/BattleRecordsQueryRequest.swift b/Projects/Service/APIEndpoint/Sources/Profile/Request/BattleRecordsQueryRequest.swift similarity index 100% rename from Projects/Data/Profile/Sources/Service/Request/BattleRecordsQueryRequest.swift rename to Projects/Service/APIEndpoint/Sources/Profile/Request/BattleRecordsQueryRequest.swift diff --git a/Projects/Data/Profile/Sources/Service/Request/ContentActivitiesQueryRequest.swift b/Projects/Service/APIEndpoint/Sources/Profile/Request/ContentActivitiesQueryRequest.swift similarity index 100% rename from Projects/Data/Profile/Sources/Service/Request/ContentActivitiesQueryRequest.swift rename to Projects/Service/APIEndpoint/Sources/Profile/Request/ContentActivitiesQueryRequest.swift diff --git a/Projects/Data/Profile/Sources/Service/Request/CreditHistoryQueryRequest.swift b/Projects/Service/APIEndpoint/Sources/Profile/Request/CreditHistoryQueryRequest.swift similarity index 100% rename from Projects/Data/Profile/Sources/Service/Request/CreditHistoryQueryRequest.swift rename to Projects/Service/APIEndpoint/Sources/Profile/Request/CreditHistoryQueryRequest.swift diff --git a/Projects/Data/Profile/Sources/Service/Request/NotificationSettingsRequest.swift b/Projects/Service/APIEndpoint/Sources/Profile/Request/NotificationSettingsRequest.swift similarity index 100% rename from Projects/Data/Profile/Sources/Service/Request/NotificationSettingsRequest.swift rename to Projects/Service/APIEndpoint/Sources/Profile/Request/NotificationSettingsRequest.swift diff --git a/Projects/Data/Profile/Sources/Service/Request/ProfileUpdateRequest.swift b/Projects/Service/APIEndpoint/Sources/Profile/Request/ProfileUpdateRequest.swift similarity index 100% rename from Projects/Data/Profile/Sources/Service/Request/ProfileUpdateRequest.swift rename to Projects/Service/APIEndpoint/Sources/Profile/Request/ProfileUpdateRequest.swift diff --git a/Projects/Data/Search/Sources/SearchService.swift b/Projects/Service/APIEndpoint/Sources/Search/SearchService.swift similarity index 100% rename from Projects/Data/Search/Sources/SearchService.swift rename to Projects/Service/APIEndpoint/Sources/Search/SearchService.swift From a71f332bd7bcad3ef28b7e70d548600885a532c7 Mon Sep 17 00:00:00 2001 From: Roy Date: Sun, 6 Sep 2026 20:42:40 +0900 Subject: [PATCH 24/83] =?UTF-8?q?refactor(domain):=20Common=20=EB=8F=84?= =?UTF-8?q?=EB=A9=94=EC=9D=B8=EC=9D=84=20=ED=95=B4=EC=B2=B4=ED=95=98?= =?UTF-8?q?=EA=B3=A0=20=EA=B0=81=20=ED=83=80=EC=9E=85=EC=9D=84=20=EC=86=8C?= =?UTF-8?q?=EC=9C=A0=20=EB=8F=84=EB=A9=94=EC=9D=B8=EC=9C=BC=EB=A1=9C=20?= =?UTF-8?q?=EC=98=AE=EA=B8=B4=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 여러 feature 가 공유한다는 이유로 CommonDomain 에 모아둔 횡단 타입들은 소유자가 불분명해 도메인 경계를 흐렸다. 각 타입을 실제로 계약을 정의하는 모듈로 내려보내고 모듈 자체를 없앤다. - BattleTag·TagType → HomeDomainInterface 홈 섹션 4종이 직접 보유하는 값이다. Battle → Home 의존이 이미 있어 Battle 도 그대로 쓸 수 있다. 반대로 Battle 에 두면 Home → Battle 이 생겨 순환한다. - BattlePerspective 외 4종 → BattleDomainInterface BattleInterface.fetchBattlePerspectives 의 반환 타입이다. Perspective 에 두면 Comment → Perspective → Comment 순환이 생긴다. - CommentLikeResult·CommentError → CommentDomainInterface - ShareContent·ShareItem·PickeDeeplink → PickeFoundation 도메인 규칙이 아니라 Feature·App 이 함께 쓰는 순수 Foundation 값이다. 새로 생기는 모듈 간선은 Comment → Battle, Perspective → Battle 둘뿐이고 Battle → Home 이 유일한 하위 간선이라 순환은 없다. tuist generate 가 성공하는 것으로 그래프에 순환이 없음을 확인했다. Swift 36개 파일의 import 를 소유 모듈로 치환하고, 매니페스트 20곳에서 .Domain(.Common) 을 제거했으며, 카탈로그의 DomainFeatureModule.Common 과 DataFeatureModule.Common 케이스를 삭제했다. 빌드 검증은 완료 전이다. FeatureAssembly 스킴 빌드가 진행 중인 상태에서 사용자 요청으로 먼저 커밋했다. --- .../TargetDependency+Module/FeatureModule.swift | 3 --- .../Sources}/Deeplink/PickeDeeplink.swift | 2 +- .../Sources}/Share/ShareContent.swift | 2 +- .../PickeFoundation/Sources}/Share/ShareItem.swift | 2 +- Projects/Data/Battle/Project.swift | 1 - .../Sources/Repository/BattleRepositoryImpl.swift | 1 - .../Data/Battle/Tests/BattleRepositoryTests.swift | 1 - Projects/Data/Comment/Project.swift | 1 - .../Sources/Repository/CommentRepositoryImpl.swift | 1 - .../Comment/Tests/CommentRepositoryTests.swift | 1 - Projects/Data/Home/Project.swift | 1 - .../Data/Home/Sources/Model/HomeDataDTO+.swift | 1 - Projects/Data/Home/Tests/HomeRepositoryTests.swift | 1 - Projects/Data/Model/Project.swift | 1 - .../Sources/Battle/DTO/BattleDetailDataDTO.swift | 1 - .../Battle/DTO/RecommendedBattleDataDTO.swift | 1 - .../Battle/Mapper/BattleDetailDataDTO+.swift | 2 +- .../Battle/Mapper/BattlePerspectiveDataDTO+.swift | 2 +- .../Battle/Mapper/RecommendedBattleDataDTO+.swift | 1 - .../Comment/Mapper/CommentLikeDataDTO+.swift | 2 +- Projects/Data/Perspective/Project.swift | 2 +- .../Repository/PerspectiveRepositoryImpl.swift | 2 +- .../Tests/PerspectiveRepositoryTests.swift | 1 - Projects/Data/Search/Project.swift | 1 - .../Data/Search/Sources/SearchBattleDataDTO.swift | 1 - .../Contract/Default/MockBattleRepository.swift | 1 - .../Contract/Interface/BattleInterface.swift | 1 - .../Entity/Battle/Detail/BattleDetail.swift | 2 +- .../Entity/Battle/Detail/BattleInfo.swift | 2 +- .../Entity/Battle/Detail/BattleOption.swift | 2 +- .../Battle/Recommend/RecommendedBattle.swift | 1 - .../Entity/Perspective/BattlePerspective.swift | 2 +- .../Perspective/BattlePerspectiveOption.swift | 2 +- .../Entity/Perspective/BattlePerspectivePage.swift | 2 +- .../Entity/Perspective/BattlePerspectiveSort.swift | 2 +- .../Entity/Perspective/BattlePerspectiveUser.swift | 2 +- Projects/Domain/Battle/Project.swift | 2 -- .../Battle/Sources/Battle/BattleUseCase.swift | 1 - .../Comment/Interface/CommentInterface.swift | 1 - .../Interface}/Error/CommentError.swift | 2 +- .../Comment/Interface/Item/CommentItem.swift | 2 +- .../Interface/Item}/CommentLikeResult.swift | 2 +- .../Comment/Interface/Item/CommentSort.swift | 2 +- Projects/Domain/Comment/Project.swift | 4 ++-- .../Domain/Comment/Sources/CommentUseCase.swift | 1 - Projects/Domain/Common/Project.swift | 14 -------------- .../Sources/Exported/CommonDomainExported.swift | 6 ------ .../Common/Testing/CommonDomainTesting.swift | 8 -------- .../Domain/Common/Tests/CommonDomainTests.swift | 14 -------------- Projects/Domain/DomainAssembly/Project.swift | 1 - .../Sources/Exported/DomainAssemblyExported.swift | 2 -- .../Home/Interface/Section/Battle/BestBattle.swift | 1 - .../Home/Interface/Section/Battle/HeroBattle.swift | 1 - .../Home/Interface/Section/Battle/HotBattle.swift | 1 - .../Home/Interface/Section/Battle/NewBattle.swift | 1 - .../Battle => Home/Interface/Tag}/BattleTag.swift | 2 +- .../Battle => Home/Interface/Tag}/TagType.swift | 2 +- Projects/Domain/Home/Project.swift | 2 -- .../Interface/MockPerspectiveRepository.swift | 2 +- .../Interface/PerspectiveInterface.swift | 2 +- Projects/Domain/Perspective/Project.swift | 4 ++-- .../Perspective/Sources/PerspectiveUseCase.swift | 2 +- Projects/Feature/Battle/Project.swift | 1 - .../Sources/Main/Reducer/BattleFeature.swift | 2 +- Projects/Feature/Chat/Project.swift | 1 - .../Sources/Comment/Reducer/CommentFeature.swift | 1 - .../CommentReply/Reducer/CommentReplyFeature.swift | 2 +- .../Chat/Sources/Vote/Reducer/PreVoteFeature.swift | 2 +- Projects/Feature/Notification/Project.swift | 1 - .../Sources/Main/Reducer/NotificationFeature.swift | 2 +- Projects/Feature/Profile/Project.swift | 1 - .../Sources/Recap/Reducer/RecapFeature.swift | 2 +- 72 files changed, 34 insertions(+), 117 deletions(-) rename Projects/{Domain/Common/Interface/Entity => Core/PickeFoundation/Sources}/Deeplink/PickeDeeplink.swift (99%) rename Projects/{Domain/Common/Interface/Entity => Core/PickeFoundation/Sources}/Share/ShareContent.swift (97%) rename Projects/{Domain/Common/Interface/Entity => Core/PickeFoundation/Sources}/Share/ShareItem.swift (93%) rename Projects/Domain/{Common => Battle}/Interface/Entity/Perspective/BattlePerspective.swift (97%) rename Projects/Domain/{Common => Battle}/Interface/Entity/Perspective/BattlePerspectiveOption.swift (94%) rename Projects/Domain/{Common => Battle}/Interface/Entity/Perspective/BattlePerspectivePage.swift (93%) rename Projects/Domain/{Common => Battle}/Interface/Entity/Perspective/BattlePerspectiveSort.swift (92%) rename Projects/Domain/{Common => Battle}/Interface/Entity/Perspective/BattlePerspectiveUser.swift (95%) rename Projects/Domain/{Common/Interface/Entity => Comment/Interface}/Error/CommentError.swift (97%) rename Projects/Domain/{Common/Interface/Entity/Comment => Comment/Interface/Item}/CommentLikeResult.swift (93%) delete mode 100644 Projects/Domain/Common/Project.swift delete mode 100644 Projects/Domain/Common/Sources/Exported/CommonDomainExported.swift delete mode 100644 Projects/Domain/Common/Testing/CommonDomainTesting.swift delete mode 100644 Projects/Domain/Common/Tests/CommonDomainTests.swift rename Projects/Domain/{Common/Interface/Entity/Battle => Home/Interface/Tag}/BattleTag.swift (95%) rename Projects/Domain/{Common/Interface/Entity/Battle => Home/Interface/Tag}/TagType.swift (96%) diff --git a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/FeatureModule.swift b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/FeatureModule.swift index a01074b2..19bc1351 100644 --- a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/FeatureModule.swift +++ b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/FeatureModule.swift @@ -26,8 +26,6 @@ public enum DomainFeatureModule: String, CaseIterable { case Perspective case Profile case Search - /// 여러 feature 가 공유하는 저변경 횡단 계약 - case Common /// 앱 강제/권장 업데이트 판정. case AppUpdate } @@ -69,7 +67,6 @@ public enum DataFeatureModule: String, CaseIterable { case Perspective case Profile case Search - case Common } /// Domain feature 모듈 내 대상 타깃 종류. diff --git a/Projects/Domain/Common/Interface/Entity/Deeplink/PickeDeeplink.swift b/Projects/Core/PickeFoundation/Sources/Deeplink/PickeDeeplink.swift similarity index 99% rename from Projects/Domain/Common/Interface/Entity/Deeplink/PickeDeeplink.swift rename to Projects/Core/PickeFoundation/Sources/Deeplink/PickeDeeplink.swift index bbfb3620..fe2b5789 100644 --- a/Projects/Domain/Common/Interface/Entity/Deeplink/PickeDeeplink.swift +++ b/Projects/Core/PickeFoundation/Sources/Deeplink/PickeDeeplink.swift @@ -1,6 +1,6 @@ // // PickeDeeplink.swift -// CommonDomainInterface +// PickeFoundation // import Foundation diff --git a/Projects/Domain/Common/Interface/Entity/Share/ShareContent.swift b/Projects/Core/PickeFoundation/Sources/Share/ShareContent.swift similarity index 97% rename from Projects/Domain/Common/Interface/Entity/Share/ShareContent.swift rename to Projects/Core/PickeFoundation/Sources/Share/ShareContent.swift index 1c1cc0eb..dc134cb5 100644 --- a/Projects/Domain/Common/Interface/Entity/Share/ShareContent.swift +++ b/Projects/Core/PickeFoundation/Sources/Share/ShareContent.swift @@ -1,6 +1,6 @@ // // ShareContent.swift -// CommonDomainInterface +// PickeFoundation // import Foundation diff --git a/Projects/Domain/Common/Interface/Entity/Share/ShareItem.swift b/Projects/Core/PickeFoundation/Sources/Share/ShareItem.swift similarity index 93% rename from Projects/Domain/Common/Interface/Entity/Share/ShareItem.swift rename to Projects/Core/PickeFoundation/Sources/Share/ShareItem.swift index e2e9cc7b..a4523807 100644 --- a/Projects/Domain/Common/Interface/Entity/Share/ShareItem.swift +++ b/Projects/Core/PickeFoundation/Sources/Share/ShareItem.swift @@ -1,6 +1,6 @@ // // ShareItem.swift -// CommonDomainInterface +// PickeFoundation // import Foundation diff --git a/Projects/Data/Battle/Project.swift b/Projects/Data/Battle/Project.swift index c4e6c19d..af544ae8 100644 --- a/Projects/Data/Battle/Project.swift +++ b/Projects/Data/Battle/Project.swift @@ -12,7 +12,6 @@ let project = Project.configure( dependencies: [ .Domain(.Home, .interface), .Domain(.Battle, .interface), - .Domain(.Common, .interface), .api, .Data(implements: .Model), diff --git a/Projects/Data/Battle/Sources/Repository/BattleRepositoryImpl.swift b/Projects/Data/Battle/Sources/Repository/BattleRepositoryImpl.swift index b723509a..71aecbf3 100644 --- a/Projects/Data/Battle/Sources/Repository/BattleRepositoryImpl.swift +++ b/Projects/Data/Battle/Sources/Repository/BattleRepositoryImpl.swift @@ -7,7 +7,6 @@ import Foundation import APIEndpoint import BattleDomainInterface -import CommonDomainInterface import HomeDomainInterface import Model import NetworkModule diff --git a/Projects/Data/Battle/Tests/BattleRepositoryTests.swift b/Projects/Data/Battle/Tests/BattleRepositoryTests.swift index d0f968df..33f9c20a 100644 --- a/Projects/Data/Battle/Tests/BattleRepositoryTests.swift +++ b/Projects/Data/Battle/Tests/BattleRepositoryTests.swift @@ -9,7 +9,6 @@ import Testing import APIEndpoint import BattleDomainInterface -import CommonDomainInterface import Foundation import HomeDomainInterface diff --git a/Projects/Data/Comment/Project.swift b/Projects/Data/Comment/Project.swift index 853d3a0c..ea22ceed 100644 --- a/Projects/Data/Comment/Project.swift +++ b/Projects/Data/Comment/Project.swift @@ -11,7 +11,6 @@ let project = Project.configure( settings: .settings(), dependencies: [ .Domain(.Comment, .interface), - .Domain(.Common, .interface), .api, .Data(implements: .Model), .apiEndpoint, diff --git a/Projects/Data/Comment/Sources/Repository/CommentRepositoryImpl.swift b/Projects/Data/Comment/Sources/Repository/CommentRepositoryImpl.swift index 63ff77f4..12dc4e9c 100644 --- a/Projects/Data/Comment/Sources/Repository/CommentRepositoryImpl.swift +++ b/Projects/Data/Comment/Sources/Repository/CommentRepositoryImpl.swift @@ -7,7 +7,6 @@ import Foundation import APIEndpoint import CommentDomainInterface -import CommonDomainInterface import Model import NetworkModule diff --git a/Projects/Data/Comment/Tests/CommentRepositoryTests.swift b/Projects/Data/Comment/Tests/CommentRepositoryTests.swift index 6ae6d247..cc6af355 100644 --- a/Projects/Data/Comment/Tests/CommentRepositoryTests.swift +++ b/Projects/Data/Comment/Tests/CommentRepositoryTests.swift @@ -10,7 +10,6 @@ import Testing import APIEndpoint import CommentDomainInterface -import CommonDomainInterface struct CommentRepositoryTests { // MARK: - likeComment diff --git a/Projects/Data/Home/Project.swift b/Projects/Data/Home/Project.swift index 879a3e4a..9e46dae6 100644 --- a/Projects/Data/Home/Project.swift +++ b/Projects/Data/Home/Project.swift @@ -12,7 +12,6 @@ let project = Project.configure( dependencies: [ .Domain(.Auth, .interface), .Domain(.Home, .interface), - .Domain(.Common, .interface), .api, .Data(implements: .Model), .apiEndpoint, diff --git a/Projects/Data/Home/Sources/Model/HomeDataDTO+.swift b/Projects/Data/Home/Sources/Model/HomeDataDTO+.swift index 999f477d..77325e69 100644 --- a/Projects/Data/Home/Sources/Model/HomeDataDTO+.swift +++ b/Projects/Data/Home/Sources/Model/HomeDataDTO+.swift @@ -5,7 +5,6 @@ // Created by Wonji Suh on 5/16/26. // -import CommonDomainInterface import Foundation import HomeDomainInterface diff --git a/Projects/Data/Home/Tests/HomeRepositoryTests.swift b/Projects/Data/Home/Tests/HomeRepositoryTests.swift index 4f762db9..7b84b388 100644 --- a/Projects/Data/Home/Tests/HomeRepositoryTests.swift +++ b/Projects/Data/Home/Tests/HomeRepositoryTests.swift @@ -10,7 +10,6 @@ import Testing import APIEndpoint import AuthDomainInterface -import CommonDomainInterface import HomeDomainInterface struct HomeRepositoryTests { diff --git a/Projects/Data/Model/Project.swift b/Projects/Data/Model/Project.swift index 13bf8708..ad728eef 100644 --- a/Projects/Data/Model/Project.swift +++ b/Projects/Data/Model/Project.swift @@ -11,7 +11,6 @@ let project = Project.configure( settings: .settings(), dependencies: [ .Domain(.AppUpdate, .interface), - .Domain(.Common, .interface), .Domain(.Comment, .interface), .Domain(.Battle, .interface), .Domain(.Home, .interface), diff --git a/Projects/Data/Model/Sources/Battle/DTO/BattleDetailDataDTO.swift b/Projects/Data/Model/Sources/Battle/DTO/BattleDetailDataDTO.swift index adbe6de3..64dbdfa6 100644 --- a/Projects/Data/Model/Sources/Battle/DTO/BattleDetailDataDTO.swift +++ b/Projects/Data/Model/Sources/Battle/DTO/BattleDetailDataDTO.swift @@ -4,7 +4,6 @@ // import Foundation -import CommonDomainInterface public struct BattleDetailDataDTO: Decodable { public let battleInfo: BattleInfoDTO diff --git a/Projects/Data/Model/Sources/Battle/DTO/RecommendedBattleDataDTO.swift b/Projects/Data/Model/Sources/Battle/DTO/RecommendedBattleDataDTO.swift index a8756858..3a7760ed 100644 --- a/Projects/Data/Model/Sources/Battle/DTO/RecommendedBattleDataDTO.swift +++ b/Projects/Data/Model/Sources/Battle/DTO/RecommendedBattleDataDTO.swift @@ -4,7 +4,6 @@ // import Foundation -import CommonDomainInterface public struct RecommendedBattlePageDataDTO: Decodable { public let items: [RecommendedBattleDTO] diff --git a/Projects/Data/Model/Sources/Battle/Mapper/BattleDetailDataDTO+.swift b/Projects/Data/Model/Sources/Battle/Mapper/BattleDetailDataDTO+.swift index a121144a..cda23a70 100644 --- a/Projects/Data/Model/Sources/Battle/Mapper/BattleDetailDataDTO+.swift +++ b/Projects/Data/Model/Sources/Battle/Mapper/BattleDetailDataDTO+.swift @@ -4,8 +4,8 @@ // import BattleDomainInterface -import CommonDomainInterface import Foundation +import HomeDomainInterface public extension BattleDetailDataDTO { func toDomain() -> BattleDetail { diff --git a/Projects/Data/Model/Sources/Battle/Mapper/BattlePerspectiveDataDTO+.swift b/Projects/Data/Model/Sources/Battle/Mapper/BattlePerspectiveDataDTO+.swift index d3285374..8f54e56e 100644 --- a/Projects/Data/Model/Sources/Battle/Mapper/BattlePerspectiveDataDTO+.swift +++ b/Projects/Data/Model/Sources/Battle/Mapper/BattlePerspectiveDataDTO+.swift @@ -3,7 +3,7 @@ // Model // -import CommonDomainInterface +import BattleDomainInterface import Foundation public extension BattlePerspectivePageDataDTO { diff --git a/Projects/Data/Model/Sources/Battle/Mapper/RecommendedBattleDataDTO+.swift b/Projects/Data/Model/Sources/Battle/Mapper/RecommendedBattleDataDTO+.swift index 0abcb721..08faa4cb 100644 --- a/Projects/Data/Model/Sources/Battle/Mapper/RecommendedBattleDataDTO+.swift +++ b/Projects/Data/Model/Sources/Battle/Mapper/RecommendedBattleDataDTO+.swift @@ -4,7 +4,6 @@ // import BattleDomainInterface -import CommonDomainInterface import Foundation public extension RecommendedBattlePageDataDTO { diff --git a/Projects/Data/Model/Sources/Comment/Mapper/CommentLikeDataDTO+.swift b/Projects/Data/Model/Sources/Comment/Mapper/CommentLikeDataDTO+.swift index 3c30e56f..306d1158 100644 --- a/Projects/Data/Model/Sources/Comment/Mapper/CommentLikeDataDTO+.swift +++ b/Projects/Data/Model/Sources/Comment/Mapper/CommentLikeDataDTO+.swift @@ -3,7 +3,7 @@ // Model // -import CommonDomainInterface +import CommentDomainInterface import Foundation public extension CommentLikeDataDTO { diff --git a/Projects/Data/Perspective/Project.swift b/Projects/Data/Perspective/Project.swift index a7a1916d..efedad7e 100644 --- a/Projects/Data/Perspective/Project.swift +++ b/Projects/Data/Perspective/Project.swift @@ -11,7 +11,7 @@ let project = Project.configure( settings: .settings(), dependencies: [ .Domain(.Perspective, .interface), - .Domain(.Common, .interface), + .Domain(.Battle, .interface), .Domain(.Comment, .interface), .api, .Data(implements: .Model), diff --git a/Projects/Data/Perspective/Sources/Repository/PerspectiveRepositoryImpl.swift b/Projects/Data/Perspective/Sources/Repository/PerspectiveRepositoryImpl.swift index 7e5140ed..e6e683e8 100644 --- a/Projects/Data/Perspective/Sources/Repository/PerspectiveRepositoryImpl.swift +++ b/Projects/Data/Perspective/Sources/Repository/PerspectiveRepositoryImpl.swift @@ -6,8 +6,8 @@ import Foundation import APIEndpoint +import BattleDomainInterface import CommentDomainInterface -import CommonDomainInterface import Model import NetworkModule import PerspectiveDomainInterface diff --git a/Projects/Data/Perspective/Tests/PerspectiveRepositoryTests.swift b/Projects/Data/Perspective/Tests/PerspectiveRepositoryTests.swift index c6b0a826..95a3b8e9 100644 --- a/Projects/Data/Perspective/Tests/PerspectiveRepositoryTests.swift +++ b/Projects/Data/Perspective/Tests/PerspectiveRepositoryTests.swift @@ -10,7 +10,6 @@ import Testing import APIEndpoint import CommentDomainInterface -import CommonDomainInterface import PerspectiveDomainInterface struct PerspectiveRepositoryTests { diff --git a/Projects/Data/Search/Project.swift b/Projects/Data/Search/Project.swift index 538865d5..549f9948 100644 --- a/Projects/Data/Search/Project.swift +++ b/Projects/Data/Search/Project.swift @@ -12,7 +12,6 @@ let project = Project.configure( dependencies: [ .Domain(.Battle, .interface), .Domain(.Search, .interface), - .Domain(.Common, .interface), .Domain(.Home, .interface), .api, diff --git a/Projects/Data/Search/Sources/SearchBattleDataDTO.swift b/Projects/Data/Search/Sources/SearchBattleDataDTO.swift index cd83ac1b..e08e7eaf 100644 --- a/Projects/Data/Search/Sources/SearchBattleDataDTO.swift +++ b/Projects/Data/Search/Sources/SearchBattleDataDTO.swift @@ -4,7 +4,6 @@ // import Foundation -import CommonDomainInterface import Model diff --git a/Projects/Domain/Battle/Interface/Contract/Default/MockBattleRepository.swift b/Projects/Domain/Battle/Interface/Contract/Default/MockBattleRepository.swift index 604d35c7..d5099d42 100644 --- a/Projects/Domain/Battle/Interface/Contract/Default/MockBattleRepository.swift +++ b/Projects/Domain/Battle/Interface/Contract/Default/MockBattleRepository.swift @@ -3,7 +3,6 @@ // DomainInterface // -import CommonDomainInterface import Foundation import HomeDomainInterface diff --git a/Projects/Domain/Battle/Interface/Contract/Interface/BattleInterface.swift b/Projects/Domain/Battle/Interface/Contract/Interface/BattleInterface.swift index 2489e548..d5c71529 100644 --- a/Projects/Domain/Battle/Interface/Contract/Interface/BattleInterface.swift +++ b/Projects/Domain/Battle/Interface/Contract/Interface/BattleInterface.swift @@ -3,7 +3,6 @@ // DomainInterface // -import CommonDomainInterface import Foundation import HomeDomainInterface import ComposableArchitecture diff --git a/Projects/Domain/Battle/Interface/Entity/Battle/Detail/BattleDetail.swift b/Projects/Domain/Battle/Interface/Entity/Battle/Detail/BattleDetail.swift index a9294f51..a6eeec42 100644 --- a/Projects/Domain/Battle/Interface/Entity/Battle/Detail/BattleDetail.swift +++ b/Projects/Domain/Battle/Interface/Entity/Battle/Detail/BattleDetail.swift @@ -4,7 +4,7 @@ // import Foundation -import CommonDomainInterface +import HomeDomainInterface public struct BattleDetail: Equatable, Identifiable { public let battleInfo: BattleInfo diff --git a/Projects/Domain/Battle/Interface/Entity/Battle/Detail/BattleInfo.swift b/Projects/Domain/Battle/Interface/Entity/Battle/Detail/BattleInfo.swift index c8408442..9a7399ee 100644 --- a/Projects/Domain/Battle/Interface/Entity/Battle/Detail/BattleInfo.swift +++ b/Projects/Domain/Battle/Interface/Entity/Battle/Detail/BattleInfo.swift @@ -4,7 +4,7 @@ // import Foundation -import CommonDomainInterface +import HomeDomainInterface public struct BattleInfo: Equatable, Identifiable { public let battleId: Int diff --git a/Projects/Domain/Battle/Interface/Entity/Battle/Detail/BattleOption.swift b/Projects/Domain/Battle/Interface/Entity/Battle/Detail/BattleOption.swift index 291bcc91..aa4e7b42 100644 --- a/Projects/Domain/Battle/Interface/Entity/Battle/Detail/BattleOption.swift +++ b/Projects/Domain/Battle/Interface/Entity/Battle/Detail/BattleOption.swift @@ -4,7 +4,7 @@ // import Foundation -import CommonDomainInterface +import HomeDomainInterface public struct BattleOption: Equatable, Identifiable, Hashable { public let optionId: Int diff --git a/Projects/Domain/Battle/Interface/Entity/Battle/Recommend/RecommendedBattle.swift b/Projects/Domain/Battle/Interface/Entity/Battle/Recommend/RecommendedBattle.swift index 28c99355..f6e41919 100644 --- a/Projects/Domain/Battle/Interface/Entity/Battle/Recommend/RecommendedBattle.swift +++ b/Projects/Domain/Battle/Interface/Entity/Battle/Recommend/RecommendedBattle.swift @@ -4,7 +4,6 @@ // import Foundation -import CommonDomainInterface public struct RecommendedBattle: Equatable, Identifiable, Hashable { public let battleId: Int diff --git a/Projects/Domain/Common/Interface/Entity/Perspective/BattlePerspective.swift b/Projects/Domain/Battle/Interface/Entity/Perspective/BattlePerspective.swift similarity index 97% rename from Projects/Domain/Common/Interface/Entity/Perspective/BattlePerspective.swift rename to Projects/Domain/Battle/Interface/Entity/Perspective/BattlePerspective.swift index 8712977c..a1012d56 100644 --- a/Projects/Domain/Common/Interface/Entity/Perspective/BattlePerspective.swift +++ b/Projects/Domain/Battle/Interface/Entity/Perspective/BattlePerspective.swift @@ -1,6 +1,6 @@ // // BattlePerspective.swift -// Entity +// BattleDomainInterface // import Foundation diff --git a/Projects/Domain/Common/Interface/Entity/Perspective/BattlePerspectiveOption.swift b/Projects/Domain/Battle/Interface/Entity/Perspective/BattlePerspectiveOption.swift similarity index 94% rename from Projects/Domain/Common/Interface/Entity/Perspective/BattlePerspectiveOption.swift rename to Projects/Domain/Battle/Interface/Entity/Perspective/BattlePerspectiveOption.swift index 0c909c21..45dad80a 100644 --- a/Projects/Domain/Common/Interface/Entity/Perspective/BattlePerspectiveOption.swift +++ b/Projects/Domain/Battle/Interface/Entity/Perspective/BattlePerspectiveOption.swift @@ -1,6 +1,6 @@ // // BattlePerspectiveOption.swift -// Entity +// BattleDomainInterface // import Foundation diff --git a/Projects/Domain/Common/Interface/Entity/Perspective/BattlePerspectivePage.swift b/Projects/Domain/Battle/Interface/Entity/Perspective/BattlePerspectivePage.swift similarity index 93% rename from Projects/Domain/Common/Interface/Entity/Perspective/BattlePerspectivePage.swift rename to Projects/Domain/Battle/Interface/Entity/Perspective/BattlePerspectivePage.swift index 19ccb409..704756a5 100644 --- a/Projects/Domain/Common/Interface/Entity/Perspective/BattlePerspectivePage.swift +++ b/Projects/Domain/Battle/Interface/Entity/Perspective/BattlePerspectivePage.swift @@ -1,6 +1,6 @@ // // BattlePerspectivePage.swift -// Entity +// BattleDomainInterface // import Foundation diff --git a/Projects/Domain/Common/Interface/Entity/Perspective/BattlePerspectiveSort.swift b/Projects/Domain/Battle/Interface/Entity/Perspective/BattlePerspectiveSort.swift similarity index 92% rename from Projects/Domain/Common/Interface/Entity/Perspective/BattlePerspectiveSort.swift rename to Projects/Domain/Battle/Interface/Entity/Perspective/BattlePerspectiveSort.swift index b54f2951..da27e3a6 100644 --- a/Projects/Domain/Common/Interface/Entity/Perspective/BattlePerspectiveSort.swift +++ b/Projects/Domain/Battle/Interface/Entity/Perspective/BattlePerspectiveSort.swift @@ -1,6 +1,6 @@ // // BattlePerspectiveSort.swift -// Entity +// BattleDomainInterface // import Foundation diff --git a/Projects/Domain/Common/Interface/Entity/Perspective/BattlePerspectiveUser.swift b/Projects/Domain/Battle/Interface/Entity/Perspective/BattlePerspectiveUser.swift similarity index 95% rename from Projects/Domain/Common/Interface/Entity/Perspective/BattlePerspectiveUser.swift rename to Projects/Domain/Battle/Interface/Entity/Perspective/BattlePerspectiveUser.swift index cb56a35b..a4863bce 100644 --- a/Projects/Domain/Common/Interface/Entity/Perspective/BattlePerspectiveUser.swift +++ b/Projects/Domain/Battle/Interface/Entity/Perspective/BattlePerspectiveUser.swift @@ -1,6 +1,6 @@ // // BattlePerspectiveUser.swift -// Entity +// BattleDomainInterface // import Foundation diff --git a/Projects/Domain/Battle/Project.swift b/Projects/Domain/Battle/Project.swift index 5daa9658..c32a3b8c 100644 --- a/Projects/Domain/Battle/Project.swift +++ b/Projects/Domain/Battle/Project.swift @@ -9,14 +9,12 @@ let project = Project.configure( bundleId: .appBundleID(name: ".BattleDomain"), settings: .settings(), dependencies: [ - .Domain(.Common, .interface), .SPM.weaveDI, .SPM.composableArchitecture, ], interfaceDependencies: [ .Domain(.Home, .interface), - .Domain(.Common, .interface), .SPM.weaveDI, .SPM.composableArchitecture, diff --git a/Projects/Domain/Battle/Sources/Battle/BattleUseCase.swift b/Projects/Domain/Battle/Sources/Battle/BattleUseCase.swift index 1afa6d42..bbad994e 100644 --- a/Projects/Domain/Battle/Sources/Battle/BattleUseCase.swift +++ b/Projects/Domain/Battle/Sources/Battle/BattleUseCase.swift @@ -6,7 +6,6 @@ import Foundation import BattleDomainInterface -import CommonDomainInterface import HomeDomainInterface import ComposableArchitecture diff --git a/Projects/Domain/Comment/Interface/CommentInterface.swift b/Projects/Domain/Comment/Interface/CommentInterface.swift index 75d9dd62..25466934 100644 --- a/Projects/Domain/Comment/Interface/CommentInterface.swift +++ b/Projects/Domain/Comment/Interface/CommentInterface.swift @@ -3,7 +3,6 @@ // DomainInterface // -import CommonDomainInterface import Dependencies import Foundation import ComposableArchitecture diff --git a/Projects/Domain/Common/Interface/Entity/Error/CommentError.swift b/Projects/Domain/Comment/Interface/Error/CommentError.swift similarity index 97% rename from Projects/Domain/Common/Interface/Entity/Error/CommentError.swift rename to Projects/Domain/Comment/Interface/Error/CommentError.swift index d46c77b2..4b252d16 100644 --- a/Projects/Domain/Common/Interface/Entity/Error/CommentError.swift +++ b/Projects/Domain/Comment/Interface/Error/CommentError.swift @@ -1,6 +1,6 @@ // // CommentError.swift -// Entity +// CommentDomainInterface // import Foundation diff --git a/Projects/Domain/Comment/Interface/Item/CommentItem.swift b/Projects/Domain/Comment/Interface/Item/CommentItem.swift index 0d9e9fac..ddb3c245 100644 --- a/Projects/Domain/Comment/Interface/Item/CommentItem.swift +++ b/Projects/Domain/Comment/Interface/Item/CommentItem.swift @@ -3,7 +3,7 @@ // Entity // -import CommonDomainInterface +import BattleDomainInterface import Foundation public struct CommentItem: Equatable, Identifiable { diff --git a/Projects/Domain/Common/Interface/Entity/Comment/CommentLikeResult.swift b/Projects/Domain/Comment/Interface/Item/CommentLikeResult.swift similarity index 93% rename from Projects/Domain/Common/Interface/Entity/Comment/CommentLikeResult.swift rename to Projects/Domain/Comment/Interface/Item/CommentLikeResult.swift index 902bd085..e251ebea 100644 --- a/Projects/Domain/Common/Interface/Entity/Comment/CommentLikeResult.swift +++ b/Projects/Domain/Comment/Interface/Item/CommentLikeResult.swift @@ -1,6 +1,6 @@ // // CommentLikeResult.swift -// Entity +// CommentDomainInterface // import Foundation diff --git a/Projects/Domain/Comment/Interface/Item/CommentSort.swift b/Projects/Domain/Comment/Interface/Item/CommentSort.swift index cc991f5e..a4f647b5 100644 --- a/Projects/Domain/Comment/Interface/Item/CommentSort.swift +++ b/Projects/Domain/Comment/Interface/Item/CommentSort.swift @@ -3,7 +3,7 @@ // Entity // -import CommonDomainInterface +import BattleDomainInterface import Foundation public enum CommentSort: String, CaseIterable, Equatable { diff --git a/Projects/Domain/Comment/Project.swift b/Projects/Domain/Comment/Project.swift index 3b0f53b3..44a93c07 100644 --- a/Projects/Domain/Comment/Project.swift +++ b/Projects/Domain/Comment/Project.swift @@ -9,12 +9,12 @@ let project = Project.configure( bundleId: .appBundleID(name: ".CommentDomain"), settings: .settings(), dependencies: [ - .Domain(.Common, .interface), + .Domain(.Battle, .interface), .SPM.weaveDI, .SPM.composableArchitecture, ], interfaceDependencies: [ - .Domain(.Common, .interface), + .Domain(.Battle, .interface), .SPM.weaveDI, .SPM.composableArchitecture, ] diff --git a/Projects/Domain/Comment/Sources/CommentUseCase.swift b/Projects/Domain/Comment/Sources/CommentUseCase.swift index 4654d861..74e52a68 100644 --- a/Projects/Domain/Comment/Sources/CommentUseCase.swift +++ b/Projects/Domain/Comment/Sources/CommentUseCase.swift @@ -6,7 +6,6 @@ import Foundation import CommentDomainInterface -import CommonDomainInterface import ComposableArchitecture diff --git a/Projects/Domain/Common/Project.swift b/Projects/Domain/Common/Project.swift deleted file mode 100644 index 7784a52f..00000000 --- a/Projects/Domain/Common/Project.swift +++ /dev/null @@ -1,14 +0,0 @@ -import DependencyPackagePlugin -import DependencyPlugin -import Foundation -import ProjectDescription -import ProjectTemplatePlugin - -let project = Project.configure( - moduleType: .microModule(name: "CommonDomain"), - bundleId: .appBundleID(name: ".CommonDomain"), - product: .staticFramework, - settings: .settings(), - dependencies: [], - interfaceDependencies: [] -) diff --git a/Projects/Domain/Common/Sources/Exported/CommonDomainExported.swift b/Projects/Domain/Common/Sources/Exported/CommonDomainExported.swift deleted file mode 100644 index 00a4c158..00000000 --- a/Projects/Domain/Common/Sources/Exported/CommonDomainExported.swift +++ /dev/null @@ -1,6 +0,0 @@ -// -// CommonDomainExported.swift -// CommonDomain -// - -@_exported import CommonDomainInterface diff --git a/Projects/Domain/Common/Testing/CommonDomainTesting.swift b/Projects/Domain/Common/Testing/CommonDomainTesting.swift deleted file mode 100644 index 7ced7a24..00000000 --- a/Projects/Domain/Common/Testing/CommonDomainTesting.swift +++ /dev/null @@ -1,8 +0,0 @@ -// -// CommonDomainTesting.swift -// CommonDomainTesting -// - -import CommonDomainInterface - -public enum CommonDomainTesting {} diff --git a/Projects/Domain/Common/Tests/CommonDomainTests.swift b/Projects/Domain/Common/Tests/CommonDomainTests.swift deleted file mode 100644 index 990e951f..00000000 --- a/Projects/Domain/Common/Tests/CommonDomainTests.swift +++ /dev/null @@ -1,14 +0,0 @@ -// -// CommonDomainTests.swift -// CommonDomainTests -// - -@testable import CommonDomain -import Testing - -struct CommonDomainTests { - @Test - func commonDomainExample() { - #expect(true) - } -} diff --git a/Projects/Domain/DomainAssembly/Project.swift b/Projects/Domain/DomainAssembly/Project.swift index 1fbb3a8b..99562507 100644 --- a/Projects/Domain/DomainAssembly/Project.swift +++ b/Projects/Domain/DomainAssembly/Project.swift @@ -10,7 +10,6 @@ let project = Project.configure( product: .staticFramework, settings: .settings(), dependencies: [ - .Domain(.Common), .Domain(.AppUpdate), .Domain(.Attendance), .Domain(.Auth), diff --git a/Projects/Domain/DomainAssembly/Sources/Exported/DomainAssemblyExported.swift b/Projects/Domain/DomainAssembly/Sources/Exported/DomainAssemblyExported.swift index 138b44cd..0aba6fc3 100644 --- a/Projects/Domain/DomainAssembly/Sources/Exported/DomainAssemblyExported.swift +++ b/Projects/Domain/DomainAssembly/Sources/Exported/DomainAssemblyExported.swift @@ -15,8 +15,6 @@ @_exported import BattleDomainInterface @_exported import CommentDomain @_exported import CommentDomainInterface -@_exported import CommonDomain -@_exported import CommonDomainInterface @_exported import HomeDomain @_exported import HomeDomainInterface @_exported import NotificationDomain diff --git a/Projects/Domain/Home/Interface/Section/Battle/BestBattle.swift b/Projects/Domain/Home/Interface/Section/Battle/BestBattle.swift index 4bea9f94..48a3122b 100644 --- a/Projects/Domain/Home/Interface/Section/Battle/BestBattle.swift +++ b/Projects/Domain/Home/Interface/Section/Battle/BestBattle.swift @@ -6,7 +6,6 @@ // import Foundation -import CommonDomainInterface /// "Best 배틀" 랭킹 카드 — API 의 bestBattles. public struct BestBattle: Equatable, Identifiable { diff --git a/Projects/Domain/Home/Interface/Section/Battle/HeroBattle.swift b/Projects/Domain/Home/Interface/Section/Battle/HeroBattle.swift index 0dfc0061..bcef747b 100644 --- a/Projects/Domain/Home/Interface/Section/Battle/HeroBattle.swift +++ b/Projects/Domain/Home/Interface/Section/Battle/HeroBattle.swift @@ -6,7 +6,6 @@ // import Foundation -import CommonDomainInterface /// 홈 화면 최상단 "EDITOR PICK" 카드 — API 의 editorPicks. public struct HeroBattle: Equatable, Identifiable { diff --git a/Projects/Domain/Home/Interface/Section/Battle/HotBattle.swift b/Projects/Domain/Home/Interface/Section/Battle/HotBattle.swift index 2bb58373..42c50770 100644 --- a/Projects/Domain/Home/Interface/Section/Battle/HotBattle.swift +++ b/Projects/Domain/Home/Interface/Section/Battle/HotBattle.swift @@ -6,7 +6,6 @@ // import Foundation -import CommonDomainInterface /// "지금 뜨는 배틀" 가로 스크롤 카드 — API 의 trendingBattles. public struct HotBattle: Equatable, Identifiable { diff --git a/Projects/Domain/Home/Interface/Section/Battle/NewBattle.swift b/Projects/Domain/Home/Interface/Section/Battle/NewBattle.swift index aa76a8f1..0830e3d1 100644 --- a/Projects/Domain/Home/Interface/Section/Battle/NewBattle.swift +++ b/Projects/Domain/Home/Interface/Section/Battle/NewBattle.swift @@ -6,7 +6,6 @@ // import Foundation -import CommonDomainInterface /// "새로운 배틀" 리스트 아이템 — API 의 newBattles. public struct NewBattle: Equatable, Identifiable { diff --git a/Projects/Domain/Common/Interface/Entity/Battle/BattleTag.swift b/Projects/Domain/Home/Interface/Tag/BattleTag.swift similarity index 95% rename from Projects/Domain/Common/Interface/Entity/Battle/BattleTag.swift rename to Projects/Domain/Home/Interface/Tag/BattleTag.swift index 76ca9704..73dbd356 100644 --- a/Projects/Domain/Common/Interface/Entity/Battle/BattleTag.swift +++ b/Projects/Domain/Home/Interface/Tag/BattleTag.swift @@ -1,6 +1,6 @@ // // BattleTag.swift -// CommonDomain +// HomeDomainInterface // // Created by Wonji Suh on 5/16/26. // diff --git a/Projects/Domain/Common/Interface/Entity/Battle/TagType.swift b/Projects/Domain/Home/Interface/Tag/TagType.swift similarity index 96% rename from Projects/Domain/Common/Interface/Entity/Battle/TagType.swift rename to Projects/Domain/Home/Interface/Tag/TagType.swift index e1f8bf46..e0c79b3a 100644 --- a/Projects/Domain/Common/Interface/Entity/Battle/TagType.swift +++ b/Projects/Domain/Home/Interface/Tag/TagType.swift @@ -1,6 +1,6 @@ // // TagType.swift -// CommonDomain +// HomeDomainInterface // import Foundation diff --git a/Projects/Domain/Home/Project.swift b/Projects/Domain/Home/Project.swift index ba759a38..2bbc6f64 100644 --- a/Projects/Domain/Home/Project.swift +++ b/Projects/Domain/Home/Project.swift @@ -9,12 +9,10 @@ let project = Project.configure( bundleId: .appBundleID(name: ".HomeDomain"), settings: .settings(), dependencies: [ - .Domain(.Common, .interface), .SPM.weaveDI, .SPM.composableArchitecture, ], interfaceDependencies: [ - .Domain(.Common, .interface), .SPM.weaveDI, .SPM.composableArchitecture, ] diff --git a/Projects/Domain/Perspective/Interface/MockPerspectiveRepository.swift b/Projects/Domain/Perspective/Interface/MockPerspectiveRepository.swift index 793e15fa..28712b59 100644 --- a/Projects/Domain/Perspective/Interface/MockPerspectiveRepository.swift +++ b/Projects/Domain/Perspective/Interface/MockPerspectiveRepository.swift @@ -5,8 +5,8 @@ // Created by Wonji Suh on 6/3/26. // +import BattleDomainInterface import CommentDomainInterface -import CommonDomainInterface import Foundation public struct MockPerspectiveRepository: PerspectiveInterface { diff --git a/Projects/Domain/Perspective/Interface/PerspectiveInterface.swift b/Projects/Domain/Perspective/Interface/PerspectiveInterface.swift index 15622754..1415b56d 100644 --- a/Projects/Domain/Perspective/Interface/PerspectiveInterface.swift +++ b/Projects/Domain/Perspective/Interface/PerspectiveInterface.swift @@ -4,7 +4,7 @@ // import CommentDomainInterface -import CommonDomainInterface +import BattleDomainInterface import Dependencies import Foundation import ComposableArchitecture diff --git a/Projects/Domain/Perspective/Project.swift b/Projects/Domain/Perspective/Project.swift index bcee21a3..71aa1ac5 100644 --- a/Projects/Domain/Perspective/Project.swift +++ b/Projects/Domain/Perspective/Project.swift @@ -9,13 +9,13 @@ let project = Project.configure( bundleId: .appBundleID(name: ".PerspectiveDomain"), settings: .settings(), dependencies: [ - .Domain(.Common, .interface), + .Domain(.Battle, .interface), .Domain(.Comment, .interface), .SPM.weaveDI, .SPM.composableArchitecture, ], interfaceDependencies: [ - .Domain(.Common, .interface), + .Domain(.Battle, .interface), .Domain(.Comment, .interface), .SPM.weaveDI, .SPM.composableArchitecture, diff --git a/Projects/Domain/Perspective/Sources/PerspectiveUseCase.swift b/Projects/Domain/Perspective/Sources/PerspectiveUseCase.swift index 1d065244..fa627ae3 100644 --- a/Projects/Domain/Perspective/Sources/PerspectiveUseCase.swift +++ b/Projects/Domain/Perspective/Sources/PerspectiveUseCase.swift @@ -5,8 +5,8 @@ import Foundation +import BattleDomainInterface import CommentDomainInterface -import CommonDomainInterface import PerspectiveDomainInterface import ComposableArchitecture diff --git a/Projects/Feature/Battle/Project.swift b/Projects/Feature/Battle/Project.swift index 5ba16359..4dcf94c8 100644 --- a/Projects/Feature/Battle/Project.swift +++ b/Projects/Feature/Battle/Project.swift @@ -9,7 +9,6 @@ let project = Project.configure( bundleId: .appBundleID(name: ".Battle"), settings: .settings(), dependencies: [ - .Domain(.Common, .interface), .DesignSystem, .Core(.PickeFoundation), .Service(.Analytics, .interface), diff --git a/Projects/Feature/Battle/Sources/Main/Reducer/BattleFeature.swift b/Projects/Feature/Battle/Sources/Main/Reducer/BattleFeature.swift index 4a97f3f2..bde1fde4 100644 --- a/Projects/Feature/Battle/Sources/Main/Reducer/BattleFeature.swift +++ b/Projects/Feature/Battle/Sources/Main/Reducer/BattleFeature.swift @@ -9,7 +9,7 @@ import ComposableArchitecture import BattleDomainInterface import LogMacro import AnalyticsServiceInterface -import CommonDomainInterface +import PickeFoundation @Reducer public struct BattleFeature { diff --git a/Projects/Feature/Chat/Project.swift b/Projects/Feature/Chat/Project.swift index a2f2c757..d356a27b 100644 --- a/Projects/Feature/Chat/Project.swift +++ b/Projects/Feature/Chat/Project.swift @@ -14,7 +14,6 @@ let project = Project.configure( .DesignSystem, .Core(.PickeFoundation), .Service(.Analytics, .interface), - .Domain(.Common, .interface), .Domain(.Battle, .interface), .Domain(.Home, .interface), .Network(implements: .NetworkModule), diff --git a/Projects/Feature/Chat/Sources/Comment/Reducer/CommentFeature.swift b/Projects/Feature/Chat/Sources/Comment/Reducer/CommentFeature.swift index 94c3caa5..9e4ccbaa 100644 --- a/Projects/Feature/Chat/Sources/Comment/Reducer/CommentFeature.swift +++ b/Projects/Feature/Chat/Sources/Comment/Reducer/CommentFeature.swift @@ -7,7 +7,6 @@ import Foundation import BattleDomainInterface import CommentDomainInterface -import CommonDomainInterface import ComposableArchitecture import LogMacro import PerspectiveDomainInterface diff --git a/Projects/Feature/Chat/Sources/CommentReply/Reducer/CommentReplyFeature.swift b/Projects/Feature/Chat/Sources/CommentReply/Reducer/CommentReplyFeature.swift index 972c9c88..066cfeb7 100644 --- a/Projects/Feature/Chat/Sources/CommentReply/Reducer/CommentReplyFeature.swift +++ b/Projects/Feature/Chat/Sources/CommentReply/Reducer/CommentReplyFeature.swift @@ -8,7 +8,7 @@ import Foundation import CommentDomainInterface -import CommonDomainInterface +import BattleDomainInterface import ComposableArchitecture import LogMacro import PerspectiveDomainInterface diff --git a/Projects/Feature/Chat/Sources/Vote/Reducer/PreVoteFeature.swift b/Projects/Feature/Chat/Sources/Vote/Reducer/PreVoteFeature.swift index bcf869af..485db9d3 100644 --- a/Projects/Feature/Chat/Sources/Vote/Reducer/PreVoteFeature.swift +++ b/Projects/Feature/Chat/Sources/Vote/Reducer/PreVoteFeature.swift @@ -11,11 +11,11 @@ import UIKit import AnalyticsServiceInterface import BattleDomainInterface -import CommonDomainInterface import ComposableArchitecture import LogMacro import PerspectiveDomainInterface import PickeDesignKit +import PickeFoundation @Reducer public struct PreVoteFeature { diff --git a/Projects/Feature/Notification/Project.swift b/Projects/Feature/Notification/Project.swift index 38f909d4..9e021c72 100644 --- a/Projects/Feature/Notification/Project.swift +++ b/Projects/Feature/Notification/Project.swift @@ -9,7 +9,6 @@ let project = Project.configure( bundleId: .appBundleID(name: ".Notification"), settings: .settings(), dependencies: [ - .Domain(.Common, .interface), .DesignSystem, .Core(.PickeFoundation), .Service(.Analytics, .interface), diff --git a/Projects/Feature/Notification/Sources/Main/Reducer/NotificationFeature.swift b/Projects/Feature/Notification/Sources/Main/Reducer/NotificationFeature.swift index bda32f6d..65ac1fba 100644 --- a/Projects/Feature/Notification/Sources/Main/Reducer/NotificationFeature.swift +++ b/Projects/Feature/Notification/Sources/Main/Reducer/NotificationFeature.swift @@ -10,7 +10,7 @@ import LogMacro import NotificationDomainInterface import PickeCore import AnalyticsServiceInterface -import CommonDomainInterface +import PickeFoundation @Reducer public struct NotificationFeature { diff --git a/Projects/Feature/Profile/Project.swift b/Projects/Feature/Profile/Project.swift index c769e7c5..54df671e 100644 --- a/Projects/Feature/Profile/Project.swift +++ b/Projects/Feature/Profile/Project.swift @@ -10,7 +10,6 @@ let project = Project.configure( product: .staticFramework, settings: .settings(), dependencies: [ - .Domain(.Common, .interface), .DesignSystem, .Core(.PickeFoundation), .Core(.PickeStorage, .interface), diff --git a/Projects/Feature/Profile/Sources/Recap/Reducer/RecapFeature.swift b/Projects/Feature/Profile/Sources/Recap/Reducer/RecapFeature.swift index 8a189dd1..ad35e459 100644 --- a/Projects/Feature/Profile/Sources/Recap/Reducer/RecapFeature.swift +++ b/Projects/Feature/Profile/Sources/Recap/Reducer/RecapFeature.swift @@ -10,7 +10,7 @@ import UIKit import ComposableArchitecture import LogMacro import AnalyticsServiceInterface -import CommonDomainInterface +import PickeFoundation @Reducer public struct RecapFeature { From 1116660687563edb5dd2e8ddc68a71bcfabbd1f4 Mon Sep 17 00:00:00 2001 From: Roy Date: Sun, 6 Sep 2026 20:48:03 +0900 Subject: [PATCH 25/83] =?UTF-8?q?refactor(core):=20PickeFoundation=20?= =?UTF-8?q?=EC=9D=84=20PickeCoreUtility=20=EB=A1=9C=20=EC=9D=B4=EB=A6=84?= =?UTF-8?q?=EC=9D=84=20=EB=B0=94=EA=BE=BC=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit DDD 참조 프로젝트의 Core 레이어 명명(DDDCoreUtility)에 맞춘다. "Foundation" 은 애플 프레임워크와 이름이 겹쳐 모듈 성격이 드러나지 않는다. 표준 타입 확장·딥링크·공유 같은 순수 유틸만 담는다는 뜻이 이름에 드러나도록 CoreUtility 로 바꿨다. - 디렉터리와 테스트 타깃 이름 변경 (PickeFoundationTests → PickeCoreUtilityTests) - CoreFeatureModule 카탈로그, CoreAssembly 매니페스트·재노출, PickeCore 의존성 갱신 - import 문 32개 파일 일괄 치환 검증: tuist generate 성공. 빌드 검증은 아직 하지 않았다. --- .../TargetDependency+Module/FeatureModule.swift | 4 ++-- Projects/Core/CoreAssembly/Project.swift | 2 +- .../CoreAssembly/Sources/Exported/CoreAssemblyExported.swift | 2 +- Projects/Core/PickeCore/Project.swift | 2 +- .../PickeCoreUtilityTests}/Sources/Test.swift | 0 .../Core/{PickeFoundation => PickeCoreUtility}/Project.swift | 4 ++-- .../Sources/Deeplink/PickeDeeplink.swift | 2 +- .../Sources/Extension/Date+.swift | 2 +- .../Sources/Extension/Int+.swift | 2 +- .../Sources/Extension/String+.swift | 2 +- .../Sources/Extension/UUID+.swift | 2 +- .../Sources/Share/ShareContent.swift | 2 +- .../Sources/Share/ShareItem.swift | 2 +- Projects/Feature/Battle/Project.swift | 2 +- Projects/Feature/Battle/Sources/Main/Model/DailyBattle.swift | 2 +- .../Feature/Battle/Sources/Main/Reducer/BattleFeature.swift | 2 +- Projects/Feature/Chat/Project.swift | 2 +- .../Chat/Sources/ChatRoom/Reducer/ChatRoomFeature.swift | 2 +- Projects/Feature/Chat/Sources/Comment/View/CommentView.swift | 2 +- .../Chat/Sources/CommentReply/View/CommentReplyView.swift | 2 +- .../Feature/Chat/Sources/Curation/View/CurationView.swift | 2 +- .../Feature/Chat/Sources/Vote/Reducer/PreVoteFeature.swift | 2 +- Projects/Feature/Hifi/Project.swift | 2 +- Projects/Feature/Hifi/Sources/View/HifiView.swift | 2 +- Projects/Feature/Notification/Project.swift | 2 +- .../Sources/Main/Reducer/NotificationFeature.swift | 2 +- .../Notification/Sources/Main/View/NotificationView.swift | 2 +- Projects/Feature/Profile/Project.swift | 2 +- .../Profile/Sources/BattleRecord/View/BattleRecordView.swift | 2 +- .../Sources/ContentActivity/View/ContentActivityView.swift | 2 +- Projects/Feature/Profile/Sources/Notice/View/NoticeView.swift | 2 +- .../Profile/Sources/PointHistory/View/PointHistoryView.swift | 2 +- .../Feature/Profile/Sources/Recap/Reducer/RecapFeature.swift | 2 +- 33 files changed, 34 insertions(+), 34 deletions(-) rename Projects/Core/{PickeFoundation/PickeFoundationTests => PickeCoreUtility/PickeCoreUtilityTests}/Sources/Test.swift (100%) rename Projects/Core/{PickeFoundation => PickeCoreUtility}/Project.swift (73%) rename Projects/Core/{PickeFoundation => PickeCoreUtility}/Sources/Deeplink/PickeDeeplink.swift (99%) rename Projects/Core/{PickeFoundation => PickeCoreUtility}/Sources/Extension/Date+.swift (98%) rename Projects/Core/{PickeFoundation => PickeCoreUtility}/Sources/Extension/Int+.swift (97%) rename Projects/Core/{PickeFoundation => PickeCoreUtility}/Sources/Extension/String+.swift (97%) rename Projects/Core/{PickeFoundation => PickeCoreUtility}/Sources/Extension/UUID+.swift (95%) rename Projects/Core/{PickeFoundation => PickeCoreUtility}/Sources/Share/ShareContent.swift (98%) rename Projects/Core/{PickeFoundation => PickeCoreUtility}/Sources/Share/ShareItem.swift (94%) diff --git a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/FeatureModule.swift b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/FeatureModule.swift index 19bc1351..2ecab211 100644 --- a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/FeatureModule.swift +++ b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/FeatureModule.swift @@ -35,7 +35,7 @@ public enum CoreFeatureModule: String, CaseIterable { /// 하위 Core 모듈과 공용 외부 라이브러리를 한 번에 노출하는 우산. case PickeCore /// 표준 타입 확장 등 순수 유틸. - case PickeFoundation + case PickeCoreUtility /// 키체인 등 로컬 보관소. case PickeStorage } @@ -120,7 +120,7 @@ public extension TargetDependency { .project(target: "\(module.rawValue)Data", path: .DataFeature(module)) } - /// 최하위 기반 모듈. 단일 타깃 모듈(PickeCore/PickeFoundation)은 kind 를 생략하고, + /// 최하위 기반 모듈. 단일 타깃 모듈(PickeCore/PickeCoreUtility)은 kind 를 생략하고, /// 계약을 가르는 모듈(PickeStorage)만 `.interface` 를 지정한다. static func Core(_ module: CoreFeatureModule, _ kind: FeatureTargetKind? = nil) -> Self { let suffix = switch kind { diff --git a/Projects/Core/CoreAssembly/Project.swift b/Projects/Core/CoreAssembly/Project.swift index 3b47f55f..9c6968a8 100644 --- a/Projects/Core/CoreAssembly/Project.swift +++ b/Projects/Core/CoreAssembly/Project.swift @@ -12,7 +12,7 @@ let project = Project.configure( // 최하위 기반 모듈의 구현을 한곳에서 묶는 조립 경계. dependencies: [ .Core(.PickeCore), - .Core(.PickeFoundation), + .Core(.PickeCoreUtility), .Core(.PickeStorage, .implementation), ], sources: ["Sources/**"], diff --git a/Projects/Core/CoreAssembly/Sources/Exported/CoreAssemblyExported.swift b/Projects/Core/CoreAssembly/Sources/Exported/CoreAssemblyExported.swift index 0258f7a0..952a6abb 100644 --- a/Projects/Core/CoreAssembly/Sources/Exported/CoreAssemblyExported.swift +++ b/Projects/Core/CoreAssembly/Sources/Exported/CoreAssemblyExported.swift @@ -6,5 +6,5 @@ // MARK: - Core 레이어 한번에 노출 @_exported import PickeCore -@_exported import PickeFoundation +@_exported import PickeCoreUtility @_exported import PickeStorage diff --git a/Projects/Core/PickeCore/Project.swift b/Projects/Core/PickeCore/Project.swift index 9dc339c8..3f80d608 100644 --- a/Projects/Core/PickeCore/Project.swift +++ b/Projects/Core/PickeCore/Project.swift @@ -10,7 +10,7 @@ let project = Project.configure( product: .framework, settings: .settings(), dependencies: [ - .Core(.PickeFoundation), + .Core(.PickeCoreUtility), .DesignSystem, .SPM.composableArchitecture, .SPM.tcaFlow, diff --git a/Projects/Core/PickeFoundation/PickeFoundationTests/Sources/Test.swift b/Projects/Core/PickeCoreUtility/PickeCoreUtilityTests/Sources/Test.swift similarity index 100% rename from Projects/Core/PickeFoundation/PickeFoundationTests/Sources/Test.swift rename to Projects/Core/PickeCoreUtility/PickeCoreUtilityTests/Sources/Test.swift diff --git a/Projects/Core/PickeFoundation/Project.swift b/Projects/Core/PickeCoreUtility/Project.swift similarity index 73% rename from Projects/Core/PickeFoundation/Project.swift rename to Projects/Core/PickeCoreUtility/Project.swift index bbbc0aec..38f74516 100644 --- a/Projects/Core/PickeFoundation/Project.swift +++ b/Projects/Core/PickeCoreUtility/Project.swift @@ -5,8 +5,8 @@ import ProjectDescription import ProjectTemplatePlugin let project = Project.configure( - moduleType: .module(name: "PickeFoundation"), - bundleId: .appBundleID(name: ".PickeFoundation"), + moduleType: .module(name: "PickeCoreUtility"), + bundleId: .appBundleID(name: ".PickeCoreUtility"), product: .staticFramework, settings: .settings(), dependencies: [ diff --git a/Projects/Core/PickeFoundation/Sources/Deeplink/PickeDeeplink.swift b/Projects/Core/PickeCoreUtility/Sources/Deeplink/PickeDeeplink.swift similarity index 99% rename from Projects/Core/PickeFoundation/Sources/Deeplink/PickeDeeplink.swift rename to Projects/Core/PickeCoreUtility/Sources/Deeplink/PickeDeeplink.swift index fe2b5789..5a63c452 100644 --- a/Projects/Core/PickeFoundation/Sources/Deeplink/PickeDeeplink.swift +++ b/Projects/Core/PickeCoreUtility/Sources/Deeplink/PickeDeeplink.swift @@ -1,6 +1,6 @@ // // PickeDeeplink.swift -// PickeFoundation +// PickeCoreUtility // import Foundation diff --git a/Projects/Core/PickeFoundation/Sources/Extension/Date+.swift b/Projects/Core/PickeCoreUtility/Sources/Extension/Date+.swift similarity index 98% rename from Projects/Core/PickeFoundation/Sources/Extension/Date+.swift rename to Projects/Core/PickeCoreUtility/Sources/Extension/Date+.swift index 2ca5a602..8e98db13 100644 --- a/Projects/Core/PickeFoundation/Sources/Extension/Date+.swift +++ b/Projects/Core/PickeCoreUtility/Sources/Extension/Date+.swift @@ -1,6 +1,6 @@ // // Date+.swift -// PickeFoundation +// PickeCoreUtility // import Foundation diff --git a/Projects/Core/PickeFoundation/Sources/Extension/Int+.swift b/Projects/Core/PickeCoreUtility/Sources/Extension/Int+.swift similarity index 97% rename from Projects/Core/PickeFoundation/Sources/Extension/Int+.swift rename to Projects/Core/PickeCoreUtility/Sources/Extension/Int+.swift index 02127eb7..54f1500b 100644 --- a/Projects/Core/PickeFoundation/Sources/Extension/Int+.swift +++ b/Projects/Core/PickeCoreUtility/Sources/Extension/Int+.swift @@ -1,6 +1,6 @@ // // Int+DecimalFormat.swift -// PickeFoundation +// PickeCoreUtility // import Foundation diff --git a/Projects/Core/PickeFoundation/Sources/Extension/String+.swift b/Projects/Core/PickeCoreUtility/Sources/Extension/String+.swift similarity index 97% rename from Projects/Core/PickeFoundation/Sources/Extension/String+.swift rename to Projects/Core/PickeCoreUtility/Sources/Extension/String+.swift index b2aa2015..8ed0a143 100644 --- a/Projects/Core/PickeFoundation/Sources/Extension/String+.swift +++ b/Projects/Core/PickeCoreUtility/Sources/Extension/String+.swift @@ -1,6 +1,6 @@ // // String+Sentence.swift -// PickeFoundation +// PickeCoreUtility // import Foundation diff --git a/Projects/Core/PickeFoundation/Sources/Extension/UUID+.swift b/Projects/Core/PickeCoreUtility/Sources/Extension/UUID+.swift similarity index 95% rename from Projects/Core/PickeFoundation/Sources/Extension/UUID+.swift rename to Projects/Core/PickeCoreUtility/Sources/Extension/UUID+.swift index e266d6ca..1124b2a1 100644 --- a/Projects/Core/PickeFoundation/Sources/Extension/UUID+.swift +++ b/Projects/Core/PickeCoreUtility/Sources/Extension/UUID+.swift @@ -1,6 +1,6 @@ // // UUID+Deterministic.swift -// PickeFoundation +// PickeCoreUtility // import Foundation diff --git a/Projects/Core/PickeFoundation/Sources/Share/ShareContent.swift b/Projects/Core/PickeCoreUtility/Sources/Share/ShareContent.swift similarity index 98% rename from Projects/Core/PickeFoundation/Sources/Share/ShareContent.swift rename to Projects/Core/PickeCoreUtility/Sources/Share/ShareContent.swift index dc134cb5..798de956 100644 --- a/Projects/Core/PickeFoundation/Sources/Share/ShareContent.swift +++ b/Projects/Core/PickeCoreUtility/Sources/Share/ShareContent.swift @@ -1,6 +1,6 @@ // // ShareContent.swift -// PickeFoundation +// PickeCoreUtility // import Foundation diff --git a/Projects/Core/PickeFoundation/Sources/Share/ShareItem.swift b/Projects/Core/PickeCoreUtility/Sources/Share/ShareItem.swift similarity index 94% rename from Projects/Core/PickeFoundation/Sources/Share/ShareItem.swift rename to Projects/Core/PickeCoreUtility/Sources/Share/ShareItem.swift index a4523807..9c5d550c 100644 --- a/Projects/Core/PickeFoundation/Sources/Share/ShareItem.swift +++ b/Projects/Core/PickeCoreUtility/Sources/Share/ShareItem.swift @@ -1,6 +1,6 @@ // // ShareItem.swift -// PickeFoundation +// PickeCoreUtility // import Foundation diff --git a/Projects/Feature/Battle/Project.swift b/Projects/Feature/Battle/Project.swift index 4dcf94c8..e7bb70f4 100644 --- a/Projects/Feature/Battle/Project.swift +++ b/Projects/Feature/Battle/Project.swift @@ -10,7 +10,7 @@ let project = Project.configure( settings: .settings(), dependencies: [ .DesignSystem, - .Core(.PickeFoundation), + .Core(.PickeCoreUtility), .Service(.Analytics, .interface), .Core(.PickeCore), .Domain(.Battle, .interface), diff --git a/Projects/Feature/Battle/Sources/Main/Model/DailyBattle.swift b/Projects/Feature/Battle/Sources/Main/Model/DailyBattle.swift index fbe26b82..48cfb06e 100644 --- a/Projects/Feature/Battle/Sources/Main/Model/DailyBattle.swift +++ b/Projects/Feature/Battle/Sources/Main/Model/DailyBattle.swift @@ -6,7 +6,7 @@ import Foundation import BattleDomainInterface -import PickeFoundation +import PickeCoreUtility public struct DailyBattle: Equatable, Identifiable { public var battleId: Int diff --git a/Projects/Feature/Battle/Sources/Main/Reducer/BattleFeature.swift b/Projects/Feature/Battle/Sources/Main/Reducer/BattleFeature.swift index bde1fde4..57452a60 100644 --- a/Projects/Feature/Battle/Sources/Main/Reducer/BattleFeature.swift +++ b/Projects/Feature/Battle/Sources/Main/Reducer/BattleFeature.swift @@ -9,7 +9,7 @@ import ComposableArchitecture import BattleDomainInterface import LogMacro import AnalyticsServiceInterface -import PickeFoundation +import PickeCoreUtility @Reducer public struct BattleFeature { diff --git a/Projects/Feature/Chat/Project.swift b/Projects/Feature/Chat/Project.swift index d356a27b..d7e0d9b4 100644 --- a/Projects/Feature/Chat/Project.swift +++ b/Projects/Feature/Chat/Project.swift @@ -12,7 +12,7 @@ let project = Project.configure( .Service(.AudioPlayer, .interface), .Domain(.Perspective, .interface), .DesignSystem, - .Core(.PickeFoundation), + .Core(.PickeCoreUtility), .Service(.Analytics, .interface), .Domain(.Battle, .interface), .Domain(.Home, .interface), diff --git a/Projects/Feature/Chat/Sources/ChatRoom/Reducer/ChatRoomFeature.swift b/Projects/Feature/Chat/Sources/ChatRoom/Reducer/ChatRoomFeature.swift index 1e653b0a..c31c801c 100644 --- a/Projects/Feature/Chat/Sources/ChatRoom/Reducer/ChatRoomFeature.swift +++ b/Projects/Feature/Chat/Sources/ChatRoom/Reducer/ChatRoomFeature.swift @@ -13,7 +13,7 @@ import ComposableArchitecture import HomeDomainInterface import LogMacro import PickeDesignKit -import PickeFoundation +import PickeCoreUtility import AnalyticsServiceInterface import AudioPlayerServiceInterface diff --git a/Projects/Feature/Chat/Sources/Comment/View/CommentView.swift b/Projects/Feature/Chat/Sources/Comment/View/CommentView.swift index fb0c4509..d750ed80 100644 --- a/Projects/Feature/Chat/Sources/Comment/View/CommentView.swift +++ b/Projects/Feature/Chat/Sources/Comment/View/CommentView.swift @@ -8,7 +8,7 @@ import SwiftUI import CommentDomainInterface import ComposableArchitecture import PickeDesignKit -import PickeFoundation +import PickeCoreUtility @ViewAction(for: CommentFeature.self) public struct CommentView: View { diff --git a/Projects/Feature/Chat/Sources/CommentReply/View/CommentReplyView.swift b/Projects/Feature/Chat/Sources/CommentReply/View/CommentReplyView.swift index 6a99c16e..4b1b369b 100644 --- a/Projects/Feature/Chat/Sources/CommentReply/View/CommentReplyView.swift +++ b/Projects/Feature/Chat/Sources/CommentReply/View/CommentReplyView.swift @@ -8,7 +8,7 @@ import SwiftUI import CommentDomainInterface import ComposableArchitecture import PickeDesignKit -import PickeFoundation +import PickeCoreUtility @ViewAction(for: CommentReplyFeature.self) public struct CommentReplyView: View { diff --git a/Projects/Feature/Chat/Sources/Curation/View/CurationView.swift b/Projects/Feature/Chat/Sources/Curation/View/CurationView.swift index 845c7ded..48c8faa6 100644 --- a/Projects/Feature/Chat/Sources/Curation/View/CurationView.swift +++ b/Projects/Feature/Chat/Sources/Curation/View/CurationView.swift @@ -8,7 +8,7 @@ import SwiftUI import BattleDomainInterface import ComposableArchitecture import PickeDesignKit -import PickeFoundation +import PickeCoreUtility import AdService @ViewAction(for: CurationFeature.self) diff --git a/Projects/Feature/Chat/Sources/Vote/Reducer/PreVoteFeature.swift b/Projects/Feature/Chat/Sources/Vote/Reducer/PreVoteFeature.swift index 485db9d3..26f8be48 100644 --- a/Projects/Feature/Chat/Sources/Vote/Reducer/PreVoteFeature.swift +++ b/Projects/Feature/Chat/Sources/Vote/Reducer/PreVoteFeature.swift @@ -15,7 +15,7 @@ import ComposableArchitecture import LogMacro import PerspectiveDomainInterface import PickeDesignKit -import PickeFoundation +import PickeCoreUtility @Reducer public struct PreVoteFeature { diff --git a/Projects/Feature/Hifi/Project.swift b/Projects/Feature/Hifi/Project.swift index 80a1e9d2..280e9795 100644 --- a/Projects/Feature/Hifi/Project.swift +++ b/Projects/Feature/Hifi/Project.swift @@ -12,7 +12,7 @@ let project = Project.configure( dependencies: [ .Domain(.Battle, .interface), .DesignSystem, - .Core(.PickeFoundation), + .Core(.PickeCoreUtility), .Service(.Analytics, .interface), .Core(.PickeCore), // 탐색 리스트 인라인 배너 광고 — 광고를 노출하는 화면만 명시적으로 의존한다. diff --git a/Projects/Feature/Hifi/Sources/View/HifiView.swift b/Projects/Feature/Hifi/Sources/View/HifiView.swift index 7203b354..ef95a6dd 100644 --- a/Projects/Feature/Hifi/Sources/View/HifiView.swift +++ b/Projects/Feature/Hifi/Sources/View/HifiView.swift @@ -9,7 +9,7 @@ import ComposableArchitecture import HomeDomainInterface import Kingfisher import PickeDesignKit -import PickeFoundation +import PickeCoreUtility import AdService @ViewAction(for: HifiFeature.self) diff --git a/Projects/Feature/Notification/Project.swift b/Projects/Feature/Notification/Project.swift index 9e021c72..731973ea 100644 --- a/Projects/Feature/Notification/Project.swift +++ b/Projects/Feature/Notification/Project.swift @@ -10,7 +10,7 @@ let project = Project.configure( settings: .settings(), dependencies: [ .DesignSystem, - .Core(.PickeFoundation), + .Core(.PickeCoreUtility), .Service(.Analytics, .interface), .Domain(.Notification, .interface), diff --git a/Projects/Feature/Notification/Sources/Main/Reducer/NotificationFeature.swift b/Projects/Feature/Notification/Sources/Main/Reducer/NotificationFeature.swift index 65ac1fba..66d7dd41 100644 --- a/Projects/Feature/Notification/Sources/Main/Reducer/NotificationFeature.swift +++ b/Projects/Feature/Notification/Sources/Main/Reducer/NotificationFeature.swift @@ -10,7 +10,7 @@ import LogMacro import NotificationDomainInterface import PickeCore import AnalyticsServiceInterface -import PickeFoundation +import PickeCoreUtility @Reducer public struct NotificationFeature { diff --git a/Projects/Feature/Notification/Sources/Main/View/NotificationView.swift b/Projects/Feature/Notification/Sources/Main/View/NotificationView.swift index 13690467..f33ebc3e 100644 --- a/Projects/Feature/Notification/Sources/Main/View/NotificationView.swift +++ b/Projects/Feature/Notification/Sources/Main/View/NotificationView.swift @@ -8,7 +8,7 @@ import SwiftUI import ComposableArchitecture import NotificationDomainInterface import PickeDesignKit -import PickeFoundation +import PickeCoreUtility @ViewAction(for: NotificationFeature.self) public struct NotificationView: View { diff --git a/Projects/Feature/Profile/Project.swift b/Projects/Feature/Profile/Project.swift index 54df671e..372cda81 100644 --- a/Projects/Feature/Profile/Project.swift +++ b/Projects/Feature/Profile/Project.swift @@ -11,7 +11,7 @@ let project = Project.configure( settings: .settings(), dependencies: [ .DesignSystem, - .Core(.PickeFoundation), + .Core(.PickeCoreUtility), .Core(.PickeStorage, .interface), .Service(.Device, .interface), .Service(.Analytics, .interface), diff --git a/Projects/Feature/Profile/Sources/BattleRecord/View/BattleRecordView.swift b/Projects/Feature/Profile/Sources/BattleRecord/View/BattleRecordView.swift index d5a7c918..3cf93937 100644 --- a/Projects/Feature/Profile/Sources/BattleRecord/View/BattleRecordView.swift +++ b/Projects/Feature/Profile/Sources/BattleRecord/View/BattleRecordView.swift @@ -7,7 +7,7 @@ import SwiftUI import ComposableArchitecture import PickeDesignKit -import PickeFoundation +import PickeCoreUtility import ProfileDomainInterface @ViewAction(for: BattleRecordFeature.self) diff --git a/Projects/Feature/Profile/Sources/ContentActivity/View/ContentActivityView.swift b/Projects/Feature/Profile/Sources/ContentActivity/View/ContentActivityView.swift index b0f4d6ef..c005c10e 100644 --- a/Projects/Feature/Profile/Sources/ContentActivity/View/ContentActivityView.swift +++ b/Projects/Feature/Profile/Sources/ContentActivity/View/ContentActivityView.swift @@ -8,7 +8,7 @@ import SwiftUI import ComposableArchitecture import Kingfisher import PickeDesignKit -import PickeFoundation +import PickeCoreUtility import ProfileDomainInterface @ViewAction(for: ContentActivityFeature.self) diff --git a/Projects/Feature/Profile/Sources/Notice/View/NoticeView.swift b/Projects/Feature/Profile/Sources/Notice/View/NoticeView.swift index 378e078f..561727a8 100644 --- a/Projects/Feature/Profile/Sources/Notice/View/NoticeView.swift +++ b/Projects/Feature/Profile/Sources/Notice/View/NoticeView.swift @@ -8,7 +8,7 @@ import SwiftUI import ComposableArchitecture import NotificationDomainInterface import PickeDesignKit -import PickeFoundation +import PickeCoreUtility import ProfileDomainInterface @ViewAction(for: NoticeFeature.self) diff --git a/Projects/Feature/Profile/Sources/PointHistory/View/PointHistoryView.swift b/Projects/Feature/Profile/Sources/PointHistory/View/PointHistoryView.swift index df5e1bfa..b033c5a1 100644 --- a/Projects/Feature/Profile/Sources/PointHistory/View/PointHistoryView.swift +++ b/Projects/Feature/Profile/Sources/PointHistory/View/PointHistoryView.swift @@ -7,7 +7,7 @@ import SwiftUI import ComposableArchitecture import PickeDesignKit -import PickeFoundation +import PickeCoreUtility import ProfileDomainInterface @ViewAction(for: PointHistoryFeature.self) diff --git a/Projects/Feature/Profile/Sources/Recap/Reducer/RecapFeature.swift b/Projects/Feature/Profile/Sources/Recap/Reducer/RecapFeature.swift index ad35e459..b3a30402 100644 --- a/Projects/Feature/Profile/Sources/Recap/Reducer/RecapFeature.swift +++ b/Projects/Feature/Profile/Sources/Recap/Reducer/RecapFeature.swift @@ -10,7 +10,7 @@ import UIKit import ComposableArchitecture import LogMacro import AnalyticsServiceInterface -import PickeFoundation +import PickeCoreUtility @Reducer public struct RecapFeature { From 02e3a7225d9076f86468d84c07cb97d188693a36 Mon Sep 17 00:00:00 2001 From: Roy Date: Sun, 6 Sep 2026 20:53:19 +0900 Subject: [PATCH 26/83] =?UTF-8?q?chore(tuist):=20=ED=8C=8C=EC=9D=BC=20?= =?UTF-8?q?=ED=97=A4=EB=8D=94=20=ED=85=9C=ED=94=8C=EB=A6=BF=EC=97=90=20?= =?UTF-8?q?=EC=A0=80=EC=9E=91=EA=B6=8C=20=EC=A4=84=EC=9D=84=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80=ED=95=B4=20DDD=20=ED=98=95=EC=8B=9D=EA=B3=BC=20?= =?UTF-8?q?=EB=A7=9E=EC=B6=98=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 날짜는 이미 DDD 와 동일하게 ___DATE___ (Xcode 가 파일 생성 시점을 채움) 를 쓰고 있었고, 빠져 있던 Copyright 줄만 채웠다. 검증: tuist generate 후 생성된 IDETemplateMacros.plist 에 반영 확인. --- .../Project+Templete/FileHeaderTemplate+.swift | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/FileHeaderTemplate+.swift b/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/FileHeaderTemplate+.swift index 724fdacb..b856c3f1 100644 --- a/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/FileHeaderTemplate+.swift +++ b/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/FileHeaderTemplate+.swift @@ -3,14 +3,14 @@ // ProjectDescriptionHelpers // // Xcode 파일 헤더(IDETemplateMacros). 새 파일 생성 시 자동 삽입된다. -// ___FILENAME___/___PACKAGENAME___/___DATE___ 는 Xcode 가 채운다. +// ___FILENAME___/___PACKAGENAME___/___DATE___/___YEAR___ 는 Xcode 가 채운다. // 작성자는 기여자와 무관하게 프로젝트명으로 고정한다. // import ProjectDescription public extension FileHeaderTemplate { - /// 프로젝트 공통 파일 헤더. + /// 프로젝트 공통 파일 헤더 (저작권 포함). static var `default`: FileHeaderTemplate { """ // @@ -18,6 +18,7 @@ public extension FileHeaderTemplate { // ___PACKAGENAME___ // // Created by Picke on ___DATE___. + // Copyright © ___YEAR___ Picke. All rights reserved. // """ } From 777497892dd813ca676f9b1f52b61b6b14b67a32 Mon Sep 17 00:00:00 2001 From: Roy Date: Sun, 6 Sep 2026 20:56:16 +0900 Subject: [PATCH 27/83] =?UTF-8?q?refactor(core):=20PickeCore=20=EB=A5=BC?= =?UTF-8?q?=20PickeThirdParty=20=EB=A1=9C=20=EB=B0=94=EA=BE=B8=EA=B3=A0=20?= =?UTF-8?q?FeatureFlag=20=EC=9D=84=20CoreUtility=20=EB=A1=9C=20=EC=98=AE?= =?UTF-8?q?=EA=B8=B4=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit DDD 의 DDDThirdParty 와 역할을 맞춘다. 이 모듈의 실체는 외부 SPM 라이브러리를 한데 묶어 노출하는 우산이었고, 안에 들어 있던 유일한 자체 코드가 FeatureFlag 였다. "Core" 라는 이름이 기반 계층 전체를 가리키는 것처럼 읽혀 실제 역할과 어긋났다. - FeatureFlag 은 순수 유틸이므로 PickeCoreUtility 로 이전 - FeatureFlag 을 쓰는 3파일은 import 를 PickeCoreUtility 로 교체 - FeatureFlag 을 쓰지 않으면서 PickeCore 를 import 하던 3파일의 죽은 import 제거 (AppReducer, HomeFeature, NotificationFeature) - 테스트 타깃 이름과 모듈 카탈로그·매니페스트·CoreAssembly 재노출 갱신 - DDD 에서 복사돼 남아 있던 Base.swift 헤더를 이 저장소 형식으로 교체 검증: tuist generate 성공. 빌드 검증은 아직 하지 않았다. --- .../TargetDependency+Module/FeatureModule.swift | 4 ++-- .../Reducer/Coordinator/Battle/AppBattleCoordinator.swift | 2 +- .../Reducer/Coordinator/Home/AppHomeCoordinator.swift | 2 +- Projects/App/Sources/Reducer/Root/AppReducer.swift | 1 - Projects/Core/CoreAssembly/Project.swift | 2 +- .../Sources/Exported/CoreAssemblyExported.swift | 2 +- .../Sources/FeatureFlag}/FeatureFlag.swift | 0 .../PickeThirdPartyTests}/Sources/Test.swift | 4 ++-- Projects/Core/{PickeCore => PickeThirdParty}/Project.swift | 4 ++-- .../Core/{PickeCore => PickeThirdParty}/Sources/Base.swift | 7 ++----- Projects/Feature/Auth/Project.swift | 2 +- Projects/Feature/Battle/Project.swift | 2 +- Projects/Feature/Chat/Project.swift | 2 +- .../Chat/Sources/Coordinator/Reducer/ChatCoordinator.swift | 2 +- Projects/Feature/Hifi/Project.swift | 2 +- Projects/Feature/Home/Project.swift | 2 +- .../Feature/Home/Sources/Main/Reducer/HomeFeature.swift | 1 - Projects/Feature/Notification/Project.swift | 2 +- .../Sources/Main/Reducer/NotificationFeature.swift | 1 - Projects/Feature/Profile/Project.swift | 2 +- Projects/Feature/Splash/Project.swift | 2 +- Projects/Feature/Web/Project.swift | 2 +- 22 files changed, 22 insertions(+), 28 deletions(-) rename Projects/Core/{PickeCore/Sources => PickeCoreUtility/Sources/FeatureFlag}/FeatureFlag.swift (100%) rename Projects/Core/{PickeCore/PickeCoreTests => PickeThirdParty/PickeThirdPartyTests}/Sources/Test.swift (64%) rename Projects/Core/{PickeCore => PickeThirdParty}/Project.swift (80%) rename Projects/Core/{PickeCore => PickeThirdParty}/Sources/Base.swift (69%) diff --git a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/FeatureModule.swift b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/FeatureModule.swift index 2ecab211..d40cd32e 100644 --- a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/FeatureModule.swift +++ b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/FeatureModule.swift @@ -33,7 +33,7 @@ public enum DomainFeatureModule: String, CaseIterable { /// 앱 전역이 쓰는 최하위 기반 모듈. 도메인·서비스보다 아래에 있고 아무것도 의존하지 않는다. public enum CoreFeatureModule: String, CaseIterable { /// 하위 Core 모듈과 공용 외부 라이브러리를 한 번에 노출하는 우산. - case PickeCore + case PickeThirdParty /// 표준 타입 확장 등 순수 유틸. case PickeCoreUtility /// 키체인 등 로컬 보관소. @@ -120,7 +120,7 @@ public extension TargetDependency { .project(target: "\(module.rawValue)Data", path: .DataFeature(module)) } - /// 최하위 기반 모듈. 단일 타깃 모듈(PickeCore/PickeCoreUtility)은 kind 를 생략하고, + /// 최하위 기반 모듈. 단일 타깃 모듈(PickeThirdParty/PickeCoreUtility)은 kind 를 생략하고, /// 계약을 가르는 모듈(PickeStorage)만 `.interface` 를 지정한다. static func Core(_ module: CoreFeatureModule, _ kind: FeatureTargetKind? = nil) -> Self { let suffix = switch kind { diff --git a/Projects/App/Sources/Reducer/Coordinator/Battle/AppBattleCoordinator.swift b/Projects/App/Sources/Reducer/Coordinator/Battle/AppBattleCoordinator.swift index ec4ecbd1..90696225 100644 --- a/Projects/App/Sources/Reducer/Coordinator/Battle/AppBattleCoordinator.swift +++ b/Projects/App/Sources/Reducer/Coordinator/Battle/AppBattleCoordinator.swift @@ -7,7 +7,7 @@ import Foundation import AudioPlayerServiceInterface import ComposableArchitecture -import PickeCore +import PickeCoreUtility import PickeDesignKit import FeatureAssembly import TCAFlow diff --git a/Projects/App/Sources/Reducer/Coordinator/Home/AppHomeCoordinator.swift b/Projects/App/Sources/Reducer/Coordinator/Home/AppHomeCoordinator.swift index c677ccae..0c869511 100644 --- a/Projects/App/Sources/Reducer/Coordinator/Home/AppHomeCoordinator.swift +++ b/Projects/App/Sources/Reducer/Coordinator/Home/AppHomeCoordinator.swift @@ -7,7 +7,7 @@ import Foundation import AudioPlayerServiceInterface import ComposableArchitecture -import PickeCore +import PickeCoreUtility import PickeDesignKit import FeatureAssembly import TCAFlow diff --git a/Projects/App/Sources/Reducer/Root/AppReducer.swift b/Projects/App/Sources/Reducer/Root/AppReducer.swift index b537857c..1f7b7307 100644 --- a/Projects/App/Sources/Reducer/Root/AppReducer.swift +++ b/Projects/App/Sources/Reducer/Root/AppReducer.swift @@ -9,7 +9,6 @@ import AnalyticsServiceInterface import ComposableArchitecture import DomainAssembly import LogMacro -import PickeCore import FeatureAssembly @Reducer diff --git a/Projects/Core/CoreAssembly/Project.swift b/Projects/Core/CoreAssembly/Project.swift index 9c6968a8..6bc6b600 100644 --- a/Projects/Core/CoreAssembly/Project.swift +++ b/Projects/Core/CoreAssembly/Project.swift @@ -11,7 +11,7 @@ let project = Project.configure( settings: .settings(), // 최하위 기반 모듈의 구현을 한곳에서 묶는 조립 경계. dependencies: [ - .Core(.PickeCore), + .Core(.PickeThirdParty), .Core(.PickeCoreUtility), .Core(.PickeStorage, .implementation), ], diff --git a/Projects/Core/CoreAssembly/Sources/Exported/CoreAssemblyExported.swift b/Projects/Core/CoreAssembly/Sources/Exported/CoreAssemblyExported.swift index 952a6abb..c5f25492 100644 --- a/Projects/Core/CoreAssembly/Sources/Exported/CoreAssemblyExported.swift +++ b/Projects/Core/CoreAssembly/Sources/Exported/CoreAssemblyExported.swift @@ -5,6 +5,6 @@ // MARK: - Core 레이어 한번에 노출 -@_exported import PickeCore +@_exported import PickeThirdParty @_exported import PickeCoreUtility @_exported import PickeStorage diff --git a/Projects/Core/PickeCore/Sources/FeatureFlag.swift b/Projects/Core/PickeCoreUtility/Sources/FeatureFlag/FeatureFlag.swift similarity index 100% rename from Projects/Core/PickeCore/Sources/FeatureFlag.swift rename to Projects/Core/PickeCoreUtility/Sources/FeatureFlag/FeatureFlag.swift diff --git a/Projects/Core/PickeCore/PickeCoreTests/Sources/Test.swift b/Projects/Core/PickeThirdParty/PickeThirdPartyTests/Sources/Test.swift similarity index 64% rename from Projects/Core/PickeCore/PickeCoreTests/Sources/Test.swift rename to Projects/Core/PickeThirdParty/PickeThirdPartyTests/Sources/Test.swift index 21d9fad0..a6ae233d 100644 --- a/Projects/Core/PickeCore/PickeCoreTests/Sources/Test.swift +++ b/Projects/Core/PickeThirdParty/PickeThirdPartyTests/Sources/Test.swift @@ -1,11 +1,11 @@ // // Test.swift -// PickeCoreTests +// PickeThirdPartyTests // import Testing -struct PickeCoreTests { +struct PickeThirdPartyTests { @Test func pickeCoreExample() { #expect(true) diff --git a/Projects/Core/PickeCore/Project.swift b/Projects/Core/PickeThirdParty/Project.swift similarity index 80% rename from Projects/Core/PickeCore/Project.swift rename to Projects/Core/PickeThirdParty/Project.swift index 3f80d608..339bc410 100644 --- a/Projects/Core/PickeCore/Project.swift +++ b/Projects/Core/PickeThirdParty/Project.swift @@ -5,8 +5,8 @@ import ProjectDescription import ProjectTemplatePlugin let project = Project.configure( - moduleType: .module(name: "PickeCore"), - bundleId: .appBundleID(name: ".PickeCore"), + moduleType: .module(name: "PickeThirdParty"), + bundleId: .appBundleID(name: ".PickeThirdParty"), product: .framework, settings: .settings(), dependencies: [ diff --git a/Projects/Core/PickeCore/Sources/Base.swift b/Projects/Core/PickeThirdParty/Sources/Base.swift similarity index 69% rename from Projects/Core/PickeCore/Sources/Base.swift rename to Projects/Core/PickeThirdParty/Sources/Base.swift index 6297cc4c..a07b61d2 100644 --- a/Projects/Core/PickeCore/Sources/Base.swift +++ b/Projects/Core/PickeThirdParty/Sources/Base.swift @@ -1,9 +1,6 @@ // -// base.swift -// DDDAttendance. -// -// Created by Roy on 2025-09-04 -// Copyright © 2025 DDD , Ltd., All rights reserved. +// Base.swift +// PickeThirdParty // import SwiftUI diff --git a/Projects/Feature/Auth/Project.swift b/Projects/Feature/Auth/Project.swift index 5f453d86..f7a0af50 100644 --- a/Projects/Feature/Auth/Project.swift +++ b/Projects/Feature/Auth/Project.swift @@ -16,6 +16,6 @@ let project = Project.configure( .Domain(.Auth, .interface), - .Core(.PickeCore), + .Core(.PickeThirdParty), ] ) diff --git a/Projects/Feature/Battle/Project.swift b/Projects/Feature/Battle/Project.swift index e7bb70f4..62352b19 100644 --- a/Projects/Feature/Battle/Project.swift +++ b/Projects/Feature/Battle/Project.swift @@ -12,7 +12,7 @@ let project = Project.configure( .DesignSystem, .Core(.PickeCoreUtility), .Service(.Analytics, .interface), - .Core(.PickeCore), + .Core(.PickeThirdParty), .Domain(.Battle, .interface), .SPM.composableArchitecture, diff --git a/Projects/Feature/Chat/Project.swift b/Projects/Feature/Chat/Project.swift index d7e0d9b4..4e797106 100644 --- a/Projects/Feature/Chat/Project.swift +++ b/Projects/Feature/Chat/Project.swift @@ -19,7 +19,7 @@ let project = Project.configure( .Network(implements: .NetworkModule), .Domain(.Comment, .interface), - .Core(.PickeCore), + .Core(.PickeThirdParty), // 큐레이션 리스트 상단 배너 광고 — 광고를 노출하는 화면만 명시적으로 의존한다. .Service(.Ad), .SPM.composableArchitecture, diff --git a/Projects/Feature/Chat/Sources/Coordinator/Reducer/ChatCoordinator.swift b/Projects/Feature/Chat/Sources/Coordinator/Reducer/ChatCoordinator.swift index ab9023aa..0a6ab3f0 100644 --- a/Projects/Feature/Chat/Sources/Coordinator/Reducer/ChatCoordinator.swift +++ b/Projects/Feature/Chat/Sources/Coordinator/Reducer/ChatCoordinator.swift @@ -10,7 +10,7 @@ import CommentDomainInterface import ComposableArchitecture import LogMacro import PickeDesignKit -import PickeCore +import PickeCoreUtility import TCAFlow import AudioPlayerServiceInterface diff --git a/Projects/Feature/Hifi/Project.swift b/Projects/Feature/Hifi/Project.swift index 280e9795..8a54fdb9 100644 --- a/Projects/Feature/Hifi/Project.swift +++ b/Projects/Feature/Hifi/Project.swift @@ -14,7 +14,7 @@ let project = Project.configure( .DesignSystem, .Core(.PickeCoreUtility), .Service(.Analytics, .interface), - .Core(.PickeCore), + .Core(.PickeThirdParty), // 탐색 리스트 인라인 배너 광고 — 광고를 노출하는 화면만 명시적으로 의존한다. .Service(.Ad), .Domain(.Home, .interface), diff --git a/Projects/Feature/Home/Project.swift b/Projects/Feature/Home/Project.swift index 46da8179..bc58c34d 100644 --- a/Projects/Feature/Home/Project.swift +++ b/Projects/Feature/Home/Project.swift @@ -20,7 +20,7 @@ let project = Project.configure( .Domain(.Home, .interface), .Domain(.Notification, .interface), - .Core(.PickeCore), + .Core(.PickeThirdParty), // 홈 피드 중간 배너 광고 — 광고를 노출하는 화면만 명시적으로 의존한다. .Service(.Ad), ] diff --git a/Projects/Feature/Home/Sources/Main/Reducer/HomeFeature.swift b/Projects/Feature/Home/Sources/Main/Reducer/HomeFeature.swift index 93a7ccce..96ace47f 100644 --- a/Projects/Feature/Home/Sources/Main/Reducer/HomeFeature.swift +++ b/Projects/Feature/Home/Sources/Main/Reducer/HomeFeature.swift @@ -12,7 +12,6 @@ import HomeDomainInterface import HomeInterface import LogMacro import NotificationDomainInterface -import PickeCore import AnalyticsServiceInterface import AuthDomainInterface diff --git a/Projects/Feature/Notification/Project.swift b/Projects/Feature/Notification/Project.swift index 731973ea..ec97bd24 100644 --- a/Projects/Feature/Notification/Project.swift +++ b/Projects/Feature/Notification/Project.swift @@ -14,7 +14,7 @@ let project = Project.configure( .Service(.Analytics, .interface), .Domain(.Notification, .interface), - .Core(.PickeCore), + .Core(.PickeThirdParty), .SPM.composableArchitecture, .SPM.tcaFlow, ] diff --git a/Projects/Feature/Notification/Sources/Main/Reducer/NotificationFeature.swift b/Projects/Feature/Notification/Sources/Main/Reducer/NotificationFeature.swift index 66d7dd41..7bd6d943 100644 --- a/Projects/Feature/Notification/Sources/Main/Reducer/NotificationFeature.swift +++ b/Projects/Feature/Notification/Sources/Main/Reducer/NotificationFeature.swift @@ -8,7 +8,6 @@ import Foundation import ComposableArchitecture import LogMacro import NotificationDomainInterface -import PickeCore import AnalyticsServiceInterface import PickeCoreUtility diff --git a/Projects/Feature/Profile/Project.swift b/Projects/Feature/Profile/Project.swift index 372cda81..f0161f0c 100644 --- a/Projects/Feature/Profile/Project.swift +++ b/Projects/Feature/Profile/Project.swift @@ -20,7 +20,7 @@ let project = Project.configure( .Domain(.Battle, .interface), .Domain(.Notification, .interface), - .Core(.PickeCore), + .Core(.PickeThirdParty), .Service(.Ad), // 마이페이지 하단 배너 광고 .SPM.composableArchitecture, .SPM.tcaFlow, diff --git a/Projects/Feature/Splash/Project.swift b/Projects/Feature/Splash/Project.swift index 3bed9d9e..f374d011 100644 --- a/Projects/Feature/Splash/Project.swift +++ b/Projects/Feature/Splash/Project.swift @@ -16,6 +16,6 @@ let project = Project.configure( .SPM.composableArchitecture, .SPM.sdwebImageCore, - .Core(.PickeCore), + .Core(.PickeThirdParty), ] ) diff --git a/Projects/Feature/Web/Project.swift b/Projects/Feature/Web/Project.swift index 59fd0d0e..f3360e36 100644 --- a/Projects/Feature/Web/Project.swift +++ b/Projects/Feature/Web/Project.swift @@ -11,6 +11,6 @@ let project = Project.configure( dependencies: [ .DesignSystem, .SPM.composableArchitecture, - .Core(.PickeCore), + .Core(.PickeThirdParty), ] ) From 0fd5898175288e1d033d78558d5f90f0cfc17487 Mon Sep 17 00:00:00 2001 From: Roy Date: Sun, 6 Sep 2026 20:59:18 +0900 Subject: [PATCH 28/83] =?UTF-8?q?refactor(tuist):=20=EB=AA=A8=EB=93=88=20?= =?UTF-8?q?=EC=B9=B4=ED=83=88=EB=A1=9C=EA=B7=B8=20=EC=BC=80=EC=9D=B4?= =?UTF-8?q?=EC=8A=A4=EC=99=80=20=EC=9D=98=EC=A1=B4=EC=84=B1=20DSL=20?= =?UTF-8?q?=EC=9D=84=20lowerCamelCase=20=EB=A1=9C=20=EB=B0=94=EA=BE=BC?= =?UTF-8?q?=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Swift 명명 규약과 DDD 참조 프로젝트(`.core(.logger)`, `.domain(.auth, .interface)`)에 맞춘다. 타입만 대문자로 시작하고 케이스·함수·프로퍼티는 소문자로 시작해야 하는데, `.Core(.PickeThirdParty)` 는 둘 다 어겨 타입 참조처럼 읽혔다. - 모듈 enum 케이스를 lowerCamelCase 로 바꾸고 타깃 이름은 rawValue 로 명시 (예: `case thirdParty = "PickeThirdParty"`) — 생성되는 타깃·경로는 그대로다 - 의존성/경로 접근자를 소문자로: `.Domain/.Data/.Core/.Service/.Network/.DesignSystem` → `.domain/.data/.core/.service/.network/.designSystem` - 매니페스트 호출부 40개 파일 일괄 갱신 검증: tuist generate 성공(타깃 구성 동일). --- .../FeatureModule.swift | 86 +++++++++---------- .../TargetDependency+Module/Modules.swift | 22 ++--- .../Path+Modules.swift | 12 +-- .../TargetDependency+Modules.swift | 12 +-- Projects/App/Project.swift | 4 +- Projects/Core/CoreAssembly/Project.swift | 6 +- Projects/Core/PickeThirdParty/Project.swift | 4 +- Projects/Data/AppUpdate/Project.swift | 6 +- Projects/Data/Attendance/Project.swift | 8 +- Projects/Data/Auth/Project.swift | 8 +- Projects/Data/Battle/Project.swift | 10 +-- Projects/Data/Comment/Project.swift | 8 +- Projects/Data/DataAssembly/Project.swift | 22 ++--- Projects/Data/DataTesting/Project.swift | 4 +- Projects/Data/Home/Project.swift | 10 +-- Projects/Data/Model/Project.swift | 8 +- Projects/Data/Notification/Project.swift | 8 +- Projects/Data/Perspective/Project.swift | 12 +-- Projects/Data/Profile/Project.swift | 8 +- Projects/Data/Search/Project.swift | 12 +-- Projects/Domain/Auth/Project.swift | 2 +- Projects/Domain/Battle/Project.swift | 2 +- Projects/Domain/Comment/Project.swift | 4 +- Projects/Domain/DomainAssembly/Project.swift | 20 ++--- Projects/Domain/DomainTesting/Project.swift | 4 +- Projects/Domain/Perspective/Project.swift | 8 +- Projects/Domain/Search/Project.swift | 4 +- Projects/Feature/Auth/Project.swift | 8 +- Projects/Feature/Battle/Project.swift | 10 +-- Projects/Feature/Chat/Project.swift | 22 ++--- Projects/Feature/Hifi/Project.swift | 18 ++-- Projects/Feature/Home/Project.swift | 18 ++-- Projects/Feature/Notification/Project.swift | 10 +-- Projects/Feature/Profile/Project.swift | 24 +++--- Projects/Feature/Splash/Project.swift | 10 +-- Projects/Feature/Web/Project.swift | 4 +- Projects/Network/NetworkHeader/Project.swift | 2 +- Projects/Network/NetworkModule/Project.swift | 2 +- Projects/Network/Networking/Project.swift | 2 +- Projects/Service/API/Project.swift | 2 +- Projects/Service/APIEndpoint/Project.swift | 4 +- Projects/Service/Ad/Project.swift | 2 +- Projects/Service/Device/Project.swift | 4 +- .../Service/ServiceAssembly/Project.swift | 8 +- 44 files changed, 232 insertions(+), 232 deletions(-) diff --git a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/FeatureModule.swift b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/FeatureModule.swift index d40cd32e..e32b33ee 100644 --- a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/FeatureModule.swift +++ b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/FeatureModule.swift @@ -3,7 +3,7 @@ // Plugins // // Domain·Data 레이어를 Presentation 처럼 feature별 마이크로 모듈로 재편하기 위한 -// 접근자. 기존 레이어 단일 모듈 접근자(`.Domain(implements:)` / `.Data(implements:)`)와 +// 접근자. 기존 레이어 단일 모듈 접근자(`.domain(implements:)` / `.data(implements:)`)와 // 시그니처가 달라 마이그레이션 기간 동안 공존한다. // // - Domain feature: `Projects/Domain/` 의 마이크로피처 4타깃 @@ -17,27 +17,27 @@ import ProjectDescription // MARK: - Feature 모듈 식별자 public enum DomainFeatureModule: String, CaseIterable { - case Attendance - case Auth - case Battle - case Comment - case Home - case Notification - case Perspective - case Profile - case Search + case attendance = "Attendance" + case auth = "Auth" + case battle = "Battle" + case comment = "Comment" + case home = "Home" + case notification = "Notification" + case perspective = "Perspective" + case profile = "Profile" + case search = "Search" /// 앱 강제/권장 업데이트 판정. - case AppUpdate + case appUpdate = "AppUpdate" } /// 앱 전역이 쓰는 최하위 기반 모듈. 도메인·서비스보다 아래에 있고 아무것도 의존하지 않는다. public enum CoreFeatureModule: String, CaseIterable { /// 하위 Core 모듈과 공용 외부 라이브러리를 한 번에 노출하는 우산. - case PickeThirdParty + case thirdParty = "PickeThirdParty" /// 표준 타입 확장 등 순수 유틸. - case PickeCoreUtility + case coreUtility = "PickeCoreUtility" /// 키체인 등 로컬 보관소. - case PickeStorage + case storage = "PickeStorage" } /// 외부 SDK·플랫폼 기능을 감싸는 서비스 모듈. @@ -47,26 +47,26 @@ public enum CoreFeatureModule: String, CaseIterable { /// 화면이 SDK 를 끌고 오지 않게 한다. public enum ServiceFeatureModule: String, CaseIterable { /// AdFit 배너·네이티브 + GoogleMobileAds 리워드. - case Ad + case ad = "Ad" /// Mixpanel 이벤트 + Sentry 모니터링. - case Analytics + case analytics = "Analytics" /// 디바이스 식별·플랫폼 정보. - case Device + case device = "Device" /// AVFoundation 음원 재생. - case AudioPlayer + case audioPlayer = "AudioPlayer" } public enum DataFeatureModule: String, CaseIterable { - case AppUpdate - case Attendance - case Auth - case Battle - case Comment - case Home - case Notification - case Perspective - case Profile - case Search + case appUpdate = "AppUpdate" + case attendance = "Attendance" + case auth = "Auth" + case battle = "Battle" + case comment = "Comment" + case home = "Home" + case notification = "Notification" + case perspective = "Perspective" + case profile = "Profile" + case search = "Search" } /// Domain feature 모듈 내 대상 타깃 종류. @@ -79,24 +79,24 @@ public enum FeatureTargetKind { // MARK: - Path public extension ProjectDescription.Path { - static func DomainFeature(_ module: DomainFeatureModule) -> Self { + static func domainFeature(_ module: DomainFeatureModule) -> Self { .relativeToRoot("Projects/Domain/\(module.rawValue)") } - static func DataFeature(_ module: DataFeatureModule) -> Self { + static func dataFeature(_ module: DataFeatureModule) -> Self { .relativeToRoot("Projects/Data/\(module.rawValue)") } - static func ServiceFeature(_ module: ServiceFeatureModule) -> Self { + static func serviceFeature(_ module: ServiceFeatureModule) -> Self { .relativeToRoot("Projects/Service/\(module.rawValue)") } - static func CoreFeature(_ module: CoreFeatureModule) -> Self { + static func coreFeature(_ module: CoreFeatureModule) -> Self { .relativeToRoot("Projects/Core/\(module.rawValue)") } /// 디자인 시스템은 단일 모듈이라 레이어 디렉토리가 곧 모듈 경로다. - static var DesignSystem: Self { + static var designSystem: Self { .relativeToRoot("Projects/DesignSystem") } } @@ -106,45 +106,45 @@ public extension ProjectDescription.Path { public extension TargetDependency { /// feature별 Domain 모듈. 기본은 구현 타깃(`Domain`). /// Data·Presentation 은 컴파일 격리를 위해 `.interface` 만 의존하는 것을 권장. - static func Domain(_ module: DomainFeatureModule, _ kind: FeatureTargetKind = .implementation) -> Self { + static func domain(_ module: DomainFeatureModule, _ kind: FeatureTargetKind = .implementation) -> Self { let suffix = switch kind { case .interface: "DomainInterface" case .implementation: "Domain" case .testing: "DomainTesting" } - return .project(target: "\(module.rawValue)\(suffix)", path: .DomainFeature(module)) + return .project(target: "\(module.rawValue)\(suffix)", path: .domainFeature(module)) } /// feature별 Data 모듈(단일 타깃 `Data`). - static func Data(_ module: DataFeatureModule) -> Self { - .project(target: "\(module.rawValue)Data", path: .DataFeature(module)) + static func data(_ module: DataFeatureModule) -> Self { + .project(target: "\(module.rawValue)Data", path: .dataFeature(module)) } /// 최하위 기반 모듈. 단일 타깃 모듈(PickeThirdParty/PickeCoreUtility)은 kind 를 생략하고, /// 계약을 가르는 모듈(PickeStorage)만 `.interface` 를 지정한다. - static func Core(_ module: CoreFeatureModule, _ kind: FeatureTargetKind? = nil) -> Self { + static func core(_ module: CoreFeatureModule, _ kind: FeatureTargetKind? = nil) -> Self { let suffix = switch kind { case .interface: "Interface" case .testing: "Testing" case .implementation, nil: "" } - return .project(target: "\(module.rawValue)\(suffix)", path: .CoreFeature(module)) + return .project(target: "\(module.rawValue)\(suffix)", path: .coreFeature(module)) } /// 디자인 시스템(단일 타깃). - static var DesignSystem: Self { - .project(target: "PickeDesignKit", path: .DesignSystem) + static var designSystem: Self { + .project(target: "PickeDesignKit", path: .designSystem) } /// SDK 래핑 서비스 모듈. 기본은 구현 타깃(`Service`). /// 화면은 `.interface` 만 의존해 SDK 를 링크하지 않는 것을 권장. - static func Service(_ module: ServiceFeatureModule, _ kind: FeatureTargetKind = .implementation) -> Self { + static func service(_ module: ServiceFeatureModule, _ kind: FeatureTargetKind = .implementation) -> Self { let suffix = switch kind { case .interface: "ServiceInterface" case .implementation: "Service" case .testing: "ServiceTesting" } - return .project(target: "\(module.rawValue)\(suffix)", path: .ServiceFeature(module)) + return .project(target: "\(module.rawValue)\(suffix)", path: .serviceFeature(module)) } /// 서버 계약(베이스 URL·도메인 경로)만 담는 모듈. SDK 도 도메인 규칙도 링크하지 않는다. diff --git a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Modules.swift b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Modules.swift index 51248da8..b622f9d8 100644 --- a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Modules.swift +++ b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Modules.swift @@ -9,20 +9,20 @@ import Foundation import ProjectDescription public enum ModulePath { - case Network(Networks) - case Domain(Domains) - case Data(Datas) + case network(Networks) + case domain(Domains) + case data(Datas) } // MARK: - CoreDomainModule public extension ModulePath { enum Networks: String, CaseIterable { - case NetworkModule - case Networking - case NetworkToken - case NetworkHeader - case ThirdPartys + case networkModule = "NetworkModule" + case networking = "Networking" + case networkToken = "NetworkToken" + case networkHeader = "NetworkHeader" + case thirdPartys = "ThirdPartys" public static let name: String = "Network" } @@ -34,8 +34,8 @@ public extension ModulePath { /// 엄브렐러(DataAssembly)는 모듈이 아니라 조립 경계라 카탈로그에 넣지 않는다. /// `TargetDependency.dataAssembly` 로만 접근한다. enum Datas: String, CaseIterable { - case Model - case DataTesting + case model = "Model" + case dataTesting = "DataTesting" public static let name: String = "Data" } @@ -47,7 +47,7 @@ public extension ModulePath { /// 엄브렐러(DomainAssembly)는 모듈이 아니라 조립 경계라 카탈로그에 넣지 않는다. /// `TargetDependency.domainAssembly` 로만 접근한다. enum Domains: String, CaseIterable { - case DomainTesting + case domainTesting = "DomainTesting" public static let name: String = "Domain" } diff --git a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Path+Modules.swift b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Path+Modules.swift index 8ce60905..90d1a014 100644 --- a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Path+Modules.swift +++ b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Path+Modules.swift @@ -10,33 +10,33 @@ import ProjectDescription // MARK: - Network public extension ProjectDescription.Path { - static var Networking: Self { + static var networking: Self { return .relativeToRoot("Projects/\(ModulePath.Networks.name)") } - static func Network(implementation module: ModulePath.Networks) -> Self { + static func network(implementation module: ModulePath.Networks) -> Self { return .relativeToRoot("Projects/\(ModulePath.Networks.name)/\(module.rawValue)") } } // MARK: - Domain public extension ProjectDescription.Path { - static var Domain: Self { + static var domain: Self { return .relativeToRoot("Projects/\(ModulePath.Domains.name)") } - static func Domain(implementation module: ModulePath.Domains) -> Self { + static func domain(implementation module: ModulePath.Domains) -> Self { return .relativeToRoot("Projects/\(ModulePath.Domains.name)/\(module.rawValue)") } } // MARK: - Data public extension ProjectDescription.Path { - static var Data: Self { + static var data: Self { return .relativeToRoot("Projects/\(ModulePath.Datas.name)") } - static func Data(implementation module: ModulePath.Datas) -> Self { + static func data(implementation module: ModulePath.Datas) -> Self { return .relativeToRoot("Projects/\(ModulePath.Datas.name)/\(module.rawValue)") } } diff --git a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/TargetDependency+Modules.swift b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/TargetDependency+Modules.swift index 3f2da5b0..753e47d5 100644 --- a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/TargetDependency+Modules.swift +++ b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/TargetDependency+Modules.swift @@ -17,15 +17,15 @@ private extension TargetDependency { // Network public extension TargetDependency { - static func Network(implements module: ModulePath.Networks) -> Self { - projectTarget(module.rawValue, path: .Network(implementation: module)) + static func network(implements module: ModulePath.Networks) -> Self { + projectTarget(module.rawValue, path: .network(implementation: module)) } } // Domain public extension TargetDependency { - static func Domain(implements module: ModulePath.Domains) -> Self { - projectTarget(module.rawValue, path: .Domain(implementation: module)) + static func domain(implements module: ModulePath.Domains) -> Self { + projectTarget(module.rawValue, path: .domain(implementation: module)) } /// 컨텍스트별 Domain 구현을 묶어 제공하는 엄브렐러 모듈. @@ -36,8 +36,8 @@ public extension TargetDependency { // Data public extension TargetDependency { - static func Data(implements module: ModulePath.Datas) -> Self { - projectTarget(module.rawValue, path: .Data(implementation: module)) + static func data(implements module: ModulePath.Datas) -> Self { + projectTarget(module.rawValue, path: .data(implementation: module)) } /// 컨텍스트별 Repository 구현을 묶어 제공하는 엄브렐러 모듈. diff --git a/Projects/App/Project.swift b/Projects/App/Project.swift index 4d739ad4..deec6e15 100644 --- a/Projects/App/Project.swift +++ b/Projects/App/Project.swift @@ -20,8 +20,8 @@ let project = Project.configure( // Core·Service 구현은 조립 경계 하나로 들어온다. // 앱 시작 전면 팝업 광고(AdService)도 여기에 포함된다. .serviceAssembly, - .Network(implements: .NetworkModule), - .Network(implements: .NetworkToken), + .network(implements: .networkModule), + .network(implements: .networkToken), .SPM.googleMobileAds, .SPM.firebaseCrashlytics, .SPM.mixpanel, diff --git a/Projects/Core/CoreAssembly/Project.swift b/Projects/Core/CoreAssembly/Project.swift index 6bc6b600..31d85455 100644 --- a/Projects/Core/CoreAssembly/Project.swift +++ b/Projects/Core/CoreAssembly/Project.swift @@ -11,9 +11,9 @@ let project = Project.configure( settings: .settings(), // 최하위 기반 모듈의 구현을 한곳에서 묶는 조립 경계. dependencies: [ - .Core(.PickeThirdParty), - .Core(.PickeCoreUtility), - .Core(.PickeStorage, .implementation), + .core(.thirdParty), + .core(.coreUtility), + .core(.storage, .implementation), ], sources: ["Sources/**"], hasTests: false diff --git a/Projects/Core/PickeThirdParty/Project.swift b/Projects/Core/PickeThirdParty/Project.swift index 339bc410..7f2867af 100644 --- a/Projects/Core/PickeThirdParty/Project.swift +++ b/Projects/Core/PickeThirdParty/Project.swift @@ -10,8 +10,8 @@ let project = Project.configure( product: .framework, settings: .settings(), dependencies: [ - .Core(.PickeCoreUtility), - .DesignSystem, + .core(.coreUtility), + .designSystem, .SPM.composableArchitecture, .SPM.tcaFlow, .SPM.sdwebImage, diff --git a/Projects/Data/AppUpdate/Project.swift b/Projects/Data/AppUpdate/Project.swift index b3736ee6..667ab14e 100644 --- a/Projects/Data/AppUpdate/Project.swift +++ b/Projects/Data/AppUpdate/Project.swift @@ -10,9 +10,9 @@ let project = Project.configure( product: .staticFramework, settings: .settings(), dependencies: [ - .Domain(.AppUpdate, .interface), - .Data(implements: .Model), - .Network(implements: .NetworkModule), + .domain(.appUpdate, .interface), + .data(implements: .model), + .network(implements: .networkModule), .SPM.logMarco, .SPM.composableArchitecture, ], diff --git a/Projects/Data/Attendance/Project.swift b/Projects/Data/Attendance/Project.swift index 37b77791..0c1b95e2 100644 --- a/Projects/Data/Attendance/Project.swift +++ b/Projects/Data/Attendance/Project.swift @@ -10,12 +10,12 @@ let project = Project.configure( product: .staticFramework, settings: .settings(), dependencies: [ - .Domain(.Attendance, .interface), + .domain(.attendance, .interface), .api, - .Data(implements: .Model), + .data(implements: .model), .apiEndpoint, - .Network(implements: .NetworkModule), - .Network(implements: .NetworkHeader), + .network(implements: .networkModule), + .network(implements: .networkHeader), .SPM.logMarco, .SPM.composableArchitecture, ], diff --git a/Projects/Data/Auth/Project.swift b/Projects/Data/Auth/Project.swift index 2aeced8c..685e9cf9 100644 --- a/Projects/Data/Auth/Project.swift +++ b/Projects/Data/Auth/Project.swift @@ -10,13 +10,13 @@ let project = Project.configure( product: .staticFramework, settings: .settings(), dependencies: [ - .Domain(.Auth, .interface), + .domain(.auth, .interface), .api, - .Data(implements: .Model), + .data(implements: .model), .apiEndpoint, - .Network(implements: .NetworkModule), - .Network(implements: .NetworkHeader), + .network(implements: .networkModule), + .network(implements: .networkHeader), .SPM.weaveDI, .SPM.logMarco, .SPM.composableArchitecture, diff --git a/Projects/Data/Battle/Project.swift b/Projects/Data/Battle/Project.swift index af544ae8..0e62f0ce 100644 --- a/Projects/Data/Battle/Project.swift +++ b/Projects/Data/Battle/Project.swift @@ -10,14 +10,14 @@ let project = Project.configure( product: .staticFramework, settings: .settings(), dependencies: [ - .Domain(.Home, .interface), - .Domain(.Battle, .interface), + .domain(.home, .interface), + .domain(.battle, .interface), .api, - .Data(implements: .Model), + .data(implements: .model), .apiEndpoint, - .Network(implements: .NetworkModule), - .Network(implements: .NetworkHeader), + .network(implements: .networkModule), + .network(implements: .networkHeader), .SPM.weaveDI, .SPM.logMarco, .SPM.composableArchitecture, diff --git a/Projects/Data/Comment/Project.swift b/Projects/Data/Comment/Project.swift index ea22ceed..ac0a04e0 100644 --- a/Projects/Data/Comment/Project.swift +++ b/Projects/Data/Comment/Project.swift @@ -10,12 +10,12 @@ let project = Project.configure( product: .staticFramework, settings: .settings(), dependencies: [ - .Domain(.Comment, .interface), + .domain(.comment, .interface), .api, - .Data(implements: .Model), + .data(implements: .model), .apiEndpoint, - .Network(implements: .NetworkModule), - .Network(implements: .NetworkHeader), + .network(implements: .networkModule), + .network(implements: .networkHeader), .SPM.logMarco, .SPM.composableArchitecture, ], diff --git a/Projects/Data/DataAssembly/Project.swift b/Projects/Data/DataAssembly/Project.swift index 437107f2..277a10ce 100644 --- a/Projects/Data/DataAssembly/Project.swift +++ b/Projects/Data/DataAssembly/Project.swift @@ -10,18 +10,18 @@ let project = Project.configure( product: .staticFramework, settings: .settings(), dependencies: [ - .Data(.AppUpdate), - .Data(implements: .Model), + .data(.appUpdate), + .data(implements: .model), .apiEndpoint, - .Data(.Attendance), - .Data(.Auth), - .Data(.Battle), - .Data(.Search), - .Data(.Comment), - .Data(.Home), - .Data(.Notification), - .Data(.Perspective), - .Data(.Profile), + .data(.attendance), + .data(.auth), + .data(.battle), + .data(.search), + .data(.comment), + .data(.home), + .data(.notification), + .data(.perspective), + .data(.profile), ], sources: ["Sources/**"] ) diff --git a/Projects/Data/DataTesting/Project.swift b/Projects/Data/DataTesting/Project.swift index 75d86a87..f6c40c21 100644 --- a/Projects/Data/DataTesting/Project.swift +++ b/Projects/Data/DataTesting/Project.swift @@ -10,9 +10,9 @@ let project = Project.configure( product: .framework, settings: .settings(), dependencies: [ - .Domain(.AppUpdate, .interface), + .domain(.appUpdate, .interface), - .Service(.AudioPlayer), + .service(.audioPlayer), ], sources: ["Sources/**"] ) diff --git a/Projects/Data/Home/Project.swift b/Projects/Data/Home/Project.swift index 9e46dae6..8a651c9d 100644 --- a/Projects/Data/Home/Project.swift +++ b/Projects/Data/Home/Project.swift @@ -10,13 +10,13 @@ let project = Project.configure( product: .staticFramework, settings: .settings(), dependencies: [ - .Domain(.Auth, .interface), - .Domain(.Home, .interface), + .domain(.auth, .interface), + .domain(.home, .interface), .api, - .Data(implements: .Model), + .data(implements: .model), .apiEndpoint, - .Network(implements: .NetworkModule), - .Network(implements: .NetworkHeader), + .network(implements: .networkModule), + .network(implements: .networkHeader), .SPM.weaveDI, .SPM.logMarco, .SPM.composableArchitecture, diff --git a/Projects/Data/Model/Project.swift b/Projects/Data/Model/Project.swift index ad728eef..dadb6f49 100644 --- a/Projects/Data/Model/Project.swift +++ b/Projects/Data/Model/Project.swift @@ -10,10 +10,10 @@ let project = Project.configure( product: .staticFramework, settings: .settings(), dependencies: [ - .Domain(.AppUpdate, .interface), - .Domain(.Comment, .interface), - .Domain(.Battle, .interface), - .Domain(.Home, .interface), + .domain(.appUpdate, .interface), + .domain(.comment, .interface), + .domain(.battle, .interface), + .domain(.home, .interface), ], sources: ["Sources/**"], hasTests: false diff --git a/Projects/Data/Notification/Project.swift b/Projects/Data/Notification/Project.swift index 199f4b25..831b042e 100644 --- a/Projects/Data/Notification/Project.swift +++ b/Projects/Data/Notification/Project.swift @@ -10,12 +10,12 @@ let project = Project.configure( product: .staticFramework, settings: .settings(), dependencies: [ - .Domain(.Notification, .interface), + .domain(.notification, .interface), .api, - .Data(implements: .Model), + .data(implements: .model), .apiEndpoint, - .Network(implements: .NetworkModule), - .Network(implements: .NetworkHeader), + .network(implements: .networkModule), + .network(implements: .networkHeader), .SPM.logMarco, .SPM.composableArchitecture, ], diff --git a/Projects/Data/Perspective/Project.swift b/Projects/Data/Perspective/Project.swift index efedad7e..88b71880 100644 --- a/Projects/Data/Perspective/Project.swift +++ b/Projects/Data/Perspective/Project.swift @@ -10,14 +10,14 @@ let project = Project.configure( product: .staticFramework, settings: .settings(), dependencies: [ - .Domain(.Perspective, .interface), - .Domain(.Battle, .interface), - .Domain(.Comment, .interface), + .domain(.perspective, .interface), + .domain(.battle, .interface), + .domain(.comment, .interface), .api, - .Data(implements: .Model), + .data(implements: .model), .apiEndpoint, - .Network(implements: .NetworkModule), - .Network(implements: .NetworkHeader), + .network(implements: .networkModule), + .network(implements: .networkHeader), .SPM.weaveDI, .SPM.logMarco, .SPM.composableArchitecture, diff --git a/Projects/Data/Profile/Project.swift b/Projects/Data/Profile/Project.swift index 8efac1df..e81deca3 100644 --- a/Projects/Data/Profile/Project.swift +++ b/Projects/Data/Profile/Project.swift @@ -10,12 +10,12 @@ let project = Project.configure( product: .staticFramework, settings: .settings(), dependencies: [ - .Domain(.Profile, .interface), + .domain(.profile, .interface), .api, - .Data(implements: .Model), + .data(implements: .model), .apiEndpoint, - .Network(implements: .NetworkModule), - .Network(implements: .NetworkHeader), + .network(implements: .networkModule), + .network(implements: .networkHeader), .SPM.logMarco, .SPM.composableArchitecture, ], diff --git a/Projects/Data/Search/Project.swift b/Projects/Data/Search/Project.swift index 549f9948..0bd2d205 100644 --- a/Projects/Data/Search/Project.swift +++ b/Projects/Data/Search/Project.swift @@ -10,15 +10,15 @@ let project = Project.configure( product: .staticFramework, settings: .settings(), dependencies: [ - .Domain(.Battle, .interface), - .Domain(.Search, .interface), - .Domain(.Home, .interface), + .domain(.battle, .interface), + .domain(.search, .interface), + .domain(.home, .interface), .api, .apiEndpoint, - .Data(implements: .Model), - .Network(implements: .NetworkModule), - .Network(implements: .NetworkHeader), + .data(implements: .model), + .network(implements: .networkModule), + .network(implements: .networkHeader), .SPM.logMarco, .SPM.composableArchitecture, ], diff --git a/Projects/Domain/Auth/Project.swift b/Projects/Domain/Auth/Project.swift index f45f104d..bc171888 100644 --- a/Projects/Domain/Auth/Project.swift +++ b/Projects/Domain/Auth/Project.swift @@ -10,7 +10,7 @@ let project = Project.configure( product: .staticFramework, settings: .settings(), dependencies: [ - .Core(.PickeStorage, .interface), + .core(.storage, .interface), .SPM.composableArchitecture, .SPM.weaveDI, .SPM.logMarco, diff --git a/Projects/Domain/Battle/Project.swift b/Projects/Domain/Battle/Project.swift index c32a3b8c..e9bbd852 100644 --- a/Projects/Domain/Battle/Project.swift +++ b/Projects/Domain/Battle/Project.swift @@ -14,7 +14,7 @@ let project = Project.configure( .SPM.composableArchitecture, ], interfaceDependencies: [ - .Domain(.Home, .interface), + .domain(.home, .interface), .SPM.weaveDI, .SPM.composableArchitecture, diff --git a/Projects/Domain/Comment/Project.swift b/Projects/Domain/Comment/Project.swift index 44a93c07..0be4a0c4 100644 --- a/Projects/Domain/Comment/Project.swift +++ b/Projects/Domain/Comment/Project.swift @@ -9,12 +9,12 @@ let project = Project.configure( bundleId: .appBundleID(name: ".CommentDomain"), settings: .settings(), dependencies: [ - .Domain(.Battle, .interface), + .domain(.battle, .interface), .SPM.weaveDI, .SPM.composableArchitecture, ], interfaceDependencies: [ - .Domain(.Battle, .interface), + .domain(.battle, .interface), .SPM.weaveDI, .SPM.composableArchitecture, ] diff --git a/Projects/Domain/DomainAssembly/Project.swift b/Projects/Domain/DomainAssembly/Project.swift index 99562507..2d7c4d83 100644 --- a/Projects/Domain/DomainAssembly/Project.swift +++ b/Projects/Domain/DomainAssembly/Project.swift @@ -10,16 +10,16 @@ let project = Project.configure( product: .staticFramework, settings: .settings(), dependencies: [ - .Domain(.AppUpdate), - .Domain(.Attendance), - .Domain(.Auth), - .Domain(.Battle), - .Domain(.Search), - .Domain(.Comment), - .Domain(.Home), - .Domain(.Notification), - .Domain(.Perspective), - .Domain(.Profile), + .domain(.appUpdate), + .domain(.attendance), + .domain(.auth), + .domain(.battle), + .domain(.search), + .domain(.comment), + .domain(.home), + .domain(.notification), + .domain(.perspective), + .domain(.profile), ], sources: ["Sources/**"] ) diff --git a/Projects/Domain/DomainTesting/Project.swift b/Projects/Domain/DomainTesting/Project.swift index 7edd1b7a..4a4babcc 100644 --- a/Projects/Domain/DomainTesting/Project.swift +++ b/Projects/Domain/DomainTesting/Project.swift @@ -10,8 +10,8 @@ let project = Project.configure( product: .framework, settings: .settings(), dependencies: [ - .Domain(.AppUpdate, .interface), - .Service(.Analytics, .interface), + .domain(.appUpdate, .interface), + .service(.analytics, .interface), ], sources: ["Sources/**"] ) diff --git a/Projects/Domain/Perspective/Project.swift b/Projects/Domain/Perspective/Project.swift index 71aa1ac5..14e5c097 100644 --- a/Projects/Domain/Perspective/Project.swift +++ b/Projects/Domain/Perspective/Project.swift @@ -9,14 +9,14 @@ let project = Project.configure( bundleId: .appBundleID(name: ".PerspectiveDomain"), settings: .settings(), dependencies: [ - .Domain(.Battle, .interface), - .Domain(.Comment, .interface), + .domain(.battle, .interface), + .domain(.comment, .interface), .SPM.weaveDI, .SPM.composableArchitecture, ], interfaceDependencies: [ - .Domain(.Battle, .interface), - .Domain(.Comment, .interface), + .domain(.battle, .interface), + .domain(.comment, .interface), .SPM.weaveDI, .SPM.composableArchitecture, ] diff --git a/Projects/Domain/Search/Project.swift b/Projects/Domain/Search/Project.swift index 62869810..91e4af4b 100644 --- a/Projects/Domain/Search/Project.swift +++ b/Projects/Domain/Search/Project.swift @@ -10,13 +10,13 @@ let project = Project.configure( product: .staticFramework, settings: .settings(), dependencies: [ - .Domain(.Home, .interface), + .domain(.home, .interface), .SPM.weaveDI, .SPM.composableArchitecture, ], interfaceDependencies: [ - .Domain(.Home, .interface), + .domain(.home, .interface), .SPM.weaveDI, .SPM.composableArchitecture, diff --git a/Projects/Feature/Auth/Project.swift b/Projects/Feature/Auth/Project.swift index f7a0af50..e62c7482 100644 --- a/Projects/Feature/Auth/Project.swift +++ b/Projects/Feature/Auth/Project.swift @@ -9,13 +9,13 @@ let project = Project.configure( bundleId: .appBundleID(name: ".Auth"), settings: .settings(), dependencies: [ - .DesignSystem, - .Service(.Analytics, .interface), + .designSystem, + .service(.analytics, .interface), .SPM.composableArchitecture, .SPM.tcaFlow, - .Domain(.Auth, .interface), + .domain(.auth, .interface), - .Core(.PickeThirdParty), + .core(.thirdParty), ] ) diff --git a/Projects/Feature/Battle/Project.swift b/Projects/Feature/Battle/Project.swift index 62352b19..3f4d7f75 100644 --- a/Projects/Feature/Battle/Project.swift +++ b/Projects/Feature/Battle/Project.swift @@ -9,11 +9,11 @@ let project = Project.configure( bundleId: .appBundleID(name: ".Battle"), settings: .settings(), dependencies: [ - .DesignSystem, - .Core(.PickeCoreUtility), - .Service(.Analytics, .interface), - .Core(.PickeThirdParty), - .Domain(.Battle, .interface), + .designSystem, + .core(.coreUtility), + .service(.analytics, .interface), + .core(.thirdParty), + .domain(.battle, .interface), .SPM.composableArchitecture, .SPM.tcaFlow, diff --git a/Projects/Feature/Chat/Project.swift b/Projects/Feature/Chat/Project.swift index 4e797106..57362e8d 100644 --- a/Projects/Feature/Chat/Project.swift +++ b/Projects/Feature/Chat/Project.swift @@ -9,19 +9,19 @@ let project = Project.configure( bundleId: .appBundleID(name: ".Chat"), settings: .settings(), dependencies: [ - .Service(.AudioPlayer, .interface), - .Domain(.Perspective, .interface), - .DesignSystem, - .Core(.PickeCoreUtility), - .Service(.Analytics, .interface), - .Domain(.Battle, .interface), - .Domain(.Home, .interface), - .Network(implements: .NetworkModule), + .service(.audioPlayer, .interface), + .domain(.perspective, .interface), + .designSystem, + .core(.coreUtility), + .service(.analytics, .interface), + .domain(.battle, .interface), + .domain(.home, .interface), + .network(implements: .networkModule), - .Domain(.Comment, .interface), - .Core(.PickeThirdParty), + .domain(.comment, .interface), + .core(.thirdParty), // 큐레이션 리스트 상단 배너 광고 — 광고를 노출하는 화면만 명시적으로 의존한다. - .Service(.Ad), + .service(.ad), .SPM.composableArchitecture, .SPM.tcaFlow, .SPM.kingfisher, diff --git a/Projects/Feature/Hifi/Project.swift b/Projects/Feature/Hifi/Project.swift index 8a54fdb9..d3a22ada 100644 --- a/Projects/Feature/Hifi/Project.swift +++ b/Projects/Feature/Hifi/Project.swift @@ -10,17 +10,17 @@ let project = Project.configure( product: .staticFramework, settings: .settings(), dependencies: [ - .Domain(.Battle, .interface), - .DesignSystem, - .Core(.PickeCoreUtility), - .Service(.Analytics, .interface), - .Core(.PickeThirdParty), + .domain(.battle, .interface), + .designSystem, + .core(.coreUtility), + .service(.analytics, .interface), + .core(.thirdParty), // 탐색 리스트 인라인 배너 광고 — 광고를 노출하는 화면만 명시적으로 의존한다. - .Service(.Ad), - .Domain(.Home, .interface), + .service(.ad), + .domain(.home, .interface), - .Domain(.Search, .interface), - .Domain(.Notification, .interface), + .domain(.search, .interface), + .domain(.notification, .interface), .SPM.composableArchitecture, .SPM.tcaFlow, .SPM.kingfisher, diff --git a/Projects/Feature/Home/Project.swift b/Projects/Feature/Home/Project.swift index bc58c34d..c538c338 100644 --- a/Projects/Feature/Home/Project.swift +++ b/Projects/Feature/Home/Project.swift @@ -10,18 +10,18 @@ let project = Project.configure( product: .staticFramework, settings: .settings(), dependencies: [ - .Domain(.Auth, .interface), - .DesignSystem, - .Service(.Analytics, .interface), + .domain(.auth, .interface), + .designSystem, + .service(.analytics, .interface), .SPM.tcaFlow, .SPM.kingfisher, - .Domain(.Attendance, .interface), - .Domain(.Battle, .interface), - .Domain(.Home, .interface), + .domain(.attendance, .interface), + .domain(.battle, .interface), + .domain(.home, .interface), - .Domain(.Notification, .interface), - .Core(.PickeThirdParty), + .domain(.notification, .interface), + .core(.thirdParty), // 홈 피드 중간 배너 광고 — 광고를 노출하는 화면만 명시적으로 의존한다. - .Service(.Ad), + .service(.ad), ] ) diff --git a/Projects/Feature/Notification/Project.swift b/Projects/Feature/Notification/Project.swift index ec97bd24..24c74cc9 100644 --- a/Projects/Feature/Notification/Project.swift +++ b/Projects/Feature/Notification/Project.swift @@ -9,12 +9,12 @@ let project = Project.configure( bundleId: .appBundleID(name: ".Notification"), settings: .settings(), dependencies: [ - .DesignSystem, - .Core(.PickeCoreUtility), - .Service(.Analytics, .interface), - .Domain(.Notification, .interface), + .designSystem, + .core(.coreUtility), + .service(.analytics, .interface), + .domain(.notification, .interface), - .Core(.PickeThirdParty), + .core(.thirdParty), .SPM.composableArchitecture, .SPM.tcaFlow, ] diff --git a/Projects/Feature/Profile/Project.swift b/Projects/Feature/Profile/Project.swift index f0161f0c..f09b0790 100644 --- a/Projects/Feature/Profile/Project.swift +++ b/Projects/Feature/Profile/Project.swift @@ -10,23 +10,23 @@ let project = Project.configure( product: .staticFramework, settings: .settings(), dependencies: [ - .DesignSystem, - .Core(.PickeCoreUtility), - .Core(.PickeStorage, .interface), - .Service(.Device, .interface), - .Service(.Analytics, .interface), - .Domain(.Profile, .interface), - .Domain(.Auth, .interface), - .Domain(.Battle, .interface), - .Domain(.Notification, .interface), + .designSystem, + .core(.coreUtility), + .core(.storage, .interface), + .service(.device, .interface), + .service(.analytics, .interface), + .domain(.profile, .interface), + .domain(.auth, .interface), + .domain(.battle, .interface), + .domain(.notification, .interface), - .Core(.PickeThirdParty), - .Service(.Ad), // 마이페이지 하단 배너 광고 + .core(.thirdParty), + .service(.ad), // 마이페이지 하단 배너 광고 .SPM.composableArchitecture, .SPM.tcaFlow, .SPM.kingfisher, ], interfaceDependencies: [ - .Domain(.Profile, .interface), + .domain(.profile, .interface), ] ) diff --git a/Projects/Feature/Splash/Project.swift b/Projects/Feature/Splash/Project.swift index f374d011..f5ec4628 100644 --- a/Projects/Feature/Splash/Project.swift +++ b/Projects/Feature/Splash/Project.swift @@ -9,13 +9,13 @@ let project = Project.configure( bundleId: .appBundleID(name: ".Splash"), settings: .settings(), dependencies: [ - .DesignSystem, - .Domain(.AppUpdate, .interface), - .Core(.PickeStorage, .interface), - .Service(.Analytics, .interface), + .designSystem, + .domain(.appUpdate, .interface), + .core(.storage, .interface), + .service(.analytics, .interface), .SPM.composableArchitecture, .SPM.sdwebImageCore, - .Core(.PickeThirdParty), + .core(.thirdParty), ] ) diff --git a/Projects/Feature/Web/Project.swift b/Projects/Feature/Web/Project.swift index f3360e36..ed47c881 100644 --- a/Projects/Feature/Web/Project.swift +++ b/Projects/Feature/Web/Project.swift @@ -9,8 +9,8 @@ let project = Project.configure( bundleId: .appBundleID(name: ".Web"), settings: .settings(), dependencies: [ - .DesignSystem, + .designSystem, .SPM.composableArchitecture, - .Core(.PickeThirdParty), + .core(.thirdParty), ] ) diff --git a/Projects/Network/NetworkHeader/Project.swift b/Projects/Network/NetworkHeader/Project.swift index dad486c4..1a817483 100644 --- a/Projects/Network/NetworkHeader/Project.swift +++ b/Projects/Network/NetworkHeader/Project.swift @@ -10,7 +10,7 @@ let project = Project.configure( product: .staticFramework, settings: .settings(), dependencies: [ - .Network(implements: .NetworkToken), + .network(implements: .networkToken), .SPM.alamofire, ], sources: ["Sources/**"], diff --git a/Projects/Network/NetworkModule/Project.swift b/Projects/Network/NetworkModule/Project.swift index 28be0b60..e042727a 100644 --- a/Projects/Network/NetworkModule/Project.swift +++ b/Projects/Network/NetworkModule/Project.swift @@ -10,7 +10,7 @@ let project = Project.configure( product: .staticFramework, settings: .settings(), dependencies: [ - .Network(implements: .NetworkHeader), + .network(implements: .networkHeader), .SPM.alamofire, .SPM.logMarco, ], diff --git a/Projects/Network/Networking/Project.swift b/Projects/Network/Networking/Project.swift index fa49cdf0..a6ef59e3 100644 --- a/Projects/Network/Networking/Project.swift +++ b/Projects/Network/Networking/Project.swift @@ -10,7 +10,7 @@ let project = Project.configure( product: .staticFramework, settings: .settings(), dependencies: [ - .Network(implements: .NetworkHeader) + .network(implements: .networkHeader) ], sources: ["Sources/**"], hasTests: false diff --git a/Projects/Service/API/Project.swift b/Projects/Service/API/Project.swift index 24444282..6650f406 100644 --- a/Projects/Service/API/Project.swift +++ b/Projects/Service/API/Project.swift @@ -10,7 +10,7 @@ let project = Project.configure( product: .staticFramework, settings: .settings(), dependencies: [ - .Network(implements: .NetworkHeader), + .network(implements: .networkHeader), ], sources: ["Sources/**"], hasTests: false diff --git a/Projects/Service/APIEndpoint/Project.swift b/Projects/Service/APIEndpoint/Project.swift index b7b9950b..ba61b642 100644 --- a/Projects/Service/APIEndpoint/Project.swift +++ b/Projects/Service/APIEndpoint/Project.swift @@ -12,8 +12,8 @@ let project = Project.configure( dependencies: [ .api, // Auth 엔드포인트가 SocialType 을 경로에 쓴다. - .Domain(.Auth, .interface), - .Network(implements: .NetworkHeader), + .domain(.auth, .interface), + .network(implements: .networkHeader), ], sources: ["Sources/**"], hasTests: false diff --git a/Projects/Service/Ad/Project.swift b/Projects/Service/Ad/Project.swift index 1a94de47..7d0a399d 100644 --- a/Projects/Service/Ad/Project.swift +++ b/Projects/Service/Ad/Project.swift @@ -15,7 +15,7 @@ let project = Project.configure( dependencies: [ .SPM.adFit, .SPM.googleMobileAds, - .Service(.Analytics, .interface), + .service(.analytics, .interface), ], interfaceDependencies: [ .SPM.composableArchitecture, diff --git a/Projects/Service/Device/Project.swift b/Projects/Service/Device/Project.swift index dabc9945..00016d51 100644 --- a/Projects/Service/Device/Project.swift +++ b/Projects/Service/Device/Project.swift @@ -10,9 +10,9 @@ let project = Project.configure( product: .staticFramework, settings: .settings(), dependencies: [ - .Data(implements: .Model), + .data(implements: .model), .apiEndpoint, - .Network(implements: .NetworkModule), + .network(implements: .networkModule), .SPM.composableArchitecture, .SPM.logMarco, ], diff --git a/Projects/Service/ServiceAssembly/Project.swift b/Projects/Service/ServiceAssembly/Project.swift index ec650ac6..c998388d 100644 --- a/Projects/Service/ServiceAssembly/Project.swift +++ b/Projects/Service/ServiceAssembly/Project.swift @@ -13,10 +13,10 @@ let project = Project.configure( dependencies: [ .coreAssembly, .api, - .Service(.Ad), - .Service(.Analytics), - .Service(.AudioPlayer), - .Service(.Device), + .service(.ad), + .service(.analytics), + .service(.audioPlayer), + .service(.device), ], sources: ["Sources/**"], hasTests: false From 55b1deaead66d3188f13b029fbf3f951942b5da3 Mon Sep 17 00:00:00 2001 From: Roy Date: Sun, 6 Sep 2026 21:09:54 +0900 Subject: [PATCH 29/83] =?UTF-8?q?refactor(tuist):=20Data=C2=B7Domain=20?= =?UTF-8?q?=EB=A0=88=EA=B1=B0=EC=8B=9C=20=EC=A0=91=EA=B7=BC=EC=9E=90?= =?UTF-8?q?=EB=A5=BC=20=EC=97=86=EC=95=A0=EA=B3=A0=20=EC=B9=B4=ED=83=88?= =?UTF-8?q?=EB=A1=9C=EA=B7=B8=EB=A5=BC=20=ED=95=98=EB=82=98=EB=A1=9C=20?= =?UTF-8?q?=EB=AA=A8=EC=9D=80=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `.data(implements: .model)` 은 마이크로피처 재편 전의 레이어 단일 모듈 DSL 잔재다. 같은 레이어를 가리키는 접근자가 `.data(.battle)` 과 둘로 갈려 있어, 어느 쪽을 써야 하는지가 호출부마다 달랐다. - Data 레이어 공용 DTO 모듈은 `.model` 접근자 하나로 노출 (호출부 12곳 교체) - ModulePath 의 Datas·Domains 카탈로그와 `.data(implements:)`·`.domain(implements:)`, 대응 Path 접근자 제거 — dataTesting·domainTesting 케이스는 참조가 0이었다 - Networks 는 P7(Network 모듈 통합)에서 정리하므로 이번엔 남긴다 검증: tuist generate 성공(타깃 구성 동일). --- .../FeatureModule.swift | 5 ++++ .../TargetDependency+Module/Modules.swift | 26 ------------------- .../Path+Modules.swift | 22 ---------------- .../TargetDependency+Modules.swift | 8 ------ Projects/Data/AppUpdate/Project.swift | 2 +- Projects/Data/Attendance/Project.swift | 2 +- Projects/Data/Auth/Project.swift | 2 +- Projects/Data/Battle/Project.swift | 2 +- Projects/Data/Comment/Project.swift | 2 +- Projects/Data/DataAssembly/Project.swift | 2 +- Projects/Data/Home/Project.swift | 2 +- Projects/Data/Notification/Project.swift | 2 +- Projects/Data/Perspective/Project.swift | 2 +- Projects/Data/Profile/Project.swift | 2 +- Projects/Data/Search/Project.swift | 2 +- Projects/Service/Device/Project.swift | 2 +- 16 files changed, 17 insertions(+), 68 deletions(-) diff --git a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/FeatureModule.swift b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/FeatureModule.swift index e32b33ee..9476635d 100644 --- a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/FeatureModule.swift +++ b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/FeatureModule.swift @@ -131,6 +131,11 @@ public extension TargetDependency { return .project(target: "\(module.rawValue)\(suffix)", path: .coreFeature(module)) } + /// Data 레이어가 공유하는 DTO 모듈(단일 타깃 `Model`). + static var model: Self { + .project(target: "Model", path: .relativeToRoot("Projects/Data/Model")) + } + /// 디자인 시스템(단일 타깃). static var designSystem: Self { .project(target: "PickeDesignKit", path: .designSystem) diff --git a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Modules.swift b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Modules.swift index b622f9d8..c2d96fbe 100644 --- a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Modules.swift +++ b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Modules.swift @@ -10,8 +10,6 @@ import ProjectDescription public enum ModulePath { case network(Networks) - case domain(Domains) - case data(Datas) } // MARK: - CoreDomainModule @@ -28,27 +26,3 @@ public extension ModulePath { } } -// MARK: - CoreMoudule - -public extension ModulePath { - /// 엄브렐러(DataAssembly)는 모듈이 아니라 조립 경계라 카탈로그에 넣지 않는다. - /// `TargetDependency.dataAssembly` 로만 접근한다. - enum Datas: String, CaseIterable { - case model = "Model" - case dataTesting = "DataTesting" - - public static let name: String = "Data" - } -} - -// MARK: - CoreMoudule - -public extension ModulePath { - /// 엄브렐러(DomainAssembly)는 모듈이 아니라 조립 경계라 카탈로그에 넣지 않는다. - /// `TargetDependency.domainAssembly` 로만 접근한다. - enum Domains: String, CaseIterable { - case domainTesting = "DomainTesting" - - public static let name: String = "Domain" - } -} diff --git a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Path+Modules.swift b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Path+Modules.swift index 90d1a014..4235be09 100644 --- a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Path+Modules.swift +++ b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Path+Modules.swift @@ -18,25 +18,3 @@ public extension ProjectDescription.Path { return .relativeToRoot("Projects/\(ModulePath.Networks.name)/\(module.rawValue)") } } - -// MARK: - Domain -public extension ProjectDescription.Path { - static var domain: Self { - return .relativeToRoot("Projects/\(ModulePath.Domains.name)") - } - - static func domain(implementation module: ModulePath.Domains) -> Self { - return .relativeToRoot("Projects/\(ModulePath.Domains.name)/\(module.rawValue)") - } -} - -// MARK: - Data -public extension ProjectDescription.Path { - static var data: Self { - return .relativeToRoot("Projects/\(ModulePath.Datas.name)") - } - - static func data(implementation module: ModulePath.Datas) -> Self { - return .relativeToRoot("Projects/\(ModulePath.Datas.name)/\(module.rawValue)") - } -} diff --git a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/TargetDependency+Modules.swift b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/TargetDependency+Modules.swift index 753e47d5..a8219822 100644 --- a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/TargetDependency+Modules.swift +++ b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/TargetDependency+Modules.swift @@ -24,10 +24,6 @@ public extension TargetDependency { // Domain public extension TargetDependency { - static func domain(implements module: ModulePath.Domains) -> Self { - projectTarget(module.rawValue, path: .domain(implementation: module)) - } - /// 컨텍스트별 Domain 구현을 묶어 제공하는 엄브렐러 모듈. static var domainAssembly: Self { projectTarget("DomainAssembly", path: .relativeToRoot("Projects/Domain/DomainAssembly")) @@ -36,10 +32,6 @@ public extension TargetDependency { // Data public extension TargetDependency { - static func data(implements module: ModulePath.Datas) -> Self { - projectTarget(module.rawValue, path: .data(implementation: module)) - } - /// 컨텍스트별 Repository 구현을 묶어 제공하는 엄브렐러 모듈. static var dataAssembly: Self { projectTarget("DataAssembly", path: .relativeToRoot("Projects/Data/DataAssembly")) diff --git a/Projects/Data/AppUpdate/Project.swift b/Projects/Data/AppUpdate/Project.swift index 667ab14e..2a54ed0a 100644 --- a/Projects/Data/AppUpdate/Project.swift +++ b/Projects/Data/AppUpdate/Project.swift @@ -11,7 +11,7 @@ let project = Project.configure( settings: .settings(), dependencies: [ .domain(.appUpdate, .interface), - .data(implements: .model), + .model, .network(implements: .networkModule), .SPM.logMarco, .SPM.composableArchitecture, diff --git a/Projects/Data/Attendance/Project.swift b/Projects/Data/Attendance/Project.swift index 0c1b95e2..161231e7 100644 --- a/Projects/Data/Attendance/Project.swift +++ b/Projects/Data/Attendance/Project.swift @@ -12,7 +12,7 @@ let project = Project.configure( dependencies: [ .domain(.attendance, .interface), .api, - .data(implements: .model), + .model, .apiEndpoint, .network(implements: .networkModule), .network(implements: .networkHeader), diff --git a/Projects/Data/Auth/Project.swift b/Projects/Data/Auth/Project.swift index 685e9cf9..87cab16f 100644 --- a/Projects/Data/Auth/Project.swift +++ b/Projects/Data/Auth/Project.swift @@ -13,7 +13,7 @@ let project = Project.configure( .domain(.auth, .interface), .api, - .data(implements: .model), + .model, .apiEndpoint, .network(implements: .networkModule), .network(implements: .networkHeader), diff --git a/Projects/Data/Battle/Project.swift b/Projects/Data/Battle/Project.swift index 0e62f0ce..d9436d75 100644 --- a/Projects/Data/Battle/Project.swift +++ b/Projects/Data/Battle/Project.swift @@ -14,7 +14,7 @@ let project = Project.configure( .domain(.battle, .interface), .api, - .data(implements: .model), + .model, .apiEndpoint, .network(implements: .networkModule), .network(implements: .networkHeader), diff --git a/Projects/Data/Comment/Project.swift b/Projects/Data/Comment/Project.swift index ac0a04e0..93d8086c 100644 --- a/Projects/Data/Comment/Project.swift +++ b/Projects/Data/Comment/Project.swift @@ -12,7 +12,7 @@ let project = Project.configure( dependencies: [ .domain(.comment, .interface), .api, - .data(implements: .model), + .model, .apiEndpoint, .network(implements: .networkModule), .network(implements: .networkHeader), diff --git a/Projects/Data/DataAssembly/Project.swift b/Projects/Data/DataAssembly/Project.swift index 277a10ce..285afa9c 100644 --- a/Projects/Data/DataAssembly/Project.swift +++ b/Projects/Data/DataAssembly/Project.swift @@ -11,7 +11,7 @@ let project = Project.configure( settings: .settings(), dependencies: [ .data(.appUpdate), - .data(implements: .model), + .model, .apiEndpoint, .data(.attendance), .data(.auth), diff --git a/Projects/Data/Home/Project.swift b/Projects/Data/Home/Project.swift index 8a651c9d..76ccea40 100644 --- a/Projects/Data/Home/Project.swift +++ b/Projects/Data/Home/Project.swift @@ -13,7 +13,7 @@ let project = Project.configure( .domain(.auth, .interface), .domain(.home, .interface), .api, - .data(implements: .model), + .model, .apiEndpoint, .network(implements: .networkModule), .network(implements: .networkHeader), diff --git a/Projects/Data/Notification/Project.swift b/Projects/Data/Notification/Project.swift index 831b042e..af48f875 100644 --- a/Projects/Data/Notification/Project.swift +++ b/Projects/Data/Notification/Project.swift @@ -12,7 +12,7 @@ let project = Project.configure( dependencies: [ .domain(.notification, .interface), .api, - .data(implements: .model), + .model, .apiEndpoint, .network(implements: .networkModule), .network(implements: .networkHeader), diff --git a/Projects/Data/Perspective/Project.swift b/Projects/Data/Perspective/Project.swift index 88b71880..b1e01780 100644 --- a/Projects/Data/Perspective/Project.swift +++ b/Projects/Data/Perspective/Project.swift @@ -14,7 +14,7 @@ let project = Project.configure( .domain(.battle, .interface), .domain(.comment, .interface), .api, - .data(implements: .model), + .model, .apiEndpoint, .network(implements: .networkModule), .network(implements: .networkHeader), diff --git a/Projects/Data/Profile/Project.swift b/Projects/Data/Profile/Project.swift index e81deca3..52efcf57 100644 --- a/Projects/Data/Profile/Project.swift +++ b/Projects/Data/Profile/Project.swift @@ -12,7 +12,7 @@ let project = Project.configure( dependencies: [ .domain(.profile, .interface), .api, - .data(implements: .model), + .model, .apiEndpoint, .network(implements: .networkModule), .network(implements: .networkHeader), diff --git a/Projects/Data/Search/Project.swift b/Projects/Data/Search/Project.swift index 0bd2d205..928e93bc 100644 --- a/Projects/Data/Search/Project.swift +++ b/Projects/Data/Search/Project.swift @@ -16,7 +16,7 @@ let project = Project.configure( .api, .apiEndpoint, - .data(implements: .model), + .model, .network(implements: .networkModule), .network(implements: .networkHeader), .SPM.logMarco, diff --git a/Projects/Service/Device/Project.swift b/Projects/Service/Device/Project.swift index 00016d51..24ed76c3 100644 --- a/Projects/Service/Device/Project.swift +++ b/Projects/Service/Device/Project.swift @@ -10,7 +10,7 @@ let project = Project.configure( product: .staticFramework, settings: .settings(), dependencies: [ - .data(implements: .model), + .model, .apiEndpoint, .network(implements: .networkModule), .SPM.composableArchitecture, From d0b24ba24ae21c0e19df7f058f36ee881b51c031 Mon Sep 17 00:00:00 2001 From: Roy Date: Sun, 6 Sep 2026 21:40:09 +0900 Subject: [PATCH 30/83] =?UTF-8?q?feat(core):=20os.Logger=20=EA=B8=B0?= =?UTF-8?q?=EB=B0=98=20PickeCoreLogger=20=EB=AA=A8=EB=93=88=EC=9D=84=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80=ED=95=9C=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit DDD 의 DDDCoreLogger 와 같은 구조로 로그 레벨(PickeLogLevel)·카테고리 (PickeLogCategory)·진입점(PickeLogger)을 나눠 담는다. Bundle identifier 를 subsystem 으로 쓰고 파일·함수·라인을 함께 남기며, 메시지 본문은 DEBUG 에서만 공개(privacy: .public)한다. CoreAssembly 가 이 모듈을 물고 재수출하므로 소비자는 Core 만 import 하면 된다. 외부 LogMacro 호출부(126곳)를 이 모듈로 옮기는 작업은 후속 단계에서 한다. 빌드 검증은 아직 하지 않았다. tuist generate 는 통과했다. --- Projects/Core/CoreAssembly/Project.swift | 1 + .../Exported/CoreAssemblyExported.swift | 1 + Projects/Core/PickeCoreLogger/Project.swift | 16 +++ .../Sources/PickeLogCategory.swift | 26 +++++ .../Sources/PickeLogLevel.swift | 46 +++++++++ .../PickeCoreLogger/Sources/PickeLogger.swift | 98 +++++++++++++++++++ .../Tests/Sources/PickeCoreLoggerTests.swift | 69 +++++++++++++ 7 files changed, 257 insertions(+) create mode 100644 Projects/Core/PickeCoreLogger/Project.swift create mode 100644 Projects/Core/PickeCoreLogger/Sources/PickeLogCategory.swift create mode 100644 Projects/Core/PickeCoreLogger/Sources/PickeLogLevel.swift create mode 100644 Projects/Core/PickeCoreLogger/Sources/PickeLogger.swift create mode 100644 Projects/Core/PickeCoreLogger/Tests/Sources/PickeCoreLoggerTests.swift diff --git a/Projects/Core/CoreAssembly/Project.swift b/Projects/Core/CoreAssembly/Project.swift index 31d85455..5c4533eb 100644 --- a/Projects/Core/CoreAssembly/Project.swift +++ b/Projects/Core/CoreAssembly/Project.swift @@ -12,6 +12,7 @@ let project = Project.configure( // 최하위 기반 모듈의 구현을 한곳에서 묶는 조립 경계. dependencies: [ .core(.thirdParty), + .core(.logger), .core(.coreUtility), .core(.storage, .implementation), ], diff --git a/Projects/Core/CoreAssembly/Sources/Exported/CoreAssemblyExported.swift b/Projects/Core/CoreAssembly/Sources/Exported/CoreAssemblyExported.swift index c5f25492..c8757235 100644 --- a/Projects/Core/CoreAssembly/Sources/Exported/CoreAssemblyExported.swift +++ b/Projects/Core/CoreAssembly/Sources/Exported/CoreAssemblyExported.swift @@ -6,5 +6,6 @@ // MARK: - Core 레이어 한번에 노출 @_exported import PickeThirdParty +@_exported import PickeCoreLogger @_exported import PickeCoreUtility @_exported import PickeStorage diff --git a/Projects/Core/PickeCoreLogger/Project.swift b/Projects/Core/PickeCoreLogger/Project.swift new file mode 100644 index 00000000..f05cf442 --- /dev/null +++ b/Projects/Core/PickeCoreLogger/Project.swift @@ -0,0 +1,16 @@ +import DependencyPackagePlugin +import DependencyPlugin +import Foundation +import ProjectDescription +import ProjectTemplatePlugin + +let project = Project.configure( + moduleType: .module(name: "PickeCoreLogger"), + bundleId: .appBundleID(name: ".PickeCoreLogger"), + product: .staticFramework, + settings: .settings(), + dependencies: [ + ], + sources: ["Sources/**"], + hasTests: true +) diff --git a/Projects/Core/PickeCoreLogger/Sources/PickeLogCategory.swift b/Projects/Core/PickeCoreLogger/Sources/PickeLogCategory.swift new file mode 100644 index 00000000..b96f4cc3 --- /dev/null +++ b/Projects/Core/PickeCoreLogger/Sources/PickeLogCategory.swift @@ -0,0 +1,26 @@ +// +// PickeLogCategory.swift +// PickeCoreLogger +// +// Copyright © 2026 Picke. All rights reserved. +// + +import Foundation + +/// 로그 카테고리. os.Logger 의 category 로 쓰인다. +public enum PickeLogCategory: String, Sendable, CaseIterable { + /// 앱 전반 / 생명주기 (실행, 초기화, 어디에도 안 맞는 일반 로그) + case app + /// 네트워크 통신 (요청/응답/에러) + case network + /// 인증 (로그인, 토큰 갱신/만료) + case auth + /// 화면 전환 / 라우팅 + case navigation + /// 로컬 저장소 (키체인, UserDefaults, 캐시 등) + case storage + /// UI / 사용자 인터랙션 + case ui + /// 배틀 도메인 (투표, 관점, 댓글) + case battle +} diff --git a/Projects/Core/PickeCoreLogger/Sources/PickeLogLevel.swift b/Projects/Core/PickeCoreLogger/Sources/PickeLogLevel.swift new file mode 100644 index 00000000..966a4fae --- /dev/null +++ b/Projects/Core/PickeCoreLogger/Sources/PickeLogLevel.swift @@ -0,0 +1,46 @@ +// +// PickeLogLevel.swift +// PickeCoreLogger +// +// Copyright © 2026 Picke. All rights reserved. +// + +import Foundation +import OSLog + +enum PickeLogLevel: Int, Comparable, CaseIterable { + /// 개발 중 상세 추적용. 릴리즈엔 남지 않음(휘발). + case debug + /// 참고 정보. 릴리즈 디스크엔 저장되지 않음(메모리만). + case info + /// 기본 레벨. 릴리즈에서도 persist (눈여겨볼 일반 이벤트). + case notice + /// 에러 — 예상치 못한 실패. 릴리즈 persist. + case error + /// 심각한 결함 — 앱 동작을 위협하는 치명적 상황. 릴리즈 persist. + case fault + + static func < (lhs: Self, rhs: Self) -> Bool { + lhs.rawValue < rhs.rawValue + } + + var osLogType: OSLogType { + switch self { + case .debug: .debug + case .info: .info + case .notice: .default + case .error: .error + case .fault: .fault + } + } + + var emoji: String { + switch self { + case .debug: "⚪️" + case .info: "🔵" + case .notice: "🟢" + case .error: "🟡" + case .fault: "🔴" + } + } +} diff --git a/Projects/Core/PickeCoreLogger/Sources/PickeLogger.swift b/Projects/Core/PickeCoreLogger/Sources/PickeLogger.swift new file mode 100644 index 00000000..f44a82c6 --- /dev/null +++ b/Projects/Core/PickeCoreLogger/Sources/PickeLogger.swift @@ -0,0 +1,98 @@ +// +// PickeLogger.swift +// PickeCoreLogger +// +// Copyright © 2026 Picke. All rights reserved. +// + +import Foundation +import OSLog + +/// os.Logger 기반 전역 로거 (정적 네임스페이스). +/// 값은 항상 `.private` 로 기록 — 릴리즈 통합로그/sysdiagnose 에 평문 유출을 막는다. +/// (개발 중 디버거가 붙은 상태에서는 값이 그대로 보인다) +public enum PickeLogger { + private static let subsystem: String = Bundle.main.bundleIdentifier ?? "com.picke.picke" + /// 이 레벨 미만은 출력 스킵. 릴리즈에선 notice 이상만. + private static let minimumLevel: PickeLogLevel = PickeLogger.defaultMinimumLevel + + public static func debug( + _ message: String, + category: PickeLogCategory, + fileID: String = #fileID, + function: String = #function, + line: Int = #line + ) { + emit(.debug, category, message, fileID, function, line) + } + + public static func info( + _ message: String, + category: PickeLogCategory, + fileID: String = #fileID, + function: String = #function, + line: Int = #line + ) { + emit(.info, category, message, fileID, function, line) + } + + public static func notice( + _ message: String, + category: PickeLogCategory, + fileID: String = #fileID, + function: String = #function, + line: Int = #line + ) { + emit(.notice, category, message, fileID, function, line) + } + + public static func error( + _ message: String, + category: PickeLogCategory, + fileID: String = #fileID, + function: String = #function, + line: Int = #line + ) { + emit(.error, category, message, fileID, function, line) + } + + public static func fault( + _ message: String, + category: PickeLogCategory, + fileID: String = #fileID, + function: String = #function, + line: Int = #line + ) { + emit(.fault, category, message, fileID, function, line) + } + + /// 코어 — minimumLevel 통과 시에만 출력. 호출 위치(fileID/function/line)를 머리줄에 붙인다. + private static func emit( + _ level: PickeLogLevel, + _ category: PickeLogCategory, + _ message: String, + _ fileID: String, + _ function: String, + _ line: Int + ) { + guard level >= minimumLevel else { return } + + let logger = Logger(subsystem: subsystem, category: category.rawValue) + // #fileID 는 "모듈/파일.swift" — 파일명만 떼서 짧게 (절대경로 노출 X). + let file = fileID.split(separator: "/").last.map(String.init) ?? fileID + // 메타(이모지/카테고리/위치)는 public 으로 항상 보이게, message 값만 private 로 가린다. + logger.log(level: level.osLogType, """ + \(level.emoji, privacy: .public) [\(category.rawValue, privacy: .public)] \(message, privacy: .private) + ↳ \(file, privacy: .public):\(line, privacy: .public) \(function, privacy: .public) + """) + } + + /// DEBUG 는 debug 부터, 릴리즈는 notice 부터. + static var defaultMinimumLevel: PickeLogLevel { + #if DEBUG + .debug + #else + .notice + #endif + } +} diff --git a/Projects/Core/PickeCoreLogger/Tests/Sources/PickeCoreLoggerTests.swift b/Projects/Core/PickeCoreLogger/Tests/Sources/PickeCoreLoggerTests.swift new file mode 100644 index 00000000..76ec6a5d --- /dev/null +++ b/Projects/Core/PickeCoreLogger/Tests/Sources/PickeCoreLoggerTests.swift @@ -0,0 +1,69 @@ +// +// PickeCoreLoggerTests.swift +// PickeCoreLogger +// +// Copyright © 2026 Picke. All rights reserved. +// + +import OSLog +import Testing + +@testable import PickeCoreLogger + +@Suite("PickeCoreLogger") +struct PickeCoreLoggerTests { + @Test("카테고리는 OSLog category 문자열 계약을 유지한다") + func categoriesExposeExpectedRawValues() { + let rawValues = PickeLogCategory.allCases.map(\.rawValue) + + #expect(rawValues == [ + "app", + "network", + "auth", + "navigation", + "storage", + "ui", + "battle" + ]) + } + + @Test("로그 레벨은 심각도 순서대로 정렬된다") + func logLevelsSortBySeverity() { + #expect(PickeLogLevel.allCases.sorted() == [ + .debug, + .info, + .notice, + .error, + .fault + ]) + } + + @Test("로그 레벨은 OSLogType으로 매핑된다") + func logLevelsMapToOSLogTypes() { + #expect(PickeLogLevel.debug.osLogType == .debug) + #expect(PickeLogLevel.info.osLogType == .info) + #expect(PickeLogLevel.notice.osLogType == .default) + #expect(PickeLogLevel.error.osLogType == .error) + #expect(PickeLogLevel.fault.osLogType == .fault) + } + + @Test("DEBUG 빌드의 기본 최소 레벨은 debug다") + func debugBuildMinimumLevelStartsAtDebug() { + #if DEBUG + #expect(PickeLogger.defaultMinimumLevel == .debug) + #else + #expect(PickeLogger.defaultMinimumLevel == .notice) + #endif + } + + @Test("공개 로그 API는 파일 위치 메타데이터와 함께 호출할 수 있다") + func publicLogAPIsAcceptExplicitCallsiteMetadata() { + PickeLogger.debug("debug", category: .app, fileID: "Module/File.swift", function: "test()", line: 10) + PickeLogger.info("info", category: .network, fileID: "Module/File.swift", function: "test()", line: 11) + PickeLogger.notice("notice", category: .auth, fileID: "Module/File.swift", function: "test()", line: 12) + PickeLogger.error("error", category: .storage, fileID: "Module/File.swift", function: "test()", line: 13) + PickeLogger.fault("fault", category: .battle, fileID: "Module/File.swift", function: "test()", line: 14) + + #expect(Bool(true)) + } +} From 353fb3aa82e8870f44208a5e234ab3033c540cc7 Mon Sep 17 00:00:00 2001 From: Roy Date: Sun, 6 Sep 2026 21:40:25 +0900 Subject: [PATCH 31/83] =?UTF-8?q?refactor(tuist):=20=EB=AA=A8=EB=93=88=20?= =?UTF-8?q?=EC=B9=B4=ED=83=88=EB=A1=9C=EA=B7=B8=EB=A5=BC=20DDD=20=EC=99=80?= =?UTF-8?q?=20=EA=B0=99=EC=9D=80=203=ED=8C=8C=EC=9D=BC=20=EA=B5=AC?= =?UTF-8?q?=EC=A1=B0=EB=A1=9C=20=EC=9E=AC=ED=8E=B8=ED=95=9C=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 카탈로그가 네 파일에 흩어져 있고 타깃 종류를 가리키는 열거형도 ModuleTarget 과 FeatureTargetKind 로 둘이었다. DDD 와 같은 구성으로 모은다. - Modules.swift: Feature/Core/Service/Domain/Data 카탈로그와 각자의 path - Path+Modules.swift: relativeToFeature/Core/Data/Service/Domain 레이어 루트 - TargetDependency+Modules.swift: ModuleTarget 하나와 moduleDependency 헬퍼, 그 위에 레이어별 접근자와 엄브렐러 접근자 rawValue 가 곧 타깃명이자 디렉토리명이 되도록 Domain·Data·Service 의 모듈 디렉토리를 타깃명에 맞춘다(Domain/Auth → Domain/AuthDomain, Data/Auth → Data/AuthData, Service/Ad → Service/AdService). 이제 접미사를 접근자마다 따로 붙이지 않고 moduleDependency 하나로 Interface/구현/Testing 을 가른다. ModuleType 의 feature case 는 microModule 과 같은 configureFeature 로 위임하던 중복이라 없앤다. FeatureModule 카탈로그가 DependencyPlugin 으로 옮겨가면서 ProjectTemplatePlugin 은 이름만 받는다. .api / .apiEndpoint / .model 은 각각 .service(.api) / .service(.apiEndpoint) / .data(.model) 로 카탈로그 안에 들어간다. 빌드 검증은 아직 하지 않았다. tuist generate 는 통과했다. --- .../FeatureModule.swift | 174 ------------------ .../TargetDependency+Module/Modules.swift | 93 +++++++++- .../Path+Modules.swift | 30 ++- .../TargetDependency+Modules.swift | 93 ++++++++-- .../Project+Templete/ModuleType.swift | 26 +-- .../Project+Templete/Project+Template.swift | 15 -- .../TargetDependency+Feature.swift | 65 ------- .../Project.swift | 2 +- .../Sources/AppUpdateLiveDependencies.swift | 0 .../Repository/AppUpdateRepositoryImpl.swift | 0 .../Project.swift | 6 +- .../Sources/AttendanceLiveDependencies.swift | 0 .../Model/DTO/AttendanceCheckDataDTO.swift | 0 .../Sources/Model/DTO/AttendanceDayDTO.swift | 0 .../Model/DTO/AttendanceSummaryDataDTO.swift | 0 .../Model/DTO/WeeklyAttendanceDataDTO.swift | 0 .../Model/Mapper/AttendanceDataDTO+.swift | 0 .../Repository/AttendanceRepositoryImpl.swift | 0 .../Tests/AttendanceRepositoryTests.swift | 0 .../Tests/TestSupport.swift | 0 .../Data/{Auth => AuthData}/Project.swift | 6 +- .../Sources/AuthLiveDependencies.swift | 0 .../Sources/Interceptor/AuthInterceptor.swift | 0 .../SessionInvalidationMonitor.swift | 0 .../Model/Login/DTO/LoginDataDTO.swift | 0 .../Model/Login/Mapper/LoginDataDTO+.swift | 0 .../Sources/Model/Logout/DTO/LogOutDTO.swift | 0 .../Model/Logout/Mapper/LogOutDTO+.swift | 0 .../Sources/Model/Token/DTO/TokenDTO.swift | 0 .../Model/Token/Mapper/TokenDTO+.swift | 0 .../Model/Withdraw/DTO/WithdrawDTO.swift | 0 .../Model/Withdraw/Mapper/WithdrawDTO+.swift | 0 .../RefreshToken/AccessTokenCredential.swift | 0 .../RefreshToken/AuthSessionManager.swift | 0 .../OptimizedSessionManager.swift | 0 .../Repository/AuthRepositoryImpl.swift | 0 .../Google/GoogleOAuthConfiguration.swift | 0 .../Google/GoogleOAuthRepositoryImpl.swift | 0 .../Apple/AppleLoginRepositoryImpl.swift | 0 .../Apple/AppleOAuthRepositoryImpl.swift | 0 .../AuthPresentationContextProvider.swift | 0 .../OAuth/Google/GoogleLoginManager.swift | 0 .../OAuth/Kakao/KakaoOAuthRepository.swift | 0 .../OAuth/Web/OAuthWebViewController.swift | 0 .../Tests/AuthRepositoryTests.swift | 0 .../Tests/AuthRequestMappingTests.swift | 0 .../Tests/TestSupport.swift | 0 .../Data/{Battle => BattleData}/Project.swift | 6 +- .../Sources/BattleLiveDependencies.swift | 0 .../Repository/BattleRepositoryImpl.swift | 0 .../Tests/BattleRepositoryTests.swift | 0 .../Tests/BattleRequestMappingTests.swift | 0 .../Tests/TestSupport.swift | 0 .../{Comment => CommentData}/Project.swift | 6 +- .../Sources/CommentLiveDependencies.swift | 0 .../Repository/CommentRepositoryImpl.swift | 0 .../Tests/CommentRepositoryTests.swift | 0 .../Tests/CommentRequestMappingTests.swift | 0 .../Tests/TestSupport.swift | 0 Projects/Data/DataAssembly/Project.swift | 4 +- .../Data/{Home => HomeData}/Project.swift | 6 +- .../Sources/HomeLiveDependencies.swift | 0 .../Sources/Model/HomeDataDTO+.swift | 0 .../Sources/Model/HomeDataDTO.swift | 0 .../Repository/HomeRepositoryImpl.swift | 0 .../Tests/HomeRepositoryTests.swift | 0 .../Tests/HomeRequestMappingTests.swift | 0 .../Tests/TestSupport.swift | 0 .../Project.swift | 6 +- .../Model/DTO/NotificationDataDTO.swift | 0 .../Model/Mapper/NotificationDataDTO+.swift | 0 .../NotificationLiveDependencies.swift | 0 .../NotificationRepositoryImpl.swift | 0 .../Tests/NotificationRepositoryTests.swift | 0 .../NotificationRequestMappingTests.swift | 0 .../Tests/TestSupport.swift | 0 .../Project.swift | 6 +- .../Sources/PerspectiveLiveDependencies.swift | 0 .../PerspectiveRepositoryImpl.swift | 0 .../Tests/PerspectiveRepositoryTests.swift | 0 .../PerspectiveRequestMappingTests.swift | 0 .../Tests/TestSupport.swift | 0 .../{Profile => ProfileData}/Project.swift | 6 +- .../Model/DTO/BattleRecordDataDTO.swift | 0 .../Model/DTO/ContentActivityDataDTO.swift | 0 .../Model/DTO/CreditHistoryDataDTO.swift | 0 .../Sources/Model/DTO/MyPageDataDTO.swift | 0 .../DTO/NotificationSettingsDataDTO.swift | 0 .../Model/DTO/ProfileUpdateDataDTO.swift | 0 .../Sources/Model/DTO/RecapDataDTO.swift | 0 .../Model/Mapper/BattleRecordDataDTO+.swift | 0 .../Mapper/ContentActivityDataDTO+.swift | 0 .../Model/Mapper/CreditHistoryDataDTO+.swift | 0 .../Sources/Model/Mapper/MyPageDataDTO+.swift | 0 .../Mapper/NotificationSettingsDataDTO+.swift | 0 .../Model/Mapper/ProfileUpdateDataDTO+.swift | 0 .../Sources/Model/Mapper/RecapDataDTO+.swift | 0 .../Sources/ProfileLiveDependencies.swift | 0 .../Repository/ProfileRepositoryImpl.swift | 0 .../Tests/ProfileRepositoryTests.swift | 0 .../Tests/ProfileRequestMappingTests.swift | 0 .../Tests/TestSupport.swift | 0 .../Data/{Search => SearchData}/Project.swift | 6 +- .../Sources/SearchBattleDataDTO+.swift | 0 .../Sources/SearchBattleDataDTO.swift | 0 .../Sources/SearchLiveDependencies.swift | 0 .../Sources/SearchRepositoryImpl.swift | 0 .../Tests/SearchRepositoryTests.swift | 0 .../Tests/SearchRequestMappingTests.swift | 0 .../Tests/TestSupport.swift | 0 .../Interface/AppUpdateInterface.swift | 0 .../Interface/AppUpdateUseCaseInterface.swift | 0 .../Default/MockAppUpdateRepository.swift | 0 .../Default/MockAppUpdateUseCase.swift | 0 .../Interface/Entity/AppUpdateError.swift | 0 .../Interface/Entity/AppUpdateInfo.swift | 0 .../Project.swift | 0 .../Sources/AppUpdateLiveDependencies.swift | 0 .../Sources/AppUpdateUseCaseImpl.swift | 0 .../Testing/AppUpdateDomainTesting.swift | 0 .../Tests/AppUpdateDomainTests.swift | 0 .../Interface/AttendanceCheckResult.swift | 0 .../Interface/AttendanceDay.swift | 0 .../Interface/AttendanceDayStatus.swift | 0 .../Interface/AttendanceError.swift | 0 .../Interface/AttendanceInterface.swift | 0 .../Interface/AttendanceSummary.swift | 0 .../Interface/MockAttendanceRepository.swift | 0 .../Interface/WeeklyAttendance.swift | 0 .../Project.swift | 0 .../Sources/AttendanceLiveDependencies.swift | 0 .../Sources/AttendanceUseCase.swift | 0 .../Testing/AttendanceDomainTesting.swift | 0 .../Tests/AttendanceDomainTests.swift | 0 .../Apple/Default/MockAppleAuthRequest.swift | 0 .../Default/MockAppleOAuthRepository.swift | 0 .../Interface/AppleAuthRequestInterface.swift | 0 .../Apple/Interface/AppleOAuthInterface.swift | 0 .../AppleOAuthProviderInterface.swift | 0 .../Auth/Default/MockAuthRepository.swift | 0 .../Auth/Default/MockAuthUseCase.swift | 0 .../Auth/Interface/AuthInterface.swift | 0 .../Auth/Interface/AuthUseCaseInterface.swift | 0 .../Default/MockGoogleOAuthRepository.swift | 0 .../Interface/GoogleOAuthInterface.swift | 0 .../GoogleOAuthProviderInterface.swift | 0 .../Default/MockKakaoOAuthRepository.swift | 0 .../KakaoOAuthProviderInterface.swift | 0 .../KakaoOAuthRepositoryProtocol.swift | 0 .../Default/MockUnifiedOAuthUseCase.swift | 0 .../UnifiedOAuthUseCaseInterface.swift | 0 .../Entity/Auth/AuthExitEntity.swift | 0 .../Interface/Entity/Auth/SocialType.swift | 0 .../Interface/Entity/Auth/TermsDocument.swift | 0 .../Entity/Auth/WithdrawEntity.swift | 0 .../Interface/Entity/AuthError.swift | 0 .../Entity/OAuth/AppleOAuthPayload.swift | 0 .../Interface/Entity/OAuth/AuthToken.swift | 0 .../Entity/OAuth/GoogleOAuthPayload.swift | 0 .../Entity/OAuth/KakaoOAuthPayload.swift | 0 .../Interface/Entity/OAuth/LoginEntity.swift | 0 .../Interface/Entity/OAuth/UserSession.swift | 0 .../Domain/{Auth => AuthDomain}/Project.swift | 0 .../Sources/Auth/AuthUseCaseImpl.swift | 0 .../Sources/AuthLiveDependencies.swift | 0 .../Sources/Exported/AuthDomainExported.swift | 0 .../Provider/Apple/AppleOAuthProvider.swift | 0 .../Provider/Google/GoogleOAuthProvider.swift | 0 .../Provider/Kakao/KakaoOAuthProvider.swift | 0 .../Sources/OAuth/UnifiedOAuthUseCase.swift | 0 .../Testing/MockAuthRepository.swift | 0 .../Tests/AuthDomainTests.swift | 0 .../Default/MockBattleRepository.swift | 0 .../Contract/Interface/BattleInterface.swift | 0 .../Entity/Battle/Detail/BattleDetail.swift | 0 .../Entity/Battle/Detail/BattleInfo.swift | 0 .../Entity/Battle/Detail/BattleOption.swift | 0 .../Entity/Battle/Detail/BattleStep.swift | 0 .../Entity/Battle/Detail/UserVoteStatus.swift | 0 .../Battle/PreVote/PhilosopherAvatar.swift | 0 .../Entity/Battle/PreVote/PreVoteBattle.swift | 0 .../Entity/Battle/PreVote/PreVoteOption.swift | 0 .../Entity/Battle/PreVote/PreVoteResult.swift | 0 .../Battle/PreVote/PreVoteResultStatus.swift | 0 .../Battle/Recommend/RecommendedBattle.swift | 0 .../Recommend/RecommendedBattleOption.swift | 0 .../Recommend/RecommendedBattlePage.swift | 0 .../Recommend/RecommendedBattleTag.swift | 0 .../Battle/VoteStats/BattleVoteStats.swift | 0 .../VoteStats/BattleVoteStatsOption.swift | 0 .../Battle/VoteStats/VoteOptionSummary.swift | 0 .../Entity/Battle/VoteStats/VoteSummary.swift | 0 .../Interface/Entity/BattleError.swift | 0 .../Perspective/BattlePerspective.swift | 0 .../Perspective/BattlePerspectiveOption.swift | 0 .../Perspective/BattlePerspectivePage.swift | 0 .../Perspective/BattlePerspectiveSort.swift | 0 .../Perspective/BattlePerspectiveUser.swift | 0 .../Entity/Proposal/BattleProposal.swift | 0 .../Proposal/BattleProposalCategory.swift | 0 .../Entity/Proposal/BattleProposalDraft.swift | 0 .../Interface/Entity/TodayBattlePage.swift | 0 .../{Battle => BattleDomain}/Project.swift | 0 .../Sources/Battle/BattleUseCase.swift | 0 .../Sources/BattleLiveDependencies.swift | 0 .../Testing/BattleDomainTesting.swift | 0 .../Tests/BattleDomainTests.swift | 0 .../Interface/CommentInterface.swift | 0 .../Interface/Error/CommentError.swift | 0 .../Interface/Item/Comment.swift | 0 .../Interface/Item/CommentAuthor.swift | 0 .../Interface/Item/CommentFilter.swift | 0 .../Interface/Item/CommentItem.swift | 0 .../Interface/Item/CommentLikeResult.swift | 0 .../Interface/Item/CommentOption.swift | 0 .../Interface/Item/CommentReplyItem.swift | 0 .../Interface/Item/CommentSort.swift | 0 .../Interface/Item/CommentSortType.swift | 0 .../Interface/Item/CommentTab.swift | 0 .../PerspectiveComment.swift | 0 .../PerspectiveCommentMutationResult.swift | 0 .../PerspectiveCommentPage.swift | 0 .../PerspectiveCommentUser.swift | 0 .../{Comment => CommentDomain}/Project.swift | 0 .../Sources/CommentLiveDependencies.swift | 0 .../Sources/CommentUseCase.swift | 0 .../Testing/CommentDomainTesting.swift | 0 .../Tests/CommentDomainTests.swift | 0 .../Interface/Core/HomeBundle.swift | 0 .../Interface/Explore/ExploreCategory.swift | 0 .../Interface/Explore/ExploreItem.swift | 0 .../Interface/Explore/ExploreItemPage.swift | 0 .../Interface/Explore/ExploreSort.swift | 0 .../Interface/Repository/HomeInterface.swift | 0 .../Repository/MockHomeRepository.swift | 0 .../Interface/Scenario/BattleScenario+.swift | 0 .../Interface/Scenario/BattleScenario.swift | 0 .../Interface/Scenario/Chat/ChatMessage.swift | 0 .../Scenario/Chat/ChatRoomBundle.swift | 0 .../Interface/Scenario/Chat/ChatSpeaker.swift | 0 .../Scenario/Chat/ChatSpeakerSide.swift | 0 .../Scenario/RecommendedPathKey.swift | 0 .../Scenario/ScenarioInteractiveOption.swift | 0 .../Interface/Scenario/ScenarioNode.swift | 0 .../Scenario/ScenarioPhilosopher.swift | 0 .../Interface/Scenario/ScenarioScript.swift | 0 .../Scenario/ScenarioSpeakerType.swift | 0 .../Interface/Section/Battle/BestBattle.swift | 0 .../Interface/Section/Battle/HeroBattle.swift | 0 .../Interface/Section/Battle/HotBattle.swift | 0 .../Interface/Section/Battle/NewBattle.swift | 0 .../Interface/Section/QuizQuestion.swift | 0 .../Interface/Section/Vote/VoteOption.swift | 0 .../Interface/Section/Vote/VoteQuestion.swift | 0 .../Interface/Tag/BattleTag.swift | 0 .../Interface/Tag/TagType.swift | 0 .../Domain/{Home => HomeDomain}/Project.swift | 0 .../Sources/HomeLiveDependencies.swift | 0 .../Sources/HomeUseCase.swift | 0 .../Testing/MockHomeRepository.swift | 0 .../Tests/HomeDomainTests.swift | 0 .../MockNotificationRepository.swift | 0 .../Interface/NotificationCategory.swift | 0 .../Interface/NotificationDetail.swift | 0 .../Interface/NotificationError.swift | 0 .../Interface/NotificationInterface.swift | 0 .../Interface/NotificationItem.swift | 0 .../Interface/NotificationPage.swift | 0 .../Project.swift | 0 .../NotificationLiveDependencies.swift | 0 .../Sources/NotificationUseCase.swift | 0 .../Testing/NotificationDomainTesting.swift | 0 .../Tests/NotificationDomainTests.swift | 0 .../Interface/MockPerspectiveRepository.swift | 0 .../Interface/PerspectiveError.swift | 0 .../Interface/PerspectiveInterface.swift | 0 .../Project.swift | 0 .../Sources/PerspectiveLiveDependencies.swift | 0 .../Sources/PerspectiveUseCase.swift | 0 .../Testing/PerspectiveDomainTesting.swift | 0 .../Tests/PerspectiveDomainTests.swift | 0 .../Entity/BattleRecord/BattleRecord.swift | 0 .../BattleRecord/BattleRecordPage.swift | 0 .../Entity/BattleRecord/BattleVoteSide.swift | 0 .../ContentActivity/ContentActivity.swift | 0 .../ContentActivityAuthor.swift | 0 .../ContentActivity/ContentActivityPage.swift | 0 .../ContentActivity/ContentActivityType.swift | 0 .../Entity/Credit/CreditHistoryItem.swift | 0 .../Entity/Credit/CreditHistoryPage.swift | 0 .../Interface/Entity/Error/ProfileError.swift | 0 .../Interface/Entity/MyPage/MyPage.swift | 0 .../Entity/MyPage/MyPhilosopher.swift | 0 .../Interface/Entity/MyPage/MyProfile.swift | 0 .../Interface/Entity/MyPage/MyTier.swift | 0 .../Entity/MyPage/UpdatedProfile.swift | 0 .../Interface/Entity/Notice/NoticeTab.swift | 0 .../Notification/NotificationSettingKey.swift | 0 .../NotificationSettingSection.swift | 0 .../Notification/NotificationSettings.swift | 0 .../Entity/Recap/FavoriteTopic.swift | 0 .../Entity/Recap/PhilosopherRecap.swift | 0 .../Entity/Recap/PreferenceReport.swift | 0 .../Interface/Entity/Recap/RecapCard.swift | 0 .../Entity/Recap/RecapScoreAxis.swift | 0 .../Interface/Entity/Recap/RecapScores.swift | 0 .../Default/MockProfileRepository.swift | 0 .../Interface/ProfileInterface.swift | 0 .../{Profile => ProfileDomain}/Project.swift | 0 .../Exported/ProfileDomainExported.swift | 0 .../Sources/ProfileLiveDependencies.swift | 0 .../Sources/UseCase/ProfileUseCase.swift | 0 .../Testing/ProfileDomainTesting.swift | 0 .../Tests/ProfileDomainTests.swift | 0 .../Sources/MockSearchRepository.swift | 0 .../Interface/Sources/SearchInterface.swift | 0 .../{Search => SearchDomain}/Project.swift | 0 .../Sources/SearchLiveDependencies.swift | 0 .../Sources/SearchUseCase.swift | 0 .../Testing/Sources/SearchDomainTesting.swift | 0 .../Tests/Sources/SearchDomainTests.swift | 0 Projects/Feature/Auth/Project.swift | 2 +- Projects/Feature/Battle/Project.swift | 2 +- Projects/Feature/Chat/Project.swift | 2 +- .../Feature/FeatureAssembly/Project.swift | 18 +- Projects/Feature/Hifi/Project.swift | 2 +- Projects/Feature/Home/Project.swift | 2 +- Projects/Feature/Notification/Project.swift | 2 +- Projects/Feature/Profile/Project.swift | 2 +- Projects/Feature/Splash/Project.swift | 2 +- Projects/Feature/Web/Project.swift | 2 +- Projects/Service/APIEndpoint/Project.swift | 2 +- .../Interface/UseCase/RewardedAdClient.swift | 0 .../Service/{Ad => AdService}/Project.swift | 0 .../Sources/AdBannerSkeletonView.swift | 0 .../Sources/AdFitBannerView.swift | 0 .../Sources/AdFitNativeAdView.swift | 0 .../Sources/AppStartPopupAd.swift | 0 .../UseCase/RewardedAdClient+Live.swift | 0 .../Testing/AdServiceTesting.swift | 0 .../Tests/AdServiceTests.swift | 0 .../Interface/Event/AdClickData.swift | 0 .../Interface/Event/AdPlacement.swift | 0 .../Interface/Event/AnalyticsButton.swift | 0 .../Interface/Event/AnalyticsEvent.swift | 0 .../Interface/Event/AnalyticsProvider.swift | 0 .../Interface/Event/AnalyticsScreen.swift | 0 .../Interface/Event/BattleStepData.swift | 0 .../Interface/Event/CommunityActionData.swift | 0 .../Interface/Event/ContentActionData.swift | 0 .../Interface/Event/EngagementAction.swift | 0 .../Event/NotificationActionData.swift | 0 .../Interface/Event/OnboardingStep.swift | 0 .../Interface/Event/PlaybackAction.swift | 0 .../Interface/Event/PointActionData.swift | 0 .../Interface/Event/ReportActionData.swift | 0 .../Interface/Event/ShareActionData.swift | 0 .../Interface/UseCase/AnalyticsUseCase.swift | 0 .../Project.swift | 0 .../UseCase/AnalyticsUseCase+Live.swift | 0 .../Testing/AnalyticsServiceTesting.swift | 0 .../Tests/AnalyticsServiceTests.swift | 0 .../Interface/AudioPlayerInterface.swift | 0 .../Project.swift | 0 .../Sources/AudioPlayerRepositoryImpl.swift | 0 .../Testing/AudioPlayerServiceTesting.swift | 0 .../Tests/AudioPlayerServiceTests.swift | 0 .../Interface/Entity/DevicePlatform.swift | 0 .../Interface/UseCase/DeviceInterface.swift | 0 .../Interface/UseCase/DeviceUseCase.swift | 0 .../{Device => DeviceService}/Project.swift | 4 +- .../Repository/DeviceRepositoryImpl.swift | 0 .../Sources/UseCase/DeviceUseCase+Live.swift | 0 .../Testing/DeviceServiceTesting.swift | 0 .../Tests/DeviceServiceTests.swift | 0 .../Service/ServiceAssembly/Project.swift | 2 +- docs/domain-data-feature-architecture.md | 8 +- 377 files changed, 249 insertions(+), 359 deletions(-) delete mode 100644 Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/FeatureModule.swift delete mode 100644 Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/TargetDependency+Feature.swift rename Projects/Data/{AppUpdate => AppUpdateData}/Project.swift (96%) rename Projects/Data/{AppUpdate => AppUpdateData}/Sources/AppUpdateLiveDependencies.swift (100%) rename Projects/Data/{AppUpdate => AppUpdateData}/Sources/Repository/AppUpdateRepositoryImpl.swift (100%) rename Projects/Data/{Attendance => AttendanceData}/Project.swift (89%) rename Projects/Data/{Attendance => AttendanceData}/Sources/AttendanceLiveDependencies.swift (100%) rename Projects/Data/{Attendance => AttendanceData}/Sources/Model/DTO/AttendanceCheckDataDTO.swift (100%) rename Projects/Data/{Attendance => AttendanceData}/Sources/Model/DTO/AttendanceDayDTO.swift (100%) rename Projects/Data/{Attendance => AttendanceData}/Sources/Model/DTO/AttendanceSummaryDataDTO.swift (100%) rename Projects/Data/{Attendance => AttendanceData}/Sources/Model/DTO/WeeklyAttendanceDataDTO.swift (100%) rename Projects/Data/{Attendance => AttendanceData}/Sources/Model/Mapper/AttendanceDataDTO+.swift (100%) rename Projects/Data/{Attendance => AttendanceData}/Sources/Repository/AttendanceRepositoryImpl.swift (100%) rename Projects/Data/{Attendance => AttendanceData}/Tests/AttendanceRepositoryTests.swift (100%) rename Projects/Data/{Attendance => AttendanceData}/Tests/TestSupport.swift (100%) rename Projects/Data/{Auth => AuthData}/Project.swift (89%) rename Projects/Data/{Auth => AuthData}/Sources/AuthLiveDependencies.swift (100%) rename Projects/Data/{Auth => AuthData}/Sources/Interceptor/AuthInterceptor.swift (100%) rename Projects/Data/{Auth => AuthData}/Sources/Interceptor/SessionInvalidationMonitor.swift (100%) rename Projects/Data/{Auth => AuthData}/Sources/Model/Login/DTO/LoginDataDTO.swift (100%) rename Projects/Data/{Auth => AuthData}/Sources/Model/Login/Mapper/LoginDataDTO+.swift (100%) rename Projects/Data/{Auth => AuthData}/Sources/Model/Logout/DTO/LogOutDTO.swift (100%) rename Projects/Data/{Auth => AuthData}/Sources/Model/Logout/Mapper/LogOutDTO+.swift (100%) rename Projects/Data/{Auth => AuthData}/Sources/Model/Token/DTO/TokenDTO.swift (100%) rename Projects/Data/{Auth => AuthData}/Sources/Model/Token/Mapper/TokenDTO+.swift (100%) rename Projects/Data/{Auth => AuthData}/Sources/Model/Withdraw/DTO/WithdrawDTO.swift (100%) rename Projects/Data/{Auth => AuthData}/Sources/Model/Withdraw/Mapper/WithdrawDTO+.swift (100%) rename Projects/Data/{Auth => AuthData}/Sources/RefreshToken/AccessTokenCredential.swift (100%) rename Projects/Data/{Auth => AuthData}/Sources/RefreshToken/AuthSessionManager.swift (100%) rename Projects/Data/{Auth => AuthData}/Sources/RefreshToken/OptimizedSessionManager.swift (100%) rename Projects/Data/{Auth => AuthData}/Sources/Repository/AuthRepositoryImpl.swift (100%) rename Projects/Data/{Auth => AuthData}/Sources/Repository/Google/GoogleOAuthConfiguration.swift (100%) rename Projects/Data/{Auth => AuthData}/Sources/Repository/Google/GoogleOAuthRepositoryImpl.swift (100%) rename Projects/Data/{Auth => AuthData}/Sources/Repository/OAuth/Apple/AppleLoginRepositoryImpl.swift (100%) rename Projects/Data/{Auth => AuthData}/Sources/Repository/OAuth/Apple/AppleOAuthRepositoryImpl.swift (100%) rename Projects/Data/{Auth => AuthData}/Sources/Repository/OAuth/AuthPresentationContextProvider.swift (100%) rename Projects/Data/{Auth => AuthData}/Sources/Repository/OAuth/Google/GoogleLoginManager.swift (100%) rename Projects/Data/{Auth => AuthData}/Sources/Repository/OAuth/Kakao/KakaoOAuthRepository.swift (100%) rename Projects/Data/{Auth => AuthData}/Sources/Repository/OAuth/Web/OAuthWebViewController.swift (100%) rename Projects/Data/{Auth => AuthData}/Tests/AuthRepositoryTests.swift (100%) rename Projects/Data/{Auth => AuthData}/Tests/AuthRequestMappingTests.swift (100%) rename Projects/Data/{Auth => AuthData}/Tests/TestSupport.swift (100%) rename Projects/Data/{Battle => BattleData}/Project.swift (89%) rename Projects/Data/{Battle => BattleData}/Sources/BattleLiveDependencies.swift (100%) rename Projects/Data/{Battle => BattleData}/Sources/Repository/BattleRepositoryImpl.swift (100%) rename Projects/Data/{Battle => BattleData}/Tests/BattleRepositoryTests.swift (100%) rename Projects/Data/{Battle => BattleData}/Tests/BattleRequestMappingTests.swift (100%) rename Projects/Data/{Battle => BattleData}/Tests/TestSupport.swift (100%) rename Projects/Data/{Comment => CommentData}/Project.swift (89%) rename Projects/Data/{Comment => CommentData}/Sources/CommentLiveDependencies.swift (100%) rename Projects/Data/{Comment => CommentData}/Sources/Repository/CommentRepositoryImpl.swift (100%) rename Projects/Data/{Comment => CommentData}/Tests/CommentRepositoryTests.swift (100%) rename Projects/Data/{Comment => CommentData}/Tests/CommentRequestMappingTests.swift (100%) rename Projects/Data/{Comment => CommentData}/Tests/TestSupport.swift (100%) rename Projects/Data/{Home => HomeData}/Project.swift (89%) rename Projects/Data/{Home => HomeData}/Sources/HomeLiveDependencies.swift (100%) rename Projects/Data/{Home => HomeData}/Sources/Model/HomeDataDTO+.swift (100%) rename Projects/Data/{Home => HomeData}/Sources/Model/HomeDataDTO.swift (100%) rename Projects/Data/{Home => HomeData}/Sources/Repository/HomeRepositoryImpl.swift (100%) rename Projects/Data/{Home => HomeData}/Tests/HomeRepositoryTests.swift (100%) rename Projects/Data/{Home => HomeData}/Tests/HomeRequestMappingTests.swift (100%) rename Projects/Data/{Home => HomeData}/Tests/TestSupport.swift (100%) rename Projects/Data/{Notification => NotificationData}/Project.swift (89%) rename Projects/Data/{Notification => NotificationData}/Sources/Model/DTO/NotificationDataDTO.swift (100%) rename Projects/Data/{Notification => NotificationData}/Sources/Model/Mapper/NotificationDataDTO+.swift (100%) rename Projects/Data/{Notification => NotificationData}/Sources/NotificationLiveDependencies.swift (100%) rename Projects/Data/{Notification => NotificationData}/Sources/Repository/NotificationRepositoryImpl.swift (100%) rename Projects/Data/{Notification => NotificationData}/Tests/NotificationRepositoryTests.swift (100%) rename Projects/Data/{Notification => NotificationData}/Tests/NotificationRequestMappingTests.swift (100%) rename Projects/Data/{Notification => NotificationData}/Tests/TestSupport.swift (100%) rename Projects/Data/{Perspective => PerspectiveData}/Project.swift (90%) rename Projects/Data/{Perspective => PerspectiveData}/Sources/PerspectiveLiveDependencies.swift (100%) rename Projects/Data/{Perspective => PerspectiveData}/Sources/Repository/PerspectiveRepositoryImpl.swift (100%) rename Projects/Data/{Perspective => PerspectiveData}/Tests/PerspectiveRepositoryTests.swift (100%) rename Projects/Data/{Perspective => PerspectiveData}/Tests/PerspectiveRequestMappingTests.swift (100%) rename Projects/Data/{Perspective => PerspectiveData}/Tests/TestSupport.swift (100%) rename Projects/Data/{Profile => ProfileData}/Project.swift (89%) rename Projects/Data/{Profile => ProfileData}/Sources/Model/DTO/BattleRecordDataDTO.swift (100%) rename Projects/Data/{Profile => ProfileData}/Sources/Model/DTO/ContentActivityDataDTO.swift (100%) rename Projects/Data/{Profile => ProfileData}/Sources/Model/DTO/CreditHistoryDataDTO.swift (100%) rename Projects/Data/{Profile => ProfileData}/Sources/Model/DTO/MyPageDataDTO.swift (100%) rename Projects/Data/{Profile => ProfileData}/Sources/Model/DTO/NotificationSettingsDataDTO.swift (100%) rename Projects/Data/{Profile => ProfileData}/Sources/Model/DTO/ProfileUpdateDataDTO.swift (100%) rename Projects/Data/{Profile => ProfileData}/Sources/Model/DTO/RecapDataDTO.swift (100%) rename Projects/Data/{Profile => ProfileData}/Sources/Model/Mapper/BattleRecordDataDTO+.swift (100%) rename Projects/Data/{Profile => ProfileData}/Sources/Model/Mapper/ContentActivityDataDTO+.swift (100%) rename Projects/Data/{Profile => ProfileData}/Sources/Model/Mapper/CreditHistoryDataDTO+.swift (100%) rename Projects/Data/{Profile => ProfileData}/Sources/Model/Mapper/MyPageDataDTO+.swift (100%) rename Projects/Data/{Profile => ProfileData}/Sources/Model/Mapper/NotificationSettingsDataDTO+.swift (100%) rename Projects/Data/{Profile => ProfileData}/Sources/Model/Mapper/ProfileUpdateDataDTO+.swift (100%) rename Projects/Data/{Profile => ProfileData}/Sources/Model/Mapper/RecapDataDTO+.swift (100%) rename Projects/Data/{Profile => ProfileData}/Sources/ProfileLiveDependencies.swift (100%) rename Projects/Data/{Profile => ProfileData}/Sources/Repository/ProfileRepositoryImpl.swift (100%) rename Projects/Data/{Profile => ProfileData}/Tests/ProfileRepositoryTests.swift (100%) rename Projects/Data/{Profile => ProfileData}/Tests/ProfileRequestMappingTests.swift (100%) rename Projects/Data/{Profile => ProfileData}/Tests/TestSupport.swift (100%) rename Projects/Data/{Search => SearchData}/Project.swift (90%) rename Projects/Data/{Search => SearchData}/Sources/SearchBattleDataDTO+.swift (100%) rename Projects/Data/{Search => SearchData}/Sources/SearchBattleDataDTO.swift (100%) rename Projects/Data/{Search => SearchData}/Sources/SearchLiveDependencies.swift (100%) rename Projects/Data/{Search => SearchData}/Sources/SearchRepositoryImpl.swift (100%) rename Projects/Data/{Search => SearchData}/Tests/SearchRepositoryTests.swift (100%) rename Projects/Data/{Search => SearchData}/Tests/SearchRequestMappingTests.swift (100%) rename Projects/Data/{Search => SearchData}/Tests/TestSupport.swift (100%) rename Projects/Domain/{AppUpdate => AppUpdateDomain}/Interface/AppUpdateInterface.swift (100%) rename Projects/Domain/{AppUpdate => AppUpdateDomain}/Interface/AppUpdateUseCaseInterface.swift (100%) rename Projects/Domain/{AppUpdate => AppUpdateDomain}/Interface/Default/MockAppUpdateRepository.swift (100%) rename Projects/Domain/{AppUpdate => AppUpdateDomain}/Interface/Default/MockAppUpdateUseCase.swift (100%) rename Projects/Domain/{AppUpdate => AppUpdateDomain}/Interface/Entity/AppUpdateError.swift (100%) rename Projects/Domain/{AppUpdate => AppUpdateDomain}/Interface/Entity/AppUpdateInfo.swift (100%) rename Projects/Domain/{AppUpdate => AppUpdateDomain}/Project.swift (100%) rename Projects/Domain/{AppUpdate => AppUpdateDomain}/Sources/AppUpdateLiveDependencies.swift (100%) rename Projects/Domain/{AppUpdate => AppUpdateDomain}/Sources/AppUpdateUseCaseImpl.swift (100%) rename Projects/Domain/{AppUpdate => AppUpdateDomain}/Testing/AppUpdateDomainTesting.swift (100%) rename Projects/Domain/{AppUpdate => AppUpdateDomain}/Tests/AppUpdateDomainTests.swift (100%) rename Projects/Domain/{Attendance => AttendanceDomain}/Interface/AttendanceCheckResult.swift (100%) rename Projects/Domain/{Attendance => AttendanceDomain}/Interface/AttendanceDay.swift (100%) rename Projects/Domain/{Attendance => AttendanceDomain}/Interface/AttendanceDayStatus.swift (100%) rename Projects/Domain/{Attendance => AttendanceDomain}/Interface/AttendanceError.swift (100%) rename Projects/Domain/{Attendance => AttendanceDomain}/Interface/AttendanceInterface.swift (100%) rename Projects/Domain/{Attendance => AttendanceDomain}/Interface/AttendanceSummary.swift (100%) rename Projects/Domain/{Attendance => AttendanceDomain}/Interface/MockAttendanceRepository.swift (100%) rename Projects/Domain/{Attendance => AttendanceDomain}/Interface/WeeklyAttendance.swift (100%) rename Projects/Domain/{Attendance => AttendanceDomain}/Project.swift (100%) rename Projects/Domain/{Attendance => AttendanceDomain}/Sources/AttendanceLiveDependencies.swift (100%) rename Projects/Domain/{Attendance => AttendanceDomain}/Sources/AttendanceUseCase.swift (100%) rename Projects/Domain/{Attendance => AttendanceDomain}/Testing/AttendanceDomainTesting.swift (100%) rename Projects/Domain/{Attendance => AttendanceDomain}/Tests/AttendanceDomainTests.swift (100%) rename Projects/Domain/{Auth => AuthDomain}/Interface/Contract/Apple/Default/MockAppleAuthRequest.swift (100%) rename Projects/Domain/{Auth => AuthDomain}/Interface/Contract/Apple/Default/MockAppleOAuthRepository.swift (100%) rename Projects/Domain/{Auth => AuthDomain}/Interface/Contract/Apple/Interface/AppleAuthRequestInterface.swift (100%) rename Projects/Domain/{Auth => AuthDomain}/Interface/Contract/Apple/Interface/AppleOAuthInterface.swift (100%) rename Projects/Domain/{Auth => AuthDomain}/Interface/Contract/Apple/Interface/AppleOAuthProviderInterface.swift (100%) rename Projects/Domain/{Auth => AuthDomain}/Interface/Contract/Auth/Default/MockAuthRepository.swift (100%) rename Projects/Domain/{Auth => AuthDomain}/Interface/Contract/Auth/Default/MockAuthUseCase.swift (100%) rename Projects/Domain/{Auth => AuthDomain}/Interface/Contract/Auth/Interface/AuthInterface.swift (100%) rename Projects/Domain/{Auth => AuthDomain}/Interface/Contract/Auth/Interface/AuthUseCaseInterface.swift (100%) rename Projects/Domain/{Auth => AuthDomain}/Interface/Contract/Google/Default/MockGoogleOAuthRepository.swift (100%) rename Projects/Domain/{Auth => AuthDomain}/Interface/Contract/Google/Interface/GoogleOAuthInterface.swift (100%) rename Projects/Domain/{Auth => AuthDomain}/Interface/Contract/Google/Interface/GoogleOAuthProviderInterface.swift (100%) rename Projects/Domain/{Auth => AuthDomain}/Interface/Contract/Kakao/Default/MockKakaoOAuthRepository.swift (100%) rename Projects/Domain/{Auth => AuthDomain}/Interface/Contract/Kakao/Interface/KakaoOAuthProviderInterface.swift (100%) rename Projects/Domain/{Auth => AuthDomain}/Interface/Contract/Kakao/Interface/KakaoOAuthRepositoryProtocol.swift (100%) rename Projects/Domain/{Auth => AuthDomain}/Interface/Contract/OAuth/Default/MockUnifiedOAuthUseCase.swift (100%) rename Projects/Domain/{Auth => AuthDomain}/Interface/Contract/OAuth/Interface/UnifiedOAuthUseCaseInterface.swift (100%) rename Projects/Domain/{Auth => AuthDomain}/Interface/Entity/Auth/AuthExitEntity.swift (100%) rename Projects/Domain/{Auth => AuthDomain}/Interface/Entity/Auth/SocialType.swift (100%) rename Projects/Domain/{Auth => AuthDomain}/Interface/Entity/Auth/TermsDocument.swift (100%) rename Projects/Domain/{Auth => AuthDomain}/Interface/Entity/Auth/WithdrawEntity.swift (100%) rename Projects/Domain/{Auth => AuthDomain}/Interface/Entity/AuthError.swift (100%) rename Projects/Domain/{Auth => AuthDomain}/Interface/Entity/OAuth/AppleOAuthPayload.swift (100%) rename Projects/Domain/{Auth => AuthDomain}/Interface/Entity/OAuth/AuthToken.swift (100%) rename Projects/Domain/{Auth => AuthDomain}/Interface/Entity/OAuth/GoogleOAuthPayload.swift (100%) rename Projects/Domain/{Auth => AuthDomain}/Interface/Entity/OAuth/KakaoOAuthPayload.swift (100%) rename Projects/Domain/{Auth => AuthDomain}/Interface/Entity/OAuth/LoginEntity.swift (100%) rename Projects/Domain/{Auth => AuthDomain}/Interface/Entity/OAuth/UserSession.swift (100%) rename Projects/Domain/{Auth => AuthDomain}/Project.swift (100%) rename Projects/Domain/{Auth => AuthDomain}/Sources/Auth/AuthUseCaseImpl.swift (100%) rename Projects/Domain/{Auth => AuthDomain}/Sources/AuthLiveDependencies.swift (100%) rename Projects/Domain/{Auth => AuthDomain}/Sources/Exported/AuthDomainExported.swift (100%) rename Projects/Domain/{Auth => AuthDomain}/Sources/OAuth/Provider/Apple/AppleOAuthProvider.swift (100%) rename Projects/Domain/{Auth => AuthDomain}/Sources/OAuth/Provider/Google/GoogleOAuthProvider.swift (100%) rename Projects/Domain/{Auth => AuthDomain}/Sources/OAuth/Provider/Kakao/KakaoOAuthProvider.swift (100%) rename Projects/Domain/{Auth => AuthDomain}/Sources/OAuth/UnifiedOAuthUseCase.swift (100%) rename Projects/Domain/{Auth => AuthDomain}/Testing/MockAuthRepository.swift (100%) rename Projects/Domain/{Auth => AuthDomain}/Tests/AuthDomainTests.swift (100%) rename Projects/Domain/{Battle => BattleDomain}/Interface/Contract/Default/MockBattleRepository.swift (100%) rename Projects/Domain/{Battle => BattleDomain}/Interface/Contract/Interface/BattleInterface.swift (100%) rename Projects/Domain/{Battle => BattleDomain}/Interface/Entity/Battle/Detail/BattleDetail.swift (100%) rename Projects/Domain/{Battle => BattleDomain}/Interface/Entity/Battle/Detail/BattleInfo.swift (100%) rename Projects/Domain/{Battle => BattleDomain}/Interface/Entity/Battle/Detail/BattleOption.swift (100%) rename Projects/Domain/{Battle => BattleDomain}/Interface/Entity/Battle/Detail/BattleStep.swift (100%) rename Projects/Domain/{Battle => BattleDomain}/Interface/Entity/Battle/Detail/UserVoteStatus.swift (100%) rename Projects/Domain/{Battle => BattleDomain}/Interface/Entity/Battle/PreVote/PhilosopherAvatar.swift (100%) rename Projects/Domain/{Battle => BattleDomain}/Interface/Entity/Battle/PreVote/PreVoteBattle.swift (100%) rename Projects/Domain/{Battle => BattleDomain}/Interface/Entity/Battle/PreVote/PreVoteOption.swift (100%) rename Projects/Domain/{Battle => BattleDomain}/Interface/Entity/Battle/PreVote/PreVoteResult.swift (100%) rename Projects/Domain/{Battle => BattleDomain}/Interface/Entity/Battle/PreVote/PreVoteResultStatus.swift (100%) rename Projects/Domain/{Battle => BattleDomain}/Interface/Entity/Battle/Recommend/RecommendedBattle.swift (100%) rename Projects/Domain/{Battle => BattleDomain}/Interface/Entity/Battle/Recommend/RecommendedBattleOption.swift (100%) rename Projects/Domain/{Battle => BattleDomain}/Interface/Entity/Battle/Recommend/RecommendedBattlePage.swift (100%) rename Projects/Domain/{Battle => BattleDomain}/Interface/Entity/Battle/Recommend/RecommendedBattleTag.swift (100%) rename Projects/Domain/{Battle => BattleDomain}/Interface/Entity/Battle/VoteStats/BattleVoteStats.swift (100%) rename Projects/Domain/{Battle => BattleDomain}/Interface/Entity/Battle/VoteStats/BattleVoteStatsOption.swift (100%) rename Projects/Domain/{Battle => BattleDomain}/Interface/Entity/Battle/VoteStats/VoteOptionSummary.swift (100%) rename Projects/Domain/{Battle => BattleDomain}/Interface/Entity/Battle/VoteStats/VoteSummary.swift (100%) rename Projects/Domain/{Battle => BattleDomain}/Interface/Entity/BattleError.swift (100%) rename Projects/Domain/{Battle => BattleDomain}/Interface/Entity/Perspective/BattlePerspective.swift (100%) rename Projects/Domain/{Battle => BattleDomain}/Interface/Entity/Perspective/BattlePerspectiveOption.swift (100%) rename Projects/Domain/{Battle => BattleDomain}/Interface/Entity/Perspective/BattlePerspectivePage.swift (100%) rename Projects/Domain/{Battle => BattleDomain}/Interface/Entity/Perspective/BattlePerspectiveSort.swift (100%) rename Projects/Domain/{Battle => BattleDomain}/Interface/Entity/Perspective/BattlePerspectiveUser.swift (100%) rename Projects/Domain/{Battle => BattleDomain}/Interface/Entity/Proposal/BattleProposal.swift (100%) rename Projects/Domain/{Battle => BattleDomain}/Interface/Entity/Proposal/BattleProposalCategory.swift (100%) rename Projects/Domain/{Battle => BattleDomain}/Interface/Entity/Proposal/BattleProposalDraft.swift (100%) rename Projects/Domain/{Battle => BattleDomain}/Interface/Entity/TodayBattlePage.swift (100%) rename Projects/Domain/{Battle => BattleDomain}/Project.swift (100%) rename Projects/Domain/{Battle => BattleDomain}/Sources/Battle/BattleUseCase.swift (100%) rename Projects/Domain/{Battle => BattleDomain}/Sources/BattleLiveDependencies.swift (100%) rename Projects/Domain/{Battle => BattleDomain}/Testing/BattleDomainTesting.swift (100%) rename Projects/Domain/{Battle => BattleDomain}/Tests/BattleDomainTests.swift (100%) rename Projects/Domain/{Comment => CommentDomain}/Interface/CommentInterface.swift (100%) rename Projects/Domain/{Comment => CommentDomain}/Interface/Error/CommentError.swift (100%) rename Projects/Domain/{Comment => CommentDomain}/Interface/Item/Comment.swift (100%) rename Projects/Domain/{Comment => CommentDomain}/Interface/Item/CommentAuthor.swift (100%) rename Projects/Domain/{Comment => CommentDomain}/Interface/Item/CommentFilter.swift (100%) rename Projects/Domain/{Comment => CommentDomain}/Interface/Item/CommentItem.swift (100%) rename Projects/Domain/{Comment => CommentDomain}/Interface/Item/CommentLikeResult.swift (100%) rename Projects/Domain/{Comment => CommentDomain}/Interface/Item/CommentOption.swift (100%) rename Projects/Domain/{Comment => CommentDomain}/Interface/Item/CommentReplyItem.swift (100%) rename Projects/Domain/{Comment => CommentDomain}/Interface/Item/CommentSort.swift (100%) rename Projects/Domain/{Comment => CommentDomain}/Interface/Item/CommentSortType.swift (100%) rename Projects/Domain/{Comment => CommentDomain}/Interface/Item/CommentTab.swift (100%) rename Projects/Domain/{Comment => CommentDomain}/Interface/PerspectiveComment/PerspectiveComment.swift (100%) rename Projects/Domain/{Comment => CommentDomain}/Interface/PerspectiveComment/PerspectiveCommentMutationResult.swift (100%) rename Projects/Domain/{Comment => CommentDomain}/Interface/PerspectiveComment/PerspectiveCommentPage.swift (100%) rename Projects/Domain/{Comment => CommentDomain}/Interface/PerspectiveComment/PerspectiveCommentUser.swift (100%) rename Projects/Domain/{Comment => CommentDomain}/Project.swift (100%) rename Projects/Domain/{Comment => CommentDomain}/Sources/CommentLiveDependencies.swift (100%) rename Projects/Domain/{Comment => CommentDomain}/Sources/CommentUseCase.swift (100%) rename Projects/Domain/{Comment => CommentDomain}/Testing/CommentDomainTesting.swift (100%) rename Projects/Domain/{Comment => CommentDomain}/Tests/CommentDomainTests.swift (100%) rename Projects/Domain/{Home => HomeDomain}/Interface/Core/HomeBundle.swift (100%) rename Projects/Domain/{Home => HomeDomain}/Interface/Explore/ExploreCategory.swift (100%) rename Projects/Domain/{Home => HomeDomain}/Interface/Explore/ExploreItem.swift (100%) rename Projects/Domain/{Home => HomeDomain}/Interface/Explore/ExploreItemPage.swift (100%) rename Projects/Domain/{Home => HomeDomain}/Interface/Explore/ExploreSort.swift (100%) rename Projects/Domain/{Home => HomeDomain}/Interface/Repository/HomeInterface.swift (100%) rename Projects/Domain/{Home => HomeDomain}/Interface/Repository/MockHomeRepository.swift (100%) rename Projects/Domain/{Home => HomeDomain}/Interface/Scenario/BattleScenario+.swift (100%) rename Projects/Domain/{Home => HomeDomain}/Interface/Scenario/BattleScenario.swift (100%) rename Projects/Domain/{Home => HomeDomain}/Interface/Scenario/Chat/ChatMessage.swift (100%) rename Projects/Domain/{Home => HomeDomain}/Interface/Scenario/Chat/ChatRoomBundle.swift (100%) rename Projects/Domain/{Home => HomeDomain}/Interface/Scenario/Chat/ChatSpeaker.swift (100%) rename Projects/Domain/{Home => HomeDomain}/Interface/Scenario/Chat/ChatSpeakerSide.swift (100%) rename Projects/Domain/{Home => HomeDomain}/Interface/Scenario/RecommendedPathKey.swift (100%) rename Projects/Domain/{Home => HomeDomain}/Interface/Scenario/ScenarioInteractiveOption.swift (100%) rename Projects/Domain/{Home => HomeDomain}/Interface/Scenario/ScenarioNode.swift (100%) rename Projects/Domain/{Home => HomeDomain}/Interface/Scenario/ScenarioPhilosopher.swift (100%) rename Projects/Domain/{Home => HomeDomain}/Interface/Scenario/ScenarioScript.swift (100%) rename Projects/Domain/{Home => HomeDomain}/Interface/Scenario/ScenarioSpeakerType.swift (100%) rename Projects/Domain/{Home => HomeDomain}/Interface/Section/Battle/BestBattle.swift (100%) rename Projects/Domain/{Home => HomeDomain}/Interface/Section/Battle/HeroBattle.swift (100%) rename Projects/Domain/{Home => HomeDomain}/Interface/Section/Battle/HotBattle.swift (100%) rename Projects/Domain/{Home => HomeDomain}/Interface/Section/Battle/NewBattle.swift (100%) rename Projects/Domain/{Home => HomeDomain}/Interface/Section/QuizQuestion.swift (100%) rename Projects/Domain/{Home => HomeDomain}/Interface/Section/Vote/VoteOption.swift (100%) rename Projects/Domain/{Home => HomeDomain}/Interface/Section/Vote/VoteQuestion.swift (100%) rename Projects/Domain/{Home => HomeDomain}/Interface/Tag/BattleTag.swift (100%) rename Projects/Domain/{Home => HomeDomain}/Interface/Tag/TagType.swift (100%) rename Projects/Domain/{Home => HomeDomain}/Project.swift (100%) rename Projects/Domain/{Home => HomeDomain}/Sources/HomeLiveDependencies.swift (100%) rename Projects/Domain/{Home => HomeDomain}/Sources/HomeUseCase.swift (100%) rename Projects/Domain/{Home => HomeDomain}/Testing/MockHomeRepository.swift (100%) rename Projects/Domain/{Home => HomeDomain}/Tests/HomeDomainTests.swift (100%) rename Projects/Domain/{Notification => NotificationDomain}/Interface/MockNotificationRepository.swift (100%) rename Projects/Domain/{Notification => NotificationDomain}/Interface/NotificationCategory.swift (100%) rename Projects/Domain/{Notification => NotificationDomain}/Interface/NotificationDetail.swift (100%) rename Projects/Domain/{Notification => NotificationDomain}/Interface/NotificationError.swift (100%) rename Projects/Domain/{Notification => NotificationDomain}/Interface/NotificationInterface.swift (100%) rename Projects/Domain/{Notification => NotificationDomain}/Interface/NotificationItem.swift (100%) rename Projects/Domain/{Notification => NotificationDomain}/Interface/NotificationPage.swift (100%) rename Projects/Domain/{Notification => NotificationDomain}/Project.swift (100%) rename Projects/Domain/{Notification => NotificationDomain}/Sources/NotificationLiveDependencies.swift (100%) rename Projects/Domain/{Notification => NotificationDomain}/Sources/NotificationUseCase.swift (100%) rename Projects/Domain/{Notification => NotificationDomain}/Testing/NotificationDomainTesting.swift (100%) rename Projects/Domain/{Notification => NotificationDomain}/Tests/NotificationDomainTests.swift (100%) rename Projects/Domain/{Perspective => PerspectiveDomain}/Interface/MockPerspectiveRepository.swift (100%) rename Projects/Domain/{Perspective => PerspectiveDomain}/Interface/PerspectiveError.swift (100%) rename Projects/Domain/{Perspective => PerspectiveDomain}/Interface/PerspectiveInterface.swift (100%) rename Projects/Domain/{Perspective => PerspectiveDomain}/Project.swift (100%) rename Projects/Domain/{Perspective => PerspectiveDomain}/Sources/PerspectiveLiveDependencies.swift (100%) rename Projects/Domain/{Perspective => PerspectiveDomain}/Sources/PerspectiveUseCase.swift (100%) rename Projects/Domain/{Perspective => PerspectiveDomain}/Testing/PerspectiveDomainTesting.swift (100%) rename Projects/Domain/{Perspective => PerspectiveDomain}/Tests/PerspectiveDomainTests.swift (100%) rename Projects/Domain/{Profile => ProfileDomain}/Interface/Entity/BattleRecord/BattleRecord.swift (100%) rename Projects/Domain/{Profile => ProfileDomain}/Interface/Entity/BattleRecord/BattleRecordPage.swift (100%) rename Projects/Domain/{Profile => ProfileDomain}/Interface/Entity/BattleRecord/BattleVoteSide.swift (100%) rename Projects/Domain/{Profile => ProfileDomain}/Interface/Entity/ContentActivity/ContentActivity.swift (100%) rename Projects/Domain/{Profile => ProfileDomain}/Interface/Entity/ContentActivity/ContentActivityAuthor.swift (100%) rename Projects/Domain/{Profile => ProfileDomain}/Interface/Entity/ContentActivity/ContentActivityPage.swift (100%) rename Projects/Domain/{Profile => ProfileDomain}/Interface/Entity/ContentActivity/ContentActivityType.swift (100%) rename Projects/Domain/{Profile => ProfileDomain}/Interface/Entity/Credit/CreditHistoryItem.swift (100%) rename Projects/Domain/{Profile => ProfileDomain}/Interface/Entity/Credit/CreditHistoryPage.swift (100%) rename Projects/Domain/{Profile => ProfileDomain}/Interface/Entity/Error/ProfileError.swift (100%) rename Projects/Domain/{Profile => ProfileDomain}/Interface/Entity/MyPage/MyPage.swift (100%) rename Projects/Domain/{Profile => ProfileDomain}/Interface/Entity/MyPage/MyPhilosopher.swift (100%) rename Projects/Domain/{Profile => ProfileDomain}/Interface/Entity/MyPage/MyProfile.swift (100%) rename Projects/Domain/{Profile => ProfileDomain}/Interface/Entity/MyPage/MyTier.swift (100%) rename Projects/Domain/{Profile => ProfileDomain}/Interface/Entity/MyPage/UpdatedProfile.swift (100%) rename Projects/Domain/{Profile => ProfileDomain}/Interface/Entity/Notice/NoticeTab.swift (100%) rename Projects/Domain/{Profile => ProfileDomain}/Interface/Entity/Notification/NotificationSettingKey.swift (100%) rename Projects/Domain/{Profile => ProfileDomain}/Interface/Entity/Notification/NotificationSettingSection.swift (100%) rename Projects/Domain/{Profile => ProfileDomain}/Interface/Entity/Notification/NotificationSettings.swift (100%) rename Projects/Domain/{Profile => ProfileDomain}/Interface/Entity/Recap/FavoriteTopic.swift (100%) rename Projects/Domain/{Profile => ProfileDomain}/Interface/Entity/Recap/PhilosopherRecap.swift (100%) rename Projects/Domain/{Profile => ProfileDomain}/Interface/Entity/Recap/PreferenceReport.swift (100%) rename Projects/Domain/{Profile => ProfileDomain}/Interface/Entity/Recap/RecapCard.swift (100%) rename Projects/Domain/{Profile => ProfileDomain}/Interface/Entity/Recap/RecapScoreAxis.swift (100%) rename Projects/Domain/{Profile => ProfileDomain}/Interface/Entity/Recap/RecapScores.swift (100%) rename Projects/Domain/{Profile => ProfileDomain}/Interface/Repository/Default/MockProfileRepository.swift (100%) rename Projects/Domain/{Profile => ProfileDomain}/Interface/Repository/Interface/ProfileInterface.swift (100%) rename Projects/Domain/{Profile => ProfileDomain}/Project.swift (100%) rename Projects/Domain/{Profile => ProfileDomain}/Sources/Exported/ProfileDomainExported.swift (100%) rename Projects/Domain/{Profile => ProfileDomain}/Sources/ProfileLiveDependencies.swift (100%) rename Projects/Domain/{Profile => ProfileDomain}/Sources/UseCase/ProfileUseCase.swift (100%) rename Projects/Domain/{Profile => ProfileDomain}/Testing/ProfileDomainTesting.swift (100%) rename Projects/Domain/{Profile => ProfileDomain}/Tests/ProfileDomainTests.swift (100%) rename Projects/Domain/{Search => SearchDomain}/Interface/Sources/MockSearchRepository.swift (100%) rename Projects/Domain/{Search => SearchDomain}/Interface/Sources/SearchInterface.swift (100%) rename Projects/Domain/{Search => SearchDomain}/Project.swift (100%) rename Projects/Domain/{Search => SearchDomain}/Sources/SearchLiveDependencies.swift (100%) rename Projects/Domain/{Search => SearchDomain}/Sources/SearchUseCase.swift (100%) rename Projects/Domain/{Search => SearchDomain}/Testing/Sources/SearchDomainTesting.swift (100%) rename Projects/Domain/{Search => SearchDomain}/Tests/Sources/SearchDomainTests.swift (100%) rename Projects/Service/{Ad => AdService}/Interface/UseCase/RewardedAdClient.swift (100%) rename Projects/Service/{Ad => AdService}/Project.swift (100%) rename Projects/Service/{Ad => AdService}/Sources/AdBannerSkeletonView.swift (100%) rename Projects/Service/{Ad => AdService}/Sources/AdFitBannerView.swift (100%) rename Projects/Service/{Ad => AdService}/Sources/AdFitNativeAdView.swift (100%) rename Projects/Service/{Ad => AdService}/Sources/AppStartPopupAd.swift (100%) rename Projects/Service/{Ad => AdService}/Sources/UseCase/RewardedAdClient+Live.swift (100%) rename Projects/Service/{Ad => AdService}/Testing/AdServiceTesting.swift (100%) rename Projects/Service/{Ad => AdService}/Tests/AdServiceTests.swift (100%) rename Projects/Service/{Analytics => AnalyticsService}/Interface/Event/AdClickData.swift (100%) rename Projects/Service/{Analytics => AnalyticsService}/Interface/Event/AdPlacement.swift (100%) rename Projects/Service/{Analytics => AnalyticsService}/Interface/Event/AnalyticsButton.swift (100%) rename Projects/Service/{Analytics => AnalyticsService}/Interface/Event/AnalyticsEvent.swift (100%) rename Projects/Service/{Analytics => AnalyticsService}/Interface/Event/AnalyticsProvider.swift (100%) rename Projects/Service/{Analytics => AnalyticsService}/Interface/Event/AnalyticsScreen.swift (100%) rename Projects/Service/{Analytics => AnalyticsService}/Interface/Event/BattleStepData.swift (100%) rename Projects/Service/{Analytics => AnalyticsService}/Interface/Event/CommunityActionData.swift (100%) rename Projects/Service/{Analytics => AnalyticsService}/Interface/Event/ContentActionData.swift (100%) rename Projects/Service/{Analytics => AnalyticsService}/Interface/Event/EngagementAction.swift (100%) rename Projects/Service/{Analytics => AnalyticsService}/Interface/Event/NotificationActionData.swift (100%) rename Projects/Service/{Analytics => AnalyticsService}/Interface/Event/OnboardingStep.swift (100%) rename Projects/Service/{Analytics => AnalyticsService}/Interface/Event/PlaybackAction.swift (100%) rename Projects/Service/{Analytics => AnalyticsService}/Interface/Event/PointActionData.swift (100%) rename Projects/Service/{Analytics => AnalyticsService}/Interface/Event/ReportActionData.swift (100%) rename Projects/Service/{Analytics => AnalyticsService}/Interface/Event/ShareActionData.swift (100%) rename Projects/Service/{Analytics => AnalyticsService}/Interface/UseCase/AnalyticsUseCase.swift (100%) rename Projects/Service/{Analytics => AnalyticsService}/Project.swift (100%) rename Projects/Service/{Analytics => AnalyticsService}/Sources/UseCase/AnalyticsUseCase+Live.swift (100%) rename Projects/Service/{Analytics => AnalyticsService}/Testing/AnalyticsServiceTesting.swift (100%) rename Projects/Service/{Analytics => AnalyticsService}/Tests/AnalyticsServiceTests.swift (100%) rename Projects/Service/{AudioPlayer => AudioPlayerService}/Interface/AudioPlayerInterface.swift (100%) rename Projects/Service/{AudioPlayer => AudioPlayerService}/Project.swift (100%) rename Projects/Service/{AudioPlayer => AudioPlayerService}/Sources/AudioPlayerRepositoryImpl.swift (100%) rename Projects/Service/{AudioPlayer => AudioPlayerService}/Testing/AudioPlayerServiceTesting.swift (100%) rename Projects/Service/{AudioPlayer => AudioPlayerService}/Tests/AudioPlayerServiceTests.swift (100%) rename Projects/Service/{Device => DeviceService}/Interface/Entity/DevicePlatform.swift (100%) rename Projects/Service/{Device => DeviceService}/Interface/UseCase/DeviceInterface.swift (100%) rename Projects/Service/{Device => DeviceService}/Interface/UseCase/DeviceUseCase.swift (100%) rename Projects/Service/{Device => DeviceService}/Project.swift (91%) rename Projects/Service/{Device => DeviceService}/Sources/Repository/DeviceRepositoryImpl.swift (100%) rename Projects/Service/{Device => DeviceService}/Sources/UseCase/DeviceUseCase+Live.swift (100%) rename Projects/Service/{Device => DeviceService}/Testing/DeviceServiceTesting.swift (100%) rename Projects/Service/{Device => DeviceService}/Tests/DeviceServiceTests.swift (100%) diff --git a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/FeatureModule.swift b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/FeatureModule.swift deleted file mode 100644 index 9476635d..00000000 --- a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/FeatureModule.swift +++ /dev/null @@ -1,174 +0,0 @@ -// -// FeatureModule.swift -// Plugins -// -// Domain·Data 레이어를 Presentation 처럼 feature별 마이크로 모듈로 재편하기 위한 -// 접근자. 기존 레이어 단일 모듈 접근자(`.domain(implements:)` / `.data(implements:)`)와 -// 시그니처가 달라 마이그레이션 기간 동안 공존한다. -// -// - Domain feature: `Projects/Domain/` 의 마이크로피처 4타깃 -// (`DomainInterface` / `Domain` / `DomainTesting` / Tests) -// - Data feature: `Projects/Data/` 의 단일 타깃 `Data` -// - -import Foundation -import ProjectDescription - -// MARK: - Feature 모듈 식별자 - -public enum DomainFeatureModule: String, CaseIterable { - case attendance = "Attendance" - case auth = "Auth" - case battle = "Battle" - case comment = "Comment" - case home = "Home" - case notification = "Notification" - case perspective = "Perspective" - case profile = "Profile" - case search = "Search" - /// 앱 강제/권장 업데이트 판정. - case appUpdate = "AppUpdate" -} - -/// 앱 전역이 쓰는 최하위 기반 모듈. 도메인·서비스보다 아래에 있고 아무것도 의존하지 않는다. -public enum CoreFeatureModule: String, CaseIterable { - /// 하위 Core 모듈과 공용 외부 라이브러리를 한 번에 노출하는 우산. - case thirdParty = "PickeThirdParty" - /// 표준 타입 확장 등 순수 유틸. - case coreUtility = "PickeCoreUtility" - /// 키체인 등 로컬 보관소. - case storage = "PickeStorage" -} - -/// 외부 SDK·플랫폼 기능을 감싸는 서비스 모듈. -/// -/// 도메인 규칙이 아니라 "무엇으로 구현하느냐"가 본질인 것들이다(광고 SDK, 분석 SDK, -/// 키체인, 디바이스 정보). 계약은 Interface 타깃에 두고 SDK 는 구현 타깃에만 링크해, -/// 화면이 SDK 를 끌고 오지 않게 한다. -public enum ServiceFeatureModule: String, CaseIterable { - /// AdFit 배너·네이티브 + GoogleMobileAds 리워드. - case ad = "Ad" - /// Mixpanel 이벤트 + Sentry 모니터링. - case analytics = "Analytics" - /// 디바이스 식별·플랫폼 정보. - case device = "Device" - /// AVFoundation 음원 재생. - case audioPlayer = "AudioPlayer" -} - -public enum DataFeatureModule: String, CaseIterable { - case appUpdate = "AppUpdate" - case attendance = "Attendance" - case auth = "Auth" - case battle = "Battle" - case comment = "Comment" - case home = "Home" - case notification = "Notification" - case perspective = "Perspective" - case profile = "Profile" - case search = "Search" -} - -/// Domain feature 모듈 내 대상 타깃 종류. -public enum FeatureTargetKind { - case interface - case implementation - case testing -} - -// MARK: - Path - -public extension ProjectDescription.Path { - static func domainFeature(_ module: DomainFeatureModule) -> Self { - .relativeToRoot("Projects/Domain/\(module.rawValue)") - } - - static func dataFeature(_ module: DataFeatureModule) -> Self { - .relativeToRoot("Projects/Data/\(module.rawValue)") - } - - static func serviceFeature(_ module: ServiceFeatureModule) -> Self { - .relativeToRoot("Projects/Service/\(module.rawValue)") - } - - static func coreFeature(_ module: CoreFeatureModule) -> Self { - .relativeToRoot("Projects/Core/\(module.rawValue)") - } - - /// 디자인 시스템은 단일 모듈이라 레이어 디렉토리가 곧 모듈 경로다. - static var designSystem: Self { - .relativeToRoot("Projects/DesignSystem") - } -} - -// MARK: - TargetDependency - -public extension TargetDependency { - /// feature별 Domain 모듈. 기본은 구현 타깃(`Domain`). - /// Data·Presentation 은 컴파일 격리를 위해 `.interface` 만 의존하는 것을 권장. - static func domain(_ module: DomainFeatureModule, _ kind: FeatureTargetKind = .implementation) -> Self { - let suffix = switch kind { - case .interface: "DomainInterface" - case .implementation: "Domain" - case .testing: "DomainTesting" - } - return .project(target: "\(module.rawValue)\(suffix)", path: .domainFeature(module)) - } - - /// feature별 Data 모듈(단일 타깃 `Data`). - static func data(_ module: DataFeatureModule) -> Self { - .project(target: "\(module.rawValue)Data", path: .dataFeature(module)) - } - - /// 최하위 기반 모듈. 단일 타깃 모듈(PickeThirdParty/PickeCoreUtility)은 kind 를 생략하고, - /// 계약을 가르는 모듈(PickeStorage)만 `.interface` 를 지정한다. - static func core(_ module: CoreFeatureModule, _ kind: FeatureTargetKind? = nil) -> Self { - let suffix = switch kind { - case .interface: "Interface" - case .testing: "Testing" - case .implementation, nil: "" - } - return .project(target: "\(module.rawValue)\(suffix)", path: .coreFeature(module)) - } - - /// Data 레이어가 공유하는 DTO 모듈(단일 타깃 `Model`). - static var model: Self { - .project(target: "Model", path: .relativeToRoot("Projects/Data/Model")) - } - - /// 디자인 시스템(단일 타깃). - static var designSystem: Self { - .project(target: "PickeDesignKit", path: .designSystem) - } - - /// SDK 래핑 서비스 모듈. 기본은 구현 타깃(`Service`). - /// 화면은 `.interface` 만 의존해 SDK 를 링크하지 않는 것을 권장. - static func service(_ module: ServiceFeatureModule, _ kind: FeatureTargetKind = .implementation) -> Self { - let suffix = switch kind { - case .interface: "ServiceInterface" - case .implementation: "Service" - case .testing: "ServiceTesting" - } - return .project(target: "\(module.rawValue)\(suffix)", path: .serviceFeature(module)) - } - - /// 서버 계약(베이스 URL·도메인 경로)만 담는 모듈. SDK 도 도메인 규칙도 링크하지 않는다. - static var api: Self { - .project(target: "API", path: .relativeToRoot("Projects/Service/API")) - } - - /// 서버 요청 정의(TargetType)와 요청 DTO 를 담는 모듈. - static var apiEndpoint: Self { - .project(target: "APIEndpoint", path: .relativeToRoot("Projects/Service/APIEndpoint")) - } - - /// SDK 래핑 서비스 구현을 묶어 제공하는 엄브렐러 모듈. - static var serviceAssembly: Self { - .project(target: "ServiceAssembly", path: .relativeToRoot("Projects/Service/ServiceAssembly")) - } - - /// 최하위 기반 모듈 구현을 묶어 제공하는 엄브렐러 모듈. - static var coreAssembly: Self { - .project(target: "CoreAssembly", path: .relativeToRoot("Projects/Core/CoreAssembly")) - } -} diff --git a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Modules.swift b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Modules.swift index c2d96fbe..28973436 100644 --- a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Modules.swift +++ b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Modules.swift @@ -2,18 +2,104 @@ // Modules.swift // Plugins // -// Created by 서원지 on 2/21/24. +// 레이어별 모듈 카탈로그(단일 출처). +// 모듈 추가 = case 한 줄. rawValue 가 실제 타깃명이자 디렉토리명이라 오타로 깨지지 않는다. // import Foundation import ProjectDescription +public enum FeatureModule: String, CaseIterable { + case splash = "Splash" + case auth = "Auth" + case home = "Home" + case chat = "Chat" + case hifi = "Hifi" + case web = "Web" + case battle = "Battle" + case profile = "Profile" + case notification = "Notification" + + /// Projects/Feature/ + var path: Path { + return .relativeToFeature(rawValue) + } +} + +public enum CoreModule: String, CaseIterable { + case assembly = "CoreAssembly" + case logger = "PickeCoreLogger" + case storage = "PickeStorage" + case coreUtility = "PickeCoreUtility" + case thirdParty = "PickeThirdParty" + + /// Projects/Core/ + var path: Path { + return .relativeToCore(rawValue) + } +} + +public enum ServiceModule: String, CaseIterable { + case assembly = "ServiceAssembly" + case api = "API" + case apiEndpoint = "APIEndpoint" + case ad = "AdService" + case analytics = "AnalyticsService" + case audioPlayer = "AudioPlayerService" + case device = "DeviceService" + + /// Projects/Service/ + var path: Path { + return .relativeToService(rawValue) + } +} + +public enum DomainModule: String, CaseIterable { + case assembly = "DomainAssembly" + case appUpdate = "AppUpdateDomain" + case attendance = "AttendanceDomain" + case auth = "AuthDomain" + case battle = "BattleDomain" + case comment = "CommentDomain" + case home = "HomeDomain" + case notification = "NotificationDomain" + case perspective = "PerspectiveDomain" + case profile = "ProfileDomain" + case search = "SearchDomain" + + /// Projects/Domain/ + var path: Path { + return .relativeToDomain(rawValue) + } +} + +public enum DataModule: String, CaseIterable { + case assembly = "DataAssembly" + case model = "Model" + case appUpdate = "AppUpdateData" + case attendance = "AttendanceData" + case auth = "AuthData" + case battle = "BattleData" + case comment = "CommentData" + case home = "HomeData" + case notification = "NotificationData" + case perspective = "PerspectiveData" + case profile = "ProfileData" + case search = "SearchData" + + /// Projects/Data/ + var path: Path { + return .relativeToData(rawValue) + } +} + +// MARK: - 아직 레이어 카탈로그로 접히지 않은 모듈 + +/// Network 레이어. Core/PickeNetwork 단일 모듈로 합치기 전까지만 남는다. public enum ModulePath { case network(Networks) } -// MARK: - CoreDomainModule - public extension ModulePath { enum Networks: String, CaseIterable { case networkModule = "NetworkModule" @@ -25,4 +111,3 @@ public extension ModulePath { public static let name: String = "Network" } } - diff --git a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Path+Modules.swift b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Path+Modules.swift index 4235be09..a4b949c5 100644 --- a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Path+Modules.swift +++ b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Path+Modules.swift @@ -2,18 +2,38 @@ // Path+Modules.swift // Plugins // -// Created by 서원지 on 2/21/24. +// 레이어 루트 경로. 카탈로그가 rawValue 만 넘겨 재사용한다. // import Foundation import ProjectDescription -// MARK: - Network public extension ProjectDescription.Path { - static var networking: Self { - return .relativeToRoot("Projects/\(ModulePath.Networks.name)") + static func relativeToFeature(_ name: String) -> Self { + return .relativeToRoot("Projects/Feature/\(name)") } - + + static func relativeToCore(_ name: String) -> Self { + return .relativeToRoot("Projects/Core/\(name)") + } + + static func relativeToData(_ name: String) -> Self { + return .relativeToRoot("Projects/Data/\(name)") + } + + static func relativeToService(_ name: String) -> Self { + return .relativeToRoot("Projects/Service/\(name)") + } + + static func relativeToDomain(_ name: String) -> Self { + return .relativeToRoot("Projects/Domain/\(name)") + } + + /// 디자인 시스템은 아직 단일 모듈이라 레이어 디렉토리가 곧 모듈 경로다. + static var designSystem: Self { + return .relativeToRoot("Projects/DesignSystem") + } + static func network(implementation module: ModulePath.Networks) -> Self { return .relativeToRoot("Projects/\(ModulePath.Networks.name)/\(module.rawValue)") } diff --git a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/TargetDependency+Modules.swift b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/TargetDependency+Modules.swift index a8219822..1a46a38a 100644 --- a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/TargetDependency+Modules.swift +++ b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/TargetDependency+Modules.swift @@ -2,38 +2,97 @@ // TargetDependency+Modules.swift // Plugins // -// Created by 서원지 on 2/21/24. +// 레이어 의존성 DSL. 카탈로그가 경로를 들고 있어 여기서는 타깃만 가리킨다. +// 모듈이 Interface 타깃(`Project.configure(moduleType: .microModule)`)을 가지면 +// `.domain(.auth, .interface)` 처럼 어느 타깃에 의존할지 명시할 수 있다. +// 기본값은 `.implementation` — Interface 를 아직 뚫지 않은 모듈이 대부분이라 +// 레이어별로 Interface 가 갖춰지는 대로 기본값을 `.interface` 로 옮긴다. // import Foundation import ProjectDescription -// 공통 헬퍼 -private extension TargetDependency { - static func projectTarget(_ name: String, path: ProjectDescription.Path) -> Self { - .project(target: name, path: path) - } +// MARK: - ModuleTarget + +/// 모듈 의존 시 어느 타깃을 가리킬지. 레이어 무관 공통 개념. +public enum ModuleTarget { + case interface + case implementation + /// 마이크로피처 모듈이 만드는 "Testing" 타깃. + /// 테스트 더블·픽스처 전용이라 테스트 타깃(testDependencies)에서만 참조한다. + case testing } -// Network -public extension TargetDependency { - static func network(implements module: ModulePath.Networks) -> Self { - projectTarget(module.rawValue, path: .network(implementation: module)) +extension TargetDependency { + /// interface → "Interface", implementation → "", testing → "Testing" 타깃. + static func moduleDependency(name: String, path: Path, target: ModuleTarget) -> TargetDependency { + switch target { + case .interface: + return .project(target: "\(name)Interface", path: path) + case .implementation: + return .project(target: name, path: path) + case .testing: + return .project(target: "\(name)Testing", path: path) + } } } -// Domain +// MARK: - Layer DSL + public extension TargetDependency { - /// 컨텍스트별 Domain 구현을 묶어 제공하는 엄브렐러 모듈. + /// 피처 의존성. 피처끼리는 상대의 Interface 에만 의존하고, + /// 구현 연결은 조립 레이어(FeatureAssembly/App)에서만 `.implementation` 으로 명시한다. + static func feature(_ module: FeatureModule, _ target: ModuleTarget = .implementation) -> Self { + return .moduleDependency(name: module.rawValue, path: module.path, target: target) + } + + /// 모든 피처를 묶고 구현을 등록하는 엄브렐러 모듈 (App 진입점). + static var featureAssembly: Self { + return .project(target: "FeatureAssembly", path: .relativeToFeature("FeatureAssembly")) + } + + static func core(_ module: CoreModule, _ target: ModuleTarget = .implementation) -> Self { + return .moduleDependency(name: module.rawValue, path: module.path, target: target) + } + + /// 최하위 기반 모듈 구현을 묶어 제공하는 엄브렐러 모듈. + static var coreAssembly: Self { + return .core(.assembly) + } + + static func service(_ module: ServiceModule, _ target: ModuleTarget = .implementation) -> Self { + return .moduleDependency(name: module.rawValue, path: module.path, target: target) + } + + /// SDK 래핑 서비스 구현을 묶어 제공하는 엄브렐러 모듈. + static var serviceAssembly: Self { + return .service(.assembly) + } + + static func domain(_ module: DomainModule, _ target: ModuleTarget = .implementation) -> Self { + return .moduleDependency(name: module.rawValue, path: module.path, target: target) + } + + /// 도메인 구현을 런타임에 조립하는 App 진입 경계. static var domainAssembly: Self { - projectTarget("DomainAssembly", path: .relativeToRoot("Projects/Domain/DomainAssembly")) + return .domain(.assembly) + } + + static func data(_ module: DataModule, _ target: ModuleTarget = .implementation) -> Self { + return .moduleDependency(name: module.rawValue, path: module.path, target: target) } -} -// Data -public extension TargetDependency { /// 컨텍스트별 Repository 구현을 묶어 제공하는 엄브렐러 모듈. static var dataAssembly: Self { - projectTarget("DataAssembly", path: .relativeToRoot("Projects/Data/DataAssembly")) + return .data(.assembly) + } + + /// 디자인 시스템(단일 타깃). UI 레이어로 쪼갠 뒤 `ui(_:)` 로 대체한다. + static var designSystem: Self { + return .project(target: "PickeDesignKit", path: .designSystem) + } + + static func network(implements module: ModulePath.Networks) -> Self { + return .project(target: module.rawValue, path: .network(implementation: module)) } } diff --git a/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/ModuleType.swift b/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/ModuleType.swift index c785a185..27d11c2e 100644 --- a/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/ModuleType.swift +++ b/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/ModuleType.swift @@ -3,35 +3,15 @@ // ProjectTemplatePlugin // // Project.configure 의 진입 분기 타입. +// 어떤 모듈이 있는지(카탈로그)는 DependencyPlugin 의 Modules.swift 가 단일 출처다. // import ProjectDescription -public enum ModuleTarget { - case interface - case implementation - case testing -} - -/// Feature 레이어 모듈 카탈로그(단일 출처). -/// 모듈 추가 = case 한 줄. rawValue 가 실제 타깃명이라 오타로 깨지지 않는다. -/// 엄브렐러 모듈(FeatureAssembly)은 피처가 아니므로 여기 넣지 않는다. -public enum FeatureModule: String, CaseIterable { - case splash = "Splash" - case auth = "Auth" - case home = "Home" - case chat = "Chat" - case hifi = "Hifi" - case web = "Web" - case battle = "Battle" - case profile = "Profile" - case notification = "Notification" -} - public enum ModuleType { case app - case feature(FeatureModule) + /// 단일 타깃 모듈. case module(name: String) - /// Data/Domain 등 비-Feature 모듈을 마이크로피처(Interface/구현/Testing/Tests) 4타깃으로 구성. + /// Interface / 구현 / Testing / Tests 4타깃 마이크로피처 모듈. case microModule(name: String) } diff --git a/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/Project+Template.swift b/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/Project+Template.swift index 8d6250cd..8ceb6ecb 100644 --- a/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/Project+Template.swift +++ b/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/Project+Template.swift @@ -71,21 +71,6 @@ public extension Project { hasTests: hasTests, demoDisplayName: demoDisplayName ) - case let .feature(module): - return configureFeature( - name: module.rawValue, - bundleId: bundleId, - platform: platform, - product: product, - deploymentTarget: deploymentTarget, - destinations: destinations, - settings: settings, - interfaceDependencies: interfaceDependencies, - dependencies: dependencies, - testingDependencies: testingDependencies, - resources: resources, - schemes: schemes - ) case let .microModule(name): return configureFeature( name: name, diff --git a/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/TargetDependency+Feature.swift b/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/TargetDependency+Feature.swift deleted file mode 100644 index 692450e2..00000000 --- a/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/TargetDependency+Feature.swift +++ /dev/null @@ -1,65 +0,0 @@ -// -// TargetDependency+Feature.swift -// ProjectTemplatePlugin -// -// Feature 레이어 의존성 경로 helper. -// Project.configure(.feature(...)) 와 같은 FeatureModule catalog 를 사용한다. -// - -import ProjectDescription - -public extension ProjectDescription.Path { - static var Feature: Self { - return .relativeToRoot("Projects/Feature") - } - - static func Feature(implementation module: FeatureModule) -> Self { - return .relativeToRoot("Projects/Feature/\(module.rawValue)") - } - - static func Feature( - _ module: FeatureModule, - _ target: ModuleTarget - ) -> Self { - switch target { - case .interface: - return .relativeToRoot("Projects/Feature/\(module.rawValue)/Interface") - case .implementation: - return .Feature(implementation: module) - case .testing: - return .relativeToRoot("Projects/Feature/\(module.rawValue)/Testing") - } - } -} - -public extension TargetDependency { - /// 피처 의존성. 피처끼리는 상대의 Interface 에만 의존하고, - /// 구현 연결은 조립 레이어(FeatureAssembly/App)에서만 `.implementation` 으로 명시한다. - static func feature( - _ module: FeatureModule, - _ target: ModuleTarget = .interface - ) -> Self { - let targetName = switch target { - case .interface: - "\(module.rawValue)Interface" - case .implementation: - module.rawValue - case .testing: - "\(module.rawValue)Testing" - } - - return .project(target: targetName, path: .Feature(module, target)) - } - - static func feature(implements module: FeatureModule) -> Self { - return .feature(module, .implementation) - } - - /// 모든 피처를 묶고 구현을 등록하는 엄브렐러 모듈 (App 진입점). - static var featureAssembly: Self { - return .project( - target: "FeatureAssembly", - path: .relativeToRoot("Projects/Feature/FeatureAssembly") - ) - } -} diff --git a/Projects/Data/AppUpdate/Project.swift b/Projects/Data/AppUpdateData/Project.swift similarity index 96% rename from Projects/Data/AppUpdate/Project.swift rename to Projects/Data/AppUpdateData/Project.swift index 2a54ed0a..135fa659 100644 --- a/Projects/Data/AppUpdate/Project.swift +++ b/Projects/Data/AppUpdateData/Project.swift @@ -11,7 +11,7 @@ let project = Project.configure( settings: .settings(), dependencies: [ .domain(.appUpdate, .interface), - .model, + .data(.model), .network(implements: .networkModule), .SPM.logMarco, .SPM.composableArchitecture, diff --git a/Projects/Data/AppUpdate/Sources/AppUpdateLiveDependencies.swift b/Projects/Data/AppUpdateData/Sources/AppUpdateLiveDependencies.swift similarity index 100% rename from Projects/Data/AppUpdate/Sources/AppUpdateLiveDependencies.swift rename to Projects/Data/AppUpdateData/Sources/AppUpdateLiveDependencies.swift diff --git a/Projects/Data/AppUpdate/Sources/Repository/AppUpdateRepositoryImpl.swift b/Projects/Data/AppUpdateData/Sources/Repository/AppUpdateRepositoryImpl.swift similarity index 100% rename from Projects/Data/AppUpdate/Sources/Repository/AppUpdateRepositoryImpl.swift rename to Projects/Data/AppUpdateData/Sources/Repository/AppUpdateRepositoryImpl.swift diff --git a/Projects/Data/Attendance/Project.swift b/Projects/Data/AttendanceData/Project.swift similarity index 89% rename from Projects/Data/Attendance/Project.swift rename to Projects/Data/AttendanceData/Project.swift index 161231e7..a0f8493c 100644 --- a/Projects/Data/Attendance/Project.swift +++ b/Projects/Data/AttendanceData/Project.swift @@ -11,9 +11,9 @@ let project = Project.configure( settings: .settings(), dependencies: [ .domain(.attendance, .interface), - .api, - .model, - .apiEndpoint, + .service(.api), + .data(.model), + .service(.apiEndpoint), .network(implements: .networkModule), .network(implements: .networkHeader), .SPM.logMarco, diff --git a/Projects/Data/Attendance/Sources/AttendanceLiveDependencies.swift b/Projects/Data/AttendanceData/Sources/AttendanceLiveDependencies.swift similarity index 100% rename from Projects/Data/Attendance/Sources/AttendanceLiveDependencies.swift rename to Projects/Data/AttendanceData/Sources/AttendanceLiveDependencies.swift diff --git a/Projects/Data/Attendance/Sources/Model/DTO/AttendanceCheckDataDTO.swift b/Projects/Data/AttendanceData/Sources/Model/DTO/AttendanceCheckDataDTO.swift similarity index 100% rename from Projects/Data/Attendance/Sources/Model/DTO/AttendanceCheckDataDTO.swift rename to Projects/Data/AttendanceData/Sources/Model/DTO/AttendanceCheckDataDTO.swift diff --git a/Projects/Data/Attendance/Sources/Model/DTO/AttendanceDayDTO.swift b/Projects/Data/AttendanceData/Sources/Model/DTO/AttendanceDayDTO.swift similarity index 100% rename from Projects/Data/Attendance/Sources/Model/DTO/AttendanceDayDTO.swift rename to Projects/Data/AttendanceData/Sources/Model/DTO/AttendanceDayDTO.swift diff --git a/Projects/Data/Attendance/Sources/Model/DTO/AttendanceSummaryDataDTO.swift b/Projects/Data/AttendanceData/Sources/Model/DTO/AttendanceSummaryDataDTO.swift similarity index 100% rename from Projects/Data/Attendance/Sources/Model/DTO/AttendanceSummaryDataDTO.swift rename to Projects/Data/AttendanceData/Sources/Model/DTO/AttendanceSummaryDataDTO.swift diff --git a/Projects/Data/Attendance/Sources/Model/DTO/WeeklyAttendanceDataDTO.swift b/Projects/Data/AttendanceData/Sources/Model/DTO/WeeklyAttendanceDataDTO.swift similarity index 100% rename from Projects/Data/Attendance/Sources/Model/DTO/WeeklyAttendanceDataDTO.swift rename to Projects/Data/AttendanceData/Sources/Model/DTO/WeeklyAttendanceDataDTO.swift diff --git a/Projects/Data/Attendance/Sources/Model/Mapper/AttendanceDataDTO+.swift b/Projects/Data/AttendanceData/Sources/Model/Mapper/AttendanceDataDTO+.swift similarity index 100% rename from Projects/Data/Attendance/Sources/Model/Mapper/AttendanceDataDTO+.swift rename to Projects/Data/AttendanceData/Sources/Model/Mapper/AttendanceDataDTO+.swift diff --git a/Projects/Data/Attendance/Sources/Repository/AttendanceRepositoryImpl.swift b/Projects/Data/AttendanceData/Sources/Repository/AttendanceRepositoryImpl.swift similarity index 100% rename from Projects/Data/Attendance/Sources/Repository/AttendanceRepositoryImpl.swift rename to Projects/Data/AttendanceData/Sources/Repository/AttendanceRepositoryImpl.swift diff --git a/Projects/Data/Attendance/Tests/AttendanceRepositoryTests.swift b/Projects/Data/AttendanceData/Tests/AttendanceRepositoryTests.swift similarity index 100% rename from Projects/Data/Attendance/Tests/AttendanceRepositoryTests.swift rename to Projects/Data/AttendanceData/Tests/AttendanceRepositoryTests.swift diff --git a/Projects/Data/Attendance/Tests/TestSupport.swift b/Projects/Data/AttendanceData/Tests/TestSupport.swift similarity index 100% rename from Projects/Data/Attendance/Tests/TestSupport.swift rename to Projects/Data/AttendanceData/Tests/TestSupport.swift diff --git a/Projects/Data/Auth/Project.swift b/Projects/Data/AuthData/Project.swift similarity index 89% rename from Projects/Data/Auth/Project.swift rename to Projects/Data/AuthData/Project.swift index 87cab16f..208808ac 100644 --- a/Projects/Data/Auth/Project.swift +++ b/Projects/Data/AuthData/Project.swift @@ -12,9 +12,9 @@ let project = Project.configure( dependencies: [ .domain(.auth, .interface), - .api, - .model, - .apiEndpoint, + .service(.api), + .data(.model), + .service(.apiEndpoint), .network(implements: .networkModule), .network(implements: .networkHeader), .SPM.weaveDI, diff --git a/Projects/Data/Auth/Sources/AuthLiveDependencies.swift b/Projects/Data/AuthData/Sources/AuthLiveDependencies.swift similarity index 100% rename from Projects/Data/Auth/Sources/AuthLiveDependencies.swift rename to Projects/Data/AuthData/Sources/AuthLiveDependencies.swift diff --git a/Projects/Data/Auth/Sources/Interceptor/AuthInterceptor.swift b/Projects/Data/AuthData/Sources/Interceptor/AuthInterceptor.swift similarity index 100% rename from Projects/Data/Auth/Sources/Interceptor/AuthInterceptor.swift rename to Projects/Data/AuthData/Sources/Interceptor/AuthInterceptor.swift diff --git a/Projects/Data/Auth/Sources/Interceptor/SessionInvalidationMonitor.swift b/Projects/Data/AuthData/Sources/Interceptor/SessionInvalidationMonitor.swift similarity index 100% rename from Projects/Data/Auth/Sources/Interceptor/SessionInvalidationMonitor.swift rename to Projects/Data/AuthData/Sources/Interceptor/SessionInvalidationMonitor.swift diff --git a/Projects/Data/Auth/Sources/Model/Login/DTO/LoginDataDTO.swift b/Projects/Data/AuthData/Sources/Model/Login/DTO/LoginDataDTO.swift similarity index 100% rename from Projects/Data/Auth/Sources/Model/Login/DTO/LoginDataDTO.swift rename to Projects/Data/AuthData/Sources/Model/Login/DTO/LoginDataDTO.swift diff --git a/Projects/Data/Auth/Sources/Model/Login/Mapper/LoginDataDTO+.swift b/Projects/Data/AuthData/Sources/Model/Login/Mapper/LoginDataDTO+.swift similarity index 100% rename from Projects/Data/Auth/Sources/Model/Login/Mapper/LoginDataDTO+.swift rename to Projects/Data/AuthData/Sources/Model/Login/Mapper/LoginDataDTO+.swift diff --git a/Projects/Data/Auth/Sources/Model/Logout/DTO/LogOutDTO.swift b/Projects/Data/AuthData/Sources/Model/Logout/DTO/LogOutDTO.swift similarity index 100% rename from Projects/Data/Auth/Sources/Model/Logout/DTO/LogOutDTO.swift rename to Projects/Data/AuthData/Sources/Model/Logout/DTO/LogOutDTO.swift diff --git a/Projects/Data/Auth/Sources/Model/Logout/Mapper/LogOutDTO+.swift b/Projects/Data/AuthData/Sources/Model/Logout/Mapper/LogOutDTO+.swift similarity index 100% rename from Projects/Data/Auth/Sources/Model/Logout/Mapper/LogOutDTO+.swift rename to Projects/Data/AuthData/Sources/Model/Logout/Mapper/LogOutDTO+.swift diff --git a/Projects/Data/Auth/Sources/Model/Token/DTO/TokenDTO.swift b/Projects/Data/AuthData/Sources/Model/Token/DTO/TokenDTO.swift similarity index 100% rename from Projects/Data/Auth/Sources/Model/Token/DTO/TokenDTO.swift rename to Projects/Data/AuthData/Sources/Model/Token/DTO/TokenDTO.swift diff --git a/Projects/Data/Auth/Sources/Model/Token/Mapper/TokenDTO+.swift b/Projects/Data/AuthData/Sources/Model/Token/Mapper/TokenDTO+.swift similarity index 100% rename from Projects/Data/Auth/Sources/Model/Token/Mapper/TokenDTO+.swift rename to Projects/Data/AuthData/Sources/Model/Token/Mapper/TokenDTO+.swift diff --git a/Projects/Data/Auth/Sources/Model/Withdraw/DTO/WithdrawDTO.swift b/Projects/Data/AuthData/Sources/Model/Withdraw/DTO/WithdrawDTO.swift similarity index 100% rename from Projects/Data/Auth/Sources/Model/Withdraw/DTO/WithdrawDTO.swift rename to Projects/Data/AuthData/Sources/Model/Withdraw/DTO/WithdrawDTO.swift diff --git a/Projects/Data/Auth/Sources/Model/Withdraw/Mapper/WithdrawDTO+.swift b/Projects/Data/AuthData/Sources/Model/Withdraw/Mapper/WithdrawDTO+.swift similarity index 100% rename from Projects/Data/Auth/Sources/Model/Withdraw/Mapper/WithdrawDTO+.swift rename to Projects/Data/AuthData/Sources/Model/Withdraw/Mapper/WithdrawDTO+.swift diff --git a/Projects/Data/Auth/Sources/RefreshToken/AccessTokenCredential.swift b/Projects/Data/AuthData/Sources/RefreshToken/AccessTokenCredential.swift similarity index 100% rename from Projects/Data/Auth/Sources/RefreshToken/AccessTokenCredential.swift rename to Projects/Data/AuthData/Sources/RefreshToken/AccessTokenCredential.swift diff --git a/Projects/Data/Auth/Sources/RefreshToken/AuthSessionManager.swift b/Projects/Data/AuthData/Sources/RefreshToken/AuthSessionManager.swift similarity index 100% rename from Projects/Data/Auth/Sources/RefreshToken/AuthSessionManager.swift rename to Projects/Data/AuthData/Sources/RefreshToken/AuthSessionManager.swift diff --git a/Projects/Data/Auth/Sources/RefreshToken/OptimizedSessionManager.swift b/Projects/Data/AuthData/Sources/RefreshToken/OptimizedSessionManager.swift similarity index 100% rename from Projects/Data/Auth/Sources/RefreshToken/OptimizedSessionManager.swift rename to Projects/Data/AuthData/Sources/RefreshToken/OptimizedSessionManager.swift diff --git a/Projects/Data/Auth/Sources/Repository/AuthRepositoryImpl.swift b/Projects/Data/AuthData/Sources/Repository/AuthRepositoryImpl.swift similarity index 100% rename from Projects/Data/Auth/Sources/Repository/AuthRepositoryImpl.swift rename to Projects/Data/AuthData/Sources/Repository/AuthRepositoryImpl.swift diff --git a/Projects/Data/Auth/Sources/Repository/Google/GoogleOAuthConfiguration.swift b/Projects/Data/AuthData/Sources/Repository/Google/GoogleOAuthConfiguration.swift similarity index 100% rename from Projects/Data/Auth/Sources/Repository/Google/GoogleOAuthConfiguration.swift rename to Projects/Data/AuthData/Sources/Repository/Google/GoogleOAuthConfiguration.swift diff --git a/Projects/Data/Auth/Sources/Repository/Google/GoogleOAuthRepositoryImpl.swift b/Projects/Data/AuthData/Sources/Repository/Google/GoogleOAuthRepositoryImpl.swift similarity index 100% rename from Projects/Data/Auth/Sources/Repository/Google/GoogleOAuthRepositoryImpl.swift rename to Projects/Data/AuthData/Sources/Repository/Google/GoogleOAuthRepositoryImpl.swift diff --git a/Projects/Data/Auth/Sources/Repository/OAuth/Apple/AppleLoginRepositoryImpl.swift b/Projects/Data/AuthData/Sources/Repository/OAuth/Apple/AppleLoginRepositoryImpl.swift similarity index 100% rename from Projects/Data/Auth/Sources/Repository/OAuth/Apple/AppleLoginRepositoryImpl.swift rename to Projects/Data/AuthData/Sources/Repository/OAuth/Apple/AppleLoginRepositoryImpl.swift diff --git a/Projects/Data/Auth/Sources/Repository/OAuth/Apple/AppleOAuthRepositoryImpl.swift b/Projects/Data/AuthData/Sources/Repository/OAuth/Apple/AppleOAuthRepositoryImpl.swift similarity index 100% rename from Projects/Data/Auth/Sources/Repository/OAuth/Apple/AppleOAuthRepositoryImpl.swift rename to Projects/Data/AuthData/Sources/Repository/OAuth/Apple/AppleOAuthRepositoryImpl.swift diff --git a/Projects/Data/Auth/Sources/Repository/OAuth/AuthPresentationContextProvider.swift b/Projects/Data/AuthData/Sources/Repository/OAuth/AuthPresentationContextProvider.swift similarity index 100% rename from Projects/Data/Auth/Sources/Repository/OAuth/AuthPresentationContextProvider.swift rename to Projects/Data/AuthData/Sources/Repository/OAuth/AuthPresentationContextProvider.swift diff --git a/Projects/Data/Auth/Sources/Repository/OAuth/Google/GoogleLoginManager.swift b/Projects/Data/AuthData/Sources/Repository/OAuth/Google/GoogleLoginManager.swift similarity index 100% rename from Projects/Data/Auth/Sources/Repository/OAuth/Google/GoogleLoginManager.swift rename to Projects/Data/AuthData/Sources/Repository/OAuth/Google/GoogleLoginManager.swift diff --git a/Projects/Data/Auth/Sources/Repository/OAuth/Kakao/KakaoOAuthRepository.swift b/Projects/Data/AuthData/Sources/Repository/OAuth/Kakao/KakaoOAuthRepository.swift similarity index 100% rename from Projects/Data/Auth/Sources/Repository/OAuth/Kakao/KakaoOAuthRepository.swift rename to Projects/Data/AuthData/Sources/Repository/OAuth/Kakao/KakaoOAuthRepository.swift diff --git a/Projects/Data/Auth/Sources/Repository/OAuth/Web/OAuthWebViewController.swift b/Projects/Data/AuthData/Sources/Repository/OAuth/Web/OAuthWebViewController.swift similarity index 100% rename from Projects/Data/Auth/Sources/Repository/OAuth/Web/OAuthWebViewController.swift rename to Projects/Data/AuthData/Sources/Repository/OAuth/Web/OAuthWebViewController.swift diff --git a/Projects/Data/Auth/Tests/AuthRepositoryTests.swift b/Projects/Data/AuthData/Tests/AuthRepositoryTests.swift similarity index 100% rename from Projects/Data/Auth/Tests/AuthRepositoryTests.swift rename to Projects/Data/AuthData/Tests/AuthRepositoryTests.swift diff --git a/Projects/Data/Auth/Tests/AuthRequestMappingTests.swift b/Projects/Data/AuthData/Tests/AuthRequestMappingTests.swift similarity index 100% rename from Projects/Data/Auth/Tests/AuthRequestMappingTests.swift rename to Projects/Data/AuthData/Tests/AuthRequestMappingTests.swift diff --git a/Projects/Data/Auth/Tests/TestSupport.swift b/Projects/Data/AuthData/Tests/TestSupport.swift similarity index 100% rename from Projects/Data/Auth/Tests/TestSupport.swift rename to Projects/Data/AuthData/Tests/TestSupport.swift diff --git a/Projects/Data/Battle/Project.swift b/Projects/Data/BattleData/Project.swift similarity index 89% rename from Projects/Data/Battle/Project.swift rename to Projects/Data/BattleData/Project.swift index d9436d75..28d6a3ed 100644 --- a/Projects/Data/Battle/Project.swift +++ b/Projects/Data/BattleData/Project.swift @@ -13,9 +13,9 @@ let project = Project.configure( .domain(.home, .interface), .domain(.battle, .interface), - .api, - .model, - .apiEndpoint, + .service(.api), + .data(.model), + .service(.apiEndpoint), .network(implements: .networkModule), .network(implements: .networkHeader), .SPM.weaveDI, diff --git a/Projects/Data/Battle/Sources/BattleLiveDependencies.swift b/Projects/Data/BattleData/Sources/BattleLiveDependencies.swift similarity index 100% rename from Projects/Data/Battle/Sources/BattleLiveDependencies.swift rename to Projects/Data/BattleData/Sources/BattleLiveDependencies.swift diff --git a/Projects/Data/Battle/Sources/Repository/BattleRepositoryImpl.swift b/Projects/Data/BattleData/Sources/Repository/BattleRepositoryImpl.swift similarity index 100% rename from Projects/Data/Battle/Sources/Repository/BattleRepositoryImpl.swift rename to Projects/Data/BattleData/Sources/Repository/BattleRepositoryImpl.swift diff --git a/Projects/Data/Battle/Tests/BattleRepositoryTests.swift b/Projects/Data/BattleData/Tests/BattleRepositoryTests.swift similarity index 100% rename from Projects/Data/Battle/Tests/BattleRepositoryTests.swift rename to Projects/Data/BattleData/Tests/BattleRepositoryTests.swift diff --git a/Projects/Data/Battle/Tests/BattleRequestMappingTests.swift b/Projects/Data/BattleData/Tests/BattleRequestMappingTests.swift similarity index 100% rename from Projects/Data/Battle/Tests/BattleRequestMappingTests.swift rename to Projects/Data/BattleData/Tests/BattleRequestMappingTests.swift diff --git a/Projects/Data/Battle/Tests/TestSupport.swift b/Projects/Data/BattleData/Tests/TestSupport.swift similarity index 100% rename from Projects/Data/Battle/Tests/TestSupport.swift rename to Projects/Data/BattleData/Tests/TestSupport.swift diff --git a/Projects/Data/Comment/Project.swift b/Projects/Data/CommentData/Project.swift similarity index 89% rename from Projects/Data/Comment/Project.swift rename to Projects/Data/CommentData/Project.swift index 93d8086c..4febd5b1 100644 --- a/Projects/Data/Comment/Project.swift +++ b/Projects/Data/CommentData/Project.swift @@ -11,9 +11,9 @@ let project = Project.configure( settings: .settings(), dependencies: [ .domain(.comment, .interface), - .api, - .model, - .apiEndpoint, + .service(.api), + .data(.model), + .service(.apiEndpoint), .network(implements: .networkModule), .network(implements: .networkHeader), .SPM.logMarco, diff --git a/Projects/Data/Comment/Sources/CommentLiveDependencies.swift b/Projects/Data/CommentData/Sources/CommentLiveDependencies.swift similarity index 100% rename from Projects/Data/Comment/Sources/CommentLiveDependencies.swift rename to Projects/Data/CommentData/Sources/CommentLiveDependencies.swift diff --git a/Projects/Data/Comment/Sources/Repository/CommentRepositoryImpl.swift b/Projects/Data/CommentData/Sources/Repository/CommentRepositoryImpl.swift similarity index 100% rename from Projects/Data/Comment/Sources/Repository/CommentRepositoryImpl.swift rename to Projects/Data/CommentData/Sources/Repository/CommentRepositoryImpl.swift diff --git a/Projects/Data/Comment/Tests/CommentRepositoryTests.swift b/Projects/Data/CommentData/Tests/CommentRepositoryTests.swift similarity index 100% rename from Projects/Data/Comment/Tests/CommentRepositoryTests.swift rename to Projects/Data/CommentData/Tests/CommentRepositoryTests.swift diff --git a/Projects/Data/Comment/Tests/CommentRequestMappingTests.swift b/Projects/Data/CommentData/Tests/CommentRequestMappingTests.swift similarity index 100% rename from Projects/Data/Comment/Tests/CommentRequestMappingTests.swift rename to Projects/Data/CommentData/Tests/CommentRequestMappingTests.swift diff --git a/Projects/Data/Comment/Tests/TestSupport.swift b/Projects/Data/CommentData/Tests/TestSupport.swift similarity index 100% rename from Projects/Data/Comment/Tests/TestSupport.swift rename to Projects/Data/CommentData/Tests/TestSupport.swift diff --git a/Projects/Data/DataAssembly/Project.swift b/Projects/Data/DataAssembly/Project.swift index 285afa9c..0856d3f9 100644 --- a/Projects/Data/DataAssembly/Project.swift +++ b/Projects/Data/DataAssembly/Project.swift @@ -11,8 +11,8 @@ let project = Project.configure( settings: .settings(), dependencies: [ .data(.appUpdate), - .model, - .apiEndpoint, + .data(.model), + .service(.apiEndpoint), .data(.attendance), .data(.auth), .data(.battle), diff --git a/Projects/Data/Home/Project.swift b/Projects/Data/HomeData/Project.swift similarity index 89% rename from Projects/Data/Home/Project.swift rename to Projects/Data/HomeData/Project.swift index 76ccea40..383f5a31 100644 --- a/Projects/Data/Home/Project.swift +++ b/Projects/Data/HomeData/Project.swift @@ -12,9 +12,9 @@ let project = Project.configure( dependencies: [ .domain(.auth, .interface), .domain(.home, .interface), - .api, - .model, - .apiEndpoint, + .service(.api), + .data(.model), + .service(.apiEndpoint), .network(implements: .networkModule), .network(implements: .networkHeader), .SPM.weaveDI, diff --git a/Projects/Data/Home/Sources/HomeLiveDependencies.swift b/Projects/Data/HomeData/Sources/HomeLiveDependencies.swift similarity index 100% rename from Projects/Data/Home/Sources/HomeLiveDependencies.swift rename to Projects/Data/HomeData/Sources/HomeLiveDependencies.swift diff --git a/Projects/Data/Home/Sources/Model/HomeDataDTO+.swift b/Projects/Data/HomeData/Sources/Model/HomeDataDTO+.swift similarity index 100% rename from Projects/Data/Home/Sources/Model/HomeDataDTO+.swift rename to Projects/Data/HomeData/Sources/Model/HomeDataDTO+.swift diff --git a/Projects/Data/Home/Sources/Model/HomeDataDTO.swift b/Projects/Data/HomeData/Sources/Model/HomeDataDTO.swift similarity index 100% rename from Projects/Data/Home/Sources/Model/HomeDataDTO.swift rename to Projects/Data/HomeData/Sources/Model/HomeDataDTO.swift diff --git a/Projects/Data/Home/Sources/Repository/HomeRepositoryImpl.swift b/Projects/Data/HomeData/Sources/Repository/HomeRepositoryImpl.swift similarity index 100% rename from Projects/Data/Home/Sources/Repository/HomeRepositoryImpl.swift rename to Projects/Data/HomeData/Sources/Repository/HomeRepositoryImpl.swift diff --git a/Projects/Data/Home/Tests/HomeRepositoryTests.swift b/Projects/Data/HomeData/Tests/HomeRepositoryTests.swift similarity index 100% rename from Projects/Data/Home/Tests/HomeRepositoryTests.swift rename to Projects/Data/HomeData/Tests/HomeRepositoryTests.swift diff --git a/Projects/Data/Home/Tests/HomeRequestMappingTests.swift b/Projects/Data/HomeData/Tests/HomeRequestMappingTests.swift similarity index 100% rename from Projects/Data/Home/Tests/HomeRequestMappingTests.swift rename to Projects/Data/HomeData/Tests/HomeRequestMappingTests.swift diff --git a/Projects/Data/Home/Tests/TestSupport.swift b/Projects/Data/HomeData/Tests/TestSupport.swift similarity index 100% rename from Projects/Data/Home/Tests/TestSupport.swift rename to Projects/Data/HomeData/Tests/TestSupport.swift diff --git a/Projects/Data/Notification/Project.swift b/Projects/Data/NotificationData/Project.swift similarity index 89% rename from Projects/Data/Notification/Project.swift rename to Projects/Data/NotificationData/Project.swift index af48f875..3fa705eb 100644 --- a/Projects/Data/Notification/Project.swift +++ b/Projects/Data/NotificationData/Project.swift @@ -11,9 +11,9 @@ let project = Project.configure( settings: .settings(), dependencies: [ .domain(.notification, .interface), - .api, - .model, - .apiEndpoint, + .service(.api), + .data(.model), + .service(.apiEndpoint), .network(implements: .networkModule), .network(implements: .networkHeader), .SPM.logMarco, diff --git a/Projects/Data/Notification/Sources/Model/DTO/NotificationDataDTO.swift b/Projects/Data/NotificationData/Sources/Model/DTO/NotificationDataDTO.swift similarity index 100% rename from Projects/Data/Notification/Sources/Model/DTO/NotificationDataDTO.swift rename to Projects/Data/NotificationData/Sources/Model/DTO/NotificationDataDTO.swift diff --git a/Projects/Data/Notification/Sources/Model/Mapper/NotificationDataDTO+.swift b/Projects/Data/NotificationData/Sources/Model/Mapper/NotificationDataDTO+.swift similarity index 100% rename from Projects/Data/Notification/Sources/Model/Mapper/NotificationDataDTO+.swift rename to Projects/Data/NotificationData/Sources/Model/Mapper/NotificationDataDTO+.swift diff --git a/Projects/Data/Notification/Sources/NotificationLiveDependencies.swift b/Projects/Data/NotificationData/Sources/NotificationLiveDependencies.swift similarity index 100% rename from Projects/Data/Notification/Sources/NotificationLiveDependencies.swift rename to Projects/Data/NotificationData/Sources/NotificationLiveDependencies.swift diff --git a/Projects/Data/Notification/Sources/Repository/NotificationRepositoryImpl.swift b/Projects/Data/NotificationData/Sources/Repository/NotificationRepositoryImpl.swift similarity index 100% rename from Projects/Data/Notification/Sources/Repository/NotificationRepositoryImpl.swift rename to Projects/Data/NotificationData/Sources/Repository/NotificationRepositoryImpl.swift diff --git a/Projects/Data/Notification/Tests/NotificationRepositoryTests.swift b/Projects/Data/NotificationData/Tests/NotificationRepositoryTests.swift similarity index 100% rename from Projects/Data/Notification/Tests/NotificationRepositoryTests.swift rename to Projects/Data/NotificationData/Tests/NotificationRepositoryTests.swift diff --git a/Projects/Data/Notification/Tests/NotificationRequestMappingTests.swift b/Projects/Data/NotificationData/Tests/NotificationRequestMappingTests.swift similarity index 100% rename from Projects/Data/Notification/Tests/NotificationRequestMappingTests.swift rename to Projects/Data/NotificationData/Tests/NotificationRequestMappingTests.swift diff --git a/Projects/Data/Notification/Tests/TestSupport.swift b/Projects/Data/NotificationData/Tests/TestSupport.swift similarity index 100% rename from Projects/Data/Notification/Tests/TestSupport.swift rename to Projects/Data/NotificationData/Tests/TestSupport.swift diff --git a/Projects/Data/Perspective/Project.swift b/Projects/Data/PerspectiveData/Project.swift similarity index 90% rename from Projects/Data/Perspective/Project.swift rename to Projects/Data/PerspectiveData/Project.swift index b1e01780..7a79be00 100644 --- a/Projects/Data/Perspective/Project.swift +++ b/Projects/Data/PerspectiveData/Project.swift @@ -13,9 +13,9 @@ let project = Project.configure( .domain(.perspective, .interface), .domain(.battle, .interface), .domain(.comment, .interface), - .api, - .model, - .apiEndpoint, + .service(.api), + .data(.model), + .service(.apiEndpoint), .network(implements: .networkModule), .network(implements: .networkHeader), .SPM.weaveDI, diff --git a/Projects/Data/Perspective/Sources/PerspectiveLiveDependencies.swift b/Projects/Data/PerspectiveData/Sources/PerspectiveLiveDependencies.swift similarity index 100% rename from Projects/Data/Perspective/Sources/PerspectiveLiveDependencies.swift rename to Projects/Data/PerspectiveData/Sources/PerspectiveLiveDependencies.swift diff --git a/Projects/Data/Perspective/Sources/Repository/PerspectiveRepositoryImpl.swift b/Projects/Data/PerspectiveData/Sources/Repository/PerspectiveRepositoryImpl.swift similarity index 100% rename from Projects/Data/Perspective/Sources/Repository/PerspectiveRepositoryImpl.swift rename to Projects/Data/PerspectiveData/Sources/Repository/PerspectiveRepositoryImpl.swift diff --git a/Projects/Data/Perspective/Tests/PerspectiveRepositoryTests.swift b/Projects/Data/PerspectiveData/Tests/PerspectiveRepositoryTests.swift similarity index 100% rename from Projects/Data/Perspective/Tests/PerspectiveRepositoryTests.swift rename to Projects/Data/PerspectiveData/Tests/PerspectiveRepositoryTests.swift diff --git a/Projects/Data/Perspective/Tests/PerspectiveRequestMappingTests.swift b/Projects/Data/PerspectiveData/Tests/PerspectiveRequestMappingTests.swift similarity index 100% rename from Projects/Data/Perspective/Tests/PerspectiveRequestMappingTests.swift rename to Projects/Data/PerspectiveData/Tests/PerspectiveRequestMappingTests.swift diff --git a/Projects/Data/Perspective/Tests/TestSupport.swift b/Projects/Data/PerspectiveData/Tests/TestSupport.swift similarity index 100% rename from Projects/Data/Perspective/Tests/TestSupport.swift rename to Projects/Data/PerspectiveData/Tests/TestSupport.swift diff --git a/Projects/Data/Profile/Project.swift b/Projects/Data/ProfileData/Project.swift similarity index 89% rename from Projects/Data/Profile/Project.swift rename to Projects/Data/ProfileData/Project.swift index 52efcf57..be6e8371 100644 --- a/Projects/Data/Profile/Project.swift +++ b/Projects/Data/ProfileData/Project.swift @@ -11,9 +11,9 @@ let project = Project.configure( settings: .settings(), dependencies: [ .domain(.profile, .interface), - .api, - .model, - .apiEndpoint, + .service(.api), + .data(.model), + .service(.apiEndpoint), .network(implements: .networkModule), .network(implements: .networkHeader), .SPM.logMarco, diff --git a/Projects/Data/Profile/Sources/Model/DTO/BattleRecordDataDTO.swift b/Projects/Data/ProfileData/Sources/Model/DTO/BattleRecordDataDTO.swift similarity index 100% rename from Projects/Data/Profile/Sources/Model/DTO/BattleRecordDataDTO.swift rename to Projects/Data/ProfileData/Sources/Model/DTO/BattleRecordDataDTO.swift diff --git a/Projects/Data/Profile/Sources/Model/DTO/ContentActivityDataDTO.swift b/Projects/Data/ProfileData/Sources/Model/DTO/ContentActivityDataDTO.swift similarity index 100% rename from Projects/Data/Profile/Sources/Model/DTO/ContentActivityDataDTO.swift rename to Projects/Data/ProfileData/Sources/Model/DTO/ContentActivityDataDTO.swift diff --git a/Projects/Data/Profile/Sources/Model/DTO/CreditHistoryDataDTO.swift b/Projects/Data/ProfileData/Sources/Model/DTO/CreditHistoryDataDTO.swift similarity index 100% rename from Projects/Data/Profile/Sources/Model/DTO/CreditHistoryDataDTO.swift rename to Projects/Data/ProfileData/Sources/Model/DTO/CreditHistoryDataDTO.swift diff --git a/Projects/Data/Profile/Sources/Model/DTO/MyPageDataDTO.swift b/Projects/Data/ProfileData/Sources/Model/DTO/MyPageDataDTO.swift similarity index 100% rename from Projects/Data/Profile/Sources/Model/DTO/MyPageDataDTO.swift rename to Projects/Data/ProfileData/Sources/Model/DTO/MyPageDataDTO.swift diff --git a/Projects/Data/Profile/Sources/Model/DTO/NotificationSettingsDataDTO.swift b/Projects/Data/ProfileData/Sources/Model/DTO/NotificationSettingsDataDTO.swift similarity index 100% rename from Projects/Data/Profile/Sources/Model/DTO/NotificationSettingsDataDTO.swift rename to Projects/Data/ProfileData/Sources/Model/DTO/NotificationSettingsDataDTO.swift diff --git a/Projects/Data/Profile/Sources/Model/DTO/ProfileUpdateDataDTO.swift b/Projects/Data/ProfileData/Sources/Model/DTO/ProfileUpdateDataDTO.swift similarity index 100% rename from Projects/Data/Profile/Sources/Model/DTO/ProfileUpdateDataDTO.swift rename to Projects/Data/ProfileData/Sources/Model/DTO/ProfileUpdateDataDTO.swift diff --git a/Projects/Data/Profile/Sources/Model/DTO/RecapDataDTO.swift b/Projects/Data/ProfileData/Sources/Model/DTO/RecapDataDTO.swift similarity index 100% rename from Projects/Data/Profile/Sources/Model/DTO/RecapDataDTO.swift rename to Projects/Data/ProfileData/Sources/Model/DTO/RecapDataDTO.swift diff --git a/Projects/Data/Profile/Sources/Model/Mapper/BattleRecordDataDTO+.swift b/Projects/Data/ProfileData/Sources/Model/Mapper/BattleRecordDataDTO+.swift similarity index 100% rename from Projects/Data/Profile/Sources/Model/Mapper/BattleRecordDataDTO+.swift rename to Projects/Data/ProfileData/Sources/Model/Mapper/BattleRecordDataDTO+.swift diff --git a/Projects/Data/Profile/Sources/Model/Mapper/ContentActivityDataDTO+.swift b/Projects/Data/ProfileData/Sources/Model/Mapper/ContentActivityDataDTO+.swift similarity index 100% rename from Projects/Data/Profile/Sources/Model/Mapper/ContentActivityDataDTO+.swift rename to Projects/Data/ProfileData/Sources/Model/Mapper/ContentActivityDataDTO+.swift diff --git a/Projects/Data/Profile/Sources/Model/Mapper/CreditHistoryDataDTO+.swift b/Projects/Data/ProfileData/Sources/Model/Mapper/CreditHistoryDataDTO+.swift similarity index 100% rename from Projects/Data/Profile/Sources/Model/Mapper/CreditHistoryDataDTO+.swift rename to Projects/Data/ProfileData/Sources/Model/Mapper/CreditHistoryDataDTO+.swift diff --git a/Projects/Data/Profile/Sources/Model/Mapper/MyPageDataDTO+.swift b/Projects/Data/ProfileData/Sources/Model/Mapper/MyPageDataDTO+.swift similarity index 100% rename from Projects/Data/Profile/Sources/Model/Mapper/MyPageDataDTO+.swift rename to Projects/Data/ProfileData/Sources/Model/Mapper/MyPageDataDTO+.swift diff --git a/Projects/Data/Profile/Sources/Model/Mapper/NotificationSettingsDataDTO+.swift b/Projects/Data/ProfileData/Sources/Model/Mapper/NotificationSettingsDataDTO+.swift similarity index 100% rename from Projects/Data/Profile/Sources/Model/Mapper/NotificationSettingsDataDTO+.swift rename to Projects/Data/ProfileData/Sources/Model/Mapper/NotificationSettingsDataDTO+.swift diff --git a/Projects/Data/Profile/Sources/Model/Mapper/ProfileUpdateDataDTO+.swift b/Projects/Data/ProfileData/Sources/Model/Mapper/ProfileUpdateDataDTO+.swift similarity index 100% rename from Projects/Data/Profile/Sources/Model/Mapper/ProfileUpdateDataDTO+.swift rename to Projects/Data/ProfileData/Sources/Model/Mapper/ProfileUpdateDataDTO+.swift diff --git a/Projects/Data/Profile/Sources/Model/Mapper/RecapDataDTO+.swift b/Projects/Data/ProfileData/Sources/Model/Mapper/RecapDataDTO+.swift similarity index 100% rename from Projects/Data/Profile/Sources/Model/Mapper/RecapDataDTO+.swift rename to Projects/Data/ProfileData/Sources/Model/Mapper/RecapDataDTO+.swift diff --git a/Projects/Data/Profile/Sources/ProfileLiveDependencies.swift b/Projects/Data/ProfileData/Sources/ProfileLiveDependencies.swift similarity index 100% rename from Projects/Data/Profile/Sources/ProfileLiveDependencies.swift rename to Projects/Data/ProfileData/Sources/ProfileLiveDependencies.swift diff --git a/Projects/Data/Profile/Sources/Repository/ProfileRepositoryImpl.swift b/Projects/Data/ProfileData/Sources/Repository/ProfileRepositoryImpl.swift similarity index 100% rename from Projects/Data/Profile/Sources/Repository/ProfileRepositoryImpl.swift rename to Projects/Data/ProfileData/Sources/Repository/ProfileRepositoryImpl.swift diff --git a/Projects/Data/Profile/Tests/ProfileRepositoryTests.swift b/Projects/Data/ProfileData/Tests/ProfileRepositoryTests.swift similarity index 100% rename from Projects/Data/Profile/Tests/ProfileRepositoryTests.swift rename to Projects/Data/ProfileData/Tests/ProfileRepositoryTests.swift diff --git a/Projects/Data/Profile/Tests/ProfileRequestMappingTests.swift b/Projects/Data/ProfileData/Tests/ProfileRequestMappingTests.swift similarity index 100% rename from Projects/Data/Profile/Tests/ProfileRequestMappingTests.swift rename to Projects/Data/ProfileData/Tests/ProfileRequestMappingTests.swift diff --git a/Projects/Data/Profile/Tests/TestSupport.swift b/Projects/Data/ProfileData/Tests/TestSupport.swift similarity index 100% rename from Projects/Data/Profile/Tests/TestSupport.swift rename to Projects/Data/ProfileData/Tests/TestSupport.swift diff --git a/Projects/Data/Search/Project.swift b/Projects/Data/SearchData/Project.swift similarity index 90% rename from Projects/Data/Search/Project.swift rename to Projects/Data/SearchData/Project.swift index 928e93bc..74e6b00b 100644 --- a/Projects/Data/Search/Project.swift +++ b/Projects/Data/SearchData/Project.swift @@ -14,9 +14,9 @@ let project = Project.configure( .domain(.search, .interface), .domain(.home, .interface), - .api, - .apiEndpoint, - .model, + .service(.api), + .service(.apiEndpoint), + .data(.model), .network(implements: .networkModule), .network(implements: .networkHeader), .SPM.logMarco, diff --git a/Projects/Data/Search/Sources/SearchBattleDataDTO+.swift b/Projects/Data/SearchData/Sources/SearchBattleDataDTO+.swift similarity index 100% rename from Projects/Data/Search/Sources/SearchBattleDataDTO+.swift rename to Projects/Data/SearchData/Sources/SearchBattleDataDTO+.swift diff --git a/Projects/Data/Search/Sources/SearchBattleDataDTO.swift b/Projects/Data/SearchData/Sources/SearchBattleDataDTO.swift similarity index 100% rename from Projects/Data/Search/Sources/SearchBattleDataDTO.swift rename to Projects/Data/SearchData/Sources/SearchBattleDataDTO.swift diff --git a/Projects/Data/Search/Sources/SearchLiveDependencies.swift b/Projects/Data/SearchData/Sources/SearchLiveDependencies.swift similarity index 100% rename from Projects/Data/Search/Sources/SearchLiveDependencies.swift rename to Projects/Data/SearchData/Sources/SearchLiveDependencies.swift diff --git a/Projects/Data/Search/Sources/SearchRepositoryImpl.swift b/Projects/Data/SearchData/Sources/SearchRepositoryImpl.swift similarity index 100% rename from Projects/Data/Search/Sources/SearchRepositoryImpl.swift rename to Projects/Data/SearchData/Sources/SearchRepositoryImpl.swift diff --git a/Projects/Data/Search/Tests/SearchRepositoryTests.swift b/Projects/Data/SearchData/Tests/SearchRepositoryTests.swift similarity index 100% rename from Projects/Data/Search/Tests/SearchRepositoryTests.swift rename to Projects/Data/SearchData/Tests/SearchRepositoryTests.swift diff --git a/Projects/Data/Search/Tests/SearchRequestMappingTests.swift b/Projects/Data/SearchData/Tests/SearchRequestMappingTests.swift similarity index 100% rename from Projects/Data/Search/Tests/SearchRequestMappingTests.swift rename to Projects/Data/SearchData/Tests/SearchRequestMappingTests.swift diff --git a/Projects/Data/Search/Tests/TestSupport.swift b/Projects/Data/SearchData/Tests/TestSupport.swift similarity index 100% rename from Projects/Data/Search/Tests/TestSupport.swift rename to Projects/Data/SearchData/Tests/TestSupport.swift diff --git a/Projects/Domain/AppUpdate/Interface/AppUpdateInterface.swift b/Projects/Domain/AppUpdateDomain/Interface/AppUpdateInterface.swift similarity index 100% rename from Projects/Domain/AppUpdate/Interface/AppUpdateInterface.swift rename to Projects/Domain/AppUpdateDomain/Interface/AppUpdateInterface.swift diff --git a/Projects/Domain/AppUpdate/Interface/AppUpdateUseCaseInterface.swift b/Projects/Domain/AppUpdateDomain/Interface/AppUpdateUseCaseInterface.swift similarity index 100% rename from Projects/Domain/AppUpdate/Interface/AppUpdateUseCaseInterface.swift rename to Projects/Domain/AppUpdateDomain/Interface/AppUpdateUseCaseInterface.swift diff --git a/Projects/Domain/AppUpdate/Interface/Default/MockAppUpdateRepository.swift b/Projects/Domain/AppUpdateDomain/Interface/Default/MockAppUpdateRepository.swift similarity index 100% rename from Projects/Domain/AppUpdate/Interface/Default/MockAppUpdateRepository.swift rename to Projects/Domain/AppUpdateDomain/Interface/Default/MockAppUpdateRepository.swift diff --git a/Projects/Domain/AppUpdate/Interface/Default/MockAppUpdateUseCase.swift b/Projects/Domain/AppUpdateDomain/Interface/Default/MockAppUpdateUseCase.swift similarity index 100% rename from Projects/Domain/AppUpdate/Interface/Default/MockAppUpdateUseCase.swift rename to Projects/Domain/AppUpdateDomain/Interface/Default/MockAppUpdateUseCase.swift diff --git a/Projects/Domain/AppUpdate/Interface/Entity/AppUpdateError.swift b/Projects/Domain/AppUpdateDomain/Interface/Entity/AppUpdateError.swift similarity index 100% rename from Projects/Domain/AppUpdate/Interface/Entity/AppUpdateError.swift rename to Projects/Domain/AppUpdateDomain/Interface/Entity/AppUpdateError.swift diff --git a/Projects/Domain/AppUpdate/Interface/Entity/AppUpdateInfo.swift b/Projects/Domain/AppUpdateDomain/Interface/Entity/AppUpdateInfo.swift similarity index 100% rename from Projects/Domain/AppUpdate/Interface/Entity/AppUpdateInfo.swift rename to Projects/Domain/AppUpdateDomain/Interface/Entity/AppUpdateInfo.swift diff --git a/Projects/Domain/AppUpdate/Project.swift b/Projects/Domain/AppUpdateDomain/Project.swift similarity index 100% rename from Projects/Domain/AppUpdate/Project.swift rename to Projects/Domain/AppUpdateDomain/Project.swift diff --git a/Projects/Domain/AppUpdate/Sources/AppUpdateLiveDependencies.swift b/Projects/Domain/AppUpdateDomain/Sources/AppUpdateLiveDependencies.swift similarity index 100% rename from Projects/Domain/AppUpdate/Sources/AppUpdateLiveDependencies.swift rename to Projects/Domain/AppUpdateDomain/Sources/AppUpdateLiveDependencies.swift diff --git a/Projects/Domain/AppUpdate/Sources/AppUpdateUseCaseImpl.swift b/Projects/Domain/AppUpdateDomain/Sources/AppUpdateUseCaseImpl.swift similarity index 100% rename from Projects/Domain/AppUpdate/Sources/AppUpdateUseCaseImpl.swift rename to Projects/Domain/AppUpdateDomain/Sources/AppUpdateUseCaseImpl.swift diff --git a/Projects/Domain/AppUpdate/Testing/AppUpdateDomainTesting.swift b/Projects/Domain/AppUpdateDomain/Testing/AppUpdateDomainTesting.swift similarity index 100% rename from Projects/Domain/AppUpdate/Testing/AppUpdateDomainTesting.swift rename to Projects/Domain/AppUpdateDomain/Testing/AppUpdateDomainTesting.swift diff --git a/Projects/Domain/AppUpdate/Tests/AppUpdateDomainTests.swift b/Projects/Domain/AppUpdateDomain/Tests/AppUpdateDomainTests.swift similarity index 100% rename from Projects/Domain/AppUpdate/Tests/AppUpdateDomainTests.swift rename to Projects/Domain/AppUpdateDomain/Tests/AppUpdateDomainTests.swift diff --git a/Projects/Domain/Attendance/Interface/AttendanceCheckResult.swift b/Projects/Domain/AttendanceDomain/Interface/AttendanceCheckResult.swift similarity index 100% rename from Projects/Domain/Attendance/Interface/AttendanceCheckResult.swift rename to Projects/Domain/AttendanceDomain/Interface/AttendanceCheckResult.swift diff --git a/Projects/Domain/Attendance/Interface/AttendanceDay.swift b/Projects/Domain/AttendanceDomain/Interface/AttendanceDay.swift similarity index 100% rename from Projects/Domain/Attendance/Interface/AttendanceDay.swift rename to Projects/Domain/AttendanceDomain/Interface/AttendanceDay.swift diff --git a/Projects/Domain/Attendance/Interface/AttendanceDayStatus.swift b/Projects/Domain/AttendanceDomain/Interface/AttendanceDayStatus.swift similarity index 100% rename from Projects/Domain/Attendance/Interface/AttendanceDayStatus.swift rename to Projects/Domain/AttendanceDomain/Interface/AttendanceDayStatus.swift diff --git a/Projects/Domain/Attendance/Interface/AttendanceError.swift b/Projects/Domain/AttendanceDomain/Interface/AttendanceError.swift similarity index 100% rename from Projects/Domain/Attendance/Interface/AttendanceError.swift rename to Projects/Domain/AttendanceDomain/Interface/AttendanceError.swift diff --git a/Projects/Domain/Attendance/Interface/AttendanceInterface.swift b/Projects/Domain/AttendanceDomain/Interface/AttendanceInterface.swift similarity index 100% rename from Projects/Domain/Attendance/Interface/AttendanceInterface.swift rename to Projects/Domain/AttendanceDomain/Interface/AttendanceInterface.swift diff --git a/Projects/Domain/Attendance/Interface/AttendanceSummary.swift b/Projects/Domain/AttendanceDomain/Interface/AttendanceSummary.swift similarity index 100% rename from Projects/Domain/Attendance/Interface/AttendanceSummary.swift rename to Projects/Domain/AttendanceDomain/Interface/AttendanceSummary.swift diff --git a/Projects/Domain/Attendance/Interface/MockAttendanceRepository.swift b/Projects/Domain/AttendanceDomain/Interface/MockAttendanceRepository.swift similarity index 100% rename from Projects/Domain/Attendance/Interface/MockAttendanceRepository.swift rename to Projects/Domain/AttendanceDomain/Interface/MockAttendanceRepository.swift diff --git a/Projects/Domain/Attendance/Interface/WeeklyAttendance.swift b/Projects/Domain/AttendanceDomain/Interface/WeeklyAttendance.swift similarity index 100% rename from Projects/Domain/Attendance/Interface/WeeklyAttendance.swift rename to Projects/Domain/AttendanceDomain/Interface/WeeklyAttendance.swift diff --git a/Projects/Domain/Attendance/Project.swift b/Projects/Domain/AttendanceDomain/Project.swift similarity index 100% rename from Projects/Domain/Attendance/Project.swift rename to Projects/Domain/AttendanceDomain/Project.swift diff --git a/Projects/Domain/Attendance/Sources/AttendanceLiveDependencies.swift b/Projects/Domain/AttendanceDomain/Sources/AttendanceLiveDependencies.swift similarity index 100% rename from Projects/Domain/Attendance/Sources/AttendanceLiveDependencies.swift rename to Projects/Domain/AttendanceDomain/Sources/AttendanceLiveDependencies.swift diff --git a/Projects/Domain/Attendance/Sources/AttendanceUseCase.swift b/Projects/Domain/AttendanceDomain/Sources/AttendanceUseCase.swift similarity index 100% rename from Projects/Domain/Attendance/Sources/AttendanceUseCase.swift rename to Projects/Domain/AttendanceDomain/Sources/AttendanceUseCase.swift diff --git a/Projects/Domain/Attendance/Testing/AttendanceDomainTesting.swift b/Projects/Domain/AttendanceDomain/Testing/AttendanceDomainTesting.swift similarity index 100% rename from Projects/Domain/Attendance/Testing/AttendanceDomainTesting.swift rename to Projects/Domain/AttendanceDomain/Testing/AttendanceDomainTesting.swift diff --git a/Projects/Domain/Attendance/Tests/AttendanceDomainTests.swift b/Projects/Domain/AttendanceDomain/Tests/AttendanceDomainTests.swift similarity index 100% rename from Projects/Domain/Attendance/Tests/AttendanceDomainTests.swift rename to Projects/Domain/AttendanceDomain/Tests/AttendanceDomainTests.swift diff --git a/Projects/Domain/Auth/Interface/Contract/Apple/Default/MockAppleAuthRequest.swift b/Projects/Domain/AuthDomain/Interface/Contract/Apple/Default/MockAppleAuthRequest.swift similarity index 100% rename from Projects/Domain/Auth/Interface/Contract/Apple/Default/MockAppleAuthRequest.swift rename to Projects/Domain/AuthDomain/Interface/Contract/Apple/Default/MockAppleAuthRequest.swift diff --git a/Projects/Domain/Auth/Interface/Contract/Apple/Default/MockAppleOAuthRepository.swift b/Projects/Domain/AuthDomain/Interface/Contract/Apple/Default/MockAppleOAuthRepository.swift similarity index 100% rename from Projects/Domain/Auth/Interface/Contract/Apple/Default/MockAppleOAuthRepository.swift rename to Projects/Domain/AuthDomain/Interface/Contract/Apple/Default/MockAppleOAuthRepository.swift diff --git a/Projects/Domain/Auth/Interface/Contract/Apple/Interface/AppleAuthRequestInterface.swift b/Projects/Domain/AuthDomain/Interface/Contract/Apple/Interface/AppleAuthRequestInterface.swift similarity index 100% rename from Projects/Domain/Auth/Interface/Contract/Apple/Interface/AppleAuthRequestInterface.swift rename to Projects/Domain/AuthDomain/Interface/Contract/Apple/Interface/AppleAuthRequestInterface.swift diff --git a/Projects/Domain/Auth/Interface/Contract/Apple/Interface/AppleOAuthInterface.swift b/Projects/Domain/AuthDomain/Interface/Contract/Apple/Interface/AppleOAuthInterface.swift similarity index 100% rename from Projects/Domain/Auth/Interface/Contract/Apple/Interface/AppleOAuthInterface.swift rename to Projects/Domain/AuthDomain/Interface/Contract/Apple/Interface/AppleOAuthInterface.swift diff --git a/Projects/Domain/Auth/Interface/Contract/Apple/Interface/AppleOAuthProviderInterface.swift b/Projects/Domain/AuthDomain/Interface/Contract/Apple/Interface/AppleOAuthProviderInterface.swift similarity index 100% rename from Projects/Domain/Auth/Interface/Contract/Apple/Interface/AppleOAuthProviderInterface.swift rename to Projects/Domain/AuthDomain/Interface/Contract/Apple/Interface/AppleOAuthProviderInterface.swift diff --git a/Projects/Domain/Auth/Interface/Contract/Auth/Default/MockAuthRepository.swift b/Projects/Domain/AuthDomain/Interface/Contract/Auth/Default/MockAuthRepository.swift similarity index 100% rename from Projects/Domain/Auth/Interface/Contract/Auth/Default/MockAuthRepository.swift rename to Projects/Domain/AuthDomain/Interface/Contract/Auth/Default/MockAuthRepository.swift diff --git a/Projects/Domain/Auth/Interface/Contract/Auth/Default/MockAuthUseCase.swift b/Projects/Domain/AuthDomain/Interface/Contract/Auth/Default/MockAuthUseCase.swift similarity index 100% rename from Projects/Domain/Auth/Interface/Contract/Auth/Default/MockAuthUseCase.swift rename to Projects/Domain/AuthDomain/Interface/Contract/Auth/Default/MockAuthUseCase.swift diff --git a/Projects/Domain/Auth/Interface/Contract/Auth/Interface/AuthInterface.swift b/Projects/Domain/AuthDomain/Interface/Contract/Auth/Interface/AuthInterface.swift similarity index 100% rename from Projects/Domain/Auth/Interface/Contract/Auth/Interface/AuthInterface.swift rename to Projects/Domain/AuthDomain/Interface/Contract/Auth/Interface/AuthInterface.swift diff --git a/Projects/Domain/Auth/Interface/Contract/Auth/Interface/AuthUseCaseInterface.swift b/Projects/Domain/AuthDomain/Interface/Contract/Auth/Interface/AuthUseCaseInterface.swift similarity index 100% rename from Projects/Domain/Auth/Interface/Contract/Auth/Interface/AuthUseCaseInterface.swift rename to Projects/Domain/AuthDomain/Interface/Contract/Auth/Interface/AuthUseCaseInterface.swift diff --git a/Projects/Domain/Auth/Interface/Contract/Google/Default/MockGoogleOAuthRepository.swift b/Projects/Domain/AuthDomain/Interface/Contract/Google/Default/MockGoogleOAuthRepository.swift similarity index 100% rename from Projects/Domain/Auth/Interface/Contract/Google/Default/MockGoogleOAuthRepository.swift rename to Projects/Domain/AuthDomain/Interface/Contract/Google/Default/MockGoogleOAuthRepository.swift diff --git a/Projects/Domain/Auth/Interface/Contract/Google/Interface/GoogleOAuthInterface.swift b/Projects/Domain/AuthDomain/Interface/Contract/Google/Interface/GoogleOAuthInterface.swift similarity index 100% rename from Projects/Domain/Auth/Interface/Contract/Google/Interface/GoogleOAuthInterface.swift rename to Projects/Domain/AuthDomain/Interface/Contract/Google/Interface/GoogleOAuthInterface.swift diff --git a/Projects/Domain/Auth/Interface/Contract/Google/Interface/GoogleOAuthProviderInterface.swift b/Projects/Domain/AuthDomain/Interface/Contract/Google/Interface/GoogleOAuthProviderInterface.swift similarity index 100% rename from Projects/Domain/Auth/Interface/Contract/Google/Interface/GoogleOAuthProviderInterface.swift rename to Projects/Domain/AuthDomain/Interface/Contract/Google/Interface/GoogleOAuthProviderInterface.swift diff --git a/Projects/Domain/Auth/Interface/Contract/Kakao/Default/MockKakaoOAuthRepository.swift b/Projects/Domain/AuthDomain/Interface/Contract/Kakao/Default/MockKakaoOAuthRepository.swift similarity index 100% rename from Projects/Domain/Auth/Interface/Contract/Kakao/Default/MockKakaoOAuthRepository.swift rename to Projects/Domain/AuthDomain/Interface/Contract/Kakao/Default/MockKakaoOAuthRepository.swift diff --git a/Projects/Domain/Auth/Interface/Contract/Kakao/Interface/KakaoOAuthProviderInterface.swift b/Projects/Domain/AuthDomain/Interface/Contract/Kakao/Interface/KakaoOAuthProviderInterface.swift similarity index 100% rename from Projects/Domain/Auth/Interface/Contract/Kakao/Interface/KakaoOAuthProviderInterface.swift rename to Projects/Domain/AuthDomain/Interface/Contract/Kakao/Interface/KakaoOAuthProviderInterface.swift diff --git a/Projects/Domain/Auth/Interface/Contract/Kakao/Interface/KakaoOAuthRepositoryProtocol.swift b/Projects/Domain/AuthDomain/Interface/Contract/Kakao/Interface/KakaoOAuthRepositoryProtocol.swift similarity index 100% rename from Projects/Domain/Auth/Interface/Contract/Kakao/Interface/KakaoOAuthRepositoryProtocol.swift rename to Projects/Domain/AuthDomain/Interface/Contract/Kakao/Interface/KakaoOAuthRepositoryProtocol.swift diff --git a/Projects/Domain/Auth/Interface/Contract/OAuth/Default/MockUnifiedOAuthUseCase.swift b/Projects/Domain/AuthDomain/Interface/Contract/OAuth/Default/MockUnifiedOAuthUseCase.swift similarity index 100% rename from Projects/Domain/Auth/Interface/Contract/OAuth/Default/MockUnifiedOAuthUseCase.swift rename to Projects/Domain/AuthDomain/Interface/Contract/OAuth/Default/MockUnifiedOAuthUseCase.swift diff --git a/Projects/Domain/Auth/Interface/Contract/OAuth/Interface/UnifiedOAuthUseCaseInterface.swift b/Projects/Domain/AuthDomain/Interface/Contract/OAuth/Interface/UnifiedOAuthUseCaseInterface.swift similarity index 100% rename from Projects/Domain/Auth/Interface/Contract/OAuth/Interface/UnifiedOAuthUseCaseInterface.swift rename to Projects/Domain/AuthDomain/Interface/Contract/OAuth/Interface/UnifiedOAuthUseCaseInterface.swift diff --git a/Projects/Domain/Auth/Interface/Entity/Auth/AuthExitEntity.swift b/Projects/Domain/AuthDomain/Interface/Entity/Auth/AuthExitEntity.swift similarity index 100% rename from Projects/Domain/Auth/Interface/Entity/Auth/AuthExitEntity.swift rename to Projects/Domain/AuthDomain/Interface/Entity/Auth/AuthExitEntity.swift diff --git a/Projects/Domain/Auth/Interface/Entity/Auth/SocialType.swift b/Projects/Domain/AuthDomain/Interface/Entity/Auth/SocialType.swift similarity index 100% rename from Projects/Domain/Auth/Interface/Entity/Auth/SocialType.swift rename to Projects/Domain/AuthDomain/Interface/Entity/Auth/SocialType.swift diff --git a/Projects/Domain/Auth/Interface/Entity/Auth/TermsDocument.swift b/Projects/Domain/AuthDomain/Interface/Entity/Auth/TermsDocument.swift similarity index 100% rename from Projects/Domain/Auth/Interface/Entity/Auth/TermsDocument.swift rename to Projects/Domain/AuthDomain/Interface/Entity/Auth/TermsDocument.swift diff --git a/Projects/Domain/Auth/Interface/Entity/Auth/WithdrawEntity.swift b/Projects/Domain/AuthDomain/Interface/Entity/Auth/WithdrawEntity.swift similarity index 100% rename from Projects/Domain/Auth/Interface/Entity/Auth/WithdrawEntity.swift rename to Projects/Domain/AuthDomain/Interface/Entity/Auth/WithdrawEntity.swift diff --git a/Projects/Domain/Auth/Interface/Entity/AuthError.swift b/Projects/Domain/AuthDomain/Interface/Entity/AuthError.swift similarity index 100% rename from Projects/Domain/Auth/Interface/Entity/AuthError.swift rename to Projects/Domain/AuthDomain/Interface/Entity/AuthError.swift diff --git a/Projects/Domain/Auth/Interface/Entity/OAuth/AppleOAuthPayload.swift b/Projects/Domain/AuthDomain/Interface/Entity/OAuth/AppleOAuthPayload.swift similarity index 100% rename from Projects/Domain/Auth/Interface/Entity/OAuth/AppleOAuthPayload.swift rename to Projects/Domain/AuthDomain/Interface/Entity/OAuth/AppleOAuthPayload.swift diff --git a/Projects/Domain/Auth/Interface/Entity/OAuth/AuthToken.swift b/Projects/Domain/AuthDomain/Interface/Entity/OAuth/AuthToken.swift similarity index 100% rename from Projects/Domain/Auth/Interface/Entity/OAuth/AuthToken.swift rename to Projects/Domain/AuthDomain/Interface/Entity/OAuth/AuthToken.swift diff --git a/Projects/Domain/Auth/Interface/Entity/OAuth/GoogleOAuthPayload.swift b/Projects/Domain/AuthDomain/Interface/Entity/OAuth/GoogleOAuthPayload.swift similarity index 100% rename from Projects/Domain/Auth/Interface/Entity/OAuth/GoogleOAuthPayload.swift rename to Projects/Domain/AuthDomain/Interface/Entity/OAuth/GoogleOAuthPayload.swift diff --git a/Projects/Domain/Auth/Interface/Entity/OAuth/KakaoOAuthPayload.swift b/Projects/Domain/AuthDomain/Interface/Entity/OAuth/KakaoOAuthPayload.swift similarity index 100% rename from Projects/Domain/Auth/Interface/Entity/OAuth/KakaoOAuthPayload.swift rename to Projects/Domain/AuthDomain/Interface/Entity/OAuth/KakaoOAuthPayload.swift diff --git a/Projects/Domain/Auth/Interface/Entity/OAuth/LoginEntity.swift b/Projects/Domain/AuthDomain/Interface/Entity/OAuth/LoginEntity.swift similarity index 100% rename from Projects/Domain/Auth/Interface/Entity/OAuth/LoginEntity.swift rename to Projects/Domain/AuthDomain/Interface/Entity/OAuth/LoginEntity.swift diff --git a/Projects/Domain/Auth/Interface/Entity/OAuth/UserSession.swift b/Projects/Domain/AuthDomain/Interface/Entity/OAuth/UserSession.swift similarity index 100% rename from Projects/Domain/Auth/Interface/Entity/OAuth/UserSession.swift rename to Projects/Domain/AuthDomain/Interface/Entity/OAuth/UserSession.swift diff --git a/Projects/Domain/Auth/Project.swift b/Projects/Domain/AuthDomain/Project.swift similarity index 100% rename from Projects/Domain/Auth/Project.swift rename to Projects/Domain/AuthDomain/Project.swift diff --git a/Projects/Domain/Auth/Sources/Auth/AuthUseCaseImpl.swift b/Projects/Domain/AuthDomain/Sources/Auth/AuthUseCaseImpl.swift similarity index 100% rename from Projects/Domain/Auth/Sources/Auth/AuthUseCaseImpl.swift rename to Projects/Domain/AuthDomain/Sources/Auth/AuthUseCaseImpl.swift diff --git a/Projects/Domain/Auth/Sources/AuthLiveDependencies.swift b/Projects/Domain/AuthDomain/Sources/AuthLiveDependencies.swift similarity index 100% rename from Projects/Domain/Auth/Sources/AuthLiveDependencies.swift rename to Projects/Domain/AuthDomain/Sources/AuthLiveDependencies.swift diff --git a/Projects/Domain/Auth/Sources/Exported/AuthDomainExported.swift b/Projects/Domain/AuthDomain/Sources/Exported/AuthDomainExported.swift similarity index 100% rename from Projects/Domain/Auth/Sources/Exported/AuthDomainExported.swift rename to Projects/Domain/AuthDomain/Sources/Exported/AuthDomainExported.swift diff --git a/Projects/Domain/Auth/Sources/OAuth/Provider/Apple/AppleOAuthProvider.swift b/Projects/Domain/AuthDomain/Sources/OAuth/Provider/Apple/AppleOAuthProvider.swift similarity index 100% rename from Projects/Domain/Auth/Sources/OAuth/Provider/Apple/AppleOAuthProvider.swift rename to Projects/Domain/AuthDomain/Sources/OAuth/Provider/Apple/AppleOAuthProvider.swift diff --git a/Projects/Domain/Auth/Sources/OAuth/Provider/Google/GoogleOAuthProvider.swift b/Projects/Domain/AuthDomain/Sources/OAuth/Provider/Google/GoogleOAuthProvider.swift similarity index 100% rename from Projects/Domain/Auth/Sources/OAuth/Provider/Google/GoogleOAuthProvider.swift rename to Projects/Domain/AuthDomain/Sources/OAuth/Provider/Google/GoogleOAuthProvider.swift diff --git a/Projects/Domain/Auth/Sources/OAuth/Provider/Kakao/KakaoOAuthProvider.swift b/Projects/Domain/AuthDomain/Sources/OAuth/Provider/Kakao/KakaoOAuthProvider.swift similarity index 100% rename from Projects/Domain/Auth/Sources/OAuth/Provider/Kakao/KakaoOAuthProvider.swift rename to Projects/Domain/AuthDomain/Sources/OAuth/Provider/Kakao/KakaoOAuthProvider.swift diff --git a/Projects/Domain/Auth/Sources/OAuth/UnifiedOAuthUseCase.swift b/Projects/Domain/AuthDomain/Sources/OAuth/UnifiedOAuthUseCase.swift similarity index 100% rename from Projects/Domain/Auth/Sources/OAuth/UnifiedOAuthUseCase.swift rename to Projects/Domain/AuthDomain/Sources/OAuth/UnifiedOAuthUseCase.swift diff --git a/Projects/Domain/Auth/Testing/MockAuthRepository.swift b/Projects/Domain/AuthDomain/Testing/MockAuthRepository.swift similarity index 100% rename from Projects/Domain/Auth/Testing/MockAuthRepository.swift rename to Projects/Domain/AuthDomain/Testing/MockAuthRepository.swift diff --git a/Projects/Domain/Auth/Tests/AuthDomainTests.swift b/Projects/Domain/AuthDomain/Tests/AuthDomainTests.swift similarity index 100% rename from Projects/Domain/Auth/Tests/AuthDomainTests.swift rename to Projects/Domain/AuthDomain/Tests/AuthDomainTests.swift diff --git a/Projects/Domain/Battle/Interface/Contract/Default/MockBattleRepository.swift b/Projects/Domain/BattleDomain/Interface/Contract/Default/MockBattleRepository.swift similarity index 100% rename from Projects/Domain/Battle/Interface/Contract/Default/MockBattleRepository.swift rename to Projects/Domain/BattleDomain/Interface/Contract/Default/MockBattleRepository.swift diff --git a/Projects/Domain/Battle/Interface/Contract/Interface/BattleInterface.swift b/Projects/Domain/BattleDomain/Interface/Contract/Interface/BattleInterface.swift similarity index 100% rename from Projects/Domain/Battle/Interface/Contract/Interface/BattleInterface.swift rename to Projects/Domain/BattleDomain/Interface/Contract/Interface/BattleInterface.swift diff --git a/Projects/Domain/Battle/Interface/Entity/Battle/Detail/BattleDetail.swift b/Projects/Domain/BattleDomain/Interface/Entity/Battle/Detail/BattleDetail.swift similarity index 100% rename from Projects/Domain/Battle/Interface/Entity/Battle/Detail/BattleDetail.swift rename to Projects/Domain/BattleDomain/Interface/Entity/Battle/Detail/BattleDetail.swift diff --git a/Projects/Domain/Battle/Interface/Entity/Battle/Detail/BattleInfo.swift b/Projects/Domain/BattleDomain/Interface/Entity/Battle/Detail/BattleInfo.swift similarity index 100% rename from Projects/Domain/Battle/Interface/Entity/Battle/Detail/BattleInfo.swift rename to Projects/Domain/BattleDomain/Interface/Entity/Battle/Detail/BattleInfo.swift diff --git a/Projects/Domain/Battle/Interface/Entity/Battle/Detail/BattleOption.swift b/Projects/Domain/BattleDomain/Interface/Entity/Battle/Detail/BattleOption.swift similarity index 100% rename from Projects/Domain/Battle/Interface/Entity/Battle/Detail/BattleOption.swift rename to Projects/Domain/BattleDomain/Interface/Entity/Battle/Detail/BattleOption.swift diff --git a/Projects/Domain/Battle/Interface/Entity/Battle/Detail/BattleStep.swift b/Projects/Domain/BattleDomain/Interface/Entity/Battle/Detail/BattleStep.swift similarity index 100% rename from Projects/Domain/Battle/Interface/Entity/Battle/Detail/BattleStep.swift rename to Projects/Domain/BattleDomain/Interface/Entity/Battle/Detail/BattleStep.swift diff --git a/Projects/Domain/Battle/Interface/Entity/Battle/Detail/UserVoteStatus.swift b/Projects/Domain/BattleDomain/Interface/Entity/Battle/Detail/UserVoteStatus.swift similarity index 100% rename from Projects/Domain/Battle/Interface/Entity/Battle/Detail/UserVoteStatus.swift rename to Projects/Domain/BattleDomain/Interface/Entity/Battle/Detail/UserVoteStatus.swift diff --git a/Projects/Domain/Battle/Interface/Entity/Battle/PreVote/PhilosopherAvatar.swift b/Projects/Domain/BattleDomain/Interface/Entity/Battle/PreVote/PhilosopherAvatar.swift similarity index 100% rename from Projects/Domain/Battle/Interface/Entity/Battle/PreVote/PhilosopherAvatar.swift rename to Projects/Domain/BattleDomain/Interface/Entity/Battle/PreVote/PhilosopherAvatar.swift diff --git a/Projects/Domain/Battle/Interface/Entity/Battle/PreVote/PreVoteBattle.swift b/Projects/Domain/BattleDomain/Interface/Entity/Battle/PreVote/PreVoteBattle.swift similarity index 100% rename from Projects/Domain/Battle/Interface/Entity/Battle/PreVote/PreVoteBattle.swift rename to Projects/Domain/BattleDomain/Interface/Entity/Battle/PreVote/PreVoteBattle.swift diff --git a/Projects/Domain/Battle/Interface/Entity/Battle/PreVote/PreVoteOption.swift b/Projects/Domain/BattleDomain/Interface/Entity/Battle/PreVote/PreVoteOption.swift similarity index 100% rename from Projects/Domain/Battle/Interface/Entity/Battle/PreVote/PreVoteOption.swift rename to Projects/Domain/BattleDomain/Interface/Entity/Battle/PreVote/PreVoteOption.swift diff --git a/Projects/Domain/Battle/Interface/Entity/Battle/PreVote/PreVoteResult.swift b/Projects/Domain/BattleDomain/Interface/Entity/Battle/PreVote/PreVoteResult.swift similarity index 100% rename from Projects/Domain/Battle/Interface/Entity/Battle/PreVote/PreVoteResult.swift rename to Projects/Domain/BattleDomain/Interface/Entity/Battle/PreVote/PreVoteResult.swift diff --git a/Projects/Domain/Battle/Interface/Entity/Battle/PreVote/PreVoteResultStatus.swift b/Projects/Domain/BattleDomain/Interface/Entity/Battle/PreVote/PreVoteResultStatus.swift similarity index 100% rename from Projects/Domain/Battle/Interface/Entity/Battle/PreVote/PreVoteResultStatus.swift rename to Projects/Domain/BattleDomain/Interface/Entity/Battle/PreVote/PreVoteResultStatus.swift diff --git a/Projects/Domain/Battle/Interface/Entity/Battle/Recommend/RecommendedBattle.swift b/Projects/Domain/BattleDomain/Interface/Entity/Battle/Recommend/RecommendedBattle.swift similarity index 100% rename from Projects/Domain/Battle/Interface/Entity/Battle/Recommend/RecommendedBattle.swift rename to Projects/Domain/BattleDomain/Interface/Entity/Battle/Recommend/RecommendedBattle.swift diff --git a/Projects/Domain/Battle/Interface/Entity/Battle/Recommend/RecommendedBattleOption.swift b/Projects/Domain/BattleDomain/Interface/Entity/Battle/Recommend/RecommendedBattleOption.swift similarity index 100% rename from Projects/Domain/Battle/Interface/Entity/Battle/Recommend/RecommendedBattleOption.swift rename to Projects/Domain/BattleDomain/Interface/Entity/Battle/Recommend/RecommendedBattleOption.swift diff --git a/Projects/Domain/Battle/Interface/Entity/Battle/Recommend/RecommendedBattlePage.swift b/Projects/Domain/BattleDomain/Interface/Entity/Battle/Recommend/RecommendedBattlePage.swift similarity index 100% rename from Projects/Domain/Battle/Interface/Entity/Battle/Recommend/RecommendedBattlePage.swift rename to Projects/Domain/BattleDomain/Interface/Entity/Battle/Recommend/RecommendedBattlePage.swift diff --git a/Projects/Domain/Battle/Interface/Entity/Battle/Recommend/RecommendedBattleTag.swift b/Projects/Domain/BattleDomain/Interface/Entity/Battle/Recommend/RecommendedBattleTag.swift similarity index 100% rename from Projects/Domain/Battle/Interface/Entity/Battle/Recommend/RecommendedBattleTag.swift rename to Projects/Domain/BattleDomain/Interface/Entity/Battle/Recommend/RecommendedBattleTag.swift diff --git a/Projects/Domain/Battle/Interface/Entity/Battle/VoteStats/BattleVoteStats.swift b/Projects/Domain/BattleDomain/Interface/Entity/Battle/VoteStats/BattleVoteStats.swift similarity index 100% rename from Projects/Domain/Battle/Interface/Entity/Battle/VoteStats/BattleVoteStats.swift rename to Projects/Domain/BattleDomain/Interface/Entity/Battle/VoteStats/BattleVoteStats.swift diff --git a/Projects/Domain/Battle/Interface/Entity/Battle/VoteStats/BattleVoteStatsOption.swift b/Projects/Domain/BattleDomain/Interface/Entity/Battle/VoteStats/BattleVoteStatsOption.swift similarity index 100% rename from Projects/Domain/Battle/Interface/Entity/Battle/VoteStats/BattleVoteStatsOption.swift rename to Projects/Domain/BattleDomain/Interface/Entity/Battle/VoteStats/BattleVoteStatsOption.swift diff --git a/Projects/Domain/Battle/Interface/Entity/Battle/VoteStats/VoteOptionSummary.swift b/Projects/Domain/BattleDomain/Interface/Entity/Battle/VoteStats/VoteOptionSummary.swift similarity index 100% rename from Projects/Domain/Battle/Interface/Entity/Battle/VoteStats/VoteOptionSummary.swift rename to Projects/Domain/BattleDomain/Interface/Entity/Battle/VoteStats/VoteOptionSummary.swift diff --git a/Projects/Domain/Battle/Interface/Entity/Battle/VoteStats/VoteSummary.swift b/Projects/Domain/BattleDomain/Interface/Entity/Battle/VoteStats/VoteSummary.swift similarity index 100% rename from Projects/Domain/Battle/Interface/Entity/Battle/VoteStats/VoteSummary.swift rename to Projects/Domain/BattleDomain/Interface/Entity/Battle/VoteStats/VoteSummary.swift diff --git a/Projects/Domain/Battle/Interface/Entity/BattleError.swift b/Projects/Domain/BattleDomain/Interface/Entity/BattleError.swift similarity index 100% rename from Projects/Domain/Battle/Interface/Entity/BattleError.swift rename to Projects/Domain/BattleDomain/Interface/Entity/BattleError.swift diff --git a/Projects/Domain/Battle/Interface/Entity/Perspective/BattlePerspective.swift b/Projects/Domain/BattleDomain/Interface/Entity/Perspective/BattlePerspective.swift similarity index 100% rename from Projects/Domain/Battle/Interface/Entity/Perspective/BattlePerspective.swift rename to Projects/Domain/BattleDomain/Interface/Entity/Perspective/BattlePerspective.swift diff --git a/Projects/Domain/Battle/Interface/Entity/Perspective/BattlePerspectiveOption.swift b/Projects/Domain/BattleDomain/Interface/Entity/Perspective/BattlePerspectiveOption.swift similarity index 100% rename from Projects/Domain/Battle/Interface/Entity/Perspective/BattlePerspectiveOption.swift rename to Projects/Domain/BattleDomain/Interface/Entity/Perspective/BattlePerspectiveOption.swift diff --git a/Projects/Domain/Battle/Interface/Entity/Perspective/BattlePerspectivePage.swift b/Projects/Domain/BattleDomain/Interface/Entity/Perspective/BattlePerspectivePage.swift similarity index 100% rename from Projects/Domain/Battle/Interface/Entity/Perspective/BattlePerspectivePage.swift rename to Projects/Domain/BattleDomain/Interface/Entity/Perspective/BattlePerspectivePage.swift diff --git a/Projects/Domain/Battle/Interface/Entity/Perspective/BattlePerspectiveSort.swift b/Projects/Domain/BattleDomain/Interface/Entity/Perspective/BattlePerspectiveSort.swift similarity index 100% rename from Projects/Domain/Battle/Interface/Entity/Perspective/BattlePerspectiveSort.swift rename to Projects/Domain/BattleDomain/Interface/Entity/Perspective/BattlePerspectiveSort.swift diff --git a/Projects/Domain/Battle/Interface/Entity/Perspective/BattlePerspectiveUser.swift b/Projects/Domain/BattleDomain/Interface/Entity/Perspective/BattlePerspectiveUser.swift similarity index 100% rename from Projects/Domain/Battle/Interface/Entity/Perspective/BattlePerspectiveUser.swift rename to Projects/Domain/BattleDomain/Interface/Entity/Perspective/BattlePerspectiveUser.swift diff --git a/Projects/Domain/Battle/Interface/Entity/Proposal/BattleProposal.swift b/Projects/Domain/BattleDomain/Interface/Entity/Proposal/BattleProposal.swift similarity index 100% rename from Projects/Domain/Battle/Interface/Entity/Proposal/BattleProposal.swift rename to Projects/Domain/BattleDomain/Interface/Entity/Proposal/BattleProposal.swift diff --git a/Projects/Domain/Battle/Interface/Entity/Proposal/BattleProposalCategory.swift b/Projects/Domain/BattleDomain/Interface/Entity/Proposal/BattleProposalCategory.swift similarity index 100% rename from Projects/Domain/Battle/Interface/Entity/Proposal/BattleProposalCategory.swift rename to Projects/Domain/BattleDomain/Interface/Entity/Proposal/BattleProposalCategory.swift diff --git a/Projects/Domain/Battle/Interface/Entity/Proposal/BattleProposalDraft.swift b/Projects/Domain/BattleDomain/Interface/Entity/Proposal/BattleProposalDraft.swift similarity index 100% rename from Projects/Domain/Battle/Interface/Entity/Proposal/BattleProposalDraft.swift rename to Projects/Domain/BattleDomain/Interface/Entity/Proposal/BattleProposalDraft.swift diff --git a/Projects/Domain/Battle/Interface/Entity/TodayBattlePage.swift b/Projects/Domain/BattleDomain/Interface/Entity/TodayBattlePage.swift similarity index 100% rename from Projects/Domain/Battle/Interface/Entity/TodayBattlePage.swift rename to Projects/Domain/BattleDomain/Interface/Entity/TodayBattlePage.swift diff --git a/Projects/Domain/Battle/Project.swift b/Projects/Domain/BattleDomain/Project.swift similarity index 100% rename from Projects/Domain/Battle/Project.swift rename to Projects/Domain/BattleDomain/Project.swift diff --git a/Projects/Domain/Battle/Sources/Battle/BattleUseCase.swift b/Projects/Domain/BattleDomain/Sources/Battle/BattleUseCase.swift similarity index 100% rename from Projects/Domain/Battle/Sources/Battle/BattleUseCase.swift rename to Projects/Domain/BattleDomain/Sources/Battle/BattleUseCase.swift diff --git a/Projects/Domain/Battle/Sources/BattleLiveDependencies.swift b/Projects/Domain/BattleDomain/Sources/BattleLiveDependencies.swift similarity index 100% rename from Projects/Domain/Battle/Sources/BattleLiveDependencies.swift rename to Projects/Domain/BattleDomain/Sources/BattleLiveDependencies.swift diff --git a/Projects/Domain/Battle/Testing/BattleDomainTesting.swift b/Projects/Domain/BattleDomain/Testing/BattleDomainTesting.swift similarity index 100% rename from Projects/Domain/Battle/Testing/BattleDomainTesting.swift rename to Projects/Domain/BattleDomain/Testing/BattleDomainTesting.swift diff --git a/Projects/Domain/Battle/Tests/BattleDomainTests.swift b/Projects/Domain/BattleDomain/Tests/BattleDomainTests.swift similarity index 100% rename from Projects/Domain/Battle/Tests/BattleDomainTests.swift rename to Projects/Domain/BattleDomain/Tests/BattleDomainTests.swift diff --git a/Projects/Domain/Comment/Interface/CommentInterface.swift b/Projects/Domain/CommentDomain/Interface/CommentInterface.swift similarity index 100% rename from Projects/Domain/Comment/Interface/CommentInterface.swift rename to Projects/Domain/CommentDomain/Interface/CommentInterface.swift diff --git a/Projects/Domain/Comment/Interface/Error/CommentError.swift b/Projects/Domain/CommentDomain/Interface/Error/CommentError.swift similarity index 100% rename from Projects/Domain/Comment/Interface/Error/CommentError.swift rename to Projects/Domain/CommentDomain/Interface/Error/CommentError.swift diff --git a/Projects/Domain/Comment/Interface/Item/Comment.swift b/Projects/Domain/CommentDomain/Interface/Item/Comment.swift similarity index 100% rename from Projects/Domain/Comment/Interface/Item/Comment.swift rename to Projects/Domain/CommentDomain/Interface/Item/Comment.swift diff --git a/Projects/Domain/Comment/Interface/Item/CommentAuthor.swift b/Projects/Domain/CommentDomain/Interface/Item/CommentAuthor.swift similarity index 100% rename from Projects/Domain/Comment/Interface/Item/CommentAuthor.swift rename to Projects/Domain/CommentDomain/Interface/Item/CommentAuthor.swift diff --git a/Projects/Domain/Comment/Interface/Item/CommentFilter.swift b/Projects/Domain/CommentDomain/Interface/Item/CommentFilter.swift similarity index 100% rename from Projects/Domain/Comment/Interface/Item/CommentFilter.swift rename to Projects/Domain/CommentDomain/Interface/Item/CommentFilter.swift diff --git a/Projects/Domain/Comment/Interface/Item/CommentItem.swift b/Projects/Domain/CommentDomain/Interface/Item/CommentItem.swift similarity index 100% rename from Projects/Domain/Comment/Interface/Item/CommentItem.swift rename to Projects/Domain/CommentDomain/Interface/Item/CommentItem.swift diff --git a/Projects/Domain/Comment/Interface/Item/CommentLikeResult.swift b/Projects/Domain/CommentDomain/Interface/Item/CommentLikeResult.swift similarity index 100% rename from Projects/Domain/Comment/Interface/Item/CommentLikeResult.swift rename to Projects/Domain/CommentDomain/Interface/Item/CommentLikeResult.swift diff --git a/Projects/Domain/Comment/Interface/Item/CommentOption.swift b/Projects/Domain/CommentDomain/Interface/Item/CommentOption.swift similarity index 100% rename from Projects/Domain/Comment/Interface/Item/CommentOption.swift rename to Projects/Domain/CommentDomain/Interface/Item/CommentOption.swift diff --git a/Projects/Domain/Comment/Interface/Item/CommentReplyItem.swift b/Projects/Domain/CommentDomain/Interface/Item/CommentReplyItem.swift similarity index 100% rename from Projects/Domain/Comment/Interface/Item/CommentReplyItem.swift rename to Projects/Domain/CommentDomain/Interface/Item/CommentReplyItem.swift diff --git a/Projects/Domain/Comment/Interface/Item/CommentSort.swift b/Projects/Domain/CommentDomain/Interface/Item/CommentSort.swift similarity index 100% rename from Projects/Domain/Comment/Interface/Item/CommentSort.swift rename to Projects/Domain/CommentDomain/Interface/Item/CommentSort.swift diff --git a/Projects/Domain/Comment/Interface/Item/CommentSortType.swift b/Projects/Domain/CommentDomain/Interface/Item/CommentSortType.swift similarity index 100% rename from Projects/Domain/Comment/Interface/Item/CommentSortType.swift rename to Projects/Domain/CommentDomain/Interface/Item/CommentSortType.swift diff --git a/Projects/Domain/Comment/Interface/Item/CommentTab.swift b/Projects/Domain/CommentDomain/Interface/Item/CommentTab.swift similarity index 100% rename from Projects/Domain/Comment/Interface/Item/CommentTab.swift rename to Projects/Domain/CommentDomain/Interface/Item/CommentTab.swift diff --git a/Projects/Domain/Comment/Interface/PerspectiveComment/PerspectiveComment.swift b/Projects/Domain/CommentDomain/Interface/PerspectiveComment/PerspectiveComment.swift similarity index 100% rename from Projects/Domain/Comment/Interface/PerspectiveComment/PerspectiveComment.swift rename to Projects/Domain/CommentDomain/Interface/PerspectiveComment/PerspectiveComment.swift diff --git a/Projects/Domain/Comment/Interface/PerspectiveComment/PerspectiveCommentMutationResult.swift b/Projects/Domain/CommentDomain/Interface/PerspectiveComment/PerspectiveCommentMutationResult.swift similarity index 100% rename from Projects/Domain/Comment/Interface/PerspectiveComment/PerspectiveCommentMutationResult.swift rename to Projects/Domain/CommentDomain/Interface/PerspectiveComment/PerspectiveCommentMutationResult.swift diff --git a/Projects/Domain/Comment/Interface/PerspectiveComment/PerspectiveCommentPage.swift b/Projects/Domain/CommentDomain/Interface/PerspectiveComment/PerspectiveCommentPage.swift similarity index 100% rename from Projects/Domain/Comment/Interface/PerspectiveComment/PerspectiveCommentPage.swift rename to Projects/Domain/CommentDomain/Interface/PerspectiveComment/PerspectiveCommentPage.swift diff --git a/Projects/Domain/Comment/Interface/PerspectiveComment/PerspectiveCommentUser.swift b/Projects/Domain/CommentDomain/Interface/PerspectiveComment/PerspectiveCommentUser.swift similarity index 100% rename from Projects/Domain/Comment/Interface/PerspectiveComment/PerspectiveCommentUser.swift rename to Projects/Domain/CommentDomain/Interface/PerspectiveComment/PerspectiveCommentUser.swift diff --git a/Projects/Domain/Comment/Project.swift b/Projects/Domain/CommentDomain/Project.swift similarity index 100% rename from Projects/Domain/Comment/Project.swift rename to Projects/Domain/CommentDomain/Project.swift diff --git a/Projects/Domain/Comment/Sources/CommentLiveDependencies.swift b/Projects/Domain/CommentDomain/Sources/CommentLiveDependencies.swift similarity index 100% rename from Projects/Domain/Comment/Sources/CommentLiveDependencies.swift rename to Projects/Domain/CommentDomain/Sources/CommentLiveDependencies.swift diff --git a/Projects/Domain/Comment/Sources/CommentUseCase.swift b/Projects/Domain/CommentDomain/Sources/CommentUseCase.swift similarity index 100% rename from Projects/Domain/Comment/Sources/CommentUseCase.swift rename to Projects/Domain/CommentDomain/Sources/CommentUseCase.swift diff --git a/Projects/Domain/Comment/Testing/CommentDomainTesting.swift b/Projects/Domain/CommentDomain/Testing/CommentDomainTesting.swift similarity index 100% rename from Projects/Domain/Comment/Testing/CommentDomainTesting.swift rename to Projects/Domain/CommentDomain/Testing/CommentDomainTesting.swift diff --git a/Projects/Domain/Comment/Tests/CommentDomainTests.swift b/Projects/Domain/CommentDomain/Tests/CommentDomainTests.swift similarity index 100% rename from Projects/Domain/Comment/Tests/CommentDomainTests.swift rename to Projects/Domain/CommentDomain/Tests/CommentDomainTests.swift diff --git a/Projects/Domain/Home/Interface/Core/HomeBundle.swift b/Projects/Domain/HomeDomain/Interface/Core/HomeBundle.swift similarity index 100% rename from Projects/Domain/Home/Interface/Core/HomeBundle.swift rename to Projects/Domain/HomeDomain/Interface/Core/HomeBundle.swift diff --git a/Projects/Domain/Home/Interface/Explore/ExploreCategory.swift b/Projects/Domain/HomeDomain/Interface/Explore/ExploreCategory.swift similarity index 100% rename from Projects/Domain/Home/Interface/Explore/ExploreCategory.swift rename to Projects/Domain/HomeDomain/Interface/Explore/ExploreCategory.swift diff --git a/Projects/Domain/Home/Interface/Explore/ExploreItem.swift b/Projects/Domain/HomeDomain/Interface/Explore/ExploreItem.swift similarity index 100% rename from Projects/Domain/Home/Interface/Explore/ExploreItem.swift rename to Projects/Domain/HomeDomain/Interface/Explore/ExploreItem.swift diff --git a/Projects/Domain/Home/Interface/Explore/ExploreItemPage.swift b/Projects/Domain/HomeDomain/Interface/Explore/ExploreItemPage.swift similarity index 100% rename from Projects/Domain/Home/Interface/Explore/ExploreItemPage.swift rename to Projects/Domain/HomeDomain/Interface/Explore/ExploreItemPage.swift diff --git a/Projects/Domain/Home/Interface/Explore/ExploreSort.swift b/Projects/Domain/HomeDomain/Interface/Explore/ExploreSort.swift similarity index 100% rename from Projects/Domain/Home/Interface/Explore/ExploreSort.swift rename to Projects/Domain/HomeDomain/Interface/Explore/ExploreSort.swift diff --git a/Projects/Domain/Home/Interface/Repository/HomeInterface.swift b/Projects/Domain/HomeDomain/Interface/Repository/HomeInterface.swift similarity index 100% rename from Projects/Domain/Home/Interface/Repository/HomeInterface.swift rename to Projects/Domain/HomeDomain/Interface/Repository/HomeInterface.swift diff --git a/Projects/Domain/Home/Interface/Repository/MockHomeRepository.swift b/Projects/Domain/HomeDomain/Interface/Repository/MockHomeRepository.swift similarity index 100% rename from Projects/Domain/Home/Interface/Repository/MockHomeRepository.swift rename to Projects/Domain/HomeDomain/Interface/Repository/MockHomeRepository.swift diff --git a/Projects/Domain/Home/Interface/Scenario/BattleScenario+.swift b/Projects/Domain/HomeDomain/Interface/Scenario/BattleScenario+.swift similarity index 100% rename from Projects/Domain/Home/Interface/Scenario/BattleScenario+.swift rename to Projects/Domain/HomeDomain/Interface/Scenario/BattleScenario+.swift diff --git a/Projects/Domain/Home/Interface/Scenario/BattleScenario.swift b/Projects/Domain/HomeDomain/Interface/Scenario/BattleScenario.swift similarity index 100% rename from Projects/Domain/Home/Interface/Scenario/BattleScenario.swift rename to Projects/Domain/HomeDomain/Interface/Scenario/BattleScenario.swift diff --git a/Projects/Domain/Home/Interface/Scenario/Chat/ChatMessage.swift b/Projects/Domain/HomeDomain/Interface/Scenario/Chat/ChatMessage.swift similarity index 100% rename from Projects/Domain/Home/Interface/Scenario/Chat/ChatMessage.swift rename to Projects/Domain/HomeDomain/Interface/Scenario/Chat/ChatMessage.swift diff --git a/Projects/Domain/Home/Interface/Scenario/Chat/ChatRoomBundle.swift b/Projects/Domain/HomeDomain/Interface/Scenario/Chat/ChatRoomBundle.swift similarity index 100% rename from Projects/Domain/Home/Interface/Scenario/Chat/ChatRoomBundle.swift rename to Projects/Domain/HomeDomain/Interface/Scenario/Chat/ChatRoomBundle.swift diff --git a/Projects/Domain/Home/Interface/Scenario/Chat/ChatSpeaker.swift b/Projects/Domain/HomeDomain/Interface/Scenario/Chat/ChatSpeaker.swift similarity index 100% rename from Projects/Domain/Home/Interface/Scenario/Chat/ChatSpeaker.swift rename to Projects/Domain/HomeDomain/Interface/Scenario/Chat/ChatSpeaker.swift diff --git a/Projects/Domain/Home/Interface/Scenario/Chat/ChatSpeakerSide.swift b/Projects/Domain/HomeDomain/Interface/Scenario/Chat/ChatSpeakerSide.swift similarity index 100% rename from Projects/Domain/Home/Interface/Scenario/Chat/ChatSpeakerSide.swift rename to Projects/Domain/HomeDomain/Interface/Scenario/Chat/ChatSpeakerSide.swift diff --git a/Projects/Domain/Home/Interface/Scenario/RecommendedPathKey.swift b/Projects/Domain/HomeDomain/Interface/Scenario/RecommendedPathKey.swift similarity index 100% rename from Projects/Domain/Home/Interface/Scenario/RecommendedPathKey.swift rename to Projects/Domain/HomeDomain/Interface/Scenario/RecommendedPathKey.swift diff --git a/Projects/Domain/Home/Interface/Scenario/ScenarioInteractiveOption.swift b/Projects/Domain/HomeDomain/Interface/Scenario/ScenarioInteractiveOption.swift similarity index 100% rename from Projects/Domain/Home/Interface/Scenario/ScenarioInteractiveOption.swift rename to Projects/Domain/HomeDomain/Interface/Scenario/ScenarioInteractiveOption.swift diff --git a/Projects/Domain/Home/Interface/Scenario/ScenarioNode.swift b/Projects/Domain/HomeDomain/Interface/Scenario/ScenarioNode.swift similarity index 100% rename from Projects/Domain/Home/Interface/Scenario/ScenarioNode.swift rename to Projects/Domain/HomeDomain/Interface/Scenario/ScenarioNode.swift diff --git a/Projects/Domain/Home/Interface/Scenario/ScenarioPhilosopher.swift b/Projects/Domain/HomeDomain/Interface/Scenario/ScenarioPhilosopher.swift similarity index 100% rename from Projects/Domain/Home/Interface/Scenario/ScenarioPhilosopher.swift rename to Projects/Domain/HomeDomain/Interface/Scenario/ScenarioPhilosopher.swift diff --git a/Projects/Domain/Home/Interface/Scenario/ScenarioScript.swift b/Projects/Domain/HomeDomain/Interface/Scenario/ScenarioScript.swift similarity index 100% rename from Projects/Domain/Home/Interface/Scenario/ScenarioScript.swift rename to Projects/Domain/HomeDomain/Interface/Scenario/ScenarioScript.swift diff --git a/Projects/Domain/Home/Interface/Scenario/ScenarioSpeakerType.swift b/Projects/Domain/HomeDomain/Interface/Scenario/ScenarioSpeakerType.swift similarity index 100% rename from Projects/Domain/Home/Interface/Scenario/ScenarioSpeakerType.swift rename to Projects/Domain/HomeDomain/Interface/Scenario/ScenarioSpeakerType.swift diff --git a/Projects/Domain/Home/Interface/Section/Battle/BestBattle.swift b/Projects/Domain/HomeDomain/Interface/Section/Battle/BestBattle.swift similarity index 100% rename from Projects/Domain/Home/Interface/Section/Battle/BestBattle.swift rename to Projects/Domain/HomeDomain/Interface/Section/Battle/BestBattle.swift diff --git a/Projects/Domain/Home/Interface/Section/Battle/HeroBattle.swift b/Projects/Domain/HomeDomain/Interface/Section/Battle/HeroBattle.swift similarity index 100% rename from Projects/Domain/Home/Interface/Section/Battle/HeroBattle.swift rename to Projects/Domain/HomeDomain/Interface/Section/Battle/HeroBattle.swift diff --git a/Projects/Domain/Home/Interface/Section/Battle/HotBattle.swift b/Projects/Domain/HomeDomain/Interface/Section/Battle/HotBattle.swift similarity index 100% rename from Projects/Domain/Home/Interface/Section/Battle/HotBattle.swift rename to Projects/Domain/HomeDomain/Interface/Section/Battle/HotBattle.swift diff --git a/Projects/Domain/Home/Interface/Section/Battle/NewBattle.swift b/Projects/Domain/HomeDomain/Interface/Section/Battle/NewBattle.swift similarity index 100% rename from Projects/Domain/Home/Interface/Section/Battle/NewBattle.swift rename to Projects/Domain/HomeDomain/Interface/Section/Battle/NewBattle.swift diff --git a/Projects/Domain/Home/Interface/Section/QuizQuestion.swift b/Projects/Domain/HomeDomain/Interface/Section/QuizQuestion.swift similarity index 100% rename from Projects/Domain/Home/Interface/Section/QuizQuestion.swift rename to Projects/Domain/HomeDomain/Interface/Section/QuizQuestion.swift diff --git a/Projects/Domain/Home/Interface/Section/Vote/VoteOption.swift b/Projects/Domain/HomeDomain/Interface/Section/Vote/VoteOption.swift similarity index 100% rename from Projects/Domain/Home/Interface/Section/Vote/VoteOption.swift rename to Projects/Domain/HomeDomain/Interface/Section/Vote/VoteOption.swift diff --git a/Projects/Domain/Home/Interface/Section/Vote/VoteQuestion.swift b/Projects/Domain/HomeDomain/Interface/Section/Vote/VoteQuestion.swift similarity index 100% rename from Projects/Domain/Home/Interface/Section/Vote/VoteQuestion.swift rename to Projects/Domain/HomeDomain/Interface/Section/Vote/VoteQuestion.swift diff --git a/Projects/Domain/Home/Interface/Tag/BattleTag.swift b/Projects/Domain/HomeDomain/Interface/Tag/BattleTag.swift similarity index 100% rename from Projects/Domain/Home/Interface/Tag/BattleTag.swift rename to Projects/Domain/HomeDomain/Interface/Tag/BattleTag.swift diff --git a/Projects/Domain/Home/Interface/Tag/TagType.swift b/Projects/Domain/HomeDomain/Interface/Tag/TagType.swift similarity index 100% rename from Projects/Domain/Home/Interface/Tag/TagType.swift rename to Projects/Domain/HomeDomain/Interface/Tag/TagType.swift diff --git a/Projects/Domain/Home/Project.swift b/Projects/Domain/HomeDomain/Project.swift similarity index 100% rename from Projects/Domain/Home/Project.swift rename to Projects/Domain/HomeDomain/Project.swift diff --git a/Projects/Domain/Home/Sources/HomeLiveDependencies.swift b/Projects/Domain/HomeDomain/Sources/HomeLiveDependencies.swift similarity index 100% rename from Projects/Domain/Home/Sources/HomeLiveDependencies.swift rename to Projects/Domain/HomeDomain/Sources/HomeLiveDependencies.swift diff --git a/Projects/Domain/Home/Sources/HomeUseCase.swift b/Projects/Domain/HomeDomain/Sources/HomeUseCase.swift similarity index 100% rename from Projects/Domain/Home/Sources/HomeUseCase.swift rename to Projects/Domain/HomeDomain/Sources/HomeUseCase.swift diff --git a/Projects/Domain/Home/Testing/MockHomeRepository.swift b/Projects/Domain/HomeDomain/Testing/MockHomeRepository.swift similarity index 100% rename from Projects/Domain/Home/Testing/MockHomeRepository.swift rename to Projects/Domain/HomeDomain/Testing/MockHomeRepository.swift diff --git a/Projects/Domain/Home/Tests/HomeDomainTests.swift b/Projects/Domain/HomeDomain/Tests/HomeDomainTests.swift similarity index 100% rename from Projects/Domain/Home/Tests/HomeDomainTests.swift rename to Projects/Domain/HomeDomain/Tests/HomeDomainTests.swift diff --git a/Projects/Domain/Notification/Interface/MockNotificationRepository.swift b/Projects/Domain/NotificationDomain/Interface/MockNotificationRepository.swift similarity index 100% rename from Projects/Domain/Notification/Interface/MockNotificationRepository.swift rename to Projects/Domain/NotificationDomain/Interface/MockNotificationRepository.swift diff --git a/Projects/Domain/Notification/Interface/NotificationCategory.swift b/Projects/Domain/NotificationDomain/Interface/NotificationCategory.swift similarity index 100% rename from Projects/Domain/Notification/Interface/NotificationCategory.swift rename to Projects/Domain/NotificationDomain/Interface/NotificationCategory.swift diff --git a/Projects/Domain/Notification/Interface/NotificationDetail.swift b/Projects/Domain/NotificationDomain/Interface/NotificationDetail.swift similarity index 100% rename from Projects/Domain/Notification/Interface/NotificationDetail.swift rename to Projects/Domain/NotificationDomain/Interface/NotificationDetail.swift diff --git a/Projects/Domain/Notification/Interface/NotificationError.swift b/Projects/Domain/NotificationDomain/Interface/NotificationError.swift similarity index 100% rename from Projects/Domain/Notification/Interface/NotificationError.swift rename to Projects/Domain/NotificationDomain/Interface/NotificationError.swift diff --git a/Projects/Domain/Notification/Interface/NotificationInterface.swift b/Projects/Domain/NotificationDomain/Interface/NotificationInterface.swift similarity index 100% rename from Projects/Domain/Notification/Interface/NotificationInterface.swift rename to Projects/Domain/NotificationDomain/Interface/NotificationInterface.swift diff --git a/Projects/Domain/Notification/Interface/NotificationItem.swift b/Projects/Domain/NotificationDomain/Interface/NotificationItem.swift similarity index 100% rename from Projects/Domain/Notification/Interface/NotificationItem.swift rename to Projects/Domain/NotificationDomain/Interface/NotificationItem.swift diff --git a/Projects/Domain/Notification/Interface/NotificationPage.swift b/Projects/Domain/NotificationDomain/Interface/NotificationPage.swift similarity index 100% rename from Projects/Domain/Notification/Interface/NotificationPage.swift rename to Projects/Domain/NotificationDomain/Interface/NotificationPage.swift diff --git a/Projects/Domain/Notification/Project.swift b/Projects/Domain/NotificationDomain/Project.swift similarity index 100% rename from Projects/Domain/Notification/Project.swift rename to Projects/Domain/NotificationDomain/Project.swift diff --git a/Projects/Domain/Notification/Sources/NotificationLiveDependencies.swift b/Projects/Domain/NotificationDomain/Sources/NotificationLiveDependencies.swift similarity index 100% rename from Projects/Domain/Notification/Sources/NotificationLiveDependencies.swift rename to Projects/Domain/NotificationDomain/Sources/NotificationLiveDependencies.swift diff --git a/Projects/Domain/Notification/Sources/NotificationUseCase.swift b/Projects/Domain/NotificationDomain/Sources/NotificationUseCase.swift similarity index 100% rename from Projects/Domain/Notification/Sources/NotificationUseCase.swift rename to Projects/Domain/NotificationDomain/Sources/NotificationUseCase.swift diff --git a/Projects/Domain/Notification/Testing/NotificationDomainTesting.swift b/Projects/Domain/NotificationDomain/Testing/NotificationDomainTesting.swift similarity index 100% rename from Projects/Domain/Notification/Testing/NotificationDomainTesting.swift rename to Projects/Domain/NotificationDomain/Testing/NotificationDomainTesting.swift diff --git a/Projects/Domain/Notification/Tests/NotificationDomainTests.swift b/Projects/Domain/NotificationDomain/Tests/NotificationDomainTests.swift similarity index 100% rename from Projects/Domain/Notification/Tests/NotificationDomainTests.swift rename to Projects/Domain/NotificationDomain/Tests/NotificationDomainTests.swift diff --git a/Projects/Domain/Perspective/Interface/MockPerspectiveRepository.swift b/Projects/Domain/PerspectiveDomain/Interface/MockPerspectiveRepository.swift similarity index 100% rename from Projects/Domain/Perspective/Interface/MockPerspectiveRepository.swift rename to Projects/Domain/PerspectiveDomain/Interface/MockPerspectiveRepository.swift diff --git a/Projects/Domain/Perspective/Interface/PerspectiveError.swift b/Projects/Domain/PerspectiveDomain/Interface/PerspectiveError.swift similarity index 100% rename from Projects/Domain/Perspective/Interface/PerspectiveError.swift rename to Projects/Domain/PerspectiveDomain/Interface/PerspectiveError.swift diff --git a/Projects/Domain/Perspective/Interface/PerspectiveInterface.swift b/Projects/Domain/PerspectiveDomain/Interface/PerspectiveInterface.swift similarity index 100% rename from Projects/Domain/Perspective/Interface/PerspectiveInterface.swift rename to Projects/Domain/PerspectiveDomain/Interface/PerspectiveInterface.swift diff --git a/Projects/Domain/Perspective/Project.swift b/Projects/Domain/PerspectiveDomain/Project.swift similarity index 100% rename from Projects/Domain/Perspective/Project.swift rename to Projects/Domain/PerspectiveDomain/Project.swift diff --git a/Projects/Domain/Perspective/Sources/PerspectiveLiveDependencies.swift b/Projects/Domain/PerspectiveDomain/Sources/PerspectiveLiveDependencies.swift similarity index 100% rename from Projects/Domain/Perspective/Sources/PerspectiveLiveDependencies.swift rename to Projects/Domain/PerspectiveDomain/Sources/PerspectiveLiveDependencies.swift diff --git a/Projects/Domain/Perspective/Sources/PerspectiveUseCase.swift b/Projects/Domain/PerspectiveDomain/Sources/PerspectiveUseCase.swift similarity index 100% rename from Projects/Domain/Perspective/Sources/PerspectiveUseCase.swift rename to Projects/Domain/PerspectiveDomain/Sources/PerspectiveUseCase.swift diff --git a/Projects/Domain/Perspective/Testing/PerspectiveDomainTesting.swift b/Projects/Domain/PerspectiveDomain/Testing/PerspectiveDomainTesting.swift similarity index 100% rename from Projects/Domain/Perspective/Testing/PerspectiveDomainTesting.swift rename to Projects/Domain/PerspectiveDomain/Testing/PerspectiveDomainTesting.swift diff --git a/Projects/Domain/Perspective/Tests/PerspectiveDomainTests.swift b/Projects/Domain/PerspectiveDomain/Tests/PerspectiveDomainTests.swift similarity index 100% rename from Projects/Domain/Perspective/Tests/PerspectiveDomainTests.swift rename to Projects/Domain/PerspectiveDomain/Tests/PerspectiveDomainTests.swift diff --git a/Projects/Domain/Profile/Interface/Entity/BattleRecord/BattleRecord.swift b/Projects/Domain/ProfileDomain/Interface/Entity/BattleRecord/BattleRecord.swift similarity index 100% rename from Projects/Domain/Profile/Interface/Entity/BattleRecord/BattleRecord.swift rename to Projects/Domain/ProfileDomain/Interface/Entity/BattleRecord/BattleRecord.swift diff --git a/Projects/Domain/Profile/Interface/Entity/BattleRecord/BattleRecordPage.swift b/Projects/Domain/ProfileDomain/Interface/Entity/BattleRecord/BattleRecordPage.swift similarity index 100% rename from Projects/Domain/Profile/Interface/Entity/BattleRecord/BattleRecordPage.swift rename to Projects/Domain/ProfileDomain/Interface/Entity/BattleRecord/BattleRecordPage.swift diff --git a/Projects/Domain/Profile/Interface/Entity/BattleRecord/BattleVoteSide.swift b/Projects/Domain/ProfileDomain/Interface/Entity/BattleRecord/BattleVoteSide.swift similarity index 100% rename from Projects/Domain/Profile/Interface/Entity/BattleRecord/BattleVoteSide.swift rename to Projects/Domain/ProfileDomain/Interface/Entity/BattleRecord/BattleVoteSide.swift diff --git a/Projects/Domain/Profile/Interface/Entity/ContentActivity/ContentActivity.swift b/Projects/Domain/ProfileDomain/Interface/Entity/ContentActivity/ContentActivity.swift similarity index 100% rename from Projects/Domain/Profile/Interface/Entity/ContentActivity/ContentActivity.swift rename to Projects/Domain/ProfileDomain/Interface/Entity/ContentActivity/ContentActivity.swift diff --git a/Projects/Domain/Profile/Interface/Entity/ContentActivity/ContentActivityAuthor.swift b/Projects/Domain/ProfileDomain/Interface/Entity/ContentActivity/ContentActivityAuthor.swift similarity index 100% rename from Projects/Domain/Profile/Interface/Entity/ContentActivity/ContentActivityAuthor.swift rename to Projects/Domain/ProfileDomain/Interface/Entity/ContentActivity/ContentActivityAuthor.swift diff --git a/Projects/Domain/Profile/Interface/Entity/ContentActivity/ContentActivityPage.swift b/Projects/Domain/ProfileDomain/Interface/Entity/ContentActivity/ContentActivityPage.swift similarity index 100% rename from Projects/Domain/Profile/Interface/Entity/ContentActivity/ContentActivityPage.swift rename to Projects/Domain/ProfileDomain/Interface/Entity/ContentActivity/ContentActivityPage.swift diff --git a/Projects/Domain/Profile/Interface/Entity/ContentActivity/ContentActivityType.swift b/Projects/Domain/ProfileDomain/Interface/Entity/ContentActivity/ContentActivityType.swift similarity index 100% rename from Projects/Domain/Profile/Interface/Entity/ContentActivity/ContentActivityType.swift rename to Projects/Domain/ProfileDomain/Interface/Entity/ContentActivity/ContentActivityType.swift diff --git a/Projects/Domain/Profile/Interface/Entity/Credit/CreditHistoryItem.swift b/Projects/Domain/ProfileDomain/Interface/Entity/Credit/CreditHistoryItem.swift similarity index 100% rename from Projects/Domain/Profile/Interface/Entity/Credit/CreditHistoryItem.swift rename to Projects/Domain/ProfileDomain/Interface/Entity/Credit/CreditHistoryItem.swift diff --git a/Projects/Domain/Profile/Interface/Entity/Credit/CreditHistoryPage.swift b/Projects/Domain/ProfileDomain/Interface/Entity/Credit/CreditHistoryPage.swift similarity index 100% rename from Projects/Domain/Profile/Interface/Entity/Credit/CreditHistoryPage.swift rename to Projects/Domain/ProfileDomain/Interface/Entity/Credit/CreditHistoryPage.swift diff --git a/Projects/Domain/Profile/Interface/Entity/Error/ProfileError.swift b/Projects/Domain/ProfileDomain/Interface/Entity/Error/ProfileError.swift similarity index 100% rename from Projects/Domain/Profile/Interface/Entity/Error/ProfileError.swift rename to Projects/Domain/ProfileDomain/Interface/Entity/Error/ProfileError.swift diff --git a/Projects/Domain/Profile/Interface/Entity/MyPage/MyPage.swift b/Projects/Domain/ProfileDomain/Interface/Entity/MyPage/MyPage.swift similarity index 100% rename from Projects/Domain/Profile/Interface/Entity/MyPage/MyPage.swift rename to Projects/Domain/ProfileDomain/Interface/Entity/MyPage/MyPage.swift diff --git a/Projects/Domain/Profile/Interface/Entity/MyPage/MyPhilosopher.swift b/Projects/Domain/ProfileDomain/Interface/Entity/MyPage/MyPhilosopher.swift similarity index 100% rename from Projects/Domain/Profile/Interface/Entity/MyPage/MyPhilosopher.swift rename to Projects/Domain/ProfileDomain/Interface/Entity/MyPage/MyPhilosopher.swift diff --git a/Projects/Domain/Profile/Interface/Entity/MyPage/MyProfile.swift b/Projects/Domain/ProfileDomain/Interface/Entity/MyPage/MyProfile.swift similarity index 100% rename from Projects/Domain/Profile/Interface/Entity/MyPage/MyProfile.swift rename to Projects/Domain/ProfileDomain/Interface/Entity/MyPage/MyProfile.swift diff --git a/Projects/Domain/Profile/Interface/Entity/MyPage/MyTier.swift b/Projects/Domain/ProfileDomain/Interface/Entity/MyPage/MyTier.swift similarity index 100% rename from Projects/Domain/Profile/Interface/Entity/MyPage/MyTier.swift rename to Projects/Domain/ProfileDomain/Interface/Entity/MyPage/MyTier.swift diff --git a/Projects/Domain/Profile/Interface/Entity/MyPage/UpdatedProfile.swift b/Projects/Domain/ProfileDomain/Interface/Entity/MyPage/UpdatedProfile.swift similarity index 100% rename from Projects/Domain/Profile/Interface/Entity/MyPage/UpdatedProfile.swift rename to Projects/Domain/ProfileDomain/Interface/Entity/MyPage/UpdatedProfile.swift diff --git a/Projects/Domain/Profile/Interface/Entity/Notice/NoticeTab.swift b/Projects/Domain/ProfileDomain/Interface/Entity/Notice/NoticeTab.swift similarity index 100% rename from Projects/Domain/Profile/Interface/Entity/Notice/NoticeTab.swift rename to Projects/Domain/ProfileDomain/Interface/Entity/Notice/NoticeTab.swift diff --git a/Projects/Domain/Profile/Interface/Entity/Notification/NotificationSettingKey.swift b/Projects/Domain/ProfileDomain/Interface/Entity/Notification/NotificationSettingKey.swift similarity index 100% rename from Projects/Domain/Profile/Interface/Entity/Notification/NotificationSettingKey.swift rename to Projects/Domain/ProfileDomain/Interface/Entity/Notification/NotificationSettingKey.swift diff --git a/Projects/Domain/Profile/Interface/Entity/Notification/NotificationSettingSection.swift b/Projects/Domain/ProfileDomain/Interface/Entity/Notification/NotificationSettingSection.swift similarity index 100% rename from Projects/Domain/Profile/Interface/Entity/Notification/NotificationSettingSection.swift rename to Projects/Domain/ProfileDomain/Interface/Entity/Notification/NotificationSettingSection.swift diff --git a/Projects/Domain/Profile/Interface/Entity/Notification/NotificationSettings.swift b/Projects/Domain/ProfileDomain/Interface/Entity/Notification/NotificationSettings.swift similarity index 100% rename from Projects/Domain/Profile/Interface/Entity/Notification/NotificationSettings.swift rename to Projects/Domain/ProfileDomain/Interface/Entity/Notification/NotificationSettings.swift diff --git a/Projects/Domain/Profile/Interface/Entity/Recap/FavoriteTopic.swift b/Projects/Domain/ProfileDomain/Interface/Entity/Recap/FavoriteTopic.swift similarity index 100% rename from Projects/Domain/Profile/Interface/Entity/Recap/FavoriteTopic.swift rename to Projects/Domain/ProfileDomain/Interface/Entity/Recap/FavoriteTopic.swift diff --git a/Projects/Domain/Profile/Interface/Entity/Recap/PhilosopherRecap.swift b/Projects/Domain/ProfileDomain/Interface/Entity/Recap/PhilosopherRecap.swift similarity index 100% rename from Projects/Domain/Profile/Interface/Entity/Recap/PhilosopherRecap.swift rename to Projects/Domain/ProfileDomain/Interface/Entity/Recap/PhilosopherRecap.swift diff --git a/Projects/Domain/Profile/Interface/Entity/Recap/PreferenceReport.swift b/Projects/Domain/ProfileDomain/Interface/Entity/Recap/PreferenceReport.swift similarity index 100% rename from Projects/Domain/Profile/Interface/Entity/Recap/PreferenceReport.swift rename to Projects/Domain/ProfileDomain/Interface/Entity/Recap/PreferenceReport.swift diff --git a/Projects/Domain/Profile/Interface/Entity/Recap/RecapCard.swift b/Projects/Domain/ProfileDomain/Interface/Entity/Recap/RecapCard.swift similarity index 100% rename from Projects/Domain/Profile/Interface/Entity/Recap/RecapCard.swift rename to Projects/Domain/ProfileDomain/Interface/Entity/Recap/RecapCard.swift diff --git a/Projects/Domain/Profile/Interface/Entity/Recap/RecapScoreAxis.swift b/Projects/Domain/ProfileDomain/Interface/Entity/Recap/RecapScoreAxis.swift similarity index 100% rename from Projects/Domain/Profile/Interface/Entity/Recap/RecapScoreAxis.swift rename to Projects/Domain/ProfileDomain/Interface/Entity/Recap/RecapScoreAxis.swift diff --git a/Projects/Domain/Profile/Interface/Entity/Recap/RecapScores.swift b/Projects/Domain/ProfileDomain/Interface/Entity/Recap/RecapScores.swift similarity index 100% rename from Projects/Domain/Profile/Interface/Entity/Recap/RecapScores.swift rename to Projects/Domain/ProfileDomain/Interface/Entity/Recap/RecapScores.swift diff --git a/Projects/Domain/Profile/Interface/Repository/Default/MockProfileRepository.swift b/Projects/Domain/ProfileDomain/Interface/Repository/Default/MockProfileRepository.swift similarity index 100% rename from Projects/Domain/Profile/Interface/Repository/Default/MockProfileRepository.swift rename to Projects/Domain/ProfileDomain/Interface/Repository/Default/MockProfileRepository.swift diff --git a/Projects/Domain/Profile/Interface/Repository/Interface/ProfileInterface.swift b/Projects/Domain/ProfileDomain/Interface/Repository/Interface/ProfileInterface.swift similarity index 100% rename from Projects/Domain/Profile/Interface/Repository/Interface/ProfileInterface.swift rename to Projects/Domain/ProfileDomain/Interface/Repository/Interface/ProfileInterface.swift diff --git a/Projects/Domain/Profile/Project.swift b/Projects/Domain/ProfileDomain/Project.swift similarity index 100% rename from Projects/Domain/Profile/Project.swift rename to Projects/Domain/ProfileDomain/Project.swift diff --git a/Projects/Domain/Profile/Sources/Exported/ProfileDomainExported.swift b/Projects/Domain/ProfileDomain/Sources/Exported/ProfileDomainExported.swift similarity index 100% rename from Projects/Domain/Profile/Sources/Exported/ProfileDomainExported.swift rename to Projects/Domain/ProfileDomain/Sources/Exported/ProfileDomainExported.swift diff --git a/Projects/Domain/Profile/Sources/ProfileLiveDependencies.swift b/Projects/Domain/ProfileDomain/Sources/ProfileLiveDependencies.swift similarity index 100% rename from Projects/Domain/Profile/Sources/ProfileLiveDependencies.swift rename to Projects/Domain/ProfileDomain/Sources/ProfileLiveDependencies.swift diff --git a/Projects/Domain/Profile/Sources/UseCase/ProfileUseCase.swift b/Projects/Domain/ProfileDomain/Sources/UseCase/ProfileUseCase.swift similarity index 100% rename from Projects/Domain/Profile/Sources/UseCase/ProfileUseCase.swift rename to Projects/Domain/ProfileDomain/Sources/UseCase/ProfileUseCase.swift diff --git a/Projects/Domain/Profile/Testing/ProfileDomainTesting.swift b/Projects/Domain/ProfileDomain/Testing/ProfileDomainTesting.swift similarity index 100% rename from Projects/Domain/Profile/Testing/ProfileDomainTesting.swift rename to Projects/Domain/ProfileDomain/Testing/ProfileDomainTesting.swift diff --git a/Projects/Domain/Profile/Tests/ProfileDomainTests.swift b/Projects/Domain/ProfileDomain/Tests/ProfileDomainTests.swift similarity index 100% rename from Projects/Domain/Profile/Tests/ProfileDomainTests.swift rename to Projects/Domain/ProfileDomain/Tests/ProfileDomainTests.swift diff --git a/Projects/Domain/Search/Interface/Sources/MockSearchRepository.swift b/Projects/Domain/SearchDomain/Interface/Sources/MockSearchRepository.swift similarity index 100% rename from Projects/Domain/Search/Interface/Sources/MockSearchRepository.swift rename to Projects/Domain/SearchDomain/Interface/Sources/MockSearchRepository.swift diff --git a/Projects/Domain/Search/Interface/Sources/SearchInterface.swift b/Projects/Domain/SearchDomain/Interface/Sources/SearchInterface.swift similarity index 100% rename from Projects/Domain/Search/Interface/Sources/SearchInterface.swift rename to Projects/Domain/SearchDomain/Interface/Sources/SearchInterface.swift diff --git a/Projects/Domain/Search/Project.swift b/Projects/Domain/SearchDomain/Project.swift similarity index 100% rename from Projects/Domain/Search/Project.swift rename to Projects/Domain/SearchDomain/Project.swift diff --git a/Projects/Domain/Search/Sources/SearchLiveDependencies.swift b/Projects/Domain/SearchDomain/Sources/SearchLiveDependencies.swift similarity index 100% rename from Projects/Domain/Search/Sources/SearchLiveDependencies.swift rename to Projects/Domain/SearchDomain/Sources/SearchLiveDependencies.swift diff --git a/Projects/Domain/Search/Sources/SearchUseCase.swift b/Projects/Domain/SearchDomain/Sources/SearchUseCase.swift similarity index 100% rename from Projects/Domain/Search/Sources/SearchUseCase.swift rename to Projects/Domain/SearchDomain/Sources/SearchUseCase.swift diff --git a/Projects/Domain/Search/Testing/Sources/SearchDomainTesting.swift b/Projects/Domain/SearchDomain/Testing/Sources/SearchDomainTesting.swift similarity index 100% rename from Projects/Domain/Search/Testing/Sources/SearchDomainTesting.swift rename to Projects/Domain/SearchDomain/Testing/Sources/SearchDomainTesting.swift diff --git a/Projects/Domain/Search/Tests/Sources/SearchDomainTests.swift b/Projects/Domain/SearchDomain/Tests/Sources/SearchDomainTests.swift similarity index 100% rename from Projects/Domain/Search/Tests/Sources/SearchDomainTests.swift rename to Projects/Domain/SearchDomain/Tests/Sources/SearchDomainTests.swift diff --git a/Projects/Feature/Auth/Project.swift b/Projects/Feature/Auth/Project.swift index e62c7482..da19de34 100644 --- a/Projects/Feature/Auth/Project.swift +++ b/Projects/Feature/Auth/Project.swift @@ -5,7 +5,7 @@ import ProjectDescription import ProjectTemplatePlugin let project = Project.configure( - moduleType: .feature(.auth), + moduleType: .microModule(name: "Auth"), bundleId: .appBundleID(name: ".Auth"), settings: .settings(), dependencies: [ diff --git a/Projects/Feature/Battle/Project.swift b/Projects/Feature/Battle/Project.swift index 3f4d7f75..8eac8eeb 100644 --- a/Projects/Feature/Battle/Project.swift +++ b/Projects/Feature/Battle/Project.swift @@ -5,7 +5,7 @@ import ProjectDescription import ProjectTemplatePlugin let project = Project.configure( - moduleType: .feature(.battle), + moduleType: .microModule(name: "Battle"), bundleId: .appBundleID(name: ".Battle"), settings: .settings(), dependencies: [ diff --git a/Projects/Feature/Chat/Project.swift b/Projects/Feature/Chat/Project.swift index 57362e8d..8708c34f 100644 --- a/Projects/Feature/Chat/Project.swift +++ b/Projects/Feature/Chat/Project.swift @@ -5,7 +5,7 @@ import ProjectDescription import ProjectTemplatePlugin let project = Project.configure( - moduleType: .feature(.chat), + moduleType: .microModule(name: "Chat"), bundleId: .appBundleID(name: ".Chat"), settings: .settings(), dependencies: [ diff --git a/Projects/Feature/FeatureAssembly/Project.swift b/Projects/Feature/FeatureAssembly/Project.swift index a3ce9576..327bc75a 100644 --- a/Projects/Feature/FeatureAssembly/Project.swift +++ b/Projects/Feature/FeatureAssembly/Project.swift @@ -10,15 +10,15 @@ let project = Project.configure( product: .staticFramework, settings: .settings(), dependencies: [ - .feature(implements: .splash), - .feature(implements: .auth), - .feature(implements: .web), - .feature(implements: .home), - .feature(implements: .chat), - .feature(implements: .hifi), - .feature(implements: .battle), - .feature(implements: .profile), - .feature(implements: .notification), + .feature(.splash), + .feature(.auth), + .feature(.web), + .feature(.home), + .feature(.chat), + .feature(.hifi), + .feature(.battle), + .feature(.profile), + .feature(.notification), ], sources: ["Sources/**"] ) diff --git a/Projects/Feature/Hifi/Project.swift b/Projects/Feature/Hifi/Project.swift index d3a22ada..98faa796 100644 --- a/Projects/Feature/Hifi/Project.swift +++ b/Projects/Feature/Hifi/Project.swift @@ -5,7 +5,7 @@ import ProjectDescription import ProjectTemplatePlugin let project = Project.configure( - moduleType: .feature(.hifi), + moduleType: .microModule(name: "Hifi"), bundleId: .appBundleID(name: ".Hifi"), product: .staticFramework, settings: .settings(), diff --git a/Projects/Feature/Home/Project.swift b/Projects/Feature/Home/Project.swift index c538c338..cbedad6e 100644 --- a/Projects/Feature/Home/Project.swift +++ b/Projects/Feature/Home/Project.swift @@ -5,7 +5,7 @@ import ProjectDescription import ProjectTemplatePlugin let project = Project.configure( - moduleType: .feature(.home), + moduleType: .microModule(name: "Home"), bundleId: .appBundleID(name: ".Home"), product: .staticFramework, settings: .settings(), diff --git a/Projects/Feature/Notification/Project.swift b/Projects/Feature/Notification/Project.swift index 24c74cc9..32682766 100644 --- a/Projects/Feature/Notification/Project.swift +++ b/Projects/Feature/Notification/Project.swift @@ -5,7 +5,7 @@ import ProjectDescription import ProjectTemplatePlugin let project = Project.configure( - moduleType: .feature(.notification), + moduleType: .microModule(name: "Notification"), bundleId: .appBundleID(name: ".Notification"), settings: .settings(), dependencies: [ diff --git a/Projects/Feature/Profile/Project.swift b/Projects/Feature/Profile/Project.swift index f09b0790..d30dec07 100644 --- a/Projects/Feature/Profile/Project.swift +++ b/Projects/Feature/Profile/Project.swift @@ -5,7 +5,7 @@ import ProjectDescription import ProjectTemplatePlugin let project = Project.configure( - moduleType: .feature(.profile), + moduleType: .microModule(name: "Profile"), bundleId: .appBundleID(name: ".Profile"), product: .staticFramework, settings: .settings(), diff --git a/Projects/Feature/Splash/Project.swift b/Projects/Feature/Splash/Project.swift index f5ec4628..6b1a6de1 100644 --- a/Projects/Feature/Splash/Project.swift +++ b/Projects/Feature/Splash/Project.swift @@ -5,7 +5,7 @@ import ProjectTemplatePlugin import DependencyPackagePlugin let project = Project.configure( - moduleType: .feature(.splash), + moduleType: .microModule(name: "Splash"), bundleId: .appBundleID(name: ".Splash"), settings: .settings(), dependencies: [ diff --git a/Projects/Feature/Web/Project.swift b/Projects/Feature/Web/Project.swift index ed47c881..33983b50 100644 --- a/Projects/Feature/Web/Project.swift +++ b/Projects/Feature/Web/Project.swift @@ -5,7 +5,7 @@ import ProjectTemplatePlugin import DependencyPackagePlugin let project = Project.configure( - moduleType: .feature(.web), + moduleType: .microModule(name: "Web"), bundleId: .appBundleID(name: ".Web"), settings: .settings(), dependencies: [ diff --git a/Projects/Service/APIEndpoint/Project.swift b/Projects/Service/APIEndpoint/Project.swift index ba61b642..3a73ef7c 100644 --- a/Projects/Service/APIEndpoint/Project.swift +++ b/Projects/Service/APIEndpoint/Project.swift @@ -10,7 +10,7 @@ let project = Project.configure( product: .staticFramework, settings: .settings(), dependencies: [ - .api, + .service(.api), // Auth 엔드포인트가 SocialType 을 경로에 쓴다. .domain(.auth, .interface), .network(implements: .networkHeader), diff --git a/Projects/Service/Ad/Interface/UseCase/RewardedAdClient.swift b/Projects/Service/AdService/Interface/UseCase/RewardedAdClient.swift similarity index 100% rename from Projects/Service/Ad/Interface/UseCase/RewardedAdClient.swift rename to Projects/Service/AdService/Interface/UseCase/RewardedAdClient.swift diff --git a/Projects/Service/Ad/Project.swift b/Projects/Service/AdService/Project.swift similarity index 100% rename from Projects/Service/Ad/Project.swift rename to Projects/Service/AdService/Project.swift diff --git a/Projects/Service/Ad/Sources/AdBannerSkeletonView.swift b/Projects/Service/AdService/Sources/AdBannerSkeletonView.swift similarity index 100% rename from Projects/Service/Ad/Sources/AdBannerSkeletonView.swift rename to Projects/Service/AdService/Sources/AdBannerSkeletonView.swift diff --git a/Projects/Service/Ad/Sources/AdFitBannerView.swift b/Projects/Service/AdService/Sources/AdFitBannerView.swift similarity index 100% rename from Projects/Service/Ad/Sources/AdFitBannerView.swift rename to Projects/Service/AdService/Sources/AdFitBannerView.swift diff --git a/Projects/Service/Ad/Sources/AdFitNativeAdView.swift b/Projects/Service/AdService/Sources/AdFitNativeAdView.swift similarity index 100% rename from Projects/Service/Ad/Sources/AdFitNativeAdView.swift rename to Projects/Service/AdService/Sources/AdFitNativeAdView.swift diff --git a/Projects/Service/Ad/Sources/AppStartPopupAd.swift b/Projects/Service/AdService/Sources/AppStartPopupAd.swift similarity index 100% rename from Projects/Service/Ad/Sources/AppStartPopupAd.swift rename to Projects/Service/AdService/Sources/AppStartPopupAd.swift diff --git a/Projects/Service/Ad/Sources/UseCase/RewardedAdClient+Live.swift b/Projects/Service/AdService/Sources/UseCase/RewardedAdClient+Live.swift similarity index 100% rename from Projects/Service/Ad/Sources/UseCase/RewardedAdClient+Live.swift rename to Projects/Service/AdService/Sources/UseCase/RewardedAdClient+Live.swift diff --git a/Projects/Service/Ad/Testing/AdServiceTesting.swift b/Projects/Service/AdService/Testing/AdServiceTesting.swift similarity index 100% rename from Projects/Service/Ad/Testing/AdServiceTesting.swift rename to Projects/Service/AdService/Testing/AdServiceTesting.swift diff --git a/Projects/Service/Ad/Tests/AdServiceTests.swift b/Projects/Service/AdService/Tests/AdServiceTests.swift similarity index 100% rename from Projects/Service/Ad/Tests/AdServiceTests.swift rename to Projects/Service/AdService/Tests/AdServiceTests.swift diff --git a/Projects/Service/Analytics/Interface/Event/AdClickData.swift b/Projects/Service/AnalyticsService/Interface/Event/AdClickData.swift similarity index 100% rename from Projects/Service/Analytics/Interface/Event/AdClickData.swift rename to Projects/Service/AnalyticsService/Interface/Event/AdClickData.swift diff --git a/Projects/Service/Analytics/Interface/Event/AdPlacement.swift b/Projects/Service/AnalyticsService/Interface/Event/AdPlacement.swift similarity index 100% rename from Projects/Service/Analytics/Interface/Event/AdPlacement.swift rename to Projects/Service/AnalyticsService/Interface/Event/AdPlacement.swift diff --git a/Projects/Service/Analytics/Interface/Event/AnalyticsButton.swift b/Projects/Service/AnalyticsService/Interface/Event/AnalyticsButton.swift similarity index 100% rename from Projects/Service/Analytics/Interface/Event/AnalyticsButton.swift rename to Projects/Service/AnalyticsService/Interface/Event/AnalyticsButton.swift diff --git a/Projects/Service/Analytics/Interface/Event/AnalyticsEvent.swift b/Projects/Service/AnalyticsService/Interface/Event/AnalyticsEvent.swift similarity index 100% rename from Projects/Service/Analytics/Interface/Event/AnalyticsEvent.swift rename to Projects/Service/AnalyticsService/Interface/Event/AnalyticsEvent.swift diff --git a/Projects/Service/Analytics/Interface/Event/AnalyticsProvider.swift b/Projects/Service/AnalyticsService/Interface/Event/AnalyticsProvider.swift similarity index 100% rename from Projects/Service/Analytics/Interface/Event/AnalyticsProvider.swift rename to Projects/Service/AnalyticsService/Interface/Event/AnalyticsProvider.swift diff --git a/Projects/Service/Analytics/Interface/Event/AnalyticsScreen.swift b/Projects/Service/AnalyticsService/Interface/Event/AnalyticsScreen.swift similarity index 100% rename from Projects/Service/Analytics/Interface/Event/AnalyticsScreen.swift rename to Projects/Service/AnalyticsService/Interface/Event/AnalyticsScreen.swift diff --git a/Projects/Service/Analytics/Interface/Event/BattleStepData.swift b/Projects/Service/AnalyticsService/Interface/Event/BattleStepData.swift similarity index 100% rename from Projects/Service/Analytics/Interface/Event/BattleStepData.swift rename to Projects/Service/AnalyticsService/Interface/Event/BattleStepData.swift diff --git a/Projects/Service/Analytics/Interface/Event/CommunityActionData.swift b/Projects/Service/AnalyticsService/Interface/Event/CommunityActionData.swift similarity index 100% rename from Projects/Service/Analytics/Interface/Event/CommunityActionData.swift rename to Projects/Service/AnalyticsService/Interface/Event/CommunityActionData.swift diff --git a/Projects/Service/Analytics/Interface/Event/ContentActionData.swift b/Projects/Service/AnalyticsService/Interface/Event/ContentActionData.swift similarity index 100% rename from Projects/Service/Analytics/Interface/Event/ContentActionData.swift rename to Projects/Service/AnalyticsService/Interface/Event/ContentActionData.swift diff --git a/Projects/Service/Analytics/Interface/Event/EngagementAction.swift b/Projects/Service/AnalyticsService/Interface/Event/EngagementAction.swift similarity index 100% rename from Projects/Service/Analytics/Interface/Event/EngagementAction.swift rename to Projects/Service/AnalyticsService/Interface/Event/EngagementAction.swift diff --git a/Projects/Service/Analytics/Interface/Event/NotificationActionData.swift b/Projects/Service/AnalyticsService/Interface/Event/NotificationActionData.swift similarity index 100% rename from Projects/Service/Analytics/Interface/Event/NotificationActionData.swift rename to Projects/Service/AnalyticsService/Interface/Event/NotificationActionData.swift diff --git a/Projects/Service/Analytics/Interface/Event/OnboardingStep.swift b/Projects/Service/AnalyticsService/Interface/Event/OnboardingStep.swift similarity index 100% rename from Projects/Service/Analytics/Interface/Event/OnboardingStep.swift rename to Projects/Service/AnalyticsService/Interface/Event/OnboardingStep.swift diff --git a/Projects/Service/Analytics/Interface/Event/PlaybackAction.swift b/Projects/Service/AnalyticsService/Interface/Event/PlaybackAction.swift similarity index 100% rename from Projects/Service/Analytics/Interface/Event/PlaybackAction.swift rename to Projects/Service/AnalyticsService/Interface/Event/PlaybackAction.swift diff --git a/Projects/Service/Analytics/Interface/Event/PointActionData.swift b/Projects/Service/AnalyticsService/Interface/Event/PointActionData.swift similarity index 100% rename from Projects/Service/Analytics/Interface/Event/PointActionData.swift rename to Projects/Service/AnalyticsService/Interface/Event/PointActionData.swift diff --git a/Projects/Service/Analytics/Interface/Event/ReportActionData.swift b/Projects/Service/AnalyticsService/Interface/Event/ReportActionData.swift similarity index 100% rename from Projects/Service/Analytics/Interface/Event/ReportActionData.swift rename to Projects/Service/AnalyticsService/Interface/Event/ReportActionData.swift diff --git a/Projects/Service/Analytics/Interface/Event/ShareActionData.swift b/Projects/Service/AnalyticsService/Interface/Event/ShareActionData.swift similarity index 100% rename from Projects/Service/Analytics/Interface/Event/ShareActionData.swift rename to Projects/Service/AnalyticsService/Interface/Event/ShareActionData.swift diff --git a/Projects/Service/Analytics/Interface/UseCase/AnalyticsUseCase.swift b/Projects/Service/AnalyticsService/Interface/UseCase/AnalyticsUseCase.swift similarity index 100% rename from Projects/Service/Analytics/Interface/UseCase/AnalyticsUseCase.swift rename to Projects/Service/AnalyticsService/Interface/UseCase/AnalyticsUseCase.swift diff --git a/Projects/Service/Analytics/Project.swift b/Projects/Service/AnalyticsService/Project.swift similarity index 100% rename from Projects/Service/Analytics/Project.swift rename to Projects/Service/AnalyticsService/Project.swift diff --git a/Projects/Service/Analytics/Sources/UseCase/AnalyticsUseCase+Live.swift b/Projects/Service/AnalyticsService/Sources/UseCase/AnalyticsUseCase+Live.swift similarity index 100% rename from Projects/Service/Analytics/Sources/UseCase/AnalyticsUseCase+Live.swift rename to Projects/Service/AnalyticsService/Sources/UseCase/AnalyticsUseCase+Live.swift diff --git a/Projects/Service/Analytics/Testing/AnalyticsServiceTesting.swift b/Projects/Service/AnalyticsService/Testing/AnalyticsServiceTesting.swift similarity index 100% rename from Projects/Service/Analytics/Testing/AnalyticsServiceTesting.swift rename to Projects/Service/AnalyticsService/Testing/AnalyticsServiceTesting.swift diff --git a/Projects/Service/Analytics/Tests/AnalyticsServiceTests.swift b/Projects/Service/AnalyticsService/Tests/AnalyticsServiceTests.swift similarity index 100% rename from Projects/Service/Analytics/Tests/AnalyticsServiceTests.swift rename to Projects/Service/AnalyticsService/Tests/AnalyticsServiceTests.swift diff --git a/Projects/Service/AudioPlayer/Interface/AudioPlayerInterface.swift b/Projects/Service/AudioPlayerService/Interface/AudioPlayerInterface.swift similarity index 100% rename from Projects/Service/AudioPlayer/Interface/AudioPlayerInterface.swift rename to Projects/Service/AudioPlayerService/Interface/AudioPlayerInterface.swift diff --git a/Projects/Service/AudioPlayer/Project.swift b/Projects/Service/AudioPlayerService/Project.swift similarity index 100% rename from Projects/Service/AudioPlayer/Project.swift rename to Projects/Service/AudioPlayerService/Project.swift diff --git a/Projects/Service/AudioPlayer/Sources/AudioPlayerRepositoryImpl.swift b/Projects/Service/AudioPlayerService/Sources/AudioPlayerRepositoryImpl.swift similarity index 100% rename from Projects/Service/AudioPlayer/Sources/AudioPlayerRepositoryImpl.swift rename to Projects/Service/AudioPlayerService/Sources/AudioPlayerRepositoryImpl.swift diff --git a/Projects/Service/AudioPlayer/Testing/AudioPlayerServiceTesting.swift b/Projects/Service/AudioPlayerService/Testing/AudioPlayerServiceTesting.swift similarity index 100% rename from Projects/Service/AudioPlayer/Testing/AudioPlayerServiceTesting.swift rename to Projects/Service/AudioPlayerService/Testing/AudioPlayerServiceTesting.swift diff --git a/Projects/Service/AudioPlayer/Tests/AudioPlayerServiceTests.swift b/Projects/Service/AudioPlayerService/Tests/AudioPlayerServiceTests.swift similarity index 100% rename from Projects/Service/AudioPlayer/Tests/AudioPlayerServiceTests.swift rename to Projects/Service/AudioPlayerService/Tests/AudioPlayerServiceTests.swift diff --git a/Projects/Service/Device/Interface/Entity/DevicePlatform.swift b/Projects/Service/DeviceService/Interface/Entity/DevicePlatform.swift similarity index 100% rename from Projects/Service/Device/Interface/Entity/DevicePlatform.swift rename to Projects/Service/DeviceService/Interface/Entity/DevicePlatform.swift diff --git a/Projects/Service/Device/Interface/UseCase/DeviceInterface.swift b/Projects/Service/DeviceService/Interface/UseCase/DeviceInterface.swift similarity index 100% rename from Projects/Service/Device/Interface/UseCase/DeviceInterface.swift rename to Projects/Service/DeviceService/Interface/UseCase/DeviceInterface.swift diff --git a/Projects/Service/Device/Interface/UseCase/DeviceUseCase.swift b/Projects/Service/DeviceService/Interface/UseCase/DeviceUseCase.swift similarity index 100% rename from Projects/Service/Device/Interface/UseCase/DeviceUseCase.swift rename to Projects/Service/DeviceService/Interface/UseCase/DeviceUseCase.swift diff --git a/Projects/Service/Device/Project.swift b/Projects/Service/DeviceService/Project.swift similarity index 91% rename from Projects/Service/Device/Project.swift rename to Projects/Service/DeviceService/Project.swift index 24ed76c3..32538823 100644 --- a/Projects/Service/Device/Project.swift +++ b/Projects/Service/DeviceService/Project.swift @@ -10,8 +10,8 @@ let project = Project.configure( product: .staticFramework, settings: .settings(), dependencies: [ - .model, - .apiEndpoint, + .data(.model), + .service(.apiEndpoint), .network(implements: .networkModule), .SPM.composableArchitecture, .SPM.logMarco, diff --git a/Projects/Service/Device/Sources/Repository/DeviceRepositoryImpl.swift b/Projects/Service/DeviceService/Sources/Repository/DeviceRepositoryImpl.swift similarity index 100% rename from Projects/Service/Device/Sources/Repository/DeviceRepositoryImpl.swift rename to Projects/Service/DeviceService/Sources/Repository/DeviceRepositoryImpl.swift diff --git a/Projects/Service/Device/Sources/UseCase/DeviceUseCase+Live.swift b/Projects/Service/DeviceService/Sources/UseCase/DeviceUseCase+Live.swift similarity index 100% rename from Projects/Service/Device/Sources/UseCase/DeviceUseCase+Live.swift rename to Projects/Service/DeviceService/Sources/UseCase/DeviceUseCase+Live.swift diff --git a/Projects/Service/Device/Testing/DeviceServiceTesting.swift b/Projects/Service/DeviceService/Testing/DeviceServiceTesting.swift similarity index 100% rename from Projects/Service/Device/Testing/DeviceServiceTesting.swift rename to Projects/Service/DeviceService/Testing/DeviceServiceTesting.swift diff --git a/Projects/Service/Device/Tests/DeviceServiceTests.swift b/Projects/Service/DeviceService/Tests/DeviceServiceTests.swift similarity index 100% rename from Projects/Service/Device/Tests/DeviceServiceTests.swift rename to Projects/Service/DeviceService/Tests/DeviceServiceTests.swift diff --git a/Projects/Service/ServiceAssembly/Project.swift b/Projects/Service/ServiceAssembly/Project.swift index c998388d..92c05959 100644 --- a/Projects/Service/ServiceAssembly/Project.swift +++ b/Projects/Service/ServiceAssembly/Project.swift @@ -12,7 +12,7 @@ let project = Project.configure( // SDK 를 링크하는 서비스 구현을 한곳에서 묶는 조립 경계. dependencies: [ .coreAssembly, - .api, + .service(.api), .service(.ad), .service(.analytics), .service(.audioPlayer), diff --git a/docs/domain-data-feature-architecture.md b/docs/domain-data-feature-architecture.md index 407ddf02..fc29196b 100644 --- a/docs/domain-data-feature-architecture.md +++ b/docs/domain-data-feature-architecture.md @@ -82,12 +82,12 @@ OAuth(Apple/Google/Kakao), AudioPlayer, Deeplink, Error, Share, Base/Common. **"xcodeproj 수는 A 수준, 경계는 B 수준"** — Presentation 이 이미 쓰는 마이크로피처 패턴 그대로. -- `Projects/Domain//` = 1 xcodeproj, 내부 4타깃: +- `Projects/Domain/Domain/` = 1 xcodeproj, 내부 4타깃: - `DomainInterface` (Entity + Repository 프로토콜 + UseCase 프로토콜) — 기존 Entity/DomainInterface 폴더 병합 - `Domain` (UseCase 구현) - `DomainTesting` (목 — 기존 DomainTesting·DataTesting 의 해당 feature 목 흡수) - `DomainTests` -- `Projects/Data//` = 1 xcodeproj, 내부 2타깃: +- `Projects/Data/Data/` = 1 xcodeproj, 내부 2타깃: - `Data` (API + Model + Service + Repository 를 **폴더로** 내장 — Data 내부 레이어는 한 feature 안에서 항상 같이 바뀌므로 타깃 분리 실익 없음) - `DataTests` - Data 쪽에 Interface 타깃을 두지 않는 이유: Repository 가 구현하는 계약은 이미 `DomainInterface` 에 있다. DataInterface 는 내용이 없는 빈 타깃이 된다 — 단순함 우선. @@ -240,7 +240,7 @@ App ──▶ Domain(엄브렐라)·Data(엄브렐라) [DI 등록용] ### 7.1 ModuleType — 기존 `microModule` 활용, 신규 case 불필요 ```swift -// Domain feature — Projects/Domain/Auth/Project.swift (예시) +// Domain feature — Projects/Domain/AuthDomain/Project.swift (예시) let project = Project.configure( moduleType: .microModule(name: "AuthDomain"), // 이미 존재, configureFeature 위임 bundleId: .appBundleID(name: ".AuthDomain"), @@ -249,7 +249,7 @@ let project = Project.configure( dependencies: [ .SPM.weaveDI, .SPM.composableArchitecture ] ) -// Data feature — Projects/Data/Auth/Project.swift (예시) +// Data feature — Projects/Data/AuthData/Project.swift (예시) let project = Project.configure( moduleType: .module(name: "AuthData"), bundleId: .appBundleID(name: ".AuthData"), From 7d1a07b1433e1c48b112c52bd4daa93be658b931 Mon Sep 17 00:00:00 2001 From: Roy Date: Sun, 6 Sep 2026 21:43:16 +0900 Subject: [PATCH 32/83] =?UTF-8?q?chore(tuist):=20=EC=B0=B8=EC=A1=B0?= =?UTF-8?q?=EA=B0=80=20=EB=81=8A=EA=B8=B4=20=EB=A0=88=EC=9D=B4=EC=96=B4=20?= =?UTF-8?q?=EB=8B=A8=EC=9C=84=20Testing=20=EB=AA=A8=EB=93=88=EC=9D=84=20?= =?UTF-8?q?=EC=A7=80=EC=9A=B4=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit DomainTesting·DataTesting 은 레이어 하나에 목을 몰아 담던 모듈인데, 피처별 DomainTesting 타깃으로 갈라진 뒤로 어느 매니페스트도 의존하지 않는다. 남은 목은 AppUpdate·Analytics·Keychain 세 개뿐이고 전부 피처 모듈 쪽에 같은 역할이 있다. --- Projects/Data/DataTesting/Project.swift | 18 --- .../AppUpdate/FakeAppUpdateRepository.swift | 18 --- Projects/Domain/DomainTesting/Project.swift | 17 -- .../Analytics/NoopAnalyticsUseCase.swift | 15 -- .../AppUpdate/MockAppUpdateUseCase.swift | 18 --- .../Sources/Manager/MockKeychainManager.swift | 150 ------------------ 6 files changed, 236 deletions(-) delete mode 100644 Projects/Data/DataTesting/Project.swift delete mode 100644 Projects/Data/DataTesting/Sources/AppUpdate/FakeAppUpdateRepository.swift delete mode 100644 Projects/Domain/DomainTesting/Project.swift delete mode 100644 Projects/Domain/DomainTesting/Sources/Analytics/NoopAnalyticsUseCase.swift delete mode 100644 Projects/Domain/DomainTesting/Sources/AppUpdate/MockAppUpdateUseCase.swift delete mode 100644 Projects/Domain/DomainTesting/Sources/Manager/MockKeychainManager.swift diff --git a/Projects/Data/DataTesting/Project.swift b/Projects/Data/DataTesting/Project.swift deleted file mode 100644 index f6c40c21..00000000 --- a/Projects/Data/DataTesting/Project.swift +++ /dev/null @@ -1,18 +0,0 @@ -import DependencyPackagePlugin -import DependencyPlugin -import Foundation -import ProjectDescription -import ProjectTemplatePlugin - -let project = Project.configure( - moduleType: .module(name: "DataTesting"), - bundleId: .appBundleID(name: ".DataTesting"), - product: .framework, - settings: .settings(), - dependencies: [ - .domain(.appUpdate, .interface), - - .service(.audioPlayer), - ], - sources: ["Sources/**"] -) diff --git a/Projects/Data/DataTesting/Sources/AppUpdate/FakeAppUpdateRepository.swift b/Projects/Data/DataTesting/Sources/AppUpdate/FakeAppUpdateRepository.swift deleted file mode 100644 index 79a11f9f..00000000 --- a/Projects/Data/DataTesting/Sources/AppUpdate/FakeAppUpdateRepository.swift +++ /dev/null @@ -1,18 +0,0 @@ -// -// FakeAppUpdateRepository.swift -// DataTesting -// - -import AppUpdateDomainInterface - -public struct FakeAppUpdateRepository: AppUpdateInterface { - public var info: AppUpdateInfo - - public init(info: AppUpdateInfo) { - self.info = info - } - - public func checkForUpdate() async throws -> AppUpdateInfo { - info - } -} diff --git a/Projects/Domain/DomainTesting/Project.swift b/Projects/Domain/DomainTesting/Project.swift deleted file mode 100644 index 4a4babcc..00000000 --- a/Projects/Domain/DomainTesting/Project.swift +++ /dev/null @@ -1,17 +0,0 @@ -import DependencyPackagePlugin -import DependencyPlugin -import Foundation -import ProjectDescription -import ProjectTemplatePlugin - -let project = Project.configure( - moduleType: .module(name: "DomainTesting"), - bundleId: .appBundleID(name: ".DomainTesting"), - product: .framework, - settings: .settings(), - dependencies: [ - .domain(.appUpdate, .interface), - .service(.analytics, .interface), - ], - sources: ["Sources/**"] -) diff --git a/Projects/Domain/DomainTesting/Sources/Analytics/NoopAnalyticsUseCase.swift b/Projects/Domain/DomainTesting/Sources/Analytics/NoopAnalyticsUseCase.swift deleted file mode 100644 index 706691fb..00000000 --- a/Projects/Domain/DomainTesting/Sources/Analytics/NoopAnalyticsUseCase.swift +++ /dev/null @@ -1,15 +0,0 @@ -// -import AnalyticsServiceInterface -// NoopAnalyticsUseCase.swift -// DomainTesting -// - - -public extension AnalyticsUseCase { - static let noop = AnalyticsUseCase( - registerBaseProperties: {}, - identify: { _, _ in }, - track: { _ in }, - reset: {} - ) -} diff --git a/Projects/Domain/DomainTesting/Sources/AppUpdate/MockAppUpdateUseCase.swift b/Projects/Domain/DomainTesting/Sources/AppUpdate/MockAppUpdateUseCase.swift deleted file mode 100644 index e384966e..00000000 --- a/Projects/Domain/DomainTesting/Sources/AppUpdate/MockAppUpdateUseCase.swift +++ /dev/null @@ -1,18 +0,0 @@ -// -// MockAppUpdateUseCase.swift -// DomainTesting -// - -import AppUpdateDomainInterface - -public struct MockAppUpdateUseCase: AppUpdateUseCaseInterface { - public var info: AppUpdateInfo? - - public init(info: AppUpdateInfo? = nil) { - self.info = info - } - - public func checkForUpdate() async throws -> AppUpdateInfo? { - info - } -} diff --git a/Projects/Domain/DomainTesting/Sources/Manager/MockKeychainManager.swift b/Projects/Domain/DomainTesting/Sources/Manager/MockKeychainManager.swift deleted file mode 100644 index a6d371c4..00000000 --- a/Projects/Domain/DomainTesting/Sources/Manager/MockKeychainManager.swift +++ /dev/null @@ -1,150 +0,0 @@ -// -// MockKeychainManager.swift -// DomainInterface -// -// Created by TDD Automation on 2026-04-16 -// - -import Foundation -import WeaveDI - - -public final class MockKeychainManager: KeychainManaging, @unchecked Sendable { - // MARK: - Configuration - - public enum Configuration { - case success - case failure - case saveFailure - case getFailure - } - - // MARK: - State - - private var configuration: Configuration = .success - private var saveCallCount = 0 - private var getCallCount = 0 - private var clearCallCount = 0 - private var storedAccessToken: String? - private var storedRefreshToken: String? - - // MARK: - Public Configuration Methods - - public init(configuration: Configuration = .success) { - self.configuration = configuration - } - - public static func success() -> MockKeychainManager { - MockKeychainManager(configuration: .success) - } - - public static func failure() -> MockKeychainManager { - MockKeychainManager(configuration: .failure) - } - - public static func saveFailure() -> MockKeychainManager { - MockKeychainManager(configuration: .saveFailure) - } - - public static func getFailure() -> MockKeychainManager { - MockKeychainManager(configuration: .getFailure) - } - - // MARK: - Call Count Getters - - public func getSaveCallCount() -> Int { saveCallCount } - public func getGetCallCount() -> Int { getCallCount } - public func getClearCallCount() -> Int { clearCallCount } - public func getStoredAccessToken() -> String? { storedAccessToken } - public func getStoredRefreshToken() -> String? { storedRefreshToken } - - // MARK: - KeychainManaging Implementation - - public func save( - accessToken: String, - refreshToken: String - ) { - saveCallCount += 1 - - switch configuration { - case .success: - storedAccessToken = accessToken - storedRefreshToken = refreshToken - case .saveFailure, .failure: - // 저장 실패 시뮬레이션 (실제로는 저장하지 않음) - break - default: - storedAccessToken = accessToken - storedRefreshToken = refreshToken - } - } - - public func saveAccessToken(_ token: String) { - saveCallCount += 1 - if case .success = configuration { - storedAccessToken = token - } - } - - public func clearAccessToken() { - storedAccessToken = nil - } - - public func saveRefreshToken(_ token: String) { - saveCallCount += 1 - if case .success = configuration { - storedRefreshToken = token - } - } - - public func accessToken() -> String? { - getCallCount += 1 - - switch configuration { - case .success: - return storedAccessToken ?? "mock-stored-access-token" - case .getFailure, .failure: - return nil - default: - return storedAccessToken - } - } - - public func refreshToken() -> String? { - getCallCount += 1 - - switch configuration { - case .success: - return storedRefreshToken ?? "mock-stored-refresh-token" - case .getFailure, .failure: - return nil - default: - return storedRefreshToken - } - } - - public func clear() { - clearCallCount += 1 - - switch configuration { - case .success: - storedAccessToken = nil - storedRefreshToken = nil - case .failure: - // 클리어 실패 시뮬레이션 (실제로는 클리어하지 않음) - break - default: - storedAccessToken = nil - storedRefreshToken = nil - } - } - - public func reset() { - configuration = .success - saveCallCount = 0 - getCallCount = 0 - clearCallCount = 0 - storedAccessToken = nil - storedRefreshToken = nil - } -} From 0be037ad72a7d434053168cfd49dcb8cbeae080d Mon Sep 17 00:00:00 2001 From: Roy Date: Sun, 6 Sep 2026 21:48:43 +0900 Subject: [PATCH 33/83] =?UTF-8?q?refactor(domain):=20Data=20=ED=94=BC?= =?UTF-8?q?=EC=B2=98=20=EB=AA=A8=EB=93=88=EC=9D=84=20=EB=8C=80=EC=9D=91=20?= =?UTF-8?q?Domain=20=EB=AA=A8=EB=93=88=EB=A1=9C=20=ED=9D=A1=EC=88=98?= =?UTF-8?q?=ED=95=9C=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit DDD 에는 Data 레이어가 없다. Repository 구현과 DTO·Mapper 가 전부 Domain/Domain/Sources 안에 있고, Interface 가 계약을, Sources 가 그 계약을 채우는 구현 일체를 갖는다. Picke 는 같은 것을 Data 레이어로 갈라 두고 있었다. Data 의 Sources·Tests 를 Domain 으로 옮기고 매니페스트 의존성을 합친다. 두 모듈이 각자 갖고 있던 LiveDependencies.swift 는 한 파일로 모아 Repository 와 UseCase 의 live 등록을 나란히 둔다. DataAssembly 는 DomainAssembly 가 이미 같은 모듈들을 묶고 있어 없앤다. App 은 domainAssembly 하나로 도메인·데이터 구현을 받는다. 카탈로그의 DataModule 에는 아직 자리를 못 정한 공용 응답 DTO 모듈 Model 만 남는다. Model 해체는 다음 단계에서 한다. 빌드 검증은 아직 하지 않았다. tuist generate 는 통과했다. --- .../TargetDependency+Module/Modules.swift | 11 ------- .../TargetDependency+Modules.swift | 5 --- Projects/App/Project.swift | 1 - .../App/Sources/Di/AppDependencyFactory.swift | 1 - Projects/Data/AppUpdateData/Project.swift | 21 ------------ .../Sources/AppUpdateLiveDependencies.swift | 13 -------- Projects/Data/AttendanceData/Project.swift | 24 -------------- .../Sources/AttendanceLiveDependencies.swift | 13 -------- Projects/Data/AuthData/Project.swift | 27 --------------- .../Sources/AuthLiveDependencies.swift | 33 ------------------- Projects/Data/BattleData/Project.swift | 27 --------------- .../Sources/BattleLiveDependencies.swift | 13 -------- Projects/Data/CommentData/Project.swift | 24 -------------- .../Sources/CommentLiveDependencies.swift | 13 -------- Projects/Data/DataAssembly/Project.swift | 27 --------------- .../Exported/DataAssemblyExported.swift | 18 ---------- Projects/Data/HomeData/Project.swift | 26 --------------- .../Sources/HomeLiveDependencies.swift | 13 -------- Projects/Data/NotificationData/Project.swift | 24 -------------- .../NotificationLiveDependencies.swift | 13 -------- Projects/Data/PerspectiveData/Project.swift | 27 --------------- .../Sources/PerspectiveLiveDependencies.swift | 13 -------- Projects/Data/ProfileData/Project.swift | 24 -------------- .../Sources/ProfileLiveDependencies.swift | 13 -------- Projects/Data/SearchData/Project.swift | 27 --------------- .../Sources/SearchLiveDependencies.swift | 13 -------- Projects/Domain/AppUpdateDomain/Project.swift | 3 ++ .../Sources/AppUpdateLiveDependencies.swift | 4 +++ .../Repository/AppUpdateRepositoryImpl.swift | 2 +- .../Domain/AttendanceDomain/Project.swift | 11 ++++++- .../Sources/AttendanceLiveDependencies.swift | 4 +++ .../Model/DTO/AttendanceCheckDataDTO.swift | 0 .../Sources/Model/DTO/AttendanceDayDTO.swift | 0 .../Model/DTO/AttendanceSummaryDataDTO.swift | 0 .../Model/DTO/WeeklyAttendanceDataDTO.swift | 0 .../Model/Mapper/AttendanceDataDTO+.swift | 0 .../Repository/AttendanceRepositoryImpl.swift | 0 .../Tests/AttendanceRepositoryTests.swift | 0 .../AttendanceDomain}/Tests/TestSupport.swift | 0 Projects/Domain/AuthDomain/Project.swift | 6 ++++ .../Sources/AuthLiveDependencies.swift | 24 ++++++++++++++ .../Sources/Interceptor/AuthInterceptor.swift | 2 +- .../SessionInvalidationMonitor.swift | 2 +- .../Model/Login/DTO/LoginDataDTO.swift | 0 .../Model/Login/Mapper/LoginDataDTO+.swift | 0 .../Sources/Model/Logout/DTO/LogOutDTO.swift | 0 .../Model/Logout/Mapper/LogOutDTO+.swift | 0 .../Sources/Model/Token/DTO/TokenDTO.swift | 0 .../Model/Token/Mapper/TokenDTO+.swift | 0 .../Model/Withdraw/DTO/WithdrawDTO.swift | 0 .../Model/Withdraw/Mapper/WithdrawDTO+.swift | 0 .../RefreshToken/AccessTokenCredential.swift | 2 +- .../RefreshToken/AuthSessionManager.swift | 2 +- .../OptimizedSessionManager.swift | 2 +- .../Repository/AuthRepositoryImpl.swift | 0 .../Google/GoogleOAuthConfiguration.swift | 0 .../Google/GoogleOAuthRepositoryImpl.swift | 0 .../Apple/AppleLoginRepositoryImpl.swift | 0 .../Apple/AppleOAuthRepositoryImpl.swift | 0 .../AuthPresentationContextProvider.swift | 2 +- .../OAuth/Google/GoogleLoginManager.swift | 0 .../OAuth/Kakao/KakaoOAuthRepository.swift | 0 .../OAuth/Web/OAuthWebViewController.swift | 0 .../Tests/AuthRepositoryTests.swift | 0 .../Tests/AuthRequestMappingTests.swift | 0 .../AuthDomain}/Tests/TestSupport.swift | 0 Projects/Domain/BattleDomain/Project.swift | 8 ++++- .../Sources/BattleLiveDependencies.swift | 4 +++ .../Repository/BattleRepositoryImpl.swift | 0 .../Tests/BattleRepositoryTests.swift | 0 .../Tests/BattleRequestMappingTests.swift | 0 .../BattleDomain}/Tests/TestSupport.swift | 0 Projects/Domain/CommentDomain/Project.swift | 6 ++++ .../Sources/CommentLiveDependencies.swift | 4 +++ .../Repository/CommentRepositoryImpl.swift | 0 .../Tests/CommentRepositoryTests.swift | 0 .../Tests/CommentRequestMappingTests.swift | 0 .../CommentDomain}/Tests/TestSupport.swift | 0 Projects/Domain/HomeDomain/Project.swift | 7 ++++ .../Sources/HomeLiveDependencies.swift | 4 +++ .../Sources/Model/HomeDataDTO+.swift | 0 .../Sources/Model/HomeDataDTO.swift | 0 .../Repository/HomeRepositoryImpl.swift | 0 .../Tests/HomeRepositoryTests.swift | 0 .../Tests/HomeRequestMappingTests.swift | 0 .../HomeDomain}/Tests/TestSupport.swift | 0 .../Domain/NotificationDomain/Project.swift | 6 ++++ .../Model/DTO/NotificationDataDTO.swift | 0 .../Model/Mapper/NotificationDataDTO+.swift | 0 .../NotificationLiveDependencies.swift | 4 +++ .../NotificationRepositoryImpl.swift | 0 .../Tests/NotificationRepositoryTests.swift | 0 .../NotificationRequestMappingTests.swift | 0 .../Tests/TestSupport.swift | 0 .../Domain/PerspectiveDomain/Project.swift | 6 ++++ .../Sources/PerspectiveLiveDependencies.swift | 4 +++ .../PerspectiveRepositoryImpl.swift | 0 .../Tests/PerspectiveRepositoryTests.swift | 0 .../PerspectiveRequestMappingTests.swift | 0 .../Tests/TestSupport.swift | 0 Projects/Domain/ProfileDomain/Project.swift | 6 ++++ .../Model/DTO/BattleRecordDataDTO.swift | 0 .../Model/DTO/ContentActivityDataDTO.swift | 0 .../Model/DTO/CreditHistoryDataDTO.swift | 0 .../Sources/Model/DTO/MyPageDataDTO.swift | 0 .../DTO/NotificationSettingsDataDTO.swift | 0 .../Model/DTO/ProfileUpdateDataDTO.swift | 2 +- .../Sources/Model/DTO/RecapDataDTO.swift | 0 .../Model/Mapper/BattleRecordDataDTO+.swift | 0 .../Mapper/ContentActivityDataDTO+.swift | 0 .../Model/Mapper/CreditHistoryDataDTO+.swift | 0 .../Sources/Model/Mapper/MyPageDataDTO+.swift | 0 .../Mapper/NotificationSettingsDataDTO+.swift | 0 .../Model/Mapper/ProfileUpdateDataDTO+.swift | 2 +- .../Sources/Model/Mapper/RecapDataDTO+.swift | 0 .../Sources/ProfileLiveDependencies.swift | 4 +++ .../Repository/ProfileRepositoryImpl.swift | 0 .../Tests/ProfileRepositoryTests.swift | 0 .../Tests/ProfileRequestMappingTests.swift | 0 .../ProfileDomain}/Tests/TestSupport.swift | 0 Projects/Domain/SearchDomain/Project.swift | 8 ++++- .../Sources/SearchBattleDataDTO+.swift | 0 .../Sources/SearchBattleDataDTO.swift | 0 .../Sources/SearchLiveDependencies.swift | 4 +++ .../Sources/SearchRepositoryImpl.swift | 0 .../Tests/SearchRepositoryTests.swift | 0 .../Tests/SearchRequestMappingTests.swift | 0 .../SearchDomain}/Tests/TestSupport.swift | 0 128 files changed, 133 insertions(+), 476 deletions(-) delete mode 100644 Projects/Data/AppUpdateData/Project.swift delete mode 100644 Projects/Data/AppUpdateData/Sources/AppUpdateLiveDependencies.swift delete mode 100644 Projects/Data/AttendanceData/Project.swift delete mode 100644 Projects/Data/AttendanceData/Sources/AttendanceLiveDependencies.swift delete mode 100644 Projects/Data/AuthData/Project.swift delete mode 100644 Projects/Data/AuthData/Sources/AuthLiveDependencies.swift delete mode 100644 Projects/Data/BattleData/Project.swift delete mode 100644 Projects/Data/BattleData/Sources/BattleLiveDependencies.swift delete mode 100644 Projects/Data/CommentData/Project.swift delete mode 100644 Projects/Data/CommentData/Sources/CommentLiveDependencies.swift delete mode 100644 Projects/Data/DataAssembly/Project.swift delete mode 100644 Projects/Data/DataAssembly/Sources/Exported/DataAssemblyExported.swift delete mode 100644 Projects/Data/HomeData/Project.swift delete mode 100644 Projects/Data/HomeData/Sources/HomeLiveDependencies.swift delete mode 100644 Projects/Data/NotificationData/Project.swift delete mode 100644 Projects/Data/NotificationData/Sources/NotificationLiveDependencies.swift delete mode 100644 Projects/Data/PerspectiveData/Project.swift delete mode 100644 Projects/Data/PerspectiveData/Sources/PerspectiveLiveDependencies.swift delete mode 100644 Projects/Data/ProfileData/Project.swift delete mode 100644 Projects/Data/ProfileData/Sources/ProfileLiveDependencies.swift delete mode 100644 Projects/Data/SearchData/Project.swift delete mode 100644 Projects/Data/SearchData/Sources/SearchLiveDependencies.swift rename Projects/{Data/AppUpdateData => Domain/AppUpdateDomain}/Sources/Repository/AppUpdateRepositoryImpl.swift (99%) rename Projects/{Data/AttendanceData => Domain/AttendanceDomain}/Sources/Model/DTO/AttendanceCheckDataDTO.swift (100%) rename Projects/{Data/AttendanceData => Domain/AttendanceDomain}/Sources/Model/DTO/AttendanceDayDTO.swift (100%) rename Projects/{Data/AttendanceData => Domain/AttendanceDomain}/Sources/Model/DTO/AttendanceSummaryDataDTO.swift (100%) rename Projects/{Data/AttendanceData => Domain/AttendanceDomain}/Sources/Model/DTO/WeeklyAttendanceDataDTO.swift (100%) rename Projects/{Data/AttendanceData => Domain/AttendanceDomain}/Sources/Model/Mapper/AttendanceDataDTO+.swift (100%) rename Projects/{Data/AttendanceData => Domain/AttendanceDomain}/Sources/Repository/AttendanceRepositoryImpl.swift (100%) rename Projects/{Data/AttendanceData => Domain/AttendanceDomain}/Tests/AttendanceRepositoryTests.swift (100%) rename Projects/{Data/AttendanceData => Domain/AttendanceDomain}/Tests/TestSupport.swift (100%) rename Projects/{Data/AuthData => Domain/AuthDomain}/Sources/Interceptor/AuthInterceptor.swift (99%) rename Projects/{Data/AuthData => Domain/AuthDomain}/Sources/Interceptor/SessionInvalidationMonitor.swift (99%) rename Projects/{Data/AuthData => Domain/AuthDomain}/Sources/Model/Login/DTO/LoginDataDTO.swift (100%) rename Projects/{Data/AuthData => Domain/AuthDomain}/Sources/Model/Login/Mapper/LoginDataDTO+.swift (100%) rename Projects/{Data/AuthData => Domain/AuthDomain}/Sources/Model/Logout/DTO/LogOutDTO.swift (100%) rename Projects/{Data/AuthData => Domain/AuthDomain}/Sources/Model/Logout/Mapper/LogOutDTO+.swift (100%) rename Projects/{Data/AuthData => Domain/AuthDomain}/Sources/Model/Token/DTO/TokenDTO.swift (100%) rename Projects/{Data/AuthData => Domain/AuthDomain}/Sources/Model/Token/Mapper/TokenDTO+.swift (100%) rename Projects/{Data/AuthData => Domain/AuthDomain}/Sources/Model/Withdraw/DTO/WithdrawDTO.swift (100%) rename Projects/{Data/AuthData => Domain/AuthDomain}/Sources/Model/Withdraw/Mapper/WithdrawDTO+.swift (100%) rename Projects/{Data/AuthData => Domain/AuthDomain}/Sources/RefreshToken/AccessTokenCredential.swift (99%) rename Projects/{Data/AuthData => Domain/AuthDomain}/Sources/RefreshToken/AuthSessionManager.swift (99%) rename Projects/{Data/AuthData => Domain/AuthDomain}/Sources/RefreshToken/OptimizedSessionManager.swift (99%) rename Projects/{Data/AuthData => Domain/AuthDomain}/Sources/Repository/AuthRepositoryImpl.swift (100%) rename Projects/{Data/AuthData => Domain/AuthDomain}/Sources/Repository/Google/GoogleOAuthConfiguration.swift (100%) rename Projects/{Data/AuthData => Domain/AuthDomain}/Sources/Repository/Google/GoogleOAuthRepositoryImpl.swift (100%) rename Projects/{Data/AuthData => Domain/AuthDomain}/Sources/Repository/OAuth/Apple/AppleLoginRepositoryImpl.swift (100%) rename Projects/{Data/AuthData => Domain/AuthDomain}/Sources/Repository/OAuth/Apple/AppleOAuthRepositoryImpl.swift (100%) rename Projects/{Data/AuthData => Domain/AuthDomain}/Sources/Repository/OAuth/AuthPresentationContextProvider.swift (98%) rename Projects/{Data/AuthData => Domain/AuthDomain}/Sources/Repository/OAuth/Google/GoogleLoginManager.swift (100%) rename Projects/{Data/AuthData => Domain/AuthDomain}/Sources/Repository/OAuth/Kakao/KakaoOAuthRepository.swift (100%) rename Projects/{Data/AuthData => Domain/AuthDomain}/Sources/Repository/OAuth/Web/OAuthWebViewController.swift (100%) rename Projects/{Data/AuthData => Domain/AuthDomain}/Tests/AuthRepositoryTests.swift (100%) rename Projects/{Data/AuthData => Domain/AuthDomain}/Tests/AuthRequestMappingTests.swift (100%) rename Projects/{Data/AuthData => Domain/AuthDomain}/Tests/TestSupport.swift (100%) rename Projects/{Data/BattleData => Domain/BattleDomain}/Sources/Repository/BattleRepositoryImpl.swift (100%) rename Projects/{Data/BattleData => Domain/BattleDomain}/Tests/BattleRepositoryTests.swift (100%) rename Projects/{Data/BattleData => Domain/BattleDomain}/Tests/BattleRequestMappingTests.swift (100%) rename Projects/{Data/BattleData => Domain/BattleDomain}/Tests/TestSupport.swift (100%) rename Projects/{Data/CommentData => Domain/CommentDomain}/Sources/Repository/CommentRepositoryImpl.swift (100%) rename Projects/{Data/CommentData => Domain/CommentDomain}/Tests/CommentRepositoryTests.swift (100%) rename Projects/{Data/CommentData => Domain/CommentDomain}/Tests/CommentRequestMappingTests.swift (100%) rename Projects/{Data/CommentData => Domain/CommentDomain}/Tests/TestSupport.swift (100%) rename Projects/{Data/HomeData => Domain/HomeDomain}/Sources/Model/HomeDataDTO+.swift (100%) rename Projects/{Data/HomeData => Domain/HomeDomain}/Sources/Model/HomeDataDTO.swift (100%) rename Projects/{Data/HomeData => Domain/HomeDomain}/Sources/Repository/HomeRepositoryImpl.swift (100%) rename Projects/{Data/HomeData => Domain/HomeDomain}/Tests/HomeRepositoryTests.swift (100%) rename Projects/{Data/HomeData => Domain/HomeDomain}/Tests/HomeRequestMappingTests.swift (100%) rename Projects/{Data/HomeData => Domain/HomeDomain}/Tests/TestSupport.swift (100%) rename Projects/{Data/NotificationData => Domain/NotificationDomain}/Sources/Model/DTO/NotificationDataDTO.swift (100%) rename Projects/{Data/NotificationData => Domain/NotificationDomain}/Sources/Model/Mapper/NotificationDataDTO+.swift (100%) rename Projects/{Data/NotificationData => Domain/NotificationDomain}/Sources/Repository/NotificationRepositoryImpl.swift (100%) rename Projects/{Data/NotificationData => Domain/NotificationDomain}/Tests/NotificationRepositoryTests.swift (100%) rename Projects/{Data/NotificationData => Domain/NotificationDomain}/Tests/NotificationRequestMappingTests.swift (100%) rename Projects/{Data/NotificationData => Domain/NotificationDomain}/Tests/TestSupport.swift (100%) rename Projects/{Data/PerspectiveData => Domain/PerspectiveDomain}/Sources/Repository/PerspectiveRepositoryImpl.swift (100%) rename Projects/{Data/PerspectiveData => Domain/PerspectiveDomain}/Tests/PerspectiveRepositoryTests.swift (100%) rename Projects/{Data/PerspectiveData => Domain/PerspectiveDomain}/Tests/PerspectiveRequestMappingTests.swift (100%) rename Projects/{Data/PerspectiveData => Domain/PerspectiveDomain}/Tests/TestSupport.swift (100%) rename Projects/{Data/ProfileData => Domain/ProfileDomain}/Sources/Model/DTO/BattleRecordDataDTO.swift (100%) rename Projects/{Data/ProfileData => Domain/ProfileDomain}/Sources/Model/DTO/ContentActivityDataDTO.swift (100%) rename Projects/{Data/ProfileData => Domain/ProfileDomain}/Sources/Model/DTO/CreditHistoryDataDTO.swift (100%) rename Projects/{Data/ProfileData => Domain/ProfileDomain}/Sources/Model/DTO/MyPageDataDTO.swift (100%) rename Projects/{Data/ProfileData => Domain/ProfileDomain}/Sources/Model/DTO/NotificationSettingsDataDTO.swift (100%) rename Projects/{Data/ProfileData => Domain/ProfileDomain}/Sources/Model/DTO/ProfileUpdateDataDTO.swift (94%) rename Projects/{Data/ProfileData => Domain/ProfileDomain}/Sources/Model/DTO/RecapDataDTO.swift (100%) rename Projects/{Data/ProfileData => Domain/ProfileDomain}/Sources/Model/Mapper/BattleRecordDataDTO+.swift (100%) rename Projects/{Data/ProfileData => Domain/ProfileDomain}/Sources/Model/Mapper/ContentActivityDataDTO+.swift (100%) rename Projects/{Data/ProfileData => Domain/ProfileDomain}/Sources/Model/Mapper/CreditHistoryDataDTO+.swift (100%) rename Projects/{Data/ProfileData => Domain/ProfileDomain}/Sources/Model/Mapper/MyPageDataDTO+.swift (100%) rename Projects/{Data/ProfileData => Domain/ProfileDomain}/Sources/Model/Mapper/NotificationSettingsDataDTO+.swift (100%) rename Projects/{Data/ProfileData => Domain/ProfileDomain}/Sources/Model/Mapper/ProfileUpdateDataDTO+.swift (94%) rename Projects/{Data/ProfileData => Domain/ProfileDomain}/Sources/Model/Mapper/RecapDataDTO+.swift (100%) rename Projects/{Data/ProfileData => Domain/ProfileDomain}/Sources/Repository/ProfileRepositoryImpl.swift (100%) rename Projects/{Data/ProfileData => Domain/ProfileDomain}/Tests/ProfileRepositoryTests.swift (100%) rename Projects/{Data/ProfileData => Domain/ProfileDomain}/Tests/ProfileRequestMappingTests.swift (100%) rename Projects/{Data/ProfileData => Domain/ProfileDomain}/Tests/TestSupport.swift (100%) rename Projects/{Data/SearchData => Domain/SearchDomain}/Sources/SearchBattleDataDTO+.swift (100%) rename Projects/{Data/SearchData => Domain/SearchDomain}/Sources/SearchBattleDataDTO.swift (100%) rename Projects/{Data/SearchData => Domain/SearchDomain}/Sources/SearchRepositoryImpl.swift (100%) rename Projects/{Data/SearchData => Domain/SearchDomain}/Tests/SearchRepositoryTests.swift (100%) rename Projects/{Data/SearchData => Domain/SearchDomain}/Tests/SearchRequestMappingTests.swift (100%) rename Projects/{Data/SearchData => Domain/SearchDomain}/Tests/TestSupport.swift (100%) diff --git a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Modules.swift b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Modules.swift index 28973436..e6fcebc0 100644 --- a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Modules.swift +++ b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Modules.swift @@ -74,18 +74,7 @@ public enum DomainModule: String, CaseIterable { } public enum DataModule: String, CaseIterable { - case assembly = "DataAssembly" case model = "Model" - case appUpdate = "AppUpdateData" - case attendance = "AttendanceData" - case auth = "AuthData" - case battle = "BattleData" - case comment = "CommentData" - case home = "HomeData" - case notification = "NotificationData" - case perspective = "PerspectiveData" - case profile = "ProfileData" - case search = "SearchData" /// Projects/Data/ var path: Path { diff --git a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/TargetDependency+Modules.swift b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/TargetDependency+Modules.swift index 1a46a38a..faa22576 100644 --- a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/TargetDependency+Modules.swift +++ b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/TargetDependency+Modules.swift @@ -82,11 +82,6 @@ public extension TargetDependency { return .moduleDependency(name: module.rawValue, path: module.path, target: target) } - /// 컨텍스트별 Repository 구현을 묶어 제공하는 엄브렐러 모듈. - static var dataAssembly: Self { - return .data(.assembly) - } - /// 디자인 시스템(단일 타깃). UI 레이어로 쪼갠 뒤 `ui(_:)` 로 대체한다. static var designSystem: Self { return .project(target: "PickeDesignKit", path: .designSystem) diff --git a/Projects/App/Project.swift b/Projects/App/Project.swift index deec6e15..833f1ea4 100644 --- a/Projects/App/Project.swift +++ b/Projects/App/Project.swift @@ -16,7 +16,6 @@ let project = Project.configure( // 화면·도메인·데이터 구현은 각 레이어의 조립 경계 하나로 들어온다. .featureAssembly, .domainAssembly, - .dataAssembly, // Core·Service 구현은 조립 경계 하나로 들어온다. // 앱 시작 전면 팝업 광고(AdService)도 여기에 포함된다. .serviceAssembly, diff --git a/Projects/App/Sources/Di/AppDependencyFactory.swift b/Projects/App/Sources/Di/AppDependencyFactory.swift index f0b369e8..893c4e48 100644 --- a/Projects/App/Sources/Di/AppDependencyFactory.swift +++ b/Projects/App/Sources/Di/AppDependencyFactory.swift @@ -2,7 +2,6 @@ import AnalyticsService import AnalyticsServiceInterface import AudioPlayerService import ComposableArchitecture -import DataAssembly import DeviceService import DeviceServiceInterface import DomainAssembly diff --git a/Projects/Data/AppUpdateData/Project.swift b/Projects/Data/AppUpdateData/Project.swift deleted file mode 100644 index 135fa659..00000000 --- a/Projects/Data/AppUpdateData/Project.swift +++ /dev/null @@ -1,21 +0,0 @@ -import DependencyPackagePlugin -import DependencyPlugin -import Foundation -import ProjectDescription -import ProjectTemplatePlugin - -let project = Project.configure( - moduleType: .module(name: "AppUpdateData"), - bundleId: .appBundleID(name: ".AppUpdateData"), - product: .staticFramework, - settings: .settings(), - dependencies: [ - .domain(.appUpdate, .interface), - .data(.model), - .network(implements: .networkModule), - .SPM.logMarco, - .SPM.composableArchitecture, - ], - sources: ["Sources/**"], - hasTests: false -) diff --git a/Projects/Data/AppUpdateData/Sources/AppUpdateLiveDependencies.swift b/Projects/Data/AppUpdateData/Sources/AppUpdateLiveDependencies.swift deleted file mode 100644 index 354d51d2..00000000 --- a/Projects/Data/AppUpdateData/Sources/AppUpdateLiveDependencies.swift +++ /dev/null @@ -1,13 +0,0 @@ -// -// AppUpdateLiveDependencies.swift -// AppUpdateData -// -// 이 모듈이 소유한 live 구현을 스스로 등록한다. -// - -import AppUpdateDomainInterface -import ComposableArchitecture - -extension AppUpdateRepositoryDependency: DependencyKey { - public static var liveValue: AppUpdateInterface { AppUpdateRepositoryImpl() } -} diff --git a/Projects/Data/AttendanceData/Project.swift b/Projects/Data/AttendanceData/Project.swift deleted file mode 100644 index a0f8493c..00000000 --- a/Projects/Data/AttendanceData/Project.swift +++ /dev/null @@ -1,24 +0,0 @@ -import DependencyPackagePlugin -import DependencyPlugin -import Foundation -import ProjectDescription -import ProjectTemplatePlugin - -let project = Project.configure( - moduleType: .module(name: "AttendanceData"), - bundleId: .appBundleID(name: ".AttendanceData"), - product: .staticFramework, - settings: .settings(), - dependencies: [ - .domain(.attendance, .interface), - .service(.api), - .data(.model), - .service(.apiEndpoint), - .network(implements: .networkModule), - .network(implements: .networkHeader), - .SPM.logMarco, - .SPM.composableArchitecture, - ], - sources: ["Sources/**"], - hasTests: true -) diff --git a/Projects/Data/AttendanceData/Sources/AttendanceLiveDependencies.swift b/Projects/Data/AttendanceData/Sources/AttendanceLiveDependencies.swift deleted file mode 100644 index a7b4077b..00000000 --- a/Projects/Data/AttendanceData/Sources/AttendanceLiveDependencies.swift +++ /dev/null @@ -1,13 +0,0 @@ -// -// AttendanceLiveDependencies.swift -// AttendanceData -// -// 이 모듈이 소유한 live 구현을 스스로 등록한다. -// - -import AttendanceDomainInterface -import ComposableArchitecture - -extension AttendanceRepositoryDependency: DependencyKey { - public static var liveValue: AttendanceInterface { AttendanceRepositoryImpl() } -} diff --git a/Projects/Data/AuthData/Project.swift b/Projects/Data/AuthData/Project.swift deleted file mode 100644 index 208808ac..00000000 --- a/Projects/Data/AuthData/Project.swift +++ /dev/null @@ -1,27 +0,0 @@ -import DependencyPackagePlugin -import DependencyPlugin -import Foundation -import ProjectDescription -import ProjectTemplatePlugin - -let project = Project.configure( - moduleType: .module(name: "AuthData"), - bundleId: .appBundleID(name: ".AuthData"), - product: .staticFramework, - settings: .settings(), - dependencies: [ - .domain(.auth, .interface), - - .service(.api), - .data(.model), - .service(.apiEndpoint), - .network(implements: .networkModule), - .network(implements: .networkHeader), - .SPM.weaveDI, - .SPM.logMarco, - .SPM.composableArchitecture, - .SPM.googleSignIn, - ], - sources: ["Sources/**"], - hasTests: true -) diff --git a/Projects/Data/AuthData/Sources/AuthLiveDependencies.swift b/Projects/Data/AuthData/Sources/AuthLiveDependencies.swift deleted file mode 100644 index 3e5fe164..00000000 --- a/Projects/Data/AuthData/Sources/AuthLiveDependencies.swift +++ /dev/null @@ -1,33 +0,0 @@ -// -// AuthLiveDependencies.swift -// AuthData -// -// 이 모듈이 소유한 live 구현을 스스로 등록한다. -// - -import AuthDomainInterface -import ComposableArchitecture - -extension AuthRepositoryDependency: DependencyKey { - public static var liveValue: AuthInterface { AuthRepositoryImpl() } -} - -extension AppleAuthRequestDependency: DependencyKey { - public static var liveValue: AppleAuthRequestInterface { AppleLoginRepositoryImpl() } -} - -extension AppleOAuthRepositoryDependencyKey: DependencyKey { - public static var liveValue: AppleOAuthInterface { AppleOAuthRepositoryImpl() } -} - -extension GoogleOAuthRepositoryDependencyKey: DependencyKey { - public static var liveValue: GoogleOAuthInterface { - GoogleOAuthRepositoryImpl(presentationContextProvider: AuthPresentationContextProvider()) - } -} - -extension KakaoOAuthRepositoryDependencyKey: DependencyKey { - public static var liveValue: KakaoOAuthInterface { - KakaoOAuthRepository(presentationContextProvider: AuthPresentationContextProvider()) - } -} diff --git a/Projects/Data/BattleData/Project.swift b/Projects/Data/BattleData/Project.swift deleted file mode 100644 index 28d6a3ed..00000000 --- a/Projects/Data/BattleData/Project.swift +++ /dev/null @@ -1,27 +0,0 @@ -import DependencyPackagePlugin -import DependencyPlugin -import Foundation -import ProjectDescription -import ProjectTemplatePlugin - -let project = Project.configure( - moduleType: .module(name: "BattleData"), - bundleId: .appBundleID(name: ".BattleData"), - product: .staticFramework, - settings: .settings(), - dependencies: [ - .domain(.home, .interface), - .domain(.battle, .interface), - - .service(.api), - .data(.model), - .service(.apiEndpoint), - .network(implements: .networkModule), - .network(implements: .networkHeader), - .SPM.weaveDI, - .SPM.logMarco, - .SPM.composableArchitecture, - ], - sources: ["Sources/**"], - hasTests: true -) diff --git a/Projects/Data/BattleData/Sources/BattleLiveDependencies.swift b/Projects/Data/BattleData/Sources/BattleLiveDependencies.swift deleted file mode 100644 index d59368dc..00000000 --- a/Projects/Data/BattleData/Sources/BattleLiveDependencies.swift +++ /dev/null @@ -1,13 +0,0 @@ -// -// BattleLiveDependencies.swift -// BattleData -// -// 이 모듈이 소유한 live 구현을 스스로 등록한다. -// - -import BattleDomainInterface -import ComposableArchitecture - -extension BattleRepositoryDependency: DependencyKey { - public static var liveValue: BattleInterface { BattleRepositoryImpl() } -} diff --git a/Projects/Data/CommentData/Project.swift b/Projects/Data/CommentData/Project.swift deleted file mode 100644 index 4febd5b1..00000000 --- a/Projects/Data/CommentData/Project.swift +++ /dev/null @@ -1,24 +0,0 @@ -import DependencyPackagePlugin -import DependencyPlugin -import Foundation -import ProjectDescription -import ProjectTemplatePlugin - -let project = Project.configure( - moduleType: .module(name: "CommentData"), - bundleId: .appBundleID(name: ".CommentData"), - product: .staticFramework, - settings: .settings(), - dependencies: [ - .domain(.comment, .interface), - .service(.api), - .data(.model), - .service(.apiEndpoint), - .network(implements: .networkModule), - .network(implements: .networkHeader), - .SPM.logMarco, - .SPM.composableArchitecture, - ], - sources: ["Sources/**"], - hasTests: true -) diff --git a/Projects/Data/CommentData/Sources/CommentLiveDependencies.swift b/Projects/Data/CommentData/Sources/CommentLiveDependencies.swift deleted file mode 100644 index c00e1bc8..00000000 --- a/Projects/Data/CommentData/Sources/CommentLiveDependencies.swift +++ /dev/null @@ -1,13 +0,0 @@ -// -// CommentLiveDependencies.swift -// CommentData -// -// 이 모듈이 소유한 live 구현을 스스로 등록한다. -// - -import CommentDomainInterface -import ComposableArchitecture - -extension CommentRepositoryDependency: DependencyKey { - public static var liveValue: CommentInterface { CommentRepositoryImpl() } -} diff --git a/Projects/Data/DataAssembly/Project.swift b/Projects/Data/DataAssembly/Project.swift deleted file mode 100644 index 0856d3f9..00000000 --- a/Projects/Data/DataAssembly/Project.swift +++ /dev/null @@ -1,27 +0,0 @@ -import DependencyPackagePlugin -import DependencyPlugin -import Foundation -import ProjectDescription -import ProjectTemplatePlugin - -let project = Project.configure( - moduleType: .module(name: "DataAssembly"), - bundleId: .appBundleID(name: ".DataAssembly"), - product: .staticFramework, - settings: .settings(), - dependencies: [ - .data(.appUpdate), - .data(.model), - .service(.apiEndpoint), - .data(.attendance), - .data(.auth), - .data(.battle), - .data(.search), - .data(.comment), - .data(.home), - .data(.notification), - .data(.perspective), - .data(.profile), - ], - sources: ["Sources/**"] -) diff --git a/Projects/Data/DataAssembly/Sources/Exported/DataAssemblyExported.swift b/Projects/Data/DataAssembly/Sources/Exported/DataAssemblyExported.swift deleted file mode 100644 index 2c51257c..00000000 --- a/Projects/Data/DataAssembly/Sources/Exported/DataAssemblyExported.swift +++ /dev/null @@ -1,18 +0,0 @@ -// -// DataAssemblyExported.swift -// DataAssembly -// - -// MARK: - Data 레이어 한번에 노출 - -@_exported import AppUpdateData -@_exported import AttendanceData -@_exported import AuthData -@_exported import BattleData -@_exported import CommentData -@_exported import HomeData -@_exported import Model -@_exported import NotificationData -@_exported import PerspectiveData -@_exported import ProfileData -@_exported import SearchData diff --git a/Projects/Data/HomeData/Project.swift b/Projects/Data/HomeData/Project.swift deleted file mode 100644 index 383f5a31..00000000 --- a/Projects/Data/HomeData/Project.swift +++ /dev/null @@ -1,26 +0,0 @@ -import DependencyPackagePlugin -import DependencyPlugin -import Foundation -import ProjectDescription -import ProjectTemplatePlugin - -let project = Project.configure( - moduleType: .module(name: "HomeData"), - bundleId: .appBundleID(name: ".HomeData"), - product: .staticFramework, - settings: .settings(), - dependencies: [ - .domain(.auth, .interface), - .domain(.home, .interface), - .service(.api), - .data(.model), - .service(.apiEndpoint), - .network(implements: .networkModule), - .network(implements: .networkHeader), - .SPM.weaveDI, - .SPM.logMarco, - .SPM.composableArchitecture, - ], - sources: ["Sources/**"], - hasTests: true -) diff --git a/Projects/Data/HomeData/Sources/HomeLiveDependencies.swift b/Projects/Data/HomeData/Sources/HomeLiveDependencies.swift deleted file mode 100644 index 1a0a8ae8..00000000 --- a/Projects/Data/HomeData/Sources/HomeLiveDependencies.swift +++ /dev/null @@ -1,13 +0,0 @@ -// -// HomeLiveDependencies.swift -// HomeData -// -// 이 모듈이 소유한 live 구현을 스스로 등록한다. -// - -import HomeDomainInterface -import ComposableArchitecture - -extension HomeRepositoryDependency: DependencyKey { - public static var liveValue: HomeInterface { HomeRepositoryImpl() } -} diff --git a/Projects/Data/NotificationData/Project.swift b/Projects/Data/NotificationData/Project.swift deleted file mode 100644 index 3fa705eb..00000000 --- a/Projects/Data/NotificationData/Project.swift +++ /dev/null @@ -1,24 +0,0 @@ -import DependencyPackagePlugin -import DependencyPlugin -import Foundation -import ProjectDescription -import ProjectTemplatePlugin - -let project = Project.configure( - moduleType: .module(name: "NotificationData"), - bundleId: .appBundleID(name: ".NotificationData"), - product: .staticFramework, - settings: .settings(), - dependencies: [ - .domain(.notification, .interface), - .service(.api), - .data(.model), - .service(.apiEndpoint), - .network(implements: .networkModule), - .network(implements: .networkHeader), - .SPM.logMarco, - .SPM.composableArchitecture, - ], - sources: ["Sources/**"], - hasTests: true -) diff --git a/Projects/Data/NotificationData/Sources/NotificationLiveDependencies.swift b/Projects/Data/NotificationData/Sources/NotificationLiveDependencies.swift deleted file mode 100644 index 179b55c1..00000000 --- a/Projects/Data/NotificationData/Sources/NotificationLiveDependencies.swift +++ /dev/null @@ -1,13 +0,0 @@ -// -// NotificationLiveDependencies.swift -// NotificationData -// -// 이 모듈이 소유한 live 구현을 스스로 등록한다. -// - -import NotificationDomainInterface -import ComposableArchitecture - -extension NotificationRepositoryDependency: DependencyKey { - public static var liveValue: NotificationInterface { NotificationRepositoryImpl() } -} diff --git a/Projects/Data/PerspectiveData/Project.swift b/Projects/Data/PerspectiveData/Project.swift deleted file mode 100644 index 7a79be00..00000000 --- a/Projects/Data/PerspectiveData/Project.swift +++ /dev/null @@ -1,27 +0,0 @@ -import DependencyPackagePlugin -import DependencyPlugin -import Foundation -import ProjectDescription -import ProjectTemplatePlugin - -let project = Project.configure( - moduleType: .module(name: "PerspectiveData"), - bundleId: .appBundleID(name: ".PerspectiveData"), - product: .staticFramework, - settings: .settings(), - dependencies: [ - .domain(.perspective, .interface), - .domain(.battle, .interface), - .domain(.comment, .interface), - .service(.api), - .data(.model), - .service(.apiEndpoint), - .network(implements: .networkModule), - .network(implements: .networkHeader), - .SPM.weaveDI, - .SPM.logMarco, - .SPM.composableArchitecture, - ], - sources: ["Sources/**"], - hasTests: true -) diff --git a/Projects/Data/PerspectiveData/Sources/PerspectiveLiveDependencies.swift b/Projects/Data/PerspectiveData/Sources/PerspectiveLiveDependencies.swift deleted file mode 100644 index 31524992..00000000 --- a/Projects/Data/PerspectiveData/Sources/PerspectiveLiveDependencies.swift +++ /dev/null @@ -1,13 +0,0 @@ -// -// PerspectiveLiveDependencies.swift -// PerspectiveData -// -// 이 모듈이 소유한 live 구현을 스스로 등록한다. -// - -import PerspectiveDomainInterface -import ComposableArchitecture - -extension PerspectiveRepositoryDependency: DependencyKey { - public static var liveValue: PerspectiveInterface { PerspectiveRepositoryImpl() } -} diff --git a/Projects/Data/ProfileData/Project.swift b/Projects/Data/ProfileData/Project.swift deleted file mode 100644 index be6e8371..00000000 --- a/Projects/Data/ProfileData/Project.swift +++ /dev/null @@ -1,24 +0,0 @@ -import DependencyPackagePlugin -import DependencyPlugin -import Foundation -import ProjectDescription -import ProjectTemplatePlugin - -let project = Project.configure( - moduleType: .module(name: "ProfileData"), - bundleId: .appBundleID(name: ".ProfileData"), - product: .staticFramework, - settings: .settings(), - dependencies: [ - .domain(.profile, .interface), - .service(.api), - .data(.model), - .service(.apiEndpoint), - .network(implements: .networkModule), - .network(implements: .networkHeader), - .SPM.logMarco, - .SPM.composableArchitecture, - ], - sources: ["Sources/**"], - hasTests: true -) diff --git a/Projects/Data/ProfileData/Sources/ProfileLiveDependencies.swift b/Projects/Data/ProfileData/Sources/ProfileLiveDependencies.swift deleted file mode 100644 index 557acf6a..00000000 --- a/Projects/Data/ProfileData/Sources/ProfileLiveDependencies.swift +++ /dev/null @@ -1,13 +0,0 @@ -// -// ProfileLiveDependencies.swift -// ProfileData -// -// 이 모듈이 소유한 live 구현을 스스로 등록한다. -// - -import ProfileDomainInterface -import ComposableArchitecture - -extension ProfileRepositoryDependency: DependencyKey { - public static var liveValue: ProfileInterface { ProfileRepositoryImpl() } -} diff --git a/Projects/Data/SearchData/Project.swift b/Projects/Data/SearchData/Project.swift deleted file mode 100644 index 74e6b00b..00000000 --- a/Projects/Data/SearchData/Project.swift +++ /dev/null @@ -1,27 +0,0 @@ -import DependencyPackagePlugin -import DependencyPlugin -import Foundation -import ProjectDescription -import ProjectTemplatePlugin - -let project = Project.configure( - moduleType: .module(name: "SearchData"), - bundleId: .appBundleID(name: ".SearchData"), - product: .staticFramework, - settings: .settings(), - dependencies: [ - .domain(.battle, .interface), - .domain(.search, .interface), - .domain(.home, .interface), - - .service(.api), - .service(.apiEndpoint), - .data(.model), - .network(implements: .networkModule), - .network(implements: .networkHeader), - .SPM.logMarco, - .SPM.composableArchitecture, - ], - sources: ["Sources/**"], - hasTests: true -) diff --git a/Projects/Data/SearchData/Sources/SearchLiveDependencies.swift b/Projects/Data/SearchData/Sources/SearchLiveDependencies.swift deleted file mode 100644 index b32f924f..00000000 --- a/Projects/Data/SearchData/Sources/SearchLiveDependencies.swift +++ /dev/null @@ -1,13 +0,0 @@ -// -// SearchLiveDependencies.swift -// SearchData -// -// 이 모듈이 소유한 live 구현을 스스로 등록한다. -// - -import SearchDomainInterface -import ComposableArchitecture - -extension SearchRepositoryDependency: DependencyKey { - public static var liveValue: SearchInterface { SearchRepositoryImpl() } -} diff --git a/Projects/Domain/AppUpdateDomain/Project.swift b/Projects/Domain/AppUpdateDomain/Project.swift index 107883cf..9d0609bb 100644 --- a/Projects/Domain/AppUpdateDomain/Project.swift +++ b/Projects/Domain/AppUpdateDomain/Project.swift @@ -11,6 +11,9 @@ let project = Project.configure( settings: .settings(), dependencies: [ .SPM.composableArchitecture, + .data(.model), + .network(implements: .networkModule), + .SPM.logMarco, ], interfaceDependencies: [ .SPM.weaveDI, diff --git a/Projects/Domain/AppUpdateDomain/Sources/AppUpdateLiveDependencies.swift b/Projects/Domain/AppUpdateDomain/Sources/AppUpdateLiveDependencies.swift index acb5b60a..243ff410 100644 --- a/Projects/Domain/AppUpdateDomain/Sources/AppUpdateLiveDependencies.swift +++ b/Projects/Domain/AppUpdateDomain/Sources/AppUpdateLiveDependencies.swift @@ -11,3 +11,7 @@ import ComposableArchitecture extension AppUpdateUseCaseDependency: DependencyKey { public static var liveValue: AppUpdateUseCaseInterface { AppUpdateUseCaseImpl() } } + +extension AppUpdateRepositoryDependency: DependencyKey { + public static var liveValue: AppUpdateInterface { AppUpdateRepositoryImpl() } +} diff --git a/Projects/Data/AppUpdateData/Sources/Repository/AppUpdateRepositoryImpl.swift b/Projects/Domain/AppUpdateDomain/Sources/Repository/AppUpdateRepositoryImpl.swift similarity index 99% rename from Projects/Data/AppUpdateData/Sources/Repository/AppUpdateRepositoryImpl.swift rename to Projects/Domain/AppUpdateDomain/Sources/Repository/AppUpdateRepositoryImpl.swift index 921dbd2d..762796d7 100644 --- a/Projects/Data/AppUpdateData/Sources/Repository/AppUpdateRepositoryImpl.swift +++ b/Projects/Domain/AppUpdateDomain/Sources/Repository/AppUpdateRepositoryImpl.swift @@ -1,6 +1,6 @@ // // AppUpdateRepositoryImpl.swift -// AppUpdateData +// AppUpdateDomain // import Foundation diff --git a/Projects/Domain/AttendanceDomain/Project.swift b/Projects/Domain/AttendanceDomain/Project.swift index e8efe3fb..a4a57070 100644 --- a/Projects/Domain/AttendanceDomain/Project.swift +++ b/Projects/Domain/AttendanceDomain/Project.swift @@ -8,6 +8,15 @@ let project = Project.configure( moduleType: .microModule(name: "AttendanceDomain"), bundleId: .appBundleID(name: ".AttendanceDomain"), settings: .settings(), - dependencies: [.SPM.weaveDI, .SPM.composableArchitecture], + dependencies: [ + .SPM.weaveDI, + .SPM.composableArchitecture, + .service(.api), + .data(.model), + .service(.apiEndpoint), + .network(implements: .networkModule), + .network(implements: .networkHeader), + .SPM.logMarco, + ], interfaceDependencies: [.SPM.composableArchitecture] ) diff --git a/Projects/Domain/AttendanceDomain/Sources/AttendanceLiveDependencies.swift b/Projects/Domain/AttendanceDomain/Sources/AttendanceLiveDependencies.swift index c894e139..877b7e9d 100644 --- a/Projects/Domain/AttendanceDomain/Sources/AttendanceLiveDependencies.swift +++ b/Projects/Domain/AttendanceDomain/Sources/AttendanceLiveDependencies.swift @@ -11,3 +11,7 @@ import ComposableArchitecture extension AttendanceUseCaseDependency: DependencyKey { public static var liveValue: AttendanceInterface { AttendanceUseCaseImpl() } } + +extension AttendanceRepositoryDependency: DependencyKey { + public static var liveValue: AttendanceInterface { AttendanceRepositoryImpl() } +} diff --git a/Projects/Data/AttendanceData/Sources/Model/DTO/AttendanceCheckDataDTO.swift b/Projects/Domain/AttendanceDomain/Sources/Model/DTO/AttendanceCheckDataDTO.swift similarity index 100% rename from Projects/Data/AttendanceData/Sources/Model/DTO/AttendanceCheckDataDTO.swift rename to Projects/Domain/AttendanceDomain/Sources/Model/DTO/AttendanceCheckDataDTO.swift diff --git a/Projects/Data/AttendanceData/Sources/Model/DTO/AttendanceDayDTO.swift b/Projects/Domain/AttendanceDomain/Sources/Model/DTO/AttendanceDayDTO.swift similarity index 100% rename from Projects/Data/AttendanceData/Sources/Model/DTO/AttendanceDayDTO.swift rename to Projects/Domain/AttendanceDomain/Sources/Model/DTO/AttendanceDayDTO.swift diff --git a/Projects/Data/AttendanceData/Sources/Model/DTO/AttendanceSummaryDataDTO.swift b/Projects/Domain/AttendanceDomain/Sources/Model/DTO/AttendanceSummaryDataDTO.swift similarity index 100% rename from Projects/Data/AttendanceData/Sources/Model/DTO/AttendanceSummaryDataDTO.swift rename to Projects/Domain/AttendanceDomain/Sources/Model/DTO/AttendanceSummaryDataDTO.swift diff --git a/Projects/Data/AttendanceData/Sources/Model/DTO/WeeklyAttendanceDataDTO.swift b/Projects/Domain/AttendanceDomain/Sources/Model/DTO/WeeklyAttendanceDataDTO.swift similarity index 100% rename from Projects/Data/AttendanceData/Sources/Model/DTO/WeeklyAttendanceDataDTO.swift rename to Projects/Domain/AttendanceDomain/Sources/Model/DTO/WeeklyAttendanceDataDTO.swift diff --git a/Projects/Data/AttendanceData/Sources/Model/Mapper/AttendanceDataDTO+.swift b/Projects/Domain/AttendanceDomain/Sources/Model/Mapper/AttendanceDataDTO+.swift similarity index 100% rename from Projects/Data/AttendanceData/Sources/Model/Mapper/AttendanceDataDTO+.swift rename to Projects/Domain/AttendanceDomain/Sources/Model/Mapper/AttendanceDataDTO+.swift diff --git a/Projects/Data/AttendanceData/Sources/Repository/AttendanceRepositoryImpl.swift b/Projects/Domain/AttendanceDomain/Sources/Repository/AttendanceRepositoryImpl.swift similarity index 100% rename from Projects/Data/AttendanceData/Sources/Repository/AttendanceRepositoryImpl.swift rename to Projects/Domain/AttendanceDomain/Sources/Repository/AttendanceRepositoryImpl.swift diff --git a/Projects/Data/AttendanceData/Tests/AttendanceRepositoryTests.swift b/Projects/Domain/AttendanceDomain/Tests/AttendanceRepositoryTests.swift similarity index 100% rename from Projects/Data/AttendanceData/Tests/AttendanceRepositoryTests.swift rename to Projects/Domain/AttendanceDomain/Tests/AttendanceRepositoryTests.swift diff --git a/Projects/Data/AttendanceData/Tests/TestSupport.swift b/Projects/Domain/AttendanceDomain/Tests/TestSupport.swift similarity index 100% rename from Projects/Data/AttendanceData/Tests/TestSupport.swift rename to Projects/Domain/AttendanceDomain/Tests/TestSupport.swift diff --git a/Projects/Domain/AuthDomain/Project.swift b/Projects/Domain/AuthDomain/Project.swift index bc171888..5f665367 100644 --- a/Projects/Domain/AuthDomain/Project.swift +++ b/Projects/Domain/AuthDomain/Project.swift @@ -14,6 +14,12 @@ let project = Project.configure( .SPM.composableArchitecture, .SPM.weaveDI, .SPM.logMarco, + .service(.api), + .data(.model), + .service(.apiEndpoint), + .network(implements: .networkModule), + .network(implements: .networkHeader), + .SPM.googleSignIn, ], interfaceDependencies: [ diff --git a/Projects/Domain/AuthDomain/Sources/AuthLiveDependencies.swift b/Projects/Domain/AuthDomain/Sources/AuthLiveDependencies.swift index c4c1b02d..92256984 100644 --- a/Projects/Domain/AuthDomain/Sources/AuthLiveDependencies.swift +++ b/Projects/Domain/AuthDomain/Sources/AuthLiveDependencies.swift @@ -27,3 +27,27 @@ extension GoogleOAuthProviderDependency: DependencyKey { extension KakaoOAuthProviderDependency: DependencyKey { public static var liveValue: KakaoOAuthProviderInterface { KakaoOAuthProvider() } } + +extension AuthRepositoryDependency: DependencyKey { + public static var liveValue: AuthInterface { AuthRepositoryImpl() } +} + +extension AppleAuthRequestDependency: DependencyKey { + public static var liveValue: AppleAuthRequestInterface { AppleLoginRepositoryImpl() } +} + +extension AppleOAuthRepositoryDependencyKey: DependencyKey { + public static var liveValue: AppleOAuthInterface { AppleOAuthRepositoryImpl() } +} + +extension GoogleOAuthRepositoryDependencyKey: DependencyKey { + public static var liveValue: GoogleOAuthInterface { + GoogleOAuthRepositoryImpl(presentationContextProvider: AuthPresentationContextProvider()) + } +} + +extension KakaoOAuthRepositoryDependencyKey: DependencyKey { + public static var liveValue: KakaoOAuthInterface { + KakaoOAuthRepository(presentationContextProvider: AuthPresentationContextProvider()) + } +} diff --git a/Projects/Data/AuthData/Sources/Interceptor/AuthInterceptor.swift b/Projects/Domain/AuthDomain/Sources/Interceptor/AuthInterceptor.swift similarity index 99% rename from Projects/Data/AuthData/Sources/Interceptor/AuthInterceptor.swift rename to Projects/Domain/AuthDomain/Sources/Interceptor/AuthInterceptor.swift index a098550e..a1d4fe01 100644 --- a/Projects/Data/AuthData/Sources/Interceptor/AuthInterceptor.swift +++ b/Projects/Domain/AuthDomain/Sources/Interceptor/AuthInterceptor.swift @@ -1,6 +1,6 @@ // // AuthInterceptor.swift -// AuthData +// AuthDomain // // Created by Wonji Suh on 5/14/26. // diff --git a/Projects/Data/AuthData/Sources/Interceptor/SessionInvalidationMonitor.swift b/Projects/Domain/AuthDomain/Sources/Interceptor/SessionInvalidationMonitor.swift similarity index 99% rename from Projects/Data/AuthData/Sources/Interceptor/SessionInvalidationMonitor.swift rename to Projects/Domain/AuthDomain/Sources/Interceptor/SessionInvalidationMonitor.swift index afff2662..1619e909 100644 --- a/Projects/Data/AuthData/Sources/Interceptor/SessionInvalidationMonitor.swift +++ b/Projects/Domain/AuthDomain/Sources/Interceptor/SessionInvalidationMonitor.swift @@ -1,6 +1,6 @@ // // SessionInvalidationMonitor.swift -// AuthData +// AuthDomain // import Alamofire diff --git a/Projects/Data/AuthData/Sources/Model/Login/DTO/LoginDataDTO.swift b/Projects/Domain/AuthDomain/Sources/Model/Login/DTO/LoginDataDTO.swift similarity index 100% rename from Projects/Data/AuthData/Sources/Model/Login/DTO/LoginDataDTO.swift rename to Projects/Domain/AuthDomain/Sources/Model/Login/DTO/LoginDataDTO.swift diff --git a/Projects/Data/AuthData/Sources/Model/Login/Mapper/LoginDataDTO+.swift b/Projects/Domain/AuthDomain/Sources/Model/Login/Mapper/LoginDataDTO+.swift similarity index 100% rename from Projects/Data/AuthData/Sources/Model/Login/Mapper/LoginDataDTO+.swift rename to Projects/Domain/AuthDomain/Sources/Model/Login/Mapper/LoginDataDTO+.swift diff --git a/Projects/Data/AuthData/Sources/Model/Logout/DTO/LogOutDTO.swift b/Projects/Domain/AuthDomain/Sources/Model/Logout/DTO/LogOutDTO.swift similarity index 100% rename from Projects/Data/AuthData/Sources/Model/Logout/DTO/LogOutDTO.swift rename to Projects/Domain/AuthDomain/Sources/Model/Logout/DTO/LogOutDTO.swift diff --git a/Projects/Data/AuthData/Sources/Model/Logout/Mapper/LogOutDTO+.swift b/Projects/Domain/AuthDomain/Sources/Model/Logout/Mapper/LogOutDTO+.swift similarity index 100% rename from Projects/Data/AuthData/Sources/Model/Logout/Mapper/LogOutDTO+.swift rename to Projects/Domain/AuthDomain/Sources/Model/Logout/Mapper/LogOutDTO+.swift diff --git a/Projects/Data/AuthData/Sources/Model/Token/DTO/TokenDTO.swift b/Projects/Domain/AuthDomain/Sources/Model/Token/DTO/TokenDTO.swift similarity index 100% rename from Projects/Data/AuthData/Sources/Model/Token/DTO/TokenDTO.swift rename to Projects/Domain/AuthDomain/Sources/Model/Token/DTO/TokenDTO.swift diff --git a/Projects/Data/AuthData/Sources/Model/Token/Mapper/TokenDTO+.swift b/Projects/Domain/AuthDomain/Sources/Model/Token/Mapper/TokenDTO+.swift similarity index 100% rename from Projects/Data/AuthData/Sources/Model/Token/Mapper/TokenDTO+.swift rename to Projects/Domain/AuthDomain/Sources/Model/Token/Mapper/TokenDTO+.swift diff --git a/Projects/Data/AuthData/Sources/Model/Withdraw/DTO/WithdrawDTO.swift b/Projects/Domain/AuthDomain/Sources/Model/Withdraw/DTO/WithdrawDTO.swift similarity index 100% rename from Projects/Data/AuthData/Sources/Model/Withdraw/DTO/WithdrawDTO.swift rename to Projects/Domain/AuthDomain/Sources/Model/Withdraw/DTO/WithdrawDTO.swift diff --git a/Projects/Data/AuthData/Sources/Model/Withdraw/Mapper/WithdrawDTO+.swift b/Projects/Domain/AuthDomain/Sources/Model/Withdraw/Mapper/WithdrawDTO+.swift similarity index 100% rename from Projects/Data/AuthData/Sources/Model/Withdraw/Mapper/WithdrawDTO+.swift rename to Projects/Domain/AuthDomain/Sources/Model/Withdraw/Mapper/WithdrawDTO+.swift diff --git a/Projects/Data/AuthData/Sources/RefreshToken/AccessTokenCredential.swift b/Projects/Domain/AuthDomain/Sources/RefreshToken/AccessTokenCredential.swift similarity index 99% rename from Projects/Data/AuthData/Sources/RefreshToken/AccessTokenCredential.swift rename to Projects/Domain/AuthDomain/Sources/RefreshToken/AccessTokenCredential.swift index d3b854a3..35964871 100644 --- a/Projects/Data/AuthData/Sources/RefreshToken/AccessTokenCredential.swift +++ b/Projects/Domain/AuthDomain/Sources/RefreshToken/AccessTokenCredential.swift @@ -1,6 +1,6 @@ // // AccessTokenCredential.swift -// AuthData +// AuthDomain // // Created by Wonji Suh on 5/14/26. // diff --git a/Projects/Data/AuthData/Sources/RefreshToken/AuthSessionManager.swift b/Projects/Domain/AuthDomain/Sources/RefreshToken/AuthSessionManager.swift similarity index 99% rename from Projects/Data/AuthData/Sources/RefreshToken/AuthSessionManager.swift rename to Projects/Domain/AuthDomain/Sources/RefreshToken/AuthSessionManager.swift index bea6ccc9..75c72385 100644 --- a/Projects/Data/AuthData/Sources/RefreshToken/AuthSessionManager.swift +++ b/Projects/Domain/AuthDomain/Sources/RefreshToken/AuthSessionManager.swift @@ -1,6 +1,6 @@ // // AuthSessionManager.swift -// AuthData +// AuthDomain // // Created by Wonji Suh on 5/14/26. // diff --git a/Projects/Data/AuthData/Sources/RefreshToken/OptimizedSessionManager.swift b/Projects/Domain/AuthDomain/Sources/RefreshToken/OptimizedSessionManager.swift similarity index 99% rename from Projects/Data/AuthData/Sources/RefreshToken/OptimizedSessionManager.swift rename to Projects/Domain/AuthDomain/Sources/RefreshToken/OptimizedSessionManager.swift index f66a822c..e1d6437a 100644 --- a/Projects/Data/AuthData/Sources/RefreshToken/OptimizedSessionManager.swift +++ b/Projects/Domain/AuthDomain/Sources/RefreshToken/OptimizedSessionManager.swift @@ -1,6 +1,6 @@ // // OptimizedSessionManager.swift -// AuthData +// AuthDomain // // Created by Wonji Suh on 5/14/26. // diff --git a/Projects/Data/AuthData/Sources/Repository/AuthRepositoryImpl.swift b/Projects/Domain/AuthDomain/Sources/Repository/AuthRepositoryImpl.swift similarity index 100% rename from Projects/Data/AuthData/Sources/Repository/AuthRepositoryImpl.swift rename to Projects/Domain/AuthDomain/Sources/Repository/AuthRepositoryImpl.swift diff --git a/Projects/Data/AuthData/Sources/Repository/Google/GoogleOAuthConfiguration.swift b/Projects/Domain/AuthDomain/Sources/Repository/Google/GoogleOAuthConfiguration.swift similarity index 100% rename from Projects/Data/AuthData/Sources/Repository/Google/GoogleOAuthConfiguration.swift rename to Projects/Domain/AuthDomain/Sources/Repository/Google/GoogleOAuthConfiguration.swift diff --git a/Projects/Data/AuthData/Sources/Repository/Google/GoogleOAuthRepositoryImpl.swift b/Projects/Domain/AuthDomain/Sources/Repository/Google/GoogleOAuthRepositoryImpl.swift similarity index 100% rename from Projects/Data/AuthData/Sources/Repository/Google/GoogleOAuthRepositoryImpl.swift rename to Projects/Domain/AuthDomain/Sources/Repository/Google/GoogleOAuthRepositoryImpl.swift diff --git a/Projects/Data/AuthData/Sources/Repository/OAuth/Apple/AppleLoginRepositoryImpl.swift b/Projects/Domain/AuthDomain/Sources/Repository/OAuth/Apple/AppleLoginRepositoryImpl.swift similarity index 100% rename from Projects/Data/AuthData/Sources/Repository/OAuth/Apple/AppleLoginRepositoryImpl.swift rename to Projects/Domain/AuthDomain/Sources/Repository/OAuth/Apple/AppleLoginRepositoryImpl.swift diff --git a/Projects/Data/AuthData/Sources/Repository/OAuth/Apple/AppleOAuthRepositoryImpl.swift b/Projects/Domain/AuthDomain/Sources/Repository/OAuth/Apple/AppleOAuthRepositoryImpl.swift similarity index 100% rename from Projects/Data/AuthData/Sources/Repository/OAuth/Apple/AppleOAuthRepositoryImpl.swift rename to Projects/Domain/AuthDomain/Sources/Repository/OAuth/Apple/AppleOAuthRepositoryImpl.swift diff --git a/Projects/Data/AuthData/Sources/Repository/OAuth/AuthPresentationContextProvider.swift b/Projects/Domain/AuthDomain/Sources/Repository/OAuth/AuthPresentationContextProvider.swift similarity index 98% rename from Projects/Data/AuthData/Sources/Repository/OAuth/AuthPresentationContextProvider.swift rename to Projects/Domain/AuthDomain/Sources/Repository/OAuth/AuthPresentationContextProvider.swift index 80fa3860..e8a8bbf8 100644 --- a/Projects/Data/AuthData/Sources/Repository/OAuth/AuthPresentationContextProvider.swift +++ b/Projects/Domain/AuthDomain/Sources/Repository/OAuth/AuthPresentationContextProvider.swift @@ -1,6 +1,6 @@ // // AuthPresentationContextProvider.swift -// AuthData +// AuthDomain // // Created by Wonji Suh on 5/14/26. // diff --git a/Projects/Data/AuthData/Sources/Repository/OAuth/Google/GoogleLoginManager.swift b/Projects/Domain/AuthDomain/Sources/Repository/OAuth/Google/GoogleLoginManager.swift similarity index 100% rename from Projects/Data/AuthData/Sources/Repository/OAuth/Google/GoogleLoginManager.swift rename to Projects/Domain/AuthDomain/Sources/Repository/OAuth/Google/GoogleLoginManager.swift diff --git a/Projects/Data/AuthData/Sources/Repository/OAuth/Kakao/KakaoOAuthRepository.swift b/Projects/Domain/AuthDomain/Sources/Repository/OAuth/Kakao/KakaoOAuthRepository.swift similarity index 100% rename from Projects/Data/AuthData/Sources/Repository/OAuth/Kakao/KakaoOAuthRepository.swift rename to Projects/Domain/AuthDomain/Sources/Repository/OAuth/Kakao/KakaoOAuthRepository.swift diff --git a/Projects/Data/AuthData/Sources/Repository/OAuth/Web/OAuthWebViewController.swift b/Projects/Domain/AuthDomain/Sources/Repository/OAuth/Web/OAuthWebViewController.swift similarity index 100% rename from Projects/Data/AuthData/Sources/Repository/OAuth/Web/OAuthWebViewController.swift rename to Projects/Domain/AuthDomain/Sources/Repository/OAuth/Web/OAuthWebViewController.swift diff --git a/Projects/Data/AuthData/Tests/AuthRepositoryTests.swift b/Projects/Domain/AuthDomain/Tests/AuthRepositoryTests.swift similarity index 100% rename from Projects/Data/AuthData/Tests/AuthRepositoryTests.swift rename to Projects/Domain/AuthDomain/Tests/AuthRepositoryTests.swift diff --git a/Projects/Data/AuthData/Tests/AuthRequestMappingTests.swift b/Projects/Domain/AuthDomain/Tests/AuthRequestMappingTests.swift similarity index 100% rename from Projects/Data/AuthData/Tests/AuthRequestMappingTests.swift rename to Projects/Domain/AuthDomain/Tests/AuthRequestMappingTests.swift diff --git a/Projects/Data/AuthData/Tests/TestSupport.swift b/Projects/Domain/AuthDomain/Tests/TestSupport.swift similarity index 100% rename from Projects/Data/AuthData/Tests/TestSupport.swift rename to Projects/Domain/AuthDomain/Tests/TestSupport.swift diff --git a/Projects/Domain/BattleDomain/Project.swift b/Projects/Domain/BattleDomain/Project.swift index e9bbd852..5ced537c 100644 --- a/Projects/Domain/BattleDomain/Project.swift +++ b/Projects/Domain/BattleDomain/Project.swift @@ -9,9 +9,15 @@ let project = Project.configure( bundleId: .appBundleID(name: ".BattleDomain"), settings: .settings(), dependencies: [ - .SPM.weaveDI, .SPM.composableArchitecture, + .domain(.home, .interface), + .service(.api), + .data(.model), + .service(.apiEndpoint), + .network(implements: .networkModule), + .network(implements: .networkHeader), + .SPM.logMarco, ], interfaceDependencies: [ .domain(.home, .interface), diff --git a/Projects/Domain/BattleDomain/Sources/BattleLiveDependencies.swift b/Projects/Domain/BattleDomain/Sources/BattleLiveDependencies.swift index caabc91b..101c2591 100644 --- a/Projects/Domain/BattleDomain/Sources/BattleLiveDependencies.swift +++ b/Projects/Domain/BattleDomain/Sources/BattleLiveDependencies.swift @@ -11,3 +11,7 @@ import ComposableArchitecture extension BattleUseCaseDependency: DependencyKey { public static var liveValue: BattleInterface { BattleUseCaseImpl() } } + +extension BattleRepositoryDependency: DependencyKey { + public static var liveValue: BattleInterface { BattleRepositoryImpl() } +} diff --git a/Projects/Data/BattleData/Sources/Repository/BattleRepositoryImpl.swift b/Projects/Domain/BattleDomain/Sources/Repository/BattleRepositoryImpl.swift similarity index 100% rename from Projects/Data/BattleData/Sources/Repository/BattleRepositoryImpl.swift rename to Projects/Domain/BattleDomain/Sources/Repository/BattleRepositoryImpl.swift diff --git a/Projects/Data/BattleData/Tests/BattleRepositoryTests.swift b/Projects/Domain/BattleDomain/Tests/BattleRepositoryTests.swift similarity index 100% rename from Projects/Data/BattleData/Tests/BattleRepositoryTests.swift rename to Projects/Domain/BattleDomain/Tests/BattleRepositoryTests.swift diff --git a/Projects/Data/BattleData/Tests/BattleRequestMappingTests.swift b/Projects/Domain/BattleDomain/Tests/BattleRequestMappingTests.swift similarity index 100% rename from Projects/Data/BattleData/Tests/BattleRequestMappingTests.swift rename to Projects/Domain/BattleDomain/Tests/BattleRequestMappingTests.swift diff --git a/Projects/Data/BattleData/Tests/TestSupport.swift b/Projects/Domain/BattleDomain/Tests/TestSupport.swift similarity index 100% rename from Projects/Data/BattleData/Tests/TestSupport.swift rename to Projects/Domain/BattleDomain/Tests/TestSupport.swift diff --git a/Projects/Domain/CommentDomain/Project.swift b/Projects/Domain/CommentDomain/Project.swift index 0be4a0c4..fede0f45 100644 --- a/Projects/Domain/CommentDomain/Project.swift +++ b/Projects/Domain/CommentDomain/Project.swift @@ -12,6 +12,12 @@ let project = Project.configure( .domain(.battle, .interface), .SPM.weaveDI, .SPM.composableArchitecture, + .service(.api), + .data(.model), + .service(.apiEndpoint), + .network(implements: .networkModule), + .network(implements: .networkHeader), + .SPM.logMarco, ], interfaceDependencies: [ .domain(.battle, .interface), diff --git a/Projects/Domain/CommentDomain/Sources/CommentLiveDependencies.swift b/Projects/Domain/CommentDomain/Sources/CommentLiveDependencies.swift index b1d56490..e2ba8015 100644 --- a/Projects/Domain/CommentDomain/Sources/CommentLiveDependencies.swift +++ b/Projects/Domain/CommentDomain/Sources/CommentLiveDependencies.swift @@ -11,3 +11,7 @@ import ComposableArchitecture extension CommentUseCaseDependency: DependencyKey { public static var liveValue: CommentInterface { CommentUseCaseImpl() } } + +extension CommentRepositoryDependency: DependencyKey { + public static var liveValue: CommentInterface { CommentRepositoryImpl() } +} diff --git a/Projects/Data/CommentData/Sources/Repository/CommentRepositoryImpl.swift b/Projects/Domain/CommentDomain/Sources/Repository/CommentRepositoryImpl.swift similarity index 100% rename from Projects/Data/CommentData/Sources/Repository/CommentRepositoryImpl.swift rename to Projects/Domain/CommentDomain/Sources/Repository/CommentRepositoryImpl.swift diff --git a/Projects/Data/CommentData/Tests/CommentRepositoryTests.swift b/Projects/Domain/CommentDomain/Tests/CommentRepositoryTests.swift similarity index 100% rename from Projects/Data/CommentData/Tests/CommentRepositoryTests.swift rename to Projects/Domain/CommentDomain/Tests/CommentRepositoryTests.swift diff --git a/Projects/Data/CommentData/Tests/CommentRequestMappingTests.swift b/Projects/Domain/CommentDomain/Tests/CommentRequestMappingTests.swift similarity index 100% rename from Projects/Data/CommentData/Tests/CommentRequestMappingTests.swift rename to Projects/Domain/CommentDomain/Tests/CommentRequestMappingTests.swift diff --git a/Projects/Data/CommentData/Tests/TestSupport.swift b/Projects/Domain/CommentDomain/Tests/TestSupport.swift similarity index 100% rename from Projects/Data/CommentData/Tests/TestSupport.swift rename to Projects/Domain/CommentDomain/Tests/TestSupport.swift diff --git a/Projects/Domain/HomeDomain/Project.swift b/Projects/Domain/HomeDomain/Project.swift index 2bbc6f64..e1cf24d4 100644 --- a/Projects/Domain/HomeDomain/Project.swift +++ b/Projects/Domain/HomeDomain/Project.swift @@ -11,6 +11,13 @@ let project = Project.configure( dependencies: [ .SPM.weaveDI, .SPM.composableArchitecture, + .domain(.auth, .interface), + .service(.api), + .data(.model), + .service(.apiEndpoint), + .network(implements: .networkModule), + .network(implements: .networkHeader), + .SPM.logMarco, ], interfaceDependencies: [ .SPM.weaveDI, diff --git a/Projects/Domain/HomeDomain/Sources/HomeLiveDependencies.swift b/Projects/Domain/HomeDomain/Sources/HomeLiveDependencies.swift index f9f5ac7c..589f6987 100644 --- a/Projects/Domain/HomeDomain/Sources/HomeLiveDependencies.swift +++ b/Projects/Domain/HomeDomain/Sources/HomeLiveDependencies.swift @@ -11,3 +11,7 @@ import ComposableArchitecture extension HomeUseCaseDependency: DependencyKey { public static var liveValue: HomeInterface { HomeUseCaseImpl() } } + +extension HomeRepositoryDependency: DependencyKey { + public static var liveValue: HomeInterface { HomeRepositoryImpl() } +} diff --git a/Projects/Data/HomeData/Sources/Model/HomeDataDTO+.swift b/Projects/Domain/HomeDomain/Sources/Model/HomeDataDTO+.swift similarity index 100% rename from Projects/Data/HomeData/Sources/Model/HomeDataDTO+.swift rename to Projects/Domain/HomeDomain/Sources/Model/HomeDataDTO+.swift diff --git a/Projects/Data/HomeData/Sources/Model/HomeDataDTO.swift b/Projects/Domain/HomeDomain/Sources/Model/HomeDataDTO.swift similarity index 100% rename from Projects/Data/HomeData/Sources/Model/HomeDataDTO.swift rename to Projects/Domain/HomeDomain/Sources/Model/HomeDataDTO.swift diff --git a/Projects/Data/HomeData/Sources/Repository/HomeRepositoryImpl.swift b/Projects/Domain/HomeDomain/Sources/Repository/HomeRepositoryImpl.swift similarity index 100% rename from Projects/Data/HomeData/Sources/Repository/HomeRepositoryImpl.swift rename to Projects/Domain/HomeDomain/Sources/Repository/HomeRepositoryImpl.swift diff --git a/Projects/Data/HomeData/Tests/HomeRepositoryTests.swift b/Projects/Domain/HomeDomain/Tests/HomeRepositoryTests.swift similarity index 100% rename from Projects/Data/HomeData/Tests/HomeRepositoryTests.swift rename to Projects/Domain/HomeDomain/Tests/HomeRepositoryTests.swift diff --git a/Projects/Data/HomeData/Tests/HomeRequestMappingTests.swift b/Projects/Domain/HomeDomain/Tests/HomeRequestMappingTests.swift similarity index 100% rename from Projects/Data/HomeData/Tests/HomeRequestMappingTests.swift rename to Projects/Domain/HomeDomain/Tests/HomeRequestMappingTests.swift diff --git a/Projects/Data/HomeData/Tests/TestSupport.swift b/Projects/Domain/HomeDomain/Tests/TestSupport.swift similarity index 100% rename from Projects/Data/HomeData/Tests/TestSupport.swift rename to Projects/Domain/HomeDomain/Tests/TestSupport.swift diff --git a/Projects/Domain/NotificationDomain/Project.swift b/Projects/Domain/NotificationDomain/Project.swift index 97cd5235..34835d83 100644 --- a/Projects/Domain/NotificationDomain/Project.swift +++ b/Projects/Domain/NotificationDomain/Project.swift @@ -11,6 +11,12 @@ let project = Project.configure( dependencies: [ .SPM.weaveDI, .SPM.composableArchitecture, + .service(.api), + .data(.model), + .service(.apiEndpoint), + .network(implements: .networkModule), + .network(implements: .networkHeader), + .SPM.logMarco, ], interfaceDependencies: [ .SPM.weaveDI, diff --git a/Projects/Data/NotificationData/Sources/Model/DTO/NotificationDataDTO.swift b/Projects/Domain/NotificationDomain/Sources/Model/DTO/NotificationDataDTO.swift similarity index 100% rename from Projects/Data/NotificationData/Sources/Model/DTO/NotificationDataDTO.swift rename to Projects/Domain/NotificationDomain/Sources/Model/DTO/NotificationDataDTO.swift diff --git a/Projects/Data/NotificationData/Sources/Model/Mapper/NotificationDataDTO+.swift b/Projects/Domain/NotificationDomain/Sources/Model/Mapper/NotificationDataDTO+.swift similarity index 100% rename from Projects/Data/NotificationData/Sources/Model/Mapper/NotificationDataDTO+.swift rename to Projects/Domain/NotificationDomain/Sources/Model/Mapper/NotificationDataDTO+.swift diff --git a/Projects/Domain/NotificationDomain/Sources/NotificationLiveDependencies.swift b/Projects/Domain/NotificationDomain/Sources/NotificationLiveDependencies.swift index b10f5a66..8aa419fd 100644 --- a/Projects/Domain/NotificationDomain/Sources/NotificationLiveDependencies.swift +++ b/Projects/Domain/NotificationDomain/Sources/NotificationLiveDependencies.swift @@ -11,3 +11,7 @@ import ComposableArchitecture extension NotificationUseCaseDependency: DependencyKey { public static var liveValue: NotificationInterface { NotificationUseCaseImpl() } } + +extension NotificationRepositoryDependency: DependencyKey { + public static var liveValue: NotificationInterface { NotificationRepositoryImpl() } +} diff --git a/Projects/Data/NotificationData/Sources/Repository/NotificationRepositoryImpl.swift b/Projects/Domain/NotificationDomain/Sources/Repository/NotificationRepositoryImpl.swift similarity index 100% rename from Projects/Data/NotificationData/Sources/Repository/NotificationRepositoryImpl.swift rename to Projects/Domain/NotificationDomain/Sources/Repository/NotificationRepositoryImpl.swift diff --git a/Projects/Data/NotificationData/Tests/NotificationRepositoryTests.swift b/Projects/Domain/NotificationDomain/Tests/NotificationRepositoryTests.swift similarity index 100% rename from Projects/Data/NotificationData/Tests/NotificationRepositoryTests.swift rename to Projects/Domain/NotificationDomain/Tests/NotificationRepositoryTests.swift diff --git a/Projects/Data/NotificationData/Tests/NotificationRequestMappingTests.swift b/Projects/Domain/NotificationDomain/Tests/NotificationRequestMappingTests.swift similarity index 100% rename from Projects/Data/NotificationData/Tests/NotificationRequestMappingTests.swift rename to Projects/Domain/NotificationDomain/Tests/NotificationRequestMappingTests.swift diff --git a/Projects/Data/NotificationData/Tests/TestSupport.swift b/Projects/Domain/NotificationDomain/Tests/TestSupport.swift similarity index 100% rename from Projects/Data/NotificationData/Tests/TestSupport.swift rename to Projects/Domain/NotificationDomain/Tests/TestSupport.swift diff --git a/Projects/Domain/PerspectiveDomain/Project.swift b/Projects/Domain/PerspectiveDomain/Project.swift index 14e5c097..44b0611c 100644 --- a/Projects/Domain/PerspectiveDomain/Project.swift +++ b/Projects/Domain/PerspectiveDomain/Project.swift @@ -13,6 +13,12 @@ let project = Project.configure( .domain(.comment, .interface), .SPM.weaveDI, .SPM.composableArchitecture, + .service(.api), + .data(.model), + .service(.apiEndpoint), + .network(implements: .networkModule), + .network(implements: .networkHeader), + .SPM.logMarco, ], interfaceDependencies: [ .domain(.battle, .interface), diff --git a/Projects/Domain/PerspectiveDomain/Sources/PerspectiveLiveDependencies.swift b/Projects/Domain/PerspectiveDomain/Sources/PerspectiveLiveDependencies.swift index 2d9839b7..b07ae883 100644 --- a/Projects/Domain/PerspectiveDomain/Sources/PerspectiveLiveDependencies.swift +++ b/Projects/Domain/PerspectiveDomain/Sources/PerspectiveLiveDependencies.swift @@ -11,3 +11,7 @@ import ComposableArchitecture extension PerspectiveUseCaseDependency: DependencyKey { public static var liveValue: PerspectiveInterface { PerspectiveUseCaseImpl() } } + +extension PerspectiveRepositoryDependency: DependencyKey { + public static var liveValue: PerspectiveInterface { PerspectiveRepositoryImpl() } +} diff --git a/Projects/Data/PerspectiveData/Sources/Repository/PerspectiveRepositoryImpl.swift b/Projects/Domain/PerspectiveDomain/Sources/Repository/PerspectiveRepositoryImpl.swift similarity index 100% rename from Projects/Data/PerspectiveData/Sources/Repository/PerspectiveRepositoryImpl.swift rename to Projects/Domain/PerspectiveDomain/Sources/Repository/PerspectiveRepositoryImpl.swift diff --git a/Projects/Data/PerspectiveData/Tests/PerspectiveRepositoryTests.swift b/Projects/Domain/PerspectiveDomain/Tests/PerspectiveRepositoryTests.swift similarity index 100% rename from Projects/Data/PerspectiveData/Tests/PerspectiveRepositoryTests.swift rename to Projects/Domain/PerspectiveDomain/Tests/PerspectiveRepositoryTests.swift diff --git a/Projects/Data/PerspectiveData/Tests/PerspectiveRequestMappingTests.swift b/Projects/Domain/PerspectiveDomain/Tests/PerspectiveRequestMappingTests.swift similarity index 100% rename from Projects/Data/PerspectiveData/Tests/PerspectiveRequestMappingTests.swift rename to Projects/Domain/PerspectiveDomain/Tests/PerspectiveRequestMappingTests.swift diff --git a/Projects/Data/PerspectiveData/Tests/TestSupport.swift b/Projects/Domain/PerspectiveDomain/Tests/TestSupport.swift similarity index 100% rename from Projects/Data/PerspectiveData/Tests/TestSupport.swift rename to Projects/Domain/PerspectiveDomain/Tests/TestSupport.swift diff --git a/Projects/Domain/ProfileDomain/Project.swift b/Projects/Domain/ProfileDomain/Project.swift index 15f54892..eab71aa0 100644 --- a/Projects/Domain/ProfileDomain/Project.swift +++ b/Projects/Domain/ProfileDomain/Project.swift @@ -11,6 +11,12 @@ let project = Project.configure( settings: .settings(), dependencies: [ .SPM.composableArchitecture, + .service(.api), + .data(.model), + .service(.apiEndpoint), + .network(implements: .networkModule), + .network(implements: .networkHeader), + .SPM.logMarco, ], interfaceDependencies: [ .SPM.weaveDI, diff --git a/Projects/Data/ProfileData/Sources/Model/DTO/BattleRecordDataDTO.swift b/Projects/Domain/ProfileDomain/Sources/Model/DTO/BattleRecordDataDTO.swift similarity index 100% rename from Projects/Data/ProfileData/Sources/Model/DTO/BattleRecordDataDTO.swift rename to Projects/Domain/ProfileDomain/Sources/Model/DTO/BattleRecordDataDTO.swift diff --git a/Projects/Data/ProfileData/Sources/Model/DTO/ContentActivityDataDTO.swift b/Projects/Domain/ProfileDomain/Sources/Model/DTO/ContentActivityDataDTO.swift similarity index 100% rename from Projects/Data/ProfileData/Sources/Model/DTO/ContentActivityDataDTO.swift rename to Projects/Domain/ProfileDomain/Sources/Model/DTO/ContentActivityDataDTO.swift diff --git a/Projects/Data/ProfileData/Sources/Model/DTO/CreditHistoryDataDTO.swift b/Projects/Domain/ProfileDomain/Sources/Model/DTO/CreditHistoryDataDTO.swift similarity index 100% rename from Projects/Data/ProfileData/Sources/Model/DTO/CreditHistoryDataDTO.swift rename to Projects/Domain/ProfileDomain/Sources/Model/DTO/CreditHistoryDataDTO.swift diff --git a/Projects/Data/ProfileData/Sources/Model/DTO/MyPageDataDTO.swift b/Projects/Domain/ProfileDomain/Sources/Model/DTO/MyPageDataDTO.swift similarity index 100% rename from Projects/Data/ProfileData/Sources/Model/DTO/MyPageDataDTO.swift rename to Projects/Domain/ProfileDomain/Sources/Model/DTO/MyPageDataDTO.swift diff --git a/Projects/Data/ProfileData/Sources/Model/DTO/NotificationSettingsDataDTO.swift b/Projects/Domain/ProfileDomain/Sources/Model/DTO/NotificationSettingsDataDTO.swift similarity index 100% rename from Projects/Data/ProfileData/Sources/Model/DTO/NotificationSettingsDataDTO.swift rename to Projects/Domain/ProfileDomain/Sources/Model/DTO/NotificationSettingsDataDTO.swift diff --git a/Projects/Data/ProfileData/Sources/Model/DTO/ProfileUpdateDataDTO.swift b/Projects/Domain/ProfileDomain/Sources/Model/DTO/ProfileUpdateDataDTO.swift similarity index 94% rename from Projects/Data/ProfileData/Sources/Model/DTO/ProfileUpdateDataDTO.swift rename to Projects/Domain/ProfileDomain/Sources/Model/DTO/ProfileUpdateDataDTO.swift index 4da385b5..c080a576 100644 --- a/Projects/Data/ProfileData/Sources/Model/DTO/ProfileUpdateDataDTO.swift +++ b/Projects/Domain/ProfileDomain/Sources/Model/DTO/ProfileUpdateDataDTO.swift @@ -1,6 +1,6 @@ // // ProfileUpdateDataDTO.swift -// ProfileData +// ProfileDomain // import Foundation diff --git a/Projects/Data/ProfileData/Sources/Model/DTO/RecapDataDTO.swift b/Projects/Domain/ProfileDomain/Sources/Model/DTO/RecapDataDTO.swift similarity index 100% rename from Projects/Data/ProfileData/Sources/Model/DTO/RecapDataDTO.swift rename to Projects/Domain/ProfileDomain/Sources/Model/DTO/RecapDataDTO.swift diff --git a/Projects/Data/ProfileData/Sources/Model/Mapper/BattleRecordDataDTO+.swift b/Projects/Domain/ProfileDomain/Sources/Model/Mapper/BattleRecordDataDTO+.swift similarity index 100% rename from Projects/Data/ProfileData/Sources/Model/Mapper/BattleRecordDataDTO+.swift rename to Projects/Domain/ProfileDomain/Sources/Model/Mapper/BattleRecordDataDTO+.swift diff --git a/Projects/Data/ProfileData/Sources/Model/Mapper/ContentActivityDataDTO+.swift b/Projects/Domain/ProfileDomain/Sources/Model/Mapper/ContentActivityDataDTO+.swift similarity index 100% rename from Projects/Data/ProfileData/Sources/Model/Mapper/ContentActivityDataDTO+.swift rename to Projects/Domain/ProfileDomain/Sources/Model/Mapper/ContentActivityDataDTO+.swift diff --git a/Projects/Data/ProfileData/Sources/Model/Mapper/CreditHistoryDataDTO+.swift b/Projects/Domain/ProfileDomain/Sources/Model/Mapper/CreditHistoryDataDTO+.swift similarity index 100% rename from Projects/Data/ProfileData/Sources/Model/Mapper/CreditHistoryDataDTO+.swift rename to Projects/Domain/ProfileDomain/Sources/Model/Mapper/CreditHistoryDataDTO+.swift diff --git a/Projects/Data/ProfileData/Sources/Model/Mapper/MyPageDataDTO+.swift b/Projects/Domain/ProfileDomain/Sources/Model/Mapper/MyPageDataDTO+.swift similarity index 100% rename from Projects/Data/ProfileData/Sources/Model/Mapper/MyPageDataDTO+.swift rename to Projects/Domain/ProfileDomain/Sources/Model/Mapper/MyPageDataDTO+.swift diff --git a/Projects/Data/ProfileData/Sources/Model/Mapper/NotificationSettingsDataDTO+.swift b/Projects/Domain/ProfileDomain/Sources/Model/Mapper/NotificationSettingsDataDTO+.swift similarity index 100% rename from Projects/Data/ProfileData/Sources/Model/Mapper/NotificationSettingsDataDTO+.swift rename to Projects/Domain/ProfileDomain/Sources/Model/Mapper/NotificationSettingsDataDTO+.swift diff --git a/Projects/Data/ProfileData/Sources/Model/Mapper/ProfileUpdateDataDTO+.swift b/Projects/Domain/ProfileDomain/Sources/Model/Mapper/ProfileUpdateDataDTO+.swift similarity index 94% rename from Projects/Data/ProfileData/Sources/Model/Mapper/ProfileUpdateDataDTO+.swift rename to Projects/Domain/ProfileDomain/Sources/Model/Mapper/ProfileUpdateDataDTO+.swift index 299c7143..bed85ce3 100644 --- a/Projects/Data/ProfileData/Sources/Model/Mapper/ProfileUpdateDataDTO+.swift +++ b/Projects/Domain/ProfileDomain/Sources/Model/Mapper/ProfileUpdateDataDTO+.swift @@ -1,6 +1,6 @@ // // ProfileUpdateDataDTO+.swift -// ProfileData +// ProfileDomain // import Foundation diff --git a/Projects/Data/ProfileData/Sources/Model/Mapper/RecapDataDTO+.swift b/Projects/Domain/ProfileDomain/Sources/Model/Mapper/RecapDataDTO+.swift similarity index 100% rename from Projects/Data/ProfileData/Sources/Model/Mapper/RecapDataDTO+.swift rename to Projects/Domain/ProfileDomain/Sources/Model/Mapper/RecapDataDTO+.swift diff --git a/Projects/Domain/ProfileDomain/Sources/ProfileLiveDependencies.swift b/Projects/Domain/ProfileDomain/Sources/ProfileLiveDependencies.swift index 16dd59fc..31ccdb53 100644 --- a/Projects/Domain/ProfileDomain/Sources/ProfileLiveDependencies.swift +++ b/Projects/Domain/ProfileDomain/Sources/ProfileLiveDependencies.swift @@ -11,3 +11,7 @@ import ComposableArchitecture extension ProfileUseCaseDependency: DependencyKey { public static var liveValue: ProfileInterface { ProfileUseCaseImpl() } } + +extension ProfileRepositoryDependency: DependencyKey { + public static var liveValue: ProfileInterface { ProfileRepositoryImpl() } +} diff --git a/Projects/Data/ProfileData/Sources/Repository/ProfileRepositoryImpl.swift b/Projects/Domain/ProfileDomain/Sources/Repository/ProfileRepositoryImpl.swift similarity index 100% rename from Projects/Data/ProfileData/Sources/Repository/ProfileRepositoryImpl.swift rename to Projects/Domain/ProfileDomain/Sources/Repository/ProfileRepositoryImpl.swift diff --git a/Projects/Data/ProfileData/Tests/ProfileRepositoryTests.swift b/Projects/Domain/ProfileDomain/Tests/ProfileRepositoryTests.swift similarity index 100% rename from Projects/Data/ProfileData/Tests/ProfileRepositoryTests.swift rename to Projects/Domain/ProfileDomain/Tests/ProfileRepositoryTests.swift diff --git a/Projects/Data/ProfileData/Tests/ProfileRequestMappingTests.swift b/Projects/Domain/ProfileDomain/Tests/ProfileRequestMappingTests.swift similarity index 100% rename from Projects/Data/ProfileData/Tests/ProfileRequestMappingTests.swift rename to Projects/Domain/ProfileDomain/Tests/ProfileRequestMappingTests.swift diff --git a/Projects/Data/ProfileData/Tests/TestSupport.swift b/Projects/Domain/ProfileDomain/Tests/TestSupport.swift similarity index 100% rename from Projects/Data/ProfileData/Tests/TestSupport.swift rename to Projects/Domain/ProfileDomain/Tests/TestSupport.swift diff --git a/Projects/Domain/SearchDomain/Project.swift b/Projects/Domain/SearchDomain/Project.swift index 91e4af4b..d9510b64 100644 --- a/Projects/Domain/SearchDomain/Project.swift +++ b/Projects/Domain/SearchDomain/Project.swift @@ -11,9 +11,15 @@ let project = Project.configure( settings: .settings(), dependencies: [ .domain(.home, .interface), - .SPM.weaveDI, .SPM.composableArchitecture, + .domain(.battle, .interface), + .service(.api), + .service(.apiEndpoint), + .data(.model), + .network(implements: .networkModule), + .network(implements: .networkHeader), + .SPM.logMarco, ], interfaceDependencies: [ .domain(.home, .interface), diff --git a/Projects/Data/SearchData/Sources/SearchBattleDataDTO+.swift b/Projects/Domain/SearchDomain/Sources/SearchBattleDataDTO+.swift similarity index 100% rename from Projects/Data/SearchData/Sources/SearchBattleDataDTO+.swift rename to Projects/Domain/SearchDomain/Sources/SearchBattleDataDTO+.swift diff --git a/Projects/Data/SearchData/Sources/SearchBattleDataDTO.swift b/Projects/Domain/SearchDomain/Sources/SearchBattleDataDTO.swift similarity index 100% rename from Projects/Data/SearchData/Sources/SearchBattleDataDTO.swift rename to Projects/Domain/SearchDomain/Sources/SearchBattleDataDTO.swift diff --git a/Projects/Domain/SearchDomain/Sources/SearchLiveDependencies.swift b/Projects/Domain/SearchDomain/Sources/SearchLiveDependencies.swift index f02c9f00..34f51845 100644 --- a/Projects/Domain/SearchDomain/Sources/SearchLiveDependencies.swift +++ b/Projects/Domain/SearchDomain/Sources/SearchLiveDependencies.swift @@ -11,3 +11,7 @@ import ComposableArchitecture extension SearchUseCaseDependency: DependencyKey { public static var liveValue: SearchInterface { SearchUseCaseImpl() } } + +extension SearchRepositoryDependency: DependencyKey { + public static var liveValue: SearchInterface { SearchRepositoryImpl() } +} diff --git a/Projects/Data/SearchData/Sources/SearchRepositoryImpl.swift b/Projects/Domain/SearchDomain/Sources/SearchRepositoryImpl.swift similarity index 100% rename from Projects/Data/SearchData/Sources/SearchRepositoryImpl.swift rename to Projects/Domain/SearchDomain/Sources/SearchRepositoryImpl.swift diff --git a/Projects/Data/SearchData/Tests/SearchRepositoryTests.swift b/Projects/Domain/SearchDomain/Tests/SearchRepositoryTests.swift similarity index 100% rename from Projects/Data/SearchData/Tests/SearchRepositoryTests.swift rename to Projects/Domain/SearchDomain/Tests/SearchRepositoryTests.swift diff --git a/Projects/Data/SearchData/Tests/SearchRequestMappingTests.swift b/Projects/Domain/SearchDomain/Tests/SearchRequestMappingTests.swift similarity index 100% rename from Projects/Data/SearchData/Tests/SearchRequestMappingTests.swift rename to Projects/Domain/SearchDomain/Tests/SearchRequestMappingTests.swift diff --git a/Projects/Data/SearchData/Tests/TestSupport.swift b/Projects/Domain/SearchDomain/Tests/TestSupport.swift similarity index 100% rename from Projects/Data/SearchData/Tests/TestSupport.swift rename to Projects/Domain/SearchDomain/Tests/TestSupport.swift From 1d5720052dc2f39f6cc67b3deea890b3c58988d0 Mon Sep 17 00:00:00 2001 From: Roy Date: Sun, 6 Sep 2026 21:52:08 +0900 Subject: [PATCH 34/83] =?UTF-8?q?refactor(core):=20Network=205=EB=AA=A8?= =?UTF-8?q?=EB=93=88=EC=9D=84=20Core/PickeNetwork=20=ED=95=98=EB=82=98?= =?UTF-8?q?=EB=A1=9C=20=ED=95=A9=EC=B9=9C=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit DDD 는 네트워크를 Core/DDDNetwork 단일 모듈로 두고 계약(Interface)과 구현 (Sources)만 가른다. Picke 는 같은 14개 파일을 NetworkModule·NetworkHeader· NetworkToken·Networking·ThirdPartys 다섯으로 쪼개 두고 있었다. - Interface: Auth(TokenProviding) / Client(NetworkProviding) / Endpoint(PickeTargetType) / Header(APIHeader) - Sources: Client / Factory / Header / Monitor Networking 과 ThirdPartys 는 매니페스트 참조도 import 도 0건이라 지운다. 남아 있던 재수출 껍데기 세 개도 단일 모듈이 되면서 필요 없어졌다. 호출부는 계약만 필요하면 .core(.network, .interface), 구현이 필요하면 .core(.network) 로 나뉜다. import 는 54개 파일에서 갈아끼웠다. 빌드 검증은 아직 하지 않았다. tuist generate 는 통과했다. --- .../TargetDependency+Module/Modules.swift | 19 +---------------- .../Path+Modules.swift | 3 --- .../TargetDependency+Modules.swift | 3 --- Projects/App/Project.swift | 4 ++-- .../KingfisherConfigurator.swift | 2 +- .../Delegate/AppDelegate+Configure.swift | 2 +- .../App/Sources/Di/AppDependencyFactory.swift | 2 +- .../Sources/Di/KeychainTokenProvider.swift | 3 +-- Projects/Core/CoreAssembly/Project.swift | 1 + .../Exported/CoreAssemblyExported.swift | 1 + .../Interface/Auth}/TokenProviding.swift | 2 +- .../Interface/Client}/NetworkProviding.swift | 3 +-- .../Interface/Endpoint}/PickeTargetType.swift | 2 +- .../Interface/Header}/APIHeader.swift | 3 +-- .../PickeNetwork}/Project.swift | 21 +++++++++++++------ .../Client}/AlamofireNetworkProvider.swift | 4 ++-- .../Exported/PickeNetworkExported.swift | 8 +++++++ .../Factory}/NetworkSessionRegistry.swift | 4 ++-- .../Sources/Factory}/SessionFactory.swift | 4 ++-- .../Sources/Header}/APIHeaderManger.swift | 2 +- .../Sources/Monitor}/NetworkTelemetry.swift | 0 .../Sources/Monitor}/PickeEventMonitor.swift | 2 +- .../Testing/PickeNetworkTesting.swift | 6 ++++++ .../Tests/Sources/PickeNetworkTests.swift | 16 ++++++++++++++ Projects/Domain/AppUpdateDomain/Project.swift | 2 +- .../Repository/AppUpdateRepositoryImpl.swift | 2 +- .../Domain/AttendanceDomain/Project.swift | 4 ++-- .../Repository/AttendanceRepositoryImpl.swift | 2 +- .../AttendanceDomain/Tests/TestSupport.swift | 3 +-- Projects/Domain/AuthDomain/Project.swift | 4 ++-- .../OptimizedSessionManager.swift | 2 +- .../Repository/AuthRepositoryImpl.swift | 2 +- .../Tests/AuthRequestMappingTests.swift | 2 +- .../Domain/AuthDomain/Tests/TestSupport.swift | 3 +-- Projects/Domain/BattleDomain/Project.swift | 4 ++-- .../Repository/BattleRepositoryImpl.swift | 2 +- .../Tests/BattleRequestMappingTests.swift | 2 +- .../BattleDomain/Tests/TestSupport.swift | 3 +-- Projects/Domain/CommentDomain/Project.swift | 4 ++-- .../Repository/CommentRepositoryImpl.swift | 2 +- .../Tests/CommentRequestMappingTests.swift | 2 +- .../CommentDomain/Tests/TestSupport.swift | 3 +-- Projects/Domain/HomeDomain/Project.swift | 4 ++-- .../Repository/HomeRepositoryImpl.swift | 2 +- .../Tests/HomeRequestMappingTests.swift | 2 +- .../Domain/HomeDomain/Tests/TestSupport.swift | 3 +-- .../Domain/NotificationDomain/Project.swift | 4 ++-- .../NotificationRepositoryImpl.swift | 2 +- .../NotificationRequestMappingTests.swift | 2 +- .../Tests/TestSupport.swift | 3 +-- .../Domain/PerspectiveDomain/Project.swift | 4 ++-- .../PerspectiveRepositoryImpl.swift | 2 +- .../PerspectiveRequestMappingTests.swift | 2 +- .../PerspectiveDomain/Tests/TestSupport.swift | 3 +-- Projects/Domain/ProfileDomain/Project.swift | 4 ++-- .../Repository/ProfileRepositoryImpl.swift | 2 +- .../Tests/ProfileRequestMappingTests.swift | 2 +- .../ProfileDomain/Tests/TestSupport.swift | 3 +-- Projects/Domain/SearchDomain/Project.swift | 4 ++-- .../Sources/SearchRepositoryImpl.swift | 2 +- .../Tests/SearchRequestMappingTests.swift | 2 +- .../SearchDomain/Tests/TestSupport.swift | 3 +-- Projects/Feature/Chat/Project.swift | 2 +- .../Sources/Vote/Reducer/PreVoteFeature.swift | 2 +- Projects/Network/NetworkHeader/Project.swift | 18 ---------------- Projects/Network/NetworkModule/Project.swift | 18 ---------------- .../Exported/NetworkModuleExported.swift | 8 ------- .../NetworkingTests/Sources/Test.swift | 8 ------- Projects/Network/Networking/Project.swift | 17 --------------- .../Sources/Exorted/NetworkExported.swift | 8 ------- Projects/Network/ThirdPartys/Project.swift | 17 --------------- .../Sources/ThirdPartysExport.swift | 5 ----- .../ThirdPartysTests/Sources/.gitkeep | 1 - Projects/Service/API/Project.swift | 2 +- .../API/Sources/Base/PieckeDomain.swift | 2 +- Projects/Service/APIEndpoint/Project.swift | 2 +- .../Attendance/AttendanceService.swift | 2 +- .../Sources/Auth/AuthService.swift | 2 +- .../Sources/Battle/BattleService.swift | 2 +- .../Sources/Comment/CommentService.swift | 2 +- .../Sources/Device/DeviceService.swift | 2 +- .../Sources/Home/HomeService.swift | 2 +- .../Notification/NotificationService.swift | 2 +- .../Perspective/PerspectiveService.swift | 2 +- .../Sources/Profile/ProfileService.swift | 2 +- .../Sources/Search/SearchService.swift | 2 +- Projects/Service/DeviceService/Project.swift | 2 +- .../Repository/DeviceRepositoryImpl.swift | 2 +- 88 files changed, 130 insertions(+), 224 deletions(-) rename Projects/{Network/NetworkToken/Sources => Core/PickeNetwork/Interface/Auth}/TokenProviding.swift (97%) rename Projects/{Network/NetworkModule/Sources => Core/PickeNetwork/Interface/Client}/NetworkProviding.swift (95%) rename Projects/{Network/NetworkHeader/Sources => Core/PickeNetwork/Interface/Endpoint}/PickeTargetType.swift (98%) rename Projects/{Network/NetworkHeader/Sources => Core/PickeNetwork/Interface/Header}/APIHeader.swift (97%) rename Projects/{Network/NetworkToken => Core/PickeNetwork}/Project.swift (52%) rename Projects/{Network/NetworkModule/Sources => Core/PickeNetwork/Sources/Client}/AlamofireNetworkProvider.swift (98%) create mode 100644 Projects/Core/PickeNetwork/Sources/Exported/PickeNetworkExported.swift rename Projects/{Network/NetworkModule/Sources => Core/PickeNetwork/Sources/Factory}/NetworkSessionRegistry.swift (86%) rename Projects/{Network/NetworkModule/Sources => Core/PickeNetwork/Sources/Factory}/SessionFactory.swift (96%) rename Projects/{Network/NetworkHeader/Sources => Core/PickeNetwork/Sources/Header}/APIHeaderManger.swift (94%) rename Projects/{Network/NetworkModule/Sources => Core/PickeNetwork/Sources/Monitor}/NetworkTelemetry.swift (100%) rename Projects/{Network/NetworkModule/Sources => Core/PickeNetwork/Sources/Monitor}/PickeEventMonitor.swift (99%) create mode 100644 Projects/Core/PickeNetwork/Testing/PickeNetworkTesting.swift create mode 100644 Projects/Core/PickeNetwork/Tests/Sources/PickeNetworkTests.swift delete mode 100644 Projects/Network/NetworkHeader/Project.swift delete mode 100644 Projects/Network/NetworkModule/Project.swift delete mode 100644 Projects/Network/NetworkModule/Sources/Exported/NetworkModuleExported.swift delete mode 100644 Projects/Network/Networking/NetworkingTests/Sources/Test.swift delete mode 100644 Projects/Network/Networking/Project.swift delete mode 100644 Projects/Network/Networking/Sources/Exorted/NetworkExported.swift delete mode 100644 Projects/Network/ThirdPartys/Project.swift delete mode 100644 Projects/Network/ThirdPartys/Sources/ThirdPartysExport.swift delete mode 100644 Projects/Network/ThirdPartys/ThirdPartysTests/Sources/.gitkeep diff --git a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Modules.swift b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Modules.swift index e6fcebc0..d74ae081 100644 --- a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Modules.swift +++ b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Modules.swift @@ -29,6 +29,7 @@ public enum FeatureModule: String, CaseIterable { public enum CoreModule: String, CaseIterable { case assembly = "CoreAssembly" case logger = "PickeCoreLogger" + case network = "PickeNetwork" case storage = "PickeStorage" case coreUtility = "PickeCoreUtility" case thirdParty = "PickeThirdParty" @@ -82,21 +83,3 @@ public enum DataModule: String, CaseIterable { } } -// MARK: - 아직 레이어 카탈로그로 접히지 않은 모듈 - -/// Network 레이어. Core/PickeNetwork 단일 모듈로 합치기 전까지만 남는다. -public enum ModulePath { - case network(Networks) -} - -public extension ModulePath { - enum Networks: String, CaseIterable { - case networkModule = "NetworkModule" - case networking = "Networking" - case networkToken = "NetworkToken" - case networkHeader = "NetworkHeader" - case thirdPartys = "ThirdPartys" - - public static let name: String = "Network" - } -} diff --git a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Path+Modules.swift b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Path+Modules.swift index a4b949c5..65400147 100644 --- a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Path+Modules.swift +++ b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Path+Modules.swift @@ -34,7 +34,4 @@ public extension ProjectDescription.Path { return .relativeToRoot("Projects/DesignSystem") } - static func network(implementation module: ModulePath.Networks) -> Self { - return .relativeToRoot("Projects/\(ModulePath.Networks.name)/\(module.rawValue)") - } } diff --git a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/TargetDependency+Modules.swift b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/TargetDependency+Modules.swift index faa22576..54143a3f 100644 --- a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/TargetDependency+Modules.swift +++ b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/TargetDependency+Modules.swift @@ -87,7 +87,4 @@ public extension TargetDependency { return .project(target: "PickeDesignKit", path: .designSystem) } - static func network(implements module: ModulePath.Networks) -> Self { - return .project(target: module.rawValue, path: .network(implementation: module)) - } } diff --git a/Projects/App/Project.swift b/Projects/App/Project.swift index 833f1ea4..2b51cd4c 100644 --- a/Projects/App/Project.swift +++ b/Projects/App/Project.swift @@ -19,8 +19,8 @@ let project = Project.configure( // Core·Service 구현은 조립 경계 하나로 들어온다. // 앱 시작 전면 팝업 광고(AdService)도 여기에 포함된다. .serviceAssembly, - .network(implements: .networkModule), - .network(implements: .networkToken), + .core(.network), + .core(.network, .interface), .SPM.googleMobileAds, .SPM.firebaseCrashlytics, .SPM.mixpanel, diff --git a/Projects/App/Sources/Application/Configuration/KingfisherConfigurator.swift b/Projects/App/Sources/Application/Configuration/KingfisherConfigurator.swift index afc960ae..12f85315 100644 --- a/Projects/App/Sources/Application/Configuration/KingfisherConfigurator.swift +++ b/Projects/App/Sources/Application/Configuration/KingfisherConfigurator.swift @@ -6,7 +6,7 @@ import Foundation import Kingfisher -import NetworkModule +import PickeNetwork import PickeStorageInterface import DomainAssembly diff --git a/Projects/App/Sources/Application/Delegate/AppDelegate+Configure.swift b/Projects/App/Sources/Application/Delegate/AppDelegate+Configure.swift index 856316cc..acc36509 100644 --- a/Projects/App/Sources/Application/Delegate/AppDelegate+Configure.swift +++ b/Projects/App/Sources/Application/Delegate/AppDelegate+Configure.swift @@ -8,7 +8,7 @@ import GoogleMobileAds import LogMacro import Mixpanel import MixpanelSessionReplay -import NetworkModule +import PickeNetwork import UIKit import DomainAssembly diff --git a/Projects/App/Sources/Di/AppDependencyFactory.swift b/Projects/App/Sources/Di/AppDependencyFactory.swift index 893c4e48..c0ea13f9 100644 --- a/Projects/App/Sources/Di/AppDependencyFactory.swift +++ b/Projects/App/Sources/Di/AppDependencyFactory.swift @@ -5,7 +5,7 @@ import ComposableArchitecture import DeviceService import DeviceServiceInterface import DomainAssembly -import NetworkModule +import PickeNetwork import PickeStorage import PickeStorageInterface import WeaveDI diff --git a/Projects/App/Sources/Di/KeychainTokenProvider.swift b/Projects/App/Sources/Di/KeychainTokenProvider.swift index b28584d1..8f4dddb2 100644 --- a/Projects/App/Sources/Di/KeychainTokenProvider.swift +++ b/Projects/App/Sources/Di/KeychainTokenProvider.swift @@ -8,8 +8,7 @@ import Foundation // 필요 모듈만 사용 -import NetworkModule -import NetworkToken +import PickeNetwork import PickeStorageInterface struct KeychainTokenProvider: TokenProviding { diff --git a/Projects/Core/CoreAssembly/Project.swift b/Projects/Core/CoreAssembly/Project.swift index 5c4533eb..89b9bca3 100644 --- a/Projects/Core/CoreAssembly/Project.swift +++ b/Projects/Core/CoreAssembly/Project.swift @@ -13,6 +13,7 @@ let project = Project.configure( dependencies: [ .core(.thirdParty), .core(.logger), + .core(.network), .core(.coreUtility), .core(.storage, .implementation), ], diff --git a/Projects/Core/CoreAssembly/Sources/Exported/CoreAssemblyExported.swift b/Projects/Core/CoreAssembly/Sources/Exported/CoreAssemblyExported.swift index c8757235..ec32b5cd 100644 --- a/Projects/Core/CoreAssembly/Sources/Exported/CoreAssemblyExported.swift +++ b/Projects/Core/CoreAssembly/Sources/Exported/CoreAssemblyExported.swift @@ -7,5 +7,6 @@ @_exported import PickeThirdParty @_exported import PickeCoreLogger +@_exported import PickeNetwork @_exported import PickeCoreUtility @_exported import PickeStorage diff --git a/Projects/Network/NetworkToken/Sources/TokenProviding.swift b/Projects/Core/PickeNetwork/Interface/Auth/TokenProviding.swift similarity index 97% rename from Projects/Network/NetworkToken/Sources/TokenProviding.swift rename to Projects/Core/PickeNetwork/Interface/Auth/TokenProviding.swift index 8ecac19c..19a4d63d 100644 --- a/Projects/Network/NetworkToken/Sources/TokenProviding.swift +++ b/Projects/Core/PickeNetwork/Interface/Auth/TokenProviding.swift @@ -1,6 +1,6 @@ // // TokenProviding.swift -// NetworkToken +// PickeNetworkInterface // // Created by Wonji Suh on 1/2/26. // diff --git a/Projects/Network/NetworkModule/Sources/NetworkProviding.swift b/Projects/Core/PickeNetwork/Interface/Client/NetworkProviding.swift similarity index 95% rename from Projects/Network/NetworkModule/Sources/NetworkProviding.swift rename to Projects/Core/PickeNetwork/Interface/Client/NetworkProviding.swift index 2b7f67f5..2f0ac2db 100644 --- a/Projects/Network/NetworkModule/Sources/NetworkProviding.swift +++ b/Projects/Core/PickeNetwork/Interface/Client/NetworkProviding.swift @@ -1,11 +1,10 @@ // // NetworkProviding.swift -// NetworkModule +// PickeNetwork // import Foundation -import NetworkHeader /// Moya `Response` 를 대체하는 경량 응답 래퍼(디코딩 전 원시 응답). /// `requestResponse` 사용처(로그아웃/탈퇴)가 `statusCode`/`data` 만 참조하므로 그 둘만 담는다. diff --git a/Projects/Network/NetworkHeader/Sources/PickeTargetType.swift b/Projects/Core/PickeNetwork/Interface/Endpoint/PickeTargetType.swift similarity index 98% rename from Projects/Network/NetworkHeader/Sources/PickeTargetType.swift rename to Projects/Core/PickeNetwork/Interface/Endpoint/PickeTargetType.swift index 82206e40..3995b02d 100644 --- a/Projects/Network/NetworkHeader/Sources/PickeTargetType.swift +++ b/Projects/Core/PickeNetwork/Interface/Endpoint/PickeTargetType.swift @@ -1,6 +1,6 @@ // // PickeTargetType.swift -// NetworkHeader +// PickeNetworkInterface // import Foundation diff --git a/Projects/Network/NetworkHeader/Sources/APIHeader.swift b/Projects/Core/PickeNetwork/Interface/Header/APIHeader.swift similarity index 97% rename from Projects/Network/NetworkHeader/Sources/APIHeader.swift rename to Projects/Core/PickeNetwork/Interface/Header/APIHeader.swift index 3202182b..c008bd6d 100644 --- a/Projects/Network/NetworkHeader/Sources/APIHeader.swift +++ b/Projects/Core/PickeNetwork/Interface/Header/APIHeader.swift @@ -1,12 +1,11 @@ // // APIHeader.swift -// NetworkHeader +// PickeNetworkInterface // // Created by Wonji Suh on 5/7/25. // import Foundation -import NetworkToken import WeaveDI public struct APIHeader { diff --git a/Projects/Network/NetworkToken/Project.swift b/Projects/Core/PickeNetwork/Project.swift similarity index 52% rename from Projects/Network/NetworkToken/Project.swift rename to Projects/Core/PickeNetwork/Project.swift index 69050162..76e7df87 100644 --- a/Projects/Network/NetworkToken/Project.swift +++ b/Projects/Core/PickeNetwork/Project.swift @@ -1,3 +1,8 @@ +// +// Project.swift +// PickeNetwork +// + import DependencyPackagePlugin import DependencyPlugin import Foundation @@ -5,14 +10,18 @@ import ProjectDescription import ProjectTemplatePlugin let project = Project.configure( - moduleType: .module(name: "NetworkToken"), - bundleId: .appBundleID(name: ".NetworkToken"), + moduleType: .microModule(name: "PickeNetwork"), + bundleId: .appBundleID(name: ".PickeNetwork"), product: .staticFramework, settings: .settings(), dependencies: [ - .SPM.weaveDI, - .SPM.dependencies, + .core(.logger), + .SPM.alamofire, + .SPM.logMarco, ], - sources: ["Sources/**"], - hasTests: false + interfaceDependencies: [ + .SPM.alamofire, + .SPM.dependencies, + .SPM.weaveDI, + ] ) diff --git a/Projects/Network/NetworkModule/Sources/AlamofireNetworkProvider.swift b/Projects/Core/PickeNetwork/Sources/Client/AlamofireNetworkProvider.swift similarity index 98% rename from Projects/Network/NetworkModule/Sources/AlamofireNetworkProvider.swift rename to Projects/Core/PickeNetwork/Sources/Client/AlamofireNetworkProvider.swift index f208f851..adb02697 100644 --- a/Projects/Network/NetworkModule/Sources/AlamofireNetworkProvider.swift +++ b/Projects/Core/PickeNetwork/Sources/Client/AlamofireNetworkProvider.swift @@ -1,12 +1,12 @@ // // AlamofireNetworkProvider.swift -// NetworkModule +// PickeNetwork // import Foundation import Alamofire -import NetworkHeader +import PickeNetworkInterface /// `NetworkProviding` 의 Alamofire 백엔드. /// - `.authorized`: 인증 인터셉터가 얹힌 세션(대부분의 요청). diff --git a/Projects/Core/PickeNetwork/Sources/Exported/PickeNetworkExported.swift b/Projects/Core/PickeNetwork/Sources/Exported/PickeNetworkExported.swift new file mode 100644 index 00000000..26bc958b --- /dev/null +++ b/Projects/Core/PickeNetwork/Sources/Exported/PickeNetworkExported.swift @@ -0,0 +1,8 @@ +// +// PickeNetworkExported.swift +// PickeNetwork +// + +// MARK: - 계약과 구현을 한번에 노출 + +@_exported import PickeNetworkInterface diff --git a/Projects/Network/NetworkModule/Sources/NetworkSessionRegistry.swift b/Projects/Core/PickeNetwork/Sources/Factory/NetworkSessionRegistry.swift similarity index 86% rename from Projects/Network/NetworkModule/Sources/NetworkSessionRegistry.swift rename to Projects/Core/PickeNetwork/Sources/Factory/NetworkSessionRegistry.swift index 42bbb2c1..a79baf57 100644 --- a/Projects/Network/NetworkModule/Sources/NetworkSessionRegistry.swift +++ b/Projects/Core/PickeNetwork/Sources/Factory/NetworkSessionRegistry.swift @@ -1,12 +1,12 @@ // // NetworkSessionRegistry.swift -// NetworkModule +// PickeNetwork // import Alamofire import Foundation -/// NetworkModule 이 인증 구현체를 직접 알지 않도록 세션 조립 결과만 주입받는다. +/// PickeNetwork 가 인증 구현체를 직접 알지 않도록 세션 조립 결과만 주입받는다. public final class NetworkSessionRegistry: @unchecked Sendable { public static let shared = NetworkSessionRegistry() diff --git a/Projects/Network/NetworkModule/Sources/SessionFactory.swift b/Projects/Core/PickeNetwork/Sources/Factory/SessionFactory.swift similarity index 96% rename from Projects/Network/NetworkModule/Sources/SessionFactory.swift rename to Projects/Core/PickeNetwork/Sources/Factory/SessionFactory.swift index c296650d..c1fec5c8 100644 --- a/Projects/Network/NetworkModule/Sources/SessionFactory.swift +++ b/Projects/Core/PickeNetwork/Sources/Factory/SessionFactory.swift @@ -1,6 +1,6 @@ // // SessionFactory.swift -// NetworkModule +// PickeNetwork // import Alamofire @@ -8,7 +8,7 @@ import Foundation /// 인증(authenticated) / 비인증(plain) 세션 조립 팩토리. /// -/// 인터셉터·부가 이벤트 모니터는 호출자가 주입한다(NetworkModule 은 인증 주체를 모른다). +/// 인터셉터·부가 이벤트 모니터는 호출자가 주입한다(PickeNetwork 는 인증 주체를 모른다). public enum SessionFactory { /// 인증 세션. 호출자가 넘긴 `interceptor`(401 자동 refresh·retry 등)를 얹는다. 대부분의 요청에 사용. public static func authenticated(interceptor: RequestInterceptor, eventMonitors: [any EventMonitor] = []) -> Session { diff --git a/Projects/Network/NetworkHeader/Sources/APIHeaderManger.swift b/Projects/Core/PickeNetwork/Sources/Header/APIHeaderManger.swift similarity index 94% rename from Projects/Network/NetworkHeader/Sources/APIHeaderManger.swift rename to Projects/Core/PickeNetwork/Sources/Header/APIHeaderManger.swift index 445a4014..c5eb99e5 100644 --- a/Projects/Network/NetworkHeader/Sources/APIHeaderManger.swift +++ b/Projects/Core/PickeNetwork/Sources/Header/APIHeaderManger.swift @@ -1,6 +1,6 @@ // // APIHeaderManger.swift -// NetworkHeader +// PickeNetworkInterface // // Created by Wonji Suh on 5/7/25. // diff --git a/Projects/Network/NetworkModule/Sources/NetworkTelemetry.swift b/Projects/Core/PickeNetwork/Sources/Monitor/NetworkTelemetry.swift similarity index 100% rename from Projects/Network/NetworkModule/Sources/NetworkTelemetry.swift rename to Projects/Core/PickeNetwork/Sources/Monitor/NetworkTelemetry.swift diff --git a/Projects/Network/NetworkModule/Sources/PickeEventMonitor.swift b/Projects/Core/PickeNetwork/Sources/Monitor/PickeEventMonitor.swift similarity index 99% rename from Projects/Network/NetworkModule/Sources/PickeEventMonitor.swift rename to Projects/Core/PickeNetwork/Sources/Monitor/PickeEventMonitor.swift index 4df27b36..c9632a7b 100644 --- a/Projects/Network/NetworkModule/Sources/PickeEventMonitor.swift +++ b/Projects/Core/PickeNetwork/Sources/Monitor/PickeEventMonitor.swift @@ -1,6 +1,6 @@ // // PickeEventMonitor.swift -// NetworkModule +// PickeNetwork // import Alamofire diff --git a/Projects/Core/PickeNetwork/Testing/PickeNetworkTesting.swift b/Projects/Core/PickeNetwork/Testing/PickeNetworkTesting.swift new file mode 100644 index 00000000..7ffa420d --- /dev/null +++ b/Projects/Core/PickeNetwork/Testing/PickeNetworkTesting.swift @@ -0,0 +1,6 @@ +// +// PickeNetworkTesting.swift +// PickeNetworkTesting +// + +public enum PickeNetworkTesting {} diff --git a/Projects/Core/PickeNetwork/Tests/Sources/PickeNetworkTests.swift b/Projects/Core/PickeNetwork/Tests/Sources/PickeNetworkTests.swift new file mode 100644 index 00000000..75c07e2e --- /dev/null +++ b/Projects/Core/PickeNetwork/Tests/Sources/PickeNetworkTests.swift @@ -0,0 +1,16 @@ +// +// PickeNetworkTests.swift +// PickeNetworkTests +// + +import Testing + +@testable import PickeNetwork + +@Suite("PickeNetwork") +struct PickeNetworkTests { + @Test("계약 헤더 상수가 재수출된다") + func reexportsInterface() { + #expect(APIHeader.contentType == "Content-Type") + } +} diff --git a/Projects/Domain/AppUpdateDomain/Project.swift b/Projects/Domain/AppUpdateDomain/Project.swift index 9d0609bb..46f7f220 100644 --- a/Projects/Domain/AppUpdateDomain/Project.swift +++ b/Projects/Domain/AppUpdateDomain/Project.swift @@ -12,7 +12,7 @@ let project = Project.configure( dependencies: [ .SPM.composableArchitecture, .data(.model), - .network(implements: .networkModule), + .core(.network), .SPM.logMarco, ], interfaceDependencies: [ diff --git a/Projects/Domain/AppUpdateDomain/Sources/Repository/AppUpdateRepositoryImpl.swift b/Projects/Domain/AppUpdateDomain/Sources/Repository/AppUpdateRepositoryImpl.swift index 762796d7..88dd61b5 100644 --- a/Projects/Domain/AppUpdateDomain/Sources/Repository/AppUpdateRepositoryImpl.swift +++ b/Projects/Domain/AppUpdateDomain/Sources/Repository/AppUpdateRepositoryImpl.swift @@ -9,7 +9,7 @@ import Model import AppUpdateDomainInterface import LogMacro -import NetworkModule +import PickeNetwork public final class AppUpdateRepositoryImpl: AppUpdateInterface { private let urlSession: URLSession diff --git a/Projects/Domain/AttendanceDomain/Project.swift b/Projects/Domain/AttendanceDomain/Project.swift index a4a57070..55bf9f79 100644 --- a/Projects/Domain/AttendanceDomain/Project.swift +++ b/Projects/Domain/AttendanceDomain/Project.swift @@ -14,8 +14,8 @@ let project = Project.configure( .service(.api), .data(.model), .service(.apiEndpoint), - .network(implements: .networkModule), - .network(implements: .networkHeader), + .core(.network), + .core(.network, .interface), .SPM.logMarco, ], interfaceDependencies: [.SPM.composableArchitecture] diff --git a/Projects/Domain/AttendanceDomain/Sources/Repository/AttendanceRepositoryImpl.swift b/Projects/Domain/AttendanceDomain/Sources/Repository/AttendanceRepositoryImpl.swift index 8b3707d3..cf125caa 100644 --- a/Projects/Domain/AttendanceDomain/Sources/Repository/AttendanceRepositoryImpl.swift +++ b/Projects/Domain/AttendanceDomain/Sources/Repository/AttendanceRepositoryImpl.swift @@ -8,7 +8,7 @@ import Foundation import APIEndpoint import AttendanceDomainInterface import Model -import NetworkModule +import PickeNetwork import LogMacro diff --git a/Projects/Domain/AttendanceDomain/Tests/TestSupport.swift b/Projects/Domain/AttendanceDomain/Tests/TestSupport.swift index aca89249..7dbc8dd7 100644 --- a/Projects/Domain/AttendanceDomain/Tests/TestSupport.swift +++ b/Projects/Domain/AttendanceDomain/Tests/TestSupport.swift @@ -5,8 +5,7 @@ import Foundation -import NetworkHeader -import NetworkModule +import PickeNetwork /// 고정 데이터를 그대로 디코딩해 반환하는 스텁 provider. struct StubNetworkProvider: NetworkProviding { diff --git a/Projects/Domain/AuthDomain/Project.swift b/Projects/Domain/AuthDomain/Project.swift index 5f665367..f4afe4ca 100644 --- a/Projects/Domain/AuthDomain/Project.swift +++ b/Projects/Domain/AuthDomain/Project.swift @@ -17,8 +17,8 @@ let project = Project.configure( .service(.api), .data(.model), .service(.apiEndpoint), - .network(implements: .networkModule), - .network(implements: .networkHeader), + .core(.network), + .core(.network, .interface), .SPM.googleSignIn, ], interfaceDependencies: [ diff --git a/Projects/Domain/AuthDomain/Sources/RefreshToken/OptimizedSessionManager.swift b/Projects/Domain/AuthDomain/Sources/RefreshToken/OptimizedSessionManager.swift index e1d6437a..4f0eee2a 100644 --- a/Projects/Domain/AuthDomain/Sources/RefreshToken/OptimizedSessionManager.swift +++ b/Projects/Domain/AuthDomain/Sources/RefreshToken/OptimizedSessionManager.swift @@ -8,7 +8,7 @@ import Alamofire import AuthDomainInterface import Foundation -import NetworkModule +import PickeNetwork import PickeStorageInterface import WeaveDI diff --git a/Projects/Domain/AuthDomain/Sources/Repository/AuthRepositoryImpl.swift b/Projects/Domain/AuthDomain/Sources/Repository/AuthRepositoryImpl.swift index 9062b6ed..b1c3aef0 100644 --- a/Projects/Domain/AuthDomain/Sources/Repository/AuthRepositoryImpl.swift +++ b/Projects/Domain/AuthDomain/Sources/Repository/AuthRepositoryImpl.swift @@ -10,7 +10,7 @@ import Foundation import APIEndpoint import AuthDomainInterface import Model -import NetworkModule +import PickeNetwork import Alamofire import Dependencies diff --git a/Projects/Domain/AuthDomain/Tests/AuthRequestMappingTests.swift b/Projects/Domain/AuthDomain/Tests/AuthRequestMappingTests.swift index 8d636ff1..c72d82a2 100644 --- a/Projects/Domain/AuthDomain/Tests/AuthRequestMappingTests.swift +++ b/Projects/Domain/AuthDomain/Tests/AuthRequestMappingTests.swift @@ -11,7 +11,7 @@ import Testing import API import APIEndpoint import AuthDomainInterface -import NetworkHeader +import PickeNetwork struct AuthRequestMappingTests { // MARK: - login diff --git a/Projects/Domain/AuthDomain/Tests/TestSupport.swift b/Projects/Domain/AuthDomain/Tests/TestSupport.swift index be93d87a..07b0beb1 100644 --- a/Projects/Domain/AuthDomain/Tests/TestSupport.swift +++ b/Projects/Domain/AuthDomain/Tests/TestSupport.swift @@ -5,8 +5,7 @@ import Foundation -import NetworkHeader -import NetworkModule +import PickeNetwork /// 고정 데이터를 그대로 디코딩해 반환하는 스텁 provider. struct StubNetworkProvider: NetworkProviding { diff --git a/Projects/Domain/BattleDomain/Project.swift b/Projects/Domain/BattleDomain/Project.swift index 5ced537c..21fd8976 100644 --- a/Projects/Domain/BattleDomain/Project.swift +++ b/Projects/Domain/BattleDomain/Project.swift @@ -15,8 +15,8 @@ let project = Project.configure( .service(.api), .data(.model), .service(.apiEndpoint), - .network(implements: .networkModule), - .network(implements: .networkHeader), + .core(.network), + .core(.network, .interface), .SPM.logMarco, ], interfaceDependencies: [ diff --git a/Projects/Domain/BattleDomain/Sources/Repository/BattleRepositoryImpl.swift b/Projects/Domain/BattleDomain/Sources/Repository/BattleRepositoryImpl.swift index 71aecbf3..84d15a4b 100644 --- a/Projects/Domain/BattleDomain/Sources/Repository/BattleRepositoryImpl.swift +++ b/Projects/Domain/BattleDomain/Sources/Repository/BattleRepositoryImpl.swift @@ -9,7 +9,7 @@ import APIEndpoint import BattleDomainInterface import HomeDomainInterface import Model -import NetworkModule +import PickeNetwork import LogMacro diff --git a/Projects/Domain/BattleDomain/Tests/BattleRequestMappingTests.swift b/Projects/Domain/BattleDomain/Tests/BattleRequestMappingTests.swift index aed3ab76..dd1d38ac 100644 --- a/Projects/Domain/BattleDomain/Tests/BattleRequestMappingTests.swift +++ b/Projects/Domain/BattleDomain/Tests/BattleRequestMappingTests.swift @@ -9,7 +9,7 @@ import Testing import APIEndpoint import Foundation -import NetworkHeader +import PickeNetwork struct BattleRequestMappingTests { // MARK: - today diff --git a/Projects/Domain/BattleDomain/Tests/TestSupport.swift b/Projects/Domain/BattleDomain/Tests/TestSupport.swift index 8b02121c..9535d1e1 100644 --- a/Projects/Domain/BattleDomain/Tests/TestSupport.swift +++ b/Projects/Domain/BattleDomain/Tests/TestSupport.swift @@ -5,8 +5,7 @@ import Foundation -import NetworkHeader -import NetworkModule +import PickeNetwork /// 고정 데이터를 그대로 디코딩해 반환하는 스텁 provider. struct StubNetworkProvider: NetworkProviding { diff --git a/Projects/Domain/CommentDomain/Project.swift b/Projects/Domain/CommentDomain/Project.swift index fede0f45..1c45d70c 100644 --- a/Projects/Domain/CommentDomain/Project.swift +++ b/Projects/Domain/CommentDomain/Project.swift @@ -15,8 +15,8 @@ let project = Project.configure( .service(.api), .data(.model), .service(.apiEndpoint), - .network(implements: .networkModule), - .network(implements: .networkHeader), + .core(.network), + .core(.network, .interface), .SPM.logMarco, ], interfaceDependencies: [ diff --git a/Projects/Domain/CommentDomain/Sources/Repository/CommentRepositoryImpl.swift b/Projects/Domain/CommentDomain/Sources/Repository/CommentRepositoryImpl.swift index 12dc4e9c..23c26cbf 100644 --- a/Projects/Domain/CommentDomain/Sources/Repository/CommentRepositoryImpl.swift +++ b/Projects/Domain/CommentDomain/Sources/Repository/CommentRepositoryImpl.swift @@ -8,7 +8,7 @@ import Foundation import APIEndpoint import CommentDomainInterface import Model -import NetworkModule +import PickeNetwork import LogMacro diff --git a/Projects/Domain/CommentDomain/Tests/CommentRequestMappingTests.swift b/Projects/Domain/CommentDomain/Tests/CommentRequestMappingTests.swift index a34ed346..8e707b5b 100644 --- a/Projects/Domain/CommentDomain/Tests/CommentRequestMappingTests.swift +++ b/Projects/Domain/CommentDomain/Tests/CommentRequestMappingTests.swift @@ -9,7 +9,7 @@ import Testing @testable import CommentData import APIEndpoint -import NetworkHeader +import PickeNetwork struct CommentRequestMappingTests { @Test diff --git a/Projects/Domain/CommentDomain/Tests/TestSupport.swift b/Projects/Domain/CommentDomain/Tests/TestSupport.swift index 51473396..9ca1b954 100644 --- a/Projects/Domain/CommentDomain/Tests/TestSupport.swift +++ b/Projects/Domain/CommentDomain/Tests/TestSupport.swift @@ -5,8 +5,7 @@ import Foundation -import NetworkHeader -import NetworkModule +import PickeNetwork struct StubNetworkProvider: NetworkProviding { let stubData: Data diff --git a/Projects/Domain/HomeDomain/Project.swift b/Projects/Domain/HomeDomain/Project.swift index e1cf24d4..0658105a 100644 --- a/Projects/Domain/HomeDomain/Project.swift +++ b/Projects/Domain/HomeDomain/Project.swift @@ -15,8 +15,8 @@ let project = Project.configure( .service(.api), .data(.model), .service(.apiEndpoint), - .network(implements: .networkModule), - .network(implements: .networkHeader), + .core(.network), + .core(.network, .interface), .SPM.logMarco, ], interfaceDependencies: [ diff --git a/Projects/Domain/HomeDomain/Sources/Repository/HomeRepositoryImpl.swift b/Projects/Domain/HomeDomain/Sources/Repository/HomeRepositoryImpl.swift index e75538c7..48a76d07 100644 --- a/Projects/Domain/HomeDomain/Sources/Repository/HomeRepositoryImpl.swift +++ b/Projects/Domain/HomeDomain/Sources/Repository/HomeRepositoryImpl.swift @@ -10,7 +10,7 @@ import Foundation import APIEndpoint import HomeDomainInterface import Model -import NetworkModule +import PickeNetwork import LogMacro import AuthDomainInterface diff --git a/Projects/Domain/HomeDomain/Tests/HomeRequestMappingTests.swift b/Projects/Domain/HomeDomain/Tests/HomeRequestMappingTests.swift index 1b6c405b..f454e6bf 100644 --- a/Projects/Domain/HomeDomain/Tests/HomeRequestMappingTests.swift +++ b/Projects/Domain/HomeDomain/Tests/HomeRequestMappingTests.swift @@ -9,7 +9,7 @@ import Testing @testable import HomeData import APIEndpoint -import NetworkHeader +import PickeNetwork struct HomeRequestMappingTests { @Test func home_요청은_GET_이며_경로가_api_v1_home_이다() throws { diff --git a/Projects/Domain/HomeDomain/Tests/TestSupport.swift b/Projects/Domain/HomeDomain/Tests/TestSupport.swift index b97076f5..b7b04841 100644 --- a/Projects/Domain/HomeDomain/Tests/TestSupport.swift +++ b/Projects/Domain/HomeDomain/Tests/TestSupport.swift @@ -5,8 +5,7 @@ import Foundation -import NetworkHeader -import NetworkModule +import PickeNetwork /// 고정 데이터를 그대로 디코딩해 반환하는 스텁 provider. struct StubNetworkProvider: NetworkProviding { diff --git a/Projects/Domain/NotificationDomain/Project.swift b/Projects/Domain/NotificationDomain/Project.swift index 34835d83..8b1fee9e 100644 --- a/Projects/Domain/NotificationDomain/Project.swift +++ b/Projects/Domain/NotificationDomain/Project.swift @@ -14,8 +14,8 @@ let project = Project.configure( .service(.api), .data(.model), .service(.apiEndpoint), - .network(implements: .networkModule), - .network(implements: .networkHeader), + .core(.network), + .core(.network, .interface), .SPM.logMarco, ], interfaceDependencies: [ diff --git a/Projects/Domain/NotificationDomain/Sources/Repository/NotificationRepositoryImpl.swift b/Projects/Domain/NotificationDomain/Sources/Repository/NotificationRepositoryImpl.swift index b2a82904..2efde5c8 100644 --- a/Projects/Domain/NotificationDomain/Sources/Repository/NotificationRepositoryImpl.swift +++ b/Projects/Domain/NotificationDomain/Sources/Repository/NotificationRepositoryImpl.swift @@ -7,7 +7,7 @@ import Foundation import APIEndpoint import Model -import NetworkModule +import PickeNetwork import NotificationDomainInterface import LogMacro diff --git a/Projects/Domain/NotificationDomain/Tests/NotificationRequestMappingTests.swift b/Projects/Domain/NotificationDomain/Tests/NotificationRequestMappingTests.swift index 63da7abf..f08588b9 100644 --- a/Projects/Domain/NotificationDomain/Tests/NotificationRequestMappingTests.swift +++ b/Projects/Domain/NotificationDomain/Tests/NotificationRequestMappingTests.swift @@ -10,7 +10,7 @@ import Testing import API import APIEndpoint -import NetworkHeader +import PickeNetwork struct NotificationRequestMappingTests { @Test diff --git a/Projects/Domain/NotificationDomain/Tests/TestSupport.swift b/Projects/Domain/NotificationDomain/Tests/TestSupport.swift index df7f90d8..c3eb8e4d 100644 --- a/Projects/Domain/NotificationDomain/Tests/TestSupport.swift +++ b/Projects/Domain/NotificationDomain/Tests/TestSupport.swift @@ -5,8 +5,7 @@ import Foundation -import NetworkHeader -import NetworkModule +import PickeNetwork /// 고정 데이터를 그대로 디코딩해 반환하는 스텁 provider. struct StubNetworkProvider: NetworkProviding { diff --git a/Projects/Domain/PerspectiveDomain/Project.swift b/Projects/Domain/PerspectiveDomain/Project.swift index 44b0611c..eb5e0d0f 100644 --- a/Projects/Domain/PerspectiveDomain/Project.swift +++ b/Projects/Domain/PerspectiveDomain/Project.swift @@ -16,8 +16,8 @@ let project = Project.configure( .service(.api), .data(.model), .service(.apiEndpoint), - .network(implements: .networkModule), - .network(implements: .networkHeader), + .core(.network), + .core(.network, .interface), .SPM.logMarco, ], interfaceDependencies: [ diff --git a/Projects/Domain/PerspectiveDomain/Sources/Repository/PerspectiveRepositoryImpl.swift b/Projects/Domain/PerspectiveDomain/Sources/Repository/PerspectiveRepositoryImpl.swift index e6e683e8..6b25160c 100644 --- a/Projects/Domain/PerspectiveDomain/Sources/Repository/PerspectiveRepositoryImpl.swift +++ b/Projects/Domain/PerspectiveDomain/Sources/Repository/PerspectiveRepositoryImpl.swift @@ -9,7 +9,7 @@ import APIEndpoint import BattleDomainInterface import CommentDomainInterface import Model -import NetworkModule +import PickeNetwork import PerspectiveDomainInterface import LogMacro diff --git a/Projects/Domain/PerspectiveDomain/Tests/PerspectiveRequestMappingTests.swift b/Projects/Domain/PerspectiveDomain/Tests/PerspectiveRequestMappingTests.swift index c5b5060f..8275b1fd 100644 --- a/Projects/Domain/PerspectiveDomain/Tests/PerspectiveRequestMappingTests.swift +++ b/Projects/Domain/PerspectiveDomain/Tests/PerspectiveRequestMappingTests.swift @@ -9,7 +9,7 @@ import Testing @testable import PerspectiveData import APIEndpoint -import NetworkHeader +import PickeNetwork struct PerspectiveRequestMappingTests { // MARK: - detail diff --git a/Projects/Domain/PerspectiveDomain/Tests/TestSupport.swift b/Projects/Domain/PerspectiveDomain/Tests/TestSupport.swift index b220c9d5..6ade0f0c 100644 --- a/Projects/Domain/PerspectiveDomain/Tests/TestSupport.swift +++ b/Projects/Domain/PerspectiveDomain/Tests/TestSupport.swift @@ -5,8 +5,7 @@ import Foundation -import NetworkHeader -import NetworkModule +import PickeNetwork struct StubNetworkProvider: NetworkProviding { let stubData: Data diff --git a/Projects/Domain/ProfileDomain/Project.swift b/Projects/Domain/ProfileDomain/Project.swift index eab71aa0..f79ddaba 100644 --- a/Projects/Domain/ProfileDomain/Project.swift +++ b/Projects/Domain/ProfileDomain/Project.swift @@ -14,8 +14,8 @@ let project = Project.configure( .service(.api), .data(.model), .service(.apiEndpoint), - .network(implements: .networkModule), - .network(implements: .networkHeader), + .core(.network), + .core(.network, .interface), .SPM.logMarco, ], interfaceDependencies: [ diff --git a/Projects/Domain/ProfileDomain/Sources/Repository/ProfileRepositoryImpl.swift b/Projects/Domain/ProfileDomain/Sources/Repository/ProfileRepositoryImpl.swift index aa3a18a0..6279481d 100644 --- a/Projects/Domain/ProfileDomain/Sources/Repository/ProfileRepositoryImpl.swift +++ b/Projects/Domain/ProfileDomain/Sources/Repository/ProfileRepositoryImpl.swift @@ -6,7 +6,7 @@ import Foundation import APIEndpoint -import NetworkModule +import PickeNetwork import ProfileDomainInterface import LogMacro diff --git a/Projects/Domain/ProfileDomain/Tests/ProfileRequestMappingTests.swift b/Projects/Domain/ProfileDomain/Tests/ProfileRequestMappingTests.swift index 3eebc1e3..0e37a781 100644 --- a/Projects/Domain/ProfileDomain/Tests/ProfileRequestMappingTests.swift +++ b/Projects/Domain/ProfileDomain/Tests/ProfileRequestMappingTests.swift @@ -9,7 +9,7 @@ import Testing @testable import ProfileData import APIEndpoint -import NetworkHeader +import PickeNetwork struct ProfileRequestMappingTests { @Test func mypage_요청은_GET_이며_경로가_api_v1_me_mypage_이다() throws { diff --git a/Projects/Domain/ProfileDomain/Tests/TestSupport.swift b/Projects/Domain/ProfileDomain/Tests/TestSupport.swift index 54c0d5a0..a6e3b114 100644 --- a/Projects/Domain/ProfileDomain/Tests/TestSupport.swift +++ b/Projects/Domain/ProfileDomain/Tests/TestSupport.swift @@ -5,8 +5,7 @@ import Foundation -import NetworkHeader -import NetworkModule +import PickeNetwork /// 고정 데이터를 그대로 디코딩해 반환하는 스텁 provider. struct StubNetworkProvider: NetworkProviding { diff --git a/Projects/Domain/SearchDomain/Project.swift b/Projects/Domain/SearchDomain/Project.swift index d9510b64..98318872 100644 --- a/Projects/Domain/SearchDomain/Project.swift +++ b/Projects/Domain/SearchDomain/Project.swift @@ -17,8 +17,8 @@ let project = Project.configure( .service(.api), .service(.apiEndpoint), .data(.model), - .network(implements: .networkModule), - .network(implements: .networkHeader), + .core(.network), + .core(.network, .interface), .SPM.logMarco, ], interfaceDependencies: [ diff --git a/Projects/Domain/SearchDomain/Sources/SearchRepositoryImpl.swift b/Projects/Domain/SearchDomain/Sources/SearchRepositoryImpl.swift index fa3a4df5..aa2c5dff 100644 --- a/Projects/Domain/SearchDomain/Sources/SearchRepositoryImpl.swift +++ b/Projects/Domain/SearchDomain/Sources/SearchRepositoryImpl.swift @@ -8,7 +8,7 @@ import Foundation import APIEndpoint import HomeDomainInterface import Model -import NetworkModule +import PickeNetwork import SearchDomainInterface import LogMacro diff --git a/Projects/Domain/SearchDomain/Tests/SearchRequestMappingTests.swift b/Projects/Domain/SearchDomain/Tests/SearchRequestMappingTests.swift index 8c0a172e..8ba4f27f 100644 --- a/Projects/Domain/SearchDomain/Tests/SearchRequestMappingTests.swift +++ b/Projects/Domain/SearchDomain/Tests/SearchRequestMappingTests.swift @@ -8,7 +8,7 @@ import Testing @testable import SearchData import APIEndpoint -import NetworkHeader +import PickeNetwork struct SearchRequestMappingTests { @Test func battles_요청은_GET_이며_경로가_api_v1_search_battles_이다() throws { diff --git a/Projects/Domain/SearchDomain/Tests/TestSupport.swift b/Projects/Domain/SearchDomain/Tests/TestSupport.swift index cacf6fbc..c6cc490c 100644 --- a/Projects/Domain/SearchDomain/Tests/TestSupport.swift +++ b/Projects/Domain/SearchDomain/Tests/TestSupport.swift @@ -5,8 +5,7 @@ import Foundation -import NetworkHeader -import NetworkModule +import PickeNetwork /// 고정 데이터를 그대로 디코딩해 반환하는 스텁 provider. struct StubNetworkProvider: NetworkProviding { diff --git a/Projects/Feature/Chat/Project.swift b/Projects/Feature/Chat/Project.swift index 8708c34f..6275f5d2 100644 --- a/Projects/Feature/Chat/Project.swift +++ b/Projects/Feature/Chat/Project.swift @@ -16,7 +16,7 @@ let project = Project.configure( .service(.analytics, .interface), .domain(.battle, .interface), .domain(.home, .interface), - .network(implements: .networkModule), + .core(.network), .domain(.comment, .interface), .core(.thirdParty), diff --git a/Projects/Feature/Chat/Sources/Vote/Reducer/PreVoteFeature.swift b/Projects/Feature/Chat/Sources/Vote/Reducer/PreVoteFeature.swift index 26f8be48..3a5aa96b 100644 --- a/Projects/Feature/Chat/Sources/Vote/Reducer/PreVoteFeature.swift +++ b/Projects/Feature/Chat/Sources/Vote/Reducer/PreVoteFeature.swift @@ -6,7 +6,7 @@ // import Foundation -import NetworkModule +import PickeNetwork import UIKit import AnalyticsServiceInterface diff --git a/Projects/Network/NetworkHeader/Project.swift b/Projects/Network/NetworkHeader/Project.swift deleted file mode 100644 index 1a817483..00000000 --- a/Projects/Network/NetworkHeader/Project.swift +++ /dev/null @@ -1,18 +0,0 @@ -import DependencyPackagePlugin -import DependencyPlugin -import Foundation -import ProjectDescription -import ProjectTemplatePlugin - -let project = Project.configure( - moduleType: .module(name: "NetworkHeader"), - bundleId: .appBundleID(name: ".NetworkHeader"), - product: .staticFramework, - settings: .settings(), - dependencies: [ - .network(implements: .networkToken), - .SPM.alamofire, - ], - sources: ["Sources/**"], - hasTests: false -) diff --git a/Projects/Network/NetworkModule/Project.swift b/Projects/Network/NetworkModule/Project.swift deleted file mode 100644 index e042727a..00000000 --- a/Projects/Network/NetworkModule/Project.swift +++ /dev/null @@ -1,18 +0,0 @@ -import DependencyPackagePlugin -import DependencyPlugin -import Foundation -import ProjectDescription -import ProjectTemplatePlugin - -let project = Project.configure( - moduleType: .module(name: "NetworkModule"), - bundleId: .appBundleID(name: ".NetworkModule"), - product: .staticFramework, - settings: .settings(), - dependencies: [ - .network(implements: .networkHeader), - .SPM.alamofire, - .SPM.logMarco, - ], - sources: ["Sources/**"] -) diff --git a/Projects/Network/NetworkModule/Sources/Exported/NetworkModuleExported.swift b/Projects/Network/NetworkModule/Sources/Exported/NetworkModuleExported.swift deleted file mode 100644 index f09acdd9..00000000 --- a/Projects/Network/NetworkModule/Sources/Exported/NetworkModuleExported.swift +++ /dev/null @@ -1,8 +0,0 @@ -// -// NetworkExported.swift -// Network -// - -// MARK: - Network 레이어 한번에 노출 - -@_exported import NetworkHeader diff --git a/Projects/Network/Networking/NetworkingTests/Sources/Test.swift b/Projects/Network/Networking/NetworkingTests/Sources/Test.swift deleted file mode 100644 index a9c810e3..00000000 --- a/Projects/Network/Networking/NetworkingTests/Sources/Test.swift +++ /dev/null @@ -1,8 +0,0 @@ -// -// base.swift -// DDDAttendance -// -// Created by Roy on 2025-09-04 -// Copyright © 2025 DDD , Ltd. All rights reserved. -// - diff --git a/Projects/Network/Networking/Project.swift b/Projects/Network/Networking/Project.swift deleted file mode 100644 index a6ef59e3..00000000 --- a/Projects/Network/Networking/Project.swift +++ /dev/null @@ -1,17 +0,0 @@ -import Foundation -import ProjectDescription -import DependencyPlugin -import ProjectTemplatePlugin -import DependencyPackagePlugin - -let project = Project.configure( - moduleType: .module(name: "Networking"), - bundleId: .appBundleID(name: ".Networking"), - product: .staticFramework, - settings: .settings(), - dependencies: [ - .network(implements: .networkHeader) - ], - sources: ["Sources/**"], - hasTests: false -) diff --git a/Projects/Network/Networking/Sources/Exorted/NetworkExported.swift b/Projects/Network/Networking/Sources/Exorted/NetworkExported.swift deleted file mode 100644 index 3ea93584..00000000 --- a/Projects/Network/Networking/Sources/Exorted/NetworkExported.swift +++ /dev/null @@ -1,8 +0,0 @@ -// -// NetworkExported.swift -// Network -// -// Created by Wonji Suh on 9/5/25. -// - -@_exported import ThirdPartys diff --git a/Projects/Network/ThirdPartys/Project.swift b/Projects/Network/ThirdPartys/Project.swift deleted file mode 100644 index 301eb54c..00000000 --- a/Projects/Network/ThirdPartys/Project.swift +++ /dev/null @@ -1,17 +0,0 @@ -import Foundation -import ProjectDescription -import DependencyPlugin -import ProjectTemplatePlugin -import DependencyPackagePlugin - -let project = Project.configure( - moduleType: .module(name: "ThirdPartys"), - bundleId: .appBundleID(name: ".ThirdPartys"), - product: .staticFramework, - settings: .settings(), - dependencies: [ - .SPM.weaveDI - ], - sources: ["Sources/**"], - hasTests: false -) diff --git a/Projects/Network/ThirdPartys/Sources/ThirdPartysExport.swift b/Projects/Network/ThirdPartys/Sources/ThirdPartysExport.swift deleted file mode 100644 index 79fba269..00000000 --- a/Projects/Network/ThirdPartys/Sources/ThirdPartysExport.swift +++ /dev/null @@ -1,5 +0,0 @@ -// -// ThirdPartys -// -// Created by Wonji Suh on 11/4/24. -// diff --git a/Projects/Network/ThirdPartys/ThirdPartysTests/Sources/.gitkeep b/Projects/Network/ThirdPartys/ThirdPartysTests/Sources/.gitkeep deleted file mode 100644 index a2c133b2..00000000 --- a/Projects/Network/ThirdPartys/ThirdPartysTests/Sources/.gitkeep +++ /dev/null @@ -1 +0,0 @@ -# This file keeps the test Sources directory in git \ No newline at end of file diff --git a/Projects/Service/API/Project.swift b/Projects/Service/API/Project.swift index 6650f406..c2c39b6f 100644 --- a/Projects/Service/API/Project.swift +++ b/Projects/Service/API/Project.swift @@ -10,7 +10,7 @@ let project = Project.configure( product: .staticFramework, settings: .settings(), dependencies: [ - .network(implements: .networkHeader), + .core(.network, .interface), ], sources: ["Sources/**"], hasTests: false diff --git a/Projects/Service/API/Sources/Base/PieckeDomain.swift b/Projects/Service/API/Sources/Base/PieckeDomain.swift index d5a85127..a56c5f65 100644 --- a/Projects/Service/API/Sources/Base/PieckeDomain.swift +++ b/Projects/Service/API/Sources/Base/PieckeDomain.swift @@ -7,7 +7,7 @@ import Foundation -import NetworkHeader +import PickeNetwork public enum PieckeDomain { case attendance diff --git a/Projects/Service/APIEndpoint/Project.swift b/Projects/Service/APIEndpoint/Project.swift index 3a73ef7c..d76b67a4 100644 --- a/Projects/Service/APIEndpoint/Project.swift +++ b/Projects/Service/APIEndpoint/Project.swift @@ -13,7 +13,7 @@ let project = Project.configure( .service(.api), // Auth 엔드포인트가 SocialType 을 경로에 쓴다. .domain(.auth, .interface), - .network(implements: .networkHeader), + .core(.network, .interface), ], sources: ["Sources/**"], hasTests: false diff --git a/Projects/Service/APIEndpoint/Sources/Attendance/AttendanceService.swift b/Projects/Service/APIEndpoint/Sources/Attendance/AttendanceService.swift index a9e398c4..da16a342 100644 --- a/Projects/Service/APIEndpoint/Sources/Attendance/AttendanceService.swift +++ b/Projects/Service/APIEndpoint/Sources/Attendance/AttendanceService.swift @@ -6,7 +6,7 @@ import Foundation import API -import NetworkHeader +import PickeNetwork public enum AttendanceService { case check diff --git a/Projects/Service/APIEndpoint/Sources/Auth/AuthService.swift b/Projects/Service/APIEndpoint/Sources/Auth/AuthService.swift index ca70053c..aafd6f63 100644 --- a/Projects/Service/APIEndpoint/Sources/Auth/AuthService.swift +++ b/Projects/Service/APIEndpoint/Sources/Auth/AuthService.swift @@ -9,7 +9,7 @@ import Foundation import API import AuthDomainInterface -import NetworkHeader +import PickeNetwork public enum AuthService { case login(provider: SocialType, body: OAuthLoginRequest) diff --git a/Projects/Service/APIEndpoint/Sources/Battle/BattleService.swift b/Projects/Service/APIEndpoint/Sources/Battle/BattleService.swift index 07bbb231..e1b46d5a 100644 --- a/Projects/Service/APIEndpoint/Sources/Battle/BattleService.swift +++ b/Projects/Service/APIEndpoint/Sources/Battle/BattleService.swift @@ -6,7 +6,7 @@ import Foundation import API -import NetworkHeader +import PickeNetwork public enum BattleService { diff --git a/Projects/Service/APIEndpoint/Sources/Comment/CommentService.swift b/Projects/Service/APIEndpoint/Sources/Comment/CommentService.swift index 40ae46b9..5378c407 100644 --- a/Projects/Service/APIEndpoint/Sources/Comment/CommentService.swift +++ b/Projects/Service/APIEndpoint/Sources/Comment/CommentService.swift @@ -6,7 +6,7 @@ import Foundation import API -import NetworkHeader +import PickeNetwork public enum CommentService { diff --git a/Projects/Service/APIEndpoint/Sources/Device/DeviceService.swift b/Projects/Service/APIEndpoint/Sources/Device/DeviceService.swift index 2dc09e5c..db8f8722 100644 --- a/Projects/Service/APIEndpoint/Sources/Device/DeviceService.swift +++ b/Projects/Service/APIEndpoint/Sources/Device/DeviceService.swift @@ -6,7 +6,7 @@ import Foundation import API -import NetworkHeader +import PickeNetwork public enum DeviceService { /// POST /api/v1/devices diff --git a/Projects/Service/APIEndpoint/Sources/Home/HomeService.swift b/Projects/Service/APIEndpoint/Sources/Home/HomeService.swift index dc2dc620..f9414a06 100644 --- a/Projects/Service/APIEndpoint/Sources/Home/HomeService.swift +++ b/Projects/Service/APIEndpoint/Sources/Home/HomeService.swift @@ -8,7 +8,7 @@ import Foundation import API -import NetworkHeader +import PickeNetwork public enum HomeService { diff --git a/Projects/Service/APIEndpoint/Sources/Notification/NotificationService.swift b/Projects/Service/APIEndpoint/Sources/Notification/NotificationService.swift index 9991fe8e..09ae31cf 100644 --- a/Projects/Service/APIEndpoint/Sources/Notification/NotificationService.swift +++ b/Projects/Service/APIEndpoint/Sources/Notification/NotificationService.swift @@ -6,7 +6,7 @@ import Foundation import API -import NetworkHeader +import PickeNetwork public enum NotificationService { diff --git a/Projects/Service/APIEndpoint/Sources/Perspective/PerspectiveService.swift b/Projects/Service/APIEndpoint/Sources/Perspective/PerspectiveService.swift index f93e0c4d..554ec1d7 100644 --- a/Projects/Service/APIEndpoint/Sources/Perspective/PerspectiveService.swift +++ b/Projects/Service/APIEndpoint/Sources/Perspective/PerspectiveService.swift @@ -6,7 +6,7 @@ import Foundation import API -import NetworkHeader +import PickeNetwork public struct PerspectiveCommentBody: Encodable { public let content: String diff --git a/Projects/Service/APIEndpoint/Sources/Profile/ProfileService.swift b/Projects/Service/APIEndpoint/Sources/Profile/ProfileService.swift index ef9c2ae2..86bf2190 100644 --- a/Projects/Service/APIEndpoint/Sources/Profile/ProfileService.swift +++ b/Projects/Service/APIEndpoint/Sources/Profile/ProfileService.swift @@ -6,7 +6,7 @@ import Foundation import API -import NetworkHeader +import PickeNetwork public enum ProfileService { diff --git a/Projects/Service/APIEndpoint/Sources/Search/SearchService.swift b/Projects/Service/APIEndpoint/Sources/Search/SearchService.swift index 3cbbf057..bf956984 100644 --- a/Projects/Service/APIEndpoint/Sources/Search/SearchService.swift +++ b/Projects/Service/APIEndpoint/Sources/Search/SearchService.swift @@ -6,7 +6,7 @@ import Foundation import API -import NetworkHeader +import PickeNetwork public enum SearchService { diff --git a/Projects/Service/DeviceService/Project.swift b/Projects/Service/DeviceService/Project.swift index 32538823..8c7cecf4 100644 --- a/Projects/Service/DeviceService/Project.swift +++ b/Projects/Service/DeviceService/Project.swift @@ -12,7 +12,7 @@ let project = Project.configure( dependencies: [ .data(.model), .service(.apiEndpoint), - .network(implements: .networkModule), + .core(.network), .SPM.composableArchitecture, .SPM.logMarco, ], diff --git a/Projects/Service/DeviceService/Sources/Repository/DeviceRepositoryImpl.swift b/Projects/Service/DeviceService/Sources/Repository/DeviceRepositoryImpl.swift index 1bff4428..aafdc5ae 100644 --- a/Projects/Service/DeviceService/Sources/Repository/DeviceRepositoryImpl.swift +++ b/Projects/Service/DeviceService/Sources/Repository/DeviceRepositoryImpl.swift @@ -7,7 +7,7 @@ import Foundation import APIEndpoint import Model -import NetworkModule +import PickeNetwork import DeviceServiceInterface import LogMacro From bd3e8194d0f5bd9a03f1b9ef1f5bc61764a81132 Mon Sep 17 00:00:00 2001 From: Roy Date: Sun, 6 Sep 2026 21:53:02 +0900 Subject: [PATCH 35/83] =?UTF-8?q?refactor(tuist):=20=EB=AA=A8=EB=93=88=20p?= =?UTF-8?q?roduct=20=EB=A5=BC=20DDD=20=EA=B7=9C=EC=B9=99=EC=97=90=20?= =?UTF-8?q?=EB=A7=9E=EC=B6=98=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit DDD 는 레이어별로 product 를 가른다. Domain 은 어셈블리까지 전부 동적 framework 고, Core 는 Network·Storage 만 동적이며, Feature 는 전부 정적이다. Picke 는 대부분 staticFramework 로 눌러 두고 product 를 아예 안 적은 모듈도 12개 있었다. - Domain 11개 모듈 → .framework - Core: PickeNetwork·PickeStorage → .framework - Service: ServiceAssembly → .framework - product 를 안 적던 Feature 6개, Domain 6개는 명시한다 PickeThirdParty 는 DDD 가 정적으로 두지만 여기서는 동적으로 남긴다. 외부 SPM 을 한 번에 재수출하는 모듈이라 정적화하면 중복 링크로 번질 수 있다. AdService 는 GoogleMobileAds 심볼 때문에 정적을 유지한다(기존 주석 참고). 빌드 검증은 아직 하지 않았다. tuist generate 는 통과했다. --- Projects/Core/PickeNetwork/Project.swift | 2 +- Projects/Core/PickeStorage/Project.swift | 2 +- Projects/Domain/AppUpdateDomain/Project.swift | 2 +- Projects/Domain/AttendanceDomain/Project.swift | 1 + Projects/Domain/AuthDomain/Project.swift | 2 +- Projects/Domain/BattleDomain/Project.swift | 1 + Projects/Domain/CommentDomain/Project.swift | 1 + Projects/Domain/DomainAssembly/Project.swift | 2 +- Projects/Domain/HomeDomain/Project.swift | 1 + Projects/Domain/NotificationDomain/Project.swift | 1 + Projects/Domain/PerspectiveDomain/Project.swift | 1 + Projects/Domain/ProfileDomain/Project.swift | 2 +- Projects/Domain/SearchDomain/Project.swift | 2 +- Projects/Feature/Auth/Project.swift | 1 + Projects/Feature/Battle/Project.swift | 1 + Projects/Feature/Chat/Project.swift | 1 + Projects/Feature/Notification/Project.swift | 1 + Projects/Feature/Splash/Project.swift | 1 + Projects/Feature/Web/Project.swift | 1 + Projects/Service/ServiceAssembly/Project.swift | 2 +- 20 files changed, 20 insertions(+), 8 deletions(-) diff --git a/Projects/Core/PickeNetwork/Project.swift b/Projects/Core/PickeNetwork/Project.swift index 76e7df87..3f29a4b3 100644 --- a/Projects/Core/PickeNetwork/Project.swift +++ b/Projects/Core/PickeNetwork/Project.swift @@ -12,7 +12,7 @@ import ProjectTemplatePlugin let project = Project.configure( moduleType: .microModule(name: "PickeNetwork"), bundleId: .appBundleID(name: ".PickeNetwork"), - product: .staticFramework, + product: .framework, settings: .settings(), dependencies: [ .core(.logger), diff --git a/Projects/Core/PickeStorage/Project.swift b/Projects/Core/PickeStorage/Project.swift index 46ec43fc..646769b8 100644 --- a/Projects/Core/PickeStorage/Project.swift +++ b/Projects/Core/PickeStorage/Project.swift @@ -7,7 +7,7 @@ import ProjectTemplatePlugin let project = Project.configure( moduleType: .microModule(name: "PickeStorage"), bundleId: .appBundleID(name: ".PickeStorage"), - product: .staticFramework, + product: .framework, settings: .settings(), // KeychainManager(Sources)가 ComposableArchitecture(DependencyKey)·WeaveDI(UnifiedDI)를 직접 import. // Security 는 시스템 프레임워크라 별도 의존성 선언이 필요 없고, Core 계층이라 Domain·Service 를 의존하지 않는다. diff --git a/Projects/Domain/AppUpdateDomain/Project.swift b/Projects/Domain/AppUpdateDomain/Project.swift index 46f7f220..0c7b3554 100644 --- a/Projects/Domain/AppUpdateDomain/Project.swift +++ b/Projects/Domain/AppUpdateDomain/Project.swift @@ -7,7 +7,7 @@ import ProjectTemplatePlugin let project = Project.configure( moduleType: .microModule(name: "AppUpdateDomain"), bundleId: .appBundleID(name: ".AppUpdateDomain"), - product: .staticFramework, + product: .framework, settings: .settings(), dependencies: [ .SPM.composableArchitecture, diff --git a/Projects/Domain/AttendanceDomain/Project.swift b/Projects/Domain/AttendanceDomain/Project.swift index 55bf9f79..467eb14a 100644 --- a/Projects/Domain/AttendanceDomain/Project.swift +++ b/Projects/Domain/AttendanceDomain/Project.swift @@ -7,6 +7,7 @@ import ProjectTemplatePlugin let project = Project.configure( moduleType: .microModule(name: "AttendanceDomain"), bundleId: .appBundleID(name: ".AttendanceDomain"), + product: .framework, settings: .settings(), dependencies: [ .SPM.weaveDI, diff --git a/Projects/Domain/AuthDomain/Project.swift b/Projects/Domain/AuthDomain/Project.swift index f4afe4ca..0301d65a 100644 --- a/Projects/Domain/AuthDomain/Project.swift +++ b/Projects/Domain/AuthDomain/Project.swift @@ -7,7 +7,7 @@ import ProjectTemplatePlugin let project = Project.configure( moduleType: .microModule(name: "AuthDomain"), bundleId: .appBundleID(name: ".AuthDomain"), - product: .staticFramework, + product: .framework, settings: .settings(), dependencies: [ .core(.storage, .interface), diff --git a/Projects/Domain/BattleDomain/Project.swift b/Projects/Domain/BattleDomain/Project.swift index 21fd8976..bacf4830 100644 --- a/Projects/Domain/BattleDomain/Project.swift +++ b/Projects/Domain/BattleDomain/Project.swift @@ -7,6 +7,7 @@ import ProjectTemplatePlugin let project = Project.configure( moduleType: .microModule(name: "BattleDomain"), bundleId: .appBundleID(name: ".BattleDomain"), + product: .framework, settings: .settings(), dependencies: [ .SPM.weaveDI, diff --git a/Projects/Domain/CommentDomain/Project.swift b/Projects/Domain/CommentDomain/Project.swift index 1c45d70c..8b22d4a0 100644 --- a/Projects/Domain/CommentDomain/Project.swift +++ b/Projects/Domain/CommentDomain/Project.swift @@ -7,6 +7,7 @@ import ProjectTemplatePlugin let project = Project.configure( moduleType: .microModule(name: "CommentDomain"), bundleId: .appBundleID(name: ".CommentDomain"), + product: .framework, settings: .settings(), dependencies: [ .domain(.battle, .interface), diff --git a/Projects/Domain/DomainAssembly/Project.swift b/Projects/Domain/DomainAssembly/Project.swift index 2d7c4d83..df12f965 100644 --- a/Projects/Domain/DomainAssembly/Project.swift +++ b/Projects/Domain/DomainAssembly/Project.swift @@ -7,7 +7,7 @@ import ProjectTemplatePlugin let project = Project.configure( moduleType: .module(name: "DomainAssembly"), bundleId: .appBundleID(name: ".DomainAssembly"), - product: .staticFramework, + product: .framework, settings: .settings(), dependencies: [ .domain(.appUpdate), diff --git a/Projects/Domain/HomeDomain/Project.swift b/Projects/Domain/HomeDomain/Project.swift index 0658105a..659bb5f0 100644 --- a/Projects/Domain/HomeDomain/Project.swift +++ b/Projects/Domain/HomeDomain/Project.swift @@ -7,6 +7,7 @@ import ProjectTemplatePlugin let project = Project.configure( moduleType: .microModule(name: "HomeDomain"), bundleId: .appBundleID(name: ".HomeDomain"), + product: .framework, settings: .settings(), dependencies: [ .SPM.weaveDI, diff --git a/Projects/Domain/NotificationDomain/Project.swift b/Projects/Domain/NotificationDomain/Project.swift index 8b1fee9e..88b31bf1 100644 --- a/Projects/Domain/NotificationDomain/Project.swift +++ b/Projects/Domain/NotificationDomain/Project.swift @@ -7,6 +7,7 @@ import ProjectTemplatePlugin let project = Project.configure( moduleType: .microModule(name: "NotificationDomain"), bundleId: .appBundleID(name: ".NotificationDomain"), + product: .framework, settings: .settings(), dependencies: [ .SPM.weaveDI, diff --git a/Projects/Domain/PerspectiveDomain/Project.swift b/Projects/Domain/PerspectiveDomain/Project.swift index eb5e0d0f..34dd0485 100644 --- a/Projects/Domain/PerspectiveDomain/Project.swift +++ b/Projects/Domain/PerspectiveDomain/Project.swift @@ -7,6 +7,7 @@ import ProjectTemplatePlugin let project = Project.configure( moduleType: .microModule(name: "PerspectiveDomain"), bundleId: .appBundleID(name: ".PerspectiveDomain"), + product: .framework, settings: .settings(), dependencies: [ .domain(.battle, .interface), diff --git a/Projects/Domain/ProfileDomain/Project.swift b/Projects/Domain/ProfileDomain/Project.swift index f79ddaba..305fcb27 100644 --- a/Projects/Domain/ProfileDomain/Project.swift +++ b/Projects/Domain/ProfileDomain/Project.swift @@ -7,7 +7,7 @@ import ProjectTemplatePlugin let project = Project.configure( moduleType: .microModule(name: "ProfileDomain"), bundleId: .appBundleID(name: ".ProfileDomain"), - product: .staticFramework, + product: .framework, settings: .settings(), dependencies: [ .SPM.composableArchitecture, diff --git a/Projects/Domain/SearchDomain/Project.swift b/Projects/Domain/SearchDomain/Project.swift index 98318872..1cc9609e 100644 --- a/Projects/Domain/SearchDomain/Project.swift +++ b/Projects/Domain/SearchDomain/Project.swift @@ -7,7 +7,7 @@ import ProjectTemplatePlugin let project = Project.configure( moduleType: .microModule(name: "SearchDomain"), bundleId: .appBundleID(name: ".SearchDomain"), - product: .staticFramework, + product: .framework, settings: .settings(), dependencies: [ .domain(.home, .interface), diff --git a/Projects/Feature/Auth/Project.swift b/Projects/Feature/Auth/Project.swift index da19de34..7eefc30b 100644 --- a/Projects/Feature/Auth/Project.swift +++ b/Projects/Feature/Auth/Project.swift @@ -7,6 +7,7 @@ import ProjectTemplatePlugin let project = Project.configure( moduleType: .microModule(name: "Auth"), bundleId: .appBundleID(name: ".Auth"), + product: .staticFramework, settings: .settings(), dependencies: [ .designSystem, diff --git a/Projects/Feature/Battle/Project.swift b/Projects/Feature/Battle/Project.swift index 8eac8eeb..8d01ceb6 100644 --- a/Projects/Feature/Battle/Project.swift +++ b/Projects/Feature/Battle/Project.swift @@ -7,6 +7,7 @@ import ProjectTemplatePlugin let project = Project.configure( moduleType: .microModule(name: "Battle"), bundleId: .appBundleID(name: ".Battle"), + product: .staticFramework, settings: .settings(), dependencies: [ .designSystem, diff --git a/Projects/Feature/Chat/Project.swift b/Projects/Feature/Chat/Project.swift index 6275f5d2..dabb083e 100644 --- a/Projects/Feature/Chat/Project.swift +++ b/Projects/Feature/Chat/Project.swift @@ -7,6 +7,7 @@ import ProjectTemplatePlugin let project = Project.configure( moduleType: .microModule(name: "Chat"), bundleId: .appBundleID(name: ".Chat"), + product: .staticFramework, settings: .settings(), dependencies: [ .service(.audioPlayer, .interface), diff --git a/Projects/Feature/Notification/Project.swift b/Projects/Feature/Notification/Project.swift index 32682766..a32a97e5 100644 --- a/Projects/Feature/Notification/Project.swift +++ b/Projects/Feature/Notification/Project.swift @@ -7,6 +7,7 @@ import ProjectTemplatePlugin let project = Project.configure( moduleType: .microModule(name: "Notification"), bundleId: .appBundleID(name: ".Notification"), + product: .staticFramework, settings: .settings(), dependencies: [ .designSystem, diff --git a/Projects/Feature/Splash/Project.swift b/Projects/Feature/Splash/Project.swift index 6b1a6de1..091e1897 100644 --- a/Projects/Feature/Splash/Project.swift +++ b/Projects/Feature/Splash/Project.swift @@ -7,6 +7,7 @@ import DependencyPackagePlugin let project = Project.configure( moduleType: .microModule(name: "Splash"), bundleId: .appBundleID(name: ".Splash"), + product: .staticFramework, settings: .settings(), dependencies: [ .designSystem, diff --git a/Projects/Feature/Web/Project.swift b/Projects/Feature/Web/Project.swift index 33983b50..9f8c4ea8 100644 --- a/Projects/Feature/Web/Project.swift +++ b/Projects/Feature/Web/Project.swift @@ -7,6 +7,7 @@ import DependencyPackagePlugin let project = Project.configure( moduleType: .microModule(name: "Web"), bundleId: .appBundleID(name: ".Web"), + product: .staticFramework, settings: .settings(), dependencies: [ .designSystem, diff --git a/Projects/Service/ServiceAssembly/Project.swift b/Projects/Service/ServiceAssembly/Project.swift index 92c05959..7b798796 100644 --- a/Projects/Service/ServiceAssembly/Project.swift +++ b/Projects/Service/ServiceAssembly/Project.swift @@ -7,7 +7,7 @@ import ProjectTemplatePlugin let project = Project.configure( moduleType: .module(name: "ServiceAssembly"), bundleId: .appBundleID(name: ".ServiceAssembly"), - product: .staticFramework, + product: .framework, settings: .settings(), // SDK 를 링크하는 서비스 구현을 한곳에서 묶는 조립 경계. dependencies: [ From 454b60490320242e9f8dc8e1a49a2edccc717086 Mon Sep 17 00:00:00 2001 From: Roy Date: Sun, 6 Sep 2026 21:55:37 +0900 Subject: [PATCH 36/83] =?UTF-8?q?refactor(domain):=20=EA=B3=B5=EC=9A=A9=20?= =?UTF-8?q?DTO=20=EB=AA=A8=EB=93=88=20Model=20=EC=9D=84=20=ED=95=B4?= =?UTF-8?q?=EC=B2=B4=ED=95=98=EA=B3=A0=20Data=20=EB=A0=88=EC=9D=B4?= =?UTF-8?q?=EC=96=B4=EB=A5=BC=20=EC=97=86=EC=95=A4=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Model 은 레이어를 가로질러 모든 피처의 DTO 를 한 모듈에 모아 두고 있었다. DDD 는 이런 모듈이 없고, 응답 봉투는 네트워크 계약에, 피처 DTO 는 각 도메인 안에 있다. - BaseResponseDTO·BaseDataDTO·APIErrorDTO·ServerNaiveDateParser → PickeNetwork/Interface/Response - AppUpdate·Battle·Comment·Perspective 의 DTO·Mapper → 각 Domain/Sources/Model - Base.swift 는 Tuist 템플릿이 남긴 BaseView 스텁이라 지운다 이걸로 Projects/Data 아래 추적 파일이 0이 되어 Data 레이어가 사라진다. 카탈로그에서도 DataModule·relativeToData·.data(_:) 를 걷어낸다. import Model 29곳은 계약이 필요한 곳만 PickeNetworkInterface 로 바뀌고 나머지는 같은 모듈 안으로 들어와 import 자체가 없어진다. 빌드 검증은 아직 하지 않았다. tuist generate 는 통과했다. --- .../TargetDependency+Module/Modules.swift | 9 -------- .../Path+Modules.swift | 3 --- .../TargetDependency+Modules.swift | 3 --- .../Interface/Response}/APIErrorDTO.swift | 2 +- .../Interface/Response}/BaseDataDTO.swift | 2 +- .../Interface/Response}/BaseResponseDTO.swift | 2 +- .../Response}/ServerNaiveDateParser.swift | 2 +- .../Data/Model/ModelTests/Sources/Test.swift | 8 ------- Projects/Data/Model/Project.swift | 20 ----------------- Projects/Data/Model/Sources/Base.swift | 22 ------------------- Projects/Domain/AppUpdateDomain/Project.swift | 1 - .../Sources/Model}/AppUpdateDTO.swift | 2 +- .../Sources/Model}/Mapper/AppUpdateDTO+.swift | 2 +- .../Repository/AppUpdateRepositoryImpl.swift | 1 - .../Domain/AttendanceDomain/Project.swift | 1 - .../Model/DTO/AttendanceCheckDataDTO.swift | 4 ++-- .../Sources/Model/DTO/AttendanceDayDTO.swift | 2 +- .../Model/DTO/AttendanceSummaryDataDTO.swift | 4 ++-- .../Model/DTO/WeeklyAttendanceDataDTO.swift | 4 ++-- .../Model/Mapper/AttendanceDataDTO+.swift | 2 +- .../Repository/AttendanceRepositoryImpl.swift | 1 - Projects/Domain/AuthDomain/Project.swift | 1 - .../Model/Login/DTO/LoginDataDTO.swift | 4 ++-- .../Model/Login/Mapper/LoginDataDTO+.swift | 2 +- .../Sources/Model/Logout/DTO/LogOutDTO.swift | 4 ++-- .../Model/Logout/Mapper/LogOutDTO+.swift | 2 +- .../Sources/Model/Token/DTO/TokenDTO.swift | 4 ++-- .../Model/Token/Mapper/TokenDTO+.swift | 2 +- .../Model/Withdraw/DTO/WithdrawDTO.swift | 4 ++-- .../Model/Withdraw/Mapper/WithdrawDTO+.swift | 2 +- .../Repository/AuthRepositoryImpl.swift | 1 - Projects/Domain/BattleDomain/Project.swift | 1 - .../Model}/DTO/BattleDetailDataDTO.swift | 2 +- .../Model}/DTO/BattlePerspectiveDataDTO.swift | 2 +- .../Model}/DTO/BattleProposalDataDTO.swift | 2 +- .../Model}/DTO/BattleScenarioDataDTO.swift | 2 +- .../Model}/DTO/BattleVoteStatsDataDTO.swift | 2 +- .../Sources/Model}/DTO/PreVoteDataDTO.swift | 2 +- .../Model}/DTO/RecommendedBattleDataDTO.swift | 2 +- .../Model}/DTO/TodayBattleDataDTO.swift | 2 +- .../Model}/Mapper/BattleDetailDataDTO+.swift | 2 +- .../Mapper/BattlePerspectiveDataDTO+.swift | 2 +- .../Mapper/BattleProposalDataDTO+.swift | 2 +- .../Mapper/BattleScenarioDataDTO+.swift | 2 +- .../Mapper/BattleVoteStatsDataDTO+.swift | 2 +- .../Model}/Mapper/PreVoteDataDTO+.swift | 2 +- .../Mapper/RecommendedBattleDataDTO+.swift | 2 +- .../Model}/Mapper/TodayBattleDataDTO+.swift | 2 +- .../Repository/BattleRepositoryImpl.swift | 1 - Projects/Domain/CommentDomain/Project.swift | 1 - .../Model}/DTO/CommentLikeDataDTO.swift | 4 ++-- .../Model}/Mapper/CommentLikeDataDTO+.swift | 2 +- .../Repository/CommentRepositoryImpl.swift | 1 - Projects/Domain/HomeDomain/Project.swift | 1 - .../Sources/Model/HomeDataDTO+.swift | 2 +- .../Sources/Model/HomeDataDTO.swift | 4 ++-- .../Repository/HomeRepositoryImpl.swift | 1 - .../Domain/NotificationDomain/Project.swift | 1 - .../Model/DTO/NotificationDataDTO.swift | 4 ++-- .../Model/Mapper/NotificationDataDTO+.swift | 2 +- .../NotificationRepositoryImpl.swift | 1 - .../Domain/PerspectiveDomain/Project.swift | 1 - .../DTO/PerspectiveCommentDataDTO.swift | 2 +- .../Mapper/PerspectiveCommentDataDTO+.swift | 2 +- .../PerspectiveRepositoryImpl.swift | 1 - Projects/Domain/ProfileDomain/Project.swift | 1 - .../Model/DTO/BattleRecordDataDTO.swift | 4 ++-- .../Model/DTO/ContentActivityDataDTO.swift | 4 ++-- .../Model/DTO/CreditHistoryDataDTO.swift | 4 ++-- .../Sources/Model/DTO/MyPageDataDTO.swift | 4 ++-- .../DTO/NotificationSettingsDataDTO.swift | 4 ++-- .../Model/DTO/ProfileUpdateDataDTO.swift | 2 +- .../Sources/Model/DTO/RecapDataDTO.swift | 4 ++-- .../Model/Mapper/BattleRecordDataDTO+.swift | 2 +- .../Mapper/ContentActivityDataDTO+.swift | 2 +- .../Model/Mapper/CreditHistoryDataDTO+.swift | 4 ++-- .../Sources/Model/Mapper/MyPageDataDTO+.swift | 2 +- .../Mapper/NotificationSettingsDataDTO+.swift | 2 +- .../Sources/Model/Mapper/RecapDataDTO+.swift | 2 +- Projects/Domain/SearchDomain/Project.swift | 1 - .../Sources/SearchBattleDataDTO+.swift | 2 +- .../Sources/SearchBattleDataDTO.swift | 4 ++-- .../Sources/SearchRepositoryImpl.swift | 1 - Projects/Service/DeviceService/Project.swift | 1 - .../Repository/DeviceRepositoryImpl.swift | 1 - 85 files changed, 76 insertions(+), 162 deletions(-) rename Projects/{Data/Model/Sources/Common => Core/PickeNetwork/Interface/Response}/APIErrorDTO.swift (94%) rename Projects/{Data/Model/Sources/Common => Core/PickeNetwork/Interface/Response}/BaseDataDTO.swift (93%) rename Projects/{Data/Model/Sources/Common => Core/PickeNetwork/Interface/Response}/BaseResponseDTO.swift (95%) rename Projects/{Data/Model/Sources/Common => Core/PickeNetwork/Interface/Response}/ServerNaiveDateParser.swift (95%) delete mode 100644 Projects/Data/Model/ModelTests/Sources/Test.swift delete mode 100644 Projects/Data/Model/Project.swift delete mode 100644 Projects/Data/Model/Sources/Base.swift rename Projects/{Data/Model/Sources/AppUpdate => Domain/AppUpdateDomain/Sources/Model}/AppUpdateDTO.swift (97%) rename Projects/{Data/Model/Sources/AppUpdate => Domain/AppUpdateDomain/Sources/Model}/Mapper/AppUpdateDTO+.swift (96%) rename Projects/{Data/Model/Sources/Battle => Domain/BattleDomain/Sources/Model}/DTO/BattleDetailDataDTO.swift (99%) rename Projects/{Data/Model/Sources/Battle => Domain/BattleDomain/Sources/Model}/DTO/BattlePerspectiveDataDTO.swift (98%) rename Projects/{Data/Model/Sources/Battle => Domain/BattleDomain/Sources/Model}/DTO/BattleProposalDataDTO.swift (96%) rename Projects/{Data/Model/Sources/Battle => Domain/BattleDomain/Sources/Model}/DTO/BattleScenarioDataDTO.swift (99%) rename Projects/{Data/Model/Sources/Battle => Domain/BattleDomain/Sources/Model}/DTO/BattleVoteStatsDataDTO.swift (97%) rename Projects/{Data/Model/Sources/Battle => Domain/BattleDomain/Sources/Model}/DTO/PreVoteDataDTO.swift (92%) rename Projects/{Data/Model/Sources/Battle => Domain/BattleDomain/Sources/Model}/DTO/RecommendedBattleDataDTO.swift (98%) rename Projects/{Data/Model/Sources/Battle => Domain/BattleDomain/Sources/Model}/DTO/TodayBattleDataDTO.swift (93%) rename Projects/{Data/Model/Sources/Battle => Domain/BattleDomain/Sources/Model}/Mapper/BattleDetailDataDTO+.swift (98%) rename Projects/{Data/Model/Sources/Battle => Domain/BattleDomain/Sources/Model}/Mapper/BattlePerspectiveDataDTO+.swift (98%) rename Projects/{Data/Model/Sources/Battle => Domain/BattleDomain/Sources/Model}/Mapper/BattleProposalDataDTO+.swift (98%) rename Projects/{Data/Model/Sources/Battle => Domain/BattleDomain/Sources/Model}/Mapper/BattleScenarioDataDTO+.swift (99%) rename Projects/{Data/Model/Sources/Battle => Domain/BattleDomain/Sources/Model}/Mapper/BattleVoteStatsDataDTO+.swift (98%) rename Projects/{Data/Model/Sources/Battle => Domain/BattleDomain/Sources/Model}/Mapper/PreVoteDataDTO+.swift (93%) rename Projects/{Data/Model/Sources/Battle => Domain/BattleDomain/Sources/Model}/Mapper/RecommendedBattleDataDTO+.swift (98%) rename Projects/{Data/Model/Sources/Battle => Domain/BattleDomain/Sources/Model}/Mapper/TodayBattleDataDTO+.swift (94%) rename Projects/{Data/Model/Sources/Comment => Domain/CommentDomain/Sources/Model}/DTO/CommentLikeDataDTO.swift (87%) rename Projects/{Data/Model/Sources/Comment => Domain/CommentDomain/Sources/Model}/Mapper/CommentLikeDataDTO+.swift (94%) rename Projects/{Data/Model/Sources/Perspective => Domain/PerspectiveDomain/Sources/Model}/DTO/PerspectiveCommentDataDTO.swift (98%) rename Projects/{Data/Model/Sources/Perspective => Domain/PerspectiveDomain/Sources/Model}/Mapper/PerspectiveCommentDataDTO+.swift (99%) diff --git a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Modules.swift b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Modules.swift index d74ae081..83f03bbb 100644 --- a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Modules.swift +++ b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Modules.swift @@ -74,12 +74,3 @@ public enum DomainModule: String, CaseIterable { } } -public enum DataModule: String, CaseIterable { - case model = "Model" - - /// Projects/Data/ - var path: Path { - return .relativeToData(rawValue) - } -} - diff --git a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Path+Modules.swift b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Path+Modules.swift index 65400147..4e098952 100644 --- a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Path+Modules.swift +++ b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Path+Modules.swift @@ -17,9 +17,6 @@ public extension ProjectDescription.Path { return .relativeToRoot("Projects/Core/\(name)") } - static func relativeToData(_ name: String) -> Self { - return .relativeToRoot("Projects/Data/\(name)") - } static func relativeToService(_ name: String) -> Self { return .relativeToRoot("Projects/Service/\(name)") diff --git a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/TargetDependency+Modules.swift b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/TargetDependency+Modules.swift index 54143a3f..3b77c6f4 100644 --- a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/TargetDependency+Modules.swift +++ b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/TargetDependency+Modules.swift @@ -78,9 +78,6 @@ public extension TargetDependency { return .domain(.assembly) } - static func data(_ module: DataModule, _ target: ModuleTarget = .implementation) -> Self { - return .moduleDependency(name: module.rawValue, path: module.path, target: target) - } /// 디자인 시스템(단일 타깃). UI 레이어로 쪼갠 뒤 `ui(_:)` 로 대체한다. static var designSystem: Self { diff --git a/Projects/Data/Model/Sources/Common/APIErrorDTO.swift b/Projects/Core/PickeNetwork/Interface/Response/APIErrorDTO.swift similarity index 94% rename from Projects/Data/Model/Sources/Common/APIErrorDTO.swift rename to Projects/Core/PickeNetwork/Interface/Response/APIErrorDTO.swift index b2d15ae4..be527128 100644 --- a/Projects/Data/Model/Sources/Common/APIErrorDTO.swift +++ b/Projects/Core/PickeNetwork/Interface/Response/APIErrorDTO.swift @@ -1,6 +1,6 @@ // // APIErrorDTO.swift -// Model +// PickeNetworkInterface // // Created by Wonji Suh on 5/14/26. // diff --git a/Projects/Data/Model/Sources/Common/BaseDataDTO.swift b/Projects/Core/PickeNetwork/Interface/Response/BaseDataDTO.swift similarity index 93% rename from Projects/Data/Model/Sources/Common/BaseDataDTO.swift rename to Projects/Core/PickeNetwork/Interface/Response/BaseDataDTO.swift index ffcda194..65578c8c 100644 --- a/Projects/Data/Model/Sources/Common/BaseDataDTO.swift +++ b/Projects/Core/PickeNetwork/Interface/Response/BaseDataDTO.swift @@ -1,6 +1,6 @@ // // BaseDataDTO.swift -// Model +// PickeNetworkInterface // // Created by Wonji Suh on 5/14/26. // diff --git a/Projects/Data/Model/Sources/Common/BaseResponseDTO.swift b/Projects/Core/PickeNetwork/Interface/Response/BaseResponseDTO.swift similarity index 95% rename from Projects/Data/Model/Sources/Common/BaseResponseDTO.swift rename to Projects/Core/PickeNetwork/Interface/Response/BaseResponseDTO.swift index 81bc8b30..24525e0a 100644 --- a/Projects/Data/Model/Sources/Common/BaseResponseDTO.swift +++ b/Projects/Core/PickeNetwork/Interface/Response/BaseResponseDTO.swift @@ -1,6 +1,6 @@ // // BaseResponseDTO.swift -// Model +// PickeNetworkInterface // // Created by Wonji Suh on 5/14/26. // diff --git a/Projects/Data/Model/Sources/Common/ServerNaiveDateParser.swift b/Projects/Core/PickeNetwork/Interface/Response/ServerNaiveDateParser.swift similarity index 95% rename from Projects/Data/Model/Sources/Common/ServerNaiveDateParser.swift rename to Projects/Core/PickeNetwork/Interface/Response/ServerNaiveDateParser.swift index e27d2060..b0bb4d5c 100644 --- a/Projects/Data/Model/Sources/Common/ServerNaiveDateParser.swift +++ b/Projects/Core/PickeNetwork/Interface/Response/ServerNaiveDateParser.swift @@ -1,6 +1,6 @@ // // ServerNaiveDateParser.swift -// Model +// PickeNetworkInterface // import Foundation diff --git a/Projects/Data/Model/ModelTests/Sources/Test.swift b/Projects/Data/Model/ModelTests/Sources/Test.swift deleted file mode 100644 index a9c810e3..00000000 --- a/Projects/Data/Model/ModelTests/Sources/Test.swift +++ /dev/null @@ -1,8 +0,0 @@ -// -// base.swift -// DDDAttendance -// -// Created by Roy on 2025-09-04 -// Copyright © 2025 DDD , Ltd. All rights reserved. -// - diff --git a/Projects/Data/Model/Project.swift b/Projects/Data/Model/Project.swift deleted file mode 100644 index dadb6f49..00000000 --- a/Projects/Data/Model/Project.swift +++ /dev/null @@ -1,20 +0,0 @@ -import DependencyPackagePlugin -import DependencyPlugin -import Foundation -import ProjectDescription -import ProjectTemplatePlugin - -let project = Project.configure( - moduleType: .module(name: "Model"), - bundleId: .appBundleID(name: ".Model"), - product: .staticFramework, - settings: .settings(), - dependencies: [ - .domain(.appUpdate, .interface), - .domain(.comment, .interface), - .domain(.battle, .interface), - .domain(.home, .interface), - ], - sources: ["Sources/**"], - hasTests: false -) diff --git a/Projects/Data/Model/Sources/Base.swift b/Projects/Data/Model/Sources/Base.swift deleted file mode 100644 index 6297cc4c..00000000 --- a/Projects/Data/Model/Sources/Base.swift +++ /dev/null @@ -1,22 +0,0 @@ -// -// base.swift -// DDDAttendance. -// -// Created by Roy on 2025-09-04 -// Copyright © 2025 DDD , Ltd., All rights reserved. -// - -import SwiftUI - -struct BaseView: View { - var body: some View { - VStack { - Image(systemName: "globe") - .imageScale(.large) - .foregroundColor(.accentColor) - Text("Hello, world!") - } - .padding() - } -} - diff --git a/Projects/Domain/AppUpdateDomain/Project.swift b/Projects/Domain/AppUpdateDomain/Project.swift index 0c7b3554..992cbba5 100644 --- a/Projects/Domain/AppUpdateDomain/Project.swift +++ b/Projects/Domain/AppUpdateDomain/Project.swift @@ -11,7 +11,6 @@ let project = Project.configure( settings: .settings(), dependencies: [ .SPM.composableArchitecture, - .data(.model), .core(.network), .SPM.logMarco, ], diff --git a/Projects/Data/Model/Sources/AppUpdate/AppUpdateDTO.swift b/Projects/Domain/AppUpdateDomain/Sources/Model/AppUpdateDTO.swift similarity index 97% rename from Projects/Data/Model/Sources/AppUpdate/AppUpdateDTO.swift rename to Projects/Domain/AppUpdateDomain/Sources/Model/AppUpdateDTO.swift index 7784fabc..cb615767 100644 --- a/Projects/Data/Model/Sources/AppUpdate/AppUpdateDTO.swift +++ b/Projects/Domain/AppUpdateDomain/Sources/Model/AppUpdateDTO.swift @@ -1,6 +1,6 @@ // // AppUpdateDTO.swift -// Model +// AppUpdateDomain // import Foundation diff --git a/Projects/Data/Model/Sources/AppUpdate/Mapper/AppUpdateDTO+.swift b/Projects/Domain/AppUpdateDomain/Sources/Model/Mapper/AppUpdateDTO+.swift similarity index 96% rename from Projects/Data/Model/Sources/AppUpdate/Mapper/AppUpdateDTO+.swift rename to Projects/Domain/AppUpdateDomain/Sources/Model/Mapper/AppUpdateDTO+.swift index fc5a49f2..b1688930 100644 --- a/Projects/Data/Model/Sources/AppUpdate/Mapper/AppUpdateDTO+.swift +++ b/Projects/Domain/AppUpdateDomain/Sources/Model/Mapper/AppUpdateDTO+.swift @@ -1,6 +1,6 @@ // // AppUpdateDTO+.swift -// Model +// AppUpdateDomain // import Foundation diff --git a/Projects/Domain/AppUpdateDomain/Sources/Repository/AppUpdateRepositoryImpl.swift b/Projects/Domain/AppUpdateDomain/Sources/Repository/AppUpdateRepositoryImpl.swift index 88dd61b5..92bdfdd9 100644 --- a/Projects/Domain/AppUpdateDomain/Sources/Repository/AppUpdateRepositoryImpl.swift +++ b/Projects/Domain/AppUpdateDomain/Sources/Repository/AppUpdateRepositoryImpl.swift @@ -5,7 +5,6 @@ import Foundation -import Model import AppUpdateDomainInterface import LogMacro diff --git a/Projects/Domain/AttendanceDomain/Project.swift b/Projects/Domain/AttendanceDomain/Project.swift index 467eb14a..d98dd456 100644 --- a/Projects/Domain/AttendanceDomain/Project.swift +++ b/Projects/Domain/AttendanceDomain/Project.swift @@ -13,7 +13,6 @@ let project = Project.configure( .SPM.weaveDI, .SPM.composableArchitecture, .service(.api), - .data(.model), .service(.apiEndpoint), .core(.network), .core(.network, .interface), diff --git a/Projects/Domain/AttendanceDomain/Sources/Model/DTO/AttendanceCheckDataDTO.swift b/Projects/Domain/AttendanceDomain/Sources/Model/DTO/AttendanceCheckDataDTO.swift index 5a38d3f7..1f2c9063 100644 --- a/Projects/Domain/AttendanceDomain/Sources/Model/DTO/AttendanceCheckDataDTO.swift +++ b/Projects/Domain/AttendanceDomain/Sources/Model/DTO/AttendanceCheckDataDTO.swift @@ -1,11 +1,11 @@ // // AttendanceCheckDataDTO.swift -// Model +// AttendanceDomain // +import PickeNetworkInterface import Foundation -import Model public struct AttendanceCheckDataDTO: Decodable { public let userTag: String? diff --git a/Projects/Domain/AttendanceDomain/Sources/Model/DTO/AttendanceDayDTO.swift b/Projects/Domain/AttendanceDomain/Sources/Model/DTO/AttendanceDayDTO.swift index aaa39e54..355caddb 100644 --- a/Projects/Domain/AttendanceDomain/Sources/Model/DTO/AttendanceDayDTO.swift +++ b/Projects/Domain/AttendanceDomain/Sources/Model/DTO/AttendanceDayDTO.swift @@ -1,6 +1,6 @@ // // AttendanceDayDTO.swift -// Model +// AttendanceDomain // import Foundation diff --git a/Projects/Domain/AttendanceDomain/Sources/Model/DTO/AttendanceSummaryDataDTO.swift b/Projects/Domain/AttendanceDomain/Sources/Model/DTO/AttendanceSummaryDataDTO.swift index 6307f97b..1f6db7f9 100644 --- a/Projects/Domain/AttendanceDomain/Sources/Model/DTO/AttendanceSummaryDataDTO.swift +++ b/Projects/Domain/AttendanceDomain/Sources/Model/DTO/AttendanceSummaryDataDTO.swift @@ -1,11 +1,11 @@ // // AttendanceSummaryDataDTO.swift -// Model +// AttendanceDomain // +import PickeNetworkInterface import Foundation -import Model public struct AttendanceSummaryDataDTO: Decodable { public let userTag: String? diff --git a/Projects/Domain/AttendanceDomain/Sources/Model/DTO/WeeklyAttendanceDataDTO.swift b/Projects/Domain/AttendanceDomain/Sources/Model/DTO/WeeklyAttendanceDataDTO.swift index c341650e..cfbfbd0f 100644 --- a/Projects/Domain/AttendanceDomain/Sources/Model/DTO/WeeklyAttendanceDataDTO.swift +++ b/Projects/Domain/AttendanceDomain/Sources/Model/DTO/WeeklyAttendanceDataDTO.swift @@ -1,11 +1,11 @@ // // WeeklyAttendanceDataDTO.swift -// Model +// AttendanceDomain // +import PickeNetworkInterface import Foundation -import Model public struct WeeklyAttendanceDataDTO: Decodable { public let userTag: String? diff --git a/Projects/Domain/AttendanceDomain/Sources/Model/Mapper/AttendanceDataDTO+.swift b/Projects/Domain/AttendanceDomain/Sources/Model/Mapper/AttendanceDataDTO+.swift index dde3b522..dccbd9a0 100644 --- a/Projects/Domain/AttendanceDomain/Sources/Model/Mapper/AttendanceDataDTO+.swift +++ b/Projects/Domain/AttendanceDomain/Sources/Model/Mapper/AttendanceDataDTO+.swift @@ -1,6 +1,6 @@ // // AttendanceDataDTO+.swift -// Model +// AttendanceDomain // import Foundation diff --git a/Projects/Domain/AttendanceDomain/Sources/Repository/AttendanceRepositoryImpl.swift b/Projects/Domain/AttendanceDomain/Sources/Repository/AttendanceRepositoryImpl.swift index cf125caa..a84e538f 100644 --- a/Projects/Domain/AttendanceDomain/Sources/Repository/AttendanceRepositoryImpl.swift +++ b/Projects/Domain/AttendanceDomain/Sources/Repository/AttendanceRepositoryImpl.swift @@ -7,7 +7,6 @@ import Foundation import APIEndpoint import AttendanceDomainInterface -import Model import PickeNetwork import LogMacro diff --git a/Projects/Domain/AuthDomain/Project.swift b/Projects/Domain/AuthDomain/Project.swift index 0301d65a..3dcc152a 100644 --- a/Projects/Domain/AuthDomain/Project.swift +++ b/Projects/Domain/AuthDomain/Project.swift @@ -15,7 +15,6 @@ let project = Project.configure( .SPM.weaveDI, .SPM.logMarco, .service(.api), - .data(.model), .service(.apiEndpoint), .core(.network), .core(.network, .interface), diff --git a/Projects/Domain/AuthDomain/Sources/Model/Login/DTO/LoginDataDTO.swift b/Projects/Domain/AuthDomain/Sources/Model/Login/DTO/LoginDataDTO.swift index 6f64b41a..acb54992 100644 --- a/Projects/Domain/AuthDomain/Sources/Model/Login/DTO/LoginDataDTO.swift +++ b/Projects/Domain/AuthDomain/Sources/Model/Login/DTO/LoginDataDTO.swift @@ -1,12 +1,12 @@ // // LoginDataDTO.swift -// Model +// AuthDomain // // Created by Wonji Suh on 5/14/26. // +import PickeNetworkInterface import Foundation -import Model public struct LoginDataDTO: Decodable { public let accessToken: String diff --git a/Projects/Domain/AuthDomain/Sources/Model/Login/Mapper/LoginDataDTO+.swift b/Projects/Domain/AuthDomain/Sources/Model/Login/Mapper/LoginDataDTO+.swift index d610d265..08e5470f 100644 --- a/Projects/Domain/AuthDomain/Sources/Model/Login/Mapper/LoginDataDTO+.swift +++ b/Projects/Domain/AuthDomain/Sources/Model/Login/Mapper/LoginDataDTO+.swift @@ -1,6 +1,6 @@ // // LoginDataDTO+.swift -// Model +// AuthDomain // // Created by Wonji Suh on 5/14/26. // diff --git a/Projects/Domain/AuthDomain/Sources/Model/Logout/DTO/LogOutDTO.swift b/Projects/Domain/AuthDomain/Sources/Model/Logout/DTO/LogOutDTO.swift index ddb6fb7a..4a15edcc 100644 --- a/Projects/Domain/AuthDomain/Sources/Model/Logout/DTO/LogOutDTO.swift +++ b/Projects/Domain/AuthDomain/Sources/Model/Logout/DTO/LogOutDTO.swift @@ -1,12 +1,12 @@ // // LogOutDTO.swift -// Model +// AuthDomain // // Created by Wonji Suh on 5/14/26. // +import PickeNetworkInterface import Foundation -import Model public struct LogoutDataDTO: Decodable, Equatable { public let loggedOut: Bool diff --git a/Projects/Domain/AuthDomain/Sources/Model/Logout/Mapper/LogOutDTO+.swift b/Projects/Domain/AuthDomain/Sources/Model/Logout/Mapper/LogOutDTO+.swift index 0b5ea884..73f0361f 100644 --- a/Projects/Domain/AuthDomain/Sources/Model/Logout/Mapper/LogOutDTO+.swift +++ b/Projects/Domain/AuthDomain/Sources/Model/Logout/Mapper/LogOutDTO+.swift @@ -1,6 +1,6 @@ // // LogOutDTO+.swift -// Model +// AuthDomain // // Created by Wonji Suh on 5/14/26. // diff --git a/Projects/Domain/AuthDomain/Sources/Model/Token/DTO/TokenDTO.swift b/Projects/Domain/AuthDomain/Sources/Model/Token/DTO/TokenDTO.swift index 80ee5636..5f976ee5 100644 --- a/Projects/Domain/AuthDomain/Sources/Model/Token/DTO/TokenDTO.swift +++ b/Projects/Domain/AuthDomain/Sources/Model/Token/DTO/TokenDTO.swift @@ -1,12 +1,12 @@ // // TokenDTO.swift -// Model +// AuthDomain // // Created by Wonji Suh on 5/14/26. // +import PickeNetworkInterface import Foundation -import Model public struct TokenDTO: Decodable { public let accessToken: String diff --git a/Projects/Domain/AuthDomain/Sources/Model/Token/Mapper/TokenDTO+.swift b/Projects/Domain/AuthDomain/Sources/Model/Token/Mapper/TokenDTO+.swift index 90f16a44..f854c193 100644 --- a/Projects/Domain/AuthDomain/Sources/Model/Token/Mapper/TokenDTO+.swift +++ b/Projects/Domain/AuthDomain/Sources/Model/Token/Mapper/TokenDTO+.swift @@ -1,6 +1,6 @@ // // TokenDTO+.swift -// Model +// AuthDomain // // Created by Wonji Suh on 5/14/26. // diff --git a/Projects/Domain/AuthDomain/Sources/Model/Withdraw/DTO/WithdrawDTO.swift b/Projects/Domain/AuthDomain/Sources/Model/Withdraw/DTO/WithdrawDTO.swift index f7989355..cca4e3a3 100644 --- a/Projects/Domain/AuthDomain/Sources/Model/Withdraw/DTO/WithdrawDTO.swift +++ b/Projects/Domain/AuthDomain/Sources/Model/Withdraw/DTO/WithdrawDTO.swift @@ -1,12 +1,12 @@ // // WithdrawDTO.swift -// Model +// AuthDomain // // Created by Wonji Suh on 5/14/26. // +import PickeNetworkInterface import Foundation -import Model public struct WithdrawDataDTO: Decodable, Equatable { public let withdrawn: Bool diff --git a/Projects/Domain/AuthDomain/Sources/Model/Withdraw/Mapper/WithdrawDTO+.swift b/Projects/Domain/AuthDomain/Sources/Model/Withdraw/Mapper/WithdrawDTO+.swift index 719175d8..65453ec8 100644 --- a/Projects/Domain/AuthDomain/Sources/Model/Withdraw/Mapper/WithdrawDTO+.swift +++ b/Projects/Domain/AuthDomain/Sources/Model/Withdraw/Mapper/WithdrawDTO+.swift @@ -1,6 +1,6 @@ // // WithdrawDTO+.swift -// Model +// AuthDomain // // Created by Wonji Suh on 5/14/26. // diff --git a/Projects/Domain/AuthDomain/Sources/Repository/AuthRepositoryImpl.swift b/Projects/Domain/AuthDomain/Sources/Repository/AuthRepositoryImpl.swift index b1c3aef0..514c2171 100644 --- a/Projects/Domain/AuthDomain/Sources/Repository/AuthRepositoryImpl.swift +++ b/Projects/Domain/AuthDomain/Sources/Repository/AuthRepositoryImpl.swift @@ -9,7 +9,6 @@ import Foundation import APIEndpoint import AuthDomainInterface -import Model import PickeNetwork import Alamofire diff --git a/Projects/Domain/BattleDomain/Project.swift b/Projects/Domain/BattleDomain/Project.swift index bacf4830..fe71dc86 100644 --- a/Projects/Domain/BattleDomain/Project.swift +++ b/Projects/Domain/BattleDomain/Project.swift @@ -14,7 +14,6 @@ let project = Project.configure( .SPM.composableArchitecture, .domain(.home, .interface), .service(.api), - .data(.model), .service(.apiEndpoint), .core(.network), .core(.network, .interface), diff --git a/Projects/Data/Model/Sources/Battle/DTO/BattleDetailDataDTO.swift b/Projects/Domain/BattleDomain/Sources/Model/DTO/BattleDetailDataDTO.swift similarity index 99% rename from Projects/Data/Model/Sources/Battle/DTO/BattleDetailDataDTO.swift rename to Projects/Domain/BattleDomain/Sources/Model/DTO/BattleDetailDataDTO.swift index 64dbdfa6..72759abd 100644 --- a/Projects/Data/Model/Sources/Battle/DTO/BattleDetailDataDTO.swift +++ b/Projects/Domain/BattleDomain/Sources/Model/DTO/BattleDetailDataDTO.swift @@ -1,6 +1,6 @@ // // BattleDetailDataDTO.swift -// Model +// BattleDomain // import Foundation diff --git a/Projects/Data/Model/Sources/Battle/DTO/BattlePerspectiveDataDTO.swift b/Projects/Domain/BattleDomain/Sources/Model/DTO/BattlePerspectiveDataDTO.swift similarity index 98% rename from Projects/Data/Model/Sources/Battle/DTO/BattlePerspectiveDataDTO.swift rename to Projects/Domain/BattleDomain/Sources/Model/DTO/BattlePerspectiveDataDTO.swift index 64b46e64..f4e7bf11 100644 --- a/Projects/Data/Model/Sources/Battle/DTO/BattlePerspectiveDataDTO.swift +++ b/Projects/Domain/BattleDomain/Sources/Model/DTO/BattlePerspectiveDataDTO.swift @@ -1,6 +1,6 @@ // // BattlePerspectiveDataDTO.swift -// Model +// BattleDomain // import Foundation diff --git a/Projects/Data/Model/Sources/Battle/DTO/BattleProposalDataDTO.swift b/Projects/Domain/BattleDomain/Sources/Model/DTO/BattleProposalDataDTO.swift similarity index 96% rename from Projects/Data/Model/Sources/Battle/DTO/BattleProposalDataDTO.swift rename to Projects/Domain/BattleDomain/Sources/Model/DTO/BattleProposalDataDTO.swift index 0a337802..d22a7eee 100644 --- a/Projects/Data/Model/Sources/Battle/DTO/BattleProposalDataDTO.swift +++ b/Projects/Domain/BattleDomain/Sources/Model/DTO/BattleProposalDataDTO.swift @@ -1,6 +1,6 @@ // // BattleProposalDataDTO.swift -// Model +// BattleDomain // import Foundation diff --git a/Projects/Data/Model/Sources/Battle/DTO/BattleScenarioDataDTO.swift b/Projects/Domain/BattleDomain/Sources/Model/DTO/BattleScenarioDataDTO.swift similarity index 99% rename from Projects/Data/Model/Sources/Battle/DTO/BattleScenarioDataDTO.swift rename to Projects/Domain/BattleDomain/Sources/Model/DTO/BattleScenarioDataDTO.swift index bcd20272..62fe1a19 100644 --- a/Projects/Data/Model/Sources/Battle/DTO/BattleScenarioDataDTO.swift +++ b/Projects/Domain/BattleDomain/Sources/Model/DTO/BattleScenarioDataDTO.swift @@ -1,6 +1,6 @@ // // BattleScenarioDataDTO.swift -// Model +// BattleDomain // import Foundation diff --git a/Projects/Data/Model/Sources/Battle/DTO/BattleVoteStatsDataDTO.swift b/Projects/Domain/BattleDomain/Sources/Model/DTO/BattleVoteStatsDataDTO.swift similarity index 97% rename from Projects/Data/Model/Sources/Battle/DTO/BattleVoteStatsDataDTO.swift rename to Projects/Domain/BattleDomain/Sources/Model/DTO/BattleVoteStatsDataDTO.swift index bc7d0369..977e0737 100644 --- a/Projects/Data/Model/Sources/Battle/DTO/BattleVoteStatsDataDTO.swift +++ b/Projects/Domain/BattleDomain/Sources/Model/DTO/BattleVoteStatsDataDTO.swift @@ -1,6 +1,6 @@ // // BattleVoteStatsDataDTO.swift -// Model +// BattleDomain // import Foundation diff --git a/Projects/Data/Model/Sources/Battle/DTO/PreVoteDataDTO.swift b/Projects/Domain/BattleDomain/Sources/Model/DTO/PreVoteDataDTO.swift similarity index 92% rename from Projects/Data/Model/Sources/Battle/DTO/PreVoteDataDTO.swift rename to Projects/Domain/BattleDomain/Sources/Model/DTO/PreVoteDataDTO.swift index 56b3aa03..a701fb53 100644 --- a/Projects/Data/Model/Sources/Battle/DTO/PreVoteDataDTO.swift +++ b/Projects/Domain/BattleDomain/Sources/Model/DTO/PreVoteDataDTO.swift @@ -1,6 +1,6 @@ // // PreVoteDataDTO.swift -// Model +// BattleDomain // import Foundation diff --git a/Projects/Data/Model/Sources/Battle/DTO/RecommendedBattleDataDTO.swift b/Projects/Domain/BattleDomain/Sources/Model/DTO/RecommendedBattleDataDTO.swift similarity index 98% rename from Projects/Data/Model/Sources/Battle/DTO/RecommendedBattleDataDTO.swift rename to Projects/Domain/BattleDomain/Sources/Model/DTO/RecommendedBattleDataDTO.swift index 3a7760ed..c2f5df8d 100644 --- a/Projects/Data/Model/Sources/Battle/DTO/RecommendedBattleDataDTO.swift +++ b/Projects/Domain/BattleDomain/Sources/Model/DTO/RecommendedBattleDataDTO.swift @@ -1,6 +1,6 @@ // // RecommendedBattleDataDTO.swift -// Model +// BattleDomain // import Foundation diff --git a/Projects/Data/Model/Sources/Battle/DTO/TodayBattleDataDTO.swift b/Projects/Domain/BattleDomain/Sources/Model/DTO/TodayBattleDataDTO.swift similarity index 93% rename from Projects/Data/Model/Sources/Battle/DTO/TodayBattleDataDTO.swift rename to Projects/Domain/BattleDomain/Sources/Model/DTO/TodayBattleDataDTO.swift index 594597cc..5b809c0d 100644 --- a/Projects/Data/Model/Sources/Battle/DTO/TodayBattleDataDTO.swift +++ b/Projects/Domain/BattleDomain/Sources/Model/DTO/TodayBattleDataDTO.swift @@ -1,6 +1,6 @@ // // TodayBattleDataDTO.swift -// Model +// BattleDomain // import Foundation diff --git a/Projects/Data/Model/Sources/Battle/Mapper/BattleDetailDataDTO+.swift b/Projects/Domain/BattleDomain/Sources/Model/Mapper/BattleDetailDataDTO+.swift similarity index 98% rename from Projects/Data/Model/Sources/Battle/Mapper/BattleDetailDataDTO+.swift rename to Projects/Domain/BattleDomain/Sources/Model/Mapper/BattleDetailDataDTO+.swift index cda23a70..c00bbead 100644 --- a/Projects/Data/Model/Sources/Battle/Mapper/BattleDetailDataDTO+.swift +++ b/Projects/Domain/BattleDomain/Sources/Model/Mapper/BattleDetailDataDTO+.swift @@ -1,6 +1,6 @@ // // BattleDetailDataDTO+.swift -// Model +// BattleDomain // import BattleDomainInterface diff --git a/Projects/Data/Model/Sources/Battle/Mapper/BattlePerspectiveDataDTO+.swift b/Projects/Domain/BattleDomain/Sources/Model/Mapper/BattlePerspectiveDataDTO+.swift similarity index 98% rename from Projects/Data/Model/Sources/Battle/Mapper/BattlePerspectiveDataDTO+.swift rename to Projects/Domain/BattleDomain/Sources/Model/Mapper/BattlePerspectiveDataDTO+.swift index 8f54e56e..141273e4 100644 --- a/Projects/Data/Model/Sources/Battle/Mapper/BattlePerspectiveDataDTO+.swift +++ b/Projects/Domain/BattleDomain/Sources/Model/Mapper/BattlePerspectiveDataDTO+.swift @@ -1,6 +1,6 @@ // // BattlePerspectiveDataDTO+.swift -// Model +// BattleDomain // import BattleDomainInterface diff --git a/Projects/Data/Model/Sources/Battle/Mapper/BattleProposalDataDTO+.swift b/Projects/Domain/BattleDomain/Sources/Model/Mapper/BattleProposalDataDTO+.swift similarity index 98% rename from Projects/Data/Model/Sources/Battle/Mapper/BattleProposalDataDTO+.swift rename to Projects/Domain/BattleDomain/Sources/Model/Mapper/BattleProposalDataDTO+.swift index b1341e32..8490f256 100644 --- a/Projects/Data/Model/Sources/Battle/Mapper/BattleProposalDataDTO+.swift +++ b/Projects/Domain/BattleDomain/Sources/Model/Mapper/BattleProposalDataDTO+.swift @@ -1,6 +1,6 @@ // // BattleProposalDataDTO+.swift -// Model +// BattleDomain // import BattleDomainInterface diff --git a/Projects/Data/Model/Sources/Battle/Mapper/BattleScenarioDataDTO+.swift b/Projects/Domain/BattleDomain/Sources/Model/Mapper/BattleScenarioDataDTO+.swift similarity index 99% rename from Projects/Data/Model/Sources/Battle/Mapper/BattleScenarioDataDTO+.swift rename to Projects/Domain/BattleDomain/Sources/Model/Mapper/BattleScenarioDataDTO+.swift index a102781a..1dc41416 100644 --- a/Projects/Data/Model/Sources/Battle/Mapper/BattleScenarioDataDTO+.swift +++ b/Projects/Domain/BattleDomain/Sources/Model/Mapper/BattleScenarioDataDTO+.swift @@ -1,6 +1,6 @@ // // BattleScenarioDataDTO+.swift -// Model +// BattleDomain // import Foundation diff --git a/Projects/Data/Model/Sources/Battle/Mapper/BattleVoteStatsDataDTO+.swift b/Projects/Domain/BattleDomain/Sources/Model/Mapper/BattleVoteStatsDataDTO+.swift similarity index 98% rename from Projects/Data/Model/Sources/Battle/Mapper/BattleVoteStatsDataDTO+.swift rename to Projects/Domain/BattleDomain/Sources/Model/Mapper/BattleVoteStatsDataDTO+.swift index ead0e984..879fe9d5 100644 --- a/Projects/Data/Model/Sources/Battle/Mapper/BattleVoteStatsDataDTO+.swift +++ b/Projects/Domain/BattleDomain/Sources/Model/Mapper/BattleVoteStatsDataDTO+.swift @@ -1,6 +1,6 @@ // // BattleVoteStatsDataDTO+.swift -// Model +// BattleDomain // import BattleDomainInterface diff --git a/Projects/Data/Model/Sources/Battle/Mapper/PreVoteDataDTO+.swift b/Projects/Domain/BattleDomain/Sources/Model/Mapper/PreVoteDataDTO+.swift similarity index 93% rename from Projects/Data/Model/Sources/Battle/Mapper/PreVoteDataDTO+.swift rename to Projects/Domain/BattleDomain/Sources/Model/Mapper/PreVoteDataDTO+.swift index 4e9e54df..72489fb1 100644 --- a/Projects/Data/Model/Sources/Battle/Mapper/PreVoteDataDTO+.swift +++ b/Projects/Domain/BattleDomain/Sources/Model/Mapper/PreVoteDataDTO+.swift @@ -1,6 +1,6 @@ // // PreVoteDataDTO+.swift -// Model +// BattleDomain // import BattleDomainInterface diff --git a/Projects/Data/Model/Sources/Battle/Mapper/RecommendedBattleDataDTO+.swift b/Projects/Domain/BattleDomain/Sources/Model/Mapper/RecommendedBattleDataDTO+.swift similarity index 98% rename from Projects/Data/Model/Sources/Battle/Mapper/RecommendedBattleDataDTO+.swift rename to Projects/Domain/BattleDomain/Sources/Model/Mapper/RecommendedBattleDataDTO+.swift index 08faa4cb..3c7c4721 100644 --- a/Projects/Data/Model/Sources/Battle/Mapper/RecommendedBattleDataDTO+.swift +++ b/Projects/Domain/BattleDomain/Sources/Model/Mapper/RecommendedBattleDataDTO+.swift @@ -1,6 +1,6 @@ // // RecommendedBattleDataDTO+.swift -// Model +// BattleDomain // import BattleDomainInterface diff --git a/Projects/Data/Model/Sources/Battle/Mapper/TodayBattleDataDTO+.swift b/Projects/Domain/BattleDomain/Sources/Model/Mapper/TodayBattleDataDTO+.swift similarity index 94% rename from Projects/Data/Model/Sources/Battle/Mapper/TodayBattleDataDTO+.swift rename to Projects/Domain/BattleDomain/Sources/Model/Mapper/TodayBattleDataDTO+.swift index c0b60908..cc49c36f 100644 --- a/Projects/Data/Model/Sources/Battle/Mapper/TodayBattleDataDTO+.swift +++ b/Projects/Domain/BattleDomain/Sources/Model/Mapper/TodayBattleDataDTO+.swift @@ -1,6 +1,6 @@ // // TodayBattleDataDTO+.swift -// Model +// BattleDomain // import BattleDomainInterface diff --git a/Projects/Domain/BattleDomain/Sources/Repository/BattleRepositoryImpl.swift b/Projects/Domain/BattleDomain/Sources/Repository/BattleRepositoryImpl.swift index 84d15a4b..7b0bc5c9 100644 --- a/Projects/Domain/BattleDomain/Sources/Repository/BattleRepositoryImpl.swift +++ b/Projects/Domain/BattleDomain/Sources/Repository/BattleRepositoryImpl.swift @@ -8,7 +8,6 @@ import Foundation import APIEndpoint import BattleDomainInterface import HomeDomainInterface -import Model import PickeNetwork import LogMacro diff --git a/Projects/Domain/CommentDomain/Project.swift b/Projects/Domain/CommentDomain/Project.swift index 8b22d4a0..c3bca38c 100644 --- a/Projects/Domain/CommentDomain/Project.swift +++ b/Projects/Domain/CommentDomain/Project.swift @@ -14,7 +14,6 @@ let project = Project.configure( .SPM.weaveDI, .SPM.composableArchitecture, .service(.api), - .data(.model), .service(.apiEndpoint), .core(.network), .core(.network, .interface), diff --git a/Projects/Data/Model/Sources/Comment/DTO/CommentLikeDataDTO.swift b/Projects/Domain/CommentDomain/Sources/Model/DTO/CommentLikeDataDTO.swift similarity index 87% rename from Projects/Data/Model/Sources/Comment/DTO/CommentLikeDataDTO.swift rename to Projects/Domain/CommentDomain/Sources/Model/DTO/CommentLikeDataDTO.swift index f84c4b0d..f901df2a 100644 --- a/Projects/Data/Model/Sources/Comment/DTO/CommentLikeDataDTO.swift +++ b/Projects/Domain/CommentDomain/Sources/Model/DTO/CommentLikeDataDTO.swift @@ -1,11 +1,11 @@ // // CommentLikeDataDTO.swift -// Model +// CommentDomain // +import PickeNetworkInterface import Foundation -import Model public struct CommentLikeDataDTO: Decodable { public let perspectiveId: Int diff --git a/Projects/Data/Model/Sources/Comment/Mapper/CommentLikeDataDTO+.swift b/Projects/Domain/CommentDomain/Sources/Model/Mapper/CommentLikeDataDTO+.swift similarity index 94% rename from Projects/Data/Model/Sources/Comment/Mapper/CommentLikeDataDTO+.swift rename to Projects/Domain/CommentDomain/Sources/Model/Mapper/CommentLikeDataDTO+.swift index 306d1158..ce54cc16 100644 --- a/Projects/Data/Model/Sources/Comment/Mapper/CommentLikeDataDTO+.swift +++ b/Projects/Domain/CommentDomain/Sources/Model/Mapper/CommentLikeDataDTO+.swift @@ -1,6 +1,6 @@ // // CommentLikeDataDTO+.swift -// Model +// CommentDomain // import CommentDomainInterface diff --git a/Projects/Domain/CommentDomain/Sources/Repository/CommentRepositoryImpl.swift b/Projects/Domain/CommentDomain/Sources/Repository/CommentRepositoryImpl.swift index 23c26cbf..4cf744cb 100644 --- a/Projects/Domain/CommentDomain/Sources/Repository/CommentRepositoryImpl.swift +++ b/Projects/Domain/CommentDomain/Sources/Repository/CommentRepositoryImpl.swift @@ -7,7 +7,6 @@ import Foundation import APIEndpoint import CommentDomainInterface -import Model import PickeNetwork import LogMacro diff --git a/Projects/Domain/HomeDomain/Project.swift b/Projects/Domain/HomeDomain/Project.swift index 659bb5f0..229ff3e6 100644 --- a/Projects/Domain/HomeDomain/Project.swift +++ b/Projects/Domain/HomeDomain/Project.swift @@ -14,7 +14,6 @@ let project = Project.configure( .SPM.composableArchitecture, .domain(.auth, .interface), .service(.api), - .data(.model), .service(.apiEndpoint), .core(.network), .core(.network, .interface), diff --git a/Projects/Domain/HomeDomain/Sources/Model/HomeDataDTO+.swift b/Projects/Domain/HomeDomain/Sources/Model/HomeDataDTO+.swift index 77325e69..03de9c6b 100644 --- a/Projects/Domain/HomeDomain/Sources/Model/HomeDataDTO+.swift +++ b/Projects/Domain/HomeDomain/Sources/Model/HomeDataDTO+.swift @@ -1,6 +1,6 @@ // // HomeDataDTO+.swift -// Model +// HomeDomain // // Created by Wonji Suh on 5/16/26. // diff --git a/Projects/Domain/HomeDomain/Sources/Model/HomeDataDTO.swift b/Projects/Domain/HomeDomain/Sources/Model/HomeDataDTO.swift index 07754ac5..17338ede 100644 --- a/Projects/Domain/HomeDomain/Sources/Model/HomeDataDTO.swift +++ b/Projects/Domain/HomeDomain/Sources/Model/HomeDataDTO.swift @@ -1,13 +1,13 @@ // // HomeDataDTO.swift -// Model +// HomeDomain // // Created by Wonji Suh on 5/16/26. // +import PickeNetworkInterface import Foundation -import Model /// `GET /api/v1/home` 의 `data` 필드 페이로드. public struct HomeDataDTO: Decodable { diff --git a/Projects/Domain/HomeDomain/Sources/Repository/HomeRepositoryImpl.swift b/Projects/Domain/HomeDomain/Sources/Repository/HomeRepositoryImpl.swift index 48a76d07..ff7558b8 100644 --- a/Projects/Domain/HomeDomain/Sources/Repository/HomeRepositoryImpl.swift +++ b/Projects/Domain/HomeDomain/Sources/Repository/HomeRepositoryImpl.swift @@ -9,7 +9,6 @@ import Foundation import APIEndpoint import HomeDomainInterface -import Model import PickeNetwork import LogMacro diff --git a/Projects/Domain/NotificationDomain/Project.swift b/Projects/Domain/NotificationDomain/Project.swift index 88b31bf1..9daf8571 100644 --- a/Projects/Domain/NotificationDomain/Project.swift +++ b/Projects/Domain/NotificationDomain/Project.swift @@ -13,7 +13,6 @@ let project = Project.configure( .SPM.weaveDI, .SPM.composableArchitecture, .service(.api), - .data(.model), .service(.apiEndpoint), .core(.network), .core(.network, .interface), diff --git a/Projects/Domain/NotificationDomain/Sources/Model/DTO/NotificationDataDTO.swift b/Projects/Domain/NotificationDomain/Sources/Model/DTO/NotificationDataDTO.swift index 8446376c..947bd596 100644 --- a/Projects/Domain/NotificationDomain/Sources/Model/DTO/NotificationDataDTO.swift +++ b/Projects/Domain/NotificationDomain/Sources/Model/DTO/NotificationDataDTO.swift @@ -1,11 +1,11 @@ // // NotificationDataDTO.swift -// Model +// NotificationDomain // +import PickeNetworkInterface import Foundation -import Model public struct NotificationDataDTO: Decodable { public let items: [NotificationItemDTO]? diff --git a/Projects/Domain/NotificationDomain/Sources/Model/Mapper/NotificationDataDTO+.swift b/Projects/Domain/NotificationDomain/Sources/Model/Mapper/NotificationDataDTO+.swift index 7cf4b39c..dc1afc18 100644 --- a/Projects/Domain/NotificationDomain/Sources/Model/Mapper/NotificationDataDTO+.swift +++ b/Projects/Domain/NotificationDomain/Sources/Model/Mapper/NotificationDataDTO+.swift @@ -1,6 +1,6 @@ // // NotificationDataDTO+.swift -// Model +// NotificationDomain // import Foundation diff --git a/Projects/Domain/NotificationDomain/Sources/Repository/NotificationRepositoryImpl.swift b/Projects/Domain/NotificationDomain/Sources/Repository/NotificationRepositoryImpl.swift index 2efde5c8..3d14d7e3 100644 --- a/Projects/Domain/NotificationDomain/Sources/Repository/NotificationRepositoryImpl.swift +++ b/Projects/Domain/NotificationDomain/Sources/Repository/NotificationRepositoryImpl.swift @@ -6,7 +6,6 @@ import Foundation import APIEndpoint -import Model import PickeNetwork import NotificationDomainInterface diff --git a/Projects/Domain/PerspectiveDomain/Project.swift b/Projects/Domain/PerspectiveDomain/Project.swift index 34dd0485..b0486a30 100644 --- a/Projects/Domain/PerspectiveDomain/Project.swift +++ b/Projects/Domain/PerspectiveDomain/Project.swift @@ -15,7 +15,6 @@ let project = Project.configure( .SPM.weaveDI, .SPM.composableArchitecture, .service(.api), - .data(.model), .service(.apiEndpoint), .core(.network), .core(.network, .interface), diff --git a/Projects/Data/Model/Sources/Perspective/DTO/PerspectiveCommentDataDTO.swift b/Projects/Domain/PerspectiveDomain/Sources/Model/DTO/PerspectiveCommentDataDTO.swift similarity index 98% rename from Projects/Data/Model/Sources/Perspective/DTO/PerspectiveCommentDataDTO.swift rename to Projects/Domain/PerspectiveDomain/Sources/Model/DTO/PerspectiveCommentDataDTO.swift index 2c1c589d..f1954bdc 100644 --- a/Projects/Data/Model/Sources/Perspective/DTO/PerspectiveCommentDataDTO.swift +++ b/Projects/Domain/PerspectiveDomain/Sources/Model/DTO/PerspectiveCommentDataDTO.swift @@ -1,6 +1,6 @@ // // PerspectiveCommentDataDTO.swift -// Model +// PerspectiveDomain // import Foundation diff --git a/Projects/Data/Model/Sources/Perspective/Mapper/PerspectiveCommentDataDTO+.swift b/Projects/Domain/PerspectiveDomain/Sources/Model/Mapper/PerspectiveCommentDataDTO+.swift similarity index 99% rename from Projects/Data/Model/Sources/Perspective/Mapper/PerspectiveCommentDataDTO+.swift rename to Projects/Domain/PerspectiveDomain/Sources/Model/Mapper/PerspectiveCommentDataDTO+.swift index 8e8d52d6..025d84e9 100644 --- a/Projects/Data/Model/Sources/Perspective/Mapper/PerspectiveCommentDataDTO+.swift +++ b/Projects/Domain/PerspectiveDomain/Sources/Model/Mapper/PerspectiveCommentDataDTO+.swift @@ -1,6 +1,6 @@ // // PerspectiveCommentDataDTO+.swift -// Model +// PerspectiveDomain // import CommentDomainInterface diff --git a/Projects/Domain/PerspectiveDomain/Sources/Repository/PerspectiveRepositoryImpl.swift b/Projects/Domain/PerspectiveDomain/Sources/Repository/PerspectiveRepositoryImpl.swift index 6b25160c..2f26b70e 100644 --- a/Projects/Domain/PerspectiveDomain/Sources/Repository/PerspectiveRepositoryImpl.swift +++ b/Projects/Domain/PerspectiveDomain/Sources/Repository/PerspectiveRepositoryImpl.swift @@ -8,7 +8,6 @@ import Foundation import APIEndpoint import BattleDomainInterface import CommentDomainInterface -import Model import PickeNetwork import PerspectiveDomainInterface diff --git a/Projects/Domain/ProfileDomain/Project.swift b/Projects/Domain/ProfileDomain/Project.swift index 305fcb27..2625a0bc 100644 --- a/Projects/Domain/ProfileDomain/Project.swift +++ b/Projects/Domain/ProfileDomain/Project.swift @@ -12,7 +12,6 @@ let project = Project.configure( dependencies: [ .SPM.composableArchitecture, .service(.api), - .data(.model), .service(.apiEndpoint), .core(.network), .core(.network, .interface), diff --git a/Projects/Domain/ProfileDomain/Sources/Model/DTO/BattleRecordDataDTO.swift b/Projects/Domain/ProfileDomain/Sources/Model/DTO/BattleRecordDataDTO.swift index 1bbf1246..4e3c6d94 100644 --- a/Projects/Domain/ProfileDomain/Sources/Model/DTO/BattleRecordDataDTO.swift +++ b/Projects/Domain/ProfileDomain/Sources/Model/DTO/BattleRecordDataDTO.swift @@ -1,10 +1,10 @@ // // BattleRecordDataDTO.swift -// Model +// ProfileDomain // +import PickeNetworkInterface import Foundation -import Model public struct BattleRecordDataDTO: Decodable { public let items: [BattleRecordItemDTO]? diff --git a/Projects/Domain/ProfileDomain/Sources/Model/DTO/ContentActivityDataDTO.swift b/Projects/Domain/ProfileDomain/Sources/Model/DTO/ContentActivityDataDTO.swift index 2b726521..058c5aab 100644 --- a/Projects/Domain/ProfileDomain/Sources/Model/DTO/ContentActivityDataDTO.swift +++ b/Projects/Domain/ProfileDomain/Sources/Model/DTO/ContentActivityDataDTO.swift @@ -1,10 +1,10 @@ // // ContentActivityDataDTO.swift -// Model +// ProfileDomain // +import PickeNetworkInterface import Foundation -import Model public struct ContentActivityDataDTO: Decodable { public let items: [ContentActivityItemDTO]? diff --git a/Projects/Domain/ProfileDomain/Sources/Model/DTO/CreditHistoryDataDTO.swift b/Projects/Domain/ProfileDomain/Sources/Model/DTO/CreditHistoryDataDTO.swift index 6e3cc998..66a38830 100644 --- a/Projects/Domain/ProfileDomain/Sources/Model/DTO/CreditHistoryDataDTO.swift +++ b/Projects/Domain/ProfileDomain/Sources/Model/DTO/CreditHistoryDataDTO.swift @@ -1,10 +1,10 @@ // // CreditHistoryDataDTO.swift -// Model +// ProfileDomain // +import PickeNetworkInterface import Foundation -import Model public struct CreditHistoryDataDTO: Decodable { public let items: [CreditHistoryItemDTO]? diff --git a/Projects/Domain/ProfileDomain/Sources/Model/DTO/MyPageDataDTO.swift b/Projects/Domain/ProfileDomain/Sources/Model/DTO/MyPageDataDTO.swift index c4a8b7aa..f8570170 100644 --- a/Projects/Domain/ProfileDomain/Sources/Model/DTO/MyPageDataDTO.swift +++ b/Projects/Domain/ProfileDomain/Sources/Model/DTO/MyPageDataDTO.swift @@ -1,10 +1,10 @@ // // MyPageDataDTO.swift -// Model +// ProfileDomain // +import PickeNetworkInterface import Foundation -import Model public struct MyPageDataDTO: Decodable { // philosopher 는 미확정(배틀 5개 미만) 시 null 로 내려와 옵셔널로 둔다. diff --git a/Projects/Domain/ProfileDomain/Sources/Model/DTO/NotificationSettingsDataDTO.swift b/Projects/Domain/ProfileDomain/Sources/Model/DTO/NotificationSettingsDataDTO.swift index 180f9500..9b856bfc 100644 --- a/Projects/Domain/ProfileDomain/Sources/Model/DTO/NotificationSettingsDataDTO.swift +++ b/Projects/Domain/ProfileDomain/Sources/Model/DTO/NotificationSettingsDataDTO.swift @@ -1,10 +1,10 @@ // // NotificationSettingsDataDTO.swift -// Model +// ProfileDomain // +import PickeNetworkInterface import Foundation -import Model public struct NotificationSettingsDataDTO: Decodable { public let newBattleEnabled: Bool? diff --git a/Projects/Domain/ProfileDomain/Sources/Model/DTO/ProfileUpdateDataDTO.swift b/Projects/Domain/ProfileDomain/Sources/Model/DTO/ProfileUpdateDataDTO.swift index c080a576..8496766e 100644 --- a/Projects/Domain/ProfileDomain/Sources/Model/DTO/ProfileUpdateDataDTO.swift +++ b/Projects/Domain/ProfileDomain/Sources/Model/DTO/ProfileUpdateDataDTO.swift @@ -3,8 +3,8 @@ // ProfileDomain // +import PickeNetworkInterface import Foundation -import Model public struct ProfileUpdateDataDTO: Decodable { public let userTag: String? diff --git a/Projects/Domain/ProfileDomain/Sources/Model/DTO/RecapDataDTO.swift b/Projects/Domain/ProfileDomain/Sources/Model/DTO/RecapDataDTO.swift index 73a915a0..6cb1b931 100644 --- a/Projects/Domain/ProfileDomain/Sources/Model/DTO/RecapDataDTO.swift +++ b/Projects/Domain/ProfileDomain/Sources/Model/DTO/RecapDataDTO.swift @@ -1,10 +1,10 @@ // // RecapDataDTO.swift -// Model +// ProfileDomain // +import PickeNetworkInterface import Foundation -import Model public struct RecapDataDTO: Decodable { public let myCard: RecapCardDTO? diff --git a/Projects/Domain/ProfileDomain/Sources/Model/Mapper/BattleRecordDataDTO+.swift b/Projects/Domain/ProfileDomain/Sources/Model/Mapper/BattleRecordDataDTO+.swift index 1988e450..5a6cd390 100644 --- a/Projects/Domain/ProfileDomain/Sources/Model/Mapper/BattleRecordDataDTO+.swift +++ b/Projects/Domain/ProfileDomain/Sources/Model/Mapper/BattleRecordDataDTO+.swift @@ -1,6 +1,6 @@ // // BattleRecordDataDTO+.swift -// Model +// ProfileDomain // import ProfileDomainInterface diff --git a/Projects/Domain/ProfileDomain/Sources/Model/Mapper/ContentActivityDataDTO+.swift b/Projects/Domain/ProfileDomain/Sources/Model/Mapper/ContentActivityDataDTO+.swift index e7a6bc80..e6161797 100644 --- a/Projects/Domain/ProfileDomain/Sources/Model/Mapper/ContentActivityDataDTO+.swift +++ b/Projects/Domain/ProfileDomain/Sources/Model/Mapper/ContentActivityDataDTO+.swift @@ -1,6 +1,6 @@ // // ContentActivityDataDTO+.swift -// Model +// ProfileDomain // import ProfileDomainInterface diff --git a/Projects/Domain/ProfileDomain/Sources/Model/Mapper/CreditHistoryDataDTO+.swift b/Projects/Domain/ProfileDomain/Sources/Model/Mapper/CreditHistoryDataDTO+.swift index 9204a5ec..928de206 100644 --- a/Projects/Domain/ProfileDomain/Sources/Model/Mapper/CreditHistoryDataDTO+.swift +++ b/Projects/Domain/ProfileDomain/Sources/Model/Mapper/CreditHistoryDataDTO+.swift @@ -1,10 +1,10 @@ // // CreditHistoryDataDTO+.swift -// Model +// ProfileDomain // +import PickeNetworkInterface import Foundation -import Model import ProfileDomainInterface public extension CreditHistoryDataDTO { diff --git a/Projects/Domain/ProfileDomain/Sources/Model/Mapper/MyPageDataDTO+.swift b/Projects/Domain/ProfileDomain/Sources/Model/Mapper/MyPageDataDTO+.swift index 81895740..eed6c179 100644 --- a/Projects/Domain/ProfileDomain/Sources/Model/Mapper/MyPageDataDTO+.swift +++ b/Projects/Domain/ProfileDomain/Sources/Model/Mapper/MyPageDataDTO+.swift @@ -1,6 +1,6 @@ // // MyPageDataDTO+.swift -// Model +// ProfileDomain // import ProfileDomainInterface diff --git a/Projects/Domain/ProfileDomain/Sources/Model/Mapper/NotificationSettingsDataDTO+.swift b/Projects/Domain/ProfileDomain/Sources/Model/Mapper/NotificationSettingsDataDTO+.swift index 99684446..96eb28d7 100644 --- a/Projects/Domain/ProfileDomain/Sources/Model/Mapper/NotificationSettingsDataDTO+.swift +++ b/Projects/Domain/ProfileDomain/Sources/Model/Mapper/NotificationSettingsDataDTO+.swift @@ -1,6 +1,6 @@ // // NotificationSettingsDataDTO+.swift -// Model +// ProfileDomain // import ProfileDomainInterface diff --git a/Projects/Domain/ProfileDomain/Sources/Model/Mapper/RecapDataDTO+.swift b/Projects/Domain/ProfileDomain/Sources/Model/Mapper/RecapDataDTO+.swift index 92963fce..d346baa7 100644 --- a/Projects/Domain/ProfileDomain/Sources/Model/Mapper/RecapDataDTO+.swift +++ b/Projects/Domain/ProfileDomain/Sources/Model/Mapper/RecapDataDTO+.swift @@ -1,6 +1,6 @@ // // RecapDataDTO+.swift -// Model +// ProfileDomain // import ProfileDomainInterface diff --git a/Projects/Domain/SearchDomain/Project.swift b/Projects/Domain/SearchDomain/Project.swift index 1cc9609e..975797ad 100644 --- a/Projects/Domain/SearchDomain/Project.swift +++ b/Projects/Domain/SearchDomain/Project.swift @@ -16,7 +16,6 @@ let project = Project.configure( .domain(.battle, .interface), .service(.api), .service(.apiEndpoint), - .data(.model), .core(.network), .core(.network, .interface), .SPM.logMarco, diff --git a/Projects/Domain/SearchDomain/Sources/SearchBattleDataDTO+.swift b/Projects/Domain/SearchDomain/Sources/SearchBattleDataDTO+.swift index 4923343c..431cccb3 100644 --- a/Projects/Domain/SearchDomain/Sources/SearchBattleDataDTO+.swift +++ b/Projects/Domain/SearchDomain/Sources/SearchBattleDataDTO+.swift @@ -1,6 +1,6 @@ // // SearchBattleDataDTO+.swift -// Model +// SearchDomain // import Foundation diff --git a/Projects/Domain/SearchDomain/Sources/SearchBattleDataDTO.swift b/Projects/Domain/SearchDomain/Sources/SearchBattleDataDTO.swift index e08e7eaf..a20db372 100644 --- a/Projects/Domain/SearchDomain/Sources/SearchBattleDataDTO.swift +++ b/Projects/Domain/SearchDomain/Sources/SearchBattleDataDTO.swift @@ -1,11 +1,11 @@ // // SearchBattleDataDTO.swift -// Model +// SearchDomain // +import PickeNetworkInterface import Foundation -import Model public struct SearchBattlePageDataDTO: Decodable { public let items: [SearchBattleDTO] diff --git a/Projects/Domain/SearchDomain/Sources/SearchRepositoryImpl.swift b/Projects/Domain/SearchDomain/Sources/SearchRepositoryImpl.swift index aa2c5dff..97358603 100644 --- a/Projects/Domain/SearchDomain/Sources/SearchRepositoryImpl.swift +++ b/Projects/Domain/SearchDomain/Sources/SearchRepositoryImpl.swift @@ -7,7 +7,6 @@ import Foundation import APIEndpoint import HomeDomainInterface -import Model import PickeNetwork import SearchDomainInterface diff --git a/Projects/Service/DeviceService/Project.swift b/Projects/Service/DeviceService/Project.swift index 8c7cecf4..3296ab25 100644 --- a/Projects/Service/DeviceService/Project.swift +++ b/Projects/Service/DeviceService/Project.swift @@ -10,7 +10,6 @@ let project = Project.configure( product: .staticFramework, settings: .settings(), dependencies: [ - .data(.model), .service(.apiEndpoint), .core(.network), .SPM.composableArchitecture, diff --git a/Projects/Service/DeviceService/Sources/Repository/DeviceRepositoryImpl.swift b/Projects/Service/DeviceService/Sources/Repository/DeviceRepositoryImpl.swift index aafdc5ae..982232a8 100644 --- a/Projects/Service/DeviceService/Sources/Repository/DeviceRepositoryImpl.swift +++ b/Projects/Service/DeviceService/Sources/Repository/DeviceRepositoryImpl.swift @@ -6,7 +6,6 @@ import Foundation import APIEndpoint -import Model import PickeNetwork import DeviceServiceInterface From 51f90f306f817adcc1561e455901ae421e07e0d7 Mon Sep 17 00:00:00 2001 From: Roy Date: Sun, 6 Sep 2026 21:57:46 +0900 Subject: [PATCH 37/83] =?UTF-8?q?refactor(tuist):=20PickeThirdParty=20?= =?UTF-8?q?=EB=8F=84=20DDD=20=EC=B2=98=EB=9F=BC=20=EC=A0=95=EC=A0=81=20?= =?UTF-8?q?=ED=94=84=EB=A0=88=EC=9E=84=EC=9B=8C=ED=81=AC=EB=A1=9C=20?= =?UTF-8?q?=EB=91=94=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit DDD 의 DDDThirdParty 가 staticFramework 이므로 예외를 두지 않고 맞춘다. 이걸로 Core·Domain·Feature·Service 의 product 가 DDD 와 완전히 같아진다. 외부 SPM 을 재수출하는 모듈이라 중복 링크가 생길 수 있는데, 실제로 터지면 그때 개별 SPM 의 product 조정으로 푼다. --- Projects/Core/PickeThirdParty/Project.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Projects/Core/PickeThirdParty/Project.swift b/Projects/Core/PickeThirdParty/Project.swift index 7f2867af..a5ecf9b5 100644 --- a/Projects/Core/PickeThirdParty/Project.swift +++ b/Projects/Core/PickeThirdParty/Project.swift @@ -7,7 +7,7 @@ import ProjectTemplatePlugin let project = Project.configure( moduleType: .module(name: "PickeThirdParty"), bundleId: .appBundleID(name: ".PickeThirdParty"), - product: .framework, + product: .staticFramework, settings: .settings(), dependencies: [ .core(.coreUtility), From 0fb3518dc0c0eb25c6f0cf57f63d3a5fee0fce0c Mon Sep 17 00:00:00 2001 From: Roy Date: Sun, 6 Sep 2026 22:43:52 +0900 Subject: [PATCH 38/83] =?UTF-8?q?refactor(ad):=20AdService=20=EB=A5=BC=20F?= =?UTF-8?q?eature=20=EB=A0=88=EC=9D=B4=EC=96=B4=EC=9D=98=20Ad=20=EB=A1=9C?= =?UTF-8?q?=20=EC=98=AE=EA=B8=B4=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 광고 모듈은 SDK 래퍼가 아니라 화면을 그리는 피처다. Service 에 두면 Home/Chat/Profile/Hifi 가 Service 를 거쳐 UI 를 가져오는 꼴이 되고, ServiceAssembly 가 Ad 를 재노출하면서 Service -> Feature 역방향 의존이 생긴다. DDD 레이어 규칙에 맞춰 Feature 로 내린다. - Projects/Service/AdService -> Projects/Feature/Ad (git mv, 이력 보존) - 카탈로그: ServiceModule.ad 제거, FeatureModule.ad 추가 - 타깃명 AdService/AdServiceInterface -> Ad/AdInterface - ServiceAssembly 에서 Ad 의존과 재노출 제거 - FeatureAssembly 가 Ad 를 의존하고 재노출 product 는 staticFramework 를 유지한다. GoogleMobileAds 의 GAD 심볼이 xcframework 안에 있어 동적으로 두면 자기 링크 시점에 못 푸는 문제는 레이어 이동과 무관하게 그대로다. --- .../TargetDependency+Module/Modules.swift | 3 +-- Projects/App/Project.swift | 2 +- Projects/App/Sources/View/Root/AppView.swift | 2 +- .../Ad}/Interface/UseCase/RewardedAdClient.swift | 4 ++-- .../AdService => Feature/Ad}/Project.swift | 4 ++-- .../Ad}/Sources/AdBannerSkeletonView.swift | 2 +- .../Ad}/Sources/AdFitBannerView.swift | 0 .../Ad}/Sources/AdFitNativeAdView.swift | 2 +- .../Ad}/Sources/AppStartPopupAd.swift | 2 +- .../Sources/UseCase/RewardedAdClient+Live.swift | 4 ++-- Projects/Feature/Ad/Testing/AdTesting.swift | 8 ++++++++ Projects/Feature/Ad/Tests/AdTests.swift | 14 ++++++++++++++ Projects/Feature/Chat/Project.swift | 2 +- .../Chat/Sources/Curation/View/CurationView.swift | 2 +- Projects/Feature/FeatureAssembly/Project.swift | 1 + .../Sources/Exported/FeatureAssemblyExported.swift | 1 + Projects/Feature/Hifi/Project.swift | 2 +- Projects/Feature/Hifi/Sources/View/HifiView.swift | 2 +- Projects/Feature/Home/Project.swift | 2 +- .../Feature/Home/Sources/Main/View/HomeView.swift | 2 +- Projects/Feature/Profile/Project.swift | 2 +- .../Sources/Main/Reducer/ProfileFeature.swift | 2 +- .../Profile/Sources/Main/View/ProfileView.swift | 2 +- .../AdService/Testing/AdServiceTesting.swift | 8 -------- .../Service/AdService/Tests/AdServiceTests.swift | 14 -------------- Projects/Service/ServiceAssembly/Project.swift | 1 - .../Sources/Exported/ServiceAssemblyExported.swift | 3 +-- 27 files changed, 46 insertions(+), 47 deletions(-) rename Projects/{Service/AdService => Feature/Ad}/Interface/UseCase/RewardedAdClient.swift (90%) rename Projects/{Service/AdService => Feature/Ad}/Project.swift (88%) rename Projects/{Service/AdService => Feature/Ad}/Sources/AdBannerSkeletonView.swift (98%) rename Projects/{Service/AdService => Feature/Ad}/Sources/AdFitBannerView.swift (100%) rename Projects/{Service/AdService => Feature/Ad}/Sources/AdFitNativeAdView.swift (99%) rename Projects/{Service/AdService => Feature/Ad}/Sources/AppStartPopupAd.swift (99%) rename Projects/{Service/AdService => Feature/Ad}/Sources/UseCase/RewardedAdClient+Live.swift (98%) create mode 100644 Projects/Feature/Ad/Testing/AdTesting.swift create mode 100644 Projects/Feature/Ad/Tests/AdTests.swift delete mode 100644 Projects/Service/AdService/Testing/AdServiceTesting.swift delete mode 100644 Projects/Service/AdService/Tests/AdServiceTests.swift diff --git a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Modules.swift b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Modules.swift index 83f03bbb..af4e1075 100644 --- a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Modules.swift +++ b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Modules.swift @@ -19,6 +19,7 @@ public enum FeatureModule: String, CaseIterable { case battle = "Battle" case profile = "Profile" case notification = "Notification" + case ad = "Ad" /// Projects/Feature/ var path: Path { @@ -44,7 +45,6 @@ public enum ServiceModule: String, CaseIterable { case assembly = "ServiceAssembly" case api = "API" case apiEndpoint = "APIEndpoint" - case ad = "AdService" case analytics = "AnalyticsService" case audioPlayer = "AudioPlayerService" case device = "DeviceService" @@ -73,4 +73,3 @@ public enum DomainModule: String, CaseIterable { return .relativeToDomain(rawValue) } } - diff --git a/Projects/App/Project.swift b/Projects/App/Project.swift index 2b51cd4c..879f39cc 100644 --- a/Projects/App/Project.swift +++ b/Projects/App/Project.swift @@ -17,7 +17,7 @@ let project = Project.configure( .featureAssembly, .domainAssembly, // Core·Service 구현은 조립 경계 하나로 들어온다. - // 앱 시작 전면 팝업 광고(AdService)도 여기에 포함된다. + // 앱 시작 전면 팝업 광고(Ad)도 여기에 포함된다. .serviceAssembly, .core(.network), .core(.network, .interface), diff --git a/Projects/App/Sources/View/Root/AppView.swift b/Projects/App/Sources/View/Root/AppView.swift index 3aa64c8a..f957788e 100644 --- a/Projects/App/Sources/View/Root/AppView.swift +++ b/Projects/App/Sources/View/Root/AppView.swift @@ -10,7 +10,7 @@ import SwiftUI import ComposableArchitecture import PickeDesignKit -import AdService +import Ad import FeatureAssembly struct AppView: View { diff --git a/Projects/Service/AdService/Interface/UseCase/RewardedAdClient.swift b/Projects/Feature/Ad/Interface/UseCase/RewardedAdClient.swift similarity index 90% rename from Projects/Service/AdService/Interface/UseCase/RewardedAdClient.swift rename to Projects/Feature/Ad/Interface/UseCase/RewardedAdClient.swift index cb912087..691d376f 100644 --- a/Projects/Service/AdService/Interface/UseCase/RewardedAdClient.swift +++ b/Projects/Feature/Ad/Interface/UseCase/RewardedAdClient.swift @@ -1,6 +1,6 @@ // // RewardedAdClient.swift -// AdService +// Ad // import Foundation @@ -10,7 +10,7 @@ import ComposableArchitecture /// 리워드 광고 표시 계약. /// /// 이 타입은 GoogleMobileAds 를 알지 못한다. 실제로 광고를 로드/표시하는 구현은 -/// `AdService`(Sources) 의 `liveValue` 에만 있고, 화면들은 이 인터페이스만 의존한다. +/// `Ad`(Sources) 의 `liveValue` 에만 있고, 화면들은 이 인터페이스만 의존한다. public struct RewardedAdClient: Sendable { /// 리워드 광고를 로드/표시하고 보상 획득 여부를 반환. public var showRewardedAd: @Sendable () async -> Bool diff --git a/Projects/Service/AdService/Project.swift b/Projects/Feature/Ad/Project.swift similarity index 88% rename from Projects/Service/AdService/Project.swift rename to Projects/Feature/Ad/Project.swift index 7d0a399d..b73f5595 100644 --- a/Projects/Service/AdService/Project.swift +++ b/Projects/Feature/Ad/Project.swift @@ -5,8 +5,8 @@ import ProjectDescription import ProjectTemplatePlugin let project = Project.configure( - moduleType: .microModule(name: "AdService"), - bundleId: .appBundleID(name: ".AdService"), + moduleType: .microModule(name: "Ad"), + bundleId: .appBundleID(name: ".Ad"), // 정적 프레임워크로 둔다. GoogleMobileAds 는 Tuist 에서 동적으로 매핑돼 있고 GAD 심볼은 // 그 안의 xcframework 에 있어, 이 모듈이 동적이면 자기 링크 시점에 GADRewardedAd/GADRequest 를 // 못 풀고 실패한다(이전엔 UseCase 가 정적이라 앱 링크로 넘어가 해결됐다). diff --git a/Projects/Service/AdService/Sources/AdBannerSkeletonView.swift b/Projects/Feature/Ad/Sources/AdBannerSkeletonView.swift similarity index 98% rename from Projects/Service/AdService/Sources/AdBannerSkeletonView.swift rename to Projects/Feature/Ad/Sources/AdBannerSkeletonView.swift index 7dfb575c..ae1e11b6 100644 --- a/Projects/Service/AdService/Sources/AdBannerSkeletonView.swift +++ b/Projects/Feature/Ad/Sources/AdBannerSkeletonView.swift @@ -1,6 +1,6 @@ // // AdBannerSkeletonView.swift -// AdService +// Ad // import SwiftUI diff --git a/Projects/Service/AdService/Sources/AdFitBannerView.swift b/Projects/Feature/Ad/Sources/AdFitBannerView.swift similarity index 100% rename from Projects/Service/AdService/Sources/AdFitBannerView.swift rename to Projects/Feature/Ad/Sources/AdFitBannerView.swift diff --git a/Projects/Service/AdService/Sources/AdFitNativeAdView.swift b/Projects/Feature/Ad/Sources/AdFitNativeAdView.swift similarity index 99% rename from Projects/Service/AdService/Sources/AdFitNativeAdView.swift rename to Projects/Feature/Ad/Sources/AdFitNativeAdView.swift index 8204d04e..bdc09267 100644 --- a/Projects/Service/AdService/Sources/AdFitNativeAdView.swift +++ b/Projects/Feature/Ad/Sources/AdFitNativeAdView.swift @@ -1,6 +1,6 @@ // // AdFitNativeAdView.swift -// AdService +// Ad // import OSLog diff --git a/Projects/Service/AdService/Sources/AppStartPopupAd.swift b/Projects/Feature/Ad/Sources/AppStartPopupAd.swift similarity index 99% rename from Projects/Service/AdService/Sources/AppStartPopupAd.swift rename to Projects/Feature/Ad/Sources/AppStartPopupAd.swift index de202449..ed1393c0 100644 --- a/Projects/Service/AdService/Sources/AppStartPopupAd.swift +++ b/Projects/Feature/Ad/Sources/AppStartPopupAd.swift @@ -1,6 +1,6 @@ // // AppStartPopupAd.swift -// AdService +// Ad // import OSLog diff --git a/Projects/Service/AdService/Sources/UseCase/RewardedAdClient+Live.swift b/Projects/Feature/Ad/Sources/UseCase/RewardedAdClient+Live.swift similarity index 98% rename from Projects/Service/AdService/Sources/UseCase/RewardedAdClient+Live.swift rename to Projects/Feature/Ad/Sources/UseCase/RewardedAdClient+Live.swift index a6e27f7c..1505421a 100644 --- a/Projects/Service/AdService/Sources/UseCase/RewardedAdClient+Live.swift +++ b/Projects/Feature/Ad/Sources/UseCase/RewardedAdClient+Live.swift @@ -1,12 +1,12 @@ // // RewardedAdClient+Live.swift -// AdService +// Ad // import Foundation import UIKit -import AdServiceInterface +import AdInterface import AnalyticsServiceInterface import ComposableArchitecture import GoogleMobileAds diff --git a/Projects/Feature/Ad/Testing/AdTesting.swift b/Projects/Feature/Ad/Testing/AdTesting.swift new file mode 100644 index 00000000..0380aa0e --- /dev/null +++ b/Projects/Feature/Ad/Testing/AdTesting.swift @@ -0,0 +1,8 @@ +// +// AdTesting.swift +// AdTesting +// + +import AdInterface + +public enum AdTesting {} diff --git a/Projects/Feature/Ad/Tests/AdTests.swift b/Projects/Feature/Ad/Tests/AdTests.swift new file mode 100644 index 00000000..677960b1 --- /dev/null +++ b/Projects/Feature/Ad/Tests/AdTests.swift @@ -0,0 +1,14 @@ +// +// AdTests.swift +// AdTests +// + +@testable import Ad +import Testing + +struct AdTests { + @Test + func adServiceExample() { + #expect(true) + } +} diff --git a/Projects/Feature/Chat/Project.swift b/Projects/Feature/Chat/Project.swift index dabb083e..c6b1c4ea 100644 --- a/Projects/Feature/Chat/Project.swift +++ b/Projects/Feature/Chat/Project.swift @@ -22,7 +22,7 @@ let project = Project.configure( .domain(.comment, .interface), .core(.thirdParty), // 큐레이션 리스트 상단 배너 광고 — 광고를 노출하는 화면만 명시적으로 의존한다. - .service(.ad), + .feature(.ad), .SPM.composableArchitecture, .SPM.tcaFlow, .SPM.kingfisher, diff --git a/Projects/Feature/Chat/Sources/Curation/View/CurationView.swift b/Projects/Feature/Chat/Sources/Curation/View/CurationView.swift index 48c8faa6..453f388f 100644 --- a/Projects/Feature/Chat/Sources/Curation/View/CurationView.swift +++ b/Projects/Feature/Chat/Sources/Curation/View/CurationView.swift @@ -9,7 +9,7 @@ import BattleDomainInterface import ComposableArchitecture import PickeDesignKit import PickeCoreUtility -import AdService +import Ad @ViewAction(for: CurationFeature.self) public struct CurationView: View { diff --git a/Projects/Feature/FeatureAssembly/Project.swift b/Projects/Feature/FeatureAssembly/Project.swift index 327bc75a..4d216a30 100644 --- a/Projects/Feature/FeatureAssembly/Project.swift +++ b/Projects/Feature/FeatureAssembly/Project.swift @@ -19,6 +19,7 @@ let project = Project.configure( .feature(.battle), .feature(.profile), .feature(.notification), + .feature(.ad), ], sources: ["Sources/**"] ) diff --git a/Projects/Feature/FeatureAssembly/Sources/Exported/FeatureAssemblyExported.swift b/Projects/Feature/FeatureAssembly/Sources/Exported/FeatureAssemblyExported.swift index d2ef22b9..075b9fb3 100644 --- a/Projects/Feature/FeatureAssembly/Sources/Exported/FeatureAssemblyExported.swift +++ b/Projects/Feature/FeatureAssembly/Sources/Exported/FeatureAssemblyExported.swift @@ -7,6 +7,7 @@ // MARK: - 여기에 한번에 호출 할꺼 추가 +@_exported import Ad @_exported import Auth @_exported import Battle @_exported import Chat diff --git a/Projects/Feature/Hifi/Project.swift b/Projects/Feature/Hifi/Project.swift index 98faa796..5511efb7 100644 --- a/Projects/Feature/Hifi/Project.swift +++ b/Projects/Feature/Hifi/Project.swift @@ -16,7 +16,7 @@ let project = Project.configure( .service(.analytics, .interface), .core(.thirdParty), // 탐색 리스트 인라인 배너 광고 — 광고를 노출하는 화면만 명시적으로 의존한다. - .service(.ad), + .feature(.ad), .domain(.home, .interface), .domain(.search, .interface), diff --git a/Projects/Feature/Hifi/Sources/View/HifiView.swift b/Projects/Feature/Hifi/Sources/View/HifiView.swift index ef95a6dd..0eafc2e4 100644 --- a/Projects/Feature/Hifi/Sources/View/HifiView.swift +++ b/Projects/Feature/Hifi/Sources/View/HifiView.swift @@ -10,7 +10,7 @@ import HomeDomainInterface import Kingfisher import PickeDesignKit import PickeCoreUtility -import AdService +import Ad @ViewAction(for: HifiFeature.self) public struct HifiView: View { diff --git a/Projects/Feature/Home/Project.swift b/Projects/Feature/Home/Project.swift index cbedad6e..d2bcab2b 100644 --- a/Projects/Feature/Home/Project.swift +++ b/Projects/Feature/Home/Project.swift @@ -22,6 +22,6 @@ let project = Project.configure( .domain(.notification, .interface), .core(.thirdParty), // 홈 피드 중간 배너 광고 — 광고를 노출하는 화면만 명시적으로 의존한다. - .service(.ad), + .feature(.ad), ] ) diff --git a/Projects/Feature/Home/Sources/Main/View/HomeView.swift b/Projects/Feature/Home/Sources/Main/View/HomeView.swift index bc7d4910..3b0c29e7 100644 --- a/Projects/Feature/Home/Sources/Main/View/HomeView.swift +++ b/Projects/Feature/Home/Sources/Main/View/HomeView.swift @@ -11,7 +11,7 @@ import HomeDomainInterface import PickeDesignKit import ComposableArchitecture -import AdService +import Ad @ViewAction(for: HomeFeature.self) public struct HomeView: View { diff --git a/Projects/Feature/Profile/Project.swift b/Projects/Feature/Profile/Project.swift index d30dec07..f21ee130 100644 --- a/Projects/Feature/Profile/Project.swift +++ b/Projects/Feature/Profile/Project.swift @@ -21,7 +21,7 @@ let project = Project.configure( .domain(.notification, .interface), .core(.thirdParty), - .service(.ad), // 마이페이지 하단 배너 광고 + .feature(.ad), // 마이페이지 하단 배너 광고 .SPM.composableArchitecture, .SPM.tcaFlow, .SPM.kingfisher, diff --git a/Projects/Feature/Profile/Sources/Main/Reducer/ProfileFeature.swift b/Projects/Feature/Profile/Sources/Main/Reducer/ProfileFeature.swift index 57b74b34..639dbe6f 100644 --- a/Projects/Feature/Profile/Sources/Main/Reducer/ProfileFeature.swift +++ b/Projects/Feature/Profile/Sources/Main/Reducer/ProfileFeature.swift @@ -10,7 +10,7 @@ import ComposableArchitecture import LogMacro import NotificationDomainInterface import PickeDesignKit -import AdServiceInterface +import AdInterface import AnalyticsServiceInterface @Reducer diff --git a/Projects/Feature/Profile/Sources/Main/View/ProfileView.swift b/Projects/Feature/Profile/Sources/Main/View/ProfileView.swift index 5c45380f..dc9a91d4 100644 --- a/Projects/Feature/Profile/Sources/Main/View/ProfileView.swift +++ b/Projects/Feature/Profile/Sources/Main/View/ProfileView.swift @@ -8,7 +8,7 @@ import SwiftUI import ComposableArchitecture import Kingfisher import PickeDesignKit -import AdService +import Ad @ViewAction(for: ProfileFeature.self) public struct ProfileView: View { diff --git a/Projects/Service/AdService/Testing/AdServiceTesting.swift b/Projects/Service/AdService/Testing/AdServiceTesting.swift deleted file mode 100644 index e79aca31..00000000 --- a/Projects/Service/AdService/Testing/AdServiceTesting.swift +++ /dev/null @@ -1,8 +0,0 @@ -// -// AdServiceTesting.swift -// AdServiceTesting -// - -import AdServiceInterface - -public enum AdServiceTesting {} diff --git a/Projects/Service/AdService/Tests/AdServiceTests.swift b/Projects/Service/AdService/Tests/AdServiceTests.swift deleted file mode 100644 index ae6720bf..00000000 --- a/Projects/Service/AdService/Tests/AdServiceTests.swift +++ /dev/null @@ -1,14 +0,0 @@ -// -// AdServiceTests.swift -// AdServiceTests -// - -@testable import AdService -import Testing - -struct AdServiceTests { - @Test - func adServiceExample() { - #expect(true) - } -} diff --git a/Projects/Service/ServiceAssembly/Project.swift b/Projects/Service/ServiceAssembly/Project.swift index 7b798796..e8b307ae 100644 --- a/Projects/Service/ServiceAssembly/Project.swift +++ b/Projects/Service/ServiceAssembly/Project.swift @@ -13,7 +13,6 @@ let project = Project.configure( dependencies: [ .coreAssembly, .service(.api), - .service(.ad), .service(.analytics), .service(.audioPlayer), .service(.device), diff --git a/Projects/Service/ServiceAssembly/Sources/Exported/ServiceAssemblyExported.swift b/Projects/Service/ServiceAssembly/Sources/Exported/ServiceAssemblyExported.swift index 6ca0660c..7d4d1863 100644 --- a/Projects/Service/ServiceAssembly/Sources/Exported/ServiceAssemblyExported.swift +++ b/Projects/Service/ServiceAssembly/Sources/Exported/ServiceAssemblyExported.swift @@ -5,9 +5,8 @@ // MARK: - Service 레이어 한번에 노출 -@_exported import AdService -@_exported import API @_exported import AnalyticsService +@_exported import API @_exported import AudioPlayerService @_exported import CoreAssembly @_exported import DeviceService From dafbd57f997c8e87df65eec269421d2fffe6d2f6 Mon Sep 17 00:00:00 2001 From: Roy Date: Sun, 6 Sep 2026 22:46:59 +0900 Subject: [PATCH 39/83] =?UTF-8?q?refactor(tuist):=20UI=20=EB=A0=88?= =?UTF-8?q?=EC=9D=B4=EC=96=B4=EC=9A=A9=20DSL=20=EC=9D=84=20=EC=B9=B4?= =?UTF-8?q?=ED=83=88=EB=A1=9C=EA=B7=B8=EC=97=90=20=EC=B6=94=EA=B0=80?= =?UTF-8?q?=ED=95=9C=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit DesignSystem 단일 모듈을 DDD 처럼 UI 레이어로 쪼개려면 카탈로그가 먼저 UI 레이어를 알아야 한다. 경로 헬퍼와 accessor 만 먼저 깔아둔다. - Path.relativeToUI(_:) 추가 - CoreModule.coreUI 추가 - UIModule enum 신설 (animation / designKit / sharedUI) - TargetDependency.ui(_:_:) 추가 전부 순수 추가라 기존 매니페스트에 영향이 없다. 실제 모듈 디렉토리는 다음 단계에서 만든다. Workspace 가 Projects/** 글롭이라 아직 없는 디렉토리는 매칭되지 않아 generate 가 깨지지 않는다. designSystem accessor 는 파일을 옮기는 단계까지 그대로 둔다. --- .../TargetDependency+Module/Modules.swift | 12 ++++++++++++ .../TargetDependency+Module/Path+Modules.swift | 6 ++++-- .../TargetDependency+Modules.swift | 4 +++- 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Modules.swift b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Modules.swift index af4e1075..9b7a9f15 100644 --- a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Modules.swift +++ b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Modules.swift @@ -32,6 +32,7 @@ public enum CoreModule: String, CaseIterable { case logger = "PickeCoreLogger" case network = "PickeNetwork" case storage = "PickeStorage" + case coreUI = "PickeCoreUI" case coreUtility = "PickeCoreUtility" case thirdParty = "PickeThirdParty" @@ -73,3 +74,14 @@ public enum DomainModule: String, CaseIterable { return .relativeToDomain(rawValue) } } + +public enum UIModule: String, CaseIterable { + case animation = "PickeAnimation" + case designKit = "PickeDesignKit" + case sharedUI = "PickeSharedUI" + + /// Projects/UI/ + var path: Path { + return .relativeToUI(rawValue) + } +} diff --git a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Path+Modules.swift b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Path+Modules.swift index 4e098952..bc42861a 100644 --- a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Path+Modules.swift +++ b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Path+Modules.swift @@ -17,7 +17,6 @@ public extension ProjectDescription.Path { return .relativeToRoot("Projects/Core/\(name)") } - static func relativeToService(_ name: String) -> Self { return .relativeToRoot("Projects/Service/\(name)") } @@ -26,9 +25,12 @@ public extension ProjectDescription.Path { return .relativeToRoot("Projects/Domain/\(name)") } + static func relativeToUI(_ name: String) -> Self { + return .relativeToRoot("Projects/UI/\(name)") + } + /// 디자인 시스템은 아직 단일 모듈이라 레이어 디렉토리가 곧 모듈 경로다. static var designSystem: Self { return .relativeToRoot("Projects/DesignSystem") } - } diff --git a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/TargetDependency+Modules.swift b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/TargetDependency+Modules.swift index 3b77c6f4..3ca6d4d6 100644 --- a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/TargetDependency+Modules.swift +++ b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/TargetDependency+Modules.swift @@ -78,10 +78,12 @@ public extension TargetDependency { return .domain(.assembly) } + static func ui(_ module: UIModule, _ target: ModuleTarget = .implementation) -> Self { + return .moduleDependency(name: module.rawValue, path: module.path, target: target) + } /// 디자인 시스템(단일 타깃). UI 레이어로 쪼갠 뒤 `ui(_:)` 로 대체한다. static var designSystem: Self { return .project(target: "PickeDesignKit", path: .designSystem) } - } From f2af961914210aada2ea3a053809a0284e2e0325 Mon Sep 17 00:00:00 2001 From: Roy Date: Sun, 6 Sep 2026 22:54:27 +0900 Subject: [PATCH 40/83] =?UTF-8?q?refactor(core):=20=ED=86=A0=ED=81=B0?= =?UTF-8?q?=EC=9D=84=20=EB=AA=A8=EB=A5=B4=EB=8A=94=20=EC=88=9C=EC=88=98=20?= =?UTF-8?q?UI=20=ED=99=95=EC=9E=A5=EC=9D=84=20PickeCoreUI=20=EB=A1=9C=20?= =?UTF-8?q?=EB=82=B4=EB=A6=B0=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit DesignSystem 한 모듈이 디자인 토큰과 순수 UIKit/SwiftUI 확장을 같이 들고 있었다. DDD 처럼 토큰을 모르는 확장만 Core 로 내린다. 옮긴 것 (5파일): - Color+ / UIColor+ (init(hex:)) - Image+ (roundedImage()) - UIScreen+ (screenWidth/Height) - UINavigationController+gesture (DDD 와 같은 파일) 남긴 것: 토큰이나 리소스 번들을 참조하므로 DesignKit 소속이다. - CGFloat+Spacing/Radius/Component (디자인 토큰 자동 생성물) - UIImage+ (ImageAsset, Bundle.module) - View+Background / View+Border (.radiusDefault, PickeDivider) product 는 DDDCoreUI 와 같이 framework 로 둔다. 동적인 DesignKit 이 링크하므로 정적이면 앱과 DesignKit 양쪽에 중복으로 박힌다. DesignKit 이 재노출해 화면 코드의 import 는 그대로다. --- Projects/Core/PickeCoreUI/Project.swift | 20 +++++++++++++++++++ .../PickeCoreUI/Sources}/Color/Color+.swift | 0 .../PickeCoreUI/Sources}/Color/UIColor+.swift | 0 .../PickeCoreUI/Sources}/Image/Image+.swift | 0 .../UINavigationController+gesture.swift | 0 .../Sources}/ScreenSize/UIScreen+.swift | 0 Projects/DesignSystem/Project.swift | 1 + .../Exported/PickeDesignKitExported.swift | 9 +++++++++ 8 files changed, 30 insertions(+) create mode 100644 Projects/Core/PickeCoreUI/Project.swift rename Projects/{DesignSystem/Sources/Extension => Core/PickeCoreUI/Sources}/Color/Color+.swift (100%) rename Projects/{DesignSystem/Sources/Extension => Core/PickeCoreUI/Sources}/Color/UIColor+.swift (100%) rename Projects/{DesignSystem/Sources/Extension => Core/PickeCoreUI/Sources}/Image/Image+.swift (100%) rename Projects/{DesignSystem/Sources/UI/Navigaion => Core/PickeCoreUI/Sources/Navigation}/UINavigationController+gesture.swift (100%) rename Projects/{DesignSystem/Sources/Extension => Core/PickeCoreUI/Sources}/ScreenSize/UIScreen+.swift (100%) create mode 100644 Projects/DesignSystem/Sources/Exported/PickeDesignKitExported.swift diff --git a/Projects/Core/PickeCoreUI/Project.swift b/Projects/Core/PickeCoreUI/Project.swift new file mode 100644 index 00000000..1a7b7222 --- /dev/null +++ b/Projects/Core/PickeCoreUI/Project.swift @@ -0,0 +1,20 @@ +import DependencyPackagePlugin +import DependencyPlugin +import Foundation +import ProjectDescription +import ProjectTemplatePlugin + +// 디자인 토큰을 모르는 순수 UIKit/SwiftUI 확장만 둔다. +// 토큰이나 리소스 번들을 참조하는 순간 PickeDesignKit 소속이다. +let project = Project.configure( + moduleType: .module(name: "PickeCoreUI"), + bundleId: .appBundleID(name: ".PickeCoreUI"), + // 동적 프레임워크. 동적인 PickeDesignKit 이 링크하므로 정적으로 두면 + // 앱과 DesignKit 양쪽에 중복으로 박힌다. + product: .framework, + settings: .settings(), + dependencies: [ + ], + sources: ["Sources/**"], + hasTests: false +) diff --git a/Projects/DesignSystem/Sources/Extension/Color/Color+.swift b/Projects/Core/PickeCoreUI/Sources/Color/Color+.swift similarity index 100% rename from Projects/DesignSystem/Sources/Extension/Color/Color+.swift rename to Projects/Core/PickeCoreUI/Sources/Color/Color+.swift diff --git a/Projects/DesignSystem/Sources/Extension/Color/UIColor+.swift b/Projects/Core/PickeCoreUI/Sources/Color/UIColor+.swift similarity index 100% rename from Projects/DesignSystem/Sources/Extension/Color/UIColor+.swift rename to Projects/Core/PickeCoreUI/Sources/Color/UIColor+.swift diff --git a/Projects/DesignSystem/Sources/Extension/Image/Image+.swift b/Projects/Core/PickeCoreUI/Sources/Image/Image+.swift similarity index 100% rename from Projects/DesignSystem/Sources/Extension/Image/Image+.swift rename to Projects/Core/PickeCoreUI/Sources/Image/Image+.swift diff --git a/Projects/DesignSystem/Sources/UI/Navigaion/UINavigationController+gesture.swift b/Projects/Core/PickeCoreUI/Sources/Navigation/UINavigationController+gesture.swift similarity index 100% rename from Projects/DesignSystem/Sources/UI/Navigaion/UINavigationController+gesture.swift rename to Projects/Core/PickeCoreUI/Sources/Navigation/UINavigationController+gesture.swift diff --git a/Projects/DesignSystem/Sources/Extension/ScreenSize/UIScreen+.swift b/Projects/Core/PickeCoreUI/Sources/ScreenSize/UIScreen+.swift similarity index 100% rename from Projects/DesignSystem/Sources/Extension/ScreenSize/UIScreen+.swift rename to Projects/Core/PickeCoreUI/Sources/ScreenSize/UIScreen+.swift diff --git a/Projects/DesignSystem/Project.swift b/Projects/DesignSystem/Project.swift index 17602e0f..e609579b 100644 --- a/Projects/DesignSystem/Project.swift +++ b/Projects/DesignSystem/Project.swift @@ -16,6 +16,7 @@ let project = Project.configure( product: .framework, settings: .settings(), dependencies: [ + .core(.coreUI), .SPM.composableArchitecture, ], sources: ["Sources/**"], diff --git a/Projects/DesignSystem/Sources/Exported/PickeDesignKitExported.swift b/Projects/DesignSystem/Sources/Exported/PickeDesignKitExported.swift new file mode 100644 index 00000000..9e7c06fa --- /dev/null +++ b/Projects/DesignSystem/Sources/Exported/PickeDesignKitExported.swift @@ -0,0 +1,9 @@ +// +// PickeDesignKitExported.swift +// PickeDesignKit +// + +// 토큰을 모르는 순수 확장은 PickeCoreUI 로 내렸다. +// 화면 코드는 여전히 PickeDesignKit 하나만 import 하면 되도록 재노출한다. + +@_exported import PickeCoreUI From 4ca50519c4e4782d037e6f69611790c51b76719e Mon Sep 17 00:00:00 2001 From: Roy Date: Sun, 6 Sep 2026 23:22:39 +0900 Subject: [PATCH 41/83] =?UTF-8?q?refactor(ui):=20DesignSystem=20=EC=9D=84?= =?UTF-8?q?=20UI=20=EB=A0=88=EC=9D=B4=EC=96=B4=20=EC=84=B8=20=EB=AA=A8?= =?UTF-8?q?=EB=93=88=EB=A1=9C=20=EC=AA=BC=EA=B0=A0=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 레이어 밖에 있던 DesignSystem 단일 모듈이 디자인 토큰, 라이브러리를 쓰는 조립 컴포넌트, 애니메이션 에셋을 한데 들고 있었다. DDD 처럼 Projects/UI 아래 셋으로 가른다. - PickeDesignKit: 토큰과 순수 컴포넌트. 외부 라이브러리 의존이 0 이다. - PickeSharedUI: 라이브러리 조립이 필요하거나 업무 개념을 띤 공용 UI. TCA 를 쓰는 Modal/Alert, Kingfisher 를 쓰는 AvatarView, 댓글 입력바, 신고, 오디오 플레이어, EmptyState 를 옮겼다. - PickeAnimation: SDWebImage 로 GIF 를 재생하는 뷰와 에셋. 곁들여 정리한 것: - splashLogo.gif 가 App/Resources 에 있어 Splash 피처가 앱 리소스에 숨은 의존을 갖고 있었다. PickeAnimation 이 소유하고 에셋 이름은 PickeAnimationAsset 뒤로 숨긴다. - PickeThirdParty 가 DesignKit 을 의존하고 있었다. Core 가 UI 를 바라보는 역방향이라 끊는다. 실제로 쓰지도 않았다. - PickeSharedUI 는 thirdParty 를 통째로 끌어오지 않고 필요한 것만 직접 의존한다. - TokenGenerator 의 출력 경로가 존재하지 않는 Projects/Shared/DesignSystem 을 가리키고 있었다. 실제 경로로 고친다. - designSystem accessor 와 Path 를 걷고 ui(_:) 로 일원화했다. tuist generate 는 통과했지만 매니페스트까지만 검증한 것이다. 컴파일 검증은 전체 빌드 단계에서 한다. --- .../Path+Modules.swift | 5 -- .../TargetDependency+Modules.swift | 5 -- Projects/Core/PickeThirdParty/Project.swift | 1 - Projects/Feature/Auth/Project.swift | 3 +- .../Auth/Sources/Main/View/LoginView.swift | 1 + Projects/Feature/Battle/Project.swift | 2 +- Projects/Feature/Chat/Project.swift | 3 +- .../ChatRoom/Reducer/ChatRoomFeature.swift | 1 + .../Sources/ChatRoom/View/ChatRoomView.swift | 1 + .../Comment/Reducer/CommentFeature.swift | 1 + .../Sources/Comment/View/CommentView.swift | 1 + .../Reducer/CommentReplyFeature.swift | 1 + .../CommentReply/View/CommentReplyView.swift | 1 + .../Sources/Curation/View/CurationView.swift | 1 + .../Sources/Vote/Reducer/PreVoteFeature.swift | 1 + .../Chat/Sources/Vote/View/PreVoteView.swift | 1 + Projects/Feature/Hifi/Project.swift | 2 +- Projects/Feature/Home/Project.swift | 3 +- .../Home/Sources/Main/View/HomeView.swift | 1 + Projects/Feature/Notification/Project.swift | 3 +- .../Sources/Main/View/NotificationView.swift | 1 + Projects/Feature/Profile/Project.swift | 3 +- .../Reducer/BattleProposalFeature.swift | 1 + .../View/BattleProposalView.swift | 1 + .../BattleRecord/View/BattleRecordView.swift | 1 + .../View/ContentActivityView.swift | 1 + .../Sources/Main/Reducer/ProfileFeature.swift | 1 + .../Sources/Main/View/ProfileView.swift | 1 + .../Sources/Notice/View/NoticeView.swift | 1 + .../Reducer/PointHistoryFeature.swift | 1 + .../PointHistory/View/PointHistoryView.swift | 1 + .../Settings/Reducer/SettingsFeature.swift | 1 + .../Sources/Settings/View/SettingsView.swift | 1 + .../Reducer/WithdrawReasonFeature.swift | 1 + .../Withdraw/View/WithdrawReasonView.swift | 1 + Projects/Feature/Splash/Project.swift | 10 ++-- .../SplashLogoAnimatedImageView.swift | 44 --------------- .../Splash/Sources/View/SplashView.swift | 7 ++- Projects/Feature/Web/Project.swift | 2 +- Projects/UI/PickeAnimation/Project.swift | 21 ++++++++ .../PickeAnimation}/Resources/splashLogo.gif | Bin .../Sources/PickeAnimatedImageView.swift | 50 ++++++++++++++++++ .../Sources/PickeAnimationAsset.swift | 25 +++++++++ .../Demo/Sources/PickeDesignKitDemoApp.swift | 0 .../Demo/Sources/StorybookView.swift | 0 .../DesignSystemTests/Sources/Test.swift | 0 .../PickeDesignKit}/Project.swift | 0 .../FontAsset/PretendardVariable.ttf | Bin .../ImageAssets.xcassets/Auth/Contents.json | 0 .../Auth/checkBlue.imageset/Contents.json | 0 .../Auth/checkBlue.imageset/checkBlue.svg | 0 .../Auth/errorXmark.imageset/Contents.json | 0 .../Auth/errorXmark.imageset/errorXmark.svg | 0 .../ImageAssets.xcassets/Avatar/Contents.json | 0 .../Avatar/avatarPlato.imageset/Contents.json | 0 .../avatarPlato.imageset/avatarPlato.png | Bin .../avatarSartre.imageset/Contents.json | 0 .../avatarSartre.imageset/avatarSartre.png | Bin .../Avatar/avatarSunja.imageset/Contents.json | 0 .../avatarSunja.imageset/avatarSunja.png | Bin .../Comment/heartPlus.imageset/Contents.json | 0 .../Comment/heartPlus.imageset/heartPlus.svg | 0 .../ImageAssets.xcassets/Contents.json | 0 .../ImageAssets.xcassets/GNB/Contents.json | 0 .../GNB/tabExplore.imageset/Contents.json | 0 .../GNB/tabExplore.imageset/tabExplore.svg | 0 .../tabExploreActive.imageset/Contents.json | 0 .../tabExploreActive.svg | 0 .../GNB/tabHome.imageset/Contents.json | 0 .../GNB/tabHome.imageset/tabHome.svg | 0 .../GNB/tabHomeActive.imageset/Contents.json | 0 .../tabHomeActive.imageset/tabHomeActive.svg | 0 .../GNB/tabMyPage.imageset/Contents.json | 0 .../GNB/tabMyPage.imageset/tabMyPage.svg | 0 .../tabMyPageActive.imageset/Contents.json | 0 .../tabMyPageActive.svg | 0 .../GNB/tabQuickBattle.imageset/Contents.json | 0 .../tabQuickBattle.svg | 0 .../Contents.json | 0 .../tabQuickBattleActive.svg | 0 .../ImageAssets.xcassets/Home/Contents.json | 0 .../Home/appLogo.imageset/Contents.json | 0 .../Home/appLogo.imageset/appLogo.svg | 0 .../Home/bell.imageset/Contents.json | 0 .../Home/bell.imageset/bell.svg | 0 .../OnBoarding/Contents.json | 0 .../onboarding1.imageset/Contents.json | 0 ...354\230\250\353\263\264\353\224\251 1.svg" | 0 .../onboarding2.imageset/Contents.json | 0 ...354\230\250\353\263\264\353\224\251 2.svg" | 0 .../onboarding3.imageset/Contents.json | 0 ...354\230\250\353\263\264\353\224\251 3.svg" | 0 .../onboarding4.imageset/Contents.json | 0 ...354\230\250\353\263\264\353\224\251 4.svg" | 0 .../Profile/Contents.json | 0 .../Profile/history.imageset/Contents.json | 0 .../Profile/history.imageset/history.svg | 0 .../Profile/lock.imageset/Contents.json | 0 ...\252\251-\354\227\206\354\235\214-2 1.png" | Bin .../Profile/vs.imageset/Contents.json | 0 .../Profile/vs.imageset/versus_home.svg | 0 .../ImageAssets.xcassets/logo/Contents.json | 0 .../logo/loginLogo.imageset/Contents.json | 0 ...\354\274\200 \353\241\234\352\263\240.svg" | 0 .../logo/noDataLogo.imageset/Contents.json | 0 .../logo/noDataLogo.imageset/pickeLogo2.svg | 0 .../logo/splashLogo.imageset/Contents.json | 0 .../logo/splashLogo.imageset/splashLogo.png | Bin .../socialLogin/Contents.json | 0 .../socialLogin/google.imageset/Contents.json | 0 .../socialLogin/google.imageset/google.svg | 0 .../socialLogin/kakao.imageset/Contents.json | 0 .../socialLogin/kakao.imageset/kakao.svg | 0 .../Exported/PickeDesignKitExported.swift | 0 .../CGFloat/CGFloat+Component+.swift | 0 .../Extension/CGFloat/CGFloat+Radius+.swift | 0 .../Extension/CGFloat/CGFloat+Spacing+.swift | 0 .../Sources/Extension/Image/UIImage+.swift | 0 .../Extension/View/View+Background.swift | 0 .../Sources/Extension/View/View+Border.swift | 0 .../Sources/Token/Color/ShapeStyle+.swift | 0 .../Sources/Token/Image/ImageAsset.swift | 0 .../Sources/Token/Typography/CustomSize.swift | 0 .../Token/Typography/PretendardFont.swift | 0 .../Typography/PretendardFontFamily.swift | 0 .../UI/ActionSheet/BottomActionSheet.swift | 0 .../UI/ActionSheet/PickeActionPill.swift | 0 ...stomConfirmationPopupView+Components.swift | 0 .../CustomConfirmationPopupView+Content.swift | 0 .../CustomConfirmationPopupView.swift | 0 .../Sources/UI/Avatar/PickeAvatar.swift | 0 .../Sources/UI/Badge/PickeBadge.swift | 0 .../Sources/UI/Button/CTAButtonStyle.swift | 0 .../UI/Button/CTAButtonStyleModifier.swift | 0 .../Sources/UI/Card/PickeListRowCard.swift | 0 .../Sources/UI/Chip/PickeSortChip.swift | 0 .../Sources/UI/Divider/PickeDivider.swift | 0 .../UI/Floating/FloatingErrorView.swift | 0 .../UI/Navigaion/PickeNavigationBar.swift | 0 .../UI/Navigaion/PickeSegmentTab.swift | 0 .../Sources/UI/Share/ShareSheet.swift | 0 .../Sources/UI/Skeleton/SkeletonBlock.swift | 0 .../Sources/UI/Skeleton/SkeletonView.swift | 0 .../Sources/UI/Toast/ToastManager.swift | 0 .../Sources/UI/Toast/ToastType.swift | 0 .../Sources/UI/Toast/ToastView.swift | 0 .../Sources/UI/Token/ComponentToken.swift | 0 Projects/UI/PickeSharedUI/Project.swift | 21 ++++++++ .../Sources/Alert}/CustomAlertModifiers.swift | 0 .../Sources/Alert}/CustomAlertState.swift | 0 .../AudioPlayer/AudioEqualizerView.swift | 0 .../AudioPlayer/AudioPlayerControlView.swift | 0 .../Sources}/Avatar/PickeAvatarView.swift | 0 .../Sources}/Empty/PickeEmptyStateView.swift | 0 .../Sources}/Empty/PickeRetryErrorView.swift | 0 .../Sources}/Input/PickeCommentInputBar.swift | 0 .../Sources}/Modal/PickeModal.swift | 0 .../CustomConfirmationPopupView+Report.swift | 0 .../Sources/Report}/ReportReason.swift | 0 Tools/TokenGenerator.swift | 4 +- 160 files changed, 167 insertions(+), 72 deletions(-) delete mode 100644 Projects/Feature/Splash/Sources/View/Components/SplashLogoAnimatedImageView.swift create mode 100644 Projects/UI/PickeAnimation/Project.swift rename Projects/{App => UI/PickeAnimation}/Resources/splashLogo.gif (100%) create mode 100644 Projects/UI/PickeAnimation/Sources/PickeAnimatedImageView.swift create mode 100644 Projects/UI/PickeAnimation/Sources/PickeAnimationAsset.swift rename Projects/{DesignSystem => UI/PickeDesignKit}/Demo/Sources/PickeDesignKitDemoApp.swift (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Demo/Sources/StorybookView.swift (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/DesignSystemTests/Sources/Test.swift (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Project.swift (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Resources/FontAsset/PretendardVariable.ttf (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Resources/ImageAssets.xcassets/Auth/Contents.json (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Resources/ImageAssets.xcassets/Auth/checkBlue.imageset/Contents.json (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Resources/ImageAssets.xcassets/Auth/checkBlue.imageset/checkBlue.svg (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Resources/ImageAssets.xcassets/Auth/errorXmark.imageset/Contents.json (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Resources/ImageAssets.xcassets/Auth/errorXmark.imageset/errorXmark.svg (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Resources/ImageAssets.xcassets/Avatar/Contents.json (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Resources/ImageAssets.xcassets/Avatar/avatarPlato.imageset/Contents.json (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Resources/ImageAssets.xcassets/Avatar/avatarPlato.imageset/avatarPlato.png (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Resources/ImageAssets.xcassets/Avatar/avatarSartre.imageset/Contents.json (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Resources/ImageAssets.xcassets/Avatar/avatarSartre.imageset/avatarSartre.png (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Resources/ImageAssets.xcassets/Avatar/avatarSunja.imageset/Contents.json (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Resources/ImageAssets.xcassets/Avatar/avatarSunja.imageset/avatarSunja.png (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Resources/ImageAssets.xcassets/Comment/heartPlus.imageset/Contents.json (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Resources/ImageAssets.xcassets/Comment/heartPlus.imageset/heartPlus.svg (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Resources/ImageAssets.xcassets/Contents.json (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Resources/ImageAssets.xcassets/GNB/Contents.json (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Resources/ImageAssets.xcassets/GNB/tabExplore.imageset/Contents.json (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Resources/ImageAssets.xcassets/GNB/tabExplore.imageset/tabExplore.svg (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Resources/ImageAssets.xcassets/GNB/tabExploreActive.imageset/Contents.json (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Resources/ImageAssets.xcassets/GNB/tabExploreActive.imageset/tabExploreActive.svg (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Resources/ImageAssets.xcassets/GNB/tabHome.imageset/Contents.json (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Resources/ImageAssets.xcassets/GNB/tabHome.imageset/tabHome.svg (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Resources/ImageAssets.xcassets/GNB/tabHomeActive.imageset/Contents.json (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Resources/ImageAssets.xcassets/GNB/tabHomeActive.imageset/tabHomeActive.svg (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Resources/ImageAssets.xcassets/GNB/tabMyPage.imageset/Contents.json (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Resources/ImageAssets.xcassets/GNB/tabMyPage.imageset/tabMyPage.svg (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Resources/ImageAssets.xcassets/GNB/tabMyPageActive.imageset/Contents.json (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Resources/ImageAssets.xcassets/GNB/tabMyPageActive.imageset/tabMyPageActive.svg (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Resources/ImageAssets.xcassets/GNB/tabQuickBattle.imageset/Contents.json (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Resources/ImageAssets.xcassets/GNB/tabQuickBattle.imageset/tabQuickBattle.svg (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Resources/ImageAssets.xcassets/GNB/tabQuickBattleActive.imageset/Contents.json (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Resources/ImageAssets.xcassets/GNB/tabQuickBattleActive.imageset/tabQuickBattleActive.svg (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Resources/ImageAssets.xcassets/Home/Contents.json (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Resources/ImageAssets.xcassets/Home/appLogo.imageset/Contents.json (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Resources/ImageAssets.xcassets/Home/appLogo.imageset/appLogo.svg (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Resources/ImageAssets.xcassets/Home/bell.imageset/Contents.json (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Resources/ImageAssets.xcassets/Home/bell.imageset/bell.svg (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Resources/ImageAssets.xcassets/OnBoarding/Contents.json (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Resources/ImageAssets.xcassets/OnBoarding/onboarding1.imageset/Contents.json (100%) rename "Projects/DesignSystem/Resources/ImageAssets.xcassets/OnBoarding/onboarding1.imageset/\354\230\250\353\263\264\353\224\251 1.svg" => "Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/OnBoarding/onboarding1.imageset/\354\230\250\353\263\264\353\224\251 1.svg" (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Resources/ImageAssets.xcassets/OnBoarding/onboarding2.imageset/Contents.json (100%) rename "Projects/DesignSystem/Resources/ImageAssets.xcassets/OnBoarding/onboarding2.imageset/\354\230\250\353\263\264\353\224\251 2.svg" => "Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/OnBoarding/onboarding2.imageset/\354\230\250\353\263\264\353\224\251 2.svg" (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Resources/ImageAssets.xcassets/OnBoarding/onboarding3.imageset/Contents.json (100%) rename "Projects/DesignSystem/Resources/ImageAssets.xcassets/OnBoarding/onboarding3.imageset/\354\230\250\353\263\264\353\224\251 3.svg" => "Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/OnBoarding/onboarding3.imageset/\354\230\250\353\263\264\353\224\251 3.svg" (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Resources/ImageAssets.xcassets/OnBoarding/onboarding4.imageset/Contents.json (100%) rename "Projects/DesignSystem/Resources/ImageAssets.xcassets/OnBoarding/onboarding4.imageset/\354\230\250\353\263\264\353\224\251 4.svg" => "Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/OnBoarding/onboarding4.imageset/\354\230\250\353\263\264\353\224\251 4.svg" (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Resources/ImageAssets.xcassets/Profile/Contents.json (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Resources/ImageAssets.xcassets/Profile/history.imageset/Contents.json (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Resources/ImageAssets.xcassets/Profile/history.imageset/history.svg (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Resources/ImageAssets.xcassets/Profile/lock.imageset/Contents.json (100%) rename "Projects/DesignSystem/Resources/ImageAssets.xcassets/Profile/lock.imageset/\354\240\234\353\252\251-\354\227\206\354\235\214-2 1.png" => "Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/Profile/lock.imageset/\354\240\234\353\252\251-\354\227\206\354\235\214-2 1.png" (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Resources/ImageAssets.xcassets/Profile/vs.imageset/Contents.json (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Resources/ImageAssets.xcassets/Profile/vs.imageset/versus_home.svg (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Resources/ImageAssets.xcassets/logo/Contents.json (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Resources/ImageAssets.xcassets/logo/loginLogo.imageset/Contents.json (100%) rename "Projects/DesignSystem/Resources/ImageAssets.xcassets/logo/loginLogo.imageset/\355\224\275\354\274\200 \353\241\234\352\263\240.svg" => "Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/logo/loginLogo.imageset/\355\224\275\354\274\200 \353\241\234\352\263\240.svg" (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Resources/ImageAssets.xcassets/logo/noDataLogo.imageset/Contents.json (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Resources/ImageAssets.xcassets/logo/noDataLogo.imageset/pickeLogo2.svg (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Resources/ImageAssets.xcassets/logo/splashLogo.imageset/Contents.json (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Resources/ImageAssets.xcassets/logo/splashLogo.imageset/splashLogo.png (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Resources/ImageAssets.xcassets/socialLogin/Contents.json (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Resources/ImageAssets.xcassets/socialLogin/google.imageset/Contents.json (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Resources/ImageAssets.xcassets/socialLogin/google.imageset/google.svg (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Resources/ImageAssets.xcassets/socialLogin/kakao.imageset/Contents.json (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Resources/ImageAssets.xcassets/socialLogin/kakao.imageset/kakao.svg (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Sources/Exported/PickeDesignKitExported.swift (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Sources/Extension/CGFloat/CGFloat+Component+.swift (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Sources/Extension/CGFloat/CGFloat+Radius+.swift (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Sources/Extension/CGFloat/CGFloat+Spacing+.swift (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Sources/Extension/Image/UIImage+.swift (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Sources/Extension/View/View+Background.swift (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Sources/Extension/View/View+Border.swift (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Sources/Token/Color/ShapeStyle+.swift (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Sources/Token/Image/ImageAsset.swift (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Sources/Token/Typography/CustomSize.swift (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Sources/Token/Typography/PretendardFont.swift (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Sources/Token/Typography/PretendardFontFamily.swift (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Sources/UI/ActionSheet/BottomActionSheet.swift (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Sources/UI/ActionSheet/PickeActionPill.swift (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Sources/UI/Alert/CustomPopup/CustomConfirmationPopupView+Components.swift (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Sources/UI/Alert/CustomPopup/CustomConfirmationPopupView+Content.swift (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Sources/UI/Alert/CustomPopup/CustomConfirmationPopupView.swift (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Sources/UI/Avatar/PickeAvatar.swift (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Sources/UI/Badge/PickeBadge.swift (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Sources/UI/Button/CTAButtonStyle.swift (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Sources/UI/Button/CTAButtonStyleModifier.swift (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Sources/UI/Card/PickeListRowCard.swift (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Sources/UI/Chip/PickeSortChip.swift (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Sources/UI/Divider/PickeDivider.swift (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Sources/UI/Floating/FloatingErrorView.swift (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Sources/UI/Navigaion/PickeNavigationBar.swift (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Sources/UI/Navigaion/PickeSegmentTab.swift (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Sources/UI/Share/ShareSheet.swift (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Sources/UI/Skeleton/SkeletonBlock.swift (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Sources/UI/Skeleton/SkeletonView.swift (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Sources/UI/Toast/ToastManager.swift (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Sources/UI/Toast/ToastType.swift (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Sources/UI/Toast/ToastView.swift (100%) rename Projects/{DesignSystem => UI/PickeDesignKit}/Sources/UI/Token/ComponentToken.swift (100%) create mode 100644 Projects/UI/PickeSharedUI/Project.swift rename Projects/{DesignSystem/Sources/UI/Alert/CustomPopup => UI/PickeSharedUI/Sources/Alert}/CustomAlertModifiers.swift (100%) rename Projects/{DesignSystem/Sources/UI/Alert/CustomPopup => UI/PickeSharedUI/Sources/Alert}/CustomAlertState.swift (100%) rename Projects/{DesignSystem/Sources/UI => UI/PickeSharedUI/Sources}/AudioPlayer/AudioEqualizerView.swift (100%) rename Projects/{DesignSystem/Sources/UI => UI/PickeSharedUI/Sources}/AudioPlayer/AudioPlayerControlView.swift (100%) rename Projects/{DesignSystem/Sources/UI => UI/PickeSharedUI/Sources}/Avatar/PickeAvatarView.swift (100%) rename Projects/{DesignSystem/Sources/UI => UI/PickeSharedUI/Sources}/Empty/PickeEmptyStateView.swift (100%) rename Projects/{DesignSystem/Sources/UI => UI/PickeSharedUI/Sources}/Empty/PickeRetryErrorView.swift (100%) rename Projects/{DesignSystem/Sources/UI => UI/PickeSharedUI/Sources}/Input/PickeCommentInputBar.swift (100%) rename Projects/{DesignSystem/Sources/UI => UI/PickeSharedUI/Sources}/Modal/PickeModal.swift (100%) rename Projects/{DesignSystem/Sources/UI/Alert/CustomPopup => UI/PickeSharedUI/Sources/Report}/CustomConfirmationPopupView+Report.swift (100%) rename Projects/{DesignSystem/Sources/UI/Alert/CustomPopup => UI/PickeSharedUI/Sources/Report}/ReportReason.swift (100%) diff --git a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Path+Modules.swift b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Path+Modules.swift index bc42861a..3ab912ec 100644 --- a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Path+Modules.swift +++ b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Path+Modules.swift @@ -28,9 +28,4 @@ public extension ProjectDescription.Path { static func relativeToUI(_ name: String) -> Self { return .relativeToRoot("Projects/UI/\(name)") } - - /// 디자인 시스템은 아직 단일 모듈이라 레이어 디렉토리가 곧 모듈 경로다. - static var designSystem: Self { - return .relativeToRoot("Projects/DesignSystem") - } } diff --git a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/TargetDependency+Modules.swift b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/TargetDependency+Modules.swift index 3ca6d4d6..717b35d1 100644 --- a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/TargetDependency+Modules.swift +++ b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/TargetDependency+Modules.swift @@ -81,9 +81,4 @@ public extension TargetDependency { static func ui(_ module: UIModule, _ target: ModuleTarget = .implementation) -> Self { return .moduleDependency(name: module.rawValue, path: module.path, target: target) } - - /// 디자인 시스템(단일 타깃). UI 레이어로 쪼갠 뒤 `ui(_:)` 로 대체한다. - static var designSystem: Self { - return .project(target: "PickeDesignKit", path: .designSystem) - } } diff --git a/Projects/Core/PickeThirdParty/Project.swift b/Projects/Core/PickeThirdParty/Project.swift index a5ecf9b5..721928c9 100644 --- a/Projects/Core/PickeThirdParty/Project.swift +++ b/Projects/Core/PickeThirdParty/Project.swift @@ -11,7 +11,6 @@ let project = Project.configure( settings: .settings(), dependencies: [ .core(.coreUtility), - .designSystem, .SPM.composableArchitecture, .SPM.tcaFlow, .SPM.sdwebImage, diff --git a/Projects/Feature/Auth/Project.swift b/Projects/Feature/Auth/Project.swift index 7eefc30b..0e58e728 100644 --- a/Projects/Feature/Auth/Project.swift +++ b/Projects/Feature/Auth/Project.swift @@ -10,7 +10,8 @@ let project = Project.configure( product: .staticFramework, settings: .settings(), dependencies: [ - .designSystem, + .ui(.designKit), + .ui(.sharedUI), .service(.analytics, .interface), .SPM.composableArchitecture, .SPM.tcaFlow, diff --git a/Projects/Feature/Auth/Sources/Main/View/LoginView.swift b/Projects/Feature/Auth/Sources/Main/View/LoginView.swift index 82c10207..870be13c 100644 --- a/Projects/Feature/Auth/Sources/Main/View/LoginView.swift +++ b/Projects/Feature/Auth/Sources/Main/View/LoginView.swift @@ -10,6 +10,7 @@ import SwiftUI import AuthDomainInterface import PickeDesignKit +import PickeSharedUI public struct LoginView: View { @Bindable var store: StoreOf diff --git a/Projects/Feature/Battle/Project.swift b/Projects/Feature/Battle/Project.swift index 8d01ceb6..9e092c14 100644 --- a/Projects/Feature/Battle/Project.swift +++ b/Projects/Feature/Battle/Project.swift @@ -10,7 +10,7 @@ let project = Project.configure( product: .staticFramework, settings: .settings(), dependencies: [ - .designSystem, + .ui(.designKit), .core(.coreUtility), .service(.analytics, .interface), .core(.thirdParty), diff --git a/Projects/Feature/Chat/Project.swift b/Projects/Feature/Chat/Project.swift index c6b1c4ea..a73fcf63 100644 --- a/Projects/Feature/Chat/Project.swift +++ b/Projects/Feature/Chat/Project.swift @@ -12,7 +12,8 @@ let project = Project.configure( dependencies: [ .service(.audioPlayer, .interface), .domain(.perspective, .interface), - .designSystem, + .ui(.designKit), + .ui(.sharedUI), .core(.coreUtility), .service(.analytics, .interface), .domain(.battle, .interface), diff --git a/Projects/Feature/Chat/Sources/ChatRoom/Reducer/ChatRoomFeature.swift b/Projects/Feature/Chat/Sources/ChatRoom/Reducer/ChatRoomFeature.swift index c31c801c..38011cf1 100644 --- a/Projects/Feature/Chat/Sources/ChatRoom/Reducer/ChatRoomFeature.swift +++ b/Projects/Feature/Chat/Sources/ChatRoom/Reducer/ChatRoomFeature.swift @@ -13,6 +13,7 @@ import ComposableArchitecture import HomeDomainInterface import LogMacro import PickeDesignKit +import PickeSharedUI import PickeCoreUtility import AnalyticsServiceInterface import AudioPlayerServiceInterface diff --git a/Projects/Feature/Chat/Sources/ChatRoom/View/ChatRoomView.swift b/Projects/Feature/Chat/Sources/ChatRoom/View/ChatRoomView.swift index f3036539..536a881f 100644 --- a/Projects/Feature/Chat/Sources/ChatRoom/View/ChatRoomView.swift +++ b/Projects/Feature/Chat/Sources/ChatRoom/View/ChatRoomView.swift @@ -11,6 +11,7 @@ import ComposableArchitecture import HomeDomainInterface import Kingfisher import PickeDesignKit +import PickeSharedUI @ViewAction(for: ChatRoomFeature.self) public struct ChatRoomView: View { diff --git a/Projects/Feature/Chat/Sources/Comment/Reducer/CommentFeature.swift b/Projects/Feature/Chat/Sources/Comment/Reducer/CommentFeature.swift index 9e4ccbaa..080ec5c5 100644 --- a/Projects/Feature/Chat/Sources/Comment/Reducer/CommentFeature.swift +++ b/Projects/Feature/Chat/Sources/Comment/Reducer/CommentFeature.swift @@ -11,6 +11,7 @@ import ComposableArchitecture import LogMacro import PerspectiveDomainInterface import PickeDesignKit +import PickeSharedUI import AnalyticsServiceInterface @Reducer diff --git a/Projects/Feature/Chat/Sources/Comment/View/CommentView.swift b/Projects/Feature/Chat/Sources/Comment/View/CommentView.swift index d750ed80..40e2a60d 100644 --- a/Projects/Feature/Chat/Sources/Comment/View/CommentView.swift +++ b/Projects/Feature/Chat/Sources/Comment/View/CommentView.swift @@ -8,6 +8,7 @@ import SwiftUI import CommentDomainInterface import ComposableArchitecture import PickeDesignKit +import PickeSharedUI import PickeCoreUtility @ViewAction(for: CommentFeature.self) diff --git a/Projects/Feature/Chat/Sources/CommentReply/Reducer/CommentReplyFeature.swift b/Projects/Feature/Chat/Sources/CommentReply/Reducer/CommentReplyFeature.swift index 066cfeb7..8b339b7f 100644 --- a/Projects/Feature/Chat/Sources/CommentReply/Reducer/CommentReplyFeature.swift +++ b/Projects/Feature/Chat/Sources/CommentReply/Reducer/CommentReplyFeature.swift @@ -13,6 +13,7 @@ import ComposableArchitecture import LogMacro import PerspectiveDomainInterface import PickeDesignKit +import PickeSharedUI import AnalyticsServiceInterface @Reducer diff --git a/Projects/Feature/Chat/Sources/CommentReply/View/CommentReplyView.swift b/Projects/Feature/Chat/Sources/CommentReply/View/CommentReplyView.swift index 4b1b369b..c71f47b7 100644 --- a/Projects/Feature/Chat/Sources/CommentReply/View/CommentReplyView.swift +++ b/Projects/Feature/Chat/Sources/CommentReply/View/CommentReplyView.swift @@ -8,6 +8,7 @@ import SwiftUI import CommentDomainInterface import ComposableArchitecture import PickeDesignKit +import PickeSharedUI import PickeCoreUtility @ViewAction(for: CommentReplyFeature.self) diff --git a/Projects/Feature/Chat/Sources/Curation/View/CurationView.swift b/Projects/Feature/Chat/Sources/Curation/View/CurationView.swift index 453f388f..fbd220d0 100644 --- a/Projects/Feature/Chat/Sources/Curation/View/CurationView.swift +++ b/Projects/Feature/Chat/Sources/Curation/View/CurationView.swift @@ -8,6 +8,7 @@ import SwiftUI import BattleDomainInterface import ComposableArchitecture import PickeDesignKit +import PickeSharedUI import PickeCoreUtility import Ad diff --git a/Projects/Feature/Chat/Sources/Vote/Reducer/PreVoteFeature.swift b/Projects/Feature/Chat/Sources/Vote/Reducer/PreVoteFeature.swift index 3a5aa96b..ca02b48f 100644 --- a/Projects/Feature/Chat/Sources/Vote/Reducer/PreVoteFeature.swift +++ b/Projects/Feature/Chat/Sources/Vote/Reducer/PreVoteFeature.swift @@ -15,6 +15,7 @@ import ComposableArchitecture import LogMacro import PerspectiveDomainInterface import PickeDesignKit +import PickeSharedUI import PickeCoreUtility @Reducer diff --git a/Projects/Feature/Chat/Sources/Vote/View/PreVoteView.swift b/Projects/Feature/Chat/Sources/Vote/View/PreVoteView.swift index c042a28a..d53d669d 100644 --- a/Projects/Feature/Chat/Sources/Vote/View/PreVoteView.swift +++ b/Projects/Feature/Chat/Sources/Vote/View/PreVoteView.swift @@ -11,6 +11,7 @@ import BattleDomainInterface import ComposableArchitecture import Kingfisher import PickeDesignKit +import PickeSharedUI @ViewAction(for: PreVoteFeature.self) public struct PreVoteView: View { diff --git a/Projects/Feature/Hifi/Project.swift b/Projects/Feature/Hifi/Project.swift index 5511efb7..7ce2c212 100644 --- a/Projects/Feature/Hifi/Project.swift +++ b/Projects/Feature/Hifi/Project.swift @@ -11,7 +11,7 @@ let project = Project.configure( settings: .settings(), dependencies: [ .domain(.battle, .interface), - .designSystem, + .ui(.designKit), .core(.coreUtility), .service(.analytics, .interface), .core(.thirdParty), diff --git a/Projects/Feature/Home/Project.swift b/Projects/Feature/Home/Project.swift index d2bcab2b..9d644259 100644 --- a/Projects/Feature/Home/Project.swift +++ b/Projects/Feature/Home/Project.swift @@ -11,7 +11,8 @@ let project = Project.configure( settings: .settings(), dependencies: [ .domain(.auth, .interface), - .designSystem, + .ui(.designKit), + .ui(.sharedUI), .service(.analytics, .interface), .SPM.tcaFlow, .SPM.kingfisher, diff --git a/Projects/Feature/Home/Sources/Main/View/HomeView.swift b/Projects/Feature/Home/Sources/Main/View/HomeView.swift index 3b0c29e7..cb4e5f35 100644 --- a/Projects/Feature/Home/Sources/Main/View/HomeView.swift +++ b/Projects/Feature/Home/Sources/Main/View/HomeView.swift @@ -9,6 +9,7 @@ import SwiftUI import HomeDomainInterface import PickeDesignKit +import PickeSharedUI import ComposableArchitecture import Ad diff --git a/Projects/Feature/Notification/Project.swift b/Projects/Feature/Notification/Project.swift index a32a97e5..809226c9 100644 --- a/Projects/Feature/Notification/Project.swift +++ b/Projects/Feature/Notification/Project.swift @@ -10,7 +10,8 @@ let project = Project.configure( product: .staticFramework, settings: .settings(), dependencies: [ - .designSystem, + .ui(.designKit), + .ui(.sharedUI), .core(.coreUtility), .service(.analytics, .interface), .domain(.notification, .interface), diff --git a/Projects/Feature/Notification/Sources/Main/View/NotificationView.swift b/Projects/Feature/Notification/Sources/Main/View/NotificationView.swift index f33ebc3e..5d6ff8ea 100644 --- a/Projects/Feature/Notification/Sources/Main/View/NotificationView.swift +++ b/Projects/Feature/Notification/Sources/Main/View/NotificationView.swift @@ -8,6 +8,7 @@ import SwiftUI import ComposableArchitecture import NotificationDomainInterface import PickeDesignKit +import PickeSharedUI import PickeCoreUtility @ViewAction(for: NotificationFeature.self) diff --git a/Projects/Feature/Profile/Project.swift b/Projects/Feature/Profile/Project.swift index f21ee130..29655038 100644 --- a/Projects/Feature/Profile/Project.swift +++ b/Projects/Feature/Profile/Project.swift @@ -10,7 +10,8 @@ let project = Project.configure( product: .staticFramework, settings: .settings(), dependencies: [ - .designSystem, + .ui(.designKit), + .ui(.sharedUI), .core(.coreUtility), .core(.storage, .interface), .service(.device, .interface), diff --git a/Projects/Feature/Profile/Sources/BattleProposal/Reducer/BattleProposalFeature.swift b/Projects/Feature/Profile/Sources/BattleProposal/Reducer/BattleProposalFeature.swift index c9c8a8c2..610ae66b 100644 --- a/Projects/Feature/Profile/Sources/BattleProposal/Reducer/BattleProposalFeature.swift +++ b/Projects/Feature/Profile/Sources/BattleProposal/Reducer/BattleProposalFeature.swift @@ -7,6 +7,7 @@ import Foundation import ComposableArchitecture import PickeDesignKit +import PickeSharedUI import BattleDomainInterface import LogMacro diff --git a/Projects/Feature/Profile/Sources/BattleProposal/View/BattleProposalView.swift b/Projects/Feature/Profile/Sources/BattleProposal/View/BattleProposalView.swift index 4bbd769e..86b93f2a 100644 --- a/Projects/Feature/Profile/Sources/BattleProposal/View/BattleProposalView.swift +++ b/Projects/Feature/Profile/Sources/BattleProposal/View/BattleProposalView.swift @@ -7,6 +7,7 @@ import SwiftUI import ComposableArchitecture import PickeDesignKit +import PickeSharedUI import BattleDomainInterface @ViewAction(for: BattleProposalFeature.self) diff --git a/Projects/Feature/Profile/Sources/BattleRecord/View/BattleRecordView.swift b/Projects/Feature/Profile/Sources/BattleRecord/View/BattleRecordView.swift index 3cf93937..9c773128 100644 --- a/Projects/Feature/Profile/Sources/BattleRecord/View/BattleRecordView.swift +++ b/Projects/Feature/Profile/Sources/BattleRecord/View/BattleRecordView.swift @@ -7,6 +7,7 @@ import SwiftUI import ComposableArchitecture import PickeDesignKit +import PickeSharedUI import PickeCoreUtility import ProfileDomainInterface diff --git a/Projects/Feature/Profile/Sources/ContentActivity/View/ContentActivityView.swift b/Projects/Feature/Profile/Sources/ContentActivity/View/ContentActivityView.swift index c005c10e..e30b5f29 100644 --- a/Projects/Feature/Profile/Sources/ContentActivity/View/ContentActivityView.swift +++ b/Projects/Feature/Profile/Sources/ContentActivity/View/ContentActivityView.swift @@ -8,6 +8,7 @@ import SwiftUI import ComposableArchitecture import Kingfisher import PickeDesignKit +import PickeSharedUI import PickeCoreUtility import ProfileDomainInterface diff --git a/Projects/Feature/Profile/Sources/Main/Reducer/ProfileFeature.swift b/Projects/Feature/Profile/Sources/Main/Reducer/ProfileFeature.swift index 639dbe6f..9eaff1d6 100644 --- a/Projects/Feature/Profile/Sources/Main/Reducer/ProfileFeature.swift +++ b/Projects/Feature/Profile/Sources/Main/Reducer/ProfileFeature.swift @@ -10,6 +10,7 @@ import ComposableArchitecture import LogMacro import NotificationDomainInterface import PickeDesignKit +import PickeSharedUI import AdInterface import AnalyticsServiceInterface diff --git a/Projects/Feature/Profile/Sources/Main/View/ProfileView.swift b/Projects/Feature/Profile/Sources/Main/View/ProfileView.swift index dc9a91d4..0a04eb56 100644 --- a/Projects/Feature/Profile/Sources/Main/View/ProfileView.swift +++ b/Projects/Feature/Profile/Sources/Main/View/ProfileView.swift @@ -8,6 +8,7 @@ import SwiftUI import ComposableArchitecture import Kingfisher import PickeDesignKit +import PickeSharedUI import Ad @ViewAction(for: ProfileFeature.self) diff --git a/Projects/Feature/Profile/Sources/Notice/View/NoticeView.swift b/Projects/Feature/Profile/Sources/Notice/View/NoticeView.swift index 561727a8..0dd96b7c 100644 --- a/Projects/Feature/Profile/Sources/Notice/View/NoticeView.swift +++ b/Projects/Feature/Profile/Sources/Notice/View/NoticeView.swift @@ -8,6 +8,7 @@ import SwiftUI import ComposableArchitecture import NotificationDomainInterface import PickeDesignKit +import PickeSharedUI import PickeCoreUtility import ProfileDomainInterface diff --git a/Projects/Feature/Profile/Sources/PointHistory/Reducer/PointHistoryFeature.swift b/Projects/Feature/Profile/Sources/PointHistory/Reducer/PointHistoryFeature.swift index 16fdd6ef..df43704c 100644 --- a/Projects/Feature/Profile/Sources/PointHistory/Reducer/PointHistoryFeature.swift +++ b/Projects/Feature/Profile/Sources/PointHistory/Reducer/PointHistoryFeature.swift @@ -9,6 +9,7 @@ import ProfileDomainInterface import ComposableArchitecture import LogMacro import PickeDesignKit +import PickeSharedUI @Reducer public struct PointHistoryFeature { diff --git a/Projects/Feature/Profile/Sources/PointHistory/View/PointHistoryView.swift b/Projects/Feature/Profile/Sources/PointHistory/View/PointHistoryView.swift index b033c5a1..12afe1c5 100644 --- a/Projects/Feature/Profile/Sources/PointHistory/View/PointHistoryView.swift +++ b/Projects/Feature/Profile/Sources/PointHistory/View/PointHistoryView.swift @@ -7,6 +7,7 @@ import SwiftUI import ComposableArchitecture import PickeDesignKit +import PickeSharedUI import PickeCoreUtility import ProfileDomainInterface diff --git a/Projects/Feature/Profile/Sources/Settings/Reducer/SettingsFeature.swift b/Projects/Feature/Profile/Sources/Settings/Reducer/SettingsFeature.swift index 60a10baa..20113571 100644 --- a/Projects/Feature/Profile/Sources/Settings/Reducer/SettingsFeature.swift +++ b/Projects/Feature/Profile/Sources/Settings/Reducer/SettingsFeature.swift @@ -9,6 +9,7 @@ import AuthDomainInterface import ComposableArchitecture import LogMacro import PickeDesignKit +import PickeSharedUI import AnalyticsServiceInterface import DeviceServiceInterface import PickeStorageInterface diff --git a/Projects/Feature/Profile/Sources/Settings/View/SettingsView.swift b/Projects/Feature/Profile/Sources/Settings/View/SettingsView.swift index 9a9e7c11..334782b1 100644 --- a/Projects/Feature/Profile/Sources/Settings/View/SettingsView.swift +++ b/Projects/Feature/Profile/Sources/Settings/View/SettingsView.swift @@ -7,6 +7,7 @@ import SwiftUI import ComposableArchitecture import PickeDesignKit +import PickeSharedUI @ViewAction(for: SettingsFeature.self) public struct SettingsView: View { diff --git a/Projects/Feature/Profile/Sources/Withdraw/Reducer/WithdrawReasonFeature.swift b/Projects/Feature/Profile/Sources/Withdraw/Reducer/WithdrawReasonFeature.swift index 28c33757..42e3dc33 100644 --- a/Projects/Feature/Profile/Sources/Withdraw/Reducer/WithdrawReasonFeature.swift +++ b/Projects/Feature/Profile/Sources/Withdraw/Reducer/WithdrawReasonFeature.swift @@ -9,6 +9,7 @@ import AuthDomainInterface import ComposableArchitecture import LogMacro import PickeDesignKit +import PickeSharedUI import DeviceServiceInterface import PickeStorageInterface diff --git a/Projects/Feature/Profile/Sources/Withdraw/View/WithdrawReasonView.swift b/Projects/Feature/Profile/Sources/Withdraw/View/WithdrawReasonView.swift index 3d461157..e102224a 100644 --- a/Projects/Feature/Profile/Sources/Withdraw/View/WithdrawReasonView.swift +++ b/Projects/Feature/Profile/Sources/Withdraw/View/WithdrawReasonView.swift @@ -7,6 +7,7 @@ import SwiftUI import ComposableArchitecture import PickeDesignKit +import PickeSharedUI @ViewAction(for: WithdrawReasonFeature.self) public struct WithdrawReasonView: View { diff --git a/Projects/Feature/Splash/Project.swift b/Projects/Feature/Splash/Project.swift index 091e1897..5d21b681 100644 --- a/Projects/Feature/Splash/Project.swift +++ b/Projects/Feature/Splash/Project.swift @@ -1,8 +1,8 @@ +import DependencyPackagePlugin +import DependencyPlugin import Foundation import ProjectDescription -import DependencyPlugin import ProjectTemplatePlugin -import DependencyPackagePlugin let project = Project.configure( moduleType: .microModule(name: "Splash"), @@ -10,13 +10,13 @@ let project = Project.configure( product: .staticFramework, settings: .settings(), dependencies: [ - .designSystem, + .ui(.designKit), + .ui(.animation), .domain(.appUpdate, .interface), .core(.storage, .interface), .service(.analytics, .interface), .SPM.composableArchitecture, - .SPM.sdwebImageCore, - + .core(.thirdParty), ] ) diff --git a/Projects/Feature/Splash/Sources/View/Components/SplashLogoAnimatedImageView.swift b/Projects/Feature/Splash/Sources/View/Components/SplashLogoAnimatedImageView.swift deleted file mode 100644 index b399fd6b..00000000 --- a/Projects/Feature/Splash/Sources/View/Components/SplashLogoAnimatedImageView.swift +++ /dev/null @@ -1,44 +0,0 @@ -// -// SplashLogoAnimatedImageView.swift -// Splash -// -// Created by Wonji Suh on 5/14/26. -// - -import SwiftUI -import SDWebImage - -struct SplashLogoAnimatedImageView: UIViewRepresentable { - private static let size = CGSize(width: 250, height: 250) - private static let image = SDAnimatedImage(named: "splashLogo.gif") - - func makeUIView(context: Context) -> SDAnimatedImageView { - let imageView = SDAnimatedImageView() - imageView.image = Self.image - imageView.contentMode = .scaleAspectFit - imageView.maxBufferSize = UInt.max - imageView.shouldIncrementalLoad = false - imageView.autoPlayAnimatedImage = true - imageView.startAnimating() - return imageView - } - - func updateUIView( - _ imageView: SDAnimatedImageView, - context: Context - ) { - guard imageView.image !== Self.image else { return } - imageView.image = Self.image - imageView.startAnimating() - } -} - -extension SplashLogoAnimatedImageView { - func sizeThatFits( - _ proposal: ProposedViewSize, - uiView: SDAnimatedImageView, - context: Context - ) -> CGSize? { - Self.size - } -} diff --git a/Projects/Feature/Splash/Sources/View/SplashView.swift b/Projects/Feature/Splash/Sources/View/SplashView.swift index 70673c7d..99448f91 100644 --- a/Projects/Feature/Splash/Sources/View/SplashView.swift +++ b/Projects/Feature/Splash/Sources/View/SplashView.swift @@ -8,6 +8,7 @@ import ComposableArchitecture import SwiftUI +import PickeAnimation import PickeDesignKit public struct SplashView: View { @@ -40,10 +41,12 @@ public struct SplashView: View { } } +/// 저장 프로퍼티가 없어 합성된 `==` 가 항상 참이다. +/// `.equatable()` 과 함께 부모가 갱신돼도 GIF 를 다시 그리지 않게 막는다. private struct SplashLogoAnimation: View, Equatable { - static func == (_: Self, _: Self) -> Bool { true } + private static let logoSize = CGSize(width: 250, height: 250) var body: some View { - SplashLogoAnimatedImageView() + PickeAnimatedImageView(.splashLogo, size: Self.logoSize) } } diff --git a/Projects/Feature/Web/Project.swift b/Projects/Feature/Web/Project.swift index 9f8c4ea8..3224dc4b 100644 --- a/Projects/Feature/Web/Project.swift +++ b/Projects/Feature/Web/Project.swift @@ -10,7 +10,7 @@ let project = Project.configure( product: .staticFramework, settings: .settings(), dependencies: [ - .designSystem, + .ui(.designKit), .SPM.composableArchitecture, .core(.thirdParty), ] diff --git a/Projects/UI/PickeAnimation/Project.swift b/Projects/UI/PickeAnimation/Project.swift new file mode 100644 index 00000000..aefcee7a --- /dev/null +++ b/Projects/UI/PickeAnimation/Project.swift @@ -0,0 +1,21 @@ +import DependencyPackagePlugin +import DependencyPlugin +import Foundation +import ProjectDescription +import ProjectTemplatePlugin + +// 애니메이션 라이브러리를 쓰는 뷰와 그 에셋만 둔다. +// SDWebImage 가 여기서 막히므로 DesignKit 과 화면 코드는 이 라이브러리를 모른다. +let project = Project.configure( + moduleType: .module(name: "PickeAnimation"), + bundleId: .appBundleID(name: ".PickeAnimation"), + // 리소스 번들을 갖는 UI 모듈이라 동적 프레임워크로 둔다. + product: .framework, + settings: .settings(), + dependencies: [ + .SPM.sdwebImageCore, + ], + sources: ["Sources/**"], + resources: ["Resources/**"], + hasTests: false +) diff --git a/Projects/App/Resources/splashLogo.gif b/Projects/UI/PickeAnimation/Resources/splashLogo.gif similarity index 100% rename from Projects/App/Resources/splashLogo.gif rename to Projects/UI/PickeAnimation/Resources/splashLogo.gif diff --git a/Projects/UI/PickeAnimation/Sources/PickeAnimatedImageView.swift b/Projects/UI/PickeAnimation/Sources/PickeAnimatedImageView.swift new file mode 100644 index 00000000..c0929f7d --- /dev/null +++ b/Projects/UI/PickeAnimation/Sources/PickeAnimatedImageView.swift @@ -0,0 +1,50 @@ +// +// PickeAnimatedImageView.swift +// PickeAnimation +// + +import SDWebImage +import SwiftUI + +/// GIF 애니메이션을 재생하는 공용 뷰. +/// SDWebImage 를 이 모듈 안에 가둬 화면 코드가 라이브러리를 모르게 한다. +public struct PickeAnimatedImageView: UIViewRepresentable { + private let asset: PickeAnimationAsset + private let size: CGSize + + public init( + _ asset: PickeAnimationAsset, + size: CGSize + ) { + self.asset = asset + self.size = size + } + + public func makeUIView(context _: Context) -> SDAnimatedImageView { + let imageView = SDAnimatedImageView() + imageView.image = asset.image + imageView.contentMode = .scaleAspectFit + imageView.maxBufferSize = .max + imageView.shouldIncrementalLoad = false + imageView.autoPlayAnimatedImage = true + imageView.startAnimating() + return imageView + } + + public func updateUIView( + _ imageView: SDAnimatedImageView, + context _: Context + ) { + guard imageView.image !== asset.image else { return } + imageView.image = asset.image + imageView.startAnimating() + } + + public func sizeThatFits( + _: ProposedViewSize, + uiView _: SDAnimatedImageView, + context _: Context + ) -> CGSize? { + size + } +} diff --git a/Projects/UI/PickeAnimation/Sources/PickeAnimationAsset.swift b/Projects/UI/PickeAnimation/Sources/PickeAnimationAsset.swift new file mode 100644 index 00000000..deebaaef --- /dev/null +++ b/Projects/UI/PickeAnimation/Sources/PickeAnimationAsset.swift @@ -0,0 +1,25 @@ +// +// PickeAnimationAsset.swift +// PickeAnimation +// + +import SDWebImage + +/// 이 모듈이 번들로 갖고 있는 애니메이션 에셋. +/// 파일명을 화면 코드에 흘리지 않기 위해 여기서만 이름을 안다. +public enum PickeAnimationAsset: String, CaseIterable { + case splashLogo = "splashLogo.gif" + + /// GIF 디코딩은 비용이 있어 에셋당 한 번만 만든다. + var image: SDAnimatedImage? { + Self.images[self] ?? nil + } + + private static let images: [PickeAnimationAsset: SDAnimatedImage?] = { + var loaded: [PickeAnimationAsset: SDAnimatedImage?] = [:] + for asset in allCases { + loaded[asset] = SDAnimatedImage(named: asset.rawValue, in: Bundle.module, compatibleWith: nil) + } + return loaded + }() +} diff --git a/Projects/DesignSystem/Demo/Sources/PickeDesignKitDemoApp.swift b/Projects/UI/PickeDesignKit/Demo/Sources/PickeDesignKitDemoApp.swift similarity index 100% rename from Projects/DesignSystem/Demo/Sources/PickeDesignKitDemoApp.swift rename to Projects/UI/PickeDesignKit/Demo/Sources/PickeDesignKitDemoApp.swift diff --git a/Projects/DesignSystem/Demo/Sources/StorybookView.swift b/Projects/UI/PickeDesignKit/Demo/Sources/StorybookView.swift similarity index 100% rename from Projects/DesignSystem/Demo/Sources/StorybookView.swift rename to Projects/UI/PickeDesignKit/Demo/Sources/StorybookView.swift diff --git a/Projects/DesignSystem/DesignSystemTests/Sources/Test.swift b/Projects/UI/PickeDesignKit/DesignSystemTests/Sources/Test.swift similarity index 100% rename from Projects/DesignSystem/DesignSystemTests/Sources/Test.swift rename to Projects/UI/PickeDesignKit/DesignSystemTests/Sources/Test.swift diff --git a/Projects/DesignSystem/Project.swift b/Projects/UI/PickeDesignKit/Project.swift similarity index 100% rename from Projects/DesignSystem/Project.swift rename to Projects/UI/PickeDesignKit/Project.swift diff --git a/Projects/DesignSystem/Resources/FontAsset/PretendardVariable.ttf b/Projects/UI/PickeDesignKit/Resources/FontAsset/PretendardVariable.ttf similarity index 100% rename from Projects/DesignSystem/Resources/FontAsset/PretendardVariable.ttf rename to Projects/UI/PickeDesignKit/Resources/FontAsset/PretendardVariable.ttf diff --git a/Projects/DesignSystem/Resources/ImageAssets.xcassets/Auth/Contents.json b/Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/Auth/Contents.json similarity index 100% rename from Projects/DesignSystem/Resources/ImageAssets.xcassets/Auth/Contents.json rename to Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/Auth/Contents.json diff --git a/Projects/DesignSystem/Resources/ImageAssets.xcassets/Auth/checkBlue.imageset/Contents.json b/Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/Auth/checkBlue.imageset/Contents.json similarity index 100% rename from Projects/DesignSystem/Resources/ImageAssets.xcassets/Auth/checkBlue.imageset/Contents.json rename to Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/Auth/checkBlue.imageset/Contents.json diff --git a/Projects/DesignSystem/Resources/ImageAssets.xcassets/Auth/checkBlue.imageset/checkBlue.svg b/Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/Auth/checkBlue.imageset/checkBlue.svg similarity index 100% rename from Projects/DesignSystem/Resources/ImageAssets.xcassets/Auth/checkBlue.imageset/checkBlue.svg rename to Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/Auth/checkBlue.imageset/checkBlue.svg diff --git a/Projects/DesignSystem/Resources/ImageAssets.xcassets/Auth/errorXmark.imageset/Contents.json b/Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/Auth/errorXmark.imageset/Contents.json similarity index 100% rename from Projects/DesignSystem/Resources/ImageAssets.xcassets/Auth/errorXmark.imageset/Contents.json rename to Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/Auth/errorXmark.imageset/Contents.json diff --git a/Projects/DesignSystem/Resources/ImageAssets.xcassets/Auth/errorXmark.imageset/errorXmark.svg b/Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/Auth/errorXmark.imageset/errorXmark.svg similarity index 100% rename from Projects/DesignSystem/Resources/ImageAssets.xcassets/Auth/errorXmark.imageset/errorXmark.svg rename to Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/Auth/errorXmark.imageset/errorXmark.svg diff --git a/Projects/DesignSystem/Resources/ImageAssets.xcassets/Avatar/Contents.json b/Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/Avatar/Contents.json similarity index 100% rename from Projects/DesignSystem/Resources/ImageAssets.xcassets/Avatar/Contents.json rename to Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/Avatar/Contents.json diff --git a/Projects/DesignSystem/Resources/ImageAssets.xcassets/Avatar/avatarPlato.imageset/Contents.json b/Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/Avatar/avatarPlato.imageset/Contents.json similarity index 100% rename from Projects/DesignSystem/Resources/ImageAssets.xcassets/Avatar/avatarPlato.imageset/Contents.json rename to Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/Avatar/avatarPlato.imageset/Contents.json diff --git a/Projects/DesignSystem/Resources/ImageAssets.xcassets/Avatar/avatarPlato.imageset/avatarPlato.png b/Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/Avatar/avatarPlato.imageset/avatarPlato.png similarity index 100% rename from Projects/DesignSystem/Resources/ImageAssets.xcassets/Avatar/avatarPlato.imageset/avatarPlato.png rename to Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/Avatar/avatarPlato.imageset/avatarPlato.png diff --git a/Projects/DesignSystem/Resources/ImageAssets.xcassets/Avatar/avatarSartre.imageset/Contents.json b/Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/Avatar/avatarSartre.imageset/Contents.json similarity index 100% rename from Projects/DesignSystem/Resources/ImageAssets.xcassets/Avatar/avatarSartre.imageset/Contents.json rename to Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/Avatar/avatarSartre.imageset/Contents.json diff --git a/Projects/DesignSystem/Resources/ImageAssets.xcassets/Avatar/avatarSartre.imageset/avatarSartre.png b/Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/Avatar/avatarSartre.imageset/avatarSartre.png similarity index 100% rename from Projects/DesignSystem/Resources/ImageAssets.xcassets/Avatar/avatarSartre.imageset/avatarSartre.png rename to Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/Avatar/avatarSartre.imageset/avatarSartre.png diff --git a/Projects/DesignSystem/Resources/ImageAssets.xcassets/Avatar/avatarSunja.imageset/Contents.json b/Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/Avatar/avatarSunja.imageset/Contents.json similarity index 100% rename from Projects/DesignSystem/Resources/ImageAssets.xcassets/Avatar/avatarSunja.imageset/Contents.json rename to Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/Avatar/avatarSunja.imageset/Contents.json diff --git a/Projects/DesignSystem/Resources/ImageAssets.xcassets/Avatar/avatarSunja.imageset/avatarSunja.png b/Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/Avatar/avatarSunja.imageset/avatarSunja.png similarity index 100% rename from Projects/DesignSystem/Resources/ImageAssets.xcassets/Avatar/avatarSunja.imageset/avatarSunja.png rename to Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/Avatar/avatarSunja.imageset/avatarSunja.png diff --git a/Projects/DesignSystem/Resources/ImageAssets.xcassets/Comment/heartPlus.imageset/Contents.json b/Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/Comment/heartPlus.imageset/Contents.json similarity index 100% rename from Projects/DesignSystem/Resources/ImageAssets.xcassets/Comment/heartPlus.imageset/Contents.json rename to Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/Comment/heartPlus.imageset/Contents.json diff --git a/Projects/DesignSystem/Resources/ImageAssets.xcassets/Comment/heartPlus.imageset/heartPlus.svg b/Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/Comment/heartPlus.imageset/heartPlus.svg similarity index 100% rename from Projects/DesignSystem/Resources/ImageAssets.xcassets/Comment/heartPlus.imageset/heartPlus.svg rename to Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/Comment/heartPlus.imageset/heartPlus.svg diff --git a/Projects/DesignSystem/Resources/ImageAssets.xcassets/Contents.json b/Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/Contents.json similarity index 100% rename from Projects/DesignSystem/Resources/ImageAssets.xcassets/Contents.json rename to Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/Contents.json diff --git a/Projects/DesignSystem/Resources/ImageAssets.xcassets/GNB/Contents.json b/Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/GNB/Contents.json similarity index 100% rename from Projects/DesignSystem/Resources/ImageAssets.xcassets/GNB/Contents.json rename to Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/GNB/Contents.json diff --git a/Projects/DesignSystem/Resources/ImageAssets.xcassets/GNB/tabExplore.imageset/Contents.json b/Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/GNB/tabExplore.imageset/Contents.json similarity index 100% rename from Projects/DesignSystem/Resources/ImageAssets.xcassets/GNB/tabExplore.imageset/Contents.json rename to Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/GNB/tabExplore.imageset/Contents.json diff --git a/Projects/DesignSystem/Resources/ImageAssets.xcassets/GNB/tabExplore.imageset/tabExplore.svg b/Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/GNB/tabExplore.imageset/tabExplore.svg similarity index 100% rename from Projects/DesignSystem/Resources/ImageAssets.xcassets/GNB/tabExplore.imageset/tabExplore.svg rename to Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/GNB/tabExplore.imageset/tabExplore.svg diff --git a/Projects/DesignSystem/Resources/ImageAssets.xcassets/GNB/tabExploreActive.imageset/Contents.json b/Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/GNB/tabExploreActive.imageset/Contents.json similarity index 100% rename from Projects/DesignSystem/Resources/ImageAssets.xcassets/GNB/tabExploreActive.imageset/Contents.json rename to Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/GNB/tabExploreActive.imageset/Contents.json diff --git a/Projects/DesignSystem/Resources/ImageAssets.xcassets/GNB/tabExploreActive.imageset/tabExploreActive.svg b/Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/GNB/tabExploreActive.imageset/tabExploreActive.svg similarity index 100% rename from Projects/DesignSystem/Resources/ImageAssets.xcassets/GNB/tabExploreActive.imageset/tabExploreActive.svg rename to Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/GNB/tabExploreActive.imageset/tabExploreActive.svg diff --git a/Projects/DesignSystem/Resources/ImageAssets.xcassets/GNB/tabHome.imageset/Contents.json b/Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/GNB/tabHome.imageset/Contents.json similarity index 100% rename from Projects/DesignSystem/Resources/ImageAssets.xcassets/GNB/tabHome.imageset/Contents.json rename to Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/GNB/tabHome.imageset/Contents.json diff --git a/Projects/DesignSystem/Resources/ImageAssets.xcassets/GNB/tabHome.imageset/tabHome.svg b/Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/GNB/tabHome.imageset/tabHome.svg similarity index 100% rename from Projects/DesignSystem/Resources/ImageAssets.xcassets/GNB/tabHome.imageset/tabHome.svg rename to Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/GNB/tabHome.imageset/tabHome.svg diff --git a/Projects/DesignSystem/Resources/ImageAssets.xcassets/GNB/tabHomeActive.imageset/Contents.json b/Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/GNB/tabHomeActive.imageset/Contents.json similarity index 100% rename from Projects/DesignSystem/Resources/ImageAssets.xcassets/GNB/tabHomeActive.imageset/Contents.json rename to Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/GNB/tabHomeActive.imageset/Contents.json diff --git a/Projects/DesignSystem/Resources/ImageAssets.xcassets/GNB/tabHomeActive.imageset/tabHomeActive.svg b/Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/GNB/tabHomeActive.imageset/tabHomeActive.svg similarity index 100% rename from Projects/DesignSystem/Resources/ImageAssets.xcassets/GNB/tabHomeActive.imageset/tabHomeActive.svg rename to Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/GNB/tabHomeActive.imageset/tabHomeActive.svg diff --git a/Projects/DesignSystem/Resources/ImageAssets.xcassets/GNB/tabMyPage.imageset/Contents.json b/Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/GNB/tabMyPage.imageset/Contents.json similarity index 100% rename from Projects/DesignSystem/Resources/ImageAssets.xcassets/GNB/tabMyPage.imageset/Contents.json rename to Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/GNB/tabMyPage.imageset/Contents.json diff --git a/Projects/DesignSystem/Resources/ImageAssets.xcassets/GNB/tabMyPage.imageset/tabMyPage.svg b/Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/GNB/tabMyPage.imageset/tabMyPage.svg similarity index 100% rename from Projects/DesignSystem/Resources/ImageAssets.xcassets/GNB/tabMyPage.imageset/tabMyPage.svg rename to Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/GNB/tabMyPage.imageset/tabMyPage.svg diff --git a/Projects/DesignSystem/Resources/ImageAssets.xcassets/GNB/tabMyPageActive.imageset/Contents.json b/Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/GNB/tabMyPageActive.imageset/Contents.json similarity index 100% rename from Projects/DesignSystem/Resources/ImageAssets.xcassets/GNB/tabMyPageActive.imageset/Contents.json rename to Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/GNB/tabMyPageActive.imageset/Contents.json diff --git a/Projects/DesignSystem/Resources/ImageAssets.xcassets/GNB/tabMyPageActive.imageset/tabMyPageActive.svg b/Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/GNB/tabMyPageActive.imageset/tabMyPageActive.svg similarity index 100% rename from Projects/DesignSystem/Resources/ImageAssets.xcassets/GNB/tabMyPageActive.imageset/tabMyPageActive.svg rename to Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/GNB/tabMyPageActive.imageset/tabMyPageActive.svg diff --git a/Projects/DesignSystem/Resources/ImageAssets.xcassets/GNB/tabQuickBattle.imageset/Contents.json b/Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/GNB/tabQuickBattle.imageset/Contents.json similarity index 100% rename from Projects/DesignSystem/Resources/ImageAssets.xcassets/GNB/tabQuickBattle.imageset/Contents.json rename to Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/GNB/tabQuickBattle.imageset/Contents.json diff --git a/Projects/DesignSystem/Resources/ImageAssets.xcassets/GNB/tabQuickBattle.imageset/tabQuickBattle.svg b/Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/GNB/tabQuickBattle.imageset/tabQuickBattle.svg similarity index 100% rename from Projects/DesignSystem/Resources/ImageAssets.xcassets/GNB/tabQuickBattle.imageset/tabQuickBattle.svg rename to Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/GNB/tabQuickBattle.imageset/tabQuickBattle.svg diff --git a/Projects/DesignSystem/Resources/ImageAssets.xcassets/GNB/tabQuickBattleActive.imageset/Contents.json b/Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/GNB/tabQuickBattleActive.imageset/Contents.json similarity index 100% rename from Projects/DesignSystem/Resources/ImageAssets.xcassets/GNB/tabQuickBattleActive.imageset/Contents.json rename to Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/GNB/tabQuickBattleActive.imageset/Contents.json diff --git a/Projects/DesignSystem/Resources/ImageAssets.xcassets/GNB/tabQuickBattleActive.imageset/tabQuickBattleActive.svg b/Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/GNB/tabQuickBattleActive.imageset/tabQuickBattleActive.svg similarity index 100% rename from Projects/DesignSystem/Resources/ImageAssets.xcassets/GNB/tabQuickBattleActive.imageset/tabQuickBattleActive.svg rename to Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/GNB/tabQuickBattleActive.imageset/tabQuickBattleActive.svg diff --git a/Projects/DesignSystem/Resources/ImageAssets.xcassets/Home/Contents.json b/Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/Home/Contents.json similarity index 100% rename from Projects/DesignSystem/Resources/ImageAssets.xcassets/Home/Contents.json rename to Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/Home/Contents.json diff --git a/Projects/DesignSystem/Resources/ImageAssets.xcassets/Home/appLogo.imageset/Contents.json b/Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/Home/appLogo.imageset/Contents.json similarity index 100% rename from Projects/DesignSystem/Resources/ImageAssets.xcassets/Home/appLogo.imageset/Contents.json rename to Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/Home/appLogo.imageset/Contents.json diff --git a/Projects/DesignSystem/Resources/ImageAssets.xcassets/Home/appLogo.imageset/appLogo.svg b/Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/Home/appLogo.imageset/appLogo.svg similarity index 100% rename from Projects/DesignSystem/Resources/ImageAssets.xcassets/Home/appLogo.imageset/appLogo.svg rename to Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/Home/appLogo.imageset/appLogo.svg diff --git a/Projects/DesignSystem/Resources/ImageAssets.xcassets/Home/bell.imageset/Contents.json b/Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/Home/bell.imageset/Contents.json similarity index 100% rename from Projects/DesignSystem/Resources/ImageAssets.xcassets/Home/bell.imageset/Contents.json rename to Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/Home/bell.imageset/Contents.json diff --git a/Projects/DesignSystem/Resources/ImageAssets.xcassets/Home/bell.imageset/bell.svg b/Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/Home/bell.imageset/bell.svg similarity index 100% rename from Projects/DesignSystem/Resources/ImageAssets.xcassets/Home/bell.imageset/bell.svg rename to Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/Home/bell.imageset/bell.svg diff --git a/Projects/DesignSystem/Resources/ImageAssets.xcassets/OnBoarding/Contents.json b/Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/OnBoarding/Contents.json similarity index 100% rename from Projects/DesignSystem/Resources/ImageAssets.xcassets/OnBoarding/Contents.json rename to Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/OnBoarding/Contents.json diff --git a/Projects/DesignSystem/Resources/ImageAssets.xcassets/OnBoarding/onboarding1.imageset/Contents.json b/Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/OnBoarding/onboarding1.imageset/Contents.json similarity index 100% rename from Projects/DesignSystem/Resources/ImageAssets.xcassets/OnBoarding/onboarding1.imageset/Contents.json rename to Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/OnBoarding/onboarding1.imageset/Contents.json diff --git "a/Projects/DesignSystem/Resources/ImageAssets.xcassets/OnBoarding/onboarding1.imageset/\354\230\250\353\263\264\353\224\251 1.svg" "b/Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/OnBoarding/onboarding1.imageset/\354\230\250\353\263\264\353\224\251 1.svg" similarity index 100% rename from "Projects/DesignSystem/Resources/ImageAssets.xcassets/OnBoarding/onboarding1.imageset/\354\230\250\353\263\264\353\224\251 1.svg" rename to "Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/OnBoarding/onboarding1.imageset/\354\230\250\353\263\264\353\224\251 1.svg" diff --git a/Projects/DesignSystem/Resources/ImageAssets.xcassets/OnBoarding/onboarding2.imageset/Contents.json b/Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/OnBoarding/onboarding2.imageset/Contents.json similarity index 100% rename from Projects/DesignSystem/Resources/ImageAssets.xcassets/OnBoarding/onboarding2.imageset/Contents.json rename to Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/OnBoarding/onboarding2.imageset/Contents.json diff --git "a/Projects/DesignSystem/Resources/ImageAssets.xcassets/OnBoarding/onboarding2.imageset/\354\230\250\353\263\264\353\224\251 2.svg" "b/Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/OnBoarding/onboarding2.imageset/\354\230\250\353\263\264\353\224\251 2.svg" similarity index 100% rename from "Projects/DesignSystem/Resources/ImageAssets.xcassets/OnBoarding/onboarding2.imageset/\354\230\250\353\263\264\353\224\251 2.svg" rename to "Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/OnBoarding/onboarding2.imageset/\354\230\250\353\263\264\353\224\251 2.svg" diff --git a/Projects/DesignSystem/Resources/ImageAssets.xcassets/OnBoarding/onboarding3.imageset/Contents.json b/Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/OnBoarding/onboarding3.imageset/Contents.json similarity index 100% rename from Projects/DesignSystem/Resources/ImageAssets.xcassets/OnBoarding/onboarding3.imageset/Contents.json rename to Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/OnBoarding/onboarding3.imageset/Contents.json diff --git "a/Projects/DesignSystem/Resources/ImageAssets.xcassets/OnBoarding/onboarding3.imageset/\354\230\250\353\263\264\353\224\251 3.svg" "b/Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/OnBoarding/onboarding3.imageset/\354\230\250\353\263\264\353\224\251 3.svg" similarity index 100% rename from "Projects/DesignSystem/Resources/ImageAssets.xcassets/OnBoarding/onboarding3.imageset/\354\230\250\353\263\264\353\224\251 3.svg" rename to "Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/OnBoarding/onboarding3.imageset/\354\230\250\353\263\264\353\224\251 3.svg" diff --git a/Projects/DesignSystem/Resources/ImageAssets.xcassets/OnBoarding/onboarding4.imageset/Contents.json b/Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/OnBoarding/onboarding4.imageset/Contents.json similarity index 100% rename from Projects/DesignSystem/Resources/ImageAssets.xcassets/OnBoarding/onboarding4.imageset/Contents.json rename to Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/OnBoarding/onboarding4.imageset/Contents.json diff --git "a/Projects/DesignSystem/Resources/ImageAssets.xcassets/OnBoarding/onboarding4.imageset/\354\230\250\353\263\264\353\224\251 4.svg" "b/Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/OnBoarding/onboarding4.imageset/\354\230\250\353\263\264\353\224\251 4.svg" similarity index 100% rename from "Projects/DesignSystem/Resources/ImageAssets.xcassets/OnBoarding/onboarding4.imageset/\354\230\250\353\263\264\353\224\251 4.svg" rename to "Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/OnBoarding/onboarding4.imageset/\354\230\250\353\263\264\353\224\251 4.svg" diff --git a/Projects/DesignSystem/Resources/ImageAssets.xcassets/Profile/Contents.json b/Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/Profile/Contents.json similarity index 100% rename from Projects/DesignSystem/Resources/ImageAssets.xcassets/Profile/Contents.json rename to Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/Profile/Contents.json diff --git a/Projects/DesignSystem/Resources/ImageAssets.xcassets/Profile/history.imageset/Contents.json b/Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/Profile/history.imageset/Contents.json similarity index 100% rename from Projects/DesignSystem/Resources/ImageAssets.xcassets/Profile/history.imageset/Contents.json rename to Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/Profile/history.imageset/Contents.json diff --git a/Projects/DesignSystem/Resources/ImageAssets.xcassets/Profile/history.imageset/history.svg b/Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/Profile/history.imageset/history.svg similarity index 100% rename from Projects/DesignSystem/Resources/ImageAssets.xcassets/Profile/history.imageset/history.svg rename to Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/Profile/history.imageset/history.svg diff --git a/Projects/DesignSystem/Resources/ImageAssets.xcassets/Profile/lock.imageset/Contents.json b/Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/Profile/lock.imageset/Contents.json similarity index 100% rename from Projects/DesignSystem/Resources/ImageAssets.xcassets/Profile/lock.imageset/Contents.json rename to Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/Profile/lock.imageset/Contents.json diff --git "a/Projects/DesignSystem/Resources/ImageAssets.xcassets/Profile/lock.imageset/\354\240\234\353\252\251-\354\227\206\354\235\214-2 1.png" "b/Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/Profile/lock.imageset/\354\240\234\353\252\251-\354\227\206\354\235\214-2 1.png" similarity index 100% rename from "Projects/DesignSystem/Resources/ImageAssets.xcassets/Profile/lock.imageset/\354\240\234\353\252\251-\354\227\206\354\235\214-2 1.png" rename to "Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/Profile/lock.imageset/\354\240\234\353\252\251-\354\227\206\354\235\214-2 1.png" diff --git a/Projects/DesignSystem/Resources/ImageAssets.xcassets/Profile/vs.imageset/Contents.json b/Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/Profile/vs.imageset/Contents.json similarity index 100% rename from Projects/DesignSystem/Resources/ImageAssets.xcassets/Profile/vs.imageset/Contents.json rename to Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/Profile/vs.imageset/Contents.json diff --git a/Projects/DesignSystem/Resources/ImageAssets.xcassets/Profile/vs.imageset/versus_home.svg b/Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/Profile/vs.imageset/versus_home.svg similarity index 100% rename from Projects/DesignSystem/Resources/ImageAssets.xcassets/Profile/vs.imageset/versus_home.svg rename to Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/Profile/vs.imageset/versus_home.svg diff --git a/Projects/DesignSystem/Resources/ImageAssets.xcassets/logo/Contents.json b/Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/logo/Contents.json similarity index 100% rename from Projects/DesignSystem/Resources/ImageAssets.xcassets/logo/Contents.json rename to Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/logo/Contents.json diff --git a/Projects/DesignSystem/Resources/ImageAssets.xcassets/logo/loginLogo.imageset/Contents.json b/Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/logo/loginLogo.imageset/Contents.json similarity index 100% rename from Projects/DesignSystem/Resources/ImageAssets.xcassets/logo/loginLogo.imageset/Contents.json rename to Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/logo/loginLogo.imageset/Contents.json diff --git "a/Projects/DesignSystem/Resources/ImageAssets.xcassets/logo/loginLogo.imageset/\355\224\275\354\274\200 \353\241\234\352\263\240.svg" "b/Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/logo/loginLogo.imageset/\355\224\275\354\274\200 \353\241\234\352\263\240.svg" similarity index 100% rename from "Projects/DesignSystem/Resources/ImageAssets.xcassets/logo/loginLogo.imageset/\355\224\275\354\274\200 \353\241\234\352\263\240.svg" rename to "Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/logo/loginLogo.imageset/\355\224\275\354\274\200 \353\241\234\352\263\240.svg" diff --git a/Projects/DesignSystem/Resources/ImageAssets.xcassets/logo/noDataLogo.imageset/Contents.json b/Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/logo/noDataLogo.imageset/Contents.json similarity index 100% rename from Projects/DesignSystem/Resources/ImageAssets.xcassets/logo/noDataLogo.imageset/Contents.json rename to Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/logo/noDataLogo.imageset/Contents.json diff --git a/Projects/DesignSystem/Resources/ImageAssets.xcassets/logo/noDataLogo.imageset/pickeLogo2.svg b/Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/logo/noDataLogo.imageset/pickeLogo2.svg similarity index 100% rename from Projects/DesignSystem/Resources/ImageAssets.xcassets/logo/noDataLogo.imageset/pickeLogo2.svg rename to Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/logo/noDataLogo.imageset/pickeLogo2.svg diff --git a/Projects/DesignSystem/Resources/ImageAssets.xcassets/logo/splashLogo.imageset/Contents.json b/Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/logo/splashLogo.imageset/Contents.json similarity index 100% rename from Projects/DesignSystem/Resources/ImageAssets.xcassets/logo/splashLogo.imageset/Contents.json rename to Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/logo/splashLogo.imageset/Contents.json diff --git a/Projects/DesignSystem/Resources/ImageAssets.xcassets/logo/splashLogo.imageset/splashLogo.png b/Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/logo/splashLogo.imageset/splashLogo.png similarity index 100% rename from Projects/DesignSystem/Resources/ImageAssets.xcassets/logo/splashLogo.imageset/splashLogo.png rename to Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/logo/splashLogo.imageset/splashLogo.png diff --git a/Projects/DesignSystem/Resources/ImageAssets.xcassets/socialLogin/Contents.json b/Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/socialLogin/Contents.json similarity index 100% rename from Projects/DesignSystem/Resources/ImageAssets.xcassets/socialLogin/Contents.json rename to Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/socialLogin/Contents.json diff --git a/Projects/DesignSystem/Resources/ImageAssets.xcassets/socialLogin/google.imageset/Contents.json b/Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/socialLogin/google.imageset/Contents.json similarity index 100% rename from Projects/DesignSystem/Resources/ImageAssets.xcassets/socialLogin/google.imageset/Contents.json rename to Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/socialLogin/google.imageset/Contents.json diff --git a/Projects/DesignSystem/Resources/ImageAssets.xcassets/socialLogin/google.imageset/google.svg b/Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/socialLogin/google.imageset/google.svg similarity index 100% rename from Projects/DesignSystem/Resources/ImageAssets.xcassets/socialLogin/google.imageset/google.svg rename to Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/socialLogin/google.imageset/google.svg diff --git a/Projects/DesignSystem/Resources/ImageAssets.xcassets/socialLogin/kakao.imageset/Contents.json b/Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/socialLogin/kakao.imageset/Contents.json similarity index 100% rename from Projects/DesignSystem/Resources/ImageAssets.xcassets/socialLogin/kakao.imageset/Contents.json rename to Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/socialLogin/kakao.imageset/Contents.json diff --git a/Projects/DesignSystem/Resources/ImageAssets.xcassets/socialLogin/kakao.imageset/kakao.svg b/Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/socialLogin/kakao.imageset/kakao.svg similarity index 100% rename from Projects/DesignSystem/Resources/ImageAssets.xcassets/socialLogin/kakao.imageset/kakao.svg rename to Projects/UI/PickeDesignKit/Resources/ImageAssets.xcassets/socialLogin/kakao.imageset/kakao.svg diff --git a/Projects/DesignSystem/Sources/Exported/PickeDesignKitExported.swift b/Projects/UI/PickeDesignKit/Sources/Exported/PickeDesignKitExported.swift similarity index 100% rename from Projects/DesignSystem/Sources/Exported/PickeDesignKitExported.swift rename to Projects/UI/PickeDesignKit/Sources/Exported/PickeDesignKitExported.swift diff --git a/Projects/DesignSystem/Sources/Extension/CGFloat/CGFloat+Component+.swift b/Projects/UI/PickeDesignKit/Sources/Extension/CGFloat/CGFloat+Component+.swift similarity index 100% rename from Projects/DesignSystem/Sources/Extension/CGFloat/CGFloat+Component+.swift rename to Projects/UI/PickeDesignKit/Sources/Extension/CGFloat/CGFloat+Component+.swift diff --git a/Projects/DesignSystem/Sources/Extension/CGFloat/CGFloat+Radius+.swift b/Projects/UI/PickeDesignKit/Sources/Extension/CGFloat/CGFloat+Radius+.swift similarity index 100% rename from Projects/DesignSystem/Sources/Extension/CGFloat/CGFloat+Radius+.swift rename to Projects/UI/PickeDesignKit/Sources/Extension/CGFloat/CGFloat+Radius+.swift diff --git a/Projects/DesignSystem/Sources/Extension/CGFloat/CGFloat+Spacing+.swift b/Projects/UI/PickeDesignKit/Sources/Extension/CGFloat/CGFloat+Spacing+.swift similarity index 100% rename from Projects/DesignSystem/Sources/Extension/CGFloat/CGFloat+Spacing+.swift rename to Projects/UI/PickeDesignKit/Sources/Extension/CGFloat/CGFloat+Spacing+.swift diff --git a/Projects/DesignSystem/Sources/Extension/Image/UIImage+.swift b/Projects/UI/PickeDesignKit/Sources/Extension/Image/UIImage+.swift similarity index 100% rename from Projects/DesignSystem/Sources/Extension/Image/UIImage+.swift rename to Projects/UI/PickeDesignKit/Sources/Extension/Image/UIImage+.swift diff --git a/Projects/DesignSystem/Sources/Extension/View/View+Background.swift b/Projects/UI/PickeDesignKit/Sources/Extension/View/View+Background.swift similarity index 100% rename from Projects/DesignSystem/Sources/Extension/View/View+Background.swift rename to Projects/UI/PickeDesignKit/Sources/Extension/View/View+Background.swift diff --git a/Projects/DesignSystem/Sources/Extension/View/View+Border.swift b/Projects/UI/PickeDesignKit/Sources/Extension/View/View+Border.swift similarity index 100% rename from Projects/DesignSystem/Sources/Extension/View/View+Border.swift rename to Projects/UI/PickeDesignKit/Sources/Extension/View/View+Border.swift diff --git a/Projects/DesignSystem/Sources/Token/Color/ShapeStyle+.swift b/Projects/UI/PickeDesignKit/Sources/Token/Color/ShapeStyle+.swift similarity index 100% rename from Projects/DesignSystem/Sources/Token/Color/ShapeStyle+.swift rename to Projects/UI/PickeDesignKit/Sources/Token/Color/ShapeStyle+.swift diff --git a/Projects/DesignSystem/Sources/Token/Image/ImageAsset.swift b/Projects/UI/PickeDesignKit/Sources/Token/Image/ImageAsset.swift similarity index 100% rename from Projects/DesignSystem/Sources/Token/Image/ImageAsset.swift rename to Projects/UI/PickeDesignKit/Sources/Token/Image/ImageAsset.swift diff --git a/Projects/DesignSystem/Sources/Token/Typography/CustomSize.swift b/Projects/UI/PickeDesignKit/Sources/Token/Typography/CustomSize.swift similarity index 100% rename from Projects/DesignSystem/Sources/Token/Typography/CustomSize.swift rename to Projects/UI/PickeDesignKit/Sources/Token/Typography/CustomSize.swift diff --git a/Projects/DesignSystem/Sources/Token/Typography/PretendardFont.swift b/Projects/UI/PickeDesignKit/Sources/Token/Typography/PretendardFont.swift similarity index 100% rename from Projects/DesignSystem/Sources/Token/Typography/PretendardFont.swift rename to Projects/UI/PickeDesignKit/Sources/Token/Typography/PretendardFont.swift diff --git a/Projects/DesignSystem/Sources/Token/Typography/PretendardFontFamily.swift b/Projects/UI/PickeDesignKit/Sources/Token/Typography/PretendardFontFamily.swift similarity index 100% rename from Projects/DesignSystem/Sources/Token/Typography/PretendardFontFamily.swift rename to Projects/UI/PickeDesignKit/Sources/Token/Typography/PretendardFontFamily.swift diff --git a/Projects/DesignSystem/Sources/UI/ActionSheet/BottomActionSheet.swift b/Projects/UI/PickeDesignKit/Sources/UI/ActionSheet/BottomActionSheet.swift similarity index 100% rename from Projects/DesignSystem/Sources/UI/ActionSheet/BottomActionSheet.swift rename to Projects/UI/PickeDesignKit/Sources/UI/ActionSheet/BottomActionSheet.swift diff --git a/Projects/DesignSystem/Sources/UI/ActionSheet/PickeActionPill.swift b/Projects/UI/PickeDesignKit/Sources/UI/ActionSheet/PickeActionPill.swift similarity index 100% rename from Projects/DesignSystem/Sources/UI/ActionSheet/PickeActionPill.swift rename to Projects/UI/PickeDesignKit/Sources/UI/ActionSheet/PickeActionPill.swift diff --git a/Projects/DesignSystem/Sources/UI/Alert/CustomPopup/CustomConfirmationPopupView+Components.swift b/Projects/UI/PickeDesignKit/Sources/UI/Alert/CustomPopup/CustomConfirmationPopupView+Components.swift similarity index 100% rename from Projects/DesignSystem/Sources/UI/Alert/CustomPopup/CustomConfirmationPopupView+Components.swift rename to Projects/UI/PickeDesignKit/Sources/UI/Alert/CustomPopup/CustomConfirmationPopupView+Components.swift diff --git a/Projects/DesignSystem/Sources/UI/Alert/CustomPopup/CustomConfirmationPopupView+Content.swift b/Projects/UI/PickeDesignKit/Sources/UI/Alert/CustomPopup/CustomConfirmationPopupView+Content.swift similarity index 100% rename from Projects/DesignSystem/Sources/UI/Alert/CustomPopup/CustomConfirmationPopupView+Content.swift rename to Projects/UI/PickeDesignKit/Sources/UI/Alert/CustomPopup/CustomConfirmationPopupView+Content.swift diff --git a/Projects/DesignSystem/Sources/UI/Alert/CustomPopup/CustomConfirmationPopupView.swift b/Projects/UI/PickeDesignKit/Sources/UI/Alert/CustomPopup/CustomConfirmationPopupView.swift similarity index 100% rename from Projects/DesignSystem/Sources/UI/Alert/CustomPopup/CustomConfirmationPopupView.swift rename to Projects/UI/PickeDesignKit/Sources/UI/Alert/CustomPopup/CustomConfirmationPopupView.swift diff --git a/Projects/DesignSystem/Sources/UI/Avatar/PickeAvatar.swift b/Projects/UI/PickeDesignKit/Sources/UI/Avatar/PickeAvatar.swift similarity index 100% rename from Projects/DesignSystem/Sources/UI/Avatar/PickeAvatar.swift rename to Projects/UI/PickeDesignKit/Sources/UI/Avatar/PickeAvatar.swift diff --git a/Projects/DesignSystem/Sources/UI/Badge/PickeBadge.swift b/Projects/UI/PickeDesignKit/Sources/UI/Badge/PickeBadge.swift similarity index 100% rename from Projects/DesignSystem/Sources/UI/Badge/PickeBadge.swift rename to Projects/UI/PickeDesignKit/Sources/UI/Badge/PickeBadge.swift diff --git a/Projects/DesignSystem/Sources/UI/Button/CTAButtonStyle.swift b/Projects/UI/PickeDesignKit/Sources/UI/Button/CTAButtonStyle.swift similarity index 100% rename from Projects/DesignSystem/Sources/UI/Button/CTAButtonStyle.swift rename to Projects/UI/PickeDesignKit/Sources/UI/Button/CTAButtonStyle.swift diff --git a/Projects/DesignSystem/Sources/UI/Button/CTAButtonStyleModifier.swift b/Projects/UI/PickeDesignKit/Sources/UI/Button/CTAButtonStyleModifier.swift similarity index 100% rename from Projects/DesignSystem/Sources/UI/Button/CTAButtonStyleModifier.swift rename to Projects/UI/PickeDesignKit/Sources/UI/Button/CTAButtonStyleModifier.swift diff --git a/Projects/DesignSystem/Sources/UI/Card/PickeListRowCard.swift b/Projects/UI/PickeDesignKit/Sources/UI/Card/PickeListRowCard.swift similarity index 100% rename from Projects/DesignSystem/Sources/UI/Card/PickeListRowCard.swift rename to Projects/UI/PickeDesignKit/Sources/UI/Card/PickeListRowCard.swift diff --git a/Projects/DesignSystem/Sources/UI/Chip/PickeSortChip.swift b/Projects/UI/PickeDesignKit/Sources/UI/Chip/PickeSortChip.swift similarity index 100% rename from Projects/DesignSystem/Sources/UI/Chip/PickeSortChip.swift rename to Projects/UI/PickeDesignKit/Sources/UI/Chip/PickeSortChip.swift diff --git a/Projects/DesignSystem/Sources/UI/Divider/PickeDivider.swift b/Projects/UI/PickeDesignKit/Sources/UI/Divider/PickeDivider.swift similarity index 100% rename from Projects/DesignSystem/Sources/UI/Divider/PickeDivider.swift rename to Projects/UI/PickeDesignKit/Sources/UI/Divider/PickeDivider.swift diff --git a/Projects/DesignSystem/Sources/UI/Floating/FloatingErrorView.swift b/Projects/UI/PickeDesignKit/Sources/UI/Floating/FloatingErrorView.swift similarity index 100% rename from Projects/DesignSystem/Sources/UI/Floating/FloatingErrorView.swift rename to Projects/UI/PickeDesignKit/Sources/UI/Floating/FloatingErrorView.swift diff --git a/Projects/DesignSystem/Sources/UI/Navigaion/PickeNavigationBar.swift b/Projects/UI/PickeDesignKit/Sources/UI/Navigaion/PickeNavigationBar.swift similarity index 100% rename from Projects/DesignSystem/Sources/UI/Navigaion/PickeNavigationBar.swift rename to Projects/UI/PickeDesignKit/Sources/UI/Navigaion/PickeNavigationBar.swift diff --git a/Projects/DesignSystem/Sources/UI/Navigaion/PickeSegmentTab.swift b/Projects/UI/PickeDesignKit/Sources/UI/Navigaion/PickeSegmentTab.swift similarity index 100% rename from Projects/DesignSystem/Sources/UI/Navigaion/PickeSegmentTab.swift rename to Projects/UI/PickeDesignKit/Sources/UI/Navigaion/PickeSegmentTab.swift diff --git a/Projects/DesignSystem/Sources/UI/Share/ShareSheet.swift b/Projects/UI/PickeDesignKit/Sources/UI/Share/ShareSheet.swift similarity index 100% rename from Projects/DesignSystem/Sources/UI/Share/ShareSheet.swift rename to Projects/UI/PickeDesignKit/Sources/UI/Share/ShareSheet.swift diff --git a/Projects/DesignSystem/Sources/UI/Skeleton/SkeletonBlock.swift b/Projects/UI/PickeDesignKit/Sources/UI/Skeleton/SkeletonBlock.swift similarity index 100% rename from Projects/DesignSystem/Sources/UI/Skeleton/SkeletonBlock.swift rename to Projects/UI/PickeDesignKit/Sources/UI/Skeleton/SkeletonBlock.swift diff --git a/Projects/DesignSystem/Sources/UI/Skeleton/SkeletonView.swift b/Projects/UI/PickeDesignKit/Sources/UI/Skeleton/SkeletonView.swift similarity index 100% rename from Projects/DesignSystem/Sources/UI/Skeleton/SkeletonView.swift rename to Projects/UI/PickeDesignKit/Sources/UI/Skeleton/SkeletonView.swift diff --git a/Projects/DesignSystem/Sources/UI/Toast/ToastManager.swift b/Projects/UI/PickeDesignKit/Sources/UI/Toast/ToastManager.swift similarity index 100% rename from Projects/DesignSystem/Sources/UI/Toast/ToastManager.swift rename to Projects/UI/PickeDesignKit/Sources/UI/Toast/ToastManager.swift diff --git a/Projects/DesignSystem/Sources/UI/Toast/ToastType.swift b/Projects/UI/PickeDesignKit/Sources/UI/Toast/ToastType.swift similarity index 100% rename from Projects/DesignSystem/Sources/UI/Toast/ToastType.swift rename to Projects/UI/PickeDesignKit/Sources/UI/Toast/ToastType.swift diff --git a/Projects/DesignSystem/Sources/UI/Toast/ToastView.swift b/Projects/UI/PickeDesignKit/Sources/UI/Toast/ToastView.swift similarity index 100% rename from Projects/DesignSystem/Sources/UI/Toast/ToastView.swift rename to Projects/UI/PickeDesignKit/Sources/UI/Toast/ToastView.swift diff --git a/Projects/DesignSystem/Sources/UI/Token/ComponentToken.swift b/Projects/UI/PickeDesignKit/Sources/UI/Token/ComponentToken.swift similarity index 100% rename from Projects/DesignSystem/Sources/UI/Token/ComponentToken.swift rename to Projects/UI/PickeDesignKit/Sources/UI/Token/ComponentToken.swift diff --git a/Projects/UI/PickeSharedUI/Project.swift b/Projects/UI/PickeSharedUI/Project.swift new file mode 100644 index 00000000..2e4bedac --- /dev/null +++ b/Projects/UI/PickeSharedUI/Project.swift @@ -0,0 +1,21 @@ +import DependencyPackagePlugin +import DependencyPlugin +import Foundation +import ProjectDescription +import ProjectTemplatePlugin + +// 외부 라이브러리에 기대는 공용 UI 만 둔다. +// PickeDesignKit 은 토큰과 순수 컴포넌트만 갖고 라이브러리를 모른다. +let project = Project.configure( + moduleType: .module(name: "PickeSharedUI"), + bundleId: .appBundleID(name: ".PickeSharedUI"), + product: .staticFramework, + settings: .settings(), + dependencies: [ + .ui(.designKit), + .SPM.composableArchitecture, + .SPM.kingfisher, + ], + sources: ["Sources/**"], + hasTests: false +) diff --git a/Projects/DesignSystem/Sources/UI/Alert/CustomPopup/CustomAlertModifiers.swift b/Projects/UI/PickeSharedUI/Sources/Alert/CustomAlertModifiers.swift similarity index 100% rename from Projects/DesignSystem/Sources/UI/Alert/CustomPopup/CustomAlertModifiers.swift rename to Projects/UI/PickeSharedUI/Sources/Alert/CustomAlertModifiers.swift diff --git a/Projects/DesignSystem/Sources/UI/Alert/CustomPopup/CustomAlertState.swift b/Projects/UI/PickeSharedUI/Sources/Alert/CustomAlertState.swift similarity index 100% rename from Projects/DesignSystem/Sources/UI/Alert/CustomPopup/CustomAlertState.swift rename to Projects/UI/PickeSharedUI/Sources/Alert/CustomAlertState.swift diff --git a/Projects/DesignSystem/Sources/UI/AudioPlayer/AudioEqualizerView.swift b/Projects/UI/PickeSharedUI/Sources/AudioPlayer/AudioEqualizerView.swift similarity index 100% rename from Projects/DesignSystem/Sources/UI/AudioPlayer/AudioEqualizerView.swift rename to Projects/UI/PickeSharedUI/Sources/AudioPlayer/AudioEqualizerView.swift diff --git a/Projects/DesignSystem/Sources/UI/AudioPlayer/AudioPlayerControlView.swift b/Projects/UI/PickeSharedUI/Sources/AudioPlayer/AudioPlayerControlView.swift similarity index 100% rename from Projects/DesignSystem/Sources/UI/AudioPlayer/AudioPlayerControlView.swift rename to Projects/UI/PickeSharedUI/Sources/AudioPlayer/AudioPlayerControlView.swift diff --git a/Projects/DesignSystem/Sources/UI/Avatar/PickeAvatarView.swift b/Projects/UI/PickeSharedUI/Sources/Avatar/PickeAvatarView.swift similarity index 100% rename from Projects/DesignSystem/Sources/UI/Avatar/PickeAvatarView.swift rename to Projects/UI/PickeSharedUI/Sources/Avatar/PickeAvatarView.swift diff --git a/Projects/DesignSystem/Sources/UI/Empty/PickeEmptyStateView.swift b/Projects/UI/PickeSharedUI/Sources/Empty/PickeEmptyStateView.swift similarity index 100% rename from Projects/DesignSystem/Sources/UI/Empty/PickeEmptyStateView.swift rename to Projects/UI/PickeSharedUI/Sources/Empty/PickeEmptyStateView.swift diff --git a/Projects/DesignSystem/Sources/UI/Empty/PickeRetryErrorView.swift b/Projects/UI/PickeSharedUI/Sources/Empty/PickeRetryErrorView.swift similarity index 100% rename from Projects/DesignSystem/Sources/UI/Empty/PickeRetryErrorView.swift rename to Projects/UI/PickeSharedUI/Sources/Empty/PickeRetryErrorView.swift diff --git a/Projects/DesignSystem/Sources/UI/Input/PickeCommentInputBar.swift b/Projects/UI/PickeSharedUI/Sources/Input/PickeCommentInputBar.swift similarity index 100% rename from Projects/DesignSystem/Sources/UI/Input/PickeCommentInputBar.swift rename to Projects/UI/PickeSharedUI/Sources/Input/PickeCommentInputBar.swift diff --git a/Projects/DesignSystem/Sources/UI/Modal/PickeModal.swift b/Projects/UI/PickeSharedUI/Sources/Modal/PickeModal.swift similarity index 100% rename from Projects/DesignSystem/Sources/UI/Modal/PickeModal.swift rename to Projects/UI/PickeSharedUI/Sources/Modal/PickeModal.swift diff --git a/Projects/DesignSystem/Sources/UI/Alert/CustomPopup/CustomConfirmationPopupView+Report.swift b/Projects/UI/PickeSharedUI/Sources/Report/CustomConfirmationPopupView+Report.swift similarity index 100% rename from Projects/DesignSystem/Sources/UI/Alert/CustomPopup/CustomConfirmationPopupView+Report.swift rename to Projects/UI/PickeSharedUI/Sources/Report/CustomConfirmationPopupView+Report.swift diff --git a/Projects/DesignSystem/Sources/UI/Alert/CustomPopup/ReportReason.swift b/Projects/UI/PickeSharedUI/Sources/Report/ReportReason.swift similarity index 100% rename from Projects/DesignSystem/Sources/UI/Alert/CustomPopup/ReportReason.swift rename to Projects/UI/PickeSharedUI/Sources/Report/ReportReason.swift diff --git a/Tools/TokenGenerator.swift b/Tools/TokenGenerator.swift index f3a4dce7..dd0cf2c0 100644 --- a/Tools/TokenGenerator.swift +++ b/Tools/TokenGenerator.swift @@ -44,8 +44,8 @@ for url in [primitiveURL, semanticURL, componentURL] { // MARK: - Output paths -let sourcesDir = "\(cwd)/Projects/Shared/DesignSystem/Sources" -let colorOut = "\(sourcesDir)/Color/ShapeStyle+.swift" +let sourcesDir = "\(cwd)/Projects/UI/PickeDesignKit/Sources" +let colorOut = "\(sourcesDir)/Token/Color/ShapeStyle+.swift" let cgfloatDir = "\(sourcesDir)/Extension/CGFloat" let radiusOut = "\(cgfloatDir)/CGFloat+Radius+.swift" let spacingOut = "\(cgfloatDir)/CGFloat+Spacing+.swift" From a609966d668623412c3fdfcfe77fbe225edd8055 Mon Sep 17 00:00:00 2001 From: Roy Date: Mon, 7 Sep 2026 03:59:15 +0900 Subject: [PATCH 42/83] =?UTF-8?q?refactor(ui):=20=EC=8A=A4=EC=BC=88?= =?UTF-8?q?=EB=A0=88=ED=86=A4=20=EC=8B=9C=EB=A8=B8=20=EA=B5=AC=ED=98=84=20?= =?UTF-8?q?=EB=84=A4=20=EB=B2=8C=EC=9D=84=20=ED=95=98=EB=82=98=EB=A1=9C=20?= =?UTF-8?q?=ED=95=A9=EC=B9=9C=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 같은 시머를 네 곳이 각자 구현하고 있었다. DesignKit 의 SkeletonBlock 과 SkeletonView 가 거의 같은 코드였고, Home 과 Battle 이 또 자기 것을 갖고 있었다. DDD 처럼 셋으로 나눈 한 벌로 통일한다. - SkeletonShape: 자리표시자 외곽(rect / round / circle) - SkeletonView: TimelineView(.animation) 기반 시머 한 벌 - Skeleton+View: skeleton(isLoading:shape:) 체이닝 지운 것 - DesignKit SkeletonBlock - Home SkeletonBlock 의 자체 시머와 SkeletonShimmerModifier - Battle DarkSkeletonBlock 의 자체 시머 두 로컬 타입은 호출부를 건드리지 않으려 시그니처만 남기고 몸통을 SkeletonView 위임으로 바꿨다. DDD 와 다르게 둔 것 - 색 기본값은 Picke 토큰(beige600 / beige50)을 쓴다. DDD 의 gray80, gray60 에 해당하는 토큰이 없다. - 회전각, 주기, 최소 블러 반경을 상수로 뽑았다. - accessibilityReduceMotion 을 살렸다. Home 구현에 있던 처리라 통합하면서 없애면 접근성이 뒷걸음질한다. DDD 에는 없다. 곁들여 - PickeAnimation 이 Bundle.module 을 쓰다 빌드가 깨졌다. Tuist 가 이 모듈에는 리소스 접근자를 만들어주지 않아 프레임워크 번들을 직접 잡는다. - PickeRemoteImage 를 추가했다. Kingfisher 를 이 타입 안에 가둬 화면 코드가 라이브러리를 모르게 한다. 호출부 교체는 아직 안 했다. 검증: tuist generate 통과. xcodebuild 는 머신 메모리 부족으로 두 번 강제 종료돼 컴파일 검증을 못 했다. 다음에 반드시 확인해야 한다. --- .../View/Components/BattleSkeletonView.swift | 32 ++----- .../Sources/ChatRoom/View/ChatRoomView.swift | 2 +- .../Components/ChatRoomSkeletonView.swift | 32 +++---- .../View/Components/CommentSkeletonView.swift | 10 +-- .../Components/CommentReplySkeletonView.swift | 14 ++-- .../Components/CurationSkeletonView.swift | 18 ++-- .../View/Components/PreVoteSkeletonView.swift | 4 +- .../Chat/Sources/Vote/View/PreVoteView.swift | 4 +- .../View/Components/ExploreSkeletonView.swift | 14 ++-- .../View/Components/HeroCarouselView.swift | 2 +- .../View/Components/HomeSkeletonView.swift | 56 +------------ .../View/Components/HotBattleCardView.swift | 2 +- .../View/Components/NewBattleCardView.swift | 2 +- .../Components/NotificationSkeletonView.swift | 4 +- .../Components/BattleRecordSkeletonView.swift | 2 +- .../ContentActivitySkeletonView.swift | 4 +- .../View/Components/ProfileSkeletonView.swift | 2 +- .../NotificationSettingSkeletonView.swift | 4 +- .../Components/PointHistorySkeletonView.swift | 2 +- .../View/Components/RecapSkeletonView.swift | 10 +-- .../Sources/PickeAnimationAsset.swift | 10 ++- .../Sources/UI/Skeleton/Skeleton+View.swift | 64 ++++++++++++++ .../Sources/UI/Skeleton/SkeletonBlock.swift | 63 -------------- .../Sources/UI/Skeleton/SkeletonShape.swift | 26 ++++++ .../Sources/UI/Skeleton/SkeletonView.swift | 84 ++++++++++++------- .../RemoteImage/PickeRemoteImage.swift | 69 +++++++++++++++ 26 files changed, 299 insertions(+), 237 deletions(-) create mode 100644 Projects/UI/PickeDesignKit/Sources/UI/Skeleton/Skeleton+View.swift delete mode 100644 Projects/UI/PickeDesignKit/Sources/UI/Skeleton/SkeletonBlock.swift create mode 100644 Projects/UI/PickeDesignKit/Sources/UI/Skeleton/SkeletonShape.swift create mode 100644 Projects/UI/PickeSharedUI/Sources/RemoteImage/PickeRemoteImage.swift diff --git a/Projects/Feature/Battle/Sources/Main/View/Components/BattleSkeletonView.swift b/Projects/Feature/Battle/Sources/Main/View/Components/BattleSkeletonView.swift index e1857796..0ec78c7a 100644 --- a/Projects/Feature/Battle/Sources/Main/View/Components/BattleSkeletonView.swift +++ b/Projects/Feature/Battle/Sources/Main/View/Components/BattleSkeletonView.swift @@ -44,32 +44,16 @@ struct BattleSkeletonView: View { /// 다크 배경용 skeleton 블록 (어두운 base + 옅은 흰색 shimmer). private struct DarkSkeletonBlock: View { - let cornerRadius: CGFloat - - @State private var phase: CGFloat = -1 + private static let baseColor = Color.white.opacity(0.08) + private static let shimmerColor = Color.white.opacity(0.20) - private let baseColor = Color.white.opacity(0.08) - private let shimmerColor = Color.white.opacity(0.20) + let cornerRadius: CGFloat var body: some View { - RoundedRectangle(cornerRadius: cornerRadius) - .fill(baseColor) - .overlay { - LinearGradient( - stops: [ - .init(color: shimmerColor.opacity(0), location: 0), - .init(color: shimmerColor, location: 0.5), - .init(color: shimmerColor.opacity(0), location: 1), - ], - startPoint: UnitPoint(x: phase, y: 0.5), - endPoint: UnitPoint(x: phase + 1, y: 0.5) - ) - } - .clipShape(RoundedRectangle(cornerRadius: cornerRadius)) - .onAppear { - withAnimation(.linear(duration: 1.2).repeatForever(autoreverses: false)) { - phase = 2 - } - } + SkeletonView( + .round(cornerRadius: cornerRadius), + base: Self.baseColor, + highlight: Self.shimmerColor + ) } } diff --git a/Projects/Feature/Chat/Sources/ChatRoom/View/ChatRoomView.swift b/Projects/Feature/Chat/Sources/ChatRoom/View/ChatRoomView.swift index 536a881f..7c16fc9f 100644 --- a/Projects/Feature/Chat/Sources/ChatRoom/View/ChatRoomView.swift +++ b/Projects/Feature/Chat/Sources/ChatRoom/View/ChatRoomView.swift @@ -280,7 +280,7 @@ extension ChatRoomView { private func avatar(_ speaker: ChatSpeaker) -> some View { KFImage(URL(string: speaker.imageURL ?? "")) .placeholder { - SkeletonView(cornerRadius: Metric.avatarSize / 2) + SkeletonView(.round(cornerRadius: Metric.avatarSize / 2)) } .resizable() .scaledToFit() diff --git a/Projects/Feature/Chat/Sources/ChatRoom/View/Components/ChatRoomSkeletonView.swift b/Projects/Feature/Chat/Sources/ChatRoom/View/Components/ChatRoomSkeletonView.swift index bb9808c1..3ef6dc1e 100644 --- a/Projects/Feature/Chat/Sources/ChatRoom/View/Components/ChatRoomSkeletonView.swift +++ b/Projects/Feature/Chat/Sources/ChatRoom/View/Components/ChatRoomSkeletonView.swift @@ -24,10 +24,10 @@ private extension ChatRoomSkeletonView { @ViewBuilder func navigationBarSkeleton() -> some View { HStack(spacing: 12) { - SkeletonView(cornerRadius: 6) + SkeletonView(.round(cornerRadius: 6)) .frame(width: 20, height: 24) Spacer() - SkeletonView(cornerRadius: 6) + SkeletonView(.round(cornerRadius: 6)) .frame(width: 24, height: 24) } .padding(.horizontal, 20) @@ -54,16 +54,16 @@ private extension ChatRoomSkeletonView { @ViewBuilder func leftGroup() -> some View { HStack(alignment: .top, spacing: 8) { - SkeletonView(cornerRadius: 20) + SkeletonView(.round(cornerRadius: 20)) .frame(width: 40, height: 40) VStack(alignment: .leading, spacing: 8) { - SkeletonView(cornerRadius: 6) + SkeletonView(.round(cornerRadius: 6)) .frame(width: 37, height: 20) - SkeletonView(cornerRadius: 6) + SkeletonView(.round(cornerRadius: 6)) .frame(width: 256, height: 54) - SkeletonView(cornerRadius: 6) + SkeletonView(.round(cornerRadius: 6)) .frame(width: 256, height: 36) - SkeletonView(cornerRadius: 6) + SkeletonView(.round(cornerRadius: 6)) .frame(width: 256, height: 36) } Spacer(minLength: 0) @@ -75,16 +75,16 @@ private extension ChatRoomSkeletonView { HStack(alignment: .top, spacing: 8) { Spacer(minLength: 0) VStack(alignment: .trailing, spacing: 8) { - SkeletonView(cornerRadius: 6) + SkeletonView(.round(cornerRadius: 6)) .frame(width: 49, height: 20) - SkeletonView(cornerRadius: 6) + SkeletonView(.round(cornerRadius: 6)) .frame(width: 256, height: 54) - SkeletonView(cornerRadius: 6) + SkeletonView(.round(cornerRadius: 6)) .frame(width: 256, height: 36) - SkeletonView(cornerRadius: 6) + SkeletonView(.round(cornerRadius: 6)) .frame(width: 256, height: 54) } - SkeletonView(cornerRadius: 20) + SkeletonView(.round(cornerRadius: 20)) .frame(width: 40, height: 40) } } @@ -96,15 +96,15 @@ private extension ChatRoomSkeletonView { @ViewBuilder func playerBarSkeleton() -> some View { VStack(spacing: 16) { - SkeletonView(cornerRadius: 6) + SkeletonView(.round(cornerRadius: 6)) .frame(height: 18) HStack(alignment: .top, spacing: 32) { - SkeletonView(cornerRadius: 6) + SkeletonView(.round(cornerRadius: 6)) .frame(width: 24, height: 55) - SkeletonView(cornerRadius: 6) + SkeletonView(.round(cornerRadius: 6)) .frame(width: 55, height: 55) - SkeletonView(cornerRadius: 6) + SkeletonView(.round(cornerRadius: 6)) .frame(width: 24, height: 55) } } diff --git a/Projects/Feature/Chat/Sources/Comment/View/Components/CommentSkeletonView.swift b/Projects/Feature/Chat/Sources/Comment/View/Components/CommentSkeletonView.swift index a63f168b..62138dff 100644 --- a/Projects/Feature/Chat/Sources/Comment/View/Components/CommentSkeletonView.swift +++ b/Projects/Feature/Chat/Sources/Comment/View/Components/CommentSkeletonView.swift @@ -22,16 +22,16 @@ struct CommentSkeletonView: View { private func card() -> some View { VStack(alignment: .leading, spacing: 8) { HStack(spacing: 6) { - SkeletonView(cornerRadius: 14) + SkeletonView(.round(cornerRadius: 14)) .frame(width: 28, height: 28) VStack(alignment: .leading, spacing: 4) { - SkeletonView(cornerRadius: 4).frame(width: 80, height: 12) - SkeletonView(cornerRadius: 4).frame(width: 48, height: 10) + SkeletonView(.round(cornerRadius: 4)).frame(width: 80, height: 12) + SkeletonView(.round(cornerRadius: 4)).frame(width: 48, height: 10) } Spacer() } - SkeletonView(cornerRadius: 4).frame(maxWidth: .infinity).frame(height: 12) - SkeletonView(cornerRadius: 4).frame(width: 200, height: 12) + SkeletonView(.round(cornerRadius: 4)).frame(maxWidth: .infinity).frame(height: 12) + SkeletonView(.round(cornerRadius: 4)).frame(width: 200, height: 12) } .padding(12) .frame(maxWidth: .infinity, alignment: .leading) diff --git a/Projects/Feature/Chat/Sources/CommentReply/View/Components/CommentReplySkeletonView.swift b/Projects/Feature/Chat/Sources/CommentReply/View/Components/CommentReplySkeletonView.swift index bdcb7d6f..2193f265 100644 --- a/Projects/Feature/Chat/Sources/CommentReply/View/Components/CommentReplySkeletonView.swift +++ b/Projects/Feature/Chat/Sources/CommentReply/View/Components/CommentReplySkeletonView.swift @@ -18,7 +18,7 @@ struct CommentReplySkeletonView: View { .bottomDivider(.beige600) VStack(alignment: .leading, spacing: 8) { - SkeletonView(cornerRadius: 4) + SkeletonView(.round(cornerRadius: 4)) .frame(width: 64, height: 14) .padding(.horizontal, 12) .padding(.top, 12) @@ -44,19 +44,19 @@ struct CommentReplySkeletonView: View { private func card() -> some View { VStack(alignment: .leading, spacing: 8) { HStack(alignment: .top, spacing: 8) { - SkeletonView(cornerRadius: 18) + SkeletonView(.round(cornerRadius: 18)) .frame(width: 36, height: 36) VStack(alignment: .leading, spacing: 4) { - SkeletonView(cornerRadius: 4).frame(width: 90, height: 14) - SkeletonView(cornerRadius: 4).frame(width: 56, height: 16) + SkeletonView(.round(cornerRadius: 4)).frame(width: 90, height: 14) + SkeletonView(.round(cornerRadius: 4)).frame(width: 56, height: 16) } Spacer() } - SkeletonView(cornerRadius: 4).frame(maxWidth: .infinity).frame(height: 12) - SkeletonView(cornerRadius: 4).frame(width: 220, height: 12) + SkeletonView(.round(cornerRadius: 4)).frame(maxWidth: .infinity).frame(height: 12) + SkeletonView(.round(cornerRadius: 4)).frame(width: 220, height: 12) HStack { Spacer() - SkeletonView(cornerRadius: 4).frame(width: 44, height: 14) + SkeletonView(.round(cornerRadius: 4)).frame(width: 44, height: 14) } } .padding(12) diff --git a/Projects/Feature/Chat/Sources/Curation/View/Components/CurationSkeletonView.swift b/Projects/Feature/Chat/Sources/Curation/View/Components/CurationSkeletonView.swift index d31185f5..ad9250a2 100644 --- a/Projects/Feature/Chat/Sources/Curation/View/Components/CurationSkeletonView.swift +++ b/Projects/Feature/Chat/Sources/Curation/View/Components/CurationSkeletonView.swift @@ -23,19 +23,19 @@ struct CurationSkeletonView: View { VStack(alignment: .leading, spacing: 16) { // meta HStack(spacing: 10) { - SkeletonView(cornerRadius: .radiusDefault).frame(width: 44, height: 18) + SkeletonView(.round(cornerRadius: .radiusDefault)).frame(width: 44, height: 18) Spacer() - SkeletonView(cornerRadius: 4).frame(width: 36, height: 12) - SkeletonView(cornerRadius: 4).frame(width: 36, height: 12) + SkeletonView(.round(cornerRadius: 4)).frame(width: 36, height: 12) + SkeletonView(.round(cornerRadius: 4)).frame(width: 36, height: 12) } VStack(alignment: .leading, spacing: 4) { - SkeletonView(cornerRadius: 4).frame(maxWidth: .infinity).frame(height: 14) - SkeletonView(cornerRadius: 4).frame(width: 220, height: 12) + SkeletonView(.round(cornerRadius: 4)).frame(maxWidth: .infinity).frame(height: 14) + SkeletonView(.round(cornerRadius: 4)).frame(width: 220, height: 12) } // versus HStack(spacing: 8) { optionPlaceholder() - SkeletonView(cornerRadius: 12).frame(width: 24, height: 24) + SkeletonView(.round(cornerRadius: 12)).frame(width: 24, height: 24) optionPlaceholder() } } @@ -47,10 +47,10 @@ struct CurationSkeletonView: View { @ViewBuilder private func optionPlaceholder() -> some View { HStack(spacing: 4) { - SkeletonView(cornerRadius: 20).frame(width: 40, height: 40) + SkeletonView(.round(cornerRadius: 20)).frame(width: 40, height: 40) VStack(spacing: 2) { - SkeletonView(cornerRadius: 4).frame(width: 44, height: 11) - SkeletonView(cornerRadius: 4).frame(width: 30, height: 10) + SkeletonView(.round(cornerRadius: 4)).frame(width: 44, height: 11) + SkeletonView(.round(cornerRadius: 4)).frame(width: 30, height: 10) } } .frame(maxWidth: .infinity) diff --git a/Projects/Feature/Chat/Sources/Vote/View/Components/PreVoteSkeletonView.swift b/Projects/Feature/Chat/Sources/Vote/View/Components/PreVoteSkeletonView.swift index 419ab168..7dc35cc1 100644 --- a/Projects/Feature/Chat/Sources/Vote/View/Components/PreVoteSkeletonView.swift +++ b/Projects/Feature/Chat/Sources/Vote/View/Components/PreVoteSkeletonView.swift @@ -14,8 +14,8 @@ struct PreVoteSkeletonView: View { /// 다크 배경에선 shimmer 도 어두운 톤으로 (안드로이드 VoteScreen: base neutral600 / highlight neutral400). private func bar(cornerRadius: CGFloat) -> SkeletonView { isDark - ? SkeletonView(cornerRadius: cornerRadius, baseColor: .neutral600, shimmerColor: .neutral400) - : SkeletonView(cornerRadius: cornerRadius) + ? SkeletonView(.round(cornerRadius: cornerRadius), base: .neutral600, highlight: .neutral400) + : SkeletonView(.round(cornerRadius: cornerRadius)) } var body: some View { diff --git a/Projects/Feature/Chat/Sources/Vote/View/PreVoteView.swift b/Projects/Feature/Chat/Sources/Vote/View/PreVoteView.swift index d53d669d..8889eb65 100644 --- a/Projects/Feature/Chat/Sources/Vote/View/PreVoteView.swift +++ b/Projects/Feature/Chat/Sources/Vote/View/PreVoteView.swift @@ -127,7 +127,7 @@ extension PreVoteView { let url = URL(string: urlString) { KFImage(url) - .placeholder { SkeletonView() } + .placeholder { SkeletonView(.round()) } .resizable() .scaledToFill() } else { @@ -324,7 +324,7 @@ extension PreVoteView { private func avatarView(imageURL: String) -> some View { KFImage(URL(string: imageURL)) .placeholder { - SkeletonView() + SkeletonView(.round()) .frame(width: 28, height: 20) } .resizable() diff --git a/Projects/Feature/Hifi/Sources/View/Components/ExploreSkeletonView.swift b/Projects/Feature/Hifi/Sources/View/Components/ExploreSkeletonView.swift index 08117bab..797adaaf 100644 --- a/Projects/Feature/Hifi/Sources/View/Components/ExploreSkeletonView.swift +++ b/Projects/Feature/Hifi/Sources/View/Components/ExploreSkeletonView.swift @@ -21,23 +21,23 @@ struct ExploreSkeletonView: View { @ViewBuilder private func row() -> some View { HStack(alignment: .center, spacing: 8) { - SkeletonView(cornerRadius: .radiusDefault) + SkeletonView(.round(cornerRadius: .radiusDefault)) .frame(width: 76, height: 76) VStack(alignment: .leading, spacing: 24) { VStack(alignment: .leading, spacing: 8) { HStack(spacing: 6) { - SkeletonView(cornerRadius: .radiusDefault).frame(width: 44, height: 18) - SkeletonView(cornerRadius: 4).frame(maxWidth: .infinity).frame(height: 14) + SkeletonView(.round(cornerRadius: .radiusDefault)).frame(width: 44, height: 18) + SkeletonView(.round(cornerRadius: 4)).frame(maxWidth: .infinity).frame(height: 14) } - SkeletonView(cornerRadius: 4).frame(maxWidth: .infinity).frame(height: 12) - SkeletonView(cornerRadius: 4).frame(width: 180, height: 12) + SkeletonView(.round(cornerRadius: 4)).frame(maxWidth: .infinity).frame(height: 12) + SkeletonView(.round(cornerRadius: 4)).frame(width: 180, height: 12) } HStack(spacing: 6) { Spacer() - SkeletonView(cornerRadius: 4).frame(width: 36, height: 12) - SkeletonView(cornerRadius: 4).frame(width: 44, height: 12) + SkeletonView(.round(cornerRadius: 4)).frame(width: 36, height: 12) + SkeletonView(.round(cornerRadius: 4)).frame(width: 44, height: 12) } } } diff --git a/Projects/Feature/Home/Sources/Main/View/Components/HeroCarouselView.swift b/Projects/Feature/Home/Sources/Main/View/Components/HeroCarouselView.swift index a43acb08..d02cfe4b 100644 --- a/Projects/Feature/Home/Sources/Main/View/Components/HeroCarouselView.swift +++ b/Projects/Feature/Home/Sources/Main/View/Components/HeroCarouselView.swift @@ -107,7 +107,7 @@ struct HeroCardView: View { if let url = hero.thumbnailURL { KFImage(url) - .placeholder { SkeletonView() } + .placeholder { SkeletonView(.round()) } .resizable() .aspectRatio(contentMode: .fill) .frame( diff --git a/Projects/Feature/Home/Sources/Main/View/Components/HomeSkeletonView.swift b/Projects/Feature/Home/Sources/Main/View/Components/HomeSkeletonView.swift index e44d0b40..4b2e865b 100644 --- a/Projects/Feature/Home/Sources/Main/View/Components/HomeSkeletonView.swift +++ b/Projects/Feature/Home/Sources/Main/View/Components/HomeSkeletonView.swift @@ -263,62 +263,8 @@ private struct SkeletonBlock: View { } var body: some View { - RoundedRectangle(cornerRadius: cornerRadius) - .fill(color) + SkeletonView(.round(cornerRadius: cornerRadius), base: color) .frame(width: width, height: height) .frame(maxWidth: width == nil ? .infinity : nil) - .skeletonShimmer(cornerRadius: cornerRadius) - } -} - -private struct SkeletonShimmerModifier: ViewModifier { - @Environment(\.accessibilityReduceMotion) private var accessibilityReduceMotion - @State private var isShimmering = false - - let cornerRadius: CGFloat - - func body(content: Content) -> some View { - content - .overlay { - if !accessibilityReduceMotion { - shimmer - .clipShape(RoundedRectangle(cornerRadius: cornerRadius)) - } - } - .onAppear { - guard !accessibilityReduceMotion else { return } - isShimmering = true - } - } - - @ViewBuilder - private var shimmer: some View { - GeometryReader { proxy in - LinearGradient( - colors: [ - .clear, - .white.opacity(0.32), - .clear - ], - startPoint: .leading, - endPoint: .trailing - ) - .frame(width: proxy.size.width * 0.55, height: proxy.size.height) - .offset(x: isShimmering ? proxy.size.width : -proxy.size.width) - .blendMode(.screen) - .allowsHitTesting(false) - .animation( - .linear(duration: 1.6) - .delay(0.15) - .repeatForever(autoreverses: false), - value: isShimmering - ) - } - } -} - -private extension View { - func skeletonShimmer(cornerRadius: CGFloat) -> some View { - modifier(SkeletonShimmerModifier(cornerRadius: cornerRadius)) } } diff --git a/Projects/Feature/Home/Sources/Main/View/Components/HotBattleCardView.swift b/Projects/Feature/Home/Sources/Main/View/Components/HotBattleCardView.swift index 555527bf..376a1567 100644 --- a/Projects/Feature/Home/Sources/Main/View/Components/HotBattleCardView.swift +++ b/Projects/Feature/Home/Sources/Main/View/Components/HotBattleCardView.swift @@ -48,7 +48,7 @@ struct HotBattleCardView: View { Group { if let url = battle.thumbnailURL { KFImage(url) - .placeholder { SkeletonView() } + .placeholder { SkeletonView(.round()) } .resizable() .scaledToFill() } else { diff --git a/Projects/Feature/Home/Sources/Main/View/Components/NewBattleCardView.swift b/Projects/Feature/Home/Sources/Main/View/Components/NewBattleCardView.swift index 3e4a583b..0db594db 100644 --- a/Projects/Feature/Home/Sources/Main/View/Components/NewBattleCardView.swift +++ b/Projects/Feature/Home/Sources/Main/View/Components/NewBattleCardView.swift @@ -132,7 +132,7 @@ extension NewBattleCardView { .frame(width: 40, height: 40) if let imageURL { KFImage(imageURL) - .placeholder { SkeletonView(cornerRadius: 20) } + .placeholder { SkeletonView(.round(cornerRadius: 20)) } .resizable() .scaledToFit() .frame(width: 20, height: 38) diff --git a/Projects/Feature/Notification/Sources/Main/View/Components/NotificationSkeletonView.swift b/Projects/Feature/Notification/Sources/Main/View/Components/NotificationSkeletonView.swift index 1e25ecbd..f4a00b0e 100644 --- a/Projects/Feature/Notification/Sources/Main/View/Components/NotificationSkeletonView.swift +++ b/Projects/Feature/Notification/Sources/Main/View/Components/NotificationSkeletonView.swift @@ -13,7 +13,7 @@ struct NotificationSkeletonView: View { VStack(spacing: 8) { ForEach(0 ..< 7, id: \.self) { _ in HStack(alignment: .center, spacing: 16) { - SkeletonBlock(cornerRadius: 12, tone: .light) + SkeletonView(.round(cornerRadius: 12)) .frame(width: 24, height: 24) VStack(alignment: .leading, spacing: 6) { @@ -42,7 +42,7 @@ struct NotificationSkeletonView: View { maxWidth: Bool = false, height: CGFloat ) -> some View { - SkeletonBlock(cornerRadius: 4, tone: .light) + SkeletonView(.round(cornerRadius: 4)) .frame(width: width) .frame(maxWidth: maxWidth ? .infinity : nil) .frame(height: height) diff --git a/Projects/Feature/Profile/Sources/BattleRecord/View/Components/BattleRecordSkeletonView.swift b/Projects/Feature/Profile/Sources/BattleRecord/View/Components/BattleRecordSkeletonView.swift index a6301c32..b97ad972 100644 --- a/Projects/Feature/Profile/Sources/BattleRecord/View/Components/BattleRecordSkeletonView.swift +++ b/Projects/Feature/Profile/Sources/BattleRecord/View/Components/BattleRecordSkeletonView.swift @@ -41,7 +41,7 @@ struct BattleRecordSkeletonView: View { maxWidth: Bool = false, height: CGFloat ) -> some View { - SkeletonBlock(cornerRadius: 4, tone: .light) + SkeletonView(.round(cornerRadius: 4)) .frame(width: width) .frame(maxWidth: maxWidth ? .infinity : nil) .frame(height: height) diff --git a/Projects/Feature/Profile/Sources/ContentActivity/View/Components/ContentActivitySkeletonView.swift b/Projects/Feature/Profile/Sources/ContentActivity/View/Components/ContentActivitySkeletonView.swift index 12997053..a1d1be20 100644 --- a/Projects/Feature/Profile/Sources/ContentActivity/View/Components/ContentActivitySkeletonView.swift +++ b/Projects/Feature/Profile/Sources/ContentActivity/View/Components/ContentActivitySkeletonView.swift @@ -14,7 +14,7 @@ struct ContentActivitySkeletonView: View { ForEach(0 ..< 5, id: \.self) { _ in VStack(alignment: .leading, spacing: 8) { HStack(spacing: 6) { - SkeletonBlock(cornerRadius: 18, tone: .light) + SkeletonView(.round(cornerRadius: 18)) .frame(width: 36, height: 36) VStack(alignment: .leading, spacing: 4) { block(width: 120, height: 14) @@ -49,7 +49,7 @@ struct ContentActivitySkeletonView: View { maxWidth: Bool = false, height: CGFloat ) -> some View { - SkeletonBlock(cornerRadius: 4, tone: .light) + SkeletonView(.round(cornerRadius: 4)) .frame(width: width) .frame(maxWidth: maxWidth ? .infinity : nil) .frame(height: height) diff --git a/Projects/Feature/Profile/Sources/Main/View/Components/ProfileSkeletonView.swift b/Projects/Feature/Profile/Sources/Main/View/Components/ProfileSkeletonView.swift index 280dc2db..c516ea9c 100644 --- a/Projects/Feature/Profile/Sources/Main/View/Components/ProfileSkeletonView.swift +++ b/Projects/Feature/Profile/Sources/Main/View/Components/ProfileSkeletonView.swift @@ -51,7 +51,7 @@ struct ProfileSkeletonView: View { height: CGFloat, radius: CGFloat = 4 ) -> some View { - SkeletonBlock(cornerRadius: radius, tone: .light) + SkeletonView(.round(cornerRadius: radius)) .frame(width: width) .frame(maxWidth: maxWidth ? .infinity : nil) .frame(height: height) diff --git a/Projects/Feature/Profile/Sources/NotificationSetting/View/Components/NotificationSettingSkeletonView.swift b/Projects/Feature/Profile/Sources/NotificationSetting/View/Components/NotificationSettingSkeletonView.swift index a9b9d233..508dc3bc 100644 --- a/Projects/Feature/Profile/Sources/NotificationSetting/View/Components/NotificationSettingSkeletonView.swift +++ b/Projects/Feature/Profile/Sources/NotificationSetting/View/Components/NotificationSettingSkeletonView.swift @@ -25,7 +25,7 @@ struct NotificationSettingSkeletonView: View { block(width: 180, height: 11) } Spacer(minLength: 8) - SkeletonBlock(cornerRadius: 9, tone: .light) + SkeletonView(.round(cornerRadius: 9)) .frame(width: 32, height: 18) } .padding(.vertical, 16) @@ -42,7 +42,7 @@ struct NotificationSettingSkeletonView: View { @ViewBuilder private func block(width: CGFloat, height: CGFloat) -> some View { - SkeletonBlock(cornerRadius: 4, tone: .light) + SkeletonView(.round(cornerRadius: 4)) .frame(width: width, height: height) } } diff --git a/Projects/Feature/Profile/Sources/PointHistory/View/Components/PointHistorySkeletonView.swift b/Projects/Feature/Profile/Sources/PointHistory/View/Components/PointHistorySkeletonView.swift index fb5d5b2b..0a7d7091 100644 --- a/Projects/Feature/Profile/Sources/PointHistory/View/Components/PointHistorySkeletonView.swift +++ b/Projects/Feature/Profile/Sources/PointHistory/View/Components/PointHistorySkeletonView.swift @@ -40,7 +40,7 @@ struct PointHistorySkeletonView: View { @ViewBuilder private func block(width: CGFloat, height: CGFloat) -> some View { - SkeletonBlock(cornerRadius: 4, tone: .light) + SkeletonView(.round(cornerRadius: 4)) .frame(width: width, height: height) } } diff --git a/Projects/Feature/Profile/Sources/Recap/View/Components/RecapSkeletonView.swift b/Projects/Feature/Profile/Sources/Recap/View/Components/RecapSkeletonView.swift index be048720..10575887 100644 --- a/Projects/Feature/Profile/Sources/Recap/View/Components/RecapSkeletonView.swift +++ b/Projects/Feature/Profile/Sources/Recap/View/Components/RecapSkeletonView.swift @@ -16,7 +16,7 @@ struct RecapSkeletonView: View { VStack(spacing: 16) { block(width: 100, height: 13) block(width: 120, height: 24) - SkeletonBlock(cornerRadius: 34, tone: .light).frame(width: 68, height: 68) + SkeletonView(.round(cornerRadius: 34)).frame(width: 68, height: 68) block(width: nil, maxWidth: true, height: 40) HStack(spacing: 8) { ForEach(0 ..< 3, id: \.self) { _ in block(width: 56, height: 20) } @@ -30,7 +30,7 @@ struct RecapSkeletonView: View { block(width: 70, height: 13) cardBox { VStack(spacing: 12) { - SkeletonBlock(cornerRadius: 8, tone: .light).frame(height: 160) + SkeletonView(.round(cornerRadius: 8)).frame(height: 160) LazyVGrid(columns: [GridItem(.flexible()), GridItem(.flexible())], spacing: 8) { ForEach(0 ..< 6, id: \.self) { _ in block(width: nil, maxWidth: true, height: 28) } } @@ -65,7 +65,7 @@ struct RecapSkeletonView: View { cardBox { VStack(spacing: 8) { block(width: 40, height: 12) - SkeletonBlock(cornerRadius: 20, tone: .light).frame(width: 40, height: 40) + SkeletonView(.round(cornerRadius: 20)).frame(width: 40, height: 40) block(width: 60, height: 13) block(width: nil, maxWidth: true, height: 22) } @@ -75,7 +75,7 @@ struct RecapSkeletonView: View { } } - SkeletonBlock(cornerRadius: .radiusDefault, tone: .light).frame(height: 52) + SkeletonView(.round(cornerRadius: .radiusDefault)).frame(height: 52) } .padding(.top, 20) .padding(.horizontal, 16) @@ -93,7 +93,7 @@ struct RecapSkeletonView: View { @ViewBuilder private func block(width: CGFloat?, maxWidth: Bool = false, height: CGFloat) -> some View { - SkeletonBlock(cornerRadius: 4, tone: .light) + SkeletonView(.round(cornerRadius: 4)) .frame(width: width) .frame(maxWidth: maxWidth ? .infinity : nil) .frame(height: height) diff --git a/Projects/UI/PickeAnimation/Sources/PickeAnimationAsset.swift b/Projects/UI/PickeAnimation/Sources/PickeAnimationAsset.swift index deebaaef..bc801b61 100644 --- a/Projects/UI/PickeAnimation/Sources/PickeAnimationAsset.swift +++ b/Projects/UI/PickeAnimation/Sources/PickeAnimationAsset.swift @@ -18,8 +18,16 @@ public enum PickeAnimationAsset: String, CaseIterable { private static let images: [PickeAnimationAsset: SDAnimatedImage?] = { var loaded: [PickeAnimationAsset: SDAnimatedImage?] = [:] for asset in allCases { - loaded[asset] = SDAnimatedImage(named: asset.rawValue, in: Bundle.module, compatibleWith: nil) + loaded[asset] = SDAnimatedImage(named: asset.rawValue, in: .pickeAnimation, compatibleWith: nil) } return loaded }() } + +private final class BundleToken {} + +private extension Bundle { + /// 이 모듈은 동적 프레임워크라 에셋이 자기 번들에 들어 있다. + /// Tuist 가 리소스 접근자(`Bundle.module`)를 만들어주지 않아 직접 잡는다. + static let pickeAnimation = Bundle(for: BundleToken.self) +} diff --git a/Projects/UI/PickeDesignKit/Sources/UI/Skeleton/Skeleton+View.swift b/Projects/UI/PickeDesignKit/Sources/UI/Skeleton/Skeleton+View.swift new file mode 100644 index 00000000..e6438c86 --- /dev/null +++ b/Projects/UI/PickeDesignKit/Sources/UI/Skeleton/Skeleton+View.swift @@ -0,0 +1,64 @@ +// +// Skeleton+View.swift +// PickeDesignKit +// + +import SwiftUI + +// MARK: - View Extension + +public extension View { + /// 데이터가 오기 전 원본이 비어 크기를 잃는 경우 `width` / `height` 로 자리를 빌려준다. + /// 로딩 중에만 적용되므로 데이터가 온 뒤의 동적 크기는 방해하지 않는다. + func skeleton( + isLoading: Bool, + shape: SkeletonShape, + width: CGFloat? = nil, + height: CGFloat? = nil, + base: Color = .beige600, + highlight: Color = .beige50 + ) -> some View { + modifier( + SkeletonModifier( + isLoading: isLoading, + width: width, + height: height, + shape: shape, + base: base, + highlight: highlight + ) + ) + } +} + +// MARK: - Modifier + +private struct SkeletonModifier: ViewModifier { + /// 자리표시자가 나타나고 사라질 때의 페이드 길이(초). + private static let fadeDuration: Double = 0.2 + + let isLoading: Bool + let width: CGFloat? + let height: CGFloat? + let shape: SkeletonShape + let base: Color + let highlight: Color + + func body(content: Content) -> some View { + ZStack { + content + .opacity(isLoading ? 0 : 1) + + if isLoading { + SkeletonView(shape, base: base, highlight: highlight) + .frame(width: width, height: height) + .transition(.opacity) + } + } + .fixedSize( + horizontal: isLoading && width != nil, + vertical: isLoading && height != nil + ) + .animation(.easeInOut(duration: Self.fadeDuration), value: isLoading) + } +} diff --git a/Projects/UI/PickeDesignKit/Sources/UI/Skeleton/SkeletonBlock.swift b/Projects/UI/PickeDesignKit/Sources/UI/Skeleton/SkeletonBlock.swift deleted file mode 100644 index 0c45f0be..00000000 --- a/Projects/UI/PickeDesignKit/Sources/UI/Skeleton/SkeletonBlock.swift +++ /dev/null @@ -1,63 +0,0 @@ -// -// SkeletonBlock.swift -// DesignSystem -// - -import SwiftUI - -public struct SkeletonBlock: View { - /// 배경 톤 — 라이트(beige) / 다크 화면에 맞춰 base·shimmer 색을 고른다. - public enum Tone { - case light - case dark - - var base: Color { - switch self { - case .light: Color.black.opacity(0.06) - case .dark: Color.white.opacity(0.08) - } - } - - var shimmer: Color { - switch self { - case .light: Color.white.opacity(0.55) - case .dark: Color.white.opacity(0.20) - } - } - } - - private let cornerRadius: CGFloat - private let tone: Tone - - @State private var phase: CGFloat = -1 - - public init( - cornerRadius: CGFloat = 4, - tone: Tone = .light - ) { - self.cornerRadius = cornerRadius - self.tone = tone - } - - public var body: some View { - RoundedRectangle(cornerRadius: cornerRadius) - .fill(tone.base) - .overlay { - LinearGradient( - stops: [ - .init(color: tone.shimmer.opacity(0), location: 0), - .init(color: tone.shimmer, location: 0.5), - .init(color: tone.shimmer.opacity(0), location: 1), - ], - startPoint: UnitPoint(x: phase, y: 0.5), - endPoint: UnitPoint(x: phase + 1, y: 0.5) - ) - } - .clipShape(RoundedRectangle(cornerRadius: cornerRadius)) - .onAppear { - withAnimation(.linear(duration: 1.2).repeatForever(autoreverses: false)) { - phase = 2 - } - } - } -} diff --git a/Projects/UI/PickeDesignKit/Sources/UI/Skeleton/SkeletonShape.swift b/Projects/UI/PickeDesignKit/Sources/UI/Skeleton/SkeletonShape.swift new file mode 100644 index 00000000..4b331ffb --- /dev/null +++ b/Projects/UI/PickeDesignKit/Sources/UI/Skeleton/SkeletonShape.swift @@ -0,0 +1,26 @@ +// +// SkeletonShape.swift +// PickeDesignKit +// + +import SwiftUI + +/// 스켈레톤 자리표시자의 외곽 형태. +public enum SkeletonShape: Shape { + case rect + case round(cornerRadius: CGFloat = .radiusDefault) + case circle + + public func path(in rect: CGRect) -> Path { + switch self { + case .rect: + Rectangle().path(in: rect) + + case let .round(cornerRadius): + RoundedRectangle(cornerRadius: cornerRadius, style: .circular).path(in: rect) + + case .circle: + Circle().path(in: rect) + } + } +} diff --git a/Projects/UI/PickeDesignKit/Sources/UI/Skeleton/SkeletonView.swift b/Projects/UI/PickeDesignKit/Sources/UI/Skeleton/SkeletonView.swift index 6e6a9285..fc689f78 100644 --- a/Projects/UI/PickeDesignKit/Sources/UI/Skeleton/SkeletonView.swift +++ b/Projects/UI/PickeDesignKit/Sources/UI/Skeleton/SkeletonView.swift @@ -1,48 +1,76 @@ // // SkeletonView.swift -// DesignSystem +// PickeDesignKit // import SwiftUI +/// 로딩 중 콘텐츠 자리를 대신 채우는 시머 자리표시자. public struct SkeletonView: View { - private let cornerRadius: CGFloat + @Environment(\.accessibilityReduceMotion) private var reduceMotion + + private let shape: SkeletonShape private let baseColor: Color - private let shimmerColor: Color + private let highlightColor: Color + /// 기본값은 베이지 배경 기준이다. 어두운 표면에서는 + /// `base: .gray600, highlight: .gray400` 처럼 어두운 쌍을 넘긴다. public init( - cornerRadius: CGFloat = 2, - baseColor: Color = .beige600, - shimmerColor: Color = .beige50 + _ shape: SkeletonShape, + base: Color = .beige600, + highlight: Color = .beige50 ) { - self.cornerRadius = cornerRadius - self.baseColor = baseColor - self.shimmerColor = shimmerColor + self.shape = shape + baseColor = base + highlightColor = highlight } - @State private var phase: CGFloat = -1 - public var body: some View { - RoundedRectangle(cornerRadius: cornerRadius) + shape .fill(baseColor) .overlay { - LinearGradient( - stops: [ - .init(color: baseColor.opacity(0), location: 0), - .init(color: shimmerColor.opacity(0.6), location: 0.5), - .init(color: baseColor.opacity(0), location: 1), - ], - startPoint: UnitPoint(x: phase, y: 0.5), - endPoint: UnitPoint(x: phase + 1, y: 0.5) - ) - } - .clipShape(RoundedRectangle(cornerRadius: cornerRadius)) - .onAppear { - withAnimation( - .linear(duration: 1.2).repeatForever(autoreverses: false) - ) { - phase = 2 + GeometryReader { + let size = $0.size + let shimmerWidth = size.width / 2 + + let blurRadius = max(shimmerWidth / 2, Self.minimumBlurRadius) + let blurDiameter = blurRadius * 2 + + let minX = -(shimmerWidth + blurDiameter) + let maxX = size.width + shimmerWidth + blurDiameter + + // 모션 감소를 켠 사용자에게는 훑는 움직임 없이 바탕색만 보여준다. + if !reduceMotion { + // TimelineView 는 뷰가 다시 만들어져도 시각에서 위상을 다시 구하므로 + // onAppear 로 위상을 몰아주던 방식과 달리 애니메이션이 끊기지 않는다. + TimelineView(.animation) { timeline in + Rectangle() + .fill(highlightColor) + .frame(width: shimmerWidth, height: size.height * 2) + .frame(height: size.height) + .blur(radius: blurRadius) + .rotationEffect(.degrees(Self.tiltDegrees)) + .blendMode(.softLight) + .offset(x: minX + (maxX - minX) * Self.phase(at: timeline.date)) + } + } } } + .clipShape(shape) + .compositingGroup() + .accessibilityIdentifier("skeleton_root") + } +} + +private extension SkeletonView { + /// 좁은 자리표시자에서도 번짐이 남도록 하는 최소 블러 반경. + static let minimumBlurRadius: CGFloat = 30 + /// 하이라이트를 살짝 기울여 사선으로 훑게 한다. + static let tiltDegrees: Double = 5 + /// 한 번 훑는 데 걸리는 시간(초). + static let period: Double = 1 + + static func phase(at date: Date) -> Double { + date.timeIntervalSinceReferenceDate.truncatingRemainder(dividingBy: period) / period } } diff --git a/Projects/UI/PickeSharedUI/Sources/RemoteImage/PickeRemoteImage.swift b/Projects/UI/PickeSharedUI/Sources/RemoteImage/PickeRemoteImage.swift new file mode 100644 index 00000000..f65cf232 --- /dev/null +++ b/Projects/UI/PickeSharedUI/Sources/RemoteImage/PickeRemoteImage.swift @@ -0,0 +1,69 @@ +// +// PickeRemoteImage.swift +// PickeSharedUI +// + +import Kingfisher +import PickeDesignKit +import SwiftUI + +// MARK: - 원격 이미지 공용 컴포넌트 + +/// 이미지 로딩 라이브러리를 이 타입 안에 가둔다. +/// 화면 코드는 Kingfisher 를 import 하지 않는다. +public struct PickeRemoteImage: View { + private let url: URL? + private let placeholder: () -> Placeholder + + private var contentMode: SwiftUI.ContentMode = .fill + + public init( + url: URL?, + @ViewBuilder placeholder: @escaping () -> Placeholder + ) { + self.url = url + self.placeholder = placeholder + } + + public init( + url: String?, + @ViewBuilder placeholder: @escaping () -> Placeholder + ) { + self.init(url: url.flatMap(URL.init(string:)), placeholder: placeholder) + } + + public var body: some View { + KFImage(url) + .placeholder(placeholder) + .resizable() + .aspectRatio(contentMode: contentMode) + } +} + +public extension PickeRemoteImage { + /// `.fill` 이 기본이다. 잘리면 안 되는 이미지에만 `.fit` 을 준다. + func content(_ mode: SwiftUI.ContentMode) -> Self { + var image = self + image.contentMode = mode + return image + } +} + +// MARK: - 기본 자리표시자 + +public extension PickeRemoteImage where Placeholder == SkeletonView { + /// 자리표시자를 따로 주지 않으면 스켈레톤이 자리를 채운다. + init( + url: URL?, + shape: SkeletonShape = .round() + ) { + self.init(url: url) { SkeletonView(shape) } + } + + init( + url: String?, + shape: SkeletonShape = .round() + ) { + self.init(url: url) { SkeletonView(shape) } + } +} From d3714e91ac8829307a323b1989419eb2c11f440f Mon Sep 17 00:00:00 2001 From: Roy Date: Mon, 7 Sep 2026 10:35:00 +0900 Subject: [PATCH 43/83] =?UTF-8?q?refactor(ui):=20=EC=9B=90=EA=B2=A9=20?= =?UTF-8?q?=EC=9D=B4=EB=AF=B8=EC=A7=80=20=EB=A1=9C=EB=94=A9=EC=9D=84=20Pic?= =?UTF-8?q?keRemoteImage=20=EB=92=A4=EB=A1=9C=20=EA=B0=90=EC=B6=98?= =?UTF-8?q?=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 화면 코드 아홉 곳이 Kingfisher 를 직접 import 하고 KFImage 를 썼다. 이미지 로딩 라이브러리를 갈아끼우려면 화면을 전부 고쳐야 하는 상태였다. 중고나라 앱의 JNRemoteImage 처럼 한 타입 뒤로 숨긴다. - PickeSharedUI 에 PickeRemoteImage 추가 · placeholder 를 직접 주는 형태와, 스켈레톤이 기본으로 붙는 형태 · contentMode 는 content(_:) 로 체이닝. 기본은 fill · URL 과 String 을 모두 받는다 - 교체한 곳: BattleView, HeroCarouselView, NewBattleCardView, HotBattleCardView, PreVoteView(2), ChatRoomView, ProfileView(2), ContentActivityView, HifiView, PickeAvatarView - Battle 과 Hifi 매니페스트에 ui(.sharedUI) 를 넣었다 동작을 그대로 두려고 신경 쓴 것 - placeholder 가 없던 자리(ProfileView, ContentActivityView)는 EmptyView 를 넘긴다. 기본 스켈레톤을 붙이면 없던 자리표시자가 생겨 화면이 달라진다. - scaledToFit 은 content(.fit), scaledToFill 은 기본값으로 옮겼다. 건드리지 않은 곳 - Recap 의 세 파일은 ImageRenderer 가 동기 렌더라 KFImage 가 빈 채로 캡처되는 문제를 따로 다루고 있다. 공유 스냅샷 동작이 걸려 있어 같이 묶지 않는다. - KingfisherConfigurator 는 캐시 설정이라 그대로 둔다. 검증: tuist generate 통과. 컴파일은 아직 못 했다. --- Projects/Feature/Battle/Project.swift | 1 + .../Battle/Sources/Main/View/BattleView.swift | 7 ++---- .../Sources/ChatRoom/View/ChatRoomView.swift | 18 +++++++------- .../Chat/Sources/Vote/View/PreVoteView.swift | 24 +++++++------------ Projects/Feature/Hifi/Project.swift | 1 + .../Feature/Hifi/Sources/View/HifiView.swift | 11 ++++----- .../View/Components/HeroCarouselView.swift | 7 ++---- .../View/Components/HotBattleCardView.swift | 7 ++---- .../View/Components/NewBattleCardView.swift | 8 +++---- .../View/ContentActivityView.swift | 8 +++---- .../Sources/Main/View/ProfileView.swift | 13 ++++------ .../Sources/Avatar/PickeAvatarView.swift | 6 +---- 12 files changed, 41 insertions(+), 70 deletions(-) diff --git a/Projects/Feature/Battle/Project.swift b/Projects/Feature/Battle/Project.swift index 9e092c14..3e8d9e33 100644 --- a/Projects/Feature/Battle/Project.swift +++ b/Projects/Feature/Battle/Project.swift @@ -11,6 +11,7 @@ let project = Project.configure( settings: .settings(), dependencies: [ .ui(.designKit), + .ui(.sharedUI), .core(.coreUtility), .service(.analytics, .interface), .core(.thirdParty), diff --git a/Projects/Feature/Battle/Sources/Main/View/BattleView.swift b/Projects/Feature/Battle/Sources/Main/View/BattleView.swift index e19cd2dc..da74a71a 100644 --- a/Projects/Feature/Battle/Sources/Main/View/BattleView.swift +++ b/Projects/Feature/Battle/Sources/Main/View/BattleView.swift @@ -6,7 +6,7 @@ import SwiftUI import ComposableArchitecture -import Kingfisher +import PickeSharedUI import PickeDesignKit @ViewAction(for: BattleFeature.self) @@ -119,10 +119,7 @@ private extension BattleView { func backgroundImage(_ imageURL: String?) -> some View { ZStack { if let imageURL, let url = URL(string: imageURL) { - KFImage(url) - .placeholder { Color.neutral800 } - .resizable() - .scaledToFill() + PickeRemoteImage(url: url) { Color.neutral800 } } else { Color.neutral800 } diff --git a/Projects/Feature/Chat/Sources/ChatRoom/View/ChatRoomView.swift b/Projects/Feature/Chat/Sources/ChatRoom/View/ChatRoomView.swift index 7c16fc9f..422b91f0 100644 --- a/Projects/Feature/Chat/Sources/ChatRoom/View/ChatRoomView.swift +++ b/Projects/Feature/Chat/Sources/ChatRoom/View/ChatRoomView.swift @@ -9,7 +9,6 @@ import SwiftUI import ComposableArchitecture import HomeDomainInterface -import Kingfisher import PickeDesignKit import PickeSharedUI @@ -278,15 +277,14 @@ extension ChatRoomView { @ViewBuilder private func avatar(_ speaker: ChatSpeaker) -> some View { - KFImage(URL(string: speaker.imageURL ?? "")) - .placeholder { - SkeletonView(.round(cornerRadius: Metric.avatarSize / 2)) - } - .resizable() - .scaledToFit() - .frame(width: Metric.avatarImageWidth, height: Metric.avatarImageHeight) - .frame(width: Metric.avatarSize, height: Metric.avatarSize) - .background(.beige600, in: Circle()) + PickeRemoteImage( + url: speaker.imageURL ?? "", + shape: .round(cornerRadius: Metric.avatarSize / 2) + ) + .content(.fit) + .frame(width: Metric.avatarImageWidth, height: Metric.avatarImageHeight) + .frame(width: Metric.avatarSize, height: Metric.avatarSize) + .background(.beige600, in: Circle()) } @ViewBuilder diff --git a/Projects/Feature/Chat/Sources/Vote/View/PreVoteView.swift b/Projects/Feature/Chat/Sources/Vote/View/PreVoteView.swift index 8889eb65..94b6313b 100644 --- a/Projects/Feature/Chat/Sources/Vote/View/PreVoteView.swift +++ b/Projects/Feature/Chat/Sources/Vote/View/PreVoteView.swift @@ -9,7 +9,6 @@ import SwiftUI import BattleDomainInterface import ComposableArchitecture -import Kingfisher import PickeDesignKit import PickeSharedUI @@ -126,10 +125,7 @@ extension PreVoteView { if let urlString = battle.backgroundImageURL, let url = URL(string: urlString) { - KFImage(url) - .placeholder { SkeletonView(.round()) } - .resizable() - .scaledToFill() + PickeRemoteImage(url: url) } else { Color.neutral200 } @@ -322,16 +318,14 @@ extension PreVoteView { } private func avatarView(imageURL: String) -> some View { - KFImage(URL(string: imageURL)) - .placeholder { - SkeletonView(.round()) - .frame(width: 28, height: 20) - } - .resizable() - .scaledToFit() - .frame(width: 28, height: 20) - .frame(width: 40, height: 40) - .background(.beige600, in: Circle()) + PickeRemoteImage(url: imageURL) { + SkeletonView(.round()) + .frame(width: 28, height: 20) + } + .content(.fit) + .frame(width: 28, height: 20) + .frame(width: 40, height: 40) + .background(.beige600, in: Circle()) } @ViewBuilder diff --git a/Projects/Feature/Hifi/Project.swift b/Projects/Feature/Hifi/Project.swift index 7ce2c212..c177cc0b 100644 --- a/Projects/Feature/Hifi/Project.swift +++ b/Projects/Feature/Hifi/Project.swift @@ -12,6 +12,7 @@ let project = Project.configure( dependencies: [ .domain(.battle, .interface), .ui(.designKit), + .ui(.sharedUI), .core(.coreUtility), .service(.analytics, .interface), .core(.thirdParty), diff --git a/Projects/Feature/Hifi/Sources/View/HifiView.swift b/Projects/Feature/Hifi/Sources/View/HifiView.swift index 0eafc2e4..666fa931 100644 --- a/Projects/Feature/Hifi/Sources/View/HifiView.swift +++ b/Projects/Feature/Hifi/Sources/View/HifiView.swift @@ -5,12 +5,12 @@ import SwiftUI +import Ad import ComposableArchitecture import HomeDomainInterface -import Kingfisher -import PickeDesignKit +import PickeSharedUI import PickeCoreUtility -import Ad +import PickeDesignKit @ViewAction(for: HifiFeature.self) public struct HifiView: View { @@ -269,10 +269,7 @@ private extension HifiView { func thumbnail(_ url: String?) -> some View { Group { if let url, let imageURL = URL(string: url) { - KFImage(imageURL) - .placeholder { Color.beige600 } - .resizable() - .scaledToFill() + PickeRemoteImage(url: imageURL) { Color.beige600 } } else { Color.beige600 } diff --git a/Projects/Feature/Home/Sources/Main/View/Components/HeroCarouselView.swift b/Projects/Feature/Home/Sources/Main/View/Components/HeroCarouselView.swift index d02cfe4b..8aeb3dd4 100644 --- a/Projects/Feature/Home/Sources/Main/View/Components/HeroCarouselView.swift +++ b/Projects/Feature/Home/Sources/Main/View/Components/HeroCarouselView.swift @@ -10,7 +10,7 @@ import SwiftUI import HomeDomainInterface import PickeDesignKit -import Kingfisher +import PickeSharedUI /// 최상단 Editor Pick 캐러셀. 좌우 스와이프 + 3초마다 자동 스크롤, 마지막 뒤엔 처음으로 wrap. struct HeroCarouselView: View { @@ -106,10 +106,7 @@ struct HeroCardView: View { .fill(.neutral500.opacity(0.4)) if let url = hero.thumbnailURL { - KFImage(url) - .placeholder { SkeletonView(.round()) } - .resizable() - .aspectRatio(contentMode: .fill) + PickeRemoteImage(url: url) .frame( width: proxy.size.width, height: proxy.size.height, diff --git a/Projects/Feature/Home/Sources/Main/View/Components/HotBattleCardView.swift b/Projects/Feature/Home/Sources/Main/View/Components/HotBattleCardView.swift index 376a1567..8413c978 100644 --- a/Projects/Feature/Home/Sources/Main/View/Components/HotBattleCardView.swift +++ b/Projects/Feature/Home/Sources/Main/View/Components/HotBattleCardView.swift @@ -10,7 +10,7 @@ import SwiftUI import HomeDomainInterface import PickeDesignKit -import Kingfisher +import PickeSharedUI /// "지금 뜨는 배틀" 가로 스크롤 카드 (220 wide). struct HotBattleCardView: View { @@ -47,10 +47,7 @@ struct HotBattleCardView: View { // QA-43: Figma node 3888-3736 기준 — height 140, border 4pt(.borderBeigeSelected), radius 2. Group { if let url = battle.thumbnailURL { - KFImage(url) - .placeholder { SkeletonView(.round()) } - .resizable() - .scaledToFill() + PickeRemoteImage(url: url) } else { Rectangle() .fill(.beige500) diff --git a/Projects/Feature/Home/Sources/Main/View/Components/NewBattleCardView.swift b/Projects/Feature/Home/Sources/Main/View/Components/NewBattleCardView.swift index 0db594db..a33222dc 100644 --- a/Projects/Feature/Home/Sources/Main/View/Components/NewBattleCardView.swift +++ b/Projects/Feature/Home/Sources/Main/View/Components/NewBattleCardView.swift @@ -10,7 +10,7 @@ import SwiftUI import HomeDomainInterface import PickeDesignKit -import Kingfisher +import PickeSharedUI /// "새로운 배틀" 리스트 카드 (.pen `Card/BattleListCard` 의 thumbnail 제외 구성). struct NewBattleCardView: View { @@ -131,10 +131,8 @@ extension NewBattleCardView { .fill(.beige600) .frame(width: 40, height: 40) if let imageURL { - KFImage(imageURL) - .placeholder { SkeletonView(.round(cornerRadius: 20)) } - .resizable() - .scaledToFit() + PickeRemoteImage(url: imageURL, shape: .round(cornerRadius: 20)) + .content(.fit) .frame(width: 20, height: 38) } } diff --git a/Projects/Feature/Profile/Sources/ContentActivity/View/ContentActivityView.swift b/Projects/Feature/Profile/Sources/ContentActivity/View/ContentActivityView.swift index e30b5f29..1e41d077 100644 --- a/Projects/Feature/Profile/Sources/ContentActivity/View/ContentActivityView.swift +++ b/Projects/Feature/Profile/Sources/ContentActivity/View/ContentActivityView.swift @@ -6,10 +6,9 @@ import SwiftUI import ComposableArchitecture -import Kingfisher +import PickeCoreUtility import PickeDesignKit import PickeSharedUI -import PickeCoreUtility import ProfileDomainInterface @ViewAction(for: ContentActivityFeature.self) @@ -188,9 +187,8 @@ private extension ContentActivityView { // 디자인(Z5YAW): 항상 beige600 원 배경 위에 캐릭터/기본 아이콘. ZStack { if !author.characterImageURL.isEmpty, let url = URL(string: author.characterImageURL) { - KFImage(url) - .resizable() - .scaledToFit() + PickeRemoteImage(url: url) { EmptyView() } + .content(.fit) .padding(3) } else { Image(systemName: "cat.fill") diff --git a/Projects/Feature/Profile/Sources/Main/View/ProfileView.swift b/Projects/Feature/Profile/Sources/Main/View/ProfileView.swift index 0a04eb56..598bcb69 100644 --- a/Projects/Feature/Profile/Sources/Main/View/ProfileView.swift +++ b/Projects/Feature/Profile/Sources/Main/View/ProfileView.swift @@ -5,11 +5,10 @@ import SwiftUI +import Ad import ComposableArchitecture -import Kingfisher import PickeDesignKit import PickeSharedUI -import Ad @ViewAction(for: ProfileFeature.self) public struct ProfileView: View { @@ -128,9 +127,8 @@ private extension ProfileView { // 디자인(oFtBQ): 항상 beige600 원 배경 위에 캐릭터 이미지/기본 아이콘을 올린다. ZStack { if let urlString = store.profileImageURL, let url = URL(string: urlString) { - KFImage(url) - .resizable() - .scaledToFit() + PickeRemoteImage(url: url) { EmptyView() } + .content(.fit) .padding(4) } else { Image(systemName: "cat.fill") @@ -207,9 +205,8 @@ private extension ProfileView { .scaledToFit() .frame(width: 20, height: 20) } else if let urlString = store.philosopherImageURL, let url = URL(string: urlString) { - KFImage(url) - .resizable() - .scaledToFit() + PickeRemoteImage(url: url) { EmptyView() } + .content(.fit) .padding(4) } else { Image(systemName: "brain.head.profile") diff --git a/Projects/UI/PickeSharedUI/Sources/Avatar/PickeAvatarView.swift b/Projects/UI/PickeSharedUI/Sources/Avatar/PickeAvatarView.swift index c2b30179..6cfa7d77 100644 --- a/Projects/UI/PickeSharedUI/Sources/Avatar/PickeAvatarView.swift +++ b/Projects/UI/PickeSharedUI/Sources/Avatar/PickeAvatarView.swift @@ -5,7 +5,6 @@ import SwiftUI -import Kingfisher /// 원형 아바타. 이미지가 없으면 이름 첫 글자를 대신 보여준다. public struct PickeAvatarView: View { @@ -34,10 +33,7 @@ public struct PickeAvatarView: View { @ViewBuilder private func avatarContent() -> some View { if let imageURL, let url = URL(string: imageURL) { - KFImage(url) - .placeholder { Color.beige600 } - .resizable() - .scaledToFill() + PickeRemoteImage(url: url) { Color.beige600 } .frame(width: 24, height: 24) .scaleEffect(imageScale) } else { From 031738cb5a4dde003c50e033e9fa6294616694cf Mon Sep 17 00:00:00 2001 From: Roy Date: Mon, 7 Sep 2026 12:58:27 +0900 Subject: [PATCH 44/83] =?UTF-8?q?refactor(core):=20=EB=82=A0=EC=A7=9C=20?= =?UTF-8?q?=ED=8F=AC=EB=A7=B7=EC=9D=84=20AppDateFormat=20=ED=83=80?= =?UTF-8?q?=EC=9E=85=EC=9C=BC=EB=A1=9C=20=ED=86=B5=EC=9D=BC=ED=95=9C?= =?UTF-8?q?=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Attendance-iOS 의 DDDCoreUtility 와 같은 구조로 맞춘다. - AppDateFormat enum + 캐시된 DateFormatter, 문자열 왕복 검증 도입 - 문자열 포맷 인자를 받던 Date.toString(format:) 제거 - PickeNetwork 에 중복돼 있던 ServerNaiveDateParser 를 ServerDateParser 로 흡수 (마이크로초 포맷 폴백 포함) - 날짜 파일을 Sources/Date/ 로 이동 --- .../Sources/Date/AppDateFormat.swift | 113 ++++++++++++++++++ .../Sources/{Extension => Date}/Date+.swift | 10 +- .../Sources/Date/ServerDateParser.swift | 35 ++++++ .../Header/APIHeaderManger.swift | 0 .../Interface/Response/APIErrorDTO.swift | 28 ----- .../Interface/Response/BaseDataDTO.swift | 12 -- .../Interface/Response/BaseResponseDTO.swift | 32 ----- .../Response/ServerNaiveDateParser.swift | 24 ---- Projects/Domain/ProfileDomain/Project.swift | 1 + .../Model/Mapper/CreditHistoryDataDTO+.swift | 16 +-- ...stomConfirmationPopupView+Components.swift | 0 .../CustomConfirmationPopupView+Content.swift | 0 .../CustomConfirmationPopupView.swift | 0 13 files changed, 154 insertions(+), 117 deletions(-) create mode 100644 Projects/Core/PickeCoreUtility/Sources/Date/AppDateFormat.swift rename Projects/Core/PickeCoreUtility/Sources/{Extension => Date}/Date+.swift (72%) create mode 100644 Projects/Core/PickeCoreUtility/Sources/Date/ServerDateParser.swift rename Projects/Core/PickeNetwork/{Sources => Interface}/Header/APIHeaderManger.swift (100%) delete mode 100644 Projects/Core/PickeNetwork/Interface/Response/APIErrorDTO.swift delete mode 100644 Projects/Core/PickeNetwork/Interface/Response/BaseDataDTO.swift delete mode 100644 Projects/Core/PickeNetwork/Interface/Response/BaseResponseDTO.swift delete mode 100644 Projects/Core/PickeNetwork/Interface/Response/ServerNaiveDateParser.swift rename Projects/UI/{PickeDesignKit/Sources/UI => PickeSharedUI/Sources}/Alert/CustomPopup/CustomConfirmationPopupView+Components.swift (100%) rename Projects/UI/{PickeDesignKit/Sources/UI => PickeSharedUI/Sources}/Alert/CustomPopup/CustomConfirmationPopupView+Content.swift (100%) rename Projects/UI/{PickeDesignKit/Sources/UI => PickeSharedUI/Sources}/Alert/CustomPopup/CustomConfirmationPopupView.swift (100%) diff --git a/Projects/Core/PickeCoreUtility/Sources/Date/AppDateFormat.swift b/Projects/Core/PickeCoreUtility/Sources/Date/AppDateFormat.swift new file mode 100644 index 00000000..2918a208 --- /dev/null +++ b/Projects/Core/PickeCoreUtility/Sources/Date/AppDateFormat.swift @@ -0,0 +1,113 @@ +// +// AppDateFormat.swift +// PickeCoreUtility +// + +import Foundation + +public enum AppDateFormat: String, CaseIterable, Sendable { + case dateTime = "yyyy-MM-dd HH:mm:ss" + case yearMonthDay = "yyyy-MM-dd" + case fullKoreanDate = "yyyy년 MM월 dd일" + case yearMonthDayDotted = "yyyy.MM.dd" + /// 0 을 채우지 않는 점 표기 (예: 2026.4.10) + case yearMonthDayDotShort = "yyyy.M.d" + /// 타임존 없이 내려오는 서버 시각 (LocalDateTime) + case serverDateTime = "yyyy-MM-dd'T'HH:mm:ss" + case serverDateTimeMillis = "yyyy-MM-dd'T'HH:mm:ss.SSS" + case serverDateTimeMicros = "yyyy-MM-dd'T'HH:mm:ss.SSSSSS" +} + +enum AppDateFormatter { + private static let locale = Locale(identifier: "en_US_POSIX") + private static let timeZone = TimeZone(identifier: "Asia/Seoul") ?? .gmt + private static let calendar = Calendar(identifier: .gregorian) + + /// 서버 날짜 문자열 파싱 전용 + static let parser: DateFormatter = { + let formatter = DateFormatter() + formatter.locale = locale + formatter.timeZone = timeZone + formatter.calendar = calendar + formatter.dateFormat = AppDateFormat.dateTime.rawValue + return formatter + }() + + /// 화면 출력 전용 + private static let formatters: [AppDateFormat: DateFormatter] = Dictionary( + uniqueKeysWithValues: AppDateFormat.allCases.map { format in + let formatter = DateFormatter() + formatter.locale = locale + formatter.timeZone = timeZone + formatter.calendar = calendar + formatter.dateFormat = format.rawValue + + return (format, formatter) + } + ) + + static subscript(format: AppDateFormat) -> DateFormatter { + formatters[format]! + } + + /// DateFormatter가 다른 구분자까지 관대하게 허용하지 않도록 문자열 왕복 결과를 검사한다. + static func date(from value: String, format: AppDateFormat) -> Date? { + let formatter = self[format] + guard let date = formatter.date(from: value), formatter.string(from: date) == value else { + return nil + } + return date + } + + static func date( + from value: String, + format: AppDateFormat, + timeZone: TimeZone + ) -> Date? { + let formatter = DateFormatter() + formatter.locale = locale + formatter.timeZone = timeZone + formatter.calendar = calendar + formatter.dateFormat = format.rawValue + + guard let date = formatter.date(from: value), formatter.string(from: date) == value else { + return nil + } + return date + } +} + +public extension String { + var date: Date? { + guard + let date = AppDateFormatter.parser.date(from: self), + AppDateFormatter.parser.string(from: date) == self + else { + return nil + } + return date + } + + func date(as format: AppDateFormat) -> Date? { + AppDateFormatter.date(from: self, format: format) + } + + func date(as format: AppDateFormat, timeZone: TimeZone) -> Date? { + AppDateFormatter.date(from: self, format: format, timeZone: timeZone) + } +} + +public extension Date { + func formatted(_ format: AppDateFormat) -> String { + AppDateFormatter[format].string(from: self) + } + + func formatted(_ format: AppDateFormat, timeZone: TimeZone) -> String { + let formatter = DateFormatter() + formatter.locale = Locale(identifier: "en_US_POSIX") + formatter.timeZone = timeZone + formatter.calendar = Calendar(identifier: .gregorian) + formatter.dateFormat = format.rawValue + return formatter.string(from: self) + } +} diff --git a/Projects/Core/PickeCoreUtility/Sources/Extension/Date+.swift b/Projects/Core/PickeCoreUtility/Sources/Date/Date+.swift similarity index 72% rename from Projects/Core/PickeCoreUtility/Sources/Extension/Date+.swift rename to Projects/Core/PickeCoreUtility/Sources/Date/Date+.swift index 8e98db13..1747310b 100644 --- a/Projects/Core/PickeCoreUtility/Sources/Extension/Date+.swift +++ b/Projects/Core/PickeCoreUtility/Sources/Date/Date+.swift @@ -6,17 +6,9 @@ import Foundation public extension Date { - /// 지정 포맷 문자열로 변환 (ko_KR 고정). - func toString(format: String) -> String { - let formatter = DateFormatter() - formatter.locale = Locale(identifier: "ko_KR") - formatter.dateFormat = format - return formatter.string(from: self) - } - /// `yyyy.M.d` 형식 (예: 2026.4.10). var yearMonthDayDot: String { - toString(format: "yyyy.M.d") + formatted(.yearMonthDayDotShort) } /// 한국어 상대 시간 (방금 전 / N분 전 / N시간 전 / N일 전). diff --git a/Projects/Core/PickeCoreUtility/Sources/Date/ServerDateParser.swift b/Projects/Core/PickeCoreUtility/Sources/Date/ServerDateParser.swift new file mode 100644 index 00000000..bed37768 --- /dev/null +++ b/Projects/Core/PickeCoreUtility/Sources/Date/ServerDateParser.swift @@ -0,0 +1,35 @@ +// +// ServerDateParser.swift +// PickeCoreUtility +// + +import Foundation + +/// 서버 시간 문자열 파서. +/// +/// 서버가 `2026-05-22T13:28:16.697Z`(타임존 포함) 또는 +/// `2026-05-22T13:28:16.921763` / `2026-05-22T13:28:16`(타임존 없는 LocalDateTime) 을 +/// 섞어 내려주므로 ISO8601 을 먼저 시도하고 타임존 없는 포맷까지 폴백한다. +/// (기존엔 타임존 없는 문자열이 nil 로 파싱돼 모든 댓글이 "방금 전"으로 표시되던 버그) +public enum ServerDateParser { + /// 타임존 없는 서버 시각은 서버 기준시(KST) 벽시계로 해석한다. + private static let naiveFormats: [AppDateFormat] = [ + .serverDateTimeMicros, + .serverDateTimeMillis, + .serverDateTime, + ] + + public static func parse(_ value: String) -> Date? { + let isoFormatter = ISO8601DateFormatter() + isoFormatter.formatOptions = [.withInternetDateTime, .withFractionalSeconds] + if let date = isoFormatter.date(from: value) { return date } + isoFormatter.formatOptions = [.withInternetDateTime] + if let date = isoFormatter.date(from: value) { return date } + + // 마이크로초(`.921763`)는 Date 정밀도로 왕복이 안 되므로 왕복 검증 없이 파싱한다. + for format in naiveFormats { + if let date = AppDateFormatter[format].date(from: value) { return date } + } + return nil + } +} diff --git a/Projects/Core/PickeNetwork/Sources/Header/APIHeaderManger.swift b/Projects/Core/PickeNetwork/Interface/Header/APIHeaderManger.swift similarity index 100% rename from Projects/Core/PickeNetwork/Sources/Header/APIHeaderManger.swift rename to Projects/Core/PickeNetwork/Interface/Header/APIHeaderManger.swift diff --git a/Projects/Core/PickeNetwork/Interface/Response/APIErrorDTO.swift b/Projects/Core/PickeNetwork/Interface/Response/APIErrorDTO.swift deleted file mode 100644 index be527128..00000000 --- a/Projects/Core/PickeNetwork/Interface/Response/APIErrorDTO.swift +++ /dev/null @@ -1,28 +0,0 @@ -// -// APIErrorDTO.swift -// PickeNetworkInterface -// -// Created by Wonji Suh on 5/14/26. -// - -import Foundation - -/// 서버 공통 에러 응답 -/// ```json -/// "error": { -/// "code": "string", -/// "message": "string" -/// } -/// ``` -public struct APIErrorDTO: Decodable, Equatable { - public let code: String - public let message: String - - public init( - code: String, - message: String - ) { - self.code = code - self.message = message - } -} diff --git a/Projects/Core/PickeNetwork/Interface/Response/BaseDataDTO.swift b/Projects/Core/PickeNetwork/Interface/Response/BaseDataDTO.swift deleted file mode 100644 index 65578c8c..00000000 --- a/Projects/Core/PickeNetwork/Interface/Response/BaseDataDTO.swift +++ /dev/null @@ -1,12 +0,0 @@ -// -// BaseDataDTO.swift -// PickeNetworkInterface -// -// Created by Wonji Suh on 5/14/26. -// - -import Foundation - -/// `BaseResponseDTO` 의 `data` 필드에 들어갈 페이로드가 공통으로 채택하는 마커 프로토콜. -/// API 별 데이터 DTO 는 이 프로토콜을 채택해 `BaseResponseDTO` 와 안전하게 결합한다. -public protocol BaseDataDTO: Decodable, Equatable {} diff --git a/Projects/Core/PickeNetwork/Interface/Response/BaseResponseDTO.swift b/Projects/Core/PickeNetwork/Interface/Response/BaseResponseDTO.swift deleted file mode 100644 index 24525e0a..00000000 --- a/Projects/Core/PickeNetwork/Interface/Response/BaseResponseDTO.swift +++ /dev/null @@ -1,32 +0,0 @@ -// -// BaseResponseDTO.swift -// PickeNetworkInterface -// -// Created by Wonji Suh on 5/14/26. -// - -import Foundation - -/// 서버 공통 응답 봉투 -/// ```json -/// { -/// "statusCode": 0, -/// "data": { ... }, -/// "error": { "code": "...", "message": "..." } -/// } -/// ``` -public struct BaseResponseDTO: Decodable { - public let statusCode: Int - public let data: T? - public let error: APIErrorDTO? - - public init( - statusCode: Int, - data: T?, - error: APIErrorDTO? - ) { - self.statusCode = statusCode - self.data = data - self.error = error - } -} diff --git a/Projects/Core/PickeNetwork/Interface/Response/ServerNaiveDateParser.swift b/Projects/Core/PickeNetwork/Interface/Response/ServerNaiveDateParser.swift deleted file mode 100644 index b0bb4d5c..00000000 --- a/Projects/Core/PickeNetwork/Interface/Response/ServerNaiveDateParser.swift +++ /dev/null @@ -1,24 +0,0 @@ -// -// ServerNaiveDateParser.swift -// PickeNetworkInterface -// - -import Foundation - -public enum ServerNaiveDateParser { - private static let formats = [ - "yyyy-MM-dd'T'HH:mm:ss.SSSSSS", - "yyyy-MM-dd'T'HH:mm:ss", - ] - - public static func date(from value: String) -> Date? { - let formatter = DateFormatter() - formatter.locale = Locale(identifier: "en_US_POSIX") - formatter.timeZone = TimeZone(identifier: "Asia/Seoul") - for format in formats { - formatter.dateFormat = format - if let date = formatter.date(from: value) { return date } - } - return nil - } -} diff --git a/Projects/Domain/ProfileDomain/Project.swift b/Projects/Domain/ProfileDomain/Project.swift index 2625a0bc..5e7e0dcb 100644 --- a/Projects/Domain/ProfileDomain/Project.swift +++ b/Projects/Domain/ProfileDomain/Project.swift @@ -13,6 +13,7 @@ let project = Project.configure( .SPM.composableArchitecture, .service(.api), .service(.apiEndpoint), + .core(.coreUtility), .core(.network), .core(.network, .interface), .SPM.logMarco, diff --git a/Projects/Domain/ProfileDomain/Sources/Model/Mapper/CreditHistoryDataDTO+.swift b/Projects/Domain/ProfileDomain/Sources/Model/Mapper/CreditHistoryDataDTO+.swift index 928de206..f8538595 100644 --- a/Projects/Domain/ProfileDomain/Sources/Model/Mapper/CreditHistoryDataDTO+.swift +++ b/Projects/Domain/ProfileDomain/Sources/Model/Mapper/CreditHistoryDataDTO+.swift @@ -3,8 +3,10 @@ // ProfileDomain // -import PickeNetworkInterface import Foundation + +import PickeCoreUtility +import PickeNetworkInterface import ProfileDomainInterface public extension CreditHistoryDataDTO { @@ -24,17 +26,7 @@ public extension CreditHistoryItemDTO { creditType: creditType ?? "", amount: amount ?? 0, referenceId: referenceId, - createdAt: createdAt.flatMap(Self.parseISO8601) + createdAt: createdAt.flatMap(ServerDateParser.parse) ) } - - private static func parseISO8601(_ value: String) -> Date? { - let formatter = ISO8601DateFormatter() - formatter.formatOptions = [.withInternetDateTime, .withFractionalSeconds] - if let date = formatter.date(from: value) { return date } - formatter.formatOptions = [.withInternetDateTime] - if let date = formatter.date(from: value) { return date } - // 타임존 없이 내려오는 서버 시각(예: "2026-07-12T21:26:26.921763") — KST 벽시계로 해석. - return ServerNaiveDateParser.date(from: value) - } } diff --git a/Projects/UI/PickeDesignKit/Sources/UI/Alert/CustomPopup/CustomConfirmationPopupView+Components.swift b/Projects/UI/PickeSharedUI/Sources/Alert/CustomPopup/CustomConfirmationPopupView+Components.swift similarity index 100% rename from Projects/UI/PickeDesignKit/Sources/UI/Alert/CustomPopup/CustomConfirmationPopupView+Components.swift rename to Projects/UI/PickeSharedUI/Sources/Alert/CustomPopup/CustomConfirmationPopupView+Components.swift diff --git a/Projects/UI/PickeDesignKit/Sources/UI/Alert/CustomPopup/CustomConfirmationPopupView+Content.swift b/Projects/UI/PickeSharedUI/Sources/Alert/CustomPopup/CustomConfirmationPopupView+Content.swift similarity index 100% rename from Projects/UI/PickeDesignKit/Sources/UI/Alert/CustomPopup/CustomConfirmationPopupView+Content.swift rename to Projects/UI/PickeSharedUI/Sources/Alert/CustomPopup/CustomConfirmationPopupView+Content.swift diff --git a/Projects/UI/PickeDesignKit/Sources/UI/Alert/CustomPopup/CustomConfirmationPopupView.swift b/Projects/UI/PickeSharedUI/Sources/Alert/CustomPopup/CustomConfirmationPopupView.swift similarity index 100% rename from Projects/UI/PickeDesignKit/Sources/UI/Alert/CustomPopup/CustomConfirmationPopupView.swift rename to Projects/UI/PickeSharedUI/Sources/Alert/CustomPopup/CustomConfirmationPopupView.swift From fa183bc659607a674734096faf2867f1444e82cb Mon Sep 17 00:00:00 2001 From: Roy Date: Mon, 7 Sep 2026 12:58:40 +0900 Subject: [PATCH 45/83] =?UTF-8?q?refactor(network):=20PickeNetwork=20?= =?UTF-8?q?=EB=A5=BC=20Attendance=20=EB=84=A4=ED=8A=B8=EC=9B=8C=ED=81=AC?= =?UTF-8?q?=20=EA=B5=AC=EC=A1=B0=EB=A1=9C=20=EC=9D=B4=EC=8B=9D=ED=95=9C?= =?UTF-8?q?=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Moya 잔재였던 PickeTargetType/NetworkProviding 을 걷어내고 DDDNetwork 와 같은 계약으로 바꾼다. - Interface: PickeEndpoint/PickeDataRequest/PickeUploadRequest/PickeFileUploadRequest - Interface: PickeNetworkClient(send/sendResponse/upload) + networkClient DependencyKey - Interface: PickeCredential/CredentialStore/CredentialUpdating/TokenRefreshing/PickeAuthorization - Interface: PickeNetworkError 를 request/transport/response/decoding 4계층으로 - Sources: AuthenticationInterceptor 기반 401 자동 refresh(single-flight) - Sources: 응답 봉투를 클라이언트가 벗겨 페이로드만 돌려주고 error 는 ResponseError 로 던진다 - APIHeader 는 헤더 키 상수만 남기고 토큰 주입은 Authenticator 로 넘긴다 --- .../Interface/Auth/CredentialStore.swift | 17 ++ .../Interface/Auth/CredentialUpdating.swift | 13 + .../Interface/Auth/PickeAuthorization.swift | 15 + .../Interface/Auth/PickeCredential.swift | 37 +++ .../Interface/Auth/TokenProviding.swift | 55 ---- .../Interface/Auth/TokenRefreshing.swift | 12 + .../Interface/Client/NetworkProviding.swift | 30 -- .../Client/PickeFileUploadClient.swift | 14 + .../Interface/Client/PickeNetworkClient.swift | 9 + .../Interface/Client/PickeRequestClient.swift | 28 ++ .../Interface/Client/PickeUploadClient.swift | 12 + .../Dependency/NetworkClientDependency.swift | 62 ++++ .../Interface/Endpoint/PickeDataRequest.swift | 30 ++ .../Interface/Endpoint/PickeEndpoint.swift | 66 ++++ .../Endpoint/PickeFileUploadRequest.swift | 25 ++ .../Interface/Endpoint/PickeTargetType.swift | 62 ---- .../Endpoint/PickeUploadRequest.swift | 15 + .../Interface/Error/DecodingFailure.swift | 14 + .../Interface/Error/PickeNetworkError.swift | 18 ++ .../Interface/Error/RequestError.swift | 14 + .../Interface/Error/ResponseError.swift | 38 +++ .../Interface/Error/TransportError.swift | 18 ++ .../Interface/Header/APIHeader.swift | 66 +--- .../Interface/Header/APIHeaderManger.swift | 10 +- .../Interface/Model/PickeEmptyResponse.swift | 24 ++ .../Interface/Model/PickeHTTPResponse.swift | 17 ++ .../Interface/Model/PickeMultipartPart.swift | 39 +++ .../Sources/Auth/AuthorizingInterceptor.swift | 39 +++ .../Sources/Auth/CredentialUpdater.swift | 23 ++ .../Sources/Auth/PickeAuthenticator.swift | 59 ++++ .../Client/AlamofireNetworkProvider.swift | 95 ------ .../Sources/Client/NetworkClient.swift | 285 ++++++++++++++++++ .../PickeDataRequest+URLRequest.swift | 46 +++ .../Endpoint/PickeEndpoint+RetryPolicy.swift | 32 ++ .../Factory/NetworkClientFactory.swift | 40 +++ .../Factory/NetworkSessionRegistry.swift | 40 --- .../Sources/Factory/SessionFactory.swift | 55 ++-- .../Sources/Header/DefaultHeaders.swift | 20 ++ .../Sources/Model/ErrorBody.swift | 22 ++ .../Sources/Model/ResponseEnvelope.swift | 32 ++ 40 files changed, 1171 insertions(+), 377 deletions(-) create mode 100644 Projects/Core/PickeNetwork/Interface/Auth/CredentialStore.swift create mode 100644 Projects/Core/PickeNetwork/Interface/Auth/CredentialUpdating.swift create mode 100644 Projects/Core/PickeNetwork/Interface/Auth/PickeAuthorization.swift create mode 100644 Projects/Core/PickeNetwork/Interface/Auth/PickeCredential.swift delete mode 100644 Projects/Core/PickeNetwork/Interface/Auth/TokenProviding.swift create mode 100644 Projects/Core/PickeNetwork/Interface/Auth/TokenRefreshing.swift delete mode 100644 Projects/Core/PickeNetwork/Interface/Client/NetworkProviding.swift create mode 100644 Projects/Core/PickeNetwork/Interface/Client/PickeFileUploadClient.swift create mode 100644 Projects/Core/PickeNetwork/Interface/Client/PickeNetworkClient.swift create mode 100644 Projects/Core/PickeNetwork/Interface/Client/PickeRequestClient.swift create mode 100644 Projects/Core/PickeNetwork/Interface/Client/PickeUploadClient.swift create mode 100644 Projects/Core/PickeNetwork/Interface/Dependency/NetworkClientDependency.swift create mode 100644 Projects/Core/PickeNetwork/Interface/Endpoint/PickeDataRequest.swift create mode 100644 Projects/Core/PickeNetwork/Interface/Endpoint/PickeEndpoint.swift create mode 100644 Projects/Core/PickeNetwork/Interface/Endpoint/PickeFileUploadRequest.swift delete mode 100644 Projects/Core/PickeNetwork/Interface/Endpoint/PickeTargetType.swift create mode 100644 Projects/Core/PickeNetwork/Interface/Endpoint/PickeUploadRequest.swift create mode 100644 Projects/Core/PickeNetwork/Interface/Error/DecodingFailure.swift create mode 100644 Projects/Core/PickeNetwork/Interface/Error/PickeNetworkError.swift create mode 100644 Projects/Core/PickeNetwork/Interface/Error/RequestError.swift create mode 100644 Projects/Core/PickeNetwork/Interface/Error/ResponseError.swift create mode 100644 Projects/Core/PickeNetwork/Interface/Error/TransportError.swift create mode 100644 Projects/Core/PickeNetwork/Interface/Model/PickeEmptyResponse.swift create mode 100644 Projects/Core/PickeNetwork/Interface/Model/PickeHTTPResponse.swift create mode 100644 Projects/Core/PickeNetwork/Interface/Model/PickeMultipartPart.swift create mode 100644 Projects/Core/PickeNetwork/Sources/Auth/AuthorizingInterceptor.swift create mode 100644 Projects/Core/PickeNetwork/Sources/Auth/CredentialUpdater.swift create mode 100644 Projects/Core/PickeNetwork/Sources/Auth/PickeAuthenticator.swift delete mode 100644 Projects/Core/PickeNetwork/Sources/Client/AlamofireNetworkProvider.swift create mode 100644 Projects/Core/PickeNetwork/Sources/Client/NetworkClient.swift create mode 100644 Projects/Core/PickeNetwork/Sources/Endpoint/PickeDataRequest+URLRequest.swift create mode 100644 Projects/Core/PickeNetwork/Sources/Endpoint/PickeEndpoint+RetryPolicy.swift create mode 100644 Projects/Core/PickeNetwork/Sources/Factory/NetworkClientFactory.swift delete mode 100644 Projects/Core/PickeNetwork/Sources/Factory/NetworkSessionRegistry.swift create mode 100644 Projects/Core/PickeNetwork/Sources/Header/DefaultHeaders.swift create mode 100644 Projects/Core/PickeNetwork/Sources/Model/ErrorBody.swift create mode 100644 Projects/Core/PickeNetwork/Sources/Model/ResponseEnvelope.swift diff --git a/Projects/Core/PickeNetwork/Interface/Auth/CredentialStore.swift b/Projects/Core/PickeNetwork/Interface/Auth/CredentialStore.swift new file mode 100644 index 00000000..b0caf655 --- /dev/null +++ b/Projects/Core/PickeNetwork/Interface/Auth/CredentialStore.swift @@ -0,0 +1,17 @@ +// +// CredentialStore.swift +// PickeNetworkInterface +// + +import Foundation + +/// 토큰 저장소 추상. 앱이 구현(키체인 등)해 주입한다. +/// 클라이언트는 이걸 통해 토큰을 읽고, refresh 된 토큰을 다시 저장한다. +public protocol CredentialStore: Sendable { + /// 저장된 토큰 (없으면 nil) + func load() -> PickeCredential? + /// 토큰 저장 (refresh 후 영속화) + func save(_ credential: PickeCredential) + /// 토큰 삭제 (로그아웃 등) + func clear() +} diff --git a/Projects/Core/PickeNetwork/Interface/Auth/CredentialUpdating.swift b/Projects/Core/PickeNetwork/Interface/Auth/CredentialUpdating.swift new file mode 100644 index 00000000..559cf18a --- /dev/null +++ b/Projects/Core/PickeNetwork/Interface/Auth/CredentialUpdating.swift @@ -0,0 +1,13 @@ +// +// CredentialUpdating.swift +// PickeNetworkInterface +// + +import Foundation + +/// 인증 세션의 credential 을 외부에서 교체하는 핸들. +/// 인터셉터는 생성 시점의 credential 을 캐시하므로, 로그인 / 로그아웃 시점에 +/// 이 핸들로 세션에 반영해야 이후 요청에 새 토큰이 실린다. (nil 이면 credential 제거) +public protocol CredentialUpdating: Sendable { + func update(_ credential: PickeCredential?) +} diff --git a/Projects/Core/PickeNetwork/Interface/Auth/PickeAuthorization.swift b/Projects/Core/PickeNetwork/Interface/Auth/PickeAuthorization.swift new file mode 100644 index 00000000..509a185a --- /dev/null +++ b/Projects/Core/PickeNetwork/Interface/Auth/PickeAuthorization.swift @@ -0,0 +1,15 @@ +// +// PickeAuthorization.swift +// PickeNetworkInterface +// + +import Foundation + +/// 요청의 인증 정책. 토큰 부착 여부는 요청 시점에 credential 유무로 판단한다. +public enum PickeAuthorization: Sendable, Equatable { + /// 로그인 상태면 토큰 부착 + refresh/재시도, 아니면 토큰 없이 전송 (기본값) + case automatic + /// 인증 파이프라인 완전 우회 — 로그인 상태여도 토큰을 붙이지 않고, 401 에도 refresh 하지 않는다 + /// (로그인 / 회원가입 / refresh 자신 등) + case none +} diff --git a/Projects/Core/PickeNetwork/Interface/Auth/PickeCredential.swift b/Projects/Core/PickeNetwork/Interface/Auth/PickeCredential.swift new file mode 100644 index 00000000..1dad4478 --- /dev/null +++ b/Projects/Core/PickeNetwork/Interface/Auth/PickeCredential.swift @@ -0,0 +1,37 @@ +// +// PickeCredential.swift +// PickeNetworkInterface +// + +import Foundation + +import Alamofire + +/// 인증 토큰 묶음. +public struct PickeCredential: AuthenticationCredential, Sendable, Equatable { + public let accessToken: String + public let refreshToken: String + /// 액세스 토큰 만료 시각 (nil 이면 만료 판정 안 함 — 401 을 받고 나서야 갱신한다) + public let expiresAt: Date? + /// 만료 직전 미리 갱신할 여유 시간(초). 만료 round-trip / 401 을 피하려고 둔다. + public let refreshLeeway: TimeInterval + + public init( + accessToken: String, + refreshToken: String, + expiresAt: Date? = nil, + refreshLeeway: TimeInterval = 5 * 60 + ) { + self.accessToken = accessToken + self.refreshToken = refreshToken + self.expiresAt = expiresAt + self.refreshLeeway = refreshLeeway + } + + /// 만료(leeway 포함) 임박 시 refresh 필요. + /// Alamofire `AuthenticationInterceptor` 가 요청 전에 이 값을 검사해 401 을 받기 전에 미리 갱신한다. + public var requiresRefresh: Bool { + guard let expiresAt else { return false } + return Date() >= expiresAt.addingTimeInterval(-refreshLeeway) + } +} diff --git a/Projects/Core/PickeNetwork/Interface/Auth/TokenProviding.swift b/Projects/Core/PickeNetwork/Interface/Auth/TokenProviding.swift deleted file mode 100644 index 19a4d63d..00000000 --- a/Projects/Core/PickeNetwork/Interface/Auth/TokenProviding.swift +++ /dev/null @@ -1,55 +0,0 @@ -// -// TokenProviding.swift -// PickeNetworkInterface -// -// Created by Wonji Suh on 1/2/26. -// - -import Foundation - -import Dependencies -import WeaveDI - -public protocol TokenProviding: Sendable { - func accessToken() -> String? - func saveAccessToken(_ token: String) - func clearAccessToken() -} - -private enum TokenProviderKey: DependencyKey { - static var liveValue: TokenProviding { - UnifiedDI.resolve(TokenProviding.self) ?? InMemoryTokenProvider() - } -} - -public extension DependencyValues { - var tokenProvider: TokenProviding { - get { self[TokenProviderKey.self] } - set { self[TokenProviderKey.self] = newValue } - } -} - -public final class InMemoryTokenProvider: TokenProviding, @unchecked Sendable { - private var storage: String? - private let lock = NSLock() - - public init() {} - - public func accessToken() -> String? { - lock.lock() - defer { lock.unlock() } - return storage - } - - public func saveAccessToken(_ token: String) { - lock.lock() - storage = token - lock.unlock() - } - - public func clearAccessToken() { - lock.lock() - storage = nil - lock.unlock() - } -} diff --git a/Projects/Core/PickeNetwork/Interface/Auth/TokenRefreshing.swift b/Projects/Core/PickeNetwork/Interface/Auth/TokenRefreshing.swift new file mode 100644 index 00000000..420640bc --- /dev/null +++ b/Projects/Core/PickeNetwork/Interface/Auth/TokenRefreshing.swift @@ -0,0 +1,12 @@ +// +// TokenRefreshing.swift +// PickeNetworkInterface +// + +import Foundation + +/// 토큰 refresh 추상. refresh API 호출은 앱(Repository)이 구현한다. +/// 401 또는 만료 임박 시 Alamofire `Authenticator` 가 이 메서드로 새 토큰을 받는다. +public protocol TokenRefreshing: Sendable { + func refresh(_ current: PickeCredential) async throws(PickeNetworkError) -> PickeCredential +} diff --git a/Projects/Core/PickeNetwork/Interface/Client/NetworkProviding.swift b/Projects/Core/PickeNetwork/Interface/Client/NetworkProviding.swift deleted file mode 100644 index 2f0ac2db..00000000 --- a/Projects/Core/PickeNetwork/Interface/Client/NetworkProviding.swift +++ /dev/null @@ -1,30 +0,0 @@ -// -// NetworkProviding.swift -// PickeNetwork -// - -import Foundation - - -/// Moya `Response` 를 대체하는 경량 응답 래퍼(디코딩 전 원시 응답). -/// `requestResponse` 사용처(로그아웃/탈퇴)가 `statusCode`/`data` 만 참조하므로 그 둘만 담는다. -public struct PickeResponse: Sendable { - public let statusCode: Int - public let data: Data - - public init(statusCode: Int, data: Data) { - self.statusCode = statusCode - self.data = data - } -} - -/// feature Service(`PickeTargetType`) 단위의 네트워크 요청 실행 추상. -public protocol NetworkProviding { - associatedtype Target: PickeTargetType - - /// 응답을 `Decodable` 로 디코딩해 반환. - func request(_ target: Target) async throws -> D - - /// 원시 응답 반환(디코딩 전). - func requestResponse(_ target: Target) async throws -> PickeResponse -} diff --git a/Projects/Core/PickeNetwork/Interface/Client/PickeFileUploadClient.swift b/Projects/Core/PickeNetwork/Interface/Client/PickeFileUploadClient.swift new file mode 100644 index 00000000..1ecc341c --- /dev/null +++ b/Projects/Core/PickeNetwork/Interface/Client/PickeFileUploadClient.swift @@ -0,0 +1,14 @@ +// +// PickeFileUploadClient.swift +// PickeNetworkInterface +// + +import Foundation + +/// presigned URL 원본 바이트 업로드 진입점. +/// 앱 서버 응답 규약을 타지 않는 스토리지 직접 업로드라, 일반 요청·멀티파트와 분리한다. +public protocol PickeFileUploadClient: Sendable { + /// presigned URL 에 원본 바이트를 PUT 업로드한다. + /// 응답 본문은 사용하지 않으며 성공은 HTTP 2xx 로 판정한다. + func upload(_ request: some PickeFileUploadRequest) async throws(PickeNetworkError) +} diff --git a/Projects/Core/PickeNetwork/Interface/Client/PickeNetworkClient.swift b/Projects/Core/PickeNetwork/Interface/Client/PickeNetworkClient.swift new file mode 100644 index 00000000..f5033a95 --- /dev/null +++ b/Projects/Core/PickeNetwork/Interface/Client/PickeNetworkClient.swift @@ -0,0 +1,9 @@ +// +// PickeNetworkClient.swift +// PickeNetworkInterface +// + +import Foundation + +/// 일반 요청 / 멀티파트 업로드 / 파일 PUT 을 한 계약으로 묶은 네트워크 클라이언트. +public protocol PickeNetworkClient: PickeRequestClient, PickeUploadClient, PickeFileUploadClient {} diff --git a/Projects/Core/PickeNetwork/Interface/Client/PickeRequestClient.swift b/Projects/Core/PickeNetwork/Interface/Client/PickeRequestClient.swift new file mode 100644 index 00000000..31c3c957 --- /dev/null +++ b/Projects/Core/PickeNetwork/Interface/Client/PickeRequestClient.swift @@ -0,0 +1,28 @@ +// +// PickeRequestClient.swift +// PickeNetworkInterface +// + +import Foundation + +/// 네트워크 요청 진입점. +/// +/// 두 가지 선언 방식을 모두 받는다. +/// - 엔드포인트를 enum 으로 묶고 케이스마다 응답이 다를 때: `send(_:as:)` +/// `try await client.send(AuthService.login(provider: .apple, body: req), as: LoginDTO.self)` +/// - 요청 하나를 타입으로 만들어 응답까지 고정할 때: `send(_:)` +/// `try await client.send(FetchProfileRequest(id: 3))` +public protocol PickeRequestClient: Sendable { + /// 요청을 보내고 호출부가 지정한 타입으로 디코딩한다. + /// 한 enum 이 케이스마다 다른 응답을 가질 때 쓴다. + func send( + _ request: R, + as type: T.Type + ) async throws(PickeNetworkError) -> T + + /// 요청 타입에 선언된 `Response` 로 디코딩한다. + func send(_ request: R) async throws(PickeNetworkError) -> R.Response + + /// 상태 코드와 원시 바디를 호출부가 직접 해석해야 하는 요청에 사용한다. + func sendResponse(_ request: R) async throws(PickeNetworkError) -> PickeHTTPResponse +} diff --git a/Projects/Core/PickeNetwork/Interface/Client/PickeUploadClient.swift b/Projects/Core/PickeNetwork/Interface/Client/PickeUploadClient.swift new file mode 100644 index 00000000..590a67ba --- /dev/null +++ b/Projects/Core/PickeNetwork/Interface/Client/PickeUploadClient.swift @@ -0,0 +1,12 @@ +// +// PickeUploadClient.swift +// PickeNetworkInterface +// + +import Foundation + +/// 멀티파트 업로드 진입점. +public protocol PickeUploadClient: Sendable { + /// 멀티파트 요청을 전송하고 디코딩된 응답을 반환한다. + func upload(_ request: R) async throws(PickeNetworkError) -> R.Response +} diff --git a/Projects/Core/PickeNetwork/Interface/Dependency/NetworkClientDependency.swift b/Projects/Core/PickeNetwork/Interface/Dependency/NetworkClientDependency.swift new file mode 100644 index 00000000..b6e3d964 --- /dev/null +++ b/Projects/Core/PickeNetwork/Interface/Dependency/NetworkClientDependency.swift @@ -0,0 +1,62 @@ +// +// NetworkClientDependency.swift +// PickeNetworkInterface +// +// 네트워크 클라이언트의 DependencyKey. +// +// 실제 인증 클라이언트는 ServiceAssembly 가 `DependencyValues` 에 등록한다. +// Interface 모듈에는 계약과 테스트 기본값만 둔다. +// + +import Foundation + +import Dependencies + +public enum NetworkClientDependency: TestDependencyKey { + public static var testValue: any PickeNetworkClient { + UnimplementedNetworkClient() + } +} + +public extension DependencyValues { + var networkClient: any PickeNetworkClient { + get { self[NetworkClientDependency.self] } + set { self[NetworkClientDependency.self] = newValue } + } +} + +/// 테스트에서 클라이언트를 갈아끼우지 않은 채 네트워크를 타면 알려주는 기본값. +/// 조용히 빈 응답을 돌려주면 테스트가 통과해버려 누락을 놓친다. +public struct UnimplementedNetworkClient: PickeNetworkClient { + public init() {} + + public func send( + _: R, + as _: T.Type + ) async throws(PickeNetworkError) -> T { + reportUnimplemented() + } + + public func send(_: R) async throws(PickeNetworkError) -> R.Response { + reportUnimplemented() + } + + public func sendResponse(_: R) async throws(PickeNetworkError) -> PickeHTTPResponse { + reportUnimplemented() + } + + public func upload(_: R) async throws(PickeNetworkError) -> R.Response { + reportUnimplemented() + } + + public func upload(_: some PickeFileUploadRequest) async throws(PickeNetworkError) { + reportUnimplemented() + } + + private func reportUnimplemented() -> Never { + fatalError( + "networkClient 가 등록되지 않았다. 테스트라면 withDependencies 로 스텁을 넣고, " + + "앱이라면 ServiceAssembly 의 liveValue 등록을 확인할 것." + ) + } +} diff --git a/Projects/Core/PickeNetwork/Interface/Endpoint/PickeDataRequest.swift b/Projects/Core/PickeNetwork/Interface/Endpoint/PickeDataRequest.swift new file mode 100644 index 00000000..92267ae8 --- /dev/null +++ b/Projects/Core/PickeNetwork/Interface/Endpoint/PickeDataRequest.swift @@ -0,0 +1,30 @@ +// +// PickeDataRequest.swift +// PickeNetworkInterface +// + +import Foundation + +import Alamofire + +/// 일반(비-멀티파트) 요청. 엔드포인트 메타는 `PickeEndpoint`, 바디는 `parameters` 로 표현한다. +/// (Alamofire 의 DataRequest / UploadRequest 분류와 결을 맞춘 이름) +public protocol PickeDataRequest: PickeEndpoint { + /// 디코딩될 응답 타입 + associatedtype Response: Decodable & Sendable = PickeEmptyResponse + /// 요청 파라미터(Encodable). 쿼리 / 바디 위치는 인코더가 결정한다. + var parameters: (any Encodable & Sendable)? { get } + /// 파라미터 인코더 오버라이드. nil 이면 method 기준 기본(GET/DELETE 쿼리스트링, 그 외 JSON 바디). + /// 예: POST 인데 쿼리 파라미터가 필요하면 `URLEncodedFormParameterEncoder(destination: .queryString)`. + var parameterEncoder: ParameterEncoder? { get } +} + +public extension PickeDataRequest { + var parameters: (any Encodable & Sendable)? { + nil + } + + var parameterEncoder: ParameterEncoder? { + nil + } +} diff --git a/Projects/Core/PickeNetwork/Interface/Endpoint/PickeEndpoint.swift b/Projects/Core/PickeNetwork/Interface/Endpoint/PickeEndpoint.swift new file mode 100644 index 00000000..f489c72d --- /dev/null +++ b/Projects/Core/PickeNetwork/Interface/Endpoint/PickeEndpoint.swift @@ -0,0 +1,66 @@ +// +// PickeEndpoint.swift +// PickeNetworkInterface +// + +import Foundation + +@_exported import Alamofire + +/// 엔드포인트가 속한 도메인. base URL 과 도메인 경로 접두사를 묶는다. +/// (Picke 서버는 `api/v1/battles/` 처럼 도메인마다 경로 접두사가 달라 엔드포인트가 도메인을 들고 있는다.) +public protocol PickeDomainType: Sendable { + var baseURLString: String { get } + var url: String { get } +} + +/// 일반 요청(`PickeDataRequest`)·멀티파트 업로드(`PickeUploadRequest`)가 공유하는 엔드포인트 메타. +/// 바디 표현(parameters / parts)만 각 프로토콜이 따로 더한다. +/// +/// 응답 타입은 여기서 고정하지 않는다. 한 enum 이 케이스마다 다른 응답을 갖는 +/// Moya 식 선언(`case login` / `case logout`)을 그대로 쓸 수 있게 하기 위함이다. +/// 응답 타입까지 타입으로 묶고 싶으면 `PickeDataRequest` 를 쓴다. +public protocol PickeEndpoint { + /// 엔드포인트가 속한 도메인 (base URL + 경로 접두사) + var domain: any PickeDomainType { get } + /// 도메인 경로 뒤에 붙는 경로 (예: "3/participation") + var path: String { get } + /// HTTP 메서드 + var method: HTTPMethod { get } + /// 요청 헤더 (공통 헤더는 세션이 붙인다 — 여기엔 이 요청만의 헤더를 둔다) + var headers: HTTPHeaders { get } + /// 타임아웃(초). nil 이면 세션 기본값 사용. + var timeoutInterval: TimeInterval? { get } + /// 최대 재시도 횟수 (0 = 재시도 안 함) + var maxRetryAttempts: Int { get } + /// 인증 정책. 기본값 `.automatic` — 예외 엔드포인트만 선언한다. + var authorization: PickeAuthorization { get } +} + +public extension PickeEndpoint { + var headers: HTTPHeaders { + [:] + } + + var timeoutInterval: TimeInterval? { + nil + } + + /// 기본 재시도 횟수. + var maxRetryAttempts: Int { + 3 + } + + /// 기본 인증 정책 — 로그인 상태면 토큰 부착. + var authorization: PickeAuthorization { + .automatic + } + + /// `baseURLString + domain.url + path` 로 조합한 최종 URL. + func url() throws(PickeNetworkError) -> URL { + guard let base = URL(string: domain.baseURLString) else { + throw .request(.invalidURL) + } + return base.appendingPathComponent(domain.url + path) + } +} diff --git a/Projects/Core/PickeNetwork/Interface/Endpoint/PickeFileUploadRequest.swift b/Projects/Core/PickeNetwork/Interface/Endpoint/PickeFileUploadRequest.swift new file mode 100644 index 00000000..105370f0 --- /dev/null +++ b/Projects/Core/PickeNetwork/Interface/Endpoint/PickeFileUploadRequest.swift @@ -0,0 +1,25 @@ +// +// PickeFileUploadRequest.swift +// PickeNetworkInterface +// + +import Foundation + +/// presigned URL 에 원본 바이트를 PUT 업로드하는 요청. +/// 앱 서버 응답 규약을 타지 않는 스토리지 직접 업로드라 baseURL 을 쓰지 않고 URL 을 통째로 받는다. +public protocol PickeFileUploadRequest: Sendable { + /// 업로드 대상 presigned URL + var uploadURL: URL { get } + /// PUT 으로 실어 보낼 원본 바이트 + var body: Data { get } + /// 업로드 바이트의 MIME 타입 + var contentType: String { get } + /// 타임아웃(초). nil 이면 세션 기본값 사용. + var timeoutInterval: TimeInterval? { get } +} + +public extension PickeFileUploadRequest { + var timeoutInterval: TimeInterval? { + nil + } +} diff --git a/Projects/Core/PickeNetwork/Interface/Endpoint/PickeTargetType.swift b/Projects/Core/PickeNetwork/Interface/Endpoint/PickeTargetType.swift deleted file mode 100644 index 3995b02d..00000000 --- a/Projects/Core/PickeNetwork/Interface/Endpoint/PickeTargetType.swift +++ /dev/null @@ -1,62 +0,0 @@ -// -// PickeTargetType.swift -// PickeNetworkInterface -// - -import Foundation - -@_exported import Alamofire - -/// 엔드포인트의 도메인(base URL + 도메인 경로). -public protocol PickeDomainType { - var baseURLString: String { get } - var url: String { get } -} - -/// feature Service 가 conform 하는 요청 스펙. Moya 비의존. -public protocol PickeTargetType { - associatedtype Domain: PickeDomainType - var domain: Domain { get } - var urlPath: String { get } - var method: HTTPMethod { get } - var parameters: [String: Any]? { get } - var headers: [String: String]? { get } - /// 파라미터 인코딩. 기본은 method 기준(아래 default). 케이스별로 달라야 하는 Service 는 재정의한다. - var parameterEncoding: ParameterEncoding { get } -} - -public extension PickeTargetType { - /// 기본 헤더(APIHeader.baseHeader). Service 가 재정의 가능. - var headers: [String: String]? { APIHeader.baseHeader } - - /// 동작 보존: AsyncMoya BaseTargetType 은 GET 만 쿼리스트링, 그 외(POST/PATCH/DELETE)는 JSON 바디로 - /// 인코딩했다(예: AuthService.withdraw DELETE + token → JSON body). 그 규칙을 기본값으로 따른다. - /// (DeviceService.unregister 처럼 DELETE 인데 쿼리스트링이 필요한 케이스는 이 프로퍼티를 재정의) - var parameterEncoding: ParameterEncoding { - (method == .get) ? URLEncoding.queryString : JSONEncoding.default - } - - /// Alamofire 로 전송 가능한 `URLRequest` 생성. Moya `Endpoint` 를 대체. - /// 인코딩 위치는 method 기준(GET/DELETE 쿼리스트링, 그 외 JSON 바디) — Joongna JNNetwork 와 동일. - func asURLRequest() throws -> URLRequest { - guard let base = URL(string: domain.baseURLString) else { - throw PickeNetworkError.invalidBaseURL(domain.baseURLString) - } - let fullURL = base.appendingPathComponent(domain.url + urlPath) - var request = try URLRequest( - url: fullURL, - method: method, - headers: headers.map { HTTPHeaders($0) } - ) - if let parameters { - request = try parameterEncoding.encode(request, with: parameters) - } - return request - } -} - -public enum PickeNetworkError: Error { - case invalidBaseURL(String) - case emptyData - case statusCode(Int, Data) -} diff --git a/Projects/Core/PickeNetwork/Interface/Endpoint/PickeUploadRequest.swift b/Projects/Core/PickeNetwork/Interface/Endpoint/PickeUploadRequest.swift new file mode 100644 index 00000000..03e41fd7 --- /dev/null +++ b/Projects/Core/PickeNetwork/Interface/Endpoint/PickeUploadRequest.swift @@ -0,0 +1,15 @@ +// +// PickeUploadRequest.swift +// PickeNetworkInterface +// + +import Foundation + +/// 멀티파트 업로드 요청. 엔드포인트 메타는 `PickeEndpoint`, 바디는 `parts` 로 표현한다. +/// 실제 MultipartFormData 조립 / 전송은 구현(PickeNetwork)이 Alamofire 로 처리한다. +public protocol PickeUploadRequest: PickeEndpoint { + /// 디코딩될 응답 타입 + associatedtype Response: Decodable & Sendable = PickeEmptyResponse + /// 멀티파트 바디를 구성하는 파트들 + var parts: [PickeMultipartPart] { get } +} diff --git a/Projects/Core/PickeNetwork/Interface/Error/DecodingFailure.swift b/Projects/Core/PickeNetwork/Interface/Error/DecodingFailure.swift new file mode 100644 index 00000000..7d5cf672 --- /dev/null +++ b/Projects/Core/PickeNetwork/Interface/Error/DecodingFailure.swift @@ -0,0 +1,14 @@ +// +// DecodingFailure.swift +// PickeNetworkInterface +// + +import Foundation + +/// 응답 파싱 — 서버 객체를 클라 객체로 디코딩하다 실패. +public enum DecodingFailure: Error { + /// 본문을 기대한 요청인데 응답 바디가 비어 있음 (`PickeEmptyResponse` 가 아닌 경우) + case dataMissing + /// 디코딩 자체 실패 + case failed(any Error) +} diff --git a/Projects/Core/PickeNetwork/Interface/Error/PickeNetworkError.swift b/Projects/Core/PickeNetwork/Interface/Error/PickeNetworkError.swift new file mode 100644 index 00000000..92175f97 --- /dev/null +++ b/Projects/Core/PickeNetwork/Interface/Error/PickeNetworkError.swift @@ -0,0 +1,18 @@ +// +// PickeNetworkError.swift +// PickeNetworkInterface +// + +import Foundation + +/// 네트워크 도메인 에러. 요청 파이프라인의 "어느 단계"에서 깨졌는지로 분류한다. +public enum PickeNetworkError: Error { + /// 전송 전 — URLRequest 생성 / 파라미터 인코딩 단계 오류 + case request(RequestError) + /// 전송 중 — 연결 실패 / 타임아웃 / 취소 등 + case transport(TransportError) + /// 서버가 명시적으로 내려준 에러 응답 (4xx/5xx) + case response(ResponseError) + /// 응답 파싱 — 서버 객체를 클라 객체로 디코딩하다 실패 + case decoding(DecodingFailure) +} diff --git a/Projects/Core/PickeNetwork/Interface/Error/RequestError.swift b/Projects/Core/PickeNetwork/Interface/Error/RequestError.swift new file mode 100644 index 00000000..22c3d219 --- /dev/null +++ b/Projects/Core/PickeNetwork/Interface/Error/RequestError.swift @@ -0,0 +1,14 @@ +// +// RequestError.swift +// PickeNetworkInterface +// + +import Foundation + +/// 전송 전 — URLRequest 생성 / 파라미터 인코딩 단계 오류. +public enum RequestError: Error { + /// baseURL 이 없거나 경로 조합이 잘못됨 + case invalidURL + /// 파라미터 인코딩 실패 + case encodingFailed(any Error) +} diff --git a/Projects/Core/PickeNetwork/Interface/Error/ResponseError.swift b/Projects/Core/PickeNetwork/Interface/Error/ResponseError.swift new file mode 100644 index 00000000..d27ec843 --- /dev/null +++ b/Projects/Core/PickeNetwork/Interface/Error/ResponseError.swift @@ -0,0 +1,38 @@ +// +// ResponseError.swift +// PickeNetworkInterface +// + +import Foundation + +/// 서버가 명시적으로 내려준 에러 응답. +/// Picke 서버는 실패를 HTTP status(4xx/5xx)로 알리고 바디의 `error` 에 `{ code, message }` 를 담아 준다. +/// 사람에게 보여줄 문구는 `message`, 분기는 `code` 로 한다. +public struct ResponseError: Error, Sendable, Equatable { + /// HTTP status + public let httpStatus: Int + /// 서버 에러 코드 (예: "BATTLE_NOT_FOUND"). 없을 수 있다. + public let code: String? + /// 서버 에러 메시지 + public let message: String? + + public init( + httpStatus: Int, + code: String? = nil, + message: String? = nil + ) { + self.httpStatus = httpStatus + self.code = code + self.message = message + } + + /// 인증 실패 — 토큰 갱신/재로그인 분기용. + public var isUnauthorized: Bool { + httpStatus == 401 + } + + /// 5xx 인프라성 에러 여부 + public var isServerError: Bool { + (500 ..< 600).contains(httpStatus) + } +} diff --git a/Projects/Core/PickeNetwork/Interface/Error/TransportError.swift b/Projects/Core/PickeNetwork/Interface/Error/TransportError.swift new file mode 100644 index 00000000..e3a5ef79 --- /dev/null +++ b/Projects/Core/PickeNetwork/Interface/Error/TransportError.swift @@ -0,0 +1,18 @@ +// +// TransportError.swift +// PickeNetworkInterface +// + +import Foundation + +/// 전송 중 — 연결 / 타임아웃 / 취소 등 전송 자체 실패. +public enum TransportError: Error { + /// 네트워크 연결 없음 (오프라인 등) + case notConnected + /// 타임아웃 + case timedOut + /// 요청 취소 + case cancelled + /// 그 외 전송 실패 + case unknown(any Error) +} diff --git a/Projects/Core/PickeNetwork/Interface/Header/APIHeader.swift b/Projects/Core/PickeNetwork/Interface/Header/APIHeader.swift index c008bd6d..f6333799 100644 --- a/Projects/Core/PickeNetwork/Interface/Header/APIHeader.swift +++ b/Projects/Core/PickeNetwork/Interface/Header/APIHeader.swift @@ -6,70 +6,14 @@ // import Foundation -import WeaveDI -public struct APIHeader { +/// 요청 헤더 키 상수. +/// +/// 공통 헤더(Accept 등)는 세션이, `Authorization` 은 `PickeAuthenticator` 가 붙인다. +/// 여기엔 엔드포인트가 직접 헤더를 조립할 때 쓰는 키 이름만 둔다. +public enum APIHeader { public static let contentType = "Content-Type" public static let accessToken = "Authorization" public static let refreshToken = "X-Refresh-Token" public static let accept = "accept" - - @Dependency(\.tokenProvider) private static var tokenProvider - - public static var accessTokenKeyChain: String { - get { - let token = tokenProvider.accessToken() ?? "" - return token - } - set { updateAccessToken(newValue) } - } - - public static func updateAccessToken(_ token: String?) { - guard let newToken = token, !newToken.isEmpty else { - tokenProvider.clearAccessToken() - return - } - tokenProvider.saveAccessToken(newToken) - } - - public init() {} -} - -public extension APIHeader { - internal static func baseHeaders(_ headers: [String: String]?) -> [String: String] { - var baseHeaders = baseHeader - if let headers { - baseHeaders.merge(headers) { $1 } - } - return baseHeaders - } - - static var baseHeader: [String: String] { - [ - contentType: APIHeaderManger.contentType, - accessToken: "Bearer \(accessTokenKeyChain)", - accept: APIHeaderManger.contentType, - ] - } - - static var notAccessTokenHeader: [String: String] { - [ - contentType: APIHeaderManger.contentType, - accept: APIHeaderManger.contentType, - ] - } - - static var mutiPartbaseHeader: [String: String] { - [ - contentType: APIHeaderManger.multipartContentType, - accessToken: "Bearer \(accessTokenKeyChain)", - ] - } - - static var applebaseHeader: [String: String] { - [ - contentType: APIHeaderManger.contentType, - accept: APIHeaderManger.contentType, - ] - } } diff --git a/Projects/Core/PickeNetwork/Interface/Header/APIHeaderManger.swift b/Projects/Core/PickeNetwork/Interface/Header/APIHeaderManger.swift index c5eb99e5..c45d1511 100644 --- a/Projects/Core/PickeNetwork/Interface/Header/APIHeaderManger.swift +++ b/Projects/Core/PickeNetwork/Interface/Header/APIHeaderManger.swift @@ -8,10 +8,8 @@ import Foundation public enum APIHeaderManger { - - static let appPackageName: String = "-" - static let contentType: String = "application/json" - static let multipartContentType: String = "multipart/form-data" - static let contentAppleType: String = "application/x-www-form-urlencoded" - static let csrf: String = "BNazqxDLBzmlYFKCwAMMJYNcmkAq6kAt" + public static let appPackageName: String = "-" + public static let contentType: String = "application/json" + public static let multipartContentType: String = "multipart/form-data" + public static let contentAppleType: String = "application/x-www-form-urlencoded" } diff --git a/Projects/Core/PickeNetwork/Interface/Model/PickeEmptyResponse.swift b/Projects/Core/PickeNetwork/Interface/Model/PickeEmptyResponse.swift new file mode 100644 index 00000000..276debf7 --- /dev/null +++ b/Projects/Core/PickeNetwork/Interface/Model/PickeEmptyResponse.swift @@ -0,0 +1,24 @@ +// +// PickeEmptyResponse.swift +// PickeNetworkInterface +// + +import Foundation + +import Alamofire + +/// 본문(payload)이 없는 응답. 성공만 받으면 되는 요청(POST/DELETE 등)의 +/// `Response` 로 쓰면, 서버가 바디를 안 내려도 에러 없이 성공 처리된다. +/// +/// Alamofire 의 `EmptyResponse` 를 채택해, 응답 바디가 비었을 때 +/// 시리얼라이저가 값을 직접 만들어 성공으로 처리하게 한다. +public struct PickeEmptyResponse: Decodable, Sendable, EmptyResponse { + public init() {} + + /// 바디가 `{}` 가 아니어도(빈 배열·빈 문자열 등) 실패하지 않도록 키 컨테이너를 열지 않는다. + public init(from _: any Decoder) {} + + public static func emptyValue() -> PickeEmptyResponse { + PickeEmptyResponse() + } +} diff --git a/Projects/Core/PickeNetwork/Interface/Model/PickeHTTPResponse.swift b/Projects/Core/PickeNetwork/Interface/Model/PickeHTTPResponse.swift new file mode 100644 index 00000000..41707bd7 --- /dev/null +++ b/Projects/Core/PickeNetwork/Interface/Model/PickeHTTPResponse.swift @@ -0,0 +1,17 @@ +// +// PickeHTTPResponse.swift +// PickeNetworkInterface +// + +import Foundation + +/// 상태 코드와 원시 바디를 호출부가 직접 해석해야 할 때 쓰는 응답 래퍼(디코딩 전). +public struct PickeHTTPResponse: Sendable, Equatable { + public let statusCode: Int + public let data: Data + + public init(statusCode: Int, data: Data) { + self.statusCode = statusCode + self.data = data + } +} diff --git a/Projects/Core/PickeNetwork/Interface/Model/PickeMultipartPart.swift b/Projects/Core/PickeNetwork/Interface/Model/PickeMultipartPart.swift new file mode 100644 index 00000000..fb833d47 --- /dev/null +++ b/Projects/Core/PickeNetwork/Interface/Model/PickeMultipartPart.swift @@ -0,0 +1,39 @@ +// +// PickeMultipartPart.swift +// PickeNetworkInterface +// + +import Foundation + +/// 멀티파트 바디의 한 조각. (파일 또는 폼 필드) +/// Alamofire `MultipartFormData` 조립은 구현(PickeNetwork)이 맡는다. +public struct PickeMultipartPart: Sendable { + /// 파트 바이트의 출처 + public enum Source: Sendable { + /// 메모리 바이트 + case data(Data) + /// 파일 URL + case file(URL) + } + + /// 폼 필드 이름 + public let name: String + /// 파트 바이트 + public let source: Source + /// 파일 이름 (파일 파트일 때) + public let fileName: String? + /// MIME 타입 (예: "image/jpeg") + public let mimeType: String? + + public init( + name: String, + source: Source, + fileName: String? = nil, + mimeType: String? = nil + ) { + self.name = name + self.source = source + self.fileName = fileName + self.mimeType = mimeType + } +} diff --git a/Projects/Core/PickeNetwork/Sources/Auth/AuthorizingInterceptor.swift b/Projects/Core/PickeNetwork/Sources/Auth/AuthorizingInterceptor.swift new file mode 100644 index 00000000..075aebfa --- /dev/null +++ b/Projects/Core/PickeNetwork/Sources/Auth/AuthorizingInterceptor.swift @@ -0,0 +1,39 @@ +// +// AuthorizingInterceptor.swift +// PickeNetwork +// + +import Foundation + +import Alamofire + +/// 공유 `AuthenticationInterceptor` 를 감싸, credential 유무로 인증 파이프라인을 우회하는 조건부 래퍼. +/// 비로그인 상태에서 인터셉터가 `missingCredential` 로 요청을 실패시키는 걸 막는다. +struct AuthorizingInterceptor: RequestInterceptor { + let base: AuthenticationInterceptor + + func adapt( + _ urlRequest: URLRequest, + for session: Session, + completion: @escaping @Sendable (Result) -> Void + ) { + guard base.credential != nil else { + completion(.success(urlRequest)) + return + } + base.adapt(urlRequest, for: session, completion: completion) + } + + func retry( + _ request: Request, + for session: Session, + dueTo error: any Error, + completion: @escaping @Sendable (RetryResult) -> Void + ) { + guard base.credential != nil else { + completion(.doNotRetry) + return + } + base.retry(request, for: session, dueTo: error, completion: completion) + } +} diff --git a/Projects/Core/PickeNetwork/Sources/Auth/CredentialUpdater.swift b/Projects/Core/PickeNetwork/Sources/Auth/CredentialUpdater.swift new file mode 100644 index 00000000..b81ef019 --- /dev/null +++ b/Projects/Core/PickeNetwork/Sources/Auth/CredentialUpdater.swift @@ -0,0 +1,23 @@ +// +// CredentialUpdater.swift +// PickeNetwork +// + +import Foundation + +import Alamofire +import PickeNetworkInterface + +/// `AuthenticationInterceptor` 의 credential 을 교체하는 `CredentialUpdating` 구현. +/// 인터셉터 내부가 스레드 안전(@Protected)하므로 그대로 위임한다. +final class CredentialUpdater: CredentialUpdating, @unchecked Sendable { + private let interceptor: AuthenticationInterceptor + + init(interceptor: AuthenticationInterceptor) { + self.interceptor = interceptor + } + + func update(_ credential: PickeCredential?) { + interceptor.credential = credential + } +} diff --git a/Projects/Core/PickeNetwork/Sources/Auth/PickeAuthenticator.swift b/Projects/Core/PickeNetwork/Sources/Auth/PickeAuthenticator.swift new file mode 100644 index 00000000..5605aa42 --- /dev/null +++ b/Projects/Core/PickeNetwork/Sources/Auth/PickeAuthenticator.swift @@ -0,0 +1,59 @@ +// +// PickeAuthenticator.swift +// PickeNetwork +// + +import Foundation + +import Alamofire +import PickeNetworkInterface + +/// Alamofire `Authenticator` 구현. 토큰 주입 / refresh / 401 판정을 담당한다. +/// refresh 동시요청 중복 방지(single-flight)는 `AuthenticationInterceptor` 가 처리한다. +final class PickeAuthenticator: Authenticator { + typealias Credential = PickeCredential + + private let refresher: any TokenRefreshing + private let store: any CredentialStore + + init(refresher: any TokenRefreshing, store: any CredentialStore) { + self.refresher = refresher + self.store = store + } + + /// 요청에 Bearer 토큰 주입. + func apply(_ credential: PickeCredential, to urlRequest: inout URLRequest) { + urlRequest.headers.add(.authorization(bearerToken: credential.accessToken)) + } + + /// 만료 / 401 시 새 토큰 발급. async refresher 를 completion 으로 연결한다. + func refresh( + _ credential: PickeCredential, + for _: Session, + completion: @escaping @Sendable (Result) -> Void + ) { + Task { + do { + let renewed = try await refresher.refresh(credential) + store.save(renewed) // refresh 된 토큰 영속화 + completion(.success(renewed)) + } catch { + completion(.failure(error)) + } + } + } + + /// 401 이면 인증 에러로 간주 → refresh 트리거. + func didRequest( + _: URLRequest, + with response: HTTPURLResponse, + failDueToAuthenticationError _: any Error + ) -> Bool { + response.statusCode == 401 + } + + /// 요청의 Authorization 헤더가 현재 credential 토큰과 일치하는지. + func isRequest(_ urlRequest: URLRequest, authenticatedWith credential: PickeCredential) -> Bool { + urlRequest.headers["Authorization"] == HTTPHeader.authorization(bearerToken: credential.accessToken).value + } +} diff --git a/Projects/Core/PickeNetwork/Sources/Client/AlamofireNetworkProvider.swift b/Projects/Core/PickeNetwork/Sources/Client/AlamofireNetworkProvider.swift deleted file mode 100644 index adb02697..00000000 --- a/Projects/Core/PickeNetwork/Sources/Client/AlamofireNetworkProvider.swift +++ /dev/null @@ -1,95 +0,0 @@ -// -// AlamofireNetworkProvider.swift -// PickeNetwork -// - -import Foundation - -import Alamofire -import PickeNetworkInterface - -/// `NetworkProviding` 의 Alamofire 백엔드. -/// - `.authorized`: 인증 인터셉터가 얹힌 세션(대부분의 요청). -/// - `.default`: 인증 없는 세션(로그인/토큰 재발급 등 토큰이 아직 없는 요청). -public struct AlamofireNetworkProvider: NetworkProviding { - private let session: Session - private let decoder: JSONDecoder - - /// - Parameter session: 기본(nil)은 인증 세션(동작 보존). - public init( - session: Session? = nil, - decoder: JSONDecoder = JSONDecoder() - ) { - self.session = session ?? NetworkSessionRegistry.shared.authorizedSession() - self.decoder = decoder - } - - public func request(_ target: Target) async throws -> D { - let request = try target.asURLRequest() - let startedAt = Date() - let response = await session - .request(request) - .validate() - .serializingDecodable(D.self, decoder: decoder) - .response - recordTelemetry( - request: request, - response: response.response, - startedAt: startedAt, - isSuccess: response.error == nil - ) - return try response.result.get() - } - - public func requestResponse(_ target: Target) async throws -> PickeResponse { - let request = try target.asURLRequest() - let startedAt = Date() - let dataTask = session.request(request).serializingData() - let response = await dataTask.response - recordTelemetry( - request: request, - response: response.response, - startedAt: startedAt, - isSuccess: response.error == nil - ) - let data = try response.result.get() - return PickeResponse( - statusCode: response.response?.statusCode ?? 0, - data: data - ) - } - - private func recordTelemetry( - request: URLRequest, - response: HTTPURLResponse?, - startedAt: Date, - isSuccess: Bool - ) { - NetworkTelemetry.shared.record( - NetworkTelemetryEvent( - source: "alamofire", - method: request.httpMethod ?? "UNKNOWN", - url: request.url, - statusCode: response?.statusCode, - duration: Date().timeIntervalSince(startedAt), - isSuccess: isSuccess - ) - ) - } -} - -public extension AlamofireNetworkProvider { - /// 인증 세션(인터셉터 부착) 기반 provider. 기존 `MoyaProvider.authorized` 대체. - static var authorized: AlamofireNetworkProvider { - AlamofireNetworkProvider( - session: NetworkSessionRegistry.shared.authorizedSession() - ) - } - - /// 인증 없는 세션 기반 provider. 기존 `MoyaProvider.default` 대체. - static var `default`: AlamofireNetworkProvider { - AlamofireNetworkProvider( - session: NetworkSessionRegistry.shared.plainSession() - ) - } -} diff --git a/Projects/Core/PickeNetwork/Sources/Client/NetworkClient.swift b/Projects/Core/PickeNetwork/Sources/Client/NetworkClient.swift new file mode 100644 index 00000000..4946d360 --- /dev/null +++ b/Projects/Core/PickeNetwork/Sources/Client/NetworkClient.swift @@ -0,0 +1,285 @@ +// +// NetworkClient.swift +// PickeNetwork +// + +import Foundation + +import Alamofire +import PickeNetworkInterface + +/// Alamofire 기반 `PickeNetworkClient` 구현. +/// +/// 서버는 성공/실패를 HTTP status 로 알리고, 바디는 공통 봉투(`{ statusCode, data, error }`)에 담아 준다. +/// 봉투 해석은 이 클라이언트가 전담한다 — 호출부는 페이로드 DTO 만 받고, `error` 는 `ResponseError` 로 받는다. +final class NetworkClient: PickeNetworkClient { + /// 바디가 비어도 성공으로 볼 status. (201 Created / 202 Accepted / 204 No Content 등) + private static let emptyResponseCodes: Set = [200, 201, 202, 204, 205] + + /// 조립된 Alamofire 세션 + private let session: Session + /// 요청별 인증 조립용 공유 인터셉터. nil 이면 인증 파이프라인 없는 클라이언트(plain). + private let authorizing: AuthorizingInterceptor? + + init( + session: Session, + authorizing: AuthorizingInterceptor? = nil + ) { + self.session = session + self.authorizing = authorizing + } +} + +// MARK: - PickeRequestClient (일반 요청) + +extension NetworkClient: PickeRequestClient { + func send( + _ request: R, + as _: T.Type + ) async throws(PickeNetworkError) -> T { + let dataRequest = try makeDataRequest(request) + return try await handle(dataRequest, as: T.self) + } + + func send(_ request: R) async throws(PickeNetworkError) -> R.Response { + let dataRequest = try makeDataRequest(request) + return try await handle(dataRequest, as: R.Response.self) + } + + func sendResponse(_ request: R) async throws(PickeNetworkError) -> PickeHTTPResponse { + let dataRequest = try makeDataRequest(request) + let startedAt = Date() + let response = await dataRequest.serializingData(emptyResponseCodes: Self.emptyResponseCodes).response + Self.recordTelemetry(response: response.response, request: response.request, startedAt: startedAt, isSuccess: response.error == nil) + if let error = response.error, response.response == nil { + throw Self.mapFailure(error, data: response.data, status: -1) + } + return PickeHTTPResponse( + statusCode: response.response?.statusCode ?? -1, + data: response.data ?? Data() + ) + } + + /// 요청을 URLRequest 로 만들고 인증·재시도 인터셉터를 조립한다. 두 send 오버로드가 공유한다. + private func makeDataRequest(_ request: R) throws(PickeNetworkError) -> DataRequest { + // 1) PickeDataRequest → URLRequest (헤더 / 타임아웃 / 파라미터 인코딩) + let urlRequest: URLRequest + do { + urlRequest = try request.asURLRequest() + } catch let error as PickeNetworkError { + throw error + } catch { + throw .request(.encodingFailed(error)) + } + + // 2) 인증(요청의 authorization 정책)과 재시도를 요청별로 조립한다. + return session.request(urlRequest, interceptor: interceptor(for: request)) + } +} + +// MARK: - PickeUploadClient (멀티파트 업로드) + +extension NetworkClient: PickeUploadClient { + func upload(_ request: R) async throws(PickeNetworkError) -> R.Response { + let url = try request.url() + // escaping 클로저에는 Sendable 값만 캡처한다. + let parts = request.parts + let timeout = request.timeoutInterval + + // UploadRequest 는 DataRequest 의 하위 → 응답 처리(handle)를 그대로 공유한다. + let uploadRequest = session.upload( + multipartFormData: { form in parts.forEach { Self.append($0, to: form) } }, + to: url, + method: request.method, + headers: request.headers, + interceptor: interceptor(for: request), + requestModifier: { urlRequest in + if let timeout { urlRequest.timeoutInterval = timeout } + } + ) + return try await handle(uploadRequest, as: R.Response.self) + } +} + +// MARK: - PickeFileUploadClient (presigned 원본 바이트 PUT) + +extension NetworkClient: PickeFileUploadClient { + func upload(_ request: some PickeFileUploadRequest) async throws(PickeNetworkError) { + var urlRequest = URLRequest(url: request.uploadURL) + urlRequest.method = .put + urlRequest.httpBody = request.body + urlRequest.setValue(request.contentType, forHTTPHeaderField: APIHeader.contentType) + if let timeout = request.timeoutInterval { + urlRequest.timeoutInterval = timeout + } + + let response = await session.request(urlRequest, interceptor: request.retryPolicy) + .validate() + .serializingData(emptyResponseCodes: Self.emptyResponseCodes) + .response + + if case let .failure(afError) = response.result { + throw Self.mapFailure(afError, data: response.data, status: response.response?.statusCode ?? -1) + } + } +} + +// MARK: - 요청별 인터셉터 + +private extension NetworkClient { + /// 요청의 인증 정책에 따라 인터셉터를 조립한다. + func interceptor(for request: some PickeEndpoint) -> any RequestInterceptor { + guard let authorizing, request.authorization == .automatic else { + return request.retryPolicy + } + return Interceptor(interceptors: [authorizing, request.retryPolicy]) + } +} + +// MARK: - Response Handling (send / upload 공유) + +private extension NetworkClient { + /// 응답을 `T` 로 디코딩한다. 실패 판정은 `validate()` 의 HTTP status 검증이 맡고, + /// 실패 바디에 담긴 `{ code, message }` 는 `ResponseError` 로 살려 낸다. + func handle( + _ dataRequest: DataRequest, + as _: T.Type + ) async throws(PickeNetworkError) -> T { + let startedAt = Date() + let response = await dataRequest + .validate() + .serializingDecodable( + ResponseEnvelope.self, + emptyResponseCodes: Self.emptyResponseCodes + ) + .response + Self.recordTelemetry( + response: response.response, + request: response.request, + startedAt: startedAt, + isSuccess: response.error == nil + ) + + switch response.result { + case let .success(envelope): + return try Self.unwrap(envelope, status: response.response?.statusCode ?? -1) + case let .failure(afError): + throw Self.mapFailure(afError, data: response.data, status: response.response?.statusCode ?? -1) + } + } + + /// 봉투의 `error` 를 에러로 승격시키고, 없으면 페이로드를 꺼낸다. + /// HTTP 2xx 여도 `error` 가 채워져 있으면 실패로 본다 — 서버가 200 에 실패를 담아 보내는 경로가 있다. + static func unwrap( + _ envelope: ResponseEnvelope, + status: Int + ) throws(PickeNetworkError) -> T { + if let failure = envelope.error { + throw .response( + ResponseError( + httpStatus: envelope.statusCode ?? status, + code: failure.code, + message: failure.message + ) + ) + } + guard let data = envelope.data else { + // 페이로드를 기대하지 않는 요청(`PickeEmptyResponse`)은 빈 바디도 성공이다. + guard let empty = PickeEmptyResponse() as? T else { + throw .decoding(.dataMissing) + } + return empty + } + return data + } + + static func recordTelemetry( + response: HTTPURLResponse?, + request: URLRequest?, + startedAt: Date, + isSuccess: Bool + ) { + NetworkTelemetry.shared.record( + NetworkTelemetryEvent( + source: "alamofire", + method: request?.httpMethod ?? "UNKNOWN", + url: request?.url, + statusCode: response?.statusCode, + duration: Date().timeIntervalSince(startedAt), + isSuccess: isSuccess + ) + ) + } +} + +// MARK: - Multipart 매핑 + +private extension NetworkClient { + /// `PickeMultipartPart` → Alamofire `MultipartFormData` 한 파트 추가. + static func append(_ part: PickeMultipartPart, to form: MultipartFormData) { + switch part.source { + case let .data(data): + form.append(data, withName: part.name, fileName: part.fileName, mimeType: part.mimeType) + case let .file(url): + if let fileName = part.fileName, let mimeType = part.mimeType { + form.append(url, withName: part.name, fileName: fileName, mimeType: mimeType) + } else { + form.append(url, withName: part.name) + } + } + } +} + +// MARK: - Error 매핑 + +private extension NetworkClient { + /// `AFError` 를 파이프라인 단계별 `PickeNetworkError` 로 좁힌다. + static func mapFailure(_ error: AFError, data: Data?, status: Int) -> PickeNetworkError { + switch error { + // 상태코드 검증 실패 — 서버가 내려준 에러. 바디의 code/message 를 살린다. + case .responseValidationFailed(.unacceptableStatusCode): + let body = data.flatMap { try? JSONDecoder().decode(ErrorBody.self, from: $0) } + return .response( + ResponseError(httpStatus: status, code: body?.resolvedCode, message: body?.resolvedMessage) + ) + + // 응답 디코딩 실패 — PickeEventMonitor 가 원시 바디와 함께 로깅한다. + case let .responseSerializationFailed(.decodingFailed(decodingError)): + return .decoding(.failed(decodingError)) + + // 값을 기대했는데 바디가 비어 있음 + case .responseSerializationFailed(.inputDataNilOrZeroLength), + .responseSerializationFailed(.invalidEmptyResponse): + return .decoding(.dataMissing) + + // 서버가 JSON 아닌 응답을 줌 (콘텐츠 타입 불일치) + case .responseValidationFailed(.unacceptableContentType), + .responseValidationFailed(.missingContentType): + return .decoding(.failed(error)) + + // 전송 실패(오프라인 / 타임아웃 / 취소) 및 그 외(요청 적응·재시도 실패, TLS 등) + default: + return .transport(mapTransportError(error)) + } + } + + /// `AFError` → `TransportError` (연결 없음 / 타임아웃 / 취소 / 기타). + static func mapTransportError(_ error: AFError) -> TransportError { + if case .explicitlyCancelled = error { + return .cancelled + } + guard let urlError = error.underlyingError as? URLError else { + return .unknown(error) + } + switch urlError.code { + case .notConnectedToInternet, .dataNotAllowed, .networkConnectionLost: + return .notConnected + case .timedOut: + return .timedOut + case .cancelled: + return .cancelled + default: + return .unknown(error) + } + } +} diff --git a/Projects/Core/PickeNetwork/Sources/Endpoint/PickeDataRequest+URLRequest.swift b/Projects/Core/PickeNetwork/Sources/Endpoint/PickeDataRequest+URLRequest.swift new file mode 100644 index 00000000..a42ef9c2 --- /dev/null +++ b/Projects/Core/PickeNetwork/Sources/Endpoint/PickeDataRequest+URLRequest.swift @@ -0,0 +1,46 @@ +// +// PickeDataRequest+URLRequest.swift +// PickeNetwork +// + +import Foundation + +import Alamofire +import PickeNetworkInterface + +extension PickeDataRequest { + func asURLRequest() throws -> URLRequest { + var urlRequest = try URLRequest( + url: url(), + method: method, + headers: headers + ) + + if let timeoutInterval { + urlRequest.timeoutInterval = timeoutInterval + } + + guard let parameters else { return urlRequest } + return try encode(parameters, using: resolvedEncoder, into: urlRequest) + } + + /// 요청이 인코더를 오버라이드하면 그대로, 아니면 method 기준(GET/DELETE 쿼리스트링 · 그 외 JSON 바디). + private var resolvedEncoder: ParameterEncoder { + if let parameterEncoder { + return parameterEncoder + } + return (method == .get || method == .delete) + ? URLEncodedFormParameterEncoder.default + : JSONParameterEncoder.default + } + + /// 파라미터 인코딩. 호출부가 `any Encodable` 을 넘기면 이 제네릭 시점에 열린다(implicit opening). + /// 인코딩 실패는 raw 로 던지고, 호출부(NetworkClient)가 `.request(.encodingFailed)` 로 감싼다. + private func encode( + _ parameters: some Encodable & Sendable, + using encoder: ParameterEncoder, + into request: URLRequest + ) throws -> URLRequest { + try encoder.encode(parameters, into: request) + } +} diff --git a/Projects/Core/PickeNetwork/Sources/Endpoint/PickeEndpoint+RetryPolicy.swift b/Projects/Core/PickeNetwork/Sources/Endpoint/PickeEndpoint+RetryPolicy.swift new file mode 100644 index 00000000..d32025d8 --- /dev/null +++ b/Projects/Core/PickeNetwork/Sources/Endpoint/PickeEndpoint+RetryPolicy.swift @@ -0,0 +1,32 @@ +// +// PickeEndpoint+RetryPolicy.swift +// PickeNetwork +// + +import Foundation + +import Alamofire +import PickeNetworkInterface + +/// 429(Too Many Requests)까지 포함한 재시도 대상 status 집합. +private let retryableStatusCodes = RetryPolicy.defaultRetryableHTTPStatusCodes.union([429]) + +extension PickeEndpoint { + /// 요청별 재시도 정책. 횟수는 `maxRetryAttempts` 를 단일 출처로 쓴다. (send / upload 공유) + var retryPolicy: RetryPolicy { + RetryPolicy( + retryLimit: UInt(max(0, maxRetryAttempts)), + retryableHTTPStatusCodes: retryableStatusCodes + ) + } +} + +extension PickeFileUploadRequest { + /// presigned 업로드는 엔드포인트 메타가 없어 기본 횟수를 쓴다. + var retryPolicy: RetryPolicy { + RetryPolicy( + retryLimit: 3, + retryableHTTPStatusCodes: retryableStatusCodes + ) + } +} diff --git a/Projects/Core/PickeNetwork/Sources/Factory/NetworkClientFactory.swift b/Projects/Core/PickeNetwork/Sources/Factory/NetworkClientFactory.swift new file mode 100644 index 00000000..496b9093 --- /dev/null +++ b/Projects/Core/PickeNetwork/Sources/Factory/NetworkClientFactory.swift @@ -0,0 +1,40 @@ +// +// NetworkClientFactory.swift +// PickeNetwork +// + +import Foundation + +import Alamofire +import PickeNetworkInterface + +/// `PickeNetworkClient` 조립 진입점. 호출부는 이 팩토리만 알면 된다. +/// baseURL 은 엔드포인트의 `domain` 이 들고 있으므로 팩토리는 인증 조립만 책임진다. +public enum NetworkClientFactory { + /// 인증 없는 기본 클라이언트. (로그인 / 토큰 재발급처럼 토큰이 아직 없는 요청) + public static func plain(eventMonitors: [any EventMonitor] = []) -> any PickeNetworkClient { + NetworkClient(session: SessionFactory.plain(eventMonitors: eventMonitors)) + } + + /// 단일 클라이언트 — 요청의 `authorization` 정책에 따라 요청 시점에 인증 부착을 판단한다. + /// (`.automatic`: 로그인 상태면 토큰 부착, `.none`: 인증 파이프라인 우회) + /// + /// 반환된 `credentials` 로 로그인 / 로그아웃 시점의 토큰 교체를 세션에 반영해야 한다. + public static func unified( + store: any CredentialStore, + refresher: any TokenRefreshing, + eventMonitors: [any EventMonitor] = [] + ) -> (client: any PickeNetworkClient, credentials: any CredentialUpdating) { + let (authorizing, credentials) = SessionFactory.authorization( + store: store, + refresher: refresher + ) + return ( + NetworkClient( + session: SessionFactory.plain(eventMonitors: eventMonitors), + authorizing: authorizing + ), + credentials + ) + } +} diff --git a/Projects/Core/PickeNetwork/Sources/Factory/NetworkSessionRegistry.swift b/Projects/Core/PickeNetwork/Sources/Factory/NetworkSessionRegistry.swift deleted file mode 100644 index a79baf57..00000000 --- a/Projects/Core/PickeNetwork/Sources/Factory/NetworkSessionRegistry.swift +++ /dev/null @@ -1,40 +0,0 @@ -// -// NetworkSessionRegistry.swift -// PickeNetwork -// - -import Alamofire -import Foundation - -/// PickeNetwork 가 인증 구현체를 직접 알지 않도록 세션 조립 결과만 주입받는다. -public final class NetworkSessionRegistry: @unchecked Sendable { - public static let shared = NetworkSessionRegistry() - - private let lock = NSLock() - private var configuredAuthorizedSession: Session? - private var configuredPlainSession: Session? - - private init() {} - - public func configure( - authorizedSession: Session, - plainSession: Session - ) { - lock.withLock { - configuredAuthorizedSession = authorizedSession - configuredPlainSession = plainSession - } - } - - func authorizedSession() -> Session { - lock.withLock { - configuredAuthorizedSession - } ?? SessionFactory.plain() - } - - func plainSession() -> Session { - lock.withLock { - configuredPlainSession - } ?? SessionFactory.plain() - } -} diff --git a/Projects/Core/PickeNetwork/Sources/Factory/SessionFactory.swift b/Projects/Core/PickeNetwork/Sources/Factory/SessionFactory.swift index c1fec5c8..3c4c6c58 100644 --- a/Projects/Core/PickeNetwork/Sources/Factory/SessionFactory.swift +++ b/Projects/Core/PickeNetwork/Sources/Factory/SessionFactory.swift @@ -3,34 +3,38 @@ // PickeNetwork // -import Alamofire import Foundation -/// 인증(authenticated) / 비인증(plain) 세션 조립 팩토리. -/// -/// 인터셉터·부가 이벤트 모니터는 호출자가 주입한다(PickeNetwork 는 인증 주체를 모른다). -public enum SessionFactory { - /// 인증 세션. 호출자가 넘긴 `interceptor`(401 자동 refresh·retry 등)를 얹는다. 대부분의 요청에 사용. - public static func authenticated(interceptor: RequestInterceptor, eventMonitors: [any EventMonitor] = []) -> Session { +import Alamofire +import PickeNetworkInterface + +enum SessionFactory { + static func plain(eventMonitors: [any EventMonitor] = []) -> Session { Session( - configuration: configuration(), - interceptor: interceptor, - eventMonitors: monitors() + eventMonitors + configuration: configuration, + eventMonitors: [PickeEventMonitor()] + eventMonitors ) } - /// 비인증 세션. 로그인/토큰 재발급처럼 아직 토큰이 없는 요청에 사용(인터셉터 없음). - public static func plain(eventMonitors: [any EventMonitor] = []) -> Session { - Session( - configuration: configuration(), - eventMonitors: monitors() + eventMonitors + /// 요청별 인증 조립용 공유 인터셉터 묶음. + /// `AuthenticationInterceptor` 인스턴스가 하나여야 refresh single-flight 가 보장된다 — + /// authorizing(요청 조립)과 credentials(로그인 / 로그아웃 교체)가 같은 인스턴스를 본다. + static func authorization( + store: any CredentialStore, + refresher: any TokenRefreshing + ) -> (authorizing: AuthorizingInterceptor, credentials: any CredentialUpdating) { + let interceptor = AuthenticationInterceptor( + authenticator: PickeAuthenticator(refresher: refresher, store: store), + credential: store.load() + ) + return ( + AuthorizingInterceptor(base: interceptor), + CredentialUpdater(interceptor: interceptor) ) } -} -private extension SessionFactory { - /// 성능 최적화된 URLSession 설정(커넥션 풀 / 캐시 / keep-alive). - static func configuration() -> URLSessionConfiguration { + /// 성능 최적화된 URLSession 설정(커넥션 풀 / 캐시 / keep-alive) + 공통 정적 헤더. + private static var configuration: URLSessionConfiguration { let configuration = URLSessionConfiguration.default configuration.httpMaximumConnectionsPerHost = 6 @@ -50,16 +54,11 @@ private extension SessionFactory { configuration.allowsExpensiveNetworkAccess = true configuration.allowsConstrainedNetworkAccess = false - configuration.httpAdditionalHeaders = [ - "Connection": "keep-alive", - "Keep-Alive": "timeout=120, max=1000", - ] + var headers = DefaultHeaders.headers.dictionary + headers["Connection"] = "keep-alive" + headers["Keep-Alive"] = "timeout=120, max=1000" + configuration.httpAdditionalHeaders = headers return configuration } - - /// 두 세션 공통 기본 이벤트 모니터(요청/응답 로깅). 인증 관련 모니터는 호출자가 `eventMonitors` 로 추가. - static func monitors() -> [any EventMonitor] { - [PickeEventMonitor()] - } } diff --git a/Projects/Core/PickeNetwork/Sources/Header/DefaultHeaders.swift b/Projects/Core/PickeNetwork/Sources/Header/DefaultHeaders.swift new file mode 100644 index 00000000..46b1c9c3 --- /dev/null +++ b/Projects/Core/PickeNetwork/Sources/Header/DefaultHeaders.swift @@ -0,0 +1,20 @@ +// +// DefaultHeaders.swift +// PickeNetwork +// + +import Foundation + +import Alamofire +import PickeNetworkInterface + +/// 모든 요청에 공통으로 박히는 정적 헤더. +/// 요청별 헤더는 `PickeEndpoint.headers`, 토큰은 `PickeAuthenticator` 가 붙인다. +/// Content-Type 은 인코더 / 멀티파트가 요청마다 정하므로 여기서 고정하지 않는다. +enum DefaultHeaders { + static var headers: HTTPHeaders { + var headers = HTTPHeaders.default + headers.add(name: "Accept", value: APIHeaderManger.contentType) + return headers + } +} diff --git a/Projects/Core/PickeNetwork/Sources/Model/ErrorBody.swift b/Projects/Core/PickeNetwork/Sources/Model/ErrorBody.swift new file mode 100644 index 00000000..5a49b383 --- /dev/null +++ b/Projects/Core/PickeNetwork/Sources/Model/ErrorBody.swift @@ -0,0 +1,22 @@ +// +// ErrorBody.swift +// PickeNetwork +// + +import Foundation + +/// 서버가 실패 응답(4xx/5xx)에 담아 주는 바디. +/// 공통 봉투의 `error` 를 우선 읽고, 봉투 없이 `{ code, message }` 만 오는 응답도 함께 살린다. +struct ErrorBody: Decodable { + struct Payload: Decodable { + let code: String? + let message: String? + } + + let error: Payload? + let code: String? + let message: String? + + var resolvedCode: String? { error?.code ?? code } + var resolvedMessage: String? { error?.message ?? message } +} diff --git a/Projects/Core/PickeNetwork/Sources/Model/ResponseEnvelope.swift b/Projects/Core/PickeNetwork/Sources/Model/ResponseEnvelope.swift new file mode 100644 index 00000000..69dbf4a7 --- /dev/null +++ b/Projects/Core/PickeNetwork/Sources/Model/ResponseEnvelope.swift @@ -0,0 +1,32 @@ +// +// ResponseEnvelope.swift +// PickeNetwork +// + +import Foundation + +import Alamofire +import PickeNetworkInterface + +/// 서버 공통 응답 봉투. +/// ```json +/// { "statusCode": 200, "data": { ... }, "error": { "code": "...", "message": "..." } } +/// ``` +/// 봉투 해석은 클라이언트가 전담한다 — 호출부(Repository)는 페이로드만 받는다. +struct ResponseEnvelope: Decodable { + struct Failure: Decodable { + let code: String? + let message: String? + } + + let statusCode: Int? + let data: Payload? + let error: Failure? +} + +extension ResponseEnvelope: EmptyResponse where Payload == PickeEmptyResponse { + /// 204 처럼 바디가 없는 성공 응답은 빈 페이로드로 채운다. + static func emptyValue() -> ResponseEnvelope { + ResponseEnvelope(statusCode: nil, data: PickeEmptyResponse(), error: nil) + } +} From 3674db595d660324b28d6857fd79c277aaabf358 Mon Sep 17 00:00:00 2001 From: Roy Date: Mon, 7 Sep 2026 12:58:51 +0900 Subject: [PATCH 46/83] =?UTF-8?q?refactor(domain):=20=EC=97=94=EB=93=9C?= =?UTF-8?q?=ED=8F=AC=EC=9D=B8=ED=8A=B8=C2=B7=EB=A0=88=ED=8F=AC=EC=A7=80?= =?UTF-8?q?=ED=86=A0=EB=A6=AC=EB=A5=BC=20=EC=83=88=20=EB=84=A4=ED=8A=B8?= =?UTF-8?q?=EC=9B=8C=ED=81=AC=20=EA=B3=84=EC=95=BD=EC=9C=BC=EB=A1=9C=20?= =?UTF-8?q?=EC=98=AE=EA=B8=B4=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Service enum 10개를 PickeDataRequest 로 이관 (urlPath→path, [String: Any]→Encodable, parameterEncoding→parameterEncoder) - 로그인/토큰 재발급은 authorization = .none 으로 인증 파이프라인 우회 - RepositoryImpl 11개를 @Dependency(\.networkClient) + client.send 로 교체 - BaseResponseDTO 봉투 typealias 31개 제거 — 호출부는 페이로드 DTO 만 받는다 - guard let data = dto.data / statusCode >= 400 분기 제거(클라이언트가 던진다) - 테스트 스텁을 PickeNetworkClient 기반으로 바꾸고 withDependencies 로 주입 --- .../Repository/AppUpdateRepositoryImpl.swift | 1 - .../Model/DTO/AttendanceCheckDataDTO.swift | 2 - .../Model/DTO/AttendanceSummaryDataDTO.swift | 2 - .../Model/DTO/WeeklyAttendanceDataDTO.swift | 2 - .../Repository/AttendanceRepositoryImpl.swift | 43 +-- .../Tests/AttendanceRepositoryTests.swift | 26 +- .../AttendanceDomain/Tests/TestSupport.swift | 89 ++++- .../Auth/Default/MockAuthRepository.swift | 2 +- .../Auth/Default/MockAuthUseCase.swift | 2 +- .../Auth/Interface/AuthInterface.swift | 2 +- .../Entity/OAuth/UserSessionSharedKey.swift | 49 +++ Projects/Domain/AuthDomain/Project.swift | 4 +- .../Sources/Auth/AuthUseCaseImpl.swift | 10 +- .../Sources/Interceptor/AuthInterceptor.swift | 206 ------------ .../SessionInvalidationMonitor.swift | 54 ---- .../Model/Login/DTO/LoginDataDTO.swift | 1 - .../Sources/Model/Token/DTO/TokenDTO.swift | 1 - .../Provider/Apple/AppleOAuthProvider.swift | 2 +- .../Provider/Google/GoogleOAuthProvider.swift | 2 +- .../Provider/Kakao/KakaoOAuthProvider.swift | 2 +- .../Sources/OAuth/UnifiedOAuthUseCase.swift | 8 +- .../RefreshToken/AccessTokenCredential.swift | 69 ---- .../RefreshToken/AuthSessionManager.swift | 86 ----- .../OptimizedSessionManager.swift | 73 ----- .../Repository/AuthRepositoryImpl.swift | 73 ++--- .../Testing/MockAuthRepository.swift | 2 +- .../Tests/AuthRepositoryTests.swift | 112 ++++--- .../Domain/AuthDomain/Tests/TestSupport.swift | 89 ++++- Projects/Domain/BattleDomain/Project.swift | 1 + .../Model/DTO/BattleDetailDataDTO.swift | 4 +- .../Model/DTO/BattlePerspectiveDataDTO.swift | 4 +- .../Model/DTO/BattleProposalDataDTO.swift | 4 +- .../Model/DTO/BattleScenarioDataDTO.swift | 4 +- .../Model/DTO/BattleVoteStatsDataDTO.swift | 4 +- .../Sources/Model/DTO/PreVoteDataDTO.swift | 4 +- .../Model/DTO/RecommendedBattleDataDTO.swift | 4 +- .../Model/DTO/TodayBattleDataDTO.swift | 4 +- .../Mapper/BattlePerspectiveDataDTO+.swift | 3 +- .../Repository/BattleRepositoryImpl.swift | 157 +++------ .../Tests/BattleRepositoryTests.swift | 130 ++++++-- .../BattleDomain/Tests/TestSupport.swift | 89 ++++- .../Model/DTO/CommentLikeDataDTO.swift | 2 - .../Repository/CommentRepositoryImpl.swift | 33 +- .../Tests/CommentRepositoryTests.swift | 58 ++-- .../CommentDomain/Tests/TestSupport.swift | 87 ++++- .../Sources/Model/HomeDataDTO.swift | 1 - .../Repository/HomeRepositoryImpl.swift | 22 +- .../Tests/HomeRepositoryTests.swift | 26 +- .../Domain/HomeDomain/Tests/TestSupport.swift | 89 ++++- .../Model/DTO/NotificationDataDTO.swift | 4 +- .../NotificationRepositoryImpl.swift | 57 ++-- .../Tests/NotificationRepositoryTests.swift | 82 +++-- .../Tests/TestSupport.swift | 89 ++++- .../Domain/PerspectiveDomain/Project.swift | 1 + .../Model/DTO/PerspectiveCommentDataDTO.swift | 5 +- .../Model/DTO/PerspectiveDetailDataDTO.swift | 39 +++ .../Model/DTO/PerspectiveLikeDataDTO.swift | 16 + .../Mapper/PerspectiveCommentDataDTO+.swift | 31 +- .../Mapper/PerspectiveDetailDataDTO+.swift | 47 +++ .../Mapper/PerspectiveLikeDataDTO+.swift | 18 ++ .../PerspectiveRepositoryImpl.swift | 144 +++------ .../Tests/PerspectiveRepositoryTests.swift | 306 +++++++++++------- .../PerspectiveDomain/Tests/TestSupport.swift | 87 ++++- .../Model/DTO/BattleRecordDataDTO.swift | 2 - .../Model/DTO/ContentActivityDataDTO.swift | 2 - .../Model/DTO/CreditHistoryDataDTO.swift | 2 - .../Sources/Model/DTO/MyPageDataDTO.swift | 2 - .../DTO/NotificationSettingsDataDTO.swift | 2 - .../Model/DTO/ProfileUpdateDataDTO.swift | 2 - .../Sources/Model/DTO/RecapDataDTO.swift | 2 - .../Repository/ProfileRepositoryImpl.swift | 123 ++----- .../Tests/ProfileRepositoryTests.swift | 138 +++++--- .../ProfileDomain/Tests/TestSupport.swift | 89 ++++- .../Sources/SearchBattleDataDTO.swift | 2 - .../Sources/SearchRepositoryImpl.swift | 22 +- .../Tests/SearchRepositoryTests.swift | 24 +- .../SearchDomain/Tests/TestSupport.swift | 89 ++++- .../API/Sources/Base/PieckeDomain.swift | 2 +- .../Attendance/AttendanceService.swift | 16 +- .../Sources/Auth/AuthService.swift | 52 +-- .../Sources/Auth/Request/OAuthRequest.swift | 2 +- .../Auth/Request/WithdrawRequest.swift | 14 + .../Sources/Battle/BattleService.swift | 39 +-- .../Request/BattleProposalRequest.swift | 2 +- .../Request/CreatePerspectiveRequest.swift | 2 +- .../Request/PerspectivesQueryRequest.swift | 2 +- .../Battle/Request/PreVoteRequest.swift | 2 +- .../Sources/Comment/CommentService.swift | 16 +- .../Sources/Device/DeviceService.swift | 28 +- .../Request/DeviceRegisterRequest.swift | 2 +- .../DeviceUnregisterQueryRequest.swift | 14 + .../Sources/Home/HomeService.swift | 16 +- .../Notification/NotificationService.swift | 19 +- .../Request/NotificationsQueryRequest.swift | 2 +- .../Perspective/PerspectiveService.swift | 45 +-- .../PerspectiveCommentsQueryRequest.swift | 16 + .../Sources/Profile/ProfileService.swift | 39 +-- .../Request/BattleRecordsQueryRequest.swift | 2 +- .../ContentActivitiesQueryRequest.swift | 2 +- .../Request/CreditHistoryQueryRequest.swift | 2 +- .../Request/NotificationSettingsRequest.swift | 2 +- .../Request/ProfileUpdateRequest.swift | 2 +- .../Request/SearchBattlesQueryRequest.swift | 26 ++ .../Sources/Search/SearchService.swift | 28 +- .../Repository/DeviceRepositoryImpl.swift | 25 +- 105 files changed, 1910 insertions(+), 1680 deletions(-) create mode 100644 Projects/Domain/AuthDomain/Interface/Entity/OAuth/UserSessionSharedKey.swift delete mode 100644 Projects/Domain/AuthDomain/Sources/Interceptor/AuthInterceptor.swift delete mode 100644 Projects/Domain/AuthDomain/Sources/Interceptor/SessionInvalidationMonitor.swift delete mode 100644 Projects/Domain/AuthDomain/Sources/RefreshToken/AccessTokenCredential.swift delete mode 100644 Projects/Domain/AuthDomain/Sources/RefreshToken/AuthSessionManager.swift delete mode 100644 Projects/Domain/AuthDomain/Sources/RefreshToken/OptimizedSessionManager.swift create mode 100644 Projects/Domain/PerspectiveDomain/Sources/Model/DTO/PerspectiveDetailDataDTO.swift create mode 100644 Projects/Domain/PerspectiveDomain/Sources/Model/DTO/PerspectiveLikeDataDTO.swift create mode 100644 Projects/Domain/PerspectiveDomain/Sources/Model/Mapper/PerspectiveDetailDataDTO+.swift create mode 100644 Projects/Domain/PerspectiveDomain/Sources/Model/Mapper/PerspectiveLikeDataDTO+.swift create mode 100644 Projects/Service/APIEndpoint/Sources/Auth/Request/WithdrawRequest.swift create mode 100644 Projects/Service/APIEndpoint/Sources/Device/Request/DeviceUnregisterQueryRequest.swift create mode 100644 Projects/Service/APIEndpoint/Sources/Perspective/Request/PerspectiveCommentsQueryRequest.swift create mode 100644 Projects/Service/APIEndpoint/Sources/Search/Request/SearchBattlesQueryRequest.swift diff --git a/Projects/Domain/AppUpdateDomain/Sources/Repository/AppUpdateRepositoryImpl.swift b/Projects/Domain/AppUpdateDomain/Sources/Repository/AppUpdateRepositoryImpl.swift index 92bdfdd9..792012ce 100644 --- a/Projects/Domain/AppUpdateDomain/Sources/Repository/AppUpdateRepositoryImpl.swift +++ b/Projects/Domain/AppUpdateDomain/Sources/Repository/AppUpdateRepositoryImpl.swift @@ -5,7 +5,6 @@ import Foundation - import AppUpdateDomainInterface import LogMacro import PickeNetwork diff --git a/Projects/Domain/AttendanceDomain/Sources/Model/DTO/AttendanceCheckDataDTO.swift b/Projects/Domain/AttendanceDomain/Sources/Model/DTO/AttendanceCheckDataDTO.swift index 1f2c9063..9c736f09 100644 --- a/Projects/Domain/AttendanceDomain/Sources/Model/DTO/AttendanceCheckDataDTO.swift +++ b/Projects/Domain/AttendanceDomain/Sources/Model/DTO/AttendanceCheckDataDTO.swift @@ -26,5 +26,3 @@ public struct AttendanceCheckDataDTO: Decodable { case totalPoints = "total_points" } } - -public typealias AttendanceCheckResponseDTO = BaseResponseDTO diff --git a/Projects/Domain/AttendanceDomain/Sources/Model/DTO/AttendanceSummaryDataDTO.swift b/Projects/Domain/AttendanceDomain/Sources/Model/DTO/AttendanceSummaryDataDTO.swift index 1f6db7f9..4d9006b1 100644 --- a/Projects/Domain/AttendanceDomain/Sources/Model/DTO/AttendanceSummaryDataDTO.swift +++ b/Projects/Domain/AttendanceDomain/Sources/Model/DTO/AttendanceSummaryDataDTO.swift @@ -24,5 +24,3 @@ public struct AttendanceSummaryDataDTO: Decodable { case lastAttendedAt = "last_attended_at" } } - -public typealias AttendanceSummaryResponseDTO = BaseResponseDTO diff --git a/Projects/Domain/AttendanceDomain/Sources/Model/DTO/WeeklyAttendanceDataDTO.swift b/Projects/Domain/AttendanceDomain/Sources/Model/DTO/WeeklyAttendanceDataDTO.swift index cfbfbd0f..4b69adc2 100644 --- a/Projects/Domain/AttendanceDomain/Sources/Model/DTO/WeeklyAttendanceDataDTO.swift +++ b/Projects/Domain/AttendanceDomain/Sources/Model/DTO/WeeklyAttendanceDataDTO.swift @@ -24,5 +24,3 @@ public struct WeeklyAttendanceDataDTO: Decodable { case streakRewardPoints = "streak_reward_points" } } - -public typealias WeeklyAttendanceResponseDTO = BaseResponseDTO diff --git a/Projects/Domain/AttendanceDomain/Sources/Repository/AttendanceRepositoryImpl.swift b/Projects/Domain/AttendanceDomain/Sources/Repository/AttendanceRepositoryImpl.swift index a84e538f..167e879b 100644 --- a/Projects/Domain/AttendanceDomain/Sources/Repository/AttendanceRepositoryImpl.swift +++ b/Projects/Domain/AttendanceDomain/Sources/Repository/AttendanceRepositoryImpl.swift @@ -5,6 +5,8 @@ import Foundation +import Dependencies + import APIEndpoint import AttendanceDomainInterface import PickeNetwork @@ -12,46 +14,33 @@ import PickeNetwork import LogMacro public final class AttendanceRepositoryImpl: AttendanceInterface, @unchecked Sendable { - private let provider: any NetworkProviding + @Dependency(\.networkClient) private var client - public init( - provider: any NetworkProviding = AlamofireNetworkProvider.authorized - ) { - self.provider = provider - } + public init() {} public func checkAttendance() async throws -> AttendanceCheckResult { - let dto: AttendanceCheckResponseDTO = try await provider.request(.check) - - guard let data = dto.data else { - let message = dto.error?.message ?? "출석 체크 응답이 비어 있습니다" - Log.error("[AttendanceRepositoryImpl] empty check payload: \(message)") - throw AttendanceError.backendError(message) - } + let data = try await client.send( + AttendanceService.check, + as: AttendanceCheckDataDTO.self + ) return data.toDomain() } public func fetchWeeklyAttendance() async throws -> WeeklyAttendance { - let dto: WeeklyAttendanceResponseDTO = try await provider.request(.weekly) - - guard let data = dto.data else { - let message = dto.error?.message ?? "주간 출석 응답이 비어 있습니다" - Log.error("[AttendanceRepositoryImpl] empty weekly payload: \(message)") - throw AttendanceError.backendError(message) - } + let data = try await client.send( + AttendanceService.weekly, + as: WeeklyAttendanceDataDTO.self + ) return data.toDomain() } public func fetchAttendanceSummary() async throws -> AttendanceSummary { - let dto: AttendanceSummaryResponseDTO = try await provider.request(.summary) - - guard let data = dto.data else { - let message = dto.error?.message ?? "출석 통계 응답이 비어 있습니다" - Log.error("[AttendanceRepositoryImpl] empty summary payload: \(message)") - throw AttendanceError.backendError(message) - } + let data = try await client.send( + AttendanceService.summary, + as: AttendanceSummaryDataDTO.self + ) return data.toDomain() } diff --git a/Projects/Domain/AttendanceDomain/Tests/AttendanceRepositoryTests.swift b/Projects/Domain/AttendanceDomain/Tests/AttendanceRepositoryTests.swift index 392bce0f..06a7606a 100644 --- a/Projects/Domain/AttendanceDomain/Tests/AttendanceRepositoryTests.swift +++ b/Projects/Domain/AttendanceDomain/Tests/AttendanceRepositoryTests.swift @@ -4,6 +4,8 @@ // import Foundation + +import Dependencies import Testing import APIEndpoint @@ -30,9 +32,11 @@ struct AttendanceRepositoryTests { "error": null } """ - let sut = AttendanceRepositoryImpl( - provider: StubNetworkProvider(stubData: Data(json.utf8)) - ) + let sut = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) + } operation: { + AttendanceRepositoryImpl() + } let result = try await sut.checkAttendance() @@ -63,9 +67,11 @@ struct AttendanceRepositoryTests { "error": null } """ - let sut = AttendanceRepositoryImpl( - provider: StubNetworkProvider(stubData: Data(json.utf8)) - ) + let sut = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) + } operation: { + AttendanceRepositoryImpl() + } let weekly = try await sut.fetchWeeklyAttendance() @@ -84,9 +90,11 @@ struct AttendanceRepositoryTests { let json = """ { "statusCode": 500, "data": null, "error": { "code": "E500", "message": "서버 오류" } } """ - let sut = AttendanceRepositoryImpl( - provider: StubNetworkProvider(stubData: Data(json.utf8)) - ) + let sut = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) + } operation: { + AttendanceRepositoryImpl() + } await #expect(throws: AttendanceError.backendError("서버 오류")) { try await sut.checkAttendance() diff --git a/Projects/Domain/AttendanceDomain/Tests/TestSupport.swift b/Projects/Domain/AttendanceDomain/Tests/TestSupport.swift index 7dbc8dd7..a2592aed 100644 --- a/Projects/Domain/AttendanceDomain/Tests/TestSupport.swift +++ b/Projects/Domain/AttendanceDomain/Tests/TestSupport.swift @@ -7,29 +7,94 @@ import Foundation import PickeNetwork -/// 고정 데이터를 그대로 디코딩해 반환하는 스텁 provider. -struct StubNetworkProvider: NetworkProviding { +/// 고정 데이터를 서버 응답 봉투(`{ statusCode, data, error }`)로 해석해 돌려주는 스텁 클라이언트. +/// 실클라이언트와 같은 규칙으로 `error` 를 `ResponseError` 로 승격시킨다. +struct StubNetworkClient: PickeNetworkClient { + private struct Envelope: Decodable { + struct Failure: Decodable { + let code: String? + let message: String? + } + + let statusCode: Int? + let data: Payload? + let error: Failure? + } + let stubData: Data var statusCode: Int = 200 - func request(_: Target) async throws -> D { - try JSONDecoder().decode(D.self, from: stubData) + func send( + _: R, + as _: T.Type + ) async throws(PickeNetworkError) -> T { + try decode(T.self) + } + + func send(_: R) async throws(PickeNetworkError) -> R.Response { + try decode(R.Response.self) + } + + func sendResponse(_: R) async throws(PickeNetworkError) -> PickeHTTPResponse { + PickeHTTPResponse(statusCode: statusCode, data: stubData) + } + + func upload(_: R) async throws(PickeNetworkError) -> R.Response { + try decode(R.Response.self) } - func requestResponse(_: Target) async throws -> PickeResponse { - PickeResponse(statusCode: statusCode, data: stubData) + func upload(_: some PickeFileUploadRequest) async throws(PickeNetworkError) {} + + private func decode(_: T.Type) throws(PickeNetworkError) -> T { + let envelope: Envelope + do { + envelope = try JSONDecoder().decode(Envelope.self, from: stubData) + } catch { + throw .decoding(.failed(error)) + } + if let failure = envelope.error { + throw .response( + ResponseError( + httpStatus: envelope.statusCode ?? statusCode, + code: failure.code, + message: failure.message + ) + ) + } + guard let data = envelope.data else { + guard let empty = PickeEmptyResponse() as? T else { + throw .decoding(.dataMissing) + } + return empty + } + return data } } -/// 항상 에러를 던지는 스텁 provider. -struct ThrowingStubNetworkProvider: NetworkProviding { +/// 항상 에러를 던지는 스텁 클라이언트. +struct ThrowingStubNetworkClient: PickeNetworkClient { struct StubError: Error {} - func request(_: Target) async throws -> D { - throw StubError() + func send( + _: R, + as _: T.Type + ) async throws(PickeNetworkError) -> T { + throw .transport(.unknown(StubError())) + } + + func send(_: R) async throws(PickeNetworkError) -> R.Response { + throw .transport(.unknown(StubError())) + } + + func sendResponse(_: R) async throws(PickeNetworkError) -> PickeHTTPResponse { + throw .transport(.unknown(StubError())) + } + + func upload(_: R) async throws(PickeNetworkError) -> R.Response { + throw .transport(.unknown(StubError())) } - func requestResponse(_: Target) async throws -> PickeResponse { - throw StubError() + func upload(_: some PickeFileUploadRequest) async throws(PickeNetworkError) { + throw .transport(.unknown(StubError())) } } diff --git a/Projects/Domain/AuthDomain/Interface/Contract/Auth/Default/MockAuthRepository.swift b/Projects/Domain/AuthDomain/Interface/Contract/Auth/Default/MockAuthRepository.swift index b50c6a97..93415b06 100644 --- a/Projects/Domain/AuthDomain/Interface/Contract/Auth/Default/MockAuthRepository.swift +++ b/Projects/Domain/AuthDomain/Interface/Contract/Auth/Default/MockAuthRepository.swift @@ -50,7 +50,7 @@ public final class MockAuthRepository: AuthInterface, @unchecked Sendable { ) } - public func updateSessionCredential(with _: AuthTokens) { + public func updateSessionCredential(with _: AuthTokens) async { // no-op } } diff --git a/Projects/Domain/AuthDomain/Interface/Contract/Auth/Default/MockAuthUseCase.swift b/Projects/Domain/AuthDomain/Interface/Contract/Auth/Default/MockAuthUseCase.swift index 42b1e514..6d9b0ff2 100644 --- a/Projects/Domain/AuthDomain/Interface/Contract/Auth/Default/MockAuthUseCase.swift +++ b/Projects/Domain/AuthDomain/Interface/Contract/Auth/Default/MockAuthUseCase.swift @@ -48,7 +48,7 @@ public final class MockAuthUseCase: AuthUseCaseInterface, @unchecked Sendable { ) } - public func updateSessionCredential(with _: AuthTokens) { + public func updateSessionCredential(with _: AuthTokens) async { // no-op } } diff --git a/Projects/Domain/AuthDomain/Interface/Contract/Auth/Interface/AuthInterface.swift b/Projects/Domain/AuthDomain/Interface/Contract/Auth/Interface/AuthInterface.swift index 1b925e30..a9bd260f 100644 --- a/Projects/Domain/AuthDomain/Interface/Contract/Auth/Interface/AuthInterface.swift +++ b/Projects/Domain/AuthDomain/Interface/Contract/Auth/Interface/AuthInterface.swift @@ -19,7 +19,7 @@ public protocol AuthInterface: Sendable { func refresh() async throws -> AuthTokens func withDraw(reason: String) async throws -> WithdrawEntity func logout() async throws -> AuthExitEntity - func updateSessionCredential(with tokens: AuthTokens) + func updateSessionCredential(with tokens: AuthTokens) async } /// Auth Repository 의 DependencyKey 구조체 diff --git a/Projects/Domain/AuthDomain/Interface/Entity/OAuth/UserSessionSharedKey.swift b/Projects/Domain/AuthDomain/Interface/Entity/OAuth/UserSessionSharedKey.swift new file mode 100644 index 00000000..e3cc3a65 --- /dev/null +++ b/Projects/Domain/AuthDomain/Interface/Entity/OAuth/UserSessionSharedKey.swift @@ -0,0 +1,49 @@ +// +// UserSessionSharedKey.swift +// AuthDomainInterface +// + +import Foundation + +import PickeStorageInterface + +import Sharing + +public extension SharedReaderKey where Self == PersistentSharedKey.Default { + /// 앱 실행 사이에 유지되는 사용자 세션 메타데이터. + /// + /// OAuth 토큰과 서버 access token 은 SQLite 에 기록하지 않고 Keychain 수명주기를 그대로 둔다. + static var userSession: Self { + Self[ + .persistent( + "UserSession", + encode: { session in + try JSONEncoder().encode(UserSessionSnapshot(session)) + }, + decode: { data in + try JSONDecoder().decode(UserSessionSnapshot.self, from: data).userSession + } + ), + default: .empty + ] + } +} + +private struct UserSessionSnapshot: Codable, Sendable { + let schemaVersion: Int + let name: String + let provider: String + + init(_ session: UserSession) { + schemaVersion = 1 + name = session.name + provider = session.provider.rawValue + } + + var userSession: UserSession { + UserSession( + name: name, + provider: SocialType(rawValue: provider) ?? .apple + ) + } +} diff --git a/Projects/Domain/AuthDomain/Project.swift b/Projects/Domain/AuthDomain/Project.swift index 3dcc152a..30298f1f 100644 --- a/Projects/Domain/AuthDomain/Project.swift +++ b/Projects/Domain/AuthDomain/Project.swift @@ -21,7 +21,9 @@ let project = Project.configure( .SPM.googleSignIn, ], interfaceDependencies: [ - + // UserSessionSharedKey 가 PersistentSharedKey(PickeStorageInterface)와 Sharing 을 직접 쓴다. + .core(.storage, .interface), + .SPM.sharing, .SPM.weaveDI, .SPM.composableArchitecture, ] diff --git a/Projects/Domain/AuthDomain/Sources/Auth/AuthUseCaseImpl.swift b/Projects/Domain/AuthDomain/Sources/Auth/AuthUseCaseImpl.swift index 58d52e68..f5d82dbb 100644 --- a/Projects/Domain/AuthDomain/Sources/Auth/AuthUseCaseImpl.swift +++ b/Projects/Domain/AuthDomain/Sources/Auth/AuthUseCaseImpl.swift @@ -16,7 +16,7 @@ import PickeStorageInterface public struct AuthUseCaseImpl: AuthUseCaseInterface { @Dependency(\.authRepository) var authRepository @Dependency(\.keychainManager) private var keychainManager: KeychainManaging - @Shared(.inMemory("UserSession")) var userSession: UserSession = .empty + @Shared(.userSession) var userSession: UserSession public init() {} @@ -45,7 +45,7 @@ public struct AuthUseCaseImpl: AuthUseCaseInterface { accessToken: result.token.accessToken, refreshToken: result.token.refreshToken ) - authRepository.updateSessionCredential(with: result.token) + await authRepository.updateSessionCredential(with: result.token) return result } @@ -53,7 +53,7 @@ public struct AuthUseCaseImpl: AuthUseCaseInterface { public func refresh() async throws -> AuthTokens { let tokens = try await authRepository.refresh() keychainManager.save(accessToken: tokens.accessToken, refreshToken: tokens.refreshToken) - authRepository.updateSessionCredential(with: tokens) + await authRepository.updateSessionCredential(with: tokens) return tokens } @@ -71,7 +71,7 @@ public struct AuthUseCaseImpl: AuthUseCaseInterface { return result } - public func updateSessionCredential(with tokens: AuthTokens) { - authRepository.updateSessionCredential(with: tokens) + public func updateSessionCredential(with tokens: AuthTokens) async { + await authRepository.updateSessionCredential(with: tokens) } } diff --git a/Projects/Domain/AuthDomain/Sources/Interceptor/AuthInterceptor.swift b/Projects/Domain/AuthDomain/Sources/Interceptor/AuthInterceptor.swift deleted file mode 100644 index a1d4fe01..00000000 --- a/Projects/Domain/AuthDomain/Sources/Interceptor/AuthInterceptor.swift +++ /dev/null @@ -1,206 +0,0 @@ -// -// AuthInterceptor.swift -// AuthDomain -// -// Created by Wonji Suh on 5/14/26. -// - -import Alamofire -import AuthDomainInterface -import ComposableArchitecture -import Dependencies -import Foundation -import LogMacro -import PickeStorageInterface -import UIKit - -// MARK: - Notification - -public extension NSNotification.Name { - /// 리프레시 토큰 만료 시 발송되는 알림 - static let refreshTokenExpired = NSNotification.Name("RefreshTokenExpired") -} - -// MARK: - Token Refresh Manager - -actor TokenRefreshManager { - @Dependency(\.authRepository) private var authRepository - @Dependency(\.keychainManager) private var keychainManager - - private var isRefreshing = false - - func refreshCredentialIfNeeded() async throws -> AccessTokenCredential { - // 다른 요청이 이미 refresh 중이면 잠시 대기 후 최신 credential 흐름을 다시 탄다. - if isRefreshing { - try await _Concurrency.Task.sleep(nanoseconds: 100_000_000) - return try await refreshCredentialIfNeeded() - } - - isRefreshing = true - defer { isRefreshing = false } - - return try await performTokenRefresh() - } - - private func performTokenRefresh() async throws -> AccessTokenCredential { - Log.debug("🔄 Starting token refresh...") - - do { - let tokens = try await authRepository.refresh() - Log.debug("✅ Token refresh completed: \(tokens)") - - keychainManager.save(accessToken: tokens.accessToken, refreshToken: tokens.refreshToken) - - let newCredential = AccessTokenCredential.make( - accessToken: tokens.accessToken, - refreshToken: tokens.refreshToken - ) - - await MainActor.run { - AuthSessionManager.shared.credential = newCredential - OptimizedSessionManager.shared.credential = newCredential - } - - return newCredential - } catch { - Log.error("❌ Token refresh failed: \(error)") - - if isRefreshTokenExpiredError(error) { - await performAutomaticLogout() - throw AuthError.refreshTokenExpired - } else { - throw error - } - } - } - - private func isRefreshTokenExpiredError(_ error: Error) -> Bool { - let errorString = String(describing: error) - if errorString.contains("statusCodeError(401)") { return true } - - if let afError = error.asAFError, - case let .responseValidationFailed(reason) = afError, - case let .unacceptableStatusCode(code) = reason, - code == 401 - { - return true - } - - if let authError = error as? AuthError, authError.isTokenExpiredError { - return true - } - - let desc = error.localizedDescription.lowercased() - return desc.contains("401") - || desc.contains("unauthorized") - || desc.contains("유효하지 않은 토큰") - || desc.contains("token expired") - || desc.contains("invalid token") - || desc.contains("authentication failed") - } - - private func performAutomaticLogout() async { - Log.debug("🚪 Performing automatic logout (401 detected)") - - keychainManager.clear() - - await MainActor.run { - AuthSessionManager.shared.credential = nil - OptimizedSessionManager.shared.credential = nil - - NotificationCenter.default.post( - name: .refreshTokenExpired, - object: nil, - userInfo: ["reason": "401_refresh_failed"] - ) - } - } -} - -// MARK: - Auth Interceptor - -final class AuthInterceptor: RequestInterceptor, @unchecked Sendable { - private let tokenRefreshManager = TokenRefreshManager() - - /// AsyncMoya 요청에 토큰을 추가한다. - func addAuthToken(to urlRequest: URLRequest) async throws -> URLRequest { - var authenticatedRequest = urlRequest - - guard let credential = AuthSessionManager.shared.credential else { - Log.debug("⚠️ No credential available, proceeding without token") - return urlRequest - } - - if credential.requiresRefresh { - Log.debug("🔄 Token refresh required, refreshing...") - let newCredential = try await tokenRefreshManager.refreshCredentialIfNeeded() - authenticatedRequest.setValue("Bearer \(newCredential.accessToken)", forHTTPHeaderField: "Authorization") - } else { - authenticatedRequest.setValue("Bearer \(credential.accessToken)", forHTTPHeaderField: "Authorization") - } - - return authenticatedRequest - } - - /// 401 발생 시 토큰을 갱신한다. - func handleUnauthorizedError() async throws -> AccessTokenCredential { - Log.debug("🚨 401 Unauthorized detected, attempting token refresh") - return try await tokenRefreshManager.refreshCredentialIfNeeded() - } - - func adapt( - _ urlRequest: URLRequest, - for _: Session, - completion: @escaping (Result) -> Void - ) { - var adapted = urlRequest - - guard let credential = AuthSessionManager.shared.credential else { - completion(.success(urlRequest)) - return - } - - if credential.requiresRefresh { - _Concurrency.Task { - do { - let newCredential = try await tokenRefreshManager.refreshCredentialIfNeeded() - adapted.headers.update(.authorization(bearerToken: newCredential.accessToken)) - completion(.success(adapted)) - } catch { - Log.error("❌ Token refresh failed in adapt: \(error)") - completion(.failure(error)) - } - } - } else { - adapted.headers.update(.authorization(bearerToken: credential.accessToken)) - completion(.success(adapted)) - } - } - - func retry( - _ request: Request, - for _: Session, - dueTo error: Error, - completion: @escaping (RetryResult) -> Void - ) { - guard let response = request.response, response.statusCode == 401 else { - completion(.doNotRetryWithError(error)) - return - } - - Log.debug("🚨 401 detected, attempting token refresh for retry") - - _Concurrency.Task { - do { - _ = try await tokenRefreshManager.refreshCredentialIfNeeded() - completion(.retry) - } catch { - if let authError = error as? AuthError, authError.isTokenExpiredError { - completion(.doNotRetryWithError(authError)) - } else { - completion(.doNotRetryWithError(error)) - } - } - } - } -} diff --git a/Projects/Domain/AuthDomain/Sources/Interceptor/SessionInvalidationMonitor.swift b/Projects/Domain/AuthDomain/Sources/Interceptor/SessionInvalidationMonitor.swift deleted file mode 100644 index 1619e909..00000000 --- a/Projects/Domain/AuthDomain/Sources/Interceptor/SessionInvalidationMonitor.swift +++ /dev/null @@ -1,54 +0,0 @@ -// -// SessionInvalidationMonitor.swift -// AuthDomain -// - -import Alamofire -import Dependencies -import Foundation -import LogMacro - -struct SessionInvalidationMonitor: EventMonitor { - let queue = DispatchQueue(label: "store.picke.network.session-invalidation") - - /// 강제 로그아웃을 유발하는 서버 에러 코드. - /// - USER_404: 존재하지 않는 사용자 - /// - AUTH_401: 인증 필요 (AuthInterceptor refresh+retry 후에도 최종 401 이면 세션 만료로 간주) - private static let invalidSessionCodes: Set = ["USER_404", "AUTH_401"] - - private struct ErrorEnvelope: Decodable { - struct APIError: Decodable { let code: String } - let error: APIError? - } - - func request( - _: DataRequest, - didParseResponse response: DataResponse - ) { - guard - let data = response.data, - let envelope = try? JSONDecoder().decode(ErrorEnvelope.self, from: data), - let code = envelope.error?.code, - Self.invalidSessionCodes.contains(code) - else { return } - - Log.error("🚪 \(code) 감지 → 강제 로그아웃") - forceLogout() - } - - private func forceLogout() { - @Dependency(\.keychainManager) var keychainManager - keychainManager.clear() - - _Concurrency.Task { @MainActor in - AuthSessionManager.shared.credential = nil - OptimizedSessionManager.shared.credential = nil - - NotificationCenter.default.post( - name: .refreshTokenExpired, - object: nil, - userInfo: ["reason": "user_not_found"] - ) - } - } -} diff --git a/Projects/Domain/AuthDomain/Sources/Model/Login/DTO/LoginDataDTO.swift b/Projects/Domain/AuthDomain/Sources/Model/Login/DTO/LoginDataDTO.swift index acb54992..f0522efc 100644 --- a/Projects/Domain/AuthDomain/Sources/Model/Login/DTO/LoginDataDTO.swift +++ b/Projects/Domain/AuthDomain/Sources/Model/Login/DTO/LoginDataDTO.swift @@ -25,4 +25,3 @@ public struct LoginDataDTO: Decodable { } /// `/api/v1/auth/login/{provider}` 응답 타입 별칭 -public typealias LoginResponseDTO = BaseResponseDTO diff --git a/Projects/Domain/AuthDomain/Sources/Model/Token/DTO/TokenDTO.swift b/Projects/Domain/AuthDomain/Sources/Model/Token/DTO/TokenDTO.swift index 5f976ee5..52b1eecb 100644 --- a/Projects/Domain/AuthDomain/Sources/Model/Token/DTO/TokenDTO.swift +++ b/Projects/Domain/AuthDomain/Sources/Model/Token/DTO/TokenDTO.swift @@ -19,4 +19,3 @@ public struct TokenDTO: Decodable { } /// `/api/v1/auth/refresh` 응답 타입 별칭 -public typealias RefreshResponseDTO = BaseResponseDTO diff --git a/Projects/Domain/AuthDomain/Sources/OAuth/Provider/Apple/AppleOAuthProvider.swift b/Projects/Domain/AuthDomain/Sources/OAuth/Provider/Apple/AppleOAuthProvider.swift index c4051aeb..5749e752 100644 --- a/Projects/Domain/AuthDomain/Sources/OAuth/Provider/Apple/AppleOAuthProvider.swift +++ b/Projects/Domain/AuthDomain/Sources/OAuth/Provider/Apple/AppleOAuthProvider.swift @@ -14,7 +14,7 @@ import Sharing public final class AppleOAuthProvider: AppleOAuthProviderInterface, @unchecked Sendable { @Dependency(\.appleOAuthRepository) private var appleRepository: AppleOAuthInterface - @Shared(.inMemory("UserSession")) var userSession: UserSession = .empty + @Shared(.userSession) var userSession: UserSession public init() {} public func signInWithCredential( diff --git a/Projects/Domain/AuthDomain/Sources/OAuth/Provider/Google/GoogleOAuthProvider.swift b/Projects/Domain/AuthDomain/Sources/OAuth/Provider/Google/GoogleOAuthProvider.swift index f150dea9..ed12f52b 100644 --- a/Projects/Domain/AuthDomain/Sources/OAuth/Provider/Google/GoogleOAuthProvider.swift +++ b/Projects/Domain/AuthDomain/Sources/OAuth/Provider/Google/GoogleOAuthProvider.swift @@ -13,7 +13,7 @@ import Sharing public final class GoogleOAuthProvider: GoogleOAuthProviderInterface, @unchecked Sendable { @Dependency(\.googleOAuthRepository) private var googleRepository: GoogleOAuthInterface - @Shared(.inMemory("UserSession")) var userSession: UserSession = .empty + @Shared(.userSession) var userSession: UserSession public init() {} public func signInWithToken(token _: String) async throws -> GoogleOAuthPayload { diff --git a/Projects/Domain/AuthDomain/Sources/OAuth/Provider/Kakao/KakaoOAuthProvider.swift b/Projects/Domain/AuthDomain/Sources/OAuth/Provider/Kakao/KakaoOAuthProvider.swift index 4d3c09f2..25df2a26 100644 --- a/Projects/Domain/AuthDomain/Sources/OAuth/Provider/Kakao/KakaoOAuthProvider.swift +++ b/Projects/Domain/AuthDomain/Sources/OAuth/Provider/Kakao/KakaoOAuthProvider.swift @@ -13,7 +13,7 @@ import Sharing public final class KakaoOAuthProvider: KakaoOAuthProviderInterface, @unchecked Sendable { @Dependency(\.kakaoOAuthRepository) private var kakaoRepository: KakaoOAuthInterface - @Shared(.inMemory("UserSession")) var userSession: UserSession = .empty + @Shared(.userSession) var userSession: UserSession public init() {} public func signInWithToken(token _: String) async throws -> KakaoOAuthPayload { diff --git a/Projects/Domain/AuthDomain/Sources/OAuth/UnifiedOAuthUseCase.swift b/Projects/Domain/AuthDomain/Sources/OAuth/UnifiedOAuthUseCase.swift index 183fb180..959ab975 100644 --- a/Projects/Domain/AuthDomain/Sources/OAuth/UnifiedOAuthUseCase.swift +++ b/Projects/Domain/AuthDomain/Sources/OAuth/UnifiedOAuthUseCase.swift @@ -20,7 +20,7 @@ public struct UnifiedOAuthUseCase: UnifiedOAuthUseCaseInterface { @Dependency(\.googleOAuthProvider) private var googleProvider: GoogleOAuthProviderInterface @Dependency(\.kakaoOAuthProvider) private var kakaoProvider: KakaoOAuthProviderInterface @Dependency(\.keychainManager) private var keychainManager: KeychainManaging - @Shared(.inMemory("UserSession")) var userSession: UserSession = .empty + @Shared(.userSession) var userSession: UserSession @Shared(.appStorage("appleUserName")) var savedAppleUserName: String? public init() {} @@ -100,7 +100,7 @@ public extension UnifiedOAuthUseCase { accessToken: loginEntity.token.accessToken, refreshToken: loginEntity.token.refreshToken ) - authRepository.updateSessionCredential(with: loginEntity.token) + await authRepository.updateSessionCredential(with: loginEntity.token) return loginEntity } @@ -129,7 +129,7 @@ public extension UnifiedOAuthUseCase { accessToken: loginEntity.token.accessToken, refreshToken: loginEntity.token.refreshToken ) - authRepository.updateSessionCredential(with: loginEntity.token) + await authRepository.updateSessionCredential(with: loginEntity.token) return loginEntity } @@ -156,7 +156,7 @@ public extension UnifiedOAuthUseCase { accessToken: loginEntity.token.accessToken, refreshToken: loginEntity.token.refreshToken ) - authRepository.updateSessionCredential(with: loginEntity.token) + await authRepository.updateSessionCredential(with: loginEntity.token) return loginEntity } diff --git a/Projects/Domain/AuthDomain/Sources/RefreshToken/AccessTokenCredential.swift b/Projects/Domain/AuthDomain/Sources/RefreshToken/AccessTokenCredential.swift deleted file mode 100644 index 35964871..00000000 --- a/Projects/Domain/AuthDomain/Sources/RefreshToken/AccessTokenCredential.swift +++ /dev/null @@ -1,69 +0,0 @@ -// -// AccessTokenCredential.swift -// AuthDomain -// -// Created by Wonji Suh on 5/14/26. -// - -import Foundation -import LogMacro - -struct AccessTokenCredential: Sendable { - let accessToken: String - let refreshToken: String - let expiration: Date - - private let refreshLeadTime: TimeInterval = 5 * 60 - - var requiresRefresh: Bool { - Date().addingTimeInterval(refreshLeadTime) >= expiration - } - - var isExpired: Bool { - Date() >= expiration - } - - static func make( - accessToken: String, - refreshToken: String - ) -> AccessTokenCredential { - let fallbackExpiration = Date().addingTimeInterval(24 * 60 * 60) - let expiration: Date - if let decodedExpiration = decodeExpiration(from: accessToken) { - expiration = decodedExpiration - } else { - Log.debug("⚠️ JWT decoding failed, using fallback expiration: 24h from now") - expiration = fallbackExpiration - } - - return AccessTokenCredential( - accessToken: accessToken, - refreshToken: refreshToken, - expiration: expiration - ) - } -} - -private extension AccessTokenCredential { - static func decodeExpiration(from token: String) -> Date? { - let components = token.components(separatedBy: ".") - guard components.count == 3 else { return nil } - - let payload = components[1] - var base64 = payload - .replacingOccurrences(of: "-", with: "+") - .replacingOccurrences(of: "_", with: "/") - - let paddingLength = 4 - (base64.count % 4) - if paddingLength < 4 { - base64 += String(repeating: "=", count: paddingLength) - } - - guard let data = Data(base64Encoded: base64), - let json = try? JSONSerialization.jsonObject(with: data) as? [String: Any], - let exp = json["exp"] as? TimeInterval - else { return nil } - - return Date(timeIntervalSince1970: exp) - } -} diff --git a/Projects/Domain/AuthDomain/Sources/RefreshToken/AuthSessionManager.swift b/Projects/Domain/AuthDomain/Sources/RefreshToken/AuthSessionManager.swift deleted file mode 100644 index 75c72385..00000000 --- a/Projects/Domain/AuthDomain/Sources/RefreshToken/AuthSessionManager.swift +++ /dev/null @@ -1,86 +0,0 @@ -// -// AuthSessionManager.swift -// AuthDomain -// -// Created by Wonji Suh on 5/14/26. -// - -import Alamofire -import AuthDomainInterface -import Foundation -import PickeStorageInterface -import UIKit -import WeaveDI - -public final class AuthSessionManager { - public static let shared = AuthSessionManager() - - @Dependency(\.keychainManager) var keychainManager - - var credential: AccessTokenCredential? - let session: Session - - private var memoryCleanupTimer: Timer? - - private init() { - session = Session(interceptor: AuthInterceptor()) - setupInitialCredential() - setupMemoryOptimization() - } - - deinit { - memoryCleanupTimer?.invalidate() - } - - public func updateCredential(with tokens: AuthTokens) { - credential = AccessTokenCredential.make( - accessToken: tokens.accessToken, - refreshToken: tokens.refreshToken - ) - } - - public func clear() { - credential = nil - forceMemoryCleanup() - } - - private func setupMemoryOptimization() { - memoryCleanupTimer = Timer.scheduledTimer(withTimeInterval: 1800, repeats: true) { [weak self] _ in - self?.performPeriodicCleanup() - } - - NotificationCenter.default.addObserver( - forName: UIApplication.didReceiveMemoryWarningNotification, - object: nil, - queue: .main - ) { [weak self] _ in - self?.forceMemoryCleanup() - } - } - - private func performPeriodicCleanup() { - if let credential, credential.isExpired { - self.credential = nil - } - } - - private func forceMemoryCleanup() { - credential = nil - session.session.configuration.urlCache?.removeAllCachedResponses() - } -} - -private extension AuthSessionManager { - func setupInitialCredential() { - if let loaded = loadCredentialFromKeychain() { - credential = loaded - } - } - - func loadCredentialFromKeychain() -> AccessTokenCredential? { - let access = keychainManager.accessToken() - let refresh = keychainManager.refreshToken() - guard let access, let refresh, !access.isEmpty, !refresh.isEmpty else { return nil } - return AccessTokenCredential.make(accessToken: access, refreshToken: refresh) - } -} diff --git a/Projects/Domain/AuthDomain/Sources/RefreshToken/OptimizedSessionManager.swift b/Projects/Domain/AuthDomain/Sources/RefreshToken/OptimizedSessionManager.swift deleted file mode 100644 index 4f0eee2a..00000000 --- a/Projects/Domain/AuthDomain/Sources/RefreshToken/OptimizedSessionManager.swift +++ /dev/null @@ -1,73 +0,0 @@ -// -// OptimizedSessionManager.swift -// AuthDomain -// -// Created by Wonji Suh on 5/14/26. -// - -import Alamofire -import AuthDomainInterface -import Foundation -import PickeNetwork -import PickeStorageInterface -import WeaveDI - -/// 네트워킹 성능 최적화된 세션 매니저 -public final class OptimizedSessionManager { - public static let shared = OptimizedSessionManager() - - @Dependency(\.keychainManager) var keychainManager - - var credential: AccessTokenCredential? - /// 인증 세션(인터셉터·이벤트 모니터 부착). 대부분의 요청에 사용. - let session: Session - /// 비인증 세션(로그인/토큰 재발급 등 토큰이 아직 없는 요청). 인터셉터 없음. - let plainSession: Session - - private init() { - // 세션 조립은 SessionFactory 가 담당(config·인터셉터·이벤트 모니터). 동작 보존. - session = SessionFactory.authenticated( - interceptor: AuthInterceptor(), - eventMonitors: [SessionInvalidationMonitor()] - ) - plainSession = SessionFactory.plain( - eventMonitors: [SessionInvalidationMonitor()] - ) - - setupInitialCredential() - } - - public func configureNetworkSessions() { - NetworkSessionRegistry.shared.configure( - authorizedSession: session, - plainSession: plainSession - ) - } - - public func updateCredential(with tokens: AuthTokens) { - credential = AccessTokenCredential.make( - accessToken: tokens.accessToken, - refreshToken: tokens.refreshToken - ) - } - - public func clear() { - credential = nil - session.session.configuration.urlCache?.removeAllCachedResponses() - } -} - -private extension OptimizedSessionManager { - func setupInitialCredential() { - if let loaded = loadCredentialFromKeychain() { - credential = loaded - } - } - - func loadCredentialFromKeychain() -> AccessTokenCredential? { - let access = keychainManager.accessToken() - let refresh = keychainManager.refreshToken() - guard let access, let refresh, !access.isEmpty, !refresh.isEmpty else { return nil } - return AccessTokenCredential.make(accessToken: access, refreshToken: refresh) - } -} diff --git a/Projects/Domain/AuthDomain/Sources/Repository/AuthRepositoryImpl.swift b/Projects/Domain/AuthDomain/Sources/Repository/AuthRepositoryImpl.swift index 514c2171..c65ca27d 100644 --- a/Projects/Domain/AuthDomain/Sources/Repository/AuthRepositoryImpl.swift +++ b/Projects/Domain/AuthDomain/Sources/Repository/AuthRepositoryImpl.swift @@ -9,26 +9,18 @@ import Foundation import APIEndpoint import AuthDomainInterface +import PickeAuthInterface import PickeNetwork -import Alamofire import Dependencies import LogMacro import WeaveDI public final class AuthRepositoryImpl: AuthInterface, @unchecked Sendable { - @Dependency(\.keychainManager) private var keychainManager + @Dependency(\.networkClient) private var client + @Dependency(\.authService) private var authService - private let provider: any NetworkProviding - private let authProvider: any NetworkProviding - - public init( - provider: any NetworkProviding = AlamofireNetworkProvider.default, - authProvider: any NetworkProviding = AlamofireNetworkProvider.authorized - ) { - self.provider = provider - self.authProvider = authProvider - } + public init() {} // MARK: - 로그인 @@ -49,46 +41,32 @@ public final class AuthRepositoryImpl: AuthInterface, @unchecked Sendable { Log.debug("[AuthRepository] POST /api/v1/auth/login/\(socialProvider.rawValue) body=\(json)") } - let dto: LoginResponseDTO = try await provider.request( - .login(provider: socialProvider, body: body) + let data = try await client.send( + AuthService.login(provider: socialProvider, body: body), + as: LoginDataDTO.self ) - guard let data = dto.data else { - let message = dto.error?.message ?? "로그인 응답이 비어 있습니다" - throw AuthError.backendError(message) - } - return data.toDomain(provider: socialProvider) } // MARK: - 토큰 재발급 public func refresh() async throws -> AuthTokens { - let refreshToken = keychainManager.refreshToken() ?? "" + let refreshToken = await authService.refreshToken ?? "" do { - let dto: RefreshResponseDTO = try await provider.request(.refresh(refreshToken: refreshToken)) - guard let token = dto.data else { - let message = dto.error?.message ?? "토큰 재발급 응답이 비어 있습니다" - throw AuthError.backendError(message) - } - return token.toDomain() + let data = try await client.send( + AuthService.refresh(refreshToken: refreshToken), + as: TokenDTO.self + ) + return data.toDomain() } catch { Log.error("🔍 [AuthRepositoryImpl] Refresh failed: \(error)") - if let afError = error.asAFError, - case let .responseValidationFailed(reason) = afError, - case let .unacceptableStatusCode(code) = reason, - code == 401 - { - throw AuthError.refreshTokenExpired - } - - let errorString = String(describing: error) - if errorString.contains("statusCodeError(401)") { + // 서버가 refresh token 을 거부한 경우만 재로그인으로 보낸다(5xx 는 일시 장애). + if case let .response(response) = error, response.isUnauthorized { throw AuthError.refreshTokenExpired } - throw error } } @@ -96,11 +74,11 @@ public final class AuthRepositoryImpl: AuthInterface, @unchecked Sendable { // MARK: - 로그아웃 public func logout() async throws -> AuthExitEntity { - let response = try await authProvider.requestResponse(.logout) + let response = try await client.sendResponse(AuthService.logout) let decoder = JSONDecoder() if (200 ... 299).contains(response.statusCode) { - clearLocalSession() + await authService.signOut() if response.data.isEmpty { return AuthExitEntity(loggedOut: true) } if let success = try? decoder.decode(LogOutDTO.self, from: response.data) { return success.toDomain() @@ -117,7 +95,7 @@ public final class AuthRepositoryImpl: AuthInterface, @unchecked Sendable { // MARK: - 회원 탈퇴 public func withDraw(reason: String) async throws -> WithdrawEntity { - let response = try await authProvider.requestResponse(.withdraw(reason: reason)) + let response = try await client.sendResponse(AuthService.withdraw(reason: reason)) let decoder = JSONDecoder() if (200 ... 299).contains(response.statusCode) { @@ -139,14 +117,11 @@ public final class AuthRepositoryImpl: AuthInterface, @unchecked Sendable { // MARK: - 세션 Credential 업데이트 - public func updateSessionCredential(with tokens: AuthTokens) { - AuthSessionManager.shared.updateCredential(with: tokens) - OptimizedSessionManager.shared.updateCredential(with: tokens) - } - - private func clearLocalSession() { - keychainManager.clear() - AuthSessionManager.shared.clear() - OptimizedSessionManager.shared.clear() + /// 로그인 토큰을 Keychain 과 실행 중인 인증 세션에 함께 반영한다. + public func updateSessionCredential(with tokens: AuthTokens) async { + await authService.signIn( + accessToken: tokens.accessToken, + refreshToken: tokens.refreshToken + ) } } diff --git a/Projects/Domain/AuthDomain/Testing/MockAuthRepository.swift b/Projects/Domain/AuthDomain/Testing/MockAuthRepository.swift index 4538caf5..459b5135 100644 --- a/Projects/Domain/AuthDomain/Testing/MockAuthRepository.swift +++ b/Projects/Domain/AuthDomain/Testing/MockAuthRepository.swift @@ -135,7 +135,7 @@ public final class MockAuthRepository: AuthInterface, @unchecked Sendable { } } - public func updateSessionCredential(with tokens: AuthTokens) { + public func updateSessionCredential(with tokens: AuthTokens) async { updateCredentialCallCount += 1 lastUpdatedTokens = tokens } diff --git a/Projects/Domain/AuthDomain/Tests/AuthRepositoryTests.swift b/Projects/Domain/AuthDomain/Tests/AuthRepositoryTests.swift index 22d024d6..1593bd15 100644 --- a/Projects/Domain/AuthDomain/Tests/AuthRepositoryTests.swift +++ b/Projects/Domain/AuthDomain/Tests/AuthRepositoryTests.swift @@ -4,6 +4,8 @@ // import Foundation + +import Dependencies import Testing @testable import AuthData @@ -30,10 +32,11 @@ struct AuthRepositoryTests { } """.utf8) - let repo = AuthRepositoryImpl( - provider: StubNetworkProvider(stubData: fixture), - authProvider: ThrowingStubNetworkProvider() - ) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: fixture) + } operation: { + AuthRepositoryImpl() + } let entity = try await repo.login( provider: .kakao, @@ -60,10 +63,11 @@ struct AuthRepositoryTests { } """.utf8) - let repo = AuthRepositoryImpl( - provider: StubNetworkProvider(stubData: fixture), - authProvider: ThrowingStubNetworkProvider() - ) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: fixture) + } operation: { + AuthRepositoryImpl() + } do { _ = try await repo.login( @@ -95,10 +99,11 @@ struct AuthRepositoryTests { } """.utf8) - let repo = AuthRepositoryImpl( - provider: StubNetworkProvider(stubData: fixture), - authProvider: ThrowingStubNetworkProvider() - ) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: fixture) + } operation: { + AuthRepositoryImpl() + } let tokens = try await repo.refresh() @@ -116,10 +121,11 @@ struct AuthRepositoryTests { } """.utf8) - let repo = AuthRepositoryImpl( - provider: StubNetworkProvider(stubData: fixture), - authProvider: ThrowingStubNetworkProvider() - ) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: fixture) + } operation: { + AuthRepositoryImpl() + } do { _ = try await repo.refresh() @@ -133,15 +139,16 @@ struct AuthRepositoryTests { @Test func refresh_providerThrows_rethrowsOriginalError() async throws { - let repo = AuthRepositoryImpl( - provider: ThrowingStubNetworkProvider(), - authProvider: ThrowingStubNetworkProvider() - ) + let repo = withDependencies { + $0.networkClient = ThrowingStubNetworkClient() + } operation: { + AuthRepositoryImpl() + } do { _ = try await repo.refresh() Issue.record("provider 가 에러를 던졌는데 refresh() 가 에러를 던지지 않았습니다") - } catch is ThrowingStubNetworkProvider.StubError { + } catch is ThrowingStubNetworkClient.StubError { // AFError 도, "statusCodeError(401)" 문자열도 아니므로 원본 에러가 그대로 다시 던져져야 한다. } catch { Issue.record("예상치 못한 에러 타입: \(error)") @@ -160,10 +167,11 @@ struct AuthRepositoryTests { } """.utf8) - let repo = AuthRepositoryImpl( - provider: ThrowingStubNetworkProvider(), - authProvider: StubNetworkProvider(stubData: fixture, statusCode: 200) - ) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: fixture, statusCode: 200) + } operation: { + AuthRepositoryImpl() + } let entity = try await repo.logout() @@ -174,10 +182,11 @@ struct AuthRepositoryTests { @Test func logout_emptyBody_defaultsToLoggedOutTrue() async throws { - let repo = AuthRepositoryImpl( - provider: ThrowingStubNetworkProvider(), - authProvider: StubNetworkProvider(stubData: Data(), statusCode: 200) - ) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(), statusCode: 200) + } operation: { + AuthRepositoryImpl() + } let entity = try await repo.logout() @@ -194,10 +203,11 @@ struct AuthRepositoryTests { } """.utf8) - let repo = AuthRepositoryImpl( - provider: ThrowingStubNetworkProvider(), - authProvider: StubNetworkProvider(stubData: fixture, statusCode: 500) - ) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: fixture, statusCode: 500) + } operation: { + AuthRepositoryImpl() + } let entity = try await repo.logout() @@ -218,10 +228,11 @@ struct AuthRepositoryTests { } """.utf8) - let repo = AuthRepositoryImpl( - provider: ThrowingStubNetworkProvider(), - authProvider: StubNetworkProvider(stubData: fixture, statusCode: 200) - ) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: fixture, statusCode: 200) + } operation: { + AuthRepositoryImpl() + } let entity = try await repo.withDraw(reason: "NOT_USED_OFTEN") @@ -232,10 +243,11 @@ struct AuthRepositoryTests { @Test func withDraw_emptyBody_defaultsToSuccessTrue() async throws { - let repo = AuthRepositoryImpl( - provider: ThrowingStubNetworkProvider(), - authProvider: StubNetworkProvider(stubData: Data(), statusCode: 200) - ) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(), statusCode: 200) + } operation: { + AuthRepositoryImpl() + } let entity = try await repo.withDraw(reason: "NOT_USED_OFTEN") @@ -253,10 +265,11 @@ struct AuthRepositoryTests { } """.utf8) - let repo = AuthRepositoryImpl( - provider: ThrowingStubNetworkProvider(), - authProvider: StubNetworkProvider(stubData: fixture, statusCode: 403) - ) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: fixture, statusCode: 403) + } operation: { + AuthRepositoryImpl() + } let entity = try await repo.withDraw(reason: "NOT_USED_OFTEN") @@ -269,10 +282,11 @@ struct AuthRepositoryTests { @Test func updateSessionCredential_doesNotCrash() { - let repo = AuthRepositoryImpl( - provider: ThrowingStubNetworkProvider(), - authProvider: ThrowingStubNetworkProvider() - ) + let repo = withDependencies { + $0.networkClient = ThrowingStubNetworkClient() + } operation: { + AuthRepositoryImpl() + } repo.updateSessionCredential(with: AuthTokens(accessToken: "a", refreshToken: "r")) } diff --git a/Projects/Domain/AuthDomain/Tests/TestSupport.swift b/Projects/Domain/AuthDomain/Tests/TestSupport.swift index 07b0beb1..15ceb8ed 100644 --- a/Projects/Domain/AuthDomain/Tests/TestSupport.swift +++ b/Projects/Domain/AuthDomain/Tests/TestSupport.swift @@ -7,29 +7,94 @@ import Foundation import PickeNetwork -/// 고정 데이터를 그대로 디코딩해 반환하는 스텁 provider. -struct StubNetworkProvider: NetworkProviding { +/// 고정 데이터를 서버 응답 봉투(`{ statusCode, data, error }`)로 해석해 돌려주는 스텁 클라이언트. +/// 실클라이언트와 같은 규칙으로 `error` 를 `ResponseError` 로 승격시킨다. +struct StubNetworkClient: PickeNetworkClient { + private struct Envelope: Decodable { + struct Failure: Decodable { + let code: String? + let message: String? + } + + let statusCode: Int? + let data: Payload? + let error: Failure? + } + let stubData: Data var statusCode: Int = 200 - func request(_: Target) async throws -> D { - try JSONDecoder().decode(D.self, from: stubData) + func send( + _: R, + as _: T.Type + ) async throws(PickeNetworkError) -> T { + try decode(T.self) + } + + func send(_: R) async throws(PickeNetworkError) -> R.Response { + try decode(R.Response.self) + } + + func sendResponse(_: R) async throws(PickeNetworkError) -> PickeHTTPResponse { + PickeHTTPResponse(statusCode: statusCode, data: stubData) + } + + func upload(_: R) async throws(PickeNetworkError) -> R.Response { + try decode(R.Response.self) } - func requestResponse(_: Target) async throws -> PickeResponse { - PickeResponse(statusCode: statusCode, data: stubData) + func upload(_: some PickeFileUploadRequest) async throws(PickeNetworkError) {} + + private func decode(_: T.Type) throws(PickeNetworkError) -> T { + let envelope: Envelope + do { + envelope = try JSONDecoder().decode(Envelope.self, from: stubData) + } catch { + throw .decoding(.failed(error)) + } + if let failure = envelope.error { + throw .response( + ResponseError( + httpStatus: envelope.statusCode ?? statusCode, + code: failure.code, + message: failure.message + ) + ) + } + guard let data = envelope.data else { + guard let empty = PickeEmptyResponse() as? T else { + throw .decoding(.dataMissing) + } + return empty + } + return data } } -/// 항상 에러를 던지는 스텁 provider. -struct ThrowingStubNetworkProvider: NetworkProviding { +/// 항상 에러를 던지는 스텁 클라이언트. +struct ThrowingStubNetworkClient: PickeNetworkClient { struct StubError: Error {} - func request(_: Target) async throws -> D { - throw StubError() + func send( + _: R, + as _: T.Type + ) async throws(PickeNetworkError) -> T { + throw .transport(.unknown(StubError())) + } + + func send(_: R) async throws(PickeNetworkError) -> R.Response { + throw .transport(.unknown(StubError())) + } + + func sendResponse(_: R) async throws(PickeNetworkError) -> PickeHTTPResponse { + throw .transport(.unknown(StubError())) + } + + func upload(_: R) async throws(PickeNetworkError) -> R.Response { + throw .transport(.unknown(StubError())) } - func requestResponse(_: Target) async throws -> PickeResponse { - throw StubError() + func upload(_: some PickeFileUploadRequest) async throws(PickeNetworkError) { + throw .transport(.unknown(StubError())) } } diff --git a/Projects/Domain/BattleDomain/Project.swift b/Projects/Domain/BattleDomain/Project.swift index fe71dc86..6893d847 100644 --- a/Projects/Domain/BattleDomain/Project.swift +++ b/Projects/Domain/BattleDomain/Project.swift @@ -15,6 +15,7 @@ let project = Project.configure( .domain(.home, .interface), .service(.api), .service(.apiEndpoint), + .core(.coreUtility), .core(.network), .core(.network, .interface), .SPM.logMarco, diff --git a/Projects/Domain/BattleDomain/Sources/Model/DTO/BattleDetailDataDTO.swift b/Projects/Domain/BattleDomain/Sources/Model/DTO/BattleDetailDataDTO.swift index 72759abd..62e6bf00 100644 --- a/Projects/Domain/BattleDomain/Sources/Model/DTO/BattleDetailDataDTO.swift +++ b/Projects/Domain/BattleDomain/Sources/Model/DTO/BattleDetailDataDTO.swift @@ -5,6 +5,8 @@ import Foundation +import PickeNetworkInterface + public struct BattleDetailDataDTO: Decodable { public let battleInfo: BattleInfoDTO public let description: String @@ -96,5 +98,3 @@ public struct BattleTagDTO: Decodable { public let name: String public let type: String } - -public typealias BattleDetailResponseDTO = BaseResponseDTO diff --git a/Projects/Domain/BattleDomain/Sources/Model/DTO/BattlePerspectiveDataDTO.swift b/Projects/Domain/BattleDomain/Sources/Model/DTO/BattlePerspectiveDataDTO.swift index f4e7bf11..c179deaa 100644 --- a/Projects/Domain/BattleDomain/Sources/Model/DTO/BattlePerspectiveDataDTO.swift +++ b/Projects/Domain/BattleDomain/Sources/Model/DTO/BattlePerspectiveDataDTO.swift @@ -5,6 +5,8 @@ import Foundation +import PickeNetworkInterface + public struct BattlePerspectivePageDataDTO: Decodable { public let items: [BattlePerspectiveDTO] public let nextCursor: String? @@ -43,5 +45,3 @@ public struct CreatePerspectiveDataDTO: Decodable { public let createdAt: String? } -public typealias BattlePerspectivePageResponseDTO = BaseResponseDTO -public typealias CreatePerspectiveResponseDTO = BaseResponseDTO diff --git a/Projects/Domain/BattleDomain/Sources/Model/DTO/BattleProposalDataDTO.swift b/Projects/Domain/BattleDomain/Sources/Model/DTO/BattleProposalDataDTO.swift index d22a7eee..d03db82a 100644 --- a/Projects/Domain/BattleDomain/Sources/Model/DTO/BattleProposalDataDTO.swift +++ b/Projects/Domain/BattleDomain/Sources/Model/DTO/BattleProposalDataDTO.swift @@ -5,6 +5,8 @@ import Foundation +import PickeNetworkInterface + public struct BattleProposalDataDTO: Decodable { public let id: Int? public let userId: Int? @@ -17,5 +19,3 @@ public struct BattleProposalDataDTO: Decodable { public let status: String? public let createdAt: String? } - -public typealias BattleProposalResponseDTO = BaseResponseDTO diff --git a/Projects/Domain/BattleDomain/Sources/Model/DTO/BattleScenarioDataDTO.swift b/Projects/Domain/BattleDomain/Sources/Model/DTO/BattleScenarioDataDTO.swift index 62fe1a19..9ac93c77 100644 --- a/Projects/Domain/BattleDomain/Sources/Model/DTO/BattleScenarioDataDTO.swift +++ b/Projects/Domain/BattleDomain/Sources/Model/DTO/BattleScenarioDataDTO.swift @@ -5,6 +5,8 @@ import Foundation +import PickeNetworkInterface + public struct BattleScenarioDataDTO: Decodable { public let battleId: Int public let title: String @@ -76,5 +78,3 @@ public struct ScenarioInteractiveOptionDTO: Decodable { public let label: String public let nextNodeId: Int } - -public typealias BattleScenarioResponseDTO = BaseResponseDTO diff --git a/Projects/Domain/BattleDomain/Sources/Model/DTO/BattleVoteStatsDataDTO.swift b/Projects/Domain/BattleDomain/Sources/Model/DTO/BattleVoteStatsDataDTO.swift index 977e0737..13a300b6 100644 --- a/Projects/Domain/BattleDomain/Sources/Model/DTO/BattleVoteStatsDataDTO.swift +++ b/Projects/Domain/BattleDomain/Sources/Model/DTO/BattleVoteStatsDataDTO.swift @@ -5,6 +5,8 @@ import Foundation +import PickeNetworkInterface + public struct BattleVoteStatsDataDTO: Decodable { public let options: [BattleVoteStatsOptionDTO] public let totalCount: Int @@ -21,5 +23,3 @@ public struct BattleVoteStatsOptionDTO: Decodable { public let stance: String? public let imageUrl: String? } - -public typealias BattleVoteStatsResponseDTO = BaseResponseDTO diff --git a/Projects/Domain/BattleDomain/Sources/Model/DTO/PreVoteDataDTO.swift b/Projects/Domain/BattleDomain/Sources/Model/DTO/PreVoteDataDTO.swift index a701fb53..2e4a60d6 100644 --- a/Projects/Domain/BattleDomain/Sources/Model/DTO/PreVoteDataDTO.swift +++ b/Projects/Domain/BattleDomain/Sources/Model/DTO/PreVoteDataDTO.swift @@ -5,9 +5,9 @@ import Foundation +import PickeNetworkInterface + public struct PreVoteDataDTO: Decodable { public let voteId: Int public let status: String } - -public typealias PreVoteResponseDTO = BaseResponseDTO diff --git a/Projects/Domain/BattleDomain/Sources/Model/DTO/RecommendedBattleDataDTO.swift b/Projects/Domain/BattleDomain/Sources/Model/DTO/RecommendedBattleDataDTO.swift index c2f5df8d..714737f9 100644 --- a/Projects/Domain/BattleDomain/Sources/Model/DTO/RecommendedBattleDataDTO.swift +++ b/Projects/Domain/BattleDomain/Sources/Model/DTO/RecommendedBattleDataDTO.swift @@ -5,6 +5,8 @@ import Foundation +import PickeNetworkInterface + public struct RecommendedBattlePageDataDTO: Decodable { public let items: [RecommendedBattleDTO] public let nextCursor: String? @@ -34,5 +36,3 @@ public struct RecommendedBattleOptionDTO: Decodable { public let representative: String? public let imageUrl: String? } - -public typealias RecommendedBattlePageResponseDTO = BaseResponseDTO diff --git a/Projects/Domain/BattleDomain/Sources/Model/DTO/TodayBattleDataDTO.swift b/Projects/Domain/BattleDomain/Sources/Model/DTO/TodayBattleDataDTO.swift index 5b809c0d..9afcfd85 100644 --- a/Projects/Domain/BattleDomain/Sources/Model/DTO/TodayBattleDataDTO.swift +++ b/Projects/Domain/BattleDomain/Sources/Model/DTO/TodayBattleDataDTO.swift @@ -5,9 +5,9 @@ import Foundation +import PickeNetworkInterface + public struct TodayBattlePageDataDTO: Decodable { public let items: [BattleInfoDTO] public let totalCount: Int } - -public typealias TodayBattlePageResponseDTO = BaseResponseDTO diff --git a/Projects/Domain/BattleDomain/Sources/Model/Mapper/BattlePerspectiveDataDTO+.swift b/Projects/Domain/BattleDomain/Sources/Model/Mapper/BattlePerspectiveDataDTO+.swift index 141273e4..eb412e14 100644 --- a/Projects/Domain/BattleDomain/Sources/Model/Mapper/BattlePerspectiveDataDTO+.swift +++ b/Projects/Domain/BattleDomain/Sources/Model/Mapper/BattlePerspectiveDataDTO+.swift @@ -5,6 +5,7 @@ import BattleDomainInterface import Foundation +import PickeCoreUtility public extension BattlePerspectivePageDataDTO { func toDomain() -> BattlePerspectivePage { @@ -32,7 +33,7 @@ public extension BattlePerspectiveDTO { } private static func parseISO8601(_ value: String) -> Date? { - PerspectiveDateParser.parse(value) + ServerDateParser.parse(value) } } diff --git a/Projects/Domain/BattleDomain/Sources/Repository/BattleRepositoryImpl.swift b/Projects/Domain/BattleDomain/Sources/Repository/BattleRepositoryImpl.swift index 7b0bc5c9..1d4a1757 100644 --- a/Projects/Domain/BattleDomain/Sources/Repository/BattleRepositoryImpl.swift +++ b/Projects/Domain/BattleDomain/Sources/Repository/BattleRepositoryImpl.swift @@ -5,6 +5,8 @@ import Foundation +import Dependencies + import APIEndpoint import BattleDomainInterface import HomeDomainInterface @@ -13,37 +15,25 @@ import PickeNetwork import LogMacro public final class BattleRepositoryImpl: BattleInterface, @unchecked Sendable { - private let provider: any NetworkProviding + @Dependency(\.networkClient) private var client - public init( - provider: any NetworkProviding = AlamofireNetworkProvider.authorized - ) { - self.provider = provider - } + public init() {} public func fetchTodayBattles() async throws -> TodayBattlePage { - let dto: TodayBattlePageResponseDTO = try await provider.request(.today) - - guard let data = dto.data else { - let message = dto.error?.message ?? "오늘의 배틀 응답이 비어 있습니다" - Log.error("[BattleRepositoryImpl] empty todayBattles payload: \(message)") - throw BattleError.backendError(message) - } + let data = try await client.send( + BattleService.today, + as: TodayBattlePageDataDTO.self + ) return data.toDomain() } public func fetchBattle(battleId: Int) async throws -> BattleDetail { - let dto: BattleDetailResponseDTO = try await provider.request( - .detail(battleId: battleId) + let data = try await client.send( + BattleService.detail(battleId: battleId), + as: BattleDetailDataDTO.self ) - guard let data = dto.data else { - let message = dto.error?.message ?? "배틀 상세 응답이 비어 있습니다" - Log.error("[BattleRepositoryImpl] empty battleDetail payload: \(message)") - throw BattleError.backendError(message) - } - return data.toDomain() } @@ -51,30 +41,20 @@ public final class BattleRepositoryImpl: BattleInterface, @unchecked Sendable { battleId: Int, optionId: Int ) async throws -> PreVoteResult { - let dto: PreVoteResponseDTO = try await provider.request( - .preVote(battleId: battleId, body: PreVoteRequest(optionId: optionId)) + let data = try await client.send( + BattleService.preVote(battleId: battleId, body: PreVoteRequest(optionId: optionId)), + as: PreVoteDataDTO.self ) - guard let data = dto.data else { - let message = dto.error?.message ?? "사전 투표 응답이 비어 있습니다" - Log.error("[BattleRepositoryImpl] empty preVote payload: \(message)") - throw BattleError.backendError(message) - } - return data.toDomain() } public func fetchVoteStats(battleId: Int) async throws -> BattleVoteStats { - let dto: BattleVoteStatsResponseDTO = try await provider.request( - .voteStats(battleId: battleId) + let data = try await client.send( + BattleService.voteStats(battleId: battleId), + as: BattleVoteStatsDataDTO.self ) - guard let data = dto.data else { - let message = dto.error?.message ?? "투표 통계 응답이 비어 있습니다" - Log.error("[BattleRepositoryImpl] empty voteStats payload: \(message)") - throw BattleError.backendError(message) - } - return data.toDomain() } @@ -82,16 +62,11 @@ public final class BattleRepositoryImpl: BattleInterface, @unchecked Sendable { battleId: Int, optionId: Int ) async throws -> PreVoteResult { - let dto: PreVoteResponseDTO = try await provider.request( - .postVote(battleId: battleId, body: PreVoteRequest(optionId: optionId)) + let data = try await client.send( + BattleService.postVote(battleId: battleId, body: PreVoteRequest(optionId: optionId)), + as: PreVoteDataDTO.self ) - guard let data = dto.data else { - let message = dto.error?.message ?? "최종 투표 응답이 비어 있습니다" - Log.error("[BattleRepositoryImpl] empty postVote payload: \(message)") - throw BattleError.backendError(message) - } - return data.toDomain() } @@ -102,24 +77,14 @@ public final class BattleRepositoryImpl: BattleInterface, @unchecked Sendable { optionId: Int?, sort: BattlePerspectiveSort? ) async throws -> BattlePerspectivePage { - let dto: BattlePerspectivePageResponseDTO = try await provider.request( - .perspectives( + let data = try await client.send( + BattleService.perspectives( battleId: battleId, - query: PerspectivesQueryRequest( - cursor: cursor, - size: size, - optionId: optionId, - sort: sort?.queryValue - ) - ) + query: PerspectivesQueryRequest(cursor: cursor, size: size, optionId: optionId, sort: sort?.queryValue) + ), + as: BattlePerspectivePageDataDTO.self ) - guard let data = dto.data else { - let message = dto.error?.message ?? "댓글 목록 응답이 비어 있습니다" - Log.error("[BattleRepositoryImpl] empty perspectives payload: \(message)") - throw BattleError.backendError(message) - } - return data.toDomain() } @@ -128,19 +93,14 @@ public final class BattleRepositoryImpl: BattleInterface, @unchecked Sendable { content: String, optionId: Int? ) async throws -> BattlePerspective? { - let dto: CreatePerspectiveResponseDTO = try await provider.request( - .createPerspective( + _ = try await client.send( + BattleService.createPerspective( battleId: battleId, body: CreatePerspectiveRequest(content: content, optionId: optionId) - ) + ), + as: CreatePerspectiveDataDTO.self ) - guard dto.data != nil else { - let message = dto.error?.message ?? "댓글 작성 응답이 비어 있습니다" - Log.error("[BattleRepositoryImpl] empty createPerspective payload: \(message)") - throw BattleError.backendError(message) - } - // 등록 응답에는 진영(option)이 없어 재조회로 채운다. 재조회가 실패해도 등록은 이미 성공했으므로 // 실패로 뒤집지 않고 nil 을 돌려준다 — 호출부는 목록만 갱신하고 진영 전환을 건너뛴다. let perspective = try? await fetchMyPerspective(battleId: battleId) @@ -151,67 +111,50 @@ public final class BattleRepositoryImpl: BattleInterface, @unchecked Sendable { } public func fetchMyPerspective(battleId: Int) async throws -> BattlePerspective? { - let dto: BaseResponseDTO + let dto: BattlePerspectiveDTO do { - dto = try await provider.request(.myPerspective(battleId: battleId)) + dto = try await client.send( + BattleService.myPerspective(battleId: battleId), + as: BattlePerspectiveDTO.self + ) } catch { Log.debug("[BattleRepositoryImpl] fetchMyPerspective failed (no participation): \(error.localizedDescription)") return nil } - if dto.statusCode >= 400 { - return nil - } - return dto.data?.toDomain() + return dto.toDomain() } public func fetchScenario(battleId: Int) async throws -> BattleScenario { - let dto: BattleScenarioResponseDTO = try await provider.request( - .scenario(battleId: battleId) + let data = try await client.send( + BattleService.scenario(battleId: battleId), + as: BattleScenarioDataDTO.self ) - guard let data = dto.data else { - let message = dto.error?.message ?? "시나리오 응답이 비어 있습니다" - Log.error("[BattleRepositoryImpl] empty scenario payload: \(message)") - throw BattleError.backendError(message) - } - return data.toDomain() } public func fetchRecommendedBattles(battleId: Int) async throws -> RecommendedBattlePage { - let dto: RecommendedBattlePageResponseDTO = try await provider.request( - .recommendations(battleId: battleId) + let data = try await client.send( + BattleService.recommendations(battleId: battleId), + as: RecommendedBattlePageDataDTO.self ) - guard let data = dto.data else { - let message = dto.error?.message ?? "추천 배틀 응답이 비어 있습니다" - Log.error("[BattleRepositoryImpl] empty recommendations payload: \(message)") - throw BattleError.backendError(message) - } - return data.toDomain() } public func proposeBattle(_ draft: BattleProposalDraft) async throws -> BattleProposal { - let dto: BattleProposalResponseDTO = try await provider.request( - .createProposal( - body: BattleProposalRequest( - category: draft.category, - topic: draft.topic, - positionA: draft.positionA, - positionB: draft.positionB, - description: draft.description - ) - ) + let data = try await client.send( + BattleService.createProposal(body: BattleProposalRequest( + category: draft.category, + topic: draft.topic, + positionA: draft.positionA, + positionB: draft.positionB, + description: draft.description + )), + as: BattleProposalDataDTO.self ) - guard let data = dto.data else { - let message = dto.error?.message ?? "배틀 제안 응답이 비어 있습니다" - Log.error("[BattleRepositoryImpl] empty proposeBattle payload: \(message)") - throw BattleError.backendError(message) - } - return data.toDomain() } } diff --git a/Projects/Domain/BattleDomain/Tests/BattleRepositoryTests.swift b/Projects/Domain/BattleDomain/Tests/BattleRepositoryTests.swift index 33f9c20a..d054425a 100644 --- a/Projects/Domain/BattleDomain/Tests/BattleRepositoryTests.swift +++ b/Projects/Domain/BattleDomain/Tests/BattleRepositoryTests.swift @@ -10,6 +10,8 @@ import Testing import APIEndpoint import BattleDomainInterface import Foundation + +import Dependencies import HomeDomainInterface struct BattleRepositoryTests { @@ -40,7 +42,11 @@ struct BattleRepositoryTests { "error": null } """ - let repo = BattleRepositoryImpl(provider: StubNetworkProvider(stubData: Data(json.utf8))) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) + } operation: { + BattleRepositoryImpl() + } let page = try await repo.fetchTodayBattles() @@ -55,7 +61,11 @@ struct BattleRepositoryTests { let json = """ { "statusCode": 200, "data": { "items": [], "totalCount": 0 }, "error": null } """ - let repo = BattleRepositoryImpl(provider: StubNetworkProvider(stubData: Data(json.utf8))) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) + } operation: { + BattleRepositoryImpl() + } let page = try await repo.fetchTodayBattles() @@ -67,7 +77,11 @@ struct BattleRepositoryTests { let json = """ { "statusCode": 400, "data": null, "error": {"code": "BAD_REQUEST", "message": "오늘의 배틀 조회 실패"} } """ - let repo = BattleRepositoryImpl(provider: StubNetworkProvider(stubData: Data(json.utf8))) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) + } operation: { + BattleRepositoryImpl() + } do { _ = try await repo.fetchTodayBattles() @@ -110,7 +124,11 @@ struct BattleRepositoryTests { "error": null } """ - let repo = BattleRepositoryImpl(provider: StubNetworkProvider(stubData: Data(json.utf8))) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) + } operation: { + BattleRepositoryImpl() + } let detail = try await repo.fetchBattle(battleId: 1) @@ -126,7 +144,11 @@ struct BattleRepositoryTests { let json = """ { "statusCode": 200, "data": {"voteId": 10, "status": "CREATED"}, "error": null } """ - let repo = BattleRepositoryImpl(provider: StubNetworkProvider(stubData: Data(json.utf8))) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) + } operation: { + BattleRepositoryImpl() + } let result = try await repo.submitPreVote(battleId: 1, optionId: 7) @@ -140,7 +162,11 @@ struct BattleRepositoryTests { let json = """ { "statusCode": 200, "data": {"voteId": 11, "status": "UPDATED"}, "error": null } """ - let repo = BattleRepositoryImpl(provider: StubNetworkProvider(stubData: Data(json.utf8))) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) + } operation: { + BattleRepositoryImpl() + } let result = try await repo.submitPostVote(battleId: 1, optionId: 3) @@ -165,7 +191,11 @@ struct BattleRepositoryTests { "error": null } """ - let repo = BattleRepositoryImpl(provider: StubNetworkProvider(stubData: Data(json.utf8))) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) + } operation: { + BattleRepositoryImpl() + } let stats = try await repo.fetchVoteStats(battleId: 1) @@ -201,7 +231,11 @@ struct BattleRepositoryTests { "error": null } """ - let repo = BattleRepositoryImpl(provider: StubNetworkProvider(stubData: Data(json.utf8))) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) + } operation: { + BattleRepositoryImpl() + } let page = try await repo.fetchPerspectives(battleId: 1, cursor: nil, size: nil, optionId: nil, sort: nil) @@ -215,7 +249,11 @@ struct BattleRepositoryTests { let json = """ { "statusCode": 200, "data": {"items": [], "nextCursor": null, "hasNext": false}, "error": null } """ - let repo = BattleRepositoryImpl(provider: StubNetworkProvider(stubData: Data(json.utf8))) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) + } operation: { + BattleRepositoryImpl() + } let page = try await repo.fetchPerspectives(battleId: 1, cursor: nil, size: nil, optionId: nil, sort: .popular) @@ -226,7 +264,7 @@ struct BattleRepositoryTests { // MARK: - createPerspective // createPerspective 는 생성 응답 확인 후 fetchMyPerspective 를 재호출한다. - // StubNetworkProvider 는 요청 target 과 무관하게 동일한 stubData 를 디코딩하므로, + // StubNetworkClient 는 요청 target 과 무관하게 동일한 stubData 를 디코딩하므로, // 이 fixture 는 CreatePerspectiveDataDTO(perspectiveId/status/createdAt) 와 // BattlePerspectiveDTO(perspectiveId/user/option/content/likeCount/commentCount/...) 양쪽 모두를 // 디코딩할 수 있도록 두 DTO 의 필드를 모두 포함한다. @@ -250,7 +288,11 @@ struct BattleRepositoryTests { "error": null } """ - let repo = BattleRepositoryImpl(provider: StubNetworkProvider(stubData: Data(json.utf8))) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) + } operation: { + BattleRepositoryImpl() + } let perspective = try await repo.createPerspective(battleId: 1, content: "내 의견입니다", optionId: 1) @@ -273,7 +315,11 @@ struct BattleRepositoryTests { "error": null } """ - let repo = BattleRepositoryImpl(provider: StubNetworkProvider(stubData: Data(json.utf8))) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) + } operation: { + BattleRepositoryImpl() + } let perspective = try await repo.createPerspective(battleId: 39, content: "ㄴㄴㄴ", optionId: 75) @@ -284,7 +330,11 @@ struct BattleRepositoryTests { let json = """ { "statusCode": 400, "data": null, "error": {"code": "BAD_REQUEST", "message": "댓글 작성 실패"} } """ - let repo = BattleRepositoryImpl(provider: StubNetworkProvider(stubData: Data(json.utf8))) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) + } operation: { + BattleRepositoryImpl() + } do { _ = try await repo.createPerspective(battleId: 1, content: "내용", optionId: nil) @@ -318,7 +368,11 @@ struct BattleRepositoryTests { "error": null } """ - let repo = BattleRepositoryImpl(provider: StubNetworkProvider(stubData: Data(json.utf8))) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) + } operation: { + BattleRepositoryImpl() + } let perspective = try await repo.fetchMyPerspective(battleId: 1) @@ -329,7 +383,11 @@ struct BattleRepositoryTests { let json = """ { "statusCode": 404, "data": null, "error": {"code": "NOT_FOUND", "message": "참여 이력 없음"} } """ - let repo = BattleRepositoryImpl(provider: StubNetworkProvider(stubData: Data(json.utf8))) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) + } operation: { + BattleRepositoryImpl() + } let perspective = try await repo.fetchMyPerspective(battleId: 1) @@ -337,7 +395,11 @@ struct BattleRepositoryTests { } @Test func fetchMyPerspective_는_provider_가_에러를_던지면_nil_을_반환한다() async throws { - let repo = BattleRepositoryImpl(provider: ThrowingStubNetworkProvider()) + let repo = withDependencies { + $0.networkClient = ThrowingStubNetworkClient() + } operation: { + BattleRepositoryImpl() + } let perspective = try await repo.fetchMyPerspective(battleId: 1) @@ -372,7 +434,11 @@ struct BattleRepositoryTests { "error": null } """ - let repo = BattleRepositoryImpl(provider: StubNetworkProvider(stubData: Data(json.utf8))) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) + } operation: { + BattleRepositoryImpl() + } let scenario = try await repo.fetchScenario(battleId: 1) @@ -402,7 +468,11 @@ struct BattleRepositoryTests { "error": null } """ - let repo = BattleRepositoryImpl(provider: StubNetworkProvider(stubData: Data(json.utf8))) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) + } operation: { + BattleRepositoryImpl() + } let scenario = try await repo.fetchScenario(battleId: 1) @@ -435,7 +505,11 @@ struct BattleRepositoryTests { "error": null } """ - let repo = BattleRepositoryImpl(provider: StubNetworkProvider(stubData: Data(json.utf8))) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) + } operation: { + BattleRepositoryImpl() + } let page = try await repo.fetchRecommendedBattles(battleId: 1) @@ -456,7 +530,11 @@ struct BattleRepositoryTests { "error": null } """ - let repo = BattleRepositoryImpl(provider: StubNetworkProvider(stubData: Data(json.utf8))) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) + } operation: { + BattleRepositoryImpl() + } let page = try await repo.fetchRecommendedBattles(battleId: 1) @@ -487,7 +565,11 @@ struct BattleRepositoryTests { "error": null } """ - let repo = BattleRepositoryImpl(provider: StubNetworkProvider(stubData: Data(json.utf8))) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) + } operation: { + BattleRepositoryImpl() + } let draft = BattleProposalDraft( category: "철학", topic: "AI는 의식이 있는가", @@ -507,7 +589,11 @@ struct BattleRepositoryTests { let json = """ { "statusCode": 400, "data": null, "error": {"code": "BAD_REQUEST", "message": "배틀 제안 실패"} } """ - let repo = BattleRepositoryImpl(provider: StubNetworkProvider(stubData: Data(json.utf8))) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) + } operation: { + BattleRepositoryImpl() + } let draft = BattleProposalDraft( category: "철학", topic: "주제", diff --git a/Projects/Domain/BattleDomain/Tests/TestSupport.swift b/Projects/Domain/BattleDomain/Tests/TestSupport.swift index 9535d1e1..dde21656 100644 --- a/Projects/Domain/BattleDomain/Tests/TestSupport.swift +++ b/Projects/Domain/BattleDomain/Tests/TestSupport.swift @@ -7,29 +7,94 @@ import Foundation import PickeNetwork -/// 고정 데이터를 그대로 디코딩해 반환하는 스텁 provider. -struct StubNetworkProvider: NetworkProviding { +/// 고정 데이터를 서버 응답 봉투(`{ statusCode, data, error }`)로 해석해 돌려주는 스텁 클라이언트. +/// 실클라이언트와 같은 규칙으로 `error` 를 `ResponseError` 로 승격시킨다. +struct StubNetworkClient: PickeNetworkClient { + private struct Envelope: Decodable { + struct Failure: Decodable { + let code: String? + let message: String? + } + + let statusCode: Int? + let data: Payload? + let error: Failure? + } + let stubData: Data var statusCode: Int = 200 - func request(_: Target) async throws -> D { - try JSONDecoder().decode(D.self, from: stubData) + func send( + _: R, + as _: T.Type + ) async throws(PickeNetworkError) -> T { + try decode(T.self) + } + + func send(_: R) async throws(PickeNetworkError) -> R.Response { + try decode(R.Response.self) + } + + func sendResponse(_: R) async throws(PickeNetworkError) -> PickeHTTPResponse { + PickeHTTPResponse(statusCode: statusCode, data: stubData) + } + + func upload(_: R) async throws(PickeNetworkError) -> R.Response { + try decode(R.Response.self) } - func requestResponse(_: Target) async throws -> PickeResponse { - PickeResponse(statusCode: statusCode, data: stubData) + func upload(_: some PickeFileUploadRequest) async throws(PickeNetworkError) {} + + private func decode(_: T.Type) throws(PickeNetworkError) -> T { + let envelope: Envelope + do { + envelope = try JSONDecoder().decode(Envelope.self, from: stubData) + } catch { + throw .decoding(.failed(error)) + } + if let failure = envelope.error { + throw .response( + ResponseError( + httpStatus: envelope.statusCode ?? statusCode, + code: failure.code, + message: failure.message + ) + ) + } + guard let data = envelope.data else { + guard let empty = PickeEmptyResponse() as? T else { + throw .decoding(.dataMissing) + } + return empty + } + return data } } -/// 항상 에러를 던지는 스텁 provider. -struct ThrowingStubNetworkProvider: NetworkProviding { +/// 항상 에러를 던지는 스텁 클라이언트. +struct ThrowingStubNetworkClient: PickeNetworkClient { struct StubError: Error {} - func request(_: Target) async throws -> D { - throw StubError() + func send( + _: R, + as _: T.Type + ) async throws(PickeNetworkError) -> T { + throw .transport(.unknown(StubError())) + } + + func send(_: R) async throws(PickeNetworkError) -> R.Response { + throw .transport(.unknown(StubError())) + } + + func sendResponse(_: R) async throws(PickeNetworkError) -> PickeHTTPResponse { + throw .transport(.unknown(StubError())) + } + + func upload(_: R) async throws(PickeNetworkError) -> R.Response { + throw .transport(.unknown(StubError())) } - func requestResponse(_: Target) async throws -> PickeResponse { - throw StubError() + func upload(_: some PickeFileUploadRequest) async throws(PickeNetworkError) { + throw .transport(.unknown(StubError())) } } diff --git a/Projects/Domain/CommentDomain/Sources/Model/DTO/CommentLikeDataDTO.swift b/Projects/Domain/CommentDomain/Sources/Model/DTO/CommentLikeDataDTO.swift index f901df2a..b96cc2a8 100644 --- a/Projects/Domain/CommentDomain/Sources/Model/DTO/CommentLikeDataDTO.swift +++ b/Projects/Domain/CommentDomain/Sources/Model/DTO/CommentLikeDataDTO.swift @@ -13,5 +13,3 @@ public struct CommentLikeDataDTO: Decodable { /// perspective 좋아요 응답에는 isLiked 가 없어 옵셔널. public let isLiked: Bool? } - -public typealias CommentLikeResponseDTO = BaseResponseDTO diff --git a/Projects/Domain/CommentDomain/Sources/Repository/CommentRepositoryImpl.swift b/Projects/Domain/CommentDomain/Sources/Repository/CommentRepositoryImpl.swift index 4cf744cb..beb11b76 100644 --- a/Projects/Domain/CommentDomain/Sources/Repository/CommentRepositoryImpl.swift +++ b/Projects/Domain/CommentDomain/Sources/Repository/CommentRepositoryImpl.swift @@ -5,42 +5,33 @@ import Foundation +import Dependencies + import APIEndpoint import CommentDomainInterface import PickeNetwork import LogMacro - public final class CommentRepositoryImpl: CommentInterface, @unchecked Sendable { - private let provider: any NetworkProviding + @Dependency(\.networkClient) private var client - public init( - provider: any NetworkProviding = AlamofireNetworkProvider.authorized - ) { - self.provider = provider - } + public init() {} public func likeComment(commentId: Int) async throws -> CommentLikeResult { - let dto: CommentLikeResponseDTO = try await provider.request(.like(commentId: commentId)) - - guard let data = dto.data else { - let message = dto.error?.message ?? "댓글 좋아요 응답이 비어 있습니다" - Log.error("[CommentRepositoryImpl] empty like payload: \(message)") - throw CommentError.backendError(message) - } + let data = try await client.send( + CommentService.like(commentId: commentId), + as: CommentLikeDataDTO.self + ) return data.toDomain() } public func unlikeComment(commentId: Int) async throws -> CommentLikeResult { - let dto: CommentLikeResponseDTO = try await provider.request(.unlike(commentId: commentId)) - - guard let data = dto.data else { - let message = dto.error?.message ?? "댓글 좋아요 취소 응답이 비어 있습니다" - Log.error("[CommentRepositoryImpl] empty unlike payload: \(message)") - throw CommentError.backendError(message) - } + let data = try await client.send( + CommentService.unlike(commentId: commentId), + as: CommentLikeDataDTO.self + ) return data.toDomain() } diff --git a/Projects/Domain/CommentDomain/Tests/CommentRepositoryTests.swift b/Projects/Domain/CommentDomain/Tests/CommentRepositoryTests.swift index cc6af355..dc2b2768 100644 --- a/Projects/Domain/CommentDomain/Tests/CommentRepositoryTests.swift +++ b/Projects/Domain/CommentDomain/Tests/CommentRepositoryTests.swift @@ -4,6 +4,8 @@ // import Foundation + +import Dependencies import Testing @testable import CommentData @@ -27,9 +29,11 @@ struct CommentRepositoryTests { "error": null } """ - let repo = CommentRepositoryImpl( - provider: StubNetworkProvider(stubData: Data(json.utf8)) - ) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) + } operation: { + CommentRepositoryImpl() + } let result = try await repo.likeComment(commentId: 10) @@ -49,9 +53,11 @@ struct CommentRepositoryTests { "error": null } """ - let repo = CommentRepositoryImpl( - provider: StubNetworkProvider(stubData: Data(json.utf8)) - ) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) + } operation: { + CommentRepositoryImpl() + } let result = try await repo.likeComment(commentId: 10) @@ -67,9 +73,11 @@ struct CommentRepositoryTests { "error": { "code": "COMMENT_400", "message": "이미 좋아요한 댓글입니다" } } """ - let repo = CommentRepositoryImpl( - provider: StubNetworkProvider(stubData: Data(json.utf8)) - ) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) + } operation: { + CommentRepositoryImpl() + } await #expect(throws: CommentError.backendError("이미 좋아요한 댓글입니다")) { try await repo.likeComment(commentId: 10) @@ -78,9 +86,11 @@ struct CommentRepositoryTests { @Test func likeComment_networkFailure_throws() async throws { - let repo = CommentRepositoryImpl( - provider: ThrowingStubNetworkProvider() - ) + let repo = withDependencies { + $0.networkClient = ThrowingStubNetworkClient() + } operation: { + CommentRepositoryImpl() + } await #expect(throws: (any Error).self) { try await repo.likeComment(commentId: 10) @@ -102,9 +112,11 @@ struct CommentRepositoryTests { "error": null } """ - let repo = CommentRepositoryImpl( - provider: StubNetworkProvider(stubData: Data(json.utf8)) - ) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) + } operation: { + CommentRepositoryImpl() + } let result = try await repo.unlikeComment(commentId: 10) @@ -120,9 +132,11 @@ struct CommentRepositoryTests { "error": null } """ - let repo = CommentRepositoryImpl( - provider: StubNetworkProvider(stubData: Data(json.utf8)) - ) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) + } operation: { + CommentRepositoryImpl() + } await #expect(throws: CommentError.backendError("댓글 좋아요 취소 응답이 비어 있습니다")) { try await repo.unlikeComment(commentId: 10) @@ -131,9 +145,11 @@ struct CommentRepositoryTests { @Test func unlikeComment_networkFailure_throws() async throws { - let repo = CommentRepositoryImpl( - provider: ThrowingStubNetworkProvider() - ) + let repo = withDependencies { + $0.networkClient = ThrowingStubNetworkClient() + } operation: { + CommentRepositoryImpl() + } await #expect(throws: (any Error).self) { try await repo.unlikeComment(commentId: 10) diff --git a/Projects/Domain/CommentDomain/Tests/TestSupport.swift b/Projects/Domain/CommentDomain/Tests/TestSupport.swift index 9ca1b954..39f64d2d 100644 --- a/Projects/Domain/CommentDomain/Tests/TestSupport.swift +++ b/Projects/Domain/CommentDomain/Tests/TestSupport.swift @@ -7,27 +7,94 @@ import Foundation import PickeNetwork -struct StubNetworkProvider: NetworkProviding { +/// 고정 데이터를 서버 응답 봉투(`{ statusCode, data, error }`)로 해석해 돌려주는 스텁 클라이언트. +/// 실클라이언트와 같은 규칙으로 `error` 를 `ResponseError` 로 승격시킨다. +struct StubNetworkClient: PickeNetworkClient { + private struct Envelope: Decodable { + struct Failure: Decodable { + let code: String? + let message: String? + } + + let statusCode: Int? + let data: Payload? + let error: Failure? + } + let stubData: Data var statusCode: Int = 200 - func request(_: Target) async throws -> D { - try JSONDecoder().decode(D.self, from: stubData) + func send( + _: R, + as _: T.Type + ) async throws(PickeNetworkError) -> T { + try decode(T.self) + } + + func send(_: R) async throws(PickeNetworkError) -> R.Response { + try decode(R.Response.self) + } + + func sendResponse(_: R) async throws(PickeNetworkError) -> PickeHTTPResponse { + PickeHTTPResponse(statusCode: statusCode, data: stubData) + } + + func upload(_: R) async throws(PickeNetworkError) -> R.Response { + try decode(R.Response.self) } - func requestResponse(_: Target) async throws -> PickeResponse { - PickeResponse(statusCode: statusCode, data: stubData) + func upload(_: some PickeFileUploadRequest) async throws(PickeNetworkError) {} + + private func decode(_: T.Type) throws(PickeNetworkError) -> T { + let envelope: Envelope + do { + envelope = try JSONDecoder().decode(Envelope.self, from: stubData) + } catch { + throw .decoding(.failed(error)) + } + if let failure = envelope.error { + throw .response( + ResponseError( + httpStatus: envelope.statusCode ?? statusCode, + code: failure.code, + message: failure.message + ) + ) + } + guard let data = envelope.data else { + guard let empty = PickeEmptyResponse() as? T else { + throw .decoding(.dataMissing) + } + return empty + } + return data } } -struct ThrowingStubNetworkProvider: NetworkProviding { +/// 항상 에러를 던지는 스텁 클라이언트. +struct ThrowingStubNetworkClient: PickeNetworkClient { struct StubError: Error {} - func request(_: Target) async throws -> D { - throw StubError() + func send( + _: R, + as _: T.Type + ) async throws(PickeNetworkError) -> T { + throw .transport(.unknown(StubError())) + } + + func send(_: R) async throws(PickeNetworkError) -> R.Response { + throw .transport(.unknown(StubError())) + } + + func sendResponse(_: R) async throws(PickeNetworkError) -> PickeHTTPResponse { + throw .transport(.unknown(StubError())) + } + + func upload(_: R) async throws(PickeNetworkError) -> R.Response { + throw .transport(.unknown(StubError())) } - func requestResponse(_: Target) async throws -> PickeResponse { - throw StubError() + func upload(_: some PickeFileUploadRequest) async throws(PickeNetworkError) { + throw .transport(.unknown(StubError())) } } diff --git a/Projects/Domain/HomeDomain/Sources/Model/HomeDataDTO.swift b/Projects/Domain/HomeDomain/Sources/Model/HomeDataDTO.swift index 17338ede..d5bb8dfa 100644 --- a/Projects/Domain/HomeDomain/Sources/Model/HomeDataDTO.swift +++ b/Projects/Domain/HomeDomain/Sources/Model/HomeDataDTO.swift @@ -112,4 +112,3 @@ public struct NewBattleDTO: Decodable, Identifiable { } /// `GET /api/v1/home` 응답 타입 별칭. -public typealias HomeResponseDTO = BaseResponseDTO diff --git a/Projects/Domain/HomeDomain/Sources/Repository/HomeRepositoryImpl.swift b/Projects/Domain/HomeDomain/Sources/Repository/HomeRepositoryImpl.swift index ff7558b8..2de6b52b 100644 --- a/Projects/Domain/HomeDomain/Sources/Repository/HomeRepositoryImpl.swift +++ b/Projects/Domain/HomeDomain/Sources/Repository/HomeRepositoryImpl.swift @@ -7,6 +7,8 @@ import Foundation +import Dependencies + import APIEndpoint import HomeDomainInterface import PickeNetwork @@ -14,24 +16,16 @@ import PickeNetwork import LogMacro import AuthDomainInterface - public final class HomeRepositoryImpl: HomeInterface, @unchecked Sendable { - private let provider: any NetworkProviding + @Dependency(\.networkClient) private var client - public init( - provider: any NetworkProviding = AlamofireNetworkProvider.authorized - ) { - self.provider = provider - } + public init() {} public func fetchHome() async throws -> HomeBundle { - let dto: HomeResponseDTO = try await provider.request(.home) - - guard let data = dto.data else { - let message = dto.error?.message ?? "홈 데이터 응답이 비어 있습니다" - Log.error("[HomeRepositoryImpl] empty home payload: \(message)") - throw AuthError.backendError(message) - } + let data = try await client.send( + HomeService.home, + as: HomeDataDTO.self + ) return data.toDomain() } diff --git a/Projects/Domain/HomeDomain/Tests/HomeRepositoryTests.swift b/Projects/Domain/HomeDomain/Tests/HomeRepositoryTests.swift index 7b84b388..a668e683 100644 --- a/Projects/Domain/HomeDomain/Tests/HomeRepositoryTests.swift +++ b/Projects/Domain/HomeDomain/Tests/HomeRepositoryTests.swift @@ -4,6 +4,8 @@ // import Foundation + +import Dependencies import Testing @testable import HomeData @@ -143,7 +145,11 @@ struct HomeRepositoryTests { @Test func fetchHome_성공시_도메인_번들로_매핑된다() async throws { let data = try #require(Self.fullEnvelope.data(using: .utf8)) - let repository = HomeRepositoryImpl(provider: StubNetworkProvider(stubData: data)) + let repository = withDependencies { + $0.networkClient = StubNetworkClient(stubData: data) + } operation: { + HomeRepositoryImpl() + } let bundle = try await repository.fetchHome() @@ -185,7 +191,11 @@ struct HomeRepositoryTests { @Test func fetchHome_빈_섹션이면_빈_배열로_매핑된다() async throws { let data = try #require(Self.emptyEnvelope.data(using: .utf8)) - let repository = HomeRepositoryImpl(provider: StubNetworkProvider(stubData: data)) + let repository = withDependencies { + $0.networkClient = StubNetworkClient(stubData: data) + } operation: { + HomeRepositoryImpl() + } let bundle = try await repository.fetchHome() @@ -200,7 +210,11 @@ struct HomeRepositoryTests { @Test func fetchHome_data가_비어있으면_backendError_를_던진다() async throws { let data = try #require(Self.emptyDataEnvelope.data(using: .utf8)) - let repository = HomeRepositoryImpl(provider: StubNetworkProvider(stubData: data)) + let repository = withDependencies { + $0.networkClient = StubNetworkClient(stubData: data) + } operation: { + HomeRepositoryImpl() + } await #expect(throws: AuthError.backendError("홈 데이터를 불러오지 못했습니다")) { _ = try await repository.fetchHome() @@ -208,7 +222,11 @@ struct HomeRepositoryTests { } @Test func fetchHome_네트워크_에러_시_에러를_전파한다() async throws { - let repository = HomeRepositoryImpl(provider: ThrowingStubNetworkProvider()) + let repository = withDependencies { + $0.networkClient = ThrowingStubNetworkClient() + } operation: { + HomeRepositoryImpl() + } await #expect(throws: (any Error).self) { _ = try await repository.fetchHome() diff --git a/Projects/Domain/HomeDomain/Tests/TestSupport.swift b/Projects/Domain/HomeDomain/Tests/TestSupport.swift index b7b04841..ab0d60dd 100644 --- a/Projects/Domain/HomeDomain/Tests/TestSupport.swift +++ b/Projects/Domain/HomeDomain/Tests/TestSupport.swift @@ -7,29 +7,94 @@ import Foundation import PickeNetwork -/// 고정 데이터를 그대로 디코딩해 반환하는 스텁 provider. -struct StubNetworkProvider: NetworkProviding { +/// 고정 데이터를 서버 응답 봉투(`{ statusCode, data, error }`)로 해석해 돌려주는 스텁 클라이언트. +/// 실클라이언트와 같은 규칙으로 `error` 를 `ResponseError` 로 승격시킨다. +struct StubNetworkClient: PickeNetworkClient { + private struct Envelope: Decodable { + struct Failure: Decodable { + let code: String? + let message: String? + } + + let statusCode: Int? + let data: Payload? + let error: Failure? + } + let stubData: Data var statusCode: Int = 200 - func request(_: Target) async throws -> D { - try JSONDecoder().decode(D.self, from: stubData) + func send( + _: R, + as _: T.Type + ) async throws(PickeNetworkError) -> T { + try decode(T.self) + } + + func send(_: R) async throws(PickeNetworkError) -> R.Response { + try decode(R.Response.self) + } + + func sendResponse(_: R) async throws(PickeNetworkError) -> PickeHTTPResponse { + PickeHTTPResponse(statusCode: statusCode, data: stubData) + } + + func upload(_: R) async throws(PickeNetworkError) -> R.Response { + try decode(R.Response.self) } - func requestResponse(_: Target) async throws -> PickeResponse { - PickeResponse(statusCode: statusCode, data: stubData) + func upload(_: some PickeFileUploadRequest) async throws(PickeNetworkError) {} + + private func decode(_: T.Type) throws(PickeNetworkError) -> T { + let envelope: Envelope + do { + envelope = try JSONDecoder().decode(Envelope.self, from: stubData) + } catch { + throw .decoding(.failed(error)) + } + if let failure = envelope.error { + throw .response( + ResponseError( + httpStatus: envelope.statusCode ?? statusCode, + code: failure.code, + message: failure.message + ) + ) + } + guard let data = envelope.data else { + guard let empty = PickeEmptyResponse() as? T else { + throw .decoding(.dataMissing) + } + return empty + } + return data } } -/// 항상 에러를 던지는 스텁 provider. -struct ThrowingStubNetworkProvider: NetworkProviding { +/// 항상 에러를 던지는 스텁 클라이언트. +struct ThrowingStubNetworkClient: PickeNetworkClient { struct StubError: Error {} - func request(_: Target) async throws -> D { - throw StubError() + func send( + _: R, + as _: T.Type + ) async throws(PickeNetworkError) -> T { + throw .transport(.unknown(StubError())) + } + + func send(_: R) async throws(PickeNetworkError) -> R.Response { + throw .transport(.unknown(StubError())) + } + + func sendResponse(_: R) async throws(PickeNetworkError) -> PickeHTTPResponse { + throw .transport(.unknown(StubError())) + } + + func upload(_: R) async throws(PickeNetworkError) -> R.Response { + throw .transport(.unknown(StubError())) } - func requestResponse(_: Target) async throws -> PickeResponse { - throw StubError() + func upload(_: some PickeFileUploadRequest) async throws(PickeNetworkError) { + throw .transport(.unknown(StubError())) } } diff --git a/Projects/Domain/NotificationDomain/Sources/Model/DTO/NotificationDataDTO.swift b/Projects/Domain/NotificationDomain/Sources/Model/DTO/NotificationDataDTO.swift index 947bd596..14e3cbd0 100644 --- a/Projects/Domain/NotificationDomain/Sources/Model/DTO/NotificationDataDTO.swift +++ b/Projects/Domain/NotificationDomain/Sources/Model/DTO/NotificationDataDTO.swift @@ -45,6 +45,4 @@ public struct NotificationUnreadDTO: Decodable { public let hasUnread: Bool? } -public typealias NotificationResponseDTO = BaseResponseDTO -public typealias NotificationDetailResponseDTO = BaseResponseDTO -public typealias NotificationUnreadResponseDTO = BaseResponseDTO + diff --git a/Projects/Domain/NotificationDomain/Sources/Repository/NotificationRepositoryImpl.swift b/Projects/Domain/NotificationDomain/Sources/Repository/NotificationRepositoryImpl.swift index 3d14d7e3..69eeb12a 100644 --- a/Projects/Domain/NotificationDomain/Sources/Repository/NotificationRepositoryImpl.swift +++ b/Projects/Domain/NotificationDomain/Sources/Repository/NotificationRepositoryImpl.swift @@ -5,6 +5,8 @@ import Foundation +import Dependencies + import APIEndpoint import PickeNetwork import NotificationDomainInterface @@ -12,66 +14,53 @@ import NotificationDomainInterface import LogMacro public final class NotificationRepositoryImpl: NotificationInterface, @unchecked Sendable { - private let provider: any NetworkProviding + @Dependency(\.networkClient) private var client - public init( - provider: any NetworkProviding = AlamofireNetworkProvider.authorized - ) { - self.provider = provider - } + public init() {} public func fetchNotifications( category: NotificationCategory, page: Int, size: Int ) async throws -> NotificationPage { - let dto: NotificationResponseDTO = try await provider.request( - .list( - query: NotificationsQueryRequest( - category: category.rawValue, - page: page, - size: size - ) - ) + let data = try await client.send( + NotificationService.list( query: NotificationsQueryRequest( category: category.rawValue, page: page, size: size ) ), + as: NotificationDataDTO.self ) - guard let data = dto.data else { - let message = dto.error?.message ?? "알림 응답이 비어 있습니다" - Log.error("[NotificationRepositoryImpl] empty notifications payload: \(message)") - throw NotificationError.backendError(message) - } - return data.toDomain() } public func fetchNotificationDetail(notificationId: Int) async throws -> NotificationDetail { - let dto: NotificationDetailResponseDTO = try await provider.request( - .detail(notificationId: notificationId) + let data = try await client.send( + NotificationService.detail(notificationId: notificationId), + as: NotificationDetailDTO.self ) - guard let data = dto.data else { - let message = dto.error?.message ?? "알림 상세 응답이 비어 있습니다" - Log.error("[NotificationRepositoryImpl] empty notification detail payload: \(message)") - throw NotificationError.backendError(message) - } - return data.toDomain() } public func hasUnreadNotifications() async throws -> Bool { - let dto: NotificationUnreadResponseDTO = try await provider.request(.unread) - return dto.data?.hasUnread ?? false + let data = try await client.send( + NotificationService.unread, + as: NotificationUnreadDTO.self + ) + return data.hasUnread ?? false } public func markAsRead(notificationId: Int) async throws { - let _: BaseResponseDTO = try await provider.request( - .read(notificationId: notificationId) + _ = try await client.send( + NotificationService.read(notificationId: notificationId), + as: PickeEmptyResponse.self ) } /// PATCH /read-all — 서버가 처리 후 최신 미읽음 여부(`data.hasUnread`)를 반환한다. 그 값을 그대로 쓴다. public func markAllAsRead() async throws -> Bool { - let dto: NotificationUnreadResponseDTO = try await provider.request(.readAll) - return dto.data?.hasUnread ?? false + let data = try await client.send( + NotificationService.readAll, + as: NotificationUnreadDTO.self + ) + return data.hasUnread ?? false } } diff --git a/Projects/Domain/NotificationDomain/Tests/NotificationRepositoryTests.swift b/Projects/Domain/NotificationDomain/Tests/NotificationRepositoryTests.swift index cbebe4ed..4a62a6cd 100644 --- a/Projects/Domain/NotificationDomain/Tests/NotificationRepositoryTests.swift +++ b/Projects/Domain/NotificationDomain/Tests/NotificationRepositoryTests.swift @@ -4,6 +4,8 @@ // import Foundation + +import Dependencies import Testing @testable import NotificationData @@ -36,9 +38,11 @@ struct NotificationRepositoryTests { "error": null } """ - let repo = NotificationRepositoryImpl( - provider: StubNetworkProvider(stubData: Data(json.utf8)) - ) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) + } operation: { + NotificationRepositoryImpl() + } let page = try await repo.fetchNotifications(category: .all, page: 0, size: 20) @@ -67,9 +71,11 @@ struct NotificationRepositoryTests { "error": null } """ - let repo = NotificationRepositoryImpl( - provider: StubNetworkProvider(stubData: Data(json.utf8)) - ) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) + } operation: { + NotificationRepositoryImpl() + } let page = try await repo.fetchNotifications(category: .all, page: 0, size: 20) @@ -86,9 +92,11 @@ struct NotificationRepositoryTests { "error": { "code": "NOT_FOUND", "message": "알림이 없습니다" } } """ - let repo = NotificationRepositoryImpl( - provider: StubNetworkProvider(stubData: Data(json.utf8)) - ) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) + } operation: { + NotificationRepositoryImpl() + } await #expect(throws: NotificationError.backendError("알림이 없습니다")) { try await repo.fetchNotifications(category: .all, page: 0, size: 20) @@ -115,9 +123,11 @@ struct NotificationRepositoryTests { "error": null } """ - let repo = NotificationRepositoryImpl( - provider: StubNetworkProvider(stubData: Data(json.utf8)) - ) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) + } operation: { + NotificationRepositoryImpl() + } let detail = try await repo.fetchNotificationDetail(notificationId: 5) @@ -141,9 +151,11 @@ struct NotificationRepositoryTests { "error": { "code": "NOT_FOUND", "message": "알림 상세가 없습니다" } } """ - let repo = NotificationRepositoryImpl( - provider: StubNetworkProvider(stubData: Data(json.utf8)) - ) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) + } operation: { + NotificationRepositoryImpl() + } await #expect(throws: NotificationError.backendError("알림 상세가 없습니다")) { try await repo.fetchNotificationDetail(notificationId: 5) @@ -155,9 +167,11 @@ struct NotificationRepositoryTests { let json = """ { "statusCode": 200, "data": { "hasUnread": true }, "error": null } """ - let repo = NotificationRepositoryImpl( - provider: StubNetworkProvider(stubData: Data(json.utf8)) - ) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) + } operation: { + NotificationRepositoryImpl() + } let hasUnread = try await repo.hasUnreadNotifications() @@ -169,9 +183,11 @@ struct NotificationRepositoryTests { let json = """ { "statusCode": 200, "data": { "hasUnread": false }, "error": null } """ - let repo = NotificationRepositoryImpl( - provider: StubNetworkProvider(stubData: Data(json.utf8)) - ) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) + } operation: { + NotificationRepositoryImpl() + } let hasUnread = try await repo.hasUnreadNotifications() @@ -183,9 +199,11 @@ struct NotificationRepositoryTests { let json = """ { "statusCode": 200, "data": null, "error": null } """ - let repo = NotificationRepositoryImpl( - provider: StubNetworkProvider(stubData: Data(json.utf8)) - ) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) + } operation: { + NotificationRepositoryImpl() + } let hasUnread = try await repo.hasUnreadNotifications() @@ -197,9 +215,11 @@ struct NotificationRepositoryTests { let json = """ { "statusCode": 200, "data": "OK", "error": null } """ - let repo = NotificationRepositoryImpl( - provider: StubNetworkProvider(stubData: Data(json.utf8)) - ) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) + } operation: { + NotificationRepositoryImpl() + } try await repo.markAsRead(notificationId: 1) } @@ -209,9 +229,11 @@ struct NotificationRepositoryTests { let json = """ { "statusCode": 200, "data": "OK", "error": null } """ - let repo = NotificationRepositoryImpl( - provider: StubNetworkProvider(stubData: Data(json.utf8)) - ) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) + } operation: { + NotificationRepositoryImpl() + } try await repo.markAllAsRead() } diff --git a/Projects/Domain/NotificationDomain/Tests/TestSupport.swift b/Projects/Domain/NotificationDomain/Tests/TestSupport.swift index c3eb8e4d..c4c9e558 100644 --- a/Projects/Domain/NotificationDomain/Tests/TestSupport.swift +++ b/Projects/Domain/NotificationDomain/Tests/TestSupport.swift @@ -7,29 +7,94 @@ import Foundation import PickeNetwork -/// 고정 데이터를 그대로 디코딩해 반환하는 스텁 provider. -struct StubNetworkProvider: NetworkProviding { +/// 고정 데이터를 서버 응답 봉투(`{ statusCode, data, error }`)로 해석해 돌려주는 스텁 클라이언트. +/// 실클라이언트와 같은 규칙으로 `error` 를 `ResponseError` 로 승격시킨다. +struct StubNetworkClient: PickeNetworkClient { + private struct Envelope: Decodable { + struct Failure: Decodable { + let code: String? + let message: String? + } + + let statusCode: Int? + let data: Payload? + let error: Failure? + } + let stubData: Data var statusCode: Int = 200 - func request(_: Target) async throws -> D { - try JSONDecoder().decode(D.self, from: stubData) + func send( + _: R, + as _: T.Type + ) async throws(PickeNetworkError) -> T { + try decode(T.self) + } + + func send(_: R) async throws(PickeNetworkError) -> R.Response { + try decode(R.Response.self) + } + + func sendResponse(_: R) async throws(PickeNetworkError) -> PickeHTTPResponse { + PickeHTTPResponse(statusCode: statusCode, data: stubData) + } + + func upload(_: R) async throws(PickeNetworkError) -> R.Response { + try decode(R.Response.self) } - func requestResponse(_: Target) async throws -> PickeResponse { - PickeResponse(statusCode: statusCode, data: stubData) + func upload(_: some PickeFileUploadRequest) async throws(PickeNetworkError) {} + + private func decode(_: T.Type) throws(PickeNetworkError) -> T { + let envelope: Envelope + do { + envelope = try JSONDecoder().decode(Envelope.self, from: stubData) + } catch { + throw .decoding(.failed(error)) + } + if let failure = envelope.error { + throw .response( + ResponseError( + httpStatus: envelope.statusCode ?? statusCode, + code: failure.code, + message: failure.message + ) + ) + } + guard let data = envelope.data else { + guard let empty = PickeEmptyResponse() as? T else { + throw .decoding(.dataMissing) + } + return empty + } + return data } } -/// 항상 에러를 던지는 스텁 provider. -struct ThrowingStubNetworkProvider: NetworkProviding { +/// 항상 에러를 던지는 스텁 클라이언트. +struct ThrowingStubNetworkClient: PickeNetworkClient { struct StubError: Error {} - func request(_: Target) async throws -> D { - throw StubError() + func send( + _: R, + as _: T.Type + ) async throws(PickeNetworkError) -> T { + throw .transport(.unknown(StubError())) + } + + func send(_: R) async throws(PickeNetworkError) -> R.Response { + throw .transport(.unknown(StubError())) + } + + func sendResponse(_: R) async throws(PickeNetworkError) -> PickeHTTPResponse { + throw .transport(.unknown(StubError())) + } + + func upload(_: R) async throws(PickeNetworkError) -> R.Response { + throw .transport(.unknown(StubError())) } - func requestResponse(_: Target) async throws -> PickeResponse { - throw StubError() + func upload(_: some PickeFileUploadRequest) async throws(PickeNetworkError) { + throw .transport(.unknown(StubError())) } } diff --git a/Projects/Domain/PerspectiveDomain/Project.swift b/Projects/Domain/PerspectiveDomain/Project.swift index b0486a30..b13ff13d 100644 --- a/Projects/Domain/PerspectiveDomain/Project.swift +++ b/Projects/Domain/PerspectiveDomain/Project.swift @@ -16,6 +16,7 @@ let project = Project.configure( .SPM.composableArchitecture, .service(.api), .service(.apiEndpoint), + .core(.coreUtility), .core(.network), .core(.network, .interface), .SPM.logMarco, diff --git a/Projects/Domain/PerspectiveDomain/Sources/Model/DTO/PerspectiveCommentDataDTO.swift b/Projects/Domain/PerspectiveDomain/Sources/Model/DTO/PerspectiveCommentDataDTO.swift index f1954bdc..ddabcf80 100644 --- a/Projects/Domain/PerspectiveDomain/Sources/Model/DTO/PerspectiveCommentDataDTO.swift +++ b/Projects/Domain/PerspectiveDomain/Sources/Model/DTO/PerspectiveCommentDataDTO.swift @@ -5,6 +5,8 @@ import Foundation +import PickeNetworkInterface + public struct PerspectiveCommentPageDataDTO: Decodable { public let items: [PerspectiveCommentDTO] public let nextCursor: String? @@ -36,6 +38,3 @@ public struct PerspectiveCommentMutationDataDTO: Decodable { public let updatedAt: String? } -public typealias PerspectiveCommentPageResponseDTO = BaseResponseDTO -public typealias PerspectiveCommentMutationResponseDTO = BaseResponseDTO -public typealias PerspectiveDetailResponseDTO = BaseResponseDTO diff --git a/Projects/Domain/PerspectiveDomain/Sources/Model/DTO/PerspectiveDetailDataDTO.swift b/Projects/Domain/PerspectiveDomain/Sources/Model/DTO/PerspectiveDetailDataDTO.swift new file mode 100644 index 00000000..d64d9da8 --- /dev/null +++ b/Projects/Domain/PerspectiveDomain/Sources/Model/DTO/PerspectiveDetailDataDTO.swift @@ -0,0 +1,39 @@ +// +// PerspectiveDetailDataDTO.swift +// PerspectiveDomain +// + +import Foundation + +import PickeNetworkInterface + +/// 관점 상세 응답 페이로드. +/// +/// 배틀 목록의 관점(`BattlePerspectiveDTO`) 과 와이어 포맷은 같지만, +/// 이 엔드포인트는 PerspectiveDomain 소유이므로 DTO 도 여기서 따로 갖는다. +/// (도메인끼리 서로의 구현 모듈을 참조하지 않기 위함 — 계약은 Interface 의 `BattlePerspective` 로만 오간다.) +public struct PerspectiveDetailDataDTO: Decodable { + public let perspectiveId: Int + public let user: PerspectiveDetailUserDTO + public let option: PerspectiveDetailOptionDTO + public let content: String + public let likeCount: Int + public let commentCount: Int + public let isLiked: Bool? + public let isMyPerspective: Bool? + public let createdAt: String? +} + +public struct PerspectiveDetailUserDTO: Decodable { + public let userTag: String? + public let nickname: String? + public let characterType: String? + public let characterImageUrl: String? +} + +public struct PerspectiveDetailOptionDTO: Decodable { + public let optionId: Int + public let label: String? + public let title: String? + public let stance: String? +} diff --git a/Projects/Domain/PerspectiveDomain/Sources/Model/DTO/PerspectiveLikeDataDTO.swift b/Projects/Domain/PerspectiveDomain/Sources/Model/DTO/PerspectiveLikeDataDTO.swift new file mode 100644 index 00000000..a660a8c1 --- /dev/null +++ b/Projects/Domain/PerspectiveDomain/Sources/Model/DTO/PerspectiveLikeDataDTO.swift @@ -0,0 +1,16 @@ +// +// PerspectiveLikeDataDTO.swift +// PerspectiveDomain +// + +import Foundation + +import PickeNetworkInterface + +/// 관점 좋아요/취소/조회 응답 페이로드. +public struct PerspectiveLikeDataDTO: Decodable { + public let perspectiveId: Int + public let likeCount: Int + /// perspective 좋아요 응답에는 isLiked 가 없어 옵셔널. + public let isLiked: Bool? +} diff --git a/Projects/Domain/PerspectiveDomain/Sources/Model/Mapper/PerspectiveCommentDataDTO+.swift b/Projects/Domain/PerspectiveDomain/Sources/Model/Mapper/PerspectiveCommentDataDTO+.swift index 025d84e9..e1243cb9 100644 --- a/Projects/Domain/PerspectiveDomain/Sources/Model/Mapper/PerspectiveCommentDataDTO+.swift +++ b/Projects/Domain/PerspectiveDomain/Sources/Model/Mapper/PerspectiveCommentDataDTO+.swift @@ -6,6 +6,8 @@ import CommentDomainInterface import Foundation +import PickeCoreUtility + public extension PerspectiveCommentPageDataDTO { func toDomain() -> PerspectiveCommentPage { PerspectiveCommentPage( @@ -26,7 +28,7 @@ public extension PerspectiveCommentDTO { likeCount: likeCount, isLiked: isLiked ?? false, isMine: isMine ?? false, - createdAt: createdAt.flatMap(PerspectiveDateParser.parse) + createdAt: createdAt.flatMap(ServerDateParser.parse) ) } } @@ -47,32 +49,7 @@ public extension PerspectiveCommentMutationDataDTO { PerspectiveCommentMutationResult( commentId: commentId, content: content, - updatedAt: updatedAt.flatMap(PerspectiveDateParser.parse) + updatedAt: updatedAt.flatMap(ServerDateParser.parse) ) } } - -/// 관점/댓글 서버 시간 문자열 파서. -/// 서버가 `2026-05-22T13:28:16.697Z`(타임존 포함) 또는 -/// `2026-05-22T13:28:16`(타임존 없는 LocalDateTime) 양쪽 모두 보낼 수 있어 -/// ISO8601 우선 시도 후 타임존 없는 포맷까지 폴백한다. -/// (기존엔 타임존 없는 문자열이 nil 로 파싱돼 모든 댓글이 "방금 전"으로 표시되던 버그) -enum PerspectiveDateParser { - static func parse(_ value: String) -> Date? { - let isoFormatter = ISO8601DateFormatter() - isoFormatter.formatOptions = [.withInternetDateTime, .withFractionalSeconds] - if let date = isoFormatter.date(from: value) { return date } - isoFormatter.formatOptions = [.withInternetDateTime] - if let date = isoFormatter.date(from: value) { return date } - - // 타임존이 없는 LocalDateTime 폴백 — 서버 기준시(KST)로 해석. - let fallback = DateFormatter() - fallback.locale = Locale(identifier: "en_US_POSIX") - fallback.timeZone = TimeZone(identifier: "Asia/Seoul") - for format in ["yyyy-MM-dd'T'HH:mm:ss.SSS", "yyyy-MM-dd'T'HH:mm:ss"] { - fallback.dateFormat = format - if let date = fallback.date(from: value) { return date } - } - return nil - } -} diff --git a/Projects/Domain/PerspectiveDomain/Sources/Model/Mapper/PerspectiveDetailDataDTO+.swift b/Projects/Domain/PerspectiveDomain/Sources/Model/Mapper/PerspectiveDetailDataDTO+.swift new file mode 100644 index 00000000..02e3cdc1 --- /dev/null +++ b/Projects/Domain/PerspectiveDomain/Sources/Model/Mapper/PerspectiveDetailDataDTO+.swift @@ -0,0 +1,47 @@ +// +// PerspectiveDetailDataDTO+.swift +// PerspectiveDomain +// + +import Foundation + +import BattleDomainInterface +import PickeCoreUtility + +public extension PerspectiveDetailDataDTO { + func toDomain() -> BattlePerspective { + BattlePerspective( + perspectiveId: perspectiveId, + user: user.toDomain(), + option: option.toDomain(), + content: content, + likeCount: likeCount, + commentCount: commentCount, + isLiked: isLiked ?? false, + isMyPerspective: isMyPerspective ?? false, + createdAt: createdAt.flatMap(ServerDateParser.parse) + ) + } +} + +public extension PerspectiveDetailUserDTO { + func toDomain() -> BattlePerspectiveUser { + BattlePerspectiveUser( + userTag: userTag ?? "", + nickname: nickname ?? "익명", + characterType: characterType ?? "", + characterImageUrl: characterImageUrl + ) + } +} + +public extension PerspectiveDetailOptionDTO { + func toDomain() -> BattlePerspectiveOption { + BattlePerspectiveOption( + optionId: optionId, + label: label, + title: title ?? "", + stance: stance ?? "" + ) + } +} diff --git a/Projects/Domain/PerspectiveDomain/Sources/Model/Mapper/PerspectiveLikeDataDTO+.swift b/Projects/Domain/PerspectiveDomain/Sources/Model/Mapper/PerspectiveLikeDataDTO+.swift new file mode 100644 index 00000000..39f9d409 --- /dev/null +++ b/Projects/Domain/PerspectiveDomain/Sources/Model/Mapper/PerspectiveLikeDataDTO+.swift @@ -0,0 +1,18 @@ +// +// PerspectiveLikeDataDTO+.swift +// PerspectiveDomain +// + +import Foundation + +import CommentDomainInterface + +public extension PerspectiveLikeDataDTO { + func toDomain() -> CommentLikeResult { + CommentLikeResult( + perspectiveId: perspectiveId, + likeCount: likeCount, + isLiked: isLiked ?? false + ) + } +} diff --git a/Projects/Domain/PerspectiveDomain/Sources/Repository/PerspectiveRepositoryImpl.swift b/Projects/Domain/PerspectiveDomain/Sources/Repository/PerspectiveRepositoryImpl.swift index 2f26b70e..6f947f2d 100644 --- a/Projects/Domain/PerspectiveDomain/Sources/Repository/PerspectiveRepositoryImpl.swift +++ b/Projects/Domain/PerspectiveDomain/Sources/Repository/PerspectiveRepositoryImpl.swift @@ -5,6 +5,8 @@ import Foundation +import Dependencies + import APIEndpoint import BattleDomainInterface import CommentDomainInterface @@ -13,27 +15,17 @@ import PerspectiveDomainInterface import LogMacro - public final class PerspectiveRepositoryImpl: PerspectiveInterface, @unchecked Sendable { - private let provider: any NetworkProviding + @Dependency(\.networkClient) private var client - public init( - provider: any NetworkProviding = AlamofireNetworkProvider.authorized - ) { - self.provider = provider - } + public init() {} public func fetchPerspective(perspectiveId: Int) async throws -> BattlePerspective { - let dto: PerspectiveDetailResponseDTO = try await provider.request( - .detail(perspectiveId: perspectiveId) + let data = try await client.send( + PerspectiveService.detail(perspectiveId: perspectiveId), + as: PerspectiveDetailDataDTO.self ) - guard let data = dto.data else { - let message = dto.error?.message ?? "perspective 상세 응답이 비어 있습니다" - Log.error("[PerspectiveRepositoryImpl] empty detail payload: \(message)") - throw PerspectiveError.backendError(message) - } - return data.toDomain() } @@ -42,16 +34,11 @@ public final class PerspectiveRepositoryImpl: PerspectiveInterface, @unchecked S cursor: String?, size: Int? ) async throws -> PerspectiveCommentPage { - let dto: PerspectiveCommentPageResponseDTO = try await provider.request( - .listLabeledComments(perspectiveId: perspectiveId, cursor: cursor, size: size) + let data = try await client.send( + PerspectiveService.listLabeledComments(perspectiveId: perspectiveId, cursor: cursor, size: size), + as: PerspectiveCommentPageDataDTO.self ) - guard let data = dto.data else { - let message = dto.error?.message ?? "대댓글 목록 응답이 비어 있습니다" - Log.error("[PerspectiveRepositoryImpl] empty list payload: \(message)") - throw CommentError.backendError(message) - } - return data.toDomain() } @@ -59,16 +46,11 @@ public final class PerspectiveRepositoryImpl: PerspectiveInterface, @unchecked S perspectiveId: Int, content: String ) async throws -> PerspectiveCommentMutationResult { - let dto: PerspectiveCommentMutationResponseDTO = try await provider.request( - .createComment(perspectiveId: perspectiveId, body: PerspectiveCommentBody(content: content)) + let data = try await client.send( + PerspectiveService.createComment(perspectiveId: perspectiveId, body: PerspectiveCommentBody(content: content)), + as: PerspectiveCommentMutationDataDTO.self ) - guard let data = dto.data else { - let message = dto.error?.message ?? "대댓글 작성 응답이 비어 있습니다" - Log.error("[PerspectiveRepositoryImpl] empty create payload: \(message)") - throw CommentError.backendError(message) - } - return data.toDomain() } @@ -77,20 +59,11 @@ public final class PerspectiveRepositoryImpl: PerspectiveInterface, @unchecked S commentId: Int, content: String ) async throws -> PerspectiveCommentMutationResult { - let dto: PerspectiveCommentMutationResponseDTO = try await provider.request( - .updateComment( - perspectiveId: perspectiveId, - commentId: commentId, - body: PerspectiveCommentBody(content: content) - ) + let data = try await client.send( + PerspectiveService.updateComment( perspectiveId: perspectiveId, commentId: commentId, body: PerspectiveCommentBody(content: content) ), + as: PerspectiveCommentMutationDataDTO.self ) - guard let data = dto.data else { - let message = dto.error?.message ?? "대댓글 수정 응답이 비어 있습니다" - Log.error("[PerspectiveRepositoryImpl] empty update payload: \(message)") - throw CommentError.backendError(message) - } - return data.toDomain() } @@ -98,101 +71,64 @@ public final class PerspectiveRepositoryImpl: PerspectiveInterface, @unchecked S perspectiveId: Int, commentId: Int ) async throws { - let dto: BaseResponseDTO = try await provider.request( - .deleteComment(perspectiveId: perspectiveId, commentId: commentId) + _ = try await client.send( + PerspectiveService.deleteComment(perspectiveId: perspectiveId, commentId: commentId), + as: PickeEmptyResponse.self ) - - if dto.statusCode >= 400 { - let message = dto.error?.message ?? "대댓글 삭제 실패" - throw CommentError.backendError(message) - } } public func updatePerspective(perspectiveId: Int, content: String) async throws { - let dto: BaseResponseDTO = try await provider.request( - .updatePerspective(perspectiveId: perspectiveId, body: PerspectiveCommentBody(content: content)) + _ = try await client.send( + PerspectiveService.updatePerspective(perspectiveId: perspectiveId, body: PerspectiveCommentBody(content: content)), + as: PickeEmptyResponse.self ) - - if dto.statusCode >= 400 { - let message = dto.error?.message ?? "perspective 수정 실패" - throw PerspectiveError.backendError(message) - } } public func deletePerspective(perspectiveId: Int) async throws { - let dto: BaseResponseDTO = try await provider.request( - .deletePerspective(perspectiveId: perspectiveId) + _ = try await client.send( + PerspectiveService.deletePerspective(perspectiveId: perspectiveId), + as: PickeEmptyResponse.self ) - - if dto.statusCode >= 400 { - let message = dto.error?.message ?? "perspective 삭제 실패" - throw PerspectiveError.backendError(message) - } } public func likePerspective(perspectiveId: Int) async throws -> CommentLikeResult { - let dto: CommentLikeResponseDTO = try await provider.request( - .likePerspective(perspectiveId: perspectiveId) + let data = try await client.send( + PerspectiveService.likePerspective(perspectiveId: perspectiveId), + as: PerspectiveLikeDataDTO.self ) - guard let data = dto.data else { - let message = dto.error?.message ?? "관점 좋아요 응답이 비어 있습니다" - Log.error("[PerspectiveRepositoryImpl] empty like payload: \(message)") - throw CommentError.backendError(message) - } - return CommentLikeResult(perspectiveId: data.perspectiveId, likeCount: data.likeCount, isLiked: true) } public func unlikePerspective(perspectiveId: Int) async throws -> CommentLikeResult { - let dto: CommentLikeResponseDTO = try await provider.request( - .unlikePerspective(perspectiveId: perspectiveId) + let data = try await client.send( + PerspectiveService.unlikePerspective(perspectiveId: perspectiveId), + as: PerspectiveLikeDataDTO.self ) - guard let data = dto.data else { - let message = dto.error?.message ?? "관점 좋아요 취소 응답이 비어 있습니다" - Log.error("[PerspectiveRepositoryImpl] empty unlike payload: \(message)") - throw CommentError.backendError(message) - } - return CommentLikeResult(perspectiveId: data.perspectiveId, likeCount: data.likeCount, isLiked: false) } public func fetchPerspectiveLikes(perspectiveId: Int) async throws -> CommentLikeResult { - let dto: CommentLikeResponseDTO = try await provider.request( - .fetchPerspectiveLikes(perspectiveId: perspectiveId) + let data = try await client.send( + PerspectiveService.fetchPerspectiveLikes(perspectiveId: perspectiveId), + as: PerspectiveLikeDataDTO.self ) - guard let data = dto.data else { - let message = dto.error?.message ?? "관점 좋아요 수 응답이 비어 있습니다" - Log.error("[PerspectiveRepositoryImpl] empty like payload: \(message)") - throw CommentError.backendError(message) - } - return data.toDomain() } public func reportPerspective(perspectiveId: Int) async throws { - let dto: BaseResponseDTO = try await provider.request( - .reportPerspective(perspectiveId: perspectiveId) + _ = try await client.send( + PerspectiveService.reportPerspective(perspectiveId: perspectiveId), + as: PickeEmptyResponse.self ) - - if dto.statusCode >= 400 { - let message = dto.error?.message ?? "관점 신고 실패" - throw CommentError.backendError(message) - } } public func reportComment(perspectiveId: Int, commentId: Int) async throws { - let dto: BaseResponseDTO = try await provider.request( - .reportComment(perspectiveId: perspectiveId, commentId: commentId) + _ = try await client.send( + PerspectiveService.reportComment(perspectiveId: perspectiveId, commentId: commentId), + as: PickeEmptyResponse.self ) - - if dto.statusCode >= 400 { - let message = dto.error?.message ?? "댓글 신고 실패" - throw CommentError.backendError(message) - } } } - -public struct EmptyDTO: Decodable {} diff --git a/Projects/Domain/PerspectiveDomain/Tests/PerspectiveRepositoryTests.swift b/Projects/Domain/PerspectiveDomain/Tests/PerspectiveRepositoryTests.swift index 95a3b8e9..b4fa0c5c 100644 --- a/Projects/Domain/PerspectiveDomain/Tests/PerspectiveRepositoryTests.swift +++ b/Projects/Domain/PerspectiveDomain/Tests/PerspectiveRepositoryTests.swift @@ -4,6 +4,8 @@ // import Foundation + +import Dependencies import Testing @testable import PerspectiveData @@ -44,9 +46,11 @@ struct PerspectiveRepositoryTests { "error": null } """ - let repo = PerspectiveRepositoryImpl( - provider: StubNetworkProvider(stubData: Data(json.utf8)) - ) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) + } operation: { + PerspectiveRepositoryImpl() + } let result = try await repo.fetchPerspective(perspectiveId: 42) @@ -70,9 +74,11 @@ struct PerspectiveRepositoryTests { "error": { "code": "PERSPECTIVE_404", "message": "존재하지 않는 관점입니다" } } """ - let repo = PerspectiveRepositoryImpl( - provider: StubNetworkProvider(stubData: Data(json.utf8)) - ) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) + } operation: { + PerspectiveRepositoryImpl() + } await #expect(throws: PerspectiveError.backendError("존재하지 않는 관점입니다")) { try await repo.fetchPerspective(perspectiveId: 42) @@ -81,9 +87,11 @@ struct PerspectiveRepositoryTests { @Test func fetchPerspective_networkFailure_throws() async throws { - let repo = PerspectiveRepositoryImpl( - provider: ThrowingStubNetworkProvider() - ) + let repo = withDependencies { + $0.networkClient = ThrowingStubNetworkClient() + } operation: { + PerspectiveRepositoryImpl() + } await #expect(throws: (any Error).self) { try await repo.fetchPerspective(perspectiveId: 42) @@ -121,9 +129,11 @@ struct PerspectiveRepositoryTests { "error": null } """ - let repo = PerspectiveRepositoryImpl( - provider: StubNetworkProvider(stubData: Data(json.utf8)) - ) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) + } operation: { + PerspectiveRepositoryImpl() + } let result = try await repo.fetchLabeledComments(perspectiveId: 42, cursor: nil, size: 20) @@ -148,9 +158,11 @@ struct PerspectiveRepositoryTests { "error": null } """ - let repo = PerspectiveRepositoryImpl( - provider: StubNetworkProvider(stubData: Data(json.utf8)) - ) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) + } operation: { + PerspectiveRepositoryImpl() + } let result = try await repo.fetchLabeledComments(perspectiveId: 42, cursor: nil, size: nil) @@ -168,9 +180,11 @@ struct PerspectiveRepositoryTests { "error": null } """ - let repo = PerspectiveRepositoryImpl( - provider: StubNetworkProvider(stubData: Data(json.utf8)) - ) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) + } operation: { + PerspectiveRepositoryImpl() + } await #expect(throws: CommentError.backendError("대댓글 목록 응답이 비어 있습니다")) { try await repo.fetchLabeledComments(perspectiveId: 42, cursor: nil, size: nil) @@ -179,9 +193,11 @@ struct PerspectiveRepositoryTests { @Test func fetchLabeledComments_networkFailure_throws() async throws { - let repo = PerspectiveRepositoryImpl( - provider: ThrowingStubNetworkProvider() - ) + let repo = withDependencies { + $0.networkClient = ThrowingStubNetworkClient() + } operation: { + PerspectiveRepositoryImpl() + } await #expect(throws: (any Error).self) { try await repo.fetchLabeledComments(perspectiveId: 42, cursor: nil, size: nil) @@ -203,9 +219,11 @@ struct PerspectiveRepositoryTests { "error": null } """ - let repo = PerspectiveRepositoryImpl( - provider: StubNetworkProvider(stubData: Data(json.utf8)) - ) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) + } operation: { + PerspectiveRepositoryImpl() + } let result = try await repo.createComment(perspectiveId: 42, content: "새 댓글") @@ -221,9 +239,11 @@ struct PerspectiveRepositoryTests { "error": { "code": "COMMENT_400", "message": "댓글 작성에 실패했습니다" } } """ - let repo = PerspectiveRepositoryImpl( - provider: StubNetworkProvider(stubData: Data(json.utf8)) - ) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) + } operation: { + PerspectiveRepositoryImpl() + } await #expect(throws: CommentError.backendError("댓글 작성에 실패했습니다")) { try await repo.createComment(perspectiveId: 42, content: "새 댓글") @@ -232,9 +252,11 @@ struct PerspectiveRepositoryTests { @Test func createComment_networkFailure_throws() async throws { - let repo = PerspectiveRepositoryImpl( - provider: ThrowingStubNetworkProvider() - ) + let repo = withDependencies { + $0.networkClient = ThrowingStubNetworkClient() + } operation: { + PerspectiveRepositoryImpl() + } await #expect(throws: (any Error).self) { try await repo.createComment(perspectiveId: 42, content: "새 댓글") @@ -256,9 +278,11 @@ struct PerspectiveRepositoryTests { "error": null } """ - let repo = PerspectiveRepositoryImpl( - provider: StubNetworkProvider(stubData: Data(json.utf8)) - ) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) + } operation: { + PerspectiveRepositoryImpl() + } let result = try await repo.updateComment(perspectiveId: 42, commentId: 9, content: "수정된 댓글") @@ -276,9 +300,11 @@ struct PerspectiveRepositoryTests { "error": { "code": "COMMENT_400", "message": "댓글 수정에 실패했습니다" } } """ - let repo = PerspectiveRepositoryImpl( - provider: StubNetworkProvider(stubData: Data(json.utf8)) - ) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) + } operation: { + PerspectiveRepositoryImpl() + } await #expect(throws: CommentError.backendError("댓글 수정에 실패했습니다")) { try await repo.updateComment(perspectiveId: 42, commentId: 9, content: "수정된 댓글") @@ -287,9 +313,11 @@ struct PerspectiveRepositoryTests { @Test func updateComment_networkFailure_throws() async throws { - let repo = PerspectiveRepositoryImpl( - provider: ThrowingStubNetworkProvider() - ) + let repo = withDependencies { + $0.networkClient = ThrowingStubNetworkClient() + } operation: { + PerspectiveRepositoryImpl() + } await #expect(throws: (any Error).self) { try await repo.updateComment(perspectiveId: 42, commentId: 9, content: "수정된 댓글") @@ -307,9 +335,11 @@ struct PerspectiveRepositoryTests { "error": null } """ - let repo = PerspectiveRepositoryImpl( - provider: StubNetworkProvider(stubData: Data(json.utf8)) - ) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) + } operation: { + PerspectiveRepositoryImpl() + } try await repo.deleteComment(perspectiveId: 42, commentId: 9) } @@ -323,9 +353,11 @@ struct PerspectiveRepositoryTests { "error": { "code": "COMMENT_400", "message": "댓글 삭제에 실패했습니다" } } """ - let repo = PerspectiveRepositoryImpl( - provider: StubNetworkProvider(stubData: Data(json.utf8)) - ) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) + } operation: { + PerspectiveRepositoryImpl() + } await #expect(throws: CommentError.backendError("댓글 삭제에 실패했습니다")) { try await repo.deleteComment(perspectiveId: 42, commentId: 9) @@ -334,9 +366,11 @@ struct PerspectiveRepositoryTests { @Test func deleteComment_networkFailure_throws() async throws { - let repo = PerspectiveRepositoryImpl( - provider: ThrowingStubNetworkProvider() - ) + let repo = withDependencies { + $0.networkClient = ThrowingStubNetworkClient() + } operation: { + PerspectiveRepositoryImpl() + } await #expect(throws: (any Error).self) { try await repo.deleteComment(perspectiveId: 42, commentId: 9) @@ -354,9 +388,11 @@ struct PerspectiveRepositoryTests { "error": null } """ - let repo = PerspectiveRepositoryImpl( - provider: StubNetworkProvider(stubData: Data(json.utf8)) - ) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) + } operation: { + PerspectiveRepositoryImpl() + } try await repo.updatePerspective(perspectiveId: 42, content: "관점 수정 내용") } @@ -370,9 +406,11 @@ struct PerspectiveRepositoryTests { "error": { "code": "PERSPECTIVE_400", "message": "관점 수정에 실패했습니다" } } """ - let repo = PerspectiveRepositoryImpl( - provider: StubNetworkProvider(stubData: Data(json.utf8)) - ) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) + } operation: { + PerspectiveRepositoryImpl() + } await #expect(throws: PerspectiveError.backendError("관점 수정에 실패했습니다")) { try await repo.updatePerspective(perspectiveId: 42, content: "관점 수정 내용") @@ -381,9 +419,11 @@ struct PerspectiveRepositoryTests { @Test func updatePerspective_networkFailure_throws() async throws { - let repo = PerspectiveRepositoryImpl( - provider: ThrowingStubNetworkProvider() - ) + let repo = withDependencies { + $0.networkClient = ThrowingStubNetworkClient() + } operation: { + PerspectiveRepositoryImpl() + } await #expect(throws: (any Error).self) { try await repo.updatePerspective(perspectiveId: 42, content: "관점 수정 내용") @@ -401,9 +441,11 @@ struct PerspectiveRepositoryTests { "error": null } """ - let repo = PerspectiveRepositoryImpl( - provider: StubNetworkProvider(stubData: Data(json.utf8)) - ) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) + } operation: { + PerspectiveRepositoryImpl() + } try await repo.deletePerspective(perspectiveId: 42) } @@ -417,9 +459,11 @@ struct PerspectiveRepositoryTests { "error": { "code": "PERSPECTIVE_400", "message": "관점 삭제에 실패했습니다" } } """ - let repo = PerspectiveRepositoryImpl( - provider: StubNetworkProvider(stubData: Data(json.utf8)) - ) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) + } operation: { + PerspectiveRepositoryImpl() + } await #expect(throws: PerspectiveError.backendError("관점 삭제에 실패했습니다")) { try await repo.deletePerspective(perspectiveId: 42) @@ -428,9 +472,11 @@ struct PerspectiveRepositoryTests { @Test func deletePerspective_networkFailure_throws() async throws { - let repo = PerspectiveRepositoryImpl( - provider: ThrowingStubNetworkProvider() - ) + let repo = withDependencies { + $0.networkClient = ThrowingStubNetworkClient() + } operation: { + PerspectiveRepositoryImpl() + } await #expect(throws: (any Error).self) { try await repo.deletePerspective(perspectiveId: 42) @@ -452,9 +498,11 @@ struct PerspectiveRepositoryTests { "error": null } """ - let repo = PerspectiveRepositoryImpl( - provider: StubNetworkProvider(stubData: Data(json.utf8)) - ) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) + } operation: { + PerspectiveRepositoryImpl() + } let result = try await repo.likePerspective(perspectiveId: 42) @@ -470,9 +518,11 @@ struct PerspectiveRepositoryTests { "error": { "code": "PERSPECTIVE_400", "message": "이미 좋아요한 관점입니다" } } """ - let repo = PerspectiveRepositoryImpl( - provider: StubNetworkProvider(stubData: Data(json.utf8)) - ) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) + } operation: { + PerspectiveRepositoryImpl() + } await #expect(throws: CommentError.backendError("이미 좋아요한 관점입니다")) { try await repo.likePerspective(perspectiveId: 42) @@ -481,9 +531,11 @@ struct PerspectiveRepositoryTests { @Test func likePerspective_networkFailure_throws() async throws { - let repo = PerspectiveRepositoryImpl( - provider: ThrowingStubNetworkProvider() - ) + let repo = withDependencies { + $0.networkClient = ThrowingStubNetworkClient() + } operation: { + PerspectiveRepositoryImpl() + } await #expect(throws: (any Error).self) { try await repo.likePerspective(perspectiveId: 42) @@ -505,9 +557,11 @@ struct PerspectiveRepositoryTests { "error": null } """ - let repo = PerspectiveRepositoryImpl( - provider: StubNetworkProvider(stubData: Data(json.utf8)) - ) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) + } operation: { + PerspectiveRepositoryImpl() + } let result = try await repo.unlikePerspective(perspectiveId: 42) @@ -523,9 +577,11 @@ struct PerspectiveRepositoryTests { "error": null } """ - let repo = PerspectiveRepositoryImpl( - provider: StubNetworkProvider(stubData: Data(json.utf8)) - ) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) + } operation: { + PerspectiveRepositoryImpl() + } await #expect(throws: CommentError.backendError("관점 좋아요 취소 응답이 비어 있습니다")) { try await repo.unlikePerspective(perspectiveId: 42) @@ -534,9 +590,11 @@ struct PerspectiveRepositoryTests { @Test func unlikePerspective_networkFailure_throws() async throws { - let repo = PerspectiveRepositoryImpl( - provider: ThrowingStubNetworkProvider() - ) + let repo = withDependencies { + $0.networkClient = ThrowingStubNetworkClient() + } operation: { + PerspectiveRepositoryImpl() + } await #expect(throws: (any Error).self) { try await repo.unlikePerspective(perspectiveId: 42) @@ -558,9 +616,11 @@ struct PerspectiveRepositoryTests { "error": null } """ - let repo = PerspectiveRepositoryImpl( - provider: StubNetworkProvider(stubData: Data(json.utf8)) - ) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) + } operation: { + PerspectiveRepositoryImpl() + } let result = try await repo.fetchPerspectiveLikes(perspectiveId: 42) @@ -580,9 +640,11 @@ struct PerspectiveRepositoryTests { "error": null } """ - let repo = PerspectiveRepositoryImpl( - provider: StubNetworkProvider(stubData: Data(json.utf8)) - ) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) + } operation: { + PerspectiveRepositoryImpl() + } let result = try await repo.fetchPerspectiveLikes(perspectiveId: 42) @@ -598,9 +660,11 @@ struct PerspectiveRepositoryTests { "error": { "code": "PERSPECTIVE_404", "message": "좋아요 정보를 찾을 수 없습니다" } } """ - let repo = PerspectiveRepositoryImpl( - provider: StubNetworkProvider(stubData: Data(json.utf8)) - ) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) + } operation: { + PerspectiveRepositoryImpl() + } await #expect(throws: CommentError.backendError("좋아요 정보를 찾을 수 없습니다")) { try await repo.fetchPerspectiveLikes(perspectiveId: 42) @@ -609,9 +673,11 @@ struct PerspectiveRepositoryTests { @Test func fetchPerspectiveLikes_networkFailure_throws() async throws { - let repo = PerspectiveRepositoryImpl( - provider: ThrowingStubNetworkProvider() - ) + let repo = withDependencies { + $0.networkClient = ThrowingStubNetworkClient() + } operation: { + PerspectiveRepositoryImpl() + } await #expect(throws: (any Error).self) { try await repo.fetchPerspectiveLikes(perspectiveId: 42) @@ -629,9 +695,11 @@ struct PerspectiveRepositoryTests { "error": null } """ - let repo = PerspectiveRepositoryImpl( - provider: StubNetworkProvider(stubData: Data(json.utf8)) - ) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) + } operation: { + PerspectiveRepositoryImpl() + } try await repo.reportPerspective(perspectiveId: 42) } @@ -645,9 +713,11 @@ struct PerspectiveRepositoryTests { "error": null } """ - let repo = PerspectiveRepositoryImpl( - provider: StubNetworkProvider(stubData: Data(json.utf8)) - ) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) + } operation: { + PerspectiveRepositoryImpl() + } await #expect(throws: CommentError.backendError("관점 신고 실패")) { try await repo.reportPerspective(perspectiveId: 42) @@ -656,9 +726,11 @@ struct PerspectiveRepositoryTests { @Test func reportPerspective_networkFailure_throws() async throws { - let repo = PerspectiveRepositoryImpl( - provider: ThrowingStubNetworkProvider() - ) + let repo = withDependencies { + $0.networkClient = ThrowingStubNetworkClient() + } operation: { + PerspectiveRepositoryImpl() + } await #expect(throws: (any Error).self) { try await repo.reportPerspective(perspectiveId: 42) @@ -676,9 +748,11 @@ struct PerspectiveRepositoryTests { "error": null } """ - let repo = PerspectiveRepositoryImpl( - provider: StubNetworkProvider(stubData: Data(json.utf8)) - ) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) + } operation: { + PerspectiveRepositoryImpl() + } try await repo.reportComment(perspectiveId: 42, commentId: 9) } @@ -692,9 +766,11 @@ struct PerspectiveRepositoryTests { "error": null } """ - let repo = PerspectiveRepositoryImpl( - provider: StubNetworkProvider(stubData: Data(json.utf8)) - ) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) + } operation: { + PerspectiveRepositoryImpl() + } await #expect(throws: CommentError.backendError("댓글 신고 실패")) { try await repo.reportComment(perspectiveId: 42, commentId: 9) @@ -703,9 +779,11 @@ struct PerspectiveRepositoryTests { @Test func reportComment_networkFailure_throws() async throws { - let repo = PerspectiveRepositoryImpl( - provider: ThrowingStubNetworkProvider() - ) + let repo = withDependencies { + $0.networkClient = ThrowingStubNetworkClient() + } operation: { + PerspectiveRepositoryImpl() + } await #expect(throws: (any Error).self) { try await repo.reportComment(perspectiveId: 42, commentId: 9) diff --git a/Projects/Domain/PerspectiveDomain/Tests/TestSupport.swift b/Projects/Domain/PerspectiveDomain/Tests/TestSupport.swift index 6ade0f0c..fcea8e96 100644 --- a/Projects/Domain/PerspectiveDomain/Tests/TestSupport.swift +++ b/Projects/Domain/PerspectiveDomain/Tests/TestSupport.swift @@ -7,27 +7,94 @@ import Foundation import PickeNetwork -struct StubNetworkProvider: NetworkProviding { +/// 고정 데이터를 서버 응답 봉투(`{ statusCode, data, error }`)로 해석해 돌려주는 스텁 클라이언트. +/// 실클라이언트와 같은 규칙으로 `error` 를 `ResponseError` 로 승격시킨다. +struct StubNetworkClient: PickeNetworkClient { + private struct Envelope: Decodable { + struct Failure: Decodable { + let code: String? + let message: String? + } + + let statusCode: Int? + let data: Payload? + let error: Failure? + } + let stubData: Data var statusCode: Int = 200 - func request(_: Target) async throws -> D { - try JSONDecoder().decode(D.self, from: stubData) + func send( + _: R, + as _: T.Type + ) async throws(PickeNetworkError) -> T { + try decode(T.self) + } + + func send(_: R) async throws(PickeNetworkError) -> R.Response { + try decode(R.Response.self) + } + + func sendResponse(_: R) async throws(PickeNetworkError) -> PickeHTTPResponse { + PickeHTTPResponse(statusCode: statusCode, data: stubData) + } + + func upload(_: R) async throws(PickeNetworkError) -> R.Response { + try decode(R.Response.self) } - func requestResponse(_: Target) async throws -> PickeResponse { - PickeResponse(statusCode: statusCode, data: stubData) + func upload(_: some PickeFileUploadRequest) async throws(PickeNetworkError) {} + + private func decode(_: T.Type) throws(PickeNetworkError) -> T { + let envelope: Envelope + do { + envelope = try JSONDecoder().decode(Envelope.self, from: stubData) + } catch { + throw .decoding(.failed(error)) + } + if let failure = envelope.error { + throw .response( + ResponseError( + httpStatus: envelope.statusCode ?? statusCode, + code: failure.code, + message: failure.message + ) + ) + } + guard let data = envelope.data else { + guard let empty = PickeEmptyResponse() as? T else { + throw .decoding(.dataMissing) + } + return empty + } + return data } } -struct ThrowingStubNetworkProvider: NetworkProviding { +/// 항상 에러를 던지는 스텁 클라이언트. +struct ThrowingStubNetworkClient: PickeNetworkClient { struct StubError: Error {} - func request(_: Target) async throws -> D { - throw StubError() + func send( + _: R, + as _: T.Type + ) async throws(PickeNetworkError) -> T { + throw .transport(.unknown(StubError())) + } + + func send(_: R) async throws(PickeNetworkError) -> R.Response { + throw .transport(.unknown(StubError())) + } + + func sendResponse(_: R) async throws(PickeNetworkError) -> PickeHTTPResponse { + throw .transport(.unknown(StubError())) + } + + func upload(_: R) async throws(PickeNetworkError) -> R.Response { + throw .transport(.unknown(StubError())) } - func requestResponse(_: Target) async throws -> PickeResponse { - throw StubError() + func upload(_: some PickeFileUploadRequest) async throws(PickeNetworkError) { + throw .transport(.unknown(StubError())) } } diff --git a/Projects/Domain/ProfileDomain/Sources/Model/DTO/BattleRecordDataDTO.swift b/Projects/Domain/ProfileDomain/Sources/Model/DTO/BattleRecordDataDTO.swift index 4e3c6d94..dbdbeb40 100644 --- a/Projects/Domain/ProfileDomain/Sources/Model/DTO/BattleRecordDataDTO.swift +++ b/Projects/Domain/ProfileDomain/Sources/Model/DTO/BattleRecordDataDTO.swift @@ -21,5 +21,3 @@ public struct BattleRecordItemDTO: Decodable { public let summary: String? public let createdAt: String? } - -public typealias BattleRecordResponseDTO = BaseResponseDTO diff --git a/Projects/Domain/ProfileDomain/Sources/Model/DTO/ContentActivityDataDTO.swift b/Projects/Domain/ProfileDomain/Sources/Model/DTO/ContentActivityDataDTO.swift index 058c5aab..a7326720 100644 --- a/Projects/Domain/ProfileDomain/Sources/Model/DTO/ContentActivityDataDTO.swift +++ b/Projects/Domain/ProfileDomain/Sources/Model/DTO/ContentActivityDataDTO.swift @@ -31,5 +31,3 @@ public struct ContentActivityAuthorDTO: Decodable { public let characterType: String? public let characterImageUrl: String? } - -public typealias ContentActivityResponseDTO = BaseResponseDTO diff --git a/Projects/Domain/ProfileDomain/Sources/Model/DTO/CreditHistoryDataDTO.swift b/Projects/Domain/ProfileDomain/Sources/Model/DTO/CreditHistoryDataDTO.swift index 66a38830..a6a230fd 100644 --- a/Projects/Domain/ProfileDomain/Sources/Model/DTO/CreditHistoryDataDTO.swift +++ b/Projects/Domain/ProfileDomain/Sources/Model/DTO/CreditHistoryDataDTO.swift @@ -19,5 +19,3 @@ public struct CreditHistoryItemDTO: Decodable { public let referenceId: Int? public let createdAt: String? } - -public typealias CreditHistoryResponseDTO = BaseResponseDTO diff --git a/Projects/Domain/ProfileDomain/Sources/Model/DTO/MyPageDataDTO.swift b/Projects/Domain/ProfileDomain/Sources/Model/DTO/MyPageDataDTO.swift index f8570170..fe691526 100644 --- a/Projects/Domain/ProfileDomain/Sources/Model/DTO/MyPageDataDTO.swift +++ b/Projects/Domain/ProfileDomain/Sources/Model/DTO/MyPageDataDTO.swift @@ -35,5 +35,3 @@ public struct MyTierDTO: Decodable { public let tierLabel: String? public let currentPoint: Int? } - -public typealias MyPageResponseDTO = BaseResponseDTO diff --git a/Projects/Domain/ProfileDomain/Sources/Model/DTO/NotificationSettingsDataDTO.swift b/Projects/Domain/ProfileDomain/Sources/Model/DTO/NotificationSettingsDataDTO.swift index 9b856bfc..6f4a6dea 100644 --- a/Projects/Domain/ProfileDomain/Sources/Model/DTO/NotificationSettingsDataDTO.swift +++ b/Projects/Domain/ProfileDomain/Sources/Model/DTO/NotificationSettingsDataDTO.swift @@ -14,5 +14,3 @@ public struct NotificationSettingsDataDTO: Decodable { public let contentLikeEnabled: Bool? public let marketingEventEnabled: Bool? } - -public typealias NotificationSettingsResponseDTO = BaseResponseDTO diff --git a/Projects/Domain/ProfileDomain/Sources/Model/DTO/ProfileUpdateDataDTO.swift b/Projects/Domain/ProfileDomain/Sources/Model/DTO/ProfileUpdateDataDTO.swift index 8496766e..7630ca60 100644 --- a/Projects/Domain/ProfileDomain/Sources/Model/DTO/ProfileUpdateDataDTO.swift +++ b/Projects/Domain/ProfileDomain/Sources/Model/DTO/ProfileUpdateDataDTO.swift @@ -12,5 +12,3 @@ public struct ProfileUpdateDataDTO: Decodable { public let characterType: String? public let updatedAt: String? } - -public typealias ProfileUpdateResponseDTO = BaseResponseDTO diff --git a/Projects/Domain/ProfileDomain/Sources/Model/DTO/RecapDataDTO.swift b/Projects/Domain/ProfileDomain/Sources/Model/DTO/RecapDataDTO.swift index 6cb1b931..de2b0ce9 100644 --- a/Projects/Domain/ProfileDomain/Sources/Model/DTO/RecapDataDTO.swift +++ b/Projects/Domain/ProfileDomain/Sources/Model/DTO/RecapDataDTO.swift @@ -44,5 +44,3 @@ public struct FavoriteTopicDTO: Decodable { public let participationCount: Int? public let tagName: String? } - -public typealias RecapResponseDTO = BaseResponseDTO diff --git a/Projects/Domain/ProfileDomain/Sources/Repository/ProfileRepositoryImpl.swift b/Projects/Domain/ProfileDomain/Sources/Repository/ProfileRepositoryImpl.swift index 6279481d..ec8b8873 100644 --- a/Projects/Domain/ProfileDomain/Sources/Repository/ProfileRepositoryImpl.swift +++ b/Projects/Domain/ProfileDomain/Sources/Repository/ProfileRepositoryImpl.swift @@ -5,43 +5,36 @@ import Foundation +import Dependencies + import APIEndpoint import PickeNetwork import ProfileDomainInterface import LogMacro - public final class ProfileRepositoryImpl: ProfileInterface, @unchecked Sendable { - private let provider: any NetworkProviding + @Dependency(\.networkClient) private var client - public init( - provider: any NetworkProviding = AlamofireNetworkProvider.authorized - ) { - self.provider = provider - } + public init() {} public func fetchMyPage() async throws -> MyPage { - let dto: MyPageResponseDTO = try await provider.request(.mypage) - - guard let data = dto.data else { - let message = dto.error?.message ?? "마이페이지 응답이 비어 있습니다" - Log.error("[ProfileRepositoryImpl] empty myPage payload: \(message)") - throw ProfileError.backendError(message) - } + let data = try await client.send( + ProfileService.mypage, + as: MyPageDataDTO.self + ) return data.toDomain() } public func fetchRecap() async throws -> PhilosopherRecap { - let dto: RecapResponseDTO = try await provider.request(.recap) + let data = try await client.send( + ProfileService.recap, + as: RecapDataDTO.self + ) // 배틀 5개 미만 사용자는 서버가 data: nil (200) 로 응답 → 잠금 상태. // 에러로 던지지 않고 빈 recap(totalParticipation 0 → isLocked)으로 반환. - guard let data = dto.data else { - Log.info("[ProfileRepositoryImpl] recap 빈 응답 → 잠금 화면 반환") - return .empty - } return data.toDomain() } @@ -50,16 +43,11 @@ public final class ProfileRepositoryImpl: ProfileInterface, @unchecked Sendable offset: Int?, size: Int ) async throws -> CreditHistoryPage { - let dto: CreditHistoryResponseDTO = try await provider.request( - .creditsHistory(query: CreditHistoryQueryRequest(offset: offset, size: size)) + let data = try await client.send( + ProfileService.creditsHistory(query: CreditHistoryQueryRequest(offset: offset, size: size)), + as: CreditHistoryDataDTO.self ) - guard let data = dto.data else { - let message = dto.error?.message ?? "크레딧 내역 응답이 비어 있습니다" - Log.error("[ProfileRepositoryImpl] empty creditHistory payload: \(message)") - throw ProfileError.backendError(message) - } - return data.toDomain() } @@ -68,22 +56,11 @@ public final class ProfileRepositoryImpl: ProfileInterface, @unchecked Sendable size: Int, voteSide: BattleVoteSide? ) async throws -> BattleRecordPage { - let dto: BattleRecordResponseDTO = try await provider.request( - .battleRecords( - query: BattleRecordsQueryRequest( - offset: offset, - size: size, - voteSide: voteSide.flatMap { $0 == .unknown ? nil : $0.rawValue } - ) - ) + let data = try await client.send( + ProfileService.battleRecords( query: BattleRecordsQueryRequest( offset: offset, size: size, voteSide: voteSide.flatMap { $0 == .unknown ? nil : $0.rawValue } ) ), + as: BattleRecordDataDTO.self ) - guard let data = dto.data else { - let message = dto.error?.message ?? "배틀 기록 응답이 비어 있습니다" - Log.error("[ProfileRepositoryImpl] empty battleRecords payload: \(message)") - throw ProfileError.backendError(message) - } - return data.toDomain() } @@ -92,57 +69,29 @@ public final class ProfileRepositoryImpl: ProfileInterface, @unchecked Sendable size: Int, activityType: ContentActivityType? ) async throws -> ContentActivityPage { - let dto: ContentActivityResponseDTO = try await provider.request( - .contentActivities( - query: ContentActivitiesQueryRequest( - offset: offset, - size: size, - activityType: activityType.flatMap(\.rawValue) - ) - ) + let data = try await client.send( + ProfileService.contentActivities( query: ContentActivitiesQueryRequest( offset: offset, size: size, activityType: activityType.flatMap(\.rawValue) ) ), + as: ContentActivityDataDTO.self ) - guard let data = dto.data else { - let message = dto.error?.message ?? "콘텐츠 활동 응답이 비어 있습니다" - Log.error("[ProfileRepositoryImpl] empty contentActivities payload: \(message)") - throw ProfileError.backendError(message) - } - return data.toDomain() } public func fetchNotificationSettings() async throws -> NotificationSettings { - let dto: NotificationSettingsResponseDTO = try await provider.request(.notificationSettings) - - guard let data = dto.data else { - let message = dto.error?.message ?? "알림 설정 응답이 비어 있습니다" - Log.error("[ProfileRepositoryImpl] empty notificationSettings payload: \(message)") - throw ProfileError.backendError(message) - } + let data = try await client.send( + ProfileService.notificationSettings, + as: NotificationSettingsDataDTO.self + ) return data.toDomain() } public func updateNotificationSettings(_ settings: NotificationSettings) async throws -> NotificationSettings { - let dto: NotificationSettingsResponseDTO = try await provider.request( - .updateNotificationSettings( - body: NotificationSettingsRequest( - newBattleEnabled: settings.newBattleEnabled, - battleResultEnabled: settings.battleResultEnabled, - commentReplyEnabled: settings.commentReplyEnabled, - newCommentEnabled: settings.newCommentEnabled, - contentLikeEnabled: settings.contentLikeEnabled, - marketingEventEnabled: settings.marketingEventEnabled - ) - ) + let data = try await client.send( + ProfileService.updateNotificationSettings( body: NotificationSettingsRequest( newBattleEnabled: settings.newBattleEnabled, battleResultEnabled: settings.battleResultEnabled, commentReplyEnabled: settings.commentReplyEnabled, newCommentEnabled: settings.newCommentEnabled, contentLikeEnabled: settings.contentLikeEnabled, marketingEventEnabled: settings.marketingEventEnabled ) ), + as: NotificationSettingsDataDTO.self ) - guard let data = dto.data else { - let message = dto.error?.message ?? "알림 설정 응답이 비어 있습니다" - Log.error("[ProfileRepositoryImpl] empty updateNotificationSettings payload: \(message)") - throw ProfileError.backendError(message) - } - return data.toDomain() } @@ -150,21 +99,11 @@ public final class ProfileRepositoryImpl: ProfileInterface, @unchecked Sendable nickname: String, characterType: String ) async throws -> UpdatedProfile { - let dto: ProfileUpdateResponseDTO = try await provider.request( - .updateProfile( - body: ProfileUpdateRequest( - nickname: nickname, - characterType: characterType - ) - ) + let data = try await client.send( + ProfileService.updateProfile( body: ProfileUpdateRequest( nickname: nickname, characterType: characterType ) ), + as: ProfileUpdateDataDTO.self ) - guard let data = dto.data else { - let message = dto.error?.message ?? "프로필 수정 응답이 비어 있습니다" - Log.error("[ProfileRepositoryImpl] empty updateProfile payload: \(message)") - throw ProfileError.backendError(message) - } - return data.toDomain() } } diff --git a/Projects/Domain/ProfileDomain/Tests/ProfileRepositoryTests.swift b/Projects/Domain/ProfileDomain/Tests/ProfileRepositoryTests.swift index f6a9a491..a3d5f033 100644 --- a/Projects/Domain/ProfileDomain/Tests/ProfileRepositoryTests.swift +++ b/Projects/Domain/ProfileDomain/Tests/ProfileRepositoryTests.swift @@ -4,6 +4,8 @@ // import Foundation + +import Dependencies import Testing @testable import ProfileData @@ -43,9 +45,11 @@ struct ProfileRepositoryTests { "error": null } """ - let repo = ProfileRepositoryImpl( - provider: StubNetworkProvider(stubData: Data(json.utf8)) - ) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) + } operation: { + ProfileRepositoryImpl() + } let result = try await repo.fetchMyPage() @@ -65,9 +69,11 @@ struct ProfileRepositoryTests { let json = """ {"statusCode": 200, "data": null, "error": {"code": "NOT_FOUND", "message": "마이페이지 없음"}} """ - let repo = ProfileRepositoryImpl( - provider: StubNetworkProvider(stubData: Data(json.utf8)) - ) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) + } operation: { + ProfileRepositoryImpl() + } await #expect(throws: ProfileError.backendError("마이페이지 없음")) { try await repo.fetchMyPage() @@ -75,9 +81,11 @@ struct ProfileRepositoryTests { } @Test func fetchMyPage_은_네트워크_계층_에러를_그대로_전파한다() async throws { - let repo = ProfileRepositoryImpl( - provider: ThrowingStubNetworkProvider() - ) + let repo = withDependencies { + $0.networkClient = ThrowingStubNetworkClient() + } operation: { + ProfileRepositoryImpl() + } await #expect(throws: (any Error).self) { try await repo.fetchMyPage() @@ -99,9 +107,11 @@ struct ProfileRepositoryTests { "error": null } """ - let repo = ProfileRepositoryImpl( - provider: StubNetworkProvider(stubData: Data(json.utf8)) - ) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) + } operation: { + ProfileRepositoryImpl() + } let result = try await repo.updateProfile( nickname: "새 닉네임", @@ -118,9 +128,11 @@ struct ProfileRepositoryTests { let json = """ {"statusCode": 200, "data": null, "error": {"code": "INVALID", "message": "프로필 수정 실패"}} """ - let repo = ProfileRepositoryImpl( - provider: StubNetworkProvider(stubData: Data(json.utf8)) - ) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) + } operation: { + ProfileRepositoryImpl() + } await #expect(throws: ProfileError.backendError("프로필 수정 실패")) { try await repo.updateProfile( @@ -181,9 +193,11 @@ struct ProfileRepositoryTests { "error": null } """ - let repo = ProfileRepositoryImpl( - provider: StubNetworkProvider(stubData: Data(json.utf8)) - ) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) + } operation: { + ProfileRepositoryImpl() + } let result = try await repo.fetchRecap() @@ -202,9 +216,11 @@ struct ProfileRepositoryTests { let json = """ {"statusCode": 200, "data": null, "error": null} """ - let repo = ProfileRepositoryImpl( - provider: StubNetworkProvider(stubData: Data(json.utf8)) - ) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) + } operation: { + ProfileRepositoryImpl() + } let result = try await repo.fetchRecap() @@ -241,9 +257,11 @@ struct ProfileRepositoryTests { "error": null } """ - let repo = ProfileRepositoryImpl( - provider: StubNetworkProvider(stubData: Data(json.utf8)) - ) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) + } operation: { + ProfileRepositoryImpl() + } let result = try await repo.fetchCreditHistory(offset: 0, size: 20) @@ -263,9 +281,11 @@ struct ProfileRepositoryTests { let json = """ {"statusCode": 200, "data": null, "error": {"code": "ERR", "message": "크레딧 내역 없음"}} """ - let repo = ProfileRepositoryImpl( - provider: StubNetworkProvider(stubData: Data(json.utf8)) - ) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) + } operation: { + ProfileRepositoryImpl() + } await #expect(throws: ProfileError.backendError("크레딧 내역 없음")) { try await repo.fetchCreditHistory(offset: 0, size: 20) @@ -296,9 +316,11 @@ struct ProfileRepositoryTests { "error": null } """ - let repo = ProfileRepositoryImpl( - provider: StubNetworkProvider(stubData: Data(json.utf8)) - ) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) + } operation: { + ProfileRepositoryImpl() + } let result = try await repo.fetchBattleRecords(offset: 0, size: 20, voteSide: nil) @@ -317,9 +339,11 @@ struct ProfileRepositoryTests { let json = """ {"statusCode": 200, "data": null, "error": {"code": "ERR", "message": "배틀 기록 없음"}} """ - let repo = ProfileRepositoryImpl( - provider: StubNetworkProvider(stubData: Data(json.utf8)) - ) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) + } operation: { + ProfileRepositoryImpl() + } await #expect(throws: ProfileError.backendError("배틀 기록 없음")) { try await repo.fetchBattleRecords(offset: 0, size: 20, voteSide: .pro) @@ -358,9 +382,11 @@ struct ProfileRepositoryTests { "error": null } """ - let repo = ProfileRepositoryImpl( - provider: StubNetworkProvider(stubData: Data(json.utf8)) - ) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) + } operation: { + ProfileRepositoryImpl() + } let result = try await repo.fetchContentActivities(offset: 0, size: 20, activityType: nil) @@ -379,9 +405,11 @@ struct ProfileRepositoryTests { let json = """ {"statusCode": 200, "data": null, "error": {"code": "ERR", "message": "콘텐츠 활동 없음"}} """ - let repo = ProfileRepositoryImpl( - provider: StubNetworkProvider(stubData: Data(json.utf8)) - ) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) + } operation: { + ProfileRepositoryImpl() + } await #expect(throws: ProfileError.backendError("콘텐츠 활동 없음")) { try await repo.fetchContentActivities(offset: 0, size: 20, activityType: .comment) @@ -405,9 +433,11 @@ struct ProfileRepositoryTests { "error": null } """ - let repo = ProfileRepositoryImpl( - provider: StubNetworkProvider(stubData: Data(json.utf8)) - ) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) + } operation: { + ProfileRepositoryImpl() + } let result = try await repo.fetchNotificationSettings() @@ -423,9 +453,11 @@ struct ProfileRepositoryTests { let json = """ {"statusCode": 200, "data": null, "error": {"code": "ERR", "message": "알림 설정 없음"}} """ - let repo = ProfileRepositoryImpl( - provider: StubNetworkProvider(stubData: Data(json.utf8)) - ) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) + } operation: { + ProfileRepositoryImpl() + } await #expect(throws: ProfileError.backendError("알림 설정 없음")) { try await repo.fetchNotificationSettings() @@ -449,9 +481,11 @@ struct ProfileRepositoryTests { "error": null } """ - let repo = ProfileRepositoryImpl( - provider: StubNetworkProvider(stubData: Data(json.utf8)) - ) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) + } operation: { + ProfileRepositoryImpl() + } let result = try await repo.updateNotificationSettings(NotificationSettings()) @@ -467,9 +501,11 @@ struct ProfileRepositoryTests { let json = """ {"statusCode": 200, "data": null, "error": {"code": "ERR", "message": "알림 설정 갱신 실패"}} """ - let repo = ProfileRepositoryImpl( - provider: StubNetworkProvider(stubData: Data(json.utf8)) - ) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) + } operation: { + ProfileRepositoryImpl() + } await #expect(throws: ProfileError.backendError("알림 설정 갱신 실패")) { try await repo.updateNotificationSettings(NotificationSettings()) diff --git a/Projects/Domain/ProfileDomain/Tests/TestSupport.swift b/Projects/Domain/ProfileDomain/Tests/TestSupport.swift index a6e3b114..9e9e0161 100644 --- a/Projects/Domain/ProfileDomain/Tests/TestSupport.swift +++ b/Projects/Domain/ProfileDomain/Tests/TestSupport.swift @@ -7,29 +7,94 @@ import Foundation import PickeNetwork -/// 고정 데이터를 그대로 디코딩해 반환하는 스텁 provider. -struct StubNetworkProvider: NetworkProviding { +/// 고정 데이터를 서버 응답 봉투(`{ statusCode, data, error }`)로 해석해 돌려주는 스텁 클라이언트. +/// 실클라이언트와 같은 규칙으로 `error` 를 `ResponseError` 로 승격시킨다. +struct StubNetworkClient: PickeNetworkClient { + private struct Envelope: Decodable { + struct Failure: Decodable { + let code: String? + let message: String? + } + + let statusCode: Int? + let data: Payload? + let error: Failure? + } + let stubData: Data var statusCode: Int = 200 - func request(_: Target) async throws -> D { - try JSONDecoder().decode(D.self, from: stubData) + func send( + _: R, + as _: T.Type + ) async throws(PickeNetworkError) -> T { + try decode(T.self) + } + + func send(_: R) async throws(PickeNetworkError) -> R.Response { + try decode(R.Response.self) + } + + func sendResponse(_: R) async throws(PickeNetworkError) -> PickeHTTPResponse { + PickeHTTPResponse(statusCode: statusCode, data: stubData) + } + + func upload(_: R) async throws(PickeNetworkError) -> R.Response { + try decode(R.Response.self) } - func requestResponse(_: Target) async throws -> PickeResponse { - PickeResponse(statusCode: statusCode, data: stubData) + func upload(_: some PickeFileUploadRequest) async throws(PickeNetworkError) {} + + private func decode(_: T.Type) throws(PickeNetworkError) -> T { + let envelope: Envelope + do { + envelope = try JSONDecoder().decode(Envelope.self, from: stubData) + } catch { + throw .decoding(.failed(error)) + } + if let failure = envelope.error { + throw .response( + ResponseError( + httpStatus: envelope.statusCode ?? statusCode, + code: failure.code, + message: failure.message + ) + ) + } + guard let data = envelope.data else { + guard let empty = PickeEmptyResponse() as? T else { + throw .decoding(.dataMissing) + } + return empty + } + return data } } -/// 항상 에러를 던지는 스텁 provider. -struct ThrowingStubNetworkProvider: NetworkProviding { +/// 항상 에러를 던지는 스텁 클라이언트. +struct ThrowingStubNetworkClient: PickeNetworkClient { struct StubError: Error {} - func request(_: Target) async throws -> D { - throw StubError() + func send( + _: R, + as _: T.Type + ) async throws(PickeNetworkError) -> T { + throw .transport(.unknown(StubError())) + } + + func send(_: R) async throws(PickeNetworkError) -> R.Response { + throw .transport(.unknown(StubError())) + } + + func sendResponse(_: R) async throws(PickeNetworkError) -> PickeHTTPResponse { + throw .transport(.unknown(StubError())) + } + + func upload(_: R) async throws(PickeNetworkError) -> R.Response { + throw .transport(.unknown(StubError())) } - func requestResponse(_: Target) async throws -> PickeResponse { - throw StubError() + func upload(_: some PickeFileUploadRequest) async throws(PickeNetworkError) { + throw .transport(.unknown(StubError())) } } diff --git a/Projects/Domain/SearchDomain/Sources/SearchBattleDataDTO.swift b/Projects/Domain/SearchDomain/Sources/SearchBattleDataDTO.swift index a20db372..53e64ee4 100644 --- a/Projects/Domain/SearchDomain/Sources/SearchBattleDataDTO.swift +++ b/Projects/Domain/SearchDomain/Sources/SearchBattleDataDTO.swift @@ -28,5 +28,3 @@ public struct SearchBattleTagDTO: Decodable { public let name: String? public let type: String? } - -public typealias SearchBattlePageResponseDTO = BaseResponseDTO diff --git a/Projects/Domain/SearchDomain/Sources/SearchRepositoryImpl.swift b/Projects/Domain/SearchDomain/Sources/SearchRepositoryImpl.swift index 97358603..7349c3ac 100644 --- a/Projects/Domain/SearchDomain/Sources/SearchRepositoryImpl.swift +++ b/Projects/Domain/SearchDomain/Sources/SearchRepositoryImpl.swift @@ -5,6 +5,8 @@ import Foundation +import Dependencies + import APIEndpoint import HomeDomainInterface import PickeNetwork @@ -13,15 +15,10 @@ import SearchDomainInterface import LogMacro import BattleDomainInterface - public final class SearchRepositoryImpl: SearchInterface, @unchecked Sendable { - private let provider: any NetworkProviding + @Dependency(\.networkClient) private var client - public init( - provider: any NetworkProviding = AlamofireNetworkProvider.authorized - ) { - self.provider = provider - } + public init() {} public func searchBattles( category: String?, @@ -29,16 +26,11 @@ public final class SearchRepositoryImpl: SearchInterface, @unchecked Sendable { offset: Int?, size: Int? ) async throws -> ExploreItemPage { - let dto: SearchBattlePageResponseDTO = try await provider.request( - .battles(category: category, sort: sort, offset: offset, size: size) + let data = try await client.send( + SearchService.battles(category: category, sort: sort, offset: offset, size: size), + as: SearchBattlePageDataDTO.self ) - guard let data = dto.data else { - let message = dto.error?.message ?? "배틀 검색 응답이 비어 있습니다" - Log.error("[SearchRepositoryImpl] empty searchBattles payload: \(message)") - throw BattleError.backendError(message) - } - return data.toDomain() } } diff --git a/Projects/Domain/SearchDomain/Tests/SearchRepositoryTests.swift b/Projects/Domain/SearchDomain/Tests/SearchRepositoryTests.swift index 7e6afde0..0b03eeb6 100644 --- a/Projects/Domain/SearchDomain/Tests/SearchRepositoryTests.swift +++ b/Projects/Domain/SearchDomain/Tests/SearchRepositoryTests.swift @@ -44,7 +44,11 @@ struct SearchRepositoryTests { } """.data(using: .utf8)! - let repo = SearchRepositoryImpl(provider: StubNetworkProvider(stubData: json)) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: json) + } operation: { + SearchRepositoryImpl() + } let page = try await repo.searchBattles(category: "연애", sort: "popular", offset: 0, size: 20) @@ -84,7 +88,11 @@ struct SearchRepositoryTests { } """.data(using: .utf8)! - let repo = SearchRepositoryImpl(provider: StubNetworkProvider(stubData: json)) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: json) + } operation: { + SearchRepositoryImpl() + } let page = try await repo.searchBattles(category: nil, sort: nil, offset: nil, size: nil) @@ -102,7 +110,11 @@ struct SearchRepositoryTests { } """.data(using: .utf8)! - let repo = SearchRepositoryImpl(provider: StubNetworkProvider(stubData: json)) + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: json) + } operation: { + SearchRepositoryImpl() + } await #expect(throws: BattleError.backendError("잘못된 검색 조건입니다")) { try await repo.searchBattles(category: nil, sort: nil, offset: nil, size: nil) @@ -110,7 +122,11 @@ struct SearchRepositoryTests { } @Test func searchBattles_은_네트워크_에러를_전파한다() async throws { - let repo = SearchRepositoryImpl(provider: ThrowingStubNetworkProvider()) + let repo = withDependencies { + $0.networkClient = ThrowingStubNetworkClient() + } operation: { + SearchRepositoryImpl() + } await #expect(throws: (any Error).self) { try await repo.searchBattles(category: nil, sort: nil, offset: nil, size: nil) diff --git a/Projects/Domain/SearchDomain/Tests/TestSupport.swift b/Projects/Domain/SearchDomain/Tests/TestSupport.swift index c6cc490c..418adc71 100644 --- a/Projects/Domain/SearchDomain/Tests/TestSupport.swift +++ b/Projects/Domain/SearchDomain/Tests/TestSupport.swift @@ -7,29 +7,94 @@ import Foundation import PickeNetwork -/// 고정 데이터를 그대로 디코딩해 반환하는 스텁 provider. -struct StubNetworkProvider: NetworkProviding { +/// 고정 데이터를 서버 응답 봉투(`{ statusCode, data, error }`)로 해석해 돌려주는 스텁 클라이언트. +/// 실클라이언트와 같은 규칙으로 `error` 를 `ResponseError` 로 승격시킨다. +struct StubNetworkClient: PickeNetworkClient { + private struct Envelope: Decodable { + struct Failure: Decodable { + let code: String? + let message: String? + } + + let statusCode: Int? + let data: Payload? + let error: Failure? + } + let stubData: Data var statusCode: Int = 200 - func request(_: Target) async throws -> D { - try JSONDecoder().decode(D.self, from: stubData) + func send( + _: R, + as _: T.Type + ) async throws(PickeNetworkError) -> T { + try decode(T.self) + } + + func send(_: R) async throws(PickeNetworkError) -> R.Response { + try decode(R.Response.self) + } + + func sendResponse(_: R) async throws(PickeNetworkError) -> PickeHTTPResponse { + PickeHTTPResponse(statusCode: statusCode, data: stubData) + } + + func upload(_: R) async throws(PickeNetworkError) -> R.Response { + try decode(R.Response.self) } - func requestResponse(_: Target) async throws -> PickeResponse { - PickeResponse(statusCode: statusCode, data: stubData) + func upload(_: some PickeFileUploadRequest) async throws(PickeNetworkError) {} + + private func decode(_: T.Type) throws(PickeNetworkError) -> T { + let envelope: Envelope + do { + envelope = try JSONDecoder().decode(Envelope.self, from: stubData) + } catch { + throw .decoding(.failed(error)) + } + if let failure = envelope.error { + throw .response( + ResponseError( + httpStatus: envelope.statusCode ?? statusCode, + code: failure.code, + message: failure.message + ) + ) + } + guard let data = envelope.data else { + guard let empty = PickeEmptyResponse() as? T else { + throw .decoding(.dataMissing) + } + return empty + } + return data } } -/// 항상 에러를 던지는 스텁 provider. -struct ThrowingStubNetworkProvider: NetworkProviding { +/// 항상 에러를 던지는 스텁 클라이언트. +struct ThrowingStubNetworkClient: PickeNetworkClient { struct StubError: Error {} - func request(_: Target) async throws -> D { - throw StubError() + func send( + _: R, + as _: T.Type + ) async throws(PickeNetworkError) -> T { + throw .transport(.unknown(StubError())) + } + + func send(_: R) async throws(PickeNetworkError) -> R.Response { + throw .transport(.unknown(StubError())) + } + + func sendResponse(_: R) async throws(PickeNetworkError) -> PickeHTTPResponse { + throw .transport(.unknown(StubError())) + } + + func upload(_: R) async throws(PickeNetworkError) -> R.Response { + throw .transport(.unknown(StubError())) } - func requestResponse(_: Target) async throws -> PickeResponse { - throw StubError() + func upload(_: some PickeFileUploadRequest) async throws(PickeNetworkError) { + throw .transport(.unknown(StubError())) } } diff --git a/Projects/Service/API/Sources/Base/PieckeDomain.swift b/Projects/Service/API/Sources/Base/PieckeDomain.swift index a56c5f65..42e94c6e 100644 --- a/Projects/Service/API/Sources/Base/PieckeDomain.swift +++ b/Projects/Service/API/Sources/Base/PieckeDomain.swift @@ -7,7 +7,7 @@ import Foundation -import PickeNetwork +import PickeNetworkInterface public enum PieckeDomain { case attendance diff --git a/Projects/Service/APIEndpoint/Sources/Attendance/AttendanceService.swift b/Projects/Service/APIEndpoint/Sources/Attendance/AttendanceService.swift index da16a342..1fd74217 100644 --- a/Projects/Service/APIEndpoint/Sources/Attendance/AttendanceService.swift +++ b/Projects/Service/APIEndpoint/Sources/Attendance/AttendanceService.swift @@ -14,12 +14,10 @@ public enum AttendanceService { case summary } -extension AttendanceService: PickeTargetType { - public typealias Domain = PieckeDomain +extension AttendanceService: PickeDataRequest { + public var domain: any PickeDomainType { PieckeDomain.attendance } - public var domain: PieckeDomain { .attendance } - - public var urlPath: String { + public var path: String { switch self { case .check: return AttendanceAPI.check.description @@ -38,12 +36,4 @@ extension AttendanceService: PickeTargetType { return .get } } - - public var parameters: [String: Any]? { - return nil - } - - public var headers: [String: String]? { - return APIHeader.baseHeader - } } diff --git a/Projects/Service/APIEndpoint/Sources/Auth/AuthService.swift b/Projects/Service/APIEndpoint/Sources/Auth/AuthService.swift index aafd6f63..72126fee 100644 --- a/Projects/Service/APIEndpoint/Sources/Auth/AuthService.swift +++ b/Projects/Service/APIEndpoint/Sources/Auth/AuthService.swift @@ -18,19 +18,17 @@ public enum AuthService { case logout } -extension AuthService: PickeTargetType { - public typealias Domain = PieckeDomain - - public var domain: PieckeDomain { +extension AuthService: PickeDataRequest { + public var domain: any PickeDomainType { switch self { case .login, .refresh, .logout: - return .auth + return PieckeDomain.auth case .withdraw: - return .profile + return PieckeDomain.profile } } - public var urlPath: String { + public var path: String { switch self { case let .login(provider, _): return "\(AuthAPI.login.description)/\(provider.rawValue)" @@ -52,29 +50,43 @@ extension AuthService: PickeTargetType { } } - public var parameters: [String: Any]? { + public var parameters: (any Encodable & Sendable)? { switch self { case let .login(_, body): - return body.toDictionary - case .refresh: - return nil + return body case let .withdraw(reason): - return reason.toDictionary(key: "reason") - case .logout: + return WithdrawRequest(reason: reason) + case .refresh, .logout: return nil } } - public var headers: [String: String]? { + /// withdraw 는 DELETE 지만 reason 을 JSON 바디로 보낸다(서버 규약). + public var parameterEncoder: ParameterEncoder? { + switch self { + case .withdraw: + return JSONParameterEncoder.default + default: + return nil + } + } + + public var headers: HTTPHeaders { switch self { case let .refresh(refreshToken): - var headers = APIHeader.notAccessTokenHeader - headers[APIHeader.refreshToken] = refreshToken - return headers - case .withdraw, .logout: - return APIHeader.baseHeader + return [APIHeader.refreshToken: refreshToken] default: - return APIHeader.notAccessTokenHeader + return [:] + } + } + + /// 로그인·토큰 재발급은 아직 액세스 토큰이 없거나 자기 자신이 갱신 경로다 — 인증 파이프라인을 우회한다. + public var authorization: PickeAuthorization { + switch self { + case .login, .refresh: + return .none + case .withdraw, .logout: + return .automatic } } } diff --git a/Projects/Service/APIEndpoint/Sources/Auth/Request/OAuthRequest.swift b/Projects/Service/APIEndpoint/Sources/Auth/Request/OAuthRequest.swift index 7176e7c8..028719d2 100644 --- a/Projects/Service/APIEndpoint/Sources/Auth/Request/OAuthRequest.swift +++ b/Projects/Service/APIEndpoint/Sources/Auth/Request/OAuthRequest.swift @@ -10,7 +10,7 @@ import Foundation /// `/api/v1/auth/login/{provider}` 요청 바디. /// - `idToken`: Apple 로그인에서만 채워서 보낸다 (JSON key: `identityToken`). /// - `redirectUri`: Apple 은 nil 로 보낸다 (서버에서 redirect 사용 X). -public struct OAuthLoginRequest: Encodable { +public struct OAuthLoginRequest: Encodable, Sendable { public let authorizationCode: String public let redirectUri: String? public let idToken: String? diff --git a/Projects/Service/APIEndpoint/Sources/Auth/Request/WithdrawRequest.swift b/Projects/Service/APIEndpoint/Sources/Auth/Request/WithdrawRequest.swift new file mode 100644 index 00000000..4057779a --- /dev/null +++ b/Projects/Service/APIEndpoint/Sources/Auth/Request/WithdrawRequest.swift @@ -0,0 +1,14 @@ +// +// WithdrawRequest.swift +// APIEndpoint +// + +import Foundation + +public struct WithdrawRequest: Encodable, Sendable { + public let reason: String + + public init(reason: String) { + self.reason = reason + } +} diff --git a/Projects/Service/APIEndpoint/Sources/Battle/BattleService.swift b/Projects/Service/APIEndpoint/Sources/Battle/BattleService.swift index e1b46d5a..f5c7d556 100644 --- a/Projects/Service/APIEndpoint/Sources/Battle/BattleService.swift +++ b/Projects/Service/APIEndpoint/Sources/Battle/BattleService.swift @@ -8,7 +8,6 @@ import Foundation import API import PickeNetwork - public enum BattleService { case today case detail(battleId: Int) @@ -23,12 +22,10 @@ public enum BattleService { case createProposal(body: BattleProposalRequest) } -extension BattleService: PickeTargetType { - public typealias Domain = PieckeDomain - - public var domain: PieckeDomain { .battle } +extension BattleService: PickeDataRequest { + public var domain: any PickeDomainType { PieckeDomain.battle } - public var urlPath: String { + public var path: String { switch self { case .today: return BattleAPI.today.description @@ -55,7 +52,6 @@ extension BattleService: PickeTargetType { } } - public var method: HTTPMethod { switch self { case .today, .detail, .scenario, .voteStats, .perspectives, .myPerspective, .recommendations: @@ -65,35 +61,20 @@ extension BattleService: PickeTargetType { } } - public var parameters: [String: Any]? { + public var parameters: (any Encodable & Sendable)? { switch self { - case .today: - return nil - case .detail: - return nil case let .preVote(_, body): - return body.toDictionary + return body case let .postVote(_, body): - return body.toDictionary - case .scenario: - return nil - case .voteStats: - return nil + return body case let .perspectives(_, query): - guard let dict = query.toDictionary else { return nil } - return dict.isEmpty ? nil : dict + return query case let .createPerspective(_, body): - return body.toDictionary + return body case let .createProposal(body): - return body.toDictionary - case .myPerspective: - return nil - case .recommendations: + return body + case .today, .detail, .scenario, .voteStats, .myPerspective, .recommendations: return nil } } - - public var headers: [String: String]? { - return APIHeader.baseHeader - } } diff --git a/Projects/Service/APIEndpoint/Sources/Battle/Request/BattleProposalRequest.swift b/Projects/Service/APIEndpoint/Sources/Battle/Request/BattleProposalRequest.swift index 480e2047..be8498c0 100644 --- a/Projects/Service/APIEndpoint/Sources/Battle/Request/BattleProposalRequest.swift +++ b/Projects/Service/APIEndpoint/Sources/Battle/Request/BattleProposalRequest.swift @@ -5,7 +5,7 @@ import Foundation -public struct BattleProposalRequest: Encodable { +public struct BattleProposalRequest: Encodable, Sendable { public let category: String public let topic: String public let positionA: String diff --git a/Projects/Service/APIEndpoint/Sources/Battle/Request/CreatePerspectiveRequest.swift b/Projects/Service/APIEndpoint/Sources/Battle/Request/CreatePerspectiveRequest.swift index f9e94eec..6f1493d9 100644 --- a/Projects/Service/APIEndpoint/Sources/Battle/Request/CreatePerspectiveRequest.swift +++ b/Projects/Service/APIEndpoint/Sources/Battle/Request/CreatePerspectiveRequest.swift @@ -7,7 +7,7 @@ import Foundation -public struct CreatePerspectiveRequest: Encodable { +public struct CreatePerspectiveRequest: Encodable, Sendable { public let content: String public let optionId: Int? diff --git a/Projects/Service/APIEndpoint/Sources/Battle/Request/PerspectivesQueryRequest.swift b/Projects/Service/APIEndpoint/Sources/Battle/Request/PerspectivesQueryRequest.swift index efecb725..ae637e9b 100644 --- a/Projects/Service/APIEndpoint/Sources/Battle/Request/PerspectivesQueryRequest.swift +++ b/Projects/Service/APIEndpoint/Sources/Battle/Request/PerspectivesQueryRequest.swift @@ -5,7 +5,7 @@ import Foundation -public struct PerspectivesQueryRequest: Encodable { +public struct PerspectivesQueryRequest: Encodable, Sendable { public let cursor: String? public let size: Int? public let optionId: Int? diff --git a/Projects/Service/APIEndpoint/Sources/Battle/Request/PreVoteRequest.swift b/Projects/Service/APIEndpoint/Sources/Battle/Request/PreVoteRequest.swift index dda35921..67f93d24 100644 --- a/Projects/Service/APIEndpoint/Sources/Battle/Request/PreVoteRequest.swift +++ b/Projects/Service/APIEndpoint/Sources/Battle/Request/PreVoteRequest.swift @@ -7,7 +7,7 @@ import Foundation -public struct PreVoteRequest: Encodable { +public struct PreVoteRequest: Encodable, Sendable { public let optionId: Int public init(optionId: Int) { diff --git a/Projects/Service/APIEndpoint/Sources/Comment/CommentService.swift b/Projects/Service/APIEndpoint/Sources/Comment/CommentService.swift index 5378c407..60a2137f 100644 --- a/Projects/Service/APIEndpoint/Sources/Comment/CommentService.swift +++ b/Projects/Service/APIEndpoint/Sources/Comment/CommentService.swift @@ -8,18 +8,15 @@ import Foundation import API import PickeNetwork - public enum CommentService { case like(commentId: Int) case unlike(commentId: Int) } -extension CommentService: PickeTargetType { - public typealias Domain = PieckeDomain - - public var domain: PieckeDomain { .comment } +extension CommentService: PickeDataRequest { + public var domain: any PickeDomainType { PieckeDomain.comment } - public var urlPath: String { + public var path: String { switch self { case let .like(commentId): CommentAPI.like(commentId: commentId).description @@ -28,7 +25,6 @@ extension CommentService: PickeTargetType { } } - public var method: HTTPMethod { switch self { case .like: @@ -37,10 +33,4 @@ extension CommentService: PickeTargetType { .delete } } - - public var parameters: [String: Any]? { nil } - - public var headers: [String: String]? { - APIHeader.baseHeader - } } diff --git a/Projects/Service/APIEndpoint/Sources/Device/DeviceService.swift b/Projects/Service/APIEndpoint/Sources/Device/DeviceService.swift index db8f8722..4c511d1e 100644 --- a/Projects/Service/APIEndpoint/Sources/Device/DeviceService.swift +++ b/Projects/Service/APIEndpoint/Sources/Device/DeviceService.swift @@ -15,12 +15,10 @@ public enum DeviceService { case unregister(fcmToken: String) } -extension DeviceService: PickeTargetType { - public typealias Domain = PieckeDomain +extension DeviceService: PickeDataRequest { + public var domain: any PickeDomainType { PieckeDomain.device } - public var domain: PieckeDomain { .device } - - public var urlPath: String { "" } + public var path: String { "" } public var method: HTTPMethod { switch self { @@ -31,26 +29,12 @@ extension DeviceService: PickeTargetType { } } - public var parameters: [String: Any]? { + public var parameters: (any Encodable & Sendable)? { switch self { case let .register(body): - return body.toDictionary + return body case let .unregister(fcmToken): - return ["fcmToken": fcmToken] + return DeviceUnregisterQueryRequest(fcmToken: fcmToken) } } - - /// unregister 는 쿼리 파라미터, register 는 JSON 바디로 인코딩. - public var parameterEncoding: ParameterEncoding { - switch self { - case .register: - return JSONEncoding.default - case .unregister: - return URLEncoding.queryString - } - } - - public var headers: [String: String]? { - APIHeader.baseHeader - } } diff --git a/Projects/Service/APIEndpoint/Sources/Device/Request/DeviceRegisterRequest.swift b/Projects/Service/APIEndpoint/Sources/Device/Request/DeviceRegisterRequest.swift index 6000dd28..a31bb5d8 100644 --- a/Projects/Service/APIEndpoint/Sources/Device/Request/DeviceRegisterRequest.swift +++ b/Projects/Service/APIEndpoint/Sources/Device/Request/DeviceRegisterRequest.swift @@ -5,7 +5,7 @@ import Foundation -public struct DeviceRegisterRequest: Encodable { +public struct DeviceRegisterRequest: Encodable, Sendable { public let fcmToken: String public let platform: String diff --git a/Projects/Service/APIEndpoint/Sources/Device/Request/DeviceUnregisterQueryRequest.swift b/Projects/Service/APIEndpoint/Sources/Device/Request/DeviceUnregisterQueryRequest.swift new file mode 100644 index 00000000..976f4bec --- /dev/null +++ b/Projects/Service/APIEndpoint/Sources/Device/Request/DeviceUnregisterQueryRequest.swift @@ -0,0 +1,14 @@ +// +// DeviceUnregisterQueryRequest.swift +// APIEndpoint +// + +import Foundation + +public struct DeviceUnregisterQueryRequest: Encodable, Sendable { + public let fcmToken: String + + public init(fcmToken: String) { + self.fcmToken = fcmToken + } +} diff --git a/Projects/Service/APIEndpoint/Sources/Home/HomeService.swift b/Projects/Service/APIEndpoint/Sources/Home/HomeService.swift index f9414a06..b89d8a5c 100644 --- a/Projects/Service/APIEndpoint/Sources/Home/HomeService.swift +++ b/Projects/Service/APIEndpoint/Sources/Home/HomeService.swift @@ -10,34 +10,24 @@ import Foundation import API import PickeNetwork - public enum HomeService { case home } -extension HomeService: PickeTargetType { - public typealias Domain = PieckeDomain - - public var domain: PieckeDomain { .home } +extension HomeService: PickeDataRequest { + public var domain: any PickeDomainType { PieckeDomain.home } - public var urlPath: String { + public var path: String { switch self { case .home: return HomeAPI.home.description } } - public var method: HTTPMethod { switch self { case .home: return .get } } - - public var parameters: [String: Any]? { nil } - - public var headers: [String: String]? { - return APIHeader.baseHeader // 인증 헤더 포함 (액세스 토큰) - } } diff --git a/Projects/Service/APIEndpoint/Sources/Notification/NotificationService.swift b/Projects/Service/APIEndpoint/Sources/Notification/NotificationService.swift index 09ae31cf..5c93c90f 100644 --- a/Projects/Service/APIEndpoint/Sources/Notification/NotificationService.swift +++ b/Projects/Service/APIEndpoint/Sources/Notification/NotificationService.swift @@ -8,7 +8,6 @@ import Foundation import API import PickeNetwork - public enum NotificationService { case list(query: NotificationsQueryRequest) case unread @@ -17,12 +16,10 @@ public enum NotificationService { case readAll } -extension NotificationService: PickeTargetType { - public typealias Domain = PieckeDomain - - public var domain: PieckeDomain { .notification } +extension NotificationService: PickeDataRequest { + public var domain: any PickeDomainType { PieckeDomain.notification } - public var urlPath: String { + public var path: String { switch self { case .list: return NotificationAPI.list.description @@ -37,7 +34,6 @@ extension NotificationService: PickeTargetType { } } - public var method: HTTPMethod { switch self { case .list, .unread, .detail: @@ -47,17 +43,12 @@ extension NotificationService: PickeTargetType { } } - public var parameters: [String: Any]? { + public var parameters: (any Encodable & Sendable)? { switch self { case let .list(query): - guard let dict = query.toDictionary else { return nil } - return dict.isEmpty ? nil : dict + return query case .unread, .detail, .read, .readAll: return nil } } - - public var headers: [String: String]? { - return APIHeader.baseHeader - } } diff --git a/Projects/Service/APIEndpoint/Sources/Notification/Request/NotificationsQueryRequest.swift b/Projects/Service/APIEndpoint/Sources/Notification/Request/NotificationsQueryRequest.swift index c54107c1..84159820 100644 --- a/Projects/Service/APIEndpoint/Sources/Notification/Request/NotificationsQueryRequest.swift +++ b/Projects/Service/APIEndpoint/Sources/Notification/Request/NotificationsQueryRequest.swift @@ -5,7 +5,7 @@ import Foundation -public struct NotificationsQueryRequest: Encodable { +public struct NotificationsQueryRequest: Encodable, Sendable { /// ALL / CONTENT / NOTICE / EVENT. public let category: String? public let page: Int? diff --git a/Projects/Service/APIEndpoint/Sources/Perspective/PerspectiveService.swift b/Projects/Service/APIEndpoint/Sources/Perspective/PerspectiveService.swift index 554ec1d7..b9adc20f 100644 --- a/Projects/Service/APIEndpoint/Sources/Perspective/PerspectiveService.swift +++ b/Projects/Service/APIEndpoint/Sources/Perspective/PerspectiveService.swift @@ -8,7 +8,7 @@ import Foundation import API import PickeNetwork -public struct PerspectiveCommentBody: Encodable { +public struct PerspectiveCommentBody: Encodable, Sendable { public let content: String public init(content: String) { self.content = content } } @@ -28,12 +28,10 @@ public enum PerspectiveService { case reportComment(perspectiveId: Int, commentId: Int) } -extension PerspectiveService: PickeTargetType { - public typealias Domain = PieckeDomain +extension PerspectiveService: PickeDataRequest { + public var domain: any PickeDomainType { PieckeDomain.perspective } - public var domain: PieckeDomain { .perspective } - - public var urlPath: String { + public var path: String { switch self { case let .detail(perspectiveId): return PerspectiveAPI.detail(perspectiveId: perspectiveId).description @@ -62,7 +60,6 @@ extension PerspectiveService: PickeTargetType { } } - public var method: HTTPMethod { switch self { case .detail, .listLabeledComments, .fetchPerspectiveLikes: @@ -76,33 +73,25 @@ extension PerspectiveService: PickeTargetType { } } - public var parameters: [String: Any]? { + public var parameters: (any Encodable & Sendable)? { switch self { - case .detail: - return nil case let .listLabeledComments(_, cursor, size): - var query: [String: Any] = [:] - if let cursor { query["cursor"] = cursor } - if let size { query["size"] = size } - return query.isEmpty ? nil : query + return PerspectiveCommentsQueryRequest(cursor: cursor, size: size) case let .createComment(_, body): - return body.toDictionary + return body case let .updateComment(_, _, body): - return body.toDictionary + return body case let .updatePerspective(_, body): - return body.toDictionary - case .deleteComment: - return nil - case .deletePerspective: - return nil - case .likePerspective, .unlikePerspective, .fetchPerspectiveLikes: - return nil - case .reportPerspective, .reportComment: + return body + case .detail, + .deleteComment, + .deletePerspective, + .likePerspective, + .unlikePerspective, + .fetchPerspectiveLikes, + .reportPerspective, + .reportComment: return nil } } - - public var headers: [String: String]? { - APIHeader.baseHeader - } } diff --git a/Projects/Service/APIEndpoint/Sources/Perspective/Request/PerspectiveCommentsQueryRequest.swift b/Projects/Service/APIEndpoint/Sources/Perspective/Request/PerspectiveCommentsQueryRequest.swift new file mode 100644 index 00000000..e093d10e --- /dev/null +++ b/Projects/Service/APIEndpoint/Sources/Perspective/Request/PerspectiveCommentsQueryRequest.swift @@ -0,0 +1,16 @@ +// +// PerspectiveCommentsQueryRequest.swift +// APIEndpoint +// + +import Foundation + +public struct PerspectiveCommentsQueryRequest: Encodable, Sendable { + public let cursor: String? + public let size: Int? + + public init(cursor: String?, size: Int?) { + self.cursor = cursor + self.size = size + } +} diff --git a/Projects/Service/APIEndpoint/Sources/Profile/ProfileService.swift b/Projects/Service/APIEndpoint/Sources/Profile/ProfileService.swift index 86bf2190..68aa16c2 100644 --- a/Projects/Service/APIEndpoint/Sources/Profile/ProfileService.swift +++ b/Projects/Service/APIEndpoint/Sources/Profile/ProfileService.swift @@ -8,7 +8,6 @@ import Foundation import API import PickeNetwork - public enum ProfileService { case mypage case recap @@ -20,12 +19,10 @@ public enum ProfileService { case updateProfile(body: ProfileUpdateRequest) } -extension ProfileService: PickeTargetType { - public typealias Domain = PieckeDomain - - public var domain: PieckeDomain { .profile } +extension ProfileService: PickeDataRequest { + public var domain: any PickeDomainType { PieckeDomain.profile } - public var urlPath: String { + public var path: String { switch self { case .mypage: return ProfileAPI.mypage.description @@ -46,7 +43,6 @@ extension ProfileService: PickeTargetType { } } - public var method: HTTPMethod { switch self { case .mypage, .recap, .creditsHistory, .battleRecords, .contentActivities, .notificationSettings: @@ -56,33 +52,20 @@ extension ProfileService: PickeTargetType { } } - public var parameters: [String: Any]? { + public var parameters: (any Encodable & Sendable)? { switch self { - case .mypage: - return nil - case .recap: - return nil case let .creditsHistory(query): - guard let dict = query.toDictionary else { return nil } - return dict.isEmpty ? nil : dict + return query case let .battleRecords(query): - guard let dict = query.toDictionary else { return nil } - return dict.isEmpty ? nil : dict + return query case let .contentActivities(query): - guard let dict = query.toDictionary else { return nil } - return dict.isEmpty ? nil : dict - case .notificationSettings: - return nil + return query case let .updateNotificationSettings(body): - guard let dict = body.toDictionary else { return nil } - return dict.isEmpty ? nil : dict + return body case let .updateProfile(body): - guard let dict = body.toDictionary else { return nil } - return dict.isEmpty ? nil : dict + return body + case .mypage, .recap, .notificationSettings: + return nil } } - - public var headers: [String: String]? { - return APIHeader.baseHeader - } } diff --git a/Projects/Service/APIEndpoint/Sources/Profile/Request/BattleRecordsQueryRequest.swift b/Projects/Service/APIEndpoint/Sources/Profile/Request/BattleRecordsQueryRequest.swift index bf0337da..4c99bd6c 100644 --- a/Projects/Service/APIEndpoint/Sources/Profile/Request/BattleRecordsQueryRequest.swift +++ b/Projects/Service/APIEndpoint/Sources/Profile/Request/BattleRecordsQueryRequest.swift @@ -5,7 +5,7 @@ import Foundation -public struct BattleRecordsQueryRequest: Encodable { +public struct BattleRecordsQueryRequest: Encodable, Sendable { public let offset: Int? public let size: Int? /// 투표 진영 필터 (PRO / CON). nil 이면 전체. diff --git a/Projects/Service/APIEndpoint/Sources/Profile/Request/ContentActivitiesQueryRequest.swift b/Projects/Service/APIEndpoint/Sources/Profile/Request/ContentActivitiesQueryRequest.swift index 6c0fcb96..b8e85d0e 100644 --- a/Projects/Service/APIEndpoint/Sources/Profile/Request/ContentActivitiesQueryRequest.swift +++ b/Projects/Service/APIEndpoint/Sources/Profile/Request/ContentActivitiesQueryRequest.swift @@ -5,7 +5,7 @@ import Foundation -public struct ContentActivitiesQueryRequest: Encodable { +public struct ContentActivitiesQueryRequest: Encodable, Sendable { public let offset: Int? public let size: Int? /// 활동 유형 필터 (COMMENT / LIKE). nil 이면 전체. diff --git a/Projects/Service/APIEndpoint/Sources/Profile/Request/CreditHistoryQueryRequest.swift b/Projects/Service/APIEndpoint/Sources/Profile/Request/CreditHistoryQueryRequest.swift index 9929bce4..72c48af6 100644 --- a/Projects/Service/APIEndpoint/Sources/Profile/Request/CreditHistoryQueryRequest.swift +++ b/Projects/Service/APIEndpoint/Sources/Profile/Request/CreditHistoryQueryRequest.swift @@ -5,7 +5,7 @@ import Foundation -public struct CreditHistoryQueryRequest: Encodable { +public struct CreditHistoryQueryRequest: Encodable, Sendable { public let offset: Int? public let size: Int? diff --git a/Projects/Service/APIEndpoint/Sources/Profile/Request/NotificationSettingsRequest.swift b/Projects/Service/APIEndpoint/Sources/Profile/Request/NotificationSettingsRequest.swift index 481c8b3f..e3b04224 100644 --- a/Projects/Service/APIEndpoint/Sources/Profile/Request/NotificationSettingsRequest.swift +++ b/Projects/Service/APIEndpoint/Sources/Profile/Request/NotificationSettingsRequest.swift @@ -5,7 +5,7 @@ import Foundation -public struct NotificationSettingsRequest: Encodable { +public struct NotificationSettingsRequest: Encodable, Sendable { public let newBattleEnabled: Bool public let battleResultEnabled: Bool public let commentReplyEnabled: Bool diff --git a/Projects/Service/APIEndpoint/Sources/Profile/Request/ProfileUpdateRequest.swift b/Projects/Service/APIEndpoint/Sources/Profile/Request/ProfileUpdateRequest.swift index 49995f17..5563273d 100644 --- a/Projects/Service/APIEndpoint/Sources/Profile/Request/ProfileUpdateRequest.swift +++ b/Projects/Service/APIEndpoint/Sources/Profile/Request/ProfileUpdateRequest.swift @@ -5,7 +5,7 @@ import Foundation -public struct ProfileUpdateRequest: Encodable { +public struct ProfileUpdateRequest: Encodable, Sendable { public let nickname: String public let characterType: String diff --git a/Projects/Service/APIEndpoint/Sources/Search/Request/SearchBattlesQueryRequest.swift b/Projects/Service/APIEndpoint/Sources/Search/Request/SearchBattlesQueryRequest.swift new file mode 100644 index 00000000..5a4b377f --- /dev/null +++ b/Projects/Service/APIEndpoint/Sources/Search/Request/SearchBattlesQueryRequest.swift @@ -0,0 +1,26 @@ +// +// SearchBattlesQueryRequest.swift +// APIEndpoint +// + +import Foundation + +public struct SearchBattlesQueryRequest: Encodable, Sendable { + public let category: String? + public let sort: String? + public let offset: Int? + public let size: Int? + + public init( + category: String?, + sort: String?, + offset: Int?, + size: Int? + ) { + // 빈 문자열은 쿼리에서 제외한다(기존 동작 보존). + self.category = (category?.isEmpty == false) ? category : nil + self.sort = (sort?.isEmpty == false) ? sort : nil + self.offset = offset + self.size = size + } +} diff --git a/Projects/Service/APIEndpoint/Sources/Search/SearchService.swift b/Projects/Service/APIEndpoint/Sources/Search/SearchService.swift index bf956984..a39933c1 100644 --- a/Projects/Service/APIEndpoint/Sources/Search/SearchService.swift +++ b/Projects/Service/APIEndpoint/Sources/Search/SearchService.swift @@ -8,24 +8,20 @@ import Foundation import API import PickeNetwork - public enum SearchService { case battles(category: String?, sort: String?, offset: Int?, size: Int?) } -extension SearchService: PickeTargetType { - public typealias Domain = PieckeDomain - - public var domain: PieckeDomain { .search } +extension SearchService: PickeDataRequest { + public var domain: any PickeDomainType { PieckeDomain.search } - public var urlPath: String { + public var path: String { switch self { case .battles: return SearchAPI.battles.description } } - public var method: HTTPMethod { switch self { case .battles: @@ -33,19 +29,15 @@ extension SearchService: PickeTargetType { } } - public var parameters: [String: Any]? { + public var parameters: (any Encodable & Sendable)? { switch self { case let .battles(category, sort, offset, size): - var query: [String: Any] = [:] - if let category, !category.isEmpty { query["category"] = category } - if let sort, !sort.isEmpty { query["sort"] = sort } - if let offset { query["offset"] = offset } - if let size { query["size"] = size } - return query.isEmpty ? nil : query + return SearchBattlesQueryRequest( + category: category, + sort: sort, + offset: offset, + size: size + ) } } - - public var headers: [String: String]? { - return APIHeader.baseHeader - } } diff --git a/Projects/Service/DeviceService/Sources/Repository/DeviceRepositoryImpl.swift b/Projects/Service/DeviceService/Sources/Repository/DeviceRepositoryImpl.swift index 982232a8..fff423e9 100644 --- a/Projects/Service/DeviceService/Sources/Repository/DeviceRepositoryImpl.swift +++ b/Projects/Service/DeviceService/Sources/Repository/DeviceRepositoryImpl.swift @@ -5,6 +5,8 @@ import Foundation +import Dependencies + import APIEndpoint import PickeNetwork @@ -12,28 +14,21 @@ import DeviceServiceInterface import LogMacro public final class DeviceRepositoryImpl: DeviceInterface, @unchecked Sendable { - private let provider: any NetworkProviding + @Dependency(\.networkClient) private var client - public init( - provider: any NetworkProviding = AlamofireNetworkProvider.authorized - ) { - self.provider = provider - } + public init() {} public func registerDevice(fcmToken: String, platform: DevicePlatform) async throws { - let _: BaseResponseDTO = try await provider.request( - .register( - body: DeviceRegisterRequest( - fcmToken: fcmToken, - platform: platform.rawValue - ) - ) + _ = try await client.send( + DeviceService.register( body: DeviceRegisterRequest( fcmToken: fcmToken, platform: platform.rawValue ) ), + as: PickeEmptyResponse.self ) } public func unregisterDevice(fcmToken: String) async throws { - let _: BaseResponseDTO = try await provider.request( - .unregister(fcmToken: fcmToken) + _ = try await client.send( + DeviceService.unregister(fcmToken: fcmToken), + as: PickeEmptyResponse.self ) } } From a7cc1f82e30207b496d54a714cd379911b9a5040 Mon Sep 17 00:00:00 2001 From: Roy Date: Mon, 7 Sep 2026 12:59:08 +0900 Subject: [PATCH 47/83] =?UTF-8?q?feat(auth):=20PickeAuth=20=EC=84=9C?= =?UTF-8?q?=EB=B9=84=EC=8A=A4=20=EB=AA=A8=EB=93=88=EC=9D=84=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80=ED=95=98=EA=B3=A0=20=EC=A1=B0=EB=A6=BD=EC=9D=84=20?= =?UTF-8?q?=ED=95=9C=EA=B3=B3=EC=9C=BC=EB=A1=9C=20=EB=AA=A8=EC=9D=80?= =?UTF-8?q?=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Attendance-iOS 의 DDDAuth / ServiceAssembly 구조를 그대로 옮긴다. - PickeAuth: AuthService·AuthenticatedClientProvider 계약과 actor 구현 - GuardedCredentialStore 로 로그아웃 이후 늦은 refresh 저장 차단 - KeychainCredentialStore·JWTDecoder·TokenRefresher·AuthFactory 추가 - CoreAssembly 에 NetworkAssembly/StorageAssembly 팩토리 신설 - ServiceAssembly 의 NetworkContainer 가 인증 클라이언트와 AuthService 를 단일 조립 - networkClient/authService liveValue 를 ServiceAssembly 에서 등록 - App DI 는 ServiceDependencyAssembly.register 하나로 정리 - 대체된 AuthSessionManager/OptimizedSessionManager/AuthInterceptor/ SessionInvalidationMonitor/KeychainTokenProvider 제거 --- .../TargetDependency+Module/Modules.swift | 3 +- .../App/Sources/Di/AppDependencyFactory.swift | 17 ++--- .../Sources/Di/KeychainTokenProvider.swift | 32 --------- Projects/Core/CoreAssembly/Project.swift | 1 + .../Sources/NetworkAssembly.swift | 13 ++++ .../Sources/StorageAssembly.swift | 18 +++++ .../PickeAuth/Interface/AuthService.swift | 25 +++++++ .../Interface/AuthServiceDependency.swift | 55 +++++++++++++++ .../AuthenticatedClientProvider.swift | 12 ++++ Projects/Service/PickeAuth/Project.swift | 25 +++++++ .../Sources/Factory/AuthFactory.swift | 57 +++++++++++++++ .../Service/PickeAuth/Sources/PickeAuth.swift | 65 +++++++++++++++++ .../Sources/Refresh/TokenRefresher.swift | 69 +++++++++++++++++++ .../Store/GuardedCredentialStore.swift | 62 +++++++++++++++++ .../Store/KeychainCredentialStore.swift | 48 +++++++++++++ .../PickeAuth/Sources/Token/JWTDecoder.swift | 28 ++++++++ .../Service/ServiceAssembly/Project.swift | 1 + .../Sources/DependencyValues+Network.swift | 26 +++++++ .../Exported/ServiceAssemblyExported.swift | 3 +- .../Sources/NetworkContainer.swift | 41 +++++++++++ .../Sources/ServiceDependencyAssembly.swift | 25 +++++++ 21 files changed, 582 insertions(+), 44 deletions(-) delete mode 100644 Projects/App/Sources/Di/KeychainTokenProvider.swift create mode 100644 Projects/Core/CoreAssembly/Sources/NetworkAssembly.swift create mode 100644 Projects/Core/CoreAssembly/Sources/StorageAssembly.swift create mode 100644 Projects/Service/PickeAuth/Interface/AuthService.swift create mode 100644 Projects/Service/PickeAuth/Interface/AuthServiceDependency.swift create mode 100644 Projects/Service/PickeAuth/Interface/AuthenticatedClientProvider.swift create mode 100644 Projects/Service/PickeAuth/Project.swift create mode 100644 Projects/Service/PickeAuth/Sources/Factory/AuthFactory.swift create mode 100644 Projects/Service/PickeAuth/Sources/PickeAuth.swift create mode 100644 Projects/Service/PickeAuth/Sources/Refresh/TokenRefresher.swift create mode 100644 Projects/Service/PickeAuth/Sources/Store/GuardedCredentialStore.swift create mode 100644 Projects/Service/PickeAuth/Sources/Store/KeychainCredentialStore.swift create mode 100644 Projects/Service/PickeAuth/Sources/Token/JWTDecoder.swift create mode 100644 Projects/Service/ServiceAssembly/Sources/DependencyValues+Network.swift create mode 100644 Projects/Service/ServiceAssembly/Sources/NetworkContainer.swift create mode 100644 Projects/Service/ServiceAssembly/Sources/ServiceDependencyAssembly.swift diff --git a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Modules.swift b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Modules.swift index 9b7a9f15..4bfb7392 100644 --- a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Modules.swift +++ b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Modules.swift @@ -46,9 +46,10 @@ public enum ServiceModule: String, CaseIterable { case assembly = "ServiceAssembly" case api = "API" case apiEndpoint = "APIEndpoint" - case analytics = "AnalyticsService" + case analytics = "PickeAnalytics" case audioPlayer = "AudioPlayerService" case device = "DeviceService" + case auth = "PickeAuth" /// Projects/Service/ var path: Path { diff --git a/Projects/App/Sources/Di/AppDependencyFactory.swift b/Projects/App/Sources/Di/AppDependencyFactory.swift index c0ea13f9..e375810a 100644 --- a/Projects/App/Sources/Di/AppDependencyFactory.swift +++ b/Projects/App/Sources/Di/AppDependencyFactory.swift @@ -1,21 +1,22 @@ -import AnalyticsService -import AnalyticsServiceInterface +import PickeAnalytics +import PickeAnalyticsInterface import AudioPlayerService import ComposableArchitecture +import CoreAssembly import DeviceService import DeviceServiceInterface import DomainAssembly -import PickeNetwork -import PickeStorage import PickeStorageInterface +import ServiceAssembly import WeaveDI enum AppDependencyFactory { - static let keychainManager: KeychainManaging = KeychainManager() + /// 네트워크·인증·저장소 live 구현은 ServiceAssembly 가 단일 출처로 조립한다. + static var keychainManager: any KeychainManaging { StorageAssembly.keychain } @MainActor static func configure(_ values: inout DependencyValues) { - values.keychainManager = keychainManager + ServiceDependencyAssembly.register(into: &values) ChatFeatureFactory.configure(&values) ProfileFeatureFactory.configure(&values) AppServiceFactory.configure(&values) @@ -29,15 +30,12 @@ enum AppDependencyFactory { .register { AuthRepositoryImpl() as AuthInterface } .configure() - OptimizedSessionManager.shared.configureNetworkSessions() KingfisherConfigurator.configureAuthorizedDownloader( keychainManager: keychainManager ) } } - - private enum ChatFeatureFactory { static func configure(_ values: inout DependencyValues) { values.audioPlayer = AudioPlayerRepositoryImpl() @@ -51,7 +49,6 @@ private enum ProfileFeatureFactory { } } - private enum AppServiceFactory { static func configure(_ values: inout DependencyValues) { values.analyticsUseCase = .liveValue diff --git a/Projects/App/Sources/Di/KeychainTokenProvider.swift b/Projects/App/Sources/Di/KeychainTokenProvider.swift deleted file mode 100644 index 8f4dddb2..00000000 --- a/Projects/App/Sources/Di/KeychainTokenProvider.swift +++ /dev/null @@ -1,32 +0,0 @@ -// -// KeychainTokenProvider.swift -// DDDAttendance -// -// Created by Wonji Suh on 1/2/26. -// - -import Foundation - -// 필요 모듈만 사용 -import PickeNetwork -import PickeStorageInterface - -struct KeychainTokenProvider: TokenProviding { - private let keychainManager: KeychainManaging - - init(keychainManager: KeychainManaging) { - self.keychainManager = keychainManager - } - - func accessToken() -> String? { - keychainManager.accessToken() - } - - func saveAccessToken(_ token: String) { - keychainManager.saveAccessToken(token) - } - - func clearAccessToken() { - keychainManager.clearAccessToken() - } -} diff --git a/Projects/Core/CoreAssembly/Project.swift b/Projects/Core/CoreAssembly/Project.swift index 89b9bca3..01c1709c 100644 --- a/Projects/Core/CoreAssembly/Project.swift +++ b/Projects/Core/CoreAssembly/Project.swift @@ -16,6 +16,7 @@ let project = Project.configure( .core(.network), .core(.coreUtility), .core(.storage, .implementation), + .SPM.composableArchitecture, ], sources: ["Sources/**"], hasTests: false diff --git a/Projects/Core/CoreAssembly/Sources/NetworkAssembly.swift b/Projects/Core/CoreAssembly/Sources/NetworkAssembly.swift new file mode 100644 index 00000000..451c1195 --- /dev/null +++ b/Projects/Core/CoreAssembly/Sources/NetworkAssembly.swift @@ -0,0 +1,13 @@ +// +// NetworkAssembly.swift +// CoreAssembly +// + +import PickeNetwork +import PickeNetworkInterface + +public enum NetworkAssembly { + public static func plainClient() -> any PickeNetworkClient { + NetworkClientFactory.plain() + } +} diff --git a/Projects/Core/CoreAssembly/Sources/StorageAssembly.swift b/Projects/Core/CoreAssembly/Sources/StorageAssembly.swift new file mode 100644 index 00000000..8f514d6b --- /dev/null +++ b/Projects/Core/CoreAssembly/Sources/StorageAssembly.swift @@ -0,0 +1,18 @@ +// +// StorageAssembly.swift +// CoreAssembly +// + +import PickeStorage +import PickeStorageInterface + +import Dependencies + +public enum StorageAssembly { + /// 앱 전역에서 공유하는 Keychain 저장소. 인증 서비스와 DI 등록이 같은 인스턴스를 본다. + public static let keychain: any KeychainManaging = KeychainManager() + + public static func register(into values: inout DependencyValues) { + values.keychainManager = keychain + } +} diff --git a/Projects/Service/PickeAuth/Interface/AuthService.swift b/Projects/Service/PickeAuth/Interface/AuthService.swift new file mode 100644 index 00000000..fb0993d8 --- /dev/null +++ b/Projects/Service/PickeAuth/Interface/AuthService.swift @@ -0,0 +1,25 @@ +// +// AuthService.swift +// PickeAuthInterface +// + +import Foundation + +/// 앱의 인증 상태를 저장소와 네트워크 세션에 동시에 반영하는 단일 진입점. +/// Repository 는 Keychain 이나 `CredentialUpdating` 을 직접 다루지 않고 이 계약만 사용한다. +public protocol AuthService: Sendable { + /// 저장소에 유효한 access/refresh token 쌍이 있는지 확인한다. + var isLoggedIn: Bool { get async } + /// 저장된 refresh token 을 반환한다. + var refreshToken: String? { get async } + + /// 로그인 성공 토큰을 영속화하고 이후 인증 요청에 즉시 반영한다. + func signIn(accessToken: String, refreshToken: String) async + /// 영속 토큰과 현재 네트워크 세션 credential 을 함께 제거한다. + func signOut() async +} + +public extension Notification.Name { + /// refresh token 이 서버에서 거부되어 재로그인이 필요할 때 발행된다. + static let pickeAuthSessionDidExpire = Notification.Name("pickeauth.session.didExpire") +} diff --git a/Projects/Service/PickeAuth/Interface/AuthServiceDependency.swift b/Projects/Service/PickeAuth/Interface/AuthServiceDependency.swift new file mode 100644 index 00000000..d7522cbc --- /dev/null +++ b/Projects/Service/PickeAuth/Interface/AuthServiceDependency.swift @@ -0,0 +1,55 @@ +// +// AuthServiceDependency.swift +// PickeAuthInterface +// +// 인증 서비스의 DependencyKey. +// +// liveValue 는 Keychain·네트워크 세션을 함께 다루므로 상위 조립 레이어가 등록한다. +// 여기서는 계약과 테스트값만 둔다. +// + +import Foundation + +import Dependencies + +public enum AuthServiceDependency: TestDependencyKey { + public static var testValue: any AuthService { + UnimplementedAuthService() + } +} + +public extension DependencyValues { + var authService: any AuthService { + get { self[AuthServiceDependency.self] } + set { self[AuthServiceDependency.self] = newValue } + } +} + +/// 등록하지 않은 채 인증을 건드리면 알려주는 기본값. +/// 조용히 성공을 돌려주면 로그인 관련 테스트가 통과해버린다. +public struct UnimplementedAuthService: AuthService { + public init() {} + + public var isLoggedIn: Bool { + get async { reportUnimplemented() } + } + + public var refreshToken: String? { + get async { reportUnimplemented() } + } + + public func signIn(accessToken _: String, refreshToken _: String) async { + reportUnimplemented() + } + + public func signOut() async { + reportUnimplemented() + } + + private func reportUnimplemented() -> Never { + fatalError( + "authService 가 등록되지 않았다. 테스트라면 withDependencies 로 스텁을 넣고, " + + "앱이라면 ServiceAssembly 의 liveValue 등록을 확인할 것." + ) + } +} diff --git a/Projects/Service/PickeAuth/Interface/AuthenticatedClientProvider.swift b/Projects/Service/PickeAuth/Interface/AuthenticatedClientProvider.swift new file mode 100644 index 00000000..8868eb54 --- /dev/null +++ b/Projects/Service/PickeAuth/Interface/AuthenticatedClientProvider.swift @@ -0,0 +1,12 @@ +// +// AuthenticatedClientProvider.swift +// PickeAuthInterface +// + +import PickeNetworkInterface + +/// `AuthService` 와 같은 생명주기로 조립된 인증 네트워크 클라이언트를 제공한다. +public protocol AuthenticatedClientProvider: Sendable { + /// 현재 인증 저장소와 토큰 재발급기를 공유하는 네트워크 클라이언트다. + var authenticatedClient: any PickeNetworkClient { get } +} diff --git a/Projects/Service/PickeAuth/Project.swift b/Projects/Service/PickeAuth/Project.swift new file mode 100644 index 00000000..3b7e6e88 --- /dev/null +++ b/Projects/Service/PickeAuth/Project.swift @@ -0,0 +1,25 @@ +import DependencyPackagePlugin +import DependencyPlugin +import Foundation +import ProjectDescription +import ProjectTemplatePlugin + +let project = Project.configure( + moduleType: .microModule(name: "PickeAuth"), + bundleId: .appBundleID(name: ".PickeAuth"), + product: .staticFramework, + settings: .settings(), + dependencies: [ + .service(.apiEndpoint), + .core(.network), + .core(.storage), + .core(.storage, .interface), + .SPM.composableArchitecture, + .SPM.logMarco, + ], + interfaceDependencies: [ + .core(.network, .interface), + .SPM.composableArchitecture, + .SPM.weaveDI, + ] +) diff --git a/Projects/Service/PickeAuth/Sources/Factory/AuthFactory.swift b/Projects/Service/PickeAuth/Sources/Factory/AuthFactory.swift new file mode 100644 index 00000000..70b0862a --- /dev/null +++ b/Projects/Service/PickeAuth/Sources/Factory/AuthFactory.swift @@ -0,0 +1,57 @@ +// +// AuthFactory.swift +// PickeAuth +// + +import Foundation +import os + +import PickeAuthInterface +import PickeNetwork +import PickeNetworkInterface +import PickeStorageInterface + +/// Keychain, refresh 클라이언트, 인증 클라이언트를 하나의 인증 서비스로 조립한다. +public enum AuthFactory { + /// refresh 전용(비인증) 클라이언트와 Keychain 으로 완성된 인증 서비스를 생성한다. + public static func make( + refreshClient: any PickeNetworkClient = NetworkClientFactory.plain(), + keychain: any KeychainManaging + ) -> any AuthService & AuthenticatedClientProvider { + let store = GuardedCredentialStore(base: KeychainCredentialStore(keychain: keychain)) + let relay = AuthFailureRelay() + let authenticated = NetworkClientFactory.unified( + store: store, + refresher: TokenRefresher(client: refreshClient) { + await relay.fire() + } + ) + let auth = PickeAuth( + authenticatedClient: authenticated.client, + store: store, + credentials: authenticated.credentials + ) + relay.set { [weak auth] in + await auth?.handleAuthFailure() + } + return auth + } +} + +private final class AuthFailureRelay: Sendable { + /// 동기 Factory 조립 중 나중에 생성되는 PickeAuth 실패 핸들러를 연결한다. + private let handler = OSAllocatedUnfairLock<(@Sendable () async -> Void)?>(initialState: nil) + + /// PickeAuth 생성 이후 refresh 실패 핸들러를 원자적으로 등록한다. + func set(_ handler: @escaping @Sendable () async -> Void) { + self.handler.withLock { + $0 = handler + } + } + + /// 등록된 실패 핸들러를 lock 밖에서 비동기로 실행한다. + func fire() async { + let handler = handler.withLock { $0 } + await handler?() + } +} diff --git a/Projects/Service/PickeAuth/Sources/PickeAuth.swift b/Projects/Service/PickeAuth/Sources/PickeAuth.swift new file mode 100644 index 00000000..d4e243e9 --- /dev/null +++ b/Projects/Service/PickeAuth/Sources/PickeAuth.swift @@ -0,0 +1,65 @@ +// +// PickeAuth.swift +// PickeAuth +// + +import Foundation + +import PickeAuthInterface +import PickeNetworkInterface + +/// 토큰 저장소와 네트워크 인증 세션의 상태를 하나의 생명주기로 관리한다. +actor PickeAuth: AuthService, AuthenticatedClientProvider { + /// 인증 상태와 함께 조립되지만 actor 격리 없이 안전하게 공유할 수 있는 불변 클라이언트다. + nonisolated let authenticatedClient: any PickeNetworkClient + + /// 로그인·로그아웃과 refresh 저장 간 경쟁 상태를 차단하는 credential 저장소다. + private let store: GuardedCredentialStore + /// 실행 중인 네트워크 세션에 최신 credential 을 반영하는 갱신기다. + private let credentials: any CredentialUpdating + + /// 동일한 저장소와 네트워크 세션을 하나의 인증 생명주기로 묶는다. + init( + authenticatedClient: any PickeNetworkClient, + store: GuardedCredentialStore, + credentials: any CredentialUpdating + ) { + self.authenticatedClient = authenticatedClient + self.store = store + self.credentials = credentials + } + + /// 저장소에 사용할 수 있는 credential 이 남아 있는지 반환한다. + var isLoggedIn: Bool { + store.load() != nil + } + + var refreshToken: String? { + store.load()?.refreshToken + } + + /// 새 로그인 토큰을 저장하고 이후 인증 요청에 즉시 반영한다. + func signIn(accessToken: String, refreshToken: String) { + store.allowSaves() + let credential = PickeCredential( + accessToken: accessToken, + refreshToken: refreshToken, + expiresAt: JWTDecoder.decodeExpiration(accessToken) + ) + store.save(credential) + credentials.update(credential) + } + + /// 영속 credential 과 실행 중인 네트워크 세션을 함께 비운다. + func signOut() { + store.clear() + credentials.update(nil) + } + + /// refresh token 거부 시 세션을 정리하고 App 계층에 만료 이벤트를 전달한다. + func handleAuthFailure() { + signOut() + // 화면 전환은 App 계층의 책임이므로 서비스는 세션 정리 후 이벤트만 알린다. + NotificationCenter.default.post(name: .pickeAuthSessionDidExpire, object: nil) + } +} diff --git a/Projects/Service/PickeAuth/Sources/Refresh/TokenRefresher.swift b/Projects/Service/PickeAuth/Sources/Refresh/TokenRefresher.swift new file mode 100644 index 00000000..ade9ae31 --- /dev/null +++ b/Projects/Service/PickeAuth/Sources/Refresh/TokenRefresher.swift @@ -0,0 +1,69 @@ +// +// TokenRefresher.swift +// PickeAuth +// + +import Foundation + +import APIEndpoint +import PickeNetworkInterface + +/// 인증 인터셉터가 401 또는 만료 임박 시 호출하는 토큰 갱신기. +struct TokenRefresher: TokenRefreshing { + /// 인증 헤더 없이 refresh endpoint 를 호출하는 요청 클라이언트다. + private let client: any PickeRequestClient + /// 서버가 credential 을 거부했을 때 인증 세션을 종료하는 콜백이다. + private let onAuthFailure: @Sendable () async -> Void + + /// refresh 요청과 인증 실패 후처리를 한 갱신기로 조립한다. + init( + client: any PickeRequestClient, + onAuthFailure: @escaping @Sendable () async -> Void + ) { + self.client = client + self.onAuthFailure = onAuthFailure + } + + /// 현재 refresh token 을 새 credential 쌍으로 교환한다. + func refresh(_ current: PickeCredential) async throws(PickeNetworkError) -> PickeCredential { + do { + let response = try await client.send( + AuthService.refresh(refreshToken: current.refreshToken), + as: RefreshTokenResponse.self + ) + return PickeCredential( + accessToken: response.accessToken, + refreshToken: response.refreshToken, + expiresAt: JWTDecoder.decodeExpiration(response.accessToken) + ) + } catch { + if Self.shouldEndSession(for: error) { + await onAuthFailure() + } + throw error + } + } + + /// 네트워크 오류를 세션 종료 여부에 따라 인증 실패와 일시 실패로 구분한다. + private static func shouldEndSession(for error: PickeNetworkError) -> Bool { + switch error { + case let .response(response): + // 5xx 는 서버 장애, 그 외 응답 오류는 토큰 거부로 구분한다. + return !response.isServerError + case .request, .transport, .decoding: + return false + } + } +} + +private struct RefreshTokenResponse: Decodable, Sendable { + /// refresh 응답에서 받은 새 access token 이다. + let accessToken: String + /// 다음 갱신에 사용할 새 refresh token 이다. + let refreshToken: String + + enum CodingKeys: String, CodingKey { + case accessToken = "access_token" + case refreshToken = "refresh_token" + } +} diff --git a/Projects/Service/PickeAuth/Sources/Store/GuardedCredentialStore.swift b/Projects/Service/PickeAuth/Sources/Store/GuardedCredentialStore.swift new file mode 100644 index 00000000..ea305717 --- /dev/null +++ b/Projects/Service/PickeAuth/Sources/Store/GuardedCredentialStore.swift @@ -0,0 +1,62 @@ +// +// GuardedCredentialStore.swift +// PickeAuth +// + +import Foundation +import os + +import LogMacro +import PickeNetworkInterface + +/// 로그아웃 뒤 이미 진행 중이던 refresh 가 완료되어 죽은 세션을 되살리는 race 를 차단한다. +final class GuardedCredentialStore: CredentialStore { + /// 실제 credential 영속화를 담당하는 저장소다. + private let base: any CredentialStore + /// 로그아웃 후 늦게 도착한 refresh 저장 허용 여부를 원자적으로 관리한다. + private let isBarred: OSAllocatedUnfairLock + + /// 기존 credential 유무를 기준으로 최초 저장 허용 상태를 결정한다. + init(base: any CredentialStore) { + self.base = base + isBarred = OSAllocatedUnfairLock(initialState: base.load() == nil) + } + + /// 다른 저장 연산과 직렬화하여 현재 credential 을 읽는다. + func load() -> PickeCredential? { + isBarred.withLock { _ in + base.load() + } + } + + /// 저장이 허용된 세션에서만 새 credential 을 영속화한다. + func save(_ credential: PickeCredential) { + let didSave = isBarred.withLock { isBarred in + guard isBarred == false else { + return false + } + base.save(credential) + return true + } + + guard didSave else { + Log.debug("signOut 이후 도착한 credential save 무시") + return + } + } + + /// credential 을 제거하고 명시적인 새 로그인 전까지 후속 저장을 차단한다. + func clear() { + isBarred.withLock { isBarred in + isBarred = true + base.clear() + } + } + + /// 새 로그인 시작 시 credential 저장 차단을 해제한다. + func allowSaves() { + isBarred.withLock { isBarred in + isBarred = false + } + } +} diff --git a/Projects/Service/PickeAuth/Sources/Store/KeychainCredentialStore.swift b/Projects/Service/PickeAuth/Sources/Store/KeychainCredentialStore.swift new file mode 100644 index 00000000..ec1092ae --- /dev/null +++ b/Projects/Service/PickeAuth/Sources/Store/KeychainCredentialStore.swift @@ -0,0 +1,48 @@ +// +// KeychainCredentialStore.swift +// PickeAuth +// + +import Foundation + +import PickeNetworkInterface +import PickeStorageInterface + +/// 범용 Keychain 저장소를 PickeNetwork 의 credential 저장 계약으로 변환한다. +final class KeychainCredentialStore: CredentialStore { + /// access token 과 refresh token 을 보관하는 보안 저장소다. + private let keychain: any KeychainManaging + + init(keychain: any KeychainManaging) { + self.keychain = keychain + } + + /// 저장된 토큰 쌍이 모두 유효할 때만 credential 을 복원한다. + func load() -> PickeCredential? { + guard let accessToken = keychain.accessToken(), + !accessToken.isEmpty, + let refreshToken = keychain.refreshToken(), + !refreshToken.isEmpty + else { + return nil + } + return PickeCredential( + accessToken: accessToken, + refreshToken: refreshToken, + expiresAt: JWTDecoder.decodeExpiration(accessToken) + ) + } + + /// access token 과 refresh token 을 각각의 보안 키로 저장한다. + func save(_ credential: PickeCredential) { + keychain.save( + accessToken: credential.accessToken, + refreshToken: credential.refreshToken + ) + } + + /// 인증 종료 시 보안 저장소의 모든 인증 값을 제거한다. + func clear() { + keychain.clear() + } +} diff --git a/Projects/Service/PickeAuth/Sources/Token/JWTDecoder.swift b/Projects/Service/PickeAuth/Sources/Token/JWTDecoder.swift new file mode 100644 index 00000000..362fdfe0 --- /dev/null +++ b/Projects/Service/PickeAuth/Sources/Token/JWTDecoder.swift @@ -0,0 +1,28 @@ +// +// JWTDecoder.swift +// PickeAuth +// + +import Foundation + +/// 서명 검증이 아니라 access token 의 선제 refresh 시각 계산에 필요한 `exp` 만 읽는다. +enum JWTDecoder { + /// JWT payload 의 `exp` 값을 만료 시각으로 변환하고 형식이 잘못되면 nil 을 반환한다. + static func decodeExpiration(_ token: String) -> Date? { + let segments = token.split(separator: ".") + guard segments.count > 1 else { return nil } + + var payload = String(segments[1]) + .replacingOccurrences(of: "-", with: "+") + .replacingOccurrences(of: "_", with: "/") + payload += String(repeating: "=", count: (4 - payload.count % 4) % 4) + + guard let data = Data(base64Encoded: payload), + let object = try? JSONSerialization.jsonObject(with: data) as? [String: Any], + let expiration = object["exp"] as? TimeInterval + else { + return nil + } + return Date(timeIntervalSince1970: expiration) + } +} diff --git a/Projects/Service/ServiceAssembly/Project.swift b/Projects/Service/ServiceAssembly/Project.swift index e8b307ae..1d7ba92c 100644 --- a/Projects/Service/ServiceAssembly/Project.swift +++ b/Projects/Service/ServiceAssembly/Project.swift @@ -16,6 +16,7 @@ let project = Project.configure( .service(.analytics), .service(.audioPlayer), .service(.device), + .service(.auth), ], sources: ["Sources/**"], hasTests: false diff --git a/Projects/Service/ServiceAssembly/Sources/DependencyValues+Network.swift b/Projects/Service/ServiceAssembly/Sources/DependencyValues+Network.swift new file mode 100644 index 00000000..97e4673f --- /dev/null +++ b/Projects/Service/ServiceAssembly/Sources/DependencyValues+Network.swift @@ -0,0 +1,26 @@ +// +// DependencyValues+Network.swift +// ServiceAssembly +// +// 네트워크·인증의 live 구현을 DependencyKey 에 등록한다. +// +// 두 값 모두 Keychain 과 인증 세션을 함께 다루는 NetworkContainer 가 만든다. +// Interface 쪽에는 계약과 테스트값만 두고, 실제 조립은 이 계층이 맡는다. +// + +import PickeAuthInterface +import PickeNetworkInterface + +import Dependencies + +extension NetworkClientDependency: DependencyKey { + public static var liveValue: any PickeNetworkClient { + NetworkContainer.authenticatedClient + } +} + +extension AuthServiceDependency: DependencyKey { + public static var liveValue: any AuthService { + NetworkContainer.authService + } +} diff --git a/Projects/Service/ServiceAssembly/Sources/Exported/ServiceAssemblyExported.swift b/Projects/Service/ServiceAssembly/Sources/Exported/ServiceAssemblyExported.swift index 7d4d1863..9910471b 100644 --- a/Projects/Service/ServiceAssembly/Sources/Exported/ServiceAssemblyExported.swift +++ b/Projects/Service/ServiceAssembly/Sources/Exported/ServiceAssemblyExported.swift @@ -5,8 +5,9 @@ // MARK: - Service 레이어 한번에 노출 -@_exported import AnalyticsService +@_exported import PickeAnalytics @_exported import API @_exported import AudioPlayerService @_exported import CoreAssembly @_exported import DeviceService +@_exported import PickeAuth diff --git a/Projects/Service/ServiceAssembly/Sources/NetworkContainer.swift b/Projects/Service/ServiceAssembly/Sources/NetworkContainer.swift new file mode 100644 index 00000000..b8e944f5 --- /dev/null +++ b/Projects/Service/ServiceAssembly/Sources/NetworkContainer.swift @@ -0,0 +1,41 @@ +// +// NetworkContainer.swift +// ServiceAssembly +// + +import CoreAssembly +import PickeAuth +import PickeAuthInterface +import PickeNetworkInterface + +public enum NetworkContainer { + private static let assembly = makeAssembly() + + public static var authenticatedClient: any PickeNetworkClient { + assembly.authenticatedClient + } + + public static var authService: any AuthService { + assembly.authService + } + + private static func makeAssembly() -> Assembly { + let plainClient = NetworkAssembly.plainClient() + let auth = AuthFactory.make( + refreshClient: plainClient, + keychain: StorageAssembly.keychain + ) + + return Assembly( + authenticatedClient: auth.authenticatedClient, + authService: auth + ) + } +} + +private extension NetworkContainer { + struct Assembly { + let authenticatedClient: any PickeNetworkClient + let authService: any AuthService + } +} diff --git a/Projects/Service/ServiceAssembly/Sources/ServiceDependencyAssembly.swift b/Projects/Service/ServiceAssembly/Sources/ServiceDependencyAssembly.swift new file mode 100644 index 00000000..a92e7d62 --- /dev/null +++ b/Projects/Service/ServiceAssembly/Sources/ServiceDependencyAssembly.swift @@ -0,0 +1,25 @@ +// +// ServiceDependencyAssembly.swift +// ServiceAssembly +// + +import CoreAssembly +import PickeAuthInterface +import PickeNetworkInterface +import PickeStorageInterface + +import Dependencies + +public enum ServiceDependencyAssembly { + public static func register(into values: inout DependencyValues) { + values.registerLiveServices() + } +} + +public extension DependencyValues { + mutating func registerLiveServices() { + StorageAssembly.register(into: &self) + networkClient = NetworkContainer.authenticatedClient + authService = NetworkContainer.authService + } +} From 28e31d19c803253a279bfad357edd5c4ba52ec54 Mon Sep 17 00:00:00 2001 From: Roy Date: Mon, 7 Sep 2026 13:01:03 +0900 Subject: [PATCH 48/83] =?UTF-8?q?refactor(service):=20AnalyticsService=20?= =?UTF-8?q?=EB=A5=BC=20PickeAnalytics=20=EB=A1=9C=20=EB=A6=AC=EB=84=A4?= =?UTF-8?q?=EC=9E=84=ED=95=9C=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 모듈 이름을 Picke 접두 규칙에 맞춘다. 설정 초기화 코드를 Sources/Configuration 으로 분리. --- .../Interface/Event/AdClickData.swift | 0 .../Interface/Event/AdPlacement.swift | 0 .../Interface/Event/AnalyticsButton.swift | 0 .../Interface/Event/AnalyticsEvent.swift | 0 .../Interface/Event/AnalyticsProvider.swift | 0 .../Interface/Event/AnalyticsScreen.swift | 0 .../Interface/Event/BattleStepData.swift | 0 .../Interface/Event/CommunityActionData.swift | 0 .../Interface/Event/ContentActionData.swift | 0 .../Interface/Event/EngagementAction.swift | 0 .../Interface/Event/NotificationActionData.swift | 0 .../Interface/Event/OnboardingStep.swift | 0 .../Interface/Event/PlaybackAction.swift | 0 .../Interface/Event/PointActionData.swift | 0 .../Interface/Event/ReportActionData.swift | 0 .../Interface/Event/ShareActionData.swift | 0 .../Interface/UseCase/AnalyticsUseCase.swift | 0 .../Service/{AnalyticsService => PickeAnalytics}/Project.swift | 0 .../Sources/UseCase/AnalyticsUseCase+Live.swift | 0 .../Testing/PickeAnalyticsTesting.swift} | 0 .../Tests/PickeAnalyticsTests.swift} | 0 21 files changed, 0 insertions(+), 0 deletions(-) rename Projects/Service/{AnalyticsService => PickeAnalytics}/Interface/Event/AdClickData.swift (100%) rename Projects/Service/{AnalyticsService => PickeAnalytics}/Interface/Event/AdPlacement.swift (100%) rename Projects/Service/{AnalyticsService => PickeAnalytics}/Interface/Event/AnalyticsButton.swift (100%) rename Projects/Service/{AnalyticsService => PickeAnalytics}/Interface/Event/AnalyticsEvent.swift (100%) rename Projects/Service/{AnalyticsService => PickeAnalytics}/Interface/Event/AnalyticsProvider.swift (100%) rename Projects/Service/{AnalyticsService => PickeAnalytics}/Interface/Event/AnalyticsScreen.swift (100%) rename Projects/Service/{AnalyticsService => PickeAnalytics}/Interface/Event/BattleStepData.swift (100%) rename Projects/Service/{AnalyticsService => PickeAnalytics}/Interface/Event/CommunityActionData.swift (100%) rename Projects/Service/{AnalyticsService => PickeAnalytics}/Interface/Event/ContentActionData.swift (100%) rename Projects/Service/{AnalyticsService => PickeAnalytics}/Interface/Event/EngagementAction.swift (100%) rename Projects/Service/{AnalyticsService => PickeAnalytics}/Interface/Event/NotificationActionData.swift (100%) rename Projects/Service/{AnalyticsService => PickeAnalytics}/Interface/Event/OnboardingStep.swift (100%) rename Projects/Service/{AnalyticsService => PickeAnalytics}/Interface/Event/PlaybackAction.swift (100%) rename Projects/Service/{AnalyticsService => PickeAnalytics}/Interface/Event/PointActionData.swift (100%) rename Projects/Service/{AnalyticsService => PickeAnalytics}/Interface/Event/ReportActionData.swift (100%) rename Projects/Service/{AnalyticsService => PickeAnalytics}/Interface/Event/ShareActionData.swift (100%) rename Projects/Service/{AnalyticsService => PickeAnalytics}/Interface/UseCase/AnalyticsUseCase.swift (100%) rename Projects/Service/{AnalyticsService => PickeAnalytics}/Project.swift (100%) rename Projects/Service/{AnalyticsService => PickeAnalytics}/Sources/UseCase/AnalyticsUseCase+Live.swift (100%) rename Projects/Service/{AnalyticsService/Testing/AnalyticsServiceTesting.swift => PickeAnalytics/Testing/PickeAnalyticsTesting.swift} (100%) rename Projects/Service/{AnalyticsService/Tests/AnalyticsServiceTests.swift => PickeAnalytics/Tests/PickeAnalyticsTests.swift} (100%) diff --git a/Projects/Service/AnalyticsService/Interface/Event/AdClickData.swift b/Projects/Service/PickeAnalytics/Interface/Event/AdClickData.swift similarity index 100% rename from Projects/Service/AnalyticsService/Interface/Event/AdClickData.swift rename to Projects/Service/PickeAnalytics/Interface/Event/AdClickData.swift diff --git a/Projects/Service/AnalyticsService/Interface/Event/AdPlacement.swift b/Projects/Service/PickeAnalytics/Interface/Event/AdPlacement.swift similarity index 100% rename from Projects/Service/AnalyticsService/Interface/Event/AdPlacement.swift rename to Projects/Service/PickeAnalytics/Interface/Event/AdPlacement.swift diff --git a/Projects/Service/AnalyticsService/Interface/Event/AnalyticsButton.swift b/Projects/Service/PickeAnalytics/Interface/Event/AnalyticsButton.swift similarity index 100% rename from Projects/Service/AnalyticsService/Interface/Event/AnalyticsButton.swift rename to Projects/Service/PickeAnalytics/Interface/Event/AnalyticsButton.swift diff --git a/Projects/Service/AnalyticsService/Interface/Event/AnalyticsEvent.swift b/Projects/Service/PickeAnalytics/Interface/Event/AnalyticsEvent.swift similarity index 100% rename from Projects/Service/AnalyticsService/Interface/Event/AnalyticsEvent.swift rename to Projects/Service/PickeAnalytics/Interface/Event/AnalyticsEvent.swift diff --git a/Projects/Service/AnalyticsService/Interface/Event/AnalyticsProvider.swift b/Projects/Service/PickeAnalytics/Interface/Event/AnalyticsProvider.swift similarity index 100% rename from Projects/Service/AnalyticsService/Interface/Event/AnalyticsProvider.swift rename to Projects/Service/PickeAnalytics/Interface/Event/AnalyticsProvider.swift diff --git a/Projects/Service/AnalyticsService/Interface/Event/AnalyticsScreen.swift b/Projects/Service/PickeAnalytics/Interface/Event/AnalyticsScreen.swift similarity index 100% rename from Projects/Service/AnalyticsService/Interface/Event/AnalyticsScreen.swift rename to Projects/Service/PickeAnalytics/Interface/Event/AnalyticsScreen.swift diff --git a/Projects/Service/AnalyticsService/Interface/Event/BattleStepData.swift b/Projects/Service/PickeAnalytics/Interface/Event/BattleStepData.swift similarity index 100% rename from Projects/Service/AnalyticsService/Interface/Event/BattleStepData.swift rename to Projects/Service/PickeAnalytics/Interface/Event/BattleStepData.swift diff --git a/Projects/Service/AnalyticsService/Interface/Event/CommunityActionData.swift b/Projects/Service/PickeAnalytics/Interface/Event/CommunityActionData.swift similarity index 100% rename from Projects/Service/AnalyticsService/Interface/Event/CommunityActionData.swift rename to Projects/Service/PickeAnalytics/Interface/Event/CommunityActionData.swift diff --git a/Projects/Service/AnalyticsService/Interface/Event/ContentActionData.swift b/Projects/Service/PickeAnalytics/Interface/Event/ContentActionData.swift similarity index 100% rename from Projects/Service/AnalyticsService/Interface/Event/ContentActionData.swift rename to Projects/Service/PickeAnalytics/Interface/Event/ContentActionData.swift diff --git a/Projects/Service/AnalyticsService/Interface/Event/EngagementAction.swift b/Projects/Service/PickeAnalytics/Interface/Event/EngagementAction.swift similarity index 100% rename from Projects/Service/AnalyticsService/Interface/Event/EngagementAction.swift rename to Projects/Service/PickeAnalytics/Interface/Event/EngagementAction.swift diff --git a/Projects/Service/AnalyticsService/Interface/Event/NotificationActionData.swift b/Projects/Service/PickeAnalytics/Interface/Event/NotificationActionData.swift similarity index 100% rename from Projects/Service/AnalyticsService/Interface/Event/NotificationActionData.swift rename to Projects/Service/PickeAnalytics/Interface/Event/NotificationActionData.swift diff --git a/Projects/Service/AnalyticsService/Interface/Event/OnboardingStep.swift b/Projects/Service/PickeAnalytics/Interface/Event/OnboardingStep.swift similarity index 100% rename from Projects/Service/AnalyticsService/Interface/Event/OnboardingStep.swift rename to Projects/Service/PickeAnalytics/Interface/Event/OnboardingStep.swift diff --git a/Projects/Service/AnalyticsService/Interface/Event/PlaybackAction.swift b/Projects/Service/PickeAnalytics/Interface/Event/PlaybackAction.swift similarity index 100% rename from Projects/Service/AnalyticsService/Interface/Event/PlaybackAction.swift rename to Projects/Service/PickeAnalytics/Interface/Event/PlaybackAction.swift diff --git a/Projects/Service/AnalyticsService/Interface/Event/PointActionData.swift b/Projects/Service/PickeAnalytics/Interface/Event/PointActionData.swift similarity index 100% rename from Projects/Service/AnalyticsService/Interface/Event/PointActionData.swift rename to Projects/Service/PickeAnalytics/Interface/Event/PointActionData.swift diff --git a/Projects/Service/AnalyticsService/Interface/Event/ReportActionData.swift b/Projects/Service/PickeAnalytics/Interface/Event/ReportActionData.swift similarity index 100% rename from Projects/Service/AnalyticsService/Interface/Event/ReportActionData.swift rename to Projects/Service/PickeAnalytics/Interface/Event/ReportActionData.swift diff --git a/Projects/Service/AnalyticsService/Interface/Event/ShareActionData.swift b/Projects/Service/PickeAnalytics/Interface/Event/ShareActionData.swift similarity index 100% rename from Projects/Service/AnalyticsService/Interface/Event/ShareActionData.swift rename to Projects/Service/PickeAnalytics/Interface/Event/ShareActionData.swift diff --git a/Projects/Service/AnalyticsService/Interface/UseCase/AnalyticsUseCase.swift b/Projects/Service/PickeAnalytics/Interface/UseCase/AnalyticsUseCase.swift similarity index 100% rename from Projects/Service/AnalyticsService/Interface/UseCase/AnalyticsUseCase.swift rename to Projects/Service/PickeAnalytics/Interface/UseCase/AnalyticsUseCase.swift diff --git a/Projects/Service/AnalyticsService/Project.swift b/Projects/Service/PickeAnalytics/Project.swift similarity index 100% rename from Projects/Service/AnalyticsService/Project.swift rename to Projects/Service/PickeAnalytics/Project.swift diff --git a/Projects/Service/AnalyticsService/Sources/UseCase/AnalyticsUseCase+Live.swift b/Projects/Service/PickeAnalytics/Sources/UseCase/AnalyticsUseCase+Live.swift similarity index 100% rename from Projects/Service/AnalyticsService/Sources/UseCase/AnalyticsUseCase+Live.swift rename to Projects/Service/PickeAnalytics/Sources/UseCase/AnalyticsUseCase+Live.swift diff --git a/Projects/Service/AnalyticsService/Testing/AnalyticsServiceTesting.swift b/Projects/Service/PickeAnalytics/Testing/PickeAnalyticsTesting.swift similarity index 100% rename from Projects/Service/AnalyticsService/Testing/AnalyticsServiceTesting.swift rename to Projects/Service/PickeAnalytics/Testing/PickeAnalyticsTesting.swift diff --git a/Projects/Service/AnalyticsService/Tests/AnalyticsServiceTests.swift b/Projects/Service/PickeAnalytics/Tests/PickeAnalyticsTests.swift similarity index 100% rename from Projects/Service/AnalyticsService/Tests/AnalyticsServiceTests.swift rename to Projects/Service/PickeAnalytics/Tests/PickeAnalyticsTests.swift From bfcaa12bd311b9c13f59ff6c98146d41da7c0f97 Mon Sep 17 00:00:00 2001 From: Roy Date: Mon, 7 Sep 2026 13:01:18 +0900 Subject: [PATCH 49/83] =?UTF-8?q?refactor(core):=20PickeStorage=20?= =?UTF-8?q?=EB=A5=BC=20Secure/Shared/Database=20=EA=B3=84=EC=95=BD?= =?UTF-8?q?=EC=9C=BC=EB=A1=9C=20=EB=82=98=EB=88=88=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Keychain 단일 매니저에서 용도별 저장소 계약으로 분리하고 팩토리·DependencyValues 등록을 추가한다. --- .../Database/AppDatabaseDependency.swift | 18 +++ .../Manager/KeychainManagerInterface.swift | 10 +- .../Interface/Secure/SecureStorage.swift | 14 ++ .../Interface/Secure/SecureStorageError.swift | 11 ++ .../Interface/Secure/SecureStorageKey.swift | 20 +++ .../Shared/PersistentSharedKey.swift | 144 ++++++++++++++++++ .../Interface/Shared/SharedValueStorage.swift | 60 ++++++++ Projects/Core/PickeStorage/Project.swift | 3 + .../Sources/DependencyValues+Storage.swift | 27 ++++ .../Sources/Factory/StorageFactory.swift | 63 ++++++++ .../Sources/Manager/KeychainManager.swift | 98 +++++------- .../Sources/Secure/KeychainClient.swift | 59 +++++++ .../Sources/Secure/KeychainStorage.swift | 72 +++++++++ .../Sources/Shared/AppDatabaseMigrator.swift | 28 ++++ .../Shared/SQLiteSharedValueStorage.swift | 46 ++++++ .../Shared/VolatileSharedValueStorage.swift | 28 ++++ 16 files changed, 633 insertions(+), 68 deletions(-) create mode 100644 Projects/Core/PickeStorage/Interface/Database/AppDatabaseDependency.swift create mode 100644 Projects/Core/PickeStorage/Interface/Secure/SecureStorage.swift create mode 100644 Projects/Core/PickeStorage/Interface/Secure/SecureStorageError.swift create mode 100644 Projects/Core/PickeStorage/Interface/Secure/SecureStorageKey.swift create mode 100644 Projects/Core/PickeStorage/Interface/Shared/PersistentSharedKey.swift create mode 100644 Projects/Core/PickeStorage/Interface/Shared/SharedValueStorage.swift create mode 100644 Projects/Core/PickeStorage/Sources/DependencyValues+Storage.swift create mode 100644 Projects/Core/PickeStorage/Sources/Factory/StorageFactory.swift create mode 100644 Projects/Core/PickeStorage/Sources/Secure/KeychainClient.swift create mode 100644 Projects/Core/PickeStorage/Sources/Secure/KeychainStorage.swift create mode 100644 Projects/Core/PickeStorage/Sources/Shared/AppDatabaseMigrator.swift create mode 100644 Projects/Core/PickeStorage/Sources/Shared/SQLiteSharedValueStorage.swift create mode 100644 Projects/Core/PickeStorage/Sources/Shared/VolatileSharedValueStorage.swift diff --git a/Projects/Core/PickeStorage/Interface/Database/AppDatabaseDependency.swift b/Projects/Core/PickeStorage/Interface/Database/AppDatabaseDependency.swift new file mode 100644 index 00000000..df6a2f41 --- /dev/null +++ b/Projects/Core/PickeStorage/Interface/Database/AppDatabaseDependency.swift @@ -0,0 +1,18 @@ +// +// AppDatabaseDependency.swift +// PickeStorageInterface +// + +import Dependencies +import SQLiteData + +public enum AppDatabaseDependency: TestDependencyKey { + public static let testValue: (any DatabaseWriter)? = nil +} + +public extension DependencyValues { + var appDatabase: (any DatabaseWriter)? { + get { self[AppDatabaseDependency.self] } + set { self[AppDatabaseDependency.self] = newValue } + } +} diff --git a/Projects/Core/PickeStorage/Interface/Manager/KeychainManagerInterface.swift b/Projects/Core/PickeStorage/Interface/Manager/KeychainManagerInterface.swift index 10b41331..cbc1627b 100644 --- a/Projects/Core/PickeStorage/Interface/Manager/KeychainManagerInterface.swift +++ b/Projects/Core/PickeStorage/Interface/Manager/KeychainManagerInterface.swift @@ -6,7 +6,8 @@ // import Foundation -import WeaveDI + +import Dependencies public protocol KeychainManaging: Sendable { func save( @@ -21,11 +22,8 @@ public protocol KeychainManaging: Sendable { func clear() } -public struct KeychainManagerDependency: DependencyKey { - public static var liveValue: KeychainManaging { - return UnifiedDI.resolve(KeychainManaging.self) ?? InMemoryKeychainManager() - } - +/// 라이브 구현(`KeychainManager`)은 PickeStorage 에서 `DependencyKey` 로 이어 붙인다. +public enum KeychainManagerDependency: TestDependencyKey { public static var testValue: KeychainManaging { return InMemoryKeychainManager() } diff --git a/Projects/Core/PickeStorage/Interface/Secure/SecureStorage.swift b/Projects/Core/PickeStorage/Interface/Secure/SecureStorage.swift new file mode 100644 index 00000000..7c6b1a73 --- /dev/null +++ b/Projects/Core/PickeStorage/Interface/Secure/SecureStorage.swift @@ -0,0 +1,14 @@ +// +// SecureStorage.swift +// PickeStorageInterface +// + +/// 민감한 문자열을 보관하는 저장소 경계. +/// +/// 도메인은 Keychain(Security 프레임워크) 구현을 모르고 이 계약만 쓴다. +public protocol SecureStorage: Sendable { + func save(_ value: String, for key: SecureStorageKey) throws(SecureStorageError) + func load(_ key: SecureStorageKey) throws(SecureStorageError) -> String? + func remove(_ key: SecureStorageKey) throws(SecureStorageError) + func removeAll() throws(SecureStorageError) +} diff --git a/Projects/Core/PickeStorage/Interface/Secure/SecureStorageError.swift b/Projects/Core/PickeStorage/Interface/Secure/SecureStorageError.swift new file mode 100644 index 00000000..453c28b0 --- /dev/null +++ b/Projects/Core/PickeStorage/Interface/Secure/SecureStorageError.swift @@ -0,0 +1,11 @@ +// +// SecureStorageError.swift +// PickeStorageInterface +// + +import Foundation + +public enum SecureStorageError: Error { + case invalidData + case unexpectedStatus(OSStatus) +} diff --git a/Projects/Core/PickeStorage/Interface/Secure/SecureStorageKey.swift b/Projects/Core/PickeStorage/Interface/Secure/SecureStorageKey.swift new file mode 100644 index 00000000..6f15be8f --- /dev/null +++ b/Projects/Core/PickeStorage/Interface/Secure/SecureStorageKey.swift @@ -0,0 +1,20 @@ +// +// SecureStorageKey.swift +// PickeStorageInterface +// + +public struct SecureStorageKey: Hashable, Sendable { + public let rawValue: String + + public init(_ rawValue: String) { + self.rawValue = rawValue + } +} + +public extension SecureStorageKey { + // 기존 KeychainManager 가 쓰던 계정명을 그대로 유지해 업데이트 후에도 세션이 살아있게 한다. + static let accessToken = SecureStorageKey("ACCESS_TOKEN") + static let refreshToken = SecureStorageKey("REFRESH_TOKEN") + + static let all: [SecureStorageKey] = [.accessToken, .refreshToken] +} diff --git a/Projects/Core/PickeStorage/Interface/Shared/PersistentSharedKey.swift b/Projects/Core/PickeStorage/Interface/Shared/PersistentSharedKey.swift new file mode 100644 index 00000000..0111e12b --- /dev/null +++ b/Projects/Core/PickeStorage/Interface/Shared/PersistentSharedKey.swift @@ -0,0 +1,144 @@ +// +// PersistentSharedKey.swift +// PickeStorageInterface +// + +import Foundation + +import Dependencies +import Sharing + +public extension SharedReaderKey { + /// 라이브 앱에서는 조립된 영속 저장소를, 테스트·Preview 에서는 메모리 저장소를 쓴다. + static func persistent( + _ key: String, + encode: @escaping @Sendable (Value) throws -> Data, + decode: @escaping @Sendable (Data) throws -> Value, + legacyData: @escaping @Sendable () throws -> Data? = { nil } + ) -> Self where Self == PersistentSharedKey { + PersistentSharedKey( + key: key, + encode: encode, + decode: decode, + legacyData: legacyData + ) + } +} + +public struct PersistentSharedKey: SharedKey { + public struct ID: Hashable, Sendable { + fileprivate enum Location: Hashable, Sendable { + case persistent(SharedValueStorageIdentifier) + case inMemory(InMemoryStorage) + } + + fileprivate let key: String + fileprivate let location: Location + } + + private enum Storage: Sendable { + case persistent(any SharedValueStorage) + case inMemory(InMemoryKey, InMemoryStorage) + } + + private let key: String + private let storage: Storage + private let encode: @Sendable (Value) throws -> Data + private let decode: @Sendable (Data) throws -> Value + private let legacyData: @Sendable () throws -> Data? + + public var id: ID { + switch storage { + case let .persistent(storage): + ID(key: key, location: .persistent(storage.identifier)) + case let .inMemory(_, storage): + ID(key: key, location: .inMemory(storage)) + } + } + + public init( + key: String, + encode: @escaping @Sendable (Value) throws -> Data, + decode: @escaping @Sendable (Data) throws -> Value, + legacyData: @escaping @Sendable () throws -> Data? = { nil } + ) { + @Dependency(\.context) var context + + self.key = key + self.encode = encode + self.decode = decode + self.legacyData = legacyData + + switch context { + case .live: + @Dependency(\.sharedValueStorage) var storage + self.storage = .persistent(storage) + case .preview, .test: + @Dependency(\.defaultInMemoryStorage) var storage + let inMemoryKey: InMemoryKey = .inMemory(key) + self.storage = .inMemory(inMemoryKey, storage) + } + } + + public func load( + context: LoadContext, + continuation: LoadContinuation + ) { + switch storage { + case let .persistent(storage): + do { + if let data = try storage.load(forKey: key) { + continuation.resume(returning: try decode(data)) + } else if let data = try legacyData() { + // 기존 UserDefaults 값이 있으면 첫 조회 때 영속 저장소로 옮긴다. + try storage.save(data, forKey: key) + continuation.resume(returning: try decode(data)) + } else { + continuation.resumeReturningInitialValue() + } + } catch { + continuation.resume(throwing: error) + } + case let .inMemory(inMemoryKey, _): + inMemoryKey.load(context: context, continuation: continuation) + } + } + + public func subscribe( + context: LoadContext, + subscriber: SharedSubscriber + ) -> SharedSubscription { + switch storage { + case .persistent: + // 앱 안에서 같은 key 는 Sharing 의 persistent reference 를 공유한다. + // 이 테이블을 바꾸는 외부 writer 가 없어 별도 observation 이 필요 없다. + SharedSubscription {} + case let .inMemory(inMemoryKey, _): + inMemoryKey.subscribe(context: context, subscriber: subscriber) + } + } + + public func save( + _ value: Value, + context: SaveContext, + continuation: SaveContinuation + ) { + switch storage { + case let .persistent(storage): + do { + try storage.save(try encode(value), forKey: key) + continuation.resume() + } catch { + continuation.resume(throwing: error) + } + case let .inMemory(inMemoryKey, _): + inMemoryKey.save(value, context: context, continuation: continuation) + } + } +} + +extension PersistentSharedKey: CustomStringConvertible { + public var description: String { + ".persistent(\(String(reflecting: key)))" + } +} diff --git a/Projects/Core/PickeStorage/Interface/Shared/SharedValueStorage.swift b/Projects/Core/PickeStorage/Interface/Shared/SharedValueStorage.swift new file mode 100644 index 00000000..35e68a7d --- /dev/null +++ b/Projects/Core/PickeStorage/Interface/Shared/SharedValueStorage.swift @@ -0,0 +1,60 @@ +// +// SharedValueStorage.swift +// PickeStorageInterface +// + +import Foundation + +import Dependencies + +public struct SharedValueStorageIdentifier: Hashable, Sendable { + private let rawValue: UUID + + public init() { + rawValue = UUID() + } +} + +/// `@Shared` 값의 직렬화 결과를 보관하는 저장소 경계. +/// +/// 도메인은 SQLite 구현을 모르고 이 계약만 쓴다. +public protocol SharedValueStorage: Sendable { + var identifier: SharedValueStorageIdentifier { get } + + func load(forKey key: String) throws -> Data? + func save(_ data: Data, forKey key: String) throws + func remove(forKey key: String) throws +} + +public enum SharedValueStorageDependency: TestDependencyKey { + public static let testValue: any SharedValueStorage = UnimplementedSharedValueStorage() +} + +public extension DependencyValues { + var sharedValueStorage: any SharedValueStorage { + get { self[SharedValueStorageDependency.self] } + set { self[SharedValueStorageDependency.self] = newValue } + } +} + +/// 저장소를 갈아끼우지 않은 채 영속 경로를 타면 알려주는 기본값. +/// 조용히 nil 을 돌려주면 테스트가 통과해버려 누락을 놓친다. +private struct UnimplementedSharedValueStorage: SharedValueStorage { + let identifier = SharedValueStorageIdentifier() + + func load(forKey key: String) throws -> Data? { + throw SharedValueStorageUnavailableError(key: key) + } + + func save(_: Data, forKey key: String) throws { + throw SharedValueStorageUnavailableError(key: key) + } + + func remove(forKey key: String) throws { + throw SharedValueStorageUnavailableError(key: key) + } +} + +private struct SharedValueStorageUnavailableError: Error { + let key: String +} diff --git a/Projects/Core/PickeStorage/Project.swift b/Projects/Core/PickeStorage/Project.swift index 646769b8..d22294a6 100644 --- a/Projects/Core/PickeStorage/Project.swift +++ b/Projects/Core/PickeStorage/Project.swift @@ -13,10 +13,13 @@ let project = Project.configure( // Security 는 시스템 프레임워크라 별도 의존성 선언이 필요 없고, Core 계층이라 Domain·Service 를 의존하지 않는다. dependencies: [ .SPM.composableArchitecture, + .SPM.sqliteData, .SPM.weaveDI, ], interfaceDependencies: [ .SPM.composableArchitecture, + .SPM.sharing, + .SPM.sqliteData, .SPM.weaveDI, ] ) diff --git a/Projects/Core/PickeStorage/Sources/DependencyValues+Storage.swift b/Projects/Core/PickeStorage/Sources/DependencyValues+Storage.swift new file mode 100644 index 00000000..8e388d8c --- /dev/null +++ b/Projects/Core/PickeStorage/Sources/DependencyValues+Storage.swift @@ -0,0 +1,27 @@ +// +// DependencyValues+Storage.swift +// PickeStorage +// + +import PickeStorageInterface + +import Dependencies +import SQLiteData + +extension AppDatabaseDependency: DependencyKey { + public static var liveValue: (any DatabaseWriter)? { + StorageFactory.databaseWriter + } +} + +extension KeychainManagerDependency: DependencyKey { + public static var liveValue: KeychainManaging { + KeychainManager() + } +} + +extension SharedValueStorageDependency: DependencyKey { + public static var liveValue: any SharedValueStorage { + StorageFactory.sharedValueStorage + } +} diff --git a/Projects/Core/PickeStorage/Sources/Factory/StorageFactory.swift b/Projects/Core/PickeStorage/Sources/Factory/StorageFactory.swift new file mode 100644 index 00000000..9d13682d --- /dev/null +++ b/Projects/Core/PickeStorage/Sources/Factory/StorageFactory.swift @@ -0,0 +1,63 @@ +// +// StorageFactory.swift +// PickeStorage +// + +import OSLog + +import PickeStorageInterface + +import Dependencies +import SQLiteData + +public enum StorageFactory { + private static let database = prepareDatabase() + + private static let logger = Logger(subsystem: "io.Picke.co", category: "storage") + + static func prepareDatabase( + primary: () throws -> any DatabaseWriter = { try SQLiteData.defaultDatabase() }, + fallback: () throws -> any DatabaseWriter = { try DatabaseQueue() }, + migrate: (any DatabaseWriter) throws -> Void = AppDatabaseMigrator.migrate + ) -> (any DatabaseWriter)? { + do { + let database = try primary() + try migrate(database) + return database + } catch { + logger.fault("앱 데이터베이스 준비 실패: \(String(describing: error), privacy: .public)") + } + + do { + let database = try fallback() + try migrate(database) + return database + } catch { + logger.fault("메모리 데이터베이스 준비 실패: \(String(describing: error), privacy: .public)") + return nil + } + } + + public static var secureStorage: any SecureStorage { + KeychainStorage() + } + + public static var sharedValueStorage: any SharedValueStorage { + guard let database else { + return VolatileSharedValueStorage() + } + return SQLiteSharedValueStorage(database: database) + } + + public static var databaseWriter: (any DatabaseWriter)? { + database + } + + public static func register(into values: inout DependencyValues) { + if let database { + values.defaultDatabase = database + values.appDatabase = database + } + values.sharedValueStorage = sharedValueStorage + } +} diff --git a/Projects/Core/PickeStorage/Sources/Manager/KeychainManager.swift b/Projects/Core/PickeStorage/Sources/Manager/KeychainManager.swift index ac922366..2c29eda4 100644 --- a/Projects/Core/PickeStorage/Sources/Manager/KeychainManager.swift +++ b/Projects/Core/PickeStorage/Sources/Manager/KeychainManager.swift @@ -6,22 +6,20 @@ // import Foundation +import OSLog -import ComposableArchitecture @_exported import PickeStorageInterface -import Security -import WeaveDI -public final class KeychainManager: KeychainManaging, @unchecked Sendable { - private let service: String +/// `SecureStorage` 위에 얹은 토큰 전용 어댑터. +/// +/// Security 프레임워크 호출은 `KeychainStorage` 가 전담하고, +/// 여기서는 access/refresh token 이라는 앱의 어휘만 다룬다. +public struct KeychainManager: KeychainManaging { + private let storage: any SecureStorage + private let logger = Logger(subsystem: "io.Picke.co", category: "keychain") - private enum Key { - static let accessToken = "ACCESS_TOKEN" - static let refreshToken = "REFRESH_TOKEN" - } - - public init(service: String = "io.Picke.co") { - self.service = service + public init(storage: any SecureStorage = StorageFactory.secureStorage) { + self.storage = storage } public func save( @@ -33,79 +31,55 @@ public final class KeychainManager: KeychainManaging, @unchecked Sendable { } public func saveAccessToken(_ token: String) { - save(token, for: Key.accessToken) + write(token, for: .accessToken) } public func clearAccessToken() { - delete(for: Key.accessToken) + remove(.accessToken) } public func saveRefreshToken(_ token: String) { - save(token, for: Key.refreshToken) + write(token, for: .refreshToken) } public func accessToken() -> String? { - read(for: Key.accessToken) + read(.accessToken) } public func refreshToken() -> String? { - read(for: Key.refreshToken) + read(.refreshToken) } public func clear() { - delete(for: Key.accessToken) - delete(for: Key.refreshToken) + do { + try storage.removeAll() + } catch { + logger.error("토큰 전체 삭제 실패: \(String(describing: error), privacy: .public)") + } } - private func save( - _ value: String, - for key: String - ) { - let data = Data(value.utf8) - let query: [CFString: Any] = [ - kSecClass: kSecClassGenericPassword, - kSecAttrService: service, - kSecAttrAccount: key, - ] - - let attributes: [CFString: Any] = [ - kSecValueData: data, - ] - - let status = SecItemUpdate(query as CFDictionary, attributes as CFDictionary) - if status == errSecItemNotFound { - var addQuery = query - addQuery[kSecValueData] = data - _ = SecItemAdd(addQuery as CFDictionary, nil) + private func write(_ value: String, for key: SecureStorageKey) { + do { + try storage.save(value, for: key) + } catch { + logger.error("\(key.rawValue, privacy: .public) 저장 실패: \(String(describing: error), privacy: .public)") } } - private func read(for key: String) -> String? { - let query: [CFString: Any] = [ - kSecClass: kSecClassGenericPassword, - kSecAttrService: service, - kSecAttrAccount: key, - kSecReturnData: true, - kSecMatchLimit: kSecMatchLimitOne, - ] - - var result: AnyObject? - let status = SecItemCopyMatching(query as CFDictionary, &result) - guard status == errSecSuccess, let data = result as? Data else { + private func read(_ key: SecureStorageKey) -> String? { + do { + return try storage.load(key) + } catch { + logger.error("\(key.rawValue, privacy: .public) 조회 실패: \(String(describing: error), privacy: .public)") return nil } - return String(data: data, encoding: .utf8) } - private func delete(for key: String) { - let query: [CFString: Any] = [ - kSecClass: kSecClassGenericPassword, - kSecAttrService: service, - kSecAttrAccount: key, - ] - SecItemDelete(query as CFDictionary) + private func remove(_ key: SecureStorageKey) { + do { + try storage.remove(key) + } catch { + logger.error("\(key.rawValue, privacy: .public) 삭제 실패: \(String(describing: error), privacy: .public)") + } } } - -// keychainManager 의존성(프로토콜/DependencyKey/accessor)은 PickeStorageInterface 에 중앙집중. -// 여기서는 구현체 KeychainManager 만 제공하고 DI(DiRegister)로 주입한다. diff --git a/Projects/Core/PickeStorage/Sources/Secure/KeychainClient.swift b/Projects/Core/PickeStorage/Sources/Secure/KeychainClient.swift new file mode 100644 index 00000000..bea3f342 --- /dev/null +++ b/Projects/Core/PickeStorage/Sources/Secure/KeychainClient.swift @@ -0,0 +1,59 @@ +// +// KeychainClient.swift +// PickeStorage +// + +import Foundation +import Security + +/// KeychainStorage 가 운영체제 Security API 와 주고받는 내부 경계. +/// 테스트에서는 entitlement 가 필요 없는 메모리 구현으로 갈아끼운다. +protocol KeychainClient: Sendable { + func update(_ data: Data, service: String, account: String) -> OSStatus + func add(_ data: Data, service: String, account: String) -> OSStatus + func load(service: String, account: String) -> KeychainLoadResult + func delete(service: String, account: String) -> OSStatus +} + +struct KeychainLoadResult: Sendable { + let status: OSStatus + let data: Data? +} + +struct SystemKeychainClient: KeychainClient { + func update(_ data: Data, service: String, account: String) -> OSStatus { + SecItemUpdate( + baseQuery(service: service, account: account) as CFDictionary, + [kSecValueData as String: data] as CFDictionary + ) + } + + func add(_ data: Data, service: String, account: String) -> OSStatus { + var query = baseQuery(service: service, account: account) + query[kSecValueData as String] = data + query[kSecAttrAccessible as String] = kSecAttrAccessibleAfterFirstUnlock + return SecItemAdd(query as CFDictionary, nil) + } + + func load(service: String, account: String) -> KeychainLoadResult { + var query = baseQuery(service: service, account: account) + query[kSecReturnData as String] = true + query[kSecMatchLimit as String] = kSecMatchLimitOne + + var item: AnyObject? + let status = SecItemCopyMatching(query as CFDictionary, &item) + return KeychainLoadResult(status: status, data: item as? Data) + } + + func delete(service: String, account: String) -> OSStatus { + SecItemDelete(baseQuery(service: service, account: account) as CFDictionary) + } + + private func baseQuery(service: String, account: String) -> [String: Any] { + [ + kSecClass as String: kSecClassGenericPassword, + kSecAttrService as String: service, + kSecAttrAccount as String: account, + ] + } +} diff --git a/Projects/Core/PickeStorage/Sources/Secure/KeychainStorage.swift b/Projects/Core/PickeStorage/Sources/Secure/KeychainStorage.swift new file mode 100644 index 00000000..853afd95 --- /dev/null +++ b/Projects/Core/PickeStorage/Sources/Secure/KeychainStorage.swift @@ -0,0 +1,72 @@ +// +// KeychainStorage.swift +// PickeStorage +// + +import Foundation +import Security + +import PickeStorageInterface + +struct KeychainStorage: SecureStorage { + // 이전 버전이 저장한 Keychain 항목을 업데이트 후에도 조회할 수 있어야 한다. + static let defaultService = "io.Picke.co" + + private let service: String + private let client: any KeychainClient + + init( + service: String = Self.defaultService, + client: any KeychainClient = SystemKeychainClient() + ) { + self.service = service + self.client = client + } + + func save(_ value: String, for key: SecureStorageKey) throws(SecureStorageError) { + let data = Data(value.utf8) + let status = client.update(data, service: service, account: key.rawValue) + + switch status { + case errSecSuccess: + return + case errSecItemNotFound: + let addStatus = client.add(data, service: service, account: key.rawValue) + guard addStatus == errSecSuccess else { + throw SecureStorageError.unexpectedStatus(addStatus) + } + default: + throw SecureStorageError.unexpectedStatus(status) + } + } + + func load(_ key: SecureStorageKey) throws(SecureStorageError) -> String? { + let result = client.load(service: service, account: key.rawValue) + + switch result.status { + case errSecSuccess: + guard let data = result.data else { return nil } + guard let value = String(data: data, encoding: .utf8) else { + throw SecureStorageError.invalidData + } + return value + case errSecItemNotFound: + return nil + default: + throw SecureStorageError.unexpectedStatus(result.status) + } + } + + func remove(_ key: SecureStorageKey) throws(SecureStorageError) { + let status = client.delete(service: service, account: key.rawValue) + guard status == errSecSuccess || status == errSecItemNotFound else { + throw SecureStorageError.unexpectedStatus(status) + } + } + + func removeAll() throws(SecureStorageError) { + for key in SecureStorageKey.all { + try remove(key) + } + } +} diff --git a/Projects/Core/PickeStorage/Sources/Shared/AppDatabaseMigrator.swift b/Projects/Core/PickeStorage/Sources/Shared/AppDatabaseMigrator.swift new file mode 100644 index 00000000..5495ec75 --- /dev/null +++ b/Projects/Core/PickeStorage/Sources/Shared/AppDatabaseMigrator.swift @@ -0,0 +1,28 @@ +// +// AppDatabaseMigrator.swift +// PickeStorage +// + +import Foundation + +import SQLiteData + +enum AppDatabaseMigrator { + static func migrate(_ database: any DatabaseWriter) throws { + var migrator = DatabaseMigrator() + + migrator.registerMigration("2026-09-07-create-shared-values") { db in + try #sql( + """ + CREATE TABLE IF NOT EXISTS sharedValues ( + key TEXT PRIMARY KEY NOT NULL, + value BLOB NOT NULL + ) + """ + ) + .execute(db) + } + + try migrator.migrate(database) + } +} diff --git a/Projects/Core/PickeStorage/Sources/Shared/SQLiteSharedValueStorage.swift b/Projects/Core/PickeStorage/Sources/Shared/SQLiteSharedValueStorage.swift new file mode 100644 index 00000000..cedabe6e --- /dev/null +++ b/Projects/Core/PickeStorage/Sources/Shared/SQLiteSharedValueStorage.swift @@ -0,0 +1,46 @@ +// +// SQLiteSharedValueStorage.swift +// PickeStorage +// + +import Foundation + +import PickeStorageInterface +import SQLiteData + +@Table("sharedValues") +private struct SharedValueRecord: Sendable { + @Column(primaryKey: true) + let key: String + let value: Data +} + +struct SQLiteSharedValueStorage: SharedValueStorage { + let identifier = SharedValueStorageIdentifier() + + private let database: any DatabaseWriter + + init(database: any DatabaseWriter) { + self.database = database + } + + func load(forKey key: String) throws -> Data? { + try database.read { db in + try SharedValueRecord.find(key).fetchOne(db)?.value + } + } + + func save(_ data: Data, forKey key: String) throws { + try database.write { db in + try SharedValueRecord + .upsert { SharedValueRecord(key: key, value: data) } + .execute(db) + } + } + + func remove(forKey key: String) throws { + try database.write { db in + try SharedValueRecord.find(key).delete().execute(db) + } + } +} diff --git a/Projects/Core/PickeStorage/Sources/Shared/VolatileSharedValueStorage.swift b/Projects/Core/PickeStorage/Sources/Shared/VolatileSharedValueStorage.swift new file mode 100644 index 00000000..8594e1d1 --- /dev/null +++ b/Projects/Core/PickeStorage/Sources/Shared/VolatileSharedValueStorage.swift @@ -0,0 +1,28 @@ +// +// VolatileSharedValueStorage.swift +// PickeStorage +// + +import Foundation + +import PickeStorageInterface + +/// SQLite 준비에 실패한 실행에서도 앱이 돌아가게 하는 비영속 fallback. +final class VolatileSharedValueStorage: SharedValueStorage, @unchecked Sendable { + let identifier = SharedValueStorageIdentifier() + + private let lock = NSLock() + private var values: [String: Data] = [:] + + func load(forKey key: String) throws -> Data? { + lock.withLock { values[key] } + } + + func save(_ data: Data, forKey key: String) throws { + lock.withLock { values[key] = data } + } + + func remove(forKey key: String) throws { + lock.withLock { values[key] = nil } + } +} From 5129b7635d8f056b0bed52483fff18583c732dbb Mon Sep 17 00:00:00 2001 From: Roy Date: Mon, 7 Sep 2026 13:01:18 +0900 Subject: [PATCH 50/83] =?UTF-8?q?feat(core):=20PickeCoreUI=20=EC=97=90=20L?= =?UTF-8?q?azyView=C2=B7=EC=83=9D=EB=AA=85=EC=A3=BC=EA=B8=B0=C2=B7?= =?UTF-8?q?=ED=81=AC=EA=B8=B0=20=EC=B8=A1=EC=A0=95=20=EC=9C=A0=ED=8B=B8?= =?UTF-8?q?=EC=9D=84=20=EC=B6=94=EA=B0=80=ED=95=9C=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit SwiftUIX 에서 필요한 조각만 뽑아 넣는다. - LazyView: 탭 진입 시점까지 코디네이터 생성을 미룬다 - onFirstAppear / measureSize 모디파이어 - UIScreen 화면 크기를 캐시된 static let 에서 계산 프로퍼티로 --- .../PickeCoreUI/Sources/Lazy/LazyView.swift | 33 ++++++++++++++++ .../Lifecycle/View+onFirstAppear.swift | 38 +++++++++++++++++++ .../Sources/Measure/View+measureSize.swift | 35 +++++++++++++++++ .../Sources/ScreenSize/UIScreen+.swift | 14 ++++--- 4 files changed, 114 insertions(+), 6 deletions(-) create mode 100644 Projects/Core/PickeCoreUI/Sources/Lazy/LazyView.swift create mode 100644 Projects/Core/PickeCoreUI/Sources/Lifecycle/View+onFirstAppear.swift create mode 100644 Projects/Core/PickeCoreUI/Sources/Measure/View+measureSize.swift diff --git a/Projects/Core/PickeCoreUI/Sources/Lazy/LazyView.swift b/Projects/Core/PickeCoreUI/Sources/Lazy/LazyView.swift new file mode 100644 index 00000000..93f8121d --- /dev/null +++ b/Projects/Core/PickeCoreUI/Sources/Lazy/LazyView.swift @@ -0,0 +1,33 @@ +// +// LazyView.swift +// PickeCoreUI +// + +import SwiftUI + +/// 자식 뷰의 생성을 실제로 그려질 때까지 미루는 래퍼. +/// +/// `TabView` 는 `ForEach` 로 모든 탭의 콘텐츠를 한 번에 만들기 때문에, +/// 선택되지 않은 탭의 뷰와 그 뷰가 붙잡는 값(스토어 스코프 등)까지 즉시 생성된다. +/// 이 래퍼를 씌우면 `body` 가 평가되는 시점 — 즉 해당 탭이 처음 화면에 올라올 때 — +/// 까지 생성이 지연된다. +/// +/// ```swift +/// LazyView { +/// HomeCoordinatorView(store: store.scope(state: \.homeState, action: \.home)) +/// } +/// ``` +/// +/// SwiftUIX 의 `LazyView` 와 같은 구현이다. 라이브러리 전체를 의존성으로 +/// 들이는 대신 필요한 이 한 조각만 옮겨 왔다. (SwiftUIX, MIT License) +public struct LazyView: View { + private let content: () -> Content + + public init(@ViewBuilder _ content: @escaping () -> Content) { + self.content = content + } + + public var body: Content { + content() + } +} diff --git a/Projects/Core/PickeCoreUI/Sources/Lifecycle/View+onFirstAppear.swift b/Projects/Core/PickeCoreUI/Sources/Lifecycle/View+onFirstAppear.swift new file mode 100644 index 00000000..974b084c --- /dev/null +++ b/Projects/Core/PickeCoreUI/Sources/Lifecycle/View+onFirstAppear.swift @@ -0,0 +1,38 @@ +// +// View+onFirstAppear.swift +// PickeCoreUI +// + +import SwiftUI + +public extension View { + /// 뷰가 **처음** 화면에 올라올 때 한 번만 실행한다. + /// + /// `onAppear` 는 탭 전환·네비게이션 복귀·리스트 셀 재사용마다 다시 불린다. + /// 초기 로드처럼 한 번이면 충분한 작업은 매 호출마다 `if !didLoad` 가드를 + /// 손으로 다는 대신 이 모디파이어를 쓴다. + /// + /// ```swift + /// .onFirstAppear { send(.onAppear) } + /// ``` + /// + /// SwiftUIX 의 `onAppearOnce` 와 같은 구현이다. 라이브러리 전체를 의존성으로 + /// 들이는 대신 필요한 한 조각만 옮겨 왔다. (SwiftUIX, MIT License) + func onFirstAppear(_ action: @escaping () -> Void) -> some View { + modifier(OnFirstAppearModifier(action: action)) + } +} + +private struct OnFirstAppearModifier: ViewModifier { + let action: () -> Void + + @State private var didAppear = false + + func body(content: Content) -> some View { + content.onAppear { + guard !didAppear else { return } + didAppear = true + action() + } + } +} diff --git a/Projects/Core/PickeCoreUI/Sources/Measure/View+measureSize.swift b/Projects/Core/PickeCoreUI/Sources/Measure/View+measureSize.swift new file mode 100644 index 00000000..6a49537c --- /dev/null +++ b/Projects/Core/PickeCoreUI/Sources/Measure/View+measureSize.swift @@ -0,0 +1,35 @@ +// +// View+measureSize.swift +// PickeCoreUI +// + +import SwiftUI + +public extension View { + /// 뷰가 실제로 그려진 크기를 알려준다. + /// + /// 레이아웃에는 영향을 주지 않는다 — 배경에 깔린 `GeometryReader` 가 크기만 + /// 읽어 `PreferenceKey` 로 올려보낸다. 크기가 바뀔 때마다 다시 불린다. + /// + /// ```swift + /// Text(title) + /// .measureSize { titleSize = $0 } + /// ``` + /// + /// SwiftUIX 의 `measureSize(_:)` 와 같은 구현이다. 라이브러리 전체를 의존성으로 + /// 들이는 대신 필요한 한 조각만 옮겨 왔다. (SwiftUIX, MIT License) + func measureSize(_ onChange: @escaping (CGSize) -> Void) -> some View { + background( + GeometryReader { proxy in + Color.clear.preference(key: SizePreferenceKey.self, value: proxy.size) + } + ) + .onPreferenceChange(SizePreferenceKey.self, perform: onChange) + } +} + +private struct SizePreferenceKey: PreferenceKey { + static let defaultValue = CGSize.zero + + static func reduce(value _: inout CGSize, nextValue _: () -> CGSize) {} +} diff --git a/Projects/Core/PickeCoreUI/Sources/ScreenSize/UIScreen+.swift b/Projects/Core/PickeCoreUI/Sources/ScreenSize/UIScreen+.swift index cfa624bb..828d1c83 100644 --- a/Projects/Core/PickeCoreUI/Sources/ScreenSize/UIScreen+.swift +++ b/Projects/Core/PickeCoreUI/Sources/ScreenSize/UIScreen+.swift @@ -1,14 +1,16 @@ // // UIScreen+.swift -// DDDAttendance -// -// Created by 서원지 on 6/6/24. +// PickeCoreUI // import SwiftUI public extension UIScreen { - static let screenWidth = UIScreen.main.bounds.size.width - static let screenHeight = UIScreen.main.bounds.size.height - static let screenSize = UIScreen.main.bounds.size + /// 현재 화면 크기. 회전·멀티태스킹으로 값이 바뀌므로 매번 다시 읽는다. + /// + /// SwiftUIX 의 `Screen.main.bounds` 와 같이 접근 시점에 계산한다. + /// (`static let` 으로 캐싱하면 앱 시작 시점의 값에 고정된다.) + static var screenSize: CGSize { UIScreen.main.bounds.size } + static var screenWidth: CGFloat { screenSize.width } + static var screenHeight: CGFloat { screenSize.height } } From 8c162235d70b9cf37ad1f9767d2dc03728fa0c60 Mon Sep 17 00:00:00 2001 From: Roy Date: Mon, 7 Sep 2026 13:01:29 +0900 Subject: [PATCH 51/83] =?UTF-8?q?refactor(ui):=20=EA=B3=B5=EC=9A=A9=20UI?= =?UTF-8?q?=20=EC=BB=B4=ED=8F=AC=EB=84=8C=ED=8A=B8=EB=A5=BC=20PickeSharedU?= =?UTF-8?q?I=20=EB=A1=9C=20=EC=A0=95=EB=A6=AC=ED=95=9C=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit CustomPopup·Alert·AudioPlayer·Avatar 등 공용 컴포넌트의 모듈 소속과 임포트를 맞추고 ShareSheet 에 완료 콜백과 제외 액티비티 옵션을 더한다. --- .../Delegate/AppDelegate+Sentry.swift | 169 ------------------ .../Sources/UI/Share/ShareSheet.swift | 23 ++- .../Sources/Alert/CustomAlertModifiers.swift | 2 + .../Sources/Alert/CustomAlertState.swift | 2 + ...stomConfirmationPopupView+Components.swift | 2 + .../CustomConfirmationPopupView+Content.swift | 2 + .../CustomConfirmationPopupView.swift | 2 + .../AudioPlayer/AudioEqualizerView.swift | 2 + .../AudioPlayer/AudioPlayerControlView.swift | 2 + .../Sources/Avatar/PickeAvatarView.swift | 2 + .../Sources/Empty/PickeEmptyStateView.swift | 2 + .../Sources/Empty/PickeRetryErrorView.swift | 2 + .../Sources/Input/PickeCommentInputBar.swift | 2 + .../Sources/Modal/PickeModal.swift | 2 + .../CustomConfirmationPopupView+Report.swift | 2 + 15 files changed, 46 insertions(+), 172 deletions(-) delete mode 100644 Projects/App/Sources/Application/Delegate/AppDelegate+Sentry.swift diff --git a/Projects/App/Sources/Application/Delegate/AppDelegate+Sentry.swift b/Projects/App/Sources/Application/Delegate/AppDelegate+Sentry.swift deleted file mode 100644 index 729dff0a..00000000 --- a/Projects/App/Sources/Application/Delegate/AppDelegate+Sentry.swift +++ /dev/null @@ -1,169 +0,0 @@ -// -// AppDelegate+Sentry.swift -// Picke -// - -import Foundation -import LogMacro -@preconcurrency import Sentry - -extension AppDelegate { - /// 가장 먼저 호출해 초기 크래시까지 포착한다. - /// DSN·환경은 xcconfig → Info.plist 로 주입된 값을 읽는다(BASE_URL/MIXPANEL_TOKEN 과 동일 패턴). - func configureSentry() { - let info = Bundle.main.infoDictionary - // SENTRY_DSN 은 xcconfig 에서 스킴(https://)을 제외하고 저장 → 코드에서 붙인다. - let dsnHost = (info?["SENTRY_DSN"] as? String)?.trimmingCharacters(in: .whitespaces) ?? "" - guard !dsnHost.isEmpty else { - #logError("[Sentry] SENTRY_DSN 미설정 — 초기화 스킵") - return - } - let environment = (info?["SENTRY_ENVIRONMENT"] as? String)? - .trimmingCharacters(in: .whitespaces) ?? "production" - - SentrySDK.start { options in - options.dsn = "https://\(dsnHost)" - options.environment = environment - - #if DEBUG - options.debug = true - #else - options.debug = false - #endif - - options.releaseName = (info?["CFBundleShortVersionString"] as? String).map { - "picke-ios@\($0)+\((info?["CFBundleVersion"] as? String) ?? "")" - } - - // 구조화 로그. - options.enableLogs = true - options.enableMetrics = true - - // 성능 트레이싱 + 프로파일링(트레이싱에 종속). - options.tracesSampleRate = 0.2 - options.configureProfiling = { - $0.lifecycle = .trace - $0.sessionSampleRate = 1.0 - } - - options.enableTimeToFullDisplayTracing = true - options.enableMetricKit = true - options.swiftAsyncStacktraces = true - - options.enableSwizzling = true - options.enableAutoPerformanceTracing = true - options.enableNetworkTracking = true - options.enableNetworkBreadcrumbs = true - - // 안정성 모니터링 활성화. - // 앱 행(ANR): 완전 차단뿐 아니라 부분 차단(비블로킹)까지 리포트, 임계 2초. - options.appHangTimeoutInterval = 2.0 - options.enableReportNonFullyBlockingAppHangs = true - // 워치독 강제종료(OOM 등) 추적. - options.enableWatchdogTerminationTracking = true - // 세션(안정성/Crash-Free) 지표 자동 추적. - options.enableAutoSessionTracking = true - options.sessionTrackingIntervalMillis = 30000 - // 콜드 스타트 정확도(프리웜 구간 반영) + UI 인터랙션 자동 트랜잭션. - options.enablePreWarmedAppStartTracing = true - options.enableUserInteractionTracing = true - // 크래시 순간 진행 중이던 트레이스를 보존해 유실 방지. - options.enablePersistingTracesWhenCrashing = true - - options.enableCaptureFailedRequests = true - options.failedRequestStatusCodes = [ - HttpStatusCodeRange( - min: 400, - max: 599 - ), - ] - - // 크래시 컨텍스트 첨부. - options.attachScreenshot = true - options.attachViewHierarchy = false - - // Session Replay는 별도 렌더링/인코딩 큐(io.sentry.session-replay.processing)를 사용한다. - // SwiftUI + Mixpanel Session Replay와 동시에 켜면 디버깅 중 해당 큐에서 멈추는 케이스가 있어 비활성화한다. - options.sessionReplay.maskAllText = true - options.sessionReplay.maskAllImages = true - options.sessionReplay.sessionSampleRate = 0.0 - options.sessionReplay.onErrorSampleRate = 0.0 - } - - sendSentryVerificationTelemetry(environment: environment) - emitLaunchMetrics(environment: environment) - } - - /// 앱 실행 시 다양한 기기/런타임 메트릭을 환경 태깅해 전송한다(모든 빌드). - /// 런치당 1회라 볼륨이 낮고, 카운트·게이지로 지표 유형을 다양화했다. - private func emitLaunchMetrics(environment: String) { - let process = ProcessInfo.processInfo - let attributes: [String: any SentryAttributeValue] = [ - "environment": environment, - "source": "app_launch", - ] - let memoryMB = Double(process.physicalMemory) / 1_048_576.0 - - // 카운트: 앱 실행 횟수(리텐션/DAU 보조 지표). - SentrySDK.metrics.count(key: "app.launch.count", value: 1, attributes: attributes) - // 게이지: 실행 시점 기기 리소스 스냅샷. - SentrySDK.metrics.gauge(key: "app.device.memory_total_mb", value: memoryMB, attributes: attributes) - SentrySDK.metrics.gauge( - key: "app.device.processor_count", - value: Double(process.activeProcessorCount), - attributes: attributes - ) - SentrySDK.metrics.gauge( - key: "app.device.thermal_state", - value: Double(process.thermalState.rawValue), - attributes: attributes - ) - SentrySDK.metrics.gauge( - key: "app.device.low_power_mode", - value: process.isLowPowerModeEnabled ? 1 : 0, - attributes: attributes - ) - } - - /// Sentry 온보딩 검증용 로그/메트릭. DEBUG(Stage) 빌드에서만 전송해 운영 데이터 오염을 막는다. - func sendSentryVerificationTelemetry(environment: String) { - #if DEBUG - let logAttributes: [String: Any] = [ - "log_type": "test", - "environment": environment, - "source": "app_launch", - ] - let metricAttributes: [String: any SentryAttributeValue] = [ - "log_type": "test", - "environment": environment, - "source": "app_launch", - ] - - SentrySDK.logger.info( - "Sending a test info log", - attributes: logAttributes - ) - SentrySDK.logger.warn( - "Sending a test warning log", - attributes: logAttributes - ) - - SentrySDK.metrics.count( - key: "app.launch.count", - value: 1, - attributes: metricAttributes - ) - SentrySDK.metrics.gauge( - key: "app.launch.queue_depth", - value: 1.0, - attributes: metricAttributes - ) - SentrySDK.metrics.distribution( - key: "app.launch.verification_time", - value: 1.0, - unit: .millisecond, - attributes: metricAttributes - ) - #endif - } -} diff --git a/Projects/UI/PickeDesignKit/Sources/UI/Share/ShareSheet.swift b/Projects/UI/PickeDesignKit/Sources/UI/Share/ShareSheet.swift index 7b4513fe..1f9f42d5 100644 --- a/Projects/UI/PickeDesignKit/Sources/UI/Share/ShareSheet.swift +++ b/Projects/UI/PickeDesignKit/Sources/UI/Share/ShareSheet.swift @@ -1,20 +1,37 @@ // // ShareSheet.swift -// DesignSystem +// PickeDesignKit // import SwiftUI import UIKit +/// 시스템 공유 시트. +/// +/// SwiftUIX 의 `AppActivityView` 에서 완료 콜백과 제외 액티비티 옵션만 옮겨 왔다. +/// 라이브러리 전체를 의존성으로 들이는 대신 필요한 조각만 가져온다. (SwiftUIX, MIT License) public struct ShareSheet: UIViewControllerRepresentable { private let items: [Any] + private let excludedActivityTypes: [UIActivity.ActivityType] + private let onComplete: ((Bool) -> Void)? - public init(items: [Any]) { + public init( + items: [Any], + excludedActivityTypes: [UIActivity.ActivityType] = [], + onComplete: ((Bool) -> Void)? = nil + ) { self.items = items + self.excludedActivityTypes = excludedActivityTypes + self.onComplete = onComplete } public func makeUIViewController(context _: Context) -> UIActivityViewController { - UIActivityViewController(activityItems: items, applicationActivities: nil) + let controller = UIActivityViewController(activityItems: items, applicationActivities: nil) + controller.excludedActivityTypes = excludedActivityTypes.isEmpty ? nil : excludedActivityTypes + controller.completionWithItemsHandler = { _, completed, _, _ in + onComplete?(completed) + } + return controller } public func updateUIViewController( diff --git a/Projects/UI/PickeSharedUI/Sources/Alert/CustomAlertModifiers.swift b/Projects/UI/PickeSharedUI/Sources/Alert/CustomAlertModifiers.swift index c0a8a5a9..fe64d492 100644 --- a/Projects/UI/PickeSharedUI/Sources/Alert/CustomAlertModifiers.swift +++ b/Projects/UI/PickeSharedUI/Sources/Alert/CustomAlertModifiers.swift @@ -6,6 +6,8 @@ import ComposableArchitecture import SwiftUI +import PickeDesignKit + public extension View { func customAlert( _ store: Binding, CustomAlertAction>?> diff --git a/Projects/UI/PickeSharedUI/Sources/Alert/CustomAlertState.swift b/Projects/UI/PickeSharedUI/Sources/Alert/CustomAlertState.swift index 6c36976d..784130ed 100644 --- a/Projects/UI/PickeSharedUI/Sources/Alert/CustomAlertState.swift +++ b/Projects/UI/PickeSharedUI/Sources/Alert/CustomAlertState.swift @@ -6,6 +6,8 @@ import ComposableArchitecture import SwiftUI +import PickeDesignKit + @ObservableState public struct CustomAlertState: Equatable { public let title: String diff --git a/Projects/UI/PickeSharedUI/Sources/Alert/CustomPopup/CustomConfirmationPopupView+Components.swift b/Projects/UI/PickeSharedUI/Sources/Alert/CustomPopup/CustomConfirmationPopupView+Components.swift index 134f66b3..c6597107 100644 --- a/Projects/UI/PickeSharedUI/Sources/Alert/CustomPopup/CustomConfirmationPopupView+Components.swift +++ b/Projects/UI/PickeSharedUI/Sources/Alert/CustomPopup/CustomConfirmationPopupView+Components.swift @@ -6,6 +6,8 @@ import SwiftUI +import PickeDesignKit + extension CustomConfirmationPopup { /// 베이지 카드 + primary 보더 컨테이너 (width 313, top padding 20). func pickeAlertCard( diff --git a/Projects/UI/PickeSharedUI/Sources/Alert/CustomPopup/CustomConfirmationPopupView+Content.swift b/Projects/UI/PickeSharedUI/Sources/Alert/CustomPopup/CustomConfirmationPopupView+Content.swift index f42ecf64..1ad5c10e 100644 --- a/Projects/UI/PickeSharedUI/Sources/Alert/CustomPopup/CustomConfirmationPopupView+Content.swift +++ b/Projects/UI/PickeSharedUI/Sources/Alert/CustomPopup/CustomConfirmationPopupView+Content.swift @@ -6,6 +6,8 @@ import SwiftUI +import PickeDesignKit + extension CustomConfirmationPopup { func popupMaxWidth(for containerWidth: CGFloat) -> CGFloat { max(0, min(containerWidth - popupHorizontalPadding * 2, 360)) diff --git a/Projects/UI/PickeSharedUI/Sources/Alert/CustomPopup/CustomConfirmationPopupView.swift b/Projects/UI/PickeSharedUI/Sources/Alert/CustomPopup/CustomConfirmationPopupView.swift index fc555045..88538125 100644 --- a/Projects/UI/PickeSharedUI/Sources/Alert/CustomPopup/CustomConfirmationPopupView.swift +++ b/Projects/UI/PickeSharedUI/Sources/Alert/CustomPopup/CustomConfirmationPopupView.swift @@ -5,6 +5,8 @@ import SwiftUI +import PickeDesignKit + struct CustomConfirmationPopup: View { @Environment(\.dynamicTypeSize) var dynamicTypeSize diff --git a/Projects/UI/PickeSharedUI/Sources/AudioPlayer/AudioEqualizerView.swift b/Projects/UI/PickeSharedUI/Sources/AudioPlayer/AudioEqualizerView.swift index d88d600a..3001f171 100644 --- a/Projects/UI/PickeSharedUI/Sources/AudioPlayer/AudioEqualizerView.swift +++ b/Projects/UI/PickeSharedUI/Sources/AudioPlayer/AudioEqualizerView.swift @@ -5,6 +5,8 @@ import SwiftUI +import PickeDesignKit + public struct AudioEqualizerView: View { private let isPlaying: Bool private let barCount: Int diff --git a/Projects/UI/PickeSharedUI/Sources/AudioPlayer/AudioPlayerControlView.swift b/Projects/UI/PickeSharedUI/Sources/AudioPlayer/AudioPlayerControlView.swift index ade00069..43d7684f 100644 --- a/Projects/UI/PickeSharedUI/Sources/AudioPlayer/AudioPlayerControlView.swift +++ b/Projects/UI/PickeSharedUI/Sources/AudioPlayer/AudioPlayerControlView.swift @@ -5,6 +5,8 @@ import SwiftUI +import PickeDesignKit + public struct AudioPlayerControlView: View { @Binding private var isPlaying: Bool private let onBackward: () -> Void diff --git a/Projects/UI/PickeSharedUI/Sources/Avatar/PickeAvatarView.swift b/Projects/UI/PickeSharedUI/Sources/Avatar/PickeAvatarView.swift index 6cfa7d77..f1c97000 100644 --- a/Projects/UI/PickeSharedUI/Sources/Avatar/PickeAvatarView.swift +++ b/Projects/UI/PickeSharedUI/Sources/Avatar/PickeAvatarView.swift @@ -5,6 +5,8 @@ import SwiftUI +import PickeDesignKit + /// 원형 아바타. 이미지가 없으면 이름 첫 글자를 대신 보여준다. public struct PickeAvatarView: View { diff --git a/Projects/UI/PickeSharedUI/Sources/Empty/PickeEmptyStateView.swift b/Projects/UI/PickeSharedUI/Sources/Empty/PickeEmptyStateView.swift index b51b0c0b..809d5347 100644 --- a/Projects/UI/PickeSharedUI/Sources/Empty/PickeEmptyStateView.swift +++ b/Projects/UI/PickeSharedUI/Sources/Empty/PickeEmptyStateView.swift @@ -5,6 +5,8 @@ import SwiftUI +import PickeDesignKit + public struct PickeEmptyStateView: View { private let message: String private let imageAsset: ImageAsset diff --git a/Projects/UI/PickeSharedUI/Sources/Empty/PickeRetryErrorView.swift b/Projects/UI/PickeSharedUI/Sources/Empty/PickeRetryErrorView.swift index 28a92941..9d14220a 100644 --- a/Projects/UI/PickeSharedUI/Sources/Empty/PickeRetryErrorView.swift +++ b/Projects/UI/PickeSharedUI/Sources/Empty/PickeRetryErrorView.swift @@ -5,6 +5,8 @@ import SwiftUI +import PickeDesignKit + public struct PickeRetryErrorView: View { private let message: String private let retryTitle: String diff --git a/Projects/UI/PickeSharedUI/Sources/Input/PickeCommentInputBar.swift b/Projects/UI/PickeSharedUI/Sources/Input/PickeCommentInputBar.swift index 24a84636..50ff574f 100644 --- a/Projects/UI/PickeSharedUI/Sources/Input/PickeCommentInputBar.swift +++ b/Projects/UI/PickeSharedUI/Sources/Input/PickeCommentInputBar.swift @@ -5,6 +5,8 @@ import SwiftUI +import PickeDesignKit + /// 하단 고정 댓글 입력 바. public struct PickeCommentInputBar: View { @Binding private var text: String diff --git a/Projects/UI/PickeSharedUI/Sources/Modal/PickeModal.swift b/Projects/UI/PickeSharedUI/Sources/Modal/PickeModal.swift index 5cb8d318..b38abbbf 100644 --- a/Projects/UI/PickeSharedUI/Sources/Modal/PickeModal.swift +++ b/Projects/UI/PickeSharedUI/Sources/Modal/PickeModal.swift @@ -5,6 +5,8 @@ import SwiftUI +import PickeDesignKit + import ComposableArchitecture public extension View { diff --git a/Projects/UI/PickeSharedUI/Sources/Report/CustomConfirmationPopupView+Report.swift b/Projects/UI/PickeSharedUI/Sources/Report/CustomConfirmationPopupView+Report.swift index 6451e674..79c42b19 100644 --- a/Projects/UI/PickeSharedUI/Sources/Report/CustomConfirmationPopupView+Report.swift +++ b/Projects/UI/PickeSharedUI/Sources/Report/CustomConfirmationPopupView+Report.swift @@ -6,6 +6,8 @@ import SwiftUI +import PickeDesignKit + extension CustomConfirmationPopup { @ViewBuilder var reportContent: some View { From 65a7b090977b068e893be8e199a22be050d8150e Mon Sep 17 00:00:00 2001 From: Roy Date: Mon, 7 Sep 2026 13:01:29 +0900 Subject: [PATCH 52/83] =?UTF-8?q?refactor(feature):=20=ED=99=94=EB=A9=B4?= =?UTF-8?q?=20=EB=A0=88=EC=9D=B4=EC=96=B4=EB=A5=BC=20=EC=83=88=20=EB=AA=A8?= =?UTF-8?q?=EB=93=88=20=EA=B2=BD=EA=B3=84=EC=97=90=20=EB=A7=9E=EC=B6=98?= =?UTF-8?q?=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 분할된 UI·Storage·Analytics 모듈로 임포트를 옮기고, 탭 콘텐츠를 LazyView 로 감싼다. --- Projects/App/Project.swift | 6 +- .../Deeplink/PushDeeplinkBridge.swift | 1 + .../Delegate/AppDelegate+Configure.swift | 77 +------------------ .../Application/Delegate/AppDelegate.swift | 1 - .../Sources/Application/Entry/PickeApp.swift | 4 +- .../MainTab/AppMainTabCoordinator.swift | 2 +- .../App/Sources/Reducer/Root/AppReducer.swift | 3 +- .../Coordinator/MainTab/AppMainTabView.swift | 35 ++++++--- .../UseCase/RewardedAdClient+Live.swift | 2 +- .../Coordinator/Reducer/AuthCoordinator.swift | 2 +- .../Sources/Main/Reducer/LoginFeature.swift | 4 +- .../Sources/Main/Reducer/BattleFeature.swift | 2 +- .../ChatRoom/Reducer/ChatRoomFeature.swift | 2 +- .../Comment/Reducer/CommentFeature.swift | 2 +- .../Reducer/CommentReplyFeature.swift | 2 +- .../Curation/Reducer/CurationFeature.swift | 2 +- .../Sources/Vote/Reducer/PreVoteFeature.swift | 2 +- .../Hifi/Sources/Reducer/HifiFeature.swift | 2 +- .../Sources/Main/Reducer/HomeFeature.swift | 2 +- .../Main/Reducer/NotificationFeature.swift | 2 +- .../Sources/Main/Reducer/ProfileFeature.swift | 2 +- .../Sources/Recap/Reducer/RecapFeature.swift | 2 +- .../Settings/Reducer/SettingsFeature.swift | 2 +- .../Sources/Reducer/SplashFeature.swift | 2 +- .../Splash/Tests/Sources/SplashTests.swift | 2 +- 25 files changed, 52 insertions(+), 113 deletions(-) diff --git a/Projects/App/Project.swift b/Projects/App/Project.swift index 879f39cc..2865b544 100644 --- a/Projects/App/Project.swift +++ b/Projects/App/Project.swift @@ -19,15 +19,13 @@ let project = Project.configure( // Core·Service 구현은 조립 경계 하나로 들어온다. // 앱 시작 전면 팝업 광고(Ad)도 여기에 포함된다. .serviceAssembly, + .core(.coreUI), + .core(.coreUtility), .core(.network), .core(.network, .interface), .SPM.googleMobileAds, - .SPM.firebaseCrashlytics, - .SPM.mixpanel, - .SPM.mixpanelSessionReplay, .SPM.kingfisher, .SPM.sdwebImageCore, - .SPM.sentrySwiftUI, ], sources: ["Sources/**"], resources: ["Resources/**"], diff --git a/Projects/App/Sources/Application/Deeplink/PushDeeplinkBridge.swift b/Projects/App/Sources/Application/Deeplink/PushDeeplinkBridge.swift index 542e20d9..a0da62b5 100644 --- a/Projects/App/Sources/Application/Deeplink/PushDeeplinkBridge.swift +++ b/Projects/App/Sources/Application/Deeplink/PushDeeplinkBridge.swift @@ -7,6 +7,7 @@ import Foundation import DomainAssembly import LogMacro +import PickeCoreUtility enum PushDeeplinkBridge { static let pendingKey = "PickePendingDeeplink" diff --git a/Projects/App/Sources/Application/Delegate/AppDelegate+Configure.swift b/Projects/App/Sources/Application/Delegate/AppDelegate+Configure.swift index acc36509..3b19c1a6 100644 --- a/Projects/App/Sources/Application/Delegate/AppDelegate+Configure.swift +++ b/Projects/App/Sources/Application/Delegate/AppDelegate+Configure.swift @@ -3,95 +3,24 @@ // Picke // -import Firebase import GoogleMobileAds import LogMacro -import Mixpanel -import MixpanelSessionReplay -import PickeNetwork import UIKit import DomainAssembly +import ServiceAssembly extension AppDelegate { /// 기동 초기화 진입점. 순서에 의미가 있다. - /// Sentry 를 가장 먼저 올려야 이후 초기화 중 발생한 크래시까지 포착된다. + /// 관측 SDK(Sentry·Firebase·Mixpanel) 설정은 PickeAnalytics 가 전담한다. func configure() { - configureSentry() - configureFirebase() - configureMixpanel() + PickeAnalyticsConfiguration.configure() configureAdMob() requestTrackingAuthorizationWhenActive() configurePushNotifications() configureDependencies() } - // MARK: - Firebase - - func configureFirebase() { - FirebaseApp.configure() - } - - // MARK: - Mixpanel - - func configureMixpanel() { - #logDebug( - "Mixpanel initialize", - [ - "token_exists": !(mixPanelKey?.isEmpty ?? true), - "token_prefix": String((mixPanelKey ?? "").prefix(6)), - ] - ) - Mixpanel.initialize(token: mixPanelKey ?? "", trackAutomaticEvents: true) - - // 모든 이벤트에 자동 첨부되는 공통 슈퍼 프로퍼티(플랫폼/버전). is_logged_in 은 로그인/로그아웃이 관리. - let info = Bundle.main.infoDictionary - Mixpanel.mainInstance().registerSuperProperties([ - "os_type": "ios", - "app_version": (info?["CFBundleShortVersionString"] as? String) ?? "", - "build": (info?["CFBundleVersion"] as? String) ?? "", - ]) - - initializeMixpanelSessionReplay() - configureNetworkTelemetry() - } - - private func configureNetworkTelemetry() { - NetworkTelemetry.shared.configure { event in - var properties: Properties = [ - "source": event.source, - "method": event.method, - "host": event.host, - "path": event.path, - "duration_ms": event.durationMilliseconds, - "success": event.isSuccess, - ] - if let statusCode = event.statusCode { - properties["status_code"] = statusCode - } - Mixpanel.mainInstance().track( - event: "network_request", - properties: properties - ) - } - } - - /// NOTE: MixpanelSessionReplay 1.4.0의 _UIReparentingView swizzling이 - /// SwiftUI UIHostingController.view에 적용되며 콘솔 경고가 출력될 수 있음 (기능 영향 없음). - /// SDK 측 SwiftUI 호환성 개선 시 경고 자동 해소 예정. - private func initializeMixpanelSessionReplay() { - guard !(mixPanelKey?.isEmpty ?? true) else { return } - - var config = MPSessionReplayConfig(wifiOnly: false) - config.enableSessionReplayOniOS26AndLater = true - - MPSessionReplay.initialize( - token: Mixpanel.mainInstance().apiToken, - distinctId: Mixpanel.mainInstance().distinctId, - config: config - ) - } - // MARK: - AdMob func configureAdMob() { diff --git a/Projects/App/Sources/Application/Delegate/AppDelegate.swift b/Projects/App/Sources/Application/Delegate/AppDelegate.swift index 146daf3d..aca7b60a 100644 --- a/Projects/App/Sources/Application/Delegate/AppDelegate.swift +++ b/Projects/App/Sources/Application/Delegate/AppDelegate.swift @@ -6,7 +6,6 @@ import UIKit class AppDelegate: UIResponder, UIApplicationDelegate { - let mixPanelKey = Bundle.main.object(forInfoDictionaryKey: "MIXPANEL_TOKEN") as? String /// ATT 팝업을 앱 active 이후로 미루기 위한 1회성 옵저버. /// 저장 프로퍼티는 확장에 둘 수 없어 여기 남으며, AppDelegate+Tracking 에서 쓰므로 internal 이다. diff --git a/Projects/App/Sources/Application/Entry/PickeApp.swift b/Projects/App/Sources/Application/Entry/PickeApp.swift index 5e1c92ec..4edf6c21 100644 --- a/Projects/App/Sources/Application/Entry/PickeApp.swift +++ b/Projects/App/Sources/Application/Entry/PickeApp.swift @@ -1,5 +1,5 @@ import ComposableArchitecture -import SentrySwiftUI +import ServiceAssembly import SwiftUI @main @@ -22,7 +22,7 @@ struct PickeApp: App { AppDependencyFactory.configure(&$0) } - SentryTracedView("AppRoot") { + PickeTracedView("AppRoot") { AppView(store: store) } .onOpenURL { url in diff --git a/Projects/App/Sources/Reducer/Coordinator/MainTab/AppMainTabCoordinator.swift b/Projects/App/Sources/Reducer/Coordinator/MainTab/AppMainTabCoordinator.swift index bf3af999..808c52d9 100644 --- a/Projects/App/Sources/Reducer/Coordinator/MainTab/AppMainTabCoordinator.swift +++ b/Projects/App/Sources/Reducer/Coordinator/MainTab/AppMainTabCoordinator.swift @@ -7,7 +7,7 @@ import Foundation -import AnalyticsServiceInterface +import PickeAnalyticsInterface import ComposableArchitecture import PickeDesignKit import FeatureAssembly diff --git a/Projects/App/Sources/Reducer/Root/AppReducer.swift b/Projects/App/Sources/Reducer/Root/AppReducer.swift index 1f7b7307..e25682f6 100644 --- a/Projects/App/Sources/Reducer/Root/AppReducer.swift +++ b/Projects/App/Sources/Reducer/Root/AppReducer.swift @@ -5,11 +5,12 @@ // Created by Wonji Suh on 5/6/26. // -import AnalyticsServiceInterface +import PickeAnalyticsInterface import ComposableArchitecture import DomainAssembly import LogMacro import FeatureAssembly +import PickeCoreUtility @Reducer public struct AppReducer: Sendable { diff --git a/Projects/App/Sources/View/Coordinator/MainTab/AppMainTabView.swift b/Projects/App/Sources/View/Coordinator/MainTab/AppMainTabView.swift index 75650159..b0df67c9 100644 --- a/Projects/App/Sources/View/Coordinator/MainTab/AppMainTabView.swift +++ b/Projects/App/Sources/View/Coordinator/MainTab/AppMainTabView.swift @@ -9,6 +9,7 @@ import SwiftUI import UIKit import ComposableArchitecture +import PickeCoreUI import PickeDesignKit import FeatureAssembly import TCAFlow @@ -127,28 +128,38 @@ private extension AppMainTabView { .frame(width: 24, height: 24) } + // TabView 는 네 탭의 콘텐츠를 한꺼번에 만들기 때문에, LazyView 로 감싸 + // 각 탭이 처음 화면에 올라올 때까지 스토어 스코프와 뷰 생성을 미룬다. @ViewBuilder func tabContent(for tab: Int) -> some View { switch AppMainTabCoordinator.Tab(rawValue: tab) { case .home: - AppHomeCoordinatorView( - store: store.scope(state: \.homeState, action: \.home) - ) + LazyView { + AppHomeCoordinatorView( + store: store.scope(state: \.homeState, action: \.home) + ) + } case .explore: - AppHifiCoordinatorView( - store: store.scope(state: \.exploreState, action: \.explore) - ) + LazyView { + AppHifiCoordinatorView( + store: store.scope(state: \.exploreState, action: \.explore) + ) + } case .quickBattle: - AppBattleCoordinatorView( - store: store.scope(state: \.quickBattleState, action: \.quickBattle) - ) + LazyView { + AppBattleCoordinatorView( + store: store.scope(state: \.quickBattleState, action: \.quickBattle) + ) + } case .myPage: - AppProfileCoordinatorView( - store: store.scope(state: \.myPageState, action: \.myPage) - ) + LazyView { + AppProfileCoordinatorView( + store: store.scope(state: \.myPageState, action: \.myPage) + ) + } case .none: EmptyView() diff --git a/Projects/Feature/Ad/Sources/UseCase/RewardedAdClient+Live.swift b/Projects/Feature/Ad/Sources/UseCase/RewardedAdClient+Live.swift index 1505421a..975a2f56 100644 --- a/Projects/Feature/Ad/Sources/UseCase/RewardedAdClient+Live.swift +++ b/Projects/Feature/Ad/Sources/UseCase/RewardedAdClient+Live.swift @@ -7,7 +7,7 @@ import Foundation import UIKit import AdInterface -import AnalyticsServiceInterface +import PickeAnalyticsInterface import ComposableArchitecture import GoogleMobileAds import LogMacro diff --git a/Projects/Feature/Auth/Sources/Coordinator/Reducer/AuthCoordinator.swift b/Projects/Feature/Auth/Sources/Coordinator/Reducer/AuthCoordinator.swift index 830b873c..86071ca6 100644 --- a/Projects/Feature/Auth/Sources/Coordinator/Reducer/AuthCoordinator.swift +++ b/Projects/Feature/Auth/Sources/Coordinator/Reducer/AuthCoordinator.swift @@ -22,7 +22,7 @@ public struct AuthCoordinator { var routes: [Route] public init() { - @Shared(.inMemory("UserSession")) var userSession: UserSession = .empty + @Shared(.userSession) var userSession: UserSession routes = [.root(.login(.init(userSession: userSession)), embedInNavigationView: true)] } diff --git a/Projects/Feature/Auth/Sources/Main/Reducer/LoginFeature.swift b/Projects/Feature/Auth/Sources/Main/Reducer/LoginFeature.swift index a96378be..705165e9 100644 --- a/Projects/Feature/Auth/Sources/Main/Reducer/LoginFeature.swift +++ b/Projects/Feature/Auth/Sources/Main/Reducer/LoginFeature.swift @@ -14,7 +14,7 @@ import LogMacro import AuthDomainInterface import PickeDesignKit -import AnalyticsServiceInterface +import PickeAnalyticsInterface @Reducer public struct LoginFeature { @@ -35,7 +35,7 @@ public struct LoginFeature { public init( userSession: UserSession = .empty ) { - _userSession = Shared(wrappedValue: userSession, .inMemory("UserSession")) + _userSession = Shared(wrappedValue: userSession, .userSession) } } diff --git a/Projects/Feature/Battle/Sources/Main/Reducer/BattleFeature.swift b/Projects/Feature/Battle/Sources/Main/Reducer/BattleFeature.swift index 57452a60..926733b6 100644 --- a/Projects/Feature/Battle/Sources/Main/Reducer/BattleFeature.swift +++ b/Projects/Feature/Battle/Sources/Main/Reducer/BattleFeature.swift @@ -8,7 +8,7 @@ import Foundation import ComposableArchitecture import BattleDomainInterface import LogMacro -import AnalyticsServiceInterface +import PickeAnalyticsInterface import PickeCoreUtility @Reducer diff --git a/Projects/Feature/Chat/Sources/ChatRoom/Reducer/ChatRoomFeature.swift b/Projects/Feature/Chat/Sources/ChatRoom/Reducer/ChatRoomFeature.swift index 38011cf1..5dbfb8d8 100644 --- a/Projects/Feature/Chat/Sources/ChatRoom/Reducer/ChatRoomFeature.swift +++ b/Projects/Feature/Chat/Sources/ChatRoom/Reducer/ChatRoomFeature.swift @@ -15,7 +15,7 @@ import LogMacro import PickeDesignKit import PickeSharedUI import PickeCoreUtility -import AnalyticsServiceInterface +import PickeAnalyticsInterface import AudioPlayerServiceInterface @Reducer diff --git a/Projects/Feature/Chat/Sources/Comment/Reducer/CommentFeature.swift b/Projects/Feature/Chat/Sources/Comment/Reducer/CommentFeature.swift index 080ec5c5..50e6f7d9 100644 --- a/Projects/Feature/Chat/Sources/Comment/Reducer/CommentFeature.swift +++ b/Projects/Feature/Chat/Sources/Comment/Reducer/CommentFeature.swift @@ -12,7 +12,7 @@ import LogMacro import PerspectiveDomainInterface import PickeDesignKit import PickeSharedUI -import AnalyticsServiceInterface +import PickeAnalyticsInterface @Reducer public struct CommentFeature { diff --git a/Projects/Feature/Chat/Sources/CommentReply/Reducer/CommentReplyFeature.swift b/Projects/Feature/Chat/Sources/CommentReply/Reducer/CommentReplyFeature.swift index 8b339b7f..10d58d5d 100644 --- a/Projects/Feature/Chat/Sources/CommentReply/Reducer/CommentReplyFeature.swift +++ b/Projects/Feature/Chat/Sources/CommentReply/Reducer/CommentReplyFeature.swift @@ -14,7 +14,7 @@ import LogMacro import PerspectiveDomainInterface import PickeDesignKit import PickeSharedUI -import AnalyticsServiceInterface +import PickeAnalyticsInterface @Reducer public struct CommentReplyFeature { diff --git a/Projects/Feature/Chat/Sources/Curation/Reducer/CurationFeature.swift b/Projects/Feature/Chat/Sources/Curation/Reducer/CurationFeature.swift index 3cadc556..12848b20 100644 --- a/Projects/Feature/Chat/Sources/Curation/Reducer/CurationFeature.swift +++ b/Projects/Feature/Chat/Sources/Curation/Reducer/CurationFeature.swift @@ -8,7 +8,7 @@ import Foundation import BattleDomainInterface import ComposableArchitecture import LogMacro -import AnalyticsServiceInterface +import PickeAnalyticsInterface @Reducer public struct CurationFeature { diff --git a/Projects/Feature/Chat/Sources/Vote/Reducer/PreVoteFeature.swift b/Projects/Feature/Chat/Sources/Vote/Reducer/PreVoteFeature.swift index ca02b48f..520a0cf3 100644 --- a/Projects/Feature/Chat/Sources/Vote/Reducer/PreVoteFeature.swift +++ b/Projects/Feature/Chat/Sources/Vote/Reducer/PreVoteFeature.swift @@ -9,7 +9,7 @@ import Foundation import PickeNetwork import UIKit -import AnalyticsServiceInterface +import PickeAnalyticsInterface import BattleDomainInterface import ComposableArchitecture import LogMacro diff --git a/Projects/Feature/Hifi/Sources/Reducer/HifiFeature.swift b/Projects/Feature/Hifi/Sources/Reducer/HifiFeature.swift index a232d978..27cbaf8e 100644 --- a/Projects/Feature/Hifi/Sources/Reducer/HifiFeature.swift +++ b/Projects/Feature/Hifi/Sources/Reducer/HifiFeature.swift @@ -11,7 +11,7 @@ import HifiInterface import HomeDomainInterface import LogMacro import NotificationDomainInterface -import AnalyticsServiceInterface +import PickeAnalyticsInterface import BattleDomainInterface @Reducer diff --git a/Projects/Feature/Home/Sources/Main/Reducer/HomeFeature.swift b/Projects/Feature/Home/Sources/Main/Reducer/HomeFeature.swift index 96ace47f..33a742b7 100644 --- a/Projects/Feature/Home/Sources/Main/Reducer/HomeFeature.swift +++ b/Projects/Feature/Home/Sources/Main/Reducer/HomeFeature.swift @@ -12,7 +12,7 @@ import HomeDomainInterface import HomeInterface import LogMacro import NotificationDomainInterface -import AnalyticsServiceInterface +import PickeAnalyticsInterface import AuthDomainInterface @Reducer diff --git a/Projects/Feature/Notification/Sources/Main/Reducer/NotificationFeature.swift b/Projects/Feature/Notification/Sources/Main/Reducer/NotificationFeature.swift index 7bd6d943..3b8fdaa0 100644 --- a/Projects/Feature/Notification/Sources/Main/Reducer/NotificationFeature.swift +++ b/Projects/Feature/Notification/Sources/Main/Reducer/NotificationFeature.swift @@ -8,7 +8,7 @@ import Foundation import ComposableArchitecture import LogMacro import NotificationDomainInterface -import AnalyticsServiceInterface +import PickeAnalyticsInterface import PickeCoreUtility @Reducer diff --git a/Projects/Feature/Profile/Sources/Main/Reducer/ProfileFeature.swift b/Projects/Feature/Profile/Sources/Main/Reducer/ProfileFeature.swift index 9eaff1d6..899f1cb4 100644 --- a/Projects/Feature/Profile/Sources/Main/Reducer/ProfileFeature.swift +++ b/Projects/Feature/Profile/Sources/Main/Reducer/ProfileFeature.swift @@ -12,7 +12,7 @@ import NotificationDomainInterface import PickeDesignKit import PickeSharedUI import AdInterface -import AnalyticsServiceInterface +import PickeAnalyticsInterface @Reducer public struct ProfileFeature { diff --git a/Projects/Feature/Profile/Sources/Recap/Reducer/RecapFeature.swift b/Projects/Feature/Profile/Sources/Recap/Reducer/RecapFeature.swift index b3a30402..405d7753 100644 --- a/Projects/Feature/Profile/Sources/Recap/Reducer/RecapFeature.swift +++ b/Projects/Feature/Profile/Sources/Recap/Reducer/RecapFeature.swift @@ -9,7 +9,7 @@ import UIKit import ComposableArchitecture import LogMacro -import AnalyticsServiceInterface +import PickeAnalyticsInterface import PickeCoreUtility @Reducer diff --git a/Projects/Feature/Profile/Sources/Settings/Reducer/SettingsFeature.swift b/Projects/Feature/Profile/Sources/Settings/Reducer/SettingsFeature.swift index 20113571..e0e561d6 100644 --- a/Projects/Feature/Profile/Sources/Settings/Reducer/SettingsFeature.swift +++ b/Projects/Feature/Profile/Sources/Settings/Reducer/SettingsFeature.swift @@ -10,7 +10,7 @@ import ComposableArchitecture import LogMacro import PickeDesignKit import PickeSharedUI -import AnalyticsServiceInterface +import PickeAnalyticsInterface import DeviceServiceInterface import PickeStorageInterface diff --git a/Projects/Feature/Splash/Sources/Reducer/SplashFeature.swift b/Projects/Feature/Splash/Sources/Reducer/SplashFeature.swift index ed66eab4..35bac165 100644 --- a/Projects/Feature/Splash/Sources/Reducer/SplashFeature.swift +++ b/Projects/Feature/Splash/Sources/Reducer/SplashFeature.swift @@ -10,7 +10,7 @@ import Foundation import ComposableArchitecture import LogMacro -import AnalyticsServiceInterface +import PickeAnalyticsInterface import AppUpdateDomainInterface import PickeStorageInterface diff --git a/Projects/Feature/Splash/Tests/Sources/SplashTests.swift b/Projects/Feature/Splash/Tests/Sources/SplashTests.swift index e90e4876..a11f0f92 100644 --- a/Projects/Feature/Splash/Tests/Sources/SplashTests.swift +++ b/Projects/Feature/Splash/Tests/Sources/SplashTests.swift @@ -8,7 +8,7 @@ import ComposableArchitecture import Testing -import AnalyticsServiceInterface +import PickeAnalyticsInterface import AppUpdateDomainInterface import PickeStorageInterface From 0059cc07d5aa65ce32a3d1a013372d89ff59fc2e Mon Sep 17 00:00:00 2001 From: Roy Date: Mon, 7 Sep 2026 13:01:30 +0900 Subject: [PATCH 53/83] =?UTF-8?q?chore(tuist):=20=EB=AA=A8=EB=93=88=20?= =?UTF-8?q?=EC=B9=B4=ED=83=88=EB=A1=9C=EA=B7=B8=EC=99=80=20=ED=8C=A8?= =?UTF-8?q?=ED=82=A4=EC=A7=80=20=EC=9D=98=EC=A1=B4=EC=84=B1=EC=9D=84=20?= =?UTF-8?q?=EA=B0=B1=EC=8B=A0=ED=95=9C=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Extension+TargetDependencySPM.swift | 2 + .../Project+Templete/Project+Target.swift | 5 +- Tuist/Package.resolved | 50 +++++++++++++++--- Tuist/Package.swift | 24 ++++++++- graph.png | Bin 1311394 -> 849567 bytes 5 files changed, 72 insertions(+), 9 deletions(-) diff --git a/Plugins/DependencyPackagePlugin/ProjectDescriptionHelpers/DependencyPackage/Extension+TargetDependencySPM.swift b/Plugins/DependencyPackagePlugin/ProjectDescriptionHelpers/DependencyPackage/Extension+TargetDependencySPM.swift index 0c4e1722..4fdfc251 100644 --- a/Plugins/DependencyPackagePlugin/ProjectDescriptionHelpers/DependencyPackage/Extension+TargetDependencySPM.swift +++ b/Plugins/DependencyPackagePlugin/ProjectDescriptionHelpers/DependencyPackage/Extension+TargetDependencySPM.swift @@ -13,6 +13,8 @@ public extension TargetDependency.SPM { static let composableArchitecture = TargetDependency.external(name: "ComposableArchitecture", condition: .none) static let dependencies = TargetDependency.external(name: "Dependencies", condition: .none) + static let sharing = TargetDependency.external(name: "Sharing", condition: .none) + static let sqliteData = TargetDependency.external(name: "SQLiteData", condition: .none) static let identifiedCollections = TargetDependency.external(name: "IdentifiedCollections", condition: .none) static let tcaFlow = TargetDependency.external(name: "TCAFlow", condition: .none) static let concurrencyExtras = TargetDependency.external(name: "ConcurrencyExtras", condition: .none) diff --git a/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/Project+Target.swift b/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/Project+Target.swift index 6c41916b..52911209 100644 --- a/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/Project+Target.swift +++ b/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/Project+Target.swift @@ -9,7 +9,10 @@ import ProjectDescription let suppressWarningsSettings: ProjectDescription.Settings = .settings( base: [ - "OTHER_SWIFT_FLAGS": "$(inherited) -suppress-warnings", + // Xcode 26 의 XCTest 가 먼저 로드하는 애플 private `Sharing` 모듈과 충돌해 xctest 부팅이 깨진다. + // Point-Free 구현은 `PickePointFreeSharing` 이름으로 빌드하고(Tuist/Package.swift), + // 소스의 `import Sharing` 은 별칭으로 이어 붙인다. + "OTHER_SWIFT_FLAGS": "$(inherited) -suppress-warnings -module-alias Sharing=PickePointFreeSharing", // Xcode 16 Explicitly Built Modules 비활성화. // (system 모듈(os_object)/WebKit pcm emit 실패 및 "implicit use of module files is disabled" 에러 회피) "SWIFT_ENABLE_EXPLICIT_MODULES": "NO", diff --git a/Tuist/Package.resolved b/Tuist/Package.resolved index 372b5dd6..e1914cc2 100644 --- a/Tuist/Package.resolved +++ b/Tuist/Package.resolved @@ -1,5 +1,5 @@ { - "originHash" : "90e503ea5a509853c4fdee624e7bad613897a8b9e08c1c0b8513b4a6073c7ef9", + "originHash" : "21ccc32182f1460e46791cfe3a136b86e244611037d71ba160fbbb3b301a0f67", "pins" : [ { "identity" : "abseil-cpp-binary", @@ -109,6 +109,15 @@ "version" : "8.1.0" } }, + { + "identity" : "grdb.swift", + "kind" : "remoteSourceControl", + "location" : "https://github.com/groue/GRDB.swift", + "state" : { + "revision" : "b83108d10f42680d78f23fe4d4d80fc88dab3212", + "version" : "7.11.1" + } + }, { "identity" : "grpc-binary", "kind" : "remoteSourceControl", @@ -244,6 +253,15 @@ "version" : "9.21.0" } }, + { + "identity" : "sqlite-data", + "kind" : "remoteSourceControl", + "location" : "https://github.com/pointfreeco/sqlite-data", + "state" : { + "revision" : "a9c517261ba6e13483f80e6903c66ad8ebaa649e", + "version" : "1.11.0" + } + }, { "identity" : "swift-case-paths", "kind" : "remoteSourceControl", @@ -285,8 +303,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/pointfreeco/swift-concurrency-extras", "state" : { - "revision" : "5a3825302b1a0d744183200915a47b508c828e6f", - "version" : "1.3.2" + "revision" : "5fa253428866f2360c3754e88537f700ed2656b5", + "version" : "1.4.1" } }, { @@ -348,8 +366,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/pointfreeco/swift-perception", "state" : { - "revision" : "d924c62a70fca5f43872f286dbd7cef0957f1c01", - "version" : "1.6.0" + "revision" : "de219a1cf34e958134e75a9ebb134cf09bf52fc6", + "version" : "2.0.11" } }, { @@ -357,8 +375,26 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/pointfreeco/swift-sharing", "state" : { - "revision" : "55d2fef5008b054420f90d745ea0520850955462", - "version" : "1.1.3" + "revision" : "8244fe63bf43e58188ab13851ad693eecf6a9e90", + "version" : "2.9.1" + } + }, + { + "identity" : "swift-snapshot-testing", + "kind" : "remoteSourceControl", + "location" : "https://github.com/pointfreeco/swift-snapshot-testing", + "state" : { + "revision" : "59a99c458de4d2dee580529b61b4f78dca7b7fa6", + "version" : "1.19.4" + } + }, + { + "identity" : "swift-structured-queries", + "kind" : "remoteSourceControl", + "location" : "https://github.com/pointfreeco/swift-structured-queries", + "state" : { + "revision" : "7cdc5c4514e24b1b828fd39f5b97badb7ffeaeae", + "version" : "0.37.0" } }, { diff --git a/Tuist/Package.swift b/Tuist/Package.swift index 8dbdeca4..fa04f782 100644 --- a/Tuist/Package.swift +++ b/Tuist/Package.swift @@ -35,6 +35,19 @@ "GoogleMobileAds": .framework, "Sentry": .framework, "SentrySwiftUI": .framework, + + // Sharing·SQLiteData 는 여러 동적 모듈이 함께 쓰므로 단일 런타임으로 공유한다. + // 버전 마커(Sharing1/2)는 정적으로 링크해 앱이 Sharing1.framework 를 찾지 않게 한다. + "Sharing1": .staticFramework, + "Sharing2": .staticFramework, + "SQLiteData": .framework, + "GRDB": .framework, + "GRDBSQLite": .framework, + "GRDB_GRDB": .framework, + "StructuredQueries": .framework, + "StructuredQueriesCore": .framework, + "StructuredQueriesSQLite": .framework, + "StructuredQueriesSQLiteCore": .framework, ], // 외부 SPM 패키지 타깃(Sentry/WebKit 등)에도 Explicitly Built Modules 비활성화. // (Xcode 26 에서 Sentry→WebKit 빌드 시 system Network 모듈의 os_object 미제공 + @@ -43,6 +56,10 @@ base: [ "SWIFT_ENABLE_EXPLICIT_MODULES": "NO", "CLANG_ENABLE_EXPLICIT_MODULES": "NO", + // Xcode 26 의 XCTest 가 먼저 로드하는 애플 private `Sharing` 모듈과 충돌해 + // xctest 부팅이 깨진다. Point-Free 구현은 다른 모듈명으로 빌드하고 + // 소스의 `import Sharing` 은 별칭으로 이어 붙인다. + "OTHER_SWIFT_FLAGS": "$(inherited) -module-alias Sharing=PickePointFreeSharing", ], // 외부 SPM 패키지도 앱과 동일한 커스텀 컨피그(Stage/Prod/Release)를 갖게 한다. // 이게 없으면 패키지는 기본 [Debug, Release]만 생성 → Stage 빌드 시 리소스 번들이 @@ -53,7 +70,11 @@ .release(name: "Prod"), .release(name: "Release"), ] - ) + ), + targetSettings: [ + // 위 module-alias 와 짝. 산출물 이름 자체를 바꿔 시스템 Sharing.framework 를 가리지 않는다. + "Sharing": .settings(base: ["PRODUCT_NAME": "PickePointFreeSharing"]), + ] ) #endif @@ -62,6 +83,7 @@ let package = Package( dependencies: [ .package(url: "https://github.com/pointfreeco/swift-composable-architecture", exact: "1.25.5"), .package(url: "https://github.com/pointfreeco/swift-dependencies", from: "1.6.0"), + .package(url: "https://github.com/pointfreeco/sqlite-data", exact: "1.11.0"), .package(url: "https://github.com/Roy-wonji/TCAFlow.git", exact: "1.1.3"), .package(url: "https://github.com/Roy-wonji/WeaveDI.git", from: "3.4.1"), .package(url: "https://github.com/google/GoogleSignIn-iOS", from: "9.1.0"), diff --git a/graph.png b/graph.png index 1d5cf5ed3a8502aad8f09546af7a97d91b533eeb..79e991652a177d005a5076c9b4bdb8bf0c27e3cb 100644 GIT binary patch literal 849567 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Č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

    `6qf}|Bv>kGitt_wDl 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 Y3%xIGYfv6Nb(r%6 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⪻pP!FGBR7G)wPEO&uOV(I~9{3Wo( zV7PXEoaU7BOpbKdoNe;W$nn3Q8>nA*jcV?UqAe{S$vhN!)X-eUdaRm==|g_)Wi4R` zJ5!m@QxGrCVZyONeBQ`?#YYKoH$i!U+fgEBn+K1Eg@ku?AGBpMkt= zB#S>0=(ahWHe?|IwohgFEhC~OL(oI8AY2$HP97&z&_RmtJjqGhcSsw(z()PNUiATC z`792$ub3_1iClaBTxw4kwc1?_4bgP`>(`WH=IvS65L=#xfhQAJOgA!#w{l=N@-Nma_>N(NJRY@5&bM)2JN(XWDFJ~yZLi~cv;#}vafr}7tG8Ff8snQs~ z&Zmq}r&-g~XPA^gk`MOD=4?Nl1Dzv~#j66q8bFQoX#wt(l^NTzXoO((cgXvKHSo(+ zunz^Qo)0e-i@3_*Rq&C60>Nnug^d52RDNvVkEZ_omRJ~GR0ns{#~VergulGvJSl*_ zJ4I!W8mMJ9xObPs1BG_ayk9!6E;@VeX_&tB}#w z7A!I+=Q1CQx+48saD+u&x?Ea%GX=S>wfOTbJVk3f+FcAOtS4~R<`U^xZB9SACan{$ z8lGYdd1EB19znDYD09M;QPuzj`C^B$2Z;zMN0ilLF0Y zbO`|NBl{%4(oHZcf|3cj)84hu{|6}{GSL`pOcv4~%uM#t-5n-Xq+|_AfH1+UB>U(L z8YJ%mBou^oAxz-Qqyg|EfC~biz?}UIRUXcCd4M=fR2qmvxtV~w1ynnEx^#)vM6S zLfm2nDbMV*+C&s`= zHT+6HB`(ArCRbBMqxcL(7Kofa+0~e8H_#5(&%2OFty0r>RA0(q{;(42XbG2(E0WWaVg2^8I z0PG|N?b&5%;tR5T%2$!Q9}PgfBx~vi`o?*M;ce|!S0w#Pf^I_`u<@?dqF$9@r@Jt;>Y?7gKI_`F8Tr-*Rm|cWYtubH+qYTY>^_)^R=PjVh~~{l@x5qPWm`3I)Uug7ZM>&>$Kti$qux zTw)>n!#n+m&+H8Wc86BD`O=y3G0g0Qm*VBxT0MJ=8_H?vqYV0UlmjAzZYUp|P?cW5 zv9C^)4CG?%{Bf^a%>Y-DuEVpkLLvBcefrL0t=0(jYGA)zd%&KH(VnY0EMiHEJXN@7 zID55(-OT5Omo2J>8SACL+SkR$ox)+xc2Tt3Ieb{Pp-xw=dGWq3>Wla=-NCm@JiJ^CC~3Dq4H{3@YMrM1q~G&DtGw zVd_z6jpL0?+Ou3{5FI)3oRloRxAMUTgHLR3J@j=~kbPD!GlfkAQPscFoYIe_TE>xb z7*w&DZlZxCL9n7WzcdqPlzz6$N1YOraf6X!AdD3yih*198jI{~lR>S?bRfV6m)N}ZeqcaW`j$E(qb3BiAvQ;;-lk)J+}2+Z zJp;IE(Lji!q_s6O@L7a{yt%-h)m)IN3Nkr8cJjiiJkQNQ0%tFc1UL;af0Zk^80k{8 zDB&vg(r?mU_)}APCDg^2y_TcOpN^M$^=H3^O6BJ-sXv7 z;>uDw&OZ|y!xiPU6AeeTrta3@R6?@1;rTSe*}C`~1gNLJ$Xk<=qUQu7`*{siw5o-0 z*}54qmRvX%`gr;_r^Ou6M5STXdW`7qN}esJ$@vYEE^Ei%CSp+mU$n4LItTX%c(@at zW%f(W)D>ag4*D8wb0dOB+ecJ&3HW~ry+K#Ul}tY){xAwT?omJZZii}$P zTF8dmvRWrUK%e@3Gi#!=<1@Rt5)EE~aBxsOo=MSOp)bjPS&8{@!;OdfnU3(wzh7dt z{sN0ZO1w$N=DP>nUmJsD&aVZTPVW;59Q%$6r#)zE?3YE_9&Yxp7PdvgKzezad|`nI z?Jrx|hD~(1B*uc1ke^rUla2>WTt<%tRHP*7Ulu6>774@@0ufq=F-~u~P;+*Pdy7bh zRC#QcyzSz?axzKY=dqV{zeVAih9e{*>b|<-qoboMW?nCqDRU50>)<^P11RDy&ndM@FWsI4 zUoomSB~G}U3;7!nY1{`hglf42Zz&`&IO2N2`q;KUt6%6 zm(fGM*nK!C0;RZnAjaowA>F4`#lOrs^7C*~FN2`lK|QM=R+p0WdC>6Ym!4HaGc#nr zP71$HQR$KBx<1+V9S6Rh>-fWb=)3$sBQMrv8(3y}J}m0PaW=No)~J|TEhEB}^1`)> z;?zQ=`~t5`XQMaJ8yL`&=M<^k2&_DE%j1e*OqC%D8_XCB1{+RT=Rs<>_=^b+V@ZOaYPM z=MT0>wYD$p61)Z-^WPX>j5c6!*iJDyc~XGT8^DYWc_t3_&dFmU z8_!D2QG*`ph8XlxJ|Yy+uz$Dr&Qo{>ND`3CMdp-?`xRwEH$ zIN-3|wg3UC75eR8OSLME3=QG#@9)7PuKr^`m>`HqpZMq=FB=Rp68=t4=Y!n@SXfvf z%lMtG?HjVj>NN1i-~u!=KX!RiAt3}NRpZz-X8sbR!41n!PtRLNKXCJw=(c4|#Q@-V zpH_jYWt4207-en;95pHlddP}ft7T_uloq8UVM%cNq!ssHE7vGn(TQC*lFngpK%di6 z7?W&B`2C#u*=LhF_4hAa8oom%h#CS58SucB2A>U8;-Hh8JaSOHKe)QcC@78>dm1h- zE-V%X56WwIQPbJvck}7`|8%miTqOB5OE#PMgauQC=hOD2hF`s=3+gsp@B?lOF!#tS zD15fELZ6tJaLJL!!^0z_py>bm_oW9Z+}webOqgCy+UagEQ$6V|%%<-s6??)o{l<}t zksd95rg%Jh{vh4lQ)HQ=d4jjMTeutNC2zvfGy6J!-#m7y5!T_4-8M`tV)fGSwYp!7 z`bHPh+>>`cr+lbVtPIs;`9550dH#JEG{WqJr|jZd$j0f;S3Wq8%hrCuKgAv`2=^a` zLR1k^jHgg5qC!+mx7I`-G{1yB+BBRhYYp`oEWPex^E>Xh?nm&rW9z$Gu%jaPo{EG# zF2(xav=O%Qo_+r7aPnZ^bgBd)SRdm~t1TNM?S?&=PrYb<)DxYmTw9a;^vvUoiX)4w z%NgaK&(RV2JtGSA!5&SW^LdOe>RNy0lF&4kflJ=Pz_V1uD})y>_nY`mjrn=h``n`Z zuHpz+QBVFHLsx2H=p1IzUF(r6&5y#&0+;<<;%z5KHep+>ooB1ZBGeM#dl7xSw<%gh zfqI`}d%sI_kvjRiUpxG;X-d&?p38T5admbt;j^7u8`Q5afZH|YCE^o^sxK_y-3A)G z)nN+UHFbMbwnk)}h!HxH$2~}-p>kzez`$#QFCKdV6rf2p^Xbxh=!uM7q!n|A5EW(z3f?mkQ9d{k&sg?jSeURHGb|k;Anaih@j1%Xsvkwi%{H|ZY;swcpw~VY z`fyzI{A%?AaoJNjSn1&9N`K|`X-8%2({n`9UX|fs*@i&$FH6L-fA#0hMIGqPjQ@s@sj}VVR}N}$Ag3-nU2-(gHI zHg|bj3S39)q2?2m0BSM<(I%=b^bOdOE(CMCoGfkE8~?Eb;ebeg%;jGQ_$2+JKE1yB z7c1m(1r45=B(%<$n;hsD6=ezK9V$vbdVq5tK5{blP+VNr?HO*$uJV2@YU(Kf>2Uw% zJl7r%xqLJ|6S1k-T%8X4_{pQXS?`&i=tCO1P4#@4FURDY>vRdm)cL<5E>qh=&} z5l3tuLZiyzM8T=7Qv(5p0M%~D_@tfCz4_YT`{!(4GzXCR%q3Fh~&pgtsWZS zO7(sH`@_4d(J&ngF|!}{Z9dlmev8gna3_sn0w<%Rt{+Qd72s-T9<6B;Ed5`|F6Jmq zLh70Wx7b=wu3;D)hf%o&IkBBB$AyxbEE_8ylsp~n@hGwpsay;&%ok#i;~L0vEZfD3 z8MoHjNv=Fhprg(s8^l#S_d~g2-GS5C2UkBx_L)7|E%~oTt1166J@-3rNv zqTh5~RPFz8Bl6u#A3Mv?t?AP$e`ahnlB~fivla#L$vti#7hDbbdz^%+iQANJe;#_# zz2kzkuXSqoZ`nw$aXDm8BjLLLV|t5E&c$W|TzYsreD2^OE?PZ5>GNO-s*H{B@Q?7k ziS&uxKmOcO59)vGTMLgPl{3U?ue6~WjK_;;i|<7=31EiHU`P*dd-oW#fRR9&PV=35 zUOIB5&ps3TOE;x}px~dmxvxOyvj$W+fqh1SVw7E=Y@K$%+Oe0f$J`x2REA{HFl$%p z(-C-0tHVI4W04$=AQg!ow;}pngtoIEmfLj3nE|2}| z2JW5VZCM&K+}+7oJ*o`#)y{tZ=`1%sp|kfYTIk8bk(on4(&ehU+d`4R?a86BUac=o zP55f>7xBrrhvC-gH&>u{hg&JB^*uqByb4pOuewICcz^_5-H|1yUEcgLnp&-#D*wVu zsMx}~*nD@o$EV-)776a^D8lYePmTM=mK6l3!@;ef*bX3W8b@6^QLcwhr9I-t6Iwa6{d;* z=aC8T<;%D5(Dds9Z6~@co;lXhjR~~2T z*bm^{KwYsB!Y|wlm?g0d8dv(sQeVVKv2SE`zxKE4Hz#JQDq-gtw5xI2VA~%)i9AR2 zD7Pn!wYToto>E_{HYPYZKfk{!BHQ0NR!inOzkuhYcnzv|nUE^2k-I?l+ufUu4VuED zqR+LnAQZjiw^`wrGB}G)1E%DkhU{XXbISiCRyz6gWB_cSkTe{)-vXcpIXyyL zhcaY@gx$lbm56ZUf^P8sjd{dH{pB9@#{$%FZHmJaAZQo zDB&unF*=u(=GQe#@d2pElZgdJ6h-ha;Cyk(LCx%!l;Q_7gThV49}8uDeZ|g1S0L4S zUw{ibuBub_2|ycw*|THMdq{DXnksK86ztdP4J`wa5y^Oj;F~%F)?IUBN{E2-pjJtws!{8<*!fJr34-OC2{wC{mdq(prxkHHZSCt&c?9)6D^)4>Q62#EDRQo^?(h% z;QswHI~&o^(7=Bwipy1`TB5A39(;D@^t2WXfEXa>LrPnF_RE+#t@xakSuKC*^7Xx+ zypqy{CAe_w>+7It4FhBYn1Y|$`H3PW5bKYirl!WxNq<=a*k?k_Q2ul2{1-qi2M7!B z@{F7?XD4LNbTK;K-NJj53DEJ>QIU8`AF!wB=S9TUITdDS8UU78*ZLxx999upT3a1g ze?HS~^N5e3$izg5dAFq^4 zQv`Cg7*RGib@_Ox%%xrHThetX@-`m^!4_KWz zt?!NXv?6K+b_-}+6-~`humpwavIPXvFF5v-;Y4bgmDN2B6VtjYryfRk@I0B(W1q^W z_=n%T`Y^)DdC5y|bk3VO3Sek(&%_OH)+w>X%Yq5F3p|6AHk3HI{j_WI;L!j*f0a%- znlXbcDGpwcDLY}*#)$cdI*5^6Gsdv(==#?10h+}h1UAD6=rub%>ja_D9DIDT&dN_u z`KTEn?(@HWLjd%N%a7t>F)%aMp0X20%GViM{}c29^N23^pTH8hx9a6u#wtULskqLbI#sD|5X$L#4jHUyRy8uLe+SL zr}cgG)i$gwjCW6H{Mr$IgpqzY+4)d$cCJ`8dOl0ZGiN7@lPK{v^Wk%wmnR|I$xik8 zm6I{IVzk2g<}mMErwnwxl*IaTT!qlBfUzlfdgG2$dJX<2ce6y+7dY{g`m`0k++X`; zh?pLoshEll&SZAn?ucGbw9Dh=*jT@R`HU!roP<%=lFQY+=OiOm)iSv$j>U0_llXzs zeiH#?s0iK4NVqC{rh{p9G7h7-(t2pT`G;KH>yf$U3{fqrXfOy>R0k^zu(jT|7=_>Hl0%Tw?`)l?uQJqAKHbrowl0@Z^g! zA~RnyRb_3$hon}NQk8kmgkTV`=H}&5ZQmLkI5A}Sq{_iDr*hIlHph*UhcAt6A|%C@EZq=eY;UgAT^x=tVQ0BS-TUC_V$l4+cDnEt>d`Sg4qR~X>y@7$ zdAE2^mJg#>?vmMmjOgyD4_5XYC1swQ=0S~E=P?`CxY`~a;3)1N=B^Uou)o>7XGtvt<0=mPrv#YB2 zZ)75<9n(_=uj!3B9<}IvZaoO}v(EDORqZu9hmk=6BIuy%>ma*!Y&Dw*4VQw875$=2 z2)GYv*B1m%gQLqnM+QP3>n=E2IcmALR;WxwDEJ`}C{o`A?S6Q@o^P=lz?H6!i8N_> zS*8FXy6q4}Bs}g1LAvKPkJmFYq4Yfr^&%&I`h$*wW>cq>uAzxXSM3sZSOh;j=#a=dM#?H@J_X;-DDbQ+y?oDop!y-g&d$XX91?PRd~SF$Oxvw z7-4pJe0Xf4Kse0~)qI=)s2=^{bpoU@{Ai!K#3^xkdmp* zbzNMJt;@9*Yq#YZ7Ayr=yBAWY&!d^e)*sI$*o~v%VoKZWL(S&j5;Y634jxZQD6rCJ zllg7eIw$T{2X`QEf%1WgRGjBw z&eRV5!6vC}8y#`pxNm~-*xc~md<8M2#a(HDLbwHKr2lwJKoyCTrBR=erj8e*OB65H z>_@GPm+F*a2)hdnhf6TewCOiwPoZe8kaW`Phhr|vp<4TquJ~sj$fWsiBVQRQyrpfQL{u_bL_HX!IM#B$vx#zXAp(Ztolb+C&es zba`ZeF-A+{z3yefjo3nE>3=li=Q8N7b(t@qPPWkg<`L;K&zL+k&${}kS|4_{_-aUl z6vYy|AQG07mL{g9MF2ML{hpi*2@HhCeE!_X%ZnK3E%NSTdv{7Et)4<%_1lTTYSt%9 z;t#N|QBxDSSy$xPxpNU!+g;J^F=JMTwvQxXb%;!PaQHt) zjJ6W5?YN>9MxUiOm=o^KHriAC_Cx^qq28XFcFG3x5g*uV3I<`Y`zxH00*uKZ^|EXI zR9Q_;aySGWMNjJnz1l^JwjBkdh4RaKfJ&qZ&2%mZ)4!ji*_!=J{ z&p%vLSO`|pZS@|UdI$l$o7mtbCh`kZq%9lzcv-L>$oSWv9hVk<-%ml^0k=oK6qmbF z{7_55-P2K`)`YRx%t{{PAC8&Lq_1lUIlLp|BU7q5(U1_pD#)+Zt_g0FU?14&s)kux zn#}Ea-842;tYAL{hsb(}1Vg~vLBV*rOmnJhcFxbuo9$p^!dQEk(wETv(WFKJncd)@ z<4@jGxvXbCVqHp|EJOnMC;}RGB&WD9P@*-icL~3@l1Kg9IDddUNN-tOaR?A(vRlfW zeCLc3YN|%JiE!Cg#&V`d2VbV!l08tUmlU~el)P(}o+_I~qXio;+x%Ik(2*m&-iXY} zf%0i@+~B;Afp>dY0@A13Ks3YE<|9j^oOSfDQF@>DLnvEmS&-<%bxw`BzaLn_%Our1 zfSE0o#FK7ZBh_ERK1|C#oQU$8PSEa8^s)ooLf!{a50=DprC&x5mGdDsb2y~WDch;W z8mZoS(r+N{YZWY+x2zZb;H@byO^EO|^I|;@oJ5P1jJLa7`ZYh05WlC-w$W0!&%1?j znf1n=lM#b!7CG$=jCjbyf?;^En!rkHuxON?{IZP8DNvp+|C=*%(B}v!ov+h`d_%;t z8(@gQbOD-Y@Wke#{T$>0M1l}`EZq)R4#VemKnOV4luMsPS{j9VR;~G^7_?eYPao3k zsk_zB(^1{bRUhJMgaM(TO&>ug_kXy04{$E~w|`tqNLGl5e9TH#luBfeC@Ue!ra~g3 ztc(znO^S@jEy+sC-l8OxjLftolw`&K_3r+Df6xDUj^lI4-5oxz>wTT$HO`azoUr2R zrU^~&)g$xQ9-4}>uMMmXYSs{_+w!LpqA-4DquWQyzQyK!WJ&gq+Lb-i#7vtOqE^4O zw5q&l)Rk&~jg4}Dd6sEnl$)kXx^{$8vh4WaR<2}~Fs1$ClE>>Hh#?+YcyO@D`Od?K zOy0|{f|}1^5AEQ>+p?*smANR-$;*S`2fjbH)_ehm?5d|i&l#N&o2PlN_a@rk{KjZ( z%z2Z+$1FMFo@i^V zDA7T)8&P)T8q$Gr#M2ANRZlL%(xHx7tW`3PkJ-vyceAe*Jm{uW*;I;r>@| zMpuh%4v5c5FL50HIX}aBN~HB0_w=5KLd+B*ovgNmD^#@`MW8;0{dQQvBjLEW9BI|)}AmdZ#q+|KPbSw?}w+{ zO!02_7~IRv(2M5KKF`U?+0AaR^O`|8Ag|K^`Ri@L zskDa^TMy=|ta|Rf`{2PytVS&bZ@`|US$R7=dzOBo)^D!BP21D^=+hL3R4l;u_J>vHdFOf+p}j0PNFx=3!1Tv z>F>HeY#(h*-fchC@76JPvi&e6`sI(8j(a|hag;NKMxIN=YGwv?{ihHou|`(DUn(wR z`M~LlOVM$-!B8{pigy`~cyjWUzKLu~{)Yq1r*+sjQ2Ebx#%T%SHF4tJn=^1hZ?XT! zDDO*!Qu>{~XEsv3>%*>Vo_qmzsrTZezKIfr&AV*ufKE+&e!jf*J+E+^=BeuqT6Y7m z5BB_Sw7-jX4Gd5pVucc4Vq5N=UFDAimH|E}?udW2Sj@84nKQTb;t7YsKOR_Xju*BT zUVP<5+WgsBj|=YZ!#~E_9$)&k0}GNRK!2jQ!Bu@e9|>YrDIJy7Aw4~2%myLriwtV@ zVp~hBoF>cFwlUQ>?txg}`p?3z(`9KmOu!D1cbl4<(TiV&yq%trF|({}^JK+O2CP<; z*u7iXk3U}PQ)orghHA(&VMMT%NVsO>6R!QyAiu0{!i{C9IrjeGp^pG%*?wu3InBs% zbrrd=(3YhhxX6GCkjg6f#BVGO!TS39CdJf%BHU(W20y&-Y1&TfWp=;Y-kwq8F-+5M{uH$92C^$t7MNQ%GyypGpWy{;0Kqie^ySVCbkSQQC0tTb=JgTa*bG4WtFguK)hwdhN{_ z@Wd1PX+&_a3jAFEz-!7L{Lk}wv6?1H1wUfq>w#|Y?WcwBi8>HOwhH-nJO{5~=4YK% z;h`PzSY6BvRQg?&&jD;#*wCgBw>R_-jN|JdeM3Ub@!ehI~|~m9~n5h`EZ0sfve# zL+J8byluPUyR596=z`Ju07*0aAoJupe87^c3(u79SK~IyHB`E*U%2)qy_Q&`{_gjC zPWUZ)s~#(!cUtX+nFgWAxdqXNdq{Jxf= z&$DIkouN|+>G~3pD{jDil94u8X$R|e_HZboAr#9!lw&NK?W9;}Opknz#E*U_mp!rA z2@TY*=}VQU_>OQDZ>|*8TV5q~T@83simC{!k_3m!HYWeU$uu`dmch+i+ct~8(5fot zP@o>2t^f2hy`UhfNjv6o>(5UeP^UphbIBaL{(vb=eezrW^qN=ylIsP8wuCYz6mu%Wd>gPh_`QzZpr&>!D7dkXG*c2nu~0yhh8kRveGB_X#D>~ zev$wRsUTnDy8qnbzRPOGq0N3%qwn1mW$h`R(0f+7q%k$_-!q50q+i}fpZ#NAh0T~m z;Q7TN7ulC@->R)MJ8|L!QHB{ChemSk9l^@6$<9}=Vmh}inuR?R3%bi1|6IVtL{8f< zp*AV}xg8q*jM(RPnVMZEG0Y3{V2=ZMx^X@635Xo4kC~0fyTYhdggdmQPnnqP6Rx$Z zXgQPNRcKtHaXg~dm{U|GNM>R2!v`BJy>PS8hi6Jn6U;)-pK$B>7!=e|U;X|KO}vBU z8mh@B<6=uc5~~{s4*!nhPfuT8I9YTJoHi#g+&^W_<5r7_xsG|E4P&n5k2El}8(@}(K#Xo& ze8(r{9r2(m^)9Q!x`gxRa8;PQ;?+$E^Ikc0BMz`>INc}3jFb*93Lqt@RwWDK%P)itlp!?JJ99y>r4^FCY zV`^#nT{k)ndjQI8tF`f=k1yb-!rZJ=V`^p=0XrsOvlg48l5WdFpHtcz9>YpS-tr3K zN`*bWd)3v{?rl3MwC9CQhF(~<%D9PAPJi@6)LD;w%X24o*&YSM%i@O-p4nWeVFCt>Lg}j?Iw}^-64s z^u#L8#JT&&#b7?6^Z)k#X`&b-b>L&zow?JG$1tTW;j>blP4GQKc>MO?mi3(4mg>83 zddDpEn)e=`)zR5VN}UrY!ht)fZno;jA>O}#|G#_1_nvDy>bGFvJzJc1^0k|>=8Y^j zC=Aavhq8MKN(upFgc?#Tap$lU+70ZU&wE1$SZaFu{0@n6kEg(v@FT%Jckw8gvXZnY z!1A0qIKI^ejftCzrRE>*YDQ#(awZ?PLSy}Ftgml|6` zSwQG@c6Wy$+(Q5dm(mD`KJt4^dm;c!+J@n0_c&&s=bA3$&NIqKd1BsPT|ps~THYG~ zVH!^&5pp)2P+m*E(=;X!T01z1G&vu7_Em*+d!BLwR!aw)==iz#-e{NICZQ{DV-~y5 zQNe$1o=Ke-J9iL^m0_eMlHwg%o}d;zE6o87A!u8mCHY%oAt75mzbON@@~}^@CT&pt zT;u$zipxH$kN7b~@l^VY-#-~_6>O7x)XAI>MCAAH?d_eyi0Ha8S4B#+Mg7%{4$jWm z2DY|i`e|Q_EG}GN6+UvShUgo)<-IwODIrUJTp;V`as9*Q(-D`O>8+>}{+E=7#Nu*+*Ho4)W}J0t{tS@qOHFNMmwkndS%j z`Znaf*)M#Z=kfN1*d3|9@`W?dl6tvL^vZB6_}+RegLSP}P<+5>je(ml-@OYR7#O%K z|GbaA)HD(S(+YF;-QMoI{bHY00r+%6xZgW!up?ey!Pdv;Ad$4<34pTH?u4!Ah9r_& zj5QmY$Aws|by({+A1#s1GZv+eYF0*GK~m`+Uzd1bZ}pb6ju2F+<^_-{`X9;3jO}y? zGB3y(#JntQ$zdOj0lLUWH9fBu{>bCv#V!x_v<`KUp(r^!U%vDwOUKjGR}nn%-aV?2 zdXul!HRu%D820=VP-{#DBN4J>bGmW}xjvcs`5UhsqAD%@n`PvGp%t02)66~jB-C#@$t-4ZIB0jQzo7q7d*d1++<(7MgNnTU%!SC zDP>(h(EQgPfXq=<#Y5}?Q?=`nV~VWSzZ5UMC#pH}>E}G!-9TLtmG!S^BEgM2 zVFnS(z<%e8?T-ZJxAg4cLT3h%F*-Ay0F4K?P4lS{6}0ZIPHYR-&s`hUoSCM=l;9on zq4GnlK(|nuer}wQtZkTq^DYQhacXpGG=h$6W-MzrnzY8z#|W50@sMxS^&#G7Xic&( zEyuAPZ20av=E;t!pi+blnBQLL`=A_z-BX9@pILmk`mt_x#LAlx*GJXK$(-nQUwu$R zzoc3A%TrF0c6(;5;UiREzq(H~qaL#k^3I5TBcR28(?P-$ltQZa4^8js@KX)gLlzEK z`-g8U=xS#^Jh^3wdwG`<&2cuPsuQ^mntBJy1qutM2FB{@UTGV9^?@;6S7dk(aALY( zN)zZ14GiO^0t_4w5Rg@O?*3#PagX6Sbb-pDBWrI?+1FY? zeYaEomBX;iNRD7yLxI+;;?l#;WfSxTVu@`_C-x!XT0p-+L^+g++16Igg?*BeSMVp4 z9rY6)9X(M>>4%VsF+1S4*5Sj2s41S@dL7*PQ`^uUh_;kc@QJ>@zVlcHg)e}PU%8+g zAG;c|P}-BLY-(!y&}Y%Z@!i8!xB-j5C+!0saJmfo{I>l4{r$Vj%X`rt-S)UFpT--z zcF&f)H(U6B^rCV{so1sF{$D15)aHe2p-4v+F6%w#5>ZeK(DH*l%GB@}8l8gf(a606 zHG8Y)b>wDVDw7ZlsZZL&py!9z<{tmKol2Tl@5qmR5a_!c{4$xvZ@?!?p@IM$T^|!Y z^=ZFnxSyC`Cc&=_f2eXR32St+-e9Xuc1Ha)CTWUqO}PZY}~}%1bq{Z zympkY%fn2CFdqpiJ4Z))v=pLAr2S5~p?=|w~_^C!bV5ci7taJo;g=UAqQdorhA~7+s-a%UI zi2W6Um!rc%&IEi#!~BbW@0=h$Ai`19^3UR_e0Qn9#1MpxhX3Do@MK!M;S}=5Hg2z zb5emSVk>VQCVkx7<%C6vWfcYelfTK{^tn;ql~96Opsx$;`eOFA%QU*;)4|EVlrRc> z01d1i3M+Ep6D3hm5}$mp{UnyItFozK-XhuPjg`M^w#{ypy)+|2{Nmm~&6NdM()T<+ z`P5^$a?(ebIRpe4 zv70#1HUOJ{IV+zWCB_B!w3@p5m-9_cP2`L#;D}4^->>y2b8TiP4HzPfI01kXmynQw zXPf{tJ9h^5INDK^=$oWaMGf_ryP=j;y?prq@F{YiAp0T!KyEH=+I+kH%U7=g78Wjj zjq=7Q&4h*5oV2~8Dx zmI3)l$mLe0rn_0J1^Wbw-P-<|H^5(h^`oN>#Gkl$uM0SJ1X!-9P_6*nLB^Dq4y--& zX|&PQR;nk%Y%_YKAE1?t~>4<4w&b%A_( z{MHJA*%G!0eST(PqbSRb3$=d0b9Cdb+rc=!<3yqnMM5|o?pBC;FbC?RDa4~*tl%!1WISD|^sK;OS_eUU^ z6O{yM0lBzu@n`9Oi4oo>q-iF_>=!whAaLlq3I%i6sGNnAsyrsPoa6~paj>%a@x?{f zs-g6iVoXVcaPyIb3R(HE^VzKtt->MomK|QJU(rfspGXudw8+Rh_~EH({*fK+9MutF zkrEuqu^K@#oAln!*?wWE$=+nC^V|H>;co%87NX*)I`s?<*CO!{@rI0yB?e#PZS~#q zC|04Q2Uf&F-6092V0hT_KX?WnUJfph&)bBUapzF2L@aIEb%TAEoMMA;h61P!$%6-V*1bhgMU%<$9Y#N(3_u{z zJ_)cfveK+I)Yi#2A|MM?4%d!l-88Nny*s?{Yy9<#Wo$0Z$jMn>bKfEr5gS#O;f}_w z7yA`sUwwa9xCRt8(hKm_Mr@9%YFI&u)bl}0#m(FMme4cu_5stgeJ@7)(Bp^-6HNsE zG7z>Y4S}%cQAH8f7tBG&^4>`2GHSlsvg@9vicFY-b#D2|Ae*o>QG*}5xRKe?-<&a^ zYZa;+|J77-wq^G%ZB`Ep3;##wL;W2yJ{VD=L$5uJu{VLx;jiyVQ7n;^gOq50e19Tx zv4IhMFeUifL%TK1#{}h7U46o;qvzP}>Ti!w8|7ZHqWDp~7~w@b`C{1R^P<*LOvG62 z%*=%d*|Qbf&dx|-=77&|=Z&?FS^Z)dE@o|w#`Zn8qS24rg1V+A7%_+8`E*WBP6PwZ zHOK)bMaL5rf`{Hz9NiKCXbl0D9SnGiWA+pt;FnY$8Ps z4!%BLtM>oG5C5Ve;s9TsKIPghZl2}i1)J6Ll)af4In=ZbbsS++=0Bz7Ov~Ul01bM5 zPBBKL`|aD00*d@;9nC~LgH6*T25Aed*u@x_c*>U(z`EeZdFyAPxrmzE?fR7uc&0J`lh!o>rh zhnLeh%N3(!ZMD9es2(4cvBR9_j{pzUw{PNV$EVEh=F#aIlrf5?iEZoBI@ZH~isHRs z45}r(joZT2hu57x3Q7u>3=2)IB+;n=OAugby>&MF>yyw%s|2QmLIHYudfnkHq<{+- zF9tS`>J6WzJbYx|!6P>}6!`d4>gB1CaB(Tc?h{n$x}oSD438i0FxkuyA}K8$)RrjT z)lghnS@{?%#k4sgtiRJep6lf8;6Srk%*_AInMU#}`zTwrk2IRM76C~RVZEk0Ke=-q z&<-GMv8{2sahsD$pQ?mQ-uN<9OIrFZrD0(z6jnC2&ROS~h9FLzQiKLw!KOEfg=dA*rx%+41P+hVJ5nhGwb$khvi$WhloX_A3vo-j6$+!0hIoNp8k z!LucDE@>&J>v@-%KFbxZwXZ1JHo@}4F)||JrTjCLFVm1tuSGmT8h`D3x%=eBUH>@k z>O26|gbN1WkfqC>ixXwjKhsvYQJA5cc~|Zx3}Pe<2ePP8ZzoNz;mtjdZevbkEM4{W z$jD*ft{gl(*QfQOJ<59=)zFW@Hy7!C&e>TF?fEY!790>Z>1*shTX}f0ZM$B+)Qz}T zVz?u+M}gUAmzbCuxFJwXce=i~UYaV8UE0 z-r?y+d8fHNCkHAoly`h0<<(1Qc~et)pc!TkVdQNR_nqE=t4LL>RN(IJPC!nyq+sGm z!DD2;o272;2~PSZ{a8^2%@U5YOVaZ4N7{r|7y5-aTH%N8KQGIT1BAdC;r^>p}NCCSv**7mT^&Ht4`IU-b1 z^MTxXz@gZEXq!I}csxIud3hTqCMKlAG)_lzQf+8~$ofBDmCQ^ROs)v=!{DIHUii#} zsWPB^3xQR8FaJ!-q1~A5*_(g3Du&8V`N5`heG{{B(G_lO>13>W4!)Z*AR(23iutzB@%i<25IdjH}<$}zf zJ=tspc+(={;zv^+I-NOl?OG*d3L{8k#BtryLPPMI&Q3kBrc_keTg5!3arM%kVTLV1k}gh zLKgu0I<(|q!GUC>90M2b=C)ghp|`(ZyU~L`nuf4VSfaj4ylReeH6#S9#%>BOAIICL z0^Euh`X{Mn9q7eZ4+5!y-iT;Pbei`6EA=oP1Wj!$ns9%Ky~eQ!VVW8?qcVNVu-N&;zbiu4-n2! zHxI-O`b~toBl2lczDHnF_4f8Q?~X6Y!#zU342l~F1kx5;!i`oNfS)s7!cKw||M(Y^ z>^?pT;oGG6FA8W)C5V)Bne4%)WA$6I1Kqe8g%~fK)!K_hu*tr19iNqrfTAnPNN8zG z|FE;O2ege@d3tgH*$y$vYfL?Oneb$!AtAl`O5HBPSp-2`P;B4v_Z+(nQ4ydO#Rysk zhRd_xYS+t8twPUfIq=6WT0=#Zb%c|XGksL1#W)h;YxD#W%O0q$2tCIpE?hT??awtp zDEZF_V~!x8#Zcx;`S{J>=*|PF? zvWK5eiD@3~oHZ9<0XnV-4h1h+?yKG7szAfTqJ>?jxp{$B(eqwRb)K6$;FIL!S|zwSCxk ziQUkii!T}HEOwCIvL$@eQ3;NQmoJ%!`+4jc+d>bj_U==DTcPMPyl@=#C(H?`V#tLi zVoT8c=u`_@s#s22t2Ud8T^O({ZVY7=4k&5Nu$E}806B{=SLYP-=W3&~lo1_{D&COn z`H{5*&B26Slt+9V^h%kX7C;&2hSn>DPI`Yj@b2;X(F{5XsUP8owj~)b_Dp!d+miZd zpC8b4!3aJQH>S(Qh5McNlA1|5gkc!b4~%~h2)l9E4Jpwy_%(?_L7dHaYT^9i<9O%f)EbC4_yVzn^9WI)*<(k9#|aA;9!QY;|iwVy}OP;5?eAc zxB5Kx;*2gYPOhhlKq7pZuKYK3=AHUOH~8oKMLu*gXaP|mj$l8ND$;y7{}a`16OW%f zc@o#>RcXGZ>xlPBl?xMd)1w4{BJkPB+ZNBX&sBOQG$~qlZ@OU~AJN%t8I(W?1o??I zo)-jtw+7orD@gz~m}{W5=!c7m(5a4Wi$t2V%fGgTs;n;(%;ncKIW$#J+Q1V=#2472 zH#!``t7c%(mC-`+d*h&B&*nd*O@tfFQXI(b9VvJq4rzkQak}Y!d(Qd+}fG zI}2U0&?bA^Dhhn`J2U!De(@g6iu{EC&I691LkZi&+HQ%71e z*0+DY@a2^t3VH-Rj2Iv@ay>spt3QOz$9q1y+Wf15-TzCTZAs9`fhyQfRgT+_CLPr> zilDi#$E&X;B(NhgBn$G|itZ@W8gZgJ9ed6`=7#Xi&p};Qg-JsFLTi{aRFx6mprFy& zuMwo8QB<$eET~zjSyu}>&7ss3cmkYOLab*ajxN_z??U6L7!&yf(LLV?1?Iy0FBdRy z{FPT?+b_SK1CvwPFO*mON}ZfqO?fL-9DrvHj9Xhp09sm{2p)^Sn!NGD)~!Df;Di$mId8NA%PY z>nqYe?d#aLU;Wj-n5d|MpVuctXcG9lC5!m%YCc#X?hCNc()QR36&goiRR?xwvRrZf z@H5Fh;s*LP?G}GPYp$d97(0&SE5XsSKeJO~Z2@8cp(HVM0U9%;V*C{Xagb476F1GYJ+U;FuJCFfXl(OE7#@xElEmT|1%G*9; zy~L{qAei;pwyT@;Rj9X}$Tymqoke3CLSv$?&sc9)oY}xo-)fARC(&c7bUz_&Vd6Y1 zDmiZ4eNnH88W=g?d~3jvbDtDe!Z7lViVEiyL4s=A!GpKsoI*A%%UzxoC6D*-K|kKe z$ViQ&N1HLsY-*~W@lkytWZNDgloWM#KW|8pRF7{DAPAH@+ zEDsvJoxv04bkPE?!ZgF(4TnY9m2(Ya+>%VL-=cKyWTgWj71}t$>?i+h4h4JW>H*4{ zL2B{lEuVOIW<@e-9`o0Zi-{~){n9U4gP{TFCL7`E0OKjjn5uYMi<9zZwCrU*`r zBS)?x-64XZP_ZcPk+}HXOm1naJ}W{zUaNW0x_=6yPReIw;x(xKnJp{kKc;vt&wnBy zqeCYJ>!MfhG`jDvpUWNZBP=M0$;YQd{oBu!s;#5!m5~_+(?zl|%VROq5*o-H5I|76 z0Qn{y8rY}M8gSGUVd3@V<>lb$TH4x_fmMSk5a+y5fG7;{lH89Le#F4$yn?E0Bv)kq zDBnI>|3=G1N64UkfBx{oJXTf_Fvh#I~Ajk!3eOlyW+)Mf^->;@!2mS3EzT_vxq@BKyn1YF*1f*a;&svQ4JRflO{E% zcTQAGQYE&js;N<9z3D@n))>A%A9-HftI*G-<>j1+g6gWO>$Y%lX&#I>+@b2>v4^?R z&fcCMm(;|>1YK75g@{bP6OpA8`YN;I*MB|jhRBo3sdZ5D`6r(SO<5sW?mK4#1g5%&S>CK<6m9QCdItduF)X#-%VL zC^r0p3x(j=(Gi>3*oF@b&NHCw$2KEi9I^u;hm+URAMdck(u3J=Ccrz$_#1qIC&&)e z=Aja@`cpU4(xM_F=zHzmV-5x9$8~w z`ueqDzek@Fi2!(DJ#+$X2qok`Zd3s}+u__f-bVf$1aZ1xDAxb|BSNO#zkQm%6Vr-- zi3{8wBH}UF8)KvTd6xPWwZT@#@&~!SPBl`5E5Df4+y7K;U`~URf8y z>*5%o2J-w~{t3CL$=hEtSW1uMY_#L4Q@qUKC?;#6K(>*JJ~aC;`VGNht#esDaxGqP zG0{_~4+Rt?yUc1Z)AIAvQU@Z$Nh)(ETc}WF@vIJI;I^V3qBq~$>js$?L&)ylQwM@w zpVM#dcNZK7W7z)C>*{d8LHGS9+ow8)S1aaGGpb3a^ zr%+ z1TcIbRCgqf17HwEhK4Hhv zr#h%=&a&Mz&yRRB>_UG+jPrW*qjU%9n|f!<@GlcLHgEmD`^kIfIq#~xo4ni5eGCK9TT$} z)}}QE1*`JjTtiX^7Be$5bEmj?6EVzx`J#C7;$DP4FULJ8ndWT(bpbkdIsmD8$c<{^Mi5XxeSm?Y9A5uyWF1Rh237!(S2FK&fl zO8y;aGB9Q~dzJqtDl7vdJ;1N8Z>apy^jZPSBZF137IqhkS28}jg_C`ksWfIQ1}iD9 z<%^a`FOR`2Ry#j;7Ptrc(!`TPNtx;F_?ZQYhBz!fFvkCEQR5OOW4J}q2KxU zjo-u5o>~3eCdXxP+uM^Q`9D5tDVntq6Ev}1om!yQvR~H1T~dwOV5%>Y;hOA3$~e;f2XaX~DpqkZN? zY}*)_VF!sY7-YL} zTdxm|8Zqs{M?mp<4_XqDPU9IYk|s%eoVK{Sxe*=~V?JOv#Qi}6f&4QA5@U2|P?90) zsUJJ`=EgD?+zx1nT3cH+w6yBtwj10?N($X>ki88HAjn^8YLQ!8piVgeAB^ZHa0evcwY{TPDu&3PxYc!SnTO= z!LvJZWj#*~X6Se|1|-$`Xz-6OCVdh2o8N#;iD4qxFdPVA9a-6Od1<~|lqssgL3#w# z-5gfio*$}N1r>%`>Bd51(V%)u&_>7~xC0igF@j_b7xrMNO~{ILU)2z}#^+V>yVW368k<$_wGVqUZ1~y zRXTil0|ad6r$HhWgy|JAWdll2QRiGb3Y}D)( zK@$-Un3>Wg%|TC$rO~JLMKZ&b(zlImy^4aIjI0PX&&$gz#0bzONcYu%^O%XL`}+FE zeRh9)-vlzf(K$`$BljN0OT8ua^W67~)!~>qy_r#ANdhR%y&z>I z1zC~%#l#qZkbo@4iiW@=Ie~o>*S{VZ|GfxC_3GBl`iMx|rdG8h0F!6>Gj&BqF%m`* zYA;lkQXp*@i9ijKP2#rQ5=mVRZVUv& z|4#I}R_Wd22ufEl3?FNd`41f6!jIR`(W%T32(Vt|lr=>% zB&U+(eNoY@+mQg6|1BJzg<90bad?e`#{jONne+<#vjT7=_dgC-Dp#YdJ6XTcj6*K@ z`Nt%_tA*73Xj{#VL^5*2MtSZnPf#$xUiIVMnCr%;jOAtwVJa*#k}E0E<9Hk(nj%edNR;=k zgDc3uW6w~ZCmp=J$F3ta64Jk?RMg*tF?n9KPR!hUT9t5Kkb*sYcq3>#9M-4YF25Wv zsJ@OJsY88(%X{P(K4&I%ghfROuNe|wXYk+~tSYcM0~|&iN4W{+_#q~wQc5h8T>Y;| zU;(NC@C4|lD3X%!;xb^w`AY|BQs%A>-?>X1^cP*Qlx)SYzP=HnDMrMDHUP@-&hgRV zYwgHC%#FcHe1OIdKQjiFRDSXJj(C;VtR@OlW`8u%vnE{?(RY?Z0W#I$x4a3XF9zW+ zLQq}<;9OT^?Uh6RUOzut_7su%1(5t#+I)5dFe$%0XH5`X00DR>O{9y)^J@0fb1!b7 zrSHxH0q^H%`@*t0a#{KHZFtn5WhXJoUd1F|0pl(ElE-aCSSbegXK51K+)bkEEgod;;!808s`W8?@#%nm-&w&Q zyQ2iVDG^(pzyG>~$)>~5&$^bk?At`M_T~Hc8#6mSRhwH-2M)W`jJdY%YtwKAt&BA& z1c_y(1H*)mnEY5{SKNAQesQd z^peuytI6_QTO#cY2fI;+k51q471rK2#L%!j=~ zMIE>mO<1-UNqANC*h%s}`&0dvz2rdI@h?oEvwH`!(cI_PF<_n%wKmvAwoGm-vD?}H1+`|4Z=j<+UD(mYVdhrp9zOi^!r z%0KDEd3tqmdpj&j!p{#*jM;oYUfkc+wcGK;HVGFejLT32GmIMCODw!G00palu7Fbz zZ1tq=Z?#EeD>yRqWG~&AT9aKdv)4H0odC@xrBblc71(UNN4W+Mp^x~8yOut#usyT> z)XKtf;2KDNn~3QM7%whlA@;%FKlzlsY|wY{*spURTx7G%F|e9vwZv44E8;jMyBAVE zW&=svRoPC}_wG5U==T5#CHmvbzrQy^gb;?Rl!!UJA0Vya2Rc{(@jx{Y>B$=xwkokr z(60RK6CR-d~oP3}BMD zJnMMhtegcMQ^U8O;^uFUMPdWd4;`L$vTryK{1xhIA(mKp_C_#!yHeNM+`k#uqWO$NvAq`0*v%weG%3%II!y*Urk$eziOuN2`e( zc{=U>g9lB~{20T$R>S0j!t$ts+UxEcO6BG*<^4$$$;20QG_C1NSB{>6LEt9gBSTPp zApZgbQ8Y4Qw`)(j0!ZTSOS+ajZ8JLGzmG&dXCfCqLp2=bNdVE%5z4cu zxVU+7%K6fLqjB5aI+Vrn#;?K{6{UIVBs8ngDX@pDE-b<-jX_{&-0xM@!43c^#Edn8 zod#0B{AAjPLDT5pA(+uCpk0JPm;GT=2Ii?B9IR^D=bTXuUd4rv9&$fwRpMGoP-%P z3v=I!JK!}d1R5Z>vh*`+6DbPRzI6Sc6fZ`IU?LL7^&SB>Ay~wO41udnx%3=&rmh>6 zT^mD%^?-dzU=DU^g80p7$cLa3Lp0V-OK z+$5{3ByWaZLLW z=j>H5o~aM=g4K#oL186EX`9_2*n3D7GaX7Yy4 zniL4dJsIYEjjv1gOZ`kDFiUL8a6?}7ZyhwVDsN#N4wVIr2~d|Yx>WLE&o`0eUY9lc z1U9F_SZGw=@GQe+ji%8^lqy$EA*r(Y=qRB&oALXT3=@ip-{oBUi_Kfb9aG!)ni6#{FSZ+PW9U_&WcIS^#mBayd z<*qs8U?Iyb^y3@u^YZd?k}W3mY&|yk0NEQP>c5;Sa`@k&A4uaj;^NjKR>FOS-_2BA z;fkezf%W_A>r@UOPAUf-iAI0B!tdExkS`f9%z^gVlX8|;^ud3%02`0w#4hndwQCt# zlhkMxO(iX~b{8vMBkNYi<~LeF1s7ge6{7#fXh@`S3+XM00Xhw3xbPsF(Qi;zp3+Cu z80B%aWG9F-BfC=#1s;JD)bR9*LjJ}dE z;GRF9@5L|^jlr8_R(M5)x7mY(ah*gMiwXdGcVfbL`TBLxzbMXMcgt*9btE3czX<&C z2V}HgQv7->0NX}g zDipDO673|GEeB#@?Uu5B*9~w}sl28;AR2&rz}3}N z!R+scVCpH7}h0gph@$%lYY3VJ~)hmnDo>+m5l6@-joc9_Mo_!a((##8@ zyy`I^ClEnD>bIq~Cl~_e6RIrq)SbApK&*)y6xtr-|K%$RQ1TF<3^o*VbDkeRe@gl+ zT);RCqOwD(RMXSze7HD1F`;U2FAVH}2H4%dW>v_wNzM29^XE{yB{tkrEiEOuxU;pB z15np%CrhpS7cEdSHQiETIuW`^k^1EYwKxzYd_<-I_Kic{p&9s#XKpIR%?Sp^fvSgi zm&x??f`Vosykv_g)ginuNYkLU(}Vruu6`JxCVfePV5uV)JUn9LFG1|D4$m8k7yK(C zGic`Z<3{8IOOu%~mJ){mNxDPm0T8130+NUs0~m%Q>^0pbypU}y+>j!QNFetGmT)c_~9tq@Vh`0$90jV6QMUGf&2sIjr%2GJhb2Z9&0@r~d z+2hC>klk3V=y7(j#aowh1d^Gkb;suyUOG^vKWc^)Tu`vDI1|0N4&uOb7 zF${Ua_a|S;Tv-L`4fW(Is;sOmrt-7kEzphXH1n$x?w}PcUc(djaUz5R4NU-C&ri26 z64@n@xD(!H4Wk@zNST3<{kfdZ_mAF}-_VXHRmP^D=smr?2>SoO|3D|%SSG7i(4S$mw^E zv&R_Y&|zUW0U7i{tk*>C4=*?XKPu||c^HO8E@PD34;m~0iB3y{gUQqB6xxsf{QUAS zI6x``&w_M|dcNJ0xGQ)#;pK~|xRmR)YdFMYT+)F&!=)jxBo$-)qY0D>z9EB22TcJ2 zw!=_AjRp1D2zMGWeh=G#v1AudJD%;a?y}r^MJ8%i^=k*PzaFp~e1x%wyzO2%+7H-g zLGOU~i_{Jc1?7Hp+nAmk#AA@PhN-LuUlgF2eB(aaYnDUe?BV40y*rlWGJA=c)7f|5 z{MWl#_uDUS2_LT8W*w}=P$mZQp872cgJ(Kxcl%#sesEJ;2&_g@kR7oEP}2WsC$a3F z`r|5k;t{>VTrDH-aGXDdXb6Mg^jPAl4E)Ae5B9Yb z!?s&wIHuLCtVV9w!V-mL4(oZy`4IsOhDr_IR}k3vn34T2BtwZRGR+6Zh`F{{DuSwk zV)e*4!m#04f11>)XA#CSe0-~1%e_NAWtK0Xf^li3T;5p!~tnW2j~ymfqHx- zgvvxvNbp|NTZy{@CGpUCFHJXlVnf~(G}`>~@;vaR)}ik>fkx0qLty*7AC_y~FZvaR!GYLDt)Tkftq_Obl9slxMZiEXu3g&GHC49-1& zT_EM&2~7!_ZD{dOVP$>aGI#O4f&uTYXe{fC>mCn=*9*iI8gk&qz<#zbBG6{Q{~jt0 z?1SOUmoKQORH#waKoUTxEGV;4eZW!sdl5$4_2?iUJP;!$8>2iKyO)ok7)3kzyQlq! z#@o)tA+8ieWQvM4$7#-OF*|9^u}%gCIIta@6!DKg=LMJ|=lxj!ZjHhFQ()w3Il7n2(1$InaUmmKPiiNLvsNe~z{H(2wVA_1*;^*3<^u!X09S;gUB1JRd1;_!bzd%96 zRB3kh)wqpguKTi&rZHgi2_6Id9`JO4aU||tLR=!Q0izDR6%ie;13LRv!da_dj9)*0 zJ_NKF&p%N%6!cAapfgK)rNt1UT&I(~&%mCYW^Jh4-XgiyrR&Ms+4p{9jE2fktH!D1 z!M(r>LD8e`M5sp!N$SHu9Uz7XCx8yWtSG8>#c3q{`07yGuM8vMF2VKoXGEzB5{*vE$}m>qrrg+1RJz>HV^6nJQe_~&_&|A;S}Kv z&e(6g-q!ja7Mqz%e{9!HMYo~0mg70cy1XM%U4Vs|Q$qk>0S7J$8}*YXw?be4SL_aM zIxFH9Xh1;RsP{JYOg@)OY(c^bfkZx8@B{p2lzLeT+9FfNdZiQtUb2}*?B zqLy%t6IX9^e7ww#MX*#vheuF#csZ_Op$!3G(tKt)@#|MwE_PC_`E7-f+0FT71J?i$ zWjuZirJRT1^(d)wi=s0;mp=1Rt+1Q!j_D>e6&nB7%83aHq!olDsrq{}`{vE+FMg3* zLxif}+5Zykcovc*t*O6PulV+3WS6z8TpU*{uoKJR0`OXDnddc@yMVP2GC=C8LAvgZ z#S$R#MYnF>CQkvHELdi;a&nq0(DppnE9yoi$Svo|M8S#$wh?kyzV40|k9Gjhu#|HXB+}ho zh8WmMjaB3ClFD4c&c>FGtFZsJ^DX(>U%_-Iw(pe!?nUI{zQ6KL5d|mddVOIbCXcCc zmG?e!nY{mupW-dvKN?2Yb#YifStz;>$sCM8NCjh;{qb!~Oxw?bxrQ#M!u(wO{tXCL z(HgArIWF53cd`}hi^OrQ%3fm2`(}#+2Z?qQ1+fRU9RKd!o4`33m%9pXC!)&EalWx@ zs5Jqkc+PaHPXh}XxjeYYlj=DV#`nh&*{Q+ab@pbqu38N&{8JEu5=TE$JbC0&y*_dh z(iZ}^@{hmEdK^hqGxz)Bj+)^R+^os=skQu3a#9&r-TV}4a#pVFm0n&h>|;Eb=*-|< zAEnNLX(5Z9y!8Cs)So?rT8~;pJW#Hp+V;47yz!iA)5wz#8-l*xT|NnHsn@T{$G-yt<>- zvWGue{n-)zPuQIsQ((J#NnOdt;<%X^H}XC0;>T%E0V+96=v(IpB36nD_y==275|pU z{Z-WAMr?HJ05qx#*kF>Wp(oTG0xuUPQn*e@gpSYWEHzvsPG7-T)EB!4~z z9*<$Lz|F%=zJqfht)Z2b)$7SQmvLviiYvaJi-Dn|uUt3UTD{zB#5S^50!mx0if5tE zDBY5EMd0fBGK@f^1H$_DhdaEH(sftmKJ2fEyJ!Ue&g|l*rKJT7g_jQQB31ho+=$K_Kf&){_f zb%(Kb$Y!Yh@Hula5LXrlxtQ_P`r$)Ik9IulT16t~^L_k<+1h5*A^g0E zVF;+n$;l+j0pyHaw}G7)>p=?>nFbm50c;9A9bvo?B7`5JJKJHJWJAP>bB*G@k~>yM z&CSh;co9Yhn(JUv%3z*|=hxgE4Nqs}4dAVpN)&>^5S9>5eG5om=DO0BgTPiteda(7 zxQwVWibkOc4toL)lTl5Gv(;Y$D+{g?;a%hAQ!2P{=(na}J5TaW%%sA#@b#4k8k1?m zibFw+I)o2`7yzB@FkH9mQ9Do_qC{^4bBaO%)j04GoDj%A^;o`XD0(sMUKE;BFoPueuvDWISE3y1H5iD}Wj8wrj6}F6Z+KOR$s@*kS?>n|=KJflD3G zEaC+Ufxai??_j@!q=3V$Mp9prDivCXR-a=4Cz&fgj*X?`O5#mrPYxd8y!PI?nb0=? z2Z)Oj@?a(Gh5jF0MQ;8>?EhmET(-wa3Zid>*R&Z1`Bt$1RU)n9D72=CR2>gLx;Byj zSQf*>C1F9*?953((ZcGF(RLOR7&kL?H_^Nf5Lg6ZP*EKMaUcy2EEc9%jWR9&`YfgB zq^m3^mc$4q3$_0ks=AC$@9&_NL>p0)ik|&;T6@l&qT7l7uZnId}Ii-_D&I5FYp^?gGasc@Zx4 z59z_kbOv-maYhY5F5|yHD17mjEn7_A9L5v)@@2b z)9u*zXrmw8gXe#I(8LcIu3G$F|F?j-lOF8?@y}An$`Yge(v&i40z#>hBnOe(zKrhQ zGc()7_ik8yow3b6xX@zD`n&VopSxrYhooC+gRd0tQslnBaU}1_HhG2G00q{Nh5wJH z?*PZ@fB$b#kqTMK$_mLQWR&bp5|W*eN;HrWLiS3Om6ec0WK?96m6ZzFBuPfH{a@$v z{r|43uIn?a=Q-!R&wamUz`}W&HX&+4LF&Ebwf-Yeep|$N)x0r(OS84LPqN?CAtuHj zUVfigN!r$@6QvDUt0x<3_7vV==TYrk1N>0~?8;-A7Z*UL~t5fs5 zbM2fDsk_9pteq?Njx-rAPj$xG!o$6@LPcyZFk~h8J%7)jpyfiDbwN_nWVWt5drI=+ z**h0^{2<=H1YFO{C^s?bFDx1pcIYuvOQVH#@DsY9Jm&*iX;~!iB%G1#p;7!xDiNNt zFwzm&Yc<-J@UmHM5av>ux!Qxe&2BtRmyXEqYt$J%l~P|{#OqkQ*G?+h*%ROQ#7oMy zA`-nm#_F%1DYeB4^!i5Xg7XK0gOgIiK6>G3B=qROx`}BFIRQs?k`)~s_;4{)Dd`WI zaH7co?~J}a4QXW@7Eo))-TZWE*J9Wm96pt+v|ca{2X)fyqX;5z(J`*<9Ew4{>AqHoCd!N8k9X#pnC;$y}Wwy znB7LBR;|-tj^bOB%I}Zgvm{JppGzu8^P&S+-1vW-^}!7^mQ@gyP`&-S^W`dCZXSBA zo#WG@$9MLA9;N^C+BaqrVKkh9v>=C*ve09;k^BLbY8TolRD`bT5GdKFJCV&e>SWz_V^P(8^w%V%^$wdkpe91o#wJ^@tYQ6 zh~E~V0j7r%J935wvKlbyqCxAv06}STQUjbK7)~1z{KdQxf+mnuCdJ?{LIHq=$iN_E zA+mRu;29tVQov6avbg4kz5WK!aq6bQSY3pf5$<|W(}WTsHI5MMAx+}BN5D#*i)Hzz z2S+d4jGXplq_(?!WihaNIpgaC`6P$x?@KIVi6;X?Lqq4}_|-{9xz3V0)m5Le7!&D< z>ee!wa#6YP#6=XGUZba-O%=0K71*{HuK<7oh>yT6gMUW_C7!cAB_avP7s+>p+ z<5GzJueI%@;>#X>8Fu~}Xr}sGEK5Qz4ybyVO5N*ermw(Na*@e9JVE0#z0;?Dvq zg7AtMmEYujBydsMGCviTipJKaszQU~o7T$QzZ+Fa;sW$P{F)nnUvBu$Ifv|q!*K-* z!tzgW0spB)AT#Q{RN3N&f-4`wQ3=l^&LPD@l*-Bd+?dZNQokVoIO?-Z;JX-ZFdwUa zRTPLLboKxmaaDl=z-9_YcH1s54Sjum)yEH}65t^N2XbDosry#&SG0gMaH>9zA{D-rg@NS5^j~UYUCdgL zeZdoc>+6+aBBBA$;wY*=V4SPNJmpCo=^QLNmLiY;3~p@LbnCsCt=8k#F1!2z`s|7ve1=P+F#^1 z)Y6vi$+AQ?7{Z?XkY@o18BzjEOoYU6d-9IJ@_NGCf#^qpJZpMoACFzkGl1K*RrO0irLK zcxrKL|63ex6>VJ}6m4}Kt{WUxfsDzOwUZJPeK@PU_U~RoA%T<>#Bu;=iC%jH4o8@( z6|!e*;^8Q~w3pCIV(2Cu6$J72vnMy3@_~o|`moap&sJN~86cHVfUA`y+3!8aLqou{ zu+l?z4rVC=k`{cfu;;%|AcYM7Jzjml?g)LBqeP6S&{w^vg)33PXSomH#)sAoQ54+0 zzhE(gB<8vM8|(#mbKmJ)EO|EG^Myhnzv8{UD1POJwO7|vF#;gZidr1NGm$hTFV6~m z#fA?KoQ3k7D^zckwGF;V&!zU(d@*g_0Pc2@Pp;B>l91VLnfps<7$UzaPaMO?gur0G8w+k^n8Zfe1dm#Ud7wS-<=Vf~siw!| z*QRvl%(woEpdX^TkVgEGrk-`V$$od*B!>IjyB8NNbuJv>>%05M_%+qm?A8WJ<=wfu zIk}=ESn+{kDaV%WD)GL3>sC~G|L{k1&9BEeIIOGxjVJJbTAlo&_*s5y^13+|#TqPO zE zF$G&k$Ob?}74}gMrvQO(67VhI%D^o8XXd*1VZ1h3Ypv#JD+%h0@MQd2o8JrajAVb- z;TssWqgmf={DDYJuI&b=2NYm5u=7ky|69v29tG(T= z3N9xOw<^oO+hpUkIx^9Etg2c`14o3;(4!025Y<&5&86|m{jWnyiae|7?;cX#B+x2E zg6JE^uLRQFF1JQOVAxBueS}NC%J$Cb50^Q#j-D#F9Wqt#EsT1}OzE3#!~cVZzfp0~ z^vRwtrj|F2YlQl$?WW06Gw%*1ItUkZSXreOH}6i7CwXjeA0Iy5aoCE0JKfyeKt&Pm zEo@K)4m~-?So&{4T)2+!fsm5IPk~yYKqBgdkOU~FR}o+4c=AQbb7w;=gh=wDBeK<) zY^HqUpVZcOD@t^V@!O3#a&o<53(uPDHlp0WQ}zwMk0UqZYwV`>4=Y^WLoZ!Z`l+sp z)Owrt9eI2qge|^e-4I+nu>kEPi14AR-K@2c+u|j4v+l$dXePv1&V!YQ&xt?>z-k0+ ztS#Yh&-^I<@?rc{vA>f>d((k>%(gaB@C3Af!86^ECu7B za`lu7ZZ%?4Vv=$uxvb5qa?z9HU4_r~d6Ud-jHHKo$&T2KTXG(K_4M4Us25hJk6WKU zvf0a-I{rN2vD{^b&)!;eDhwAN36*c%VxD;u@acQAf77m_e-x%?wzHk)tqDEU6=g1T z5TCto6}LT{QKVPrSR^u4mpS&AhKg+HgXsiqhi7eal-Ei8ZosC_~>{GTc35cOtOE{!(gd zi}K~`l<(j8Os6XdoVFaMXyM_nM$DKG< z92e{VQcgnpI39-eJ&S>0JtHN!s8-jfc;d|-pj2lkM$}#|Re1Y|_ab5A1Q6_pGm*H^ z7*)0leR_H{Rvnxvr~+uh)k;YcT2Tf^z&3>R=HWvcpvUau;;|GJOnLX}qp0@>&cQ!q z2>?#==FqmEjE7-9drG}GO5h;J8K%ISYBHUd*fZ1=RcRVdA7tHKth;S{;I4C;Bpy|i z?)`G{GG;fW-`f?u-4rkD7@1G4o4EgVYF9#QebFz+7QtgRV9CItMi8#^6pwi_;BthG z&SU0^c}+0wu~*0}KqUG;k{yKJ027xJ_HN<{g9a$YYn9hQJEiukXjaEHrajk#MqMJG zj~r2J@-<{pbl$P+<2>2UN~)X(^Y2VGXIZb?_E&gsaT_u3tR$O}-FeB~diKM0-;QeK zIB}Agx(Ev%3YG}J#21=lIw?V4Uxzq>_#Qz@^+CcAh|PvDAZLRD;(FzVL>_C|_R?>wQG{Cu91a#25V8LSE#Mfq!WS5*a0K0lY2c2) z+G#xEKQjJXG)w2{oPy{MA2vxxIx%&*o8%JF50Ctyv2>Qz(t91rcIf$G%a^%xMd4%5 zGUfN^*T0e8{f(P=`WN>%%bF%2|?lqXkzRw zzDjlhI70*gk=aII+OSpOtqZ(Rjpu2VMX4o;#KXgWs;7?~e8|ju-6})7#f5#G8!iNr z9k~WM&nbthIt^`C9BjyGJ}TP$IrY>?;j_^+d+z~yk^>g1s=T6gCMWt=kCBP(+vS(> zvIY9e*?&kyh_Ys8if_Ho{%z(q<`(wzz;U4hfm~rscBc<9e~?|W`R7@;aDRN7uJU8>`-I$h z>)%wCq{kn&HgWOo+q$i&I&Ii9f=E>3_C#^hvR~x(HDuVG#Irxgb^HAyecNiwxz&!* zxzvW4GjF@X4BsBkyG?JxWL8xE&hE{ZVKNf7p#|Z)wnxbcnzEhJXSSkZTS_Ok`rB%=bXqR4gT!vd<{KD)@X0%M28!ZcxHVDlX>e zX9qkm-z^xS^r0u#3gaxoNC=6jq{~mvpFa-|t)4%m!W$f@&3|9O>|TZ|iE z{~dNpH+1Xgj?n)}rToJdG1}#mPqU29%9ZsW3#1l*S39QX()(tV0=ss`^zBV=4!mZ* zO*xDHqBgzErq4a+BoqI2-yOKSeJ(XW8h+DvEkW!^g5NkLxOF5~S)Hq@!Q)E_tr9POc}Uiqq%p2A^4%^kb9y_Fu`eX5 z5=227f(eNXAcW(fn+Pe}i1%{OQ_p0#YObwS1g^t=FU*u)iu;J6?3U`YMj^(4s0S8@ zq;@Z0o6~7r8%cPK3<@}A;pQdmvd}*fD%S-}@y=e#>~tYfiHVx`YYI4PrIYqEhD{W1 zJo$BdEmHarc6Z;O@wd$51!O%HC%>hAX>QG5{O2S_Qs6i4 zU(@QZFnoV6gYCyZn#_*))?`@PBTubio@Ph-Du_1FE{YI8Ly`&)NP$I_uNv2YjU;lS zHWzx^t$TkDM53x7?s=_D-VQElu4i1TQG8UsvTAb8Jwr1G(hAyxx@0{iyT69yYf2>k z{OzyGQ+tBdG-NWxn*|IR1c|%<Q8(mzzR=|%2m?gGMLR~qxB#iphWApNjAqV!+rN}= z|MLFDUi-Z3NuIqTi9x^ksd`n-o2FK2mTC3la(9$xTU+0YK3h)$QhB1t=M98i3pw?*Uxyz#n7TJ&OUQ42cr~-l~ z%!LzpE)LWBcz$M)ek=PhB_(Ak8E_5DOr<9@)%9uIlM)YkNmAKRi8v`4&i z^YSvw%b$REF&7s8%U>u-51Zctb_0#g#{{0F%hT!bKFFw1*BPAKD9H z0*cnhV$Yim`yG%2Mpg)G&hK{%+L)P$IPD81*NEQ^a59Cl^%0LgY|aSv;NmxWbq_%o z!uFjR!fR}h{4c{{lUZPmU6F{y(a(;TzUA=bOJC?A(fZbgC{<2^bgUBWeL4IkD8^vI z$jH?0lAhlFy}{1$wxUsMq(`%V?hBCmJUQX=)=%f;>X)zMV>eSma(H9h)|;{jKHpnu z*}rC3D8+kI3Uq)qeiG(Bm?i40EFq;ey)$sj)O+JENSkEQ{24pgDcrE?xNZFHg`DmV z%w+xETN~@GgX{aiB$PiLOj4ptS5i??dD2KYIEm1onVAh!FLzmpV&WW^@L-FejY2r+ zC(^n=@no!2p_@tyT38U`r<}cn>^nK_!x1mmiaAI?I>LZ%bZ=a99p;hj+}s#fSL8V( zej*O>1j7e>z6lXy>)>0^qRWtBMP~Qt!|g!aALj` zOGH;+U&0&wY8vgY8}GP4#+#&#m$g@=w{F`bO>T5O#Hexxv`j`f*&sxr#r8GL0qCRA z(U5$L>XxFh&76|549g?}&WG~$O|RHB)2${7gffbEIUm;)pN_W`*S{pHXD_U4^-0h1 zlUM4M3j(CR9SqDBY%>+xvP|W||GL@Tbd&nM|I?T0>ciwQSBeXN)gLzc`}gh2#ED9` z4i`d24WpqxAuQK>v*Sx$})t;l^~`na^7??prQk zQFP>1IA<%?1n{0efr|sXpbugT{vcdf1k);u_xcSMx3Q>&LchXB_K>{+FP>hZJ1>CW zVg+=Nj+y%u7ou@mv5^vqPi0tt+SP1s@j#`z02C{lfcG#U;TMyu`1gJm*X^W0%7Lb| zAnc_DaJv%jS^OEYv{@#*v$?;WyxWAH(hV|&sEo*G&2gMBZm-4kT{GVi$J)Qq@b;oe`GE7UHj<@^ zJ)0Jqt4v6~RnucRcvQ=(bBvE$JFziCErvLx;7GQw3q61F7VYi>EDsw^Ar}A^LOh50 zIE;wIi_2WbxcNp2{}k~p;eS{k7~Eh6<#*kL-5M7atB3vtX=t;vbi|!=vV%U~KH2f( z!{002&hz|yGRRPNWG&q&tp@|U)@+cwkwLq z)sO6*kIhNvwV12TGdk31Ay?xB%LYfIx~3w##zVVCgDJ@mNKQOdC%wewubC(o6cqCe z`P{t4+1)k?t}<oIW66Y2jS-kEk7WifETr>9!HUcJ@(t)J zSHN5oRG2YvgGjPNXo?18z_L zHhf35pCP3mu^Rek&(_+=n!DWBP`M%BL;KE{z`~T=}qa zksaiwc)X2^JUhLECrHs3kR)c_X2?NHN5fA7!TlY7@G!zpfg>X3DFu!p=^1gH*Cbj{M+?o@^d5LGCj}yC;JUQo|UArd+HaD+kvmQ9w=f)E) z(>tX#w0O*E)ke~D@!xM7_k%(hcKM*j=aYc zt*Mo9)y{4Rixb8wH6eRwFZ2t>&Yiy~ZpVadcF4v5JLXMHpbf}`!4P5rd#a|g$i%^* z$#TSf0{soD)#xu_TPUaW-vNURaxHJHFVA@mR`Y77$TVelWlg!1b+(Dyi_;wXJ2u@t zcEw=K{+yAx13x3JZ87<4NGt|+J)2l!1vf_^Dq~RF4cR>z;wOe)zWvQ;@O1-NJFj`~Fc-3) z47tJ1ptgF-qYBRnQ{egU^4zsITst=|?{F)lBQ6~8@vP^inm>Nsv87#o!{gB zMwm*Q@@?%QDq5g@v?qJ)Q2YeOZ-fEW-l|NN0Mm*_YDO2n(AywN-8PqyD(LBr=x3{aq%MK-+K|9_AU(thejBR zrsSeCl4Oe_6mxf_YX_JRKJ4hQ`r z#By=8RrYk|9#Cooy^ucl@Lc4|x0xj|_Cd`wKS<}*UU16Gr{JcwKj|VbC@82=5no43 z3K0x)?m=FI1bsUo$rN7X2~Mba9D!bH4Ru%2D0!$4{W=_w5r%KG0Nu*1wwl~AMH#_6 zg6dF4Tx`+>xjt~7KBdh|0{ckp^C*K_IrDExC)r;CNlMm6PTi+DaseG`{B*!`)b5v9 zQ$_aJiABeEx$dbAZah}Vtmw74oBF!4g?{BH25%ae(-T4EDN^ z5m_3kB-m{%;c|2wD5phs*Nq#($aKbQbOFhiD}_fj-X~IpDRUjEH_)r^zN+^i$-M>9 z3ak9Dzb10e^Qn%ioHg()m>9!Jj&a-tZad!kFJHf^soXuBbhSxg;pKO;>N8)W4d2t{ z8g>cJ=hWutTXa4Dbc~k4KwZ;;)+CcDM&18(=BZo*iz)Am>ADtOIURgsKOT}BkW1A& zvd@wFKVaQaT21BKAz7hHqa&#xMAvXId?=)LPrX&C0@aQVhAKM>6`oLe>Kdx>kxj=4opHu&MRza`Q^FdbG z%);m^j|47ti1)riAp&j$fw`Uo^>x&G%s*xE0yA=S+CQnvAZXd`B6WWGQ(@zXGi0I} z`T0836>u5avonksX=pUF&7FrUcRZNfr^moDwA=a&a1=FmE~N5wO5YMdLPdDH8fUwV^!N7{&2(FX03h4?27+wu4wY500+hF_UWQllz>6OP;3aG|!2jJfc%P-B)6kDo$%yR_1w2u``8q(NlCy9q61O zFUqw^_SYUH>*k{sM|Ovu+I*#Xg~!U%3PJqdmNmOJH)pq!tsBC@ zY4M@ukX6{aK6J11Mz&QpzHaC_3$OM`K-1j>_1A-jQGK~Bu+`AP!-7t6D1oj$`@!|S zZ)L?_%9=d5-1Hxo(>2lo+jDw{B+q9@98rBU@8&-qi`V4#Lhi9XI$}7fkrLR22M}$= z&`VIenL)W|mVf8VG#vTBA%RBXHbbm15ge71V})}cx249%10N^$T#8bnGpEZS*G`U5 z{iR#>_{{0CgX0qu`g(e&fi}h~S)I7n-?+6RzZHm2bfZh_#N1en4mRUpy*26SpFfS> z-abw+gz#b!+5-=mgJiR$H2;UjAf>Gp$?Ua6ktL#%@RmMGq-5`<R3N%t35n##yuKKng6K7O%~>7lEPHX>vpKD~q&6H%>+uT8!9imyu!+*!~TyvFPQ z^sVdk)PTdFV?SM;pWTP-5Btp!1M~Aa_xz1?V9QdymVS&1cmPI9`Kwa5e=&5}(Ija% z;M;x-K`h`L(4Hy4V=j+27@HPAgzo|C1`*o~rMlCPPq@J$+vXn%IDBmgqT`m&Vqy2N zA6?0RUr&6fKvu5@>X{$EiB4Lyhk|NJ!1{Y1%Upzx{Ki8f0OYUxXPT3)|EC2AY+?;U0xDBpi{Goj|R@i~xF*yT1Jye_^RE5D|O!d@v@2aWDGQ zm21}ozye(&?y_Xr1W0{>!^l1>u;)qbg^)#chZqt@soiLsU4z{&3wu!}vMQ7ozkC@E ze;s@V(5Pr1w5j~GF_WqI*^K$S*#MGuz(ez+ONo#(6WJn~PsFCE2M6LngM2 z#b3}q0s}ZwE6)P=f!;Oq(#MCq_Oq?zZ)|S}G%f|w+ivbx+giYdYlOP@BO&C{&Kk|% z{FzS}v&yEPB>?3f!^{Kpqx1WBZ7}dKfo65_jw?zt?dRRiM?)S~?xmV-pf0YU5P!}o zh3Nb0o$eYT%hs^8w3LXG3gK5Ki)ucPTu0o!VGR*Ce*Lk0@}!-TJTP;?(Ve-DTeePG zoXcHY%0yfuj4`3eFw-%&<6rMPuR}xRN`I8nnpQvQGN=fJa>N%hlXo57)5Wr<>(HLA z;knU22mU14bvtmMHx#*APw`AUp&sj@FtDm=Va=w{;PZ9N3KH~ea%w^6rYQjae6v?!ZSk!w8IpCsv)X zO>OphuU&^7-E8b+8#_MMDZ@|VA;%6t9|Axv;KX;=o#`Eoa5l7}5(>&)m-?BLz{Vg0 z-be6zXrGo@`eF??|7sd{@#)S2_;R^+M1uwhS}uC~HsSZn{fXgn{nzLP;trQI1oobg zk$S3pTqXaU#V0=9+z)9wjj5j)C)4?Cq@$-@wk>LS@Y1+)X*6B^yViQlC?lm@9LV3wZlFfnjCXv~X0N_uig< zI`FH_2Pm1^y4KAkMnR3xInE8wl%Zj zv!jG45*uDtZn_gDU}E1k$+Lx$g}5IfekCMEf8hEG=gl@|V+>O#DaXO%_u%H+x4$Hr zWlIMH`mY@jDA}EL<%c58_FOf81%Vo?hv|kNh3sP3H5kwBcr6gFkbG*FQP|F22l0=T zcj^2ngfE{=`18R|b=cpi_EqI+`6&5QGIDHmacsPdM}`);RkwA-Q|Rbw^RQ3T5BfTZ z`7|Fs%BVrX`+^Jc`manvjas-{Y!A|f(1wV|t^3+s_{e#bZiZhxN+r@uJ>>+6WqHFW zA-*HJfiMNe;$%|we~2n$tm;Cyei{J3!V`xw?Igevg>WqqnLm&Cjh)+?xbWD4qr!=f z&xp)iqy-)+el37*yNd6eQPF*2UE|F9ulAnGd}!T$U{OoLx^Pg~?jVEs4TF!0CWlpN zC#bD1-s2n*XS%OC;N-M+ur^?pyVLBBd(6gphc&gU))kS7P6h!r$6{7_^X0WApM01) zR5A187UK&#d>qK(1CAe!SohsN{0wh26s2WU*u79RX7yS=0??5dYVDOupy$Mp2Ds{@ zFX>(wONdX11rb9axHsZNk9_39MMaY_V0E>muPglT%{wE`(oSzLy2_aKv#_$vT14M7 z$XHV1^QTCES$WZp`bWdtmsZHc?!+QDcE`Sxn+>+E*80+p?Oqgcun06&-ktwD@d9gzUzjpA)gy)cmHfG5Ss*U`YHU4Ly^yx%~R{WxrO* zau<$*jG+d*NWMbysnH*i`Imp~u6FjNGWJf;HcLsboLyWURkR{g7?#`|`l0Icf{w!^ zY}b3Uz#a!J>d8Y|MpxbZc9{8^ir$iuV`CyM0X947W}07UJk@0j>)OVrq~D^#=F%@d)iv|J z<4uoEir11$L+7*iJ|s~OC%Efx-7}K;si|)+s@3+6M3$A-|Mq4|2NSQxvAb4hdeO*Jp1sw-pVdx|_ zE-crCKH6WQ>U_mK?dD>ZeAvnY6v)^K^_^sjBidvpZZ1;qS^ncL<0{kS^=(wE&70%$ z;hSrg!a0%6r?VcV_cTUdeJg+TRFQoipO3bz1*L7c44t)Ao_uMn$e}D0En-80(9M^Xrs(?`-$_h0sYTzJq-y6L*N|*h?U$)0I`ntMoWY=iv=+qbd z4NhK{2|A9>FOb5~%!0q%o7zh797@Ji@Ri`T5OQbFh~RdA({SV5)9D6J&+~TVM&JKr z8@t0_Ge9fWV^6H}p=X=Bb;J3OM<(-8T$j4HV9kBZfDHC1(ii=cI(#@{UQ6ABu^m|NLxivF6Hv4<)OLN zz`v(66pqAMN^s|QS?RLH9cZDCd86e#a$R)4hoP-`%A$G3uUrwZpsZx+b6Mn}bxS_m z*Diefmoa;J)!yHmf{iJ5cyE&$=Z7f`vy}LlU1!L43`-Um?I^i^)4I?s3o3C7;iEHb zd4_>Kk6^H?eiU=EF}%IMt+iElR=8^VF9Cg{K;`&xEEC%>uwxiYi8-XbspNB4*BR(L@%b#kF%rt8=2ewau}!Lw9%VBxJw~c-*JTxOJs>6b zA)ci|%v74jSnHR6? za`lJza_> zI}V3_ah~sV{FS=egC&-~?B^vS@tZK)5R*7KX`(p^Cl%O3wUIoC<~Ha9S~x?R;T^Z8 zEL+sQ-<5vk3-h%~fZQ6YF?E*$5h&g@rFoEq`pS{|Cw!ehoy$0fd%Am-*>!0BWvyhR zKRHYk7|eY>7G<&A98f@M8?ltw;zH^(YbV6${L3J^+(lM}a{J||x^XnE364wt1=suW z;?&en^;MhIx;IGzCj|1(^N}->yBCv(=?AH$EAYly_dM5av@z;dN31CKrTNF7c*cJC zS6<+bTOSZPWF(&c@5WA};vA~>J#{0?92{#Ze(2HgVs+qTY3P%W3Oh<&s?S~4W^tcn zqaaf?)Q;WfsL0Udl1keBG+~)4$_^^8qj}0oyL=kb_GWDo=mhW9FOIyiX`841-;HcP}$zcdS!00!6bU_ zeIrj}$`M|gV`l=)G8J)5L^lgB{c|yl-SJp6!0d=h3^h}UL-dN_4%=IWTQovBvCs9r z4*01Dxj(FIw;S=LrTxK z-7vi)Uil?kaua44wVUb>Uj6**j+jDEiDrp7YiL-H zt+5Uy9KmI`_gyzOH*ZJgaW(eUfadWLVv9v&_Yj&zR=H@;`(l;i_4B@&YDnh=Z4C)+l+jMgcXeK5Rd#?QTKKZkA=Y%1ous_uH za(`eAlE}xzrIG+lG;Oi3-@iBJO*OeU>RI51hIh&mK7cU$Q+FwwnYUSlOnTq&J1s*h@QeZwq6`v_EA}yGy z`_aE%ckBAZDt2@Gv^&{bGr9^#!Q!HY#d~;u=MJBH1`&MoQFXT`=DMXFRl`Hr&zHY? zrAz(#I6wbGl52HWO!AhfzmJbc%+W+Kx0-y>PWPwuxu3DsiafDm6YLl@D1q;B0P%tt zvyPq~CEzvCiDQ$3l^20?|234HIB~~7p|IMvy#EhG?dF8-l=!dv`(+wax_WyF!wRqr zqt4IrUWuPYTQM40&Hg@;*m0+CQQA>@pF|#Gu1Szq=BYl`hEK<0?P%sRDzyb_o~g~| z$J_{8bUVwL963UB!*f=MofeL^|Fc?hCH7 zvfq(w#S+Q;itk%N^LX_4lO_)&@(?>S2g|)O)>1Z~a~%?J>+{8`7q;ga9)m_Pw}TAl<}Iat8n9wBhEbFIXPCsF&C*s|5FCDu zN(-3jA&o**Rc?SjMuPg|z$Vi9q6Od-$A8#*2H9=Pw26q-w`l?$6*|*y>-Z3CXshe05@PLpCB2^ z$<$iJ_^#a|Y;eTCy$p{D(v%(oQ(8b$;D0XXo6;)B>!nTfhNEiFw=0E;Bjr;g%DW%U zUP153Q_t)DlK{~{aMU2>>YzgfG_}b^uX|IHsfN7bO-V@?UO`{)M+!WMn%Yg(fc}qs z)q-L?4QI~mM4n!p>c@YODxtPF&k*2e;*DJTW@sxAip))aP**DF*L-WCQK` zS_nZYF4{PGQ2z%2S5AaV2Ca4nsNKrH;CCQUx`DTMULy$*fdxtcKtK;b_eOj+d@cg3 zfZqq*lrEbu71>X_xV(NS>VzXmTSB6<(}VHudHSW~??nqe>ZFEAbP0wrG;O-ag!#r8 z&Z!%aA2JM+ek_`&m-?uAH`Sk9T4#zwq!ksap-#JQgbPx0F-44$D?Q+%mONw0UO@6) zmF7BsI0us!`8kp^lIy40dFPO0qI~+=et%NZhvyCS&Gf1W3=l*qZlTPyw2|N<-g;kr zWk4_pO%<_9BFtAgt4r8>(*sK+Ur(ADPeMUOMKTW0UV?$g=v%SUdVT(jbp$Fq`uEOz z8rujbLlhcYd+`8^Oe1oaiD?E-vog~*e1~24%_dtD8oqEPN#smbixIge-Z}84|_3DqQ*LVIlWTz!TlR;<&=IAXcf`J@=Zq&Ed48wG${*E*4<#{IyAU}T>IM&cV2JS7b zZ^O~_w5??nCLOKiK<&Z_2bE& zYZs}`A|~r;`uni&zpo|k-@QNUU|_QnDhpEr%<>d+^{sjwKJn7p#Rl87hA4!aMZM@Q zS&B)^T79WFkQ2JNx_LS!U;n8d#l?2_H_~30c{F_&S3QS!`uTkG^yb$FOLQnmZKG6_ zft}${MTJ4Gp7m>^SH^jGDK|DXrx{3c7p%nV3$?o-yBY$J*`pL|Z_HHZQ{Pq)RPTD*)a>trVF#3zu-sg%^ zr3_aTX1vL;wl_pkFR19MwzNDAIhU=5NP!Bc#qV#$A;5rC)1L40JIyDDiVl?Nh^aJZ zvRh#1Bj9nu9!Nl5#M47Nj{Fb6$N(9MU_2t-oaih=2iNJ-RnIFpsDu8%=ADQf4)5++ zHGei1+N)}k^~fiImH?eB#Rc7OxTuS*3wW-bkM>|=i5PX3&SCzQ4Y-#A71U)KdFq{6*vU0{?U!MSHIB4E@r zoj+Y6N+Flq?o`y^q3duchT^WPvlDe5A!1)?+B4besQVDL7)CSVNJ(lG$>}MM*UIBa zG!|!P2SJ>??zP3nJ`Um(NM8%+^=zm&)6%RA2BlcA3fcer{ckO^Lam5+t8H+5Rhs|2 z!yYAM7P0r9F3*F?trBvQb&|C{)SyZ8|9GjC4Xd?uAHSI9c*17S>VcaOZ|cf z<6`G*^0(_oSEZ;6LV6z2Jg1qdL#(i2ZswLM{G=rGgzRTU@pL+ z^xt<1mO|AhvwJD6Yl;}Hkvs@ih8D!mbaYrCR8U042K);k(YX}zRXL*#`FZb0*2QzT zZFiEoo4K~=-rqUbEkOh0%1R);^6oz?JMY(U(C^19lwvjNU_6C;(xUg3V#b^0HaAk$ zGpp^?m(Jlu9U^{bsI)`!Ii+Z^4)x@ZzpG-Mm8sMgP{Z6HBCCiH53~|w@1-+ zTEce^Eoc(H)TWnEKNDgrcz+22iO|>|IK@NrVfHYax#~<;^jg!V z;8l4cwtfj}Wl^(d)m9RrPbfMagtMd`kdQ?d4Gz-p|23($mKJFgns-l8k#|+2!^_el zl+G&8{k`1PHD{v9DR4it71+b*(pNYUIC!ao-ovDV0}=T+d4?{qy)VS(d-xN&K2#cw zMw?bbUNHMlgY*-&SHM~r3_d_pN`^^y!z=rGSi@+kX;Xnwk-c8&eoBgEGLl{23VTP7 zP#@akks-Hx&NcD(cbkr4W!d>J&Tr;U(%QyszPRnl$ynpqo%Q#yZ;SeeN1|+B9!d}1 z8$%3iQw(gNMh<-(Q6@pRQ`EP)rINK0og3KEOVP;QKK&S}foKQR7!f9{Lde0)`!oW# zUzB5l25E-`PAm+STS$(a1i=%xN8Uf|_yns}8~Zm2&c4fNdwqKMhO~RDmMBMzil;=n-B(1-u8)J4hJ1jZ_eI)OD4#25%8_;NAE zFcFGtiL2k(E-V8mA>JnMmPbP9|FU3-Qv4jtyY!6^8>loyZr8Gi{6O$cARIbx=eS

    Xz=;sUw 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 z

    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 z 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

    ojk+$&=i*aS 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

    nJ#RE*i)8)A0rkB;5zVSekgzK#m>Ew-6FGw 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
    C{nHXWTk1 z=4J6z^~J4v0F=dtu&`xEEF6FG2wT2$_NzTrG>q%`#@(TGG<+$JIusm1#J`PpqSmA> z^mEtx%+JYeGxlZ?FY>miE#8+WQMa*KPb@4_7!tU0;T)t^zDZ1EF8xAUVxJyv*RXD% z-paV9R@N6x_emA{Ugev=SGK%s%o#)J0^I4Eo3HaZbV}DrN?g7Ogk*fAaa|n9r5(G6 zAX29>fWvM?fBhhZfRGm0CS&G z#Dfxy{J4_c*6*K$xB}M;soLO}0|U3~WB2I)Rk#tRcN!}I(mpjcq5so+P?#OA3t;`4 zl|LI9^w20^Uy^_s``^R92s;==*Fs|Km7&e@?so(Nk^cVecyOV}+#{>< z$OZU|7XjO^0abJWBHKGm_5bz74lZE|+RR3hiq&(ViqQkW6RI@&oL!@VzpUE_SCK3| zggG|_2L1IgzIzvb07MVtPv?n6@84t#SAMtUJ4AhzhK@NB!`kLlni%#h_qh2>LL3Vd zlLzM$^9Fngn;P!qI;IVuXFRXKTO9%BG2$M{IE+<_#nmsTL&CDH2($d+ovLSSbe)_? zAsG;8zG6T-1`>Z~Z!i5>=a$x11W1H2CNN}Af!8x|)B$8^N=`^jOnmcWArSi%Qy7GY zpn%naZ<^#cW>M`v_m%LdL#9u!BZ^|us&q|R27m0ANbtz?py@%={aY-ow>F=8x-|sg zd?iO8p@b+!I739-^oYWHZwd|@hPj(thX1Uz$DMlj?sTQ|hm0i;?A$s1hM9)DwjwL@$wf%7K1P1M`Sx^xF67mD?f-dO#4w`k-xGf5InPk_N)j!<{Jvh?#&Xlm;0{p zYM1g1tB0XP#`RmcbGJL{D=}YLJ6Vxt+HmSQ;5a1{g|-Mim9qJG%(blg^oA^&!BsPi z$iquh8}_MsGaeL@{f$S-duioe>!Zlz(@I*z@vo#hom?)@U75wy?DH9by^0`sL0HkP z@}>MIg$YNMl+cUYm9JMSdxO4Tq5r5U{Iv0M_5yRHQI2uqd*2Zet%R;*lcnk`?x>y6 z4by{+O4qK}xbhV*j@`3`7N1RY7Lx>bv=&z5$UZ2FYekox>_yUM7p++*xi7iq7US1H zc$XyOQ|(1^9O=~2Z`07w0L{URc6|D4;Tm1V3gLqH^eJ+Uk0GMoBcRQUC&6sE+_Hu_ z_oX$I?BABgP-{A7X0q!}AY^#!P6zG{u!m_7sx?#5+)zAZ2#<)MC*r*k^6a z2*#vr+|Qk!a}}hPm6bhz+(O?28A2cclKn{RElv2ucUVL$UGW;HQrYNLQV2im`Y8hT@){B76J$;2MAR zfG44i*KLOlN#}+L(4F89EzQl|avyxOvQsvOb=X8dbl?5Zom>9K-~TKSjGds3T^rC3 zokZYIL@O+~_v?M}bhylvCfD_M=g>dJ@ly*5uB7bsd{~8G5+EM)j@^5A_DbpbxWB}Q zi%sy9pqEFH84F^7g^XG+@|~w8AgFH_qyIX$EjFxm{mliatinzesF(e|&duG+YV7t_ z;j~WEIsW_d@_uk>{XAmWL)S=j_#?fpD>hy@f7>fS5P{|JMn}mqZU#SNDqW> z2+0b9nJ{W+4aI9c_3{!MKpQv^QeOj@X9&EQUo=Vxp&nE%WM&T^x^(+8K$L$raY|5J zEp8nTI$kIuZ+R3uOGCM!^tj&Xb2`>>1L#FE=WJ2iZm2aBkM)!$L{#jBrGknOYr9oCD1k1#|Gl4d^V;}AIa=ce{45sSQKR_p|B!?c zF4p9^x;zgxJlG7&Iz5Lh_dfj|yjn|grHxfuq{CScVNgIEwl%P$pe20g;92*Q0*|t$ z{8;c+rThH*nysmYo_s1S{=GG9AK{GtWj6`bcl4DXMqfzAS;LxpOjbXb-qA-Lxg1PN zu$shlU~=H0sma<)!mp#a0PA-6sk57$*50+B6vDnqnM#P#eEsbt)t9)bB0-dNI6&Xo4SOiAA_qPimdfRsI zEMJlwFd{mgE4avm*~TZWT7Q>90r6t{N_l?B`c&&}z&zG{hZ-bCY1usg!je-CibD31xFm@heEO@ zFt!6>v>6bR8%dsWi+;dK`$j}WL``v-0v~0_Tl*YE5Vh1;hyWavo-XGEY_ zYE_nIsTDlrQ_v?>fuQ6Sh#k*>H|o!_eH}uA+YC3OF6^UM8Ub+&1=NcG2D&cNhn>F` zYsXCf+57T;4K6vjE!(El(j4zd0UZ}hz;QXqG0fi>oABZnwv^{qVAt>=mC{SOv||f^%KCZM)L+cSHOOGmW<`K2Or?V)~v;d4?9E^gGI4mG-M371mL-#la*I&E4Z^ zv#MQ^q5T{{ss&ubPFR(88YX$EfAT{4c&XPGlKtv3B(nR}t(4QP`f8lVK6Sb3 znwzsGcSs6ZEydx7wbD#h3=CQKOJ_}g{3Z;C!2~t0hDB@f$j{G_R>h;d+y+w7eU+TA zM`s!;4>w4U(8dBs?)tb#w%uk^^UA>w3d_#j$h-TB{8hV7!xC{wa1Z|#wZ+TQm*v3? z@y?hNEu?4oLXEYL?3!)GBRNA<(!FO_w4x%uM3t$Wxl~S4Dpci3ZBiE!&q0^@cp$As z++OaL70p?%N2O%nR+{!xmRn-fc3xM4?dEw`(7yn_cRUGMH)!meigjI~5YJUGJ+_tE-5JGzD? zrD@!+LW0^SN%q+vccRgDnxQ&a@4}Vd*gaSzOQ~TENvsNGQ9l!`NY-uYD7^5>W;7+Y z?fh`_&(FR~a3=;dE$BW)zC%BbQmjU|2yQ);)&KEZ?DNpEyFye_h>>tEwuKzgBTS$@h>I?AFUb-`DR%Q;>J+FwYIXu{5(&eGNX(_~+}eeq?C?5#&X2rLM{ zTZMPD6;XovhP7<HlXU$Jzu0OaRa7TzTLW6?d=H@;krRj%) z6CSLK_GJLafz0#|FbIFDmb=(XnBOq-OqF2lcR<}rEW|0{q1B%3*?$F9>{hYOl3>O3 zP`6ui0qZWIX(l1ciuWfpjU}=lw@~`}`eIL2*=&{^MV;mh*e|4yaYTNXwk+2LH6$WV zM@mef%fTfqCW2KipO(7EpV&|JAvdPv&m)6VE|4p~YlhuQ(i*nGl_s5H&om zun_sjnC1lDW8&{I;fAOX2(+Xt8EI!u-NTGSxo^6#d7^NnN*jrIZ?&$%G>Q21vFaN|Wy0OIqSG z6|=WaId{AD?$6d^QU>DA;_>LHn<>~b|Dfaf#h1u&n=ZGyM(-|h{fl|bi_^Dw-t5aPp-9DzyO(v#G{M6ZM zd6Mff&KbD%T*go?oJiu_%m_OcWMhCDq!&HEH~zv z6JwlwwkgGviKJ_{k}Zp>&P*JM2gBZ88_`%gx$g9no!=X2iPu||nXX)b9q#gn4-;)q zS?XUI&%)+=$`(9o#OZsKD-Dc@Q1S%a~n`wVDt4v?8ym$fa1(1)S zFT|D#p~N;l^i-9bBv~n}URrzW=yt)eV#sS)_6lz{n`8SoMfAMUF!SA&dRhl8p5^RD zl6LlqAahKT`Hi*of~XpYh~Aqchn`Ya_nfbd0mwQ#$v&xd8~xpDvz)pr(bdA)kepi3 zjS^$Ek>?`M?+t4M=TwE{C_b{{FJCUfkmbSx=|SGgWe@8#^GEK6bm32r4l=A3`<7kF z(#bxNCg!Kw+MRyPN9OdbrDUL>0psd7l*6M()rrp^gL3ESX&Z)@k=&-<=r=RBZ{Pgq z_!=yne?OGv(~O1T(pDu+{li-_xw&j4aOEDO#tp~R=2#d9l`DmJPwBWmB%}Urj5|V& zZy~tD>Skeo4wKP5*5P{&`bV$=1~QieH1#yb(L$S{+gFEk{E`f-zxE9=s(k!HQ2=#M zZst=}x>-8xAIpp1LK>Wp&27_s@|XPZsKg+%73kg>P9*obJQKBj9+!|gO=v%4+UX61 z#wW0MS1s1M1aOuYSa-6$XMOfoRJBT@*M7%pqFEg_CwB{lF{%#z#u|kdR3?_HIh_iZ zd{!Pu@advwQQ}LeUR1O_N%|jOseMC#v`DuFV=rgi?I4CC&s2@;rBwf(+Y9{L6Ex7y;ncP~DU z1bVp6NcK?ekXY;w>k2yU@IIL_yvle#&@Px<#G~}wabd3HdYKu^5B%Tu(-n@Z&esbq zjy4j$jXzDVi1{%p(>`D*R)LjuyJ;5fe{Qn{J+xMpnvt_2UeptbJdTs=M#mvDFgje5 z>Yu22C%7puhuXK~Mve3Iweoq;Iy8oVVP&|k&Kw>d{)}jIc5aSU;W<{vC#T1u1j^a0=KgY|bXvH53;lWs`nz6$sovK2HGX1mcROe=)!oH@+S5gmzrFxwGzAh&eyZc^IyKJ6uOcFu`(}Rq{*7Hi`TqTTtJ2YHw<+XK ze^&^V`gp%TI$R;b`P@Pg4O3#pS}H^RWeSR`43TukqQ>_dy?zpwpGu{Faz;#^fx%H^ z`vSch#Z@808kPL)b0@%Vcyv-yFoH4z$K0cPe}BL8=g+G_p9KE*?EfO_7dUR~LdV2L zI+af%(HRCHLYJe))y=)L?-YC$J4nA85bte?Y0geJM;KdJH00_xA{Yeh6A*+4v38P9 zmXdoe@S}U=Y7nlezOFA&lb!12iTt%eRAMIjYisN;Od=r>$qU#|SW?n$vdV75ywu7{ znm+`AOL~6WXfz5iVJV2ThqmnH417K4z;)S3-**3=J?c3KxU(M-+YA7!g%3G%XQ!1b|L}8t{S5GkB0w1 z-tW$KkBx-@yP*b{`oJX+15yMsJY%w&(3{Ya%JuT~t|q7*ebtCsTZqJHedt6(Dq&@4 z*kF0-qw3X)stGS|Z?bwV$7|;dR121Z8RqT$1eOy?VyF92^O zEhFQ)kPsDk4MCQUm)r+&m|_CI25ek%z+ebsTcq)^I^S&r@o(x|3rp?M;l6%6lQUrL zwY9asR#v1SMgxJf;6`|Rp8|I%7^nb|f*krBxerPlxnjKNd8_-QnP;3aWCb*>N`#Cl z$QoZK;-r}he^DwvoGDs^F2-)G;!2xQ!<+Qpx7TF^bIKv)W^|!`xkM4@3kr#0uXR%6 z0Ypmm?>B0QD)OKfIhe$s)AV3R^za^s-8AnH`&#tBxx+y~++L7#x!rcZ>Fj6E4I?ft zE*+p3Zj52EU$o9D&q!j)Pb3q6Xu%Nv-b(KDT4H0r5PHN%Ma%hIVADLt3ZHeqkOscFbLQ1h6k}Eiu~g2X1;qnH=|?Hy#uYg;v%B@5?=?(U1Akh^Mb6TevdwH6p83PU^F|FVDi+*PM#ik3#+*y50mF z%l+*dCi9R?A+yZNT#}?n$`DZ*O6Clu3{eP0gp84psSHUJDxr{BB9atag(M+Kl7xKg z$KKET9Pjad9ry9y`(JJMeP7r0JBM|ywN6#*Db=KHe}8Z_-D$6lJg>%@TScZa*M~hT z6fn*7s!Ry2GviEvsqZ$KBX#-)8 z^KJA`bFuq2x{rtdi0X?|u6g6sw*j%#`KeOHr}ri;);a7Et>QLGdZuz`H|DVCwF)rh zfBJe;LP^raWb%kL;A496O_yJ9Z!o*fa9=_~V!&P1At~Xp(;vneE3varr{m|NzQ;eA z^=oK%KgxqsI_sddM*sr+s$R6^|4v9>1tb zRuB3#c4~O+a_*SuNZ&U}v!@%%+&pLAn#@aZpWS<^U+b>E;XxDc>z*f#Jty{=%mkZw zdzs86)Q*{ozPBp=qmv(yaQrFL8FkV3g8u^x8E=Y?imI_Ix$)!)UqC_su^w%wx(wFAHQk47NR>Szm&?!}#sO!e!zWw9!7$ zFF4l{_U*E1HQ481hBZA=y}I+$o|*sNS^UPXFqXlD%mp#jhf`1^F`!(GJbQ)RbihWX zgwg>mP@pak6hU`!ozE+jZeJU03YpWIIK$`!YP4S$xu4aNS7q!6}$+>uq z?KFS9=4_sHikVqOn=tI#8FhK?t0;vkOxn)Ar{(73THLP1$sl(%?y{z0vRZj1xgVzT?Jqhk*&SG?2&5Jd^& z4D(nZg)KE=+K_Mb@DRTavRkzr7R6dtZU~hi*dhKjlY|Vh6aX;znb{%0;_~BdgI_pa zY#nBlHojnzAEKA5Wn#ka>FF5<9wR(4{$-)iUZljGtN%68H}atMe$KbCZmg%C`W&yY{V<)$p7+U~=;K1+ORTgx?E_amlwPS#C?TJaW}C z{pRax-IMch`3o$0Pzn1_1)ZcKo96xZqUG7b8yi;T^p)j|Jz6#7=}QxtzczA0x3rJu z2_0>d?6f%75EBI_8P+v6r|8_@{%_^9J}VdCHXleo1R{BP%rH|U8n7!0pBq4*vF;Hk zvi8YjbtGKJC^1y8!eOf&f9o=cTUyL#B;AMR>T>FZ_HGDrJv6vH`ZI3bFhY z@#DfI?wT_nCtIh<^!NHT#QH`D+$Fx3q@mu1IZEbBy>2?&E59(t0y6ncx4jM|3Oi}eM2B&g!an;!< z)YvExIRgQ;Lzia!s=yOgdvZHbkJu^w{>c4Q%5v9-OsKSg>DvR-G1rik+*5uDru!Qf z?sknL%20-C1z|bbCKVONxAsOxYY^`h)YL9xZ1M2XqmNayA2?QjySZQLhDm-L5TLd; z1Gpm*IW^FK9fTMXTn-$#h&mt0(1VMj;yGmhX>xLM4M=hx;LQ@+955C1`CrDz>!HGN z|J=3?vuPWAeU>oM9E$fJX2Z(3cmBO>`8ORMuGae5a- zlWsU7tDbps)GGt1Vo#6xOK+;?gx{X3{HNpH=6?v3vG0}XWEM`3+jD$l%g>*iE`^2F z2fi?G(-+grRdVjX7@CoX%aD@N;;VQS&*3YcO%nQ|(w-4rm8+VUXyWJ7C_i!JQvQe- zpqO)Tzwpy3!EDnn-EYe5dkX^&Gq=23kD=}0mP-c=ip5;5Ofp@pOc?qq(Ieu*%2XIg z*>B@Mo|zN>$yfH1295sb5%I+0nDB6ot1G=%hc3(e{{C2ur);CF0|K@O{(6vUi))Cj zZsc9|sC&~6F(r1$iL>z328BzhW;SUm!am!N*r=yl(v+@j|H&i&HFKMG%+1XqWi>-^eo@Z8^zfqH0ly&=L3JP2iHV6o@7xbO ziHL4~RUhPaav{e1c#xgV_$$UaM6dMw@9fjqNtnFdE-E6j!<${B%hUGcSI0|zpeig5 zT=ZKeG7ZJ<5S(0Z92_U;4co`%Urtpunq1XOd(_-CS_QYAVa7otCSqt%Bkay6+siPdOIOm5TKG5o339u0bj!v&Vn_xeO;Q{Fk@8 zj~_gE&<1|Mpp`;enf{XUt&PI>?V2LS`3LJZi#j4*BOC^%*S&C59vdIOc!qxVFZtn! z1DNT7LN&wWkJ9#KZ*Rn#H>Q|}-OS6QL#V;lQ{K-)^e2SV)bx6O)ug zZA=CBJle0FwzeWTf&|0_TDNwC>5Z%`EtQwjS9st!3UC%ii?q;zfBEudC%Q+_)fF~v z3c>GVG+^)P$-dHa-L{8$-qDv6enr-Z**|}JA!>+9O46yN8~QBa+uZ=s0ETebx5`x7 z%FsG^W~gNL#qTG>VogqI|& zS#u>d>)QB7b9&%cU>IPjv#}*rK0n9Ts+PSq^ss4uM}>{@s`0S(=QL)uRIe(H2GKo#$sq#VEm?ZJ6+X=_@?YDofOSogrXj&$Ds7(A& z5l`WS69NR#kF4pHX6Lg3cR};Ck2=q~bqv1qs35uCKQiBXapH9G&=xf{#A!gILn=yw)p$Rm&v}t4_kJI!eZ+8 z@ABdpH%Z_A_TSaDnf}{e(4A?YT`l*qFG8c(HAqv*uCqj=xXaHb>}iw1*yKH)MgQb^SoQQP-0=scg zu3x_%VzUbm0Jwp{eG`{(Jz)Wj-h$jho@gDBFRYo{U8FIOUui_RKF~QnSO=#p9)5mm zh53Mz`}f(gqMY#N=K^ogB*w?D7t`fNup}4|5(C=IRziFxcjxd0*vo^l&2x#RjEFXczsh5~rJ!iY!u>^j00Uum5s(5*8d&nW)_Dfp(8~=rEeLHL)&dV4&57sf(^gC*+~bLBppnCt7A?Vn2FRjvL%RG3)b+{u+^2 z^v1Y0GGv$)JNQ_6X6oBTOjPD*m<0{AETBlTWW(^M(yqeVQ;{ind)WR3yfx5H zyr7h1=-Q*B^RlN$DoV)J*|`S5R_M7>;9oc{3Wm=elx$%;nH9kw5$-%XE%9isGd3`U zRKw?feXSkQnBD3>Q()b=Z_E1-!rX_mi&bSL_97{wpy2(vO=Wyt_6GB#32yv*tgAiv zs)D<_XbMEx3-&OX%Bv_VUjz$eYnP;?ByPE~(_=SFz5bKo-H9{>LL3F$Or}C0Ov^sB znK7*$D`@z~vSBQ|VeC}H*yV^9LuYdDM{E=JrlxkIQsrJ-I_4zK0Dl^0{4|#z!xZtS5%o3S*cHUM%gw5Co zo@?QvdtwF%l>~ctL(v5Ak16@icFfb-(SL25=yQ2j*5zH?{{G63 z3Cpj2Y&~V!?l$|^^#_gnRaxEs%EEv3+Y?J0I_G|trl9mBsq zDhDvX6CB?R-_Pr?;AgdQp9*<<<4x%OZ)9ih+WY9+;(OR9f&+yN2%`qvaB#(U(F;F3 z-YwJe>9uy`i{HOh32gc5RWMk1*ObnTkm@bg6C;7cqS1}DL@R!z!~ zDu=&=NKY(JK{w-r-mkM=IQS^;!Oym&{{nf7v85$5@L#-^3E%Py);L?R@$&y_FO(pg z0OFsuwGf1o5UXLvO!J^Oitzb>m&U}{d3kYiMeg3KA+K|D|IX}AVN7QLx%8lf8cU%$Mr=^7edGg#1@l1yZsbIsVIqH+lZR(pzEBK;AW{223Kp$hMh`(*OH ziWM_W#>2%cD032)LqbT`l|m|NqYvVV6l(F_Iq}9_z4|f?72Fs1WNy#VQ2wN0WVdz4 zl}8g^YKs~WTwB{k%yCiWcifq4j~#wAH1|)*KaZ@6K)Gy|)R{&RpbXI z)c5JkC4Q7cD;0X3YCRAbJOn(Qe2oJNLN?W~w)Diad4U;NSqyEwHO$EN)fbRhUsBfPKCy|Hj|`q92Xb zbkLN3P{q_<%BeqVN*>)J42mc^jK6|!oe}8;h+E?zRSF?FI2hP?; zV2oM7j)=$!ECc6;%ctA7O#wS(A`LiF|4RKn*V_?zi8vGC8f+u(r=QDJTl4=*=UKUR zXKy@w*FU(C@5R$bwP~H_Wy&XtpI&?cf^N#&KUeOFzG<0pJ&RtG;9RPK3#zD;J+L;R z=?UNz04iL3>(*&vLWI1G5!A+oZ(qNLG!JP)^MQc~W<|y5A4R10gJ{8_+7*w@bBJOW zVL1RipMEmz+BL3~8Xt7H8s|-RDDnuSjyD?1_D=2%;)>t`v!DOR!V>s8%-d}f^f z+hTrE(H;T$V{b>Gd-*= zXaUM^Rd$JX<03$O!P-C9eijv);1n@*`gjbg3&_vvLbslxbEh=5JLSKjllK|9oU~=Hibg z5eA(x<*je##jmj{bfWSmOml2(fH<>oe_*JVNEF9jLqjh1zY)>2?kHXuTr>!yz2sm}j} z>^-o#WC*q~jf6T4H?NOaB$b-*JrS43S%gO7!7Q{NM+V|IYS?)T*?G&_c?;Wl%LRF> z+j+~|d1F2CQRn6<_JY>y$;lV$2fwGP;1J~*wjMA2vp9L?iK3d?*p?TA?lyLIT95ck zBuve+I-PNgzHQl8*e-^m8InVCwE4i2S{QS07!y1w)15XOZ@yjI=3ID>U(ifjkhe_G zv8x3ME5&fumoDc`Xuj~u@(95)N8|)}{YC%?8XN)UQy(c`9getR+Y96Le^WGEhP3zr z_YmPqu|Pz4`*F}S8?d$@jPN;;>zm040Q)8h>@Ot&CQ`}yr9iTpPZc3mh`5&_%nA6v?ylcxMW88_M|^14hp$IYoNKVOm`hs0d|&|fVe8n8{}4~xvq1m`-{p4VkV z_Gn*T)-L`d}hJwZo_6qJRf?s%!4t1C0ZBPp@}xBv(c$htd$*S{1FWDH$}tb+pY z*|TRmPo0t@qjDIp!-kODOt_=L&yQqXfQ(v!8HPqizy>K0ddS#kr7Z){kBIqEANj7@FD)+zjT?dg(WzFBEa+l z&&h!2Krt?X$Y;HWv#ql!GS`|7P6ZY_WoWY{3oBgpy;4{|5fDBV`o$IN4I=jl`cf0~ zD-XoUWtGTO6CX$lpctGXLN_eX`OrvqAY~~ymmco)v%Rigm?8Y8E2~u2ZM)&7))H24 z(V+g?#_EJtS>^sE?vIjkM@X>krAo7f!72+wFV&%&o zagY~2n*90uLc>biO9jYEZK_*!1liV5j!!~>Te1?pFjYKD+yzEFziZb7UT}k%YdPR7 zt;?GY^%K-S(5xuz;)nVa4ZlwA&)a=E9sFw%HuD_+ZMRz%Cl=FDi@fohUWD;EA7iMU z)x0ieJ{D38Vvetar_w55<`C!FwT&wo`60ChDE&Z-D=K;?XKQLGF7!_BM$jQ7Ja}NP z4B}87{0@k?#-Ga(A8una-Ul8)c%eLiR*$BvPu6u0R6Rv+nFMMB5_;*F!ew+&wrY-P zO_*=mzCHRtp5aZ@xdH+LUnVAYgNA{=nbf~1`)yD{<4WVCpw!BWaDzSx#L5+b_cAJ8 z2PY@dEnB!zIz#D5#Ev+Dgcm0xgRKZcChMA;nrsjtaKDjdfdyhA$W2T_B#kl}zJFH$ zsaA38R)*9Ummr=hx4aj}@lz&I@8(y0wSQ0fHF;~|G=V^pg@%~4RCog`s|;s~KJ97v zNq&TEyFQ4Dt|uR(A+EcayJAJ+YEl~so?q}lOoHkm8&5bkeGunS$~Kla8(^b>6*w2% z0;f|61%~@!8bVSNT-`kS17>$0JNIGIk7PjX?;<7{$h0-1UKn#wUU>QIsD(vDOiaw} zO1b}iVli#iLh^am(!!R`?W)#jDi)ENRHt^T3?!A!w$HhY1|_6Ed(HV)X0p97($l;A z$^5qVxmdt)**9<2x-AUhF=YUl0EP@!4Uuv>T8B6yJ9YOoI|s(deV)KmWUKC4*vcL4 zqhG?=GICsO-2I%8omO*?-v0>mUjl4hUcI$A;WmZYGc^&GLLEkqAGjz@Pi`;g24hjv zvkA^Ko2NK`R~`L&uJWDI^x}@I$5xGR$eOxd!umU4%Rft!&re{o!#EVNOsIACKq|(T zijYoc&UClZ!=dF@KV-sNrgGs&DjQI^FtjhV}%3?2#; z2dnUC<3b`8P%Lb-kB*6{n>bUyTsEx#Jg$w~!q8GmGrHs@glOOC=A;mo;pFV<8iJ{^ zX+h&ycR>jO>9HED5fcCpWKqlow|!`oP}=~kqSZykjTe3@ zIkXj)b$_WLm#mAGk8KuR2+_kx9b!quQ}77(8X4_5b4G;#VQOzJXs3CpnSNtgvzN7`jjEl9_M$t7-zG2}H& za^)0c8wO}(ybpdX_Af085#~w9fohn-9zJr!IxX~Mrj!%t8%>LIYO586w2n3}`_8C2 zc44^=7K(AnXy3ltQ)Ns` zbdPpZznPeCs{I8Tc;FIU;7CSVS_6ihFW=I;nthL+78pC>Gvw85fE} zL6{(kA1P_;G%9YCbOgEW>=aqhK-JUc_~3h$1Ta^GZ7u)jh;4&;pxHc(UCm~k)rSt4 zU}9MC!Ga-AJw!X_$OK?Yj*HFsAV!|*u*4-6M}glj3egAb9sOFD=Z)fFeU|Dp%L2nf z)&A*K+f+hZ`;42*>SJC%gy_8ZEyIX+@an(fS&jCSAF6&s9TA&)>M;Xh+;4TyBp0vF z4w;Cs3tzjeP&M6ueA1S zgfm^@JMHK{*J|AalN6NHb4R0`*>v^v*ws8DOL|?Ahr@bZf6b#kCjaCszn+jF>e@Ps zJX~v|K)u?NGasyb!s)~G7IF^M#i+SSK`QX5evp-xegh{X23b!j>#NlTjb8dL?KpQ< zP+*Vu2-Cums>#&X|C~KyC1%fu*Vmm45% zrh6&ng6>{=23BGD3k(U|_NJh;m_HKhi!YrtDf6?w^Z4=nV&~)GG1F46Baun{BWW7% zj~==s=Y6REaoO01em50}+)#JxWU~PV!!f`I#S0M`7#847vON%##{Cu+DVte;d7d4p zp{)Gze1i`>3{3qF(2In`iIbg*gSS#oJ-_}75Asmw9-+q0>^+LOzSwj*1n$LetUY58 z=IAN8af1Sh_xJa(9Z`Ts&*`{FPfuY*Uv@>s)(z#C;vJMCfKgQbe5FtH%ZBM{p?K5^ zg~ec~fSRi3p$iAW6I^~&pMe=NoUF0RKwTL{Dw z06pEeu)QXKg(xgh<{@F=tuI&=S?8Y*wbb!USg&NJ<=GIadFscmir$Zr!xGwQ9e*74 zX^4(*Tj zRWK-}ylY5}!my#yE=6(s76yrxujVlN>CIfx)f1~L-Zr1^yVv5tUTd@8FVip&i-#V( zVWX#x)6317tvLA(o4qnda%a^$M0un2CU+ZaOL1PGQHH%nj;ee`ABG^giX9c>*Y8#Z zRD1Th13SHZGqF!_Q|b$pb`*|}L@WwV>jbt9Ta7>Jo7kU!5WltdqzWI|ko7JUWJU5HMgm8c~K7{t_@tf`B13m8ALp~@nJ_5N)T43}+x`WHUK!eY`2m;UZg zi7Ur+s)`xNr+Bs&%a=sc4fO@A*&{+W`NX`ir*io;-9y2uV)UUi^o6~^;U0Bgr*$gw zWfx!gw`_|oZkH-d2(Rp7NOdYP$3})+-ygLcg+mdq)Dv37R&zOARQWWXN0}ZHm-};Z z^1Kj1ilE6~GjOhdKI3DJ;>r_t!C<5mWf5l6x*e$9<7uB0T`3+3f+OT<%t#knKNZBR z0R5%qpsb{WOQW44P;UM`v4Z44bOJKRfe=kG$bxkUF=|`<)klJi>xas%ZtSPEo(@+~nkT>B1YJRdNeabiUKHf z!FkhC;L+a1yIWl_OqhPJM1lpC*$BbLObfs;0KXjo8@~MDnJ1*r1u8LarZ&g6~jun*Xk+43GPzQ>N)&vXhAk@&Q#QEBBzf*R%8#CmL7B*#$ZV=y+(luw;k+k4*vuj$M&#G{AE}mcB%kNb1 z9fS}p)>GUN(T&SS<|A-`#k0b%;m-p-F{@8T7-pw93P53?L%2Y&8vrpdqy8Ac>d9cM z`0VQb?GAIp61G=UWk>C*A3w7k=b)xU!{!4}-u=@vHh2Co;zo!96@_G`aYkmxuNS5x z*G~qxwprbK_bJ8TRJ@*!Ad`D_W)(Zv;r?f4nJxP+v^*Q4dOoagE^Xu~og^P)Q$6}a z`?}|kPpO_8&)CZ4{@5$Hv|nzEwA9MUHoNXW%O{5e!aU_;Iko879@%L3YRLah!sOw_ z&}S!iJnxrptjzrrU#uqCN-(ECw3{87X+ z=Gd5vK_OrsQNYys-}cZ~NMU|MM1a2s*PIV0Ejkgi|C;PC@>#mZswH=bta}Vxn(rrT z?VC_3C6x)St57$VFkX4%uRS$%D(3O4O_)QqSa%!qUS*BY7N%d7)hXqZk)&o`+`i6L zfr4+Nu#iEGnsxEh7h7K1$Q>^|%ri!*SX2$&|nCYy479Z!rUzjJ>ZoQKh*+JTA#*3?R~jw1`J$r?OwP$nP+)J&_B zavK<5qfPjnJ3k$!R?#|C*`4$WEm-ijJ^*WXq)94AL5Dto*j`SYaiXa`!mN{RJod1f z6__4yA|8JJ|2lU}!J#|`sENf_AzC8Z>)Ei}1{E+)zXe^yo$lj+d4RQ}n+3v$I||cK zSZZR%Km?a7WXIcg?m%4fBI~^5>8+r0l8Z)ydh4GGeQ`M}bxq}#M#&VzU3=xe4V

    OR+{Mh%Uz8$u8P`NWAe6(=eT@aZ$sm-v{1squu5my=4#!G zzm`02JmOtBJO9O$XSoqW<(0aLF8sZ(TK3)Y+G;rBE2!Qf-#T)?M~|BdLr!2JsBCobZW|0txFR9Sn9ImUu5x@f&_rL4WadeI}aS- zz#Po6ZQ8F&_1v$G0PzV{i)Fr~Yxlw9kaLa^Ltj|KXd&ASj`DB-ClK=ggXsiuHWXo{k`9FE*50CC! z-x{tjFQ%uyeDf<@i}{uc>s6ohcBlyyv(Oe^+%|r&Mvb+YdnoO}FL!q*7 zb^GTBwgPu7@*Ll=UH9g+5va1Dqe#@F0W>u5F8chhvLC*M_LQlTlRIlZ50AI)qZe_Q zipW}?P7!Qt*`)`2k}UE5%g@^eVIJnJf&wNG4#8}T%Q)xfN8zBBbN6s5Bg$+-+Cs=x zaqZce-tufMU{p?2B7~6(CUF!2Ac6M)NWh+|t7<1fV}etpt_SUiF}NV?aOZ zm&=+SKPte}G&VO62XJ&su{wTjf`LTI>G?DK=avHAnI8&qEE9OqD7R_tHe;9cbs=Gv z>*^TTCXIf-RQk57HAJW=#z#>wX7Fa15E;GTF_lxToyF$^BH2H1Gfc1!o0%XcV`B_0 z&V9%#R3uw_w^Y36)0u%EGK+GC{z{>5!z8Aj24wr(I>)SV#Qn4DY}R`Y7V1^xF(4DF zG<9D>tilc4Cr|!udgP=Hts^ZmJ-Kn9Avx zk2hX6#u-RV1&u!%`ch*5d*?C5>x?JMZ}mi+xSVD_T>NtD6$%P}56Wfl13K4Z>GXYnXmt|NE8o(&oS)T}y`_&M*aEAbPpwMdZ}}8q8j2 z2OrD~_dL17yv3ALbI))`R?20j-}aMI8RP33mnL}YmgZuYYCweOPW-TOrDOQ)fSEjQ z7c2$ba<_#3pC)zVeSh5;ZndKs!k1f;+4tCqHSv&*cQI!8 z+W%B2cE?}Uk5j4|QxQf3*g;T_H3B}p(LiK(0kE&Fm>a2!MG2hoO#SGSqD zJu};5?)+Xaqv1eI<4~Kp5xopIW2o?DyEhO0`z@+FEDh&Ao{|v{I&}D2^!b+Ds}Bzd zavU_w_==yTut|O1J68MfN767BeJbYQR7gZLjZ}eVPcZSd!ngHOdmE19>3)9&_k}JXKH}gxt z&*)reKEHrHG6R$#{Mn&}-B7jFA;o?4UB;v3aO%)o9P{$)XO(fzHZ}GKPG@$dzi`^} z+=9;e*X&mv)g$sx=GxUnMn1S_t~rx%{e8IOmek(W$KDuU^KLjM5HOs6(IU(azMe5d zHf4P`P4aWv9~M548y_fm9h8iZH7v~={Sp3Y%_oYgE)j(g_71n|xv?*25DU9t;Ts6# zsP_rtix3STd17qjr3MznWw;OQO|R>j9!|cUj4EWvgVc|(l&rlXx`%kO**iPa10zA} z3Fn8@pP+Nxz1k38$eh^`MtBeM0;(6zBJwLGY9-cRDrHfAqt<3VazE>X?e2=kaL-7# zGgW84CB|DYv~cQ(dN7A&e_5^Veq1Kp@I1BCDq}Cd#c)aO*9T2)W@XDhMp`ed$Kr~A z5DNDff?lSwc0nl<+R{`{yU1D^^Fy8Gz7`tz=#^nopd+aZ~?aI6E* z13(;@+yE1SO8?8vB$SiKk9lE6C$(Y20p{;&bbi}8Um|j5hGyZD=k{uz!rvkKI4-+n|^6A0OKH_c(%+)s_P+hQ@ zP^<`pmdw0Rr{RS!qVYXw8J!Ts63f4IOYv?1Mm=9cem<)qO_u7=lqPFJ`5oKs8kMv5zyEn#eF;n_ik%Q& z5P;f${7C69BJwwD7Ic$+WyGVDXgUUs&ik|N%C;~5;%#pB zrN-|G!}w9tLhr-IC$?m_*=d)!jK;TFx3lM8{mJJvzYw(}isd}@`wtWi)?($a{^J51 zWK31r^l_Ka`^cienF34!t*%YLGl!7OkSxjbg`z?)7IdId^}8ndKQbO{je(^hkqi=i z3CD_yh(l1~mwxIKiqKxRiyp{aiV}4bXnOgDM>S?w%8Ov$C+jvlZohL<;&o5k?T6R* zA6MBsVxX6H&SR>H#z4o{pb2-Z@ug7I4S62T^Qtk``}r6D3V&o^bIfLYv2S1bsS(44 zZtKOhB#7Xa*~9ek_m8BfQ7AsAKU_k=fyhgGez)p539PgtC`MjpAa59)ELyis4jgon zY;a(wy-S;TW`oQ|+Jo1B-oAf*|EbMcb#~fUS}tg13x?_lxT>k`u)6cnj{QS9gogYL{!T{91F+Hii@E3wzW!h`Le%c-U}C;O(bYCGx6*RKuW=dY#ODF^!6 zmSvY6%szdPJF!N+*riKi;m_NrP3X0cRG#~E5)nk0m2uZylbf#{bxL1E$t18OnkKw< zl)5fA|4w4NKvEK`MoO?`Q$631BHNH6f6UDtJdHaQf@|qxYxm-sux4qk;w|M}ed2AF zZ=cFL_)CLePjKFdZIhK87zsA}(y>n<64$TU5d}9LK@c@egtG~xL-rGV|9QY@Fwu-f zgq5-Wn2KF=*QJ>=9B)+bnvdVlYI4-d?+v$mKa)Siz#kxiZ4;WxUtwesXc zx`KENjc5j=wQV=2dSHb6@jzLBjE{N@(eWbk$u199&Mz%89p6QfqA~<_fIiuj1@?HT z)Mda))^pFzh%KDc`B~1G(u@nndAoPr$A zyPwl3!1kdpmGd;Mhn-ARMn1(RSS(f!(k^trpB+Fso--e_oIXCq17Z7rW_!y)OmZBf z7*3uzLDeyh3x&2Vsp%q0?z=t7FGIxyZyi(qA#P!1_(SZ->3w*DNVmEnaj zp+Fu20-}i_=9=jAtaln4cj~zbifB_t3S8G8txQk-ns7yu`j}_JrHqdI8#V6mM+RKi zmmYLF^>IJ4@zs`nJCU8`B)O6{b4OOlB*|};itLh+G*XdiwtMn?xWH(mg9X<%Q^Wjk zBC%Vxy>*gawASlFqlMIKVfbS_H|hB}lein5Wn0l*(+!(=Ut}$GkUy*NDNernZ}VZ5 zx%ITp<7<|O4_`($21{Ib>h}29n3Tk35eMVl*~Vnv<@0AWZ+UWketOIK2d`4K=|v*f zrx*~2W8mGj1x3|*GkF`RlQP`A{8surdVLBQc;@omd$2vT<37q=^^T5nsXePZrvo%H zyGCFZ^(gF? z9ZHQGKz;B~t9GAZcWU>t)8ksG&FRXjJEa-Xa)B|MD^zED8m)jOtw7qJwg;^~-%2eC zE?JzLvntq^V?xige!+j$0S`*NGy?zl{;Ap`VWTc*qflqB&R(zm#j=K>$}p_EbhG)} za>^5L?h%{*VodqLc93uV)oiB-8>cJ`V!;SO`n!Z>%%47qAr+&^3a-83WxX?FQ{cUZ zDNn@dT$5ws30uJOOnm`<2T@7^1R_cmxNT!zN0^|e%7E4U%=$`yb*~uE-Uz5DQE9dL zKz*s7-mrQ_i*07MWr+08Jrlpy{&kbn7KYA!$fR`` z{%m9=0LjG%4^k(!mVRw^#)O;byg{W#1|Y)F;-WPdsTO(o*J-A8u(aDFF*~a`#>??N zlzQo6)8%5@?K1Fk+@{mTrqfZ7oHy=(ci2>t@NxdZh=e-%iTPSkL()MBB>Ba=x&*Kyt!aX>(TN02Y+?;AW`&uw?7 z=*BW0kYIbzdSg$Jaai4`Q<7%bs*8g7W-N=tiOfj?Ycw<{kvGilaDPu3DZdaQ6?@ZM zV)T=2iT&(DK|wDVdj(T{U2l>Yac4=FKG{ zg}~_Vi}Q*4(HNGWYu4y{Q>N=gE2Yv5bBW4Csd1+KOi{ZTG-3bi@R}rJx=2&1#be0} z>5FeH(&M&QdRX1zh|%$lYM^Eg%i>wHJE#ANRbKt|Lj}e6FmB=FB@`;YQ{|Kx3`AC^ zyIwc~Q5ItC{V^qI0(toOsK&2@wm9gnimr(@T4!*|C(baBuoeE@i2;f}kwU2QH(?7J z6{J4KocKGek&SVEFOr5-LCOM;lQ1Pf7I5C~T>g`?ItSu_Ajr2 zZyn8;$Lm%`=9Hnf!p@qkuA2OghqBL&ReQ|UV$rDO>z3&woIHmLI66k1$7`sB=@zV#oI4>jco ze#;IWA0y>ILONzaDUU%V*(}fz@a=RtP@9}lRN9Ep$o!2!kwJOueA}1mqRhOyc4+!o zz$L?MouHO*tprLMTG@AMtJ7#@zp9a^;wkl7wOjMO?DsO%+C_$#Sh*=dimI$0!PDt~^BrrS;t+n`PEszUz3zjNf*s+rNWS$x4PZ&~`eynt|mD zmzT_enjk7d!Ieo2hJ0_=u8W-Sjs(6x@9w^A;Rc^0L;f8x36h5u)fA;)$UjWpe@r?1 zRnDH!#tW-1vLI11M){$ID&L1L>Syt&@=THbx@~lGzem*!H+E@!Z=m+EQ*X-lh|;EE z*8ccqHZ13K^x@pPJJ)$#EB_pKEgzF1pLolAFOK)tD`0#QKm6{AVJa$t4OP<1)!EAb zw8d?^^bquC5?aB8R7<}EAlcqNd()YR2nl2h^SQDl`dn?Zxp?c&`|I==;*(NMJO}+5 z!d!ZpbG18@9)N>2NW?CJzMt4I6Com{dP1uQ4`noq|NLH*G{biHc3Bp-UeXc?&r-GT z9aiW+J(sAmdgq&R(`8u5^VpTQeIwJ?hZ~Y7Hg`;i>tsKu=Azc*DzN_ zYx`@tev928kDE4Uz6Im{vTw>{>B1k8`6GZ$ftgYuvA-OZoAgM<7kp-d znIVp^$=5N=7szS`91QwUB}FIny2Lp5@nbdVOPkN#^%96?)%qN7m^X#Y!@Bf+&C&%t zS=_`HYWRz2h$R;hxI(ft$o=#;jmB(6$K9WwnY*;G3Q+^Fukg>dfL#hfSY@N z0V8R$!ov6S^}bX@hJjQfDin>#lTI9WZ& zY0%jx(Yu~P_2*&t{VdG(-7Ytbr8}6uGvxgExiMT!n?C>QRenYaJ3IENQ3tDPAIHOD zDOwv-v=pvro3pZU><;-&t>vMy!C0c+gFj7$&(e@C&5)b%9kgf5-juNa&ly?KHl)4X znhVw~Nq#&$HHda-K2Z>21dG8S?h7kR7+bUsTWqrk{VHu^ZKV`#we*ZD{3=2*Lp2`! zD+meT82}3q_kvgqcm#4QxZ)B;JzRaj=OEb-Ek86nX0AJh-soCN56bIbZVmQ^89FZ9 zP0ag1(1$@wf*@!gH*a_|;de>!`-lyuO;ALN2P_ei0>mP3$3y!k_kgM(#i=F6e&ySf zl74+W_<_pP40oD5_`%ixxeZ3^m~>jqcHpCcu6cE!chsxSt_0O8>MFesDDXg!VkWLO+a86RWNl{ijuWAI?{SiASZN23q-8_DOH71&(gBkB0WDpGxSm6%vK z>-5?`UGbxvg6k^g?`Vnyefrt|y@fOD{!Znu>J$`zwb@-Lz)Rcl5tAD}hA^)HZVS=J^X@r;slD3$_oYK<~%|qnT{_^Ga z!%WDJ6;u@{IvP|f1=rm2*D#o)V&(j!bo-D@53`^7%;DsRDLH*-?(#~MGU}8v9$rh= z>Q!Oebu3Caa^eCTC- zPnj4>`1`9Ta0d98-`N0DM^aJYmYA>~j@A(k2!wnd$BSC?LdQrwgqJY1z==e3hM9)P z;>=q(z%u}eJYd_@VID>iP8Ly~ zn6}4;c`fv%moM%sN{F$@K1_4*Fiq>vlGP4L`doKu{~7(E|AF>;$5y2Wm7cwH6fP8h ze}7$!Xz*eb5jp)=KTr87r9_QnoYrS`=^Y(^@>*+lu8+`G3U$|N6YDb!_if#&Q`A-K zSWJpP!fR%(*uSnY0ity+rp zg9>$n3jTj7>N=&^PgB>}dn;emk?rnK8hK`5aeTjrg5ld{rRJfE$+*P3BcEM3M_x3! zByThJI%p8gJ#x<|jGbZhw;pNNv0wYlUz!WrO407?mE{u+MTHH^MmcozPj-ws=Xa2FlV?Y9X3JWAaLoHm!i0qW5i-l6S*bdsq^%v3Dd!YAJ<=$5F^%4rhFj z)To2bGQmQIPu6sUD+?VX<9m}Q7X)Izf@P6?A_;xefTSl}77L7xnYhX$@8X5d zcGQnOZYwQ@wP0Zg68wkM^uZc@&t8kr(a}99k~e%R#3y*k?RjLrw2*%gg%;cJ>3haW zE(vPPe#sAy^K>8Y@#al_E%W7&rRnxpce=H*KPruU9{u!7BAWM)`Uq#0#OW#%T?2#l z8F}g)CeqrsVpHSdq&pf8^4=Wva~Hc35@(>fH|y>{KR#76G*dS|z3bp@p?{)j&2RNZ;P4n$>D)21 zc*yJA&Cfj6wsn7X(ezQHYt}_^_Vd!*eNTU!c!p%+pcd`CKE=gM;sAZ5bV#EZ2BWqj zK??Fx-^{W#V^`&IghDGTBfZ;VHw^(Cu$KE@`W{+A+KaXy`sG(jU+xY6zol;~a_*5M zshd8K0vN7AChS=lsJo;|^PPTdTTgrW!EQM|bWB)d+~k$(@O19lF^?&^N5?GMo(>;A zQ_+$Tt?0@>Feg{g>FgMF;=pwYBL|hfO3XM|FZZ&rg&QNQ5lY zAcG4C4>Ypn*GA@|IR5m!;p3m@(&D^_)bcj$J8%q{%+M#kHkR!lSSG%-S;O3tjEiu< z7DkQEYb_JS$PDqm-BsFDX^Xvl>-GzlZ{d5xW$ntXPjO-T<|dw#xjUS0QuTAi|9pi_ zH5+=To;}-ZDx6F<{(5-{b46<2HH8x1PiIddfLlhTo%ejQq_W`aKxP<(DMD;s;VzF9 zLlQVy&w@lnc2NLO+)!2FKm&Re8E9rMes!XBSTzm+uy$mc(B7}?rN#?1XoN6ew@~vv z{?Ja_6^5R`Zk3&uwp8*~x;^W!jEV(Zz}BIy(VG@(_kWmBUdQ~hl{QiAfVBIwwA3ga zDrUd!6fA~LpMQ7rF)Qp_qfoXrZGQoA4>M7cd(g`a2Cq2R7T##ogC@ZqNv(zE$!6^zi<(z^r~Ab>+o)C|c?%^u)9;{}Kw zd}tz$Pce9 zOB0!Jok0m~i$Sw;@OsP9YN!;3dYv+N8yR(E2{Z=_6X_i)cCg(3Kcc<^p6mAgUZO!! z5`~atkCJ3%m57ogdxfl&q9l7XNyti8L`YUvvQm)|$_y1HB+1U^e{MbB-~V}eB-O|J z^B(tou5+DpuKNsEkl%ru1RuCbaEBazd=el0t6o6I%gxX<;+jxy4W-b%-lU{pw0aRq zHFutM!y4O%aHr^`hs*gV{)c`|iP04!x zzRL!}@0~Uzp^HK{U*vq(eKg@n`i;|VRc8iPQ8XPiWO512KNO>3Z57)*ZQW671Oq=B z;`kg;`P_W9EXa2fmw1cabsZ8Z{|NJqkXPU;#Pr4sJ=gCQYdPMc@BBY)g&(Zfh&3fz zu^wa-sd8KKys}*1{pA8V@Y{wCrCW(&G4e7e2D?`wFksSbUJ4XBBhAtIj)94zixM*~ zY#&vv%4bvDRZ~uB$iQl|FSnsBE59@rM9f_m|Nhp8p;WcTq2t;+svAX0^+1|^O+Zb{5jzWm3+ zueqbls!!6pB&!c4Drs13Pwb*#(|Rp$dCnmXvgOj!uM8a31g%`V6AHGrjeN-uxYhOo5)4`n5g%s*+Sb z1K((=Qo?wsqbrdnw z18an8=AEBg1cnFwUU*Zx)!F!tade1Rl_R1<-V)rd!r{RPb`8(sgk2US!r0s3I)O@f z@M@oPaq`H{X<30~d8d)>eQSa(r>t}ws5qxO&bHSm34iEY|3582!X{ACO@n#b@wlZ` z{nx*J93>{qNMmm9$biL9$lbZjc{RoL$0xbR-$!T2!eN(fAU5&oT5zxS#TQ~{gDY%& zKU&_uhmZt;{O!M;i(A%y`gZXZqOjVTk%E=ie70B1|1j4~q1XI@m8SToPY=w$`1VTL z#&-=nL%#g~v;Ih7@?R$kI(LYtCpw+u8+nZ#&P-(}aB_yrJj~-A?Vn!aA&Z(iwRU`W^2xsk5E#qW$&d z!mX9YSH!O;|42$Be)vL(+yc@48Iw;|=q>Wel3Mt3$xkhVr#Yzs!&>ZJu4Q^&p#f3t zL&VXIR8bO!K_;P1P3;U(MHK^Bt2lLE3wgtW0+Mb>#B!BRal1R8(y;}#GcorLISS`fk z`yA_}lFLsUT#!P{{dSL-4Qt-qwVg1ANd5g!T40l{DSdwj#G{Vwd%`cQtEsuC*9kjQ z%K7@OFE3Zi9ItBEkBUoGSSGK9$Gt8H2y#_V1In8O5c^! z1u-S}itk(a!CquE2Ok0Hl_152M6kf>qXZ5cp^=>aTp-ENJ&xVVQH;(Ic&?BJKgCiZ!fAcU5QB>YPEyP{HPTstZ4i1}i@j%^u3-Vgn1&V1! zaTdIrYeee^Z@B@t$!GdtX@=#zaWCx(9u zj%dq97OjaA-1s!~6pJixq>So`d%F+S@*WsFk=aoeTI9Q$ZzEq=-44kI=L&{w>UQw; zI5Gzw8AEvbH$?coLDtHO)ejV_+b`( z*D$iww}jt`yaPoEDBzVwID|gdt<9J{4jD2d2UKdh+ShgjRFbrF5-~6X8hSqbYm7dI zc%mbK7C4L&{Q6fpHvxc=&O9WTN(sSXdC|LP@4o8=oV#6Vj>D|6)S?mK@&6vvw@J|9 z)49L0y5j?tN!kZaKNXBW@yNep$uqOjqW@`RiE|3K(CqyfnX$vdB)Hg?R4f{|>()`Ew*a+XXS4$Q`<8DYpJz?>PI~apzMAO8u{6 z4OQWz?Cee8jkLs^XNM|Pz115Kv90(ovUzksetA1QdM7v7SitfNNidX?6o^$p!r78H z30lWkV6~oF_)L&l0jP`kmz9V=3@C}B-W^%~z#YEc!$=KfcOR`#HoXd-0EzUza6ZW* z=bBkuQ*g!OMiB6|c)|x{b`4Is0=f{Q8Dv_Ub9%6 zO$}L7amQql!&*znreJ8;b#oG9c%d?S%hw9=mcQkv+D_rk{Z&cNah0!1_m5_ zDKWnTceVS^LqKb0ub{L$;=v!O_fL^A`kGd>hrlAlW6h=ly3`kCZ zLlfQ+JR2x-Q33!9A{;5KA;9Sxir-6bHXa~pWK&a96JIZoh8TKp-%&1pD)*9y2(Pdy z`rkME&qy%{2&;VmqQIG*w753HBBmAFoXNe#jIcfSImUGJZc+@arXuq)@$S8Ry1rTr z#o>iy!r-_0`Z+sY~>bl(TezW6XQpfo*TG^W1WV{7e~ zA`je-pSCqF8hd}g#DU-!HGZlxb=19Irhu4N4Yqv*SX=LcFPDrOaxTa%yL z+SbGkK<=Xn#)^2TB_ym4HZrL{+~hcmEV~Mr-bh{?p$`rqkaA^rG79cq{Bw2Yy|tVl z5oO`=`l9AQr>|t>T9jx;Hcrbmvw>UU8zZl5IV;y}70t0>&A`?V9V-U8h8MP6@e=Ls z$+jYq=i1(0Ab_f9yaYK5GoRkc-8`3Bw5Ab$spoW-crQn6U)^cyx!XZ0&c9LiOh3*2 zeO<2Bw3=N0iD9F+cB@c{#j@S6;ZFRR8b&1y5kiHv76h!<68Y5pboH8a3+SAq9xNJ5 z$41BFuI;$?b(;3mXNv6OmceRu1JO_NGG~|Sl~M#fj{I?Mv`X+> z)o49Cdm(^L-DPj2`<>W+H9GmoB8FFu%C_EN3x)fbV>PZ;thO4E(F@;wVGZZ*y|pTg zmCqEkiEW$%;%|~E0OkN1YkYv%Z}OIee+C&q2T6opzCrF9>%q&?l|B)e5}8w?-HAjL zwY?PE)OljnP1RdjX3>L^;Z0Yk75im;+#JGwO^e$v0K)>UtpJ& zy6l1OiqAqPO%QZ~*2YK7HiDfQ4PY1}i8-3&KtRie^izSwFS8L|1EExxGP%`ejWYfC zm{}|x6IM}8P_Lexb=U7R7YKiyaOl?PWb+Bw6nl}X>RoRYS`gHl^GOQxmyWI$y7At*f4DlN$&h@XWff!vg4HfWuUDN#`~Ejc4Yj9L_w91t8jN2zK%_W~ zGvIWw@1yfTe9s6Rg7TZlOR$Z-u#`KUx$qAEc=_Ebq0wxri;IH$HKGRsmEN{K!C|Ms@JUU9dl_b zH7M_)e(N1eC5ZQK+V^bT-h%-oV%Jmw^v=E`fILOi;cJv zqcV!9v?Z+gK#OP-Xq$*|YgQT!)OV~|-N3ZXIn&#rXw?Cc{gC@T{;0sH%)fW{yGu>8 zf8DD?L!M8h7-U4S7Y*n{{Lm?Trd8^?bCq}4{mX*-Hj7Ss*I4$S(*;@qi=|GK)reH} z9k|Bdk+tB;dTt1H+lo2=r;5Dv&>|%DzF5{*W8#Vm>J6aQyzcF7Ok&aXI0dgs1`eEH zBvbNQR;7@RLN@KuL{B`s37MI6%S$86WqiZFpC1W>cb@54D}S4aw~!+&X=uK|#7ll0aw;_Ws8*Z< zlD%x48wEY*I|EgIA}s{{_^H;&(|eDbBn zo6I*ty91AeUTHYnUhm^H?d#~JVjovwRz1fqbuap)NlpQcjK~$~SnVgdYYlHfA@b&1 zwE$9G_kX@{wM}CChBcKhpJ+uzX2m6i8O238#OjvO;R^oexF>393@DIg57IsYObMs6 z1yJ!!ON!hLBpJ19VLkX1iQv@~}4u1C7|b|3uXK3w5mb8P&J zN@F{-w5g$X+WF|L#WcoGV_KZ@4a`oG+YCizvYt=>ez;d~*|D+0o`oW9gV~e}Mbm!T zBPha$wZUwIzsnGuUgABMn=@32S8kwqLA!pFOt;fdqv^ySOifiLs+zqw@`goHUale- zWL-^O;PgoM@^XjF1fNW;*s|A1nM3Kwp!m_X(o{+;lsqT*thv5QrDd$gw|bqlScA{5 z-uKm#z3&^hTPf6B`n-efU6h|M-#uv>hP$l6o3EP{Xjt!zHM##4SuGCb@{V!s(`^|D zjS=}0+b}Pc(olN3@K;9RFP+k%30YJ3p4A+Bf1V+FL2=d8CjShThf|yAGjHuVf3QiY zZ(56gYST<6`QDSvcP{1!o1UdmSd=Q)MJmZU@*n<1&CJdeko?E_y>oHtpYJw~OPmHh z13UVHqpv>O&l8&Vr;J`FJ^#;g;hS%%X$S8!!D6hRU|nir8gBF0z;0)Qo}j?gyENwH z{;J4_cE7hovgH5GO1}~Q_p^@Lo^8a;P9|IcAbx{R4apYf=U>96Vbvvp^mmNj=|NlF z_`ahW=caW!()rsswj=w31b_A-{DU0;fb?5PE%O$w51nIfhlTClb)&ir@i62H;Tvbx z={!+iU@4YnSFR_dGs%Hnx}!w3uqO7~mk#8;RcvB#I^1wVb-nPSnQ%d2vU$1cNtv4o$@J-G->U|AJ&8FH$zWiA zsQhV@?<8tX_Y_Op2uPdIm z(vBldYAjb7aT$FSE-oGN@bZkgKli%C*pPFR*%&upoLJ?y}Jt^4Uec`d(=I*atrgGz3e{>nN9C$3Zw%hq}k&g7ehBq8p$@DzXA^DC2Vii>2fIFfizs9 zrC#}^)rH-j^N!X>amk*3zsY*x)%WjQo`_<*BiAp00Z(Tc1$-39<=mN|xej|UdQbnF zP^db<$Y4vx7xw5K2bk)J~JIXI@7&<#(WL zAaEkNYQAJks5syD?FL7igP({-W*WJAmo$eOaj5-z@QO8P^VB+S9btC`Pm@Ov%Z8@r zC@W&^Ry&7KurC`6Y(V%_2RDV(mNB|;EUtJ&6n@_N+s8|dvAOzIUQYD3(4 zs%x(Jh9A!#(a&#q*t#YzR8S^QDY3iX{{mN3Y*8JvFse2=d>7)5}(9Ln4&#EpikV`x{cc6wm_wya{bT2Vgh0w*ap(DD&vpjyB&}NNkl??~R#sM{-9auyb3#iBN(%SS(aI9hd}Y%?K&P<3a$q*q@)Dji!jlvRF@ zSe~#ASq?XYgkYjNmD2p}ebhb@Xn}tXN}elZ-S@E<=F8rl^-TqrL?Q+C3x}p$5rW4< zahx*$$m1Ndy-~;P-{1bbciV>B?|P}Z!djLh+J+6T?`Y{f5yll-lkF)c++vb4w!f^N zduz!Pw^t*gdQl&ocs26T%Nrspw$^uQ#lohnsr@a`2PwE^g z(GmLjuqjRDmF515u8(`c=wHh^xEu{pXF%lx3W;zhZnLbZ zhpO38G1W&Iqx(e$<@@Rm2<)=i;LBl{a_-xJTpC+~$8nx5&pU+NJby~sF4e4xQ~Bc= zG9gR9{?Ww9symOjT&@?qw&74p^WGHqr|mOh(fyh>35zX8p?UE_!tyrX22PI8%3|y= zMEf7w+Nzq=Qko%ciFaNj~-n_G4U z6e|fj#)guuaV_~Tt^7@nfXY1w4y^4l`mpigmW{XG;PR;^Yu!G~g+M0aD8=YQKfsWv z@TgZs*R%zAe{OT-*>dM_g{1hhtX4;@e0^_m6@jl|ES%l6%N z`AlIlju_6K$m!T(1vkmFjfa*uw(f{Jc5|_@>8}I-j95s6vP5l5Bq)nxE^&u1raGwl zoPeYghj@-l;beNjz0SXe648~I6Goy~2s47P3_U$Pv+`(6ho78WF%ICY(9}j5iReBr ze^_tTF@i0a@1iA7=$Z1+9j=mWR`D?RVjab@3QnXWLw#r~!`lQo_WT?^di>R%FDcRy zajZ)ncMfws%cyFvcl=9N_pu?B`}XRoSzX6s8-6e){!>YlW%qZi4Qg^pi730zl)yss zL7UE2KAq8k@=e>&%e)_vD(V-{Bx##{W~aO+%s zpX2_`c36y*|9%knG!QPnI#LCf`|Uv118uVBcdONpS&BtHeOnq@WBH}?d%i|AWf_>eN*GuHzN6ilvlhZM%%W{!M7J ztvxw7qq)D`Ga*Q2?6w;e1XR8T2|rBpjZ{5kYKIL+O3u}s;IEE&$~2o+$@aWyVeiNZ zV-b%02Y#76CTr^Z+PM0UmlbW^EfUOQ89sOPdiX{UA2B5?dG( z6Vro@u~=mOMVpYoS6HhkFUdXk(0px`oA#0^pi*l*%7muaRrq^st7hPi2qwET(djo` zZ_l*6iO}WL<42K0qN-OCwTN8szPd;S35bCf=P{QIRmE(Okr8K3hQ!jza87H7T?OmU z^f_wF#G3}_9c=n^1|vc1)IJJa&fHxU6mjkpYp!bD!FGm#qw2C;!i|9u^XZk$r#0R# zDJ8{hwB?s+b1X>evp-ii<)Ic{jwP%5fNx4n>C?%VE~c`jCiI0}#yuP~F}XD-@FYha zdzQ(`q2kFg_<~_pg`uR8PI2kJYiZmf$Bz>=BcYheIxc)(CDry^_3)c_H=pq~xfXOz zxhClcINkOvC3`tlI%`?{;l-n6@`uk0${mrI8lI7(o%)vQ@cLa-a?Z}Ok;5KGf9*QW z;ubka(PA>N_%U^(#=NGC$^{O)i4St_tg#EPY&-)x2h{hgaO2hLj*3OSg`tcTo5ZSw zG$s-|2DwOZ;{ehYh+&pAzavdOrRGKYYp8r%)kPxTkX!-cCUqIDSW8AV3SEuB?*GUf z4){xu?Dn2Boo9goHM6hb-Xo2l8YY zvard)N5PxgPRN=K(=iYWf+!Lkg4zGVNsv_n(L=|pmtDhFif%QtP}k&8#2`}=Tn2lP z3e~ACD{w9Q=}g1bGQSo7Ed&!~NUrbwXl34 zQXTD!_YVZ4j=i=N+nckI;Vgw_c3@MrRW2I7fCYGe5Y9ZTY^X`~FP9L@2W2|4Eq%q}qgHbZh+EYJ4yNu?1$q?JU zIy~Rl93Sqw#KJ!4%Eu`1Qln@{q%f$-b$3Mw_0+AeC-+z1*>jZNI!5EjZ?#}E_Vwy& zJ1+^dN7kJV78Mvsn*FXEo%;FCk;l(Guw)`&hQwcDFbZdAO%Ia8QNEfD>pBYH;=ex` zUKaT{%q)-T(jW;hCDr4fk_ip?0Qr`93%@wClGX)Uzv1=K3fTr@^NZWIZ|65a%K`d? z+PQInQ*7O^#aqzc(f*6@KN#KxpU@wGa}!WQcBWrlNEw+cyi5V#h)e~V>l_ID zRvmaaQfXNZ~L_z zspI$$j;2G{b+DDvu}ONvIO13F>epy`=1ZCp*Y@JkzlG&Hn2j%=JiUxLR*dKyRML%| z`kxknePLvINtC#{Wf94^!mwkA8m3HdMw$`C5ATrQn+>XmB+%;`T~b!`BC`gG3LbSF zYCj@5LK5ry`g)@MVhY%rKWi&nW0(K>+r{kpVLWM5u7DiK>_8Y0F|mM|qq*^ELP=t4 z)UhL1%vf2NA1_BP31TD?pzM;NbRmcUxKuydSXS(@{d_l$RZf#@hG+_`HD;EU*S|y?iQIxOxn%y!NY(kmFE^3xSKD9=Dvk_< zTM4!$HZNg^YqWn#r%ebA=igWGP_9cbtHhURDv4I{79h>vxTEvZj5BTMc!0z~a^nj` zEt5%8xShflPvlYk2Tb3vomK_VH3v(EiJ7*E45enS5{X! zpkhF;o2ZFj4ME2`^}2WL71o-OaOqFuvoYAC$byMEt7tC~DP45^Yj}r?i;Kak&JOzs~f=Z0sg2=l}l-`)3nBAfoG)oodF4s6GxA1~#D&?n4>j`oClXiD&&Gzic zF*ZngJ@Kk2$Io6O0A_6?k#|*{vpF{$S?N7|7f08G^ z-f)XumHeQjXTrGJ%hCDqcfj^oK_uDk-LF`lwdm`V;nr!$ip(ACnQkANQf^nJ99VdH zc^OCWw`O31de!p8tSo@)x#s?fS>L}Rt-BVkr7b;jQdMsI8B@|DE$rUW@VI@bqcnN> zR#T#rK%hgrdT^G(%z$F%aN49$yTOKMEfWIM#v)mcwqaYg8Txy>p<4b|2r9(c4Jaw| zQTZ7B8cbKR;F@w_AF>tI9LZBpHXVMjKfa)8o5pV2Hb)_k)khwBw?ri4o)# z*vjAYjV5NJHI`5RsCQ>&qWB&(ZsR!)z9qp<2QLms<&e17#iHPu6$n_AZRRcKn48y%gG zp}O<5K0v%*g+HuHf{jk4)#HMH-AQ4~b8BOU>P|a49OpT8d|YWsto5#KUFF%d>sr3~ zjwCt#K>6&(IFG;jmbv;RgU20S7k`}+LD``(_Q3J`b4Sg)O!-2UQdE?})wAYD3v1Tj ztveqY;Iy;wc*DSv3(+wYMV}?4%C{GtcUK5@{;?W z#$1dS=V9hJg58D_m{s55ZWC zbpO&*8=K~gGvgu(Sd*s8^VlN`4hl%Et<2({aS63+sGy}=-4`$X@0OXmWgeu(8uR_l zXs>w7(i1t_{Is;;`f2*qgU81bZQO4 z!~*)^x)k;EoO4Mz+iVS0aSKKerj>N(VIm@HB{A{=<(pr)Ku3Wg>GuGP&B4^7ak1ha zKHr)5>$e&hmZ%ja1DJk)dgO7>AS$HHQf@77Yt3_H0V0?Z5uJxWmgJgUc~nQMZbpt? zXbZ>{&+_<WgkQHiTx-XZTidLiB^L1qFM@ zB)51%mj#f9V@L7!TgIz|MfL4FY#CVYAp4=a^;luu{n~xl_WL-b9%)`v(a1{PaERJ> zVk?Wq6NwsZbDm=XrahQ>Dr|!JCD-4aLAeMqqZ#sO5s7DgewWGbQ<)p3PzYihz>#I5sO)iDLNUJb2Qz}Oj ziwy736N1Qcx3X6wbE<>FktvW}sC+BTf)`aLmp_(S8jVcP>o5Dn(avS1n)Xc3pO#6T zbC+}0z^r;`Zr=<{pkcoEq{*!}6>lTc?*4TxeI|6Z_{%@#E5xt(Lb>5a>-RC2Y`5tP zpW$}hJv~pNUJ6V4gjWI$>Z1>|i_=q9*j2!8WNCTWc{>M(^}SZ$Qz&}?RYHv;#Hv4% zneHTy3RC3M%g#>|;Q&co{QX-9l99%q#^r^^8#!5ONxhOQF_hk|ckJHzsop-wa3|YU z?|jdOUy&38zPmsmGHt4Wd=*y$iB}{;wchFw&^(|6>6N(1nsDCiMAkAHXoX~vO5)vz z?Z3XF`o~QC@+^n@k6j!-$jo>gBDAv6-Y0l5 zn2N?vxrW-8Pnj#^Rio$MeZRjHGlP~Q%4N(gjBtTLH?_PZCQV7(hT~NMj=1y#2~h=yM+>T-za|;rIr8 zazJjj=EV2-rNQ{84Kf%1T$4tqI~gHNu$ySAE0A-?Afu_d{9U2lR0`uzg#xoux zZryL@zfQ|tS4v3qPGsgHlQc=_k~@UsRr26~pATz4IU0#G5A)PKtSzE?DNDtSzf6n1 zTmVrExe9cgP;@}-i{Ii42vgdubGwFNg9E2TUD2s3?$0eRF{&Sr3`IP}o3va!h7Hgpckd%SAfG<8GZ?(vc6 zk2XRy&sBPv4hw_}2%Nx<__3I4qe*)6pnrcp*x8c@A#m@A(MK-=VY8!ex11nxqQv*F z7k$K_J-OKyjYOD4Bt(y{3ghD|ZgUM}PEA?9M-}qVkGo|lVJ_&cVfD^#ENkF^?yka{ z1XS#QcA_yAXw)Rj+V-g5{+f`+0op1>o0zlzkqYtggsSZC@Bie9`Ol@Nu(e@X0PhXV z2S$q2TC^Fn!8LM4*74KO1iRc2A94R6WD*?H6q-00k4YUJ!?W&XHZs)x_q#+E z1Mj7D*Y4bUQ}@)>^|~R+%75ff&dZN+d4?}ITy{@hE)tKQl+%1fmpl|K6aP^5w)H8_ z7Z>?->HNnZxke<)rzf+gN*vEnoyh*Y=vE;WG5&?APj#4|cTdKY-hSKGxfrT$ulrpo zMrJRy8kwiM!|#R4MBMu}zwF2t_$^HOro7JJ=e`EPVdmzm`aW-0qSaUn#y2wGp$%6{*J(VI@%7O2pa?AuvtIY)7?*dm{xN*5cHV`& zCdZ$(O|Mk-{~z-ShrhS24Qv)jK6ydp#ClJos1t@+?SgTp7{1hZr>bJ(8o#F&vldBR z$=4Fc>~lMw4KCd`&aW`zQ){-DVEz%h@T3;5L9qO1CoUj5a7CMVx?UGiJI~vjKYVy( zhtO7`#|HBW{f>69hlw`jSordwQ(>;3P_2B|S0$hP z-QDq0)sOF{M?H4+RozX#6dGxuYG{`(8Yr`dk(Q&bvh}{dOgP#T`P+0LWAE!B6p z)o(=jd>@FN9{lLIgVLwxwYU4jaK65-hWV+Qih1fYgdTXtHZ0g3w_R^*q6~`+t^Daab@XmB653jL}R%Y3vUYGOl zgf}P-ANRDs-WlA|mXx!x$RqWO%KYg0V|Mc&B{$@YrY-7b9u!#HI?XsA(a9jbq!8bt z(bIczT>A8+F-v4fk;^+|v#Oz)$pRwwz|az6)=2d5bPVxK(we5;$i1vyGOP;X(|fWN)Z zF~_?xFaFB~YsI+a`Hv3&-DtkaeRZZwVg!yYOd+NeZh!>BGu<0i;#D8huid1-{_Bh% zkA2>S^uE1X12N&0URjGIcGs)pO0tLA_QzWmO2=m1m2XP-6@tM`JffnBFP;~wu$ zLzAq?J8hW2h|qB;Mv*%Xog&u!Ho3=+?*ae%94oL1W1EfD$W@>Zv$hLpy0X?!5w!@9 zHY?q&s8uq?%*OOz0>FFxxe@UyQ(RQBUG-)kT7MAz;kCEl3f(NVJz700q?`jHkT1oU zUPdN_kTlw{4~OW#VQ8jthzDg)%(q42Xot);^0R1sV=uyJsx}_@>`exWs)xyd;exen z?|}oi5TcIm1EVnRIcmxwv>t$p1P$OO)op$yLeMx&Pi13)4lP3U;YZM8TAue>rjMWh zJTTf;Shkf2j-W(}kTIlOkA|3}^Y3l{qwnE5BDQW&W==7MUBd{wQHJJrOVNIozz5g> zfJLpWtsyjudS$)a%2CZiGr1}S+X_jTB>5R{upwW9p%t8B4ZG+@&i(MQmAXxv0}GKL zN_46)_4#v7=d-XGscT;-&Ri$ftEBZ!Rg7KMa__810fy>4}XM8Pn4!QTF` zlhZyT1Va+U*RLi{K?Fa%_%$F}C!2=AAFyAuJ$Hj%2OU_Fe{z6n@fH)+a1u2FQ z%!2nKgZ*Npuh3+bFG-^xk9Gz=&aExL)OL85V1Kf)u`%;q)56~0b+<&Amc!_&QTFEi zQJ)t{K8!9Y30jKu(29dwM-Qit>iN+bgTWZgl=!Fn#uyF~8VKhPdXk%w|D=`-fE@M6 z4eD*!JAo_KnPYYark&r$(UGu!m}kkvYn*5FGSOG*a0r)HJoxvM#mYorl9n?QT|Uct z{GFB9cH#>ldTbIhO7dthr(@Qg9Y;)%4sm)T)XnHxU-6=@KBYqg)i$8wx`*|G{2@4eHg2I2QOk29el3u0Y(*O0k z$6QM6%R^&=_TarEU;blnZ5 zwc9&1xCIB0{XuJfh^`4rdb(SF)Q?&QFN6IB{YPkEJs~33s_&o27T7Cd za$`tvthnZVqh(`hWpY6yfXxRm_)OKkZb^wC`5AIRIYGSuZC{de#4^DD-WR@=_upUBH+z3y{jhK1n*ORpzd|et|NKTYSU*`KnlZ)Q&>imh;q|^1Dt$DF6dA&AwPxu@7aPb?w4NTIW=x$j} zWB#&JFRe_tm6Q3C=YCG!mRy$LXjA=-&#cbuk~)(@8*4C=jd?c5Ef(!Qu)HW{>#*0! zKVQ)4{h9GWNyOXUv4@}LM&VekUwS5sAE}^s+%_(QrMm19oiC~NtxDm0p9C8{-UA|2*qAkzg>tA>} zXsxT1(Z#D3kvr1Z<#h5|qp4_L;NiBgakZ|YsqU6@aZeup9nxyt@zMQq#z;=*P;fN8 z=m8azKSesdjcNU|YUSbMv3ye|%?^&Ux=w6fp0)82y>??=Y6&fpnK7?+FGn-vFJ*jQ zek`#At!1+lYUY#N;wJ{~7jq={Dx>K(?EqjUM~$#ucEnF2i_th5gne1U=H8QtbL8;*>)VN`rJ@oMj61$-71*MknP8c$t>GMBb9(Y3V9CML%H+D|mVJU+_$bl6)pu3coQq|IV)8bMt$s>p z?{?>DM!!(G@J>fH&4r^+o%lUBbvzxHNN04oRd8y<&N*&F%ehI{QUFMlZOWHKs3|LE z5!zJ+r!5IuWjpA~h`1}lbD_aCXZmlk{0RzrWseKqq_`2)sUkM_3kViH8 zp`|77vpxf0Sv?&7rWK3R-9Z=)^0>U*t0;F@>fVtbVRnHYw-E5hK!DerE)t9dA4)0V}%hq;b@xc*jQwGYLXJ;@eH@pd~OtA3Tde^|Cp zu8->F54pNwr=8f2Hg8zdv8+njxgfoM;DhwkRMI;>#hd(4f1@=gj9(yD$|xpvZ=A0O z)@|&XTRM1lcC|9S(BRzkj19EbmJhv^lQUNsx*lKJBfx4~a;zq;%Tg?7JhB{98UG}6{8_R?o`-a$&>`rj%{CzY3=#{tkv0Rj~^i_ql9O| zz>wchH$D>FB*YA^$+{ut4A&P(>7matAHu9yD~)^v%^=_LpO0ZJFwmzaD14+}jet3U zZFuanQ{y*?gt7+ugjvZBPh30i8ydcUyTw5aIU#)wP1MJ6rviU%NsRPwUOiB?wfN;r zJ&xOP!|I}?jKDaAKq7nq6z;uXZYqBNwy%)F22AiXiGO*4F?%^kB?GSQmt?|jQ)7vm z;nM@&{BY2fP$1#+x%m&D_@{OpeG%J_rs zs_iYKyQ4SS@rHbXlu1y{P!JLh0^D4zK%&t3}? z$<}WdiR~rQ$ZU1Kg8#!$$E$!Os(=wN zfW$YRcW`3`B;0T6R5Y)sxDDO1(F_LYQRNFx0fSpn%a^@9!&+=RPZOdI^cBKv z#A`9@<0BufyILP(Yoy&CL$_cwJKOJ<8ce!wz$oKI^Tv z*={%s9vxh8l%x7X9Y!6O?DL9WRnlYJ`6**{wT<{|vpw044=MFenJKz9&OGwV6Q!o? zX%4?9$P#$ulYN2j%Np!)5gp=J8z#WDew*)JmLrZ+GEn|i(Mw_QN@z1P1?1f5KV%d8 zS6@#rICgb{bOYp*gO{Hd(HAxTn}mjn4YL(b?){X_5+afR9cAVQ2;(cU06|$n0t^tj zY7TWkkr5r-8$iA9FYVj5fqVyl6J`$Fc)JT6y6+(hie#IjAmDRrpp7E^b@Do}tQA;F zd{I+uQ`^ZrvkUkUNSv6`h|3z){&w6Z&o(NbO{}+i^W=E+imI>O#Ep~%wQ&wsRyV1S z#bVVGi?aN?jY4mE-3mxpNErn9TBM#^3a_~Kiy%$x0@-a zNzcC|O}Oz_ROCc*Iq#-tmU;fKb-N0*oJ5M8v<)I|7et!v*9`oWG^v+Aaz9T#O~OO? zUG0uTy^G%B%N zAlYr{eeZN_?W2P4O*JnBgt^NFxyUyB*&cXkBCM8q$1dInY2rMFYE)8@bu~-V2KLr9 zYaSWc96NT$(fm0P6~ybROGKZ}^XVH{@NP1X0~Y%EaKjqECpqm9n~5_S{MjBN7azv# zdNaRl!f_BRE426w7-IWBEr5R~otk+fpl5ihYmr!JJa3{xQ`3a5U)!q|-&RHb@>s_a zpU)%iv3kc%V>tvKD*$*ng5^6hBG*^edz3> z&-X5hfblZP&=)!3CMj7 zD^y{N*Dw|HS;neLn_#X1dj6>Z-mred)*qrMv*K%T!4|G~E0weN7`X*c7jc)be<=Ut zFMnm-_o1c3T$jEUQm2X}x%%2~wUN8=OMm=e{~~vW&bf-0*lnG;8Jh#JDO2w~uNr#Y zly_M%pz^i3siuMZqL$sFlD{Znlzfx@z8`9t50%&D+@$%XAvhra#NK)F~*nEn9(8&lsdX6i#9%r3_RRQd*Rh zLbNcT1P}lpTS{THL2--5o;?63^-x~mVHdlz!E$I;VKEf@Sf7xvb75(^+`55=B)}jG z8a419Ny+LmT`o@kP3vg31Hlm)G|6R}Y0dJy0TDe$v>16UPQ3twNrv8?=F$sSqI52~ z%{HR2mF9+?LcO*?W#`R2dQm;KBb8x1Qbs4`{SN<`aXL9?@W}Zf=+)t@_8}x?Q!G@R z44NY`M|Bd-TjYKJeiGj8`&k=+qy+JqcFlhA~~^!#5uBsSA#?~ zMIBp%Ie3^!MF0=5lt|f(Ige_0bMu={2I8J-J|Q27HsVU+0nE@ebKZD&5I=n?a^i(X z=_aH*&-)W6)u2@Q{k4>pSWJSTlBi!9KZkZ(|4)tc;&ubn;3>tnw*@6T(*-VqLxO0% z?Fnp|plH#4v$F65T+)xY56J8v*cn-O#?zA>n<$|i(Q^Xj2+~tG+v6XU zgaBJ`-Dk{R`|$bm`v~xMz9XQ3TA9h#3?(v z7V_y)Q0VijN_{-{X?=lBm3MNYKO{7W%7=I@t~yrJ$n_z&qCD-nVx-B&7UQ~ zu*iF>Y`U_Z_uMtLu;{LD^L}bJm!$K%hEZ0|3_ExQ%+6l3?<&{`O6cjm-L=MBF8`%QWSDSBf&E=z;EvE@Xi6Py`jf!Ve`P0MxChT2p+oP*slBfK#9M95_n(bKm znC1s5HNW6Bd7=G21@KafOGreNIxBTDKaxm-6zlXeopYxPR>6|?^ksXW<7pwbBj?R} zjAjLy*J12~V8m6-Q=P~^CBs26#4)D1th^C~N&bX@;sth*sAJDLLz2hQ<2xM~aLTpy zRgmGRZ*abXx~rY<**0k}$HsW^+bM06cBiwTRrMVx(y_HWe&VPsMQW)F6UXh-YP*+@ zrcF|%`-NXn5gHaGgkPHDkP?gN3N|rI&S98mN<7c0SJP4#SNOTu2I6;?bdg*4v*T+l zo3u4ro*w&_6?s@LlJa4fj(UD?^Ytbp*JMzYr!8vo<+508GF_#9aqRw9)#q(r(4sja z+n)Y4T)i-CqlVP;4*MD@Wr${6dxoC${bX$^{wy3>*0jH_WA!;jyTYUblV_D)oO3R< z)g81)3)QDX&XtcX^L8+P^i*>`;%=xpC#!n?u1oap=N+N`$0q*XYU&Of7qT8w9b{dZ z9{Xbgb0P2e53{O+ZMPhDgxKWxJZGQ17hK*}hQV5iU;6m0(@)b#DPH1ND_dtbe6U7d z>Cfjrunzum$7GZ3532I%8aRg=4iu)}*#`)$?Xvta+}p^w#$i`Hou_HCvqq6~FgoRO zdmOLiOg_*S$WQ!pI$u>eC4a%BKBsPRUacYeVYjl7TE&eG92|Fp=jtc+maUVLceQ>0 z3_J&NYkc#R5;PTML_umW(&WsBL#X3^Yj&@ze}}Ti2LIz#?K?|MHzzC4hj#OLEvV(v zNBkX0DmxEDgxMFn{O9m7(*rHF!6O5HW@vR&Sze%fHKwZs6k1^rC7yfvCUAIGxu~7r ze7m@3+0Fl(x|0WEZs4Y~PXSnrK0zjpUK>6$8Twa6sRns>va~n@&VZ~DvN{c0#`!?4 zcd5hb<9pN4;6bejY8&NZ`n%LdPUgqZT0+zraqvis4`oHsj1GCQmlo$c9AWsy%YtMe z(+1FqvfsXK+oq8~g={6_R^nLv$Z-Z_JITq!aD|e8fl!qoK z{sj#F0D1dwQ6-?|1ds(P0Du6Wk?}Ln4xcR;BsLt+FPM=or*DQc)^{LX#MD$P*bzRbCDUihtd) z@Y(_PwqxAkO!19{8?GurLPxXy)*EUrL#*QP#qf1ji6XaBVqFR5)4c2D7oblL_$;S= zL}V>0{r|eh*MY={C*B&6z(2)}*=zUpO__@;vMF zUdwGIT01Rlp2~yR!`Z@l+LG{HIW3igIiOOHBk(QHV4;>`XZ5QN$air|T`1i54gNE{ zt5rxTO=-S!;|4WR8AHiGGxJXV9yCxyGKVwhTpY8fR_#^qm>K4pkqOqPhcN-7oP#vp zAY|*49yrFi$p+zKh}5}%=fp%^+Nl(p7<~^p4iIESu8+Hj!~?1z>j&TY(A<0qHaE5J z?d41R5js0SKOtR9zNxNH5}N#qo88fp0xkVabmq`Wvc0-agEct3i9e%tfU zrwJcU{0*g}RC%-W|0C);z_H%ncPR~;Wa^wRaR!hmeo=r2_eZ0AzM~v z!^$cnNg+a#tnBr_KhF7G|1MXjbFS0t^?kqNdG5*g=E<7J&+@AKF2ww>MGh3fF0<3lEiNU$>@vs{Tt$k1660LJXY<>xYA1R&z3T+7O}1Bwz8DbAnB`wQdk zJhX%9Td@+yTZu%9+jK7XuAk0DYkqlLxx`1ILH9Xu-XQcrXl-doMNy9QFcSx57HYXD`|mi$*v}{* zI^`j3E2RI?Gj@#+-J>j;g#PpCFw)563!QtOo0|PR@tv7q`n{{qsM{U@_tJ8F3dYv; z&!gMxT;F`p`gQ6#ex@IfwS^+v=#t9~u4U^esqgp%678`OM@Uef@FC5xa0LMdf2&KP z7$7^Y)`55p+GPZ_+An2%kpJ}Qd3Yt5UU~V?i^m%4NlSOatx@OARU4BuxXlcIxp+nD?Nu9^22~vWg8q8vNXF-?JMTKUU)u_4 z)2Tn0-+ZZ{IDQfwGRFtK%>W4}mynwBTOu@PEBJVJyL*sE<=%amU-0PHLBH)%Wrl1& z>OvF}AIAhg0`{PCBFJ!W|6Q-X@^yn>+7#N)3i1B%u3cd)$vP}>xc>Q}i{(;N5o-J7 ztL2A}vPbF_9n%Uf%#J-~T}5MQm@-P#a-8Cs&3&%MW$-_|->h&~;KYwlL*JT*r+&M! z?^R=-80?FYyB27f#zW&vSE^sKFRL{?q>;MD|MBFb$rgj5M>#=k2i4dUdcTVOcy5q6 zqTnraQaF{R6~?EG{me%G$nPq3s?X3HQPK}uIK`|GUJvPX%hKwcY{ zoptxvaET{po_^S?s5gOe6HYs>Wbi)gu3_AFQrlRVY1=f|L(}pIC64JxqfEqMn)P|0 znVhV(LkKry=!7QfwMFic{TmS`T>PzZn$?@as4wY>#C=Rgo5HqP{ccr@DRF-C$@Jwr z{ZQ-7v!?N>-;(}z`uu8PKk1E`VO6D!oiTt9{<2d-k)S_F{Q_wZAUP?d{1v33{YBja zh3660P3$XI$9klY1uyv;I*tF~PjGfKf4{P;d}-ve&x3L9)8UMtSa7phvxbN;-UQ)K zug|Mo72Pa9L93;PF^}5z5AOT+MW1_DeMZ#z06%6u%Hr*eGF^N}?~yl8;HXt5t@zI? zY7%@k4t;3PKHU55FZxQEgy7r394P!k1_yb2?9`Q$_3Iy6LJ|#OLpa^}k3)`Qt1yw0 zLGYL9#Z`yk+ESy-H$FVCG`X;#2UV0fex|n0k%mP-;NffebT0FsMpStl zLahVdOSf^HyDQu_}c{s4X(toI`#B) zGODdDK6Rji>3D)2RayE0`txib)nh;F@-uDA&2~z$Wa(ZG^V^LDY@kB_+?eXtADaQ98h!WLlpjj$RVL$6wf z(ju~CA;emSQjgwy`l5G|^$N)ZAh-n~9Wd>+vTX+%x(s{=ei=f#;W14fwPj;I0mnmjg;rY6F(cq|PYGv4{D36dB|HY~*eLUN{K zzfKAwmk0Sr*yBy{!UShQ4kbL5$U?tEYTg_jHH5Nm)|#D0Ob%efEYOT!5rg;{tefAF z^8{85B>0#(00bfMBjoRYExq(Oo(5AS0q^!)Mo-9og z^G+5J0>BE-{;RfzR2)+Zb`qOT^=m{<4&fSb2;jk4Sy>fdzLY27yJNdUM>rc@}$oi+sewgBi+{y{GIHYk{G8A(pe3w4F~j zNp44=Q9;>Mx@(hr*R2z!L;oC4xyu@~35+qEF0{4&aO(Ekr|~J=IHNG4Xex_E=RY-= z{8`{A@tzt&AD=(DKG+{?zh%vfrrGlz93j2|0;>Bcu2X((!6;_>Zn5M6MlmOD?{wVq z;P>swn_pVKc~t~v0(@`G@Q{PXV!{Om2~>>;?4VxM2v8if7bZ|0a3x|wAh;3|A)y~b z;#4n@P7X9gX1h&VAonHz_fb{;hpj&AB{P!m0PpS%)4%i@W9GQ=%9Jttf-&SX=asZy zA-kU{I$VQWbK0e-s2@|`%YbS2olXCCfEN`BcstRp>mHfYkeC?NLpWb?Zk;aj0W7}qH z95#4ijz``Vpih4CrOO&gLD)H^&~PH-_I*KV{Zy1SrN9 zo#}dC3f@Ek_WF;oz(4FPqxP%QTs#zduITDo_8St%hb+&Y5xI20FuZu%kWk{0{UYVZ zwwHL`ZFZZpTNJzg>FPFisX?`c$vzWD+oFXuSr3)7j~;RQJ$PxR^4X?z&Iuh(+y%u7J`*A!QV#mH;5uH zGmR=$gB{OXYMbo=#bHR{RyH= z$U246&6W*{R4M9N-Za2(@)tMt#Lq`+YhlepM?P|<91kg2BM=4*UZ@DWT)+$sCK`!+F7PIluRExs4B=M z(VgOR?})NQOgR1b!Vf(%PZi^2uHRW78`>k25UOH2%Xge6^w#|w3aWp^`+QPERah0C z4H!-KwpR$>x?p9*Q|4G9a3v4@KwiNSFHJNcS?I z#L|%RnauX1ZwD=pQI&TazdYBSI2=T(Uan6$Jo{)_JIzsQ+Uo6ek|`}vaYOy0$kgS; z;dTRut*eeOh?=!MM+h^PZMqQQ4 z0#Nde3c>QHB2Ip7Qj6YQKv%$a;P?;J6crZU%e~k{hA(KqUgJ56>;?6n`ZFVfuuVRq~Xc&IwwVi;99dW7w;LD+20o>{c%~mB?L@i{FiXZ zjSxy*fqdI+w0V)lYdEf;Cab=)buU=3Eic;q@KZjO@Z1AF#U) zcoA76;1I9;YE8K*GhYvb1sM_$pj81ZkpvcEp2y!O!L}r}1dnzSuMBsBDI!*Xhm1;o z*d;K<2wmYqg4fO|cgwGVRl!#GBl014ht?Ro1MXUfvxo8EY|lP#e?4jW0iq5OZ-^~y zatG*Sa9S9okakGom2sKk)sc{(yWi%}{4wtdPHzM_T<47O$cgVGvaA0xR8URligaXB zg@auKq}e|v2|o`1aTNLZuX>(142fQBc=!xlicnqSKp+FG%5S3hsmEkw_dBF{qSU2? zcWS_%ya>q%1%(Nzo)o+Q80D_?zT5m%%q^HKaTUNGKN|!YWy-m`ivs@p*wS)~B$}g_ z88deL15m&{Gb)6t6;h^8f-)3xg}hT=rDlodH-b79#U%%$APM z&hZ#m$!q-jWzvmw1Js1-JO6e`3|8V;mHlN`GrvWezA3_@N#+D8=~xJTmbt=R}W9@;|yrbuAd&p|3Os(+h`peSUfkHVa~55Q;P(6i#pu zZl0qXV!HnI>jOtG8NKeagS`C{*-vhIktr3|Qz1Hr$8%$rY&$w5@xny+xLORj{=d?L z^Bx{gJ!8N%FF;gEl(Pg7CHI4|QmFqbiiEoG^vDL7_`9=UJITFGdj1@5BMTWLxHNM5 zN!|%o3o+)4`E0Gx>bU{k5+H+f_)K7O%hS^x+YPH%RXmzFXoCtmY5$Y+Rsi| z8P~H8_=xi*J$}oGX0h9?LN`@tdz22H+_SO()g-wG0F|u!6H?dj_gm@*4r9*Ev(27b zdt18%j!P!C5BqnSTSZ(xyz70VoZ|O&g0-rtmp&o^Vh}Dg5a2jf+&ktRigFHx)FxAD z$lTb-b7Q-$yi9AoA#Xv6xZnP>s>M~x)`r9rhdE{*?RGwb9T)K zitHB<)FYE!AMdCzRYbgiD@t{)8{+78J^sxwcmA3lXj@P?^!+IY2vHMoQs%m6mkvlW zN9svkl>Z;Oyc)`)&@(AsZ4-Z9h-)7od(Ac^Y)lnypVzMGKmJ*->x|WI4$iPt_H?}m zQ>xdR&o|_mu~TwtpT0Jd_~+<;jl8c;DMim)z4$ag$#-sgc{xSo{==}rN6)dqequ~? zke^gZO=qE>)%=xNo9F%GQ~wuhdpE97*;3t9=Sc-`<1i||{=*|L2D(CX-wu@99J-t* zw%@u%lP2N7?94Of!RL;N=KrKjs|p{nD_UxUFiLZ##U^ySwR%k+dpJePShZSof!5O6 z{|%I}bW?w9UYs>P`!ZAGTC?MDhjFZ1#zL^zuawPKT$3tbmMPr)2;F8o6TfF(ltu);OKDACF z`*ITp3UH%w7H50PpRO!FW?0w;s9lEH@M_dNr z56?&~%5*h7S!pbfvF`1Ir02Eut;GR6R$5pNcrUqv($@G%YVmBT6~M!zIhLmE;fb9wZN-E%5q761fBD~E+^EOCisd{CN%izn1LT?Z$c| zeCpwIo;0RbmTHdHyhXzqtOZm^9M%o?->2>{gA>{)3NM9GiUKmS}GHNDUC>*u2_EfUYj+Dqz> ziBwmvPhVpjVRSg$4nIEq%;P4z_y=!i*r_hD!Pq%)Amft@12rB}LsmZ8{>Lbm=iErXp@eiWui-Y!Da-pLs3$@>r#o90%;A?ezlSOMIOHlIc zIbVsKQAe-i69NjC##bdgw#+i!R%K}2y@HAjRHu|zm{lLo}L2>V)&a2=N#6ck^}M8c)J%cSl%z`I)C^8Y;jE6j#4y} z-a=*NTz8Bc=>9^i#1RvxoHkr>{{l)|64f@t0)iqPenk_ER{A?Dn_$Qsf4$vn2cp`m zk&Np3)on0JaY-IZJQ8S1MAdihU}&ok1944g*E!xG2FP4qLa>yXxt(Mv@)dl&Stn5b zbmv2ah?21ZsrHb>{az6Ta@H6v?vJo|i(;Iugs6omClKyVq8&qY`HgeW-@^4kM4XUL z5rh|03`E=7#-7I!EOC5zh1?D$*Ujw#&5x{A*ofbL!i`uTe@>V*y!-YBs7;Igmta`H zRD)JKjGwkbd-1#C>_2QYV8x(IAnQ2#!(ltX%#N{6QGs>g97l*0RM^uabL-g!XoI-e zq4T!TD!FO<4aWy>0OuD*D_9YbHhdb96|7N7-4Mu(!OwdzRN*_uI^4whB01j=JY}h> zuGXb!fj)vPTe!(Vo<|nm)o=_9b|exV!gJDM_}O)WH09tdP;!Qj;*;|*BzYKTZoK_| z9nD<8SN8_qD=7mE#;av}=vKVsOi|PKxxtufVBTTBcQeppZ7PS>Y^+whk=+iKB;uc(ULt0;S zr;2*XK|YL$z1Rp4|Dl02**GkvZ%rC>KOJ%Zv<4tne z$fg6i!5A#=r29q=@BUZY3#6lMBc)cI1(&NaE;D{DQ(SuDw*`+yJRBKvqm?-D0LRe+ zrw_$nLLK|tj zKfs^C-~5x8AoGcDj*%?n|ZpFuQR(cao^~#B`!GUwo^cbW7eQr$PHmc}r7Y+s_}CAAIVu)@pa^5cSlK z%d{4zfpP934e89sCX{Z=Znh8KYtd3}aYkNpZ!>q9iW%#Cg{|86@D^b@|D@R1D_1Md zA3pXdu$gOU-s9m*QKknuM~Z{Svz{;?F@D%l#IUYy;xq$|-t?Qw>-9-RyL3`dS1X2I z%zbn;pF;T6B{mYY1ZcIBKle9GTw_0|fBkzGad;jXdz^`f9 zA!*h*oE=*8;3Erjy0$k*Hb^oWd>VH4?>x(3C-|&LAG}C39?r=da{CUZ0v6PWg? zc1^r`P#D#<)%zUZ8|UEQy6NRkcN`d=%&zPdjfd1&(%8|#T0asiTAnY zhWGU02cyoh#xyC$NQNpPm@mskDz?Pmx(rVk!=1x&-M$A5H;lWCdHGqF2Tg~Z0Pucm(z)y&(I^xiBooqiO7 zEs2HmpRl8>1EclF!!3o9HH)_;-)9W2RH`*`fA{sIZdn4ak@S84;L6dO-d2lA{Q;Wt zxWnE(lW*R6of_W_-9K@$)z{a@s&K{X@UraMB4~I|K5cE*qUxIapZBbJp?oUeqj}@R zoS44lpZC>%Crs+1E`wc5QVgjFr<8VSM>;CFemcI&5!rC5AToV&-Ug585OZKrYu+!c z?{1%4uFITUa!BdTBA3Y?%6=)7#^QmC2S`32gFi9>tS|Kq(>*i{vEH4~GW4pKN}O4F zci>IjNQa@nZCjhDNBOSk_2lIp0tA6~+D3PFsq!vS?uofRY#S#aD9#)MenzOks(!hm zjA|<$0g6k7R8)-gIL9Oijzlu-2>4Ary%?x46H+;SU!0pH?hDvRmbdO-_*@+}f0b@v z?W^F4Y1H1<)8bWmev4zsk(UPOMwy*l_)lGrln=eH?W0e_x~LmqIiafZzh948YtEjP zX`eF(W<uU*D7c{d_r}%-C?QY`pwSS>r8wUv=Ye=TsG9ntIQ6MzZTVNr>#|ecS;PJLz8T1 z5U&5*j7_53@Ll22ef;$4Z4{+Jag9hdG`>|{b}BL;5;F`l_|Ak^#fUatnw}ou`P}pU z_w?AcBIU2v!cVHW})!Y zwz>P(4IfKY#xCBUz~_{%P(Z zXWbV)w&_cGHD9bpv|roT(W2&|9PQfUKSGpyBQ8cufvmt|Igr#YlLZ02gE_5%$yYYB zL^kvi0phA25HWDC5lNTB=JR5Zg2fn;e^@M5Ia8#w?!p8EuA-4qmKZxm-ssiZeEM7?Rd@;+Kh zW113u4rKwXIAk7OYXMga^p|e{r6RF*eb3E5WhC~xt7Nt59iC)g6447NRB^g&;AS^e zn$m?7 zLBMRoWv^Rg^dKQRm^gvdAmu}}ccRpp{1XfG40LI@r5 z@tNFs)!xgvxsYY*iA@Hv6W4_SmCs&K`MQH|amISV%%>T+1(0e2D???Oe@@6`S=77U zq>6DX;)sIem|r(}FFTN`MA8sJz-F}+jcL*9>gtG67-BXc%$_}UXNOaq%K1w3Fzzjn zf&)|5z$bRmrwj@$%u>(~kc^LyA8%;B&^lu8((_L|RnD0)iLIIKb-__&itoh_O5Eq< z8bOw$!(bzt1n$?C;1a{V5&i4P2t63nbmCDOuqqwZV*p;DV6J%$2`!nFVQy+{Y@}NF zV&Ln3xpYbk8U&)$b$Hci605;Ybl9jYsodQBs*sPy_dHk&ocO-dH|MIXUz-U+AQh*< z{Td!^9o{hd_{4nKO5>D=!SY>-XUAV+d?vI7f!_gZziYyhAQYL-Eo^r@-YQ7v7N^ia zt#56?NyeH*SG}@R*_+msg5U8cT3H--BD%$P_5uCE1ic{cF(_Ht*kzkptebOkYvmuj zyw@_!&biY!(XH7c==|dX&5+EnszA&S$>6{{$gBFCc|s?QbmQDM6<83 z{z5Q}&m-sR9nStZXHf)7oj;shgd?T#6~&BUb7$tp1B`!m(JAf?tiDR37f)VUvoJGS zO|W1Te&50%Mh4l^o6=rK4)WY)o!%QXrY|eRKfg!X{_^h4`DuZ5HI;ey z(#)6i{eKt?Q1A5QNr)6^H!&AW4N6h{ju^xm6Yk{0N9g|?jcoY&`*)gkW@f+XfhZ~J zJo$F(5k~(#nw>Fq{Q%rC!|TL}ASfh1Y8ugfkO^zugV_|Zp{$mPZ@lu52m?bL&THMp zJJ5_{6GBZleh1Ur$1+C;#Xm9??-KF%(U>`+so%1ynoz&WZ0KJRC`#bqlMVx0us`bw z8AE*w4`3nEudkq_lzez4hk4QHRjdQ8`iBgN~PpGy-wurd`8;m zW3}A#4Pq%<1Zdx}d;_VY^U{DVk*0rRN63&wiBj6#>sI*>=^qSw3mCuD(z^0kz*fnp zf3x(Xw~W7j_*YM^#ONeMc^q>zesXyUv1_zMQVz0o-)|i}Z=5sa8Pup*tTwGIg!y{| zvgP0Gd#yCt;%HfG_Aawlp0$cc3iSNk`RR_h9=GhU63BPwmqE6f*ML9I_h`j~)oq{S zVpaC#vaipWDb!4QDB=ie<%l!0J)m+_)~IB}dBcJH7{xW|M9*xeI=x#ml;1ZH>G;$!|jgOQ0L zJXoIX^YMF**&5tOy02vGn6+~hgDH{b4>!FgSm`<5{+Jpdhz<4M1;|o6Wk+i+6=>V$ z>ZRiauxZ)uo!e8{=Xw*dzm=PE<{aE;j_)MjG3+>n*A~7|g(uTGeu?Y2ed}HIQ#XlZ z;Lb2N`=W!xwK!8=n&XR++lQ&yi;3>z?>>sTF8En0Gnj|k8d@}^KX2gU+?|}2l`K^D zDJQVeDdv7*9y84^>z)Nl@$yfFjdfwxGwB7AT-~+JQvU08E-b^`_t;By_+-ybPwioy zj~mYh1lKLj@mn&JO3yQiz0`Y_$~ie7-Ct^4DOpLt5~B&p%5~z3&vE!6s|`9pr3R zgEF60FT4jehR6rZ%B(_3Cr6-h-xM@-&FA!u{-(8z%Qn`5X6n$qDV;!M7E91|q%5*> zF;t)UI0Lok?l^8t!dk5cEb(H@C7J&68gAmxRJiJ2Iji$Q{*qI4V1G5smy<(FDtmX- zX3TlA6}SmEmhTk_|82Y|;ni4I&Cu*zmfj+6HWFM=S~K68xE?;dxME*tMK6zIySC7~ zS(`Z|j3D4CZ3IZS_UH6N<%&sft^03UwmoW2HBZ#M904N+PT3~5Xyu~A>;0PO9gFUAqWlG3y%0d8f{L4W@7jEWz+pvr0xVYNHKLv7s*XBqgx1zVa%&0|DsPIn4M)W`RCt(o{LA`!DInaSnd zxbObzcLx7Rcrzu}Pcl?upT`Pwqk&C(>AOvM>4REI9;lg%rNjDq@4hhM5cm8BX^tURk%_+ zY;9pZLyG@lT}3QG^uR%3!EW0&)eJ$np8)SZUy+2p^-MsdMZ!pqeuzJ*?9I1BSB8TcXlre5mg8O6f0N}u2vt?$4y2d z(p7226#VA>%?!tEooY}b16u`iK3dlS90t6a_<(_BchuJJKTQ~ywEnmLs1!a{6eASiezR&tH3|?jEBph z8SJR*K*Yr?XiXL|2Fc(fB{7twGmkWi0K&{$U4RhIy`Bgbi1?LkII~E6f7KdzOn_{# zq+`Ql>V>i0&k`to>SjS9TnE~T`$yLKeu&Qy(?k)LSJpC~t#jWqQ&UHGi-L2J!S7<& z>{^DvHV)H$P+Hpv9F`?TQR=(eX=vx5#9i&{L!43j&29ns#PJ6Hb08Nv489Koj}Z0} z21ty)mGU3v`r&{xO~}W_LN<-7*Z{=le?BW5En8q%bm8S7B`AV|Z|)UXdE#{t{e@N4 z%(o0_j-(O=AyuSA(4t`v1f&c$?HQG+nlFH`l9yRMoKTIRJA)I=vg-=ZyL?5VD;vk3z}wkiTa6QC0*P^9{;W5pb~Q;-b79EHUwf)Dx{{ZF?KPQ`0*e~;{5|+$>!_n2Y>KHaN9<=G z$>{+%xcZ6zQjd89(fyt>hM@C6Q!vnmnaL&;NN?H?U?1XVc{Z|6B0)5eojEX9+Fd~{ zL-Rvw5Zi^a$Mp1p59#k8$oV5H_2U(xmaDmTM*DfH9=SO0`NJi?*I(najnKh7jYr=g z`&;!G#v?ux>n8$G3BZn3WGTQHZdI}(le#`cbFF+GD;->i`xzAXI8*Aih)xGr9!f_B zhGFGUQ`<4&qH2Glbdca3(n0(gE$I1JKq$qP4)bt4{a6q;RCFVa3l4}wlgB5PqPwd? z@Q%+E7&oOlF)Jr=N6UGYWM?12F#t9N zxKXSAUZc&+#{>41#`U)b++h@iAW;SvDu8pS-D@8_+oe76wwb8~nY~`5Oa?*U`99Kd zDyII8n@VLTq{1&U7MZ_3PLA zs!O_3g3NSpiG=F=_Y3*p32_Nm{JUb)Zvv1aiv_)9optR~J+p?q>2?;A7cx(@Y`pmd za}rs$6}KK>khZ2X`Iyjgiucz`Ce=}QZU%o>wCZKUmf`5+#P=qI&v>jdFKnF_#Z|*+ zGTq@6ic)OCd+RwKWHV@;-mCUle0H{3_DJN_G`*nL)@ICREgOHB=?J3W!uWCN9#@(x z+_Bo!kRnE@2YkK1(fDPF26r3#IvKTzYkqF(K_(Q+2G1!mxH+H0AZ6u3yLq(sfflvK z;`YMWzIJt9S0M+41JwKuckt0+GvHOj)I$cygu{z2<06X^=@iS0;?fr2w{G1CJ zvG|qcad^MbUD?-z9ESBX>%%O%GGr{WAJ4D_@8WBHw(_ZYyxzj$pNT(u^EnK!8MYf` zK6~>~EP0c2x{ZdrR`amg0dXxhnlQs>VcSw=W~&iXsbwcwQvS!}dYg6V!1DNQ#ziqL z*&k;rt7JZ`$gsKmH8Quupp7^uje04wgi8$mK63??rgQGiN3HUxSxyaRLjKJ2g=gn2 zRaMuW8V8I#nA7{hsh|;3cz33=vMgQZD=Vwb;|6CwQMqTGdA59$d4_fQ@%Q$Hop|YS zS5M+BpD|Z|m~lNtTE;6*a7DvYxv8`BHQ}(idAx7gVNF z&!C*FpUHP_L-cQ1wgd5YYzuC}a>I3=N@+>MHnp5RH@~UzoG_{j*B&uyvn}>_6G)9Z zkgNZR+EdYn7X@#>Bc$z* zrO$3C>!wKl>8>Yo(pw<dfYEXr)p^StvtjlTC%7#B$UmpnK? zvtnIIPpkXn_ccK`X|_Q~FkYUc$tjM}wE<s))C zZpv#Y{OHX&5*%KnH^0`~Fx%MIG)w*f|NJDQUKLHY$PF)6$6krJ_;B+%m&8=lRlBW(=sfA|mc5x>VJ5 zA(8Hn%;@1Dd5s#;_cG6*kSIyBkcP7WCe# zT*B9QwsJ;lurV~v=wX8dslnfyNK$~-G~Yosr6_>}svu z%84;Au*540ui~MTd;S**h^CafL{k z?WN#~dDj$l;;fGrz+HDxQ1J68NH<=US#X1xd|A6O< z?Ci=TuR42*w(A^YcK7oqo9YW_DJu7kAx4J2JjzkPn%Yr3)#nrh3g)kZE#-C$OFgvJ z+jOst<>Q0X%PcofYK<=+`grc`XkRAJe1>cB{aLX^*SC`XC!P78&ws0J6JGbk$2wrg|H5hk`4HhNxp!mx~U=42D4

    ;X)53G&<{erQzsYbb>j_rtr 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�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%0A&oYu7$-1d#B$A6*Stl+*MXm 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

    #x+ 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

    9XvBEoiNohce@mM*92#A0Qr8AQp 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ŝdWN8$=Q%0UVOi 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�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%0DL~DQ+9(9?{9t)O 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

  • a_vVh02gnseiaPn{An|V{;|Xmi$0sr*fZ=|ga-y0%#uT8@TYD}zBM8nNSsJQVB2iA!BZkxX-|+<+ zL^_H-<*A&^eT1&fulU@f{BMWix;}C--rpMa!C`#n&||jEN6{YQHL8NCUq4dcD@IRb z&C&<}aR^6Jcpx-@5-?{ou88yL_ZD(JiyH!qTTQs>)Q8=MNO`sQS>VB5kkAM`$3o5P z=YE=9sruew|48|@X10r=fv>z-&xxJZu?-#TUsqDb3hge8yD`osCj*4HW4$*Ntdsd= zbUP>G=VdPWJ#oF&sEPkt?QpMFG$Zxl(vO_NUv;WDV!wIPf3{HrLW}N9ZMJmdXl&Xd z4K@^%Q_?!CMD)u@>wuk1H&&zS@Eh=+E$8pP!E>2&ihF~<{A~=P2iBXuv_~@91maXT zaSi++LLunKjxT+%NWO<#Ize6ILpNiKT~%xH zzJgU{yB#EkGO%(kDmGPv_f%Yk-%ti8q>r8%gqo-nmT(~FZ&(CLL&wW&$(19Roc06) zSGpXP^yxBO(ja3j1L_;S?>-uMjUDM6=xJp=yBKJzw>R3dk#t62G-IUi1+=U#6iqgQ zr0>O$0iNG@eDzl<4+$ELcVO=ZfTqDioZwWKXRR=25ZW=g9+i;eh01!5g;HKB_RlQ* zZAszVT!v?X7Lepe<=##pQx#y)g*ENped$=sLg_~D>ljifwc=^@p9(LcL}KyNI7X+X z`wMLu_mrzt+`e=i3nUH_drxA%9r^K!8OSB18`g30QpW$E_xq0BD45)YASpa8+Ft0k zO{RF(5}!=(lqBa`yg4XWl@NV7M&w*b4b>g`5kPFb!8*8a7m2Ya5BWpH0+*Bk!CL$%)N1jfOh%!v7mNJ};S!@l=Og zY?=T|l(;nVMbd!+0dg^#&AUS%u_oBBS7Nb-;wm05TZ23i=FmzooiM&8Gnz+%(ydUm zOo<}GPGGs^AU<3(^Pc;K=JXItps9en9r_O99SY&`4jt`XiWnRrYbX9d;)SK|*g6pQ zI=I-3brsXDf}D)l+jQcBSBS=&DWJjbkD?2(39V<+pw&zlS;8F?P~LSW$$;^!j<_yg zeahC4(OcCIO2{p0i32YI6{8YcfDnX@v%`~Q&so1(5^edHU=P__5c)so!q6*i!ul*| zaYu_ryfy;*o^j>q4bWzy`THqhT||NfUUu+VnUN;{2G$N%z%VlZnV{8BNBMxCXrI<$ z{M_I&(CNomygmV8F(dcg0jK=YA$y0BtTC{Qp2zjjQwdL$+j*X0v$YS{?izG z@q=x3AD2H`A{lRcrnq86Gvn%a!b{KV4v}JFToVllv#~K+eykXNm(Vu9>>F5rmNS__ zKW4NqGqM}ixg0}~LTa73U)+<(V`1t%7&60d9FtbmqnGrERU5flKquM@gVWzE;qQN9 z^Bclfj;t00ftg4ISjYvLNNBAtXAP!V&uc8gg4n2>a3tfHO3O3RU+;C}R#!cEpklD6 zcktfT{5-y>VKs8glrQsY0?8s=XOwY`jQivH*9Y$n4JwM5AIx2JspzDwVcT2#HKLbw zcyq9Xyr9Qvo9$s@YxkHhB-yKqA5~DbE9auDVqU5foz|WH3)@}_*IE6rDe+LBadFn; z$F+8z(jh{G8-mfSiMEzt)a;>1kT`<@jj)2+!AlCnx6Yn_C8x8BS$ulVb97;eYr(U6 z{7OEw^e?_&R9>J9RLpnytQS;GamY6-XKxcv_F0|-n9G6K1f9bXT~T&n$p+3!9`({b z=Afbwnecss_ziQ%$ES||&w$1;nEvv)bLVuZU;JwkLllyy zPNfJ281TI+h73exZF_q=A%kNZL^lM!!uhDDr?aXN@d_rD!Ay@UN;Q|uNjc66Y*2^; zY9ZKLcz=HZG`r{dYY>~eIV+18frn87NDcoxTch>Qt_YzpX0?QpIl;9jT9>F*h#8Qf zs~?c=Q4H-t8G0>;gYHTmFNh8uiB;yebl3iUJE&95ZDXRbP!&}Vw{^;8ksCoGRdG*K zm>UnV_-Oq0uDP@Bd+ZLrmtwljc|q^wzt{D~*31rBM`ps)>U__Y?!YkJo;Bi56DQ~1 zzG>r(`jY)FdY9>Gy7%i%d+dIT$gJXAdYkL{?0BlI`X42?dcU^h=r7UZ->BT`d4hLF zwWN(V#5Ak<5%IB zGc5R3vp|`vIZH32%T~!Ke9Cf{xDPMmn*Ic#xP50UMtVXXhHD97WuYe)3%-WoP*2aU zc&QCL`64&YZ@`2|8PP2k?_XHmpOEaTlG@a>Xe-Qb6*dWa7#OmnD#jlQ%ev%t%nLgH z8dq|-e=zaP2E{KUl04wDW_eFNnT5J11V=;Tir{|cnkAlfft?d`eIp5Bt>s;EMLweX z0FeUFJI!nk*Xdu0;>2``_f1&=fse}US&(yJ5p;@kMerR98#Jq^!1cBR(%r1%$w;N)R@>d8HPStrey+~ zpGTgI3L|^R-D(`4UkOZYP(7D@OlR|}I;AN*9i#3={^Or|s&UMtHSQZ8=DXFP{b#RR z3jCO1sk#m*FBqc9j#XU$g>)0K3|2v6x2lxR;D#kohWGTVv~;j12+hqAf+r-5S{H^^ zDea4D`>MGx=$Pf1EZwj57d-)tUXzf;Jx|WCBQmb)nWkU#k@kh>Dh)4jJn>u)sKs#jc zErs{isi`E^+;5K_aa3)OxELPc83~iJ(9hYont+!OD2ynFp1=JgsWSR*wbdQjI;GdO zJ9a95xxMtZxVX6R%F6dUJ1ZP8N}!v9$;a6*Eiod#y>9;;hqd;j#4U}_m}$~27!wXY zrUCt9!#4{#c)8q#)EDg^m@%LX<(Q4TDIH*I{QfxuzI#;R-`CK@miO!gdl342+!XR>w| zEYl1!ilmZ4H2&6IbT&lj&1=4eZKD2?$hbvr%h;c4{d$9`k zz^bI3!c1Y9s=`HJ0N_&agw3Edk2V8R187-}bC{o)N)rVXAT`4128EOZ={LAUdv82^ zcMJo|Ut0x|nlK6(7zT1;x0lzK5$e#W&C!K6M253`4^Ve}Y}l`KkwrRMBStFXvp)L7 zd@1C&Rt?2T`#?QcETIG;sfJ*FAg+!dSb7fIkuAhek3iD9JLWck>7x2{=3Mp5TB}X~ z%&9)hZpkjq$I+YB_uGkxAN`pK$d>#l;r5M*V%-#Z02f%V-f`|_dXgdV4SihpD z=1oSxj_&KiFhgozDiX{?aBf7T5Vke8vxqjzR=oE-6)<^1gB>mPDnd6YxH?q!ABhD@ z3p@cB73%NoU?A>%kbuC}HxhK>^}8HPdMba#2wdJQ;7d*j3q(!w z>f9JrT_h)cR32*lzvJ z%!56Wh7#|C(D%Wvyp4LCo-w*gZ1;jqV`ygSsM)>TSf1=ZGPv4z=}0K;zWaV5^xQ@^ zwmICKVPdvtyPxBFf-xn=hIfvU9s)k@V{jh^39M>Q^dgK@DnWmb#LkllO*8ykV^fHG zIPtnuo$nLIpm2$FzE=P#5;8ZO+gn{Zeg){ni2M!i0JD8mZDm3&4}zn=U@?heBRiI( zr(8Did5)H5dN1MqAnBW2S%AgP0!CUvHxYs7Pf==ftlpdl`$4+3tHZ@r)3P3kOr=k& zKNxkA=GIoZohlt!Z5g!QFu6{=F;*o~PsFR9fx3)VtDRH0TE?I|=lC;$iP9ra*6%wz z?^}7ne_zV*tHiBG9?^+e*Ot*7f5F-Byl zt!ECfF;DXAmrZ(jMctd!EHTsDk*X)aZV)O=pAlrjyu?@4SZ*zMok!30OMlL%jgx|3 zFKn>ccK+z57rS8;QrGI}rXZa-Ah`B*&rSoaU(2O+>q&`8y&_9=Y$g^1*iZZWmG%rtX~c+N-Gd#JFn72nn|46? z8QfRMeLUc}Q|Q*<%))sOqaTj>jR!>7G!+v0tQJ&GQ?bP8^F`~uO=At#i8g%DI&kRH z9;=*h(l!!zsj45J;kN#K@A`)`H#O6#s?S?+a~j9?>KEw$fOp%v*C&h?60DzTWj4Z1 zQ3I)oJ7S|J8MqS7yr#aAr32OnkqaXG(;99<1%g`fY5Jgd8#uPBFTqh6#|Dmjc`Uzv z=)8|iWE$?PolyhLlXzYADaC;CbM)xOdGn}epH}cbh`qckSXi)taL1Li_oVO~%Xbnj z9*@g<@lJ{m?5LpR+{e z_P*lh2G0e}b46XU7bjlEHW*vuT*rYVzX&j0-Pm{|X)Fke3F^zdD@XW$2#X^%W=!S{ zH@jvQFv>H9R(9ey;X3%eEuWJ#duDc3g$jyxh1G$Ii~~V_K^6jg9(K>r3FvR(ei+;1 zruDM^gYk~Z6I*k**DLK`pIJ(!zN$%GJ8JWr_~e#Hk2Kd;7FQ;?qr!x5{FmriE7 zjx*3j?l(}Hp_#6}H7;*aY^9)Bzg)86+{I%xZCm+?O)M%GM?JDtzK!f*k8*UM_UwsP znJ=A)=^4?k8X1@O(lK+BzHw~(9>w?$sdv!}v{Yr$5?;naiCVW3y&|@_r?Brba{sBx zCrl?{k;|WGpjVyzkn&|}&1&cQ$u@tLqki=_qudx3as|`k1+EB~##>kv$JbwbG1rmp z-&T-czq!USyZ2?9Y*j+S;^`ib{OG;UuT-karukbXt6+&qBvru7NYf0~)4!{cFj!yX z&&vmJEqtSzqJiM%s)g&5X0r0<9rMjhISKa|O&V$= znl$GT=Us_zT$DUZcxDneUqu*f5%wL~>?B6Nmk-GCxL2amwukE`TY+p<*fyU0Eir{9 zqUNpCH`sTJE#;aqe!VHI^Tayq;A7|p-%Y55pAvY`T5&xoAwPsVO>y|Q8@(U>0XBh< z{+V?d^xg?RH(8l8H8#?+$#FB9NN&R92;wmyP?LX5Kkv<}?!Sve-XMuQ1=jX;PHZa4IhW0E3jiDCS;33n>~VPpBpwR#79cWRh<L-S7pLfnF^6xcKPSQ(RLNT1GvXm>DbJOD@Igyo z@MS)MEb+)5b1Alc-`0eE`DHhA@1rnf!$Gx}UAN5YK)G`99QStPE!7h!(HKt>F3DCG zpu&5hr%^}^)e-{HVXqRejsR0l!hlGLa%wMuk4cozZu+^2J zw%G(G0f2d5j0CMiRq)~>{%fF~QB#3UPQpD10HK8LaQ~gzo7w8ABPqrl0V*Ib`_FUj zO1T`xuJ^neUxF;Yhl>|3hRllT6{2%#q?up}ouIDK!#t>yB*|d-PQ@fo^{7`Ea4l zj5@;3yH-!$5T5&uX3*x9vem2BA+E^Uk=yc4q>z!7wDF!PHqb56e*N7GV_QTywSA4h zP{TR<3l}v1GZ1KNGi=F~l9Yr%%9)^^1lb0gS01`-kf|cB^m8%lWTT3qsAXcSwY0PZ z9@fp)Aswuz+b)wA_CB9lTIh0HQyOy-SBq>ETjHlP^ z;Ig}XB*Qb=I+sU1cID+>gAPg&Qm4*U&1NHr(agC~J7N2I7Gkg5{NP`ICVVcLozUkI zr1j0^_7Ip^bE0R}lx8RHP&RJ>(^SF(+X1DiH{2+s(sCAH9*J!vY+yoU#iIoFIq|cG z%RD@gRv~~=Nv6oa-NWOr`x_Z42%t>jsE{l`4oeVg{tBfqC-5~nK9&d}4K(?o3el+( zS1*)KpyMip(KtKbQnLT`T6(}<>M;ML`ox(8uf$IH@@b%Hha$0mKB{BnX2;0G)Qw<@ zfNYg2JfN?>YyS`yVw|@%WP+nd=RBRgLd>?cD6{Nk-ms>0LO;MygI>j$GP&q0aPZ)| z<<9KjE8O;9K%&wS-p;+D%6Ce_zmzKF^v0r6buSV9wouPgFneo!EqQy|?gtlL6CFMl|%7sh&%AQq%o9V1{W zbO8J#-N~ON?oo5akye>NoF)>^WwIwu0kTJ0)H|$P_Wac5+CeO?8@#8t;jrJxEs{dN zSh6y+@`Bh8gVjShb&HufvYHIpXq$6hzizZPemgZ&-aGbgVCo%ZV!iUCrbmb6E^L3% zpCjia$*HtSI+>gMKDAC9%Z2;YHsRcofz<5l=>n-?sa9*ExRs8U?ZpLU#vaah8C`d| zUGMU`M%+Cll^(zTdOi1!FWQ{x$8va0wYeYM6Its^V?OGVAtIQd!a~Kzp;Zwe?8j9q zveEIbdyM%uQD43VmVSXibwAyGF?}9o`l~$mX_^`eM#nI9YirRmGoQXLds}^bt+2e7 zQ~cM9e&sgC8+i?qU+gv@NAVFj3_|fp7}aop%-r{;hA3!d3I-L3*c}^?3hYYUO|yJd zuuvn*60C(R5b9z|;}@Mo+?2>>0wz#MMcx49QI}{-;r=Kkh3MdcK5$dmqbfAg0&9OZreqVFdlhg4(2e$VY-S%g>emHiR;e6aW zPSgHM{_uTkh2v9uD7W?{tkDYjy!67^JY=%+bBnGH|8wf*UH{_(Fi;sLb0iK41jrbcLAiW*JWso9lcemQC+u zr_R-u?+yLd_e`k6MvI$Oe!mRv5S(%ZV8RnhD1xBu0(vJkAC0n6LigDc_^;Vovgt?s z1NL(80US#}NQtW&4EF&&JeDxV34{aYe3>Z2F1>BHl*&z#S_bY{?Qwcpse1EOzS(ou z_j*Yp^ZD(U@3e6+uGvQ2<>yPK=}SfJZGOU8h*w9BS4ZVQ-d6d6922Ry7Xz>RuO7*~ zar%D1{`&#@RvlaOqtn?VdAZ>D4&GbqXieV>Q*3cj+ux0t6{oIZ(=Sr zT((Cknjz1#0|MA+^fk>41;rlNdi;qL7YM2h4}HzOURsQ`UQ8Hsr}Pn?`XdJJY62>n z)N?_jk5!^4O&{V)!56K9FhPb(nY0+yFJF{ZyKHAy$8_;!>yYyL;aUo$G^yi5&9?vU zGfac>uuwrj5Ls-r#}@mac&3AeGSo5wU>Suik?qFufe>7zD;M6;OXHKVvc*tcZORiFX5(S+&u7boJtRe2I!6 zg$`|im`JqAjCBDu% zpX++h*jqC_>+D*qS8|^*qZkZbNwa2k(I&1xzE*m=^sJ-?wD?o;We6 zffi1Ct)0VXFv zrT|`OU3LMy)?R^-lucyi(B{uFMi5*lh_NXAAd>DG;jm?f6&E<@ z)9El!ugFNz!9t3TcHt)K#U8C86sf_8YDVT7&zL;$TCpoPfy|{`>k3+!g*IF6t?rG5 z#A~S-n^%sTP*GN19zCPw`w*qgigBL3T>0BY0ZhoA{h5?MBt7Mo-ig-4&8cr+jrzWa zPpVB$fr3uZ$1G1h$;?7mh&Rx?!E(qNOU}U3{K#$!bJN{r7FE(*QW=FTbWd4P0c&l2 z+x*%*qr@L0-XtyTh#qi|Vl}BjZzy_o$F-(blu>`P6q5>wyYvSonn}e_s052ODm;_0 z>7p1cFLRZgAZ5%oa27~*)rUI0`L zc$ZD4JJiXPzoSQ>j?vrp*`|fT)W@4fBrN{HO2g(iPrBJ&bp@zm# z^2$zfJ>r+T?L#Fpj2fEA%=DE4OK~;7yX9=<#B#AQ#8rEG>}V%u(s?>;e4TsJbXT@X z<80D@{Vl=UsM-6o@o=-5Wwgb4l(?A)~r)mPG>4ZDD>x0W@xFP6NT zbbq9}_f~s;{wHmrywSF$9+S|Phew}>cP7pymB;-hj+=h?Hfo-e=JMhLw$vI5+i^CL zoI>3)+Y3^ZZPb}jP1d3*)Mr-2(Qy*+bNZTT;jZlTow`-)Vq-5)j#gG6}tS+&3_Jp%pSFz2lEtVWBEjNk%!#b9w-j;G z&3u-@zPCAK%01ku48e9=OP0t=(xjh9iJqE%}TZQdea((TDc-y&#ySfO=8r z25jK4Q-X2{1Tk*nkg{C>F|a^CS~tp9NqAnG^Vk zx1tSy4ARq*67^i7nEyzic>ju@%u7=utS&7qS=pe1`e&ZPYPcmo!s7`rGntBPL*h_pgGZ!xBFGI8 z#~TQJka!&N^L=d)BGbUC=RdiAHP$f!A!iUiS7@)FPZOxOLklZz@GXZ+N& zl0yK*n69qeafvwnLbEZD^-g8dS ze1(8~3#xuOZB)Wx=><{|LCgU9)?_e-wj`Jq2*KDm=JW!{w5}g#9x&gDAI+hGa^@c5 zlt9vsp>!C+JquvX28Tc=WZri^xcdS4?24wp6vzgRuzc~1W}vS9$Hw(ArOZY04YnW_ zW@I6hzV)zNr)}9~9`s{vkf|DSUT+!2O>}L(W>ifYfWdK;jkPsl-jW6Pw#CiBl4hE7 zYOY4l3A`&Uj$hjf=S?SE_%~H5v?NO&e96_hUnWlQSkBxeG$%l{>;B7D9wBQr+=CWT z84>rWr7uJ&vk%{{-WR_~Cmi6$Xnhq0HH>j!Jsg{UVPP&arZ811NL_;TR%m(H%_A9R zZPwom?1@YGYK-`UgsWYp<4)h7IEhfgCDx*E@M`2`Do)9$;$r>d$B*Y- z>h&D=GYTO$1EB->nL@9Y@+}37QCH#kdf2wi zKVlY%yVic4y0y?Bi;I>GYn#ObolvxK2jXTJ8+W5f=c7t;*00OQCNhO2e%pBc)+z7P z2NIhJ)efZS7+w@e)zIAOnMbx{Fg_pw?`=qcDdbO1vYgM=!mNzA-$B*&9#{(!4<7VN zJ)EMVqK}ssr#lci>j%W07E&gFL~|gc67s4!0%;-C@exAzE5UIBzL)4Q$!!qIs3Hwb zo~ns^JHcGuSHP|MmG%ls&QOY3>N9BFs;R4mxS&^XMN(IgQs>Z^PpsOF+keBg%j1Vv zqQKxPjEvO=*b#EL@TI@hZY>^f;dgRa7y~roHL;Stx$U_9$mvV;4I{<3IC6sd?8Abo zM8CdVRUA|0GQryJ@RYfF1>c17*S+1)T_~-^x@-}r55;1+ioT$DlwWz@+*PC;L#=^I zEd=d`4R$XE$?Z^2N}hNNLX$|sI1f>^VDyNoP$6ycy}3V2okkgun**a0$oCcJ>mwsW zM7ZvXb?Zhu#Bm+#{5sn)wax^k929+m9CNfB(j0um#J0Uo=J&kj502*tcIq@(lisgA zdw&D#&98AbJt1Nhd#3$2HMwDFi@CaGrX#P-h6`h&GVODHbTqDD(^K3JqQ}XkFd)9Q z&Lelzu1qmDz{sO5MPa0C_$6&ni+`%B3Ld`7E_^ZV?L<;i*XT@SR8;C#TV)6?Y$>HC ze1I9Bdv7rRej1RI`P;1b?L39So5bV1Ad`OEP+PkV9ZOBiyprrwLjx2t$WHT{|6-Sz z{P{CG?jtCr!J$<;hY~A@$3Wi*vgVReq{tkeVIaV1gM=)2W{1GyL})M0t=nMOzvAA& zhx!?-{`+_H4+)C4d?0*8!hjLcH{1X?2=D(%*QoWH0Awj89iRv-W z6H1BTp%e7L07s;^WV%m7OOm^%jZ~f5vp)h0n?9fs>yc=fMu5B@V>+E}z80J2Z?{~x z+@`m0-XX3Y#3G8EJ&5o^@o9Xm^#FzF#nB>!1X9I$yr=|Q+;{5Qni@;Wx|$js`xMwg zkupPY>jCU^L*!j)DeLWtuG={Hoxi7nMFl&hG$=IHB+lIs?>NF?^Ql?DBq67UJl+4<%|I;x!rw=c&z;FoV3vK4 zd}44u>V0x!Mf~k5IpRKzAau=)?Z&MRBa55S$au>XcfedM%(Hp6|@-#(>y@GqmkNMyg}qKowAm z+q4JQ{3E?&OomXp^+uB;ihER*mYzj7Mqi0Fla%^>8-<*{3+hrK)l@^@f4`A1PcN|C zoOYof#a0ZBw&2~B=rJ4EF_jdWl6^R|Ladsz#|(G9)Gzc4P5L=+mfj`Dq2*}Y?q-OA zR0nE*Mnyz%{2rjUk4EoyI4S;j+*;t+K~y86WCb7|w7-;&!l6IG&+PV$f#9C`QITeu zhCP4FyUCW~dDF?)rlYUTChbipi!8jlf3}yJjoO>ejlB9L$kDan5M!Y*V^7<|z#JO7 zyY_92o2w;9;S1^NyfWijr37nB3elYM_BPAWec>Jq$Ri}?{0MnOe0IFVT4^BegxlnL z_=wo?Qo<25N!)w81=)RwsunV{|Jn0F7R#G`=po9#nMsEF%+0N3bP}_ogvO-erb)BJ z;$8LTm{)zs4iHw1e!OynO$CP&N#7>;FP^kR@Hv-a=Nk!?>pAmd z6yUkEO-S-S$)-@+#naMy_01UWZl!BjJ8P$6qImM8gff8RT|sVfI<{gwh3!ym)U!%- zdf}k$NH4KJf_Et0?@_9;WENSaY8XcW_+j0i8&j0au=wk~dCBsz^3<#0HqY!oV$?UI zxNcpm->DWYVV$g>7x$|obLh5U-`lterYasx$GT}dBdgEnVEOJ68l7fm zt=uyn&qm+R-r~o{u(K7A40Q|DBZxl26E(s!A90NOg4N3$lxB-M)Sg))$*1$Q6(F?m zqn}uZr0#tB52`tTWT*3V+}zx)fBCEl3G@!g!P%B*D=Z{n|7K@-%x?5W69x(H-PqGN zc@!jG$y|Ka=n10qXK}s)Q=*ki{-1SG&zFQ)wVEn^Y6SgGc%7*9ATg!rbSOc+4HP+u z;s%6KQ2K?6g0$fvo;@s#K>6}Nu!$gS$M5knB=I9D8)U{vBq-1fh!hJLeoDtD!3}jb zlBqKZ+K)P3kGGh8ZS5}d3vrL4V6G+Te0k>3po5kmhg)EPn;@sU8Y7fM;9ib#?W$>l zUD@lTHSebwfs&m~tSB$hZ_*`6-DWMky6j0;p77;57SrgSe%#B(D!idKnpJ#!?aNKA9E-WdHuZWTD*rd{m%|z%mjlR{&o&*!{+6c}ODY(o{fgI{c(C zR*&Sr2;oYjipCV*!Um(=1+33_y(;Aye=nbqSN?frZAM5XdHem+L67qEl%hM`6*VE9Q&8T7 zCVm+wB%6^YU2hykaD9%yWR73?b|ssJwRVf0W^Q}F|M+Wv{hXhMIM-5fuW@_U7sN1L zxd;u?cp!C~nU3fxDn530Y|w>2x;l68h3UyRst2uvTDcOjQWbZxom+zC%H}o1@=yf` zA3IzBaO=;Jpg{&DI1#&iIG?aX(herI&%UN8I3>U^gXFt7ew@cZs*^tQ6_{sc!r}6U zE4Ha;wKZ%WvB4lB5-%e|!xvu$Xn4q2uEPrs46CE%nN+91E>9Fh9&{hjc6V`FI%q>g z>&{0cvl;Ex6ULAL$z6SgSphI*@l<+ygQytP6Nq%;S})=}G+|h^?b^x%e z2^cRE_0uU3Z2e~y|EJu-hjkS^w*Dt- z?!+>WSMGNX%X4QZL4&3*Nca@!W-{c=0^_q9LO3BQR)`uA8Pr9G3gBvtAmNY#=_Qh3 z3Ad%z`PyPI^ux@<#?k_+p!c48)`*iH1*!D_1`VQY$RKmiqF8=vb~XmlZ+al{r{JHU zBf4e=?a6RWBS-X~lw2)P3jMR_iXF~qb0@=#U<#lS=*MokZ_I>EBnKjEc1%OgXSpHg z*YC+R^JzlGM&Ha+Zl|&jKh}IR`Q^>BDV!S7C3J>{k&)d1qIE4O`P+jhC~pAUk2&SFF}N0PE3q^K1|-_|6;3& z6zM2J_CSc^_k_e|{kvR^8}(o7%`2_PzAzOTmd?}29WnpHScXp+ zWgzqnO>z2UpC?U*h443Xv}!t^ni{fVRk{&0%70)9+YuW^|4y$+c`axziW1+VjGe1Z ze~)zT&ZBd-cl9gji;lyw&b!j_JbTy#%ip`DVl%xlzQ7#_Wh#)mLD>a%LCJW=Pc0zM z2gwImZSdh|EOc95@GcbIU#W+r5cqR~8BrKf(695UZpwlGV`gUGvkRHeTfi=6d;MlT z1N`9qgkV?3~|K$suT~58&+ZOtLZ|HJd{^4xOr)LJq4&?fJyTMUU1|?~Cxckg# z%`65{u!RMs<9nXoC6DLEW@KkiGsfap=BBfx4KhV-W$s~4qoPHxc8-jSdODTt(DNzg z^Va&I{IjGtMak^sP5U}TUz|hQPFcJ*N4~Klz2-Z!u{=A6?{$yM@Jo03b_0Hq<)JL zx4yCnBl>c*5n#b#Q)N28<#+kQ1VChu)AGB*-$$=2Eaz^}<_3f-c}X)}iS$kci9lzH*gM{cQdYkb>`VEPr#WQW@+^yg-LkJ4dy zdha#P&r4d4jcd%{M&oPCG4%quHn2o{15bSuKt#OyaaP_pyBqs*mrsWCxtkji)BKxY zC#YZUOkC|xD@c7~=Pfk$1?Tr=gqI=s5AR%t3}2?e;}0%KAE_Kq5VgSl76s{FX%cYa zLsZ9L55sOS*$C!|2#9UT{54C^pQR+uxe=@)+bln!yn z{vfqAD=sU_G0J?fBEj1H)35pVxK*4@Hn%-+gZRk zPN-=ZU7msGBp>@m$l{;B^6)~(4XsuhmV;8s(|hwB*LK>Fck$8-pN+?l5SSukdn+uz z8_dNW4|R=^(v{Y;X? zE5AD|;wP*JzG_PcS_>D=2UrG>R1YhwWjhWLuzYq6 zkh3SL>#@m8UPw%gjRAsf%u6ci^EN+Uif>dX3KpbgFo3P9J zaSZnE?5ymokBN{(fU1(k__DPBhx(*J#(GXFWE(qO`W)^w%zloRAp4R#Il8p>{$syf zQ(G^4gY54TA@;HFzN-^#{Kb%!}b*-+FfF^qYlLQ<8 zQfz(RBaQyM&$hKzZD{8-oo2zOX~r{On|dvsjec22G1q89x6;W8jX3m>SAp$XTDN8x!!re*bEcG=3_#ppKb#fJ=SY9U(ctsX|JYkvEE)Q^ zMSJa6ZDwGlXoXv43X*ORFWTDHR+oLP3&=xm7heNK$c}RcN$&<;{rSw~q&yS{o40%$ zAMco(qxEgh0T}~3iFUFIb3tl;pKwQ4AhZzy7&5ueLlFfbBDcfCUl#mu>{@nVWljVV z4H7Is0peJffh39Vcz{nH;*7NO)f4-cJ>cPRRN{BSg5tYhK;zuUQK#}IOCYXTsnn+k zXKUH0a@Z$d>l9W`^=Y95;3b48nTf8kQt;$yyjEb4Gbt0WM1ARB^=LxyR@9V3rzJ1s zE#S#&^6&u;4h0}1Yy8mL1jTHS21yd3deo@9`l+nzw$c-jfbynA@+Nb3QL!W_0-5nr z(jV?t`o(XM7|%0V*<+di_AR*bl)(=HtOfY;@5sHcy6*tL1>34@Z88qv`gl=3HglxqpS4fk*x z{b*%H(>ffhw|mrm<4^szQ9vh_xyGh`2T0aN@C=KBPZ%klPr9S)0!LYu`^NXtzZVre zu9nsMAde6Rz8?I^785TeQDXUJpnV;&IKZGNyAJ)fIU^_b6cjA?x<+i+##hNGDJc^c zb(G2!f6Rja5-TA0moVfR@TT<#xxVUR!$f__eMv)#UoPiwgfBnM*w- zlKAHdLu@?+7<>dxkj*D0u+RMO%|>+1EgfP)ku}3=3MPDTLu(T0!@dj3A`74lV029d ziCk3LkYdRw7!xoNTwm681mc&Ai;L+OHxZXj_3={A-D@Fj4nG_9OHW|{2HzV1N>%0^ z*Q~^SI>L!r8ZWa|m_66a>yF?oK`vpj`9=uVHXY8FMHXzPXZ187q@EBvZl0=cPVyEX zVowQ#FzS{1w`2Dl#)Qkqgx|u?iH0@KVWTe{#MPfO4#sIjM!zR|G=U#o#f4|_c$Pa) zh9Kd#%lz@`UY6g54G5>I(%$VVN{eI_*VZOM9$1yl5H;-11K=A0k`65wM%rKE?m&t7 zS&CnWN1E(G{3Mhtr(xPTIu;id$?9_%ebl)1bnI)Y9OMzew-mCJQ^1med>pW$Ap*`M zZ#a@fV7x>^E5U1I244@Twd{@=Y_JgNTRmXPp3pM^;ftSnN5_Y6=l0P&?!1X)hl9BU zCeh`B*Q3}B2|aTMUY=kIIYML=qvOY4DaE~0J3Hn6L1uT@op@d026KT_9td1l?{|Ah zgp7bLJF=wC_oGs#GuHKW=JTf3Wxht13KUB+r`XIog+4j=&7PiaHIzR+KHs_=a*jYb zJE-tm2JJ8GF9FC!0m*SM(jR-fAWyD|cgB5S8SgND{zCu`UArlWq=v(q1MI^v01UZ3 zQ~TGGiyYR-ABAtAj}l|AZ6-DH-J5}uuCt57=2b{A5i;{*p@>>=66#*vQ<66lY^{O0 zPEZheAUXY=vZ;m+4lu&E0DqCRMCt!M-QN5q3h89xPR|J&#SizDPYz@Eo}}U!WGG5o zu%Rc|eV5j}fm!f};@Ym?jl-&PiI((ri4Md8n)WWclePC(%f8mjUkN+}I+$J!Mw|d= z!rE6o^_J1`_kkDK?kgri*Z_J(rG?j->})JS(Ja3}#08@8UIXLg%MYV#?XX4wua^mF z5aInd2On_OADRC=owiPX_)*_jSFw6hv1wGP36$bak8QotaXJ&+f-K-5{l-VMFnjOh z+jpAW()zT+4^0xIVe*;qDx?Y4E4~mW<_b}-Lv9DfQIG-} z8$#_B${-&dc?Sckg*{iwO=?jEZn6i1y0@mwR5zA)VbE|EqNEv@7cE~~UkBYi z672?AM9?o+Qbj535(GX$Sw;msbmV*oJPJBEZh%!whs1Mw&CPcyhc07a7d&;lkn(`U zI>h%_9zo7j&y%_zo#_IPYdmklQw=xDVizJ=cc1$mJ~wjiAV!{$22NWz@k6Vg5Uz8y za<^HLn+(adT?Vt=o4=xysr&_3k0km(-*ol8O(fztJhKyYqD++$y{Eh}8d)QtrmJM! zR?wFqwk6Z#yZ=H}?w3PV;-^g(HkzTw#is|_A~6+^ubkp{ z6yi4*@#t(pk?C*l{|3A~=Y?Y^JM1RbHEQj(=c?m)ZKGclLQ+9ka=YJcoL|l2ODWEa zR{@Q)G;^eR2ob@qku>dwj`jH32uad4K0HrKW|QkGtYP+PTz2K%bU5 z+xq%?n!w}aDlrH)8||FgDqu`f;t>*hoyvX#2ZvioNUuhn^YHMHkDniO4Xj=_;p0Kg z%<#gF2lGtwA$GvT-)zp#j3J4i2VcL&#_!RG(<5?wc9LZeehR8dqZ*>cfxVp9wMG*{ z$EkNqvW>nDrH~9PFX)RWCpJ`K8~jO^vpca+{BUr3{KW9?(AL({$_0MfKL5k*{R3Px{Jdh_$>I zSnnx_2?6AVA*Bzn*CB`x8Gc=Q(=bchpTkiv*0rGbi7-@<( zft82w9+51a8u6;BKOxZ-BkKp@(V-64oeON^9 zHY8$~dXYc%V<&+K2Ug*=Dw8Q&kf;DCTrm84f9ncUv=Ds5BRZJ*3CV}X+}=#PNLaCb zzXvH)gcCOTmjzzXh@vBYn%4f~`Ru@u-(SK_qw>}CJ@mn>r!7|Z_C90chN+Oa)AUr? zJx}hsYl&4nL%Fdj>leN*^4#5hcSM;BX>_iF;Q=Ho`cMH0i0UfOG&==F7d;@HK)o3n zPN!Ny<1=Jf=IT8+-5;5md23f`XX~x7jjQv z**n9K7+5zAu6?Wk|J&h^p1_#`)>43Xp|b>1N%Gx~f9=Y=?rKx6jfp8SGBNSh`dc8t zuSN{gQzS;p57K({>Kv&cMsQk1R}tAS|9i8bteRp60|xRs+knUec{o521|b$YN{`2L zIKUwsJQPw0!JYcsx7wkQg9}N1f|?Ml07(mr0`pBDa0^34-$;U7wQxcY!nMN}O@;Jo zLm)&)OA89PaUkw5B!cr(D1<`BBL4&XHlY@#aLl@1_g?Hxi8F2_Q7}ok9^}|NH!qi) zo!ZU}CIkmoW_o$wJTb_egAFC8WSqv#bqi18I5&z)+U)PX^{ay5Q&Ny1^UjQQ};-PeR?zBmRZrh58~o*kF*hq_SL zr4On@6~7-J`rzG?5=A*e{!+>=pq=g;vf%dKI5!}csCJMkgm<1 zOw=7cz1(OXfDz~pl9uTLxry%~3kYVnBtpUWrFlH*muESbe8@!tnhsGj`VkQHtpHe1 zR9dP?E_n~&a{c$FS0L~t!Rsc(98nzLuxS1Aw{HlpSG(nE%+Ti$LY&hPG|9eDn_BZB zp_5#lJI$Iq+wyjtIc@Ti)9v1Qjl{pEX4tYjr0-Z`^eyMZlg^Gen)}^q1*}uG!qU5x z+$qV(Zl^V_xi>%^7PTc%^Nj3*+huYc4u!%|J6Ud}EFpvNuy_G^uA=D2tt+GQ z7HviWO=2+9EL}-a%pEkdiXN4NX~)OR*otqFCoD0osN<~|+)~V{ycrfkapppC?Kujg zw^YC4M>`j8tEBY3EM#=kG!w|HySKKso&&amO#8@545&J^gli44WdK?LLk7BZw7@{Y z%h!-3EcZNpcgM76o=qBSdtJgl0hAJ;3u2|6T@c0tgxNCe^Q)b=o)*HW1ExY4*18g{ zmfHRF&vevICfl7#NcAaoH`QY<`~c|~9R_D^=$-2*Nhi&a2@AG%KdlZmn__}hTv z`3M8T@z&*evo^@IN5@CVf*q=^++Mkb0!g_>oKT1k0f?yaLaFR1#UyhnxF4(*ZyxMG zV}uYT1})Jw=vIjM*|l|u#$aCayZP=z%VD}KwUYh&;BU&m4Xv(8=qQje0<9FVR@WN5 z#7}T28xQZX1jFH?OFc@DiVPk)L|8f2p}`;k2^NGGs<=@JVcy~ujMvb@b5kO{2Lg#k zOEwMV=<#J~U+fErd{31BOe48-ewCK;#+|*E-!IyJS^RzxcjC))B0xg|GY8`;B)=C8 z(9UA|=br|hh@%p9$o3o(-~No*eTbF&i#q?aO-r}fRk=-J$+$Ft8NNAuusc12jkJVj z${`t)<_MLJB z?}8rJxqsbnHz8*`slq$BxR_ZSo&&B>Ns2t=6*DNCz~ANlTRZ0q>$M;)I~)-z0r%?% zgKh^;MTV9wlau`2)gg7jr zXSwpaoOv3%`XxLi!A-_z{0ukhCg^)v@UWbgy73V-4a9Tu(Uh8z8<-dvkQRk=^Cl#Z zBpwryPaSDhOx}@W2OtD43Eniy$uo@skIp-zmFf|-Tu~0+STlBUaByzRiT#!p+>J}o zs*eE3296zPQsGszeQ{6U-2&AMW}3`EM#vmJPSOiQt6Hyjiy6??XPDt_WWUa%m@sLU4gCmLN**A65nC0wJ&c z+i+Ii{pk@15$RE$=g&XyQBj`{w-r|D^VW-UCP)VMsRj0Riq_ST@x&baJF4dQ0Q~O(BcH^`n9>I3@uGsX$-x!aizM;-G~b=|PN?u+ zz5^o7=I+-srrg`$;Bx^ef+TBpbhHgfrV=t?1l53yZdf4UP}7X0L^=ofv{X!fa8f?u zp9Sdb#fygghcJi(4hmULU*_NE-=*hDh<%-fm!$@JbFjnQF3xbtuI^igV$AsiuN|)@ z$nk?)3Y?%INSk+WsGQz_V0oBMkRBYa#%)yCA6OA45;T$7#ZMi);-Zws`+yP{p`mVi z>ShG+2&Dea?;R&@b*>-4mYVpt<}E2aN1RE++0LWw6m z%X!a*y5cTGUqo9@jig)kU9jJ~Y16Yxmyl%sUcIBzABH+aG_eb{5PR^X1rEL*?xgzp zSGSH%n=fB*94c9iKsXQpVM#^hQ5_Y%&BD1B&O9-1rp z`c+6ERiRmP!ai}8XY7eh{Ud$~m~#7#A?X%oUXiS5Z}AvdjdoGwSBa9O1{)H(CYC?P zb(kZCK6TU3Mx-=lUI}V|MDdpZYr;F>%dhG%A9k_k=U0;gI0(UIAY69^`ZVU_l{wSa z*z6#b?|*NUn1B(5Yi20*N$2hDf9^07*&%Ca9<=7=nUQ zuXBF%M+Qmw?Cg#+W{*1W9!>h4PsUsD6@6WEL!$rArkl@i2?z*y1FgK;N^=qWKv229 zqrLv2Ri@#ZnSOAHTuj!~jXP?ZdtZcptVJ>Z!s+^UmvW`)v)Rw}z3Qe}b@~j3lpz{E z-{l7^BoRmmJmly1fQl3eLPtn{IK@!l60Y>vF^9azevt3#HG1%XZkWYQ&D+$}ANl+N z?|`qnA`v3hdMtUN?-V@QdNB0>APQae!4S1x1@%w~BFsk8iw_XZ#?POFz#9YUy$rnt zV2Snz_#O-n_r-JMiDZHL8UlSLe1Mk=RvrKw<;1(5QLsdB`5rbP%{Yj1%o{SXvetgv zMoOjR$h5D*=7!L}FnU>or-??kNsTN;k!8!{Gxpu{6h0YkTt#^M3 zzFv=rQz3yCzSc!^!8DJPDpx&yywl-JJD!d@rw>q|$70 zoo_!(pg6yAgJ9=ndEBoBo! z-Q=1Zo0X@bARD!hkuhgde<_bEyJ2JK9d`ZCpB==v4o`{WK1FLpw&mTHm*V-vu)}l6 zP&Vw}CCZyj7a^ORCQF&`-(lOrbnTlg14+RZ`FZ^(JW4~>DT*!j{HDY0M*M2#1ZnJ* zD#?<(s_a>G$vx1V5LQ^|Qn>A%(z}+=L+i)O5rx~K-7Z(_d>}$KE?7%9w{kv7lk_EcT+vnKB;}1eNqQg^f?$~N*8xU4TYMA{ zlZOxf5!gx)&=+7g@SrDs@b9q%i-iS0MUQngjPD>JihCXKoosq>Cy{*;m@`Aevb44= zl%?aa3$BX!b6<(_3#`)+X-X^wxlO7(z2WK^2mZP0&<6$s|3?I?d>lYk(=>?`Qbnas zxcwwUE_)eS)8l#w*hE=%q_+kr4!SKjG@+r_9%))_Hp^4yD5EcNscgSFdDlA3#4bXw%sm_lc<+yx?Cty`o zJmla3uuxi7RshT|{07iRS@2j6zTyP<_q@2Q z1i|*4!z+DG-8q}jTy);*wZ6i=RYN;RZVvPYV3lHLU4CbnIY;d*M>LmAEB0p{k)Ue)?sFyrC(-}ZdYwJ6QATbSWd4dbuocQgBJU3VAn zKS|`sa4u8*u)J8+jTcGwq%5j_dGbwE^YZa6{l-~SZaDp3;x9VY3fFztGm^Ft(HK&H zQz3TybF$ger@)2BgtTNhZ1f)rWb4N!-<_DCbWCzY&S2&qnedE%QX~ESSj~syOSb@S zylGn7yhiktgP@g)j!!e0kBZXj9(R2IgT z5lqpL##WZbmO&n)-~NPPCly^Z_?uCTV!L+e`moSBRtfJ>0_$1Wmv|M@i4k`{_R=M$ zLz%_>u6Wtzf_lzd5#F36UdHTf&z*g1Q#x%fxgCuL03)%kuD8XpW9x3-`K2q-@p&E( z6AeE)$lNU`pYleBkXER~&7#iqZ*LX{`mQxUVf{M;B)2(hdve3|V{^D`ZRn_f!0k#} zm?{`3C|K@HkkGe^&0ORSxr@Cl*Gop)`Sj`6a9Rr=B%6< zP$AWkZ?S!hrlgT0^c2n+=zjt*$R$}B>4wW4tr)SMrc_H+F zS^!05rr5-HL#|AB>90)42A&l#`3GQvk!rsi~Pk-w35va9zEWlne_|D;Z7T{Ygf3 zT{N!oJuMbQ8^MPIHY;c7AIg5ncXCSc^hK3(ch~gREoy2`@;>2DTP1@bG*3%QONFh) z1jH%petO+$4dmLZeH`WRQA;A9kjuHQm)ls=aGR{nrPi+#J+>jLzg7v!2;;Y6p$9k7z3h9*w$YGZxsh2)sGEsQ7{1wR#aV` z07n}D<C0T`{((9n7*$G(2WgCh}kvR5G? zNuTAp$ruU3AO^{)ZOWHor- z=iQ7W+~K>&2(}>cKUl6~b*~Z%j8!jX|Nk>^k)I(+iM4YU@Vg}t8=695ABbJ904b{v zlP-de0v*hAc;M9pM=_B29WdV`vpw8})DSyEpU?xjfXGk`@aw~5pv$v}(o^BH{}(U> zus*U~HUjky+YTgYz!LC|_j$9+vJ${xC1)2fNmGh?IQ3TSc{L%+GK7Lh*j%i(HNN)} zzO1kbJv=#s$McH6#M}101{Enf-&wh=Hl?D0$O^otI-o7#Xg~58pwFN051kbw4lU-x zVba2BXZ&Fy>}$oHy=2QMXCnks7bW;PAJ2jrfK=A!)%jJCu4SVA&%PfW^*xQc)$H;n zPOSt0GOPa}Uqk(^+2$Mv!3dBs3ko7P#($WvHCUqH($0K;0yT^y6BET_C9t`HZxE6m zt}A@+hcUGP#(hAR(=#$4H4d`b6^FG(VRQ2Z&>dN={x|JUOz6O#19mY?KND0sdM91lby@X++`Shj7h&#!OKJD!1e8x7a zknBs|>QLiEoaaNMkQohFMuOfhnmEU)4r&)kQ{&yy{pq?}35h(a!xEGfS)R#1G)z zVU!2F*n+@EQt5A;EH40{)>9mr+VjPoj%FVaX;UyoMljoS*!7<-LX;416o>TH0A?Ny z)PggJPO{%O-%S7!jW39U_9|n1B9XfjvJZ3#YdKmWM86lf`~lc$^?}w>(Os=UI!^v6 z1t2A69=ej|AnS5mMovIY2!a8Sj|nT13-HUX;3*w+OJXkUSKsI)tA()td)s+NfaT%u&z&?Qjl_E69_ij+GQ$q|micFnMMZb@11RNfkUbt8StIFNQUoH7Rp@#w49y*gqc3 zXTl1?Rwg2m!PUrFLYXiWQ(Vn3Jw*wlyQQEqJ4boJ+S_>1d(>W8H(IDb=G6|vJ{aYIM9>zu8U`d$y29Wjh=g;HTf+HbRo}B~~`yeNW zMst%2mYku4p;h9=)Zv~yK;giWElN#u*V%Pn>$iueXMM7UPr8sah=J z3H~fq-aJlw=c|)(JwFjeE^D6}MTF|3Dg(Bc+VE>E?Ke4F6nueakypF#4+|-Cr%6qu z$L5T3^A4iL_OFB%Ra@=~e<_XR?L?bXS32y_(4s(#&pu`ta#^b-x6A4wxJ|e8TJGz5 zWrSR2K7N@dfkRxEpF!h0{MHAx9&hw>``=y-&D>O}`*^3IlbZ{p4YjPbtZ;Ix)0magNCSn7t)zqU@yKHul_U%-SB&y+by~Y2-@Q-Ak_M1a@}5 zOj&f=wm{QIrkmV&&DVqJmP7v3zR1u-CfNChkKY2lE>TYoH&NpF1^z z!W{|o_1zAn0l*?J^sT#_oA+x-8lT!!d@LjE0RN%Yg5qM}oiQNn zss|)PAfCg$JZQeqg)j*yh#DkkzJ7u9x{uh+ho z7ew)}2BksfE!5A!ut~H5tvjMcfmuLXctT02C)6k)d^LDvpeQsMAtc@!)Y||51qf+L z6W<9_fA28GYw}`4K=qp?24dufBZ&)%J=BNH&Zm&qEKe{kWPtUk>1pF`h?sbqYYAJo z1Vt_DVP&sxGCR7!?UqUfAiP0ffmJ2()eJz)QY*odi)<{NI}zFrOrjsS+8t zR)%!`GV$tvdbqO7Ah(Ata;?6zirhy?z`e0OcXXa7LP(b3hGzH=XDm6&d`-59c)BcD z=;@TK-K-0)l-SCI+^EwJ?~8MdUOu7{Zk8(r$w#ES+W$}UEhuJQYKy0 z6BHd`4#`eRyrvO0RY9X`aV|=|d~xOuBY+>D^^B1*2%yO!+Y^g53w}sAtwc%>ImY6SX8Fnn(^-X zM~(^pH=NRB_C@465|wvsbXsXU&aTNZrC>hT`BfaJ=ORzniFK{faiuu6*g? zXAAt;z3T$j7|$AoB)OAx%m>Gh&BOjEcxO7~-){0{v=)m^T0wG(SaeZh zH)iH)63A@eaIb->$M^_$2@MLZ5RzMzOG8D^%=mRC^vg z0o61cSShCt{2A>A(&AU9W{DF2BqAc2ri@^l)XxzSI zk@XxWgL7%ire^re^6=pA-{==VEmtSU_J)5OwXS{B)zJ|wSkWmm$6OK?^rZINKP)kU ze$9Z^Tyqhk8zIDtbjOEm86MWvQ>;Ta6bO7N1FvQv>vqXdicFP?T@{rEIEOkT+_%kwA1xixB44eIJlMHg4gjF1QP5am61mFMB2^0TDF zR)e1$&g6dAsrteX0kByDIj!%0-8J(AkI%214f~vJKB25Z>=-Cbb^+5p)n0=W1ckmX z3;I;qB~{ArGt4L*hCllEzEzeb5Waz}w0V~48f@jZd8%WFPDF0M8GS@pE0iZ>DkHRJ zr|2k(DBpkC8h=7CyjFNol^DVyrW+aTdWA_Br^R8+f^}xHNPJ(9iX>`H{>Kn*319EW z_?ejCxX^_Zo3`SQ!@AEO67STtBPBP|qt+(5fb<)spT zbYY%z{po#=M<%*@O!qHbBJ5@=%L893^qfOkLI{m-D##8r)*dB>ldBeKiT?d&aR$VA zG2k^o<2b`w>I%zMrFloV-G+s2WQ;?uFx9Kg-{P-lK5T)utgH+PorelMP|CnBAS(co zlplLjM|1?JmB1hlgeGx;Ci&FNq6aKjAVh}i%|VbMoE{pEA+#6-!a%m1vw-PKB#Rji z18{Rpbm@HXVwgo{AC%% zQ(VH9+Y2)H{8A}8FC??ziHg7GhabI+4Py3022FOKU`3P)?U5`v*x6xoyn9lo`I-W61nXC;^WIY`F~f;saKMDk@q zYLc$*BpEKMXG1|jpn_%L`TC9r>~kQlO^3P{WKg^_osRLcbFIa4MFlE7VCMql10M$i ztR--8SUE^g$0VpQgSZ$tEl_YzIk=Aq2ZLG-f@0CHXc8rPUIotA|2tHG*pZgev;^NSNMZ_YFSob3 zX}q_uz@ldfOCAEPgO5KMinSCxY2j?m^!YmliP-OEVGc*0W%Y8673j?Q<`{qpzW@{J}HN-=BS~?P-7Q1p@=P;Ge4vF`a5HUuB z0`d7~K(vBMJ^(R<0du5I)(ql;*498wAdi?=8~IE3>`1Q~ z1%KpkQrorpTA zGvm$QzFM&GkzD>LnbRQ?_2Y|CN|dsFU+Hs$Qdhk+W4*CT^~H_~m1J1pz@!BNKbqe@ z#Y)TxdGPH=)J33;wrYAj$qC;|P&k7)8Wur>_B)0O>JE6dgkiyzNKE!&1yMh;4?>75 zEWaB6_DyKa;7!8;9uN6z>FEf6gxKH!)&)&9*>2PPiAZjwuBf%xr@Aiy2%A{gdJLiO` z`DDD}=;z^Q#G}MatV0MtRwEhS(Gm_>Mg$R$DHp~v5~`J8GZo3C105teqRz;a)~b+| z8HPJ5#}LM*kg{jXgFfZ0D@S7KU&-uCNXHbXGGi7?xXThagO8rre!g(nLy~iEu(F5t z7MWp`mi!MZg7*|r-_X%;9dF&Z-@--U3e=?vb5uP-1#YOs~pZ|D93XsQ1HzrBR^{1_&=N?$Z-<5~mif{J_ zrN?0eSnU}I=kX@SVO}PK0@wNpaPG~_uqgBE5 z@JCgP0Wz!Bw}7DUit3LAD0c-qpuUykm8ZPZKTnfoj2fPsk?zE1tQGm>jb0Q3A-lb+ zgT98!&%XxkJg4lz9n56J32GS{c;t9jGlS7LOT$0gWr}uRSqGS|m)GkBXba&{jsR}| z2@O3&#aEh^WK;`=L;u_8`j!)A2DDl?pz{Roy6Fv_fN^8al&TH)hAxM`u)JMg+^EI- zU)M{k(n_nSa`Y0}zmqCigP{IScP#XMQD3#j_y9}Hf=k2od#SxX8fx3y>jPPZdTrXLe|guQtv%?Z z(!j688#P{8zjBaGFZ<~Y369y;g`}1{FOINn^Sl*l8l~|lkTOR5!jI!rYsC!@H?_$s zAz;Zyjb7OJdi+NnzV)2h>I_IGgR|z={1au@H;kVq*-5T7$`~IK_cMAPt}FLjLc-T2 z!6St03VJs($^byBE3P@LrUH;u2OuSu@;2oMZ@<+5mx5T=9Qx8i;Rq&b#MI3FQG`(zV#{v)ykzZ4fZY3&UEgUt#K|1DG>L7DY~f;`pdE5{2<=j)RzEN$x)Oxb3|yuc{FKDr7jvA!$Z);)!m>Z{MzQo?JVgSC0sZ4$6Y5=TI!}V> z^mj0utup3~V{p(O$+3Kk9r#=1?8#*Kb+%C*Q(S*luk_&EYy4X|KwHgr{zEtx;NKe^ zJJtXRM-7-SgnzJrF-t={$vBujzCjQ!N7rhVTSs29pXI$1cKo%Un2DMwjiZ}LM z3S5jr(V8+BP;^T_F=`1jetVk}Xz& z#lOle_9ogN4xeal3;*?tV&p>n(!=j(S+3^r%+AuV(w@02IJaXyr@dn*>xq@`XE$HX z@nbL1zq_z)jX=l6?B{1z`54JGgyBP2;3Q%lr3fF!KKxT8bN}IgjDAU>HyUd#@s)gGtxYv&dJNlw3XmucAQ z-H6M-{dVt9d%P~Z^EuV*(IaE&9RX(*Gr8_G1Vpz;=C~=xMkenzdA95J4Q{*0_~f1G zO`NW5*7|R$*A6+wv)BzVQE{a+V@+nmhLxFvg#_PmBl$ z?n@A)V{42YjHqdiD|vB3CTRB{x3;8-+n*#s)eoF{qPgeXbT5kU=IB^!+|-a3W>gy? z98_)_U1Gt?q_Ldl`K`A4RaIwk$$-`U{^q&}8+yUEK~2BupDT9KMwV3%xSqLMzmM4> z_qk`g&gs0LE1JIb7%aNoOB`!Iy?@|wndNTKg5CZW53<4u9r_|k%&Gm1z7gu8tuRke;?@-K3^^~%L)Gq>34jZxPueXI*!5o~zMTE4sDikZrzAaMK}+oq3<5ZjIDe zU7z6lDVwHPE;1a_V6$;seAs*C^t=4S%?fHG@(FG^R6@;WpNHl2qwZw?B;wb5yZyou zlBUg}cQw5pv>E;Fj(Sm3u}h`{LyE(o+d{f9jX;IluqaiYFKM0%;`x2)>eZ`~!>|2# zN>)Ix$2pr-T6!DJ8ZIW*T^wDL(opeg32J4vfi`td1@fc>?}-uQuH9`L0i)%rI1z)6 zco@ML9Rt9b0w_&jHd+ZIz*WggI&d{OS0Qx)^{DMM+dHuN$U*_CO6VI1o_0$f%nJ~U zCZQ=}4p)N^EVFHdcF9RTMSt-ec5Cp-MYh)PG>J73N_tUVo(jUGWXU}6Ez2y%oVLom z{MwaWSyB@0ZzS1Y?_qu2##6tC{mrJUL$n(AJY`cwxPmMLoNP~s8OSoWR1Y4X-nOI_ z^wP0oyCeJUW1)(k!t7N};(njK!!$;eY6ap$Tz+@XMhgF|e_QOq#{X}}g1}LApwtMvC$=7rcS#f08F8&-s z7@2O%Ym8+C?jX^2gl}amT`<`B2>U)F%X9$<8*@Aj(8$w4|I(A0HKXY@qdR=Kc$1p< zBxp&(e1UcMBl_;XK!10^6u#uw@3uv9)JU7M1<9QEc3Gf#bs>!~x#r{p&Fn|4wO z1X}&}NjAM8D07a#{le?Kigl51+v1i5PoDXs`dxO9+=)g$I@xs@{d^;$WAQd`aF$?P zD|v6idi#93gR}GSQtyf~A(=ur#Zv;0YlHe;7%6}Qn?~q*Ao&pmE80E+181AiWwg{| z5leioR@;!@U-w~qXZ7dzV%xt5Ib-VT?Asep6*YG4CI!+@ zaY5bJkhwhsV!&TkvHtPnw~d^fosXtwQ($!jo1E6p&U!dcI-EOa!nR9T(?(ufIDS<- zijk}zacXw6-`|tn9_@{p$ZE(2z2WIX=5IU=kv#Z+?LDg}dEw%JT!0S<@!d_B;>m3H z*AeB(A`zey{W-~TZu0QFU%g>pPvt<2N)wbTcsVymzU$JnWn2a}mp{g%Tw)^gm7Z-K zi|w?LUhDoH%Lz%-~smp!MaL%>`gq#AAIBAOt+ML=8D~C?%vU_i6D1{d1y=jEo7;5Tn(elvG4!$y(O4RysgkCD!H9=xmf?CPd z(#$jNS`S;o8bp&e+@RBT`!0Xz<>6Mj(;0mU`Z8&Zgm#Z?ltxH}8vkxm<@$nE`Gjaa zFlnLhN*@R7SAD+&ng*O0qO3clm}2230J-`N%liI(142@_b%ljSrc5I~R=ygTLgM+} zacZDAJX9KG`pmC?KR8U!uA>@vPvp+>j=oI=mG)xsDGA@!vKG zRDCS1LG%9|3}v-b#q!+ECry!e*@ADphQ2P7-7njazCJtcJ)mx2MYb=8ebm)!9BzJr zJmnxbXFN-tb+ueDJ247W0Z+NQ?^URr+aL|-y;&I<2OW%Q1NS>R?!w7R@?S6@7$f%w z#ih^XTH_EZ-)^ZCAnQa4_m}RLz0S9x{(jrG7){BW*H^ZDCthf29s^d+WwUI=stQn1 zAMyH0TOPBsljg0xqmbL|Je&XV1k-loi0vW94pNIRW^{LP@ho%c4ZGQ>wP`k=tu&<^ z@Q_hCmFs!T}Rxaq|y3{4hA}C60Hj4SCuL~E4A9z@Nho5bq+Ht0$-A?y9U(Vl?qB2~h{BXqNQQ)~( zk5EN)=lqtI4>b1)$9J8)!r<~br^7F$H2LCm&){dU@qAK;1=6kO3JMCwzrqYbie=cX zW_%YLJyHjyuCHfcf0wc1hanxC`)yEDWj*%(M?OUZ>Nl|VfigkzIuf9)ZDgC@1vZA1 zKRsNM(PAQ78u6@Ea5Nt4%$2yQOCqFN?A741{pR$vL((PGG#iis7kXEgPY@qs^tGUO z5hgg2(px6t-jT$ifk9hXRTbmJ0d$PinEU=qzI@svOG}E^wwr%8M(Pux69G(N+<)Ku z{1YFeGt#%5I+Q+)@4vraPGH6M#Ko+SZlbKOfY>I2xdmN;y zYg&SJi;k;?WUk+lEH#N;*#LCkwP2b^oPNVjT+2x7YZbovf2L*ZS-Vx0H&SP>qjs2> z8E^?%7qigHHQO6598V(@$Dv%P*&iP>#(C%zU8Z{c_TaoExxfM?X2(OBMi1sgo4w_5ujvUYwXHgYr znfs{pj=PxlUEq}9=I%(r=wH`FjItSA_dhu?&wOG=S4HTFy~vj40Ck>{!JnaPpQlwm z7Wg?5U}?&GMYsL)N;2nCvrtk6KeN`Lo8a!s7Eg1^LqBp$Ty6Q4W449X4Ggiqw3W~o z0$nyL$-TtfmEVIfA-(R}yL9g2{U5RqpUMWwmo=xU%FZ8q(Q zedpkneCWJLihjr0fm)cXP!ShHpvfEqbuo1iJqGX0c@ejGRYHHORy1A2uZ7f8nV`K>OdD=>*y7HsV+#}eMX@n zdc#oRtCA9)VBc*~S$$Vizu~+@hy3O5^{^2sM!(zz+%kf{5zfMYulxIL)^={y;wt2xHW5| zs=j_z@0+u8U3!~f&8H`BVEtO(t9*IxI9Rk>P5`CQxR|$7t2@#4%qGTAvJt@fxQ;kd z!vg0Dx}O95vDnTjUxI^h)f-h9#W*5f5aD`}*VVhIxl)P?bQl7qY8HJv?_am0~c(reL$Z zP>E|8&-R$Qj73+-S+PzEtl}-`n3&HfDA+qZ|H^Mm%jm4MoZL-TI`!JcI%`Q(DQJ*E zB8!~o#*UH4e}OM+#reR21Et%AspMSyKhjlA;J7y-q7TzUd5>jPt@ ztz9d5^aWzqy{M8la;O|vF}e`6GT!#(&Du*U9+}D%YW#OF;-j>%iiu!3>jZ2&5Lp$*>gTA5aV z0mskC3Gh~AjHwG!_vArh0t_ZtW0Ce>e?^>F89aC2pOJKE z6-46tb{jujBg7*dW-6_2X!<;K4Ta;a>aX#!OWQNmMsr7u=2UD0?*=FM`i{7G&=t*crVA3%0PwC=|ftY3fDa-H~W^S$igBs76 z!YrAO_J(n0u^8NA`tnWFZF;x+-t7wfiTW8Wy*}n!T0F<-o}^~pNV~c3=IB86+ce#o z5Uq39b$qK&XilF<+hX+fXYNSMf6-m&W*?-!L1-bF5_mdX8i*GlRucOAu!DgJ6n^fYVO#ZKwGv&F}K2Li1)f8Cp?2*td*ZY-gpXyyEB6BD40Z@ihutf;<3VYrL4{{@nREe@^ z5>5Ko?qvV8T2TAGxT8~t$;(TwnizGwGPB#9;BoWbrghbL@q`kcA ztO&n#CXzJ(e@T(vugP(f-il;ALy51#Gz0F*CFG(hrBBdVN0y>QiSdLgdbZS;A5x_AJF1|?R&iHWU{RC%5V1< z7{of^tb7rkx8FW{+<6p?uE4s1yLf>FL?ss;IE0+=eg%s5 zqpi7VeUIJVi#exfsKt}$vFWUYp~0oYq6yPwyKm>^NmW~GZi;{e54N4KFJw4)g`o5&K^V&IZxg0ViH$%v=x5^=S}dJh+lbI!JXy|~zAxftakWx&7i3_!6Z){z*{pPD^} zF6`|>8JJdABO;K5f`=rUATkh<#tmXWokNGLq_@H*tW!ZI6osCQx#TK=tx*N(=#ZsC za;=C#?E{m4eQ(#}jEanBjfyM7h?ItSbX_cqx*%UwR&EeF^cjh^r`G+N`5;viaN)TM#q)_=G4}~|-f4fk zzwP3MJ`ed^*r~sm`*;@I*=mRv!*^HwW--36+fd~2-w9kRDez_LK@8*cdn*aIS9(VG zPdR0fV;M$n55lamN+sUIirclhlN!}+s7fA~>_F-{4sJ;K&^}wWKQII$2bdN=6OU(% z9KEMKc>0@N(siEfRzJ^IPH&OeQ(Ql=eeYJir1DfjVZkM?i+N4sUV!ZiA9fguIoS0c zdg88<>e+LH71!gk?L}zc@X{{h(LMgd<1=X7m~m%H`+iNh7>crbB&X6S#KODaKt{{E z*&T^HY)Vz{5+HX9`D9se!Qr<^BU~>1<#UiuM+K%Yf_w#=_$iFaA zkYab7JxkFIO@?1rODz85~`KjgpsIo)GAWp0ea0Y2Cl^ujK?y74DY@+MN4QAHe8+6+LH zM6|$KapV3SiTz;w%H1Ep?dXdlg|6cO#$GH6VYz}ioh*?z!|13>a&}7MCyaAKKRIb) z*=~0HIM(ho=sn;E7nz6d%SHt`r1@Rs1h}Cq9Jx(tt8jd{cv4~_hOm70gtka?zxk41 zPcIsYT;$wGoxfAd9HgCKG$PQ*O~q!GCFp0x>fB?BsRLw-rbphd2vHs!i)^Q)j+Oq_ z>ydGL;z=FU7fjQEu(sNUFhIl5H4*#eyZ7%?!|jw7ZVD#Ymps9jo>9 z{KRJ`ZrJ+tk)T`1+laL>a$4FhmOOsE0oU;*JbCMH@9q*c>$hcxT+`^K)JQdc9G^&t zaooo(?;$Eschb<1ne<8csb79J?hdW7zKo>{p6Am0WyCFrfrA6c_CoWq#~&hxz*3b@ zMH3F!5K=cl$Z{R1ZMpc)I`__t7cZJUS=l3-a8JB~N7iNZE95ef1!MoGBTELSM|a!h z=HUTs3hF>2h^mR$lGff&A)pai2}9Emh*^pK`=U(N(S=VF{-L103?S;Z5{@~E&hF1Q zq&3%}h)=;0yAMXF84YO&7Mv%3xpz!kx^C9VHp9IgEjoL7iESMPNTyl>jHp)myj9IkB>XB#=4>C7$TgA`_2NE6%izO zK3>G&N{js)(yeBs5onZn+0}s(-@PFYZ_A5LwYYMZpf$&jAGZRufDnO7QChJL)Ir#o z%Wb+l>HQ*klosfT*<+bkEuYTGw4JPrzW+nG3JF~R4%A3X4>}PsJ0l+=j((gJaD-Es zn)Q8W_$AgBGDnCTfWqj}4>)KzP>j4Lc?by1J#*DmAPoR;dkjl|^T0{5aH&!(d_Ir7qynp23 zy>O9YZPC2pLx&E%ynGs3~{T(xiR$N?lOYr@P0ace8w;>M<2IUN+}ijIw`vUl-YeI}lpv&G-~TNvnyr zOBU)6g5(36uCVfZg~Ha-{N-v;R@(@}`inmp5PHUffioINQl0S z!d5U>O6!vu6o;XogD#j8n<$LJD(n4M7 z8yr=5MXvu&!SIz#C8R|@eE9Gs+#s9LiP^28`md5xujYwFTJo`kV-e!{yHnzq zm&{L{k8YTa`R1&3uT^=zZ(QqJw#eu?nd40t%vDmGzWfm`@$XK3!YS**dxeqvYGB}+ z9ho0F;O37b5}B>rVnl3G#n3Q$msuiz9=|?+J38wn>MO(+VQ6BquA(;vV;SSaBaZ`- zi=cCl{E84d04|L^j<)|hslSE6Dj1$<0`QK+;Y79)#0P=IQUNk0Hx4j`O9IN#_&lM> zE3^PEu0Z^N7ZpQ{>6{cgfhAX2vZQe`P&*`h|4rWGWxCWmfml0LKn<&C!>F`~t_<)! z;007vR46T?qM{`E4yoa&0QIo~hK7cesM(K?&?8hJsOp_Kn?+Vz3R9m?+?G(?uEtD9 zbc9%UgW$R6t2U=%l0CIc^{@r9$?Tc%W^?B>}Jj^B1l_OhTK}9MMSt z9;q8RfF1&k50bwtI7?#c)xLw1ij9;FdY|zze*cA(5owia9#|L69;0vbWmnm;{r3=zz zMUJ43K1``9kAEFA5Qf{l{n$ke?>Lcg5Mue0VEA!-E^-+^6KX~D7$?!GdySc*?qgPK zZ9ON$WBiAyHav9DfiE{!&?|0cB+mO#Yu2b&sly|V?1R>Op{B*hfe%HAk%RtAZGabb zxThFCmIDVUaR=gk#EU}9go6cAK>QKE$NP(YasQMo-e0^+jwLxzEN=>Lx78*K#|Hw4nzDOUj_G6XA>!-jgSRXoN?HfE^4& zb0YFvfL9>;7dSIXo~)#RhKPYjnG1CgKulE_v%p~!lXj6|aE2x9-|;eRm8OCHjet^4 zPQ{9Do;ixtBn7q@=i} zbI1MbC4kUrb)#c3*)Up;I3;I8x=^#x+qB$UAaBeO$AOwt|&Gn1f=nS!( z#}LTCDZ@bgY%Iig@5a=4+Ke;OzY#yk73vg#O+-U#lSD z(3)AEHxev?Do=35-DNXINe7OJti^3W+;LFnL%^HDo2W<-1TY*=qFfP73|&a9vpdGR zXoyXjahnl-BCZMI()P7GQ`rjgQbGoR>CiU30bk%t+63g_3Rw%oqm@AG=xfn_=sRG; zFbO)BRc#~(IV(T=FFAVclKK@1mLzkU-yFw};sHh?=4>ni2Az>cXuu@XLj~E7p`Lj` z!WUEvC!eAphL;`?7wjYSt_>mrb9(VXyaKb_cg7xySN;9gTUqgjJ@B@||MVsMe+VA= z+alP0L4#*nc404(=HM#d`aokH4G3E=EGJw8^yl)+6gJW3<#(Nvi_s2T$rp)ZxRWuW zCUoKC%tqXEco37|!5)3;R!&aN7JN|HZUJ^8Nscg%Ck?#R4@wBu@G0S4ct<%C7srC% z91ewfPG{3ytmxZpMG?c$6hDN{qH5d=E+VwZrLpP7Nzb}vOU8o-VU~40r+)aNmBj7G z#i&{8E;K(29Y7e#2;5S!Kt;$0$owccL3c`uUE~%#vzTD0zT_6i2NXoT z;Uz3sJl2T4eG7jVa-kCFW_MbemLNdPJ;I=#g}$Q1~V(ejM7bK#E!!;1?!zjw8;mB<2_AJh$p2bgxkq4 zSzOH5KR*XNdjXr++>7&0IDr^Aq}HKv)WFUU4)>oPrhPir|N8Tt{IkzQ8u3ca9v5~* zcN}jV{PW)^lI)9$Ko(3WgfGcf$F`n{vzhwD-gSC7BWDWS$ zTz5A9rBpUeW0yE^bW{n2k_`BF&|zjG7Los$c=Hc_#= zkM5aU&fC;SOA8@$CvOfKYi& zEo^KAL8l7|oXY@ACNW?Us;jtdBiz>k2mu3=Tk?R|Boe}>muCuI4!IfTvWS=b^2!@% z%ooXMp}G51Gdp=n34|45#+(cGOOIE#<0qC&b`lrj!HFSM0YU)fWulS#qe241P{J!d zDT7Mi38D+O30Gj8vIaXGfc|wbd2)rQqn{*Y4mQM3|Lkp)EuktM^4@)+4Kryexi6|9z?a0N;VruruY+b8^FKf?T&93V0P>P#TL{&VE)$GruL)35i0q!ahBMkrQ` z#Gg^Fr6wRPL@zR!7r*_)Q@H56vWI;+1ZTe$5@1Dl?08wn6A+o6p6+|Q`WvOvPg~Bt zXIN1fgH%=)n~^VMbfU{cwRq(IZGxBgk;E&!{kNRmFNDAhn-Z&Z649IM^y#_p?KVe{ z^O{sve2L#G;WhtsWDIgOa)Y-b9~ylaukONa_7w6Qg7lM$isOLvLj)(m%#JGVUq#>p zSPM}A9MQyPzWlA+(00hHa1Bc!vk<|N+#mxG5En$gX~(SttOxHI^+oObTq%@f9!P8e ziovb{L=jX~zp2lKokYD@`pv%A586VDrEq&oIe=$$G|#4iU6JDmqb8ugb`BLRBezC* z9eQ-7dARM8GOkX5dIe@1Fdf7<1f!gzHo}ltLehHm)Rsk2fJ$gHKKLEz%-&_U9omr? z*fw%*i&{r~cE+Vb^UG5Ry22tvpkDkacYfEK&jB1|m>6D8_PvtyU6^DXMUyMf?wsER zbEiYY`y4;6gVyr;_3M$B+~P9hZ;xGmvt`Q`8?1&<3MmqFPL(!KFZzyGmzGq$!5VHUoM9n#~g08*qSXM-!=v<)Qpdt8cL!uu83xp6|O07 zE|uStYYUxwqgUov{_ucWO^2|o%loe}_q-Llshf^m(2YlU`Uql%ax{t7ZQg7R2lk1* zpDe_;B!io!FS4w{-)L(wx5DgFEq6^9(M~qCk$0zYr$btSUx5M2?MT^=wq1E?Y!9i^ zBnJ(Li6mss#EPjH#(?llx#_$K*pCX9z;@4emsk%BDlyB(EmQ-XzW{}~@E53mIQ(9h zxiY{QC7#)9p1q7Rrmm5uHmPw)S{B&sDM2&Chwo=TCGM2hkH*rmoBN**IF9-fir zvxr+qgGGToSL@tm)w`Fp1iwGd;TP$$p6ThOmi@KlyRtm*jSx=)1(Hn?1}$krgE{97 zwtqfXG7pbn>tQHTsuY*2TSyh^cuqxhm#Iu9W6jcl|UKjxE+4#7)av>);S1CbCV;{+r$=-b_>AI|EF8ng~cIpF28D*>O)Od^N=t} zIDUNQd)rf$CPY25|gNYFjI(qu-oc$--IA1C& zZ7MuileHdisSbv=eR!YrE!TxkrQpDuduL?F{CC> zy}G{LFxgnsv!q-$a#Lu>=qdgf@*-tVW7>h=@@A67$D#a=ViMxKuMPhW1l^tvslF5JAemU>4 z+1MI|hu??Pt91k3=vQ(fmM0;8V1&LRbIQ3+2{bb(x9frGtoAG$@f$q+5$_xmD!xAG z0A~5;Tr}%|4|FfSu*-OV1~J9oGLJmW);b4(4i{hh8BYyv93ViLlCUWOINCt%(*dV* z*@4JC(W9n=@}8xiFk5B0#^4wt>xWl;mpVq(Wx1LbqM)8c4aE(FM_GA;Gwq#MriR;M zl9-QQqsQrlx`xF{z(Kbt6a<`s2k^LinDjMu1AL%Y0Kviop_yEa(5AjbpI=zW2Kw5> zjMDuKUxuE}xv^R5pu5cjhoTb=lo!`wzf2;rb3ruhxiI>etfds*QdORup~k05)_`DE zMx#1;$fvYa0E~Ky#yA=N@1(NAn*1_YxHcV6EXc)ydrl)}TNEx_c9@-NKr}SU`R!n_ zm(n|f_PR%S2e|H{xH1=;w z&5&sw4HzBR6XSd1@J28yM*U=li$ef{JWfJ+HL?eiELQOvn4BT zSmCUk9RFDGhW2L5s5#acFydhR+LRK32D0*;%y73LE{!#dpc;^C18**aXz#8>R6odE4qq{*4bX>FSF2!iW$^ z(u78zsN=clo0FZ5I&ikgQjD!lFtjHR?=yh+%;s}Ws%lPUn-XWPRmobSJ$m4NOcSRW zAanWH%YH`wIGUud-Hg!B3hFv{Uz-~ei*I+zA(S8+EaacFN7W{$@5S{+tpnKo-6G+m zH%{|2Dii1j)ZGZ7L)XdviCxy^VbAuK^7~}W7zjOaS^BlVvXPnuk0&tzUF0 z-kwa&SglM8mXa~~66M`XW^1K#^uE}$@T$(u(mksv&(F!Ru>y)kK(f+DB1w%%A{)s= zDKpA`^B}`0Tk6+VK^E=OKapdu9`Owcd<+=9KFXz@7I9>as2LCBmENjXtH7!K^y!i^7()I0Q^TH!DO_63jQUrV3YhhHor7&|4;K5x*A&pbJygi@3!%WXr5s9 zglLAFt~yq}C->`*PW^L_a&lC}Dert{TjuM1l}oe2b@rwbBal-0(6GyMo3T!*RRDLL znOMB}{~8e?A@jw9afc-Qe|vxLz-t6%jFoLRllWpUoC3(HkD?7EM9HZz=O4{$E7XsV z99niqt0BljJNq82wf1>z)dg_ z5(`U?*@+VyQD)Mb*Jrh9+i1P&lfbisRt1@MK#}plAN5SqbnZQ$Wvm;R!skb3c?C90Yc#rnP)y|Uz6C%spr5p;(z#9Vzjud|J zB(%JETag2R_ZLs3rMakkoIs&bo)b{)-rT}y)X3Ujy zk`Y`fKhO!8KK{VC)TjN2F>efr0qrz8FWcXCQS6fZ11k}wk1>-Qbc=~>Z9Q+G!*X0p zhh>wNPAgB6Mcl%XJl#2wx>;{URPs+hlGaAocE)z@XUWp+r`Wr71Kt*pf*gKxhjR)_ z`T{cnq5$v!A07@HUDh^OfAh~2Z6uD|AjBW?{OEW&A(k`gtup5$R=0V6#Ah4 z-2sdAC~+S#GymU>%WlCRt3?hm#%W7*xap*CXz%IKU7Dz|mc)&K?+3u(&s0pnJKu+u zv67PjX31^!;L)RMY$Gn?3WK~7n|CgajNF5q6~L|an-Avy^?(l$}O=Qhcx--w%L+RB&#I(LK!L+8ZOukLZ<~WxGKP+{4 z-2{dep#lH3I<^# zDls%oBGbqUxu{?eJR`~6>5a`Wp2lR6JjZteZXf4ek-5RRCL& z+wAdm<+=j1U58#*pL78bg{j>__z8HgPrJv-hlcGN`NXh&>*-+t>jp&T%XC5R6NWen z(2T57Zx~R4-2K7XqPRrL|8cK)86WwSD;Rlecr0EmcEqEk6OITzY#Nfa@!uJXdiE%g0{mD#Q|>Y?pI7+OqTVST+gk z-f5IifgcVf$Tmn8Qkplw(v^k`t8fe?Q0(M|GD4goIwxWo3!d-cay{GRE4K7E>>}>i z(Wknrx8;X)XtOY>7BVUBW7aAxzEHUTVj*`|;148@HpSbD1)HbOl&KfeC>%{zJpLm2 z_KTRESHy8Pui-6j=*W+$QYy#E1STZfX5fn2Q5h|wdNMSZ!*4eN7 zF+n@XR@VH-zrpUbLi?3heUWErDaiOLUgG}5cA?7)8c{F(#gei5awmOOusUpx@y9;9 zC~nsQod!p5*?wO8q#Ms4JraA>k|sFP7ni~schQmZPPl)ut;j-ic@y08Nk|e|oB}5a z1*xf@VjWt3bcMCK5UCIm@)t-ut{7!kqjarawqkN}f7gy6H5|g(Njf4jVgalQ0|mzl zgn%1+&mM_cH}Jov;D7(pKY|uY`Okul;;(NRon;r#H_5lyKWiT6efb_g5htK!PSLCI zFzM3#6o)-_bI2 zW&0A|X2SQ!1M?!zW;`3HokD`R8Q0@UV_@67F}lVYgLz7=8=RJQoYn|_Q~v_s{*i|v z!20pP^0rw7J$9mwy85Ap@+>KAyzyO7d5G0N+1Y`CM`S&VGErn?TaH9OCX(vCh6Lf3 zCJugrg5;!xM{yZA5+K`QRstaa#UP_03u|W_VyG1;AgB_K&e!G$M_@R?l}K9AN=Rxd+9l_-!WI?hhd2VV|XcnD|d=`%NNubK41qh4TD%roHM1s ze5GXwe;%AZlXA3@x4^)?~9a+i-1K8MjQ(5hCGc&|We4G6-zl6Y% zkutPjd;XAD1G9Jy^R`^l!NfP%_eKGH(GpBwmc@LD0;!+132Ok^u1?4oCNO{2=-*S)O61`v20i3Qe7z!hDL!67g+X$K zsF+wa4nMslZ3e~jEHvwUWCt>?$uNZn2?>SY6%-0T^+x=1hU=ruH&5!6^zpHHRcyW- zX=6J-YBxVM3Qj63>$`;`EW01zEoGvy{{cjg1O!(s;S4~#jEAWhHEw~NjtIyb02MCv zXmKHd<-TMcaE)iX#ka)(1ep^}HGX`=n6tr$sT4;ps0Nr+l?)PfsKV7+pXk*)8lREg z`cY%GqGzb&qEeU#EYCtWD&%pF(!zH(*eO$-K8o zq-SD&0Lr!6&t(@KDg-$ql63B&1p+DH0MdxbY;I_H8KAzrH@;jI_Cb ze0|cR22?HLBLc{O06c0{#ck`;nkT$`E1@%5b5oZZr59UYjEJ{-lNFry2R9QM0Qdz6 z8eb&k{4YIB!sW~U>vlJ)C>{i`+(h+$bmVMkBbH4Z1Fyk{Y2SzTx*rf_HGuQDzC8z? zJ-<;YAJih*th^*fNZ}|YOpplbYHTyFZBUO9pu1x~ z65Pk3?qthVo*z*P!A{Hyk`!leyiX>m>YFmWd_&;%2LB<-$44SY z+OmebGcDo&YXb#g#oAu5=H3>b|P7y>CW#KUU=yVGzY zBH1LOUk%%oE4Q7?<$6y`>hqzS`+Q+^7kOjIK!3U^`6gj~Xz*kh?I0o(BD72M{YeXn zXM0AlI<9{5nt03zfgD?8g-Hr>)ZS3`lZSsNQR&$rBoeB8j4R`6ocSOuLt*eeT=IIA zYz>B-zrED4Bu|`rDQLD*M8fT{aMBu%`G;m-iaz@Ee!`f9F>xR~r|{TN=OG3zGjcwy z$p#ZmTshzm{j}QY9EQ*zjaCjjBxcifj=f zO;|Cu2Ga|+yv$D3`spG3SLR4K@`N`6wymU1?H7`94x&jUc0ri5zg;>(3`KUzZUDVV`)LqXZ>ZtsruPtU4^zHKY7FZ-MSJFjg=LleZY|BA$Po8@i=?R z&L`qHauRh$Tv4)p-lo|h zmW(Yl>&C0w^Fw}Ip6j5XxbgO@mv&=bPL#P9#ib(;m4p>Am@9}}jC-23Q$fo*)i{x` z7LfW~M_xG`3v&gd%H9Cvn?!@zhrbI(^ac!cT$aX*_86M{2eM~u0k%l?fiRK|saRQ_ zKyP+K&RrOgP=sNI#!$E7e_#0*z26jwOBuIkAfQE$5u0n{1C>I@8Ez>Inf10jKX+oQ zI4U4y16TJp4!L2_As-yJsi;VBAH13aOhx_*K3Qx}_pHlCya!kp3bCV2=jzo9pBiZ1 zJMwV+NZFIu#-BD`t~xoR0vwd+OUU9e0Fg^~jyzn22#|g!x@*^XeDmPd(797jw)_<9 zS6+W1PrO6sOV}MNS*{;5U9?n z?y#d6EHhdN0UhHdeh(0RcssM4a3dO4y7t*E#s2t8mcMef%b?RifOFWw;_c6H!qRqV zBFz0zmEV*YhDTczK7j>7mH?&M3edUD_(JBQddiJ2EO5iD@iZo6a&On2B+im^4i^6UgWjtwfrFesFap+U9D z2(!b`i3i$ZJa+uziqddMHo>Yxl=X~AZL4v800%nG2}ulBAcWRFueHu)>~+Npi1K{9 zc|`|s#C`p7K;wIQmFhtTH3{|i*95kR z`uFF1QyNA*3L`w%eT;AcvyOpVK0$e<#F{H}gU6#~hD<$GYoU^<$AUlhvNMoj|2bSR zYn|KB7A? zbyeYau`Pmd-$(9g7`>IV~I^yh!9gipvYg}0u&Q`5H<8_f-EB+OewRc(MtE@&aEkS z9e9d}D$rOScQhrse%}L53)w3!;8rKQ9I`x8VzIOYDFixV?h_nfINmo%(+_EmxOx?( zvC?ainIp38vWskTY+d(|8^#|5hqcBnSc2FG16QwdR#Zt;0rJ4Eh@F95#b5C+^U>l2 z(Gi#6O3&RCQA1`z0xx^R{nEADv1q7Uu-27-?77ZGM4w;68jk~J%hZs@b#%+597X{Q z=Gb%k3t6vkA87YN6gDv(QA7GDMhPE8q@}6^C}Y&Tf|iUEHS#S;XtmmJk;4UonS}dS z-E$wG(XOg}w9BH+9@k<+>rzFv>v$m{A3w?uZ8-~GBP}5>lTQubZsyn;3QQ*fM50NccS2}K?@CTY zLYE`rXROmxevD2p>R(Izi%C9zb<-|291_h<0Ihk@a1%foKjRA^lUmF+TALW%Li8wS zWGUisiZNC%-XS4;Xk(xUv&PT%{ykM!T5tk7V8v~9OA{3_h|Z%R1|=Z!Bo9d5u96iZ zs20Jkh_;WTxyn@RL!UAcWP?4tKVAfdGI_crx=JrKv&H_~Z(L&vx=+#%ixTS_940pS z8A@*aw#jB-E&GB(U|Qj?q`Ww|NiD;WynF+tSyo&kpR;I>EV0Dhc~sh1m)ATcK3^-T zWfWJAi}3J)Gk}(3Paa&Q7~|e)$rPy0mc*ST%G&yiKQ>I*HmSiDZ275fbT)hQ0oG0m<0x`Qnd`tU4tABoVQJOlHmNa^vk|Oj~i<6QzmwP&2 zIFw=B94n&_2j)F2&d=L~Tk0E-3j^_Ls|Ag?a(omotH-)>5~SUMiGURaYDTUwvfYBT z;?z9H|4o_ngsqBcj^KXib%M#132Rcq>$qXM;lD2OP2C4e=tzeA4`;n`qX__k_~yp$k#{o~2rSC(MQP+rZnvkYCtUn2ZVf6Y#eOR7ZZMN+{aNlB_7AAf@$q|c6WkUU{p!LK zV;2e{Uwi{TAGArp&qtm|2Zy=S($5FuGjuOQX5%IU#miWXd_hvjE7X1otCztxzg92e z^3rcJa+>vH}3yQoNhJ{t#(54EUbIu5)s+}79T51 zb~VDr9(=}=L>Od>bus~v5XqrE=P1J&b$NEt7oZFtco(rR#oLJop6K7jDLUHmxS!`k z@fz>|AiZ@bD9cixmEgfuw8U$i%}SIR1l+;qi1_qKdVX);)?FjJOb)$Vmp;{xMY>OF zepp^qL0?kwmg5KLu$WUpp2x3v;E%Hx@JIU>rF8=hH$+Z7xp+IQGJfH_5gSM@AQN(o zYAe7W2ukGxyiD)do6Y^WFc$&4mASo3K>u0B^Dd#HAGy`hadSFH@9Et8eng4o#7>rQ zdtay3IbKzIE4qvO%WO_X3K?i{(7fTb;&PeUConuTzXabg=rk}gJ9M?NpTc(rI8wK} zenDeSHXLm!MDw%S-7)8kAHGK|zSdw1ngecQbVB$QE$__5Rqk$33pua|_l}$#sTaO) zhlU~F)bIam1?yiz>VlKz_retS2UjfjA3w&7Lzcuuz%2{@8LUgPE6mT650Ge_Be(9Q zGf-LfD5~4ap0y8FtEwmjpv>gkd|bhzv<}nEhsGn4?9251rTc}!(g80Vu$-AZD%7Z3 z)cG?7W`E@$*tDU<5@I&iw*cjyAZiXpOLri)O7=2%5`;O`8?d7EXJX~gM#7VthKy^A ztgy2l=uO>Dr5niHhxyLWNTiKK;JPA6&>Dddgd0INxG?yp1MEsocAHM6qu#P-c5A!oeBZP0+Pw|RYw$M{Y9NPEK>>3jIgpXw%(9&+*-cS zPmd=d+$%gQ5BPBf)NhGXuUXB#x=tiJt)J4B40(zwNy)ZgCY!c75k7mbfwI>Fa0;emHWbd8FOzS5;rtMt$en z=lnjD;@eJsUrP`3e9@~#{_>GI$3HUZ3A@gJJ5ckRn=zae55}6wNgV zmLeSG-wOjV<1BmE1yz}c;wp;NU+h(yU3mMBlIiEgoG8NydaL&VjD4TVW*?L;YcY-F zDjqD{r(ig&@T<3W?a74AcT{)P?N4M#Uzy_*GIBU4+aB5B#q(17kmL^zg$Er?L*8MC zx>(ARAM^4)oPN#PD16(%+mOzllXcREdg&AAywcWRywAgf@&n)w)PR?*_YMKFj=%x$ z`?Eo00pYkH1RDYrT3ch2+o}C&rRikycSxR~Rrt1&f4;X*FVT5zT}9W3WkQ)<$^N-;svs;DQ z4%+nd!_SL#4BYg8#J3IlG|A1otC%1H80V!zLA2`Kr&}C0Ffe4I+41=Hu4<_2Lv)kK z*>wx=GHrQtH8zblS=PkyN$TG_{O;iyju|J#x&-%=4!gOLyG7zJ0377Qq(pja)S;kB zY)upbgM!A@Gk-5HZ$FkN2<7cuARR} zJT@%S+SVCP<2aT=E&gSpl;4FCN#)fqiX-$I#clRb5Vh*m}sI7_%q9k zM;`7y)Z1}no#22B<@ot{TeJrY_Q5eX_(M1>C^R}a7U)z$M%x#d0zRmv9?S8shs^oS>MZon5dCg7T z-B){0WgZrtoS$#b)6=Btb*wqz)@`6kWyn>gsTwvj(T*id5U9a{U;vSxphO{aJyer@ zXgvp@MzMloL;76jHJG_c0ZiI{YkM%0Dh*$?Ql6<8y3lZ9wukkNqLR``M-C4b)|r-N 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 Wqh}^MbwB^Y%YT_(EIEJs(f Date: Mon, 7 Sep 2026 13:01:46 +0900 Subject: [PATCH 54/83] =?UTF-8?q?refactor(analytics):=20PickeAnalytics=20?= =?UTF-8?q?=EA=B5=AC=ED=98=84=EC=9D=84=20=EC=83=88=20=EB=AA=A8=EB=93=88=20?= =?UTF-8?q?=EC=9D=B4=EB=A6=84=EC=97=90=20=EB=A7=9E=EC=B6=98=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 리네임 이후 남은 타입·타깃 참조를 정리하고 Configuration·Trace 소스를 분리한다. --- .../Interface/UseCase/AnalyticsUseCase.swift | 4 +- Projects/Service/PickeAnalytics/Project.swift | 4 +- .../Configuration/FirebaseConfiguration.swift | 13 ++ .../Configuration/MixpanelConfiguration.swift | 77 ++++++++ .../PickeAnalyticsConfiguration.swift | 15 ++ .../Configuration/SentryConfiguration.swift | 171 ++++++++++++++++++ .../Sources/Trace/PickeTracedView.swift | 27 +++ .../UseCase/AnalyticsUseCase+Live.swift | 4 +- .../Testing/PickeAnalyticsTesting.swift | 8 +- .../Tests/PickeAnalyticsTests.swift | 8 +- 10 files changed, 317 insertions(+), 14 deletions(-) create mode 100644 Projects/Service/PickeAnalytics/Sources/Configuration/FirebaseConfiguration.swift create mode 100644 Projects/Service/PickeAnalytics/Sources/Configuration/MixpanelConfiguration.swift create mode 100644 Projects/Service/PickeAnalytics/Sources/Configuration/PickeAnalyticsConfiguration.swift create mode 100644 Projects/Service/PickeAnalytics/Sources/Configuration/SentryConfiguration.swift create mode 100644 Projects/Service/PickeAnalytics/Sources/Trace/PickeTracedView.swift diff --git a/Projects/Service/PickeAnalytics/Interface/UseCase/AnalyticsUseCase.swift b/Projects/Service/PickeAnalytics/Interface/UseCase/AnalyticsUseCase.swift index 2a1c382d..7e29bbaa 100644 --- a/Projects/Service/PickeAnalytics/Interface/UseCase/AnalyticsUseCase.swift +++ b/Projects/Service/PickeAnalytics/Interface/UseCase/AnalyticsUseCase.swift @@ -1,6 +1,6 @@ // // AnalyticsUseCase.swift -// AnalyticsService +// PickeAnalytics // import Foundation @@ -12,7 +12,7 @@ import ComposableArchitecture /// 유저 액션 트래킹 계약. /// /// 이 타입은 어떤 분석 SDK 도 알지 못한다. Mixpanel·Sentry 로 실제로 보내는 구현은 -/// `AnalyticsService`(Sources) 의 `liveValue` 에만 있고, 화면들은 이 인터페이스만 의존한다. +/// `PickeAnalytics`(Sources) 의 `liveValue` 에만 있고, 화면들은 이 인터페이스만 의존한다. public struct AnalyticsUseCase: Sendable { /// 앱 시작 시 공통 슈퍼 프로퍼티(os_type/app_version/build) 등록. public var registerBaseProperties: @Sendable () -> Void diff --git a/Projects/Service/PickeAnalytics/Project.swift b/Projects/Service/PickeAnalytics/Project.swift index 5bacc300..00ce01a8 100644 --- a/Projects/Service/PickeAnalytics/Project.swift +++ b/Projects/Service/PickeAnalytics/Project.swift @@ -5,8 +5,8 @@ import ProjectDescription import ProjectTemplatePlugin let project = Project.configure( - moduleType: .microModule(name: "AnalyticsService"), - bundleId: .appBundleID(name: ".AnalyticsService"), + moduleType: .microModule(name: "PickeAnalytics"), + bundleId: .appBundleID(name: ".PickeAnalytics"), product: .staticFramework, settings: .settings(), // 분석 SDK 는 구현 타깃에만 붙인다 — 화면들은 Interface 만 의존하므로 diff --git a/Projects/Service/PickeAnalytics/Sources/Configuration/FirebaseConfiguration.swift b/Projects/Service/PickeAnalytics/Sources/Configuration/FirebaseConfiguration.swift new file mode 100644 index 00000000..6ec7c1e9 --- /dev/null +++ b/Projects/Service/PickeAnalytics/Sources/Configuration/FirebaseConfiguration.swift @@ -0,0 +1,13 @@ +// +// FirebaseConfiguration.swift +// PickeAnalytics +// + +import Firebase + +/// Firebase 기동. 앱은 이 타입만 호출하고 Firebase 심볼은 여기 밖으로 새어 나가지 않는다. +enum FirebaseConfiguration { + static func configure() { + FirebaseApp.configure() + } +} diff --git a/Projects/Service/PickeAnalytics/Sources/Configuration/MixpanelConfiguration.swift b/Projects/Service/PickeAnalytics/Sources/Configuration/MixpanelConfiguration.swift new file mode 100644 index 00000000..a7ec61bb --- /dev/null +++ b/Projects/Service/PickeAnalytics/Sources/Configuration/MixpanelConfiguration.swift @@ -0,0 +1,77 @@ +// +// MixpanelConfiguration.swift +// PickeAnalytics +// + +import Foundation + +import LogMacro +import Mixpanel +import MixpanelSessionReplay +import PickeNetwork + +/// Mixpanel 기동과 공통 프로퍼티·세션 리플레이·네트워크 텔레메트리 연결. +enum MixpanelConfiguration { + private static var token: String? { + Bundle.main.object(forInfoDictionaryKey: "MIXPANEL_TOKEN") as? String + } + + static func configure() { + let token = token + #logDebug( + "Mixpanel initialize", + [ + "token_exists": !(token?.isEmpty ?? true), + "token_prefix": String((token ?? "").prefix(6)), + ] + ) + Mixpanel.initialize(token: token ?? "", trackAutomaticEvents: true) + + // 모든 이벤트에 자동 첨부되는 공통 슈퍼 프로퍼티(플랫폼/버전). is_logged_in 은 로그인/로그아웃이 관리. + let info = Bundle.main.infoDictionary + Mixpanel.mainInstance().registerSuperProperties([ + "os_type": "ios", + "app_version": (info?["CFBundleShortVersionString"] as? String) ?? "", + "build": (info?["CFBundleVersion"] as? String) ?? "", + ]) + + configureSessionReplay(token: token) + configureNetworkTelemetry() + } + + /// NOTE: MixpanelSessionReplay 1.4.0의 _UIReparentingView swizzling이 + /// SwiftUI UIHostingController.view에 적용되며 콘솔 경고가 출력될 수 있음 (기능 영향 없음). + /// SDK 측 SwiftUI 호환성 개선 시 경고 자동 해소 예정. + private static func configureSessionReplay(token: String?) { + guard !(token?.isEmpty ?? true) else { return } + + var config = MPSessionReplayConfig(wifiOnly: false) + config.enableSessionReplayOniOS26AndLater = true + + MPSessionReplay.initialize( + token: Mixpanel.mainInstance().apiToken, + distinctId: Mixpanel.mainInstance().distinctId, + config: config + ) + } + + private static func configureNetworkTelemetry() { + NetworkTelemetry.shared.configure { event in + var properties: Properties = [ + "source": event.source, + "method": event.method, + "host": event.host, + "path": event.path, + "duration_ms": event.durationMilliseconds, + "success": event.isSuccess, + ] + if let statusCode = event.statusCode { + properties["status_code"] = statusCode + } + Mixpanel.mainInstance().track( + event: "network_request", + properties: properties + ) + } + } +} diff --git a/Projects/Service/PickeAnalytics/Sources/Configuration/PickeAnalyticsConfiguration.swift b/Projects/Service/PickeAnalytics/Sources/Configuration/PickeAnalyticsConfiguration.swift new file mode 100644 index 00000000..cff1be90 --- /dev/null +++ b/Projects/Service/PickeAnalytics/Sources/Configuration/PickeAnalyticsConfiguration.swift @@ -0,0 +1,15 @@ +// +// PickeAnalyticsConfiguration.swift +// PickeAnalytics +// + +/// 관측 SDK 기동 진입점. 순서에 의미가 있다. +/// +/// Sentry 를 가장 먼저 올려야 이후 초기화 중 발생한 크래시까지 포착된다. +public enum PickeAnalyticsConfiguration { + public static func configure() { + SentryConfiguration.configure() + FirebaseConfiguration.configure() + MixpanelConfiguration.configure() + } +} diff --git a/Projects/Service/PickeAnalytics/Sources/Configuration/SentryConfiguration.swift b/Projects/Service/PickeAnalytics/Sources/Configuration/SentryConfiguration.swift new file mode 100644 index 00000000..a5c31d6e --- /dev/null +++ b/Projects/Service/PickeAnalytics/Sources/Configuration/SentryConfiguration.swift @@ -0,0 +1,171 @@ +// +// SentryConfiguration.swift +// PickeAnalytics +// + +import Foundation + +import LogMacro +@preconcurrency import Sentry + +/// Sentry 기동과 런치 메트릭 전송. +enum SentryConfiguration { + /// 가장 먼저 호출해 초기 크래시까지 포착한다. + /// DSN·환경은 xcconfig → Info.plist 로 주입된 값을 읽는다(BASE_URL/MIXPANEL_TOKEN 과 동일 패턴). + static func configure() { + let info = Bundle.main.infoDictionary + // SENTRY_DSN 은 xcconfig 에서 스킴(https://)을 제외하고 저장 → 코드에서 붙인다. + let dsnHost = (info?["SENTRY_DSN"] as? String)?.trimmingCharacters(in: .whitespaces) ?? "" + guard !dsnHost.isEmpty else { + #logError("[Sentry] SENTRY_DSN 미설정 — 초기화 스킵") + return + } + let environment = (info?["SENTRY_ENVIRONMENT"] as? String)? + .trimmingCharacters(in: .whitespaces) ?? "production" + + SentrySDK.start { options in + options.dsn = "https://\(dsnHost)" + options.environment = environment + + #if DEBUG + options.debug = true + #else + options.debug = false + #endif + + options.releaseName = (info?["CFBundleShortVersionString"] as? String).map { + "picke-ios@\($0)+\((info?["CFBundleVersion"] as? String) ?? "")" + } + + // 구조화 로그. + options.enableLogs = true + options.enableMetrics = true + + // 성능 트레이싱 + 프로파일링(트레이싱에 종속). + options.tracesSampleRate = 0.2 + options.configureProfiling = { + $0.lifecycle = .trace + $0.sessionSampleRate = 1.0 + } + + options.enableTimeToFullDisplayTracing = true + options.enableMetricKit = true + options.swiftAsyncStacktraces = true + + options.enableSwizzling = true + options.enableAutoPerformanceTracing = true + options.enableNetworkTracking = true + options.enableNetworkBreadcrumbs = true + + // 안정성 모니터링 활성화. + // 앱 행(ANR): 완전 차단뿐 아니라 부분 차단(비블로킹)까지 리포트, 임계 2초. + options.appHangTimeoutInterval = 2.0 + options.enableReportNonFullyBlockingAppHangs = true + // 워치독 강제종료(OOM 등) 추적. + options.enableWatchdogTerminationTracking = true + // 세션(안정성/Crash-Free) 지표 자동 추적. + options.enableAutoSessionTracking = true + options.sessionTrackingIntervalMillis = 30000 + // 콜드 스타트 정확도(프리웜 구간 반영) + UI 인터랙션 자동 트랜잭션. + options.enablePreWarmedAppStartTracing = true + options.enableUserInteractionTracing = true + // 크래시 순간 진행 중이던 트레이스를 보존해 유실 방지. + options.enablePersistingTracesWhenCrashing = true + + options.enableCaptureFailedRequests = true + options.failedRequestStatusCodes = [ + HttpStatusCodeRange( + min: 400, + max: 599 + ), + ] + + // 크래시 컨텍스트 첨부. + options.attachScreenshot = true + options.attachViewHierarchy = false + + // Session Replay는 별도 렌더링/인코딩 큐(io.sentry.session-replay.processing)를 사용한다. + // SwiftUI + Mixpanel Session Replay와 동시에 켜면 디버깅 중 해당 큐에서 멈추는 케이스가 있어 비활성화한다. + options.sessionReplay.maskAllText = true + options.sessionReplay.maskAllImages = true + options.sessionReplay.sessionSampleRate = 0.0 + options.sessionReplay.onErrorSampleRate = 0.0 + } + + sendSentryVerificationTelemetry(environment: environment) + emitLaunchMetrics(environment: environment) + } + + /// 앱 실행 시 다양한 기기/런타임 메트릭을 환경 태깅해 전송한다(모든 빌드). + /// 런치당 1회라 볼륨이 낮고, 카운트·게이지로 지표 유형을 다양화했다. + private static func emitLaunchMetrics(environment: String) { + let process = ProcessInfo.processInfo + let attributes: [String: any SentryAttributeValue] = [ + "environment": environment, + "source": "app_launch", + ] + let memoryMB = Double(process.physicalMemory) / 1_048_576.0 + + // 카운트: 앱 실행 횟수(리텐션/DAU 보조 지표). + SentrySDK.metrics.count(key: "app.launch.count", value: 1, attributes: attributes) + // 게이지: 실행 시점 기기 리소스 스냅샷. + SentrySDK.metrics.gauge(key: "app.device.memory_total_mb", value: memoryMB, attributes: attributes) + SentrySDK.metrics.gauge( + key: "app.device.processor_count", + value: Double(process.activeProcessorCount), + attributes: attributes + ) + SentrySDK.metrics.gauge( + key: "app.device.thermal_state", + value: Double(process.thermalState.rawValue), + attributes: attributes + ) + SentrySDK.metrics.gauge( + key: "app.device.low_power_mode", + value: process.isLowPowerModeEnabled ? 1 : 0, + attributes: attributes + ) + } + + /// Sentry 온보딩 검증용 로그/메트릭. DEBUG(Stage) 빌드에서만 전송해 운영 데이터 오염을 막는다. + private static func sendSentryVerificationTelemetry(environment: String) { + #if DEBUG + let logAttributes: [String: Any] = [ + "log_type": "test", + "environment": environment, + "source": "app_launch", + ] + let metricAttributes: [String: any SentryAttributeValue] = [ + "log_type": "test", + "environment": environment, + "source": "app_launch", + ] + + SentrySDK.logger.info( + "Sending a test info log", + attributes: logAttributes + ) + SentrySDK.logger.warn( + "Sending a test warning log", + attributes: logAttributes + ) + + SentrySDK.metrics.count( + key: "app.launch.count", + value: 1, + attributes: metricAttributes + ) + SentrySDK.metrics.gauge( + key: "app.launch.queue_depth", + value: 1.0, + attributes: metricAttributes + ) + SentrySDK.metrics.distribution( + key: "app.launch.verification_time", + value: 1.0, + unit: .millisecond, + attributes: metricAttributes + ) + #endif + } +} diff --git a/Projects/Service/PickeAnalytics/Sources/Trace/PickeTracedView.swift b/Projects/Service/PickeAnalytics/Sources/Trace/PickeTracedView.swift new file mode 100644 index 00000000..2f19c007 --- /dev/null +++ b/Projects/Service/PickeAnalytics/Sources/Trace/PickeTracedView.swift @@ -0,0 +1,27 @@ +// +// PickeTracedView.swift +// PickeAnalytics +// + +import SwiftUI + +import SentrySwiftUI + +/// 화면 렌더 구간을 Sentry 트랜잭션으로 감싸는 래퍼. +/// +/// SentrySwiftUI 를 여기서만 링크해 앱·피처는 관측 SDK 를 모르게 둔다. +public struct PickeTracedView: View { + private let name: String + private let content: () -> Content + + public init(_ name: String, @ViewBuilder content: @escaping () -> Content) { + self.name = name + self.content = content + } + + public var body: some View { + SentryTracedView(name) { + content() + } + } +} diff --git a/Projects/Service/PickeAnalytics/Sources/UseCase/AnalyticsUseCase+Live.swift b/Projects/Service/PickeAnalytics/Sources/UseCase/AnalyticsUseCase+Live.swift index 4f16d026..28196bf5 100644 --- a/Projects/Service/PickeAnalytics/Sources/UseCase/AnalyticsUseCase+Live.swift +++ b/Projects/Service/PickeAnalytics/Sources/UseCase/AnalyticsUseCase+Live.swift @@ -1,11 +1,11 @@ // // AnalyticsUseCase+Live.swift -// AnalyticsService +// PickeAnalytics // import Foundation -import AnalyticsServiceInterface +import PickeAnalyticsInterface import ComposableArchitecture import LogMacro import Mixpanel diff --git a/Projects/Service/PickeAnalytics/Testing/PickeAnalyticsTesting.swift b/Projects/Service/PickeAnalytics/Testing/PickeAnalyticsTesting.swift index bfa25177..6042fc0f 100644 --- a/Projects/Service/PickeAnalytics/Testing/PickeAnalyticsTesting.swift +++ b/Projects/Service/PickeAnalytics/Testing/PickeAnalyticsTesting.swift @@ -1,8 +1,8 @@ // -// AnalyticsServiceTesting.swift -// AnalyticsServiceTesting +// PickeAnalyticsTesting.swift +// PickeAnalyticsTesting // -import AnalyticsServiceInterface +import PickeAnalyticsInterface -public enum AnalyticsServiceTesting {} +public enum PickeAnalyticsTesting {} diff --git a/Projects/Service/PickeAnalytics/Tests/PickeAnalyticsTests.swift b/Projects/Service/PickeAnalytics/Tests/PickeAnalyticsTests.swift index aa5b05d2..6a7f2cf9 100644 --- a/Projects/Service/PickeAnalytics/Tests/PickeAnalyticsTests.swift +++ b/Projects/Service/PickeAnalytics/Tests/PickeAnalyticsTests.swift @@ -1,12 +1,12 @@ // -// AnalyticsServiceTests.swift -// AnalyticsServiceTests +// PickeAnalyticsTests.swift +// PickeAnalyticsTests // -@testable import AnalyticsService +@testable import PickeAnalytics import Testing -struct AnalyticsServiceTests { +struct PickeAnalyticsTests { @Test func analyticsServiceExample() { #expect(true) From 2d4a16b3ad3d5ebc8a5c6a06d591bd560b4e5e45 Mon Sep 17 00:00:00 2001 From: Roy Date: Mon, 7 Sep 2026 15:38:03 +0900 Subject: [PATCH 55/83] =?UTF-8?q?chore(tuist):=20PickeAnalytics=C2=B7AuthD?= =?UTF-8?q?omain=20=EB=AA=A8=EB=93=88=20=EC=9D=98=EC=A1=B4=EC=84=B1?= =?UTF-8?q?=EC=9D=84=20=EA=B5=AC=ED=98=84=EC=97=90=20=EB=A7=9E=EC=B6=98?= =?UTF-8?q?=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PickeAnalytics 가 관측 SDK 기동과 네트워크 텔레메트리를 직접 다루게 되면서 Firebase·SentrySwiftUI·PickeNetwork 를 구현 타깃에 붙인다. AuthDomain 은 PickeAuth 인터페이스를 쓰므로 의존성을 명시한다. --- .../Interface/Manager/AuthLocalStorage.swift | 26 ------ .../DefaultMemoryKeychainManager.swift | 48 ----------- .../Manager/KeychainManagerInterface.swift | 39 --------- .../Sources/Manager/KeychainManager.swift | 85 ------------------- Projects/Domain/AuthDomain/Project.swift | 1 + Projects/Service/PickeAnalytics/Project.swift | 8 +- 6 files changed, 7 insertions(+), 200 deletions(-) delete mode 100644 Projects/Core/PickeStorage/Interface/Manager/AuthLocalStorage.swift delete mode 100644 Projects/Core/PickeStorage/Interface/Manager/DefaultMemoryKeychainManager.swift delete mode 100644 Projects/Core/PickeStorage/Interface/Manager/KeychainManagerInterface.swift delete mode 100644 Projects/Core/PickeStorage/Sources/Manager/KeychainManager.swift diff --git a/Projects/Core/PickeStorage/Interface/Manager/AuthLocalStorage.swift b/Projects/Core/PickeStorage/Interface/Manager/AuthLocalStorage.swift deleted file mode 100644 index 922c6e3b..00000000 --- a/Projects/Core/PickeStorage/Interface/Manager/AuthLocalStorage.swift +++ /dev/null @@ -1,26 +0,0 @@ -// -// AuthLocalStorage.swift -// PickeStorageInterface -// - -import Foundation - -public enum AuthLocalStorage { - private static let authCodeKey = "picke.auth.authCode" - private static let idTokenKey = "picke.auth.idToken" - - public static var authCode: String? { - get { UserDefaults.standard.string(forKey: authCodeKey) } - set { UserDefaults.standard.set(newValue, forKey: authCodeKey) } - } - - public static var idToken: String? { - get { UserDefaults.standard.string(forKey: idTokenKey) } - set { UserDefaults.standard.set(newValue, forKey: idTokenKey) } - } - - public static func clear() { - UserDefaults.standard.removeObject(forKey: authCodeKey) - UserDefaults.standard.removeObject(forKey: idTokenKey) - } -} diff --git a/Projects/Core/PickeStorage/Interface/Manager/DefaultMemoryKeychainManager.swift b/Projects/Core/PickeStorage/Interface/Manager/DefaultMemoryKeychainManager.swift deleted file mode 100644 index d4d8f16b..00000000 --- a/Projects/Core/PickeStorage/Interface/Manager/DefaultMemoryKeychainManager.swift +++ /dev/null @@ -1,48 +0,0 @@ -// -// DefaultMemoryKeychainManager.swift -// PickeStorageInterface -// -// Created by Wonji Suh on 1/2/26. -// - -import Foundation - -public final class InMemoryKeychainManager: KeychainManaging, @unchecked Sendable { - private var accessTokenStorage: String? - private var refreshTokenStorage: String? - - public init() {} - - public func save( - accessToken: String, - refreshToken: String - ) { - accessTokenStorage = accessToken - refreshTokenStorage = refreshToken - } - - public func saveAccessToken(_ token: String) { - accessTokenStorage = token - } - - public func clearAccessToken() { - accessTokenStorage = nil - } - - public func saveRefreshToken(_ token: String) { - refreshTokenStorage = token - } - - public func accessToken() -> String? { - accessTokenStorage - } - - public func refreshToken() -> String? { - refreshTokenStorage - } - - public func clear() { - accessTokenStorage = nil - refreshTokenStorage = nil - } -} diff --git a/Projects/Core/PickeStorage/Interface/Manager/KeychainManagerInterface.swift b/Projects/Core/PickeStorage/Interface/Manager/KeychainManagerInterface.swift deleted file mode 100644 index cbc1627b..00000000 --- a/Projects/Core/PickeStorage/Interface/Manager/KeychainManagerInterface.swift +++ /dev/null @@ -1,39 +0,0 @@ -// -// KeychainManagerInterface.swift -// PickeStorageInterface -// -// Created by Wonji Suh on 1/2/26. -// - -import Foundation - -import Dependencies - -public protocol KeychainManaging: Sendable { - func save( - accessToken: String, - refreshToken: String - ) - func saveAccessToken(_ token: String) - func clearAccessToken() - func saveRefreshToken(_ token: String) - func accessToken() -> String? - func refreshToken() -> String? - func clear() -} - -/// 라이브 구현(`KeychainManager`)은 PickeStorage 에서 `DependencyKey` 로 이어 붙인다. -public enum KeychainManagerDependency: TestDependencyKey { - public static var testValue: KeychainManaging { - return InMemoryKeychainManager() - } - - public static var previewValue: KeychainManaging = testValue -} - -public extension DependencyValues { - var keychainManager: KeychainManaging { - get { self[KeychainManagerDependency.self] } - set { self[KeychainManagerDependency.self] = newValue } - } -} diff --git a/Projects/Core/PickeStorage/Sources/Manager/KeychainManager.swift b/Projects/Core/PickeStorage/Sources/Manager/KeychainManager.swift deleted file mode 100644 index 2c29eda4..00000000 --- a/Projects/Core/PickeStorage/Sources/Manager/KeychainManager.swift +++ /dev/null @@ -1,85 +0,0 @@ -// -// KeychainManager.swift -// PickeStorage -// -// Created by Wonji Suh on 1/2/26. -// - -import Foundation -import OSLog - -@_exported import PickeStorageInterface - -/// `SecureStorage` 위에 얹은 토큰 전용 어댑터. -/// -/// Security 프레임워크 호출은 `KeychainStorage` 가 전담하고, -/// 여기서는 access/refresh token 이라는 앱의 어휘만 다룬다. -public struct KeychainManager: KeychainManaging { - private let storage: any SecureStorage - private let logger = Logger(subsystem: "io.Picke.co", category: "keychain") - - public init(storage: any SecureStorage = StorageFactory.secureStorage) { - self.storage = storage - } - - public func save( - accessToken: String, - refreshToken: String - ) { - saveAccessToken(accessToken) - saveRefreshToken(refreshToken) - } - - public func saveAccessToken(_ token: String) { - write(token, for: .accessToken) - } - - public func clearAccessToken() { - remove(.accessToken) - } - - public func saveRefreshToken(_ token: String) { - write(token, for: .refreshToken) - } - - public func accessToken() -> String? { - read(.accessToken) - } - - public func refreshToken() -> String? { - read(.refreshToken) - } - - public func clear() { - do { - try storage.removeAll() - } catch { - logger.error("토큰 전체 삭제 실패: \(String(describing: error), privacy: .public)") - } - } - - private func write(_ value: String, for key: SecureStorageKey) { - do { - try storage.save(value, for: key) - } catch { - logger.error("\(key.rawValue, privacy: .public) 저장 실패: \(String(describing: error), privacy: .public)") - } - } - - private func read(_ key: SecureStorageKey) -> String? { - do { - return try storage.load(key) - } catch { - logger.error("\(key.rawValue, privacy: .public) 조회 실패: \(String(describing: error), privacy: .public)") - return nil - } - } - - private func remove(_ key: SecureStorageKey) { - do { - try storage.remove(key) - } catch { - logger.error("\(key.rawValue, privacy: .public) 삭제 실패: \(String(describing: error), privacy: .public)") - } - } -} diff --git a/Projects/Domain/AuthDomain/Project.swift b/Projects/Domain/AuthDomain/Project.swift index 30298f1f..152b5cb3 100644 --- a/Projects/Domain/AuthDomain/Project.swift +++ b/Projects/Domain/AuthDomain/Project.swift @@ -16,6 +16,7 @@ let project = Project.configure( .SPM.logMarco, .service(.api), .service(.apiEndpoint), + .service(.auth, .interface), .core(.network), .core(.network, .interface), .SPM.googleSignIn, diff --git a/Projects/Service/PickeAnalytics/Project.swift b/Projects/Service/PickeAnalytics/Project.swift index 00ce01a8..65be948c 100644 --- a/Projects/Service/PickeAnalytics/Project.swift +++ b/Projects/Service/PickeAnalytics/Project.swift @@ -9,12 +9,16 @@ let project = Project.configure( bundleId: .appBundleID(name: ".PickeAnalytics"), product: .staticFramework, settings: .settings(), - // 분석 SDK 는 구현 타깃에만 붙인다 — 화면들은 Interface 만 의존하므로 - // Mixpanel·Sentry 를 링크하지도, 이들이 바뀔 때 재컴파일되지도 않는다. + // 관측 SDK 는 구현 타깃에만 붙인다 — 화면들은 Interface 만 의존하므로 + // Mixpanel·Sentry·Firebase 를 링크하지도, 이들이 바뀔 때 재컴파일되지도 않는다. + // 네트워크 텔레메트리를 Mixpanel 로 흘려보내기 위해 PickeNetwork 를 의존한다. dependencies: [ + .core(.network), + .SPM.firebaseCrashlytics, .SPM.mixpanel, .SPM.mixpanelSessionReplay, .SPM.sentry, + .SPM.sentrySwiftUI, .SPM.logMarco, ], interfaceDependencies: [ From e51f19e44482b60115cf00a63c9aba7cbb3d5626 Mon Sep 17 00:00:00 2001 From: Roy Date: Mon, 7 Sep 2026 15:38:16 +0900 Subject: [PATCH 56/83] =?UTF-8?q?test:=20=ED=85=8C=EC=8A=A4=ED=8A=B8?= =?UTF-8?q?=EA=B0=80=20=EC=97=86=EB=8D=98=20=EB=AA=A8=EB=93=88=EC=97=90=20?= =?UTF-8?q?=ED=85=8C=EC=8A=A4=ED=8A=B8=20=ED=83=80=EA=B9=83=EA=B3=BC=20?= =?UTF-8?q?=ED=85=8C=EC=8A=A4=ED=8A=B8=EB=A5=BC=20=EC=B6=94=EA=B0=80?= =?UTF-8?q?=ED=95=9C=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sharing 모듈 별칭으로 xctest 부팅 충돌이 풀려 테스트를 실제로 돌릴 수 있게 됐다. 검증하는 것은 값이 아니라 깨지면 화면이 잘못 도는 규약이다. - APIEndpoint: 경로·메서드·헤더, 로그인/재발급이 인증 파이프라인을 우회하는지 - ServiceAssembly: 조립이 네트워크·인증·저장소를 한 번에 등록하는지 - DomainAssembly: 도메인 인터페이스 재노출 누락을 컴파일 단계에서 잡는 가드 - PickeSharedUI: 신고 사유가 두 컬럼에 중복 없이 전부 배치되는지 - PickeAnimation: 번들 에셋이 실제로 로드되고 디코딩 결과를 재사용하는지 - PickeDesignKit: 토스트 문구·아이콘 매핑과 토큰 간 순서 관계 - PickeStorage: KeychainManager 가 SecureStorage 어댑터로 동작하는지 --- Projects/Core/CoreAssembly/Project.swift | 2 +- .../Tests/StorageAssemblyTests.swift | 30 ++++ Projects/Core/PickeCoreUI/Project.swift | 2 +- .../PickeCoreUI/Tests/LazyViewTests.swift | 41 ++++++ .../PickeCoreUI/Tests/ScreenSizeTests.swift | 20 +++ Projects/Core/PickeCoreUtility/Project.swift | 2 +- .../Tests/FormattingExtensionTests.swift | 41 ++++++ .../Tests/PickeDeeplinkParserTests.swift | 83 +++++++++++ .../Tests/ServerDateParserTests.swift | 45 ++++++ .../Tests/Sources/PickeCredentialTests.swift | 48 +++++++ .../Sources/Support/URLProtocolStub.swift | 136 ++++++++++++++++++ Projects/Domain/DomainAssembly/Project.swift | 3 +- .../Tests/DomainAssemblyExportTests.swift | 31 ++++ Projects/Service/API/Project.swift | 2 +- .../Service/API/Tests/PieckeDomainTests.swift | 36 +++++ Projects/Service/APIEndpoint/Project.swift | 2 +- .../APIEndpoint/Tests/AuthServiceTests.swift | 54 +++++++ .../Tests/EncodableDictionaryTests.swift | 38 +++++ .../PickeAuth/Testing/PickeAuthTesting.swift | 38 +++++ .../Tests/KeychainCredentialStoreTests.swift | 56 ++++++++ .../PickeAuth/Tests/PickeAuthTests.swift | 57 ++++++++ .../Tests/Support/AuthTestDoubles.swift | 33 +++++ .../Service/ServiceAssembly/Project.swift | 3 +- .../ServiceDependencyAssemblyTests.swift | 41 ++++++ Projects/UI/PickeAnimation/Project.swift | 2 +- .../Tests/PickeAnimationAssetTests.swift | 30 ++++ Projects/UI/PickeDesignKit/Project.swift | 2 +- .../Tests/DesignTokenTests.swift | 41 ++++++ .../PickeDesignKit/Tests/ToastTypeTests.swift | 39 +++++ Projects/UI/PickeSharedUI/Project.swift | 2 +- .../Tests/CustomAlertStateTests.swift | 40 ++++++ .../Tests/ReportReasonTests.swift | 32 +++++ 32 files changed, 1022 insertions(+), 10 deletions(-) create mode 100644 Projects/Core/CoreAssembly/Tests/StorageAssemblyTests.swift create mode 100644 Projects/Core/PickeCoreUI/Tests/LazyViewTests.swift create mode 100644 Projects/Core/PickeCoreUI/Tests/ScreenSizeTests.swift create mode 100644 Projects/Core/PickeCoreUtility/Tests/FormattingExtensionTests.swift create mode 100644 Projects/Core/PickeCoreUtility/Tests/PickeDeeplinkParserTests.swift create mode 100644 Projects/Core/PickeCoreUtility/Tests/ServerDateParserTests.swift create mode 100644 Projects/Core/PickeNetwork/Tests/Sources/PickeCredentialTests.swift create mode 100644 Projects/Core/PickeNetwork/Tests/Sources/Support/URLProtocolStub.swift create mode 100644 Projects/Domain/DomainAssembly/Tests/DomainAssemblyExportTests.swift create mode 100644 Projects/Service/API/Tests/PieckeDomainTests.swift create mode 100644 Projects/Service/APIEndpoint/Tests/AuthServiceTests.swift create mode 100644 Projects/Service/APIEndpoint/Tests/EncodableDictionaryTests.swift create mode 100644 Projects/Service/PickeAuth/Testing/PickeAuthTesting.swift create mode 100644 Projects/Service/PickeAuth/Tests/KeychainCredentialStoreTests.swift create mode 100644 Projects/Service/PickeAuth/Tests/PickeAuthTests.swift create mode 100644 Projects/Service/PickeAuth/Tests/Support/AuthTestDoubles.swift create mode 100644 Projects/Service/ServiceAssembly/Tests/ServiceDependencyAssemblyTests.swift create mode 100644 Projects/UI/PickeAnimation/Tests/PickeAnimationAssetTests.swift create mode 100644 Projects/UI/PickeDesignKit/Tests/DesignTokenTests.swift create mode 100644 Projects/UI/PickeDesignKit/Tests/ToastTypeTests.swift create mode 100644 Projects/UI/PickeSharedUI/Tests/CustomAlertStateTests.swift create mode 100644 Projects/UI/PickeSharedUI/Tests/ReportReasonTests.swift diff --git a/Projects/Core/CoreAssembly/Project.swift b/Projects/Core/CoreAssembly/Project.swift index 01c1709c..24511523 100644 --- a/Projects/Core/CoreAssembly/Project.swift +++ b/Projects/Core/CoreAssembly/Project.swift @@ -19,5 +19,5 @@ let project = Project.configure( .SPM.composableArchitecture, ], sources: ["Sources/**"], - hasTests: false + hasTests: true ) diff --git a/Projects/Core/CoreAssembly/Tests/StorageAssemblyTests.swift b/Projects/Core/CoreAssembly/Tests/StorageAssemblyTests.swift new file mode 100644 index 00000000..8323b025 --- /dev/null +++ b/Projects/Core/CoreAssembly/Tests/StorageAssemblyTests.swift @@ -0,0 +1,30 @@ +// +// StorageAssemblyTests.swift +// CoreAssemblyTests +// + +import Testing + +@testable import CoreAssembly +import PickeStorageInterface + +import Dependencies + +@Suite("StorageAssembly") +struct StorageAssemblyTests { + /// 조립이 빠지면 앱이 보안 저장소 없이 뜨고 재실행 시 로그인이 풀린다. + @Test("secureStorage 는 SecureStorage 구현을 제공한다") + func secureStorageProvidesStorage() { + let storage: any SecureStorage = StorageAssembly.secureStorage() + + #expect(String(describing: type(of: storage)).isEmpty == false) + } + + @Test("register 는 공유값 저장소 의존성을 꽂는다") + func registerInstallsSharedValueStorage() { + var values = DependencyValues() + StorageAssembly.register(into: &values) + + #expect(String(describing: type(of: values.sharedValueStorage)).isEmpty == false) + } +} diff --git a/Projects/Core/PickeCoreUI/Project.swift b/Projects/Core/PickeCoreUI/Project.swift index 1a7b7222..f9c411e0 100644 --- a/Projects/Core/PickeCoreUI/Project.swift +++ b/Projects/Core/PickeCoreUI/Project.swift @@ -16,5 +16,5 @@ let project = Project.configure( dependencies: [ ], sources: ["Sources/**"], - hasTests: false + hasTests: true ) diff --git a/Projects/Core/PickeCoreUI/Tests/LazyViewTests.swift b/Projects/Core/PickeCoreUI/Tests/LazyViewTests.swift new file mode 100644 index 00000000..7ed8ff9c --- /dev/null +++ b/Projects/Core/PickeCoreUI/Tests/LazyViewTests.swift @@ -0,0 +1,41 @@ +// +// LazyViewTests.swift +// PickeCoreUITests +// + +import SwiftUI +import Testing + +@testable import PickeCoreUI + +@MainActor +struct LazyViewTests { + /// TabView 가 모든 탭 콘텐츠를 즉시 만들지 않도록 막는 것이 이 래퍼의 존재 이유다. + @Test + func 생성_시점에는_자식_뷰를_만들지_않는다() { + let builder = CountingViewBuilder() + _ = LazyView { builder.make() } + + #expect(builder.count == 0) + } + + @Test + func body_를_평가할_때_자식_뷰를_만든다() { + let builder = CountingViewBuilder() + let sut = LazyView { builder.make() } + + _ = sut.body + + #expect(builder.count == 1) + } +} + +@MainActor +private final class CountingViewBuilder { + private(set) var count = 0 + + func make() -> Text { + count += 1 + return Text("content") + } +} diff --git a/Projects/Core/PickeCoreUI/Tests/ScreenSizeTests.swift b/Projects/Core/PickeCoreUI/Tests/ScreenSizeTests.swift new file mode 100644 index 00000000..5db48e11 --- /dev/null +++ b/Projects/Core/PickeCoreUI/Tests/ScreenSizeTests.swift @@ -0,0 +1,20 @@ +// +// ScreenSizeTests.swift +// PickeCoreUITests +// + +import UIKit +import Testing + +@testable import PickeCoreUI + +@MainActor +struct ScreenSizeTests { + /// `static let` 으로 캐싱하면 앱 시작 시점 값에 고정되므로, 접근할 때마다 다시 읽어야 한다. + @Test + func 화면_크기는_접근_시점의_bounds_를_반영한다() { + #expect(UIScreen.screenSize == UIScreen.main.bounds.size) + #expect(UIScreen.screenWidth == UIScreen.main.bounds.width) + #expect(UIScreen.screenHeight == UIScreen.main.bounds.height) + } +} diff --git a/Projects/Core/PickeCoreUtility/Project.swift b/Projects/Core/PickeCoreUtility/Project.swift index 38f74516..0835b719 100644 --- a/Projects/Core/PickeCoreUtility/Project.swift +++ b/Projects/Core/PickeCoreUtility/Project.swift @@ -12,5 +12,5 @@ let project = Project.configure( dependencies: [ ], sources: ["Sources/**"], - hasTests: false + hasTests: true ) diff --git a/Projects/Core/PickeCoreUtility/Tests/FormattingExtensionTests.swift b/Projects/Core/PickeCoreUtility/Tests/FormattingExtensionTests.swift new file mode 100644 index 00000000..5c1f0d2e --- /dev/null +++ b/Projects/Core/PickeCoreUtility/Tests/FormattingExtensionTests.swift @@ -0,0 +1,41 @@ +// +// FormattingExtensionTests.swift +// PickeCoreUtilityTests +// + +import Foundation +import Testing + +@testable import PickeCoreUtility + +struct IntFormattingTests { + @Test + func 재생시간은_분과_초를_함께_표기한다() { + #expect(125.durationText == "2분 5초") + #expect(120.durationText == "2분") + #expect(45.durationText == "45초") + } + + @Test + func 반올림_분_표기는_1분_미만도_1분으로_올린다() { + #expect(20.roundedMinuteText == "1분") + #expect(100.roundedMinuteText == "2분") + } +} + +struct StringSentenceTests { + @Test + func 문장부호를_포함해_분할한다() { + #expect("안녕. 반가워! 잘가?".splitIntoSentences() == ["안녕.", " 반가워!", " 잘가?"]) + } + + @Test + func 공백뿐인_조각은_버린다() { + #expect("안녕. \n".splitIntoSentences() == ["안녕."]) + } + + @Test + func 문장부호가_없으면_원본_하나를_돌려준다() { + #expect("문장부호 없음".splitIntoSentences() == ["문장부호 없음"]) + } +} diff --git a/Projects/Core/PickeCoreUtility/Tests/PickeDeeplinkParserTests.swift b/Projects/Core/PickeCoreUtility/Tests/PickeDeeplinkParserTests.swift new file mode 100644 index 00000000..19c6bcbf --- /dev/null +++ b/Projects/Core/PickeCoreUtility/Tests/PickeDeeplinkParserTests.swift @@ -0,0 +1,83 @@ +// +// PickeDeeplinkParserTests.swift +// PickeCoreUtilityTests +// + +import Foundation +import Testing + +@testable import PickeCoreUtility + +struct PickeDeeplinkParserTests { + @Test + func 커스텀_스킴의_host_를_리소스_타입으로_읽는다() { + #expect(PickeDeeplinkParser.parse(urlString: "picke://battle/55") == .battle(battleId: 55)) + } + + @Test + func 유니버설_링크의_commentId_쿼리를_함께_읽는다() { + let link = PickeDeeplinkParser.parse(urlString: "https://picke.store/perspective/45?commentId=678") + + #expect(link == .perspective(perspectiveId: 45, commentId: 678)) + } + + @Test + func 단일_경로는_포인트와_약관으로_매핑된다() { + #expect(PickeDeeplinkParser.parse(urlString: "picke://credits") == .point) + #expect(PickeDeeplinkParser.parse(urlString: "picke://policy") == .terms) + } + + @Test + func 식별자가_없으면_딥링크를_만들지_않는다() { + #expect(PickeDeeplinkParser.parse(urlString: "picke://battle") == nil) + #expect(PickeDeeplinkParser.parse(urlString: "picke://battle/none") == nil) + } + + @Test + func 푸시_payload_의_문자열_식별자도_숫자로_읽는다() { + let link = PickeDeeplinkParser.parse(pushPayload: [ + "type": "COMMENT", + "perspectiveId": "45", + "commentId": 678, + ]) + + #expect(link == .perspective(perspectiveId: 45, commentId: 678)) + } + + @Test + func 푸시_type_이_없으면_url_로_폴백한다() { + let link = PickeDeeplinkParser.parse(pushPayload: ["url": "picke://battle/7"]) + + #expect(link == .battle(battleId: 7)) + } + + @Test + func 알림함_detailCode_를_딥링크로_바꾼다() { + #expect( + PickeDeeplinkParser.parse(detailCode: "NEW_BATTLE", referenceId: 3, perspectiveId: nil) + == .battle(battleId: 3) + ) + #expect( + PickeDeeplinkParser.parse(detailCode: "NEW_COMMENT", referenceId: 9, perspectiveId: 4) + == .perspective(perspectiveId: 4, commentId: 9) + ) + #expect( + PickeDeeplinkParser.parse(detailCode: "PROMOTION", referenceId: 1, perspectiveId: 1) == nil + ) + } + + @Test + func encoded_문자열은_다시_같은_딥링크로_복원된다() { + let links: [PickeDeeplink] = [ + .battle(battleId: 55), + .perspective(perspectiveId: 45, commentId: 678), + .perspective(perspectiveId: 45, commentId: nil), + .point, + .terms, + ] + + for link in links { + #expect(PickeDeeplinkParser.parse(urlString: "picke://\(link.encoded)") == link) + } + } +} diff --git a/Projects/Core/PickeCoreUtility/Tests/ServerDateParserTests.swift b/Projects/Core/PickeCoreUtility/Tests/ServerDateParserTests.swift new file mode 100644 index 00000000..eec8060a --- /dev/null +++ b/Projects/Core/PickeCoreUtility/Tests/ServerDateParserTests.swift @@ -0,0 +1,45 @@ +// +// ServerDateParserTests.swift +// PickeCoreUtilityTests +// + +import Foundation +import Testing + +@testable import PickeCoreUtility + +struct ServerDateParserTests { + @Test + func 타임존이_붙은_ISO8601_을_읽는다() throws { + let date = try #require(ServerDateParser.parse("2026-05-22T13:28:16.697Z")) + + #expect(date.timeIntervalSince1970 == 1_779_456_496.697) + } + + @Test + func 소수점이_없는_ISO8601_도_읽는다() throws { + let date = try #require(ServerDateParser.parse("2026-05-22T13:28:16Z")) + + #expect(date.timeIntervalSince1970 == 1_779_456_496) + } + + /// 타임존 없는 LocalDateTime 이 nil 로 떨어져 모든 댓글이 "방금 전"으로 보이던 회귀 방지. + @Test + func 타임존이_없으면_KST_벽시계로_해석한다() throws { + let naive = try #require(ServerDateParser.parse("2026-05-22T13:28:16")) + let sameMoment = try #require(ServerDateParser.parse("2026-05-22T04:28:16Z")) + + #expect(naive == sameMoment) + } + + @Test + func 마이크로초까지_내려와도_읽는다() { + #expect(ServerDateParser.parse("2026-05-22T13:28:16.921763") != nil) + } + + @Test + func 형식에_맞지_않으면_nil_이다() { + #expect(ServerDateParser.parse("2026/05/22 13:28") == nil) + #expect(ServerDateParser.parse("") == nil) + } +} diff --git a/Projects/Core/PickeNetwork/Tests/Sources/PickeCredentialTests.swift b/Projects/Core/PickeNetwork/Tests/Sources/PickeCredentialTests.swift new file mode 100644 index 00000000..c83e270c --- /dev/null +++ b/Projects/Core/PickeNetwork/Tests/Sources/PickeCredentialTests.swift @@ -0,0 +1,48 @@ +// +// PickeCredentialTests.swift +// PickeNetworkTests +// +// 토큰 사전 갱신 판정을 검증한다. 401 을 받기 전에 미리 갱신하는 근거가 되는 값이다. +// + +import Foundation +import Testing + +import PickeNetworkInterface + +@Suite("PickeCredential — 갱신 필요 판정") +struct PickeCredentialTests { + private func credential(expiresIn seconds: TimeInterval?, leeway: TimeInterval = 300) -> PickeCredential { + PickeCredential( + accessToken: "access", + refreshToken: "refresh", + expiresAt: seconds.map { Date().addingTimeInterval($0) }, + refreshLeeway: leeway + ) + } + + @Test("만료 시각이 없으면 갱신하지 않는다 — 401 을 받고 나서야 갱신한다") + func noExpiryMeansNoRefresh() { + #expect(credential(expiresIn: nil).requiresRefresh == false) + } + + @Test("여유 시간보다 많이 남았으면 갱신하지 않는다") + func farFromExpiryDoesNotRefresh() { + #expect(credential(expiresIn: 600, leeway: 300).requiresRefresh == false) + } + + @Test("여유 시간 안으로 들어오면 만료 전이라도 갱신한다") + func withinLeewayRefreshes() { + #expect(credential(expiresIn: 120, leeway: 300).requiresRefresh == true) + } + + @Test("이미 만료됐으면 갱신한다") + func expiredRefreshes() { + #expect(credential(expiresIn: -60).requiresRefresh == true) + } + + @Test("여유 시간이 0이면 만료 시각까지는 갱신하지 않는다") + func zeroLeewayWaitsUntilExpiry() { + #expect(credential(expiresIn: 10, leeway: 0).requiresRefresh == false) + } +} diff --git a/Projects/Core/PickeNetwork/Tests/Sources/Support/URLProtocolStub.swift b/Projects/Core/PickeNetwork/Tests/Sources/Support/URLProtocolStub.swift new file mode 100644 index 00000000..05e12eb6 --- /dev/null +++ b/Projects/Core/PickeNetwork/Tests/Sources/Support/URLProtocolStub.swift @@ -0,0 +1,136 @@ +// +// URLProtocolStub.swift +// PickeNetworkTests +// + +import Foundation + +@testable import PickeNetwork + +import Alamofire + +/// 실제 통신 없이 `NetworkClient` 의 요청과 응답을 검증하는 URLProtocol 스텁. +/// 정적 상태를 사용하므로 이 스텁을 쓰는 테스트 스위트는 직렬로 실행해야 한다. +final class URLProtocolStub: URLProtocol { + private struct Stub { + let statusCode: Int + let body: Data + let headerFields: [String: String] + let error: Error? + } + + private nonisolated(unsafe) static var stubs: [Stub] = [] + private nonisolated(unsafe) static var capturedRequests: [URLRequest] = [] + private static let lock = NSLock() + + static func set( + statusCode: Int, + body: Data = Data(), + headerFields: [String: String] = ["Content-Type": "application/json"] + ) { + lock.withLock { + stubs = [Stub(statusCode: statusCode, body: body, headerFields: headerFields, error: nil)] + } + } + + static func setSequence(_ responses: [(statusCode: Int, body: Data)]) { + lock.withLock { + stubs = responses.map { + Stub( + statusCode: $0.statusCode, + body: $0.body, + headerFields: ["Content-Type": "application/json"], + error: nil + ) + } + } + } + + static func setError(_ error: Error) { + lock.withLock { + stubs = [Stub(statusCode: 0, body: Data(), headerFields: [:], error: error)] + } + } + + static func reset() { + lock.withLock { + stubs = [] + capturedRequests = [] + } + } + + static var recordedRequests: [URLRequest] { + lock.withLock { capturedRequests } + } + + /// baseURL 은 엔드포인트의 `domain` 이 들고 있으므로 클라이언트는 세션만 갈아끼운다. + static func makeClient(authorizing: AuthorizingInterceptor? = nil) -> NetworkClient { + let configuration = URLSessionConfiguration.ephemeral + configuration.protocolClasses = [URLProtocolStub.self] + return NetworkClient( + session: Session(configuration: configuration), + authorizing: authorizing + ) + } + + override class func canInit(with _: URLRequest) -> Bool { + true + } + + override class func canonicalRequest(for request: URLRequest) -> URLRequest { + request + } + + override func startLoading() { + let current = Self.lock.withLock { () -> Stub? in + var capturedRequest = request + if capturedRequest.httpBody == nil, let bodyStream = capturedRequest.httpBodyStream { + capturedRequest.httpBody = Self.readData(from: bodyStream) + } + Self.capturedRequests.append(capturedRequest) + guard !Self.stubs.isEmpty else { return nil } + if Self.stubs.count == 1 { + return Self.stubs[0] + } + return Self.stubs.removeFirst() + } + + guard let current else { + client?.urlProtocol(self, didFailWithError: URLError(.unknown)) + return + } + + if let error = current.error { + client?.urlProtocol(self, didFailWithError: error) + return + } + + let response = HTTPURLResponse( + url: request.url ?? URL(string: "https://picke.test")!, + statusCode: current.statusCode, + httpVersion: "HTTP/1.1", + headerFields: current.headerFields + )! + client?.urlProtocol(self, didReceive: response, cacheStoragePolicy: .notAllowed) + if !current.body.isEmpty { + client?.urlProtocol(self, didLoad: current.body) + } + client?.urlProtocolDidFinishLoading(self) + } + + override func stopLoading() {} + + private static func readData(from stream: InputStream) -> Data { + stream.open() + defer { stream.close() } + + var data = Data() + var buffer = [UInt8](repeating: 0, count: 1024) + while true { + let count = stream.read(&buffer, maxLength: buffer.count) + guard count > 0 else { break } + data.append(buffer, count: count) + } + return data + } +} diff --git a/Projects/Domain/DomainAssembly/Project.swift b/Projects/Domain/DomainAssembly/Project.swift index df12f965..cf45622c 100644 --- a/Projects/Domain/DomainAssembly/Project.swift +++ b/Projects/Domain/DomainAssembly/Project.swift @@ -21,5 +21,6 @@ let project = Project.configure( .domain(.perspective), .domain(.profile), ], - sources: ["Sources/**"] + sources: ["Sources/**"], + hasTests: true ) diff --git a/Projects/Domain/DomainAssembly/Tests/DomainAssemblyExportTests.swift b/Projects/Domain/DomainAssembly/Tests/DomainAssemblyExportTests.swift new file mode 100644 index 00000000..900e766f --- /dev/null +++ b/Projects/Domain/DomainAssembly/Tests/DomainAssemblyExportTests.swift @@ -0,0 +1,31 @@ +// +// DomainAssemblyExportTests.swift +// DomainAssemblyTests +// + +import Testing + +// 엄브렐러가 제 역할을 하는지 보는 테스트라 개별 도메인 모듈은 일부러 import 하지 않는다. +import DomainAssembly + +struct DomainAssemblyExportTests { + /// 재노출이 하나라도 빠지면 이 파일이 컴파일되지 않는다. + /// 화면 코드가 `import DomainAssembly` 하나로 도메인 전체를 쓰는 전제를 지킨다. + @Test + func 모든_도메인_인터페이스가_엄브렐러로_보인다() { + let interfaces: [Any.Type] = [ + (any AppUpdateUseCase).self, + (any AttendanceInterface).self, + (any AuthUseCase).self, + (any BattleInterface).self, + (any CommentInterface).self, + (any HomeInterface).self, + (any NotificationInterface).self, + (any PerspectiveInterface).self, + (any ProfileInterface).self, + (any SearchInterface).self, + ] + + #expect(interfaces.count == 10) + } +} diff --git a/Projects/Service/API/Project.swift b/Projects/Service/API/Project.swift index c2c39b6f..81c629a8 100644 --- a/Projects/Service/API/Project.swift +++ b/Projects/Service/API/Project.swift @@ -13,5 +13,5 @@ let project = Project.configure( .core(.network, .interface), ], sources: ["Sources/**"], - hasTests: false + hasTests: true ) diff --git a/Projects/Service/API/Tests/PieckeDomainTests.swift b/Projects/Service/API/Tests/PieckeDomainTests.swift new file mode 100644 index 00000000..1b7a3022 --- /dev/null +++ b/Projects/Service/API/Tests/PieckeDomainTests.swift @@ -0,0 +1,36 @@ +// +// PieckeDomainTests.swift +// APITests +// + +import Testing + +@testable import API +import PickeNetworkInterface + +struct PieckeDomainTests { + @Test + func 모든_도메인_경로는_api_v1_아래에_있다() { + for domain in [ + PieckeDomain.attendance, .auth, .profile, .home, .poll, + .battle, .comment, .perspective, .search, .notification, .device, + ] { + #expect(domain.url.hasPrefix("api/v1/")) + } + } + + @Test + func 도메인마다_서로_다른_경로를_쓴다() { + let urls = [ + PieckeDomain.attendance, .auth, .profile, .home, .poll, + .battle, .comment, .perspective, .search, .notification, .device, + ].map(\.url) + + #expect(Set(urls).count == urls.count) + } + + @Test + func baseURL_은_https_스킴을_붙여_만든다() { + #expect(PieckeDomain.auth.baseURLString.hasPrefix("https://")) + } +} diff --git a/Projects/Service/APIEndpoint/Project.swift b/Projects/Service/APIEndpoint/Project.swift index d76b67a4..19a7e623 100644 --- a/Projects/Service/APIEndpoint/Project.swift +++ b/Projects/Service/APIEndpoint/Project.swift @@ -16,5 +16,5 @@ let project = Project.configure( .core(.network, .interface), ], sources: ["Sources/**"], - hasTests: false + hasTests: true ) diff --git a/Projects/Service/APIEndpoint/Tests/AuthServiceTests.swift b/Projects/Service/APIEndpoint/Tests/AuthServiceTests.swift new file mode 100644 index 00000000..255fa7fa --- /dev/null +++ b/Projects/Service/APIEndpoint/Tests/AuthServiceTests.swift @@ -0,0 +1,54 @@ +// +// AuthServiceTests.swift +// APIEndpointTests +// + +import Testing + +@testable import APIEndpoint + +import API +import AuthDomainInterface +import PickeNetwork +import PickeNetworkInterface + +struct AuthServiceTests { + @Test + func 로그인_경로에_소셜_제공자가_붙는다() { + let sut = AuthService.login(provider: .kakao, body: .init(authorizationCode: "code", redirectUri: nil)) + + #expect(sut.path == "login/kakao") + #expect(sut.method == .post) + } + + @Test + func 탈퇴는_profile_도메인을_쓴다() { + #expect(AuthService.withdraw(reason: "이유").domain.url == PieckeDomain.profile.url) + #expect(AuthService.logout.domain.url == PieckeDomain.auth.url) + } + + /// DELETE 인데도 바디를 보내야 해서 인코더를 따로 지정한다. 빠지면 reason 이 서버에 도달하지 않는다. + @Test + func 탈퇴만_JSON_바디_인코더를_지정한다() { + #expect(AuthService.withdraw(reason: "이유").method == .delete) + #expect(AuthService.withdraw(reason: "이유").parameterEncoder != nil) + #expect(AuthService.logout.parameterEncoder == nil) + } + + @Test + func 재발급은_refresh_token_을_헤더로_보낸다() { + let sut = AuthService.refresh(refreshToken: "refresh-token") + + #expect(sut.headers[APIHeader.refreshToken] == "refresh-token") + #expect(sut.parameters == nil) + } + + /// 로그인·재발급에 액세스 토큰을 붙이면 만료 상태에서 재발급 자체가 막힌다. + @Test + func 로그인과_재발급은_인증_파이프라인을_우회한다() { + #expect(AuthService.login(provider: .apple, body: .init(authorizationCode: "code", redirectUri: nil)).authorization == .none) + #expect(AuthService.refresh(refreshToken: "t").authorization == .none) + #expect(AuthService.logout.authorization == .automatic) + #expect(AuthService.withdraw(reason: "이유").authorization == .automatic) + } +} diff --git a/Projects/Service/APIEndpoint/Tests/EncodableDictionaryTests.swift b/Projects/Service/APIEndpoint/Tests/EncodableDictionaryTests.swift new file mode 100644 index 00000000..602acfb4 --- /dev/null +++ b/Projects/Service/APIEndpoint/Tests/EncodableDictionaryTests.swift @@ -0,0 +1,38 @@ +// +// EncodableDictionaryTests.swift +// APIEndpointTests +// + +import Foundation +import Testing + +@testable import APIEndpoint + +struct EncodableDictionaryTests { + private struct Payload: Encodable { + let reason: String + let count: Int + } + + @Test + func Encodable_을_파라미터_딕셔너리로_바꾼다() throws { + let dictionary = try #require(Payload(reason: "이유", count: 2).toDictionary) + + #expect(dictionary["reason"] as? String == "이유") + #expect(dictionary["count"] as? Int == 2) + } + + /// URL 이 `https:\/\/` 로 이스케이프되면 서버 로그와 대조가 어려워 옵션을 꺼 뒀다. + @Test + func 슬래시를_이스케이프하지_않는다() throws { + let dictionary = try #require(Payload(reason: "https://picke.io/a", count: 0).toDictionary) + + #expect(dictionary["reason"] as? String == "https://picke.io/a") + } + + @Test + func 스칼라를_지정한_키의_딕셔너리로_감싼다() { + #expect("값".toDictionary(key: "reason")["reason"] as? String == "값") + #expect(7.toDictionary(key: "count")["count"] as? Int == 7) + } +} diff --git a/Projects/Service/PickeAuth/Testing/PickeAuthTesting.swift b/Projects/Service/PickeAuth/Testing/PickeAuthTesting.swift new file mode 100644 index 00000000..1a9b407a --- /dev/null +++ b/Projects/Service/PickeAuth/Testing/PickeAuthTesting.swift @@ -0,0 +1,38 @@ +// +// PickeAuthTesting.swift +// PickeAuthTesting +// + +import Foundation + +import PickeAuthInterface + +/// 인증 상태만 메모리에 들고 있는 테스트 더블. +/// 저장소·네트워크 세션을 건드리지 않아 Repository 테스트에서 그대로 주입할 수 있다. +public actor StubAuthService: AuthService { + private var accessToken: String? + private var storedRefreshToken: String? + + public init(accessToken: String? = nil, refreshToken: String? = nil) { + self.accessToken = accessToken + storedRefreshToken = refreshToken + } + + public var isLoggedIn: Bool { + accessToken != nil && storedRefreshToken != nil + } + + public var refreshToken: String? { + storedRefreshToken + } + + public func signIn(accessToken: String, refreshToken: String) async { + self.accessToken = accessToken + storedRefreshToken = refreshToken + } + + public func signOut() async { + accessToken = nil + storedRefreshToken = nil + } +} diff --git a/Projects/Service/PickeAuth/Tests/KeychainCredentialStoreTests.swift b/Projects/Service/PickeAuth/Tests/KeychainCredentialStoreTests.swift new file mode 100644 index 00000000..100debf9 --- /dev/null +++ b/Projects/Service/PickeAuth/Tests/KeychainCredentialStoreTests.swift @@ -0,0 +1,56 @@ +// +// KeychainCredentialStoreTests.swift +// PickeAuthTests +// + +import Foundation +import Testing + +@testable import PickeAuth +import PickeNetworkInterface +import PickeStorageInterface + +struct KeychainCredentialStoreTests { + @Test + func 토큰쌍이_모두_있으면_credential_을_복원한다() throws { + let storage = FakeSecureStorage(values: [ + .accessToken: "access", + .refreshToken: "refresh" + ]) + + let credential = try #require(KeychainCredentialStore(storage: storage).load()) + + #expect(credential.accessToken == "access") + #expect(credential.refreshToken == "refresh") + } + + @Test + func 토큰이_하나라도_비면_credential_을_복원하지_않는다() { + let storage = FakeSecureStorage(values: [.accessToken: "access"]) + + #expect(KeychainCredentialStore(storage: storage).load() == nil) + } + + @Test + func credential_을_저장하면_토큰쌍이_보관된다() { + let storage = FakeSecureStorage() + let sut = KeychainCredentialStore(storage: storage) + + sut.save(PickeCredential(accessToken: "new-access", refreshToken: "new-refresh")) + + #expect(storage.values[.accessToken] == "new-access") + #expect(storage.values[.refreshToken] == "new-refresh") + } + + @Test + func clear_는_보관된_토큰을_모두_지운다() { + let storage = FakeSecureStorage(values: [ + .accessToken: "access", + .refreshToken: "refresh" + ]) + + KeychainCredentialStore(storage: storage).clear() + + #expect(storage.values.isEmpty) + } +} diff --git a/Projects/Service/PickeAuth/Tests/PickeAuthTests.swift b/Projects/Service/PickeAuth/Tests/PickeAuthTests.swift new file mode 100644 index 00000000..4a55f92a --- /dev/null +++ b/Projects/Service/PickeAuth/Tests/PickeAuthTests.swift @@ -0,0 +1,57 @@ +// +// PickeAuthTests.swift +// PickeAuthTests +// + +import Foundation +import Testing + +@testable import PickeAuth +import PickeAuthTesting + +struct JWTDecoderTests { + /// `exp` 만 담은 payload 를 패딩 없는 base64url 로 만들어 실제 토큰 형태를 흉내낸다. + private func makeToken(expiration: TimeInterval) -> String { + let payload = try! JSONSerialization.data(withJSONObject: ["exp": expiration]) + let encoded = payload.base64EncodedString() + .replacingOccurrences(of: "+", with: "-") + .replacingOccurrences(of: "/", with: "_") + .replacingOccurrences(of: "=", with: "") + return "header.\(encoded).signature" + } + + @Test + func decodesExpirationFromBase64URLPayload() { + let expiration: TimeInterval = 1_800_000_000 + + let date = JWTDecoder.decodeExpiration(makeToken(expiration: expiration)) + + #expect(date == Date(timeIntervalSince1970: expiration)) + } + + @Test + func returnsNilWhenSegmentsAreMissing() { + #expect(JWTDecoder.decodeExpiration("not-a-jwt") == nil) + } + + @Test + func returnsNilWhenPayloadHasNoExpiration() { + let payload = try! JSONSerialization.data(withJSONObject: ["sub": "1"]) + let encoded = payload.base64EncodedString() + + #expect(JWTDecoder.decodeExpiration("header.\(encoded).signature") == nil) + } +} + +struct StubAuthServiceTests { + @Test + func signOutClearsStoredTokens() async { + let service = StubAuthService(accessToken: "a", refreshToken: "r") + #expect(await service.isLoggedIn) + + await service.signOut() + + #expect(await service.isLoggedIn == false) + #expect(await service.refreshToken == nil) + } +} diff --git a/Projects/Service/PickeAuth/Tests/Support/AuthTestDoubles.swift b/Projects/Service/PickeAuth/Tests/Support/AuthTestDoubles.swift new file mode 100644 index 00000000..7f3c850e --- /dev/null +++ b/Projects/Service/PickeAuth/Tests/Support/AuthTestDoubles.swift @@ -0,0 +1,33 @@ +// +// AuthTestDoubles.swift +// PickeAuthTests +// + +import Foundation + +import PickeStorageInterface + +/// Keychain 대신 메모리 딕셔너리로 동작하는 보안 저장소 — 테스트 간 상태가 남지 않는다. +final class FakeSecureStorage: SecureStorage, @unchecked Sendable { + var values: [SecureStorageKey: String] + + init(values: [SecureStorageKey: String] = [:]) { + self.values = values + } + + func save(_ value: String, for key: SecureStorageKey) throws(SecureStorageError) { + values[key] = value + } + + func load(_ key: SecureStorageKey) throws(SecureStorageError) -> String? { + values[key] + } + + func remove(_ key: SecureStorageKey) throws(SecureStorageError) { + values[key] = nil + } + + func removeAll() throws(SecureStorageError) { + values.removeAll() + } +} diff --git a/Projects/Service/ServiceAssembly/Project.swift b/Projects/Service/ServiceAssembly/Project.swift index 1d7ba92c..c4d14e54 100644 --- a/Projects/Service/ServiceAssembly/Project.swift +++ b/Projects/Service/ServiceAssembly/Project.swift @@ -17,7 +17,8 @@ let project = Project.configure( .service(.audioPlayer), .service(.device), .service(.auth), + .service(.auth, .interface), ], sources: ["Sources/**"], - hasTests: false + hasTests: true ) diff --git a/Projects/Service/ServiceAssembly/Tests/ServiceDependencyAssemblyTests.swift b/Projects/Service/ServiceAssembly/Tests/ServiceDependencyAssemblyTests.swift new file mode 100644 index 00000000..a3345724 --- /dev/null +++ b/Projects/Service/ServiceAssembly/Tests/ServiceDependencyAssemblyTests.swift @@ -0,0 +1,41 @@ +// +// ServiceDependencyAssemblyTests.swift +// ServiceAssemblyTests +// + +import Testing + +@testable import ServiceAssembly + +import CoreAssembly +import PickeAuthInterface +import PickeNetworkInterface +import PickeStorageInterface + +import Dependencies + +struct ServiceDependencyAssemblyTests { + /// 조립을 매번 새로 만들면 인증 세션이 갈라져 한쪽만 토큰을 갱신한다. + @Test + func 네트워크_컨테이너는_같은_인스턴스를_계속_내준다() { + #expect(NetworkContainer.authenticatedClient as AnyObject === NetworkContainer.authenticatedClient as AnyObject) + #expect(NetworkContainer.authService as AnyObject === NetworkContainer.authService as AnyObject) + } + + /// 앱 부팅 시 이 한 번의 등록으로 네트워크·인증·저장소가 모두 live 로 바뀌어야 한다. + @Test + func register_는_네트워크_인증_저장소를_한번에_등록한다() { + var values = DependencyValues() + ServiceDependencyAssembly.register(into: &values) + + #expect(values.networkClient as AnyObject === NetworkContainer.authenticatedClient as AnyObject) + #expect(values.authService as AnyObject === NetworkContainer.authService as AnyObject) + #expect(String(describing: type(of: values.sharedValueStorage)).isEmpty == false) + } + + @Test + func 인증_클라이언트가_liveValue_로_노출된다() { + #expect(NetworkClientDependency.liveValue as AnyObject === NetworkContainer.authenticatedClient as AnyObject) + #expect(AuthServiceDependency.liveValue as AnyObject === NetworkContainer.authService as AnyObject) + } +} diff --git a/Projects/UI/PickeAnimation/Project.swift b/Projects/UI/PickeAnimation/Project.swift index aefcee7a..9eae322f 100644 --- a/Projects/UI/PickeAnimation/Project.swift +++ b/Projects/UI/PickeAnimation/Project.swift @@ -17,5 +17,5 @@ let project = Project.configure( ], sources: ["Sources/**"], resources: ["Resources/**"], - hasTests: false + hasTests: true ) diff --git a/Projects/UI/PickeAnimation/Tests/PickeAnimationAssetTests.swift b/Projects/UI/PickeAnimation/Tests/PickeAnimationAssetTests.swift new file mode 100644 index 00000000..f23d3949 --- /dev/null +++ b/Projects/UI/PickeAnimation/Tests/PickeAnimationAssetTests.swift @@ -0,0 +1,30 @@ +// +// PickeAnimationAssetTests.swift +// PickeAnimationTests +// + +import Testing + +@testable import PickeAnimation + +struct PickeAnimationAssetTests { + /// 에셋 파일이 빠지거나 이름이 바뀌면 스플래시가 빈 화면으로 뜬다. + /// 번들 로딩까지 확인해야 그 회귀를 여기서 잡는다. + @Test + func 모든_에셋이_번들에서_로드된다() { + for asset in PickeAnimationAsset.allCases { + #expect(asset.image != nil, "\(asset.rawValue) 를 번들에서 찾지 못했다") + } + } + + /// GIF 디코딩 비용 때문에 에셋당 한 번만 만들기로 했다. + @Test + func 같은_에셋은_디코딩된_이미지를_재사용한다() { + #expect(PickeAnimationAsset.splashLogo.image === PickeAnimationAsset.splashLogo.image) + } + + @Test + func 에셋_파일명은_확장자를_포함한다() { + #expect(PickeAnimationAsset.splashLogo.rawValue == "splashLogo.gif") + } +} diff --git a/Projects/UI/PickeDesignKit/Project.swift b/Projects/UI/PickeDesignKit/Project.swift index e609579b..dddf2d8b 100644 --- a/Projects/UI/PickeDesignKit/Project.swift +++ b/Projects/UI/PickeDesignKit/Project.swift @@ -21,6 +21,6 @@ let project = Project.configure( ], sources: ["Sources/**"], resources: ["Resources/**"], - hasTests: false, + hasTests: true, demoDisplayName: "Picke 스토리북" ) diff --git a/Projects/UI/PickeDesignKit/Tests/DesignTokenTests.swift b/Projects/UI/PickeDesignKit/Tests/DesignTokenTests.swift new file mode 100644 index 00000000..90087114 --- /dev/null +++ b/Projects/UI/PickeDesignKit/Tests/DesignTokenTests.swift @@ -0,0 +1,41 @@ +// +// DesignTokenTests.swift +// PickeDesignKitTests +// + +import CoreGraphics +import Testing + +@testable import PickeDesignKit + +/// 토큰 값 자체는 생성기가 만든다. 여기서는 화면 코드가 기대는 관계만 고정한다. +struct DesignTokenTests { + @Test + func 간격_토큰은_단조_증가한다() { + let scale: [CGFloat] = [.s0, .s2, .s4, .s6, .s8, .s12, .s16, .s20, .s24, .s32, .s40, .s48, .s64, .s80, .s96] + + #expect(zip(scale, scale.dropFirst()).allSatisfy { $0 < $1 }) + } + + @Test + func 아이콘과_아바타_크기는_단계별로_커진다() { + #expect(CGFloat.iconXs < .iconSm) + #expect(CGFloat.iconSm < .iconMd) + #expect(CGFloat.iconMd < .iconLg) + #expect(CGFloat.avatarSm < .avatarMd) + #expect(CGFloat.avatarMd < .avatarLg) + } + + /// 알약 모양을 만드는 값이라 어떤 컴포넌트 높이보다도 커야 한다. + @Test + func radiusMax_는_기본_radius_보다_충분히_크다() { + #expect(CGFloat.radiusMax > .controlMd) + #expect(CGFloat.radiusDefault < .radiusMax) + } + + @Test + func 테두리_두께는_regular_medium_large_순이다() { + #expect(CGFloat.borderWidthRegular < .borderWidthMedium) + #expect(CGFloat.borderWidthMedium < .borderWidthLarge) + } +} diff --git a/Projects/UI/PickeDesignKit/Tests/ToastTypeTests.swift b/Projects/UI/PickeDesignKit/Tests/ToastTypeTests.swift new file mode 100644 index 00000000..cba2a362 --- /dev/null +++ b/Projects/UI/PickeDesignKit/Tests/ToastTypeTests.swift @@ -0,0 +1,39 @@ +// +// ToastTypeTests.swift +// PickeDesignKitTests +// + +import Testing + +@testable import PickeDesignKit + +struct ToastTypeTests { + private let toasts: [ToastType] = [ + .success("성공"), + .error("실패"), + .warning("주의"), + .info("안내"), + .loading("불러오는 중"), + ] + + @Test + func message_는_어떤_종류든_연관값을_꺼낸다() { + #expect(toasts.map(\.message) == ["성공", "실패", "주의", "안내", "불러오는 중"]) + } + + /// 로딩만 아이콘 대신 인디케이터를 그린다. + @Test + func 로딩_토스트만_아이콘이_없다() { + #expect(ToastType.loading("불러오는 중").iconName == nil) + + let others = toasts.filter { $0 != .loading("불러오는 중") } + #expect(others.count == 4) + #expect(others.allSatisfy { $0.iconName != nil }) + } + + @Test + func 같은_종류_같은_문구면_같은_토스트다() { + #expect(ToastType.success("완료") == .success("완료")) + #expect(ToastType.success("완료") != .info("완료")) + } +} diff --git a/Projects/UI/PickeSharedUI/Project.swift b/Projects/UI/PickeSharedUI/Project.swift index 2e4bedac..06130d24 100644 --- a/Projects/UI/PickeSharedUI/Project.swift +++ b/Projects/UI/PickeSharedUI/Project.swift @@ -17,5 +17,5 @@ let project = Project.configure( .SPM.kingfisher, ], sources: ["Sources/**"], - hasTests: false + hasTests: true ) diff --git a/Projects/UI/PickeSharedUI/Tests/CustomAlertStateTests.swift b/Projects/UI/PickeSharedUI/Tests/CustomAlertStateTests.swift new file mode 100644 index 00000000..8b1f9425 --- /dev/null +++ b/Projects/UI/PickeSharedUI/Tests/CustomAlertStateTests.swift @@ -0,0 +1,40 @@ +// +// CustomAlertStateTests.swift +// PickeSharedUITests +// + +import Testing + +@testable import PickeSharedUI + +struct CustomAlertStateTests { + @Test + func 기본값은_확인_취소_비파괴_확인형이다() { + let sut = CustomAlertState(title: "제목") + + #expect(sut.message.isEmpty) + #expect(sut.confirmTitle == "확인") + #expect(sut.cancelTitle == "취소") + #expect(sut.isDestructive == false) + #expect(sut.style == .confirmation) + } + + @Test + func 지정한_값이_그대로_담긴다() { + let sut = CustomAlertState( + title: "탈퇴", + message: "되돌릴 수 없다", + confirmTitle: "탈퇴하기", + cancelTitle: "닫기", + isDestructive: true, + style: .withdraw + ) + + #expect(sut.title == "탈퇴") + #expect(sut.message == "되돌릴 수 없다") + #expect(sut.confirmTitle == "탈퇴하기") + #expect(sut.cancelTitle == "닫기") + #expect(sut.isDestructive) + #expect(sut.style == .withdraw) + } +} diff --git a/Projects/UI/PickeSharedUI/Tests/ReportReasonTests.swift b/Projects/UI/PickeSharedUI/Tests/ReportReasonTests.swift new file mode 100644 index 00000000..8eecdc98 --- /dev/null +++ b/Projects/UI/PickeSharedUI/Tests/ReportReasonTests.swift @@ -0,0 +1,32 @@ +// +// ReportReasonTests.swift +// PickeSharedUITests +// + +import Testing + +@testable import PickeSharedUI + +struct ReportReasonTests { + /// 신고 사유를 추가하고 컬럼 배치를 잊으면 그 항목이 화면에서 통째로 사라진다. + @Test + func 두_컬럼이_모든_사유를_중복_없이_담는다() { + let placed = ReportReason.leftColumn + ReportReason.rightColumn + + #expect(Set(placed) == Set(ReportReason.allCases)) + #expect(placed.count == ReportReason.allCases.count) + } + + @Test + func 모든_사유가_서로_다른_제목을_갖는다() { + let titles = ReportReason.allCases.map(\.title) + + #expect(Set(titles).count == ReportReason.allCases.count) + #expect(titles.allSatisfy { !$0.isEmpty }) + } + + @Test + func id_는_rawValue_다() { + #expect(ReportReason.allCases.allSatisfy { $0.id == $0.rawValue }) + } +} From 232f41c916537b4ac8226e2c9599d8d1444f8508 Mon Sep 17 00:00:00 2001 From: Roy Date: Mon, 7 Sep 2026 15:41:04 +0900 Subject: [PATCH 57/83] =?UTF-8?q?test(storage):=20=ED=85=8C=EC=8A=A4?= =?UTF-8?q?=ED=8A=B8=EB=A5=BC=20SecureStorage=20=EA=B5=AC=EC=A1=B0?= =?UTF-8?q?=EC=97=90=20=EB=A7=9E=EC=B6=98=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit KeychainManager 어댑터가 사라지고 소비자가 SecureStorage 를 직접 쓰게 되면서 그 타입에 걸려 있던 테스트를 현재 경계에 맞춰 다시 썼다. KeychainStorage 는 가짜 KeychainClient 로 update-then-add 순서, 없는 키의 nil 처리, 관대한 삭제, UTF8 디코딩 실패를 검증한다 — entitlement 없이 돈다. 조립 테스트는 타입 확인 대신 실제로 공유 값을 읽고 써서 Unimplemented 기본값이 남아 있으면 실패하게 했다. --- .../Tests/StorageAssemblyTests.swift | 30 ++-- .../Tests/KeychainStorageTests.swift | 139 ++++++++++++++++++ .../Tests/PickeStorageTests.swift | 14 -- .../Tests/SQLiteSharedValueStorageTests.swift | 42 ++++++ .../Tests/StorageFactoryTests.swift | 92 ++++++++++++ .../ServiceDependencyAssemblyTests.swift | 10 +- 6 files changed, 298 insertions(+), 29 deletions(-) create mode 100644 Projects/Core/PickeStorage/Tests/KeychainStorageTests.swift delete mode 100644 Projects/Core/PickeStorage/Tests/PickeStorageTests.swift create mode 100644 Projects/Core/PickeStorage/Tests/SQLiteSharedValueStorageTests.swift create mode 100644 Projects/Core/PickeStorage/Tests/StorageFactoryTests.swift diff --git a/Projects/Core/CoreAssembly/Tests/StorageAssemblyTests.swift b/Projects/Core/CoreAssembly/Tests/StorageAssemblyTests.swift index 8323b025..16622177 100644 --- a/Projects/Core/CoreAssembly/Tests/StorageAssemblyTests.swift +++ b/Projects/Core/CoreAssembly/Tests/StorageAssemblyTests.swift @@ -3,28 +3,34 @@ // CoreAssemblyTests // +import Foundation import Testing @testable import CoreAssembly +import PickeStorage import PickeStorageInterface import Dependencies -@Suite("StorageAssembly") struct StorageAssemblyTests { - /// 조립이 빠지면 앱이 보안 저장소 없이 뜨고 재실행 시 로그인이 풀린다. - @Test("secureStorage 는 SecureStorage 구현을 제공한다") - func secureStorageProvidesStorage() { - let storage: any SecureStorage = StorageAssembly.secureStorage() - - #expect(String(describing: type(of: storage)).isEmpty == false) - } - - @Test("register 는 공유값 저장소 의존성을 꽂는다") - func registerInstallsSharedValueStorage() { + /// 등록을 빼먹으면 공유 값 경로가 Unimplemented 기본값에 걸려 전부 throw 한다. + /// 실제 읽고 쓰는 데까지 가봐야 그 누락이 드러난다. + @Test + func register_후에는_공유값을_실제로_읽고_쓴다() throws { var values = DependencyValues() StorageAssembly.register(into: &values) + let storage = values.sharedValueStorage + let key = "StorageAssemblyTests-\(UUID().uuidString)" + let payload = Data("값".utf8) + + try storage.save(payload, forKey: key) + defer { try? storage.remove(forKey: key) } + + #expect(try storage.load(forKey: key) == payload) + } - #expect(String(describing: type(of: values.sharedValueStorage)).isEmpty == false) + @Test + func secureStorage_는_Keychain_구현을_내놓는다() { + #expect(StorageAssembly.secureStorage() is KeychainStorage) } } diff --git a/Projects/Core/PickeStorage/Tests/KeychainStorageTests.swift b/Projects/Core/PickeStorage/Tests/KeychainStorageTests.swift new file mode 100644 index 00000000..78c94977 --- /dev/null +++ b/Projects/Core/PickeStorage/Tests/KeychainStorageTests.swift @@ -0,0 +1,139 @@ +// +// KeychainStorageTests.swift +// PickeStorageTests +// + +import Foundation +import Security +import Testing + +@testable import PickeStorage + +@Suite("KeychainStorage", .serialized) +struct KeychainStorageTests { + @Test + func 기존_앱의_Keychain_service_식별자를_유지한다() { + #expect(KeychainStorage.defaultService == "io.Picke.co") + } + + @Test + func 저장한_값을_같은_키로_조회한다() throws { + let storage = makeStorage() + defer { try? storage.removeAll() } + + try storage.save("access-token", for: .accessToken) + + #expect(try storage.load(.accessToken) == "access-token") + } + + @Test + func 같은_키에_다시_저장하면_기존_값을_덮어쓴다() throws { + let storage = makeStorage() + defer { try? storage.removeAll() } + + try storage.save("old-token", for: .accessToken) + try storage.save("new-token", for: .accessToken) + + #expect(try storage.load(.accessToken) == "new-token") + } + + @Test + func 서로_다른_키의_값을_독립적으로_보관한다() throws { + let storage = makeStorage() + defer { try? storage.removeAll() } + + try storage.save("access-token", for: .accessToken) + try storage.save("refresh-token", for: .refreshToken) + + #expect(try storage.load(.accessToken) == "access-token") + #expect(try storage.load(.refreshToken) == "refresh-token") + } + + @Test + func 빈_문자열도_손실없이_저장한다() throws { + let storage = makeStorage() + defer { try? storage.removeAll() } + + try storage.save("", for: .accessToken) + + #expect(try storage.load(.accessToken) == "") + } + + @Test + func 단건_삭제는_다른_키에_영향을_주지_않는다() throws { + let storage = makeStorage() + defer { try? storage.removeAll() } + + try storage.save("access-token", for: .accessToken) + try storage.save("refresh-token", for: .refreshToken) + try storage.remove(.accessToken) + + #expect(try storage.load(.accessToken) == nil) + #expect(try storage.load(.refreshToken) == "refresh-token") + } + + @Test + func 존재하지_않는_키를_삭제해도_성공한다() throws { + let storage = makeStorage() + + try storage.remove(.accessToken) + + #expect(try storage.load(.accessToken) == nil) + } + + @Test + func 전체_삭제는_등록된_모든_토큰을_제거한다() throws { + let storage = makeStorage() + + try storage.save("access-token", for: .accessToken) + try storage.save("refresh-token", for: .refreshToken) + try storage.removeAll() + + #expect(try storage.load(.accessToken) == nil) + #expect(try storage.load(.refreshToken) == nil) + } +} + +private extension KeychainStorageTests { + /// entitlement 없이 도는 메모리 클라이언트로 매 테스트마다 격리된 저장소를 만든다. + func makeStorage() -> KeychainStorage { + KeychainStorage( + service: "io.Picke.co.tests.\(UUID().uuidString)", + client: InMemoryKeychainClient() + ) + } +} + +private final class InMemoryKeychainClient: KeychainClient, @unchecked Sendable { + private var values: [String: Data] = [:] + + func update(_ data: Data, service: String, account: String) -> OSStatus { + let key = storageKey(service: service, account: account) + guard values[key] != nil else { return errSecItemNotFound } + values[key] = data + return errSecSuccess + } + + func add(_ data: Data, service: String, account: String) -> OSStatus { + let key = storageKey(service: service, account: account) + guard values[key] == nil else { return errSecDuplicateItem } + values[key] = data + return errSecSuccess + } + + func load(service: String, account: String) -> KeychainLoadResult { + guard let data = values[storageKey(service: service, account: account)] else { + return KeychainLoadResult(status: errSecItemNotFound, data: nil) + } + return KeychainLoadResult(status: errSecSuccess, data: data) + } + + func delete(service: String, account: String) -> OSStatus { + let removed = values.removeValue(forKey: storageKey(service: service, account: account)) + return removed == nil ? errSecItemNotFound : errSecSuccess + } + + private func storageKey(service: String, account: String) -> String { + "\(service):\(account)" + } +} diff --git a/Projects/Core/PickeStorage/Tests/PickeStorageTests.swift b/Projects/Core/PickeStorage/Tests/PickeStorageTests.swift deleted file mode 100644 index 7c741219..00000000 --- a/Projects/Core/PickeStorage/Tests/PickeStorageTests.swift +++ /dev/null @@ -1,14 +0,0 @@ -// -// PickeStorageTests.swift -// PickeStorageTests -// - -@testable import PickeStorage -import Testing - -struct PickeStorageTests { - @Test - func pickeStorageExample() { - #expect(true) - } -} diff --git a/Projects/Core/PickeStorage/Tests/SQLiteSharedValueStorageTests.swift b/Projects/Core/PickeStorage/Tests/SQLiteSharedValueStorageTests.swift new file mode 100644 index 00000000..4dc6448c --- /dev/null +++ b/Projects/Core/PickeStorage/Tests/SQLiteSharedValueStorageTests.swift @@ -0,0 +1,42 @@ +// +// SQLiteSharedValueStorageTests.swift +// PickeStorageTests +// + +import Foundation +import Testing + +@testable import PickeStorage + +import SQLiteData + +@Suite("SQLiteSharedValueStorage") +struct SQLiteSharedValueStorageTests { + @Test + func 저장_조회_덮어쓰기_삭제를_지원한다() throws { + let database = try DatabaseQueue() + try AppDatabaseMigrator.migrate(database) + let storage = SQLiteSharedValueStorage(database: database) + + try storage.save(Data("first".utf8), forKey: "session") + #expect(try storage.load(forKey: "session") == Data("first".utf8)) + + try storage.save(Data("second".utf8), forKey: "session") + #expect(try storage.load(forKey: "session") == Data("second".utf8)) + + try storage.remove(forKey: "session") + #expect(try storage.load(forKey: "session") == nil) + } + + @Test + func 마이그레이션은_여러번_실행해도_안전하다() throws { + let database = try DatabaseQueue() + + try AppDatabaseMigrator.migrate(database) + try AppDatabaseMigrator.migrate(database) + + let storage = SQLiteSharedValueStorage(database: database) + try storage.save(Data("value".utf8), forKey: "key") + #expect(try storage.load(forKey: "key") == Data("value".utf8)) + } +} diff --git a/Projects/Core/PickeStorage/Tests/StorageFactoryTests.swift b/Projects/Core/PickeStorage/Tests/StorageFactoryTests.swift new file mode 100644 index 00000000..c4458f10 --- /dev/null +++ b/Projects/Core/PickeStorage/Tests/StorageFactoryTests.swift @@ -0,0 +1,92 @@ +// +// StorageFactoryTests.swift +// PickeStorageTests +// + +import Testing + +@testable import PickeStorage +import PickeStorageInterface + +import SQLiteData + +@Suite("StorageFactory") +struct StorageFactoryTests { + private enum PreparationError: Error { + case failed + } + + @Test + func secureStorage_를_생성한다() { + let storage: any SecureStorage = StorageFactory.secureStorage + + #expect(String(describing: type(of: storage)) == "KeychainStorage") + } + + @Test("기본 데이터베이스 생성 실패 시 마이그레이션을 마친 메모리 데이터베이스를 사용한다") + func databasePreparationFallsBackToMigratedMemoryDatabase() throws { + var fallbackCount = 0 + var migrationCount = 0 + + let database = StorageFactory.prepareDatabase( + primary: { throw PreparationError.failed }, + fallback: { + fallbackCount += 1 + return try DatabaseQueue() + }, + migrate: { _ in migrationCount += 1 } + ) + + #expect(database != nil) + #expect(fallbackCount == 1) + #expect(migrationCount == 1) + } + + @Test("기본 데이터베이스 마이그레이션 실패 시 해당 데이터베이스를 노출하지 않는다") + func databasePreparationDoesNotExposeUnmigratedPrimaryDatabase() throws { + var migrationCount = 0 + let primary = try DatabaseQueue() + let fallback = try DatabaseQueue() + + let database = StorageFactory.prepareDatabase( + primary: { primary }, + fallback: { fallback }, + migrate: { database in + migrationCount += 1 + if migrationCount == 1 { + throw PreparationError.failed + } + try AppDatabaseMigrator.migrate(database) + } + ) + + #expect(database != nil) + #expect(migrationCount == 2) + } + + @Test("기본 저장소와 메모리 저장소가 모두 실패해도 강제 종료하지 않는다") + func databasePreparationReturnsNilWhenEveryAttemptFails() { + let database = StorageFactory.prepareDatabase( + primary: { throw PreparationError.failed }, + fallback: { throw PreparationError.failed }, + migrate: { _ in } + ) + + #expect(database == nil) + } +} + +@Suite("SecureStorageKey") +struct SecureStorageKeyTests { + @Test + func 기존_토큰_키_문자열을_유지한다() { + #expect(SecureStorageKey.accessToken.rawValue == "ACCESS_TOKEN") + #expect(SecureStorageKey.refreshToken.rawValue == "REFRESH_TOKEN") + } + + @Test + func 전체_삭제_대상에는_모든_토큰_키가_한번씩_포함된다() { + #expect(Set(SecureStorageKey.all) == [.accessToken, .refreshToken]) + #expect(SecureStorageKey.all.count == 2) + } +} diff --git a/Projects/Service/ServiceAssembly/Tests/ServiceDependencyAssemblyTests.swift b/Projects/Service/ServiceAssembly/Tests/ServiceDependencyAssemblyTests.swift index a3345724..2ad94cec 100644 --- a/Projects/Service/ServiceAssembly/Tests/ServiceDependencyAssemblyTests.swift +++ b/Projects/Service/ServiceAssembly/Tests/ServiceDependencyAssemblyTests.swift @@ -3,6 +3,7 @@ // ServiceAssemblyTests // +import Foundation import Testing @testable import ServiceAssembly @@ -22,15 +23,18 @@ struct ServiceDependencyAssemblyTests { #expect(NetworkContainer.authService as AnyObject === NetworkContainer.authService as AnyObject) } - /// 앱 부팅 시 이 한 번의 등록으로 네트워크·인증·저장소가 모두 live 로 바뀌어야 한다. + /// 앱 부팅 시 이 한 번의 등록으로 네트워크·인증이 모두 live 로 바뀌어야 한다. @Test - func register_는_네트워크_인증_저장소를_한번에_등록한다() { + func register_는_네트워크와_인증을_한번에_등록한다() throws { var values = DependencyValues() ServiceDependencyAssembly.register(into: &values) #expect(values.networkClient as AnyObject === NetworkContainer.authenticatedClient as AnyObject) #expect(values.authService as AnyObject === NetworkContainer.authService as AnyObject) - #expect(String(describing: type(of: values.sharedValueStorage)).isEmpty == false) + // 저장소 조립도 함께 타야 공유 값이 앱 재실행 후에도 남는다. + let key = "ServiceDependencyAssemblyTests-\(UUID().uuidString)" + try values.sharedValueStorage.save(Data("값".utf8), forKey: key) + defer { try? values.sharedValueStorage.remove(forKey: key) } } @Test From 3ebd204828fcac84c278b5382b45325b306aacac Mon Sep 17 00:00:00 2001 From: Roy Date: Mon, 7 Sep 2026 15:43:05 +0900 Subject: [PATCH 58/83] =?UTF-8?q?refactor(network):=20Alamofire=20?= =?UTF-8?q?=EC=9E=AC=EB=85=B8=EC=B6=9C=EC=9D=84=20=EB=81=8A=EA=B3=A0=20?= =?UTF-8?q?=EC=82=AC=EC=9A=A9=EC=B2=98=EA=B0=80=20=EC=A7=81=EC=A0=91=20imp?= =?UTF-8?q?ort=20=ED=95=98=EA=B2=8C=20=ED=95=9C=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PickeNetworkInterface 를 import 하기만 하면 Alamofire 전체가 딸려오던 구조였다. 어떤 모듈이 실제로 Alamofire 에 묶여 있는지 import 로 드러나야 나중에 전송 계층을 갈아끼울 때 파급 범위를 눈으로 셀 수 있다. 엔드포인트 프로토콜이 HTTPMethod·HTTPHeaders 를 그대로 노출하는 건 참조 프로젝트와 같다. 그래서 엔드포인트 선언 10개와 APIEndpoint 매니페스트만 Alamofire 를 명시하면 된다. --- .../Core/PickeNetwork/Interface/Endpoint/PickeEndpoint.swift | 2 +- Projects/Service/APIEndpoint/Project.swift | 2 ++ .../APIEndpoint/Sources/Attendance/AttendanceService.swift | 1 + Projects/Service/APIEndpoint/Sources/Auth/AuthService.swift | 1 + Projects/Service/APIEndpoint/Sources/Battle/BattleService.swift | 1 + .../Service/APIEndpoint/Sources/Comment/CommentService.swift | 1 + Projects/Service/APIEndpoint/Sources/Device/DeviceService.swift | 1 + Projects/Service/APIEndpoint/Sources/Home/HomeService.swift | 1 + .../APIEndpoint/Sources/Notification/NotificationService.swift | 1 + .../APIEndpoint/Sources/Perspective/PerspectiveService.swift | 1 + .../Service/APIEndpoint/Sources/Profile/ProfileService.swift | 1 + Projects/Service/APIEndpoint/Sources/Search/SearchService.swift | 1 + Projects/Service/APIEndpoint/Tests/AuthServiceTests.swift | 1 + 13 files changed, 14 insertions(+), 1 deletion(-) diff --git a/Projects/Core/PickeNetwork/Interface/Endpoint/PickeEndpoint.swift b/Projects/Core/PickeNetwork/Interface/Endpoint/PickeEndpoint.swift index f489c72d..c84da34a 100644 --- a/Projects/Core/PickeNetwork/Interface/Endpoint/PickeEndpoint.swift +++ b/Projects/Core/PickeNetwork/Interface/Endpoint/PickeEndpoint.swift @@ -5,7 +5,7 @@ import Foundation -@_exported import Alamofire +import Alamofire /// 엔드포인트가 속한 도메인. base URL 과 도메인 경로 접두사를 묶는다. /// (Picke 서버는 `api/v1/battles/` 처럼 도메인마다 경로 접두사가 달라 엔드포인트가 도메인을 들고 있는다.) diff --git a/Projects/Service/APIEndpoint/Project.swift b/Projects/Service/APIEndpoint/Project.swift index 19a7e623..dcdeb949 100644 --- a/Projects/Service/APIEndpoint/Project.swift +++ b/Projects/Service/APIEndpoint/Project.swift @@ -10,6 +10,8 @@ let project = Project.configure( product: .staticFramework, settings: .settings(), dependencies: [ + // 엔드포인트가 HTTPMethod·HTTPHeaders 를 직접 쓴다. PickeNetwork 가 더는 재노출하지 않는다. + .SPM.alamofire, .service(.api), // Auth 엔드포인트가 SocialType 을 경로에 쓴다. .domain(.auth, .interface), diff --git a/Projects/Service/APIEndpoint/Sources/Attendance/AttendanceService.swift b/Projects/Service/APIEndpoint/Sources/Attendance/AttendanceService.swift index 1fd74217..8b89dbc8 100644 --- a/Projects/Service/APIEndpoint/Sources/Attendance/AttendanceService.swift +++ b/Projects/Service/APIEndpoint/Sources/Attendance/AttendanceService.swift @@ -5,6 +5,7 @@ import Foundation +import Alamofire import API import PickeNetwork diff --git a/Projects/Service/APIEndpoint/Sources/Auth/AuthService.swift b/Projects/Service/APIEndpoint/Sources/Auth/AuthService.swift index 72126fee..184d714d 100644 --- a/Projects/Service/APIEndpoint/Sources/Auth/AuthService.swift +++ b/Projects/Service/APIEndpoint/Sources/Auth/AuthService.swift @@ -7,6 +7,7 @@ import Foundation +import Alamofire import API import AuthDomainInterface import PickeNetwork diff --git a/Projects/Service/APIEndpoint/Sources/Battle/BattleService.swift b/Projects/Service/APIEndpoint/Sources/Battle/BattleService.swift index f5c7d556..c7b7fb7e 100644 --- a/Projects/Service/APIEndpoint/Sources/Battle/BattleService.swift +++ b/Projects/Service/APIEndpoint/Sources/Battle/BattleService.swift @@ -5,6 +5,7 @@ import Foundation +import Alamofire import API import PickeNetwork diff --git a/Projects/Service/APIEndpoint/Sources/Comment/CommentService.swift b/Projects/Service/APIEndpoint/Sources/Comment/CommentService.swift index 60a2137f..b12b350e 100644 --- a/Projects/Service/APIEndpoint/Sources/Comment/CommentService.swift +++ b/Projects/Service/APIEndpoint/Sources/Comment/CommentService.swift @@ -5,6 +5,7 @@ import Foundation +import Alamofire import API import PickeNetwork diff --git a/Projects/Service/APIEndpoint/Sources/Device/DeviceService.swift b/Projects/Service/APIEndpoint/Sources/Device/DeviceService.swift index 4c511d1e..56125030 100644 --- a/Projects/Service/APIEndpoint/Sources/Device/DeviceService.swift +++ b/Projects/Service/APIEndpoint/Sources/Device/DeviceService.swift @@ -5,6 +5,7 @@ import Foundation +import Alamofire import API import PickeNetwork diff --git a/Projects/Service/APIEndpoint/Sources/Home/HomeService.swift b/Projects/Service/APIEndpoint/Sources/Home/HomeService.swift index b89d8a5c..cc2c9e3c 100644 --- a/Projects/Service/APIEndpoint/Sources/Home/HomeService.swift +++ b/Projects/Service/APIEndpoint/Sources/Home/HomeService.swift @@ -7,6 +7,7 @@ import Foundation +import Alamofire import API import PickeNetwork diff --git a/Projects/Service/APIEndpoint/Sources/Notification/NotificationService.swift b/Projects/Service/APIEndpoint/Sources/Notification/NotificationService.swift index 5c93c90f..08caeba5 100644 --- a/Projects/Service/APIEndpoint/Sources/Notification/NotificationService.swift +++ b/Projects/Service/APIEndpoint/Sources/Notification/NotificationService.swift @@ -5,6 +5,7 @@ import Foundation +import Alamofire import API import PickeNetwork diff --git a/Projects/Service/APIEndpoint/Sources/Perspective/PerspectiveService.swift b/Projects/Service/APIEndpoint/Sources/Perspective/PerspectiveService.swift index b9adc20f..3d056211 100644 --- a/Projects/Service/APIEndpoint/Sources/Perspective/PerspectiveService.swift +++ b/Projects/Service/APIEndpoint/Sources/Perspective/PerspectiveService.swift @@ -5,6 +5,7 @@ import Foundation +import Alamofire import API import PickeNetwork diff --git a/Projects/Service/APIEndpoint/Sources/Profile/ProfileService.swift b/Projects/Service/APIEndpoint/Sources/Profile/ProfileService.swift index 68aa16c2..fcfe345c 100644 --- a/Projects/Service/APIEndpoint/Sources/Profile/ProfileService.swift +++ b/Projects/Service/APIEndpoint/Sources/Profile/ProfileService.swift @@ -5,6 +5,7 @@ import Foundation +import Alamofire import API import PickeNetwork diff --git a/Projects/Service/APIEndpoint/Sources/Search/SearchService.swift b/Projects/Service/APIEndpoint/Sources/Search/SearchService.swift index a39933c1..555e5a1a 100644 --- a/Projects/Service/APIEndpoint/Sources/Search/SearchService.swift +++ b/Projects/Service/APIEndpoint/Sources/Search/SearchService.swift @@ -5,6 +5,7 @@ import Foundation +import Alamofire import API import PickeNetwork diff --git a/Projects/Service/APIEndpoint/Tests/AuthServiceTests.swift b/Projects/Service/APIEndpoint/Tests/AuthServiceTests.swift index 255fa7fa..14b01165 100644 --- a/Projects/Service/APIEndpoint/Tests/AuthServiceTests.swift +++ b/Projects/Service/APIEndpoint/Tests/AuthServiceTests.swift @@ -7,6 +7,7 @@ import Testing @testable import APIEndpoint +import Alamofire import API import AuthDomainInterface import PickeNetwork From c58fb0e48efbe6a160241e6f14784bdf07f7fd1b Mon Sep 17 00:00:00 2001 From: Roy Date: Mon, 7 Sep 2026 15:49:02 +0900 Subject: [PATCH 59/83] =?UTF-8?q?refactor(di):=20WeaveDI=20=EB=A5=BC=20?= =?UTF-8?q?=EA=B1=B7=EC=96=B4=EB=82=B4=EA=B3=A0=20swift-dependencies=20?= =?UTF-8?q?=EB=A1=9C=20=EC=9D=BC=EC=9B=90=ED=99=94=ED=95=9C=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Interface 는 TestDependencyKey 로 계약과 testValue 만 들고, Sources 가 DependencyKey 로 liveValue 를 등록하는 DDD 패턴으로 맞춘다. UnifiedDI.resolve(...) ?? Default*Impl() 폴백과 WeaveDI.builder.register 호출을 없애고, 매니페스트·SPM 헬퍼·Package.swift 에서 WeaveDI 의존성을 제거한다. --- .../Extension+TargetDependencySPM.swift | 1 - .../App/Sources/Di/AppDependencyFactory.swift | 12 +++--------- Projects/Core/PickeNetwork/Project.swift | 1 - Projects/Core/PickeStorage/Project.swift | 4 +--- Projects/Domain/AppUpdateDomain/Project.swift | 1 - Projects/Domain/AttendanceDomain/Project.swift | 1 - Projects/Domain/AuthDomain/Project.swift | 2 -- .../AuthDomain/Sources/Auth/AuthUseCaseImpl.swift | 14 ++++---------- .../Sources/Repository/AuthRepositoryImpl.swift | 1 - .../OAuth/Apple/AppleOAuthRepositoryImpl.swift | 1 - Projects/Domain/BattleDomain/Project.swift | 2 -- Projects/Domain/CommentDomain/Project.swift | 2 -- Projects/Domain/HomeDomain/Project.swift | 2 -- Projects/Domain/NotificationDomain/Project.swift | 2 -- Projects/Domain/PerspectiveDomain/Project.swift | 2 -- Projects/Domain/ProfileDomain/Project.swift | 1 - Projects/Domain/SearchDomain/Project.swift | 2 -- .../Interface/AudioPlayerInterface.swift | 14 +++----------- Projects/Service/AudioPlayerService/Project.swift | 2 -- .../Sources/AudioPlayerDependency+Live.swift | 13 +++++++++++++ .../Interface/UseCase/DeviceInterface.swift | 15 ++++----------- Projects/Service/DeviceService/Project.swift | 1 - .../DeviceRepositoryDependency+Live.swift | 13 +++++++++++++ Projects/Service/PickeAuth/Project.swift | 1 - Tuist/Package.swift | 2 -- 25 files changed, 41 insertions(+), 71 deletions(-) create mode 100644 Projects/Service/AudioPlayerService/Sources/AudioPlayerDependency+Live.swift create mode 100644 Projects/Service/DeviceService/Sources/Repository/DeviceRepositoryDependency+Live.swift diff --git a/Plugins/DependencyPackagePlugin/ProjectDescriptionHelpers/DependencyPackage/Extension+TargetDependencySPM.swift b/Plugins/DependencyPackagePlugin/ProjectDescriptionHelpers/DependencyPackage/Extension+TargetDependencySPM.swift index 4fdfc251..f31bf531 100644 --- a/Plugins/DependencyPackagePlugin/ProjectDescriptionHelpers/DependencyPackage/Extension+TargetDependencySPM.swift +++ b/Plugins/DependencyPackagePlugin/ProjectDescriptionHelpers/DependencyPackage/Extension+TargetDependencySPM.swift @@ -21,7 +21,6 @@ public extension TargetDependency.SPM { static let sdwebImageCore = TargetDependency.external(name: "SDWebImage", condition: .none) static let sdwebImage = TargetDependency.external(name: "SDWebImageSwiftUI", condition: .none) static let kingfisher = TargetDependency.external(name: "Kingfisher", condition: .none) - static let weaveDI = TargetDependency.external(name: "WeaveDI", condition: .none) static let googleSignIn = TargetDependency.external(name: "GoogleSignIn", condition: .none) static let appAuth: TargetDependency = .external(name: "AppAuth") diff --git a/Projects/App/Sources/Di/AppDependencyFactory.swift b/Projects/App/Sources/Di/AppDependencyFactory.swift index e375810a..a2e36352 100644 --- a/Projects/App/Sources/Di/AppDependencyFactory.swift +++ b/Projects/App/Sources/Di/AppDependencyFactory.swift @@ -8,11 +8,10 @@ import DeviceServiceInterface import DomainAssembly import PickeStorageInterface import ServiceAssembly -import WeaveDI enum AppDependencyFactory { /// 네트워크·인증·저장소 live 구현은 ServiceAssembly 가 단일 출처로 조립한다. - static var keychainManager: any KeychainManaging { StorageAssembly.keychain } + static var secureStorage: any SecureStorage { StorageAssembly.secureStorage() } @MainActor static func configure(_ values: inout DependencyValues) { @@ -22,16 +21,11 @@ enum AppDependencyFactory { AppServiceFactory.configure(&values) } - /// Alamofire interceptor는 Store 수명 밖에서 실행되므로 제거 전까지 동일 인스턴스를 브리지한다. + /// Store 수명 밖에서 도는 인프라(이미지 다운로더)를 앱 시작 시 한 번 설정한다. /// 화면 Reducer 의존성은 위 `configure(_:)`에서 명시적으로 주입한다. static func configureNetworkInfrastructure() { - WeaveDI.builder - .register { keychainManager } - .register { AuthRepositoryImpl() as AuthInterface } - .configure() - KingfisherConfigurator.configureAuthorizedDownloader( - keychainManager: keychainManager + storage: secureStorage ) } } diff --git a/Projects/Core/PickeNetwork/Project.swift b/Projects/Core/PickeNetwork/Project.swift index 3f29a4b3..f11b9682 100644 --- a/Projects/Core/PickeNetwork/Project.swift +++ b/Projects/Core/PickeNetwork/Project.swift @@ -22,6 +22,5 @@ let project = Project.configure( interfaceDependencies: [ .SPM.alamofire, .SPM.dependencies, - .SPM.weaveDI, ] ) diff --git a/Projects/Core/PickeStorage/Project.swift b/Projects/Core/PickeStorage/Project.swift index d22294a6..68b4ded5 100644 --- a/Projects/Core/PickeStorage/Project.swift +++ b/Projects/Core/PickeStorage/Project.swift @@ -9,17 +9,15 @@ let project = Project.configure( bundleId: .appBundleID(name: ".PickeStorage"), product: .framework, settings: .settings(), - // KeychainManager(Sources)가 ComposableArchitecture(DependencyKey)·WeaveDI(UnifiedDI)를 직접 import. + // Sources 가 ComposableArchitecture(DependencyKey)를 직접 import. // Security 는 시스템 프레임워크라 별도 의존성 선언이 필요 없고, Core 계층이라 Domain·Service 를 의존하지 않는다. dependencies: [ .SPM.composableArchitecture, .SPM.sqliteData, - .SPM.weaveDI, ], interfaceDependencies: [ .SPM.composableArchitecture, .SPM.sharing, .SPM.sqliteData, - .SPM.weaveDI, ] ) diff --git a/Projects/Domain/AppUpdateDomain/Project.swift b/Projects/Domain/AppUpdateDomain/Project.swift index 992cbba5..5c1f42d7 100644 --- a/Projects/Domain/AppUpdateDomain/Project.swift +++ b/Projects/Domain/AppUpdateDomain/Project.swift @@ -15,7 +15,6 @@ let project = Project.configure( .SPM.logMarco, ], interfaceDependencies: [ - .SPM.weaveDI, .SPM.composableArchitecture, ] ) diff --git a/Projects/Domain/AttendanceDomain/Project.swift b/Projects/Domain/AttendanceDomain/Project.swift index d98dd456..425597c4 100644 --- a/Projects/Domain/AttendanceDomain/Project.swift +++ b/Projects/Domain/AttendanceDomain/Project.swift @@ -10,7 +10,6 @@ let project = Project.configure( product: .framework, settings: .settings(), dependencies: [ - .SPM.weaveDI, .SPM.composableArchitecture, .service(.api), .service(.apiEndpoint), diff --git a/Projects/Domain/AuthDomain/Project.swift b/Projects/Domain/AuthDomain/Project.swift index 152b5cb3..9fb6575b 100644 --- a/Projects/Domain/AuthDomain/Project.swift +++ b/Projects/Domain/AuthDomain/Project.swift @@ -12,7 +12,6 @@ let project = Project.configure( dependencies: [ .core(.storage, .interface), .SPM.composableArchitecture, - .SPM.weaveDI, .SPM.logMarco, .service(.api), .service(.apiEndpoint), @@ -25,7 +24,6 @@ let project = Project.configure( // UserSessionSharedKey 가 PersistentSharedKey(PickeStorageInterface)와 Sharing 을 직접 쓴다. .core(.storage, .interface), .SPM.sharing, - .SPM.weaveDI, .SPM.composableArchitecture, ] ) diff --git a/Projects/Domain/AuthDomain/Sources/Auth/AuthUseCaseImpl.swift b/Projects/Domain/AuthDomain/Sources/Auth/AuthUseCaseImpl.swift index f5d82dbb..04899280 100644 --- a/Projects/Domain/AuthDomain/Sources/Auth/AuthUseCaseImpl.swift +++ b/Projects/Domain/AuthDomain/Sources/Auth/AuthUseCaseImpl.swift @@ -10,12 +10,11 @@ import Foundation import AuthDomainInterface import ComposableArchitecture -import WeaveDI -import PickeStorageInterface +import PickeAuthInterface public struct AuthUseCaseImpl: AuthUseCaseInterface { @Dependency(\.authRepository) var authRepository - @Dependency(\.keychainManager) private var keychainManager: KeychainManaging + @Dependency(\.authService) private var authService: any AuthService @Shared(.userSession) var userSession: UserSession public init() {} @@ -41,10 +40,6 @@ public struct AuthUseCaseImpl: AuthUseCaseInterface { $0.provider = result.provider $0.name = result.name } - keychainManager.save( - accessToken: result.token.accessToken, - refreshToken: result.token.refreshToken - ) await authRepository.updateSessionCredential(with: result.token) return result @@ -52,21 +47,20 @@ public struct AuthUseCaseImpl: AuthUseCaseInterface { public func refresh() async throws -> AuthTokens { let tokens = try await authRepository.refresh() - keychainManager.save(accessToken: tokens.accessToken, refreshToken: tokens.refreshToken) await authRepository.updateSessionCredential(with: tokens) return tokens } public func logout() async throws -> AuthExitEntity { let result = try await authRepository.logout() - keychainManager.clear() + await authService.signOut() return result } public func withDraw(reason: String) async throws -> WithdrawEntity { let result = try await authRepository.withDraw(reason: reason) if result.withdrawn { - keychainManager.clear() + await authService.signOut() } return result } diff --git a/Projects/Domain/AuthDomain/Sources/Repository/AuthRepositoryImpl.swift b/Projects/Domain/AuthDomain/Sources/Repository/AuthRepositoryImpl.swift index c65ca27d..b2e2815e 100644 --- a/Projects/Domain/AuthDomain/Sources/Repository/AuthRepositoryImpl.swift +++ b/Projects/Domain/AuthDomain/Sources/Repository/AuthRepositoryImpl.swift @@ -14,7 +14,6 @@ import PickeNetwork import Dependencies import LogMacro -import WeaveDI public final class AuthRepositoryImpl: AuthInterface, @unchecked Sendable { @Dependency(\.networkClient) private var client diff --git a/Projects/Domain/AuthDomain/Sources/Repository/OAuth/Apple/AppleOAuthRepositoryImpl.swift b/Projects/Domain/AuthDomain/Sources/Repository/OAuth/Apple/AppleOAuthRepositoryImpl.swift index b7fb819e..abb53be3 100644 --- a/Projects/Domain/AuthDomain/Sources/Repository/OAuth/Apple/AppleOAuthRepositoryImpl.swift +++ b/Projects/Domain/AuthDomain/Sources/Repository/OAuth/Apple/AppleOAuthRepositoryImpl.swift @@ -11,7 +11,6 @@ import AuthenticationServices @preconcurrency import AuthDomainInterface import LogMacro -import WeaveDI import ComposableArchitecture #if canImport(UIKit) diff --git a/Projects/Domain/BattleDomain/Project.swift b/Projects/Domain/BattleDomain/Project.swift index 6893d847..9f3a2ba5 100644 --- a/Projects/Domain/BattleDomain/Project.swift +++ b/Projects/Domain/BattleDomain/Project.swift @@ -10,7 +10,6 @@ let project = Project.configure( product: .framework, settings: .settings(), dependencies: [ - .SPM.weaveDI, .SPM.composableArchitecture, .domain(.home, .interface), .service(.api), @@ -23,7 +22,6 @@ let project = Project.configure( interfaceDependencies: [ .domain(.home, .interface), - .SPM.weaveDI, .SPM.composableArchitecture, ] ) diff --git a/Projects/Domain/CommentDomain/Project.swift b/Projects/Domain/CommentDomain/Project.swift index c3bca38c..92124612 100644 --- a/Projects/Domain/CommentDomain/Project.swift +++ b/Projects/Domain/CommentDomain/Project.swift @@ -11,7 +11,6 @@ let project = Project.configure( settings: .settings(), dependencies: [ .domain(.battle, .interface), - .SPM.weaveDI, .SPM.composableArchitecture, .service(.api), .service(.apiEndpoint), @@ -21,7 +20,6 @@ let project = Project.configure( ], interfaceDependencies: [ .domain(.battle, .interface), - .SPM.weaveDI, .SPM.composableArchitecture, ] ) diff --git a/Projects/Domain/HomeDomain/Project.swift b/Projects/Domain/HomeDomain/Project.swift index 229ff3e6..7e00cf22 100644 --- a/Projects/Domain/HomeDomain/Project.swift +++ b/Projects/Domain/HomeDomain/Project.swift @@ -10,7 +10,6 @@ let project = Project.configure( product: .framework, settings: .settings(), dependencies: [ - .SPM.weaveDI, .SPM.composableArchitecture, .domain(.auth, .interface), .service(.api), @@ -20,7 +19,6 @@ let project = Project.configure( .SPM.logMarco, ], interfaceDependencies: [ - .SPM.weaveDI, .SPM.composableArchitecture, ] ) diff --git a/Projects/Domain/NotificationDomain/Project.swift b/Projects/Domain/NotificationDomain/Project.swift index 9daf8571..f6b8f687 100644 --- a/Projects/Domain/NotificationDomain/Project.swift +++ b/Projects/Domain/NotificationDomain/Project.swift @@ -10,7 +10,6 @@ let project = Project.configure( product: .framework, settings: .settings(), dependencies: [ - .SPM.weaveDI, .SPM.composableArchitecture, .service(.api), .service(.apiEndpoint), @@ -19,7 +18,6 @@ let project = Project.configure( .SPM.logMarco, ], interfaceDependencies: [ - .SPM.weaveDI, .SPM.composableArchitecture, ] ) diff --git a/Projects/Domain/PerspectiveDomain/Project.swift b/Projects/Domain/PerspectiveDomain/Project.swift index b13ff13d..88667d0f 100644 --- a/Projects/Domain/PerspectiveDomain/Project.swift +++ b/Projects/Domain/PerspectiveDomain/Project.swift @@ -12,7 +12,6 @@ let project = Project.configure( dependencies: [ .domain(.battle, .interface), .domain(.comment, .interface), - .SPM.weaveDI, .SPM.composableArchitecture, .service(.api), .service(.apiEndpoint), @@ -24,7 +23,6 @@ let project = Project.configure( interfaceDependencies: [ .domain(.battle, .interface), .domain(.comment, .interface), - .SPM.weaveDI, .SPM.composableArchitecture, ] ) diff --git a/Projects/Domain/ProfileDomain/Project.swift b/Projects/Domain/ProfileDomain/Project.swift index 5e7e0dcb..7995fed0 100644 --- a/Projects/Domain/ProfileDomain/Project.swift +++ b/Projects/Domain/ProfileDomain/Project.swift @@ -19,7 +19,6 @@ let project = Project.configure( .SPM.logMarco, ], interfaceDependencies: [ - .SPM.weaveDI, .SPM.composableArchitecture, ] ) diff --git a/Projects/Domain/SearchDomain/Project.swift b/Projects/Domain/SearchDomain/Project.swift index 975797ad..eb441467 100644 --- a/Projects/Domain/SearchDomain/Project.swift +++ b/Projects/Domain/SearchDomain/Project.swift @@ -11,7 +11,6 @@ let project = Project.configure( settings: .settings(), dependencies: [ .domain(.home, .interface), - .SPM.weaveDI, .SPM.composableArchitecture, .domain(.battle, .interface), .service(.api), @@ -23,7 +22,6 @@ let project = Project.configure( interfaceDependencies: [ .domain(.home, .interface), - .SPM.weaveDI, .SPM.composableArchitecture, ] ) diff --git a/Projects/Service/AudioPlayerService/Interface/AudioPlayerInterface.swift b/Projects/Service/AudioPlayerService/Interface/AudioPlayerInterface.swift index a224d962..3cd96b6e 100644 --- a/Projects/Service/AudioPlayerService/Interface/AudioPlayerInterface.swift +++ b/Projects/Service/AudioPlayerService/Interface/AudioPlayerInterface.swift @@ -5,7 +5,6 @@ import Dependencies import Foundation -import WeaveDI public protocol AudioPlayerInterface: Sendable { /// 음원을 로드하고 재생 가능 여부를 반환한다. (false = 오디오 로딩 실패) @@ -28,16 +27,9 @@ public struct DefaultAudioPlayerImpl: AudioPlayerInterface { public func currentTimes() -> AsyncStream { AsyncStream { _ in } } } -public struct AudioPlayerDependency: DependencyKey { - public static var liveValue: AudioPlayerInterface { - UnifiedDI.resolve(AudioPlayerInterface.self) ?? DefaultAudioPlayerImpl() - } - - public static var testValue: AudioPlayerInterface { - UnifiedDI.resolve(AudioPlayerInterface.self) ?? DefaultAudioPlayerImpl() - } - - public static var previewValue: AudioPlayerInterface = liveValue +/// live 구현(`AudioPlayerRepositoryImpl`)은 AudioPlayerService 가 `DependencyKey` 로 이어 붙인다. +public struct AudioPlayerDependency: TestDependencyKey { + public static var testValue: AudioPlayerInterface { DefaultAudioPlayerImpl() } } public extension DependencyValues { diff --git a/Projects/Service/AudioPlayerService/Project.swift b/Projects/Service/AudioPlayerService/Project.swift index 08137764..bff56967 100644 --- a/Projects/Service/AudioPlayerService/Project.swift +++ b/Projects/Service/AudioPlayerService/Project.swift @@ -12,10 +12,8 @@ let project = Project.configure( // AVFoundation 은 시스템 프레임워크라 별도 선언이 필요 없다. dependencies: [ .SPM.composableArchitecture, - .SPM.weaveDI, ], interfaceDependencies: [ .SPM.composableArchitecture, - .SPM.weaveDI, ] ) diff --git a/Projects/Service/AudioPlayerService/Sources/AudioPlayerDependency+Live.swift b/Projects/Service/AudioPlayerService/Sources/AudioPlayerDependency+Live.swift new file mode 100644 index 00000000..884655cd --- /dev/null +++ b/Projects/Service/AudioPlayerService/Sources/AudioPlayerDependency+Live.swift @@ -0,0 +1,13 @@ +// +// AudioPlayerDependency+Live.swift +// AudioPlayerService +// + +import AudioPlayerServiceInterface +import ComposableArchitecture + +// MARK: - Live + +extension AudioPlayerDependency: DependencyKey { + public static var liveValue: AudioPlayerInterface { AudioPlayerRepositoryImpl() } +} diff --git a/Projects/Service/DeviceService/Interface/UseCase/DeviceInterface.swift b/Projects/Service/DeviceService/Interface/UseCase/DeviceInterface.swift index 8c9a7173..8b4143d1 100644 --- a/Projects/Service/DeviceService/Interface/UseCase/DeviceInterface.swift +++ b/Projects/Service/DeviceService/Interface/UseCase/DeviceInterface.swift @@ -3,8 +3,8 @@ // DeviceServiceInterface // +import Dependencies import Foundation -import WeaveDI public protocol DeviceInterface: Sendable { /// 로그인 직후 / 토큰 갱신 시 FCM 토큰 등록. @@ -19,16 +19,9 @@ public struct DefaultDeviceRepositoryImpl: DeviceInterface { public func unregisterDevice(fcmToken _: String) async throws {} } -public struct DeviceRepositoryDependency: DependencyKey { - public static var liveValue: DeviceInterface { - UnifiedDI.resolve(DeviceInterface.self) ?? DefaultDeviceRepositoryImpl() - } - - public static var testValue: DeviceInterface { - UnifiedDI.resolve(DeviceInterface.self) ?? DefaultDeviceRepositoryImpl() - } - - public static var previewValue: DeviceInterface = liveValue +/// live 구현(`DeviceRepositoryImpl`)은 DeviceService 가 `DependencyKey` 로 이어 붙인다. +public struct DeviceRepositoryDependency: TestDependencyKey { + public static var testValue: DeviceInterface { DefaultDeviceRepositoryImpl() } } public extension DependencyValues { diff --git a/Projects/Service/DeviceService/Project.swift b/Projects/Service/DeviceService/Project.swift index 3296ab25..121478fd 100644 --- a/Projects/Service/DeviceService/Project.swift +++ b/Projects/Service/DeviceService/Project.swift @@ -17,6 +17,5 @@ let project = Project.configure( ], interfaceDependencies: [ .SPM.composableArchitecture, - .SPM.weaveDI, ] ) diff --git a/Projects/Service/DeviceService/Sources/Repository/DeviceRepositoryDependency+Live.swift b/Projects/Service/DeviceService/Sources/Repository/DeviceRepositoryDependency+Live.swift new file mode 100644 index 00000000..9c296650 --- /dev/null +++ b/Projects/Service/DeviceService/Sources/Repository/DeviceRepositoryDependency+Live.swift @@ -0,0 +1,13 @@ +// +// DeviceRepositoryDependency+Live.swift +// DeviceService +// + +import ComposableArchitecture +import DeviceServiceInterface + +// MARK: - Live + +extension DeviceRepositoryDependency: DependencyKey { + public static var liveValue: DeviceInterface { DeviceRepositoryImpl() } +} diff --git a/Projects/Service/PickeAuth/Project.swift b/Projects/Service/PickeAuth/Project.swift index 3b7e6e88..1e0d0db5 100644 --- a/Projects/Service/PickeAuth/Project.swift +++ b/Projects/Service/PickeAuth/Project.swift @@ -20,6 +20,5 @@ let project = Project.configure( interfaceDependencies: [ .core(.network, .interface), .SPM.composableArchitecture, - .SPM.weaveDI, ] ) diff --git a/Tuist/Package.swift b/Tuist/Package.swift index fa04f782..dc9d1e65 100644 --- a/Tuist/Package.swift +++ b/Tuist/Package.swift @@ -26,7 +26,6 @@ "XCTestDynamicOverlay": .framework, "Clocks": .framework, "ConcurrencyExtras": .framework, - "WeaveDI": .framework, "ReactiveSwift": .framework, "SDWebImage": .framework, "SDWebImageSwiftUI": .framework, @@ -85,7 +84,6 @@ let package = Package( .package(url: "https://github.com/pointfreeco/swift-dependencies", from: "1.6.0"), .package(url: "https://github.com/pointfreeco/sqlite-data", exact: "1.11.0"), .package(url: "https://github.com/Roy-wonji/TCAFlow.git", exact: "1.1.3"), - .package(url: "https://github.com/Roy-wonji/WeaveDI.git", from: "3.4.1"), .package(url: "https://github.com/google/GoogleSignIn-iOS", from: "9.1.0"), .package(url: "https://github.com/Alamofire/Alamofire.git", from: "5.10.2"), .package(url: "https://github.com/openid/AppAuth-iOS.git", from: "2.0.0"), From 252dcf9e876d6c70da0c484aadb1175cb82f0333 Mon Sep 17 00:00:00 2001 From: Roy Date: Mon, 7 Sep 2026 18:43:22 +0900 Subject: [PATCH 60/83] =?UTF-8?q?refactor(di):=20WeaveDI=20=EC=A0=9C?= =?UTF-8?q?=EA=B1=B0=20=ED=9B=84=EC=86=8D=EC=9C=BC=EB=A1=9C=20=EB=82=A8?= =?UTF-8?q?=EC=9D=80=20=EC=82=AC=EC=9A=A9=EC=B2=98=EB=A5=BC=20swift-depend?= =?UTF-8?q?encies=20=EB=A1=9C=20=EC=A0=95=EB=A6=AC=ED=95=9C=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AppDelegate+Configure.swift | 0 .../{Delegate => }/AppDelegate+Push.swift | 0 .../{Delegate => }/AppDelegate+Tracking.swift | 0 .../{Delegate => }/AppDelegate.swift | 0 .../AppDependencyFactory.swift | 0 .../KingfisherConfigurator.swift | 0 .../Application/{Entry => }/PickeApp.swift | 0 .../{Deeplink => }/PushDeeplinkBridge.swift | 0 .../{Configuration => }/PushTokenStore.swift | 0 .../Auth/AppAuthCoordinator.swift | 0 .../Auth/AppAuthCoordinatorView.swift | 0 .../Battle/AppBattleCoordinator.swift | 0 .../Battle/AppBattleCoordinatorView.swift | 0 .../Hifi/AppHifiCoordinator.swift | 0 .../Hifi/AppHifiCoordinatorView.swift | 0 .../Home/AppHomeCoordinator.swift | 0 .../Home/AppHomeCoordinatorView.swift | 0 .../MainTab/AppMainTabCoordinator.swift | 0 .../MainTab/AppMainTabView.swift | 0 .../Profile/AppProfileCoordinator.swift | 0 .../Profile/AppProfileCoordinatorView.swift | 0 .../Reducer/{Root => }/AppReducer.swift | 0 .../App/Sources/View/{Root => }/AppView.swift | 0 .../Sources/View/{Root => }/ContentView.swift | 0 .../Sources/StorageAssembly.swift | 12 +- .../{ => Sources}/StorageAssemblyTests.swift | 0 .../Tests/{ => Sources}/LazyViewTests.swift | 0 .../Tests/{ => Sources}/ScreenSizeTests.swift | 0 .../PickeCoreUtilityTests/Sources/Test.swift | 8 - .../FormattingExtensionTests.swift | 0 .../PickeDeeplinkParserTests.swift | 0 .../{ => Sources}/ServerDateParserTests.swift | 0 .../Sources/Monitor/PickeEventMonitor.swift | 55 +++++- .../Interface/Secure/SecureStorageKey.swift | 2 +- .../Sources/DependencyValues+Storage.swift | 6 - .../{ => Sources}/KeychainStorageTests.swift | 0 .../SQLiteSharedValueStorageTests.swift | 0 .../{ => Sources}/StorageFactoryTests.swift | 0 .../PickeThirdPartyTests/Sources/Test.swift | 13 -- .../{ => Sources}/AppUpdateInterface.swift | 0 .../AppUpdateUseCaseInterface.swift | 0 .../Default/MockAppUpdateRepository.swift | 0 .../Default/MockAppUpdateUseCase.swift | 0 .../{ => Sources}/Entity/AppUpdateError.swift | 0 .../{ => Sources}/Entity/AppUpdateInfo.swift | 0 .../{ => Sources}/AppUpdateDomainTests.swift | 0 .../{ => Sources}/AttendanceCheckResult.swift | 0 .../{ => Sources}/AttendanceDay.swift | 0 .../{ => Sources}/AttendanceDayStatus.swift | 0 .../{ => Sources}/AttendanceError.swift | 0 .../{ => Sources}/AttendanceInterface.swift | 0 .../{ => Sources}/AttendanceSummary.swift | 0 .../MockAttendanceRepository.swift | 0 .../{ => Sources}/WeeklyAttendance.swift | 0 .../{ => Sources}/AttendanceDomainTests.swift | 0 .../AttendanceRepositoryTests.swift | 0 .../Tests/{ => Sources}/TestSupport.swift | 0 .../Apple}/AppleAuthRequestInterface.swift | 0 .../Contract/Apple}/AppleOAuthInterface.swift | 0 .../Apple}/AppleOAuthProviderInterface.swift | 0 .../Apple/Default/MockAppleAuthRequest.swift | 0 .../Default/MockAppleOAuthRepository.swift | 0 .../Contract/Auth}/AuthInterface.swift | 0 .../Contract/Auth}/AuthUseCaseInterface.swift | 0 .../Auth/Default/MockAuthRepository.swift | 0 .../Auth/Default/MockAuthUseCase.swift | 0 .../Default/MockGoogleOAuthRepository.swift | 0 .../Google}/GoogleOAuthInterface.swift | 0 .../GoogleOAuthProviderInterface.swift | 0 .../Default/MockKakaoOAuthRepository.swift | 0 .../Kakao}/KakaoOAuthProviderInterface.swift | 0 .../Kakao}/KakaoOAuthRepositoryProtocol.swift | 0 .../Default/MockUnifiedOAuthUseCase.swift | 0 .../OAuth}/UnifiedOAuthUseCaseInterface.swift | 0 .../Entity/Auth/AuthExitEntity.swift | 0 .../Entity/Auth/SocialType.swift | 0 .../Entity/Auth/TermsDocument.swift | 0 .../Entity/Auth/WithdrawEntity.swift | 0 .../{ => Sources}/Entity/AuthError.swift | 0 .../Entity/OAuth/AppleOAuthPayload.swift | 0 .../Entity/OAuth/AuthToken.swift | 0 .../Entity/OAuth/GoogleOAuthPayload.swift | 0 .../Entity/OAuth/KakaoOAuthPayload.swift | 0 .../Entity/OAuth/LoginEntity.swift | 0 .../Entity/OAuth/UserSession.swift | 0 .../Entity/OAuth/UserSessionSharedKey.swift | 0 .../Tests/{ => Sources}/AuthDomainTests.swift | 0 .../{ => Sources}/AuthRepositoryTests.swift | 0 .../AuthRequestMappingTests.swift | 0 .../Tests/{ => Sources}/TestSupport.swift | 0 .../Contract}/BattleInterface.swift | 0 .../Default/MockBattleRepository.swift | 0 .../Entity/Battle/Detail/BattleDetail.swift | 0 .../Entity/Battle/Detail/BattleInfo.swift | 0 .../Entity/Battle/Detail/BattleOption.swift | 0 .../Entity/Battle/Detail/BattleStep.swift | 0 .../Entity/Battle/Detail/UserVoteStatus.swift | 0 .../Battle/PreVote/PhilosopherAvatar.swift | 0 .../Entity/Battle/PreVote/PreVoteBattle.swift | 0 .../Entity/Battle/PreVote/PreVoteOption.swift | 0 .../Entity/Battle/PreVote/PreVoteResult.swift | 0 .../Battle/PreVote/PreVoteResultStatus.swift | 0 .../Battle/Recommend/RecommendedBattle.swift | 0 .../Recommend/RecommendedBattleOption.swift | 0 .../Recommend/RecommendedBattlePage.swift | 0 .../Recommend/RecommendedBattleTag.swift | 0 .../Battle/VoteStats/BattleVoteStats.swift | 0 .../VoteStats/BattleVoteStatsOption.swift | 0 .../Battle/VoteStats/VoteOptionSummary.swift | 0 .../Entity/Battle/VoteStats/VoteSummary.swift | 0 .../{ => Sources}/Entity/BattleError.swift | 0 .../Perspective/BattlePerspective.swift | 0 .../Perspective/BattlePerspectiveOption.swift | 0 .../Perspective/BattlePerspectivePage.swift | 0 .../Perspective/BattlePerspectiveSort.swift | 0 .../Perspective/BattlePerspectiveUser.swift | 0 .../Entity/Proposal/BattleProposal.swift | 0 .../Proposal/BattleProposalCategory.swift | 0 .../Entity/Proposal/BattleProposalDraft.swift | 0 .../Entity/TodayBattlePage.swift | 0 .../{ => Sources}/BattleDomainTests.swift | 0 .../{ => Sources}/BattleRepositoryTests.swift | 0 .../BattleRequestMappingTests.swift | 0 .../Tests/{ => Sources}/TestSupport.swift | 0 .../{ => Sources}/CommentInterface.swift | 0 .../{ => Sources}/Error/CommentError.swift | 0 .../{ => Sources}/Item/Comment.swift | 0 .../{ => Sources}/Item/CommentAuthor.swift | 0 .../{ => Sources}/Item/CommentFilter.swift | 0 .../{ => Sources}/Item/CommentItem.swift | 0 .../Item/CommentLikeResult.swift | 0 .../{ => Sources}/Item/CommentOption.swift | 0 .../{ => Sources}/Item/CommentReplyItem.swift | 0 .../{ => Sources}/Item/CommentSort.swift | 0 .../{ => Sources}/Item/CommentSortType.swift | 0 .../{ => Sources}/Item/CommentTab.swift | 0 .../PerspectiveComment.swift | 0 .../PerspectiveCommentMutationResult.swift | 0 .../PerspectiveCommentPage.swift | 0 .../PerspectiveCommentUser.swift | 0 .../{ => Sources}/CommentDomainTests.swift | 0 .../CommentRepositoryTests.swift | 0 .../CommentRequestMappingTests.swift | 0 .../Tests/{ => Sources}/TestSupport.swift | 0 .../DomainAssemblyExportTests.swift | 0 .../{ => Sources}/Core/HomeBundle.swift | 0 .../Explore/ExploreCategory.swift | 0 .../{ => Sources}/Explore/ExploreItem.swift | 0 .../Explore/ExploreItemPage.swift | 0 .../{ => Sources}/Explore/ExploreSort.swift | 0 .../Repository/HomeInterface.swift | 0 .../Repository/MockHomeRepository.swift | 0 .../Scenario/BattleScenario+.swift | 0 .../Scenario/BattleScenario.swift | 0 .../Scenario/Chat/ChatMessage.swift | 0 .../Scenario/Chat/ChatRoomBundle.swift | 0 .../Scenario/Chat/ChatSpeaker.swift | 0 .../Scenario/Chat/ChatSpeakerSide.swift | 0 .../Scenario/RecommendedPathKey.swift | 0 .../Scenario/ScenarioInteractiveOption.swift | 0 .../{ => Sources}/Scenario/ScenarioNode.swift | 0 .../Scenario/ScenarioPhilosopher.swift | 0 .../Scenario/ScenarioScript.swift | 0 .../Scenario/ScenarioSpeakerType.swift | 0 .../Section/Battle/BestBattle.swift | 0 .../Section/Battle/HeroBattle.swift | 0 .../Section/Battle/HotBattle.swift | 0 .../Section/Battle/NewBattle.swift | 0 .../{ => Sources}/Section/QuizQuestion.swift | 0 .../Section/Vote/VoteOption.swift | 0 .../Section/Vote/VoteQuestion.swift | 0 .../{ => Sources}/Tag/BattleTag.swift | 0 .../Interface/{ => Sources}/Tag/TagType.swift | 0 .../Tests/{ => Sources}/HomeDomainTests.swift | 0 .../{ => Sources}/HomeRepositoryTests.swift | 0 .../HomeRequestMappingTests.swift | 0 .../Tests/{ => Sources}/TestSupport.swift | 0 .../MockNotificationRepository.swift | 0 .../{ => Sources}/NotificationCategory.swift | 0 .../{ => Sources}/NotificationDetail.swift | 0 .../{ => Sources}/NotificationError.swift | 0 .../{ => Sources}/NotificationInterface.swift | 0 .../{ => Sources}/NotificationItem.swift | 0 .../{ => Sources}/NotificationPage.swift | 0 .../NotificationDomainTests.swift | 0 .../NotificationRepositoryTests.swift | 0 .../NotificationRequestMappingTests.swift | 0 .../Tests/{ => Sources}/TestSupport.swift | 0 .../MockPerspectiveRepository.swift | 0 .../{ => Sources}/PerspectiveError.swift | 0 .../{ => Sources}/PerspectiveInterface.swift | 0 .../PerspectiveDomainTests.swift | 0 .../PerspectiveRepositoryTests.swift | 0 .../PerspectiveRequestMappingTests.swift | 0 .../Tests/{ => Sources}/TestSupport.swift | 0 .../Entity/BattleRecord/BattleRecord.swift | 0 .../BattleRecord/BattleRecordPage.swift | 0 .../Entity/BattleRecord/BattleVoteSide.swift | 0 .../ContentActivity/ContentActivity.swift | 0 .../ContentActivityAuthor.swift | 0 .../ContentActivity/ContentActivityPage.swift | 0 .../ContentActivity/ContentActivityType.swift | 0 .../Entity/Credit/CreditHistoryItem.swift | 0 .../Entity/Credit/CreditHistoryPage.swift | 0 .../Entity/Error/ProfileError.swift | 0 .../{ => Sources}/Entity/MyPage/MyPage.swift | 0 .../Entity/MyPage/MyPhilosopher.swift | 0 .../Entity/MyPage/MyProfile.swift | 0 .../{ => Sources}/Entity/MyPage/MyTier.swift | 0 .../Entity/MyPage/UpdatedProfile.swift | 0 .../Entity/Notice/NoticeTab.swift | 0 .../Notification/NotificationSettingKey.swift | 0 .../NotificationSettingSection.swift | 0 .../Notification/NotificationSettings.swift | 0 .../Entity/Recap/FavoriteTopic.swift | 0 .../Entity/Recap/PhilosopherRecap.swift | 0 .../Entity/Recap/PreferenceReport.swift | 0 .../Entity/Recap/RecapCard.swift | 0 .../Entity/Recap/RecapScoreAxis.swift | 0 .../Entity/Recap/RecapScores.swift | 0 .../Default/MockProfileRepository.swift | 0 .../Repository}/ProfileInterface.swift | 0 .../{ => Sources}/ProfileDomainTests.swift | 0 .../ProfileRepositoryTests.swift | 0 .../ProfileRequestMappingTests.swift | 0 .../Tests/{ => Sources}/TestSupport.swift | 0 .../Ad/Tests/{ => Sources}/AdTests.swift | 0 .../Coordinator/Reducer/AuthCoordinator.swift | 167 ------------------ .../View/AuthCoordinatorView.swift | 37 ---- .../Reducer/BattleCoordinator.swift | 94 ---------- .../View/BattleCoordinatorView.swift | 28 --- .../Coordinator/Reducer/HifiCoordinator.swift | 94 ---------- .../View/HifiCoordinatorView.swift | 28 --- .../Settings/Reducer/SettingsFeature.swift | 13 +- .../Reducer/WithdrawReasonFeature.swift | 11 +- .../Sources/Reducer/SplashFeature.swift | 21 +-- .../Service/API/APITests/Sources/Test.swift | 8 - .../{ => Sources}/PieckeDomainTests.swift | 0 .../RemoteTests/Sources/Test.swift | 8 - .../{ => Sources}/AuthServiceTests.swift | 0 .../EncodableDictionaryTests.swift | 0 .../AudioPlayerServiceTests.swift | 0 .../{ => Sources}/DeviceServiceTests.swift | 0 .../{ => Sources}/PickeAnalyticsTests.swift | 0 .../Sources/Factory/AuthFactory.swift | 8 +- .../Store/KeychainCredentialStore.swift | 27 ++- .../KeychainCredentialStoreTests.swift | 0 .../Tests/{ => Sources}/PickeAuthTests.swift | 0 .../Sources/NetworkContainer.swift | 3 +- .../ServiceDependencyAssemblyTests.swift | 0 .../PickeAnimationAssetTests.swift | 0 .../DesignSystemTests/Sources/Test.swift | 8 - .../{ => Sources}/DesignTokenTests.swift | 0 .../Tests/{ => Sources}/ToastTypeTests.swift | 0 .../{ => Sources}/CustomAlertStateTests.swift | 0 .../{ => Sources}/ReportReasonTests.swift | 0 256 files changed, 101 insertions(+), 550 deletions(-) rename Projects/App/Sources/Application/{Delegate => }/AppDelegate+Configure.swift (100%) rename Projects/App/Sources/Application/{Delegate => }/AppDelegate+Push.swift (100%) rename Projects/App/Sources/Application/{Delegate => }/AppDelegate+Tracking.swift (100%) rename Projects/App/Sources/Application/{Delegate => }/AppDelegate.swift (100%) rename Projects/App/Sources/{Di => Application}/AppDependencyFactory.swift (100%) rename Projects/App/Sources/Application/{Configuration => }/KingfisherConfigurator.swift (100%) rename Projects/App/Sources/Application/{Entry => }/PickeApp.swift (100%) rename Projects/App/Sources/Application/{Deeplink => }/PushDeeplinkBridge.swift (100%) rename Projects/App/Sources/Application/{Configuration => }/PushTokenStore.swift (100%) rename Projects/App/Sources/{Reducer/Coordinator => Navigation}/Auth/AppAuthCoordinator.swift (100%) rename Projects/App/Sources/{View/Coordinator => Navigation}/Auth/AppAuthCoordinatorView.swift (100%) rename Projects/App/Sources/{Reducer/Coordinator => Navigation}/Battle/AppBattleCoordinator.swift (100%) rename Projects/App/Sources/{View/Coordinator => Navigation}/Battle/AppBattleCoordinatorView.swift (100%) rename Projects/App/Sources/{Reducer/Coordinator => Navigation}/Hifi/AppHifiCoordinator.swift (100%) rename Projects/App/Sources/{View/Coordinator => Navigation}/Hifi/AppHifiCoordinatorView.swift (100%) rename Projects/App/Sources/{Reducer/Coordinator => Navigation}/Home/AppHomeCoordinator.swift (100%) rename Projects/App/Sources/{View/Coordinator => Navigation}/Home/AppHomeCoordinatorView.swift (100%) rename Projects/App/Sources/{Reducer/Coordinator => Navigation}/MainTab/AppMainTabCoordinator.swift (100%) rename Projects/App/Sources/{View/Coordinator => Navigation}/MainTab/AppMainTabView.swift (100%) rename Projects/App/Sources/{Reducer/Coordinator => Navigation}/Profile/AppProfileCoordinator.swift (100%) rename Projects/App/Sources/{View/Coordinator => Navigation}/Profile/AppProfileCoordinatorView.swift (100%) rename Projects/App/Sources/Reducer/{Root => }/AppReducer.swift (100%) rename Projects/App/Sources/View/{Root => }/AppView.swift (100%) rename Projects/App/Sources/View/{Root => }/ContentView.swift (100%) rename Projects/Core/CoreAssembly/Tests/{ => Sources}/StorageAssemblyTests.swift (100%) rename Projects/Core/PickeCoreUI/Tests/{ => Sources}/LazyViewTests.swift (100%) rename Projects/Core/PickeCoreUI/Tests/{ => Sources}/ScreenSizeTests.swift (100%) delete mode 100644 Projects/Core/PickeCoreUtility/PickeCoreUtilityTests/Sources/Test.swift rename Projects/Core/PickeCoreUtility/Tests/{ => Sources}/FormattingExtensionTests.swift (100%) rename Projects/Core/PickeCoreUtility/Tests/{ => Sources}/PickeDeeplinkParserTests.swift (100%) rename Projects/Core/PickeCoreUtility/Tests/{ => Sources}/ServerDateParserTests.swift (100%) rename Projects/Core/PickeStorage/Tests/{ => Sources}/KeychainStorageTests.swift (100%) rename Projects/Core/PickeStorage/Tests/{ => Sources}/SQLiteSharedValueStorageTests.swift (100%) rename Projects/Core/PickeStorage/Tests/{ => Sources}/StorageFactoryTests.swift (100%) delete mode 100644 Projects/Core/PickeThirdParty/PickeThirdPartyTests/Sources/Test.swift rename Projects/Domain/AppUpdateDomain/Interface/{ => Sources}/AppUpdateInterface.swift (100%) rename Projects/Domain/AppUpdateDomain/Interface/{ => Sources}/AppUpdateUseCaseInterface.swift (100%) rename Projects/Domain/AppUpdateDomain/Interface/{ => Sources}/Default/MockAppUpdateRepository.swift (100%) rename Projects/Domain/AppUpdateDomain/Interface/{ => Sources}/Default/MockAppUpdateUseCase.swift (100%) rename Projects/Domain/AppUpdateDomain/Interface/{ => Sources}/Entity/AppUpdateError.swift (100%) rename Projects/Domain/AppUpdateDomain/Interface/{ => Sources}/Entity/AppUpdateInfo.swift (100%) rename Projects/Domain/AppUpdateDomain/Tests/{ => Sources}/AppUpdateDomainTests.swift (100%) rename Projects/Domain/AttendanceDomain/Interface/{ => Sources}/AttendanceCheckResult.swift (100%) rename Projects/Domain/AttendanceDomain/Interface/{ => Sources}/AttendanceDay.swift (100%) rename Projects/Domain/AttendanceDomain/Interface/{ => Sources}/AttendanceDayStatus.swift (100%) rename Projects/Domain/AttendanceDomain/Interface/{ => Sources}/AttendanceError.swift (100%) rename Projects/Domain/AttendanceDomain/Interface/{ => Sources}/AttendanceInterface.swift (100%) rename Projects/Domain/AttendanceDomain/Interface/{ => Sources}/AttendanceSummary.swift (100%) rename Projects/Domain/AttendanceDomain/Interface/{ => Sources}/MockAttendanceRepository.swift (100%) rename Projects/Domain/AttendanceDomain/Interface/{ => Sources}/WeeklyAttendance.swift (100%) rename Projects/Domain/AttendanceDomain/Tests/{ => Sources}/AttendanceDomainTests.swift (100%) rename Projects/Domain/AttendanceDomain/Tests/{ => Sources}/AttendanceRepositoryTests.swift (100%) rename Projects/Domain/AttendanceDomain/Tests/{ => Sources}/TestSupport.swift (100%) rename Projects/Domain/AuthDomain/Interface/{Contract/Apple/Interface => Sources/Contract/Apple}/AppleAuthRequestInterface.swift (100%) rename Projects/Domain/AuthDomain/Interface/{Contract/Apple/Interface => Sources/Contract/Apple}/AppleOAuthInterface.swift (100%) rename Projects/Domain/AuthDomain/Interface/{Contract/Apple/Interface => Sources/Contract/Apple}/AppleOAuthProviderInterface.swift (100%) rename Projects/Domain/AuthDomain/Interface/{ => Sources}/Contract/Apple/Default/MockAppleAuthRequest.swift (100%) rename Projects/Domain/AuthDomain/Interface/{ => Sources}/Contract/Apple/Default/MockAppleOAuthRepository.swift (100%) rename Projects/Domain/AuthDomain/Interface/{Contract/Auth/Interface => Sources/Contract/Auth}/AuthInterface.swift (100%) rename Projects/Domain/AuthDomain/Interface/{Contract/Auth/Interface => Sources/Contract/Auth}/AuthUseCaseInterface.swift (100%) rename Projects/Domain/AuthDomain/Interface/{ => Sources}/Contract/Auth/Default/MockAuthRepository.swift (100%) rename Projects/Domain/AuthDomain/Interface/{ => Sources}/Contract/Auth/Default/MockAuthUseCase.swift (100%) rename Projects/Domain/AuthDomain/Interface/{ => Sources}/Contract/Google/Default/MockGoogleOAuthRepository.swift (100%) rename Projects/Domain/AuthDomain/Interface/{Contract/Google/Interface => Sources/Contract/Google}/GoogleOAuthInterface.swift (100%) rename Projects/Domain/AuthDomain/Interface/{Contract/Google/Interface => Sources/Contract/Google}/GoogleOAuthProviderInterface.swift (100%) rename Projects/Domain/AuthDomain/Interface/{ => Sources}/Contract/Kakao/Default/MockKakaoOAuthRepository.swift (100%) rename Projects/Domain/AuthDomain/Interface/{Contract/Kakao/Interface => Sources/Contract/Kakao}/KakaoOAuthProviderInterface.swift (100%) rename Projects/Domain/AuthDomain/Interface/{Contract/Kakao/Interface => Sources/Contract/Kakao}/KakaoOAuthRepositoryProtocol.swift (100%) rename Projects/Domain/AuthDomain/Interface/{ => Sources}/Contract/OAuth/Default/MockUnifiedOAuthUseCase.swift (100%) rename Projects/Domain/AuthDomain/Interface/{Contract/OAuth/Interface => Sources/Contract/OAuth}/UnifiedOAuthUseCaseInterface.swift (100%) rename Projects/Domain/AuthDomain/Interface/{ => Sources}/Entity/Auth/AuthExitEntity.swift (100%) rename Projects/Domain/AuthDomain/Interface/{ => Sources}/Entity/Auth/SocialType.swift (100%) rename Projects/Domain/AuthDomain/Interface/{ => Sources}/Entity/Auth/TermsDocument.swift (100%) rename Projects/Domain/AuthDomain/Interface/{ => Sources}/Entity/Auth/WithdrawEntity.swift (100%) rename Projects/Domain/AuthDomain/Interface/{ => Sources}/Entity/AuthError.swift (100%) rename Projects/Domain/AuthDomain/Interface/{ => Sources}/Entity/OAuth/AppleOAuthPayload.swift (100%) rename Projects/Domain/AuthDomain/Interface/{ => Sources}/Entity/OAuth/AuthToken.swift (100%) rename Projects/Domain/AuthDomain/Interface/{ => Sources}/Entity/OAuth/GoogleOAuthPayload.swift (100%) rename Projects/Domain/AuthDomain/Interface/{ => Sources}/Entity/OAuth/KakaoOAuthPayload.swift (100%) rename Projects/Domain/AuthDomain/Interface/{ => Sources}/Entity/OAuth/LoginEntity.swift (100%) rename Projects/Domain/AuthDomain/Interface/{ => Sources}/Entity/OAuth/UserSession.swift (100%) rename Projects/Domain/AuthDomain/Interface/{ => Sources}/Entity/OAuth/UserSessionSharedKey.swift (100%) rename Projects/Domain/AuthDomain/Tests/{ => Sources}/AuthDomainTests.swift (100%) rename Projects/Domain/AuthDomain/Tests/{ => Sources}/AuthRepositoryTests.swift (100%) rename Projects/Domain/AuthDomain/Tests/{ => Sources}/AuthRequestMappingTests.swift (100%) rename Projects/Domain/AuthDomain/Tests/{ => Sources}/TestSupport.swift (100%) rename Projects/Domain/BattleDomain/Interface/{Contract/Interface => Sources/Contract}/BattleInterface.swift (100%) rename Projects/Domain/BattleDomain/Interface/{ => Sources}/Contract/Default/MockBattleRepository.swift (100%) rename Projects/Domain/BattleDomain/Interface/{ => Sources}/Entity/Battle/Detail/BattleDetail.swift (100%) rename Projects/Domain/BattleDomain/Interface/{ => Sources}/Entity/Battle/Detail/BattleInfo.swift (100%) rename Projects/Domain/BattleDomain/Interface/{ => Sources}/Entity/Battle/Detail/BattleOption.swift (100%) rename Projects/Domain/BattleDomain/Interface/{ => Sources}/Entity/Battle/Detail/BattleStep.swift (100%) rename Projects/Domain/BattleDomain/Interface/{ => Sources}/Entity/Battle/Detail/UserVoteStatus.swift (100%) rename Projects/Domain/BattleDomain/Interface/{ => Sources}/Entity/Battle/PreVote/PhilosopherAvatar.swift (100%) rename Projects/Domain/BattleDomain/Interface/{ => Sources}/Entity/Battle/PreVote/PreVoteBattle.swift (100%) rename Projects/Domain/BattleDomain/Interface/{ => Sources}/Entity/Battle/PreVote/PreVoteOption.swift (100%) rename Projects/Domain/BattleDomain/Interface/{ => Sources}/Entity/Battle/PreVote/PreVoteResult.swift (100%) rename Projects/Domain/BattleDomain/Interface/{ => Sources}/Entity/Battle/PreVote/PreVoteResultStatus.swift (100%) rename Projects/Domain/BattleDomain/Interface/{ => Sources}/Entity/Battle/Recommend/RecommendedBattle.swift (100%) rename Projects/Domain/BattleDomain/Interface/{ => Sources}/Entity/Battle/Recommend/RecommendedBattleOption.swift (100%) rename Projects/Domain/BattleDomain/Interface/{ => Sources}/Entity/Battle/Recommend/RecommendedBattlePage.swift (100%) rename Projects/Domain/BattleDomain/Interface/{ => Sources}/Entity/Battle/Recommend/RecommendedBattleTag.swift (100%) rename Projects/Domain/BattleDomain/Interface/{ => Sources}/Entity/Battle/VoteStats/BattleVoteStats.swift (100%) rename Projects/Domain/BattleDomain/Interface/{ => Sources}/Entity/Battle/VoteStats/BattleVoteStatsOption.swift (100%) rename Projects/Domain/BattleDomain/Interface/{ => Sources}/Entity/Battle/VoteStats/VoteOptionSummary.swift (100%) rename Projects/Domain/BattleDomain/Interface/{ => Sources}/Entity/Battle/VoteStats/VoteSummary.swift (100%) rename Projects/Domain/BattleDomain/Interface/{ => Sources}/Entity/BattleError.swift (100%) rename Projects/Domain/BattleDomain/Interface/{ => Sources}/Entity/Perspective/BattlePerspective.swift (100%) rename Projects/Domain/BattleDomain/Interface/{ => Sources}/Entity/Perspective/BattlePerspectiveOption.swift (100%) rename Projects/Domain/BattleDomain/Interface/{ => Sources}/Entity/Perspective/BattlePerspectivePage.swift (100%) rename Projects/Domain/BattleDomain/Interface/{ => Sources}/Entity/Perspective/BattlePerspectiveSort.swift (100%) rename Projects/Domain/BattleDomain/Interface/{ => Sources}/Entity/Perspective/BattlePerspectiveUser.swift (100%) rename Projects/Domain/BattleDomain/Interface/{ => Sources}/Entity/Proposal/BattleProposal.swift (100%) rename Projects/Domain/BattleDomain/Interface/{ => Sources}/Entity/Proposal/BattleProposalCategory.swift (100%) rename Projects/Domain/BattleDomain/Interface/{ => Sources}/Entity/Proposal/BattleProposalDraft.swift (100%) rename Projects/Domain/BattleDomain/Interface/{ => Sources}/Entity/TodayBattlePage.swift (100%) rename Projects/Domain/BattleDomain/Tests/{ => Sources}/BattleDomainTests.swift (100%) rename Projects/Domain/BattleDomain/Tests/{ => Sources}/BattleRepositoryTests.swift (100%) rename Projects/Domain/BattleDomain/Tests/{ => Sources}/BattleRequestMappingTests.swift (100%) rename Projects/Domain/BattleDomain/Tests/{ => Sources}/TestSupport.swift (100%) rename Projects/Domain/CommentDomain/Interface/{ => Sources}/CommentInterface.swift (100%) rename Projects/Domain/CommentDomain/Interface/{ => Sources}/Error/CommentError.swift (100%) rename Projects/Domain/CommentDomain/Interface/{ => Sources}/Item/Comment.swift (100%) rename Projects/Domain/CommentDomain/Interface/{ => Sources}/Item/CommentAuthor.swift (100%) rename Projects/Domain/CommentDomain/Interface/{ => Sources}/Item/CommentFilter.swift (100%) rename Projects/Domain/CommentDomain/Interface/{ => Sources}/Item/CommentItem.swift (100%) rename Projects/Domain/CommentDomain/Interface/{ => Sources}/Item/CommentLikeResult.swift (100%) rename Projects/Domain/CommentDomain/Interface/{ => Sources}/Item/CommentOption.swift (100%) rename Projects/Domain/CommentDomain/Interface/{ => Sources}/Item/CommentReplyItem.swift (100%) rename Projects/Domain/CommentDomain/Interface/{ => Sources}/Item/CommentSort.swift (100%) rename Projects/Domain/CommentDomain/Interface/{ => Sources}/Item/CommentSortType.swift (100%) rename Projects/Domain/CommentDomain/Interface/{ => Sources}/Item/CommentTab.swift (100%) rename Projects/Domain/CommentDomain/Interface/{ => Sources}/PerspectiveComment/PerspectiveComment.swift (100%) rename Projects/Domain/CommentDomain/Interface/{ => Sources}/PerspectiveComment/PerspectiveCommentMutationResult.swift (100%) rename Projects/Domain/CommentDomain/Interface/{ => Sources}/PerspectiveComment/PerspectiveCommentPage.swift (100%) rename Projects/Domain/CommentDomain/Interface/{ => Sources}/PerspectiveComment/PerspectiveCommentUser.swift (100%) rename Projects/Domain/CommentDomain/Tests/{ => Sources}/CommentDomainTests.swift (100%) rename Projects/Domain/CommentDomain/Tests/{ => Sources}/CommentRepositoryTests.swift (100%) rename Projects/Domain/CommentDomain/Tests/{ => Sources}/CommentRequestMappingTests.swift (100%) rename Projects/Domain/CommentDomain/Tests/{ => Sources}/TestSupport.swift (100%) rename Projects/Domain/DomainAssembly/Tests/{ => Sources}/DomainAssemblyExportTests.swift (100%) rename Projects/Domain/HomeDomain/Interface/{ => Sources}/Core/HomeBundle.swift (100%) rename Projects/Domain/HomeDomain/Interface/{ => Sources}/Explore/ExploreCategory.swift (100%) rename Projects/Domain/HomeDomain/Interface/{ => Sources}/Explore/ExploreItem.swift (100%) rename Projects/Domain/HomeDomain/Interface/{ => Sources}/Explore/ExploreItemPage.swift (100%) rename Projects/Domain/HomeDomain/Interface/{ => Sources}/Explore/ExploreSort.swift (100%) rename Projects/Domain/HomeDomain/Interface/{ => Sources}/Repository/HomeInterface.swift (100%) rename Projects/Domain/HomeDomain/Interface/{ => Sources}/Repository/MockHomeRepository.swift (100%) rename Projects/Domain/HomeDomain/Interface/{ => Sources}/Scenario/BattleScenario+.swift (100%) rename Projects/Domain/HomeDomain/Interface/{ => Sources}/Scenario/BattleScenario.swift (100%) rename Projects/Domain/HomeDomain/Interface/{ => Sources}/Scenario/Chat/ChatMessage.swift (100%) rename Projects/Domain/HomeDomain/Interface/{ => Sources}/Scenario/Chat/ChatRoomBundle.swift (100%) rename Projects/Domain/HomeDomain/Interface/{ => Sources}/Scenario/Chat/ChatSpeaker.swift (100%) rename Projects/Domain/HomeDomain/Interface/{ => Sources}/Scenario/Chat/ChatSpeakerSide.swift (100%) rename Projects/Domain/HomeDomain/Interface/{ => Sources}/Scenario/RecommendedPathKey.swift (100%) rename Projects/Domain/HomeDomain/Interface/{ => Sources}/Scenario/ScenarioInteractiveOption.swift (100%) rename Projects/Domain/HomeDomain/Interface/{ => Sources}/Scenario/ScenarioNode.swift (100%) rename Projects/Domain/HomeDomain/Interface/{ => Sources}/Scenario/ScenarioPhilosopher.swift (100%) rename Projects/Domain/HomeDomain/Interface/{ => Sources}/Scenario/ScenarioScript.swift (100%) rename Projects/Domain/HomeDomain/Interface/{ => Sources}/Scenario/ScenarioSpeakerType.swift (100%) rename Projects/Domain/HomeDomain/Interface/{ => Sources}/Section/Battle/BestBattle.swift (100%) rename Projects/Domain/HomeDomain/Interface/{ => Sources}/Section/Battle/HeroBattle.swift (100%) rename Projects/Domain/HomeDomain/Interface/{ => Sources}/Section/Battle/HotBattle.swift (100%) rename Projects/Domain/HomeDomain/Interface/{ => Sources}/Section/Battle/NewBattle.swift (100%) rename Projects/Domain/HomeDomain/Interface/{ => Sources}/Section/QuizQuestion.swift (100%) rename Projects/Domain/HomeDomain/Interface/{ => Sources}/Section/Vote/VoteOption.swift (100%) rename Projects/Domain/HomeDomain/Interface/{ => Sources}/Section/Vote/VoteQuestion.swift (100%) rename Projects/Domain/HomeDomain/Interface/{ => Sources}/Tag/BattleTag.swift (100%) rename Projects/Domain/HomeDomain/Interface/{ => Sources}/Tag/TagType.swift (100%) rename Projects/Domain/HomeDomain/Tests/{ => Sources}/HomeDomainTests.swift (100%) rename Projects/Domain/HomeDomain/Tests/{ => Sources}/HomeRepositoryTests.swift (100%) rename Projects/Domain/HomeDomain/Tests/{ => Sources}/HomeRequestMappingTests.swift (100%) rename Projects/Domain/HomeDomain/Tests/{ => Sources}/TestSupport.swift (100%) rename Projects/Domain/NotificationDomain/Interface/{ => Sources}/MockNotificationRepository.swift (100%) rename Projects/Domain/NotificationDomain/Interface/{ => Sources}/NotificationCategory.swift (100%) rename Projects/Domain/NotificationDomain/Interface/{ => Sources}/NotificationDetail.swift (100%) rename Projects/Domain/NotificationDomain/Interface/{ => Sources}/NotificationError.swift (100%) rename Projects/Domain/NotificationDomain/Interface/{ => Sources}/NotificationInterface.swift (100%) rename Projects/Domain/NotificationDomain/Interface/{ => Sources}/NotificationItem.swift (100%) rename Projects/Domain/NotificationDomain/Interface/{ => Sources}/NotificationPage.swift (100%) rename Projects/Domain/NotificationDomain/Tests/{ => Sources}/NotificationDomainTests.swift (100%) rename Projects/Domain/NotificationDomain/Tests/{ => Sources}/NotificationRepositoryTests.swift (100%) rename Projects/Domain/NotificationDomain/Tests/{ => Sources}/NotificationRequestMappingTests.swift (100%) rename Projects/Domain/NotificationDomain/Tests/{ => Sources}/TestSupport.swift (100%) rename Projects/Domain/PerspectiveDomain/Interface/{ => Sources}/MockPerspectiveRepository.swift (100%) rename Projects/Domain/PerspectiveDomain/Interface/{ => Sources}/PerspectiveError.swift (100%) rename Projects/Domain/PerspectiveDomain/Interface/{ => Sources}/PerspectiveInterface.swift (100%) rename Projects/Domain/PerspectiveDomain/Tests/{ => Sources}/PerspectiveDomainTests.swift (100%) rename Projects/Domain/PerspectiveDomain/Tests/{ => Sources}/PerspectiveRepositoryTests.swift (100%) rename Projects/Domain/PerspectiveDomain/Tests/{ => Sources}/PerspectiveRequestMappingTests.swift (100%) rename Projects/Domain/PerspectiveDomain/Tests/{ => Sources}/TestSupport.swift (100%) rename Projects/Domain/ProfileDomain/Interface/{ => Sources}/Entity/BattleRecord/BattleRecord.swift (100%) rename Projects/Domain/ProfileDomain/Interface/{ => Sources}/Entity/BattleRecord/BattleRecordPage.swift (100%) rename Projects/Domain/ProfileDomain/Interface/{ => Sources}/Entity/BattleRecord/BattleVoteSide.swift (100%) rename Projects/Domain/ProfileDomain/Interface/{ => Sources}/Entity/ContentActivity/ContentActivity.swift (100%) rename Projects/Domain/ProfileDomain/Interface/{ => Sources}/Entity/ContentActivity/ContentActivityAuthor.swift (100%) rename Projects/Domain/ProfileDomain/Interface/{ => Sources}/Entity/ContentActivity/ContentActivityPage.swift (100%) rename Projects/Domain/ProfileDomain/Interface/{ => Sources}/Entity/ContentActivity/ContentActivityType.swift (100%) rename Projects/Domain/ProfileDomain/Interface/{ => Sources}/Entity/Credit/CreditHistoryItem.swift (100%) rename Projects/Domain/ProfileDomain/Interface/{ => Sources}/Entity/Credit/CreditHistoryPage.swift (100%) rename Projects/Domain/ProfileDomain/Interface/{ => Sources}/Entity/Error/ProfileError.swift (100%) rename Projects/Domain/ProfileDomain/Interface/{ => Sources}/Entity/MyPage/MyPage.swift (100%) rename Projects/Domain/ProfileDomain/Interface/{ => Sources}/Entity/MyPage/MyPhilosopher.swift (100%) rename Projects/Domain/ProfileDomain/Interface/{ => Sources}/Entity/MyPage/MyProfile.swift (100%) rename Projects/Domain/ProfileDomain/Interface/{ => Sources}/Entity/MyPage/MyTier.swift (100%) rename Projects/Domain/ProfileDomain/Interface/{ => Sources}/Entity/MyPage/UpdatedProfile.swift (100%) rename Projects/Domain/ProfileDomain/Interface/{ => Sources}/Entity/Notice/NoticeTab.swift (100%) rename Projects/Domain/ProfileDomain/Interface/{ => Sources}/Entity/Notification/NotificationSettingKey.swift (100%) rename Projects/Domain/ProfileDomain/Interface/{ => Sources}/Entity/Notification/NotificationSettingSection.swift (100%) rename Projects/Domain/ProfileDomain/Interface/{ => Sources}/Entity/Notification/NotificationSettings.swift (100%) rename Projects/Domain/ProfileDomain/Interface/{ => Sources}/Entity/Recap/FavoriteTopic.swift (100%) rename Projects/Domain/ProfileDomain/Interface/{ => Sources}/Entity/Recap/PhilosopherRecap.swift (100%) rename Projects/Domain/ProfileDomain/Interface/{ => Sources}/Entity/Recap/PreferenceReport.swift (100%) rename Projects/Domain/ProfileDomain/Interface/{ => Sources}/Entity/Recap/RecapCard.swift (100%) rename Projects/Domain/ProfileDomain/Interface/{ => Sources}/Entity/Recap/RecapScoreAxis.swift (100%) rename Projects/Domain/ProfileDomain/Interface/{ => Sources}/Entity/Recap/RecapScores.swift (100%) rename Projects/Domain/ProfileDomain/Interface/{ => Sources}/Repository/Default/MockProfileRepository.swift (100%) rename Projects/Domain/ProfileDomain/Interface/{Repository/Interface => Sources/Repository}/ProfileInterface.swift (100%) rename Projects/Domain/ProfileDomain/Tests/{ => Sources}/ProfileDomainTests.swift (100%) rename Projects/Domain/ProfileDomain/Tests/{ => Sources}/ProfileRepositoryTests.swift (100%) rename Projects/Domain/ProfileDomain/Tests/{ => Sources}/ProfileRequestMappingTests.swift (100%) rename Projects/Domain/ProfileDomain/Tests/{ => Sources}/TestSupport.swift (100%) rename Projects/Feature/Ad/Tests/{ => Sources}/AdTests.swift (100%) delete mode 100644 Projects/Feature/Auth/Sources/Coordinator/Reducer/AuthCoordinator.swift delete mode 100644 Projects/Feature/Auth/Sources/Coordinator/View/AuthCoordinatorView.swift delete mode 100644 Projects/Feature/Battle/Sources/Coordinator/Reducer/BattleCoordinator.swift delete mode 100644 Projects/Feature/Battle/Sources/Coordinator/View/BattleCoordinatorView.swift delete mode 100644 Projects/Feature/Hifi/Sources/Coordinator/Reducer/HifiCoordinator.swift delete mode 100644 Projects/Feature/Hifi/Sources/Coordinator/View/HifiCoordinatorView.swift delete mode 100644 Projects/Service/API/APITests/Sources/Test.swift rename Projects/Service/API/Tests/{ => Sources}/PieckeDomainTests.swift (100%) delete mode 100644 Projects/Service/APIEndpoint/RemoteTests/Sources/Test.swift rename Projects/Service/APIEndpoint/Tests/{ => Sources}/AuthServiceTests.swift (100%) rename Projects/Service/APIEndpoint/Tests/{ => Sources}/EncodableDictionaryTests.swift (100%) rename Projects/Service/AudioPlayerService/Tests/{ => Sources}/AudioPlayerServiceTests.swift (100%) rename Projects/Service/DeviceService/Tests/{ => Sources}/DeviceServiceTests.swift (100%) rename Projects/Service/PickeAnalytics/Tests/{ => Sources}/PickeAnalyticsTests.swift (100%) rename Projects/Service/PickeAuth/Tests/{ => Sources}/KeychainCredentialStoreTests.swift (100%) rename Projects/Service/PickeAuth/Tests/{ => Sources}/PickeAuthTests.swift (100%) rename Projects/Service/ServiceAssembly/Tests/{ => Sources}/ServiceDependencyAssemblyTests.swift (100%) rename Projects/UI/PickeAnimation/Tests/{ => Sources}/PickeAnimationAssetTests.swift (100%) delete mode 100644 Projects/UI/PickeDesignKit/DesignSystemTests/Sources/Test.swift rename Projects/UI/PickeDesignKit/Tests/{ => Sources}/DesignTokenTests.swift (100%) rename Projects/UI/PickeDesignKit/Tests/{ => Sources}/ToastTypeTests.swift (100%) rename Projects/UI/PickeSharedUI/Tests/{ => Sources}/CustomAlertStateTests.swift (100%) rename Projects/UI/PickeSharedUI/Tests/{ => Sources}/ReportReasonTests.swift (100%) diff --git a/Projects/App/Sources/Application/Delegate/AppDelegate+Configure.swift b/Projects/App/Sources/Application/AppDelegate+Configure.swift similarity index 100% rename from Projects/App/Sources/Application/Delegate/AppDelegate+Configure.swift rename to Projects/App/Sources/Application/AppDelegate+Configure.swift diff --git a/Projects/App/Sources/Application/Delegate/AppDelegate+Push.swift b/Projects/App/Sources/Application/AppDelegate+Push.swift similarity index 100% rename from Projects/App/Sources/Application/Delegate/AppDelegate+Push.swift rename to Projects/App/Sources/Application/AppDelegate+Push.swift diff --git a/Projects/App/Sources/Application/Delegate/AppDelegate+Tracking.swift b/Projects/App/Sources/Application/AppDelegate+Tracking.swift similarity index 100% rename from Projects/App/Sources/Application/Delegate/AppDelegate+Tracking.swift rename to Projects/App/Sources/Application/AppDelegate+Tracking.swift diff --git a/Projects/App/Sources/Application/Delegate/AppDelegate.swift b/Projects/App/Sources/Application/AppDelegate.swift similarity index 100% rename from Projects/App/Sources/Application/Delegate/AppDelegate.swift rename to Projects/App/Sources/Application/AppDelegate.swift diff --git a/Projects/App/Sources/Di/AppDependencyFactory.swift b/Projects/App/Sources/Application/AppDependencyFactory.swift similarity index 100% rename from Projects/App/Sources/Di/AppDependencyFactory.swift rename to Projects/App/Sources/Application/AppDependencyFactory.swift diff --git a/Projects/App/Sources/Application/Configuration/KingfisherConfigurator.swift b/Projects/App/Sources/Application/KingfisherConfigurator.swift similarity index 100% rename from Projects/App/Sources/Application/Configuration/KingfisherConfigurator.swift rename to Projects/App/Sources/Application/KingfisherConfigurator.swift diff --git a/Projects/App/Sources/Application/Entry/PickeApp.swift b/Projects/App/Sources/Application/PickeApp.swift similarity index 100% rename from Projects/App/Sources/Application/Entry/PickeApp.swift rename to Projects/App/Sources/Application/PickeApp.swift diff --git a/Projects/App/Sources/Application/Deeplink/PushDeeplinkBridge.swift b/Projects/App/Sources/Application/PushDeeplinkBridge.swift similarity index 100% rename from Projects/App/Sources/Application/Deeplink/PushDeeplinkBridge.swift rename to Projects/App/Sources/Application/PushDeeplinkBridge.swift diff --git a/Projects/App/Sources/Application/Configuration/PushTokenStore.swift b/Projects/App/Sources/Application/PushTokenStore.swift similarity index 100% rename from Projects/App/Sources/Application/Configuration/PushTokenStore.swift rename to Projects/App/Sources/Application/PushTokenStore.swift diff --git a/Projects/App/Sources/Reducer/Coordinator/Auth/AppAuthCoordinator.swift b/Projects/App/Sources/Navigation/Auth/AppAuthCoordinator.swift similarity index 100% rename from Projects/App/Sources/Reducer/Coordinator/Auth/AppAuthCoordinator.swift rename to Projects/App/Sources/Navigation/Auth/AppAuthCoordinator.swift diff --git a/Projects/App/Sources/View/Coordinator/Auth/AppAuthCoordinatorView.swift b/Projects/App/Sources/Navigation/Auth/AppAuthCoordinatorView.swift similarity index 100% rename from Projects/App/Sources/View/Coordinator/Auth/AppAuthCoordinatorView.swift rename to Projects/App/Sources/Navigation/Auth/AppAuthCoordinatorView.swift diff --git a/Projects/App/Sources/Reducer/Coordinator/Battle/AppBattleCoordinator.swift b/Projects/App/Sources/Navigation/Battle/AppBattleCoordinator.swift similarity index 100% rename from Projects/App/Sources/Reducer/Coordinator/Battle/AppBattleCoordinator.swift rename to Projects/App/Sources/Navigation/Battle/AppBattleCoordinator.swift diff --git a/Projects/App/Sources/View/Coordinator/Battle/AppBattleCoordinatorView.swift b/Projects/App/Sources/Navigation/Battle/AppBattleCoordinatorView.swift similarity index 100% rename from Projects/App/Sources/View/Coordinator/Battle/AppBattleCoordinatorView.swift rename to Projects/App/Sources/Navigation/Battle/AppBattleCoordinatorView.swift diff --git a/Projects/App/Sources/Reducer/Coordinator/Hifi/AppHifiCoordinator.swift b/Projects/App/Sources/Navigation/Hifi/AppHifiCoordinator.swift similarity index 100% rename from Projects/App/Sources/Reducer/Coordinator/Hifi/AppHifiCoordinator.swift rename to Projects/App/Sources/Navigation/Hifi/AppHifiCoordinator.swift diff --git a/Projects/App/Sources/View/Coordinator/Hifi/AppHifiCoordinatorView.swift b/Projects/App/Sources/Navigation/Hifi/AppHifiCoordinatorView.swift similarity index 100% rename from Projects/App/Sources/View/Coordinator/Hifi/AppHifiCoordinatorView.swift rename to Projects/App/Sources/Navigation/Hifi/AppHifiCoordinatorView.swift diff --git a/Projects/App/Sources/Reducer/Coordinator/Home/AppHomeCoordinator.swift b/Projects/App/Sources/Navigation/Home/AppHomeCoordinator.swift similarity index 100% rename from Projects/App/Sources/Reducer/Coordinator/Home/AppHomeCoordinator.swift rename to Projects/App/Sources/Navigation/Home/AppHomeCoordinator.swift diff --git a/Projects/App/Sources/View/Coordinator/Home/AppHomeCoordinatorView.swift b/Projects/App/Sources/Navigation/Home/AppHomeCoordinatorView.swift similarity index 100% rename from Projects/App/Sources/View/Coordinator/Home/AppHomeCoordinatorView.swift rename to Projects/App/Sources/Navigation/Home/AppHomeCoordinatorView.swift diff --git a/Projects/App/Sources/Reducer/Coordinator/MainTab/AppMainTabCoordinator.swift b/Projects/App/Sources/Navigation/MainTab/AppMainTabCoordinator.swift similarity index 100% rename from Projects/App/Sources/Reducer/Coordinator/MainTab/AppMainTabCoordinator.swift rename to Projects/App/Sources/Navigation/MainTab/AppMainTabCoordinator.swift diff --git a/Projects/App/Sources/View/Coordinator/MainTab/AppMainTabView.swift b/Projects/App/Sources/Navigation/MainTab/AppMainTabView.swift similarity index 100% rename from Projects/App/Sources/View/Coordinator/MainTab/AppMainTabView.swift rename to Projects/App/Sources/Navigation/MainTab/AppMainTabView.swift diff --git a/Projects/App/Sources/Reducer/Coordinator/Profile/AppProfileCoordinator.swift b/Projects/App/Sources/Navigation/Profile/AppProfileCoordinator.swift similarity index 100% rename from Projects/App/Sources/Reducer/Coordinator/Profile/AppProfileCoordinator.swift rename to Projects/App/Sources/Navigation/Profile/AppProfileCoordinator.swift diff --git a/Projects/App/Sources/View/Coordinator/Profile/AppProfileCoordinatorView.swift b/Projects/App/Sources/Navigation/Profile/AppProfileCoordinatorView.swift similarity index 100% rename from Projects/App/Sources/View/Coordinator/Profile/AppProfileCoordinatorView.swift rename to Projects/App/Sources/Navigation/Profile/AppProfileCoordinatorView.swift diff --git a/Projects/App/Sources/Reducer/Root/AppReducer.swift b/Projects/App/Sources/Reducer/AppReducer.swift similarity index 100% rename from Projects/App/Sources/Reducer/Root/AppReducer.swift rename to Projects/App/Sources/Reducer/AppReducer.swift diff --git a/Projects/App/Sources/View/Root/AppView.swift b/Projects/App/Sources/View/AppView.swift similarity index 100% rename from Projects/App/Sources/View/Root/AppView.swift rename to Projects/App/Sources/View/AppView.swift diff --git a/Projects/App/Sources/View/Root/ContentView.swift b/Projects/App/Sources/View/ContentView.swift similarity index 100% rename from Projects/App/Sources/View/Root/ContentView.swift rename to Projects/App/Sources/View/ContentView.swift diff --git a/Projects/Core/CoreAssembly/Sources/StorageAssembly.swift b/Projects/Core/CoreAssembly/Sources/StorageAssembly.swift index 8f514d6b..78cae469 100644 --- a/Projects/Core/CoreAssembly/Sources/StorageAssembly.swift +++ b/Projects/Core/CoreAssembly/Sources/StorageAssembly.swift @@ -9,10 +9,16 @@ import PickeStorageInterface import Dependencies public enum StorageAssembly { - /// 앱 전역에서 공유하는 Keychain 저장소. 인증 서비스와 DI 등록이 같은 인스턴스를 본다. - public static let keychain: any KeychainManaging = KeychainManager() + /// 앱 전역이 공유하는 Keychain 기반 보안 저장소를 내놓는다. + public static func secureStorage() -> any SecureStorage { + StorageFactory.secureStorage + } + + public static func sharedValueStorage() -> any SharedValueStorage { + StorageFactory.sharedValueStorage + } public static func register(into values: inout DependencyValues) { - values.keychainManager = keychain + StorageFactory.register(into: &values) } } diff --git a/Projects/Core/CoreAssembly/Tests/StorageAssemblyTests.swift b/Projects/Core/CoreAssembly/Tests/Sources/StorageAssemblyTests.swift similarity index 100% rename from Projects/Core/CoreAssembly/Tests/StorageAssemblyTests.swift rename to Projects/Core/CoreAssembly/Tests/Sources/StorageAssemblyTests.swift diff --git a/Projects/Core/PickeCoreUI/Tests/LazyViewTests.swift b/Projects/Core/PickeCoreUI/Tests/Sources/LazyViewTests.swift similarity index 100% rename from Projects/Core/PickeCoreUI/Tests/LazyViewTests.swift rename to Projects/Core/PickeCoreUI/Tests/Sources/LazyViewTests.swift diff --git a/Projects/Core/PickeCoreUI/Tests/ScreenSizeTests.swift b/Projects/Core/PickeCoreUI/Tests/Sources/ScreenSizeTests.swift similarity index 100% rename from Projects/Core/PickeCoreUI/Tests/ScreenSizeTests.swift rename to Projects/Core/PickeCoreUI/Tests/Sources/ScreenSizeTests.swift diff --git a/Projects/Core/PickeCoreUtility/PickeCoreUtilityTests/Sources/Test.swift b/Projects/Core/PickeCoreUtility/PickeCoreUtilityTests/Sources/Test.swift deleted file mode 100644 index a9c810e3..00000000 --- a/Projects/Core/PickeCoreUtility/PickeCoreUtilityTests/Sources/Test.swift +++ /dev/null @@ -1,8 +0,0 @@ -// -// base.swift -// DDDAttendance -// -// Created by Roy on 2025-09-04 -// Copyright © 2025 DDD , Ltd. All rights reserved. -// - diff --git a/Projects/Core/PickeCoreUtility/Tests/FormattingExtensionTests.swift b/Projects/Core/PickeCoreUtility/Tests/Sources/FormattingExtensionTests.swift similarity index 100% rename from Projects/Core/PickeCoreUtility/Tests/FormattingExtensionTests.swift rename to Projects/Core/PickeCoreUtility/Tests/Sources/FormattingExtensionTests.swift diff --git a/Projects/Core/PickeCoreUtility/Tests/PickeDeeplinkParserTests.swift b/Projects/Core/PickeCoreUtility/Tests/Sources/PickeDeeplinkParserTests.swift similarity index 100% rename from Projects/Core/PickeCoreUtility/Tests/PickeDeeplinkParserTests.swift rename to Projects/Core/PickeCoreUtility/Tests/Sources/PickeDeeplinkParserTests.swift diff --git a/Projects/Core/PickeCoreUtility/Tests/ServerDateParserTests.swift b/Projects/Core/PickeCoreUtility/Tests/Sources/ServerDateParserTests.swift similarity index 100% rename from Projects/Core/PickeCoreUtility/Tests/ServerDateParserTests.swift rename to Projects/Core/PickeCoreUtility/Tests/Sources/ServerDateParserTests.swift diff --git a/Projects/Core/PickeNetwork/Sources/Monitor/PickeEventMonitor.swift b/Projects/Core/PickeNetwork/Sources/Monitor/PickeEventMonitor.swift index c9632a7b..806fae4b 100644 --- a/Projects/Core/PickeNetwork/Sources/Monitor/PickeEventMonitor.swift +++ b/Projects/Core/PickeNetwork/Sources/Monitor/PickeEventMonitor.swift @@ -44,9 +44,15 @@ struct PickeEventMonitor: EventMonitor { // ── 응답 ── if let error = response.error { - lines.append(" · Error\n \(error.localizedDescription)") - if let underlying = error.underlyingError { - lines.append(" underlying: \(underlying.localizedDescription)") + if case let .responseSerializationFailed(.decodingFailed(underlying)) = error, + let decodingError = underlying as? DecodingError + { + lines.append(describe(decodingError)) + } else { + lines.append(" · Error\n \(error.localizedDescription)") + if let underlying = error.underlyingError { + lines.append(" underlying: \(underlying.localizedDescription)") + } } } if let data = response.data, !data.isEmpty { @@ -63,6 +69,49 @@ struct PickeEventMonitor: EventMonitor { } private extension PickeEventMonitor { + /// `DecodingError` 를 "종류 · 위치 · 상세" 세 줄로 정리한다. + /// 원시 Response Body 와 분리해 무엇이 왜 틀렸는지만 짚는다. + func describe(_ error: DecodingError) -> String { + func location(_ context: DecodingError.Context, key: String? = nil) -> String { + var parts = context.codingPath.map(\.stringValue) + if let key { parts.append(key) } + return parts.isEmpty ? "(root)" : parts.joined(separator: ".") + } + + let kind: String + let place: String + let detail: String + switch error { + case let .keyNotFound(key, context): + kind = "keyNotFound" + place = location(context, key: key.stringValue) + detail = "'\(key.stringValue)' 키가 응답에 없음" + case let .typeMismatch(type, context): + kind = "typeMismatch" + place = location(context) + detail = "기대 타입 \(type)" + case let .valueNotFound(type, context): + kind = "valueNotFound" + place = location(context) + detail = "\(type) 필수인데 null" + case let .dataCorrupted(context): + kind = "dataCorrupted" + place = location(context) + detail = context.debugDescription + @unknown default: + kind = "unknown" + place = "-" + detail = String(describing: error) + } + + return [ + " · Decoding Error", + " 종류: \(kind)", + " 위치: \(place)", + " 상세: \(detail)", + ].joined(separator: "\n") + } + /// 헤더를 정렬해 한 줄씩 들여쓰기. func format(_ headers: [String: String]) -> String { headers diff --git a/Projects/Core/PickeStorage/Interface/Secure/SecureStorageKey.swift b/Projects/Core/PickeStorage/Interface/Secure/SecureStorageKey.swift index 6f15be8f..fae87262 100644 --- a/Projects/Core/PickeStorage/Interface/Secure/SecureStorageKey.swift +++ b/Projects/Core/PickeStorage/Interface/Secure/SecureStorageKey.swift @@ -12,7 +12,7 @@ public struct SecureStorageKey: Hashable, Sendable { } public extension SecureStorageKey { - // 기존 KeychainManager 가 쓰던 계정명을 그대로 유지해 업데이트 후에도 세션이 살아있게 한다. + // 이전 버전이 쓰던 Keychain 계정명을 그대로 유지해 업데이트 후에도 세션이 살아있게 한다. static let accessToken = SecureStorageKey("ACCESS_TOKEN") static let refreshToken = SecureStorageKey("REFRESH_TOKEN") diff --git a/Projects/Core/PickeStorage/Sources/DependencyValues+Storage.swift b/Projects/Core/PickeStorage/Sources/DependencyValues+Storage.swift index 8e388d8c..fa187a45 100644 --- a/Projects/Core/PickeStorage/Sources/DependencyValues+Storage.swift +++ b/Projects/Core/PickeStorage/Sources/DependencyValues+Storage.swift @@ -14,12 +14,6 @@ extension AppDatabaseDependency: DependencyKey { } } -extension KeychainManagerDependency: DependencyKey { - public static var liveValue: KeychainManaging { - KeychainManager() - } -} - extension SharedValueStorageDependency: DependencyKey { public static var liveValue: any SharedValueStorage { StorageFactory.sharedValueStorage diff --git a/Projects/Core/PickeStorage/Tests/KeychainStorageTests.swift b/Projects/Core/PickeStorage/Tests/Sources/KeychainStorageTests.swift similarity index 100% rename from Projects/Core/PickeStorage/Tests/KeychainStorageTests.swift rename to Projects/Core/PickeStorage/Tests/Sources/KeychainStorageTests.swift diff --git a/Projects/Core/PickeStorage/Tests/SQLiteSharedValueStorageTests.swift b/Projects/Core/PickeStorage/Tests/Sources/SQLiteSharedValueStorageTests.swift similarity index 100% rename from Projects/Core/PickeStorage/Tests/SQLiteSharedValueStorageTests.swift rename to Projects/Core/PickeStorage/Tests/Sources/SQLiteSharedValueStorageTests.swift diff --git a/Projects/Core/PickeStorage/Tests/StorageFactoryTests.swift b/Projects/Core/PickeStorage/Tests/Sources/StorageFactoryTests.swift similarity index 100% rename from Projects/Core/PickeStorage/Tests/StorageFactoryTests.swift rename to Projects/Core/PickeStorage/Tests/Sources/StorageFactoryTests.swift diff --git a/Projects/Core/PickeThirdParty/PickeThirdPartyTests/Sources/Test.swift b/Projects/Core/PickeThirdParty/PickeThirdPartyTests/Sources/Test.swift deleted file mode 100644 index a6ae233d..00000000 --- a/Projects/Core/PickeThirdParty/PickeThirdPartyTests/Sources/Test.swift +++ /dev/null @@ -1,13 +0,0 @@ -// -// Test.swift -// PickeThirdPartyTests -// - -import Testing - -struct PickeThirdPartyTests { - @Test - func pickeCoreExample() { - #expect(true) - } -} diff --git a/Projects/Domain/AppUpdateDomain/Interface/AppUpdateInterface.swift b/Projects/Domain/AppUpdateDomain/Interface/Sources/AppUpdateInterface.swift similarity index 100% rename from Projects/Domain/AppUpdateDomain/Interface/AppUpdateInterface.swift rename to Projects/Domain/AppUpdateDomain/Interface/Sources/AppUpdateInterface.swift diff --git a/Projects/Domain/AppUpdateDomain/Interface/AppUpdateUseCaseInterface.swift b/Projects/Domain/AppUpdateDomain/Interface/Sources/AppUpdateUseCaseInterface.swift similarity index 100% rename from Projects/Domain/AppUpdateDomain/Interface/AppUpdateUseCaseInterface.swift rename to Projects/Domain/AppUpdateDomain/Interface/Sources/AppUpdateUseCaseInterface.swift diff --git a/Projects/Domain/AppUpdateDomain/Interface/Default/MockAppUpdateRepository.swift b/Projects/Domain/AppUpdateDomain/Interface/Sources/Default/MockAppUpdateRepository.swift similarity index 100% rename from Projects/Domain/AppUpdateDomain/Interface/Default/MockAppUpdateRepository.swift rename to Projects/Domain/AppUpdateDomain/Interface/Sources/Default/MockAppUpdateRepository.swift diff --git a/Projects/Domain/AppUpdateDomain/Interface/Default/MockAppUpdateUseCase.swift b/Projects/Domain/AppUpdateDomain/Interface/Sources/Default/MockAppUpdateUseCase.swift similarity index 100% rename from Projects/Domain/AppUpdateDomain/Interface/Default/MockAppUpdateUseCase.swift rename to Projects/Domain/AppUpdateDomain/Interface/Sources/Default/MockAppUpdateUseCase.swift diff --git a/Projects/Domain/AppUpdateDomain/Interface/Entity/AppUpdateError.swift b/Projects/Domain/AppUpdateDomain/Interface/Sources/Entity/AppUpdateError.swift similarity index 100% rename from Projects/Domain/AppUpdateDomain/Interface/Entity/AppUpdateError.swift rename to Projects/Domain/AppUpdateDomain/Interface/Sources/Entity/AppUpdateError.swift diff --git a/Projects/Domain/AppUpdateDomain/Interface/Entity/AppUpdateInfo.swift b/Projects/Domain/AppUpdateDomain/Interface/Sources/Entity/AppUpdateInfo.swift similarity index 100% rename from Projects/Domain/AppUpdateDomain/Interface/Entity/AppUpdateInfo.swift rename to Projects/Domain/AppUpdateDomain/Interface/Sources/Entity/AppUpdateInfo.swift diff --git a/Projects/Domain/AppUpdateDomain/Tests/AppUpdateDomainTests.swift b/Projects/Domain/AppUpdateDomain/Tests/Sources/AppUpdateDomainTests.swift similarity index 100% rename from Projects/Domain/AppUpdateDomain/Tests/AppUpdateDomainTests.swift rename to Projects/Domain/AppUpdateDomain/Tests/Sources/AppUpdateDomainTests.swift diff --git a/Projects/Domain/AttendanceDomain/Interface/AttendanceCheckResult.swift b/Projects/Domain/AttendanceDomain/Interface/Sources/AttendanceCheckResult.swift similarity index 100% rename from Projects/Domain/AttendanceDomain/Interface/AttendanceCheckResult.swift rename to Projects/Domain/AttendanceDomain/Interface/Sources/AttendanceCheckResult.swift diff --git a/Projects/Domain/AttendanceDomain/Interface/AttendanceDay.swift b/Projects/Domain/AttendanceDomain/Interface/Sources/AttendanceDay.swift similarity index 100% rename from Projects/Domain/AttendanceDomain/Interface/AttendanceDay.swift rename to Projects/Domain/AttendanceDomain/Interface/Sources/AttendanceDay.swift diff --git a/Projects/Domain/AttendanceDomain/Interface/AttendanceDayStatus.swift b/Projects/Domain/AttendanceDomain/Interface/Sources/AttendanceDayStatus.swift similarity index 100% rename from Projects/Domain/AttendanceDomain/Interface/AttendanceDayStatus.swift rename to Projects/Domain/AttendanceDomain/Interface/Sources/AttendanceDayStatus.swift diff --git a/Projects/Domain/AttendanceDomain/Interface/AttendanceError.swift b/Projects/Domain/AttendanceDomain/Interface/Sources/AttendanceError.swift similarity index 100% rename from Projects/Domain/AttendanceDomain/Interface/AttendanceError.swift rename to Projects/Domain/AttendanceDomain/Interface/Sources/AttendanceError.swift diff --git a/Projects/Domain/AttendanceDomain/Interface/AttendanceInterface.swift b/Projects/Domain/AttendanceDomain/Interface/Sources/AttendanceInterface.swift similarity index 100% rename from Projects/Domain/AttendanceDomain/Interface/AttendanceInterface.swift rename to Projects/Domain/AttendanceDomain/Interface/Sources/AttendanceInterface.swift diff --git a/Projects/Domain/AttendanceDomain/Interface/AttendanceSummary.swift b/Projects/Domain/AttendanceDomain/Interface/Sources/AttendanceSummary.swift similarity index 100% rename from Projects/Domain/AttendanceDomain/Interface/AttendanceSummary.swift rename to Projects/Domain/AttendanceDomain/Interface/Sources/AttendanceSummary.swift diff --git a/Projects/Domain/AttendanceDomain/Interface/MockAttendanceRepository.swift b/Projects/Domain/AttendanceDomain/Interface/Sources/MockAttendanceRepository.swift similarity index 100% rename from Projects/Domain/AttendanceDomain/Interface/MockAttendanceRepository.swift rename to Projects/Domain/AttendanceDomain/Interface/Sources/MockAttendanceRepository.swift diff --git a/Projects/Domain/AttendanceDomain/Interface/WeeklyAttendance.swift b/Projects/Domain/AttendanceDomain/Interface/Sources/WeeklyAttendance.swift similarity index 100% rename from Projects/Domain/AttendanceDomain/Interface/WeeklyAttendance.swift rename to Projects/Domain/AttendanceDomain/Interface/Sources/WeeklyAttendance.swift diff --git a/Projects/Domain/AttendanceDomain/Tests/AttendanceDomainTests.swift b/Projects/Domain/AttendanceDomain/Tests/Sources/AttendanceDomainTests.swift similarity index 100% rename from Projects/Domain/AttendanceDomain/Tests/AttendanceDomainTests.swift rename to Projects/Domain/AttendanceDomain/Tests/Sources/AttendanceDomainTests.swift diff --git a/Projects/Domain/AttendanceDomain/Tests/AttendanceRepositoryTests.swift b/Projects/Domain/AttendanceDomain/Tests/Sources/AttendanceRepositoryTests.swift similarity index 100% rename from Projects/Domain/AttendanceDomain/Tests/AttendanceRepositoryTests.swift rename to Projects/Domain/AttendanceDomain/Tests/Sources/AttendanceRepositoryTests.swift diff --git a/Projects/Domain/AttendanceDomain/Tests/TestSupport.swift b/Projects/Domain/AttendanceDomain/Tests/Sources/TestSupport.swift similarity index 100% rename from Projects/Domain/AttendanceDomain/Tests/TestSupport.swift rename to Projects/Domain/AttendanceDomain/Tests/Sources/TestSupport.swift diff --git a/Projects/Domain/AuthDomain/Interface/Contract/Apple/Interface/AppleAuthRequestInterface.swift b/Projects/Domain/AuthDomain/Interface/Sources/Contract/Apple/AppleAuthRequestInterface.swift similarity index 100% rename from Projects/Domain/AuthDomain/Interface/Contract/Apple/Interface/AppleAuthRequestInterface.swift rename to Projects/Domain/AuthDomain/Interface/Sources/Contract/Apple/AppleAuthRequestInterface.swift diff --git a/Projects/Domain/AuthDomain/Interface/Contract/Apple/Interface/AppleOAuthInterface.swift b/Projects/Domain/AuthDomain/Interface/Sources/Contract/Apple/AppleOAuthInterface.swift similarity index 100% rename from Projects/Domain/AuthDomain/Interface/Contract/Apple/Interface/AppleOAuthInterface.swift rename to Projects/Domain/AuthDomain/Interface/Sources/Contract/Apple/AppleOAuthInterface.swift diff --git a/Projects/Domain/AuthDomain/Interface/Contract/Apple/Interface/AppleOAuthProviderInterface.swift b/Projects/Domain/AuthDomain/Interface/Sources/Contract/Apple/AppleOAuthProviderInterface.swift similarity index 100% rename from Projects/Domain/AuthDomain/Interface/Contract/Apple/Interface/AppleOAuthProviderInterface.swift rename to Projects/Domain/AuthDomain/Interface/Sources/Contract/Apple/AppleOAuthProviderInterface.swift diff --git a/Projects/Domain/AuthDomain/Interface/Contract/Apple/Default/MockAppleAuthRequest.swift b/Projects/Domain/AuthDomain/Interface/Sources/Contract/Apple/Default/MockAppleAuthRequest.swift similarity index 100% rename from Projects/Domain/AuthDomain/Interface/Contract/Apple/Default/MockAppleAuthRequest.swift rename to Projects/Domain/AuthDomain/Interface/Sources/Contract/Apple/Default/MockAppleAuthRequest.swift diff --git a/Projects/Domain/AuthDomain/Interface/Contract/Apple/Default/MockAppleOAuthRepository.swift b/Projects/Domain/AuthDomain/Interface/Sources/Contract/Apple/Default/MockAppleOAuthRepository.swift similarity index 100% rename from Projects/Domain/AuthDomain/Interface/Contract/Apple/Default/MockAppleOAuthRepository.swift rename to Projects/Domain/AuthDomain/Interface/Sources/Contract/Apple/Default/MockAppleOAuthRepository.swift diff --git a/Projects/Domain/AuthDomain/Interface/Contract/Auth/Interface/AuthInterface.swift b/Projects/Domain/AuthDomain/Interface/Sources/Contract/Auth/AuthInterface.swift similarity index 100% rename from Projects/Domain/AuthDomain/Interface/Contract/Auth/Interface/AuthInterface.swift rename to Projects/Domain/AuthDomain/Interface/Sources/Contract/Auth/AuthInterface.swift diff --git a/Projects/Domain/AuthDomain/Interface/Contract/Auth/Interface/AuthUseCaseInterface.swift b/Projects/Domain/AuthDomain/Interface/Sources/Contract/Auth/AuthUseCaseInterface.swift similarity index 100% rename from Projects/Domain/AuthDomain/Interface/Contract/Auth/Interface/AuthUseCaseInterface.swift rename to Projects/Domain/AuthDomain/Interface/Sources/Contract/Auth/AuthUseCaseInterface.swift diff --git a/Projects/Domain/AuthDomain/Interface/Contract/Auth/Default/MockAuthRepository.swift b/Projects/Domain/AuthDomain/Interface/Sources/Contract/Auth/Default/MockAuthRepository.swift similarity index 100% rename from Projects/Domain/AuthDomain/Interface/Contract/Auth/Default/MockAuthRepository.swift rename to Projects/Domain/AuthDomain/Interface/Sources/Contract/Auth/Default/MockAuthRepository.swift diff --git a/Projects/Domain/AuthDomain/Interface/Contract/Auth/Default/MockAuthUseCase.swift b/Projects/Domain/AuthDomain/Interface/Sources/Contract/Auth/Default/MockAuthUseCase.swift similarity index 100% rename from Projects/Domain/AuthDomain/Interface/Contract/Auth/Default/MockAuthUseCase.swift rename to Projects/Domain/AuthDomain/Interface/Sources/Contract/Auth/Default/MockAuthUseCase.swift diff --git a/Projects/Domain/AuthDomain/Interface/Contract/Google/Default/MockGoogleOAuthRepository.swift b/Projects/Domain/AuthDomain/Interface/Sources/Contract/Google/Default/MockGoogleOAuthRepository.swift similarity index 100% rename from Projects/Domain/AuthDomain/Interface/Contract/Google/Default/MockGoogleOAuthRepository.swift rename to Projects/Domain/AuthDomain/Interface/Sources/Contract/Google/Default/MockGoogleOAuthRepository.swift diff --git a/Projects/Domain/AuthDomain/Interface/Contract/Google/Interface/GoogleOAuthInterface.swift b/Projects/Domain/AuthDomain/Interface/Sources/Contract/Google/GoogleOAuthInterface.swift similarity index 100% rename from Projects/Domain/AuthDomain/Interface/Contract/Google/Interface/GoogleOAuthInterface.swift rename to Projects/Domain/AuthDomain/Interface/Sources/Contract/Google/GoogleOAuthInterface.swift diff --git a/Projects/Domain/AuthDomain/Interface/Contract/Google/Interface/GoogleOAuthProviderInterface.swift b/Projects/Domain/AuthDomain/Interface/Sources/Contract/Google/GoogleOAuthProviderInterface.swift similarity index 100% rename from Projects/Domain/AuthDomain/Interface/Contract/Google/Interface/GoogleOAuthProviderInterface.swift rename to Projects/Domain/AuthDomain/Interface/Sources/Contract/Google/GoogleOAuthProviderInterface.swift diff --git a/Projects/Domain/AuthDomain/Interface/Contract/Kakao/Default/MockKakaoOAuthRepository.swift b/Projects/Domain/AuthDomain/Interface/Sources/Contract/Kakao/Default/MockKakaoOAuthRepository.swift similarity index 100% rename from Projects/Domain/AuthDomain/Interface/Contract/Kakao/Default/MockKakaoOAuthRepository.swift rename to Projects/Domain/AuthDomain/Interface/Sources/Contract/Kakao/Default/MockKakaoOAuthRepository.swift diff --git a/Projects/Domain/AuthDomain/Interface/Contract/Kakao/Interface/KakaoOAuthProviderInterface.swift b/Projects/Domain/AuthDomain/Interface/Sources/Contract/Kakao/KakaoOAuthProviderInterface.swift similarity index 100% rename from Projects/Domain/AuthDomain/Interface/Contract/Kakao/Interface/KakaoOAuthProviderInterface.swift rename to Projects/Domain/AuthDomain/Interface/Sources/Contract/Kakao/KakaoOAuthProviderInterface.swift diff --git a/Projects/Domain/AuthDomain/Interface/Contract/Kakao/Interface/KakaoOAuthRepositoryProtocol.swift b/Projects/Domain/AuthDomain/Interface/Sources/Contract/Kakao/KakaoOAuthRepositoryProtocol.swift similarity index 100% rename from Projects/Domain/AuthDomain/Interface/Contract/Kakao/Interface/KakaoOAuthRepositoryProtocol.swift rename to Projects/Domain/AuthDomain/Interface/Sources/Contract/Kakao/KakaoOAuthRepositoryProtocol.swift diff --git a/Projects/Domain/AuthDomain/Interface/Contract/OAuth/Default/MockUnifiedOAuthUseCase.swift b/Projects/Domain/AuthDomain/Interface/Sources/Contract/OAuth/Default/MockUnifiedOAuthUseCase.swift similarity index 100% rename from Projects/Domain/AuthDomain/Interface/Contract/OAuth/Default/MockUnifiedOAuthUseCase.swift rename to Projects/Domain/AuthDomain/Interface/Sources/Contract/OAuth/Default/MockUnifiedOAuthUseCase.swift diff --git a/Projects/Domain/AuthDomain/Interface/Contract/OAuth/Interface/UnifiedOAuthUseCaseInterface.swift b/Projects/Domain/AuthDomain/Interface/Sources/Contract/OAuth/UnifiedOAuthUseCaseInterface.swift similarity index 100% rename from Projects/Domain/AuthDomain/Interface/Contract/OAuth/Interface/UnifiedOAuthUseCaseInterface.swift rename to Projects/Domain/AuthDomain/Interface/Sources/Contract/OAuth/UnifiedOAuthUseCaseInterface.swift diff --git a/Projects/Domain/AuthDomain/Interface/Entity/Auth/AuthExitEntity.swift b/Projects/Domain/AuthDomain/Interface/Sources/Entity/Auth/AuthExitEntity.swift similarity index 100% rename from Projects/Domain/AuthDomain/Interface/Entity/Auth/AuthExitEntity.swift rename to Projects/Domain/AuthDomain/Interface/Sources/Entity/Auth/AuthExitEntity.swift diff --git a/Projects/Domain/AuthDomain/Interface/Entity/Auth/SocialType.swift b/Projects/Domain/AuthDomain/Interface/Sources/Entity/Auth/SocialType.swift similarity index 100% rename from Projects/Domain/AuthDomain/Interface/Entity/Auth/SocialType.swift rename to Projects/Domain/AuthDomain/Interface/Sources/Entity/Auth/SocialType.swift diff --git a/Projects/Domain/AuthDomain/Interface/Entity/Auth/TermsDocument.swift b/Projects/Domain/AuthDomain/Interface/Sources/Entity/Auth/TermsDocument.swift similarity index 100% rename from Projects/Domain/AuthDomain/Interface/Entity/Auth/TermsDocument.swift rename to Projects/Domain/AuthDomain/Interface/Sources/Entity/Auth/TermsDocument.swift diff --git a/Projects/Domain/AuthDomain/Interface/Entity/Auth/WithdrawEntity.swift b/Projects/Domain/AuthDomain/Interface/Sources/Entity/Auth/WithdrawEntity.swift similarity index 100% rename from Projects/Domain/AuthDomain/Interface/Entity/Auth/WithdrawEntity.swift rename to Projects/Domain/AuthDomain/Interface/Sources/Entity/Auth/WithdrawEntity.swift diff --git a/Projects/Domain/AuthDomain/Interface/Entity/AuthError.swift b/Projects/Domain/AuthDomain/Interface/Sources/Entity/AuthError.swift similarity index 100% rename from Projects/Domain/AuthDomain/Interface/Entity/AuthError.swift rename to Projects/Domain/AuthDomain/Interface/Sources/Entity/AuthError.swift diff --git a/Projects/Domain/AuthDomain/Interface/Entity/OAuth/AppleOAuthPayload.swift b/Projects/Domain/AuthDomain/Interface/Sources/Entity/OAuth/AppleOAuthPayload.swift similarity index 100% rename from Projects/Domain/AuthDomain/Interface/Entity/OAuth/AppleOAuthPayload.swift rename to Projects/Domain/AuthDomain/Interface/Sources/Entity/OAuth/AppleOAuthPayload.swift diff --git a/Projects/Domain/AuthDomain/Interface/Entity/OAuth/AuthToken.swift b/Projects/Domain/AuthDomain/Interface/Sources/Entity/OAuth/AuthToken.swift similarity index 100% rename from Projects/Domain/AuthDomain/Interface/Entity/OAuth/AuthToken.swift rename to Projects/Domain/AuthDomain/Interface/Sources/Entity/OAuth/AuthToken.swift diff --git a/Projects/Domain/AuthDomain/Interface/Entity/OAuth/GoogleOAuthPayload.swift b/Projects/Domain/AuthDomain/Interface/Sources/Entity/OAuth/GoogleOAuthPayload.swift similarity index 100% rename from Projects/Domain/AuthDomain/Interface/Entity/OAuth/GoogleOAuthPayload.swift rename to Projects/Domain/AuthDomain/Interface/Sources/Entity/OAuth/GoogleOAuthPayload.swift diff --git a/Projects/Domain/AuthDomain/Interface/Entity/OAuth/KakaoOAuthPayload.swift b/Projects/Domain/AuthDomain/Interface/Sources/Entity/OAuth/KakaoOAuthPayload.swift similarity index 100% rename from Projects/Domain/AuthDomain/Interface/Entity/OAuth/KakaoOAuthPayload.swift rename to Projects/Domain/AuthDomain/Interface/Sources/Entity/OAuth/KakaoOAuthPayload.swift diff --git a/Projects/Domain/AuthDomain/Interface/Entity/OAuth/LoginEntity.swift b/Projects/Domain/AuthDomain/Interface/Sources/Entity/OAuth/LoginEntity.swift similarity index 100% rename from Projects/Domain/AuthDomain/Interface/Entity/OAuth/LoginEntity.swift rename to Projects/Domain/AuthDomain/Interface/Sources/Entity/OAuth/LoginEntity.swift diff --git a/Projects/Domain/AuthDomain/Interface/Entity/OAuth/UserSession.swift b/Projects/Domain/AuthDomain/Interface/Sources/Entity/OAuth/UserSession.swift similarity index 100% rename from Projects/Domain/AuthDomain/Interface/Entity/OAuth/UserSession.swift rename to Projects/Domain/AuthDomain/Interface/Sources/Entity/OAuth/UserSession.swift diff --git a/Projects/Domain/AuthDomain/Interface/Entity/OAuth/UserSessionSharedKey.swift b/Projects/Domain/AuthDomain/Interface/Sources/Entity/OAuth/UserSessionSharedKey.swift similarity index 100% rename from Projects/Domain/AuthDomain/Interface/Entity/OAuth/UserSessionSharedKey.swift rename to Projects/Domain/AuthDomain/Interface/Sources/Entity/OAuth/UserSessionSharedKey.swift diff --git a/Projects/Domain/AuthDomain/Tests/AuthDomainTests.swift b/Projects/Domain/AuthDomain/Tests/Sources/AuthDomainTests.swift similarity index 100% rename from Projects/Domain/AuthDomain/Tests/AuthDomainTests.swift rename to Projects/Domain/AuthDomain/Tests/Sources/AuthDomainTests.swift diff --git a/Projects/Domain/AuthDomain/Tests/AuthRepositoryTests.swift b/Projects/Domain/AuthDomain/Tests/Sources/AuthRepositoryTests.swift similarity index 100% rename from Projects/Domain/AuthDomain/Tests/AuthRepositoryTests.swift rename to Projects/Domain/AuthDomain/Tests/Sources/AuthRepositoryTests.swift diff --git a/Projects/Domain/AuthDomain/Tests/AuthRequestMappingTests.swift b/Projects/Domain/AuthDomain/Tests/Sources/AuthRequestMappingTests.swift similarity index 100% rename from Projects/Domain/AuthDomain/Tests/AuthRequestMappingTests.swift rename to Projects/Domain/AuthDomain/Tests/Sources/AuthRequestMappingTests.swift diff --git a/Projects/Domain/AuthDomain/Tests/TestSupport.swift b/Projects/Domain/AuthDomain/Tests/Sources/TestSupport.swift similarity index 100% rename from Projects/Domain/AuthDomain/Tests/TestSupport.swift rename to Projects/Domain/AuthDomain/Tests/Sources/TestSupport.swift diff --git a/Projects/Domain/BattleDomain/Interface/Contract/Interface/BattleInterface.swift b/Projects/Domain/BattleDomain/Interface/Sources/Contract/BattleInterface.swift similarity index 100% rename from Projects/Domain/BattleDomain/Interface/Contract/Interface/BattleInterface.swift rename to Projects/Domain/BattleDomain/Interface/Sources/Contract/BattleInterface.swift diff --git a/Projects/Domain/BattleDomain/Interface/Contract/Default/MockBattleRepository.swift b/Projects/Domain/BattleDomain/Interface/Sources/Contract/Default/MockBattleRepository.swift similarity index 100% rename from Projects/Domain/BattleDomain/Interface/Contract/Default/MockBattleRepository.swift rename to Projects/Domain/BattleDomain/Interface/Sources/Contract/Default/MockBattleRepository.swift diff --git a/Projects/Domain/BattleDomain/Interface/Entity/Battle/Detail/BattleDetail.swift b/Projects/Domain/BattleDomain/Interface/Sources/Entity/Battle/Detail/BattleDetail.swift similarity index 100% rename from Projects/Domain/BattleDomain/Interface/Entity/Battle/Detail/BattleDetail.swift rename to Projects/Domain/BattleDomain/Interface/Sources/Entity/Battle/Detail/BattleDetail.swift diff --git a/Projects/Domain/BattleDomain/Interface/Entity/Battle/Detail/BattleInfo.swift b/Projects/Domain/BattleDomain/Interface/Sources/Entity/Battle/Detail/BattleInfo.swift similarity index 100% rename from Projects/Domain/BattleDomain/Interface/Entity/Battle/Detail/BattleInfo.swift rename to Projects/Domain/BattleDomain/Interface/Sources/Entity/Battle/Detail/BattleInfo.swift diff --git a/Projects/Domain/BattleDomain/Interface/Entity/Battle/Detail/BattleOption.swift b/Projects/Domain/BattleDomain/Interface/Sources/Entity/Battle/Detail/BattleOption.swift similarity index 100% rename from Projects/Domain/BattleDomain/Interface/Entity/Battle/Detail/BattleOption.swift rename to Projects/Domain/BattleDomain/Interface/Sources/Entity/Battle/Detail/BattleOption.swift diff --git a/Projects/Domain/BattleDomain/Interface/Entity/Battle/Detail/BattleStep.swift b/Projects/Domain/BattleDomain/Interface/Sources/Entity/Battle/Detail/BattleStep.swift similarity index 100% rename from Projects/Domain/BattleDomain/Interface/Entity/Battle/Detail/BattleStep.swift rename to Projects/Domain/BattleDomain/Interface/Sources/Entity/Battle/Detail/BattleStep.swift diff --git a/Projects/Domain/BattleDomain/Interface/Entity/Battle/Detail/UserVoteStatus.swift b/Projects/Domain/BattleDomain/Interface/Sources/Entity/Battle/Detail/UserVoteStatus.swift similarity index 100% rename from Projects/Domain/BattleDomain/Interface/Entity/Battle/Detail/UserVoteStatus.swift rename to Projects/Domain/BattleDomain/Interface/Sources/Entity/Battle/Detail/UserVoteStatus.swift diff --git a/Projects/Domain/BattleDomain/Interface/Entity/Battle/PreVote/PhilosopherAvatar.swift b/Projects/Domain/BattleDomain/Interface/Sources/Entity/Battle/PreVote/PhilosopherAvatar.swift similarity index 100% rename from Projects/Domain/BattleDomain/Interface/Entity/Battle/PreVote/PhilosopherAvatar.swift rename to Projects/Domain/BattleDomain/Interface/Sources/Entity/Battle/PreVote/PhilosopherAvatar.swift diff --git a/Projects/Domain/BattleDomain/Interface/Entity/Battle/PreVote/PreVoteBattle.swift b/Projects/Domain/BattleDomain/Interface/Sources/Entity/Battle/PreVote/PreVoteBattle.swift similarity index 100% rename from Projects/Domain/BattleDomain/Interface/Entity/Battle/PreVote/PreVoteBattle.swift rename to Projects/Domain/BattleDomain/Interface/Sources/Entity/Battle/PreVote/PreVoteBattle.swift diff --git a/Projects/Domain/BattleDomain/Interface/Entity/Battle/PreVote/PreVoteOption.swift b/Projects/Domain/BattleDomain/Interface/Sources/Entity/Battle/PreVote/PreVoteOption.swift similarity index 100% rename from Projects/Domain/BattleDomain/Interface/Entity/Battle/PreVote/PreVoteOption.swift rename to Projects/Domain/BattleDomain/Interface/Sources/Entity/Battle/PreVote/PreVoteOption.swift diff --git a/Projects/Domain/BattleDomain/Interface/Entity/Battle/PreVote/PreVoteResult.swift b/Projects/Domain/BattleDomain/Interface/Sources/Entity/Battle/PreVote/PreVoteResult.swift similarity index 100% rename from Projects/Domain/BattleDomain/Interface/Entity/Battle/PreVote/PreVoteResult.swift rename to Projects/Domain/BattleDomain/Interface/Sources/Entity/Battle/PreVote/PreVoteResult.swift diff --git a/Projects/Domain/BattleDomain/Interface/Entity/Battle/PreVote/PreVoteResultStatus.swift b/Projects/Domain/BattleDomain/Interface/Sources/Entity/Battle/PreVote/PreVoteResultStatus.swift similarity index 100% rename from Projects/Domain/BattleDomain/Interface/Entity/Battle/PreVote/PreVoteResultStatus.swift rename to Projects/Domain/BattleDomain/Interface/Sources/Entity/Battle/PreVote/PreVoteResultStatus.swift diff --git a/Projects/Domain/BattleDomain/Interface/Entity/Battle/Recommend/RecommendedBattle.swift b/Projects/Domain/BattleDomain/Interface/Sources/Entity/Battle/Recommend/RecommendedBattle.swift similarity index 100% rename from Projects/Domain/BattleDomain/Interface/Entity/Battle/Recommend/RecommendedBattle.swift rename to Projects/Domain/BattleDomain/Interface/Sources/Entity/Battle/Recommend/RecommendedBattle.swift diff --git a/Projects/Domain/BattleDomain/Interface/Entity/Battle/Recommend/RecommendedBattleOption.swift b/Projects/Domain/BattleDomain/Interface/Sources/Entity/Battle/Recommend/RecommendedBattleOption.swift similarity index 100% rename from Projects/Domain/BattleDomain/Interface/Entity/Battle/Recommend/RecommendedBattleOption.swift rename to Projects/Domain/BattleDomain/Interface/Sources/Entity/Battle/Recommend/RecommendedBattleOption.swift diff --git a/Projects/Domain/BattleDomain/Interface/Entity/Battle/Recommend/RecommendedBattlePage.swift b/Projects/Domain/BattleDomain/Interface/Sources/Entity/Battle/Recommend/RecommendedBattlePage.swift similarity index 100% rename from Projects/Domain/BattleDomain/Interface/Entity/Battle/Recommend/RecommendedBattlePage.swift rename to Projects/Domain/BattleDomain/Interface/Sources/Entity/Battle/Recommend/RecommendedBattlePage.swift diff --git a/Projects/Domain/BattleDomain/Interface/Entity/Battle/Recommend/RecommendedBattleTag.swift b/Projects/Domain/BattleDomain/Interface/Sources/Entity/Battle/Recommend/RecommendedBattleTag.swift similarity index 100% rename from Projects/Domain/BattleDomain/Interface/Entity/Battle/Recommend/RecommendedBattleTag.swift rename to Projects/Domain/BattleDomain/Interface/Sources/Entity/Battle/Recommend/RecommendedBattleTag.swift diff --git a/Projects/Domain/BattleDomain/Interface/Entity/Battle/VoteStats/BattleVoteStats.swift b/Projects/Domain/BattleDomain/Interface/Sources/Entity/Battle/VoteStats/BattleVoteStats.swift similarity index 100% rename from Projects/Domain/BattleDomain/Interface/Entity/Battle/VoteStats/BattleVoteStats.swift rename to Projects/Domain/BattleDomain/Interface/Sources/Entity/Battle/VoteStats/BattleVoteStats.swift diff --git a/Projects/Domain/BattleDomain/Interface/Entity/Battle/VoteStats/BattleVoteStatsOption.swift b/Projects/Domain/BattleDomain/Interface/Sources/Entity/Battle/VoteStats/BattleVoteStatsOption.swift similarity index 100% rename from Projects/Domain/BattleDomain/Interface/Entity/Battle/VoteStats/BattleVoteStatsOption.swift rename to Projects/Domain/BattleDomain/Interface/Sources/Entity/Battle/VoteStats/BattleVoteStatsOption.swift diff --git a/Projects/Domain/BattleDomain/Interface/Entity/Battle/VoteStats/VoteOptionSummary.swift b/Projects/Domain/BattleDomain/Interface/Sources/Entity/Battle/VoteStats/VoteOptionSummary.swift similarity index 100% rename from Projects/Domain/BattleDomain/Interface/Entity/Battle/VoteStats/VoteOptionSummary.swift rename to Projects/Domain/BattleDomain/Interface/Sources/Entity/Battle/VoteStats/VoteOptionSummary.swift diff --git a/Projects/Domain/BattleDomain/Interface/Entity/Battle/VoteStats/VoteSummary.swift b/Projects/Domain/BattleDomain/Interface/Sources/Entity/Battle/VoteStats/VoteSummary.swift similarity index 100% rename from Projects/Domain/BattleDomain/Interface/Entity/Battle/VoteStats/VoteSummary.swift rename to Projects/Domain/BattleDomain/Interface/Sources/Entity/Battle/VoteStats/VoteSummary.swift diff --git a/Projects/Domain/BattleDomain/Interface/Entity/BattleError.swift b/Projects/Domain/BattleDomain/Interface/Sources/Entity/BattleError.swift similarity index 100% rename from Projects/Domain/BattleDomain/Interface/Entity/BattleError.swift rename to Projects/Domain/BattleDomain/Interface/Sources/Entity/BattleError.swift diff --git a/Projects/Domain/BattleDomain/Interface/Entity/Perspective/BattlePerspective.swift b/Projects/Domain/BattleDomain/Interface/Sources/Entity/Perspective/BattlePerspective.swift similarity index 100% rename from Projects/Domain/BattleDomain/Interface/Entity/Perspective/BattlePerspective.swift rename to Projects/Domain/BattleDomain/Interface/Sources/Entity/Perspective/BattlePerspective.swift diff --git a/Projects/Domain/BattleDomain/Interface/Entity/Perspective/BattlePerspectiveOption.swift b/Projects/Domain/BattleDomain/Interface/Sources/Entity/Perspective/BattlePerspectiveOption.swift similarity index 100% rename from Projects/Domain/BattleDomain/Interface/Entity/Perspective/BattlePerspectiveOption.swift rename to Projects/Domain/BattleDomain/Interface/Sources/Entity/Perspective/BattlePerspectiveOption.swift diff --git a/Projects/Domain/BattleDomain/Interface/Entity/Perspective/BattlePerspectivePage.swift b/Projects/Domain/BattleDomain/Interface/Sources/Entity/Perspective/BattlePerspectivePage.swift similarity index 100% rename from Projects/Domain/BattleDomain/Interface/Entity/Perspective/BattlePerspectivePage.swift rename to Projects/Domain/BattleDomain/Interface/Sources/Entity/Perspective/BattlePerspectivePage.swift diff --git a/Projects/Domain/BattleDomain/Interface/Entity/Perspective/BattlePerspectiveSort.swift b/Projects/Domain/BattleDomain/Interface/Sources/Entity/Perspective/BattlePerspectiveSort.swift similarity index 100% rename from Projects/Domain/BattleDomain/Interface/Entity/Perspective/BattlePerspectiveSort.swift rename to Projects/Domain/BattleDomain/Interface/Sources/Entity/Perspective/BattlePerspectiveSort.swift diff --git a/Projects/Domain/BattleDomain/Interface/Entity/Perspective/BattlePerspectiveUser.swift b/Projects/Domain/BattleDomain/Interface/Sources/Entity/Perspective/BattlePerspectiveUser.swift similarity index 100% rename from Projects/Domain/BattleDomain/Interface/Entity/Perspective/BattlePerspectiveUser.swift rename to Projects/Domain/BattleDomain/Interface/Sources/Entity/Perspective/BattlePerspectiveUser.swift diff --git a/Projects/Domain/BattleDomain/Interface/Entity/Proposal/BattleProposal.swift b/Projects/Domain/BattleDomain/Interface/Sources/Entity/Proposal/BattleProposal.swift similarity index 100% rename from Projects/Domain/BattleDomain/Interface/Entity/Proposal/BattleProposal.swift rename to Projects/Domain/BattleDomain/Interface/Sources/Entity/Proposal/BattleProposal.swift diff --git a/Projects/Domain/BattleDomain/Interface/Entity/Proposal/BattleProposalCategory.swift b/Projects/Domain/BattleDomain/Interface/Sources/Entity/Proposal/BattleProposalCategory.swift similarity index 100% rename from Projects/Domain/BattleDomain/Interface/Entity/Proposal/BattleProposalCategory.swift rename to Projects/Domain/BattleDomain/Interface/Sources/Entity/Proposal/BattleProposalCategory.swift diff --git a/Projects/Domain/BattleDomain/Interface/Entity/Proposal/BattleProposalDraft.swift b/Projects/Domain/BattleDomain/Interface/Sources/Entity/Proposal/BattleProposalDraft.swift similarity index 100% rename from Projects/Domain/BattleDomain/Interface/Entity/Proposal/BattleProposalDraft.swift rename to Projects/Domain/BattleDomain/Interface/Sources/Entity/Proposal/BattleProposalDraft.swift diff --git a/Projects/Domain/BattleDomain/Interface/Entity/TodayBattlePage.swift b/Projects/Domain/BattleDomain/Interface/Sources/Entity/TodayBattlePage.swift similarity index 100% rename from Projects/Domain/BattleDomain/Interface/Entity/TodayBattlePage.swift rename to Projects/Domain/BattleDomain/Interface/Sources/Entity/TodayBattlePage.swift diff --git a/Projects/Domain/BattleDomain/Tests/BattleDomainTests.swift b/Projects/Domain/BattleDomain/Tests/Sources/BattleDomainTests.swift similarity index 100% rename from Projects/Domain/BattleDomain/Tests/BattleDomainTests.swift rename to Projects/Domain/BattleDomain/Tests/Sources/BattleDomainTests.swift diff --git a/Projects/Domain/BattleDomain/Tests/BattleRepositoryTests.swift b/Projects/Domain/BattleDomain/Tests/Sources/BattleRepositoryTests.swift similarity index 100% rename from Projects/Domain/BattleDomain/Tests/BattleRepositoryTests.swift rename to Projects/Domain/BattleDomain/Tests/Sources/BattleRepositoryTests.swift diff --git a/Projects/Domain/BattleDomain/Tests/BattleRequestMappingTests.swift b/Projects/Domain/BattleDomain/Tests/Sources/BattleRequestMappingTests.swift similarity index 100% rename from Projects/Domain/BattleDomain/Tests/BattleRequestMappingTests.swift rename to Projects/Domain/BattleDomain/Tests/Sources/BattleRequestMappingTests.swift diff --git a/Projects/Domain/BattleDomain/Tests/TestSupport.swift b/Projects/Domain/BattleDomain/Tests/Sources/TestSupport.swift similarity index 100% rename from Projects/Domain/BattleDomain/Tests/TestSupport.swift rename to Projects/Domain/BattleDomain/Tests/Sources/TestSupport.swift diff --git a/Projects/Domain/CommentDomain/Interface/CommentInterface.swift b/Projects/Domain/CommentDomain/Interface/Sources/CommentInterface.swift similarity index 100% rename from Projects/Domain/CommentDomain/Interface/CommentInterface.swift rename to Projects/Domain/CommentDomain/Interface/Sources/CommentInterface.swift diff --git a/Projects/Domain/CommentDomain/Interface/Error/CommentError.swift b/Projects/Domain/CommentDomain/Interface/Sources/Error/CommentError.swift similarity index 100% rename from Projects/Domain/CommentDomain/Interface/Error/CommentError.swift rename to Projects/Domain/CommentDomain/Interface/Sources/Error/CommentError.swift diff --git a/Projects/Domain/CommentDomain/Interface/Item/Comment.swift b/Projects/Domain/CommentDomain/Interface/Sources/Item/Comment.swift similarity index 100% rename from Projects/Domain/CommentDomain/Interface/Item/Comment.swift rename to Projects/Domain/CommentDomain/Interface/Sources/Item/Comment.swift diff --git a/Projects/Domain/CommentDomain/Interface/Item/CommentAuthor.swift b/Projects/Domain/CommentDomain/Interface/Sources/Item/CommentAuthor.swift similarity index 100% rename from Projects/Domain/CommentDomain/Interface/Item/CommentAuthor.swift rename to Projects/Domain/CommentDomain/Interface/Sources/Item/CommentAuthor.swift diff --git a/Projects/Domain/CommentDomain/Interface/Item/CommentFilter.swift b/Projects/Domain/CommentDomain/Interface/Sources/Item/CommentFilter.swift similarity index 100% rename from Projects/Domain/CommentDomain/Interface/Item/CommentFilter.swift rename to Projects/Domain/CommentDomain/Interface/Sources/Item/CommentFilter.swift diff --git a/Projects/Domain/CommentDomain/Interface/Item/CommentItem.swift b/Projects/Domain/CommentDomain/Interface/Sources/Item/CommentItem.swift similarity index 100% rename from Projects/Domain/CommentDomain/Interface/Item/CommentItem.swift rename to Projects/Domain/CommentDomain/Interface/Sources/Item/CommentItem.swift diff --git a/Projects/Domain/CommentDomain/Interface/Item/CommentLikeResult.swift b/Projects/Domain/CommentDomain/Interface/Sources/Item/CommentLikeResult.swift similarity index 100% rename from Projects/Domain/CommentDomain/Interface/Item/CommentLikeResult.swift rename to Projects/Domain/CommentDomain/Interface/Sources/Item/CommentLikeResult.swift diff --git a/Projects/Domain/CommentDomain/Interface/Item/CommentOption.swift b/Projects/Domain/CommentDomain/Interface/Sources/Item/CommentOption.swift similarity index 100% rename from Projects/Domain/CommentDomain/Interface/Item/CommentOption.swift rename to Projects/Domain/CommentDomain/Interface/Sources/Item/CommentOption.swift diff --git a/Projects/Domain/CommentDomain/Interface/Item/CommentReplyItem.swift b/Projects/Domain/CommentDomain/Interface/Sources/Item/CommentReplyItem.swift similarity index 100% rename from Projects/Domain/CommentDomain/Interface/Item/CommentReplyItem.swift rename to Projects/Domain/CommentDomain/Interface/Sources/Item/CommentReplyItem.swift diff --git a/Projects/Domain/CommentDomain/Interface/Item/CommentSort.swift b/Projects/Domain/CommentDomain/Interface/Sources/Item/CommentSort.swift similarity index 100% rename from Projects/Domain/CommentDomain/Interface/Item/CommentSort.swift rename to Projects/Domain/CommentDomain/Interface/Sources/Item/CommentSort.swift diff --git a/Projects/Domain/CommentDomain/Interface/Item/CommentSortType.swift b/Projects/Domain/CommentDomain/Interface/Sources/Item/CommentSortType.swift similarity index 100% rename from Projects/Domain/CommentDomain/Interface/Item/CommentSortType.swift rename to Projects/Domain/CommentDomain/Interface/Sources/Item/CommentSortType.swift diff --git a/Projects/Domain/CommentDomain/Interface/Item/CommentTab.swift b/Projects/Domain/CommentDomain/Interface/Sources/Item/CommentTab.swift similarity index 100% rename from Projects/Domain/CommentDomain/Interface/Item/CommentTab.swift rename to Projects/Domain/CommentDomain/Interface/Sources/Item/CommentTab.swift diff --git a/Projects/Domain/CommentDomain/Interface/PerspectiveComment/PerspectiveComment.swift b/Projects/Domain/CommentDomain/Interface/Sources/PerspectiveComment/PerspectiveComment.swift similarity index 100% rename from Projects/Domain/CommentDomain/Interface/PerspectiveComment/PerspectiveComment.swift rename to Projects/Domain/CommentDomain/Interface/Sources/PerspectiveComment/PerspectiveComment.swift diff --git a/Projects/Domain/CommentDomain/Interface/PerspectiveComment/PerspectiveCommentMutationResult.swift b/Projects/Domain/CommentDomain/Interface/Sources/PerspectiveComment/PerspectiveCommentMutationResult.swift similarity index 100% rename from Projects/Domain/CommentDomain/Interface/PerspectiveComment/PerspectiveCommentMutationResult.swift rename to Projects/Domain/CommentDomain/Interface/Sources/PerspectiveComment/PerspectiveCommentMutationResult.swift diff --git a/Projects/Domain/CommentDomain/Interface/PerspectiveComment/PerspectiveCommentPage.swift b/Projects/Domain/CommentDomain/Interface/Sources/PerspectiveComment/PerspectiveCommentPage.swift similarity index 100% rename from Projects/Domain/CommentDomain/Interface/PerspectiveComment/PerspectiveCommentPage.swift rename to Projects/Domain/CommentDomain/Interface/Sources/PerspectiveComment/PerspectiveCommentPage.swift diff --git a/Projects/Domain/CommentDomain/Interface/PerspectiveComment/PerspectiveCommentUser.swift b/Projects/Domain/CommentDomain/Interface/Sources/PerspectiveComment/PerspectiveCommentUser.swift similarity index 100% rename from Projects/Domain/CommentDomain/Interface/PerspectiveComment/PerspectiveCommentUser.swift rename to Projects/Domain/CommentDomain/Interface/Sources/PerspectiveComment/PerspectiveCommentUser.swift diff --git a/Projects/Domain/CommentDomain/Tests/CommentDomainTests.swift b/Projects/Domain/CommentDomain/Tests/Sources/CommentDomainTests.swift similarity index 100% rename from Projects/Domain/CommentDomain/Tests/CommentDomainTests.swift rename to Projects/Domain/CommentDomain/Tests/Sources/CommentDomainTests.swift diff --git a/Projects/Domain/CommentDomain/Tests/CommentRepositoryTests.swift b/Projects/Domain/CommentDomain/Tests/Sources/CommentRepositoryTests.swift similarity index 100% rename from Projects/Domain/CommentDomain/Tests/CommentRepositoryTests.swift rename to Projects/Domain/CommentDomain/Tests/Sources/CommentRepositoryTests.swift diff --git a/Projects/Domain/CommentDomain/Tests/CommentRequestMappingTests.swift b/Projects/Domain/CommentDomain/Tests/Sources/CommentRequestMappingTests.swift similarity index 100% rename from Projects/Domain/CommentDomain/Tests/CommentRequestMappingTests.swift rename to Projects/Domain/CommentDomain/Tests/Sources/CommentRequestMappingTests.swift diff --git a/Projects/Domain/CommentDomain/Tests/TestSupport.swift b/Projects/Domain/CommentDomain/Tests/Sources/TestSupport.swift similarity index 100% rename from Projects/Domain/CommentDomain/Tests/TestSupport.swift rename to Projects/Domain/CommentDomain/Tests/Sources/TestSupport.swift diff --git a/Projects/Domain/DomainAssembly/Tests/DomainAssemblyExportTests.swift b/Projects/Domain/DomainAssembly/Tests/Sources/DomainAssemblyExportTests.swift similarity index 100% rename from Projects/Domain/DomainAssembly/Tests/DomainAssemblyExportTests.swift rename to Projects/Domain/DomainAssembly/Tests/Sources/DomainAssemblyExportTests.swift diff --git a/Projects/Domain/HomeDomain/Interface/Core/HomeBundle.swift b/Projects/Domain/HomeDomain/Interface/Sources/Core/HomeBundle.swift similarity index 100% rename from Projects/Domain/HomeDomain/Interface/Core/HomeBundle.swift rename to Projects/Domain/HomeDomain/Interface/Sources/Core/HomeBundle.swift diff --git a/Projects/Domain/HomeDomain/Interface/Explore/ExploreCategory.swift b/Projects/Domain/HomeDomain/Interface/Sources/Explore/ExploreCategory.swift similarity index 100% rename from Projects/Domain/HomeDomain/Interface/Explore/ExploreCategory.swift rename to Projects/Domain/HomeDomain/Interface/Sources/Explore/ExploreCategory.swift diff --git a/Projects/Domain/HomeDomain/Interface/Explore/ExploreItem.swift b/Projects/Domain/HomeDomain/Interface/Sources/Explore/ExploreItem.swift similarity index 100% rename from Projects/Domain/HomeDomain/Interface/Explore/ExploreItem.swift rename to Projects/Domain/HomeDomain/Interface/Sources/Explore/ExploreItem.swift diff --git a/Projects/Domain/HomeDomain/Interface/Explore/ExploreItemPage.swift b/Projects/Domain/HomeDomain/Interface/Sources/Explore/ExploreItemPage.swift similarity index 100% rename from Projects/Domain/HomeDomain/Interface/Explore/ExploreItemPage.swift rename to Projects/Domain/HomeDomain/Interface/Sources/Explore/ExploreItemPage.swift diff --git a/Projects/Domain/HomeDomain/Interface/Explore/ExploreSort.swift b/Projects/Domain/HomeDomain/Interface/Sources/Explore/ExploreSort.swift similarity index 100% rename from Projects/Domain/HomeDomain/Interface/Explore/ExploreSort.swift rename to Projects/Domain/HomeDomain/Interface/Sources/Explore/ExploreSort.swift diff --git a/Projects/Domain/HomeDomain/Interface/Repository/HomeInterface.swift b/Projects/Domain/HomeDomain/Interface/Sources/Repository/HomeInterface.swift similarity index 100% rename from Projects/Domain/HomeDomain/Interface/Repository/HomeInterface.swift rename to Projects/Domain/HomeDomain/Interface/Sources/Repository/HomeInterface.swift diff --git a/Projects/Domain/HomeDomain/Interface/Repository/MockHomeRepository.swift b/Projects/Domain/HomeDomain/Interface/Sources/Repository/MockHomeRepository.swift similarity index 100% rename from Projects/Domain/HomeDomain/Interface/Repository/MockHomeRepository.swift rename to Projects/Domain/HomeDomain/Interface/Sources/Repository/MockHomeRepository.swift diff --git a/Projects/Domain/HomeDomain/Interface/Scenario/BattleScenario+.swift b/Projects/Domain/HomeDomain/Interface/Sources/Scenario/BattleScenario+.swift similarity index 100% rename from Projects/Domain/HomeDomain/Interface/Scenario/BattleScenario+.swift rename to Projects/Domain/HomeDomain/Interface/Sources/Scenario/BattleScenario+.swift diff --git a/Projects/Domain/HomeDomain/Interface/Scenario/BattleScenario.swift b/Projects/Domain/HomeDomain/Interface/Sources/Scenario/BattleScenario.swift similarity index 100% rename from Projects/Domain/HomeDomain/Interface/Scenario/BattleScenario.swift rename to Projects/Domain/HomeDomain/Interface/Sources/Scenario/BattleScenario.swift diff --git a/Projects/Domain/HomeDomain/Interface/Scenario/Chat/ChatMessage.swift b/Projects/Domain/HomeDomain/Interface/Sources/Scenario/Chat/ChatMessage.swift similarity index 100% rename from Projects/Domain/HomeDomain/Interface/Scenario/Chat/ChatMessage.swift rename to Projects/Domain/HomeDomain/Interface/Sources/Scenario/Chat/ChatMessage.swift diff --git a/Projects/Domain/HomeDomain/Interface/Scenario/Chat/ChatRoomBundle.swift b/Projects/Domain/HomeDomain/Interface/Sources/Scenario/Chat/ChatRoomBundle.swift similarity index 100% rename from Projects/Domain/HomeDomain/Interface/Scenario/Chat/ChatRoomBundle.swift rename to Projects/Domain/HomeDomain/Interface/Sources/Scenario/Chat/ChatRoomBundle.swift diff --git a/Projects/Domain/HomeDomain/Interface/Scenario/Chat/ChatSpeaker.swift b/Projects/Domain/HomeDomain/Interface/Sources/Scenario/Chat/ChatSpeaker.swift similarity index 100% rename from Projects/Domain/HomeDomain/Interface/Scenario/Chat/ChatSpeaker.swift rename to Projects/Domain/HomeDomain/Interface/Sources/Scenario/Chat/ChatSpeaker.swift diff --git a/Projects/Domain/HomeDomain/Interface/Scenario/Chat/ChatSpeakerSide.swift b/Projects/Domain/HomeDomain/Interface/Sources/Scenario/Chat/ChatSpeakerSide.swift similarity index 100% rename from Projects/Domain/HomeDomain/Interface/Scenario/Chat/ChatSpeakerSide.swift rename to Projects/Domain/HomeDomain/Interface/Sources/Scenario/Chat/ChatSpeakerSide.swift diff --git a/Projects/Domain/HomeDomain/Interface/Scenario/RecommendedPathKey.swift b/Projects/Domain/HomeDomain/Interface/Sources/Scenario/RecommendedPathKey.swift similarity index 100% rename from Projects/Domain/HomeDomain/Interface/Scenario/RecommendedPathKey.swift rename to Projects/Domain/HomeDomain/Interface/Sources/Scenario/RecommendedPathKey.swift diff --git a/Projects/Domain/HomeDomain/Interface/Scenario/ScenarioInteractiveOption.swift b/Projects/Domain/HomeDomain/Interface/Sources/Scenario/ScenarioInteractiveOption.swift similarity index 100% rename from Projects/Domain/HomeDomain/Interface/Scenario/ScenarioInteractiveOption.swift rename to Projects/Domain/HomeDomain/Interface/Sources/Scenario/ScenarioInteractiveOption.swift diff --git a/Projects/Domain/HomeDomain/Interface/Scenario/ScenarioNode.swift b/Projects/Domain/HomeDomain/Interface/Sources/Scenario/ScenarioNode.swift similarity index 100% rename from Projects/Domain/HomeDomain/Interface/Scenario/ScenarioNode.swift rename to Projects/Domain/HomeDomain/Interface/Sources/Scenario/ScenarioNode.swift diff --git a/Projects/Domain/HomeDomain/Interface/Scenario/ScenarioPhilosopher.swift b/Projects/Domain/HomeDomain/Interface/Sources/Scenario/ScenarioPhilosopher.swift similarity index 100% rename from Projects/Domain/HomeDomain/Interface/Scenario/ScenarioPhilosopher.swift rename to Projects/Domain/HomeDomain/Interface/Sources/Scenario/ScenarioPhilosopher.swift diff --git a/Projects/Domain/HomeDomain/Interface/Scenario/ScenarioScript.swift b/Projects/Domain/HomeDomain/Interface/Sources/Scenario/ScenarioScript.swift similarity index 100% rename from Projects/Domain/HomeDomain/Interface/Scenario/ScenarioScript.swift rename to Projects/Domain/HomeDomain/Interface/Sources/Scenario/ScenarioScript.swift diff --git a/Projects/Domain/HomeDomain/Interface/Scenario/ScenarioSpeakerType.swift b/Projects/Domain/HomeDomain/Interface/Sources/Scenario/ScenarioSpeakerType.swift similarity index 100% rename from Projects/Domain/HomeDomain/Interface/Scenario/ScenarioSpeakerType.swift rename to Projects/Domain/HomeDomain/Interface/Sources/Scenario/ScenarioSpeakerType.swift diff --git a/Projects/Domain/HomeDomain/Interface/Section/Battle/BestBattle.swift b/Projects/Domain/HomeDomain/Interface/Sources/Section/Battle/BestBattle.swift similarity index 100% rename from Projects/Domain/HomeDomain/Interface/Section/Battle/BestBattle.swift rename to Projects/Domain/HomeDomain/Interface/Sources/Section/Battle/BestBattle.swift diff --git a/Projects/Domain/HomeDomain/Interface/Section/Battle/HeroBattle.swift b/Projects/Domain/HomeDomain/Interface/Sources/Section/Battle/HeroBattle.swift similarity index 100% rename from Projects/Domain/HomeDomain/Interface/Section/Battle/HeroBattle.swift rename to Projects/Domain/HomeDomain/Interface/Sources/Section/Battle/HeroBattle.swift diff --git a/Projects/Domain/HomeDomain/Interface/Section/Battle/HotBattle.swift b/Projects/Domain/HomeDomain/Interface/Sources/Section/Battle/HotBattle.swift similarity index 100% rename from Projects/Domain/HomeDomain/Interface/Section/Battle/HotBattle.swift rename to Projects/Domain/HomeDomain/Interface/Sources/Section/Battle/HotBattle.swift diff --git a/Projects/Domain/HomeDomain/Interface/Section/Battle/NewBattle.swift b/Projects/Domain/HomeDomain/Interface/Sources/Section/Battle/NewBattle.swift similarity index 100% rename from Projects/Domain/HomeDomain/Interface/Section/Battle/NewBattle.swift rename to Projects/Domain/HomeDomain/Interface/Sources/Section/Battle/NewBattle.swift diff --git a/Projects/Domain/HomeDomain/Interface/Section/QuizQuestion.swift b/Projects/Domain/HomeDomain/Interface/Sources/Section/QuizQuestion.swift similarity index 100% rename from Projects/Domain/HomeDomain/Interface/Section/QuizQuestion.swift rename to Projects/Domain/HomeDomain/Interface/Sources/Section/QuizQuestion.swift diff --git a/Projects/Domain/HomeDomain/Interface/Section/Vote/VoteOption.swift b/Projects/Domain/HomeDomain/Interface/Sources/Section/Vote/VoteOption.swift similarity index 100% rename from Projects/Domain/HomeDomain/Interface/Section/Vote/VoteOption.swift rename to Projects/Domain/HomeDomain/Interface/Sources/Section/Vote/VoteOption.swift diff --git a/Projects/Domain/HomeDomain/Interface/Section/Vote/VoteQuestion.swift b/Projects/Domain/HomeDomain/Interface/Sources/Section/Vote/VoteQuestion.swift similarity index 100% rename from Projects/Domain/HomeDomain/Interface/Section/Vote/VoteQuestion.swift rename to Projects/Domain/HomeDomain/Interface/Sources/Section/Vote/VoteQuestion.swift diff --git a/Projects/Domain/HomeDomain/Interface/Tag/BattleTag.swift b/Projects/Domain/HomeDomain/Interface/Sources/Tag/BattleTag.swift similarity index 100% rename from Projects/Domain/HomeDomain/Interface/Tag/BattleTag.swift rename to Projects/Domain/HomeDomain/Interface/Sources/Tag/BattleTag.swift diff --git a/Projects/Domain/HomeDomain/Interface/Tag/TagType.swift b/Projects/Domain/HomeDomain/Interface/Sources/Tag/TagType.swift similarity index 100% rename from Projects/Domain/HomeDomain/Interface/Tag/TagType.swift rename to Projects/Domain/HomeDomain/Interface/Sources/Tag/TagType.swift diff --git a/Projects/Domain/HomeDomain/Tests/HomeDomainTests.swift b/Projects/Domain/HomeDomain/Tests/Sources/HomeDomainTests.swift similarity index 100% rename from Projects/Domain/HomeDomain/Tests/HomeDomainTests.swift rename to Projects/Domain/HomeDomain/Tests/Sources/HomeDomainTests.swift diff --git a/Projects/Domain/HomeDomain/Tests/HomeRepositoryTests.swift b/Projects/Domain/HomeDomain/Tests/Sources/HomeRepositoryTests.swift similarity index 100% rename from Projects/Domain/HomeDomain/Tests/HomeRepositoryTests.swift rename to Projects/Domain/HomeDomain/Tests/Sources/HomeRepositoryTests.swift diff --git a/Projects/Domain/HomeDomain/Tests/HomeRequestMappingTests.swift b/Projects/Domain/HomeDomain/Tests/Sources/HomeRequestMappingTests.swift similarity index 100% rename from Projects/Domain/HomeDomain/Tests/HomeRequestMappingTests.swift rename to Projects/Domain/HomeDomain/Tests/Sources/HomeRequestMappingTests.swift diff --git a/Projects/Domain/HomeDomain/Tests/TestSupport.swift b/Projects/Domain/HomeDomain/Tests/Sources/TestSupport.swift similarity index 100% rename from Projects/Domain/HomeDomain/Tests/TestSupport.swift rename to Projects/Domain/HomeDomain/Tests/Sources/TestSupport.swift diff --git a/Projects/Domain/NotificationDomain/Interface/MockNotificationRepository.swift b/Projects/Domain/NotificationDomain/Interface/Sources/MockNotificationRepository.swift similarity index 100% rename from Projects/Domain/NotificationDomain/Interface/MockNotificationRepository.swift rename to Projects/Domain/NotificationDomain/Interface/Sources/MockNotificationRepository.swift diff --git a/Projects/Domain/NotificationDomain/Interface/NotificationCategory.swift b/Projects/Domain/NotificationDomain/Interface/Sources/NotificationCategory.swift similarity index 100% rename from Projects/Domain/NotificationDomain/Interface/NotificationCategory.swift rename to Projects/Domain/NotificationDomain/Interface/Sources/NotificationCategory.swift diff --git a/Projects/Domain/NotificationDomain/Interface/NotificationDetail.swift b/Projects/Domain/NotificationDomain/Interface/Sources/NotificationDetail.swift similarity index 100% rename from Projects/Domain/NotificationDomain/Interface/NotificationDetail.swift rename to Projects/Domain/NotificationDomain/Interface/Sources/NotificationDetail.swift diff --git a/Projects/Domain/NotificationDomain/Interface/NotificationError.swift b/Projects/Domain/NotificationDomain/Interface/Sources/NotificationError.swift similarity index 100% rename from Projects/Domain/NotificationDomain/Interface/NotificationError.swift rename to Projects/Domain/NotificationDomain/Interface/Sources/NotificationError.swift diff --git a/Projects/Domain/NotificationDomain/Interface/NotificationInterface.swift b/Projects/Domain/NotificationDomain/Interface/Sources/NotificationInterface.swift similarity index 100% rename from Projects/Domain/NotificationDomain/Interface/NotificationInterface.swift rename to Projects/Domain/NotificationDomain/Interface/Sources/NotificationInterface.swift diff --git a/Projects/Domain/NotificationDomain/Interface/NotificationItem.swift b/Projects/Domain/NotificationDomain/Interface/Sources/NotificationItem.swift similarity index 100% rename from Projects/Domain/NotificationDomain/Interface/NotificationItem.swift rename to Projects/Domain/NotificationDomain/Interface/Sources/NotificationItem.swift diff --git a/Projects/Domain/NotificationDomain/Interface/NotificationPage.swift b/Projects/Domain/NotificationDomain/Interface/Sources/NotificationPage.swift similarity index 100% rename from Projects/Domain/NotificationDomain/Interface/NotificationPage.swift rename to Projects/Domain/NotificationDomain/Interface/Sources/NotificationPage.swift diff --git a/Projects/Domain/NotificationDomain/Tests/NotificationDomainTests.swift b/Projects/Domain/NotificationDomain/Tests/Sources/NotificationDomainTests.swift similarity index 100% rename from Projects/Domain/NotificationDomain/Tests/NotificationDomainTests.swift rename to Projects/Domain/NotificationDomain/Tests/Sources/NotificationDomainTests.swift diff --git a/Projects/Domain/NotificationDomain/Tests/NotificationRepositoryTests.swift b/Projects/Domain/NotificationDomain/Tests/Sources/NotificationRepositoryTests.swift similarity index 100% rename from Projects/Domain/NotificationDomain/Tests/NotificationRepositoryTests.swift rename to Projects/Domain/NotificationDomain/Tests/Sources/NotificationRepositoryTests.swift diff --git a/Projects/Domain/NotificationDomain/Tests/NotificationRequestMappingTests.swift b/Projects/Domain/NotificationDomain/Tests/Sources/NotificationRequestMappingTests.swift similarity index 100% rename from Projects/Domain/NotificationDomain/Tests/NotificationRequestMappingTests.swift rename to Projects/Domain/NotificationDomain/Tests/Sources/NotificationRequestMappingTests.swift diff --git a/Projects/Domain/NotificationDomain/Tests/TestSupport.swift b/Projects/Domain/NotificationDomain/Tests/Sources/TestSupport.swift similarity index 100% rename from Projects/Domain/NotificationDomain/Tests/TestSupport.swift rename to Projects/Domain/NotificationDomain/Tests/Sources/TestSupport.swift diff --git a/Projects/Domain/PerspectiveDomain/Interface/MockPerspectiveRepository.swift b/Projects/Domain/PerspectiveDomain/Interface/Sources/MockPerspectiveRepository.swift similarity index 100% rename from Projects/Domain/PerspectiveDomain/Interface/MockPerspectiveRepository.swift rename to Projects/Domain/PerspectiveDomain/Interface/Sources/MockPerspectiveRepository.swift diff --git a/Projects/Domain/PerspectiveDomain/Interface/PerspectiveError.swift b/Projects/Domain/PerspectiveDomain/Interface/Sources/PerspectiveError.swift similarity index 100% rename from Projects/Domain/PerspectiveDomain/Interface/PerspectiveError.swift rename to Projects/Domain/PerspectiveDomain/Interface/Sources/PerspectiveError.swift diff --git a/Projects/Domain/PerspectiveDomain/Interface/PerspectiveInterface.swift b/Projects/Domain/PerspectiveDomain/Interface/Sources/PerspectiveInterface.swift similarity index 100% rename from Projects/Domain/PerspectiveDomain/Interface/PerspectiveInterface.swift rename to Projects/Domain/PerspectiveDomain/Interface/Sources/PerspectiveInterface.swift diff --git a/Projects/Domain/PerspectiveDomain/Tests/PerspectiveDomainTests.swift b/Projects/Domain/PerspectiveDomain/Tests/Sources/PerspectiveDomainTests.swift similarity index 100% rename from Projects/Domain/PerspectiveDomain/Tests/PerspectiveDomainTests.swift rename to Projects/Domain/PerspectiveDomain/Tests/Sources/PerspectiveDomainTests.swift diff --git a/Projects/Domain/PerspectiveDomain/Tests/PerspectiveRepositoryTests.swift b/Projects/Domain/PerspectiveDomain/Tests/Sources/PerspectiveRepositoryTests.swift similarity index 100% rename from Projects/Domain/PerspectiveDomain/Tests/PerspectiveRepositoryTests.swift rename to Projects/Domain/PerspectiveDomain/Tests/Sources/PerspectiveRepositoryTests.swift diff --git a/Projects/Domain/PerspectiveDomain/Tests/PerspectiveRequestMappingTests.swift b/Projects/Domain/PerspectiveDomain/Tests/Sources/PerspectiveRequestMappingTests.swift similarity index 100% rename from Projects/Domain/PerspectiveDomain/Tests/PerspectiveRequestMappingTests.swift rename to Projects/Domain/PerspectiveDomain/Tests/Sources/PerspectiveRequestMappingTests.swift diff --git a/Projects/Domain/PerspectiveDomain/Tests/TestSupport.swift b/Projects/Domain/PerspectiveDomain/Tests/Sources/TestSupport.swift similarity index 100% rename from Projects/Domain/PerspectiveDomain/Tests/TestSupport.swift rename to Projects/Domain/PerspectiveDomain/Tests/Sources/TestSupport.swift diff --git a/Projects/Domain/ProfileDomain/Interface/Entity/BattleRecord/BattleRecord.swift b/Projects/Domain/ProfileDomain/Interface/Sources/Entity/BattleRecord/BattleRecord.swift similarity index 100% rename from Projects/Domain/ProfileDomain/Interface/Entity/BattleRecord/BattleRecord.swift rename to Projects/Domain/ProfileDomain/Interface/Sources/Entity/BattleRecord/BattleRecord.swift diff --git a/Projects/Domain/ProfileDomain/Interface/Entity/BattleRecord/BattleRecordPage.swift b/Projects/Domain/ProfileDomain/Interface/Sources/Entity/BattleRecord/BattleRecordPage.swift similarity index 100% rename from Projects/Domain/ProfileDomain/Interface/Entity/BattleRecord/BattleRecordPage.swift rename to Projects/Domain/ProfileDomain/Interface/Sources/Entity/BattleRecord/BattleRecordPage.swift diff --git a/Projects/Domain/ProfileDomain/Interface/Entity/BattleRecord/BattleVoteSide.swift b/Projects/Domain/ProfileDomain/Interface/Sources/Entity/BattleRecord/BattleVoteSide.swift similarity index 100% rename from Projects/Domain/ProfileDomain/Interface/Entity/BattleRecord/BattleVoteSide.swift rename to Projects/Domain/ProfileDomain/Interface/Sources/Entity/BattleRecord/BattleVoteSide.swift diff --git a/Projects/Domain/ProfileDomain/Interface/Entity/ContentActivity/ContentActivity.swift b/Projects/Domain/ProfileDomain/Interface/Sources/Entity/ContentActivity/ContentActivity.swift similarity index 100% rename from Projects/Domain/ProfileDomain/Interface/Entity/ContentActivity/ContentActivity.swift rename to Projects/Domain/ProfileDomain/Interface/Sources/Entity/ContentActivity/ContentActivity.swift diff --git a/Projects/Domain/ProfileDomain/Interface/Entity/ContentActivity/ContentActivityAuthor.swift b/Projects/Domain/ProfileDomain/Interface/Sources/Entity/ContentActivity/ContentActivityAuthor.swift similarity index 100% rename from Projects/Domain/ProfileDomain/Interface/Entity/ContentActivity/ContentActivityAuthor.swift rename to Projects/Domain/ProfileDomain/Interface/Sources/Entity/ContentActivity/ContentActivityAuthor.swift diff --git a/Projects/Domain/ProfileDomain/Interface/Entity/ContentActivity/ContentActivityPage.swift b/Projects/Domain/ProfileDomain/Interface/Sources/Entity/ContentActivity/ContentActivityPage.swift similarity index 100% rename from Projects/Domain/ProfileDomain/Interface/Entity/ContentActivity/ContentActivityPage.swift rename to Projects/Domain/ProfileDomain/Interface/Sources/Entity/ContentActivity/ContentActivityPage.swift diff --git a/Projects/Domain/ProfileDomain/Interface/Entity/ContentActivity/ContentActivityType.swift b/Projects/Domain/ProfileDomain/Interface/Sources/Entity/ContentActivity/ContentActivityType.swift similarity index 100% rename from Projects/Domain/ProfileDomain/Interface/Entity/ContentActivity/ContentActivityType.swift rename to Projects/Domain/ProfileDomain/Interface/Sources/Entity/ContentActivity/ContentActivityType.swift diff --git a/Projects/Domain/ProfileDomain/Interface/Entity/Credit/CreditHistoryItem.swift b/Projects/Domain/ProfileDomain/Interface/Sources/Entity/Credit/CreditHistoryItem.swift similarity index 100% rename from Projects/Domain/ProfileDomain/Interface/Entity/Credit/CreditHistoryItem.swift rename to Projects/Domain/ProfileDomain/Interface/Sources/Entity/Credit/CreditHistoryItem.swift diff --git a/Projects/Domain/ProfileDomain/Interface/Entity/Credit/CreditHistoryPage.swift b/Projects/Domain/ProfileDomain/Interface/Sources/Entity/Credit/CreditHistoryPage.swift similarity index 100% rename from Projects/Domain/ProfileDomain/Interface/Entity/Credit/CreditHistoryPage.swift rename to Projects/Domain/ProfileDomain/Interface/Sources/Entity/Credit/CreditHistoryPage.swift diff --git a/Projects/Domain/ProfileDomain/Interface/Entity/Error/ProfileError.swift b/Projects/Domain/ProfileDomain/Interface/Sources/Entity/Error/ProfileError.swift similarity index 100% rename from Projects/Domain/ProfileDomain/Interface/Entity/Error/ProfileError.swift rename to Projects/Domain/ProfileDomain/Interface/Sources/Entity/Error/ProfileError.swift diff --git a/Projects/Domain/ProfileDomain/Interface/Entity/MyPage/MyPage.swift b/Projects/Domain/ProfileDomain/Interface/Sources/Entity/MyPage/MyPage.swift similarity index 100% rename from Projects/Domain/ProfileDomain/Interface/Entity/MyPage/MyPage.swift rename to Projects/Domain/ProfileDomain/Interface/Sources/Entity/MyPage/MyPage.swift diff --git a/Projects/Domain/ProfileDomain/Interface/Entity/MyPage/MyPhilosopher.swift b/Projects/Domain/ProfileDomain/Interface/Sources/Entity/MyPage/MyPhilosopher.swift similarity index 100% rename from Projects/Domain/ProfileDomain/Interface/Entity/MyPage/MyPhilosopher.swift rename to Projects/Domain/ProfileDomain/Interface/Sources/Entity/MyPage/MyPhilosopher.swift diff --git a/Projects/Domain/ProfileDomain/Interface/Entity/MyPage/MyProfile.swift b/Projects/Domain/ProfileDomain/Interface/Sources/Entity/MyPage/MyProfile.swift similarity index 100% rename from Projects/Domain/ProfileDomain/Interface/Entity/MyPage/MyProfile.swift rename to Projects/Domain/ProfileDomain/Interface/Sources/Entity/MyPage/MyProfile.swift diff --git a/Projects/Domain/ProfileDomain/Interface/Entity/MyPage/MyTier.swift b/Projects/Domain/ProfileDomain/Interface/Sources/Entity/MyPage/MyTier.swift similarity index 100% rename from Projects/Domain/ProfileDomain/Interface/Entity/MyPage/MyTier.swift rename to Projects/Domain/ProfileDomain/Interface/Sources/Entity/MyPage/MyTier.swift diff --git a/Projects/Domain/ProfileDomain/Interface/Entity/MyPage/UpdatedProfile.swift b/Projects/Domain/ProfileDomain/Interface/Sources/Entity/MyPage/UpdatedProfile.swift similarity index 100% rename from Projects/Domain/ProfileDomain/Interface/Entity/MyPage/UpdatedProfile.swift rename to Projects/Domain/ProfileDomain/Interface/Sources/Entity/MyPage/UpdatedProfile.swift diff --git a/Projects/Domain/ProfileDomain/Interface/Entity/Notice/NoticeTab.swift b/Projects/Domain/ProfileDomain/Interface/Sources/Entity/Notice/NoticeTab.swift similarity index 100% rename from Projects/Domain/ProfileDomain/Interface/Entity/Notice/NoticeTab.swift rename to Projects/Domain/ProfileDomain/Interface/Sources/Entity/Notice/NoticeTab.swift diff --git a/Projects/Domain/ProfileDomain/Interface/Entity/Notification/NotificationSettingKey.swift b/Projects/Domain/ProfileDomain/Interface/Sources/Entity/Notification/NotificationSettingKey.swift similarity index 100% rename from Projects/Domain/ProfileDomain/Interface/Entity/Notification/NotificationSettingKey.swift rename to Projects/Domain/ProfileDomain/Interface/Sources/Entity/Notification/NotificationSettingKey.swift diff --git a/Projects/Domain/ProfileDomain/Interface/Entity/Notification/NotificationSettingSection.swift b/Projects/Domain/ProfileDomain/Interface/Sources/Entity/Notification/NotificationSettingSection.swift similarity index 100% rename from Projects/Domain/ProfileDomain/Interface/Entity/Notification/NotificationSettingSection.swift rename to Projects/Domain/ProfileDomain/Interface/Sources/Entity/Notification/NotificationSettingSection.swift diff --git a/Projects/Domain/ProfileDomain/Interface/Entity/Notification/NotificationSettings.swift b/Projects/Domain/ProfileDomain/Interface/Sources/Entity/Notification/NotificationSettings.swift similarity index 100% rename from Projects/Domain/ProfileDomain/Interface/Entity/Notification/NotificationSettings.swift rename to Projects/Domain/ProfileDomain/Interface/Sources/Entity/Notification/NotificationSettings.swift diff --git a/Projects/Domain/ProfileDomain/Interface/Entity/Recap/FavoriteTopic.swift b/Projects/Domain/ProfileDomain/Interface/Sources/Entity/Recap/FavoriteTopic.swift similarity index 100% rename from Projects/Domain/ProfileDomain/Interface/Entity/Recap/FavoriteTopic.swift rename to Projects/Domain/ProfileDomain/Interface/Sources/Entity/Recap/FavoriteTopic.swift diff --git a/Projects/Domain/ProfileDomain/Interface/Entity/Recap/PhilosopherRecap.swift b/Projects/Domain/ProfileDomain/Interface/Sources/Entity/Recap/PhilosopherRecap.swift similarity index 100% rename from Projects/Domain/ProfileDomain/Interface/Entity/Recap/PhilosopherRecap.swift rename to Projects/Domain/ProfileDomain/Interface/Sources/Entity/Recap/PhilosopherRecap.swift diff --git a/Projects/Domain/ProfileDomain/Interface/Entity/Recap/PreferenceReport.swift b/Projects/Domain/ProfileDomain/Interface/Sources/Entity/Recap/PreferenceReport.swift similarity index 100% rename from Projects/Domain/ProfileDomain/Interface/Entity/Recap/PreferenceReport.swift rename to Projects/Domain/ProfileDomain/Interface/Sources/Entity/Recap/PreferenceReport.swift diff --git a/Projects/Domain/ProfileDomain/Interface/Entity/Recap/RecapCard.swift b/Projects/Domain/ProfileDomain/Interface/Sources/Entity/Recap/RecapCard.swift similarity index 100% rename from Projects/Domain/ProfileDomain/Interface/Entity/Recap/RecapCard.swift rename to Projects/Domain/ProfileDomain/Interface/Sources/Entity/Recap/RecapCard.swift diff --git a/Projects/Domain/ProfileDomain/Interface/Entity/Recap/RecapScoreAxis.swift b/Projects/Domain/ProfileDomain/Interface/Sources/Entity/Recap/RecapScoreAxis.swift similarity index 100% rename from Projects/Domain/ProfileDomain/Interface/Entity/Recap/RecapScoreAxis.swift rename to Projects/Domain/ProfileDomain/Interface/Sources/Entity/Recap/RecapScoreAxis.swift diff --git a/Projects/Domain/ProfileDomain/Interface/Entity/Recap/RecapScores.swift b/Projects/Domain/ProfileDomain/Interface/Sources/Entity/Recap/RecapScores.swift similarity index 100% rename from Projects/Domain/ProfileDomain/Interface/Entity/Recap/RecapScores.swift rename to Projects/Domain/ProfileDomain/Interface/Sources/Entity/Recap/RecapScores.swift diff --git a/Projects/Domain/ProfileDomain/Interface/Repository/Default/MockProfileRepository.swift b/Projects/Domain/ProfileDomain/Interface/Sources/Repository/Default/MockProfileRepository.swift similarity index 100% rename from Projects/Domain/ProfileDomain/Interface/Repository/Default/MockProfileRepository.swift rename to Projects/Domain/ProfileDomain/Interface/Sources/Repository/Default/MockProfileRepository.swift diff --git a/Projects/Domain/ProfileDomain/Interface/Repository/Interface/ProfileInterface.swift b/Projects/Domain/ProfileDomain/Interface/Sources/Repository/ProfileInterface.swift similarity index 100% rename from Projects/Domain/ProfileDomain/Interface/Repository/Interface/ProfileInterface.swift rename to Projects/Domain/ProfileDomain/Interface/Sources/Repository/ProfileInterface.swift diff --git a/Projects/Domain/ProfileDomain/Tests/ProfileDomainTests.swift b/Projects/Domain/ProfileDomain/Tests/Sources/ProfileDomainTests.swift similarity index 100% rename from Projects/Domain/ProfileDomain/Tests/ProfileDomainTests.swift rename to Projects/Domain/ProfileDomain/Tests/Sources/ProfileDomainTests.swift diff --git a/Projects/Domain/ProfileDomain/Tests/ProfileRepositoryTests.swift b/Projects/Domain/ProfileDomain/Tests/Sources/ProfileRepositoryTests.swift similarity index 100% rename from Projects/Domain/ProfileDomain/Tests/ProfileRepositoryTests.swift rename to Projects/Domain/ProfileDomain/Tests/Sources/ProfileRepositoryTests.swift diff --git a/Projects/Domain/ProfileDomain/Tests/ProfileRequestMappingTests.swift b/Projects/Domain/ProfileDomain/Tests/Sources/ProfileRequestMappingTests.swift similarity index 100% rename from Projects/Domain/ProfileDomain/Tests/ProfileRequestMappingTests.swift rename to Projects/Domain/ProfileDomain/Tests/Sources/ProfileRequestMappingTests.swift diff --git a/Projects/Domain/ProfileDomain/Tests/TestSupport.swift b/Projects/Domain/ProfileDomain/Tests/Sources/TestSupport.swift similarity index 100% rename from Projects/Domain/ProfileDomain/Tests/TestSupport.swift rename to Projects/Domain/ProfileDomain/Tests/Sources/TestSupport.swift diff --git a/Projects/Feature/Ad/Tests/AdTests.swift b/Projects/Feature/Ad/Tests/Sources/AdTests.swift similarity index 100% rename from Projects/Feature/Ad/Tests/AdTests.swift rename to Projects/Feature/Ad/Tests/Sources/AdTests.swift diff --git a/Projects/Feature/Auth/Sources/Coordinator/Reducer/AuthCoordinator.swift b/Projects/Feature/Auth/Sources/Coordinator/Reducer/AuthCoordinator.swift deleted file mode 100644 index 86071ca6..00000000 --- a/Projects/Feature/Auth/Sources/Coordinator/Reducer/AuthCoordinator.swift +++ /dev/null @@ -1,167 +0,0 @@ -// -// AuthCoordinator.swift -// Auth -// -// Created by Wonji Suh on 5/11/26. -// - -import Foundation - -import AuthInterface -import ComposableArchitecture -import TCAFlow - -import AuthDomainInterface - -@FlowCoordinator(screen: "AuthScreen", navigation: true) -public struct AuthCoordinator { - public init() {} - - @ObservableState - public struct State: Equatable { - var routes: [Route] - - public init() { - @Shared(.userSession) var userSession: UserSession - routes = [.root(.login(.init(userSession: userSession)), embedInNavigationView: true)] - } - - public init(route: AuthRoute) { - switch route { - case .login: - self.init() - } - } - } - - @CasePathable - public enum Action { - case router(IndexedRouterActionOf) - case view(View) - case async(AsyncAction) - case inner(InnerAction) - case delegate(AuthDelegate) - } - - // MARK: - ViewAction - - @CasePathable - public enum View { - case backAction - case backToRootAction - } - - // MARK: - AsyncAction 비동기 처리 액션 - - public enum AsyncAction: Equatable {} - - // MARK: - 앱내에서 사용하는 액션 - - public enum InnerAction: Equatable {} - - func handleRoute( - state: inout State, - action: Action - ) -> Effect { - switch action { - case let .router(routeAction): - routerAction(state: &state, action: routeAction) - - case let .view(viewAction): - handleViewAction(state: &state, action: viewAction) - - case let .async(asyncAction): - handleAsyncAction(state: &state, action: asyncAction) - - case let .inner(innerAction): - handleInnerAction(state: &state, action: innerAction) - - case let .delegate(delegateAction): - handleDelegateAction(state: &state, action: delegateAction) - } - } -} - -// MARK: - Effect Cancellation IDs - -nonisolated enum AuthCancelID: Hashable { - case loginEffects -} - -extension AuthCoordinator { - private func routerAction( - state: inout State, - action: IndexedRouterActionOf - ) -> Effect { - switch action { - // MARK: - 로그인 성공 → 온보딩 화면 푸시 - - case .routeAction(_, action: .login(.delegate(.presentOnboarding))): - state.routes.push(.onboarding(.init())) - return .none - - // MARK: - 온보딩 완료 → 루트로 (다음 플로우 연결 지점) - - case .routeAction(id: _, action: .login(.delegate(.presentMainTab))): - return .send(.delegate(.presentMainTab)) - - case .routeAction(_, action: .onboarding(.delegate(.presentMainTab))): - return .send(.delegate(.presentMainTab)) - - default: - return .none - } - } - - private func handleViewAction( - state: inout State, - action: View - ) -> Effect { - switch action { - case .backAction: - state.routes.goBack() - return .none - - case .backToRootAction: - state.routes.goBackToRoot() - return .none - } - } - - private func handleDelegateAction( - state _: inout State, - action: AuthDelegate - ) -> Effect { - switch action { - case .presentMainTab: - return .none - } - } - - private func handleAsyncAction( - state _: inout State, - action _: AsyncAction - ) -> Effect { - .none - } - - private func handleInnerAction( - state _: inout State, - action _: InnerAction - ) -> Effect { - .none - } -} - -// swiftformat:disable extensionAccessControl -extension AuthCoordinator { - @Reducer - public enum AuthScreen { - case login(LoginFeature) - case onboarding(OnBoardingFeature) - } -} - -// swiftformat:enable extensionAccessControl - -extension AuthCoordinator.AuthScreen.State: Equatable {} diff --git a/Projects/Feature/Auth/Sources/Coordinator/View/AuthCoordinatorView.swift b/Projects/Feature/Auth/Sources/Coordinator/View/AuthCoordinatorView.swift deleted file mode 100644 index fa0b9195..00000000 --- a/Projects/Feature/Auth/Sources/Coordinator/View/AuthCoordinatorView.swift +++ /dev/null @@ -1,37 +0,0 @@ -// -// AuthCoordinatorView.swift -// Auth -// -// Created by Wonji Suh on 5/11/26. -// - -import Foundation - -import SwiftUI - -import ComposableArchitecture -import TCAFlow - -public struct AuthCoordinatorView: View { - @Bindable private var store: StoreOf - - public init( - store: StoreOf - ) { - self.store = store - } - - public var body: some View { - TCAFlowRouter(store.scope(state: \.routes, action: \.router)) { screen in - switch screen.case { - case let .login(loginStore): - LoginView(store: loginStore) - .navigationBarBackButtonHidden() - - case let .onboarding(onboardingStore): - OnBoardingView(store: onboardingStore) - .navigationBarBackButtonHidden() - } - } - } -} diff --git a/Projects/Feature/Battle/Sources/Coordinator/Reducer/BattleCoordinator.swift b/Projects/Feature/Battle/Sources/Coordinator/Reducer/BattleCoordinator.swift deleted file mode 100644 index d8537328..00000000 --- a/Projects/Feature/Battle/Sources/Coordinator/Reducer/BattleCoordinator.swift +++ /dev/null @@ -1,94 +0,0 @@ -// -// BattleCoordinator.swift -// Battle -// - -import Foundation - -import ComposableArchitecture -import TCAFlow - -@FlowCoordinator(screen: "BattleScreen", navigation: true) -public struct BattleCoordinator { - public init() {} - - @ObservableState - public struct State: Equatable { - public var routes: [Route] - - public init() { - routes = [.root(.battle(.init()), embedInNavigationView: true)] - } - } - - @CasePathable - public enum Action { - case router(IndexedRouterActionOf) - case view(View) - case async(AsyncAction) - case inner(InnerAction) - case navigation(NavigationAction) - } - - @CasePathable - public enum View { - case backAction - case backToRootAction - } - - public enum AsyncAction: Equatable {} - public enum InnerAction: Equatable {} - public enum NavigationAction: Equatable {} - - func handleRoute( - state: inout State, - action: Action - ) -> Effect { - switch action { - case let .router(routeAction): - routerAction(state: &state, action: routeAction) - case let .view(viewAction): - handleViewAction(state: &state, action: viewAction) - case .async, .inner, .navigation: - .none - } - } -} - -extension BattleCoordinator { - private func routerAction( - state: inout State, - action: IndexedRouterActionOf - ) -> Effect { - switch action { - default: - return .none - } - } - - private func handleViewAction( - state: inout State, - action: View - ) -> Effect { - switch action { - case .backAction: - state.routes.goBack() - return .none - case .backToRootAction: - state.routes.goBackToRoot() - return .none - } - } -} - -// swiftformat:disable extensionAccessControl -extension BattleCoordinator { - @Reducer - public enum BattleScreen { - case battle(BattleFeature) - } -} - -// swiftformat:enable extensionAccessControl - -extension BattleCoordinator.BattleScreen.State: Equatable {} diff --git a/Projects/Feature/Battle/Sources/Coordinator/View/BattleCoordinatorView.swift b/Projects/Feature/Battle/Sources/Coordinator/View/BattleCoordinatorView.swift deleted file mode 100644 index b3f30a3b..00000000 --- a/Projects/Feature/Battle/Sources/Coordinator/View/BattleCoordinatorView.swift +++ /dev/null @@ -1,28 +0,0 @@ -// -// BattleCoordinatorView.swift -// Battle -// - -import Foundation - -import SwiftUI - -import ComposableArchitecture -import TCAFlow - -public struct BattleCoordinatorView: View { - @Bindable private var store: StoreOf - - public init(store: StoreOf) { - self.store = store - } - - public var body: some View { - TCAFlowRouter(store.scope(state: \.routes, action: \.router)) { screen in - switch screen.case { - case let .battle(battleStore): - BattleView(store: battleStore) - } - } - } -} diff --git a/Projects/Feature/Hifi/Sources/Coordinator/Reducer/HifiCoordinator.swift b/Projects/Feature/Hifi/Sources/Coordinator/Reducer/HifiCoordinator.swift deleted file mode 100644 index c9d4b52b..00000000 --- a/Projects/Feature/Hifi/Sources/Coordinator/Reducer/HifiCoordinator.swift +++ /dev/null @@ -1,94 +0,0 @@ -// -// HifiCoordinator.swift -// Hifi -// - -import Foundation - -import ComposableArchitecture -import TCAFlow - -@FlowCoordinator(screen: "HifiScreen", navigation: true) -public struct HifiCoordinator { - public init() {} - - @ObservableState - public struct State: Equatable { - public var routes: [Route] - - public init() { - routes = [.root(.hifi(.init()), embedInNavigationView: true)] - } - } - - @CasePathable - public enum Action { - case router(IndexedRouterActionOf) - case view(View) - case async(AsyncAction) - case inner(InnerAction) - case navigation(NavigationAction) - } - - @CasePathable - public enum View { - case backAction - case backToRootAction - } - - public enum AsyncAction: Equatable {} - public enum InnerAction: Equatable {} - public enum NavigationAction: Equatable {} - - func handleRoute( - state: inout State, - action: Action - ) -> Effect { - switch action { - case let .router(routeAction): - routerAction(state: &state, action: routeAction) - case let .view(viewAction): - handleViewAction(state: &state, action: viewAction) - case .async, .inner, .navigation: - .none - } - } -} - -extension HifiCoordinator { - private func routerAction( - state: inout State, - action: IndexedRouterActionOf - ) -> Effect { - switch action { - default: - return .none - } - } - - private func handleViewAction( - state: inout State, - action: View - ) -> Effect { - switch action { - case .backAction: - state.routes.goBack() - return .none - case .backToRootAction: - state.routes.goBackToRoot() - return .none - } - } -} - -// swiftformat:disable extensionAccessControl -extension HifiCoordinator { - @Reducer - public enum HifiScreen { - case hifi(HifiFeature) - } -} - -// swiftformat:enable extensionAccessControl - -extension HifiCoordinator.HifiScreen.State: Equatable {} diff --git a/Projects/Feature/Hifi/Sources/Coordinator/View/HifiCoordinatorView.swift b/Projects/Feature/Hifi/Sources/Coordinator/View/HifiCoordinatorView.swift deleted file mode 100644 index 2989aebf..00000000 --- a/Projects/Feature/Hifi/Sources/Coordinator/View/HifiCoordinatorView.swift +++ /dev/null @@ -1,28 +0,0 @@ -// -// HifiCoordinatorView.swift -// Hifi -// - -import Foundation - -import SwiftUI - -import ComposableArchitecture -import TCAFlow - -public struct HifiCoordinatorView: View { - @Bindable private var store: StoreOf - - public init(store: StoreOf) { - self.store = store - } - - public var body: some View { - TCAFlowRouter(store.scope(state: \.routes, action: \.router)) { screen in - switch screen.case { - case let .hifi(hifiStore): - HifiView(store: hifiStore) - } - } - } -} diff --git a/Projects/Feature/Profile/Sources/Settings/Reducer/SettingsFeature.swift b/Projects/Feature/Profile/Sources/Settings/Reducer/SettingsFeature.swift index e0e561d6..e3ae74f9 100644 --- a/Projects/Feature/Profile/Sources/Settings/Reducer/SettingsFeature.swift +++ b/Projects/Feature/Profile/Sources/Settings/Reducer/SettingsFeature.swift @@ -12,7 +12,7 @@ import PickeDesignKit import PickeSharedUI import PickeAnalyticsInterface import DeviceServiceInterface -import PickeStorageInterface +import PickeAuthInterface @Reducer public struct SettingsFeature { @@ -90,7 +90,7 @@ public struct SettingsFeature { } @Dependency(\.authUseCase) private var authUseCase - @Dependency(\.keychainManager) private var keychainManager + @Dependency(\.authService) private var authService @Dependency(\.deviceUseCase) private var deviceUseCase @Dependency(\.analyticsUseCase) private var analyticsUseCase @@ -183,11 +183,14 @@ extension SettingsFeature { switch action { case .sessionCleared: state.isProcessing = false - // 서버 호출 성공/실패와 무관하게 로컬 세션은 정리하고 로그인으로 전환. - keychainManager.clear() // 계정 분리 — Mixpanel distinct_id/슈퍼프로퍼티 초기화(다음 유저와 혼선 방지). analyticsUseCase.reset() - return .send(.delegate(.sessionEnded)) + // 서버 호출 성공/실패와 무관하게 로컬 세션은 정리하고 로그인으로 전환. + let authService = authService + return .run { send in + await authService.signOut() + await send(.delegate(.sessionEnded)) + } } } diff --git a/Projects/Feature/Profile/Sources/Withdraw/Reducer/WithdrawReasonFeature.swift b/Projects/Feature/Profile/Sources/Withdraw/Reducer/WithdrawReasonFeature.swift index 42e3dc33..256907e9 100644 --- a/Projects/Feature/Profile/Sources/Withdraw/Reducer/WithdrawReasonFeature.swift +++ b/Projects/Feature/Profile/Sources/Withdraw/Reducer/WithdrawReasonFeature.swift @@ -11,7 +11,7 @@ import LogMacro import PickeDesignKit import PickeSharedUI import DeviceServiceInterface -import PickeStorageInterface +import PickeAuthInterface @Reducer public struct WithdrawReasonFeature { @@ -92,7 +92,7 @@ public struct WithdrawReasonFeature { } @Dependency(\.authUseCase) private var authUseCase - @Dependency(\.keychainManager) private var keychainManager + @Dependency(\.authService) private var authService @Dependency(\.deviceUseCase) private var deviceUseCase public var body: some Reducer { @@ -200,8 +200,11 @@ extension WithdrawReasonFeature { case .sessionCleared: state.isProcessing = false // 서버 호출 성공/실패와 무관하게 로컬 세션은 정리하고 로그인으로 전환. - keychainManager.clear() - return .send(.delegate(.sessionEnded)) + let authService = authService + return .run { send in + await authService.signOut() + await send(.delegate(.sessionEnded)) + } } } } diff --git a/Projects/Feature/Splash/Sources/Reducer/SplashFeature.swift b/Projects/Feature/Splash/Sources/Reducer/SplashFeature.swift index 35bac165..fdb13673 100644 --- a/Projects/Feature/Splash/Sources/Reducer/SplashFeature.swift +++ b/Projects/Feature/Splash/Sources/Reducer/SplashFeature.swift @@ -12,7 +12,7 @@ import ComposableArchitecture import LogMacro import PickeAnalyticsInterface import AppUpdateDomainInterface -import PickeStorageInterface +import PickeAuthInterface @Reducer public struct SplashFeature { @@ -75,7 +75,7 @@ public struct SplashFeature { } @Dependency(\.continuousClock) var clock - @Dependency(\.keychainManager) var keychainManager + @Dependency(\.authService) var authService @Dependency(\.appUpdateUseCase) var appUpdateUseCase @Dependency(\.openURL) var openURL @Dependency(\.analyticsUseCase) var analyticsUseCase @@ -195,9 +195,10 @@ extension SplashFeature { } private func navigateToNextScreen(state _: inout State) -> Effect { - hasStoredCredential - ? .send(.delegate(.presentMainTab)) - : .send(.delegate(.presentAuth)) + let authService = authService + return .run { send in + await send(.delegate(await authService.isLoggedIn ? .presentMainTab : .presentAuth)) + } } private static func updateAlert(version: String) -> AlertState { @@ -214,14 +215,4 @@ extension SplashFeature { TextState("새로운 버전 \(version)이 출시되었습니다!\n더 나은 경험을 위해 지금 업데이트하세요!") } } - - private var hasStoredCredential: Bool { - guard - let accessToken = keychainManager.accessToken(), - let refreshToken = keychainManager.refreshToken() - else { - return false - } - return !accessToken.isEmpty && !refreshToken.isEmpty - } } diff --git a/Projects/Service/API/APITests/Sources/Test.swift b/Projects/Service/API/APITests/Sources/Test.swift deleted file mode 100644 index 88831a39..00000000 --- a/Projects/Service/API/APITests/Sources/Test.swift +++ /dev/null @@ -1,8 +0,0 @@ -// -// base.swift -// DDDAttendance -// -// Created by Roy on 2025-10-22 -// Copyright © 2025 DDD , Ltd. All rights reserved. -// - diff --git a/Projects/Service/API/Tests/PieckeDomainTests.swift b/Projects/Service/API/Tests/Sources/PieckeDomainTests.swift similarity index 100% rename from Projects/Service/API/Tests/PieckeDomainTests.swift rename to Projects/Service/API/Tests/Sources/PieckeDomainTests.swift diff --git a/Projects/Service/APIEndpoint/RemoteTests/Sources/Test.swift b/Projects/Service/APIEndpoint/RemoteTests/Sources/Test.swift deleted file mode 100644 index 88831a39..00000000 --- a/Projects/Service/APIEndpoint/RemoteTests/Sources/Test.swift +++ /dev/null @@ -1,8 +0,0 @@ -// -// base.swift -// DDDAttendance -// -// Created by Roy on 2025-10-22 -// Copyright © 2025 DDD , Ltd. All rights reserved. -// - diff --git a/Projects/Service/APIEndpoint/Tests/AuthServiceTests.swift b/Projects/Service/APIEndpoint/Tests/Sources/AuthServiceTests.swift similarity index 100% rename from Projects/Service/APIEndpoint/Tests/AuthServiceTests.swift rename to Projects/Service/APIEndpoint/Tests/Sources/AuthServiceTests.swift diff --git a/Projects/Service/APIEndpoint/Tests/EncodableDictionaryTests.swift b/Projects/Service/APIEndpoint/Tests/Sources/EncodableDictionaryTests.swift similarity index 100% rename from Projects/Service/APIEndpoint/Tests/EncodableDictionaryTests.swift rename to Projects/Service/APIEndpoint/Tests/Sources/EncodableDictionaryTests.swift diff --git a/Projects/Service/AudioPlayerService/Tests/AudioPlayerServiceTests.swift b/Projects/Service/AudioPlayerService/Tests/Sources/AudioPlayerServiceTests.swift similarity index 100% rename from Projects/Service/AudioPlayerService/Tests/AudioPlayerServiceTests.swift rename to Projects/Service/AudioPlayerService/Tests/Sources/AudioPlayerServiceTests.swift diff --git a/Projects/Service/DeviceService/Tests/DeviceServiceTests.swift b/Projects/Service/DeviceService/Tests/Sources/DeviceServiceTests.swift similarity index 100% rename from Projects/Service/DeviceService/Tests/DeviceServiceTests.swift rename to Projects/Service/DeviceService/Tests/Sources/DeviceServiceTests.swift diff --git a/Projects/Service/PickeAnalytics/Tests/PickeAnalyticsTests.swift b/Projects/Service/PickeAnalytics/Tests/Sources/PickeAnalyticsTests.swift similarity index 100% rename from Projects/Service/PickeAnalytics/Tests/PickeAnalyticsTests.swift rename to Projects/Service/PickeAnalytics/Tests/Sources/PickeAnalyticsTests.swift diff --git a/Projects/Service/PickeAuth/Sources/Factory/AuthFactory.swift b/Projects/Service/PickeAuth/Sources/Factory/AuthFactory.swift index 70b0862a..129daa59 100644 --- a/Projects/Service/PickeAuth/Sources/Factory/AuthFactory.swift +++ b/Projects/Service/PickeAuth/Sources/Factory/AuthFactory.swift @@ -11,14 +11,14 @@ import PickeNetwork import PickeNetworkInterface import PickeStorageInterface -/// Keychain, refresh 클라이언트, 인증 클라이언트를 하나의 인증 서비스로 조립한다. +/// 보안 저장소, refresh 클라이언트, 인증 클라이언트를 하나의 인증 서비스로 조립한다. public enum AuthFactory { - /// refresh 전용(비인증) 클라이언트와 Keychain 으로 완성된 인증 서비스를 생성한다. + /// refresh 전용(비인증) 클라이언트와 보안 저장소로 완성된 인증 서비스를 생성한다. public static func make( refreshClient: any PickeNetworkClient = NetworkClientFactory.plain(), - keychain: any KeychainManaging + storage: any SecureStorage ) -> any AuthService & AuthenticatedClientProvider { - let store = GuardedCredentialStore(base: KeychainCredentialStore(keychain: keychain)) + let store = GuardedCredentialStore(base: KeychainCredentialStore(storage: storage)) let relay = AuthFailureRelay() let authenticated = NetworkClientFactory.unified( store: store, diff --git a/Projects/Service/PickeAuth/Sources/Store/KeychainCredentialStore.swift b/Projects/Service/PickeAuth/Sources/Store/KeychainCredentialStore.swift index ec1092ae..0299d00b 100644 --- a/Projects/Service/PickeAuth/Sources/Store/KeychainCredentialStore.swift +++ b/Projects/Service/PickeAuth/Sources/Store/KeychainCredentialStore.swift @@ -3,29 +3,28 @@ // PickeAuth // -import Foundation - import PickeNetworkInterface import PickeStorageInterface -/// 범용 Keychain 저장소를 PickeNetwork 의 credential 저장 계약으로 변환한다. +/// 범용 `SecureStorage` 를 PickeNetwork 의 credential 저장 계약으로 변환한다. final class KeychainCredentialStore: CredentialStore { /// access token 과 refresh token 을 보관하는 보안 저장소다. - private let keychain: any KeychainManaging + private let storage: any SecureStorage - init(keychain: any KeychainManaging) { - self.keychain = keychain + /// 범용 보안 저장소를 credential 저장소로 감싼다. + init(storage: any SecureStorage) { + self.storage = storage } /// 저장된 토큰 쌍이 모두 유효할 때만 credential 을 복원한다. func load() -> PickeCredential? { - guard let accessToken = keychain.accessToken(), - !accessToken.isEmpty, - let refreshToken = keychain.refreshToken(), - !refreshToken.isEmpty + guard + let accessToken = try? storage.load(.accessToken), !accessToken.isEmpty, + let refreshToken = try? storage.load(.refreshToken), !refreshToken.isEmpty else { return nil } + return PickeCredential( accessToken: accessToken, refreshToken: refreshToken, @@ -35,14 +34,12 @@ final class KeychainCredentialStore: CredentialStore { /// access token 과 refresh token 을 각각의 보안 키로 저장한다. func save(_ credential: PickeCredential) { - keychain.save( - accessToken: credential.accessToken, - refreshToken: credential.refreshToken - ) + try? storage.save(credential.accessToken, for: .accessToken) + try? storage.save(credential.refreshToken, for: .refreshToken) } /// 인증 종료 시 보안 저장소의 모든 인증 값을 제거한다. func clear() { - keychain.clear() + try? storage.removeAll() } } diff --git a/Projects/Service/PickeAuth/Tests/KeychainCredentialStoreTests.swift b/Projects/Service/PickeAuth/Tests/Sources/KeychainCredentialStoreTests.swift similarity index 100% rename from Projects/Service/PickeAuth/Tests/KeychainCredentialStoreTests.swift rename to Projects/Service/PickeAuth/Tests/Sources/KeychainCredentialStoreTests.swift diff --git a/Projects/Service/PickeAuth/Tests/PickeAuthTests.swift b/Projects/Service/PickeAuth/Tests/Sources/PickeAuthTests.swift similarity index 100% rename from Projects/Service/PickeAuth/Tests/PickeAuthTests.swift rename to Projects/Service/PickeAuth/Tests/Sources/PickeAuthTests.swift diff --git a/Projects/Service/ServiceAssembly/Sources/NetworkContainer.swift b/Projects/Service/ServiceAssembly/Sources/NetworkContainer.swift index b8e944f5..16b1f5e6 100644 --- a/Projects/Service/ServiceAssembly/Sources/NetworkContainer.swift +++ b/Projects/Service/ServiceAssembly/Sources/NetworkContainer.swift @@ -21,9 +21,10 @@ public enum NetworkContainer { private static func makeAssembly() -> Assembly { let plainClient = NetworkAssembly.plainClient() + let storage = StorageAssembly.secureStorage() let auth = AuthFactory.make( refreshClient: plainClient, - keychain: StorageAssembly.keychain + storage: storage ) return Assembly( diff --git a/Projects/Service/ServiceAssembly/Tests/ServiceDependencyAssemblyTests.swift b/Projects/Service/ServiceAssembly/Tests/Sources/ServiceDependencyAssemblyTests.swift similarity index 100% rename from Projects/Service/ServiceAssembly/Tests/ServiceDependencyAssemblyTests.swift rename to Projects/Service/ServiceAssembly/Tests/Sources/ServiceDependencyAssemblyTests.swift diff --git a/Projects/UI/PickeAnimation/Tests/PickeAnimationAssetTests.swift b/Projects/UI/PickeAnimation/Tests/Sources/PickeAnimationAssetTests.swift similarity index 100% rename from Projects/UI/PickeAnimation/Tests/PickeAnimationAssetTests.swift rename to Projects/UI/PickeAnimation/Tests/Sources/PickeAnimationAssetTests.swift diff --git a/Projects/UI/PickeDesignKit/DesignSystemTests/Sources/Test.swift b/Projects/UI/PickeDesignKit/DesignSystemTests/Sources/Test.swift deleted file mode 100644 index a9c810e3..00000000 --- a/Projects/UI/PickeDesignKit/DesignSystemTests/Sources/Test.swift +++ /dev/null @@ -1,8 +0,0 @@ -// -// base.swift -// DDDAttendance -// -// Created by Roy on 2025-09-04 -// Copyright © 2025 DDD , Ltd. All rights reserved. -// - diff --git a/Projects/UI/PickeDesignKit/Tests/DesignTokenTests.swift b/Projects/UI/PickeDesignKit/Tests/Sources/DesignTokenTests.swift similarity index 100% rename from Projects/UI/PickeDesignKit/Tests/DesignTokenTests.swift rename to Projects/UI/PickeDesignKit/Tests/Sources/DesignTokenTests.swift diff --git a/Projects/UI/PickeDesignKit/Tests/ToastTypeTests.swift b/Projects/UI/PickeDesignKit/Tests/Sources/ToastTypeTests.swift similarity index 100% rename from Projects/UI/PickeDesignKit/Tests/ToastTypeTests.swift rename to Projects/UI/PickeDesignKit/Tests/Sources/ToastTypeTests.swift diff --git a/Projects/UI/PickeSharedUI/Tests/CustomAlertStateTests.swift b/Projects/UI/PickeSharedUI/Tests/Sources/CustomAlertStateTests.swift similarity index 100% rename from Projects/UI/PickeSharedUI/Tests/CustomAlertStateTests.swift rename to Projects/UI/PickeSharedUI/Tests/Sources/CustomAlertStateTests.swift diff --git a/Projects/UI/PickeSharedUI/Tests/ReportReasonTests.swift b/Projects/UI/PickeSharedUI/Tests/Sources/ReportReasonTests.swift similarity index 100% rename from Projects/UI/PickeSharedUI/Tests/ReportReasonTests.swift rename to Projects/UI/PickeSharedUI/Tests/Sources/ReportReasonTests.swift From 189526e167712d2c07be053909e48d9885a97aa2 Mon Sep 17 00:00:00 2001 From: Roy Date: Mon, 7 Sep 2026 18:43:43 +0900 Subject: [PATCH 61/83] =?UTF-8?q?refactor(tuist):=20TuistTool=20=EC=9D=84?= =?UTF-8?q?=20=EC=B0=B8=EC=A1=B0=20=ED=94=84=EB=A1=9C=EC=A0=9D=ED=8A=B8=20?= =?UTF-8?q?=EA=B5=AC=EC=A1=B0=EB=A1=9C=20=EC=9E=AC=EC=9E=91=EC=84=B1?= =?UTF-8?q?=ED=95=98=EA=B3=A0=201146=EC=A4=84=EC=9D=84=20551=EC=A4=84?= =?UTF-8?q?=EB=A1=9C=20=EC=A4=84=EC=9D=B8=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 새 프로젝트 부트스트랩 잔재(newproject·generateProjectWithSettings·updateProjectConfig· XConfig 갱신)를 걷어내고, Command enum 과 단일 execute switch 로 진입점을 정리한다. graph·graph:prod·setup 명령과 레이어별 모듈 scaffold 를 추가한다. Workspace 는 Project.Environment.appName 하나만 쓰게 해 중복 분기와 로그를 없앤다. --- TuistTool.swift | 1475 ++++++++++++++--------------------------------- WorkSpace.swift | 20 +- make | Bin 243416 -> 145336 bytes 3 files changed, 446 insertions(+), 1049 deletions(-) diff --git a/TuistTool.swift b/TuistTool.swift index c3faa7ef..20d0bd26 100755 --- a/TuistTool.swift +++ b/TuistTool.swift @@ -1,1146 +1,551 @@ // -// tuisttool.swift +// TuistTool.swift +// Picke +// +// Created by Wonji Suh on 9/7/26. // import Foundation -// 🆕 Tuist 4.174.0+ mise를 통한 실행 헬퍼 -@discardableResult -func runTuist(arguments: [String] = []) -> Int32 { - return run("mise", arguments: ["exec", "--", "tuist"] + arguments) +private enum Command: String { + case setup + case generate + case build + case install + case cache + case cacheSetup = "cache:setup" + case test + case format + case lint + case clean + case reset + case edit + case inspect + case inspectImports = "inspect-imports" + case inspectCoverage = "inspect-coverage" + case module + case moduleInit = "moduleinit" + case feature + case core + case service + case domain + case ui + case graph + case productionGraph = "graph:prod" + case help } @discardableResult -func run(_ command: String, arguments: [String] = []) -> Int32 { +private func run(_ executable: String, arguments: [String]) -> Int32 { let process = Process() process.executableURL = URL(fileURLWithPath: "/usr/bin/env") - process.arguments = [command] + arguments + process.arguments = [executable] + arguments + process.standardInput = FileHandle.standardInput process.standardOutput = FileHandle.standardOutput process.standardError = FileHandle.standardError - // 🔥 현재 프로세스의 환경변수를 자식 프로세스에 전달 - var environment = ProcessInfo.processInfo.environment - - // setenv로 설정된 환경변수들을 수동으로 추가 - if let projectName = getenv("PROJECT_NAME") { - environment["PROJECT_NAME"] = String(cString: projectName) - } - if let bundleId = getenv("BUNDLE_ID_PREFIX") { - environment["BUNDLE_ID_PREFIX"] = String(cString: bundleId) - } - if let teamId = getenv("TEAM_ID") { - environment["TEAM_ID"] = String(cString: teamId) - } - - process.environment = environment - do { try process.run() process.waitUntilExit() return process.terminationStatus } catch { - print("❌ 실행 실패: \(error)") - return -1 + FileHandle.standardError.write(Data("실행 실패: \(error)\n".utf8)) + return 1 } } -func runCapture(_ command: String, arguments: [String] = []) throws -> String { - let process = Process() - let pipe = Pipe() - process.executableURL = URL(fileURLWithPath: "/usr/bin/env") - process.arguments = [command] + arguments - process.standardOutput = pipe - try process.run() - let data = pipe.fileHandleForReading.readDataToEndOfFile() - return String(decoding: data, as: UTF8.self).trimmingCharacters(in: .whitespacesAndNewlines) -} - -func prompt(_ message: String) -> String { +private func prompt(_ message: String) -> String { print("\(message): ", terminator: "") - fflush(stdout) // Force flush output buffer - - guard let input = readLine() else { - return "" - } - - let trimmedInput = input.trimmingCharacters(in: .whitespacesAndNewlines) - - // Debug output (개발시에만 활성화) - // print("🔍 Debug: 입력된 값 = '\(trimmedInput)' (길이: \(trimmedInput.count))") - - return trimmedInput -} - -// MARK: - Tuist 명령어 (tuist 4.97.2 최적화) -func generate() { - // ✅ 루트 경로 환경 변수 설정 - setenv("TUIST_ROOT_DIR", FileManager.default.currentDirectoryPath, 1) - - // ✅ 프리뷰 모드 환경 변수 추가 - setenv("TUIST_FOR_PREVIEW", "TRUE", 1) - - // 📁 기존 hasTests: true 모듈들의 Tests/Sources 디렉토리 확인 (하위 호환성) - ensureTestsDirectoriesForHasTestsModules() - - // ✅ tuist generate 실행 (4.174.0+) - runTuist(arguments: ["generate"]) + return readLine()?.trimmingCharacters(in: .whitespacesAndNewlines) ?? "" } -// tuist 4.97.2 새로운 기능들 -func inspect() { - print("🔍 사용 가능한 inspect 명령어들:") - run("tuist", arguments: ["inspect", "--help"]) +@discardableResult +private func runTuist(arguments: [String]) -> Int32 { + return run("mise", arguments: ["exec", "--", "tuist"] + arguments) } -func inspectImplicitImports() { - print("🔍 암시적 의존성 검사 중...") - run("tuist", arguments: ["inspect", "implicit-imports"]) +private func installAndGenerate(forwardedArguments: [String] = []) -> Int32 { + let installStatus = runTuist(arguments: ["install"] + forwardedArguments) + guard installStatus == 0 else { return installStatus } + return runTuist(arguments: ["generate"]) } -func inspectCodeCoverage() { - print("📊 코드 커버리지 분석 중...") - run("tuist", arguments: ["inspect", "code-coverage"]) +private enum StepResult { + case passed + case skipped(String) + case failed(Int32) } -// MARK: - 새 프로젝트 생성 -func newProject() { - print("\n🚀 새 프로젝트 생성을 시작합니다.") - - let projectName = prompt("프로젝트 이름을 입력하세요") - guard !projectName.isEmpty else { - print("❌ 프로젝트 이름은 필수입니다.") - return +private func printSetupSummary(_ results: [(String, StepResult)]) { + print("") + print("📋 setup 결과") + for (name, result) in results { + switch result { + case .passed: + print(" ✅ \(name)") + case let .skipped(reason): + print(" ⚠️ \(name) — 건너뜀 (\(reason))") + case let .failed(status): + print(" ❌ \(name) — 실패 (exit \(status))") } - - let bundleIdPrefix = prompt("번들 ID 접두사를 입력하세요 (기본값: io.Roy.Module)") - let finalBundleId = bundleIdPrefix.isEmpty ? "io.Roy.Module" : bundleIdPrefix - - let teamId = prompt("팀 ID를 입력하세요 (기본값: N94CS4N6VR)") - let finalTeamId = teamId.isEmpty ? "N94CS4N6VR" : teamId - - print("\n📋 설정 정보:") - print("📱 프로젝트명: \(projectName)") - print("📦 번들 ID 접두사: \(finalBundleId)") - print("👥 팀 ID: \(finalTeamId)") - - let confirm = prompt("\n위 설정으로 프로젝트를 생성하시겠습니까? (y/N)") - guard confirm.lowercased() == "y" else { - print("❌ 프로젝트 생성이 취소되었습니다.") - return - } - - generateProjectWithSettings( - name: projectName, - bundleIdPrefix: finalBundleId, - teamId: finalTeamId - ) + } } -func generateProjectWithArgs() { - let args = Array(CommandLine.arguments.dropFirst(2)) // command와 하위 명령 제외 - - guard args.count >= 1 else { - print("사용법: ./tuisttool generate --name <프로젝트명> [--bundle-id <번들ID>] [--team-id <팀ID>]") - return - } - - var projectName = "" - var bundleIdPrefix = "io.Roy.Module" - var teamId = "N94CS4N6VR" - - var i = 0 - while i < args.count { - switch args[i] { - case "--name", "-n": - if i + 1 < args.count { - projectName = args[i + 1] - i += 1 - } - case "--bundle-id", "-b": - if i + 1 < args.count { - bundleIdPrefix = args[i + 1] - i += 1 - } - case "--team-id", "-t": - if i + 1 < args.count { - teamId = args[i + 1] - i += 1 - } - default: - if projectName.isEmpty { - projectName = args[i] - } - } - i += 1 - } - - guard !projectName.isEmpty else { - print("❌ 프로젝트 이름은 필수입니다.") - print("사용법: ./tuisttool newproject <프로젝트명> [--bundle-id <번들ID>] [--team-id <팀ID>]") - return - } +private func resetProject() -> Int32 { + let fileManager = FileManager.default + let derivedDataURL = fileManager.homeDirectoryForCurrentUser + .appendingPathComponent("Library/Developer/Xcode/DerivedData", isDirectory: true) - generateProjectWithSettings( - name: projectName, - bundleIdPrefix: bundleIdPrefix, - teamId: teamId + do { + let entries = try fileManager.contentsOfDirectory( + at: derivedDataURL, + includingPropertiesForKeys: nil ) -} + for entry in entries where entry.lastPathComponent.hasPrefix("Picke-") { + try fileManager.removeItem(at: entry) + print("DerivedData 삭제: \(entry.lastPathComponent)") + } + } catch CocoaError.fileReadNoSuchFile { + // DerivedData가 아직 없다면 정리할 것도 없으므로 다음 단계로 진행합니다. + } catch { + FileHandle.standardError.write(Data("DerivedData 정리 실패: \(error)\n".utf8)) + return 1 + } -func generateProjectWithSettings(name: String, bundleIdPrefix: String, teamId: String) { - print("\n⚙️ 환경변수 설정 중...") - setenv("PROJECT_NAME", name, 1) - setenv("BUNDLE_ID_PREFIX", bundleIdPrefix, 1) - setenv("TEAM_ID", teamId, 1) - - // 🚨 중요: tuist generate 전에 필수 디렉토리들 미리 생성 - print("📁 필수 디렉토리 사전 생성 중...") - - // 1. 기본 테스트 디렉토리 생성 (템플릿에 필요) - ensureDirectoryExists(at: "Projects/App/Tests") - ensureDirectoryExists(at: "Projects/App/Tests/Sources") - - // 2. FontAsset 디렉토리 생성 (경고 해결) - ensureDirectoryExists(at: "Projects/Shared/DesignSystem/FontAsset") - - print("📁 디렉토리 생성 완료:") - print(" - Tests: \(FileManager.default.fileExists(atPath: "Projects/App/Tests") ? "✅" : "❌")") - print(" - FontAsset: \(FileManager.default.fileExists(atPath: "Projects/Shared/DesignSystem/FontAsset") ? "✅" : "❌")") - - // 기본 테스트 파일 생성 (없으면) - let originalTestFilePath = "Projects/App/Tests/Sources/\(name)Tests.swift" - if !FileManager.default.fileExists(atPath: originalTestFilePath) { - let testFileContent = """ - // - // \(name)Tests.swift - // \(name)Tests - // - // Created by TuistTool. - // - - import XCTest - - final class \(name)Tests: XCTestCase { - - override func setUpWithError() throws { - // Put setup code here. - } - - override func tearDownWithError() throws { - // Put teardown code here. - } - - func testExample() throws { - // This is an example of a functional test case. - } - - func testPerformanceExample() throws { - // This is an example of a performance test case. - self.measure { - // Put the code you want to measure the time of here. - } - } - - } - """ - - do { - try testFileContent.write(toFile: originalTestFilePath, atomically: true, encoding: .utf8) - print("✅ 기본 테스트 파일 생성: \(originalTestFilePath)") - } catch { - print("⚠️ 기본 테스트 파일 생성 실패: \(error)") - } + let cleanStatus = runTuist(arguments: ["clean"]) + guard cleanStatus == 0 else { return cleanStatus } + return installAndGenerate() +} + +/// 레이어마다 scaffold 대상 디렉터리, 카탈로그 enum, 의존성 헬퍼, 엄브렐러가 다르다. +/// 이 대응표를 한곳에 두어야 모듈 추가가 손으로 세 파일을 고치는 일이 되지 않는다. +private enum ModuleLayer: String, CaseIterable { + case feature = "Feature" + case core = "Core" + case service = "Service" + case domain = "Domain" + case ui = "UI" + + /// Modules.swift 안의 카탈로그 enum 이름. + var catalogEnumName: String { + switch self { + case .feature: return "FeatureModule" + case .core: return "CoreModule" + case .service: return "ServiceModule" + case .domain: return "DomainModule" + case .ui: return "UIModule" } + } - print("🧹 기존 프로젝트 정리 중...") - _ = run("tuist", arguments: ["clean"]) - - // 기존 워크스페이스 파일들 삭제 - let filesToRemove = [ - "MultiModuleTemplate.xcworkspace", - "\(name).xcworkspace" // 혹시 이미 있을 수도 있으니 - ] - - for file in filesToRemove { - if FileManager.default.fileExists(atPath: file) { - do { - try FileManager.default.removeItem(atPath: file) - print("🗑️ 기존 워크스페이스 삭제: \(file)") - } catch { - print("⚠️ 워크스페이스 삭제 실패 (\(file)): \(error)") - } - } + /// `.feature(.splash)` 에서 `feature` 에 해당하는 TargetDependency 헬퍼 이름. + var dependencyHelperName: String { + switch self { + case .feature: return "feature" + case .core: return "core" + case .service: return "service" + case .domain: return "domain" + case .ui: return "ui" } + } - print("🔧 Tuist dependencies 설치 중...") - let installResult = run("tuist", arguments: ["install"]) - if installResult != 0 { - print("❌ Dependencies 설치에 실패했습니다.") - return + /// 새 모듈을 자동으로 물릴 엄브렐러. UI 레이어는 엄브렐러가 없다. + var umbrellaManifestPath: String? { + switch self { + case .feature: return "Projects/Feature/FeatureAssembly/Project.swift" + case .core: return "Projects/Core/CoreAssembly/Project.swift" + case .service: return "Projects/Service/ServiceAssembly/Project.swift" + case .domain: return "Projects/Domain/DomainAssembly/Project.swift" + case .ui: return nil } + } - // 🚨 중요: tuist generate 전에 이름 변경 수행! - prepareTemplateForNewProject(oldName: "MultiModuleTemplate", newName: name, bundleIdPrefix: bundleIdPrefix, teamId: teamId) - - // 💯 이름 변경 완료 후 최종 검증 - print("🔍 이름 변경 최종 검증 중...") - let projectConfigPath = "Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/ProjectConfig.swift" - if let content = try? String(contentsOfFile: projectConfigPath, encoding: .utf8) { - if content.contains("projectName: String = \"\(name)\"") { - print("✅ 최종 검증 성공: ProjectConfig.swift에서 \(name) 확인됨") - } else { - print("❌ 최종 검증 실패: ProjectConfig.swift에서 \(name)을 찾을 수 없음") - print(" 현재 프로젝트명 라인:") - let lines = content.components(separatedBy: .newlines) - for (i, line) in lines.enumerated() { - if line.contains("projectName") { - print(" 라인 \(i+1): \(line)") - } - } - print("❌ 프로젝트 생성을 중단합니다.") - return - } + /// 카탈로그 case 는 레이어 이름을 되풀이하지 않는다 — `AuthDomain` 은 `auth` 로 적힌다. + var redundantNameSuffix: String? { + switch self { + case .domain: return "Domain" + case .service: return "Service" + case .feature, .core, .ui: return nil } + } - print("🔧 Tuist 프로젝트 생성 중...") - let result = run("tuist", arguments: ["generate"]) - - if result == 0 { - print("✅ Tuist 프로젝트 생성 성공!") - - // 생성된 워크스페이스 확인 및 이름 변경 - let expectedWorkspaceName = "\(name).xcworkspace" - let oldWorkspaceName = "MultiModuleTemplate.xcworkspace" - - print("🔍 생성된 워크스페이스 확인 중...") - - // 새 이름으로 이미 생성되었는지 확인 - if FileManager.default.fileExists(atPath: expectedWorkspaceName) { - print("✅ 올바른 이름의 워크스페이스 생성됨: \(expectedWorkspaceName)") - } - // 아직 옛날 이름으로 생성되었다면 이름 변경 - else if FileManager.default.fileExists(atPath: oldWorkspaceName) { - do { - try FileManager.default.moveItem(atPath: oldWorkspaceName, toPath: expectedWorkspaceName) - print("📝 Workspace 이름 변경: \(oldWorkspaceName) → \(expectedWorkspaceName)") - } catch { - print("⚠️ Workspace 이름 변경 실패: \(error)") - } - } - else { - print("⚠️ 예상된 워크스페이스 파일을 찾을 수 없습니다") - // 현재 디렉토리의 .xcworkspace 파일들 확인 - if let files = try? FileManager.default.contentsOfDirectory(atPath: ".") { - let workspaceFiles = files.filter { $0.hasSuffix(".xcworkspace") } - print(" 현재 디렉토리의 워크스페이스 파일들: \(workspaceFiles)") - } - } - - // renameProjectArtifacts는 이미 prepareTemplateForNewProject에서 호출됨 - - print("\n✅ 프로젝트 '\(name)'이 성공적으로 생성되었습니다!") - print("💡 다음 명령어로 Xcode에서 열 수 있습니다:") - print(" open \(expectedWorkspaceName)") - } else { - print("❌ 프로젝트 생성에 실패했습니다.") + init?(argument: String) { + let normalized = argument.lowercased() + guard let matched = ModuleLayer.allCases.first(where: { $0.rawValue.lowercased() == normalized }) + else { + return nil } + self = matched + } } -private func prepareTemplateForNewProject(oldName: String, newName: String, bundleIdPrefix: String, teamId: String) { - print("🔄 템플릿 준비 중...") - print(" - 이전 이름: \(oldName)") - print(" - 새 이름: \(newName)") - print(" - 번들 ID: \(bundleIdPrefix)") - print(" - 팀 ID: \(teamId)") +private let moduleCatalogPath = + "Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Modules.swift" - // 1단계: 프로젝트 아티팩트 이름 변경 - renameProjectArtifacts(oldName: oldName, newName: newName) +/// Module 템플릿이 author 를 required 로 받지만 파일 헤더는 저장소 전체가 같은 이름으로 통일돼 있다. +/// 명령 인자로 열어두면 헤더만 어긋나므로 고정값으로 넘긴다. +private let scaffoldAuthor = "Wonji Suh" - // 2단계: 환경 설정 파일 업데이트 - updateEnvironmentDefaults(oldName: oldName, newName: newName, bundleIdPrefix: bundleIdPrefix, teamId: teamId) - - // 3단계: ProjectConfig.swift 업데이트 (핵심!) - updateProjectConfig(newName: newName, bundleIdPrefix: bundleIdPrefix, teamId: teamId) +/// `PickeNetwork` → `network`, `AuthDomain` → `auth`, `Splash` → `splash`. +/// 카탈로그에는 `apiEndpoint = "APIEndpoint"` 처럼 두문자어라 규칙으로 못 맞추는 case 도 있어서 +/// 어긋나는 이름은 `--case` 로 직접 지정한다. +private func defaultCaseName(for moduleName: String, layer: ModuleLayer) -> String { + var name = moduleName + if name.hasPrefix("Picke"), name.count > 5 { + name.removeFirst(5) + } + if let suffix = layer.redundantNameSuffix, name.hasSuffix(suffix), name.count > suffix.count { + name.removeLast(suffix.count) + } + guard let first = name.first else { return name } + return first.lowercased() + name.dropFirst() +} + +/// 내부 모듈 그래프를 만든다. +/// +/// 기본 그래프는 Tests·Testing·Interface 까지 포함해 각 모듈의 진입점을 함께 보여주되 +/// Demo 앱은 제외한다. 배포 구조만 확인하는 `graph:prod`에서는 Tests까지 함께 제외한다. +/// Tuist에는 Demo 타깃만 제외하는 옵션이 없어 dot에서 Demo 노드와 간선을 걷어낸다. +private func renderGraph( + excludesDemo: Bool, + extraTuistArguments: [String], + forwardedArguments: [String] +) -> Int32 { + let fileManager = FileManager.default + let workDirectory = fileManager.temporaryDirectory + .appendingPathComponent("picke-graph-\(UUID().uuidString)") - // 4단계: xconfig 파일들 업데이트 - updateXConfigFiles(newName: newName) + do { + try fileManager.createDirectory(at: workDirectory, withIntermediateDirectories: true) + } catch { + FileHandle.standardError.write(Data("작업 디렉터리를 만들지 못했습니다: \(error)\n".utf8)) + return 1 + } + defer { try? fileManager.removeItem(at: workDirectory) } + + let dotStatus = runTuist(arguments: [ + "graph", + "--no-open", + "--skip-external-dependencies", + "--format", "dot", + "--output-path", workDirectory.path, + ] + extraTuistArguments + forwardedArguments) + guard dotStatus == 0 else { return dotStatus } + + let dotURL = workDirectory.appendingPathComponent("graph.dot") + guard let rawGraph = try? String(contentsOf: dotURL, encoding: .utf8) else { + FileHandle.standardError.write(Data("dot 파일을 읽지 못했습니다: \(dotURL.path)\n".utf8)) + return 1 + } - // 5단계: 검증 - verifyNameChange(oldName: oldName, newName: newName) -} + let graph: String = if excludesDemo { + // 노드 선언(`AuthDemo [..]`)과 엣지(`AuthDemo -> Auth`) 양쪽에서 + // 이름이 Demo 로 끝나는 줄을 지운다. dot 출력은 식별자에 따옴표를 붙이지 않는다. + rawGraph + .split(separator: "\n", omittingEmptySubsequences: false) + .filter { line in + line.range(of: #"\b[A-Za-z0-9_]+Demo\b"#, options: .regularExpression) == nil + } + .joined(separator: "\n") + } else { + rawGraph + } -private func renameProjectArtifacts(oldName: String, newName: String) { - guard oldName != newName else { return } - - let appRoot = "Projects/App" - - let oldProjectPath = "\(appRoot)/\(oldName).xcodeproj" - let newProjectPath = "\(appRoot)/\(newName).xcodeproj" - renameItemIfNeeded(at: oldProjectPath, to: newProjectPath, description: ".xcodeproj 이동") - - updateXcodeProjectContent(at: newProjectPath, oldName: oldName, newName: newName) - - let oldTestsFolder = "\(appRoot)/\(oldName)Tests" - let newTestsFolder = "\(appRoot)/\(newName)Tests" - renameItemIfNeeded(at: oldTestsFolder, to: newTestsFolder, description: "테스트 타겟 폴더 이동") - - // 테스트 디렉토리 강제 생성 (더 확실하게) - ensureDirectoryExists(at: newTestsFolder) - ensureDirectoryExists(at: "\(newTestsFolder)/Sources") - - print("📁 테스트 디렉토리 확인:") - print(" - \(newTestsFolder): \(FileManager.default.fileExists(atPath: newTestsFolder) ? "✅" : "❌")") - print(" - \(newTestsFolder)/Sources: \(FileManager.default.fileExists(atPath: "\(newTestsFolder)/Sources") ? "✅" : "❌")") - - let oldTestFile = "\(newTestsFolder)/Sources/\(oldName)Tests.swift" - let newTestFile = "\(newTestsFolder)/Sources/\(newName)Tests.swift" - renameItemIfNeeded(at: oldTestFile, to: newTestFile, description: "테스트 파일 이름 변경") - replaceOccurrences(inFileAtPath: newTestFile, replacements: [oldName: newName, "\(oldName)Tests": "\(newName)Tests"]) - - let applicationSourcesPath = "\(appRoot)/Sources/Application" - let oldAppFile = "\(applicationSourcesPath)/\(oldName)App.swift" - let newAppFile = "\(applicationSourcesPath)/\(newName)App.swift" - renameItemIfNeeded(at: oldAppFile, to: newAppFile, description: "App Entry 파일 이름 변경") - replaceOccurrences( - inFileAtPath: newAppFile, - replacements: [ - "\(oldName)App": "\(newName)App", - "TuistAssets+\(oldName)": "TuistAssets+\(newName)", - "TuistBundle+\(oldName)": "TuistBundle+\(newName)" - ] - ) -} + let renderedGraphURL = workDirectory.appendingPathComponent("rendered-graph.dot") + do { + try graph.write(to: renderedGraphURL, atomically: true, encoding: .utf8) + } catch { + FileHandle.standardError.write(Data("렌더링할 dot 을 쓰지 못했습니다: \(error)\n".utf8)) + return 1 + } -private func renameItemIfNeeded(at oldPath: String, to newPath: String, description: String) { - let fileManager = FileManager.default - guard oldPath != newPath else { return } - guard fileManager.fileExists(atPath: oldPath) else { return } - - do { - if fileManager.fileExists(atPath: newPath) { - try fileManager.removeItem(atPath: newPath) - } - try fileManager.moveItem(atPath: oldPath, toPath: newPath) - } catch { - print("⚠️ \(description) 실패: \(error)") - } -} + let renderStatus = run("dot", arguments: ["-Tpng", renderedGraphURL.path, "-o", "graph.png"]) + guard renderStatus == 0 else { + FileHandle.standardError.write(Data("graphviz 렌더링에 실패했습니다. `brew install graphviz` 가 필요합니다.\n".utf8)) + return renderStatus + } -private func ensureDirectoryExists(at path: String) { - let fileManager = FileManager.default - if !fileManager.fileExists(atPath: path) { - do { - try fileManager.createDirectory(atPath: path, withIntermediateDirectories: true, attributes: nil) - } catch { - print("⚠️ 디렉토리 생성 실패 (\(path)): \(error)") - } - } + let skipsTests = extraTuistArguments.contains("--skip-test-targets") + print(skipsTests + ? "graph.png 를 만들었습니다 (Tests·Demo 제외)" + : "graph.png 를 만들었습니다 (Demo 제외, Tests·Testing·Interface 포함)") + return 0 } -// MARK: - Tests 디렉토리 자동 생성 -private func ensureTestsDirectoriesForHasTestsModules() { - print("🔍 hasTests: true인 모듈들의 Tests/Sources 디렉토리 확인 중...") +/// `anchor` 가 들어간 첫 줄 바로 아래에 `line` 을 끼워 넣는다. +/// `guardText` 가 이미 파일에 있으면 재실행해도 중복으로 쌓이지 않는다. +@discardableResult +private func insertLine( + _ line: String, + afterLineContaining anchor: String, + skipIfContains guardText: String, + inFileAt path: String +) -> Bool { + guard let contents = try? String(contentsOfFile: path, encoding: .utf8) else { + FileHandle.standardError.write(Data("파일을 읽지 못했습니다: \(path)\n".utf8)) + return false + } - let fileManager = FileManager.default - guard let enumerator = fileManager.enumerator(atPath: "Projects") else { - print("⚠️ Projects 디렉토리를 찾을 수 없습니다") - return - } + if contents.contains(guardText) { + print("이미 등록되어 있어 건너뜁니다: \(guardText)") + return true + } - var createdCount = 0 - var existingCount = 0 - - while let relativePath = enumerator.nextObject() as? String { - guard relativePath.hasSuffix("Project.swift") else { continue } - - let fullPath = "Projects/\(relativePath)" - let projectDir = URL(fileURLWithPath: fullPath).deletingLastPathComponent().path - - // Project.swift 파일에서 hasTests: true 확인 - do { - let content = try String(contentsOfFile: fullPath, encoding: .utf8) - if content.contains("hasTests: true") { - let testsSourcesPath = "\(projectDir)/Tests/Sources" - - if !fileManager.fileExists(atPath: testsSourcesPath) { - ensureDirectoryExists(at: testsSourcesPath) - print("📁 Created Tests/Sources for \(URL(fileURLWithPath: projectDir).lastPathComponent)") - createdCount += 1 - } else { - existingCount += 1 - } - } - } catch { - print("⚠️ \(fullPath) 파일 읽기 실패: \(error)") - } - } + var lines = contents.components(separatedBy: "\n") + guard let anchorIndex = lines.firstIndex(where: { $0.contains(anchor) }) else { + FileHandle.standardError.write(Data("기준 위치를 찾지 못했습니다: \(anchor) (\(path))\n".utf8)) + return false + } - if createdCount > 0 { - print("✅ \(createdCount)개의 Tests/Sources 디렉토리가 생성되었습니다") - } - if existingCount > 0 { - print("ℹ️ \(existingCount)개의 Tests/Sources 디렉토리가 이미 존재합니다") - } - if createdCount == 0 && existingCount == 0 { - print("ℹ️ hasTests: true인 모듈을 찾을 수 없습니다") - } -} + lines.insert(line, at: lines.index(after: anchorIndex)) -private func updateEnvironmentDefaults(oldName: String, newName: String, bundleIdPrefix: String, teamId: String) { - let environmentPath = "Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/Project+Enviorment.swift" + do { + try lines.joined(separator: "\n").write(toFile: path, atomically: true, encoding: .utf8) + } catch { + FileHandle.standardError.write(Data("파일을 쓰지 못했습니다: \(path) - \(error)\n".utf8)) + return false + } - print("🔧 Project+Environment.swift 업데이트 중...") + print("등록: \(line.trimmingCharacters(in: .whitespaces)) → \(path)") + return true +} - guard FileManager.default.fileExists(atPath: environmentPath) else { - print("⚠️ Environment 파일을 찾을 수 없습니다: \(environmentPath)") - return +private func scaffoldModule(layer presetLayer: ModuleLayer?, arguments: [String]) -> Int32 { + var positional: [String] = [] + var caseNameOverride: String? + var index = arguments.startIndex + while index < arguments.endIndex { + if arguments[index] == "--case", arguments.index(after: index) < arguments.endIndex { + caseNameOverride = arguments[arguments.index(after: index)] + index = arguments.index(index, offsetBy: 2) + } else { + positional.append(arguments[index]) + index = arguments.index(after: index) } + } - do { - var content = try String(contentsOfFile: environmentPath, encoding: .utf8) - let originalContent = content - - // ProjectConfig.projectName 참조로 변경 (하드코딩 제거) - let projectNamePattern = #"return \"[^\"]+\""# - let projectNameReplacement = "return ProjectConfig.projectName" - content = content.replacingOccurrences(of: projectNamePattern, with: projectNameReplacement, options: .regularExpression) + let layer: ModuleLayer + if let presetLayer { + layer = presetLayer + } else { + let rawLayer = positional.first ?? prompt("레이어를 입력하세요 (Feature/Core/Service/Domain/UI)") + guard let parsed = ModuleLayer(argument: rawLayer) else { + FileHandle.standardError.write(Data("알 수 없는 레이어: \(rawLayer)\n".utf8)) + return 64 + } + layer = parsed + positional = Array(positional.dropFirst()) + } - // 기존 하드코딩된 값들 업데이트 (백업용) - content = content.replacingOccurrences(of: #"BUNDLE_ID_PREFIX"] ?? \"[^\"]+\""#, with: "BUNDLE_ID_PREFIX\"] ?? \"\(bundleIdPrefix)\"", options: .regularExpression) - content = content.replacingOccurrences(of: #"TEAM_ID"] ?? \"[^\"]+\""#, with: "TEAM_ID\"] ?? \"\(teamId)\"", options: .regularExpression) + let name = positional.first ?? prompt("\(layer.rawValue) 모듈 이름을 입력하세요") + guard !name.isEmpty else { + FileHandle.standardError.write(Data("모듈 이름이 필요합니다.\n".utf8)) + return 64 + } - // 이전 이름을 새 이름으로 바꾸기 - content = content.replacingOccurrences(of: oldName, with: newName) + let caseName = caseNameOverride ?? defaultCaseName(for: name, layer: layer) - if content != originalContent { - try content.write(toFile: environmentPath, atomically: true, encoding: .utf8) - print("✅ Project+Environment.swift 업데이트 완료") - } else { - print("ℹ️ Project+Environment.swift 변경사항 없음") - } + let scaffoldStatus = runTuist(arguments: [ + "scaffold", "Module", + "--layer", layer.rawValue, + "--name", name, + "--author", scaffoldAuthor, + ]) + guard scaffoldStatus == 0 else { return scaffoldStatus } + + // 카탈로그에 case 가 있어야 `.feature(.x)` 같은 의존성 표기가 컴파일된다. + guard insertLine( + " case \(caseName) = \"\(name)\"", + afterLineContaining: "public enum \(layer.catalogEnumName): String, CaseIterable {", + skipIfContains: "= \"\(name)\"", + inFileAt: moduleCatalogPath + ) else { + return 1 + } - } catch { - print("❌ Environment 파일 업데이트 실패: \(error)") + if let umbrellaManifestPath = layer.umbrellaManifestPath { + guard insertLine( + " .\(layer.dependencyHelperName)(.\(caseName)),", + afterLineContaining: "dependencies: [", + skipIfContains: ".\(layer.dependencyHelperName)(.\(caseName))", + inFileAt: umbrellaManifestPath + ) else { + return 1 } -} + } else { + print("\(layer.rawValue) 레이어는 엄브렐러가 없어 의존성 등록을 건너뜁니다.") + } -private func updateXcodeProjectContent(at projectPath: String, oldName: String, newName: String) { - let fileManager = FileManager.default - guard fileManager.fileExists(atPath: projectPath) else { return } - - let pbxprojPath = "\(projectPath)/project.pbxproj" - replaceOccurrences( - inFileAtPath: pbxprojPath, - replacements: [ - "\(oldName)": "\(newName)", - "\(oldName)Tests": "\(newName)Tests" - ] - ) + return runTuist(arguments: ["generate"]) +} + +private func printHelp() { + print( + """ + 🚀 Picke Tuist 도구 + + 기본 명령어: + ./make setup # mise 도구 설치 + 캐시 설정 + 의존성 설치 + 프로젝트 생성 + ./make generate # Demo 앱을 포함해 프로젝트 생성 + ./make build # 클린 + 의존성 설치 + 프로젝트 생성 + ./make install # 의존성 설치 + 프로젝트 생성 + ./make cache # 바이너리 캐시 생성 + ./make cache:setup # Xcode Compilation Cache 설정 + ./make test # 전체 테스트 실행 + ./make format # SwiftFormat 적용 + ./make lint # SwiftFormat 검사 + ./make clean # 프로젝트 정리 + ./make reset # 앱 DerivedData 정리 + clean + install + generate + ./make edit # 매니페스트를 Xcode 로 열기 - let schemesDirectory = "\(projectPath)/xcshareddata/xcschemes" - guard let schemes = try? fileManager.contentsOfDirectory(atPath: schemesDirectory) else { return } + 점검: + ./make inspect # 프로젝트 구조 분석 + ./make inspect-imports # 암시적 의존성 검사 + ./make inspect-coverage # 코드 커버리지 분석 - for scheme in schemes where scheme.contains(oldName) { - let oldSchemePath = "\(schemesDirectory)/\(scheme)" - let newSchemeName = scheme.replacingOccurrences(of: oldName, with: newName) - let newSchemePath = "\(schemesDirectory)/\(newSchemeName)" - renameItemIfNeeded(at: oldSchemePath, to: newSchemePath, description: "스킴 파일 이름 변경") - replaceOccurrences(inFileAtPath: newSchemePath, replacements: [oldName: newName]) - } -} + 모듈 생성 (scaffold + 카탈로그 case + 엄브렐러 의존성 자동 등록): + ./make feature <이름> [--case <케이스명>] + ./make core <이름> [--case <케이스명>] + ./make service <이름> [--case <케이스명>] + ./make domain <이름> [--case <케이스명>] + ./make ui <이름> [--case <케이스명>] + ./make module <레이어> <이름> # 레이어를 인자로 받는 형태 + ./make moduleinit # module 명령의 호환 별칭 -private func replaceOccurrences(inFileAtPath path: String, replacements: [String: String]) { - let fileManager = FileManager.default - guard fileManager.fileExists(atPath: path) else { return } - - do { - var content = try String(contentsOfFile: path, encoding: .utf8) - var updated = false - for (target, replacement) in replacements { - if content.contains(target) { - content = content.replacingOccurrences(of: target, with: replacement) - updated = true - } - } - - if updated { - try content.write(toFile: path, atomically: true, encoding: .utf8) - } - } catch { - print("⚠️ 문자열 치환 실패 (\(path)): \(error)") - } -} + 케이스명은 모듈명에서 Picke 접두와 레이어 접미를 떼고 첫 글자를 소문자로 바꿔 만든다 + (PickeNetwork → network, AuthDomain → auth). 규칙과 다르면 --case 로 직접 지정한다. -private func replacePattern(inFileAtPath path: String, pattern: String, replacement: String) { - let fileManager = FileManager.default - guard fileManager.fileExists(atPath: path) else { return } - - do { - let content = try String(contentsOfFile: path, encoding: .utf8) - let regex = try NSRegularExpression(pattern: pattern, options: []) - let range = NSRange(location: 0, length: (content as NSString).length) - let template = NSRegularExpression.escapedTemplate(for: replacement) - let newContent = regex.stringByReplacingMatches(in: content, options: [], range: range, withTemplate: template) - if newContent != content { - try newContent.write(toFile: path, atomically: true, encoding: .utf8) - } - } catch { - print("⚠️ 문자열 패턴 치환 실패 (\(path)): \(error)") - } + 의존성 그래프: + ./make graph # 외부 패키지·Demo를 제외하고 Tests·Testing·Interface를 포함한 모듈 그래프 생성 + ./make graph:prod # 외부 패키지·Demo·테스트 타깃을 제외한 그래프 생성 + """ + ) } -// MARK: - 핵심 ProjectConfig.swift 업데이트 함수 (강화 버전) -private func updateProjectConfig(newName: String, bundleIdPrefix: String, teamId: String) { - let projectConfigPath = "Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/ProjectConfig.swift" +private func execute(_ command: Command, forwardedArguments: [String]) -> Int32 { + switch command { + case .setup: + var results: [(String, StepResult)] = [] - print("🔧 ProjectConfig.swift 업데이트 중...") - print(" - 새 이름: \(newName)") - print(" - 파일 경로: \(projectConfigPath)") - - guard FileManager.default.fileExists(atPath: projectConfigPath) else { - print("❌ ProjectConfig.swift 파일을 찾을 수 없습니다: \(projectConfigPath)") - return + let miseStatus = run("mise", arguments: ["install"]) + results.append(("mise 도구 설치", miseStatus == 0 ? .passed : .failed(miseStatus))) + guard miseStatus == 0 else { + printSetupSummary(results) + return miseStatus } - do { - var content = try String(contentsOfFile: projectConfigPath, encoding: .utf8) - let originalContent = content - print("📄 원본 파일 크기: \(content.count) 문자") - - // 1. 더 강력한 프로젝트 이름 업데이트 (여러 패턴 시도) - let patterns = [ - (#"public static let projectName: String = "[^"]*""#, "public static let projectName: String = \"\(newName)\""), - (#"projectName: String = "[^"]*""#, "projectName: String = \"\(newName)\""), - (#"let projectName: String = "[^"]*""#, "let projectName: String = \"\(newName)\""), - (#"= "MultiModuleTemplate""#, "= \"\(newName)\"") // 직접 매칭 - ] - - var updateCount = 0 - for (pattern, replacement) in patterns { - let beforeUpdate = content - content = content.replacingOccurrences(of: pattern, with: replacement, options: .regularExpression) - if content != beforeUpdate { - updateCount += 1 - print("✅ 패턴 매칭 성공: \(pattern)") - } - } - - // 2. 번들 ID 접두사 업데이트 - let bundleIdPatterns = [ - (#"public static let bundleIdPrefix = "[^"]*""#, "public static let bundleIdPrefix = \"\(bundleIdPrefix)\""), - (#"bundleIdPrefix = "[^"]*""#, "bundleIdPrefix = \"\(bundleIdPrefix)\"") - ] - - for (pattern, replacement) in bundleIdPatterns { - let beforeUpdate = content - content = content.replacingOccurrences(of: pattern, with: replacement, options: .regularExpression) - if content != beforeUpdate { - updateCount += 1 - print("✅ 번들 ID 업데이트 성공") - } - } - - // 3. 팀 ID 업데이트 - let teamIdPatterns = [ - (#"public static let teamId = "[^"]*""#, "public static let teamId = \"\(teamId)\""), - (#"teamId = "[^"]*""#, "teamId = \"\(teamId)\"") - ] - - for (pattern, replacement) in teamIdPatterns { - let beforeUpdate = content - content = content.replacingOccurrences(of: pattern, with: replacement, options: .regularExpression) - if content != beforeUpdate { - updateCount += 1 - print("✅ 팀 ID 업데이트 성공") - } - } - - if content != originalContent { - try content.write(toFile: projectConfigPath, atomically: true, encoding: .utf8) - print("✅ ProjectConfig.swift 업데이트 완료 (총 \(updateCount)개 변경)") - - // 변경 내용 검증 - let verifyContent = try String(contentsOfFile: projectConfigPath, encoding: .utf8) - if verifyContent.contains("projectName: String = \"\(newName)\"") { - print("✅ 이름 변경 검증 성공: \(newName)") - } else { - print("⚠️ 이름 변경 검증 실패!") - print(" 현재 내용에서 projectName 라인:") - let lines = verifyContent.components(separatedBy: .newlines) - for (i, line) in lines.enumerated() { - if line.contains("projectName") { - print(" 라인 \(i+1): \(line)") - } - } - } - } else { - print("⚠️ ProjectConfig.swift 변경사항 없음 - 패턴이 매칭되지 않았습니다") - // 디버깅을 위해 현재 내용 출력 - let lines = content.components(separatedBy: .newlines) - for (i, line) in lines.enumerated() { - if line.contains("projectName") { - print(" 기존 라인 \(i+1): \(line)") - } - } - } - - } catch { - print("❌ ProjectConfig.swift 업데이트 실패: \(error)") + // Xcode Compilation Cache 는 Tuist 계정 로그인과 네트워크가 필요하다. + // 실패해도 프로젝트 생성 자체는 막지 않고 건너뛴 사실만 남긴다. + let cacheStatus = runTuist(arguments: ["setup", "cache"]) + results.append(( + "Xcode Compilation Cache 설정", + cacheStatus == 0 ? .passed : .skipped("`tuist auth login` 후 ./make cache:setup 으로 재시도") + )) + + let installStatus = runTuist(arguments: ["install"] + forwardedArguments) + results.append(("의존성 설치", installStatus == 0 ? .passed : .failed(installStatus))) + guard installStatus == 0 else { + printSetupSummary(results) + return installStatus } -} -// MARK: - 이름 변경 검증 함수 -private func verifyNameChange(oldName: String, newName: String) { - print("🔍 이름 변경 검증 중...") + let generateStatus = runTuist(arguments: ["generate"]) + results.append(("프로젝트 생성", generateStatus == 0 ? .passed : .failed(generateStatus))) + printSetupSummary(results) + return generateStatus - let projectConfigPath = "Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/ProjectConfig.swift" + case .generate: + return runTuist(arguments: ["generate"] + forwardedArguments) - if let content = try? String(contentsOfFile: projectConfigPath, encoding: .utf8) { - if content.contains("projectName: String = \"\(newName)\"") { - print("✅ ProjectConfig.swift 이름 변경 확인됨") - } else { - print("⚠️ ProjectConfig.swift에서 새 이름을 찾을 수 없습니다") - print(" 파일 내용 확인이 필요합니다") - } + case .build: + for arguments in [["clean"], ["install"], ["generate"]] { + let status = runTuist(arguments: arguments) + guard status == 0 else { return status } } + return 0 - // Workspace.swift와 Project+Environment.swift 검증 - let workspacePath = "WorkSpace.swift" - let environmentPath = "Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/Project+Enviorment.swift" - - for path in [workspacePath, environmentPath] { - if FileManager.default.fileExists(atPath: path) { - if let content = try? String(contentsOfFile: path, encoding: .utf8) { - if content.contains(oldName) && oldName != newName { - print("⚠️ \(path)에 이전 이름(\(oldName))이 남아있습니다") - } else { - print("✅ \(path) 검증 통과") - } - } - } - } -} + case .install: + return installAndGenerate(forwardedArguments: forwardedArguments) -func fetch() { run("tuist", arguments: ["fetch"]) } -func build() { clean(); install(); generate() } // fetch -> install로 변경 (tuist 4.97.2) -func edit() { run("tuist", arguments: ["edit"]) } -func clean() { run("tuist", arguments: ["clean"]) } -func install() { run("tuist", arguments: ["install"]) } // 새로운 install 명령어 사용 -func cache() { - print("🚀 바이너리 캐시 생성 중...") - run("tuist", arguments: ["cache"]) // 프로젝트명 제거하고 일반화 -} -func reset() { - print("🧹 캐시 및 로컬 빌드 정리 중...") - run("rm", arguments: ["-rf", "\(NSHomeDirectory())/Library/Caches/Tuist"]) - run("rm", arguments: ["-rf", "\(NSHomeDirectory())/Library/Developer/Xcode/DerivedData"]) - run("rm", arguments: ["-rf", ".tuist", ".build"]) - run("rm", arguments: ["-rf", "Tuist/Dependencies"]) // 새로운 의존성 디렉토리도 정리 - install(); generate() // fetch -> install로 변경 -} + case .cache: + return runTuist(arguments: ["cache"] + forwardedArguments) -// MARK: - Parsers (Modules.swift / SPM 목록에서 자동 파싱) -func availableModuleTypes() -> [String] { - let filePath = "Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Modules.swift" - guard let content = try? String(contentsOfFile: filePath, encoding: .utf8) else { return [] } - let pattern = "enum (\\w+):" - let regex = try? NSRegularExpression(pattern: pattern) - let matches = regex?.matches(in: content, range: NSRange(content.startIndex..., in: content)) ?? [] - return matches.compactMap { - guard let range = Range($0.range(at: 1), in: content) else { return nil } - let name = String(content[range]) - return name.hasSuffix("s") ? String(name.dropLast()) : name - } -} + case .cacheSetup: + return runTuist(arguments: ["setup", "cache"] + forwardedArguments) -func parseModulesFromFile(keyword: String) -> [String] { - let filePath = "Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Modules.swift" - guard let content = try? String(contentsOfFile: filePath, encoding: .utf8) else { - print("❗️ Modules.swift 파일을 읽을 수 없습니다.") - return [] - } - let pattern = "enum \(keyword).*?\\{([\\s\\S]*?)\\}" - guard let regex = try? NSRegularExpression(pattern: pattern), - let match = regex.firstMatch(in: content, range: NSRange(content.startIndex..., in: content)), - let innerRange = Range(match.range(at: 1), in: content) else { - return [] - } - let innerContent = content[innerRange] - let casePattern = "case (\\w+)" - let caseRegex = try? NSRegularExpression(pattern: casePattern) - let lines = innerContent.components(separatedBy: .newlines) - return lines.compactMap { line in - guard let match = caseRegex?.firstMatch(in: line, range: NSRange(line.startIndex..., in: line)), - let range = Range(match.range(at: 1), in: line) else { return nil } - return String(line[range]) - } -} + case .test: + return runTuist(arguments: ["test"] + forwardedArguments) -func parseSPMLibraries() -> [String] { - let filePath = "Plugins/DependencyPackagePlugin/ProjectDescriptionHelpers/DependencyPackage/Extension+TargetDependencySPM.swift" - guard let content = try? String(contentsOfFile: filePath, encoding: .utf8) else { - print("❗️ SPM 목록 파일을 읽을 수 없습니다.") - return [] - } - let pattern = "static let (\\w+)" - let regex = try? NSRegularExpression(pattern: pattern) - let lines = content.components(separatedBy: .newlines) - return lines.compactMap { line in - guard let match = regex?.firstMatch(in: line, range: NSRange(line.startIndex..., in: line)), - let range = Range(match.range(at: 1), in: line) else { return nil } - return String(line[range]) - } -} + case .format: + return run("mise", arguments: ["exec", "--", "swiftformat", "."] + forwardedArguments) -// MARK: - Module Auto Registration Helper -func addModuleToPluginAutomatically(moduleName: String, layer: String) -> Bool { - let modulesFilePath = "Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Modules.swift" + case .lint: + return run("mise", arguments: ["exec", "--", "swiftformat", "--lint", "."] + forwardedArguments) - guard FileManager.default.fileExists(atPath: modulesFilePath) else { - print("❌ Modules.swift 파일을 찾을 수 없습니다: \(modulesFilePath)") - return false - } + case .clean: + return runTuist(arguments: ["clean"] + forwardedArguments) - do { - var content = try String(contentsOfFile: modulesFilePath, encoding: .utf8) - let originalContent = content - - // 레이어별 enum 이름 매핑 - let enumName: String - switch layer { - case "Presentation": - enumName = "Presentations" - case "Shared": - enumName = "Shareds" - case "Domain": - enumName = "Domains" - case "Network": - enumName = "Networks" - case "Data": - enumName = "Datas" - default: - print("❌ 알 수 없는 레이어: \(layer)") - return false - } + case .reset: + return resetProject() - // enum 찾기 및 case 추가 - let enumPattern = "enum \(enumName): String, CaseIterable \\{([\\s\\S]*?)\\}" + case .edit: + return runTuist(arguments: ["edit"] + forwardedArguments) - guard let enumRegex = try? NSRegularExpression(pattern: enumPattern), - let enumMatch = enumRegex.firstMatch(in: content, range: NSRange(content.startIndex..., in: content)), - let enumRange = Range(enumMatch.range, in: content) else { - print("❌ \(enumName) enum을 찾을 수 없습니다") - return false - } + case .inspect: + return runTuist(arguments: ["inspect"] + forwardedArguments) - // enum 내부 검사하여 중복 확인 - if let innerRange = Range(enumMatch.range(at: 1), in: content) { - let innerContent = String(content[innerRange]) - if innerContent.contains("case \(moduleName)") { - print("ℹ️ 모듈 '\(moduleName)'이 이미 \(enumName)에 존재합니다") - return true - } - } + case .inspectImports: + return runTuist(arguments: ["inspect", "implicit-imports"] + forwardedArguments) - // 마지막 case 뒤에 새로운 case 추가 - let enumEndIndex = content.index(before: enumRange.upperBound) - let newCase = " case \(moduleName)\n " - content.insert(contentsOf: newCase, at: enumEndIndex) + case .inspectCoverage: + return runTuist(arguments: ["inspect", "code-coverage"] + forwardedArguments) - // 파일 업데이트 - if content != originalContent { - try content.write(toFile: modulesFilePath, atomically: true, encoding: .utf8) - print("✅ \(enumName)에 '\(moduleName)' 모듈이 자동으로 추가되었습니다") - return true - } + case .module, .moduleInit: + return scaffoldModule(layer: nil, arguments: forwardedArguments) - } catch { - print("❌ Modules.swift 파일 업데이트 실패: \(error)") - return false - } + case .feature: + return scaffoldModule(layer: .feature, arguments: forwardedArguments) - return false -} + case .core: + return scaffoldModule(layer: .core, arguments: forwardedArguments) -// MARK: - registerModule -func registerModule() { - print("\n🚀 새 모듈 등록을 시작합니다.") - let moduleInput = prompt("모듈 이름을 입력하세요 (예: Presentation_Home, Shared_Logger, Domain_Auth 등)") - let moduleName = prompt("생성할 모듈 이름을 입력하세요 (예: Home)") + case .service: + return scaffoldModule(layer: .service, arguments: forwardedArguments) - // ✅ 모듈명 유효성 검사 - guard !moduleName.isEmpty else { - print("❌ 모듈명이 비어있습니다.") - return - } - - guard moduleName.count >= 1 else { - print("❌ 모듈명이 올바르지 않습니다.") - return - } - - var dependencies: [String] = [] - while true { - print("의존성 종류 선택:") - print(" 1) SPM") - print(" 2) 내부 모듈") - print(" 3) 종료") - let choice = prompt("번호 선택") - if choice == "3" { break } - - if choice == "1" { - let options = parseSPMLibraries() - for (i, lib) in options.enumerated() { print(" \(i + 1). \(lib)") } - let selected = Int(prompt("선택할 번호 입력")) ?? 0 - if (1...options.count).contains(selected) { - dependencies.append(".SPM.\(options[selected - 1])") - } - } else if choice == "2" { - let types = availableModuleTypes() - for (i, type) in types.enumerated() { print(" \(i + 1). \(type)") } - let typeIndex = Int(prompt("의존할 모듈 타입 번호 입력")) ?? 0 - guard (1...types.count).contains(typeIndex) else { continue } - let keyword = types[typeIndex - 1] - - let options = parseModulesFromFile(keyword: keyword) - for (i, opt) in options.enumerated() { print(" \(i + 1). \(opt)") } - let moduleIndex = Int(prompt("선택할 번호 입력")) ?? 0 - if (1...options.count).contains(moduleIndex) { - dependencies.append(".\(keyword)(implements: .\(options[moduleIndex - 1]))") - } - } - } - - // 🧪 hasTests 옵션 선택 - print("\n🧪 테스트 설정:") - let hasTestsChoice = prompt("이 모듈에 테스트를 포함하시겠습니까? (y/N)").lowercased() - let hasTests = hasTestsChoice == "y" || hasTestsChoice == "yes" - - let author = (try? runCapture("git", arguments: ["config", "--get", "user.name"])) ?? "Unknown" - let formatter = DateFormatter(); formatter.dateFormat = "yyyy-MM-dd" - let currentDate = formatter.string(from: Date()) - - let layer: String = { - let lower = moduleInput.lowercased() - if lower.starts(with: "presentation") { return "Presentation" } - else if lower.starts(with: "shared") { return "Shared" } - else if lower.starts(with: "domain") { return "Domain" } - else if lower.starts(with: "network") { return "Network" } - else if lower.starts(with: "data") { return "Data" } - else { return "Shared" } // 기본값을 Shared로 변경 - }() - - let result = run("tuist", arguments: [ - "scaffold", "Module", - "--layer", layer, - "--name", moduleName, - "--author", author, - "--current-date", currentDate - ]) + case .domain: + return scaffoldModule(layer: .domain, arguments: forwardedArguments) - if result == 0 { - let projectFile = "Projects/\(layer)/\(moduleName)/Project.swift" + case .ui: + return scaffoldModule(layer: .ui, arguments: forwardedArguments) - // Project.swift 파일을 완전히 다시 작성 - let dependencyList = dependencies.isEmpty ? "" : "\n " + dependencies.joined(separator: ",\n ") + "," - - let projectContent = """ -import Foundation -import ProjectDescription -import DependencyPlugin -import ProjectTemplatePlugin -import DependencyPackagePlugin - -let project = Project.makeAppModule( - name: "\(moduleName)", - bundleId: .appBundleID(name: ".\(moduleName)"), - product: .staticFramework, - settings: .settings(), - dependencies: [\(dependencyList) - ], - sources: ["Sources/**"]\(hasTests ? ",\n hasTests: true" : "") -) -""" - - do { - try projectContent.write(toFile: projectFile, atomically: true, encoding: .utf8) - print("✅ Project.swift 파일 생성 완료") - if !dependencies.isEmpty { - print("✅ 의존성 추가: \(dependencies.count)개") - } - if hasTests { - print("✅ hasTests: true 추가 - 템플릿에서 Tests/Sources 구조 자동 생성됨") - } else { - print("ℹ️ hasTests: false - Tests 폴더는 생성되지만 프로젝트에 포함되지 않음") - } - } catch { - print("❌ Project.swift 파일 작성 실패: \(error)") - } + case .graph: + return renderGraph( + excludesDemo: true, + extraTuistArguments: [], + forwardedArguments: forwardedArguments + ) - // ✅ 자동으로 Modules.swift에 모듈 추가 - print("\n📝 Modules.swift에 모듈 등록 중...") - if addModuleToPluginAutomatically(moduleName: moduleName, layer: layer) { - print("✅ Modules.swift 등록 완료") - } else { - print("⚠️ Modules.swift 등록 실패 - 수동으로 추가해주세요") - } + case .productionGraph: + return renderGraph( + excludesDemo: true, + extraTuistArguments: ["--skip-test-targets"], + forwardedArguments: forwardedArguments + ) - print("✅ 모듈 생성 완료: Projects/\(layer)/\(moduleName)") - - // ────────────────────────────── - // ✅ Domain 모듈일 경우 Interface 폴더 생성 여부 확인 - if layer == "Domain" { - let askInterface = prompt("이 Domain 모듈에 Interface 폴더를 생성할까요? (y/N)").lowercased() - if askInterface == "y" { - let interfaceDir = "Projects/Domain/\(moduleName)/Interface/Sources" - let baseFilePath = "\(interfaceDir)/Base.swift" - - if !FileManager.default.fileExists(atPath: interfaceDir) { - do { - try FileManager.default.createDirectory(atPath: interfaceDir, withIntermediateDirectories: true, attributes: nil) - print("📂 Interface 폴더 생성 → \(interfaceDir)") - } catch { - print("❌ Interface 폴더 생성 실패: \(error)") - } - } else { - print("ℹ️ Interface 폴더 이미 존재 → 건너뜀") - } - - // Base.swift 생성(없으면) - if !FileManager.default.fileExists(atPath: baseFilePath) { - let baseTemplate = """ - // - // Base.swift - // Domain.\(moduleName).Interface - // - // Created by \(author) on \(currentDate). - // - - import Foundation - - public protocol \(moduleName)Interface { - // TODO: 정의 추가 - } - """ - do { - try baseTemplate.write(toFile: baseFilePath, atomically: true, encoding: .utf8) - print("✅ Base.swift 생성 → \(baseFilePath)") - } catch { - print("❌ Base.swift 생성 실패: \(error)") - } - } else { - print("ℹ️ Base.swift 이미 존재 → 건너뜀") - } - } - } - } else { - print("❌ 모듈 생성 실패") + case .help: + printHelp() + return 0 } } -// MARK: - XConfig 파일 업데이트 -private func updateXConfigFiles(newName: String) { - print("🔧 xconfig 파일들 업데이트 중...") - - let configFiles = ["Dev.xcconfig", "Stage.xcconfig", "Prod.xcconfig", "Release.xcconfig"] - - for configFile in configFiles { - let configPath = "Config/\(configFile)" - - guard FileManager.default.fileExists(atPath: configPath) else { - print("⚠️ \(configFile) 파일을 찾을 수 없습니다: \(configPath)") - continue - } - - do { - var content = try String(contentsOfFile: configPath, encoding: .utf8) - let originalContent = content - - // 이미 동적 설정된 경우는 건너뛰기 - if content.contains("PRODUCT_NAME = $(PROJECT_NAME)") && content.contains("BUNDLE_DISPLAY_NAME = $(PROJECT_NAME)") { - print("ℹ️ \(configFile) 이미 동적 설정됨") - continue - } - - // 하드코딩된 프로젝트 이름을 동적 참조로 변경 - let patterns = [ - (#"PRODUCT_NAME = [^$\n\r]*$"#, "PRODUCT_NAME = $(PROJECT_NAME)"), - (#"PRODUCT_NAME = [^$\n\r]*-Dev$"#, "PRODUCT_NAME = $(PROJECT_NAME)-Dev"), - (#"PRODUCT_NAME = [^$\n\r]*-Stage$"#, "PRODUCT_NAME = $(PROJECT_NAME)-Stage"), - (#"PRODUCT_NAME = [^$\n\r]*-Prod$"#, "PRODUCT_NAME = $(PROJECT_NAME)-Prod"), - (#"BUNDLE_DISPLAY_NAME = [^$\n\r]*$"#, "BUNDLE_DISPLAY_NAME = $(PROJECT_NAME)"), - (#"BUNDLE_DISPLAY_NAME = [^$\n\r]*\(Dev\)$"#, "BUNDLE_DISPLAY_NAME = $(PROJECT_NAME)(Dev)"), - (#"BUNDLE_DISPLAY_NAME = [^$\n\r]*\(Stage\)$"#, "BUNDLE_DISPLAY_NAME = $(PROJECT_NAME)(Stage)"), - (#"BUNDLE_DISPLAY_NAME = [^$\n\r]*\(Prod\)$"#, "BUNDLE_DISPLAY_NAME = $(PROJECT_NAME)(Prod)") - ] - - for (pattern, replacement) in patterns { - content = content.replacingOccurrences(of: pattern, with: replacement, options: .regularExpression) - } - - if content != originalContent { - try content.write(toFile: configPath, atomically: true, encoding: .utf8) - print("✅ \(configFile) 업데이트 완료") - } else { - print("ℹ️ \(configFile) 변경사항 없음") - } - - } catch { - print("❌ \(configFile) 업데이트 실패: \(error)") - } - } - - print("✅ xconfig 파일들 업데이트 완료") -} - -// MARK: - Entrypoint -enum Command: String { - case edit, generate, fetch, build, clean, install, cache, reset, moduleinit, newproject - case inspect, inspectimports = "inspect-imports", inspectcoverage = "inspect-coverage" -} +let arguments = Array(CommandLine.arguments.dropFirst()) +let rawCommand = arguments.first ?? Command.help.rawValue +let normalizedCommand = ["-h", "--help"].contains(rawCommand) ? Command.help.rawValue : rawCommand +let forwardedArguments = Array(arguments.dropFirst()) -let args = CommandLine.arguments.dropFirst() -guard let cmd = args.first, let command = Command(rawValue: cmd) else { - print(""" - 🚀 Tuist 4.97.2 도구 사용법: - ./tuisttool generate # 프로젝트 생성 - ./tuisttool build # 클린 + 의존성 설치 + 생성 - ./tuisttool install # 의존성 설치 (새로운 명령어) - ./tuisttool cache # 바이너리 캐시 생성 - ./tuisttool clean # 프로젝트 정리 - ./tuisttool reset # 전체 캐시 리셋 - ./tuisttool moduleinit # 새 모듈 생성 - ./tuisttool inspect # 프로젝트 구조 분석 - ./tuisttool inspect-imports # 암시적 의존성 검사 - ./tuisttool inspect-coverage # 코드 커버리지 분석 - ./tuisttool newproject [옵션...] # 새 프로젝트 생성 - - 새 프로젝트 생성 예시: - ./tuisttool newproject # 대화형으로 입력 - ./tuisttool newproject MyAwesomeApp # 간단한 사용법 - ./tuisttool newproject MyApp --bundle-id com.company.app --team-id ABC123DEF - """) - exit(1) +guard let command = Command(rawValue: normalizedCommand) else { + FileHandle.standardError.write(Data("알 수 없는 명령어: \(rawCommand)\n\n".utf8)) + printHelp() + exit(64) } -switch command { - case .edit: edit() - case .generate: generate() - case .fetch: fetch() - case .build: build() - case .clean: clean() - case .install: install() - case .cache: cache() - case .reset: reset() - case .moduleinit: registerModule() - case .inspect: inspect() - case .inspectimports: inspectImplicitImports() - case .inspectcoverage: inspectCodeCoverage() - case .newproject: - // 인자가 있으면 인자로 처리, 없으면 대화형으로 처리 - if CommandLine.arguments.count > 2 { - generateProjectWithArgs() - } else { - newProject() - } -} +exit(execute(command, forwardedArguments: forwardedArguments)) diff --git a/WorkSpace.swift b/WorkSpace.swift index 7e8e0d3b..8804ae2a 100644 --- a/WorkSpace.swift +++ b/WorkSpace.swift @@ -5,22 +5,14 @@ // Created by 서원지 on 6/7/24. // -import Foundation import ProjectDescription import ProjectTemplatePlugin -let workspaceName: String = { - if let projectName = ProcessInfo.processInfo.environment["PROJECT_NAME"] { - print("🔍 PROJECT_NAME 환경변수 발견: \(projectName)") - return projectName - } else { - print("🎵 ProjectConfig에서 프로젝트 이름 사용: \(ProjectConfig.projectName)") - return ProjectConfig.projectName - } -}() - +// 이름은 Project.Environment.appName 하나로만 정한다. +// PROJECT_NAME 환경변수 폴백은 이미 그 안에 있어서 여기서 또 분기하면 로직만 두 벌이 된다. let workspace = Workspace( -name: workspaceName, -projects: [ + name: Project.Environment.appName, + projects: [ "Projects/**" -]) + ] +) diff --git a/make b/make index 8f6a18cb52b9a9024d2f8ab391db3339affc65d9..c44859fee3cc28ae16661e5a2a43aaadcdc89fe9 100755 GIT binary patch literal 145336 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

    8QZ7I zKab8v>3f}D9+o#w&U_rUvCXdllkOif?L$J{@e?a^Vs7o>klD`j%*U0fbeC%^9_Fo` z__840S;BKWHtULcW3zBY_jv5oz0fkG!ixd*Cmk3voy2U^holEqn9QU;sXeM6m=Bar zIx*FVOl&=C4^Pa&W`mfT#(`#vUlzDbDKw7>nei;4Ne@NvI|sUUG56o~p=&xnc1`BP za0XVg-`Z!@ydd0B6U` zuf@7!(0~4{Ykm3+*Bss7m*pG4Yz?Pw7adzGk$+h` zJ`0U^KwC$s?LlI$4-h|YX&8YnMxu+6GbQVXz$Lxr$@c;16JPiD*lq?G@g!Ku>ViO4 z_fv;t`T(**rkYROjjY>3ma}DdH@oJpKvp*cGcKIkBb?(TtD(N#9hImpX!oB^_GJZJ<_=`F{&Qq? z1+rT0noL*7YxjaLlvNH)x2)D9t2>a@707Bebahpv(q%&v?@Yq?P79e`)A3tJgiNMs zXt``{&kENJgYL$Lv$N@Cu6ag0EQ^^zv?--qb-yBJjvEi%qG4w!bwb!FNm4em#3c?- zxf<7O5nN5obRiR^|E>EaF>{E@Nf(qOuHcoc^2?p$nij#G6ElBRInpNGSH;YDm6NZd z+(gRt(&1d!oGaMbpRdD4WNmdg8#zdab9;37s(hT<19|Cru6Yhv+aBi89u~UhTH#(8 zGvlDk=5yWta45B!{LI4@mafl2Hs-zEk9n_C%zNY~UZ2%|tjiqJYr}^N*DTKms!gY- zx!zbn{n8BAOx5$Uz;EWq3^P?B+qYdD@KWaUGNXr=Ch@|3=PW&=O;3xN$wM7eB3i4^ z|D+zD(P@2#x7K=AfOArBoVV@^=LpuoC}VLR(IfXF#+hOh z3wQsRSqdFCpX>JFq0}?vXNG(9&xWo!zTH-9yeb>r%^I`H?)2%(?b|!NwW`ckZ@s@2 z`Z8N%Uf;fxn22cXVBKOLefySx7vL-}yWs_!(E9SbYDeOQy!3mHNds$Xevg>RhmQF# z(eq){%m{elnz2gi4)O9{%(l;xeaZM0$DFRRFZsOeV-4Zfx=f6OSSVn{ix5&?+>$Mrp1)iGwb^v^=Q``za6{0b6DOQ>!Lzf z+iuV8>h$$dJ7BlgvYa zwYq&0S+zQ5qGY%gzFWC}Hfn~j{%xP@e!ZI-t>@&Ak_^^+GW{=4rrUGp2JJWaGA;FF zdI0sLe}F8TyjYt*zS?AM{0`Pi#a}5hy#cyzvwUrLe3=gNpIM%6%aiGLr$DBmLf9Ue zZg&b~`tdqE(1~{$!?||k*k^hnG5eei^ zUV6P_ilEoZcRljG*D+6XpZ)>zznA-_sCk%mYx`XH^W2ndK25&bZ)Tn+|8nG??)teeXN^39?-eUZ);b0velUNFZgro1ISCScFdoEwREh8jx~m|Q=jww@F;=@+Q`&$1C z=$h-(HLr)R9|d%gmtN?Y+XA{4QvV`i%)-5hSasN!AJ^^dGpP_=+FJr$tS`D@8<%gHY%-(lWNA7yRiGHBjGeQKB5lOx-9m@7Uy$k)*rcstff-7nsb z^>~{Mj$UnGpko$GF8zHSZ9BAkP9<2@gzWhECtvmbU4LKh13f*-kGzrXTAvvgO?A^V zoOMWOSr^bU+{!=oZP7B_qlL}AC4JCWM0L;(B=7Xjid0wSh=lg2?3wp;Qu}g13CXjUI-99{LSM|Xw$w>7e-Q~N_V zvS+jw{vt(D6QSOuVw&vX+{zwPKeoyJ=&bBI$-KgGi?eThMe~aJl+_+nZ!c&I&!X;p z;t)>TDZos*wkq4wACb*Hd2bjSUO3FY?U8zkvOw!?WvnwlTbrXCAHn zp|z3wTsn1~Bo3#&lh;^WXJ&sxs=brn^6%B2gkxjF@T~fR#)gI2AMq^79z>NBUy{YM zez_He<-#S|h^_mK>}@&a7W;6`e!1#i{AVlj;kBR&3p?(3`JOzh)4;1A5>yRmZ7mUJKIX!*4O@5g@qx_^gjPtIS@Cd*ve z&z4-dDG!}(Ne;K|VvF$T8avw3e1t3AZfR~f&#TjKUs|Jy`)d`W!Jh<9IJP#(msQYC zW308bTEDs(d0M(_!oU<~|6JzW`8V{CwD;HvypJG1m!@NdlYH3{v3L7S`ib~_%_Egw z`wOnY(w&Vk2GKk~_NrKFG90#T$qu)zxh!nkg7#6b#U7n>I1$qxgSDlJ>;A^r zQhWoWvg>m3g;j^}dUCh4{qiU~2W&@PNn*@u_qV7F*DC*luEYO9TMzklvZuUB&x*6p z`nU!6%`w1{Z}9`Gyk7}tjfe9kuGQ9>xgXE7=1LD=vdnw_-@-+n%6WNS+8hq*WuFP_ z5Yy>n)xMJC3$_~mC$L6#gX(JabR-#xk2RJjUC+0B$i3&_ZF2ER#o434rFQ7uli%Rk z!YR@>Fv6c}FTwM?yc!Sg2IyBi$a_}l+c$PD`#zC)Q0_We8vpto%GL3cpT2|`X6{%a z7q%pY{1Vd4!1e1wu8T-Z?*QBE~c&$TTilexNR>-3uluj1KI87 zuypG63FBl(4SxSrYe!c$YOvV@^xRxx{ z_l(HiM}4x%*OdbIdwYLo_EplAly^8@pwT|__Hb1X^x~e)?0ZSF{@v1GeN?u&#*;}(4V z=e=XojIYysGtG>Vl8m7kj%y7MA6uNzI-l%ay7*7&0+oU@9}J{ zR3Ftd?*D|guXj?Oz(0S?bp%}6M_x!T`@&22uHM?bH|!*={f`=I_YUT++g(oGdsjbY z`#sU4xrrU)gMaVpe(d>o6KUow>p?letL+VS8WR7Tnj0yXR>MSCk);XvUL{3x#kqY_Qbh1Ie$1R(M;XJ zy1?LSWVBrI{mY55ZX3H0^L>_Cp!sx5n0pUi$zZ@*(8dw*_fW$+^S19=12BV%ME8E*}b+aftj zrhbgjlO42erL1&e<*|=_@8N(?__2J#Lok*t7oYIBgSKGrnW1^`v^K4!lEJ;F#=G^ifyida(nI2i^_isbm(u-W}8L_@R!&;x+ zGXkI5Q>l5?R{Y9V{0jRlXGUbdD?+KQ4R#L+`6bwTPk)qVy@|ePUH4vF)`iX$zpU?A zehb?3hJaVC`N-Z_J6cM4?X%s*+FY)Weq|55Pj}5oc-J~yJL_{9=2$yeN7FnwJw0aZ zUR&1Q-eN87MAgfh*_BFxQTr84y;9b_RM$~lXI50CwC-o=bB<0-$%%Je1%10%3$ty) zuG@Ju=F;_3(ZyQi`|MrRIw!GL^R(!i=hMZSq@`;%DeIwQRX^*Q3zPygUnwxBD_s;b z^ZZo(vijt;$irdZM@;Jq?EBdH0rga|9=SiXvleUZpo%p&XqCP#e6)`T-&mS>19**N zH#a$LZvm5J{=xfuCW+7F{ZHQeJ15)8dRjBU49=#gd6VnT5258f?!yBUoi)g1iCshX z+WwQ4-n_BTEq-~$=X2YK>UdpsJit4gz@#6DnrBEA)5tsyeGT)oT2K0=o>BkRqkw&s zdLNIPUr}z?lafDeVk`8hUA3~d$9hrVM;zJgD~_p@%|1(9>LtgFaIx8!{C8?!VL!CW zJxlt6V=h%aFGS5xlmgSF6d1MNPo#r4sQXX+)}xn2j=6{Y&PCL{K8jtHAWLs7DLl;5)gy5>gB<)X>gPh*4LdmIK`!!(!i^s~B0KReFB$C9t{X-5@nT|S=7 zy-`n3&Wyac_zKmx&@p3z`W8mb*{Tm2>^KLRR^g{td-7;(Roz3WduVn)AHKbYXD|7< ze|@x_8=ftk%N)}W7_Cd3Oqyhjnz=&yUzpW;&53#jf1eQJZC?eSS47Pz(m!=s{jUM9 z^w^NE|Fs{Y_d6WZN*|rR0sY_RnE!Op|82hh@9_111L@7YlLpT8%~A7J)dx(OQeY-1 zMaSbvuaq4;%zDlwCzYgsn2bKGzDo=AJ;O1t3EvTnhYIxlBKezZLT$`X;Bh4VZKbv~@d z6qy39F=jO-6Vz;RbKcJDs`|Ufc*Zd&U#tE(?)SIbN)ui0d*i|&4xsse zuR1FCQHRa*>Tp#@nHQsBEhjO_((dtLX%F|r6N+-<*5QziZ4*!Erd_d|AZ|T{xOFhE zo8>x*X5!X)}q~hKkPTP^d+#7Ndd9jS9?pQ{5-HPXE4#+q;p}1mm zrAPNT>ef7Oj`j)v#LhANIsW|YY;4NL|45T%eoUa!<6YzJB=f)XeVD&XE)8D%NpbVn z#s>HEE$-kQZ|rZKvvx+Jwoi}!H7~TZ*w{vw%5e{^Tl_d(wxvw-;Nt8=`r;?`9NHDj z_hYKr9jZI*&ux*3okzENu@B9eo147Yx#IDP1>X-2jn%w(67h4!7k?S)#h`+`c6eAP zyfq%b187rr9&hidyT)x3%o&2I6pZNcWTf*8bcV){8Q&@H{F4U7Uq)v;fR#KSCAISv zVAS_W_JMpF!^EWNlWgA4{g^bdlOQIY2TLqv?djgwFv)du*o%wGM<^a;W0B-p+URH1 z-hSK7yPsd<#a(mp1~Fq#$0M`fvvTm@H+O_MQ^cNq@V>Lnwl&`8E=_!ew&ulai?e@2 zmR7!%ejTl$whrlyvYwngS}dJqK1`FB7ndD6eKls@G{G5_7%aSHAse^Q`4J;UOQ37= z16@x<{*nFZ2k~ptbEFUB)v^9Q{|?_?kcrk}y!K4$^Y7bh6d;dVu@9Ey!Yo%|S4Sj6vGTCr$ zwkaIO9!s(}P`{;-XO_kz`q(&at}QeYe@oVQ^2oDE@)S#I1YeSRbIT;bBc8?|=dG7W zUK)QS8~RzfT3A0unk?&U<@GbklIPZDEBjiw8~wG0WQ|v@*~-)z#jrZN9Gg%Bcb;&QZ)FFp@>+zmrf=H-t~=%HD!qJ-K_4jV z+g43}?mXm8wX-Hq&*Rw_nGE~&w0idZK4X_8*RplZ@jcl2_MKY6+PXXXwDmzwb1VytRXFU*+4rZ2e>#FATMHiMJZh=4&aVHW1iTw;nn?oqk0) zS+AC#vohYt{;4I%#md9NNyo%lDIbHcU{3Y}$)eS>x!vsjvTcO>@xV0S(a*M#lT;Vi z$eP&KNMcQ1oas=>uF|97DD5w`ve&)*PJh|nmZMd+^7DBQ`jfmiMOoFA9By%MVVgsV zV*WOs+v@uYaEeCBZ=X1zSN7Ko4z0&nf5NrRTj=F!4bs-@kM(lbAdPGaIMK1MHOTID zyC$FC21{!;EPiW3me!xLCci*B<(X{8+7izspB?z%%{>)}~$ z>lY5_YAUjPJfJ-2w(8*fQT)7lW?|1 ztbEpS?X{tZ*M^!re8~py`AXp;Pq@51(n{uuH9@`J`po-(_18Yh7p!gntbNW=U1iEE zrksZ}YI)MNzxHXLgEt(p{oqI73Uuw|@yzNOKOlPrPIct9LH~JP9=Z|SY%8~avQ7KC z2-@R;vQg|$`nTh~4o}t}u(oX1^6fozwiem7{9HQbsDART44XWAJs=mK`suO(Rz`0I z`0Tx8GN2c}BZUu}w)pTbR<})_zmb1wYz?*DCB6H;*%dr^a_j$$`Dot0r^<2o4ezWT zoz2BLNH)fpWDO#sm?JSp&eX6m#_l}c&s-ZW$Q$HbI=+vWHw8avZMpcEM6zHn&pYs` z_`c#1-EeP}cgL%Oaomm^IOdTaz6Z;D;ro3KoX#q-^z3a>&X~D92d-Ow`#59f#vHhA`R(J3nQL<3 zy5+ZzGiK^@;Qrr|-}pjX!~R%9%C|}EFYV_Y7U*}|af#>p_RMMJ+fRc&jWsmJAT=56 zaB2YW9G8d`z(@B1KQ@4m9@`85k^6wxxWL-m+G7$o7T}+}4|u)n9r4#<0~-G&S@!MS zmbVqkO>McbeIv`bzsG3|w2W7u_QT_Q&9w|`-G#E04O#ea9^dPHq`&L~z6kg*zYst1 z_@()72)BK-XdwHo_T$`_L7e3oPAK+h_dOC%@b*3)kR5>>yUN^how+HUYY*A~LWkBr zwT`TJr#2Ah;k+i>AEt>z>YYNZ#cxJ8>EX10#U?9Vdyb3ZvhBoZkhoS9k!kBrDUBawJ3XVIi0$Vc!ui!NfT-z7~lcG39&+7qB>nc=|l{(lCZlOG;9 zbFB}n_RD+oDZyG>8lrX2e@A|&v0rU2=hcPnc>s!~UZpbNx|DRhGyb<-4L$pGRiC#8 z!C3*<>^a%H`XprFpD#q;8l3&q`2SJ= zXxqr|d$*CV$ToBOM+^7M;}eoyZftmT4xIeEh1*A)E6#!IZkzjP%l&fT)#y4di_!ol7);_l%zB*?^hcb1qR)ly_{n zFFKKX&L;YZHot)}+(zPw+6%ErG+>L`3y};%EBD$9u`M`{=fiO`Ba~MgJOmjx^K3Hr zn$NZ8p2q{6@&#wl8v)MJn**o&BydUvH`>QnTYyjZf>SEEVju3t0yy0ZPO0G32Wh-} z2|Of~hfj(4dBJ%jb>g?zc_VY0yDCH0mweeh|C5HPEz@4rj%l~VY_@C9|8>|}o}b8V zmkm98{!3LpXzy13RoN54p*{asSRDU&&wsx!z)@3(qoKziYWyIbJFd6qKc;;z(BgcF zJ^ydBzU;&H+Vh|5b5+N^Ik34h$=k2e5NQ)FieKy8hsK6s*^QM$S@Y3;75xsxpYmP+ z?Xi3R3h_D4JF)hvxQO+y!2J!LwIBUMn`)oB_NRMo+4_d;@d?>Qu21?K>+Bnec{c&8 zz4Cm3!fOxV1!Kz_GxARegqvJa+A?ii!7@@rcj(YoJl^cQ#V^Uq-I zyp8_z4*bRq==5gJ?ZV!PBbIdDKtAicT3ha1rL&-kYf5IKd$mWm*5{L=dlf$C3T&A* z=8iQ{^R!RD-s{WoUf&M|!+U+>`{wYz#K*DBG3)hw2{@Lq#u$|4Ilm4m-Y&sIcD z#EI-)>W|-4uj>CH&(bxH*@jH?KHzndO_jf{SrawZZ~C&?Em+E34(|T&s_Ru;YoC;^ zFX7td+VVQrr*ocTE+#)X|9Nv6`@b1SX+P`f)FnI8dcW3Vq8cYr*H-GWdutYvue~+r zuBNP|1bZYP3_D*6NJl8l* zaW9S6Zl|6-+>hf7>_a41`ka$U-=cqMFXN0ncur3OzQb)(%*^_*2V-WPny*K;%R!+e8BV0BcO2x{2%KWo#!{ym&YJrEN@}T$@cpDybWaU zipqzvJC*NG`GGy7N%wn3_!fJHlJzYPzNArs%FJ#(x%Hw@ph=IP+_VE+h;BDgHBA zM&5a4#uk(rn^R_@UxqfBSLUFCG6#8O^v+hzO7u}Ex2Xm2Q!7kezmrmuU4$~V7lll) zUd{M`J!(Y*Sc7JqKALgSXvONbYYqD>+ClX-6=prDVz`U^`}j>E+kYzNoAsZ~C#_vs zVd95`%v9tUKcs^38n&16)?RNUW+NXTKisoT^+Ekr2D-FIyZZ17+P2$Pe|89;;GGd= z`>f&<5{d!L1!wiqA@eb5{Rz}_bcH#Z@>(MwPu>B_KO6fy#>%E84ouz2A;u@*u3+!V zspzk-M@#L===fCLVJ!=_#ZM2>E-$vw8H#d`OCQmU-jh`mj2qSL-u_*jR&3uR{9Yw7hKPo6>5Vw!RxId_NcL5 zUWu<{zflx@+!)?)b}`FC;rEIIFn!9`7u!*Py-jo=S8NO)qg-s_gMFY7mNN}p<{B1uGVMGEZzHhQAHr9Jd5C)){U&(%BXY~O8`I|BGWbmBp>K(4Bm%Mkx%rN#q+IqRJeKDL` zuKX7(Q;qoXwWoROYM1R|zc6~UbjO{<5nvzl&cUgB zi2O(3_c4AOd3K*`>RLE6XNEVvsB7W*eU!VKXZLtzYVpTQ?G%23Kh@Dc z)$Zrnn*NsTjJrXjtk8#$WY;qs_w#JC>iV=z0YoM_uWU3#+ zU(hd057n3Zd#SPS_)6E{A2wBNkDA3-yCxBK?yOlEGZ$PQGZ$X%?Ol#vgWj8$X}NPgpOEpAGKwU2~D>IFs|HNL5eGnb3E> z_H|=-XLBYV^;laXul6F!EOpK6%jK(&y!ONCQzw*=2eGh)=RM*sf1l%W!IpXM z&ucv2c!+EMoqB3duSmtGTL1Vy2cYM@uacm=mHSlcBmNwF5Gm1F7H z9?Cmc=h{Np9{=~g^M_ELU%edI0H^gyhk)BZE9b!sKIxd4*QXpFGmDRQ&0N;=Ep105 zk847yGo@o-VpExp6`;2do1?MNIZJa4uchKfWW6!_9hMxA@ z181z;_Q1Jj>9=VQBRTU<^o;cB8EyB7Y|=M;v}eQ8L|*L)q0|ucOy94#2jd!NSS{mJ z*^cyJ`>~6?cM5k0<$$f7=$f_uy0?{Sv|l3G&zmPlC@Wg00UsZXUWakcGxlrY*tZoK zkPkN@2Tpb#pNLHkhPGibb1Jr0c;0$0P4nO}-p@6+^L|786V6=60o<->EHSJNIf zb{HPw8P~bbl%G2WkW6YvhEnEK-6kXsq~a)$x&UqfySAEs)b|ta(%e+Lw~|l9aGM;%{Ae+`iC@sW-nEEc-FH= zC-I!WA5=Qh9*Mfsz4tp-OD=aiW)fxV(S7{xsJV#i3i9h8V(y9G*V&fwdo)iSYGXk$ zbgMC)?e7lu+uY=s87>@@iQf}7NAPWc>W%2>bmAj^->UXfrTSWk%K{s3iJG~jNn%X3 zk7@q9FdKh_xU8Omr)wavkAUy7s5xEbp5QxHq}DE;0QWD@?bD7qM)1GDE}mvC-VtuA zeMbCqrbc*Z_DRkE)ptG9V;3dhh`&hL=Xv)~c%S#};zjJ@Wyd_LahL4kW$J!4YW^tv zT<6&V`FZ!B({4`sGJ0p6F1>RMONrW)+8mn||6zNpeX-J(lRv2)iR~QXru_Xy-Dim8 z?k{Q=--pC_r%f@>{PPVop3}HKemdWJVC_o#A>yY;&1JVcd3^ShEN+h?-;s9wuQvW$ z$&m76cqSWtMfKe3F#jm9(X$=1j%S;jc#roY>1YHx8Yvs){G}5Tb8>vEwb5UA?>xK= zJ=F^wa}8zdFG42^qUPtS13I)Ps`gCT&Is+-v1b+7K7#!^i~j8G*NLBrP5Wi5&z9Xp z^K9}7;a}`nnE2wTxewT+-nCyYyk}%6j)~we$0o0a#xOQ{jc|G2H5(b&nVF3=g$f6b-qnrk4@ghdpUtk z-bCHEM$Js=f$KaQBtP#S`CMh`{$jtad7|uZ1^Zdz&&P<_t$n%rRK7WAg#w zJ60dLx2tqK>xsGJpt=S0X(uyx>7Gv`k6qsUQFd}F_+%#uQrXEV!e7BVYOJH@`Le;h z3&gYfP-&umv}58s@bPc^V?QU9Nc!vU-M;J~&raq@ZvFVS3u*mm=gUio?V$mcz1+t=8jL-~viSd0DKu>tGVpXaN(>kMq{Rqa_K{_xSFeymsbXT9HB zThx2sdzk-Px{9zlmv+;jwT%OG#sj|MfUMpJXy;lnj$5_HLtNCZGZ8=DL2Ov>0(5jZ z_PZ>T;ajrS8Zj~1R4%`1;=E~M$TrW9YbcJK6W8dbJI#AcPRN@>%Fp`#bzKlU&GoO} zMMis9&w;Pmti$sja;3L+wg)(A5AR`V|9LTc$Q`@K%z4XM(HQ;_-}b!cIQ${+>-3kMZ=cY3P+~ZC zE}1k_W;}b~_W8a}nPcAxA|BiGZi~(9d0$6oTPP+w(BVC-KE!e(=xe{Ic>uk%ptEMy zsFJKvZLW0N9te*iZwz?{kavLR>$eprlJ;FQZ~T&ET}xwwvyhG6anU|-otLAyqhiVG z%a7pMM%H??4?|}y)$(2w-=X83;E;W<;CJ|Ctv7vE#2FZ@FEusrehBbC0aiTgJPgT` zc}-%f%bIjw{M1@+?4<7uY8<6?t&`#VnFnKrJtXUPGRE0Ry^_7f0WR%<*SRAb!^5}y zjCBCv%~Ge<)HvITcWPJ*Yv7D0;%oYD(Z=v7V(Ipsa?0*MGZ{W>W`uos%qzS-Pn2n< zYzt*_&t2!t2MZTxJxFK21^2A8ok4$DV$ZU<_Nn7G(6=;(?>w%tDb&VzY+c1WcFlEN z&HH@EN%CA}?L(i_D$yL=vlG_b$k#qq2f1%WE?S5DY@v6CocwAt&$Wkn4|XWo1o!WA zpXJwUt)X?ax7IKk-!(F17WWI8ngJnm!Qha&a9GG(ba==tIht=aU?bjp_x`zN*oU{j zhxG>Ztvx>Wy*6*1A-m==;@HFp?3%&{#3hiqbP@l6xzk6k7uWxUbOJV*bKZ=rKD zp>y#u6=pT}mz_YrR)OqKRt%na#i=24*;#(P?F3>e74UH~>Dw-SGV|(p{dn8k$Z;33 z48=2E=h>UYT6VZ*&Ky79wu9$y(yzbFvse9i8*-{cUdvwQ41-tsJ?)xh&$zVzk=XD^ z`yJZgI|41(=hEl(&b`)HOR~J&ey5GIFwVH(MH@3)S3x^dJJxqFUxJsle#}mGr*T32 zI_SZ+gR>T@Tc88muD%YM?<1b#j~^5t%TnIPEUqWkvvF9W{`>HHX2{f@9mE@oy5C)? z8|%fKkD*NUO|E&HwEp|xyotCE_{C!_yv7#~OVphXjs?s!p~J?rH~O?6Z0A4r{pnZy z^0i|tHNNaV(?z~*g6g=PbN)%ypAG_l?U~@e2l~#Yj=PB;kQb-^ry{`K4ITHyOfm3F zH+ttX#P8EO7ct@%;&2DBPFRc&D{;(h{CfNe*WASZ^!P)>A|B%`3ie+we$0;#JmJR& z9zy1ia5lbZc!aYJlmfF$DKHtOPsgkrB>UQH!l`MTS$)~-*Z}!;&#(qx!}~h;Kb>c1 zdE7_L^zCBam3>jP`g6ynoWVe!p?w6_N9E}IMC!D0(4{d`z1%fFf%o|Gn0ZdL&@OAa z_P(z=oHKyv@9^_>9lqHP91)ycB-h!zpMBq+{=>$UkDy%jn~b%E_f5v~$YLqFtdovI$YAmC z#M0&PyfS2dtC%@F#>wyY6T@6{D`o5ZA&XD^cFgm-9gepK`4KXIn|AEand){h4|tpT zz%cMk9G-~pVm^2gbS@1k-eS+xSo{(DBDvNYWX&h+uk`W9cSX(b`r}vL^kXh-i}GT~ zj(GWiGf4vY4>-ew>pFB=i%u7RL=5Z`zwRCQyz{Adamf70hp+v+#hd5XcEhvck?Vm` ztnoF{+RMQ=82Mg}E(f^gcX|f@H$z+X0QedlGp|!_DLmRZ^GM&Xjn4OLLpx}@Q(bcg zdraeFvBiU2a}crS#RvKJI@R}UWASSfU2~o4nHV#VDFtS;QeYk-ZKRz|6~3oq<{|C_ z|MnqcBH5GXryI$yev!Qvq?(^@AXThQ^Gz>K?8n;fam@KVtG{k!qP~Us+ROC2uljc6 zL=uw==cgxow$vzD-Q<|lRJMir*-h;K-`#4(xnD~8Bb1rG^%jo(MWbi7we#kLr>lwTiOVR?wS976&&&BDf^6L#tH8;{`~iO z_<7kezo(3JxcFu2ewA-q3P0D@X9R22lQwkNADxH*#!a4EYu>scd7k z@Lunj+QK;O0?zz^E}hj`f4*Wq`!kl?-|H)*{S$KvyvZ|Dc?VraOC?}utX!cxcXZ?L*s3hw2|epJ{gpu6j+ z`}(M{eHGV}Dc>EtAV2p$(3Oj>YOkqG+4)RE@Azi?RMvO=xYlOTeJb;XAg=W`{q!#U z)w`}aj<}ZAX&(^G0Q!H@@rrZh^hV>d^bbC_WkbWuGZ0181#P>L>aCV6P^PFsY zE_Bkqw8qv?y5<{{-4n)7d`Lgfbtm%8Kv!c}=hb;}s=!a#HgRyz80&1mZ2QN|Sw6OLp6)SL zQuw==uK<(oiW%8nlCzRC1EG=iM12ePc0Hr+Iemcb4-Es^N2_u}LgpS)Yd1rnXE=6K z8Zr%nAC8Vn(MKiv7$bhY^8x!XX0^U*j4yM>Sm%KwT}Ih)A+tz$$DvEOxb}Fy-^!j-FJ{?!2iM$pJ_^j^Vczq? z#{4l?daL){L&XICLS1_*4@m5J)-~yy!<-EmHrUX*!n2qUmmD8=&6|RMHpbbLF>|2w zvb8dmAmyA2fD&+`F}CyBeUN3eZsOm%K@oc(NEQe*Xzs;`x^ zRY}vWF%yz3Z-%Frp!2p$lYYT9j_QY&$AserXnHAT`l{S3#E@76v^2efyk2wp4xDTL zDqOG8@4f*na%o2{l2I+^N^9Rz`cd#c4D92T_WP@8`t)}7>8z`4bDX39MjTM*N~aqR zNK8QYS{JbIE!3 zzQD82bKs5q&Sk)_2-|lg+IhAE`RaSHPvG|~KjdZZg~le={9HKig`Xz)pI%>boH5Y?V-&9TC;d=TwZIC^~FH`FI zj{imunbJzT*DifW-oE5b&LxAozl+x1;2P=hCx!5%y7%U7a&8%v_nqgv1q)8aLS$1# z6M+3HV_Vr4bz&!sJM>)VTM{Fg%((DiyN7C%^WY#mzx!@34&+pH7&wk{%;l03Wp^RR zPV&X0aOyqCqT_rV&v`hm6b`?xNR;v?@{5LaPB>?g^-s)ZOxb>$WE3+k^8M?Hw*|Jg z9=tQcDfyiA4D`kr5W6|@T7lCgW9GdZHIG>_tfm4 z*fR#$>0!RR>-)ROgRKo^i3hh2am|k@vu6x=hQNz(W0P;Qwh-_pJJmXb_)VAX&sp%U z>6`?w)57NVpzLtsZqVqzXc-4T z3!$S7e&)I64n3o;Q^e0a>RcEzcTrAfT(>WC)lY4o!!L4e|HPEP5{In8&l49;FLBMc zRd$hhCgxei8cj{i>|7Eve_n=;RzSK=Yrc63)6QZ>1*x#IXjy8P9fKdiFMr1cN@WL@vVxQ zL6ZF)&|ei(J74ESixcVfj`i6yRsR)^c`Jawg7bf=KkzB-_YxOq;@!*pp{=Ym(YX`e zcZbaHeE2-Pr}^*y2Y zeZITfKC(zRu@Cz;Y~VHI@J7ho z5tO|xY919YzMS>`ui8jjb^O3Fw*+uMh?*C;-lu$PMkYF60`Ds!^DQ4<--#?gHl2irElIQk9B=vr$H_RMJcf{VR<>Fwum1~z5e zkAVI~j+tEK!_9KcvE=Wm!RO6}=OOsK;bBkD{uzkEDfzFJtY$doV8PD@&kSV3wRC(m z?cefQHj2K9_SGLe18v{wwXcOe?JHli)(mj@~QJs~J8KQbB zqh=myW(a<99<&a}FV1Bjww^%`@1t>+Idsj7ngx{GwGiJU*)Kx&(#bjb=RSWI8K##x z=GVLnpm(F&mvA1t_Es+O-;Z7

      rfw8k-?fHPeaHHWA^U?c~fH$IhAx(j4K0l8bB zGRZMJRi@1G@j6&}ZWk)1s!m%1I4Yz1W0pzu3e8 z?qw5meVbTInyHGWGT6kKvLj$!l>xSk`UD&GVJ{;M>}ReI`;lk{c8?Exln=X9co~}s zZ`AV3zS|AR1~|9B?qo2t8Ju+VRBZQ^7HQD{bxS!AHCtVvuW@iVZJKfZ983ZVydfQLf-q+ zx#u+4ez=Z0)fVAxPRLuIMsC}k@pkX%x(QBcV)g6d34Y-V+u!bdlXXYxR$o3P#`_KA zPu_d)bHZWkMK-x-KIGOZ7|zBq*ZVU3M{wW#2XK}LmvM&AL&o)Z5WTjYZu%;79OUSh z+OvODuch0K{8Mz>damk`)s22V!tFFi&1vAhD8T*HzGb4dnJ?s*7`dqNai-(2q~pDlCD=~N$UgIQ(5iK`5Z`-p61EMYCpi*Q-|olPv|>7^502dt9_kxVuQT*wEfg;`yv0LmN~SMh}PqP6`XA=_>c_^ zRaw2Oz&U;P9GcwrV(l)`BjboqM`oPYH*W9BlPzsr8i zcb*?8;oAX0T^s&|x_;DCSDx+gZW%VbPG^FjyARv>&!Eosf3D8J_bidl3T$W3kg@21 zZ`M|7jj5!?En+-3C~Eq$FT=5GNPLH^e?_+NJHS?E&7Z>u=dD>jIB#ugAs<(=uO;9k z*7u)ppR|Fa_Q6Ll+v)oSzOiwF=NtWV(PjnoO!%jLC4daR1YmVZIyjeeR((Adw=`V-{<)v z){lsx1+=;HfnR={VDfXLRr-J1 z^YiZ`d&5JEz7<)hIlz>@&d|;=d@soDbE&?GSLUy??iv$KDV8~h->I?arIEwFJ39Dg zUS=Hgj8Z3+^v449!3%UgrOu$^otRXFcNL!U&$G)gHfNt=xt{ABRQsGWNAsQ!jb5qe zde^`{AKL5r7CjH~T>EOkY0t6D1m8oWj?N*`6uewI^}JCF8EY(<#+-w>`^qUpZyFtO z?RV#=B8#Cq$4+Y(mM-OA=v-RlI+sQ^+D(*$8K!G1!-2fZgN(Yz5@EN^&OK&0 zsU62UDe->F55t#oPE)GWKZh%GtS9$gaxU}bJSj)cW&4mb&u!h4;1j&|dPX$WIg1}U zl1`uV&vBJ5YJEM75?|a){u=`MGbb9?*D2Q-QubM{?0E)kg7bT>Dhi$>`@FJ4IaPpX zR_@S{?C;rDCuQ}$Ce?)uhfe0ayQ77}&ntpP_L-!nA|J_U7xp4Mo8x~|V;4G{gAEoT zTaCRqOK3nRFr4@3@e3b1!*O>hJY$ROGfSO99RaV_)_h){3V6i^MAu~awYH|`x%>vt zhdNhUThsGgTkCn=&9h|R752^r)fuEgdn4aoPgXz5T*%=ZRLw_%wit|o^$kvqV;xui zg!x=w=6$s7P%K)$v2xrNZ1K)rwDC^HPdZ<_k+CbZnIhVIB6%~EBjKet23_7St!VLOca2ff(syg>}^-U+~G`{!#d9NEzPJOl4 zxmBl@TephkSJo5y9aF5YV0mEav$VV8{5$<_Db#Ia%-&vp|Az5#%=zs=yl)`hCdlC+ z$>Cwh!GiquLw?Uie$k$PxS+H0Lz-0?@zKwipPR<`7G?Xz*ei5#+Gw@8{ClxrN+*Ry#w>I|3lfll2n zK;C}16y+&m&jRIPdxV%f^T#kx5A!+}ZyM8o*3(<)zo=u8L#D9^aEm_j|H@e8P?WI< z_GcaQSfn}1SR|U9`~ON~5yZXg|EICYDN)8E$m9Q!u}D2TlU*K*=>0#tOKleRk45YA z(T`xS**QmM;5{c>ck_co&+zqlw)W2Y+K;hksI{>Oo2#(-3x7uq9l_V@5q>Me=<_Un z-Xf1R^mN%ffRRzseA=9*G@g*d;(Nmu`CS`h*uGK1-q}W2CMQ-_cGf(5FU;h1J~%(W z8fE@F)*snBK_)ZkO)7tQEi!ViG`qJ?oT-l#%62};J_qh^27OOZ=TQG zQI-bg2li?BZl9ek+^w^Ccf-TsEKC+=4*agip4j^sMqKN#SC^eHd?VzBeV&iJ1$TTu z55LplX9kahogvKc%YlDpw*mJ%^82}v9@|U1j%3QtmQWz$4V`8p{7mHcO1NElq+559 zj}7@(ZB{VP)W3!QrbK)T-&!4?k9U>kcGZOZMYO9{>bO5j*uS+Ame*6%Q76K&I(j{O zPm21$<9%+rPYljW2XN5A1|4iL}RF zv8eV;mqqh$wwKokS-WQ6JMcAmuG2d4@5}c?Ze=`A;q@0iU*oyG$dmlsb@_h^+2^yn zDonEHZFrmY2b+=4u#S-9k@eg=Kj2*~;?d7AVLIk?p1u_J#_*hng=Oysah5-?cc`lo zYe?oflJ5UU%*9wb%s=j~#vC+UZdqQ;e;stm(N^NuWz-4oM!zHFuL!!R+aJQ~Y~4)n zVyaPI{rw1@LA9!E;>uY-Yb%;k#U$<*BPk##MsVMvo7klvd+Uy>7 z-%F48!+EnHKkOZDzMi+2W6xWg`51@2C{fPShp>Pu34OnGab<{@NvdT@SA*&FymW4!;J6!4D-2?`FzQYZ~Y8E_~y?r zXG&&#(`VS@yFSB=@AwRJo@5>)nJ<&f6D9Lh$$YtFzDhEeOXdp6e6?hLQ!>9JnLm`w z_{P@A=N!pAPcq*inLm=uf0fLiO6Jcc^Fhh{on-z|GUFS5BMaU1W}LHQm`{?-r%Gm=xncOh zx7ddHT*-{Hmkj%nk{Rb88TNUS8RsDx_V_;BFi(`slO^+1$$YtFzDhEe3v(*o`=(Y% z=Bp)h7x9d^pI(yramoCwWZof}{Zc%0Bs0$1VEN~9-XNJ5NajV7`4-81n`Fkf*G4?} z{@O6FlFVx*^E%1=pfF=hqx56%y)j)Le3{IX4V>=kI!J+&Qo z?9pj6e4lpQ`?lk5X~%s)JML-ixDRT_J-r?GtajXU+i@S&j{E3#+zZ-qFKXSr)E%mH zc>+TVG@s^iY92?euo+tF_g<|zf(2T@;dl9hF0ZFZbNe)ZU}%}$U#Y=C4{%|z*BNqa zLj?;A3Cwj>1eIxC&($uA8mdwT5-e78n!gw z-8j;sVEZojRq40;sz&DIWC8$IJ|yMsnG1f5O_6D-sN!x z$;i^te<+&|#Te}H&e8n#N=?x%T-83WKN!%lqB#-XuLZQA;&5wrkK%TDf=Y$gUu_R6 zK`j7lyQ4}Q2@fHkFte~hyW6dlhg@!CR`Vcj;Z*eOQab%D1zNS&(!Bi1 z<~0i~hi>0^X!(Xi%Ns3i#=#42WYp5%a%g^I(}SDh$PI~7kE?%&i^HFe9^8VgG;Lbe zyr!{f;o_zTHyXk+$v}FfENFkrbcffeS@ONrK9}3hD!nD2J#~_DSa_^LgcC!+=7xpM zPeEEYEp5JKJs0<_>kr+%BpgE2BqL0Ji^`hG7+${+dVce&hr^y(-7~zhe94{_I#7!UEtCig+)y=#SH_PYN&6z z7nLvEGS}8O-M-S&bk~zj_pKQy34nB&WfZHj4=%jKa>d}mJgQO6+v;EkX+l+Aa%H&W zOa*qpJ88}igb*sX0|7#=4tN$y+cK)DVKFP--Hn%o1EUt{wygd%ui4xTxuO0vZMuhb z8i!UaKXl{juqeVE0IxvMm%K;Nb?cfH2(kIl$`zKTrx!MFc?|VWl4iiU z*EcU*P5QdI;f|&|>YG=>UC$00#~n>iY-YJ?x_jHfryDHIPd#cmxVesHkY#nz(x#2! z+%7x#61upDmNwnh&~)qi9%;NEn5YHkdi}F4pDw!7;t}RS7HcS2Rlxf=Zf^%1IK*=B zxz){ERvvsBsolE1>4C_1*$cNVF0o<(9pU(Yd#o{*LFun)J|(bqBZH$a zNv-^A*)_|qiqdw6qA0V1d{n?5xW(rANtyjP;MASh;+hF zTMP^$Q&*G-B`Ssh%Fs~2KeXKC8LD~aD9yZ|vM{!E0~>`Y3jXq3vA7Q3d)KWrAUXKd zCR9bmV)=BCe#ydPd&XGvpjt8X%b zD-&Ghe!IUG?Trt-W zifD2KR57?Dln?z%#xY``NhmUY8YW`^&08-qYapOim%D5AQ8bN-5!CQcsSPFGS_s2G z%g<2ur!}7Ks*zk2Q*BmD4Vm!b0j^^LrWNBKq ztf^tip@o~!YjW+#lpa$j&~UADA&%{Hzu*1Qls4@MwAoAvlL zrzl>_2%8#~HvMi{(?jzQEpM=}$a%DPZHgZ4;4+`5QW@-}>@i^aaVgGm%|o9;5u?wc z1|-XAh-Fr}Uz=+TzVvXjEC)A1TQ6VOylUB@~xcei@sz}fig2~5lQ2(77p1x6;8=Cz9%)3w-qqb9?@F*M+LTZ`H3 z1L!fE7jDM$v83sZkT+hv#gnF(GLFf`JRjCa8ps;|={>3#7xKy%nTYUa{MCo4d>Dy9 zQL2hQbX7>9p<}bxYJS!(?bR9>>x{g9XlgzJRV)`<&Q;D;e4%pmlorhssLy#Rzkd?F{ z%D_R2tR+TTu0WnyR#|#8%dfBwzT7@|Ui#n>wkt1WwQy#+Vo_9kt*YWOg5*ojQ50@u zHr$fg-p6eXo3VG>~2ZHc3q>$axaBeZy5nEDnTGlFni{37ZaK8&Z@3fk0+< zVT}(HxPS{X&a1Wh{r1`kE+%t#Dcsc=igL8;+E0!iW&G4n8AqrQC4Bit)qzt=ZGsK9no0bl^S|&gh(DC%8M-0Z^bW1kK*0B!gzP^ zRp3lJtp&$^du0RJKLUO{@FwuC#CwCkNSJXJemi(7_?v`xgR}VALJ9h+>T0{ksi;BC zH(3jW+(D|-6L^KT+47YFmmkYNUVm*N>MdKI!JJ;mBcM#2sJ7*-jPZs%P98#0{$#nbe%rADW*5xZXRN$oQIso@C&p)DBRHNIY%%V;LQ!6TU7Zw$UAWF%AA|jYzlQy8 zgx~vMS0?$bf|jvkfyH&VJ;GZn=J zKaH#){MU)6d8GyAML5P);tT7-`MnO|Cc*7GDIBZ8g|K@8{uv+iTft`$Uk$FyW;epK z1~*Cy&*ZWkcKdD!`x|hjqTt&OWw#J1d~{M+I)8!Pl}Ly2Jre~_DG_`$xSmcB;YYyF zQYkz$4u;)Agwy@)hQEHW+bH>C;yeX**Zh3+DB~97pYaJ&IeK3Oci63_aI9Wzg83AL zwZr~pgq3+V;T3-r_Irpcdj-xSUPXL0@tq$D_anpy{aIiq@zumXAij_IVdBci!hb4p z3-MBLT?V@#gR{<7lv&8T_=&o3BJ8SvLfZvTgUlE&lVq2AmGJ!?{IGV+KIXW2}XPzA`gx%h^j~-?6V!zWt%+GGg&p`NTeDCPdU8pClsxYt2&j!g) zD*W{Q5OFaN_%Us1{NQ$?(uJpc1o^AkarEfV@W)uX2$zTiOd>p3uut*+qFr7A*&8x-wIhz3cG^bKwce%lQc1%W`ir+qWs@)yZj1mij z+=mppwQ3EE-jj8&x`oy4W?e-9LCSs*a!OWu@@J+;w+lK-H}8W%W2GL-+YTJh_p0 zWmXL(hJk;zkP8(WderK##E=WJ8_Be4A(qraK{h#H(qlFe`HryRxs9+9c^nCa%M>UU zj0|zY%3tmB@L?Ka42A;AT)Qhc#S?V73$Y%h%=Kf0%-(E_Wc8QTkG>!_hRg!7ALG;? zu;B&s!+0{jDsHA6|x%0@q&t#opO z_svz37mr4tIvRN?QIwskl9E0JW5F3pr|U4@-+j4~+|#C{d>m9d9}X&AYvw8`+ZHL^ zN^e$@C#+VIocAf+>+eHa4=6o)Kd2-%KZS8yBl7Yr+U*vlQ_n4kYm1UJ;RU5r=?hBI zX7F=R?%wFik!+_bP(3IWu)>)5;le<&>y*?w8{t{R?ZnH8JBT}pYs4#vR}!xx?jn9Q@!7=P z#H)$(O*zP?m#~lcHN^eI*}DK%o*?lM@j1lj60ad%OMD*jYl&Y+{CeUy5dSUlI^y$* zFCcy+@rA^1BEE?D&BPZIUqbvA;jHfEQ$bZ>p zfoq8GAwFu0urDRPn)tG<%zm_TB4haV5lrc-^h^F1%mv$+MXEBB_$S#QEp1D+erK|;*S%5g7_xl8N{C?{uJ@2iSz0Ly}+vr__JisA2Tq2tl<1H zg7e1+{yh2P;skzyFc&NEON6%*f0_6W;;#_jN&HpfuMvNp_%7ma5Py^STf}!0f1CI_ z#Q%f%9^&s3e~OT;f^8^EhX2iC;nj z2?-=5kdQz^0tpEuB#@9mLIMd1BqWfKKtciu2_z(tkU&BL2?-=5kdQz^0tpEuB#@9m zLIMd1BqWfKKtciu2_z(tkU&BL2?-=5kdQz^0tpEuB#@9mLIMd1BqWfKKtciu2_z(t zkU&BL2?-=5kdQz^0tpEuB#@9mLIMd1BqWfKKtcllwFB^ei$Cw~o^m82v;0_vHpBrgQL z1{&2#N!|$RnW7{+LGOU3c2<(NfhKoRl5YcT104iS@2Vv41f_OUl8Zn!ppBq?AWwHC z`3PuC55x`n2k4gLl;j>g!9kwmVeX|QKMU%4f|8sEnsKU8fR=$agZ6@c2A$noNhtyaK@FhCK|4Vo zfewSZoT8-k1!aQ#pv|COrz$CzgPsNb1M~}M@@Y!SHc(n0C8Z3s5Yz}d4C;M4(g(Rg z*MZ&x{R7nF3?=1!&@9kA(5Ij?&QwyIpsc=1$|}%1pdn`=ENCrgBWMR`FX(g7&!C*M zm6WSMi$GgJsplvut3h9b3M@*>ZJ>8RXY^B2W`cHu`kbqz~kH1k5p2ee=i zo(U*H20#b63KIjq9FQD=fcpji5pot?{r57oR&1Q2{%?<=-+njd)T$hJg1cG+Q zY-Vk%u)ExmHkBc}->KNN8dp%U4G3hUkMV{)PJ7Vh^<<>ydmUbTq2KTIPtC}!aJjX~ zn%z0ktA-p^V}PvrS@~Y4Hg!(rdl_0BE9_D=o!k)wEKLT$LaD^MxA(1xPqw}>7kIzsRsQJezXDzU)KEED78blwJcrE1h2#H)~2@M!i%n| zveGEbNXNqnBEx}_id+p(hE)hvwOYBfs%*?ym|I8=Q-k9vOXg^@!qG5Y6OJkqwLHd1 z!pUTXf)%-jaxkS8_9n`z+9OL8{Yeg=s9ODgdo4XmQ=k~DrE0IO8LN7Yxb(WI)<$Ll zLZwC<$jAt2KIp%o=FF=_cvT&HjT2fvsMbyfck^aq4xfvvQC*EEVW`ePrpv>`m=UQQ zZK7qG!e{&Ko=Pp#TQS`0W6dmJ&C7A~>Y;j&f$VV}r&cp{tXj!)qIxqkC#s@0GG$}; zYb7GsRIAIX*DJNMtsH01^+Ty=2E7^S_Mo@gg{tVTH7Y?ZRVQeY7F8iy`9*9wK`*OH z(PI=jZy8-1Qq5&m)b8>GpypZdu-B5j%kpjc6Rgm618fsjmTHmR<8*6^Es9gI-D9uR z{4Lzd?19;e&0Bu8!-mp(9Zb_-4$Vz=)qzSC`j!wLj4hzKD+u~Ew`LFMUi})&r{Tna zH3W4mJUJ(8!I0lG)$R@m6c15r9vRrCPrWy5l9 z(RRE0~WFMsT<*U{&+S zjZ-hn^V#y|=D9MAu1md4ofMc>$`c+RP*q6-`rU;&S9{S}J4a9>@cPwERj;(rL{YM- zW{e1M%?N#}`F&nDAKj>GAU$JPfmUG;xr3sv=A};!XF|=)&Vf-6k9- zMH049%K~D|rK%&U?156hR^h5aP*oL;hTE#43X?6xqZS#tP{$h)g`btGy2G~BVPmaf z3}mL4X*I!;P|z1*GS}?Y_HwsoL>tH)mXCVltril`7lR|07mf0VHV&Iaz$-qz@Fh_V^r1$S@UexJiU6_vt3M~XWJ{- z7(1Lc+1qlx6%_$3i0%h&s*Ab|dyW_Y*4EZ|gmCRSP>vYh+A{4ySV~@@$(^RW=zXuq z57Va({lQGC1)3a~hj9_>;b<5n`c9)J@}AVF;2atCk)c3FmW_AV`Y2tmmT**E4wq}P`Q<&-G|Bp6kh-WF(tqrtLoB++i0JG zj2vDr1Ruv#Gx~t3kPQlm@g%RS@YPaRgAXP>VP_aGD{;PUBov5^O0I3I**|!J;;z$83RK71P}o! zuYhW(l#p-?g|$#9kTHCWt44E9b2)=mOy#3%)kDt9@QNJQpsI^@izzR!6{_3iz+l(I z+Hj;DvSTPtxM0p{bysTTetW5`P>h1l8)HN)c@2c!(=#%8iqxUx>!Q!Lv*Bc6dX06A z)98mH6J(W>O{M~@6AWg}#ejg#Fhv85=2Z>(Pz&)l-6!h?-1o4XaEZHU(-?oARYO5Qf1RT2^CFH37qck`Z=)Wr$6a zSR=rQm{tJ-8JTJj-MvF}C{uZDX`u*81BE%5Ort$8-4lLLW6`A)qM?fpC0f(T@}N5l z2T&_TtBK~7Y8FNn6;Q4sKPn!eqbeVRs%$p03giUD49%ZCoUW@hF@ z3|S(EG*i<_1Lvnhyka5{h&=#O6uoaAlPzDDU|sKIwBQaV-D*s&3;<$FB4e27U#Q(c zb%v zF;#==Dm4Z>HGH&FfKHI>CDLz_Pf5F>n`WbQq2kfAR#H1}(|5>+B}a|xGZrFBURtCe z>)t3y6lP$43uy${>XjE=N>o210=3oE8XBFWz*SL!0VTTS=w7o!p4Os?*5SyHpLKaT z6<&We9(g!Jy8e^p5<^Ux!&ppelx)Wt;RqHVDmi2nXACv^s#2{F6*w^0RS~4+L$Urg zS)YnVa}x7X;i9pXW|MESlf6}<0}ced4i{SjDXaBqm=|ODHlU{s_c55-x+*=)u^3Zd zR4%L{i$vgxY~|-;H8jB12-|Xx;>M!PtHq4H(ycis+N-s39_Y#-x`9k7h1PwI^XQQ> z?XJmzs2F8zN~FhSOyfo7L!Q|l?_5t*xz2UD-DOpN?_8!|@?1GtwrNv^-p($p@%bSj zrp@ze<*|oQMj0byJ6dmKv*U9sCl4x3KS{9i z2v{$wJSf&PU>YE{QD;Pk^|}%nj%u8oXen1XQF7Djc$}V+oJ&KWd&WeIsb%jG)mJP1 zNAx&pGK}>Wj6m45SaXJ_OY<^@S8LVfn%~Oi+~c@=&^o4-n5cKvMaCwl*21U-$&tF& z2=8M&=w+i7DxyP(o__T1ELvo3byuy#ZJvxoi?-!tBbu*P=1Q%3Z82Ah=24yoMRSj3 z{t_)*#KZ_5^k0%qIf!6-HlP$ZGn^Onv?z=sCd-Cq& zBT3E4v+9$!CofJB{?fL0+c0oLa__~Rcb>g0>F0sLw6v;OY0k7@TGp~8w>y|ND415| zbUK+;&DGIC)`02m-V=@_ZR*q~rL4DZ-Dh;}s8ORP?C&&c)acQp zd-uUFw|CK~K`H5jdb@k~4)(6XKX-4p+nG|Od~&v;oSjss>_Xw$&XMlt2)vK*MTBRa zEZj>7e?WK%;R(Hk`@_J!5YcwRhxG8L3-=?07ZX0uLg^D8L3k7%0L#x9U>2W~@O;8) zXA1Y-z%2j4a|Ql8;k|@=^%LPs`wRD4!XM`d{2JlIgil5|mfoP@!u@K(KEkgMZY10n z@iPAh2zv?l$ra&W0%rNExkTXi$$dTH?iUl@Mc4(*;{Sl~^Mv~p2><7u zC){%hFD1ONP`Eb%v-l4e3w-AJ!hhe10^12!%@p`4!W*s>xZ7{2d{+rPi*VK~fuAEh z$S!c#G~s_mxxiBhA0hlW;l&Q&{ypJcPJzb`6yf(&2)vT;e!@+JEtTZ|0^#3D_yNKj z2zRJ_nj|r=3pVuf&~Jv1!m7@I^o|85qRH1 z;l7gafMo*r9xB{76J7|+o=@Y$!hJR2v_}Mfg>Wh1?$`*%(yJj{1kA$kBRrk(=to8P z>j_s8UP5>`;X4U`L-=pH|BWL2MHwRgdcw7YcM`sj@bt%o|BrNc!Y5^l@ac~W_iV!J z30DHM^6VzOgWQi0?m0|^cRwM*mjE;W%Lv~^?mrX0m+-7j!vCX$cM^V%aN3i?eLLY& z!n+AK68;0>j|m^q{XZqb_skOc+ex?&;k2iP`+2}DzomrNk^6OopCx>l@JoaTHHz@> z5zZyt49wyiMfm(|f!9AH{LdoX@SMP_2yY<#0pX2=dqMB9_!Y$EYkmu@JzzvM~Uz&2yY|2pK#j6!hP2(BK$nUDLVyzpYUkH zXQAI=`Kcr9A-tXN>x7k8Mfj6175;k@o<(>N;im`}5KbN~{Ldsjj&P9h2ErQ&A11t= z@F1%Q-|aP#{#}F%2=6ECBiuJn_zx0x5?)XEL10$D_YnRIx$h@@T)uEGeO;tCfv}VC zqrgmFHH5z<_h!N)3PgBimk577;VQ!02wz9|C&K#)XBCS0j}R^gX8Co#A>w@gyI>6^koR%&^E8woEWyqWO*ge`9g|63XEq$tX}0v|V4U<=`yghvyuB|MAp z{e37=ae;@?L&o3QepNPh-l3*j3Gk0!i|@GQbx3D*(+h;Rep9|>y)DX!v8wLrG#H4d^zEd2v-n3?lKX+hVV4P z3kW|%xSsG1!Yc?5885;=PIxlmX9?F3-cEQc;r9r4ogl)0Ot=r>{e)){K1g^y;lqTV zB>WBGHwphp_~c>{zw()o<j82&;s95Wb%91%#IpPAB{!;atK4CyMw-6V4-CO1P2m zbi(fvb`wr35#fV`=Mlb+@N0w@5*}14{4XUumhf7_9)`QrDVqq-BfOdLorJd&UPpKr z;a!CH5bi!n#J895M8f+BUrG1?;mw2(6MmQQ5yH)cmCwcVIBT+qzZ+p2;Z(x22`?u6 zB;jp@|3dfx;qI!4Z@?EK{!4&+by1XAgnvhP1>yf7yqEBaWx~I5K!l%2cr@W#30Dz* z8<@$vfpE$c5#If!2yX>u?i&bSNq7_CT86vTDccC&M0gkBmwC&Y3FQ zzabm|X7QyS6zM-j?tKU!Cig7DKM)>GxZgApeiq>@;9flxrM^kTS50_#v%rrKRt^b# zfQ9c-r%WK6IvwGU!*?Zwi-FHRu1>j*aERgK>y#CQpC`PD@E3%45$-z!@g1)y`v}h_ ze1!00z%0Jhe~A3-C-*eM{VqrN-WdOOPU7?V%L#8Md>7$8gx?~(k8rmuD0~+YzL4-N z!t)9H2){&lAK`xyK1_JzOyswBouYIV@l_D+M)+>Rsf2eB?nC%%!WP1PF;8akr4hCg zPA6PNIG1oe!>2+1qec3w2{#blM0f+?U4%CgK0tUg;hza_Cw%f%BK}>3`xD+n_#(o4 z3EK(pBfO6A0m5GpK1}#~!bb>qv5E8)t0>P&gu4;85l$t%m2e-z?-RBV?m0`umqxgN za5`Zd;atKC2#+TGG~pt`-x4k*e5qZ;Kb`P+!m|iZBV0w;LD)ywOSp#cwS?;kuO+;g z@Kc2A3BO2q1>yGyHxT}j@CL$ZS_dCfq=HJK+O_cM(3vA;Rw=d@Vx)8crD?>g!d6v^2GB!$0_`GBkUlYO88O2^@RVVyXTAWT{RKDp714vQwxOq?YcYR z_X#%;KCME8w-gHhR}gL>yo&H9!ha&1K1TTOQz^o4B0Q6D`dHzs;xrDn_3HKtxX@sW}PF57gx@mZ4^8-p3HRyD^9Nh;8)CvaCOq1N@i``Y z9!B`bO?Zn5e__J^GU3i$BIPx~gzqrn%_jUufsOneGU5JRBlCN;3D=qMN)vv_gtwUR z8z%f`6K*!)B#iB3`JHCMgH1TggfBJW%S?ER3C}X&*(N;4gzq-tEhfC*gnM+4EKjZp zmzl87gzq%rRVKX7gm;^862_{sJckQx=nJdUNdPe4dm3^CDFA&%$@7*T+hzajB;Xj&iGP+{9 zK3!+4kqJL)!f%=IS0;QC=7#d~xXgqdCVY5VkuYfN~x z2|sJX-WA4M-x8CF&p)X-^rLDBq{vB4{nhou#x^10%MdTe%A_&QG)n2 z2#j7^{9Y6oy{!0s!7+P8;&(`3jH<;i=`3D;1D{~RXPfXK6CPp0R|;&%x5k9;G~owL zc#8@D$%MZ*;nU8Je15}Bc!mkzX2K7caH9$DG2!Wup>5I9t1rE+5mbOgkxcpM?o7wkAWTsJppP2vH9Y&pyxoFL0dpu zLC=G>fnEUZ1icD+4fHx_7w8Spo1l+CpMX9E{T;L)^cm=L&=;TspeE2^&{v@U1bqkk z9&`ls1L#N4PoSSc?0lPKPztCUs5__!=r|CLwo#4;^#Yv$N(Hg`>}enis2`|5=zP#` zKxv?XpbJ13f(C&GgNA^Hg3>`5piIy(P!{M^5R0!5h{egC{|wOOpesNftpimE(^@_7 z!p;2r_2<``%uhz1dV@{@vGSe^Vr3oxIuFFk9zeYFK-Yq<1F?Fx5Ofnru2)NdZvpA` z>vu5U2GZ-<9WdVsx(l=nv>bFd==Y!%pp~FipnE{8L98y`2a@Y!EcI{`!aNCj3iLE6 z)_VCO{JsR*4tg211M~`r)yua)yFnj;VyU11gg?EGehqVb_4Hrx^9$%Gh^?l?Q*Tc~ zxOnTS1*g%p+|Fp@+ZnM_Ts{OLaU2c4(ZG&y`RtqGmWSgcj-&DLlSUH9(aFCES`lk43pB=RGeTMOomwrx$^wo`8)ZT{_YEgTiVnqLdqs50F|0aiXME}@F{}f1- zRXx6PW=E_1dmkc%5+x2J37lzA zicc|d5Mt!9HPODSjPXO>sOK|8jjuzW{C52F*LJ>3{x|uCxV^7r<-Lv3(V6{?b;Q_aq(F6vGG5@qXhT*(jtlO%i89;q)ov0FsEW{R4%ud{fPjbBGAn z>L~%SM5j0X7!R3}4{y-bU*w4n#!`ZG{Db+_hc?c4_+NOCRqJPnkObQ}F(Q^zM%q3W zDsfa6J1d%>NTi>LiX+7nM`hvgzc`M{q8ck5Cu7XN%_qk2!$PIgX<9#J%Y2Sa$B(U% zI+(<_G}?$_}CHy`CK1Szg^hv6kb& zQ4G9AY?z$zlib8fxa<^FYo0j!mc=|Ez>fwVPN%L88)nPN8JQACkLO_%aujER z#!+r{lGWPc)V^tPRt~iYk(p1aJGRJLeWQA8(YEm_H|~gMpztl<#1t84to}+7^VdHt zR-6DBj&hhkvE?gD>3PxVfLdNocAhX)w%cv>ILB%pcBr}* zQ=!{xw?e{5M$Y?xZAwNf&KS4g=rc048izaN)B**#!z5z_&gu5sdH-(= zmDAb#9x;5LkgoR}I1gWR!ParoV42;7@;{J%&HzXjmucB(!h*S;`D&wI{k|A|fb~Bq zcU(*rFe%=2jJ0rbGQ0C5rsr?Napdek<$Sh#oL|<4Rqu?fz-*UqTm{(#Fo0t>v{{4f zCM=sejP6VjMgQ+gk)>@aY*xTwuc+|4onq(`Q-MWWYB_Gj?W_6OeDK2?m0B4&h{wQ< z4{XPR8H)+*BAh7K1u>t(^H`dEb7&)Zg@=AIWw<1$$HK$w)799*q7Q_E70VOhiHO)0 z-}d_-J?ELY%}!rWP<2aIy7-F|qX>^7g$RksgYDR)MoSI2rf~#rBh_zaWusg+dBIl( z`fZIuknQ`k=0&{NR`bOZk(WIpzTTh=rJ1 zNCCaIz{7am@-p2LO(-A=*W$V*-EY{7u~4QW0i!u`_lQ#cx9ei#`C>6tG;5=zP!^8x zsx8j$clc^EY#CuIkJsz7&GEXNHmu>|dQD?~-7yt6SK}9R$DthO2I3AG;+NsYlV*rt zZxmNZSDX?OT1vD)Y2hKZYCkuhUo;wL=xHUjMy5Nihv(MR97||NSk!T(?ZBsF`a1`z zy~Ay}$C4j*#}2Ks#gQMWn#U1Zs_Josma2O^p^xb~gu>On<7vxPzvEq-tXkseF=YJ` zPjFf4ab#Z7G;yUa$-U#L>m#FxwQomR32OoEkC#lNrGPb`?zG`6^l^o6ZJT8LG0Hnp z}dL? zc=%E}i$q^aZ@&Z)B2i~d<2MYp9}MM15%eXj_Euyf5(%Ui>Q@$)isZyJrsKnz77PBy zc6GM$kNXOzmGP0yF)wuJs|xXEl)qb=bZmviN(Z*F2#NE2bZkQ2A`2Z0E~nmp?J$iL zRVsS>0a2}>MPja2n0gr3nxjFtp+u;r#gc=zqKQ3kSX>P6t2TmVM!)Ah)&d*qMh%I# zW?H=V_d5&OeY`RG9Ov4R3A{%e`)w z!-Dlrta?foST3^Jn4KkZr>NwGh2g=XgfpC2_?EAg$WzdlD%>coIAtW83s)<7;eEJgO=IkuiP4KnsUoK^7u~_Ip|>Z8anTw#T~l zuk7Tii$$v$iVZiS)2-?j^k>)=QEm4)G)wy#i0Ghyy_lr&ZDgs!;{g<+m0ZUw|8|GM zky$Za(fzAuM~pVxj<#d%qMaCHc-oPJMRiiEx$AITZPizk+@%4lT$6d5F)2oUJV#R) z^kBu4nK`l>V?CR&5BFlazn0w<*Yl#Q(?iAoLO+~r{Bh`I68)0R*G|@tAt6esMVFvf z8s%u=rspn7$Im3$(mw@&Tf7Z990NKO%2~V132jwCHNO~dd}CSPXH&13{bKeXtKSGc zD+0wUofc~D*rH=fz7(@iK{RLK4Y$SmVW?Ya>m$@#v~fv_<{> zu3xKgWA8ks2DUkxKLF0^F|Rts(~Avr$7EhSeR{kh!^wAiI3_0>M`$VOjxUo%q#Z|a zp1A5InYUk8ig^I}`5wdLlD5%yc$Y-66gZA@^UyIAS4yShSL0p&oyY@zka+y`#y2@K>MEfDF=qPSca|Qk+9hhWEq9FblFKp1xMN(Gm>g8>7&jhX zOQ+aG)H0m@ERSVYDkO9aF_@Z=*sCqXAogmLneWv$?6GlK7ZsZi>$zxSm$u~HoFw0+ zZMaK&qlI0&k6$!__D6*Da$HX--r-RAEy0* z6_w_G{OJm54X@_kJ?D#0nM>`#s+cxL<6CE6ct~S>iDV50tGuy&KOGT6$Hsp2EdnoL zyw6;Yqy383_5&<-6p!cKVY`n|to+36o3H)E>N|3NKv{}cJW=x0T{7zUcMiPT zaLEa;)Q>xD){*JkEHKwXx!!Y3I`5q4SDmxq zg^kZ1xUKjff4X+ghS~j}t#qt>{PqdAFM9F7ExGSr`ONm$7JmHa#hu1Xa-OmJfx1<_ z_Y}FFyxBW!@C8L*?S1Z#sYRt-Zh8Hb?WZO!`C-TDPmH+j(_hYcaq-@r1IF~8d(IK- z_X7_szIpkm;$JGCANGf@dY62&yw}lgGf!W(?%5AA|G9GAba5E` z+kd%q&b!lhzH{`t^=ta2T)+0s1^;@p(`!}zAFI!~B5mN{+#Syco_zS;Z@(ODue>ui z`HfSicnZE7ky|vZx$lvsqjEl-Za;p(Lhr~a&rkgMKTf}I$Tb&V-_N@CtKN^lR{T!h z1sVO$zGCIJ7iVq#zDL%IS*KinQCiK*o-OYkT)n?n*CBIzoObKL$9}u7dTC`-)L&xf#_x!z%>tES<)yn&SS#*XrMBY@DOr)Hrs*ITcquw&vZNKlb=CZqI$_ zo9%r=_f5F?+F?uT&v|{+YpT2pYU*HD!?RugnYv+RUFO`2#%ZM! zkA8ii`=5^6)9Zsj?C$M9|Mcab-uRpEpUkY^d*pYvV%xt?9M}KcpT@p_%CIqi^c?r} zq0Fr)7QK#&J9je_pP>TswI1Z_WTxj&m(nAy;wnw48zoGba>H zm8Xe+x^Uv7c6XXive0>G!XpnQX6y3Hr1rQ!druKZt_+)1TwF2d^A)XlZRz#yY=n7R zOXE0lpFlauS=L%w_*qc#T*-o#M{VhS*x9R<^TiZ{BKPt1{FWXn(|^!=K2loo+2V>9 zo}Dv)PH9_u!5)U*LaQ|Q-WG2Mii>B@D__tma9er}Jq^8dQ4)W0pJb99{)gUziusZ9 zr)+LpdS|l@y>~|$1i6o=7caYD6c^7cDVtsV%$$mFdFYur?d)5BzoFM`3(9@`U*es% zhtVIpdm2vL^0#%Gq4&BaBKPt9#nYB_i#lo*32t%m_?(Awiu0yUdC)}DWrmIuu-M$|KYK4U-Ai;) zT>R9$)~NC+^laR7pcl`VJpMA5``12Bwc&4tmD5!g_wn>xIxe(vCGt$@sX1bbw(>4} z#n5xxncTaiT^jLF`kz-?^cI)1r;XmY*M9*6T%EZw#`3jb&eH@a?QbHd!PWmQy$owl zhx>Rr3Dd4CYV_jbCqosX*78Qq*87aN41YD2p4`XNYsEAvvBNXZ%qw@Fx23mZuc0@< zMF7UrbJ=#Yi;GJZwDyj!pSZd7H9vk0?wdGe@`UjdjrW4-Gq`)C zl>8a4e!Jb=37vRa#D`@@kv`{@>mBDdd;iMyKIay2#frVTcHH1|W^(h&G@tYNS-L$r z(|9g_VF=14xMjez`f11i9+~WOCdV^i(YgQ!a7q6^^0@``M?M`X8TsT3Pd~}M{Pp1y zK3;h2ws*F@IC}Mue{!YYym!8Ei*&C8xD3f`n8?;?Ew$%h(s1&Od?ffAihM#x#xwDM zQtzEyl4m^kK3vSx$_xBF_`-sUInRv99RXjF5>r~r1-V+wMX2sGo{h9y@{4}B5&UOISB-iXIUZmEpk2idG6xsZC^f4u2uyJoj^Ptt>vrI z86R2jY^Y*(xP_PY<;BuhEkAMUTsu4{eR^IfUJ&tvcskypkD-XG(-|L{Pxsqul2KNk zA<&Wbu!HtZac7u&Py3d?>+HSrW1sWeRQ>4x*S{_Ahl}XXvmD#b~ zzCK*pcV@rjtbJp)bGWLqUo7ZxRy%>DsK?`M9k{Gl^j*hU+fd-BKLHzkPF+JmKs8Qw z)X(LfbkpR3BIc~Fsq7UK=xm7W|>X=wrF?;KEX zoNx}mR@paJ=esUeTX`Kgw%%p7-l|^F*Pvfj**lixG4)neJ`$@L>^Zy@x;2%LQRZ5% z$73~>*T$M1=M7ZYqt^E*_m9R-jdN6Uo}-8#Js#$29v4szd0cn!{5D6`AbSLbLh#Kz(zuQ%@hzqXE1JDHD+A#ew=7beHCF zKG*C^tMgwMSkruyqdvYVpwb;@>!giN)Q^cLzVO-(zbEa>j;H_8L0)Gqaj*wN{Ix@Y ze+S|RJ#c}wg!~@EfP;XK00#h90Q&(y0y2;7F(=tsOJwb_EX!GoKleBZ%mUum%URn4 zSc7gF20JPTI}9w$QPa6^7Ml$YsOB3Tb-l=YV?Y%;%ZmIS=i`-D#_v-euj}!}Y-g>= zESJdI8+@8g(WS*jwdbckP>T;m_xOsB4&_;c&tF$4_O8!Wo`FuZv6G{=N&Tsg!cP=F zz17)sQ*`L+WkrqP`YAJv3)|FtJx=D?rOw(@zJNL{{H4O5&r{dfDWK?+R?nT7qi*W# zsNo(*4NZ0wwpiQH$5C4Zc7=W~N70S0ZR!?$8tn&PjoS zBXC@xeiu;M9y)XeaA6DG$KDAHa20Y*<9e3s5w0LtnCnWOb6Dha<>y}O~L zz)QieJ8up9vd>v|q{-*2`%m~jrFG@h4MjIX<8N24^tw_h^?PbB!4Eb$>;EdgE_J|b zq1X98V$T52ZM$AA?Hc*lHc_v%=>d{glcRP*er-VuMZLAi-E3tOc^$QMO-J$#LOu`jHTO6E#L~l&6TYOnZ@|ZC>O+UygdRL;UH+vb zS-)`=SxqciJ&;)Pn=4mdO^`K~qn5g|Zv3CgdVVVUwKf)CZALHWeb`%k9ll?}pBFE| zzpO3KPeoVOo|hKyuDt}VBYOUDbX5FD+Jr!93pZ2t(&D#jq-`bOzTX~qP#o@+N*{Lb zjNN_FD&pxz;wkNVwg26Fqs_Dvo&GPktV)r{BMySY198fnwYAe|BW;;R;Rm-qaVmN{Jcb3`WyO}-M;=Y>1Q?qYdps8 z1JTRC0l8`;F?l2MHPep&Nc%lY+x>`kd!m0p{dq8b&5Z%|H{$D=kpcBr;`U#NQLp)C z#_B3(#!g|AjlRd|Px{1$;xDhDTZtWoz?!_iJBH>scilitNv6&ly3vL=I(OZ2t)sS* zf6H~;dpvhte}kiL8AdwfxohyPq(4jgEzez_xz|yD2JbUD+z<5LHE1Gv_mh6fd)KWG zlYW$RqxY^6AxBMt{)jo;=lJd#`HZ7Re2(-+-(5Gq;Hb}hfwU*-uABaiegeFkzQlbf z>8{~XN2Pn06%GFe_irWL^(6kfvGVa)weJaZbzN+d=!EuIRr!SOE4Oi9<(n1T%!K<)%g>CTUUho78UYW%Ux51Np!4oKW z#7JH5D{b)PUho78-gJvs(*{rO1y7*h-DmOMX@e*Cf+tY$axGqS8$7ueJb{8oY}fqx z(R;jJ5dH?$3&+zXyS!IS=4^jz2mPwoXzpx{Y=EqLKJcycdz0tJtFZ1mR# z?-h$DQ1FPLAMx+vSWMSn9J>I# zw0L~&l{}B(-zRaeQ|+aFUc>)~?knYaazMRfpC6Iu#KIpzNBEO*N|TH~h?PRm|C<0Zk2~6ce2q5- z)HbP)n0iLa5w}iRc-q3Z1&R*HYb2)mUvhM8{=SqWE;mSiuYmf!g&$fdde-9^@~Zbe zvBN{TEjI6{KC9i?_E`5l` zdBsVv;}=~W+=LE@{Y^UFJ`t;?->D$4%GWoxl{%^zlM4?5U$<}tuwf+QA)ZNG6S-@M z^`%mdcwH@cjOo8?;RXvoFOZln<9%1|XKmg$b>8E#b^8AC*faY6iP&7=a|2|2o#?O9 z-=vc#a+?09pUAn|`S9Lon)V%|i%IY#?N!F5Rh6@1(${bF702AM=%q_nUag`%6fst= zsw|F8h32KjlWVW|{`9(HS!I(=xQSFLw;W!pqvva$Qe<= zW22|y;@|fFhW|(h{CBqe@38!DZ^yqE8~BOeUOkr7V|_O!#m&d2P)_1n>wL_KzLR9) zq#qt-K32=vNc`w4!l$qOeC#IToXp2w^Yx3x&&lqFZ;5pi1xidLemy|Ci5S(G2=2 zrPjo+)lS&>&veSy(qEeP{Df`Kvs&77S_k_7(Y2<1JOX`bAJc)C78lb0cy<4Ce(Emf z0%pE-#pgflw%vvqwqI~U zgFMcm+$VEX(^HNbOnP=ON1d4Ks0A)v`q52;g_iDL54rt+qx5Y?f2(<~q~r1q;psL< zJtcMD7Eu2Itf60N9)~>iD-Cx$YMC{@csG2H3#ji~{b(O3FnZd^y4LVC^wil= zPhj812kC=lJTe(L6?0O6x=UwXK#dU_Eoft-=i_YT__U3t3J;4Nbs5;OIG`SfhKx~~UltoZ9&4y{ z)J)+6{zi(8D&h0xfVvxe(S?aAMknz$I{#1lTwjqH)A}AjpWR~L>@7BVAeINcD)Mp! zwz1JoBCCu$d^501k2o9kjQyUxL>qOFvr%_#qduCi2er+mT@6gOWAe2=)^W{vZ)0Vq z#?1h?&S!8<>@11}@Ue;bm~LlVjgC?*O(W}rHh$ud-SEerj;hzPK5S)u2w8i?p3t&B z6!U9YAC9GTAnVyhuB_s3*S5+kYqRZS?Hwm;Z_R%LLf)c#*J-{f+skJ z|3_N+x9#am!awT=#`mQ?WXEn6{#jS}EqqjwcNF-E^lh{~;(b)s!Olp- z>mb(=uA^MLxK?m2;abjB$~B9tge#wG4A)q$T(03<7t__!b6gj=j&dDKSK$>|(f*gl z-6iW?!Q+0l^Z?Hfa_#5Z#kH4fJJ(LGlAiTT*8taXE$3RnRm3%&Yb;kLR~FaBG_~|H zR}rQ%rlG;knmrI!M~9(FHtn!mib zCUVBF;`Lv4rcmNWbf72wJDC} zu4UBeP1AKI&`3#3s56o>QPXgs5ll~0{i)L(BWU~D@j)mnP5n`5XQru87i5(&5bKul z6pL_IbLW(s{zT_|g!j13O8T`zzC;+0o}L()`}z-(v_N>isvmkgSy z#|6P56ZNB*)L7~N_gluQT4^ogWzNf1gAGJTwYYK`3fXQhjnV5Gdh$B4Np^p z`&zpUpQyqksB2W3N|*8@CX(hE<*V@Fjrg#pvnM6`Zb~biGcQ1AOq%NE(iuaUvCzp) zQ!(LdEOc@wsv!O^GKXmcpHQaZkmn9r+t7L7H1W)zo>Lv zq(%L{*0Ef8dbj#v(2A6I(>8k(o+4uljm>h!udvy=!WNs&UFlDF&rvG&D)Oref%()k z#jjozyGK-Ug;0qx$juvtK6^d6IcR&Wq$RL@Kel?Nf!-?1-+k%P zNZgviz2J!MBCD+a)^yC@83kXP{pw!=*F&$`uabnnYRlhd%intV+u&D!f^Kj_p&BiG zfpfb+a7F=zC*7W2Opn&a@sdrM&=$YCw~zJtE%^LS>e`E5L@sH7-HVUVmqh4G zG_5z%wLhdmL;AxYI48ts!JECyuTprf+tDs)tm;;uA@qdCst4*r2mET;HO^>hlfeUp zN@8Y9yBgHmu5??voT`2(vRzD7p$n;|?qyw~&AQ(oet#jmObdXYWduj)vbq+30Av3mBR=M=vZ{|}}Vst*N%b4(yO zzXgVeOf!0Rx<)6aw#KbJ@Ds}Ns}tE)S6PLsB%8YW`PBg_pIu10Q2h`*tuxZ$;pC6< ztG(oh25~=ST77Uhb{K^YkEW{#eXO>_pSx;1NLg(MaI_u3n?1s>zVFf;A-2q@-y-#q z_hW(O)9Uwp-MOPG$?2hK{VcuR`=+Q%H{QNyQq?M#?wJDm*sk^86nZD8);qTvyMA{z z_f4tj-l+>SW~fLBMAt6AHX0n&Nd<_t@_v!`4QJ*3;!k7f{$#4kFJ{~>{ZYcqLusj6%j7h|IcW25ke^p?IOzF$8}y}>Q`_BQIVeM_MpfBWk~ z+f&sawVr8L+Y5{ia(hLCr=fSo+W#|Mw9RDRHU!+z&Q$dqp}Dg_-G(m0y9$&)+4=YI zUTpFF_p-z9nZ7W*7rmfkXF#uL_++}${ojrprRTMKa$4%DSdprJ3cZRI1;*d*>=JeP z8w#J{%UyJvOO?78rK;@~H@K)kb*KJFo#?~X)sPj99EbNNTOa*xXiciAlex4zkFK^f z!k4GiH^|mB=J7Iz7a9NZJoPM3Ro?+8xV%7J1cpyfBF3bu;F(D(xH476BoBUn)gRoI z)V-=e{f=^FYv5&Dfu0)%w-l&!`l~eNJ|5;i*kr4_KjCZQkJYK_y8_o?n+>Vz2c%0j z6qvrXy1?|U>k8D9>#>{Ex4uAqAP^j_e{g;+_sD)&;1T%1Cm-j%wATBcYokA$#n?pT zTh=)to{5}45jo3K)zNEhyDl$KB@5wYeyaL8^r|Tvns518Sb(qk4&ROpYj?6H;p+~HhnVj^bZ4!vd(00_xoRrA-&s@nAn(o`JtnGQUKcJ)RkCMAKleCybd|W=gs#fC zN>YhMoy0%3%J}F%;VW30s{D+f>U_>aY&YuR$2LOa6J&GKXGxbHBL*F%EgmUUvhP5~ z)`j>Cy1wh3rz-V3*P(LX&8ZLDcQO;WZ}KJAHM3UmC&pPH`BLkyK^ECdFu)n`ez=5o zR%+XV_uA-i@XH2uQjsBC`17#F-qFY`c=+ci24|vIiEp9aQQF(qT=ZHpCRM#8bjBcGm&q!eIoY;P>K#iw zNuloaPSRGk%DNM6Wvi??>G%b275S;^eactlLw{_6O2YTy^N`ziM9<<^*GV0@sm6}E z1!}nPnnit6Qt98Ra}qk>Sr9sx`hhzMdQ%Ei8s)H`UJnbMppP=IxFo`e;NA0(kb=M zf2m7U}*PpQcOuqu=JNSy&V&H)2 zMd}Kt+-GPs^^b-xTOTrg&7pyN*b5^xhS)MW1EOK!NBW!Lw!ayUtX|#UY~|NG(%&2! zh@QMsE=BqjkLh!A2Sgv2vMJJbACHC8$zvTU+(mGnh=ns#RWK{A@99FHla3BDffrI# z?9<~y6aL@FN+(jgJ05- zW1fWd9~>M?M`(`h@q zQfSk(ot-J_QJw|icZ9T^oz%T6UyT93Y%jbt<(t0ec>Y!Up0gM5lOrkWvcUb==3t6S z!FNgy=9|9fNWSTN_UEf752UD5!pnhtb*Iz|j@Caox63`Uj}qv`C-KimiOJzCd}tl~ zO8X5Ah^EjMbenWKMQh^T_lUfiBJcVX_1WIGZLZH(CDrh>!Pvz^+0X{dS9QLcy*WkI zu+|#i53Pqrt$8m?Kcx5g*nTLRerRS~KQuEIUXx<`A)dSaP&WLoL3b-tRQO`6?S_lo zt5VwcL(pjHhe-dw?1##zv!x$eNt;_`+r{$!rXM;-d%Ix!p-}&5WH~&aY2OcB`Md3h zmglR`iWK$gbF3ZSZsJ)Oy1L(3V%yA1w%B z_IM}SbSE`d>@%o9kHLe)y6{5$g%}VyX5;mse$nuL+Jw-|=@;E8w1$9pz>c@QF8>vjb}yZb~<@8xkiyUnpif8YX!Pp0zb<;j%U{ie`Cbng?wpG%lbsa^RE`q z`a~--DF@w(%&Ww+tZQ^UyItx|Nl_;(ZZIWZ1*ktVTJ&M-3iOFa%HX}cwM~TjwU1}- zSsLN2``X2`Y^kS9ih36q?2@l;6d4yzW{iUmEyAa=Qq&D1Km1-~%`KEg-P!pn1^lvp z@G{oMvoTkXXFtQ&gCkPZ0fB?C&F~a;gmlSp8#hMScs7W5HY7#;AK_(4zDkmM!O{8$ z$B}zvzbyH)-~%5Fx?|~Jzv%mn19TkgU@YBG0q+-+m9LkLV;3i=lFP{|yg!olPzTKOCXD#n2WehD>jjz|8HNF|G@r!q1;S0$oe#vt;el0{#7bXw~ zlIbT}ZFLczg6ERk$1iBK#4pnSFXPu3WO3tHXa#(onZVq1g6-R{GcjyCZER;J>(AFk z!`nJ3ek_N7nE2$k?_LWTPslj=UTEquSMGJuisQ*DSV!#HV%t+g=Y;hHVvY9i7sVdO zlGRO8_V@%9JT^hSLYm(`sPKGjD{aZSE*h!Ezc;t)Y*3rAZ*N;ZynnLz_F1R7bM)P~ z^{o=A=VY?#243*w1T_yRGVAzyI@!#Jr`!07or0&alf=Te`nJT^lD*05+d^kAx>`@$ z*g(6`ZM|N$|C z{s;^nn4t26-#Y3%ie9%+?~!DcBeFm%OWNZRXda!Q27%u)HYd)TzP)cWvJ&1_wT{h$ z;I)j+kyrE|MBl>%(!bm&P}Blk`Eqy7}UjUIXx-U}>lNp3u_zINvoIwmvl!DEc_J zz_!=;HLWel>aRT4bAm0{tE5xC5`C3St`~Yz&vT5&D;820>s;Z|$@Q$g)Sm?>a$!=v z&<>|`svib@xypD?HIesJ@NmdU%80sq5JF3mmGE%btD!X$^n3r{I{03ntO|Ot*KI?x3Rc7C zW_;h*vo2hhtp48Bqxbv=*Q3j7e0(!kDY2>~S#1)%LT97su7vzjbh?53GV;rzHQ(4Z zQbt}mdGonuCG(y=lXVBVidy#e*YX})?j!kWDm*Do@l!sr`yuDqjA(NkyH_Az5WEn0 zn#Q%x8}ET1$)BhqBdB{4?|nwm_IRfl=AEL$`omp8_6DGj;xKJ3op(T8;E#8Wx{lQu z{MNz5t59~bo(qM`({(I*l)6GG$?6`U_Nf$PNl#W!B6CSP@^qP?3bD6`_pJAeK6o}% z-p&4oced>3Y-X(`jk3vHVK48WE*BcT!$V0X@jcn#37wKmORF>c4xlA_7sdm1z2t?n z;4O}JFl&Ok*5!+Icr3QdMSk9&hIoIPfNS5O4M+ZP`K0<_KX3=3gYDq*juky@mA$+1 z{+11Gy=I&ZZ&SdZ9_QPWlGVE+lh7JNUcUA1pJlY{feZ~dZNzW!BKd9nyP>rmgoYU0 zOY;p)jT`Ud|H??%3-^iOK~LgZaL@#m#vTF>dk8#YgMRoR&q71c3H+6T7r2)F2-n&6 z(zlyl6K{&A!F$29ft0_2eNXT^m-m1Xo`r_D(wIC98aG=ScN!Xp<7te7k6WSfSx5Z= z8f7EkgJ;4+2p)#t>8N4%*z%8eOX!Ps$J5D$P7ZV?IO367bd%Em&6=c1R;Bxp@! zP4a$6J^cx7dAe=OQ?OG}vdYM?K2t=Q?dkRPLIa#P1#ZV)yiecbIJf^M#p!VyW2CA| z-{GfNTfc?0yn~c=fI{2m?x&3Dzk5b2nv&?h@s};O-CUm;9ctT+j+@)lbes7KvV`_0 zsk^0Y(|Fq1c=b)v5$qDiF1r75deVQ>J~!*NUK1}5CdqtzwX9#297&QjtktrHHT!6i zy1~*4Z=YDN+w6Ur(P441ah}w9AW8Le>pU=CEtWd5V_58Xa6B}}LkoVSf8Nt08d*>M z8`4#mwzMD0Ot8%(Li>1-j>rn?n=-N9_(P9q#hN4)S!sQt2A##(qm$5B z35``r>JDN~iSWK^yji1IIbQwYb2hf{tYjT{8txHBj)^VXF<4sYaLU$E))$ zKF><(z~7dne1cED2Pk}Lzj!;*FHX7T>ZESolWc?TmL%2SKHmbp?amT{w3qSjCav|I=9h(bNs=1l(k>aVUKQG zj}>PTbBo}4y4As+%xG{Bwx0>Fv*PS9w$%=9+-mWG;YsT6(5)B_jX~qp4ZO3_z8dJA z_^xcB@r8Rtz9C8KW8r1Ucr{VvTQrF=O%iK7#G4UGsz79iUSDX1MnHGecr_IKvNPkE zv%&908E1oEl&(I;@8?cWH?bxc{wLv&Q_|I3Y&zGI8J(M(q{?!651F5?{LlzL#kH`o zz62UijvcQ~N*|j$UX|u2DG#wkepmTNUrOB)aG#r$WX6h9lGOj%V}3&xI$5ZKlntLQ zY#HB(4ea`I%kO+cDM@OF$mqo;mwhq@Ipi$6Az@#+#ID%0_|4@!GoJO1H{;oq@$$aD z-S2yA{zlBqN>bYerb9O~N$nzCl4)a4)_Ai%nm%4V*(FJBl={1jS7!x+b4DOIe-T6jV-JXb~f+NT)BfgeP%r7?$^w5F=PvR3hnYK z@!^UidBmN}RFK2N#1$MaOA$=dp4p3%+eyo9|?BgM8Ced=C;XM8Gj!KWsOjW6Vx{^eqxvGJKa z_2fBpDs`R9Q_l+o=Q)AkEC9OmU5Ow56w`mYHq+y0*It`_s4^1m7WJMh&@XW@UlPjwPG>Y%&Lr@D(A+pHYhtsHg8vBjq@Ks&f4 zPfZX$z{wK`P7ZJ+@vK9>SNhZ+q}&SVFSmRLhD2Y{`|r&D7_nJ@;d{B|dxhnDWygHK zCw#B>ss9qV3cBlj>W`#L)>*#STfSGp_ZpviN9tdbr+Nv$;Pey-PIsW5_fH~zE%BK( zfF=0CENs?MyeRXj*M(Lob(XlYu;(N0HxMGrpXVVwk%R(#5A}dQdvds6XZ%F;~c_t8?CV}8cJ976ImN3qp%{ceFtgkz5e9AAs^>ck{ zl27}5FrRvJwLH8Nyn)}#C;HS5ktf&6lW*mjl&3n`-_ykJR|<<9Gkt2Iz$wt3?o&%d zp6OPenO2@D$WuhV@LiOrwh9DCVn`4i(Q~{{CGb7MrzQ#BaLNyH`Oc2M;!oszrSLt( z@;%)0J)&d2#|Xb;eX3C4DCmyyscFLZ7|Zuq%l9bw9_>@NN&Tbq)N+B~EE5RM5}^2$ z>p#I`UfCbrs`C_|>La*b>bUGx?r#nX?bxjwd1iduEn0EL%X=~U$`N|(#=BzH@8jNq z$^3(N4?6ZvMb^+!ueuDZIFn0^%T5fxPm{Ix+0fzZ9i@8ost;4_xu(6X8F`Xf$7*F)2EJ-F3GfZ&a!q+$Ie}R zs$Tf$lBfJqCpakr!ATOnT%8>1lQ8%AbGe;c&<^#OpSC!=pHH3Qx$f)w(bwgt)PEwh z^YiP2p}2XI(>L0z_vW>pGZI;mtZjUh@}ccsr7|r2?YXLCr&on`c@@7OVNVtM-j%C< z?$$#(yr297UiDk@!z(7#2ls<>0G(yxS6SAt*rOLem;IT`Ke(EI@MjK~&X*U)`SPMTUtZ!>pS85YUEo*zc-eIc`*N2` zowK}Z1bD$&x#}yxa5{ch2G3payHc-`coKx4V)46D_$td)b14_Brme`_u3Yp2{zcXh z`5i!*wF%KjaJg6Y5qi{Z##CLS6|2BI$C&DZ9#bW>fyafH`CiqDG8L<+XFhaEhZbV* zMc85qeqJqgk*DWHU89lH)ORLL{gbj%CbXPk?Es4L-q%lP^|;lwdvFvZe#`|wd-^|I7G!unteIvY-mv~4k%?o}_6 zul+MU*UZ5Nb&6JGW6M%}rcC=EearQn@nn8S8yS+Mf#7I8&tiO-?=@q^eE9Hs)va;;y|$lgn=>9Y zK+2x>&}KYJ#~p_~3;H)Btz+LHazsw%n11VYj*;O^PKV>G43XioNA(kU4!RdTYKX{k zk>7WUESGbPEa!66lNUTHP3pgpqaG0m&UAs`JS0$Lfqy*)_9DwskM=)lKlhUFwx2sl zOZ&+I>h`mNwtU>9B%TD@qh509R_CbWLU*iLt8Yiwf$m=D?oU&nvt?R%bp}R<>3NJ<KB?e?UMEEcC`0&jz)Gudsmv8Y0GGT-!m}kZ!NBvmxu+0~HfV&gD?8;HADOZNSMew)qIo6l2tzb0ByiaaaP;VSFH z&fwOVyvwV7_hHf9Opg*Dt|&z>Gw~bJ5%dy9FJ^3X4STzwvm(xS=ePQ<8yif6{p9;){ z?j(=eCo)X3GEA{DMyngVQtz}>B?CF;9dq0U&yF~VED|P3M=pgY2&z9_Pfu(FS`vJXM_;U4vr)IU5&Z5Ig68v?=E2Gp`MNBXfm z%blQpB#`&f^am~H5(J5pKh$Lk)ei(poFry#4@sGcs!HcgR2zUC=iM^@)->GyIE8*m z@VxMQS-%J6H>&=2>o+fo9xj`+D}r9Dhm?->@EMUm%cI5!Oowi!N9BqhGOZr6tRB+Q zLl=*_LF(^9n->Vqe1YKTxP%<#a?fu~p9bD`H91am#+u-rbl68}<=B%Nm9+$!OUXD+ z>^Vu~XtHvgH0LjbP6uRM(axS1KZgH{oOdU3oPq8IM`ef{7tHw^!HeenjnJ6@YnqPw z1lqxK0hKF!fD;f1&RBuSq4kU$W4IUl)^gsPwuSvYxSU%SwCA~rEW7#rg`BG>XANGM zu}}XVUGMp*qc1zgyJ*JPq2rDkBJ|fxP}d7Q#(5$FkMkRI^7Y=)xV<0C|8b>P{JVh2 z6y8l7k+W2n9Vt1AtnS{2BLUSHI$>aVZ0ql!f@{DLA9Vd^m!n=6xpz7yuCD=qyU?-o zymg#8MZS*f>jI`fs%9Oh&SC!%bJa0=-iy!mZjI~t9v#>JP(}=0@2FLjuc!;~&M}}q zCM`Tg@bzIYv39e;VZ4wodvtielpK9aexEj=ceFdUGh?rSdd`*)=jX^f_OtP8EBmF6 z&5p(iZVsql3;of|aks(W80NTJ9CesyLF(U}3GNp7*v464l#6V)ezep2(XNjDC@g+- z&`}Eo?!}J|IBE&$k^|O{4q89jiy!SLU+UW*P+J9pvqc~{TF=P-6S)WeyTGIH!#eG& z?9Y<@Q!=Lt<~wRM{QX_VzWK<%(%Q_<7vGk0D+9)VRynHL-Uk;kkE5OF`T3+ac3$YH zQGz$$+IbRoF6SIZcTP3MQ8$vW?L5WWc{y{c67)Eqes`gr(=UtbzqgxnvgU{liX7F0 z@)ae>Qxs62vpj{dvp>Wfb2@a&)7shjTc@p^rw7zOp(EwP+XLv8N;1A)_FV7Ub5Lu$9b)YHw+Q-6=ZqD~S7gI?I%mt07M@JIWh~ak;Wq;9?RkT1&n^M= zvMnDT(%zoGl{&HX3Xj>4W}9JQKs$rx+TvDTiWu;*yb5t8~w2h?7H;Or3yj@C1>|A*WI z_W?QAjQx}Y-tXwT;*;~gQaS(7({ipve9Ud^a)U2_kjAM zKya1|1ZNqrX5ZsGbj)qDk1Y&Oa&}w;YlIs)H%ZRiE3~nvw=E~2>d-#UXQF9(ecQ~bPlESp_W2fawYAT^);`UeN6!BP z{%`HGlrjnSS@xN$+UMu+_`k8w)7CzV;_S2hQ|vQGc)>nz2*f_y1Y#do&mGz4oA7kC z_ESjt|IR+IT+KdxZ%#OGV#$AFpIbYy&u=)#UfRzx_>lIq1Q>6h#Pjts4)cuy&Oo}B zvyiy>w!m(_3$WYQ3n*7s>@+;cHwEMjY(387_n~^6$L~YG)l3^0>``w58wbnpsGYi+ zea_*DI+mo>{eZHs5hLmtYs@rPznWbIT zE4o~0-{?{DyX~eM&D^EorW{!pIVA518%HvSgnr}59My1}hw(3UBg?Zq^YdHl$@iNx z;kEtj-oM5^X5FoMq*=Qd0&erj-1;iy--!G=hV>qqV1w&gaC(E&+u%$a8J!rnzr2Uw z^vU5Yy9pg-3jmE)14^CnPD4! zJ<)S_&bRJCtbd66hdCGQ!Pq8#@7_!q(Op9);nQ2cw=4Af=gRtvK5wJ}T7Q8Lfgb~J zVD2R8X8Y_EQ0w^ZTNCzf2|owp`I+rIeEOeq_FE?PcZZ*D@RJEYMch9KKM%l9QS5D( zpMNqwxZ86H~d z|ErAV?@|AWR{Qdi z!?mZzVc$Hl?<3f^H}>rv8vze3_Wh-yQ**1e?=P)=e-US2(wgUAKp*>VvhAg>l}X}> zw(m8g684Hqd-2BWb2j?ijXvk0&jsl7DfBrPea=Il3()6N=yPt4ij~5jwBOy-_p+z{ zNEh_^a-w}NL04?~PoQhxn0=;znxEU-+xIxM-FR~PM0)h}oA6T%KeORy2K+n*KgIAf z8-8ZM&tp02eV3m%;pcfz{TAWp`9%Bv&er__Fu}e*G5YlnX>Z?)LiZGpd;WGTSDlf}Mr_GT~a+bgym9$M`CnxRuT$lCWcYu_Kn*_X8D`G?TQ zzBgI>ejhqD{C2nb+tMZcUIj+Y%BLmDcP&ij8xtFKDROINDQ(u*AXw~fV9By9f z=-)B(Z6BkH1&%5PuZFo*^J2;4tjO7t_ef068GS_Z^2mE$@@7b%q;1qNmvfJWelcgU z&St*z6m!kF%!B5^%L3Ng#J9MgAUHhB6Ug%%fzJn2SIJ+@yLW+0nP&<_$9Ivx23-xc za~}D25&gnecU?`s!E_Wk8wNA~>hCDsK9-G4nB&2#UMK4*HtKKZcZ1OhbE?M4dQQ7l z&JO%|96r*y^_;i2Pcp8#%~3}L-U$7XjyguVX{4Rs-Dc-^Hv(_sTTsHsO#yX{$OKNh zKyds5??4aK^_tj(Zz;KF1Z#c+w?xyfk^aMs^*^5Dto?W#=e*`wUJF`zjpy$>!q;P* zCo6C&{LSFoL&Dz-%im*`zp20n9rX?2??KW6!D$i*P6MzCn{MeW<5BP7*9GDmbwIJf zZ^>`-p1M{4omj6EI;qs}bM=37v_{L*x}LlpnXWQ7(7KP8t5oFa5m|K5Gj5B!kIGr)`ZpKc#8Oyo8o8Y(f5krMP;&UT$+V}zeOx*kZn!Ij1 zq_25ObVux#-$XVLzqQ}er?4*3PItY~lZ-QN5Z%!SZS-ZtZYEvLIlc0ZU&b8zENuFt zkLa&5ga`U5(P0%hPY49(F`!5QC}-;4 zujw#OWUMIXRST~*=&F!1K|9vcvO2d%hql>sc{4bT4|>!zOSgeo+DzZoNZ)k_bQ|cm z8tJ#H(7T~~U2GI(mf7DN9SI%gOPXhBD9W9JUNh-aAC z2S166oqtMs@D9eKzkttQ29(x$rRY2h|ILbh;NrhW-mj4z9g98( z3%#$=F9RFC7Erf9OOHjqE&7}hYk1YzrGdJ9qR&^U^V^Iuz(4i9IDKyFSfBepLXSUj z)cXQ|h(3Sps1Hdu{n+aBCsv<71it2|-NMIf0o6rx2F^7C!AS?Y`uvgL{54LWA2WWU z&1>I%lkq3{E&6;@d>4KGUi2yJ0X>aAUpM+Z!TFPoKXsJ&@cG{(+fVrp80k~Hk!K(M zdb~b;KJ?iGefEe|y7=!U>hnFJ_W|$P$Zz-{pgsi3d6CU0M4u1G8vekzNAjra$DP3a z19hIDjZ#j0^VG-IKmXdXKIe-bSr=I*@E_>&3hxR;pI59tedaxP<3G^nKOHq!>iTCu z?Gy;k4uRlo2a1k#J9F-g4%7XI>612y44pjctz>W{zI4L3x)MLTdsK~-?@Ao*E^)ZK zjlD#kMUjawf${PC9-Ua7I;9!sXHz_O62UE`sZ~fP# z4)VS#a0Wcuxq|eAC-CtII;z zyGRU~8#fMSEU~&}41ANLdJ6uH=ytG<=ZBoYUG4g+hvE6uU~8)zt*vg-F?@B~v$K=M zR(BIC1dfF69jt$d&F-)^yW6&bk-*#db^x?xtb4!k0nTKB;7k;VoCN}rbAmwR%oB*5 zIRcS$98l!E7uaU3*(zsONBv&v=>$KiR?aqKeTff!M9x$zXD2IX*N)}<<-;NT%@n|?U1*n{$2sqUHI-3P~8OfH?c+d@65d(Yvy%L7;C!U5_0GlSm)Be8Lxp> z%lCxnt1c~0;oF&>sPM6y_dN2hNBg3GO!O7IekfyX8Be<3CTl1Wz488sF;>{lkzD#R zZvGl|xZmc{{i2WdivBd+zGHNJeh(UgBi|QdZCAe|()qWHiOTx0J1_ZV$6$Fiy~G>v~;X*4NGY@NQzK8OwKziT!Hwe45@}@GZ3co@udKXbuuc9Rq=KwnH6w z0n&B*yoV=J->{d8W3tw((*px)SloI2b%TBSIp3FG?S3<%mS@8at>|FR?XTVBJv)T#{Q(+6`;Ecg!vm;K zgALAOf|F-(Zk0681;4@7KlfVKn+$%74Y=3O^OB7X7zmHcz&7yJeEKoZZOR zHW-|&>((~#B^w*i=3d*EWNl!+%T$9tYfl({s_a@xTN~UWHUOu^2GDSAu$wcWT5OPX zce`_?j+0+gX?Qy#=}p2{My#{wN2jO7Qm>M3vB5qg0t+wY&?Ck88QE4B%)PPMG>Dr5x#Y{li@WRc7;~-h>!9*u-I3ca(FK ztLf`FtI@>Td--mcl>55yo3TT_omI0>rwxtYnLbvYiT>r=xi!#9ps&kL+rj$*{XW@@ zA#A^u6Hw!YzU5&kvU(;2ly3WjwJvs4p`)YITX7O-Yn*92YPuU-(W9i{Wk>C8sp1Pe z>^|R?FWSRC5xVvS)VBN3%GB(s>w2zRfW^kIWdyUjh zSu@@f`qN^6k!MyO`36L-FHQ3y>j;kgzR~RcT`hZmd*JJOoCA)OeJ-9Jb&73>j|soG zdt2(?XJnr*_@t%mdy;0Ypmw&ATlPTIR2sef($W>Y@3BrQ&!v6UfGf{xg=U`ra2jb@ z=Q8><{n~3jzaF=J%zosybJWMBtyXG(ibW)S!lY|9rE2}mlV_x*jmes$!8PmOf~$Gh zmwGq}-A~c77(e)q=GUaZrR6f|b&{SPhhx)%Bfj4&&i9+)*B!g~on@J|_`3Lb9_N(B z&jlN0A2u=L257i*!T9$L4UEHAl2^hdX8`_irr@=Hcda8@nQ^rK^av7atb?EueY%`Yni2Xh~K65`n>`2TN zpOJEt1VJ|^&oQCGs8s?t1B=f58*n9DP54PGM_sAe| zd85zF9pxQNt&iXQCY!ij%|4MT&fz5nos~Hh>&c8cA27CSGkEf_z`N*3(lx}dUy)Z$9BAQ{`ObD-AM1&6Z9?LMzPJ5SHTNxLn8!#=5S#{Gb~^so z58d;<+kGDTylagf=<~iO`TKh9sN#LTtUbrmlr>>lGpM0#Lf!jj>==+?`Z%dW>vUp3 zeFa)Fk68zF*9>&t{Q>oFHc#}aeIk!>vG^eEUVJ{DzN|BdZEv@_5gd)1XWB>YY!9(N z1HNS4hId(UdXf2>l$AN0#HZ`=wYJY{d>+P7*hc2L zLh}Um%wCqu_{3M&L^^j`K+O@~+hlz24a&>>Rrf`#8^|8IKXMMt*B`QTMDT=;>tFJX z7n#$E--?gblCS05Cu<=Y`dgL~6QrM$`LR56{n?%Wc1wZAY&#FnGko3w|1JJueOr7Z zUQe~G|LA)gw`8pFQnJ}AX5tz;q)rp#?YJpVekYVu`>zMhH!Iz>673_EMt9qgSNDnf zUhH7j7~<=eXFZYW9(>{d3!g#z+oj)&{wyuw#qcV8OpEPq!)x02C>x|kj+!)mQ{@TWQ+LOe1iS5$f%h7?s)iIedjkW9GxcKg~>9+CxLgL>YmWL!l%lW&N+V;LC>Nqsf@dgw9L*F@e*6QA#;yu@_57dw25d(ofx zcx|4kw+h*1AFQ-Hw=Hb+WyW-ydXo18($084c%w^eu+WC)zK3KywbfaDcU0!hpQGN5 zzKqxa@Tz>%VoRhh8J82MW&N{?`2V8h!OsJ{*O0w}61ShA+-t<{T4MKU9eeHfXo=bJ z?*)4tCyt{BsaN*_#OP|)Riy4BXvlbTBQY}@yiLUH?-MUgUm@S!&C>06Bk{4CelJDy zF+KLM=5k{2~)RxJH2+WjZ6F5#3kw!S`st0&B@okMjMg!)}F}e##31z)OOt@@g)QKIuHXhvXRZCa-)Kbm_TgsVXOF7GHDd%lT`wt%AtRDE3 zK2Cl+EMqx;n>HRf=vDD!s>ne(JHv_UZ^a(*>Tk==heq%y=Z(m>Vvhl#k??)mXs6>}i89dXn{HH+H1y_3pH~5N9=c91vs55BUjPdKa*oDa(t7;i zp`Ru#W0QHn5a&yU`*HRYXHm(!A1%lEdvr{B9G>M|s&PQ+$K>3pP_|D!ML9WpswA89 zsALTJKtN5iG-m>}y~zu6)>M377v#LD0Z*GY9G0`E_S!Q)_H$;yUamTRYe#(b<2$bJ z>EF_B@nTQD$Fj}B?OwjW>E$d2Q$DWOPJgv0lRzi0LwD^`#PYoi-!udc6o z@h=_snajO{AAW@F8PINU%s4Z`*>7Rae2XlCpCw);b&Afkj_fn3GqMQ&m!O;Z;4L(A z$e9&o)#ztFc?-EpyzK2nS7qp`oO9srH9SR1C6BT*DLc!SoyoIVT$8}f_p&$0>;=$1 z^SY8IsNoXT>ebyllAXT=#LM{*>u?Dko3oS zwrse|`1&eoWA?Wu(jTr8`srSEui!L6KRs8iC#}CBm<4b2t-(yM`X`^z6yzptxrvg?0!^bEC{m@ZjD|5SWKYW+7_6JLTHu?Q* zyaBgtkhC3i1a4%ASJe^2YbAz*A3l<+?$h-`YXoO|aX*gx=SF$?y*Rv#@e-5y4#HTk z>iMuaha@r@`eV3Gd+;wGzT{ICx$>o>=LeqQ{0`2p z43+xSst264A4z;U!~Px7vt9R;b5QEQ*FHmD_@uACH@XU*%&V{JZ+t}POPmhwZS{vH z%2e#-yJ!cggEJsQvxseRHqySZ%ACO?x(e;`s3TJ5AZLf{%26Y+OJoqT4MD%l`5syk zGEMiXtNFqnTQ# z)cvs+Tz*>|Jes5a!P<<-9X@9ElLU`@XeaQ%vk?7jnv^+~!#P7a>H~0fd?p=g@~A6P zm&E5L{ad3$a+X;$&$J$S7Cz{!C)Tu{X>kyqGt542p(k`d&+oBCPg=L-9*N_J+&v<4 z9?w^#j%uEZPnAP+gQP7!XS}?m>mzSIXH0mp#VX|GY|n7M^^Jh9Wlb{D#n@sGa)cIo z)I7?He+L)x9ZjhRTZFKMw1FTvC0rG&s1yH|F`1mt7+K`ucWB1HOO|+aI|wgAA4`yj z@7BuME@95n42^BIV`x2P#NXoD_5D&ew1dmpKZ8BOUGTLy-w_{PCw#8-s0qT`${e)` z80K8k@H%A7$EIu8D=T@>StvGL1HE-QYB}ZRuIIPo8|>L8)j39gn-kBZx$F1z``bOL zKwzCm$r(jcNtbMseM88*-Ja!9$5|d*JZhBGwT1mZ0>N1-5S%Xn!|NnA@Lk)T*oWUp zH5VE?hj+rqdeaxkp475g9`*(L>&i-K&!y<9%%i%|hlIh=IbcCXl1egSL(|mKO4M$ z;19w+qo6kgyy4)D0B;nw9BuZ*2JyY{5O9Z6W(4#`;a8)%GCgW;7s{klCWSIy&RG-P z6GQt6^yaF*QkR!B=T=JyQX$oj>BPGd*DA4ng`j# z2cDe8@h;GOb6WN?PLBnTI_ejaM}6O6{WNrxdXKU0Ou5K$vu7*VMC=p!PO=9A`P;7h z&pJjMyTJED1fJ%+fph#;fON?@vo}r7l+k1D)0{VO#!)k*zB8OlA`qPK3k0Vc=*36H z2j$G3tJ+~@8#`=q)LlZO&f0;qC&HWAAIpA3vBOC6WIt@hdXd@u&XoRTwey*AE$?l$ z9flY?%oClha#TOcRjfxJs{(2<=`cK1&BhMQzjZ$rXNS%f7ay0ti*sSdMI&+FWuGZD z*YOQ#@Pg|C>M5YChlZ=+sd7dvxWQ3#B#-*Wh#fXiZ*@TBiybywJJeY_Z0Xnz|N0&J z-^F=CVux+mVW*=q#SS~I9d=neY{L%Q9rbr;2eF?Gm#OteT5LwUYy&Xo{QYgnI@I>-3Gz*M)T=_j2tKB`^4%M4j{6OX$oB#J!y;3xd_`8i z=^e}WvdC4+Z-oTTgl>tWzAN&TSoun=d^3@67O_L>pA|5A2Ip6D56&+Iwvj_@*3r9L zIVV%j;?d_cO(LFAHk?nJTGe`%dV<`e9QCNs9|3>EThC%CL`O2Wm`Yy7puXk|mKBU2 zR@(8)N1nv?*TvDlafl2tzYqH=dJ1_Rb&r(KragEA>i@F#{_$~E#p3_|%H{`?Rnrgm7=swx$}eXy_I!8oUKk2_+ci(6w6lqTwkL0^f7>`_F^G7nxeJoG7$~>`s33oZ%qI@!3k{9Qb!Tw*K zwan3ecx2KqEM+~$-qrLFV;TKkyWvmv4xdc+mdAPImz^-yS)lZ@sh8mBoi7ok-N9HV z&&3^qjCFEd(x_>aaSm&CpfuYtBc80_!V<)>n!+zjw;SxwvD<5e&HGWc86^ zY*5ObMCv1@)<*)?M~d;05|_LWUA^Z;+m;|Wl?uTLD5T6+T38L#F@la2%$WQ}w)EZY z^{jWj9RFTK)QB#^MZcCGY>qv9z@Ax-WU6<3l8gy-e zJ*BLT>U|A*cf<0-8M6E+zhQp6`R(D?eMaB%9l(JMXHD)(T#D(Er2eKi;kecN?3HpOFgfOp`M8+kEVsm!@-L?mhIzY7*|r zi!`3$s;HRGvoQs!u0jXA3m%vTv0!|bflF^oB<*St9`sUCeo>rruY4UNEr;zxM3c*>T5S*_8BYQsQv;*va{BC^Rb2!bMKe`^d zbX`A){=+5ksZWze&0B&^>T9Hm^k8k8wClUt8u_M$%Pjn&LbVxbYD3+x7YU@vr!`+y znj=qDjohqwK$S;ft-=8Lcn%|w=dcsbbHw$JoU&RLcB*e7D_(E+_Blw%ck z(tJyhYZWmTNe{NCNv^(YuaUDX%&~Ax<)uzVNDD#3lw)a{{6X_AOA{m8GDn6W@MO&g z9MODB$;WfN9DDQ~|NWM>Pa!m4*Z0WsXQ29UaCeP-gXc)&=lX(ckh#;=3GRV;G~w>w z|3ZdnXN@#(w)J4mL_J9CL%#YNKHr@tw<}x=y>)4_lIQR`>-*i-_t)b4UHGfY(^VtC zPzcUb3c-0&Wx}^i{VYp~1rMdkmDXoM`yKzk51B$eX>t)~%7Z;M@{`0o?1#FNHIVoj zhwmwFFLh0Edu!xJiMVC{q;s&}QrwMclB2jAYort0xUMeNe5$Lhlx>UEl`A!to^X!# z>*QBGMYmX8ZJkltv?ui2#pOIRc7MXnw~Jz)_1i@mFtlHJe6G*%J_PS$j*SYH*5Ncc6=>GQ4%bNN zXqtS6JmI7G-!c4L>9H=B$2+qw#`}mrt5123kDb9w`tPsrTQPAyc(v>F3&&&e>RiH% z|5g6|seBVkHL-zB8J|f#0WT#1Psg&+{q&OutL4GHo>zivQ{_>GQ!RfWUsEsg?J<34Z*W(QWH5$H=X{Sl#pUQ| z{BF`z`R*=!YYTi7ZbTQGQ{@4k!<(y}zGzFe(-&>5mc^S=rCoV$s+Lz2g7cC>aDERA zZLOZTA9H)Ev}js?s^eqZk!c5G3cD{dIFKrfNRMp1#__j-YWX?)baj8OeycFHaHSc4 zdsua`GgUsX^mbOuCScs(RG)Ew>*87c?I%E`8yrq``tM2gH>UJ^GAZE))vsZKz*+int^J$6#U4JYH6BZ?X30o zSN~JrJMc&Rtv*#mVHNtQLq7GpI_r1!*6*tDyV_KFOJ%98mP?Q&2+qX{!I=&GjlE-4 z>yOR@f3I>3)b;&*J>QpFkeTn`x=+LS6n8gA6WaYua6=8L@=IWA3*~62mK4K9W7jzrjoL@9b+hGwZA=-+HK8 zYOZwFy&_icH$$tH`)Kd&CjMV0@;7j&{`_>O4*qn;_#E7{bES^2ZB#uS_RCi^Zzi%G zu97W0$Mql7JG+VL7p>z?)%tY(uH*Q7UV^`S68zntD%F-&q}1BRH8W{E8B?A|{Zba^ zd9+IYGl6H=gT4LeFb{c@|4jH-!M`?LE}Bex#mv~13FncQD(z!_xgbvaSe11AE82tU zv1lo@1L<3KXe*~#$t41Vr=GDC&fYN0q@oVZS(mCS(qwcsB&Vlhcf8P$rs6_Keu~Z)ep=! zt4)5#&*J^k9>2T^o#1ZX>-c0-72n|e6L%?Z_RAkgH))%zto&)Q*6n`c&7jLH>vJm# zCcaxOJH@nZS>y|C@yoA(t=p@J8&M^>=q!qUBIw7lH+9($os0y3+vz`{Pyd;v5n1+G zor8_{umY!ZTYJxf306Wud>uu$$Ew0Jfsku2Y`{oSF8P!&NGJ^ z{GxX3KrS<8ZK;xQ7#~obuI0JOFU2-*aG{_6j`t1NZN4e%6RwL&&Df<)%QfGYYoRR{ z`Qv-8FF@u{Qx$ZXr-z~2=$GGXJi*2)`FE9(v^Jpftg-dw%sAgQl)KaF)|HVIZ}^MK zx6|@N_L+?T&S(60XZ#y{8~$hMIQ4ðF8AJV>8&C`0Y_M0{MTdZ>h6Xo+9m1Gctf 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
        cI++nWSlD#l%MJKL-&nM*gjp;Y`xo2Q6Z6$ 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

        |ea|?ou!zZfbp9wJ(7VU0c~S^ib=*^mcx~!vhn7 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

        5+aN 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 H<8Stdw|2h(mRRypJF|-pblK|G|UJ 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

        bK@D-I*<(J$vTKwxMd6M;!E-zcJq+*@e+sW6p`D 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

        (;h=mkJ0 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 z

        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 Ok;Vnx^F`;b2LB(F5Dc^c literal 849567 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ČN|Qf%IvsD=@nSnoVKNUL92_LZA_3L4v?wU!%NUwF zHlMZS<>x0uE@md~O5gu?a_{~lt@AlRkU`)_SlC_Q*(plEwzZdgg1b!^kZLNl&*gJ&5V7PdB8D@h~Zz8%QyPehq$z+?)KFz2mD7JSWod<}p--(?PnIz4b&xfOn#z=wMp}PeqK4&&;^3a-RCX zyR-AZf+sryd0PvhDgWQoN30ylh`*TeJ<3v(wzszjjSIE~+toMqWW?6(x*&?c0q`?9 z)=j|E({t5Rbj9<j`8mO$vvnydb=T)s_E?8oSv!jJ1?1LB)`14T3^0V@3K!HGdC}9 zbZec2_A8(lv`fb;3Y`#HE^Hcs5*UyYE$Stdhe>Cnb9=+!Kago(jyW%-M*R(b6pA+) zAleLpe`#=+Iza67r{!1pE>E7y$)SLBhCpA1Hq<%w*-b(}|5=+#SyTTE5nz2zW~TftNM$#E}pK}cC&TLY1e`S#{%=#TlSIHs2QP5uGYkw(RnMud=LV}}^06fiO-_e|15^u9OV~l2>&2U(B-e!=|*+ zXy#xJA)%6ZYXG;b?Cd1R-h;os%oybdsd|I;-_n6c#Ey+)jB;k{#PfIefeitHXN+|~ zklO79=;`TE);Bw$TDZB?ZA~g&9{uQh{OkcFrMG_hI(-B+g@<%gwuHkz1P_Lotr>IS)*ySQ|zv@5*cP!VdeYYx?73f_YP8qxqV)Nirp(!swX&53i6Hv;`VnkBfog zwdJ)X!O!Zfr>y6PC3RI$1(b;T?l>B5h-4}`_qA4j`x#9H3zuw8TQp6yCNF#uqe_H= z3BI-DO3C&nsi~&sF5OTqGMr(uxw*Ntv+ZCy z?=S$|sm?1DcP>HLOCrtvg|Pq^|HvCGYobp=tnm;twzA^5aNz=CWE~x9pQ@`>Eg<8Z zIeS)Pc>}BtV77ZZ9|RwMr^Rva{EVelMl8y56W*^M6Wv}#64w#*$}LcR7K#X^Y>2}^ z;8}OWQj!h7=0@%tJdWZK^z)D#p(QAMf-bkvjQ#HEl)fHE5TB3gFB{M%JD@2kWh1T zb6N~qO-+qg9MG;4T%ol!sIRYYkxU-p#yZM?OrT=%AsuCj==^oxaNt;sGaGl4IivKcx$ zuBJX=i6b<;#S)%XE-f!7$Gs2m-vi7-ZlqK@@Wk^fnx;pFU{=MQc7ShZXJ`Ez^E;ip zq6Kz=KB74QcwQ*_7t{2ZT+ncYj97;`Y6+6>SWlt#S#f@EAD;zaOYD&8h@Uzxmpmb6 z*dzTW|u9)u0VO~Ez2hqPB6+hm6_zhO_{j}TWIdmzx2 ziW}S0!~<37T`XOcomS-gYS_27Axo@}%LW8-0zX*~!{ zF>Y%U?SB%1TOhSG1k^EXuT)$2yDlfjy_aw$q`_uD6+~U`Cse`BDel7>zAdIFy-PVL zi-B9g?t6K80k@j6&Yb?J8$d4{0TN@WCctSFrEeuoe6I{3p!Yi>Q*tt|D^YIwSV_Vys=ZFhnQ#dxuM~qsVOVC2fzE43xGxrxX#?%T>BVHH&QKPU?^v9>;i!j zF*1-vl9Mk1<|!oOH4xu0?_B`kJ^@k#P(28a#<_Z^uh-53UOO%)^a=s7DakPi!kGau z>oV)f@L8~L&c9?*8JkKz(V1jbI7RLA6N=y`#g(kaI&x$z4!fUeg%-^f?4{V&+PWC zRPjevnrH34J>yc5^3L2q!KXQU*2MA-%+14ZiV>-RkVajC9j3LvnH%_z$iKUsC?j)_ z^smW_)Q3bw%4iHv)6+K=T95I#mfX*cQ)5MPOxhlA@OAUGm6f?6MD1yY^16y%EP8WN z)p}{F(`6|qw!yx9y?1eWdF=f`hR;ZFI7sjC8FuXFvYPY~Cse7C%GPIW|4P%-_G z`T&7t2q{XXAy&StY{K?H@&pCg8I26gM{^|S`LN|?`s3YNhRT*!ryZJ8SU4KoFg1O1 z2Uu2r$G1F)_j~8N^niqz>Wc2o2tG{|57@81$K!0(bM~^Z*FaL`-d;-q`23T+;ECTtm0i;%$^n-n*9c>1@Q=UMzM$Rfa<`^SQ8hvzpK zj6-xENHoBA3=9k|R#sLbms(vIvmW^1^}^3Dqg#}dGiQd3i2Kvi2qZ=@45)m(B?A-? z3+l7gkKKkP+%EoKafa3dxWz>% zta2m0dFye|<)GE3$BTJU@>dNc>FKR^w>k0-mz$sbhtvr(w|t3rQ?c%F6S0Sc z+mHuL7;=fdjlV()Xk_0=A{6z+Jhv(SyC3qa`2Bp4XElkEfSZINzn+0WHa`9szJO4r zj_sk}UGYhivuDq$4y8e+K>KB>#1N;awI~pp!U|r>tqGGQk0gd_*Ksxp1%VXhvep`l z_~d+@Y8eNW(CiJ_Sdr+13@+CoC4++=||nr{{V%|w7R0*;u@4F+Xw{Jhtr55 z{PW=b^V<%0L)E})rl;`rZh5X~Gn(XLsFi?&k|v-cSbBcPc>~!fzE=zz?-?|Ewbx6~ z7%EgIr@p@a>c*I8?EClch2}mUM=C4`PLJK}jBWT2LTXb3(IZa&7wi2f9W*X4F9}MB zm*ir4$fvsxl|y+1N^-cK(B&>!d!^OHo-9}y63dmXQsENgb! z2#PWelSHCPffUN)Z2gxn@=(Cx;NuHpcb&Kg?7Swje`9o`3%jY_w>e`!b`tAwCnLGW zHUaQfAtJPVN*0zB2FRD5UoD zn?}az=||_fGPDsT8Js>f-L)M01ZdNs)C5-WZ~T`jigZt;K8EHN2v0=4^hh)G86&Or zBV#Pr@gSxXQ*W4LseSf6en|l^d}Z)nRF4oFx-1GodI)vcn5#xwYhW{lSDP6&n_cFE zVn2&f3BQIikh)wDQ3;_)mxiHpb2vG(~fpUmY)&&IwT2VJ4U}pCqvX}#@>v3J~ogk5#V74t# z11jomZoVIXaxcm<5z4GWn~SZ8Y@i$3*0>x{S zV!WNz{hMhZ#f40bs$GfGdTV19C?1;IoN=+}!6F$pc5BOxbO8aX1rxr_Gi(aQt*57< zz&koNmbP0=jETElWYiEb# zB8Zn7)Q^PirquiyL}MV)?o1x^PbjfcsQwHp0U|pg-Oimkh6`sIND6Xq7o%Fgig*NGQsBtkKNL z9ddzf93Bv8l#n9_VDXN{EyPj$&I7yC zN?kFtV|MSmKsLAC=5b|T`k$2$+RWXsS7C?r@DN_)#t7Q8f&SM^d{#ABbeX7S-;0}h z0`6p%-x~r&Q<{vUC=X8rdLM@u$^N+*8C)TIeaWuW8I(G;|LGi?*)6iM)IyIW*JE48HB%OtyTH-oHihUwMy2& zB#;Gh|oX4&jmF;q>_U zml$E^6TY`oNsthX7e*USJOBq%8%Bhm7KYWkFvha{0_U>7&eQ=_xlet-UJ688+f?b?$?v5mnVOr3}eCZfDoMQI)@ymusX|><)K=#1B zuz{N*GFbtXfHt2*VHmyQGWz+<$-`cgj=^vH6g|~1dFSTk=DsT|4Bw0N)`vBxC?+p{ zIKn<&@$@IB0WWGL)>Gse`*Mx)_2Tk0K-M<|?WW!>|B@vhmQ*--*cyqh1sqCye*(jy z?yZ*Ilga5-sd7vAQeI@^$CrevKPt_83hvt#yEZTU)%qlDf%9%=W4e(SQk`VPHtytm zTd&3S#J#Lzd$Mr?m<{~*JIyrNj@D!b2kk0#p>a2>&c@4Z}Xs!U@yv%4BZCqCUNd@Ba z`iNDbF^9$Ong8`ulV|BTQn5(2D(p$WnGw94-DygWvgAw8%j3c2=cnOt%Fy8v`bRFZ zvgY~4{+s|lDuN%Ino6^mE(TK4^1UIsj0plxXvJq}ke^by+;Co=X@^Ra%pUGGWg&W1 zK3e<{_L4Wt<=dNNdP?N-=~BU&gwEg5hDUtpXla$=l2&mU9-z40(;G|KQKScwRJi&J>n{7!llK5H%yX9$iBU8eoQWy zcUfCBg6hj8|Es&V0gW4*nJF6@CIcOk1us+S@6I!eq@kgiEwHa;oANyx7yt*4Lk#miO z?l-|X9BldN(_zc2e|w-Ws#9J20xf0Er4xUB>Yu+^St_$x)A~H&wR`#zqp+2bXyjQ> zrRCWd_Zpj;Dna2IREN|(8Np-z{*-22xxRZ_;N$|<+wu32m~xPcz70s%WuMA8XeLlb zHc>)k{#OtO+MWNb$kle=wC%NNm2q01&c~T`=Q&aBP=d^Tt@|q)PaYM_(t@@V8x0$# z1Ep+Cw04!=6jpq+wkzU)jj=*1(gHTqr>)T@>h49Q%O{LEmXV;@{^X(Xf0K)y&uA{~ z7-q#o*2o59C^LR~gMZAG+SjK&vamYIPaj~2e*-D?6fQTn=GqH^Mg&iVJ;+jPixcy) z`C75Zm8j9*0_>`-tt|oCS;Ua}Ko#PR&NVfX?q2IP=n+YWwpm5+Vq;_D)Md+^i`w#N ztPnK^G656UJ<4fa66D@zC-Oe?csDmMZ~dd3jM;ny>+Br(KxFtM+|Yh&Y`adj`eVmJ zfBWTS>qL5O$=|2_bvpc3+y662u5YwC!au|IK#5DheX9gKl?)5QVIof)ZHPRShlGsO z*RsiEXsNx6>+VkDG;CC20HI63c`2PETpCx}Pa?on+FM%QE-l&h!hqX7 z@O92-dCgx#?ifmkA$oKbSq}Uj`phs}D{XrlG6Nt(ekKH#hA--J;JH03nYuN$3QPK?H@f*D?KC^!7{pF3P zD2vT|1qwAWi7vv(2X~J8x7p$sBwyW4XpDalHbUtaeKjF38_(6h5LBBmzv?10T8gBE z5^+A-5Z%+<;orL#Mo0JVF<9TH&#K-6RAbto2LN2wNtlB}!HnVP0i5H)BeTxzJA(Ez zZFKfM*RQ<8Wn{=e@4Ic(uP}m4E5LiUvtMr_&c*amYD(H=aEl<2irH@BRqj;o!@QZrRPc>^J{C>@aymJ@am8l^5z zedK8krRo>jf*W?k z-i8TdfBkviu#G^d(D%|^8pBfz^ldW6HknvjTH-5ITDj7uh3T6TJn+KKOVUoIu!a1z z8~s;cMAu#!MXU`_xxf4AASD7%ko!EQrrMAgQtG^H+!Q0saTIaEkZ7ZbG|bD>$ShDS zx`kr8$wz#mPahT(5=z%(<25VigaFA)8`A$5B0-_>7#xjwaofwT)jyhLg=CXkA=Yq* zFH7yK!E z8T9X#m90&tA!a0W0lq=Umd|$bwYI~+{vF#Znf)Cs7$NOMpna{#jOYaI+91k5TVJUb z#Xvi^D->`umgRS@UU4G$4Z$}KyFlT?Eu#p~xE(i^GJ1SNKoPoWnF@PnPHyr1Jxq^w zqw9OJS$$O5u(}9RksPAl;w<__AWPE(oL1A4ZdC%ks?=vUL?;c9oi3fE(thz>jQru#4=^%> zL5d{I`knKy1pFWAs+_-Jm#5##MQ!5;gd1Q+#AjEa2chxk*rrSQ-C9A8J4XKZDj`q4 z&g-j%JZyIcapvyGn@EscCZL=yU_JT*${>j#2u|wj=)CE|56wNU54qZvYZSy|)|Jo@ z$t&kn`mp|#qfm@MBf>rlTt*fgH~UDNF)@y#XErNEH$3UxRt6lSdEo|;P;Dp4gOs#i zpbkd|?Vm>QO-1W7#W;JCHWHYv3N`D6oOH+qP!3*F$ihqdsgmtspsNJxp$v_>rgiajugP z2gh4e9znD6R<8=Si?n$Vbowd(PU{{l@(-gGTT;8(OEu%N7K{udk{~6F_KHNyHWkDa z%h#WzDb_rPgEnliRwnCzBb+cl-3KAcq?;%d<|t@|5Mx!jXrh;NBOc+*Ai+WB6S)~O zC?2n3Yh&{mLjK`>du^jY|2&M_`z*VR=uYOa6V z=>PmO>2Z@Nm4N*dessiidIy`|z)gRwKt#Id6)JGz8-FOOErM`U=P&}o;BGI#1QvvS zgVWxu^{H+l(oE#m*exYUssff@J(fuQ*q9i42zwL$f-_%0GUs-MHXW7ACsK!wdbD4m z4^VuuJ2lOv5^XFz&cFH-p^ojEAJ-uB!>I+di z4hvd7S(jxiOtEl^vRN;ym`Amq!+tL?zvJz!W7pZ|5gZRY6I zC1_H?hrw-#(L#>dG+zYf3i9*wX=V{sy}3Cq4O5g#)8^E!tZGEWXLJ?W5)&fdBA3#P zfwrXw!qD!^eCm0tccIE3x6W;XSWak+7F4ygsR+)%V&#B!I<1a`+SXsqZ~JRLCLc@( zkkR|UcyT$hLAIOJ_FIRScO}oiz&Ti18U*D$71zYpi8BNuwK2e46GuO9?*mK!>bAMz zI&I(Pybn+*beRH*HRVpQ9UOvkAf){EJV1;z_%(m~l6WW0Ll)de<99bHQw{3CYg2}z zX%;{=7R+Ot#zGyHD!TL{k}h7Mr6f2a`UV^(KL3d>jo1?}5X5H8XUavBQ6>s^M-5qI zAW`-bZC+N^eIPYgppWzKLx&o7Vfc-H^R# zufWSh^3+b);2oJ@2x`-;^>EipT3O@Rf)rCwJ3-OHIF=+c>3jPYv}4}XhYA2_L6JFH zJAgUxVsS4<{<6~M=V`n8u?1!Hx{C-vgZ+N-ecFyACxsWkh_w&ySs1VpAVV2%BEkgo z;M1!;CifV>1n)h$JK;2m#5WN79w=O%vU!i?6h)w!Pgd*4thA-Y!+K2V`_s-W3K`6msQ zfs9~6a0P2}Yf6SjzKWPSbbqJr!2pOhhAzhiR`{em`<#PjtpSwYq+o@?wxp6<;lUx3 z<0K>?piUu|abmCRi%&|Ihl6DkUpM$0K_i0nqjXw)gcNi*T@i^$T|S{2MHmXK9t!Cm z32Yh*t{jlRcAC`!Oxj{mtb zbMWF~s~oW&y_F3Rk(ScuXl0nH2j=1q^9S*Y+SL^m1h=6xjqW#KjL$V}+Z+Vds`g8S>c7vTZfo#|yBlS&K(y>)QT!Pb3d zeEc2oDHuJl^t5$bmRQx_m8v<69<~@gtp4;`Hn9%pA1Hb9@EyiL$>8+BL0^N?L$j3 z9C|Dvt7IMk!;KbpRzZZZ>FM^bU*AC6h(W}oRY!xnqctzZ#l0VX8l<@{q0HQ{LD;nX zawWE#DYjbPvtPdA0zX~It-iNYJhi0j!&Z0cLx*k8z`drVPBVoX!@Gg!_r!Oh;k?8o zOvB}Jj3s~Fn97QfcTZ#C*i`PlJ=p8^mCvpAU*YCimZMD!JR#?oAL*pc1b<87)|SzE zvlMw&hU8DIBZr5~ppM{N704BlXYfE_O0Rz|SBvo;N04{RgDb+1jJULvIJA_?&@=Fs{p z!BSVkrI9D6o?i*7Rq}Mr=}d<`b-b`%HMmu!cb_Lx26PN#bMqJyfl}vGlgN6y+a|$X zYr>|ePYlV-z;J1}6jz8Yzw5G0CvjdMwgquWvD<7{boMHzK&ie30)Q+t^!k8+_XYZw zxPS-(I`eyR)Wl%?cUWgG4n53+a))cT-N1vN+MB z`ep06)t(WYEVlb)HDh7)$TAbgR|T)a!fb*)d7SVdIWO9GY><15B_^Az-s(wk_-TvR z>{7L#SBQ08<2Ggu3EUF`@kaNm-oCDRO;BMOOUmJSc*Ofy_{)-XwjRUwf?ID!|PXOps;?sBa<8n<6pz@sP(_|fdCxS>%*%sk z*fmegy&#>l?KGVitmd6Qph?NkzNOXn@1XW!B~@l$wIY2_H0*IYiqnT(*;Q|(a?Q)D)bup<|CiLn?1OH3znJ~ zZ;ltR8vc`#K_vZnb$?4|pW-9~A3G;c+5OIuTqCiMiFd!q>)&{`^4$1n$dPTH1Ag=C zH^p9g#J$04n(~d)iN?s?)M3TC+?4Wv@GLpqxWk0?;gwf;T!EPeOza|;*hG@2Xe4Q9 zB-M&^PQ9*sVew(9K+D*q_Z{#Gv+0gF6HK8vZ;z!X1~B;k{W&30j8#KV_Iuvsr}ZzC zLtRTQUwK~s1#ZvEfNJYsGy$ddx^P#!M`{wht^)!8s7a*TqfBlx1vRs~uih)&S|bYB zjKB0R-}GK@u9}-BHJpuT!{bwz zWHj14ZT-wk=EQp~D=CUV{pfT?$kNW?QQz{dfB-sv+%-4!kU~0w+WlG9A0Q`ul~QF6 zwt>zHIsu!z*z&C+ry}>1KE>pA(JxqQPqB78%1D{Bo^ISuy~Z|z?c>>@vBGTJPCdqp z1#QE&DetG1JnJ2==eEbatdDzBf5peowV3=%(`axV_3Jun?udGpSKukCUux851}_M@ zMX?z3MG|V%WT^v<60KK_MQ@g)BfHew%N(C$`pQa+441o1up^|V-J!!zwP^&)CDx5C zK-`W#f$xHV2COGqz!tP)$(E_O48Re#F$mF_JQrF&A-BCKN2cm`P_dvBO;M;-s3Cp9 zsq*9Eaqnb^6gaNVwz9^gyrlUj)_?fbnrNNZpO|`+ST+#2=5tR#@Uf9jLc-8b-foWS z0?y}HB)c+2-a3os%9U?+Z>PbX{gXn*I@7E1qH7lr;TCSWBGW_d2sz}b|5?+C$~ry1 z3)OkJxofBGuppf4oGY6T#*UkyH{}GnT&2Bk-M<+tMzH0>!))dg_YNO$DT3B;a&h_c!(OZUt7Q8B zC{UJn)OJfH^Z}~GGS+shgEjbU_VRxA(0b)v9j3slbYs4Lt#x~rVKFFnDo6lJlD zAmNUU*+;C*9&DGVh}q$_w#ntkieHi+l}qq=x)z)G@`os*IpR5ebJv2-M9VyCi@Zy0 za8Q>xpfB~};Yen;t(j`F$T~5$bqu<JjNgEEulxIKb1Kuv^pHLR>kfX z2SQNFUpWk=l96%_dxXMA7-Dqp9e$Smtl!E7n`>myYoKc5!P1X(KNIuI7891r>M`ij zhPcSQPFvd}Chx+^v!ZMkmF|nW$G^jhpyd~%#4P9nQbDZg6Z?VsXojD35QVwYk1^J__^L@^sUp^@d7W)% zhxs?FMYpXtKUr)*%?*)&b`RDzH#@ey75kEmm}&e{i;Fd&g=bf>7Ox!r;>4D7V$2JOQTe*^_?e)G8^#B~3_gpTH*5j>E0^pH-CZud# zK~~fS{K2WRou}6lrzO}u-Id!Xe=lA}*6zm8TZ2yuq&JCu?*si~m?vj_-%{SWCt#O! zxjyh&VhOa~0WAEsHXt$=)QOysOq(gg2LJ3AJ;Ax7mR}>4LEkjUe&5O+N7MgV()SqQ z0jy#m5Fa0YU6}u|vAzCXUelk6-sE4kiZM5*Z(?~4y3XeqQB#jRW28vJwK)eLc};e5x~tOpj2=-6QjI`is44*3iBXX;GHK+vgw#4zQFU!5kcT z5mJp=f0-88JmH||%1zg~=jb+nI>B7mbvtez9=s#6*#!#w_U>_=jiz*+xS6l*T>S3B zrRQq|{X4GHt0fBhD!AS?Z>#%*-(nl>^|sSoCl0-iJ?rUBBbGO5vR6lyy*^OR^wv3Ct#qX^x#y*@ByrScG ze)n%8!XSiL4KE`*cw9_ZLR=gwS+IvizjS#0Q3(wVP=SOZMFDMLueoh*5g8quO&qg0 zMP8eGtL>Op;vLZ#LXf8rGxk4itYN5V5+oBzIIGT(=ZB3xK*8-**F=O=xUu1!9dY7W z%k20^+m@CDf@@{SPDEDI7NnC2z-I7D97XJb!6{h`y;Y!b_JX(h_Oue6;eR|1sf|=V zralh9>}8jicQezmL(qBgO^F^V$fic}p-C&1s8b|cLXOks?yfz}jTm9{T zw~!s)?`k~f+;(a$4Wv=U!Cq!M4vh@`bNN!Cb$B~#j~tSIklE1JTU(~Sn) zVYR8euT&s5mKlhTDe9+Ab&&<>itMyJ&D9w2m+UQ?i`8k!bJW_wP;(;w=MMmQRKem_ zoJ@lzm|eexzw?2imx#YF8CXA}00Il#(@4Rr6FqkeSEeeezBWF671&6rE?|pEh%LXaot~$V>u|n2Su?7GbcMm^C+`xr z+A%hU^&W2*`YXenCl;a1gkbGTw*9W&rrxP{{4PA5x2`d)F=x-W#>}CQ>q*`VNodYZ z)VmM(s*XBA8sDO(T{oJz7?!AcQ_AnbGsgOD!G~5O){6Qe9G&y4zAqAO@_HIePJa~$ zZjCcmBNZKp?20&AY7#2OuzFIgA^1(dcw`r$bNGpj$g;+EAUd3Ve+47B2J}w+Rq{ij zxHH@2JER7x3xQ?~WGadw-FL5>e5Amx1B)_AxbT%prBeHwb5Y!2Doj45E+m6yUKs1*i0l zqU=WzG%U-Ufnl^?)Ca5s4wCb@XpGT@tyhbugKoKMM4B2Omf7l$U$>bHEc+G;kY6nN zI8a`mA9|==&xQ8p{oen1 zq>{E?lGz8V9yr(;B^3g3E$#6Gso}%SuchFp6!kNyks}<{R_#N#F>jhRwNqSfPPp99 zGL`k!ym>*N|71q(x*Z))JWXS9BN3nUMwQf^dvkhEY?r4t?m$Tw?P5wN=~c8-#@~xl z@O%2)&!b!>;spve(QUhfbyU-WMFNUKO0UcGZrO3E)-?Dp|+tLr_BVM!F;(SA*4 zHPa=0+T9MQ^oxbGBfoV{bV&^jWG?(#ruK^?kMHNiJK=`MR!@`WRj!g>D4h%cA75_)6;=C1jgMG}2#S<|fJK+INJ$v9bhmU$=YWU^2&j~l z2uQbdmxzdT4BZ{V5Yq6S!MA?jKkk|}3@jMt-us;MoY;Gx4!iFvEZ8e{SpL6w^c}g#H&0j16U`=;79dc~? zO*r||M<7X7WRj`*#I7-q0bf9|IEn72^2-q#%=T*;$B80aG#SizRe=`*%asP=ohO;) z+I-Q)Jv^EjIhit-D79YO)XF_mYM+a$6y&pQ?Ou3`b+u3akWw_~f~B$ih0r+ZJBkj1 z@1vfRX4)^5n{o@e9P+-S)Cq~(8*mrHnz~W`AUEOMv9pcUv(_G@ZEGPtr%P+$!5|Gj z^5;J{2{!Z&b)2N^XOCCh>rIR+M&+6QDv)E+r7#3|rN~s85J_pu$Q%u-k3}P@32A@% z$*48(lYi2I@b7a(?XyJWEt$D*pYq43+*G0S3nUKc&Fk7-zqkDS{tq|*IBwBXb2~_d z-B`Rb+LzU@MsgO9v{Og8(^o8h=zS?z9SSnuU}!avw9HYJ&-h}hBG0ZPcchQL)$(3{ z0KID*m~8eq=b2i-vyBZhYu~Yjw_~QP=V!{b*6*#X-@lFnTx5Lb87IDJyFnty3PSsP zJ@dBdom29mP1!WoyS$w7L9PFsaxKy85lw`$FUY8vsV;pT?*nqoj}xF86j;*92KV|6 zLedKg6adZ^2eq{-KYaL8Ch`zTGte&X;%$G~qox?JN*pkgSb0@csx|Pe`=joNfX3%* zrq6QMEFPqFC3|NYJ@-88Y3H&qUDg%55{pOA*51)wOcO)%EBm9Ws!NXU;Nws3nioD_ za>l)PeagGY%D9ZTpj+@5jVOH{1(-mqp1&r92NmDUv@E3)B`rKh+C2#hZ!n#cS8IuF*?ZM|BmI)6Xn45-UIpQ1P_C15pJ*~# zcu<18BHO*y-@D+Q?yigeTjqbRBxG^d{s&Y!TwmX0^aWan0MNsL`SR#t{XAahT{gSq z+)K9BHsVYi@wvZIUwpRlav*Tah0XFFy zx%E8ow-y%`I{%L8fZ?IS9TR>VfKukD9Ie4JyHt!C!y-C@S;H`1mWUm5EjSqb-be84 zFd$TM{s-v-JXZA_ISj~!F#!NqQpRTAmqZ%$Vq#*R6+C@;u87O_&|dVzmcoCo zsn<;5-x1GA^SugMzOW8M%X0t9?qMm{&NRIxM3;WP(Eh&0YU)oB5Azmzzc0_@=r-OV zxKM@uMvjR+UX=iSb{=~0uo*#wJXq~f;kYuG?6Lpb6i%pjybn5}uK0gMeRY*VuVTU8 zRcVCn4^9Vx*vKDF$m{lPkiqqZR`egRW)zn0964T#b@_ijG;C^Sm>uvU{#&h|_c*S{ zq@)9a>8utjWe61VdkufJTsdhSLm`+YQu2TPFycJGS0beODNz7U?>#94d|b4zovRW zo^5a-C!g^DulF5s5pxPZIi=5Mw6WZbS(7J;(C4oQv&WAfTHNdcvRRhk@^xU zH?n&{vul{;ydOSQAFAfaL15!2$KL!Sp$yuO&LSXK1}Kn!6DByDahwOFE0ZE-BxDa` zpuXQSW5&Mv2jvHCg#QP4#m40pM6i`nDd|a%LNNI!5L$XMkVCjLb#)J($U{-zadk8s zxcVa?E{3^1zeXyG0KCDSe6kR|xEeU6pUjX$GwaV08830S=D+!3xLm*gpF;E9i98H~ zZp2Dwv(oGaap05pIKD5cfkeIpG@KMD&20Lzx{Z$DF?1(|B2Oz$oig>rmeh-@W z4h*DY(AgDEtIB|j1;Fzn|MQb~@Y>59zFZn@l?d+a8zOkT+rA{Jv-ciI{Ic`SwDCPIX=MX{V*%ju zk$7DC>z)66sr{jr{h+X`tKKluwfY1!tJ;CVWCC0OkVm&pkVmJzy<%mIrDrc?orQ`S zu$Fi*uz8uiZNT3AedO7kDaSHbO_1xrz#9LQ*c_akmU>lmdNDpuKc5b|cPm3Bz&euz zeVH_?>Rltuip|K(QJ2sEQ-AVej53Xe3d;IEK%M_8j3LI^i!tGR|56W-3F`GyU)AH` z;bq9tNeylP3Fm1-n_{!gxl z`PfDU$_*xwWb%L8-JhB~^wNJn&~JQJpymNgCV+5sHwpf}>jBKVKHwFkUH$uG!5ah$ ze`3sg2xL|jQ4Pj+OyLt^&Sl4nVvB)9fX-l`&UN={#-3$I%uF! z;Mpbp?Mrmkq?y=DR26)50mJ=g=LLX#vb^a7)X%w%_n$E^B-ZMkM5vf=oh;McpT-fK zB!AxR@8_J`|Ll;>hF{7{Y|~Hr+ulVz;;K~)$3IiLO$GLs3-&;^Dg|IrO8_&>!Vq{& zfg<5R`JV-xMG3c3r4T|=L+;MhgL3B z8iX;>W^22JLF%wY<{q1@&m#S_%+|=waLLMlGsL+6YO(gIj4CXgLq1t_qI6tBjjpQ8 z>m1KKa`9MpOr`iucF8JgE0%u2x+cE2ML@i2UB%mU2om~j&j{2Q#m|Lmr+b@?=XWZu z+1z21w(A|a{5K{@HHM*a6oX1}@XS|L1i(BKu>vFl7-j@$L$odpizHA#!GLQ&x-QZS z0Eep_i}Sh;&9KsnoCEB14^YKj1xHkE$pN^MpG@} zAFttWwK-KQ#KVo-1n9J;ckSjrFUe%8hYz1X^v9xBhb1!mk-fF|xeoVsSOrqI^0i`S z^0Yj+VpF;~_%mt*o{O+<<1dBF4s%(?h%|R?%WN)Kbt6{KYaW45NcKu?+-kWE8E`v(8~i(LARgKf!+u}xc9}0VxXi_|ziC`?sw%RqT5r5qzA?mV zCiy*8sOIqDlbN?215?kxSW)_0YA_Sy)e*j zJRGVyi~-@sJ5PX$QNBAHvjvI(Y2a9a0u3Nr%}t||-c4j`#n^=0ZCw)&pM>K>g^y3- zF*iYQ7n$NPHFwn&-HzpoVsVRmcu%dvd_J}Pr&gg0%h(Q;OVDj5kD0RJ40^eP1Sh`D zEvkX7+@=7I;(_wcl#rVCbk+l%C?bk$UNgjjjmjgfYJcCx9ua=Z_}?BSL)jMGjPMMY zV3V3%uUdg?2X?yZD@7B^aW0(&_!I9(v~%z|?@ss5Z9s!XGMeJd zl4AvMBW{~&d*_9(0v}+(ZEXJ|CPXmrPLX!q?0f{y(!;E7itF}BzKc&KUIp1Oi-$9S z1=^7gb4G^)tfQ(nH5|K#k->`#+uF1m*Ud6Kr-C@huC**M`i1013#0HI3g?%aWR`T! zzcRKc;F?A?L3xklsA-9j_aweQIeT3P>JFmPp8&FiJ6#2xxLyPbBasLoXG~ZPL>tW3 zc?g0J)eyGW1L{8m^w35dFo|5Ah$hE@^ido6^}WGJ_q`6P&zl{`@A~{}@PAbCE$+0n zAdjr?jX1`M3JEH9fOcw7W61m-&tx*9F~G z0c800HpJ-*drP^f^MY%q1h#q<%ApwxydCa=6~!FPmcUl!Hnz|a$HTXogt|C*%)G;Au(?_PL5FZ|T^Fy_~;6Q0%xyY~2Y&+hx9U&k#A$bF@fwkD>-!;AMU-}GY`94nM(wt7UR3%T#2ogcQ@7U$@(HWqX|%oY*)`2B2J=Hpp$KnrS`i2ZSJ~#bxXk99R3N7;BiFQ+4SWl;Zck0-xVy!vT z?*833=*iCZT4%d3Wq_wAoPN}OrkrYaps zNV!b@*}Em&G#bJkmA@h4m~wMq(-fempmS7V4*<(WAF6{-5cNiEMf=GRZhci@cb&D( z)g(cY^H}FCd~}l1c8|4`Ui&KSa%m%k51sl6 zsl9*Jlpi;};aRoG*LCmFqdB_bTXAFC?m`bZHKcbe_OU(~2KoNpuiu$^fPa8Kqm1IS znW^VP)XpC1xi9YWTz-kAK}Yo6&|8Z8VvxMQEK}5Z#Lh~!_HB-9q&*Do_D^$^ zcfEw(=q&TUbZfJ2x_DlopNrtD3SWe9lA=thQ2m%|m5H6I&D57&=dF_5$vR6d=kfR9 z;vsGdV{F>I(+`pcuHtwFmp`%r0`{J~Y^AY!gkpyJ*|cMbmFj zMzQ9H?y1%`QIa@l|9v)ZDWvx_BX#DG0H>FVo1abbP_TI?bG>jw5;bjDC$GglGMHa% zAE%-Y_Qkcw(sLwO&&KCpSMqLn@M@)vc<6@<;aef@BddG73lK*zSywCp)Uw zSyuKO&jDLN%&!prA#crzUrDTY@_uLP9gL%SKO#B&tpy1hBDCm-e;3>x-dLtiUt8O_khLR1dSvsvbc_n|-N?HFd8J{SGH@ai`DC)3O3ZfZa0+!*eJ*`XR*0%0 z)swLCo@B5GzJa5oHwpYHQs;N3Jobzk*g-b62k*Rz-Q^qHgxNibXrF6HkBpIdJJzkGL zHWJERN?x(%UUGiS z#p8VWf!@KC&RAnBYjse~mMeOt^?shgZLdqYmQATT&UV9|&kAZsVuWh9iNHNzuERMb55v1b%*BoDVe0T*fM8{Di8*Mc7=kyj%^8 z2_oZ@UUetd?uCQRFrfEQc8xzI$-|x3WIRTXJdCP{*GhSeE1rTncc6%9KJ*f5i3Nvp>LC9O(rkbmsp!AXyO)DS2^Sjj$&j+Z%I_n5c@DR%Mf{?)6krk*ua(6TCa^7+^EnS4{rR!-|( z^jC>}h&;3Z_j|E;MFHU5Za z?%REQ{Od#7?3d=ba5Rtgq&x3EMU-xhee3A^{FPb7>~4GVR~5mWhB|LtZRh*&bW8I|s)X%dChDo7BDTpKlw4yqoU*K!q+5u`XE}%^ zLdFg^U6*&`RVFK4Q7`vzZN5w-rIgf7zK>#^4kik`Eb)1*WyEj2Ptu6pdD_P+R>8pU zX?Fc3$rziBsEf3k+?{TA9_ClA1PXv@tOO1=zz*FXJ~z2xTr|FLSj9{6W)ht#^s*_3 zpJYt4_mvRkCiRE!x%8C&jp)vZa~5S2@)V`JW?AMLbp{pqQ^^fJ;>XO9d_Q+kfk4nH zKdoo#$rmHe_U`LSi$?7itv}}U=b7*NPm8A8i3(C+RijmI`3_6U3%`F=tm<1>;F1NM z12t(VI-VEYZI(?;N;*9kYlpYFhYqUvvno;~Z%3F1Ygj5#leJH#qu%f6Jc=2?(b;)T zT;sv)f4nhw`)C(AugkZ`HB-+K5=Wyt8f%VSS*&%ZRb%i&#TZYlZ!*1#+5Ultl8L!I z7GiWT<{@$IhpeW&X140vB@*#5PQ7M9oU3onN>rB73RsOCABbW(9gO4~)yJ#l)|DJN z;o=KK3h5-B`+4qcp9jYazZ%2Z@XVgl{c|HPTlkaIDmSfg7}XWKmi(H&@EZH$boO@| z@CI+6M`$XaRc3Bx?l$!r%IQkns3O!Jj;`MeZ z{P5{PB>7my#N;rk;Zo)Br{VH~UO3sw<9$)A_;OyJ>fOzh+k!3=`T1@2cRO>AaJ5}| ze1$w~B%+Mab5V;@h%lATX%*34eqpsGNCi$;uRdp|WS zs8uy{AG>icS>GN1*0VY$A3ha3S5fm{0wzT$!X;_TjL^1rabWrBXz3#v zUDER|lXc}{NZll_@~uVo`Miw2Q;3fAFo*z+>?yB(4fH#o=jkckx&6Dm@1gtl*7Y5f z)9=YIyF~~updX4g?Wd>sG<_u(+E{=9bc4F@;j+hW=cnVf#lDxTWxR6 z;JAc8A|L&+Wb7dBT4omF+4v--psSK=g@M1|o_{J2t*wjSxr=6D^W=iXm3eDrJ(Ubq zSo8yqr>G+ko?EEfj@R49{Z&G{+*8%OCo`-c*=Wb$ z)a*oG=~WgVc(xx>eSU1`GaidM8f$XO1sPD5C3>j{XP&A#O!HCl8E(zYhHN471`W4v z)sc*P%>L1tOWtA?^V&#AX$5bcq|*F<>tm09d=}dl^QhOq_=UXVLgM``IeDv zbIo2nz941P7gpKY=8?80Y#|r3l;$snT;HxH%zT+`h(u6FNKC0z;2WSGUzS~7c{h9i zlKL{mh4Ju@H{44*nOl*N*Oa1VttT^#wHsUmJaf;weRQ8qvwe-TdXQR0BIEF zl+5;uMoZC{a7I`1Jq>Kc3YSo_Quv>fGbLtXtid3<~rRjPDudy^O63;drpA z`-&LOPD9L-G^N_6K9dfPFve034;9SLpse2htT}v{#gzAG_3qftu|dDb?V!|Zt+Q1S z2<iTEFDVxV6K0Vc0R8*lFyoj@N;<3K?S!={KKtnsqWlohtR99GwrgW4V*g^JTnk zWgKsKj&-gMMu**rH0>?ho*c>HWLf$yBuzlpQg1s;Kre}N}AcPshMd-rJaex?g1<$W( zB+^gk+mx+XQsGsQW{n8|bauB3{4KdP}3W{+!}Vx`S@ zF($*?KnGnIEtK)GK3pZG+*v(Sy>5G*n1?QTtt+u9t;KS+ef6_V-L+jt*V6+5O?3CP z`8=kQ0sMRH3pFfyfo-uU#)&WMHA24A2`!;&H2AhGioZTgCv-Fx-{a@kv{x&uk)0Ve z-W{tDS+99#_aObU+V0rXvIXpSaZ9=MWR>A=+0XTA{%56}d_!9R90X7qZTk%>I4sdB z%p)WZl2-9{Z3YeoE4M`a34f|{RijH*`US}96{zmvyB6Wp42`+f|IU7Yc*?73o3hRl zVwzueL+gDm*5CcYL#ke$FL9bVTdqB#>6g>4<-0%H@9S6WG!d&)^^!-Z2+tBvviVu~ zuNM0+i=1p}N~#t-ky@)M&o0`uN5t*a#Z=fF`?lzHo62b<$8RoS#A}^l768o_#mUC_ z)(OcsEB%bT(Tvjn-$3^D{AR7N%1s3DU7Uet{dou!Wqjo5&iK@M6|@VIXDVmcgA$0h zQl_$AXQDWT?n#QyclLEk97M(M9-o0nf*f|8?qzrZUUF^!5FF*}he@zvUN=o)`!!(u zioj3c8D7JSt_=yUJ49j|Prv~E8csdhRYyJ9ZC0?g-!fh+lAX`XdU7FB{8Zez{z{G- zmrS0w=D*zQqMAtN%N>wpLM{x!B%W_C+7YGDwh=k+?4J2p;pCpwRzQ-zmcUKqdF)D1 z)o|^n9sL#mXXvHK(9$gl=A#uyft;$xK3qB%rqC(`{WjS-(_eDkHP43=?EGRi*jalX z+T%Px{(aIZ=6&g**-9x&Nc(g(lZb(urnAv*H@i9)d@K_*xbnxh3wFL0O_3)mn*qrD zS>)1|YyXO4`uBdTk`OoksC_&?QM0eo_T^WCHm=P}{Igm(E2itbXxER>7D?~XjS__B zObX2&6(fQ(b27iH`M(#%!tjjqvI4HhpM#OLk=IE!chOvA{726TXij$wrt#<8eGvM< zyFCjv{!Zx5JBicV!>XRcR%)RH5@*+j$?4r!X~s=f?@+86=H>GE;1{Jc3{pXOH0HdZ z`MK9Dp*I4Fyf@0Z9gdU0%#CDUl0h9z4LrR0?(I{kR$8ysD~W_!C!H~W z{B}FZ8!4mtyq+aBB$;LuJI(jq(DhBMFSR|gwx8x(rf{gGg_n`(1uFYE^VRstbH`|; z#`^!B`(2=pK;YMm1DEu9gCRea z@xi`_SuO{x&hG73EL4jM;ihJ3%6C>vrFuWcO%TH&;Z}^)lFgK#G@mP+%*?eAg>a5X znK`a&X$0gL`t$TeoB8$^K7hgm&6Xp5i68eEX(v_K!e6*e~pb2yt#)#(o@f+8a?n!S=q{uo?B9 zhplhHo{cOhPd&S1X$$ss5f2Z6O;>@RMjTQ!SK$Q{@x?a}Z@~)-ZVm14$?oLqvwkRT zH)gidq{(gSs2^NyManZgw}NTCF=Z^D_C|E}lEcogRJ)+JBiv_?&}7$-wn}U(D+PQ5 zBj;pJ9~^BF3c4hmBe`z*mYlN1l9u3p@yc|kc9g-Fqt5g~RaPFZMZ!lVkzXNh$An|W zPN@*`L6J)?6VcG=a5LYau{|kaxzo~EkDKnZC2e<^L8qygamj7HZ23=v(a5a&NA0Nb zpb^u9d4FEYoy1d7Olu=ScZZ$RiCvj7p#5b^aX-ED{gqH^|C| zeq!vX<(+hE@{py&D~V{PM0D1s=iziZub^8Lab(uzRb=t}24cLAv1q4m%9euS`{QHJ z?kAbO^(LJ4x@^MP%D1AV09U1JXm|#MvE&%S<>&|>-zESK?PHqIu2oqG=*mBJRCOrU z>(Z9D(0Gm z5bM#OcMgv#(b&{NYl@XdH{U_5*zDE{&6c=$0ZN8&9O6JoYn3zgxS`4dNhM9F>99w( za$rV==6H%sYG~V~NF1JUzvv$^nTkqEPwIkcLNAa784Ux`6Ss(uN82!8^^^Q{b6xxL ziiIP(k4M2*Xd3eK8+8u3{0oRPzzuR0no04}eBkF><|6o+*ml?R&3Yg*x8Za<4I9Ca z#O635Wg-v&e8*NJ_vk?g z=e=H5A`*TOzQ@*F@-!HN1b7UseB7)y`l2TGo_=R4d7pb=OMSSy@+`j9QoXor^&2F= z+g*YMT+gaGwvT(?cjrTdQfYIu%ZZ=-ZC_Bh32`s2{e?`l)A z&U_z74BCgsX-b#+MIbrt@y3nUgFnjTCDlle7;aT*XfivRMsWeh#E?Cz za*0;#`X}rU;X2*a#f-U^V$Ru_R z33haLdIR9CE$WocNoJ_vOQ%mL?l-Btz<*bVkTXJ_<;)lOZIJJ2(NJb#>sqjvF)yfA zWqLI+p+_O;P70)Mkh71l0<9n6!1Q&?k+lZ8u5067v_9cFxCRe`V8gpCYlJC|ksn*t z{}A5|ib1*uQbsY^jNm8k49}?J?tCE)G|opal|8Iut%|9?nmdalu)42Ap|e|xcb@;+ z!9hq_TZPbpG%hAdY^Y z3lu$lt-lqA-`+T9euyKwaT^(D{%~(P^Fo%%)5+)!!&cfY9H@sfo2@jGbE!yZA80Hp zFFM&kUIOwA;xQ>$WwX<;6u`&8<6+VjC?mq+;ETfpM+H?yU}x?L$k2rHy6?c2beq8c z%z>v6Ak*yiyedsi?>2h+T{`DOn8NfcMv4Z!Rh=O_^d;&nxFtifl`{!{XlB*1bSnCb zc*eAHx44P?<4S1@^jn2!aQNaRN;4|a-wo@PQbjmVJ%!P@_Y~t~&L`a^A)_Zleiv2J zVu>X5Vu*hG-A8%mfu{aFo2)2oo2;k)2M#kqkEXXxXJIU!bCtF;KP8MQp76mJ{IJQ* z^zbapf%+N7Xr(kehPAQWR5?qf@tPXrm%mMt?aS`gjaf=eq9g5uhIIDY@4D|R@WmFf zA%}|`J`yacWY{)60%Vn2<+Xz~p0Y9WyELwi_skCVNj9;?o*N{!Tgd3cLX`Em&-3tp z=Mn#=Cf4==`!}?_)R;5JIBZ{kurHk0}#$|`-XEWS(du+rqFI^KG~ zg9*G=b5yUyzql=YRB_wEB3Kg{e3Sz4P%F!iyF9Hq{)cNzV(`7WS{g6Vfsb%D(IC-J=d7+aqd!33Rz5DjTJmw=O{XfB`Jz^-hs#C% zbgAZNS65mj{m!Gmj#46OJ*=1OpC#D9dPh!#8g|l66wSa>JJHvbR=looJ*Z0>S_8Ma|%m@jqZ zE1UN03}3tW)SO?Lmg|}t0_4ST-36&)WoRkz9*wpx*w-)Ew>b+DKlR~NF}pH@GI?Ed zs_}(>;~1`sTvi%7REPE^e76S$9KfHtv|rtFnvA}@TXZMs7Fs9e z2rerv7fX$aawR1tsN+m6qW=?ozLq&7?wI%zH!<|FtSmma_2?Ub^XP&%?Ju?@2ishB zysw1?j^|y|W z%K%*aoTrRd<*X$xRA&a%_Qdltm?H9OrszC+dSoi*sm#7-Q$c@s=mU*V9M_evOR}$c z-uh-soNDbf`d)2A?AZO2yQkI2J70`=0XMIP)#uJ7i4V8|7b2T4o&Ul++4?E_=>;Dv z*KJ6S#398grn!@`89Ma4_n4y2fc%Yut8Dy%1_A1jnom#I?9R=1k4MMO+HUM0P8}H$ z3KDMwbea`)tycD$`HomczEE}GyN-MAv_0STFo`?xX?x7L*rRY28HfmR8cWAb(EW28 zHwgTxDe!I)_=g?F+z#+!CJrQ&Vmu=D_qZF=IwhjN;#gs?bD%}gI=`?9kQCVo0H{2= z`OZrsIeO>9KMs!5__f{7^?l!N{T7Bem4&@Vkpddg(b7kp*>pUsVyvvVHHiv3)R#d< z%ZoE-5$*hKgycq!?^HTCUS)goxhy{&jjgh z!iTTjdym-H&V5ns`~3c!LaI4(npazWxUIo7)>eZQ1gC}F-1a}m%ZiEFspxUE_*0U2 ze)~9|Z}MDaG2g^OWnrp5Z@9i`ef4Z3rEE#Pmx{}20bO^mtjeealQb2J`>-QOJo{z$ z;h@4>KK*5{S$N;opo5g9qW>;O%xfHJZbOH}EwS(V^u80B;jgkH%2ypLlJ^4ip>7JT zlH|kiF@8#Xm>1I2N<~Ua>V$h=(C*$~TpvO1bN5$Gle`20iLH9x58}p<4fl!tq*J|T zO%DB7BfPZw2D)OP2Th~huZSC zU*1=%R|_TyHf7If^>qTSz5d!k-ey^mp?b>hnu^c{8D+)#a3wNOqDY|6KT80mf&tK$ zH!tOQX)-_68#ga&Vu`$n=XWc&+CN414ysmacJM=UmWFDiihsSiN{YF<)ev{grGREl zG2wr1FfYbY)pgg#-%zAJNUa?Rl#$BQE#f-f z@00Q?!-Bp&X$Uuwwwg`sOhj{87EWmv?W{mX5u==W{6VqKSolMOqUXw^-6G&`{v?-& zVI@y@wvE0ZQvuoduG#RLWy#uV@Q78@muD^CTCYyzsaxilXlC|e8e$VRsyMmCH}W9q z@fJovQiTZ;z^7ng64*R@M)B0{Cl7jVW(`76pr8ME17_QEhWn|u%nex-)7PLl-N1`N z{@S4V&rU}}jTH(Z#?5!wh{w`aVs@{jXncgJ5#y>}^6XJzZJhycQ=IvOO*nC=or3Xr ziQj^F(G}ctwC=6VT_&7tQBsKDvlsl0F2QI|z9tPNrL)<}7mL)H;|xgVF2gm1MA^$A zLHuUkW6HGK^}*8{(>Ky_*%PD2Avw40);CC-w1w#xoA+twxArRUc7yKkLbbc6sOV`= z7@0JY{s;tQkLU?&p+hOigXA}Oku0L$lJ3Otbd~?^{;ejo{LPzuBZS;@p?+Q;18`1j ziwj66hs=ycVe+0w4DJHE+w9ar2iyeywM$zPEnm0q=1aXC{87_%N|^dGo%(4`rSMlx zKWcnV?F#WsR*=gH^1}ck3qEbhqmlRjYj*SYN>9cY4I5Nj=t(}Cl?-(b5A&z9^-X2Z zMXb7|la1&nWG4qpYR3ygF{oAOy8GQ}cJ~{LuxKt394gw80 zJwVj=L#hJZ8>nPs+I+*n0D$?!wP#5*YiqA!{+7=)x!W{7tpjTIzOTK7KP|VytEJTL z1=}H_v$}w|#K9vh0d?Rk)qD|Gi-G~jm)868Rhe8`8)v^fKb7qpvcJDSvAw_XQHK;) z4U7^HuJ3(g0hTXE*Uul3(hi-boy7(Nlla{FoLkopCPqW2oN@^gy__-<^3oM?Kwsa& zySQ}g_wPvvUEflYFeWOcE8Ypr*J2?dX4PgAaO9=1fd^k4JhPGFLTwdlsPfoZ?Q<<| z%iH@9t$%I;+w;S_E&?4WHc~NorXwWVc6uyBxyF#I#ysMQPu!j5=7tIt^R3x`YtV#&Y#1;J& zTq?sL=*^gx-jLy1U+b@5eY3u%>Vlnp;6{rv4$keE`67^?R&=}9i;Biet~Zz&ll1PI z$X{Qr6<%0V-Tf_QP+N}*Lmm_D-x>4NTVwvW+Hm5B_rCV;8=h8?WM(89q*GyeT%@{V zR`yBRufewd^!jv@<`Xva{G&&cr5E=pnj6$EM&=turc6Sc*L^G8(!@zE&;0glA@|J} zQ-hvVM&M z1cO9p>y*h5E!FxQl9{~{Thc6%<_~o=dfxgkWqeiadDCp(^tDLQS7Fx`E-qB(r-~z+ z4cA{725w<9i62nWq)b+qjy~ye_BT(m;3kK7#)3OW@fOYEH?g>={)jZ@t3@VF7*gnB-?3?4d@?> z^nQ?8+irzwPfa?U)keo?0@Y-!01aXYM`e3QuzniK_j;;l6>xBs$QjKDZI*|R(2YO>AFlw>S`9SYiwaS(22*x3vnu~Ly zY`ee8zmVvGSrv&_>B)j58XY}rkeasI6a2eV`o5B6K{UDZZBPTTDoILDzW|V|NJvOt>e()*a^d%XUi2tZO>q)3iZMal8>pYN=fenm!G&4$qD_ku_FLYURM%j8j|%f{#ZMEVIa81bUrkqPD57rHYW9)eU5=YjO14U7Vy zzswD7iwQhmPO>1vUuGw}WWc$a2oR8834CVsqJ3^^m+>zvO1vkbS;&%dQ&U{3k=><3 zLJyIts-oG$g0DeORI5%pEKhH1TT!a3Mfv>Zw~(*Cs}PsFR%w@i*P^tz$r8Yds|(v> zm&t~muFL;`(TYN4o|C&Rg!nFh}6truwZ zPt3)H=KGSk%xt-=3+amCFWD^@!FX%=p$};fZ0=0gLG4?%@IcIZ%J69SKL`-G&FN7V z-xtM}{P}j|aT-(@FR3v*jIB7T43iiX6Tae)z%h!Wi!D;EH7K*`gIIws{D&Iv_b9Gm1J#By?(Vt%6#{2?#`3N$W$Uk>!^6c5bI-xf z$PR1N_m)To5Q`5aZLLP3IW930pR$~TRZ$k)qDh@=PH+BQ^E8|#k17|!Kwcl#xwS3^ z?Et}&w%ZC9z*~BHdohUI((O?lzEY0$2i8! z$~I zOaRvmkQmp5xSvX?Ej#Y4>80n%6RPp>@Jy|@us(u;M2gd876V@@y#_GwaMD<`XhL@f zh<+#ULoEgNL)bbZJXtF$D)Q~-WH6(E}5<|(I_yftfeKuczj;!6^QC8i2uE$aR|>j#Lh1$)(hgC=9Q3!bA)yrj3JcF z;fPu})g+?oKi?Da_%<5`XCS2{SZxC?3SdJEF6!CDGN~Na?w_ivJT$LHyKKznp9?*? zLo|)LY(IB(pSpAlb#h)tfK|^7z!Y!9=M*2rXS>Ikufm?r%Zep;l_oW> zAU;UZq#H@Za>&E1y3hxZ_;9%pwq86{Yr-j#+I{N#Sv*Fl1eNqy9SNhh9I8N*MThM*f6v&enks|Ye>Au@b2;Bgv?|t^+0A; zraY)fW8&|V5WK4p{!Av-PLnkA0KK3|J+-m>jq4JNV@;l%93dq@<6+PT?AJz`Yq|;w zp*>P&#b8MwolJDeVg#6rJqHl^egc7PoFdHs^Y(<1c+<6=^m@yyb# z?d_zB3UVM2@;a}5BK*dL&&Go53AF*=X2a-a(U?%&bD{&=6(3ZYxPKiNLfd44hH`bN z1Ro|nK{*a~tEu8Cdp-!Y)}fJj)vDzFYQFpRT~FEM@0vNP*cN3rsxA{{bcx~TkrzYh zg(Js|GWvmemyn*m@UjLE6Y#;&i6-#AdJ~ak6D^aP+!3J5M(3+UC<7w1_AHM$1;KR0 zQZ*fv}F^;q@KXwP6_kHt5|#lf7z%{e@`~{R@iwIam*u( zll%KnOjA_tS8P!A^Ycr#t(5<9Ha&pydSe7p1+x6i3nhX!hIpOju>?h`0Kga})@9Ke z@S4*D0tQ2B09F4Gu!)7EYLETTXoDj4Aeg6XfSznLF*k1jw(n^`*MRmtTO}JPBmS8Y z@GN5cqYM{hLwFz@@lGNcI&&TU{jdK3jPw_}l1(fv8{glNq#21!?m80azIMQ{ntI#p zK#4)A)8qa}>i*{mJ>A#NFs^RTJ}-kCLt9iMrf@g(#+O7I$sT#}n^$fVT!024RI9)! zU}?h0tn{28tJ}~QzX=I<{5GHtU}FKfkUPC5{_SCtgDw8AqiJj}B@I|an2mnj3Y_GK zhaE;e`xWdh5&nCOP_hnscsjF}K}&&tF*8en!QqJp?Yp1mqUP8^U7Q;LED zAYg0@DH)l_p9GVQmlqpC7trm8=8tI^YN^%jW2Z?N+1ZK_D;Rb-5o_1>E*cxYNk?>o zH|^>qLP1Ij_r%`8ApwjGhWmtJF@h-B=PjU~<-x#C$b+Up2%#QE-1>tpGijDyhAo&$ zKT%;&%sV%^K7_}5l!=J-;(9HrejEj( z9^nW`1IiE>{JVClQkxZmrOSAJ8^sBV41up|m0^f0q(LRHG5yJi!Vh`)N9Fp#lVXbW zpsa1bvFq-lkc$cg>6V#R$=d`|#q`I^)FMNY(ii9aAHKMX-gQ^4cHa#Pj{3`w%gEm3 zf1o+e$buWe6Y@?ruob3Vgnpz=nVg)ePse_q9mfCWfhNBeZ_$7SKp#{~ZEg_a_}V|P zndpJyoE|O+kCc;^*)U*TgS_IVZJXB1f*+#lP~Yf8p?Iv^hi0B9K*A0x)sV~9`U!5{ zC>^n)&nl{}#*D5=74K#~*$)%D{ju+yWxEx0Ayp*yewbfnfXn*Yfc}P4~#k`Sr4{1_}6kW$Qo4m=RHyWH#W{mbr7vcm0`mu9GI4dj3aw zsKh|UhmNcb;w&NKCWBN-_9!t>=;)bx1~l4!kb{7ERuE+0NVgiWDlr)N^2`J>5G56@ zJ6o=5pde8yCFi^Ro zNN`4@zaiup)v1{xpKdh0Aq-`g7rHQO$X>u0iaH=Nxu*>VY#LSS$O*AF$`cPC9|rB! zg7Jn+5M7Fmd!6PD?Q{SN$p?X|qYs#9qy9U=jesSt703P3S~aj#XsZ?sF!jm}tT>uh z{O#c&ySu1;L!vveriLnp$NC|FKQXQSkqRf#bVdEf03y`_qf6Wt{a(N$0^tIKVyFK@ z)ti7*xxU}y5)vvhCLu{8V@L`msgy*8%riwH6f(2RP*KQG2qBrLq{vK?DIt|Pgvy*T z{_Cal`TqW0`*NJ>oNL?f^W4L_*IIWNaoUnD?e0xGzc-$Fr)MHf5hh^{GM)Q&%zPW1 znpb9_3Ak)yW24^`eKy&rqBpp!A3;4$J6~BKDTK96MKZ#M4-MM%^z_NNbWHl+JyuFk zBP%?ot>)zXyKt!Q_V#PRD#BUk)A%NS z&N+c=v@H7!ohErL^R-d2#$gM5-w^g_tzA8!QO-edxom1_@c~myd8($mdh(^(#fwBW zh$M5eEc05ycAQ;xvb3cM)8)4#4l+2>uR4DR#O`ACSF9$Luuzo+T*lzGtH{`kPdPEi z@`shtxD|$PxX*<5EqeRm6-~JQCH8awJD452www+-;2dcw6Xqzm+lKx8wJZ7Bg4#Cm zDX&x&9b`a%WZSWWRMUU-=FOYU*=>L=_THtEmTJ>OAAp$i#AA8BpFIch3p4b_z6Yxr znSmip18*CoZZh;`PX>x>8B{iTne5D*bO!bpc_!({;pWfu?^-XcuPHaFa_&&%@q%cb z%(Hv!1kMrr&H%^nW%(gH8`1-+@04aYX*RQ|r6s7RJZmy|Tu(((*eR*Ow25J0^bFtA z|EDMR`=J=M*7k@!Ru7;|52_N|ZaF z;k4!87Irv7i=y~tL4m53Nc=Fh`>)@>t5LO~TnKMhz5Lq8Ao=weNzvf-^_^Lyqghxq z^6ds6jkge;SN_*u&oeS^DsR!Zh`d;z^^FC+ZTSN@Ue{+DUZ( zn|~1O$Y@ir?;&HIy0!{z7JNV4Jg(F<>_A|(g}TJM`TFa2-N5_DdpHkqY?h8bi)3+0 zrY{7Kq^hTf8+$?UW9?DduwersgauMMjP*mIF`9VLYekS@SCKPtpQFeuz=IMmySWvA zsvI&s_hRl9ve&IYKOeB~AD(eR(mG9wv=`%_gyS|Pl}FH?vB5F2Xg1YlA^%Z#dZAmr z@6T)pE1=A00}UI;)EnnCad`&c8G}g0Q_rmg( z2zwd9s2zT*l;Bls`jGuk;9dp>m1s*jb>TEeLql$xGga3LPH#Go_9IYAEhRP8MAF%|CpEaIg0GwMwPk5foON)CLLkMx(q>nPJ7weR^CT^JbDj>q&pr?^--HrtPL|3E=^_GicX zV*Q}0MtQD+&Kui>U;p626f=sFk+?MWXR^6-uJ>Bu;KPr?W_y))`=foA)N|;sNClRh z)gYP?r^C|N2f*}6z=nOFxAwq_6b6jyM@E4rHGTZ3E|Jx`8r@X%K#oMNXl`nYK6F!= z^44TuzvF0IFLXwAw63N{<(j_{?TmwrUBkg4CcWQN^8w3U@@tJgJpd5T30AImHpD{t zV_A%qhN7j0qEEp{j!$X_l($waK2+$%6-%^rLL~(Ysv|T3B1KMh)=~*cNd&N}&hL8l zYWg%Wfkh^;ebb4H8`D;@IBAl8LFzF{Bee>9Jntg;U05iRl#vnWL>c$Y8EyriVXT+8 zkNw{LuSu(z8QV?!)gevR*I&oO1F2m81(!YADYU|;Rg!aln?|*2est=(lCO~2o`8n` zqsnO2@o1i4Kbe~k$~|ma4?iI*jKCwcvvGt z*B{eg?5)60%ZZ^d!bI<@1OJ}pDMi`H&TFyxZfMoWJkRm_VxktUs+y<{dXV$zDnoGF z<<8Z1$^Rs;w<6EZ=$k=R#`xP{>x0`3POP6I&qt}2VF~ZDo@akrR^fwFL#+LZ z1#r~?HDJgcQE$#4rmU5YU1c=Lg=E297R^ufD5|3B&51u<724Qk{$HR~bPyLzOU#ro z&Ht2x<`tsw95B#NUYvG#E^!zBe>toJbSP_&`&>Fr%4KQ$NM2QOsjB2=cChSiBbEC< zqSe{Hy|!rNRODeGE6mQq-LP{DA@C%W&<&Fe^!5AhDTTD3IFs>t?7W4=&?`Apo;fW} z?;^u8?`?&`I28Vzp);LHy9s!W+i-Lytt!nO|u zM>yR*5f%y^;d9>r<|ZZGE>8C2>s4$&e$ge`t}s|@!sBS~b+zr14^pVg&*nYp_WDjP$4SXg)#e}tPAHn3Op@+=tuZf_{~dJkb8wa$mf2eyEH z%o1envIbQQP)Y@O*H+xwvMc)Rdj1_>-uIcrpAYH0hDClGfD2U%2`;_ad5y@|1fUTN zi5UQmY}1}mYpDx|I`P2q%FD~UkmnAge7P1sGNQyCcDJz+d3miKgg!_ET1@$Z| zwEN$#9l#5%*W~ZO#zTAJd*nd62~&>4k;aWCrT}}2?_FnA_1D3VapU*5gDJGn1&X8n z$XBs<9-b)YKAtMj=~3;RWlEGf z_=-9>UE}dhu>|BK%Yv`JoJUbvonn;@Fua&8jHE7uX)%G%0k(<5B|LGT<0#@&mm7mR z`FD0|zu-1}aFF{9lJWu;i_XRTd*El4;{Vvayuw|@<^@Zbv*?*n@ri#|VXTw9@Z@Kn z?RH~V@Bf_*zq6|60U_t><0D!~V>&N<;koX+D=B7(MnCsTY(V`AJ2MTA4ztDRX;5NZ+BlHqTyYBLk=BQ!|1^l1+piuySn7S=m2M4nW2 z-A*rmY0P>r?h+WJ;0{swtiw0hL?m-<{;zR&W2FrKl>qV^N4x*`L6~!{*V{-ITx&Ys zb!*J%9{{~Poh*;Obbyji?|SWS6jQmysYEPIeu9Orpm>(`Pn_&E?Q`#S&1`?Hc`mi} zikhC@y{IU5V%GZlH9HpWA&NVfr6XdZyk`kCV+or6#6#1CJ};1^7z;;>&Z%>2vhmY= zh4qbX?e1_UA(um8Ktz6amvF&tRNA(O4319E9@oHU6>)8E(G94cwEiJ>1EJKJLVMWj zctR*c_q?oraQ6HIts8w|XL)3zGpyCF_f~D5EY+OvHbw5l&5Jk61a^n6Y`?P>uLJ1KCg3K4pPD!qjwBJ_zZ+ z2Gx&EDi2W-08p*nR3+tYMm2#j=t|VjW33`oC;`qYDk>ij1JDVn7e$lxmOrqzlcobyeS!6x+iCo9o$!7^wMysUH<&NdsCV|xjU)>e?YBoRomRE@G90?!URiZ-%jG)JBd1S2 z74@S~&^i>iF`F^RDP&*AWK!!x>r;Qmw%Ch2+}DxAxai`nKlCj@a9I0od!R%3?9g94 z^)o6e{wlvJ2)zw&bxlo`6))D;={Ahbnq0X;17cIH=~mPdAt52#>L)Rt=HuftFIL+5 z{{8!>Xw>!O)lyq=fcqSoqR-yx>oaDfqncp9XDe&=wjK0M{=Iv>^fQMFMb>I%e2qV@ zZP_#8YLr&)JnDL#GBxHjTdHkFgvLwP-n4n|OGC64Dr2{TcQiyTb5uBoW3Sy2P0jW+ zIX?Ij-+{1F)V}`RmHc>20Z~qVpuUO?lPB!#vMY7O3M_d%A|%w}ww^zK@>$ZOnOj(@ zI^j{@YioLV&osC478ggEXkg%qhdDQh+IPMI^h|e)c~G-_<<~r&d;Rai+=t!@ob%#G`>6LvIiS;d(R{N?+_jbR^ier0uW!a{soT4V#u4oTw)+Na{?GR~~ zUX|0V1Bb`_N~d@1-z8S{%$V3L|;++Xw@1Am&g{Vs(c-BUt}##g${n~mYNjFs9<0DO3R+gOw=wZa9L9Kq`&Kq@2`-iDx{ zAd8~2c6N43udG}?Tiu|xUJ$nyUW3R5!$h5g-^{A`(N3!kqa z(B8unKVz1WrD60IN%Z{r{hM@hDzr&_+{06XaeHZmf*ALl?NNPcK#@=WYRQ`?Pm(1r zJ%!?`N)=edHlCBGlRQH*nC{0$;tP~)(Lf_z0EH^Zn zn3#w=x~*=C?f(>h&mLxSdSn}=p?$-nj+nY7EMe;Sb^sti&AH5V^WMFKG!{G9*dk_R z3Kvce(3(rK(IL7YRu%E`_uuGrIOcB5sbNM@Mvlw59pWy08+(ILw5N(Y9E?2EmvdUA z?9GWFhk5I*pv9;SBRA6c&hE2C~t$t@Of`T zd$->~tJ(a6OZvRrl)Xyoyu}H{p+?u5l0aFdnA2}3hK9rqfHdUf;bs~d=_tZeJa-un<+eRZp zg8c6{*ubTK|)OnjVu5xw{EKZDrY}E{aiqb&DuI_dw?9{VRclEAl=rqDAclA_lU772 z3C&ZbPSz4G(*yt-zjYZlZ|C_yKn5co*46ij{coOC#$}AEhrMnFEpc@n`XlV3r%&do zu1}ttO_%RdsuAX!63^E5f+s>SP)$dT!sj(La}>`7%YdC0f8R%iMUhvRw~XIO7GsI2 zwzZ|{YQF4rBDqOk{N6ebhHty7*w|EzB&4T0Oq#5+97jp7Y)5Ypjv|;Ersj-$6ym-P zY`XPpbd-_yGQu$1?7@iPt*TJLXG?#V59)B`{c7Xm=X=RWM$2bHy`8Zc9>fa$IP5ss4E?`zndFu=80O ztYx}tbUKaZ9sVVaPd*#sZaFG_( zz-OU?X;(80HPB@p;T9cr{C?fJtiNv))q0TGw7A}QpE-LLP`HPNUqX|n;tvuK7jXp+ z5_b)(nlo$lH%vHj5awzitNA6Y%zFHgcHYVu5)vF1`cxyqTP4Bs_$8`9<#mshHs)$? z&Q^i|)qNps_s^Cx-#0cqOm$P5M%7_!*AEI^FVXmr zjZDnUan09GeEsw5vt8}(xm@|h{aX82QVy6j``T^o7-K-=Wh@$ls-)sci%<0E=xDoQ zW1NDw0obD02|gz|x^qtQtFd=C=9T+hw$u1>-XT$xCXLzCGt?h{F0^%oD@kfnFne9}9xPs9z>eei+eE?gsI;@Fr@U_DlRISn9H(9AEnp#`K)Xq3z7b5nev7>$~ zJrmK3t*YVy_jPo1va#+G5Qcxj5p7U#VRw%qb0y#x0v?5w5{*P(PMt7D7p3r3YyR>j zYE}|*8T2T!Vunt*gMY8F7ICs3<`i+QNQj7fe>hY#H2kT8P5{kSF@aB>N5d3IRObZA z%$ymfM|hrpKYlKBowgZ+#Csn8x^-bi)H1CfisFl?uXlV9ihgWLLtT?(aV?<*|6qtF ztL|^1R!m}eOc6hEnW8$G;a=lm)_}9Sq~-2qpWIl@bDWJ9rzliGRQy)ygQJ;V9T(OI zwr&n_9{h`HkLa6;ungyO3Z3FV^M98wQMMz>O4|?8;h~Zp;R}H>&y4N^eG=vj&o2o0 z7kEEXkmk6J`eA%rl-OnNy0X|^BmcKWo*3K1at6ao1a$yI+YFN1MpVQ`lmKjWKqS(&GRrCEjFLK1uZiCGBV|*b;6Po?%<4Lz$ zhBrNH;R1SqbY3^F_(~bxsSNwr^Z|cCeMcv$Sn%XUh}6aOJdG z+&Y0z=bwK%b2K5MQ0|4s2i;v415^x+u0kGjwWUxRB<)s>v00JUOwL z8+sB<(Ml4V7560dvc?29>YD7pGm}{Am27D?ByV;S=yyDQ`t-T;dR_qVBKF}`93LA$?og0@&KqiHXBkm5J;n2KdbBLIP-dRMWN7a!}EIPCsF_vkgfdv z{V!$i*L2d(XwtZyo3RG;7(~f{DTg3cPnRlzS^CT~b z4Y zx=Lr2OMCOo#Gjk)KKJO6f`RZcJ2eJ}0oPcAG)r-kzbQ?>KT|vg5h161`54($c^Ooa z=>7K4pTakM44^lNirITO@c3ufem~=9C9&DV;l@dwurjjT6qc6@E?Q|^e=Mx7Tq%ce z5^Q1K&wT@7%Uut zDROr4FSrR&`Q6cP$8>)X8vXXs-CwTrXrDID);c=0g+*K*OgNkLX5)sv-*wt7CB#Gi z_t{@JdOE6&we5D`z+qDK6O0}#yoaK!98HElA-jgjKf;`PCLc#YJXUsOTHA!nio2dX^%gQ2HJh zyv-swG0%0c{53!ijTq1a#$F9!LkZy2y8G?lBDY42Ge8m~Sk7oE+)LzVmp)VT^m4~H z^Ftq0U6bHf-A8>Qe#(8zrORTU-fs9}f(UBIgm~eh{T(ZOlGVyY~!Vk{IWr=+YrBXXkC9$_J-qghG`m zLzS8HWMmx{Xf9m15Fa0}@C0nDYF9@`NhX@(N53l9)r`$r(ET_W>pOeVa4>hTo9LbK z_g|jXQg|j`41-o^xXAZ)PJeqaGAY6b@lNmdNjw_Kf<9*~ACO3%k$hQvA5k zQYvA1&clg8Jz;Kq;l~GYF8!&{aI@Q$SHh0-@8zD-x}@)`uyBE7(sFWeEQCKm<;<>_ zwoz_rxlO&(F5;3?GTuKbCHUmDq#o>3FpX!cy}(eOy(KgItm=BNcOMS?xih%Mdas}$ zNjb&yXeRjFzRHQWwG)mXPh?{2qltH z&HWvqlFNCiy7n;=+E<_Cf2^ZNM>5DhuNIaM_LE@)AHi(m*c@2T)e_DcB~3-XuCjmP zu6^V@U>Y$F4U{&*;m1(j0E<9@)6Pe-3IZAadLajpO1dZXgJH^MN)h}1>yDb$FA>;H zFF)ws4P)Vg6a%{DTKU?)qBy3`40S71TmtMXcJScAQO8MA?jQ}(8{*2D)qfTknsM2` zuzRCy=-F5~q5D?KV`C4x4iO7K4mWyi#*hFrCGio5{UeT~#a$KD8;QnWAvSr*bqics<$lo>2sRoR^PP4h(#{_i>4mT+9=NG|%|X@6$}>Azb$h0(YPHOLo(<^;%RTcXea#eK9Llb9 z>+&@M1KulV%N2-U)sKMa7h9W$I;&^S{5TleS(Bcd%ZPfQ^e6pgBTVGn>peK@S(mW% zS$1@)xJmAidG4ihAsv0%4vVPFl?DX`!+P`mkOJ2H+S;7M#>EA&<`_Ry`P`f|!Ub+c z^D0%9U!l%c+9)?o)W+sT1;JlFNN2U&}v~$PzEtm|AZ-%?zYu}2sIHV*r<=}Fzd@9 z`>`IO&myiHi%^1<>zRzrSr<1_deqm~b8tU6cEfX&@aKiX5k-z*#w!In+fGpU12z}K zRKaOsIJvp0i7Z`1Q0g7SHIj3jSHq`Ip=_Qzs3}BcW$$6=vAmpH4Co`vll)2Cy$dRt37~gsb>QrBcd+&TKuCuA|~c`<4^_ADHQU=Y%8c{eQe{N zE}F#>g$X&)+(s)2cB5>qbLY?R!tcFd2|P~cu2&nYHgx6sb#)Fh2^kq02m%qu2&n?# zE&^d-XD@&E&Tmd@Vee#oJP*`Gaj#!%7p149L^{g5ZF`$Zpoz`uj8V)(Rv9@F^T44D+CQ2fgb>M@6Js08ji6Jl4S6(+1_i!>z-bII&S9>kbNqxD4b>T*;>1fJ zaL~~4h4{yQ&ASFz({3D-Ek#frfF@?f(kwQ2w5yRkA54#?kkO9^`K?&_SMu^)mfTlv z6;MZYY>MhVxu^WO&ypHD`5om3%*@Uu3GLBcPbp{l&Gh-4ZO3)W&=-+|X85__MztQS z34Gd~k)yg~s2$WUT;P>5Wy+{RwSj6KuWUQ73r0;aSp##ia{2G#L^-WUDOhU7C4VCiCgn}(?@d(zzjS__CUm$vICT%S?F zwz=xskUb3dl-7O!-O~K=qc^Qc5j{YQKB1?&zU<#X9KLM>c2PFpfiUHrOi?N6%nGl3 z4JUC?LHNBJbE0{In(yPnHHzvb92A9poG0+H+I?B9aFPh9tu3r+S;x=sq+!V4GnPig zp3XaU%;BNj7!daPEa=?RxTAh)ctah_F@p)CO_@!jC!ZJB|90ke&7ds~Vxpmhpg&Lh zs!|i1P>CYXx`MB=sqN?fp=V?R0|S;~ypSkLXbQ?Re+}Fx*KfjaL=^XU#;W~_ieA5f- zW!acpzYh|i68R#8fcV zKi0%61=>4R{_D68?v6%xk2UhkumsGWjg}#u zUDiw2%h3Aq-W4N+WV+Z(MWG6cf#F;U{PZ_Aq6_DbNx268Xwis%N59)ZU>03*|_hgAeVHtwYjnwg&V zTijgkoH}j)et3u+MXmFWXiMhB*p+!M*WdQBg8X!UT(@oCUI9=5ke$ZTpMnySex||8 zvEmD;jKMg`w&|8Dn*MkiDDaWfr)iNV&~kYZsbUlTzo*}pO`6KC)0jP)OBkerir(^dJC z-s=-=_P+Cu#oN8b1rMGEbASHnc1-^(UwqiLxSZ?ub|GYBefN2@!}H%moG@jE{=OM3b%^D`_Y2=d7^GVs$Fu^nFQ1xzul7;W z*Iz7wdPVw~b6V0IEG0>}%ow*2o_1RMKwR;Hw$;YU%4!W;pi5NW+uQcQ@cQ+w7%S$o zZ=juRp*8i2RLK5mUN*eRSB0-7K+s!vqpmP(m&c0R6KOm0J*qKGLnP5}latqp-4ld?D3`4~ay;Ean8@PInqhnu6;FrW$B{OeX7*9h<*Abkmpq z%l;DxJ3S4l(u_2kQJ7JT1~=XR>2aR-ssUJ=NT}pvWN*QwZenSwF(D)4+NF{e^#G*= zCoDRu^lZn6aU@Z__v2}i<0zu8z3RO!nP2=bpYTSb^FtFeF<}Q%30y?)X0@-GMWQmt z@8f&?5qL;;a_#o^(SlGb!Hf^g$tFt)!j%ueME>R8gMfDv)i*-Kq#p|q_+YF_$O-)5 z#4l}uz)hFx3v>bCeEM{uYb<=nTNzD$rJZ#bH8t(6`P12GH(6kLDTd}BobKrw=}uAR ziZk7#=$L6%@HBF{>fr2ra39NQC8s!1Fjv#+VyN<@0bdZNiMaa200Dw21wA-^^0*%5d{x^HM3V8X%E9% zkX{gss`fV?_6av|-v)eBQ`e3X4~WVYb4p)0;J7fOS+d*#S7T#->;^5zz!x4P)h2SW zA_-cFIXPQl0|vD$ollO|K4ZURklUIq6)#^-@zqi4z#O9IdLdp-U%v`A(6(UK^LhGc z+&Mz8gE9#(j4i-N>vO}~%*he=FR&a?<_m#NuNoV{$Cnq!`f&mKis%D$Fx7qZh=ov| zgWO0MXX4JH@TxIq3&h?^(3+65{MT>TOc*F*Xa`Cpp-KfNdz@7-?~2D;V#4#gXzFay z(qtV5El%TQ8z!2A+%Jr@YUj0b{16~cFgEuFCdatY5X9ZzulhF={txPzEa~DH@BJ7V zd4JHkSbrk75Zph^kt!i9%r>gHeOD(;dG~}ynykTGIV%(!6K}fzo*lV(DO8tocsPy$ z76vBWTjoS1cnpp%xNNzP(xrM0?yS;@Z9FjQz90_xtY1<

        `6qf}|Bv>kGitt_wDl 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 Y3%xIGYfv6Nb(r%6 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⪻pP!FGBR7G)wPEO&uOV(I~9{3Wo( zV7PXEoaU7BOpbKdoNe;W$nn3Q8>nA*jcV?UqAe{S$vhN!)X-eUdaRm==|g_)Wi4R` zJ5!m@QxGrCVZyONeBQ`?#YYKoH$i!U+fgEBn+K1Eg@ku?AGBpMkt= zB#S>0=(ahWHe?|IwohgFEhC~OL(oI8AY2$HP97&z&_RmtJjqGhcSsw(z()PNUiATC z`792$ub3_1iClaBTxw4kwc1?_4bgP`>(`WH=IvS65L=#xfhQAJOgA!#w{l=N@-Nma_>N(NJRY@5&bM)2JN(XWDFJ~yZLi~cv;#}vafr}7tG8Ff8snQs~ z&Zmq}r&-g~XPA^gk`MOD=4?Nl1Dzv~#j66q8bFQoX#wt(l^NTzXoO((cgXvKHSo(+ zunz^Qo)0e-i@3_*Rq&C60>Nnug^d52RDNvVkEZ_omRJ~GR0ns{#~VergulGvJSl*_ zJ4I!W8mMJ9xObPs1BG_ayk9!6E;@VeX_&tB}#w z7A!I+=Q1CQx+48saD+u&x?Ea%GX=S>wfOTbJVk3f+FcAOtS4~R<`U^xZB9SACan{$ z8lGYdd1EB19znDYD09M;QPuzj`C^B$2Z;zMN0ilLF0Y zbO`|NBl{%4(oHZcf|3cj)84hu{|6}{GSL`pOcv4~%uM#t-5n-Xq+|_AfH1+UB>U(L z8YJ%mBou^oAxz-Qqyg|EfC~biz?}UIRUXcCd4M=fR2qmvxtV~w1ynnEx^#)vM6S zLfm2nDbMV*+C&s`= zHT+6HB`(ArCRbBMqxcL(7Kofa+0~e8H_#5(&%2OFty0r>RA0(q{;(42XbG2(E0WWaVg2^8I z0PG|N?b&5%;tR5T%2$!Q9}PgfBx~vi`o?*M;ce|!S0w#Pf^I_`u<@?dqF$9@r@Jt;>Y?7gKI_`F8Tr-*Rm|cWYtubH+qYTY>^_)^R=PjVh~~{l@x5qPWm`3I)Uug7ZM>&>$Kti$qux zTw)>n!#n+m&+H8Wc86BD`O=y3G0g0Qm*VBxT0MJ=8_H?vqYV0UlmjAzZYUp|P?cW5 zv9C^)4CG?%{Bf^a%>Y-DuEVpkLLvBcefrL0t=0(jYGA)zd%&KH(VnY0EMiHEJXN@7 zID55(-OT5Omo2J>8SACL+SkR$ox)+xc2Tt3Ieb{Pp-xw=dGWq3>Wla=-NCm@JiJ^CC~3Dq4H{3@YMrM1q~G&DtGw zVd_z6jpL0?+Ou3{5FI)3oRloRxAMUTgHLR3J@j=~kbPD!GlfkAQPscFoYIe_TE>xb z7*w&DZlZxCL9n7WzcdqPlzz6$N1YOraf6X!AdD3yih*198jI{~lR>S?bRfV6m)N}ZeqcaW`j$E(qb3BiAvQ;;-lk)J+}2+Z zJp;IE(Lji!q_s6O@L7a{yt%-h)m)IN3Nkr8cJjiiJkQNQ0%tFc1UL;af0Zk^80k{8 zDB&vg(r?mU_)}APCDg^2y_TcOpN^M$^=H3^O6BJ-sXv7 z;>uDw&OZ|y!xiPU6AeeTrta3@R6?@1;rTSe*}C`~1gNLJ$Xk<=qUQu7`*{siw5o-0 z*}54qmRvX%`gr;_r^Ou6M5STXdW`7qN}esJ$@vYEE^Ei%CSp+mU$n4LItTX%c(@at zW%f(W)D>ag4*D8wb0dOB+ecJ&3HW~ry+K#Ul}tY){xAwT?omJZZii}$P zTF8dmvRWrUK%e@3Gi#!=<1@Rt5)EE~aBxsOo=MSOp)bjPS&8{@!;OdfnU3(wzh7dt z{sN0ZO1w$N=DP>nUmJsD&aVZTPVW;59Q%$6r#)zE?3YE_9&Yxp7PdvgKzezad|`nI z?Jrx|hD~(1B*uc1ke^rUla2>WTt<%tRHP*7Ulu6>774@@0ufq=F-~u~P;+*Pdy7bh zRC#QcyzSz?axzKY=dqV{zeVAih9e{*>b|<-qoboMW?nCqDRU50>)<^P11RDy&ndM@FWsI4 zUoomSB~G}U3;7!nY1{`hglf42Zz&`&IO2N2`q;KUt6%6 zm(fGM*nK!C0;RZnAjaowA>F4`#lOrs^7C*~FN2`lK|QM=R+p0WdC>6Ym!4HaGc#nr zP71$HQR$KBx<1+V9S6Rh>-fWb=)3$sBQMrv8(3y}J}m0PaW=No)~J|TEhEB}^1`)> z;?zQ=`~t5`XQMaJ8yL`&=M<^k2&_DE%j1e*OqC%D8_XCB1{+RT=Rs<>_=^b+V@ZOaYPM z=MT0>wYD$p61)Z-^WPX>j5c6!*iJDyc~XGT8^DYWc_t3_&dFmU z8_!D2QG*`ph8XlxJ|Yy+uz$Dr&Qo{>ND`3CMdp-?`xRwEH$ zIN-3|wg3UC75eR8OSLME3=QG#@9)7PuKr^`m>`HqpZMq=FB=Rp68=t4=Y!n@SXfvf z%lMtG?HjVj>NN1i-~u!=KX!RiAt3}NRpZz-X8sbR!41n!PtRLNKXCJw=(c4|#Q@-V zpH_jYWt4207-en;95pHlddP}ft7T_uloq8UVM%cNq!ssHE7vGn(TQC*lFngpK%di6 z7?W&B`2C#u*=LhF_4hAa8oom%h#CS58SucB2A>U8;-Hh8JaSOHKe)QcC@78>dm1h- zE-V%X56WwIQPbJvck}7`|8%miTqOB5OE#PMgauQC=hOD2hF`s=3+gsp@B?lOF!#tS zD15fELZ6tJaLJL!!^0z_py>bm_oW9Z+}webOqgCy+UagEQ$6V|%%<-s6??)o{l<}t zksd95rg%Jh{vh4lQ)HQ=d4jjMTeutNC2zvfGy6J!-#m7y5!T_4-8M`tV)fGSwYp!7 z`bHPh+>>`cr+lbVtPIs;`9550dH#JEG{WqJr|jZd$j0f;S3Wq8%hrCuKgAv`2=^a` zLR1k^jHgg5qC!+mx7I`-G{1yB+BBRhYYp`oEWPex^E>Xh?nm&rW9z$Gu%jaPo{EG# zF2(xav=O%Qo_+r7aPnZ^bgBd)SRdm~t1TNM?S?&=PrYb<)DxYmTw9a;^vvUoiX)4w z%NgaK&(RV2JtGSA!5&SW^LdOe>RNy0lF&4kflJ=Pz_V1uD})y>_nY`mjrn=h``n`Z zuHpz+QBVFHLsx2H=p1IzUF(r6&5y#&0+;<<;%z5KHep+>ooB1ZBGeM#dl7xSw<%gh zfqI`}d%sI_kvjRiUpxG;X-d&?p38T5admbt;j^7u8`Q5afZH|YCE^o^sxK_y-3A)G z)nN+UHFbMbwnk)}h!HxH$2~}-p>kzez`$#QFCKdV6rf2p^Xbxh=!uM7q!n|A5EW(z3f?mkQ9d{k&sg?jSeURHGb|k;Anaih@j1%Xsvkwi%{H|ZY;swcpw~VY z`fyzI{A%?AaoJNjSn1&9N`K|`X-8%2({n`9UX|fs*@i&$FH6L-fA#0hMIGqPjQ@s@sj}VVR}N}$Ag3-nU2-(gHI zHg|bj3S39)q2?2m0BSM<(I%=b^bOdOE(CMCoGfkE8~?Eb;ebeg%;jGQ_$2+JKE1yB z7c1m(1r45=B(%<$n;hsD6=ezK9V$vbdVq5tK5{blP+VNr?HO*$uJV2@YU(Kf>2Uw% zJl7r%xqLJ|6S1k-T%8X4_{pQXS?`&i=tCO1P4#@4FURDY>vRdm)cL<5E>qh=&} z5l3tuLZiyzM8T=7Qv(5p0M%~D_@tfCz4_YT`{!(4GzXCR%q3Fh~&pgtsWZS zO7(sH`@_4d(J&ngF|!}{Z9dlmev8gna3_sn0w<%Rt{+Qd72s-T9<6B;Ed5`|F6Jmq zLh70Wx7b=wu3;D)hf%o&IkBBB$AyxbEE_8ylsp~n@hGwpsay;&%ok#i;~L0vEZfD3 z8MoHjNv=Fhprg(s8^l#S_d~g2-GS5C2UkBx_L)7|E%~oTt1166J@-3rNv zqTh5~RPFz8Bl6u#A3Mv?t?AP$e`ahnlB~fivla#L$vti#7hDbbdz^%+iQANJe;#_# zz2kzkuXSqoZ`nw$aXDm8BjLLLV|t5E&c$W|TzYsreD2^OE?PZ5>GNO-s*H{B@Q?7k ziS&uxKmOcO59)vGTMLgPl{3U?ue6~WjK_;;i|<7=31EiHU`P*dd-oW#fRR9&PV=35 zUOIB5&ps3TOE;x}px~dmxvxOyvj$W+fqh1SVw7E=Y@K$%+Oe0f$J`x2REA{HFl$%p z(-C-0tHVI4W04$=AQg!ow;}pngtoIEmfLj3nE|2}| z2JW5VZCM&K+}+7oJ*o`#)y{tZ=`1%sp|kfYTIk8bk(on4(&ehU+d`4R?a86BUac=o zP55f>7xBrrhvC-gH&>u{hg&JB^*uqByb4pOuewICcz^_5-H|1yUEcgLnp&-#D*wVu zsMx}~*nD@o$EV-)776a^D8lYePmTM=mK6l3!@;ef*bX3W8b@6^QLcwhr9I-t6Iwa6{d;* z=aC8T<;%D5(Dds9Z6~@co;lXhjR~~2T z*bm^{KwYsB!Y|wlm?g0d8dv(sQeVVKv2SE`zxKE4Hz#JQDq-gtw5xI2VA~%)i9AR2 zD7Pn!wYToto>E_{HYPYZKfk{!BHQ0NR!inOzkuhYcnzv|nUE^2k-I?l+ufUu4VuED zqR+LnAQZjiw^`wrGB}G)1E%DkhU{XXbISiCRyz6gWB_cSkTe{)-vXcpIXyyL zhcaY@gx$lbm56ZUf^P8sjd{dH{pB9@#{$%FZHmJaAZQo zDB&unF*=u(=GQe#@d2pElZgdJ6h-ha;Cyk(LCx%!l;Q_7gThV49}8uDeZ|g1S0L4S zUw{ibuBub_2|ycw*|THMdq{DXnksK86ztdP4J`wa5y^Oj;F~%F)?IUBN{E2-pjJtws!{8<*!fJr34-OC2{wC{mdq(prxkHHZSCt&c?9)6D^)4>Q62#EDRQo^?(h% z;QswHI~&o^(7=Bwipy1`TB5A39(;D@^t2WXfEXa>LrPnF_RE+#t@xakSuKC*^7Xx+ zypqy{CAe_w>+7It4FhBYn1Y|$`H3PW5bKYirl!WxNq<=a*k?k_Q2ul2{1-qi2M7!B z@{F7?XD4LNbTK;K-NJj53DEJ>QIU8`AF!wB=S9TUITdDS8UU78*ZLxx999upT3a1g ze?HS~^N5e3$izg5dAFq^4 zQv`Cg7*RGib@_Ox%%xrHThetX@-`m^!4_KWz zt?!NXv?6K+b_-}+6-~`humpwavIPXvFF5v-;Y4bgmDN2B6VtjYryfRk@I0B(W1q^W z_=n%T`Y^)DdC5y|bk3VO3Sek(&%_OH)+w>X%Yq5F3p|6AHk3HI{j_WI;L!j*f0a%- znlXbcDGpwcDLY}*#)$cdI*5^6Gsdv(==#?10h+}h1UAD6=rub%>ja_D9DIDT&dN_u z`KTEn?(@HWLjd%N%a7t>F)%aMp0X20%GViM{}c29^N23^pTH8hx9a6u#wtULskqLbI#sD|5X$L#4jHUyRy8uLe+SL zr}cgG)i$gwjCW6H{Mr$IgpqzY+4)d$cCJ`8dOl0ZGiN7@lPK{v^Wk%wmnR|I$xik8 zm6I{IVzk2g<}mMErwnwxl*IaTT!qlBfUzlfdgG2$dJX<2ce6y+7dY{g`m`0k++X`; zh?pLoshEll&SZAn?ucGbw9Dh=*jT@R`HU!roP<%=lFQY+=OiOm)iSv$j>U0_llXzs zeiH#?s0iK4NVqC{rh{p9G7h7-(t2pT`G;KH>yf$U3{fqrXfOy>R0k^zu(jT|7=_>Hl0%Tw?`)l?uQJqAKHbrowl0@Z^g! zA~RnyRb_3$hon}NQk8kmgkTV`=H}&5ZQmLkI5A}Sq{_iDr*hIlHph*UhcAt6A|%C@EZq=eY;UgAT^x=tVQ0BS-TUC_V$l4+cDnEt>d`Sg4qR~X>y@7$ zdAE2^mJg#>?vmMmjOgyD4_5XYC1swQ=0S~E=P?`CxY`~a;3)1N=B^Uou)o>7XGtvt<0=mPrv#YB2 zZ)75<9n(_=uj!3B9<}IvZaoO}v(EDORqZu9hmk=6BIuy%>ma*!Y&Dw*4VQw875$=2 z2)GYv*B1m%gQLqnM+QP3>n=E2IcmALR;WxwDEJ`}C{o`A?S6Q@o^P=lz?H6!i8N_> zS*8FXy6q4}Bs}g1LAvKPkJmFYq4Yfr^&%&I`h$*wW>cq>uAzxXSM3sZSOh;j=#a=dM#?H@J_X;-DDbQ+y?oDop!y-g&d$XX91?PRd~SF$Oxvw z7-4pJe0Xf4Kse0~)qI=)s2=^{bpoU@{Ai!K#3^xkdmp* zbzNMJt;@9*Yq#YZ7Ayr=yBAWY&!d^e)*sI$*o~v%VoKZWL(S&j5;Y634jxZQD6rCJ zllg7eIw$T{2X`QEf%1WgRGjBw z&eRV5!6vC}8y#`pxNm~-*xc~md<8M2#a(HDLbwHKr2lwJKoyCTrBR=erj8e*OB65H z>_@GPm+F*a2)hdnhf6TewCOiwPoZe8kaW`Phhr|vp<4TquJ~sj$fWsiBVQRQyrpfQL{u_bL_HX!IM#B$vx#zXAp(Ztolb+C&es zba`ZeF-A+{z3yefjo3nE>3=li=Q8N7b(t@qPPWkg<`L;K&zL+k&${}kS|4_{_-aUl z6vYy|AQG07mL{g9MF2ML{hpi*2@HhCeE!_X%ZnK3E%NSTdv{7Et)4<%_1lTTYSt%9 z;t#N|QBxDSSy$xPxpNU!+g;J^F=JMTwvQxXb%;!PaQHt) zjJ6W5?YN>9MxUiOm=o^KHriAC_Cx^qq28XFcFG3x5g*uV3I<`Y`zxH00*uKZ^|EXI zR9Q_;aySGWMNjJnz1l^JwjBkdh4RaKfJ&qZ&2%mZ)4!ji*_!=J{ z&p%vLSO`|pZS@|UdI$l$o7mtbCh`kZq%9lzcv-L>$oSWv9hVk<-%ml^0k=oK6qmbF z{7_55-P2K`)`YRx%t{{PAC8&Lq_1lUIlLp|BU7q5(U1_pD#)+Zt_g0FU?14&s)kux zn#}Ea-842;tYAL{hsb(}1Vg~vLBV*rOmnJhcFxbuo9$p^!dQEk(wETv(WFKJncd)@ z<4@jGxvXbCVqHp|EJOnMC;}RGB&WD9P@*-icL~3@l1Kg9IDddUNN-tOaR?A(vRlfW zeCLc3YN|%JiE!Cg#&V`d2VbV!l08tUmlU~el)P(}o+_I~qXio;+x%Ik(2*m&-iXY} zf%0i@+~B;Afp>dY0@A13Ks3YE<|9j^oOSfDQF@>DLnvEmS&-<%bxw`BzaLn_%Our1 zfSE0o#FK7ZBh_ERK1|C#oQU$8PSEa8^s)ooLf!{a50=DprC&x5mGdDsb2y~WDch;W z8mZoS(r+N{YZWY+x2zZb;H@byO^EO|^I|;@oJ5P1jJLa7`ZYh05WlC-w$W0!&%1?j znf1n=lM#b!7CG$=jCjbyf?;^En!rkHuxON?{IZP8DNvp+|C=*%(B}v!ov+h`d_%;t z8(@gQbOD-Y@Wke#{T$>0M1l}`EZq)R4#VemKnOV4luMsPS{j9VR;~G^7_?eYPao3k zsk_zB(^1{bRUhJMgaM(TO&>ug_kXy04{$E~w|`tqNLGl5e9TH#luBfeC@Ue!ra~g3 ztc(znO^S@jEy+sC-l8OxjLftolw`&K_3r+Df6xDUj^lI4-5oxz>wTT$HO`azoUr2R zrU^~&)g$xQ9-4}>uMMmXYSs{_+w!LpqA-4DquWQyzQyK!WJ&gq+Lb-i#7vtOqE^4O zw5q&l)Rk&~jg4}Dd6sEnl$)kXx^{$8vh4WaR<2}~Fs1$ClE>>Hh#?+YcyO@D`Od?K zOy0|{f|}1^5AEQ>+p?*smANR-$;*S`2fjbH)_ehm?5d|i&l#N&o2PlN_a@rk{KjZ( z%z2Z+$1FMFo@i^V zDA7T)8&P)T8q$Gr#M2ANRZlL%(xHx7tW`3PkJ-vyceAe*Jm{uW*;I;r>@| zMpuh%4v5c5FL50HIX}aBN~HB0_w=5KLd+B*ovgNmD^#@`MW8;0{dQQvBjLEW9BI|)}AmdZ#q+|KPbSw?}w+{ zO!02_7~IRv(2M5KKF`U?+0AaR^O`|8Ag|K^`Ri@L zskDa^TMy=|ta|Rf`{2PytVS&bZ@`|US$R7=dzOBo)^D!BP21D^=+hL3R4l;u_J>vHdFOf+p}j0PNFx=3!1Tv z>F>HeY#(h*-fchC@76JPvi&e6`sI(8j(a|hag;NKMxIN=YGwv?{ihHou|`(DUn(wR z`M~LlOVM$-!B8{pigy`~cyjWUzKLu~{)Yq1r*+sjQ2Ebx#%T%SHF4tJn=^1hZ?XT! zDDO*!Qu>{~XEsv3>%*>Vo_qmzsrTZezKIfr&AV*ufKE+&e!jf*J+E+^=BeuqT6Y7m z5BB_Sw7-jX4Gd5pVucc4Vq5N=UFDAimH|E}?udW2Sj@84nKQTb;t7YsKOR_Xju*BT zUVP<5+WgsBj|=YZ!#~E_9$)&k0}GNRK!2jQ!Bu@e9|>YrDIJy7Aw4~2%myLriwtV@ zVp~hBoF>cFwlUQ>?txg}`p?3z(`9KmOu!D1cbl4<(TiV&yq%trF|({}^JK+O2CP<; z*u7iXk3U}PQ)orghHA(&VMMT%NVsO>6R!QyAiu0{!i{C9IrjeGp^pG%*?wu3InBs% zbrrd=(3YhhxX6GCkjg6f#BVGO!TS39CdJf%BHU(W20y&-Y1&TfWp=;Y-kwq8F-+5M{uH$92C^$t7MNQ%GyypGpWy{;0Kqie^ySVCbkSQQC0tTb=JgTa*bG4WtFguK)hwdhN{_ z@Wd1PX+&_a3jAFEz-!7L{Lk}wv6?1H1wUfq>w#|Y?WcwBi8>HOwhH-nJO{5~=4YK% z;h`PzSY6BvRQg?&&jD;#*wCgBw>R_-jN|JdeM3Ub@!ehI~|~m9~n5h`EZ0sfve# zL+J8byluPUyR596=z`Ju07*0aAoJupe87^c3(u79SK~IyHB`E*U%2)qy_Q&`{_gjC zPWUZ)s~#(!cUtX+nFgWAxdqXNdq{Jxf= z&$DIkouN|+>G~3pD{jDil94u8X$R|e_HZboAr#9!lw&NK?W9;}Opknz#E*U_mp!rA z2@TY*=}VQU_>OQDZ>|*8TV5q~T@83simC{!k_3m!HYWeU$uu`dmch+i+ct~8(5fot zP@o>2t^f2hy`UhfNjv6o>(5UeP^UphbIBaL{(vb=eezrW^qN=ylIsP8wuCYz6mu%Wd>gPh_`QzZpr&>!D7dkXG*c2nu~0yhh8kRveGB_X#D>~ zev$wRsUTnDy8qnbzRPOGq0N3%qwn1mW$h`R(0f+7q%k$_-!q50q+i}fpZ#NAh0T~m z;Q7TN7ulC@->R)MJ8|L!QHB{ChemSk9l^@6$<9}=Vmh}inuR?R3%bi1|6IVtL{8f< zp*AV}xg8q*jM(RPnVMZEG0Y3{V2=ZMx^X@635Xo4kC~0fyTYhdggdmQPnnqP6Rx$Z zXgQPNRcKtHaXg~dm{U|GNM>R2!v`BJy>PS8hi6Jn6U;)-pK$B>7!=e|U;X|KO}vBU z8mh@B<6=uc5~~{s4*!nhPfuT8I9YTJoHi#g+&^W_<5r7_xsG|E4P&n5k2El}8(@}(K#Xo& ze8(r{9r2(m^)9Q!x`gxRa8;PQ;?+$E^Ikc0BMz`>INc}3jFb*93Lqt@RwWDK%P)itlp!?JJ99y>r4^FCY zV`^#nT{k)ndjQI8tF`f=k1yb-!rZJ=V`^p=0XrsOvlg48l5WdFpHtcz9>YpS-tr3K zN`*bWd)3v{?rl3MwC9CQhF(~<%D9PAPJi@6)LD;w%X24o*&YSM%i@O-p4nWeVFCt>Lg}j?Iw}^-64s z^u#L8#JT&&#b7?6^Z)k#X`&b-b>L&zow?JG$1tTW;j>blP4GQKc>MO?mi3(4mg>83 zddDpEn)e=`)zR5VN}UrY!ht)fZno;jA>O}#|G#_1_nvDy>bGFvJzJc1^0k|>=8Y^j zC=Aavhq8MKN(upFgc?#Tap$lU+70ZU&wE1$SZaFu{0@n6kEg(v@FT%Jckw8gvXZnY z!1A0qIKI^ejftCzrRE>*YDQ#(awZ?PLSy}Ftgml|6` zSwQG@c6Wy$+(Q5dm(mD`KJt4^dm;c!+J@n0_c&&s=bA3$&NIqKd1BsPT|ps~THYG~ zVH!^&5pp)2P+m*E(=;X!T01z1G&vu7_Em*+d!BLwR!aw)==iz#-e{NICZQ{DV-~y5 zQNe$1o=Ke-J9iL^m0_eMlHwg%o}d;zE6o87A!u8mCHY%oAt75mzbON@@~}^@CT&pt zT;u$zipxH$kN7b~@l^VY-#-~_6>O7x)XAI>MCAAH?d_eyi0Ha8S4B#+Mg7%{4$jWm z2DY|i`e|Q_EG}GN6+UvShUgo)<-IwODIrUJTp;V`as9*Q(-D`O>8+>}{+E=7#Nu*+*Ho4)W}J0t{tS@qOHFNMmwkndS%j z`Znaf*)M#Z=kfN1*d3|9@`W?dl6tvL^vZB6_}+RegLSP}P<+5>je(ml-@OYR7#O%K z|GbaA)HD(S(+YF;-QMoI{bHY00r+%6xZgW!up?ey!Pdv;Ad$4<34pTH?u4!Ah9r_& zj5QmY$Aws|by({+A1#s1GZv+eYF0*GK~m`+Uzd1bZ}pb6ju2F+<^_-{`X9;3jO}y? zGB3y(#JntQ$zdOj0lLUWH9fBu{>bCv#V!x_v<`KUp(r^!U%vDwOUKjGR}nn%-aV?2 zdXul!HRu%D820=VP-{#DBN4J>bGmW}xjvcs`5UhsqAD%@n`PvGp%t02)66~jB-C#@$t-4ZIB0jQzo7q7d*d1++<(7MgNnTU%!SC zDP>(h(EQgPfXq=<#Y5}?Q?=`nV~VWSzZ5UMC#pH}>E}G!-9TLtmG!S^BEgM2 zVFnS(z<%e8?T-ZJxAg4cLT3h%F*-Ay0F4K?P4lS{6}0ZIPHYR-&s`hUoSCM=l;9on zq4GnlK(|nuer}wQtZkTq^DYQhacXpGG=h$6W-MzrnzY8z#|W50@sMxS^&#G7Xic&( zEyuAPZ20av=E;t!pi+blnBQLL`=A_z-BX9@pILmk`mt_x#LAlx*GJXK$(-nQUwu$R zzoc3A%TrF0c6(;5;UiREzq(H~qaL#k^3I5TBcR28(?P-$ltQZa4^8js@KX)gLlzEK z`-g8U=xS#^Jh^3wdwG`<&2cuPsuQ^mntBJy1qutM2FB{@UTGV9^?@;6S7dk(aALY( zN)zZ14GiO^0t_4w5Rg@O?*3#PagX6Sbb-pDBWrI?+1FY? zeYaEomBX;iNRD7yLxI+;;?l#;WfSxTVu@`_C-x!XT0p-+L^+g++16Igg?*BeSMVp4 z9rY6)9X(M>>4%VsF+1S4*5Sj2s41S@dL7*PQ`^uUh_;kc@QJ>@zVlcHg)e}PU%8+g zAG;c|P}-BLY-(!y&}Y%Z@!i8!xB-j5C+!0saJmfo{I>l4{r$Vj%X`rt-S)UFpT--z zcF&f)H(U6B^rCV{so1sF{$D15)aHe2p-4v+F6%w#5>ZeK(DH*l%GB@}8l8gf(a606 zHG8Y)b>wDVDw7ZlsZZL&py!9z<{tmKol2Tl@5qmR5a_!c{4$xvZ@?!?p@IM$T^|!Y z^=ZFnxSyC`Cc&=_f2eXR32St+-e9Xuc1Ha)CTWUqO}PZY}~}%1bq{Z zympkY%fn2CFdqpiJ4Z))v=pLAr2S5~p?=|w~_^C!bV5ci7taJo;g=UAqQdorhA~7+s-a%UI zi2W6Um!rc%&IEi#!~BbW@0=h$Ai`19^3UR_e0Qn9#1MpxhX3Do@MK!M;S}=5Hg2z zb5emSVk>VQCVkx7<%C6vWfcYelfTK{^tn;ql~96Opsx$;`eOFA%QU*;)4|EVlrRc> z01d1i3M+Ep6D3hm5}$mp{UnyItFozK-XhuPjg`M^w#{ypy)+|2{Nmm~&6NdM()T<+ z`P5^$a?(ebIRpe4 zv70#1HUOJ{IV+zWCB_B!w3@p5m-9_cP2`L#;D}4^->>y2b8TiP4HzPfI01kXmynQw zXPf{tJ9h^5INDK^=$oWaMGf_ryP=j;y?prq@F{YiAp0T!KyEH=+I+kH%U7=g78Wjj zjq=7Q&4h*5oV2~8Dx zmI3)l$mLe0rn_0J1^Wbw-P-<|H^5(h^`oN>#Gkl$uM0SJ1X!-9P_6*nLB^Dq4y--& zX|&PQR;nk%Y%_YKAE1?t~>4<4w&b%A_( z{MHJA*%G!0eST(PqbSRb3$=d0b9Cdb+rc=!<3yqnMM5|o?pBC;FbC?RDa4~*tl%!1WISD|^sK;OS_eUU^ z6O{yM0lBzu@n`9Oi4oo>q-iF_>=!whAaLlq3I%i6sGNnAsyrsPoa6~paj>%a@x?{f zs-g6iVoXVcaPyIb3R(HE^VzKtt->MomK|QJU(rfspGXudw8+Rh_~EH({*fK+9MutF zkrEuqu^K@#oAln!*?wWE$=+nC^V|H>;co%87NX*)I`s?<*CO!{@rI0yB?e#PZS~#q zC|04Q2Uf&F-6092V0hT_KX?WnUJfph&)bBUapzF2L@aIEb%TAEoMMA;h61P!$%6-V*1bhgMU%<$9Y#N(3_u{z zJ_)cfveK+I)Yi#2A|MM?4%d!l-88Nny*s?{Yy9<#Wo$0Z$jMn>bKfEr5gS#O;f}_w z7yA`sUwwa9xCRt8(hKm_Mr@9%YFI&u)bl}0#m(FMme4cu_5stgeJ@7)(Bp^-6HNsE zG7z>Y4S}%cQAH8f7tBG&^4>`2GHSlsvg@9vicFY-b#D2|Ae*o>QG*}5xRKe?-<&a^ zYZa;+|J77-wq^G%ZB`Ep3;##wL;W2yJ{VD=L$5uJu{VLx;jiyVQ7n;^gOq50e19Tx zv4IhMFeUifL%TK1#{}h7U46o;qvzP}>Ti!w8|7ZHqWDp~7~w@b`C{1R^P<*LOvG62 z%*=%d*|Qbf&dx|-=77&|=Z&?FS^Z)dE@o|w#`Zn8qS24rg1V+A7%_+8`E*WBP6PwZ zHOK)bMaL5rf`{Hz9NiKCXbl0D9SnGiWA+pt;FnY$8Ps z4!%BLtM>oG5C5Ve;s9TsKIPghZl2}i1)J6Ll)af4In=ZbbsS++=0Bz7Ov~Ul01bM5 zPBBKL`|aD00*d@;9nC~LgH6*T25Aed*u@x_c*>U(z`EeZdFyAPxrmzE?fR7uc&0J`lh!o>rh zhnLeh%N3(!ZMD9es2(4cvBR9_j{pzUw{PNV$EVEh=F#aIlrf5?iEZoBI@ZH~isHRs z45}r(joZT2hu57x3Q7u>3=2)IB+;n=OAugby>&MF>yyw%s|2QmLIHYudfnkHq<{+- zF9tS`>J6WzJbYx|!6P>}6!`d4>gB1CaB(Tc?h{n$x}oSD438i0FxkuyA}K8$)RrjT z)lghnS@{?%#k4sgtiRJep6lf8;6Srk%*_AInMU#}`zTwrk2IRM76C~RVZEk0Ke=-q z&<-GMv8{2sahsD$pQ?mQ-uN<9OIrFZrD0(z6jnC2&ROS~h9FLzQiKLw!KOEfg=dA*rx%+41P+hVJ5nhGwb$khvi$WhloX_A3vo-j6$+!0hIoNp8k z!LucDE@>&J>v@-%KFbxZwXZ1JHo@}4F)||JrTjCLFVm1tuSGmT8h`D3x%=eBUH>@k z>O26|gbN1WkfqC>ixXwjKhsvYQJA5cc~|Zx3}Pe<2ePP8ZzoNz;mtjdZevbkEM4{W z$jD*ft{gl(*QfQOJ<59=)zFW@Hy7!C&e>TF?fEY!790>Z>1*shTX}f0ZM$B+)Qz}T zVz?u+M}gUAmzbCuxFJwXce=i~UYaV8UE0 z-r?y+d8fHNCkHAoly`h0<<(1Qc~et)pc!TkVdQNR_nqE=t4LL>RN(IJPC!nyq+sGm z!DD2;o272;2~PSZ{a8^2%@U5YOVaZ4N7{r|7y5-aTH%N8KQGIT1BAdC;r^>p}NCCSv**7mT^&Ht4`IU-b1 z^MTxXz@gZEXq!I}csxIud3hTqCMKlAG)_lzQf+8~$ofBDmCQ^ROs)v=!{DIHUii#} zsWPB^3xQR8FaJ!-q1~A5*_(g3Du&8V`N5`heG{{B(G_lO>13>W4!)Z*AR(23iutzB@%i<25IdjH}<$}zf zJ=tspc+(={;zv^+I-NOl?OG*d3L{8k#BtryLPPMI&Q3kBrc_keTg5!3arM%kVTLV1k}gh zLKgu0I<(|q!GUC>90M2b=C)ghp|`(ZyU~L`nuf4VSfaj4ylReeH6#S9#%>BOAIICL z0^Euh`X{Mn9q7eZ4+5!y-iT;Pbei`6EA=oP1Wj!$ns9%Ky~eQ!VVW8?qcVNVu-N&;zbiu4-n2! zHxI-O`b~toBl2lczDHnF_4f8Q?~X6Y!#zU342l~F1kx5;!i`oNfS)s7!cKw||M(Y^ z>^?pT;oGG6FA8W)C5V)Bne4%)WA$6I1Kqe8g%~fK)!K_hu*tr19iNqrfTAnPNN8zG z|FE;O2ege@d3tgH*$y$vYfL?Oneb$!AtAl`O5HBPSp-2`P;B4v_Z+(nQ4ydO#Rysk zhRd_xYS+t8twPUfIq=6WT0=#Zb%c|XGksL1#W)h;YxD#W%O0q$2tCIpE?hT??awtp zDEZF_V~!x8#Zcx;`S{J>=*|PF? zvWK5eiD@3~oHZ9<0XnV-4h1h+?yKG7szAfTqJ>?jxp{$B(eqwRb)K6$;FIL!S|zwSCxk ziQUkii!T}HEOwCIvL$@eQ3;NQmoJ%!`+4jc+d>bj_U==DTcPMPyl@=#C(H?`V#tLi zVoT8c=u`_@s#s22t2Ud8T^O({ZVY7=4k&5Nu$E}806B{=SLYP-=W3&~lo1_{D&COn z`H{5*&B26Slt+9V^h%kX7C;&2hSn>DPI`Yj@b2;X(F{5XsUP8owj~)b_Dp!d+miZd zpC8b4!3aJQH>S(Qh5McNlA1|5gkc!b4~%~h2)l9E4Jpwy_%(?_L7dHaYT^9i<9O%f)EbC4_yVzn^9WI)*<(k9#|aA;9!QY;|iwVy}OP;5?eAc zxB5Kx;*2gYPOhhlKq7pZuKYK3=AHUOH~8oKMLu*gXaP|mj$l8ND$;y7{}a`16OW%f zc@o#>RcXGZ>xlPBl?xMd)1w4{BJkPB+ZNBX&sBOQG$~qlZ@OU~AJN%t8I(W?1o??I zo)-jtw+7orD@gz~m}{W5=!c7m(5a4Wi$t2V%fGgTs;n;(%;ncKIW$#J+Q1V=#2472 zH#!``t7c%(mC-`+d*h&B&*nd*O@tfFQXI(b9VvJq4rzkQak}Y!d(Qd+}fG zI}2U0&?bA^Dhhn`J2U!De(@g6iu{EC&I691LkZi&+HQ%71e z*0+DY@a2^t3VH-Rj2Iv@ay>spt3QOz$9q1y+Wf15-TzCTZAs9`fhyQfRgT+_CLPr> zilDi#$E&X;B(NhgBn$G|itZ@W8gZgJ9ed6`=7#Xi&p};Qg-JsFLTi{aRFx6mprFy& zuMwo8QB<$eET~zjSyu}>&7ss3cmkYOLab*ajxN_z??U6L7!&yf(LLV?1?Iy0FBdRy z{FPT?+b_SK1CvwPFO*mON}ZfqO?fL-9DrvHj9Xhp09sm{2p)^Sn!NGD)~!Df;Di$mId8NA%PY z>nqYe?d#aLU;Wj-n5d|MpVuctXcG9lC5!m%YCc#X?hCNc()QR36&goiRR?xwvRrZf z@H5Fh;s*LP?G}GPYp$d97(0&SE5XsSKeJO~Z2@8cp(HVM0U9%;V*C{Xagb476F1GYJ+U;FuJCFfXl(OE7#@xElEmT|1%G*9; zy~L{qAei;pwyT@;Rj9X}$Tymqoke3CLSv$?&sc9)oY}xo-)fARC(&c7bUz_&Vd6Y1 zDmiZ4eNnH88W=g?d~3jvbDtDe!Z7lViVEiyL4s=A!GpKsoI*A%%UzxoC6D*-K|kKe z$ViQ&N1HLsY-*~W@lkytWZNDgloWM#KW|8pRF7{DAPAH@+ zEDsvJoxv04bkPE?!ZgF(4TnY9m2(Ya+>%VL-=cKyWTgWj71}t$>?i+h4h4JW>H*4{ zL2B{lEuVOIW<@e-9`o0Zi-{~){n9U4gP{TFCL7`E0OKjjn5uYMi<9zZwCrU*`r zBS)?x-64XZP_ZcPk+}HXOm1naJ}W{zUaNW0x_=6yPReIw;x(xKnJp{kKc;vt&wnBy zqeCYJ>!MfhG`jDvpUWNZBP=M0$;YQd{oBu!s;#5!m5~_+(?zl|%VROq5*o-H5I|76 z0Qn{y8rY}M8gSGUVd3@V<>lb$TH4x_fmMSk5a+y5fG7;{lH89Le#F4$yn?E0Bv)kq zDBnI>|3=G1N64UkfBx{oJXTf_Fvh#I~Ajk!3eOlyW+)Mf^->;@!2mS3EzT_vxq@BKyn1YF*1f*a;&svQ4JRflO{E% zcTQAGQYE&js;N<9z3D@n))>A%A9-HftI*G-<>j1+g6gWO>$Y%lX&#I>+@b2>v4^?R z&fcCMm(;|>1YK75g@{bP6OpA8`YN;I*MB|jhRBo3sdZ5D`6r(SO<5sW?mK4#1g5%&S>CK<6m9QCdItduF)X#-%VL zC^r0p3x(j=(Gi>3*oF@b&NHCw$2KEi9I^u;hm+URAMdck(u3J=Ccrz$_#1qIC&&)e z=Aja@`cpU4(xM_F=zHzmV-5x9$8~w z`ueqDzek@Fi2!(DJ#+$X2qok`Zd3s}+u__f-bVf$1aZ1xDAxb|BSNO#zkQm%6Vr-- zi3{8wBH}UF8)KvTd6xPWwZT@#@&~!SPBl`5E5Df4+y7K;U`~URf8y z>*5%o2J-w~{t3CL$=hEtSW1uMY_#L4Q@qUKC?;#6K(>*JJ~aC;`VGNht#esDaxGqP zG0{_~4+Rt?yUc1Z)AIAvQU@Z$Nh)(ETc}WF@vIJI;I^V3qBq~$>js$?L&)ylQwM@w zpVM#dcNZK7W7z)C>*{d8LHGS9+ow8)S1aaGGpb3a^ zr%+ z1TcIbRCgqf17HwEhK4Hhv zr#h%=&a&Mz&yRRB>_UG+jPrW*qjU%9n|f!<@GlcLHgEmD`^kIfIq#~xo4ni5eGCK9TT$} z)}}QE1*`JjTtiX^7Be$5bEmj?6EVzx`J#C7;$DP4FULJ8ndWT(bpbkdIsmD8$c<{^Mi5XxeSm?Y9A5uyWF1Rh237!(S2FK&fl zO8y;aGB9Q~dzJqtDl7vdJ;1N8Z>apy^jZPSBZF137IqhkS28}jg_C`ksWfIQ1}iD9 z<%^a`FOR`2Ry#j;7Ptrc(!`TPNtx;F_?ZQYhBz!fFvkCEQR5OOW4J}q2KxU zjo-u5o>~3eCdXxP+uM^Q`9D5tDVntq6Ev}1om!yQvR~H1T~dwOV5%>Y;hOA3$~e;f2XaX~DpqkZN? zY}*)_VF!sY7-YL} zTdxm|8Zqs{M?mp<4_XqDPU9IYk|s%eoVK{Sxe*=~V?JOv#Qi}6f&4QA5@U2|P?90) zsUJJ`=EgD?+zx1nT3cH+w6yBtwj10?N($X>ki88HAjn^8YLQ!8piVgeAB^ZHa0evcwY{TPDu&3PxYc!SnTO= z!LvJZWj#*~X6Se|1|-$`Xz-6OCVdh2o8N#;iD4qxFdPVA9a-6Od1<~|lqssgL3#w# z-5gfio*$}N1r>%`>Bd51(V%)u&_>7~xC0igF@j_b7xrMNO~{ILU)2z}#^+V>yVW368k<$_wGVqUZ1~y zRXTil0|ad6r$HhWgy|JAWdll2QRiGb3Y}D)( zK@$-Un3>Wg%|TC$rO~JLMKZ&b(zlImy^4aIjI0PX&&$gz#0bzONcYu%^O%XL`}+FE zeRh9)-vlzf(K$`$BljN0OT8ua^W67~)!~>qy_r#ANdhR%y&z>I z1zC~%#l#qZkbo@4iiW@=Ie~o>*S{VZ|GfxC_3GBl`iMx|rdG8h0F!6>Gj&BqF%m`* zYA;lkQXp*@i9ijKP2#rQ5=mVRZVUv& z|4#I}R_Wd22ufEl3?FNd`41f6!jIR`(W%T32(Vt|lr=>% zB&U+(eNoY@+mQg6|1BJzg<90bad?e`#{jONne+<#vjT7=_dgC-Dp#YdJ6XTcj6*K@ z`Nt%_tA*73Xj{#VL^5*2MtSZnPf#$xUiIVMnCr%;jOAtwVJa*#k}E0E<9Hk(nj%edNR;=k zgDc3uW6w~ZCmp=J$F3ta64Jk?RMg*tF?n9KPR!hUT9t5Kkb*sYcq3>#9M-4YF25Wv zsJ@OJsY88(%X{P(K4&I%ghfROuNe|wXYk+~tSYcM0~|&iN4W{+_#q~wQc5h8T>Y;| zU;(NC@C4|lD3X%!;xb^w`AY|BQs%A>-?>X1^cP*Qlx)SYzP=HnDMrMDHUP@-&hgRV zYwgHC%#FcHe1OIdKQjiFRDSXJj(C;VtR@OlW`8u%vnE{?(RY?Z0W#I$x4a3XF9zW+ zLQq}<;9OT^?Uh6RUOzut_7su%1(5t#+I)5dFe$%0XH5`X00DR>O{9y)^J@0fb1!b7 zrSHxH0q^H%`@*t0a#{KHZFtn5WhXJoUd1F|0pl(ElE-aCSSbegXK51K+)bkEEgod;;!808s`W8?@#%nm-&w&Q zyQ2iVDG^(pzyG>~$)>~5&$^bk?At`M_T~Hc8#6mSRhwH-2M)W`jJdY%YtwKAt&BA& z1c_y(1H*)mnEY5{SKNAQesQd z^peuytI6_QTO#cY2fI;+k51q471rK2#L%!j=~ zMIE>mO<1-UNqANC*h%s}`&0dvz2rdI@h?oEvwH`!(cI_PF<_n%wKmvAwoGm-vD?}H1+`|4Z=j<+UD(mYVdhrp9zOi^!r z%0KDEd3tqmdpj&j!p{#*jM;oYUfkc+wcGK;HVGFejLT32GmIMCODw!G00palu7Fbz zZ1tq=Z?#EeD>yRqWG~&AT9aKdv)4H0odC@xrBblc71(UNN4W+Mp^x~8yOut#usyT> z)XKtf;2KDNn~3QM7%whlA@;%FKlzlsY|wY{*spURTx7G%F|e9vwZv44E8;jMyBAVE zW&=svRoPC}_wG5U==T5#CHmvbzrQy^gb;?Rl!!UJA0Vya2Rc{(@jx{Y>B$=xwkokr z(60RK6CR-d~oP3}BMD zJnMMhtegcMQ^U8O;^uFUMPdWd4;`L$vTryK{1xhIA(mKp_C_#!yHeNM+`k#uqWO$NvAq`0*v%weG%3%II!y*Urk$eziOuN2`e( zc{=U>g9lB~{20T$R>S0j!t$ts+UxEcO6BG*<^4$$$;20QG_C1NSB{>6LEt9gBSTPp zApZgbQ8Y4Qw`)(j0!ZTSOS+ajZ8JLGzmG&dXCfCqLp2=bNdVE%5z4cu zxVU+7%K6fLqjB5aI+Vrn#;?K{6{UIVBs8ngDX@pDE-b<-jX_{&-0xM@!43c^#Edn8 zod#0B{AAjPLDT5pA(+uCpk0JPm;GT=2Ii?B9IR^D=bTXuUd4rv9&$fwRpMGoP-%P z3v=I!JK!}d1R5Z>vh*`+6DbPRzI6Sc6fZ`IU?LL7^&SB>Ay~wO41udnx%3=&rmh>6 zT^mD%^?-dzU=DU^g80p7$cLa3Lp0V-OK z+$5{3ByWaZLLW z=j>H5o~aM=g4K#oL186EX`9_2*n3D7GaX7Yy4 zniL4dJsIYEjjv1gOZ`kDFiUL8a6?}7ZyhwVDsN#N4wVIr2~d|Yx>WLE&o`0eUY9lc z1U9F_SZGw=@GQe+ji%8^lqy$EA*r(Y=qRB&oALXT3=@ip-{oBUi_Kfb9aG!)ni6#{FSZ+PW9U_&WcIS^#mBayd z<*qs8U?Iyb^y3@u^YZd?k}W3mY&|yk0NEQP>c5;Sa`@k&A4uaj;^NjKR>FOS-_2BA z;fkezf%W_A>r@UOPAUf-iAI0B!tdExkS`f9%z^gVlX8|;^ud3%02`0w#4hndwQCt# zlhkMxO(iX~b{8vMBkNYi<~LeF1s7ge6{7#fXh@`S3+XM00Xhw3xbPsF(Qi;zp3+Cu z80B%aWG9F-BfC=#1s;JD)bR9*LjJ}dE z;GRF9@5L|^jlr8_R(M5)x7mY(ah*gMiwXdGcVfbL`TBLxzbMXMcgt*9btE3czX<&C z2V}HgQv7->0NX}g zDipDO673|GEeB#@?Uu5B*9~w}sl28;AR2&rz}3}N z!R+scVCpH7}h0gph@$%lYY3VJ~)hmnDo>+m5l6@-joc9_Mo_!a((##8@ zyy`I^ClEnD>bIq~Cl~_e6RIrq)SbApK&*)y6xtr-|K%$RQ1TF<3^o*VbDkeRe@gl+ zT);RCqOwD(RMXSze7HD1F`;U2FAVH}2H4%dW>v_wNzM29^XE{yB{tkrEiEOuxU;pB z15np%CrhpS7cEdSHQiETIuW`^k^1EYwKxzYd_<-I_Kic{p&9s#XKpIR%?Sp^fvSgi zm&x??f`Vosykv_g)ginuNYkLU(}Vruu6`JxCVfePV5uV)JUn9LFG1|D4$m8k7yK(C zGic`Z<3{8IOOu%~mJ){mNxDPm0T8130+NUs0~m%Q>^0pbypU}y+>j!QNFetGmT)c_~9tq@Vh`0$90jV6QMUGf&2sIjr%2GJhb2Z9&0@r~d z+2hC>klk3V=y7(j#aowh1d^Gkb;suyUOG^vKWc^)Tu`vDI1|0N4&uOb7 zF${Ua_a|S;Tv-L`4fW(Is;sOmrt-7kEzphXH1n$x?w}PcUc(djaUz5R4NU-C&ri26 z64@n@xD(!H4Wk@zNST3<{kfdZ_mAF}-_VXHRmP^D=smr?2>SoO|3D|%SSG7i(4S$mw^E zv&R_Y&|zUW0U7i{tk*>C4=*?XKPu||c^HO8E@PD34;m~0iB3y{gUQqB6xxsf{QUAS zI6x``&w_M|dcNJ0xGQ)#;pK~|xRmR)YdFMYT+)F&!=)jxBo$-)qY0D>z9EB22TcJ2 zw!=_AjRp1D2zMGWeh=G#v1AudJD%;a?y}r^MJ8%i^=k*PzaFp~e1x%wyzO2%+7H-g zLGOU~i_{Jc1?7Hp+nAmk#AA@PhN-LuUlgF2eB(aaYnDUe?BV40y*rlWGJA=c)7f|5 z{MWl#_uDUS2_LT8W*w}=P$mZQp872cgJ(Kxcl%#sesEJ;2&_g@kR7oEP}2WsC$a3F z`r|5k;t{>VTrDH-aGXDdXb6Mg^jPAl4E)Ae5B9Yb z!?s&wIHuLCtVV9w!V-mL4(oZy`4IsOhDr_IR}k3vn34T2BtwZRGR+6Zh`F{{DuSwk zV)e*4!m#04f11>)XA#CSe0-~1%e_NAWtK0Xf^li3T;5p!~tnW2j~ymfqHx- zgvvxvNbp|NTZy{@CGpUCFHJXlVnf~(G}`>~@;vaR)}ik>fkx0qLty*7AC_y~FZvaR!GYLDt)Tkftq_Obl9slxMZiEXu3g&GHC49-1& zT_EM&2~7!_ZD{dOVP$>aGI#O4f&uTYXe{fC>mCn=*9*iI8gk&qz<#zbBG6{Q{~jt0 z?1SOUmoKQORH#waKoUTxEGV;4eZW!sdl5$4_2?iUJP;!$8>2iKyO)ok7)3kzyQlq! z#@o)tA+8ieWQvM4$7#-OF*|9^u}%gCIIta@6!DKg=LMJ|=lxj!ZjHhFQ()w3Il7n2(1$InaUmmKPiiNLvsNe~z{H(2wVA_1*;^*3<^u!X09S;gUB1JRd1;_!bzd%96 zRB3kh)wqpguKTi&rZHgi2_6Id9`JO4aU||tLR=!Q0izDR6%ie;13LRv!da_dj9)*0 zJ_NKF&p%N%6!cAapfgK)rNt1UT&I(~&%mCYW^Jh4-XgiyrR&Ms+4p{9jE2fktH!D1 z!M(r>LD8e`M5sp!N$SHu9Uz7XCx8yWtSG8>#c3q{`07yGuM8vMF2VKoXGEzB5{*vE$}m>qrrg+1RJz>HV^6nJQe_~&_&|A;S}Kv z&e(6g-q!ja7Mqz%e{9!HMYo~0mg70cy1XM%U4Vs|Q$qk>0S7J$8}*YXw?be4SL_aM zIxFH9Xh1;RsP{JYOg@)OY(c^bfkZx8@B{p2lzLeT+9FfNdZiQtUb2}*?B zqLy%t6IX9^e7ww#MX*#vheuF#csZ_Op$!3G(tKt)@#|MwE_PC_`E7-f+0FT71J?i$ zWjuZirJRT1^(d)wi=s0;mp=1Rt+1Q!j_D>e6&nB7%83aHq!olDsrq{}`{vE+FMg3* zLxif}+5Zykcovc*t*O6PulV+3WS6z8TpU*{uoKJR0`OXDnddc@yMVP2GC=C8LAvgZ z#S$R#MYnF>CQkvHELdi;a&nq0(DppnE9yoi$Svo|M8S#$wh?kyzV40|k9Gjhu#|HXB+}ho zh8WmMjaB3ClFD4c&c>FGtFZsJ^DX(>U%_-Iw(pe!?nUI{zQ6KL5d|mddVOIbCXcCc zmG?e!nY{mupW-dvKN?2Yb#YifStz;>$sCM8NCjh;{qb!~Oxw?bxrQ#M!u(wO{tXCL z(HgArIWF53cd`}hi^OrQ%3fm2`(}#+2Z?qQ1+fRU9RKd!o4`33m%9pXC!)&EalWx@ zs5Jqkc+PaHPXh}XxjeYYlj=DV#`nh&*{Q+ab@pbqu38N&{8JEu5=TE$JbC0&y*_dh z(iZ}^@{hmEdK^hqGxz)Bj+)^R+^os=skQu3a#9&r-TV}4a#pVFm0n&h>|;Eb=*-|< zAEnNLX(5Z9y!8Cs)So?rT8~;pJW#Hp+V;47yz!iA)5wz#8-l*xT|NnHsn@T{$G-yt<>- zvWGue{n-)zPuQIsQ((J#NnOdt;<%X^H}XC0;>T%E0V+96=v(IpB36nD_y==275|pU z{Z-WAMr?HJ05qx#*kF>Wp(oTG0xuUPQn*e@gpSYWEHzvsPG7-T)EB!4~z z9*<$Lz|F%=zJqfht)Z2b)$7SQmvLviiYvaJi-Dn|uUt3UTD{zB#5S^50!mx0if5tE zDBY5EMd0fBGK@f^1H$_DhdaEH(sftmKJ2fEyJ!Ue&g|l*rKJT7g_jQQB31ho+=$K_Kf&){_f zb%(Kb$Y!Yh@Hula5LXrlxtQ_P`r$)Ik9IulT16t~^L_k<+1h5*A^g0E zVF;+n$;l+j0pyHaw}G7)>p=?>nFbm50c;9A9bvo?B7`5JJKJHJWJAP>bB*G@k~>yM z&CSh;co9Yhn(JUv%3z*|=hxgE4Nqs}4dAVpN)&>^5S9>5eG5om=DO0BgTPiteda(7 zxQwVWibkOc4toL)lTl5Gv(;Y$D+{g?;a%hAQ!2P{=(na}J5TaW%%sA#@b#4k8k1?m zibFw+I)o2`7yzB@FkH9mQ9Do_qC{^4bBaO%)j04GoDj%A^;o`XD0(sMUKE;BFoPueuvDWISE3y1H5iD}Wj8wrj6}F6Z+KOR$s@*kS?>n|=KJflD3G zEaC+Ufxai??_j@!q=3V$Mp9prDivCXR-a=4Cz&fgj*X?`O5#mrPYxd8y!PI?nb0=? z2Z)Oj@?a(Gh5jF0MQ;8>?EhmET(-wa3Zid>*R&Z1`Bt$1RU)n9D72=CR2>gLx;Byj zSQf*>C1F9*?953((ZcGF(RLOR7&kL?H_^Nf5Lg6ZP*EKMaUcy2EEc9%jWR9&`YfgB zq^m3^mc$4q3$_0ks=AC$@9&_NL>p0)ik|&;T6@l&qT7l7uZnId}Ii-_D&I5FYp^?gGasc@Zx4 z59z_kbOv-maYhY5F5|yHD17mjEn7_A9L5v)@@2b z)9u*zXrmw8gXe#I(8LcIu3G$F|F?j-lOF8?@y}An$`Yge(v&i40z#>hBnOe(zKrhQ zGc()7_ik8yow3b6xX@zD`n&VopSxrYhooC+gRd0tQslnBaU}1_HhG2G00q{Nh5wJH z?*PZ@fB$b#kqTMK$_mLQWR&bp5|W*eN;HrWLiS3Om6ec0WK?96m6ZzFBuPfH{a@$v z{r|43uIn?a=Q-!R&wamUz`}W&HX&+4LF&Ebwf-Yeep|$N)x0r(OS84LPqN?CAtuHj zUVfigN!r$@6QvDUt0x<3_7vV==TYrk1N>0~?8;-A7Z*UL~t5fs5 zbM2fDsk_9pteq?Njx-rAPj$xG!o$6@LPcyZFk~h8J%7)jpyfiDbwN_nWVWt5drI=+ z**h0^{2<=H1YFO{C^s?bFDx1pcIYuvOQVH#@DsY9Jm&*iX;~!iB%G1#p;7!xDiNNt zFwzm&Yc<-J@UmHM5av>ux!Qxe&2BtRmyXEqYt$J%l~P|{#OqkQ*G?+h*%ROQ#7oMy zA`-nm#_F%1DYeB4^!i5Xg7XK0gOgIiK6>G3B=qROx`}BFIRQs?k`)~s_;4{)Dd`WI zaH7co?~J}a4QXW@7Eo))-TZWE*J9Wm96pt+v|ca{2X)fyqX;5z(J`*<9Ew4{>AqHoCd!N8k9X#pnC;$y}Wwy znB7LBR;|-tj^bOB%I}Zgvm{JppGzu8^P&S+-1vW-^}!7^mQ@gyP`&-S^W`dCZXSBA zo#WG@$9MLA9;N^C+BaqrVKkh9v>=C*ve09;k^BLbY8TolRD`bT5GdKFJCV&e>SWz_V^P(8^w%V%^$wdkpe91o#wJ^@tYQ6 zh~E~V0j7r%J935wvKlbyqCxAv06}STQUjbK7)~1z{KdQxf+mnuCdJ?{LIHq=$iN_E zA+mRu;29tVQov6avbg4kz5WK!aq6bQSY3pf5$<|W(}WTsHI5MMAx+}BN5D#*i)Hzz z2S+d4jGXplq_(?!WihaNIpgaC`6P$x?@KIVi6;X?Lqq4}_|-{9xz3V0)m5Le7!&D< z>ee!wa#6YP#6=XGUZba-O%=0K71*{HuK<7oh>yT6gMUW_C7!cAB_avP7s+>p+ z<5GzJueI%@;>#X>8Fu~}Xr}sGEK5Qz4ybyVO5N*ermw(Na*@e9JVE0#z0;?Dvq zg7AtMmEYujBydsMGCviTipJKaszQU~o7T$QzZ+Fa;sW$P{F)nnUvBu$Ifv|q!*K-* z!tzgW0spB)AT#Q{RN3N&f-4`wQ3=l^&LPD@l*-Bd+?dZNQokVoIO?-Z;JX-ZFdwUa zRTPLLboKxmaaDl=z-9_YcH1s54Sjum)yEH}65t^N2XbDosry#&SG0gMaH>9zA{D-rg@NS5^j~UYUCdgL zeZdoc>+6+aBBBA$;wY*=V4SPNJmpCo=^QLNmLiY;3~p@LbnCsCt=8k#F1!2z`s|7ve1=P+F#^1 z)Y6vi$+AQ?7{Z?XkY@o18BzjEOoYU6d-9IJ@_NGCf#^qpJZpMoACFzkGl1K*RrO0irLK zcxrKL|63ex6>VJ}6m4}Kt{WUxfsDzOwUZJPeK@PU_U~RoA%T<>#Bu;=iC%jH4o8@( z6|!e*;^8Q~w3pCIV(2Cu6$J72vnMy3@_~o|`moap&sJN~86cHVfUA`y+3!8aLqou{ zu+l?z4rVC=k`{cfu;;%|AcYM7Jzjml?g)LBqeP6S&{w^vg)33PXSomH#)sAoQ54+0 zzhE(gB<8vM8|(#mbKmJ)EO|EG^Myhnzv8{UD1POJwO7|vF#;gZidr1NGm$hTFV6~m z#fA?KoQ3k7D^zckwGF;V&!zU(d@*g_0Pc2@Pp;B>l91VLnfps<7$UzaPaMO?gur0G8w+k^n8Zfe1dm#Ud7wS-<=Vf~siw!| z*QRvl%(woEpdX^TkVgEGrk-`V$$od*B!>IjyB8NNbuJv>>%05M_%+qm?A8WJ<=wfu zIk}=ESn+{kDaV%WD)GL3>sC~G|L{k1&9BEeIIOGxjVJJbTAlo&_*s5y^13+|#TqPO zE zF$G&k$Ob?}74}gMrvQO(67VhI%D^o8XXd*1VZ1h3Ypv#JD+%h0@MQd2o8JrajAVb- z;TssWqgmf={DDYJuI&b=2NYm5u=7ky|69v29tG(T= z3N9xOw<^oO+hpUkIx^9Etg2c`14o3;(4!025Y<&5&86|m{jWnyiae|7?;cX#B+x2E zg6JE^uLRQFF1JQOVAxBueS}NC%J$Cb50^Q#j-D#F9Wqt#EsT1}OzE3#!~cVZzfp0~ z^vRwtrj|F2YlQl$?WW06Gw%*1ItUkZSXreOH}6i7CwXjeA0Iy5aoCE0JKfyeKt&Pm zEo@K)4m~-?So&{4T)2+!fsm5IPk~yYKqBgdkOU~FR}o+4c=AQbb7w;=gh=wDBeK<) zY^HqUpVZcOD@t^V@!O3#a&o<53(uPDHlp0WQ}zwMk0UqZYwV`>4=Y^WLoZ!Z`l+sp z)Owrt9eI2qge|^e-4I+nu>kEPi14AR-K@2c+u|j4v+l$dXePv1&V!YQ&xt?>z-k0+ ztS#Yh&-^I<@?rc{vA>f>d((k>%(gaB@C3Af!86^ECu7B za`lu7ZZ%?4Vv=$uxvb5qa?z9HU4_r~d6Ud-jHHKo$&T2KTXG(K_4M4Us25hJk6WKU zvf0a-I{rN2vD{^b&)!;eDhwAN36*c%VxD;u@acQAf77m_e-x%?wzHk)tqDEU6=g1T z5TCto6}LT{QKVPrSR^u4mpS&AhKg+HgXsiqhi7eal-Ei8ZosC_~>{GTc35cOtOE{!(gd zi}K~`l<(j8Os6XdoVFaMXyM_nM$DKG< z92e{VQcgnpI39-eJ&S>0JtHN!s8-jfc;d|-pj2lkM$}#|Re1Y|_ab5A1Q6_pGm*H^ z7*)0leR_H{Rvnxvr~+uh)k;YcT2Tf^z&3>R=HWvcpvUau;;|GJOnLX}qp0@>&cQ!q z2>?#==FqmEjE7-9drG}GO5h;J8K%ISYBHUd*fZ1=RcRVdA7tHKth;S{;I4C;Bpy|i z?)`G{GG;fW-`f?u-4rkD7@1G4o4EgVYF9#QebFz+7QtgRV9CItMi8#^6pwi_;BthG z&SU0^c}+0wu~*0}KqUG;k{yKJ027xJ_HN<{g9a$YYn9hQJEiukXjaEHrajk#MqMJG zj~r2J@-<{pbl$P+<2>2UN~)X(^Y2VGXIZb?_E&gsaT_u3tR$O}-FeB~diKM0-;QeK zIB}Agx(Ev%3YG}J#21=lIw?V4Uxzq>_#Qz@^+CcAh|PvDAZLRD;(FzVL>_C|_R?>wQG{Cu91a#25V8LSE#Mfq!WS5*a0K0lY2c2) z+G#xEKQjJXG)w2{oPy{MA2vxxIx%&*o8%JF50Ctyv2>Qz(t91rcIf$G%a^%xMd4%5 zGUfN^*T0e8{f(P=`WN>%%bF%2|?lqXkzRw zzDjlhI70*gk=aII+OSpOtqZ(Rjpu2VMX4o;#KXgWs;7?~e8|ju-6})7#f5#G8!iNr z9k~WM&nbthIt^`C9BjyGJ}TP$IrY>?;j_^+d+z~yk^>g1s=T6gCMWt=kCBP(+vS(> zvIY9e*?&kyh_Ys8if_Ho{%z(q<`(wzz;U4hfm~rscBc<9e~?|W`R7@;aDRN7uJU8>`-I$h z>)%wCq{kn&HgWOo+q$i&I&Ii9f=E>3_C#^hvR~x(HDuVG#Irxgb^HAyecNiwxz&!* zxzvW4GjF@X4BsBkyG?JxWL8xE&hE{ZVKNf7p#|Z)wnxbcnzEhJXSSkZTS_Ok`rB%=bXqR4gT!vd<{KD)@X0%M28!ZcxHVDlX>e zX9qkm-z^xS^r0u#3gaxoNC=6jq{~mvpFa-|t)4%m!W$f@&3|9O>|TZ|iE z{~dNpH+1Xgj?n)}rToJdG1}#mPqU29%9ZsW3#1l*S39QX()(tV0=ss`^zBV=4!mZ* zO*xDHqBgzErq4a+BoqI2-yOKSeJ(XW8h+DvEkW!^g5NkLxOF5~S)Hq@!Q)E_tr9POc}Uiqq%p2A^4%^kb9y_Fu`eX5 z5=227f(eNXAcW(fn+Pe}i1%{OQ_p0#YObwS1g^t=FU*u)iu;J6?3U`YMj^(4s0S8@ zq;@Z0o6~7r8%cPK3<@}A;pQdmvd}*fD%S-}@y=e#>~tYfiHVx`YYI4PrIYqEhD{W1 zJo$BdEmHarc6Z;O@wd$51!O%HC%>hAX>QG5{O2S_Qs6i4 zU(@QZFnoV6gYCyZn#_*))?`@PBTubio@Ph-Du_1FE{YI8Ly`&)NP$I_uNv2YjU;lS zHWzx^t$TkDM53x7?s=_D-VQElu4i1TQG8UsvTAb8Jwr1G(hAyxx@0{iyT69yYf2>k z{OzyGQ+tBdG-NWxn*|IR1c|%<Q8(mzzR=|%2m?gGMLR~qxB#iphWApNjAqV!+rN}= z|MLFDUi-Z3NuIqTi9x^ksd`n-o2FK2mTC3la(9$xTU+0YK3h)$QhB1t=M98i3pw?*Uxyz#n7TJ&OUQ42cr~-l~ z%!LzpE)LWBcz$M)ek=PhB_(Ak8E_5DOr<9@)%9uIlM)YkNmAKRi8v`4&i z^YSvw%b$REF&7s8%U>u-51Zctb_0#g#{{0F%hT!bKFFw1*BPAKD9H z0*cnhV$Yim`yG%2Mpg)G&hK{%+L)P$IPD81*NEQ^a59Cl^%0LgY|aSv;NmxWbq_%o z!uFjR!fR}h{4c{{lUZPmU6F{y(a(;TzUA=bOJC?A(fZbgC{<2^bgUBWeL4IkD8^vI z$jH?0lAhlFy}{1$wxUsMq(`%V?hBCmJUQX=)=%f;>X)zMV>eSma(H9h)|;{jKHpnu z*}rC3D8+kI3Uq)qeiG(Bm?i40EFq;ey)$sj)O+JENSkEQ{24pgDcrE?xNZFHg`DmV z%w+xETN~@GgX{aiB$PiLOj4ptS5i??dD2KYIEm1onVAh!FLzmpV&WW^@L-FejY2r+ zC(^n=@no!2p_@tyT38U`r<}cn>^nK_!x1mmiaAI?I>LZ%bZ=a99p;hj+}s#fSL8V( zej*O>1j7e>z6lXy>)>0^qRWtBMP~Qt!|g!aALj` zOGH;+U&0&wY8vgY8}GP4#+#&#m$g@=w{F`bO>T5O#Hexxv`j`f*&sxr#r8GL0qCRA z(U5$L>XxFh&76|549g?}&WG~$O|RHB)2${7gffbEIUm;)pN_W`*S{pHXD_U4^-0h1 zlUM4M3j(CR9SqDBY%>+xvP|W||GL@Tbd&nM|I?T0>ciwQSBeXN)gLzc`}gh2#ED9` z4i`d24WpqxAuQK>v*Sx$})t;l^~`na^7??prQk zQFP>1IA<%?1n{0efr|sXpbugT{vcdf1k);u_xcSMx3Q>&LchXB_K>{+FP>hZJ1>CW zVg+=Nj+y%u7ou@mv5^vqPi0tt+SP1s@j#`z02C{lfcG#U;TMyu`1gJm*X^W0%7Lb| zAnc_DaJv%jS^OEYv{@#*v$?;WyxWAH(hV|&sEo*G&2gMBZm-4kT{GVi$J)Qq@b;oe`GE7UHj<@^ zJ)0Jqt4v6~RnucRcvQ=(bBvE$JFziCErvLx;7GQw3q61F7VYi>EDsw^Ar}A^LOh50 zIE;wIi_2WbxcNp2{}k~p;eS{k7~Eh6<#*kL-5M7atB3vtX=t;vbi|!=vV%U~KH2f( z!{002&hz|yGRRPNWG&q&tp@|U)@+cwkwLq z)sO6*kIhNvwV12TGdk31Ay?xB%LYfIx~3w##zVVCgDJ@mNKQOdC%wewubC(o6cqCe z`P{t4+1)k?t}<oIW66Y2jS-kEk7WifETr>9!HUcJ@(t)J zSHN5oRG2YvgGjPNXo?18z_L zHhf35pCP3mu^Rek&(_+=n!DWBP`M%BL;KE{z`~T=}qa zksaiwc)X2^JUhLECrHs3kR)c_X2?NHN5fA7!TlY7@G!zpfg>X3DFu!p=^1gH*Cbj{M+?o@^d5LGCj}yC;JUQo|UArd+HaD+kvmQ9w=f)E) z(>tX#w0O*E)ke~D@!xM7_k%(hcKM*j=aYc zt*Mo9)y{4Rixb8wH6eRwFZ2t>&Yiy~ZpVadcF4v5JLXMHpbf}`!4P5rd#a|g$i%^* z$#TSf0{soD)#xu_TPUaW-vNURaxHJHFVA@mR`Y77$TVelWlg!1b+(Dyi_;wXJ2u@t zcEw=K{+yAx13x3JZ87<4NGt|+J)2l!1vf_^Dq~RF4cR>z;wOe)zWvQ;@O1-NJFj`~Fc-3) z47tJ1ptgF-qYBRnQ{egU^4zsITst=|?{F)lBQ6~8@vP^inm>Nsv87#o!{gB zMwm*Q@@?%QDq5g@v?qJ)Q2YeOZ-fEW-l|NN0Mm*_YDO2n(AywN-8PqyD(LBr=x3{aq%MK-+K|9_AU(thejBR zrsSeCl4Oe_6mxf_YX_JRKJ4hQ`r z#By=8RrYk|9#Cooy^ucl@Lc4|x0xj|_Cd`wKS<}*UU16Gr{JcwKj|VbC@82=5no43 z3K0x)?m=FI1bsUo$rN7X2~Mba9D!bH4Ru%2D0!$4{W=_w5r%KG0Nu*1wwl~AMH#_6 zg6dF4Tx`+>xjt~7KBdh|0{ckp^C*K_IrDExC)r;CNlMm6PTi+DaseG`{B*!`)b5v9 zQ$_aJiABeEx$dbAZah}Vtmw74oBF!4g?{BH25%ae(-T4EDN^ z5m_3kB-m{%;c|2wD5phs*Nq#($aKbQbOFhiD}_fj-X~IpDRUjEH_)r^zN+^i$-M>9 z3ak9Dzb10e^Qn%ioHg()m>9!Jj&a-tZad!kFJHf^soXuBbhSxg;pKO;>N8)W4d2t{ z8g>cJ=hWutTXa4Dbc~k4KwZ;;)+CcDM&18(=BZo*iz)Am>ADtOIURgsKOT}BkW1A& zvd@wFKVaQaT21BKAz7hHqa&#xMAvXId?=)LPrX&C0@aQVhAKM>6`oLe>Kdx>kxj=4opHu&MRza`Q^FdbG z%);m^j|47ti1)riAp&j$fw`Uo^>x&G%s*xE0yA=S+CQnvAZXd`B6WWGQ(@zXGi0I} z`T0836>u5avonksX=pUF&7FrUcRZNfr^moDwA=a&a1=FmE~N5wO5YMdLPdDH8fUwV^!N7{&2(FX03h4?27+wu4wY500+hF_UWQllz>6OP;3aG|!2jJfc%P-B)6kDo$%yR_1w2u``8q(NlCy9q61O zFUqw^_SYUH>*k{sM|Ovu+I*#Xg~!U%3PJqdmNmOJH)pq!tsBC@ zY4M@ukX6{aK6J11Mz&QpzHaC_3$OM`K-1j>_1A-jQGK~Bu+`AP!-7t6D1oj$`@!|S zZ)L?_%9=d5-1Hxo(>2lo+jDw{B+q9@98rBU@8&-qi`V4#Lhi9XI$}7fkrLR22M}$= z&`VIenL)W|mVf8VG#vTBA%RBXHbbm15ge71V})}cx249%10N^$T#8bnGpEZS*G`U5 z{iR#>_{{0CgX0qu`g(e&fi}h~S)I7n-?+6RzZHm2bfZh_#N1en4mRUpy*26SpFfS> z-abw+gz#b!+5-=mgJiR$H2;UjAf>Gp$?Ua6ktL#%@RmMGq-5`<R3N%t35n##yuKKng6K7O%~>7lEPHX>vpKD~q&6H%>+uT8!9imyu!+*!~TyvFPQ z^sVdk)PTdFV?SM;pWTP-5Btp!1M~Aa_xz1?V9QdymVS&1cmPI9`Kwa5e=&5}(Ija% z;M;x-K`h`L(4Hy4V=j+27@HPAgzo|C1`*o~rMlCPPq@J$+vXn%IDBmgqT`m&Vqy2N zA6?0RUr&6fKvu5@>X{$EiB4Lyhk|NJ!1{Y1%Upzx{Ki8f0OYUxXPT3)|EC2AY+?;U0xDBpi{Goj|R@i~xF*yT1Jye_^RE5D|O!d@v@2aWDGQ zm21}ozye(&?y_Xr1W0{>!^l1>u;)qbg^)#chZqt@soiLsU4z{&3wu!}vMQ7ozkC@E ze;s@V(5Pr1w5j~GF_WqI*^K$S*#MGuz(ez+ONo#(6WJn~PsFCE2M6LngM2 z#b3}q0s}ZwE6)P=f!;Oq(#MCq_Oq?zZ)|S}G%f|w+ivbx+giYdYlOP@BO&C{&Kk|% z{FzS}v&yEPB>?3f!^{Kpqx1WBZ7}dKfo65_jw?zt?dRRiM?)S~?xmV-pf0YU5P!}o zh3Nb0o$eYT%hs^8w3LXG3gK5Ki)ucPTu0o!VGR*Ce*Lk0@}!-TJTP;?(Ve-DTeePG zoXcHY%0yfuj4`3eFw-%&<6rMPuR}xRN`I8nnpQvQGN=fJa>N%hlXo57)5Wr<>(HLA z;knU22mU14bvtmMHx#*APw`AUp&sj@FtDm=Va=w{;PZ9N3KH~ea%w^6rYQjae6v?!ZSk!w8IpCsv)X zO>OphuU&^7-E8b+8#_MMDZ@|VA;%6t9|Axv;KX;=o#`Eoa5l7}5(>&)m-?BLz{Vg0 z-be6zXrGo@`eF??|7sd{@#)S2_;R^+M1uwhS}uC~HsSZn{fXgn{nzLP;trQI1oobg zk$S3pTqXaU#V0=9+z)9wjj5j)C)4?Cq@$-@wk>LS@Y1+)X*6B^yViQlC?lm@9LV3wZlFfnjCXv~X0N_uig< zI`FH_2Pm1^y4KAkMnR3xInE8wl%Zj zv!jG45*uDtZn_gDU}E1k$+Lx$g}5IfekCMEf8hEG=gl@|V+>O#DaXO%_u%H+x4$Hr zWlIMH`mY@jDA}EL<%c58_FOf81%Vo?hv|kNh3sP3H5kwBcr6gFkbG*FQP|F22l0=T zcj^2ngfE{=`18R|b=cpi_EqI+`6&5QGIDHmacsPdM}`);RkwA-Q|Rbw^RQ3T5BfTZ z`7|Fs%BVrX`+^Jc`manvjas-{Y!A|f(1wV|t^3+s_{e#bZiZhxN+r@uJ>>+6WqHFW zA-*HJfiMNe;$%|we~2n$tm;Cyei{J3!V`xw?Igevg>WqqnLm&Cjh)+?xbWD4qr!=f z&xp)iqy-)+el37*yNd6eQPF*2UE|F9ulAnGd}!T$U{OoLx^Pg~?jVEs4TF!0CWlpN zC#bD1-s2n*XS%OC;N-M+ur^?pyVLBBd(6gphc&gU))kS7P6h!r$6{7_^X0WApM01) zR5A187UK&#d>qK(1CAe!SohsN{0wh26s2WU*u79RX7yS=0??5dYVDOupy$Mp2Ds{@ zFX>(wONdX11rb9axHsZNk9_39MMaY_V0E>muPglT%{wE`(oSzLy2_aKv#_$vT14M7 z$XHV1^QTCES$WZp`bWdtmsZHc?!+QDcE`Sxn+>+E*80+p?Oqgcun06&-ktwD@d9gzUzjpA)gy)cmHfG5Ss*U`YHU4Ly^yx%~R{WxrO* zau<$*jG+d*NWMbysnH*i`Imp~u6FjNGWJf;HcLsboLyWURkR{g7?#`|`l0Icf{w!^ zY}b3Uz#a!J>d8Y|MpxbZc9{8^ir$iuV`CyM0X947W}07UJk@0j>)OVrq~D^#=F%@d)iv|J z<4uoEir11$L+7*iJ|s~OC%Efx-7}K;si|)+s@3+6M3$A-|Mq4|2NSQxvAb4hdeO*Jp1sw-pVdx|_ zE-crCKH6WQ>U_mK?dD>ZeAvnY6v)^K^_^sjBidvpZZ1;qS^ncL<0{kS^=(wE&70%$ z;hSrg!a0%6r?VcV_cTUdeJg+TRFQoipO3bz1*L7c44t)Ao_uMn$e}D0En-80(9M^Xrs(?`-$_h0sYTzJq-y6L*N|*h?U$)0I`ntMoWY=iv=+qbd z4NhK{2|A9>FOb5~%!0q%o7zh797@Ji@Ri`T5OQbFh~RdA({SV5)9D6J&+~TVM&JKr z8@t0_Ge9fWV^6H}p=X=Bb;J3OM<(-8T$j4HV9kBZfDHC1(ii=cI(#@{UQ6ABu^m|NLxivF6Hv4<)OLN zz`v(66pqAMN^s|QS?RLH9cZDCd86e#a$R)4hoP-`%A$G3uUrwZpsZx+b6Mn}bxS_m z*Diefmoa;J)!yHmf{iJ5cyE&$=Z7f`vy}LlU1!L43`-Um?I^i^)4I?s3o3C7;iEHb zd4_>Kk6^H?eiU=EF}%IMt+iElR=8^VF9Cg{K;`&xEEC%>uwxiYi8-XbspNB4*BR(L@%b#kF%rt8=2ewau}!Lw9%VBxJw~c-*JTxOJs>6b zA)ci|%v74jSnHR6? za`lJza_> zI}V3_ah~sV{FS=egC&-~?B^vS@tZK)5R*7KX`(p^Cl%O3wUIoC<~Ha9S~x?R;T^Z8 zEL+sQ-<5vk3-h%~fZQ6YF?E*$5h&g@rFoEq`pS{|Cw!ehoy$0fd%Am-*>!0BWvyhR zKRHYk7|eY>7G<&A98f@M8?ltw;zH^(YbV6${L3J^+(lM}a{J||x^XnE364wt1=suW z;?&en^;MhIx;IGzCj|1(^N}->yBCv(=?AH$EAYly_dM5av@z;dN31CKrTNF7c*cJC zS6<+bTOSZPWF(&c@5WA};vA~>J#{0?92{#Ze(2HgVs+qTY3P%W3Oh<&s?S~4W^tcn zqaaf?)Q;WfsL0Udl1keBG+~)4$_^^8qj}0oyL=kb_GWDo=mhW9FOIyiX`841-;HcP}$zcdS!00!6bU_ zeIrj}$`M|gV`l=)G8J)5L^lgB{c|yl-SJp6!0d=h3^h}UL-dN_4%=IWTQovBvCs9r z4*01Dxj(FIw;S=LrTxK z-7vi)Uil?kaua44wVUb>Uj6**j+jDEiDrp7YiL-H zt+5Uy9KmI`_gyzOH*ZJgaW(eUfadWLVv9v&_Yj&zR=H@;`(l;i_4B@&YDnh=Z4C)+l+jMgcXeK5Rd#?QTKKZkA=Y%1ous_uH za(`eAlE}xzrIG+lG;Oi3-@iBJO*OeU>RI51hIh&mK7cU$Q+FwwnYUSlOnTq&J1s*h@QeZwq6`v_EA}yGy z`_aE%ckBAZDt2@Gv^&{bGr9^#!Q!HY#d~;u=MJBH1`&MoQFXT`=DMXFRl`Hr&zHY? zrAz(#I6wbGl52HWO!AhfzmJbc%+W+Kx0-y>PWPwuxu3DsiafDm6YLl@D1q;B0P%tt zvyPq~CEzvCiDQ$3l^20?|234HIB~~7p|IMvy#EhG?dF8-l=!dv`(+wax_WyF!wRqr zqt4IrUWuPYTQM40&Hg@;*m0+CQQA>@pF|#Gu1Szq=BYl`hEK<0?P%sRDzyb_o~g~| z$J_{8bUVwL963UB!*f=MofeL^|Fc?hCH7 zvfq(w#S+Q;itk%N^LX_4lO_)&@(?>S2g|)O)>1Z~a~%?J>+{8`7q;ga9)m_Pw}TAl<}Iat8n9wBhEbFIXPCsF&C*s|5FCDu zN(-3jA&o**Rc?SjMuPg|z$Vi9q6Od-$A8#*2H9=Pw26q-w`l?$6*|*y>-Z3CXshe05@PLpCB2^ z$<$iJ_^#a|Y;eTCy$p{D(v%(oQ(8b$;D0XXo6;)B>!nTfhNEiFw=0E;Bjr;g%DW%U zUP153Q_t)DlK{~{aMU2>>YzgfG_}b^uX|IHsfN7bO-V@?UO`{)M+!WMn%Yg(fc}qs z)q-L?4QI~mM4n!p>c@YODxtPF&k*2e;*DJTW@sxAip))aP**DF*L-WCQK` zS_nZYF4{PGQ2z%2S5AaV2Ca4nsNKrH;CCQUx`DTMULy$*fdxtcKtK;b_eOj+d@cg3 zfZqq*lrEbu71>X_xV(NS>VzXmTSB6<(}VHudHSW~??nqe>ZFEAbP0wrG;O-ag!#r8 z&Z!%aA2JM+ek_`&m-?uAH`Sk9T4#zwq!ksap-#JQgbPx0F-44$D?Q+%mONw0UO@6) zmF7BsI0us!`8kp^lIy40dFPO0qI~+=et%NZhvyCS&Gf1W3=l*qZlTPyw2|N<-g;kr zWk4_pO%<_9BFtAgt4r8>(*sK+Ur(ADPeMUOMKTW0UV?$g=v%SUdVT(jbp$Fq`uEOz z8rujbLlhcYd+`8^Oe1oaiD?E-vog~*e1~24%_dtD8oqEPN#smbixIge-Z}84|_3DqQ*LVIlWTz!TlR;<&=IAXcf`J@=Zq&Ed48wG${*E*4<#{IyAU}T>IM&cV2JS7b zZ^O~_w5??nCLOKiK<&Z_2bE& zYZs}`A|~r;`uni&zpo|k-@QNUU|_QnDhpEr%<>d+^{sjwKJn7p#Rl87hA4!aMZM@Q zS&B)^T79WFkQ2JNx_LS!U;n8d#l?2_H_~30c{F_&S3QS!`uTkG^yb$FOLQnmZKG6_ zft}${MTJ4Gp7m>^SH^jGDK|DXrx{3c7p%nV3$?o-yBY$J*`pL|Z_HHZQ{Pq)RPTD*)a>trVF#3zu-sg%^ zr3_aTX1vL;wl_pkFR19MwzNDAIhU=5NP!Bc#qV#$A;5rC)1L40JIyDDiVl?Nh^aJZ zvRh#1Bj9nu9!Nl5#M47Nj{Fb6$N(9MU_2t-oaih=2iNJ-RnIFpsDu8%=ADQf4)5++ zHGei1+N)}k^~fiImH?eB#Rc7OxTuS*3wW-bkM>|=i5PX3&SCzQ4Y-#A71U)KdFq{6*vU0{?U!MSHIB4E@r zoj+Y6N+Flq?o`y^q3duchT^WPvlDe5A!1)?+B4besQVDL7)CSVNJ(lG$>}MM*UIBa zG!|!P2SJ>??zP3nJ`Um(NM8%+^=zm&)6%RA2BlcA3fcer{ckO^Lam5+t8H+5Rhs|2 z!yYAM7P0r9F3*F?trBvQb&|C{)SyZ8|9GjC4Xd?uAHSI9c*17S>VcaOZ|cf z<6`G*^0(_oSEZ;6LV6z2Jg1qdL#(i2ZswLM{G=rGgzRTU@pL+ z^xt<1mO|AhvwJD6Yl;}Hkvs@ih8D!mbaYrCR8U042K);k(YX}zRXL*#`FZb0*2QzT zZFiEoo4K~=-rqUbEkOh0%1R);^6oz?JMY(U(C^19lwvjNU_6C;(xUg3V#b^0HaAk$ zGpp^?m(Jlu9U^{bsI)`!Ii+Z^4)x@ZzpG-Mm8sMgP{Z6HBCCiH53~|w@1-+ zTEce^Eoc(H)TWnEKNDgrcz+22iO|>|IK@NrVfHYax#~<;^jg!V z;8l4cwtfj}Wl^(d)m9RrPbfMagtMd`kdQ?d4Gz-p|23($mKJFgns-l8k#|+2!^_el zl+G&8{k`1PHD{v9DR4it71+b*(pNYUIC!ao-ovDV0}=T+d4?{qy)VS(d-xN&K2#cw zMw?bbUNHMlgY*-&SHM~r3_d_pN`^^y!z=rGSi@+kX;Xnwk-c8&eoBgEGLl{23VTP7 zP#@akks-Hx&NcD(cbkr4W!d>J&Tr;U(%QyszPRnl$ynpqo%Q#yZ;SeeN1|+B9!d}1 z8$%3iQw(gNMh<-(Q6@pRQ`EP)rINK0og3KEOVP;QKK&S}foKQR7!f9{Lde0)`!oW# zUzB5l25E-`PAm+STS$(a1i=%xN8Uf|_yns}8~Zm2&c4fNdwqKMhO~RDmMBMzil;=n-B(1-u8)J4hJ1jZ_eI)OD4#25%8_;NAE zFcFGtiL2k(E-V8mA>JnMmPbP9|FU3-Qv4jtyY!6^8>loyZr8Gi{6O$cARIbx=eS

        Xz=;sUw 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 z

        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 z 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 Date: Thu, 10 Sep 2026 13:52:14 +0900 Subject: [PATCH 74/83] =?UTF-8?q?refactor(ad):=20=EA=B4=91=EA=B3=A0=20?= =?UTF-8?q?=EC=A7=84=EB=8B=A8=EC=9D=84=20=EA=B3=B5=ED=86=B5=20=EB=A1=9C?= =?UTF-8?q?=EA=B1=B0=EB=A1=9C=20=EB=AA=A8=EC=9D=80=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Feature/Ad/Sources/AppStartPopupAd.swift | 27 +++++++------------ .../Feature/FeatureSharedUI/Project.swift | 1 + .../Sources/AdFitNativeAdView.swift | 15 +++-------- 3 files changed, 14 insertions(+), 29 deletions(-) diff --git a/Projects/Feature/Ad/Sources/AppStartPopupAd.swift b/Projects/Feature/Ad/Sources/AppStartPopupAd.swift index ed1393c0..7f4f0050 100644 --- a/Projects/Feature/Ad/Sources/AppStartPopupAd.swift +++ b/Projects/Feature/Ad/Sources/AppStartPopupAd.swift @@ -3,7 +3,7 @@ // Ad // -import OSLog +import PickeCoreLogger import UIKit import AdFitSDK @@ -26,11 +26,6 @@ public enum AppStartPopupAd { final class AppStartPopupAdPresenter: NSObject, SuperboardPopUpDelegate { static let shared = AppStartPopupAdPresenter() - private static let logger = Logger( - subsystem: Bundle.main.bundleIdentifier ?? "Picke", - category: "AdFit.AppTransition" - ) - private var popUp: SuperboardPopUp? private var onAdClick: () -> Void = {} @@ -39,24 +34,24 @@ final class AppStartPopupAdPresenter: NSObject, SuperboardPopUpDelegate { func presentIfNeeded(onAdClick: @escaping () -> Void = {}) { self.onAdClick = onAdClick guard popUp == nil else { - Self.logger.debug("AdFit 앱 전환 광고 건너뜀: 이미 요청 중") + PickeLogger.debug("AdFit 앱 전환 광고 건너뜀: 이미 요청 중", category: .ui) return } let adUnitId = Bundle.main.object(forInfoDictionaryKey: "ADFIT_APP_TRANSITION") as? String guard let adUnitId, !adUnitId.isEmpty else { - Self.logger.error("AdFit 앱 전환 광고 단위가 Info.plist에 설정되지 않음") + PickeLogger.error("AdFit 앱 전환 광고 단위가 Info.plist에 설정되지 않음", category: .ui) return } guard let rootViewController = Self.topViewController() else { - Self.logger.error("AdFit 앱 전환 광고를 표시할 ViewController를 찾지 못함") + PickeLogger.error("AdFit 앱 전환 광고를 표시할 ViewController를 찾지 못함", category: .ui) return } let popUp = SuperboardPopUp(adUnitId: adUnitId) popUp.delegate = self self.popUp = popUp - Self.logger.info("AdFit 앱 전환 광고 요청 시작") + PickeLogger.info("AdFit 앱 전환 광고 요청 시작", category: .ui) // present 는 로드 성공 시에만 모달을 띄운다. 실패하면 adViewDidFailToReceiveAd 만 호출된다. popUp.present(rootViewController) } @@ -64,30 +59,28 @@ final class AppStartPopupAdPresenter: NSObject, SuperboardPopUpDelegate { // MARK: SuperboardPopUpDelegate func adViewDidReceiveAd() { - Self.logger.info("AdFit 앱 전환 광고 수신 성공") + PickeLogger.info("AdFit 앱 전환 광고 수신 성공", category: .ui) } func adViewDidFailToReceiveAd(error: Error) { - Self.logger.error( - "AdFit 앱 전환 광고 수신 실패: \(error.localizedDescription, privacy: .public)" - ) + PickeLogger.error("AdFit 앱 전환 광고 수신 실패: \(error.localizedDescription)", category: .ui) popUp = nil } func adViewDidClickAd() { - Self.logger.info("AdFit 앱 전환 광고 클릭") + PickeLogger.info("AdFit 앱 전환 광고 클릭", category: .ui) onAdClick() } func adViewControllerClickClose() { - Self.logger.info("AdFit 앱 전환 광고 닫기") + PickeLogger.info("AdFit 앱 전환 광고 닫기", category: .ui) popUp = nil } /// 현재 정책에서는 "오늘 그만 보기"도 일반 닫기와 동일하게 처리한다. func adViewControllerClickHideForToday() { UserDefaults.standard.removeObject(forKey: "adfit.appTransition.hideUntil") - Self.logger.info("AdFit 앱 전환 광고 오늘 그만 보기: 숨김 기록을 유지하지 않음") + PickeLogger.info("AdFit 앱 전환 광고 오늘 그만 보기: 숨김 기록을 유지하지 않음", category: .ui) popUp = nil } diff --git a/Projects/Feature/FeatureSharedUI/Project.swift b/Projects/Feature/FeatureSharedUI/Project.swift index 81936ac9..5288379f 100644 --- a/Projects/Feature/FeatureSharedUI/Project.swift +++ b/Projects/Feature/FeatureSharedUI/Project.swift @@ -13,6 +13,7 @@ let project = Project.makeModule( settings: .settings(), // 피처 여러 곳이 함께 쓰는 화면 조각. 피처끼리 서로의 구현을 직접 물지 않게 여기로 모은다. dependencies: [ + .core(.logger), .SPM.adFit, ] ) diff --git a/Projects/Feature/FeatureSharedUI/Sources/AdFitNativeAdView.swift b/Projects/Feature/FeatureSharedUI/Sources/AdFitNativeAdView.swift index bdc09267..41fd1230 100644 --- a/Projects/Feature/FeatureSharedUI/Sources/AdFitNativeAdView.swift +++ b/Projects/Feature/FeatureSharedUI/Sources/AdFitNativeAdView.swift @@ -3,7 +3,7 @@ // Ad // -import OSLog +import PickeCoreLogger import SwiftUI import UIKit @@ -42,11 +42,6 @@ public enum AdFitNativeAdUnit: Sendable { /// SDK 가 계산해 준 높이를 그대로 프레임에 반영하고, 광고가 없으면 SDK 가 높이 0 으로 /// 접어 주므로 실패 자리도 자연히 사라진다. public struct AdFitNativeAdView: View { - private static let logger = Logger( - subsystem: Bundle.main.bundleIdentifier ?? "Picke", - category: "AdFit.Native" - ) - private let unit: AdFitNativeAdUnit private let insets: EdgeInsets private let onAdClick: () -> Void @@ -86,15 +81,11 @@ public struct AdFitNativeAdView: View { loaded: $loaded, failed: $failed, onReceive: { - Self.logger.info( - "AdFit 네이티브 광고 수신 성공: \(unit.infoPlistKey, privacy: .public)" - ) + PickeLogger.info("AdFit 네이티브 광고 수신 성공: \(unit.infoPlistKey)", category: .ui) }, onFailure: { error in let nsError = error as NSError - Self.logger.error( - "AdFit 네이티브 광고 수신 실패: \(unit.infoPlistKey, privacy: .public), domain=\(nsError.domain, privacy: .public), code=\(nsError.code), \(error.localizedDescription, privacy: .public)" - ) + PickeLogger.error("AdFit 네이티브 광고 수신 실패: \(unit.infoPlistKey), domain=\(nsError.domain), code=\(nsError.code), \(error.localizedDescription)", category: .ui) }, onClick: onAdClick ) From ce24d37f69bd20a948440acddf4a5d7e545b6b98 Mon Sep 17 00:00:00 2001 From: Roy Date: Thu, 10 Sep 2026 13:52:14 +0900 Subject: [PATCH 75/83] =?UTF-8?q?fix(build):=20=EC=95=B1=20=EC=86=8C?= =?UTF-8?q?=EC=8A=A4=20=EC=A7=80=EC=A0=95=EA=B3=BC=20=ED=8F=B0=ED=8A=B8=20?= =?UTF-8?q?=EB=93=B1=EB=A1=9D=20=EB=B0=A9=EC=8B=9D=EC=9D=84=20=EC=9D=BC?= =?UTF-8?q?=EC=B9=98=EC=8B=9C=ED=82=A8=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Project+Templete/Project+App.swift | 5 +++-- .../infoPlist/Project+InfoPlist.swift | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/Project+App.swift b/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/Project+App.swift index 681b8035..127b7f7b 100644 --- a/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/Project+App.swift +++ b/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/Project+App.swift @@ -48,7 +48,7 @@ extension Project { settings: ProjectDescription.Settings, scripts: [ProjectDescription.TargetScript] = [], dependencies: [ProjectDescription.TargetDependency] = [], - sources _: ProjectDescription.SourceFilesList = ["Sources/**"], + sources: ProjectDescription.SourceFilesList = ["Sources/**"], resources: ProjectDescription.ResourceFileElements? = nil, infoPlist: ProjectDescription.InfoPlist = .default, entitlements: ProjectDescription.Entitlements? = nil, @@ -62,7 +62,8 @@ extension Project { bundleId: bundleId, deploymentTargets: deploymentTarget, infoPlist: infoPlist, - buildableFolders: resources != nil ? ["Sources", "Resources"] : ["Sources"], + sources: sources, + buildableFolders: resources != nil ? ["Resources"] : [], entitlements: entitlements, scripts: scripts, dependencies: dependencies, diff --git a/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/infoPlist/Project+InfoPlist.swift b/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/infoPlist/Project+InfoPlist.swift index 472e597e..4c120ac2 100644 --- a/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/infoPlist/Project+InfoPlist.swift +++ b/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/infoPlist/Project+InfoPlist.swift @@ -27,7 +27,6 @@ public extension InfoPlist { .setAppUseExemptEncryption(value: false) .setCFBundleVersion(.appBuildVersion()) .setLSRequiresIPhoneOS(true) - .setUIAppFonts(["PretendardVariable.ttf"]) .setUIApplicationSceneManifest([ "UIApplicationSupportsMultipleScenes": true, "UISceneConfigurations": [ From 33153e3b8b7063f71fc0a300fd6645fe00725a81 Mon Sep 17 00:00:00 2001 From: Roy Date: Thu, 10 Sep 2026 13:52:15 +0900 Subject: [PATCH 76/83] =?UTF-8?q?chore(release):=20=EB=8B=A4=EC=9D=8C=20?= =?UTF-8?q?=EB=B0=B0=ED=8F=AC=20=EB=B2=84=EC=A0=84=EC=9D=84=201.0.8?= =?UTF-8?q?=EB=A1=9C=20=EC=A4=80=EB=B9=84=ED=95=9C=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Project+Templete/Extension+String.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/Extension+String.swift b/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/Extension+String.swift index 36668e33..e01c4555 100644 --- a/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/Extension+String.swift +++ b/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/Extension+String.swift @@ -9,7 +9,7 @@ import Foundation import ProjectDescription public extension String { - static func appVersion(version: String = "1.0.7") -> String { + static func appVersion(version: String = "1.0.8") -> String { return version } From f690d163c574c93dda0a1587a9ec47cbc40c961f Mon Sep 17 00:00:00 2001 From: Roy Date: Thu, 10 Sep 2026 15:29:32 +0900 Subject: [PATCH 77/83] =?UTF-8?q?chore:=20=EC=B5=9C=EC=8B=A0=20TCA=20?= =?UTF-8?q?=ED=98=B8=ED=99=98=EC=84=B1=EA=B3=BC=20=EB=A1=9C=EC=BB=AC=20Tui?= =?UTF-8?q?st=20=EA=B0=9C=EB=B0=9C=20=ED=99=98=EA=B2=BD=EC=9D=84=20?= =?UTF-8?q?=EB=A7=9E=EC=B6=98=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Tests/Sources/StorageAssemblyTests.swift | 2 +- README.md | 505 +++++------------- Tuist.swift | 65 +-- Tuist/Package.resolved | 46 +- Tuist/Package.swift | 4 +- 5 files changed, 164 insertions(+), 458 deletions(-) diff --git a/Projects/Core/CoreAssembly/Tests/Sources/StorageAssemblyTests.swift b/Projects/Core/CoreAssembly/Tests/Sources/StorageAssemblyTests.swift index 16622177..d7133090 100644 --- a/Projects/Core/CoreAssembly/Tests/Sources/StorageAssemblyTests.swift +++ b/Projects/Core/CoreAssembly/Tests/Sources/StorageAssemblyTests.swift @@ -7,7 +7,7 @@ import Foundation import Testing @testable import CoreAssembly -import PickeStorage +@testable import PickeStorage import PickeStorageInterface import Dependencies diff --git a/README.md b/README.md index bd9b6602..e66f76f0 100644 --- a/README.md +++ b/README.md @@ -1,461 +1,196 @@ # Picke iOS -

        - -**가치관 충돌에서 시작하는 1:1 철학 배틀 플랫폼, Picke** +Picke는 일상의 가치관 차이를 1:1 토론, 투표, 리캡으로 이어 주는 iOS 앱입니다. ![Platform](https://img.shields.io/badge/Platform-iOS-orange.svg) -![Language](https://img.shields.io/badge/Language-Swift-FA7343.svg?logo=swift&logoColor=white) +![Swift](https://img.shields.io/badge/Swift-6-FA7343.svg?logo=swift&logoColor=white) ![iOS](https://img.shields.io/badge/iOS-17.0+-34C759.svg) -![Xcode](https://img.shields.io/badge/Xcode-16.0+-007ACC.svg) +![Tuist](https://img.shields.io/badge/Tuist-4.x-blue.svg) ![TCA](https://img.shields.io/badge/Architecture-TCA-purple.svg) -![Tuist](https://img.shields.io/badge/Modularization-Tuist-blue.svg) -![Fastlane](https://img.shields.io/badge/fastlane-00F200.svg?logo=fastlane&logoColor=white) - -[🎯 Features](#-주요-기능) | [🏗 Architecture](#-프로젝트-아키텍처) | [🚀 Quick Start](#-빠른-시작) | [🔐 OAuth Flow](#-oauth-인증-플로우) - ---- -
        +## 주요 기능 -## 📖 프로젝트 소개 +- Google, Kakao, Apple 기반 소셜 로그인 +- 오늘의 배틀, 사전 투표, 1:1 토론, 사후 투표, 리캡 공유 +- 홈 피드, 탐색, 검색, 큐레이팅 추천 +- 관점 등록, 대댓글, 좋아요, 신고 +- 마이페이지, 포인트, 무료 충전, 배틀 기록, 알림 설정 +- APNs 푸시 알림과 딥링크 라우팅 +- Mixpanel 분석, Google Mobile Ads, Sentry 오류 수집 -**Picke** 는 일상의 가치관 차이를 1:1 토론으로 풀어내는 모바일 토론·투표 플랫폼입니다. -"오늘의 배틀" 주제에 대한 사전·사후 투표, 실시간 1:1 채팅 토론, 그리고 리캡 카드까지 한 흐름으로 이어집니다. +## 기술 스택 -> 💡 **왜 만들었나?** -> SNS 의 단방향 의견 표출 대신, 짧고 명확한 1:1 토론을 통해 -> "내가 왜 그렇게 생각하는지" 를 정리하고 다른 가치관을 마주하는 경험을 제공합니다. +- Swift 6, SwiftUI, iOS 17+ +- Tuist 4 기반 멀티 모듈 +- The Composable Architecture, TCAFlow +- Dependencies, SQLiteData, Alamofire +- Firebase, Mixpanel, Google Mobile Ads, Sentry -## 🛠 Setup +의존성 버전은 고정 표로 관리하지 않습니다. 실제 기준은 [Tuist/Package.swift](Tuist/Package.swift)와 [Tuist/Package.resolved](Tuist/Package.resolved)입니다. -### AI 도구 연동 +## 프로젝트 구조 -프로젝트 규칙은 `AGENTS.md` / `CLAUDE.md` 에 정의되어 있습니다. - -```bash -ln -s AGENTS.md CLAUDE.md +```text +Projects/ +├── App/ # 앱 진입점, AppReducer, DI 조립, 리소스 +├── Feature/ # SwiftUI 화면, TCA Feature, Coordinator +├── Domain/ # Entity, Interface, UseCase, Testing +├── Service/ # API, endpoint, auth, analytics, device/audio service +├── Core/ # network, storage, logger, utility, third party bridge +└── UI/ # design kit, shared UI, animation ``` -## ✨ 주요 기능 - -### 🔐 소셜 로그인 (server-mediated OAuth) -- **Google / Kakao**: WKWebView 기반 `authorize → code 가로채기` → 백엔드 토큰 교환 -- **Apple Sign-In**: `ASAuthorizationAppleIDProvider` 네이티브 통합 -- **자동 토큰 갱신**: `AccessTokenCredential` JWT exp 디코딩 + 만료 5분 전 자동 refresh -- **401 자동 처리**: `AuthInterceptor` 가 401 감지 → refresh 시도 → 실패 시 자동 로그아웃 알림 발송 -- **USER_404 강제 로그아웃**: `SessionInvalidationPlugin` 이 응답 바디 에러코드(`USER_404`) 감지 → Keychain/세션 정리 후 로그인 전환 - -### 🥊 오늘의 배틀 -- **사전 투표 → 1:1 채팅 토론 → 사후 투표** 의 한 흐름 -- **재투표** 로 가치관이 바뀌었는지 추적 -- **리캡 카드** 자동 생성 + 공유 -- **채팅방 오디오 재생** + 로딩 실패 시 상단 floating 오류 배너(`FloatingErrorView`) - -### 💬 토론 / 관점(댓글) -- 채팅방형 1:1 음성 토론 -- 관점(=댓글) 등록·수정·삭제 + 대댓글, 좋아요, 신고 -- 투표 진영(optionId)별 관점 등록 / 진영 탭 필터 -- 본인 글 "나" 표시 + 수정·삭제 메뉴, 등록·갱신 시 스켈레톤 - -### 🧭 탐색 / 큐레이팅 / 홈 -- 큐레이팅된 홈 피드 -- **흥미 기반 배틀 추천**(큐레이팅 화면) — `GET /battles/{id}/recommendations/interesting` -- 카테고리·태그 탐색 -- 토픽 검색 - -### 👤 마이페이지 -- 프로필 카드 / 보유 포인트 + **무료 충전**(리워드 광고) -- 포인트 내역, 내 배틀 기록, 내 콘텐츠 활동(댓글/좋아요), 공지사항·이벤트 -- **나의 철학자 유형(recap)** — 배틀 5개 미만 시 잠금 화면 분기, 애니메이션 레이더 차트 + 공유 -- 배틀 주제 제안, 알림 설정 -- **회원 탈퇴** — 탈퇴 사유(복수 선택) 입력 화면 분리, 제출 시 디바이스 토큰 해제 + 세션 종료 - -### 🔔 알림 (Notification) -- **알림받기** 목록 — 카테고리 탭(전체·콘텐츠·공지사항·이벤트) + 무한 스크롤 -- 탭 시 읽음 처리 / **모두 읽음** — `GET /api/v1/notifications`, 읽음은 `PATCH .../read·/read-all` -- **미읽음 빨간점** — 저장소 없이 서버 `GET /api/v1/notifications/unread` 값으로만 구동 - - 홈·마이·탐색이 각 화면 진입 시 `/unread` 호출 → 자체 Bool 뱃지 갱신, 읽음 처리 시 즉시 제거 - -### 📲 푸시 알림 / 딥링크 (APNs) -- **APNs 다이렉트 발송** (Firebase SDK 미사용) — 권한 요청·토큰 수신 후 `POST /api/v1/devices` 등록(`platform: "IOS"`), 로그아웃/탈퇴 시 해제 -- 알림 탭 → 페이로드(`type`/`url`)를 `PickeDeeplink` 로 변환해 배틀 상세 등으로 라우팅, 콜드 스타트 대기 딥링크 처리 -- **커스텀 URL scheme** `picke://battle/55` · `picke://perspective/45?commentId=678` (`onOpenURL`) - -### ⬆️ 앱 업데이트 안내 -- 스플래시에서 **App Store(iTunes lookup) 최신 버전 비교** → 업데이트 필요 시 안내 alert -- "지금 업데이트" → App Store, "나중에" → 정상 진입 - -### 💰 무료 충전 (리워드 광고) -- **GoogleMobileAds 리워드 동영상** 시청 → 포인트 충전 (광고 유닛 ID 는 `REWARD_AD_UNIT` config 주입) -- `RewardedAdClient`(UseCase) — 로드·표시·보상 콜백을 async 로 추상화 - -### 📊 행동 분석 (Mixpanel) -- `AnalyticsUseCase` — 타입 안전 이벤트 + PICKé 핵심 이벤트 명세서 준수(이벤트 통합 전략) -- `sign_up` / `battle_step`(pre_vote·audio_end·post_vote) / `report_action` / `community_action` / `ad_revenue` + 로그인 시 `identify` - -## 🏗 프로젝트 아키텍처 - -### 🎯 Clean Architecture × Tuist 멀티 모듈 +의존성 방향은 Feature가 Domain Interface를 바라보고, 구현체 조립은 App과 Assembly 계층에서 수행하는 방식입니다. 세부 규칙은 [AGENTS.md](AGENTS.md)와 [docs/agent](docs/agent)를 기준으로 확인합니다. -``` -Picke-iOS/ -├── 📱 Projects/ -│ ├── App/ # 메인 애플리케이션 타겟 -│ │ ├── Sources/ -│ │ │ ├── Application/ # AppDelegate(APNs) / PushTokenStore / Deeplink 브리지 -│ │ │ ├── Di/ # WeaveDI 등록 (DiRegister, AppPresentationContextProvider) -│ │ │ ├── Reducer/ # TCA Root AppReducer -│ │ │ └── View/ # Root Views -│ │ └── Derived/ # Tuist 생성 plist -│ │ -│ ├── Presentation/ # 🎨 UI Layer -│ │ ├── Auth/ # 로그인 / 온보딩 / 인증 코디네이터 -│ │ ├── Battle/ # 오늘의 배틀 / 빠른 배틀 화면 모델과 메인 플로우 -│ │ ├── Chat/ # 투표 / 채팅방 / 관점·대댓글 / 큐레이팅 -│ │ ├── Hifi/ # 탐색·검색 기반 Hi-Fi 화면 -│ │ ├── Home/ # 홈 피드 / 추천 / 스켈레톤 (탭 라우팅·GNB 는 App 레이어로 이관) -│ │ ├── Notification/ # 알림받기 목록 / 카테고리 탭 / 미읽음 뱃지 -│ │ ├── Profile/ # 마이페이지 / 포인트 / 설정 / 탈퇴 / 배틀제안 / 배틀기록 / 콘텐츠활동 / 공지 / 리캡 / 무료충전 -│ │ ├── Splash/ # 스플래시 / 앱 업데이트 체크 -│ │ ├── Web/ # 약관 / 외부 링크 WebView -│ │ └── Presentation/ # 공통 프레젠테이션 유틸 -│ │ -│ ├── Domain/ # 🔥 Business Logic Layer — Presentation 처럼 feature별 마이크로 모듈 -│ │ ├── / # Auth · Battle · Comment · Home · Notification · Perspective · Profile · Search -│ │ │ ├── Interface/ # DomainInterface: Entity + Repository/UseCase 프로토콜 + DI 키 -│ │ │ ├── Sources/ # Domain: UseCase 구현 (pass-through 는 인터페이스로 소비) -│ │ │ └── Testing/ # DomainTesting: 목 -│ │ ├── Common/ # 공유 도메인 계약(BattlePerspective·CommentLikeResult·BattleTag 등) + 횡단 관심사 -│ │ └── Domain/ # 엄브렐라(@_exported) — App(DI 조립) 전용 -│ │ -│ ├── Data/ # 📡 Data Layer — feature별 마이크로 모듈 -│ │ ├── / # Auth · Battle · Comment · Home · Notification · Perspective · Profile · Search -│ │ │ └── Sources/ # Data(단일 타깃): API / Model / Service / Repository 폴더 내장 -│ │ └── Data/ # 엄브렐라(@_exported) — App(DI 조립) 전용 -│ │ # 공유 베이스(BaseResponseDTO·MoyaProvider.authorized·세션매니저)는 monolith Model/Repository 에 유지 -│ │ -│ ├── Network/ # 🌐 Network Layer -│ │ ├── Networking/ # 네트워크 클라이언트 export -│ │ ├── NetworkToken/ # TokenProviding / InMemoryTokenProvider (토큰 추상화) -│ │ ├── NetworkHeader/ # APIHeader / APIHeaderManger (HTTP 헤더 조립, NetworkToken 의존) -│ │ └── ThirdPartys/ # AsyncMoya / WeaveDI 등 SPM 재노출 -│ │ -│ └── Shared/ # 🔧 Shared Layer -│ ├── DesignSystem/ # 공통 UI / 컬러 토큰 / 이미지 / Toast / Floating 배너 / 팝업 -│ ├── Shared/ # 공유 모델·확장 -│ ├── ThirdParty/ # 써드파티 래퍼 -│ └── Utill/ # 날짜 / 숫자 / 문자열 표시 유틸리티 -│ -├── 🔧 Tuist/ -│ ├── Package.swift # SPM 의존성 정의 -│ └── ProjectDescriptionHelpers/ # 모듈 템플릿 / Plist 헬퍼 -└── 🧩 Plugins/ - ├── DependencyPlugin/ # 모듈 의존성 헬퍼 (.Data / .Domain / .Network ...) - ├── DependencyPackagePlugin/ # SPM 의존성 헬퍼 (.SPM.asyncMoya ...) - └── ProjectTemplatePlugin/ # ProjectConfig / Project.makeModule -``` +## 개발 환경 -### 🏛️ Clean Architecture Pattern +로컬 확인 기준: -```mermaid -graph TD - A["Presentation/<Feature>"] --> B["<Feature>DomainInterface (Entity + 프로토콜 + DI 키)"] - A2["<Feature>Domain (UseCase 구현)"] --> B - C["<Feature>Data (API/Model/Service/Repository)"] --> B - C --> CM["Common (공유 계약)"] - B --> CM - C --> E["Network: NetworkHeader / NetworkToken / AsyncMoya"] - G[Shared: PickeDesignKit / Utill] --> A - App["App (DI 조립)"] --> UMB["Domain·Data 엄브렐라 @_exported"] - - A -.->|.interface 만 의존| B -``` +- Xcode 26.5 +- Apple Swift 6.3.2 +- Tuist 4.154.0 -> **핵심**: Presentation·Data 는 `DomainInterface`(프로토콜·DI 키)에만 의존 → 구현 변경이 소비자를 리빌드시키지 않는다. Auth 의 OAuth 오케스트레이션도 `AuthUseCaseInterface`/`UnifiedOAuthUseCaseInterface` 로 추출해 Presentation 이 구현이 아닌 인터페이스에 의존하도록 통일했다. +Tuist 버전은 [mise.toml](mise.toml)에 고정되어 있습니다. 새 환경에서는 mise를 통해 동일 버전을 맞추는 것을 권장합니다. -### 🕸️ TuistSpider 확장 뷰 - -레이어별로 묶어 보거나(Grouped) 모든 모듈을 펼쳐 본(Expanded) 시각화입니다. (TuistSpider 결과) - -
        - -| Grouped | Expanded | -|:---:|:---:| -| | | - -
        - -### 🔄 의존성 방향 원칙 - -``` -Presentation/DomainInterface (프로토콜 + DI 키) [.interface 만 의존] - ↓ -Domain (UseCase 구현) → DomainInterface + Common - ↓ -Data (Repository/Service/Model/API) → DomainInterface + Common + Network - ↓ -공유 계약(BattlePerspective·CommentLikeResult·BattleTag 등) → Common - ↓ -Network 인프라(NetworkHeader → NetworkToken, MoyaProvider.authorized) → 브리지 경유 -``` - -> Presentation 피처 간 화면 전환 계약은 각 `Interface`(예: `HomeDelegate`·`HifiDelegate`·`ChatInterface`)에 두어, 소비자가 구현 타깃을 import 하지 않고도 라우팅한다. - -**핵심 설계 원칙** -- ✅ **Presentation** 은 Domain 의 UseCase 인터페이스에 의존합니다. -- ✅ **Domain/UseCase** 는 Repository Protocol 을 통해 외부 IO 를 호출합니다. -- ✅ **Data/Repository** 는 Domain 의 Repository Protocol 을 구현하고 Entity 를 반환합니다. -- ✅ **Data/Model** 은 DTO 와 Entity 변환을 담당합니다. -- ✅ **Data/Service** 는 endpoint / method / parameter 정의만 담당합니다. -- ✅ 모든 데이터 흐름은 **Domain 을 중심**으로 진행합니다. - -## 🔐 OAuth 인증 플로우 - -### Google / Kakao — WKWebView server-mediated OAuth - -``` -앱 - │ authorize URL (response_type=code, redirect_uri=https://picke.store/oauth/

        ) - ▼ -WKWebView (OAuthWebViewController) - │ 사용자 동의 → 구글/카카오가 redirect_uri 로 302 - │ WKNavigationDelegate.decidePolicyFor 가 picke.store/oauth/

        ?code=... 가로채기 - │ decisionHandler(.cancel) ← 401 응답 송신 차단 - ▼ -authorizationCode 추출 → dismiss - ▼ -UnifiedOAuthUseCase - │ POST /api/v1/auth/login/ - │ body: { authorizationCode, redirectUri } - ▼ -AuthRepositoryImpl - │ BaseResponseDTO 디코딩 → LoginEntity - ▼ -KeychainManager 저장 + AuthSessionManager.credential 갱신 +```bash +mise install +mise exec -- tuist version ``` -### Apple — 네이티브 Sign-In - -`ASAuthorizationAppleIDProvider` 로 받은 credential / nonce / authorizationCode 를 그대로 백엔드에 전달. - -### 토큰 자동 갱신 - -- `AccessTokenCredential` 가 access token JWT 의 `exp` 를 디코딩해 만료 시점 보관 -- `AuthInterceptor.adapt` 에서 만료 5분 전이면 `TokenRefreshManager` 가 단일화된 refresh 수행 -- 401 응답 시 `retry` 로 토큰 갱신 후 재시도, 실패 시 `NSNotification.refreshTokenExpired` 발송 + 자동 로그아웃 - -## 🛠 기술 스택 - -### Core Technologies -- **🎯 Architecture**: The Composable Architecture (TCA) -- **📦 Modularization**: Tuist 4.x (Micro Feature Architecture) -- **💉 Dependency Injection**: WeaveDI 3.4.1 -- **🔀 Navigation**: TCAFlow (커스텀) -- **⚡ Concurrency**: Swift Concurrency (async/await) - -### 📚 주요 라이브러리 - -#### 🎯 아키텍처 & 상태 관리 -- **[ComposableArchitecture](https://github.com/pointfreeco/swift-composable-architecture)** — 단방향 상태 관리 -- **[TCAFlow](https://github.com/Roy-wonji/TCAFlow.git)** ⭐️ — TCA 기반 화면 전환 / 네비게이션 (커스텀) -- **[WeaveDI](https://github.com/Roy-wonji/WeaveDI.git)** ⭐️ — 의존성 주입 컨테이너 (커스텀) - -#### 🔐 인증 & 보안 -- **AuthenticationServices** — Apple Sign-In, ASWebAuthenticationSession -- **WebKit** — WKWebView 기반 server-mediated OAuth (Google / Kakao) -- **[AppAuth-iOS](https://github.com/openid/AppAuth-iOS.git)** — OAuth 2.0 / OpenID Connect 클라이언트 (옵션) - -#### 🌐 네트워킹 -- **[AsyncMoya](https://github.com/Roy-wonji/AsyncMoya)** ⭐️ — async/await 기반 HTTP 클라이언트 (커스텀) -- **Alamofire / Moya** — AsyncMoya 의 기반 스택 - -#### 🎨 UI & UX -- **SwiftUI** — 선언형 UI -- **[SDWebImageSwiftUI](https://github.com/SDWebImage/SDWebImageSwiftUI.git)** — 비동기 이미지 로딩 / 캐싱 - -#### 🔥 백엔드 / 분석 -- **[Firebase iOS SDK](https://github.com/firebase/firebase-ios-sdk)** — Crashlytics / Messaging -- **[Mixpanel](https://github.com/mixpanel/mixpanel-swift.git)** — 행동 분석 / Session Replay -- **[Google Mobile Ads](https://github.com/googleads/swift-package-manager-google-mobile-ads)** — 광고 +## Tuist Dashboard와 캐시 -### 🛠 개발 도구 & 유틸리티 +이 저장소는 로컬 개발에서만 Tuist Dashboard 프로젝트 `picke2026/picke`와 원격 바이너리 캐시를 사용합니다. CI에서는 대시보드 연결과 캐시 업로드를 비활성화하며, 별도 CI 연동 설정은 추가하지 않습니다. -#### 📊 로깅 & 디버깅 -- **LogMacro** — 커스텀 로깅 매크로 -- **IssueReporting** — 개발 단계 이슈 추적 -- **XCTestDynamicOverlay** — 테스트 환경 오버레이 +[Tuist.swift](Tuist.swift)의 기준 설정: -#### ⚡ 성능 & 동시성 -- **Clocks** — 시간 관련 유틸리티 -- **ConcurrencyExtras** — Swift Concurrency 확장 -- **Swift 6.0** — 최신 Swift 언어 기능 +- 로컬: `fullHandle = "picke2026/picke"`, `enableCaching = true`, 기본 캐시 프로필 `.onlyExternal` +- CI: `fullHandle = nil`, `enableCaching = false`, 기본 캐시 프로필 `.none` +- 캐시 업로드: 로컬에서만 활성화, CI에서는 비활성화 +- 인증: `optionalAuthentication = true`로 설정해 로그인되지 않은 환경에서도 generate가 실패하지 않도록 유지 -#### 🔧 빌드 & 배포 -- **Tuist** — 프로젝트 생성 / 모듈 의존성 관리 -- **Swift Package Manager** — 패키지 의존성 관리 -- **fastlane + Bundler** — TestFlight / App Store 빌드·업로드 자동화 +로컬에서 Dashboard와 원격 캐시를 쓰려면 한 번 로그인하고 캐시를 준비합니다. -### 📱 지원 환경 -- **💻 Xcode**: 16.0 이상 -- **📱 iOS**: 17.0 이상 -- **⚡ Swift**: 6.0 이상 -- **🔧 Tuist**: 4.x 이상 - -## 🚀 빠른 시작 +```bash +tuist auth login +tuist setup cache +tuist cache warm --external-only +tuist generate --no-open +``` -### ✅ 필수 요구사항 -- **💻 Xcode**: 16.0 이상 -- **📱 iOS**: 17.0 이상 -- **⚡ Swift**: 6.0 이상 -- **🔧 Tuist**: 4.x 이상 +`tuist cache warm --external-only`는 외부 의존성 중심으로 캐시를 데우며, 로컬 개발자는 대시보드 원격 캐시에서 다운로드하고 필요한 캐시를 업로드할 수 있습니다. -### 🛠 설치 및 실행 +## 빠른 시작 -#### 1️⃣ 저장소 클론 ```bash -git clone https://github.com/Roy-wonji/Picke-iOS.git +git clone git@github.com:SWYP-Find/Picke-iOS.git cd Picke-iOS +mise install +./make setup +open Picke.xcworkspace ``` -#### 2️⃣ Tuist 설치 -```bash -curl -Ls https://install.tuist.io | bash -``` +`CLAUDE.md`가 필요한 도구는 `AGENTS.md`와 같은 내용을 보도록 심볼릭 링크를 만들 수 있습니다. -#### 3️⃣ Ruby / fastlane 의존성 설치 ```bash -rbenv install 3.3.9 -rbenv global 3.3.9 -bundle install +ln -s AGENTS.md CLAUDE.md ``` -#### 4️⃣ 프로젝트 빌드 / 생성 -```bash -# 전체 워크플로우 (권장) -./make build # clean → install → generate - -# 단계별 실행 -./make clean # 빌드 산출물 정리 -./make install # SPM 의존성 설치 -./make generate # Xcode 프로젝트 생성 -``` +## 주요 명령어 -#### 5️⃣ Xcode 열기 ```bash -open Picke.xcworkspace +./make setup ``` -### ⚙️ 환경 설정 - -다음 키들을 `Picke-Dev.xcconfig` / `Picke-Stage.xcconfig` / `Picke-Prod.xcconfig` 에 채워주세요. +mise 도구 설치, 캐시 설정, 의존성 설치, 프로젝트 생성을 한 번에 실행합니다. -```xcconfig -BASE_URL = picke.store -GOOGLE_CLIENT_ID = YOUR_GOOGLE_WEB_CLIENT_ID -GOOGLE_IOS_CLIENT_ID = YOUR_GOOGLE_IOS_CLIENT_ID -REVERSED_CLIENT_ID = YOUR_REVERSED_CLIENT_ID -KAKAO_REST_API_KEY = YOUR_KAKAO_REST_API_KEY +```bash +./make install ``` -### 🌐 OAuth 사전 등록 - -| Provider | redirect_uri | 비고 | -|---|---|---| -| Google | `https://picke.store/oauth/google` | Web client ID + Google Cloud Console 등록 필요 | -| Kakao | `https://picke.store/oauth/kakao` | Kakao Developers 콘솔 등록 필요 | -| Apple | (네이티브) | App Store Connect → Sign in with Apple | - -## 🛠️ 주요 명령어 +의존성 설치 후 프로젝트를 생성합니다. -### 🔄 기본 워크플로우 ```bash -./make build # 전체 빌드 프로세스 (권장) -./make generate # 프로젝트 생성만 -./make clean # 빌드 산출물 정리 -./make install # 의존성 설치 +./make generate ``` -### 🚨 문제 해결 +Tuist 프로젝트를 생성합니다. 내부적으로 `tuist generate --no-open`을 실행합니다. + ```bash -tuist clean # Tuist 캐시 정리 -./make clean # 모든 빌드 파일 정리 +./make build ``` -### 🔍 코드 품질 / 그래프 +`clean`, `install`, `generate`를 순서대로 실행하는 전체 워크플로우입니다. + ```bash -tuist graph # 의존성 그래프 생성 -tuist test # 전체 테스트 실행 +./make test ``` -### 🚀 배포 +전체 테스트를 실행합니다. + ```bash -export MATCH_KEYCHAIN_PASSWORD="" -bundle exec fastlane ios QA # TestFlight 업로드 -bundle exec fastlane ios release # App Store 배포 +make test ``` -`MATCH_KEYCHAIN_PASSWORD`가 설정되어 있으면 fastlane이 `match_keychain`을 먼저 unlock해서 macOS 키체인 비밀번호 팝업을 줄입니다. +훅 호환용 명령입니다. 실제 테스트를 실행하지 않고 스킵 메시지만 출력합니다. -## 📄 라이선스 +```bash +mise exec -- tuist test +``` -이 프로젝트는 **MIT 라이선스** 하에 배포됩니다. -자세한 내용은 [LICENSE](LICENSE) 파일을 참고하세요. +전체 테스트를 실행합니다. 시간이 오래 걸릴 수 있어 CI 또는 수동 검증에서 사용합니다. -## 👥 팀 & 크레딧 +```bash +tuist clean +``` -### 💻 개발팀 -- **iOS Lead Developer**: 서원지 ([@Roy-wonji](https://github.com/Roy-wonji)) +Tuist 캐시와 빌드 산출물 문제를 정리할 때 사용합니다. -### 🛠 기술 스택 -- **iOS**: - ![Swift](https://img.shields.io/badge/swift-F05138?style=for-the-badge&logo=swift&logoColor=white) - ![Xcode](https://img.shields.io/badge/xcode-147EFB?style=for-the-badge&logo=xcode&logoColor=white) - ![Fastlane](https://img.shields.io/badge/fastlane-00F200?style=for-the-badge&logo=fastlane&logoColor=white) +## 설정 -- **Server**: - ![AWS EC2](https://img.shields.io/badge/amazonec2-FF9900?style=for-the-badge&logo=amazonec2&logoColor=white) - ![AWS](https://img.shields.io/badge/amazonaws-232F3E?style=for-the-badge&logo=amazonaws&logoColor=white) - ![Swagger](https://img.shields.io/badge/swagger-85EA2D?style=for-the-badge&logo=swagger&logoColor=white) +빌드 환경별 xcconfig에 필요한 값을 채웁니다. -- **Design**: - ![Figma](https://img.shields.io/badge/figma-F24E1E?style=for-the-badge&logo=figma&logoColor=white) +```xcconfig +BASE_URL = picke.store +GOOGLE_CLIENT_ID = YOUR_GOOGLE_WEB_CLIENT_ID +GOOGLE_IOS_CLIENT_ID = YOUR_GOOGLE_IOS_CLIENT_ID +REVERSED_CLIENT_ID = YOUR_REVERSED_CLIENT_ID +KAKAO_REST_API_KEY = YOUR_KAKAO_REST_API_KEY +REWARD_AD_UNIT = YOUR_REWARD_AD_UNIT +``` -- **VCS**: - ![Git](https://img.shields.io/badge/git-F05032?style=for-the-badge&logo=git&logoColor=white) - ![GitHub](https://img.shields.io/badge/github-181717?style=for-the-badge&logo=github&logoColor=white) +OAuth redirect URI는 서버 중계 흐름을 기준으로 등록합니다. -## 🐈‍⬛ Git 브랜칭 전략 +| Provider | Redirect URI | +| --- | --- | +| Google | `https://picke.store/oauth/google` | +| Kakao | `https://picke.store/oauth/kakao` | +| Apple | Native Sign in with Apple | -### 1️⃣ Git Branching Strategy -- **main**: 프로덕션 배포용 -- **develop**: 개발 통합 브랜치 -- **feature/***: 기능별 개발 브랜치 -- **fix/***: 버그 픽스 브랜치 +## 문서 -### 📋 워크플로우 -1. **develop** 에서 **feature/** 브랜치 생성 -2. 기능 개발 → 자체 커밋 단위 SRP 분리 -3. **feature/** → **develop** Pull Request, 코드 리뷰 -4. **develop** → **main** 배포 Pull Request +- [TCA 패턴](docs/agent/tca-patterns.md) +- [SwiftUI 패턴](docs/agent/swiftui-patterns.md) +- [TCAFlow 네비게이션](docs/agent/tcaflow-navigation.md) +- [DI 가이드](docs/agent/dependency-injection.md) +- [Micro Feature 진행 현황](docs/agent/micro-feature-migration-progress.md) +- [도메인/데이터/피처 아키텍처](docs/domain-data-feature-architecture.md) -### ✍️ 커밋 메시지 -- 한국어 사용 -- 관련 GitHub 이슈 번호 매칭 (예: `#20 #2`) -- 형식: `: <요약> #` -- `feat / fix / refactor / chore / docs / test` +## 그래프 -## 📞 문의 및 지원 -- 📧 **이메일**: suhwj81@gmail.com -- 🐛 **버그 신고**: [Issues](https://github.com/Roy-wonji/Picke-iOS/issues) -- 💡 **기능 제안**: [Discussions](https://github.com/Roy-wonji/Picke-iOS/discussions) +| Grouped | Expanded | +| --- | --- | +| ![Grouped](docs/graphs/Picke-grouped-Picke.png) | ![Expanded](docs/graphs/Picke-expanded-Picke.png) | ---- +## 브랜치 전략 -

        +- `main`: 프로덕션 배포 +- `develop`: 개발 통합 +- `feature/*`: 기능 작업 +- `fix/*`: 버그 수정 -**Made with ❤️ by Picke Team** +작업 브랜치에서 검증 후 `develop`으로 Pull Request를 올립니다. -[![Star this repo](https://img.shields.io/github/stars/Roy-wonji/Picke-iOS?style=social)](https://github.com/Roy-wonji/Picke-iOS) +## 문의 -
        +- Issues: [github.com/SWYP-Find/Picke-iOS/issues](https://github.com/SWYP-Find/Picke-iOS/issues) +- Discussions: [github.com/SWYP-Find/Picke-iOS/discussions](https://github.com/SWYP-Find/Picke-iOS/discussions) diff --git a/Tuist.swift b/Tuist.swift index 444ea05a..ee01562b 100644 --- a/Tuist.swift +++ b/Tuist.swift @@ -1,43 +1,32 @@ import ProjectDescription let tuist = Tuist( - project: .tuist( - compatibleXcodeVersions: .all, - swiftVersion: .some("6.0.0"), - plugins: [ - .local(path: .relativeToRoot("Plugins/ProjectTemplatePlugin")), - .local(path: .relativeToRoot("Plugins/DependencyPackagePlugin")), - .local(path: .relativeToRoot("Plugins/DependencyPlugin")), - ], - generationOptions: .options( - // 🔒 패키지 버전 잠금 비활성화 여부 (기본 false) - // true = Package.resolved 고정 무시(최신으로 다시 풀기) - // false = 기존 잠금 유지(권장) - disablePackageVersionLocking: false, - - // ⚠️ 사이드 이펙트(스크립트 등) 경고를 어떤 타겟에 표시할지 - // .all / .selected([...]) / .none - staticSideEffectsWarningTargets: .all - - // 🆕 4.174.0+ 전용 옵션 (현재 mise.toml 의 4.154.0 에서는 미지원) - // 패키지에서 선언한 Swift 버전을 존중하고 자동으로 설정 - // defaultSwiftVersion: "6.0.0", - - // 🧰 Xcode 기본 빌드 구성(스킴 선택 기본값) - // defaultConfiguration: .debug, // 또는 .release - - // 🔐 인증이 없더라도 명령이 실패하지 않도록 허용(Cloud 기능은 건너뜀) - // optionalAuthentication: .none, - - // 📊 빌드 인사이트(메트릭 전송) 비활성화 - // buildInsightsDisabled: false, - - // 🧪 SwiftPM 샌드박스 비활성화(특수 환경 외에는 권장하지 않음) - // disableSandbox: false, - - // 🧯 워크스페이스에 "tuist generate" 스킴 포함(Xcode 내에서 재생성 버튼처럼 사용) - // includeGenerateScheme: false - ), - installOptions: .options() + // 대시보드와 캐시는 로컬 개발에서만 사용한다. + fullHandle: Environment.isCI ? nil : "picke2026/picke", + cache: .cache(upload: !Environment.isCI), + project: .tuist( + compatibleXcodeVersions: .all, + swiftVersion: .some("6.0.0"), + plugins: [ + .local(path: .relativeToRoot("Plugins/ProjectTemplatePlugin")), + .local(path: .relativeToRoot("Plugins/DependencyPackagePlugin")), + .local(path: .relativeToRoot("Plugins/DependencyPlugin")), + ], + generationOptions: .options( + // 🔒 패키지 버전 잠금 비활성화 여부 (기본 false) + // true = Package.resolved 고정 무시(최신으로 다시 풀기) + // false = 기존 잠금 유지(권장) + disablePackageVersionLocking: false, + + // ⚠️ 사이드 이펙트(스크립트 등) 경고를 어떤 타겟에 표시할지 + // .all / .selected([...]) / .none + staticSideEffectsWarningTargets: .all, + optionalAuthentication: true, + enableCaching: !Environment.isCI + ), + installOptions: .options(), + cacheOptions: .options( + profiles: .profiles(default: Environment.isCI ? .none : .onlyExternal) ) + ) ) diff --git a/Tuist/Package.resolved b/Tuist/Package.resolved index e1914cc2..94a5c230 100644 --- a/Tuist/Package.resolved +++ b/Tuist/Package.resolved @@ -1,5 +1,5 @@ { - "originHash" : "21ccc32182f1460e46791cfe3a136b86e244611037d71ba160fbbb3b301a0f67", + "originHash" : "cc7fec26a246df62a205a78bd34fbd69f42376903e6534400aaa1f795cfa7193", "pins" : [ { "identity" : "abseil-cpp-binary", @@ -172,15 +172,6 @@ "version" : "1.22.5" } }, - { - "identity" : "logmacro", - "kind" : "remoteSourceControl", - "location" : "https://github.com/Roy-wonji/LogMacro.git", - "state" : { - "revision" : "593b210346cf7145074c2d94fa4206bbc70198e0", - "version" : "1.1.1" - } - }, { "identity" : "mixpanel-ios-session-replay-package", "kind" : "remoteSourceControl", @@ -267,8 +258,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/pointfreeco/swift-case-paths", "state" : { - "revision" : "6989976265be3f8d2b5802c722f9ba168e227c71", - "version" : "1.7.2" + "revision" : "cb4cba6a8a46a86db0d37dbe09935ead6b24c91a", + "version" : "1.10.0" } }, { @@ -294,8 +285,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/pointfreeco/swift-composable-architecture", "state" : { - "revision" : "1eaa6fa2ee57ac42843283b9fd3457af408c858d", - "version" : "1.25.5" + "revision" : "377da4061db10d26337a71bb279c506bb951f50f", + "version" : "1.26.2" } }, { @@ -321,8 +312,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/pointfreeco/swift-dependencies.git", "state" : { - "revision" : "a10f9feeb214bc72b5337b6ef6d5a029360db4cc", - "version" : "1.10.0" + "revision" : "b476cc5761057d8d857de063fe7ac8daecf5c06b", + "version" : "1.17.1" } }, { @@ -400,10 +391,10 @@ { "identity" : "swift-syntax", "kind" : "remoteSourceControl", - "location" : "https://github.com/apple/swift-syntax.git", + "location" : "https://github.com/swiftlang/swift-syntax.git", "state" : { - "revision" : "0687f71944021d616d34d922343dcef086855920", - "version" : "600.0.1" + "revision" : "79e4b74a295b6eb74a8b585e3a39d29e70c1dbd1", + "version" : "603.0.2" } }, { @@ -411,17 +402,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/Roy-wonji/TCAFlow.git", "state" : { - "revision" : "f439d1478df86d2146b3472216931b63a5a9f1fb", - "version" : "1.1.3" - } - }, - { - "identity" : "weavedi", - "kind" : "remoteSourceControl", - "location" : "https://github.com/Roy-wonji/WeaveDI.git", - "state" : { - "revision" : "41881e33a1fc2b2ade7b3c1ac927e630cd984796", - "version" : "3.4.1" + "revision" : "4748aa2f56d50b0965e50575e4e332111085a91b", + "version" : "1.1.8" } }, { @@ -429,8 +411,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/pointfreeco/xctest-dynamic-overlay", "state" : { - "revision" : "4c27acf5394b645b70d8ba19dc249c0472d5f618", - "version" : "1.7.0" + "revision" : "d9308ad679143c26a30dec52daefe82f54af2b82", + "version" : "1.13.1" } } ], diff --git a/Tuist/Package.swift b/Tuist/Package.swift index dc9d1e65..3b4dd518 100644 --- a/Tuist/Package.swift +++ b/Tuist/Package.swift @@ -80,10 +80,10 @@ let package = Package( name: "TimeSpot", dependencies: [ - .package(url: "https://github.com/pointfreeco/swift-composable-architecture", exact: "1.25.5"), + .package(url: "https://github.com/pointfreeco/swift-composable-architecture", exact: "1.26.2"), .package(url: "https://github.com/pointfreeco/swift-dependencies", from: "1.6.0"), .package(url: "https://github.com/pointfreeco/sqlite-data", exact: "1.11.0"), - .package(url: "https://github.com/Roy-wonji/TCAFlow.git", exact: "1.1.3"), + .package(url: "https://github.com/Roy-wonji/TCAFlow.git", exact: "1.1.8"), .package(url: "https://github.com/google/GoogleSignIn-iOS", from: "9.1.0"), .package(url: "https://github.com/Alamofire/Alamofire.git", from: "5.10.2"), .package(url: "https://github.com/openid/AppAuth-iOS.git", from: "2.0.0"), From d7bfd8120123bc30acd8ea8412328d8a6d8cd022 Mon Sep 17 00:00:00 2001 From: Roy Date: Thu, 10 Sep 2026 16:22:43 +0900 Subject: [PATCH 78/83] =?UTF-8?q?fix:=20=EB=AA=A8=EB=93=88=20=EA=B0=9C?= =?UTF-8?q?=ED=8E=B8=20=ED=9B=84=20=ED=85=8C=EC=8A=A4=ED=8A=B8=EC=99=80=20?= =?UTF-8?q?=EB=B9=88=20=EB=A6=AC=EC=BA=A1=20=EB=8F=99=EC=9E=91=EC=9D=84=20?= =?UTF-8?q?=EC=9C=A0=EC=A7=80=ED=95=9C=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 변경 Swift 파일 포맷 검사와 diff 검사를 통과했다. 새 DerivedData에서 전체 시뮬레이터 검증을 진행 중이다. Rejected: 테스트 기대값만 제거 | 네트워크 에러와 실제 인증 인터셉터 계약을 검증한다 --- .../Sources/AppDeeplinkRoutingTests.swift | 10 +- Projects/App/Tests/Sources/SplashTests.swift | 3 +- .../Sources/AuthorizingInterceptorTests.swift | 76 +++++++++++++++ .../Sources/AttendanceRepositoryTests.swift | 12 ++- .../Tests/Sources/TestSupport.swift | 39 ++++++-- .../Tests/Sources/AuthRepositoryTests.swift | 92 +++++++++++++----- .../Sources/AuthRequestMappingTests.swift | 43 +++++---- .../Tests/Sources/TestSupport.swift | 57 +++++++++-- .../Tests/Sources/BattleRepositoryTests.swift | 47 ++++------ .../Sources/BattleRequestMappingTests.swift | 35 +++++-- .../Tests/Sources/TestSupport.swift | 39 ++++++-- .../Sources/CommentRepositoryTests.swift | 14 ++- .../Sources/CommentRequestMappingTests.swift | 26 +++-- .../Tests/Sources/TestSupport.swift | 53 +++++++++-- .../Sources/DomainAssemblyExportTests.swift | 4 +- .../Tests/Sources/HomeRepositoryTests.swift | 10 +- .../Sources/HomeRequestMappingTests.swift | 11 +-- .../Tests/Sources/TestSupport.swift | 39 ++++++-- .../Sources/NotificationRepositoryTests.swift | 34 ++++--- .../NotificationRequestMappingTests.swift | 22 ++--- .../Tests/Sources/TestSupport.swift | 53 +++++++++-- .../Sources/PerspectiveRepositoryTests.swift | 94 +++++++++++++------ .../PerspectiveRequestMappingTests.swift | 29 ++++-- .../Tests/Sources/TestSupport.swift | 53 +++++++++-- .../Repository/ProfileRepositoryImpl.swift | 60 +++++++++--- .../Sources/ProfileRepositoryTests.swift | 80 ++++++++++++---- .../Sources/ProfileRequestMappingTests.swift | 33 +++++-- .../Tests/Sources/TestSupport.swift | 53 +++++++++-- .../Tests/SearchRepositoryTests.swift | 11 ++- .../Tests/SearchRequestMappingTests.swift | 11 +-- .../SearchDomain/Tests/TestSupport.swift | 39 ++++++-- 31 files changed, 906 insertions(+), 276 deletions(-) create mode 100644 Projects/Core/PickeNetwork/Tests/Sources/AuthorizingInterceptorTests.swift diff --git a/Projects/App/Tests/Sources/AppDeeplinkRoutingTests.swift b/Projects/App/Tests/Sources/AppDeeplinkRoutingTests.swift index fbd976aa..980f9e14 100644 --- a/Projects/App/Tests/Sources/AppDeeplinkRoutingTests.swift +++ b/Projects/App/Tests/Sources/AppDeeplinkRoutingTests.swift @@ -31,8 +31,14 @@ struct AppDeeplinkRoutingTests { #expect(pending == PickeDeeplink.quickBattle.encoded) await store.send(.inner(.completeMainTabTransition)) - await store.receive(\.async.consumePendingDeeplink) - await store.receive(\.scope.mainTab.selectTab) + await store.receive { + guard case .async(.consumePendingDeeplink) = $0 else { return false } + return true + } + await store.receive { + guard case let .scope(.mainTab(.selectTab(tab))) = $0 else { return false } + return tab == AppMainTabCoordinator.Tab.quickBattle.rawValue + } guard case let .mainTab(state) = store.state else { Issue.record("메인 화면으로 전환되지 않음") return diff --git a/Projects/App/Tests/Sources/SplashTests.swift b/Projects/App/Tests/Sources/SplashTests.swift index 87aa005b..ad9c4773 100644 --- a/Projects/App/Tests/Sources/SplashTests.swift +++ b/Projects/App/Tests/Sources/SplashTests.swift @@ -8,8 +8,8 @@ import ComposableArchitecture import Testing -import PickeAnalyticsInterface import AppUpdateDomainInterface +import PickeAnalyticsInterface import PickeAuthInterface @testable import Picke @@ -43,6 +43,7 @@ private let noopAnalytics = AnalyticsUseCase( reset: {} ) +@MainActor struct SplashTests { @Test func onAppearRoutesToMainTabWhenTokensExist() async { diff --git a/Projects/Core/PickeNetwork/Tests/Sources/AuthorizingInterceptorTests.swift b/Projects/Core/PickeNetwork/Tests/Sources/AuthorizingInterceptorTests.swift new file mode 100644 index 00000000..3f73aafa --- /dev/null +++ b/Projects/Core/PickeNetwork/Tests/Sources/AuthorizingInterceptorTests.swift @@ -0,0 +1,76 @@ +// +// AuthorizingInterceptorTests.swift +// PickeNetworkTests +// + +import Foundation +import Testing + +@testable import PickeNetwork + +import Alamofire + +@Suite("AuthorizingInterceptor") +struct AuthorizingInterceptorTests { + @Test("credential 이 있으면 Authorization Bearer 헤더를 주입한다") + func automaticAuthorizationAddsBearerToken() async throws { + let interceptor = makeAuthorizingInterceptor( + credential: PickeCredential(accessToken: "access-token", refreshToken: "refresh-token") + ) + let url = try #require(URL(string: "https://picke.test/protected")) + let request = URLRequest(url: url) + + let adapted = try await interceptor.adapt(request, for: Session()) + + #expect(adapted.value(forHTTPHeaderField: APIHeader.accessToken) == "Bearer access-token") + } + + @Test("credential 이 없으면 Authorization 헤더를 주입하지 않는다") + func missingCredentialSkipsBearerToken() async throws { + let interceptor = makeAuthorizingInterceptor(credential: nil) + let url = try #require(URL(string: "https://picke.test/public")) + let request = URLRequest(url: url) + + let adapted = try await interceptor.adapt(request, for: Session()) + + #expect(adapted.value(forHTTPHeaderField: APIHeader.accessToken) == nil) + } + + private func makeAuthorizingInterceptor(credential: PickeCredential?) -> AuthorizingInterceptor { + AuthorizingInterceptor( + base: AuthenticationInterceptor( + authenticator: PickeAuthenticator(refresher: StubTokenRefresher(), store: StubCredentialStore()), + credential: credential + ) + ) + } +} + +private struct StubCredentialStore: CredentialStore { + func load() -> PickeCredential? { + nil + } + + func save(_: PickeCredential) {} + + func clear() {} +} + +private struct StubTokenRefresher: TokenRefreshing { + func refresh(_ current: PickeCredential) async throws(PickeNetworkError) -> PickeCredential { + current + } +} + +private extension AuthorizingInterceptor { + func adapt( + _ request: URLRequest, + for session: Session + ) async throws -> URLRequest { + try await withCheckedThrowingContinuation { continuation in + adapt(request, for: session) { result in + continuation.resume(with: result) + } + } + } +} diff --git a/Projects/Domain/AttendanceDomain/Tests/Sources/AttendanceRepositoryTests.swift b/Projects/Domain/AttendanceDomain/Tests/Sources/AttendanceRepositoryTests.swift index 06a7606a..767a3201 100644 --- a/Projects/Domain/AttendanceDomain/Tests/Sources/AttendanceRepositoryTests.swift +++ b/Projects/Domain/AttendanceDomain/Tests/Sources/AttendanceRepositoryTests.swift @@ -11,7 +11,7 @@ import Testing import APIEndpoint import AttendanceDomainInterface -@testable import AttendanceData +@testable import AttendanceDomain @Suite("출석체크 리포지토리") struct AttendanceRepositoryTests { @@ -85,8 +85,8 @@ struct AttendanceRepositoryTests { #expect(weekly.isStreakAlive == false) } - @Test("data 가 비어 있으면 backendError 를 던진다") - func throwsOnEmptyPayload() async { + @Test("서버 error 봉투는 네트워크 response 에러로 전파한다") + func throwsNetworkResponseErrorOnEnvelopeFailure() async { let json = """ { "statusCode": 500, "data": null, "error": { "code": "E500", "message": "서버 오류" } } """ @@ -96,7 +96,11 @@ struct AttendanceRepositoryTests { AttendanceRepositoryImpl() } - await #expect(throws: AttendanceError.backendError("서버 오류")) { + await expectNetworkResponseError( + statusCode: 500, + code: "E500", + message: "서버 오류" + ) { try await sut.checkAttendance() } } diff --git a/Projects/Domain/AttendanceDomain/Tests/Sources/TestSupport.swift b/Projects/Domain/AttendanceDomain/Tests/Sources/TestSupport.swift index a2592aed..d155e2da 100644 --- a/Projects/Domain/AttendanceDomain/Tests/Sources/TestSupport.swift +++ b/Projects/Domain/AttendanceDomain/Tests/Sources/TestSupport.swift @@ -4,6 +4,7 @@ // import Foundation +import Testing import PickeNetwork @@ -24,8 +25,8 @@ struct StubNetworkClient: PickeNetworkClient { let stubData: Data var statusCode: Int = 200 - func send( - _: R, + func send( + _: some PickeDataRequest, as _: T.Type ) async throws(PickeNetworkError) -> T { try decode(T.self) @@ -35,7 +36,7 @@ struct StubNetworkClient: PickeNetworkClient { try decode(R.Response.self) } - func sendResponse(_: R) async throws(PickeNetworkError) -> PickeHTTPResponse { + func sendResponse(_: some PickeDataRequest) async throws(PickeNetworkError) -> PickeHTTPResponse { PickeHTTPResponse(statusCode: statusCode, data: stubData) } @@ -75,8 +76,8 @@ struct StubNetworkClient: PickeNetworkClient { struct ThrowingStubNetworkClient: PickeNetworkClient { struct StubError: Error {} - func send( - _: R, + func send( + _: some PickeDataRequest, as _: T.Type ) async throws(PickeNetworkError) -> T { throw .transport(.unknown(StubError())) @@ -86,7 +87,7 @@ struct ThrowingStubNetworkClient: PickeNetworkClient { throw .transport(.unknown(StubError())) } - func sendResponse(_: R) async throws(PickeNetworkError) -> PickeHTTPResponse { + func sendResponse(_: some PickeDataRequest) async throws(PickeNetworkError) -> PickeHTTPResponse { throw .transport(.unknown(StubError())) } @@ -98,3 +99,29 @@ struct ThrowingStubNetworkClient: PickeNetworkClient { throw .transport(.unknown(StubError())) } } + +func expectNetworkResponseError( + statusCode: Int? = nil, + code: String? = nil, + message: String?, + operation: () async throws -> Void +) async { + do { + try await operation() + Issue.record("네트워크 응답 에러가 던져져야 합니다") + } catch let error as PickeNetworkError { + guard case let .response(response) = error else { + Issue.record("response 에러여야 합니다: \(error)") + return + } + if let statusCode { + #expect(response.httpStatus == statusCode) + } + if let code { + #expect(response.code == code) + } + #expect(response.message == message) + } catch { + Issue.record("예상치 못한 에러 타입: \(error)") + } +} diff --git a/Projects/Domain/AuthDomain/Tests/Sources/AuthRepositoryTests.swift b/Projects/Domain/AuthDomain/Tests/Sources/AuthRepositoryTests.swift index 1593bd15..1bfa1360 100644 --- a/Projects/Domain/AuthDomain/Tests/Sources/AuthRepositoryTests.swift +++ b/Projects/Domain/AuthDomain/Tests/Sources/AuthRepositoryTests.swift @@ -8,10 +8,11 @@ import Foundation import Dependencies import Testing -@testable import AuthData +@testable import AuthDomain import APIEndpoint import AuthDomainInterface +import PickeAuthInterface struct AuthRepositoryTests { // MARK: - login @@ -33,6 +34,7 @@ struct AuthRepositoryTests { """.utf8) let repo = withDependencies { + $0.authService = RecordingAuthService(refreshToken: "refresh-1") $0.networkClient = StubNetworkClient(stubData: fixture) } operation: { AuthRepositoryImpl() @@ -54,7 +56,7 @@ struct AuthRepositoryTests { } @Test - func login_emptyData_throwsBackendError() async throws { + func login_errorEnvelope_throwsNetworkResponseError() async throws { let fixture = Data(""" { "statusCode": 400, @@ -64,23 +66,23 @@ struct AuthRepositoryTests { """.utf8) let repo = withDependencies { + $0.authService = RecordingAuthService(refreshToken: "refresh-1") $0.networkClient = StubNetworkClient(stubData: fixture) } operation: { AuthRepositoryImpl() } - do { + await expectNetworkResponseError( + statusCode: 400, + code: "AUTH_400", + message: "로그인에 실패했습니다" + ) { _ = try await repo.login( provider: .kakao, authorizationCode: "code-kakao", redirectUri: nil, idToken: nil ) - Issue.record("로그인 실패 응답인데 에러가 던져지지 않았습니다") - } catch let error as AuthError { - #expect(error == .backendError("로그인에 실패했습니다")) - } catch { - Issue.record("예상치 못한 에러 타입: \(error)") } } @@ -100,6 +102,7 @@ struct AuthRepositoryTests { """.utf8) let repo = withDependencies { + $0.authService = RecordingAuthService(refreshToken: "refresh-1") $0.networkClient = StubNetworkClient(stubData: fixture) } operation: { AuthRepositoryImpl() @@ -112,7 +115,7 @@ struct AuthRepositoryTests { } @Test - func refresh_emptyData_throwsBackendError() async throws { + func refresh_errorEnvelope_throwsNetworkResponseError() async throws { let fixture = Data(""" { "statusCode": 400, @@ -122,36 +125,34 @@ struct AuthRepositoryTests { """.utf8) let repo = withDependencies { + $0.authService = RecordingAuthService(refreshToken: "refresh-1") $0.networkClient = StubNetworkClient(stubData: fixture) } operation: { AuthRepositoryImpl() } - do { + await expectNetworkResponseError( + statusCode: 400, + code: "AUTH_401", + message: "토큰 재발급에 실패했습니다" + ) { _ = try await repo.refresh() - Issue.record("토큰 재발급 실패 응답인데 에러가 던져지지 않았습니다") - } catch let error as AuthError { - #expect(error == .backendError("토큰 재발급에 실패했습니다")) - } catch { - Issue.record("예상치 못한 에러 타입: \(error)") } } @Test func refresh_providerThrows_rethrowsOriginalError() async throws { let repo = withDependencies { + $0.authService = RecordingAuthService(refreshToken: "refresh-1") $0.networkClient = ThrowingStubNetworkClient() } operation: { AuthRepositoryImpl() } - do { + await expectNetworkTransportError( + underlyingError: ThrowingStubNetworkClient.StubError.self + ) { _ = try await repo.refresh() - Issue.record("provider 가 에러를 던졌는데 refresh() 가 에러를 던지지 않았습니다") - } catch is ThrowingStubNetworkClient.StubError { - // AFError 도, "statusCodeError(401)" 문자열도 아니므로 원본 에러가 그대로 다시 던져져야 한다. - } catch { - Issue.record("예상치 못한 에러 타입: \(error)") } } @@ -168,6 +169,7 @@ struct AuthRepositoryTests { """.utf8) let repo = withDependencies { + $0.authService = RecordingAuthService() $0.networkClient = StubNetworkClient(stubData: fixture, statusCode: 200) } operation: { AuthRepositoryImpl() @@ -183,6 +185,7 @@ struct AuthRepositoryTests { @Test func logout_emptyBody_defaultsToLoggedOutTrue() async throws { let repo = withDependencies { + $0.authService = RecordingAuthService() $0.networkClient = StubNetworkClient(stubData: Data(), statusCode: 200) } operation: { AuthRepositoryImpl() @@ -281,13 +284,56 @@ struct AuthRepositoryTests { // MARK: - updateSessionCredential @Test - func updateSessionCredential_doesNotCrash() { + func updateSessionCredential_passesTokensToAuthService() async { + let authService = RecordingAuthService() let repo = withDependencies { + $0.authService = authService $0.networkClient = ThrowingStubNetworkClient() } operation: { AuthRepositoryImpl() } - repo.updateSessionCredential(with: AuthTokens(accessToken: "a", refreshToken: "r")) + await repo.updateSessionCredential( + with: AuthTokens(accessToken: "access-token", refreshToken: "refresh-token") + ) + + let tokens = await authService.recordedTokens() + #expect(tokens?.accessToken == "access-token") + #expect(tokens?.refreshToken == "refresh-token") + } +} + +private actor RecordingAuthService: PickeAuthInterface.AuthService { + private var accessToken: String? + private var storedRefreshToken: String? + + init(refreshToken: String? = nil) { + storedRefreshToken = refreshToken + } + + var isLoggedIn: Bool { + get async { accessToken != nil && storedRefreshToken != nil } + } + + var refreshToken: String? { + get async { storedRefreshToken } + } + + func signIn( + accessToken: String, + refreshToken: String + ) async { + self.accessToken = accessToken + storedRefreshToken = refreshToken + } + + func signOut() async { + accessToken = nil + storedRefreshToken = nil + } + + func recordedTokens() -> AuthTokens? { + guard let accessToken, let storedRefreshToken else { return nil } + return AuthTokens(accessToken: accessToken, refreshToken: storedRefreshToken) } } diff --git a/Projects/Domain/AuthDomain/Tests/Sources/AuthRequestMappingTests.swift b/Projects/Domain/AuthDomain/Tests/Sources/AuthRequestMappingTests.swift index c72d82a2..9238a8ac 100644 --- a/Projects/Domain/AuthDomain/Tests/Sources/AuthRequestMappingTests.swift +++ b/Projects/Domain/AuthDomain/Tests/Sources/AuthRequestMappingTests.swift @@ -6,18 +6,18 @@ import Foundation import Testing -@testable import AuthData +@testable import AuthDomain import API import APIEndpoint import AuthDomainInterface -import PickeNetwork +@testable import PickeNetwork struct AuthRequestMappingTests { // MARK: - login @Test - func login_kakao_urlPath_matchesAuthAPIDescriptionPlusProvider() { + func login_kakao_path_matchesAuthAPIDescriptionPlusProvider() { let body = OAuthLoginRequest( authorizationCode: "code-kakao", redirectUri: "https://picke.store/oauth/kakao", @@ -25,8 +25,8 @@ struct AuthRequestMappingTests { ) let service = AuthService.login(provider: .kakao, body: body) - #expect(service.urlPath == "\(AuthAPI.login.description)/\(SocialType.kakao.rawValue)") - #expect(service.urlPath == "login/kakao") + #expect(service.path == "\(AuthAPI.login.description)/\(SocialType.kakao.rawValue)") + #expect(service.path == "login/kakao") } @Test @@ -65,24 +65,24 @@ struct AuthRequestMappingTests { } @Test - func login_request_usesNotAccessTokenHeader() throws { + func login_request_usesNoAuthorizationPolicy() throws { let body = OAuthLoginRequest(authorizationCode: "code", redirectUri: nil, idToken: nil) let service = AuthService.login(provider: .google, body: body) let request = try service.asURLRequest() + #expect(service.authorization == .none) #expect(request.value(forHTTPHeaderField: "Content-Type") == "application/json") - #expect(request.value(forHTTPHeaderField: "accept") == "application/json") #expect(request.value(forHTTPHeaderField: "Authorization") == nil) } // MARK: - refresh @Test - func refresh_urlPath_matchesAuthAPIDescription() { + func refresh_path_matchesAuthAPIDescription() { let service = AuthService.refresh(refreshToken: "refresh-abc") - #expect(service.urlPath == AuthAPI.refresh.description) - #expect(service.urlPath == "refresh") + #expect(service.path == AuthAPI.refresh.description) + #expect(service.path == "refresh") } @Test @@ -93,23 +93,23 @@ struct AuthRequestMappingTests { #expect(service.method == .post) #expect(request.url?.path == "/api/v1/auth/refresh") #expect(request.httpBody == nil) + #expect(service.authorization == .none) #expect(request.value(forHTTPHeaderField: "X-Refresh-Token") == "refresh-abc") - #expect(request.value(forHTTPHeaderField: "Content-Type") == "application/json") #expect(request.value(forHTTPHeaderField: "Authorization") == nil) } // MARK: - withdraw @Test - func withdraw_urlPath_matchesAuthAPIDescription() { + func withdraw_path_matchesAuthAPIDescription() { let service = AuthService.withdraw(reason: "NOT_USED_OFTEN") - #expect(service.urlPath == AuthAPI.withDraw.description) - #expect(service.urlPath == "") + #expect(service.path == AuthAPI.withDraw.description) + #expect(service.path == "") } @Test - func withdraw_request_isDELETEWithJSONBodyAndBaseHeader() throws { + func withdraw_request_isDELETEWithJSONBodyAndAutomaticAuthorization() throws { let service = AuthService.withdraw(reason: "NOT_USED_OFTEN") let request = try service.asURLRequest() @@ -120,29 +120,28 @@ struct AuthRequestMappingTests { let json = try #require(JSONSerialization.jsonObject(with: httpBody) as? [String: Any]) #expect(json["reason"] as? String == "NOT_USED_OFTEN") + #expect(service.authorization == .automatic) #expect(request.value(forHTTPHeaderField: "Content-Type") == "application/json") - #expect(request.value(forHTTPHeaderField: "Authorization")?.hasPrefix("Bearer ") == true) } // MARK: - logout @Test - func logout_urlPath_matchesAuthAPIDescription() { + func logout_path_matchesAuthAPIDescription() { let service = AuthService.logout - #expect(service.urlPath == AuthAPI.logout.description) - #expect(service.urlPath == "logout") + #expect(service.path == AuthAPI.logout.description) + #expect(service.path == "logout") } @Test - func logout_request_isPOSTWithNoBodyAndBaseHeader() throws { + func logout_request_isPOSTWithNoBodyAndAutomaticAuthorization() throws { let service = AuthService.logout let request = try service.asURLRequest() #expect(service.method == .post) #expect(request.url?.path == "/api/v1/auth/logout") #expect(request.httpBody == nil) - #expect(request.value(forHTTPHeaderField: "Content-Type") == "application/json") - #expect(request.value(forHTTPHeaderField: "Authorization")?.hasPrefix("Bearer ") == true) + #expect(service.authorization == .automatic) } } diff --git a/Projects/Domain/AuthDomain/Tests/Sources/TestSupport.swift b/Projects/Domain/AuthDomain/Tests/Sources/TestSupport.swift index 15ceb8ed..549c72fe 100644 --- a/Projects/Domain/AuthDomain/Tests/Sources/TestSupport.swift +++ b/Projects/Domain/AuthDomain/Tests/Sources/TestSupport.swift @@ -4,6 +4,7 @@ // import Foundation +import Testing import PickeNetwork @@ -24,8 +25,8 @@ struct StubNetworkClient: PickeNetworkClient { let stubData: Data var statusCode: Int = 200 - func send( - _: R, + func send( + _: some PickeDataRequest, as _: T.Type ) async throws(PickeNetworkError) -> T { try decode(T.self) @@ -35,7 +36,7 @@ struct StubNetworkClient: PickeNetworkClient { try decode(R.Response.self) } - func sendResponse(_: R) async throws(PickeNetworkError) -> PickeHTTPResponse { + func sendResponse(_: some PickeDataRequest) async throws(PickeNetworkError) -> PickeHTTPResponse { PickeHTTPResponse(statusCode: statusCode, data: stubData) } @@ -75,8 +76,8 @@ struct StubNetworkClient: PickeNetworkClient { struct ThrowingStubNetworkClient: PickeNetworkClient { struct StubError: Error {} - func send( - _: R, + func send( + _: some PickeDataRequest, as _: T.Type ) async throws(PickeNetworkError) -> T { throw .transport(.unknown(StubError())) @@ -86,7 +87,7 @@ struct ThrowingStubNetworkClient: PickeNetworkClient { throw .transport(.unknown(StubError())) } - func sendResponse(_: R) async throws(PickeNetworkError) -> PickeHTTPResponse { + func sendResponse(_: some PickeDataRequest) async throws(PickeNetworkError) -> PickeHTTPResponse { throw .transport(.unknown(StubError())) } @@ -98,3 +99,47 @@ struct ThrowingStubNetworkClient: PickeNetworkClient { throw .transport(.unknown(StubError())) } } + +func expectNetworkResponseError( + statusCode: Int? = nil, + code: String? = nil, + message: String?, + operation: () async throws -> Void +) async { + do { + try await operation() + Issue.record("네트워크 응답 에러가 던져져야 합니다") + } catch let error as PickeNetworkError { + guard case let .response(response) = error else { + Issue.record("response 에러여야 합니다: \(error)") + return + } + if let statusCode { + #expect(response.httpStatus == statusCode) + } + if let code { + #expect(response.code == code) + } + #expect(response.message == message) + } catch { + Issue.record("예상치 못한 에러 타입: \(error)") + } +} + +func expectNetworkTransportError( + underlyingError _: UnderlyingError.Type, + operation: () async throws -> Void +) async { + do { + try await operation() + Issue.record("transport 에러가 던져져야 합니다") + } catch let error as PickeNetworkError { + guard case let .transport(.unknown(underlying)) = error else { + Issue.record("transport 에러여야 합니다: \(error)") + return + } + #expect(underlying is UnderlyingError) + } catch { + Issue.record("예상치 못한 에러 타입: \(error)") + } +} diff --git a/Projects/Domain/BattleDomain/Tests/Sources/BattleRepositoryTests.swift b/Projects/Domain/BattleDomain/Tests/Sources/BattleRepositoryTests.swift index d054425a..5e2e6cd8 100644 --- a/Projects/Domain/BattleDomain/Tests/Sources/BattleRepositoryTests.swift +++ b/Projects/Domain/BattleDomain/Tests/Sources/BattleRepositoryTests.swift @@ -5,7 +5,7 @@ import Testing -@testable import BattleData +@testable import BattleDomain import APIEndpoint import BattleDomainInterface @@ -73,7 +73,7 @@ struct BattleRepositoryTests { #expect(page.totalCount == 0) } - @Test func fetchTodayBattles_는_data_가_nil_이면_backendError_를_던진다() async throws { + @Test func fetchTodayBattles_는_error_봉투이면_네트워크_response_에러를_던진다() async throws { let json = """ { "statusCode": 400, "data": null, "error": {"code": "BAD_REQUEST", "message": "오늘의 배틀 조회 실패"} } """ @@ -83,15 +83,12 @@ struct BattleRepositoryTests { BattleRepositoryImpl() } - do { + await expectNetworkResponseError( + statusCode: 400, + code: "BAD_REQUEST", + message: "오늘의 배틀 조회 실패" + ) { _ = try await repo.fetchTodayBattles() - Issue.record("에러가 발생해야 한다") - } catch let error as BattleError { - guard case let .backendError(message) = error else { - Issue.record("backendError 여야 한다: \(error)") - return - } - #expect(message == "오늘의 배틀 조회 실패") } } @@ -326,7 +323,7 @@ struct BattleRepositoryTests { #expect(perspective == nil) } - @Test func createPerspective_는_data_가_nil_이면_backendError_를_던진다() async throws { + @Test func createPerspective_는_error_봉투이면_네트워크_response_에러를_던진다() async throws { let json = """ { "statusCode": 400, "data": null, "error": {"code": "BAD_REQUEST", "message": "댓글 작성 실패"} } """ @@ -336,15 +333,12 @@ struct BattleRepositoryTests { BattleRepositoryImpl() } - do { + await expectNetworkResponseError( + statusCode: 400, + code: "BAD_REQUEST", + message: "댓글 작성 실패" + ) { _ = try await repo.createPerspective(battleId: 1, content: "내용", optionId: nil) - Issue.record("에러가 발생해야 한다") - } catch let error as BattleError { - guard case let .backendError(message) = error else { - Issue.record("backendError 여야 한다: \(error)") - return - } - #expect(message == "댓글 작성 실패") } } @@ -585,7 +579,7 @@ struct BattleRepositoryTests { #expect(proposal.createdAt != nil) } - @Test func proposeBattle_는_data_가_nil_이면_backendError_를_던진다() async throws { + @Test func proposeBattle_는_error_봉투이면_네트워크_response_에러를_던진다() async throws { let json = """ { "statusCode": 400, "data": null, "error": {"code": "BAD_REQUEST", "message": "배틀 제안 실패"} } """ @@ -602,15 +596,12 @@ struct BattleRepositoryTests { description: "설명" ) - do { + await expectNetworkResponseError( + statusCode: 400, + code: "BAD_REQUEST", + message: "배틀 제안 실패" + ) { _ = try await repo.proposeBattle(draft) - Issue.record("에러가 발생해야 한다") - } catch let error as BattleError { - guard case let .backendError(message) = error else { - Issue.record("backendError 여야 한다: \(error)") - return - } - #expect(message == "배틀 제안 실패") } } } diff --git a/Projects/Domain/BattleDomain/Tests/Sources/BattleRequestMappingTests.swift b/Projects/Domain/BattleDomain/Tests/Sources/BattleRequestMappingTests.swift index dd1d38ac..984bca6d 100644 --- a/Projects/Domain/BattleDomain/Tests/Sources/BattleRequestMappingTests.swift +++ b/Projects/Domain/BattleDomain/Tests/Sources/BattleRequestMappingTests.swift @@ -5,11 +5,11 @@ import Testing -@testable import BattleData +@testable import BattleDomain import APIEndpoint import Foundation -import PickeNetwork +@testable import PickeNetwork struct BattleRequestMappingTests { // MARK: - today @@ -189,10 +189,31 @@ struct BattleRequestMappingTests { // MARK: - headers - @Test func 모든_요청은_baseHeader_를_포함한다() throws { - let request = try BattleService.today.asURLRequest() - - #expect(request.value(forHTTPHeaderField: "Content-Type") != nil) - #expect(request.value(forHTTPHeaderField: "Authorization")?.hasPrefix("Bearer") == true) + @Test func 모든_요청은_자동_인증_정책을_사용한다() { + let services: [BattleService] = [ + .today, + .detail(battleId: 42), + .preVote(battleId: 42, body: PreVoteRequest(optionId: 1)), + .postVote(battleId: 42, body: PreVoteRequest(optionId: 1)), + .scenario(battleId: 42), + .voteStats(battleId: 42), + .perspectives(battleId: 42, query: PerspectivesQueryRequest()), + .createPerspective(battleId: 42, body: CreatePerspectiveRequest(content: "내용")), + .myPerspective(battleId: 42), + .recommendations(battleId: 42), + .createProposal( + body: BattleProposalRequest( + category: "철학", + topic: "AI", + positionA: "있다", + positionB: "없다", + description: "설명" + ) + ), + ] + + for service in services { + #expect(service.authorization == .automatic) + } } } diff --git a/Projects/Domain/BattleDomain/Tests/Sources/TestSupport.swift b/Projects/Domain/BattleDomain/Tests/Sources/TestSupport.swift index dde21656..ef74bae8 100644 --- a/Projects/Domain/BattleDomain/Tests/Sources/TestSupport.swift +++ b/Projects/Domain/BattleDomain/Tests/Sources/TestSupport.swift @@ -4,6 +4,7 @@ // import Foundation +import Testing import PickeNetwork @@ -24,8 +25,8 @@ struct StubNetworkClient: PickeNetworkClient { let stubData: Data var statusCode: Int = 200 - func send( - _: R, + func send( + _: some PickeDataRequest, as _: T.Type ) async throws(PickeNetworkError) -> T { try decode(T.self) @@ -35,7 +36,7 @@ struct StubNetworkClient: PickeNetworkClient { try decode(R.Response.self) } - func sendResponse(_: R) async throws(PickeNetworkError) -> PickeHTTPResponse { + func sendResponse(_: some PickeDataRequest) async throws(PickeNetworkError) -> PickeHTTPResponse { PickeHTTPResponse(statusCode: statusCode, data: stubData) } @@ -75,8 +76,8 @@ struct StubNetworkClient: PickeNetworkClient { struct ThrowingStubNetworkClient: PickeNetworkClient { struct StubError: Error {} - func send( - _: R, + func send( + _: some PickeDataRequest, as _: T.Type ) async throws(PickeNetworkError) -> T { throw .transport(.unknown(StubError())) @@ -86,7 +87,7 @@ struct ThrowingStubNetworkClient: PickeNetworkClient { throw .transport(.unknown(StubError())) } - func sendResponse(_: R) async throws(PickeNetworkError) -> PickeHTTPResponse { + func sendResponse(_: some PickeDataRequest) async throws(PickeNetworkError) -> PickeHTTPResponse { throw .transport(.unknown(StubError())) } @@ -98,3 +99,29 @@ struct ThrowingStubNetworkClient: PickeNetworkClient { throw .transport(.unknown(StubError())) } } + +func expectNetworkResponseError( + statusCode: Int? = nil, + code: String? = nil, + message: String?, + operation: () async throws -> Void +) async { + do { + try await operation() + Issue.record("네트워크 응답 에러가 던져져야 합니다") + } catch let error as PickeNetworkError { + guard case let .response(response) = error else { + Issue.record("response 에러여야 합니다: \(error)") + return + } + if let statusCode { + #expect(response.httpStatus == statusCode) + } + if let code { + #expect(response.code == code) + } + #expect(response.message == message) + } catch { + Issue.record("예상치 못한 에러 타입: \(error)") + } +} diff --git a/Projects/Domain/CommentDomain/Tests/Sources/CommentRepositoryTests.swift b/Projects/Domain/CommentDomain/Tests/Sources/CommentRepositoryTests.swift index dc2b2768..afd73c80 100644 --- a/Projects/Domain/CommentDomain/Tests/Sources/CommentRepositoryTests.swift +++ b/Projects/Domain/CommentDomain/Tests/Sources/CommentRepositoryTests.swift @@ -8,7 +8,7 @@ import Foundation import Dependencies import Testing -@testable import CommentData +@testable import CommentDomain import APIEndpoint import CommentDomainInterface @@ -65,7 +65,7 @@ struct CommentRepositoryTests { } @Test - func likeComment_emptyData_throwsBackendErrorWithMessage() async throws { + func likeComment_errorEnvelope_throwsNetworkResponseError() async throws { let json = """ { "statusCode": 400, @@ -79,7 +79,11 @@ struct CommentRepositoryTests { CommentRepositoryImpl() } - await #expect(throws: CommentError.backendError("이미 좋아요한 댓글입니다")) { + await expectNetworkResponseError( + statusCode: 400, + code: "COMMENT_400", + message: "이미 좋아요한 댓글입니다" + ) { try await repo.likeComment(commentId: 10) } } @@ -124,7 +128,7 @@ struct CommentRepositoryTests { } @Test - func unlikeComment_emptyData_throwsBackendErrorWithDefaultMessage() async throws { + func unlikeComment_emptyData_throwsNetworkDataMissing() async throws { let json = """ { "statusCode": 500, @@ -138,7 +142,7 @@ struct CommentRepositoryTests { CommentRepositoryImpl() } - await #expect(throws: CommentError.backendError("댓글 좋아요 취소 응답이 비어 있습니다")) { + await expectNetworkDataMissing { try await repo.unlikeComment(commentId: 10) } } diff --git a/Projects/Domain/CommentDomain/Tests/Sources/CommentRequestMappingTests.swift b/Projects/Domain/CommentDomain/Tests/Sources/CommentRequestMappingTests.swift index 8e707b5b..1419dc01 100644 --- a/Projects/Domain/CommentDomain/Tests/Sources/CommentRequestMappingTests.swift +++ b/Projects/Domain/CommentDomain/Tests/Sources/CommentRequestMappingTests.swift @@ -6,26 +6,27 @@ import Foundation import Testing -@testable import CommentData +@testable import CommentDomain +import API import APIEndpoint -import PickeNetwork +@testable import PickeNetwork struct CommentRequestMappingTests { @Test - func like_urlPath_matchesCommentAPIDescription() { + func like_path_matchesCommentAPIDescription() { let service = CommentService.like(commentId: 123) - #expect(service.urlPath == CommentAPI.like(commentId: 123).description) - #expect(service.urlPath == "123/likes") + #expect(service.path == CommentAPI.like(commentId: 123).description) + #expect(service.path == "123/likes") } @Test - func unlike_urlPath_matchesCommentAPIDescription() { + func unlike_path_matchesCommentAPIDescription() { let service = CommentService.unlike(commentId: 123) - #expect(service.urlPath == CommentAPI.unlike(commentId: 123).description) - #expect(service.urlPath == "123/likes") + #expect(service.path == CommentAPI.unlike(commentId: 123).description) + #expect(service.path == "123/likes") } @Test @@ -55,11 +56,8 @@ struct CommentRequestMappingTests { } @Test - func headers_includeBaseHeaderFields() throws { - let service = CommentService.like(commentId: 123) - let request = try service.asURLRequest() - - #expect(request.value(forHTTPHeaderField: "Content-Type") == "application/json") - #expect(request.value(forHTTPHeaderField: "Authorization")?.hasPrefix("Bearer ") == true) + func allCases_useAutomaticAuthorizationPolicy() { + #expect(CommentService.like(commentId: 123).authorization == .automatic) + #expect(CommentService.unlike(commentId: 123).authorization == .automatic) } } diff --git a/Projects/Domain/CommentDomain/Tests/Sources/TestSupport.swift b/Projects/Domain/CommentDomain/Tests/Sources/TestSupport.swift index 39f64d2d..617f1c3d 100644 --- a/Projects/Domain/CommentDomain/Tests/Sources/TestSupport.swift +++ b/Projects/Domain/CommentDomain/Tests/Sources/TestSupport.swift @@ -4,6 +4,7 @@ // import Foundation +import Testing import PickeNetwork @@ -24,8 +25,8 @@ struct StubNetworkClient: PickeNetworkClient { let stubData: Data var statusCode: Int = 200 - func send( - _: R, + func send( + _: some PickeDataRequest, as _: T.Type ) async throws(PickeNetworkError) -> T { try decode(T.self) @@ -35,7 +36,7 @@ struct StubNetworkClient: PickeNetworkClient { try decode(R.Response.self) } - func sendResponse(_: R) async throws(PickeNetworkError) -> PickeHTTPResponse { + func sendResponse(_: some PickeDataRequest) async throws(PickeNetworkError) -> PickeHTTPResponse { PickeHTTPResponse(statusCode: statusCode, data: stubData) } @@ -75,8 +76,8 @@ struct StubNetworkClient: PickeNetworkClient { struct ThrowingStubNetworkClient: PickeNetworkClient { struct StubError: Error {} - func send( - _: R, + func send( + _: some PickeDataRequest, as _: T.Type ) async throws(PickeNetworkError) -> T { throw .transport(.unknown(StubError())) @@ -86,7 +87,7 @@ struct ThrowingStubNetworkClient: PickeNetworkClient { throw .transport(.unknown(StubError())) } - func sendResponse(_: R) async throws(PickeNetworkError) -> PickeHTTPResponse { + func sendResponse(_: some PickeDataRequest) async throws(PickeNetworkError) -> PickeHTTPResponse { throw .transport(.unknown(StubError())) } @@ -98,3 +99,43 @@ struct ThrowingStubNetworkClient: PickeNetworkClient { throw .transport(.unknown(StubError())) } } + +func expectNetworkResponseError( + statusCode: Int? = nil, + code: String? = nil, + message: String?, + operation: () async throws -> Void +) async { + do { + try await operation() + Issue.record("네트워크 응답 에러가 던져져야 합니다") + } catch let error as PickeNetworkError { + guard case let .response(response) = error else { + Issue.record("response 에러여야 합니다: \(error)") + return + } + if let statusCode { + #expect(response.httpStatus == statusCode) + } + if let code { + #expect(response.code == code) + } + #expect(response.message == message) + } catch { + Issue.record("예상치 못한 에러 타입: \(error)") + } +} + +func expectNetworkDataMissing(operation: () async throws -> Void) async { + do { + try await operation() + Issue.record("dataMissing 에러가 던져져야 합니다") + } catch let error as PickeNetworkError { + guard case .decoding(.dataMissing) = error else { + Issue.record("dataMissing 에러여야 합니다: \(error)") + return + } + } catch { + Issue.record("예상치 못한 에러 타입: \(error)") + } +} diff --git a/Projects/Domain/DomainAssembly/Tests/Sources/DomainAssemblyExportTests.swift b/Projects/Domain/DomainAssembly/Tests/Sources/DomainAssemblyExportTests.swift index 900e766f..c92d8e7a 100644 --- a/Projects/Domain/DomainAssembly/Tests/Sources/DomainAssemblyExportTests.swift +++ b/Projects/Domain/DomainAssembly/Tests/Sources/DomainAssemblyExportTests.swift @@ -14,9 +14,9 @@ struct DomainAssemblyExportTests { @Test func 모든_도메인_인터페이스가_엄브렐러로_보인다() { let interfaces: [Any.Type] = [ - (any AppUpdateUseCase).self, + (any AppUpdateUseCaseInterface).self, (any AttendanceInterface).self, - (any AuthUseCase).self, + (any AuthUseCaseInterface).self, (any BattleInterface).self, (any CommentInterface).self, (any HomeInterface).self, diff --git a/Projects/Domain/HomeDomain/Tests/Sources/HomeRepositoryTests.swift b/Projects/Domain/HomeDomain/Tests/Sources/HomeRepositoryTests.swift index a668e683..458c8eae 100644 --- a/Projects/Domain/HomeDomain/Tests/Sources/HomeRepositoryTests.swift +++ b/Projects/Domain/HomeDomain/Tests/Sources/HomeRepositoryTests.swift @@ -8,7 +8,7 @@ import Foundation import Dependencies import Testing -@testable import HomeData +@testable import HomeDomain import APIEndpoint import AuthDomainInterface @@ -208,7 +208,7 @@ struct HomeRepositoryTests { #expect(bundle.newBattles.isEmpty) } - @Test func fetchHome_data가_비어있으면_backendError_를_던진다() async throws { + @Test func fetchHome_error_봉투이면_네트워크_response_에러를_던진다() async throws { let data = try #require(Self.emptyDataEnvelope.data(using: .utf8)) let repository = withDependencies { $0.networkClient = StubNetworkClient(stubData: data) @@ -216,7 +216,11 @@ struct HomeRepositoryTests { HomeRepositoryImpl() } - await #expect(throws: AuthError.backendError("홈 데이터를 불러오지 못했습니다")) { + await expectNetworkResponseError( + statusCode: 500, + code: "HOME_500", + message: "홈 데이터를 불러오지 못했습니다" + ) { _ = try await repository.fetchHome() } } diff --git a/Projects/Domain/HomeDomain/Tests/Sources/HomeRequestMappingTests.swift b/Projects/Domain/HomeDomain/Tests/Sources/HomeRequestMappingTests.swift index f454e6bf..b05e83b6 100644 --- a/Projects/Domain/HomeDomain/Tests/Sources/HomeRequestMappingTests.swift +++ b/Projects/Domain/HomeDomain/Tests/Sources/HomeRequestMappingTests.swift @@ -6,10 +6,10 @@ import Foundation import Testing -@testable import HomeData +@testable import HomeDomain import APIEndpoint -import PickeNetwork +@testable import PickeNetwork struct HomeRequestMappingTests { @Test func home_요청은_GET_이며_경로가_api_v1_home_이다() throws { @@ -26,10 +26,7 @@ struct HomeRequestMappingTests { #expect(request.httpBody == nil) } - @Test func home_요청은_baseHeader_를_포함한다() throws { - let request = try HomeService.home.asURLRequest() - - #expect(request.value(forHTTPHeaderField: "Content-Type") != nil) - #expect(request.value(forHTTPHeaderField: "Authorization")?.hasPrefix("Bearer") == true) + @Test func home_요청은_자동_인증_정책을_사용한다() { + #expect(HomeService.home.authorization == .automatic) } } diff --git a/Projects/Domain/HomeDomain/Tests/Sources/TestSupport.swift b/Projects/Domain/HomeDomain/Tests/Sources/TestSupport.swift index ab0d60dd..a0f89eb2 100644 --- a/Projects/Domain/HomeDomain/Tests/Sources/TestSupport.swift +++ b/Projects/Domain/HomeDomain/Tests/Sources/TestSupport.swift @@ -4,6 +4,7 @@ // import Foundation +import Testing import PickeNetwork @@ -24,8 +25,8 @@ struct StubNetworkClient: PickeNetworkClient { let stubData: Data var statusCode: Int = 200 - func send( - _: R, + func send( + _: some PickeDataRequest, as _: T.Type ) async throws(PickeNetworkError) -> T { try decode(T.self) @@ -35,7 +36,7 @@ struct StubNetworkClient: PickeNetworkClient { try decode(R.Response.self) } - func sendResponse(_: R) async throws(PickeNetworkError) -> PickeHTTPResponse { + func sendResponse(_: some PickeDataRequest) async throws(PickeNetworkError) -> PickeHTTPResponse { PickeHTTPResponse(statusCode: statusCode, data: stubData) } @@ -75,8 +76,8 @@ struct StubNetworkClient: PickeNetworkClient { struct ThrowingStubNetworkClient: PickeNetworkClient { struct StubError: Error {} - func send( - _: R, + func send( + _: some PickeDataRequest, as _: T.Type ) async throws(PickeNetworkError) -> T { throw .transport(.unknown(StubError())) @@ -86,7 +87,7 @@ struct ThrowingStubNetworkClient: PickeNetworkClient { throw .transport(.unknown(StubError())) } - func sendResponse(_: R) async throws(PickeNetworkError) -> PickeHTTPResponse { + func sendResponse(_: some PickeDataRequest) async throws(PickeNetworkError) -> PickeHTTPResponse { throw .transport(.unknown(StubError())) } @@ -98,3 +99,29 @@ struct ThrowingStubNetworkClient: PickeNetworkClient { throw .transport(.unknown(StubError())) } } + +func expectNetworkResponseError( + statusCode: Int? = nil, + code: String? = nil, + message: String?, + operation: () async throws -> Void +) async { + do { + try await operation() + Issue.record("네트워크 응답 에러가 던져져야 합니다") + } catch let error as PickeNetworkError { + guard case let .response(response) = error else { + Issue.record("response 에러여야 합니다: \(error)") + return + } + if let statusCode { + #expect(response.httpStatus == statusCode) + } + if let code { + #expect(response.code == code) + } + #expect(response.message == message) + } catch { + Issue.record("예상치 못한 에러 타입: \(error)") + } +} diff --git a/Projects/Domain/NotificationDomain/Tests/Sources/NotificationRepositoryTests.swift b/Projects/Domain/NotificationDomain/Tests/Sources/NotificationRepositoryTests.swift index 4a62a6cd..53c9a155 100644 --- a/Projects/Domain/NotificationDomain/Tests/Sources/NotificationRepositoryTests.swift +++ b/Projects/Domain/NotificationDomain/Tests/Sources/NotificationRepositoryTests.swift @@ -8,7 +8,7 @@ import Foundation import Dependencies import Testing -@testable import NotificationData +@testable import NotificationDomain import APIEndpoint import NotificationDomainInterface @@ -84,7 +84,7 @@ struct NotificationRepositoryTests { } @Test - func fetchNotifications_withNullData_throwsBackendError() async throws { + func fetchNotifications_errorEnvelope_throwsNetworkResponseError() async throws { let json = """ { "statusCode": 200, @@ -98,7 +98,11 @@ struct NotificationRepositoryTests { NotificationRepositoryImpl() } - await #expect(throws: NotificationError.backendError("알림이 없습니다")) { + await expectNetworkResponseError( + statusCode: 200, + code: "NOT_FOUND", + message: "알림이 없습니다" + ) { try await repo.fetchNotifications(category: .all, page: 0, size: 20) } } @@ -143,7 +147,7 @@ struct NotificationRepositoryTests { } @Test - func fetchNotificationDetail_withNullData_throwsBackendError() async throws { + func fetchNotificationDetail_errorEnvelope_throwsNetworkResponseError() async throws { let json = """ { "statusCode": 200, @@ -157,7 +161,11 @@ struct NotificationRepositoryTests { NotificationRepositoryImpl() } - await #expect(throws: NotificationError.backendError("알림 상세가 없습니다")) { + await expectNetworkResponseError( + statusCode: 200, + code: "NOT_FOUND", + message: "알림 상세가 없습니다" + ) { try await repo.fetchNotificationDetail(notificationId: 5) } } @@ -195,7 +203,7 @@ struct NotificationRepositoryTests { } @Test - func hasUnreadNotifications_withNullData_defaultsToFalse() async throws { + func hasUnreadNotifications_withNullData_throwsNetworkDataMissing() async throws { let json = """ { "statusCode": 200, "data": null, "error": null } """ @@ -205,9 +213,9 @@ struct NotificationRepositoryTests { NotificationRepositoryImpl() } - let hasUnread = try await repo.hasUnreadNotifications() - - #expect(hasUnread == false) + await expectNetworkDataMissing { + _ = try await repo.hasUnreadNotifications() + } } @Test @@ -225,9 +233,9 @@ struct NotificationRepositoryTests { } @Test - func markAllAsRead_doesNotThrow_onSuccessResponse() async throws { + func markAllAsRead_returnsUnreadState_onSuccessResponse() async throws { let json = """ - { "statusCode": 200, "data": "OK", "error": null } + { "statusCode": 200, "data": { "hasUnread": false }, "error": null } """ let repo = withDependencies { $0.networkClient = StubNetworkClient(stubData: Data(json.utf8)) @@ -235,6 +243,8 @@ struct NotificationRepositoryTests { NotificationRepositoryImpl() } - try await repo.markAllAsRead() + let hasUnread = try await repo.markAllAsRead() + + #expect(hasUnread == false) } } diff --git a/Projects/Domain/NotificationDomain/Tests/Sources/NotificationRequestMappingTests.swift b/Projects/Domain/NotificationDomain/Tests/Sources/NotificationRequestMappingTests.swift index f08588b9..72e0ced4 100644 --- a/Projects/Domain/NotificationDomain/Tests/Sources/NotificationRequestMappingTests.swift +++ b/Projects/Domain/NotificationDomain/Tests/Sources/NotificationRequestMappingTests.swift @@ -6,11 +6,11 @@ import Foundation import Testing -@testable import NotificationData +@testable import NotificationDomain import API import APIEndpoint -import PickeNetwork +@testable import PickeNetwork struct NotificationRequestMappingTests { @Test @@ -20,7 +20,7 @@ struct NotificationRequestMappingTests { ) let request = try service.asURLRequest() - #expect(service.urlPath == NotificationAPI.list.description) + #expect(service.path == NotificationAPI.list.description) #expect(service.method == .get) #expect(request.url?.path == "/api/v1/notifications") #expect(request.httpBody == nil) @@ -36,7 +36,7 @@ struct NotificationRequestMappingTests { let service = NotificationService.list(query: NotificationsQueryRequest()) let request = try service.asURLRequest() - #expect(service.parameters == nil) + #expect(service.parameters != nil) #expect(request.url?.query == nil) } @@ -45,7 +45,7 @@ struct NotificationRequestMappingTests { let service = NotificationService.unread let request = try service.asURLRequest() - #expect(service.urlPath == NotificationAPI.unread.description) + #expect(service.path == NotificationAPI.unread.description) #expect(service.method == .get) #expect(request.url?.path == "/api/v1/notifications/unread") #expect(service.parameters == nil) @@ -57,7 +57,7 @@ struct NotificationRequestMappingTests { let service = NotificationService.detail(notificationId: 42) let request = try service.asURLRequest() - #expect(service.urlPath == NotificationAPI.detail(notificationId: 42).description) + #expect(service.path == NotificationAPI.detail(notificationId: 42).description) #expect(service.method == .get) #expect(request.url?.path == "/api/v1/notifications/42") #expect(service.parameters == nil) @@ -69,7 +69,7 @@ struct NotificationRequestMappingTests { let service = NotificationService.read(notificationId: 42) let request = try service.asURLRequest() - #expect(service.urlPath == NotificationAPI.read(notificationId: 42).description) + #expect(service.path == NotificationAPI.read(notificationId: 42).description) #expect(service.method == .patch) #expect(request.url?.path == "/api/v1/notifications/42/read") #expect(service.parameters == nil) @@ -81,7 +81,7 @@ struct NotificationRequestMappingTests { let service = NotificationService.readAll let request = try service.asURLRequest() - #expect(service.urlPath == NotificationAPI.readAll.description) + #expect(service.path == NotificationAPI.readAll.description) #expect(service.method == .patch) #expect(request.url?.path == "/api/v1/notifications/read-all") #expect(service.parameters == nil) @@ -89,7 +89,7 @@ struct NotificationRequestMappingTests { } @Test - func allCases_includeBaseHeaderFields() throws { + func allCases_useAutomaticAuthorizationPolicy() { let services: [NotificationService] = [ .list(query: NotificationsQueryRequest()), .unread, @@ -99,9 +99,7 @@ struct NotificationRequestMappingTests { ] for service in services { - let request = try service.asURLRequest() - #expect(request.value(forHTTPHeaderField: "Content-Type") == "application/json") - #expect(request.value(forHTTPHeaderField: "Authorization")?.hasPrefix("Bearer ") == true) + #expect(service.authorization == .automatic) } } } diff --git a/Projects/Domain/NotificationDomain/Tests/Sources/TestSupport.swift b/Projects/Domain/NotificationDomain/Tests/Sources/TestSupport.swift index c4c9e558..73a85923 100644 --- a/Projects/Domain/NotificationDomain/Tests/Sources/TestSupport.swift +++ b/Projects/Domain/NotificationDomain/Tests/Sources/TestSupport.swift @@ -4,6 +4,7 @@ // import Foundation +import Testing import PickeNetwork @@ -24,8 +25,8 @@ struct StubNetworkClient: PickeNetworkClient { let stubData: Data var statusCode: Int = 200 - func send( - _: R, + func send( + _: some PickeDataRequest, as _: T.Type ) async throws(PickeNetworkError) -> T { try decode(T.self) @@ -35,7 +36,7 @@ struct StubNetworkClient: PickeNetworkClient { try decode(R.Response.self) } - func sendResponse(_: R) async throws(PickeNetworkError) -> PickeHTTPResponse { + func sendResponse(_: some PickeDataRequest) async throws(PickeNetworkError) -> PickeHTTPResponse { PickeHTTPResponse(statusCode: statusCode, data: stubData) } @@ -75,8 +76,8 @@ struct StubNetworkClient: PickeNetworkClient { struct ThrowingStubNetworkClient: PickeNetworkClient { struct StubError: Error {} - func send( - _: R, + func send( + _: some PickeDataRequest, as _: T.Type ) async throws(PickeNetworkError) -> T { throw .transport(.unknown(StubError())) @@ -86,7 +87,7 @@ struct ThrowingStubNetworkClient: PickeNetworkClient { throw .transport(.unknown(StubError())) } - func sendResponse(_: R) async throws(PickeNetworkError) -> PickeHTTPResponse { + func sendResponse(_: some PickeDataRequest) async throws(PickeNetworkError) -> PickeHTTPResponse { throw .transport(.unknown(StubError())) } @@ -98,3 +99,43 @@ struct ThrowingStubNetworkClient: PickeNetworkClient { throw .transport(.unknown(StubError())) } } + +func expectNetworkResponseError( + statusCode: Int? = nil, + code: String? = nil, + message: String?, + operation: () async throws -> Void +) async { + do { + try await operation() + Issue.record("네트워크 응답 에러가 던져져야 합니다") + } catch let error as PickeNetworkError { + guard case let .response(response) = error else { + Issue.record("response 에러여야 합니다: \(error)") + return + } + if let statusCode { + #expect(response.httpStatus == statusCode) + } + if let code { + #expect(response.code == code) + } + #expect(response.message == message) + } catch { + Issue.record("예상치 못한 에러 타입: \(error)") + } +} + +func expectNetworkDataMissing(operation: () async throws -> Void) async { + do { + try await operation() + Issue.record("dataMissing 에러가 던져져야 합니다") + } catch let error as PickeNetworkError { + guard case .decoding(.dataMissing) = error else { + Issue.record("dataMissing 에러여야 합니다: \(error)") + return + } + } catch { + Issue.record("예상치 못한 에러 타입: \(error)") + } +} diff --git a/Projects/Domain/PerspectiveDomain/Tests/Sources/PerspectiveRepositoryTests.swift b/Projects/Domain/PerspectiveDomain/Tests/Sources/PerspectiveRepositoryTests.swift index b4fa0c5c..efec2f4b 100644 --- a/Projects/Domain/PerspectiveDomain/Tests/Sources/PerspectiveRepositoryTests.swift +++ b/Projects/Domain/PerspectiveDomain/Tests/Sources/PerspectiveRepositoryTests.swift @@ -8,7 +8,7 @@ import Foundation import Dependencies import Testing -@testable import PerspectiveData +@testable import PerspectiveDomain import APIEndpoint import CommentDomainInterface @@ -66,7 +66,7 @@ struct PerspectiveRepositoryTests { } @Test - func fetchPerspective_emptyData_throwsBackendErrorWithMessage() async throws { + func fetchPerspective_errorEnvelope_throwsNetworkResponseError() async throws { let json = """ { "statusCode": 404, @@ -80,7 +80,11 @@ struct PerspectiveRepositoryTests { PerspectiveRepositoryImpl() } - await #expect(throws: PerspectiveError.backendError("존재하지 않는 관점입니다")) { + await expectNetworkResponseError( + statusCode: 404, + code: "PERSPECTIVE_404", + message: "존재하지 않는 관점입니다" + ) { try await repo.fetchPerspective(perspectiveId: 42) } } @@ -172,7 +176,7 @@ struct PerspectiveRepositoryTests { } @Test - func fetchLabeledComments_emptyData_throwsBackendErrorWithDefaultMessage() async throws { + func fetchLabeledComments_emptyData_throwsNetworkDataMissing() async throws { let json = """ { "statusCode": 500, @@ -186,7 +190,7 @@ struct PerspectiveRepositoryTests { PerspectiveRepositoryImpl() } - await #expect(throws: CommentError.backendError("대댓글 목록 응답이 비어 있습니다")) { + await expectNetworkDataMissing { try await repo.fetchLabeledComments(perspectiveId: 42, cursor: nil, size: nil) } } @@ -231,7 +235,7 @@ struct PerspectiveRepositoryTests { } @Test - func createComment_emptyData_throwsBackendErrorWithMessage() async throws { + func createComment_errorEnvelope_throwsNetworkResponseError() async throws { let json = """ { "statusCode": 400, @@ -245,7 +249,11 @@ struct PerspectiveRepositoryTests { PerspectiveRepositoryImpl() } - await #expect(throws: CommentError.backendError("댓글 작성에 실패했습니다")) { + await expectNetworkResponseError( + statusCode: 400, + code: "COMMENT_400", + message: "댓글 작성에 실패했습니다" + ) { try await repo.createComment(perspectiveId: 42, content: "새 댓글") } } @@ -292,7 +300,7 @@ struct PerspectiveRepositoryTests { } @Test - func updateComment_emptyData_throwsBackendErrorWithMessage() async throws { + func updateComment_errorEnvelope_throwsNetworkResponseError() async throws { let json = """ { "statusCode": 400, @@ -306,7 +314,11 @@ struct PerspectiveRepositoryTests { PerspectiveRepositoryImpl() } - await #expect(throws: CommentError.backendError("댓글 수정에 실패했습니다")) { + await expectNetworkResponseError( + statusCode: 400, + code: "COMMENT_400", + message: "댓글 수정에 실패했습니다" + ) { try await repo.updateComment(perspectiveId: 42, commentId: 9, content: "수정된 댓글") } } @@ -345,7 +357,7 @@ struct PerspectiveRepositoryTests { } @Test - func deleteComment_statusCode400_throwsBackendErrorWithMessage() async throws { + func deleteComment_errorEnvelope_throwsNetworkResponseError() async throws { let json = """ { "statusCode": 400, @@ -359,7 +371,11 @@ struct PerspectiveRepositoryTests { PerspectiveRepositoryImpl() } - await #expect(throws: CommentError.backendError("댓글 삭제에 실패했습니다")) { + await expectNetworkResponseError( + statusCode: 400, + code: "COMMENT_400", + message: "댓글 삭제에 실패했습니다" + ) { try await repo.deleteComment(perspectiveId: 42, commentId: 9) } } @@ -398,7 +414,7 @@ struct PerspectiveRepositoryTests { } @Test - func updatePerspective_statusCode400_throwsBackendErrorWithMessage() async throws { + func updatePerspective_errorEnvelope_throwsNetworkResponseError() async throws { let json = """ { "statusCode": 400, @@ -412,7 +428,11 @@ struct PerspectiveRepositoryTests { PerspectiveRepositoryImpl() } - await #expect(throws: PerspectiveError.backendError("관점 수정에 실패했습니다")) { + await expectNetworkResponseError( + statusCode: 400, + code: "PERSPECTIVE_400", + message: "관점 수정에 실패했습니다" + ) { try await repo.updatePerspective(perspectiveId: 42, content: "관점 수정 내용") } } @@ -451,7 +471,7 @@ struct PerspectiveRepositoryTests { } @Test - func deletePerspective_statusCode400_throwsBackendErrorWithMessage() async throws { + func deletePerspective_errorEnvelope_throwsNetworkResponseError() async throws { let json = """ { "statusCode": 400, @@ -465,7 +485,11 @@ struct PerspectiveRepositoryTests { PerspectiveRepositoryImpl() } - await #expect(throws: PerspectiveError.backendError("관점 삭제에 실패했습니다")) { + await expectNetworkResponseError( + statusCode: 400, + code: "PERSPECTIVE_400", + message: "관점 삭제에 실패했습니다" + ) { try await repo.deletePerspective(perspectiveId: 42) } } @@ -510,7 +534,7 @@ struct PerspectiveRepositoryTests { } @Test - func likePerspective_emptyData_throwsBackendErrorWithMessage() async throws { + func likePerspective_errorEnvelope_throwsNetworkResponseError() async throws { let json = """ { "statusCode": 400, @@ -524,7 +548,11 @@ struct PerspectiveRepositoryTests { PerspectiveRepositoryImpl() } - await #expect(throws: CommentError.backendError("이미 좋아요한 관점입니다")) { + await expectNetworkResponseError( + statusCode: 400, + code: "PERSPECTIVE_400", + message: "이미 좋아요한 관점입니다" + ) { try await repo.likePerspective(perspectiveId: 42) } } @@ -569,7 +597,7 @@ struct PerspectiveRepositoryTests { } @Test - func unlikePerspective_emptyData_throwsBackendErrorWithDefaultMessage() async throws { + func unlikePerspective_emptyData_throwsNetworkDataMissing() async throws { let json = """ { "statusCode": 500, @@ -583,7 +611,7 @@ struct PerspectiveRepositoryTests { PerspectiveRepositoryImpl() } - await #expect(throws: CommentError.backendError("관점 좋아요 취소 응답이 비어 있습니다")) { + await expectNetworkDataMissing { try await repo.unlikePerspective(perspectiveId: 42) } } @@ -652,7 +680,7 @@ struct PerspectiveRepositoryTests { } @Test - func fetchPerspectiveLikes_emptyData_throwsBackendErrorWithMessage() async throws { + func fetchPerspectiveLikes_errorEnvelope_throwsNetworkResponseError() async throws { let json = """ { "statusCode": 404, @@ -666,7 +694,11 @@ struct PerspectiveRepositoryTests { PerspectiveRepositoryImpl() } - await #expect(throws: CommentError.backendError("좋아요 정보를 찾을 수 없습니다")) { + await expectNetworkResponseError( + statusCode: 404, + code: "PERSPECTIVE_404", + message: "좋아요 정보를 찾을 수 없습니다" + ) { try await repo.fetchPerspectiveLikes(perspectiveId: 42) } } @@ -705,12 +737,12 @@ struct PerspectiveRepositoryTests { } @Test - func reportPerspective_statusCode400_throwsBackendErrorWithDefaultMessage() async throws { + func reportPerspective_errorEnvelope_throwsNetworkResponseError() async throws { let json = """ { "statusCode": 400, "data": null, - "error": null + "error": { "code": "PERSPECTIVE_400", "message": "관점 신고 실패" } } """ let repo = withDependencies { @@ -719,7 +751,11 @@ struct PerspectiveRepositoryTests { PerspectiveRepositoryImpl() } - await #expect(throws: CommentError.backendError("관점 신고 실패")) { + await expectNetworkResponseError( + statusCode: 400, + code: "PERSPECTIVE_400", + message: "관점 신고 실패" + ) { try await repo.reportPerspective(perspectiveId: 42) } } @@ -758,12 +794,12 @@ struct PerspectiveRepositoryTests { } @Test - func reportComment_statusCode400_throwsBackendErrorWithDefaultMessage() async throws { + func reportComment_errorEnvelope_throwsNetworkResponseError() async throws { let json = """ { "statusCode": 400, "data": null, - "error": null + "error": { "code": "COMMENT_400", "message": "댓글 신고 실패" } } """ let repo = withDependencies { @@ -772,7 +808,11 @@ struct PerspectiveRepositoryTests { PerspectiveRepositoryImpl() } - await #expect(throws: CommentError.backendError("댓글 신고 실패")) { + await expectNetworkResponseError( + statusCode: 400, + code: "COMMENT_400", + message: "댓글 신고 실패" + ) { try await repo.reportComment(perspectiveId: 42, commentId: 9) } } diff --git a/Projects/Domain/PerspectiveDomain/Tests/Sources/PerspectiveRequestMappingTests.swift b/Projects/Domain/PerspectiveDomain/Tests/Sources/PerspectiveRequestMappingTests.swift index 8275b1fd..b7463c43 100644 --- a/Projects/Domain/PerspectiveDomain/Tests/Sources/PerspectiveRequestMappingTests.swift +++ b/Projects/Domain/PerspectiveDomain/Tests/Sources/PerspectiveRequestMappingTests.swift @@ -6,10 +6,10 @@ import Foundation import Testing -@testable import PerspectiveData +@testable import PerspectiveDomain import APIEndpoint -import PickeNetwork +@testable import PickeNetwork struct PerspectiveRequestMappingTests { // MARK: - detail @@ -246,11 +246,24 @@ struct PerspectiveRequestMappingTests { // MARK: - headers - @Test func 모든_요청은_baseHeader_를_포함한다() throws { - let request = try PerspectiveService.detail(perspectiveId: 42).asURLRequest() - - #expect(request.value(forHTTPHeaderField: "Content-Type") != nil) - #expect(request.value(forHTTPHeaderField: "Authorization")?.hasPrefix("Bearer") == true) - #expect(request.value(forHTTPHeaderField: "accept") != nil) + @Test func 모든_요청은_자동_인증_정책을_사용한다() { + let services: [PerspectiveService] = [ + .detail(perspectiveId: 42), + .listLabeledComments(perspectiveId: 42, cursor: nil, size: nil), + .createComment(perspectiveId: 42, body: PerspectiveCommentBody(content: "댓글")), + .updateComment(perspectiveId: 42, commentId: 7, body: PerspectiveCommentBody(content: "댓글")), + .deleteComment(perspectiveId: 42, commentId: 7), + .updatePerspective(perspectiveId: 42, body: PerspectiveCommentBody(content: "관점")), + .deletePerspective(perspectiveId: 42), + .likePerspective(perspectiveId: 42), + .unlikePerspective(perspectiveId: 42), + .fetchPerspectiveLikes(perspectiveId: 42), + .reportPerspective(perspectiveId: 42), + .reportComment(perspectiveId: 42, commentId: 7), + ] + + for service in services { + #expect(service.authorization == .automatic) + } } } diff --git a/Projects/Domain/PerspectiveDomain/Tests/Sources/TestSupport.swift b/Projects/Domain/PerspectiveDomain/Tests/Sources/TestSupport.swift index fcea8e96..55758ad9 100644 --- a/Projects/Domain/PerspectiveDomain/Tests/Sources/TestSupport.swift +++ b/Projects/Domain/PerspectiveDomain/Tests/Sources/TestSupport.swift @@ -4,6 +4,7 @@ // import Foundation +import Testing import PickeNetwork @@ -24,8 +25,8 @@ struct StubNetworkClient: PickeNetworkClient { let stubData: Data var statusCode: Int = 200 - func send( - _: R, + func send( + _: some PickeDataRequest, as _: T.Type ) async throws(PickeNetworkError) -> T { try decode(T.self) @@ -35,7 +36,7 @@ struct StubNetworkClient: PickeNetworkClient { try decode(R.Response.self) } - func sendResponse(_: R) async throws(PickeNetworkError) -> PickeHTTPResponse { + func sendResponse(_: some PickeDataRequest) async throws(PickeNetworkError) -> PickeHTTPResponse { PickeHTTPResponse(statusCode: statusCode, data: stubData) } @@ -75,8 +76,8 @@ struct StubNetworkClient: PickeNetworkClient { struct ThrowingStubNetworkClient: PickeNetworkClient { struct StubError: Error {} - func send( - _: R, + func send( + _: some PickeDataRequest, as _: T.Type ) async throws(PickeNetworkError) -> T { throw .transport(.unknown(StubError())) @@ -86,7 +87,7 @@ struct ThrowingStubNetworkClient: PickeNetworkClient { throw .transport(.unknown(StubError())) } - func sendResponse(_: R) async throws(PickeNetworkError) -> PickeHTTPResponse { + func sendResponse(_: some PickeDataRequest) async throws(PickeNetworkError) -> PickeHTTPResponse { throw .transport(.unknown(StubError())) } @@ -98,3 +99,43 @@ struct ThrowingStubNetworkClient: PickeNetworkClient { throw .transport(.unknown(StubError())) } } + +func expectNetworkResponseError( + statusCode: Int? = nil, + code: String? = nil, + message: String?, + operation: () async throws -> Void +) async { + do { + try await operation() + Issue.record("네트워크 응답 에러가 던져져야 합니다") + } catch let error as PickeNetworkError { + guard case let .response(response) = error else { + Issue.record("response 에러여야 합니다: \(error)") + return + } + if let statusCode { + #expect(response.httpStatus == statusCode) + } + if let code { + #expect(response.code == code) + } + #expect(response.message == message) + } catch { + Issue.record("예상치 못한 에러 타입: \(error)") + } +} + +func expectNetworkDataMissing(operation: () async throws -> Void) async { + do { + try await operation() + Issue.record("dataMissing 에러가 던져져야 합니다") + } catch let error as PickeNetworkError { + guard case .decoding(.dataMissing) = error else { + Issue.record("dataMissing 에러여야 합니다: \(error)") + return + } + } catch { + Issue.record("예상치 못한 에러 타입: \(error)") + } +} diff --git a/Projects/Domain/ProfileDomain/Sources/Repository/ProfileRepositoryImpl.swift b/Projects/Domain/ProfileDomain/Sources/Repository/ProfileRepositoryImpl.swift index a924d511..999b0f46 100644 --- a/Projects/Domain/ProfileDomain/Sources/Repository/ProfileRepositoryImpl.swift +++ b/Projects/Domain/ProfileDomain/Sources/Repository/ProfileRepositoryImpl.swift @@ -11,7 +11,6 @@ import APIEndpoint import PickeNetwork import ProfileDomainInterface - public final class ProfileRepositoryImpl: ProfileInterface, @unchecked Sendable { @Dependency(\.networkClient) private var client @@ -27,15 +26,19 @@ public final class ProfileRepositoryImpl: ProfileInterface, @unchecked Sendable } public func fetchRecap() async throws -> PhilosopherRecap { - let data = try await client.send( - ProfileService.recap, - as: RecapDataDTO.self - ) - // 배틀 5개 미만 사용자는 서버가 data: nil (200) 로 응답 → 잠금 상태. // 에러로 던지지 않고 빈 recap(totalParticipation 0 → isLocked)으로 반환. - - return data.toDomain() + do { + let data = try await client.send( + ProfileService.recap, + as: RecapDataDTO.self + ) + return data.toDomain() + } catch PickeNetworkError.decoding(.dataMissing) { + return .empty + } catch { + throw error + } } public func fetchCreditHistory( @@ -43,7 +46,12 @@ public final class ProfileRepositoryImpl: ProfileInterface, @unchecked Sendable size: Int ) async throws -> CreditHistoryPage { let data = try await client.send( - ProfileService.creditsHistory(query: CreditHistoryQueryRequest(offset: offset, size: size)), + ProfileService.creditsHistory( + query: CreditHistoryQueryRequest( + offset: offset, + size: size + ) + ), as: CreditHistoryDataDTO.self ) @@ -56,7 +64,13 @@ public final class ProfileRepositoryImpl: ProfileInterface, @unchecked Sendable voteSide: BattleVoteSide? ) async throws -> BattleRecordPage { let data = try await client.send( - ProfileService.battleRecords( query: BattleRecordsQueryRequest( offset: offset, size: size, voteSide: voteSide.flatMap { $0 == .unknown ? nil : $0.rawValue } ) ), + ProfileService.battleRecords( + query: BattleRecordsQueryRequest( + offset: offset, + size: size, + voteSide: voteSide.flatMap { $0 == .unknown ? nil : $0.rawValue } + ) + ), as: BattleRecordDataDTO.self ) @@ -69,7 +83,13 @@ public final class ProfileRepositoryImpl: ProfileInterface, @unchecked Sendable activityType: ContentActivityType? ) async throws -> ContentActivityPage { let data = try await client.send( - ProfileService.contentActivities( query: ContentActivitiesQueryRequest( offset: offset, size: size, activityType: activityType.flatMap(\.rawValue) ) ), + ProfileService.contentActivities( + query: ContentActivitiesQueryRequest( + offset: offset, + size: size, + activityType: activityType.flatMap(\.rawValue) + ) + ), as: ContentActivityDataDTO.self ) @@ -87,7 +107,16 @@ public final class ProfileRepositoryImpl: ProfileInterface, @unchecked Sendable public func updateNotificationSettings(_ settings: NotificationSettings) async throws -> NotificationSettings { let data = try await client.send( - ProfileService.updateNotificationSettings( body: NotificationSettingsRequest( newBattleEnabled: settings.newBattleEnabled, battleResultEnabled: settings.battleResultEnabled, commentReplyEnabled: settings.commentReplyEnabled, newCommentEnabled: settings.newCommentEnabled, contentLikeEnabled: settings.contentLikeEnabled, marketingEventEnabled: settings.marketingEventEnabled ) ), + ProfileService.updateNotificationSettings( + body: NotificationSettingsRequest( + newBattleEnabled: settings.newBattleEnabled, + battleResultEnabled: settings.battleResultEnabled, + commentReplyEnabled: settings.commentReplyEnabled, + newCommentEnabled: settings.newCommentEnabled, + contentLikeEnabled: settings.contentLikeEnabled, + marketingEventEnabled: settings.marketingEventEnabled + ) + ), as: NotificationSettingsDataDTO.self ) @@ -99,7 +128,12 @@ public final class ProfileRepositoryImpl: ProfileInterface, @unchecked Sendable characterType: String ) async throws -> UpdatedProfile { let data = try await client.send( - ProfileService.updateProfile( body: ProfileUpdateRequest( nickname: nickname, characterType: characterType ) ), + ProfileService.updateProfile( + body: ProfileUpdateRequest( + nickname: nickname, + characterType: characterType + ) + ), as: ProfileUpdateDataDTO.self ) diff --git a/Projects/Domain/ProfileDomain/Tests/Sources/ProfileRepositoryTests.swift b/Projects/Domain/ProfileDomain/Tests/Sources/ProfileRepositoryTests.swift index a3d5f033..a4453488 100644 --- a/Projects/Domain/ProfileDomain/Tests/Sources/ProfileRepositoryTests.swift +++ b/Projects/Domain/ProfileDomain/Tests/Sources/ProfileRepositoryTests.swift @@ -8,7 +8,7 @@ import Foundation import Dependencies import Testing -@testable import ProfileData +@testable import ProfileDomain import APIEndpoint import ProfileDomainInterface @@ -65,7 +65,7 @@ struct ProfileRepositoryTests { #expect(result.tier.currentPoint == 120) } - @Test func fetchMyPage_은_data_가_없으면_backendError_를_던진다() async throws { + @Test func fetchMyPage_은_error_봉투이면_네트워크_response_에러를_던진다() async throws { let json = """ {"statusCode": 200, "data": null, "error": {"code": "NOT_FOUND", "message": "마이페이지 없음"}} """ @@ -75,7 +75,11 @@ struct ProfileRepositoryTests { ProfileRepositoryImpl() } - await #expect(throws: ProfileError.backendError("마이페이지 없음")) { + await expectNetworkResponseError( + statusCode: 200, + code: "NOT_FOUND", + message: "마이페이지 없음" + ) { try await repo.fetchMyPage() } } @@ -124,7 +128,7 @@ struct ProfileRepositoryTests { #expect(result.updatedAt == "2026-07-16T12:00:00Z") } - @Test func updateProfile_은_data_가_없으면_backendError_를_던진다() async throws { + @Test func updateProfile_은_error_봉투이면_네트워크_response_에러를_던진다() async throws { let json = """ {"statusCode": 200, "data": null, "error": {"code": "INVALID", "message": "프로필 수정 실패"}} """ @@ -134,7 +138,11 @@ struct ProfileRepositoryTests { ProfileRepositoryImpl() } - await #expect(throws: ProfileError.backendError("프로필 수정 실패")) { + await expectNetworkResponseError( + statusCode: 200, + code: "INVALID", + message: "프로필 수정 실패" + ) { try await repo.updateProfile( nickname: "새 닉네임", characterType: "OWL" @@ -212,7 +220,7 @@ struct ProfileRepositoryTests { #expect(result.preferenceReport.favoriteTopics.first?.tagName == "정치") } - @Test func fetchRecap_은_data_가_없으면_에러_대신_empty_잠금_상태를_반환한다() async throws { + @Test func fetchRecap_은_200_data_nil이면_잠금용_empty_recap을_반환한다() async throws { let json = """ {"statusCode": 200, "data": null, "error": null} """ @@ -226,6 +234,26 @@ struct ProfileRepositoryTests { #expect(result == .empty) #expect(result.preferenceReport.totalParticipation == 0) + #expect(result.preferenceReport.totalParticipation < 5) + } + + @Test func fetchRecap_은_error_봉투이면_네트워크_response_에러를_던진다() async throws { + let json = """ + {"statusCode": 500, "data": null, "error": {"code": "RECAP_FAILED", "message": "리캡 조회 실패"}} + """ + let repo = withDependencies { + $0.networkClient = StubNetworkClient(stubData: Data(json.utf8), statusCode: 500) + } operation: { + ProfileRepositoryImpl() + } + + await expectNetworkResponseError( + statusCode: 500, + code: "RECAP_FAILED", + message: "리캡 조회 실패" + ) { + try await repo.fetchRecap() + } } // MARK: - fetchCreditHistory @@ -277,7 +305,7 @@ struct ProfileRepositoryTests { #expect(result.hasNext == true) } - @Test func fetchCreditHistory_는_data_가_없으면_backendError_를_던진다() async throws { + @Test func fetchCreditHistory_는_error_봉투이면_네트워크_response_에러를_던진다() async throws { let json = """ {"statusCode": 200, "data": null, "error": {"code": "ERR", "message": "크레딧 내역 없음"}} """ @@ -287,7 +315,11 @@ struct ProfileRepositoryTests { ProfileRepositoryImpl() } - await #expect(throws: ProfileError.backendError("크레딧 내역 없음")) { + await expectNetworkResponseError( + statusCode: 200, + code: "ERR", + message: "크레딧 내역 없음" + ) { try await repo.fetchCreditHistory(offset: 0, size: 20) } } @@ -335,7 +367,7 @@ struct ProfileRepositoryTests { #expect(result.hasNext == false) } - @Test func fetchBattleRecords_는_data_가_없으면_backendError_를_던진다() async throws { + @Test func fetchBattleRecords_는_error_봉투이면_네트워크_response_에러를_던진다() async throws { let json = """ {"statusCode": 200, "data": null, "error": {"code": "ERR", "message": "배틀 기록 없음"}} """ @@ -345,7 +377,11 @@ struct ProfileRepositoryTests { ProfileRepositoryImpl() } - await #expect(throws: ProfileError.backendError("배틀 기록 없음")) { + await expectNetworkResponseError( + statusCode: 200, + code: "ERR", + message: "배틀 기록 없음" + ) { try await repo.fetchBattleRecords(offset: 0, size: 20, voteSide: .pro) } } @@ -401,7 +437,7 @@ struct ProfileRepositoryTests { #expect(result.hasNext == false) } - @Test func fetchContentActivities_는_data_가_없으면_backendError_를_던진다() async throws { + @Test func fetchContentActivities_는_error_봉투이면_네트워크_response_에러를_던진다() async throws { let json = """ {"statusCode": 200, "data": null, "error": {"code": "ERR", "message": "콘텐츠 활동 없음"}} """ @@ -411,7 +447,11 @@ struct ProfileRepositoryTests { ProfileRepositoryImpl() } - await #expect(throws: ProfileError.backendError("콘텐츠 활동 없음")) { + await expectNetworkResponseError( + statusCode: 200, + code: "ERR", + message: "콘텐츠 활동 없음" + ) { try await repo.fetchContentActivities(offset: 0, size: 20, activityType: .comment) } } @@ -449,7 +489,7 @@ struct ProfileRepositoryTests { #expect(result.marketingEventEnabled == false) } - @Test func fetchNotificationSettings_는_data_가_없으면_backendError_를_던진다() async throws { + @Test func fetchNotificationSettings_는_error_봉투이면_네트워크_response_에러를_던진다() async throws { let json = """ {"statusCode": 200, "data": null, "error": {"code": "ERR", "message": "알림 설정 없음"}} """ @@ -459,7 +499,11 @@ struct ProfileRepositoryTests { ProfileRepositoryImpl() } - await #expect(throws: ProfileError.backendError("알림 설정 없음")) { + await expectNetworkResponseError( + statusCode: 200, + code: "ERR", + message: "알림 설정 없음" + ) { try await repo.fetchNotificationSettings() } } @@ -497,7 +541,7 @@ struct ProfileRepositoryTests { #expect(result.marketingEventEnabled == true) } - @Test func updateNotificationSettings_는_data_가_없으면_backendError_를_던진다() async throws { + @Test func updateNotificationSettings_는_error_봉투이면_네트워크_response_에러를_던진다() async throws { let json = """ {"statusCode": 200, "data": null, "error": {"code": "ERR", "message": "알림 설정 갱신 실패"}} """ @@ -507,7 +551,11 @@ struct ProfileRepositoryTests { ProfileRepositoryImpl() } - await #expect(throws: ProfileError.backendError("알림 설정 갱신 실패")) { + await expectNetworkResponseError( + statusCode: 200, + code: "ERR", + message: "알림 설정 갱신 실패" + ) { try await repo.updateNotificationSettings(NotificationSettings()) } } diff --git a/Projects/Domain/ProfileDomain/Tests/Sources/ProfileRequestMappingTests.swift b/Projects/Domain/ProfileDomain/Tests/Sources/ProfileRequestMappingTests.swift index 0e37a781..fb79a0e1 100644 --- a/Projects/Domain/ProfileDomain/Tests/Sources/ProfileRequestMappingTests.swift +++ b/Projects/Domain/ProfileDomain/Tests/Sources/ProfileRequestMappingTests.swift @@ -6,10 +6,10 @@ import Foundation import Testing -@testable import ProfileData +@testable import ProfileDomain import APIEndpoint -import PickeNetwork +@testable import PickeNetwork struct ProfileRequestMappingTests { @Test func mypage_요청은_GET_이며_경로가_api_v1_me_mypage_이다() throws { @@ -142,10 +142,29 @@ struct ProfileRequestMappingTests { #expect(json["characterType"] as? String == "OWL") } - @Test func 모든_요청은_baseHeader_를_포함한다() throws { - let request = try ProfileService.mypage.asURLRequest() - - #expect(request.value(forHTTPHeaderField: "Content-Type") != nil) - #expect(request.value(forHTTPHeaderField: "Authorization")?.hasPrefix("Bearer") == true) + @Test func 모든_요청은_자동_인증_정책을_사용한다() { + let services: [ProfileService] = [ + .mypage, + .recap, + .creditsHistory(query: CreditHistoryQueryRequest(offset: nil, size: 20)), + .battleRecords(query: BattleRecordsQueryRequest(offset: 0, size: 20, voteSide: nil)), + .contentActivities(query: ContentActivitiesQueryRequest(offset: 0, size: 20, activityType: nil)), + .notificationSettings, + .updateNotificationSettings( + body: NotificationSettingsRequest( + newBattleEnabled: true, + battleResultEnabled: true, + commentReplyEnabled: true, + newCommentEnabled: true, + contentLikeEnabled: true, + marketingEventEnabled: true + ) + ), + .updateProfile(body: ProfileUpdateRequest(nickname: "피클러", characterType: "OWL")), + ] + + for service in services { + #expect(service.authorization == .automatic) + } } } diff --git a/Projects/Domain/ProfileDomain/Tests/Sources/TestSupport.swift b/Projects/Domain/ProfileDomain/Tests/Sources/TestSupport.swift index 9e9e0161..f61ba8a0 100644 --- a/Projects/Domain/ProfileDomain/Tests/Sources/TestSupport.swift +++ b/Projects/Domain/ProfileDomain/Tests/Sources/TestSupport.swift @@ -4,6 +4,7 @@ // import Foundation +import Testing import PickeNetwork @@ -24,8 +25,8 @@ struct StubNetworkClient: PickeNetworkClient { let stubData: Data var statusCode: Int = 200 - func send( - _: R, + func send( + _: some PickeDataRequest, as _: T.Type ) async throws(PickeNetworkError) -> T { try decode(T.self) @@ -35,7 +36,7 @@ struct StubNetworkClient: PickeNetworkClient { try decode(R.Response.self) } - func sendResponse(_: R) async throws(PickeNetworkError) -> PickeHTTPResponse { + func sendResponse(_: some PickeDataRequest) async throws(PickeNetworkError) -> PickeHTTPResponse { PickeHTTPResponse(statusCode: statusCode, data: stubData) } @@ -75,8 +76,8 @@ struct StubNetworkClient: PickeNetworkClient { struct ThrowingStubNetworkClient: PickeNetworkClient { struct StubError: Error {} - func send( - _: R, + func send( + _: some PickeDataRequest, as _: T.Type ) async throws(PickeNetworkError) -> T { throw .transport(.unknown(StubError())) @@ -86,7 +87,7 @@ struct ThrowingStubNetworkClient: PickeNetworkClient { throw .transport(.unknown(StubError())) } - func sendResponse(_: R) async throws(PickeNetworkError) -> PickeHTTPResponse { + func sendResponse(_: some PickeDataRequest) async throws(PickeNetworkError) -> PickeHTTPResponse { throw .transport(.unknown(StubError())) } @@ -98,3 +99,43 @@ struct ThrowingStubNetworkClient: PickeNetworkClient { throw .transport(.unknown(StubError())) } } + +func expectNetworkResponseError( + statusCode: Int? = nil, + code: String? = nil, + message: String?, + operation: () async throws -> Void +) async { + do { + try await operation() + Issue.record("네트워크 응답 에러가 던져져야 합니다") + } catch let error as PickeNetworkError { + guard case let .response(response) = error else { + Issue.record("response 에러여야 합니다: \(error)") + return + } + if let statusCode { + #expect(response.httpStatus == statusCode) + } + if let code { + #expect(response.code == code) + } + #expect(response.message == message) + } catch { + Issue.record("예상치 못한 에러 타입: \(error)") + } +} + +func expectNetworkDataMissing(operation: () async throws -> Void) async { + do { + try await operation() + Issue.record("dataMissing 에러가 던져져야 합니다") + } catch let error as PickeNetworkError { + guard case .decoding(.dataMissing) = error else { + Issue.record("dataMissing 에러여야 합니다: \(error)") + return + } + } catch { + Issue.record("예상치 못한 에러 타입: \(error)") + } +} diff --git a/Projects/Domain/SearchDomain/Tests/SearchRepositoryTests.swift b/Projects/Domain/SearchDomain/Tests/SearchRepositoryTests.swift index 0b03eeb6..5e7dc499 100644 --- a/Projects/Domain/SearchDomain/Tests/SearchRepositoryTests.swift +++ b/Projects/Domain/SearchDomain/Tests/SearchRepositoryTests.swift @@ -5,10 +5,11 @@ import Testing -@testable import SearchData +@testable import SearchDomain import APIEndpoint import BattleDomainInterface +import Dependencies import HomeDomainInterface struct SearchRepositoryTests { @@ -101,7 +102,7 @@ struct SearchRepositoryTests { #expect(page.hasNext == false) } - @Test func searchBattles_은_data가_nil이면_backendError를_던진다() async throws { + @Test func searchBattles_은_error_봉투이면_네트워크_response_에러를_던진다() async throws { let json = """ { "statusCode": 400, @@ -116,7 +117,11 @@ struct SearchRepositoryTests { SearchRepositoryImpl() } - await #expect(throws: BattleError.backendError("잘못된 검색 조건입니다")) { + await expectNetworkResponseError( + statusCode: 400, + code: "SEARCH_400", + message: "잘못된 검색 조건입니다" + ) { try await repo.searchBattles(category: nil, sort: nil, offset: nil, size: nil) } } diff --git a/Projects/Domain/SearchDomain/Tests/SearchRequestMappingTests.swift b/Projects/Domain/SearchDomain/Tests/SearchRequestMappingTests.swift index 8ba4f27f..41dc8382 100644 --- a/Projects/Domain/SearchDomain/Tests/SearchRequestMappingTests.swift +++ b/Projects/Domain/SearchDomain/Tests/SearchRequestMappingTests.swift @@ -5,10 +5,10 @@ import Testing -@testable import SearchData +@testable import SearchDomain import APIEndpoint -import PickeNetwork +@testable import PickeNetwork struct SearchRequestMappingTests { @Test func battles_요청은_GET_이며_경로가_api_v1_search_battles_이다() throws { @@ -64,10 +64,9 @@ struct SearchRequestMappingTests { #expect(request.httpBody == nil) } - @Test func battles_요청은_baseHeader_를_포함한다() throws { - let request = try SearchService.battles(category: nil, sort: nil, offset: nil, size: nil).asURLRequest() + @Test func battles_요청은_자동_인증_정책을_사용한다() { + let service = SearchService.battles(category: nil, sort: nil, offset: nil, size: nil) - #expect(request.value(forHTTPHeaderField: "Content-Type") != nil) - #expect(request.value(forHTTPHeaderField: "Authorization")?.hasPrefix("Bearer") == true) + #expect(service.authorization == .automatic) } } diff --git a/Projects/Domain/SearchDomain/Tests/TestSupport.swift b/Projects/Domain/SearchDomain/Tests/TestSupport.swift index 418adc71..6052d4c7 100644 --- a/Projects/Domain/SearchDomain/Tests/TestSupport.swift +++ b/Projects/Domain/SearchDomain/Tests/TestSupport.swift @@ -4,6 +4,7 @@ // import Foundation +import Testing import PickeNetwork @@ -24,8 +25,8 @@ struct StubNetworkClient: PickeNetworkClient { let stubData: Data var statusCode: Int = 200 - func send( - _: R, + func send( + _: some PickeDataRequest, as _: T.Type ) async throws(PickeNetworkError) -> T { try decode(T.self) @@ -35,7 +36,7 @@ struct StubNetworkClient: PickeNetworkClient { try decode(R.Response.self) } - func sendResponse(_: R) async throws(PickeNetworkError) -> PickeHTTPResponse { + func sendResponse(_: some PickeDataRequest) async throws(PickeNetworkError) -> PickeHTTPResponse { PickeHTTPResponse(statusCode: statusCode, data: stubData) } @@ -75,8 +76,8 @@ struct StubNetworkClient: PickeNetworkClient { struct ThrowingStubNetworkClient: PickeNetworkClient { struct StubError: Error {} - func send( - _: R, + func send( + _: some PickeDataRequest, as _: T.Type ) async throws(PickeNetworkError) -> T { throw .transport(.unknown(StubError())) @@ -86,7 +87,7 @@ struct ThrowingStubNetworkClient: PickeNetworkClient { throw .transport(.unknown(StubError())) } - func sendResponse(_: R) async throws(PickeNetworkError) -> PickeHTTPResponse { + func sendResponse(_: some PickeDataRequest) async throws(PickeNetworkError) -> PickeHTTPResponse { throw .transport(.unknown(StubError())) } @@ -98,3 +99,29 @@ struct ThrowingStubNetworkClient: PickeNetworkClient { throw .transport(.unknown(StubError())) } } + +func expectNetworkResponseError( + statusCode: Int? = nil, + code: String? = nil, + message: String?, + operation: () async throws -> Void +) async { + do { + try await operation() + Issue.record("네트워크 응답 에러가 던져져야 합니다") + } catch let error as PickeNetworkError { + guard case let .response(response) = error else { + Issue.record("response 에러여야 합니다: \(error)") + return + } + if let statusCode { + #expect(response.httpStatus == statusCode) + } + if let code { + #expect(response.code == code) + } + #expect(response.message == message) + } catch { + Issue.record("예상치 못한 에러 타입: \(error)") + } +} From 31379891f75c90e73cc16a450c3cd09f41c506b3 Mon Sep 17 00:00:00 2001 From: Roy Date: Thu, 10 Sep 2026 16:22:56 +0900 Subject: [PATCH 79/83] =?UTF-8?q?refactor:=20=EC=95=8C=EB=A6=BC=20?= =?UTF-8?q?=ED=99=94=EB=A9=B4=20=EC=A0=84=ED=99=98=EC=9D=84=20=EC=95=B1?= =?UTF-8?q?=EC=97=90=EC=84=9C=20=EC=9D=BC=EA=B4=80=EB=90=98=EA=B2=8C=20?= =?UTF-8?q?=EC=A1=B0=EB=A6=BD=ED=95=9C=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 알림 목록 루트와 dismiss 전달 회귀 테스트를 포함한다. Screen enum의 별도 extension 매크로 구조를 유지한다. Rejected: Feature 계층에서 Coordinator 소유 | 앱의 화면 전환 조립 책임과 충돌한다 --- Projects/App/Project.swift | 1 + .../NotificationCoordinator.swift | 11 ++--- .../NotificationCoordinatorView.swift | 5 +-- .../NotificationCoordinatorTests.swift | 41 +++++++++++++++++++ Projects/Feature/Notification/Project.swift | 3 +- 5 files changed, 51 insertions(+), 10 deletions(-) rename Projects/{Feature/Notification/Sources/Coordinator/Reducer => App/Sources/Navigation/Notification}/NotificationCoordinator.swift (94%) rename Projects/{Feature/Notification/Sources/Coordinator/View => App/Sources/Navigation/Notification}/NotificationCoordinatorView.swift (93%) create mode 100644 Projects/App/Tests/Sources/NotificationCoordinatorTests.swift diff --git a/Projects/App/Project.swift b/Projects/App/Project.swift index 9a0ba5a0..6b0f4bd8 100644 --- a/Projects/App/Project.swift +++ b/Projects/App/Project.swift @@ -14,6 +14,7 @@ let project = Project.makeAppModule( dependencies: [ // 화면·도메인·데이터 구현은 각 레이어의 조립 경계 하나로 들어온다. .featureAssembly, + .feature(.notification, .interface), .domainAssembly, .serviceAssembly, .core(.storage, .interface), diff --git a/Projects/Feature/Notification/Sources/Coordinator/Reducer/NotificationCoordinator.swift b/Projects/App/Sources/Navigation/Notification/NotificationCoordinator.swift similarity index 94% rename from Projects/Feature/Notification/Sources/Coordinator/Reducer/NotificationCoordinator.swift rename to Projects/App/Sources/Navigation/Notification/NotificationCoordinator.swift index 93c2b9d4..7079e255 100644 --- a/Projects/Feature/Notification/Sources/Coordinator/Reducer/NotificationCoordinator.swift +++ b/Projects/App/Sources/Navigation/Notification/NotificationCoordinator.swift @@ -1,11 +1,12 @@ // // NotificationCoordinator.swift -// Notification +// Picke // import Foundation import ComposableArchitecture +import FeatureAssembly import NotificationInterface import TCAFlow @@ -66,8 +67,8 @@ public struct NotificationCoordinator { } } -extension NotificationCoordinator { - private func routerAction( +private extension NotificationCoordinator { + func routerAction( state _: inout State, action: IndexedRouterActionOf ) -> Effect { @@ -81,7 +82,7 @@ extension NotificationCoordinator { } } - private func handleViewAction( + func handleViewAction( state: inout State, action: View ) -> Effect { @@ -95,7 +96,7 @@ extension NotificationCoordinator { } } - private func handleDelegateAction( + func handleDelegateAction( state _: inout State, action: NotificationDelegate ) -> Effect { diff --git a/Projects/Feature/Notification/Sources/Coordinator/View/NotificationCoordinatorView.swift b/Projects/App/Sources/Navigation/Notification/NotificationCoordinatorView.swift similarity index 93% rename from Projects/Feature/Notification/Sources/Coordinator/View/NotificationCoordinatorView.swift rename to Projects/App/Sources/Navigation/Notification/NotificationCoordinatorView.swift index 08104f0e..2c466d65 100644 --- a/Projects/Feature/Notification/Sources/Coordinator/View/NotificationCoordinatorView.swift +++ b/Projects/App/Sources/Navigation/Notification/NotificationCoordinatorView.swift @@ -1,13 +1,12 @@ // // NotificationCoordinatorView.swift -// Notification +// Picke // -import Foundation - import SwiftUI import ComposableArchitecture +import FeatureAssembly import TCAFlow public struct NotificationCoordinatorView: View { diff --git a/Projects/App/Tests/Sources/NotificationCoordinatorTests.swift b/Projects/App/Tests/Sources/NotificationCoordinatorTests.swift new file mode 100644 index 00000000..5e4cc3af --- /dev/null +++ b/Projects/App/Tests/Sources/NotificationCoordinatorTests.swift @@ -0,0 +1,41 @@ +import ComposableArchitecture +import TCAFlow +import Testing + +@testable import Picke + +@MainActor +struct NotificationCoordinatorTests { + @Test + func route초기화는_알림_목록을_루트로_연다() { + let state = NotificationCoordinator.State(route: .inbox) + + #expect(state.routes.count == 1) + guard let route = state.routes.first else { + Issue.record("알림 루트 route가 없음") + return + } + #expect(route.embedInNavigationView) + guard case .notification = route.screen else { + Issue.record("알림 목록 화면으로 시작하지 않음") + return + } + } + + @Test + func 알림_목록_dismiss는_부모_delegate로_전달된다() async { + let store = TestStore(initialState: NotificationCoordinator.State(route: .inbox)) { + NotificationCoordinator() + } + + await store.send(.router(.routeAction( + id: 0, + action: .notification(.delegate(.dismiss)) + ))) + await store.receive { + guard case .delegate(.dismiss) = $0 else { return false } + return true + } + await store.finish() + } +} diff --git a/Projects/Feature/Notification/Project.swift b/Projects/Feature/Notification/Project.swift index 9c4667f9..f0d5727f 100644 --- a/Projects/Feature/Notification/Project.swift +++ b/Projects/Feature/Notification/Project.swift @@ -19,9 +19,8 @@ let project = Project.makeModule( .service(.analytics, .interface), .domain(.notification, .interface), .SPM.composableArchitecture, - .SPM.tcaFlow, ], hasTests: true, hasInterface: true, hasTesting: false -) \ No newline at end of file +) From 4f11ac6dd35ce78d2b2d4c0b1a8c0837dcc851db Mon Sep 17 00:00:00 2001 From: Roy Date: Thu, 10 Sep 2026 16:22:59 +0900 Subject: [PATCH 80/83] =?UTF-8?q?fix:=20=EC=83=81=EC=84=B8=20=EC=BD=98?= =?UTF-8?q?=ED=85=90=EC=B8=A0=EC=9D=98=20=EA=B8=B4=20=EC=A0=9C=EB=AA=A9?= =?UTF-8?q?=EC=9D=84=20=EB=81=9D=EA=B9=8C=EC=A7=80=20=EC=9D=BD=EC=9D=84=20?= =?UTF-8?q?=EC=88=98=20=EC=9E=88=EA=B2=8C=20=ED=95=9C=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 상세 투표 화면의 제목 높이가 줄어들지 않게 하고 넘치는 본문을 스크롤한다. 리스트 화면은 변경하지 않는다. SwiftFormat 검사를 통과했다. Rejected: 제목 폰트 축소 | 기존 타이포그래피를 유지하며 전체 제목을 표시한다 --- .../Feature/Chat/Sources/Vote/View/PreVoteView.swift | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/Projects/Feature/Chat/Sources/Vote/View/PreVoteView.swift b/Projects/Feature/Chat/Sources/Vote/View/PreVoteView.swift index cece2f33..e72faf5c 100644 --- a/Projects/Feature/Chat/Sources/Vote/View/PreVoteView.swift +++ b/Projects/Feature/Chat/Sources/Vote/View/PreVoteView.swift @@ -97,14 +97,18 @@ public struct PreVoteView: View { backgroundImage(battle) .frame(width: proxy.size.width) - // 본문은 스크롤하지 않는다 — 옵션 카드는 항상 CTA 바로 위에 고정. + // 큰 화면에서는 옵션 카드를 CTA 바로 위에 유지하고, 긴 제목/작은 화면에서는 + // 콘텐츠 영역만 스크롤해 제목 전체를 읽을 수 있게 한다. let contentHeight = max(0, proxy.size.height - topInset - PreVoteLayout.ctaReservedHeight) VStack(spacing: 0) { Color.clear .frame(height: topInset) - contentArea(battle, minHeight: contentHeight) - .frame(height: contentHeight, alignment: .top) + ScrollView { + contentArea(battle, minHeight: contentHeight) + } + .scrollIndicators(.hidden) + .frame(height: contentHeight, alignment: .top) } .frame(width: proxy.size.width, height: proxy.size.height, alignment: .top) .safeAreaInset(edge: .bottom, spacing: 0) { @@ -262,6 +266,7 @@ extension PreVoteView { .lineSpacing(24 * 0.4) .multilineTextAlignment(.leading) .lineLimit(nil) + .fixedSize(horizontal: false, vertical: true) .frame(maxWidth: .infinity, alignment: .leading) } From a9df2e3cf3e7372bdecabcfcd7d096d5f64f675f Mon Sep 17 00:00:00 2001 From: Roy Date: Thu, 10 Sep 2026 16:23:09 +0900 Subject: [PATCH 81/83] =?UTF-8?q?chore:=20=EB=A1=9C=EC=BB=AC=20=EA=B0=9C?= =?UTF-8?q?=EB=B0=9C=EC=97=90=EC=84=9C=20Tuist=20=EC=97=B0=EA=B2=B0?= =?UTF-8?q?=EA=B3=BC=20=EC=BA=90=EC=8B=9C=EB=A5=BC=20=EC=9E=90=EB=8F=99=20?= =?UTF-8?q?=EC=A4=80=EB=B9=84=ED=95=9C=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fastlane 생성은 --no-binary-cache를 사용한다. 자동화 시나리오와 포맷·Ruby 문법 검사를 통과했다. 캐시 빌드는 통과했으며 CLI 저장 단계 오류를 추가 확인 중이다. Rejected: CI 대시보드와 캐시 연결 추가 | 로컬에서만 사용한다는 요청을 따른다 --- README.md | 33 ++++--- Tuist.swift | 14 ++- Tuist/Package.resolved | 6 +- Tuist/Package.swift | 4 +- TuistTool.swift | 217 ++++++++++++++++++++++++++++++++++++----- fastlane/Fastfile | 22 ++--- make | Bin 145336 -> 165000 bytes 7 files changed, 240 insertions(+), 56 deletions(-) diff --git a/README.md b/README.md index e66f76f0..803c8323 100644 --- a/README.md +++ b/README.md @@ -52,6 +52,8 @@ Projects/ Tuist 버전은 [mise.toml](mise.toml)에 고정되어 있습니다. 새 환경에서는 mise를 통해 동일 버전을 맞추는 것을 권장합니다. +TCA `1.26.2`와 TCAFlow `1.1.8`을 사용합니다. 보조 패키지 `swift-dependencies`는 Tuist 4.154의 조건부 의존성 누락 문제를 피하도록 `1.12.0`에 고정했습니다. 이 제한은 소스 빌드와 외부 모듈 캐시 모두에 적용됩니다. + ```bash mise install mise exec -- tuist version @@ -59,25 +61,32 @@ mise exec -- tuist version ## Tuist Dashboard와 캐시 -이 저장소는 로컬 개발에서만 Tuist Dashboard 프로젝트 `picke2026/picke`와 원격 바이너리 캐시를 사용합니다. CI에서는 대시보드 연결과 캐시 업로드를 비활성화하며, 별도 CI 연동 설정은 추가하지 않습니다. +이 저장소는 로컬 개발에서만 Tuist Dashboard 프로젝트 `picke2026/picke`를 사용합니다. 일반 generate/project 확인은 Dashboard에 연결해 메트릭을 남기고, 바이너리 캐시 warm은 로컬 저장소만 사용합니다. CI에서는 대시보드 연결과 캐시 준비를 비활성화하며, 별도 CI 캐시 연동 설정은 추가하지 않습니다. [Tuist.swift](Tuist.swift)의 기준 설정: -- 로컬: `fullHandle = "picke2026/picke"`, `enableCaching = true`, 기본 캐시 프로필 `.onlyExternal` -- CI: `fullHandle = nil`, `enableCaching = false`, 기본 캐시 프로필 `.none` -- 캐시 업로드: 로컬에서만 활성화, CI에서는 비활성화 +- 로컬 generate/project show: `fullHandle = "picke2026/picke"`, 기본 모듈 캐시 프로필 `.onlyExternal` +- 로컬 cache warm: `TUIST_LOCAL_CACHE_ONLY=true` 환경에서만 `fullHandle = nil`, 기본 모듈 캐시 프로필 `.onlyExternal` +- CI: `fullHandle = nil`, 기본 모듈 캐시 프로필 `.none` +- Xcode 컴파일 캐시: 현재 Explicit Modules를 끈 빌드 설정과 호환되지 않아 `enableCaching = false`, `cache.upload = false`로 비활성화 - 인증: `optionalAuthentication = true`로 설정해 로그인되지 않은 환경에서도 generate가 실패하지 않도록 유지 -로컬에서 Dashboard와 원격 캐시를 쓰려면 한 번 로그인하고 캐시를 준비합니다. +로컬에서 Dashboard 연결과 로컬 바이너리 캐시를 준비하려면 `./make setup`을 실행합니다. 이 명령은 mise 도구 설치 후 Tuist 로그인을 확인하고, 로그인되어 있지 않으면 `tuist auth login`을 실행한 뒤 `Tuist.swift`의 `picke2026/picke` 연결을 `tuist project show`로 확인합니다. 이후 의존성을 설치하고 외부 모듈 바이너리 캐시를 로컬 저장소에 준비한 다음 프로젝트를 생성합니다. ```bash -tuist auth login -tuist setup cache -tuist cache warm --external-only -tuist generate --no-open +./make setup ``` -`tuist cache warm --external-only`는 외부 의존성 중심으로 캐시를 데우며, 로컬 개발자는 대시보드 원격 캐시에서 다운로드하고 필요한 캐시를 업로드할 수 있습니다. +`./make generate`, `./make test`, `./make cache`도 로컬에서는 필요한 Tuist Dashboard 인증과 프로젝트 확인을 먼저 수행합니다. 바이너리 캐시를 쓰지 않을 때는 Tuist 옵션을 그대로 전달합니다. + +```bash +./make generate --no-binary-cache --no-open +./make test --no-binary-cache +``` + +`./make cache`와 `./make cache:setup`은 기본적으로 `TUIST_LOCAL_CACHE_ONLY=true tuist cache warm --external-only`를 실행해 외부 의존성 중심으로 로컬 캐시를 데웁니다. CI에서는 Dashboard 인증, 프로젝트 확인, 캐시 준비를 건너뛰며, 별도 CI 캐시 연동은 하지 않습니다. + +Fastlane이나 CI용 래퍼처럼 캐시가 필요 없는 자동화 경로에서는 `tuist generate --no-binary-cache --no-open` 형태로 실행합니다. ## 빠른 시작 @@ -113,7 +122,8 @@ mise 도구 설치, 캐시 설정, 의존성 설치, 프로젝트 생성을 한 ./make generate ``` -Tuist 프로젝트를 생성합니다. 내부적으로 `tuist generate --no-open`을 실행합니다. +Tuist 프로젝트를 생성합니다. Xcode를 열지 않으려면 `./make generate --no-open`을 사용합니다. +로컬에서 바이너리 캐시를 사용하지 않으려면 `./make generate --no-binary-cache --no-open`을 사용합니다. ```bash ./make build @@ -126,6 +136,7 @@ Tuist 프로젝트를 생성합니다. 내부적으로 `tuist generate --no-open ``` 전체 테스트를 실행합니다. +로컬 바이너리 캐시를 건너뛰려면 `./make test --no-binary-cache`를 사용합니다. ```bash make test diff --git a/Tuist.swift b/Tuist.swift index ee01562b..67c4e8e5 100644 --- a/Tuist.swift +++ b/Tuist.swift @@ -1,9 +1,13 @@ +import Foundation import ProjectDescription +let usesLocalCacheOnly = ProcessInfo.processInfo.environment["TUIST_LOCAL_CACHE_ONLY"] == "true" + let tuist = Tuist( - // 대시보드와 캐시는 로컬 개발에서만 사용한다. - fullHandle: Environment.isCI ? nil : "picke2026/picke", - cache: .cache(upload: !Environment.isCI), + // 일반 로컬 generate/project show 는 Dashboard 에 연결하고, + // cache warm 프로세스만 로컬 저장소를 쓰도록 handle 을 비운다. + fullHandle: Environment.isCI || usesLocalCacheOnly ? nil : "picke2026/picke", + cache: .cache(upload: false), project: .tuist( compatibleXcodeVersions: .all, swiftVersion: .some("6.0.0"), @@ -22,7 +26,9 @@ let tuist = Tuist( // .all / .selected([...]) / .none staticSideEffectsWarningTargets: .all, optionalAuthentication: true, - enableCaching: !Environment.isCI + // 현재 Explicit Modules를 끈 빌드 설정에서는 Xcode 컴파일 캐시를 사용할 수 없다. + // 로컬 개발은 아래의 외부 모듈 바이너리 캐시를 사용한다. + enableCaching: false ), installOptions: .options(), cacheOptions: .options( diff --git a/Tuist/Package.resolved b/Tuist/Package.resolved index 94a5c230..606051b6 100644 --- a/Tuist/Package.resolved +++ b/Tuist/Package.resolved @@ -1,5 +1,5 @@ { - "originHash" : "cc7fec26a246df62a205a78bd34fbd69f42376903e6534400aaa1f795cfa7193", + "originHash" : "ed04bf35e3364b25fd627c02cb1852f827813d3f714fe41fa18bdc43204c0bea", "pins" : [ { "identity" : "abseil-cpp-binary", @@ -312,8 +312,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/pointfreeco/swift-dependencies.git", "state" : { - "revision" : "b476cc5761057d8d857de063fe7ac8daecf5c06b", - "version" : "1.17.1" + "revision" : "706feb7858a7f6c242879d137b8ee30926aa5b26", + "version" : "1.12.0" } }, { diff --git a/Tuist/Package.swift b/Tuist/Package.swift index 3b4dd518..7e500de0 100644 --- a/Tuist/Package.swift +++ b/Tuist/Package.swift @@ -81,7 +81,9 @@ let package = Package( name: "TimeSpot", dependencies: [ .package(url: "https://github.com/pointfreeco/swift-composable-architecture", exact: "1.26.2"), - .package(url: "https://github.com/pointfreeco/swift-dependencies", from: "1.6.0"), + // Tuist 4.154는 1.13+의 traits 조건부 Clocks/CombineSchedulers 의존성을 누락한다. + // 소스 빌드와 바이너리 캐시가 같은 그래프를 쓰도록 마지막 비조건부 버전을 고정한다. + .package(url: "https://github.com/pointfreeco/swift-dependencies", exact: "1.12.0"), .package(url: "https://github.com/pointfreeco/sqlite-data", exact: "1.11.0"), .package(url: "https://github.com/Roy-wonji/TCAFlow.git", exact: "1.1.8"), .package(url: "https://github.com/google/GoogleSignIn-iOS", from: "9.1.0"), diff --git a/TuistTool.swift b/TuistTool.swift index 20d0bd26..210d48d2 100755 --- a/TuistTool.swift +++ b/TuistTool.swift @@ -36,10 +36,15 @@ private enum Command: String { } @discardableResult -private func run(_ executable: String, arguments: [String]) -> Int32 { +private func run( + _ executable: String, + arguments: [String], + environmentOverrides: [String: String] = [:] +) -> Int32 { let process = Process() process.executableURL = URL(fileURLWithPath: "/usr/bin/env") process.arguments = [executable] + arguments + process.environment = ProcessInfo.processInfo.environment.merging(environmentOverrides) { _, new in new } process.standardInput = FileHandle.standardInput process.standardOutput = FileHandle.standardOutput process.standardError = FileHandle.standardError @@ -60,14 +65,147 @@ private func prompt(_ message: String) -> String { } @discardableResult -private func runTuist(arguments: [String]) -> Int32 { - return run("mise", arguments: ["exec", "--", "tuist"] + arguments) +private func runTuist( + arguments: [String], + environmentOverrides: [String: String] = [:] +) -> Int32 { + return run( + "mise", + arguments: ["exec", "--", "tuist"] + arguments, + environmentOverrides: environmentOverrides + ) +} + +private var didPrepareLocalTuistAccess = false +private var isLocalTuistAccessUnavailable = false + +private var isCIEnvironment: Bool { + let environment = ProcessInfo.processInfo.environment + let ciValues = ["1", "true", "TRUE"] + return ciValues.contains(environment["CI"] ?? "") + || ciValues.contains(environment["GITHUB_ACTIONS"] ?? "") + || ciValues.contains(environment["BITRISE_IO"] ?? "") + || ciValues.contains(environment["TUIST_CI"] ?? "") +} + +private func usesBinaryCache(forwardedArguments: [String]) -> Bool { + return !forwardedArguments.contains("--no-binary-cache") +} + +private func warnAndContinue(_ message: String) { + FileHandle.standardError.write(Data("⚠️ \(message)\n".utf8)) +} + +private func prepareLocalTuistAccess(allowFailure: Bool) -> Int32 { + guard !isCIEnvironment else { + print("CI 환경이라 Tuist Dashboard 인증과 프로젝트 확인을 건너뜁니다.") + return 0 + } + guard !didPrepareLocalTuistAccess else { return 0 } + + let whoamiStatus = runTuist(arguments: ["auth", "whoami"]) + if whoamiStatus != 0 { + let loginStatus = runTuist(arguments: ["auth", "login"]) + guard loginStatus == 0 else { + if allowFailure { + isLocalTuistAccessUnavailable = true + warnAndContinue("Tuist 인증에 실패했습니다. 바이너리 캐시 없이 계속 진행합니다.") + return 0 + } + return loginStatus + } + } + + let projectStatus = runTuist(arguments: ["project", "show"]) + guard projectStatus == 0 else { + if allowFailure { + isLocalTuistAccessUnavailable = true + warnAndContinue("Tuist Dashboard 프로젝트 확인에 실패했습니다. 바이너리 캐시 없이 계속 진행합니다.") + return 0 + } + return projectStatus + } + + didPrepareLocalTuistAccess = true + isLocalTuistAccessUnavailable = false + return 0 +} + +private func prepareBinaryCacheIfNeeded( + forwardedArguments: [String], + allowFailure: Bool +) -> Int32 { + guard usesBinaryCache(forwardedArguments: forwardedArguments) else { + print("--no-binary-cache 옵션이 있어 Tuist Dashboard 인증과 캐시 준비를 건너뜁니다.") + return 0 + } + return prepareLocalTuistAccess(allowFailure: allowFailure) +} + +private func cacheWarmArguments(forwardedArguments: [String]) -> [String] { + if forwardedArguments.first == "print-hashes" { + return ["cache"] + forwardedArguments + } + + var warmArguments = forwardedArguments + if warmArguments.first == "warm" { + warmArguments.removeFirst() + } + + var arguments = ["cache", "warm"] + if !warmArguments.contains("--external-only"), !warmArguments.contains("--no-external-only") { + arguments.append("--external-only") + } + return arguments + warmArguments +} + +private func installArguments(forwardedArguments: [String]) -> [String] { + return forwardedArguments.filter { argument in + argument != "--no-binary-cache" && argument != "--no-open" + } +} + +private func filteredGenerateArguments(forwardedArguments: [String]) -> [String] { + return forwardedArguments.filter { argument in + argument == "--no-binary-cache" || argument == "--no-open" + } +} + +private func generateArguments(forwardedArguments: [String]) -> [String] { + guard isLocalTuistAccessUnavailable, usesBinaryCache(forwardedArguments: forwardedArguments) + else { + return forwardedArguments + } + return forwardedArguments + ["--no-binary-cache"] +} + +private func warmBinaryCache(forwardedArguments: [String] = []) -> Int32 { + guard !isCIEnvironment else { + print("CI 환경이라 Tuist 바이너리 캐시 준비를 건너뜁니다.") + return 0 + } + guard usesBinaryCache(forwardedArguments: forwardedArguments) else { + print("--no-binary-cache 옵션이 있어 Tuist 바이너리 캐시 준비를 건너뜁니다.") + return 0 + } + let authStatus = prepareLocalTuistAccess(allowFailure: false) + guard authStatus == 0 else { return authStatus } + return runTuist( + arguments: cacheWarmArguments(forwardedArguments: forwardedArguments), + environmentOverrides: ["TUIST_LOCAL_CACHE_ONLY": "true"] + ) } private func installAndGenerate(forwardedArguments: [String] = []) -> Int32 { - let installStatus = runTuist(arguments: ["install"] + forwardedArguments) + let authStatus = prepareBinaryCacheIfNeeded( + forwardedArguments: forwardedArguments, + allowFailure: true + ) + guard authStatus == 0 else { return authStatus } + let installStatus = runTuist(arguments: ["install"] + installArguments(forwardedArguments: forwardedArguments)) guard installStatus == 0 else { return installStatus } - return runTuist(arguments: ["generate"]) + let generateForwardedArguments = filteredGenerateArguments(forwardedArguments: forwardedArguments) + return runTuist(arguments: ["generate"] + generateArguments(forwardedArguments: generateForwardedArguments)) } private enum StepResult { @@ -384,12 +522,12 @@ private func printHelp() { 🚀 Picke Tuist 도구 기본 명령어: - ./make setup # mise 도구 설치 + 캐시 설정 + 의존성 설치 + 프로젝트 생성 + ./make setup # mise 설치 + Dashboard 확인 + install + 외부 캐시 준비 + generate ./make generate # Demo 앱을 포함해 프로젝트 생성 ./make build # 클린 + 의존성 설치 + 프로젝트 생성 ./make install # 의존성 설치 + 프로젝트 생성 - ./make cache # 바이너리 캐시 생성 - ./make cache:setup # Xcode Compilation Cache 설정 + ./make cache # 외부 바이너리 캐시 준비 + ./make cache:setup # 외부 바이너리 캐시 준비(cache 별칭) ./make test # 전체 테스트 실행 ./make format # SwiftFormat 적용 ./make lint # SwiftFormat 검사 @@ -433,47 +571,74 @@ private func execute(_ command: Command, forwardedArguments: [String]) -> Int32 return miseStatus } - // Xcode Compilation Cache 는 Tuist 계정 로그인과 네트워크가 필요하다. - // 실패해도 프로젝트 생성 자체는 막지 않고 건너뛴 사실만 남긴다. - let cacheStatus = runTuist(arguments: ["setup", "cache"]) - results.append(( - "Xcode Compilation Cache 설정", - cacheStatus == 0 ? .passed : .skipped("`tuist auth login` 후 ./make cache:setup 으로 재시도") - )) + if usesBinaryCache(forwardedArguments: forwardedArguments), !isCIEnvironment { + let authStatus = prepareLocalTuistAccess(allowFailure: false) + results.append(("Tuist Dashboard 인증/프로젝트 확인", authStatus == 0 ? .passed : .failed(authStatus))) + guard authStatus == 0 else { + printSetupSummary(results) + return authStatus + } + } else { + let reason = isCIEnvironment ? "CI 환경" : "--no-binary-cache" + results.append(("Tuist Dashboard 인증/프로젝트 확인", .skipped(reason))) + } - let installStatus = runTuist(arguments: ["install"] + forwardedArguments) + let installStatus = runTuist(arguments: ["install"] + installArguments(forwardedArguments: forwardedArguments)) results.append(("의존성 설치", installStatus == 0 ? .passed : .failed(installStatus))) guard installStatus == 0 else { printSetupSummary(results) return installStatus } - let generateStatus = runTuist(arguments: ["generate"]) + if usesBinaryCache(forwardedArguments: forwardedArguments), !isCIEnvironment { + let cacheStatus = warmBinaryCache() + results.append(("외부 바이너리 캐시 준비", cacheStatus == 0 ? .passed : .failed(cacheStatus))) + guard cacheStatus == 0 else { + printSetupSummary(results) + return cacheStatus + } + } else { + let reason = isCIEnvironment ? "CI 환경" : "--no-binary-cache" + results.append(("외부 바이너리 캐시 준비", .skipped(reason))) + } + + let generateForwardedArguments = filteredGenerateArguments(forwardedArguments: forwardedArguments) + let generateStatus = runTuist( + arguments: ["generate"] + generateArguments(forwardedArguments: generateForwardedArguments) + ) results.append(("프로젝트 생성", generateStatus == 0 ? .passed : .failed(generateStatus))) printSetupSummary(results) return generateStatus case .generate: - return runTuist(arguments: ["generate"] + forwardedArguments) + let authStatus = prepareBinaryCacheIfNeeded( + forwardedArguments: forwardedArguments, + allowFailure: true + ) + guard authStatus == 0 else { return authStatus } + return runTuist(arguments: ["generate"] + generateArguments(forwardedArguments: forwardedArguments)) case .build: - for arguments in [["clean"], ["install"], ["generate"]] { - let status = runTuist(arguments: arguments) - guard status == 0 else { return status } - } - return 0 + let cleanStatus = runTuist(arguments: ["clean"]) + guard cleanStatus == 0 else { return cleanStatus } + return installAndGenerate(forwardedArguments: forwardedArguments) case .install: return installAndGenerate(forwardedArguments: forwardedArguments) case .cache: - return runTuist(arguments: ["cache"] + forwardedArguments) + return warmBinaryCache(forwardedArguments: forwardedArguments) case .cacheSetup: - return runTuist(arguments: ["setup", "cache"] + forwardedArguments) + return warmBinaryCache(forwardedArguments: forwardedArguments) case .test: - return runTuist(arguments: ["test"] + forwardedArguments) + let authStatus = prepareBinaryCacheIfNeeded( + forwardedArguments: forwardedArguments, + allowFailure: true + ) + guard authStatus == 0 else { return authStatus } + return runTuist(arguments: ["test"] + generateArguments(forwardedArguments: forwardedArguments)) case .format: return run("mise", arguments: ["exec", "--", "swiftformat", "."] + forwardedArguments) diff --git a/fastlane/Fastfile b/fastlane/Fastfile index 9c8a8f59..2a848585 100644 --- a/fastlane/Fastfile +++ b/fastlane/Fastfile @@ -179,7 +179,7 @@ platform :ios do # 갱신된 빌드 번호 반영을 위해 Tuist 강제 재생성 Dir.chdir("..") do puts "🔧 Tuist workspace 재생성 중..." - sh("tuist generate --no-open") + sh("tuist generate --no-binary-cache --no-open") puts "✅ Tuist workspace 재생성 완료" end @@ -215,14 +215,14 @@ platform :ios do begin if File.exist?("make") - puts "🔧 Trying ./make install..." - sh("./make install") + puts "🔧 Trying Tuist install..." + sh("mise exec -- tuist install") puts "🔧 Trying ./make generate..." - sh("./make generate") + sh("./make generate --no-binary-cache --no-open") else puts "🔧 Trying tuist directly..." sh("tuist install") - sh("tuist generate --no-open") + sh("tuist generate --no-binary-cache --no-open") end rescue => e puts "❌ Generation failed: #{e.message}" @@ -330,7 +330,7 @@ platform :ios do # Tuist 프로젝트 재생성 Dir.chdir("..") do puts "🔧 Tuist workspace 재생성 중..." - sh("tuist generate --no-open") + sh("tuist generate --no-binary-cache --no-open") puts "✅ Tuist workspace 재생성 완료" end @@ -366,14 +366,14 @@ platform :ios do begin if File.exist?("make") - puts "🔧 ./make install 실행 중..." - sh("./make install") + puts "🔧 Tuist install 실행 중..." + sh("mise exec -- tuist install") puts "🔧 ./make generate 실행 중..." - sh("./make generate") + sh("./make generate --no-binary-cache --no-open") else puts "🔧 tuist 직접 실행 중..." sh("tuist install") - sh("tuist generate --no-open") + sh("tuist generate --no-binary-cache --no-open") end rescue => e puts "❌ 생성 실패: #{e.message}" @@ -504,7 +504,7 @@ platform :ios do end Dir.chdir("..") do - sh("tuist generate --no-open") + sh("tuist generate --no-binary-cache --no-open") build_app( workspace: File.expand_path("Picke.xcworkspace"), scheme: SCHEME, diff --git a/make b/make index c44859fee3cc28ae16661e5a2a43aaadcdc89fe9..a12c1085a7a127751b09996e6ec35c5d17dfe68d 100755 GIT binary patch literal 165000 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
        F&&=uN-twZb(JnOca$Qk;%%-QPg>Y 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 literal 145336 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

        8QZ7I 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

          rfw8k-?fHPeaHHWA^U?c~fH$IhAx(j4K0l8bB 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 Date: Thu, 10 Sep 2026 16:31:31 +0900 Subject: [PATCH 82/83] =?UTF-8?q?fix:=20Xcode=2026.5=EC=97=90=EC=84=9C?= =?UTF-8?q?=EB=8F=84=20=EB=A1=9C=EC=BB=AC=20=EB=AA=A8=EB=93=88=20=EC=BA=90?= =?UTF-8?q?=EC=8B=9C=EB=A5=BC=20=EC=A0=80=EC=9E=A5=ED=95=A0=20=EC=88=98=20?= =?UTF-8?q?=EC=9E=88=EA=B2=8C=20=ED=95=9C=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 빌드 로그 파서 수정이 포함된 Tuist 4.207.0으로 실행 버전을 통일한다. 기존 Bitrise 버전 핀도 맞추되 Dashboard와 캐시 연동은 로컬에만 둔다. 독립 Alamofire fixture의 캐시 저장 성공을 확인했고 전체 앱 테스트 348개가 통과했다. 프로젝트 전체 캐시 저장 검증은 진행 중이다. Rejected: 캐시 생성에만 별도 Tuist 버전 사용 | 생성과 캐시의 실행 버전을 일치시키기 위해 제외 --- Tuist/Package.swift | 2 +- bitrise.yml | 2 +- mise.toml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Tuist/Package.swift b/Tuist/Package.swift index 7e500de0..d65b95f9 100644 --- a/Tuist/Package.swift +++ b/Tuist/Package.swift @@ -81,7 +81,7 @@ let package = Package( name: "TimeSpot", dependencies: [ .package(url: "https://github.com/pointfreeco/swift-composable-architecture", exact: "1.26.2"), - // Tuist 4.154는 1.13+의 traits 조건부 Clocks/CombineSchedulers 의존성을 누락한다. + // 1.13+의 traits 조건부 Clocks/CombineSchedulers 의존성이 Tuist에서 누락되는 문제를 피한다. // 소스 빌드와 바이너리 캐시가 같은 그래프를 쓰도록 마지막 비조건부 버전을 고정한다. .package(url: "https://github.com/pointfreeco/swift-dependencies", exact: "1.12.0"), .package(url: "https://github.com/pointfreeco/sqlite-data", exact: "1.11.0"), diff --git a/bitrise.yml b/bitrise.yml index cfeeb6d8..b7688975 100644 --- a/bitrise.yml +++ b/bitrise.yml @@ -11,7 +11,7 @@ meta: app: envs: - CONFIG_REPO: SWYP-Find/iOS-Config - - TUIST_VERSION: 4.154.0 + - TUIST_VERSION: 4.207.0 - REPO: SWYP-Find/Picke-iOS # Sentry — SENTRY_AUTH_TOKEN 은 Bitrise Secrets 에 등록한다(코드에 두지 않음). # 토큰이 없으면 Fastfile 의 upload_build_to_sentry 가 스스로 스킵하므로 배포는 계속된다. diff --git a/mise.toml b/mise.toml index 90d826fe..91237b94 100644 --- a/mise.toml +++ b/mise.toml @@ -1,2 +1,2 @@ [tools] -tuist = "4.154.0" +tuist = "4.207.0" From 4b4461991b815402c61c6b3da2895d6ad84f4ebf Mon Sep 17 00:00:00 2001 From: Roy Date: Thu, 10 Sep 2026 16:44:01 +0900 Subject: [PATCH 83/83] =?UTF-8?q?docs:=20=ED=98=84=EC=9E=AC=20=EB=AA=A8?= =?UTF-8?q?=EB=93=88=20=EA=B5=AC=EC=A1=B0=EB=A5=BC=20Attendance=EC=B2=98?= =?UTF-8?q?=EB=9F=BC=20=EC=B0=BE=EC=95=84=EB=B3=BC=20=EC=88=98=20=EC=9E=88?= =?UTF-8?q?=EA=B2=8C=20=ED=95=9C=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit TuistSpider에서 Picke와 각 Assembly의 내부 의존성을 직접 내보내고 사용자가 지정한 docs/grpah 경로로 이미지와 README 링크를 맞췄다. 로컬 Dashboard와 캐시, Fastlane의 바이너리 캐시 제외 설정을 문서화했다. PNG 7장과 README 로컬 링크, diff 형식을 확인했다. Rejected: 이전 모듈 구조의 그래프 재사용 | 현재 실제 의존성을 설명해야 하므로 제외 --- README.md | 366 ++++++++++++------ docs/graphs/Picke-expanded-Picke.png | Bin 248842 -> 0 bytes docs/graphs/Picke-grouped-Picke.png | Bin 36720 -> 0 bytes docs/grpah/Picke-expanded-CoreAssembly.png | Bin 0 -> 74128 bytes docs/grpah/Picke-expanded-DomainAssembly.png | Bin 0 -> 283767 bytes docs/grpah/Picke-expanded-FeatureAssembly.png | Bin 0 -> 346393 bytes docs/grpah/Picke-expanded-Picke.png | Bin 0 -> 427596 bytes docs/grpah/Picke-expanded-PickeSharedUI.png | Bin 0 -> 48256 bytes docs/grpah/Picke-expanded-ServiceAssembly.png | Bin 0 -> 194526 bytes docs/grpah/Picke-grouped-Picke.png | Bin 0 -> 33070 bytes 10 files changed, 257 insertions(+), 109 deletions(-) delete mode 100644 docs/graphs/Picke-expanded-Picke.png delete mode 100644 docs/graphs/Picke-grouped-Picke.png create mode 100644 docs/grpah/Picke-expanded-CoreAssembly.png create mode 100644 docs/grpah/Picke-expanded-DomainAssembly.png create mode 100644 docs/grpah/Picke-expanded-FeatureAssembly.png create mode 100644 docs/grpah/Picke-expanded-Picke.png create mode 100644 docs/grpah/Picke-expanded-PickeSharedUI.png create mode 100644 docs/grpah/Picke-expanded-ServiceAssembly.png create mode 100644 docs/grpah/Picke-grouped-Picke.png diff --git a/README.md b/README.md index 803c8323..75ecd7d5 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,24 @@ # Picke iOS -Picke는 일상의 가치관 차이를 1:1 토론, 투표, 리캡으로 이어 주는 iOS 앱입니다. +
          + +**가치관 충돌에서 시작하는 1:1 철학 배틀 플랫폼** ![Platform](https://img.shields.io/badge/Platform-iOS-orange.svg) ![Swift](https://img.shields.io/badge/Swift-6-FA7343.svg?logo=swift&logoColor=white) ![iOS](https://img.shields.io/badge/iOS-17.0+-34C759.svg) -![Tuist](https://img.shields.io/badge/Tuist-4.x-blue.svg) -![TCA](https://img.shields.io/badge/Architecture-TCA-purple.svg) +![Architecture](https://img.shields.io/badge/Architecture-TCA-purple.svg) +![Tuist](https://img.shields.io/badge/Tuist-4.207.0-blue.svg) + +[아키텍처](#아키텍처) · [모듈 그래프](#모듈-그래프) · [빠른 시작](#빠른-시작) · [개발 명령어](#개발-명령어) + +
          + +## 프로젝트 + +Picke는 일상의 가치관 차이를 오늘의 배틀, 1:1 토론, 사전·사후 투표, 리캡 공유로 이어 주는 iOS 앱입니다. -## 주요 기능 +주요 기능: - Google, Kakao, Apple 기반 소셜 로그인 - 오늘의 배틀, 사전 투표, 1:1 토론, 사후 투표, 리캡 공유 @@ -18,46 +28,217 @@ Picke는 일상의 가치관 차이를 1:1 토론, 투표, 리캡으로 이어 - APNs 푸시 알림과 딥링크 라우팅 - Mixpanel 분석, Google Mobile Ads, Sentry 오류 수집 -## 기술 스택 +## 아키텍처 + +SwiftUI와 The Composable Architecture를 기반으로 한 Clean Architecture 멀티 모듈 프로젝트입니다. Tuist가 프로젝트 생성, 모듈 의존성, 테스트 스킴, 바이너리 캐시 흐름을 관리합니다. -- Swift 6, SwiftUI, iOS 17+ -- Tuist 4 기반 멀티 모듈 -- The Composable Architecture, TCAFlow -- Dependencies, SQLiteData, Alamofire -- Firebase, Mixpanel, Google Mobile Ads, Sentry +~~~text +Projects/ +├── App/ # 앱 진입점, AppReducer, DI 조립, 리소스 +├── Feature/ +│ ├── FeatureAssembly/ # 전체 Feature 조립 결과를 앱에 제공 +│ ├── FeatureSharedUI/ # Feature 공통 UI +│ ├── Auth/ # 로그인 +│ ├── Home/ # 홈·출석 모달 +│ ├── Battle/ # 배틀 메인 +│ ├── Chat/ # 채팅·투표·관점·큐레이팅 +│ ├── Hifi/ # 탐색·검색 +│ ├── Notification/ # 알림 +│ ├── Profile/ # 마이페이지·설정·리캡 +│ ├── Splash/ # 스플래시·앱 업데이트 +│ └── Web/ # WebView +├── Domain/ +│ ├── DomainAssembly/ # 도메인별 라이브 의존성 조립 +│ ├── AuthDomain/ # 인증 도메인 +│ ├── BattleDomain/ # 배틀 도메인 +│ ├── CommentDomain/ # 댓글·대댓글 도메인 +│ ├── HomeDomain/ # 홈 도메인 +│ ├── NotificationDomain/ # 알림 도메인 +│ ├── PerspectiveDomain/ # 관점 도메인 +│ ├── ProfileDomain/ # 프로필 도메인 +│ ├── SearchDomain/ # 검색 도메인 +│ ├── AttendanceDomain/ # 출석 도메인 +│ └── AppUpdateDomain/ # 앱 업데이트 도메인 +├── Service/ +│ ├── ServiceAssembly/ # API·인증·분석·디바이스 서비스 조립 +│ ├── API/ # API 경로 상수 +│ ├── APIEndpoint/ # 요청 명세 +│ ├── PickeAuth/ # 인증 세션과 토큰 갱신 +│ ├── PickeAnalytics/ # 분석 이벤트 +│ ├── PickeConfig/ # 앱 환경 설정 +│ ├── DeviceService/ # 디바이스·푸시 토큰 +│ └── AudioPlayerService/ # 오디오 재생 +├── Core/ +│ ├── CoreAssembly/ # Core 구현 묶음 +│ ├── PickeNetwork/ # Alamofire 기반 네트워크 +│ ├── PickeStorage/ # Keychain 저장소 +│ ├── PickeCoreLogger/ # 로깅 +│ ├── PickeCoreUtility/ # 공통 Swift·TCA 유틸리티 +│ ├── PickeCoreUI/ # UI 기반 타입 +│ └── PickeThirdParty/ # 외부 패키지 재노출 +└── UI/ + ├── PickeDesignKit/ # 디자인 토큰·컴포넌트·리소스 + ├── PickeSharedUI/ # 앱 공통 화면 컴포넌트 + └── PickeAnimation/ # 이미지·애니메이션 리소스 +~~~ + +### 의존성 흐름 + +~~~mermaid +flowchart TD + App --> FeatureAssembly + App --> DomainAssembly + App --> ServiceAssembly + + FeatureAssembly --> Features[Feature modules] + Features --> DomainInterfaces["*DomainInterface"] + Features --> UI[UI modules] + + DomainAssembly --> Domains[Domain modules] + Domains --> DomainInterfaces + Domains --> ServiceAssembly + + ServiceAssembly --> Services[Service modules] + ServiceAssembly --> CoreAssembly + Services --> CoreAssembly + + CoreAssembly --> Network[PickeNetwork] + CoreAssembly --> Storage[PickeStorage] + CoreAssembly --> Logger[PickeCoreLogger] +~~~ + +설계 원칙: + +- App은 FeatureAssembly, DomainAssembly, ServiceAssembly를 통해 앱 전체 의존성을 조립합니다. +- Feature 모듈은 화면, TCA Reducer, Coordinator를 소유하고 외부 IO는 Domain Interface와 UseCase를 통해 호출합니다. +- Domain 모듈은 기능별 Entity, Repository 계약, UseCase 구현을 소유합니다. +- ServiceAssembly는 API, 인증, 분석, 디바이스, 오디오 서비스를 CoreAssembly와 연결합니다. +- CoreAssembly는 Network, Storage, Logger, Utility 등 앱 기반 구현을 묶습니다. +- UI 계층은 디자인 토큰, 공통 컴포넌트, 애니메이션 리소스를 제공합니다. + +### 의존성 주입 + +별도 런타임 DI 컨테이너 대신 Point-Free Dependencies를 사용합니다. + +- 각 Domain·Service·Core 모듈은 필요한 `DependencyKey`와 기본값을 선언합니다. +- Assembly 모듈은 live 구현을 `DependencyValues`에 등록합니다. +- Feature는 Repository 구현체를 직접 알지 않고 UseCase 또는 Interface만 사용합니다. +- 테스트·프리뷰 기본값은 Interface 또는 Testing 타깃에서 관리합니다. + +## 모듈 그래프 + +~~~bash +./make graph # 외부 패키지·Demo를 제외하고 Tests·Testing·Interface를 포함한 모듈 그래프 +./make graph:prod # 외부 패키지·Demo·Tests를 제외한 제품 그래프 +~~~ + +TuistSpider에서 Picke와 주요 조립 모듈을 기준으로 내부 의존성을 확장한 그래프입니다. 외부 의존성은 숨기고, 의존하는 방향을 전체 깊이로 표시했습니다. + +
          +Picke 전체 모듈 + +![Picke 전체 모듈 단계별 그래프](docs/grpah/Picke-grouped-Picke.png) + +![Picke 전체 모듈 그래프](docs/grpah/Picke-expanded-Picke.png) -의존성 버전은 고정 표로 관리하지 않습니다. 실제 기준은 [Tuist/Package.swift](Tuist/Package.swift)와 [Tuist/Package.resolved](Tuist/Package.resolved)입니다. +
          -## 프로젝트 구조 +
          +FeatureAssembly -```text -Projects/ -├── App/ # 앱 진입점, AppReducer, DI 조립, 리소스 -├── Feature/ # SwiftUI 화면, TCA Feature, Coordinator -├── Domain/ # Entity, Interface, UseCase, Testing -├── Service/ # API, endpoint, auth, analytics, device/audio service -├── Core/ # network, storage, logger, utility, third party bridge -└── UI/ # design kit, shared UI, animation -``` +![FeatureAssembly 모듈 그래프](docs/grpah/Picke-expanded-FeatureAssembly.png) + +
          + +
          +DomainAssembly + +![DomainAssembly 모듈 그래프](docs/grpah/Picke-expanded-DomainAssembly.png) + +
          + +
          +ServiceAssembly + +![ServiceAssembly 모듈 그래프](docs/grpah/Picke-expanded-ServiceAssembly.png) + +
          + +
          +CoreAssembly + +![CoreAssembly 모듈 그래프](docs/grpah/Picke-expanded-CoreAssembly.png) -의존성 방향은 Feature가 Domain Interface를 바라보고, 구현체 조립은 App과 Assembly 계층에서 수행하는 방식입니다. 세부 규칙은 [AGENTS.md](AGENTS.md)와 [docs/agent](docs/agent)를 기준으로 확인합니다. +
          -## 개발 환경 +
          +PickeSharedUI + +![PickeSharedUI 모듈 그래프](docs/grpah/Picke-expanded-PickeSharedUI.png) + +
          + +## 기술 스택 + +| 영역 | 기술 | +|---|---| +| 언어 | Swift 6, Swift Concurrency | +| UI | SwiftUI | +| 상태 관리 | The Composable Architecture 1.26.2 | +| 내비게이션 | TCAFlow 1.1.8 | +| 프로젝트 | Tuist 4.207.0, Mise | +| 의존성 주입 | Point-Free Dependencies | +| 네트워크 | PickeNetwork, Alamofire | +| 로컬 데이터 | SQLiteData | +| 인증 | Sign in with Apple, GoogleSignIn, AppAuth | +| 저장소 | PickeStorage, Keychain | +| 이미지 | SDWebImageSwiftUI, Kingfisher | +| 모니터링 | Firebase Crashlytics, Sentry | +| 분석·광고 | Mixpanel, Google Mobile Ads | +| 테스트 | Swift Testing, XCTest, Tuist | + +의존성 버전의 실제 기준은 [Tuist/Package.swift](Tuist/Package.swift)와 [Tuist/Package.resolved](Tuist/Package.resolved)입니다. 보조 패키지 `swift-dependencies`는 Tuist에서 확인된 traits 조건부 의존성 누락 문제를 피하도록 `1.12.0`에 고정했습니다. 이 제한은 소스 빌드와 외부 모듈 캐시 모두에 적용됩니다. + +지원 환경: + +- iOS 17.0 이상 +- Swift 6 +- Xcode 26 이상 +- iPhone + +## 빌드 환경 로컬 확인 기준: - Xcode 26.5 - Apple Swift 6.3.2 -- Tuist 4.154.0 +- Tuist 4.207.0 -Tuist 버전은 [mise.toml](mise.toml)에 고정되어 있습니다. 새 환경에서는 mise를 통해 동일 버전을 맞추는 것을 권장합니다. +Tuist 버전은 [mise.toml](mise.toml)에 고정되어 있습니다. -TCA `1.26.2`와 TCAFlow `1.1.8`을 사용합니다. 보조 패키지 `swift-dependencies`는 Tuist 4.154의 조건부 의존성 누락 문제를 피하도록 `1.12.0`에 고정했습니다. 이 제한은 소스 빌드와 외부 모듈 캐시 모두에 적용됩니다. - -```bash +~~~bash mise install mise exec -- tuist version -``` +~~~ + +빌드 환경별 xcconfig에 필요한 값을 채웁니다. + +~~~xcconfig +BASE_URL = picke.store +GOOGLE_CLIENT_ID = YOUR_GOOGLE_WEB_CLIENT_ID +GOOGLE_IOS_CLIENT_ID = YOUR_GOOGLE_IOS_CLIENT_ID +REVERSED_CLIENT_ID = YOUR_REVERSED_CLIENT_ID +KAKAO_REST_API_KEY = YOUR_KAKAO_REST_API_KEY +REWARD_AD_UNIT = YOUR_REWARD_AD_UNIT +~~~ + +OAuth redirect URI는 서버 중계 흐름을 기준으로 등록합니다. + +| Provider | Redirect URI | +|---|---| +| Google | `https://picke.store/oauth/google` | +| Kakao | `https://picke.store/oauth/kakao` | +| Apple | Native Sign in with Apple | ## Tuist Dashboard와 캐시 @@ -73,16 +254,16 @@ mise exec -- tuist version 로컬에서 Dashboard 연결과 로컬 바이너리 캐시를 준비하려면 `./make setup`을 실행합니다. 이 명령은 mise 도구 설치 후 Tuist 로그인을 확인하고, 로그인되어 있지 않으면 `tuist auth login`을 실행한 뒤 `Tuist.swift`의 `picke2026/picke` 연결을 `tuist project show`로 확인합니다. 이후 의존성을 설치하고 외부 모듈 바이너리 캐시를 로컬 저장소에 준비한 다음 프로젝트를 생성합니다. -```bash +~~~bash ./make setup -``` +~~~ `./make generate`, `./make test`, `./make cache`도 로컬에서는 필요한 Tuist Dashboard 인증과 프로젝트 확인을 먼저 수행합니다. 바이너리 캐시를 쓰지 않을 때는 Tuist 옵션을 그대로 전달합니다. -```bash +~~~bash ./make generate --no-binary-cache --no-open ./make test --no-binary-cache -``` +~~~ `./make cache`와 `./make cache:setup`은 기본적으로 `TUIST_LOCAL_CACHE_ONLY=true tuist cache warm --external-only`를 실행해 외부 의존성 중심으로 로컬 캐시를 데웁니다. CI에서는 Dashboard 인증, 프로젝트 확인, 캐시 준비를 건너뛰며, 별도 CI 캐시 연동은 하지 않습니다. @@ -90,94 +271,67 @@ Fastlane이나 CI용 래퍼처럼 캐시가 필요 없는 자동화 경로에서 ## 빠른 시작 -```bash +~~~bash git clone git@github.com:SWYP-Find/Picke-iOS.git cd Picke-iOS -mise install + ./make setup open Picke.xcworkspace -``` +~~~ + +Xcode에서 `Picke-Stage` 또는 필요한 스킴과 사용할 iPhone 시뮬레이터를 선택해 실행합니다. `CLAUDE.md`가 필요한 도구는 `AGENTS.md`와 같은 내용을 보도록 심볼릭 링크를 만들 수 있습니다. -```bash +~~~bash ln -s AGENTS.md CLAUDE.md -``` - -## 주요 명령어 - -```bash -./make setup -``` - -mise 도구 설치, 캐시 설정, 의존성 설치, 프로젝트 생성을 한 번에 실행합니다. - -```bash -./make install -``` - -의존성 설치 후 프로젝트를 생성합니다. - -```bash -./make generate -``` - -Tuist 프로젝트를 생성합니다. Xcode를 열지 않으려면 `./make generate --no-open`을 사용합니다. -로컬에서 바이너리 캐시를 사용하지 않으려면 `./make generate --no-binary-cache --no-open`을 사용합니다. - -```bash -./make build -``` - -`clean`, `install`, `generate`를 순서대로 실행하는 전체 워크플로우입니다. - -```bash -./make test -``` +~~~ -전체 테스트를 실행합니다. -로컬 바이너리 캐시를 건너뛰려면 `./make test --no-binary-cache`를 사용합니다. +## 개발 명령어 -```bash -make test -``` - -훅 호환용 명령입니다. 실제 테스트를 실행하지 않고 스킵 메시지만 출력합니다. - -```bash -mise exec -- tuist test -``` - -전체 테스트를 실행합니다. 시간이 오래 걸릴 수 있어 CI 또는 수동 검증에서 사용합니다. +~~~bash +./make setup # mise 설치, Dashboard 확인, install, 외부 캐시 준비, generate +./make generate # Demo 앱을 포함해 Xcode 프로젝트 생성 +./make generate --no-open # Xcode를 열지 않고 프로젝트 생성 +./make generate --no-binary-cache --no-open +./make build # clean, install, generate +./make install # 의존성 설치 후 generate +./make test # 전체 테스트 +./make test --no-binary-cache # 로컬 바이너리 캐시 없이 전체 테스트 +./make cache # 외부 바이너리 캐시 준비 +./make cache:setup # 외부 바이너리 캐시 준비(cache 별칭) +./make format # SwiftFormat 적용 +./make lint # SwiftFormat 검사 +./make clean # 생성 프로젝트 정리 +./make reset # DerivedData 정리 후 프로젝트 재생성 +~~~ -```bash -tuist clean -``` +훅 호환용 `make test`는 실제 테스트를 실행하지 않고 스킵 메시지만 출력합니다. 실제 테스트는 `./make test` 또는 `mise exec -- tuist test`를 사용합니다. -Tuist 캐시와 빌드 산출물 문제를 정리할 때 사용합니다. +새 모듈 생성: -## 설정 +~~~bash +./make feature <이름> +./make core <이름> +./make service <이름> +./make domain <이름> +./make ui <이름> +./make module <레이어> <이름> -빌드 환경별 xcconfig에 필요한 값을 채웁니다. +# 자동으로 만든 카탈로그 case가 원하는 이름과 다를 때 +./make feature <이름> --case <케이스명> +~~~ -```xcconfig -BASE_URL = picke.store -GOOGLE_CLIENT_ID = YOUR_GOOGLE_WEB_CLIENT_ID -GOOGLE_IOS_CLIENT_ID = YOUR_GOOGLE_IOS_CLIENT_ID -REVERSED_CLIENT_ID = YOUR_REVERSED_CLIENT_ID -KAKAO_REST_API_KEY = YOUR_KAKAO_REST_API_KEY -REWARD_AD_UNIT = YOUR_REWARD_AD_UNIT -``` +모듈 생성 명령은 scaffold뿐 아니라 모듈 카탈로그와 해당 레이어 Assembly 의존성도 함께 갱신합니다. -OAuth redirect URI는 서버 중계 흐름을 기준으로 등록합니다. +## 배포와 자동화 -| Provider | Redirect URI | -| --- | --- | -| Google | `https://picke.store/oauth/google` | -| Kakao | `https://picke.store/oauth/kakao` | -| Apple | Native Sign in with Apple | +- Fastlane QA와 release 레인은 빌드 번호를 갱신한 뒤 `tuist generate --no-binary-cache --no-open`로 워크스페이스를 재생성합니다. +- workspace가 없을 때 fallback 경로는 `mise exec -- tuist install` 후 `./make generate --no-binary-cache --no-open`을 실행합니다. +- Bitrise 배포 워크플로는 Fastlane을 통해 TestFlight 또는 App Store 제출을 수행합니다. +- CI에는 Tuist Dashboard 원격 캐시 연동을 추가하지 않습니다. -## 문서 +## 개발 가이드 - [TCA 패턴](docs/agent/tca-patterns.md) - [SwiftUI 패턴](docs/agent/swiftui-patterns.md) @@ -186,12 +340,6 @@ OAuth redirect URI는 서버 중계 흐름을 기준으로 등록합니다. - [Micro Feature 진행 현황](docs/agent/micro-feature-migration-progress.md) - [도메인/데이터/피처 아키텍처](docs/domain-data-feature-architecture.md) -## 그래프 - -| Grouped | Expanded | -| --- | --- | -| ![Grouped](docs/graphs/Picke-grouped-Picke.png) | ![Expanded](docs/graphs/Picke-expanded-Picke.png) | - ## 브랜치 전략 - `main`: 프로덕션 배포 diff --git a/docs/graphs/Picke-expanded-Picke.png b/docs/graphs/Picke-expanded-Picke.png deleted file mode 100644 index 798fcd8049d0f7f66df1ab2ab9813f1b2656cb6d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 248842 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�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 pY3+56ONz&k^8+N2r@W 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

        E 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%0AsM@_e0VQEk-+VRZ;~Z#WTuI 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

        IWxX#6@sm2dk{VyC69+I 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ÛMbN3&ja_r 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 Ee{!BXy8r+H From c3d086380e6018c01ef0038de3013e8f033385b3 Mon Sep 17 00:00:00 2001 From: Roy Date: Mon, 7 Sep 2026 18:43:43 +0900 Subject: [PATCH 62/83] =?UTF-8?q?refactor(storage):=20appleUserName=20?= =?UTF-8?q?=EC=9D=84=20appStorage=20=EC=97=90=EC=84=9C=20=EC=98=81?= =?UTF-8?q?=EC=86=8D=20=EC=A0=80=EC=9E=A5=EC=86=8C=EB=A1=9C=20=EC=98=AE?= =?UTF-8?q?=EA=B8=B4=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit legacyData 훅으로 기존 UserDefaults 값을 첫 조회 때 이관해 값 유실이 없다. --- .../Entity/OAuth/AppleUserNameSharedKey.swift | 45 +++++++++++++++++++ .../Sources/OAuth/UnifiedOAuthUseCase.swift | 18 +------- .../Apple/AppleOAuthRepositoryImpl.swift | 2 +- 3 files changed, 47 insertions(+), 18 deletions(-) create mode 100644 Projects/Domain/AuthDomain/Interface/Sources/Entity/OAuth/AppleUserNameSharedKey.swift diff --git a/Projects/Domain/AuthDomain/Interface/Sources/Entity/OAuth/AppleUserNameSharedKey.swift b/Projects/Domain/AuthDomain/Interface/Sources/Entity/OAuth/AppleUserNameSharedKey.swift new file mode 100644 index 00000000..346904f2 --- /dev/null +++ b/Projects/Domain/AuthDomain/Interface/Sources/Entity/OAuth/AppleUserNameSharedKey.swift @@ -0,0 +1,45 @@ +// +// AppleUserNameSharedKey.swift +// AuthDomainInterface +// + +import Foundation + +import PickeStorageInterface + +import Sharing + +public extension SharedReaderKey where Self == PersistentSharedKey.Default { + /// Apple 로그인이 최초 1회만 내려주는 표시 이름. + /// + /// 재로그인 시에는 Apple 이 이름을 주지 않으므로 앱이 직접 들고 있어야 한다. + static var appleUserName: Self { + Self[ + .persistent( + "AppleUserName", + encode: { name in + try JSONEncoder().encode(AppleUserNameSnapshot(name)) + }, + decode: { data in + try JSONDecoder().decode(AppleUserNameSnapshot.self, from: data).name + }, + legacyData: { + // `.appStorage("appleUserName")` 로 쌓아둔 값을 첫 조회 때 옮긴다. + guard let name = UserDefaults.standard.string(forKey: "appleUserName") else { return nil } + return try JSONEncoder().encode(AppleUserNameSnapshot(name)) + } + ), + default: nil + ] + } +} + +private struct AppleUserNameSnapshot: Codable, Sendable { + let schemaVersion: Int + let name: String? + + init(_ name: String?) { + schemaVersion = 1 + self.name = name + } +} diff --git a/Projects/Domain/AuthDomain/Sources/OAuth/UnifiedOAuthUseCase.swift b/Projects/Domain/AuthDomain/Sources/OAuth/UnifiedOAuthUseCase.swift index 959ab975..0cd2bdf0 100644 --- a/Projects/Domain/AuthDomain/Sources/OAuth/UnifiedOAuthUseCase.swift +++ b/Projects/Domain/AuthDomain/Sources/OAuth/UnifiedOAuthUseCase.swift @@ -11,7 +11,6 @@ import Dependencies import Foundation import LogMacro import Sharing -import PickeStorageInterface /// 통합 OAuth UseCase — 소셜 인증 → 백엔드 로그인까지 단일 진입점 public struct UnifiedOAuthUseCase: UnifiedOAuthUseCaseInterface { @@ -19,9 +18,8 @@ public struct UnifiedOAuthUseCase: UnifiedOAuthUseCaseInterface { @Dependency(\.appleOAuthProvider) private var appleProvider: AppleOAuthProviderInterface @Dependency(\.googleOAuthProvider) private var googleProvider: GoogleOAuthProviderInterface @Dependency(\.kakaoOAuthProvider) private var kakaoProvider: KakaoOAuthProviderInterface - @Dependency(\.keychainManager) private var keychainManager: KeychainManaging @Shared(.userSession) var userSession: UserSession - @Shared(.appStorage("appleUserName")) var savedAppleUserName: String? + @Shared(.appleUserName) var savedAppleUserName: String? public init() {} } @@ -86,8 +84,6 @@ public extension UnifiedOAuthUseCase { } let authCode = payload.authorizationCode ?? "" - AuthLocalStorage.authCode = authCode - AuthLocalStorage.idToken = payload.idToken let loginEntity = try await authRepository.login( provider: .apple, @@ -96,10 +92,6 @@ public extension UnifiedOAuthUseCase { idToken: payload.idToken ) - keychainManager.save( - accessToken: loginEntity.token.accessToken, - refreshToken: loginEntity.token.refreshToken - ) await authRepository.updateSessionCredential(with: loginEntity.token) return loginEntity @@ -125,10 +117,6 @@ public extension UnifiedOAuthUseCase { idToken: nil ) - keychainManager.save( - accessToken: loginEntity.token.accessToken, - refreshToken: loginEntity.token.refreshToken - ) await authRepository.updateSessionCredential(with: loginEntity.token) return loginEntity @@ -152,10 +140,6 @@ public extension UnifiedOAuthUseCase { idToken: nil ) - keychainManager.save( - accessToken: loginEntity.token.accessToken, - refreshToken: loginEntity.token.refreshToken - ) await authRepository.updateSessionCredential(with: loginEntity.token) return loginEntity diff --git a/Projects/Domain/AuthDomain/Sources/Repository/OAuth/Apple/AppleOAuthRepositoryImpl.swift b/Projects/Domain/AuthDomain/Sources/Repository/OAuth/Apple/AppleOAuthRepositoryImpl.swift index abb53be3..912f601b 100644 --- a/Projects/Domain/AuthDomain/Sources/Repository/OAuth/Apple/AppleOAuthRepositoryImpl.swift +++ b/Projects/Domain/AuthDomain/Sources/Repository/OAuth/Apple/AppleOAuthRepositoryImpl.swift @@ -20,7 +20,7 @@ import UIKit public final class AppleOAuthRepositoryImpl: NSObject, AppleOAuthInterface, @unchecked Sendable { private let logger = LogMacro.Log.self @Dependency(\.appleManger) var appleLoginManger - @Shared(.appStorage("appleUserName")) var appleUserName: String? + @Shared(.appleUserName) var appleUserName: String? private var currentNonce: String? private var signInContinuation: CheckedContinuation? From 4adfbe708717436189341e606774f03d0dd8b7fe Mon Sep 17 00:00:00 2001 From: Roy Date: Mon, 7 Sep 2026 18:45:30 +0900 Subject: [PATCH 63/83] =?UTF-8?q?refactor(structure):=20=EB=AA=A8=EB=93=88?= =?UTF-8?q?=20=EB=B0=B0=EC=B9=98=EC=99=80=20=EC=9D=98=EC=A1=B4=EC=84=B1=20?= =?UTF-8?q?=ED=91=9C=EA=B8=B0=EB=A5=BC=20=EC=B0=B8=EC=A1=B0=20=ED=94=84?= =?UTF-8?q?=EB=A1=9C=EC=A0=9D=ED=8A=B8=EC=97=90=20=EB=A7=9E=EC=B6=98?= =?UTF-8?q?=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 배치 - App/Sources: Reducer/Coordinator 와 View/Coordinator 로 갈려 있던 코디네이터를 Navigation/<피처>/ 한곳으로 모으고, Root 계층과 Di 디렉토리를 없앤다 - Tests: flat 배치 25개 모듈을 Tests/Sources/ 로 통일한다 - Interface: Interface 안에 또 Interface 가 겹쳐 있던 7군데를 펴고, Domain Interface 10개에 Sources/ 계층을 넣는다 - 매니페스트가 참조하지 않는 잔재 테스트 디렉토리 5개와 리소스 선언이 없는 모듈에 남아 있던 번들 Info.plist 를 지운다 의존성 - 도메인마다 되풀이하던 .service(.api)·.apiEndpoint·.core(.network)·.core(.coreUtility) 나열을 .serviceAssembly 한 줄로 바꾼다. ServiceAssembly 에 .apiEndpoint 를 넣어 묶음이 실제로 같은 범위를 덮게 한다 - App 은 조립 경계 셋과 직접 쓰는 SPM 둘만 남긴다. PickeCoreUI 는 CoreAssembly 로 옮겨 다른 모듈처럼 조립 경계를 통해 들어온다 - Core·Service 9개 모듈을 staticFramework 에서 framework 로 바꿔 중복 링크 경고를 27건에서 13건으로 줄인다 - Project.swift import 를 Foundation / 플러그인 / ProjectDescription 세 묶음으로 정렬한다 --- Projects/App/Project.swift | 5 ---- .../Application/AppDelegate+Configure.swift | 11 +++++--- .../Application/AppDelegate+Push.swift | 7 +++-- .../Application/AppDependencyFactory.swift | 10 +++---- .../Application/KingfisherConfigurator.swift | 4 +-- Projects/Core/CoreAssembly/Project.swift | 7 +++-- .../Exported/CoreAssemblyExported.swift | 1 + Projects/Core/PickeCoreLogger/Project.swift | 8 +++--- Projects/Core/PickeCoreUI/Project.swift | 6 +++-- Projects/Core/PickeCoreUtility/Project.swift | 8 +++--- Projects/Core/PickeNetwork/Project.swift | 6 +++-- Projects/Core/PickeStorage/Project.swift | 6 +++-- Projects/Core/PickeThirdParty/Project.swift | 8 +++--- Projects/Domain/AppUpdateDomain/Project.swift | 9 ++++--- .../Domain/AttendanceDomain/Project.swift | 12 ++++----- Projects/Domain/AuthDomain/Project.swift | 12 ++++----- Projects/Domain/BattleDomain/Project.swift | 12 ++++----- Projects/Domain/CommentDomain/Project.swift | 11 ++++---- Projects/Domain/DomainAssembly/Project.swift | 26 ++++++++++--------- Projects/Domain/HomeDomain/Project.swift | 11 ++++---- .../Domain/NotificationDomain/Project.swift | 11 ++++---- .../Domain/PerspectiveDomain/Project.swift | 12 ++++----- Projects/Domain/ProfileDomain/Project.swift | 12 ++++----- Projects/Domain/SearchDomain/Project.swift | 11 ++++---- Projects/Feature/Ad/Project.swift | 6 +++-- Projects/Feature/Auth/Project.swift | 6 +++-- Projects/Feature/Battle/Project.swift | 6 +++-- Projects/Feature/Chat/Project.swift | 9 ++++--- .../Feature/FeatureAssembly/Project.swift | 26 ++++++++++--------- Projects/Feature/Hifi/Project.swift | 8 +++--- Projects/Feature/Home/Project.swift | 8 +++--- Projects/Feature/Notification/Project.swift | 6 +++-- Projects/Feature/Profile/Project.swift | 10 ++++--- Projects/Feature/Splash/Project.swift | 8 +++--- .../Splash/Tests/Sources/SplashTests.swift | 25 +++++++++++++----- Projects/Feature/Web/Project.swift | 6 +++-- Projects/Service/API/Project.swift | 8 +++--- Projects/Service/APIEndpoint/Project.swift | 8 +++--- .../Service/AudioPlayerService/Project.swift | 8 +++--- Projects/Service/DeviceService/Project.swift | 8 +++--- Projects/Service/PickeAnalytics/Project.swift | 8 +++--- Projects/Service/PickeAuth/Project.swift | 8 +++--- .../Service/ServiceAssembly/Project.swift | 7 +++-- Projects/UI/PickeAnimation/Project.swift | 6 +++-- Projects/UI/PickeDesignKit/Project.swift | 6 +++-- Projects/UI/PickeSharedUI/Project.swift | 6 +++-- 46 files changed, 239 insertions(+), 184 deletions(-) diff --git a/Projects/App/Project.swift b/Projects/App/Project.swift index 2865b544..3b74f6ce 100644 --- a/Projects/App/Project.swift +++ b/Projects/App/Project.swift @@ -19,13 +19,8 @@ let project = Project.configure( // Core·Service 구현은 조립 경계 하나로 들어온다. // 앱 시작 전면 팝업 광고(Ad)도 여기에 포함된다. .serviceAssembly, - .core(.coreUI), - .core(.coreUtility), - .core(.network), - .core(.network, .interface), .SPM.googleMobileAds, .SPM.kingfisher, - .SPM.sdwebImageCore, ], sources: ["Sources/**"], resources: ["Resources/**"], diff --git a/Projects/App/Sources/Application/AppDelegate+Configure.swift b/Projects/App/Sources/Application/AppDelegate+Configure.swift index 3b19c1a6..88d7c18b 100644 --- a/Projects/App/Sources/Application/AppDelegate+Configure.swift +++ b/Projects/App/Sources/Application/AppDelegate+Configure.swift @@ -18,7 +18,7 @@ extension AppDelegate { configureAdMob() requestTrackingAuthorizationWhenActive() configurePushNotifications() - configureDependencies() + configureImageDownloader() } // MARK: - AdMob @@ -47,9 +47,12 @@ extension AppDelegate { #endif } - // MARK: - DI + // MARK: - 이미지 다운로더 - func configureDependencies() { - AppDependencyFactory.configureNetworkInfrastructure() + /// Store 수명 밖에서 도는 인프라라 기동 시 한 번만 설정한다. + func configureImageDownloader() { + KingfisherConfigurator.configureAuthorizedDownloader( + storage: AppDependencyFactory.secureStorage + ) } } diff --git a/Projects/App/Sources/Application/AppDelegate+Push.swift b/Projects/App/Sources/Application/AppDelegate+Push.swift index 4ca243bc..60e15910 100644 --- a/Projects/App/Sources/Application/AppDelegate+Push.swift +++ b/Projects/App/Sources/Application/AppDelegate+Push.swift @@ -8,6 +8,7 @@ import UIKit import UserNotifications import DomainAssembly +import PickeStorageInterface extension AppDelegate { func configurePushNotifications() { @@ -38,8 +39,10 @@ extension AppDelegate { PushTokenStore.current = tokenString #logDebug("[Push] APNs 토큰 수신: \(tokenString.prefix(12))…") - guard AppDependencyFactory.keychainManager.accessToken()?.isEmpty == false else { return } - Task { await PushTokenStore.register() } + Task { + guard await AppDependencyFactory.authService.isLoggedIn else { return } + await PushTokenStore.register() + } } func application( diff --git a/Projects/App/Sources/Application/AppDependencyFactory.swift b/Projects/App/Sources/Application/AppDependencyFactory.swift index a2e36352..c5d4e796 100644 --- a/Projects/App/Sources/Application/AppDependencyFactory.swift +++ b/Projects/App/Sources/Application/AppDependencyFactory.swift @@ -6,12 +6,15 @@ import CoreAssembly import DeviceService import DeviceServiceInterface import DomainAssembly +import PickeAuthInterface import PickeStorageInterface import ServiceAssembly enum AppDependencyFactory { /// 네트워크·인증·저장소 live 구현은 ServiceAssembly 가 단일 출처로 조립한다. static var secureStorage: any SecureStorage { StorageAssembly.secureStorage() } + /// 로그인 여부·토큰 판정은 PickeAuth 가 단독으로 책임진다. App 은 저장소를 직접 열지 않는다. + static var authService: any AuthService { NetworkContainer.authService } @MainActor static func configure(_ values: inout DependencyValues) { @@ -21,13 +24,6 @@ enum AppDependencyFactory { AppServiceFactory.configure(&values) } - /// Store 수명 밖에서 도는 인프라(이미지 다운로더)를 앱 시작 시 한 번 설정한다. - /// 화면 Reducer 의존성은 위 `configure(_:)`에서 명시적으로 주입한다. - static func configureNetworkInfrastructure() { - KingfisherConfigurator.configureAuthorizedDownloader( - storage: secureStorage - ) - } } private enum ChatFeatureFactory { diff --git a/Projects/App/Sources/Application/KingfisherConfigurator.swift b/Projects/App/Sources/Application/KingfisherConfigurator.swift index 12f85315..2a044307 100644 --- a/Projects/App/Sources/Application/KingfisherConfigurator.swift +++ b/Projects/App/Sources/Application/KingfisherConfigurator.swift @@ -22,7 +22,7 @@ enum KingfisherConfigurator { ] static func configureAuthorizedDownloader( - keychainManager: KeychainManaging + storage: any SecureStorage ) { let modifier = AnyModifier { request in var req = request @@ -32,7 +32,7 @@ enum KingfisherConfigurator { let host = url.host?.lowercased(), protectedHostSuffixes.contains(where: { host == $0 || host.hasSuffix(".\($0)") }), url.path.hasPrefix("/api/"), - let token = keychainManager.accessToken(), !token.isEmpty + let token = try? storage.load(.accessToken), let token, !token.isEmpty else { return req } diff --git a/Projects/Core/CoreAssembly/Project.swift b/Projects/Core/CoreAssembly/Project.swift index 24511523..ef759e39 100644 --- a/Projects/Core/CoreAssembly/Project.swift +++ b/Projects/Core/CoreAssembly/Project.swift @@ -1,9 +1,11 @@ +import Foundation + import DependencyPackagePlugin import DependencyPlugin -import Foundation -import ProjectDescription import ProjectTemplatePlugin +import ProjectDescription + let project = Project.configure( moduleType: .module(name: "CoreAssembly"), bundleId: .appBundleID(name: ".CoreAssembly"), @@ -15,6 +17,7 @@ let project = Project.configure( .core(.logger), .core(.network), .core(.coreUtility), + .core(.coreUI), .core(.storage, .implementation), .SPM.composableArchitecture, ], diff --git a/Projects/Core/CoreAssembly/Sources/Exported/CoreAssemblyExported.swift b/Projects/Core/CoreAssembly/Sources/Exported/CoreAssemblyExported.swift index ec32b5cd..a7947e26 100644 --- a/Projects/Core/CoreAssembly/Sources/Exported/CoreAssemblyExported.swift +++ b/Projects/Core/CoreAssembly/Sources/Exported/CoreAssemblyExported.swift @@ -9,4 +9,5 @@ @_exported import PickeCoreLogger @_exported import PickeNetwork @_exported import PickeCoreUtility +@_exported import PickeCoreUI @_exported import PickeStorage diff --git a/Projects/Core/PickeCoreLogger/Project.swift b/Projects/Core/PickeCoreLogger/Project.swift index f05cf442..a70a3930 100644 --- a/Projects/Core/PickeCoreLogger/Project.swift +++ b/Projects/Core/PickeCoreLogger/Project.swift @@ -1,13 +1,15 @@ +import Foundation + import DependencyPackagePlugin import DependencyPlugin -import Foundation -import ProjectDescription import ProjectTemplatePlugin +import ProjectDescription + let project = Project.configure( moduleType: .module(name: "PickeCoreLogger"), bundleId: .appBundleID(name: ".PickeCoreLogger"), - product: .staticFramework, + product: .framework, settings: .settings(), dependencies: [ ], diff --git a/Projects/Core/PickeCoreUI/Project.swift b/Projects/Core/PickeCoreUI/Project.swift index f9c411e0..44f19276 100644 --- a/Projects/Core/PickeCoreUI/Project.swift +++ b/Projects/Core/PickeCoreUI/Project.swift @@ -1,9 +1,11 @@ +import Foundation + import DependencyPackagePlugin import DependencyPlugin -import Foundation -import ProjectDescription import ProjectTemplatePlugin +import ProjectDescription + // 디자인 토큰을 모르는 순수 UIKit/SwiftUI 확장만 둔다. // 토큰이나 리소스 번들을 참조하는 순간 PickeDesignKit 소속이다. let project = Project.configure( diff --git a/Projects/Core/PickeCoreUtility/Project.swift b/Projects/Core/PickeCoreUtility/Project.swift index 0835b719..46b42807 100644 --- a/Projects/Core/PickeCoreUtility/Project.swift +++ b/Projects/Core/PickeCoreUtility/Project.swift @@ -1,13 +1,15 @@ +import Foundation + import DependencyPackagePlugin import DependencyPlugin -import Foundation -import ProjectDescription import ProjectTemplatePlugin +import ProjectDescription + let project = Project.configure( moduleType: .module(name: "PickeCoreUtility"), bundleId: .appBundleID(name: ".PickeCoreUtility"), - product: .staticFramework, + product: .framework, settings: .settings(), dependencies: [ ], diff --git a/Projects/Core/PickeNetwork/Project.swift b/Projects/Core/PickeNetwork/Project.swift index f11b9682..27e5816c 100644 --- a/Projects/Core/PickeNetwork/Project.swift +++ b/Projects/Core/PickeNetwork/Project.swift @@ -3,12 +3,14 @@ // PickeNetwork // +import Foundation + import DependencyPackagePlugin import DependencyPlugin -import Foundation -import ProjectDescription import ProjectTemplatePlugin +import ProjectDescription + let project = Project.configure( moduleType: .microModule(name: "PickeNetwork"), bundleId: .appBundleID(name: ".PickeNetwork"), diff --git a/Projects/Core/PickeStorage/Project.swift b/Projects/Core/PickeStorage/Project.swift index 68b4ded5..a1831bdb 100644 --- a/Projects/Core/PickeStorage/Project.swift +++ b/Projects/Core/PickeStorage/Project.swift @@ -1,9 +1,11 @@ +import Foundation + import DependencyPackagePlugin import DependencyPlugin -import Foundation -import ProjectDescription import ProjectTemplatePlugin +import ProjectDescription + let project = Project.configure( moduleType: .microModule(name: "PickeStorage"), bundleId: .appBundleID(name: ".PickeStorage"), diff --git a/Projects/Core/PickeThirdParty/Project.swift b/Projects/Core/PickeThirdParty/Project.swift index 721928c9..3b7c1e1e 100644 --- a/Projects/Core/PickeThirdParty/Project.swift +++ b/Projects/Core/PickeThirdParty/Project.swift @@ -1,13 +1,15 @@ +import Foundation + import DependencyPackagePlugin import DependencyPlugin -import Foundation -import ProjectDescription import ProjectTemplatePlugin +import ProjectDescription + let project = Project.configure( moduleType: .module(name: "PickeThirdParty"), bundleId: .appBundleID(name: ".PickeThirdParty"), - product: .staticFramework, + product: .framework, settings: .settings(), dependencies: [ .core(.coreUtility), diff --git a/Projects/Domain/AppUpdateDomain/Project.swift b/Projects/Domain/AppUpdateDomain/Project.swift index 5c1f42d7..9406b06b 100644 --- a/Projects/Domain/AppUpdateDomain/Project.swift +++ b/Projects/Domain/AppUpdateDomain/Project.swift @@ -1,17 +1,18 @@ +import Foundation + import DependencyPackagePlugin import DependencyPlugin -import Foundation -import ProjectDescription import ProjectTemplatePlugin +import ProjectDescription + let project = Project.configure( moduleType: .microModule(name: "AppUpdateDomain"), bundleId: .appBundleID(name: ".AppUpdateDomain"), product: .framework, settings: .settings(), dependencies: [ - .SPM.composableArchitecture, - .core(.network), + .serviceAssembly, .SPM.logMarco, ], interfaceDependencies: [ diff --git a/Projects/Domain/AttendanceDomain/Project.swift b/Projects/Domain/AttendanceDomain/Project.swift index 425597c4..c019bc9a 100644 --- a/Projects/Domain/AttendanceDomain/Project.swift +++ b/Projects/Domain/AttendanceDomain/Project.swift @@ -1,20 +1,18 @@ +import Foundation + import DependencyPackagePlugin import DependencyPlugin -import Foundation -import ProjectDescription import ProjectTemplatePlugin +import ProjectDescription + let project = Project.configure( moduleType: .microModule(name: "AttendanceDomain"), bundleId: .appBundleID(name: ".AttendanceDomain"), product: .framework, settings: .settings(), dependencies: [ - .SPM.composableArchitecture, - .service(.api), - .service(.apiEndpoint), - .core(.network), - .core(.network, .interface), + .serviceAssembly, .SPM.logMarco, ], interfaceDependencies: [.SPM.composableArchitecture] diff --git a/Projects/Domain/AuthDomain/Project.swift b/Projects/Domain/AuthDomain/Project.swift index 9fb6575b..3a4c609f 100644 --- a/Projects/Domain/AuthDomain/Project.swift +++ b/Projects/Domain/AuthDomain/Project.swift @@ -1,23 +1,21 @@ +import Foundation + import DependencyPackagePlugin import DependencyPlugin -import Foundation -import ProjectDescription import ProjectTemplatePlugin +import ProjectDescription + let project = Project.configure( moduleType: .microModule(name: "AuthDomain"), bundleId: .appBundleID(name: ".AuthDomain"), product: .framework, settings: .settings(), dependencies: [ + .serviceAssembly, .core(.storage, .interface), - .SPM.composableArchitecture, .SPM.logMarco, - .service(.api), - .service(.apiEndpoint), .service(.auth, .interface), - .core(.network), - .core(.network, .interface), .SPM.googleSignIn, ], interfaceDependencies: [ diff --git a/Projects/Domain/BattleDomain/Project.swift b/Projects/Domain/BattleDomain/Project.swift index 9f3a2ba5..8aab9202 100644 --- a/Projects/Domain/BattleDomain/Project.swift +++ b/Projects/Domain/BattleDomain/Project.swift @@ -1,22 +1,20 @@ +import Foundation + import DependencyPackagePlugin import DependencyPlugin -import Foundation -import ProjectDescription import ProjectTemplatePlugin +import ProjectDescription + let project = Project.configure( moduleType: .microModule(name: "BattleDomain"), bundleId: .appBundleID(name: ".BattleDomain"), product: .framework, settings: .settings(), dependencies: [ + .serviceAssembly, .SPM.composableArchitecture, .domain(.home, .interface), - .service(.api), - .service(.apiEndpoint), - .core(.coreUtility), - .core(.network), - .core(.network, .interface), .SPM.logMarco, ], interfaceDependencies: [ diff --git a/Projects/Domain/CommentDomain/Project.swift b/Projects/Domain/CommentDomain/Project.swift index 92124612..c11f7e5d 100644 --- a/Projects/Domain/CommentDomain/Project.swift +++ b/Projects/Domain/CommentDomain/Project.swift @@ -1,21 +1,20 @@ +import Foundation + import DependencyPackagePlugin import DependencyPlugin -import Foundation -import ProjectDescription import ProjectTemplatePlugin +import ProjectDescription + let project = Project.configure( moduleType: .microModule(name: "CommentDomain"), bundleId: .appBundleID(name: ".CommentDomain"), product: .framework, settings: .settings(), dependencies: [ + .serviceAssembly, .domain(.battle, .interface), .SPM.composableArchitecture, - .service(.api), - .service(.apiEndpoint), - .core(.network), - .core(.network, .interface), .SPM.logMarco, ], interfaceDependencies: [ diff --git a/Projects/Domain/DomainAssembly/Project.swift b/Projects/Domain/DomainAssembly/Project.swift index cf45622c..4d80f21b 100644 --- a/Projects/Domain/DomainAssembly/Project.swift +++ b/Projects/Domain/DomainAssembly/Project.swift @@ -1,25 +1,27 @@ +import Foundation + import DependencyPackagePlugin import DependencyPlugin -import Foundation -import ProjectDescription import ProjectTemplatePlugin +import ProjectDescription + let project = Project.configure( moduleType: .module(name: "DomainAssembly"), bundleId: .appBundleID(name: ".DomainAssembly"), product: .framework, settings: .settings(), dependencies: [ - .domain(.appUpdate), - .domain(.attendance), - .domain(.auth), - .domain(.battle), - .domain(.search), - .domain(.comment), - .domain(.home), - .domain(.notification), - .domain(.perspective), - .domain(.profile), + .domain(.appUpdate, .implementation), + .domain(.attendance, .implementation), + .domain(.auth, .implementation), + .domain(.battle, .implementation), + .domain(.search, .implementation), + .domain(.comment, .implementation), + .domain(.home, .implementation), + .domain(.notification, .implementation), + .domain(.perspective, .implementation), + .domain(.profile, .implementation), ], sources: ["Sources/**"], hasTests: true diff --git a/Projects/Domain/HomeDomain/Project.swift b/Projects/Domain/HomeDomain/Project.swift index 7e00cf22..8741a9f6 100644 --- a/Projects/Domain/HomeDomain/Project.swift +++ b/Projects/Domain/HomeDomain/Project.swift @@ -1,21 +1,20 @@ +import Foundation + import DependencyPackagePlugin import DependencyPlugin -import Foundation -import ProjectDescription import ProjectTemplatePlugin +import ProjectDescription + let project = Project.configure( moduleType: .microModule(name: "HomeDomain"), bundleId: .appBundleID(name: ".HomeDomain"), product: .framework, settings: .settings(), dependencies: [ + .serviceAssembly, .SPM.composableArchitecture, .domain(.auth, .interface), - .service(.api), - .service(.apiEndpoint), - .core(.network), - .core(.network, .interface), .SPM.logMarco, ], interfaceDependencies: [ diff --git a/Projects/Domain/NotificationDomain/Project.swift b/Projects/Domain/NotificationDomain/Project.swift index f6b8f687..710879c1 100644 --- a/Projects/Domain/NotificationDomain/Project.swift +++ b/Projects/Domain/NotificationDomain/Project.swift @@ -1,20 +1,19 @@ +import Foundation + import DependencyPackagePlugin import DependencyPlugin -import Foundation -import ProjectDescription import ProjectTemplatePlugin +import ProjectDescription + let project = Project.configure( moduleType: .microModule(name: "NotificationDomain"), bundleId: .appBundleID(name: ".NotificationDomain"), product: .framework, settings: .settings(), dependencies: [ + .serviceAssembly, .SPM.composableArchitecture, - .service(.api), - .service(.apiEndpoint), - .core(.network), - .core(.network, .interface), .SPM.logMarco, ], interfaceDependencies: [ diff --git a/Projects/Domain/PerspectiveDomain/Project.swift b/Projects/Domain/PerspectiveDomain/Project.swift index 88667d0f..093ce5f0 100644 --- a/Projects/Domain/PerspectiveDomain/Project.swift +++ b/Projects/Domain/PerspectiveDomain/Project.swift @@ -1,23 +1,21 @@ +import Foundation + import DependencyPackagePlugin import DependencyPlugin -import Foundation -import ProjectDescription import ProjectTemplatePlugin +import ProjectDescription + let project = Project.configure( moduleType: .microModule(name: "PerspectiveDomain"), bundleId: .appBundleID(name: ".PerspectiveDomain"), product: .framework, settings: .settings(), dependencies: [ + .serviceAssembly, .domain(.battle, .interface), .domain(.comment, .interface), .SPM.composableArchitecture, - .service(.api), - .service(.apiEndpoint), - .core(.coreUtility), - .core(.network), - .core(.network, .interface), .SPM.logMarco, ], interfaceDependencies: [ diff --git a/Projects/Domain/ProfileDomain/Project.swift b/Projects/Domain/ProfileDomain/Project.swift index 7995fed0..32beac26 100644 --- a/Projects/Domain/ProfileDomain/Project.swift +++ b/Projects/Domain/ProfileDomain/Project.swift @@ -1,21 +1,19 @@ +import Foundation + import DependencyPackagePlugin import DependencyPlugin -import Foundation -import ProjectDescription import ProjectTemplatePlugin +import ProjectDescription + let project = Project.configure( moduleType: .microModule(name: "ProfileDomain"), bundleId: .appBundleID(name: ".ProfileDomain"), product: .framework, settings: .settings(), dependencies: [ + .serviceAssembly, .SPM.composableArchitecture, - .service(.api), - .service(.apiEndpoint), - .core(.coreUtility), - .core(.network), - .core(.network, .interface), .SPM.logMarco, ], interfaceDependencies: [ diff --git a/Projects/Domain/SearchDomain/Project.swift b/Projects/Domain/SearchDomain/Project.swift index eb441467..c6e66e32 100644 --- a/Projects/Domain/SearchDomain/Project.swift +++ b/Projects/Domain/SearchDomain/Project.swift @@ -1,22 +1,21 @@ +import Foundation + import DependencyPackagePlugin import DependencyPlugin -import Foundation -import ProjectDescription import ProjectTemplatePlugin +import ProjectDescription + let project = Project.configure( moduleType: .microModule(name: "SearchDomain"), bundleId: .appBundleID(name: ".SearchDomain"), product: .framework, settings: .settings(), dependencies: [ + .serviceAssembly, .domain(.home, .interface), .SPM.composableArchitecture, .domain(.battle, .interface), - .service(.api), - .service(.apiEndpoint), - .core(.network), - .core(.network, .interface), .SPM.logMarco, ], interfaceDependencies: [ diff --git a/Projects/Feature/Ad/Project.swift b/Projects/Feature/Ad/Project.swift index b73f5595..6bb70c43 100644 --- a/Projects/Feature/Ad/Project.swift +++ b/Projects/Feature/Ad/Project.swift @@ -1,9 +1,11 @@ +import Foundation + import DependencyPackagePlugin import DependencyPlugin -import Foundation -import ProjectDescription import ProjectTemplatePlugin +import ProjectDescription + let project = Project.configure( moduleType: .microModule(name: "Ad"), bundleId: .appBundleID(name: ".Ad"), diff --git a/Projects/Feature/Auth/Project.swift b/Projects/Feature/Auth/Project.swift index 0e58e728..7e9b33f4 100644 --- a/Projects/Feature/Auth/Project.swift +++ b/Projects/Feature/Auth/Project.swift @@ -1,9 +1,11 @@ +import Foundation + import DependencyPackagePlugin import DependencyPlugin -import Foundation -import ProjectDescription import ProjectTemplatePlugin +import ProjectDescription + let project = Project.configure( moduleType: .microModule(name: "Auth"), bundleId: .appBundleID(name: ".Auth"), diff --git a/Projects/Feature/Battle/Project.swift b/Projects/Feature/Battle/Project.swift index 3e8d9e33..aa6c91dc 100644 --- a/Projects/Feature/Battle/Project.swift +++ b/Projects/Feature/Battle/Project.swift @@ -1,9 +1,11 @@ +import Foundation + import DependencyPackagePlugin import DependencyPlugin -import Foundation -import ProjectDescription import ProjectTemplatePlugin +import ProjectDescription + let project = Project.configure( moduleType: .microModule(name: "Battle"), bundleId: .appBundleID(name: ".Battle"), diff --git a/Projects/Feature/Chat/Project.swift b/Projects/Feature/Chat/Project.swift index a73fcf63..09d1a602 100644 --- a/Projects/Feature/Chat/Project.swift +++ b/Projects/Feature/Chat/Project.swift @@ -1,9 +1,11 @@ +import Foundation + import DependencyPackagePlugin import DependencyPlugin -import Foundation -import ProjectDescription import ProjectTemplatePlugin +import ProjectDescription + let project = Project.configure( moduleType: .microModule(name: "Chat"), bundleId: .appBundleID(name: ".Chat"), @@ -22,8 +24,7 @@ let project = Project.configure( .domain(.comment, .interface), .core(.thirdParty), - // 큐레이션 리스트 상단 배너 광고 — 광고를 노출하는 화면만 명시적으로 의존한다. - .feature(.ad), + .feature(.ad, .implementation), .SPM.composableArchitecture, .SPM.tcaFlow, .SPM.kingfisher, diff --git a/Projects/Feature/FeatureAssembly/Project.swift b/Projects/Feature/FeatureAssembly/Project.swift index 4d216a30..5cd1f66f 100644 --- a/Projects/Feature/FeatureAssembly/Project.swift +++ b/Projects/Feature/FeatureAssembly/Project.swift @@ -1,25 +1,27 @@ +import Foundation + import DependencyPackagePlugin import DependencyPlugin -import Foundation -import ProjectDescription import ProjectTemplatePlugin +import ProjectDescription + let project = Project.configure( moduleType: .module(name: "FeatureAssembly"), bundleId: .appBundleID(name: ".FeatureAssembly"), product: .staticFramework, settings: .settings(), dependencies: [ - .feature(.splash), - .feature(.auth), - .feature(.web), - .feature(.home), - .feature(.chat), - .feature(.hifi), - .feature(.battle), - .feature(.profile), - .feature(.notification), - .feature(.ad), + .feature(.splash, .implementation), + .feature(.auth, .implementation), + .feature(.web, .implementation), + .feature(.home, .implementation), + .feature(.chat, .implementation), + .feature(.hifi, .implementation), + .feature(.battle, .implementation), + .feature(.profile, .implementation), + .feature(.notification, .implementation), + .feature(.ad, .implementation), ], sources: ["Sources/**"] ) diff --git a/Projects/Feature/Hifi/Project.swift b/Projects/Feature/Hifi/Project.swift index c177cc0b..cd3e833a 100644 --- a/Projects/Feature/Hifi/Project.swift +++ b/Projects/Feature/Hifi/Project.swift @@ -1,9 +1,11 @@ +import Foundation + import DependencyPackagePlugin import DependencyPlugin -import Foundation -import ProjectDescription import ProjectTemplatePlugin +import ProjectDescription + let project = Project.configure( moduleType: .microModule(name: "Hifi"), bundleId: .appBundleID(name: ".Hifi"), @@ -17,7 +19,7 @@ let project = Project.configure( .service(.analytics, .interface), .core(.thirdParty), // 탐색 리스트 인라인 배너 광고 — 광고를 노출하는 화면만 명시적으로 의존한다. - .feature(.ad), + .feature(.ad, .implementation), .domain(.home, .interface), .domain(.search, .interface), diff --git a/Projects/Feature/Home/Project.swift b/Projects/Feature/Home/Project.swift index 9d644259..278e7833 100644 --- a/Projects/Feature/Home/Project.swift +++ b/Projects/Feature/Home/Project.swift @@ -1,9 +1,11 @@ +import Foundation + import DependencyPackagePlugin import DependencyPlugin -import Foundation -import ProjectDescription import ProjectTemplatePlugin +import ProjectDescription + let project = Project.configure( moduleType: .microModule(name: "Home"), bundleId: .appBundleID(name: ".Home"), @@ -23,6 +25,6 @@ let project = Project.configure( .domain(.notification, .interface), .core(.thirdParty), // 홈 피드 중간 배너 광고 — 광고를 노출하는 화면만 명시적으로 의존한다. - .feature(.ad), + .feature(.ad, .implementation), ] ) diff --git a/Projects/Feature/Notification/Project.swift b/Projects/Feature/Notification/Project.swift index 809226c9..a25805fb 100644 --- a/Projects/Feature/Notification/Project.swift +++ b/Projects/Feature/Notification/Project.swift @@ -1,9 +1,11 @@ +import Foundation + import DependencyPackagePlugin import DependencyPlugin -import Foundation -import ProjectDescription import ProjectTemplatePlugin +import ProjectDescription + let project = Project.configure( moduleType: .microModule(name: "Notification"), bundleId: .appBundleID(name: ".Notification"), diff --git a/Projects/Feature/Profile/Project.swift b/Projects/Feature/Profile/Project.swift index 29655038..12c3f5b6 100644 --- a/Projects/Feature/Profile/Project.swift +++ b/Projects/Feature/Profile/Project.swift @@ -1,9 +1,11 @@ +import Foundation + import DependencyPackagePlugin import DependencyPlugin -import Foundation -import ProjectDescription import ProjectTemplatePlugin +import ProjectDescription + let project = Project.configure( moduleType: .microModule(name: "Profile"), bundleId: .appBundleID(name: ".Profile"), @@ -13,7 +15,7 @@ let project = Project.configure( .ui(.designKit), .ui(.sharedUI), .core(.coreUtility), - .core(.storage, .interface), + .service(.auth, .interface), .service(.device, .interface), .service(.analytics, .interface), .domain(.profile, .interface), @@ -22,7 +24,7 @@ let project = Project.configure( .domain(.notification, .interface), .core(.thirdParty), - .feature(.ad), // 마이페이지 하단 배너 광고 + .feature(.ad, .implementation), // 마이페이지 하단 배너 광고 .SPM.composableArchitecture, .SPM.tcaFlow, .SPM.kingfisher, diff --git a/Projects/Feature/Splash/Project.swift b/Projects/Feature/Splash/Project.swift index 5d21b681..6b800142 100644 --- a/Projects/Feature/Splash/Project.swift +++ b/Projects/Feature/Splash/Project.swift @@ -1,9 +1,11 @@ +import Foundation + import DependencyPackagePlugin import DependencyPlugin -import Foundation -import ProjectDescription import ProjectTemplatePlugin +import ProjectDescription + let project = Project.configure( moduleType: .microModule(name: "Splash"), bundleId: .appBundleID(name: ".Splash"), @@ -13,7 +15,7 @@ let project = Project.configure( .ui(.designKit), .ui(.animation), .domain(.appUpdate, .interface), - .core(.storage, .interface), + .service(.auth, .interface), .service(.analytics, .interface), .SPM.composableArchitecture, diff --git a/Projects/Feature/Splash/Tests/Sources/SplashTests.swift b/Projects/Feature/Splash/Tests/Sources/SplashTests.swift index a11f0f92..ab2c7288 100644 --- a/Projects/Feature/Splash/Tests/Sources/SplashTests.swift +++ b/Projects/Feature/Splash/Tests/Sources/SplashTests.swift @@ -10,7 +10,7 @@ import Testing import PickeAnalyticsInterface import AppUpdateDomainInterface -import PickeStorageInterface +import PickeAuthInterface @testable import Splash @@ -20,6 +20,21 @@ private struct StubAppUpdateUseCase: AppUpdateUseCaseInterface { func checkForUpdate() async throws -> AppUpdateInfo? { info } } +/// 저장된 토큰 유무만 흉내내는 인증 서비스 스텁. +private actor StubAuthService: AuthService { + private var loggedIn: Bool + + init(loggedIn: Bool) { + self.loggedIn = loggedIn + } + + var isLoggedIn: Bool { loggedIn } + var refreshToken: String? { loggedIn ? "refresh-token" : nil } + + func signIn(accessToken _: String, refreshToken _: String) { loggedIn = true } + func signOut() { loggedIn = false } +} + /// Mixpanel 을 건드리지 않는 no-op 분석 UseCase. private let noopAnalytics = AnalyticsUseCase( registerBaseProperties: {}, @@ -31,17 +46,13 @@ private let noopAnalytics = AnalyticsUseCase( struct SplashTests { @Test func onAppearRoutesToMainTabWhenTokensExist() async { - let keychainManager = InMemoryKeychainManager() - keychainManager.save(accessToken: "access-token", refreshToken: "refresh-token") let clock = TestClock() let store = TestStore(initialState: SplashFeature.State()) { SplashFeature() } withDependencies: { $0.continuousClock = clock - // keychainManager 접근자가 DomainInterface/UseCase 양쪽에 중복 정의되어 모호하므로, - // SplashFeature 가 실제로 읽는 UseCase 의 키를 모듈 한정 subscript 로 오버라이드한다. - $0.keychainManager = keychainManager + $0.authService = StubAuthService(loggedIn: true) $0.appUpdateUseCase = StubAppUpdateUseCase(info: nil) $0.analyticsUseCase = noopAnalytics } @@ -61,7 +72,7 @@ struct SplashTests { SplashFeature() } withDependencies: { $0.continuousClock = clock - $0.keychainManager = InMemoryKeychainManager() + $0.authService = StubAuthService(loggedIn: false) $0.appUpdateUseCase = StubAppUpdateUseCase(info: nil) $0.analyticsUseCase = noopAnalytics } diff --git a/Projects/Feature/Web/Project.swift b/Projects/Feature/Web/Project.swift index 3224dc4b..aadfd394 100644 --- a/Projects/Feature/Web/Project.swift +++ b/Projects/Feature/Web/Project.swift @@ -1,8 +1,10 @@ import Foundation -import ProjectDescription + +import DependencyPackagePlugin import DependencyPlugin import ProjectTemplatePlugin -import DependencyPackagePlugin + +import ProjectDescription let project = Project.configure( moduleType: .microModule(name: "Web"), diff --git a/Projects/Service/API/Project.swift b/Projects/Service/API/Project.swift index 81c629a8..1422933f 100644 --- a/Projects/Service/API/Project.swift +++ b/Projects/Service/API/Project.swift @@ -1,13 +1,15 @@ +import Foundation + import DependencyPackagePlugin import DependencyPlugin -import Foundation -import ProjectDescription import ProjectTemplatePlugin +import ProjectDescription + let project = Project.configure( moduleType: .module(name: "API"), bundleId: .appBundleID(name: ".API"), - product: .staticFramework, + product: .framework, settings: .settings(), dependencies: [ .core(.network, .interface), diff --git a/Projects/Service/APIEndpoint/Project.swift b/Projects/Service/APIEndpoint/Project.swift index dcdeb949..698e2aaf 100644 --- a/Projects/Service/APIEndpoint/Project.swift +++ b/Projects/Service/APIEndpoint/Project.swift @@ -1,13 +1,15 @@ +import Foundation + import DependencyPackagePlugin import DependencyPlugin -import Foundation -import ProjectDescription import ProjectTemplatePlugin +import ProjectDescription + let project = Project.configure( moduleType: .module(name: "APIEndpoint"), bundleId: .appBundleID(name: ".APIEndpoint"), - product: .staticFramework, + product: .framework, settings: .settings(), dependencies: [ // 엔드포인트가 HTTPMethod·HTTPHeaders 를 직접 쓴다. PickeNetwork 가 더는 재노출하지 않는다. diff --git a/Projects/Service/AudioPlayerService/Project.swift b/Projects/Service/AudioPlayerService/Project.swift index bff56967..258075d9 100644 --- a/Projects/Service/AudioPlayerService/Project.swift +++ b/Projects/Service/AudioPlayerService/Project.swift @@ -1,13 +1,15 @@ +import Foundation + import DependencyPackagePlugin import DependencyPlugin -import Foundation -import ProjectDescription import ProjectTemplatePlugin +import ProjectDescription + let project = Project.configure( moduleType: .microModule(name: "AudioPlayerService"), bundleId: .appBundleID(name: ".AudioPlayerService"), - product: .staticFramework, + product: .framework, settings: .settings(), // AVFoundation 은 시스템 프레임워크라 별도 선언이 필요 없다. dependencies: [ diff --git a/Projects/Service/DeviceService/Project.swift b/Projects/Service/DeviceService/Project.swift index 121478fd..5b665463 100644 --- a/Projects/Service/DeviceService/Project.swift +++ b/Projects/Service/DeviceService/Project.swift @@ -1,13 +1,15 @@ +import Foundation + import DependencyPackagePlugin import DependencyPlugin -import Foundation -import ProjectDescription import ProjectTemplatePlugin +import ProjectDescription + let project = Project.configure( moduleType: .microModule(name: "DeviceService"), bundleId: .appBundleID(name: ".DeviceService"), - product: .staticFramework, + product: .framework, settings: .settings(), dependencies: [ .service(.apiEndpoint), diff --git a/Projects/Service/PickeAnalytics/Project.swift b/Projects/Service/PickeAnalytics/Project.swift index 65be948c..cf0172f2 100644 --- a/Projects/Service/PickeAnalytics/Project.swift +++ b/Projects/Service/PickeAnalytics/Project.swift @@ -1,13 +1,15 @@ +import Foundation + import DependencyPackagePlugin import DependencyPlugin -import Foundation -import ProjectDescription import ProjectTemplatePlugin +import ProjectDescription + let project = Project.configure( moduleType: .microModule(name: "PickeAnalytics"), bundleId: .appBundleID(name: ".PickeAnalytics"), - product: .staticFramework, + product: .framework, settings: .settings(), // 관측 SDK 는 구현 타깃에만 붙인다 — 화면들은 Interface 만 의존하므로 // Mixpanel·Sentry·Firebase 를 링크하지도, 이들이 바뀔 때 재컴파일되지도 않는다. diff --git a/Projects/Service/PickeAuth/Project.swift b/Projects/Service/PickeAuth/Project.swift index 1e0d0db5..e3d7d34c 100644 --- a/Projects/Service/PickeAuth/Project.swift +++ b/Projects/Service/PickeAuth/Project.swift @@ -1,13 +1,15 @@ +import Foundation + import DependencyPackagePlugin import DependencyPlugin -import Foundation -import ProjectDescription import ProjectTemplatePlugin +import ProjectDescription + let project = Project.configure( moduleType: .microModule(name: "PickeAuth"), bundleId: .appBundleID(name: ".PickeAuth"), - product: .staticFramework, + product: .framework, settings: .settings(), dependencies: [ .service(.apiEndpoint), diff --git a/Projects/Service/ServiceAssembly/Project.swift b/Projects/Service/ServiceAssembly/Project.swift index c4d14e54..8e848268 100644 --- a/Projects/Service/ServiceAssembly/Project.swift +++ b/Projects/Service/ServiceAssembly/Project.swift @@ -1,9 +1,11 @@ +import Foundation + import DependencyPackagePlugin import DependencyPlugin -import Foundation -import ProjectDescription import ProjectTemplatePlugin +import ProjectDescription + let project = Project.configure( moduleType: .module(name: "ServiceAssembly"), bundleId: .appBundleID(name: ".ServiceAssembly"), @@ -13,6 +15,7 @@ let project = Project.configure( dependencies: [ .coreAssembly, .service(.api), + .service(.apiEndpoint), .service(.analytics), .service(.audioPlayer), .service(.device), diff --git a/Projects/UI/PickeAnimation/Project.swift b/Projects/UI/PickeAnimation/Project.swift index 9eae322f..311f6245 100644 --- a/Projects/UI/PickeAnimation/Project.swift +++ b/Projects/UI/PickeAnimation/Project.swift @@ -1,9 +1,11 @@ +import Foundation + import DependencyPackagePlugin import DependencyPlugin -import Foundation -import ProjectDescription import ProjectTemplatePlugin +import ProjectDescription + // 애니메이션 라이브러리를 쓰는 뷰와 그 에셋만 둔다. // SDWebImage 가 여기서 막히므로 DesignKit 과 화면 코드는 이 라이브러리를 모른다. let project = Project.configure( diff --git a/Projects/UI/PickeDesignKit/Project.swift b/Projects/UI/PickeDesignKit/Project.swift index dddf2d8b..b7a53d07 100644 --- a/Projects/UI/PickeDesignKit/Project.swift +++ b/Projects/UI/PickeDesignKit/Project.swift @@ -1,9 +1,11 @@ +import Foundation + import DependencyPackagePlugin import DependencyPlugin -import Foundation -import ProjectDescription import ProjectTemplatePlugin +import ProjectDescription + let project = Project.configure( moduleType: .module(name: "PickeDesignKit"), bundleId: .appBundleID(name: ".PickeDesignKit"), diff --git a/Projects/UI/PickeSharedUI/Project.swift b/Projects/UI/PickeSharedUI/Project.swift index 06130d24..d5caa7ae 100644 --- a/Projects/UI/PickeSharedUI/Project.swift +++ b/Projects/UI/PickeSharedUI/Project.swift @@ -1,9 +1,11 @@ +import Foundation + import DependencyPackagePlugin import DependencyPlugin -import Foundation -import ProjectDescription import ProjectTemplatePlugin +import ProjectDescription + // 외부 라이브러리에 기대는 공용 UI 만 둔다. // PickeDesignKit 은 토큰과 순수 컴포넌트만 갖고 라이브러리를 모른다. let project = Project.configure( From f6bfc3161abb5c7125aadb542fd974ec659b43d7 Mon Sep 17 00:00:00 2001 From: Roy Date: Mon, 7 Sep 2026 18:45:30 +0900 Subject: [PATCH 64/83] =?UTF-8?q?refactor(tuist):=20Feature=C2=B7Domain=20?= =?UTF-8?q?=EC=9D=98=EC=A1=B4=20=EA=B8=B0=EB=B3=B8=EA=B0=92=EC=9D=84=20Int?= =?UTF-8?q?erface=20=EB=A1=9C=20=EB=92=A4=EC=A7=91=EB=8A=94=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 두 레이어는 모든 모듈이 Interface 를 갖췄다. 구현을 링크해야 하는 조립 레이어와 Ad 처럼 상대 View 를 직접 쓰는 곳만 .implementation 을 명시한다. Core·Service·UI 는 Interface 가 없는 모듈이 남아 기본값을 유지한다. --- .../TargetDependency+Modules.swift | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/TargetDependency+Modules.swift b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/TargetDependency+Modules.swift index 717b35d1..e3138241 100644 --- a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/TargetDependency+Modules.swift +++ b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/TargetDependency+Modules.swift @@ -5,8 +5,9 @@ // 레이어 의존성 DSL. 카탈로그가 경로를 들고 있어 여기서는 타깃만 가리킨다. // 모듈이 Interface 타깃(`Project.configure(moduleType: .microModule)`)을 가지면 // `.domain(.auth, .interface)` 처럼 어느 타깃에 의존할지 명시할 수 있다. -// 기본값은 `.implementation` — Interface 를 아직 뚫지 않은 모듈이 대부분이라 -// 레이어별로 Interface 가 갖춰지는 대로 기본값을 `.interface` 로 옮긴다. +// 기본값은 레이어별로 다르다. Feature·Domain 은 모든 모듈이 Interface 를 갖춰 +// `.interface` 가 기본이고, 구현을 링크하는 조립 레이어만 `.implementation` 을 명시한다. +// Core·Service·UI 는 아직 Interface 가 없는 모듈이 남아 `.implementation` 이 기본이다. // import Foundation @@ -42,7 +43,7 @@ extension TargetDependency { public extension TargetDependency { /// 피처 의존성. 피처끼리는 상대의 Interface 에만 의존하고, /// 구현 연결은 조립 레이어(FeatureAssembly/App)에서만 `.implementation` 으로 명시한다. - static func feature(_ module: FeatureModule, _ target: ModuleTarget = .implementation) -> Self { + static func feature(_ module: FeatureModule, _ target: ModuleTarget = .interface) -> Self { return .moduleDependency(name: module.rawValue, path: module.path, target: target) } @@ -69,13 +70,14 @@ public extension TargetDependency { return .service(.assembly) } - static func domain(_ module: DomainModule, _ target: ModuleTarget = .implementation) -> Self { + static func domain(_ module: DomainModule, _ target: ModuleTarget = .interface) -> Self { return .moduleDependency(name: module.rawValue, path: module.path, target: target) } /// 도메인 구현을 런타임에 조립하는 App 진입 경계. + /// 조립 모듈 자체는 Interface 타깃이 없어 구현을 직접 가리킨다. static var domainAssembly: Self { - return .domain(.assembly) + return .domain(.assembly, .implementation) } static func ui(_ module: UIModule, _ target: ModuleTarget = .implementation) -> Self { From 09ebf74ae972dc21c90ba08dcfd38edbe0ee765e Mon Sep 17 00:00:00 2001 From: Roy Date: Mon, 7 Sep 2026 21:07:30 +0900 Subject: [PATCH 65/83] =?UTF-8?q?refactor(logger):=20LogMacro=20=EB=A5=BC?= =?UTF-8?q?=20=EA=B1=B7=EC=96=B4=EB=82=B4=EA=B3=A0=20PickeCoreLogger=20?= =?UTF-8?q?=EB=A1=9C=20=EC=9D=BC=EC=9B=90=ED=99=94=ED=95=9C=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PickeLogger 는 os.Logger 기반으로 이미 완성돼 있었는데 아무도 쓰지 않고 53개 파일이 LogMacro 를 import 하고 있었다. 그중 실제 호출은 17곳뿐이라 나머지 36개는 쓰지도 않는 import 였다. 로거 - 호출 17곳을 PickeLogger 로 옮기고 카테고리를 붙인다 (푸시 서버 등록 network, 딥링크 navigation, 로그인 auth, 나머지 app) - 실제로 쓰는 7개 파일만 PickeCoreLogger 를 import 하고 나머지 46개는 지운다 - AppleOAuthRepositoryImpl 의 LogMacro.Log 래퍼도 없앤다 - 매니페스트 12개의 .SPM.logMarco 를 .core(.logger) 로 바꾼다 중복 의존성 - 도메인 9개의 .core(.logger) 는 .serviceAssembly 로 이미 들어와 지운다 - 피처 9개에서 .core(.thirdParty) 를 뺀다. PickeThirdParty 는 템플릿 뷰만 든 껍데기이고 SPM 을 흘려보내는 통로로만 쓰였다. 대신 각 피처가 실제 import 하는 .SPM.composableArchitecture·.SPM.tcaFlow 만 명시한다 - Hifi 는 코디네이터를 지우며 TCAFlow 를 쓰지 않게 돼 함께 뺀다 --- Projects/App/Project.swift | 4 ---- .../Sources/Application/AppDelegate+Configure.swift | 4 ++-- .../App/Sources/Application/AppDelegate+Push.swift | 10 +++++----- .../Sources/Application/AppDelegate+Tracking.swift | 4 ++-- .../App/Sources/Application/PushDeeplinkBridge.swift | 8 ++++---- Projects/App/Sources/Application/PushTokenStore.swift | 10 +++++----- Projects/App/Sources/Reducer/AppReducer.swift | 1 - Projects/Core/PickeCoreUI/Project.swift | 2 -- Projects/Core/PickeNetwork/Project.swift | 2 -- .../Sources/Monitor/PickeEventMonitor.swift | 1 - Projects/Core/PickeStorage/Project.swift | 5 +---- Projects/Domain/AppUpdateDomain/Project.swift | 1 - .../Sources/Repository/AppUpdateRepositoryImpl.swift | 1 - Projects/Domain/AttendanceDomain/Project.swift | 1 - .../Sources/Repository/AttendanceRepositoryImpl.swift | 1 - Projects/Domain/AuthDomain/Project.swift | 1 - .../OAuth/Provider/Apple/AppleOAuthProvider.swift | 1 - .../OAuth/Provider/Google/GoogleOAuthProvider.swift | 1 - .../OAuth/Provider/Kakao/KakaoOAuthProvider.swift | 1 - .../Sources/OAuth/UnifiedOAuthUseCase.swift | 1 - .../Sources/Repository/AuthRepositoryImpl.swift | 1 - .../Repository/Google/GoogleOAuthRepositoryImpl.swift | 1 - .../OAuth/Apple/AppleOAuthRepositoryImpl.swift | 7 +++---- .../Repository/OAuth/Kakao/KakaoOAuthRepository.swift | 1 - Projects/Domain/BattleDomain/Project.swift | 2 -- .../Sources/Repository/BattleRepositoryImpl.swift | 1 - Projects/Domain/CommentDomain/Project.swift | 1 - .../Sources/Repository/CommentRepositoryImpl.swift | 1 - Projects/Domain/HomeDomain/Project.swift | 2 -- .../Sources/Repository/HomeRepositoryImpl.swift | 1 - Projects/Domain/NotificationDomain/Project.swift | 2 -- .../Repository/NotificationRepositoryImpl.swift | 1 - Projects/Domain/PerspectiveDomain/Project.swift | 2 -- .../Repository/PerspectiveRepositoryImpl.swift | 1 - Projects/Domain/ProfileDomain/Project.swift | 2 -- .../Sources/Repository/ProfileRepositoryImpl.swift | 1 - Projects/Domain/SearchDomain/Project.swift | 3 --- .../SearchDomain/Sources/SearchRepositoryImpl.swift | 1 - .../Ad/Sources/UseCase/RewardedAdClient+Live.swift | 1 - Projects/Feature/Auth/Project.swift | 6 +----- .../Auth/Sources/Main/Reducer/LoginFeature.swift | 4 ++-- .../OnBoarding/Reducer/OnBoardingFeature.swift | 1 - Projects/Feature/Battle/Project.swift | 6 +----- .../Battle/Sources/Main/Reducer/BattleFeature.swift | 1 - Projects/Feature/Chat/Project.swift | 7 ++----- .../Sources/ChatRoom/Reducer/ChatRoomFeature.swift | 1 - .../Chat/Sources/Comment/Reducer/CommentFeature.swift | 1 - .../CommentReply/Reducer/CommentReplyFeature.swift | 1 - .../Sources/Coordinator/Reducer/ChatCoordinator.swift | 1 - .../Sources/Curation/Reducer/CurationFeature.swift | 1 - .../Chat/Sources/Vote/Reducer/PreVoteFeature.swift | 1 - Projects/Feature/Hifi/Project.swift | 3 --- .../Feature/Hifi/Sources/Reducer/HifiFeature.swift | 1 - Projects/Feature/Home/Project.swift | 3 +-- .../Home/Sources/Main/Reducer/HomeFeature.swift | 1 - Projects/Feature/Notification/Project.swift | 2 -- .../Sources/Main/Reducer/NotificationFeature.swift | 1 - Projects/Feature/Profile/Project.swift | 2 -- .../Reducer/BattleProposalFeature.swift | 1 - .../BattleRecord/Reducer/BattleRecordFeature.swift | 1 - .../Reducer/ContentActivityFeature.swift | 1 - .../Profile/Sources/Main/Reducer/ProfileFeature.swift | 1 - .../Sources/Notice/Reducer/NoticeFeature.swift | 1 - .../Reducer/NotificationSettingFeature.swift | 1 - .../PointHistory/Reducer/PointHistoryFeature.swift | 1 - .../Profile/Sources/Recap/Reducer/RecapFeature.swift | 1 - .../Sources/Settings/Reducer/SettingsFeature.swift | 1 - .../Withdraw/Reducer/WithdrawReasonFeature.swift | 1 - Projects/Feature/Splash/Project.swift | 2 -- .../Splash/Sources/Reducer/SplashFeature.swift | 1 - Projects/Feature/Web/Project.swift | 1 - Projects/Service/AudioPlayerService/Project.swift | 2 +- Projects/Service/DeviceService/Project.swift | 2 +- .../Sources/Repository/DeviceRepositoryImpl.swift | 1 - Projects/Service/PickeAnalytics/Project.swift | 2 +- .../Sources/Configuration/MixpanelConfiguration.swift | 11 ++++------- .../Sources/Configuration/SentryConfiguration.swift | 4 ++-- .../Sources/UseCase/AnalyticsUseCase+Live.swift | 4 ++-- Projects/Service/PickeAuth/Project.swift | 3 +-- .../Sources/Store/GuardedCredentialStore.swift | 1 - 80 files changed, 41 insertions(+), 139 deletions(-) diff --git a/Projects/App/Project.swift b/Projects/App/Project.swift index 3b74f6ce..ced41c87 100644 --- a/Projects/App/Project.swift +++ b/Projects/App/Project.swift @@ -15,10 +15,6 @@ let project = Project.configure( dependencies: [ // 화면·도메인·데이터 구현은 각 레이어의 조립 경계 하나로 들어온다. .featureAssembly, - .domainAssembly, - // Core·Service 구현은 조립 경계 하나로 들어온다. - // 앱 시작 전면 팝업 광고(Ad)도 여기에 포함된다. - .serviceAssembly, .SPM.googleMobileAds, .SPM.kingfisher, ], diff --git a/Projects/App/Sources/Application/AppDelegate+Configure.swift b/Projects/App/Sources/Application/AppDelegate+Configure.swift index 88d7c18b..5f1ac750 100644 --- a/Projects/App/Sources/Application/AppDelegate+Configure.swift +++ b/Projects/App/Sources/Application/AppDelegate+Configure.swift @@ -4,7 +4,7 @@ // import GoogleMobileAds -import LogMacro +import PickeCoreLogger import UIKit import DomainAssembly @@ -43,7 +43,7 @@ extension AppDelegate { let internalDeviceIdentifiers: [String] = [] MobileAds.shared.requestConfiguration.testDeviceIdentifiers = internalDeviceIdentifiers - #logDebug("[AdMob] 테스트 디바이스 등록 — 내부 기기 \(internalDeviceIdentifiers.count)대 + 시뮬레이터") + PickeLogger.debug("[AdMob] 테스트 디바이스 등록 — 내부 기기 \(internalDeviceIdentifiers.count)대 + 시뮬레이터", category: .app) #endif } diff --git a/Projects/App/Sources/Application/AppDelegate+Push.swift b/Projects/App/Sources/Application/AppDelegate+Push.swift index 60e15910..a13235a9 100644 --- a/Projects/App/Sources/Application/AppDelegate+Push.swift +++ b/Projects/App/Sources/Application/AppDelegate+Push.swift @@ -3,7 +3,7 @@ // Picke // -import LogMacro +import PickeCoreLogger import UIKit import UserNotifications @@ -17,11 +17,11 @@ extension AppDelegate { center.requestAuthorization(options: [.alert, .badge, .sound]) { granted, error in if let error { - #logError("[Push] 권한 요청 실패: \(error.localizedDescription)") + PickeLogger.error("[Push] 권한 요청 실패: \(error.localizedDescription)", category: .app) return } guard granted else { - #logDebug("[Push] 알림 권한 거부됨") + PickeLogger.debug("[Push] 알림 권한 거부됨", category: .app) return } Task { @MainActor in @@ -37,7 +37,7 @@ extension AppDelegate { ) { let tokenString = deviceToken.map { String(format: "%02x", $0) }.joined() PushTokenStore.current = tokenString - #logDebug("[Push] APNs 토큰 수신: \(tokenString.prefix(12))…") + PickeLogger.debug("[Push] APNs 토큰 수신: \(tokenString.prefix(12))…", category: .app) Task { guard await AppDependencyFactory.authService.isLoggedIn else { return } @@ -49,7 +49,7 @@ extension AppDelegate { _: UIApplication, didFailToRegisterForRemoteNotificationsWithError error: Error ) { - #logError("[Push] APNs 등록 실패: \(error.localizedDescription)") + PickeLogger.error("[Push] APNs 등록 실패: \(error.localizedDescription)", category: .app) } } diff --git a/Projects/App/Sources/Application/AppDelegate+Tracking.swift b/Projects/App/Sources/Application/AppDelegate+Tracking.swift index 3cf41d44..5a27adaa 100644 --- a/Projects/App/Sources/Application/AppDelegate+Tracking.swift +++ b/Projects/App/Sources/Application/AppDelegate+Tracking.swift @@ -4,7 +4,7 @@ // import AppTrackingTransparency -import LogMacro +import PickeCoreLogger import UIKit extension AppDelegate { @@ -28,7 +28,7 @@ extension AppDelegate { self.trackingAuthorizationObserver = nil } let status = await ATTrackingManager.requestTrackingAuthorization() - #logDebug("[ATT] 추적 권한 상태: \(status.rawValue)") + PickeLogger.debug("[ATT] 추적 권한 상태: \(status.rawValue)", category: .app) } } } diff --git a/Projects/App/Sources/Application/PushDeeplinkBridge.swift b/Projects/App/Sources/Application/PushDeeplinkBridge.swift index a0da62b5..8b7a18f0 100644 --- a/Projects/App/Sources/Application/PushDeeplinkBridge.swift +++ b/Projects/App/Sources/Application/PushDeeplinkBridge.swift @@ -6,7 +6,7 @@ import Foundation import DomainAssembly -import LogMacro +import PickeCoreLogger import PickeCoreUtility enum PushDeeplinkBridge { @@ -15,7 +15,7 @@ enum PushDeeplinkBridge { /// 푸시 payload(userInfo) 를 딥링크로 변환 → 대기열 저장 + 브로드캐스트. static func handlePushPayload(_ userInfo: [AnyHashable: Any]) { guard let deeplink = PickeDeeplinkParser.parse(pushPayload: userInfo) else { - #logDebug("[Deeplink] 처리 가능한 푸시 페이로드 없음") + PickeLogger.debug("[Deeplink] 처리 가능한 푸시 페이로드 없음", category: .navigation) return } broadcast(deeplink) @@ -24,7 +24,7 @@ enum PushDeeplinkBridge { /// 커스텀 스킴(picke://...) / 유니버설 링크 URL 로 앱이 열렸을 때. static func handleURL(_ url: URL) { guard let deeplink = PickeDeeplinkParser.parse(urlString: url.absoluteString) else { - #logDebug("[Deeplink] 처리 불가 URL: \(url.absoluteString)") + PickeLogger.debug("[Deeplink] 처리 불가 URL: \(url.absoluteString)", category: .navigation) return } broadcast(deeplink) @@ -38,7 +38,7 @@ enum PushDeeplinkBridge { object: nil, userInfo: ["deeplink": deeplink.encoded] ) - #logDebug("[Deeplink] 브로드캐스트: \(deeplink.encoded)") + PickeLogger.debug("[Deeplink] 브로드캐스트: \(deeplink.encoded)", category: .navigation) } /// AppReducer 가 라우팅을 끝낸 뒤 대기열 비움. diff --git a/Projects/App/Sources/Application/PushTokenStore.swift b/Projects/App/Sources/Application/PushTokenStore.swift index 65f9afc3..2d5fda1e 100644 --- a/Projects/App/Sources/Application/PushTokenStore.swift +++ b/Projects/App/Sources/Application/PushTokenStore.swift @@ -6,7 +6,7 @@ import Foundation import DeviceServiceInterface -import LogMacro +import PickeCoreLogger import PickeStorageInterface enum PushTokenStore { @@ -20,9 +20,9 @@ enum PushTokenStore { guard let token = current, !token.isEmpty else { return } do { try await DeviceUseCaseImpl().registerDevice(fcmToken: token, platform: .ios) - #logDebug("[Push] 디바이스 등록 완료") + PickeLogger.debug("[Push] 디바이스 등록 완료", category: .network) } catch { - #logError("[Push] 디바이스 등록 실패: \(error.localizedDescription)") + PickeLogger.error("[Push] 디바이스 등록 실패: \(error.localizedDescription)", category: .network) } } @@ -31,9 +31,9 @@ enum PushTokenStore { guard let token = current, !token.isEmpty else { return } do { try await DeviceUseCaseImpl().unregisterDevice(fcmToken: token) - #logDebug("[Push] 디바이스 해제 완료") + PickeLogger.debug("[Push] 디바이스 해제 완료", category: .network) } catch { - #logError("[Push] 디바이스 해제 실패: \(error.localizedDescription)") + PickeLogger.error("[Push] 디바이스 해제 실패: \(error.localizedDescription)", category: .network) } } } diff --git a/Projects/App/Sources/Reducer/AppReducer.swift b/Projects/App/Sources/Reducer/AppReducer.swift index e25682f6..2f12bbef 100644 --- a/Projects/App/Sources/Reducer/AppReducer.swift +++ b/Projects/App/Sources/Reducer/AppReducer.swift @@ -8,7 +8,6 @@ import PickeAnalyticsInterface import ComposableArchitecture import DomainAssembly -import LogMacro import FeatureAssembly import PickeCoreUtility diff --git a/Projects/Core/PickeCoreUI/Project.swift b/Projects/Core/PickeCoreUI/Project.swift index 44f19276..4a17d895 100644 --- a/Projects/Core/PickeCoreUI/Project.swift +++ b/Projects/Core/PickeCoreUI/Project.swift @@ -11,8 +11,6 @@ import ProjectDescription let project = Project.configure( moduleType: .module(name: "PickeCoreUI"), bundleId: .appBundleID(name: ".PickeCoreUI"), - // 동적 프레임워크. 동적인 PickeDesignKit 이 링크하므로 정적으로 두면 - // 앱과 DesignKit 양쪽에 중복으로 박힌다. product: .framework, settings: .settings(), dependencies: [ diff --git a/Projects/Core/PickeNetwork/Project.swift b/Projects/Core/PickeNetwork/Project.swift index 27e5816c..8a7580bf 100644 --- a/Projects/Core/PickeNetwork/Project.swift +++ b/Projects/Core/PickeNetwork/Project.swift @@ -18,8 +18,6 @@ let project = Project.configure( settings: .settings(), dependencies: [ .core(.logger), - .SPM.alamofire, - .SPM.logMarco, ], interfaceDependencies: [ .SPM.alamofire, diff --git a/Projects/Core/PickeNetwork/Sources/Monitor/PickeEventMonitor.swift b/Projects/Core/PickeNetwork/Sources/Monitor/PickeEventMonitor.swift index 806fae4b..5951e994 100644 --- a/Projects/Core/PickeNetwork/Sources/Monitor/PickeEventMonitor.swift +++ b/Projects/Core/PickeNetwork/Sources/Monitor/PickeEventMonitor.swift @@ -5,7 +5,6 @@ import Alamofire import Foundation -import LogMacro struct PickeEventMonitor: EventMonitor { let queue = DispatchQueue(label: "store.picke.network.logger") diff --git a/Projects/Core/PickeStorage/Project.swift b/Projects/Core/PickeStorage/Project.swift index a1831bdb..dcbcec53 100644 --- a/Projects/Core/PickeStorage/Project.swift +++ b/Projects/Core/PickeStorage/Project.swift @@ -11,11 +11,8 @@ let project = Project.configure( bundleId: .appBundleID(name: ".PickeStorage"), product: .framework, settings: .settings(), - // Sources 가 ComposableArchitecture(DependencyKey)를 직접 import. - // Security 는 시스템 프레임워크라 별도 의존성 선언이 필요 없고, Core 계층이라 Domain·Service 를 의존하지 않는다. dependencies: [ - .SPM.composableArchitecture, - .SPM.sqliteData, + ], interfaceDependencies: [ .SPM.composableArchitecture, diff --git a/Projects/Domain/AppUpdateDomain/Project.swift b/Projects/Domain/AppUpdateDomain/Project.swift index 9406b06b..dac8c649 100644 --- a/Projects/Domain/AppUpdateDomain/Project.swift +++ b/Projects/Domain/AppUpdateDomain/Project.swift @@ -13,7 +13,6 @@ let project = Project.configure( settings: .settings(), dependencies: [ .serviceAssembly, - .SPM.logMarco, ], interfaceDependencies: [ .SPM.composableArchitecture, diff --git a/Projects/Domain/AppUpdateDomain/Sources/Repository/AppUpdateRepositoryImpl.swift b/Projects/Domain/AppUpdateDomain/Sources/Repository/AppUpdateRepositoryImpl.swift index 792012ce..0970eaec 100644 --- a/Projects/Domain/AppUpdateDomain/Sources/Repository/AppUpdateRepositoryImpl.swift +++ b/Projects/Domain/AppUpdateDomain/Sources/Repository/AppUpdateRepositoryImpl.swift @@ -6,7 +6,6 @@ import Foundation import AppUpdateDomainInterface -import LogMacro import PickeNetwork public final class AppUpdateRepositoryImpl: AppUpdateInterface { diff --git a/Projects/Domain/AttendanceDomain/Project.swift b/Projects/Domain/AttendanceDomain/Project.swift index c019bc9a..9f6cd981 100644 --- a/Projects/Domain/AttendanceDomain/Project.swift +++ b/Projects/Domain/AttendanceDomain/Project.swift @@ -13,7 +13,6 @@ let project = Project.configure( settings: .settings(), dependencies: [ .serviceAssembly, - .SPM.logMarco, ], interfaceDependencies: [.SPM.composableArchitecture] ) diff --git a/Projects/Domain/AttendanceDomain/Sources/Repository/AttendanceRepositoryImpl.swift b/Projects/Domain/AttendanceDomain/Sources/Repository/AttendanceRepositoryImpl.swift index 167e879b..725ba6be 100644 --- a/Projects/Domain/AttendanceDomain/Sources/Repository/AttendanceRepositoryImpl.swift +++ b/Projects/Domain/AttendanceDomain/Sources/Repository/AttendanceRepositoryImpl.swift @@ -11,7 +11,6 @@ import APIEndpoint import AttendanceDomainInterface import PickeNetwork -import LogMacro public final class AttendanceRepositoryImpl: AttendanceInterface, @unchecked Sendable { @Dependency(\.networkClient) private var client diff --git a/Projects/Domain/AuthDomain/Project.swift b/Projects/Domain/AuthDomain/Project.swift index 3a4c609f..57915044 100644 --- a/Projects/Domain/AuthDomain/Project.swift +++ b/Projects/Domain/AuthDomain/Project.swift @@ -14,7 +14,6 @@ let project = Project.configure( dependencies: [ .serviceAssembly, .core(.storage, .interface), - .SPM.logMarco, .service(.auth, .interface), .SPM.googleSignIn, ], diff --git a/Projects/Domain/AuthDomain/Sources/OAuth/Provider/Apple/AppleOAuthProvider.swift b/Projects/Domain/AuthDomain/Sources/OAuth/Provider/Apple/AppleOAuthProvider.swift index 5749e752..a31ef957 100644 --- a/Projects/Domain/AuthDomain/Sources/OAuth/Provider/Apple/AppleOAuthProvider.swift +++ b/Projects/Domain/AuthDomain/Sources/OAuth/Provider/Apple/AppleOAuthProvider.swift @@ -7,7 +7,6 @@ import Foundation import Dependencies -import LogMacro import AuthenticationServices @preconcurrency import AuthDomainInterface import Sharing diff --git a/Projects/Domain/AuthDomain/Sources/OAuth/Provider/Google/GoogleOAuthProvider.swift b/Projects/Domain/AuthDomain/Sources/OAuth/Provider/Google/GoogleOAuthProvider.swift index ed12f52b..e44bae14 100644 --- a/Projects/Domain/AuthDomain/Sources/OAuth/Provider/Google/GoogleOAuthProvider.swift +++ b/Projects/Domain/AuthDomain/Sources/OAuth/Provider/Google/GoogleOAuthProvider.swift @@ -8,7 +8,6 @@ import Dependencies @preconcurrency import AuthDomainInterface import Foundation -import LogMacro import Sharing public final class GoogleOAuthProvider: GoogleOAuthProviderInterface, @unchecked Sendable { diff --git a/Projects/Domain/AuthDomain/Sources/OAuth/Provider/Kakao/KakaoOAuthProvider.swift b/Projects/Domain/AuthDomain/Sources/OAuth/Provider/Kakao/KakaoOAuthProvider.swift index 25df2a26..c29211ac 100644 --- a/Projects/Domain/AuthDomain/Sources/OAuth/Provider/Kakao/KakaoOAuthProvider.swift +++ b/Projects/Domain/AuthDomain/Sources/OAuth/Provider/Kakao/KakaoOAuthProvider.swift @@ -8,7 +8,6 @@ import Dependencies @preconcurrency import AuthDomainInterface import Foundation -import LogMacro import Sharing public final class KakaoOAuthProvider: KakaoOAuthProviderInterface, @unchecked Sendable { diff --git a/Projects/Domain/AuthDomain/Sources/OAuth/UnifiedOAuthUseCase.swift b/Projects/Domain/AuthDomain/Sources/OAuth/UnifiedOAuthUseCase.swift index 0cd2bdf0..01684b5e 100644 --- a/Projects/Domain/AuthDomain/Sources/OAuth/UnifiedOAuthUseCase.swift +++ b/Projects/Domain/AuthDomain/Sources/OAuth/UnifiedOAuthUseCase.swift @@ -9,7 +9,6 @@ import AuthenticationServices import Dependencies import Foundation -import LogMacro import Sharing /// 통합 OAuth UseCase — 소셜 인증 → 백엔드 로그인까지 단일 진입점 diff --git a/Projects/Domain/AuthDomain/Sources/Repository/AuthRepositoryImpl.swift b/Projects/Domain/AuthDomain/Sources/Repository/AuthRepositoryImpl.swift index b2e2815e..e2b56336 100644 --- a/Projects/Domain/AuthDomain/Sources/Repository/AuthRepositoryImpl.swift +++ b/Projects/Domain/AuthDomain/Sources/Repository/AuthRepositoryImpl.swift @@ -13,7 +13,6 @@ import PickeAuthInterface import PickeNetwork import Dependencies -import LogMacro public final class AuthRepositoryImpl: AuthInterface, @unchecked Sendable { @Dependency(\.networkClient) private var client diff --git a/Projects/Domain/AuthDomain/Sources/Repository/Google/GoogleOAuthRepositoryImpl.swift b/Projects/Domain/AuthDomain/Sources/Repository/Google/GoogleOAuthRepositoryImpl.swift index a62e40f2..489552a4 100644 --- a/Projects/Domain/AuthDomain/Sources/Repository/Google/GoogleOAuthRepositoryImpl.swift +++ b/Projects/Domain/AuthDomain/Sources/Repository/Google/GoogleOAuthRepositoryImpl.swift @@ -8,7 +8,6 @@ import AuthDomainInterface import AuthenticationServices import Foundation -import LogMacro import UIKit /// Google OAuth — WKWebView 로 authorize URL 띄우고 redirect 콜백을 navigation 단계에서 가로채는 흐름. diff --git a/Projects/Domain/AuthDomain/Sources/Repository/OAuth/Apple/AppleOAuthRepositoryImpl.swift b/Projects/Domain/AuthDomain/Sources/Repository/OAuth/Apple/AppleOAuthRepositoryImpl.swift index 912f601b..306bfd10 100644 --- a/Projects/Domain/AuthDomain/Sources/Repository/OAuth/Apple/AppleOAuthRepositoryImpl.swift +++ b/Projects/Domain/AuthDomain/Sources/Repository/OAuth/Apple/AppleOAuthRepositoryImpl.swift @@ -10,15 +10,14 @@ import AuthenticationServices @preconcurrency import AuthDomainInterface -import LogMacro import ComposableArchitecture +import PickeCoreLogger #if canImport(UIKit) import UIKit #endif public final class AppleOAuthRepositoryImpl: NSObject, AppleOAuthInterface, @unchecked Sendable { - private let logger = LogMacro.Log.self @Dependency(\.appleManger) var appleLoginManger @Shared(.appleUserName) var appleUserName: String? @@ -125,7 +124,7 @@ extension AppleOAuthRepositoryImpl: ASAuthorizationControllerDelegate { self.$appleUserName.withLock { $0 = displayName } - logger.info("Apple Sign In successful for user: \(displayName ?? "unknown"), \(appleUserName)") + PickeLogger.info("Apple Sign In 성공 — user: \(displayName ?? "unknown"), 저장된 이름: \(String(describing: appleUserName))", category: .auth) finishSignIn(with: .success(payload)) } @@ -138,7 +137,7 @@ extension AppleOAuthRepositoryImpl: ASAuthorizationControllerDelegate { if nsError.code == ASAuthorizationError.canceled.rawValue { finishSignIn(with: .failure(AuthError.userCancelled)) } else { - logger.error("Apple Sign In failed: \(error.localizedDescription)") + PickeLogger.error("Apple Sign In 실패: \(error.localizedDescription)", category: .auth) finishSignIn(with: .failure(AuthError.invalidCredential(error.localizedDescription))) } } diff --git a/Projects/Domain/AuthDomain/Sources/Repository/OAuth/Kakao/KakaoOAuthRepository.swift b/Projects/Domain/AuthDomain/Sources/Repository/OAuth/Kakao/KakaoOAuthRepository.swift index 65fb53a4..cd31e35e 100644 --- a/Projects/Domain/AuthDomain/Sources/Repository/OAuth/Kakao/KakaoOAuthRepository.swift +++ b/Projects/Domain/AuthDomain/Sources/Repository/OAuth/Kakao/KakaoOAuthRepository.swift @@ -8,7 +8,6 @@ import AuthDomainInterface import AuthenticationServices import Foundation -import LogMacro import UIKit /// Kakao OAuth — WKWebView 로 authorize URL 띄우고 redirect 콜백을 navigation 단계에서 가로채는 흐름. diff --git a/Projects/Domain/BattleDomain/Project.swift b/Projects/Domain/BattleDomain/Project.swift index 8aab9202..e112b433 100644 --- a/Projects/Domain/BattleDomain/Project.swift +++ b/Projects/Domain/BattleDomain/Project.swift @@ -15,11 +15,9 @@ let project = Project.configure( .serviceAssembly, .SPM.composableArchitecture, .domain(.home, .interface), - .SPM.logMarco, ], interfaceDependencies: [ .domain(.home, .interface), - .SPM.composableArchitecture, ] ) diff --git a/Projects/Domain/BattleDomain/Sources/Repository/BattleRepositoryImpl.swift b/Projects/Domain/BattleDomain/Sources/Repository/BattleRepositoryImpl.swift index 1d4a1757..7569adc4 100644 --- a/Projects/Domain/BattleDomain/Sources/Repository/BattleRepositoryImpl.swift +++ b/Projects/Domain/BattleDomain/Sources/Repository/BattleRepositoryImpl.swift @@ -12,7 +12,6 @@ import BattleDomainInterface import HomeDomainInterface import PickeNetwork -import LogMacro public final class BattleRepositoryImpl: BattleInterface, @unchecked Sendable { @Dependency(\.networkClient) private var client diff --git a/Projects/Domain/CommentDomain/Project.swift b/Projects/Domain/CommentDomain/Project.swift index c11f7e5d..f39e50fb 100644 --- a/Projects/Domain/CommentDomain/Project.swift +++ b/Projects/Domain/CommentDomain/Project.swift @@ -15,7 +15,6 @@ let project = Project.configure( .serviceAssembly, .domain(.battle, .interface), .SPM.composableArchitecture, - .SPM.logMarco, ], interfaceDependencies: [ .domain(.battle, .interface), diff --git a/Projects/Domain/CommentDomain/Sources/Repository/CommentRepositoryImpl.swift b/Projects/Domain/CommentDomain/Sources/Repository/CommentRepositoryImpl.swift index beb11b76..afb46517 100644 --- a/Projects/Domain/CommentDomain/Sources/Repository/CommentRepositoryImpl.swift +++ b/Projects/Domain/CommentDomain/Sources/Repository/CommentRepositoryImpl.swift @@ -11,7 +11,6 @@ import APIEndpoint import CommentDomainInterface import PickeNetwork -import LogMacro public final class CommentRepositoryImpl: CommentInterface, @unchecked Sendable { @Dependency(\.networkClient) private var client diff --git a/Projects/Domain/HomeDomain/Project.swift b/Projects/Domain/HomeDomain/Project.swift index 8741a9f6..ec6a72c0 100644 --- a/Projects/Domain/HomeDomain/Project.swift +++ b/Projects/Domain/HomeDomain/Project.swift @@ -13,9 +13,7 @@ let project = Project.configure( settings: .settings(), dependencies: [ .serviceAssembly, - .SPM.composableArchitecture, .domain(.auth, .interface), - .SPM.logMarco, ], interfaceDependencies: [ .SPM.composableArchitecture, diff --git a/Projects/Domain/HomeDomain/Sources/Repository/HomeRepositoryImpl.swift b/Projects/Domain/HomeDomain/Sources/Repository/HomeRepositoryImpl.swift index 2de6b52b..36407856 100644 --- a/Projects/Domain/HomeDomain/Sources/Repository/HomeRepositoryImpl.swift +++ b/Projects/Domain/HomeDomain/Sources/Repository/HomeRepositoryImpl.swift @@ -13,7 +13,6 @@ import APIEndpoint import HomeDomainInterface import PickeNetwork -import LogMacro import AuthDomainInterface public final class HomeRepositoryImpl: HomeInterface, @unchecked Sendable { diff --git a/Projects/Domain/NotificationDomain/Project.swift b/Projects/Domain/NotificationDomain/Project.swift index 710879c1..eff286bf 100644 --- a/Projects/Domain/NotificationDomain/Project.swift +++ b/Projects/Domain/NotificationDomain/Project.swift @@ -13,8 +13,6 @@ let project = Project.configure( settings: .settings(), dependencies: [ .serviceAssembly, - .SPM.composableArchitecture, - .SPM.logMarco, ], interfaceDependencies: [ .SPM.composableArchitecture, diff --git a/Projects/Domain/NotificationDomain/Sources/Repository/NotificationRepositoryImpl.swift b/Projects/Domain/NotificationDomain/Sources/Repository/NotificationRepositoryImpl.swift index 69eeb12a..fbcf3cb8 100644 --- a/Projects/Domain/NotificationDomain/Sources/Repository/NotificationRepositoryImpl.swift +++ b/Projects/Domain/NotificationDomain/Sources/Repository/NotificationRepositoryImpl.swift @@ -11,7 +11,6 @@ import APIEndpoint import PickeNetwork import NotificationDomainInterface -import LogMacro public final class NotificationRepositoryImpl: NotificationInterface, @unchecked Sendable { @Dependency(\.networkClient) private var client diff --git a/Projects/Domain/PerspectiveDomain/Project.swift b/Projects/Domain/PerspectiveDomain/Project.swift index 093ce5f0..9c727ee3 100644 --- a/Projects/Domain/PerspectiveDomain/Project.swift +++ b/Projects/Domain/PerspectiveDomain/Project.swift @@ -15,8 +15,6 @@ let project = Project.configure( .serviceAssembly, .domain(.battle, .interface), .domain(.comment, .interface), - .SPM.composableArchitecture, - .SPM.logMarco, ], interfaceDependencies: [ .domain(.battle, .interface), diff --git a/Projects/Domain/PerspectiveDomain/Sources/Repository/PerspectiveRepositoryImpl.swift b/Projects/Domain/PerspectiveDomain/Sources/Repository/PerspectiveRepositoryImpl.swift index 6f947f2d..c760f436 100644 --- a/Projects/Domain/PerspectiveDomain/Sources/Repository/PerspectiveRepositoryImpl.swift +++ b/Projects/Domain/PerspectiveDomain/Sources/Repository/PerspectiveRepositoryImpl.swift @@ -13,7 +13,6 @@ import CommentDomainInterface import PickeNetwork import PerspectiveDomainInterface -import LogMacro public final class PerspectiveRepositoryImpl: PerspectiveInterface, @unchecked Sendable { @Dependency(\.networkClient) private var client diff --git a/Projects/Domain/ProfileDomain/Project.swift b/Projects/Domain/ProfileDomain/Project.swift index 32beac26..93be6498 100644 --- a/Projects/Domain/ProfileDomain/Project.swift +++ b/Projects/Domain/ProfileDomain/Project.swift @@ -13,8 +13,6 @@ let project = Project.configure( settings: .settings(), dependencies: [ .serviceAssembly, - .SPM.composableArchitecture, - .SPM.logMarco, ], interfaceDependencies: [ .SPM.composableArchitecture, diff --git a/Projects/Domain/ProfileDomain/Sources/Repository/ProfileRepositoryImpl.swift b/Projects/Domain/ProfileDomain/Sources/Repository/ProfileRepositoryImpl.swift index ec8b8873..a924d511 100644 --- a/Projects/Domain/ProfileDomain/Sources/Repository/ProfileRepositoryImpl.swift +++ b/Projects/Domain/ProfileDomain/Sources/Repository/ProfileRepositoryImpl.swift @@ -11,7 +11,6 @@ import APIEndpoint import PickeNetwork import ProfileDomainInterface -import LogMacro public final class ProfileRepositoryImpl: ProfileInterface, @unchecked Sendable { @Dependency(\.networkClient) private var client diff --git a/Projects/Domain/SearchDomain/Project.swift b/Projects/Domain/SearchDomain/Project.swift index c6e66e32..607aa0cf 100644 --- a/Projects/Domain/SearchDomain/Project.swift +++ b/Projects/Domain/SearchDomain/Project.swift @@ -14,13 +14,10 @@ let project = Project.configure( dependencies: [ .serviceAssembly, .domain(.home, .interface), - .SPM.composableArchitecture, .domain(.battle, .interface), - .SPM.logMarco, ], interfaceDependencies: [ .domain(.home, .interface), - .SPM.composableArchitecture, ] ) diff --git a/Projects/Domain/SearchDomain/Sources/SearchRepositoryImpl.swift b/Projects/Domain/SearchDomain/Sources/SearchRepositoryImpl.swift index 7349c3ac..9958f159 100644 --- a/Projects/Domain/SearchDomain/Sources/SearchRepositoryImpl.swift +++ b/Projects/Domain/SearchDomain/Sources/SearchRepositoryImpl.swift @@ -12,7 +12,6 @@ import HomeDomainInterface import PickeNetwork import SearchDomainInterface -import LogMacro import BattleDomainInterface public final class SearchRepositoryImpl: SearchInterface, @unchecked Sendable { diff --git a/Projects/Feature/Ad/Sources/UseCase/RewardedAdClient+Live.swift b/Projects/Feature/Ad/Sources/UseCase/RewardedAdClient+Live.swift index 975a2f56..8c9d5753 100644 --- a/Projects/Feature/Ad/Sources/UseCase/RewardedAdClient+Live.swift +++ b/Projects/Feature/Ad/Sources/UseCase/RewardedAdClient+Live.swift @@ -10,7 +10,6 @@ import AdInterface import PickeAnalyticsInterface import ComposableArchitecture import GoogleMobileAds -import LogMacro // MARK: - Live diff --git a/Projects/Feature/Auth/Project.swift b/Projects/Feature/Auth/Project.swift index 7e9b33f4..d141f634 100644 --- a/Projects/Feature/Auth/Project.swift +++ b/Projects/Feature/Auth/Project.swift @@ -12,14 +12,10 @@ let project = Project.configure( product: .staticFramework, settings: .settings(), dependencies: [ + .SPM.composableArchitecture, .ui(.designKit), .ui(.sharedUI), .service(.analytics, .interface), - .SPM.composableArchitecture, - .SPM.tcaFlow, .domain(.auth, .interface), - - - .core(.thirdParty), ] ) diff --git a/Projects/Feature/Auth/Sources/Main/Reducer/LoginFeature.swift b/Projects/Feature/Auth/Sources/Main/Reducer/LoginFeature.swift index 705165e9..af3f9bcc 100644 --- a/Projects/Feature/Auth/Sources/Main/Reducer/LoginFeature.swift +++ b/Projects/Feature/Auth/Sources/Main/Reducer/LoginFeature.swift @@ -10,7 +10,7 @@ import Foundation import AuthInterface import ComposableArchitecture -import LogMacro +import PickeCoreLogger import AuthDomainInterface import PickeDesignKit @@ -214,7 +214,7 @@ extension LoginFeature { return .send(.delegate(.presentOnboarding)) case let .failure(error): - #logNetwork("로그인 실패", error.localizedDescription) + PickeLogger.error("로그인 실패: \(error.localizedDescription)", category: .auth) let socialType = state.currentSocialType return .run { _ in await MainActor.run { diff --git a/Projects/Feature/Auth/Sources/OnBoarding/Reducer/OnBoardingFeature.swift b/Projects/Feature/Auth/Sources/OnBoarding/Reducer/OnBoardingFeature.swift index a31b5814..1089f87c 100644 --- a/Projects/Feature/Auth/Sources/OnBoarding/Reducer/OnBoardingFeature.swift +++ b/Projects/Feature/Auth/Sources/OnBoarding/Reducer/OnBoardingFeature.swift @@ -9,7 +9,6 @@ import ComposableArchitecture import AuthInterface import PickeDesignKit import Foundation -import LogMacro @Reducer public struct OnBoardingFeature { diff --git a/Projects/Feature/Battle/Project.swift b/Projects/Feature/Battle/Project.swift index aa6c91dc..4d422800 100644 --- a/Projects/Feature/Battle/Project.swift +++ b/Projects/Feature/Battle/Project.swift @@ -12,15 +12,11 @@ let project = Project.configure( product: .staticFramework, settings: .settings(), dependencies: [ + .SPM.composableArchitecture, .ui(.designKit), .ui(.sharedUI), .core(.coreUtility), .service(.analytics, .interface), - .core(.thirdParty), .domain(.battle, .interface), - - .SPM.composableArchitecture, - .SPM.tcaFlow, - .SPM.kingfisher, ] ) diff --git a/Projects/Feature/Battle/Sources/Main/Reducer/BattleFeature.swift b/Projects/Feature/Battle/Sources/Main/Reducer/BattleFeature.swift index 926733b6..e8ad4f25 100644 --- a/Projects/Feature/Battle/Sources/Main/Reducer/BattleFeature.swift +++ b/Projects/Feature/Battle/Sources/Main/Reducer/BattleFeature.swift @@ -7,7 +7,6 @@ import Foundation import ComposableArchitecture import BattleDomainInterface -import LogMacro import PickeAnalyticsInterface import PickeCoreUtility diff --git a/Projects/Feature/Chat/Project.swift b/Projects/Feature/Chat/Project.swift index 09d1a602..33450739 100644 --- a/Projects/Feature/Chat/Project.swift +++ b/Projects/Feature/Chat/Project.swift @@ -12,6 +12,8 @@ let project = Project.configure( product: .staticFramework, settings: .settings(), dependencies: [ + .SPM.tcaFlow, + .SPM.composableArchitecture, .service(.audioPlayer, .interface), .domain(.perspective, .interface), .ui(.designKit), @@ -23,11 +25,6 @@ let project = Project.configure( .core(.network), .domain(.comment, .interface), - .core(.thirdParty), .feature(.ad, .implementation), - .SPM.composableArchitecture, - .SPM.tcaFlow, - .SPM.kingfisher, - .SPM.logMarco, ] ) diff --git a/Projects/Feature/Chat/Sources/ChatRoom/Reducer/ChatRoomFeature.swift b/Projects/Feature/Chat/Sources/ChatRoom/Reducer/ChatRoomFeature.swift index 5dbfb8d8..b759d892 100644 --- a/Projects/Feature/Chat/Sources/ChatRoom/Reducer/ChatRoomFeature.swift +++ b/Projects/Feature/Chat/Sources/ChatRoom/Reducer/ChatRoomFeature.swift @@ -11,7 +11,6 @@ import BattleDomainInterface import ChatInterface import ComposableArchitecture import HomeDomainInterface -import LogMacro import PickeDesignKit import PickeSharedUI import PickeCoreUtility diff --git a/Projects/Feature/Chat/Sources/Comment/Reducer/CommentFeature.swift b/Projects/Feature/Chat/Sources/Comment/Reducer/CommentFeature.swift index 50e6f7d9..6d22af1e 100644 --- a/Projects/Feature/Chat/Sources/Comment/Reducer/CommentFeature.swift +++ b/Projects/Feature/Chat/Sources/Comment/Reducer/CommentFeature.swift @@ -8,7 +8,6 @@ import Foundation import BattleDomainInterface import CommentDomainInterface import ComposableArchitecture -import LogMacro import PerspectiveDomainInterface import PickeDesignKit import PickeSharedUI diff --git a/Projects/Feature/Chat/Sources/CommentReply/Reducer/CommentReplyFeature.swift b/Projects/Feature/Chat/Sources/CommentReply/Reducer/CommentReplyFeature.swift index 10d58d5d..909eaae1 100644 --- a/Projects/Feature/Chat/Sources/CommentReply/Reducer/CommentReplyFeature.swift +++ b/Projects/Feature/Chat/Sources/CommentReply/Reducer/CommentReplyFeature.swift @@ -10,7 +10,6 @@ import Foundation import CommentDomainInterface import BattleDomainInterface import ComposableArchitecture -import LogMacro import PerspectiveDomainInterface import PickeDesignKit import PickeSharedUI diff --git a/Projects/Feature/Chat/Sources/Coordinator/Reducer/ChatCoordinator.swift b/Projects/Feature/Chat/Sources/Coordinator/Reducer/ChatCoordinator.swift index 0a6ab3f0..05dfc18b 100644 --- a/Projects/Feature/Chat/Sources/Coordinator/Reducer/ChatCoordinator.swift +++ b/Projects/Feature/Chat/Sources/Coordinator/Reducer/ChatCoordinator.swift @@ -8,7 +8,6 @@ import Foundation import ChatInterface import CommentDomainInterface import ComposableArchitecture -import LogMacro import PickeDesignKit import PickeCoreUtility import TCAFlow diff --git a/Projects/Feature/Chat/Sources/Curation/Reducer/CurationFeature.swift b/Projects/Feature/Chat/Sources/Curation/Reducer/CurationFeature.swift index 12848b20..33163c93 100644 --- a/Projects/Feature/Chat/Sources/Curation/Reducer/CurationFeature.swift +++ b/Projects/Feature/Chat/Sources/Curation/Reducer/CurationFeature.swift @@ -7,7 +7,6 @@ import Foundation import BattleDomainInterface import ComposableArchitecture -import LogMacro import PickeAnalyticsInterface @Reducer diff --git a/Projects/Feature/Chat/Sources/Vote/Reducer/PreVoteFeature.swift b/Projects/Feature/Chat/Sources/Vote/Reducer/PreVoteFeature.swift index 520a0cf3..ae7606a1 100644 --- a/Projects/Feature/Chat/Sources/Vote/Reducer/PreVoteFeature.swift +++ b/Projects/Feature/Chat/Sources/Vote/Reducer/PreVoteFeature.swift @@ -12,7 +12,6 @@ import UIKit import PickeAnalyticsInterface import BattleDomainInterface import ComposableArchitecture -import LogMacro import PerspectiveDomainInterface import PickeDesignKit import PickeSharedUI diff --git a/Projects/Feature/Hifi/Project.swift b/Projects/Feature/Hifi/Project.swift index cd3e833a..c2397ac0 100644 --- a/Projects/Feature/Hifi/Project.swift +++ b/Projects/Feature/Hifi/Project.swift @@ -17,15 +17,12 @@ let project = Project.configure( .ui(.sharedUI), .core(.coreUtility), .service(.analytics, .interface), - .core(.thirdParty), // 탐색 리스트 인라인 배너 광고 — 광고를 노출하는 화면만 명시적으로 의존한다. .feature(.ad, .implementation), .domain(.home, .interface), - .domain(.search, .interface), .domain(.notification, .interface), .SPM.composableArchitecture, - .SPM.tcaFlow, .SPM.kingfisher, ] ) diff --git a/Projects/Feature/Hifi/Sources/Reducer/HifiFeature.swift b/Projects/Feature/Hifi/Sources/Reducer/HifiFeature.swift index 27cbaf8e..6bdc216b 100644 --- a/Projects/Feature/Hifi/Sources/Reducer/HifiFeature.swift +++ b/Projects/Feature/Hifi/Sources/Reducer/HifiFeature.swift @@ -9,7 +9,6 @@ import SearchDomainInterface import ComposableArchitecture import HifiInterface import HomeDomainInterface -import LogMacro import NotificationDomainInterface import PickeAnalyticsInterface import BattleDomainInterface diff --git a/Projects/Feature/Home/Project.swift b/Projects/Feature/Home/Project.swift index 278e7833..38b0c0bd 100644 --- a/Projects/Feature/Home/Project.swift +++ b/Projects/Feature/Home/Project.swift @@ -12,6 +12,7 @@ let project = Project.configure( product: .staticFramework, settings: .settings(), dependencies: [ + .SPM.composableArchitecture, .domain(.auth, .interface), .ui(.designKit), .ui(.sharedUI), @@ -21,9 +22,7 @@ let project = Project.configure( .domain(.attendance, .interface), .domain(.battle, .interface), .domain(.home, .interface), - .domain(.notification, .interface), - .core(.thirdParty), // 홈 피드 중간 배너 광고 — 광고를 노출하는 화면만 명시적으로 의존한다. .feature(.ad, .implementation), ] diff --git a/Projects/Feature/Home/Sources/Main/Reducer/HomeFeature.swift b/Projects/Feature/Home/Sources/Main/Reducer/HomeFeature.swift index 33a742b7..ab52f93d 100644 --- a/Projects/Feature/Home/Sources/Main/Reducer/HomeFeature.swift +++ b/Projects/Feature/Home/Sources/Main/Reducer/HomeFeature.swift @@ -10,7 +10,6 @@ import ComposableArchitecture import Foundation import HomeDomainInterface import HomeInterface -import LogMacro import NotificationDomainInterface import PickeAnalyticsInterface import AuthDomainInterface diff --git a/Projects/Feature/Notification/Project.swift b/Projects/Feature/Notification/Project.swift index a25805fb..3e3aed41 100644 --- a/Projects/Feature/Notification/Project.swift +++ b/Projects/Feature/Notification/Project.swift @@ -17,8 +17,6 @@ let project = Project.configure( .core(.coreUtility), .service(.analytics, .interface), .domain(.notification, .interface), - - .core(.thirdParty), .SPM.composableArchitecture, .SPM.tcaFlow, ] diff --git a/Projects/Feature/Notification/Sources/Main/Reducer/NotificationFeature.swift b/Projects/Feature/Notification/Sources/Main/Reducer/NotificationFeature.swift index 3b8fdaa0..c9433160 100644 --- a/Projects/Feature/Notification/Sources/Main/Reducer/NotificationFeature.swift +++ b/Projects/Feature/Notification/Sources/Main/Reducer/NotificationFeature.swift @@ -6,7 +6,6 @@ import Foundation import ComposableArchitecture -import LogMacro import NotificationDomainInterface import PickeAnalyticsInterface import PickeCoreUtility diff --git a/Projects/Feature/Profile/Project.swift b/Projects/Feature/Profile/Project.swift index 12c3f5b6..d1df5907 100644 --- a/Projects/Feature/Profile/Project.swift +++ b/Projects/Feature/Profile/Project.swift @@ -22,8 +22,6 @@ let project = Project.configure( .domain(.auth, .interface), .domain(.battle, .interface), .domain(.notification, .interface), - - .core(.thirdParty), .feature(.ad, .implementation), // 마이페이지 하단 배너 광고 .SPM.composableArchitecture, .SPM.tcaFlow, diff --git a/Projects/Feature/Profile/Sources/BattleProposal/Reducer/BattleProposalFeature.swift b/Projects/Feature/Profile/Sources/BattleProposal/Reducer/BattleProposalFeature.swift index 610ae66b..72b2022e 100644 --- a/Projects/Feature/Profile/Sources/BattleProposal/Reducer/BattleProposalFeature.swift +++ b/Projects/Feature/Profile/Sources/BattleProposal/Reducer/BattleProposalFeature.swift @@ -9,7 +9,6 @@ import ComposableArchitecture import PickeDesignKit import PickeSharedUI import BattleDomainInterface -import LogMacro @Reducer public struct BattleProposalFeature { diff --git a/Projects/Feature/Profile/Sources/BattleRecord/Reducer/BattleRecordFeature.swift b/Projects/Feature/Profile/Sources/BattleRecord/Reducer/BattleRecordFeature.swift index b2e97d04..3079ebe9 100644 --- a/Projects/Feature/Profile/Sources/BattleRecord/Reducer/BattleRecordFeature.swift +++ b/Projects/Feature/Profile/Sources/BattleRecord/Reducer/BattleRecordFeature.swift @@ -7,7 +7,6 @@ import Foundation import ProfileDomainInterface import ComposableArchitecture -import LogMacro @Reducer public struct BattleRecordFeature { diff --git a/Projects/Feature/Profile/Sources/ContentActivity/Reducer/ContentActivityFeature.swift b/Projects/Feature/Profile/Sources/ContentActivity/Reducer/ContentActivityFeature.swift index aa324949..0ad4c980 100644 --- a/Projects/Feature/Profile/Sources/ContentActivity/Reducer/ContentActivityFeature.swift +++ b/Projects/Feature/Profile/Sources/ContentActivity/Reducer/ContentActivityFeature.swift @@ -7,7 +7,6 @@ import Foundation import ProfileDomainInterface import ComposableArchitecture -import LogMacro @Reducer public struct ContentActivityFeature { diff --git a/Projects/Feature/Profile/Sources/Main/Reducer/ProfileFeature.swift b/Projects/Feature/Profile/Sources/Main/Reducer/ProfileFeature.swift index 899f1cb4..992f4292 100644 --- a/Projects/Feature/Profile/Sources/Main/Reducer/ProfileFeature.swift +++ b/Projects/Feature/Profile/Sources/Main/Reducer/ProfileFeature.swift @@ -7,7 +7,6 @@ import Foundation import ProfileDomainInterface import ComposableArchitecture -import LogMacro import NotificationDomainInterface import PickeDesignKit import PickeSharedUI diff --git a/Projects/Feature/Profile/Sources/Notice/Reducer/NoticeFeature.swift b/Projects/Feature/Profile/Sources/Notice/Reducer/NoticeFeature.swift index d3afad6f..2adab4af 100644 --- a/Projects/Feature/Profile/Sources/Notice/Reducer/NoticeFeature.swift +++ b/Projects/Feature/Profile/Sources/Notice/Reducer/NoticeFeature.swift @@ -6,7 +6,6 @@ import Foundation import ComposableArchitecture -import LogMacro import NotificationDomainInterface import ProfileDomainInterface diff --git a/Projects/Feature/Profile/Sources/NotificationSetting/Reducer/NotificationSettingFeature.swift b/Projects/Feature/Profile/Sources/NotificationSetting/Reducer/NotificationSettingFeature.swift index 751a998f..6dd82fc8 100644 --- a/Projects/Feature/Profile/Sources/NotificationSetting/Reducer/NotificationSettingFeature.swift +++ b/Projects/Feature/Profile/Sources/NotificationSetting/Reducer/NotificationSettingFeature.swift @@ -7,7 +7,6 @@ import Foundation import ProfileDomainInterface import ComposableArchitecture -import LogMacro @Reducer public struct NotificationSettingFeature { diff --git a/Projects/Feature/Profile/Sources/PointHistory/Reducer/PointHistoryFeature.swift b/Projects/Feature/Profile/Sources/PointHistory/Reducer/PointHistoryFeature.swift index df43704c..023fc81a 100644 --- a/Projects/Feature/Profile/Sources/PointHistory/Reducer/PointHistoryFeature.swift +++ b/Projects/Feature/Profile/Sources/PointHistory/Reducer/PointHistoryFeature.swift @@ -7,7 +7,6 @@ import Foundation import ProfileDomainInterface import ComposableArchitecture -import LogMacro import PickeDesignKit import PickeSharedUI diff --git a/Projects/Feature/Profile/Sources/Recap/Reducer/RecapFeature.swift b/Projects/Feature/Profile/Sources/Recap/Reducer/RecapFeature.swift index 405d7753..226547be 100644 --- a/Projects/Feature/Profile/Sources/Recap/Reducer/RecapFeature.swift +++ b/Projects/Feature/Profile/Sources/Recap/Reducer/RecapFeature.swift @@ -8,7 +8,6 @@ import ProfileDomainInterface import UIKit import ComposableArchitecture -import LogMacro import PickeAnalyticsInterface import PickeCoreUtility diff --git a/Projects/Feature/Profile/Sources/Settings/Reducer/SettingsFeature.swift b/Projects/Feature/Profile/Sources/Settings/Reducer/SettingsFeature.swift index e3ae74f9..1d211013 100644 --- a/Projects/Feature/Profile/Sources/Settings/Reducer/SettingsFeature.swift +++ b/Projects/Feature/Profile/Sources/Settings/Reducer/SettingsFeature.swift @@ -7,7 +7,6 @@ import Foundation import AuthDomainInterface import ComposableArchitecture -import LogMacro import PickeDesignKit import PickeSharedUI import PickeAnalyticsInterface diff --git a/Projects/Feature/Profile/Sources/Withdraw/Reducer/WithdrawReasonFeature.swift b/Projects/Feature/Profile/Sources/Withdraw/Reducer/WithdrawReasonFeature.swift index 256907e9..d4ee1937 100644 --- a/Projects/Feature/Profile/Sources/Withdraw/Reducer/WithdrawReasonFeature.swift +++ b/Projects/Feature/Profile/Sources/Withdraw/Reducer/WithdrawReasonFeature.swift @@ -7,7 +7,6 @@ import Foundation import AuthDomainInterface import ComposableArchitecture -import LogMacro import PickeDesignKit import PickeSharedUI import DeviceServiceInterface diff --git a/Projects/Feature/Splash/Project.swift b/Projects/Feature/Splash/Project.swift index 6b800142..8189f359 100644 --- a/Projects/Feature/Splash/Project.swift +++ b/Projects/Feature/Splash/Project.swift @@ -18,7 +18,5 @@ let project = Project.configure( .service(.auth, .interface), .service(.analytics, .interface), .SPM.composableArchitecture, - - .core(.thirdParty), ] ) diff --git a/Projects/Feature/Splash/Sources/Reducer/SplashFeature.swift b/Projects/Feature/Splash/Sources/Reducer/SplashFeature.swift index fdb13673..bc953030 100644 --- a/Projects/Feature/Splash/Sources/Reducer/SplashFeature.swift +++ b/Projects/Feature/Splash/Sources/Reducer/SplashFeature.swift @@ -9,7 +9,6 @@ import Foundation import ComposableArchitecture -import LogMacro import PickeAnalyticsInterface import AppUpdateDomainInterface import PickeAuthInterface diff --git a/Projects/Feature/Web/Project.swift b/Projects/Feature/Web/Project.swift index aadfd394..6ce33b08 100644 --- a/Projects/Feature/Web/Project.swift +++ b/Projects/Feature/Web/Project.swift @@ -14,6 +14,5 @@ let project = Project.configure( dependencies: [ .ui(.designKit), .SPM.composableArchitecture, - .core(.thirdParty), ] ) diff --git a/Projects/Service/AudioPlayerService/Project.swift b/Projects/Service/AudioPlayerService/Project.swift index 258075d9..3afc3245 100644 --- a/Projects/Service/AudioPlayerService/Project.swift +++ b/Projects/Service/AudioPlayerService/Project.swift @@ -13,7 +13,7 @@ let project = Project.configure( settings: .settings(), // AVFoundation 은 시스템 프레임워크라 별도 선언이 필요 없다. dependencies: [ - .SPM.composableArchitecture, + ], interfaceDependencies: [ .SPM.composableArchitecture, diff --git a/Projects/Service/DeviceService/Project.swift b/Projects/Service/DeviceService/Project.swift index 5b665463..a2611395 100644 --- a/Projects/Service/DeviceService/Project.swift +++ b/Projects/Service/DeviceService/Project.swift @@ -15,7 +15,7 @@ let project = Project.configure( .service(.apiEndpoint), .core(.network), .SPM.composableArchitecture, - .SPM.logMarco, + .core(.logger), ], interfaceDependencies: [ .SPM.composableArchitecture, diff --git a/Projects/Service/DeviceService/Sources/Repository/DeviceRepositoryImpl.swift b/Projects/Service/DeviceService/Sources/Repository/DeviceRepositoryImpl.swift index fff423e9..2bdae4a5 100644 --- a/Projects/Service/DeviceService/Sources/Repository/DeviceRepositoryImpl.swift +++ b/Projects/Service/DeviceService/Sources/Repository/DeviceRepositoryImpl.swift @@ -11,7 +11,6 @@ import APIEndpoint import PickeNetwork import DeviceServiceInterface -import LogMacro public final class DeviceRepositoryImpl: DeviceInterface, @unchecked Sendable { @Dependency(\.networkClient) private var client diff --git a/Projects/Service/PickeAnalytics/Project.swift b/Projects/Service/PickeAnalytics/Project.swift index cf0172f2..a784fa5b 100644 --- a/Projects/Service/PickeAnalytics/Project.swift +++ b/Projects/Service/PickeAnalytics/Project.swift @@ -21,7 +21,7 @@ let project = Project.configure( .SPM.mixpanelSessionReplay, .SPM.sentry, .SPM.sentrySwiftUI, - .SPM.logMarco, + .core(.logger), ], interfaceDependencies: [ .SPM.composableArchitecture, diff --git a/Projects/Service/PickeAnalytics/Sources/Configuration/MixpanelConfiguration.swift b/Projects/Service/PickeAnalytics/Sources/Configuration/MixpanelConfiguration.swift index a7ec61bb..097d6c0f 100644 --- a/Projects/Service/PickeAnalytics/Sources/Configuration/MixpanelConfiguration.swift +++ b/Projects/Service/PickeAnalytics/Sources/Configuration/MixpanelConfiguration.swift @@ -5,7 +5,7 @@ import Foundation -import LogMacro +import PickeCoreLogger import Mixpanel import MixpanelSessionReplay import PickeNetwork @@ -18,12 +18,9 @@ enum MixpanelConfiguration { static func configure() { let token = token - #logDebug( - "Mixpanel initialize", - [ - "token_exists": !(token?.isEmpty ?? true), - "token_prefix": String((token ?? "").prefix(6)), - ] + PickeLogger.debug( + "Mixpanel initialize — token_exists: \(!(token?.isEmpty ?? true)), token_prefix: \(String((token ?? "").prefix(6)))", + category: .app ) Mixpanel.initialize(token: token ?? "", trackAutomaticEvents: true) diff --git a/Projects/Service/PickeAnalytics/Sources/Configuration/SentryConfiguration.swift b/Projects/Service/PickeAnalytics/Sources/Configuration/SentryConfiguration.swift index a5c31d6e..c1c75e23 100644 --- a/Projects/Service/PickeAnalytics/Sources/Configuration/SentryConfiguration.swift +++ b/Projects/Service/PickeAnalytics/Sources/Configuration/SentryConfiguration.swift @@ -5,7 +5,7 @@ import Foundation -import LogMacro +import PickeCoreLogger @preconcurrency import Sentry /// Sentry 기동과 런치 메트릭 전송. @@ -17,7 +17,7 @@ enum SentryConfiguration { // SENTRY_DSN 은 xcconfig 에서 스킴(https://)을 제외하고 저장 → 코드에서 붙인다. let dsnHost = (info?["SENTRY_DSN"] as? String)?.trimmingCharacters(in: .whitespaces) ?? "" guard !dsnHost.isEmpty else { - #logError("[Sentry] SENTRY_DSN 미설정 — 초기화 스킵") + PickeLogger.error("[Sentry] SENTRY_DSN 미설정 — 초기화 스킵", category: .app) return } let environment = (info?["SENTRY_ENVIRONMENT"] as? String)? diff --git a/Projects/Service/PickeAnalytics/Sources/UseCase/AnalyticsUseCase+Live.swift b/Projects/Service/PickeAnalytics/Sources/UseCase/AnalyticsUseCase+Live.swift index 28196bf5..a3e5b4e0 100644 --- a/Projects/Service/PickeAnalytics/Sources/UseCase/AnalyticsUseCase+Live.swift +++ b/Projects/Service/PickeAnalytics/Sources/UseCase/AnalyticsUseCase+Live.swift @@ -7,7 +7,7 @@ import Foundation import PickeAnalyticsInterface import ComposableArchitecture -import LogMacro +import PickeCoreLogger import Mixpanel import MixpanelSessionReplay @preconcurrency import Sentry @@ -62,7 +62,7 @@ extension AnalyticsUseCase: DependencyKey { let mixpanel = Mixpanel.mainInstance() let name = eventName(event) let properties = eventProperties(event) - #logDebug("Mixpanel track", ["event": name, "properties": String(describing: properties)]) + PickeLogger.debug("Mixpanel track — event: \(name), properties: \(String(describing: properties))", category: .app) mixpanel.track(event: name, properties: properties) enrichPeopleProfile(mixpanel, event: event) monitorInSentry(name: name, properties: properties, event: event) diff --git a/Projects/Service/PickeAuth/Project.swift b/Projects/Service/PickeAuth/Project.swift index e3d7d34c..cb8201ad 100644 --- a/Projects/Service/PickeAuth/Project.swift +++ b/Projects/Service/PickeAuth/Project.swift @@ -16,8 +16,7 @@ let project = Project.configure( .core(.network), .core(.storage), .core(.storage, .interface), - .SPM.composableArchitecture, - .SPM.logMarco, + .core(.logger), ], interfaceDependencies: [ .core(.network, .interface), diff --git a/Projects/Service/PickeAuth/Sources/Store/GuardedCredentialStore.swift b/Projects/Service/PickeAuth/Sources/Store/GuardedCredentialStore.swift index ea305717..298ef43d 100644 --- a/Projects/Service/PickeAuth/Sources/Store/GuardedCredentialStore.swift +++ b/Projects/Service/PickeAuth/Sources/Store/GuardedCredentialStore.swift @@ -6,7 +6,6 @@ import Foundation import os -import LogMacro import PickeNetworkInterface /// 로그아웃 뒤 이미 진행 중이던 refresh 가 완료되어 죽은 세션을 되살리는 race 를 차단한다. From 81f1b11aab1b7abcd9a1971e71d802000bf8d704 Mon Sep 17 00:00:00 2001 From: Roy Date: Mon, 7 Sep 2026 21:45:39 +0900 Subject: [PATCH 66/83] =?UTF-8?q?refactor(tuist):=20=EB=AA=A8=EB=93=88=20?= =?UTF-8?q?=ED=85=9C=ED=94=8C=EB=A6=BF=EC=9D=84=20=EC=B0=B8=EC=A1=B0=20?= =?UTF-8?q?=ED=94=84=EB=A1=9C=EC=A0=9D=ED=8A=B8=EC=9D=98=20makeModule=20?= =?UTF-8?q?=EB=A1=9C=20=ED=86=B5=EC=9D=BC=ED=95=9C=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit configure(moduleType:) 는 ModuleType enum 으로 분기하면서 .microModule 이면 Interface·구현·Testing·Tests 4타깃을 무조건 만들었다. 그 결과 아무도 쓰지 않는 Testing 스텁이 23개 쌓였다. - Project+Template.swift 를 makeModule 하나로 합치고 타깃을 불리언으로 켠다 (hasInterface·hasTesting·hasDemo·hasTests). makeAppModule 도 함께 노출한다 - ModuleType·configureModule·configureFeature 를 지운다 - 매니페스트 40개를 새 시그니처로 옮긴다. module 계열의 sources 인자는 buildableFolders 가 대신하므로 뺀다 - Testing 은 실제 목이 있는 AuthDomain·HomeDomain·PickeAuth 만 켜고 빈 스텁 23개를 지운다 - 소스도 매니페스트도 없이 생성물만 남아 있던 Domain/DomainTesting 을 지운다 --- .../TargetDependency+Modules.swift | 2 +- .../Project+Templete/ModuleType.swift | 17 -- .../Project+Templete/Project+Feature.swift | 97 --------- .../Project+Templete/Project+Module.swift | 100 --------- .../Project+Templete/Project+Template.swift | 202 +++++++++++++----- Projects/App/Project.swift | 6 +- Projects/Core/CoreAssembly/Project.swift | 8 +- Projects/Core/PickeCoreLogger/Project.swift | 7 +- Projects/Core/PickeCoreUI/Project.swift | 7 +- Projects/Core/PickeCoreUtility/Project.swift | 7 +- Projects/Core/PickeNetwork/Project.swift | 11 +- .../Testing/PickeNetworkTesting.swift | 6 - Projects/Core/PickeStorage/Project.swift | 11 +- .../Testing/PickeStorageTesting.swift | 8 - Projects/Core/PickeThirdParty/Project.swift | 7 +- Projects/Domain/AppUpdateDomain/Project.swift | 11 +- .../Testing/AppUpdateDomainTesting.swift | 8 - .../Domain/AttendanceDomain/Project.swift | 11 +- .../Testing/AttendanceDomainTesting.swift | 6 - Projects/Domain/AuthDomain/Project.swift | 11 +- Projects/Domain/BattleDomain/Project.swift | 11 +- .../Testing/BattleDomainTesting.swift | 4 - Projects/Domain/CommentDomain/Project.swift | 11 +- .../Testing/CommentDomainTesting.swift | 4 - Projects/Domain/DomainAssembly/Project.swift | 7 +- Projects/Domain/HomeDomain/Project.swift | 11 +- .../Domain/NotificationDomain/Project.swift | 11 +- .../Testing/NotificationDomainTesting.swift | 4 - .../Domain/PerspectiveDomain/Project.swift | 11 +- .../Testing/PerspectiveDomainTesting.swift | 4 - Projects/Domain/ProfileDomain/Project.swift | 11 +- .../Testing/ProfileDomainTesting.swift | 8 - Projects/Domain/SearchDomain/Project.swift | 11 +- .../Testing/Sources/SearchDomainTesting.swift | 3 - Projects/Feature/Ad/Project.swift | 15 +- Projects/Feature/Ad/Testing/AdTesting.swift | 8 - Projects/Feature/Auth/Project.swift | 11 +- .../Auth/Testing/Sources/AuthTesting.swift | 3 - Projects/Feature/Battle/Project.swift | 11 +- .../Testing/Sources/BattleTesting.swift | 3 - Projects/Feature/Chat/Project.swift | 11 +- .../Chat/Testing/Sources/ChatTesting.swift | 3 - .../Feature/FeatureAssembly/Project.swift | 9 +- Projects/Feature/Hifi/Project.swift | 11 +- .../Hifi/Testing/Sources/HifiTesting.swift | 3 - Projects/Feature/Home/Project.swift | 11 +- .../Home/Testing/Sources/HomeTesting.swift | 3 - Projects/Feature/Notification/Project.swift | 11 +- .../Testing/Sources/NotificationTesting.swift | 3 - Projects/Feature/Profile/Project.swift | 11 +- .../Testing/Sources/ProfileTesting.swift | 3 - Projects/Feature/Splash/Project.swift | 11 +- .../Testing/Sources/SplashTesting.swift | 3 - Projects/Feature/Web/Project.swift | 11 +- .../Web/Testing/Sources/WebTesting.swift | 3 - Projects/Service/API/Project.swift | 7 +- Projects/Service/APIEndpoint/Project.swift | 7 +- .../Service/AudioPlayerService/Project.swift | 12 +- .../Testing/AudioPlayerServiceTesting.swift | 8 - Projects/Service/DeviceService/Project.swift | 11 +- .../Testing/DeviceServiceTesting.swift | 8 - Projects/Service/PickeAnalytics/Project.swift | 23 +- .../Testing/PickeAnalyticsTesting.swift | 8 - Projects/Service/PickeAuth/Project.swift | 11 +- .../Service/ServiceAssembly/Project.swift | 8 +- Projects/UI/PickeAnimation/Project.swift | 8 +- Projects/UI/PickeDesignKit/Project.swift | 14 +- Projects/UI/PickeSharedUI/Project.swift | 7 +- 68 files changed, 372 insertions(+), 572 deletions(-) delete mode 100644 Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/ModuleType.swift delete mode 100644 Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/Project+Feature.swift delete mode 100644 Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/Project+Module.swift delete mode 100644 Projects/Core/PickeNetwork/Testing/PickeNetworkTesting.swift delete mode 100644 Projects/Core/PickeStorage/Testing/PickeStorageTesting.swift delete mode 100644 Projects/Domain/AppUpdateDomain/Testing/AppUpdateDomainTesting.swift delete mode 100644 Projects/Domain/AttendanceDomain/Testing/AttendanceDomainTesting.swift delete mode 100644 Projects/Domain/BattleDomain/Testing/BattleDomainTesting.swift delete mode 100644 Projects/Domain/CommentDomain/Testing/CommentDomainTesting.swift delete mode 100644 Projects/Domain/NotificationDomain/Testing/NotificationDomainTesting.swift delete mode 100644 Projects/Domain/PerspectiveDomain/Testing/PerspectiveDomainTesting.swift delete mode 100644 Projects/Domain/ProfileDomain/Testing/ProfileDomainTesting.swift delete mode 100644 Projects/Domain/SearchDomain/Testing/Sources/SearchDomainTesting.swift delete mode 100644 Projects/Feature/Ad/Testing/AdTesting.swift delete mode 100644 Projects/Feature/Auth/Testing/Sources/AuthTesting.swift delete mode 100644 Projects/Feature/Battle/Testing/Sources/BattleTesting.swift delete mode 100644 Projects/Feature/Chat/Testing/Sources/ChatTesting.swift delete mode 100644 Projects/Feature/Hifi/Testing/Sources/HifiTesting.swift delete mode 100644 Projects/Feature/Home/Testing/Sources/HomeTesting.swift delete mode 100644 Projects/Feature/Notification/Testing/Sources/NotificationTesting.swift delete mode 100644 Projects/Feature/Profile/Testing/Sources/ProfileTesting.swift delete mode 100644 Projects/Feature/Splash/Testing/Sources/SplashTesting.swift delete mode 100644 Projects/Feature/Web/Testing/Sources/WebTesting.swift delete mode 100644 Projects/Service/AudioPlayerService/Testing/AudioPlayerServiceTesting.swift delete mode 100644 Projects/Service/DeviceService/Testing/DeviceServiceTesting.swift delete mode 100644 Projects/Service/PickeAnalytics/Testing/PickeAnalyticsTesting.swift diff --git a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/TargetDependency+Modules.swift b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/TargetDependency+Modules.swift index e3138241..7b451dc3 100644 --- a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/TargetDependency+Modules.swift +++ b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/TargetDependency+Modules.swift @@ -3,7 +3,7 @@ // Plugins // // 레이어 의존성 DSL. 카탈로그가 경로를 들고 있어 여기서는 타깃만 가리킨다. -// 모듈이 Interface 타깃(`Project.configure(moduleType: .microModule)`)을 가지면 +// 모듈이 Interface 타깃(`Project.makeModule(hasInterface: true)`)을 가지면 // `.domain(.auth, .interface)` 처럼 어느 타깃에 의존할지 명시할 수 있다. // 기본값은 레이어별로 다르다. Feature·Domain 은 모든 모듈이 Interface 를 갖춰 // `.interface` 가 기본이고, 구현을 링크하는 조립 레이어만 `.implementation` 을 명시한다. diff --git a/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/ModuleType.swift b/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/ModuleType.swift deleted file mode 100644 index 27d11c2e..00000000 --- a/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/ModuleType.swift +++ /dev/null @@ -1,17 +0,0 @@ -// -// ModuleType.swift -// ProjectTemplatePlugin -// -// Project.configure 의 진입 분기 타입. -// 어떤 모듈이 있는지(카탈로그)는 DependencyPlugin 의 Modules.swift 가 단일 출처다. -// - -import ProjectDescription - -public enum ModuleType { - case app - /// 단일 타깃 모듈. - case module(name: String) - /// Interface / 구현 / Testing / Tests 4타깃 마이크로피처 모듈. - case microModule(name: String) -} diff --git a/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/Project+Feature.swift b/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/Project+Feature.swift deleted file mode 100644 index 596ed77d..00000000 --- a/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/Project+Feature.swift +++ /dev/null @@ -1,97 +0,0 @@ -// -// Project+Feature.swift -// ProjectTemplatePlugin -// -// feature 모듈 타입의 Project 구성 (MicroFeature). -// 타깃: Interface + 구현 + Testing + Tests. -// - -import ProjectDescription - -extension Project { - static func configureFeature( - name: String, - bundleId: String, - platform _: Platform = .iOS, - product: Product = .staticFramework, - deploymentTarget: ProjectDescription.DeploymentTargets = Environment.deploymentTarget, - destinations: ProjectDescription.Destinations = Environment.deploymentDestination, - settings: ProjectDescription.Settings, - interfaceDependencies: [ProjectDescription.TargetDependency] = [], - dependencies: [ProjectDescription.TargetDependency] = [], - testingDependencies: [ProjectDescription.TargetDependency] = [], - resources: ProjectDescription.ResourceFileElements? = nil, - schemes: [ProjectDescription.Scheme] = [] - ) -> Project { - let interfaceTargetName = "\(name)Interface" - let testingTargetName = "\(name)Testing" - - let interfaceTarget: Target = .target( - name: interfaceTargetName, - destinations: destinations, - product: product, - bundleId: "\(bundleId).Interface", - deploymentTargets: deploymentTarget, - infoPlist: .default, - buildableFolders: ["Interface"], - dependencies: interfaceDependencies, - settings: suppressWarningsSettings - ) - - let featureTarget: Target = .target( - name: name, - destinations: destinations, - product: product, - bundleId: bundleId, - deploymentTargets: deploymentTarget, - infoPlist: .default, - buildableFolders: resources != nil ? ["Sources", "Resources"] : ["Sources"], - dependencies: [.target(name: interfaceTargetName)] + dependencies, - settings: suppressWarningsSettings - ) - - let testingTarget: Target = .target( - name: testingTargetName, - destinations: destinations, - product: product, - bundleId: "\(bundleId).Testing", - deploymentTargets: deploymentTarget, - infoPlist: .default, - buildableFolders: ["Testing"], - dependencies: [ - .target(name: interfaceTargetName), - .target(name: name), - ] + testingDependencies, - settings: suppressWarningsSettings - ) - - let testTarget = makeTestsTarget( - name: name, - bundleId: bundleId, - destinations: destinations, - deploymentTarget: deploymentTarget, - dependencies: [ - .target(name: name), - .target(name: testingTargetName), - ] - ) - - return Project( - name: name, - options: .options( - automaticSchemesOptions: .enabled(codeCoverageEnabled: true), - defaultKnownRegions: ["en", "ko"], - developmentRegion: "ko" - ), - settings: settings.injectingModuleConfigurationsIfNeeded(), - targets: [ - interfaceTarget, - featureTarget, - testingTarget, - testTarget, - ], - schemes: schemes, - fileHeaderTemplate: .default - ) - } -} diff --git a/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/Project+Module.swift b/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/Project+Module.swift deleted file mode 100644 index 5849e483..00000000 --- a/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/Project+Module.swift +++ /dev/null @@ -1,100 +0,0 @@ -// -// Project+Module.swift -// ProjectTemplatePlugin -// -// 일반/엄브렐러 모듈 타입의 Project 구성. -// - -import ProjectDescription - -extension Project { - static func configureModule( - name: String = Environment.appName, - bundleId: String, - platform _: Platform = .iOS, - product: Product, - packages: [Package] = [], - deploymentTarget: ProjectDescription.DeploymentTargets = Environment.deploymentTarget, - destinations: ProjectDescription.Destinations = Environment.deploymentDestination, - settings: ProjectDescription.Settings, - scripts: [ProjectDescription.TargetScript] = [], - dependencies: [ProjectDescription.TargetDependency] = [], - sources _: ProjectDescription.SourceFilesList = ["Sources/**"], - resources: ProjectDescription.ResourceFileElements? = nil, - infoPlist: ProjectDescription.InfoPlist = .default, - entitlements: ProjectDescription.Entitlements? = nil, - schemes: [ProjectDescription.Scheme] = [], - hasTests: Bool = false, - demoDisplayName: String? = nil - ) -> Project { - let moduleTarget: Target = .target( - name: name, - destinations: destinations, - product: product, - bundleId: bundleId, - deploymentTargets: deploymentTarget, - infoPlist: infoPlist, - buildableFolders: resources != nil ? ["Sources", "Resources"] : ["Sources"], - entitlements: entitlements, - scripts: scripts, - dependencies: dependencies, - settings: suppressWarningsSettings - ) - - var targets: [Target] = [moduleTarget] - - if hasTests { - targets.append( - makeTestsTarget( - name: name, - bundleId: bundleId, - destinations: destinations, - deploymentTarget: deploymentTarget, - dependencies: [.target(name: name)] - ) - ) - } - - var allSchemes = schemes - var hasDemo = false - if let demoDisplayName { - hasDemo = true - let demoName = "\(name)Demo" - targets.append( - .target( - name: demoName, - destinations: destinations, - product: .app, - bundleId: "\(bundleId).Demo", - deploymentTargets: deploymentTarget, - infoPlist: .extendingDefault(with: [ - "UILaunchScreen": [:], - "CFBundleDisplayName": .string(demoDisplayName), - ]), - buildableFolders: ["Demo"], - dependencies: [.target(name: name)], - settings: suppressWarningsSettings - ) - ) - allSchemes.append(contentsOf: [ - .module(name: name, hasTests: hasTests), - .demo(name: demoName), - ]) - } - - return Project( - name: name, - options: .options( - // Demo 가 있으면 자동 스킴이 구현·Demo 를 한 BuildAction 으로 묶으므로 직접 나눈 스킴만 쓴다. - automaticSchemesOptions: hasDemo ? .disabled : .enabled(codeCoverageEnabled: true), - defaultKnownRegions: ["en", "ko"], - developmentRegion: "ko" - ), - packages: packages, - settings: settings.injectingModuleConfigurationsIfNeeded(), - targets: targets, - schemes: allSchemes, - fileHeaderTemplate: .default - ) - } -} diff --git a/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/Project+Template.swift b/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/Project+Template.swift index 8ceb6ecb..a198af8a 100644 --- a/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/Project+Template.swift +++ b/Plugins/ProjectTemplatePlugin/ProjectDescriptionHelpers/Project+Templete/Project+Template.swift @@ -2,18 +2,18 @@ // Project+Template.swift // ProjectTemplatePlugin // -// 모듈 타입에 따라 Project 를 구성하는 단일 진입점. -// 각 Project.swift 는 이 함수만 호출한다. +// 모듈 하나를 구성하는 단일 진입점. +// Interface·Testing·Demo·Tests 는 플래그로 켠다 — buildableFolders 는 폴더가 없으면 +// generate 가 깨지므로, 해당 폴더를 실제로 둔 모듈만 켠다. // import ProjectDescription public extension Project { - static func configure( - moduleType: ModuleType, + static func makeModule( name: String = Environment.appName, bundleId: String, - platform: Platform = .iOS, + platform _: Platform = .iOS, product: Product = .staticFramework, packages: [Package] = [], deploymentTarget: ProjectDescription.DeploymentTargets = Environment.deploymentTarget, @@ -21,72 +21,162 @@ public extension Project { settings: ProjectDescription.Settings, scripts: [ProjectDescription.TargetScript] = [], dependencies: [ProjectDescription.TargetDependency] = [], - interfaceDependencies: [ProjectDescription.TargetDependency] = [], - testingDependencies: [ProjectDescription.TargetDependency] = [], - sources: ProjectDescription.SourceFilesList = ["Sources/**"], + testDependencies: [ProjectDescription.TargetDependency] = [], resources: ProjectDescription.ResourceFileElements? = nil, infoPlist: ProjectDescription.InfoPlist = .default, entitlements: ProjectDescription.Entitlements? = nil, schemes: [ProjectDescription.Scheme] = [], hasTests: Bool = false, + hasInterface: Bool = false, + interfaceDependencies: [ProjectDescription.TargetDependency] = [], + hasTesting: Bool = false, + testingDependencies: [ProjectDescription.TargetDependency] = [], + hasDemo: Bool = false, + demoDependencies: [ProjectDescription.TargetDependency] = [], demoDisplayName: String? = nil ) -> Project { - switch moduleType { - case .app: - return configureApp( - name: name, - bundleId: bundleId, - platform: platform, + let interfaceTargetName = "\(name)Interface" + let testingTargetName = "\(name)Testing" + let demoTargetName = "\(name)Demo" + + var targets: [Target] = [] + + if hasInterface { + targets.append(.target( + name: interfaceTargetName, + destinations: destinations, product: product, - packages: packages, - deploymentTarget: deploymentTarget, + bundleId: "\(bundleId).Interface", + deploymentTargets: deploymentTarget, + infoPlist: .default, + buildableFolders: ["Interface"], + dependencies: interfaceDependencies, + settings: suppressWarningsSettings + )) + } + + targets.append(.target( + name: name, + destinations: destinations, + product: product, + bundleId: bundleId, + deploymentTargets: deploymentTarget, + infoPlist: infoPlist, + buildableFolders: resources != nil ? ["Sources", "Resources"] : ["Sources"], + entitlements: entitlements, + scripts: scripts, + dependencies: (hasInterface ? [.target(name: interfaceTargetName)] : []) + dependencies, + settings: suppressWarningsSettings + )) + + // Testing: Interface 를 구현한 목·픽스처. 테스트 타깃만 이걸 참조한다. + if hasTesting { + targets.append(.target( + name: testingTargetName, destinations: destinations, - settings: settings, - scripts: scripts, - dependencies: dependencies, - sources: sources, - resources: resources, - infoPlist: infoPlist, - entitlements: entitlements, - schemes: schemes, - hasTests: hasTests - ) - case let .module(name): - return configureModule( - name: name, - bundleId: bundleId, - platform: platform, product: product, - packages: packages, - deploymentTarget: deploymentTarget, + bundleId: "\(bundleId).Testing", + deploymentTargets: deploymentTarget, + infoPlist: .default, + buildableFolders: ["Testing"], + dependencies: (hasInterface ? [.target(name: interfaceTargetName)] : []) + + [.target(name: name)] + + testingDependencies, + settings: suppressWarningsSettings + )) + } + + // Demo: 앱 전체를 빌드하지 않고 모듈 하나만 시뮬레이터에서 확인하는 용도. + if hasDemo { + targets.append(.target( + name: demoTargetName, destinations: destinations, - settings: settings, - scripts: scripts, - dependencies: dependencies, - sources: sources, - resources: resources, - infoPlist: infoPlist, - entitlements: entitlements, - schemes: schemes, - hasTests: hasTests, - demoDisplayName: demoDisplayName - ) - case let .microModule(name): - return configureFeature( + product: .app, + bundleId: "\(bundleId).Demo", + deploymentTargets: deploymentTarget, + infoPlist: .extendingDefault(with: [ + "UILaunchScreen": [:], + "CFBundleDisplayName": .string(demoDisplayName ?? demoTargetName), + ]), + buildableFolders: ["Demo"], + dependencies: [.target(name: name)] + demoDependencies, + settings: suppressWarningsSettings + )) + } + + if hasTests { + targets.append(makeTestsTarget( name: name, bundleId: bundleId, - platform: platform, - product: product, - deploymentTarget: deploymentTarget, destinations: destinations, - settings: settings, - interfaceDependencies: interfaceDependencies, - dependencies: dependencies, - testingDependencies: testingDependencies, - resources: resources, - schemes: schemes - ) + deploymentTarget: deploymentTarget, + // Testing 이 있으면 테스트가 그 목을 그대로 쓴다. + dependencies: [.target(name: name)] + + testDependencies + + (hasTesting ? [.target(name: testingTargetName)] : []) + )) } + + var allSchemes = schemes + if hasDemo { + // Demo 가 있으면 자동 스킴이 구현·Demo 를 한 BuildAction 으로 묶으므로 직접 나눈 스킴만 쓴다. + allSchemes.append(contentsOf: [ + .module(name: name, hasTests: hasTests), + .demo(name: demoTargetName), + ]) + } + + return Project( + name: name, + options: .options( + automaticSchemesOptions: hasDemo ? .disabled : .enabled(codeCoverageEnabled: true), + defaultKnownRegions: ["en", "ko"], + developmentRegion: "ko" + ), + packages: packages, + settings: settings.injectingModuleConfigurationsIfNeeded(), + targets: targets, + schemes: allSchemes, + fileHeaderTemplate: .default + ) + } + + static func makeAppModule( + name: String = Environment.appName, + bundleId: String, + platform: Platform = .iOS, + product: Product = .app, + packages: [Package] = [], + deploymentTarget: ProjectDescription.DeploymentTargets = Environment.deploymentTarget, + destinations: ProjectDescription.Destinations = Environment.deploymentDestination, + settings: ProjectDescription.Settings, + scripts: [ProjectDescription.TargetScript] = [], + dependencies: [ProjectDescription.TargetDependency] = [], + sources: ProjectDescription.SourceFilesList = ["Sources/**"], + resources: ProjectDescription.ResourceFileElements? = nil, + infoPlist: ProjectDescription.InfoPlist = .default, + entitlements: ProjectDescription.Entitlements? = nil, + schemes: [ProjectDescription.Scheme] = [], + hasTests: Bool = false + ) -> Project { + return configureApp( + name: name, + bundleId: bundleId, + platform: platform, + product: product, + packages: packages, + deploymentTarget: deploymentTarget, + destinations: destinations, + settings: settings, + scripts: scripts, + dependencies: dependencies, + sources: sources, + resources: resources, + infoPlist: infoPlist, + entitlements: entitlements, + schemes: schemes, + hasTests: hasTests + ) } } diff --git a/Projects/App/Project.swift b/Projects/App/Project.swift index ced41c87..b0b28e0f 100644 --- a/Projects/App/Project.swift +++ b/Projects/App/Project.swift @@ -5,8 +5,7 @@ import ProjectTemplatePlugin private let appName = Project.Environment.appName -let project = Project.configure( - moduleType: .app, +let project = Project.makeAppModule( name: appName, bundleId: .mainBundleID(), product: .app, @@ -18,10 +17,9 @@ let project = Project.configure( .SPM.googleMobileAds, .SPM.kingfisher, ], - sources: ["Sources/**"], resources: ["Resources/**"], infoPlist: .appInfoPlist, entitlements: .file(path: "../../Entitlements/Picke.entitlements"), schemes: Scheme.appSchemes(appName: appName), hasTests: false -) +) \ No newline at end of file diff --git a/Projects/Core/CoreAssembly/Project.swift b/Projects/Core/CoreAssembly/Project.swift index ef759e39..718a82e8 100644 --- a/Projects/Core/CoreAssembly/Project.swift +++ b/Projects/Core/CoreAssembly/Project.swift @@ -6,12 +6,11 @@ import ProjectTemplatePlugin import ProjectDescription -let project = Project.configure( - moduleType: .module(name: "CoreAssembly"), +let project = Project.makeModule( + name: "CoreAssembly", bundleId: .appBundleID(name: ".CoreAssembly"), product: .staticFramework, settings: .settings(), - // 최하위 기반 모듈의 구현을 한곳에서 묶는 조립 경계. dependencies: [ .core(.thirdParty), .core(.logger), @@ -21,6 +20,5 @@ let project = Project.configure( .core(.storage, .implementation), .SPM.composableArchitecture, ], - sources: ["Sources/**"], hasTests: true -) +) \ No newline at end of file diff --git a/Projects/Core/PickeCoreLogger/Project.swift b/Projects/Core/PickeCoreLogger/Project.swift index a70a3930..ff138527 100644 --- a/Projects/Core/PickeCoreLogger/Project.swift +++ b/Projects/Core/PickeCoreLogger/Project.swift @@ -6,13 +6,12 @@ import ProjectTemplatePlugin import ProjectDescription -let project = Project.configure( - moduleType: .module(name: "PickeCoreLogger"), +let project = Project.makeModule( + name: "PickeCoreLogger", bundleId: .appBundleID(name: ".PickeCoreLogger"), product: .framework, settings: .settings(), dependencies: [ ], - sources: ["Sources/**"], hasTests: true -) +) \ No newline at end of file diff --git a/Projects/Core/PickeCoreUI/Project.swift b/Projects/Core/PickeCoreUI/Project.swift index 4a17d895..ecd12948 100644 --- a/Projects/Core/PickeCoreUI/Project.swift +++ b/Projects/Core/PickeCoreUI/Project.swift @@ -8,13 +8,12 @@ import ProjectDescription // 디자인 토큰을 모르는 순수 UIKit/SwiftUI 확장만 둔다. // 토큰이나 리소스 번들을 참조하는 순간 PickeDesignKit 소속이다. -let project = Project.configure( - moduleType: .module(name: "PickeCoreUI"), +let project = Project.makeModule( + name: "PickeCoreUI", bundleId: .appBundleID(name: ".PickeCoreUI"), product: .framework, settings: .settings(), dependencies: [ ], - sources: ["Sources/**"], hasTests: true -) +) \ No newline at end of file diff --git a/Projects/Core/PickeCoreUtility/Project.swift b/Projects/Core/PickeCoreUtility/Project.swift index 46b42807..be944e34 100644 --- a/Projects/Core/PickeCoreUtility/Project.swift +++ b/Projects/Core/PickeCoreUtility/Project.swift @@ -6,13 +6,12 @@ import ProjectTemplatePlugin import ProjectDescription -let project = Project.configure( - moduleType: .module(name: "PickeCoreUtility"), +let project = Project.makeModule( + name: "PickeCoreUtility", bundleId: .appBundleID(name: ".PickeCoreUtility"), product: .framework, settings: .settings(), dependencies: [ ], - sources: ["Sources/**"], hasTests: true -) +) \ No newline at end of file diff --git a/Projects/Core/PickeNetwork/Project.swift b/Projects/Core/PickeNetwork/Project.swift index 8a7580bf..a87795a9 100644 --- a/Projects/Core/PickeNetwork/Project.swift +++ b/Projects/Core/PickeNetwork/Project.swift @@ -11,16 +11,19 @@ import ProjectTemplatePlugin import ProjectDescription -let project = Project.configure( - moduleType: .microModule(name: "PickeNetwork"), +let project = Project.makeModule( + name: "PickeNetwork", bundleId: .appBundleID(name: ".PickeNetwork"), product: .framework, settings: .settings(), dependencies: [ .core(.logger), ], + hasTests: true, + hasInterface: true, interfaceDependencies: [ .SPM.alamofire, .SPM.dependencies, - ] -) + ], + hasTesting: false +) \ No newline at end of file diff --git a/Projects/Core/PickeNetwork/Testing/PickeNetworkTesting.swift b/Projects/Core/PickeNetwork/Testing/PickeNetworkTesting.swift deleted file mode 100644 index 7ffa420d..00000000 --- a/Projects/Core/PickeNetwork/Testing/PickeNetworkTesting.swift +++ /dev/null @@ -1,6 +0,0 @@ -// -// PickeNetworkTesting.swift -// PickeNetworkTesting -// - -public enum PickeNetworkTesting {} diff --git a/Projects/Core/PickeStorage/Project.swift b/Projects/Core/PickeStorage/Project.swift index dcbcec53..93f43322 100644 --- a/Projects/Core/PickeStorage/Project.swift +++ b/Projects/Core/PickeStorage/Project.swift @@ -6,17 +6,20 @@ import ProjectTemplatePlugin import ProjectDescription -let project = Project.configure( - moduleType: .microModule(name: "PickeStorage"), +let project = Project.makeModule( + name: "PickeStorage", bundleId: .appBundleID(name: ".PickeStorage"), product: .framework, settings: .settings(), dependencies: [ ], + hasTests: true, + hasInterface: true, interfaceDependencies: [ .SPM.composableArchitecture, .SPM.sharing, .SPM.sqliteData, - ] -) + ], + hasTesting: false +) \ No newline at end of file diff --git a/Projects/Core/PickeStorage/Testing/PickeStorageTesting.swift b/Projects/Core/PickeStorage/Testing/PickeStorageTesting.swift deleted file mode 100644 index a2f020a3..00000000 --- a/Projects/Core/PickeStorage/Testing/PickeStorageTesting.swift +++ /dev/null @@ -1,8 +0,0 @@ -// -// PickeStorageTesting.swift -// PickeStorageTesting -// - -import PickeStorageInterface - -public enum PickeStorageTesting {} diff --git a/Projects/Core/PickeThirdParty/Project.swift b/Projects/Core/PickeThirdParty/Project.swift index 3b7c1e1e..61c18305 100644 --- a/Projects/Core/PickeThirdParty/Project.swift +++ b/Projects/Core/PickeThirdParty/Project.swift @@ -6,8 +6,8 @@ import ProjectTemplatePlugin import ProjectDescription -let project = Project.configure( - moduleType: .module(name: "PickeThirdParty"), +let project = Project.makeModule( + name: "PickeThirdParty", bundleId: .appBundleID(name: ".PickeThirdParty"), product: .framework, settings: .settings(), @@ -17,6 +17,5 @@ let project = Project.configure( .SPM.tcaFlow, .SPM.sdwebImage, ], - sources: ["Sources/**"], hasTests: false -) +) \ No newline at end of file diff --git a/Projects/Domain/AppUpdateDomain/Project.swift b/Projects/Domain/AppUpdateDomain/Project.swift index dac8c649..70cf4aae 100644 --- a/Projects/Domain/AppUpdateDomain/Project.swift +++ b/Projects/Domain/AppUpdateDomain/Project.swift @@ -6,15 +6,18 @@ import ProjectTemplatePlugin import ProjectDescription -let project = Project.configure( - moduleType: .microModule(name: "AppUpdateDomain"), +let project = Project.makeModule( + name: "AppUpdateDomain", bundleId: .appBundleID(name: ".AppUpdateDomain"), product: .framework, settings: .settings(), dependencies: [ .serviceAssembly, ], + hasTests: true, + hasInterface: true, interfaceDependencies: [ .SPM.composableArchitecture, - ] -) + ], + hasTesting: false +) \ No newline at end of file diff --git a/Projects/Domain/AppUpdateDomain/Testing/AppUpdateDomainTesting.swift b/Projects/Domain/AppUpdateDomain/Testing/AppUpdateDomainTesting.swift deleted file mode 100644 index 83c10456..00000000 --- a/Projects/Domain/AppUpdateDomain/Testing/AppUpdateDomainTesting.swift +++ /dev/null @@ -1,8 +0,0 @@ -// -// AppUpdateDomainTesting.swift -// AppUpdateDomainTesting -// - -import AppUpdateDomainInterface - -public enum AppUpdateDomainTesting {} diff --git a/Projects/Domain/AttendanceDomain/Project.swift b/Projects/Domain/AttendanceDomain/Project.swift index 9f6cd981..526574c1 100644 --- a/Projects/Domain/AttendanceDomain/Project.swift +++ b/Projects/Domain/AttendanceDomain/Project.swift @@ -6,13 +6,16 @@ import ProjectTemplatePlugin import ProjectDescription -let project = Project.configure( - moduleType: .microModule(name: "AttendanceDomain"), +let project = Project.makeModule( + name: "AttendanceDomain", bundleId: .appBundleID(name: ".AttendanceDomain"), product: .framework, settings: .settings(), dependencies: [ .serviceAssembly, ], - interfaceDependencies: [.SPM.composableArchitecture] -) + hasTests: true, + hasInterface: true, + interfaceDependencies: [.SPM.composableArchitecture], + hasTesting: false +) \ No newline at end of file diff --git a/Projects/Domain/AttendanceDomain/Testing/AttendanceDomainTesting.swift b/Projects/Domain/AttendanceDomain/Testing/AttendanceDomainTesting.swift deleted file mode 100644 index 7cc00c3e..00000000 --- a/Projects/Domain/AttendanceDomain/Testing/AttendanceDomainTesting.swift +++ /dev/null @@ -1,6 +0,0 @@ -// -// AttendanceDomainTesting.swift -// AttendanceDomainTesting -// - -public enum AttendanceDomainTesting {} diff --git a/Projects/Domain/AuthDomain/Project.swift b/Projects/Domain/AuthDomain/Project.swift index 57915044..6c6b96bd 100644 --- a/Projects/Domain/AuthDomain/Project.swift +++ b/Projects/Domain/AuthDomain/Project.swift @@ -6,8 +6,8 @@ import ProjectTemplatePlugin import ProjectDescription -let project = Project.configure( - moduleType: .microModule(name: "AuthDomain"), +let project = Project.makeModule( + name: "AuthDomain", bundleId: .appBundleID(name: ".AuthDomain"), product: .framework, settings: .settings(), @@ -17,10 +17,13 @@ let project = Project.configure( .service(.auth, .interface), .SPM.googleSignIn, ], + hasTests: true, + hasInterface: true, interfaceDependencies: [ // UserSessionSharedKey 가 PersistentSharedKey(PickeStorageInterface)와 Sharing 을 직접 쓴다. .core(.storage, .interface), .SPM.sharing, .SPM.composableArchitecture, - ] -) + ], + hasTesting: true +) \ No newline at end of file diff --git a/Projects/Domain/BattleDomain/Project.swift b/Projects/Domain/BattleDomain/Project.swift index e112b433..c372789f 100644 --- a/Projects/Domain/BattleDomain/Project.swift +++ b/Projects/Domain/BattleDomain/Project.swift @@ -6,8 +6,8 @@ import ProjectTemplatePlugin import ProjectDescription -let project = Project.configure( - moduleType: .microModule(name: "BattleDomain"), +let project = Project.makeModule( + name: "BattleDomain", bundleId: .appBundleID(name: ".BattleDomain"), product: .framework, settings: .settings(), @@ -16,8 +16,11 @@ let project = Project.configure( .SPM.composableArchitecture, .domain(.home, .interface), ], + hasTests: true, + hasInterface: true, interfaceDependencies: [ .domain(.home, .interface), .SPM.composableArchitecture, - ] -) + ], + hasTesting: false +) \ No newline at end of file diff --git a/Projects/Domain/BattleDomain/Testing/BattleDomainTesting.swift b/Projects/Domain/BattleDomain/Testing/BattleDomainTesting.swift deleted file mode 100644 index 667bd89d..00000000 --- a/Projects/Domain/BattleDomain/Testing/BattleDomainTesting.swift +++ /dev/null @@ -1,4 +0,0 @@ -import BattleDomainInterface - -/// Battle 도메인 목(mock) 배치용 네임스페이스. (현재 목 없음) -public enum BattleDomainTesting {} diff --git a/Projects/Domain/CommentDomain/Project.swift b/Projects/Domain/CommentDomain/Project.swift index f39e50fb..c31a8468 100644 --- a/Projects/Domain/CommentDomain/Project.swift +++ b/Projects/Domain/CommentDomain/Project.swift @@ -6,8 +6,8 @@ import ProjectTemplatePlugin import ProjectDescription -let project = Project.configure( - moduleType: .microModule(name: "CommentDomain"), +let project = Project.makeModule( + name: "CommentDomain", bundleId: .appBundleID(name: ".CommentDomain"), product: .framework, settings: .settings(), @@ -16,8 +16,11 @@ let project = Project.configure( .domain(.battle, .interface), .SPM.composableArchitecture, ], + hasTests: true, + hasInterface: true, interfaceDependencies: [ .domain(.battle, .interface), .SPM.composableArchitecture, - ] -) + ], + hasTesting: false +) \ No newline at end of file diff --git a/Projects/Domain/CommentDomain/Testing/CommentDomainTesting.swift b/Projects/Domain/CommentDomain/Testing/CommentDomainTesting.swift deleted file mode 100644 index e8e766ce..00000000 --- a/Projects/Domain/CommentDomain/Testing/CommentDomainTesting.swift +++ /dev/null @@ -1,4 +0,0 @@ -import CommentDomainInterface - -/// Comment 도메인 목(mock) 배치용 네임스페이스. (현재 목 없음) -public enum CommentDomainTesting {} diff --git a/Projects/Domain/DomainAssembly/Project.swift b/Projects/Domain/DomainAssembly/Project.swift index 4d80f21b..d525ca0b 100644 --- a/Projects/Domain/DomainAssembly/Project.swift +++ b/Projects/Domain/DomainAssembly/Project.swift @@ -6,8 +6,8 @@ import ProjectTemplatePlugin import ProjectDescription -let project = Project.configure( - moduleType: .module(name: "DomainAssembly"), +let project = Project.makeModule( + name: "DomainAssembly", bundleId: .appBundleID(name: ".DomainAssembly"), product: .framework, settings: .settings(), @@ -23,6 +23,5 @@ let project = Project.configure( .domain(.perspective, .implementation), .domain(.profile, .implementation), ], - sources: ["Sources/**"], hasTests: true -) +) \ No newline at end of file diff --git a/Projects/Domain/HomeDomain/Project.swift b/Projects/Domain/HomeDomain/Project.swift index ec6a72c0..5113d658 100644 --- a/Projects/Domain/HomeDomain/Project.swift +++ b/Projects/Domain/HomeDomain/Project.swift @@ -6,8 +6,8 @@ import ProjectTemplatePlugin import ProjectDescription -let project = Project.configure( - moduleType: .microModule(name: "HomeDomain"), +let project = Project.makeModule( + name: "HomeDomain", bundleId: .appBundleID(name: ".HomeDomain"), product: .framework, settings: .settings(), @@ -15,7 +15,10 @@ let project = Project.configure( .serviceAssembly, .domain(.auth, .interface), ], + hasTests: true, + hasInterface: true, interfaceDependencies: [ .SPM.composableArchitecture, - ] -) + ], + hasTesting: true +) \ No newline at end of file diff --git a/Projects/Domain/NotificationDomain/Project.swift b/Projects/Domain/NotificationDomain/Project.swift index eff286bf..6013e872 100644 --- a/Projects/Domain/NotificationDomain/Project.swift +++ b/Projects/Domain/NotificationDomain/Project.swift @@ -6,15 +6,18 @@ import ProjectTemplatePlugin import ProjectDescription -let project = Project.configure( - moduleType: .microModule(name: "NotificationDomain"), +let project = Project.makeModule( + name: "NotificationDomain", bundleId: .appBundleID(name: ".NotificationDomain"), product: .framework, settings: .settings(), dependencies: [ .serviceAssembly, ], + hasTests: true, + hasInterface: true, interfaceDependencies: [ .SPM.composableArchitecture, - ] -) + ], + hasTesting: false +) \ No newline at end of file diff --git a/Projects/Domain/NotificationDomain/Testing/NotificationDomainTesting.swift b/Projects/Domain/NotificationDomain/Testing/NotificationDomainTesting.swift deleted file mode 100644 index 011dce33..00000000 --- a/Projects/Domain/NotificationDomain/Testing/NotificationDomainTesting.swift +++ /dev/null @@ -1,4 +0,0 @@ -import NotificationDomainInterface - -/// Notification 도메인 목(mock) 배치용 네임스페이스. (현재 목 없음) -public enum NotificationDomainTesting {} diff --git a/Projects/Domain/PerspectiveDomain/Project.swift b/Projects/Domain/PerspectiveDomain/Project.swift index 9c727ee3..762744da 100644 --- a/Projects/Domain/PerspectiveDomain/Project.swift +++ b/Projects/Domain/PerspectiveDomain/Project.swift @@ -6,8 +6,8 @@ import ProjectTemplatePlugin import ProjectDescription -let project = Project.configure( - moduleType: .microModule(name: "PerspectiveDomain"), +let project = Project.makeModule( + name: "PerspectiveDomain", bundleId: .appBundleID(name: ".PerspectiveDomain"), product: .framework, settings: .settings(), @@ -16,9 +16,12 @@ let project = Project.configure( .domain(.battle, .interface), .domain(.comment, .interface), ], + hasTests: true, + hasInterface: true, interfaceDependencies: [ .domain(.battle, .interface), .domain(.comment, .interface), .SPM.composableArchitecture, - ] -) + ], + hasTesting: false +) \ No newline at end of file diff --git a/Projects/Domain/PerspectiveDomain/Testing/PerspectiveDomainTesting.swift b/Projects/Domain/PerspectiveDomain/Testing/PerspectiveDomainTesting.swift deleted file mode 100644 index 8ce47b3f..00000000 --- a/Projects/Domain/PerspectiveDomain/Testing/PerspectiveDomainTesting.swift +++ /dev/null @@ -1,4 +0,0 @@ -import PerspectiveDomainInterface - -/// Perspective 도메인 목(mock) 배치용 네임스페이스. (현재 목 없음) -public enum PerspectiveDomainTesting {} diff --git a/Projects/Domain/ProfileDomain/Project.swift b/Projects/Domain/ProfileDomain/Project.swift index 93be6498..952eef77 100644 --- a/Projects/Domain/ProfileDomain/Project.swift +++ b/Projects/Domain/ProfileDomain/Project.swift @@ -6,15 +6,18 @@ import ProjectTemplatePlugin import ProjectDescription -let project = Project.configure( - moduleType: .microModule(name: "ProfileDomain"), +let project = Project.makeModule( + name: "ProfileDomain", bundleId: .appBundleID(name: ".ProfileDomain"), product: .framework, settings: .settings(), dependencies: [ .serviceAssembly, ], + hasTests: true, + hasInterface: true, interfaceDependencies: [ .SPM.composableArchitecture, - ] -) + ], + hasTesting: false +) \ No newline at end of file diff --git a/Projects/Domain/ProfileDomain/Testing/ProfileDomainTesting.swift b/Projects/Domain/ProfileDomain/Testing/ProfileDomainTesting.swift deleted file mode 100644 index 756bb99e..00000000 --- a/Projects/Domain/ProfileDomain/Testing/ProfileDomainTesting.swift +++ /dev/null @@ -1,8 +0,0 @@ -// -// ProfileDomainTesting.swift -// ProfileDomainTesting -// - -import ProfileDomainInterface - -public enum ProfileDomainTesting {} diff --git a/Projects/Domain/SearchDomain/Project.swift b/Projects/Domain/SearchDomain/Project.swift index 607aa0cf..692d5c12 100644 --- a/Projects/Domain/SearchDomain/Project.swift +++ b/Projects/Domain/SearchDomain/Project.swift @@ -6,8 +6,8 @@ import ProjectTemplatePlugin import ProjectDescription -let project = Project.configure( - moduleType: .microModule(name: "SearchDomain"), +let project = Project.makeModule( + name: "SearchDomain", bundleId: .appBundleID(name: ".SearchDomain"), product: .framework, settings: .settings(), @@ -16,8 +16,11 @@ let project = Project.configure( .domain(.home, .interface), .domain(.battle, .interface), ], + hasTests: true, + hasInterface: true, interfaceDependencies: [ .domain(.home, .interface), .SPM.composableArchitecture, - ] -) + ], + hasTesting: false +) \ No newline at end of file diff --git a/Projects/Domain/SearchDomain/Testing/Sources/SearchDomainTesting.swift b/Projects/Domain/SearchDomain/Testing/Sources/SearchDomainTesting.swift deleted file mode 100644 index 7d69257a..00000000 --- a/Projects/Domain/SearchDomain/Testing/Sources/SearchDomainTesting.swift +++ /dev/null @@ -1,3 +0,0 @@ -import SearchDomainInterface - -public enum SearchDomainTesting {} diff --git a/Projects/Feature/Ad/Project.swift b/Projects/Feature/Ad/Project.swift index 6bb70c43..64ee1b85 100644 --- a/Projects/Feature/Ad/Project.swift +++ b/Projects/Feature/Ad/Project.swift @@ -6,20 +6,19 @@ import ProjectTemplatePlugin import ProjectDescription -let project = Project.configure( - moduleType: .microModule(name: "Ad"), +let project = Project.makeModule( + name: "Ad", bundleId: .appBundleID(name: ".Ad"), - // 정적 프레임워크로 둔다. GoogleMobileAds 는 Tuist 에서 동적으로 매핑돼 있고 GAD 심볼은 - // 그 안의 xcframework 에 있어, 이 모듈이 동적이면 자기 링크 시점에 GADRewardedAd/GADRequest 를 - // 못 풀고 실패한다(이전엔 UseCase 가 정적이라 앱 링크로 넘어가 해결됐다). - product: .staticFramework, settings: .settings(), dependencies: [ .SPM.adFit, .SPM.googleMobileAds, .service(.analytics, .interface), ], + hasTests: true, + hasInterface: true, interfaceDependencies: [ .SPM.composableArchitecture, - ] -) + ], + hasTesting: false +) \ No newline at end of file diff --git a/Projects/Feature/Ad/Testing/AdTesting.swift b/Projects/Feature/Ad/Testing/AdTesting.swift deleted file mode 100644 index 0380aa0e..00000000 --- a/Projects/Feature/Ad/Testing/AdTesting.swift +++ /dev/null @@ -1,8 +0,0 @@ -// -// AdTesting.swift -// AdTesting -// - -import AdInterface - -public enum AdTesting {} diff --git a/Projects/Feature/Auth/Project.swift b/Projects/Feature/Auth/Project.swift index d141f634..cb5152f7 100644 --- a/Projects/Feature/Auth/Project.swift +++ b/Projects/Feature/Auth/Project.swift @@ -6,8 +6,8 @@ import ProjectTemplatePlugin import ProjectDescription -let project = Project.configure( - moduleType: .microModule(name: "Auth"), +let project = Project.makeModule( + name: "Auth", bundleId: .appBundleID(name: ".Auth"), product: .staticFramework, settings: .settings(), @@ -17,5 +17,8 @@ let project = Project.configure( .ui(.sharedUI), .service(.analytics, .interface), .domain(.auth, .interface), - ] -) + ], + hasTests: true, + hasInterface: true, + hasTesting: false +) \ No newline at end of file diff --git a/Projects/Feature/Auth/Testing/Sources/AuthTesting.swift b/Projects/Feature/Auth/Testing/Sources/AuthTesting.swift deleted file mode 100644 index e372c678..00000000 --- a/Projects/Feature/Auth/Testing/Sources/AuthTesting.swift +++ /dev/null @@ -1,3 +0,0 @@ -import AuthInterface - -public enum AuthTesting {} diff --git a/Projects/Feature/Battle/Project.swift b/Projects/Feature/Battle/Project.swift index 4d422800..8cd68e90 100644 --- a/Projects/Feature/Battle/Project.swift +++ b/Projects/Feature/Battle/Project.swift @@ -6,8 +6,8 @@ import ProjectTemplatePlugin import ProjectDescription -let project = Project.configure( - moduleType: .microModule(name: "Battle"), +let project = Project.makeModule( + name: "Battle", bundleId: .appBundleID(name: ".Battle"), product: .staticFramework, settings: .settings(), @@ -18,5 +18,8 @@ let project = Project.configure( .core(.coreUtility), .service(.analytics, .interface), .domain(.battle, .interface), - ] -) + ], + hasTests: true, + hasInterface: true, + hasTesting: false +) \ No newline at end of file diff --git a/Projects/Feature/Battle/Testing/Sources/BattleTesting.swift b/Projects/Feature/Battle/Testing/Sources/BattleTesting.swift deleted file mode 100644 index d968948f..00000000 --- a/Projects/Feature/Battle/Testing/Sources/BattleTesting.swift +++ /dev/null @@ -1,3 +0,0 @@ -import BattleInterface - -public enum BattleTesting {} diff --git a/Projects/Feature/Chat/Project.swift b/Projects/Feature/Chat/Project.swift index 33450739..dda091a1 100644 --- a/Projects/Feature/Chat/Project.swift +++ b/Projects/Feature/Chat/Project.swift @@ -6,8 +6,8 @@ import ProjectTemplatePlugin import ProjectDescription -let project = Project.configure( - moduleType: .microModule(name: "Chat"), +let project = Project.makeModule( + name: "Chat", bundleId: .appBundleID(name: ".Chat"), product: .staticFramework, settings: .settings(), @@ -26,5 +26,8 @@ let project = Project.configure( .domain(.comment, .interface), .feature(.ad, .implementation), - ] -) + ], + hasTests: true, + hasInterface: true, + hasTesting: false +) \ No newline at end of file diff --git a/Projects/Feature/Chat/Testing/Sources/ChatTesting.swift b/Projects/Feature/Chat/Testing/Sources/ChatTesting.swift deleted file mode 100644 index 7daa43f7..00000000 --- a/Projects/Feature/Chat/Testing/Sources/ChatTesting.swift +++ /dev/null @@ -1,3 +0,0 @@ -import ChatInterface - -public enum ChatTesting {} diff --git a/Projects/Feature/FeatureAssembly/Project.swift b/Projects/Feature/FeatureAssembly/Project.swift index 5cd1f66f..6c33589d 100644 --- a/Projects/Feature/FeatureAssembly/Project.swift +++ b/Projects/Feature/FeatureAssembly/Project.swift @@ -6,8 +6,8 @@ import ProjectTemplatePlugin import ProjectDescription -let project = Project.configure( - moduleType: .module(name: "FeatureAssembly"), +let project = Project.makeModule( + name: "FeatureAssembly", bundleId: .appBundleID(name: ".FeatureAssembly"), product: .staticFramework, settings: .settings(), @@ -22,6 +22,5 @@ let project = Project.configure( .feature(.profile, .implementation), .feature(.notification, .implementation), .feature(.ad, .implementation), - ], - sources: ["Sources/**"] -) + ] +) \ No newline at end of file diff --git a/Projects/Feature/Hifi/Project.swift b/Projects/Feature/Hifi/Project.swift index c2397ac0..8730d315 100644 --- a/Projects/Feature/Hifi/Project.swift +++ b/Projects/Feature/Hifi/Project.swift @@ -6,8 +6,8 @@ import ProjectTemplatePlugin import ProjectDescription -let project = Project.configure( - moduleType: .microModule(name: "Hifi"), +let project = Project.makeModule( + name: "Hifi", bundleId: .appBundleID(name: ".Hifi"), product: .staticFramework, settings: .settings(), @@ -24,5 +24,8 @@ let project = Project.configure( .domain(.notification, .interface), .SPM.composableArchitecture, .SPM.kingfisher, - ] -) + ], + hasTests: true, + hasInterface: true, + hasTesting: false +) \ No newline at end of file diff --git a/Projects/Feature/Hifi/Testing/Sources/HifiTesting.swift b/Projects/Feature/Hifi/Testing/Sources/HifiTesting.swift deleted file mode 100644 index fff5fb42..00000000 --- a/Projects/Feature/Hifi/Testing/Sources/HifiTesting.swift +++ /dev/null @@ -1,3 +0,0 @@ -import HifiInterface - -public enum HifiTesting {} diff --git a/Projects/Feature/Home/Project.swift b/Projects/Feature/Home/Project.swift index 38b0c0bd..d1b0e849 100644 --- a/Projects/Feature/Home/Project.swift +++ b/Projects/Feature/Home/Project.swift @@ -6,8 +6,8 @@ import ProjectTemplatePlugin import ProjectDescription -let project = Project.configure( - moduleType: .microModule(name: "Home"), +let project = Project.makeModule( + name: "Home", bundleId: .appBundleID(name: ".Home"), product: .staticFramework, settings: .settings(), @@ -25,5 +25,8 @@ let project = Project.configure( .domain(.notification, .interface), // 홈 피드 중간 배너 광고 — 광고를 노출하는 화면만 명시적으로 의존한다. .feature(.ad, .implementation), - ] -) + ], + hasTests: true, + hasInterface: true, + hasTesting: false +) \ No newline at end of file diff --git a/Projects/Feature/Home/Testing/Sources/HomeTesting.swift b/Projects/Feature/Home/Testing/Sources/HomeTesting.swift deleted file mode 100644 index 4c116cb6..00000000 --- a/Projects/Feature/Home/Testing/Sources/HomeTesting.swift +++ /dev/null @@ -1,3 +0,0 @@ -import HomeInterface - -public enum HomeTesting {} diff --git a/Projects/Feature/Notification/Project.swift b/Projects/Feature/Notification/Project.swift index 3e3aed41..d3c29042 100644 --- a/Projects/Feature/Notification/Project.swift +++ b/Projects/Feature/Notification/Project.swift @@ -6,8 +6,8 @@ import ProjectTemplatePlugin import ProjectDescription -let project = Project.configure( - moduleType: .microModule(name: "Notification"), +let project = Project.makeModule( + name: "Notification", bundleId: .appBundleID(name: ".Notification"), product: .staticFramework, settings: .settings(), @@ -19,5 +19,8 @@ let project = Project.configure( .domain(.notification, .interface), .SPM.composableArchitecture, .SPM.tcaFlow, - ] -) + ], + hasTests: true, + hasInterface: true, + hasTesting: false +) \ No newline at end of file diff --git a/Projects/Feature/Notification/Testing/Sources/NotificationTesting.swift b/Projects/Feature/Notification/Testing/Sources/NotificationTesting.swift deleted file mode 100644 index 56067620..00000000 --- a/Projects/Feature/Notification/Testing/Sources/NotificationTesting.swift +++ /dev/null @@ -1,3 +0,0 @@ -import NotificationInterface - -public enum NotificationTesting {} diff --git a/Projects/Feature/Profile/Project.swift b/Projects/Feature/Profile/Project.swift index d1df5907..a8088f25 100644 --- a/Projects/Feature/Profile/Project.swift +++ b/Projects/Feature/Profile/Project.swift @@ -6,8 +6,8 @@ import ProjectTemplatePlugin import ProjectDescription -let project = Project.configure( - moduleType: .microModule(name: "Profile"), +let project = Project.makeModule( + name: "Profile", bundleId: .appBundleID(name: ".Profile"), product: .staticFramework, settings: .settings(), @@ -27,7 +27,10 @@ let project = Project.configure( .SPM.tcaFlow, .SPM.kingfisher, ], + hasTests: true, + hasInterface: true, interfaceDependencies: [ .domain(.profile, .interface), - ] -) + ], + hasTesting: false +) \ No newline at end of file diff --git a/Projects/Feature/Profile/Testing/Sources/ProfileTesting.swift b/Projects/Feature/Profile/Testing/Sources/ProfileTesting.swift deleted file mode 100644 index 8f23f859..00000000 --- a/Projects/Feature/Profile/Testing/Sources/ProfileTesting.swift +++ /dev/null @@ -1,3 +0,0 @@ -import ProfileInterface - -public enum ProfileTesting {} diff --git a/Projects/Feature/Splash/Project.swift b/Projects/Feature/Splash/Project.swift index 8189f359..effc2b42 100644 --- a/Projects/Feature/Splash/Project.swift +++ b/Projects/Feature/Splash/Project.swift @@ -6,8 +6,8 @@ import ProjectTemplatePlugin import ProjectDescription -let project = Project.configure( - moduleType: .microModule(name: "Splash"), +let project = Project.makeModule( + name: "Splash", bundleId: .appBundleID(name: ".Splash"), product: .staticFramework, settings: .settings(), @@ -18,5 +18,8 @@ let project = Project.configure( .service(.auth, .interface), .service(.analytics, .interface), .SPM.composableArchitecture, - ] -) + ], + hasTests: true, + hasInterface: true, + hasTesting: false +) \ No newline at end of file diff --git a/Projects/Feature/Splash/Testing/Sources/SplashTesting.swift b/Projects/Feature/Splash/Testing/Sources/SplashTesting.swift deleted file mode 100644 index d31fbd9f..00000000 --- a/Projects/Feature/Splash/Testing/Sources/SplashTesting.swift +++ /dev/null @@ -1,3 +0,0 @@ -import SplashInterface - -public enum SplashTesting {} diff --git a/Projects/Feature/Web/Project.swift b/Projects/Feature/Web/Project.swift index 6ce33b08..f21ea852 100644 --- a/Projects/Feature/Web/Project.swift +++ b/Projects/Feature/Web/Project.swift @@ -6,13 +6,16 @@ import ProjectTemplatePlugin import ProjectDescription -let project = Project.configure( - moduleType: .microModule(name: "Web"), +let project = Project.makeModule( + name: "Web", bundleId: .appBundleID(name: ".Web"), product: .staticFramework, settings: .settings(), dependencies: [ .ui(.designKit), .SPM.composableArchitecture, - ] -) + ], + hasTests: true, + hasInterface: true, + hasTesting: false +) \ No newline at end of file diff --git a/Projects/Feature/Web/Testing/Sources/WebTesting.swift b/Projects/Feature/Web/Testing/Sources/WebTesting.swift deleted file mode 100644 index b0d61fe6..00000000 --- a/Projects/Feature/Web/Testing/Sources/WebTesting.swift +++ /dev/null @@ -1,3 +0,0 @@ -import WebInterface - -public enum WebTesting {} diff --git a/Projects/Service/API/Project.swift b/Projects/Service/API/Project.swift index 1422933f..22c15811 100644 --- a/Projects/Service/API/Project.swift +++ b/Projects/Service/API/Project.swift @@ -6,14 +6,13 @@ import ProjectTemplatePlugin import ProjectDescription -let project = Project.configure( - moduleType: .module(name: "API"), +let project = Project.makeModule( + name: "API", bundleId: .appBundleID(name: ".API"), product: .framework, settings: .settings(), dependencies: [ .core(.network, .interface), ], - sources: ["Sources/**"], hasTests: true -) +) \ No newline at end of file diff --git a/Projects/Service/APIEndpoint/Project.swift b/Projects/Service/APIEndpoint/Project.swift index 698e2aaf..0ca278d1 100644 --- a/Projects/Service/APIEndpoint/Project.swift +++ b/Projects/Service/APIEndpoint/Project.swift @@ -6,8 +6,8 @@ import ProjectTemplatePlugin import ProjectDescription -let project = Project.configure( - moduleType: .module(name: "APIEndpoint"), +let project = Project.makeModule( + name: "APIEndpoint", bundleId: .appBundleID(name: ".APIEndpoint"), product: .framework, settings: .settings(), @@ -19,6 +19,5 @@ let project = Project.configure( .domain(.auth, .interface), .core(.network, .interface), ], - sources: ["Sources/**"], hasTests: true -) +) \ No newline at end of file diff --git a/Projects/Service/AudioPlayerService/Project.swift b/Projects/Service/AudioPlayerService/Project.swift index 3afc3245..a1f9775b 100644 --- a/Projects/Service/AudioPlayerService/Project.swift +++ b/Projects/Service/AudioPlayerService/Project.swift @@ -6,16 +6,18 @@ import ProjectTemplatePlugin import ProjectDescription -let project = Project.configure( - moduleType: .microModule(name: "AudioPlayerService"), +let project = Project.makeModule( + name: "AudioPlayerService", bundleId: .appBundleID(name: ".AudioPlayerService"), product: .framework, settings: .settings(), - // AVFoundation 은 시스템 프레임워크라 별도 선언이 필요 없다. dependencies: [ ], + hasTests: true, + hasInterface: true, interfaceDependencies: [ .SPM.composableArchitecture, - ] -) + ], + hasTesting: false +) \ No newline at end of file diff --git a/Projects/Service/AudioPlayerService/Testing/AudioPlayerServiceTesting.swift b/Projects/Service/AudioPlayerService/Testing/AudioPlayerServiceTesting.swift deleted file mode 100644 index 2aef8ee8..00000000 --- a/Projects/Service/AudioPlayerService/Testing/AudioPlayerServiceTesting.swift +++ /dev/null @@ -1,8 +0,0 @@ -// -// AudioPlayerServiceTesting.swift -// AudioPlayerServiceTesting -// - -import AudioPlayerServiceInterface - -public enum AudioPlayerServiceTesting {} diff --git a/Projects/Service/DeviceService/Project.swift b/Projects/Service/DeviceService/Project.swift index a2611395..acb39f0e 100644 --- a/Projects/Service/DeviceService/Project.swift +++ b/Projects/Service/DeviceService/Project.swift @@ -6,8 +6,8 @@ import ProjectTemplatePlugin import ProjectDescription -let project = Project.configure( - moduleType: .microModule(name: "DeviceService"), +let project = Project.makeModule( + name: "DeviceService", bundleId: .appBundleID(name: ".DeviceService"), product: .framework, settings: .settings(), @@ -17,7 +17,10 @@ let project = Project.configure( .SPM.composableArchitecture, .core(.logger), ], + hasTests: true, + hasInterface: true, interfaceDependencies: [ .SPM.composableArchitecture, - ] -) + ], + hasTesting: false +) \ No newline at end of file diff --git a/Projects/Service/DeviceService/Testing/DeviceServiceTesting.swift b/Projects/Service/DeviceService/Testing/DeviceServiceTesting.swift deleted file mode 100644 index 06a574cf..00000000 --- a/Projects/Service/DeviceService/Testing/DeviceServiceTesting.swift +++ /dev/null @@ -1,8 +0,0 @@ -// -// DeviceServiceTesting.swift -// DeviceServiceTesting -// - -import DeviceServiceInterface - -public enum DeviceServiceTesting {} diff --git a/Projects/Service/PickeAnalytics/Project.swift b/Projects/Service/PickeAnalytics/Project.swift index a784fa5b..1ebbc5dd 100644 --- a/Projects/Service/PickeAnalytics/Project.swift +++ b/Projects/Service/PickeAnalytics/Project.swift @@ -6,24 +6,15 @@ import ProjectTemplatePlugin import ProjectDescription -let project = Project.configure( - moduleType: .microModule(name: "PickeAnalytics"), +let project = Project.makeModule( + name: "PickeAnalytics", bundleId: .appBundleID(name: ".PickeAnalytics"), product: .framework, settings: .settings(), - // 관측 SDK 는 구현 타깃에만 붙인다 — 화면들은 Interface 만 의존하므로 - // Mixpanel·Sentry·Firebase 를 링크하지도, 이들이 바뀔 때 재컴파일되지도 않는다. - // 네트워크 텔레메트리를 Mixpanel 로 흘려보내기 위해 PickeNetwork 를 의존한다. - dependencies: [ - .core(.network), - .SPM.firebaseCrashlytics, - .SPM.mixpanel, - .SPM.mixpanelSessionReplay, - .SPM.sentry, - .SPM.sentrySwiftUI, - .core(.logger), - ], + hasTests: true, + hasInterface: true, interfaceDependencies: [ .SPM.composableArchitecture, - ] -) + ], + hasTesting: false +) \ No newline at end of file diff --git a/Projects/Service/PickeAnalytics/Testing/PickeAnalyticsTesting.swift b/Projects/Service/PickeAnalytics/Testing/PickeAnalyticsTesting.swift deleted file mode 100644 index 6042fc0f..00000000 --- a/Projects/Service/PickeAnalytics/Testing/PickeAnalyticsTesting.swift +++ /dev/null @@ -1,8 +0,0 @@ -// -// PickeAnalyticsTesting.swift -// PickeAnalyticsTesting -// - -import PickeAnalyticsInterface - -public enum PickeAnalyticsTesting {} diff --git a/Projects/Service/PickeAuth/Project.swift b/Projects/Service/PickeAuth/Project.swift index cb8201ad..b30622dd 100644 --- a/Projects/Service/PickeAuth/Project.swift +++ b/Projects/Service/PickeAuth/Project.swift @@ -6,8 +6,8 @@ import ProjectTemplatePlugin import ProjectDescription -let project = Project.configure( - moduleType: .microModule(name: "PickeAuth"), +let project = Project.makeModule( + name: "PickeAuth", bundleId: .appBundleID(name: ".PickeAuth"), product: .framework, settings: .settings(), @@ -18,8 +18,11 @@ let project = Project.configure( .core(.storage, .interface), .core(.logger), ], + hasTests: true, + hasInterface: true, interfaceDependencies: [ .core(.network, .interface), .SPM.composableArchitecture, - ] -) + ], + hasTesting: true +) \ No newline at end of file diff --git a/Projects/Service/ServiceAssembly/Project.swift b/Projects/Service/ServiceAssembly/Project.swift index 8e848268..3cb6093e 100644 --- a/Projects/Service/ServiceAssembly/Project.swift +++ b/Projects/Service/ServiceAssembly/Project.swift @@ -6,12 +6,11 @@ import ProjectTemplatePlugin import ProjectDescription -let project = Project.configure( - moduleType: .module(name: "ServiceAssembly"), +let project = Project.makeModule( + name: "ServiceAssembly", bundleId: .appBundleID(name: ".ServiceAssembly"), product: .framework, settings: .settings(), - // SDK 를 링크하는 서비스 구현을 한곳에서 묶는 조립 경계. dependencies: [ .coreAssembly, .service(.api), @@ -22,6 +21,5 @@ let project = Project.configure( .service(.auth), .service(.auth, .interface), ], - sources: ["Sources/**"], hasTests: true -) +) \ No newline at end of file diff --git a/Projects/UI/PickeAnimation/Project.swift b/Projects/UI/PickeAnimation/Project.swift index 311f6245..aea3f8e5 100644 --- a/Projects/UI/PickeAnimation/Project.swift +++ b/Projects/UI/PickeAnimation/Project.swift @@ -8,16 +8,14 @@ import ProjectDescription // 애니메이션 라이브러리를 쓰는 뷰와 그 에셋만 둔다. // SDWebImage 가 여기서 막히므로 DesignKit 과 화면 코드는 이 라이브러리를 모른다. -let project = Project.configure( - moduleType: .module(name: "PickeAnimation"), +let project = Project.makeModule( + name: "PickeAnimation", bundleId: .appBundleID(name: ".PickeAnimation"), - // 리소스 번들을 갖는 UI 모듈이라 동적 프레임워크로 둔다. product: .framework, settings: .settings(), dependencies: [ .SPM.sdwebImageCore, ], - sources: ["Sources/**"], resources: ["Resources/**"], hasTests: true -) +) \ No newline at end of file diff --git a/Projects/UI/PickeDesignKit/Project.swift b/Projects/UI/PickeDesignKit/Project.swift index b7a53d07..2bf4bf0f 100644 --- a/Projects/UI/PickeDesignKit/Project.swift +++ b/Projects/UI/PickeDesignKit/Project.swift @@ -6,23 +6,17 @@ import ProjectTemplatePlugin import ProjectDescription -let project = Project.configure( - moduleType: .module(name: "PickeDesignKit"), +let project = Project.makeModule( + name: "PickeDesignKit", bundleId: .appBundleID(name: ".PickeDesignKit"), - // 동적 프레임워크: 정적이면 리소스 번들 접근자(TuistBundle+PickeDesignKit)의 - // BundleFinder 가 앱 메인 바이너리로 병합되는데 번들은 Shared.framework 안에만 - // 복사되어 Bundle(for:) 이 앱 루트로 해석 → "unable to find bundle" 크래시가 났다. - // 동적이면 BundleFinder·번들이 PickeDesignKit.framework 에만 존재해 정확히 찾는다. - // TCA 중복 클래스는 Tuist/Package.swift 에서 ComposableArchitecture/Dependencies/ - // Perception/Sharing/IssueReporting 를 .framework(동적)로 전환해 단일 사본으로 해소한다. product: .framework, settings: .settings(), dependencies: [ .core(.coreUI), .SPM.composableArchitecture, ], - sources: ["Sources/**"], resources: ["Resources/**"], hasTests: true, + hasDemo: true, demoDisplayName: "Picke 스토리북" -) +) \ No newline at end of file diff --git a/Projects/UI/PickeSharedUI/Project.swift b/Projects/UI/PickeSharedUI/Project.swift index d5caa7ae..57a45356 100644 --- a/Projects/UI/PickeSharedUI/Project.swift +++ b/Projects/UI/PickeSharedUI/Project.swift @@ -8,8 +8,8 @@ import ProjectDescription // 외부 라이브러리에 기대는 공용 UI 만 둔다. // PickeDesignKit 은 토큰과 순수 컴포넌트만 갖고 라이브러리를 모른다. -let project = Project.configure( - moduleType: .module(name: "PickeSharedUI"), +let project = Project.makeModule( + name: "PickeSharedUI", bundleId: .appBundleID(name: ".PickeSharedUI"), product: .staticFramework, settings: .settings(), @@ -18,6 +18,5 @@ let project = Project.configure( .SPM.composableArchitecture, .SPM.kingfisher, ], - sources: ["Sources/**"], hasTests: true -) +) \ No newline at end of file From 998b7357fe9f1e439432f0d1be58b40ab969dc7b Mon Sep 17 00:00:00 2001 From: Roy Date: Mon, 7 Sep 2026 21:55:17 +0900 Subject: [PATCH 67/83] =?UTF-8?q?style(comment):=20Interface=C2=B7UseCase?= =?UTF-8?q?=20=EB=AC=B8=EC=84=9C=20=EC=A3=BC=EC=84=9D=EC=9D=84=20=ED=95=9C?= =?UTF-8?q?=20=EC=A4=84=EB=A1=9C=20=EC=A4=84=EC=9D=B4=EA=B3=A0=20=EA=B5=B0?= =?UTF-8?q?=EB=8D=94=EB=8D=94=EA=B8=B0=EB=A5=BC=20=EC=A7=80=EC=9A=B4?= =?UTF-8?q?=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Interface/ 와 UseCase 파일의 여러 줄 /// 블록을 첫 줄만 남긴다 (32개 파일) - Xcode 템플릿이 남긴 'Add your test logic here'·'Put setup code here' 8줄과 코드를 그대로 되풀이하는 'Track call'·'Apply delay' 6줄을 지운다 왜를 설명하는 인라인 주석 421줄은 남겼다. 서버 진실값을 쓰는 이유나 Figma 좌표처럼 코드만 봐서는 알 수 없는 것들이라 지우면 근거가 사라진다. --- Projects/App/Tests/Sources/PickeTests.swift | 1 - .../Core/PickeNetwork/Interface/Auth/CredentialStore.swift | 1 - .../PickeNetwork/Interface/Auth/CredentialUpdating.swift | 2 -- .../PickeNetwork/Interface/Auth/PickeAuthorization.swift | 1 - .../Core/PickeNetwork/Interface/Auth/PickeCredential.swift | 1 - .../Core/PickeNetwork/Interface/Auth/TokenRefreshing.swift | 1 - .../Interface/Client/PickeFileUploadClient.swift | 2 -- .../PickeNetwork/Interface/Client/PickeRequestClient.swift | 7 ------- .../Interface/Dependency/NetworkClientDependency.swift | 1 - .../PickeNetwork/Interface/Endpoint/PickeDataRequest.swift | 2 -- .../PickeNetwork/Interface/Endpoint/PickeEndpoint.swift | 6 ------ .../Interface/Endpoint/PickeFileUploadRequest.swift | 1 - .../Interface/Endpoint/PickeUploadRequest.swift | 1 - .../Core/PickeNetwork/Interface/Error/ResponseError.swift | 2 -- .../Core/PickeNetwork/Interface/Header/APIHeader.swift | 3 --- .../PickeNetwork/Interface/Model/PickeEmptyResponse.swift | 4 ---- .../PickeNetwork/Interface/Model/PickeMultipartPart.swift | 1 - .../Core/PickeStorage/Interface/Secure/SecureStorage.swift | 2 -- .../PickeStorage/Interface/Shared/SharedValueStorage.swift | 3 --- .../Interface/Sources/MockAttendanceRepository.swift | 1 - .../Contract/Apple/Default/MockAppleOAuthRepository.swift | 4 ---- .../Google/Default/MockGoogleOAuthRepository.swift | 2 -- .../Interface/Sources/Entity/Auth/SocialType.swift | 1 - .../Sources/Entity/OAuth/AppleUserNameSharedKey.swift | 2 -- .../Sources/Entity/OAuth/GoogleOAuthPayload.swift | 1 - .../Interface/Sources/Entity/OAuth/KakaoOAuthPayload.swift | 1 - .../Sources/Entity/OAuth/UserSessionSharedKey.swift | 2 -- .../Sources/Entity/Battle/PreVote/PreVoteBattle.swift | 1 - .../Interface/Sources/Scenario/BattleScenario+.swift | 3 --- .../Interface/Sources/Scenario/Chat/ChatMessage.swift | 2 -- .../Feature/Ad/Interface/UseCase/RewardedAdClient.swift | 4 ---- Projects/Feature/Auth/Tests/Sources/AuthTests.swift | 1 - Projects/Feature/Battle/Tests/Sources/BattleTests.swift | 1 - Projects/Feature/Chat/Tests/Sources/ChatTests.swift | 1 - Projects/Feature/Hifi/Tests/Sources/HifiTests.swift | 1 - .../Notification/Tests/Sources/NotificationTests.swift | 1 - Projects/Feature/Profile/Tests/Sources/ProfileTests.swift | 1 - Projects/Feature/Web/Tests/Sources/WebTests.swift | 1 - .../Interface/UseCase/AnalyticsUseCase.swift | 4 ---- .../Sources/UseCase/AnalyticsUseCase+Live.swift | 4 ---- Projects/Service/PickeAuth/Interface/AuthService.swift | 1 - .../PickeAuth/Interface/AuthServiceDependency.swift | 1 - 42 files changed, 83 deletions(-) diff --git a/Projects/App/Tests/Sources/PickeTests.swift b/Projects/App/Tests/Sources/PickeTests.swift index c32aa7dd..d1318e13 100644 --- a/Projects/App/Tests/Sources/PickeTests.swift +++ b/Projects/App/Tests/Sources/PickeTests.swift @@ -9,7 +9,6 @@ import XCTest final class PickeTests: XCTestCase { override func setUpWithError() throws { - // Put setup code here. } override func tearDownWithError() throws { diff --git a/Projects/Core/PickeNetwork/Interface/Auth/CredentialStore.swift b/Projects/Core/PickeNetwork/Interface/Auth/CredentialStore.swift index b0caf655..f7639efa 100644 --- a/Projects/Core/PickeNetwork/Interface/Auth/CredentialStore.swift +++ b/Projects/Core/PickeNetwork/Interface/Auth/CredentialStore.swift @@ -6,7 +6,6 @@ import Foundation /// 토큰 저장소 추상. 앱이 구현(키체인 등)해 주입한다. -/// 클라이언트는 이걸 통해 토큰을 읽고, refresh 된 토큰을 다시 저장한다. public protocol CredentialStore: Sendable { /// 저장된 토큰 (없으면 nil) func load() -> PickeCredential? diff --git a/Projects/Core/PickeNetwork/Interface/Auth/CredentialUpdating.swift b/Projects/Core/PickeNetwork/Interface/Auth/CredentialUpdating.swift index 559cf18a..3dfea1aa 100644 --- a/Projects/Core/PickeNetwork/Interface/Auth/CredentialUpdating.swift +++ b/Projects/Core/PickeNetwork/Interface/Auth/CredentialUpdating.swift @@ -6,8 +6,6 @@ import Foundation /// 인증 세션의 credential 을 외부에서 교체하는 핸들. -/// 인터셉터는 생성 시점의 credential 을 캐시하므로, 로그인 / 로그아웃 시점에 -/// 이 핸들로 세션에 반영해야 이후 요청에 새 토큰이 실린다. (nil 이면 credential 제거) public protocol CredentialUpdating: Sendable { func update(_ credential: PickeCredential?) } diff --git a/Projects/Core/PickeNetwork/Interface/Auth/PickeAuthorization.swift b/Projects/Core/PickeNetwork/Interface/Auth/PickeAuthorization.swift index 509a185a..7ae23134 100644 --- a/Projects/Core/PickeNetwork/Interface/Auth/PickeAuthorization.swift +++ b/Projects/Core/PickeNetwork/Interface/Auth/PickeAuthorization.swift @@ -10,6 +10,5 @@ public enum PickeAuthorization: Sendable, Equatable { /// 로그인 상태면 토큰 부착 + refresh/재시도, 아니면 토큰 없이 전송 (기본값) case automatic /// 인증 파이프라인 완전 우회 — 로그인 상태여도 토큰을 붙이지 않고, 401 에도 refresh 하지 않는다 - /// (로그인 / 회원가입 / refresh 자신 등) case none } diff --git a/Projects/Core/PickeNetwork/Interface/Auth/PickeCredential.swift b/Projects/Core/PickeNetwork/Interface/Auth/PickeCredential.swift index 1dad4478..8d3a6133 100644 --- a/Projects/Core/PickeNetwork/Interface/Auth/PickeCredential.swift +++ b/Projects/Core/PickeNetwork/Interface/Auth/PickeCredential.swift @@ -29,7 +29,6 @@ public struct PickeCredential: AuthenticationCredential, Sendable, Equatable { } /// 만료(leeway 포함) 임박 시 refresh 필요. - /// Alamofire `AuthenticationInterceptor` 가 요청 전에 이 값을 검사해 401 을 받기 전에 미리 갱신한다. public var requiresRefresh: Bool { guard let expiresAt else { return false } return Date() >= expiresAt.addingTimeInterval(-refreshLeeway) diff --git a/Projects/Core/PickeNetwork/Interface/Auth/TokenRefreshing.swift b/Projects/Core/PickeNetwork/Interface/Auth/TokenRefreshing.swift index 420640bc..23a1d8f7 100644 --- a/Projects/Core/PickeNetwork/Interface/Auth/TokenRefreshing.swift +++ b/Projects/Core/PickeNetwork/Interface/Auth/TokenRefreshing.swift @@ -6,7 +6,6 @@ import Foundation /// 토큰 refresh 추상. refresh API 호출은 앱(Repository)이 구현한다. -/// 401 또는 만료 임박 시 Alamofire `Authenticator` 가 이 메서드로 새 토큰을 받는다. public protocol TokenRefreshing: Sendable { func refresh(_ current: PickeCredential) async throws(PickeNetworkError) -> PickeCredential } diff --git a/Projects/Core/PickeNetwork/Interface/Client/PickeFileUploadClient.swift b/Projects/Core/PickeNetwork/Interface/Client/PickeFileUploadClient.swift index 1ecc341c..84a3b54d 100644 --- a/Projects/Core/PickeNetwork/Interface/Client/PickeFileUploadClient.swift +++ b/Projects/Core/PickeNetwork/Interface/Client/PickeFileUploadClient.swift @@ -6,9 +6,7 @@ import Foundation /// presigned URL 원본 바이트 업로드 진입점. -/// 앱 서버 응답 규약을 타지 않는 스토리지 직접 업로드라, 일반 요청·멀티파트와 분리한다. public protocol PickeFileUploadClient: Sendable { /// presigned URL 에 원본 바이트를 PUT 업로드한다. - /// 응답 본문은 사용하지 않으며 성공은 HTTP 2xx 로 판정한다. func upload(_ request: some PickeFileUploadRequest) async throws(PickeNetworkError) } diff --git a/Projects/Core/PickeNetwork/Interface/Client/PickeRequestClient.swift b/Projects/Core/PickeNetwork/Interface/Client/PickeRequestClient.swift index 31c3c957..6376b47e 100644 --- a/Projects/Core/PickeNetwork/Interface/Client/PickeRequestClient.swift +++ b/Projects/Core/PickeNetwork/Interface/Client/PickeRequestClient.swift @@ -6,15 +6,8 @@ import Foundation /// 네트워크 요청 진입점. -/// -/// 두 가지 선언 방식을 모두 받는다. -/// - 엔드포인트를 enum 으로 묶고 케이스마다 응답이 다를 때: `send(_:as:)` -/// `try await client.send(AuthService.login(provider: .apple, body: req), as: LoginDTO.self)` -/// - 요청 하나를 타입으로 만들어 응답까지 고정할 때: `send(_:)` -/// `try await client.send(FetchProfileRequest(id: 3))` public protocol PickeRequestClient: Sendable { /// 요청을 보내고 호출부가 지정한 타입으로 디코딩한다. - /// 한 enum 이 케이스마다 다른 응답을 가질 때 쓴다. func send( _ request: R, as type: T.Type diff --git a/Projects/Core/PickeNetwork/Interface/Dependency/NetworkClientDependency.swift b/Projects/Core/PickeNetwork/Interface/Dependency/NetworkClientDependency.swift index b6e3d964..b1468d5b 100644 --- a/Projects/Core/PickeNetwork/Interface/Dependency/NetworkClientDependency.swift +++ b/Projects/Core/PickeNetwork/Interface/Dependency/NetworkClientDependency.swift @@ -26,7 +26,6 @@ public extension DependencyValues { } /// 테스트에서 클라이언트를 갈아끼우지 않은 채 네트워크를 타면 알려주는 기본값. -/// 조용히 빈 응답을 돌려주면 테스트가 통과해버려 누락을 놓친다. public struct UnimplementedNetworkClient: PickeNetworkClient { public init() {} diff --git a/Projects/Core/PickeNetwork/Interface/Endpoint/PickeDataRequest.swift b/Projects/Core/PickeNetwork/Interface/Endpoint/PickeDataRequest.swift index 92267ae8..5b110ed7 100644 --- a/Projects/Core/PickeNetwork/Interface/Endpoint/PickeDataRequest.swift +++ b/Projects/Core/PickeNetwork/Interface/Endpoint/PickeDataRequest.swift @@ -8,14 +8,12 @@ import Foundation import Alamofire /// 일반(비-멀티파트) 요청. 엔드포인트 메타는 `PickeEndpoint`, 바디는 `parameters` 로 표현한다. -/// (Alamofire 의 DataRequest / UploadRequest 분류와 결을 맞춘 이름) public protocol PickeDataRequest: PickeEndpoint { /// 디코딩될 응답 타입 associatedtype Response: Decodable & Sendable = PickeEmptyResponse /// 요청 파라미터(Encodable). 쿼리 / 바디 위치는 인코더가 결정한다. var parameters: (any Encodable & Sendable)? { get } /// 파라미터 인코더 오버라이드. nil 이면 method 기준 기본(GET/DELETE 쿼리스트링, 그 외 JSON 바디). - /// 예: POST 인데 쿼리 파라미터가 필요하면 `URLEncodedFormParameterEncoder(destination: .queryString)`. var parameterEncoder: ParameterEncoder? { get } } diff --git a/Projects/Core/PickeNetwork/Interface/Endpoint/PickeEndpoint.swift b/Projects/Core/PickeNetwork/Interface/Endpoint/PickeEndpoint.swift index c84da34a..a7fce32f 100644 --- a/Projects/Core/PickeNetwork/Interface/Endpoint/PickeEndpoint.swift +++ b/Projects/Core/PickeNetwork/Interface/Endpoint/PickeEndpoint.swift @@ -8,18 +8,12 @@ import Foundation import Alamofire /// 엔드포인트가 속한 도메인. base URL 과 도메인 경로 접두사를 묶는다. -/// (Picke 서버는 `api/v1/battles/` 처럼 도메인마다 경로 접두사가 달라 엔드포인트가 도메인을 들고 있는다.) public protocol PickeDomainType: Sendable { var baseURLString: String { get } var url: String { get } } /// 일반 요청(`PickeDataRequest`)·멀티파트 업로드(`PickeUploadRequest`)가 공유하는 엔드포인트 메타. -/// 바디 표현(parameters / parts)만 각 프로토콜이 따로 더한다. -/// -/// 응답 타입은 여기서 고정하지 않는다. 한 enum 이 케이스마다 다른 응답을 갖는 -/// Moya 식 선언(`case login` / `case logout`)을 그대로 쓸 수 있게 하기 위함이다. -/// 응답 타입까지 타입으로 묶고 싶으면 `PickeDataRequest` 를 쓴다. public protocol PickeEndpoint { /// 엔드포인트가 속한 도메인 (base URL + 경로 접두사) var domain: any PickeDomainType { get } diff --git a/Projects/Core/PickeNetwork/Interface/Endpoint/PickeFileUploadRequest.swift b/Projects/Core/PickeNetwork/Interface/Endpoint/PickeFileUploadRequest.swift index 105370f0..4da6e271 100644 --- a/Projects/Core/PickeNetwork/Interface/Endpoint/PickeFileUploadRequest.swift +++ b/Projects/Core/PickeNetwork/Interface/Endpoint/PickeFileUploadRequest.swift @@ -6,7 +6,6 @@ import Foundation /// presigned URL 에 원본 바이트를 PUT 업로드하는 요청. -/// 앱 서버 응답 규약을 타지 않는 스토리지 직접 업로드라 baseURL 을 쓰지 않고 URL 을 통째로 받는다. public protocol PickeFileUploadRequest: Sendable { /// 업로드 대상 presigned URL var uploadURL: URL { get } diff --git a/Projects/Core/PickeNetwork/Interface/Endpoint/PickeUploadRequest.swift b/Projects/Core/PickeNetwork/Interface/Endpoint/PickeUploadRequest.swift index 03e41fd7..db26cb69 100644 --- a/Projects/Core/PickeNetwork/Interface/Endpoint/PickeUploadRequest.swift +++ b/Projects/Core/PickeNetwork/Interface/Endpoint/PickeUploadRequest.swift @@ -6,7 +6,6 @@ import Foundation /// 멀티파트 업로드 요청. 엔드포인트 메타는 `PickeEndpoint`, 바디는 `parts` 로 표현한다. -/// 실제 MultipartFormData 조립 / 전송은 구현(PickeNetwork)이 Alamofire 로 처리한다. public protocol PickeUploadRequest: PickeEndpoint { /// 디코딩될 응답 타입 associatedtype Response: Decodable & Sendable = PickeEmptyResponse diff --git a/Projects/Core/PickeNetwork/Interface/Error/ResponseError.swift b/Projects/Core/PickeNetwork/Interface/Error/ResponseError.swift index d27ec843..0dfa74ff 100644 --- a/Projects/Core/PickeNetwork/Interface/Error/ResponseError.swift +++ b/Projects/Core/PickeNetwork/Interface/Error/ResponseError.swift @@ -6,8 +6,6 @@ import Foundation /// 서버가 명시적으로 내려준 에러 응답. -/// Picke 서버는 실패를 HTTP status(4xx/5xx)로 알리고 바디의 `error` 에 `{ code, message }` 를 담아 준다. -/// 사람에게 보여줄 문구는 `message`, 분기는 `code` 로 한다. public struct ResponseError: Error, Sendable, Equatable { /// HTTP status public let httpStatus: Int diff --git a/Projects/Core/PickeNetwork/Interface/Header/APIHeader.swift b/Projects/Core/PickeNetwork/Interface/Header/APIHeader.swift index f6333799..70a06d03 100644 --- a/Projects/Core/PickeNetwork/Interface/Header/APIHeader.swift +++ b/Projects/Core/PickeNetwork/Interface/Header/APIHeader.swift @@ -8,9 +8,6 @@ import Foundation /// 요청 헤더 키 상수. -/// -/// 공통 헤더(Accept 등)는 세션이, `Authorization` 은 `PickeAuthenticator` 가 붙인다. -/// 여기엔 엔드포인트가 직접 헤더를 조립할 때 쓰는 키 이름만 둔다. public enum APIHeader { public static let contentType = "Content-Type" public static let accessToken = "Authorization" diff --git a/Projects/Core/PickeNetwork/Interface/Model/PickeEmptyResponse.swift b/Projects/Core/PickeNetwork/Interface/Model/PickeEmptyResponse.swift index 276debf7..b436a8a2 100644 --- a/Projects/Core/PickeNetwork/Interface/Model/PickeEmptyResponse.swift +++ b/Projects/Core/PickeNetwork/Interface/Model/PickeEmptyResponse.swift @@ -8,10 +8,6 @@ import Foundation import Alamofire /// 본문(payload)이 없는 응답. 성공만 받으면 되는 요청(POST/DELETE 등)의 -/// `Response` 로 쓰면, 서버가 바디를 안 내려도 에러 없이 성공 처리된다. -/// -/// Alamofire 의 `EmptyResponse` 를 채택해, 응답 바디가 비었을 때 -/// 시리얼라이저가 값을 직접 만들어 성공으로 처리하게 한다. public struct PickeEmptyResponse: Decodable, Sendable, EmptyResponse { public init() {} diff --git a/Projects/Core/PickeNetwork/Interface/Model/PickeMultipartPart.swift b/Projects/Core/PickeNetwork/Interface/Model/PickeMultipartPart.swift index fb833d47..6c813702 100644 --- a/Projects/Core/PickeNetwork/Interface/Model/PickeMultipartPart.swift +++ b/Projects/Core/PickeNetwork/Interface/Model/PickeMultipartPart.swift @@ -6,7 +6,6 @@ import Foundation /// 멀티파트 바디의 한 조각. (파일 또는 폼 필드) -/// Alamofire `MultipartFormData` 조립은 구현(PickeNetwork)이 맡는다. public struct PickeMultipartPart: Sendable { /// 파트 바이트의 출처 public enum Source: Sendable { diff --git a/Projects/Core/PickeStorage/Interface/Secure/SecureStorage.swift b/Projects/Core/PickeStorage/Interface/Secure/SecureStorage.swift index 7c6b1a73..e34d003b 100644 --- a/Projects/Core/PickeStorage/Interface/Secure/SecureStorage.swift +++ b/Projects/Core/PickeStorage/Interface/Secure/SecureStorage.swift @@ -4,8 +4,6 @@ // /// 민감한 문자열을 보관하는 저장소 경계. -/// -/// 도메인은 Keychain(Security 프레임워크) 구현을 모르고 이 계약만 쓴다. public protocol SecureStorage: Sendable { func save(_ value: String, for key: SecureStorageKey) throws(SecureStorageError) func load(_ key: SecureStorageKey) throws(SecureStorageError) -> String? diff --git a/Projects/Core/PickeStorage/Interface/Shared/SharedValueStorage.swift b/Projects/Core/PickeStorage/Interface/Shared/SharedValueStorage.swift index 35e68a7d..3c9d6d69 100644 --- a/Projects/Core/PickeStorage/Interface/Shared/SharedValueStorage.swift +++ b/Projects/Core/PickeStorage/Interface/Shared/SharedValueStorage.swift @@ -16,8 +16,6 @@ public struct SharedValueStorageIdentifier: Hashable, Sendable { } /// `@Shared` 값의 직렬화 결과를 보관하는 저장소 경계. -/// -/// 도메인은 SQLite 구현을 모르고 이 계약만 쓴다. public protocol SharedValueStorage: Sendable { var identifier: SharedValueStorageIdentifier { get } @@ -38,7 +36,6 @@ public extension DependencyValues { } /// 저장소를 갈아끼우지 않은 채 영속 경로를 타면 알려주는 기본값. -/// 조용히 nil 을 돌려주면 테스트가 통과해버려 누락을 놓친다. private struct UnimplementedSharedValueStorage: SharedValueStorage { let identifier = SharedValueStorageIdentifier() diff --git a/Projects/Domain/AttendanceDomain/Interface/Sources/MockAttendanceRepository.swift b/Projects/Domain/AttendanceDomain/Interface/Sources/MockAttendanceRepository.swift index 4bc7f528..d172d0ff 100644 --- a/Projects/Domain/AttendanceDomain/Interface/Sources/MockAttendanceRepository.swift +++ b/Projects/Domain/AttendanceDomain/Interface/Sources/MockAttendanceRepository.swift @@ -6,7 +6,6 @@ import Foundation /// 계약을 만족하는 테스트/프리뷰용 더블. -/// 운영 구현은 `AttendanceRepositoryImpl`(Data) 이며 Interface 는 그 이름을 알지 않는다. public struct MockAttendanceRepository: AttendanceInterface { public init() {} diff --git a/Projects/Domain/AuthDomain/Interface/Sources/Contract/Apple/Default/MockAppleOAuthRepository.swift b/Projects/Domain/AuthDomain/Interface/Sources/Contract/Apple/Default/MockAppleOAuthRepository.swift index a0046611..0bfc98f0 100644 --- a/Projects/Domain/AuthDomain/Interface/Sources/Contract/Apple/Default/MockAppleOAuthRepository.swift +++ b/Projects/Domain/AuthDomain/Interface/Sources/Contract/Apple/Default/MockAppleOAuthRepository.swift @@ -101,11 +101,9 @@ public actor MockAppleOAuthRepository: AppleOAuthInterface { _ credential: ASAuthorizationAppleIDCredential, nonce: String ) async throws -> AppleOAuthPayload { - // Track call signInCallCount += 1 lastSignInCall = Date() - // Apply delay if configuration.delay > 0 { try await Task.sleep(for: .seconds(configuration.delay)) } @@ -125,11 +123,9 @@ public actor MockAppleOAuthRepository: AppleOAuthInterface { } public func signIn() async throws -> AppleOAuthPayload { - // Track call signInCallCount += 1 lastSignInCall = Date() - // Apply delay if configuration.delay > 0 { try await Task.sleep(for: .seconds(configuration.delay)) } diff --git a/Projects/Domain/AuthDomain/Interface/Sources/Contract/Google/Default/MockGoogleOAuthRepository.swift b/Projects/Domain/AuthDomain/Interface/Sources/Contract/Google/Default/MockGoogleOAuthRepository.swift index f9dd6ac3..7e4fdc49 100644 --- a/Projects/Domain/AuthDomain/Interface/Sources/Contract/Google/Default/MockGoogleOAuthRepository.swift +++ b/Projects/Domain/AuthDomain/Interface/Sources/Contract/Google/Default/MockGoogleOAuthRepository.swift @@ -82,11 +82,9 @@ public actor MockGoogleOAuthRepository: GoogleOAuthInterface { // MARK: - GoogleOAuthRepositoryProtocol Implementation public func signIn() async throws -> GoogleOAuthPayload { - // Track call signInCallCount += 1 lastSignInCall = Date() - // Apply delay if configuration.delay > 0 { try await Task.sleep(for: .seconds(configuration.delay)) } diff --git a/Projects/Domain/AuthDomain/Interface/Sources/Entity/Auth/SocialType.swift b/Projects/Domain/AuthDomain/Interface/Sources/Entity/Auth/SocialType.swift index dd3bc4d9..4dc0b448 100644 --- a/Projects/Domain/AuthDomain/Interface/Sources/Entity/Auth/SocialType.swift +++ b/Projects/Domain/AuthDomain/Interface/Sources/Entity/Auth/SocialType.swift @@ -35,7 +35,6 @@ public enum SocialType: String, CaseIterable, Identifiable, Hashable { } /// 백엔드 OAuth code 교환에 사용되는 redirect URI. - /// 카카오/구글 authorize URL 에 그대로 사용한 값과 동일해야 한다. public var redirectUri: String { switch self { case .kakao: diff --git a/Projects/Domain/AuthDomain/Interface/Sources/Entity/OAuth/AppleUserNameSharedKey.swift b/Projects/Domain/AuthDomain/Interface/Sources/Entity/OAuth/AppleUserNameSharedKey.swift index 346904f2..4fbca070 100644 --- a/Projects/Domain/AuthDomain/Interface/Sources/Entity/OAuth/AppleUserNameSharedKey.swift +++ b/Projects/Domain/AuthDomain/Interface/Sources/Entity/OAuth/AppleUserNameSharedKey.swift @@ -11,8 +11,6 @@ import Sharing public extension SharedReaderKey where Self == PersistentSharedKey.Default { /// Apple 로그인이 최초 1회만 내려주는 표시 이름. - /// - /// 재로그인 시에는 Apple 이 이름을 주지 않으므로 앱이 직접 들고 있어야 한다. static var appleUserName: Self { Self[ .persistent( diff --git a/Projects/Domain/AuthDomain/Interface/Sources/Entity/OAuth/GoogleOAuthPayload.swift b/Projects/Domain/AuthDomain/Interface/Sources/Entity/OAuth/GoogleOAuthPayload.swift index d79e4df0..b2b34580 100644 --- a/Projects/Domain/AuthDomain/Interface/Sources/Entity/OAuth/GoogleOAuthPayload.swift +++ b/Projects/Domain/AuthDomain/Interface/Sources/Entity/OAuth/GoogleOAuthPayload.swift @@ -8,7 +8,6 @@ import Foundation /// Google OAuth 콜백에서 받은 백엔드 로그인 결과 -/// 백엔드가 redirect_uri 를 직접 처리하고 picke:// 딥링크에 토큰을 실어 보내는 흐름. public struct GoogleOAuthPayload { public let idToken: String public let accessToken: String? diff --git a/Projects/Domain/AuthDomain/Interface/Sources/Entity/OAuth/KakaoOAuthPayload.swift b/Projects/Domain/AuthDomain/Interface/Sources/Entity/OAuth/KakaoOAuthPayload.swift index 2c73cbb4..b10dfabf 100644 --- a/Projects/Domain/AuthDomain/Interface/Sources/Entity/OAuth/KakaoOAuthPayload.swift +++ b/Projects/Domain/AuthDomain/Interface/Sources/Entity/OAuth/KakaoOAuthPayload.swift @@ -8,7 +8,6 @@ import Foundation /// Kakao OAuth 콜백에서 받은 백엔드 로그인 결과 -/// 백엔드가 redirect_uri 를 직접 처리하고 picke:// 딥링크에 토큰을 실어 보내는 흐름. public struct KakaoOAuthPayload { public let idToken: String public let accessToken: String diff --git a/Projects/Domain/AuthDomain/Interface/Sources/Entity/OAuth/UserSessionSharedKey.swift b/Projects/Domain/AuthDomain/Interface/Sources/Entity/OAuth/UserSessionSharedKey.swift index e3cc3a65..b1557530 100644 --- a/Projects/Domain/AuthDomain/Interface/Sources/Entity/OAuth/UserSessionSharedKey.swift +++ b/Projects/Domain/AuthDomain/Interface/Sources/Entity/OAuth/UserSessionSharedKey.swift @@ -11,8 +11,6 @@ import Sharing public extension SharedReaderKey where Self == PersistentSharedKey.Default { /// 앱 실행 사이에 유지되는 사용자 세션 메타데이터. - /// - /// OAuth 토큰과 서버 access token 은 SQLite 에 기록하지 않고 Keychain 수명주기를 그대로 둔다. static var userSession: Self { Self[ .persistent( diff --git a/Projects/Domain/BattleDomain/Interface/Sources/Entity/Battle/PreVote/PreVoteBattle.swift b/Projects/Domain/BattleDomain/Interface/Sources/Entity/Battle/PreVote/PreVoteBattle.swift index 8c8a744d..bcd3ba62 100644 --- a/Projects/Domain/BattleDomain/Interface/Sources/Entity/Battle/PreVote/PreVoteBattle.swift +++ b/Projects/Domain/BattleDomain/Interface/Sources/Entity/Battle/PreVote/PreVoteBattle.swift @@ -9,7 +9,6 @@ import Foundation import HomeDomainInterface /// 사전 투표창 (.pen `U5WO4`) 에 표시되는 배틀 모델. -/// 홈 카드의 `VoteQuestion` 과 달리 2지선다 + 철학자 아바타 기반. public struct PreVoteBattle: Equatable, Identifiable { public let battleId: Int public let backgroundImageURL: String? diff --git a/Projects/Domain/HomeDomain/Interface/Sources/Scenario/BattleScenario+.swift b/Projects/Domain/HomeDomain/Interface/Sources/Scenario/BattleScenario+.swift index 4e5667c7..99c69d82 100644 --- a/Projects/Domain/HomeDomain/Interface/Sources/Scenario/BattleScenario+.swift +++ b/Projects/Domain/HomeDomain/Interface/Sources/Scenario/BattleScenario+.swift @@ -13,9 +13,6 @@ public extension BattleScenario { } /// 노드 종료 시간(초). - /// 다음 노드(autoNext 또는 인터랙티브 분기)의 시작 시각이 실제 오디오 경계이므로 우선 사용한다. - /// (audioDuration 합산은 실제 오디오와 어긋나, 선택지가 마지막 대사 도중에 떠 음성이 끊기는 문제가 있음) - /// 다음 노드가 없으면(클로징) 노드 시작 + audioDuration. func nodeEndTime(for node: ScenarioNode) -> TimeInterval { let nextNodeIds: [Int] = { if let auto = node.autoNextNodeId { return [auto] } diff --git a/Projects/Domain/HomeDomain/Interface/Sources/Scenario/Chat/ChatMessage.swift b/Projects/Domain/HomeDomain/Interface/Sources/Scenario/Chat/ChatMessage.swift index 7bfa6e95..1202828f 100644 --- a/Projects/Domain/HomeDomain/Interface/Sources/Scenario/Chat/ChatMessage.swift +++ b/Projects/Domain/HomeDomain/Interface/Sources/Scenario/Chat/ChatMessage.swift @@ -10,8 +10,6 @@ public struct ChatMessage: Equatable, Identifiable, Hashable { public let speaker: ChatSpeaker public let text: String /// 시나리오 스크립트의 시작 시각 (밀리초). 오디오 재생 진행도에 따라 - /// 활성 메시지로 자동 스크롤할 때 사용. mock 데이터 / 시간 정보가 없는 - /// 경우엔 nil. public let startTimeMs: Int? public var id: UUID { messageId } diff --git a/Projects/Feature/Ad/Interface/UseCase/RewardedAdClient.swift b/Projects/Feature/Ad/Interface/UseCase/RewardedAdClient.swift index 691d376f..4b58a4ed 100644 --- a/Projects/Feature/Ad/Interface/UseCase/RewardedAdClient.swift +++ b/Projects/Feature/Ad/Interface/UseCase/RewardedAdClient.swift @@ -8,9 +8,6 @@ import Foundation import ComposableArchitecture /// 리워드 광고 표시 계약. -/// -/// 이 타입은 GoogleMobileAds 를 알지 못한다. 실제로 광고를 로드/표시하는 구현은 -/// `Ad`(Sources) 의 `liveValue` 에만 있고, 화면들은 이 인터페이스만 의존한다. public struct RewardedAdClient: Sendable { /// 리워드 광고를 로드/표시하고 보상 획득 여부를 반환. public var showRewardedAd: @Sendable () async -> Bool @@ -21,7 +18,6 @@ public struct RewardedAdClient: Sendable { } /// 테스트/프리뷰 기본값은 인터페이스가 갖는다. `liveValue` 는 구현 모듈이 `DependencyKey` 로 채운다 -/// — 그래야 테스트 타깃이 GoogleMobileAds SDK 를 링크하지 않는다. extension RewardedAdClient: TestDependencyKey { public static let testValue = RewardedAdClient(showRewardedAd: { false }) public static let previewValue = testValue diff --git a/Projects/Feature/Auth/Tests/Sources/AuthTests.swift b/Projects/Feature/Auth/Tests/Sources/AuthTests.swift index ffb04a08..8e192788 100644 --- a/Projects/Feature/Auth/Tests/Sources/AuthTests.swift +++ b/Projects/Feature/Auth/Tests/Sources/AuthTests.swift @@ -18,7 +18,6 @@ struct AuthTests { @Test func authLogicTest() { - // Add your test logic here. let result = true #expect(result == true) } diff --git a/Projects/Feature/Battle/Tests/Sources/BattleTests.swift b/Projects/Feature/Battle/Tests/Sources/BattleTests.swift index 717c784d..51a5a709 100644 --- a/Projects/Feature/Battle/Tests/Sources/BattleTests.swift +++ b/Projects/Feature/Battle/Tests/Sources/BattleTests.swift @@ -18,7 +18,6 @@ struct BattleTests { @Test func battleLogicTest() { - // Add your test logic here. let result = true #expect(result == true) } diff --git a/Projects/Feature/Chat/Tests/Sources/ChatTests.swift b/Projects/Feature/Chat/Tests/Sources/ChatTests.swift index 00bcf6d7..a505aae6 100644 --- a/Projects/Feature/Chat/Tests/Sources/ChatTests.swift +++ b/Projects/Feature/Chat/Tests/Sources/ChatTests.swift @@ -17,7 +17,6 @@ struct ChatTests { @Test func chatLogicTest() { - // Add your test logic here. let result = true #expect(result == true) } diff --git a/Projects/Feature/Hifi/Tests/Sources/HifiTests.swift b/Projects/Feature/Hifi/Tests/Sources/HifiTests.swift index 44cdccd1..fb23bdb8 100644 --- a/Projects/Feature/Hifi/Tests/Sources/HifiTests.swift +++ b/Projects/Feature/Hifi/Tests/Sources/HifiTests.swift @@ -18,7 +18,6 @@ struct HifiTests { @Test func hifiLogicTest() { - // Add your test logic here. let result = true #expect(result == true) } diff --git a/Projects/Feature/Notification/Tests/Sources/NotificationTests.swift b/Projects/Feature/Notification/Tests/Sources/NotificationTests.swift index 36e56308..9645c70e 100644 --- a/Projects/Feature/Notification/Tests/Sources/NotificationTests.swift +++ b/Projects/Feature/Notification/Tests/Sources/NotificationTests.swift @@ -17,7 +17,6 @@ struct NotificationTests { @Test func notificationLogicTest() { - // Add your test logic here. let result = true #expect(result == true) } diff --git a/Projects/Feature/Profile/Tests/Sources/ProfileTests.swift b/Projects/Feature/Profile/Tests/Sources/ProfileTests.swift index 2bad7e42..5b2999f7 100644 --- a/Projects/Feature/Profile/Tests/Sources/ProfileTests.swift +++ b/Projects/Feature/Profile/Tests/Sources/ProfileTests.swift @@ -17,7 +17,6 @@ struct ProfileTests { @Test func profileLogicTest() { - // Add your test logic here. let result = true #expect(result == true) } diff --git a/Projects/Feature/Web/Tests/Sources/WebTests.swift b/Projects/Feature/Web/Tests/Sources/WebTests.swift index cadda21d..c7906567 100644 --- a/Projects/Feature/Web/Tests/Sources/WebTests.swift +++ b/Projects/Feature/Web/Tests/Sources/WebTests.swift @@ -18,7 +18,6 @@ struct WebTests { @Test func webLogicTest() { - // Add your test logic here. let result = true #expect(result == true) } diff --git a/Projects/Service/PickeAnalytics/Interface/UseCase/AnalyticsUseCase.swift b/Projects/Service/PickeAnalytics/Interface/UseCase/AnalyticsUseCase.swift index 7e29bbaa..2f04e2b6 100644 --- a/Projects/Service/PickeAnalytics/Interface/UseCase/AnalyticsUseCase.swift +++ b/Projects/Service/PickeAnalytics/Interface/UseCase/AnalyticsUseCase.swift @@ -10,9 +10,6 @@ import ComposableArchitecture // MARK: - UseCase /// 유저 액션 트래킹 계약. -/// -/// 이 타입은 어떤 분석 SDK 도 알지 못한다. Mixpanel·Sentry 로 실제로 보내는 구현은 -/// `PickeAnalytics`(Sources) 의 `liveValue` 에만 있고, 화면들은 이 인터페이스만 의존한다. public struct AnalyticsUseCase: Sendable { /// 앱 시작 시 공통 슈퍼 프로퍼티(os_type/app_version/build) 등록. public var registerBaseProperties: @Sendable () -> Void @@ -37,7 +34,6 @@ public struct AnalyticsUseCase: Sendable { } /// 테스트/프리뷰 기본값은 인터페이스가 갖는다. `liveValue` 는 구현 모듈이 `DependencyKey` 로 채운다 -/// — 그래야 테스트 타깃이 분석 SDK 를 링크하지 않는다. extension AnalyticsUseCase: TestDependencyKey { public static let testValue = AnalyticsUseCase( registerBaseProperties: {}, diff --git a/Projects/Service/PickeAnalytics/Sources/UseCase/AnalyticsUseCase+Live.swift b/Projects/Service/PickeAnalytics/Sources/UseCase/AnalyticsUseCase+Live.swift index a3e5b4e0..eb6f0173 100644 --- a/Projects/Service/PickeAnalytics/Sources/UseCase/AnalyticsUseCase+Live.swift +++ b/Projects/Service/PickeAnalytics/Sources/UseCase/AnalyticsUseCase+Live.swift @@ -76,9 +76,6 @@ extension AnalyticsUseCase: DependencyKey { ) /// 트래킹한 유저 액션을 Sentry 에도 남긴다. 셋 다 목적이 다르다. - /// - breadcrumb: 크래시 직전 행동 흐름. Mixpanel 을 따로 열지 않고 이슈 화면에서 바로 읽는다. - /// - `user.action.count`: 액션 종류별 발생량. 배포 후 특정 화면 진입이 끊기면 여기서 먼저 보인다. - /// - `ad.click.count`: 광고 클릭만 따로 집계. 지면·형태별로 나눠 본다. private static func monitorInSentry(name: String, properties: Properties, event: AnalyticsEvent) { let attributes = properties.compactMapValues { $0 as? String } @@ -107,7 +104,6 @@ extension AnalyticsUseCase: DependencyKey { } /// Mixpanel 유저 프로필 누적. 이벤트만으론 "이 유저가 광고를 얼마나 누르는 사람인지" 를 - /// 코호트로 못 뽑아서, 사람 단위 지표를 함께 쌓는다. private static func enrichPeopleProfile(_ mixpanel: MixpanelInstance, event: AnalyticsEvent) { switch event { case let .adClick(data): diff --git a/Projects/Service/PickeAuth/Interface/AuthService.swift b/Projects/Service/PickeAuth/Interface/AuthService.swift index fb0993d8..dfbfc9b4 100644 --- a/Projects/Service/PickeAuth/Interface/AuthService.swift +++ b/Projects/Service/PickeAuth/Interface/AuthService.swift @@ -6,7 +6,6 @@ import Foundation /// 앱의 인증 상태를 저장소와 네트워크 세션에 동시에 반영하는 단일 진입점. -/// Repository 는 Keychain 이나 `CredentialUpdating` 을 직접 다루지 않고 이 계약만 사용한다. public protocol AuthService: Sendable { /// 저장소에 유효한 access/refresh token 쌍이 있는지 확인한다. var isLoggedIn: Bool { get async } diff --git a/Projects/Service/PickeAuth/Interface/AuthServiceDependency.swift b/Projects/Service/PickeAuth/Interface/AuthServiceDependency.swift index d7522cbc..b40c0a7e 100644 --- a/Projects/Service/PickeAuth/Interface/AuthServiceDependency.swift +++ b/Projects/Service/PickeAuth/Interface/AuthServiceDependency.swift @@ -26,7 +26,6 @@ public extension DependencyValues { } /// 등록하지 않은 채 인증을 건드리면 알려주는 기본값. -/// 조용히 성공을 돌려주면 로그인 관련 테스트가 통과해버린다. public struct UnimplementedAuthService: AuthService { public init() {} From b687bee5d22900bf692b9fde64b9137b63523eeb Mon Sep 17 00:00:00 2001 From: Roy Date: Mon, 7 Sep 2026 22:11:15 +0900 Subject: [PATCH 68/83] =?UTF-8?q?refactor(structure):=20Splash=20=EB=A5=BC?= =?UTF-8?q?=20App=20=EC=9C=BC=EB=A1=9C=20=EC=98=AC=EB=A6=AC=EA=B3=A0=20?= =?UTF-8?q?=ED=94=BC=EC=B2=98=20=EA=B3=B5=EC=9C=A0=20UI=20=EB=A5=BC=20?= =?UTF-8?q?=EB=B6=84=EB=A6=AC=ED=95=9C=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Splash - SplashFeature·SplashView 를 App/Sources/Navigation/Splash 로, 테스트를 App/Tests 로 옮기고 모듈과 빈 SplashInterface 를 지운다. 카탈로그 case·조립 의존·재노출도 함께 끊는다 - SplashView 가 애니메이션 에셋을 직접 쓰므로 App 에 .ui(.animation) 을 넣는다 FeatureSharedUI - 피처 넷이 Ad 구현의 View 를 직접 물고 있었다. AdFitBannerView·AdFitNativeAdView· AdBannerSkeletonView 를 새 모듈로 옮겨 피처끼리 서로의 구현을 참조하지 않게 한다 - Profile 은 리워드 광고 계약도 쓰므로 Ad 는 Interface 로만 남긴다 세션 캐시 - PickeStorage Interface 에 SessionCacheInvalidating 계약을 두고 DomainAssembly 가 live 를 등록한다. 로그아웃·탈퇴 경로에서 부른다. 비울 로컬 캐시가 아직 없어 지금은 Noop 이고, LocalDataSource 가 생기면 여기에 엮는다 Workspace - 커버리지 대상을 스킴 관련 타깃으로 좁히는 generationOptions 를 넣는다. Stage 스킴은 App 프로젝트의 appSchemes 가 이미 만들어 워크스페이스에서 또 만들지 않는다 --- .../TargetDependency+Module/Modules.swift | 2 +- Projects/App/Project.swift | 8 +++-- .../Navigation/Splash}/SplashFeature.swift | 0 .../Navigation/Splash}/SplashView.swift | 0 .../Tests/Sources/SplashTests.swift | 0 .../Session/SessionCacheInvalidating.swift | 30 +++++++++++++++++++ .../Sources/Auth/AuthUseCaseImpl.swift | 4 +++ .../SessionCacheInvalidator+Live.swift | 16 ++++++++++ Projects/Feature/Chat/Project.swift | 2 +- .../Sources/Curation/View/CurationView.swift | 2 +- .../Feature/FeatureAssembly/Project.swift | 2 +- .../Exported/FeatureAssemblyExported.swift | 2 +- .../Feature/FeatureSharedUI/Project.swift | 18 +++++++++++ .../Sources/AdBannerSkeletonView.swift | 0 .../Sources/AdFitBannerView.swift | 0 .../Sources/AdFitNativeAdView.swift | 0 Projects/Feature/Hifi/Project.swift | 2 +- .../Feature/Hifi/Sources/View/HifiView.swift | 2 +- Projects/Feature/Home/Project.swift | 2 +- .../Home/Sources/Main/View/HomeView.swift | 2 +- Projects/Feature/Profile/Project.swift | 4 ++- .../Sources/Main/View/ProfileView.swift | 2 +- .../Interface/Sources/SplashInterface.swift | 1 - Projects/Feature/Splash/Project.swift | 25 ---------------- WorkSpace.swift | 10 ++++++- 25 files changed, 96 insertions(+), 40 deletions(-) rename Projects/{Feature/Splash/Sources/Reducer => App/Sources/Navigation/Splash}/SplashFeature.swift (100%) rename Projects/{Feature/Splash/Sources/View => App/Sources/Navigation/Splash}/SplashView.swift (100%) rename Projects/{Feature/Splash => App}/Tests/Sources/SplashTests.swift (100%) create mode 100644 Projects/Core/PickeStorage/Interface/Session/SessionCacheInvalidating.swift create mode 100644 Projects/Domain/DomainAssembly/Sources/SessionCacheInvalidator+Live.swift create mode 100644 Projects/Feature/FeatureSharedUI/Project.swift rename Projects/Feature/{Ad => FeatureSharedUI}/Sources/AdBannerSkeletonView.swift (100%) rename Projects/Feature/{Ad => FeatureSharedUI}/Sources/AdFitBannerView.swift (100%) rename Projects/Feature/{Ad => FeatureSharedUI}/Sources/AdFitNativeAdView.swift (100%) delete mode 100644 Projects/Feature/Splash/Interface/Sources/SplashInterface.swift delete mode 100644 Projects/Feature/Splash/Project.swift diff --git a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Modules.swift b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Modules.swift index 4bfb7392..ac39078f 100644 --- a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Modules.swift +++ b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Modules.swift @@ -10,7 +10,6 @@ import Foundation import ProjectDescription public enum FeatureModule: String, CaseIterable { - case splash = "Splash" case auth = "Auth" case home = "Home" case chat = "Chat" @@ -20,6 +19,7 @@ public enum FeatureModule: String, CaseIterable { case profile = "Profile" case notification = "Notification" case ad = "Ad" + case featureSharedUI = "FeatureSharedUI" /// Projects/Feature/ var path: Path { diff --git a/Projects/App/Project.swift b/Projects/App/Project.swift index b0b28e0f..33e4fbdb 100644 --- a/Projects/App/Project.swift +++ b/Projects/App/Project.swift @@ -14,6 +14,10 @@ let project = Project.makeAppModule( dependencies: [ // 화면·도메인·데이터 구현은 각 레이어의 조립 경계 하나로 들어온다. .featureAssembly, + .domainAssembly, + .serviceAssembly, + // Splash 가 App 으로 올라오며 애니메이션 에셋을 직접 쓴다. + .ui(.animation), .SPM.googleMobileAds, .SPM.kingfisher, ], @@ -21,5 +25,5 @@ let project = Project.makeAppModule( infoPlist: .appInfoPlist, entitlements: .file(path: "../../Entitlements/Picke.entitlements"), schemes: Scheme.appSchemes(appName: appName), - hasTests: false -) \ No newline at end of file + hasTests: true +) diff --git a/Projects/Feature/Splash/Sources/Reducer/SplashFeature.swift b/Projects/App/Sources/Navigation/Splash/SplashFeature.swift similarity index 100% rename from Projects/Feature/Splash/Sources/Reducer/SplashFeature.swift rename to Projects/App/Sources/Navigation/Splash/SplashFeature.swift diff --git a/Projects/Feature/Splash/Sources/View/SplashView.swift b/Projects/App/Sources/Navigation/Splash/SplashView.swift similarity index 100% rename from Projects/Feature/Splash/Sources/View/SplashView.swift rename to Projects/App/Sources/Navigation/Splash/SplashView.swift diff --git a/Projects/Feature/Splash/Tests/Sources/SplashTests.swift b/Projects/App/Tests/Sources/SplashTests.swift similarity index 100% rename from Projects/Feature/Splash/Tests/Sources/SplashTests.swift rename to Projects/App/Tests/Sources/SplashTests.swift diff --git a/Projects/Core/PickeStorage/Interface/Session/SessionCacheInvalidating.swift b/Projects/Core/PickeStorage/Interface/Session/SessionCacheInvalidating.swift new file mode 100644 index 00000000..c9b12bf9 --- /dev/null +++ b/Projects/Core/PickeStorage/Interface/Session/SessionCacheInvalidating.swift @@ -0,0 +1,30 @@ +// +// SessionCacheInvalidating.swift +// PickeStorageInterface +// + +import Dependencies + +/// 세션이 끊길 때(로그아웃·탈퇴·토큰 만료) 계정에 묶인 로컬 캐시를 비우는 계약. +public protocol SessionCacheInvalidating: Sendable { + func invalidate() async +} + +/// 비울 로컬 캐시가 아직 없는 구성에서 쓰는 기본 구현. +public struct NoopSessionCacheInvalidator: SessionCacheInvalidating { + public init() {} + + public func invalidate() async {} +} + +public enum SessionCacheInvalidatorDependency: TestDependencyKey { + public static let testValue: any SessionCacheInvalidating = NoopSessionCacheInvalidator() + public static let previewValue: any SessionCacheInvalidating = NoopSessionCacheInvalidator() +} + +public extension DependencyValues { + var sessionCacheInvalidator: any SessionCacheInvalidating { + get { self[SessionCacheInvalidatorDependency.self] } + set { self[SessionCacheInvalidatorDependency.self] = newValue } + } +} diff --git a/Projects/Domain/AuthDomain/Sources/Auth/AuthUseCaseImpl.swift b/Projects/Domain/AuthDomain/Sources/Auth/AuthUseCaseImpl.swift index 04899280..b6c9ef96 100644 --- a/Projects/Domain/AuthDomain/Sources/Auth/AuthUseCaseImpl.swift +++ b/Projects/Domain/AuthDomain/Sources/Auth/AuthUseCaseImpl.swift @@ -10,11 +10,13 @@ import Foundation import AuthDomainInterface import ComposableArchitecture +import PickeStorageInterface import PickeAuthInterface public struct AuthUseCaseImpl: AuthUseCaseInterface { @Dependency(\.authRepository) var authRepository @Dependency(\.authService) private var authService: any AuthService + @Dependency(\.sessionCacheInvalidator) private var sessionCacheInvalidator @Shared(.userSession) var userSession: UserSession public init() {} @@ -54,6 +56,7 @@ public struct AuthUseCaseImpl: AuthUseCaseInterface { public func logout() async throws -> AuthExitEntity { let result = try await authRepository.logout() await authService.signOut() + await sessionCacheInvalidator.invalidate() return result } @@ -61,6 +64,7 @@ public struct AuthUseCaseImpl: AuthUseCaseInterface { let result = try await authRepository.withDraw(reason: reason) if result.withdrawn { await authService.signOut() + await sessionCacheInvalidator.invalidate() } return result } diff --git a/Projects/Domain/DomainAssembly/Sources/SessionCacheInvalidator+Live.swift b/Projects/Domain/DomainAssembly/Sources/SessionCacheInvalidator+Live.swift new file mode 100644 index 00000000..853f3f55 --- /dev/null +++ b/Projects/Domain/DomainAssembly/Sources/SessionCacheInvalidator+Live.swift @@ -0,0 +1,16 @@ +// +// SessionCacheInvalidator+Live.swift +// DomainAssembly +// + +import PickeStorageInterface + +import Dependencies + +// 로컬 캐시(LocalDataSource)를 두는 도메인이 생기면 여기서 clear 를 엮는다. +// 지금은 비울 대상이 없어 계약만 살아 있고 실제 동작은 없다. +extension SessionCacheInvalidatorDependency: DependencyKey { + public static var liveValue: any SessionCacheInvalidating { + NoopSessionCacheInvalidator() + } +} diff --git a/Projects/Feature/Chat/Project.swift b/Projects/Feature/Chat/Project.swift index dda091a1..cb35e9fe 100644 --- a/Projects/Feature/Chat/Project.swift +++ b/Projects/Feature/Chat/Project.swift @@ -25,7 +25,7 @@ let project = Project.makeModule( .core(.network), .domain(.comment, .interface), - .feature(.ad, .implementation), + .feature(.featureSharedUI, .implementation), ], hasTests: true, hasInterface: true, diff --git a/Projects/Feature/Chat/Sources/Curation/View/CurationView.swift b/Projects/Feature/Chat/Sources/Curation/View/CurationView.swift index fbd220d0..3d1af2f0 100644 --- a/Projects/Feature/Chat/Sources/Curation/View/CurationView.swift +++ b/Projects/Feature/Chat/Sources/Curation/View/CurationView.swift @@ -10,7 +10,7 @@ import ComposableArchitecture import PickeDesignKit import PickeSharedUI import PickeCoreUtility -import Ad +import FeatureSharedUI @ViewAction(for: CurationFeature.self) public struct CurationView: View { diff --git a/Projects/Feature/FeatureAssembly/Project.swift b/Projects/Feature/FeatureAssembly/Project.swift index 6c33589d..c143a097 100644 --- a/Projects/Feature/FeatureAssembly/Project.swift +++ b/Projects/Feature/FeatureAssembly/Project.swift @@ -12,7 +12,6 @@ let project = Project.makeModule( product: .staticFramework, settings: .settings(), dependencies: [ - .feature(.splash, .implementation), .feature(.auth, .implementation), .feature(.web, .implementation), .feature(.home, .implementation), @@ -22,5 +21,6 @@ let project = Project.makeModule( .feature(.profile, .implementation), .feature(.notification, .implementation), .feature(.ad, .implementation), + .feature(.featureSharedUI, .implementation), ] ) \ No newline at end of file diff --git a/Projects/Feature/FeatureAssembly/Sources/Exported/FeatureAssemblyExported.swift b/Projects/Feature/FeatureAssembly/Sources/Exported/FeatureAssemblyExported.swift index 075b9fb3..31e1d7d3 100644 --- a/Projects/Feature/FeatureAssembly/Sources/Exported/FeatureAssemblyExported.swift +++ b/Projects/Feature/FeatureAssembly/Sources/Exported/FeatureAssemblyExported.swift @@ -8,6 +8,7 @@ // MARK: - 여기에 한번에 호출 할꺼 추가 @_exported import Ad +@_exported import FeatureSharedUI @_exported import Auth @_exported import Battle @_exported import Chat @@ -15,5 +16,4 @@ @_exported import Home @_exported import Notification @_exported import Profile -@_exported import Splash @_exported import Web diff --git a/Projects/Feature/FeatureSharedUI/Project.swift b/Projects/Feature/FeatureSharedUI/Project.swift new file mode 100644 index 00000000..81936ac9 --- /dev/null +++ b/Projects/Feature/FeatureSharedUI/Project.swift @@ -0,0 +1,18 @@ +import Foundation + +import DependencyPackagePlugin +import DependencyPlugin +import ProjectTemplatePlugin + +import ProjectDescription + +let project = Project.makeModule( + name: "FeatureSharedUI", + bundleId: .appBundleID(name: ".FeatureSharedUI"), + product: .staticFramework, + settings: .settings(), + // 피처 여러 곳이 함께 쓰는 화면 조각. 피처끼리 서로의 구현을 직접 물지 않게 여기로 모은다. + dependencies: [ + .SPM.adFit, + ] +) diff --git a/Projects/Feature/Ad/Sources/AdBannerSkeletonView.swift b/Projects/Feature/FeatureSharedUI/Sources/AdBannerSkeletonView.swift similarity index 100% rename from Projects/Feature/Ad/Sources/AdBannerSkeletonView.swift rename to Projects/Feature/FeatureSharedUI/Sources/AdBannerSkeletonView.swift diff --git a/Projects/Feature/Ad/Sources/AdFitBannerView.swift b/Projects/Feature/FeatureSharedUI/Sources/AdFitBannerView.swift similarity index 100% rename from Projects/Feature/Ad/Sources/AdFitBannerView.swift rename to Projects/Feature/FeatureSharedUI/Sources/AdFitBannerView.swift diff --git a/Projects/Feature/Ad/Sources/AdFitNativeAdView.swift b/Projects/Feature/FeatureSharedUI/Sources/AdFitNativeAdView.swift similarity index 100% rename from Projects/Feature/Ad/Sources/AdFitNativeAdView.swift rename to Projects/Feature/FeatureSharedUI/Sources/AdFitNativeAdView.swift diff --git a/Projects/Feature/Hifi/Project.swift b/Projects/Feature/Hifi/Project.swift index 8730d315..3b00683f 100644 --- a/Projects/Feature/Hifi/Project.swift +++ b/Projects/Feature/Hifi/Project.swift @@ -18,7 +18,7 @@ let project = Project.makeModule( .core(.coreUtility), .service(.analytics, .interface), // 탐색 리스트 인라인 배너 광고 — 광고를 노출하는 화면만 명시적으로 의존한다. - .feature(.ad, .implementation), + .feature(.featureSharedUI, .implementation), .domain(.home, .interface), .domain(.search, .interface), .domain(.notification, .interface), diff --git a/Projects/Feature/Hifi/Sources/View/HifiView.swift b/Projects/Feature/Hifi/Sources/View/HifiView.swift index 666fa931..bd190b41 100644 --- a/Projects/Feature/Hifi/Sources/View/HifiView.swift +++ b/Projects/Feature/Hifi/Sources/View/HifiView.swift @@ -5,7 +5,7 @@ import SwiftUI -import Ad +import FeatureSharedUI import ComposableArchitecture import HomeDomainInterface import PickeSharedUI diff --git a/Projects/Feature/Home/Project.swift b/Projects/Feature/Home/Project.swift index d1b0e849..6b056a2e 100644 --- a/Projects/Feature/Home/Project.swift +++ b/Projects/Feature/Home/Project.swift @@ -24,7 +24,7 @@ let project = Project.makeModule( .domain(.home, .interface), .domain(.notification, .interface), // 홈 피드 중간 배너 광고 — 광고를 노출하는 화면만 명시적으로 의존한다. - .feature(.ad, .implementation), + .feature(.featureSharedUI, .implementation), ], hasTests: true, hasInterface: true, diff --git a/Projects/Feature/Home/Sources/Main/View/HomeView.swift b/Projects/Feature/Home/Sources/Main/View/HomeView.swift index cb4e5f35..6ff83e53 100644 --- a/Projects/Feature/Home/Sources/Main/View/HomeView.swift +++ b/Projects/Feature/Home/Sources/Main/View/HomeView.swift @@ -12,7 +12,7 @@ import PickeDesignKit import PickeSharedUI import ComposableArchitecture -import Ad +import FeatureSharedUI @ViewAction(for: HomeFeature.self) public struct HomeView: View { diff --git a/Projects/Feature/Profile/Project.swift b/Projects/Feature/Profile/Project.swift index a8088f25..fae0aa2e 100644 --- a/Projects/Feature/Profile/Project.swift +++ b/Projects/Feature/Profile/Project.swift @@ -22,7 +22,9 @@ let project = Project.makeModule( .domain(.auth, .interface), .domain(.battle, .interface), .domain(.notification, .interface), - .feature(.ad, .implementation), // 마이페이지 하단 배너 광고 + .feature(.featureSharedUI, .implementation), // 마이페이지 하단 배너 광고 + // 리워드 광고 계약(RewardedAdClient)은 Ad Interface 에서 온다. + .feature(.ad), .SPM.composableArchitecture, .SPM.tcaFlow, .SPM.kingfisher, diff --git a/Projects/Feature/Profile/Sources/Main/View/ProfileView.swift b/Projects/Feature/Profile/Sources/Main/View/ProfileView.swift index 598bcb69..5d6993ef 100644 --- a/Projects/Feature/Profile/Sources/Main/View/ProfileView.swift +++ b/Projects/Feature/Profile/Sources/Main/View/ProfileView.swift @@ -5,7 +5,7 @@ import SwiftUI -import Ad +import FeatureSharedUI import ComposableArchitecture import PickeDesignKit import PickeSharedUI diff --git a/Projects/Feature/Splash/Interface/Sources/SplashInterface.swift b/Projects/Feature/Splash/Interface/Sources/SplashInterface.swift deleted file mode 100644 index 543e144c..00000000 --- a/Projects/Feature/Splash/Interface/Sources/SplashInterface.swift +++ /dev/null @@ -1 +0,0 @@ -public enum SplashInterface {} diff --git a/Projects/Feature/Splash/Project.swift b/Projects/Feature/Splash/Project.swift deleted file mode 100644 index effc2b42..00000000 --- a/Projects/Feature/Splash/Project.swift +++ /dev/null @@ -1,25 +0,0 @@ -import Foundation - -import DependencyPackagePlugin -import DependencyPlugin -import ProjectTemplatePlugin - -import ProjectDescription - -let project = Project.makeModule( - name: "Splash", - bundleId: .appBundleID(name: ".Splash"), - product: .staticFramework, - settings: .settings(), - dependencies: [ - .ui(.designKit), - .ui(.animation), - .domain(.appUpdate, .interface), - .service(.auth, .interface), - .service(.analytics, .interface), - .SPM.composableArchitecture, - ], - hasTests: true, - hasInterface: true, - hasTesting: false -) \ No newline at end of file diff --git a/WorkSpace.swift b/WorkSpace.swift index 8804ae2a..733b167f 100644 --- a/WorkSpace.swift +++ b/WorkSpace.swift @@ -10,9 +10,17 @@ import ProjectTemplatePlugin // 이름은 Project.Environment.appName 하나로만 정한다. // PROJECT_NAME 환경변수 폴백은 이미 그 안에 있어서 여기서 또 분기하면 로직만 두 벌이 된다. +// +// Stage 스킴은 App 프로젝트의 appSchemes 가 이미 만든다. 워크스페이스에서 또 만들면 +// 같은 이름이 두 번 생기므로 여기서는 커버리지 수집 범위만 정한다. let workspace = Workspace( name: Project.Environment.appName, projects: [ "Projects/**" - ] + ], + generationOptions: .options( + // 커버리지 대상은 스킴과 관련된 타깃으로 Tuist 가 좁힌다. + // 모듈을 손으로 나열하면 추가·개명할 때마다 목록이 실제 타깃과 어긋난다. + autogeneratedWorkspaceSchemes: .enabled(codeCoverageMode: .relevant) + ) ) From 5556bcc76966bf1268fa072f4f2d7d88838c44af Mon Sep 17 00:00:00 2001 From: Roy Date: Mon, 7 Sep 2026 23:11:57 +0900 Subject: [PATCH 69/83] =?UTF-8?q?refactor(feature):=20=EB=A1=9C=EB=94=A9?= =?UTF-8?q?=20=EC=97=AC=EB=B6=80=EB=A5=BC=20Bool=20=EB=8C=80=EC=8B=A0=20Vi?= =?UTF-8?q?ewState=20=EB=A1=9C=20=ED=91=9C=ED=98=84=ED=95=9C=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit isLoading: Bool 은 화면이 스켈레톤을 보일지 콘텐츠를 보일지 가르는 값인데 이름만으로는 그 의미가 드러나지 않고, 로딩이 아닌 상태가 무엇인지도 모호했다. - 리듀서 13개의 State 에 ViewState { loading, loaded } 를 두고 viewState 로 바꾼다 - 뷰 12개의 분기를 store.viewState == .loading 으로 옮긴다 - 페이지네이션 플래그(isLoadingMore 등)는 뜻이 다르므로 Bool 로 둔다 - 기존 의미를 그대로 옮겼다. 기본값 false 는 .loaded 에 대응한다 --- .../Sources/Main/Reducer/BattleFeature.swift | 12 +++++++++--- .../Battle/Sources/Main/View/BattleView.swift | 2 +- .../Curation/Reducer/CurationFeature.swift | 12 +++++++++--- .../Sources/Curation/View/CurationView.swift | 2 +- .../Sources/Vote/Reducer/PreVoteFeature.swift | 14 ++++++++++---- .../Chat/Sources/Vote/View/PreVoteView.swift | 2 +- .../Hifi/Sources/Reducer/HifiFeature.swift | 14 ++++++++++---- .../Feature/Hifi/Sources/View/HifiView.swift | 2 +- .../Home/Sources/Main/Reducer/HomeFeature.swift | 16 +++++++++++----- .../Home/Sources/Main/View/HomeView.swift | 2 +- .../Main/Reducer/NotificationFeature.swift | 14 ++++++++++---- .../Sources/Main/View/NotificationView.swift | 2 +- .../Reducer/BattleRecordFeature.swift | 14 ++++++++++---- .../BattleRecord/View/BattleRecordView.swift | 2 +- .../Reducer/ContentActivityFeature.swift | 14 ++++++++++---- .../View/ContentActivityView.swift | 2 +- .../Sources/Main/Reducer/ProfileFeature.swift | 12 +++++++++--- .../Profile/Sources/Main/View/ProfileView.swift | 2 +- .../Sources/Notice/Reducer/NoticeFeature.swift | 14 ++++++++++---- .../Profile/Sources/Notice/View/NoticeView.swift | 2 +- .../Reducer/NotificationSettingFeature.swift | 12 +++++++++--- .../View/NotificationSettingView.swift | 2 +- .../Reducer/PointHistoryFeature.swift | 14 ++++++++++---- .../PointHistory/View/PointHistoryView.swift | 2 +- .../Sources/Recap/Reducer/RecapFeature.swift | 12 +++++++++--- 25 files changed, 138 insertions(+), 60 deletions(-) diff --git a/Projects/Feature/Battle/Sources/Main/Reducer/BattleFeature.swift b/Projects/Feature/Battle/Sources/Main/Reducer/BattleFeature.swift index e8ad4f25..fc100ebc 100644 --- a/Projects/Feature/Battle/Sources/Main/Reducer/BattleFeature.swift +++ b/Projects/Feature/Battle/Sources/Main/Reducer/BattleFeature.swift @@ -16,7 +16,13 @@ public struct BattleFeature { @ObservableState public struct State: Equatable { - public var isLoading: Bool = false + /// 화면이 스켈레톤을 보일지 콘텐츠를 보일지 가르는 상태. + public enum ViewState: Equatable { + case loading + case loaded + } + + public var viewState: ViewState = .loaded /// 오늘의 배틀 목록 — 세로 스크롤로 다음 배틀 노출. 비어있으면 "없음". public var battles: [DailyBattle] = [] /// 배틀별 선택한 옵션 (battleId → optionId). 미선택 시 "배틀 입장하기" 비활성. @@ -155,7 +161,7 @@ extension BattleFeature { ) -> Effect { switch action { case .fetchRequested: - state.isLoading = true + state.viewState = .loading return .run { [useCase = battleUseCase] send in let result = await Result { try await useCase.fetchTodayBattles() @@ -173,7 +179,7 @@ extension BattleFeature { ) -> Effect { switch action { case let .todayResponse(result): - state.isLoading = false + state.viewState = .loaded switch result { case let .success(page): state.battles = page.items.map(DailyBattle.from) diff --git a/Projects/Feature/Battle/Sources/Main/View/BattleView.swift b/Projects/Feature/Battle/Sources/Main/View/BattleView.swift index da74a71a..ae1f59f2 100644 --- a/Projects/Feature/Battle/Sources/Main/View/BattleView.swift +++ b/Projects/Feature/Battle/Sources/Main/View/BattleView.swift @@ -33,7 +33,7 @@ public struct BattleView: View { ZStack { Color.neutral900.ignoresSafeArea() - if store.isLoading { + if store.viewState == .loading { BattleSkeletonView() } else if store.battles.isEmpty { emptyState() diff --git a/Projects/Feature/Chat/Sources/Curation/Reducer/CurationFeature.swift b/Projects/Feature/Chat/Sources/Curation/Reducer/CurationFeature.swift index 33163c93..9f1832db 100644 --- a/Projects/Feature/Chat/Sources/Curation/Reducer/CurationFeature.swift +++ b/Projects/Feature/Chat/Sources/Curation/Reducer/CurationFeature.swift @@ -16,7 +16,13 @@ public struct CurationFeature { @ObservableState public struct State: Equatable { public var battleId: Int - public var isLoading: Bool = false + /// 화면이 스켈레톤을 보일지 콘텐츠를 보일지 가르는 상태. + public enum ViewState: Equatable { + case loading + case loaded + } + + public var viewState: ViewState = .loaded public var battles: [RecommendedBattle] = [] public init(battleId: Int = 0) { @@ -113,7 +119,7 @@ extension CurationFeature { ) -> Effect { switch action { case .fetchRecommendations: - state.isLoading = true + state.viewState = .loading let battleId = state.battleId return .run { [useCase = battleUseCase] send in let result = await Result { @@ -132,7 +138,7 @@ extension CurationFeature { ) -> Effect { switch action { case let .recommendationsResponse(result): - state.isLoading = false + state.viewState = .loaded switch result { case let .success(page): state.battles = page.items diff --git a/Projects/Feature/Chat/Sources/Curation/View/CurationView.swift b/Projects/Feature/Chat/Sources/Curation/View/CurationView.swift index 3d1af2f0..d0daaa94 100644 --- a/Projects/Feature/Chat/Sources/Curation/View/CurationView.swift +++ b/Projects/Feature/Chat/Sources/Curation/View/CurationView.swift @@ -33,7 +33,7 @@ public struct CurationView: View { onAdClick: { send(.adNativeClicked) } ) - if store.isLoading, store.battles.isEmpty { + if store.viewState == .loading, store.battles.isEmpty { CurationSkeletonView() } else if store.battles.isEmpty { emptyState() diff --git a/Projects/Feature/Chat/Sources/Vote/Reducer/PreVoteFeature.swift b/Projects/Feature/Chat/Sources/Vote/Reducer/PreVoteFeature.swift index ae7606a1..20754c9b 100644 --- a/Projects/Feature/Chat/Sources/Vote/Reducer/PreVoteFeature.swift +++ b/Projects/Feature/Chat/Sources/Vote/Reducer/PreVoteFeature.swift @@ -31,7 +31,13 @@ public struct PreVoteFeature { public var battle: PreVoteBattle? public var battleDetail: BattleDetail? public var selectedOptionId: Int? - public var isLoading: Bool = false + /// 화면이 스켈레톤을 보일지 콘텐츠를 보일지 가르는 상태. + public enum ViewState: Equatable { + case loading + case loaded + } + + public var viewState: ViewState = .loaded /// 기참여(관점 직행) 여부 확인 중 — 완료 전까지 사전투표 UI 대신 스켈레톤을 유지한다. public var isCheckingParticipation: Bool = false /// 배틀 상세(사전투표) 로드(디코딩/네트워크) 실패 여부. true 면 무한 스켈레톤 대신 오류+재시도 UI 를 노출한다. @@ -166,7 +172,7 @@ extension PreVoteFeature { case .onAppear: analyticsUseCase.track(.screenView(screen: .prevote, referrer: nil)) var effects: [Effect] = [] - if state.battleDetail == nil, state.battle == nil, !state.isLoading { + if state.battleDetail == nil, state.battle == nil, state.viewState != .loading { effects.append(.send(.async(.fetchBattleDetail))) } // 사전(pre) 진입 시에만 내 참여(perspective) 여부를 조회한다. @@ -243,7 +249,7 @@ extension PreVoteFeature { ) -> Effect { switch action { case .fetchBattleDetail: - state.isLoading = true + state.viewState = .loading state.detailLoadFailed = false let battleId = state.battleId return .run { [repository = battleUseCase] send in @@ -353,7 +359,7 @@ extension PreVoteFeature { ) -> Effect { switch action { case let .battleDetailResponse(result): - state.isLoading = false + state.viewState = .loaded switch result { case let .success(detail): state.battleDetail = detail diff --git a/Projects/Feature/Chat/Sources/Vote/View/PreVoteView.swift b/Projects/Feature/Chat/Sources/Vote/View/PreVoteView.swift index 94b6313b..b4b7d997 100644 --- a/Projects/Feature/Chat/Sources/Vote/View/PreVoteView.swift +++ b/Projects/Feature/Chat/Sources/Vote/View/PreVoteView.swift @@ -64,7 +64,7 @@ public struct PreVoteView: View { } private var shouldShowSkeleton: Bool { - (store.isLoading || store.battle == nil || store.isCheckingParticipation) && !shouldShowLoadError + (store.viewState == .loading || store.battle == nil || store.isCheckingParticipation) && !shouldShowLoadError } @ViewBuilder diff --git a/Projects/Feature/Hifi/Sources/Reducer/HifiFeature.swift b/Projects/Feature/Hifi/Sources/Reducer/HifiFeature.swift index 6bdc216b..49b150b9 100644 --- a/Projects/Feature/Hifi/Sources/Reducer/HifiFeature.swift +++ b/Projects/Feature/Hifi/Sources/Reducer/HifiFeature.swift @@ -23,7 +23,13 @@ public struct HifiFeature { public var selectedCategory: ExploreCategory = .all public var selectedSort: ExploreSort = .popular public var items: [ExploreItem] = [] - public var isLoading: Bool = false + /// 화면이 스켈레톤을 보일지 콘텐츠를 보일지 가르는 상태. + public enum ViewState: Equatable { + case loading + case loaded + } + + public var viewState: ViewState = .loaded public var nextOffset: Int? public var hasNext: Bool = false @@ -128,7 +134,7 @@ extension HifiFeature { case .reachedBottom: // 무한 스크롤: 다음 페이지가 있고 로딩 중이 아니면 추가 로드. - guard state.hasNext, !state.isLoading else { return .none } + guard state.hasNext, state.viewState != .loading else { return .none } return .send(.async(.searchRequested(reset: false))) case .adBannerClicked: @@ -152,7 +158,7 @@ extension HifiFeature { ) -> Effect { switch action { case let .searchRequested(reset): - state.isLoading = true + state.viewState = .loading if reset { state.items = [] } let category = state.selectedCategory.queryValue let sort = state.selectedSort.queryValue @@ -181,7 +187,7 @@ extension HifiFeature { ) -> Effect { switch action { case let .searchResponse(result, reset): - state.isLoading = false + state.viewState = .loaded switch result { case let .success(page): state.items = reset ? page.items : state.items + page.items diff --git a/Projects/Feature/Hifi/Sources/View/HifiView.swift b/Projects/Feature/Hifi/Sources/View/HifiView.swift index bd190b41..90166406 100644 --- a/Projects/Feature/Hifi/Sources/View/HifiView.swift +++ b/Projects/Feature/Hifi/Sources/View/HifiView.swift @@ -58,7 +58,7 @@ private extension HifiView { @ViewBuilder func contentArea() -> some View { Group { - if store.isLoading, store.items.isEmpty { + if store.viewState == .loading, store.items.isEmpty { skeletonList() } else if store.items.isEmpty { emptyState() diff --git a/Projects/Feature/Home/Sources/Main/Reducer/HomeFeature.swift b/Projects/Feature/Home/Sources/Main/Reducer/HomeFeature.swift index ab52f93d..f1fdee12 100644 --- a/Projects/Feature/Home/Sources/Main/Reducer/HomeFeature.swift +++ b/Projects/Feature/Home/Sources/Main/Reducer/HomeFeature.swift @@ -20,7 +20,13 @@ public struct HomeFeature { @ObservableState public struct State: Equatable { - public var isLoading: Bool = false + /// 화면이 스켈레톤을 보일지 콘텐츠를 보일지 가르는 상태. + public enum ViewState: Equatable { + case loading + case loaded + } + + public var viewState: ViewState = .loaded public var hasLoadedHome: Bool = false public var newNotice: Bool = false public var heroes: [HeroBattle] = [] @@ -147,13 +153,13 @@ extension HomeFeature { ? .none : .send(.async(.checkAttendance)) state.hasTriedAttendance = true - guard !state.hasLoadedHome, !state.isLoading else { + guard !state.hasLoadedHome, state.viewState != .loading else { return .merge(syncBadge, attendance) } return .merge(syncBadge, attendance, .send(.async(.fetchHome))) case .pullToRefresh: - guard !state.isLoading else { return .none } + guard state.viewState != .loading else { return .none } return .send(.async(.fetchHome)) case .seeMoreTapped: @@ -212,7 +218,7 @@ extension HomeFeature { ) -> Effect { switch action { case .fetchHome: - state.isLoading = true + state.viewState = .loading return .run { [repository = homeUseCase] send in let result = await Result { try await repository.fetchHome() @@ -251,7 +257,7 @@ extension HomeFeature { ) -> Effect { switch action { case let .homeResponse(result): - state.isLoading = false + state.viewState = .loaded state.hasLoadedHome = true switch result { case let .success(bundle): diff --git a/Projects/Feature/Home/Sources/Main/View/HomeView.swift b/Projects/Feature/Home/Sources/Main/View/HomeView.swift index 6ff83e53..b1b07008 100644 --- a/Projects/Feature/Home/Sources/Main/View/HomeView.swift +++ b/Projects/Feature/Home/Sources/Main/View/HomeView.swift @@ -84,7 +84,7 @@ public struct HomeView: View { extension HomeView { private var shouldShowSkeleton: Bool { - store.isLoading && + store.viewState == .loading && store.heroes.isEmpty && store.hotBattles.isEmpty && store.bestBattles.isEmpty && diff --git a/Projects/Feature/Notification/Sources/Main/Reducer/NotificationFeature.swift b/Projects/Feature/Notification/Sources/Main/Reducer/NotificationFeature.swift index c9433160..15551888 100644 --- a/Projects/Feature/Notification/Sources/Main/Reducer/NotificationFeature.swift +++ b/Projects/Feature/Notification/Sources/Main/Reducer/NotificationFeature.swift @@ -19,7 +19,13 @@ public struct NotificationFeature { @ObservableState public struct State: Equatable { public var selectedTab: NotificationCategory = .all - public var isLoading: Bool = false + /// 화면이 스켈레톤을 보일지 콘텐츠를 보일지 가르는 상태. + public enum ViewState: Equatable { + case loading + case loaded + } + + public var viewState: ViewState = .loaded public var isLoadingMore: Bool = false public var items: [NotificationItem] = [] public var page: Int = 0 @@ -118,7 +124,7 @@ extension NotificationFeature { return .send(.async(.fetch(reset: true))) case .reachedBottom: - guard state.hasNext, !state.isLoadingMore, !state.isLoading else { return .none } + guard state.hasNext, state.viewState != .loadingMore, state.viewState != .loading else { return .none } return .send(.async(.fetch(reset: false))) case .readAllTapped: @@ -168,7 +174,7 @@ extension NotificationFeature { switch action { case let .fetch(reset): if reset { - state.isLoading = true + state.viewState = .loading } else { state.isLoadingMore = true } @@ -206,7 +212,7 @@ extension NotificationFeature { ) -> Effect { switch action { case let .notificationsResponse(result, reset): - state.isLoading = false + state.viewState = .loaded state.isLoadingMore = false switch result { case let .success(pageData): diff --git a/Projects/Feature/Notification/Sources/Main/View/NotificationView.swift b/Projects/Feature/Notification/Sources/Main/View/NotificationView.swift index 5d6ff8ea..801b7608 100644 --- a/Projects/Feature/Notification/Sources/Main/View/NotificationView.swift +++ b/Projects/Feature/Notification/Sources/Main/View/NotificationView.swift @@ -38,7 +38,7 @@ public struct NotificationView: View { tabBar() Group { - if store.isLoading { + if store.viewState == .loading { NotificationSkeletonView() } else { content() diff --git a/Projects/Feature/Profile/Sources/BattleRecord/Reducer/BattleRecordFeature.swift b/Projects/Feature/Profile/Sources/BattleRecord/Reducer/BattleRecordFeature.swift index 3079ebe9..f73642e0 100644 --- a/Projects/Feature/Profile/Sources/BattleRecord/Reducer/BattleRecordFeature.swift +++ b/Projects/Feature/Profile/Sources/BattleRecord/Reducer/BattleRecordFeature.swift @@ -16,7 +16,13 @@ public struct BattleRecordFeature { @ObservableState public struct State: Equatable { - public var isLoading: Bool = false + /// 화면이 스켈레톤을 보일지 콘텐츠를 보일지 가르는 상태. + public enum ViewState: Equatable { + case loading + case loaded + } + + public var viewState: ViewState = .loaded public var isLoadingMore: Bool = false public var items: [BattleRecord] = [] public var nextOffset: Int = 0 @@ -98,7 +104,7 @@ extension BattleRecordFeature { return .send(.delegate(.dismiss)) case .reachedBottom: - guard state.hasNext, !state.isLoadingMore, !state.isLoading else { return .none } + guard state.hasNext, state.viewState != .loadingMore, state.viewState != .loading else { return .none } return .send(.async(.fetch(reset: false))) case let .recordTapped(record): @@ -113,7 +119,7 @@ extension BattleRecordFeature { switch action { case let .fetch(reset): if reset { - state.isLoading = true + state.viewState = .loading } else { state.isLoadingMore = true } @@ -135,7 +141,7 @@ extension BattleRecordFeature { ) -> Effect { switch action { case let .recordsResponse(result, reset): - state.isLoading = false + state.viewState = .loaded state.isLoadingMore = false switch result { case let .success(page): diff --git a/Projects/Feature/Profile/Sources/BattleRecord/View/BattleRecordView.swift b/Projects/Feature/Profile/Sources/BattleRecord/View/BattleRecordView.swift index 9c773128..9f9e5cc1 100644 --- a/Projects/Feature/Profile/Sources/BattleRecord/View/BattleRecordView.swift +++ b/Projects/Feature/Profile/Sources/BattleRecord/View/BattleRecordView.swift @@ -27,7 +27,7 @@ public struct BattleRecordView: View { ) .foregroundStyle(.gray500) - if store.isLoading { + if store.viewState == .loading { BattleRecordSkeletonView() } else { content() diff --git a/Projects/Feature/Profile/Sources/ContentActivity/Reducer/ContentActivityFeature.swift b/Projects/Feature/Profile/Sources/ContentActivity/Reducer/ContentActivityFeature.swift index 0ad4c980..859c5800 100644 --- a/Projects/Feature/Profile/Sources/ContentActivity/Reducer/ContentActivityFeature.swift +++ b/Projects/Feature/Profile/Sources/ContentActivity/Reducer/ContentActivityFeature.swift @@ -17,7 +17,13 @@ public struct ContentActivityFeature { @ObservableState public struct State: Equatable { public var selectedTab: ContentActivityType = .comment - public var isLoading: Bool = false + /// 화면이 스켈레톤을 보일지 콘텐츠를 보일지 가르는 상태. + public enum ViewState: Equatable { + case loading + case loaded + } + + public var viewState: ViewState = .loaded public var isLoadingMore: Bool = false public var items: [ContentActivity] = [] public var nextOffset: Int = 0 @@ -105,7 +111,7 @@ extension ContentActivityFeature { return .send(.async(.fetch(reset: true))) case .reachedBottom: - guard state.hasNext, !state.isLoadingMore, !state.isLoading else { return .none } + guard state.hasNext, state.viewState != .loadingMore, state.viewState != .loading else { return .none } return .send(.async(.fetch(reset: false))) } } @@ -117,7 +123,7 @@ extension ContentActivityFeature { switch action { case let .fetch(reset): if reset { - state.isLoading = true + state.viewState = .loading } else { state.isLoadingMore = true } @@ -144,7 +150,7 @@ extension ContentActivityFeature { ) -> Effect { switch action { case let .activitiesResponse(result, reset): - state.isLoading = false + state.viewState = .loaded state.isLoadingMore = false switch result { case let .success(page): diff --git a/Projects/Feature/Profile/Sources/ContentActivity/View/ContentActivityView.swift b/Projects/Feature/Profile/Sources/ContentActivity/View/ContentActivityView.swift index 1e41d077..620f8812 100644 --- a/Projects/Feature/Profile/Sources/ContentActivity/View/ContentActivityView.swift +++ b/Projects/Feature/Profile/Sources/ContentActivity/View/ContentActivityView.swift @@ -30,7 +30,7 @@ public struct ContentActivityView: View { tabBar() Group { - if store.isLoading { + if store.viewState == .loading { ContentActivitySkeletonView() } else { content() diff --git a/Projects/Feature/Profile/Sources/Main/Reducer/ProfileFeature.swift b/Projects/Feature/Profile/Sources/Main/Reducer/ProfileFeature.swift index 992f4292..d403a959 100644 --- a/Projects/Feature/Profile/Sources/Main/Reducer/ProfileFeature.swift +++ b/Projects/Feature/Profile/Sources/Main/Reducer/ProfileFeature.swift @@ -33,7 +33,13 @@ public struct ProfileFeature { @ObservableState public struct State: Equatable { - public var isLoading: Bool = false + /// 화면이 스켈레톤을 보일지 콘텐츠를 보일지 가르는 상태. + public enum ViewState: Equatable { + case loading + case loaded + } + + public var viewState: ViewState = .loaded /// 닉네임 — /me/mypage 응답에서 주입. public var nickname: String = "" /// 사용자 코드 (앞에 `@` 표기) — /me/mypage 응답에서 주입. @@ -241,7 +247,7 @@ extension ProfileFeature { ) -> Effect { switch action { case .fetchProfile: - state.isLoading = true + state.viewState = .loading return .run { [useCase = profileUseCase] send in let result = await Result { try await useCase.fetchMyPage() @@ -266,7 +272,7 @@ extension ProfileFeature { ) -> Effect { switch action { case let .myPageResponse(result): - state.isLoading = false + state.viewState = .loaded switch result { case let .success(myPage): state.nickname = myPage.profile.nickname diff --git a/Projects/Feature/Profile/Sources/Main/View/ProfileView.swift b/Projects/Feature/Profile/Sources/Main/View/ProfileView.swift index 5d6993ef..32fa4ef0 100644 --- a/Projects/Feature/Profile/Sources/Main/View/ProfileView.swift +++ b/Projects/Feature/Profile/Sources/Main/View/ProfileView.swift @@ -22,7 +22,7 @@ public struct ProfileView: View { VStack(spacing: 0) { topBar() - if store.isLoading { + if store.viewState == .loading { ProfileSkeletonView() } else { // xr63n: 카드 그룹 ↔ 메뉴 그룹 gap 20 diff --git a/Projects/Feature/Profile/Sources/Notice/Reducer/NoticeFeature.swift b/Projects/Feature/Profile/Sources/Notice/Reducer/NoticeFeature.swift index 2adab4af..b6ec65f7 100644 --- a/Projects/Feature/Profile/Sources/Notice/Reducer/NoticeFeature.swift +++ b/Projects/Feature/Profile/Sources/Notice/Reducer/NoticeFeature.swift @@ -21,7 +21,13 @@ public struct NoticeFeature { public var noticeItems: [NotificationItem] = [] public var eventItems: [NotificationItem] = [] - public var isLoading = false + /// 화면이 스켈레톤을 보일지 콘텐츠를 보일지 가르는 상태. + public enum ViewState: Equatable { + case loading + case loaded + } + + public var viewState: ViewState = .loaded /// 선택된 항목 — nil 이 아니면 상세 콘텐츠 표시. public var selectedItem: NotificationItem? @@ -99,7 +105,7 @@ extension NoticeFeature { switch action { case .onAppear: guard state.noticeItems.isEmpty, state.eventItems.isEmpty else { return .none } - state.isLoading = true + state.viewState = .loading return .send(.async(.fetchLists)) case .backTapped: @@ -161,13 +167,13 @@ extension NoticeFeature { ) -> Effect { switch action { case let .listsResponse(notices, events): - state.isLoading = false + state.viewState = .loaded state.noticeItems = notices state.eventItems = events return .none case .listsFailed: - state.isLoading = false + state.viewState = .loaded return .none } } diff --git a/Projects/Feature/Profile/Sources/Notice/View/NoticeView.swift b/Projects/Feature/Profile/Sources/Notice/View/NoticeView.swift index 0dd96b7c..39b60f90 100644 --- a/Projects/Feature/Profile/Sources/Notice/View/NoticeView.swift +++ b/Projects/Feature/Profile/Sources/Notice/View/NoticeView.swift @@ -64,7 +64,7 @@ private extension NoticeView { @ViewBuilder func listContent() -> some View { Group { - if store.isLoading { + if store.viewState == .loading { ProgressView() .frame(maxWidth: .infinity, maxHeight: .infinity) } else if store.currentItems.isEmpty { diff --git a/Projects/Feature/Profile/Sources/NotificationSetting/Reducer/NotificationSettingFeature.swift b/Projects/Feature/Profile/Sources/NotificationSetting/Reducer/NotificationSettingFeature.swift index 6dd82fc8..d89627a8 100644 --- a/Projects/Feature/Profile/Sources/NotificationSetting/Reducer/NotificationSettingFeature.swift +++ b/Projects/Feature/Profile/Sources/NotificationSetting/Reducer/NotificationSettingFeature.swift @@ -14,7 +14,13 @@ public struct NotificationSettingFeature { @ObservableState public struct State: Equatable { - public var isLoading: Bool = false + /// 화면이 스켈레톤을 보일지 콘텐츠를 보일지 가르는 상태. + public enum ViewState: Equatable { + case loading + case loaded + } + + public var viewState: ViewState = .loaded public var settings: NotificationSettings = .init() public init() {} @@ -104,7 +110,7 @@ extension NotificationSettingFeature { ) -> Effect { switch action { case .fetch: - state.isLoading = true + state.viewState = .loading return .run { [useCase = profileUseCase] send in let result = await Result { try await useCase.fetchNotificationSettings() @@ -132,7 +138,7 @@ extension NotificationSettingFeature { ) -> Effect { switch action { case let .settingsResponse(result): - state.isLoading = false + state.viewState = .loaded switch result { case let .success(settings): state.settings = settings diff --git a/Projects/Feature/Profile/Sources/NotificationSetting/View/NotificationSettingView.swift b/Projects/Feature/Profile/Sources/NotificationSetting/View/NotificationSettingView.swift index e52faa8b..ef05d10b 100644 --- a/Projects/Feature/Profile/Sources/NotificationSetting/View/NotificationSettingView.swift +++ b/Projects/Feature/Profile/Sources/NotificationSetting/View/NotificationSettingView.swift @@ -25,7 +25,7 @@ public struct NotificationSettingView: View { ) .foregroundStyle(.gray500) - if store.isLoading { + if store.viewState == .loading { NotificationSettingSkeletonView() } else { ScrollView { diff --git a/Projects/Feature/Profile/Sources/PointHistory/Reducer/PointHistoryFeature.swift b/Projects/Feature/Profile/Sources/PointHistory/Reducer/PointHistoryFeature.swift index 023fc81a..8d5687bb 100644 --- a/Projects/Feature/Profile/Sources/PointHistory/Reducer/PointHistoryFeature.swift +++ b/Projects/Feature/Profile/Sources/PointHistory/Reducer/PointHistoryFeature.swift @@ -18,7 +18,13 @@ public struct PointHistoryFeature { @ObservableState public struct State: Equatable { - public var isLoading: Bool = false + /// 화면이 스켈레톤을 보일지 콘텐츠를 보일지 가르는 상태. + public enum ViewState: Equatable { + case loading + case loaded + } + + public var viewState: ViewState = .loaded public var isLoadingMore: Bool = false public var items: [CreditHistoryItem] = [] public var nextOffset: Int = 0 @@ -113,7 +119,7 @@ extension PointHistoryFeature { return .send(.delegate(.dismiss)) case .reachedBottom: - guard state.hasNext, !state.isLoadingMore, !state.isLoading else { return .none } + guard state.hasNext, state.viewState != .loadingMore, state.viewState != .loading else { return .none } return .send(.async(.fetch(reset: false))) case .suggestTopicTapped: @@ -129,7 +135,7 @@ extension PointHistoryFeature { switch action { case let .fetch(reset): if reset { - state.isLoading = true + state.viewState = .loading } else { state.isLoadingMore = true } @@ -151,7 +157,7 @@ extension PointHistoryFeature { ) -> Effect { switch action { case let .historyResponse(result, reset): - state.isLoading = false + state.viewState = .loaded state.isLoadingMore = false switch result { case let .success(page): diff --git a/Projects/Feature/Profile/Sources/PointHistory/View/PointHistoryView.swift b/Projects/Feature/Profile/Sources/PointHistory/View/PointHistoryView.swift index 12afe1c5..e0129dbe 100644 --- a/Projects/Feature/Profile/Sources/PointHistory/View/PointHistoryView.swift +++ b/Projects/Feature/Profile/Sources/PointHistory/View/PointHistoryView.swift @@ -23,7 +23,7 @@ public struct PointHistoryView: View { VStack(spacing: 0) { appBar() - if store.isLoading { + if store.viewState == .loading { PointHistorySkeletonView() } else { content() diff --git a/Projects/Feature/Profile/Sources/Recap/Reducer/RecapFeature.swift b/Projects/Feature/Profile/Sources/Recap/Reducer/RecapFeature.swift index 226547be..09543baa 100644 --- a/Projects/Feature/Profile/Sources/Recap/Reducer/RecapFeature.swift +++ b/Projects/Feature/Profile/Sources/Recap/Reducer/RecapFeature.swift @@ -20,7 +20,13 @@ public struct RecapFeature { @ObservableState public struct State: Equatable { - public var isLoading: Bool = false + /// 화면이 스켈레톤을 보일지 콘텐츠를 보일지 가르는 상태. + public enum ViewState: Equatable { + case loading + case loaded + } + + public var viewState: ViewState = .loaded public var recap: PhilosopherRecap? /// 애플 시스템 공유 시트 트리거. public var shareItem: ShareItem? @@ -136,7 +142,7 @@ extension RecapFeature { ) -> Effect { switch action { case .fetch: - state.isLoading = true + state.viewState = .loading return .run { [useCase = profileUseCase] send in let result = await Result { try await useCase.fetchRecap() @@ -154,7 +160,7 @@ extension RecapFeature { ) -> Effect { switch action { case let .recapResponse(result): - state.isLoading = false + state.viewState = .loaded switch result { case let .success(recap): state.recap = recap From 1a6cceb15477e49abc6e16c04c7c86a2ddbe8a57 Mon Sep 17 00:00:00 2001 From: Roy Date: Mon, 7 Sep 2026 23:30:17 +0900 Subject: [PATCH 70/83] =?UTF-8?q?fix(logger):=20Log=20=EC=A7=81=EC=A0=91?= =?UTF-8?q?=20=ED=98=B8=EC=B6=9C=EA=B3=BC=20=EB=A1=9C=EA=B1=B0=20=EC=9D=98?= =?UTF-8?q?=EC=A1=B4=20=EB=88=84=EB=9D=BD=EC=9D=84=20=EB=B0=94=EB=A1=9C?= =?UTF-8?q?=EC=9E=A1=EB=8A=94=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 로거를 PickeCoreLogger 로 옮길 때 #log 매크로 17곳만 보고 Log.error 처럼 직접 부르는 자리를 놓쳤다. import 는 지웠는데 호출은 남아 컴파일이 깨졌다. - Log 직접 호출 64건(33파일)을 PickeLogger 로 옮기고 모듈에 맞는 카테고리를 붙인다 (PickeNetwork network, Auth 계열 auth, BattleDomain battle, Coordinator navigation, Feature ui, 나머지 app) - 피처 여덟과 PickeAnalytics 에 .core(.logger) 를 넣는다. 전에는 .core(.thirdParty) 를 통해 전이로 받고 있었는데 그 껍데기 의존을 걷어내며 끊겼다 - ViewState 치환이 !state.isLoadingMore 의 앞부분까지 먹어 없는 case 를 만든 곳 넷을 되돌린다 --- .../Navigation/Splash/SplashFeature.swift | 3 ++- .../Sources/Monitor/PickeEventMonitor.swift | 7 ++++--- .../Repository/AppUpdateRepositoryImpl.swift | 3 ++- .../Provider/Apple/AppleOAuthProvider.swift | 5 +++-- .../Provider/Google/GoogleOAuthProvider.swift | 5 +++-- .../Provider/Kakao/KakaoOAuthProvider.swift | 3 ++- .../Sources/OAuth/UnifiedOAuthUseCase.swift | 7 ++++--- .../Sources/Repository/AuthRepositoryImpl.swift | 5 +++-- .../Google/GoogleOAuthRepositoryImpl.swift | 5 +++-- .../OAuth/Kakao/KakaoOAuthRepository.swift | 5 +++-- .../Repository/BattleRepositoryImpl.swift | 5 +++-- Projects/Feature/Ad/Project.swift | 1 + .../Sources/UseCase/RewardedAdClient+Live.swift | 11 ++++++----- Projects/Feature/Auth/Project.swift | 1 + Projects/Feature/Battle/Project.swift | 1 + .../Sources/Main/Reducer/BattleFeature.swift | 3 ++- Projects/Feature/Chat/Project.swift | 1 + .../ChatRoom/Reducer/ChatRoomFeature.swift | 3 ++- .../Comment/Reducer/CommentFeature.swift | 13 +++++++------ .../Reducer/CommentReplyFeature.swift | 17 +++++++++-------- .../Coordinator/Reducer/ChatCoordinator.swift | 3 ++- .../Curation/Reducer/CurationFeature.swift | 3 ++- .../Sources/Vote/Reducer/PreVoteFeature.swift | 13 +++++++------ Projects/Feature/Hifi/Project.swift | 1 + .../Hifi/Sources/Reducer/HifiFeature.swift | 3 ++- Projects/Feature/Home/Project.swift | 1 + .../Home/Sources/Main/Reducer/HomeFeature.swift | 3 ++- Projects/Feature/Notification/Project.swift | 1 + .../Main/Reducer/NotificationFeature.swift | 5 +++-- Projects/Feature/Profile/Project.swift | 1 + .../Reducer/BattleProposalFeature.swift | 3 ++- .../Reducer/BattleRecordFeature.swift | 5 +++-- .../Reducer/ContentActivityFeature.swift | 5 +++-- .../Sources/Main/Reducer/ProfileFeature.swift | 3 ++- .../Sources/Notice/Reducer/NoticeFeature.swift | 3 ++- .../Reducer/NotificationSettingFeature.swift | 3 ++- .../Reducer/PointHistoryFeature.swift | 5 +++-- .../Sources/Recap/Reducer/RecapFeature.swift | 3 ++- .../Settings/Reducer/SettingsFeature.swift | 3 ++- .../Reducer/WithdrawReasonFeature.swift | 3 ++- .../Sources/Store/GuardedCredentialStore.swift | 3 ++- 41 files changed, 109 insertions(+), 68 deletions(-) diff --git a/Projects/App/Sources/Navigation/Splash/SplashFeature.swift b/Projects/App/Sources/Navigation/Splash/SplashFeature.swift index bc953030..e2e5b9bb 100644 --- a/Projects/App/Sources/Navigation/Splash/SplashFeature.swift +++ b/Projects/App/Sources/Navigation/Splash/SplashFeature.swift @@ -6,6 +6,7 @@ // import Foundation +import PickeCoreLogger import ComposableArchitecture @@ -155,7 +156,7 @@ extension SplashFeature { return .none case let .failure(error): - Log.error("[Splash] 앱 업데이트 체크 실패: \(error.localizedDescription)") + PickeLogger.error("[Splash] 앱 업데이트 체크 실패: \(error.localizedDescription)", category: .app) return navigateToNextScreen(state: &state) } } diff --git a/Projects/Core/PickeNetwork/Sources/Monitor/PickeEventMonitor.swift b/Projects/Core/PickeNetwork/Sources/Monitor/PickeEventMonitor.swift index 5951e994..02f4cdbc 100644 --- a/Projects/Core/PickeNetwork/Sources/Monitor/PickeEventMonitor.swift +++ b/Projects/Core/PickeNetwork/Sources/Monitor/PickeEventMonitor.swift @@ -4,6 +4,7 @@ // import Alamofire +import PickeCoreLogger import Foundation struct PickeEventMonitor: EventMonitor { @@ -15,7 +16,7 @@ struct PickeEventMonitor: EventMonitor { // MARK: 요청 생성 실패 (URL/파라미터 인코딩 등 — 전송 전) func request(_: Request, didFailToCreateURLRequestWithError error: AFError) { - Log.error("❌ [요청 생성 실패] \(error.localizedDescription)") + PickeLogger.error("❌ [요청 생성 실패] \(error.localizedDescription)", category: .network) } // MARK: 요청+응답 (응답 시점에 한 덩어리로 묶어서 로깅) @@ -60,9 +61,9 @@ struct PickeEventMonitor: EventMonitor { let message = lines.joined(separator: "\n") if isFailure { - Log.error(message) + PickeLogger.error(message, category: .network) } else { - Log.debug(message) + PickeLogger.debug(message, category: .network) } } } diff --git a/Projects/Domain/AppUpdateDomain/Sources/Repository/AppUpdateRepositoryImpl.swift b/Projects/Domain/AppUpdateDomain/Sources/Repository/AppUpdateRepositoryImpl.swift index 0970eaec..da51042a 100644 --- a/Projects/Domain/AppUpdateDomain/Sources/Repository/AppUpdateRepositoryImpl.swift +++ b/Projects/Domain/AppUpdateDomain/Sources/Repository/AppUpdateRepositoryImpl.swift @@ -4,6 +4,7 @@ // import Foundation +import PickeCoreLogger import AppUpdateDomainInterface import PickeNetwork @@ -69,7 +70,7 @@ public final class AppUpdateRepositoryImpl: AppUpdateInterface { startedAt: startedAt, isSuccess: false ) - Log.error("[AppUpdate] lookup 실패(\(country)): \(error.localizedDescription)") + PickeLogger.error("[AppUpdate] lookup 실패(\(country)): \(error.localizedDescription)", category: .app) throw AppUpdateError.from(error) } } diff --git a/Projects/Domain/AuthDomain/Sources/OAuth/Provider/Apple/AppleOAuthProvider.swift b/Projects/Domain/AuthDomain/Sources/OAuth/Provider/Apple/AppleOAuthProvider.swift index a31ef957..adc1e59e 100644 --- a/Projects/Domain/AuthDomain/Sources/OAuth/Provider/Apple/AppleOAuthProvider.swift +++ b/Projects/Domain/AuthDomain/Sources/OAuth/Provider/Apple/AppleOAuthProvider.swift @@ -6,6 +6,7 @@ // import Foundation +import PickeCoreLogger import Dependencies import AuthenticationServices @preconcurrency import AuthDomainInterface @@ -21,13 +22,13 @@ public final class AppleOAuthProvider: AppleOAuthProviderInterface, @unchecked S nonce: String ) async throws -> AppleOAuthPayload { let payload = try await appleRepository.signInWithCredential(credential, nonce: nonce) - Log.info("Apple sign-in completed through repository with credential") + PickeLogger.info("Apple sign-in completed through repository with credential", category: .auth) return payload } public func signIn() async throws -> AppleOAuthPayload { let payload = try await appleRepository.signIn() - Log.info("Apple sign-in completed through repository (direct)") + PickeLogger.info("Apple sign-in completed through repository (direct)", category: .auth) return payload } diff --git a/Projects/Domain/AuthDomain/Sources/OAuth/Provider/Google/GoogleOAuthProvider.swift b/Projects/Domain/AuthDomain/Sources/OAuth/Provider/Google/GoogleOAuthProvider.swift index e44bae14..e2cc7e7a 100644 --- a/Projects/Domain/AuthDomain/Sources/OAuth/Provider/Google/GoogleOAuthProvider.swift +++ b/Projects/Domain/AuthDomain/Sources/OAuth/Provider/Google/GoogleOAuthProvider.swift @@ -6,6 +6,7 @@ // import Dependencies +import PickeCoreLogger @preconcurrency import AuthDomainInterface import Foundation import Sharing @@ -16,10 +17,10 @@ public final class GoogleOAuthProvider: GoogleOAuthProviderInterface, @unchecked public init() {} public func signInWithToken(token _: String) async throws -> GoogleOAuthPayload { - Log.info("Starting Google OAuth flow") + PickeLogger.info("Starting Google OAuth flow", category: .auth) let payload = try await googleRepository.signIn() $userSession.withLock { $0.accessToken = payload.accessToken ?? "" } - Log.debug("google authCode", payload.authorizationCode) + PickeLogger.debug("google authCode", payload.authorizationCode, category: .auth) return payload } } diff --git a/Projects/Domain/AuthDomain/Sources/OAuth/Provider/Kakao/KakaoOAuthProvider.swift b/Projects/Domain/AuthDomain/Sources/OAuth/Provider/Kakao/KakaoOAuthProvider.swift index c29211ac..8ae5dc8d 100644 --- a/Projects/Domain/AuthDomain/Sources/OAuth/Provider/Kakao/KakaoOAuthProvider.swift +++ b/Projects/Domain/AuthDomain/Sources/OAuth/Provider/Kakao/KakaoOAuthProvider.swift @@ -6,6 +6,7 @@ // import Dependencies +import PickeCoreLogger @preconcurrency import AuthDomainInterface import Foundation import Sharing @@ -16,7 +17,7 @@ public final class KakaoOAuthProvider: KakaoOAuthProviderInterface, @unchecked S public init() {} public func signInWithToken(token _: String) async throws -> KakaoOAuthPayload { - Log.info("Starting Kakao OAuth flow") + PickeLogger.info("Starting Kakao OAuth flow", category: .auth) let payload = try await kakaoRepository.signIn() $userSession.withLock { $0.accessToken = payload.accessToken } return payload diff --git a/Projects/Domain/AuthDomain/Sources/OAuth/UnifiedOAuthUseCase.swift b/Projects/Domain/AuthDomain/Sources/OAuth/UnifiedOAuthUseCase.swift index 01684b5e..a04f8a37 100644 --- a/Projects/Domain/AuthDomain/Sources/OAuth/UnifiedOAuthUseCase.swift +++ b/Projects/Domain/AuthDomain/Sources/OAuth/UnifiedOAuthUseCase.swift @@ -7,6 +7,7 @@ @preconcurrency import AuthDomainInterface import AuthenticationServices +import PickeCoreLogger import Dependencies import Foundation import Sharing @@ -64,7 +65,7 @@ public extension UnifiedOAuthUseCase { credential: credential, nonce: nonce ) - Log.debug("apple authcode", payload.authorizationCode) + PickeLogger.debug("apple authcode", payload.authorizationCode, category: .auth) let userName: String = { if let displayName = payload.displayName, !displayName.isEmpty { @@ -101,7 +102,7 @@ public extension UnifiedOAuthUseCase { token: String ) async throws -> LoginEntity { let payload = try await googleProvider.signInWithToken(token: token) - Log.debug("google authorizationCode", payload.authorizationCode) + PickeLogger.debug("google authorizationCode", payload.authorizationCode, category: .auth) $userSession.withLock { $0.token = payload.authorizationCode ?? "" @@ -124,7 +125,7 @@ public extension UnifiedOAuthUseCase { /// Kakao 로그인 처리 — picke:// 콜백에서 받은 `code` 를 백엔드에 전달. func kakaoLogin(token: String) async throws -> LoginEntity { let payload = try await kakaoProvider.signInWithToken(token: token) - Log.debug("kakao authorizationCode", payload.authorizationCode) + PickeLogger.debug("kakao authorizationCode", payload.authorizationCode, category: .auth) $userSession.withLock { $0.token = payload.authorizationCode ?? "" diff --git a/Projects/Domain/AuthDomain/Sources/Repository/AuthRepositoryImpl.swift b/Projects/Domain/AuthDomain/Sources/Repository/AuthRepositoryImpl.swift index e2b56336..dd3a3ea6 100644 --- a/Projects/Domain/AuthDomain/Sources/Repository/AuthRepositoryImpl.swift +++ b/Projects/Domain/AuthDomain/Sources/Repository/AuthRepositoryImpl.swift @@ -6,6 +6,7 @@ // import Foundation +import PickeCoreLogger import APIEndpoint import AuthDomainInterface @@ -36,7 +37,7 @@ public final class AuthRepositoryImpl: AuthInterface, @unchecked Sendable { if let data = try? JSONEncoder().encode(body), let json = String(data: data, encoding: .utf8) { - Log.debug("[AuthRepository] POST /api/v1/auth/login/\(socialProvider.rawValue) body=\(json)") + PickeLogger.debug("[AuthRepository] POST /api/v1/auth/login/\(socialProvider.rawValue) body=\(json)", category: .auth) } let data = try await client.send( @@ -59,7 +60,7 @@ public final class AuthRepositoryImpl: AuthInterface, @unchecked Sendable { ) return data.toDomain() } catch { - Log.error("🔍 [AuthRepositoryImpl] Refresh failed: \(error)") + PickeLogger.error("🔍 [AuthRepositoryImpl] Refresh failed: \(error)", category: .auth) // 서버가 refresh token 을 거부한 경우만 재로그인으로 보낸다(5xx 는 일시 장애). if case let .response(response) = error, response.isUnauthorized { diff --git a/Projects/Domain/AuthDomain/Sources/Repository/Google/GoogleOAuthRepositoryImpl.swift b/Projects/Domain/AuthDomain/Sources/Repository/Google/GoogleOAuthRepositoryImpl.swift index 489552a4..07f196f8 100644 --- a/Projects/Domain/AuthDomain/Sources/Repository/Google/GoogleOAuthRepositoryImpl.swift +++ b/Projects/Domain/AuthDomain/Sources/Repository/Google/GoogleOAuthRepositoryImpl.swift @@ -6,6 +6,7 @@ // import AuthDomainInterface +import PickeCoreLogger import AuthenticationServices import Foundation import UIKit @@ -40,7 +41,7 @@ public final class GoogleOAuthRepositoryImpl: NSObject, GoogleOAuthInterface { } let authorizeURL = try buildAuthorizeURL(clientID: clientID) - Log.debug("google authorize", authorizeURL.absoluteString) + PickeLogger.debug("google authorize", authorizeURL.absoluteString, category: .auth) let code = try await OAuthWebPresenter.present( authorizeURL: authorizeURL, @@ -48,7 +49,7 @@ public final class GoogleOAuthRepositoryImpl: NSObject, GoogleOAuthInterface { redirectPath: redirectPath, customUserAgent: OAuthWebUserAgent.mobileSafari ) - Log.debug("google authorizationCode", code) + PickeLogger.debug("google authorizationCode", code, category: .auth) return GoogleOAuthPayload( idToken: "", diff --git a/Projects/Domain/AuthDomain/Sources/Repository/OAuth/Kakao/KakaoOAuthRepository.swift b/Projects/Domain/AuthDomain/Sources/Repository/OAuth/Kakao/KakaoOAuthRepository.swift index cd31e35e..7213513e 100644 --- a/Projects/Domain/AuthDomain/Sources/Repository/OAuth/Kakao/KakaoOAuthRepository.swift +++ b/Projects/Domain/AuthDomain/Sources/Repository/OAuth/Kakao/KakaoOAuthRepository.swift @@ -6,6 +6,7 @@ // import AuthDomainInterface +import PickeCoreLogger import AuthenticationServices import Foundation import UIKit @@ -38,7 +39,7 @@ public final class KakaoOAuthRepository: NSObject, KakaoOAuthInterface { } let authorizeURL = try buildAuthorizeURL(clientID: clientID) - Log.debug("kakao authorize", authorizeURL.absoluteString) + PickeLogger.debug("kakao authorize", authorizeURL.absoluteString, category: .auth) let code = try await OAuthWebPresenter.present( authorizeURL: authorizeURL, @@ -46,7 +47,7 @@ public final class KakaoOAuthRepository: NSObject, KakaoOAuthInterface { redirectPath: redirectPath, usesEphemeralSession: true ) - Log.debug("kakao authorizationCode", code) + PickeLogger.debug("kakao authorizationCode", code, category: .auth) return KakaoOAuthPayload( idToken: "", diff --git a/Projects/Domain/BattleDomain/Sources/Repository/BattleRepositoryImpl.swift b/Projects/Domain/BattleDomain/Sources/Repository/BattleRepositoryImpl.swift index 7569adc4..fbccf950 100644 --- a/Projects/Domain/BattleDomain/Sources/Repository/BattleRepositoryImpl.swift +++ b/Projects/Domain/BattleDomain/Sources/Repository/BattleRepositoryImpl.swift @@ -4,6 +4,7 @@ // import Foundation +import PickeCoreLogger import Dependencies @@ -104,7 +105,7 @@ public final class BattleRepositoryImpl: BattleInterface, @unchecked Sendable { // 실패로 뒤집지 않고 nil 을 돌려준다 — 호출부는 목록만 갱신하고 진영 전환을 건너뛴다. let perspective = try? await fetchMyPerspective(battleId: battleId) if perspective == nil { - Log.error("[BattleRepositoryImpl] createPerspective 재조회 실패 — 등록은 성공") + PickeLogger.error("[BattleRepositoryImpl] createPerspective 재조회 실패 — 등록은 성공", category: .battle) } return perspective } @@ -117,7 +118,7 @@ public final class BattleRepositoryImpl: BattleInterface, @unchecked Sendable { as: BattlePerspectiveDTO.self ) } catch { - Log.debug("[BattleRepositoryImpl] fetchMyPerspective failed (no participation): \(error.localizedDescription)") + PickeLogger.debug("[BattleRepositoryImpl] fetchMyPerspective failed (no participation): \(error.localizedDescription)", category: .battle) return nil } diff --git a/Projects/Feature/Ad/Project.swift b/Projects/Feature/Ad/Project.swift index 64ee1b85..6bb3ffc9 100644 --- a/Projects/Feature/Ad/Project.swift +++ b/Projects/Feature/Ad/Project.swift @@ -11,6 +11,7 @@ let project = Project.makeModule( bundleId: .appBundleID(name: ".Ad"), settings: .settings(), dependencies: [ + .core(.logger), .SPM.adFit, .SPM.googleMobileAds, .service(.analytics, .interface), diff --git a/Projects/Feature/Ad/Sources/UseCase/RewardedAdClient+Live.swift b/Projects/Feature/Ad/Sources/UseCase/RewardedAdClient+Live.swift index 8c9d5753..b71379c9 100644 --- a/Projects/Feature/Ad/Sources/UseCase/RewardedAdClient+Live.swift +++ b/Projects/Feature/Ad/Sources/UseCase/RewardedAdClient+Live.swift @@ -4,6 +4,7 @@ // import Foundation +import PickeCoreLogger import UIKit import AdInterface @@ -57,7 +58,7 @@ private final class RewardedAdPresenter: NSObject, FullScreenContentDelegate { ad.fullScreenContentDelegate = self guard let rootViewController = Self.topViewController() else { - Log.error("[RewardedAd] rootViewController 를 찾지 못했습니다") + PickeLogger.error("[RewardedAd] rootViewController 를 찾지 못했습니다", category: .ui) return false } @@ -66,11 +67,11 @@ private final class RewardedAdPresenter: NSObject, FullScreenContentDelegate { self.retainSelf = self ad.present(from: rootViewController) { [weak self] in self?.earnedReward = true - Log.debug("[RewardedAd] 보상 획득") + PickeLogger.debug("[RewardedAd] 보상 획득", category: .ui) } } } catch { - Log.error("[RewardedAd] 광고 로드 실패: \(error.localizedDescription)") + PickeLogger.error("[RewardedAd] 광고 로드 실패: \(error.localizedDescription)", category: .ui) return false } } @@ -82,12 +83,12 @@ private final class RewardedAdPresenter: NSObject, FullScreenContentDelegate { } func adDidRecordClick(_: FullScreenPresentingAd) { - Log.debug("[RewardedAd] 광고 클릭") + PickeLogger.debug("[RewardedAd] 광고 클릭", category: .ui) onClick() } func ad(_: FullScreenPresentingAd, didFailToPresentFullScreenContentWithError error: Error) { - Log.error("[RewardedAd] 광고 표시 실패: \(error.localizedDescription)") + PickeLogger.error("[RewardedAd] 광고 표시 실패: \(error.localizedDescription)", category: .ui) finish(false) } diff --git a/Projects/Feature/Auth/Project.swift b/Projects/Feature/Auth/Project.swift index cb5152f7..a23b4ae5 100644 --- a/Projects/Feature/Auth/Project.swift +++ b/Projects/Feature/Auth/Project.swift @@ -12,6 +12,7 @@ let project = Project.makeModule( product: .staticFramework, settings: .settings(), dependencies: [ + .core(.logger), .SPM.composableArchitecture, .ui(.designKit), .ui(.sharedUI), diff --git a/Projects/Feature/Battle/Project.swift b/Projects/Feature/Battle/Project.swift index 8cd68e90..0579efd5 100644 --- a/Projects/Feature/Battle/Project.swift +++ b/Projects/Feature/Battle/Project.swift @@ -12,6 +12,7 @@ let project = Project.makeModule( product: .staticFramework, settings: .settings(), dependencies: [ + .core(.logger), .SPM.composableArchitecture, .ui(.designKit), .ui(.sharedUI), diff --git a/Projects/Feature/Battle/Sources/Main/Reducer/BattleFeature.swift b/Projects/Feature/Battle/Sources/Main/Reducer/BattleFeature.swift index fc100ebc..030494b3 100644 --- a/Projects/Feature/Battle/Sources/Main/Reducer/BattleFeature.swift +++ b/Projects/Feature/Battle/Sources/Main/Reducer/BattleFeature.swift @@ -4,6 +4,7 @@ // import Foundation +import PickeCoreLogger import ComposableArchitecture import BattleDomainInterface @@ -185,7 +186,7 @@ extension BattleFeature { state.battles = page.items.map(DailyBattle.from) case let .failure(error): state.battles = [] - Log.error("[BattleFeature] fetchTodayBattles failed: \(error.localizedDescription)") + PickeLogger.error("[BattleFeature] fetchTodayBattles failed: \(error.localizedDescription)", category: .ui) } return .none } diff --git a/Projects/Feature/Chat/Project.swift b/Projects/Feature/Chat/Project.swift index cb35e9fe..c37b240a 100644 --- a/Projects/Feature/Chat/Project.swift +++ b/Projects/Feature/Chat/Project.swift @@ -12,6 +12,7 @@ let project = Project.makeModule( product: .staticFramework, settings: .settings(), dependencies: [ + .core(.logger), .SPM.tcaFlow, .SPM.composableArchitecture, .service(.audioPlayer, .interface), diff --git a/Projects/Feature/Chat/Sources/ChatRoom/Reducer/ChatRoomFeature.swift b/Projects/Feature/Chat/Sources/ChatRoom/Reducer/ChatRoomFeature.swift index b759d892..da927dac 100644 --- a/Projects/Feature/Chat/Sources/ChatRoom/Reducer/ChatRoomFeature.swift +++ b/Projects/Feature/Chat/Sources/ChatRoom/Reducer/ChatRoomFeature.swift @@ -6,6 +6,7 @@ // import Foundation +import PickeCoreLogger import BattleDomainInterface import ChatInterface @@ -517,7 +518,7 @@ extension ChatRoomFeature { return .none case let .failure(error): state.scenarioLoadFailed = true - Log.error("[ChatRoomFeature] fetchScenario failed: \(error) — \(error.localizedDescription)") + PickeLogger.error("[ChatRoomFeature] fetchScenario failed: \(error) — \(error.localizedDescription)", category: .ui) return .none } diff --git a/Projects/Feature/Chat/Sources/Comment/Reducer/CommentFeature.swift b/Projects/Feature/Chat/Sources/Comment/Reducer/CommentFeature.swift index 6d22af1e..446e1f89 100644 --- a/Projects/Feature/Chat/Sources/Comment/Reducer/CommentFeature.swift +++ b/Projects/Feature/Chat/Sources/Comment/Reducer/CommentFeature.swift @@ -4,6 +4,7 @@ // import Foundation +import PickeCoreLogger import BattleDomainInterface import CommentDomainInterface @@ -509,7 +510,7 @@ extension CommentFeature { } } case let .failure(error): - Log.error("[CommentFeature] fetchBattle failed: \(error.localizedDescription)") + PickeLogger.error("[CommentFeature] fetchBattle failed: \(error.localizedDescription)", category: .ui) } return .none @@ -525,7 +526,7 @@ extension CommentFeature { } } case let .failure(error): - Log.error("[CommentFeature] fetchMyPerspective failed: \(error.localizedDescription)") + PickeLogger.error("[CommentFeature] fetchMyPerspective failed: \(error.localizedDescription)", category: .ui) } return .none @@ -535,7 +536,7 @@ extension CommentFeature { case let .success(stats): state.voteSummary = makeSummary(from: stats, fallback: state.voteSummary) case let .failure(error): - Log.error("[CommentFeature] fetchVoteStats failed: \(error.localizedDescription)") + PickeLogger.error("[CommentFeature] fetchVoteStats failed: \(error.localizedDescription)", category: .ui) } return .none @@ -564,7 +565,7 @@ extension CommentFeature { // (이전엔 댓글마다 GET /perspectives/{id}/likes 로 덮어써 수치가 로드 후 바뀌는 문제가 있었음) return .none case let .failure(error): - Log.error("[CommentFeature] fetchPerspectives failed: \(error.localizedDescription)") + PickeLogger.error("[CommentFeature] fetchPerspectives failed: \(error.localizedDescription)", category: .ui) } return .none @@ -576,7 +577,7 @@ extension CommentFeature { state.comments[index].isLiked = payload.isLiked } case let .failure(error): - Log.error("[CommentFeature] toggleLike failed: \(error.localizedDescription)") + PickeLogger.error("[CommentFeature] toggleLike failed: \(error.localizedDescription)", category: .ui) } return .none @@ -596,7 +597,7 @@ extension CommentFeature { } return .send(.async(.fetchPerspectives(reset: true))) case let .failure(error): - Log.error("[CommentFeature] createComment failed: \(error.localizedDescription)") + PickeLogger.error("[CommentFeature] createComment failed: \(error.localizedDescription)", category: .ui) return .none } diff --git a/Projects/Feature/Chat/Sources/CommentReply/Reducer/CommentReplyFeature.swift b/Projects/Feature/Chat/Sources/CommentReply/Reducer/CommentReplyFeature.swift index 909eaae1..ac24146c 100644 --- a/Projects/Feature/Chat/Sources/CommentReply/Reducer/CommentReplyFeature.swift +++ b/Projects/Feature/Chat/Sources/CommentReply/Reducer/CommentReplyFeature.swift @@ -6,6 +6,7 @@ // import Foundation +import PickeCoreLogger import CommentDomainInterface import BattleDomainInterface @@ -507,7 +508,7 @@ extension CommentReplyFeature { case let .success(perspective): state.parentComment = CommentItem(item: perspective, order: 0) case let .failure(error): - Log.error("[CommentReplyFeature] fetchParent failed: \(error.localizedDescription)") + PickeLogger.error("[CommentReplyFeature] fetchParent failed: \(error.localizedDescription)", category: .ui) } return .none @@ -522,7 +523,7 @@ extension CommentReplyFeature { state.nextCursor = page.nextCursor state.hasNext = page.hasNext case let .failure(error): - Log.error("[CommentReplyFeature] fetchReplies failed: \(error.localizedDescription)") + PickeLogger.error("[CommentReplyFeature] fetchReplies failed: \(error.localizedDescription)", category: .ui) } return .none @@ -531,7 +532,7 @@ extension CommentReplyFeature { case .success: return .send(.async(.fetchReplies(reset: true))) case let .failure(error): - Log.error("[CommentReplyFeature] createReply failed: \(error.localizedDescription)") + PickeLogger.error("[CommentReplyFeature] createReply failed: \(error.localizedDescription)", category: .ui) return .none } @@ -541,7 +542,7 @@ extension CommentReplyFeature { // 수정 후 리스트 reset 갱신 → 스켈레톤 노출 return .send(.async(.fetchReplies(reset: true))) case let .failure(error): - Log.error("[CommentReplyFeature] updateReply failed: \(error.localizedDescription)") + PickeLogger.error("[CommentReplyFeature] updateReply failed: \(error.localizedDescription)", category: .ui) return .none } @@ -551,7 +552,7 @@ extension CommentReplyFeature { state.replies.removeAll { $0.commentId == commentId } if state.parentComment.replyCount > 0 { state.parentComment.replyCount -= 1 } case let .failure(error): - Log.error("[CommentReplyFeature] deleteReply failed: \(error.localizedDescription)") + PickeLogger.error("[CommentReplyFeature] deleteReply failed: \(error.localizedDescription)", category: .ui) } return .none @@ -561,7 +562,7 @@ extension CommentReplyFeature { state.parentComment.likeCount = payload.likeCount state.parentComment.isLiked = payload.isLiked case let .failure(error): - Log.error("[CommentReplyFeature] toggleParentLike failed: \(error.localizedDescription)") + PickeLogger.error("[CommentReplyFeature] toggleParentLike failed: \(error.localizedDescription)", category: .ui) } return .none @@ -573,7 +574,7 @@ extension CommentReplyFeature { state.replies[index].isLiked = payload.isLiked } case let .failure(error): - Log.error("[CommentReplyFeature] toggleReplyLike failed: \(error.localizedDescription)") + PickeLogger.error("[CommentReplyFeature] toggleReplyLike failed: \(error.localizedDescription)", category: .ui) } return .none @@ -582,7 +583,7 @@ extension CommentReplyFeature { case let .success(payload): state.parentComment.likeCount = payload.likeCount case let .failure(error): - Log.error("[CommentReplyFeature] fetchParentLikes failed: \(error.localizedDescription)") + PickeLogger.error("[CommentReplyFeature] fetchParentLikes failed: \(error.localizedDescription)", category: .ui) } return .none } diff --git a/Projects/Feature/Chat/Sources/Coordinator/Reducer/ChatCoordinator.swift b/Projects/Feature/Chat/Sources/Coordinator/Reducer/ChatCoordinator.swift index 05dfc18b..31a3d7b2 100644 --- a/Projects/Feature/Chat/Sources/Coordinator/Reducer/ChatCoordinator.swift +++ b/Projects/Feature/Chat/Sources/Coordinator/Reducer/ChatCoordinator.swift @@ -4,6 +4,7 @@ // import Foundation +import PickeCoreLogger import ChatInterface import CommentDomainInterface @@ -142,7 +143,7 @@ extension ChatCoordinator { case let .routeAction(_, action: .comment(.delegate(.openReply(comment)))): // perspectiveId 가 없는 관점은 대댓글 식별이 불가능하므로 진입하지 않는다. guard let perspectiveId = comment.perspectiveId else { - Log.error("[ChatCoordinator] openReply 무시 — perspectiveId 가 nil 인 CommentItem") + PickeLogger.error("[ChatCoordinator] openReply 무시 — perspectiveId 가 nil 인 CommentItem", category: .navigation) return .none } state.routes.push( diff --git a/Projects/Feature/Chat/Sources/Curation/Reducer/CurationFeature.swift b/Projects/Feature/Chat/Sources/Curation/Reducer/CurationFeature.swift index 9f1832db..7c7b895d 100644 --- a/Projects/Feature/Chat/Sources/Curation/Reducer/CurationFeature.swift +++ b/Projects/Feature/Chat/Sources/Curation/Reducer/CurationFeature.swift @@ -4,6 +4,7 @@ // import Foundation +import PickeCoreLogger import BattleDomainInterface import ComposableArchitecture @@ -143,7 +144,7 @@ extension CurationFeature { case let .success(page): state.battles = page.items case let .failure(error): - Log.error("[CurationFeature] recommendations failed: \(error.localizedDescription)") + PickeLogger.error("[CurationFeature] recommendations failed: \(error.localizedDescription)", category: .ui) state.battles = [] } return .none diff --git a/Projects/Feature/Chat/Sources/Vote/Reducer/PreVoteFeature.swift b/Projects/Feature/Chat/Sources/Vote/Reducer/PreVoteFeature.swift index 20754c9b..adf03de7 100644 --- a/Projects/Feature/Chat/Sources/Vote/Reducer/PreVoteFeature.swift +++ b/Projects/Feature/Chat/Sources/Vote/Reducer/PreVoteFeature.swift @@ -6,6 +6,7 @@ // import Foundation +import PickeCoreLogger import PickeNetwork import UIKit @@ -367,7 +368,7 @@ extension PreVoteFeature { state.detailLoadFailed = false case let .failure(error): state.detailLoadFailed = true - Log.error("[PreVoteFeature] fetchBattle failed: \(error) — \(error.localizedDescription)") + PickeLogger.error("[PreVoteFeature] fetchBattle failed: \(error) — \(error.localizedDescription)", category: .ui) } return .none @@ -381,7 +382,7 @@ extension PreVoteFeature { return .send(.delegate(.alreadyFinalVoted(battleId: state.battleId))) } case let .failure(error): - Log.error("[PreVoteFeature] fetchMyPerspective failed: \(error.localizedDescription)") + PickeLogger.error("[PreVoteFeature] fetchMyPerspective failed: \(error.localizedDescription)", category: .ui) } return .none @@ -390,7 +391,7 @@ extension PreVoteFeature { case .success: state.myPerspective = nil case let .failure(error): - Log.error("[PreVoteFeature] deleteMyPerspective failed: \(error.localizedDescription)") + PickeLogger.error("[PreVoteFeature] deleteMyPerspective failed: \(error.localizedDescription)", category: .ui) } return .none @@ -408,7 +409,7 @@ extension PreVoteFeature { isMindChanged: false ))) case let .failure(error): - Log.error("[PreVoteFeature] submitPreVote failed: \(error.localizedDescription)") + PickeLogger.error("[PreVoteFeature] submitPreVote failed: \(error.localizedDescription)", category: .ui) return .none } @@ -433,7 +434,7 @@ extension PreVoteFeature { case let .failure(error): // 최종투표는 1회만 가능 — 이미 투표한 경우 서버가 500. // 재투표가 불가하므로 결과(댓글) 화면으로 이동한다. - Log.error("[PreVoteFeature] submitPostVote failed: \(error.localizedDescription)") + PickeLogger.error("[PreVoteFeature] submitPostVote failed: \(error.localizedDescription)", category: .ui) return .send(.delegate(.alreadyFinalVoted(battleId: state.battleId))) } } @@ -472,7 +473,7 @@ extension PreVoteFeature { guard let leftOption = mapped[safe: 0], let rightOption = mapped[safe: 1] else { - Log.error("[PreVoteFeature] 서버 option 데이터 부족 count=\(mapped.count)") + PickeLogger.error("[PreVoteFeature] 서버 option 데이터 부족 count=\(mapped.count)", category: .ui) return nil } diff --git a/Projects/Feature/Hifi/Project.swift b/Projects/Feature/Hifi/Project.swift index 3b00683f..1abe1212 100644 --- a/Projects/Feature/Hifi/Project.swift +++ b/Projects/Feature/Hifi/Project.swift @@ -12,6 +12,7 @@ let project = Project.makeModule( product: .staticFramework, settings: .settings(), dependencies: [ + .core(.logger), .domain(.battle, .interface), .ui(.designKit), .ui(.sharedUI), diff --git a/Projects/Feature/Hifi/Sources/Reducer/HifiFeature.swift b/Projects/Feature/Hifi/Sources/Reducer/HifiFeature.swift index 49b150b9..0dff23e8 100644 --- a/Projects/Feature/Hifi/Sources/Reducer/HifiFeature.swift +++ b/Projects/Feature/Hifi/Sources/Reducer/HifiFeature.swift @@ -4,6 +4,7 @@ // import Foundation +import PickeCoreLogger import SearchDomainInterface import ComposableArchitecture @@ -194,7 +195,7 @@ extension HifiFeature { state.nextOffset = page.nextOffset state.hasNext = page.hasNext case let .failure(error): - Log.error("[HifiFeature] searchBattles failed: \(error.localizedDescription)") + PickeLogger.error("[HifiFeature] searchBattles failed: \(error.localizedDescription)", category: .ui) if reset { state.items = [] } } return .none diff --git a/Projects/Feature/Home/Project.swift b/Projects/Feature/Home/Project.swift index 6b056a2e..dc9cfaba 100644 --- a/Projects/Feature/Home/Project.swift +++ b/Projects/Feature/Home/Project.swift @@ -12,6 +12,7 @@ let project = Project.makeModule( product: .staticFramework, settings: .settings(), dependencies: [ + .core(.logger), .SPM.composableArchitecture, .domain(.auth, .interface), .ui(.designKit), diff --git a/Projects/Feature/Home/Sources/Main/Reducer/HomeFeature.swift b/Projects/Feature/Home/Sources/Main/Reducer/HomeFeature.swift index f1fdee12..084b9382 100644 --- a/Projects/Feature/Home/Sources/Main/Reducer/HomeFeature.swift +++ b/Projects/Feature/Home/Sources/Main/Reducer/HomeFeature.swift @@ -6,6 +6,7 @@ // import AttendanceDomainInterface +import PickeCoreLogger import ComposableArchitecture import Foundation import HomeDomainInterface @@ -271,7 +272,7 @@ extension HomeFeature { state.votes = home.votes state.newBattles = home.newBattles case let .failure(error): - Log.error("[HomeFeature] fetchHome failed: \(error.localizedDescription)") + PickeLogger.error("[HomeFeature] fetchHome failed: \(error.localizedDescription)", category: .ui) } return .none diff --git a/Projects/Feature/Notification/Project.swift b/Projects/Feature/Notification/Project.swift index d3c29042..9c4667f9 100644 --- a/Projects/Feature/Notification/Project.swift +++ b/Projects/Feature/Notification/Project.swift @@ -12,6 +12,7 @@ let project = Project.makeModule( product: .staticFramework, settings: .settings(), dependencies: [ + .core(.logger), .ui(.designKit), .ui(.sharedUI), .core(.coreUtility), diff --git a/Projects/Feature/Notification/Sources/Main/Reducer/NotificationFeature.swift b/Projects/Feature/Notification/Sources/Main/Reducer/NotificationFeature.swift index 15551888..d8997104 100644 --- a/Projects/Feature/Notification/Sources/Main/Reducer/NotificationFeature.swift +++ b/Projects/Feature/Notification/Sources/Main/Reducer/NotificationFeature.swift @@ -4,6 +4,7 @@ // import Foundation +import PickeCoreLogger import ComposableArchitecture import NotificationDomainInterface @@ -124,7 +125,7 @@ extension NotificationFeature { return .send(.async(.fetch(reset: true))) case .reachedBottom: - guard state.hasNext, state.viewState != .loadingMore, state.viewState != .loading else { return .none } + guard state.hasNext, !state.isLoadingMore, state.viewState != .loading else { return .none } return .send(.async(.fetch(reset: false))) case .readAllTapped: @@ -224,7 +225,7 @@ extension NotificationFeature { state.hasNext = pageData.hasNext if pageData.hasNext { state.page += 1 } case let .failure(error): - Log.error("[NotificationFeature] fetchNotifications failed: \(error.localizedDescription)") + PickeLogger.error("[NotificationFeature] fetchNotifications failed: \(error.localizedDescription)", category: .ui) } return .none } diff --git a/Projects/Feature/Profile/Project.swift b/Projects/Feature/Profile/Project.swift index fae0aa2e..8e9dce07 100644 --- a/Projects/Feature/Profile/Project.swift +++ b/Projects/Feature/Profile/Project.swift @@ -12,6 +12,7 @@ let project = Project.makeModule( product: .staticFramework, settings: .settings(), dependencies: [ + .core(.logger), .ui(.designKit), .ui(.sharedUI), .core(.coreUtility), diff --git a/Projects/Feature/Profile/Sources/BattleProposal/Reducer/BattleProposalFeature.swift b/Projects/Feature/Profile/Sources/BattleProposal/Reducer/BattleProposalFeature.swift index 72b2022e..47a64ff8 100644 --- a/Projects/Feature/Profile/Sources/BattleProposal/Reducer/BattleProposalFeature.swift +++ b/Projects/Feature/Profile/Sources/BattleProposal/Reducer/BattleProposalFeature.swift @@ -4,6 +4,7 @@ // import Foundation +import PickeCoreLogger import ComposableArchitecture import PickeDesignKit @@ -173,7 +174,7 @@ extension BattleProposalFeature { ) return .none case let .failure(error): - Log.error("[BattleProposalFeature] proposeBattle failed: \(error.localizedDescription)") + PickeLogger.error("[BattleProposalFeature] proposeBattle failed: \(error.localizedDescription)", category: .ui) return .none } } diff --git a/Projects/Feature/Profile/Sources/BattleRecord/Reducer/BattleRecordFeature.swift b/Projects/Feature/Profile/Sources/BattleRecord/Reducer/BattleRecordFeature.swift index f73642e0..00469136 100644 --- a/Projects/Feature/Profile/Sources/BattleRecord/Reducer/BattleRecordFeature.swift +++ b/Projects/Feature/Profile/Sources/BattleRecord/Reducer/BattleRecordFeature.swift @@ -4,6 +4,7 @@ // import Foundation +import PickeCoreLogger import ProfileDomainInterface import ComposableArchitecture @@ -104,7 +105,7 @@ extension BattleRecordFeature { return .send(.delegate(.dismiss)) case .reachedBottom: - guard state.hasNext, state.viewState != .loadingMore, state.viewState != .loading else { return .none } + guard state.hasNext, !state.isLoadingMore, state.viewState != .loading else { return .none } return .send(.async(.fetch(reset: false))) case let .recordTapped(record): @@ -153,7 +154,7 @@ extension BattleRecordFeature { state.nextOffset = page.nextOffset state.hasNext = page.hasNext case let .failure(error): - Log.error("[BattleRecordFeature] fetchBattleRecords failed: \(error.localizedDescription)") + PickeLogger.error("[BattleRecordFeature] fetchBattleRecords failed: \(error.localizedDescription)", category: .ui) } return .none } diff --git a/Projects/Feature/Profile/Sources/ContentActivity/Reducer/ContentActivityFeature.swift b/Projects/Feature/Profile/Sources/ContentActivity/Reducer/ContentActivityFeature.swift index 859c5800..45378760 100644 --- a/Projects/Feature/Profile/Sources/ContentActivity/Reducer/ContentActivityFeature.swift +++ b/Projects/Feature/Profile/Sources/ContentActivity/Reducer/ContentActivityFeature.swift @@ -4,6 +4,7 @@ // import Foundation +import PickeCoreLogger import ProfileDomainInterface import ComposableArchitecture @@ -111,7 +112,7 @@ extension ContentActivityFeature { return .send(.async(.fetch(reset: true))) case .reachedBottom: - guard state.hasNext, state.viewState != .loadingMore, state.viewState != .loading else { return .none } + guard state.hasNext, !state.isLoadingMore, state.viewState != .loading else { return .none } return .send(.async(.fetch(reset: false))) } } @@ -162,7 +163,7 @@ extension ContentActivityFeature { state.nextOffset = page.nextOffset state.hasNext = page.hasNext case let .failure(error): - Log.error("[ContentActivityFeature] fetchContentActivities failed: \(error.localizedDescription)") + PickeLogger.error("[ContentActivityFeature] fetchContentActivities failed: \(error.localizedDescription)", category: .ui) } return .none } diff --git a/Projects/Feature/Profile/Sources/Main/Reducer/ProfileFeature.swift b/Projects/Feature/Profile/Sources/Main/Reducer/ProfileFeature.swift index d403a959..b8be8465 100644 --- a/Projects/Feature/Profile/Sources/Main/Reducer/ProfileFeature.swift +++ b/Projects/Feature/Profile/Sources/Main/Reducer/ProfileFeature.swift @@ -4,6 +4,7 @@ // import Foundation +import PickeCoreLogger import ProfileDomainInterface import ComposableArchitecture @@ -283,7 +284,7 @@ extension ProfileFeature { state.philosopherImageURL = myPage.philosopher.imageURL.isEmpty ? nil : myPage.philosopher.imageURL state.profileImageURL = myPage.profile.characterImageURL.isEmpty ? nil : myPage.profile.characterImageURL case let .failure(error): - Log.error("[ProfileFeature] fetchMyPage failed: \(error.localizedDescription)") + PickeLogger.error("[ProfileFeature] fetchMyPage failed: \(error.localizedDescription)", category: .ui) } return .none diff --git a/Projects/Feature/Profile/Sources/Notice/Reducer/NoticeFeature.swift b/Projects/Feature/Profile/Sources/Notice/Reducer/NoticeFeature.swift index b6ec65f7..7756e5fd 100644 --- a/Projects/Feature/Profile/Sources/Notice/Reducer/NoticeFeature.swift +++ b/Projects/Feature/Profile/Sources/Notice/Reducer/NoticeFeature.swift @@ -4,6 +4,7 @@ // import Foundation +import PickeCoreLogger import ComposableArchitecture import NotificationDomainInterface @@ -149,7 +150,7 @@ extension NoticeFeature { let (noticePage, eventPage) = try await (notices, events) await send(.inner(.listsResponse(notices: noticePage.items, events: eventPage.items))) } catch { - Log.error("[NoticeFeature] fetchLists failed: \(error.localizedDescription)") + PickeLogger.error("[NoticeFeature] fetchLists failed: \(error.localizedDescription)", category: .ui) await send(.inner(.listsFailed)) } } diff --git a/Projects/Feature/Profile/Sources/NotificationSetting/Reducer/NotificationSettingFeature.swift b/Projects/Feature/Profile/Sources/NotificationSetting/Reducer/NotificationSettingFeature.swift index d89627a8..787a87ae 100644 --- a/Projects/Feature/Profile/Sources/NotificationSetting/Reducer/NotificationSettingFeature.swift +++ b/Projects/Feature/Profile/Sources/NotificationSetting/Reducer/NotificationSettingFeature.swift @@ -4,6 +4,7 @@ // import Foundation +import PickeCoreLogger import ProfileDomainInterface import ComposableArchitecture @@ -143,7 +144,7 @@ extension NotificationSettingFeature { case let .success(settings): state.settings = settings case let .failure(error): - Log.error("[NotificationSettingFeature] settings request failed: \(error.localizedDescription)") + PickeLogger.error("[NotificationSettingFeature] settings request failed: \(error.localizedDescription)", category: .ui) } return .none } diff --git a/Projects/Feature/Profile/Sources/PointHistory/Reducer/PointHistoryFeature.swift b/Projects/Feature/Profile/Sources/PointHistory/Reducer/PointHistoryFeature.swift index 8d5687bb..8b0eb16d 100644 --- a/Projects/Feature/Profile/Sources/PointHistory/Reducer/PointHistoryFeature.swift +++ b/Projects/Feature/Profile/Sources/PointHistory/Reducer/PointHistoryFeature.swift @@ -4,6 +4,7 @@ // import Foundation +import PickeCoreLogger import ProfileDomainInterface import ComposableArchitecture @@ -119,7 +120,7 @@ extension PointHistoryFeature { return .send(.delegate(.dismiss)) case .reachedBottom: - guard state.hasNext, state.viewState != .loadingMore, state.viewState != .loading else { return .none } + guard state.hasNext, !state.isLoadingMore, state.viewState != .loading else { return .none } return .send(.async(.fetch(reset: false))) case .suggestTopicTapped: @@ -169,7 +170,7 @@ extension PointHistoryFeature { state.nextOffset = page.nextOffset state.hasNext = page.hasNext case let .failure(error): - Log.error("[PointHistoryFeature] fetchCreditHistory failed: \(error.localizedDescription)") + PickeLogger.error("[PointHistoryFeature] fetchCreditHistory failed: \(error.localizedDescription)", category: .ui) } return .none } diff --git a/Projects/Feature/Profile/Sources/Recap/Reducer/RecapFeature.swift b/Projects/Feature/Profile/Sources/Recap/Reducer/RecapFeature.swift index 09543baa..3757c73b 100644 --- a/Projects/Feature/Profile/Sources/Recap/Reducer/RecapFeature.swift +++ b/Projects/Feature/Profile/Sources/Recap/Reducer/RecapFeature.swift @@ -4,6 +4,7 @@ // import Foundation +import PickeCoreLogger import ProfileDomainInterface import UIKit @@ -168,7 +169,7 @@ extension RecapFeature { .reportAction(ReportActionData(actionType: .view, topIndicator: recap.myCard.typeName)) ) case let .failure(error): - Log.error("[RecapFeature] fetchRecap failed: \(error.localizedDescription)") + PickeLogger.error("[RecapFeature] fetchRecap failed: \(error.localizedDescription)", category: .ui) } return .none } diff --git a/Projects/Feature/Profile/Sources/Settings/Reducer/SettingsFeature.swift b/Projects/Feature/Profile/Sources/Settings/Reducer/SettingsFeature.swift index 1d211013..9ffcdd9b 100644 --- a/Projects/Feature/Profile/Sources/Settings/Reducer/SettingsFeature.swift +++ b/Projects/Feature/Profile/Sources/Settings/Reducer/SettingsFeature.swift @@ -4,6 +4,7 @@ // import Foundation +import PickeCoreLogger import AuthDomainInterface import ComposableArchitecture @@ -167,7 +168,7 @@ extension SettingsFeature { do { _ = try await authUseCase.logout() } catch { - Log.error("[SettingsFeature] logout failed: \(error.localizedDescription)") + PickeLogger.error("[SettingsFeature] logout failed: \(error.localizedDescription)", category: .ui) } await send(.inner(.sessionCleared)) } diff --git a/Projects/Feature/Profile/Sources/Withdraw/Reducer/WithdrawReasonFeature.swift b/Projects/Feature/Profile/Sources/Withdraw/Reducer/WithdrawReasonFeature.swift index d4ee1937..7664d8d9 100644 --- a/Projects/Feature/Profile/Sources/Withdraw/Reducer/WithdrawReasonFeature.swift +++ b/Projects/Feature/Profile/Sources/Withdraw/Reducer/WithdrawReasonFeature.swift @@ -4,6 +4,7 @@ // import Foundation +import PickeCoreLogger import AuthDomainInterface import ComposableArchitecture @@ -183,7 +184,7 @@ extension WithdrawReasonFeature { do { _ = try await authUseCase.withDraw(reason: reason) } catch { - Log.error("[WithdrawReasonFeature] withdraw failed: \(error.localizedDescription)") + PickeLogger.error("[WithdrawReasonFeature] withdraw failed: \(error.localizedDescription)", category: .ui) } await send(.inner(.sessionCleared)) } diff --git a/Projects/Service/PickeAuth/Sources/Store/GuardedCredentialStore.swift b/Projects/Service/PickeAuth/Sources/Store/GuardedCredentialStore.swift index 298ef43d..eeacd914 100644 --- a/Projects/Service/PickeAuth/Sources/Store/GuardedCredentialStore.swift +++ b/Projects/Service/PickeAuth/Sources/Store/GuardedCredentialStore.swift @@ -4,6 +4,7 @@ // import Foundation +import PickeCoreLogger import os import PickeNetworkInterface @@ -39,7 +40,7 @@ final class GuardedCredentialStore: CredentialStore { } guard didSave else { - Log.debug("signOut 이후 도착한 credential save 무시") + PickeLogger.debug("signOut 이후 도착한 credential save 무시", category: .auth) return } } From 4ae73c1de37640c7c130aea31c4a258d1d1688d9 Mon Sep 17 00:00:00 2001 From: Roy Date: Tue, 8 Sep 2026 00:02:28 +0900 Subject: [PATCH 71/83] =?UTF-8?q?fix(build):=20=EB=A6=AC=ED=8C=A9=ED=84=B0?= =?UTF-8?q?=EB=A7=81=20=EC=A4=91=20=EC=9C=A0=EC=8B=A4=EB=90=9C=20=EC=9D=98?= =?UTF-8?q?=EC=A1=B4=EC=84=B1=EA=B3=BC=20=ED=83=80=EC=9E=85=EC=9D=84=20?= =?UTF-8?q?=EB=90=98=EC=82=B4=EB=A6=B0=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 매니페스트 인자를 다시 배치하는 스크립트가 주석이 앞에 붙은 인자를 통째로 삼켜 의존성이 조용히 사라졌다. tuist generate 는 문법만 보므로 이걸 잡지 못하고 빌드에서야 드러났다. - PickeAnalytics 의 network·Firebase·Mixpanel·Sentry 일곱, PickeStorage 의 composableArchitecture·sqliteData, PickeNetwork 의 alamofire, AudioPlayerService 의 composableArchitecture 를 되살린다 - APIErrorDTO 를 PickeNetworkInterface 에 둔다. Data 레이어를 걷어낼 때 옮기지 않아 LogOutDTO·WithdrawDTO 가 없는 타입을 참조하고 있었다 - Log 를 옮기며 인자 두 개짜리 호출을 그대로 둬 시그니처가 어긋난 곳 여덟을 문자열 보간으로 합친다 - 그 치환이 개행을 넘어 매치되며 깨뜨린 문자열 리터럴 스물넷(일곱 파일)을 되돌린다 --- .../Interface/Model/APIErrorDTO.swift | 20 +++++++++++++++++++ Projects/Core/PickeNetwork/Project.swift | 1 + Projects/Core/PickeStorage/Project.swift | 4 +++- .../Provider/Google/GoogleOAuthProvider.swift | 2 +- .../Sources/OAuth/UnifiedOAuthUseCase.swift | 6 +++--- .../Google/GoogleOAuthRepositoryImpl.swift | 4 ++-- .../OAuth/Kakao/KakaoOAuthRepository.swift | 4 ++-- .../Service/AudioPlayerService/Project.swift | 2 +- Projects/Service/PickeAnalytics/Project.swift | 9 +++++++++ 9 files changed, 42 insertions(+), 10 deletions(-) create mode 100644 Projects/Core/PickeNetwork/Interface/Model/APIErrorDTO.swift diff --git a/Projects/Core/PickeNetwork/Interface/Model/APIErrorDTO.swift b/Projects/Core/PickeNetwork/Interface/Model/APIErrorDTO.swift new file mode 100644 index 00000000..9ec08742 --- /dev/null +++ b/Projects/Core/PickeNetwork/Interface/Model/APIErrorDTO.swift @@ -0,0 +1,20 @@ +// +// APIErrorDTO.swift +// PickeNetworkInterface +// + +import Foundation + +/// 서버 공통 에러 응답 — `"error": { "code": ..., "message": ... }`. +public struct APIErrorDTO: Decodable, Equatable { + public let code: String + public let message: String + + public init( + code: String, + message: String + ) { + self.code = code + self.message = message + } +} diff --git a/Projects/Core/PickeNetwork/Project.swift b/Projects/Core/PickeNetwork/Project.swift index a87795a9..953668af 100644 --- a/Projects/Core/PickeNetwork/Project.swift +++ b/Projects/Core/PickeNetwork/Project.swift @@ -18,6 +18,7 @@ let project = Project.makeModule( settings: .settings(), dependencies: [ .core(.logger), + .SPM.alamofire, ], hasTests: true, hasInterface: true, diff --git a/Projects/Core/PickeStorage/Project.swift b/Projects/Core/PickeStorage/Project.swift index 93f43322..5374f9a0 100644 --- a/Projects/Core/PickeStorage/Project.swift +++ b/Projects/Core/PickeStorage/Project.swift @@ -12,7 +12,9 @@ let project = Project.makeModule( product: .framework, settings: .settings(), dependencies: [ - + // Sources 가 ComposableArchitecture(DependencyKey)를 직접 import 한다. + .SPM.composableArchitecture, + .SPM.sqliteData, ], hasTests: true, hasInterface: true, diff --git a/Projects/Domain/AuthDomain/Sources/OAuth/Provider/Google/GoogleOAuthProvider.swift b/Projects/Domain/AuthDomain/Sources/OAuth/Provider/Google/GoogleOAuthProvider.swift index e2cc7e7a..d151b190 100644 --- a/Projects/Domain/AuthDomain/Sources/OAuth/Provider/Google/GoogleOAuthProvider.swift +++ b/Projects/Domain/AuthDomain/Sources/OAuth/Provider/Google/GoogleOAuthProvider.swift @@ -20,7 +20,7 @@ public final class GoogleOAuthProvider: GoogleOAuthProviderInterface, @unchecked PickeLogger.info("Starting Google OAuth flow", category: .auth) let payload = try await googleRepository.signIn() $userSession.withLock { $0.accessToken = payload.accessToken ?? "" } - PickeLogger.debug("google authCode", payload.authorizationCode, category: .auth) + PickeLogger.debug("google authCode: \(payload.authorizationCode)", category: .auth) return payload } } diff --git a/Projects/Domain/AuthDomain/Sources/OAuth/UnifiedOAuthUseCase.swift b/Projects/Domain/AuthDomain/Sources/OAuth/UnifiedOAuthUseCase.swift index a04f8a37..96b23844 100644 --- a/Projects/Domain/AuthDomain/Sources/OAuth/UnifiedOAuthUseCase.swift +++ b/Projects/Domain/AuthDomain/Sources/OAuth/UnifiedOAuthUseCase.swift @@ -65,7 +65,7 @@ public extension UnifiedOAuthUseCase { credential: credential, nonce: nonce ) - PickeLogger.debug("apple authcode", payload.authorizationCode, category: .auth) + PickeLogger.debug("apple authcode: \(payload.authorizationCode)", category: .auth) let userName: String = { if let displayName = payload.displayName, !displayName.isEmpty { @@ -102,7 +102,7 @@ public extension UnifiedOAuthUseCase { token: String ) async throws -> LoginEntity { let payload = try await googleProvider.signInWithToken(token: token) - PickeLogger.debug("google authorizationCode", payload.authorizationCode, category: .auth) + PickeLogger.debug("google authorizationCode: \(payload.authorizationCode)", category: .auth) $userSession.withLock { $0.token = payload.authorizationCode ?? "" @@ -125,7 +125,7 @@ public extension UnifiedOAuthUseCase { /// Kakao 로그인 처리 — picke:// 콜백에서 받은 `code` 를 백엔드에 전달. func kakaoLogin(token: String) async throws -> LoginEntity { let payload = try await kakaoProvider.signInWithToken(token: token) - PickeLogger.debug("kakao authorizationCode", payload.authorizationCode, category: .auth) + PickeLogger.debug("kakao authorizationCode: \(payload.authorizationCode)", category: .auth) $userSession.withLock { $0.token = payload.authorizationCode ?? "" diff --git a/Projects/Domain/AuthDomain/Sources/Repository/Google/GoogleOAuthRepositoryImpl.swift b/Projects/Domain/AuthDomain/Sources/Repository/Google/GoogleOAuthRepositoryImpl.swift index 07f196f8..e0a767da 100644 --- a/Projects/Domain/AuthDomain/Sources/Repository/Google/GoogleOAuthRepositoryImpl.swift +++ b/Projects/Domain/AuthDomain/Sources/Repository/Google/GoogleOAuthRepositoryImpl.swift @@ -41,7 +41,7 @@ public final class GoogleOAuthRepositoryImpl: NSObject, GoogleOAuthInterface { } let authorizeURL = try buildAuthorizeURL(clientID: clientID) - PickeLogger.debug("google authorize", authorizeURL.absoluteString, category: .auth) + PickeLogger.debug("google authorize: \(authorizeURL.absoluteString)", category: .auth) let code = try await OAuthWebPresenter.present( authorizeURL: authorizeURL, @@ -49,7 +49,7 @@ public final class GoogleOAuthRepositoryImpl: NSObject, GoogleOAuthInterface { redirectPath: redirectPath, customUserAgent: OAuthWebUserAgent.mobileSafari ) - PickeLogger.debug("google authorizationCode", code, category: .auth) + PickeLogger.debug("google authorizationCode: \(code)", category: .auth) return GoogleOAuthPayload( idToken: "", diff --git a/Projects/Domain/AuthDomain/Sources/Repository/OAuth/Kakao/KakaoOAuthRepository.swift b/Projects/Domain/AuthDomain/Sources/Repository/OAuth/Kakao/KakaoOAuthRepository.swift index 7213513e..58626901 100644 --- a/Projects/Domain/AuthDomain/Sources/Repository/OAuth/Kakao/KakaoOAuthRepository.swift +++ b/Projects/Domain/AuthDomain/Sources/Repository/OAuth/Kakao/KakaoOAuthRepository.swift @@ -39,7 +39,7 @@ public final class KakaoOAuthRepository: NSObject, KakaoOAuthInterface { } let authorizeURL = try buildAuthorizeURL(clientID: clientID) - PickeLogger.debug("kakao authorize", authorizeURL.absoluteString, category: .auth) + PickeLogger.debug("kakao authorize: \(authorizeURL.absoluteString)", category: .auth) let code = try await OAuthWebPresenter.present( authorizeURL: authorizeURL, @@ -47,7 +47,7 @@ public final class KakaoOAuthRepository: NSObject, KakaoOAuthInterface { redirectPath: redirectPath, usesEphemeralSession: true ) - PickeLogger.debug("kakao authorizationCode", code, category: .auth) + PickeLogger.debug("kakao authorizationCode: \(code)", category: .auth) return KakaoOAuthPayload( idToken: "", diff --git a/Projects/Service/AudioPlayerService/Project.swift b/Projects/Service/AudioPlayerService/Project.swift index a1f9775b..f447d898 100644 --- a/Projects/Service/AudioPlayerService/Project.swift +++ b/Projects/Service/AudioPlayerService/Project.swift @@ -12,7 +12,7 @@ let project = Project.makeModule( product: .framework, settings: .settings(), dependencies: [ - + .SPM.composableArchitecture, ], hasTests: true, hasInterface: true, diff --git a/Projects/Service/PickeAnalytics/Project.swift b/Projects/Service/PickeAnalytics/Project.swift index 1ebbc5dd..5c4a75c5 100644 --- a/Projects/Service/PickeAnalytics/Project.swift +++ b/Projects/Service/PickeAnalytics/Project.swift @@ -11,6 +11,15 @@ let project = Project.makeModule( bundleId: .appBundleID(name: ".PickeAnalytics"), product: .framework, settings: .settings(), + dependencies: [ + .core(.network), + .core(.logger), + .SPM.firebaseCrashlytics, + .SPM.mixpanel, + .SPM.mixpanelSessionReplay, + .SPM.sentry, + .SPM.sentrySwiftUI, + ], hasTests: true, hasInterface: true, interfaceDependencies: [ From 99f671fb8e152dcf0f92be634851fda05bd3a1db Mon Sep 17 00:00:00 2001 From: Roy Date: Wed, 9 Sep 2026 23:24:16 +0900 Subject: [PATCH 72/83] =?UTF-8?q?refactor(app):=20App=20=EB=A0=88=EC=9D=B4?= =?UTF-8?q?=EC=96=B4=EB=A5=BC=20=EC=B0=B8=EC=A1=B0=20=ED=94=84=EB=A1=9C?= =?UTF-8?q?=EC=A0=9D=ED=8A=B8=20=EA=B5=AC=EC=A1=B0=EC=97=90=20=EB=A7=9E?= =?UTF-8?q?=EC=B6=98=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit AppReducer - 자식 리듀서를 손으로 reduce 하던 reduceChild 를 ifCaseLet 합성으로 바꾼다. 상태 일치 검사는 handleScopeAction 한 곳으로 모으고 isValidAction 을 없앤다 - 비어 있던 NavigationAction 과 쓰이지 않던 isSplashState 를 지운다 (362→313줄) - LogMacro 를 걷어내며 전이로 받던 Foundation 을 직접 import 한다 기동 설정 - configurePushNotifications 과 requestTrackingAuthorizationWhenActive 를 AppDelegate+Configure 로 모은다. Push 파일에는 델리게이트 콜백만 남고 Tracking 파일은 비어 지운다 - 폰트를 Info.plist 등록이 아니라 PretendardFontFamily.registerFonts() 로 올린다 SplashFeature - run 클로저가 self 를 잡지 않도록 clock·openURL 을 명시적으로 캡처한다 KingfisherConfigurator - try? 가 옵셔널을 평탄화하므로 중복된 조건부 바인딩을 없앤다 --- .../Application/AppDelegate+Configure.swift | 58 +++++++++++++ .../Application/AppDelegate+Push.swift | 18 ---- .../Application/AppDelegate+Tracking.swift | 35 -------- .../Application/KingfisherConfigurator.swift | 2 +- .../Navigation/Splash/SplashFeature.swift | 11 ++- Projects/App/Sources/Reducer/AppReducer.swift | 84 ++++--------------- .../Typography/PretendardFontFamily.swift | 10 +++ 7 files changed, 92 insertions(+), 126 deletions(-) delete mode 100644 Projects/App/Sources/Application/AppDelegate+Tracking.swift diff --git a/Projects/App/Sources/Application/AppDelegate+Configure.swift b/Projects/App/Sources/Application/AppDelegate+Configure.swift index 5f1ac750..1f93d88b 100644 --- a/Projects/App/Sources/Application/AppDelegate+Configure.swift +++ b/Projects/App/Sources/Application/AppDelegate+Configure.swift @@ -3,17 +3,21 @@ // Picke // +import AppTrackingTransparency import GoogleMobileAds import PickeCoreLogger import UIKit +import UserNotifications import DomainAssembly +import PickeDesignKit import ServiceAssembly extension AppDelegate { /// 기동 초기화 진입점. 순서에 의미가 있다. /// 관측 SDK(Sentry·Firebase·Mixpanel) 설정은 PickeAnalytics 가 전담한다. func configure() { + configureFonts() PickeAnalyticsConfiguration.configure() configureAdMob() requestTrackingAuthorizationWhenActive() @@ -21,6 +25,12 @@ extension AppDelegate { configureImageDownloader() } + // MARK: - 폰트 + + func configureFonts() { + PretendardFontFamily.registerFonts() + } + // MARK: - AdMob func configureAdMob() { @@ -55,4 +65,52 @@ extension AppDelegate { storage: AppDependencyFactory.secureStorage ) } + + // MARK: - 푸시 알림 + + func configurePushNotifications() { + let center = UNUserNotificationCenter.current() + center.delegate = self + + center.requestAuthorization(options: [.alert, .badge, .sound]) { granted, error in + if let error { + PickeLogger.error("[Push] 권한 요청 실패: \(error.localizedDescription)", category: .app) + return + } + guard granted else { + PickeLogger.debug("[Push] 알림 권한 거부됨", category: .app) + return + } + Task { @MainActor in + UIApplication.shared.registerForRemoteNotifications() + } + } + } + + // MARK: - 광고 식별자(ATT) + + /// ATT(광고 식별자) 권한 요청. AdFit·AdMob 모두 IDFA 가 있어야 맞춤 광고를 집행한다. + /// + /// didFinishLaunching 시점엔 앱이 아직 active 가 아니라 팝업이 뜨지 않고 `.notDetermined` + /// 로 즉시 반환된다(그러면 다시 물어볼 기회가 사라진다). 그래서 최초 active 알림을 한 번 + /// 받은 뒤 요청한다. + func requestTrackingAuthorizationWhenActive() { + guard ATTrackingManager.trackingAuthorizationStatus == .notDetermined else { return } + + trackingAuthorizationObserver = NotificationCenter.default.addObserver( + forName: UIApplication.didBecomeActiveNotification, + object: nil, + queue: .main + ) { [weak self] _ in + Task { @MainActor in + guard let self else { return } + if let observer = self.trackingAuthorizationObserver { + NotificationCenter.default.removeObserver(observer) + self.trackingAuthorizationObserver = nil + } + let status = await ATTrackingManager.requestTrackingAuthorization() + PickeLogger.debug("[ATT] 추적 권한 상태: \(status.rawValue)", category: .app) + } + } + } } diff --git a/Projects/App/Sources/Application/AppDelegate+Push.swift b/Projects/App/Sources/Application/AppDelegate+Push.swift index a13235a9..e4cbfcdc 100644 --- a/Projects/App/Sources/Application/AppDelegate+Push.swift +++ b/Projects/App/Sources/Application/AppDelegate+Push.swift @@ -11,24 +11,6 @@ import DomainAssembly import PickeStorageInterface extension AppDelegate { - func configurePushNotifications() { - let center = UNUserNotificationCenter.current() - center.delegate = self - - center.requestAuthorization(options: [.alert, .badge, .sound]) { granted, error in - if let error { - PickeLogger.error("[Push] 권한 요청 실패: \(error.localizedDescription)", category: .app) - return - } - guard granted else { - PickeLogger.debug("[Push] 알림 권한 거부됨", category: .app) - return - } - Task { @MainActor in - UIApplication.shared.registerForRemoteNotifications() - } - } - } // APNs 디바이스 토큰 수신 → 저장 후 로그인 상태면 서버 등록. func application( diff --git a/Projects/App/Sources/Application/AppDelegate+Tracking.swift b/Projects/App/Sources/Application/AppDelegate+Tracking.swift deleted file mode 100644 index 5a27adaa..00000000 --- a/Projects/App/Sources/Application/AppDelegate+Tracking.swift +++ /dev/null @@ -1,35 +0,0 @@ -// -// AppDelegate+Tracking.swift -// Picke -// - -import AppTrackingTransparency -import PickeCoreLogger -import UIKit - -extension AppDelegate { - /// ATT(광고 식별자) 권한 요청. AdFit·AdMob 모두 IDFA 가 있어야 맞춤 광고를 집행한다. - /// - /// didFinishLaunching 시점엔 앱이 아직 active 가 아니라 팝업이 뜨지 않고 `.notDetermined` - /// 로 즉시 반환된다(그러면 다시 물어볼 기회가 사라진다). 그래서 최초 active 알림을 한 번 - /// 받은 뒤 요청한다. - func requestTrackingAuthorizationWhenActive() { - guard ATTrackingManager.trackingAuthorizationStatus == .notDetermined else { return } - - trackingAuthorizationObserver = NotificationCenter.default.addObserver( - forName: UIApplication.didBecomeActiveNotification, - object: nil, - queue: .main - ) { [weak self] _ in - Task { @MainActor in - guard let self else { return } - if let observer = self.trackingAuthorizationObserver { - NotificationCenter.default.removeObserver(observer) - self.trackingAuthorizationObserver = nil - } - let status = await ATTrackingManager.requestTrackingAuthorization() - PickeLogger.debug("[ATT] 추적 권한 상태: \(status.rawValue)", category: .app) - } - } - } -} diff --git a/Projects/App/Sources/Application/KingfisherConfigurator.swift b/Projects/App/Sources/Application/KingfisherConfigurator.swift index 2a044307..f9e849e7 100644 --- a/Projects/App/Sources/Application/KingfisherConfigurator.swift +++ b/Projects/App/Sources/Application/KingfisherConfigurator.swift @@ -32,7 +32,7 @@ enum KingfisherConfigurator { let host = url.host?.lowercased(), protectedHostSuffixes.contains(where: { host == $0 || host.hasSuffix(".\($0)") }), url.path.hasPrefix("/api/"), - let token = try? storage.load(.accessToken), let token, !token.isEmpty + let token = try? storage.load(.accessToken), !token.isEmpty else { return req } diff --git a/Projects/App/Sources/Navigation/Splash/SplashFeature.swift b/Projects/App/Sources/Navigation/Splash/SplashFeature.swift index e2e5b9bb..b9c8485f 100644 --- a/Projects/App/Sources/Navigation/Splash/SplashFeature.swift +++ b/Projects/App/Sources/Navigation/Splash/SplashFeature.swift @@ -8,14 +8,13 @@ import Foundation import PickeCoreLogger - +import AppUpdateDomainInterface import ComposableArchitecture import PickeAnalyticsInterface -import AppUpdateDomainInterface import PickeAuthInterface @Reducer -public struct SplashFeature { +public struct SplashFeature: Sendable { public init() {} @ObservableState @@ -116,7 +115,7 @@ extension SplashFeature { case .onAppear: analyticsUseCase.track(.screenView(screen: .splash, referrer: nil)) analyticsUseCase.track(.onboardingStep(step: .splash, provider: nil)) - return .run { send in + return .run { [clock] send in try await clock.sleep(for: .seconds(1.2)) await send(.async(.checkAppUpdate)) } @@ -169,7 +168,7 @@ extension SplashFeature { switch action { case .presented(.updateConfirmed): // 지금 업데이트 → App Store 이동 (앱 이탈). - return .run { [appStoreUrl = state.appStoreUrl] _ in + return .run { [appStoreUrl = state.appStoreUrl, openURL] _ in if let url = URL(string: appStoreUrl) { await openURL(url) } @@ -197,7 +196,7 @@ extension SplashFeature { private func navigateToNextScreen(state _: inout State) -> Effect { let authService = authService return .run { send in - await send(.delegate(await authService.isLoggedIn ? .presentMainTab : .presentAuth)) + await send(.delegate(authService.isLoggedIn ? .presentMainTab : .presentAuth)) } } diff --git a/Projects/App/Sources/Reducer/AppReducer.swift b/Projects/App/Sources/Reducer/AppReducer.swift index 2f12bbef..a4841201 100644 --- a/Projects/App/Sources/Reducer/AppReducer.swift +++ b/Projects/App/Sources/Reducer/AppReducer.swift @@ -5,10 +5,12 @@ // Created by Wonji Suh on 5/6/26. // -import PickeAnalyticsInterface +import Foundation + import ComposableArchitecture import DomainAssembly import FeatureAssembly +import PickeAnalyticsInterface import PickeCoreUtility @Reducer @@ -41,7 +43,6 @@ public struct AppReducer: Sendable { case view(View) case async(AsyncAction) case inner(InnerAction) - case navigation(NavigationAction) case scope(ScopeAction) } @@ -70,10 +71,6 @@ public struct AppReducer: Sendable { case deeplinkReceived(PickeDeeplink) } - // MARK: - 네비게이션 연결 액션 - - public enum NavigationAction: Equatable {} - // MARK: - 스코프 액션 @CasePathable @@ -134,13 +131,21 @@ public struct AppReducer: Sendable { case let .async(asyncAction): return handleAsyncAction(state: &state, action: asyncAction) - case let .navigation(navigationAction): - return handleNavigationAction(state: &state, action: navigationAction) - case let .scope(scopeAction): return handleScopeAction(state: &state, action: scopeAction) } } + // ifCaseLet 은 base 를 감싸는 연산자라 배치 순서와 무관하게 자식이 먼저 실행된다. + // 따라서 handleScopeAction 의 상태 일치 검사는 자식이 이미 처리한 뒤에 돈다. + .ifCaseLet(\.splash, action: \.scope.splash) { + SplashFeature() + } + .ifCaseLet(\.auth, action: \.scope.auth) { + AppAuthCoordinator() + } + .ifCaseLet(\.mainTab, action: \.scope.mainTab) { + AppMainTabCoordinator() + } } private func handleViewAction( @@ -238,62 +243,14 @@ public struct AppReducer: Sendable { } } - private func handleNavigationAction( - state _: inout State, - action _: NavigationAction - ) -> Effect { - return .none - } - - // 🎯 PFW 철학: 단순하고 조합 가능한 상태 검증 - private func isValidAction( - _ action: ScopeAction, - for state: State - ) -> Bool { - switch (action, state) { - case (.auth, .auth), (.splash, .splash), (.mainTab, .mainTab): - return true - default: - return false - } - } - private func handleScopeAction( state: inout State, action: ScopeAction ) -> Effect { - guard isValidAction(action, for: state) else { return .none } - - let childEffect = reduceChild(state: &state, action: action) - let navigationEffect = handleScopeNavigation(action: action) - return .merge(childEffect, navigationEffect) - } - - private func reduceChild( - state: inout State, - action: ScopeAction - ) -> Effect { - switch (state, action) { - case var (.splash(childState), .splash(childAction)): - let effect = SplashFeature() - .reduce(into: &childState, action: childAction) - .map { Action.scope(.splash($0)) } - state = .splash(childState) - return effect - - case var (.auth(childState), .auth(childAction)): - let effect = AppAuthCoordinator() - .reduce(into: &childState, action: childAction) - .map { Action.scope(.auth($0)) } - state = .auth(childState) - return effect - - case var (.mainTab(childState), .mainTab(childAction)): - let effect = AppMainTabCoordinator() - .reduce(into: &childState, action: childAction) - .map { Action.scope(.mainTab($0)) } - state = .mainTab(childState) - return effect + // 현재 화면과 다른 Coordinator 의 액션은 조용히 무시한다. + switch (action, state) { + case (.auth, .auth), (.splash, .splash), (.mainTab, .mainTab): + return handleScopeNavigation(action: action) default: return .none @@ -334,11 +291,6 @@ public struct AppReducer: Sendable { } } - private func isSplashState(_ state: State) -> Bool { - guard case .splash = state else { return false } - return true - } - /// 푸시/인앱 알림 탭으로 브로드캐스트된 딥링크를 수신해 라우팅 액션으로 변환. private func observeDeeplink() -> Effect { .run { send in diff --git a/Projects/UI/PickeDesignKit/Sources/Token/Typography/PretendardFontFamily.swift b/Projects/UI/PickeDesignKit/Sources/Token/Typography/PretendardFontFamily.swift index dfbc7367..86fc0a2d 100644 --- a/Projects/UI/PickeDesignKit/Sources/Token/Typography/PretendardFontFamily.swift +++ b/Projects/UI/PickeDesignKit/Sources/Token/Typography/PretendardFontFamily.swift @@ -17,4 +17,14 @@ public enum PretendardFontFamily { case Regular case SemiBold case Thin + + /// 번들에 든 Pretendard 를 런타임에 등록한다. 같은 파일을 여러 weight 가 공유하므로 경로로 한 번만 거른다. + public static func registerFonts() { + var registeredPaths = Set() + for font in PickeDesignKitFontFamily.allCustomFonts + where registeredPaths.insert(font.path).inserted + { + font.register() + } + } } From 5e5ed556819b36915722a3ead5364feb76f4578b Mon Sep 17 00:00:00 2001 From: Roy Date: Thu, 10 Sep 2026 13:52:14 +0900 Subject: [PATCH 73/83] =?UTF-8?q?refactor(app):=20=ED=91=B8=EC=8B=9C?= =?UTF-8?q?=EC=99=80=20SDK=20=EC=B4=88=EA=B8=B0=ED=99=94=EC=9D=98=20?= =?UTF-8?q?=EC=9D=98=EC=A1=B4=20=EA=B2=BD=EA=B3=84=EB=A5=BC=20=EB=AA=85?= =?UTF-8?q?=ED=99=95=ED=9E=88=20=ED=95=9C=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../TargetDependency+Module/Modules.swift | 1 + Projects/App/Project.swift | 3 + .../Application/AppDelegate+Configure.swift | 6 +- .../Application/AppDelegate+Push.swift | 15 ++- .../Application/AppDependencyFactory.swift | 46 --------- .../App/Sources/Application/PickeApp.swift | 4 +- .../Sources/Application/PushTokenStore.swift | 39 -------- .../AppDeeplinkBridge.swift} | 21 ++--- .../Deeplink/PendingDeeplinkStore.swift | 20 ++++ .../Push/PushRegistrationService.swift | 26 ++++++ Projects/App/Sources/Reducer/AppReducer.swift | 43 +++++++-- .../Sources/AppDeeplinkRoutingTests.swift | 46 +++++++++ .../Sources/PendingDeeplinkStoreTests.swift | 46 +++++++++ .../PushRegistrationServiceTests.swift | 88 ++++++++++++++++++ Projects/App/Tests/Sources/SplashTests.swift | 2 +- .../Sources/Deeplink/PickeDeeplink.swift | 25 ++++- .../Sources/PickeDeeplinkParserTests.swift | 52 +++++++++++ .../Interface/Device/DeviceTokenStorage.swift | 20 ++++ .../Interface/KeyValue/KeyValueStorage.swift | 30 ++++++ .../KeyValue/KeyValueStorageKey.swift | 12 +++ .../Interface/KeyValue/PushStorageKey.swift | 9 ++ .../Shared/DeviceTokenSharedKey.swift | 23 +++++ .../Shared/PendingDeeplinkSharedKey.swift | 23 +++++ Projects/Core/PickeStorage/Project.swift | 1 + .../Sources/DependencyValues+Storage.swift | 6 ++ .../Sources/Factory/StorageFactory.swift | 13 ++- .../Sources/KeyValue/UserDefaultStore.swift | 34 +++++++ .../Tests/Sources/StorageFactoryTests.swift | 38 ++++++++ .../Tests/Sources/UserDefaultStoreTests.swift | 34 +++++++ Projects/Feature/Profile/Project.swift | 3 +- .../Settings/Reducer/SettingsFeature.swift | 1 + .../Reducer/WithdrawReasonFeature.swift | 1 + .../Interface/UseCase/DeviceUseCase.swift | 16 +--- Projects/Service/PickeAnalytics/Project.swift | 3 +- .../PickeAnalyticsConfiguration.swift | 1 - Projects/Service/PickeConfig/Project.swift | 18 ++++ .../Sources}/FirebaseConfiguration.swift | 4 +- .../Service/ServiceAssembly/Project.swift | 1 + .../Exported/ServiceAssemblyExported.swift | 1 + graph.png | Bin 849567 -> 1059185 bytes 40 files changed, 631 insertions(+), 144 deletions(-) delete mode 100644 Projects/App/Sources/Application/AppDependencyFactory.swift delete mode 100644 Projects/App/Sources/Application/PushTokenStore.swift rename Projects/App/Sources/{Application/PushDeeplinkBridge.swift => Deeplink/AppDeeplinkBridge.swift} (60%) create mode 100644 Projects/App/Sources/Deeplink/PendingDeeplinkStore.swift create mode 100644 Projects/App/Sources/Push/PushRegistrationService.swift create mode 100644 Projects/App/Tests/Sources/AppDeeplinkRoutingTests.swift create mode 100644 Projects/App/Tests/Sources/PendingDeeplinkStoreTests.swift create mode 100644 Projects/App/Tests/Sources/PushRegistrationServiceTests.swift create mode 100644 Projects/Core/PickeStorage/Interface/Device/DeviceTokenStorage.swift create mode 100644 Projects/Core/PickeStorage/Interface/KeyValue/KeyValueStorage.swift create mode 100644 Projects/Core/PickeStorage/Interface/KeyValue/KeyValueStorageKey.swift create mode 100644 Projects/Core/PickeStorage/Interface/KeyValue/PushStorageKey.swift create mode 100644 Projects/Core/PickeStorage/Interface/Shared/DeviceTokenSharedKey.swift create mode 100644 Projects/Core/PickeStorage/Interface/Shared/PendingDeeplinkSharedKey.swift create mode 100644 Projects/Core/PickeStorage/Sources/KeyValue/UserDefaultStore.swift create mode 100644 Projects/Core/PickeStorage/Tests/Sources/UserDefaultStoreTests.swift create mode 100644 Projects/Service/PickeConfig/Project.swift rename Projects/Service/{PickeAnalytics/Sources/Configuration => PickeConfig/Sources}/FirebaseConfiguration.swift (76%) diff --git a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Modules.swift b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Modules.swift index ac39078f..2460b94f 100644 --- a/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Modules.swift +++ b/Plugins/DependencyPlugin/ProjectDescriptionHelpers/TargetDependency+Module/Modules.swift @@ -47,6 +47,7 @@ public enum ServiceModule: String, CaseIterable { case api = "API" case apiEndpoint = "APIEndpoint" case analytics = "PickeAnalytics" + case config = "PickeConfig" case audioPlayer = "AudioPlayerService" case device = "DeviceService" case auth = "PickeAuth" diff --git a/Projects/App/Project.swift b/Projects/App/Project.swift index 33e4fbdb..9a0ba5a0 100644 --- a/Projects/App/Project.swift +++ b/Projects/App/Project.swift @@ -16,6 +16,9 @@ let project = Project.makeAppModule( .featureAssembly, .domainAssembly, .serviceAssembly, + .core(.storage, .interface), + // 외부 SDK 부팅은 이 모듈만 안다. + .service(.config), // Splash 가 App 으로 올라오며 애니메이션 에셋을 직접 쓴다. .ui(.animation), .SPM.googleMobileAds, diff --git a/Projects/App/Sources/Application/AppDelegate+Configure.swift b/Projects/App/Sources/Application/AppDelegate+Configure.swift index 1f93d88b..e16e45a2 100644 --- a/Projects/App/Sources/Application/AppDelegate+Configure.swift +++ b/Projects/App/Sources/Application/AppDelegate+Configure.swift @@ -10,14 +10,16 @@ import UIKit import UserNotifications import DomainAssembly +import PickeConfig import PickeDesignKit import ServiceAssembly extension AppDelegate { /// 기동 초기화 진입점. 순서에 의미가 있다. - /// 관측 SDK(Sentry·Firebase·Mixpanel) 설정은 PickeAnalytics 가 전담한다. + /// 외부 SDK 부팅은 Firebase 를 PickeConfig 가, Sentry·Mixpanel 을 PickeAnalytics 가 맡는다. func configure() { configureFonts() + FirebaseConfiguration.configure() PickeAnalyticsConfiguration.configure() configureAdMob() requestTrackingAuthorizationWhenActive() @@ -62,7 +64,7 @@ extension AppDelegate { /// Store 수명 밖에서 도는 인프라라 기동 시 한 번만 설정한다. func configureImageDownloader() { KingfisherConfigurator.configureAuthorizedDownloader( - storage: AppDependencyFactory.secureStorage + storage: StorageAssembly.secureStorage() ) } diff --git a/Projects/App/Sources/Application/AppDelegate+Push.swift b/Projects/App/Sources/Application/AppDelegate+Push.swift index e4cbfcdc..3a7ef9ad 100644 --- a/Projects/App/Sources/Application/AppDelegate+Push.swift +++ b/Projects/App/Sources/Application/AppDelegate+Push.swift @@ -9,6 +9,7 @@ import UserNotifications import DomainAssembly import PickeStorageInterface +import ServiceAssembly extension AppDelegate { @@ -18,12 +19,18 @@ extension AppDelegate { didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data ) { let tokenString = deviceToken.map { String(format: "%02x", $0) }.joined() - PushTokenStore.current = tokenString + PushRegistrationService.current = tokenString PickeLogger.debug("[Push] APNs 토큰 수신: \(tokenString.prefix(12))…", category: .app) Task { - guard await AppDependencyFactory.authService.isLoggedIn else { return } - await PushTokenStore.register() + guard await NetworkContainer.authService.isLoggedIn else { return } + let result = await Result { + try await PushRegistrationService.register() + } + + if case let .failure(error) = result { + PickeLogger.error("[Push] 디바이스 등록 실패: \(error.localizedDescription)", category: .network) + } } } @@ -54,7 +61,7 @@ extension AppDelegate: @preconcurrency UNUserNotificationCenterDelegate { withCompletionHandler completionHandler: @escaping () -> Void ) { let userInfo = response.notification.request.content.userInfo - PushDeeplinkBridge.handlePushPayload(userInfo) + AppDeeplinkBridge.handlePushPayload(userInfo) completionHandler() } } diff --git a/Projects/App/Sources/Application/AppDependencyFactory.swift b/Projects/App/Sources/Application/AppDependencyFactory.swift deleted file mode 100644 index c5d4e796..00000000 --- a/Projects/App/Sources/Application/AppDependencyFactory.swift +++ /dev/null @@ -1,46 +0,0 @@ -import PickeAnalytics -import PickeAnalyticsInterface -import AudioPlayerService -import ComposableArchitecture -import CoreAssembly -import DeviceService -import DeviceServiceInterface -import DomainAssembly -import PickeAuthInterface -import PickeStorageInterface -import ServiceAssembly - -enum AppDependencyFactory { - /// 네트워크·인증·저장소 live 구현은 ServiceAssembly 가 단일 출처로 조립한다. - static var secureStorage: any SecureStorage { StorageAssembly.secureStorage() } - /// 로그인 여부·토큰 판정은 PickeAuth 가 단독으로 책임진다. App 은 저장소를 직접 열지 않는다. - static var authService: any AuthService { NetworkContainer.authService } - - @MainActor - static func configure(_ values: inout DependencyValues) { - ServiceDependencyAssembly.register(into: &values) - ChatFeatureFactory.configure(&values) - ProfileFeatureFactory.configure(&values) - AppServiceFactory.configure(&values) - } - -} - -private enum ChatFeatureFactory { - static func configure(_ values: inout DependencyValues) { - values.audioPlayer = AudioPlayerRepositoryImpl() - } -} - -private enum ProfileFeatureFactory { - static func configure(_ values: inout DependencyValues) { - values.deviceRepository = DeviceRepositoryImpl() - values.deviceUseCase = DeviceUseCaseImpl() - } -} - -private enum AppServiceFactory { - static func configure(_ values: inout DependencyValues) { - values.analyticsUseCase = .liveValue - } -} diff --git a/Projects/App/Sources/Application/PickeApp.swift b/Projects/App/Sources/Application/PickeApp.swift index 4edf6c21..8170f920 100644 --- a/Projects/App/Sources/Application/PickeApp.swift +++ b/Projects/App/Sources/Application/PickeApp.swift @@ -18,8 +18,6 @@ struct PickeApp: App { #else AppReducer() #endif - } withDependencies: { - AppDependencyFactory.configure(&$0) } PickeTracedView("AppRoot") { @@ -27,7 +25,7 @@ struct PickeApp: App { } .onOpenURL { url in // picke://... 커스텀 스킴 / 유니버설 링크 → 딥링크 라우팅. - PushDeeplinkBridge.handleURL(url) + AppDeeplinkBridge.handleURL(url) } } } diff --git a/Projects/App/Sources/Application/PushTokenStore.swift b/Projects/App/Sources/Application/PushTokenStore.swift deleted file mode 100644 index 2d5fda1e..00000000 --- a/Projects/App/Sources/Application/PushTokenStore.swift +++ /dev/null @@ -1,39 +0,0 @@ -// -// PushTokenStore.swift -// Picke -// - -import Foundation - -import DeviceServiceInterface -import PickeCoreLogger -import PickeStorageInterface - -enum PushTokenStore { - static var current: String? { - get { DeviceTokenStorage.token } - set { DeviceTokenStorage.token = newValue } - } - - /// 로그인 직후 / 토큰 갱신 시 디바이스 등록. - static func register() async { - guard let token = current, !token.isEmpty else { return } - do { - try await DeviceUseCaseImpl().registerDevice(fcmToken: token, platform: .ios) - PickeLogger.debug("[Push] 디바이스 등록 완료", category: .network) - } catch { - PickeLogger.error("[Push] 디바이스 등록 실패: \(error.localizedDescription)", category: .network) - } - } - - /// 로그아웃 / 탈퇴 시 디바이스 해제 (Keychain 초기화 전에 호출). - static func unregister() async { - guard let token = current, !token.isEmpty else { return } - do { - try await DeviceUseCaseImpl().unregisterDevice(fcmToken: token) - PickeLogger.debug("[Push] 디바이스 해제 완료", category: .network) - } catch { - PickeLogger.error("[Push] 디바이스 해제 실패: \(error.localizedDescription)", category: .network) - } - } -} diff --git a/Projects/App/Sources/Application/PushDeeplinkBridge.swift b/Projects/App/Sources/Deeplink/AppDeeplinkBridge.swift similarity index 60% rename from Projects/App/Sources/Application/PushDeeplinkBridge.swift rename to Projects/App/Sources/Deeplink/AppDeeplinkBridge.swift index 8b7a18f0..b2369643 100644 --- a/Projects/App/Sources/Application/PushDeeplinkBridge.swift +++ b/Projects/App/Sources/Deeplink/AppDeeplinkBridge.swift @@ -1,18 +1,17 @@ // -// PushDeeplinkBridge.swift +// AppDeeplinkBridge.swift // Picke // import Foundation -import DomainAssembly import PickeCoreLogger import PickeCoreUtility -enum PushDeeplinkBridge { - static let pendingKey = "PickePendingDeeplink" +enum AppDeeplinkBridge { + private static var pendingStore: PendingDeeplinkStore { PendingDeeplinkStore() } - /// 푸시 payload(userInfo) 를 딥링크로 변환 → 대기열 저장 + 브로드캐스트. + /// 푸시 payload(userInfo) 를 딥링크로 변환 → 최신 대기 요청 저장 + 브로드캐스트. static func handlePushPayload(_ userInfo: [AnyHashable: Any]) { guard let deeplink = PickeDeeplinkParser.parse(pushPayload: userInfo) else { PickeLogger.debug("[Deeplink] 처리 가능한 푸시 페이로드 없음", category: .navigation) @@ -30,21 +29,17 @@ enum PushDeeplinkBridge { broadcast(deeplink) } - /// 딥링크를 대기열에 저장하고 즉시 알림. + /// 딥링크를 최신 대기 요청에 저장하고 즉시 알림. static func broadcast(_ deeplink: PickeDeeplink) { - UserDefaults.standard.set(deeplink.encoded, forKey: pendingKey) + pendingStore.save(deeplink) NotificationCenter.default.post( name: .pickeDeeplink, - object: nil, - userInfo: ["deeplink": deeplink.encoded] + object: nil ) PickeLogger.debug("[Deeplink] 브로드캐스트: \(deeplink.encoded)", category: .navigation) } - /// AppReducer 가 라우팅을 끝낸 뒤 대기열 비움. static func consumePending() -> PickeDeeplink? { - guard let encoded = UserDefaults.standard.string(forKey: pendingKey) else { return nil } - UserDefaults.standard.removeObject(forKey: pendingKey) - return PickeDeeplinkParser.parse(urlString: encoded) + return pendingStore.consume() } } diff --git a/Projects/App/Sources/Deeplink/PendingDeeplinkStore.swift b/Projects/App/Sources/Deeplink/PendingDeeplinkStore.swift new file mode 100644 index 00000000..c3a7b775 --- /dev/null +++ b/Projects/App/Sources/Deeplink/PendingDeeplinkStore.swift @@ -0,0 +1,20 @@ +import PickeCoreUtility +import PickeStorageInterface + +import Sharing + +/// 기존 Storage의 영속·테스트 메모리 경계를 사용해 최신 요청 하나만 보관한다. +struct PendingDeeplinkStore: Sendable { + @Shared(.pendingDeeplink) private var encoded: String? + + func save(_ deeplink: PickeDeeplink) { + $encoded.withLock { $0 = deeplink.encoded } + } + + func consume() -> PickeDeeplink? { + $encoded.withLock { value in + defer { value = nil } + return value.flatMap { PickeDeeplinkParser.parse(urlString: $0) } + } + } +} diff --git a/Projects/App/Sources/Push/PushRegistrationService.swift b/Projects/App/Sources/Push/PushRegistrationService.swift new file mode 100644 index 00000000..d0e5285a --- /dev/null +++ b/Projects/App/Sources/Push/PushRegistrationService.swift @@ -0,0 +1,26 @@ +// +// PushRegistrationService.swift +// Picke +// + +import Foundation + +import DeviceServiceInterface +import PickeCoreLogger +import PickeStorageInterface + +enum PushRegistrationService { + static var current: String? { + get { DeviceTokenStorage.token } + set { DeviceTokenStorage.token = newValue } + } + + /// 로그인 직후 / 토큰 갱신 시 디바이스 등록. + @discardableResult + static func register(deviceUseCase: any DeviceInterface = DeviceUseCaseImpl()) async throws -> Bool { + guard let token = current, !token.isEmpty else { return false } + try await deviceUseCase.registerDevice(fcmToken: token, platform: .ios) + PickeLogger.debug("[Push] 디바이스 등록 완료", category: .network) + return true + } +} diff --git a/Projects/App/Sources/Reducer/AppReducer.swift b/Projects/App/Sources/Reducer/AppReducer.swift index a4841201..4c84a299 100644 --- a/Projects/App/Sources/Reducer/AppReducer.swift +++ b/Projects/App/Sources/Reducer/AppReducer.swift @@ -11,6 +11,7 @@ import ComposableArchitecture import DomainAssembly import FeatureAssembly import PickeAnalyticsInterface +import PickeCoreLogger import PickeCoreUtility @Reducer @@ -18,7 +19,7 @@ public struct AppReducer: Sendable { public init() {} @ObservableState - public enum State { + public enum State: Equatable { case splash(SplashFeature.State) case auth(AppAuthCoordinator.State) case mainTab(AppMainTabCoordinator.State) @@ -60,6 +61,7 @@ public struct AppReducer: Sendable { public enum InnerAction: Equatable { case completeAuthTransition case completeMainTabTransition + case pushRegistrationResponse(Result) } // MARK: - 비동기 처리 액션 @@ -69,6 +71,7 @@ public struct AppReducer: Sendable { case refreshTokenExpired case observeDeeplink case deeplinkReceived(PickeDeeplink) + case consumePendingDeeplink } // MARK: - 스코프 액션 @@ -192,8 +195,13 @@ public struct AppReducer: Sendable { case .observeDeeplink: return observeDeeplink() + case .consumePendingDeeplink: + guard case .mainTab = state, + let deeplink = AppDeeplinkBridge.consumePending() else { return .none } + return handleAsyncAction(state: &state, action: .deeplinkReceived(deeplink)) + case let .deeplinkReceived(deeplink): - // 메인 진입 상태에서만 즉시 라우팅. 그 외에는 pending(UserDefaults)으로 보류. + // 인앱 요청은 메인에서만 처리한다. 외부 요청은 consumePendingDeeplink에서 보류한다. guard case .mainTab = state else { return .none } switch deeplink { case let .battle(battleId): @@ -220,6 +228,9 @@ public struct AppReducer: Sendable { .send(.scope(.mainTab(.selectTab(AppMainTabCoordinator.Tab.myPage.rawValue)))), .send(.scope(.mainTab(.myPage(.view(.openTerms))))) ) + case .quickBattle: + // 빠른 배틀은 탭 자체가 목적지라 전환만 한다. + return .send(.scope(.mainTab(.selectTab(AppMainTabCoordinator.Tab.quickBattle.rawValue)))) } } } @@ -229,6 +240,12 @@ public struct AppReducer: Sendable { action: InnerAction ) -> Effect { switch action { + case let .pushRegistrationResponse(result): + if case let .failure(error) = result { + PickeLogger.error("[Push] 디바이스 등록 실패: \(error.localizedDescription)", category: .network) + } + return .none + case .completeAuthTransition: state = .auth(.init()) return .none @@ -236,10 +253,7 @@ public struct AppReducer: Sendable { case .completeMainTabTransition: state = .mainTab(.init()) // 콜드 스타트/로그인 직후 대기 중이던 딥링크 소비. - if let pending = PushDeeplinkBridge.consumePending() { - return .send(.async(.deeplinkReceived(pending))) - } - return .none + return .send(.async(.consumePendingDeeplink)) } } @@ -279,7 +293,13 @@ public struct AppReducer: Sendable { // 로그인 성공 → 메인 진입 + APNs 디바이스 토큰 서버 등록. return .merge( .send(.view(.presentRoot)), - .run { _ in await PushTokenStore.register() } + .run { send in + let result = await Result { + try await PushRegistrationService.register() + } + .mapError(AuthError.from) + await send(.inner(.pushRegistrationResponse(result))) + } ) // 로그아웃/탈퇴 → 로그인 화면으로 복귀 @@ -295,9 +315,12 @@ public struct AppReducer: Sendable { private func observeDeeplink() -> Effect { .run { send in for await notification in NotificationCenter.default.notifications(named: .pickeDeeplink) { - guard let encoded = notification.userInfo?["deeplink"] as? String, - let deeplink = PickeDeeplinkParser.parse(urlString: encoded) else { continue } - await send(.async(.deeplinkReceived(deeplink))) + if notification.userInfo == nil { + await send(.async(.consumePendingDeeplink)) + } else if let encoded = notification.userInfo?["deeplink"] as? String, + let deeplink = PickeDeeplinkParser.parse(urlString: encoded) { + await send(.async(.deeplinkReceived(deeplink))) + } } } .cancellable(id: CancelID.deeplinkListener, cancelInFlight: true) diff --git a/Projects/App/Tests/Sources/AppDeeplinkRoutingTests.swift b/Projects/App/Tests/Sources/AppDeeplinkRoutingTests.swift new file mode 100644 index 00000000..fbd976aa --- /dev/null +++ b/Projects/App/Tests/Sources/AppDeeplinkRoutingTests.swift @@ -0,0 +1,46 @@ +import ComposableArchitecture +import PickeAnalyticsInterface +import PickeCoreUtility +import PickeStorageInterface +import Testing + +@testable import Picke + +@MainActor +struct AppDeeplinkRoutingTests { + @Test + func 로그인_전에는_보류하고_메인_진입시_한번만_소비한다() async { + await withDependencies { + $0.context = .test + $0.defaultInMemoryStorage = InMemoryStorage() + $0.analyticsUseCase = AnalyticsUseCase( + registerBaseProperties: {}, + identify: { _, _ in }, + track: { _ in }, + reset: {} + ) + } operation: { + @Shared(.pendingDeeplink) var pending: String? + $pending.withLock { $0 = PickeDeeplink.quickBattle.encoded } + let store = TestStore(initialState: AppReducer.State()) { + AppReducer() + } + store.exhaustivity = .off + + await store.send(.async(.consumePendingDeeplink)) + #expect(pending == PickeDeeplink.quickBattle.encoded) + + await store.send(.inner(.completeMainTabTransition)) + await store.receive(\.async.consumePendingDeeplink) + await store.receive(\.scope.mainTab.selectTab) + guard case let .mainTab(state) = store.state else { + Issue.record("메인 화면으로 전환되지 않음") + return + } + #expect(state.selectedTab == AppMainTabCoordinator.Tab.quickBattle.rawValue) + #expect(pending == nil) + await store.send(.async(.consumePendingDeeplink)) + await store.finish() + } + } +} diff --git a/Projects/App/Tests/Sources/PendingDeeplinkStoreTests.swift b/Projects/App/Tests/Sources/PendingDeeplinkStoreTests.swift new file mode 100644 index 00000000..d189212f --- /dev/null +++ b/Projects/App/Tests/Sources/PendingDeeplinkStoreTests.swift @@ -0,0 +1,46 @@ +import ComposableArchitecture +import PickeCoreUtility +import PickeStorageInterface +import Testing + +@testable import Picke + +struct PendingDeeplinkStoreTests { + @Test + func 대기_링크는_한번만_소비된다() { + withDependencies { + $0.context = .test + } operation: { + let store = PendingDeeplinkStore() + store.save(.quickBattle) + #expect(store.consume() == .quickBattle) + #expect(store.consume() == nil) + } + } + + @Test + func 저장소_사이에_최신_대기_링크를_공유한다() { + withDependencies { + $0.context = .test + } operation: { + let first = PendingDeeplinkStore() + let second = PendingDeeplinkStore() + first.save(.battle(battleId: 1)) + second.save(.quickBattle) + #expect(first.consume() == .quickBattle) + #expect(second.consume() == nil) + } + } + + @Test + func 잘못된_링크도_소비하면_제거한다() { + withDependencies { + $0.context = .test + } operation: { + @Shared(.pendingDeeplink) var encoded: String? + $encoded.withLock { $0 = "invalid" } + #expect(PendingDeeplinkStore().consume() == nil) + #expect(encoded == nil) + } + } +} diff --git a/Projects/App/Tests/Sources/PushRegistrationServiceTests.swift b/Projects/App/Tests/Sources/PushRegistrationServiceTests.swift new file mode 100644 index 00000000..bdcc2e53 --- /dev/null +++ b/Projects/App/Tests/Sources/PushRegistrationServiceTests.swift @@ -0,0 +1,88 @@ +// +// PushRegistrationServiceTests.swift +// PickeTests +// + +import ComposableArchitecture +import DeviceServiceInterface +import PickeStorageInterface +import Testing + +@testable import Picke + +@Suite("PushRegistrationService", .serialized) +struct PushRegistrationServiceTests { + @Test + func 토큰이_없으면_등록하지_않고_false를_반환한다() async throws { + try await withDependencies { + $0.context = .test + } operation: { + DeviceTokenStorage.token = nil + let useCase = FakeDeviceUseCase() + + let registered = try await PushRegistrationService.register(deviceUseCase: useCase) + + #expect(registered == false) + #expect(await useCase.registeredTokens.isEmpty) + } + } + + @Test + func 토큰이_있으면_ios_플랫폼으로_등록하고_true를_반환한다() async throws { + try await withDependencies { + $0.context = .test + } operation: { + DeviceTokenStorage.token = "apns-token" + defer { DeviceTokenStorage.token = nil } + let useCase = FakeDeviceUseCase() + + let registered = try await PushRegistrationService.register(deviceUseCase: useCase) + + #expect(registered == true) + #expect(await useCase.registeredTokens == ["apns-token"]) + #expect(await useCase.registeredPlatforms == [.ios]) + } + } + + @Test + func 등록_실패는_호출자에게_throw된다() async { + await withDependencies { + $0.context = .test + } operation: { + DeviceTokenStorage.token = "apns-token" + defer { DeviceTokenStorage.token = nil } + let useCase = FakeDeviceUseCase(registerError: RegistrationError.failed) + + await #expect(throws: RegistrationError.failed) { + try await PushRegistrationService.register(deviceUseCase: useCase) + } + } + } +} + +private actor FakeDeviceUseCase: DeviceInterface { + private(set) var registeredTokens: [String] = [] + private(set) var registeredPlatforms: [DevicePlatform] = [] + private let registerError: RegistrationError? + + init(registerError: RegistrationError? = nil) { + self.registerError = registerError + } + + func registerDevice( + fcmToken: String, + platform: DevicePlatform + ) async throws { + if let registerError { + throw registerError + } + registeredTokens.append(fcmToken) + registeredPlatforms.append(platform) + } + + func unregisterDevice(fcmToken _: String) async throws {} +} + +private enum RegistrationError: Error, Equatable { + case failed +} diff --git a/Projects/App/Tests/Sources/SplashTests.swift b/Projects/App/Tests/Sources/SplashTests.swift index ab2c7288..87aa005b 100644 --- a/Projects/App/Tests/Sources/SplashTests.swift +++ b/Projects/App/Tests/Sources/SplashTests.swift @@ -12,7 +12,7 @@ import PickeAnalyticsInterface import AppUpdateDomainInterface import PickeAuthInterface -@testable import Splash +@testable import Picke /// 앱 업데이트 없음(nil)을 반환하는 테스트 스텁. private struct StubAppUpdateUseCase: AppUpdateUseCaseInterface { diff --git a/Projects/Core/PickeCoreUtility/Sources/Deeplink/PickeDeeplink.swift b/Projects/Core/PickeCoreUtility/Sources/Deeplink/PickeDeeplink.swift index 5a63c452..b83fab8d 100644 --- a/Projects/Core/PickeCoreUtility/Sources/Deeplink/PickeDeeplink.swift +++ b/Projects/Core/PickeCoreUtility/Sources/Deeplink/PickeDeeplink.swift @@ -14,6 +14,8 @@ public enum PickeDeeplink: Equatable, Sendable { case point /// POLICY_CHANGE → 서비스 약관 웹뷰. case terms + /// DAILY_MESSAGE → 빠른 배틀 탭. + case quickBattle /// 콜드 스타트 대기 딥링크 저장용 문자열 인코딩 (PickeDeeplinkParser.parse(urlString:) 로 복원). public var encoded: String { @@ -29,13 +31,26 @@ public enum PickeDeeplink: Equatable, Sendable { return "point" case .terms: return "terms" + case .quickBattle: + return "quick-battle" } } } public enum PickeDeeplinkParser { - /// 푸시 payload(userInfo) → 딥링크. iOS 는 notification+data 라 top-level 에 data 키가 존재. + /// 푸시 userInfo의 최상위 data 필드에서 딥링크를 읽는다. public static func parse(pushPayload userInfo: [AnyHashable: Any]) -> PickeDeeplink? { + // 구체적인 알림 코드가 우선이고, 해석할 수 없으면 기존 type / URL로 폴백한다. + if let detailCode = userInfo["detailCode"] as? String, + let deeplink = parse( + detailCode: detailCode, + referenceId: intValue(userInfo["referenceId"]) + ?? intValue(userInfo[detailCode == "NEW_BATTLE" ? "battleId" : "commentId"]), + perspectiveId: intValue(userInfo["perspectiveId"]) + ) + { + return deeplink + } switch userInfo["type"] as? String { case "BATTLE": if let battleId = intValue(userInfo["battleId"]) { @@ -78,6 +93,10 @@ public enum PickeDeeplinkParser { if let first = path.first, ["terms", "policy"].contains(first) { return .terms } + // 빠른 배틀도 단일 경로(picke://quick-battle). + if let first = path.first, ["quick-battle", "quickbattle"].contains(first) { + return .quickBattle + } guard path.count >= 2 else { return nil } switch path[0] { @@ -111,6 +130,8 @@ public enum PickeDeeplinkParser { return .point case "POLICY_CHANGE": return .terms + case "DAILY_MESSAGE": + return .quickBattle default: // PROMOTION 등은 이동 없음(텍스트만). return nil @@ -126,6 +147,6 @@ public enum PickeDeeplinkParser { } public extension Notification.Name { - /// 푸시/인앱 알림 탭으로 발생한 화면 이동 요청. userInfo["deeplink"] = PickeDeeplink.encoded + /// 인앱 알림은 userInfo["deeplink"]를 전달하고, 외부 진입은 저장된 대기 요청을 소비하도록 알린다. static let pickeDeeplink = Notification.Name("PickeDeeplink") } diff --git a/Projects/Core/PickeCoreUtility/Tests/Sources/PickeDeeplinkParserTests.swift b/Projects/Core/PickeCoreUtility/Tests/Sources/PickeDeeplinkParserTests.swift index 19c6bcbf..758827b5 100644 --- a/Projects/Core/PickeCoreUtility/Tests/Sources/PickeDeeplinkParserTests.swift +++ b/Projects/Core/PickeCoreUtility/Tests/Sources/PickeDeeplinkParserTests.swift @@ -44,6 +44,53 @@ struct PickeDeeplinkParserTests { #expect(link == .perspective(perspectiveId: 45, commentId: 678)) } + @Test + func DAILY_MESSAGE_푸시는_빠른_배틀로_이동한다() { + #expect( + PickeDeeplinkParser.parse(pushPayload: ["detailCode": "DAILY_MESSAGE"]) == .quickBattle + ) + #expect( + PickeDeeplinkParser.parse(pushPayload: [ + "detailCode": "DAILY_MESSAGE", + "type": "BATTLE", + "battleId": "7", + "url": "picke://battle/7", + ]) == .quickBattle + ) + } + + @Test + func 푸시와_알림함은_같은_detailCode_매핑을_사용한다() { + for code in ["NEW_BATTLE", "NEW_COMMENT", "COMMENT_LIKE", "CREDIT_EARNED", "POLICY_CHANGE", "DAILY_MESSAGE"] { + #expect( + PickeDeeplinkParser.parse(pushPayload: [ + "detailCode": code, + "referenceId": "9", + "perspectiveId": "4", + ]) == PickeDeeplinkParser.parse( + detailCode: code, + referenceId: 9, + perspectiveId: 4 + ) + ) + } + } + + @Test + func 매핑할_수_없는_detailCode는_type과_URL로_폴백한다() { + #expect(PickeDeeplinkParser.parse(pushPayload: [ + "detailCode": "UNKNOWN", + "type": "BATTLE", + "battleId": "7", + "url": "picke://point", + ]) == .battle(battleId: 7)) + #expect(PickeDeeplinkParser.parse(pushPayload: [ + "detailCode": "NEW_BATTLE", + "url": "picke://point", + ]) == .point) + #expect(PickeDeeplinkParser.parse(pushPayload: ["detailCode": "UNKNOWN"]) == nil) + } + @Test func 푸시_type_이_없으면_url_로_폴백한다() { let link = PickeDeeplinkParser.parse(pushPayload: ["url": "picke://battle/7"]) @@ -61,6 +108,10 @@ struct PickeDeeplinkParserTests { PickeDeeplinkParser.parse(detailCode: "NEW_COMMENT", referenceId: 9, perspectiveId: 4) == .perspective(perspectiveId: 4, commentId: 9) ) + #expect( + PickeDeeplinkParser.parse(detailCode: "DAILY_MESSAGE", referenceId: nil, perspectiveId: nil) + == .quickBattle + ) #expect( PickeDeeplinkParser.parse(detailCode: "PROMOTION", referenceId: 1, perspectiveId: 1) == nil ) @@ -74,6 +125,7 @@ struct PickeDeeplinkParserTests { .perspective(perspectiveId: 45, commentId: nil), .point, .terms, + .quickBattle, ] for link in links { diff --git a/Projects/Core/PickeStorage/Interface/Device/DeviceTokenStorage.swift b/Projects/Core/PickeStorage/Interface/Device/DeviceTokenStorage.swift new file mode 100644 index 00000000..c54f66ad --- /dev/null +++ b/Projects/Core/PickeStorage/Interface/Device/DeviceTokenStorage.swift @@ -0,0 +1,20 @@ +// +// DeviceTokenStorage.swift +// PickeStorageInterface +// + +import Sharing + +/// APNs 디바이스 토큰 보관소. PickeStorage 영속 경계와 테스트 메모리 경계를 함께 사용한다. +public enum DeviceTokenStorage { + public static var token: String? { + get { + @Shared(.deviceToken) var token: String? + return token + } + set { + @Shared(.deviceToken) var token: String? + $token.withLock { $0 = newValue } + } + } +} diff --git a/Projects/Core/PickeStorage/Interface/KeyValue/KeyValueStorage.swift b/Projects/Core/PickeStorage/Interface/KeyValue/KeyValueStorage.swift new file mode 100644 index 00000000..77d4ca72 --- /dev/null +++ b/Projects/Core/PickeStorage/Interface/KeyValue/KeyValueStorage.swift @@ -0,0 +1,30 @@ +// +// KeyValueStorage.swift +// PickeStorageInterface +// + +import Dependencies + +public protocol KeyValueStorage: Sendable { + func load(_ key: KeyValueStorageKey) -> Value? + func save(_ value: Value?, for key: KeyValueStorageKey) +} + +public enum KeyValueStorageDependency: TestDependencyKey { + public static let testValue: any KeyValueStorage = UnimplementedKeyValueStorage() +} + +public extension DependencyValues { + var keyValueStorage: any KeyValueStorage { + get { self[KeyValueStorageDependency.self] } + set { self[KeyValueStorageDependency.self] = newValue } + } +} + +private struct UnimplementedKeyValueStorage: KeyValueStorage { + func load(_: KeyValueStorageKey) -> Value? { + nil + } + + func save(_: Value?, for _: KeyValueStorageKey) {} +} diff --git a/Projects/Core/PickeStorage/Interface/KeyValue/KeyValueStorageKey.swift b/Projects/Core/PickeStorage/Interface/KeyValue/KeyValueStorageKey.swift new file mode 100644 index 00000000..03e93186 --- /dev/null +++ b/Projects/Core/PickeStorage/Interface/KeyValue/KeyValueStorageKey.swift @@ -0,0 +1,12 @@ +// +// KeyValueStorageKey.swift +// PickeStorageInterface +// + +public struct KeyValueStorageKey: Hashable, Sendable { + public let rawValue: String + + public init(_ rawValue: String) { + self.rawValue = rawValue + } +} diff --git a/Projects/Core/PickeStorage/Interface/KeyValue/PushStorageKey.swift b/Projects/Core/PickeStorage/Interface/KeyValue/PushStorageKey.swift new file mode 100644 index 00000000..d7a0eda5 --- /dev/null +++ b/Projects/Core/PickeStorage/Interface/KeyValue/PushStorageKey.swift @@ -0,0 +1,9 @@ +// +// PushStorageKey.swift +// PickeStorageInterface +// + +public enum PushStorageKey { + public static let deviceToken = KeyValueStorageKey("PickeDeviceToken") + public static let pendingDeeplink = KeyValueStorageKey("PickePendingDeeplink") +} diff --git a/Projects/Core/PickeStorage/Interface/Shared/DeviceTokenSharedKey.swift b/Projects/Core/PickeStorage/Interface/Shared/DeviceTokenSharedKey.swift new file mode 100644 index 00000000..91abed64 --- /dev/null +++ b/Projects/Core/PickeStorage/Interface/Shared/DeviceTokenSharedKey.swift @@ -0,0 +1,23 @@ +import Foundation + +import Dependencies +import Sharing + +public extension SharedReaderKey where Self == PersistentSharedKey.Default { + /// APNs 디바이스 토큰. 기존 UserDefaults key 를 첫 조회 때 이관한다. + static var deviceToken: Self { + Self[ + .persistent( + PushStorageKey.deviceToken.rawValue, + encode: { try JSONEncoder().encode($0) }, + decode: { try JSONDecoder().decode(String?.self, from: $0) }, + legacyData: { + @Dependency(\.keyValueStorage) var keyValueStorage + guard let token: String = keyValueStorage.load(PushStorageKey.deviceToken) else { return nil } + return try JSONEncoder().encode(token) + } + ), + default: nil + ] + } +} diff --git a/Projects/Core/PickeStorage/Interface/Shared/PendingDeeplinkSharedKey.swift b/Projects/Core/PickeStorage/Interface/Shared/PendingDeeplinkSharedKey.swift new file mode 100644 index 00000000..83acb6de --- /dev/null +++ b/Projects/Core/PickeStorage/Interface/Shared/PendingDeeplinkSharedKey.swift @@ -0,0 +1,23 @@ +import Foundation + +import Dependencies +import Sharing + +public extension SharedReaderKey where Self == PersistentSharedKey.Default { + /// 메인 화면 진입 전 도착한 최신 딥링크. 소비한 nil도 저장해 이전 값을 다시 읽지 않는다. + static var pendingDeeplink: Self { + @Dependency(\.keyValueStorage) var storage + return Self[ + .persistent( + PushStorageKey.pendingDeeplink.rawValue, + encode: { try JSONEncoder().encode($0) }, + decode: { try JSONDecoder().decode(String?.self, from: $0) }, + legacyData: { + guard let value = storage.load(PushStorageKey.pendingDeeplink) else { return nil } + return try JSONEncoder().encode(value) + } + ), + default: nil + ] + } +} diff --git a/Projects/Core/PickeStorage/Project.swift b/Projects/Core/PickeStorage/Project.swift index 5374f9a0..fef2666d 100644 --- a/Projects/Core/PickeStorage/Project.swift +++ b/Projects/Core/PickeStorage/Project.swift @@ -12,6 +12,7 @@ let project = Project.makeModule( product: .framework, settings: .settings(), dependencies: [ + .core(.logger), // Sources 가 ComposableArchitecture(DependencyKey)를 직접 import 한다. .SPM.composableArchitecture, .SPM.sqliteData, diff --git a/Projects/Core/PickeStorage/Sources/DependencyValues+Storage.swift b/Projects/Core/PickeStorage/Sources/DependencyValues+Storage.swift index fa187a45..3f3ed138 100644 --- a/Projects/Core/PickeStorage/Sources/DependencyValues+Storage.swift +++ b/Projects/Core/PickeStorage/Sources/DependencyValues+Storage.swift @@ -19,3 +19,9 @@ extension SharedValueStorageDependency: DependencyKey { StorageFactory.sharedValueStorage } } + +extension KeyValueStorageDependency: DependencyKey { + public static var liveValue: any KeyValueStorage { + StorageFactory.keyValueStorage + } +} diff --git a/Projects/Core/PickeStorage/Sources/Factory/StorageFactory.swift b/Projects/Core/PickeStorage/Sources/Factory/StorageFactory.swift index 9d13682d..2a59424c 100644 --- a/Projects/Core/PickeStorage/Sources/Factory/StorageFactory.swift +++ b/Projects/Core/PickeStorage/Sources/Factory/StorageFactory.swift @@ -3,7 +3,7 @@ // PickeStorage // -import OSLog +import PickeCoreLogger import PickeStorageInterface @@ -13,8 +13,6 @@ import SQLiteData public enum StorageFactory { private static let database = prepareDatabase() - private static let logger = Logger(subsystem: "io.Picke.co", category: "storage") - static func prepareDatabase( primary: () throws -> any DatabaseWriter = { try SQLiteData.defaultDatabase() }, fallback: () throws -> any DatabaseWriter = { try DatabaseQueue() }, @@ -25,7 +23,7 @@ public enum StorageFactory { try migrate(database) return database } catch { - logger.fault("앱 데이터베이스 준비 실패: \(String(describing: error), privacy: .public)") + PickeLogger.error("앱 데이터베이스 준비 실패: \(String(describing: error))", category: .storage) } do { @@ -33,7 +31,7 @@ public enum StorageFactory { try migrate(database) return database } catch { - logger.fault("메모리 데이터베이스 준비 실패: \(String(describing: error), privacy: .public)") + PickeLogger.error("메모리 데이터베이스 준비 실패: \(String(describing: error))", category: .storage) return nil } } @@ -49,6 +47,10 @@ public enum StorageFactory { return SQLiteSharedValueStorage(database: database) } + public static var keyValueStorage: any KeyValueStorage { + UserDefaultStore() + } + public static var databaseWriter: (any DatabaseWriter)? { database } @@ -59,5 +61,6 @@ public enum StorageFactory { values.appDatabase = database } values.sharedValueStorage = sharedValueStorage + values.keyValueStorage = keyValueStorage } } diff --git a/Projects/Core/PickeStorage/Sources/KeyValue/UserDefaultStore.swift b/Projects/Core/PickeStorage/Sources/KeyValue/UserDefaultStore.swift new file mode 100644 index 00000000..3023d88c --- /dev/null +++ b/Projects/Core/PickeStorage/Sources/KeyValue/UserDefaultStore.swift @@ -0,0 +1,34 @@ +// +// UserDefaultStore.swift +// PickeStorage +// + +import Foundation + +import PickeStorageInterface + +public struct UserDefaultStore: KeyValueStorage { + private let suiteName: String? + + private var userDefaults: UserDefaults? { + guard let suiteName else { return .standard } + return UserDefaults(suiteName: suiteName) + } + + public init(suiteName: String? = nil) { + self.suiteName = suiteName + } + + public func load(_ key: KeyValueStorageKey) -> Value? { + userDefaults?.object(forKey: key.rawValue) as? Value + } + + public func save(_ value: Value?, for key: KeyValueStorageKey) { + guard let userDefaults else { return } + guard let value else { + userDefaults.removeObject(forKey: key.rawValue) + return + } + userDefaults.set(value, forKey: key.rawValue) + } +} diff --git a/Projects/Core/PickeStorage/Tests/Sources/StorageFactoryTests.swift b/Projects/Core/PickeStorage/Tests/Sources/StorageFactoryTests.swift index c4458f10..0234d6df 100644 --- a/Projects/Core/PickeStorage/Tests/Sources/StorageFactoryTests.swift +++ b/Projects/Core/PickeStorage/Tests/Sources/StorageFactoryTests.swift @@ -3,11 +3,13 @@ // PickeStorageTests // +import Foundation import Testing @testable import PickeStorage import PickeStorageInterface +import ComposableArchitecture import SQLiteData @Suite("StorageFactory") @@ -90,3 +92,39 @@ struct SecureStorageKeyTests { #expect(SecureStorageKey.all.count == 2) } } + +@Suite("DeviceTokenStorage", .serialized) +struct DeviceTokenStorageTests { + @Test + func 기존_UserDefaults_키_문자열을_유지하고_PickeStorage로_이관한다() throws { + let userDefaultStore = UserDefaultStore(suiteName: "DeviceTokenStorageTests.\(UUID().uuidString)") + let database = try DatabaseQueue() + try AppDatabaseMigrator.migrate(database) + let sharedValueStorage = SQLiteSharedValueStorage(database: database) + + userDefaultStore.save("legacy-token", for: PushStorageKey.deviceToken) + defer { userDefaultStore.save(nil, for: PushStorageKey.deviceToken) } + + withDependencies { + $0.context = .live + $0.sharedValueStorage = sharedValueStorage + $0.keyValueStorage = userDefaultStore + } operation: { + #expect(DeviceTokenStorage.token == "legacy-token") + #expect((try? sharedValueStorage.load(forKey: PushStorageKey.deviceToken.rawValue)) != nil) + } + } + + @Test + func nil_저장시_토큰을_비운다() { + withDependencies { + $0.context = .test + } operation: { + DeviceTokenStorage.token = "token" + + DeviceTokenStorage.token = nil + + #expect(DeviceTokenStorage.token == nil) + } + } +} diff --git a/Projects/Core/PickeStorage/Tests/Sources/UserDefaultStoreTests.swift b/Projects/Core/PickeStorage/Tests/Sources/UserDefaultStoreTests.swift new file mode 100644 index 00000000..80d35843 --- /dev/null +++ b/Projects/Core/PickeStorage/Tests/Sources/UserDefaultStoreTests.swift @@ -0,0 +1,34 @@ +import Foundation +import PickeStorageInterface +import Testing + +@testable import PickeStorage + +struct UserDefaultStoreTests { + @Test + func 푸시_키는_이전_문자열을_유지한다() { + #expect(PushStorageKey.deviceToken.rawValue == "PickeDeviceToken") + #expect(PushStorageKey.pendingDeeplink.rawValue == "PickePendingDeeplink") + } + + @Test + func 타입_키로_저장하고_nil로_제거한다() { + let store = UserDefaultStore(suiteName: "PickeStorageTests.\(UUID().uuidString)") + defer { store.save(nil, for: PushStorageKey.deviceToken) } + #expect(store.load(PushStorageKey.deviceToken) == nil) + store.save("token", for: PushStorageKey.deviceToken) + #expect(store.load(PushStorageKey.deviceToken) == "token") + store.save(nil, for: PushStorageKey.deviceToken) + #expect(store.load(PushStorageKey.deviceToken) == nil) + } + + @Test + func 서로_다른_suite의_값을_공유하지_않는다() { + let first = UserDefaultStore(suiteName: "PickeStorageTests.\(UUID().uuidString)") + let second = UserDefaultStore(suiteName: "PickeStorageTests.\(UUID().uuidString)") + defer { first.save(nil, for: PushStorageKey.pendingDeeplink) } + first.save("quick-battle", for: PushStorageKey.pendingDeeplink) + #expect(first.load(PushStorageKey.pendingDeeplink) == "quick-battle") + #expect(second.load(PushStorageKey.pendingDeeplink) == nil) + } +} diff --git a/Projects/Feature/Profile/Project.swift b/Projects/Feature/Profile/Project.swift index 8e9dce07..6b181aca 100644 --- a/Projects/Feature/Profile/Project.swift +++ b/Projects/Feature/Profile/Project.swift @@ -13,6 +13,7 @@ let project = Project.makeModule( settings: .settings(), dependencies: [ .core(.logger), + .core(.storage, .interface), .ui(.designKit), .ui(.sharedUI), .core(.coreUtility), @@ -36,4 +37,4 @@ let project = Project.makeModule( .domain(.profile, .interface), ], hasTesting: false -) \ No newline at end of file +) diff --git a/Projects/Feature/Profile/Sources/Settings/Reducer/SettingsFeature.swift b/Projects/Feature/Profile/Sources/Settings/Reducer/SettingsFeature.swift index 9ffcdd9b..36985d0e 100644 --- a/Projects/Feature/Profile/Sources/Settings/Reducer/SettingsFeature.swift +++ b/Projects/Feature/Profile/Sources/Settings/Reducer/SettingsFeature.swift @@ -13,6 +13,7 @@ import PickeSharedUI import PickeAnalyticsInterface import DeviceServiceInterface import PickeAuthInterface +import PickeStorageInterface @Reducer public struct SettingsFeature { diff --git a/Projects/Feature/Profile/Sources/Withdraw/Reducer/WithdrawReasonFeature.swift b/Projects/Feature/Profile/Sources/Withdraw/Reducer/WithdrawReasonFeature.swift index 7664d8d9..785b54a1 100644 --- a/Projects/Feature/Profile/Sources/Withdraw/Reducer/WithdrawReasonFeature.swift +++ b/Projects/Feature/Profile/Sources/Withdraw/Reducer/WithdrawReasonFeature.swift @@ -12,6 +12,7 @@ import PickeDesignKit import PickeSharedUI import DeviceServiceInterface import PickeAuthInterface +import PickeStorageInterface @Reducer public struct WithdrawReasonFeature { diff --git a/Projects/Service/DeviceService/Interface/UseCase/DeviceUseCase.swift b/Projects/Service/DeviceService/Interface/UseCase/DeviceUseCase.swift index 35f16edb..de8ab051 100644 --- a/Projects/Service/DeviceService/Interface/UseCase/DeviceUseCase.swift +++ b/Projects/Service/DeviceService/Interface/UseCase/DeviceUseCase.swift @@ -5,17 +5,7 @@ import Foundation -import ComposableArchitecture - -/// APNs 디바이스 토큰 보관소 (UserDefaults). App(수신)·Presentation(로그아웃 해제) 공용. -public enum DeviceTokenStorage { - private static let key = "PickeDeviceToken" - - public static var token: String? { - get { UserDefaults.standard.string(forKey: key) } - set { UserDefaults.standard.set(newValue, forKey: key) } - } -} +import Dependencies public struct DeviceUseCaseImpl: DeviceInterface { @Dependency(\.deviceRepository) private var deviceRepository @@ -32,8 +22,8 @@ public struct DeviceUseCaseImpl: DeviceInterface { } extension DeviceUseCaseImpl: TestDependencyKey { - public static var testValue = DeviceUseCaseImpl() - public static var previewValue = DeviceUseCaseImpl() + public static let testValue = DeviceUseCaseImpl() + public static let previewValue = DeviceUseCaseImpl() } public extension DependencyValues { diff --git a/Projects/Service/PickeAnalytics/Project.swift b/Projects/Service/PickeAnalytics/Project.swift index 5c4a75c5..8c751dfb 100644 --- a/Projects/Service/PickeAnalytics/Project.swift +++ b/Projects/Service/PickeAnalytics/Project.swift @@ -12,9 +12,8 @@ let project = Project.makeModule( product: .framework, settings: .settings(), dependencies: [ - .core(.network), .core(.logger), - .SPM.firebaseCrashlytics, + .core(.network), .SPM.mixpanel, .SPM.mixpanelSessionReplay, .SPM.sentry, diff --git a/Projects/Service/PickeAnalytics/Sources/Configuration/PickeAnalyticsConfiguration.swift b/Projects/Service/PickeAnalytics/Sources/Configuration/PickeAnalyticsConfiguration.swift index cff1be90..df3854e0 100644 --- a/Projects/Service/PickeAnalytics/Sources/Configuration/PickeAnalyticsConfiguration.swift +++ b/Projects/Service/PickeAnalytics/Sources/Configuration/PickeAnalyticsConfiguration.swift @@ -9,7 +9,6 @@ public enum PickeAnalyticsConfiguration { public static func configure() { SentryConfiguration.configure() - FirebaseConfiguration.configure() MixpanelConfiguration.configure() } } diff --git a/Projects/Service/PickeConfig/Project.swift b/Projects/Service/PickeConfig/Project.swift new file mode 100644 index 00000000..eaa25d71 --- /dev/null +++ b/Projects/Service/PickeConfig/Project.swift @@ -0,0 +1,18 @@ +import Foundation + +import DependencyPackagePlugin +import DependencyPlugin +import ProjectTemplatePlugin + +import ProjectDescription + +let project = Project.makeModule( + name: "PickeConfig", + bundleId: .appBundleID(name: ".PickeConfig"), + product: .framework, + settings: .settings(), + // 외부 SDK 부팅만 안다. 심볼을 재수출하지 않아 의존하지 않은 모듈로 새지 않는다. + dependencies: [ + .SPM.firebaseCrashlytics, + ] +) diff --git a/Projects/Service/PickeAnalytics/Sources/Configuration/FirebaseConfiguration.swift b/Projects/Service/PickeConfig/Sources/FirebaseConfiguration.swift similarity index 76% rename from Projects/Service/PickeAnalytics/Sources/Configuration/FirebaseConfiguration.swift rename to Projects/Service/PickeConfig/Sources/FirebaseConfiguration.swift index 6ec7c1e9..69454dd7 100644 --- a/Projects/Service/PickeAnalytics/Sources/Configuration/FirebaseConfiguration.swift +++ b/Projects/Service/PickeConfig/Sources/FirebaseConfiguration.swift @@ -6,8 +6,8 @@ import Firebase /// Firebase 기동. 앱은 이 타입만 호출하고 Firebase 심볼은 여기 밖으로 새어 나가지 않는다. -enum FirebaseConfiguration { - static func configure() { +public enum FirebaseConfiguration { + public static func configure() { FirebaseApp.configure() } } diff --git a/Projects/Service/ServiceAssembly/Project.swift b/Projects/Service/ServiceAssembly/Project.swift index 3cb6093e..80dcf213 100644 --- a/Projects/Service/ServiceAssembly/Project.swift +++ b/Projects/Service/ServiceAssembly/Project.swift @@ -16,6 +16,7 @@ let project = Project.makeModule( .service(.api), .service(.apiEndpoint), .service(.analytics), + .service(.config), .service(.audioPlayer), .service(.device), .service(.auth), diff --git a/Projects/Service/ServiceAssembly/Sources/Exported/ServiceAssemblyExported.swift b/Projects/Service/ServiceAssembly/Sources/Exported/ServiceAssemblyExported.swift index 9910471b..f35299a6 100644 --- a/Projects/Service/ServiceAssembly/Sources/Exported/ServiceAssemblyExported.swift +++ b/Projects/Service/ServiceAssembly/Sources/Exported/ServiceAssemblyExported.swift @@ -6,6 +6,7 @@ // MARK: - Service 레이어 한번에 노출 @_exported import PickeAnalytics +@_exported import PickeConfig @_exported import API @_exported import AudioPlayerService @_exported import CoreAssembly diff --git a/graph.png b/graph.png index 79e991652a177d005a5076c9b4bdb8bf0c27e3cb..e5c75d34884fbd76a739e03e7f5a7e1fcb940af2 100644 GIT binary patch literal 1059185 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

  • vG&ifJ{A(v4XuDX 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 z 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

    E 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%0AsM@_e0VQEk-+VRZ;~Z#WTuI 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

  • vG&ifJ{A(v4XuDX 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 z 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