company_check_out_request_approval (회사 퇴근 요청 승인/거절)
관리자가 퇴근 체크 요청을 일괄 승인하거나 거절합니다.
기본 정보
| 항목 |
값 |
| URL |
https://asia-northeast3-construction24-test.cloudfunctions.net/company_check_out_request_approval |
| Method |
POST |
| 인증 |
Firebase ID Token 필요 |
| 권한 |
admin, manager, owner 역할 필요 |
요청
Body
| 필드 |
타입 |
필수 |
설명 |
검증 |
| token |
string |
O |
Firebase ID Token |
- |
| company_id |
string |
O |
회사 ID |
- |
| request_ids |
string[] |
O |
처리할 요청 ID 목록 |
- |
| request_state |
string |
O |
처리 상태 |
"approved" 또는 "rejected" |
요청 예시
{
"token": "eyJhbGci...",
"company_id": "company123",
"request_ids": ["request001", "request002"],
"request_state": "approved"
}
응답
성공 (200)
{
"message": "퇴근 체크 요청 처리 완료",
"fail_list": []
}
실패
| 코드 |
error |
원인 |
| 400 |
"올바르지 않은 상태입니다." |
request_state가 approved/rejected가 아님 |
| 500 |
"요청자가 해당 회사의 멤버가 아닙니다." |
회사 멤버 아님 |
| 500 |
"관리자 권한이 없습니다." |
역할이 admin/manager/owner가 아님 |
| 500 |
"{에러 내용}" |
서버 오류 |
fail_list 항목별 에러
| error |
원인 |
| "존재하지 않는 요청입니다." |
잘못된 request_id |
| "퇴근 체크 요청이 아닙니다." |
type이 check_out이 아님 |
| "이미 처리된 요청입니다." |
status가 pending이 아님 |
| "출근 체크가 되어있지 않습니다." |
출근 로그 없음 |
| "출석 DB 오류." |
출근 로그가 여러 개 존재 |
참고
- 관련 API: [[company_check_out_request]], [[company_check_in_request_approval]], [[company_attendance_request_cancel]]
- 승인 시 업데이트되는 데이터:
attendance_logs 문서:
- check_out_at: 퇴근 시간
- link: true (출퇴근 완료)
- check_out_approval_UID, check_out_approval_at
- 일괄 처리로 여러 요청을 한 번에 승인/거절 가능