summary refs log tree commit diff
path: root/util
diff options
context:
space:
mode:
authorFlam3rboy <34555296+Flam3rboy@users.noreply.github.com>2021-10-04 22:43:51 +0200
committerFlam3rboy <34555296+Flam3rboy@users.noreply.github.com>2021-10-04 22:43:51 +0200
commit0914f424ceec738762e17a8ee787d589c8a8cbcb (patch)
treecbca25e5637833ec7c71d4a8a24091fe61fccad8 /util
parentMerge branch 'master' of http://github.com/fosscord/fosscord-server (diff)
downloadserver-0914f424ceec738762e17a8ee787d589c8a8cbcb.tar.xz
:sparkles: generalize primary column to work with mongodb object id
Diffstat (limited to 'util')
-rw-r--r--util/package-lock.json14
-rw-r--r--util/package.json2
-rw-r--r--util/src/entities/BaseClass.ts8
-rw-r--r--util/src/entities/Config.ts10
-rw-r--r--util/src/entities/Invite.ts8
-rw-r--r--util/src/entities/Member.ts2
-rw-r--r--util/src/entities/Template.ts2
-rw-r--r--util/src/util/Database.ts2
8 files changed, 23 insertions, 25 deletions
diff --git a/util/package-lock.json b/util/package-lock.json
index d48403dd..67d4d73f 100644
--- a/util/package-lock.json
+++ b/util/package-lock.json
@@ -17,7 +17,7 @@
 				"env-paths": "^2.2.1",
 				"jsonwebtoken": "^8.5.1",
 				"lambert-server": "^1.2.10",
-				"missing-native-js-functions": "^1.2.15",
+				"missing-native-js-functions": "^1.2.16",
 				"multer": "^1.4.3",
 				"nanocolors": "^0.2.12",
 				"node-fetch": "^2.6.1",
