UNPKG

camstreamerlib

Version:

Helper library for CamStreamer ACAP applications.

119 lines (118 loc) 4.84 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ptrEventsSchema = exports.PlaneTrackerUserActions = exports.PlaneTrackerWsEvents = void 0; const zod_1 = require("zod"); const apiFlightDataSchema = zod_1.z.object({ icao: zod_1.z.string(), lat: zod_1.z.number(), lon: zod_1.z.number(), heading: zod_1.z.number(), groundSpeed: zod_1.z.number(), altitudeAMSL: zod_1.z.number(), cameraDistance: zod_1.z.number(), autoTrackingOrder: zod_1.z.number(), whiteListed: zod_1.z.boolean(), blackListed: zod_1.z.boolean(), priorityListed: zod_1.z.boolean(), autoSelectionIgnored: zod_1.z.boolean(), signalQuality: zod_1.z.number(), emergencyState: zod_1.z.boolean(), emergencyStatusMessage: zod_1.z.string(), }); const apiUserSchema = zod_1.z.object({ userId: zod_1.z.string(), userName: zod_1.z.string(), userPriority: zod_1.z.number(), ip: zod_1.z.string(), }); const apiStringUserSchema = zod_1.z.object({ userId: zod_1.z.string(), userName: zod_1.z.string(), userPriority: zod_1.z.string(), }); var PlaneTrackerWsEvents; (function (PlaneTrackerWsEvents) { PlaneTrackerWsEvents["FLIGHT_LIST"] = "FLIGHT_LIST"; PlaneTrackerWsEvents["CAMERA_POSITION"] = "CAMERA_POSITION"; PlaneTrackerWsEvents["TRACKING_START"] = "TRACKING_START"; PlaneTrackerWsEvents["TRACKING_STOP"] = "TRACKING_STOP"; PlaneTrackerWsEvents["USER_ACTION"] = "USER_ACTION"; PlaneTrackerWsEvents["CONNECTED_USERS"] = "CONNECTED_USERS"; PlaneTrackerWsEvents["FORCE_TRACKING_STATUS"] = "FORCE_TRACKING_STATUS"; })(PlaneTrackerWsEvents || (exports.PlaneTrackerWsEvents = PlaneTrackerWsEvents = {})); var PlaneTrackerUserActions; (function (PlaneTrackerUserActions) { PlaneTrackerUserActions["TRACK_ICAO"] = "trackIcao.cgi"; PlaneTrackerUserActions["RESET_ICAO"] = "resetIcao.cgi"; PlaneTrackerUserActions["SET_PRIORITY_LIST"] = "setPriorityList.cgi"; PlaneTrackerUserActions["SET_BLACK_LIST"] = "setBlackList.cgi"; PlaneTrackerUserActions["SET_WHITE_LIST"] = "setWhiteList.cgi"; PlaneTrackerUserActions["GO_TO_COORDINATES"] = "goToCoordinates.cgi"; PlaneTrackerUserActions["SET_TRACKING_MODE"] = "setTrackingMode.cgi"; PlaneTrackerUserActions["SET_ZONES"] = "setZones.cgi"; PlaneTrackerUserActions["RESET_PTZ_CALIBRATION"] = "resetPtzCalibration.cgi"; PlaneTrackerUserActions["LOCK_API"] = "lockApi.cgi"; PlaneTrackerUserActions["UNLOCK_API"] = "unlockApi.cgi"; })(PlaneTrackerUserActions || (exports.PlaneTrackerUserActions = PlaneTrackerUserActions = {})); const ptrEventsDataSchema = zod_1.z.discriminatedUnion('type', [ zod_1.z.object({ type: zod_1.z.literal('CAMERA_POSITION'), lat: zod_1.z.number(), lon: zod_1.z.number(), azimuth: zod_1.z.number().min(0).max(360), elevation: zod_1.z.number().min(-90).max(90), fov: zod_1.z.number(), }), zod_1.z.object({ type: zod_1.z.literal('TRACKING_START'), icao: zod_1.z.string(), }), zod_1.z.object({ type: zod_1.z.literal('TRACKING_STOP'), }), zod_1.z.object({ type: zod_1.z.literal('FLIGHT_LIST'), list: zod_1.z.array(apiFlightDataSchema), }), zod_1.z.object({ type: zod_1.z.literal('USER_ACTION'), ip: zod_1.z.string(), params: apiStringUserSchema.extend({ lat: zod_1.z.string().optional(), lon: zod_1.z.string().optional(), timeout: zod_1.z.string().optional(), }), cgi: zod_1.z.enum([ PlaneTrackerUserActions.TRACK_ICAO, PlaneTrackerUserActions.RESET_ICAO, PlaneTrackerUserActions.SET_PRIORITY_LIST, PlaneTrackerUserActions.SET_BLACK_LIST, PlaneTrackerUserActions.SET_WHITE_LIST, PlaneTrackerUserActions.GO_TO_COORDINATES, PlaneTrackerUserActions.SET_TRACKING_MODE, PlaneTrackerUserActions.SET_ZONES, PlaneTrackerUserActions.RESET_PTZ_CALIBRATION, PlaneTrackerUserActions.LOCK_API, PlaneTrackerUserActions.UNLOCK_API, ]), postJsonBody: zod_1.z.any(), }), zod_1.z.object({ type: zod_1.z.literal('CONNECTED_USERS'), users: zod_1.z.array(apiUserSchema), }), zod_1.z.object({ type: zod_1.z.literal('FORCE_TRACKING_STATUS'), enabled: zod_1.z.boolean(), icao: zod_1.z.string().optional(), }), zod_1.z.object({ type: zod_1.z.literal('API_LOCK_STATUS'), isLocked: zod_1.z.boolean(), user: apiUserSchema.optional(), }), ]); exports.ptrEventsSchema = zod_1.z.discriminatedUnion('type', [ zod_1.z.object({ type: zod_1.z.literal('init'), data: ptrEventsDataSchema }), ...ptrEventsDataSchema.options, ]);