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;
}
|