summary refs log tree commit diff
path: root/api/src/schema/User.ts
blob: 0d094b9e0ce22431f255da5e7979be3ebbbd3b00 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
import { UserSettings } from "../../../util/dist";
import { Length } from "../util/instanceOf";

export const UserModifySchema = {
	$username: new Length(String, 2, 32),
	$avatar: String,
	$bio: new Length(String, 0, 190),
	$accent_color: Number,
	$banner: String,
	$password: String,
	$new_password: String,
	$code: String // 2fa code
};

export interface UserModifySchema {
	username?: string;
	avatar?: string | null;
	bio?: string;
	accent_color?: number | null;
	banner?: string | null;
	password?: string;
	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 {}