feat: expand admin companies and users modules

This commit is contained in:
Esdras Renan 2025-10-22 01:27:43 -03:00
parent a043b1203c
commit 2e3b46a7b5
31 changed files with 5626 additions and 2003 deletions

View file

@ -23,6 +23,7 @@ import type * as migrations from "../migrations.js";
import type * as queues from "../queues.js";
import type * as rbac from "../rbac.js";
import type * as reports from "../reports.js";
import type * as revision from "../revision.js";
import type * as seed from "../seed.js";
import type * as slas from "../slas.js";
import type * as teams from "../teams.js";
@ -59,6 +60,7 @@ declare const fullApi: ApiFromModules<{
queues: typeof queues;
rbac: typeof rbac;
reports: typeof reports;
revision: typeof revision;
seed: typeof seed;
slas: typeof slas;
teams: typeof teams;

View file

@ -74,6 +74,31 @@ export const ensureProvisioned = mutation({
phone: undefined,
description: undefined,
address: undefined,
legalName: undefined,
tradeName: undefined,
stateRegistration: undefined,
stateRegistrationType: undefined,
primaryCnae: undefined,
timezone: undefined,
businessHours: undefined,
supportEmail: undefined,
billingEmail: undefined,
contactPreferences: undefined,
clientDomains: undefined,
communicationChannels: undefined,
fiscalAddress: undefined,
hasBranches: false,
regulatedEnvironments: undefined,
privacyPolicyAccepted: false,
privacyPolicyReference: undefined,
privacyPolicyMetadata: undefined,
contracts: undefined,
contacts: undefined,
locations: undefined,
sla: undefined,
tags: undefined,
customFields: undefined,
notes: undefined,
createdAt: now,
updatedAt: now,
})

View file

@ -28,6 +28,31 @@ export default defineSchema({
phone: v.optional(v.string()),
description: v.optional(v.string()),
address: v.optional(v.string()),
legalName: v.optional(v.string()),
tradeName: v.optional(v.string()),
stateRegistration: v.optional(v.string()),
stateRegistrationType: v.optional(v.string()),
primaryCnae: v.optional(v.string()),
timezone: v.optional(v.string()),
businessHours: v.optional(v.any()),
supportEmail: v.optional(v.string()),
billingEmail: v.optional(v.string()),
contactPreferences: v.optional(v.any()),
clientDomains: v.optional(v.array(v.string())),
communicationChannels: v.optional(v.any()),
fiscalAddress: v.optional(v.any()),
hasBranches: v.optional(v.boolean()),
regulatedEnvironments: v.optional(v.array(v.string())),
privacyPolicyAccepted: v.optional(v.boolean()),
privacyPolicyReference: v.optional(v.string()),
privacyPolicyMetadata: v.optional(v.any()),
contracts: v.optional(v.any()),
contacts: v.optional(v.any()),
locations: v.optional(v.any()),
sla: v.optional(v.any()),
tags: v.optional(v.array(v.string())),
customFields: v.optional(v.any()),
notes: v.optional(v.string()),
createdAt: v.number(),
updatedAt: v.number(),
})
@ -304,6 +329,7 @@ export default defineSchema({
createdAt: v.number(),
updatedAt: v.number(),
registeredBy: v.optional(v.string()),
remoteAccess: v.optional(v.any()),
})
.index("by_tenant", ["tenantId"])
.index("by_tenant_company", ["tenantId", "companyId"])