feat: export reports as xlsx and add machine inventory

This commit is contained in:
Esdras Renan 2025-10-27 18:00:28 -03:00
parent 29b865885c
commit 714b199879
34 changed files with 2304 additions and 245 deletions

View file

@ -7,6 +7,8 @@ export default defineSchema({
name: v.string(),
email: v.string(),
role: v.optional(v.string()),
jobTitle: v.optional(v.string()),
managerId: v.optional(v.id("users")),
avatarUrl: v.optional(v.string()),
teams: v.optional(v.array(v.string())),
companyId: v.optional(v.id("companies")),
@ -14,7 +16,8 @@ export default defineSchema({
.index("by_tenant_email", ["tenantId", "email"])
.index("by_tenant_role", ["tenantId", "role"])
.index("by_tenant", ["tenantId"])
.index("by_tenant_company", ["tenantId", "companyId"]),
.index("by_tenant_company", ["tenantId", "companyId"])
.index("by_tenant_manager", ["tenantId", "managerId"]),
companies: defineTable({
tenantId: v.string(),
@ -135,6 +138,16 @@ export default defineSchema({
isAvulso: v.optional(v.boolean()),
})
),
machineId: v.optional(v.id("machines")),
machineSnapshot: v.optional(
v.object({
hostname: v.optional(v.string()),
persona: v.optional(v.string()),
assignedUserName: v.optional(v.string()),
assignedUserEmail: v.optional(v.string()),
status: v.optional(v.string()),
})
),
working: v.optional(v.boolean()),
slaPolicyId: v.optional(v.id("slaPolicies")),
dueAt: v.optional(v.number()), // ms since epoch
@ -167,6 +180,7 @@ export default defineSchema({
.index("by_tenant_reference", ["tenantId", "reference"])
.index("by_tenant_requester", ["tenantId", "requesterId"])
.index("by_tenant_company", ["tenantId", "companyId"])
.index("by_tenant_machine", ["tenantId", "machineId"])
.index("by_tenant", ["tenantId"]),
ticketComments: defineTable({