From 193b3aa75995f29a7b251527f2d4e1f625f4fb9d Mon Sep 17 00:00:00 2001 From: Gustavo Reis Bauer Date: Fri, 18 Oct 2024 16:22:31 -0300 Subject: [PATCH] chore: change method call to get by visitor (#33664) --- apps/meteor/app/apps/server/bridges/contact.ts | 5 +++-- .../apps-engine/src/definition/accessors/IContactRead.ts | 4 ++-- packages/apps-engine/src/server/accessors/ContactRead.ts | 6 +++--- packages/apps-engine/src/server/bridges/ContactBridge.ts | 7 ++++--- .../apps-engine/tests/test-data/bridges/contactBridge.ts | 4 ++-- 5 files changed, 14 insertions(+), 12 deletions(-) diff --git a/apps/meteor/app/apps/server/bridges/contact.ts b/apps/meteor/app/apps/server/bridges/contact.ts index 7bbf6f62156..275149935e5 100644 --- a/apps/meteor/app/apps/server/bridges/contact.ts +++ b/apps/meteor/app/apps/server/bridges/contact.ts @@ -1,6 +1,7 @@ import type { IAppServerOrchestrator } from '@rocket.chat/apps'; import type { ILivechatContact } from '@rocket.chat/apps-engine/definition/livechat'; import { ContactBridge } from '@rocket.chat/apps-engine/server/bridges'; +import type { IVisitor } from '@rocket.chat/core-typings'; import { LivechatContacts } from '@rocket.chat/models'; import { addContactEmail, verifyContactChannel } from '../../../livechat/server/lib/Contacts'; @@ -10,9 +11,9 @@ export class AppContactBridge extends ContactBridge { super(); } - async getById(id: ILivechatContact['_id'], appId: string): Promise { + async getByVisitorId(visitorId: IVisitor['_id'], appId: string): Promise { this.orch.debugLog(`The app ${appId} is fetching a contact`); - return LivechatContacts.findOneById(id); + return LivechatContacts.findOneByVisitorId(visitorId); } async verifyContact( diff --git a/packages/apps-engine/src/definition/accessors/IContactRead.ts b/packages/apps-engine/src/definition/accessors/IContactRead.ts index a07e4e10a9c..bf337172774 100644 --- a/packages/apps-engine/src/definition/accessors/IContactRead.ts +++ b/packages/apps-engine/src/definition/accessors/IContactRead.ts @@ -1,5 +1,5 @@ -import type { ILivechatContact } from '../livechat'; +import type { ILivechatContact, IVisitor } from '../livechat'; export interface IContactRead { - getById(id: ILivechatContact['_id']): Promise; + getByVisitorId(visitorId: IVisitor['id']): Promise; } diff --git a/packages/apps-engine/src/server/accessors/ContactRead.ts b/packages/apps-engine/src/server/accessors/ContactRead.ts index faf9b0375cc..a086171c387 100644 --- a/packages/apps-engine/src/server/accessors/ContactRead.ts +++ b/packages/apps-engine/src/server/accessors/ContactRead.ts @@ -1,11 +1,11 @@ import type { IContactRead } from '../../definition/accessors/IContactRead'; -import type { ILivechatContact } from '../../definition/livechat'; +import type { ILivechatContact, IVisitor } from '../../definition/livechat'; import type { AppBridges } from '../bridges'; export class ContactRead implements IContactRead { constructor(private readonly bridges: AppBridges, private readonly appId: string) {} - public getById(id: ILivechatContact['_id']): Promise { - return this.bridges.getContactBridge().doGetById(id, this.appId); + public getByVisitorId(visitorId: IVisitor['id']): Promise { + return this.bridges.getContactBridge().doGetByVisitorId(visitorId, this.appId); } } diff --git a/packages/apps-engine/src/server/bridges/ContactBridge.ts b/packages/apps-engine/src/server/bridges/ContactBridge.ts index 4ebed66c7b9..e4164b5fb3f 100644 --- a/packages/apps-engine/src/server/bridges/ContactBridge.ts +++ b/packages/apps-engine/src/server/bridges/ContactBridge.ts @@ -1,3 +1,4 @@ +import type { IVisitor } from '../../definition/livechat'; import type { ILivechatContact } from '../../definition/livechat/ILivechatContact'; import { PermissionDeniedError } from '../errors/PermissionDeniedError'; import { AppPermissionManager } from '../managers/AppPermissionManager'; @@ -13,9 +14,9 @@ export type VerifyContactChannelParams = { }; export abstract class ContactBridge extends BaseBridge { - public async doGetById(id: ILivechatContact['_id'], appId: string): Promise { + public async doGetByVisitorId(visitorId: IVisitor['id'], appId: string): Promise { if (this.hasReadPermission(appId)) { - return this.getById(id, appId); + return this.getByVisitorId(visitorId, appId); } } @@ -31,7 +32,7 @@ export abstract class ContactBridge extends BaseBridge { } } - protected abstract getById(id: ILivechatContact['_id'], appId: string): Promise; + protected abstract getByVisitorId(visitorId: IVisitor['id'], appId: string): Promise; protected abstract verifyContact(verifyContactChannelParams: VerifyContactChannelParams, appId: string): Promise; diff --git a/packages/apps-engine/tests/test-data/bridges/contactBridge.ts b/packages/apps-engine/tests/test-data/bridges/contactBridge.ts index 2a734516f55..07e313e94cd 100644 --- a/packages/apps-engine/tests/test-data/bridges/contactBridge.ts +++ b/packages/apps-engine/tests/test-data/bridges/contactBridge.ts @@ -1,4 +1,4 @@ -import type { ILivechatContact } from '../../../src/definition/livechat'; +import type { ILivechatContact, IVisitor } from '../../../src/definition/livechat'; import { ContactBridge } from '../../../src/server/bridges'; export class TestContactBridge extends ContactBridge { @@ -6,7 +6,7 @@ export class TestContactBridge extends ContactBridge { throw new Error('Method not implemented.'); } - protected getById(id: ILivechatContact['_id']): Promise { + protected getByVisitorId(id: IVisitor['id']): Promise { throw new Error('Method not implemented.'); }