feat(domain): interface Area + campos areaId/areaName en Process

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-07-07 18:18:04 -03:00
parent d64078d96a
commit a3ff6ee545
2 changed files with 11 additions and 0 deletions

View File

@@ -54,6 +54,7 @@ export const ProcessSchema = z.object({
automationInvestment: z.number().min(0).default(0), automationInvestment: z.number().min(0).default(0),
createdAt: z.number(), createdAt: z.number(),
updatedAt: z.number(), updatedAt: z.number(),
areaId: z.string().uuid().nullable(),
}) })
export type ResourceInput = z.infer<typeof ResourceSchema> export type ResourceInput = z.infer<typeof ResourceSchema>

View File

@@ -22,6 +22,8 @@ export interface Process {
updatedBy: string // 🆕 Sprint 4 — UUID del usuario que hizo el último update updatedBy: string // 🆕 Sprint 4 — UUID del usuario que hizo el último update
orgId: string | null // 🆕 Sprint 7 — organización dueña del proceso (null = proceso interno InQ) orgId: string | null // 🆕 Sprint 7 — organización dueña del proceso (null = proceso interno InQ)
orgName?: string | null // 🆕 Sprint 7 — nombre de la org (poblado por getById via JOIN, no se persiste) orgName?: string | null // 🆕 Sprint 7 — nombre de la org (poblado por getById via JOIN, no se persiste)
areaId: string | null // 🆕 Sprint 8 — área de la org (null = sin área)
areaName?: string | null // 🆕 Sprint 8 — poblado via JOIN en getById
} }
export type ActivityType = 'task' | 'subprocess' export type ActivityType = 'task' | 'subprocess'
@@ -89,6 +91,14 @@ export interface ProcessGroup {
updatedAt: number // timestamp Unix ms updatedAt: number // timestamp Unix ms
} }
export interface Area {
id: string
orgId: string
name: string
description: string | null
createdAt: number // timestamp Unix ms
}
export interface AppSettings { export interface AppSettings {
id: 'singleton' // siempre un único registro por instalación id: 'singleton' // siempre un único registro por instalación
groupLabel: string // etiqueta configurable para el nivel de agrupación. Default: 'Cliente' groupLabel: string // etiqueta configurable para el nivel de agrupación. Default: 'Cliente'