chore: import DH V2 D5.6.4 production baseline

This commit is contained in:
DH V2
2026-09-05 10:12:35 -03:00
commit 82213e72f5
757 changed files with 84218 additions and 0 deletions
File diff suppressed because it is too large Load Diff
+96
View File
@@ -0,0 +1,96 @@
const dateTime = new Intl.DateTimeFormat('es-AR', {
dateStyle: 'short',
timeStyle: 'short',
});
export function formatDate(value: string | null | undefined) {
if (!value) return '—';
const date = new Date(value);
return Number.isNaN(date.getTime()) ? '—' : dateTime.format(date);
}
export function formatDateOnly(value: string | null | undefined) {
if (!value) return '—';
const match = /^(\d{4})-(\d{2})-(\d{2})$/.exec(value.slice(0, 10));
return match ? `${match[3]}/${match[2]}/${match[1]}` : '—';
}
const actions: Record<string, string> = {
AUTH_LOGIN_SUCCESS: 'Inicio de sesión',
AUTH_LOGIN_FAILED: 'Acceso rechazado',
AUTH_LOGOUT: 'Cierre de sesión',
AUTH_REFRESH: 'Sesión renovada',
AUTH_REFRESH_REUSE_DETECTED: 'Reutilización de sesión detectada',
AUTH_PASSWORD_CHANGED: 'Contraseña modificada',
SYSTEM_BOOTSTRAP_ADMIN_CREATED: 'Administrador inicial creado',
USER_CREATED: 'Usuario creado',
USER_UPDATED: 'Usuario actualizado',
USER_STATUS_CHANGED: 'Estado de usuario modificado',
USER_ROLES_CHANGED: 'Roles de usuario modificados',
ROLE_CREATED: 'Rol creado',
ROLE_UPDATED: 'Rol actualizado',
ROLE_PERMISSIONS_CHANGED: 'Permisos de rol modificados',
ASSET_TYPE_CREATED: 'Tipo de elemento creado',
ASSET_MASTER_BOOTSTRAPPED: 'Configuración inicial de Inventarios',
ASSET_TYPE_UPDATED: 'Tipo de elemento actualizado',
ASSET_ATTRIBUTE_CREATED: 'Atributo de inventario creado',
ASSET_ATTRIBUTE_UPDATED: 'Atributo de inventario actualizado',
ASSET_CREATED: 'Registro de inventario creado',
ASSET_FIELD_DISCOVERY_CREATED: 'Alta de campo registrada',
ASSET_FIELD_DISCOVERY_APPROVED: 'Alta de campo aprobada',
ASSET_FIELD_DISCOVERY_MATCHED: 'Alta de campo conciliada',
ASSET_FIELD_DISCOVERY_REJECTED: 'Alta de campo rechazada',
ASSET_UPDATED: 'Registro de inventario actualizado',
ASSET_INFORMATION_STATUS_CHANGED: 'Estado de información modificado',
ASSET_GEOMETRY_UPDATED: 'Ubicación de registro actualizada',
ASSET_GEOMETRY_REMOVED: 'Ubicación de registro retirada',
ASSET_MEDIA_UPLOADED: 'Archivo de inventario incorporado',
ASSET_MEDIA_UPDATED: 'Archivo de inventario actualizado',
ASSET_MEDIA_REMOVED: 'Archivo de inventario retirado',
ASSET_PROVENANCE_UPDATED: 'Procedencia de registro actualizada',
ASSET_PROVENANCE_VERIFIED: 'Procedencia de registro verificada',
ASSET_AREA_COMPANY_RELATION_CREATED: 'Relación ÁreaOrganización creada',
ASSET_AREA_COMPANY_RELATION_ENDED: 'Relación ÁreaOrganización finalizada',
SURVEY_CAMPAIGN_CREATED: 'Campaña de relevamiento creada',
SURVEY_CAMPAIGN_UPDATED: 'Campaña de relevamiento actualizada',
SURVEY_CAMPAIGN_STATUS_CHANGED: 'Estado de campaña modificado',
SURVEY_TARGET_ADDED: 'Objetivo de relevamiento agregado',
SURVEY_TARGET_UPDATED: 'Plan de objetivo actualizado',
SURVEY_TARGET_ASSIGNED: 'Objetivo de relevamiento asignado',
SURVEY_TARGET_STATUS_CHANGED: 'Avance de relevamiento actualizado',
SURVEY_REPORT_SAVED: 'Borrador de relevamiento guardado',
SURVEY_REPORT_SUBMITTED: 'Relevamiento enviado a revisión',
SURVEY_REPORT_APPROVED: 'Relevamiento aprobado',
SURVEY_REPORT_REJECTED: 'Relevamiento rechazado',
INSPECTION_VISIT_CREATED: 'Visita de inspección creada',
INSPECTION_VISIT_UPDATED: 'Plan de visita actualizado',
INSPECTION_VISIT_STATUS_CHANGED: 'Estado de visita modificado',
INSPECTION_VISIT_ASSETS_UPDATED: 'Registros de visita actualizados',
INSPECTION_VISIT_TEAM_UPDATED: 'Equipo de visita actualizado',
INSPECTION_VISIT_STARTED: 'Visita de inspección iniciada',
INSPECTION_ACT_CREATED: 'Acta de inspección creada',
INSPECTION_ACT_UPDATED: 'Acta de inspección actualizada',
INSPECTION_ACT_CANCELLED: 'Acta de inspección cancelada',
INSPECTION_ACT_RESPONSIBLE_UPDATED: 'Responsable del acta actualizado',
INSPECTION_ACT_READY: 'Contenido del acta congelado',
INSPECTION_ACT_REOPENED: 'Acta devuelta a borrador',
INSPECTION_ACT_SIGNATURE_RECORDED: 'Firma manuscrita incorporada al acta',
INSPECTION_ACT_COMPANY_OUTCOME_RECORDED: 'Resultado de recepción empresarial registrado',
INSPECTION_ACT_CLOSED: 'Acta y visita cerradas',
INSPECTION_REPORT_GENERATED: 'Informe de inspección generado',
INSPECTION_VERIFICATION_PLANNED: 'Visita de verificación preparada',
INSPECTION_FINDING_CREATED: 'Hallazgo abierto',
INSPECTION_FINDING_UPDATED: 'Hallazgo actualizado',
INSPECTION_FINDING_FOLLOW_UP_UPDATED: 'Seguimiento de hallazgo actualizado',
INSPECTION_FINDING_CLOSED: 'Hallazgo cerrado',
INSPECTION_FINDING_EVIDENCE_UPLOADED: 'Evidencia de hallazgo incorporada',
INSPECTION_FINDING_COMMUNICATION_CREATED: 'Comunicación de hallazgo registrada',
};
export function actionLabel(action: string) {
return actions[action] ?? action.replaceAll('_', ' ').toLocaleLowerCase('es-AR');
}
export function initials(firstName: string, lastName: string) {
return `${firstName[0] ?? ''}${lastName[0] ?? ''}`.toUpperCase();
}