sigo-entities 1.2.202 → 1.2.203
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/.agent/workflows/crear-nuevo-dto-entidad.md +44 -0
- package/.ai_context.md +35 -0
- package/dist/index.d.mts +0 -2
- package/dist/index.d.ts +0 -2
- package/dist/index.js +3 -18
- package/dist/index.mjs +0 -15
- package/package.json +1 -1
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Guía para crear nuevas Entidades y DTOs siguiendo los estándares del proyecto.
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Creación de Nuevas Entidades y DTOs
|
|
6
|
+
|
|
7
|
+
Sigue estos pasos para crear una nueva entidad o DTO, asegurando consistencia con el proyecto `sigo-entities`.
|
|
8
|
+
|
|
9
|
+
1. **Identificar Ubicación**
|
|
10
|
+
- Las entidades y DTOs se ubican en `src/programados/procesos/[Entidad]/shared`.
|
|
11
|
+
- Si es un Request DTO, usar `src/programados/procesos/[Entidad]/shared/requestDto`.
|
|
12
|
+
|
|
13
|
+
2. **Crear el Archivo**
|
|
14
|
+
- Nombre del archivo en `kebab-case` terminado en `-dto.ts`.
|
|
15
|
+
- Ejemplo: `job-macro-request-dto.ts`.
|
|
16
|
+
|
|
17
|
+
3. **Implementar la Clase**
|
|
18
|
+
- Nombre de la clase en `PascalCase` terminada en `DTO`.
|
|
19
|
+
- Ejemplo: `JobMacroRequestDTO`.
|
|
20
|
+
- **Importante**: Inicializar todas las propiedades.
|
|
21
|
+
|
|
22
|
+
4. **Añadir Decoradores**
|
|
23
|
+
- Usar `class-transformer`: `@Expose()` en todas las propiedades.
|
|
24
|
+
- Usar `class-validator`: `@IsString()`, `@IsNumber()`, `@IsNotEmpty()`, etc.
|
|
25
|
+
- **Mensajes en Español**: `{ message: 'es requerido' }`, `{ message: 'debe ser un texto' }`.
|
|
26
|
+
|
|
27
|
+
```typescript
|
|
28
|
+
import { Expose } from 'class-transformer';
|
|
29
|
+
import { IsNotEmpty, IsString } from 'class-validator';
|
|
30
|
+
|
|
31
|
+
export class EjemploDTO {
|
|
32
|
+
@IsString({ message: 'debe ser un texto' })
|
|
33
|
+
@IsNotEmpty({ message: 'es requerido' })
|
|
34
|
+
@Expose()
|
|
35
|
+
Nombre: string = '';
|
|
36
|
+
}
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
5. **Actualizar Índices (Exports)**
|
|
40
|
+
- Asegúrate de exportar la nueva clase en el `index.ts` de su carpeta.
|
|
41
|
+
- Verifica que la carpeta `shared` esté exportada correctamente en el `index.ts` del proceso principal.
|
|
42
|
+
|
|
43
|
+
6. **Verificar Contexto**
|
|
44
|
+
- Si introduces un patrón nuevo, actualiza el archivo `.ai_context.md`.
|
package/.ai_context.md
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# Contexto del Proyecto
|
|
2
|
+
|
|
3
|
+
**Nombre:** Ingeniero Brayan Valero
|
|
4
|
+
**Preferencias de idioma:** Español
|
|
5
|
+
**Contexto del proyecto:** Librería transversal para entidades compartidas (Front y Back)
|
|
6
|
+
**Nombre del Asistente:** Latas
|
|
7
|
+
|
|
8
|
+
**Tipo de Proyecto:** Shared Library
|
|
9
|
+
**Ubicación Raíz:** `d:\16_SIGO_ENTITYS\sigo-entities`
|
|
10
|
+
|
|
11
|
+
Este archivo contiene la visión general del proyecto `sigo-entities`.
|
|
12
|
+
|
|
13
|
+
## Descripción
|
|
14
|
+
`sigo-entities` es la librería donde se alojan las entidades compartidas por front y back. En ambos hay un archivo de contexto llamado `.ai_context.md`, donde almacenamos la configuración del proyecto, estructura del mismo y contexto de workflows para tareas futuras.
|
|
15
|
+
|
|
16
|
+
## Normas Generales
|
|
17
|
+
1. **Archivos de Contexto**: Mantener actualizados los `.ai_context.md` locales.
|
|
18
|
+
2. **Git Ignore**: Asegurarse de que `**/.ai_context.md` esté ignorado.
|
|
19
|
+
3. **sigo-entities**: Librería transversal para tipos compartidos.
|
|
20
|
+
|
|
21
|
+
## Guía de Desarrollo de Entidades y DTOs
|
|
22
|
+
|
|
23
|
+
### Estructura de Carpetas
|
|
24
|
+
- **DTOs compartidos**: `src/programados/procesos/[Entidad]/shared`
|
|
25
|
+
- **Request DTOs**: `src/programados/procesos/[Entidad]/shared/requestDto`
|
|
26
|
+
|
|
27
|
+
### Convenciones de Nombres
|
|
28
|
+
- **Archivos**: `kebab-case` con sufijo `-dto.ts` (ej. `job-macro-request-dto.ts`).
|
|
29
|
+
- **Clases**: `PascalCase` con sufijo `DTO` (ej. `JobMacroRequestDTO`).
|
|
30
|
+
|
|
31
|
+
### Reglas de Implementación
|
|
32
|
+
1. **Librerías**: Usar `class-transformer` (@Expose, @Type) y `class-validator` (IsString, IsNumber, etc.).
|
|
33
|
+
2. **Mensajes de Validación**: Deben ser en español (ej. "debe ser un texto", "es requerido").
|
|
34
|
+
3. **Inicialización**: Todas las propiedades deben tener valor inicial (ej. `string = ''`, `number = 0`).
|
|
35
|
+
4. **Exposición**: Decorar todas las propiedades con `@Expose()`.
|
package/dist/index.d.mts
CHANGED
|
@@ -1819,7 +1819,6 @@ declare class ValorizacionTMOAlemaniaDTO {
|
|
|
1819
1819
|
Produccion: CertificacionProduccionDTO;
|
|
1820
1820
|
Ultimo_Estado_Interno: EstadoInternoWithoutSubstateDTO;
|
|
1821
1821
|
Estados: EstadoInternoWithoutSubstateDTO[];
|
|
1822
|
-
Ultima_Fase: FaseDTO;
|
|
1823
1822
|
Fases: FaseDTO[];
|
|
1824
1823
|
FechaLiquidacion: Date;
|
|
1825
1824
|
Semana: number;
|
|
@@ -5246,7 +5245,6 @@ declare class PerfilesENTITY {
|
|
|
5246
5245
|
Sistemas: number[];
|
|
5247
5246
|
PermisosApp: PermisosAppDTO[];
|
|
5248
5247
|
Estado: EstadoAntiguoDTO;
|
|
5249
|
-
Bitacora: BitacoraAntiguaDTO[];
|
|
5250
5248
|
}
|
|
5251
5249
|
|
|
5252
5250
|
declare class SistemaDto {
|
package/dist/index.d.ts
CHANGED
|
@@ -1819,7 +1819,6 @@ declare class ValorizacionTMOAlemaniaDTO {
|
|
|
1819
1819
|
Produccion: CertificacionProduccionDTO;
|
|
1820
1820
|
Ultimo_Estado_Interno: EstadoInternoWithoutSubstateDTO;
|
|
1821
1821
|
Estados: EstadoInternoWithoutSubstateDTO[];
|
|
1822
|
-
Ultima_Fase: FaseDTO;
|
|
1823
1822
|
Fases: FaseDTO[];
|
|
1824
1823
|
FechaLiquidacion: Date;
|
|
1825
1824
|
Semana: number;
|
|
@@ -5246,7 +5245,6 @@ declare class PerfilesENTITY {
|
|
|
5246
5245
|
Sistemas: number[];
|
|
5247
5246
|
PermisosApp: PermisosAppDTO[];
|
|
5248
5247
|
Estado: EstadoAntiguoDTO;
|
|
5249
|
-
Bitacora: BitacoraAntiguaDTO[];
|
|
5250
5248
|
}
|
|
5251
5249
|
|
|
5252
5250
|
declare class SistemaDto {
|
package/dist/index.js
CHANGED
|
@@ -26,8 +26,8 @@ var __decorateClass = (decorators, target, key, kind) => {
|
|
|
26
26
|
};
|
|
27
27
|
|
|
28
28
|
// src/index.ts
|
|
29
|
-
var
|
|
30
|
-
__export(
|
|
29
|
+
var src_exports = {};
|
|
30
|
+
__export(src_exports, {
|
|
31
31
|
ADM_RM_ZonasActividadENTITY: () => ADM_RM_ZonasActividadENTITY,
|
|
32
32
|
ActaFinalCubicacionDTO: () => ActaFinalCubicacionDTO,
|
|
33
33
|
ActaFinalCubicacionSharedDTO: () => ActaFinalCubicacionSharedDTO,
|
|
@@ -639,7 +639,7 @@ __export(index_exports, {
|
|
|
639
639
|
validateAndFormatData: () => validateAndFormatData,
|
|
640
640
|
validateArrayBody: () => validateArrayBody
|
|
641
641
|
});
|
|
642
|
-
module.exports = __toCommonJS(
|
|
642
|
+
module.exports = __toCommonJS(src_exports);
|
|
643
643
|
var import_reflect_metadata30 = require("reflect-metadata");
|
|
644
644
|
|
|
645
645
|
// src/administracion/mail structure/shared/dto/destinatario-dto.ts
|
|
@@ -10106,7 +10106,6 @@ var ValorizacionTMOAlemaniaDTO = class {
|
|
|
10106
10106
|
Produccion = new CertificacionProduccionDTO();
|
|
10107
10107
|
Ultimo_Estado_Interno = new EstadoInternoWithoutSubstateDTO();
|
|
10108
10108
|
Estados = [];
|
|
10109
|
-
Ultima_Fase = new FaseDTO();
|
|
10110
10109
|
Fases = [];
|
|
10111
10110
|
FechaLiquidacion = /* @__PURE__ */ new Date();
|
|
10112
10111
|
Semana = 0;
|
|
@@ -10179,12 +10178,6 @@ __decorateClass([
|
|
|
10179
10178
|
(0, import_class_transformer177.Expose)(),
|
|
10180
10179
|
(0, import_class_validator178.ValidateNested)({ each: true })
|
|
10181
10180
|
], ValorizacionTMOAlemaniaDTO.prototype, "Estados", 2);
|
|
10182
|
-
__decorateClass([
|
|
10183
|
-
(0, import_class_transformer177.Type)(() => FaseDTO),
|
|
10184
|
-
(0, import_class_validator178.IsNotEmpty)({ message: "es requerido" }),
|
|
10185
|
-
(0, import_class_transformer177.Expose)(),
|
|
10186
|
-
(0, import_class_validator178.ValidateNested)()
|
|
10187
|
-
], ValorizacionTMOAlemaniaDTO.prototype, "Ultima_Fase", 2);
|
|
10188
10181
|
__decorateClass([
|
|
10189
10182
|
(0, import_class_validator178.IsArray)(),
|
|
10190
10183
|
(0, import_class_transformer177.Type)(() => FaseDTO),
|
|
@@ -28485,7 +28478,6 @@ var PerfilesENTITY = class {
|
|
|
28485
28478
|
Sistemas = [];
|
|
28486
28479
|
PermisosApp = [];
|
|
28487
28480
|
Estado = new EstadoAntiguoDTO();
|
|
28488
|
-
Bitacora = [];
|
|
28489
28481
|
};
|
|
28490
28482
|
__decorateClass([
|
|
28491
28483
|
(0, import_class_transformer482.Expose)(),
|
|
@@ -28536,13 +28528,6 @@ __decorateClass([
|
|
|
28536
28528
|
(0, import_class_validator483.IsNotEmpty)({ message: "es requerido" }),
|
|
28537
28529
|
(0, import_class_validator483.ValidateNested)()
|
|
28538
28530
|
], PerfilesENTITY.prototype, "Estado", 2);
|
|
28539
|
-
__decorateClass([
|
|
28540
|
-
(0, import_class_transformer482.Expose)(),
|
|
28541
|
-
(0, import_class_transformer482.Type)(() => BitacoraAntiguaDTO),
|
|
28542
|
-
(0, import_class_validator483.IsNotEmpty)({ message: "es requerido" }),
|
|
28543
|
-
(0, import_class_validator483.IsArray)(),
|
|
28544
|
-
(0, import_class_validator483.ValidateNested)({ each: true })
|
|
28545
|
-
], PerfilesENTITY.prototype, "Bitacora", 2);
|
|
28546
28531
|
|
|
28547
28532
|
// src/configuracion/perfiles/shared/dto/sistema-dto.ts
|
|
28548
28533
|
var import_class_transformer483 = require("class-transformer");
|
package/dist/index.mjs
CHANGED
|
@@ -9488,7 +9488,6 @@ var ValorizacionTMOAlemaniaDTO = class {
|
|
|
9488
9488
|
Produccion = new CertificacionProduccionDTO();
|
|
9489
9489
|
Ultimo_Estado_Interno = new EstadoInternoWithoutSubstateDTO();
|
|
9490
9490
|
Estados = [];
|
|
9491
|
-
Ultima_Fase = new FaseDTO();
|
|
9492
9491
|
Fases = [];
|
|
9493
9492
|
FechaLiquidacion = /* @__PURE__ */ new Date();
|
|
9494
9493
|
Semana = 0;
|
|
@@ -9561,12 +9560,6 @@ __decorateClass([
|
|
|
9561
9560
|
Expose175(),
|
|
9562
9561
|
ValidateNested109({ each: true })
|
|
9563
9562
|
], ValorizacionTMOAlemaniaDTO.prototype, "Estados", 2);
|
|
9564
|
-
__decorateClass([
|
|
9565
|
-
Type119(() => FaseDTO),
|
|
9566
|
-
IsNotEmpty133({ message: "es requerido" }),
|
|
9567
|
-
Expose175(),
|
|
9568
|
-
ValidateNested109()
|
|
9569
|
-
], ValorizacionTMOAlemaniaDTO.prototype, "Ultima_Fase", 2);
|
|
9570
9563
|
__decorateClass([
|
|
9571
9564
|
IsArray58(),
|
|
9572
9565
|
Type119(() => FaseDTO),
|
|
@@ -28008,7 +28001,6 @@ var PerfilesENTITY = class {
|
|
|
28008
28001
|
Sistemas = [];
|
|
28009
28002
|
PermisosApp = [];
|
|
28010
28003
|
Estado = new EstadoAntiguoDTO();
|
|
28011
|
-
Bitacora = [];
|
|
28012
28004
|
};
|
|
28013
28005
|
__decorateClass([
|
|
28014
28006
|
Expose480(),
|
|
@@ -28059,13 +28051,6 @@ __decorateClass([
|
|
|
28059
28051
|
IsNotEmpty333({ message: "es requerido" }),
|
|
28060
28052
|
ValidateNested298()
|
|
28061
28053
|
], PerfilesENTITY.prototype, "Estado", 2);
|
|
28062
|
-
__decorateClass([
|
|
28063
|
-
Expose480(),
|
|
28064
|
-
Type326(() => BitacoraAntiguaDTO),
|
|
28065
|
-
IsNotEmpty333({ message: "es requerido" }),
|
|
28066
|
-
IsArray179(),
|
|
28067
|
-
ValidateNested298({ each: true })
|
|
28068
|
-
], PerfilesENTITY.prototype, "Bitacora", 2);
|
|
28069
28054
|
|
|
28070
28055
|
// src/configuracion/perfiles/shared/dto/sistema-dto.ts
|
|
28071
28056
|
import { Expose as Expose481 } from "class-transformer";
|