site_registration (현장 등록)
새로운 현장(사이트)을 회사에 등록합니다.
기본 정보
| 항목 |
값 |
| URL |
https://asia-northeast3-construction24-test.cloudfunctions.net/site_registration |
| Method |
POST |
| 인증 |
Firebase ID Token 필요 |
| 권한 |
회사 멤버여야 함 |
요청
| 헤더 |
값 |
필수 |
설명 |
| Authorization |
Bearer |
O |
Firebase ID Token |
| Content-Type |
application/json |
O |
- |
Body
| 필드 |
타입 |
필수 |
설명 |
검증 |
| name |
string |
O |
현장명 |
- |
| location |
string |
O |
현장 위치 |
- |
| company_id |
string |
O |
회사 ID |
- |
| supervisor_UID |
string |
O |
현장 관리자 UID |
- |
| tags |
array |
O |
현장 태그 목록 |
- |
| scale |
string |
O |
현장 규모 |
- |
| start_date |
string |
O |
공사 시작일 |
REGEX: YYYY-MM-DD |
| end_date |
string |
O |
공사 종료일 |
REGEX: YYYY-MM-DD |
요청 예시
{
"name": "강남 아파트 신축 현장",
"location": "서울특별시 강남구 역삼동 123-45",
"company_id": "company123",
"supervisor_UID": "user456",
"tags": ["아파트", "신축"],
"scale": "대형",
"start_date": "2025-01-01",
"end_date": "2026-12-31"
}
응답
성공 (200)
{
"message": "사이트 등록 완료",
"site_id": "생성된 현장 ID"
}
실패
| 코드 |
message |
원인 |
| 400 |
"이미 등록된 사이트입니다." |
동일한 이름의 현장이 이미 존재 |
| 403 |
"요청자가 회사에 속하지 않았습니다." |
요청자가 해당 회사의 멤버가 아님 |
| 403 |
"관리자가 회사에 속하지 않았습니다." |
supervisor_UID가 회사 멤버가 아님 |
| 403 |
"소유자가 회사에 속하지 않았습니다." |
회사에 owner 역할의 멤버가 없음 |
| 500 |
"오류 발생: {에러메시지}" |
서버 내부 오류 |
참고
- 현장 등록 시 요청자, 관리자, 회사 소유자에게 자동으로 현장 접근 권한이 부여됩니다.
- 생성된 현장의 초기 상태는 preparation입니다.
- 관련 API: change_site_state