get_temp_file_upload_token (임시 파일 업로드 토큰)
임시 파일 업로드를 위한 토큰을 발급받습니다.
기본 정보
| 항목 |
값 |
| URL |
https://asia-northeast3-construction24-test.cloudfunctions.net/get_temp_file_upload_token |
| 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 |
- |
| file_name |
string |
O |
파일명 |
- |
| file_size |
number |
O |
파일 크기 (bytes) |
- |
| file_mime |
string |
O |
파일 MIME 타입 |
- |
| group_name |
string |
O |
파일 그룹명 |
- |
| folder_id |
string |
- |
기존 폴더 ID |
없으면 새 폴더 생성 |
요청 예시
새 폴더 생성 (첫 업로드):
{
"company_id": "company123",
"site_id": "site456",
"file_name": "material_photo.jpg",
"file_size": 2048000,
"file_mime": "image/jpeg",
"group_name": "자재사진"
}
기존 폴더에 추가:
{
"company_id": "company123",
"site_id": "site456",
"file_name": "material_photo_2.jpg",
"file_size": 1024000,
"file_mime": "image/jpeg",
"group_name": "자재사진",
"folder_id": "550e8400-e29b-41d4-a716-446655440000"
}
응답
성공 (200)
{
"message": "임시 파일 업로드 토큰 발급 완료",
"token": "업로드 토큰 문자열",
"folder_id": "550e8400-e29b-41d4-a716-446655440000"
}
실패
| 코드 |
message |
원인 |
| 500 |
"존재하지 않는 folder_id입니다." |
전달한 folder_id에 해당하는 파일이 없음 |
| 500 |
"{에러메시지}" |
서버 내부 오류 |
참고
- 파일은
companies/{company_id}/sites/{site_id}/temp_files/ 경로에 저장됩니다.
folder_id를 생략하면 UUID가 자동 생성되어 응답에 포함됩니다. 이후 같은 폴더에 파일을 추가하려면 이 folder_id를 사용하세요.
folder_id를 전달하면 해당 폴더가 존재하는지 검증합니다.
- tags:
{"group": "{group_name}", "folder_id": "{folder_id}"}
- 폴더별 파일 조회: Firestore
files 컬렉션에서 tags.folder_id == folder_id로 쿼리