From 7b630168725ce653c025ca6a14023995dc4ad164 Mon Sep 17 00:00:00 2001 From: Flam3rboy <34555296+Flam3rboy@users.noreply.github.com> Date: Mon, 4 Oct 2021 22:43:51 +0200 Subject: [PATCH] :sparkles: generalize primary column to work with mongodb object id --- api/package-lock.json | Bin 1010268 -> 1010268 bytes api/package.json | 2 +- bundle/package-lock.json | Bin 100857 -> 100857 bytes bundle/package.json | 2 +- cdn/package-lock.json | Bin 362526 -> 362526 bytes cdn/package.json | 2 +- gateway/package-lock.json | Bin 514846 -> 515074 bytes gateway/package.json | 2 +- util/package-lock.json | Bin 459640 -> 459640 bytes util/package.json | 2 +- util/src/entities/BaseClass.ts | 8 ++++---- util/src/entities/Config.ts | 10 +++++----- util/src/entities/Invite.ts | 8 ++++---- util/src/entities/Member.ts | 2 -- util/src/entities/Template.ts | 2 +- util/src/util/Database.ts | 2 +- 16 files changed, 20 insertions(+), 22 deletions(-) diff --git a/api/package-lock.json b/api/package-lock.json index 1633a945b4afbe51d2c8f173d6ab4f6db4ad152a..dccd3c21a06491fd4e80851b0855b1ec9c5ce0e2 100644 GIT binary patch delta 293 zcmca}#rDn>+YPnMjAqSs%9UXBE7&r*f=H3$jihvCtKe=%)2nqs473m$JHyOA|S~u zC?eA_%(=`|->agu#J92_F)7D0H`LP0zc9=otRT~}eELC8R>^jr`K&<92E^<@%mKul fK+FZi+}nBP^SCz9$1&}u3cNtfx7}2MU)>7;55Qr8 delta 290 zcmca}#rDn>+YPnMjHbn|^R`Ris}~dQ@_FV2P2xx4X8dad??Ufw6gZNMePd zaY<2#Z%Ia2wyS?enO~WOuThSPqls6!w_$;aQIyB@hrvuz?L6~YftU@5*@2h?h&h3n h3y8V5^UUXQZ9sKO7)_j#-fpVE3&eceO%?dny#NQ8VLAW+ diff --git a/api/package.json b/api/package.json index 4fee791c..fa6866f3 100644 --- a/api/package.json +++ b/api/package.json @@ -92,7 +92,7 @@ "i18next-node-fs-backend": "^2.1.3", "jsonwebtoken": "^8.5.1", "lambert-server": "^1.2.10", - "missing-native-js-functions": "^1.2.15", + "missing-native-js-functions": "^1.2.16", "mongoose": "^5.12.3", "mongoose-autopopulate": "^0.12.3", "mongoose-long": "^0.3.2", diff --git a/bundle/package-lock.json b/bundle/package-lock.json index 53bfdf1cea297bdbe442ad1f9af7e27fcee3e3fb..9438c102d1f1146a9e804e6ed70d473d9e5d38a0 100644 GIT binary patch delta 339 zcmex4neFFfwhg>YjAoM+1++F>F!8einF}6X-z?Ah62z2#q_|m2z>)>XFI`573l^3 z!Nw_JMqVbaIobN|Vcvy-MpgMiKCWIN6#+?RK@pjbVa{cy`d$^KCBBsfiAg!0xuKR` z{)J%%VFj6%<(nNB$JqfbT=4KKE5t>UwFE*Y&k@s_+$SJE+5NWgWFJPZ>8Txzf}5LO fbOZgeneR0_#EEWYjHZ(n1++F>F!8einF}6X-z?Ah62z2#q_|m2z>)>Xth^DC|h2=>TxH!`Y7&B=)y5U zD)%-lFfoeqNZ;(ZIL;1e<${M_Ss`wktR)aKd5)OYC;KpRO;7D$6x`hO fq8sR&&3v!fA&zuo+#K^>E}u>=-5wXuI9m$<{d;yO diff --git a/bundle/package.json b/bundle/package.json index 5124fcdf..3fb4cb05 100644 --- a/bundle/package.json +++ b/bundle/package.json @@ -56,7 +56,7 @@ "async-exit-hook": "^2.0.1", "dotenv": "^10.0.0", "express": "^4.17.1", - "missing-native-js-functions": "^1.2.15", + "missing-native-js-functions": "^1.2.16", "nanocolors": "^0.2.12", "node-os-utils": "^1.3.5", "tsconfig-paths": "^3.11.0" diff --git a/cdn/package-lock.json b/cdn/package-lock.json index b8d4f9242be796db9df1cd0c7b6184550c3c56d2..d88251b3d03fe2511244d8555a6332bf4f9a02fb 100644 GIT binary patch delta 252 zcmbO?L2TXxu??%47|kZjvWqt#W@9UXBE7&r*f=H3$jihvCtKe=%)2nqs473m$JHyOA|S~uC?eA_ z%(=`|->agu#J92_F)7D0H`LP0zc9=otRT~J`oTsfsrK!U-m%qYdJDE{UA=J;WxFR6f zBhTH)s3J8dC!#pTJ-aH`O+PreD$*|~Jt{dou*AsU+g;n!IK0fFz}P%HB(cKKxTGk= zwAZFgaU6;jt8LG8mG_f{) K`=u)^KAQotL07W? diff --git a/cdn/package.json b/cdn/package.json index 62c21c9a..11cac162 100644 --- a/cdn/package.json +++ b/cdn/package.json @@ -54,7 +54,7 @@ "jest": "^27.0.6", "lambert-db": "^1.2.3", "lambert-server": "^1.2.8", - "missing-native-js-functions": "^1.2.15", + "missing-native-js-functions": "^1.2.16", "multer": "^1.4.2", "nanocolors": "^0.2.12", "node-fetch": "^2.6.1", diff --git a/gateway/package-lock.json b/gateway/package-lock.json index 4296feae9233f12ff9fb2e37de36b84383975f3a..cc89ffbdf3c694f408dd5d718836b66640c50eff 100644 GIT binary patch delta 299 zcmbQYO}=S|{Du>ZjAqRz8QV`Xf-uwelZ?#UPcfQJ7ZhUFo9l*4A z=^2_$pD4yG9~O}rT;y30nd+04ZRYRmkzbgeZdg^3Uf>^WoDyc_W#XEXt?wS@T^MLo zl^^8e>J?HEkYpAVk?9!bTxP28RZ&{vTUn5pl;fEjYU$-)7-kSwkZD;yePRl;WIOj+ aW*}w(V%F{4XW25B4w!qkKPzIl$N&IHwP5xD delta 82 zcmZqLAwO@M{Du>Z)1p|oriWIui#NYyY=6lJ!c5y=GBQs;HT4}E`}EHLjOEk&!kKy7 bYtJ$RF$)m0Zm&Jdmbnxzzx`SFI`573l^3!Nw_JMqVbaIobN|Vcvy-MpgMiKCWIN6#+?RK@pjbVa{cy z`d$^KCBBsfiAg!0xuKR`{)J%%VFj6%lLOaDwZExk0%B$$X4(FxlGQvP)#fmo*j(Pu N{)%-w`zy9WNdQ9gUI_pI delta 259 zcmey-CiA0BX2U&3M$_i|jP3Us8MohOWD+Q!ZupATV7h!IlihUV3(N|ketyLj0l^-5 z?nXuxsW~|j#VPLDRk?2Z!NFCLenII`$>D(|M*iOJ+MdSYWfld-=Gh^M6^6zoMIpW= z8DZJ3{uyO{Wfs0hIVO%KUgh3~1tvyO9+MxmO0~bKWCCJlAZFSArjpe>AI<78npmCQ O&i;yZJNqlPLP-F-2wVgJ 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