hotfix: deploy production admin login only - #309
Merged
Conversation
There was a problem hiding this comment.
Pull request overview
Hotfix-focused rollback intended to prevent an accidental “full develop” deployment by stripping non-login develop features and keeping admin login validation (Google/Kakao) plus Kakao admin audience handling.
Changes:
- Removes large develop-only feature areas (push notifications/workers, character store, usage surveys, related domain events) and associated tests/config.
- Adjusts user/login-related DTOs and token validation paths (admin audience config, Kakao validator behavior).
- Updates CI/CD workflows and trims security/request-matcher configuration.
Reviewed changes
Copilot reviewed 191 out of 192 changed files in this pull request and generated 8 comments.
Show a summary per file
| File | Description |
|---|---|
| src/test/resources/logback-test.xml | Removed (rollback of test-only logging config) |
| src/test/resources/logback-spring.xml | Removed (rollback of test-only logging config) |
| src/test/resources/application-test.yml | Removed (rollback of test profile config) |
| src/test/java/devkor/com/teamcback/global/aop/UpdateScoreLevelTest.java | Removed (rollback tests) |
| src/test/java/devkor/com/teamcback/domain/user/validator/KakaoValidatorTest.java | Removed (rollback tests) |
| src/test/java/devkor/com/teamcback/domain/user/service/UserServiceReleaseLoginTest.java | Removed (rollback tests) |
| src/test/java/devkor/com/teamcback/domain/user/service/UserServiceGetUserInfoTest.java | Removed (rollback tests) |
| src/test/java/devkor/com/teamcback/domain/user/service/UserServiceDeleteUserTest.java | Removed (rollback tests) |
| src/test/java/devkor/com/teamcback/domain/user/service/UserServiceAdminLoginTest.java | Trimmed mocks to match rollback scope |
| src/test/java/devkor/com/teamcback/domain/user/repository/UserRepositoryBackfillTest.java | Removed (rollback tests) |
| src/test/java/devkor/com/teamcback/domain/user/entity/LevelTest.java | Removed (rollback tests) |
| src/test/java/devkor/com/teamcback/domain/report/service/ReportServiceTest.java | Removed (rollback tests) |
| src/test/java/devkor/com/teamcback/domain/notification/validation/PushActionValidatorTest.java | Removed (rollback tests) |
| src/test/java/devkor/com/teamcback/domain/notification/template/DomainPushContentFactoryTest.java | Removed (rollback tests) |
| src/test/java/devkor/com/teamcback/domain/notification/service/PushEventFlagServiceTest.java | Removed (rollback tests) |
| src/test/java/devkor/com/teamcback/domain/notification/scheduler/PushMessageRecoverySchedulerTest.java | Removed (rollback tests) |
| src/test/java/devkor/com/teamcback/domain/notification/resolver/PushTargetResolverTest.java | Removed (rollback tests) |
| src/test/java/devkor/com/teamcback/domain/notification/repository/PushMessageRepositoryQueryTest.java | Removed (rollback tests) |
| src/test/java/devkor/com/teamcback/domain/notification/listener/ReportResolvedPushEventListenerTest.java | Removed (rollback tests) |
| src/test/java/devkor/com/teamcback/domain/notification/listener/DomainPushEventListenerAnnotationTest.java | Removed (rollback tests) |
| src/test/java/devkor/com/teamcback/domain/notification/listener/CharacterUnlockedPushEventListenerTest.java | Removed (rollback tests) |
| src/test/java/devkor/com/teamcback/domain/notification/factory/PushPayloadFactoryTest.java | Removed (rollback tests) |
| src/test/java/devkor/com/teamcback/domain/notification/controller/AdminNotificationControllerTest.java | Removed (rollback tests) |
| src/test/java/devkor/com/teamcback/domain/character/service/CharacterDataSeederTest.java | Removed (rollback tests) |
| src/test/java/devkor/com/teamcback/domain/character/repository/UserCharacterRepositoryTest.java | Removed (rollback tests) |
| src/test/java/devkor/com/teamcback/domain/character/repository/CharacterRepositoryTest.java | Removed (rollback tests) |
| src/test/java/devkor/com/teamcback/domain/ble/service/BLEServiceTest.java | Removed (rollback tests) |
| src/main/resources/application.yml | Adjusts Kakao admin audience and removes rollback-excluded configs |
| src/main/java/devkor/com/teamcback/infra/s3/FilePath.java | Removes character S3 path constant (rollback) |
| src/main/java/devkor/com/teamcback/global/security/SecurityConfig.java | Removes request matchers tied to rolled-back endpoints/features |
| src/main/java/devkor/com/teamcback/global/response/ResultCode.java | Removes result codes tied to rolled-back modules |
| src/main/java/devkor/com/teamcback/global/response/CommonResponse.java | Removes no-arg success() overload (rollback cleanup) |
| src/main/java/devkor/com/teamcback/global/jwt/JwtAuthorizationFilter.java | Adds logging in auth filter (changed behavior) |
| src/main/java/devkor/com/teamcback/global/config/TimeConfig.java | Removed (rollback of shared Clock bean) |
| src/main/java/devkor/com/teamcback/global/aop/UpdateScoreAspect.java | Refactors level calculation and removes point updates (rollback) |
| src/main/java/devkor/com/teamcback/domain/user/validator/KakaoValidator.java | Changes Kakao token email resolution and admin-audience handling |
| src/main/java/devkor/com/teamcback/domain/user/service/UserService.java | Refactors level calculation and changes release login response payload |
| src/main/java/devkor/com/teamcback/domain/user/scheduler/UserLevelBackfillRunner.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/user/repository/UserRepository.java | Removes backfill/deductPoint methods (rollback) |
| src/main/java/devkor/com/teamcback/domain/user/entity/User.java | Removes point/level/character-related fields and helpers (rollback) |
| src/main/java/devkor/com/teamcback/domain/user/entity/Level.java | Changes Level structure, including eager profile image binding |
| src/main/java/devkor/com/teamcback/domain/user/dto/response/LoginUserRes.java | Removes loginKey field (API response shape change) |
| src/main/java/devkor/com/teamcback/domain/user/dto/response/GetUserInfoRes.java | Removes point field (rollback) |
| src/main/java/devkor/com/teamcback/domain/usagesurvey/service/UsageSurveyService.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/usagesurvey/repository/UsageSurveyResponseRepository.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/usagesurvey/repository/UsageSurveyDismissalRepository.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/usagesurvey/entity/UsageSurveyResponse.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/usagesurvey/entity/UsageSurveyQuestion.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/usagesurvey/entity/UsageSurveyDismissReason.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/usagesurvey/entity/UsageSurveyDismissal.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/usagesurvey/dto/response/UsageSurveyStatusRes.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/usagesurvey/dto/response/SubmitUsageSurveyResponseRes.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/usagesurvey/dto/request/SubmitUsageSurveyResponseReq.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/usagesurvey/dto/request/RecordUsageSurveyDismissalReq.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/usagesurvey/controller/UsageSurveyController.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/suggestion/entity/SuggestionType.java | Removes POPUP enum value (rollback) |
| src/main/java/devkor/com/teamcback/domain/review/service/ReviewService.java | Removes character-profile-image enrichment and trims supported place types |
| src/main/java/devkor/com/teamcback/domain/review/dto/response/SearchPlaceReviewRes.java | Removes username/profileImageUrl fields (response shape change) |
| src/main/java/devkor/com/teamcback/domain/report/service/ReportService.java | Removes report-resolved event publishing (rollback) |
| src/main/java/devkor/com/teamcback/domain/report/event/ReportResolvedEvent.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/place/entity/PlaceType.java | Removes PHARMACY enum value (rollback) |
| src/main/java/devkor/com/teamcback/domain/notification/validation/PushActionValidator.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/notification/template/PushContent.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/notification/template/DomainPushContentFactory.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/notification/service/PushReceiptWorker.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/notification/service/PushMessageRecoveryWorker.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/notification/service/PushMessageRecoveryService.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/notification/service/PushMessageDispatchWorker.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/notification/service/PushInstallationService.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/notification/service/PushEventFlagService.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/notification/service/PushDispatchService.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/notification/scheduler/PushReceiptWorkerScheduler.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/notification/scheduler/PushMessageWorkerScheduler.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/notification/scheduler/PushMessageRecoveryScheduler.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/notification/resolver/PushTargetResolver.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/notification/repository/SurveyPushScheduleRepository.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/notification/repository/PushMessageRepository.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/notification/repository/PushInstallationRepository.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/notification/repository/PushDispatchRepository.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/notification/listener/ReportResolvedPushEventListener.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/notification/listener/CrowdVacantPushEventListener.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/notification/listener/CharacterUnlockedPushEventListener.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/notification/factory/PushPayloadFactory.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/notification/entity/type/SurveyReminderSuppressedBy.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/notification/entity/type/SurveyPushScheduleStatus.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/notification/entity/type/SurveyNotificationStage.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/notification/entity/type/PushTargetType.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/notification/entity/type/PushMode.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/notification/entity/type/PushMessageStatus.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/notification/entity/type/PushEventType.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/notification/entity/type/PushDispatchStatus.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/notification/entity/type/PushActionType.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/notification/entity/type/NotificationType.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/notification/entity/type/AppVariant.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/notification/entity/SurveyPushSchedule.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/notification/entity/PushInstallation.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/notification/entity/PushDispatch.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/notification/dto/worker/PushWorkerDispatchResult.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/notification/dto/worker/PushSendItem.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/notification/dto/worker/PushReceiptWorkerResult.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/notification/dto/worker/PushReceiptItem.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/notification/dto/response/SurveyReminderRes.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/notification/dto/response/PushDispatchEnqueueRes.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/notification/dto/response/NotificationTestRes.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/notification/dto/response/AdminSurveyPushScheduleStageRes.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/notification/dto/response/AdminSurveyPushScheduleRes.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/notification/dto/response/AdminPushInstallationRes.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/notification/dto/response/AdminPushEventFlagRes.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/notification/dto/response/AdminPushDispatchSummaryRes.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/notification/dto/response/AdminPushDispatchPreviewRes.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/notification/dto/response/AdminPushDispatchDetailRes.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/notification/dto/request/UpdatePushEventFlagReq.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/notification/dto/request/PushInstallationRegisterReq.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/notification/dto/request/PushDispatchCommand.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/notification/dto/request/NotificationTestReq.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/notification/dto/request/AdminSurveyPushScheduleReq.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/notification/dto/request/AdminPushDispatchReq.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/notification/dto/payload/PushPayload.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/notification/dto/expo/ExpoReceiptResponse.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/notification/dto/expo/ExpoReceiptRequest.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/notification/dto/expo/ExpoPushTicket.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/notification/dto/expo/ExpoPushResponse.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/notification/dto/expo/ExpoPushRequest.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/notification/dto/expo/ExpoPushReceipt.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/notification/dto/expo/ExpoPushErrorDetails.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/notification/controller/SurveyNotificationController.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/notification/controller/PushInstallationController.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/notification/controller/NotificationTestController.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/notification/controller/AdminSurveyPushScheduleController.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/notification/config/PushWorkerProperties.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/notification/config/PushRecoveryWorkerProperties.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/notification/config/PushReceiptWorkerProperties.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/notification/config/ExpoPushPropertiesConfig.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/notification/config/ExpoPushProperties.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/notification/config/ExpoPushFeignConfig.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/notification/client/ExpoPushClientException.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/notification/client/ExpoPushClient.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/notification/client/ExpoPushApi.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/character/repository/UserCharacterRepository.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/character/repository/CharacterRepository.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/character/event/CharacterUnlockedEvent.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/character/entity/UserCharacter.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/character/entity/PurchaseStatus.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/character/entity/KoCharacter.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/character/dto/response/UnequipCharacterRes.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/character/dto/response/PurchaseCharacterRes.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/character/dto/response/ModifyCharacterRes.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/character/dto/response/GrantCharacterRes.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/character/dto/response/GetStoreRes.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/character/dto/response/GetStoreCharacterRes.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/character/dto/response/GetMyCharacterRes.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/character/dto/response/GetMyCharacterListRes.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/character/dto/response/GetAdminCharacterRes.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/character/dto/response/GetAdminCharacterListRes.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/character/dto/response/EquipCharacterRes.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/character/dto/response/DeleteCharacterRes.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/character/dto/response/CreateCharacterRes.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/character/dto/request/ModifyCharacterReq.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/character/dto/request/CreateCharacterReq.java | Removed (rollback) |
| src/main/java/devkor/com/teamcback/domain/bookmark/repository/CategoryRepository.java | Removes query used by rolled-back push notifications |
| src/main/java/devkor/com/teamcback/domain/ble/service/BLEService.java | Removes vacancy event publishing and related checks (rollback) |
| src/main/java/devkor/com/teamcback/domain/ble/repository/BLEDataRepository.java | Removes method used by rolled-back push logic |
| src/main/java/devkor/com/teamcback/domain/ble/event/PlaceBecameVacantEvent.java | Removed (rollback) |
| .gitignore | Removes ignore rules for local configs (rollback side-effect) |
| .github/workflows/cd.yml | Adds public IP step before deploy |
| .github/workflows/cd-dev.yml | Removes manual trigger and adds public IP step before deploy |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
8
to
12
| public class LoginUserRes { | ||
| String accessToken; | ||
| String refreshToken; | ||
| String code; | ||
| String loginKey; | ||
| } |
Comment on lines
48
to
50
| BLEDevice bleDevice = bledeviceRepository.findByDeviceName(updateBLEReq.getDeviceName()); | ||
| if (bleDevice == null) { | ||
| throw new GlobalException(ResultCode.NOT_FOUND_DEVICE_NAME); | ||
| } | ||
| BLEData previousData = bleDataRepository.findTopByDeviceOrderByLastTimeDescIdDesc(bleDevice) | ||
| .orElse(null); | ||
| int capacity = bleDevice.getCapacity(); | ||
| int people = getBlEPeople(updateBLEReq.getLastCount(), bleDevice); |
| @AllArgsConstructor | ||
| public enum Level { | ||
| LEVEL1(0, 1) { // 0~4점 | ||
| LEVEL1(0, 1, ProfileImage.getUrlByLevel(1)) { // 0~4점 |
Comment on lines
57
to
60
| OIDCDecodePayload payload = oidcUtil.getOIDCTokenBody(token, oidcPublicKeyDto.getN(), oidcPublicKeyDto.getE()); | ||
|
|
||
| return resolveEmail(payload); | ||
| return payload.getEmail(); | ||
| } catch(GlobalException e) { |
Comment on lines
55
to
57
| String accessToken = jwtUtil.getAccessTokenFromHeader(request); | ||
| log.info("Access Token: {}", accessToken); | ||
|
|
| iss: ${KAKAO_ISS} | ||
| aud: ${KAKAO_AUD} | ||
| admin-aud: ${KAKAO_ADMIN_AUD:} | ||
| admin-aud: ${KAKAO_ADMIN_AUD:1a14d374f8b973d583be9e48d98b0954} |
Comment on lines
+59
to
+62
| - name: Get Github action IP | ||
| id: ip | ||
| uses: haythem/public-ip@v1.2 | ||
|
|
Comment on lines
+56
to
+59
| - name: Get Github action IP | ||
| id: ip | ||
| uses: haythem/public-ip@v1.2 | ||
|
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Scope
Explicitly excluded
Verification