summary refs log tree commit diff
path: root/util/src/entities/BaseClass.ts
diff options
context:
space:
mode:
authorFlam3rboy <34555296+Flam3rboy@users.noreply.github.com>2021-08-26 00:22:26 +0200
committerFlam3rboy <34555296+Flam3rboy@users.noreply.github.com>2021-08-26 00:22:26 +0200
commit41dd600c06d0b1610890794568f74d72684e94c8 (patch)
tree4f02a9a2e74f99f6632bfa6473757ee9177ad5c1 /util/src/entities/BaseClass.ts
parent:bug: patch modules (diff)
downloadserver-41dd600c06d0b1610890794568f74d72684e94c8.tar.xz
:sparkles: unit test
Diffstat (limited to '')
-rw-r--r--util/src/entities/BaseClass.ts14
1 files changed, 8 insertions, 6 deletions
diff --git a/util/src/entities/BaseClass.ts b/util/src/entities/BaseClass.ts

index 38f6a71b..22d9f6d6 100644 --- a/util/src/entities/BaseClass.ts +++ b/util/src/entities/BaseClass.ts
@@ -8,6 +8,7 @@ const ajv = new Ajv({ removeAdditional: "all", useDefaults: true, coerceTypes: true, + // @ts-ignore validateFormats: false, allowUnionTypes: true, }); @@ -23,12 +24,18 @@ export class BaseClass extends BaseEntity { this.assign(props); if (!this.construct.schema) this.construct.schema = { ...schema, $ref: `#/definitions/${this.construct.name}` }; + + this.id = this.opts.id || Snowflake.generate(); } get construct(): any { return this.constructor; } + get metadata() { + return this.construct.getRepository().metadata; + } + assign(props: any) { if (!props || typeof props !== "object") return; @@ -39,8 +46,6 @@ export class BaseClass extends BaseEntity { Object.defineProperty(this, key, { value: props[key] }); } - - this.id = this.opts.id || Snowflake.generate(); } @BeforeUpdate() @@ -48,10 +53,7 @@ export class BaseClass extends BaseEntity { validate() { const valid = ajv.validate(this.construct.schema, this.toJSON()); if (!valid) throw ajv.errors; - } - - get metadata() { - return this.construct.getRepository().metadata; + return this; } toJSON(): any {