mirror of
https://github.com/spacebarchat/server.git
synced 2026-05-24 16:45:16 +00:00
Add basic developer panel functionality - doesn't work yet
> > > Co-authored-by: TheArcaneBrony <myrainbowdash949@gmail.com>
This commit is contained in:
+3
-1
@@ -16,4 +16,6 @@ api/assets/plugins/*.js
|
||||
|
||||
*.log
|
||||
*.log.ansi
|
||||
bundle/depclean.*
|
||||
bundle/depclean.*
|
||||
*.tmp
|
||||
tmp/
|
||||
|
||||
@@ -1,42 +1,44 @@
|
||||
<!DOCTYPE html>
|
||||
<html class="theme-dark" data-theme="dark">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta content="width=device-width, initial-scale=1.0, maximum-scale=1, user-scalable=no" name="viewport" />
|
||||
|
||||
<link rel="stylesheet" href="/assets/532.03aaeef88460fae60534.css" integrity="" />
|
||||
<link rel="icon" href="/assets/07dca80a102d4149e9736d4b162cff6f.ico" />
|
||||
<title>Discord Test Client Developer Portal</title>
|
||||
<meta charset="utf-8" data-react-helmet="true" />
|
||||
</head>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta content="width=device-width, initial-scale=1.0, maximum-scale=1, user-scalable=no" name="viewport" />
|
||||
|
||||
<body>
|
||||
<div id="app-mount"></div>
|
||||
<script>
|
||||
window.GLOBAL_ENV = {
|
||||
API_VERSION: 9,
|
||||
API_ENDPOINT: "/api",
|
||||
WEBAPP_ENDPOINT: "",
|
||||
CDN_HOST: `${location.hostname}:3003`,
|
||||
<link rel="stylesheet" href="/assets/532.03aaeef88460fae60534.css" integrity="" />
|
||||
<link rel="icon" href="/assets/07dca80a102d4149e9736d4b162cff6f.ico" />
|
||||
<title>Discord Test Client Developer Portal</title>
|
||||
<meta charset="utf-8" data-react-helmet="true" />
|
||||
</head>
|
||||
|
||||
BRAINTREE_KEY: "production_5st77rrc_49pp2rp4phym7387",
|
||||
STRIPE_KEY: "pk_live_CUQtlpQUF0vufWpnpUmQvcdi",
|
||||
MARKETING_ENDPOINT: "//discord.com",
|
||||
RELEASE_CHANNEL: "stable",
|
||||
ALGOLIA_KEY: "aca0d7082e4e63af5ba5917d5e96bed0"
|
||||
};
|
||||
GLOBAL_ENV.MEDIA_PROXY_ENDPOINT = location.protocol + "//" + GLOBAL_ENV.CDN_HOST;
|
||||
const localStorage = window.localStorage;
|
||||
// TODO: remote auth
|
||||
// window.GLOBAL_ENV.REMOTE_AUTH_ENDPOINT = window.GLOBAL_ENV.GATEWAY_ENDPOINT.replace(/wss?:/, "");
|
||||
localStorage.setItem("gatewayURL", window.GLOBAL_ENV.GATEWAY_ENDPOINT);
|
||||
localStorage.setItem(
|
||||
"DeveloperOptionsStore",
|
||||
`{"trace":false,"canary":false,"logGatewayEvents":true,"logOverlayEvents":true,"logAnalyticsEvents":true,"sourceMapsEnabled":false,"axeEnabled":false}`
|
||||
);
|
||||
</script>
|
||||
<script src="/assets/41fde19fdf180f3d4315.js" integrity=""></script>
|
||||
<script src="/assets/7b04a3ab10e05dd9054e.js" integrity=""></script>
|
||||
<script src="/assets/d1f811da193e5648048b.js" integrity=""></script>
|
||||
</body>
|
||||
</html>
|
||||
<body>
|
||||
<div id="app-mount"></div>
|
||||
<script>
|
||||
window.GLOBAL_ENV = {
|
||||
API_VERSION: 9,
|
||||
API_ENDPOINT: "/api",
|
||||
WEBAPP_ENDPOINT: "",
|
||||
CDN_HOST: `${location.hostname}:3003`,
|
||||
|
||||
BRAINTREE_KEY: "production_5st77rrc_49pp2rp4phym7387",
|
||||
STRIPE_KEY: "pk_live_CUQtlpQUF0vufWpnpUmQvcdi",
|
||||
MARKETING_ENDPOINT: "//discord.com",
|
||||
RELEASE_CHANNEL: "stable",
|
||||
ALGOLIA_KEY: "aca0d7082e4e63af5ba5917d5e96bed0"
|
||||
};
|
||||
GLOBAL_ENV.MEDIA_PROXY_ENDPOINT = location.protocol + "//" + GLOBAL_ENV.CDN_HOST;
|
||||
const localStorage = window.localStorage;
|
||||
// TODO: remote auth
|
||||
// window.GLOBAL_ENV.REMOTE_AUTH_ENDPOINT = window.GLOBAL_ENV.GATEWAY_ENDPOINT.replace(/wss?:/, "");
|
||||
localStorage.setItem("gatewayURL", window.GLOBAL_ENV.GATEWAY_ENDPOINT);
|
||||
localStorage.setItem(
|
||||
"DeveloperOptionsStore",
|
||||
`{"trace":false,"canary":false,"logGatewayEvents":true,"logOverlayEvents":true,"logAnalyticsEvents":true,"sourceMapsEnabled":false,"axeEnabled":false}`
|
||||
);
|
||||
</script>
|
||||
<script src="/assets/38f40c32d3c8a2fdf73b.js" integrity=""></script>
|
||||
<script src="/assets/aa190934324e05fcc35c.js" integrity=""></script>
|
||||
<script src="/assets/45664a0209e828a528b4.js" integrity=""></script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -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;
|
||||
@@ -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;
|
||||
@@ -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;
|
||||
@@ -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);
|
||||
});
|
||||
|
||||
export default router;
|
||||
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;
|
||||
@@ -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
|
||||
|
||||
@@ -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({ nullable: true })
|
||||
summary: string = "";
|
||||
|
||||
@Column({ type: "simple-json", nullable: true })
|
||||
type?: any;
|
||||
|
||||
@Column()
|
||||
hook: boolean = true;
|
||||
|
||||
@Column()
|
||||
bot_public?: boolean = true;
|
||||
|
||||
@Column()
|
||||
bot_require_code_grant?: boolean = false;
|
||||
|
||||
@Column()
|
||||
verify_key: string;
|
||||
|
||||
@JoinColumn({ name: "owner_id" })
|
||||
@ManyToOne(() => User)
|
||||
owner: User;
|
||||
|
||||
@Column()
|
||||
flags: number = 0;
|
||||
|
||||
@Column({ type: "simple-array", nullable: true })
|
||||
rpc_origins?: string[];
|
||||
|
||||
@Column()
|
||||
bot_public: boolean;
|
||||
|
||||
@Column()
|
||||
bot_require_code_grant: boolean;
|
||||
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;
|
||||
|
||||
@@ -194,7 +194,7 @@ export class User extends BaseClass {
|
||||
});
|
||||
}
|
||||
|
||||
private static async generateDiscriminator(username: string): Promise<string | undefined> {
|
||||
public static async generateDiscriminator(username: string): Promise<string | undefined> {
|
||||
if (Config.get().register.incrementingDiscriminators) {
|
||||
// discriminator will be incrementally generated
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -0,0 +1,623 @@
|
||||
import { MigrationInterface, QueryRunner } from "typeorm";
|
||||
|
||||
export class modernApps1660110227241 implements MigrationInterface {
|
||||
name = 'modernApps1660110227241'
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
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<void> {
|
||||
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"
|
||||
`);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,220 @@
|
||||
import { MigrationInterface, QueryRunner } from "typeorm";
|
||||
|
||||
export class apps21660110592990 implements MigrationInterface {
|
||||
name = 'apps21660110592990'
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
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<void> {
|
||||
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"
|
||||
`);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,428 @@
|
||||
import { MigrationInterface, QueryRunner } from "typeorm";
|
||||
|
||||
export class yes1660110798713 implements MigrationInterface {
|
||||
name = 'yes1660110798713'
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
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<void> {
|
||||
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"
|
||||
`);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,428 @@
|
||||
import { MigrationInterface, QueryRunner } from "typeorm";
|
||||
|
||||
export class defaultsApps1660112323115 implements MigrationInterface {
|
||||
name = 'defaultsApps1660112323115'
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
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<void> {
|
||||
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"
|
||||
`);
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user