@prestizni-software/server-dem 0.6.2 → 0.6.5

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.
@@ -75,6 +75,7 @@ export declare class AutoUpdateServerManager<T extends IAutoUpdatedClientObject<
75
75
  objects?: any[];
76
76
  properties: string[];
77
77
  } | null;
78
+ private _cachedObjectsArray;
78
79
  constructor(classParam: Constructor<T>, className: string, socket: Server, loggers: LoggersType, model: ReturnModelType<any, BeAnObject>, managers: M, emitter: EventEmitter3, options?: AUSOption<T, Record<string, IAutoUpdatedClientObject<any>>>);
79
80
  preLoad(options?: {
80
81
  batchSize?: number;
@@ -84,6 +85,10 @@ export declare class AutoUpdateServerManager<T extends IAutoUpdatedClientObject<
84
85
  getObject(_id?: MongoId): T | null | undefined;
85
86
  get objects(): Record<string, T>;
86
87
  get objectsAsArray(): T[];
88
+ deleteObject(_id: MongoId): Promise<{
89
+ success: boolean;
90
+ message: string;
91
+ }>;
87
92
  private pendingMissingFetches;
88
93
  handleGetMissingObject(_id: MongoId): Promise<T>;
89
94
  createObject(data: Omit<IsData<T>, "_id">): Promise<T>;
@@ -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, 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, } from "./CommonTypes.js";
4
4
  import { EventEmitter } from "eventemitter3";
5
5
  import { getModelForClass } from "@typegoose/typegoose";
6
6
  export var DEMEventTypes;
@@ -205,12 +205,16 @@ export async function AUSManagerFactory(defs, loggers_, socket, doDebug = true,
205
205
  }
206
206
  }));
