2025-12-19 16:04:06 +00:00
|
|
|
export type SightingType = {
|
|
|
|
|
ref: number;
|
|
|
|
|
SaFID: string;
|
|
|
|
|
overviewUrl: string;
|
|
|
|
|
plateUrlInfrared: string;
|
|
|
|
|
plateUrlColour: string;
|
|
|
|
|
vrm: string;
|
|
|
|
|
vrmSecondary: string;
|
|
|
|
|
countryCode: string;
|
|
|
|
|
timeStamp: string;
|
|
|
|
|
detailsUrl: string;
|
|
|
|
|
overviewPlateRect?: [number, number, number, number];
|
|
|
|
|
plateTrack?: [number, number, number, number][];
|
|
|
|
|
make: string;
|
|
|
|
|
model: string;
|
|
|
|
|
color: string;
|
|
|
|
|
category: string;
|
|
|
|
|
charHeight: string;
|
|
|
|
|
seenCount: string;
|
|
|
|
|
timeStampMillis: number;
|
|
|
|
|
motion: string;
|
|
|
|
|
debug: string;
|
|
|
|
|
srcCam: number;
|
|
|
|
|
locationName: string;
|
|
|
|
|
laneID: string;
|
|
|
|
|
plateSize: string;
|
|
|
|
|
overviewSize: string;
|
|
|
|
|
radarSpeed: string;
|
|
|
|
|
trackSpeed: string;
|
|
|
|
|
metadata?: Metadata;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type Metadata = {
|
|
|
|
|
npedJSON: NpedJSON;
|
|
|
|
|
"hotlist-matches": HotlistMatches;
|
|
|
|
|
hotlistMatches: HotlistMatches;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type HotlistMatches = {
|
|
|
|
|
Hotlist0: boolean;
|
|
|
|
|
Hotlist1: boolean;
|
|
|
|
|
Hotlist2: boolean;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type NpedJSON = {
|
|
|
|
|
status_code: number;
|
|
|
|
|
reason_phrase: string;
|
|
|
|
|
"NPED CATEGORY": "A" | "B" | "C" | "D";
|
|
|
|
|
"MOT STATUS": boolean;
|
|
|
|
|
"TAX STATUS": boolean;
|
|
|
|
|
vrm: string;
|
|
|
|
|
"INSURANCE STATUS": string;
|
|
|
|
|
};
|
2025-12-22 16:10:34 +00:00
|
|
|
|
|
|
|
|
export type CameraSettings = {
|
|
|
|
|
mode: number;
|
2025-12-23 10:37:02 +00:00
|
|
|
imageSize: { width: number; height: number };
|
2026-01-09 10:07:28 +00:00
|
|
|
regionPainter: {
|
|
|
|
|
paintedCells: { x: number; y: number }[];
|
|
|
|
|
regions: { name: string; brushColour: string; cells: { x: number; y: number }[] }[];
|
|
|
|
|
};
|
2025-12-22 16:10:34 +00:00
|
|
|
};
|
2025-12-23 10:37:02 +00:00
|
|
|
export type CameraSettingsAction =
|
|
|
|
|
| {
|
|
|
|
|
type: "SET_MODE";
|
|
|
|
|
payload: number;
|
|
|
|
|
}
|
|
|
|
|
| {
|
|
|
|
|
type: "SET_IMAGE_SIZE";
|
|
|
|
|
payload: { width: number; height: number };
|
|
|
|
|
};
|
2026-01-07 16:18:14 +00:00
|
|
|
|
|
|
|
|
export type CameraStatus = {
|
|
|
|
|
id: string;
|
|
|
|
|
groupID: string;
|
|
|
|
|
tags: string[];
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type SystemHealth = {
|
|
|
|
|
UptimeHumane: string;
|
|
|
|
|
StartTimeHumane: string;
|
|
|
|
|
Status: CameraStatus[];
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type StoreData = {
|
|
|
|
|
totalPending: number;
|
|
|
|
|
totalActive: number;
|
|
|
|
|
totalSent: number;
|
|
|
|
|
totalReceived: number;
|
|
|
|
|
totalLost: number;
|
|
|
|
|
sanityCheck: boolean;
|
|
|
|
|
sanityCheckFormula: string;
|
|
|
|
|
};
|