summary refs log tree commit diff
path: root/src/util/entities/BaseClass.ts
diff options
context:
space:
mode:
authorSamuel <34555296+Flam3rboy@users.noreply.github.com>2023-03-18 04:11:48 +0100
committerSamuel <34555296+Flam3rboy@users.noreply.github.com>2023-03-18 04:11:48 +0100
commit366c4935a42d5056c51cdbd7c82c2674f1b8b128 (patch)
tree7c3cdc444536d8b1065c9f98d96355d0f5276704 /src/util/entities/BaseClass.ts
parentfix: package-lock.json (diff)
downloadserver-366c4935a42d5056c51cdbd7c82c2674f1b8b128.tar.xz
feat: Database Query Cache
Diffstat (limited to '')
-rw-r--r--src/util/entities/BaseClass.ts44
1 files changed, 20 insertions, 24 deletions
diff --git a/src/util/entities/BaseClass.ts b/src/util/entities/BaseClass.ts

index 445b3fc9..87b394c5 100644 --- a/src/util/entities/BaseClass.ts +++ b/src/util/entities/BaseClass.ts
@@ -25,16 +25,12 @@ import { PrimaryColumn, } from "typeorm"; import { Snowflake } from "../util/Snowflake"; -import { getDatabase } from "../util/Database"; import { OrmUtils } from "../imports/OrmUtils"; +import { getDatabase } from "../util"; export class BaseClassWithoutId extends BaseEntity { - private get construct() { - return this.constructor; - } - - private get metadata() { - return getDatabase()?.getMetadata(this.construct); + public get metadata() { + return getDatabase()?.getMetadata(this.constructor); } assign(props: object) { @@ -61,8 +57,23 @@ export class BaseClassWithoutId extends BaseEntity { ), ); } +} + +export const PrimaryIdColumn = process.env.DATABASE?.startsWith("mongodb") + ? ObjectIdColumn + : PrimaryColumn; + +export class BaseClassWithId extends BaseClassWithoutId { + @PrimaryIdColumn() + id: string = Snowflake.generate(); + + @BeforeUpdate() + @BeforeInsert() + _do_validate() { + if (!this.id) this.id = Snowflake.generate(); + } - static increment<T extends BaseClass>( + static increment<T extends BaseClassWithId>( conditions: FindOptionsWhere<T>, propertyPath: string, value: number | string, @@ -71,7 +82,7 @@ export class BaseClassWithoutId extends BaseEntity { return repository.increment(conditions, propertyPath, value); } - static decrement<T extends BaseClass>( + static decrement<T extends BaseClassWithId>( conditions: FindOptionsWhere<T>, propertyPath: string, value: number | string, @@ -80,18 +91,3 @@ export class BaseClassWithoutId extends BaseEntity { return repository.decrement(conditions, propertyPath, value); } } - -export const PrimaryIdColumn = process.env.DATABASE?.startsWith("mongodb") - ? ObjectIdColumn - : PrimaryColumn; - -export class BaseClass extends BaseClassWithoutId { - @PrimaryIdColumn() - id: string = Snowflake.generate(); - - @BeforeUpdate() - @BeforeInsert() - _do_validate() { - if (!this.id) this.id = Snowflake.generate(); - } -}