From 21a4abced0f672eeb3eb94a24003bec8ae40ac8a Mon Sep 17 00:00:00 2001 From: Paul Date: Mon, 16 Aug 2021 13:56:48 +0100 Subject: [PATCH] Add nsfw flags to channels / servers. --- src/routes/channels.ts | 10 ++++++++++ src/routes/servers.ts | 19 +++++++++++++++++-- types/Channels.ts | 10 ++++++++++ types/Servers.ts | 5 +++++ 4 files changed, 42 insertions(+), 2 deletions(-) diff --git a/src/routes/channels.ts b/src/routes/channels.ts index 8b66291..ec5ee22 100644 --- a/src/routes/channels.ts +++ b/src/routes/channels.ts @@ -51,6 +51,11 @@ resource('/channels/:channel', { icon?: AutumnId; + /** + * Whether this channel is not safe for work + */ + nsfw?: boolean; + /** * Field to remove from channel object */ @@ -433,6 +438,11 @@ resource('/channels/create', { * @maxItems 49 */ users?: string[]; + + /** + * Whether this group is not safe for work + */ + nsfw?: boolean; } `), ...await success('Group', ref("GroupChannel")) diff --git a/src/routes/servers.ts b/src/routes/servers.ts index a414d24..ec58806 100644 --- a/src/routes/servers.ts +++ b/src/routes/servers.ts @@ -63,6 +63,11 @@ resource('/servers/:server', { */ system_messages?: SystemMessageChannels; + /** + * Whether this server is not safe for work + */ + nsfw?: boolean; + /** * Field to remove from channel object */ @@ -92,19 +97,24 @@ resource('/servers/create', { interface ${'ServerData'} { /** - * Group name + * Server name * @minLength 1 * @maxLength 32 */ name: string; /** - * Group description + * Server description * @minLength 0 * @maxLength 1024 */ description?: string; + /** + * Whether this server is not safe for work + */ + nsfw?: boolean; + nonce: Nonce; } `), @@ -142,6 +152,11 @@ resource('/servers/:server/channels', { */ description?: string; + /** + * Whether this channel is not safe for work + */ + nsfw?: boolean; + nonce: Nonce; } `), diff --git a/types/Channels.ts b/types/Channels.ts index c23ade1..660e5f9 100644 --- a/types/Channels.ts +++ b/types/Channels.ts @@ -100,6 +100,11 @@ export type GroupChannel = { * Permissions given to group members */ permissions?: number + + /** + * Whether this channel is marked as not safe for work + */ + nsfw?: boolean } export type ServerChannel = { @@ -136,6 +141,11 @@ export type ServerChannel = { role_permissions?: { [key: string]: number } + + /** + * Whether this channel is marked as not safe for work + */ + nsfw?: boolean } export type TextChannel = ServerChannel & { diff --git a/types/Servers.ts b/types/Servers.ts index f6bd99a..fb19e92 100644 --- a/types/Servers.ts +++ b/types/Servers.ts @@ -150,4 +150,9 @@ export type Server = { * Server banner */ banner?: Attachment + + /** + * Whether this server is marked as not safe for work + */ + nsfw?: boolean }