Skip to content

hotfix: deploy production admin login only - #309

Merged
818jsy merged 4 commits into
mainfrom
codex/prod-admin-login-only
Aug 7, 2026
Merged

hotfix: deploy production admin login only#309
818jsy merged 4 commits into
mainfrom
codex/prod-admin-login-only

Conversation

@818jsy

@818jsy 818jsy commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Scope

  • revert the accidental full develop release before it reaches production
  • keep only POST /api/users/login/admin
  • keep Google/Kakao ADMIN account validation
  • keep Kakao web-admin audience support

Explicitly excluded

  • push admin APIs
  • push workers and domain events
  • store, survey, BLE, and all other develop changes

Verification

  • full Gradle test suite passes
  • net change from the previous production main is 7 login-related files
  • the cancelled full-release workflow stopped before Docker image build/push

Copilot AI lite review requested due to automatic review settings August 7, 2026 03:48
@818jsy
818jsy merged commit 8a7fd40 into main Aug 7, 2026
1 check passed
@818jsy
818jsy deleted the codex/prod-admin-login-only branch August 7, 2026 03:48

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 thread .github/workflows/cd.yml
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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants