diff --git a/api/src/channel/lib/Handler.ts b/api/src/channel/lib/Handler.ts index a803ae5b..e1dd33ef 100644 --- a/api/src/channel/lib/Handler.ts +++ b/api/src/channel/lib/Handler.ts @@ -235,6 +235,19 @@ export default abstract class ChannelHandler< event: EventWrapper, ): Promise; + /** + * Fetch the subscriber profile data + * + * @deprecated + * @param event - The message event received + * @returns {Promise} - The channel's response, otherwise an error + */ + async getUserData( + event: EventWrapper, + ): Promise { + return await this.getSubscriberData(event); + } + /** * Fetch the subscriber profile data * diff --git a/api/src/chat/repositories/subscriber.repository.ts b/api/src/chat/repositories/subscriber.repository.ts index 9f2e9d91..3950e656 100644 --- a/api/src/chat/repositories/subscriber.repository.ts +++ b/api/src/chat/repositories/subscriber.repository.ts @@ -1,5 +1,5 @@ /* - * Copyright © 2024 Hexastack. All rights reserved. + * Copyright © 2025 Hexastack. All rights reserved. * * Licensed under the GNU Affero General Public License v3.0 (AGPLv3) with the following additional terms: * 1. The name "Hexabot" is a trademark of Hexastack. You may not use this name in derivative works without express written permission. @@ -82,6 +82,10 @@ export class SubscriberRepository extends BaseRepository< const oldSubscriber = await this.findOne(criteria); + if (!oldSubscriber) { + throw new Error('Something went wrong: subscriber does not exist'); + } + if (subscriberUpdates.assignedTo !== oldSubscriber?.assignedTo) { this.eventEmitter.emit( 'hook:subscriber:assign', diff --git a/api/src/chat/schemas/types/attachment.ts b/api/src/chat/schemas/types/attachment.ts index cdf02e5f..bb52b303 100644 --- a/api/src/chat/schemas/types/attachment.ts +++ b/api/src/chat/schemas/types/attachment.ts @@ -31,7 +31,11 @@ export type AttachmentRef = url: string; }; -export interface AttachmentPayload { +/** IMPORTANT: No need to use generic type here */ +export interface AttachmentPayload { type: FileType; - payload: AttachmentRef; + payload: T; } + +/** @deprecated */ +export type WithUrl = A & { url?: string };