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.
- package/REPORTE_ESTRUCTURA_2026-08-31.md +215 -215
- package/dist/index.d.mts +5 -5
- package/dist/index.d.ts +5 -5
- package/dist/index.js +11 -11
- package/dist/index.mjs +99 -96
- package/package.json +2 -2
|
@@ -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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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)(),
|