-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
Description
개요
출석 기록을 조회하고 관리할 수 있는 REST API 엔드포인트를 구현합니다.
선행 작업
- 프로젝트 디렉토리 구조 생성 #1 SQLite 데이터베이스 설정 및 출석 모델 구현
요구사항
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 등)
Reactions are currently unavailable