summary refs log tree commit diff
path: root/src/routes
diff options
context:
space:
mode:
authorFlam3rboy <34555296+Flam3rboy@users.noreply.github.com>2021-02-22 15:51:53 +0100
committerFlam3rboy <34555296+Flam3rboy@users.noreply.github.com>2021-02-22 15:51:53 +0100
commita0cb65ccad9036c9f58de3ae800b20e99c8a430e (patch)
treea4fb59f57a50488be6d4b7aa1823bec646ec9613 /src/routes
parent:art: [Ban] use removeMember() + move ban in seperate file (diff)
downloadserver-a0cb65ccad9036c9f58de3ae800b20e99c8a430e.tar.xz
:art: restructure + add/remove Member() function
Diffstat (limited to 'src/routes')
-rw-r--r--src/routes/api/v8/auth/login.ts2
-rw-r--r--src/routes/api/v8/auth/register.ts2
-rw-r--r--src/routes/api/v8/users/@me/guilds.ts25
3 files changed, 15 insertions, 14 deletions
diff --git a/src/routes/api/v8/auth/login.ts b/src/routes/api/v8/auth/login.ts

index 68367120..acdac1ce 100644 --- a/src/routes/api/v8/auth/login.ts +++ b/src/routes/api/v8/auth/login.ts
@@ -2,7 +2,7 @@ import { Request, Response, Router } from "express"; import { check, FieldErrors, Length } from "../../../../util/instanceOf"; import bcrypt from "bcrypt"; import jwt from "jsonwebtoken"; -import { User, UserModel } from "../channels/#channelid/node_modules/fosscord-server-util"; +import { User, UserModel } from "fosscord-server-util"; import Config from "../../../../util/Config"; import { adjustEmail } from "./register"; diff --git a/src/routes/api/v8/auth/register.ts b/src/routes/api/v8/auth/register.ts
index c73210c5..1205c462 100644 --- a/src/routes/api/v8/auth/register.ts +++ b/src/routes/api/v8/auth/register.ts
@@ -1,6 +1,6 @@ import { Request, Response, Router } from "express"; import Config from "../../../../util/Config"; -import { trimSpecial, User, Snowflake, UserModel } from "../channels/#channelid/node_modules/fosscord-server-util"; +import { trimSpecial, User, Snowflake, UserModel } from "fosscord-server-util"; import bcrypt from "bcrypt"; import { check, Email, EMAIL_REGEX, FieldErrors, Length } from "../../../../util/instanceOf"; import "missing-native-js-functions"; diff --git a/src/routes/api/v8/users/@me/guilds.ts b/src/routes/api/v8/users/@me/guilds.ts
index e205f6ec..0021d911 100644 --- a/src/routes/api/v8/users/@me/guilds.ts +++ b/src/routes/api/v8/users/@me/guilds.ts
@@ -1,13 +1,8 @@ import { Router, Request, Response } from "express"; -import { - GuildModel, - MemberModel, - UserModel, - GuildDeleteEvent, - GuildMemberRemoveEvent, -} from "../../channels/#channelid/node_modules/fosscord-server-util"; +import { GuildModel, MemberModel, UserModel, GuildDeleteEvent, GuildMemberRemoveEvent } from "fosscord-server-util"; import { HTTPError } from "lambert-server"; import { emitEvent } from "../../../../../util/Event"; +import { getPublicUser } from "../../../../../util/User"; const router: Router = Router(); @@ -20,16 +15,22 @@ router.get("/", async (req: Request, res: Response) => { if (!user) throw new HTTPError("User not found", 404); var guildIDs = user.guilds || []; - var guildsss = await GuildModel.find({ id: { $in: guildIDs } }).exec(); - res.json(guildsss); + var guild = await GuildModel.find({ id: { $in: guildIDs } }).exec(); + res.json(guild); }); +// user send to leave a certain guild router.delete("/:id", async (req: Request, res: Response) => { const guildID = BigInt(req.params.id); - if (await GuildModel.findOne({ id: guildID, owner_id: req.userid }).exec()) - throw new HTTPError("You can't leave your own guild", 400); - var user = await UserModel.findOneAndUpdate({ id: req.userid }, { $pull: { guilds: guildID } }).exec(); + const guild = await GuildModel.findOne({ id: guildID }).exec(); + + if (!guild) throw new HTTPError("Guild doesn't exist", 404); + if (guild.owner_id === req.userid) throw new HTTPError("You can't leave your own guild", 400); + await MemberModel.deleteOne({ id: req.userid, guild_id: guildID }).exec(); + await UserModel.updateOne({ id: req.userid }, { $pull: { guilds: guildID } }).exec(); + const user = await getPublicUser(req.userid); + await emitEvent({ event: "GUILD_DELETE", data: {