Skip to content

출석 기록 API 엔드포인트 구현 #16

@quirinal36

Description

@quirinal36

개요

출석 기록을 조회하고 관리할 수 있는 REST API 엔드포인트를 구현합니다.

선행 작업

요구사항

API 엔드포인트

Method Path 설명
GET /api/attendance/today 오늘 출석 현황 조회
GET /api/attendance/date/{date} 특정 날짜 출석 조회
GET /api/attendance/range 기간별 출석 조회 (query: start_date, end_date)
GET /api/attendance/person/{name} 특정 인물 출석 이력 조회
GET /api/attendance/stats 출석 통계 (query: start_date, end_date)
DELETE /api/attendance/{id} 출석 기록 삭제 (관리용)

응답 모델 (Pydantic)

class AttendanceRecord(BaseModel):
    id: int
    face_id: str
    name: str
    date: str          # YYYY-MM-DD
    time: str          # HH:MM:SS
    confidence: float
    created_at: str

class TodayAttendanceResponse(BaseModel):
    date: str
    total: int
    records: List[AttendanceRecord]

class AttendanceStatsResponse(BaseModel):
    start_date: str
    end_date: str
    total_days: int
    total_records: int
    by_person: List[dict]  # [{name, count, dates}]

구현 항목

  • backend/api/routes.py에 출석 관련 엔드포인트 추가
  • Pydantic 응답 모델 정의
  • 날짜 유효성 검증
  • Swagger 문서 자동 생성 확인

완료 기준

  • 모든 엔드포인트가 정상 동작
  • Swagger UI에서 API 테스트 가능
  • 적절한 에러 응답 (404, 400 등)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions