feat(devices): implementa tabela separada para softwares instalados
- Cria tabela machineSoftware no schema com indices otimizados - Adiciona mutations para sincronizar softwares do heartbeat - Atualiza heartbeat para processar e salvar softwares - Cria componente DeviceSoftwareList com pesquisa e paginacao - Integra lista de softwares no drawer de detalhes do dispositivo feat(sla): transforma formulario em modal completo - Substitui formulario inline por modal guiado - Adiciona badge "Global" para indicar escopo da politica - Adiciona seletor de unidade de tempo (minutos, horas, dias) - Melhora textos e adiciona dica sobre hierarquia de SLAs fix(reports): ajusta altura do SearchableCombobox 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
ef2545221d
commit
23fe67e7d3
7 changed files with 741 additions and 205 deletions
|
|
@ -821,6 +821,25 @@ export default defineSchema({
|
|||
})
|
||||
.index("by_machine", ["machineId"]),
|
||||
|
||||
// Tabela separada para softwares instalados - permite filtros, pesquisa e paginacao
|
||||
// Os dados sao enviados pelo agente desktop e armazenados aqui de forma normalizada
|
||||
machineSoftware: defineTable({
|
||||
tenantId: v.string(),
|
||||
machineId: v.id("machines"),
|
||||
name: v.string(),
|
||||
nameLower: v.string(), // Para busca case-insensitive
|
||||
version: v.optional(v.string()),
|
||||
publisher: v.optional(v.string()),
|
||||
source: v.optional(v.string()), // dpkg, rpm, windows, macos, etc
|
||||
installedAt: v.optional(v.number()), // Data de instalacao (se disponivel)
|
||||
detectedAt: v.number(), // Quando foi detectado pelo agente
|
||||
lastSeenAt: v.number(), // Ultima vez que foi visto no heartbeat
|
||||
})
|
||||
.index("by_machine", ["machineId"])
|
||||
.index("by_machine_name", ["machineId", "nameLower"])
|
||||
.index("by_tenant_name", ["tenantId", "nameLower"])
|
||||
.index("by_tenant_machine", ["tenantId", "machineId"]),
|
||||
|
||||
machineTokens: defineTable({
|
||||
tenantId: v.string(),
|
||||
machineId: v.id("machines"),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue