@prestizni-software/server-dem 0.7.5 → 0.9.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/AutoUpdateClientManagerClass.d.ts +20 -3
- package/AutoUpdateClientManagerClass.js +169 -5
- package/AutoUpdateClientManagerClass.js.map +1 -1
- package/AutoUpdateServerManagerClass.d.ts +31 -1
- package/AutoUpdateServerManagerClass.js +182 -8
- package/AutoUpdateServerManagerClass.js.map +1 -1
- package/AutoUpdatedClientObjectClass.d.ts +29 -0
- package/AutoUpdatedClientObjectClass.js +59 -1
- package/AutoUpdatedClientObjectClass.js.map +1 -1
- package/CommonTypes.d.ts +38 -1
- package/CommonTypes.js.map +1 -1
- package/README.md +167 -0
- package/package.json +1 -1
- package/version.d.ts +4 -4
- package/version.js +3 -3
|
@@ -3,6 +3,7 @@ import { createAutoUpdatedClass } from "./AutoUpdatedServerObjectClass.js";
|
|
|
3
3
|
import { globalCache, EVENT_NEW, EVENT_UPDATE, EVENT_DELETE, EVENT_GET, EVENT_STARTUP, EVENT_VERSION, DEM_VERSION, DEM_SERVER_VERSION, DEM_PROTOCOL_VERSION, safeStringify, verifyDEMVersion, DEMError, DEMErrorCode, toDEMError, } from "./CommonTypes.js";
|
|
4
4
|
import { EventEmitter } from "eventemitter3";
|
|
5
5
|
import { getModelForClass } from "@typegoose/typegoose";
|
|
6
|
+
import { getMetadataRecursive, setupClassAccessors, } from "./AutoUpdatedClientObjectClass.js";
|
|
6
7
|
import { ServerChangeTracker, } from "./sync/index.js";
|
|
7
8
|
export var DEMEventTypes;
|
|
8
9
|
(function (DEMEventTypes) {
|
|
@@ -398,6 +399,111 @@ export class AutoUpdateServerManager extends AutoUpdateManager {
|
|
|
398
399
|
// Phase 2: Resolve missing references (pointers) and set isLoaded_ = true
|
|
399
400
|
await super.loadReferences();
|
|
400
401
|
}
|
|
402
|
+
/**
|
|
403
|
+
* Indicates whether smart lazy loading mode is enabled for this manager.
|
|
404
|
+
*
|
|
405
|
+
* @returns True if lazy loading is enabled.
|
|
406
|
+
*/
|
|
407
|
+
get isLazyLoadingEnabled() {
|
|
408
|
+
if (typeof this.options?.lazyLoading === "object") {
|
|
409
|
+
return this.options.lazyLoading.enabled !== false;
|
|
410
|
+
}
|
|
411
|
+
return Boolean(this.options?.lazyLoading);
|
|
412
|
+
}
|
|
413
|
+
/**
|
|
414
|
+
* Generates an array of entity descriptors for unhydrated startup payloads.
|
|
415
|
+
*
|
|
416
|
+
* @param objects - Collection of server entity instances.
|
|
417
|
+
* @returns Array containing entity descriptors with unique identifiers and human-readable summaries.
|
|
418
|
+
*/
|
|
419
|
+
generateManifest(objects) {
|
|
420
|
+
return objects.map((obj) => {
|
|
421
|
+
const objData = obj.extractedData ?? obj.data ?? obj;
|
|
422
|
+
let desc;
|
|
423
|
+
if (typeof this.classParam.getDescriptor === "function") {
|
|
424
|
+
try {
|
|
425
|
+
desc = this.classParam.getDescriptor(objData);
|
|
426
|
+
}
|
|
427
|
+
catch {
|
|
428
|
+
desc = JSON.stringify(objData ?? {});
|
|
429
|
+
}
|
|
430
|
+
}
|
|
431
|
+
else {
|
|
432
|
+
desc = JSON.stringify(objData ?? {});
|
|
433
|
+
}
|
|
434
|
+
return {
|
|
435
|
+
_id: obj._id.toString(),
|
|
436
|
+
description: desc,
|
|
437
|
+
};
|
|
438
|
+
});
|
|
439
|
+
}
|
|
440
|
+
/**
|
|
441
|
+
* Recursively traverses and collects referenced entity documents up to a maximum depth.
|
|
442
|
+
* Uses an ID set to prevent infinite cycles.
|
|
443
|
+
*
|
|
444
|
+
* @param rootObj - The initial server entity instance.
|
|
445
|
+
* @param maxDepth - Maximum reference graph traversal depth.
|
|
446
|
+
* @returns Dictionary mapping manager class names to arrays of extracted entity data.
|
|
447
|
+
*/
|
|
448
|
+
collectEntityGraph(rootObj, maxDepth) {
|
|
449
|
+
const visited = new Set();
|
|
450
|
+
const relatedByManager = {};
|
|
451
|
+
const rootIdStr = rootObj._id.toString();
|
|
452
|
+
visited.add(rootIdStr);
|
|
453
|
+
const queue = [{ obj: rootObj, manager: this, currentDepth: 0 }];
|
|
454
|
+
while (queue.length > 0) {
|
|
455
|
+
const { obj, manager, currentDepth } = queue.shift();
|
|
456
|
+
if (currentDepth >= maxDepth)
|
|
457
|
+
continue;
|
|
458
|
+
const classParam = manager.classParam;
|
|
459
|
+
let refProps = classParam?.__refPropsCache;
|
|
460
|
+
if (!refProps && classParam) {
|
|
461
|
+
const meta = setupClassAccessors(classParam);
|
|
462
|
+
refProps = classParam.__refPropsCache = Array.from(meta.refProps);
|
|
463
|
+
}
|
|
464
|
+
refProps = refProps ?? [];
|
|
465
|
+
const dataRec = obj.extractedData ?? obj.data ?? obj;
|
|
466
|
+
for (const prop of refProps) {
|
|
467
|
+
const val = dataRec[prop];
|
|
468
|
+
if (!val)
|
|
469
|
+
continue;
|
|
470
|
+
const targetClassName = (classParam?.__metaCache?.refsToMap?.get?.(prop)) ??
|
|
471
|
+
getMetadataRecursive("refsTo", classParam?.prototype ?? obj, prop) ??
|
|
472
|
+
getMetadataRecursive("refsTo", obj, prop);
|
|
473
|
+
const targetManager = targetClassName && this.managers
|
|
474
|
+
? this.managers[targetClassName]
|
|
475
|
+
: undefined;
|
|
476
|
+
if (!targetManager)
|
|
477
|
+
continue;
|
|
478
|
+
const rawIds = Array.isArray(val)
|
|
479
|
+
? val.map((v) => (v && v._id ? v._id.toString() : v?.toString())).filter(Boolean)
|
|
480
|
+
: [val && val._id ? val._id.toString() : val?.toString()].filter(Boolean);
|
|
481
|
+
for (const refId of rawIds) {
|
|
482
|
+
if (visited.has(refId))
|
|
483
|
+
continue;
|
|
484
|
+
visited.add(refId);
|
|
485
|
+
const refObj = targetManager.getObject(refId);
|
|
486
|
+
if (refObj) {
|
|
487
|
+
if (!relatedByManager[targetManager.className]) {
|
|
488
|
+
relatedByManager[targetManager.className] = new Map();
|
|
489
|
+
}
|
|
490
|
+
const extracted = refObj.extractedData ?? refObj.data ?? refObj;
|
|
491
|
+
relatedByManager[targetManager.className].set(refId, extracted);
|
|
492
|
+
queue.push({
|
|
493
|
+
obj: refObj,
|
|
494
|
+
manager: targetManager,
|
|
495
|
+
currentDepth: currentDepth + 1,
|
|
496
|
+
});
|
|
497
|
+
}
|
|
498
|
+
}
|
|
499
|
+
}
|
|
500
|
+
}
|
|
501
|
+
const result = {};
|
|
502
|
+
for (const [mgrName, map] of Object.entries(relatedByManager)) {
|
|
503
|
+
result[mgrName] = Array.from(map.values());
|
|
504
|
+
}
|
|
505
|
+
return result;
|
|
506
|
+
}
|
|
401
507
|
/**
|
|
402
508
|
* Registers a client socket with the manager and binds startup, delete, and new event listeners.
|
|
403
509
|
*
|
|
@@ -503,6 +609,30 @@ export class AutoUpdateServerManager extends AutoUpdateManager {
|
|
|
503
609
|
};
|
|
504
610
|
}
|
|
505
611
|
}
|
|
612
|
+
if (this.isLazyLoadingEnabled) {
|
|
613
|
+
const manifest = this.generateManifest(this.options?.accessDefinitions?.startupMiddleware
|
|
614
|
+
? (await this.options.accessDefinitions.startupMiddleware(this.objectsAsArray, this.managers, socket))
|
|
615
|
+
: this.objectsAsArray);
|
|
616
|
+
this.loggers.debug("Sending lazy startup data (" +
|
|
617
|
+
manifest.length +
|
|
618
|
+
" manifest items) for manager " +
|
|
619
|
+
this.className);
|
|
620
|
+
if (typeof ack === "function") {
|
|
621
|
+
ack({
|
|
622
|
+
data: {
|
|
623
|
+
status: "lazy",
|
|
624
|
+
revision: this.changeTracker ? this.changeTracker.getCurrentRevision() : 0,
|
|
625
|
+
ids,
|
|
626
|
+
manifest,
|
|
627
|
+
properties: this.properties,
|
|
628
|
+
version: DEM_VERSION,
|
|
629
|
+
protocolVersion: DEM_PROTOCOL_VERSION,
|
|
630
|
+
},
|
|
631
|
+
success: true,
|
|
632
|
+
});
|
|
633
|
+
}
|
|
634
|
+
return;
|
|
635
|
+
}
|
|
506
636
|
this.loggers.debug("Sending startup data for manager " + this.className);
|
|
507
637
|
if (typeof ack === "function") {
|
|
508
638
|
ack({
|
|
@@ -658,12 +788,28 @@ export class AutoUpdateServerManager extends AutoUpdateManager {
|
|
|
658
788
|
let obj = this.objects_[id];
|
|
659
789
|
if (!obj)
|
|
660
790
|
throw new DEMError(DEMErrorCode.OBJECT_NOT_FOUND, `Object not found: ${id}`);
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
791
|
+
const requestedDepth = typeof data === "object" && data && typeof data.depth === "number"
|
|
792
|
+
? data.depth
|
|
793
|
+
: 0;
|
|
794
|
+
if (requestedDepth > 0) {
|
|
795
|
+
const related = this.collectEntityGraph(obj, requestedDepth);
|
|
796
|
+
if (typeof ack === "function") {
|
|
797
|
+
ack({
|
|
798
|
+
data: obj.extractedData,
|
|
799
|
+
related,
|
|
800
|
+
success: true,
|
|
801
|
+
message: "Retrieved successfully",
|
|
802
|
+
});
|
|
803
|
+
}
|
|
804
|
+
}
|
|
805
|
+
else {
|
|
806
|
+
if (typeof ack === "function") {
|
|
807
|
+
ack({
|
|
808
|
+
data: obj.extractedData,
|
|
809
|
+
success: true,
|
|
810
|
+
message: "Updated successfully",
|
|
811
|
+
});
|
|
812
|
+
}
|
|
667
813
|
}
|
|
668
814
|
}
|
|
669
815
|
catch (error) {
|
|
@@ -781,6 +927,34 @@ export class AutoUpdateServerManager extends AutoUpdateManager {
|
|
|
781
927
|
this.pendingMissingFetches.set(_idStr, fetchPromise);
|
|
782
928
|
return fetchPromise;
|
|
783
929
|
}
|
|
930
|
+
/**
|
|
931
|
+
* Generates creation payload for client broadcasts, returning an entity descriptor in lazy mode.
|
|
932
|
+
*
|
|
933
|
+
* @param object - Server entity instance.
|
|
934
|
+
* @returns Entity ID string or descriptor payload.
|
|
935
|
+
*/
|
|
936
|
+
getNewObjectPayload(object) {
|
|
937
|
+
if (this.isLazyLoadingEnabled) {
|
|
938
|
+
const objData = object.extractedData ?? object.data ?? object;
|
|
939
|
+
let desc;
|
|
940
|
+
if (typeof this.classParam.getDescriptor === "function") {
|
|
941
|
+
try {
|
|
942
|
+
desc = this.classParam.getDescriptor(objData);
|
|
943
|
+
}
|
|
944
|
+
catch {
|
|
945
|
+
desc = JSON.stringify(objData ?? {});
|
|
946
|
+
}
|
|
947
|
+
}
|
|
948
|
+
else {
|
|
949
|
+
desc = JSON.stringify(objData ?? {});
|
|
950
|
+
}
|
|
951
|
+
return {
|
|
952
|
+
_id: object._id.toString(),
|
|
953
|
+
description: desc,
|
|
954
|
+
};
|
|
955
|
+
}
|
|
956
|
+
return object._id.toString();
|
|
957
|
+
}
|
|
784
958
|
/**
|
|
785
959
|
* Creates a new entity document in MongoDB and instantiates its manager wrapper.
|
|
786
960
|
* Broadcasts creation event to client sockets with authorized access.
|
|
@@ -860,7 +1034,7 @@ export class AutoUpdateServerManager extends AutoUpdateManager {
|
|
|
860
1034
|
}
|
|
861
1035
|
known.add(id);
|
|
862
1036
|
this.loggers.debug("Emitting new object " + object._id);
|
|
863
|
-
socket.emit("new" + this.className,
|
|
1037
|
+
socket.emit("new" + this.className, this.getNewObjectPayload(object));
|
|
864
1038
|
}
|
|
865
1039
|
}
|
|
866
1040
|
catch (error) {
|
|
@@ -896,7 +1070,7 @@ export class AutoUpdateServerManager extends AutoUpdateManager {
|
|
|
896
1070
|
if (hasAccess && !hadAccess) {
|
|
897
1071
|
known.add(id);
|
|
898
1072
|
this.loggers.debug(`Granting dynamic access to ${this.className} ${id} for socket ${socket.id}`);
|
|
899
|
-
socket.emit("new" + this.className,
|
|
1073
|
+
socket.emit("new" + this.className, this.getNewObjectPayload(object));
|
|
900
1074
|
}
|
|
901
1075
|
else if (!hasAccess && hadAccess) {
|
|
902
1076
|
known.delete(id);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AutoUpdateServerManagerClass.js","sourceRoot":"","sources":["../AutoUpdateServerManagerClass.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AutoUpdateServerManagerClass.js","sourceRoot":"","sources":["../AutoUpdateServerManagerClass.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,6 +17,11 @@ export declare abstract class AutoUpdatedClientObject<T extends IAutoUpdatedClie
|
|
|
17
17
|
abstract readonly _id: MongoId;
|
|
18
18
|
protected readonly loggers: LoggersType;
|
|
19
19
|
protected isLoading: boolean;
|
|
20
|
+
isLazyStub: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Human-readable descriptor string supplied by the server manifest.
|
|
23
|
+
*/
|
|
24
|
+
descriptor?: string;
|
|
20
25
|
loadError?: string;
|
|
21
26
|
protected isLoadingReferences: boolean;
|
|
22
27
|
protected checkedMissingProperties?: Record<string, boolean>;
|
|
@@ -29,6 +34,14 @@ export declare abstract class AutoUpdatedClientObject<T extends IAutoUpdatedClie
|
|
|
29
34
|
managers: M;
|
|
30
35
|
};
|
|
31
36
|
private static _emitterCounter;
|
|
37
|
+
/**
|
|
38
|
+
* Generates a human-readable descriptor from direct entity attributes.
|
|
39
|
+
* Base implementation stringifies the available data payload.
|
|
40
|
+
*
|
|
41
|
+
* @param data - Direct entity property data.
|
|
42
|
+
* @returns String descriptor representing the entity.
|
|
43
|
+
*/
|
|
44
|
+
static getDescriptor(data: Partial<any>): string;
|
|
32
45
|
protected readonly EmitterID: string;
|
|
33
46
|
protected toChangeOnParents?: {
|
|
34
47
|
key: string;
|
|
@@ -83,6 +96,22 @@ export declare abstract class AutoUpdatedClientObject<T extends IAutoUpdatedClie
|
|
|
83
96
|
* @returns True if loaded.
|
|
84
97
|
*/
|
|
85
98
|
get isLoaded(): boolean;
|
|
99
|
+
/**
|
|
100
|
+
* Ensures that this entity is fully hydrated from the server.
|
|
101
|
+
* If the entity is a lazy stub, triggers on-demand graph hydration up to the requested depth.
|
|
102
|
+
*
|
|
103
|
+
* @param options - Hydration options containing graph depth.
|
|
104
|
+
* @returns Promise resolving to this hydrated entity instance.
|
|
105
|
+
*/
|
|
106
|
+
ensureLoaded(options?: {
|
|
107
|
+
depth?: number;
|
|
108
|
+
}): Promise<this>;
|
|
109
|
+
/**
|
|
110
|
+
* Hydrates an unhydrated stub instance with full entity data received from the server.
|
|
111
|
+
*
|
|
112
|
+
* @param payload - Entity data payload.
|
|
113
|
+
*/
|
|
114
|
+
hydrateFromData(payload: IsData<T>): void;
|
|
86
115
|
/**
|
|
87
116
|
* Asynchronously awaits preloading and loads all missing reference links.
|
|
88
117
|
*
|
|
@@ -9,6 +9,11 @@ export class AutoUpdatedClientObject {
|
|
|
9
9
|
isServer = false;
|
|
10
10
|
loggers;
|
|
11
11
|
isLoading = true;
|
|
12
|
+
isLazyStub = false;
|
|
13
|
+
/**
|
|
14
|
+
* Human-readable descriptor string supplied by the server manifest.
|
|
15
|
+
*/
|
|
16
|
+
descriptor;
|
|
12
17
|
loadError;
|
|
13
18
|
isLoadingReferences = true;
|
|
14
19
|
checkedMissingProperties;
|
|
@@ -18,6 +23,21 @@ export class AutoUpdatedClientObject {
|
|
|
18
23
|
className;
|
|
19
24
|
parentManager;
|
|
20
25
|
static _emitterCounter = 0;
|
|
26
|
+
/**
|
|
27
|
+
* Generates a human-readable descriptor from direct entity attributes.
|
|
28
|
+
* Base implementation stringifies the available data payload.
|
|
29
|
+
*
|
|
30
|
+
* @param data - Direct entity property data.
|
|
31
|
+
* @returns String descriptor representing the entity.
|
|
32
|
+
*/
|
|
33
|
+
static getDescriptor(data) {
|
|
34
|
+
try {
|
|
35
|
+
return JSON.stringify(data ?? {});
|
|
36
|
+
}
|
|
37
|
+
catch {
|
|
38
|
+
return String(data ?? "");
|
|
39
|
+
}
|
|
40
|
+
}
|
|
21
41
|
EmitterID = `dem_e_${++AutoUpdatedClientObject._emitterCounter}`;
|
|
22
42
|
toChangeOnParents;
|
|
23
43
|
callbacks;
|
|
@@ -110,6 +130,14 @@ export class AutoUpdatedClientObject {
|
|
|
110
130
|
warn: (s) => loggers.warn?.(`[DEM - ${this.className}: ${this.data?._id ?? this._id ?? "not loaded"}] ${s}`),
|
|
111
131
|
error: (s) => loggers.error?.(`[DEM - ${this.className}: ${this.data?._id ?? this._id ?? "not loaded"}] ${s}`),
|
|
112
132
|
};
|
|
133
|
+
if (typeof data === "object" && data !== null && data.__isLazyStub) {
|
|
134
|
+
this.isLazyStub = true;
|
|
135
|
+
this.isLoading = true;
|
|
136
|
+
this.descriptor = data.descriptor;
|
|
137
|
+
this.data = { _id: data._id };
|
|
138
|
+
this.generateSettersAndGetters();
|
|
139
|
+
return;
|
|
140
|
+
}
|
|
113
141
|
if (typeof data === "string") {
|
|
114
142
|
this.data = { _id: data };
|
|
115
143
|
if (this.isServer) {
|
|
@@ -281,7 +309,37 @@ export class AutoUpdatedClientObject {
|
|
|
281
309
|
* @returns True if loaded.
|
|
282
310
|
*/
|
|
283
311
|
get isLoaded() {
|
|
284
|
-
return !this.isLoading;
|
|
312
|
+
return !this.isLoading && !this.isLazyStub && !this.loadError;
|
|
313
|
+
}
|
|
314
|
+
/**
|
|
315
|
+
* Ensures that this entity is fully hydrated from the server.
|
|
316
|
+
* If the entity is a lazy stub, triggers on-demand graph hydration up to the requested depth.
|
|
317
|
+
*
|
|
318
|
+
* @param options - Hydration options containing graph depth.
|
|
319
|
+
* @returns Promise resolving to this hydrated entity instance.
|
|
320
|
+
*/
|
|
321
|
+
async ensureLoaded(options) {
|
|
322
|
+
if (!this.isLazyStub && this.isLoaded)
|
|
323
|
+
return this;
|
|
324
|
+
if (this.parentManager && typeof this.parentManager.loadObject === "function") {
|
|
325
|
+
return this.parentManager.loadObject(this.data?._id ?? this._id, options);
|
|
326
|
+
}
|
|
327
|
+
return this;
|
|
328
|
+
}
|
|
329
|
+
/**
|
|
330
|
+
* Hydrates an unhydrated stub instance with full entity data received from the server.
|
|
331
|
+
*
|
|
332
|
+
* @param payload - Entity data payload.
|
|
333
|
+
*/
|
|
334
|
+
hydrateFromData(payload) {
|
|
335
|
+
this.data = this.handleDataCleanup(payload);
|
|
336
|
+
this.isLoading = false;
|
|
337
|
+
this.isLazyStub = false;
|
|
338
|
+
this.loadError = undefined;
|
|
339
|
+
this.generateSettersAndGetters();
|
|
340
|
+
if (!this.isServer)
|
|
341
|
+
this.openSockets();
|
|
342
|
+
this.emitter.emit(EVENT_INTERNAL_PRE_LOADED + this.EmitterID);
|
|
285
343
|
}
|
|
286
344
|
/**
|
|
287
345
|
* Asynchronously awaits preloading and loads all missing reference links.
|