mirror of
https://github.com/spacebarchat/server.git
synced 2024-11-10 12:42:44 +01:00
Fix duplicate key
This commit is contained in:
parent
d430e74296
commit
79aee5145b
@ -4744,7 +4744,7 @@
|
||||
"type": "string"
|
||||
},
|
||||
"permissions": {
|
||||
"type": "bigint"
|
||||
"type": "array"
|
||||
},
|
||||
"color": {
|
||||
"type": "integer"
|
||||
|
@ -10,10 +10,10 @@ const InviteRegex = /\W/g;
|
||||
router.get("/", route({ permission: "MANAGE_GUILD" }), async (req: Request, res: Response) => {
|
||||
const { guild_id } = req.params;
|
||||
|
||||
const guild = await Guild.findOneOrFail({ where: { id: guild_id }, relations: ["vanity_url"] });
|
||||
if (!guild.vanity_url) return res.json({ code: null });
|
||||
const invite = await Invite.findOne({ where: {guild_id: guild_id, vanity_url: true} });
|
||||
if (!invite) return res.json({ code: null });
|
||||
|
||||
return res.json({ code: guild.vanity_url_code, uses: guild.vanity_url.uses });
|
||||
return res.json({ code: invite.code, uses: invite.uses });
|
||||
});
|
||||
|
||||
export interface VanityUrlSchema {
|
||||
@ -33,12 +33,9 @@ router.patch("/", route({ body: "VanityUrlSchema", permission: "MANAGE_GUILD" })
|
||||
const invite = await Invite.findOne({ code });
|
||||
if (invite) throw new HTTPError("Invite already exists");
|
||||
|
||||
const guild = await Guild.findOneOrFail({ id: guild_id });
|
||||
const { id } = await Channel.findOneOrFail({ guild_id, type: ChannelType.GUILD_TEXT });
|
||||
|
||||
Promise.all([
|
||||
Guild.update({ id: guild_id }, { vanity_url_code: code }),
|
||||
Invite.delete({ code: guild.vanity_url_code }),
|
||||
new Invite({
|
||||
code: code,
|
||||
uses: 0,
|
||||
|
@ -33,7 +33,6 @@ router.delete("/:code", route({}), async (req: Request, res: Response) => {
|
||||
|
||||
await Promise.all([
|
||||
Invite.delete({ code }),
|
||||
Guild.update({ vanity_url_code: code }, { vanity_url_code: undefined }),
|
||||
emitEvent({
|
||||
event: "INVITE_DELETE",
|
||||
guild_id: guild_id,
|
||||
|
@ -1,6 +1,22 @@
|
||||
const { execSync } = require("child_process");
|
||||
const path = require("path");
|
||||
const fse = require("fs-extra");
|
||||
const { getSystemErrorMap } = require("util");
|
||||
const { argv } = require("process");
|
||||
|
||||
const dirs = ["api", "util", "cdn", "gateway", "bundle"];
|
||||
|
||||
const verbose = argv.includes("verbose") || argv.includes("v");
|
||||
|
||||
if(argv.includes("clean")){
|
||||
dirs.forEach(a=>{
|
||||
var d = "../"+a+"/dist";
|
||||
if(fse.existsSync(d)) {
|
||||
fse.rmSync(d,{recursive: true});
|
||||
if(verbose) console.log(`Deleted ${d}!`);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
fse.copySync(path.join(__dirname, "..", "..", "api", "assets"), path.join(__dirname, "..", "dist", "api", "assets"));
|
||||
fse.copySync(
|
||||
@ -8,13 +24,12 @@ fse.copySync(
|
||||
path.join(__dirname, "..", "dist", "api", "client_test")
|
||||
);
|
||||
fse.copySync(path.join(__dirname, "..", "..", "api", "locales"), path.join(__dirname, "..", "dist", "api", "locales"));
|
||||
fse.copySync(path.join(__dirname, "..", "..", "api", "src"), path.join(__dirname, "..", "dist", "api", "src"));
|
||||
fse.copySync(path.join(__dirname, "..", "..", "util", "src"), path.join(__dirname, "..", "dist", "util", "src"));
|
||||
fse.copySync(path.join(__dirname, "..", "..", "cdn", "src"), path.join(__dirname, "..", "dist", "cdn", "src"));
|
||||
fse.copySync(path.join(__dirname, "..", "..", "gateway", "src"), path.join(__dirname, "..", "dist", "gateway", "src"));
|
||||
fse.copySync(path.join(__dirname, "..", "..", "bundle", "src"), path.join(__dirname, "..", "dist", "bundle", "src"));
|
||||
dirs.forEach(a=>{
|
||||
fse.copySync("../"+a+"/src", "dist/"+a+"/src");
|
||||
if(verbose) console.log(`Copied ${"../"+a+"/dist"} -> ${"dist/"+a+"/src"}!`);
|
||||
});
|
||||
|
||||
console.log("Copying src files done");
|
||||
console.log("Copying src files done");
|
||||
console.log("Compiling src files ...");
|
||||
|
||||
console.log(
|
||||
|
@ -257,14 +257,6 @@ export class Guild extends BaseClass {
|
||||
@Column({ nullable: true })
|
||||
unavailable?: boolean;
|
||||
|
||||
@Column({ nullable: true })
|
||||
@RelationId((guild: Guild) => guild.vanity_url)
|
||||
vanity_url_code?: string;
|
||||
|
||||
@JoinColumn({ name: "vanity_url_code" })
|
||||
@ManyToOne(() => Invite)
|
||||
vanity_url?: Invite;
|
||||
|
||||
@Column({ nullable: true })
|
||||
verification_level?: number;
|
||||
|
||||
|
@ -71,6 +71,9 @@ export class Invite extends BaseClass {
|
||||
@Column({ nullable: true })
|
||||
target_user_type?: number;
|
||||
|
||||
@Column({ nullable: true})
|
||||
vanity_url?: boolean;
|
||||
|
||||
static async joinGuild(user_id: string, code: string) {
|
||||
const invite = await Invite.findOneOrFail({ code });
|
||||
if (invite.uses++ >= invite.max_uses && invite.max_uses !== 0) await Invite.delete({ code });
|
||||
|
Loading…
Reference in New Issue
Block a user