Skip to content

fix: Member, Track, Tech API 삭제#2186

Draft
Soundbar91 wants to merge 3 commits intodevelopfrom
fix/delete-member-api
Draft

fix: Member, Track, Tech API 삭제#2186
Soundbar91 wants to merge 3 commits intodevelopfrom
fix/delete-member-api

Conversation

@Soundbar91
Copy link
Collaborator

@Soundbar91 Soundbar91 commented Mar 18, 2026

🔍 개요


🚀 주요 변경 내용


💬 참고 사항


✅ Checklist (완료 조건)

  • 코드 스타일 가이드 준수
  • 테스트 코드 포함됨
  • Reviewers / Assignees / Labels 지정 완료
  • 보안 및 민감 정보 검증 (API 키, 환경 변수, 개인정보 등)

Summary by CodeRabbit

  • Chores
    • Removed admin member management functionality including endpoints for member creation, retrieval, updates, and deletion.
    • Removed admin track management endpoints for tracks and tech stacks operations.
    • Removed public member and track API endpoints.
    • Removed corresponding services, repositories, data transfer objects, and acceptance test suites.

@Soundbar91 Soundbar91 self-assigned this Mar 18, 2026
@github-actions github-actions bot added the 버그 정상적으로 동작하지 않는 문제상황입니다. label Mar 18, 2026
@coderabbitai
Copy link

coderabbitai bot commented Mar 18, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: ce7a4a1e-2c1d-4f5e-a8cc-9bf2523ef5a2

📥 Commits

Reviewing files that changed from the base of the PR and between e41a0cf and af88f4f.

📒 Files selected for processing (44)
  • src/main/java/in/koreatech/koin/admin/member/controller/AdminMemberApi.java
  • src/main/java/in/koreatech/koin/admin/member/controller/AdminMemberController.java
  • src/main/java/in/koreatech/koin/admin/member/controller/AdminTrackApi.java
  • src/main/java/in/koreatech/koin/admin/member/controller/AdminTrackController.java
  • src/main/java/in/koreatech/koin/admin/member/dto/AdminMemberRequest.java
  • src/main/java/in/koreatech/koin/admin/member/dto/AdminMemberResponse.java
  • src/main/java/in/koreatech/koin/admin/member/dto/AdminMembersResponse.java
  • src/main/java/in/koreatech/koin/admin/member/dto/AdminTechStackRequest.java
  • src/main/java/in/koreatech/koin/admin/member/dto/AdminTechStackResponse.java
  • src/main/java/in/koreatech/koin/admin/member/dto/AdminTrackRequest.java
  • src/main/java/in/koreatech/koin/admin/member/dto/AdminTrackResponse.java
  • src/main/java/in/koreatech/koin/admin/member/dto/AdminTrackSingleResponse.java
  • src/main/java/in/koreatech/koin/admin/member/enums/TrackTag.java
  • src/main/java/in/koreatech/koin/admin/member/exception/TechStackNotFoundException.java
  • src/main/java/in/koreatech/koin/admin/member/exception/TrackNameDuplicationException.java
  • src/main/java/in/koreatech/koin/admin/member/repository/AdminMemberRepository.java
  • src/main/java/in/koreatech/koin/admin/member/repository/AdminTechStackRepository.java
  • src/main/java/in/koreatech/koin/admin/member/repository/AdminTrackRepository.java
  • src/main/java/in/koreatech/koin/admin/member/service/AdminMemberService.java
  • src/main/java/in/koreatech/koin/admin/member/service/AdminTrackService.java
  • src/main/java/in/koreatech/koin/domain/member/controller/MemberApi.java
  • src/main/java/in/koreatech/koin/domain/member/controller/MemberController.java
  • src/main/java/in/koreatech/koin/domain/member/controller/TrackApi.java
  • src/main/java/in/koreatech/koin/domain/member/controller/TrackController.java
  • src/main/java/in/koreatech/koin/domain/member/dto/MemberResponse.java
  • src/main/java/in/koreatech/koin/domain/member/dto/TrackResponse.java
  • src/main/java/in/koreatech/koin/domain/member/dto/TrackSingleResponse.java
  • src/main/java/in/koreatech/koin/domain/member/exception/MemberNotFoundException.java
  • src/main/java/in/koreatech/koin/domain/member/exception/TrackNotFoundException.java
  • src/main/java/in/koreatech/koin/domain/member/model/Member.java
  • src/main/java/in/koreatech/koin/domain/member/model/TechStack.java
  • src/main/java/in/koreatech/koin/domain/member/model/Track.java
  • src/main/java/in/koreatech/koin/domain/member/repository/MemberRepository.java
  • src/main/java/in/koreatech/koin/domain/member/repository/TechStackRepository.java
  • src/main/java/in/koreatech/koin/domain/member/repository/TrackRepository.java
  • src/main/java/in/koreatech/koin/domain/member/service/MemberService.java
  • src/main/java/in/koreatech/koin/domain/member/service/TrackService.java
  • src/test/java/in/koreatech/koin/acceptance/admin/AdminMemberApiTest.java
  • src/test/java/in/koreatech/koin/acceptance/admin/AdminTrackApiTest.java
  • src/test/java/in/koreatech/koin/acceptance/domain/MemberApiTest.java
  • src/test/java/in/koreatech/koin/acceptance/domain/TrackApiTest.java
  • src/test/java/in/koreatech/koin/acceptance/fixture/MemberAcceptanceFixture.java
  • src/test/java/in/koreatech/koin/acceptance/fixture/TechStackAcceptanceFixture.java
  • src/test/java/in/koreatech/koin/acceptance/fixture/TrackAcceptanceFixture.java
💤 Files with no reviewable changes (44)
  • src/test/java/in/koreatech/koin/acceptance/admin/AdminTrackApiTest.java
  • src/test/java/in/koreatech/koin/acceptance/fixture/MemberAcceptanceFixture.java
  • src/main/java/in/koreatech/koin/domain/member/exception/MemberNotFoundException.java
  • src/main/java/in/koreatech/koin/domain/member/repository/TechStackRepository.java
  • src/main/java/in/koreatech/koin/domain/member/repository/TrackRepository.java
  • src/main/java/in/koreatech/koin/admin/member/dto/AdminTrackResponse.java
  • src/main/java/in/koreatech/koin/admin/member/dto/AdminMemberResponse.java
  • src/main/java/in/koreatech/koin/admin/member/controller/AdminTrackApi.java
  • src/main/java/in/koreatech/koin/domain/member/model/TechStack.java
  • src/main/java/in/koreatech/koin/domain/member/model/Track.java
  • src/main/java/in/koreatech/koin/domain/member/controller/MemberApi.java
  • src/main/java/in/koreatech/koin/domain/member/service/TrackService.java
  • src/main/java/in/koreatech/koin/domain/member/service/MemberService.java
  • src/main/java/in/koreatech/koin/admin/member/repository/AdminTechStackRepository.java
  • src/main/java/in/koreatech/koin/domain/member/dto/TrackSingleResponse.java
  • src/main/java/in/koreatech/koin/admin/member/dto/AdminTechStackRequest.java
  • src/main/java/in/koreatech/koin/domain/member/exception/TrackNotFoundException.java
  • src/test/java/in/koreatech/koin/acceptance/domain/TrackApiTest.java
  • src/test/java/in/koreatech/koin/acceptance/domain/MemberApiTest.java
  • src/main/java/in/koreatech/koin/admin/member/exception/TechStackNotFoundException.java
  • src/main/java/in/koreatech/koin/admin/member/dto/AdminTrackRequest.java
  • src/main/java/in/koreatech/koin/admin/member/repository/AdminTrackRepository.java
  • src/main/java/in/koreatech/koin/admin/member/service/AdminTrackService.java
  • src/main/java/in/koreatech/koin/admin/member/controller/AdminMemberApi.java
  • src/main/java/in/koreatech/koin/domain/member/controller/MemberController.java
  • src/main/java/in/koreatech/koin/admin/member/dto/AdminMemberRequest.java
  • src/main/java/in/koreatech/koin/domain/member/model/Member.java
  • src/test/java/in/koreatech/koin/acceptance/fixture/TrackAcceptanceFixture.java
  • src/main/java/in/koreatech/koin/domain/member/controller/TrackController.java
  • src/main/java/in/koreatech/koin/admin/member/controller/AdminMemberController.java
  • src/main/java/in/koreatech/koin/admin/member/dto/AdminTechStackResponse.java
  • src/main/java/in/koreatech/koin/admin/member/exception/TrackNameDuplicationException.java
  • src/main/java/in/koreatech/koin/domain/member/dto/MemberResponse.java
  • src/main/java/in/koreatech/koin/domain/member/controller/TrackApi.java
  • src/main/java/in/koreatech/koin/admin/member/repository/AdminMemberRepository.java
  • src/test/java/in/koreatech/koin/acceptance/admin/AdminMemberApiTest.java
  • src/main/java/in/koreatech/koin/domain/member/dto/TrackResponse.java
  • src/main/java/in/koreatech/koin/admin/member/dto/AdminMembersResponse.java
  • src/main/java/in/koreatech/koin/admin/member/controller/AdminTrackController.java
  • src/test/java/in/koreatech/koin/acceptance/fixture/TechStackAcceptanceFixture.java
  • src/main/java/in/koreatech/koin/domain/member/repository/MemberRepository.java
  • src/main/java/in/koreatech/koin/admin/member/dto/AdminTrackSingleResponse.java
  • src/main/java/in/koreatech/koin/admin/member/enums/TrackTag.java
  • src/main/java/in/koreatech/koin/admin/member/service/AdminMemberService.java

📝 Walkthrough

Walkthrough

This PR removes the entire member and track management subsystem, including admin and public-facing controllers, services, repositories, domain models, DTOs, exceptions, and acceptance tests. Approximately 40 files are deleted with no replacements introduced.

Changes

