import { Types } from "mongoose"; import { CADPersonSchemaType, CallerType, IncidentFilterLabelType, RadioChannelSchemaType, RecordSchemaType, ReportNumberSchemaType, SharedSourceSchemaType, SharedToSchemaType, } from "./common-incident"; import { GeoPoint } from "./geojson"; export interface HistoryItemType extends Record { entity_id: string, entity_type: number, message: string, time: number, user: string, // Checklist-item template uuid, present on entity_type=4 (checklistItem) // history rows so the CAD send_to_cad gate can resolve the template. ref_uuid?: string, } export interface AssignmentItemType { active: boolean, built_in: boolean, description: string, isMandatory: boolean, modified_date: string, modified_unix_date: number, name: string, position: number, uuid: string, } export interface IncidentUnitType extends Record { AlarmAtDispatch: number, Personnel: CADPersonSchemaType[], UnitID: string, active: boolean, air_time: string, api_unit_dispatch_number: string, assignment: AssignmentItemType, checked: boolean, column_position: number, group_position: number, incident_position: number, isSupervisor: boolean, is_part_of_group: boolean, local_id: string, location_on_map: string, modified_date: string, modified_unix_date: number, note: string, parent_uuid: string, personnelOnScene: number, status: string, status_unix_date: number, time: string, uuid: string, warning: number, } export interface IncidentGroupType { location_on_map: string, name: string, note: string, position: number, type: number, type_text: string, units: IncidentUnitType[], uuid: string, incident_id: string, } export interface IncidentHazardType { location_on_scene: string, name: string, radius: number, time: number, uuid: string, active: boolean, incident_id: string, local_id: string, note: string, } export interface IncidentChecklistItemType { active: boolean, checked: boolean, isMandatory: boolean, modified_date: string, name: string, position: number, uuid: string, checklist_uuid: string, description: string, id: string, neris_benchmark: string, send_to_cad: boolean, checked_at: string, } export interface IncidentChecklistType { active: boolean, built_in: boolean, isMandatory: boolean, items: IncidentChecklistItemType[], modified_date: string, name: string, position: number, uuid: string, local_id: string, id: string, } export interface ManagedIncidentType { _id: Types.ObjectId, id?: string, AgencyID: string, AgencyIncidentCallTypeDescription: string, CallerNumber: string, CommandChannel: string, CommandName: string, CommonPlaceName: string, FireMap: string, MapPages: string, ReportNumber: ReportNumberSchemaType[], TacticalAltChannel: string, TacticalChannel: string, active: boolean, address: string, api_incident_number: string, callers: CallerType[], channel: string, channel_owner: string, checklists: IncidentChecklistType[] coordinate?: GeoPoint, // Set only if coordinate is valid, not 0,0 and inside bounds cross_streets: string, departmentId: string, deviceTime: string, end_time: string, end_unix_time: number, extended: boolean, filterLabel: IncidentFilterLabelType, groups: IncidentGroupType[], hazards: IncidentHazardType[], history: HistoryItemType[], isMandatory: boolean, is_closed: boolean, last_view: string, local_id: string, location: string, managed: number, modified: Date, modified_date: string, modified_unix_date: number, name: string, notes: HistoryItemType[], par_unix_time: number, preference_location: string, radioChannels: RadioChannelSchemaType[], record: RecordSchemaType, rts: boolean, serverTime: string, sharedSource: SharedSourceSchemaType, sharedTo: SharedToSchemaType[], simulation: boolean, slave_map_changed: boolean, source: string, start_time: string, start_unix_time: number, units: IncidentUnitType[], userId: string, uuid: string, watch_unix_pause_time: number, watch_unix_start_time: number, }