@sigmatech/pergamo 0.1.56 → 0.1.57
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/dist/entities/index.d.ts +1 -0
- package/dist/entities/index.d.ts.map +1 -1
- package/dist/entities/index.js +2 -1
- package/dist/entities/index.js.map +1 -1
- package/dist/entities/recim/recim-detail-view.entity.d.ts +46 -0
- package/dist/entities/recim/recim-detail-view.entity.d.ts.map +1 -0
- package/dist/entities/recim/recim-detail-view.entity.js +77 -0
- package/dist/entities/recim/recim-detail-view.entity.js.map +1 -0
- package/dist/entities/recim/recim-entry.entity.d.ts +1 -1
- package/dist/entities/recim/recim-entry.entity.js +1 -1
- package/dist/entities/recim/recim-entry.entity.js.map +1 -1
- package/dist/migrations/1738001000000-AddRecimPerformanceIndexes.d.ts +14 -0
- package/dist/migrations/1738001000000-AddRecimPerformanceIndexes.d.ts.map +1 -0
- package/dist/migrations/1738001000000-AddRecimPerformanceIndexes.js +39 -0
- package/dist/migrations/1738001000000-AddRecimPerformanceIndexes.js.map +1 -0
- package/package.json +9 -8
package/dist/entities/index.d.ts
CHANGED
|
@@ -27,6 +27,7 @@ export * from "./vehicle";
|
|
|
27
27
|
export * from "./accreditation";
|
|
28
28
|
export * from "./recim/recim-entry.entity";
|
|
29
29
|
export * from "./recim/recim-fingerprint.entity";
|
|
30
|
+
export * from "./recim/recim-detail-view.entity";
|
|
30
31
|
export * from "./telefonia/telefonia.entity";
|
|
31
32
|
export * from "./telefonia/historial-ubicacion.entity";
|
|
32
33
|
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;AAGzD,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"}
|
package/dist/entities/index.js
CHANGED
|
@@ -46,9 +46,10 @@ __exportStar(require("./person/characterization-linkage.entity"), exports);
|
|
|
46
46
|
__exportStar(require("./vehicle"), exports);
|
|
47
47
|
// Accreditation module
|
|
48
48
|
__exportStar(require("./accreditation"), exports);
|
|
49
|
-
// RECIM module (Registro
|
|
49
|
+
// RECIM module (Registro de Contrainteligencia Militar)
|
|
50
50
|
__exportStar(require("./recim/recim-entry.entity"), exports);
|
|
51
51
|
__exportStar(require("./recim/recim-fingerprint.entity"), exports);
|
|
52
|
+
__exportStar(require("./recim/recim-detail-view.entity"), exports);
|
|
52
53
|
// Telefonia module
|
|
53
54
|
__exportStar(require("./telefonia/telefonia.entity"), exports);
|
|
54
55
|
__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,
|
|
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,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,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
|
-
*
|
|
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:
|
|
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,
|
|
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.
|
|
3
|
+
"version": "0.1.57",
|
|
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
|
+
}
|