@awarevue/api-types 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/access-control/access-rule.d.ts +243 -0
- package/dist/access-control/access-rule.js +49 -0
- package/dist/access-control/credential.d.ts +14 -0
- package/dist/access-control/credential.js +12 -0
- package/dist/access-control/index.d.ts +7 -0
- package/dist/access-control/index.js +23 -0
- package/dist/access-control/person-presence.d.ts +249 -0
- package/dist/access-control/person-presence.js +61 -0
- package/dist/access-control/person.d.ts +209 -0
- package/dist/access-control/person.js +49 -0
- package/dist/access-control/schedule.d.ts +500 -0
- package/dist/access-control/schedule.js +65 -0
- package/dist/access-control/sync.d.ts +3 -0
- package/dist/access-control/sync.js +2 -0
- package/dist/access-control/zone.d.ts +65 -0
- package/dist/access-control/zone.js +28 -0
- package/dist/agent-communication/index.d.ts +1 -0
- package/dist/agent-communication/index.js +17 -0
- package/dist/agent-communication/protocol.d.ts +1692 -0
- package/dist/agent-communication/protocol.js +341 -0
- package/dist/api/alarm.d.ts +23 -0
- package/dist/api/alarm.js +2 -0
- package/dist/api/auth.d.ts +31 -0
- package/dist/api/auth.js +19 -0
- package/dist/api/index.d.ts +4 -0
- package/dist/api/index.js +20 -0
- package/dist/api/media.d.ts +187 -0
- package/dist/api/media.js +59 -0
- package/dist/api/query.d.ts +33 -0
- package/dist/api/query.js +41 -0
- package/dist/app.d.ts +12 -0
- package/dist/app.js +8 -0
- package/dist/automation.d.ts +334 -0
- package/dist/automation.js +49 -0
- package/dist/aware-config.d.ts +3 -0
- package/dist/aware-config.js +2 -0
- package/dist/custom-field.d.ts +52 -0
- package/dist/custom-field.js +19 -0
- package/dist/device/alarm.d.ts +265 -0
- package/dist/device/alarm.js +66 -0
- package/dist/device/any-device.d.ts +2376 -0
- package/dist/device/any-device.js +185 -0
- package/dist/device/camera-lift.d.ts +17 -0
- package/dist/device/camera-lift.js +7 -0
- package/dist/device/camera.d.ts +829 -0
- package/dist/device/camera.js +120 -0
- package/dist/device/device-gateway.d.ts +3 -0
- package/dist/device/device-gateway.js +4 -0
- package/dist/device/door.d.ts +217 -0
- package/dist/device/door.js +57 -0
- package/dist/device/index.d.ts +15 -0
- package/dist/device/index.js +31 -0
- package/dist/device/intercom-operator.d.ts +13 -0
- package/dist/device/intercom-operator.js +5 -0
- package/dist/device/intercom-terminal.d.ts +244 -0
- package/dist/device/intercom-terminal.js +48 -0
- package/dist/device/io-board.d.ts +55 -0
- package/dist/device/io-board.js +19 -0
- package/dist/device/motion-sensor.d.ts +8 -0
- package/dist/device/motion-sensor.js +8 -0
- package/dist/device/panic-button.d.ts +26 -0
- package/dist/device/panic-button.js +14 -0
- package/dist/device/pbx.d.ts +20 -0
- package/dist/device/pbx.js +11 -0
- package/dist/device/presence-tracker.d.ts +127 -0
- package/dist/device/presence-tracker.js +27 -0
- package/dist/device/reader/commands.d.ts +1 -0
- package/dist/device/reader/commands.js +2 -0
- package/dist/device/reader/events.d.ts +37 -0
- package/dist/device/reader/events.js +13 -0
- package/dist/device/reader/index.d.ts +3 -0
- package/dist/device/reader/index.js +19 -0
- package/dist/device/reader/specs.d.ts +2 -0
- package/dist/device/reader/specs.js +4 -0
- package/dist/device/server.d.ts +73 -0
- package/dist/device/server.js +33 -0
- package/dist/device-command.d.ts +23 -0
- package/dist/device-command.js +110 -0
- package/dist/device-event.d.ts +682 -0
- package/dist/device-event.js +87 -0
- package/dist/device-factory.d.ts +112 -0
- package/dist/device-factory.js +25 -0
- package/dist/device-group.d.ts +74 -0
- package/dist/device-group.js +31 -0
- package/dist/device-import.d.ts +1412 -0
- package/dist/device-import.js +33 -0
- package/dist/device-relation.d.ts +30 -0
- package/dist/device-relation.js +68 -0
- package/dist/device-state.d.ts +10 -0
- package/dist/device-state.js +2 -0
- package/dist/error.d.ts +13 -0
- package/dist/error.js +10 -0
- package/dist/file.d.ts +3 -0
- package/dist/file.js +2 -0
- package/dist/index.d.ts +28 -0
- package/dist/index.js +44 -0
- package/dist/layout.d.ts +188 -0
- package/dist/layout.js +40 -0
- package/dist/macros.d.ts +160 -0
- package/dist/macros.js +26 -0
- package/dist/messages/device-communication.d.ts +121 -0
- package/dist/messages/device-communication.js +63 -0
- package/dist/messages/index.d.ts +5 -0
- package/dist/messages/index.js +21 -0
- package/dist/messages/progress.d.ts +118 -0
- package/dist/messages/progress.js +51 -0
- package/dist/messages/provider-api/index.d.ts +1 -0
- package/dist/messages/provider-api/index.js +17 -0
- package/dist/messages/provider-api/sync-protocol.d.ts +83 -0
- package/dist/messages/provider-api/sync-protocol.js +2 -0
- package/dist/messages/web-rtc-signaling.d.ts +265 -0
- package/dist/messages/web-rtc-signaling.js +82 -0
- package/dist/messages/web-socket.d.ts +7 -0
- package/dist/messages/web-socket.js +5 -0
- package/dist/milestone.d.ts +5 -0
- package/dist/milestone.js +2 -0
- package/dist/module-config.d.ts +27 -0
- package/dist/module-config.js +2 -0
- package/dist/orchid.d.ts +19 -0
- package/dist/orchid.js +2 -0
- package/dist/package.json +40 -0
- package/dist/permissions.d.ts +6 -0
- package/dist/permissions.js +168 -0
- package/dist/template.d.ts +50 -0
- package/dist/template.js +21 -0
- package/dist/user.d.ts +184 -0
- package/dist/user.js +56 -0
- package/dist/view.d.ts +775 -0
- package/dist/view.js +74 -0
- package/dist/webrtc-playback.d.ts +20 -0
- package/dist/webrtc-playback.js +14 -0
- package/package.json +40 -0
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import z from 'zod';
|
|
2
|
+
import { CommandRun } from '../device-command';
|
|
3
|
+
import { DeviceEvent } from '../device-event';
|
|
4
|
+
import { WebSocketMessage } from './web-socket';
|
|
5
|
+
export type CommandRunPayload = CommandRun;
|
|
6
|
+
export declare const sCommandSuccess: z.ZodObject<{
|
|
7
|
+
timestamp: z.ZodNumber;
|
|
8
|
+
requestId: z.ZodString;
|
|
9
|
+
}, "strip", z.ZodTypeAny, {
|
|
10
|
+
timestamp: number;
|
|
11
|
+
requestId: string;
|
|
12
|
+
}, {
|
|
13
|
+
timestamp: number;
|
|
14
|
+
requestId: string;
|
|
15
|
+
}>;
|
|
16
|
+
export type CommandSuccessPayload = z.infer<typeof sCommandSuccess>;
|
|
17
|
+
export declare const sCommandError: z.ZodObject<{
|
|
18
|
+
timestamp: z.ZodNumber;
|
|
19
|
+
requestId: z.ZodString;
|
|
20
|
+
error: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
|
|
21
|
+
}, "strip", z.ZodTypeAny, {
|
|
22
|
+
error: {};
|
|
23
|
+
timestamp: number;
|
|
24
|
+
requestId: string;
|
|
25
|
+
}, {
|
|
26
|
+
error: {};
|
|
27
|
+
timestamp: number;
|
|
28
|
+
requestId: string;
|
|
29
|
+
}>;
|
|
30
|
+
export type CommandErrorPayload = z.infer<typeof sCommandError>;
|
|
31
|
+
export declare const sStateUpdate: z.ZodObject<{
|
|
32
|
+
timestamp: z.ZodNumber;
|
|
33
|
+
deviceId: z.ZodString;
|
|
34
|
+
state: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
|
|
35
|
+
}, "strip", z.ZodTypeAny, {
|
|
36
|
+
state: {};
|
|
37
|
+
deviceId: string;
|
|
38
|
+
timestamp: number;
|
|
39
|
+
}, {
|
|
40
|
+
state: {};
|
|
41
|
+
deviceId: string;
|
|
42
|
+
timestamp: number;
|
|
43
|
+
}>;
|
|
44
|
+
export type StateUpdatePayload = z.infer<typeof sStateUpdate>;
|
|
45
|
+
export declare const sStateUnavailable: z.ZodObject<{
|
|
46
|
+
timestamp: z.ZodNumber;
|
|
47
|
+
deviceId: z.ZodString;
|
|
48
|
+
}, "strip", z.ZodTypeAny, {
|
|
49
|
+
deviceId: string;
|
|
50
|
+
timestamp: number;
|
|
51
|
+
}, {
|
|
52
|
+
deviceId: string;
|
|
53
|
+
timestamp: number;
|
|
54
|
+
}>;
|
|
55
|
+
export type StateUnavailablePayload = z.infer<typeof sStateUnavailable>;
|
|
56
|
+
export declare const sStateUpdateError: z.ZodObject<{
|
|
57
|
+
timestamp: z.ZodNumber;
|
|
58
|
+
deviceId: z.ZodString;
|
|
59
|
+
error: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
|
|
60
|
+
}, "strip", z.ZodTypeAny, {
|
|
61
|
+
error: {};
|
|
62
|
+
deviceId: string;
|
|
63
|
+
timestamp: number;
|
|
64
|
+
}, {
|
|
65
|
+
error: {};
|
|
66
|
+
deviceId: string;
|
|
67
|
+
timestamp: number;
|
|
68
|
+
}>;
|
|
69
|
+
export type StateUpdateErrorPayload = z.infer<typeof sStateUpdateError>;
|
|
70
|
+
export declare const sStateSubscribe: z.ZodObject<{
|
|
71
|
+
timestamp: z.ZodNumber;
|
|
72
|
+
requestId: z.ZodString;
|
|
73
|
+
deviceId: z.ZodString;
|
|
74
|
+
}, "strip", z.ZodTypeAny, {
|
|
75
|
+
deviceId: string;
|
|
76
|
+
timestamp: number;
|
|
77
|
+
requestId: string;
|
|
78
|
+
}, {
|
|
79
|
+
deviceId: string;
|
|
80
|
+
timestamp: number;
|
|
81
|
+
requestId: string;
|
|
82
|
+
}>;
|
|
83
|
+
export type StateSubscribePayload = z.infer<typeof sStateSubscribe>;
|
|
84
|
+
export declare const sStateUnsubscribe: z.ZodObject<{
|
|
85
|
+
timestamp: z.ZodNumber;
|
|
86
|
+
requestId: z.ZodString;
|
|
87
|
+
deviceId: z.ZodString;
|
|
88
|
+
}, "strip", z.ZodTypeAny, {
|
|
89
|
+
deviceId: string;
|
|
90
|
+
timestamp: number;
|
|
91
|
+
requestId: string;
|
|
92
|
+
}, {
|
|
93
|
+
deviceId: string;
|
|
94
|
+
timestamp: number;
|
|
95
|
+
requestId: string;
|
|
96
|
+
}>;
|
|
97
|
+
export type StateUnsubscribePayload = z.infer<typeof sStateUnsubscribe>;
|
|
98
|
+
export type DeviceEventPayload = DeviceEvent;
|
|
99
|
+
interface DeviceMessageMap {
|
|
100
|
+
'command-run': CommandRunPayload;
|
|
101
|
+
'command-success': CommandSuccessPayload;
|
|
102
|
+
'command-error': CommandErrorPayload;
|
|
103
|
+
'state-update': StateUpdatePayload;
|
|
104
|
+
'state-unavailable': StateUnavailablePayload;
|
|
105
|
+
'state-update-error': StateUpdateErrorPayload;
|
|
106
|
+
'state-subscribe': StateSubscribePayload;
|
|
107
|
+
'state-unsubscribe': StateUnsubscribePayload;
|
|
108
|
+
'device-event': DeviceEventPayload;
|
|
109
|
+
}
|
|
110
|
+
export type DeviceWsMessage = {
|
|
111
|
+
[K in keyof DeviceMessageMap]: {
|
|
112
|
+
event: K;
|
|
113
|
+
data: DeviceMessageMap[K];
|
|
114
|
+
};
|
|
115
|
+
}[keyof DeviceMessageMap];
|
|
116
|
+
export declare const isDeviceMessage: (message: WebSocketMessage) => message is DeviceWsMessage;
|
|
117
|
+
export declare const isDeviceEventMessage: (message: DeviceWsMessage) => message is {
|
|
118
|
+
event: "device-event";
|
|
119
|
+
data: DeviceEventPayload;
|
|
120
|
+
};
|
|
121
|
+
export {};
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.isDeviceEventMessage = exports.isDeviceMessage = exports.sStateUnsubscribe = exports.sStateSubscribe = exports.sStateUpdateError = exports.sStateUnavailable = exports.sStateUpdate = exports.sCommandError = exports.sCommandSuccess = void 0;
|
|
7
|
+
const zod_1 = __importDefault(require("zod"));
|
|
8
|
+
exports.sCommandSuccess = zod_1.default.object({
|
|
9
|
+
timestamp: zod_1.default.number(),
|
|
10
|
+
requestId: zod_1.default.string(),
|
|
11
|
+
});
|
|
12
|
+
exports.sCommandError = zod_1.default.object({
|
|
13
|
+
timestamp: zod_1.default.number(),
|
|
14
|
+
requestId: zod_1.default.string(),
|
|
15
|
+
error: zod_1.default.object({}),
|
|
16
|
+
});
|
|
17
|
+
exports.sStateUpdate = zod_1.default.object({
|
|
18
|
+
timestamp: zod_1.default.number(),
|
|
19
|
+
deviceId: zod_1.default.string(),
|
|
20
|
+
state: zod_1.default.object({}),
|
|
21
|
+
});
|
|
22
|
+
exports.sStateUnavailable = zod_1.default.object({
|
|
23
|
+
timestamp: zod_1.default.number(),
|
|
24
|
+
deviceId: zod_1.default.string(),
|
|
25
|
+
});
|
|
26
|
+
exports.sStateUpdateError = zod_1.default.object({
|
|
27
|
+
timestamp: zod_1.default.number(),
|
|
28
|
+
deviceId: zod_1.default.string(),
|
|
29
|
+
error: zod_1.default.object({}),
|
|
30
|
+
});
|
|
31
|
+
exports.sStateSubscribe = zod_1.default.object({
|
|
32
|
+
timestamp: zod_1.default.number(),
|
|
33
|
+
requestId: zod_1.default.string(),
|
|
34
|
+
deviceId: zod_1.default.string(),
|
|
35
|
+
});
|
|
36
|
+
exports.sStateUnsubscribe = zod_1.default.object({
|
|
37
|
+
timestamp: zod_1.default.number(),
|
|
38
|
+
requestId: zod_1.default.string(),
|
|
39
|
+
deviceId: zod_1.default.string(),
|
|
40
|
+
});
|
|
41
|
+
const validators = {
|
|
42
|
+
'command-run': zod_1.default.object({}),
|
|
43
|
+
'command-success': exports.sCommandSuccess,
|
|
44
|
+
'command-error': exports.sCommandError,
|
|
45
|
+
'state-update': exports.sStateUpdate,
|
|
46
|
+
'state-unavailable': exports.sStateUnavailable,
|
|
47
|
+
'state-update-error': exports.sStateUpdateError,
|
|
48
|
+
'state-subscribe': exports.sStateSubscribe,
|
|
49
|
+
'state-unsubscribe': exports.sStateUnsubscribe,
|
|
50
|
+
'device-event': zod_1.default.object({}),
|
|
51
|
+
};
|
|
52
|
+
const isDeviceMessage = (message) => {
|
|
53
|
+
const validator = validators[message.event];
|
|
54
|
+
if (!validator) {
|
|
55
|
+
return false;
|
|
56
|
+
}
|
|
57
|
+
return validator.safeParse(message.data).success;
|
|
58
|
+
};
|
|
59
|
+
exports.isDeviceMessage = isDeviceMessage;
|
|
60
|
+
const isDeviceEventMessage = (message) => {
|
|
61
|
+
return message.event === 'device-event';
|
|
62
|
+
};
|
|
63
|
+
exports.isDeviceEventMessage = isDeviceEventMessage;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./device-communication"), exports);
|
|
18
|
+
__exportStar(require("./web-socket"), exports);
|
|
19
|
+
__exportStar(require("./progress"), exports);
|
|
20
|
+
__exportStar(require("./web-rtc-signaling"), exports);
|
|
21
|
+
__exportStar(require("./provider-api"), exports);
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import z from 'zod';
|
|
2
|
+
import { WebSocketMessage } from './web-socket';
|
|
3
|
+
export declare const sProgress: z.ZodObject<{
|
|
4
|
+
total: z.ZodOptional<z.ZodNumber>;
|
|
5
|
+
complete: z.ZodOptional<z.ZodNumber>;
|
|
6
|
+
failed: z.ZodDefault<z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>>;
|
|
7
|
+
}, "strip", z.ZodTypeAny, {
|
|
8
|
+
failed: {};
|
|
9
|
+
total?: number | undefined;
|
|
10
|
+
complete?: number | undefined;
|
|
11
|
+
}, {
|
|
12
|
+
total?: number | undefined;
|
|
13
|
+
failed?: {} | undefined;
|
|
14
|
+
complete?: number | undefined;
|
|
15
|
+
}>;
|
|
16
|
+
export type ProgressReport = z.infer<typeof sProgress>;
|
|
17
|
+
export declare const sProgressUpdate: z.ZodObject<{
|
|
18
|
+
timestamp: z.ZodNumber;
|
|
19
|
+
item: z.ZodString;
|
|
20
|
+
progress: z.ZodObject<{
|
|
21
|
+
total: z.ZodOptional<z.ZodNumber>;
|
|
22
|
+
complete: z.ZodOptional<z.ZodNumber>;
|
|
23
|
+
failed: z.ZodDefault<z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>>;
|
|
24
|
+
}, "strip", z.ZodTypeAny, {
|
|
25
|
+
failed: {};
|
|
26
|
+
total?: number | undefined;
|
|
27
|
+
complete?: number | undefined;
|
|
28
|
+
}, {
|
|
29
|
+
total?: number | undefined;
|
|
30
|
+
failed?: {} | undefined;
|
|
31
|
+
complete?: number | undefined;
|
|
32
|
+
}>;
|
|
33
|
+
}, "strip", z.ZodTypeAny, {
|
|
34
|
+
progress: {
|
|
35
|
+
failed: {};
|
|
36
|
+
total?: number | undefined;
|
|
37
|
+
complete?: number | undefined;
|
|
38
|
+
};
|
|
39
|
+
item: string;
|
|
40
|
+
timestamp: number;
|
|
41
|
+
}, {
|
|
42
|
+
progress: {
|
|
43
|
+
total?: number | undefined;
|
|
44
|
+
failed?: {} | undefined;
|
|
45
|
+
complete?: number | undefined;
|
|
46
|
+
};
|
|
47
|
+
item: string;
|
|
48
|
+
timestamp: number;
|
|
49
|
+
}>;
|
|
50
|
+
export type ProgressUpdatePayload = z.infer<typeof sProgressUpdate>;
|
|
51
|
+
export declare const sProgressUnavailable: z.ZodObject<{
|
|
52
|
+
timestamp: z.ZodNumber;
|
|
53
|
+
item: z.ZodString;
|
|
54
|
+
}, "strip", z.ZodTypeAny, {
|
|
55
|
+
item: string;
|
|
56
|
+
timestamp: number;
|
|
57
|
+
}, {
|
|
58
|
+
item: string;
|
|
59
|
+
timestamp: number;
|
|
60
|
+
}>;
|
|
61
|
+
export type ProgressUnavailablePayload = z.infer<typeof sProgressUnavailable>;
|
|
62
|
+
export declare const sProgressUpdateError: z.ZodObject<{
|
|
63
|
+
timestamp: z.ZodNumber;
|
|
64
|
+
item: z.ZodString;
|
|
65
|
+
error: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
|
|
66
|
+
}, "strip", z.ZodTypeAny, {
|
|
67
|
+
error: {};
|
|
68
|
+
item: string;
|
|
69
|
+
timestamp: number;
|
|
70
|
+
}, {
|
|
71
|
+
error: {};
|
|
72
|
+
item: string;
|
|
73
|
+
timestamp: number;
|
|
74
|
+
}>;
|
|
75
|
+
export type ProgressUpdateErrorPayload = z.infer<typeof sProgressUpdateError>;
|
|
76
|
+
export declare const sProgressSubscribe: z.ZodObject<{
|
|
77
|
+
timestamp: z.ZodNumber;
|
|
78
|
+
requestId: z.ZodString;
|
|
79
|
+
item: z.ZodString;
|
|
80
|
+
}, "strip", z.ZodTypeAny, {
|
|
81
|
+
item: string;
|
|
82
|
+
timestamp: number;
|
|
83
|
+
requestId: string;
|
|
84
|
+
}, {
|
|
85
|
+
item: string;
|
|
86
|
+
timestamp: number;
|
|
87
|
+
requestId: string;
|
|
88
|
+
}>;
|
|
89
|
+
export type ProgressSubscribePayload = z.infer<typeof sProgressSubscribe>;
|
|
90
|
+
export declare const sProgressUnsubscribe: z.ZodObject<{
|
|
91
|
+
timestamp: z.ZodNumber;
|
|
92
|
+
requestId: z.ZodString;
|
|
93
|
+
item: z.ZodString;
|
|
94
|
+
}, "strip", z.ZodTypeAny, {
|
|
95
|
+
item: string;
|
|
96
|
+
timestamp: number;
|
|
97
|
+
requestId: string;
|
|
98
|
+
}, {
|
|
99
|
+
item: string;
|
|
100
|
+
timestamp: number;
|
|
101
|
+
requestId: string;
|
|
102
|
+
}>;
|
|
103
|
+
export type ProgressUnsubscribePayload = z.infer<typeof sProgressUnsubscribe>;
|
|
104
|
+
interface ProgressMessageMap {
|
|
105
|
+
'progress-update': ProgressUpdatePayload;
|
|
106
|
+
'progress-unavailable': ProgressUnavailablePayload;
|
|
107
|
+
'progress-update-error': ProgressUpdateErrorPayload;
|
|
108
|
+
'progress-subscribe': ProgressSubscribePayload;
|
|
109
|
+
'progress-unsubscribe': ProgressUnsubscribePayload;
|
|
110
|
+
}
|
|
111
|
+
export type ProgressWsMessage = {
|
|
112
|
+
[K in keyof ProgressMessageMap]: {
|
|
113
|
+
event: K;
|
|
114
|
+
data: ProgressMessageMap[K];
|
|
115
|
+
};
|
|
116
|
+
}[keyof ProgressMessageMap];
|
|
117
|
+
export declare const isProgressMessage: (message: WebSocketMessage) => message is ProgressWsMessage;
|
|
118
|
+
export {};
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.isProgressMessage = exports.sProgressUnsubscribe = exports.sProgressSubscribe = exports.sProgressUpdateError = exports.sProgressUnavailable = exports.sProgressUpdate = exports.sProgress = void 0;
|
|
7
|
+
const zod_1 = __importDefault(require("zod"));
|
|
8
|
+
exports.sProgress = zod_1.default.object({
|
|
9
|
+
total: zod_1.default.number().optional(),
|
|
10
|
+
complete: zod_1.default.number().optional(),
|
|
11
|
+
failed: zod_1.default.object({}).default({}),
|
|
12
|
+
});
|
|
13
|
+
exports.sProgressUpdate = zod_1.default.object({
|
|
14
|
+
timestamp: zod_1.default.number(),
|
|
15
|
+
item: zod_1.default.string(),
|
|
16
|
+
progress: exports.sProgress,
|
|
17
|
+
});
|
|
18
|
+
exports.sProgressUnavailable = zod_1.default.object({
|
|
19
|
+
timestamp: zod_1.default.number(),
|
|
20
|
+
item: zod_1.default.string(),
|
|
21
|
+
});
|
|
22
|
+
exports.sProgressUpdateError = zod_1.default.object({
|
|
23
|
+
timestamp: zod_1.default.number(),
|
|
24
|
+
item: zod_1.default.string(),
|
|
25
|
+
error: zod_1.default.object({}),
|
|
26
|
+
});
|
|
27
|
+
exports.sProgressSubscribe = zod_1.default.object({
|
|
28
|
+
timestamp: zod_1.default.number(),
|
|
29
|
+
requestId: zod_1.default.string(),
|
|
30
|
+
item: zod_1.default.string(),
|
|
31
|
+
});
|
|
32
|
+
exports.sProgressUnsubscribe = zod_1.default.object({
|
|
33
|
+
timestamp: zod_1.default.number(),
|
|
34
|
+
requestId: zod_1.default.string(),
|
|
35
|
+
item: zod_1.default.string(),
|
|
36
|
+
});
|
|
37
|
+
const validators = {
|
|
38
|
+
'progress-update': exports.sProgressUpdate,
|
|
39
|
+
'progress-unavailable': exports.sProgressUnavailable,
|
|
40
|
+
'progress-update-error': exports.sProgressUpdateError,
|
|
41
|
+
'progress-subscribe': exports.sProgressSubscribe,
|
|
42
|
+
'progress-unsubscribe': exports.sProgressUnsubscribe,
|
|
43
|
+
};
|
|
44
|
+
const isProgressMessage = (message) => {
|
|
45
|
+
const validator = validators[message.event];
|
|
46
|
+
if (!validator) {
|
|
47
|
+
return false;
|
|
48
|
+
}
|
|
49
|
+
return validator.safeParse(message.data).success;
|
|
50
|
+
};
|
|
51
|
+
exports.isProgressMessage = isProgressMessage;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './sync-protocol';
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./sync-protocol"), exports);
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { DeviceDto, ObjectKinds } from '../../device';
|
|
2
|
+
import { PersonDto, ScheduleDto, ZoneDto } from '../../access-control';
|
|
3
|
+
export type SyncContext = {
|
|
4
|
+
objectVersion: number;
|
|
5
|
+
objectKind: keyof AccessObjects;
|
|
6
|
+
objectId: string;
|
|
7
|
+
originator: string;
|
|
8
|
+
};
|
|
9
|
+
export type AccessObjects = {
|
|
10
|
+
person: PersonDto;
|
|
11
|
+
device: DeviceDto;
|
|
12
|
+
schedule: ScheduleDto;
|
|
13
|
+
zone: ZoneDto;
|
|
14
|
+
};
|
|
15
|
+
export type MappedReference = {
|
|
16
|
+
kind: keyof ObjectKinds;
|
|
17
|
+
localId: string;
|
|
18
|
+
remoteId: string;
|
|
19
|
+
provider: string;
|
|
20
|
+
};
|
|
21
|
+
export interface SyncActionComplete {
|
|
22
|
+
kind: 'sync-action-complete';
|
|
23
|
+
provider: string;
|
|
24
|
+
actionId: string;
|
|
25
|
+
refs: MappedReference[];
|
|
26
|
+
}
|
|
27
|
+
export interface SyncActionFailed {
|
|
28
|
+
kind: 'sync-action-failed';
|
|
29
|
+
provider: string;
|
|
30
|
+
actionId: string;
|
|
31
|
+
code?: string;
|
|
32
|
+
errorMessage: string;
|
|
33
|
+
}
|
|
34
|
+
export type SyncMergeObject = {
|
|
35
|
+
[K in keyof AccessObjects]: {
|
|
36
|
+
objectKind: K;
|
|
37
|
+
data: AccessObjects[K];
|
|
38
|
+
syncContext: SyncContext;
|
|
39
|
+
kind: 'update-object';
|
|
40
|
+
};
|
|
41
|
+
}[keyof AccessObjects];
|
|
42
|
+
export type SyncDeleteObject = {
|
|
43
|
+
[K in keyof AccessObjects]: {
|
|
44
|
+
objectKind: K;
|
|
45
|
+
data: AccessObjects[K];
|
|
46
|
+
syncContext: SyncContext;
|
|
47
|
+
kind: 'delete-object';
|
|
48
|
+
};
|
|
49
|
+
}[keyof AccessObjects];
|
|
50
|
+
export interface SyncPersonAcl {
|
|
51
|
+
kind: 'person-acl-update';
|
|
52
|
+
syncContext: SyncContext;
|
|
53
|
+
person: string;
|
|
54
|
+
deviceSchedules: Record<string, string | null>;
|
|
55
|
+
}
|
|
56
|
+
export interface SyncDeviceAcl {
|
|
57
|
+
kind: 'device-acl-update';
|
|
58
|
+
syncContext: SyncContext;
|
|
59
|
+
device: string;
|
|
60
|
+
personSchedules: Record<string, string | null>;
|
|
61
|
+
}
|
|
62
|
+
export type SyncAction = {
|
|
63
|
+
id: string;
|
|
64
|
+
details: unknown;
|
|
65
|
+
};
|
|
66
|
+
export type CreateSyncBatch = {
|
|
67
|
+
kind: 'create-sync-batch';
|
|
68
|
+
provider: string;
|
|
69
|
+
syncContext: SyncContext;
|
|
70
|
+
actions: unknown[];
|
|
71
|
+
};
|
|
72
|
+
export interface SyncBatchDue {
|
|
73
|
+
kind: 'sync-batch-due';
|
|
74
|
+
provider: string;
|
|
75
|
+
actions: SyncAction[];
|
|
76
|
+
}
|
|
77
|
+
export interface SyncActionDue {
|
|
78
|
+
kind: 'sync-action-due';
|
|
79
|
+
provider: string;
|
|
80
|
+
id: string;
|
|
81
|
+
details: unknown;
|
|
82
|
+
}
|
|
83
|
+
export type SyncMessage = SyncActionComplete | SyncActionFailed | SyncMergeObject | SyncDeleteObject | SyncPersonAcl | SyncDeviceAcl | SyncBatchDue | SyncActionDue | CreateSyncBatch;
|