Skip to content

Optional initial education record on rider create form #152

Description

@tkdgusqkr

Scope

라이더 등록 폼에 "초기 교육 이력 (선택)" 입력 섹션을 추가해 운영자가 한 화면에서 라이더 등록과 첫 교육 이력까지 함께 입력 가능하게 한다. 입력하지 않으면 기존처럼 라이더만 생성.

Included:

  • RiderForm 에 "초기 교육 이력 (선택)" 섹션 추가 — 교육 종류 / 과정명 / 완료일 / 만료일 / 수료증 번호 / 발급 기관.
  • createRiderAction 이 라이더 생성 후 입력된 교육 정보가 충분하면 추가로 `createRiderEducationRecord` 호출.
  • 교육 record 생성 실패는 라이더 생성을 되돌리지 않고 status flash 로 안내 (라이더는 이미 만들어진 상태이므로 운영자가 별도로 다시 시도 가능).
  • 등록 후 redirect query param 으로 "라이더 + 교육 등록 완료" / "라이더만 등록 완료" / "교육 부분 실패" 구분 표시.

Excluded:

  • 라이더 수정 폼에 교육 입력 통합 (이미 라이더 상세에서 등록/수정/삭제 가능).
  • 다중 교육 record 동시 등록.
  • 라이더 등록 시 보험 입력 통합 (별도 슬라이스).

Acceptance criteria

  • 폼이 교육 입력 섹션을 노출하되 모든 교육 필드는 비어있어도 제출 가능.
  • 교육 종류 + 완료일 둘 다 입력된 경우만 백엔드 호출.
  • 라이더만 등록 시 기존 status=created 동작.
  • 라이더 + 교육 등록 시 status=created-with-education.
  • 라이더 등록 성공 + 교육 등록 실패 시 status=created-education-failed 와 함께 라이더 상세로 이동.
  • `npm run lint` / `npx tsc --noEmit` / `npm run test:service-ops` / `npm run build` 통과.

Trace

Concurrent work gate

Decision: allowed-with-non-overlap
Evidence:

  • Open target issues: none.
  • Open target PRs: none.
  • Active branches: dev, main.
    Reason: front-admin-web 만 변경.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions