Skip to content

[Feat] 지원관리 카드 보관함 및 삭제 기능 구현 #304

Description

@shinae1023

어떤 기능인가요?

추가하려는 기능에 대해서 간단하게 설명해주세요.

우선순위: P2
선행 조건: #301
상위 이슈: #300

활성 칸반에서 지원 카드를 보관하고, 보관함에서 조회·복원하거나 명시적으로 영구 삭제할 수 있도록 합니다.

상세 내용

이슈 내용 구현 관련하여 상세 내용을 작성해주세요.

작업 내용

  • 카드 soft archive API 구현
  • 보관 시각 내림차순 페이지 기반 보관함 조회 API 구현
  • 보관 전 단계를 유지하고 해당 단계 마지막 순서로 복원
  • 카드와 카드 소유 하위 데이터 영구삭제 API 구현
  • 출처 JobPosting과 연결된 MockApply에 대한 cascade 삭제 방지
  • 출처 공고·모의지원 삭제 시 nullable FK를 ON DELETE SET NULL로 처리
  • 보관·복원·삭제 소유권 검증 및 감사 로그 추가

완료 조건

  • 보관된 카드는 활성 보드와 일반 검색에서 제외된다.
  • 복원된 카드는 기존 단계 마지막에 위치한다.
  • 카드 영구삭제가 기존 공고, 모의지원, 분석 결과를 삭제하지 않는다.
  • 연결된 외부 데이터가 먼저 삭제돼도 카드 스냅샷은 유지된다.

체크 리스트

  • 보관·복원 도메인 로직 및 API 구현
  • 페이지 기반 보관함 조회 구현
  • 카드 영구삭제 API 구현
  • nullable FK 및 삭제 정책 마이그레이션 검증
  • 소유권 검증·오류 응답·감사 로그 추가
  • 보관·복원·삭제 통합 테스트 추가
  • Swagger API 문서 갱신

로컬 테스트 완료

로컬에서 테스트한 결과가 잘 나오는지 확인해주세요.
테스트 결과를 스크린샷으로 올려주세요.

구현 후 아래 항목을 확인합니다.

  • ./gradlew test 전체 통과
  • 보관 카드의 활성 보드 제외 및 보관함 페이지 조회
  • 원래 단계 마지막 위치 복원
  • 연결된 공고·모의지원·분석 결과 보존

기타

(스크린샷 등) 기타 사항을 작성해주세요.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    ✨ featNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions