1
0
mirror of https://github.com/spacebarchat/server.git synced 2024-09-21 02:01:33 +02:00

🚑 user settings route

This commit is contained in:
Flam3rboy 2021-08-18 11:53:03 +02:00
parent 9e2c6359eb
commit 31d70849bb
2 changed files with 59 additions and 2 deletions

View File

@ -1,9 +1,15 @@
import { Router, Response, Request } from "express";
import { UserModel, UserSettings } from "@fosscord/util";
import { check } from "../../../util/instanceOf";
import { UserSettingsSchema } from "../../../schema/User";
const router = Router();
router.patch("/", (req: Request, res: Response) => {
// TODO:
router.patch("/", check(UserSettingsSchema), async (req: Request, res: Response) => {
const body = req.body as UserSettings;
await UserModel.updateOne({ id: req.user_id }, body).exec();
res.sendStatus(204);
});

View File

@ -1,3 +1,4 @@
import { UserSettings } from "../../../util/dist";
import { Length } from "../util/instanceOf";
export const UserModifySchema = {
@ -21,3 +22,53 @@ export interface UserModifySchema {
new_password?: string;
code?: string;
}
export const UserSettingsSchema = {
$afk_timeout: Number,
$allow_accessibility_detection: Boolean,
$animate_emoji: Boolean,
$animate_stickers: Number,
$contact_sync_enabled: Boolean,
$convert_emoticons: Boolean,
$custom_status: {
$emoji_id: String,
$emoji_name: String,
$expires_at: Number,
$text: String
},
$default_guilds_restricted: Boolean,
$detect_platform_accounts: Boolean,
$developer_mode: Boolean,
$disable_games_tab: Boolean,
$enable_tts_command: Boolean,
$explicit_content_filter: Number,
$friend_source_flags: {
all: Boolean
},
$gateway_connected: Boolean,
$gif_auto_play: Boolean,
$guild_folders: [
{
color: Number,
guild_ids: [String],
id: Number,
name: String
}
],
$guild_positions: [String],
$inline_attachment_media: Boolean,
$inline_embed_media: Boolean,
$locale: String,
$message_display_compact: Boolean,
$native_phone_integration_enabled: Boolean,
$render_embeds: Boolean,
$render_reactions: Boolean,
$restricted_guilds: [String],
$show_current_game: Boolean,
$status: String,
$stream_notifications_enabled: Boolean,
$theme: String,
$timezone_offset: Number
};
export interface UserSettingsSchema extends UserSettings {}