Skip to content

Commit 80b525c

Browse files
committed
refactor(contact): corrige feedback de code review para salvar contato
- Ajusta schema de validação: usa ID estático e melhora validação de campos. - Atualiza controller: adiciona verificação de provedor. - Melhora router: usa status 201 e aproveita global error handling. - Adiciona métodos stub ausentes para provedores Evolution e Meta. - Aprimora mensagens de erro no serviço Baileys.
1 parent 9956a2f commit 80b525c

File tree

6 files changed

+7868
-7858
lines changed

6 files changed

+7868
-7858
lines changed
Lines changed: 20 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,20 @@
1-
import { SaveContactDto } from '@api/dto/contact.dto';
2-
import { InstanceDto } from '@api/dto/instance.dto';
3-
import { WAMonitoringService } from '@api/services/monitor.service';
4-
5-
export class ContactController {
6-
constructor(private readonly waMonitor: WAMonitoringService) {}
7-
8-
public async saveContact({ instanceName }: InstanceDto, data: SaveContactDto) {
9-
return await this.waMonitor.waInstances[instanceName].saveContact(data);
10-
}
11-
}
1+
import { SaveContactDto } from '@api/dto/contact.dto';
2+
import { InstanceDto } from '@api/dto/instance.dto';
3+
import { WAMonitoringService } from '@api/services/monitor.service';
4+
import { BadRequestException } from '@exceptions';
5+
6+
export class ContactController {
7+
constructor(private readonly waMonitor: WAMonitoringService) {}
8+
9+
public async saveContact({ instanceName }: InstanceDto, data: SaveContactDto) {
10+
const instance = this.waMonitor.waInstances[instanceName];
11+
12+
if (!instance || typeof (instance as any).saveContact !== 'function') {
13+
throw new BadRequestException(
14+
`saveContact is not supported for the provider used by instance "${instanceName}"`,
15+
);
16+
}
17+
18+
return await (instance as any).saveContact(data);
19+
}
20+
}

0 commit comments

Comments
 (0)