콘텐츠로 이동

emergency_alert 스키마

현장 긴급공지 문서의 전체 스키마. 각 엔드포인트 문서에서 참조용으로 사용합니다.

저장 위치

companies/{company_id}/sites/{site_id}/emergency_alert/{emergency_alert_id}

특징

  • 상태값이 없는 단방향 공지. 한 번 생성되면 수정 없이 삭제만 가능.
  • 생성 시 현장 체크인 멤버 전체에게 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" (회사 관리자) 전용.

예시 문서

{
  "title": "폭우 대비 고소작업 전면 중단",
  "body": "18:00까지 예정된 모든 고소작업을 중단합니다.",
  "created_at": "2026-04-20T16:30:00Z",
  "created_by": "uid_admin",
  "files": ["file_doc_1"]
}