From 131123e751f292f564cda4fd98007f44ccfdebe5 Mon Sep 17 00:00:00 2001 From: Vincent Date: Tue, 16 Jun 2020 08:54:48 +1000 Subject: [PATCH] rm opengrouprefs --- .../messages/outgoing/OpenGroupMessage.ts | 9 +- .../outgoing/content/OpenGroupChatMessage.ts | 0 .../content/sync/OpenGroupSyncMessage.ts | 0 ts/session/types/OpenGroup.ts | 82 ------------------- 4 files changed, 7 insertions(+), 84 deletions(-) delete mode 100644 ts/session/messages/outgoing/content/OpenGroupChatMessage.ts delete mode 100644 ts/session/messages/outgoing/content/sync/OpenGroupSyncMessage.ts delete mode 100644 ts/session/types/OpenGroup.ts diff --git a/ts/session/messages/outgoing/OpenGroupMessage.ts b/ts/session/messages/outgoing/OpenGroupMessage.ts index c670a5e68..286f9b593 100644 --- a/ts/session/messages/outgoing/OpenGroupMessage.ts +++ b/ts/session/messages/outgoing/OpenGroupMessage.ts @@ -1,6 +1,11 @@ import { Message, MessageParams } from './Message'; import { AttachmentPointer, Preview, Quote } from './content'; -import { OpenGroup } from '../../types/OpenGroup'; + +interface OpenGroup { + server: string; + channel: number; + conversationId: string; +} interface OpenGroupMessageParams extends MessageParams { group: OpenGroup; @@ -15,7 +20,7 @@ export class OpenGroupMessage extends Message { public readonly body?: string; public readonly attachments: Array; public readonly quote?: Quote; - public readonly preview?: Array; + public readonly preview: Array; constructor({ timestamp, diff --git a/ts/session/messages/outgoing/content/OpenGroupChatMessage.ts b/ts/session/messages/outgoing/content/OpenGroupChatMessage.ts deleted file mode 100644 index e69de29bb..000000000 diff --git a/ts/session/messages/outgoing/content/sync/OpenGroupSyncMessage.ts b/ts/session/messages/outgoing/content/sync/OpenGroupSyncMessage.ts deleted file mode 100644 index e69de29bb..000000000 diff --git a/ts/session/types/OpenGroup.ts b/ts/session/types/OpenGroup.ts deleted file mode 100644 index 658f2f8d1..000000000 --- a/ts/session/types/OpenGroup.ts +++ /dev/null @@ -1,82 +0,0 @@ -// This is the Open Group equivalent to the PubKey type. - -interface OpenGroupParams { - server: string; - channel: number; - conversationId: string; -} - -export class OpenGroup { - private static readonly serverRegex = new RegExp( - '^([\\w-]{2,}.){1,2}[\\w-]{2,}$' - ); - private static readonly groupIdRegex = new RegExp( - '^publicChat:[0-9]*@([\\w-]{2,}.){1,2}[\\w-]{2,}$' - ); - public readonly server: string; - public readonly channel: number; - public readonly groupId?: string; - public readonly conversationId: string; - - constructor(params: OpenGroupParams) { - const strippedServer = params.server.replace('https://', ''); - this.server = strippedServer; - - // Validate server format - const isValid = OpenGroup.serverRegex.test(this.server); - if (!isValid) { - throw Error('an invalid server or groupId was provided'); - } - - this.channel = params.channel; - this.conversationId = params.conversationId; - this.groupId = OpenGroup.getGroupId(this.server, this.channel); - } - - public static from( - groupId: string, - conversationId: string - ): OpenGroup | undefined { - // Returns a new instance from a groupId if it's valid - // eg. groupId = 'publicChat:1@chat.getsession.org' - - const server = this.getServer(groupId); - const channel = this.getChannel(groupId); - - // Was groupId successfully utilized? - if (!server || !channel) { - return; - } - - const openGroupParams = { - server, - channel, - groupId, - conversationId, - } as OpenGroupParams; - - if (this.serverRegex.test(server)) { - return new OpenGroup(openGroupParams); - } - - return; - } - - private static getServer(groupId: string): string | undefined { - const isValid = this.groupIdRegex.test(groupId); - - return isValid ? groupId.split('@')[1] : undefined; - } - - private static getChannel(groupId: string): number | undefined { - const isValid = this.groupIdRegex.test(groupId); - const channelMatch = groupId.match(/^.*\:([0-9]*)\@.*$/); - - return channelMatch && isValid ? Number(channelMatch[1]) : undefined; - } - - private static getGroupId(server: string, channel: number): string { - // server is already validated in constructor; no need to re-check - return `publicChat:${channel}@${server}`; - } -}