diff --git a/prisma/migrations/20240712144948_add_business_id_column_to_instances/migration.sql b/prisma/migrations/20240712144948_add_business_id_column_to_instances/migration.sql new file mode 100644 index 00000000..58b64ff5 --- /dev/null +++ b/prisma/migrations/20240712144948_add_business_id_column_to_instances/migration.sql @@ -0,0 +1,2 @@ +-- AlterTable +ALTER TABLE "Instance" ADD COLUMN "businessId" VARCHAR(100); diff --git a/prisma/postgresql-schema.prisma b/prisma/postgresql-schema.prisma index 6dfc6e0f..fdb73b24 100644 --- a/prisma/postgresql-schema.prisma +++ b/prisma/postgresql-schema.prisma @@ -54,6 +54,7 @@ model Instance { profilePicUrl String? @db.VarChar(500) integration String? @db.VarChar(100) number String? @db.VarChar(100) + businessId String? @db.VarChar(100) token String? @unique @db.VarChar(255) clientName String? @db.VarChar(100) createdAt DateTime? @default(now()) @db.Timestamp diff --git a/src/api/controllers/instance.controller.ts b/src/api/controllers/instance.controller.ts index 3a4499f2..4996f317 100644 --- a/src/api/controllers/instance.controller.ts +++ b/src/api/controllers/instance.controller.ts @@ -87,6 +87,7 @@ export class InstanceController { chatwootDaysLimitImportMessages, chatwootOrganization, chatwootLogo, + businessId, }: InstanceDto) { try { if (token) await this.authService.checkDuplicateToken(token); @@ -125,7 +126,7 @@ export class InstanceController { if (!token) hash = v4().toUpperCase(); else hash = token; - await this.waMonitor.saveInstance({ instanceId, integration, instanceName, hash, number }); + await this.waMonitor.saveInstance({ instanceId, integration, instanceName, hash, number, businessId }); instance.setInstance({ instanceName, diff --git a/src/api/dto/instance.dto.ts b/src/api/dto/instance.dto.ts index 3a32f636..86a3f67e 100644 --- a/src/api/dto/instance.dto.ts +++ b/src/api/dto/instance.dto.ts @@ -42,6 +42,7 @@ export class InstanceDto { proxyProtocol?: string; proxyUsername?: string; proxyPassword?: string; + businessId?: string; } export class SetPresenceDto { diff --git a/src/api/services/monitor.service.ts b/src/api/services/monitor.service.ts index 1df76fe5..3766b5d2 100644 --- a/src/api/services/monitor.service.ts +++ b/src/api/services/monitor.service.ts @@ -192,6 +192,7 @@ export class WAMonitoringService { integration: data.integration || Integration.WHATSAPP_BAILEYS, token: data.hash, clientName: clientName, + businessId: data.businessId, }, }); } diff --git a/src/validate/instance.schema.ts b/src/validate/instance.schema.ts index ee306164..646883f1 100644 --- a/src/validate/instance.schema.ts +++ b/src/validate/instance.schema.ts @@ -30,6 +30,7 @@ export const instanceSchema: JSONSchema7 = { instanceName: { type: 'string' }, token: { type: 'string' }, number: { type: 'string', pattern: '^\\d+[\\.@\\w-]+' }, + businessId: { type: 'string' }, qrcode: { type: 'boolean' }, Integration: { type: 'string',