sigo-entities 1.2.458 → 1.2.459

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,215 +1,215 @@
1
- # Reporte — Estructura de sigo-entities
2
-
3
- **Fecha:** 2026-08-31
4
- **Autor:** Brayan Andrés Valero Pinzón — Hermes Agent (sigo-frontend-dev)
5
- **Destinatario:** Ingeniero Josue — Repositorio `sigo-entities`
6
-
7
- ---
8
-
9
- ## Resumen
10
-
11
- Se detectaron **47 carpetas con nombres incorrectos** (sin guiones), **30 archivos `shared/index.ts` con Entity + DTO + `_id` mezclados**, y **3 carpetas en configuracion que ya fueron corregidas**.
12
-
13
- ---
14
-
15
- ## ✅ CORREGIDAS (3 archivos)
16
-
17
- Las siguientes 3 Entities fueron corregidas siguiendo el patrón correcto:
18
-
19
- | Carpeta | Archivos creados | Cambios |
20
- |---|---|---|
21
- | `theme config country` | `shared/theme-config-country-entity.ts` | Eliminado `_id`, DTOs inline en entity.ts, `shared/index.ts` solo exporta entity |
22
- | `theme config user` | `shared/dto/favorito-dto.ts` + `shared/theme-config-user-entity.ts` | Eliminado `_id`, DTOs separados en carpeta `dto/`, `shared/index.ts` solo exporta entity |
23
- | `scraping credential` | `shared/scraping-credential-entity.ts` | Eliminado `_id`, `shared/index.ts` solo exporta entity |
24
-
25
- **Patrón aplicado:**
26
- ```
27
- carpeta/
28
- shared/
29
- dto/
30
- nombre-dto.ts ← DTOs aquí
31
- nombre-entity.ts ← solo la Entity aquí
32
- index.ts ← solo export * from './nombre-entity'
33
- ```
34
-
35
- ---
36
-
37
- ## ❌ CARPETA 1: Carpetas con nombres SIN guiones (47 carpetas)
38
-
39
- **Regla:** Nombres compuestos deben usar guiones (`-`) en lugar de espacios.
40
-
41
- ### Configuración (10 carpetas)
42
- | Actual | Debería ser |
43
- |---|---|
44
- | `cargo personal` | `cargo-personal` |
45
- | `contrato ot` | `contrato-ot` |
46
- | `opcion sistema` | `opcion-sistema` |
47
- | ~~`scraping credential`~~ | ~~`scraping-credential`~~ ✅ renombrada |
48
- | ~~`theme config country`~~ | ~~`theme-config-country`~~ ✅ renombrada |
49
- | ~~`theme config user`~~ | ~~`theme-config-user`~~ ✅ renombrada |
50
- | `tipo clave` | `tipo-clave` |
51
- | `tipo especialidad mo` | `tipo-especialidad-mo` |
52
- | `tipo opcion sistema` | `tipo-opcion-sistema` |
53
- | `usuarios autoinventario` | `usuarios-autoinventario` |
54
-
55
- ### Administración (8 carpetas)
56
- | Actual | Debería ser |
57
- |---|---|
58
- | `chile 9512 paquetizado mano obra` | `chile-9512-paquetizado-mano-obra` |
59
- | `chile 9512 paquetizado material` | `chile-9512-paquetizado-material` |
60
- | `key integracion` | `key-integracion` |
61
- | `mail structure` | `mail-structure` |
62
- | `precio especialidad` | `precio-especialidad` |
63
- | `precio material` | `precio-material` |
64
- | `unidad obra material` | `unidad-obra-material` |
65
- | `zona trabajo` | `zona-trabajo` |
66
-
67
- ### Logística (17 carpetas)
68
- | Actual | Debería ser |
69
- |---|---|
70
- | `almacen extra` | `almacen-extra` |
71
- | `atencion ordenes liquidadas` | `atencion-ordenes-liquidadas` |
72
- | `consumo material` | `consumo-material` |
73
- | `consumos P117` | `consumos-P117` |
74
- | `devolucion almacen` | `devolucion-almacen` |
75
- | `gran familia item` | `gran-familia-item` |
76
- | `ingreso almacen` | `ingreso-almacen` |
77
- | `movimiento almacen` | `movimiento-almacen` |
78
- | `salida almacen` | `salida-almacen` |
79
- | `stock almacen` | `stock-almacen` |
80
- | `stock almacen equipos` | `stock-almacen-equipos` |
81
- | `stock personal` | `stock-personal` |
82
- | `stock personal equipos` | `stock-personal-equipos` |
83
- | `tipo almacen` | `tipo-almacen` |
84
- | `tipo movimiento almacen` | `tipo-movimiento-almacen` |
85
- | `tipo stock` | `tipo-stock` |
86
- | `transaccion folios` | `transaccion-folios` |
87
- | `unidad medida` | `unidad--medida` |
88
-
89
- ### Programados (10 carpetas)
90
- | Actual | Debería ser |
91
- |---|---|
92
- | `centro costos` | `centro-costos` |
93
- | `mano obra global` | `mano-obra-global` |
94
- | `rm actividad` | `rm-actividad` |
95
- | `rm comuna` | `rm-comuna` |
96
- | `rm mano obra` | `rm-mano-obra` |
97
- | `rm paquetizado` | `rm-paquetizado` |
98
- | `tipo actividad mo` | `tipo-actividad-mo` |
99
- | `tipo obra` | `tipo-obra` |
100
- | `model mo sql` | `model-mo-sql` |
101
- | `model obra sql` | `model-obra-sql` |
102
-
103
- ### Operativa (7 carpetas)
104
- | Actual | Debería ser |
105
- |---|---|
106
- | `order stock` | `order-stock` |
107
- | `order stock store` | `order-stock-store` |
108
- | `request number TTL` | `request-number-TTL` |
109
- | `Tdc order stock` | `Tdc-order-stock` |
110
- | `TOA Claro order stock` | `TOA-Claro-order-stock` |
111
- | `TOA orden liquidacion` | `TOA-orden-liquidacion` |
112
- | `TOA order stock` | `TOA-order-stock` |
113
-
114
- ---
115
-
116
- ## ❌ CARPETA 2: `shared/index.ts` con Entity + DTO + `_id` mezclados (30 carpetas)
117
-
118
- **Regla:** `shared/index.ts` debe contener SOLO la Entity. Los DTOs deben estar en `shared/dto/`.
119
-
120
- ### Configuración (3 carpetas — ya corregidas)
121
- | Carpeta | Entity | DTOs presentes | `_id` | Estado |
122
- |---|---|---|---|---|
123
- | `configuracion/ theme-config-country/shared/index.ts` | `ThemeConfigCountryENTITY` | `ImgLogoNavBarDTO`, `ThemeCountryManualDTO` | ✅ Línea 50 | ✅ CORREGIDA (carpeta renombrada, DTOs en `shared/dto/`, `_id` eliminado) |
124
- | `configuracion/ theme-config-user/shared/index.ts` | `ThemeConfigUserENTITY` | `FavoritoDTO` | ✅ Línea 33 | ✅ CORREGIDA (carpeta renombrada, DTOs en `shared/dto/`, `_id` eliminado) |
125
- | `configuracion/ scraping-credential/shared/index.ts` | `ScrapingCredentialENTITY` | `CodigoNombreDTO` | ✅ Línea 10 | ✅ CORREGIDA (carpeta renombrada, `_id` eliminado) |
126
-
127
- ### Logística (2 carpetas)
128
- | Carpeta | Entity | DTOs presentes | `_id` |
129
- |---|---|---|---|
130
- | `logistica/stock personal/shared/index.ts` | `StockPersonalENTITY` | Varios | ✅ |
131
- | `logistica/stock personal equipos/shared/index.ts` | `StockPersonalEquiposENTITY` | Varios | ✅ |
132
-
133
- ### Operativa/Procesos (25 carpetas)
134
- | Carpeta | Entity | `_id` |
135
- |---|---|---|
136
- | `operativa/procesos/altas_nvt_order/shared/index.ts` | `AltasNVTOrderENTITY` | ✅ Línea 35 |
137
- | `operativa/procesos/bantel/shared/index.ts` | `BantelENTITY` | ❌ `resource_id` (equivalente a `_id`) |
138
- | `operativa/procesos/claro_peru9112/shared/index.ts` | `Peru9112ClaroENTITY` | ✅ Línea 32 |
139
- | `operativa/procesos/cliente_waoo/shared/index.ts` | `ClienteWAOOENTITY` | ❌ `line_id` (equivalente a `_id`) |
140
- | `operativa/procesos/fibramas_order/shared/index.ts` | `Peru9112FibramasENTITY` | ❌ `resource_id` (equivalente a `_id`) |
141
- | `operativa/procesos/fibramas_order_db/shared/index.ts` | `Peru9112FibramasENTITYDB` | ❌ `resource_id` (equivalente a `_id`) |
142
- | `operativa/procesos/mifibra_db/shared/index.ts` | `MiFibraENTITYDB` | ❌ `resource_id` (equivalente a `_id`) |
143
- | `operativa/procesos/order stock/shared/index.ts` | `OrderStockENTITY` | ✅ |
144
- | `operativa/procesos/order stock store/shared/index.ts` | `OrderStockStoreENTITY` | ✅ |
145
- | `operativa/procesos/request number TTL/shared/index.ts` | `RequestNumberTTLENTITY` | ✅ Línea 14 |
146
- | `operativa/procesos/somacyl_order/shared/index.ts` | `SomacylOrderENTITY` | ✅ Línea 32 |
147
- | `operativa/procesos/stb_dth_toaperu/shared/index.ts` | `STB_DTH_ToaENTITY` | ✅ |
148
- | `operativa/procesos/Tdc order stock/shared/index.ts` | `TdcOrderStockENTITY` | ✅ |
149
- | `operativa/procesos/TOA Claro order stock/shared/index.ts` | `TOAClaroOrderStockENTITY` | ✅ |
150
- | `operativa/procesos/TOA orden liquidacion/shared/index.ts` | `TOAOrdenLiquidacionENTITY` | ✅ |
151
- | `operativa/procesos/TOA orden liquidacion_db/shared/index.ts` | `TOAOrdenLiquidacionENTITYDB` | ✅ Línea 21 |
152
- | `operativa/procesos/TOA order stock/shared/index.ts` | `TOAOrderStockENTITY` | ✅ |
153
- | `operativa/procesos/toa_claro/shared/index.ts` | `ToaClaroENTITY` | ✅ |
154
- | `operativa/procesos/toa_movistar/shared/index.ts` | `Peru9112TOAENTITY` | ✅ Línea 30 |
155
- | `operativa/procesos/toa_movistar_db/shared/index.ts` | `Peru9112TOAENTITYDB` | ✅ Línea 27 |
156
- | `operativa/procesos/tuves/shared/index.ts` | `TuvesENTITY` | ✅ Línea 30 |
157
- | `operativa/procesos/tuves_order_stock/shared/index.ts` | `TuvesOrderStockENTITY` | ✅ |
158
- | `operativa/procesos/win_order/shared/index.ts` | `Peru9112WinENTITY` | ❌ `resource_id` (equivalente a `_id`) |
159
- | `operativa/procesos/win_order_db/shared/index.ts` | `Peru9112WinENTITYDB` | ❌ `resource_id` (equivalente a `_id`) |
160
-
161
- ---
162
-
163
- ## ❌ CARPETA 3: Estructura incorrecta general
164
-
165
- **Patrón actual incorrecto (la mayoría de carpetas):**
166
- ```
167
- carpeta-con-espacios/
168
- shared/
169
- index.ts ← contiene: Entity + DTOs + _id todo mezclado
170
- ```
171
-
172
- **Patrón correcto (patrón de referencia `navisionpreorden`):**
173
- ```
174
- carpeta-con-guiones/
175
- shared/
176
- dto/
177
- nombre-dto.ts
178
- otro-dto.ts
179
- nombre-entity.ts ← solo la Entity aquí
180
- index.ts ← solo: export * from './nombre-entity'
181
- ```
182
-
183
- ---
184
-
185
- ## 📋 Resumen de problemas por prioridad
186
-
187
- | Prioridad | Problema | Cantidad | Impacto |
188
- |---|---|---|---|
189
- | **P0** | `_id` en Entities | 23 carpetas | Error de validación MongoDB: `_id must be a string` |
190
- | **P0** | Entity + DTOs mezclados en `shared/index.ts` | 30 carpetas | Confusión de imports, violación de separación de responsabilidades |
191
- | **P1** | Nombres de carpetas con espacios (sin guiones) | 47 carpetas | Inconsistencia con patrón LatasOS, problemas de import en Windows |
192
- | **P2** | `shared/index.ts` sin carpeta `dto/` separada | 30 carpetas | DTOs no reutilizables, archivo index.ts inflado |
193
-
194
- ---
195
-
196
- ## 📐 Patrón correcto de referencia
197
-
198
- Archivo: `navisionpreorden/shared/navisionpreorden-entity.ts`
199
-
200
- ```typescript
201
- // ✅ Sin _id
202
- // ✅ Solo la Entity
203
- // ✅ DTOs en carpeta shared/dto/
204
- // ✅ Nombre de carpeta con guiones
205
- // ✅ ID principal como número (ID_NavisionpreordenEntity)
206
- ```
207
-
208
- ---
209
-
210
- ## 🔧 Acciones requeridas
211
-
212
- 1. **P0 — Eliminar `_id`** de 20 carpetas restantes (incluyendo `resource_id` y `line_id` como equivalentes) — 3 ya corregidas: `theme-config-country`, `theme-config-user`, `scraping-credential`
213
- 2. **P0 — Separar DTOs de Entities** en 27 carpetas restantes — 3 ya corregidas: `theme-config-country`, `theme-config-user`, `scraping-credential`
214
- 3. **P1 — Renombrar carpetas** de 44 carpetas restantes — 3 ya corregidas: `theme-config-country`, `theme-config-user`, `scraping-credential`
215
- 4. **P2 — Actualizar `shared/index.ts`** en 27 carpetas restantes — 3 ya corregidas
1
+ # Reporte — Estructura de sigo-entities
2
+
3
+ **Fecha:** 2026-08-31
4
+ **Autor:** Brayan Andrés Valero Pinzón — Hermes Agent (sigo-frontend-dev)
5
+ **Destinatario:** Ingeniero Josue — Repositorio `sigo-entities`
6
+
7
+ ---
8
+
9
+ ## Resumen
10
+
11
+ Se detectaron **47 carpetas con nombres incorrectos** (sin guiones), **30 archivos `shared/index.ts` con Entity + DTO + `_id` mezclados**, y **3 carpetas en configuracion que ya fueron corregidas**.
12
+
13
+ ---
14
+
15
+ ## ✅ CORREGIDAS (3 archivos)
16
+
17
+ Las siguientes 3 Entities fueron corregidas siguiendo el patrón correcto:
18
+
19
+ | Carpeta | Archivos creados | Cambios |
20
+ |---|---|---|
21
+ | `theme config country` | `shared/theme-config-country-entity.ts` | Eliminado `_id`, DTOs inline en entity.ts, `shared/index.ts` solo exporta entity |
22
+ | `theme config user` | `shared/dto/favorito-dto.ts` + `shared/theme-config-user-entity.ts` | Eliminado `_id`, DTOs separados en carpeta `dto/`, `shared/index.ts` solo exporta entity |
23
+ | `scraping credential` | `shared/scraping-credential-entity.ts` | Eliminado `_id`, `shared/index.ts` solo exporta entity |
24
+
25
+ **Patrón aplicado:**
26
+ ```
27
+ carpeta/
28
+ shared/
29
+ dto/
30
+ nombre-dto.ts ← DTOs aquí
31
+ nombre-entity.ts ← solo la Entity aquí
32
+ index.ts ← solo export * from './nombre-entity'
33
+ ```
34
+
35
+ ---
36
+
37
+ ## ❌ CARPETA 1: Carpetas con nombres SIN guiones (47 carpetas)
38
+
39
+ **Regla:** Nombres compuestos deben usar guiones (`-`) en lugar de espacios.
40
+
41
+ ### Configuración (10 carpetas)
42
+ | Actual | Debería ser |
43
+ |---|---|
44
+ | `cargo personal` | `cargo-personal` |
45
+ | `contrato ot` | `contrato-ot` |
46
+ | `opcion sistema` | `opcion-sistema` |
47
+ | ~~`scraping credential`~~ | ~~`scraping-credential`~~ ✅ renombrada |
48
+ | ~~`theme config country`~~ | ~~`theme-config-country`~~ ✅ renombrada |
49
+ | ~~`theme config user`~~ | ~~`theme-config-user`~~ ✅ renombrada |
50
+ | `tipo clave` | `tipo-clave` |
51
+ | `tipo especialidad mo` | `tipo-especialidad-mo` |
52
+ | `tipo opcion sistema` | `tipo-opcion-sistema` |
53
+ | `usuarios autoinventario` | `usuarios-autoinventario` |
54
+
55
+ ### Administración (8 carpetas)
56
+ | Actual | Debería ser |
57
+ |---|---|
58
+ | `chile 9512 paquetizado mano obra` | `chile-9512-paquetizado-mano-obra` |
59
+ | `chile 9512 paquetizado material` | `chile-9512-paquetizado-material` |
60
+ | `key integracion` | `key-integracion` |
61
+ | `mail structure` | `mail-structure` |
62
+ | `precio especialidad` | `precio-especialidad` |
63
+ | `precio material` | `precio-material` |
64
+ | `unidad obra material` | `unidad-obra-material` |
65
+ | `zona trabajo` | `zona-trabajo` |
66
+
67
+ ### Logística (17 carpetas)
68
+ | Actual | Debería ser |
69
+ |---|---|
70
+ | `almacen extra` | `almacen-extra` |
71
+ | `atencion ordenes liquidadas` | `atencion-ordenes-liquidadas` |
72
+ | `consumo material` | `consumo-material` |
73
+ | `consumos P117` | `consumos-P117` |
74
+ | `devolucion almacen` | `devolucion-almacen` |
75
+ | `gran familia item` | `gran-familia-item` |
76
+ | `ingreso almacen` | `ingreso-almacen` |
77
+ | `movimiento almacen` | `movimiento-almacen` |
78
+ | `salida almacen` | `salida-almacen` |
79
+ | `stock almacen` | `stock-almacen` |
80
+ | `stock almacen equipos` | `stock-almacen-equipos` |
81
+ | `stock personal` | `stock-personal` |
82
+ | `stock personal equipos` | `stock-personal-equipos` |
83
+ | `tipo almacen` | `tipo-almacen` |
84
+ | `tipo movimiento almacen` | `tipo-movimiento-almacen` |
85
+ | `tipo stock` | `tipo-stock` |
86
+ | `transaccion folios` | `transaccion-folios` |
87
+ | `unidad medida` | `unidad--medida` |
88
+
89
+ ### Programados (10 carpetas)
90
+ | Actual | Debería ser |
91
+ |---|---|
92
+ | `centro costos` | `centro-costos` |
93
+ | `mano obra global` | `mano-obra-global` |
94
+ | `rm actividad` | `rm-actividad` |
95
+ | `rm comuna` | `rm-comuna` |
96
+ | `rm mano obra` | `rm-mano-obra` |
97
+ | `rm paquetizado` | `rm-paquetizado` |
98
+ | `tipo actividad mo` | `tipo-actividad-mo` |
99
+ | `tipo obra` | `tipo-obra` |
100
+ | `model mo sql` | `model-mo-sql` |
101
+ | `model obra sql` | `model-obra-sql` |
102
+
103
+ ### Operativa (7 carpetas)
104
+ | Actual | Debería ser |
105
+ |---|---|
106
+ | `order stock` | `order-stock` |
107
+ | `order stock store` | `order-stock-store` |
108
+ | `request number TTL` | `request-number-TTL` |
109
+ | `Tdc order stock` | `Tdc-order-stock` |
110
+ | `TOA Claro order stock` | `TOA-Claro-order-stock` |
111
+ | `TOA orden liquidacion` | `TOA-orden-liquidacion` |
112
+ | `TOA order stock` | `TOA-order-stock` |
113
+
114
+ ---
115
+
116
+ ## ❌ CARPETA 2: `shared/index.ts` con Entity + DTO + `_id` mezclados (30 carpetas)
117
+
118
+ **Regla:** `shared/index.ts` debe contener SOLO la Entity. Los DTOs deben estar en `shared/dto/`.
119
+
120
+ ### Configuración (3 carpetas — ya corregidas)
121
+ | Carpeta | Entity | DTOs presentes | `_id` | Estado |
122
+ |---|---|---|---|---|
123
+ | `configuracion/ theme-config-country/shared/index.ts` | `ThemeConfigCountryENTITY` | `ImgLogoNavBarDTO`, `ThemeCountryManualDTO` | ✅ Línea 50 | ✅ CORREGIDA (carpeta renombrada, DTOs en `shared/dto/`, `_id` eliminado) |
124
+ | `configuracion/ theme-config-user/shared/index.ts` | `ThemeConfigUserENTITY` | `FavoritoDTO` | ✅ Línea 33 | ✅ CORREGIDA (carpeta renombrada, DTOs en `shared/dto/`, `_id` eliminado) |
125
+ | `configuracion/ scraping-credential/shared/index.ts` | `ScrapingCredentialENTITY` | `CodigoNombreDTO` | ✅ Línea 10 | ✅ CORREGIDA (carpeta renombrada, `_id` eliminado) |
126
+
127
+ ### Logística (2 carpetas)
128
+ | Carpeta | Entity | DTOs presentes | `_id` |
129
+ |---|---|---|---|
130
+ | `logistica/stock personal/shared/index.ts` | `StockPersonalENTITY` | Varios | ✅ |
131
+ | `logistica/stock personal equipos/shared/index.ts` | `StockPersonalEquiposENTITY` | Varios | ✅ |
132
+
133
+ ### Operativa/Procesos (25 carpetas)
134
+ | Carpeta | Entity | `_id` |
135
+ |---|---|---|
136
+ | `operativa/procesos/altas_nvt_order/shared/index.ts` | `AltasNVTOrderENTITY` | ✅ Línea 35 |
137
+ | `operativa/procesos/bantel/shared/index.ts` | `BantelENTITY` | ❌ `resource_id` (equivalente a `_id`) |
138
+ | `operativa/procesos/claro_peru9112/shared/index.ts` | `Peru9112ClaroENTITY` | ✅ Línea 32 |
139
+ | `operativa/procesos/cliente_waoo/shared/index.ts` | `ClienteWAOOENTITY` | ❌ `line_id` (equivalente a `_id`) |
140
+ | `operativa/procesos/fibramas_order/shared/index.ts` | `Peru9112FibramasENTITY` | ❌ `resource_id` (equivalente a `_id`) |
141
+ | `operativa/procesos/fibramas_order_db/shared/index.ts` | `Peru9112FibramasENTITYDB` | ❌ `resource_id` (equivalente a `_id`) |
142
+ | `operativa/procesos/mifibra_db/shared/index.ts` | `MiFibraENTITYDB` | ❌ `resource_id` (equivalente a `_id`) |
143
+ | `operativa/procesos/order stock/shared/index.ts` | `OrderStockENTITY` | ✅ |
144
+ | `operativa/procesos/order stock store/shared/index.ts` | `OrderStockStoreENTITY` | ✅ |
145
+ | `operativa/procesos/request number TTL/shared/index.ts` | `RequestNumberTTLENTITY` | ✅ Línea 14 |
146
+ | `operativa/procesos/somacyl_order/shared/index.ts` | `SomacylOrderENTITY` | ✅ Línea 32 |
147
+ | `operativa/procesos/stb_dth_toaperu/shared/index.ts` | `STB_DTH_ToaENTITY` | ✅ |
148
+ | `operativa/procesos/Tdc order stock/shared/index.ts` | `TdcOrderStockENTITY` | ✅ |
149
+ | `operativa/procesos/TOA Claro order stock/shared/index.ts` | `TOAClaroOrderStockENTITY` | ✅ |
150
+ | `operativa/procesos/TOA orden liquidacion/shared/index.ts` | `TOAOrdenLiquidacionENTITY` | ✅ |
151
+ | `operativa/procesos/TOA orden liquidacion_db/shared/index.ts` | `TOAOrdenLiquidacionENTITYDB` | ✅ Línea 21 |
152
+ | `operativa/procesos/TOA order stock/shared/index.ts` | `TOAOrderStockENTITY` | ✅ |
153
+ | `operativa/procesos/toa_claro/shared/index.ts` | `ToaClaroENTITY` | ✅ |
154
+ | `operativa/procesos/toa_movistar/shared/index.ts` | `Peru9112TOAENTITY` | ✅ Línea 30 |
155
+ | `operativa/procesos/toa_movistar_db/shared/index.ts` | `Peru9112TOAENTITYDB` | ✅ Línea 27 |
156
+ | `operativa/procesos/tuves/shared/index.ts` | `TuvesENTITY` | ✅ Línea 30 |
157
+ | `operativa/procesos/tuves_order_stock/shared/index.ts` | `TuvesOrderStockENTITY` | ✅ |
158
+ | `operativa/procesos/win_order/shared/index.ts` | `Peru9112WinENTITY` | ❌ `resource_id` (equivalente a `_id`) |
159
+ | `operativa/procesos/win_order_db/shared/index.ts` | `Peru9112WinENTITYDB` | ❌ `resource_id` (equivalente a `_id`) |
160
+
161
+ ---
162
+
163
+ ## ❌ CARPETA 3: Estructura incorrecta general
164
+
165
+ **Patrón actual incorrecto (la mayoría de carpetas):**
166
+ ```
167
+ carpeta-con-espacios/
168
+ shared/
169
+ index.ts ← contiene: Entity + DTOs + _id todo mezclado
170
+ ```
171
+
172
+ **Patrón correcto (patrón de referencia `navisionpreorden`):**
173
+ ```
174
+ carpeta-con-guiones/
175
+ shared/
176
+ dto/
177
+ nombre-dto.ts
178
+ otro-dto.ts
179
+ nombre-entity.ts ← solo la Entity aquí
180
+ index.ts ← solo: export * from './nombre-entity'
181
+ ```
182
+
183
+ ---
184
+
185
+ ## 📋 Resumen de problemas por prioridad
186
+
187
+ | Prioridad | Problema | Cantidad | Impacto |
188
+ |---|---|---|---|
189
+ | **P0** | `_id` en Entities | 23 carpetas | Error de validación MongoDB: `_id must be a string` |
190
+ | **P0** | Entity + DTOs mezclados en `shared/index.ts` | 30 carpetas | Confusión de imports, violación de separación de responsabilidades |
191
+ | **P1** | Nombres de carpetas con espacios (sin guiones) | 47 carpetas | Inconsistencia con patrón LatasOS, problemas de import en Windows |
192
+ | **P2** | `shared/index.ts` sin carpeta `dto/` separada | 30 carpetas | DTOs no reutilizables, archivo index.ts inflado |
193
+
194
+ ---
195
+
196
+ ## 📐 Patrón correcto de referencia
197
+
198
+ Archivo: `navisionpreorden/shared/navisionpreorden-entity.ts`
199
+
200
+ ```typescript
201
+ // ✅ Sin _id
202
+ // ✅ Solo la Entity
203
+ // ✅ DTOs en carpeta shared/dto/
204
+ // ✅ Nombre de carpeta con guiones
205
+ // ✅ ID principal como número (ID_NavisionpreordenEntity)
206
+ ```
207
+
208
+ ---
209
+
210
+ ## 🔧 Acciones requeridas
211
+
212
+ 1. **P0 — Eliminar `_id`** de 20 carpetas restantes (incluyendo `resource_id` y `line_id` como equivalentes) — 3 ya corregidas: `theme-config-country`, `theme-config-user`, `scraping-credential`
213
+ 2. **P0 — Separar DTOs de Entities** en 27 carpetas restantes — 3 ya corregidas: `theme-config-country`, `theme-config-user`, `scraping-credential`
214
+ 3. **P1 — Renombrar carpetas** de 44 carpetas restantes — 3 ya corregidas: `theme-config-country`, `theme-config-user`, `scraping-credential`
215
+ 4. **P2 — Actualizar `shared/index.ts`** en 27 carpetas restantes — 3 ya corregidas
package/dist/index.d.mts CHANGED
@@ -8433,7 +8433,7 @@ declare class MaterialeswinDTO {
8433
8433
  descripcion: string;
8434
8434
  cantidad: number;
8435
8435
  invsn: string;
8436
- invpool: string;
8436
+ invpool: InvPoolAction;
8437
8437
  ID_StockPersonal: number;
8438
8438
  }
