@prestizni-software/server-dem 0.2.88 → 0.3.2

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.
@@ -11,7 +11,6 @@ export async function createAutoUpdatedClass(classParam, socket, data, loggers,
11
11
  }
12
12
  export class AutoUpdatedClientObject {
13
13
  socket;
14
- //protected updates: string[] = [];
15
14
  data;
16
15
  isServer = false;
17
16
  loggers = {
@@ -63,10 +62,30 @@ export class AutoUpdatedClientObject {
63
62
  this.autoClasser = autoClasser;
64
63
  this.className = className;
65
64
  this.properties = properties;
66
- this.loggers.debug = (s) => loggers.debug("[DEM - " + this.className + ": " + (this.data._id ?? "not loaded") + "] " + s);
67
- this.loggers.info = (s) => loggers.info("[DEM - " + this.className + ": " + (this.data._id ?? "not loaded") + "] " + s);
68
- this.loggers.error = (s) => loggers.error("[DEM - " + this.className + ": " + (this.data._id ?? "not loaded") + "] " + s);
69
- this.loggers.warn = (s) => loggers.warn("[DEM - " + this.className + ": " + (this.data._id ?? "not loaded") + "] " + s);
65
+ this.loggers.debug = (s) => loggers.debug("[DEM - " +
66
+ this.className +
67
+ ": " +
68
+ (this.data?._id ?? "not loaded") +
69
+ "] " +
70
+ s);
71
+ this.loggers.info = (s) => loggers.info("[DEM - " +
72
+ this.className +
73
+ ": " +
74
+ (this.data?._id ?? "not loaded") +
75
+ "] " +
76
+ s);
77
+ this.loggers.error = (s) => loggers.error("[DEM - " +
78
+ this.className +
79
+ ": " +
80
+ (this.data?._id ?? "not loaded") +
81
+ "] " +
82
+ s);
83
+ this.loggers.warn = (s) => loggers.warn("[DEM - " +
84
+ this.className +
85
+ ": " +
86
+ (this.data?._id ?? "not loaded") +
87
+ "] " +
88
+ s);
70
89
  this.socket = socket;
71
90
  if (typeof data === "string") {
72
91
  if (this.isServer) {
@@ -87,6 +106,7 @@ export class AutoUpdatedClientObject {
87
106
  this.data = res.data;
88
107
  this.isLoading = false;
89
108
  this.emitter.emit("pre-loaded" + this.EmitterID);
109
+ this.openSockets();
90
110
  });
91
111
  this.data = { _id: data };
92
112
  }
@@ -158,20 +178,23 @@ export class AutoUpdatedClientObject {
158
178
  }
159
179
  async isPreLoadedAsync() {
160
180
  await this.loadShit();
161
- return this.isLoading
162
- ? new Promise((resolve) => {
181
+ if (this.isLoading)
182
+ return new Promise((resolve) => {
163
183
  this.emitter.on("pre-loaded" + this.EmitterID, async () => {
184
+ this.generateSettersAndGetters();
164
185
  resolve(this.isLoading === false);
165
186
  });
166
- })
167
- : true;
187
+ });
188
+ this.generateSettersAndGetters();
189
+ return true;
168
190
  }
169
- async loadMissingReferences() {
170
- checkForMissingRefs(this.data, this.properties, this.classProp, this.autoClasser);
191
+ loadMissingReferences(obj) {
192
+ this.checkForMissingRefs(obj);
171
193
  this.generateSettersAndGetters();
172
194
  }
173
195
  openSockets() {
174
- this.socket.on("update" + this.className + this.data._id.toString(), async (update) => {
196
+ const event = "update" + this.className + this.data._id.toString();
197
+ this.socket.on(event, async (update) => {
175
198
  await this.handleUpdateRequest(update);
176
199
  });
177
200
  }
@@ -185,7 +208,9 @@ export class AutoUpdatedClientObject {
185
208
  dataRef = dataRef[path[i]];
186
209
  }
187
210
  dataRef[path.at(-1)] = update.value;
188
- this.loggers.debug(`[${this.data._id}] Applied patch ${update.key} set to ${update.value}`);
211
+ await this.loadForceReferences();
212
+ await this.contactChildren();
213
+ this.loggers.debug(`Applied patch ${update.key} set to ${update.value}`);
189
214
  // Return success with the applied patch
190
215
  return { success: true, data: undefined, message: "" };
191
216
  }
@@ -234,8 +259,8 @@ export class AutoUpdatedClientObject {
234
259
  return result;
235
260
  }
236
261
  }
237
- setValue(key, val) {
238
- return this.setValue__(key, val);
262
+ async setValue(key, val) {
263
+ return await this.setValue__(key, val);
239
264
  }
240
265
  async setValue__(key, val) {
241
266
  let message = "Setting value " + key + " of " + this.className;
@@ -249,8 +274,8 @@ export class AutoUpdatedClientObject {
249
274
  let lastClass = this;
250
275
  let lastPath = key;
251
276
  for (let i = 0; i < path.length - 1; i++) {
252
- if (typeof obj[path[i]] !== "object" ||
253
- obj[path[i]] instanceof ObjectId) {
277
+ if (typeof obj[path[i]] === "string" ||
278
+ ObjectId.isValid(obj[path[i]])) {
254
279
  let temp;
255
280
  try {
256
281
  temp = this.resolveReference(obj[path[i]]?.toString());
@@ -280,7 +305,9 @@ export class AutoUpdatedClientObject {
280
305
  }
281
306
  lastClass = temp;
282
307
  lastPath = path.slice(i + 1).join(".");
283
- return await lastClass.setValue(lastPath, value);
308
+ const res = await lastClass.setValue(lastPath, value);
309
+ this.checkAutoStatusChange();
310
+ return res;
284
311
  }
285
312
  else
286
313
  obj = obj[path[i]];
@@ -315,12 +342,22 @@ export class AutoUpdatedClientObject {
315
342
  message += "\nReport from inner setValue function: \n " + res.msg;
316
343
  }
317
344
  else {
318
- const originalValue = this.data[lastPath];
319
- if (!Array.isArray(value) && Array.isArray(originalValue)) {
320
- originalValue.push(value);
321
- value = originalValue;
345
+ if (this.getValue(key) && Array.isArray(this.getValue(key))) {
346
+ if (this.getValue(key).includes(value))
347
+ value = this.getValue(key);
348
+ else
349
+ value = this.getValue(key).concat(value);
322
350
  }
323
351
  const res = await this.setValueInternal(lastPath, value);
352
+ if (res.success) {
353
+ const originalValue = obj[path.at(-1)];
354
+ if (!Array.isArray(value) && Array.isArray(originalValue)) {
355
+ originalValue.push(value);
356
+ value = originalValue;
357
+ }
358
+ else
359
+ obj[path.at(-1)] = value;
360
+ }
324
361
  success = res.success;
325
362
  message += "\nReport from inner setValue function: \n " + res.message;
326
363
  }
@@ -333,67 +370,11 @@ export class AutoUpdatedClientObject {
333
370
  this.loggers.warn("Failed to set value for " + this.className + "\n" + message);
334
371
  return { success: false, msg: message };
335
372
  }
336
- const isRef = getMetadataRecursive("isRef", this.classProp.prototype, lastPath);
337
- if (isRef) {
338
- for (const id of Array.isArray(value) ? value : [value]) {
339
- let result;
340
- for (const classer of Object.values(this.autoClasser.classers)) {
341
- result = classer.getObject(id.toString());
342
- if (result)
343
- break;
344
- }
345
- if (!result) {
346
- this.loggers.warn("Failed to update childerns parent for " +
347
- this.className +
348
- " updating " +
349
- id +
350
- "'s parent to " +
351
- this.data._id);
352
- continue;
353
- }
354
- for (const property of result.properties) {
355
- let isPopulated = getMetadataRecursive("refsTo", result.classProp.prototype, property);
356
- if (!isPopulated)
357
- continue;
358
- isPopulated = isPopulated.split(":");
359
- if (isPopulated[0] !== this.className ||
360
- isPopulated[1] !== lastPath)
361
- continue;
362
- try {
363
- await result.loadMissingReferences();
364
- this.loggers.debug("Successfully set value for " +
365
- this.className +
366
- " updating " +
367
- id +
368
- "'s parent to " +
369
- this.data._id);
370
- }
371
- catch (error) {
372
- this.loggers.error("Failed to set value for " +
373
- this.className +
374
- " updating " +
375
- id +
376
- "'s parent to " +
377
- this.data._id);
378
- this.loggers.error(error.message);
379
- this.loggers.error(error.stack);
380
- return {
381
- success: false,
382
- msg: "Failed to set value for " +
383
- this.className +
384
- " updating " +
385
- id +
386
- "'s parent to " +
387
- this.data._id,
388
- };
389
- }
390
- }
391
- }
392
- }
393
373
  const pathArr = lastPath.split(".");
394
374
  if (pathArr.length === 1) {
395
375
  this.data[key] = value;
396
376
  await this.checkAutoStatusChange();
377
+ this.findAndLoadReferences(lastPath, value);
397
378
  return {
398
379
  success: true,
399
380
  msg: "Successfully set " + key + " to " + value,
@@ -406,6 +387,7 @@ export class AutoUpdatedClientObject {
406
387
  }
407
388
  ref[pathArr.at(-1)] = value;
408
389
  await this.checkAutoStatusChange();
390
+ this.findAndLoadReferences(lastPath, value);
409
391
  return {
410
392
  success: true,
411
393
  msg: "Successfully set " + key + " to " + value,
@@ -431,6 +413,29 @@ export class AutoUpdatedClientObject {
431
413
  };
432
414
  }
433
415
  }
416
+ findAndLoadReferences(lastPath, value) {
417
+ const isRef = getMetadataRecursive("isRef", this.classProp.prototype, lastPath);
418
+ if (isRef) {
419
+ for (const id of Array.isArray(value) ? value : [value]) {
420
+ let result;
421
+ for (const classer of Object.values(this.autoClasser.classers)) {
422
+ result = classer.getObject(id.toString());
423
+ if (result)
424
+ break;
425
+ }
426
+ if (!result) {
427
+ this.loggers.warn("Failed to update childerns parent for " +
428
+ this.className +
429
+ " updating " +
430
+ id +
431
+ "'s parent to " +
432
+ this.data._id);
433
+ continue;
434
+ }
435
+ result.loadMissingReferences(this);
436
+ }
437
+ }
438
+ }
434
439
  getValue(key) {
435
440
  let value;
436
441
  for (const part of key.split(".")) {
@@ -460,6 +465,7 @@ export class AutoUpdatedClientObject {
460
465
  this.socket.emit("update" + this.className + this.data._id, update, (res) => {
461
466
  resolve({ success: res.success, message: "Success" });
462
467
  });
468
+ this.checkAutoStatusChange();
463
469
  }
464
470
  catch (error) {
465
471
  this.loggers.error("Error sending update:" + error.message);
@@ -498,21 +504,26 @@ export class AutoUpdatedClientObject {
498
504
  async loadForceReferences(obj = this.data, proto = this.classProp.prototype, alreadySeen = []) {
499
505
  const props = Reflect.getMetadata("props", proto) || [];
500
506
  for (const key of props) {
507
+ if (typeof key !== "string")
508
+ return;
501
509
  const isRef = Reflect.getMetadata("isRef", proto, key);
510
+ const pointer = Reflect.getMetadata("refsTo", proto, key);
511
+ if (pointer && obj === this.data && obj[key])
512
+ await this.createdWithParent(pointer.split(":"), obj[key]);
502
513
  if (isRef) {
503
- await this.handleLoadOnForced(obj, key, alreadySeen);
514
+ await this.handleLoad(obj, key, alreadySeen);
504
515
  }
505
516
  const val = obj[key];
506
517
  if (val && typeof val === "object") {
507
518
  const nestedProto = Object.getPrototypeOf(val);
508
- if (nestedProto && !alreadySeen.includes(nestedProto)) {
519
+ if (nestedProto && !alreadySeen.includes(val)) {
509
520
  alreadySeen.push(val);
510
521
  await this.loadForceReferences(val, nestedProto, alreadySeen);
511
522
  }
512
523
  }
513
524
  }
514
525
  }
515
- async handleLoadOnForced(obj, key, alreadySeen) {
526
+ async handleLoad(obj, key, alreadySeen) {
516
527
  if (!this.autoClasser)
517
528
  throw new Error("No autoClassers");
518
529
  const refId = obj[key];
@@ -527,23 +538,132 @@ export class AutoUpdatedClientObject {
527
538
  }
528
539
  }
529
540
  }
541
+ async createdWithParent(pointer, parent) {
542
+ if (pointer.length !== 2) {
543
+ throw new Error("Invalid pointer: " + JSON.stringify(pointer) + " for " + this.className);
544
+ }
545
+ const obj = this.autoClasser.classers[pointer[0]]?.getObject(parent._id?.toString() ?? parent.toString());
546
+ const val = obj?.getValue(pointer[1]);
547
+ if (!val)
548
+ return;
549
+ if (Array.isArray(val)) {
550
+ if (val.includes(this.data._id))
551
+ await obj?.contactChildren();
552
+ else
553
+ await obj?.setValue(pointer[1], [...val, this.data._id]);
554
+ }
555
+ else if (val.toString() === this.data._id.toString())
556
+ await obj?.contactChildren();
557
+ else
558
+ await obj?.setValue(pointer[1], this.data._id.toString());
559
+ }
530
560
  async destroy(once = false) {
531
561
  if (!once) {
532
- await this.autoClasser.deleteObject(this.data._id);
562
+ return await this.autoClasser.deleteObject(this.data._id);
563
+ }
564
+ const res = await new Promise((resolve) => {
565
+ this.socket.emit("delete" + this.className, this.data._id, (res) => {
566
+ if (!res.success) {
567
+ this.loggers.error("Error deleting object from database - " +
568
+ this.className +
569
+ " - " +
570
+ this.data._id);
571
+ this.loggers.error(res.message);
572
+ resolve({
573
+ success: false,
574
+ message: res.message,
575
+ });
576
+ return;
577
+ }
578
+ this.socket.removeAllListeners("update" + this.className + this.data._id);
579
+ this.socket.removeAllListeners("delete" + this.className + this.data._id);
580
+ this.wipeSelf();
581
+ resolve({
582
+ success: true,
583
+ message: "Deleted",
584
+ });
585
+ });
586
+ });
587
+ return res;
588
+ }
589
+ checkForMissingRefs(obj) {
590
+ for (const prop of this.properties) {
591
+ let pointer = getMetadataRecursive("refsTo", this.classProp.prototype, prop.toString());
592
+ if (pointer) {
593
+ pointer = pointer.split(":");
594
+ if (pointer.length != 2)
595
+ throw new Error("population rf incorrectly defined. Sould be 'ParentClass:PropName'");
596
+ this.findMissingObjectReference(prop, pointer, obj);
597
+ }
598
+ }
599
+ }
600
+ findMissingObjectReference(prop, pointer, obj) {
601
+ if (obj) {
602
+ this.data[prop] = obj._id;
533
603
  return;
534
604
  }
535
- this.socket.emit("delete" + this.className, this.data._id);
536
- this.socket.removeAllListeners("update" + this.className + this.data._id);
537
- this.socket.removeAllListeners("delete" + this.className + this.data._id);
538
- this.wipeSelf();
605
+ let foundAnAC = false;
606
+ for (const ac of Object.values(this.autoClasser.classers)) {
607
+ if (ac.className !== pointer[0]) {
608
+ continue;
609
+ }
610
+ foundAnAC = true;
611
+ for (const obj of ac.objectsAsArray) {
612
+ let eData = obj.extractedData;
613
+ let found;
614
+ for (const pathPart of pointer[1].split(".")) {
615
+ if (!eData[pathPart]) {
616
+ found = false;
617
+ break;
618
+ }
619
+ if (Array.isArray(eData[pathPart]) &&
620
+ !eData[pathPart].includes(this.data._id.toString())) {
621
+ found = false;
622
+ break;
623
+ }
624
+ if (eData[pathPart].toString() !== this.data._id.toString()) {
625
+ found = false;
626
+ break;
627
+ }
628
+ found = eData = eData[pathPart];
629
+ }
630
+ if (found) {
631
+ this.data[prop] = obj._id;
632
+ return;
633
+ }
634
+ }
635
+ }
636
+ if (!foundAnAC) {
637
+ throw new Error(`No AutoUpdateManager found for class ${pointer[0]}`);
638
+ }
539
639
  }
540
640
  wipeSelf() {
641
+ if (this.data.Wiped)
642
+ return;
541
643
  const _id = this.data._id.toString();
542
644
  for (const key of Object.keys(this.data)) {
543
645
  delete this.data[key];
544
646
  }
647
+ this.data = { Wiped: true };
545
648
  this.loggers.info(`[${_id}] ${this.className} object wiped`);
546
649
  }
650
+ async contactChildren() {
651
+ for (const prop of this.properties) {
652
+ const pointer = getMetadataRecursive("refsTo", this.classProp.prototype, prop.toString());
653
+ const isRef = getMetadataRecursive("isRef", this.classProp.prototype, prop.toString());
654
+ if (isRef && !pointer) {
655
+ if (!this[prop])
656
+ continue;
657
+ if (Array.isArray(this[prop])) {
658
+ for (const child of this[prop]) {
659
+ child?.loadMissingReferences(this);
660
+ }
661
+ }
662
+ else
663
+ this[prop]?.loadMissingReferences(this);
664
+ }
665
+ }
666
+ }
547
667
  }
548
668
  export function processIsRefProperties(instance, target, prefix = null, allProps = [], newData = {}, loggers = console) {
549
669
  const props = Reflect.getMetadata("props", target) || [];
@@ -581,44 +701,4 @@ export function getMetadataRecursive(metaKey, proto, prop) {
581
701
  }
582
702
  return undefined;
583
703
  }
584
- function checkForMissingRefs(data, props, classParam, autoClassers) {
585
- if (typeof data !== "string") {
586
- for (const prop of props) {
587
- let pointer = getMetadataRecursive("refsTo", classParam.prototype, prop.toString());
588
- if (pointer) {
589
- pointer = pointer.split(":");
590
- if (pointer.length != 2)
591
- throw new Error("population rf incorrectly defined. Sould be 'ParentClass:PropName'");
592
- findMissingObjectReference(data, prop, autoClassers.classers, pointer);
593
- }
594
- }
595
- }
596
- }
597
- function findMissingObjectReference(data, prop, autoClassers, pointer) {
598
- let foundAnAC = false;
599
- for (const ac of Object.values(autoClassers)) {
600
- if (ac.className !== pointer[0]) {
601
- continue;
602
- }
603
- foundAnAC = true;
604
- for (const obj of ac.objectsAsArray) {
605
- let eData = obj.extractedData;
606
- let found;
607
- for (const pathPart of pointer[1].split(".")) {
608
- if (!eData[pathPart]) {
609
- found = false;
610
- break;
611
- }
612
- found = eData = eData[pathPart];
613
- }
614
- if (found) {
615
- data[prop] = obj._id;
616
- return;
617
- }
618
- }
619
- }
620
- if (!foundAnAC) {
621
- throw new Error(`No AutoUpdateManager found for class ${pointer[0]}`);
622
- }
623
- }
624
704
  //# sourceMappingURL=AutoUpdatedClientObjectClass.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AutoUpdatedClientObjectClass.js","sourceRoot":"","sources":["../AutoUpdatedClientObjectClass.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AutoUpdatedClientObjectClass.js","sourceRoot":"","sources":["../AutoUpdatedClientObjectClass.ts"],"names":[],"mappings":"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"}
@@ -22,7 +22,10 @@ declare class AutoUpdatedServerObject<T> extends AutoUpdatedClientObject<T> {
22
22
  success: boolean;
23
23
  message: string;
24
24
  }>;
25
- destroy(once?: boolean): Promise<void>;
25
+ destroy(once?: boolean): Promise<{
26
+ success: boolean;
27
+ message: string;
28
+ }>;
26
29
  checkAutoStatusChange(): Promise<void>;
27
30
  }
28
31
  export {};