summary refs log tree commit diff
path: root/util/src/entities/BaseClass.ts
diff options
context:
space:
mode:
Diffstat (limited to 'util/src/entities/BaseClass.ts')
-rw-r--r--util/src/entities/BaseClass.ts6
1 files changed, 4 insertions, 2 deletions
diff --git a/util/src/entities/BaseClass.ts b/util/src/entities/BaseClass.ts

index 22d9f6d6..2d2457de 100644 --- a/util/src/entities/BaseClass.ts +++ b/util/src/entities/BaseClass.ts
@@ -23,7 +23,9 @@ export class BaseClass extends BaseEntity { super(); this.assign(props); - if (!this.construct.schema) this.construct.schema = { ...schema, $ref: `#/definitions/${this.construct.name}` }; + if (!this.construct.schema) { + this.construct.schema = ajv.compile({ ...schema, $ref: `#/definitions/${this.construct.name}` }); + } this.id = this.opts.id || Snowflake.generate(); } @@ -51,7 +53,7 @@ export class BaseClass extends BaseEntity { @BeforeUpdate() @BeforeInsert() validate() { - const valid = ajv.validate(this.construct.schema, this.toJSON()); + const valid = this.construct.schema(this.toJSON()); if (!valid) throw ajv.errors; return this; }