@prestizni-software/server-dem 0.3.19 → 0.3.20

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.
@@ -8,14 +8,14 @@ export declare abstract class AutoUpdateManager<T extends Constructor<any>> {
8
8
  socket: any;
9
9
  protected classParam: T;
10
10
  protected properties: (keyof T)[];
11
- readonly classers: Record<string, AutoUpdateManager<any>>;
11
+ readonly managers: Record<string, AutoUpdateManager<any>>;
12
12
  protected preloaded: boolean;
13
13
  protected waitingToResolveReferences: {
14
14
  [_id: string]: string;
15
15
  };
16
16
  protected loggers: LoggersType;
17
17
  protected emitter: EventEmitter3;
18
- constructor(classParam: T, socket: any, loggers: LoggersType, classers: Record<string, AutoUpdateManager<any>>, emitter: EventEmitter3);
18
+ constructor(classParam: T, socket: any, loggers: LoggersType, managers: Record<string, AutoUpdateManager<any>>, emitter: EventEmitter3);
19
19
  close(): void;
20
20
  loadReferences(): Promise<void>;
21
21
  deleteObject(_id: string): Promise<{
@@ -3,7 +3,7 @@ export class AutoUpdateManager {
3
3
  socket;
4
4
  classParam;
5
5
  properties;
6
- classers;
6
+ managers;
7
7
  preloaded = false;
8
8
  waitingToResolveReferences = {};
9
9
  loggers = {
@@ -13,8 +13,8 @@ export class AutoUpdateManager {
13
13
  warn: () => { },
14
14
  };
15
15
  emitter;
16
- constructor(classParam, socket, loggers, classers, emitter) {
17
- this.classers = classers;
16
+ constructor(classParam, socket, loggers, managers, emitter) {
17
+ this.managers = managers;
18
18
  this.emitter = emitter;
19
19
  this.socket = socket;
20
20
  this.classParam = classParam;
@@ -50,11 +50,11 @@ export declare enum DEMEventTypes {
50
50
  export type DEMEvent = {
51
51
  type: DEMEventTypes.delete | DEMEventTypes.get | DEMEventTypes.update;
52
52
  manager: AutoUpdateServerManager<any>;
53
- id: string;
53
+ object: AutoUpdated<any>;
54
54
  } | {
55
55
  type: DEMEventTypes.new | DEMEventTypes.startup;
56
56
  manager: AutoUpdateServerManager<any>;
57
- id: never;
57
+ object: never;
58
58
  };
59
59
  export declare function AUSManagerFactory<T extends Record<string, Constructor<any>>>(defs: AUSDefinitions<T>, loggers: LoggersType, socket: Server, disableDEMDebugMessages?: boolean, emitter?: EventEmitter3): Promise<{
60
60
  [K in keyof T]: AutoUpdateServerManager<T[K]>;
@@ -66,8 +66,8 @@ export declare class AutoUpdateServerManager<T extends Constructor<any>> extends
66
66
  protected classes: {
67
67
  [_id: string]: AutoUpdated<T>;
68
68
  };
69
- readonly classers: Record<string, AutoUpdateServerManager<any>>;
70
- constructor(classParam: T, loggers: LoggersType, socket: Server, model: ReturnModelType<T, BeAnObject>, classers: Record<string, AutoUpdateServerManager<any>>, emitter: EventEmitter3, options?: AUSOption<T, any>);
69
+ readonly managers: Record<string, AutoUpdateServerManager<any>>;
70
+ constructor(classParam: T, loggers: LoggersType, socket: Server, model: ReturnModelType<T, BeAnObject>, managers: Record<string, AutoUpdateServerManager<any>>, emitter: EventEmitter3, options?: AUSOption<T, any>);
71
71
  preLoad(): Promise<void>;
72
72
  registerSocket(socket: Socket): void;
73
73
  getObject(_id?: string): AutoUpdated<T> | null;
@@ -34,6 +34,7 @@ function setupSocketMiddleware(socket_server, loggers, managers, secured) {
34
34
  return;
35
35
  const e = event[0];
36
36
  let demEvent = {};
37
+ const id = e.slice(-24);
37
38
  switch (true) {
38
39
  case e.startsWith("new"):
39
40
  demEvent.type = DEMEventTypes.new;
@@ -41,28 +42,31 @@ function setupSocketMiddleware(socket_server, loggers, managers, secured) {
41
42
  break;
42
43
  case e.startsWith("update"):
43
44
  demEvent.type = DEMEventTypes.update;
44
- demEvent.id = e.slice(-24);
45
45
  demEvent.manager =
46
- managers[e.replace("update", "").replace(demEvent.id, "")];
46
+ managers[e.replace("update", "").replace(id, "")];
47
+ demEvent.object = demEvent.manager.getObject(id);
47
48
  break;
48
49
  case e.startsWith("delete"):
49
50
  demEvent.type = DEMEventTypes.delete;
50
- demEvent.id = e.slice(-24);
51
51
  demEvent.manager =
52
- managers[e.replace("delete", "").replace(demEvent.id, "")];
52
+ managers[e.replace("delete", "").replace(id, "")];
53
+ demEvent.object = demEvent.manager.getObject(id);
53
54
  break;
54
55
  case e.startsWith("get"):
55
56
  demEvent.type = DEMEventTypes.get;
56
- demEvent.id = e.slice(-24);
57
- demEvent.manager =
58
- managers[e.replace("get", "").replace(demEvent.id, "")];
57
+ demEvent.manager = managers[e.replace("get", "").replace(id, "")];
58
+ demEvent.object = demEvent.manager.getObject(id);
59
59
  break;
60
60
  case e.startsWith("startup"):
61
61
  demEvent.type = DEMEventTypes.startup;
62
62
  demEvent.manager = managers[e.replace("startup", "")];
63
63
  break;
64
64
  default:
65
- throw new Error("Unknown event: " + e);
65
+ throw new Error("Unknown event: " +
66
+ e +
67
+ " - known events: [" +
68
+ Object.values(DEMEventTypes).join(", ") +
69
+ "]");
66
70
  }
67
71
  await secured.eventMiddleware(demEvent, event[1], managers, socket);
68
72
  }
@@ -103,15 +107,15 @@ export async function AUSManagerFactory(defs, loggers, socket, disableDEMDebugMe
103
107
  });
104
108
  next();
105
109
  });
106
- const classers = {};
110
+ const managers = {};
107
111
  let i = 0;
108
112
  for (const key in defs) {
109
113
  loggers.debug(`Creating manager for ${key}`);
110
114
  const def = defs[key];
111
115
  try {
112
- const c = new AutoUpdateServerManager(def.class, loggers, socket, getModelForClass(def.class), classers, emitter, def.options);
116
+ const c = new AutoUpdateServerManager(def.class, loggers, socket, getModelForClass(def.class), managers, emitter, def.options);
113
117
  i++;
114
- classers[key] = c;
118
+ managers[key] = c;
115
119
  }
116
120
  catch (error) {
117
121
  loggers.error("Error creating manager: " + key);
@@ -121,7 +125,7 @@ export async function AUSManagerFactory(defs, loggers, socket, disableDEMDebugMe
121
125
  }
122
126
  loggers.debug("Loading DB for manager: " + key);
123
127
  try {
124
- setupSocketMiddleware(socket, loggers, classers, def.options?.accessDefinitions);
128
+ setupSocketMiddleware(socket, loggers, managers, def.options?.accessDefinitions);
125
129
  }
126
130
  catch (error) {
127
131
  loggers.error("Error setting up socket middleware");
@@ -129,7 +133,7 @@ export async function AUSManagerFactory(defs, loggers, socket, disableDEMDebugMe
129
133
  loggers.error(error.stack);
130
134
  }
131
135
  try {
132
- await classers[key].preLoad();
136
+ await managers[key].preLoad();
133
137
  }
134
138
  catch (error) {
135
139
  loggers.error("Error loading DB for manager: " + key);
@@ -137,12 +141,12 @@ export async function AUSManagerFactory(defs, loggers, socket, disableDEMDebugMe
137
141
  loggers.error(error.stack);
138
142
  }
139
143
  }
140
- for (const manager of Object.values(classers)) {
144
+ for (const manager of Object.values(managers)) {
141
145
  await manager.loadReferences();
142
146
  }
143
147
  socket.on("connection", async (socket) => {
144
148
  loggers.debug(`Client connected: ${socket.id}`);
145
- for (const manager of Object.values(classers)) {
149
+ for (const manager of Object.values(managers)) {
146
150
  manager.registerSocket(socket);
147
151
  }
148
152
  // Client disconnect
@@ -150,17 +154,17 @@ export async function AUSManagerFactory(defs, loggers, socket, disableDEMDebugMe
150
154
  loggers.debug(`Client disconnected: ${socket.id}`);
151
155
  });
152
156
  });
153
- return classers;
157
+ return managers;
154
158
  }
155
159
  export class AutoUpdateServerManager extends AutoUpdateManager {
156
160
  model;
157
161
  clientSockets = new Set();
158
162
  options;
159
163
  classes = {};
160
- classers;
161
- constructor(classParam, loggers, socket, model, classers, emitter, options) {
162
- super(classParam, socket, loggers, classers, emitter);
163
- this.classers = classers;
164
+ managers;
165
+ constructor(classParam, loggers, socket, model, managers, emitter, options) {
166
+ super(classParam, socket, loggers, managers, emitter);
167
+ this.managers = managers;
164
168
  this.model = model;
165
169
  this.options = options;
166
170
  }
@@ -185,7 +189,7 @@ export class AutoUpdateServerManager extends AutoUpdateManager {
185
189
  this.clientSockets.add(socket);
186
190
  socket.on("startup" + this.className, async (_, ack) => {
187
191
  try {
188
- const ids = ((await this.options?.accessDefinitions?.startupMiddleware?.(this.objectsAsArray, this.classers, socket))?.map((obj) => obj._id) ?? this.objectIDs).filter(Boolean);
192
+ const ids = ((await this.options?.accessDefinitions?.startupMiddleware?.(this.objectsAsArray, this.managers, socket))?.map((obj) => obj._id) ?? this.objectIDs).filter(Boolean);
189
193
  this.loggers.debug("Sending startup data for manager " + this.className);
190
194
  if (ids.some((id) => this.classes[id] === "undefined"))
191
195
  this.loggers.error(ids.find((id) => this.classes[id] === "undefined"));
@@ -302,8 +306,8 @@ export class AutoUpdateServerManager extends AutoUpdateManager {
302
306
  const document = await this.model.findById(_id);
303
307
  if (!document)
304
308
  throw new Error(`No document with id ${_id} in DB.`);
305
- if (!this.classers)
306
- throw new Error(`No classers.`);
309
+ if (!this.managers)
310
+ throw new Error(`No managers.`);
307
311
  this.loggers.debug("Getting missing object " + _id + " from manager " + this.className);
308
312
  const object = await createAutoUpdatedClass(this.classParam, this.socket, document, this.loggers, this, this.emitter);
309
313
  await object.isPreLoadedAsync();
@@ -312,8 +316,8 @@ export class AutoUpdateServerManager extends AutoUpdateManager {
312
316
  return object;
313
317
  }
314
318
  async createObject(data) {
315
- if (!this.classers)
316
- throw new Error(`No classers.`);
319
+ if (!this.managers)
320
+ throw new Error(`No managers.`);
317
321
  this.loggers.debug("Creating new object from manager " + this.className);
318
322
  data._id = undefined;
319
323
  const object = await createAutoUpdatedClass(this.classParam, this.socket, data, this.loggers, this, this.emitter);
@@ -322,25 +326,21 @@ export class AutoUpdateServerManager extends AutoUpdateManager {
322
326
  this.classes[object._id] = object;
323
327
  object.contactChildren();
324
328
  for (const socket of this.clientSockets) {
325
- if (this.options?.accessDefinitions?.startupMiddleware) {
326
- try {
327
- const theTruth = await this.options?.accessDefinitions?.startupMiddleware([object], this.classers, socket);
328
- if (theTruth.length > 0) {
329
- if (!object._id)
330
- this.loggers.error("Object ID is undefined for object: " + object);
331
- this.loggers.debug("Emitting new object " + object._id);
332
- socket.emit("new" + this.classParam.name, object._id);
333
- }
334
- }
335
- catch (error) {
336
- const _ = error;
329
+ try {
330
+ const theTruth = (await this.options?.accessDefinitions?.startupMiddleware?.([object], this.managers, socket)) ?? ["gay"];
331
+ if (theTruth.length > 0) {
332
+ if (!object._id)
333
+ this.loggers.error("Object ID is undefined for object: " + object);
334
+ this.loggers.debug("Emitting new object " + object._id);
335
+ socket.emit("new" + this.classParam.name, object._id);
337
336
  }
338
- if (!object._id)
339
- throw new Error(`Never... failed to get object somehow: ${object}`);
340
- this.loggers.debug("Emitting new object " + object._id);
341
337
  }
342
- else
343
- socket.emit("new" + this.classParam.name, object._id);
338
+ catch (error) {
339
+ const _ = error;
340
+ }
341
+ if (!object._id)
342
+ throw new Error(`Never... failed to get object somehow: ${object}`);
343
+ this.loggers.debug("Emitting new object " + object._id);
344
344
  }
345
345
  return object;
346
346
  }
@@ -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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"}
@@ -4,7 +4,7 @@ import { ObjectId } from "bson";
4
4
  import { Socket } from "socket.io-client";
5
5
  import { AutoUpdateManager } from "./AutoUpdateManagerClass.js";
6
6
  type SocketType = Socket<any, any>;
7
- export declare function createAutoUpdatedClass<C extends Constructor<any>>(classParam: C, socket: SocketType, data: IsData<InstanceType<C>> | string, loggers: LoggersType, autoClassers: AutoUpdateManager<any>, emitter: EventEmitter3): Promise<any>;
7
+ export declare function createAutoUpdatedClass<C extends Constructor<any>>(classParam: C, socket: SocketType, data: IsData<InstanceType<C>> | string, loggers: LoggersType, parentManager: AutoUpdateManager<any>, emitter: EventEmitter3): Promise<any>;
8
8
  export declare class AutoUpdatedClientObject<T> {
9
9
  protected readonly socket: SocketType;
10
10
  protected data: IsData<T>;
@@ -14,12 +14,12 @@ export declare class AutoUpdatedClientObject<T> {
14
14
  protected readonly emitter: EventEmitter3;
15
15
  protected readonly properties: (keyof T)[];
16
16
  protected readonly className: string;
17
- protected autoClasser: AutoUpdateManager<any>;
17
+ protected parentManager: AutoUpdateManager<any>;
18
18
  protected isLoadingReferences: boolean;
19
19
  readonly classProp: Constructor<T>;
20
20
  private readonly EmitterID;
21
21
  private readonly loadShit;
22
- constructor(socket: SocketType, data: string | IsData<T>, loggers: LoggersType, properties: (keyof T)[], className: string, classProperty: Constructor<T>, autoClasser: AutoUpdateManager<any>, emitter: EventEmitter3, isServer?: boolean);
22
+ constructor(socket: SocketType, data: string | IsData<T>, loggers: LoggersType, properties: (keyof T)[], className: string, classProperty: Constructor<T>, parentManager: AutoUpdateManager<any>, emitter: EventEmitter3, isServer?: boolean);
23
23
  protected handleNewObject(data: IsData<T>): void;
24
24
  get extractedData(): {
25
25
  [K in keyof T]: T[K];
@@ -53,6 +53,7 @@ export declare class AutoUpdatedClientObject<T> {
53
53
  checkAutoStatusChange(): Promise<void>;
54
54
  protected resolveReference(id: string): AutoUpdatedClientObject<any> | null;
55
55
  private loadForceReferences;
56
+ private checkRecursiveReferenceLoading;
56
57
  private handleLoad;
57
58
  protected createdWithParent(pointer: string[], parent: AutoUpdatedClientObject<any> | string): Promise<void>;
58
59
  destroy(once?: boolean): Promise<{
@@ -1,11 +1,11 @@
1
1
  import "reflect-metadata";
2
2
  import { ObjectId } from "bson";
3
- export async function createAutoUpdatedClass(classParam, socket, data, loggers, autoClassers, emitter) {
3
+ export async function createAutoUpdatedClass(classParam, socket, data, loggers, parentManager, emitter) {
4
4
  if (typeof data !== "string" && data._id) {
5
5
  processIsRefProperties(data, classParam.prototype, undefined, [], loggers);
6
6
  }
7
7
  const props = Reflect.getMetadata("props", classParam.prototype);
8
- const instance = new AutoUpdatedClientObject(socket, data, loggers, props, classParam.name, classParam, autoClassers, emitter);
8
+ const instance = new AutoUpdatedClientObject(socket, data, loggers, props, classParam.name, classParam, parentManager, emitter);
9
9
  await instance.isPreLoadedAsync();
10
10
  return instance;
11
11
  }
@@ -23,7 +23,7 @@ export class AutoUpdatedClientObject {
23
23
  emitter;
24
24
  properties;
25
25
  className;
26
- autoClasser;
26
+ parentManager;
27
27
  isLoadingReferences = false;
28
28
  classProp;
29
29
  EmitterID = new ObjectId().toHexString();
@@ -59,13 +59,13 @@ export class AutoUpdatedClientObject {
59
59
  });
60
60
  });
61
61
  };
62
- constructor(socket, data, loggers, properties, className, classProperty, autoClasser, emitter, isServer = false) {
62
+ constructor(socket, data, loggers, properties, className, classProperty, parentManager, emitter, isServer = false) {
63
63
  this.isServer = isServer;
64
64
  this.emitter = emitter;
65
65
  this.classProp = classProperty;
66
66
  this.isLoadingReferences = true;
67
67
  this.isLoading = true;
68
- this.autoClasser = autoClasser;
68
+ this.parentManager = parentManager;
69
69
  this.className = className;
70
70
  this.properties = properties;
71
71
  this.loggers.debug = (s) => loggers.debug("[DEM - " +
@@ -264,8 +264,8 @@ export class AutoUpdatedClientObject {
264
264
  findReference(id) {
265
265
  if (typeof id !== "string" && !ObjectId.isValid(id))
266
266
  return id;
267
- for (const classer of Object.values(this.autoClasser.classers)) {
268
- const result = classer.getObject(id.toString());
267
+ for (const manager of Object.values(this.parentManager.managers)) {
268
+ const result = manager.getObject(id.toString());
269
269
  if (result)
270
270
  return result;
271
271
  }
@@ -342,7 +342,7 @@ export class AutoUpdatedClientObject {
342
342
  let isPopulated = getMetadataRecursive("refsTo", this.classProp.prototype, lastPath);
343
343
  if (isPopulated) {
344
344
  isPopulated = isPopulated.split(":");
345
- const parentObj = this.autoClasser.classers[isPopulated[0]].getObject(val);
345
+ const parentObj = this.parentManager.managers[isPopulated[0]].getObject(val);
346
346
  if (!parentObj) {
347
347
  this.loggers.error("Failed to set value for " +
348
348
  this.className +
@@ -446,8 +446,8 @@ export class AutoUpdatedClientObject {
446
446
  if (isRef) {
447
447
  for (const id of Array.isArray(value) ? value : [value]) {
448
448
  let result;
449
- for (const classer of Object.values(this.autoClasser.classers)) {
450
- result = classer.getObject(id.toString());
449
+ for (const manager of Object.values(this.parentManager.managers)) {
450
+ result = manager.getObject(id.toString());
451
451
  if (result)
452
452
  break;
453
453
  }
@@ -527,10 +527,10 @@ export class AutoUpdatedClientObject {
527
527
  // return a properly typed AutoUpdatedClientClass (or null)
528
528
  // inside AutoUpdatedClientClass
529
529
  resolveReference(id) {
530
- if (!this.autoClasser)
531
- throw new Error("No autoClasser");
532
- for (const autoClasser of Object.values(this.autoClasser.classers)) {
533
- const data = autoClasser.getObject(id);
530
+ if (!this.parentManager)
531
+ throw new Error("No Manager");
532
+ for (const manager of Object.values(this.parentManager.managers)) {
533
+ const data = manager.getObject(id);
534
534
  if (data)
535
535
  return data;
536
536
  }
@@ -548,23 +548,26 @@ export class AutoUpdatedClientObject {
548
548
  if (isRef) {
549
549
  await this.handleLoad(obj, key, alreadySeen);
550
550
  }
551
- const val = obj ? obj[key] : null;
552
- if (val && typeof val === "object") {
553
- const nestedProto = Object.getPrototypeOf(val);
554
- if (nestedProto && !alreadySeen.includes(val)) {
555
- alreadySeen.push(val);
556
- await this.loadForceReferences(val, nestedProto, alreadySeen);
557
- }
551
+ await this.checkRecursiveReferenceLoading(obj, key, alreadySeen);
552
+ }
553
+ }
554
+ async checkRecursiveReferenceLoading(obj, key, alreadySeen) {
555
+ const val = obj ? obj[key] : null;
556
+ if (val && typeof val === "object") {
557
+ const nestedProto = Object.getPrototypeOf(val);
558
+ if (nestedProto && !alreadySeen.includes(val)) {
559
+ alreadySeen.push(val);
560
+ await this.loadForceReferences(val, nestedProto, alreadySeen);
558
561
  }
559
562
  }
560
563
  }
561
564
  async handleLoad(obj, key, alreadySeen) {
562
- if (!this.autoClasser)
563
- throw new Error("No autoClassers");
565
+ if (!this.parentManager)
566
+ throw new Error("No manager");
564
567
  const refId = obj[key];
565
568
  if (refId) {
566
- for (const classer of Object.values(this.autoClasser.classers)) {
567
- const result = classer.getObject(refId);
569
+ for (const manager of Object.values(this.parentManager.managers)) {
570
+ const result = manager.getObject(refId);
568
571
  if (result && !alreadySeen.includes(refId)) {
569
572
  alreadySeen.push(refId);
570
573
  await result.loadForceReferences(undefined, undefined, alreadySeen);
@@ -577,7 +580,7 @@ export class AutoUpdatedClientObject {
577
580
  if (pointer.length !== 2) {
578
581
  throw new Error("Invalid pointer: " + JSON.stringify(pointer) + " for " + this.className);
579
582
  }
580
- const obj = this.autoClasser.classers[pointer[0]]?.getObject(parent._id?.toString() ?? parent.toString());
583
+ const obj = this.parentManager.managers[pointer[0]]?.getObject(parent._id?.toString() ?? parent.toString());
581
584
  const val = obj?.getValue(pointer[1]);
582
585
  if (!val)
583
586
  return;
@@ -594,7 +597,7 @@ export class AutoUpdatedClientObject {
594
597
  }
595
598
  async destroy(once = false) {
596
599
  if (!once) {
597
- return await this.autoClasser.deleteObject(this.data._id);
600
+ return await this.parentManager.deleteObject(this.data._id);
598
601
  }
599
602
  const res = await new Promise((resolve) => {
600
603
  this.socket.emit("delete" + this.className, this.data._id, (res) => {
@@ -633,40 +636,27 @@ export class AutoUpdatedClientObject {
633
636
  }
634
637
  }
635
638
  findMissingObjectReference(prop, pointer) {
636
- let foundAnAC = false;
637
- for (const ac of Object.values(this.autoClasser.classers)) {
638
- if (ac.className !== pointer[0]) {
639
- continue;
640
- }
641
- foundAnAC = true;
642
- for (const obj of ac.objectsAsArray) {
643
- let eData = obj.extractedData;
644
- let found;
645
- for (const pathPart of pointer[1].split(".")) {
646
- if (!eData[pathPart]) {
647
- found = false;
648
- break;
649
- }
650
- if (Array.isArray(eData[pathPart]) &&
651
- !eData[pathPart].includes(this._id.toString())) {
652
- found = false;
653
- break;
654
- }
655
- if (!Array.isArray(eData[pathPart]) &&
656
- eData[pathPart].toString() !== this.data._id.toString()) {
657
- found = false;
658
- break;
659
- }
660
- found = eData = eData[pathPart];
661
- }
662
- if (found) {
663
- this.data[prop] = obj._id;
664
- return;
639
+ const ac = this.parentManager.managers[pointer[0]];
640
+ if (!ac)
641
+ throw new Error(`No AutoUpdateManager found for class ${pointer[0]}`);
642
+ for (const obj of ac.objectsAsArray) {
643
+ let eData = obj.extractedData;
644
+ let found;
645
+ for (const pathPart of pointer[1].split(".")) {
646
+ if (!eData[pathPart] ||
647
+ (Array.isArray(eData[pathPart]) &&
648
+ !eData[pathPart].includes(this._id.toString())) ||
649
+ (!Array.isArray(eData[pathPart]) &&
650
+ eData[pathPart].toString() !== this.data._id.toString())) {
651
+ found = false;
652
+ break;
665
653
  }
654
+ found = eData = eData[pathPart];
655
+ }
656
+ if (found) {
657
+ this.data[prop] = obj._id;
658
+ return;
666
659
  }
667
- }
668
- if (!foundAnAC) {
669
- throw new Error(`No AutoUpdateManager found for class ${pointer[0]}`);
670
660
  }
671
661
  }
672
662
  wipeSelf() {