import { Types } from "mongoose"; import { IncidentEventType } from "./incident-events"; import { CADPersonSchemaType, CallerType, IncidentFilterLabelType, RadioChannelSchemaType, RecordSchemaType, ReportNumberSchemaType, SharedSourceSchemaType, SharedToSchemaType, } from "./common-incident"; import { GeoPoint } from "./geojson"; export interface CADCommentOptsTypes { type: string, item: string, } export interface CADCommentType extends Record { Comment: string, CommentSource: string, CommentDateTime: string, CommentConfidential: boolean, CommentOpts: CADCommentOptsTypes } export interface CADUnitType extends Record { UnitID: string, UnitDispatchNumber: string, AlarmAtDispatch: string, TimeDispatched: string, TimeEnroute: string, TimeArrived: string, TimeStaged: string, TimeCleared: string, TimeAtHospital: string, TimePatient: string, TimeTransport: string, TimeTransporting: string, PersonnelCount: number, Personnel: CADPersonSchemaType[], uuid: string, } export interface APNNotificationTypeType { name: string, value: string, } export interface CADPriorIncidentType { Address: string, Comment: CADCommentType[], IncidentDateTime: string, IncidentNumber: string, Jurisdiction: string, Problem: string, Suite: string, } export interface CADIncidentSchemaType { _id: Types.ObjectId, id?: string, AgencyID: string, AgencyIncidentCallSubType: string, AgencyIncidentCallSubTypeDescription: string, AgencyIncidentCallType: string, AgencyIncidentCallTypeDescription: string, AgencyIncidentPriorityDescription: string, AlarmLevel: string, Building: string, CallReceivedDateTime: string, CallerNumber: string, City: string, CityOrLocality: string, ClosedDateTime: string, closeIn: number, CommandChannel: string, CommandName: string, Comment: CADCommentType[] CommonPlaceName: string, CommonPlaceNameCopy: string, // Keep a copy of unaltered CommonPlaceName County: string, CrossStreet1: string, CrossStreet2: string, CrossStreetName: string, DispatchDateTime: string, EnrouteDateTime: string, EntryDateTime: string, FireMap: string, Floor: string, IncidentLastUpdate: string, IncidentNumber: string, Latitude: number, LocationComment: string, Longitude: number, MapPages: string, OnSceneDateTime: string, PostalCode: string, Postdirectional: string, Predirectional: string, PriorIncident: CADPriorIncidentType[], PriorIncidentChanged: boolean, PulsePointDeterminantCode: string, PulsePointIncidentCallType: string, ReportNumber: ReportNumberSchemaType[] StateOfProvince: string, StateOrProvince: string, StreetName: string, StreetNumber: string, StreetSuffix: string, Suite: string, TBMap: string, TacticalAltChannel: string, TacticalChannel: string, TransactionID?: string, address: string, callers: CallerType[], closed_unix_date: number, coordinate: GeoPoint, cross_streets: string, departmentId: string, events: IncidentEventType[], expiration_date: Date, full_address: string, filterLabel: IncidentFilterLabelType, ignored: boolean, blocked: boolean, is_closed: boolean, modified_date: string, modified_unix_date: number modified: Date, notificationType: APNNotificationTypeType[], notify: boolean, preference_location: string, queued_at: number, radioChannels: RadioChannelSchemaType[], record: RecordSchemaType, rts: boolean, scheduled_at: number, sharedSource: SharedSourceSchemaType, sharedTo: SharedToSchemaType[], simulation: boolean, simulationId: string, simulationSequences: number[], start_unix_date: number, units: CADUnitType[] uuid: string, skipCommentProcessing: boolean, }