@sigmatech/pergamo 0.1.56 → 0.1.58

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.
Files changed (27) hide show
  1. package/dist/entities/index.d.ts +3 -0
  2. package/dist/entities/index.d.ts.map +1 -1
  3. package/dist/entities/index.js +4 -1
  4. package/dist/entities/index.js.map +1 -1
  5. package/dist/entities/person/person-sb2.helper.d.ts +52 -0
  6. package/dist/entities/person/person-sb2.helper.d.ts.map +1 -0
  7. package/dist/entities/person/person-sb2.helper.js +240 -0
  8. package/dist/entities/person/person-sb2.helper.js.map +1 -0
  9. package/dist/entities/person/person-sb2.types.d.ts +140 -0
  10. package/dist/entities/person/person-sb2.types.d.ts.map +1 -0
  11. package/dist/entities/person/person-sb2.types.js +7 -0
  12. package/dist/entities/person/person-sb2.types.js.map +1 -0
  13. package/dist/entities/person/person.entity.d.ts +11 -1
  14. package/dist/entities/person/person.entity.d.ts.map +1 -1
  15. package/dist/entities/person/person.entity.js.map +1 -1
  16. package/dist/entities/recim/recim-detail-view.entity.d.ts +46 -0
  17. package/dist/entities/recim/recim-detail-view.entity.d.ts.map +1 -0
  18. package/dist/entities/recim/recim-detail-view.entity.js +77 -0
  19. package/dist/entities/recim/recim-detail-view.entity.js.map +1 -0
  20. package/dist/entities/recim/recim-entry.entity.d.ts +1 -1
  21. package/dist/entities/recim/recim-entry.entity.js +1 -1
  22. package/dist/entities/recim/recim-entry.entity.js.map +1 -1
  23. package/dist/migrations/1738001000000-AddRecimPerformanceIndexes.d.ts +14 -0
  24. package/dist/migrations/1738001000000-AddRecimPerformanceIndexes.d.ts.map +1 -0
  25. package/dist/migrations/1738001000000-AddRecimPerformanceIndexes.js +39 -0
  26. package/dist/migrations/1738001000000-AddRecimPerformanceIndexes.js.map +1 -0
  27. package/package.json +9 -8
@@ -23,10 +23,13 @@ export * from "./person/person-characterization.entity";
23
23
  export * from "./person/characterization-annex.entity";
24
24
  export * from "./person/characterization-family.entity";
25
25
  export * from "./person/characterization-linkage.entity";
26
+ export * from "./person/person-sb2.types";
27
+ export * from "./person/person-sb2.helper";
26
28
  export * from "./vehicle";
27
29
  export * from "./accreditation";
28
30
  export * from "./recim/recim-entry.entity";
29
31
  export * from "./recim/recim-fingerprint.entity";
32
+ export * from "./recim/recim-detail-view.entity";
30
33
  export * from "./telefonia/telefonia.entity";
31
34
  export * from "./telefonia/historial-ubicacion.entity";
32
35
  export * from "./telefonia/bts.entity";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/entities/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AAGpC,cAAc,6CAA6C,CAAC;AAC5D,cAAc,kDAAkD,CAAC;AAGjE,cAAc,wBAAwB,CAAC;AACvC,cAAc,uCAAuC,CAAC;AACtD,cAAc,kCAAkC,CAAC;AACjD,cAAc,oCAAoC,CAAC;AACnD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uCAAuC,CAAC;AACtD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uBAAuB,CAAC;AACtC,cAAc,sCAAsC,CAAC;AACrD,cAAc,mCAAmC,CAAC;AAClD,cAAc,oCAAoC,CAAC;AACnD,cAAc,oCAAoC,CAAC;AACnD,cAAc,qCAAqC,CAAC;AACpD,cAAc,yCAAyC,CAAC;AACxD,cAAc,wCAAwC,CAAC;AACvD,cAAc,yCAAyC,CAAC;AACxD,cAAc,0CAA0C,CAAC;AAGzD,cAAc,WAAW,CAAC;AAG1B,cAAc,iBAAiB,CAAC;AAGhC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kCAAkC,CAAC;AAGjD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wCAAwC,CAAC;AACvD,cAAc,wBAAwB,CAAC;AACvC,cAAc,qCAAqC,CAAC;AACpD,cAAc,sCAAsC,CAAC;AACrD,cAAc,mCAAmC,CAAC;AAClD,cAAc,mCAAmC,CAAC;AAClD,cAAc,0CAA0C,CAAC;AAGzD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wCAAwC,CAAC;AAGvD,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAG1C,cAAc,sBAAsB,CAAC;AAGrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AAGvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mCAAmC,CAAC;AAClD,cAAc,2BAA2B,CAAC;AAG1C,cAAc,6CAA6C,CAAC;AAC5D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,6BAA6B,CAAC;AAG5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAG3C,cAAc,qCAAqC,CAAC;AAGpD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uCAAuC,CAAC;AACtD,cAAc,mCAAmC,CAAC;AAGlD,cAAc,yCAAyC,CAAC;AAGxD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,+CAA+C,CAAC;AAG9D,cAAc,oCAAoC,CAAC;AACnD,cAAc,2CAA2C,CAAC;AAG1D,cAAc,0CAA0C,CAAC;AACzD,cAAc,uCAAuC,CAAC;AACtD,cAAc,wCAAwC,CAAC;AAGvD,cAAc,eAAe,CAAC;AAG9B,cAAc,QAAQ,CAAC;AAGvB,cAAc,qBAAqB,CAAC;AAGpC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,mDAAmD,CAAC;AAClE,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AAGvC,cAAc,4BAA4B,CAAC;AAG3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iCAAiC,CAAC;AAChD,cAAc,mCAAmC,CAAC;AAGlD,cAAc,YAAY,CAAC;AAG3B,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/entities/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AAGpC,cAAc,6CAA6C,CAAC;AAC5D,cAAc,kDAAkD,CAAC;AAGjE,cAAc,wBAAwB,CAAC;AACvC,cAAc,uCAAuC,CAAC;AACtD,cAAc,kCAAkC,CAAC;AACjD,cAAc,oCAAoC,CAAC;AACnD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uCAAuC,CAAC;AACtD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uBAAuB,CAAC;AACtC,cAAc,sCAAsC,CAAC;AACrD,cAAc,mCAAmC,CAAC;AAClD,cAAc,oCAAoC,CAAC;AACnD,cAAc,oCAAoC,CAAC;AACnD,cAAc,qCAAqC,CAAC;AACpD,cAAc,yCAAyC,CAAC;AACxD,cAAc,wCAAwC,CAAC;AACvD,cAAc,yCAAyC,CAAC;AACxD,cAAc,0CAA0C,CAAC;AACzD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAG3C,cAAc,WAAW,CAAC;AAG1B,cAAc,iBAAiB,CAAC;AAGhC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AAGjD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wCAAwC,CAAC;AACvD,cAAc,wBAAwB,CAAC;AACvC,cAAc,qCAAqC,CAAC;AACpD,cAAc,sCAAsC,CAAC;AACrD,cAAc,mCAAmC,CAAC;AAClD,cAAc,mCAAmC,CAAC;AAClD,cAAc,0CAA0C,CAAC;AAGzD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wCAAwC,CAAC;AAGvD,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAG1C,cAAc,sBAAsB,CAAC;AAGrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AAGvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mCAAmC,CAAC;AAClD,cAAc,2BAA2B,CAAC;AAG1C,cAAc,6CAA6C,CAAC;AAC5D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,6BAA6B,CAAC;AAG5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAG3C,cAAc,qCAAqC,CAAC;AAGpD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uCAAuC,CAAC;AACtD,cAAc,mCAAmC,CAAC;AAGlD,cAAc,yCAAyC,CAAC;AAGxD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,+CAA+C,CAAC;AAG9D,cAAc,oCAAoC,CAAC;AACnD,cAAc,2CAA2C,CAAC;AAG1D,cAAc,0CAA0C,CAAC;AACzD,cAAc,uCAAuC,CAAC;AACtD,cAAc,wCAAwC,CAAC;AAGvD,cAAc,eAAe,CAAC;AAG9B,cAAc,QAAQ,CAAC;AAGvB,cAAc,qBAAqB,CAAC;AAGpC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,mDAAmD,CAAC;AAClE,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AAGvC,cAAc,4BAA4B,CAAC;AAG3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iCAAiC,CAAC;AAChD,cAAc,mCAAmC,CAAC;AAGlD,cAAc,YAAY,CAAC;AAG3B,cAAc,SAAS,CAAC"}