@@ -4717,9 +4717,9 @@
 			}
 		},
 		"node_modules/missing-native-js-functions": {
-			"version": "1.2.15",
-			"resolved": "https://registry.npmjs.org/missing-native-js-functions/-/missing-native-js-functions-1.2.15.tgz",
-			"integrity": "sha512-NNsxPSHnG22xellXsdGkzmF/SSzYNRgZcWQt2OKG+I3Wv8p37kTax13trTMthVkEOhvNv8M2l4A4JwK1p42ZHg=="
+			"version": "1.2.16",
+			"resolved": "https://registry.npmjs.org/missing-native-js-functions/-/missing-native-js-functions-1.2.16.tgz",
+			"integrity": "sha512-XiSrIpYeLfk6OMHoqgg1zxgpOS3dV2J4Elk/GVKqQ2zoRLEJTxPb6RXiAVCv5/JxutMypablImU9JOqV0Vpi9w=="
 		},
 		"node_modules/mkdirp": {
 			"version": "0.5.5",
@@ -11138,9 +11138,9 @@
 			}
 		},
 		"missing-native-js-functions": {
-			"version": "1.2.15",
-			"resolved": "https://registry.npmjs.org/missing-native-js-functions/-/missing-native-js-functions-1.2.15.tgz",
-			"integrity": "sha512-NNsxPSHnG22xellXsdGkzmF/SSzYNRgZcWQt2OKG+I3Wv8p37kTax13trTMthVkEOhvNv8M2l4A4JwK1p42ZHg=="
+			"version": "1.2.16",
+			"resolved": "https://registry.npmjs.org/missing-native-js-functions/-/missing-native-js-functions-1.2.16.tgz",
+			"integrity": "sha512-XiSrIpYeLfk6OMHoqgg1zxgpOS3dV2J4Elk/GVKqQ2zoRLEJTxPb6RXiAVCv5/JxutMypablImU9JOqV0Vpi9w=="
 		},
 		"mkdirp": {
 			"version": "0.5.5",
diff --git a/util/package.json b/util/package.json
index 3bdc04be..3e888c21 100644
--- a/util/package.json
+++ b/util/package.json
@@ -44,7 +44,7 @@
 		"env-paths": "^2.2.1",
 		"jsonwebtoken": "^8.5.1",
 		"lambert-server": "^1.2.10",
-		"missing-native-js-functions": "^1.2.15",
+		"missing-native-js-functions": "^1.2.16",
 		"multer": "^1.4.3",
 		"nanocolors": "^0.2.12",
 		"node-fetch": "^2.6.1",
diff --git a/util/src/entities/BaseClass.ts b/util/src/entities/BaseClass.ts
index d18757f2..f105086a 100644
--- a/util/src/entities/BaseClass.ts
+++ b/util/src/entities/BaseClass.ts
@@ -5,10 +5,8 @@ import {
 	BeforeUpdate,
 	EntityMetadata,
 	FindConditions,
-	getConnection,
-	getManager,
+	ObjectIdColumn,
 	PrimaryColumn,
-	RemoveOptions,
 } from "typeorm";
 import { Snowflake } from "../util/Snowflake";
 import "missing-native-js-functions";
@@ -117,8 +115,10 @@ export class BaseClassWithoutId extends BaseEntity {
 	// }
 }
 
+export const PrimaryIdColumn = process.env.DATABASE?.startsWith("mongodb") ? ObjectIdColumn : PrimaryColumn;
+
 export class BaseClass extends BaseClassWithoutId {
-	@PrimaryColumn()
+	@PrimaryIdColumn()
 	id: string;
 
 	assign(props: any = {}) {
diff --git a/util/src/entities/Config.ts b/util/src/entities/Config.ts
index edce92a9..28926233 100644
--- a/util/src/entities/Config.ts
+++ b/util/src/entities/Config.ts
@@ -1,11 +1,11 @@
-import { Column, Entity, JoinColumn, ManyToOne, PrimaryColumn } from "typeorm";
-import { BaseClass, BaseClassWithoutId } from "./BaseClass";
+import { Column, Entity } from "typeorm";
+import { BaseClassWithoutId, PrimaryIdColumn } from "./BaseClass";
 import crypto from "crypto";
 import { Snowflake } from "../util/Snowflake";
 
 @Entity("config")
 export class ConfigEntity extends BaseClassWithoutId {
-	@PrimaryColumn()
+	@PrimaryIdColumn()
 	key: string;
 
 	@Column({ type: "simple-json", nullable: true })
@@ -144,7 +144,7 @@ export interface ConfigValue {
 		useDefaultAsOptimal: boolean;
 		available: Region[];
 	};
-	
+
 	guild: {
 		showAllGuildsInDiscovery: boolean;
 	};
@@ -299,7 +299,7 @@ export const DefaultConfigOptions: ConfigValue = {
 			},
 		],
 	},
-	
+
 	guild: {
 		showAllGuildsInDiscovery: false,
 	},
diff --git a/util/src/entities/Invite.ts b/util/src/entities/Invite.ts
index 78545b02..82556fab 100644
--- a/util/src/entities/Invite.ts
+++ b/util/src/entities/Invite.ts
@@ -1,6 +1,6 @@
-import { Column, Entity, JoinColumn, ManyToOne, PrimaryColumn, RelationId } from "typeorm";
-import { Member } from ".";
-import { BaseClass } from "./BaseClass";
+import { Column, Entity, JoinColumn, ManyToOne, RelationId } from "typeorm";
+import { Member } from "./Member";
+import { BaseClass, PrimaryIdColumn } from "./BaseClass";
 import { Channel } from "./Channel";
 import { Guild } from "./Guild";
 import { User } from "./User";
@@ -9,7 +9,7 @@ export const PublicInviteRelation = ["inviter", "guild", "channel"];
 
 @Entity("invites")
 export class Invite extends BaseClass {
-	@PrimaryColumn()
+	@PrimaryIdColumn()
 	code: string;
 
 	@Column()
diff --git a/util/src/entities/Member.ts b/util/src/entities/Member.ts
index feb9c069..7d7ac40a 100644
--- a/util/src/entities/Member.ts
+++ b/util/src/entities/Member.ts
@@ -8,8 +8,6 @@ import {
 	JoinTable,
 	ManyToMany,
 	ManyToOne,
-	OneToMany,
-	PrimaryColumn,
 	PrimaryGeneratedColumn,
 	RelationId,
 } from "typeorm";
diff --git a/util/src/entities/Template.ts b/util/src/entities/Template.ts
index c9c32f42..1d952283 100644
--- a/util/src/entities/Template.ts
+++ b/util/src/entities/Template.ts
@@ -1,4 +1,4 @@
-import { Column, Entity, Index, JoinColumn, ManyToOne, PrimaryColumn, RelationId } from "typeorm";
+import { Column, Entity, JoinColumn, ManyToOne, RelationId } from "typeorm";
 import { BaseClass } from "./BaseClass";
 import { Guild } from "./Guild";
 import { User } from "./User";
diff --git a/util/src/util/Database.ts b/util/src/util/Database.ts
index 5f622805..6445bd60 100644
--- a/util/src/util/Database.ts
+++ b/util/src/util/Database.ts
@@ -24,7 +24,7 @@ export function initDatabase() {
 		url: isSqlite ? undefined : dbConnectionString,
 		database: isSqlite ? dbConnectionString : undefined,
 		entities: Object.values(Models).filter((x) => x.constructor.name !== "Object"),
-		synchronize: true,
+		synchronize: type !== "mongodb",
 		logging: false,
 		cache: {
 			duration: 1000 * 3, // cache all find queries for 3 seconds