summary refs log tree commit diff
path: root/src/util/entities/BaseClass.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/util/entities/BaseClass.ts')
-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 f4b3cf59..d2770bfd 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();
-	}
-}