2025-08-15 09:32:33 +01:00
|
|
|
export type SightingType = {
|
2025-08-13 14:23:48 +01:00
|
|
|
ref: number;
|
|
|
|
|
SaFID: string;
|
|
|
|
|
overviewUrl: string;
|
|
|
|
|
plateUrlInfrared: string;
|
|
|
|
|
plateUrlColour: string;
|
|
|
|
|
vrm: string;
|
|
|
|
|
vrmSecondary: string;
|
|
|
|
|
countryCode: string;
|
|
|
|
|
timeStamp: string;
|
|
|
|
|
detailsUrl: string;
|
|
|
|
|
overviewPlateRect: number[];
|
|
|
|
|
plateTrack: Array<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;
|
|
|
|
|
};
|
2025-08-15 09:32:33 +01:00
|
|
|
|
|
|
|
|
export type CameraSettingValues = {
|
|
|
|
|
friendlyName: string;
|
|
|
|
|
cameraAddress: string;
|
|
|
|
|
userName: string;
|
|
|
|
|
password: string;
|
2025-09-12 08:21:52 +01:00
|
|
|
id: number;
|
2025-08-15 09:32:33 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type CameraSettingErrorValues = Partial<
|
|
|
|
|
Record<keyof CameraSettingValues, string>
|
|
|
|
|
>;
|
2025-08-18 12:53:30 +01:00
|
|
|
|
|
|
|
|
export type BearerTypeFieldType = {
|
|
|
|
|
format: string;
|
|
|
|
|
enabled: boolean;
|
|
|
|
|
verbose: boolean;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type InitialValuesForm = {
|
|
|
|
|
format: string;
|
|
|
|
|
enabled: boolean;
|
|
|
|
|
verbose: boolean;
|
|
|
|
|
backOfficeURL: string;
|
|
|
|
|
username: string;
|
|
|
|
|
password: string;
|
|
|
|
|
connectTimeoutSeconds: number;
|
|
|
|
|
readTimeoutSeconds: number;
|
|
|
|
|
};
|
2025-08-18 16:04:03 +01:00
|
|
|
|
|
|
|
|
export type NPEDFieldType = {
|
2025-08-29 10:07:59 +01:00
|
|
|
frontId: string;
|
2025-08-18 16:04:03 +01:00
|
|
|
username: string;
|
|
|
|
|
password: string;
|
|
|
|
|
clientId: string;
|
2025-08-29 10:07:59 +01:00
|
|
|
rearId: string;
|
2025-08-18 16:04:03 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type HotlistUploadType = {
|
|
|
|
|
file: string | null;
|
|
|
|
|
};
|
2025-08-20 08:27:05 +01:00
|
|
|
|
|
|
|
|
export type SightingWidgetType = {
|
|
|
|
|
ref: number; // unique, increasing
|
|
|
|
|
idx?: number; // client-side slot index
|
|
|
|
|
vrm: string;
|
|
|
|
|
vrmSecondary?: string; // empty string means missing
|
|
|
|
|
countryCode?: string;
|
|
|
|
|
timeStamp?: string; // formatted string
|
|
|
|
|
timeStampMillis: number; // epoch millis
|
|
|
|
|
motion: string; // e.g., "AWAY" or "TOWARDS"
|
|
|
|
|
seenCount: number;
|
|
|
|
|
charHeight: string | number;
|
|
|
|
|
overviewUrl: string;
|
|
|
|
|
detailsUrl?: string;
|
|
|
|
|
make?: string;
|
|
|
|
|
model?: string;
|
|
|
|
|
color?: string;
|
|
|
|
|
category?: string;
|
|
|
|
|
plateSize?: string | number;
|
|
|
|
|
overviewSize?: string | number;
|
|
|
|
|
locationName?: string;
|
|
|
|
|
laneID?: string | number;
|
|
|
|
|
radarSpeed?: string | number;
|
|
|
|
|
trackSpeed?: string | number;
|
|
|
|
|
srcCam?: 0 | 1;
|
|
|
|
|
plateUrlInfrared?: string;
|
|
|
|
|
plateUrlColour?: string;
|
|
|
|
|
overviewPlateRect?: [number, number, number, number]; // [x,y,w,h] normalized 0..1
|
2025-08-29 14:55:37 +01:00
|
|
|
plateTrack?: [number, number, number, number][];
|
|
|
|
|
metadata?: Metadata;
|
|
|
|
|
// list of rects normalized 0..1
|
|
|
|
|
};
|
|
|
|
|
|
2025-09-09 15:57:35 +01:00
|
|
|
export type VersionFieldType = {
|
|
|
|
|
version: string;
|
|
|
|
|
revision: string;
|
|
|
|
|
buildtime: string;
|
|
|
|
|
MAC: string;
|
|
|
|
|
timeStamp: number;
|
|
|
|
|
UUID: string;
|
|
|
|
|
"Serial No.": string;
|
|
|
|
|
"Model No.": string;
|
|
|
|
|
};
|
|
|
|
|
|
2025-08-29 14:55:37 +01:00
|
|
|
export type Metadata = {
|
|
|
|
|
npedJSON: NpedJSON;
|
|
|
|
|
"hotlist-matches": HotlistMatches;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type HotlistMatches = {
|
|
|
|
|
Hotlist0: boolean;
|
|
|
|
|
Hotlist1: boolean;
|
|
|
|
|
Hotlist2: boolean;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type NpedJSON = {
|
|
|
|
|
status_code: number;
|
|
|
|
|
reason_phrase: string;
|
2025-08-20 08:27:05 +01:00
|
|
|
};
|
2025-08-29 10:07:59 +01:00
|
|
|
|
|
|
|
|
export type NPEDUser = {
|
|
|
|
|
username: string;
|
|
|
|
|
clientId: string;
|
|
|
|
|
password?: string;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type NPEDErrorValues = {
|
|
|
|
|
username?: string | undefined;
|
|
|
|
|
password?: string | undefined;
|
|
|
|
|
clientId?: string | undefined;
|
|
|
|
|
};
|
2025-08-29 14:55:37 +01:00
|
|
|
|
|
|
|
|
export type NPEDCameraConfig = {
|
|
|
|
|
id: string;
|
|
|
|
|
configHash: string;
|
|
|
|
|
propEnabled: Prop;
|
|
|
|
|
propUsername: Prop;
|
|
|
|
|
propPassword: Prop;
|
|
|
|
|
propClientID: Prop;
|
|
|
|
|
propConnectTimeoutSeconds: Prop;
|
|
|
|
|
propReadTimeoutSeconds: Prop;
|
|
|
|
|
propNPEDAuthTokenURL: Prop;
|
|
|
|
|
propNPEDLookupURL: Prop;
|
|
|
|
|
propVerbose: Prop;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export interface Prop {
|
|
|
|
|
value: string;
|
|
|
|
|
datatype: string;
|
|
|
|
|
}
|
2025-09-12 13:28:14 +01:00
|
|
|
|
|
|
|
|
export type SystemValues = {
|
|
|
|
|
deviceName: string;
|
|
|
|
|
sntpServer: string;
|
|
|
|
|
sntpInterval: number;
|
|
|
|
|
timeZone: string;
|
|
|
|
|
softwareUpdate?: File | null;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type SystemValuesErrors = {
|
|
|
|
|
deviceName?: string | undefined;
|
|
|
|
|
sntpServer?: string | undefined;
|
|
|
|
|
sntpInterval?: string | undefined;
|
|
|
|
|
timeZone?: string | undefined;
|
|
|
|
|
softwareUpdate?: File | null;
|
|
|
|
|
};
|