@prestizni-software/server-dem 0.7.1 → 0.7.4
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 +67 -1
- package/dist/AutoUpdateManagerClass.js +39 -2
- package/dist/AutoUpdateManagerClass.js.map +1 -1
- package/dist/AutoUpdateServerManagerClass.d.ts +109 -1
- package/dist/AutoUpdateServerManagerClass.js +185 -9
- package/dist/AutoUpdateServerManagerClass.js.map +1 -1
- package/dist/AutoUpdatedClientObjectClass.d.ts +119 -1
- package/dist/AutoUpdatedClientObjectClass.js +127 -10
- package/dist/AutoUpdatedClientObjectClass.js.map +1 -1
- package/dist/AutoUpdatedServerObjectClass.d.ts +96 -2
- package/dist/AutoUpdatedServerObjectClass.js +88 -7
- package/dist/AutoUpdatedServerObjectClass.js.map +1 -1
- package/dist/CommonTypes.d.ts +56 -1
- package/dist/CommonTypes.js +48 -1
- package/dist/CommonTypes.js.map +1 -1
- package/dist/DEMErrors.d.ts +89 -0
- package/dist/DEMErrors.js +155 -0
- package/dist/DEMErrors.js.map +1 -0
- package/dist/server.d.ts +1 -0
- package/dist/server.js +1 -0
- package/dist/server.js.map +1 -1
- package/dist/sync/ClientStateReconciler.d.ts +20 -0
- package/dist/sync/ClientStateReconciler.js +20 -0
- package/dist/sync/ClientStateReconciler.js.map +1 -1
- package/dist/sync/ServerChangeTracker.d.ts +46 -0
- package/dist/sync/ServerChangeTracker.js +46 -0
- package/dist/sync/ServerChangeTracker.js.map +1 -1
- package/dist/sync/storage/IndexedDbStorageAdapter.d.ts +31 -0
- package/dist/sync/storage/IndexedDbStorageAdapter.js +33 -1
- package/dist/sync/storage/IndexedDbStorageAdapter.js.map +1 -1
- package/dist/sync/storage/LocalStorageAdapter.d.ts +32 -0
- package/dist/sync/storage/LocalStorageAdapter.js +32 -0
- package/dist/sync/storage/LocalStorageAdapter.js.map +1 -1
- package/dist/sync/storage/MemoryStorageAdapter.d.ts +21 -0
- package/dist/sync/storage/MemoryStorageAdapter.js +21 -1
- package/dist/sync/storage/MemoryStorageAdapter.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AutoUpdateManager } from "./AutoUpdateManagerClass.js";
|
|
2
2
|
import { createAutoUpdatedClass } from "./AutoUpdatedServerObjectClass.js";
|
|
3
|
-
import { globalCache, EVENT_NEW, EVENT_UPDATE, EVENT_DELETE, EVENT_GET, EVENT_STARTUP, EVENT_VERSION, DEM_VERSION, DEM_PROTOCOL_VERSION, safeStringify, } from "./CommonTypes.js";
|
|
3
|
+
import { globalCache, EVENT_NEW, EVENT_UPDATE, EVENT_DELETE, EVENT_GET, EVENT_STARTUP, EVENT_VERSION, DEM_VERSION, DEM_PROTOCOL_VERSION, safeStringify, DEMError, DEMErrorCode, toDEMError, } from "./CommonTypes.js";
|
|
4
4
|
import { EventEmitter } from "eventemitter3";
|
|
5
5
|
import { getModelForClass } from "@typegoose/typegoose";
|
|
6
6
|
import { ServerChangeTracker, } from "./sync/index.js";
|
|
@@ -12,6 +12,14 @@ export var DEMEventTypes;
|
|
|
12
12
|
DEMEventTypes["get"] = "get";
|
|
13
13
|
DEMEventTypes["startup"] = "startup";
|
|
14
14
|
})(DEMEventTypes || (DEMEventTypes = {}));
|
|
15
|
+
/**
|
|
16
|
+
* Configures event whitelisting and permission middleware for the Socket.IO server.
|
|
17
|
+
*
|
|
18
|
+
* @param socket_server - Socket.IO server instance.
|
|
19
|
+
* @param loggers - Logging interfaces.
|
|
20
|
+
* @param managers - Registry of server managers.
|
|
21
|
+
* @param _models - Optional models registry.
|
|
22
|
+
*/
|
|
15
23
|
function setupSocketMiddleware(socket_server, loggers, managers, _models) {
|
|
16
24
|
socket_server.use(async (socket, next) => {
|
|
17
25
|
socket.use((async (event, nextEvent) => {
|
|
@@ -36,6 +44,7 @@ function setupSocketMiddleware(socket_server, loggers, managers, _models) {
|
|
|
36
44
|
"]");
|
|
37
45
|
event[2]({
|
|
38
46
|
success: false,
|
|
47
|
+
code: DEMErrorCode.UNDEFINED_EVENT,
|
|
39
48
|
message: "Undefined event, event: " + event[0] + " not found",
|
|
40
49
|
});
|
|
41
50
|
return;
|
|
@@ -104,7 +113,7 @@ function setupSocketMiddleware(socket_server, loggers, managers, _models) {
|
|
|
104
113
|
};
|
|
105
114
|
break;
|
|
106
115
|
default:
|
|
107
|
-
throw new
|
|
116
|
+
throw new DEMError(DEMErrorCode.UNKNOWN_EVENT, "Unknown event: " +
|
|
108
117
|
e +
|
|
109
118
|
" - known events: [" +
|
|
110
119
|
Object.values(DEMEventTypes).join(", ") +
|
|
@@ -128,6 +137,7 @@ function setupSocketMiddleware(socket_server, loggers, managers, _models) {
|
|
|
128
137
|
"'");
|
|
129
138
|
event[2]({
|
|
130
139
|
success: false,
|
|
140
|
+
code: DEMErrorCode.ACCESS_DENIED,
|
|
131
141
|
message: "You were denied access to this event '" +
|
|
132
142
|
event[0] +
|
|
133
143
|
"' by the server.\n" +
|
|
@@ -136,16 +146,54 @@ function setupSocketMiddleware(socket_server, loggers, managers, _models) {
|
|
|
136
146
|
}
|
|
137
147
|
}
|
|
138
148
|
catch (error) {
|
|
149
|
+
const demErr = toDEMError(error, DEMErrorCode.INTERNAL_ERROR);
|
|
139
150
|
loggers.error?.("Error with event: " +
|
|
140
151
|
event[0] +
|
|
141
152
|
"\nError: " +
|
|
142
|
-
|
|
153
|
+
demErr.message);
|
|
154
|
+
event[2]({
|
|
155
|
+
success: false,
|
|
156
|
+
code: demErr.code,
|
|
157
|
+
message: error instanceof Error ? error.message : String(error),
|
|
158
|
+
});
|
|
143
159
|
return;
|
|
144
160
|
}
|
|
145
161
|
}));
|
|
146
162
|
next();
|
|
147
163
|
});
|
|
148
164
|
}
|
|
165
|
+
/**
|
|
166
|
+
* Inspects database readiness states across all configured server managers.
|
|
167
|
+
*
|
|
168
|
+
* @param managers - Registry of server managers to inspect.
|
|
169
|
+
* @param loggers - Optional logger callbacks.
|
|
170
|
+
* @param emitter - Optional event emitter for error events.
|
|
171
|
+
* @throws {DEMError} Throws DEMErrorCode.DB_NOT_CONNECTED if any database is disconnected.
|
|
172
|
+
*/
|
|
173
|
+
export function checkServerDbStates(managers, loggers, emitter) {
|
|
174
|
+
for (const [key, manager] of Object.entries(managers)) {
|
|
175
|
+
if (!manager)
|
|
176
|
+
continue;
|
|
177
|
+
const status = manager.checkDbState();
|
|
178
|
+
if (!status.connected) {
|
|
179
|
+
const err = new DEMError(DEMErrorCode.DB_NOT_CONNECTED, `Server DB state check failed for '${key}': Database is in state '${status.stateName}' (code: ${status.readyState}). Database must be connected before DEM starts loading.`, { manager: key, readyState: status.readyState, stateName: status.stateName });
|
|
180
|
+
emitter?.emit("error", err);
|
|
181
|
+
loggers?.error?.(err.message);
|
|
182
|
+
throw err;
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Initializes and starts all server managers, executes DB state assertions, preloads data, and attaches sockets.
|
|
188
|
+
*
|
|
189
|
+
* @param defs - Server manager definitions including class constructors and options.
|
|
190
|
+
* @param loggers_ - Loggers interface.
|
|
191
|
+
* @param socket - Socket.IO server instance.
|
|
192
|
+
* @param doDebug - Flag indicating whether debug logging is enabled.
|
|
193
|
+
* @param emitter - Shared event emitter.
|
|
194
|
+
* @param models - Optional model registry.
|
|
195
|
+
* @returns Promise resolving to the map of initialized server managers.
|
|
196
|
+
*/
|
|
149
197
|
export async function AUSManagerFactory(defs, loggers_, socket, doDebug = true, emitter = new EventEmitter(), models) {
|
|
150
198
|
// Use delegation instead of cloning or direct mutation to ensure late-added spies work
|
|
151
199
|
const loggers = {
|
|
@@ -176,6 +224,8 @@ export async function AUSManagerFactory(defs, loggers_, socket, doDebug = true,
|
|
|
176
224
|
loggers.error?.(error.stack);
|
|
177
225
|
}
|
|
178
226
|
}
|
|
227
|
+
// 1.5. Inspect database states before loading starts
|
|
228
|
+
checkServerDbStates(managers, loggers, emitter);
|
|
179
229
|
// 2. Pre-load all managers in parallel
|
|
180
230
|
await Promise.all(keys.map(async (key) => {
|
|
181
231
|
if (!managers[key])
|
|
@@ -239,6 +289,18 @@ export class AutoUpdateServerManager extends AutoUpdateManager {
|
|
|
239
289
|
startupPayloadCache = null;
|
|
240
290
|
_cachedObjectsArray = null;
|
|
241
291
|
changeTracker;
|
|
292
|
+
/**
|
|
293
|
+
* Initializes an AutoUpdateServerManager instance.
|
|
294
|
+
*
|
|
295
|
+
* @param classParam - Target server object class constructor.
|
|
296
|
+
* @param className - Managed entity class name.
|
|
297
|
+
* @param socket - Socket.IO Server instance.
|
|
298
|
+
* @param loggers - Logger callbacks interface.
|
|
299
|
+
* @param model - Typegoose Mongoose model for database operations.
|
|
300
|
+
* @param managers - Sibling server managers registry.
|
|
301
|
+
* @param emitter - Shared event emitter.
|
|
302
|
+
* @param options - Server manager options including access middlewares and delta sync settings.
|
|
303
|
+
*/
|
|
242
304
|
constructor(classParam, className, socket, loggers, model, managers, emitter, options) {
|
|
243
305
|
super(classParam, className, socket, loggers, managers, emitter);
|
|
244
306
|
this.managers = managers;
|
|
@@ -251,7 +313,53 @@ export class AutoUpdateServerManager extends AutoUpdateManager {
|
|
|
251
313
|
}
|
|
252
314
|
}
|
|
253
315
|
}
|
|
316
|
+
/**
|
|
317
|
+
* Inspects current database connection state.
|
|
318
|
+
*
|
|
319
|
+
* @returns Object describing connected flag, numeric readyState, and stateName.
|
|
320
|
+
*/
|
|
321
|
+
checkDbState() {
|
|
322
|
+
const db = this.model?.db;
|
|
323
|
+
if (!db || typeof db.readyState !== "number") {
|
|
324
|
+
return { connected: true, readyState: 1, stateName: "connected" };
|
|
325
|
+
}
|
|
326
|
+
const readyState = db.readyState;
|
|
327
|
+
const stateNames = {
|
|
328
|
+
0: "disconnected",
|
|
329
|
+
1: "connected",
|
|
330
|
+
2: "connecting",
|
|
331
|
+
3: "disconnecting",
|
|
332
|
+
99: "uninitialized",
|
|
333
|
+
};
|
|
334
|
+
const stateName = stateNames[readyState] ?? "unknown";
|
|
335
|
+
return {
|
|
336
|
+
connected: readyState === 1,
|
|
337
|
+
readyState,
|
|
338
|
+
stateName,
|
|
339
|
+
};
|
|
340
|
+
}
|
|
341
|
+
/**
|
|
342
|
+
* Verifies database connection is active.
|
|
343
|
+
*
|
|
344
|
+
* @throws {DEMError} Throws DEMErrorCode.DB_NOT_CONNECTED if database is not connected.
|
|
345
|
+
*/
|
|
346
|
+
assertDbConnected() {
|
|
347
|
+
const status = this.checkDbState();
|
|
348
|
+
if (!status.connected) {
|
|
349
|
+
const err = new DEMError(DEMErrorCode.DB_NOT_CONNECTED, `Database for manager '${this.className}' is in state '${status.stateName}' (code: ${status.readyState}). Database must be connected before DEM starts loading.`, { className: this.className, readyState: status.readyState, stateName: status.stateName });
|
|
350
|
+
this.emitter.emit("error", err);
|
|
351
|
+
this.loggers.error?.(err.message);
|
|
352
|
+
throw err;
|
|
353
|
+
}
|
|
354
|
+
}
|
|
355
|
+
/**
|
|
356
|
+
* Preloads all database documents into memory for the manager class.
|
|
357
|
+
*
|
|
358
|
+
* @param options - Optional batch loading options.
|
|
359
|
+
* @returns Promise resolving when all entities are loaded and populated in globalCache.
|
|
360
|
+
*/
|
|
254
361
|
async preLoad(options) {
|
|
362
|
+
this.assertDbConnected();
|
|
255
363
|
this.loggers.debug("Loading manager DB " + this.className);
|
|
256
364
|
const docs = await this.model.find({});
|
|
257
365
|
// Optimization: Parallelize object creation to ensure all objects are in globalCache
|
|
@@ -278,6 +386,11 @@ export class AutoUpdateServerManager extends AutoUpdateManager {
|
|
|
278
386
|
docs.length +
|
|
279
387
|
"] entries");
|
|
280
388
|
}
|
|
389
|
+
/**
|
|
390
|
+
* Resolves back-references and pointers across loaded objects.
|
|
391
|
+
*
|
|
392
|
+
* @returns Promise resolving when reference resolution completes.
|
|
393
|
+
*/
|
|
281
394
|
async loadReferences() {
|
|
282
395
|
// Phase 1: Initial reference resolution (including back-references/createdWithParent)
|
|
283
396
|
// This MUST happen after all managers have finished preLoad so that all objects exist in globalCache.
|
|
@@ -285,6 +398,11 @@ export class AutoUpdateServerManager extends AutoUpdateManager {
|
|
|
285
398
|
// Phase 2: Resolve missing references (pointers) and set isLoaded_ = true
|
|
286
399
|
await super.loadReferences();
|
|
287
400
|
}
|
|
401
|
+
/**
|
|
402
|
+
* Registers a client socket with the manager and binds startup, delete, and new event listeners.
|
|
403
|
+
*
|
|
404
|
+
* @param socket - Connected client Socket instance.
|
|
405
|
+
*/
|
|
288
406
|
registerSocket(socket) {
|
|
289
407
|
this.clientSockets.add(socket);
|
|
290
408
|
socket.on(EVENT_STARTUP + this.className, async (req, ack) => {
|
|
@@ -389,9 +507,11 @@ export class AutoUpdateServerManager extends AutoUpdateManager {
|
|
|
389
507
|
(error instanceof Error ? error.message : String(error)));
|
|
390
508
|
if (error instanceof Error && error.stack)
|
|
391
509
|
this.loggers.error(error.stack);
|
|
510
|
+
const demErr = toDEMError(error, DEMErrorCode.STARTUP_FAILED);
|
|
392
511
|
if (typeof ack === "function") {
|
|
393
512
|
ack({
|
|
394
513
|
success: false,
|
|
514
|
+
code: demErr.code,
|
|
395
515
|
message: error instanceof Error ? error.message : String(error),
|
|
396
516
|
});
|
|
397
517
|
}
|
|
@@ -406,6 +526,7 @@ export class AutoUpdateServerManager extends AutoUpdateManager {
|
|
|
406
526
|
if (res && !res.success) {
|
|
407
527
|
ack({
|
|
408
528
|
success: false,
|
|
529
|
+
code: res.code ?? DEMErrorCode.OBJECT_DELETE_FAILED,
|
|
409
530
|
message: res.message || "Deletion unsuccessful",
|
|
410
531
|
});
|
|
411
532
|
}
|
|
@@ -427,9 +548,11 @@ export class AutoUpdateServerManager extends AutoUpdateManager {
|
|
|
427
548
|
(error instanceof Error ? error.message : String(error)));
|
|
428
549
|
if (error instanceof Error && error.stack)
|
|
429
550
|
this.loggers.error(error.stack);
|
|
551
|
+
const demErr = toDEMError(error, DEMErrorCode.OBJECT_DELETE_FAILED);
|
|
430
552
|
if (typeof ack === "function") {
|
|
431
553
|
ack({
|
|
432
554
|
success: false,
|
|
555
|
+
code: demErr.code,
|
|
433
556
|
message: error instanceof Error ? error.message : String(error),
|
|
434
557
|
});
|
|
435
558
|
}
|
|
@@ -455,9 +578,11 @@ export class AutoUpdateServerManager extends AutoUpdateManager {
|
|
|
455
578
|
(error instanceof Error ? error.message : String(error)));
|
|
456
579
|
if (error instanceof Error && error.stack)
|
|
457
580
|
this.loggers.error(error.stack);
|
|
581
|
+
const demErr = toDEMError(error, DEMErrorCode.OBJECT_CREATE_FAILED);
|
|
458
582
|
if (typeof ack === "function") {
|
|
459
583
|
ack({
|
|
460
584
|
success: false,
|
|
585
|
+
code: demErr.code,
|
|
461
586
|
message: error instanceof Error ? error.message : String(error),
|
|
462
587
|
});
|
|
463
588
|
}
|
|
@@ -479,7 +604,7 @@ export class AutoUpdateServerManager extends AutoUpdateManager {
|
|
|
479
604
|
const id = event.replace(EVENT_UPDATE + this.className, "");
|
|
480
605
|
let obj = this.objects_[id];
|
|
481
606
|
if (!obj)
|
|
482
|
-
throw new
|
|
607
|
+
throw new DEMError(DEMErrorCode.OBJECT_GET_FAILED, `Never... failed to get object somehow: ${id}`);
|
|
483
608
|
const res = await obj.setValue(data.key, data.value);
|
|
484
609
|
if (typeof ack === "function") {
|
|
485
610
|
res.success
|
|
@@ -488,14 +613,20 @@ export class AutoUpdateServerManager extends AutoUpdateManager {
|
|
|
488
613
|
success: res.success,
|
|
489
614
|
message: res.msg,
|
|
490
615
|
})
|
|
491
|
-
: ack({
|
|
616
|
+
: ack({
|
|
617
|
+
success: res.success,
|
|
618
|
+
code: res.code ?? DEMErrorCode.DB_SAVE_FAILED,
|
|
619
|
+
message: res.msg,
|
|
620
|
+
});
|
|
492
621
|
}
|
|
493
622
|
}
|
|
494
623
|
catch (error) {
|
|
495
624
|
this.loggers.warn("Failed to update object in manager " + this.className);
|
|
625
|
+
const demErr = toDEMError(error, DEMErrorCode.DB_SAVE_FAILED);
|
|
496
626
|
if (typeof ack === "function") {
|
|
497
627
|
ack({
|
|
498
628
|
success: false,
|
|
629
|
+
code: demErr.code,
|
|
499
630
|
message: error instanceof Error ? error.message : String(error),
|
|
500
631
|
});
|
|
501
632
|
}
|
|
@@ -507,7 +638,7 @@ export class AutoUpdateServerManager extends AutoUpdateManager {
|
|
|
507
638
|
const id = event.replace(EVENT_GET + this.className, "");
|
|
508
639
|
let obj = this.objects_[id];
|
|
509
640
|
if (!obj)
|
|
510
|
-
throw new
|
|
641
|
+
throw new DEMError(DEMErrorCode.OBJECT_NOT_FOUND, `Object not found: ${id}`);
|
|
511
642
|
if (typeof ack === "function") {
|
|
512
643
|
ack({
|
|
513
644
|
data: obj.extractedData,
|
|
@@ -523,9 +654,11 @@ export class AutoUpdateServerManager extends AutoUpdateManager {
|
|
|
523
654
|
(error instanceof Error ? error.message : String(error)));
|
|
524
655
|
if (error instanceof Error && error.stack)
|
|
525
656
|
this.loggers.error(error.stack);
|
|
657
|
+
const demErr = toDEMError(error, DEMErrorCode.OBJECT_GET_FAILED);
|
|
526
658
|
if (typeof ack === "function") {
|
|
527
659
|
ack({
|
|
528
660
|
success: false,
|
|
661
|
+
code: demErr.code,
|
|
529
662
|
message: error instanceof Error ? error.message : String(error),
|
|
530
663
|
});
|
|
531
664
|
}
|
|
@@ -537,20 +670,42 @@ export class AutoUpdateServerManager extends AutoUpdateManager {
|
|
|
537
670
|
this.knownObjectIdsBySocket.delete(socket);
|
|
538
671
|
});
|
|
539
672
|
}
|
|
673
|
+
/**
|
|
674
|
+
* Retrieves a server managed object by identifier.
|
|
675
|
+
*
|
|
676
|
+
* @param _id - Optional entity identifier.
|
|
677
|
+
* @returns Managed entity instance, null, or undefined.
|
|
678
|
+
*/
|
|
540
679
|
getObject(_id) {
|
|
541
680
|
if (!_id)
|
|
542
681
|
return null;
|
|
543
682
|
return this.objects_[_id.toString()] || undefined;
|
|
544
683
|
}
|
|
684
|
+
/**
|
|
685
|
+
* Dictionary of all managed entities keyed by their string IDs.
|
|
686
|
+
*
|
|
687
|
+
* @returns Map of managed entities.
|
|
688
|
+
*/
|
|
545
689
|
get objects() {
|
|
546
690
|
return this.objects_;
|
|
547
691
|
}
|
|
692
|
+
/**
|
|
693
|
+
* Array representation of all managed entities.
|
|
694
|
+
*
|
|
695
|
+
* @returns Array containing all managed entities.
|
|
696
|
+
*/
|
|
548
697
|
get objectsAsArray() {
|
|
549
698
|
if (!this._cachedObjectsArray) {
|
|
550
699
|
this._cachedObjectsArray = Object.values(this.objects_);
|
|
551
700
|
}
|
|
552
701
|
return this._cachedObjectsArray;
|
|
553
702
|
}
|
|
703
|
+
/**
|
|
704
|
+
* Deletes an entity from database, manager cache, and mutation tracker.
|
|
705
|
+
*
|
|
706
|
+
* @param _id - Identifier of entity to delete.
|
|
707
|
+
* @returns Promise resolving to deletion outcome object.
|
|
708
|
+
*/
|
|
554
709
|
async deleteObject(_id) {
|
|
555
710
|
this._cachedObjectsArray = null;
|
|
556
711
|
const idStr = _id.toString();
|
|
@@ -566,6 +721,13 @@ export class AutoUpdateServerManager extends AutoUpdateManager {
|
|
|
566
721
|
return super.deleteObject(_id);
|
|
567
722
|
}
|
|
568
723
|
pendingMissingFetches = new Map();
|
|
724
|
+
/**
|
|
725
|
+
* Retrieves an entity missing from memory by querying MongoDB directly.
|
|
726
|
+
*
|
|
727
|
+
* @param _id - Identifier of missing entity.
|
|
728
|
+
* @returns Promise resolving to the retrieved server object.
|
|
729
|
+
* @throws {DEMError} Throws DEMErrorCode.DOCUMENT_NOT_FOUND or MANAGERS_NOT_INITIALIZED.
|
|
730
|
+
*/
|
|
569
731
|
async handleGetMissingObject(_id) {
|
|
570
732
|
const _idStr = _id.toString();
|
|
571
733
|
if (this.getObject(_idStr))
|
|
@@ -577,9 +739,9 @@ export class AutoUpdateServerManager extends AutoUpdateManager {
|
|
|
577
739
|
try {
|
|
578
740
|
const document = await this.model.findById(_idStr);
|
|
579
741
|
if (!document)
|
|
580
|
-
throw new
|
|
742
|
+
throw new DEMError(DEMErrorCode.DOCUMENT_NOT_FOUND, `No document with id ${_idStr} in DB.`);
|
|
581
743
|
if (!this.managers)
|
|
582
|
-
throw new
|
|
744
|
+
throw new DEMError(DEMErrorCode.MANAGERS_NOT_INITIALIZED, `No managers.`);
|
|
583
745
|
const object = await createAutoUpdatedClass(this.classParam, this.className, this.socket, document, this.loggers, this, this.emitter);
|
|
584
746
|
await object.waitForPreloaded();
|
|
585
747
|
this.objects_[object._id.toString()] = object;
|
|
@@ -600,9 +762,17 @@ export class AutoUpdateServerManager extends AutoUpdateManager {
|
|
|
600
762
|
this.pendingMissingFetches.set(_idStr, fetchPromise);
|
|
601
763
|
return fetchPromise;
|
|
602
764
|
}
|
|
765
|
+
/**
|
|
766
|
+
* Creates a new entity document in MongoDB and instantiates its manager wrapper.
|
|
767
|
+
* Broadcasts creation event to client sockets with authorized access.
|
|
768
|
+
*
|
|
769
|
+
* @param data - Initial entity properties.
|
|
770
|
+
* @returns Promise resolving to the created server entity.
|
|
771
|
+
* @throws {DEMError} Throws DEMErrorCode.MANAGERS_NOT_INITIALIZED.
|
|
772
|
+
*/
|
|
603
773
|
async createObject(data) {
|
|
604
774
|
if (!this.managers)
|
|
605
|
-
throw new
|
|
775
|
+
throw new DEMError(DEMErrorCode.MANAGERS_NOT_INITIALIZED, `No managers.`);
|
|
606
776
|
this.loggers.debug("Creating new object from manager " + this.className);
|
|
607
777
|
const rawRec = { ...data };
|
|
608
778
|
if (rawRec._id === "" || rawRec._id === null)
|
|
@@ -684,6 +854,12 @@ export class AutoUpdateServerManager extends AutoUpdateManager {
|
|
|
684
854
|
}
|
|
685
855
|
return object;
|
|
686
856
|
}
|
|
857
|
+
/**
|
|
858
|
+
* Re-evaluates client socket permissions against dynamic startup middleware rules.
|
|
859
|
+
* Emits 'new' or 'delete' socket events when client access changes dynamically.
|
|
860
|
+
*
|
|
861
|
+
* @param object - Entity to evaluate.
|
|
862
|
+
*/
|
|
687
863
|
async checkPermissionBoundaries(object) {
|
|
688
864
|
if (!this.options?.accessDefinitions?.startupMiddleware)
|
|
689
865
|
return;
|
|
@@ -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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"}
|