summary refs log tree commit diff
path: root/src/routes
diff options
context:
space:
mode:
authorFlam3rboy <34555296+Flam3rboy@users.noreply.github.com>2021-05-24 20:47:06 +0200
committerFlam3rboy <34555296+Flam3rboy@users.noreply.github.com>2021-05-24 20:47:06 +0200
commit8f87546aeb5c14539601ab25c0e07630a5e5043a (patch)
treec9d5ca2d0c307096d5a4e44768c66b4d8cf05ec4 /src/routes
parentMerge pull request #147 from DiegoMagdaleno/master (diff)
downloadserver-8f87546aeb5c14539601ab25c0e07630a5e5043a.tar.xz
:sparkles: use new config
Diffstat (limited to 'src/routes')
-rw-r--r--src/routes/auth/login.ts17
-rw-r--r--src/routes/auth/register.ts51
-rw-r--r--src/routes/channels/#channel_id/messages/bulk-delete.ts5
-rw-r--r--src/routes/channels/#channel_id/pins.ts13
-rw-r--r--src/routes/gateway.ts6
-rw-r--r--src/routes/guilds/index.ts5
-rw-r--r--src/routes/guilds/templates/index.ts11
7 files changed, 56 insertions, 52 deletions
diff --git a/src/routes/auth/login.ts b/src/routes/auth/login.ts

index 1938b794..2c4084ea 100644 --- a/src/routes/auth/login.ts +++ b/src/routes/auth/login.ts
@@ -2,8 +2,7 @@ import { Request, Response, Router } from "express"; import { check, FieldErrors, Length } from "../../util/instanceOf"; import bcrypt from "bcrypt"; import jwt from "jsonwebtoken"; -import { UserModel } from "@fosscord/server-util"; -import * as Config from "../../util/Config"; +import { Config, UserModel } from "@fosscord/server-util"; import { adjustEmail } from "./register"; const router: Router = Router(); @@ -17,7 +16,7 @@ router.post( $undelete: Boolean, $captcha_key: String, $login_source: String, - $gift_code_sku_id: String, + $gift_code_sku_id: String }), async (req: Request, res: Response) => { const { login, password, captcha_key } = req.body; @@ -25,9 +24,9 @@ router.post( const query: any[] = [{ phone: login }]; if (email) query.push({ email }); - // TODO: Rewrite this to have the proper config syntax on the new method - - const config = Config.apiConfig.getAll(); + // TODO: Rewrite this to have the proper config syntax on the new method + + const config = Config.get(); if (config.login.requireCaptcha && config.security.captcha.enabled) { if (!captcha_key) { @@ -35,7 +34,7 @@ router.post( return res.status(400).json({ captcha_key: ["captcha-required"], captcha_sitekey: sitekey, - captcha_service: service, + captcha_service: service }); } @@ -71,9 +70,9 @@ export async function generateToken(id: string) { return new Promise((res, rej) => { jwt.sign( { id: id, iat }, - Config.apiConfig.getAll().security.jwtSecret, + Config.get().security.jwtSecret, { - algorithm, + algorithm }, (err, token) => { if (err) return rej(err); diff --git a/src/routes/auth/register.ts b/src/routes/auth/register.ts
index 98fa768c..b2531829 100644 --- a/src/routes/auth/register.ts +++ b/src/routes/auth/register.ts
@@ -1,6 +1,5 @@ import { Request, Response, Router } from "express"; -import * as Config from "../../util/Config"; -import { trimSpecial, User, Snowflake, UserModel } from "@fosscord/server-util"; +import { trimSpecial, User, Snowflake, UserModel, Config } from "@fosscord/server-util"; import bcrypt from "bcrypt"; import { check, Email, EMAIL_REGEX, FieldErrors, Length } from "../../util/instanceOf"; import "missing-native-js-functions"; @@ -21,7 +20,7 @@ router.post( $invite: String, $date_of_birth: Date, // "2000-04-03" $gift_code_sku_id: String, - $captcha_key: String, + $captcha_key: String }), async (req: Request, res: Response) => { const { @@ -33,7 +32,7 @@ router.post( invite, date_of_birth, gift_code_sku_id, // ? what is this - captcha_key, + captcha_key } = req.body; // TODO: automatically join invite // TODO: gift_code_sku_id? @@ -52,26 +51,26 @@ router.post( let discriminator = ""; // get register Config - const { register, security } = Config.apiConfig.getAll(); + const { register, security } = Config.get(); // check if registration is allowed if (!register.allowNewRegistration) { throw FieldErrors({ - email: { code: "REGISTRATION_DISABLED", message: req.t("auth:register.REGISTRATION_DISABLED") }, + email: { code: "REGISTRATION_DISABLED", message: req.t("auth:register.REGISTRATION_DISABLED") } }); } // check if the user agreed to the Terms of Service if (!consent) { throw FieldErrors({ - consent: { code: "CONSENT_REQUIRED", message: req.t("auth:register.CONSENT_REQUIRED") }, + consent: { code: "CONSENT_REQUIRED", message: req.t("auth:register.CONSENT_REQUIRED") } }); } // require invite to register -> e.g. for organizations to send invites to their employees if (register.requireInvite && !invite) { throw FieldErrors({ - email: { code: "INVITE_ONLY", message: req.t("auth:register.INVITE_ONLY") }, + email: { code: "INVITE_ONLY", message: req.t("auth:register.INVITE_ONLY") } }); } @@ -86,19 +85,19 @@ router.post( throw FieldErrors({ email: { code: "EMAIL_ALREADY_REGISTERED", - message: req.t("auth.register.EMAIL_ALREADY_REGISTERED"), - }, + message: req.t("auth.register.EMAIL_ALREADY_REGISTERED") + } }); } } else if (register.email.necessary) { throw FieldErrors({ - email: { code: "BASE_TYPE_REQUIRED", message: req.t("common:field.BASE_TYPE_REQUIRED") }, + email: { code: "BASE_TYPE_REQUIRED", message: req.t("common:field.BASE_TYPE_REQUIRED") } }); } if (register.dateOfBirth.necessary && !date_of_birth) { throw FieldErrors({ - date_of_birth: { code: "BASE_TYPE_REQUIRED", message: req.t("common:field.BASE_TYPE_REQUIRED") }, + date_of_birth: { code: "BASE_TYPE_REQUIRED", message: req.t("common:field.BASE_TYPE_REQUIRED") } }); } else if (register.dateOfBirth.minimum) { const minimum = new Date(); @@ -109,8 +108,8 @@ router.post( throw FieldErrors({ date_of_birth: { code: "DATE_OF_BIRTH_UNDERAGE", - message: req.t("auth:register.DATE_OF_BIRTH_UNDERAGE", { years: register.dateOfBirth.minimum }), - }, + message: req.t("auth:register.DATE_OF_BIRTH_UNDERAGE", { years: register.dateOfBirth.minimum }) + } }); } } @@ -123,8 +122,8 @@ router.post( throw FieldErrors({ email: { code: "EMAIL_ALREADY_REGISTERED", - message: req.t("auth:register.EMAIL_ALREADY_REGISTERED"), - }, + message: req.t("auth:register.EMAIL_ALREADY_REGISTERED") + } }); } } @@ -135,7 +134,7 @@ router.post( return res.status(400).json({ captcha_key: ["captcha-required"], captcha_sitekey: sitekey, - captcha_service: service, + captcha_service: service }); } @@ -160,8 +159,8 @@ router.post( throw FieldErrors({ username: { code: "USERNAME_TOO_MANY_USERS", - message: req.t("auth:register.USERNAME_TOO_MANY_USERS"), - }, + message: req.t("auth:register.USERNAME_TOO_MANY_USERS") + } }); } @@ -184,14 +183,16 @@ router.post( phone: null, mfa_enabled: false, verified: false, + disabled: false, + deleted: false, presence: { activities: [], client_status: { desktop: undefined, mobile: undefined, - web: undefined, + web: undefined }, - status: "offline", + status: "offline" }, email: adjusted_email, nsfw_allowed: true, // TODO: depending on age @@ -203,7 +204,7 @@ router.post( valid_tokens_since: new Date(), relationships: [], connected_accounts: [], - fingerprints: [], + fingerprints: [] }, user_settings: { afk_timeout: 300, @@ -216,7 +217,7 @@ router.post( emoji_id: null, emoji_name: null, expires_at: null, - text: null, + text: null }, default_guilds_restricted: false, detect_platform_accounts: true, @@ -241,9 +242,9 @@ router.post( status: "offline", stream_notifications_enabled: true, theme: "dark", - timezone_offset: 0, + timezone_offset: 0 // timezone_offset: // TODO: timezone from request - }, + } }; // insert user into database diff --git a/src/routes/channels/#channel_id/messages/bulk-delete.ts b/src/routes/channels/#channel_id/messages/bulk-delete.ts
index 8a11475e..24724d34 100644 --- a/src/routes/channels/#channel_id/messages/bulk-delete.ts +++ b/src/routes/channels/#channel_id/messages/bulk-delete.ts
@@ -1,7 +1,6 @@ import { Router } from "express"; -import { ChannelModel, getPermission, MessageDeleteBulkEvent, MessageModel } from "@fosscord/server-util"; +import { ChannelModel, Config, getPermission, MessageDeleteBulkEvent, MessageModel } from "@fosscord/server-util"; import { HTTPError } from "lambert-server"; -import * as Config from "../../../../util/Config"; import { emitEvent } from "../../../../util/Event"; import { check } from "../../../../util/instanceOf"; @@ -20,7 +19,7 @@ router.post("/", check({ messages: [String] }), async (req, res) => { const permission = await getPermission(req.user_id, channel?.guild_id, channel_id, { channel }); permission.hasThrow("MANAGE_MESSAGES"); - const { maxBulkDelete } = Config.apiConfig.getAll().limits.message; + const { maxBulkDelete } = Config.get().limits.message; const { messages } = req.body as { messages: string[] }; if (messages.length < 2) throw new HTTPError("You must at least specify 2 messages to bulk delete"); diff --git a/src/routes/channels/#channel_id/pins.ts b/src/routes/channels/#channel_id/pins.ts
index ccb909b8..43c504d8 100644 --- a/src/routes/channels/#channel_id/pins.ts +++ b/src/routes/channels/#channel_id/pins.ts
@@ -1,6 +1,13 @@ -import { ChannelModel, ChannelPinsUpdateEvent, getPermission, MessageModel, MessageUpdateEvent, toObject } from "@fosscord/server-util"; +import { + ChannelModel, + ChannelPinsUpdateEvent, + Config, + getPermission, + MessageModel, + MessageUpdateEvent, + toObject +} from "@fosscord/server-util"; import { Router, Request, Response } from "express"; -import * as Config from "../../../util/Config"; import { HTTPError } from "lambert-server"; import { emitEvent } from "../../../util/Event"; @@ -18,7 +25,7 @@ router.put("/:message_id", async (req: Request, res: Response) => { if (channel.guild_id) permission.hasThrow("MANAGE_MESSAGES"); const pinned_count = await MessageModel.count({ channel_id, pinned: true }).exec(); - const { maxPins } = Config.apiConfig.getAll().limits.channel; + const { maxPins } = Config.get().limits.channel; if (pinned_count >= maxPins) throw new HTTPError("Max pin count reached: " + maxPins); await MessageModel.updateOne({ id: message_id }, { pinned: true }).exec(); diff --git a/src/routes/gateway.ts b/src/routes/gateway.ts
index 04ab1248..d823354c 100644 --- a/src/routes/gateway.ts +++ b/src/routes/gateway.ts
@@ -1,11 +1,11 @@ +import { Config } from "@fosscord/server-util"; import { Router } from "express"; -import * as Config from "../util/Config" const router = Router(); router.get("/", (req, res) => { - const { gateway } = Config.apiConfig.getAll(); - res.send({ url: gateway || "ws://localhost:3002" }); + const { endpoint } = Config.get().gateway; + res.send({ url: endpoint || "ws://localhost:3002" }); }); export default router; diff --git a/src/routes/guilds/index.ts b/src/routes/guilds/index.ts
index 8860bcdf..17ade355 100644 --- a/src/routes/guilds/index.ts +++ b/src/routes/guilds/index.ts
@@ -1,9 +1,8 @@ import { Router, Request, Response } from "express"; -import { RoleModel, GuildModel, Snowflake, Guild, RoleDocument } from "@fosscord/server-util"; +import { RoleModel, GuildModel, Snowflake, Guild, RoleDocument, Config } from "@fosscord/server-util"; import { HTTPError } from "lambert-server"; import { check } from "./../../util/instanceOf"; import { GuildCreateSchema } from "../../schema/Guild"; -import * as Config from "../../util/Config"; import { getPublicUser } from "../../util/User"; import { addMember } from "../../util/Member"; import { createChannel } from "../../util/Channel"; @@ -15,7 +14,7 @@ const router: Router = Router(); router.post("/", check(GuildCreateSchema), async (req: Request, res: Response) => { const body = req.body as GuildCreateSchema; - const { maxGuilds } = Config.apiConfig.getAll().limits.user; + const { maxGuilds } = Config.get().limits.user; const user = await getPublicUser(req.user_id, { guilds: true }); if (user.guilds.length >= maxGuilds) { diff --git a/src/routes/guilds/templates/index.ts b/src/routes/guilds/templates/index.ts
index a7af8295..f23d4fbe 100644 --- a/src/routes/guilds/templates/index.ts +++ b/src/routes/guilds/templates/index.ts
@@ -1,11 +1,10 @@ import { Request, Response, Router } from "express"; const router: Router = Router(); -import { TemplateModel, GuildModel, toObject, UserModel, RoleModel, Snowflake, Guild } from "@fosscord/server-util"; +import { TemplateModel, GuildModel, toObject, UserModel, RoleModel, Snowflake, Guild, Config } from "@fosscord/server-util"; import { HTTPError } from "lambert-server"; import { GuildTemplateCreateSchema } from "../../../schema/Guild"; import { getPublicUser } from "../../../util/User"; import { check } from "../../../util/instanceOf"; -import * as Config from "../../../util/Config"; import { addMember } from "../../../util/Member"; router.get("/:code", async (req: Request, res: Response) => { @@ -21,7 +20,7 @@ router.post("/:code", check(GuildTemplateCreateSchema), async (req: Request, res const { code } = req.params; const body = req.body as GuildTemplateCreateSchema; - const { maxGuilds } = Config.apiConfig.getAll().limits.user; + const { maxGuilds } = Config.get().limits.user; const user = await getPublicUser(req.user_id, { guilds: true }); if (user.guilds.length >= maxGuilds) { @@ -37,7 +36,7 @@ router.post("/:code", check(GuildTemplateCreateSchema), async (req: Request, res ...body, ...template.serialized_source_guild, id: guild_id, - owner_id: req.user_id, + owner_id: req.user_id }; const [guild_doc, role] = await Promise.all([ @@ -52,8 +51,8 @@ router.post("/:code", check(GuildTemplateCreateSchema), async (req: Request, res name: "@everyone", permissions: 2251804225n, position: 0, - tags: null, - }).save(), + tags: null + }).save() ]); await addMember(req.user_id, guild_id, { guild: guild_doc });