Módulo reutilizável para consultas e criação de audiences
npm install @reachy/audience-moduleMódulo reutilizável para consultas e criação de audiences em múltiplos projetos Reachy.
``bash`
npm install @reachy/audience-module
`typescript
import { AudienceModule } from '@reachy/audience-module'
import { ContactRepository } from './repositories/contactRepository'
import { AudienceRepository } from './repositories/audienceRepository'
// Criar instância do módulo
const audienceModule = new AudienceModule({
enableDebugLogs: true
})
// Configurar repositórios necessários
audienceModule.setRepositories({
contactRepository: new ContactRepository(),
audienceRepository: new AudienceRepository()
})
// Executar query de audiência
const result = await audienceModule.executeQuery(
{
filters: [
{
id: '1',
operator: 'AND',
conditions: [
{ field: 'city', operator: 'equals', value: 'São Paulo' },
{ field: 'opted_in', operator: 'equals', value: true }
]
}
]
},
{
organizationId: 'org-123',
projectId: 'proj-456',
pagination: { page: 1, limit: 50 }
}
)
console.log(Encontrados ${result.count} contatos)`
- ✅ Suporte a múltiplos formatos de critérios
- ✅ Query builder otimizado
- ✅ Execução de audiences estáticas e live
- ✅ Validação de critérios
- ✅ Type-safe com TypeScript
- ✅ Fácil integração com Supabase
#### executeQuery(criteria, options)
Executa uma query de audiência e retorna os resultados.
#### getContactCount(criteria, options)
Retorna apenas a contagem de contatos (mais rápido).
#### getContactIds(criteria, organizationId, projectId)
Retorna apenas os IDs dos contatos.
#### validateCriteria(criteria)
Valida se os critérios são válidos.
`bash``
npm run build
- Repository
- Issues
MIT