summary refs log tree commit diff
path: root/src/util/entities/Channel.ts
diff options
context:
space:
mode:
authorTheArcaneBrony <myrainbowdash949@gmail.com>2023-03-14 00:06:41 +0100
committerTheArcaneBrony <myrainbowdash949@gmail.com>2023-03-14 00:06:41 +0100
commit78dd8d99aaa18ad364c8525469d57a435aec2042 (patch)
tree10524aecaea7b57604d28b9daaa842f8e636470e /src/util/entities/Channel.ts
parentRemove client_test folder (diff)
downloadserver-dev/indexable-channel-poc.tar.xz
Implement base logic for index page dev/indexable-channel-poc
Signed-off-by: TheArcaneBrony <myrainbowdash949@gmail.com>
Diffstat (limited to 'src/util/entities/Channel.ts')
-rw-r--r--src/util/entities/Channel.ts43
1 files changed, 23 insertions, 20 deletions
diff --git a/src/util/entities/Channel.ts b/src/util/entities/Channel.ts

index 1f128713..f86cf890 100644 --- a/src/util/entities/Channel.ts +++ b/src/util/entities/Channel.ts
@@ -1,20 +1,20 @@ /* - Fosscord: A FOSS re-implementation and extension of the Discord.com backend. - Copyright (C) 2023 Fosscord and Fosscord Contributors - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Affero General Public License as published - by the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU Affero General Public License for more details. - - You should have received a copy of the GNU Affero General Public License - along with this program. If not, see <https://www.gnu.org/licenses/>. -*/ + * Fosscord: A FOSS re-implementation and extension of the Discord.com backend. + * Copyright (C) 2023 Fosscord and Fosscord Contributors + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <https://www.gnu.org/licenses/>. + */ import { Column, @@ -32,9 +32,9 @@ import { containsAll, emitEvent, getPermission, + InvisibleCharacters, Snowflake, trimSpecial, - InvisibleCharacters, } from "../util"; import { ChannelCreateEvent, ChannelRecipientRemoveEvent } from "../interfaces"; import { Recipient } from "./Recipient"; @@ -193,6 +193,9 @@ export class Channel extends BaseClass { default_thread_rate_limit_per_user: number = 0; // TODO: DM channel + @Column({ default: false }) + indexable: boolean; + static async createChannel( channel: Partial<Channel>, user_id: string = "0", @@ -325,11 +328,11 @@ export class Channel extends BaseClass { // TODO: check config for max number of recipients /** if you want to disallow note to self channels, uncomment the conditional below - const otherRecipientsUsers = await User.find({ where: recipients.map((x) => ({ id: x })) }); - if (otherRecipientsUsers.length !== recipients.length) { + const otherRecipientsUsers = await User.find({ where: recipients.map((x) => ({ id: x })) }); + if (otherRecipientsUsers.length !== recipients.length) { throw new HTTPError("Recipient/s not found"); } - **/ + **/ const type = recipients.length > 1 ? ChannelType.GROUP_DM : ChannelType.DM;