change_site_state (현장 상태 변경)
현장의 상태를 변경합니다 (활성화/비활성화/완료).
기본 정보
| 항목 |
값 |
| URL |
https://asia-northeast3-construction24-test.cloudfunctions.net/change_site_state |
| Method |
POST |
| 인증 |
Firebase ID Token 필요 |
| 권한 |
회사 멤버여야 함 |
요청
| 헤더 |
값 |
필수 |
설명 |
| Authorization |
Bearer |
O |
Firebase ID Token |
| Content-Type |
application/json |
O |
- |
Body
| 필드 |
타입 |
필수 |
설명 |
검증 |
| company_id |
string |
O |
회사 ID |
- |
| site_id |
string |
O |
현장 ID |
- |
| state |
string |
O |
변경할 상태 |
activate, deactivate, complete 중 하나 |
요청 예시
{
"company_id": "company123",
"site_id": "site456",
"state": "activate"
}
응답
성공 (200)
{
"message": "현장 상태가 변경되었습니다."
}
실패
| 코드 |
message |
원인 |
| 400 |
"존재하지 않는 현장입니다." |
site_id에 해당하는 현장이 없음 |
| 400 |
"권한이 없습니다." |
요청자가 회사 멤버가 아님 |
| 400 |
"올바르지 않은 상태입니다." |
state 값이 유효하지 않음 |
| 500 |
"{에러메시지}" |
서버 내부 오류 |
상태별 동작
| 상태 |
동작 |
| activate |
현장을 활성화 상태로 변경 |
| deactivate |
현장을 비활성화하고 모든 pending 요청을 거절 처리 |
| complete |
현장 완료 처리: pending 요청 거절, 미완료 출근 로그 삭제, 모든 멤버 퇴사 처리 |
참고
- complete 상태로 변경 시 되돌릴 수 없으므로 주의가 필요합니다.
- 관련 API: site_registration, set_site_tags