summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorFlam3rboy <34555296+Flam3rboy@users.noreply.github.com>2021-04-25 19:46:57 +0200
committerFlam3rboy <34555296+Flam3rboy@users.noreply.github.com>2021-04-25 19:46:57 +0200
commit5dd97905ab03bb50878191bee403b0cb23329636 (patch)
treef2796548c0078ca7e95b59573f27d51711e196fc /src
parent:bug: add event for Message Delete route (diff)
downloadserver-5dd97905ab03bb50878191bee403b0cb23329636.tar.xz
:art: formatting files
Diffstat (limited to 'src')
-rw-r--r--src/routes/auth/login.ts15
-rw-r--r--src/routes/channels/#channel_id/messages/bulk-delete.ts1
-rw-r--r--src/routes/users/@me/channels.ts54
-rw-r--r--src/schema/Channel.ts18
4 files changed, 27 insertions, 61 deletions
diff --git a/src/routes/auth/login.ts b/src/routes/auth/login.ts
index 247ee018..5c43db1b 100644
--- a/src/routes/auth/login.ts
+++ b/src/routes/auth/login.ts
@@ -25,25 +25,16 @@ router.post(
 		const query: any[] = [{ phone: login }];
 		if (email) query.push({ email });
 
-		const user = await UserModel.findOne(
-			{
-				$or: query,
-			},
-			`user_data.hash id user_settings.locale user_settings.theme`
-		).exec();
+		const user = await UserModel.findOne({ $or: query }, `user_data.hash id user_settings.locale user_settings.theme`).exec();
 
 		if (!user) {
-			throw FieldErrors({
-				login: { message: req.t("auth:login.INVALID_LOGIN"), code: "INVALID_LOGIN" },
-			});
+			throw FieldErrors({ login: { message: req.t("auth:login.INVALID_LOGIN"), code: "INVALID_LOGIN" } });
 		}
 
 		// the salt is saved in the password refer to bcrypt docs
 		const same_password = await bcrypt.compare(password, user.user_data.hash);
 		if (!same_password) {
-			throw FieldErrors({
-				password: { message: req.t("auth:login.INVALID_PASSWORD"), code: "INVALID_PASSWORD" },
-			});
+			throw FieldErrors({ password: { message: req.t("auth:login.INVALID_PASSWORD"), code: "INVALID_PASSWORD" } });
 		}
 
 		const token = await generateToken(user.id);
diff --git a/src/routes/channels/#channel_id/messages/bulk-delete.ts b/src/routes/channels/#channel_id/messages/bulk-delete.ts
index ff1324d7..bf71404a 100644
--- a/src/routes/channels/#channel_id/messages/bulk-delete.ts
+++ b/src/routes/channels/#channel_id/messages/bulk-delete.ts
@@ -27,6 +27,7 @@ router.post("/", check({ messages: [String] }), async (req, res) => {
 	if (messages.length > maxBulkDelete) throw new HTTPError(`You cannot delete more than ${maxBulkDelete} messages`);
 
 	await MessageModel.deleteMany({ id: { $in: messages } }).exec();
+
 	await emitEvent({
 		event: "MESSAGE_DELETE_BULK",
 		channel_id,
diff --git a/src/routes/users/@me/channels.ts b/src/routes/users/@me/channels.ts
index 45371b34..3b2b6781 100644
--- a/src/routes/users/@me/channels.ts
+++ b/src/routes/users/@me/channels.ts
@@ -1,8 +1,4 @@
-import {
-	Router,
-	Request,
-	Response
-} from "express";
+import { Router, Request, Response } from "express";
 import {
 	ChannelModel,
 	ChannelCreateEvent,
@@ -10,39 +6,23 @@ import {
 	UserModel,
 	toObject,
 	ChannelType,
-	Snowflake
+	Snowflake,
+	trimSpecial,
 } from "@fosscord/server-util";
-import {
-	HTTPError
-} from "lambert-server";
-import {
-	emitEvent
-} from "../../../util/Event";
-import {
-	getPublicUser
-} from "../../../util/User";
-import {
-	DmChannelCreateSchema
-} from "../../../schema/Channel";
-import {
-	check
-} from "../../../util/instanceOf";
+import { HTTPError } from "lambert-server";
+import { emitEvent } from "../../../util/Event";
+import { getPublicUser } from "../../../util/User";
+import { DmChannelCreateSchema } from "../../../schema/Channel";
+import { check } from "../../../util/instanceOf";
 
 const router: Router = Router();
 
 router.get("/", async (req: Request, res: Response) => {
-	const user = await UserModel.findOne({
-		id: req.user_id
-	}, {
-		guilds: true
-	}).exec();
-	if (!user) throw new HTTPError("User not found", 404);
-
-	var testID = "829044530203328513"; //FOR TEST
-
 	var channels = await ChannelModel.find({
-		recipients: req.user_id,
-		type: 1
+		$or: [
+			{ recipients: req.user_id, type: ChannelType.DM },
+			{ recipients: req.user_id, type: ChannelType.GROUP_DM },
+		],
 	}).exec();
 
 	res.json(toObject(channels));
@@ -50,20 +30,22 @@ router.get("/", async (req: Request, res: Response) => {
 
 router.post("/", check(DmChannelCreateSchema), async (req, res) => {
 	const body = req.body as DmChannelCreateSchema;
+	if (body.recipients.length === 0) throw new HTTPError("You need to specify at least one recipient");
+	const type = body.recipients.length === 1 ? ChannelType.DM : ChannelType.GROUP_DM;
+	const name = trimSpecial(body.name);
 
 	const channel = {
-		...body,
+		name,
+		type,
 		owner_id: req.user_id,
 		id: Snowflake.generate(),
-		type: ChannelType.DM,
 		created_at: new Date(),
 	};
 	await new ChannelModel(channel).save();
 
 	/*Event({ event: "CHANNEL_CREATE", data: channel } as ChannelCreateEvent);*/
 
-
 	res.json(channel);
 });
 
-export default router;
\ No newline at end of file
+export default router;
diff --git a/src/schema/Channel.ts b/src/schema/Channel.ts
index 3a22872a..70e305e4 100644
--- a/src/schema/Channel.ts
+++ b/src/schema/Channel.ts
@@ -22,21 +22,13 @@ export const ChannelModifySchema = {
 };
 
 export const DmChannelCreateSchema = {
-	owner_id: String,
-	$id: String,
-    $created_at: Date,
-    name: String,
-    type: Number,
-	recipients: [String]
-}
+	$name: String,
+	recipients: [String],
+};
 
 export interface DmChannelCreateSchema {
-	owner_id: String;
-	id?: String;
-    created_at?: Date;
-    name: String;
-    type: Number;
-	recipients: String[];
+	name?: string;
+	recipients: string[];
 }
 
 export interface ChannelModifySchema {