feat(frontend): Call Center > Filas/Pausas/Disposições, Telefonia > Troncos, Discador > Lista de Bloqueio
Cinco telas novas no app do tenant, todas contra endpoints de backend que já existiam (Queues/PauseReasons/Dispositions/Trunks/Suppression) — mesmo padrão de listagem+form inline+remoção com confirmação de 2 cliques usado em Ramais. StatusBadge ganhou o mapa de TrunkStatus. Corrigido bug real: PauseReasonsController.list() não filtrava enabled:true, então um motivo removido nunca sumia da lista. Testado ponta a ponta contra a API real do tenant Acme. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BFaBaBSQGhyXGEgtTYZGV8
This commit is contained in:
@@ -60,7 +60,12 @@ export class PauseReasonsController {
|
||||
async list(@CurrentUser() user: AccessTokenClaims) {
|
||||
const prisma = getPrismaClient();
|
||||
const tenantId = user.tenantId!;
|
||||
return withTenantContext(prisma, tenantId, (tx) => tx.pauseReason.findMany({ orderBy: { name: "asc" } }));
|
||||
// Bug real, achado testando o frontend: sem o filtro `enabled: true`
|
||||
// aqui, um motivo "removido" (soft delete, ver `remove` abaixo) nunca
|
||||
// sumia da lista — único endpoint deste arquivo sem esse filtro.
|
||||
return withTenantContext(prisma, tenantId, (tx) =>
|
||||
tx.pauseReason.findMany({ where: { enabled: true }, orderBy: { name: "asc" } }),
|
||||
);
|
||||
}
|
||||
|
||||
@RequirePermission("agents.manage")
|
||||
|
||||
Reference in New Issue
Block a user