94 lines
1.5 KiB
TypeScript
94 lines
1.5 KiB
TypeScript
declare namespace Model {
|
|
interface LoginRequestBody {
|
|
username: string;
|
|
password: string;
|
|
}
|
|
interface LoginResponse {
|
|
token?: string;
|
|
}
|
|
|
|
interface GPSResonse {
|
|
lat: number;
|
|
lon: number;
|
|
s: number;
|
|
h: number;
|
|
fishing: boolean;
|
|
}
|
|
interface Alarm {
|
|
name: string;
|
|
t: number; // timestamp (epoch seconds)
|
|
level: number;
|
|
id: string;
|
|
}
|
|
|
|
interface AlarmResponse {
|
|
alarms: Alarm[];
|
|
level: number;
|
|
}
|
|
|
|
interface ShipTrackPoint {
|
|
time: number;
|
|
lon: number;
|
|
lat: number;
|
|
s: number;
|
|
h: number;
|
|
}
|
|
interface EntityResponse {
|
|
id: string;
|
|
v: number;
|
|
vs: string;
|
|
t: number;
|
|
type: string;
|
|
}
|
|
interface TransformedEntity {
|
|
id: string;
|
|
value: number;
|
|
valueString: string;
|
|
time: number;
|
|
type: string;
|
|
}
|
|
|
|
// Banzones
|
|
// Banzone
|
|
export interface Zone {
|
|
id?: string;
|
|
name?: string;
|
|
type?: number;
|
|
conditions?: Condition[];
|
|
enabled?: boolean;
|
|
updated_at?: Date;
|
|
geom?: Geom;
|
|
}
|
|
|
|
export interface Condition {
|
|
max?: number;
|
|
min?: number;
|
|
type?: Type;
|
|
to?: number;
|
|
from?: number;
|
|
}
|
|
|
|
export enum Type {
|
|
LengthLimit = "length_limit",
|
|
MonthRange = "month_range",
|
|
}
|
|
|
|
export interface Geom {
|
|
geom_type?: number;
|
|
geom_poly?: string;
|
|
geom_lines?: string;
|
|
geom_point?: string;
|
|
geom_radius?: number;
|
|
}
|
|
|
|
interface SosRequest {
|
|
message?: string;
|
|
}
|
|
|
|
interface SosResponse {
|
|
active: boolean;
|
|
message?: string;
|
|
started_at?: number;
|
|
}
|
|
}
|