company_admin_check_out (관리자 강제 퇴근 처리)
관리자가 출근 중인 멤버를 강제로 퇴근 처리합니다.
기본 정보
| 항목 |
값 |
| URL |
https://asia-northeast3-construction24-test.cloudfunctions.net/company_admin_check_out |
| Method |
POST |
| 인증 |
Firebase ID Token 필요 |
| 권한 |
admin, manager, owner 역할 필요 |
요청
Body
| 필드 |
타입 |
필수 |
설명 |
검증 |
| token |
string |
O |
Firebase ID Token |
- |
| company_id |
string |
O |
회사 ID |
- |
| log_id |
string |
O |
출근 로그 ID (attendance_logs 문서 ID) |
- |
| check_out_at |
string |
O |
퇴근 시간 (ISO 8601 형식) |
출근 시간보다 이후여야 함 |
요청 예시
{
"token": "eyJhbGci...",
"company_id": "company123",
"log_id": "log456",
"check_out_at": "2025-07-21T18:00:00.000Z"
}
응답
성공 (200)
{
"message": "퇴근 처리가 완료되었습니다."
}
실패
| 코드 |
error |
원인 |
| 500 |
"요청자가 해당 회사의 멤버가 아닙니다." |
회사 멤버 아님 |
| 500 |
"관리자 권한이 없습니다." |
역할이 admin/manager/owner가 아님 |
| 500 |
"존재하지 않는 출근 로그입니다." |
잘못된 log_id |
| 500 |
"이미 퇴근 처리된 출근 로그입니다." |
link=true인 로그 |
| 500 |
"퇴근 요청이 대기 중입니다. 먼저 퇴근 요청을 처리해주세요." |
pending 퇴근 요청 존재 |
| 500 |
"출근 시간이 없습니다." |
출근 로그에 check_in_at 없음 |
| 500 |
"퇴근 시간은 출근 시간보다 이전일 수 없습니다." |
시간 검증 실패 |
| 500 |
"{에러 내용}" |
서버 오류 |
참고
- 관련 API: [[company_check_out_request]], [[company_check_out_request_approval]], [[add_company_attendance_log]]
- 사용 사례: 퇴근 요청 없이 퇴근하지 않은 멤버를 관리자가 직접 퇴근 처리
- 업데이트되는 필드:
- check_out_at: 지정한 퇴근 시간
- link: true
- check_out_approval_UID, check_out_approval_at
- 퇴근 요청이 대기 중인 경우 먼저 해당 요청을 처리해야 함