@@ -42,13 +42,16 @@ __exportStar(require("./person/person-characterization.entity"), exports);
42
42
  __exportStar(require("./person/characterization-annex.entity"), exports);
43
43
  __exportStar(require("./person/characterization-family.entity"), exports);
44
44
  __exportStar(require("./person/characterization-linkage.entity"), exports);
45
+ __exportStar(require("./person/person-sb2.types"), exports);
46
+ __exportStar(require("./person/person-sb2.helper"), exports);
45
47
  // Vehicle module
46
48
  __exportStar(require("./vehicle"), exports);
47
49
  // Accreditation module
48
50
  __exportStar(require("./accreditation"), exports);
49
- // RECIM module (Registro Especial de Criminalística)
51
+ // RECIM module (Registro de Contrainteligencia Militar)
50
52
  __exportStar(require("./recim/recim-entry.entity"), exports);
51
53
  __exportStar(require("./recim/recim-fingerprint.entity"), exports);
54
+ __exportStar(require("./recim/recim-detail-view.entity"), exports);
52
55
  // Telefonia module
53
56
  __exportStar(require("./telefonia/telefonia.entity"), exports);
54
57
  __exportStar(require("./telefonia/historial-ubicacion.entity"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/entities/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;AAEH,gBAAgB;AAChB,+CAA6B;AAC7B,sDAAoC;AAEpC,sBAAsB;AACtB,8EAA4D;AAC5D,mFAAiE;AAEjE,gBAAgB;AAChB,yDAAuC;AACvC,wEAAsD;AACtD,mEAAiD;AACjD,qEAAmD;AACnD,6DAA2C;AAC3C,wEAAsD;AACtD,+DAA6C;AAC7C,wDAAsC;AACtC,uEAAqD;AACrD,oEAAkD;AAClD,qEAAmD;AACnD,qEAAmD;AACnD,sEAAoD;AACpD,0EAAwD;AACxD,yEAAuD;AACvD,0EAAwD;AACxD,2EAAyD;AAEzD,iBAAiB;AACjB,4CAA0B;AAE1B,uBAAuB;AACvB,kDAAgC;AAEhC,qDAAqD;AACrD,6DAA2C;AAC3C,mEAAiD;AAEjD,mBAAmB;AACnB,+DAA6C;AAC7C,yEAAuD;AACvD,yDAAuC;AACvC,sEAAoD;AACpD,uEAAqD;AACrD,oEAAkD;AAClD,oEAAkD;AAClD,2EAAyD;AAEzD,kBAAkB;AAClB,6DAA2C;AAC3C,yEAAuD;AAEvD,cAAc;AACd,qDAAmC;AACnC,2DAAyC;AACzC,0DAAwC;AACxC,4DAA0C;AAE1C,eAAe;AACf,uDAAqC;AAErC,cAAc;AACd,yDAAuC;AACvC,yDAAuC;AAEvC,cAAc;AACd,4DAA0C;AAC1C,6DAA2C;AAC3C,iEAA+C;AAC/C,oEAAkD;AAClD,4DAA0C;AAE1C,sBAAsB;AACtB,8EAA4D;AAC5D,gFAA8D;AAC9D,8DAA4C;AAE5C,uBAAuB;AACvB,yDAAuC;AACvC,6DAA2C;AAE3C,kBAAkB;AAClB,sEAAoD;AAEpD,sBAAsB;AACtB,iEAA+C;AAC/C,wEAAsD;AACtD,oEAAkD;AAElD,qBAAqB;AACrB,0EAAwD;AAExD,uBAAuB;AACvB,6EAA2D;AAC3D,gFAA8D;AAE9D,mBAAmB;AACnB,qEAAmD;AACnD,4EAA0D;AAE1D,sBAAsB;AACtB,2EAAyD;AACzD,wEAAsD;AACtD,yEAAuD;AAEvD,cAAc;AACd,gDAA8B;AAE9B,cAAc;AACd,yCAAuB;AAEvB,aAAa;AACb,sDAAoC;AAEpC,YAAY;AACZ,qDAAmC;AAEnC,yBAAyB;AACzB,oFAAkE;AAClE,gEAA8C;AAC9C,yDAAuC;AAEvC,aAAa;AACb,6DAA2C;AAE3C,aAAa;AACb,2DAAyC;AACzC,+DAA6C;AAC7C,kEAAgD;AAChD,oEAAkD;AAElD,kBAAkB;AAClB,6CAA2B;AAE3B,eAAe;AACf,0CAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/entities/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;AAEH,gBAAgB;AAChB,+CAA6B;AAC7B,sDAAoC;AAEpC,sBAAsB;AACtB,8EAA4D;AAC5D,mFAAiE;AAEjE,gBAAgB;AAChB,yDAAuC;AACvC,wEAAsD;AACtD,mEAAiD;AACjD,qEAAmD;AACnD,6DAA2C;AAC3C,wEAAsD;AACtD,+DAA6C;AAC7C,wDAAsC;AACtC,uEAAqD;AACrD,oEAAkD;AAClD,qEAAmD;AACnD,qEAAmD;AACnD,sEAAoD;AACpD,0EAAwD;AACxD,yEAAuD;AACvD,0EAAwD;AACxD,2EAAyD;AACzD,4DAA0C;AAC1C,6DAA2C;AAE3C,iBAAiB;AACjB,4CAA0B;AAE1B,uBAAuB;AACvB,kDAAgC;AAEhC,wDAAwD;AACxD,6DAA2C;AAC3C,mEAAiD;AACjD,mEAAiD;AAEjD,mBAAmB;AACnB,+DAA6C;AAC7C,yEAAuD;AACvD,yDAAuC;AACvC,sEAAoD;AACpD,uEAAqD;AACrD,oEAAkD;AAClD,oEAAkD;AAClD,2EAAyD;AAEzD,kBAAkB;AAClB,6DAA2C;AAC3C,yEAAuD;AAEvD,cAAc;AACd,qDAAmC;AACnC,2DAAyC;AACzC,0DAAwC;AACxC,4DAA0C;AAE1C,eAAe;AACf,uDAAqC;AAErC,cAAc;AACd,yDAAuC;AACvC,yDAAuC;AAEvC,cAAc;AACd,4DAA0C;AAC1C,6DAA2C;AAC3C,iEAA+C;AAC/C,oEAAkD;AAClD,4DAA0C;AAE1C,sBAAsB;AACtB,8EAA4D;AAC5D,gFAA8D;AAC9D,8DAA4C;AAE5C,uBAAuB;AACvB,yDAAuC;AACvC,6DAA2C;AAE3C,kBAAkB;AAClB,sEAAoD;AAEpD,sBAAsB;AACtB,iEAA+C;AAC/C,wEAAsD;AACtD,oEAAkD;AAElD,qBAAqB;AACrB,0EAAwD;AAExD,uBAAuB;AACvB,6EAA2D;AAC3D,gFAA8D;AAE9D,mBAAmB;AACnB,qEAAmD;AACnD,4EAA0D;AAE1D,sBAAsB;AACtB,2EAAyD;AACzD,wEAAsD;AACtD,yEAAuD;AAEvD,cAAc;AACd,gDAA8B;AAE9B,cAAc;AACd,yCAAuB;AAEvB,aAAa;AACb,sDAAoC;AAEpC,YAAY;AACZ,qDAAmC;AAEnC,yBAAyB;AACzB,oFAAkE;AAClE,gEAA8C;AAC9C,yDAAuC;AAEvC,aAAa;AACb,6DAA2C;AAE3C,aAAa;AACb,2DAAyC;AACzC,+DAA6C;AAC7C,kEAAgD;AAChD,oEAAkD;AAElD,kBAAkB;AAClB,6CAA2B;AAE3B,eAAe;AACf,0CAAwB"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Helper functions para trabajar con Person.sb2 (Multi-Model Facial Recognition Status)
3
+ * Proporciona utilidades para leer, actualizar y migrar datos de entrenamiento facial
4
+ */
5
+ import { PersonSb2Data, FacialRecognitionModel, FacialDataSource, ModelTrainingStatus, TrainingStatusSummary } from './person-sb2.types';
6
+ /**
7
+ * Verifica si una persona tiene entrenamiento en un modelo específico
8
+ */
9
+ export declare function hasModelTrained(sb2: PersonSb2Data | undefined | null, model: FacialRecognitionModel, source?: FacialDataSource): boolean;
10
+ /**
11
+ * Verifica si una persona tiene ALGÚN modelo entrenado (legacy o nuevo formato)
12
+ */
13
+ export declare function hasAnyModelTrained(sb2: PersonSb2Data | undefined | null): boolean;
14
+ /**
15
+ * Obtiene el estado de entrenamiento para un modelo y fuente específicos
16
+ */
17
+ export declare function getModelTrainingStatus(sb2: PersonSb2Data | undefined | null, model: FacialRecognitionModel, source: FacialDataSource): ModelTrainingStatus | null;
18
+ /**
19
+ * Actualiza el estado de entrenamiento para un modelo y fuente
20
+ * Mantiene compatibilidad con formato legacy
21
+ */
22
+ export declare function setModelTrainingStatus(sb2: PersonSb2Data | undefined | null, model: FacialRecognitionModel, source: FacialDataSource, status: ModelTrainingStatus): PersonSb2Data;
23
+ /**
24
+ * Migra datos de formato legacy a formato multi-modelo
25
+ */
26
+ export declare function migrateLegacyToMultiModel(sb2: PersonSb2Data | undefined | null): PersonSb2Data;
27
+ /**
28
+ * Obtiene resumen completo del estado de entrenamiento
29
+ */
30
+ export declare function getTrainingStatusSummary(sb2: PersonSb2Data | undefined | null): TrainingStatusSummary;
31
+ /**
32
+ * Obtiene el mejor modelo disponible para verificación
33
+ * Prioridad: iResNet100 > Buffalo-L > dlib
34
+ */
35
+ export declare function getBestAvailableModel(sb2: PersonSb2Data | undefined | null): FacialRecognitionModel | null;
36
+ /**
37
+ * Obtiene el modelo configurado por el usuario o el mejor disponible
38
+ */
39
+ export declare function getPreferredModel(sb2: PersonSb2Data | undefined | null, purpose?: 'verification' | 'training'): FacialRecognitionModel | null;
40
+ /**
41
+ * Obtiene los modelos a entrenar automáticamente
42
+ */
43
+ export declare function getAutoTrainModels(sb2: PersonSb2Data | undefined | null): FacialRecognitionModel[];
44
+ /**
45
+ * Verifica si el quality check está habilitado
46
+ */
47
+ export declare function isQualityCheckEnabled(sb2: PersonSb2Data | undefined | null): boolean;
48
+ /**
49
+ * Formatea información de entrenamiento para display
50
+ */
51
+ export declare function formatTrainingInfo(status: ModelTrainingStatus): string;
52
+ //# sourceMappingURL=person-sb2.helper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"person-sb2.helper.d.ts","sourceRoot":"","sources":["../../../src/entities/person/person-sb2.helper.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,aAAa,EACb,sBAAsB,EACtB,gBAAgB,EAChB,mBAAmB,EACnB,qBAAqB,EAEtB,MAAM,oBAAoB,CAAC;AAE5B;;GAEG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,aAAa,GAAG,SAAS,GAAG,IAAI,EACrC,KAAK,EAAE,sBAAsB,EAC7B,MAAM,CAAC,EAAE,gBAAgB,GACxB,OAAO,CAWT;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,aAAa,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO,CAkBjF;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,aAAa,GAAG,SAAS,GAAG,IAAI,EACrC,KAAK,EAAE,sBAAsB,EAC7B,MAAM,EAAE,gBAAgB,GACvB,mBAAmB,GAAG,IAAI,CAG5B;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,aAAa,GAAG,SAAS,GAAG,IAAI,EACrC,KAAK,EAAE,sBAAsB,EAC7B,MAAM,EAAE,gBAAgB,EACxB,MAAM,EAAE,mBAAmB,GAC1B,aAAa,CAoBf;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,aAAa,GAAG,SAAS,GAAG,IAAI,GAAG,aAAa,CA0B9F;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,aAAa,GAAG,SAAS,GAAG,IAAI,GAAG,qBAAqB,CAoDrG;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,aAAa,GAAG,SAAS,GAAG,IAAI,GAAG,sBAAsB,GAAG,IAAI,CAgB1G;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,aAAa,GAAG,SAAS,GAAG,IAAI,EACrC,OAAO,GAAE,cAAc,GAAG,UAA2B,GACpD,sBAAsB,GAAG,IAAI,CAmB/B;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,aAAa,GAAG,SAAS,GAAG,IAAI,GAAG,sBAAsB,EAAE,CAQlG;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,aAAa,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO,CAEpF;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM,CAWtE"}
@@ -0,0 +1,240 @@
1
+ "use strict";
2
+ /**
3
+ * Helper functions para trabajar con Person.sb2 (Multi-Model Facial Recognition Status)
4
+ * Proporciona utilidades para leer, actualizar y migrar datos de entrenamiento facial
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.hasModelTrained = hasModelTrained;
8
+ exports.hasAnyModelTrained = hasAnyModelTrained;
9
+ exports.getModelTrainingStatus = getModelTrainingStatus;
10
+ exports.setModelTrainingStatus = setModelTrainingStatus;
11
+ exports.migrateLegacyToMultiModel = migrateLegacyToMultiModel;
12
+ exports.getTrainingStatusSummary = getTrainingStatusSummary;
13
+ exports.getBestAvailableModel = getBestAvailableModel;
14
+ exports.getPreferredModel = getPreferredModel;
15
+ exports.getAutoTrainModels = getAutoTrainModels;
16
+ exports.isQualityCheckEnabled = isQualityCheckEnabled;
17
+ exports.formatTrainingInfo = formatTrainingInfo;
18
+ /**
19
+ * Verifica si una persona tiene entrenamiento en un modelo específico
20
+ */
21
+ function hasModelTrained(sb2, model, source) {
22
+ if (!sb2?.models?.[model])
23
+ return false;
24
+ // Si se especifica fuente, verificar esa fuente específica
25
+ if (source) {
26
+ return sb2.models[model]?.[source]?.trained ?? false;
27
+ }
28
+ // Si no se especifica fuente, verificar si tiene alguna fuente entrenada
29
+ const modelData = sb2.models[model];
30
+ return Object.values(modelData || {}).some((status) => status.trained);
31
+ }
32
+ /**
33
+ * Verifica si una persona tiene ALGÚN modelo entrenado (legacy o nuevo formato)
34
+ */
35
+ function hasAnyModelTrained(sb2) {
36
+ if (!sb2)
37
+ return false;
38
+ // Verificar formato nuevo
39
+ if (sb2.models) {
40
+ for (const model of Object.keys(sb2.models)) {
41
+ if (hasModelTrained(sb2, model)) {
42
+ return true;
43
+ }
44
+ }
45
+ }
46
+ // Verificar formato legacy (backward compatibility)
47
+ if (sb2.SAIME || sb2.MANUAL || sb2.IPSFA || sb2.INTT) {
48
+ return true;
49
+ }
50
+ return false;
51
+ }
52
+ /**
53
+ * Obtiene el estado de entrenamiento para un modelo y fuente específicos
54
+ */
55
+ function getModelTrainingStatus(sb2, model, source) {
56
+ if (!sb2?.models?.[model]?.[source])
57
+ return null;
58
+ return sb2.models[model][source];
59
+ }
60
+ /**
61
+ * Actualiza el estado de entrenamiento para un modelo y fuente
62
+ * Mantiene compatibilidad con formato legacy
63
+ */
64
+ function setModelTrainingStatus(sb2, model, source, status) {
65
+ const updated = sb2 ? { ...sb2 } : {};
66
+ // Inicializar estructura si no existe
67
+ if (!updated.models) {
68
+ updated.models = {};
69
+ }
70
+ if (!updated.models[model]) {
71
+ updated.models[model] = {};
72
+ }
73
+ // Actualizar estado del modelo
74
+ updated.models[model][source] = status;
75
+ // Mantener formato legacy para compatibilidad
76
+ if (source === 'SAIME' || source === 'MANUAL' || source === 'IPSFA' || source === 'INTT') {
77
+ updated[source] = status.trained;
78
+ }
79
+ return updated;
80
+ }
81
+ /**
82
+ * Migra datos de formato legacy a formato multi-modelo
83
+ */
84
+ function migrateLegacyToMultiModel(sb2) {
85
+ if (!sb2)
86
+ return {};
87
+ // Si ya tiene formato nuevo, no migrar
88
+ if (sb2.models)
89
+ return sb2;
90
+ const migrated = { ...sb2, models: {} };
91
+ // Migrar cada fuente legacy a dlib (modelo por defecto)
92
+ const legacySources = ['SAIME', 'MANUAL', 'IPSFA', 'INTT'];
93
+ for (const source of legacySources) {
94
+ if (sb2[source] === true) {
95
+ if (!migrated.models.dlib) {
96
+ migrated.models.dlib = {};
97
+ }
98
+ migrated.models.dlib[source] = {
99
+ trained: true,
100
+ trainedAt: new Date().toISOString(),
101
+ qualityScore: undefined // No disponible en formato legacy
102
+ };
103
+ }
104
+ }
105
+ return migrated;
106
+ }
107
+ /**
108
+ * Obtiene resumen completo del estado de entrenamiento
109
+ */
110
+ function getTrainingStatusSummary(sb2) {
111
+ const summary = {
112
+ hasAnyTraining: false,
113
+ trainedModels: [],
114
+ trainedSources: [],
115
+ details: [],
116
+ legacy: {}
117
+ };
118
+ if (!sb2)
119
+ return summary;
120
+ // Migrar si es necesario
121
+ const data = sb2.models ? sb2 : migrateLegacyToMultiModel(sb2);
122
+ // Procesar formato nuevo
123
+ if (data.models) {
124
+ const modelsSet = new Set();
125
+ const sourcesSet = new Set();
126
+ for (const [model, sources] of Object.entries(data.models)) {
127
+ const typedModel = model;
128
+ for (const [source, status] of Object.entries(sources || {})) {
129
+ const typedSource = source;
130
+ if (status.trained) {
131
+ modelsSet.add(typedModel);
132
+ sourcesSet.add(typedSource);
133
+ summary.details.push({
134
+ model: typedModel,
135
+ source: typedSource,
136
+ status
137
+ });
138
+ }
139
+ }
140
+ }
141
+ summary.trainedModels = Array.from(modelsSet);
142
+ summary.trainedSources = Array.from(sourcesSet);
143
+ summary.hasAnyTraining = summary.trainedModels.length > 0;
144
+ }
145
+ // Mantener formato legacy
146
+ summary.legacy = {
147
+ SAIME: data.SAIME,
148
+ MANUAL: data.MANUAL,
149
+ IPSFA: data.IPSFA,
150
+ INTT: data.INTT
151
+ };
152
+ return summary;
153
+ }
154
+ /**
155
+ * Obtiene el mejor modelo disponible para verificación
156
+ * Prioridad: iResNet100 > Buffalo-L > dlib
157
+ */
158
+ function getBestAvailableModel(sb2) {
159
+ if (!sb2)
160
+ return null;
161
+ const priority = [
162
+ 'insightface_iresnet100',
163
+ 'insightface_buffalo_l',
164
+ 'dlib'
165
+ ];
166
+ for (const model of priority) {
167
+ if (hasModelTrained(sb2, model)) {
168
+ return model;
169
+ }
170
+ }
171
+ return null;
172
+ }
173
+ /**
174
+ * Obtiene el modelo configurado por el usuario o el mejor disponible
175
+ */
176
+ function getPreferredModel(sb2, purpose = 'verification') {
177
+ if (!sb2)
178
+ return null;
179
+ // Verificar preferencias del usuario
180
+ if (sb2.preferences) {
181
+ if (purpose === 'verification' && sb2.preferences.verificationModel) {
182
+ // Verificar que el modelo esté entrenado
183
+ if (hasModelTrained(sb2, sb2.preferences.verificationModel)) {
184
+ return sb2.preferences.verificationModel;
185
+ }
186
+ }
187
+ if (purpose === 'training' && sb2.preferences.defaultModel) {
188
+ return sb2.preferences.defaultModel;
189
+ }
190
+ }
191
+ // Fallback al mejor modelo disponible
192
+ return getBestAvailableModel(sb2);
193
+ }
194
+ /**
195
+ * Obtiene los modelos a entrenar automáticamente
196
+ */
197
+ function getAutoTrainModels(sb2) {
198
+ // Verificar preferencias del usuario
199
+ if (sb2?.preferences?.autoTrainModels && sb2.preferences.autoTrainModels.length > 0) {
200
+ return sb2.preferences.autoTrainModels;
201
+ }
202
+ // Fallback: solo dlib por compatibilidad
203
+ return ['dlib'];
204
+ }
205
+ /**
206
+ * Verifica si el quality check está habilitado
207
+ */
208
+ function isQualityCheckEnabled(sb2) {
209
+ return sb2?.preferences?.qualityCheckEnabled ?? false;
210
+ }
211
+ /**
212
+ * Formatea información de entrenamiento para display
213
+ */
214
+ function formatTrainingInfo(status) {
215
+ const date = new Date(status.trainedAt);
216
+ const timeAgo = getTimeAgo(date);
217
+ let info = `Entrenado ${timeAgo}`;
218
+ if (status.qualityScore !== undefined) {
219
+ info += ` (calidad: ${(status.qualityScore * 100).toFixed(0)}%)`;
220
+ }
221
+ return info;
222
+ }
223
+ /**
224
+ * Helper para calcular tiempo relativo
225
+ */
226
+ function getTimeAgo(date) {
227
+ const now = new Date();
228
+ const diffMs = now.getTime() - date.getTime();
229
+ const diffMins = Math.floor(diffMs / 60000);
230
+ const diffHours = Math.floor(diffMins / 60);
231
+ const diffDays = Math.floor(diffHours / 24);
232
+ if (diffMins < 60)
233
+ return `hace ${diffMins} minutos`;
234
+ if (diffHours < 24)
235
+ return `hace ${diffHours} horas`;
236
+ if (diffDays < 30)
237
+ return `hace ${diffDays} días`;
238
+ return date.toLocaleDateString();
239
+ }
240
+ //# sourceMappingURL=person-sb2.helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"person-sb2.helper.js","sourceRoot":"","sources":["../../../src/entities/person/person-sb2.helper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,140 @@
1
+ /**
2
+ * Tipos para el campo Person.sb2 - Facial Recognition Training Status
3
+ * Soporta multi-modelo: dlib, InsightFace (buffalo_l, iresnet100)
4
+ */
5
+ /**
6
+ * Estado de entrenamiento de un modelo específico para una fuente de datos
7
+ */
8
+ export interface ModelTrainingStatus {
9
+ /**
10
+ * Si el modelo ha sido entrenado con esta fuente
11
+ */
12
+ trained: boolean;
13
+ /**
14
+ * Fecha/hora de entrenamiento (ISO 8601)
15
+ */
16
+ trainedAt: string;
17
+ /**
18
+ * Score de calidad de la imagen usada para entrenamiento (0-1)
19
+ * Solo disponible para modelos InsightFace que evalúan calidad
20
+ */
21
+ qualityScore?: number;
22
+ /**
23
+ * ID del embedding en Milvus (opcional)
24
+ */
25
+ milvusId?: string;
26
+ }
27
+ /**
28
+ * Modelos de reconocimiento facial disponibles
29
+ */
30
+ export type FacialRecognitionModel = 'dlib' | 'insightface_buffalo_l' | 'insightface_iresnet100';
31
+ /**
32
+ * Fuentes de datos de imágenes faciales
33
+ */
34
+ export type FacialDataSource = 'SAIME' | 'MANUAL' | 'IPSFA' | 'INTT' | 'OTHER';
35
+ /**
36
+ * Estado de entrenamiento por modelo y fuente
37
+ * Ejemplo:
38
+ * {
39
+ * "dlib": {
40
+ * "SAIME": { trained: true, trainedAt: "2024-01-15T10:30:00Z", qualityScore: 0.85 },
41
+ * "MANUAL": { trained: true, trainedAt: "2024-01-20T14:00:00Z" }
42
+ * },
43
+ * "insightface_buffalo_l": {
44
+ * "SAIME": { trained: true, trainedAt: "2024-01-15T10:35:00Z", qualityScore: 0.92 }
45
+ * }
46
+ * }
47
+ */
48
+ export type ModelTrainingStatusMap = {
49
+ [model in FacialRecognitionModel]?: {
50
+ [source in FacialDataSource]?: ModelTrainingStatus;
51
+ };
52
+ };
53
+ /**
54
+ * Preferencias del usuario para modelos de reconocimiento facial
55
+ */
56
+ export interface FacialRecognitionPreferences {
57
+ /**
58
+ * Modelo por defecto para nuevos registros
59
+ */
60
+ defaultModel?: FacialRecognitionModel;
61
+ /**
62
+ * Modelo a usar para verificaciones 1:1
63
+ */
64
+ verificationModel?: FacialRecognitionModel;
65
+ /**
66
+ * Modelos a entrenar automáticamente cuando se registra una nueva imagen
67
+ */
68
+ autoTrainModels?: FacialRecognitionModel[];
69
+ /**
70
+ * Habilitar evaluación de calidad antes de entrenar
71
+ */
72
+ qualityCheckEnabled?: boolean;
73
+ }
74
+ /**
75
+ * Estructura completa del campo Person.sb2
76
+ * Mantiene compatibilidad con formato legacy mientras agrega soporte multi-modelo
77
+ */
78
+ export interface PersonSb2Data {
79
+ /**
80
+ * FORMATO LEGACY (mantener para compatibilidad)
81
+ * Indica si la persona tiene foto entrenada desde cada fuente
82
+ * @deprecated Usar 'models' en su lugar
83
+ */
84
+ SAIME?: boolean;
85
+ MANUAL?: boolean;
86
+ IPSFA?: boolean;
87
+ INTT?: boolean;
88
+ /**
89
+ * NUEVO: Estado de entrenamiento por modelo y fuente
90
+ * Esta es la fuente de verdad para el estado de entrenamiento multi-modelo
91
+ */
92
+ models?: ModelTrainingStatusMap;
93
+ /**
94
+ * NUEVO: Preferencias del usuario para reconocimiento facial
95
+ */
96
+ preferences?: FacialRecognitionPreferences;
97
+ /**
98
+ * Metadata adicional (extensible)
99
+ */
100
+ [key: string]: any;
101
+ }
102
+ /**
103
+ * Helper type para verificar si una persona tiene entrenamiento en un modelo específico
104
+ */
105
+ export interface ModelTrainingInfo {
106
+ model: FacialRecognitionModel;
107
+ source: FacialDataSource;
108
+ status: ModelTrainingStatus;
109
+ }
110
+ /**
111
+ * Resultado de verificación de estado de entrenamiento
112
+ */
113
+ export interface TrainingStatusSummary {
114
+ /**
115
+ * Tiene al menos un modelo entrenado
116
+ */
117
+ hasAnyTraining: boolean;
118
+ /**
119
+ * Modelos entrenados
120
+ */
121
+ trainedModels: FacialRecognitionModel[];
122
+ /**
123
+ * Fuentes con entrenamiento
124
+ */
125
+ trainedSources: FacialDataSource[];
126
+ /**
127
+ * Detalles completos por modelo
128
+ */
129
+ details: ModelTrainingInfo[];
130
+ /**
131
+ * Formato legacy compatible
132
+ */
133
+ legacy: {
134
+ SAIME?: boolean;
135
+ MANUAL?: boolean;
136
+ IPSFA?: boolean;
137
+ INTT?: boolean;
138
+ };
139
+ }
140
+ //# sourceMappingURL=person-sb2.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"person-sb2.types.d.ts","sourceRoot":"","sources":["../../../src/entities/person/person-sb2.types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG,MAAM,GAAG,uBAAuB,GAAG,wBAAwB,CAAC;AAEjG;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;AAE/E;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,sBAAsB,GAAG;KAClC,KAAK,IAAI,sBAAsB,CAAC,CAAC,EAAE;SACjC,MAAM,IAAI,gBAAgB,CAAC,CAAC,EAAE,mBAAmB;KACnD;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C;;OAEG;IACH,YAAY,CAAC,EAAE,sBAAsB,CAAC;IAEtC;;OAEG;IACH,iBAAiB,CAAC,EAAE,sBAAsB,CAAC;IAE3C;;OAEG;IACH,eAAe,CAAC,EAAE,sBAAsB,EAAE,CAAC;IAE3C;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf;;;OAGG;IACH,MAAM,CAAC,EAAE,sBAAsB,CAAC;IAEhC;;OAEG;IACH,WAAW,CAAC,EAAE,4BAA4B,CAAC;IAE3C;;OAEG;IACH,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,sBAAsB,CAAC;IAC9B,MAAM,EAAE,gBAAgB,CAAC;IACzB,MAAM,EAAE,mBAAmB,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,cAAc,EAAE,OAAO,CAAC;IAExB;;OAEG;IACH,aAAa,EAAE,sBAAsB,EAAE,CAAC;IAExC;;OAEG;IACH,cAAc,EAAE,gBAAgB,EAAE,CAAC;IAEnC;;OAEG;IACH,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAE7B;;OAEG;IACH,MAAM,EAAE;QACN,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,IAAI,CAAC,EAAE,OAAO,CAAC;KAChB,CAAC;CACH"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ /**
3
+ * Tipos para el campo Person.sb2 - Facial Recognition Training Status
4
+ * Soporta multi-modelo: dlib, InsightFace (buffalo_l, iresnet100)
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ //# sourceMappingURL=person-sb2.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"person-sb2.types.js","sourceRoot":"","sources":["../../../src/entities/person/person-sb2.types.ts"],"names":[],"mappings":";AAAA;;;GAGG"}
@@ -102,7 +102,17 @@ export declare class Person extends GlobalBase {
102
102
  ivssDataLastCheck?: Date;
103
103
  fiscalDataChecked?: boolean;
104
104
  fiscalDataLastCheck?: Date;
105
- sb2?: Record<string, any>;
105
+ /**
106
+ * Facial Recognition Training Status (Multi-Model)
107
+ * Tracks training status across different facial recognition models and data sources
108
+ *
109
+ * Supports:
110
+ * - Legacy format: { SAIME: true, MANUAL: true, ... }
111
+ * - New format: { models: { dlib: { SAIME: { trained: true, trainedAt: "..." } } } }
112
+ *
113
+ * @see PersonSb2Data for complete type definition
114
+ */
115
+ sb2?: import('./person-sb2.types').PersonSb2Data;
106
116
  /**
107
117
  * Current position/job of the person
108
118
  */
@@ -1 +1 @@
1
- {"version":3,"file":"person.entity.d.ts","sourceRoot":"","sources":["../../../src/entities/person/person.entity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"person.entity.d.ts","sourceRoot":"","sources":["../../../src/entities/person/person.entity.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"person.entity.js","sourceRoot":"","sources":["../../../src/entities/person/person.entity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"person.entity.js","sourceRoot":"","sources":["../../../src/entities/person/person.entity.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ import { EntityBase } from '../base';
2
+ import { RecimEntry } from './recim-entry.entity';
3
+ import { User } from '../user.entity';
4
+ /**
5
+ * RecimDetailView Entity
6
+ *
7
+ * Audit trail for RECIM detail page views.
8
+ * Tracks when users access the full detail view of a RECIM entry.
9
+ *
10
+ * **Purpose:**
11
+ * - Different from profile revision (which logs full person searches)
12
+ * - Logs specifically when someone views a RECIM entry detail
13
+ * - Tracks access patterns to sensitive biometric data
14
+ *
15
+ * **Use Cases:**
16
+ * - Security auditing (who accessed biometric data)
17
+ * - Compliance reporting
18
+ * - Access pattern analysis
19
+ */
20
+ export declare class RecimDetailView extends EntityBase {
21
+ /**
22
+ * RECIM Entry being viewed
23
+ */
24
+ recimEntry: RecimEntry;
25
+ /**
26
+ * User who viewed the detail
27
+ */
28
+ viewedBy?: User;
29
+ /**
30
+ * Timestamp when the detail was viewed
31
+ */
32
+ viewedAt: Date;
33
+ /**
34
+ * IP address of the viewer (optional)
35
+ */
36
+ ipAddress?: string;
37
+ /**
38
+ * User agent of the viewer (optional)
39
+ */
40
+ userAgent?: string;
41
+ /**
42
+ * Additional context (e.g., "clicked from list", "direct link", etc.)
43
+ */
44
+ context?: Record<string, any>;
45
+ }
46
+ //# sourceMappingURL=recim-detail-view.entity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recim-detail-view.entity.d.ts","sourceRoot":"","sources":["../../../src/entities/recim/recim-detail-view.entity.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAEtC;;;;;;;;;;;;;;;GAeG;AACH,qBAKa,eAAgB,SAAQ,UAAU;IAC7C;;OAEG;IAOH,UAAU,EAAG,UAAU,CAAC;IAExB;;OAEG;IAOH,QAAQ,CAAC,EAAE,IAAI,CAAC;IAEhB;;OAEG;IAEH,QAAQ,EAAG,IAAI,CAAC;IAEhB;;OAEG;IAEH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IAEH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IAEH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC/B"}
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.RecimDetailView = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ const base_1 = require("../base");
15
+ const recim_entry_entity_1 = require("./recim-entry.entity");
16
+ const user_entity_1 = require("../user.entity");
17
+ /**
18
+ * RecimDetailView Entity
19
+ *
20
+ * Audit trail for RECIM detail page views.
21
+ * Tracks when users access the full detail view of a RECIM entry.
22
+ *
23
+ * **Purpose:**
24
+ * - Different from profile revision (which logs full person searches)
25
+ * - Logs specifically when someone views a RECIM entry detail
26
+ * - Tracks access patterns to sensitive biometric data
27
+ *
28
+ * **Use Cases:**
29
+ * - Security auditing (who accessed biometric data)
30
+ * - Compliance reporting
31
+ * - Access pattern analysis
32
+ */
33
+ let RecimDetailView = class RecimDetailView extends base_1.EntityBase {
34
+ };
35
+ exports.RecimDetailView = RecimDetailView;
36
+ __decorate([
37
+ (0, typeorm_1.ManyToOne)(() => recim_entry_entity_1.RecimEntry, {
38
+ onDelete: 'CASCADE',
39
+ onUpdate: 'CASCADE',
40
+ nullable: false,
41
+ }),
42
+ (0, typeorm_1.JoinColumn)({ name: 'recim_entry_id' }),
43
+ __metadata("design:type", recim_entry_entity_1.RecimEntry)
44
+ ], RecimDetailView.prototype, "recimEntry", void 0);
45
+ __decorate([
46
+ (0, typeorm_1.ManyToOne)(() => user_entity_1.User, {
47
+ onDelete: 'SET NULL',
48
+ onUpdate: 'CASCADE',
49
+ nullable: true,
50
+ }),
51
+ (0, typeorm_1.JoinColumn)({ name: 'viewed_by_id' }),
52
+ __metadata("design:type", user_entity_1.User)
53
+ ], RecimDetailView.prototype, "viewedBy", void 0);
54
+ __decorate([
55
+ (0, typeorm_1.Column)({ type: 'timestamptz', default: () => 'CURRENT_TIMESTAMP' }),
56
+ __metadata("design:type", Date)
57
+ ], RecimDetailView.prototype, "viewedAt", void 0);
58
+ __decorate([
59
+ (0, typeorm_1.Column)({ type: 'varchar', length: 45, nullable: true }),
60
+ __metadata("design:type", String)
61
+ ], RecimDetailView.prototype, "ipAddress", void 0);
62
+ __decorate([
63
+ (0, typeorm_1.Column)({ type: 'varchar', length: 500, nullable: true }),
64
+ __metadata("design:type", String)
65
+ ], RecimDetailView.prototype, "userAgent", void 0);
66
+ __decorate([
67
+ (0, typeorm_1.Column)({ type: 'jsonb', nullable: true }),
68
+ __metadata("design:type", Object)
69
+ ], RecimDetailView.prototype, "context", void 0);
70
+ exports.RecimDetailView = RecimDetailView = __decorate([
71
+ (0, typeorm_1.Entity)('recim_detail_view'),
72
+ (0, typeorm_1.Index)('recim_detail_view_entry_idx', ['recimEntry']),
73
+ (0, typeorm_1.Index)('recim_detail_view_user_idx', ['viewedBy']),
74
+ (0, typeorm_1.Index)('recim_detail_view_date_idx', ['viewedAt']),
75
+ (0, typeorm_1.Index)('recim_detail_view_tenant_date_idx', ['tenantId', 'viewedAt'])
76
+ ], RecimDetailView);
77
+ //# sourceMappingURL=recim-detail-view.entity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recim-detail-view.entity.js","sourceRoot":"","sources":["../../../src/entities/recim/recim-detail-view.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAuE;AACvE,kCAAqC;AACrC,6DAAkD;AAClD,gDAAsC;AAEtC;;;;;;;;;;;;;;;GAeG;AAMI,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,iBAAU;CA8C9C,CAAA;AA9CY,0CAAe;AAU1B;IANC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,+BAAU,EAAE;QAC3B,QAAQ,EAAE,SAAS;QACnB,QAAQ,EAAE,SAAS;QACnB,QAAQ,EAAE,KAAK;KAChB,CAAC;IACD,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;8BAC1B,+BAAU;mDAAC;AAWxB;IANC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,kBAAI,EAAE;QACrB,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,SAAS;QACnB,QAAQ,EAAE,IAAI;KACf,CAAC;IACD,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;8BAC1B,kBAAI;iDAAC;AAMhB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,mBAAmB,EAAE,CAAC;8BACzD,IAAI;iDAAC;AAMhB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;kDACrC;AAMnB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;kDACtC;AAMnB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;gDACZ;0BA7CnB,eAAe;IAL3B,IAAA,gBAAM,EAAC,mBAAmB,CAAC;IAC3B,IAAA,eAAK,EAAC,6BAA6B,EAAE,CAAC,YAAY,CAAC,CAAC;IACpD,IAAA,eAAK,EAAC,4BAA4B,EAAE,CAAC,UAAU,CAAC,CAAC;IACjD,IAAA,eAAK,EAAC,4BAA4B,EAAE,CAAC,UAAU,CAAC,CAAC;IACjD,IAAA,eAAK,EAAC,mCAAmC,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;GACxD,eAAe,CA8C3B"}
@@ -74,7 +74,7 @@ export declare class RecimEntry extends EntityBase {
74
74
  *
75
75
  * One-to-many relation with RecimFingerprint entities.
76
76
  * CASCADE delete: when entry is deleted, fingerprints are also deleted.
77
- * Eagerly loaded to include fingerprint data in queries.
77
+ * Lazy loaded to optimize list queries - load explicitly when needed.
78
78
  */
79
79
  fingerprints?: RecimFingerprint[];
80
80
  }
@@ -77,7 +77,7 @@ __decorate([
77
77
  __decorate([
78
78
  (0, typeorm_1.OneToMany)(() => recim_fingerprint_entity_1.RecimFingerprint, (fingerprint) => fingerprint.recimEntry, {
79
79
  cascade: true,
80
- eager: true,
80
+ eager: false, // Changed to false for performance optimization
81
81
  }),
82
82
  __metadata("design:type", Array)
83
83
  ], RecimEntry.prototype, "fingerprints", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"recim-entry.entity.js","sourceRoot":"","sources":["../../../src/entities/recim/recim-entry.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAOiB;AACjB,yCAA2C;AAC3C,2DAAiD;AACjD,yEAA8D;AAE9D;;;;;;;GAOG;AACH,IAAY,WAIX;AAJD,WAAY,WAAW;IACrB,gCAAiB,CAAA;IACjB,oCAAqB,CAAA;IACrB,oCAAqB,CAAA;AACvB,CAAC,EAJW,WAAW,2BAAX,WAAW,QAItB;AAED;;;;;;;;;;;;;GAaG;AAII,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,kBAAU;CAsEzC,CAAA;AAtEY,gCAAU;AASrB;IAFC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,sBAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IACzD,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;8BACzB,sBAAM;0CAAC;AAShB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;iDAClB;AASvB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BACtD,IAAI;gDAAC;AAQpB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;4CAC1D;AAalB;IALC,IAAA,gBAAM,EAAC;QACN,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,WAAW,CAAC,MAAM;KAC5B,CAAC;;0CACmB;AAQrB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;gDAC1C;AAatB;IAJC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,2CAAgB,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,UAAU,EAAE;QAC1E,OAAO,EAAE,IAAI;QACb,KAAK,EAAE,IAAI;KACZ,CAAC;;gDACgC;qBArEvB,UAAU;IAHtB,IAAA,gBAAM,EAAC,aAAa,CAAC;IACrB,IAAA,eAAK,EAAC,wBAAwB,EAAE,CAAC,QAAQ,CAAC,CAAC;IAC3C,IAAA,eAAK,EAAC,wBAAwB,EAAE,CAAC,QAAQ,CAAC,CAAC;GAC/B,UAAU,CAsEtB"}
1
+ {"version":3,"file":"recim-entry.entity.js","sourceRoot":"","sources":["../../../src/entities/recim/recim-entry.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAOiB;AACjB,yCAA2C;AAC3C,2DAAiD;AACjD,yEAA8D;AAE9D;;;;;;;GAOG;AACH,IAAY,WAIX;AAJD,WAAY,WAAW;IACrB,gCAAiB,CAAA;IACjB,oCAAqB,CAAA;IACrB,oCAAqB,CAAA;AACvB,CAAC,EAJW,WAAW,2BAAX,WAAW,QAItB;AAED;;;;;;;;;;;;;GAaG;AAII,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,kBAAU;CAsEzC,CAAA;AAtEY,gCAAU;AASrB;IAFC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,sBAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IACzD,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;8BACzB,sBAAM;0CAAC;AAShB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;iDAClB;AASvB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BACtD,IAAI;gDAAC;AAQpB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;4CAC1D;AAalB;IALC,IAAA,gBAAM,EAAC;QACN,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,WAAW,CAAC,MAAM;KAC5B,CAAC;;0CACmB;AAQrB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;gDAC1C;AAatB;IAJC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,2CAAgB,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,UAAU,EAAE;QAC1E,OAAO,EAAE,IAAI;QACb,KAAK,EAAE,KAAK,EAAE,gDAAgD;KAC/D,CAAC;;gDACgC;qBArEvB,UAAU;IAHtB,IAAA,gBAAM,EAAC,aAAa,CAAC;IACrB,IAAA,eAAK,EAAC,wBAAwB,EAAE,CAAC,QAAQ,CAAC,CAAC;IAC3C,IAAA,eAAK,EAAC,wBAAwB,EAAE,CAAC,QAAQ,CAAC,CAAC;GAC/B,UAAU,CAsEtB"}
@@ -0,0 +1,14 @@
1
+ import { MigrationInterface, QueryRunner } from 'typeorm';
2
+ /**
3
+ * Migration to add performance indexes for RECIM queries
4
+ *
5
+ * Indexes added:
6
+ * 1. idx_recim_entry_tenant_status_date - Composite index for common list queries
7
+ * 2. idx_recim_entry_person_active - Index for person lookup with active status
8
+ */
9
+ export declare class AddRecimPerformanceIndexes1738001000000 implements MigrationInterface {
10
+ name: string;
11
+ up(queryRunner: QueryRunner): Promise<void>;
12
+ down(queryRunner: QueryRunner): Promise<void>;
13
+ }
14
+ //# sourceMappingURL=1738001000000-AddRecimPerformanceIndexes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"1738001000000-AddRecimPerformanceIndexes.d.ts","sourceRoot":"","sources":["../../src/migrations/1738001000000-AddRecimPerformanceIndexes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE1D;;;;;;GAMG;AACH,qBAAa,uCAAwC,YAAW,kBAAkB;IAChF,IAAI,SAA6C;IAEpC,EAAE,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAe3C,IAAI,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;CAU3D"}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AddRecimPerformanceIndexes1738001000000 = void 0;
4
+ /**
5
+ * Migration to add performance indexes for RECIM queries
6
+ *
7
+ * Indexes added:
8
+ * 1. idx_recim_entry_tenant_status_date - Composite index for common list queries
9
+ * 2. idx_recim_entry_person_active - Index for person lookup with active status
10
+ */
11
+ class AddRecimPerformanceIndexes1738001000000 {
12
+ constructor() {
13
+ this.name = 'AddRecimPerformanceIndexes1738001000000';
14
+ }
15
+ async up(queryRunner) {
16
+ // Composite index for tenant + status + createdAt (covers most list queries)
17
+ await queryRunner.query(`
18
+ CREATE INDEX IF NOT EXISTS "idx_recim_entry_tenant_status_date"
19
+ ON "recim_entry" ("tenantId", "status", "createdAt" DESC)
20
+ `);
21
+ // Index for person lookup with active status (used in duplicate detection)
22
+ await queryRunner.query(`
23
+ CREATE INDEX IF NOT EXISTS "idx_recim_entry_person_active"
24
+ ON "recim_entry" ("person_id", "status")
25
+ WHERE "status" = 'ACTIVE'
26
+ `);
27
+ }
28
+ async down(queryRunner) {
29
+ // Drop indexes in reverse order
30
+ await queryRunner.query(`
31
+ DROP INDEX IF EXISTS "idx_recim_entry_person_active"
32
+ `);
33
+ await queryRunner.query(`
34
+ DROP INDEX IF EXISTS "idx_recim_entry_tenant_status_date"
35
+ `);
36
+ }
37
+ }
38
+ exports.AddRecimPerformanceIndexes1738001000000 = AddRecimPerformanceIndexes1738001000000;
39
+ //# sourceMappingURL=1738001000000-AddRecimPerformanceIndexes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"1738001000000-AddRecimPerformanceIndexes.js","sourceRoot":"","sources":["../../src/migrations/1738001000000-AddRecimPerformanceIndexes.ts"],"names":[],"mappings":";;;AAEA;;;;;;GAMG;AACH,MAAa,uCAAuC;IAApD;QACE,SAAI,GAAG,yCAAyC,CAAC;IA2BnD,CAAC;IAzBQ,KAAK,CAAC,EAAE,CAAC,WAAwB;QACtC,6EAA6E;QAC7E,MAAM,WAAW,CAAC,KAAK,CAAC;;;KAGvB,CAAC,CAAC;QAEH,2EAA2E;QAC3E,MAAM,WAAW,CAAC,KAAK,CAAC;;;;KAIvB,CAAC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,WAAwB;QACxC,gCAAgC;QAChC,MAAM,WAAW,CAAC,KAAK,CAAC;;KAEvB,CAAC,CAAC;QAEH,MAAM,WAAW,CAAC,KAAK,CAAC;;KAEvB,CAAC,CAAC;IACL,CAAC;CACF;AA5BD,0FA4BC"}
package/package.json CHANGED
@@ -1,12 +1,19 @@
1
1
  {
2
2
  "name": "@sigmatech/pergamo",
3
- "version": "0.1.56",
3
+ "version": "0.1.58",
4
4
  "description": "Shared TypeORM entities and utilities for Dataven intelligence system - Named after the ancient library of Pergamon",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "files": [
8
8
  "dist"
9
9
  ],
10
+ "scripts": {
11
+ "build": "rm -rf dist && tsc -p tsconfig.build.json",
12
+ "build:watch": "tsc -p tsconfig.build.json --watch",
13
+ "prepublishOnly": "pnpm build",
14
+ "publish:local": "pnpm build && npm pack",
15
+ "publish:npm": "npm version patch && pnpm build && npm publish --access public"
16
+ },
10
17
  "keywords": [
11
18
  "typeorm",
12
19
  "entities",
@@ -32,11 +39,5 @@
32
39
  "reflect-metadata": "^0.2.2",
33
40
  "typeorm": "^0.3.27",
34
41
  "typescript": "^5.9.3"
35
- },
36
- "scripts": {
37
- "build": "rm -rf dist && tsc -p tsconfig.build.json",
38
- "build:watch": "tsc -p tsconfig.build.json --watch",
39
- "publish:local": "pnpm build && npm pack",
40
- "publish:npm": "npm version patch && pnpm build && npm publish --access public"
41
42
  }
42
- }
43
+ }