Cohort / File(s) Summary
Admin Member API Layer
src/main/java/in/koreatech/koin/admin/member/controller/AdminMemberApi, AdminMemberController
Removed public interface and controller implementing member CRUD endpoints (GET, POST, PUT, DELETE /admin/members) with pagination, filtering, authorization, and activity logging.
Admin Member DTOs
src/main/java/in/koreatech/koin/admin/member/dto/AdminMember{Request,Response,MembersResponse}
Deleted request/response transfer objects for admin member operations, including pagination wrapper and member-to-DTO mappers.
Admin Track API Layer
src/main/java/in/koreatech/koin/admin/member/controller/AdminTrackApi, AdminTrackController
Removed public interface and controller implementing track and tech-stack CRUD endpoints (GET, POST, PUT, DELETE /admin/tracks, /admin/techStacks) with authorization and activity logging.
Admin Track DTOs
src/main/java/in/koreatech/koin/admin/member/dto/AdminTrack{Request,Response,SingleResponse}, AdminTechStack{Request,Response}
Deleted request/response DTOs for track and tech-stack operations, including nested response structures and factory methods.
Admin Exceptions & Enums
src/main/java/in/koreatech/koin/admin/member/exception/{TrackNameDuplicationException,TechStackNotFoundException}, enums/TrackTag
Removed domain-specific exceptions for admin operations and track enumeration.
Admin Services
src/main/java/in/koreatech/koin/admin/member/service/AdminMember{Service,TrackService}
Deleted business logic layer handling member/track CRUD, filtering, duplication checks, and undelete operations.
Admin Repositories
src/main/java/in/koreatech/koin/admin/member/repository/AdminMember{Repository,TrackRepository,TechStackRepository}
Removed data-access interfaces with custom queries for member tracking, tech-stack management, and exception-throwing convenience methods.
Domain Member API Layer
src/main/java/in/koreatech/koin/domain/member/controller/MemberApi, MemberController
Removed public interface and controller exposing public member listing and retrieval endpoints (GET /members, GET /members/{id}).
Domain Track API Layer
src/main/java/in/koreatech/koin/domain/member/controller/TrackApi, TrackController
Removed public interface and controller exposing public track listing and single-track retrieval with nested member/tech-stack data (GET /tracks, GET /tracks/{id}).
Domain Member DTOs
src/main/java/in/koreatech/koin/domain/member/dto/{MemberResponse,TrackResponse,TrackSingleResponse}
Deleted response DTOs for public member/track endpoints, including nested inner-response types and mapping factories.
Domain Exceptions
src/main/java/in/koreatech/koin/domain/member/exception/{MemberNotFoundException,TrackNotFoundException}
Removed public-facing exception types for member and track not-found scenarios.
Domain Services
src/main/java/in/koreatech/koin/domain/member/service/{MemberService,TrackService}
Deleted business logic layer handling member/track retrieval and response composition.
Domain Repositories
src/main/java/in/koreatech/koin/domain/member/repository/{MemberRepository,TrackRepository,TechStackRepository}
Removed data-access interfaces with standard CRUD and convenience retrieval methods.
Domain Models
src/main/java/in/koreatech/koin/domain/member/model/{Member,Track,TechStack}
Deleted JPA entity classes representing core domain models with builder constructors, soft-delete methods, and field mutators.
Acceptance Tests
src/test/java/in/koreatech/koin/acceptance/admin/AdminMemberApiTest, AdminTrackApiTest
Removed comprehensive acceptance test suites covering admin member and track API operations with authorization, CRUD validation, and repository assertions.
Domain Acceptance Tests
src/test/java/in/koreatech/koin/acceptance/domain/{MemberApiTest,TrackApiTest}
Removed acceptance tests for public member and track endpoints, including fixture setup and JSON payload validation.
Test Fixtures
src/test/java/in/koreatech/koin/acceptance/fixture/{MemberAcceptanceFixture,TrackAcceptanceFixture,TechStackAcceptanceFixture}
Deleted Spring component fixtures providing factory methods for seeding test data with predefined Member, Track, and TechStack entities.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

Poem

🐰 A warren of members and tracks once stood tall,
Controllers and services answering each call,
But now they've all vanished without a trace,
Forty files deleted—an empty embrace.
The domain has shifted, the models are gone,
A fresh architectural dawn has begun! 🌅

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The PR title accurately summarizes the main change: deletion of Member, Track, and Tech APIs from the codebase. It is concise, specific, and clearly reflects the primary scope of the changeset.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/delete-member-api
📝 Coding Plan
  • Generate coding plan for human review comments

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions
Copy link

Unit Test Results

666 tests   - 24   663 ✔️  - 24   1m 21s ⏱️ -4s
165 suites  -   4       3 💤 ±  0 
165 files    -   4       0 ±  0 

Results for commit af88f4f. ± Comparison against base commit e41a0cf.

@Soundbar91 Soundbar91 marked this pull request as draft March 18, 2026 04:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

버그 정상적으로 동작하지 않는 문제상황입니다.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant