import { FireMapperLayerType } from "./types/department"; export enum LocationSource { ADSB = "ADSB", CAD = "CAD", DroneSense = "DroneSense", FleetComplete = "FleetComplete", Geotab = "Geotab", GST = "GST", MotorolaConverged = "MotorolaConverged", OneStep = "OneStep", Samsara = "Samsara", Skydio = "Skydio", Skymira = "Skymira", SKYTRAC = "SKYTRAC", Somewear = "Somewear", TCAndroid = "TC-Android", TCIOS = "TC-iOS", TCMobileAndroid = "TCMobile-Android", TCMobileIOS = "TCMobile-iOS", TracPlus = "TracPlus", TXRX = "TXRX", USFT = "USFT", VehicleModem = "VehicleModem" } export enum DroneProvider { Skydio = "skydio", DroneSense = "dronesense", BRINC = "brinc", Flock = "flock" } export enum LocationKindType { FixedWing = "fixed-wing", Helicopter = "helicopter", Marine = "marine", Person = "person", UAV = "uav", Vehicle = "vehicle" } export enum UserStealthStatus { Prohibited = "prohibited", // User cannot go stealth Visible = "visible", // User can go stealth, visible Hidden = "hidden" // User can go stealth, hidden } export enum DepartmentReportOdometer { Disabled = "disabled", // Not recording, not sending Status = "status", // Recording, send with status Comment = "comment", // Recording, send as comment StatusComment = "status-comment", // Recording, send with status and as comment } // Combination of .active, .sendToCAD, and .shared flags export enum LocationVisibility { Hidden = "hidden", // .active = false, .sendToCAD = false, .shared = false Visible = "visible", // .active = true, .sendToCAD = ?, .shared = false CAD = "cad", // .active = ?, .sendToCAD = true, .shared = ? Shared = "shared", // .active = true, .sendToCAD = ?, .shared = true, } // valid combinations for the following endpoints: admin-location / status / sync // .None - not visible to anyone // .Hidden - visible only to admins (on portal), the old admin=false / this is used for stealth mode and hide from map functionality // .Visible - when user/device has location on (iPad, truck, CAD, etc) // - visible on sync/admin-location, for the users of the the same account // .CAD - location would be sent to CAD (GET status-location) // - most of the records would also have .visible, // - unless user is stealth, then would be the only item // .Shared - together with .Visible, determines which items are visible outside the current account, // - if .visible is not present, item won't be visible to anyone. can be removed independently // - [] or [.Shared] - missing .visible or .hidden, not visible to anyone - stealth // - [.Hidden] => user visible to admin only // - [.Hidden, .Shared] => missing .visible, visible only to account admins // - [(.Hidden), .CAD] => user is stealth, but location is sent to CAD via GET status-location // - [.Hidden, .Visible] => visible to local admins only, remove .visible // - [.Visible] => user visible to local accounts // - [.Visible, .CAD] => user visible to local accounts, also sent to CAD when locationToCAD is on // - [.Visible, .Shared] => user visible to local accounts, also shared to other accounts // - [.Visible, .CAD, .Shared] => user visible to local accounts, sent to CAD when locationToCAD is on, shared to other accounts // Sending data out: // If .visible => active = true, // otherwise,.Hidden => active = .false, include in sync/web // if both are missing, but .CAD, active = true, for the status endpoint // if .visible, .hidden, .CAD are missing, don't include this point. // On update: // If .visible or .hidden or .CAD present, save the location, otherwise, drop the request // .visibility is set/controlled by tabletcommand-location for some location services (e.g. server-mark43, process-locations) export enum AccountIndustry { Fire = "fire", // Default, when not set Law = "law", Campus = "campus", // could be university campus or corporate campus (e.g. Apple Campus) Utility = "utility", } export enum AccountCallerType { Dummy = "dummy", // Fake account caller type, used for testing } export enum ShareIncidentRuleKind { Always = "always", Area = "area", AreaNotShared = "areaNotShared", AssignedUnit = "assignedUnit", Code = "code", ComplexAND = "complexAND", ComplexOR = "complexOR", IncidentType = "incidentType", // Added because we need a marker for when incidentType is no longer shared IncidentTypeNotShared = "incidentTypeNotShared", UserStopShare = "userStopShare", UserRestoreShare = "userRestoreShare", ReportNumberStartsWith = "reportNumberStartsWith", None = "", } // When a new value gets added here, // also update department.IncidentFilterSchema.type.enum export enum NerisBenchmarkType { TimeCommandEstablished = "time_command_established", Time360Completed = "time_360_completed", TimeWaterOnFire = "time_water_on_fire", TimeFireUnderControl = "time_fire_under_control", TimeFireKnockedDown = "time_fire_knocked_down", TimeSuppressionComplete = "time_suppression_complete", TimePrimarySearchBegin = "time_primary_search_begin", TimePrimarySearchComplete = "time_primary_search_complete", } export enum IncidentFilterKind { AgencyId = "agencyId", AreaCalOES = "areaCalOES", // polygon - Cal OES AreaUnit = "areaUnit", // polygon - CalFire unit City = "city", County = "county", // polygon RadioName = "radioName", ReportNumber = "reportNumber", ShowNoUnits = "showNoUnits", } export const FireMapperLayers: Array = [ { name: "FireMapper - Symbols", pathname: "/api/rest/services/features/FeatureServer/0", }, { name: "FireMapper - Lines", pathname: "/api/rest/services/features/FeatureServer/1", }, { name: "FireMapper - Photos", pathname: "/api/rest/services/features/FeatureServer/2", }, { name: "FireMapper - Areas", pathname: "/api/rest/services/features/FeatureServer/3", }, { name: "FireMapper - PDFs", pathname: "/api/rest/services/features/FeatureServer/4", }, { name: "FireMapper - Labels", pathname: "/api/rest/services/features/FeatureServer/5", }, ];