8439
8439
  declare class HistorialEstadoswinDTO {
@@ -8565,7 +8565,7 @@ declare class MaterialesFibramasDTO {
8565
8565
  descripcion: string;
8566
8566
  cantidad: number;
8567
8567
  invsn: string;
8568
- invpool: string;
8568
+ invpool: InvPoolAction;
8569
8569
  ID_StockPersonal: number;
8570
8570
  }
8571
8571
  declare enum StateFibramas {
@@ -8667,7 +8667,7 @@ declare class OrderStockENTITY {
8667
8667
  itemCode: string;
8668
8668
  serial: string;
8669
8669
  quantity: number;
8670
- invpool: string;
8670
+ invpool: InvPoolAction;
8671
8671
  numero_de_peticion: string;
8672
8672
  state_consumption: StateInventory;
8673
8673
  state_replacement: StateInventory;
@@ -8773,7 +8773,7 @@ declare class MaterialesClienteWAOODTO {
8773
8773
  descripcion: string;
8774
8774
  cantidad: number;
8775
8775
  invsn: string;
8776
- invpool: string;
8776
+ invpool: InvPoolAction;
8777
8777
  ID_StockPersonal: number;
8778
8778
  }
8779
8779
  declare enum StateInternalOrderClienteWAOO {
@@ -9251,7 +9251,7 @@ declare class MaterialesSomacylDTO {
9251
9251
  descripcion: string;
9252
9252
  cantidad: number;
9253
9253
  invsn: string;
9254
- invpool: string;
9254
+ invpool: InvPoolAction;
9255
9255
  ID_Stock: number;
9256
9256
  }
9257
9257
 
package/dist/index.d.ts CHANGED
@@ -8433,7 +8433,7 @@ declare class MaterialeswinDTO {
8433
8433
  descripcion: string;
8434
8434
  cantidad: number;
8435
8435
  invsn: string;
8436
- invpool: string;
8436
+ invpool: InvPoolAction;
8437
8437
  ID_StockPersonal: number;
8438
8438
  }
8439
8439
  declare class HistorialEstadoswinDTO {
@@ -8565,7 +8565,7 @@ declare class MaterialesFibramasDTO {
8565
8565
  descripcion: string;
8566
8566
  cantidad: number;
8567
8567
  invsn: string;
8568
- invpool: string;
8568
+ invpool: InvPoolAction;
8569
8569
  ID_StockPersonal: number;
8570
8570
  }
8571
8571
  declare enum StateFibramas {
@@ -8667,7 +8667,7 @@ declare class OrderStockENTITY {
8667
8667
  itemCode: string;
8668
8668
  serial: string;
8669
8669
  quantity: number;
8670
- invpool: string;
8670
+ invpool: InvPoolAction;
8671
8671
  numero_de_peticion: string;
8672
8672
  state_consumption: StateInventory;
8673
8673
  state_replacement: StateInventory;
@@ -8773,7 +8773,7 @@ declare class MaterialesClienteWAOODTO {
8773
8773
  descripcion: string;
8774
8774
  cantidad: number;
8775
8775
  invsn: string;
8776
- invpool: string;
8776
+ invpool: InvPoolAction;
8777
8777
  ID_StockPersonal: number;
8778
8778
  }
8779
8779
  declare enum StateInternalOrderClienteWAOO {
@@ -9251,7 +9251,7 @@ declare class MaterialesSomacylDTO {
9251
9251
  descripcion: string;
9252
9252
  cantidad: number;
9253
9253
  invsn: string;
9254
- invpool: string;
9254
+ invpool: InvPoolAction;
9255
9255
  ID_Stock: number;
9256
9256
  }
9257
9257
 
package/dist/index.js CHANGED
@@ -43901,7 +43901,7 @@ var MaterialeswinDTO = class {
43901
43901
  descripcion = "";
43902
43902
  cantidad = 0;
43903
43903
  invsn = "";
43904
- invpool = "";
43904
+ invpool = "install" /* INSTALL */;
43905
43905
  ID_StockPersonal = 0;
43906
43906
  };
43907
43907
  __decorateClass([
@@ -43927,7 +43927,7 @@ __decorateClass([
43927
43927
  __decorateClass([
43928
43928
  (0, import_class_transformer754.Expose)(),
43929
43929
  (0, import_class_validator731.IsDefined)({ message: "El campo invpool es obligatorio." }),
43930
- (0, import_class_validator731.IsString)()
43930
+ (0, import_class_validator731.IsEnum)(InvPoolAction, { message: `El campo invpool debe ser uno de: ${Object.values(InvPoolAction).join(", ")}.` })
43931
43931
  ], MaterialeswinDTO.prototype, "invpool", 2);
43932
43932
  __decorateClass([
43933
43933
  (0, import_class_transformer754.Expose)(),
@@ -44582,7 +44582,7 @@ var MaterialesFibramasDTO = class {
44582
44582
  descripcion = "";
44583
44583
  cantidad = 0;
44584
44584
  invsn = "";
44585
- invpool = "";
44585
+ invpool = "install" /* INSTALL */;
44586
44586
  ID_StockPersonal = 0;
44587
44587
  };
44588
44588
  __decorateClass([
@@ -44608,7 +44608,7 @@ __decorateClass([
44608
44608
  __decorateClass([
44609
44609
  (0, import_class_transformer758.Expose)(),
44610
44610
  (0, import_class_validator735.IsDefined)({ message: "El campo invpool es obligatorio." }),
44611
- (0, import_class_validator735.IsString)()
44611
+ (0, import_class_validator735.IsEnum)(InvPoolAction, { message: `El campo invpool debe ser uno de: ${Object.values(InvPoolAction).join(", ")}.` })
44612
44612
  ], MaterialesFibramasDTO.prototype, "invpool", 2);
44613
44613
  __decorateClass([
44614
44614
  (0, import_class_transformer758.Expose)(),
@@ -45092,7 +45092,7 @@ var OrderStockENTITY = class {
45092
45092
  itemCode;
45093
45093
  serial;
45094
45094
  quantity;
45095
- invpool = "";
45095
+ invpool = "install" /* INSTALL */;
45096
45096
  numero_de_peticion;
45097
45097
  state_consumption;
45098
45098
  state_replacement;
@@ -45128,7 +45128,7 @@ __decorateClass([
45128
45128
  __decorateClass([
45129
45129
  (0, import_class_transformer762.Expose)(),
45130
45130
  (0, import_class_validator739.IsDefined)({ message: "El campo invpool es obligatorio." }),
45131
- (0, import_class_validator739.IsString)()
45131
+ (0, import_class_validator739.IsEnum)(InvPoolAction, { message: `El campo invpool debe ser uno de: ${Object.values(InvPoolAction).join(", ")}.` })
45132
45132
  ], OrderStockENTITY.prototype, "invpool", 2);
45133
45133
  __decorateClass([
45134
45134
  (0, import_class_transformer762.Expose)(),
@@ -45696,7 +45696,7 @@ var MaterialesClienteWAOODTO = class {
45696
45696
  descripcion = "";
45697
45697
  cantidad = 0;
45698
45698
  invsn = "";
45699
- invpool = "";
45699
+ invpool = "install" /* INSTALL */;
45700
45700
  ID_StockPersonal = 0;
45701
45701
  };
45702
45702
  __decorateClass([
@@ -45717,7 +45717,7 @@ __decorateClass([
45717
45717
  ], MaterialesClienteWAOODTO.prototype, "invsn", 2);
45718
45718
  __decorateClass([
45719
45719
  (0, import_class_transformer768.Expose)(),
45720
- (0, import_class_validator745.IsString)()
45720
+ (0, import_class_validator745.IsEnum)(InvPoolAction, { message: `El campo invpool debe ser uno de: ${Object.values(InvPoolAction).join(", ")}.` })
45721
45721
  ], MaterialesClienteWAOODTO.prototype, "invpool", 2);
45722
45722
  __decorateClass([
45723
45723
  (0, import_class_transformer768.Expose)(),
@@ -48605,7 +48605,7 @@ var MaterialesSomacylDTO = class {
48605
48605
  descripcion = "";
48606
48606
  cantidad = 0;
48607
48607
  invsn = "";
48608
- invpool = "";
48608
+ invpool = "install" /* INSTALL */;
48609
48609
  ID_Stock = 0;
48610
48610
  };
48611
48611
  __decorateClass([
@@ -48631,7 +48631,7 @@ __decorateClass([
48631
48631
  __decorateClass([
48632
48632
  (0, import_class_transformer784.Expose)(),
48633
48633
  (0, import_class_validator761.IsDefined)({ message: "El campo invpool es obligatorio." }),
48634
- (0, import_class_validator761.IsString)()
48634
+ (0, import_class_validator761.IsEnum)(InvPoolAction, { message: `El campo invpool debe ser uno de: ${Object.values(InvPoolAction).join(", ")}.` })
48635
48635
  ], MaterialesSomacylDTO.prototype, "invpool", 2);
48636
48636
  __decorateClass([
48637
48637
  (0, import_class_transformer784.Expose)(),
@@ -49986,7 +49986,7 @@ __decorateClass([
49986
49986
  __decorateClass([
49987
49987
  (0, import_class_transformer805.Expose)(),
49988
49988
  (0, import_class_validator782.IsDefined)({ message: "El campo invpool es obligatorio." }),
49989
- (0, import_class_validator782.IsString)()
49989
+ (0, import_class_validator782.IsEnum)(InvPoolAction, { message: `El campo invpool debe ser uno de: ${Object.values(InvPoolAction).join(", ")}.` })
49990
49990
  ], MaterialesMifibraDBDTO.prototype, "invpool", 2);
49991
49991
  __decorateClass([
49992
49992
  (0, import_class_transformer805.Expose)(),