- ✅ Ticket 1.1: Estructura Clean Architecture en backend - ✅ Ticket 1.2: Schemas Zod compartidos - ✅ Ticket 1.3: Refactorización drugs.ts (1362 → 8 archivos modulares) - ✅ Ticket 1.4: Refactorización procedures.ts (3583 → 6 archivos modulares) - ✅ Ticket 1.5: Eliminación de duplicidades (~50 líneas) Cambios principales: - Creada estructura Clean Architecture en backend/src/ - Schemas Zod compartidos en backend/src/shared/schemas/ - Refactorización modular de drugs y procedures - Utilidades genéricas en src/utils/ (filter, validation) - Eliminados scripts obsoletos y documentación antigua - Corregidos errores: QueryClient, import test-error-handling - Build verificado y funcionando correctamente
40 lines
1.2 KiB
Modula-2
40 lines
1.2 KiB
Modula-2
{{## def.checkMissingProperty:_properties:
|
|
{{~ _properties:$propertyKey:$i }}
|
|
{{?$i}} || {{?}}
|
|
{{
|
|
var $prop = it.util.getProperty($propertyKey)
|
|
, $useData = $data + $prop;
|
|
}}
|
|
( ({{# def.noPropertyInData }}) && (missing{{=$lvl}} = {{= it.util.toQuotedString(it.opts.jsonPointers ? $propertyKey : $prop) }}) )
|
|
{{~}}
|
|
#}}
|
|
|
|
|
|
{{## def.errorMissingProperty:_error:
|
|
{{
|
|
var $propertyPath = 'missing' + $lvl
|
|
, $missingProperty = '\' + ' + $propertyPath + ' + \'';
|
|
if (it.opts._errorDataPathProperty) {
|
|
it.errorPath = it.opts.jsonPointers
|
|
? it.util.getPathExpr($currentErrorPath, $propertyPath, true)
|
|
: $currentErrorPath + ' + ' + $propertyPath;
|
|
}
|
|
}}
|
|
{{# def.error:_error }}
|
|
#}}
|
|
|
|
|
|
{{## def.allErrorsMissingProperty:_error:
|
|
{{
|
|
var $prop = it.util.getProperty($propertyKey)
|
|
, $missingProperty = it.util.escapeQuotes($propertyKey)
|
|
, $useData = $data + $prop;
|
|
if (it.opts._errorDataPathProperty) {
|
|
it.errorPath = it.util.getPath($currentErrorPath, $propertyKey, it.opts.jsonPointers);
|
|
}
|
|
}}
|
|
if ({{# def.noPropertyInData }}) {
|
|
{{# def.addError:_error }}
|
|
}
|
|
#}}
|