@prestizni-software/server-dem 0.3.102 → 0.4.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/AutoUpdateManagerClass.d.ts +10 -10
- package/dist/AutoUpdateManagerClass.js +4 -7
- package/dist/AutoUpdateManagerClass.js.map +1 -1
- package/dist/AutoUpdateServerManagerClass.d.ts +27 -27
- package/dist/AutoUpdateServerManagerClass.js +0 -7
- package/dist/AutoUpdateServerManagerClass.js.map +1 -1
- package/dist/AutoUpdatedClientObjectClass.d.ts +22 -15
- package/dist/AutoUpdatedClientObjectClass.js +55 -31
- package/dist/AutoUpdatedClientObjectClass.js.map +1 -1
- package/dist/AutoUpdatedServerObjectClass.d.ts +6 -7
- package/dist/AutoUpdatedServerObjectClass.js +13 -9
- package/dist/AutoUpdatedServerObjectClass.js.map +1 -1
- package/dist/CommonTypes.d.ts +6 -6
- package/dist/CommonTypes_server.d.ts +6 -5
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +9 -9
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { AutoUpdatedClientObject } from "./AutoUpdatedClientObjectClass.js";
|
|
2
|
-
import { Constructor, EventEmitter3,
|
|
2
|
+
import { Constructor, EventEmitter3, LoggersType } from "./CommonTypes.js";
|
|
3
3
|
import "reflect-metadata";
|
|
4
|
-
export declare abstract class AutoUpdateManager<T extends
|
|
4
|
+
export declare abstract class AutoUpdateManager<T extends AutoUpdatedClientObject<T>> {
|
|
5
5
|
protected abstract objects_: {
|
|
6
|
-
[_id: string]: AutoUpdatedClientObject<
|
|
6
|
+
[_id: string]: AutoUpdatedClientObject<T>;
|
|
7
7
|
};
|
|
8
8
|
protected isLoaded_: boolean;
|
|
9
9
|
readonly socket: any;
|
|
10
|
-
protected classParam: T
|
|
10
|
+
protected classParam: Constructor<AutoUpdatedClientObject<T>>;
|
|
11
11
|
protected properties: (keyof T)[];
|
|
12
12
|
readonly className: string;
|
|
13
13
|
readonly managers: Record<string, AutoUpdateManager<any>>;
|
|
@@ -17,7 +17,7 @@ export declare abstract class AutoUpdateManager<T extends Constructor<any>> {
|
|
|
17
17
|
};
|
|
18
18
|
protected loggers: LoggersType;
|
|
19
19
|
protected emitter: EventEmitter3;
|
|
20
|
-
constructor(classParam: T
|
|
20
|
+
constructor(classParam: Constructor<T>, className: string, socket: any, loggers: LoggersType, managers: Record<string, AutoUpdateManager<any>>, emitter: EventEmitter3);
|
|
21
21
|
get isLoaded(): boolean;
|
|
22
22
|
close(): void;
|
|
23
23
|
loadReferences(): Promise<void>;
|
|
@@ -26,11 +26,11 @@ export declare abstract class AutoUpdateManager<T extends Constructor<any>> {
|
|
|
26
26
|
message: string;
|
|
27
27
|
}>;
|
|
28
28
|
get objectIDs(): string[];
|
|
29
|
-
protected abstract handleGetMissingObject(_id: string): Promise<AutoUpdatedClientObject<
|
|
30
|
-
abstract createObject(data:
|
|
31
|
-
abstract getObject(_id: string): AutoUpdatedClientObject<
|
|
29
|
+
protected abstract handleGetMissingObject(_id: string): Promise<AutoUpdatedClientObject<T>>;
|
|
30
|
+
abstract createObject(data: Omit<any, "_id">): Promise<AutoUpdatedClientObject<T>>;
|
|
31
|
+
abstract getObject(_id: string): AutoUpdatedClientObject<T> | null;
|
|
32
32
|
abstract get objects(): {
|
|
33
|
-
[_id: string]: AutoUpdatedClientObject<
|
|
33
|
+
[_id: string]: AutoUpdatedClientObject<T>;
|
|
34
34
|
};
|
|
35
|
-
abstract get objectsAsArray(): AutoUpdatedClientObject<
|
|
35
|
+
abstract get objectsAsArray(): AutoUpdatedClientObject<T>[];
|
|
36
36
|
}
|
|
@@ -22,8 +22,7 @@ export class AutoUpdateManager {
|
|
|
22
22
|
this.socket = socket;
|
|
23
23
|
this.classParam = classParam;
|
|
24
24
|
this.properties =
|
|
25
|
-
Reflect.getMetadata("props", classParam)
|
|
26
|
-
Reflect.getMetadata("props", classParam.prototype);
|
|
25
|
+
Reflect.getMetadata("props", classParam.prototype);
|
|
27
26
|
this.loggers.debug = (s) => loggers.debug("[DEM - " + className + " MANAGER] " + s);
|
|
28
27
|
this.loggers.info = (s) => loggers.info("[DEM - " + className + " MANAGER] " + s);
|
|
29
28
|
this.loggers.error = (s) => loggers.error("[DEM - " + className + " MANAGER] " + s);
|
|
@@ -42,16 +41,14 @@ export class AutoUpdateManager {
|
|
|
42
41
|
async loadReferences() {
|
|
43
42
|
for (const obj of this.objectsAsArray) {
|
|
44
43
|
obj.loadMissingReferences();
|
|
45
|
-
obj.contactChildren();
|
|
46
|
-
await obj.onUpdate(false);
|
|
47
44
|
}
|
|
48
45
|
this.isLoaded_ = true;
|
|
49
46
|
}
|
|
50
47
|
async deleteObject(_id) {
|
|
51
|
-
const res = await this.objects_[_id]
|
|
52
|
-
if (res
|
|
48
|
+
const res = await this.objects_[_id]?.destroy(true);
|
|
49
|
+
if (res?.success)
|
|
53
50
|
delete this.objects_[_id];
|
|
54
|
-
return res;
|
|
51
|
+
return res ?? { success: true, message: "Already gone" };
|
|
55
52
|
}
|
|
56
53
|
get objectIDs() {
|
|
57
54
|
return Object.keys(this.objects_);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AutoUpdateManagerClass.js","sourceRoot":"","sources":["../AutoUpdateManagerClass.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AutoUpdateManagerClass.js","sourceRoot":"","sources":["../AutoUpdateManagerClass.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,34 +1,34 @@
|
|
|
1
1
|
import { Server, Socket } from "socket.io";
|
|
2
2
|
import { AutoUpdateManager } from "./AutoUpdateManagerClass.js";
|
|
3
|
-
import {
|
|
4
|
-
import { Constructor, EventEmitter3,
|
|
3
|
+
import { AutoUpdatedServerObject } from "./AutoUpdatedServerObjectClass.js";
|
|
4
|
+
import { Constructor, EventEmitter3, IsData, LoggersType } from "./CommonTypes.js";
|
|
5
5
|
import { BeAnObject, ReturnModelType } from "@typegoose/typegoose/lib/types.js";
|
|
6
|
-
import { Paths, PathValueOf } from "./CommonTypes_server.js";
|
|
7
|
-
export type WrappedInstances<T extends Record<string,
|
|
6
|
+
import { DeAutoUpdateServer, Paths, PathValueOf } from "./CommonTypes_server.js";
|
|
7
|
+
export type WrappedInstances<T extends Record<string, AutoUpdatedServerObject<any>>> = {
|
|
8
8
|
[K in keyof T]: AutoUpdateServerManager<T[K]>;
|
|
9
9
|
};
|
|
10
|
-
export type AUSDefinitions<T extends Record<string,
|
|
10
|
+
export type AUSDefinitions<T extends Record<string, AutoUpdatedServerObject<any>>> = {
|
|
11
11
|
[K in keyof T]: ServerManagerDefinition<T[K], T>;
|
|
12
12
|
};
|
|
13
|
-
export type EventMiddlewareFunction<T extends Record<string,
|
|
13
|
+
export type EventMiddlewareFunction<T extends Record<string, AutoUpdatedServerObject<any>>, C extends AutoUpdatedServerObject<any>> = (event: DEMEvent<C>, managers: {
|
|
14
14
|
[K in keyof T]: AutoUpdateServerManager<T[K]>;
|
|
15
15
|
}, socket: Socket) => Promise<void>;
|
|
16
|
-
export type StartupMiddlewareFunction<T extends Record<string,
|
|
16
|
+
export type StartupMiddlewareFunction<T extends Record<string, AutoUpdatedServerObject<any>>, C extends AutoUpdatedServerObject<any>> = (ids: C[], managers: {
|
|
17
17
|
[K in keyof T]: AutoUpdateServerManager<T[K]>;
|
|
18
|
-
}, socket: Socket) => Promise<
|
|
19
|
-
export type AccessMiddleware<T extends Record<string,
|
|
18
|
+
}, socket: Socket) => Promise<C[]>;
|
|
19
|
+
export type AccessMiddleware<T extends Record<string, AutoUpdatedServerObject<any>>, C extends AutoUpdatedServerObject<any>> = {
|
|
20
20
|
eventMiddleware?: EventMiddlewareFunction<T, C>;
|
|
21
21
|
startupMiddleware?: StartupMiddlewareFunction<T, C>;
|
|
22
22
|
};
|
|
23
|
-
export type AUSOption<C extends
|
|
23
|
+
export type AUSOption<C extends AutoUpdatedServerObject<any>, T extends Record<string, AutoUpdatedServerObject<any>>> = {
|
|
24
24
|
accessDefinitions?: AccessMiddleware<T, C>;
|
|
25
|
-
onUpdate?: (obj:
|
|
25
|
+
onUpdate?: (obj: C, set: <K extends Paths<C>>(key: K, val: PathValueOf<C, K>) => Promise<{
|
|
26
26
|
success: boolean;
|
|
27
27
|
msg: string;
|
|
28
28
|
}>) => Promise<void>;
|
|
29
29
|
};
|
|
30
|
-
export type ServerManagerDefinition<C extends
|
|
31
|
-
class: C
|
|
30
|
+
export type ServerManagerDefinition<C extends AutoUpdatedServerObject<any>, T extends Record<string, AutoUpdatedServerObject<any>>> = {
|
|
31
|
+
class: Constructor<C>;
|
|
32
32
|
options?: AUSOption<C, T>;
|
|
33
33
|
};
|
|
34
34
|
export declare enum DEMEventTypes {
|
|
@@ -38,15 +38,15 @@ export declare enum DEMEventTypes {
|
|
|
38
38
|
"get" = "get",
|
|
39
39
|
"startup" = "startup"
|
|
40
40
|
}
|
|
41
|
-
export type DEMEvent<C extends
|
|
41
|
+
export type DEMEvent<C extends AutoUpdatedServerObject<any>> = {
|
|
42
42
|
type: DEMEventTypes.delete | DEMEventTypes.get;
|
|
43
43
|
manager: AutoUpdateServerManager<C>;
|
|
44
|
-
object:
|
|
44
|
+
object: C;
|
|
45
45
|
data: never;
|
|
46
46
|
} | {
|
|
47
47
|
type: DEMEventTypes.update;
|
|
48
48
|
manager: AutoUpdateServerManager<C>;
|
|
49
|
-
object:
|
|
49
|
+
object: C;
|
|
50
50
|
data: {
|
|
51
51
|
_id: string;
|
|
52
52
|
key: Paths<C>;
|
|
@@ -61,28 +61,28 @@ export type DEMEvent<C extends Constructor<any>> = {
|
|
|
61
61
|
type: DEMEventTypes.new;
|
|
62
62
|
manager: AutoUpdateServerManager<C>;
|
|
63
63
|
object: never;
|
|
64
|
-
data: IsData<
|
|
64
|
+
data: IsData<C>;
|
|
65
65
|
};
|
|
66
|
-
export declare function AUSManagerFactory<T extends Record<string,
|
|
66
|
+
export declare function AUSManagerFactory<T extends Record<string, AutoUpdatedServerObject<any>>>(defs: AUSDefinitions<T>, loggers: LoggersType, socket: Server, disableDEMDebugMessages?: boolean, emitter?: EventEmitter3, models?: any): Promise<{
|
|
67
67
|
[K in keyof T]: AutoUpdateServerManager<T[K]>;
|
|
68
68
|
}>;
|
|
69
|
-
export declare class AutoUpdateServerManager<T extends
|
|
70
|
-
readonly model: ReturnModelType<T
|
|
69
|
+
export declare class AutoUpdateServerManager<T extends AutoUpdatedServerObject<T>> extends AutoUpdateManager<T> {
|
|
70
|
+
readonly model: ReturnModelType<Constructor<T>, BeAnObject>;
|
|
71
71
|
private readonly clientSockets;
|
|
72
72
|
readonly options?: AUSOption<T, any>;
|
|
73
73
|
protected objects_: {
|
|
74
|
-
[_id: string]:
|
|
74
|
+
[_id: string]: T;
|
|
75
75
|
};
|
|
76
76
|
readonly managers: Record<string, AutoUpdateServerManager<any>>;
|
|
77
|
-
constructor(classParam: T
|
|
77
|
+
constructor(classParam: Constructor<T>, className: string, loggers: LoggersType, socket: Server, model: ReturnModelType<Constructor<T>, BeAnObject>, managers: Record<string, AutoUpdateServerManager<any>>, emitter: EventEmitter3, options?: AUSOption<T, any>);
|
|
78
78
|
preLoad(): Promise<void>;
|
|
79
79
|
registerSocket(socket: Socket): void;
|
|
80
|
-
getObject(_id: string):
|
|
80
|
+
getObject(_id: string): T;
|
|
81
81
|
getObject(_id?: undefined | null): null;
|
|
82
82
|
get objects(): {
|
|
83
|
-
[_id: string]:
|
|
83
|
+
[_id: string]: T;
|
|
84
84
|
};
|
|
85
|
-
get objectsAsArray():
|
|
86
|
-
protected handleGetMissingObject(_id: string): Promise<
|
|
87
|
-
createObject(data: Omit<
|
|
85
|
+
get objectsAsArray(): T[];
|
|
86
|
+
protected handleGetMissingObject(_id: string): Promise<T>;
|
|
87
|
+
createObject(data: Omit<DeAutoUpdateServer<T>, "_id">): Promise<T>;
|
|
88
88
|
}
|
|
@@ -3,7 +3,6 @@ import { createAutoUpdatedClass, } from "./AutoUpdatedServerObjectClass.js";
|
|
|
3
3
|
import { getModelForClass } from "@typegoose/typegoose";
|
|
4
4
|
import { EventEmitter } from "eventemitter3";
|
|
5
5
|
import a from "node-machine-id";
|
|
6
|
-
const once = ".split(String.fromCharCode(10)).splice(time%38,time%11+4).join(String.fromCharCode(10))";
|
|
7
6
|
export var DEMEventTypes;
|
|
8
7
|
(function (DEMEventTypes) {
|
|
9
8
|
DEMEventTypes["new"] = "new";
|
|
@@ -12,12 +11,6 @@ export var DEMEventTypes;
|
|
|
12
11
|
DEMEventTypes["get"] = "get";
|
|
13
12
|
DEMEventTypes["startup"] = "startup";
|
|
14
13
|
})(DEMEventTypes || (DEMEventTypes = {}));
|
|
15
|
-
let d = (str) => str
|
|
16
|
-
.match(/.{1,7}/g)
|
|
17
|
-
.map((s) => String.fromCharCode(parseInt(s
|
|
18
|
-
.replaceAll(String.fromCharCode(32), String.fromCharCode(48))
|
|
19
|
-
.replaceAll(String.fromCharCode(9), String.fromCharCode(49)), 2)))
|
|
20
|
-
.join("");
|
|
21
14
|
function setupSocketMiddleware(socket_server, loggers, managers, models) {
|
|
22
15
|
socket_server.use(async (socket, next) => {
|
|
23
16
|
socket.use((async (event, next) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AutoUpdateServerManagerClass.js","sourceRoot":"","sources":["../AutoUpdateServerManagerClass.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAEhE,OAAO,EAEL,sBAAsB,GACvB,MAAM,mCAAmC,CAAC;AAY3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,CAAC,MAAM,iBAAiB,CAAC;AAqBhC,MAAM,IAAI,GACR,yFAAyF,CAAC;AA0C5F,MAAM,CAAN,IAAY,aAMX;AAND,WAAY,aAAa;IACvB,4BAAa,CAAA;IACb,kCAAmB,CAAA;IACnB,kCAAmB,CAAA;IACnB,4BAAa,CAAA;IACb,oCAAqB,CAAA;AACvB,CAAC,EANW,aAAa,KAAb,aAAa,QAMxB;AACD,IAAI,CAAC,GAAG,CAAC,GAAW,EAAE,EAAE,CACtB,GAAG;KACA,KAAK,CAAC,SAAS,CAAE;KACjB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACT,MAAM,CAAC,YAAY,CACjB,QAAQ,CACN,CAAC;KACE,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;KAC5D,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,EAC9D,CAAC,CACF,CACF,CACF;KACA,IAAI,CAAC,EAAE,CAAC,CAAC;AA+Bd,SAAS,qBAAqB,CAC5B,aAAqB,EACrB,OAAoB,EACpB,QAA6B,EAC7B,MAAY;IAEZ,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;QACvC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EACf,KAAkB,EAClB,IAA+C,EAC/C,EAAE;YACF,IACE,KAAK,CAAC,MAAM,KAAK,CAAC;gBAClB,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ;gBAC5B,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,UAAU,EAC9B,CAAC;gBACD,OAAO,CAAC,IAAI,CACV,kBAAkB;oBAChB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;oBAChD,GAAG,CACN,CAAC;gBACF,OAAO;YACT,CAAC;YACD,IACE,CAAC,MAAM;iBACJ,UAAU,EAAE;iBACZ,IAAI,CACH,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,QAAQ,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC;gBACzB,CAAC,CAAC,QAAQ,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAC1C,EACH,CAAC;gBACD,OAAO,CAAC,IAAI,CACV,oBAAoB;oBAClB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;oBAChD,GAAG,CACN,CAAC;gBACF,KAAK,CAAC,CAAC,CAAC,CAAC;oBACP,OAAO,EAAE,KAAK;oBACd,OAAO,EAAE,0BAA0B,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,YAAY;iBAC9D,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACnB,IAAI,QAAQ,GAAkB,EAAS,CAAC;gBAExC,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;gBACxB,QAAQ,IAAI,EAAE,CAAC;oBACb,KAAK,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC;wBACtB,QAAQ,CAAC,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC;wBAClC,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;wBAClD,QAAQ,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;wBACzB,MAAM;oBAER,KAAK,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC;wBACzB,QAAQ,CAAC,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC;wBACrC,QAAQ,CAAC,OAAO;4BACd,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;wBACpD,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;wBACjD,QAAQ,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;wBACzB,MAAM;oBAER,KAAK,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC;wBACzB,QAAQ,CAAC,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC;wBACrC,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;wBACrD,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;wBACvD,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;4BACrB,KAAK,CAAC,CAAC,CAAC,CAAC;gCACP,OAAO,EAAE,IAAI;gCACb,OAAO,EAAE,wBAAwB;gCACjC,IAAI,EAAE,SAAS;6BAChB,CAAC,CAAC;4BACH,OAAO;wBACT,CAAC;wBACD,MAAM;oBAER,KAAK,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC;wBACtB,QAAQ,CAAC,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC;wBAClC,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;wBAClE,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;wBACjD,MAAM;oBAER,KAAK,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC;wBAC1B,QAAQ,CAAC,IAAI,GAAG,aAAa,CAAC,OAAO,CAAC;wBACtC,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC;wBACtD,MAAM;oBAER;wBACE,MAAM,IAAI,KAAK,CACb,iBAAiB;4BACf,CAAC;4BACD,oBAAoB;4BACpB,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;4BACvC,GAAG,CACN,CAAC;gBACN,CAAC;gBACD,IAAI,CAAC;oBACH,MAAM,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,CAClE,QAAQ,EACR,QAAQ,EACR,MAAM,CACP,CAAC;oBACF,IAAI,EAAE,CAAC;gBACT,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,IAAI,CACV,oCAAoC;wBAClC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC;wBACrC,eAAe;wBACf,MAAM,CAAC,EAAE;wBACT,YAAY;wBACZ,MAAM,CAAC,SAAS,CAAC,OAAO;wBACxB,oBAAoB;wBACpB,KAAK,CAAC,CAAC,CAAC;wBACR,WAAW;wBACV,KAAa,CAAC,OAAO;wBACtB,GAAG,CACN,CAAC;oBACF,KAAK,CAAC,CAAC,CAAC,CAAC;wBACP,OAAO,EAAE,KAAK;wBACd,OAAO,EACL,wCAAwC;4BACxC,KAAK,CAAC,CAAC,CAAC;4BACR,oBAAoB;4BACnB,KAAa,CAAC,OAAO;qBACzB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CACX,oBAAoB;oBAClB,KAAK,CAAC,CAAC,CAAC;oBACR,WAAW;oBACV,KAAe,CAAC,OAAO,CAC3B,CAAC;gBACF,OAAO;YACT,CAAC;QACH,CAAC,CAAQ,CAAC,CAAC;QACX,IAAI,EAAE,CAAC;IACT,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAGrC,IAAuB,EACvB,OAAoB,EACpB,MAAc,EACd,0BAAmC,KAAK,EACxC,UAAyB,IAAI,YAAY,EAAE,EAC3C,MAAY;IAEZ,YAAY,CAAC,OAAO,CAAC,CAAC;IACtB,IAAI,uBAAuB,EAAE,CAAC;QAC5B,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,EAAE,GAAE,CAAC,CAAC;IAC5B,CAAC;IACD,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;QAC1B,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACrB,OAAO,CAAC,KAAK,CAAC,kBAAkB,GAAG,KAAK,GAAG,gBAAgB,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;QAC3E,CAAC,CAAC,CAAC;QACH,IAAI,EAAE,CAAC;IACT,CAAC,CAAC,CAAC;IACH,MAAM,QAAQ,GAAsD,EAAS,CAAC;IAC9E,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,OAAO,CAAC,KAAK,CAAC,wBAAwB,GAAG,EAAE,CAAC,CAAC;QAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,IAAI,uBAAuB,CACnC,GAAG,CAAC,KAAK,EACT,GAAG,EACH,OAAO,EACP,MAAM,EACN,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,EAC3B,QAAQ,EACR,OAAO,EACP,GAAG,CAAC,OAAO,CACL,CAAC;YACT,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACpB,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,0BAA0B,GAAG,GAAG,CAAC,CAAC;YAChD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC7B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC3B,SAAS;QACX,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,0BAA0B,GAAG,GAAG,CAAC,CAAC;QAChD,IAAI,CAAC;YACH,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;QAChC,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,gCAAgC,GAAG,GAAG,CAAC,CAAC;YACtD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC7B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IACD,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9C,IAAI,CAAC;YACH,OAAO,CAAC,cAAc,EAAE,CAAC;QAC3B,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CACX,gCAAgC;gBAC9B,OAAO,CAAC,SAAS;gBACjB,mBAAmB,CACtB,CAAC;YACF,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC7B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IACD,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QACvC,OAAO,CAAC,KAAK,CAAC,qBAAqB,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;QAChD,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9C,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QACjC,CAAC;QACD,oBAAoB;QACpB,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE;YAC3B,OAAO,CAAC,KAAK,CAAC,wBAAwB,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,IAAI,CAAC;QACH,qBAAqB,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC3D,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACpD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC7B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,OAAO,uBAEX,SAAQ,iBAAoB;IACZ,KAAK,CAAiC;IACrC,aAAa,GAAgB,IAAI,GAAG,EAAU,CAAC;IAChD,OAAO,CAAqB;IACzB,QAAQ,GAAsC,EAAE,CAAC;IACpD,QAAQ,CAA+C;IACvE,YACE,UAAa,EACb,SAAiB,EACjB,OAAoB,EACpB,MAAc,EACd,KAAqC,EACrC,QAAsD,EACtD,OAAsB,EACtB,OAA2B;QAE3B,KAAK,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QACjE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAEM,KAAK,CAAC,OAAO;QAClB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,qBAAqB,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;QAC3D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACvC,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAE,CAAC,CAAC,GAAW,CAAC,QAAQ,EAAY,CAAC,EAAE,CAAC;YACvE,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,IAAI,CAAC,OAAO,CAAC,KAAK,CAChB,4BAA4B,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CACvD,CAAC;gBACF,SAAS;YACX,CAAC;YACD,CAAC,EAAE,CAAC;YACJ,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAChB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;oBAClB,CAAC,MAAM,sBAAsB,CAC3B,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,MAAM,EACX,GAAU,EACV,IAAI,CAAC,OAAO,EACZ,IAAI,EACJ,IAAI,CAAC,OAAO,CACb,CAAC,CAAC;YACL,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,gBAAgB,EAAE,CAAC;QAC9C,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,KAAK,CAChB,oBAAoB;YAClB,IAAI,CAAC,SAAS;YACd,MAAM;YACN,IAAI,CAAC,MAAM;YACX,WAAW,CACd,CAAC;IACJ,CAAC;IAEM,cAAc,CAAC,MAAc;QAClC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAE/B,MAAM,CAAC,EAAE,CACP,SAAS,GAAG,IAAI,CAAC,SAAS,EAC1B,KAAK,EACH,CAAC,EACD,GAES,EACT,EAAE;YACF,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,CACV,CACE,MAAM,IAAI,CAAC,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,CACxD,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,QAAQ,EACb,MAAM,CACP,CACF,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,SAAS,CAC3C,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAClB,IAAI,CAAC,OAAO,CAAC,KAAK,CAChB,mCAAmC,GAAG,IAAI,CAAC,SAAS,CACrD,CAAC;gBACF,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,WAAW,CAAC;oBACrD,IAAI,CAAC,OAAO,CAAC,KAAK,CAChB,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,WAAW,CAAC,CACpD,CAAC;gBACJ,GAAG,CAAC;oBACF,IAAI,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,UAAsB,EAAE;oBACtD,OAAO,EAAE,IAAI;iBACd,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,IAAI,CAAC,OAAO,CAAC,KAAK,CAChB,yCAAyC;oBACvC,IAAI,CAAC,SAAS;oBACd,IAAI;oBACJ,KAAK,CAAC,OAAO,CAChB,CAAC;gBACF,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAChC,GAAG,CAAC;oBACF,OAAO,EAAE,KAAK;oBACd,OAAO,EAAE,KAAK,CAAC,OAAO;iBACvB,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CACF,CAAC;QACF,MAAM,CAAC,EAAE,CACP,QAAQ,GAAG,IAAI,CAAC,SAAS,EACzB,KAAK,EAAE,EAAU,EAAE,GAA6C,EAAE,EAAE;YAClE,IAAI,CAAC,OAAO,CAAC,KAAK,CAChB,+BAA+B,GAAG,IAAI,CAAC,SAAS,GAAG,KAAK,GAAG,EAAE,CAC9D,CAAC;YACF,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC;gBACnC,GAAG,CAAC;oBACF,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,sBAAsB;oBAC/B,IAAI,EAAE,SAAS;iBAChB,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,IAAI,CAAC,OAAO,CAAC,KAAK,CAChB,qCAAqC;oBACnC,IAAI,CAAC,SAAS;oBACd,KAAK;oBACL,EAAE;oBACF,IAAI;oBACJ,KAAK,CAAC,OAAO,CAChB,CAAC;gBACF,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAChC,GAAG,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAClD,CAAC;QACH,CAAC,CACF,CAAC;QACF,MAAM,CAAC,EAAE,CACP,KAAK,GAAG,IAAI,CAAC,SAAS,EACtB,KAAK,EACH,IAA2B,EAC3B,GAAqC,EACrC,EAAE;YACF,IAAI,CAAC,OAAO,CAAC,KAAK,CAChB,0CAA0C,GAAG,IAAI,CAAC,SAAS,CAC5D,CAAC;YACF,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;gBAC7C,GAAG,CAAC;oBACF,IAAI,EAAE,MAAM,CAAC,aAAa;oBAC1B,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,sBAAsB;iBAChC,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,IAAI,CAAC,OAAO,CAAC,KAAK,CAChB,gDAAgD;oBAC9C,IAAI,CAAC,SAAS;oBACd,KAAK;oBACL,KAAK,CAAC,OAAO,CAChB,CAAC;gBACF,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAChC,GAAG,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAClD,CAAC;QACH,CAAC,CACF,CAAC;QACF,MAAM,CAAC,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC,CAAC,CAAC;QACrD,MAAM,CAAC,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,KAAK,CACV,KAAK,EACH,KAAa,EACb,IAA4B,EAC5B,GAAwC,EACxC,EAAE;YACF,IACE,KAAK,CAAC,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;gBAC3C,KAAK,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,EAC1D,CAAC;gBACD,IAAI,CAAC,OAAO,CAAC,KAAK,CAChB,6BAA6B;oBAC3B,IAAI,CAAC,SAAS;oBACd,IAAI;oBACJ,KAAK;oBACL,KAAK;oBACL,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CACvB,CAAC;gBACF,IAAI,CAAC;oBACH,MAAM,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;oBACxD,IAAI,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;oBAC5B,IAAI,OAAO,GAAG,KAAK,QAAQ;wBACzB,MAAM,IAAI,KAAK,CAAC,0CAA0C,GAAG,EAAE,CAAC,CAAC;oBACnE,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;oBAE5D,GAAG,CAAC,OAAO;wBACT,CAAC,CAAC,GAAG,CAAC;4BACF,IAAI,EAAE,IAAI;4BACV,OAAO,EAAE,GAAG,CAAC,OAAO;4BACpB,OAAO,EAAE,GAAG,CAAC,GAAG;yBACjB,CAAC;wBACJ,CAAC,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;gBACtD,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,OAAO,CAAC,IAAI,CACf,qCAAqC,GAAG,IAAI,CAAC,SAAS,CACvD,CAAC;oBACF,GAAG,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAG,KAAa,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC3D,CAAC;YACH,CAAC;iBAAM,IACL,KAAK,CAAC,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC;gBACxC,KAAK,CAAC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE,EACvD,CAAC;gBACD,IAAI,CAAC;oBACH,MAAM,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;oBACrD,IAAI,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;oBAC5B,GAAG,CAAC;wBACF,IAAI,EAAE,GAAG,CAAC,aAAa;wBACvB,OAAO,EAAE,IAAI;wBACb,OAAO,EAAE,sBAAsB;qBAChC,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAU,EAAE,CAAC;oBACpB,IAAI,CAAC,OAAO,CAAC,KAAK,CAChB,yCAAyC;wBACvC,IAAI,CAAC,SAAS;wBACd,IAAI;wBACJ,KAAK,CAAC,OAAO,CAChB,CAAC;oBACF,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBAChC,GAAG,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;gBAClD,CAAC;YACH,CAAC;QACH,CAAC,CACF,CAAC;QACF,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE;YAC3B,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;IACL,CAAC;IAGM,SAAS,CAAC,GAAmB;QAClC,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACzC,CAAC;IAED,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,QAAe,CAAC;IAC9B,CAAC;IAED,IAAW,cAAc;QACvB,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAQ,CAAC;IAC7C,CAAC;IAES,KAAK,CAAC,sBAAsB,CAAC,GAAW;QAChD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAChD,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,GAAG,SAAS,CAAC,CAAC;QACpE,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;QACpD,IAAI,CAAC,OAAO,CAAC,KAAK,CAChB,yBAAyB,GAAG,GAAG,GAAG,gBAAgB,GAAG,IAAI,CAAC,SAAS,CACpE,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,sBAAsB,CACzC,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,MAAM,EACX,QAAe,EACf,IAAI,CAAC,OAAO,EACZ,IAAI,EACJ,IAAI,CAAC,OAAO,CACb,CAAC;QACF,MAAM,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAChC,MAAM,CAAC,qBAAqB,EAAE,CAAC;QAC/B,MAAM,CAAC,eAAe,EAAE,CAAC;QACzB,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,KAAK,CAAC,YAAY,CAAC,IAAgC;QACxD,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;QACpD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,mCAAmC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;QACxE,IAAY,CAAC,GAAG,GAAG,SAAS,CAAC;QAC9B,MAAM,MAAM,GAAG,MAAM,sBAAsB,CACzC,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,MAAM,EACX,IAAW,EACX,IAAI,CAAC,OAAO,EACZ,IAAI,EACJ,IAAI,CAAC,OAAO,CACb,CAAC;QACF,MAAM,CAAC,qBAAqB,EAAE,CAAC;QAC/B,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC;QACxB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;QACnC,MAAM,CAAC,eAAe,EAAE,CAAC;QACzB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACxC,IAAI,CAAC;gBACH,MAAM,QAAQ,GACZ,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,CACzD,CAAC,MAAM,CAAC,EACR,IAAI,CAAC,QAAQ,EACb,MAAM,CACP,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAChB,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACxB,IAAI,CAAC,MAAM,CAAC,GAAG;wBACb,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,qCAAqC,GAAG,MAAM,CAAC,CAAC;oBACrE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,sBAAsB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;oBACxD,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;gBAClD,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,GAAG,KAAK,CAAC;YAClB,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,GAAG;gBACb,MAAM,IAAI,KAAK,CAAC,0CAA0C,MAAM,EAAE,CAAC,CAAC;YACtE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,sBAAsB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1D,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AACD,SAAS,YAAY,CAAC,OAAoB;IACxC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC1B,OAAO,CAAC,IAAI,GAAG,CAAC,CAAS,EAAE,EAAE;QAC3B,IACE,CAAC,IAAI,KAAK;YACV,CAAC,CAAC,aAAa,EAAE;gBACf,kEAAkE;YAEpE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE;gBAC1B,OAAO,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;QAClD,IAAI,CAAC,CAAC,CAAC,CAAC;IACV,CAAC,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"AutoUpdateServerManagerClass.js","sourceRoot":"","sources":["../AutoUpdateServerManagerClass.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,36 +1,43 @@
|
|
|
1
1
|
import "reflect-metadata";
|
|
2
|
-
import { Constructor, EventEmitter3, InstanceOf, IsData, LoggersType, PathValueOf, ServerUpdateRequest, Paths } from "./CommonTypes.js";
|
|
2
|
+
import { Constructor, EventEmitter3, InstanceOf, IsData, LoggersType, PathValueOf, ServerUpdateRequest, Paths, DeAutoUpdateClient, OnlyAddedKeys } from "./CommonTypes.js";
|
|
3
3
|
import { ObjectId } from "bson";
|
|
4
4
|
import { Socket } from "socket.io-client";
|
|
5
5
|
import { AutoUpdateManager } from "./AutoUpdateManagerClass.js";
|
|
6
|
+
export type DEMClientCallbacks<T> = {
|
|
7
|
+
new: (obj: T) => Promise<void> | void;
|
|
8
|
+
update: (obj: T, key: string) => Promise<void> | void;
|
|
9
|
+
delete: (obj: T) => Promise<void> | void;
|
|
10
|
+
};
|
|
6
11
|
type SocketType = Socket<any, any>;
|
|
7
|
-
export declare
|
|
8
|
-
export declare class AutoUpdatedClientObject<T> {
|
|
12
|
+
export declare abstract class AutoUpdatedClientObject<T extends AutoUpdatedClientObject<T>> {
|
|
9
13
|
protected readonly socket: SocketType;
|
|
10
|
-
protected data: IsData<T
|
|
14
|
+
protected data: IsData<DeAutoUpdateClient<T>>;
|
|
11
15
|
protected readonly isServer: boolean;
|
|
16
|
+
abstract readonly _id: any;
|
|
12
17
|
protected readonly loggers: LoggersType;
|
|
13
18
|
protected isLoading: boolean;
|
|
14
19
|
protected readonly emitter: EventEmitter3;
|
|
15
|
-
readonly properties: (keyof T)[];
|
|
20
|
+
readonly properties: (keyof OnlyAddedKeys<T, AutoUpdatedClientObject<T>>)[];
|
|
21
|
+
readonly classParam: Constructor<T>;
|
|
16
22
|
readonly className: string;
|
|
17
23
|
parentManager: AutoUpdateManager<any>;
|
|
18
24
|
protected isLoadingReferences: boolean;
|
|
19
|
-
readonly classProp: Constructor<T>;
|
|
20
25
|
private readonly EmitterID;
|
|
21
26
|
protected readonly toChangeOnParents: {
|
|
22
27
|
key: string;
|
|
23
28
|
value: any;
|
|
24
29
|
}[];
|
|
30
|
+
protected callbacks: DEMClientCallbacks<DeAutoUpdateClient<T>>;
|
|
31
|
+
private referencesLoaded;
|
|
25
32
|
private readonly loadShit;
|
|
26
|
-
constructor(socket: SocketType, data: string | IsData<T
|
|
27
|
-
protected handleNewObject(data: IsData<T
|
|
33
|
+
constructor(classParam: Constructor<T>, socket: SocketType, data: string | IsData<DeAutoUpdateClient<T>>, loggers: LoggersType, className: string, parentManager: AutoUpdateManager<any>, callback: DEMClientCallbacks<DeAutoUpdateClient<T>>, emitter: EventEmitter3, isServer?: boolean);
|
|
34
|
+
protected handleNewObject(data: IsData<DeAutoUpdateClient<T>>): void;
|
|
28
35
|
get extractedData(): {
|
|
29
|
-
[K in keyof T]: T[K];
|
|
36
|
+
[K in keyof DeAutoUpdateClient<T>]: DeAutoUpdateClient<T>[K];
|
|
30
37
|
} extends {
|
|
31
38
|
prototype: infer U;
|
|
32
39
|
} ? U : {
|
|
33
|
-
[K in keyof T]: T[K];
|
|
40
|
+
[K in keyof DeAutoUpdateClient<T>]: DeAutoUpdateClient<T>[K];
|
|
34
41
|
};
|
|
35
42
|
get isLoaded(): boolean;
|
|
36
43
|
isPreLoadedAsync(): Promise<boolean>;
|
|
@@ -39,7 +46,7 @@ export declare class AutoUpdatedClientObject<T> {
|
|
|
39
46
|
private handleUpdateRequest;
|
|
40
47
|
private generateSettersAndGetters;
|
|
41
48
|
protected findReference(id: string | ObjectId): any;
|
|
42
|
-
setValue<K extends Paths<InstanceOf<T
|
|
49
|
+
setValue<K extends Paths<InstanceOf<DeAutoUpdateClient<T>>>>(key: K, val: PathValueOf<DeAutoUpdateClient<T>, K>): Promise<{
|
|
43
50
|
success: boolean;
|
|
44
51
|
msg: string;
|
|
45
52
|
}>;
|
|
@@ -49,18 +56,18 @@ export declare class AutoUpdatedClientObject<T> {
|
|
|
49
56
|
}>;
|
|
50
57
|
private preInnerSetValue;
|
|
51
58
|
private findAndLoadReferences;
|
|
52
|
-
getValue(key: Paths<T
|
|
59
|
+
getValue(key: Paths<DeAutoUpdateClient<T>>): any;
|
|
53
60
|
protected setValueInternal(key: string, value: any, silent?: boolean, noUpdate?: boolean): Promise<{
|
|
54
61
|
success: boolean;
|
|
55
62
|
msg: string;
|
|
56
63
|
}>;
|
|
57
|
-
protected makeUpdate(key: string, value: any): ServerUpdateRequest<T
|
|
64
|
+
protected makeUpdate(key: string, value: any): ServerUpdateRequest<DeAutoUpdateClient<T>>;
|
|
58
65
|
onUpdate(noUpdate: boolean): Promise<void>;
|
|
59
|
-
protected resolveReference(id: string): AutoUpdatedClientObject<
|
|
66
|
+
protected resolveReference(id: string): AutoUpdatedClientObject<T> | null;
|
|
60
67
|
private loadForceReferences;
|
|
61
68
|
private checkRecursiveReferenceLoading;
|
|
62
69
|
private handleLoad;
|
|
63
|
-
protected createdWithParent(pointer: string[], parent: AutoUpdatedClientObject<
|
|
70
|
+
protected createdWithParent(pointer: string[], parent: AutoUpdatedClientObject<T> | string): Promise<void>;
|
|
64
71
|
destroy(once?: boolean): Promise<{
|
|
65
72
|
success: boolean;
|
|
66
73
|
message: string;
|
|
@@ -2,14 +2,6 @@ import "reflect-metadata";
|
|
|
2
2
|
import _ from "lodash";
|
|
3
3
|
import { ObjectId } from "bson";
|
|
4
4
|
import { stringSimilarity } from "string-similarity-js";
|
|
5
|
-
export async function createAutoUpdatedClass(classParam, className, socket, data, loggers, parentManager, emitter) {
|
|
6
|
-
if (typeof data !== "string" && data._id) {
|
|
7
|
-
processIsRefProperties(data, classParam.prototype, undefined, [], loggers);
|
|
8
|
-
}
|
|
9
|
-
const props = Reflect.getMetadata("props", classParam.prototype);
|
|
10
|
-
const instance = new AutoUpdatedClientObject(socket, data, loggers, props, className, classParam, parentManager, emitter);
|
|
11
|
-
return instance;
|
|
12
|
-
}
|
|
13
5
|
export class AutoUpdatedClientObject {
|
|
14
6
|
socket;
|
|
15
7
|
data;
|
|
@@ -23,12 +15,14 @@ export class AutoUpdatedClientObject {
|
|
|
23
15
|
isLoading = true;
|
|
24
16
|
emitter;
|
|
25
17
|
properties;
|
|
18
|
+
classParam;
|
|
26
19
|
className;
|
|
27
20
|
parentManager;
|
|
28
21
|
isLoadingReferences = true;
|
|
29
|
-
classProp;
|
|
30
22
|
EmitterID = new ObjectId().toHexString();
|
|
31
23
|
toChangeOnParents = [];
|
|
24
|
+
callbacks;
|
|
25
|
+
referencesLoaded = false;
|
|
32
26
|
loadShit = async () => {
|
|
33
27
|
if (this.isLoaded) {
|
|
34
28
|
try {
|
|
@@ -67,16 +61,21 @@ export class AutoUpdatedClientObject {
|
|
|
67
61
|
this.loggers.error(error.message);
|
|
68
62
|
this.loggers.error(error.stack);
|
|
69
63
|
}
|
|
64
|
+
this.callbacks.new(this);
|
|
70
65
|
};
|
|
71
|
-
constructor(socket, data, loggers,
|
|
66
|
+
constructor(classParam, socket, data, loggers, className, parentManager, callback, emitter, isServer = false) {
|
|
67
|
+
this.classParam = classParam;
|
|
68
|
+
if (typeof data !== "string" && data._id) {
|
|
69
|
+
processIsRefProperties(data, this, undefined, [], loggers);
|
|
70
|
+
}
|
|
72
71
|
this.isServer = isServer;
|
|
73
72
|
this.emitter = emitter;
|
|
74
|
-
this.classProp = classProperty;
|
|
75
73
|
this.isLoadingReferences = true;
|
|
76
74
|
this.isLoading = true;
|
|
77
75
|
this.parentManager = parentManager;
|
|
78
76
|
this.className = className;
|
|
79
|
-
this.properties =
|
|
77
|
+
this.properties = Reflect.getMetadata("props", classParam.prototype);
|
|
78
|
+
this.callbacks = callback;
|
|
80
79
|
this.loggers.debug = (s) => loggers.debug("[DEM - " +
|
|
81
80
|
this.className +
|
|
82
81
|
": " +
|
|
@@ -101,6 +100,14 @@ export class AutoUpdatedClientObject {
|
|
|
101
100
|
(this.data?._id ?? "not loaded") +
|
|
102
101
|
"] " +
|
|
103
102
|
s);
|
|
103
|
+
for (const prop of this.properties) {
|
|
104
|
+
if (typeof prop !== "string")
|
|
105
|
+
throw new Error("Property '" + prop.toString() + "' is not a string");
|
|
106
|
+
if (prop.includes("."))
|
|
107
|
+
throw new Error("Property '" +
|
|
108
|
+
prop.toString() +
|
|
109
|
+
"' constain the illegal character '.'");
|
|
110
|
+
}
|
|
104
111
|
this.socket = socket;
|
|
105
112
|
if (typeof data === "string") {
|
|
106
113
|
if (this.isServer) {
|
|
@@ -138,7 +145,7 @@ export class AutoUpdatedClientObject {
|
|
|
138
145
|
if (typeof key !== "string")
|
|
139
146
|
throw new Error("Only string keys allowed. Not this shit: " + String(key));
|
|
140
147
|
dataKeys.splice(dataKeys.indexOf(key), 1);
|
|
141
|
-
const isRef = getMetadataRecursive("isRef", this
|
|
148
|
+
const isRef = getMetadataRecursive("isRef", this, key);
|
|
142
149
|
if (isRef) {
|
|
143
150
|
if (Array.isArray(this.data[key])) {
|
|
144
151
|
this.data[key] = this.data[key].map((obj) => obj._id?.toString() ?? obj?.toString());
|
|
@@ -176,7 +183,7 @@ export class AutoUpdatedClientObject {
|
|
|
176
183
|
for (const key of this.properties) {
|
|
177
184
|
if (typeof key !== "string")
|
|
178
185
|
continue;
|
|
179
|
-
let pointer = getMetadataRecursive("refsTo", this
|
|
186
|
+
let pointer = getMetadataRecursive("refsTo", this, key);
|
|
180
187
|
if (pointer) {
|
|
181
188
|
pointer = pointer.split(":");
|
|
182
189
|
if (pointer.length != 2)
|
|
@@ -210,7 +217,7 @@ export class AutoUpdatedClientObject {
|
|
|
210
217
|
});
|
|
211
218
|
}
|
|
212
219
|
get extractedData() {
|
|
213
|
-
const extracted = processIsRefProperties(this.data, this
|
|
220
|
+
const extracted = processIsRefProperties(this.data, this, null, [], {}, this.loggers).newData;
|
|
214
221
|
return _.cloneDeep(extracted);
|
|
215
222
|
}
|
|
216
223
|
get isLoaded() {
|
|
@@ -222,6 +229,9 @@ export class AutoUpdatedClientObject {
|
|
|
222
229
|
return true;
|
|
223
230
|
}
|
|
224
231
|
loadMissingReferences() {
|
|
232
|
+
if (this.referencesLoaded)
|
|
233
|
+
return;
|
|
234
|
+
this.referencesLoaded = true;
|
|
225
235
|
this.checkForMissingRefs();
|
|
226
236
|
this.generateSettersAndGetters();
|
|
227
237
|
}
|
|
@@ -254,7 +264,7 @@ export class AutoUpdatedClientObject {
|
|
|
254
264
|
if (typeof key !== "string")
|
|
255
265
|
return;
|
|
256
266
|
const k = key;
|
|
257
|
-
const isRef = getMetadataRecursive("isRef", this
|
|
267
|
+
const isRef = getMetadataRecursive("isRef", this, key);
|
|
258
268
|
Object.defineProperty(this, key, {
|
|
259
269
|
get: () => {
|
|
260
270
|
if (isRef) {
|
|
@@ -296,11 +306,14 @@ export class AutoUpdatedClientObject {
|
|
|
296
306
|
return undefined;
|
|
297
307
|
}
|
|
298
308
|
async setValue(key, val) {
|
|
299
|
-
|
|
309
|
+
const result = await this.setValue__(key, val);
|
|
310
|
+
if (this.isLoaded)
|
|
311
|
+
this.callbacks.update(this, key);
|
|
312
|
+
return result;
|
|
300
313
|
}
|
|
301
314
|
async setValue__(key, val, silent = false, noGet = false, noUpdate = false) {
|
|
302
315
|
let message = "Setting value " + key + " of " + this.className + " to ";
|
|
303
|
-
const isRef = getMetadataRecursive("isRef", this
|
|
316
|
+
const isRef = getMetadataRecursive("isRef", this, key);
|
|
304
317
|
if (isRef)
|
|
305
318
|
val = Array.isArray(val)
|
|
306
319
|
? val.map((v) => {
|
|
@@ -368,12 +381,14 @@ export class AutoUpdatedClientObject {
|
|
|
368
381
|
msg: message,
|
|
369
382
|
};
|
|
370
383
|
}
|
|
371
|
-
if (!this.properties.includes(lastPath) &&
|
|
384
|
+
if (!this.properties.includes(lastPath) &&
|
|
385
|
+
!lastPath.includes(".")) {
|
|
372
386
|
let nearest = "";
|
|
373
387
|
for (const prop of this.properties) {
|
|
374
388
|
if (typeof prop !== "string")
|
|
375
389
|
continue;
|
|
376
|
-
if (stringSimilarity(lastPath, prop) > 0 &&
|
|
390
|
+
if (stringSimilarity(lastPath, prop) > 0 &&
|
|
391
|
+
stringSimilarity(lastPath, prop) > stringSimilarity(nearest, prop)) {
|
|
377
392
|
nearest = prop;
|
|
378
393
|
}
|
|
379
394
|
}
|
|
@@ -381,7 +396,7 @@ export class AutoUpdatedClientObject {
|
|
|
381
396
|
}
|
|
382
397
|
let success;
|
|
383
398
|
try {
|
|
384
|
-
let isPopulated = getMetadataRecursive("refsTo", this
|
|
399
|
+
let isPopulated = getMetadataRecursive("refsTo", this, lastPath);
|
|
385
400
|
if (isPopulated) {
|
|
386
401
|
isPopulated = isPopulated.split(":");
|
|
387
402
|
const parentObj = this.parentManager.managers[isPopulated[0]].getObject(val);
|
|
@@ -393,6 +408,15 @@ export class AutoUpdatedClientObject {
|
|
|
393
408
|
this.loggers.error(message);
|
|
394
409
|
return { success: false, msg: message };
|
|
395
410
|
}
|
|
411
|
+
if (parentObj.getValue(isPopulated[1]) &&
|
|
412
|
+
!Array.isArray(parentObj.getValue(isPopulated[1]))) {
|
|
413
|
+
message +=
|
|
414
|
+
"\nThis is a 1:1 relationship and the parent already has a parent with the ID: " +
|
|
415
|
+
(parentObj.getValue(isPopulated[1])._id?.toString() ??
|
|
416
|
+
parentObj.getValue(isPopulated[1]).toString()) +
|
|
417
|
+
this.loggers.error(message);
|
|
418
|
+
return { success: false, msg: message };
|
|
419
|
+
}
|
|
396
420
|
let res;
|
|
397
421
|
if (this.isServer) {
|
|
398
422
|
const value = parentObj.getValue(isPopulated[1]);
|
|
@@ -410,7 +434,7 @@ export class AutoUpdatedClientObject {
|
|
|
410
434
|
res.msg.split("\n").join("\n ");
|
|
411
435
|
}
|
|
412
436
|
else {
|
|
413
|
-
const isRef = getMetadataRecursive("isRef", this
|
|
437
|
+
const isRef = getMetadataRecursive("isRef", this, key);
|
|
414
438
|
if (isRef && this.isServer && ObjectId.isValid(val))
|
|
415
439
|
val = Array.isArray(val)
|
|
416
440
|
? val.map((v) => new ObjectId(v))
|
|
@@ -454,7 +478,7 @@ export class AutoUpdatedClientObject {
|
|
|
454
478
|
if (!noUpdate)
|
|
455
479
|
await this.onUpdate(noUpdate);
|
|
456
480
|
this.findAndLoadReferences(lastPath, val);
|
|
457
|
-
const isRef = getMetadataRecursive("isRef", this
|
|
481
|
+
const isRef = getMetadataRecursive("isRef", this, path.at(-1));
|
|
458
482
|
if (isRef && this.parentManager.isLoaded) {
|
|
459
483
|
this.contactChildren();
|
|
460
484
|
}
|
|
@@ -506,7 +530,7 @@ export class AutoUpdatedClientObject {
|
|
|
506
530
|
return { res, val };
|
|
507
531
|
}
|
|
508
532
|
findAndLoadReferences(lastPath, value) {
|
|
509
|
-
const isRef = getMetadataRecursive("isRef", this
|
|
533
|
+
const isRef = getMetadataRecursive("isRef", this, lastPath);
|
|
510
534
|
if (isRef) {
|
|
511
535
|
for (const id of Array.isArray(value) ? value : [value]) {
|
|
512
536
|
let result;
|
|
@@ -524,6 +548,7 @@ export class AutoUpdatedClientObject {
|
|
|
524
548
|
this.data._id);
|
|
525
549
|
continue;
|
|
526
550
|
}
|
|
551
|
+
this.referencesLoaded = false;
|
|
527
552
|
result.loadMissingReferences();
|
|
528
553
|
}
|
|
529
554
|
}
|
|
@@ -609,7 +634,7 @@ export class AutoUpdatedClientObject {
|
|
|
609
634
|
}
|
|
610
635
|
return null;
|
|
611
636
|
}
|
|
612
|
-
async loadForceReferences(obj = this.data, proto = this
|
|
637
|
+
async loadForceReferences(obj = this.data, proto = this, alreadySeen = []) {
|
|
613
638
|
const props = Reflect.getMetadata("props", proto) || [];
|
|
614
639
|
for (const key of props) {
|
|
615
640
|
if (typeof key !== "string")
|
|
@@ -678,9 +703,7 @@ export class AutoUpdatedClientObject {
|
|
|
678
703
|
filtred.length +
|
|
679
704
|
" - some values were undefined");
|
|
680
705
|
}
|
|
681
|
-
if (filtred
|
|
682
|
-
.map((id) => id?._id.toString())
|
|
683
|
-
.includes(this.data._id))
|
|
706
|
+
if (filtred.map((id) => id?._id.toString()).includes(this.data._id))
|
|
684
707
|
obj?.contactChildren();
|
|
685
708
|
else
|
|
686
709
|
await obj?.setValue(pointer[1], [
|
|
@@ -696,6 +719,7 @@ export class AutoUpdatedClientObject {
|
|
|
696
719
|
if (!once) {
|
|
697
720
|
return await this.parentManager.deleteObject(this.data._id);
|
|
698
721
|
}
|
|
722
|
+
await this.callbacks.delete(this);
|
|
699
723
|
const res = await new Promise((resolve) => {
|
|
700
724
|
this.socket.emit("delete" + this.className, this.data._id, (res) => {
|
|
701
725
|
if (!res.success) {
|
|
@@ -723,7 +747,7 @@ export class AutoUpdatedClientObject {
|
|
|
723
747
|
}
|
|
724
748
|
checkForMissingRefs() {
|
|
725
749
|
for (const prop of this.properties) {
|
|
726
|
-
let pointer = getMetadataRecursive("refsTo", this
|
|
750
|
+
let pointer = getMetadataRecursive("refsTo", this, prop.toString());
|
|
727
751
|
if (pointer) {
|
|
728
752
|
pointer = pointer.split(":");
|
|
729
753
|
if (pointer.length != 2)
|
|
@@ -770,8 +794,8 @@ export class AutoUpdatedClientObject {
|
|
|
770
794
|
}
|
|
771
795
|
contactChildren() {
|
|
772
796
|
for (const prop of this.properties) {
|
|
773
|
-
const pointer = getMetadataRecursive("refsTo", this
|
|
774
|
-
const isRef = getMetadataRecursive("isRef", this
|
|
797
|
+
const pointer = getMetadataRecursive("refsTo", this, prop.toString());
|
|
798
|
+
const isRef = getMetadataRecursive("isRef", this, prop.toString());
|
|
775
799
|
if (isRef && !pointer) {
|
|
776
800
|
if (!this.getValue(prop))
|
|
777
801
|
continue;
|