콘텐츠로 이동

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
  • 퇴근 요청이 대기 중인 경우 먼저 해당 요청을 처리해야 함