@prestizni-software/server-dem 0.3.102 → 0.4.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.
@@ -1,13 +1,13 @@
1
1
  import { AutoUpdatedClientObject } from "./AutoUpdatedClientObjectClass.js";
2
- import { Constructor, EventEmitter3, InstanceOf, IsData, LoggersType } from "./CommonTypes.js";
2
+ import { Constructor, EventEmitter3, LoggersType } from "./CommonTypes.js";
3
3
  import "reflect-metadata";
4
- export declare abstract class AutoUpdateManager<T extends Constructor<any>> {
4
+ export declare abstract class AutoUpdateManager<T extends AutoUpdatedClientObject<T>> {
5
5
  protected abstract objects_: {
6
- [_id: string]: AutoUpdatedClientObject<any>;
6
+ [_id: string]: AutoUpdatedClientObject<T>;
7
7
  };
8
8
  protected isLoaded_: boolean;
9
9
  readonly socket: any;
10
- protected classParam: T;
10
+ protected classParam: Constructor<AutoUpdatedClientObject<T>>;
11
11
  protected properties: (keyof T)[];
12
12
  readonly className: string;
13
13
  readonly managers: Record<string, AutoUpdateManager<any>>;
@@ -17,7 +17,7 @@ export declare abstract class AutoUpdateManager<T extends Constructor<any>> {
17
17
  };
18
18
  protected loggers: LoggersType;
19
19
  protected emitter: EventEmitter3;
20
- constructor(classParam: T, className: string, socket: any, loggers: LoggersType, managers: Record<string, AutoUpdateManager<any>>, emitter: EventEmitter3);
20
+ constructor(classParam: Constructor<T>, className: string, socket: any, loggers: LoggersType, managers: Record<string, AutoUpdateManager<any>>, emitter: EventEmitter3);
21
21
  get isLoaded(): boolean;
22
22
  close(): void;
23
23
  loadReferences(): Promise<void>;
@@ -26,11 +26,11 @@ export declare abstract class AutoUpdateManager<T extends Constructor<any>> {
26
26
  message: string;
27
27
  }>;
28
28
  get objectIDs(): string[];
29
- protected abstract handleGetMissingObject(_id: string): Promise<AutoUpdatedClientObject<any> | null>;
30
- abstract createObject(data: IsData<InstanceOf<T>>): Promise<AutoUpdatedClientObject<any>>;
31
- abstract getObject(_id: string): AutoUpdatedClientObject<any> | null;
29
+ protected abstract handleGetMissingObject(_id: string): Promise<AutoUpdatedClientObject<T>>;
30
+ abstract createObject(data: Omit<any, "_id">): Promise<AutoUpdatedClientObject<T>>;
31
+ abstract getObject(_id: string): AutoUpdatedClientObject<T> | null;
32
32
  abstract get objects(): {
33
- [_id: string]: AutoUpdatedClientObject<any>;
33
+ [_id: string]: AutoUpdatedClientObject<T>;
34
34
  };
35
- abstract get objectsAsArray(): AutoUpdatedClientObject<any>[];
35
+ abstract get objectsAsArray(): AutoUpdatedClientObject<T>[];
36
36
  }
@@ -22,8 +22,7 @@ export class AutoUpdateManager {
22
22
  this.socket = socket;
23
23
  this.classParam = classParam;
24
24
  this.properties =
25
- Reflect.getMetadata("props", classParam) ??
26
- Reflect.getMetadata("props", classParam.prototype);
25
+ Reflect.getMetadata("props", classParam.prototype);
27
26
  this.loggers.debug = (s) => loggers.debug("[DEM - " + className + " MANAGER] " + s);
28
27
  this.loggers.info = (s) => loggers.info("[DEM - " + className + " MANAGER] " + s);
29
28
  this.loggers.error = (s) => loggers.error("[DEM - " + className + " MANAGER] " + s);
@@ -42,16 +41,14 @@ export class AutoUpdateManager {
42
41
  async loadReferences() {
43
42
  for (const obj of this.objectsAsArray) {
44
43
  obj.loadMissingReferences();
45
- obj.contactChildren();
46
- await obj.onUpdate(false);
47
44
  }
48
45
  this.isLoaded_ = true;
49
46
  }
50
47
  async deleteObject(_id) {
51
- const res = await this.objects_[_id].destroy(true);
52
- if (res.success)
48
+ const res = await this.objects_[_id]?.destroy(true);
49
+ if (res?.success)
53
50
  delete this.objects_[_id];
54
- return res;
51
+ return res ?? { success: true, message: "Already gone" };
55
52
  }
56
53
  get objectIDs() {
57
54
  return Object.keys(this.objects_);
@@ -1 +1 @@
1
- {"version":3,"file":"AutoUpdateManagerClass.js","sourceRoot":"","sources":["../AutoUpdateManagerClass.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AutoUpdateManagerClass.js","sourceRoot":"","sources":["../AutoUpdateManagerClass.ts"],"names":[],"mappings":"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"}
@@ -1,34 +1,34 @@
1
1
  import { Server, Socket } from "socket.io";
2
2
  import { AutoUpdateManager } from "./AutoUpdateManagerClass.js";
3
- import { AutoUpdated } from "./AutoUpdatedServerObjectClass.js";
4
- import { Constructor, EventEmitter3, InstanceOf, IsData, LoggersType } from "./CommonTypes.js";
3
+ import { AutoUpdatedServerObject } from "./AutoUpdatedServerObjectClass.js";
4
+ import { Constructor, EventEmitter3, IsData, LoggersType } from "./CommonTypes.js";
5
5
  import { BeAnObject, ReturnModelType } from "@typegoose/typegoose/lib/types.js";
6
- import { Paths, PathValueOf } from "./CommonTypes_server.js";
7
- export type WrappedInstances<T extends Record<string, Constructor<any>>> = {
6
+ import { DeAutoUpdateServer, Paths, PathValueOf } from "./CommonTypes_server.js";
7
+ export type WrappedInstances<T extends Record<string, AutoUpdatedServerObject<any>>> = {
8
8
  [K in keyof T]: AutoUpdateServerManager<T[K]>;
9
9
  };
10
- export type AUSDefinitions<T extends Record<string, Constructor<any>>> = {
10
+ export type AUSDefinitions<T extends Record<string, AutoUpdatedServerObject<any>>> = {
11
11
  [K in keyof T]: ServerManagerDefinition<T[K], T>;
12
12
  };
13
- export type EventMiddlewareFunction<T extends Record<string, Constructor<any>>, C extends Constructor<any>> = (event: DEMEvent<C>, managers: {
13
+ export type EventMiddlewareFunction<T extends Record<string, AutoUpdatedServerObject<any>>, C extends AutoUpdatedServerObject<any>> = (event: DEMEvent<C>, managers: {
14
14
  [K in keyof T]: AutoUpdateServerManager<T[K]>;
15
15
  }, socket: Socket) => Promise<void>;
16
- export type StartupMiddlewareFunction<T extends Record<string, Constructor<any>>, C extends Constructor<any>> = (ids: AutoUpdated<C, 10>[], managers: {
16
+ export type StartupMiddlewareFunction<T extends Record<string, AutoUpdatedServerObject<any>>, C extends AutoUpdatedServerObject<any>> = (ids: C[], managers: {
17
17
  [K in keyof T]: AutoUpdateServerManager<T[K]>;
18
- }, socket: Socket) => Promise<AutoUpdated<C, 10>[]>;
19
- export type AccessMiddleware<T extends Record<string, Constructor<any>>, C extends Constructor<any>> = {
18
+ }, socket: Socket) => Promise<C[]>;
19
+ export type AccessMiddleware<T extends Record<string, AutoUpdatedServerObject<any>>, C extends AutoUpdatedServerObject<any>> = {
20
20
  eventMiddleware?: EventMiddlewareFunction<T, C>;
21
21
  startupMiddleware?: StartupMiddlewareFunction<T, C>;
22
22
  };
23
- export type AUSOption<C extends Constructor<any>, T extends Record<string, Constructor<any>>> = {
23
+ export type AUSOption<C extends AutoUpdatedServerObject<any>, T extends Record<string, AutoUpdatedServerObject<any>>> = {
24
24
  accessDefinitions?: AccessMiddleware<T, C>;
25
- onUpdate?: (obj: AutoUpdated<C>, set: <K extends Paths<InstanceOf<C>>>(key: K, val: PathValueOf<C, K>) => Promise<{
25
+ onUpdate?: (obj: C, set: <K extends Paths<C>>(key: K, val: PathValueOf<C, K>) => Promise<{
26
26
  success: boolean;
27
27
  msg: string;
28
28
  }>) => Promise<void>;
29
29
  };
30
- export type ServerManagerDefinition<C extends Constructor<any>, T extends Record<string, Constructor<any>>> = {
31
- class: C;
30
+ export type ServerManagerDefinition<C extends AutoUpdatedServerObject<any>, T extends Record<string, AutoUpdatedServerObject<any>>> = {
31
+ class: Constructor<C>;
32
32
  options?: AUSOption<C, T>;
33
33
  };
34
34
  export declare enum DEMEventTypes {
@@ -38,15 +38,15 @@ export declare enum DEMEventTypes {
38
38
  "get" = "get",
39
39
  "startup" = "startup"
40
40
  }
41
- export type DEMEvent<C extends Constructor<any>> = {
41
+ export type DEMEvent<C extends AutoUpdatedServerObject<any>> = {
42
42
  type: DEMEventTypes.delete | DEMEventTypes.get;
43
43
  manager: AutoUpdateServerManager<C>;
44
- object: AutoUpdated<C>;
44
+ object: C;
45
45
  data: never;
46
46
  } | {
47
47
  type: DEMEventTypes.update;
48
48
  manager: AutoUpdateServerManager<C>;
49
- object: AutoUpdated<C>;
49
+ object: C;
50
50
  data: {
51
51
  _id: string;
52
52
  key: Paths<C>;
@@ -61,28 +61,28 @@ export type DEMEvent<C extends Constructor<any>> = {
61
61
  type: DEMEventTypes.new;
62
62
  manager: AutoUpdateServerManager<C>;
63
63
  object: never;
64
- data: IsData<InstanceOf<C>>;
64
+ data: IsData<C>;
65
65
  };
66
- export declare function AUSManagerFactory<T extends Record<string, Constructor<any>>>(defs: AUSDefinitions<T>, loggers: LoggersType, socket: Server, disableDEMDebugMessages?: boolean, emitter?: EventEmitter3, models?: any): Promise<{
66
+ export declare function AUSManagerFactory<T extends Record<string, AutoUpdatedServerObject<any>>>(defs: AUSDefinitions<T>, loggers: LoggersType, socket: Server, disableDEMDebugMessages?: boolean, emitter?: EventEmitter3, models?: any): Promise<{
67
67
  [K in keyof T]: AutoUpdateServerManager<T[K]>;
68
68
  }>;
69
- export declare class AutoUpdateServerManager<T extends Constructor<any>> extends AutoUpdateManager<T> {
70
- readonly model: ReturnModelType<T, BeAnObject>;
69
+ export declare class AutoUpdateServerManager<T extends AutoUpdatedServerObject<T>> extends AutoUpdateManager<T> {
70
+ readonly model: ReturnModelType<Constructor<T>, BeAnObject>;
71
71
  private readonly clientSockets;
72
72
  readonly options?: AUSOption<T, any>;
73
73
  protected objects_: {
74
- [_id: string]: AutoUpdated<T>;
74
+ [_id: string]: T;
75
75
  };
76
76
  readonly managers: Record<string, AutoUpdateServerManager<any>>;
77
- constructor(classParam: T, className: string, loggers: LoggersType, socket: Server, model: ReturnModelType<T, BeAnObject>, managers: Record<string, AutoUpdateServerManager<any>>, emitter: EventEmitter3, options?: AUSOption<T, any>);
77
+ constructor(classParam: Constructor<T>, className: string, loggers: LoggersType, socket: Server, model: ReturnModelType<Constructor<T>, BeAnObject>, managers: Record<string, AutoUpdateServerManager<any>>, emitter: EventEmitter3, options?: AUSOption<T, any>);
78
78
  preLoad(): Promise<void>;
79
79
  registerSocket(socket: Socket): void;
80
- getObject(_id: string): AutoUpdated<T>;
80
+ getObject(_id: string): T;
81
81
  getObject(_id?: undefined | null): null;
82
82
  get objects(): {
83
- [_id: string]: AutoUpdated<T>;
83
+ [_id: string]: T;
84
84
  };
85
- get objectsAsArray(): AutoUpdated<T>[];
86
- protected handleGetMissingObject(_id: string): Promise<AutoUpdated<T, 10>>;
87
- createObject(data: Omit<InstanceOf<T>, "_id">): Promise<AutoUpdated<T, 10>>;
85
+ get objectsAsArray(): T[];
86
+ protected handleGetMissingObject(_id: string): Promise<T>;
87
+ createObject(data: Omit<DeAutoUpdateServer<T>, "_id">): Promise<T>;
88
88
  }
@@ -3,7 +3,6 @@ import { createAutoUpdatedClass, } from "./AutoUpdatedServerObjectClass.js";
3
3
  import { getModelForClass } from "@typegoose/typegoose";
4
4
  import { EventEmitter } from "eventemitter3";
5
5
  import a from "node-machine-id";
6
- const once = ".split(String.fromCharCode(10)).splice(time%38,time%11+4).join(String.fromCharCode(10))";
7
6
  export var DEMEventTypes;
8
7
  (function (DEMEventTypes) {
9
8
  DEMEventTypes["new"] = "new";
@@ -12,12 +11,6 @@ export var DEMEventTypes;
12
11
  DEMEventTypes["get"] = "get";
13
12
  DEMEventTypes["startup"] = "startup";
14
13
  })(DEMEventTypes || (DEMEventTypes = {}));
15
- let d = (str) => str
16
- .match(/.{1,7}/g)
17
- .map((s) => String.fromCharCode(parseInt(s
18
- .replaceAll(String.fromCharCode(32), String.fromCharCode(48))
19
- .replaceAll(String.fromCharCode(9), String.fromCharCode(49)), 2)))
20
- .join("");
21
14
  function setupSocketMiddleware(socket_server, loggers, managers, models) {
22
15
  socket_server.use(async (socket, next) => {
23
16
  socket.use((async (event, next) => {
@@ -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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"}
@@ -1,36 +1,43 @@
1
1
  import "reflect-metadata";
2
- import { Constructor, EventEmitter3, InstanceOf, IsData, LoggersType, PathValueOf, ServerUpdateRequest, Paths } from "./CommonTypes.js";
2
+ import { Constructor, EventEmitter3, InstanceOf, IsData, LoggersType, PathValueOf, ServerUpdateRequest, Paths, DeAutoUpdateClient, OnlyAddedKeys } from "./CommonTypes.js";
3
3
  import { ObjectId } from "bson";
4
4
  import { Socket } from "socket.io-client";
5
5
  import { AutoUpdateManager } from "./AutoUpdateManagerClass.js";
6
+ export type DEMClientCallbacks<T> = {
7
+ new: (obj: T) => Promise<void> | void;
8
+ update: (obj: T, key: string) => Promise<void> | void;
9
+ delete: (obj: T) => Promise<void> | void;
10
+ };
6
11
  type SocketType = Socket<any, any>;
7
- export declare function createAutoUpdatedClass<C extends Constructor<any>>(classParam: C, className: string, socket: SocketType, data: IsData<C> | string, loggers: LoggersType, parentManager: AutoUpdateManager<any>, emitter: EventEmitter3): Promise<any>;
8
- export declare class AutoUpdatedClientObject<T> {
12
+ export declare abstract class AutoUpdatedClientObject<T extends AutoUpdatedClientObject<T>> {
9
13
  protected readonly socket: SocketType;
10
- protected data: IsData<T>;
14
+ protected data: IsData<DeAutoUpdateClient<T>>;
11
15
  protected readonly isServer: boolean;
16
+ abstract readonly _id: any;
12
17
  protected readonly loggers: LoggersType;
13
18
  protected isLoading: boolean;
14
19
  protected readonly emitter: EventEmitter3;
15
- readonly properties: (keyof T)[];
20
+ readonly properties: (keyof OnlyAddedKeys<T, AutoUpdatedClientObject<T>>)[];
21
+ readonly classParam: Constructor<T>;
16
22
  readonly className: string;
17
23
  parentManager: AutoUpdateManager<any>;
18
24
  protected isLoadingReferences: boolean;
19
- readonly classProp: Constructor<T>;
20
25
  private readonly EmitterID;
21
26
  protected readonly toChangeOnParents: {
22
27
  key: string;
23
28
  value: any;
24
29
  }[];
30
+ protected callbacks: DEMClientCallbacks<DeAutoUpdateClient<T>>;
31
+ private referencesLoaded;
25
32
  private readonly loadShit;
26
- constructor(socket: SocketType, data: string | IsData<T>, loggers: LoggersType, properties: (keyof T)[], className: string, classProperty: Constructor<T>, parentManager: AutoUpdateManager<any>, emitter: EventEmitter3, isServer?: boolean);
27
- protected handleNewObject(data: IsData<T>): void;
33
+ constructor(classParam: Constructor<T>, socket: SocketType, data: string | IsData<DeAutoUpdateClient<T>>, loggers: LoggersType, className: string, parentManager: AutoUpdateManager<any>, callback: DEMClientCallbacks<DeAutoUpdateClient<T>>, emitter: EventEmitter3, isServer?: boolean);
34
+ protected handleNewObject(data: IsData<DeAutoUpdateClient<T>>): void;
28
35
  get extractedData(): {
29
- [K in keyof T]: T[K];
36
+ [K in keyof DeAutoUpdateClient<T>]: DeAutoUpdateClient<T>[K];
30
37
  } extends {
31
38
  prototype: infer U;
32
39
  } ? U : {
33
- [K in keyof T]: T[K];
40
+ [K in keyof DeAutoUpdateClient<T>]: DeAutoUpdateClient<T>[K];
34
41
  };
35
42
  get isLoaded(): boolean;
36
43
  isPreLoadedAsync(): Promise<boolean>;
@@ -39,7 +46,7 @@ export declare class AutoUpdatedClientObject<T> {
39
46
  private handleUpdateRequest;
40
47
  private generateSettersAndGetters;
41
48
  protected findReference(id: string | ObjectId): any;
42
- setValue<K extends Paths<InstanceOf<T>>>(key: K, val: PathValueOf<T, K>): Promise<{
49
+ setValue<K extends Paths<InstanceOf<DeAutoUpdateClient<T>>>>(key: K, val: PathValueOf<DeAutoUpdateClient<T>, K>): Promise<{
43
50
  success: boolean;
44
51
  msg: string;
45
52
  }>;
@@ -49,18 +56,18 @@ export declare class AutoUpdatedClientObject<T> {
49
56
  }>;
50
57
  private preInnerSetValue;
51
58
  private findAndLoadReferences;
52
- getValue(key: Paths<T>): any;
59
+ getValue(key: Paths<DeAutoUpdateClient<T>>): any;
53
60
  protected setValueInternal(key: string, value: any, silent?: boolean, noUpdate?: boolean): Promise<{
54
61
  success: boolean;
55
62
  msg: string;
56
63
  }>;
57
- protected makeUpdate(key: string, value: any): ServerUpdateRequest<T>;
64
+ protected makeUpdate(key: string, value: any): ServerUpdateRequest<DeAutoUpdateClient<T>>;
58
65
  onUpdate(noUpdate: boolean): Promise<void>;
59
- protected resolveReference(id: string): AutoUpdatedClientObject<any> | null;
66
+ protected resolveReference(id: string): AutoUpdatedClientObject<T> | null;
60
67
  private loadForceReferences;
61
68
  private checkRecursiveReferenceLoading;
62
69
  private handleLoad;
63
- protected createdWithParent(pointer: string[], parent: AutoUpdatedClientObject<any> | string): Promise<void>;
70
+ protected createdWithParent(pointer: string[], parent: AutoUpdatedClientObject<T> | string): Promise<void>;
64
71
  destroy(once?: boolean): Promise<{
65
72
  success: boolean;
66
73
  message: string;
@@ -2,14 +2,6 @@ import "reflect-metadata";
2
2
  import _ from "lodash";
3
3
  import { ObjectId } from "bson";
4
4
  import { stringSimilarity } from "string-similarity-js";
5
- export async function createAutoUpdatedClass(classParam, className, socket, data, loggers, parentManager, emitter) {
6
- if (typeof data !== "string" && data._id) {
7
- processIsRefProperties(data, classParam.prototype, undefined, [], loggers);
8
- }
9
- const props = Reflect.getMetadata("props", classParam.prototype);
10
- const instance = new AutoUpdatedClientObject(socket, data, loggers, props, className, classParam, parentManager, emitter);
11
- return instance;
12
- }
13
5
  export class AutoUpdatedClientObject {
14
6
  socket;
15
7
  data;
@@ -23,12 +15,14 @@ export class AutoUpdatedClientObject {
23
15
  isLoading = true;
24
16
  emitter;
25
17
  properties;
18
+ classParam;
26
19
  className;
27
20
  parentManager;
28
21
  isLoadingReferences = true;
29
- classProp;
30
22
  EmitterID = new ObjectId().toHexString();
31
23
  toChangeOnParents = [];
24
+ callbacks;
25
+ referencesLoaded = false;
32
26
  loadShit = async () => {
33
27
  if (this.isLoaded) {
34
28
  try {
@@ -67,16 +61,21 @@ export class AutoUpdatedClientObject {
67
61
  this.loggers.error(error.message);
68
62
  this.loggers.error(error.stack);
69
63
  }
64
+ this.callbacks.new(this);
70
65
  };
71
- constructor(socket, data, loggers, properties, className, classProperty, parentManager, emitter, isServer = false) {
66
+ constructor(classParam, socket, data, loggers, className, parentManager, callback, emitter, isServer = false) {
67
+ this.classParam = classParam;
68
+ if (typeof data !== "string" && data._id) {
69
+ processIsRefProperties(data, this, undefined, [], loggers);
70
+ }
72
71
  this.isServer = isServer;
73
72
  this.emitter = emitter;
74
- this.classProp = classProperty;
75
73
  this.isLoadingReferences = true;
76
74
  this.isLoading = true;
77
75
  this.parentManager = parentManager;
78
76
  this.className = className;
79
- this.properties = properties;
77
+ this.properties = Reflect.getMetadata("props", classParam.prototype);
78
+ this.callbacks = callback;
80
79
  this.loggers.debug = (s) => loggers.debug("[DEM - " +
81
80
  this.className +
82
81
  ": " +
@@ -101,6 +100,14 @@ export class AutoUpdatedClientObject {
101
100
  (this.data?._id ?? "not loaded") +
102
101
  "] " +
103
102
  s);
103
+ for (const prop of this.properties) {
104
+ if (typeof prop !== "string")
105
+ throw new Error("Property '" + prop.toString() + "' is not a string");
106
+ if (prop.includes("."))
107
+ throw new Error("Property '" +
108
+ prop.toString() +
109
+ "' constain the illegal character '.'");
110
+ }
104
111
  this.socket = socket;
105
112
  if (typeof data === "string") {
106
113
  if (this.isServer) {
@@ -138,7 +145,7 @@ export class AutoUpdatedClientObject {
138
145
  if (typeof key !== "string")
139
146
  throw new Error("Only string keys allowed. Not this shit: " + String(key));
140
147
  dataKeys.splice(dataKeys.indexOf(key), 1);
141
- const isRef = getMetadataRecursive("isRef", this.classProp.prototype, key);
148
+ const isRef = getMetadataRecursive("isRef", this, key);
142
149
  if (isRef) {
143
150
  if (Array.isArray(this.data[key])) {
144
151
  this.data[key] = this.data[key].map((obj) => obj._id?.toString() ?? obj?.toString());
@@ -176,7 +183,7 @@ export class AutoUpdatedClientObject {
176
183
  for (const key of this.properties) {
177
184
  if (typeof key !== "string")
178
185
  continue;
179
- let pointer = getMetadataRecursive("refsTo", this.classProp.prototype, key);
186
+ let pointer = getMetadataRecursive("refsTo", this, key);
180
187
  if (pointer) {
181
188
  pointer = pointer.split(":");
182
189
  if (pointer.length != 2)
@@ -210,7 +217,7 @@ export class AutoUpdatedClientObject {
210
217
  });
211
218
  }
212
219
  get extractedData() {
213
- const extracted = processIsRefProperties(this.data, this.classProp.prototype, null, [], {}, this.loggers).newData;
220
+ const extracted = processIsRefProperties(this.data, this, null, [], {}, this.loggers).newData;
214
221
  return _.cloneDeep(extracted);
215
222
  }
216
223
  get isLoaded() {
@@ -222,6 +229,9 @@ export class AutoUpdatedClientObject {
222
229
  return true;
223
230
  }
224
231
  loadMissingReferences() {
232
+ if (this.referencesLoaded)
233
+ return;
234
+ this.referencesLoaded = true;
225
235
  this.checkForMissingRefs();
226
236
  this.generateSettersAndGetters();
227
237
  }
@@ -254,7 +264,7 @@ export class AutoUpdatedClientObject {
254
264
  if (typeof key !== "string")
255
265
  return;
256
266
  const k = key;
257
- const isRef = getMetadataRecursive("isRef", this.classProp.prototype, key);
267
+ const isRef = getMetadataRecursive("isRef", this, key);
258
268
  Object.defineProperty(this, key, {
259
269
  get: () => {
260
270
  if (isRef) {
@@ -296,11 +306,14 @@ export class AutoUpdatedClientObject {
296
306
  return undefined;
297
307
  }
298
308
  async setValue(key, val) {
299
- return await this.setValue__(key, val);
309
+ const result = await this.setValue__(key, val);
310
+ if (this.isLoaded)
311
+ this.callbacks.update(this, key);
312
+ return result;
300
313
  }
301
314
  async setValue__(key, val, silent = false, noGet = false, noUpdate = false) {
302
315
  let message = "Setting value " + key + " of " + this.className + " to ";
303
- const isRef = getMetadataRecursive("isRef", this.classProp.prototype, key);
316
+ const isRef = getMetadataRecursive("isRef", this, key);
304
317
  if (isRef)
305
318
  val = Array.isArray(val)
306
319
  ? val.map((v) => {
@@ -368,12 +381,14 @@ export class AutoUpdatedClientObject {
368
381
  msg: message,
369
382
  };
370
383
  }
371
- if (!this.properties.includes(lastPath) && !lastPath.includes(".")) {
384
+ if (!this.properties.includes(lastPath) &&
385
+ !lastPath.includes(".")) {
372
386
  let nearest = "";
373
387
  for (const prop of this.properties) {
374
388
  if (typeof prop !== "string")
375
389
  continue;
376
- if (stringSimilarity(lastPath, prop) > 0 && stringSimilarity(lastPath, prop) > stringSimilarity(nearest, prop)) {
390
+ if (stringSimilarity(lastPath, prop) > 0 &&
391
+ stringSimilarity(lastPath, prop) > stringSimilarity(nearest, prop)) {
377
392
  nearest = prop;
378
393
  }
379
394
  }
@@ -381,7 +396,7 @@ export class AutoUpdatedClientObject {
381
396
  }
382
397
  let success;
383
398
  try {
384
- let isPopulated = getMetadataRecursive("refsTo", this.classProp.prototype, lastPath);
399
+ let isPopulated = getMetadataRecursive("refsTo", this, lastPath);
385
400
  if (isPopulated) {
386
401
  isPopulated = isPopulated.split(":");
387
402
  const parentObj = this.parentManager.managers[isPopulated[0]].getObject(val);
@@ -393,6 +408,15 @@ export class AutoUpdatedClientObject {
393
408
  this.loggers.error(message);
394
409
  return { success: false, msg: message };
395
410
  }
411
+ if (parentObj.getValue(isPopulated[1]) &&
412
+ !Array.isArray(parentObj.getValue(isPopulated[1]))) {
413
+ message +=
414
+ "\nThis is a 1:1 relationship and the parent already has a parent with the ID: " +
415
+ (parentObj.getValue(isPopulated[1])._id?.toString() ??
416
+ parentObj.getValue(isPopulated[1]).toString()) +
417
+ this.loggers.error(message);
418
+ return { success: false, msg: message };
419
+ }
396
420
  let res;
397
421
  if (this.isServer) {
398
422
  const value = parentObj.getValue(isPopulated[1]);
@@ -410,7 +434,7 @@ export class AutoUpdatedClientObject {
410
434
  res.msg.split("\n").join("\n ");
411
435
  }
412
436
  else {
413
- const isRef = getMetadataRecursive("isRef", this.classProp.prototype, key);
437
+ const isRef = getMetadataRecursive("isRef", this, key);
414
438
  if (isRef && this.isServer && ObjectId.isValid(val))
415
439
  val = Array.isArray(val)
416
440
  ? val.map((v) => new ObjectId(v))
@@ -454,7 +478,7 @@ export class AutoUpdatedClientObject {
454
478
  if (!noUpdate)
455
479
  await this.onUpdate(noUpdate);
456
480
  this.findAndLoadReferences(lastPath, val);
457
- const isRef = getMetadataRecursive("isRef", this.classProp.prototype, path.at(-1));
481
+ const isRef = getMetadataRecursive("isRef", this, path.at(-1));
458
482
  if (isRef && this.parentManager.isLoaded) {
459
483
  this.contactChildren();
460
484
  }
@@ -506,7 +530,7 @@ export class AutoUpdatedClientObject {
506
530
  return { res, val };
507
531
  }
508
532
  findAndLoadReferences(lastPath, value) {
509
- const isRef = getMetadataRecursive("isRef", this.classProp.prototype, lastPath);
533
+ const isRef = getMetadataRecursive("isRef", this, lastPath);
510
534
  if (isRef) {
511
535
  for (const id of Array.isArray(value) ? value : [value]) {
512
536
  let result;
@@ -524,6 +548,7 @@ export class AutoUpdatedClientObject {
524
548
  this.data._id);
525
549
  continue;
526
550
  }
551
+ this.referencesLoaded = false;
527
552
  result.loadMissingReferences();
528
553
  }
529
554
  }
@@ -609,7 +634,7 @@ export class AutoUpdatedClientObject {
609
634
  }
610
635
  return null;
611
636
  }
612
- async loadForceReferences(obj = this.data, proto = this.classProp.prototype, alreadySeen = []) {
637
+ async loadForceReferences(obj = this.data, proto = this, alreadySeen = []) {
613
638
  const props = Reflect.getMetadata("props", proto) || [];
614
639
  for (const key of props) {
615
640
  if (typeof key !== "string")
@@ -678,9 +703,7 @@ export class AutoUpdatedClientObject {
678
703
  filtred.length +
679
704
  " - some values were undefined");
680
705
  }
681
- if (filtred
682
- .map((id) => id?._id.toString())
683
- .includes(this.data._id))
706
+ if (filtred.map((id) => id?._id.toString()).includes(this.data._id))
684
707
  obj?.contactChildren();
685
708
  else
686
709
  await obj?.setValue(pointer[1], [
@@ -696,6 +719,7 @@ export class AutoUpdatedClientObject {
696
719
  if (!once) {
697
720
  return await this.parentManager.deleteObject(this.data._id);
698
721
  }
722
+ await this.callbacks.delete(this);
699
723
  const res = await new Promise((resolve) => {
700
724
  this.socket.emit("delete" + this.className, this.data._id, (res) => {
701
725
  if (!res.success) {
@@ -723,7 +747,7 @@ export class AutoUpdatedClientObject {
723
747
  }
724
748
  checkForMissingRefs() {
725
749
  for (const prop of this.properties) {
726
- let pointer = getMetadataRecursive("refsTo", this.classProp.prototype, prop.toString());
750
+ let pointer = getMetadataRecursive("refsTo", this, prop.toString());
727
751
  if (pointer) {
728
752
  pointer = pointer.split(":");
729
753
  if (pointer.length != 2)
@@ -770,8 +794,8 @@ export class AutoUpdatedClientObject {
770
794
  }
771
795
  contactChildren() {
772
796
  for (const prop of this.properties) {
773
- const pointer = getMetadataRecursive("refsTo", this.classProp.prototype, prop.toString());
774
- const isRef = getMetadataRecursive("isRef", this.classProp.prototype, prop.toString());
797
+ const pointer = getMetadataRecursive("refsTo", this, prop.toString());
798
+ const isRef = getMetadataRecursive("isRef", this, prop.toString());
775
799
  if (isRef && !pointer) {
776
800
  if (!this.getValue(prop))
777
801
  continue;