From 4f6e59e936dd9dfc10bebe7ac10dea8c0d96e6ec Mon Sep 17 00:00:00 2001 From: ChrisChrome Date: Wed, 10 Aug 2022 02:53:29 -0600 Subject: Add basic developer panel functionality - doesn't work yet > > > Co-authored-by: TheArcaneBrony --- .gitignore | 4 +- api/client_test/developers.html | 76 +-- api/src/routes/applications/#id/bot/index.ts | 83 +++ api/src/routes/applications/#id/index.ts | 27 + api/src/routes/applications/#id/skus.ts | 11 + api/src/routes/applications/index.ts | 28 +- gateway/src/opcodes/Identify.ts | 2 +- util/src/entities/Application.ts | 114 ++-- util/src/entities/User.ts | 2 +- util/src/interfaces/Event.ts | 2 +- .../migrations/sqlite/1660110227241-modern_apps.ts | 623 +++++++++++++++++++++ util/src/migrations/sqlite/1660110592990-apps2.ts | 220 ++++++++ util/src/migrations/sqlite/1660110798713-yes.ts | 428 ++++++++++++++ .../sqlite/1660112323115-defaults_apps.ts | 428 ++++++++++++++ 14 files changed, 1971 insertions(+), 77 deletions(-) create mode 100644 api/src/routes/applications/#id/bot/index.ts create mode 100644 api/src/routes/applications/#id/index.ts create mode 100644 api/src/routes/applications/#id/skus.ts create mode 100644 util/src/migrations/sqlite/1660110227241-modern_apps.ts create mode 100644 util/src/migrations/sqlite/1660110592990-apps2.ts create mode 100644 util/src/migrations/sqlite/1660110798713-yes.ts create mode 100644 util/src/migrations/sqlite/1660112323115-defaults_apps.ts diff --git a/.gitignore b/.gitignore index c4d703d2..98adcd00 100644 --- a/.gitignore +++ b/.gitignore @@ -16,4 +16,6 @@ api/assets/plugins/*.js *.log *.log.ansi -bundle/depclean.* \ No newline at end of file +bundle/depclean.* +*.tmp +tmp/ diff --git a/api/client_test/developers.html b/api/client_test/developers.html index 2a4402d7..87595e77 100644 --- a/api/client_test/developers.html +++ b/api/client_test/developers.html @@ -1,42 +1,44 @@ - - - - - - Discord Test Client Developer Portal - - + + + - -
- - - - - - + +
+ + + + + + + \ No newline at end of file diff --git a/api/src/routes/applications/#id/bot/index.ts b/api/src/routes/applications/#id/bot/index.ts new file mode 100644 index 00000000..82c09c4d --- /dev/null +++ b/api/src/routes/applications/#id/bot/index.ts @@ -0,0 +1,83 @@ +import { Request, Response, Router } from "express"; +import { route } from "@fosscord/api"; +import { Application, Config, FieldErrors, generateToken, OrmUtils, Snowflake, trimSpecial, User } from "@fosscord/util"; +import { HTTPError } from "lambert-server"; +import { verifyToken } from "node-2fa"; + +const router: Router = Router(); + +router.post("/", route({}), async (req: Request, res: Response) => { + const app = await Application.findOne({where: {id: req.params.id}}); + if(!app) return res.status(404); + const username = trimSpecial(app.name); + const discriminator = await User.generateDiscriminator(username); + if (!discriminator) { + // We've failed to generate a valid and unused discriminator + throw FieldErrors({ + username: { + code: "USERNAME_TOO_MANY_USERS", + message: req?.t("auth:register.USERNAME_TOO_MANY_USERS"), + }, + }); + } + + const user = OrmUtils.mergeDeep(new User(), { + created_at: new Date(), + username: username, + discriminator, + id: app.id, + bot: true, + system: false, + premium_since: new Date(), + desktop: false, + mobile: false, + premium: true, + premium_type: 2, + bio: app.description, + mfa_enabled: false, + totp_secret: "", + totp_backup_codes: [], + verified: true, + disabled: false, + deleted: false, + email: null, + rights: Config.get().register.defaultRights, + nsfw_allowed: true, + public_flags: "0", + flags: "0", + data: { + hash: null, + valid_tokens_since: new Date(), + }, + settings: {}, + extended_settings: {}, + fingerprints: [], + notes: {}, + }); + await user.save(); + app.bot = user; + await app.save(); + res.send().status(204) +}); + +router.post("/reset", route({}), async (req: Request, res: Response) => { + let bot = await User.findOne({where: {id: req.params.id}}); + let owner = await User.findOne({where: {id: req.user_id}}); + if(!bot) return res.status(404); + if(owner?.totp_secret && (!req.body.code || verifyToken(owner.totp_secret, req.body.code))) { + throw new HTTPError(req.t("auth:login.INVALID_TOTP_CODE"), 60008); + } + bot.data = { hash: undefined, valid_tokens_since: new Date() }; + await bot.save(); + let token = await generateToken(bot.id); + res.json({token}).status(200); +}); + +router.patch("/", route({}), async (req: Request, res: Response) => { + delete req.body.icon; + let app = OrmUtils.mergeDeep(await User.findOne({where: {id: req.params.id}}), req.body); + await app.save(); + res.json(app).status(200); +}); + +export default router; \ No newline at end of file diff --git a/api/src/routes/applications/#id/index.ts b/api/src/routes/applications/#id/index.ts new file mode 100644 index 00000000..be8c3ba4 --- /dev/null +++ b/api/src/routes/applications/#id/index.ts @@ -0,0 +1,27 @@ +import { Request, Response, Router } from "express"; +import { route } from "@fosscord/api"; +import { Application, OrmUtils, Team, trimSpecial, User } from "@fosscord/util"; + +const router: Router = Router(); + +router.get("/", route({}), async (req: Request, res: Response) => { + //TODO + let results = await Application.findOne({where: {id: req.params.id}, relations: ["owner", "bot"] }); + //debugger; + res.json(results).status(200); +}); + +router.patch("/", route({}), async (req: Request, res: Response) => { + delete req.body.icon; + let app = OrmUtils.mergeDeep(await Application.findOne({where: {id: req.params.id}, relations: ["owner", "bot"]}), req.body); + if(app.bot) { + app.bot.bio = req.body.description + app.bot?.save(); + } + if(req.body.tags) app.tags = req.body.tags; + await app.save(); + debugger; + res.json(app).status(200); +}); + +export default router; \ No newline at end of file diff --git a/api/src/routes/applications/#id/skus.ts b/api/src/routes/applications/#id/skus.ts new file mode 100644 index 00000000..5b667f36 --- /dev/null +++ b/api/src/routes/applications/#id/skus.ts @@ -0,0 +1,11 @@ +import { Request, Response, Router } from "express"; +import { route } from "@fosscord/api"; +import { Application, OrmUtils, Team, trimSpecial, User } from "@fosscord/util"; + +const router: Router = Router(); + +router.get("/", route({}), async (req: Request, res: Response) => { + res.json([]).status(200); +}); + +export default router; \ No newline at end of file diff --git a/api/src/routes/applications/index.ts b/api/src/routes/applications/index.ts index 28ce42da..c9be1131 100644 --- a/api/src/routes/applications/index.ts +++ b/api/src/routes/applications/index.ts @@ -1,11 +1,35 @@ import { Request, Response, Router } from "express"; import { route } from "@fosscord/api"; +import { Application, OrmUtils, Team, trimSpecial, User } from "@fosscord/util"; const router: Router = Router(); +export interface ApplicationCreateSchema { + name: string; + team_id?: string | number; +} + router.get("/", route({}), async (req: Request, res: Response) => { //TODO - res.send([]).status(200); + let results = await Application.find({where: {owner: {id: req.user_id}}, relations: ["owner"] }); + res.json(results).status(200); +}); + +router.post("/", route({}), async (req: Request, res: Response) => { + const body = req.body as ApplicationCreateSchema; + const user = await User.findOne({where: {id: req.user_id}}) + if(!user) res.status(420); + let app = OrmUtils.mergeDeep(new Application(), { + name: trimSpecial(body.name), + description: "", + bot_public: true, + bot_require_code_grant: false, + owner: user, + verify_key: "IMPLEMENTME", + flags: "" + }); + await app.save(); + res.json(app).status(200); }); -export default router; +export default router; \ No newline at end of file diff --git a/gateway/src/opcodes/Identify.ts b/gateway/src/opcodes/Identify.ts index ca081d02..03fff796 100644 --- a/gateway/src/opcodes/Identify.ts +++ b/gateway/src/opcodes/Identify.ts @@ -232,7 +232,7 @@ export async function onIdentify(this: WebSocket, data: Payload) { const d: ReadyEventData = { v: 8, - application: {id: application?.id??'', flags: application?.flags??''}, //TODO: check this code! + application: {id: application?.id??'', flags: application?.flags??0}, //TODO: check this code! user: privateUser, user_settings: user.settings, // @ts-ignore diff --git a/util/src/entities/Application.ts b/util/src/entities/Application.ts index fab3d93f..28381579 100644 --- a/util/src/entities/Application.ts +++ b/util/src/entities/Application.ts @@ -1,4 +1,4 @@ -import { Column, Entity, JoinColumn, ManyToOne, RelationId } from "typeorm"; +import { Column, Entity, JoinColumn, ManyToOne, OneToOne, RelationId } from "typeorm"; import { BaseClass } from "./BaseClass"; import { Guild } from "./Guild"; import { Team } from "./Team"; @@ -8,21 +8,77 @@ import { User } from "./User"; export class Application extends BaseClass { @Column() name: string; - + @Column({ nullable: true }) icon?: string; - - @Column() + + @Column({ nullable: true }) description: string; - - @Column({ type: "simple-array", nullable: true }) - rpc_origins?: string[]; - + + @Column({ nullable: true }) + summary: string = ""; + + @Column({ type: "simple-json", nullable: true }) + type?: any; + @Column() - bot_public: boolean; - + hook: boolean = true; + + @Column() + bot_public?: boolean = true; + + @Column() + bot_require_code_grant?: boolean = false; + @Column() - bot_require_code_grant: boolean; + verify_key: string; + + @JoinColumn({ name: "owner_id" }) + @ManyToOne(() => User) + owner: User; + + @Column() + flags: number = 0; + + @Column({ type: "simple-array", nullable: true }) + redirect_uris: string[] = []; + + @Column({ nullable: true }) + rpc_application_state: number = 0; + + @Column({ nullable: true }) + store_application_state: number = 1; + + @Column({ nullable: true }) + verification_state: number = 1; + + @Column({ nullable: true }) + interactions_endpoint_url?: string; + + @Column({ nullable: true }) + integration_public: boolean = true; + + @Column({ nullable: true }) + integration_require_code_grant: boolean = false; + + @Column({ nullable: true }) + discoverability_state: number = 1; + + @Column({ nullable: true }) + discovery_eligibility_flags: number = 2240; + + @JoinColumn({ name: "bot_user_id" }) + @OneToOne(() => User) + bot?: User; + + @Column({ type: "simple-array", nullable: true }) + tags?: string[]; + + @Column({ nullable: true }) + cover_image?: string; // the application's default rich presence invite cover image hash + + @Column({ type: "simple-json", nullable: true }) + install_params?: {scopes: string[], permissions: string}; @Column({ nullable: true }) terms_of_service_url?: string; @@ -30,15 +86,20 @@ export class Application extends BaseClass { @Column({ nullable: true }) privacy_policy_url?: string; - @JoinColumn({ name: "owner_id" }) - @ManyToOne(() => User) - owner?: User; + //just for us - @Column({ nullable: true }) - summary?: string; + //@Column({ type: "simple-array", nullable: true }) + //rpc_origins?: string[]; + + //@JoinColumn({ name: "guild_id" }) + //@ManyToOne(() => Guild) + //guild?: Guild; // if this application is a game sold, this field will be the guild to which it has been linked - @Column() - verify_key: string; + //@Column({ nullable: true }) + //primary_sku_id?: string; // if this application is a game sold, this field will be the id of the "Game SKU" that is created, + + //@Column({ nullable: true }) + //slug?: string; // if this application is a game sold, this field will be the URL slug that links to the store page @JoinColumn({ name: "team_id" }) @ManyToOne(() => Team, { @@ -46,22 +107,7 @@ export class Application extends BaseClass { }) team?: Team; - @JoinColumn({ name: "guild_id" }) - @ManyToOne(() => Guild) - guild: Guild; // if this application is a game sold, this field will be the guild to which it has been linked - - @Column({ nullable: true }) - primary_sku_id?: string; // if this application is a game sold, this field will be the id of the "Game SKU" that is created, - - @Column({ nullable: true }) - slug?: string; // if this application is a game sold, this field will be the URL slug that links to the store page - - @Column({ nullable: true }) - cover_image?: string; // the application's default rich presence invite cover image hash - - @Column() - flags: string; // the application's public flags -} + } export interface ApplicationCommand { id: string; diff --git a/util/src/entities/User.ts b/util/src/entities/User.ts index 7e3c7457..a9f00b0d 100644 --- a/util/src/entities/User.ts +++ b/util/src/entities/User.ts @@ -194,7 +194,7 @@ export class User extends BaseClass { }); } - private static async generateDiscriminator(username: string): Promise { + public static async generateDiscriminator(username: string): Promise { if (Config.get().register.incrementingDiscriminators) { // discriminator will be incrementally generated diff --git a/util/src/interfaces/Event.ts b/util/src/interfaces/Event.ts index 416082ed..f3391c4f 100644 --- a/util/src/interfaces/Event.ts +++ b/util/src/interfaces/Event.ts @@ -93,7 +93,7 @@ export interface ReadyEventData { }; application?: { id: string; - flags: string; + flags: number; }; merged_members?: PublicMember[][]; // probably all users who the user is in contact with diff --git a/util/src/migrations/sqlite/1660110227241-modern_apps.ts b/util/src/migrations/sqlite/1660110227241-modern_apps.ts new file mode 100644 index 00000000..34c0b4b2 --- /dev/null +++ b/util/src/migrations/sqlite/1660110227241-modern_apps.ts @@ -0,0 +1,623 @@ +import { MigrationInterface, QueryRunner } from "typeorm"; + +export class modernApps1660110227241 implements MigrationInterface { + name = 'modernApps1660110227241' + + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query(` + CREATE TABLE "temporary_applications" ( + "id" varchar PRIMARY KEY NOT NULL, + "name" varchar NOT NULL, + "icon" varchar, + "description" varchar NOT NULL, + "rpc_origins" text, + "bot_public" boolean NOT NULL, + "bot_require_code_grant" boolean NOT NULL, + "terms_of_service_url" varchar, + "privacy_policy_url" varchar, + "summary" varchar, + "verify_key" varchar NOT NULL, + "primary_sku_id" varchar, + "slug" varchar, + "cover_image" varchar, + "flags" varchar NOT NULL, + "owner_id" varchar, + "team_id" varchar, + "guild_id" varchar, + CONSTRAINT "FK_a36ed02953077f408d0f3ebc424" FOREIGN KEY ("team_id") REFERENCES "teams" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, + CONSTRAINT "FK_e57508958bf92b9d9d25231b5e8" FOREIGN KEY ("owner_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION + ) + `); + await queryRunner.query(` + INSERT INTO "temporary_applications"( + "id", + "name", + "icon", + "description", + "rpc_origins", + "bot_public", + "bot_require_code_grant", + "terms_of_service_url", + "privacy_policy_url", + "summary", + "verify_key", + "primary_sku_id", + "slug", + "cover_image", + "flags", + "owner_id", + "team_id", + "guild_id" + ) + SELECT "id", + "name", + "icon", + "description", + "rpc_origins", + "bot_public", + "bot_require_code_grant", + "terms_of_service_url", + "privacy_policy_url", + "summary", + "verify_key", + "primary_sku_id", + "slug", + "cover_image", + "flags", + "owner_id", + "team_id", + "guild_id" + FROM "applications" + `); + await queryRunner.query(` + DROP TABLE "applications" + `); + await queryRunner.query(` + ALTER TABLE "temporary_applications" + RENAME TO "applications" + `); + await queryRunner.query(` + CREATE TABLE "temporary_applications" ( + "id" varchar PRIMARY KEY NOT NULL, + "name" varchar NOT NULL, + "icon" varchar, + "description" varchar NOT NULL, + "bot_public" boolean NOT NULL, + "bot_require_code_grant" boolean NOT NULL, + "terms_of_service_url" varchar, + "privacy_policy_url" varchar, + "summary" varchar, + "verify_key" varchar NOT NULL, + "cover_image" varchar, + "flags" varchar NOT NULL, + "owner_id" varchar, + "team_id" varchar, + CONSTRAINT "FK_a36ed02953077f408d0f3ebc424" FOREIGN KEY ("team_id") REFERENCES "teams" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, + CONSTRAINT "FK_e57508958bf92b9d9d25231b5e8" FOREIGN KEY ("owner_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION + ) + `); + await queryRunner.query(` + INSERT INTO "temporary_applications"( + "id", + "name", + "icon", + "description", + "bot_public", + "bot_require_code_grant", + "terms_of_service_url", + "privacy_policy_url", + "summary", + "verify_key", + "cover_image", + "flags", + "owner_id", + "team_id" + ) + SELECT "id", + "name", + "icon", + "description", + "bot_public", + "bot_require_code_grant", + "terms_of_service_url", + "privacy_policy_url", + "summary", + "verify_key", + "cover_image", + "flags", + "owner_id", + "team_id" + FROM "applications" + `); + await queryRunner.query(` + DROP TABLE "applications" + `); + await queryRunner.query(` + ALTER TABLE "temporary_applications" + RENAME TO "applications" + `); + await queryRunner.query(` + CREATE TABLE "temporary_applications" ( + "id" varchar PRIMARY KEY NOT NULL, + "name" varchar NOT NULL, + "icon" varchar, + "description" varchar NOT NULL, + "bot_public" boolean NOT NULL, + "bot_require_code_grant" boolean NOT NULL, + "terms_of_service_url" varchar, + "privacy_policy_url" varchar, + "summary" varchar, + "verify_key" varchar NOT NULL, + "cover_image" varchar, + "flags" varchar NOT NULL, + "owner_id" varchar, + "team_id" varchar, + "type" text NOT NULL, + "hook" boolean NOT NULL, + "redirect_uris" text NOT NULL, + "rpc_application_state" integer NOT NULL, + "store_application_state" integer NOT NULL, + "verification_state" integer NOT NULL, + "interactions_endpoint_url" varchar NOT NULL, + "integration_public" boolean NOT NULL, + "integration_require_code_grant" boolean NOT NULL, + "discoverability_state" integer NOT NULL, + "discovery_eligibility_flags" integer NOT NULL, + "tags" text NOT NULL, + "install_params" text NOT NULL, + "bot_user_id" varchar, + CONSTRAINT "UQ_b7f6e13565e920916d902e1f431" UNIQUE ("bot_user_id"), + CONSTRAINT "FK_a36ed02953077f408d0f3ebc424" FOREIGN KEY ("team_id") REFERENCES "teams" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, + CONSTRAINT "FK_e57508958bf92b9d9d25231b5e8" FOREIGN KEY ("owner_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION + ) + `); + await queryRunner.query(` + INSERT INTO "temporary_applications"( + "id", + "name", + "icon", + "description", + "bot_public", + "bot_require_code_grant", + "terms_of_service_url", + "privacy_policy_url", + "summary", + "verify_key", + "cover_image", + "flags", + "owner_id", + "team_id" + ) + SELECT "id", + "name", + "icon", + "description", + "bot_public", + "bot_require_code_grant", + "terms_of_service_url", + "privacy_policy_url", + "summary", + "verify_key", + "cover_image", + "flags", + "owner_id", + "team_id" + FROM "applications" + `); + await queryRunner.query(` + DROP TABLE "applications" + `); + await queryRunner.query(` + ALTER TABLE "temporary_applications" + RENAME TO "applications" + `); + await queryRunner.query(` + CREATE TABLE "temporary_applications" ( + "id" varchar PRIMARY KEY NOT NULL, + "name" varchar NOT NULL, + "icon" varchar, + "description" varchar NOT NULL, + "bot_public" boolean NOT NULL, + "bot_require_code_grant" boolean NOT NULL, + "terms_of_service_url" varchar, + "privacy_policy_url" varchar, + "summary" varchar, + "verify_key" varchar NOT NULL, + "cover_image" varchar, + "flags" varchar NOT NULL, + "owner_id" varchar, + "team_id" varchar, + "type" text NOT NULL, + "hook" boolean NOT NULL, + "redirect_uris" text NOT NULL, + "rpc_application_state" integer NOT NULL, + "store_application_state" integer NOT NULL, + "verification_state" integer NOT NULL, + "interactions_endpoint_url" varchar NOT NULL, + "integration_public" boolean NOT NULL, + "integration_require_code_grant" boolean NOT NULL, + "discoverability_state" integer NOT NULL, + "discovery_eligibility_flags" integer NOT NULL, + "tags" text NOT NULL, + "install_params" text NOT NULL, + "bot_user_id" varchar, + CONSTRAINT "UQ_b7f6e13565e920916d902e1f431" UNIQUE ("bot_user_id"), + CONSTRAINT "FK_a36ed02953077f408d0f3ebc424" FOREIGN KEY ("team_id") REFERENCES "teams" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, + CONSTRAINT "FK_e57508958bf92b9d9d25231b5e8" FOREIGN KEY ("owner_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION, + CONSTRAINT "FK_2ce5a55796fe4c2f77ece57a647" FOREIGN KEY ("bot_user_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION + ) + `); + await queryRunner.query(` + INSERT INTO "temporary_applications"( + "id", + "name", + "icon", + "description", + "bot_public", + "bot_require_code_grant", + "terms_of_service_url", + "privacy_policy_url", + "summary", + "verify_key", + "cover_image", + "flags", + "owner_id", + "team_id", + "type", + "hook", + "redirect_uris", + "rpc_application_state", + "store_application_state", + "verification_state", + "interactions_endpoint_url", + "integration_public", + "integration_require_code_grant", + "discoverability_state", + "discovery_eligibility_flags", + "tags", + "install_params", + "bot_user_id" + ) + SELECT "id", + "name", + "icon", + "description", + "bot_public", + "bot_require_code_grant", + "terms_of_service_url", + "privacy_policy_url", + "summary", + "verify_key", + "cover_image", + "flags", + "owner_id", + "team_id", + "type", + "hook", + "redirect_uris", + "rpc_application_state", + "store_application_state", + "verification_state", + "interactions_endpoint_url", + "integration_public", + "integration_require_code_grant", + "discoverability_state", + "discovery_eligibility_flags", + "tags", + "install_params", + "bot_user_id" + FROM "applications" + `); + await queryRunner.query(` + DROP TABLE "applications" + `); + await queryRunner.query(` + ALTER TABLE "temporary_applications" + RENAME TO "applications" + `); + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query(` + ALTER TABLE "applications" + RENAME TO "temporary_applications" + `); + await queryRunner.query(` + CREATE TABLE "applications" ( + "id" varchar PRIMARY KEY NOT NULL, + "name" varchar NOT NULL, + "icon" varchar, + "description" varchar NOT NULL, + "bot_public" boolean NOT NULL, + "bot_require_code_grant" boolean NOT NULL, + "terms_of_service_url" varchar, + "privacy_policy_url" varchar, + "summary" varchar, + "verify_key" varchar NOT NULL, + "cover_image" varchar, + "flags" varchar NOT NULL, + "owner_id" varchar, + "team_id" varchar, + "type" text NOT NULL, + "hook" boolean NOT NULL, + "redirect_uris" text NOT NULL, + "rpc_application_state" integer NOT NULL, + "store_application_state" integer NOT NULL, + "verification_state" integer NOT NULL, + "interactions_endpoint_url" varchar NOT NULL, + "integration_public" boolean NOT NULL, + "integration_require_code_grant" boolean NOT NULL, + "discoverability_state" integer NOT NULL, + "discovery_eligibility_flags" integer NOT NULL, + "tags" text NOT NULL, + "install_params" text NOT NULL, + "bot_user_id" varchar, + CONSTRAINT "UQ_b7f6e13565e920916d902e1f431" UNIQUE ("bot_user_id"), + CONSTRAINT "FK_a36ed02953077f408d0f3ebc424" FOREIGN KEY ("team_id") REFERENCES "teams" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, + CONSTRAINT "FK_e57508958bf92b9d9d25231b5e8" FOREIGN KEY ("owner_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION + ) + `); + await queryRunner.query(` + INSERT INTO "applications"( + "id", + "name", + "icon", + "description", + "bot_public", + "bot_require_code_grant", + "terms_of_service_url", + "privacy_policy_url", + "summary", + "verify_key", + "cover_image", + "flags", + "owner_id", + "team_id", + "type", + "hook", + "redirect_uris", + "rpc_application_state", + "store_application_state", + "verification_state", + "interactions_endpoint_url", + "integration_public", + "integration_require_code_grant", + "discoverability_state", + "discovery_eligibility_flags", + "tags", + "install_params", + "bot_user_id" + ) + SELECT "id", + "name", + "icon", + "description", + "bot_public", + "bot_require_code_grant", + "terms_of_service_url", + "privacy_policy_url", + "summary", + "verify_key", + "cover_image", + "flags", + "owner_id", + "team_id", + "type", + "hook", + "redirect_uris", + "rpc_application_state", + "store_application_state", + "verification_state", + "interactions_endpoint_url", + "integration_public", + "integration_require_code_grant", + "discoverability_state", + "discovery_eligibility_flags", + "tags", + "install_params", + "bot_user_id" + FROM "temporary_applications" + `); + await queryRunner.query(` + DROP TABLE "temporary_applications" + `); + await queryRunner.query(` + ALTER TABLE "applications" + RENAME TO "temporary_applications" + `); + await queryRunner.query(` + CREATE TABLE "applications" ( + "id" varchar PRIMARY KEY NOT NULL, + "name" varchar NOT NULL, + "icon" varchar, + "description" varchar NOT NULL, + "bot_public" boolean NOT NULL, + "bot_require_code_grant" boolean NOT NULL, + "terms_of_service_url" varchar, + "privacy_policy_url" varchar, + "summary" varchar, + "verify_key" varchar NOT NULL, + "cover_image" varchar, + "flags" varchar NOT NULL, + "owner_id" varchar, + "team_id" varchar, + CONSTRAINT "FK_a36ed02953077f408d0f3ebc424" FOREIGN KEY ("team_id") REFERENCES "teams" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, + CONSTRAINT "FK_e57508958bf92b9d9d25231b5e8" FOREIGN KEY ("owner_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION + ) + `); + await queryRunner.query(` + INSERT INTO "applications"( + "id", + "name", + "icon", + "description", + "bot_public", + "bot_require_code_grant", + "terms_of_service_url", + "privacy_policy_url", + "summary", + "verify_key", + "cover_image", + "flags", + "owner_id", + "team_id" + ) + SELECT "id", + "name", + "icon", + "description", + "bot_public", + "bot_require_code_grant", + "terms_of_service_url", + "privacy_policy_url", + "summary", + "verify_key", + "cover_image", + "flags", + "owner_id", + "team_id" + FROM "temporary_applications" + `); + await queryRunner.query(` + DROP TABLE "temporary_applications" + `); + await queryRunner.query(` + ALTER TABLE "applications" + RENAME TO "temporary_applications" + `); + await queryRunner.query(` + CREATE TABLE "applications" ( + "id" varchar PRIMARY KEY NOT NULL, + "name" varchar NOT NULL, + "icon" varchar, + "description" varchar NOT NULL, + "rpc_origins" text, + "bot_public" boolean NOT NULL, + "bot_require_code_grant" boolean NOT NULL, + "terms_of_service_url" varchar, + "privacy_policy_url" varchar, + "summary" varchar, + "verify_key" varchar NOT NULL, + "primary_sku_id" varchar, + "slug" varchar, + "cover_image" varchar, + "flags" varchar NOT NULL, + "owner_id" varchar, + "team_id" varchar, + "guild_id" varchar, + CONSTRAINT "FK_a36ed02953077f408d0f3ebc424" FOREIGN KEY ("team_id") REFERENCES "teams" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, + CONSTRAINT "FK_e57508958bf92b9d9d25231b5e8" FOREIGN KEY ("owner_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION + ) + `); + await queryRunner.query(` + INSERT INTO "applications"( + "id", + "name", + "icon", + "description", + "bot_public", + "bot_require_code_grant", + "terms_of_service_url", + "privacy_policy_url", + "summary", + "verify_key", + "cover_image", + "flags", + "owner_id", + "team_id" + ) + SELECT "id", + "name", + "icon", + "description", + "bot_public", + "bot_require_code_grant", + "terms_of_service_url", + "privacy_policy_url", + "summary", + "verify_key", + "cover_image", + "flags", + "owner_id", + "team_id" + FROM "temporary_applications" + `); + await queryRunner.query(` + DROP TABLE "temporary_applications" + `); + await queryRunner.query(` + ALTER TABLE "applications" + RENAME TO "temporary_applications" + `); + await queryRunner.query(` + CREATE TABLE "applications" ( + "id" varchar PRIMARY KEY NOT NULL, + "name" varchar NOT NULL, + "icon" varchar, + "description" varchar NOT NULL, + "rpc_origins" text, + "bot_public" boolean NOT NULL, + "bot_require_code_grant" boolean NOT NULL, + "terms_of_service_url" varchar, + "privacy_policy_url" varchar, + "summary" varchar, + "verify_key" varchar NOT NULL, + "primary_sku_id" varchar, + "slug" varchar, + "cover_image" varchar, + "flags" varchar NOT NULL, + "owner_id" varchar, + "team_id" varchar, + "guild_id" varchar, + CONSTRAINT "FK_e5bf78cdbbe9ba91062d74c5aba" FOREIGN KEY ("guild_id") REFERENCES "guilds" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION, + CONSTRAINT "FK_a36ed02953077f408d0f3ebc424" FOREIGN KEY ("team_id") REFERENCES "teams" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, + CONSTRAINT "FK_e57508958bf92b9d9d25231b5e8" FOREIGN KEY ("owner_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION + ) + `); + await queryRunner.query(` + INSERT INTO "applications"( + "id", + "name", + "icon", + "description", + "rpc_origins", + "bot_public", + "bot_require_code_grant", + "terms_of_service_url", + "privacy_policy_url", + "summary", + "verify_key", + "primary_sku_id", + "slug", + "cover_image", + "flags", + "owner_id", + "team_id", + "guild_id" + ) + SELECT "id", + "name", + "icon", + "description", + "rpc_origins", + "bot_public", + "bot_require_code_grant", + "terms_of_service_url", + "privacy_policy_url", + "summary", + "verify_key", + "primary_sku_id", + "slug", + "cover_image", + "flags", + "owner_id", + "team_id", + "guild_id" + FROM "temporary_applications" + `); + await queryRunner.query(` + DROP TABLE "temporary_applications" + `); + } + +} diff --git a/util/src/migrations/sqlite/1660110592990-apps2.ts b/util/src/migrations/sqlite/1660110592990-apps2.ts new file mode 100644 index 00000000..06f5885d --- /dev/null +++ b/util/src/migrations/sqlite/1660110592990-apps2.ts @@ -0,0 +1,220 @@ +import { MigrationInterface, QueryRunner } from "typeorm"; + +export class apps21660110592990 implements MigrationInterface { + name = 'apps21660110592990' + + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query(` + CREATE TABLE "temporary_applications" ( + "id" varchar PRIMARY KEY NOT NULL, + "name" varchar NOT NULL, + "icon" varchar, + "description" varchar, + "bot_public" boolean NOT NULL, + "bot_require_code_grant" boolean NOT NULL, + "terms_of_service_url" varchar, + "privacy_policy_url" varchar, + "summary" varchar, + "verify_key" varchar NOT NULL, + "cover_image" varchar, + "flags" varchar NOT NULL, + "owner_id" varchar, + "team_id" varchar, + "type" text, + "hook" boolean NOT NULL, + "redirect_uris" text, + "rpc_application_state" integer, + "store_application_state" integer, + "verification_state" integer, + "interactions_endpoint_url" varchar, + "integration_public" boolean, + "integration_require_code_grant" boolean, + "discoverability_state" integer, + "discovery_eligibility_flags" integer, + "tags" text, + "install_params" text NOT NULL, + "bot_user_id" varchar, + CONSTRAINT "UQ_b7f6e13565e920916d902e1f431" UNIQUE ("bot_user_id"), + CONSTRAINT "FK_2ce5a55796fe4c2f77ece57a647" FOREIGN KEY ("bot_user_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION, + CONSTRAINT "FK_e57508958bf92b9d9d25231b5e8" FOREIGN KEY ("owner_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION, + CONSTRAINT "FK_a36ed02953077f408d0f3ebc424" FOREIGN KEY ("team_id") REFERENCES "teams" ("id") ON DELETE CASCADE ON UPDATE NO ACTION + ) + `); + await queryRunner.query(` + INSERT INTO "temporary_applications"( + "id", + "name", + "icon", + "description", + "bot_public", + "bot_require_code_grant", + "terms_of_service_url", + "privacy_policy_url", + "summary", + "verify_key", + "cover_image", + "flags", + "owner_id", + "team_id", + "type", + "hook", + "redirect_uris", + "rpc_application_state", + "store_application_state", + "verification_state", + "interactions_endpoint_url", + "integration_public", + "integration_require_code_grant", + "discoverability_state", + "discovery_eligibility_flags", + "tags", + "install_params", + "bot_user_id" + ) + SELECT "id", + "name", + "icon", + "description", + "bot_public", + "bot_require_code_grant", + "terms_of_service_url", + "privacy_policy_url", + "summary", + "verify_key", + "cover_image", + "flags", + "owner_id", + "team_id", + "type", + "hook", + "redirect_uris", + "rpc_application_state", + "store_application_state", + "verification_state", + "interactions_endpoint_url", + "integration_public", + "integration_require_code_grant", + "discoverability_state", + "discovery_eligibility_flags", + "tags", + "install_params", + "bot_user_id" + FROM "applications" + `); + await queryRunner.query(` + DROP TABLE "applications" + `); + await queryRunner.query(` + ALTER TABLE "temporary_applications" + RENAME TO "applications" + `); + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query(` + ALTER TABLE "applications" + RENAME TO "temporary_applications" + `); + await queryRunner.query(` + CREATE TABLE "applications" ( + "id" varchar PRIMARY KEY NOT NULL, + "name" varchar NOT NULL, + "icon" varchar, + "description" varchar NOT NULL, + "bot_public" boolean NOT NULL, + "bot_require_code_grant" boolean NOT NULL, + "terms_of_service_url" varchar, + "privacy_policy_url" varchar, + "summary" varchar, + "verify_key" varchar NOT NULL, + "cover_image" varchar, + "flags" varchar NOT NULL, + "owner_id" varchar, + "team_id" varchar, + "type" text NOT NULL, + "hook" boolean NOT NULL, + "redirect_uris" text NOT NULL, + "rpc_application_state" integer NOT NULL, + "store_application_state" integer NOT NULL, + "verification_state" integer NOT NULL, + "interactions_endpoint_url" varchar NOT NULL, + "integration_public" boolean NOT NULL, + "integration_require_code_grant" boolean NOT NULL, + "discoverability_state" integer NOT NULL, + "discovery_eligibility_flags" integer NOT NULL, + "tags" text NOT NULL, + "install_params" text NOT NULL, + "bot_user_id" varchar, + CONSTRAINT "UQ_b7f6e13565e920916d902e1f431" UNIQUE ("bot_user_id"), + CONSTRAINT "FK_2ce5a55796fe4c2f77ece57a647" FOREIGN KEY ("bot_user_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION, + CONSTRAINT "FK_e57508958bf92b9d9d25231b5e8" FOREIGN KEY ("owner_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION, + CONSTRAINT "FK_a36ed02953077f408d0f3ebc424" FOREIGN KEY ("team_id") REFERENCES "teams" ("id") ON DELETE CASCADE ON UPDATE NO ACTION + ) + `); + await queryRunner.query(` + INSERT INTO "applications"( + "id", + "name", + "icon", + "description", + "bot_public", + "bot_require_code_grant", + "terms_of_service_url", + "privacy_policy_url", + "summary", + "verify_key", + "cover_image", + "flags", + "owner_id", + "team_id", + "type", + "hook", + "redirect_uris", + "rpc_application_state", + "store_application_state", + "verification_state", + "interactions_endpoint_url", + "integration_public", + "integration_require_code_grant", + "discoverability_state", + "discovery_eligibility_flags", + "tags", + "install_params", + "bot_user_id" + ) + SELECT "id", + "name", + "icon", + "description", + "bot_public", + "bot_require_code_grant", + "terms_of_service_url", + "privacy_policy_url", + "summary", + "verify_key", + "cover_image", + "flags", + "owner_id", + "team_id", + "type", + "hook", + "redirect_uris", + "rpc_application_state", + "store_application_state", + "verification_state", + "interactions_endpoint_url", + "integration_public", + "integration_require_code_grant", + "discoverability_state", + "discovery_eligibility_flags", + "tags", + "install_params", + "bot_user_id" + FROM "temporary_applications" + `); + await queryRunner.query(` + DROP TABLE "temporary_applications" + `); + } + +} diff --git a/util/src/migrations/sqlite/1660110798713-yes.ts b/util/src/migrations/sqlite/1660110798713-yes.ts new file mode 100644 index 00000000..38c6c628 --- /dev/null +++ b/util/src/migrations/sqlite/1660110798713-yes.ts @@ -0,0 +1,428 @@ +import { MigrationInterface, QueryRunner } from "typeorm"; + +export class yes1660110798713 implements MigrationInterface { + name = 'yes1660110798713' + + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query(` + CREATE TABLE "temporary_applications" ( + "id" varchar PRIMARY KEY NOT NULL, + "name" varchar NOT NULL, + "icon" varchar, + "description" varchar, + "bot_public" boolean NOT NULL, + "bot_require_code_grant" boolean NOT NULL, + "terms_of_service_url" varchar, + "privacy_policy_url" varchar, + "summary" varchar, + "verify_key" varchar NOT NULL, + "cover_image" varchar, + "flags" varchar NOT NULL, + "owner_id" varchar, + "team_id" varchar, + "type" text, + "hook" boolean NOT NULL, + "redirect_uris" text, + "rpc_application_state" integer, + "store_application_state" integer, + "verification_state" integer, + "interactions_endpoint_url" varchar, + "integration_public" boolean, + "integration_require_code_grant" boolean, + "discoverability_state" integer, + "discovery_eligibility_flags" integer, + "tags" text, + "install_params" text NOT NULL, + "bot_user_id" varchar, + CONSTRAINT "UQ_b7f6e13565e920916d902e1f431" UNIQUE ("bot_user_id"), + CONSTRAINT "FK_a36ed02953077f408d0f3ebc424" FOREIGN KEY ("team_id") REFERENCES "teams" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, + CONSTRAINT "FK_e57508958bf92b9d9d25231b5e8" FOREIGN KEY ("owner_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION, + CONSTRAINT "FK_2ce5a55796fe4c2f77ece57a647" FOREIGN KEY ("bot_user_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION + ) + `); + await queryRunner.query(` + INSERT INTO "temporary_applications"( + "id", + "name", + "icon", + "description", + "bot_public", + "bot_require_code_grant", + "terms_of_service_url", + "privacy_policy_url", + "summary", + "verify_key", + "cover_image", + "flags", + "owner_id", + "team_id", + "type", + "hook", + "redirect_uris", + "rpc_application_state", + "store_application_state", + "verification_state", + "interactions_endpoint_url", + "integration_public", + "integration_require_code_grant", + "discoverability_state", + "discovery_eligibility_flags", + "tags", + "install_params", + "bot_user_id" + ) + SELECT "id", + "name", + "icon", + "description", + "bot_public", + "bot_require_code_grant", + "terms_of_service_url", + "privacy_policy_url", + "summary", + "verify_key", + "cover_image", + "flags", + "owner_id", + "team_id", + "type", + "hook", + "redirect_uris", + "rpc_application_state", + "store_application_state", + "verification_state", + "interactions_endpoint_url", + "integration_public", + "integration_require_code_grant", + "discoverability_state", + "discovery_eligibility_flags", + "tags", + "install_params", + "bot_user_id" + FROM "applications" + `); + await queryRunner.query(` + DROP TABLE "applications" + `); + await queryRunner.query(` + ALTER TABLE "temporary_applications" + RENAME TO "applications" + `); + await queryRunner.query(` + CREATE TABLE "temporary_applications" ( + "id" varchar PRIMARY KEY NOT NULL, + "name" varchar NOT NULL, + "icon" varchar, + "description" varchar, + "bot_public" boolean NOT NULL, + "bot_require_code_grant" boolean NOT NULL, + "terms_of_service_url" varchar, + "privacy_policy_url" varchar, + "summary" varchar, + "verify_key" varchar NOT NULL, + "cover_image" varchar, + "flags" varchar NOT NULL, + "owner_id" varchar, + "team_id" varchar, + "type" text, + "hook" boolean NOT NULL, + "redirect_uris" text, + "rpc_application_state" integer, + "store_application_state" integer, + "verification_state" integer, + "interactions_endpoint_url" varchar, + "integration_public" boolean, + "integration_require_code_grant" boolean, + "discoverability_state" integer, + "discovery_eligibility_flags" integer, + "tags" text, + "install_params" text, + "bot_user_id" varchar, + CONSTRAINT "UQ_b7f6e13565e920916d902e1f431" UNIQUE ("bot_user_id"), + CONSTRAINT "FK_a36ed02953077f408d0f3ebc424" FOREIGN KEY ("team_id") REFERENCES "teams" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, + CONSTRAINT "FK_e57508958bf92b9d9d25231b5e8" FOREIGN KEY ("owner_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION, + CONSTRAINT "FK_2ce5a55796fe4c2f77ece57a647" FOREIGN KEY ("bot_user_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION + ) + `); + await queryRunner.query(` + INSERT INTO "temporary_applications"( + "id", + "name", + "icon", + "description", + "bot_public", + "bot_require_code_grant", + "terms_of_service_url", + "privacy_policy_url", + "summary", + "verify_key", + "cover_image", + "flags", + "owner_id", + "team_id", + "type", + "hook", + "redirect_uris", + "rpc_application_state", + "store_application_state", + "verification_state", + "interactions_endpoint_url", + "integration_public", + "integration_require_code_grant", + "discoverability_state", + "discovery_eligibility_flags", + "tags", + "install_params", + "bot_user_id" + ) + SELECT "id", + "name", + "icon", + "description", + "bot_public", + "bot_require_code_grant", + "terms_of_service_url", + "privacy_policy_url", + "summary", + "verify_key", + "cover_image", + "flags", + "owner_id", + "team_id", + "type", + "hook", + "redirect_uris", + "rpc_application_state", + "store_application_state", + "verification_state", + "interactions_endpoint_url", + "integration_public", + "integration_require_code_grant", + "discoverability_state", + "discovery_eligibility_flags", + "tags", + "install_params", + "bot_user_id" + FROM "applications" + `); + await queryRunner.query(` + DROP TABLE "applications" + `); + await queryRunner.query(` + ALTER TABLE "temporary_applications" + RENAME TO "applications" + `); + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query(` + ALTER TABLE "applications" + RENAME TO "temporary_applications" + `); + await queryRunner.query(` + CREATE TABLE "applications" ( + "id" varchar PRIMARY KEY NOT NULL, + "name" varchar NOT NULL, + "icon" varchar, + "description" varchar, + "bot_public" boolean NOT NULL, + "bot_require_code_grant" boolean NOT NULL, + "terms_of_service_url" varchar, + "privacy_policy_url" varchar, + "summary" varchar, + "verify_key" varchar NOT NULL, + "cover_image" varchar, + "flags" varchar NOT NULL, + "owner_id" varchar, + "team_id" varchar, + "type" text, + "hook" boolean NOT NULL, + "redirect_uris" text, + "rpc_application_state" integer, + "store_application_state" integer, + "verification_state" integer, + "interactions_endpoint_url" varchar, + "integration_public" boolean, + "integration_require_code_grant" boolean, + "discoverability_state" integer, + "discovery_eligibility_flags" integer, + "tags" text, + "install_params" text NOT NULL, + "bot_user_id" varchar, + CONSTRAINT "UQ_b7f6e13565e920916d902e1f431" UNIQUE ("bot_user_id"), + CONSTRAINT "FK_a36ed02953077f408d0f3ebc424" FOREIGN KEY ("team_id") REFERENCES "teams" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, + CONSTRAINT "FK_e57508958bf92b9d9d25231b5e8" FOREIGN KEY ("owner_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION, + CONSTRAINT "FK_2ce5a55796fe4c2f77ece57a647" FOREIGN KEY ("bot_user_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION + ) + `); + await queryRunner.query(` + INSERT INTO "applications"( + "id", + "name", + "icon", + "description", + "bot_public", + "bot_require_code_grant", + "terms_of_service_url", + "privacy_policy_url", + "summary", + "verify_key", + "cover_image", + "flags", + "owner_id", + "team_id", + "type", + "hook", + "redirect_uris", + "rpc_application_state", + "store_application_state", + "verification_state", + "interactions_endpoint_url", + "integration_public", + "integration_require_code_grant", + "discoverability_state", + "discovery_eligibility_flags", + "tags", + "install_params", + "bot_user_id" + ) + SELECT "id", + "name", + "icon", + "description", + "bot_public", + "bot_require_code_grant", + "terms_of_service_url", + "privacy_policy_url", + "summary", + "verify_key", + "cover_image", + "flags", + "owner_id", + "team_id", + "type", + "hook", + "redirect_uris", + "rpc_application_state", + "store_application_state", + "verification_state", + "interactions_endpoint_url", + "integration_public", + "integration_require_code_grant", + "discoverability_state", + "discovery_eligibility_flags", + "tags", + "install_params", + "bot_user_id" + FROM "temporary_applications" + `); + await queryRunner.query(` + DROP TABLE "temporary_applications" + `); + await queryRunner.query(` + ALTER TABLE "applications" + RENAME TO "temporary_applications" + `); + await queryRunner.query(` + CREATE TABLE "applications" ( + "id" varchar PRIMARY KEY NOT NULL, + "name" varchar NOT NULL, + "icon" varchar, + "description" varchar, + "bot_public" boolean NOT NULL, + "bot_require_code_grant" boolean NOT NULL, + "terms_of_service_url" varchar, + "privacy_policy_url" varchar, + "summary" varchar, + "verify_key" varchar NOT NULL, + "cover_image" varchar, + "flags" varchar NOT NULL, + "owner_id" varchar, + "team_id" varchar, + "type" text, + "hook" boolean NOT NULL, + "redirect_uris" text, + "rpc_application_state" integer, + "store_application_state" integer, + "verification_state" integer, + "interactions_endpoint_url" varchar, + "integration_public" boolean, + "integration_require_code_grant" boolean, + "discoverability_state" integer, + "discovery_eligibility_flags" integer, + "tags" text, + "install_params" text NOT NULL, + "bot_user_id" varchar, + CONSTRAINT "UQ_b7f6e13565e920916d902e1f431" UNIQUE ("bot_user_id"), + CONSTRAINT "FK_a36ed02953077f408d0f3ebc424" FOREIGN KEY ("team_id") REFERENCES "teams" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, + CONSTRAINT "FK_e57508958bf92b9d9d25231b5e8" FOREIGN KEY ("owner_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION, + CONSTRAINT "FK_2ce5a55796fe4c2f77ece57a647" FOREIGN KEY ("bot_user_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION + ) + `); + await queryRunner.query(` + INSERT INTO "applications"( + "id", + "name", + "icon", + "description", + "bot_public", + "bot_require_code_grant", + "terms_of_service_url", + "privacy_policy_url", + "summary", + "verify_key", + "cover_image", + "flags", + "owner_id", + "team_id", + "type", + "hook", + "redirect_uris", + "rpc_application_state", + "store_application_state", + "verification_state", + "interactions_endpoint_url", + "integration_public", + "integration_require_code_grant", + "discoverability_state", + "discovery_eligibility_flags", + "tags", + "install_params", + "bot_user_id" + ) + SELECT "id", + "name", + "icon", + "description", + "bot_public", + "bot_require_code_grant", + "terms_of_service_url", + "privacy_policy_url", + "summary", + "verify_key", + "cover_image", + "flags", + "owner_id", + "team_id", + "type", + "hook", + "redirect_uris", + "rpc_application_state", + "store_application_state", + "verification_state", + "interactions_endpoint_url", + "integration_public", + "integration_require_code_grant", + "discoverability_state", + "discovery_eligibility_flags", + "tags", + "install_params", + "bot_user_id" + FROM "temporary_applications" + `); + await queryRunner.query(` + DROP TABLE "temporary_applications" + `); + } + +} diff --git a/util/src/migrations/sqlite/1660112323115-defaults_apps.ts b/util/src/migrations/sqlite/1660112323115-defaults_apps.ts new file mode 100644 index 00000000..70e300c0 --- /dev/null +++ b/util/src/migrations/sqlite/1660112323115-defaults_apps.ts @@ -0,0 +1,428 @@ +import { MigrationInterface, QueryRunner } from "typeorm"; + +export class defaultsApps1660112323115 implements MigrationInterface { + name = 'defaultsApps1660112323115' + + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query(` + CREATE TABLE "temporary_applications" ( + "id" varchar PRIMARY KEY NOT NULL, + "name" varchar NOT NULL, + "icon" varchar, + "description" varchar, + "bot_public" boolean NOT NULL, + "bot_require_code_grant" boolean NOT NULL, + "terms_of_service_url" varchar, + "privacy_policy_url" varchar, + "summary" varchar, + "verify_key" varchar NOT NULL, + "cover_image" varchar, + "flags" varchar NOT NULL, + "owner_id" varchar, + "team_id" varchar, + "type" text, + "hook" boolean NOT NULL, + "redirect_uris" text, + "rpc_application_state" integer, + "store_application_state" integer, + "verification_state" integer, + "interactions_endpoint_url" varchar, + "integration_public" boolean, + "integration_require_code_grant" boolean, + "discoverability_state" integer, + "discovery_eligibility_flags" integer, + "tags" text, + "install_params" text, + "bot_user_id" varchar, + CONSTRAINT "UQ_b7f6e13565e920916d902e1f431" UNIQUE ("bot_user_id"), + CONSTRAINT "FK_2ce5a55796fe4c2f77ece57a647" FOREIGN KEY ("bot_user_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION, + CONSTRAINT "FK_e57508958bf92b9d9d25231b5e8" FOREIGN KEY ("owner_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION, + CONSTRAINT "FK_a36ed02953077f408d0f3ebc424" FOREIGN KEY ("team_id") REFERENCES "teams" ("id") ON DELETE CASCADE ON UPDATE NO ACTION + ) + `); + await queryRunner.query(` + INSERT INTO "temporary_applications"( + "id", + "name", + "icon", + "description", + "bot_public", + "bot_require_code_grant", + "terms_of_service_url", + "privacy_policy_url", + "summary", + "verify_key", + "cover_image", + "flags", + "owner_id", + "team_id", + "type", + "hook", + "redirect_uris", + "rpc_application_state", + "store_application_state", + "verification_state", + "interactions_endpoint_url", + "integration_public", + "integration_require_code_grant", + "discoverability_state", + "discovery_eligibility_flags", + "tags", + "install_params", + "bot_user_id" + ) + SELECT "id", + "name", + "icon", + "description", + "bot_public", + "bot_require_code_grant", + "terms_of_service_url", + "privacy_policy_url", + "summary", + "verify_key", + "cover_image", + "flags", + "owner_id", + "team_id", + "type", + "hook", + "redirect_uris", + "rpc_application_state", + "store_application_state", + "verification_state", + "interactions_endpoint_url", + "integration_public", + "integration_require_code_grant", + "discoverability_state", + "discovery_eligibility_flags", + "tags", + "install_params", + "bot_user_id" + FROM "applications" + `); + await queryRunner.query(` + DROP TABLE "applications" + `); + await queryRunner.query(` + ALTER TABLE "temporary_applications" + RENAME TO "applications" + `); + await queryRunner.query(` + CREATE TABLE "temporary_applications" ( + "id" varchar PRIMARY KEY NOT NULL, + "name" varchar NOT NULL, + "icon" varchar, + "description" varchar, + "bot_public" boolean NOT NULL, + "bot_require_code_grant" boolean NOT NULL, + "terms_of_service_url" varchar, + "privacy_policy_url" varchar, + "summary" varchar, + "verify_key" varchar NOT NULL, + "cover_image" varchar, + "flags" integer NOT NULL, + "owner_id" varchar, + "team_id" varchar, + "type" text, + "hook" boolean NOT NULL, + "redirect_uris" text, + "rpc_application_state" integer, + "store_application_state" integer, + "verification_state" integer, + "interactions_endpoint_url" varchar, + "integration_public" boolean, + "integration_require_code_grant" boolean, + "discoverability_state" integer, + "discovery_eligibility_flags" integer, + "tags" text, + "install_params" text, + "bot_user_id" varchar, + CONSTRAINT "UQ_b7f6e13565e920916d902e1f431" UNIQUE ("bot_user_id"), + CONSTRAINT "FK_2ce5a55796fe4c2f77ece57a647" FOREIGN KEY ("bot_user_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION, + CONSTRAINT "FK_e57508958bf92b9d9d25231b5e8" FOREIGN KEY ("owner_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION, + CONSTRAINT "FK_a36ed02953077f408d0f3ebc424" FOREIGN KEY ("team_id") REFERENCES "teams" ("id") ON DELETE CASCADE ON UPDATE NO ACTION + ) + `); + await queryRunner.query(` + INSERT INTO "temporary_applications"( + "id", + "name", + "icon", + "description", + "bot_public", + "bot_require_code_grant", + "terms_of_service_url", + "privacy_policy_url", + "summary", + "verify_key", + "cover_image", + "flags", + "owner_id", + "team_id", + "type", + "hook", + "redirect_uris", + "rpc_application_state", + "store_application_state", + "verification_state", + "interactions_endpoint_url", + "integration_public", + "integration_require_code_grant", + "discoverability_state", + "discovery_eligibility_flags", + "tags", + "install_params", + "bot_user_id" + ) + SELECT "id", + "name", + "icon", + "description", + "bot_public", + "bot_require_code_grant", + "terms_of_service_url", + "privacy_policy_url", + "summary", + "verify_key", + "cover_image", + "flags", + "owner_id", + "team_id", + "type", + "hook", + "redirect_uris", + "rpc_application_state", + "store_application_state", + "verification_state", + "interactions_endpoint_url", + "integration_public", + "integration_require_code_grant", + "discoverability_state", + "discovery_eligibility_flags", + "tags", + "install_params", + "bot_user_id" + FROM "applications" + `); + await queryRunner.query(` + DROP TABLE "applications" + `); + await queryRunner.query(` + ALTER TABLE "temporary_applications" + RENAME TO "applications" + `); + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query(` + ALTER TABLE "applications" + RENAME TO "temporary_applications" + `); + await queryRunner.query(` + CREATE TABLE "applications" ( + "id" varchar PRIMARY KEY NOT NULL, + "name" varchar NOT NULL, + "icon" varchar, + "description" varchar, + "bot_public" boolean NOT NULL, + "bot_require_code_grant" boolean NOT NULL, + "terms_of_service_url" varchar, + "privacy_policy_url" varchar, + "summary" varchar, + "verify_key" varchar NOT NULL, + "cover_image" varchar, + "flags" varchar NOT NULL, + "owner_id" varchar, + "team_id" varchar, + "type" text, + "hook" boolean NOT NULL, + "redirect_uris" text, + "rpc_application_state" integer, + "store_application_state" integer, + "verification_state" integer, + "interactions_endpoint_url" varchar, + "integration_public" boolean, + "integration_require_code_grant" boolean, + "discoverability_state" integer, + "discovery_eligibility_flags" integer, + "tags" text, + "install_params" text, + "bot_user_id" varchar, + CONSTRAINT "UQ_b7f6e13565e920916d902e1f431" UNIQUE ("bot_user_id"), + CONSTRAINT "FK_2ce5a55796fe4c2f77ece57a647" FOREIGN KEY ("bot_user_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION, + CONSTRAINT "FK_e57508958bf92b9d9d25231b5e8" FOREIGN KEY ("owner_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION, + CONSTRAINT "FK_a36ed02953077f408d0f3ebc424" FOREIGN KEY ("team_id") REFERENCES "teams" ("id") ON DELETE CASCADE ON UPDATE NO ACTION + ) + `); + await queryRunner.query(` + INSERT INTO "applications"( + "id", + "name", + "icon", + "description", + "bot_public", + "bot_require_code_grant", + "terms_of_service_url", + "privacy_policy_url", + "summary", + "verify_key", + "cover_image", + "flags", + "owner_id", + "team_id", + "type", + "hook", + "redirect_uris", + "rpc_application_state", + "store_application_state", + "verification_state", + "interactions_endpoint_url", + "integration_public", + "integration_require_code_grant", + "discoverability_state", + "discovery_eligibility_flags", + "tags", + "install_params", + "bot_user_id" + ) + SELECT "id", + "name", + "icon", + "description", + "bot_public", + "bot_require_code_grant", + "terms_of_service_url", + "privacy_policy_url", + "summary", + "verify_key", + "cover_image", + "flags", + "owner_id", + "team_id", + "type", + "hook", + "redirect_uris", + "rpc_application_state", + "store_application_state", + "verification_state", + "interactions_endpoint_url", + "integration_public", + "integration_require_code_grant", + "discoverability_state", + "discovery_eligibility_flags", + "tags", + "install_params", + "bot_user_id" + FROM "temporary_applications" + `); + await queryRunner.query(` + DROP TABLE "temporary_applications" + `); + await queryRunner.query(` + ALTER TABLE "applications" + RENAME TO "temporary_applications" + `); + await queryRunner.query(` + CREATE TABLE "applications" ( + "id" varchar PRIMARY KEY NOT NULL, + "name" varchar NOT NULL, + "icon" varchar, + "description" varchar, + "bot_public" boolean NOT NULL, + "bot_require_code_grant" boolean NOT NULL, + "terms_of_service_url" varchar, + "privacy_policy_url" varchar, + "summary" varchar, + "verify_key" varchar NOT NULL, + "cover_image" varchar, + "flags" varchar NOT NULL, + "owner_id" varchar, + "team_id" varchar, + "type" text, + "hook" boolean NOT NULL, + "redirect_uris" text, + "rpc_application_state" integer, + "store_application_state" integer, + "verification_state" integer, + "interactions_endpoint_url" varchar, + "integration_public" boolean, + "integration_require_code_grant" boolean, + "discoverability_state" integer, + "discovery_eligibility_flags" integer, + "tags" text, + "install_params" text, + "bot_user_id" varchar, + CONSTRAINT "UQ_b7f6e13565e920916d902e1f431" UNIQUE ("bot_user_id"), + CONSTRAINT "FK_2ce5a55796fe4c2f77ece57a647" FOREIGN KEY ("bot_user_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION, + CONSTRAINT "FK_e57508958bf92b9d9d25231b5e8" FOREIGN KEY ("owner_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION, + CONSTRAINT "FK_a36ed02953077f408d0f3ebc424" FOREIGN KEY ("team_id") REFERENCES "teams" ("id") ON DELETE CASCADE ON UPDATE NO ACTION + ) + `); + await queryRunner.query(` + INSERT INTO "applications"( + "id", + "name", + "icon", + "description", + "bot_public", + "bot_require_code_grant", + "terms_of_service_url", + "privacy_policy_url", + "summary", + "verify_key", + "cover_image", + "flags", + "owner_id", + "team_id", + "type", + "hook", + "redirect_uris", + "rpc_application_state", + "store_application_state", + "verification_state", + "interactions_endpoint_url", + "integration_public", + "integration_require_code_grant", + "discoverability_state", + "discovery_eligibility_flags", + "tags", + "install_params", + "bot_user_id" + ) + SELECT "id", + "name", + "icon", + "description", + "bot_public", + "bot_require_code_grant", + "terms_of_service_url", + "privacy_policy_url", + "summary", + "verify_key", + "cover_image", + "flags", + "owner_id", + "team_id", + "type", + "hook", + "redirect_uris", + "rpc_application_state", + "store_application_state", + "verification_state", + "interactions_endpoint_url", + "integration_public", + "integration_require_code_grant", + "discoverability_state", + "discovery_eligibility_flags", + "tags", + "install_params", + "bot_user_id" + FROM "temporary_applications" + `); + await queryRunner.query(` + DROP TABLE "temporary_applications" + `); + } + +} -- cgit 1.5.1 From 4fe40c2a2016cce4278fbb40093c38145b36e0ea Mon Sep 17 00:00:00 2001 From: ChrisChrome Date: Wed, 10 Aug 2022 03:52:03 -0600 Subject: It works now... I guess Co-authored-by: TheArcaneBrony --- api/src/routes/applications/#id/index.ts | 1 - api/src/routes/applications/index.ts | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/api/src/routes/applications/#id/index.ts b/api/src/routes/applications/#id/index.ts index be8c3ba4..a16b18a9 100644 --- a/api/src/routes/applications/#id/index.ts +++ b/api/src/routes/applications/#id/index.ts @@ -7,7 +7,6 @@ const router: Router = Router(); router.get("/", route({}), async (req: Request, res: Response) => { //TODO let results = await Application.findOne({where: {id: req.params.id}, relations: ["owner", "bot"] }); - //debugger; res.json(results).status(200); }); diff --git a/api/src/routes/applications/index.ts b/api/src/routes/applications/index.ts index c9be1131..41ce35b5 100644 --- a/api/src/routes/applications/index.ts +++ b/api/src/routes/applications/index.ts @@ -11,7 +11,7 @@ export interface ApplicationCreateSchema { router.get("/", route({}), async (req: Request, res: Response) => { //TODO - let results = await Application.find({where: {owner: {id: req.user_id}}, relations: ["owner"] }); + let results = await Application.find({where: {owner: {id: req.user_id}}, relations: ["owner", "bot"] }); res.json(results).status(200); }); -- cgit 1.5.1 From e041945eccbd3f5241e4ef62239d207c180bd466 Mon Sep 17 00:00:00 2001 From: ChrisChrome Date: Wed, 10 Aug 2022 04:29:14 -0600 Subject: I'm probably forgetting a lot of things, but hey, it works --- api/src/routes/applications/#id/index.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/api/src/routes/applications/#id/index.ts b/api/src/routes/applications/#id/index.ts index a16b18a9..24df2d88 100644 --- a/api/src/routes/applications/#id/index.ts +++ b/api/src/routes/applications/#id/index.ts @@ -5,7 +5,6 @@ import { Application, OrmUtils, Team, trimSpecial, User } from "@fosscord/util"; const router: Router = Router(); router.get("/", route({}), async (req: Request, res: Response) => { - //TODO let results = await Application.findOne({where: {id: req.params.id}, relations: ["owner", "bot"] }); res.json(results).status(200); }); @@ -23,4 +22,10 @@ router.patch("/", route({}), async (req: Request, res: Response) => { res.json(app).status(200); }); +router.post("/delete", route({}), async (req: Request, res: Response) => { + await Application.delete(req.params.id); + res.send().status(200); +}); + + export default router; \ No newline at end of file -- cgit 1.5.1 From f79baa7b2cb58106ad2ffb69ce6166ce821c5d29 Mon Sep 17 00:00:00 2001 From: ChrisChrome Date: Wed, 10 Aug 2022 04:35:10 -0600 Subject: Whoops, missed one --- api/src/routes/applications/#id/index.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/api/src/routes/applications/#id/index.ts b/api/src/routes/applications/#id/index.ts index 24df2d88..0aced582 100644 --- a/api/src/routes/applications/#id/index.ts +++ b/api/src/routes/applications/#id/index.ts @@ -18,7 +18,6 @@ router.patch("/", route({}), async (req: Request, res: Response) => { } if(req.body.tags) app.tags = req.body.tags; await app.save(); - debugger; res.json(app).status(200); }); -- cgit 1.5.1 From 5974acc91e80aae47006ad54808bc83169cd0d86 Mon Sep 17 00:00:00 2001 From: ChrisChrome Date: Wed, 10 Aug 2022 04:50:29 -0600 Subject: Whoops --- api/src/routes/applications/#id/bot/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/src/routes/applications/#id/bot/index.ts b/api/src/routes/applications/#id/bot/index.ts index 82c09c4d..a8a24d13 100644 --- a/api/src/routes/applications/#id/bot/index.ts +++ b/api/src/routes/applications/#id/bot/index.ts @@ -74,7 +74,7 @@ router.post("/reset", route({}), async (req: Request, res: Response) => { }); router.patch("/", route({}), async (req: Request, res: Response) => { - delete req.body.icon; + delete req.body.avatar; let app = OrmUtils.mergeDeep(await User.findOne({where: {id: req.params.id}}), req.body); await app.save(); res.json(app).status(200); -- cgit 1.5.1 From 83f7ee2e6177740a7343bb2f197e5e0f5edf7f69 Mon Sep 17 00:00:00 2001 From: TheArcaneBrony Date: Wed, 10 Aug 2022 13:24:24 +0200 Subject: Add migrations --- .../mariadb/1660130586602-updated-applications.ts | 185 +++++ .../postgres/1660130561959-updated-applications.ts | 182 +++++ .../migrations/sqlite/1660110227241-modern_apps.ts | 623 ---------------- util/src/migrations/sqlite/1660110592990-apps2.ts | 220 ------ util/src/migrations/sqlite/1660110798713-yes.ts | 428 ----------- .../sqlite/1660112323115-defaults_apps.ts | 428 ----------- .../sqlite/1660130536131-updated-applications.ts | 829 +++++++++++++++++++++ 7 files changed, 1196 insertions(+), 1699 deletions(-) create mode 100644 util/src/migrations/mariadb/1660130586602-updated-applications.ts create mode 100644 util/src/migrations/postgres/1660130561959-updated-applications.ts delete mode 100644 util/src/migrations/sqlite/1660110227241-modern_apps.ts delete mode 100644 util/src/migrations/sqlite/1660110592990-apps2.ts delete mode 100644 util/src/migrations/sqlite/1660110798713-yes.ts delete mode 100644 util/src/migrations/sqlite/1660112323115-defaults_apps.ts create mode 100644 util/src/migrations/sqlite/1660130536131-updated-applications.ts diff --git a/util/src/migrations/mariadb/1660130586602-updated-applications.ts b/util/src/migrations/mariadb/1660130586602-updated-applications.ts new file mode 100644 index 00000000..ec574416 --- /dev/null +++ b/util/src/migrations/mariadb/1660130586602-updated-applications.ts @@ -0,0 +1,185 @@ +import { MigrationInterface, QueryRunner } from "typeorm"; + +export class updatedApplications1660130586602 implements MigrationInterface { + name = 'updatedApplications1660130586602' + + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query(` + ALTER TABLE \`applications\` DROP FOREIGN KEY \`FK_e5bf78cdbbe9ba91062d74c5aba\` + `); + await queryRunner.query(` + ALTER TABLE \`applications\` DROP COLUMN \`rpc_origins\` + `); + await queryRunner.query(` + ALTER TABLE \`applications\` DROP COLUMN \`primary_sku_id\` + `); + await queryRunner.query(` + ALTER TABLE \`applications\` DROP COLUMN \`slug\` + `); + await queryRunner.query(` + ALTER TABLE \`applications\` DROP COLUMN \`guild_id\` + `); + await queryRunner.query(` + ALTER TABLE \`applications\` + ADD \`type\` text NULL + `); + await queryRunner.query(` + ALTER TABLE \`applications\` + ADD \`hook\` tinyint NOT NULL + `); + await queryRunner.query(` + ALTER TABLE \`applications\` + ADD \`redirect_uris\` text NULL + `); + await queryRunner.query(` + ALTER TABLE \`applications\` + ADD \`rpc_application_state\` int NULL + `); + await queryRunner.query(` + ALTER TABLE \`applications\` + ADD \`store_application_state\` int NULL + `); + await queryRunner.query(` + ALTER TABLE \`applications\` + ADD \`verification_state\` int NULL + `); + await queryRunner.query(` + ALTER TABLE \`applications\` + ADD \`interactions_endpoint_url\` varchar(255) NULL + `); + await queryRunner.query(` + ALTER TABLE \`applications\` + ADD \`integration_public\` tinyint NULL + `); + await queryRunner.query(` + ALTER TABLE \`applications\` + ADD \`integration_require_code_grant\` tinyint NULL + `); + await queryRunner.query(` + ALTER TABLE \`applications\` + ADD \`discoverability_state\` int NULL + `); + await queryRunner.query(` + ALTER TABLE \`applications\` + ADD \`discovery_eligibility_flags\` int NULL + `); + await queryRunner.query(` + ALTER TABLE \`applications\` + ADD \`tags\` text NULL + `); + await queryRunner.query(` + ALTER TABLE \`applications\` + ADD \`install_params\` text NULL + `); + await queryRunner.query(` + ALTER TABLE \`applications\` + ADD \`bot_user_id\` varchar(255) NULL + `); + await queryRunner.query(` + ALTER TABLE \`applications\` + ADD UNIQUE INDEX \`IDX_2ce5a55796fe4c2f77ece57a64\` (\`bot_user_id\`) + `); + await queryRunner.query(` + ALTER TABLE \`applications\` CHANGE \`description\` \`description\` varchar(255) NULL + `); + await queryRunner.query(` + ALTER TABLE \`applications\` DROP COLUMN \`flags\` + `); + await queryRunner.query(` + ALTER TABLE \`applications\` + ADD \`flags\` int NOT NULL + `); + await queryRunner.query(` + CREATE UNIQUE INDEX \`REL_2ce5a55796fe4c2f77ece57a64\` ON \`applications\` (\`bot_user_id\`) + `); + await queryRunner.query(` + ALTER TABLE \`applications\` + ADD CONSTRAINT \`FK_2ce5a55796fe4c2f77ece57a647\` FOREIGN KEY (\`bot_user_id\`) REFERENCES \`users\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION + `); + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query(` + ALTER TABLE \`applications\` DROP FOREIGN KEY \`FK_2ce5a55796fe4c2f77ece57a647\` + `); + await queryRunner.query(` + DROP INDEX \`REL_2ce5a55796fe4c2f77ece57a64\` ON \`applications\` + `); + await queryRunner.query(` + ALTER TABLE \`applications\` DROP COLUMN \`flags\` + `); + await queryRunner.query(` + ALTER TABLE \`applications\` + ADD \`flags\` varchar(255) NOT NULL + `); + await queryRunner.query(` + ALTER TABLE \`applications\` CHANGE \`description\` \`description\` varchar(255) NOT NULL + `); + await queryRunner.query(` + ALTER TABLE \`applications\` DROP INDEX \`IDX_2ce5a55796fe4c2f77ece57a64\` + `); + await queryRunner.query(` + ALTER TABLE \`applications\` DROP COLUMN \`bot_user_id\` + `); + await queryRunner.query(` + ALTER TABLE \`applications\` DROP COLUMN \`install_params\` + `); + await queryRunner.query(` + ALTER TABLE \`applications\` DROP COLUMN \`tags\` + `); + await queryRunner.query(` + ALTER TABLE \`applications\` DROP COLUMN \`discovery_eligibility_flags\` + `); + await queryRunner.query(` + ALTER TABLE \`applications\` DROP COLUMN \`discoverability_state\` + `); + await queryRunner.query(` + ALTER TABLE \`applications\` DROP COLUMN \`integration_require_code_grant\` + `); + await queryRunner.query(` + ALTER TABLE \`applications\` DROP COLUMN \`integration_public\` + `); + await queryRunner.query(` + ALTER TABLE \`applications\` DROP COLUMN \`interactions_endpoint_url\` + `); + await queryRunner.query(` + ALTER TABLE \`applications\` DROP COLUMN \`verification_state\` + `); + await queryRunner.query(` + ALTER TABLE \`applications\` DROP COLUMN \`store_application_state\` + `); + await queryRunner.query(` + ALTER TABLE \`applications\` DROP COLUMN \`rpc_application_state\` + `); + await queryRunner.query(` + ALTER TABLE \`applications\` DROP COLUMN \`redirect_uris\` + `); + await queryRunner.query(` + ALTER TABLE \`applications\` DROP COLUMN \`hook\` + `); + await queryRunner.query(` + ALTER TABLE \`applications\` DROP COLUMN \`type\` + `); + await queryRunner.query(` + ALTER TABLE \`applications\` + ADD \`guild_id\` varchar(255) NULL + `); + await queryRunner.query(` + ALTER TABLE \`applications\` + ADD \`slug\` varchar(255) NULL + `); + await queryRunner.query(` + ALTER TABLE \`applications\` + ADD \`primary_sku_id\` varchar(255) NULL + `); + await queryRunner.query(` + ALTER TABLE \`applications\` + ADD \`rpc_origins\` text NULL + `); + await queryRunner.query(` + ALTER TABLE \`applications\` + ADD CONSTRAINT \`FK_e5bf78cdbbe9ba91062d74c5aba\` FOREIGN KEY (\`guild_id\`) REFERENCES \`guilds\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION + `); + } + +} diff --git a/util/src/migrations/postgres/1660130561959-updated-applications.ts b/util/src/migrations/postgres/1660130561959-updated-applications.ts new file mode 100644 index 00000000..8fab54c7 --- /dev/null +++ b/util/src/migrations/postgres/1660130561959-updated-applications.ts @@ -0,0 +1,182 @@ +import { MigrationInterface, QueryRunner } from "typeorm"; + +export class updatedApplications1660130561959 implements MigrationInterface { + name = 'updatedApplications1660130561959' + + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query(` + ALTER TABLE "applications" DROP CONSTRAINT "FK_e5bf78cdbbe9ba91062d74c5aba" + `); + await queryRunner.query(` + ALTER TABLE "applications" DROP COLUMN "rpc_origins" + `); + await queryRunner.query(` + ALTER TABLE "applications" DROP COLUMN "primary_sku_id" + `); + await queryRunner.query(` + ALTER TABLE "applications" DROP COLUMN "slug" + `); + await queryRunner.query(` + ALTER TABLE "applications" DROP COLUMN "guild_id" + `); + await queryRunner.query(` + ALTER TABLE "applications" + ADD "type" text + `); + await queryRunner.query(` + ALTER TABLE "applications" + ADD "hook" boolean NOT NULL + `); + await queryRunner.query(` + ALTER TABLE "applications" + ADD "redirect_uris" text + `); + await queryRunner.query(` + ALTER TABLE "applications" + ADD "rpc_application_state" integer + `); + await queryRunner.query(` + ALTER TABLE "applications" + ADD "store_application_state" integer + `); + await queryRunner.query(` + ALTER TABLE "applications" + ADD "verification_state" integer + `); + await queryRunner.query(` + ALTER TABLE "applications" + ADD "interactions_endpoint_url" character varying + `); + await queryRunner.query(` + ALTER TABLE "applications" + ADD "integration_public" boolean + `); + await queryRunner.query(` + ALTER TABLE "applications" + ADD "integration_require_code_grant" boolean + `); + await queryRunner.query(` + ALTER TABLE "applications" + ADD "discoverability_state" integer + `); + await queryRunner.query(` + ALTER TABLE "applications" + ADD "discovery_eligibility_flags" integer + `); + await queryRunner.query(` + ALTER TABLE "applications" + ADD "tags" text + `); + await queryRunner.query(` + ALTER TABLE "applications" + ADD "install_params" text + `); + await queryRunner.query(` + ALTER TABLE "applications" + ADD "bot_user_id" character varying + `); + await queryRunner.query(` + ALTER TABLE "applications" + ADD CONSTRAINT "UQ_2ce5a55796fe4c2f77ece57a647" UNIQUE ("bot_user_id") + `); + await queryRunner.query(` + ALTER TABLE "applications" + ALTER COLUMN "description" DROP NOT NULL + `); + await queryRunner.query(` + ALTER TABLE "applications" DROP COLUMN "flags" + `); + await queryRunner.query(` + ALTER TABLE "applications" + ADD "flags" integer NOT NULL + `); + await queryRunner.query(` + ALTER TABLE "applications" + ADD CONSTRAINT "FK_2ce5a55796fe4c2f77ece57a647" FOREIGN KEY ("bot_user_id") REFERENCES "users"("id") ON DELETE NO ACTION ON UPDATE NO ACTION + `); + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query(` + ALTER TABLE "applications" DROP CONSTRAINT "FK_2ce5a55796fe4c2f77ece57a647" + `); + await queryRunner.query(` + ALTER TABLE "applications" DROP COLUMN "flags" + `); + await queryRunner.query(` + ALTER TABLE "applications" + ADD "flags" character varying NOT NULL + `); + await queryRunner.query(` + ALTER TABLE "applications" + ALTER COLUMN "description" + SET NOT NULL + `); + await queryRunner.query(` + ALTER TABLE "applications" DROP CONSTRAINT "UQ_2ce5a55796fe4c2f77ece57a647" + `); + await queryRunner.query(` + ALTER TABLE "applications" DROP COLUMN "bot_user_id" + `); + await queryRunner.query(` + ALTER TABLE "applications" DROP COLUMN "install_params" + `); + await queryRunner.query(` + ALTER TABLE "applications" DROP COLUMN "tags" + `); + await queryRunner.query(` + ALTER TABLE "applications" DROP COLUMN "discovery_eligibility_flags" + `); + await queryRunner.query(` + ALTER TABLE "applications" DROP COLUMN "discoverability_state" + `); + await queryRunner.query(` + ALTER TABLE "applications" DROP COLUMN "integration_require_code_grant" + `); + await queryRunner.query(` + ALTER TABLE "applications" DROP COLUMN "integration_public" + `); + await queryRunner.query(` + ALTER TABLE "applications" DROP COLUMN "interactions_endpoint_url" + `); + await queryRunner.query(` + ALTER TABLE "applications" DROP COLUMN "verification_state" + `); + await queryRunner.query(` + ALTER TABLE "applications" DROP COLUMN "store_application_state" + `); + await queryRunner.query(` + ALTER TABLE "applications" DROP COLUMN "rpc_application_state" + `); + await queryRunner.query(` + ALTER TABLE "applications" DROP COLUMN "redirect_uris" + `); + await queryRunner.query(` + ALTER TABLE "applications" DROP COLUMN "hook" + `); + await queryRunner.query(` + ALTER TABLE "applications" DROP COLUMN "type" + `); + await queryRunner.query(` + ALTER TABLE "applications" + ADD "guild_id" character varying + `); + await queryRunner.query(` + ALTER TABLE "applications" + ADD "slug" character varying + `); + await queryRunner.query(` + ALTER TABLE "applications" + ADD "primary_sku_id" character varying + `); + await queryRunner.query(` + ALTER TABLE "applications" + ADD "rpc_origins" text + `); + await queryRunner.query(` + ALTER TABLE "applications" + ADD CONSTRAINT "FK_e5bf78cdbbe9ba91062d74c5aba" FOREIGN KEY ("guild_id") REFERENCES "guilds"("id") ON DELETE NO ACTION ON UPDATE NO ACTION + `); + } + +} diff --git a/util/src/migrations/sqlite/1660110227241-modern_apps.ts b/util/src/migrations/sqlite/1660110227241-modern_apps.ts deleted file mode 100644 index 34c0b4b2..00000000 --- a/util/src/migrations/sqlite/1660110227241-modern_apps.ts +++ /dev/null @@ -1,623 +0,0 @@ -import { MigrationInterface, QueryRunner } from "typeorm"; - -export class modernApps1660110227241 implements MigrationInterface { - name = 'modernApps1660110227241' - - public async up(queryRunner: QueryRunner): Promise { - await queryRunner.query(` - CREATE TABLE "temporary_applications" ( - "id" varchar PRIMARY KEY NOT NULL, - "name" varchar NOT NULL, - "icon" varchar, - "description" varchar NOT NULL, - "rpc_origins" text, - "bot_public" boolean NOT NULL, - "bot_require_code_grant" boolean NOT NULL, - "terms_of_service_url" varchar, - "privacy_policy_url" varchar, - "summary" varchar, - "verify_key" varchar NOT NULL, - "primary_sku_id" varchar, - "slug" varchar, - "cover_image" varchar, - "flags" varchar NOT NULL, - "owner_id" varchar, - "team_id" varchar, - "guild_id" varchar, - CONSTRAINT "FK_a36ed02953077f408d0f3ebc424" FOREIGN KEY ("team_id") REFERENCES "teams" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, - CONSTRAINT "FK_e57508958bf92b9d9d25231b5e8" FOREIGN KEY ("owner_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION - ) - `); - await queryRunner.query(` - INSERT INTO "temporary_applications"( - "id", - "name", - "icon", - "description", - "rpc_origins", - "bot_public", - "bot_require_code_grant", - "terms_of_service_url", - "privacy_policy_url", - "summary", - "verify_key", - "primary_sku_id", - "slug", - "cover_image", - "flags", - "owner_id", - "team_id", - "guild_id" - ) - SELECT "id", - "name", - "icon", - "description", - "rpc_origins", - "bot_public", - "bot_require_code_grant", - "terms_of_service_url", - "privacy_policy_url", - "summary", - "verify_key", - "primary_sku_id", - "slug", - "cover_image", - "flags", - "owner_id", - "team_id", - "guild_id" - FROM "applications" - `); - await queryRunner.query(` - DROP TABLE "applications" - `); - await queryRunner.query(` - ALTER TABLE "temporary_applications" - RENAME TO "applications" - `); - await queryRunner.query(` - CREATE TABLE "temporary_applications" ( - "id" varchar PRIMARY KEY NOT NULL, - "name" varchar NOT NULL, - "icon" varchar, - "description" varchar NOT NULL, - "bot_public" boolean NOT NULL, - "bot_require_code_grant" boolean NOT NULL, - "terms_of_service_url" varchar, - "privacy_policy_url" varchar, - "summary" varchar, - "verify_key" varchar NOT NULL, - "cover_image" varchar, - "flags" varchar NOT NULL, - "owner_id" varchar, - "team_id" varchar, - CONSTRAINT "FK_a36ed02953077f408d0f3ebc424" FOREIGN KEY ("team_id") REFERENCES "teams" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, - CONSTRAINT "FK_e57508958bf92b9d9d25231b5e8" FOREIGN KEY ("owner_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION - ) - `); - await queryRunner.query(` - INSERT INTO "temporary_applications"( - "id", - "name", - "icon", - "description", - "bot_public", - "bot_require_code_grant", - "terms_of_service_url", - "privacy_policy_url", - "summary", - "verify_key", - "cover_image", - "flags", - "owner_id", - "team_id" - ) - SELECT "id", - "name", - "icon", - "description", - "bot_public", - "bot_require_code_grant", - "terms_of_service_url", - "privacy_policy_url", - "summary", - "verify_key", - "cover_image", - "flags", - "owner_id", - "team_id" - FROM "applications" - `); - await queryRunner.query(` - DROP TABLE "applications" - `); - await queryRunner.query(` - ALTER TABLE "temporary_applications" - RENAME TO "applications" - `); - await queryRunner.query(` - CREATE TABLE "temporary_applications" ( - "id" varchar PRIMARY KEY NOT NULL, - "name" varchar NOT NULL, - "icon" varchar, - "description" varchar NOT NULL, - "bot_public" boolean NOT NULL, - "bot_require_code_grant" boolean NOT NULL, - "terms_of_service_url" varchar, - "privacy_policy_url" varchar, - "summary" varchar, - "verify_key" varchar NOT NULL, - "cover_image" varchar, - "flags" varchar NOT NULL, - "owner_id" varchar, - "team_id" varchar, - "type" text NOT NULL, - "hook" boolean NOT NULL, - "redirect_uris" text NOT NULL, - "rpc_application_state" integer NOT NULL, - "store_application_state" integer NOT NULL, - "verification_state" integer NOT NULL, - "interactions_endpoint_url" varchar NOT NULL, - "integration_public" boolean NOT NULL, - "integration_require_code_grant" boolean NOT NULL, - "discoverability_state" integer NOT NULL, - "discovery_eligibility_flags" integer NOT NULL, - "tags" text NOT NULL, - "install_params" text NOT NULL, - "bot_user_id" varchar, - CONSTRAINT "UQ_b7f6e13565e920916d902e1f431" UNIQUE ("bot_user_id"), - CONSTRAINT "FK_a36ed02953077f408d0f3ebc424" FOREIGN KEY ("team_id") REFERENCES "teams" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, - CONSTRAINT "FK_e57508958bf92b9d9d25231b5e8" FOREIGN KEY ("owner_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION - ) - `); - await queryRunner.query(` - INSERT INTO "temporary_applications"( - "id", - "name", - "icon", - "description", - "bot_public", - "bot_require_code_grant", - "terms_of_service_url", - "privacy_policy_url", - "summary", - "verify_key", - "cover_image", - "flags", - "owner_id", - "team_id" - ) - SELECT "id", - "name", - "icon", - "description", - "bot_public", - "bot_require_code_grant", - "terms_of_service_url", - "privacy_policy_url", - "summary", - "verify_key", - "cover_image", - "flags", - "owner_id", - "team_id" - FROM "applications" - `); - await queryRunner.query(` - DROP TABLE "applications" - `); - await queryRunner.query(` - ALTER TABLE "temporary_applications" - RENAME TO "applications" - `); - await queryRunner.query(` - CREATE TABLE "temporary_applications" ( - "id" varchar PRIMARY KEY NOT NULL, - "name" varchar NOT NULL, - "icon" varchar, - "description" varchar NOT NULL, - "bot_public" boolean NOT NULL, - "bot_require_code_grant" boolean NOT NULL, - "terms_of_service_url" varchar, - "privacy_policy_url" varchar, - "summary" varchar, - "verify_key" varchar NOT NULL, - "cover_image" varchar, - "flags" varchar NOT NULL, - "owner_id" varchar, - "team_id" varchar, - "type" text NOT NULL, - "hook" boolean NOT NULL, - "redirect_uris" text NOT NULL, - "rpc_application_state" integer NOT NULL, - "store_application_state" integer NOT NULL, - "verification_state" integer NOT NULL, - "interactions_endpoint_url" varchar NOT NULL, - "integration_public" boolean NOT NULL, - "integration_require_code_grant" boolean NOT NULL, - "discoverability_state" integer NOT NULL, - "discovery_eligibility_flags" integer NOT NULL, - "tags" text NOT NULL, - "install_params" text NOT NULL, - "bot_user_id" varchar, - CONSTRAINT "UQ_b7f6e13565e920916d902e1f431" UNIQUE ("bot_user_id"), - CONSTRAINT "FK_a36ed02953077f408d0f3ebc424" FOREIGN KEY ("team_id") REFERENCES "teams" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, - CONSTRAINT "FK_e57508958bf92b9d9d25231b5e8" FOREIGN KEY ("owner_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION, - CONSTRAINT "FK_2ce5a55796fe4c2f77ece57a647" FOREIGN KEY ("bot_user_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION - ) - `); - await queryRunner.query(` - INSERT INTO "temporary_applications"( - "id", - "name", - "icon", - "description", - "bot_public", - "bot_require_code_grant", - "terms_of_service_url", - "privacy_policy_url", - "summary", - "verify_key", - "cover_image", - "flags", - "owner_id", - "team_id", - "type", - "hook", - "redirect_uris", - "rpc_application_state", - "store_application_state", - "verification_state", - "interactions_endpoint_url", - "integration_public", - "integration_require_code_grant", - "discoverability_state", - "discovery_eligibility_flags", - "tags", - "install_params", - "bot_user_id" - ) - SELECT "id", - "name", - "icon", - "description", - "bot_public", - "bot_require_code_grant", - "terms_of_service_url", - "privacy_policy_url", - "summary", - "verify_key", - "cover_image", - "flags", - "owner_id", - "team_id", - "type", - "hook", - "redirect_uris", - "rpc_application_state", - "store_application_state", - "verification_state", - "interactions_endpoint_url", - "integration_public", - "integration_require_code_grant", - "discoverability_state", - "discovery_eligibility_flags", - "tags", - "install_params", - "bot_user_id" - FROM "applications" - `); - await queryRunner.query(` - DROP TABLE "applications" - `); - await queryRunner.query(` - ALTER TABLE "temporary_applications" - RENAME TO "applications" - `); - } - - public async down(queryRunner: QueryRunner): Promise { - await queryRunner.query(` - ALTER TABLE "applications" - RENAME TO "temporary_applications" - `); - await queryRunner.query(` - CREATE TABLE "applications" ( - "id" varchar PRIMARY KEY NOT NULL, - "name" varchar NOT NULL, - "icon" varchar, - "description" varchar NOT NULL, - "bot_public" boolean NOT NULL, - "bot_require_code_grant" boolean NOT NULL, - "terms_of_service_url" varchar, - "privacy_policy_url" varchar, - "summary" varchar, - "verify_key" varchar NOT NULL, - "cover_image" varchar, - "flags" varchar NOT NULL, - "owner_id" varchar, - "team_id" varchar, - "type" text NOT NULL, - "hook" boolean NOT NULL, - "redirect_uris" text NOT NULL, - "rpc_application_state" integer NOT NULL, - "store_application_state" integer NOT NULL, - "verification_state" integer NOT NULL, - "interactions_endpoint_url" varchar NOT NULL, - "integration_public" boolean NOT NULL, - "integration_require_code_grant" boolean NOT NULL, - "discoverability_state" integer NOT NULL, - "discovery_eligibility_flags" integer NOT NULL, - "tags" text NOT NULL, - "install_params" text NOT NULL, - "bot_user_id" varchar, - CONSTRAINT "UQ_b7f6e13565e920916d902e1f431" UNIQUE ("bot_user_id"), - CONSTRAINT "FK_a36ed02953077f408d0f3ebc424" FOREIGN KEY ("team_id") REFERENCES "teams" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, - CONSTRAINT "FK_e57508958bf92b9d9d25231b5e8" FOREIGN KEY ("owner_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION - ) - `); - await queryRunner.query(` - INSERT INTO "applications"( - "id", - "name", - "icon", - "description", - "bot_public", - "bot_require_code_grant", - "terms_of_service_url", - "privacy_policy_url", - "summary", - "verify_key", - "cover_image", - "flags", - "owner_id", - "team_id", - "type", - "hook", - "redirect_uris", - "rpc_application_state", - "store_application_state", - "verification_state", - "interactions_endpoint_url", - "integration_public", - "integration_require_code_grant", - "discoverability_state", - "discovery_eligibility_flags", - "tags", - "install_params", - "bot_user_id" - ) - SELECT "id", - "name", - "icon", - "description", - "bot_public", - "bot_require_code_grant", - "terms_of_service_url", - "privacy_policy_url", - "summary", - "verify_key", - "cover_image", - "flags", - "owner_id", - "team_id", - "type", - "hook", - "redirect_uris", - "rpc_application_state", - "store_application_state", - "verification_state", - "interactions_endpoint_url", - "integration_public", - "integration_require_code_grant", - "discoverability_state", - "discovery_eligibility_flags", - "tags", - "install_params", - "bot_user_id" - FROM "temporary_applications" - `); - await queryRunner.query(` - DROP TABLE "temporary_applications" - `); - await queryRunner.query(` - ALTER TABLE "applications" - RENAME TO "temporary_applications" - `); - await queryRunner.query(` - CREATE TABLE "applications" ( - "id" varchar PRIMARY KEY NOT NULL, - "name" varchar NOT NULL, - "icon" varchar, - "description" varchar NOT NULL, - "bot_public" boolean NOT NULL, - "bot_require_code_grant" boolean NOT NULL, - "terms_of_service_url" varchar, - "privacy_policy_url" varchar, - "summary" varchar, - "verify_key" varchar NOT NULL, - "cover_image" varchar, - "flags" varchar NOT NULL, - "owner_id" varchar, - "team_id" varchar, - CONSTRAINT "FK_a36ed02953077f408d0f3ebc424" FOREIGN KEY ("team_id") REFERENCES "teams" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, - CONSTRAINT "FK_e57508958bf92b9d9d25231b5e8" FOREIGN KEY ("owner_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION - ) - `); - await queryRunner.query(` - INSERT INTO "applications"( - "id", - "name", - "icon", - "description", - "bot_public", - "bot_require_code_grant", - "terms_of_service_url", - "privacy_policy_url", - "summary", - "verify_key", - "cover_image", - "flags", - "owner_id", - "team_id" - ) - SELECT "id", - "name", - "icon", - "description", - "bot_public", - "bot_require_code_grant", - "terms_of_service_url", - "privacy_policy_url", - "summary", - "verify_key", - "cover_image", - "flags", - "owner_id", - "team_id" - FROM "temporary_applications" - `); - await queryRunner.query(` - DROP TABLE "temporary_applications" - `); - await queryRunner.query(` - ALTER TABLE "applications" - RENAME TO "temporary_applications" - `); - await queryRunner.query(` - CREATE TABLE "applications" ( - "id" varchar PRIMARY KEY NOT NULL, - "name" varchar NOT NULL, - "icon" varchar, - "description" varchar NOT NULL, - "rpc_origins" text, - "bot_public" boolean NOT NULL, - "bot_require_code_grant" boolean NOT NULL, - "terms_of_service_url" varchar, - "privacy_policy_url" varchar, - "summary" varchar, - "verify_key" varchar NOT NULL, - "primary_sku_id" varchar, - "slug" varchar, - "cover_image" varchar, - "flags" varchar NOT NULL, - "owner_id" varchar, - "team_id" varchar, - "guild_id" varchar, - CONSTRAINT "FK_a36ed02953077f408d0f3ebc424" FOREIGN KEY ("team_id") REFERENCES "teams" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, - CONSTRAINT "FK_e57508958bf92b9d9d25231b5e8" FOREIGN KEY ("owner_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION - ) - `); - await queryRunner.query(` - INSERT INTO "applications"( - "id", - "name", - "icon", - "description", - "bot_public", - "bot_require_code_grant", - "terms_of_service_url", - "privacy_policy_url", - "summary", - "verify_key", - "cover_image", - "flags", - "owner_id", - "team_id" - ) - SELECT "id", - "name", - "icon", - "description", - "bot_public", - "bot_require_code_grant", - "terms_of_service_url", - "privacy_policy_url", - "summary", - "verify_key", - "cover_image", - "flags", - "owner_id", - "team_id" - FROM "temporary_applications" - `); - await queryRunner.query(` - DROP TABLE "temporary_applications" - `); - await queryRunner.query(` - ALTER TABLE "applications" - RENAME TO "temporary_applications" - `); - await queryRunner.query(` - CREATE TABLE "applications" ( - "id" varchar PRIMARY KEY NOT NULL, - "name" varchar NOT NULL, - "icon" varchar, - "description" varchar NOT NULL, - "rpc_origins" text, - "bot_public" boolean NOT NULL, - "bot_require_code_grant" boolean NOT NULL, - "terms_of_service_url" varchar, - "privacy_policy_url" varchar, - "summary" varchar, - "verify_key" varchar NOT NULL, - "primary_sku_id" varchar, - "slug" varchar, - "cover_image" varchar, - "flags" varchar NOT NULL, - "owner_id" varchar, - "team_id" varchar, - "guild_id" varchar, - CONSTRAINT "FK_e5bf78cdbbe9ba91062d74c5aba" FOREIGN KEY ("guild_id") REFERENCES "guilds" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION, - CONSTRAINT "FK_a36ed02953077f408d0f3ebc424" FOREIGN KEY ("team_id") REFERENCES "teams" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, - CONSTRAINT "FK_e57508958bf92b9d9d25231b5e8" FOREIGN KEY ("owner_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION - ) - `); - await queryRunner.query(` - INSERT INTO "applications"( - "id", - "name", - "icon", - "description", - "rpc_origins", - "bot_public", - "bot_require_code_grant", - "terms_of_service_url", - "privacy_policy_url", - "summary", - "verify_key", - "primary_sku_id", - "slug", - "cover_image", - "flags", - "owner_id", - "team_id", - "guild_id" - ) - SELECT "id", - "name", - "icon", - "description", - "rpc_origins", - "bot_public", - "bot_require_code_grant", - "terms_of_service_url", - "privacy_policy_url", - "summary", - "verify_key", - "primary_sku_id", - "slug", - "cover_image", - "flags", - "owner_id", - "team_id", - "guild_id" - FROM "temporary_applications" - `); - await queryRunner.query(` - DROP TABLE "temporary_applications" - `); - } - -} diff --git a/util/src/migrations/sqlite/1660110592990-apps2.ts b/util/src/migrations/sqlite/1660110592990-apps2.ts deleted file mode 100644 index 06f5885d..00000000 --- a/util/src/migrations/sqlite/1660110592990-apps2.ts +++ /dev/null @@ -1,220 +0,0 @@ -import { MigrationInterface, QueryRunner } from "typeorm"; - -export class apps21660110592990 implements MigrationInterface { - name = 'apps21660110592990' - - public async up(queryRunner: QueryRunner): Promise { - await queryRunner.query(` - CREATE TABLE "temporary_applications" ( - "id" varchar PRIMARY KEY NOT NULL, - "name" varchar NOT NULL, - "icon" varchar, - "description" varchar, - "bot_public" boolean NOT NULL, - "bot_require_code_grant" boolean NOT NULL, - "terms_of_service_url" varchar, - "privacy_policy_url" varchar, - "summary" varchar, - "verify_key" varchar NOT NULL, - "cover_image" varchar, - "flags" varchar NOT NULL, - "owner_id" varchar, - "team_id" varchar, - "type" text, - "hook" boolean NOT NULL, - "redirect_uris" text, - "rpc_application_state" integer, - "store_application_state" integer, - "verification_state" integer, - "interactions_endpoint_url" varchar, - "integration_public" boolean, - "integration_require_code_grant" boolean, - "discoverability_state" integer, - "discovery_eligibility_flags" integer, - "tags" text, - "install_params" text NOT NULL, - "bot_user_id" varchar, - CONSTRAINT "UQ_b7f6e13565e920916d902e1f431" UNIQUE ("bot_user_id"), - CONSTRAINT "FK_2ce5a55796fe4c2f77ece57a647" FOREIGN KEY ("bot_user_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION, - CONSTRAINT "FK_e57508958bf92b9d9d25231b5e8" FOREIGN KEY ("owner_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION, - CONSTRAINT "FK_a36ed02953077f408d0f3ebc424" FOREIGN KEY ("team_id") REFERENCES "teams" ("id") ON DELETE CASCADE ON UPDATE NO ACTION - ) - `); - await queryRunner.query(` - INSERT INTO "temporary_applications"( - "id", - "name", - "icon", - "description", - "bot_public", - "bot_require_code_grant", - "terms_of_service_url", - "privacy_policy_url", - "summary", - "verify_key", - "cover_image", - "flags", - "owner_id", - "team_id", - "type", - "hook", - "redirect_uris", - "rpc_application_state", - "store_application_state", - "verification_state", - "interactions_endpoint_url", - "integration_public", - "integration_require_code_grant", - "discoverability_state", - "discovery_eligibility_flags", - "tags", - "install_params", - "bot_user_id" - ) - SELECT "id", - "name", - "icon", - "description", - "bot_public", - "bot_require_code_grant", - "terms_of_service_url", - "privacy_policy_url", - "summary", - "verify_key", - "cover_image", - "flags", - "owner_id", - "team_id", - "type", - "hook", - "redirect_uris", - "rpc_application_state", - "store_application_state", - "verification_state", - "interactions_endpoint_url", - "integration_public", - "integration_require_code_grant", - "discoverability_state", - "discovery_eligibility_flags", - "tags", - "install_params", - "bot_user_id" - FROM "applications" - `); - await queryRunner.query(` - DROP TABLE "applications" - `); - await queryRunner.query(` - ALTER TABLE "temporary_applications" - RENAME TO "applications" - `); - } - - public async down(queryRunner: QueryRunner): Promise { - await queryRunner.query(` - ALTER TABLE "applications" - RENAME TO "temporary_applications" - `); - await queryRunner.query(` - CREATE TABLE "applications" ( - "id" varchar PRIMARY KEY NOT NULL, - "name" varchar NOT NULL, - "icon" varchar, - "description" varchar NOT NULL, - "bot_public" boolean NOT NULL, - "bot_require_code_grant" boolean NOT NULL, - "terms_of_service_url" varchar, - "privacy_policy_url" varchar, - "summary" varchar, - "verify_key" varchar NOT NULL, - "cover_image" varchar, - "flags" varchar NOT NULL, - "owner_id" varchar, - "team_id" varchar, - "type" text NOT NULL, - "hook" boolean NOT NULL, - "redirect_uris" text NOT NULL, - "rpc_application_state" integer NOT NULL, - "store_application_state" integer NOT NULL, - "verification_state" integer NOT NULL, - "interactions_endpoint_url" varchar NOT NULL, - "integration_public" boolean NOT NULL, - "integration_require_code_grant" boolean NOT NULL, - "discoverability_state" integer NOT NULL, - "discovery_eligibility_flags" integer NOT NULL, - "tags" text NOT NULL, - "install_params" text NOT NULL, - "bot_user_id" varchar, - CONSTRAINT "UQ_b7f6e13565e920916d902e1f431" UNIQUE ("bot_user_id"), - CONSTRAINT "FK_2ce5a55796fe4c2f77ece57a647" FOREIGN KEY ("bot_user_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION, - CONSTRAINT "FK_e57508958bf92b9d9d25231b5e8" FOREIGN KEY ("owner_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION, - CONSTRAINT "FK_a36ed02953077f408d0f3ebc424" FOREIGN KEY ("team_id") REFERENCES "teams" ("id") ON DELETE CASCADE ON UPDATE NO ACTION - ) - `); - await queryRunner.query(` - INSERT INTO "applications"( - "id", - "name", - "icon", - "description", - "bot_public", - "bot_require_code_grant", - "terms_of_service_url", - "privacy_policy_url", - "summary", - "verify_key", - "cover_image", - "flags", - "owner_id", - "team_id", - "type", - "hook", - "redirect_uris", - "rpc_application_state", - "store_application_state", - "verification_state", - "interactions_endpoint_url", - "integration_public", - "integration_require_code_grant", - "discoverability_state", - "discovery_eligibility_flags", - "tags", - "install_params", - "bot_user_id" - ) - SELECT "id", - "name", - "icon", - "description", - "bot_public", - "bot_require_code_grant", - "terms_of_service_url", - "privacy_policy_url", - "summary", - "verify_key", - "cover_image", - "flags", - "owner_id", - "team_id", - "type", - "hook", - "redirect_uris", - "rpc_application_state", - "store_application_state", - "verification_state", - "interactions_endpoint_url", - "integration_public", - "integration_require_code_grant", - "discoverability_state", - "discovery_eligibility_flags", - "tags", - "install_params", - "bot_user_id" - FROM "temporary_applications" - `); - await queryRunner.query(` - DROP TABLE "temporary_applications" - `); - } - -} diff --git a/util/src/migrations/sqlite/1660110798713-yes.ts b/util/src/migrations/sqlite/1660110798713-yes.ts deleted file mode 100644 index 38c6c628..00000000 --- a/util/src/migrations/sqlite/1660110798713-yes.ts +++ /dev/null @@ -1,428 +0,0 @@ -import { MigrationInterface, QueryRunner } from "typeorm"; - -export class yes1660110798713 implements MigrationInterface { - name = 'yes1660110798713' - - public async up(queryRunner: QueryRunner): Promise { - await queryRunner.query(` - CREATE TABLE "temporary_applications" ( - "id" varchar PRIMARY KEY NOT NULL, - "name" varchar NOT NULL, - "icon" varchar, - "description" varchar, - "bot_public" boolean NOT NULL, - "bot_require_code_grant" boolean NOT NULL, - "terms_of_service_url" varchar, - "privacy_policy_url" varchar, - "summary" varchar, - "verify_key" varchar NOT NULL, - "cover_image" varchar, - "flags" varchar NOT NULL, - "owner_id" varchar, - "team_id" varchar, - "type" text, - "hook" boolean NOT NULL, - "redirect_uris" text, - "rpc_application_state" integer, - "store_application_state" integer, - "verification_state" integer, - "interactions_endpoint_url" varchar, - "integration_public" boolean, - "integration_require_code_grant" boolean, - "discoverability_state" integer, - "discovery_eligibility_flags" integer, - "tags" text, - "install_params" text NOT NULL, - "bot_user_id" varchar, - CONSTRAINT "UQ_b7f6e13565e920916d902e1f431" UNIQUE ("bot_user_id"), - CONSTRAINT "FK_a36ed02953077f408d0f3ebc424" FOREIGN KEY ("team_id") REFERENCES "teams" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, - CONSTRAINT "FK_e57508958bf92b9d9d25231b5e8" FOREIGN KEY ("owner_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION, - CONSTRAINT "FK_2ce5a55796fe4c2f77ece57a647" FOREIGN KEY ("bot_user_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION - ) - `); - await queryRunner.query(` - INSERT INTO "temporary_applications"( - "id", - "name", - "icon", - "description", - "bot_public", - "bot_require_code_grant", - "terms_of_service_url", - "privacy_policy_url", - "summary", - "verify_key", - "cover_image", - "flags", - "owner_id", - "team_id", - "type", - "hook", - "redirect_uris", - "rpc_application_state", - "store_application_state", - "verification_state", - "interactions_endpoint_url", - "integration_public", - "integration_require_code_grant", - "discoverability_state", - "discovery_eligibility_flags", - "tags", - "install_params", - "bot_user_id" - ) - SELECT "id", - "name", - "icon", - "description", - "bot_public", - "bot_require_code_grant", - "terms_of_service_url", - "privacy_policy_url", - "summary", - "verify_key", - "cover_image", - "flags", - "owner_id", - "team_id", - "type", - "hook", - "redirect_uris", - "rpc_application_state", - "store_application_state", - "verification_state", - "interactions_endpoint_url", - "integration_public", - "integration_require_code_grant", - "discoverability_state", - "discovery_eligibility_flags", - "tags", - "install_params", - "bot_user_id" - FROM "applications" - `); - await queryRunner.query(` - DROP TABLE "applications" - `); - await queryRunner.query(` - ALTER TABLE "temporary_applications" - RENAME TO "applications" - `); - await queryRunner.query(` - CREATE TABLE "temporary_applications" ( - "id" varchar PRIMARY KEY NOT NULL, - "name" varchar NOT NULL, - "icon" varchar, - "description" varchar, - "bot_public" boolean NOT NULL, - "bot_require_code_grant" boolean NOT NULL, - "terms_of_service_url" varchar, - "privacy_policy_url" varchar, - "summary" varchar, - "verify_key" varchar NOT NULL, - "cover_image" varchar, - "flags" varchar NOT NULL, - "owner_id" varchar, - "team_id" varchar, - "type" text, - "hook" boolean NOT NULL, - "redirect_uris" text, - "rpc_application_state" integer, - "store_application_state" integer, - "verification_state" integer, - "interactions_endpoint_url" varchar, - "integration_public" boolean, - "integration_require_code_grant" boolean, - "discoverability_state" integer, - "discovery_eligibility_flags" integer, - "tags" text, - "install_params" text, - "bot_user_id" varchar, - CONSTRAINT "UQ_b7f6e13565e920916d902e1f431" UNIQUE ("bot_user_id"), - CONSTRAINT "FK_a36ed02953077f408d0f3ebc424" FOREIGN KEY ("team_id") REFERENCES "teams" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, - CONSTRAINT "FK_e57508958bf92b9d9d25231b5e8" FOREIGN KEY ("owner_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION, - CONSTRAINT "FK_2ce5a55796fe4c2f77ece57a647" FOREIGN KEY ("bot_user_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION - ) - `); - await queryRunner.query(` - INSERT INTO "temporary_applications"( - "id", - "name", - "icon", - "description", - "bot_public", - "bot_require_code_grant", - "terms_of_service_url", - "privacy_policy_url", - "summary", - "verify_key", - "cover_image", - "flags", - "owner_id", - "team_id", - "type", - "hook", - "redirect_uris", - "rpc_application_state", - "store_application_state", - "verification_state", - "interactions_endpoint_url", - "integration_public", - "integration_require_code_grant", - "discoverability_state", - "discovery_eligibility_flags", - "tags", - "install_params", - "bot_user_id" - ) - SELECT "id", - "name", - "icon", - "description", - "bot_public", - "bot_require_code_grant", - "terms_of_service_url", - "privacy_policy_url", - "summary", - "verify_key", - "cover_image", - "flags", - "owner_id", - "team_id", - "type", - "hook", - "redirect_uris", - "rpc_application_state", - "store_application_state", - "verification_state", - "interactions_endpoint_url", - "integration_public", - "integration_require_code_grant", - "discoverability_state", - "discovery_eligibility_flags", - "tags", - "install_params", - "bot_user_id" - FROM "applications" - `); - await queryRunner.query(` - DROP TABLE "applications" - `); - await queryRunner.query(` - ALTER TABLE "temporary_applications" - RENAME TO "applications" - `); - } - - public async down(queryRunner: QueryRunner): Promise { - await queryRunner.query(` - ALTER TABLE "applications" - RENAME TO "temporary_applications" - `); - await queryRunner.query(` - CREATE TABLE "applications" ( - "id" varchar PRIMARY KEY NOT NULL, - "name" varchar NOT NULL, - "icon" varchar, - "description" varchar, - "bot_public" boolean NOT NULL, - "bot_require_code_grant" boolean NOT NULL, - "terms_of_service_url" varchar, - "privacy_policy_url" varchar, - "summary" varchar, - "verify_key" varchar NOT NULL, - "cover_image" varchar, - "flags" varchar NOT NULL, - "owner_id" varchar, - "team_id" varchar, - "type" text, - "hook" boolean NOT NULL, - "redirect_uris" text, - "rpc_application_state" integer, - "store_application_state" integer, - "verification_state" integer, - "interactions_endpoint_url" varchar, - "integration_public" boolean, - "integration_require_code_grant" boolean, - "discoverability_state" integer, - "discovery_eligibility_flags" integer, - "tags" text, - "install_params" text NOT NULL, - "bot_user_id" varchar, - CONSTRAINT "UQ_b7f6e13565e920916d902e1f431" UNIQUE ("bot_user_id"), - CONSTRAINT "FK_a36ed02953077f408d0f3ebc424" FOREIGN KEY ("team_id") REFERENCES "teams" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, - CONSTRAINT "FK_e57508958bf92b9d9d25231b5e8" FOREIGN KEY ("owner_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION, - CONSTRAINT "FK_2ce5a55796fe4c2f77ece57a647" FOREIGN KEY ("bot_user_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION - ) - `); - await queryRunner.query(` - INSERT INTO "applications"( - "id", - "name", - "icon", - "description", - "bot_public", - "bot_require_code_grant", - "terms_of_service_url", - "privacy_policy_url", - "summary", - "verify_key", - "cover_image", - "flags", - "owner_id", - "team_id", - "type", - "hook", - "redirect_uris", - "rpc_application_state", - "store_application_state", - "verification_state", - "interactions_endpoint_url", - "integration_public", - "integration_require_code_grant", - "discoverability_state", - "discovery_eligibility_flags", - "tags", - "install_params", - "bot_user_id" - ) - SELECT "id", - "name", - "icon", - "description", - "bot_public", - "bot_require_code_grant", - "terms_of_service_url", - "privacy_policy_url", - "summary", - "verify_key", - "cover_image", - "flags", - "owner_id", - "team_id", - "type", - "hook", - "redirect_uris", - "rpc_application_state", - "store_application_state", - "verification_state", - "interactions_endpoint_url", - "integration_public", - "integration_require_code_grant", - "discoverability_state", - "discovery_eligibility_flags", - "tags", - "install_params", - "bot_user_id" - FROM "temporary_applications" - `); - await queryRunner.query(` - DROP TABLE "temporary_applications" - `); - await queryRunner.query(` - ALTER TABLE "applications" - RENAME TO "temporary_applications" - `); - await queryRunner.query(` - CREATE TABLE "applications" ( - "id" varchar PRIMARY KEY NOT NULL, - "name" varchar NOT NULL, - "icon" varchar, - "description" varchar, - "bot_public" boolean NOT NULL, - "bot_require_code_grant" boolean NOT NULL, - "terms_of_service_url" varchar, - "privacy_policy_url" varchar, - "summary" varchar, - "verify_key" varchar NOT NULL, - "cover_image" varchar, - "flags" varchar NOT NULL, - "owner_id" varchar, - "team_id" varchar, - "type" text, - "hook" boolean NOT NULL, - "redirect_uris" text, - "rpc_application_state" integer, - "store_application_state" integer, - "verification_state" integer, - "interactions_endpoint_url" varchar, - "integration_public" boolean, - "integration_require_code_grant" boolean, - "discoverability_state" integer, - "discovery_eligibility_flags" integer, - "tags" text, - "install_params" text NOT NULL, - "bot_user_id" varchar, - CONSTRAINT "UQ_b7f6e13565e920916d902e1f431" UNIQUE ("bot_user_id"), - CONSTRAINT "FK_a36ed02953077f408d0f3ebc424" FOREIGN KEY ("team_id") REFERENCES "teams" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, - CONSTRAINT "FK_e57508958bf92b9d9d25231b5e8" FOREIGN KEY ("owner_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION, - CONSTRAINT "FK_2ce5a55796fe4c2f77ece57a647" FOREIGN KEY ("bot_user_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION - ) - `); - await queryRunner.query(` - INSERT INTO "applications"( - "id", - "name", - "icon", - "description", - "bot_public", - "bot_require_code_grant", - "terms_of_service_url", - "privacy_policy_url", - "summary", - "verify_key", - "cover_image", - "flags", - "owner_id", - "team_id", - "type", - "hook", - "redirect_uris", - "rpc_application_state", - "store_application_state", - "verification_state", - "interactions_endpoint_url", - "integration_public", - "integration_require_code_grant", - "discoverability_state", - "discovery_eligibility_flags", - "tags", - "install_params", - "bot_user_id" - ) - SELECT "id", - "name", - "icon", - "description", - "bot_public", - "bot_require_code_grant", - "terms_of_service_url", - "privacy_policy_url", - "summary", - "verify_key", - "cover_image", - "flags", - "owner_id", - "team_id", - "type", - "hook", - "redirect_uris", - "rpc_application_state", - "store_application_state", - "verification_state", - "interactions_endpoint_url", - "integration_public", - "integration_require_code_grant", - "discoverability_state", - "discovery_eligibility_flags", - "tags", - "install_params", - "bot_user_id" - FROM "temporary_applications" - `); - await queryRunner.query(` - DROP TABLE "temporary_applications" - `); - } - -} diff --git a/util/src/migrations/sqlite/1660112323115-defaults_apps.ts b/util/src/migrations/sqlite/1660112323115-defaults_apps.ts deleted file mode 100644 index 70e300c0..00000000 --- a/util/src/migrations/sqlite/1660112323115-defaults_apps.ts +++ /dev/null @@ -1,428 +0,0 @@ -import { MigrationInterface, QueryRunner } from "typeorm"; - -export class defaultsApps1660112323115 implements MigrationInterface { - name = 'defaultsApps1660112323115' - - public async up(queryRunner: QueryRunner): Promise { - await queryRunner.query(` - CREATE TABLE "temporary_applications" ( - "id" varchar PRIMARY KEY NOT NULL, - "name" varchar NOT NULL, - "icon" varchar, - "description" varchar, - "bot_public" boolean NOT NULL, - "bot_require_code_grant" boolean NOT NULL, - "terms_of_service_url" varchar, - "privacy_policy_url" varchar, - "summary" varchar, - "verify_key" varchar NOT NULL, - "cover_image" varchar, - "flags" varchar NOT NULL, - "owner_id" varchar, - "team_id" varchar, - "type" text, - "hook" boolean NOT NULL, - "redirect_uris" text, - "rpc_application_state" integer, - "store_application_state" integer, - "verification_state" integer, - "interactions_endpoint_url" varchar, - "integration_public" boolean, - "integration_require_code_grant" boolean, - "discoverability_state" integer, - "discovery_eligibility_flags" integer, - "tags" text, - "install_params" text, - "bot_user_id" varchar, - CONSTRAINT "UQ_b7f6e13565e920916d902e1f431" UNIQUE ("bot_user_id"), - CONSTRAINT "FK_2ce5a55796fe4c2f77ece57a647" FOREIGN KEY ("bot_user_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION, - CONSTRAINT "FK_e57508958bf92b9d9d25231b5e8" FOREIGN KEY ("owner_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION, - CONSTRAINT "FK_a36ed02953077f408d0f3ebc424" FOREIGN KEY ("team_id") REFERENCES "teams" ("id") ON DELETE CASCADE ON UPDATE NO ACTION - ) - `); - await queryRunner.query(` - INSERT INTO "temporary_applications"( - "id", - "name", - "icon", - "description", - "bot_public", - "bot_require_code_grant", - "terms_of_service_url", - "privacy_policy_url", - "summary", - "verify_key", - "cover_image", - "flags", - "owner_id", - "team_id", - "type", - "hook", - "redirect_uris", - "rpc_application_state", - "store_application_state", - "verification_state", - "interactions_endpoint_url", - "integration_public", - "integration_require_code_grant", - "discoverability_state", - "discovery_eligibility_flags", - "tags", - "install_params", - "bot_user_id" - ) - SELECT "id", - "name", - "icon", - "description", - "bot_public", - "bot_require_code_grant", - "terms_of_service_url", - "privacy_policy_url", - "summary", - "verify_key", - "cover_image", - "flags", - "owner_id", - "team_id", - "type", - "hook", - "redirect_uris", - "rpc_application_state", - "store_application_state", - "verification_state", - "interactions_endpoint_url", - "integration_public", - "integration_require_code_grant", - "discoverability_state", - "discovery_eligibility_flags", - "tags", - "install_params", - "bot_user_id" - FROM "applications" - `); - await queryRunner.query(` - DROP TABLE "applications" - `); - await queryRunner.query(` - ALTER TABLE "temporary_applications" - RENAME TO "applications" - `); - await queryRunner.query(` - CREATE TABLE "temporary_applications" ( - "id" varchar PRIMARY KEY NOT NULL, - "name" varchar NOT NULL, - "icon" varchar, - "description" varchar, - "bot_public" boolean NOT NULL, - "bot_require_code_grant" boolean NOT NULL, - "terms_of_service_url" varchar, - "privacy_policy_url" varchar, - "summary" varchar, - "verify_key" varchar NOT NULL, - "cover_image" varchar, - "flags" integer NOT NULL, - "owner_id" varchar, - "team_id" varchar, - "type" text, - "hook" boolean NOT NULL, - "redirect_uris" text, - "rpc_application_state" integer, - "store_application_state" integer, - "verification_state" integer, - "interactions_endpoint_url" varchar, - "integration_public" boolean, - "integration_require_code_grant" boolean, - "discoverability_state" integer, - "discovery_eligibility_flags" integer, - "tags" text, - "install_params" text, - "bot_user_id" varchar, - CONSTRAINT "UQ_b7f6e13565e920916d902e1f431" UNIQUE ("bot_user_id"), - CONSTRAINT "FK_2ce5a55796fe4c2f77ece57a647" FOREIGN KEY ("bot_user_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION, - CONSTRAINT "FK_e57508958bf92b9d9d25231b5e8" FOREIGN KEY ("owner_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION, - CONSTRAINT "FK_a36ed02953077f408d0f3ebc424" FOREIGN KEY ("team_id") REFERENCES "teams" ("id") ON DELETE CASCADE ON UPDATE NO ACTION - ) - `); - await queryRunner.query(` - INSERT INTO "temporary_applications"( - "id", - "name", - "icon", - "description", - "bot_public", - "bot_require_code_grant", - "terms_of_service_url", - "privacy_policy_url", - "summary", - "verify_key", - "cover_image", - "flags", - "owner_id", - "team_id", - "type", - "hook", - "redirect_uris", - "rpc_application_state", - "store_application_state", - "verification_state", - "interactions_endpoint_url", - "integration_public", - "integration_require_code_grant", - "discoverability_state", - "discovery_eligibility_flags", - "tags", - "install_params", - "bot_user_id" - ) - SELECT "id", - "name", - "icon", - "description", - "bot_public", - "bot_require_code_grant", - "terms_of_service_url", - "privacy_policy_url", - "summary", - "verify_key", - "cover_image", - "flags", - "owner_id", - "team_id", - "type", - "hook", - "redirect_uris", - "rpc_application_state", - "store_application_state", - "verification_state", - "interactions_endpoint_url", - "integration_public", - "integration_require_code_grant", - "discoverability_state", - "discovery_eligibility_flags", - "tags", - "install_params", - "bot_user_id" - FROM "applications" - `); - await queryRunner.query(` - DROP TABLE "applications" - `); - await queryRunner.query(` - ALTER TABLE "temporary_applications" - RENAME TO "applications" - `); - } - - public async down(queryRunner: QueryRunner): Promise { - await queryRunner.query(` - ALTER TABLE "applications" - RENAME TO "temporary_applications" - `); - await queryRunner.query(` - CREATE TABLE "applications" ( - "id" varchar PRIMARY KEY NOT NULL, - "name" varchar NOT NULL, - "icon" varchar, - "description" varchar, - "bot_public" boolean NOT NULL, - "bot_require_code_grant" boolean NOT NULL, - "terms_of_service_url" varchar, - "privacy_policy_url" varchar, - "summary" varchar, - "verify_key" varchar NOT NULL, - "cover_image" varchar, - "flags" varchar NOT NULL, - "owner_id" varchar, - "team_id" varchar, - "type" text, - "hook" boolean NOT NULL, - "redirect_uris" text, - "rpc_application_state" integer, - "store_application_state" integer, - "verification_state" integer, - "interactions_endpoint_url" varchar, - "integration_public" boolean, - "integration_require_code_grant" boolean, - "discoverability_state" integer, - "discovery_eligibility_flags" integer, - "tags" text, - "install_params" text, - "bot_user_id" varchar, - CONSTRAINT "UQ_b7f6e13565e920916d902e1f431" UNIQUE ("bot_user_id"), - CONSTRAINT "FK_2ce5a55796fe4c2f77ece57a647" FOREIGN KEY ("bot_user_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION, - CONSTRAINT "FK_e57508958bf92b9d9d25231b5e8" FOREIGN KEY ("owner_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION, - CONSTRAINT "FK_a36ed02953077f408d0f3ebc424" FOREIGN KEY ("team_id") REFERENCES "teams" ("id") ON DELETE CASCADE ON UPDATE NO ACTION - ) - `); - await queryRunner.query(` - INSERT INTO "applications"( - "id", - "name", - "icon", - "description", - "bot_public", - "bot_require_code_grant", - "terms_of_service_url", - "privacy_policy_url", - "summary", - "verify_key", - "cover_image", - "flags", - "owner_id", - "team_id", - "type", - "hook", - "redirect_uris", - "rpc_application_state", - "store_application_state", - "verification_state", - "interactions_endpoint_url", - "integration_public", - "integration_require_code_grant", - "discoverability_state", - "discovery_eligibility_flags", - "tags", - "install_params", - "bot_user_id" - ) - SELECT "id", - "name", - "icon", - "description", - "bot_public", - "bot_require_code_grant", - "terms_of_service_url", - "privacy_policy_url", - "summary", - "verify_key", - "cover_image", - "flags", - "owner_id", - "team_id", - "type", - "hook", - "redirect_uris", - "rpc_application_state", - "store_application_state", - "verification_state", - "interactions_endpoint_url", - "integration_public", - "integration_require_code_grant", - "discoverability_state", - "discovery_eligibility_flags", - "tags", - "install_params", - "bot_user_id" - FROM "temporary_applications" - `); - await queryRunner.query(` - DROP TABLE "temporary_applications" - `); - await queryRunner.query(` - ALTER TABLE "applications" - RENAME TO "temporary_applications" - `); - await queryRunner.query(` - CREATE TABLE "applications" ( - "id" varchar PRIMARY KEY NOT NULL, - "name" varchar NOT NULL, - "icon" varchar, - "description" varchar, - "bot_public" boolean NOT NULL, - "bot_require_code_grant" boolean NOT NULL, - "terms_of_service_url" varchar, - "privacy_policy_url" varchar, - "summary" varchar, - "verify_key" varchar NOT NULL, - "cover_image" varchar, - "flags" varchar NOT NULL, - "owner_id" varchar, - "team_id" varchar, - "type" text, - "hook" boolean NOT NULL, - "redirect_uris" text, - "rpc_application_state" integer, - "store_application_state" integer, - "verification_state" integer, - "interactions_endpoint_url" varchar, - "integration_public" boolean, - "integration_require_code_grant" boolean, - "discoverability_state" integer, - "discovery_eligibility_flags" integer, - "tags" text, - "install_params" text, - "bot_user_id" varchar, - CONSTRAINT "UQ_b7f6e13565e920916d902e1f431" UNIQUE ("bot_user_id"), - CONSTRAINT "FK_2ce5a55796fe4c2f77ece57a647" FOREIGN KEY ("bot_user_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION, - CONSTRAINT "FK_e57508958bf92b9d9d25231b5e8" FOREIGN KEY ("owner_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION, - CONSTRAINT "FK_a36ed02953077f408d0f3ebc424" FOREIGN KEY ("team_id") REFERENCES "teams" ("id") ON DELETE CASCADE ON UPDATE NO ACTION - ) - `); - await queryRunner.query(` - INSERT INTO "applications"( - "id", - "name", - "icon", - "description", - "bot_public", - "bot_require_code_grant", - "terms_of_service_url", - "privacy_policy_url", - "summary", - "verify_key", - "cover_image", - "flags", - "owner_id", - "team_id", - "type", - "hook", - "redirect_uris", - "rpc_application_state", - "store_application_state", - "verification_state", - "interactions_endpoint_url", - "integration_public", - "integration_require_code_grant", - "discoverability_state", - "discovery_eligibility_flags", - "tags", - "install_params", - "bot_user_id" - ) - SELECT "id", - "name", - "icon", - "description", - "bot_public", - "bot_require_code_grant", - "terms_of_service_url", - "privacy_policy_url", - "summary", - "verify_key", - "cover_image", - "flags", - "owner_id", - "team_id", - "type", - "hook", - "redirect_uris", - "rpc_application_state", - "store_application_state", - "verification_state", - "interactions_endpoint_url", - "integration_public", - "integration_require_code_grant", - "discoverability_state", - "discovery_eligibility_flags", - "tags", - "install_params", - "bot_user_id" - FROM "temporary_applications" - `); - await queryRunner.query(` - DROP TABLE "temporary_applications" - `); - } - -} diff --git a/util/src/migrations/sqlite/1660130536131-updated-applications.ts b/util/src/migrations/sqlite/1660130536131-updated-applications.ts new file mode 100644 index 00000000..b8cbcc33 --- /dev/null +++ b/util/src/migrations/sqlite/1660130536131-updated-applications.ts @@ -0,0 +1,829 @@ +import { MigrationInterface, QueryRunner } from "typeorm"; + +export class updatedApplications1660130536131 implements MigrationInterface { + name = 'updatedApplications1660130536131' + + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query(` + CREATE TABLE "temporary_applications" ( + "id" varchar PRIMARY KEY NOT NULL, + "name" varchar NOT NULL, + "icon" varchar, + "description" varchar NOT NULL, + "rpc_origins" text, + "bot_public" boolean NOT NULL, + "bot_require_code_grant" boolean NOT NULL, + "terms_of_service_url" varchar, + "privacy_policy_url" varchar, + "summary" varchar, + "verify_key" varchar NOT NULL, + "primary_sku_id" varchar, + "slug" varchar, + "cover_image" varchar, + "flags" varchar NOT NULL, + "owner_id" varchar, + "team_id" varchar, + "guild_id" varchar, + CONSTRAINT "FK_a36ed02953077f408d0f3ebc424" FOREIGN KEY ("team_id") REFERENCES "teams" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, + CONSTRAINT "FK_e57508958bf92b9d9d25231b5e8" FOREIGN KEY ("owner_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION + ) + `); + await queryRunner.query(` + INSERT INTO "temporary_applications"( + "id", + "name", + "icon", + "description", + "rpc_origins", + "bot_public", + "bot_require_code_grant", + "terms_of_service_url", + "privacy_policy_url", + "summary", + "verify_key", + "primary_sku_id", + "slug", + "cover_image", + "flags", + "owner_id", + "team_id", + "guild_id" + ) + SELECT "id", + "name", + "icon", + "description", + "rpc_origins", + "bot_public", + "bot_require_code_grant", + "terms_of_service_url", + "privacy_policy_url", + "summary", + "verify_key", + "primary_sku_id", + "slug", + "cover_image", + "flags", + "owner_id", + "team_id", + "guild_id" + FROM "applications" + `); + await queryRunner.query(` + DROP TABLE "applications" + `); + await queryRunner.query(` + ALTER TABLE "temporary_applications" + RENAME TO "applications" + `); + await queryRunner.query(` + CREATE TABLE "temporary_applications" ( + "id" varchar PRIMARY KEY NOT NULL, + "name" varchar NOT NULL, + "icon" varchar, + "description" varchar NOT NULL, + "bot_public" boolean NOT NULL, + "bot_require_code_grant" boolean NOT NULL, + "terms_of_service_url" varchar, + "privacy_policy_url" varchar, + "summary" varchar, + "verify_key" varchar NOT NULL, + "cover_image" varchar, + "flags" varchar NOT NULL, + "owner_id" varchar, + "team_id" varchar, + CONSTRAINT "FK_a36ed02953077f408d0f3ebc424" FOREIGN KEY ("team_id") REFERENCES "teams" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, + CONSTRAINT "FK_e57508958bf92b9d9d25231b5e8" FOREIGN KEY ("owner_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION + ) + `); + await queryRunner.query(` + INSERT INTO "temporary_applications"( + "id", + "name", + "icon", + "description", + "bot_public", + "bot_require_code_grant", + "terms_of_service_url", + "privacy_policy_url", + "summary", + "verify_key", + "cover_image", + "flags", + "owner_id", + "team_id" + ) + SELECT "id", + "name", + "icon", + "description", + "bot_public", + "bot_require_code_grant", + "terms_of_service_url", + "privacy_policy_url", + "summary", + "verify_key", + "cover_image", + "flags", + "owner_id", + "team_id" + FROM "applications" + `); + await queryRunner.query(` + DROP TABLE "applications" + `); + await queryRunner.query(` + ALTER TABLE "temporary_applications" + RENAME TO "applications" + `); + await queryRunner.query(` + CREATE TABLE "temporary_applications" ( + "id" varchar PRIMARY KEY NOT NULL, + "name" varchar NOT NULL, + "icon" varchar, + "description" varchar NOT NULL, + "bot_public" boolean NOT NULL, + "bot_require_code_grant" boolean NOT NULL, + "terms_of_service_url" varchar, + "privacy_policy_url" varchar, + "summary" varchar, + "verify_key" varchar NOT NULL, + "cover_image" varchar, + "flags" varchar NOT NULL, + "owner_id" varchar, + "team_id" varchar, + "type" text, + "hook" boolean NOT NULL, + "redirect_uris" text, + "rpc_application_state" integer, + "store_application_state" integer, + "verification_state" integer, + "interactions_endpoint_url" varchar, + "integration_public" boolean, + "integration_require_code_grant" boolean, + "discoverability_state" integer, + "discovery_eligibility_flags" integer, + "tags" text, + "install_params" text, + "bot_user_id" varchar, + CONSTRAINT "UQ_b7f6e13565e920916d902e1f431" UNIQUE ("bot_user_id"), + CONSTRAINT "FK_a36ed02953077f408d0f3ebc424" FOREIGN KEY ("team_id") REFERENCES "teams" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, + CONSTRAINT "FK_e57508958bf92b9d9d25231b5e8" FOREIGN KEY ("owner_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION + ) + `); + await queryRunner.query(` + INSERT INTO "temporary_applications"( + "id", + "name", + "icon", + "description", + "bot_public", + "bot_require_code_grant", + "terms_of_service_url", + "privacy_policy_url", + "summary", + "verify_key", + "cover_image", + "flags", + "owner_id", + "team_id" + ) + SELECT "id", + "name", + "icon", + "description", + "bot_public", + "bot_require_code_grant", + "terms_of_service_url", + "privacy_policy_url", + "summary", + "verify_key", + "cover_image", + "flags", + "owner_id", + "team_id" + FROM "applications" + `); + await queryRunner.query(` + DROP TABLE "applications" + `); + await queryRunner.query(` + ALTER TABLE "temporary_applications" + RENAME TO "applications" + `); + await queryRunner.query(` + CREATE TABLE "temporary_applications" ( + "id" varchar PRIMARY KEY NOT NULL, + "name" varchar NOT NULL, + "icon" varchar, + "description" varchar, + "bot_public" boolean NOT NULL, + "bot_require_code_grant" boolean NOT NULL, + "terms_of_service_url" varchar, + "privacy_policy_url" varchar, + "summary" varchar, + "verify_key" varchar NOT NULL, + "cover_image" varchar, + "flags" integer NOT NULL, + "owner_id" varchar, + "team_id" varchar, + "type" text, + "hook" boolean NOT NULL, + "redirect_uris" text, + "rpc_application_state" integer, + "store_application_state" integer, + "verification_state" integer, + "interactions_endpoint_url" varchar, + "integration_public" boolean, + "integration_require_code_grant" boolean, + "discoverability_state" integer, + "discovery_eligibility_flags" integer, + "tags" text, + "install_params" text, + "bot_user_id" varchar, + CONSTRAINT "UQ_b7f6e13565e920916d902e1f431" UNIQUE ("bot_user_id"), + CONSTRAINT "FK_a36ed02953077f408d0f3ebc424" FOREIGN KEY ("team_id") REFERENCES "teams" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, + CONSTRAINT "FK_e57508958bf92b9d9d25231b5e8" FOREIGN KEY ("owner_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION + ) + `); + await queryRunner.query(` + INSERT INTO "temporary_applications"( + "id", + "name", + "icon", + "description", + "bot_public", + "bot_require_code_grant", + "terms_of_service_url", + "privacy_policy_url", + "summary", + "verify_key", + "cover_image", + "flags", + "owner_id", + "team_id", + "type", + "hook", + "redirect_uris", + "rpc_application_state", + "store_application_state", + "verification_state", + "interactions_endpoint_url", + "integration_public", + "integration_require_code_grant", + "discoverability_state", + "discovery_eligibility_flags", + "tags", + "install_params", + "bot_user_id" + ) + SELECT "id", + "name", + "icon", + "description", + "bot_public", + "bot_require_code_grant", + "terms_of_service_url", + "privacy_policy_url", + "summary", + "verify_key", + "cover_image", + "flags", + "owner_id", + "team_id", + "type", + "hook", + "redirect_uris", + "rpc_application_state", + "store_application_state", + "verification_state", + "interactions_endpoint_url", + "integration_public", + "integration_require_code_grant", + "discoverability_state", + "discovery_eligibility_flags", + "tags", + "install_params", + "bot_user_id" + FROM "applications" + `); + await queryRunner.query(` + DROP TABLE "applications" + `); + await queryRunner.query(` + ALTER TABLE "temporary_applications" + RENAME TO "applications" + `); + await queryRunner.query(` + CREATE TABLE "temporary_applications" ( + "id" varchar PRIMARY KEY NOT NULL, + "name" varchar NOT NULL, + "icon" varchar, + "description" varchar, + "bot_public" boolean NOT NULL, + "bot_require_code_grant" boolean NOT NULL, + "terms_of_service_url" varchar, + "privacy_policy_url" varchar, + "summary" varchar, + "verify_key" varchar NOT NULL, + "cover_image" varchar, + "flags" integer NOT NULL, + "owner_id" varchar, + "team_id" varchar, + "type" text, + "hook" boolean NOT NULL, + "redirect_uris" text, + "rpc_application_state" integer, + "store_application_state" integer, + "verification_state" integer, + "interactions_endpoint_url" varchar, + "integration_public" boolean, + "integration_require_code_grant" boolean, + "discoverability_state" integer, + "discovery_eligibility_flags" integer, + "tags" text, + "install_params" text, + "bot_user_id" varchar, + CONSTRAINT "UQ_b7f6e13565e920916d902e1f431" UNIQUE ("bot_user_id"), + CONSTRAINT "FK_a36ed02953077f408d0f3ebc424" FOREIGN KEY ("team_id") REFERENCES "teams" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, + CONSTRAINT "FK_e57508958bf92b9d9d25231b5e8" FOREIGN KEY ("owner_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION, + CONSTRAINT "FK_2ce5a55796fe4c2f77ece57a647" FOREIGN KEY ("bot_user_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION + ) + `); + await queryRunner.query(` + INSERT INTO "temporary_applications"( + "id", + "name", + "icon", + "description", + "bot_public", + "bot_require_code_grant", + "terms_of_service_url", + "privacy_policy_url", + "summary", + "verify_key", + "cover_image", + "flags", + "owner_id", + "team_id", + "type", + "hook", + "redirect_uris", + "rpc_application_state", + "store_application_state", + "verification_state", + "interactions_endpoint_url", + "integration_public", + "integration_require_code_grant", + "discoverability_state", + "discovery_eligibility_flags", + "tags", + "install_params", + "bot_user_id" + ) + SELECT "id", + "name", + "icon", + "description", + "bot_public", + "bot_require_code_grant", + "terms_of_service_url", + "privacy_policy_url", + "summary", + "verify_key", + "cover_image", + "flags", + "owner_id", + "team_id", + "type", + "hook", + "redirect_uris", + "rpc_application_state", + "store_application_state", + "verification_state", + "interactions_endpoint_url", + "integration_public", + "integration_require_code_grant", + "discoverability_state", + "discovery_eligibility_flags", + "tags", + "install_params", + "bot_user_id" + FROM "applications" + `); + await queryRunner.query(` + DROP TABLE "applications" + `); + await queryRunner.query(` + ALTER TABLE "temporary_applications" + RENAME TO "applications" + `); + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query(` + ALTER TABLE "applications" + RENAME TO "temporary_applications" + `); + await queryRunner.query(` + CREATE TABLE "applications" ( + "id" varchar PRIMARY KEY NOT NULL, + "name" varchar NOT NULL, + "icon" varchar, + "description" varchar, + "bot_public" boolean NOT NULL, + "bot_require_code_grant" boolean NOT NULL, + "terms_of_service_url" varchar, + "privacy_policy_url" varchar, + "summary" varchar, + "verify_key" varchar NOT NULL, + "cover_image" varchar, + "flags" integer NOT NULL, + "owner_id" varchar, + "team_id" varchar, + "type" text, + "hook" boolean NOT NULL, + "redirect_uris" text, + "rpc_application_state" integer, + "store_application_state" integer, + "verification_state" integer, + "interactions_endpoint_url" varchar, + "integration_public" boolean, + "integration_require_code_grant" boolean, + "discoverability_state" integer, + "discovery_eligibility_flags" integer, + "tags" text, + "install_params" text, + "bot_user_id" varchar, + CONSTRAINT "UQ_b7f6e13565e920916d902e1f431" UNIQUE ("bot_user_id"), + CONSTRAINT "FK_a36ed02953077f408d0f3ebc424" FOREIGN KEY ("team_id") REFERENCES "teams" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, + CONSTRAINT "FK_e57508958bf92b9d9d25231b5e8" FOREIGN KEY ("owner_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION + ) + `); + await queryRunner.query(` + INSERT INTO "applications"( + "id", + "name", + "icon", + "description", + "bot_public", + "bot_require_code_grant", + "terms_of_service_url", + "privacy_policy_url", + "summary", + "verify_key", + "cover_image", + "flags", + "owner_id", + "team_id", + "type", + "hook", + "redirect_uris", + "rpc_application_state", + "store_application_state", + "verification_state", + "interactions_endpoint_url", + "integration_public", + "integration_require_code_grant", + "discoverability_state", + "discovery_eligibility_flags", + "tags", + "install_params", + "bot_user_id" + ) + SELECT "id", + "name", + "icon", + "description", + "bot_public", + "bot_require_code_grant", + "terms_of_service_url", + "privacy_policy_url", + "summary", + "verify_key", + "cover_image", + "flags", + "owner_id", + "team_id", + "type", + "hook", + "redirect_uris", + "rpc_application_state", + "store_application_state", + "verification_state", + "interactions_endpoint_url", + "integration_public", + "integration_require_code_grant", + "discoverability_state", + "discovery_eligibility_flags", + "tags", + "install_params", + "bot_user_id" + FROM "temporary_applications" + `); + await queryRunner.query(` + DROP TABLE "temporary_applications" + `); + await queryRunner.query(` + ALTER TABLE "applications" + RENAME TO "temporary_applications" + `); + await queryRunner.query(` + CREATE TABLE "applications" ( + "id" varchar PRIMARY KEY NOT NULL, + "name" varchar NOT NULL, + "icon" varchar, + "description" varchar NOT NULL, + "bot_public" boolean NOT NULL, + "bot_require_code_grant" boolean NOT NULL, + "terms_of_service_url" varchar, + "privacy_policy_url" varchar, + "summary" varchar, + "verify_key" varchar NOT NULL, + "cover_image" varchar, + "flags" varchar NOT NULL, + "owner_id" varchar, + "team_id" varchar, + "type" text, + "hook" boolean NOT NULL, + "redirect_uris" text, + "rpc_application_state" integer, + "store_application_state" integer, + "verification_state" integer, + "interactions_endpoint_url" varchar, + "integration_public" boolean, + "integration_require_code_grant" boolean, + "discoverability_state" integer, + "discovery_eligibility_flags" integer, + "tags" text, + "install_params" text, + "bot_user_id" varchar, + CONSTRAINT "UQ_b7f6e13565e920916d902e1f431" UNIQUE ("bot_user_id"), + CONSTRAINT "FK_a36ed02953077f408d0f3ebc424" FOREIGN KEY ("team_id") REFERENCES "teams" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, + CONSTRAINT "FK_e57508958bf92b9d9d25231b5e8" FOREIGN KEY ("owner_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION + ) + `); + await queryRunner.query(` + INSERT INTO "applications"( + "id", + "name", + "icon", + "description", + "bot_public", + "bot_require_code_grant", + "terms_of_service_url", + "privacy_policy_url", + "summary", + "verify_key", + "cover_image", + "flags", + "owner_id", + "team_id", + "type", + "hook", + "redirect_uris", + "rpc_application_state", + "store_application_state", + "verification_state", + "interactions_endpoint_url", + "integration_public", + "integration_require_code_grant", + "discoverability_state", + "discovery_eligibility_flags", + "tags", + "install_params", + "bot_user_id" + ) + SELECT "id", + "name", + "icon", + "description", + "bot_public", + "bot_require_code_grant", + "terms_of_service_url", + "privacy_policy_url", + "summary", + "verify_key", + "cover_image", + "flags", + "owner_id", + "team_id", + "type", + "hook", + "redirect_uris", + "rpc_application_state", + "store_application_state", + "verification_state", + "interactions_endpoint_url", + "integration_public", + "integration_require_code_grant", + "discoverability_state", + "discovery_eligibility_flags", + "tags", + "install_params", + "bot_user_id" + FROM "temporary_applications" + `); + await queryRunner.query(` + DROP TABLE "temporary_applications" + `); + await queryRunner.query(` + ALTER TABLE "applications" + RENAME TO "temporary_applications" + `); + await queryRunner.query(` + CREATE TABLE "applications" ( + "id" varchar PRIMARY KEY NOT NULL, + "name" varchar NOT NULL, + "icon" varchar, + "description" varchar NOT NULL, + "bot_public" boolean NOT NULL, + "bot_require_code_grant" boolean NOT NULL, + "terms_of_service_url" varchar, + "privacy_policy_url" varchar, + "summary" varchar, + "verify_key" varchar NOT NULL, + "cover_image" varchar, + "flags" varchar NOT NULL, + "owner_id" varchar, + "team_id" varchar, + CONSTRAINT "FK_a36ed02953077f408d0f3ebc424" FOREIGN KEY ("team_id") REFERENCES "teams" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, + CONSTRAINT "FK_e57508958bf92b9d9d25231b5e8" FOREIGN KEY ("owner_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION + ) + `); + await queryRunner.query(` + INSERT INTO "applications"( + "id", + "name", + "icon", + "description", + "bot_public", + "bot_require_code_grant", + "terms_of_service_url", + "privacy_policy_url", + "summary", + "verify_key", + "cover_image", + "flags", + "owner_id", + "team_id" + ) + SELECT "id", + "name", + "icon", + "description", + "bot_public", + "bot_require_code_grant", + "terms_of_service_url", + "privacy_policy_url", + "summary", + "verify_key", + "cover_image", + "flags", + "owner_id", + "team_id" + FROM "temporary_applications" + `); + await queryRunner.query(` + DROP TABLE "temporary_applications" + `); + await queryRunner.query(` + ALTER TABLE "applications" + RENAME TO "temporary_applications" + `); + await queryRunner.query(` + CREATE TABLE "applications" ( + "id" varchar PRIMARY KEY NOT NULL, + "name" varchar NOT NULL, + "icon" varchar, + "description" varchar NOT NULL, + "rpc_origins" text, + "bot_public" boolean NOT NULL, + "bot_require_code_grant" boolean NOT NULL, + "terms_of_service_url" varchar, + "privacy_policy_url" varchar, + "summary" varchar, + "verify_key" varchar NOT NULL, + "primary_sku_id" varchar, + "slug" varchar, + "cover_image" varchar, + "flags" varchar NOT NULL, + "owner_id" varchar, + "team_id" varchar, + "guild_id" varchar, + CONSTRAINT "FK_a36ed02953077f408d0f3ebc424" FOREIGN KEY ("team_id") REFERENCES "teams" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, + CONSTRAINT "FK_e57508958bf92b9d9d25231b5e8" FOREIGN KEY ("owner_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION + ) + `); + await queryRunner.query(` + INSERT INTO "applications"( + "id", + "name", + "icon", + "description", + "bot_public", + "bot_require_code_grant", + "terms_of_service_url", + "privacy_policy_url", + "summary", + "verify_key", + "cover_image", + "flags", + "owner_id", + "team_id" + ) + SELECT "id", + "name", + "icon", + "description", + "bot_public", + "bot_require_code_grant", + "terms_of_service_url", + "privacy_policy_url", + "summary", + "verify_key", + "cover_image", + "flags", + "owner_id", + "team_id" + FROM "temporary_applications" + `); + await queryRunner.query(` + DROP TABLE "temporary_applications" + `); + await queryRunner.query(` + ALTER TABLE "applications" + RENAME TO "temporary_applications" + `); + await queryRunner.query(` + CREATE TABLE "applications" ( + "id" varchar PRIMARY KEY NOT NULL, + "name" varchar NOT NULL, + "icon" varchar, + "description" varchar NOT NULL, + "rpc_origins" text, + "bot_public" boolean NOT NULL, + "bot_require_code_grant" boolean NOT NULL, + "terms_of_service_url" varchar, + "privacy_policy_url" varchar, + "summary" varchar, + "verify_key" varchar NOT NULL, + "primary_sku_id" varchar, + "slug" varchar, + "cover_image" varchar, + "flags" varchar NOT NULL, + "owner_id" varchar, + "team_id" varchar, + "guild_id" varchar, + CONSTRAINT "FK_e5bf78cdbbe9ba91062d74c5aba" FOREIGN KEY ("guild_id") REFERENCES "guilds" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION, + CONSTRAINT "FK_a36ed02953077f408d0f3ebc424" FOREIGN KEY ("team_id") REFERENCES "teams" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, + CONSTRAINT "FK_e57508958bf92b9d9d25231b5e8" FOREIGN KEY ("owner_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION + ) + `); + await queryRunner.query(` + INSERT INTO "applications"( + "id", + "name", + "icon", + "description", + "rpc_origins", + "bot_public", + "bot_require_code_grant", + "terms_of_service_url", + "privacy_policy_url", + "summary", + "verify_key", + "primary_sku_id", + "slug", + "cover_image", + "flags", + "owner_id", + "team_id", + "guild_id" + ) + SELECT "id", + "name", + "icon", + "description", + "rpc_origins", + "bot_public", + "bot_require_code_grant", + "terms_of_service_url", + "privacy_policy_url", + "summary", + "verify_key", + "primary_sku_id", + "slug", + "cover_image", + "flags", + "owner_id", + "team_id", + "guild_id" + FROM "temporary_applications" + `); + await queryRunner.query(` + DROP TABLE "temporary_applications" + `); + } + +} -- cgit 1.5.1 From d20a42af18ff641f365bcee2069cb660cc6dbe35 Mon Sep 17 00:00:00 2001 From: TheArcaneBrony Date: Wed, 10 Aug 2022 16:07:01 +0200 Subject: Make teams nullable --- api/src/routes/applications/index.ts | 3 +-- util/src/entities/Application.ts | 1 + .../mariadb/1660131942703-apps_nullable_team.ts | 18 ++++++++++++++++++ 3 files changed, 20 insertions(+), 2 deletions(-) create mode 100644 util/src/migrations/mariadb/1660131942703-apps_nullable_team.ts diff --git a/api/src/routes/applications/index.ts b/api/src/routes/applications/index.ts index 41ce35b5..033dcc51 100644 --- a/api/src/routes/applications/index.ts +++ b/api/src/routes/applications/index.ts @@ -23,10 +23,9 @@ router.post("/", route({}), async (req: Request, res: Response) => { name: trimSpecial(body.name), description: "", bot_public: true, - bot_require_code_grant: false, owner: user, verify_key: "IMPLEMENTME", - flags: "" + flags: 0 }); await app.save(); res.json(app).status(200); diff --git a/util/src/entities/Application.ts b/util/src/entities/Application.ts index 28381579..103f8e84 100644 --- a/util/src/entities/Application.ts +++ b/util/src/entities/Application.ts @@ -104,6 +104,7 @@ export class Application extends BaseClass { @JoinColumn({ name: "team_id" }) @ManyToOne(() => Team, { onDelete: "CASCADE", + nullable: true }) team?: Team; diff --git a/util/src/migrations/mariadb/1660131942703-apps_nullable_team.ts b/util/src/migrations/mariadb/1660131942703-apps_nullable_team.ts new file mode 100644 index 00000000..ac445772 --- /dev/null +++ b/util/src/migrations/mariadb/1660131942703-apps_nullable_team.ts @@ -0,0 +1,18 @@ +import { MigrationInterface, QueryRunner } from "typeorm"; + +export class appsNullableTeam1660131942703 implements MigrationInterface { + name = 'appsNullableTeam1660131942703' + + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query(` + DROP INDEX \`IDX_2ce5a55796fe4c2f77ece57a64\` ON \`applications\` + `); + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query(` + CREATE UNIQUE INDEX \`IDX_2ce5a55796fe4c2f77ece57a64\` ON \`applications\` (\`bot_user_id\`) + `); + } + +} -- cgit 1.5.1 From 443c7d8a1ee81add4b549b00fc27fefe6e50279c Mon Sep 17 00:00:00 2001 From: ChrisChrome Date: Fri, 12 Aug 2022 23:28:12 -0600 Subject: Made nitro stuff make some sense --- api/src/routes/applications/#id/bot/index.ts | 8 ++++---- bundle/package.json | 2 +- util/src/entities/Member.ts | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/api/src/routes/applications/#id/bot/index.ts b/api/src/routes/applications/#id/bot/index.ts index a8a24d13..a51c9526 100644 --- a/api/src/routes/applications/#id/bot/index.ts +++ b/api/src/routes/applications/#id/bot/index.ts @@ -28,13 +28,13 @@ router.post("/", route({}), async (req: Request, res: Response) => { id: app.id, bot: true, system: false, - premium_since: new Date(), + premium_since: 0, desktop: false, mobile: false, - premium: true, - premium_type: 2, + premium: false, + premium_type: 0, bio: app.description, - mfa_enabled: false, + mfa_enabled: true, totp_secret: "", totp_backup_codes: [], verified: true, diff --git a/bundle/package.json b/bundle/package.json index 6adb569c..b67598b8 100644 --- a/bundle/package.json +++ b/bundle/package.json @@ -99,4 +99,4 @@ "typescript": "^4.1.2", "ws": "^8.8.1" } -} +} \ No newline at end of file diff --git a/util/src/entities/Member.ts b/util/src/entities/Member.ts index d4395e03..baac58ed 100644 --- a/util/src/entities/Member.ts +++ b/util/src/entities/Member.ts @@ -257,7 +257,7 @@ export class Member extends BaseClassWithoutId { nick: undefined, roles: [guild_id], // @everyone role joined_at: new Date(), - premium_since: new Date(), + premium_since: null, deaf: false, mute: false, pending: false, -- cgit 1.5.1 From d9760fe9146ba87a8296a566abbb4aa7ab61c750 Mon Sep 17 00:00:00 2001 From: ChrisChrome Date: Fri, 12 Aug 2022 23:44:50 -0600 Subject: Handle avatar uploads --- api/src/routes/applications/#id/bot/index.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/api/src/routes/applications/#id/bot/index.ts b/api/src/routes/applications/#id/bot/index.ts index a51c9526..562c31fe 100644 --- a/api/src/routes/applications/#id/bot/index.ts +++ b/api/src/routes/applications/#id/bot/index.ts @@ -1,6 +1,6 @@ import { Request, Response, Router } from "express"; import { route } from "@fosscord/api"; -import { Application, Config, FieldErrors, generateToken, OrmUtils, Snowflake, trimSpecial, User } from "@fosscord/util"; +import { Application, Config, FieldErrors, generateToken, OrmUtils, Snowflake, trimSpecial, User, handleFile } from "@fosscord/util"; import { HTTPError } from "lambert-server"; import { verifyToken } from "node-2fa"; @@ -74,7 +74,7 @@ router.post("/reset", route({}), async (req: Request, res: Response) => { }); router.patch("/", route({}), async (req: Request, res: Response) => { - delete req.body.avatar; + if (req.body.avatar) req.body.avatar = await handleFile(`/avatars/${req.params.id}`, req.body.avatar as string); let app = OrmUtils.mergeDeep(await User.findOne({where: {id: req.params.id}}), req.body); await app.save(); res.json(app).status(200); -- cgit 1.5.1