emergency_alert 스키마
현장 긴급공지 문서의 전체 스키마. 각 엔드포인트 문서에서 참조용으로 사용합니다.
저장 위치
특징
- 상태값이 없는 단방향 공지. 한 번 생성되면 수정 없이 삭제만 가능.
- 생성 시 현장 체크인 멤버 전체에게 FCM 푸시가 발송됩니다.
category="warning",notification_type="emergency_alert".
문서 필드
| 필드 | 타입 | 설명 |
|---|---|---|
title |
string | 공지 제목 |
body |
string | 공지 본문 |
created_at |
timestamp | 생성 시각 |
created_by |
string | 작성자 UID |
files |
string[]? | 첨부 파일 doc_id 배열 (존재 시에만) |
현재
create_by_name/ 승인 메타 필드는 사용하지 않습니다. 작성자 이름이 필요한 경우users/{uid}또는 멤버 컬렉션에서 별도 조회.
첨부파일 (files) 연결
업로드 토큰 발급 시 prefix = companies/{cid}/sites/{sid}/emergency_alert/{emergency_alert_id} 로 지정되고, files 컬렉션의 메타 레코드는 related_doc_id == emergency_alert_id, doc_type="safe", doc_page="realtime-communication" 로 태깅됩니다.
삭제 (_delete_emergency_alert) 시에는:
1. 문서 내 files 배열의 각 file_id를 휴지통으로 이동 (_move_to_trash_functions)
2. 본 공지 문서 삭제
참고: 삭제 로직은 문서 내부의
files배열을 기준으로 동작합니다. 업로드 시 이 배열을 업데이트하는 후처리가 Cloudflare Worker / 트리거 쪽에 있는지 확인 필요.
권한
- 생성/업로드 토큰/삭제 모두
user_type == "company"(회사 관리자) 전용.