207
207
  socket.on("connection", async (socket) => {
208
- loggers.debug?.(`Client connected: ${socket.id}`);
208
+ loggers.debug?.(`Client connected: ${socket?.id}`);
209
+ socket?.emit?.(EVENT_VERSION, {
210
+ version: DEM_VERSION,
211
+ protocolVersion: DEM_PROTOCOL_VERSION,
212
+ });
209
213
  for (const manager of Object.values(managers)) {
210
214
  manager.registerSocket(socket);
211
215
  }
212
- socket.on("disconnect", () => {
213
- loggers.debug?.(`Client disconnected: ${socket.id}`);
216
+ socket?.on?.("disconnect", () => {
217
+ loggers.debug?.(`Client disconnected: ${socket?.id}`);
214
218
  });
215
219
  });
216
220
  try {
@@ -231,6 +235,7 @@ export class AutoUpdateServerManager extends AutoUpdateManager {
231
235
  objects_ = {};
232
236
  managers;
233
237
  startupPayloadCache = null;
238
+ _cachedObjectsArray = null;
234
239
  constructor(classParam, className, socket, loggers, model, managers, emitter, options) {
235
240
  super(classParam, className, socket, loggers, managers, emitter);
236
241
  this.managers = managers;
@@ -257,6 +262,7 @@ export class AutoUpdateServerManager extends AutoUpdateManager {
257
262
  };
258
263
  }));
259
264
  this.startupPayloadCache = null;
265
+ this._cachedObjectsArray = null;
260
266
  this.loggers.debug("Loaded manager DB " +
261
267
  this.className +
262
268
  " - [" +
@@ -274,15 +280,36 @@ export class AutoUpdateServerManager extends AutoUpdateManager {
274
280
  this.clientSockets.add(socket);
275
281
  socket.on(EVENT_STARTUP + this.className, async (_, ack) => {
276
282
  try {
277
- const allowedObjects = this.options?.accessDefinitions?.startupMiddleware
278
- ? await this.options.accessDefinitions.startupMiddleware(this.objectsAsArray, this.managers, socket)
279
- : this.objectsAsArray;
280
- const ids = allowedObjects.map((obj) => obj._id.toString()).filter(Boolean);
281
- const objects = allowedObjects.map((obj) => obj.extractedData).filter(Boolean);
283
+ let ids;
284
+ let objects;
285
+ if (!this.options?.accessDefinitions?.startupMiddleware && this.startupPayloadCache) {
286
+ ids = this.startupPayloadCache.ids;
287
+ objects = this.startupPayloadCache.objects ?? [];
288
+ }
289
+ else {
290
+ const allowedObjects = this.options?.accessDefinitions?.startupMiddleware
291
+ ? await this.options.accessDefinitions.startupMiddleware(this.objectsAsArray, this.managers, socket)
292
+ : this.objectsAsArray;
293
+ ids = allowedObjects.map((obj) => obj._id.toString()).filter(Boolean);
294
+ objects = allowedObjects.map((obj) => obj.extractedData).filter(Boolean);
295
+ if (!this.options?.accessDefinitions?.startupMiddleware) {
296
+ this.startupPayloadCache = {
297
+ ids,
298
+ objects,
299
+ properties: this.properties,
300
+ };
301
+ }
302
+ }
282
303
  this.loggers.debug("Sending startup data for manager " + this.className);
283
304
  if (typeof ack === "function") {
284
305
  ack({
285
- data: { ids, objects, properties: this.properties },
306
+ data: {
307
+ ids,
308
+ objects,
309
+ properties: this.properties,
310
+ version: DEM_VERSION,
311
+ protocolVersion: DEM_PROTOCOL_VERSION,
312
+ },
286
313
  success: true,
287
314
  });
288
315
  }
@@ -450,7 +477,14 @@ export class AutoUpdateServerManager extends AutoUpdateManager {
450
477
  return this.objects_;
451
478
  }
452
479
  get objectsAsArray() {
453
- return Object.values(this.objects_);
480
+ if (!this._cachedObjectsArray) {
481
+ this._cachedObjectsArray = Object.values(this.objects_);
482
+ }
483
+ return this._cachedObjectsArray;
484
+ }
485
+ async deleteObject(_id) {
486
+ this._cachedObjectsArray = null;
487
+ return super.deleteObject(_id);
454
488
  }
455
489
  pendingMissingFetches = new Map();
456
490
  async handleGetMissingObject(_id) {
@@ -470,6 +504,7 @@ export class AutoUpdateServerManager extends AutoUpdateManager {
470
504
  const object = await createAutoUpdatedClass(this.classParam, this.className, this.socket, document, this.loggers, this, this.emitter);
471
505
  await object.waitForPreloaded();
472
506
  this.objects_[object._id.toString()] = object;
507
+ this._cachedObjectsArray = null;
473
508
  globalCache.objects[object._id.toString()] = {
474
509
  className: this.className,
475
510
  object: object,
@@ -532,6 +567,7 @@ export class AutoUpdateServerManager extends AutoUpdateManager {
532
567
  }
533
568
  }
534
569
  this.objects_[id] = object;
570
+ this._cachedObjectsArray = null;
535
571
  globalCache.objects[id] = {
536
572
  className: this.className,
537
573
  object: object,
@@ -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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"}
@@ -19,7 +19,7 @@ export declare abstract class AutoUpdatedClientObject<T extends IAutoUpdatedClie
19
19
  protected isLoading: boolean;
20
20
  loadError?: string;
21
21
  protected isLoadingReferences: boolean;
22
- protected checkedMissingProperties: Record<string, boolean>;
22
+ protected checkedMissingProperties?: Record<string, boolean>;
23
23
  protected readonly emitter: EventEmitter3;
24
24
  readonly properties: string[];
25
25
  readonly classParam: Constructor<T>;
@@ -28,8 +28,9 @@ export declare abstract class AutoUpdatedClientObject<T extends IAutoUpdatedClie
28
28
  cache: DEMCache;
29
29
  managers: M;
30
30
  };
31
+ private static _emitterCounter;
31
32
  protected readonly EmitterID: string;
32
- protected readonly toChangeOnParents: {
33
+ protected toChangeOnParents?: {
33
34
  key: string;
34
35
  value: unknown;
35
36
  }[];
@@ -11,21 +11,15 @@ export class AutoUpdatedClientObject {
11
11
  isLoading = true;
12
12
  loadError;
13
13
  isLoadingReferences = true;
14
- checkedMissingProperties = {};
14
+ checkedMissingProperties;
15
15
  emitter;
16
16
  properties;
17
17
  classParam;
18
18
  className;
19
19
  parentManager;
20
- EmitterID = (() => {
21
- try {
22
- return new ObjectId().toHexString();
23
- }
24
- catch {
25
- return Math.random().toString(36).substring(2) + Date.now().toString(36);
26
- }
27
- })();
28
- toChangeOnParents = [];
20
+ static _emitterCounter = 0;
21
+ EmitterID = `dem_e_${++AutoUpdatedClientObject._emitterCounter}`;
22
+ toChangeOnParents;
29
23
  callbacks;
30
24
  loadReferencesAsync = async () => {
31
25
  try {
@@ -35,8 +29,10 @@ export class AutoUpdatedClientObject {
35
29
  this.generateSettersAndGetters();
36
30
  if (this.isServer) {
37
31
  await this.loadForceReferences();
38
- for (const thing of this.toChangeOnParents) {
39
- await this.setValue__(thing.key, thing.value, true, false, false, true);
32
+ if (this.toChangeOnParents) {
33
+ for (const thing of this.toChangeOnParents) {
34
+ await this.setValue__(thing.key, thing.value, true, false, false, true);
35
+ }
40
36
  }
41
37
  }
42
38
  }
@@ -144,20 +140,31 @@ export class AutoUpdatedClientObject {
144
140
  return data;
145
141
  const meta = this.classParam ? setupClassAccessors(this.classParam) : null;
146
142
  const refProps = meta ? meta.refProps : null;
143
+ if (!refProps || refProps.size === 0)
144
+ return data;
147
145
  const dataAsRecord = data;
148
- for (const key of this.properties || []) {
149
- const isRef = refProps ? refProps.has(key) : getMetadataRecursive("isRef", this, key);
146
+ for (const key of refProps) {
150
147
  const val = dataAsRecord[key];
151
- if (isRef && val) {
152
- if (Array.isArray(val)) {
148
+ if (!val)
149
+ continue;
150
+ if (Array.isArray(val)) {
151
+ let needsNormalization = false;
152
+ for (let i = 0; i < val.length; i++) {
153
+ const item = val[i];
154
+ if (item && typeof item === "object") {
155
+ needsNormalization = true;
156
+ break;
157
+ }
158
+ }
159
+ if (needsNormalization) {
153
160
  dataAsRecord[key] = val.map((obj) => obj?._id?.toString() ??
154
161
  obj?.toString());
155
162
  }
156
- else if (typeof val === "object") {
157
- dataAsRecord[key] =
158
- val?._id?.toString() ??
159
- val?.toString();
160
- }
163
+ }
164
+ else if (typeof val === "object") {
165
+ dataAsRecord[key] =
166
+ val?._id?.toString() ??
167
+ val?.toString();
161
168
  }
162
169
  }
163
170
  return data;
@@ -298,9 +305,9 @@ export class AutoUpdatedClientObject {
298
305
  }
299
306
  if (this.properties) {
300
307
  for (const key of this.properties) {
301
- if (typeof key !== "string")
302
- continue;
303
- delete this[key];
308
+ if (typeof key === "string" && Object.hasOwn(this, key)) {
309
+ delete this[key];
310
+ }
304
311
  }
305
312
  }
306
313
  }
@@ -328,7 +335,7 @@ export class AutoUpdatedClientObject {
328
335
  findReference(id, key) {
329
336
  if (!id)
330
337
  return undefined;
331
- const idStr = id.toString();
338
+ const idStr = typeof id === "string" ? id : id.toString();
332
339
  const cached = globalCache.objects[idStr];
333
340
  if (cached?.object)
334
341
  return cached.object;
@@ -502,7 +509,7 @@ export class AutoUpdatedClientObject {
502
509
  destroyImmediate() {
503
510
  this.wipeSelf();
504
511
  }
505
- async loadForceReferences(obj = this.data, proto = this, alreadySeen = []) {
512
+ async loadForceReferences(obj = this.data, proto = this, alreadySeen = new Set()) {
506
513
  const meta = this.classParam ? setupClassAccessors(this.classParam) : null;
507
514
  const props = obj === this.data && this.properties
508
515
  ? this.properties
@@ -518,16 +525,19 @@ export class AutoUpdatedClientObject {
518
525
  if (pointer &&
519
526
  obj === (this.data) &&
520
527
  obj[key] &&
521
- !alreadySeen.includes(obj)) {
528
+ !alreadySeen.has(obj)) {
522
529
  await this.createdWithParent(pointer.split(":"), obj[key]);
523
530
  }
524
- if (obj[key] && !alreadySeen.includes(obj[key]))
525
- alreadySeen.push(obj[key]);
531
+ if (obj[key] && !alreadySeen.has(obj[key]))
532
+ alreadySeen.add(obj[key]);
526
533
  const val = obj[key];
527
- if (val && typeof val === "object") {
534
+ if (val &&
535
+ typeof val === "object" &&
536
+ !(val instanceof Date) &&
537
+ !(val instanceof ObjectId)) {
528
538
  const nestedProto = Object.getPrototypeOf(val);
529
- if (nestedProto && !alreadySeen.includes(val)) {
530
- alreadySeen.push(val);
539
+ if (nestedProto && !alreadySeen.has(val)) {
540
+ alreadySeen.add(val);
531
541
  await this.loadForceReferences(val, nestedProto, alreadySeen);
532
542
  }
533
543
  }
@@ -537,35 +547,40 @@ export class AutoUpdatedClientObject {
537
547
  if (pointer.length !== 2)
538
548
  return;
539
549
  const parentId = parent._id?.toString() ?? parent.toString();
540
- this.loggers.debug(`createdWithParent: pointer=${pointer.join(":")}, parentId=${parentId}`);
541
550
  const manager = this.parentManager.managers[pointer[0]];
542
551
  if (!manager) {
543
- this.loggers.warn(`createdWithParent: Manager not found for ${pointer[0]}. Available managers: ${Object.keys(this.parentManager.managers).join(", ")}`);
552
+ this.loggers.warn?.(`createdWithParent: Manager not found for ${pointer[0]}.`);
544
553
  return;
545
554
  }
546
555
  const obj = manager.getObject(parentId);
547
556
  if (!obj) {
548
- this.loggers.warn(`createdWithParent: Parent object not found for ID ${parentId} in manager ${pointer[0]}`);
557
+ this.loggers.warn?.(`createdWithParent: Parent object not found for ID ${parentId} in manager ${pointer[0]}`);
549
558
  return;
550
559
  }
551
- const val = obj.getValue(pointer[1]);
552
- const myId = this.data._id.toString();
553
- const valLog = Array.isArray(val)
554
- ? `[${val.map((v) => v?._id?.toString() ?? v?.toString()).join(", ")}]`
555
- : val?._id?.toString() ?? String(val);
556
- this.loggers.debug?.(`createdWithParent: Current parent value for ${pointer[1]} is ${valLog}, myId=${myId}`);
557
- if (Array.isArray(val)) {
558
- const ids = val.map((v) => v?._id?.toString() ??
559
- v?.toString());
560
- if (!ids.includes(myId)) {
560
+ const myId = this.data._id?.toString?.() ?? String(this.data._id);
561
+ const rawData = obj.data;
562
+ const rawVal = rawData ? rawData[pointer[1]] : undefined;
563
+ if (Array.isArray(rawVal)) {
564
+ let alreadyIncluded = false;
565
+ for (let i = 0; i < rawVal.length; i++) {
566
+ const item = rawVal[i];
567
+ const idStr = item?._id?.toString?.() ?? item?.toString?.();
568
+ if (idStr === myId) {
569
+ alreadyIncluded = true;
570
+ break;
571
+ }
572
+ }
573
+ if (!alreadyIncluded) {
561
574
  this.loggers.debug?.(`createdWithParent: Adding myId to parent array`);
562
- await obj.setValue__(pointer[1], [...val, myId], false, false, false, true);
575
+ await obj.setValue__(pointer[1], [...rawVal, myId], false, false, false, true);
563
576
  }
564
577
  }
565
- else if ((val?._id?.toString() ??
566
- val?.toString()) !== myId) {
567
- this.loggers.debug?.(`createdWithParent: Setting myId to parent field`);
568
- await obj.setValue__(pointer[1], myId, false, false, false, true);
578
+ else {
579
+ const currentIdStr = rawVal?._id?.toString?.() ?? rawVal?.toString?.();
580
+ if (currentIdStr !== myId) {
581
+ this.loggers.debug?.(`createdWithParent: Setting myId to parent field`);
582
+ await obj.setValue__(pointer[1], myId, false, false, false, true);
583
+ }
569
584
  }
570
585
  }
571
586
  async destroy(once = false) {
@@ -580,7 +595,7 @@ export class AutoUpdatedClientObject {
580
595
  async checkForMissingRefs() {
581
596
  for (const prop of this.properties) {
582
597
  const pointer = getMetadataRecursive("refsTo", this, prop.toString());
583
- if (pointer && !this.getValue(prop)) {
598
+ if (pointer && !this.data?.[prop]) {
584
599
  const parts = pointer.split(":");
585
600
  if (parts.length === 2)
586
601
  await this.findMissingObjectReference(prop, parts);
@@ -588,28 +603,38 @@ export class AutoUpdatedClientObject {
588
603
  }
589
604
  }
590
605
  async findMissingObjectReference(prop, pointer) {
606
+ this.checkedMissingProperties ??= {};
591
607
  if (this.checkedMissingProperties[prop])
592
608
  return;
593
609
  this.checkedMissingProperties[prop] = true;
594
610
  const ac = this.parentManager.managers[pointer[0]];
595
611
  if (!ac)
596
612
  return;
597
- const targetId = this.data._id.toString();
598
- const allObjects = Object.values(ac.objectsAsArray);
599
- for (const obj of allObjects) {
600
- if (!obj.isLoaded)
601
- await obj.waitForPreloaded();
602
- const val = obj.getValue(pointer[1]);
613
+ const targetId = this.data._id?.toString?.() ?? String(this.data._id);
614
+ const allObjects = ac.objectsAsArray;
615
+ for (let i = 0; i < allObjects.length; i++) {
616
+ const obj = allObjects[i];
617
+ const rawData = obj.data;
618
+ if (!rawData)
619
+ continue;
620
+ const val = rawData[pointer[1]];
603
621
  if (!val)
604
622
  continue;
605
- const ids = Array.isArray(val)
606
- ? val.map((v) => v?._id?.toString() ?? v.toString())
607
- : [
608
- val._id?.toString() ?? val.toString(),
609
- ];
610
- if (ids.includes(targetId)) {
611
- this.data[prop] = obj._id;
612
- return;
623
+ if (Array.isArray(val)) {
624
+ for (let j = 0; j < val.length; j++) {
625
+ const id = val[j]?._id?.toString?.() ?? val[j]?.toString?.();
626
+ if (id === targetId) {
627
+ this.data[prop] = obj._id;
628
+ return;
629
+ }
630
+ }
631
+ }
632
+ else {
633
+ const id = val?._id?.toString?.() ?? val?.toString?.();
634
+ if (id === targetId) {
635
+ this.data[prop] = obj._id;
636
+ return;
637
+ }
613
638
  }
614
639
  }
615
640
  }
@@ -712,9 +737,16 @@ export function setupClassAccessors(classParam) {
712
737
  val = undefined;
713
738
  if (isRef && val) {
714
739
  if (Array.isArray(val)) {
715
- return val
716
- .map((id) => this.findReference(id, key))
717
- .filter(Boolean);
740
+ const result = [];
741
+ for (let i = 0; i < val.length; i++) {
742
+ const item = val[i];
743
+ if (item) {
744
+ const ref = this.findReference(item, key);
745
+ if (ref)
746
+ result.push(ref);
747
+ }
748
+ }
749
+ return result;
718
750
  }
719
751
  else {
720
752
  return this.findReference(val, key);