@sphereon/ssi-sdk.data-store 0.30.2-unstable.4 → 0.30.2-unstable.6
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/digitalCredential/DigitalCredentialStore.d.ts.map +1 -1
- package/dist/digitalCredential/DigitalCredentialStore.js +3 -1
- package/dist/digitalCredential/DigitalCredentialStore.js.map +1 -1
- package/dist/entities/eventLogger/AuditEventEntity.d.ts +3 -9
- package/dist/entities/eventLogger/AuditEventEntity.d.ts.map +1 -1
- package/dist/entities/eventLogger/AuditEventEntity.js +1 -52
- package/dist/entities/eventLogger/AuditEventEntity.js.map +1 -1
- package/dist/eventLogger/AbstractEventLoggerStore.d.ts +2 -4
- package/dist/eventLogger/AbstractEventLoggerStore.d.ts.map +1 -1
- package/dist/eventLogger/AbstractEventLoggerStore.js.map +1 -1
- package/dist/eventLogger/EventLoggerStore.d.ts +2 -5
- package/dist/eventLogger/EventLoggerStore.d.ts.map +1 -1
- package/dist/eventLogger/EventLoggerStore.js +2 -36
- package/dist/eventLogger/EventLoggerStore.js.map +1 -1
- package/dist/migrations/postgres/1701634812183-CreateAuditEvents.d.ts.map +1 -1
- package/dist/migrations/postgres/1701634812183-CreateAuditEvents.js +1 -29
- package/dist/migrations/postgres/1701634812183-CreateAuditEvents.js.map +1 -1
- package/dist/migrations/sqlite/1701634819487-CreateAuditEvents.d.ts.map +1 -1
- package/dist/migrations/sqlite/1701634819487-CreateAuditEvents.js +1 -25
- package/dist/migrations/sqlite/1701634819487-CreateAuditEvents.js.map +1 -1
- package/dist/types/eventLogger/IAbstractEventLoggerStore.d.ts +2 -9
- package/dist/types/eventLogger/IAbstractEventLoggerStore.d.ts.map +1 -1
- package/dist/types/eventLogger/eventLogger.d.ts +1 -2
- package/dist/types/eventLogger/eventLogger.d.ts.map +1 -1
- package/package.json +8 -8
- package/src/__tests__/digitalCredential.store.test.ts +2 -77
- package/src/__tests__/eventLogger.entities.test.ts +2 -3
- package/src/__tests__/eventLogger.store.test.ts +1 -4
- package/src/digitalCredential/DigitalCredentialStore.ts +3 -1
- package/src/entities/eventLogger/AuditEventEntity.ts +3 -50
- package/src/eventLogger/AbstractEventLoggerStore.ts +2 -4
- package/src/eventLogger/EventLoggerStore.ts +4 -65
- package/src/migrations/postgres/1701634812183-CreateAuditEvents.ts +1 -29
- package/src/migrations/sqlite/1701634819487-CreateAuditEvents.ts +1 -25
- package/src/types/eventLogger/IAbstractEventLoggerStore.ts +2 -12
- package/src/types/eventLogger/eventLogger.ts +1 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DigitalCredentialStore.d.ts","sourceRoot":"","sources":["../../src/digitalCredential/DigitalCredentialStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAA;AACjF,OAAO,EACL,iBAAiB,EAGjB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EAEtB,oBAAoB,EACpB,yBAAyB,EAC1B,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAgC,MAAM,SAAS,CAAA;AAalE,qBAAa,sBAAuB,SAAQ,8BAA8B;IACxE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAuB;IACpD,OAAO,CAAC,MAAM,CAAiD;gBAEnD,YAAY,EAAE,SAAS,CAAC,UAAU,CAAC;IAK/C,aAAa,SAAgB,iBAAiB,KAAG,QAAQ,iBAAiB,CAAC,CAU1E;IAED,aAAa,SAAgB,iBAAiB,KAAG,QAAQ,iBAAiB,CAAC,CAU1E;IAED,cAAc,UAAiB,kBAAkB,KAAG,QAAQ,sBAAsB,CAAC,CAiBlF;IAED,gBAAgB,SAAgB,oBAAoB,KAAG,QAAQ,OAAO,CAAC,CAuBtE;YAEa,UAAU;
|
|
1
|
+
{"version":3,"file":"DigitalCredentialStore.d.ts","sourceRoot":"","sources":["../../src/digitalCredential/DigitalCredentialStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAA;AACjF,OAAO,EACL,iBAAiB,EAGjB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EAEtB,oBAAoB,EACpB,yBAAyB,EAC1B,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAgC,MAAM,SAAS,CAAA;AAalE,qBAAa,sBAAuB,SAAQ,8BAA8B;IACxE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAuB;IACpD,OAAO,CAAC,MAAM,CAAiD;gBAEnD,YAAY,EAAE,SAAS,CAAC,UAAU,CAAC;IAK/C,aAAa,SAAgB,iBAAiB,KAAG,QAAQ,iBAAiB,CAAC,CAU1E;IAED,aAAa,SAAgB,iBAAiB,KAAG,QAAQ,iBAAiB,CAAC,CAU1E;IAED,cAAc,UAAiB,kBAAkB,KAAG,QAAQ,sBAAsB,CAAC,CAiBlF;IAED,gBAAgB,SAAgB,oBAAoB,KAAG,QAAQ,OAAO,CAAC,CAuBtE;YAEa,UAAU;YAeV,aAAa;IAW3B,qBAAqB,SAAgB,yBAAyB,KAAG,QAAQ,iBAAiB,CAAC,CAqC1F;IAED,OAAO,CAAC,4BAA4B;CAmBrC"}
|
|
@@ -125,7 +125,9 @@ class DigitalCredentialStore extends AbstractDigitalCredentialStore_1.AbstractDi
|
|
|
125
125
|
let affected = 0;
|
|
126
126
|
const findResult = yield dcRepo.findBy(query);
|
|
127
127
|
for (const dc of findResult) {
|
|
128
|
-
|
|
128
|
+
if (dc.parentId !== null && dc.parentId !== undefined) {
|
|
129
|
+
affected += yield this.deleteTree(dcRepo, { id: dc.parentId });
|
|
130
|
+
}
|
|
129
131
|
const result = yield dcRepo.delete(dc.id);
|
|
130
132
|
if (result.affected) {
|
|
131
133
|
affected += result.affected;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DigitalCredentialStore.js","sourceRoot":"","sources":["../../src/digitalCredential/DigitalCredentialStore.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"DigitalCredentialStore.js","sourceRoot":"","sources":["../../src/digitalCredential/DigitalCredentialStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import { ActionSubType, ActionType, InitiatorType,
|
|
1
|
+
import { ActionSubType, ActionType, InitiatorType, LogLevel, SubSystem, System, SystemCorrelationIdType } from '@sphereon/ssi-types';
|
|
2
2
|
import { BaseEntity } from 'typeorm';
|
|
3
|
-
import {
|
|
4
|
-
import { NonPersistedAuditLoggingEvent
|
|
3
|
+
import { PartyCorrelationType } from '@sphereon/ssi-sdk.core';
|
|
4
|
+
import { NonPersistedAuditLoggingEvent } from '../../types';
|
|
5
5
|
export declare class AuditEventEntity extends BaseEntity {
|
|
6
6
|
id: string;
|
|
7
7
|
timestamp: Date;
|
|
8
|
-
type: LoggingEventType;
|
|
9
8
|
level: LogLevel;
|
|
10
9
|
correlationId: string;
|
|
11
10
|
system: System;
|
|
@@ -20,15 +19,10 @@ export declare class AuditEventEntity extends BaseEntity {
|
|
|
20
19
|
partyCorrelationId?: string;
|
|
21
20
|
partyAlias?: string;
|
|
22
21
|
description: string;
|
|
23
|
-
credentialType?: CredentialType;
|
|
24
|
-
credentialHash?: string;
|
|
25
|
-
originalCredential?: string;
|
|
26
|
-
sharePurpose?: string;
|
|
27
22
|
data?: string;
|
|
28
23
|
diagnosticData?: string;
|
|
29
24
|
createdAt: Date;
|
|
30
25
|
lastUpdatedAt: Date;
|
|
31
26
|
}
|
|
32
27
|
export declare const auditEventEntityFrom: (args: NonPersistedAuditLoggingEvent) => AuditEventEntity;
|
|
33
|
-
export declare const activityEventEntityFrom: (args: NonPersistedActivityLoggingEvent) => AuditEventEntity;
|
|
34
28
|
//# sourceMappingURL=AuditEventEntity.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuditEventEntity.d.ts","sourceRoot":"","sources":["../../../src/entities/eventLogger/AuditEventEntity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"AuditEventEntity.d.ts","sourceRoot":"","sources":["../../../src/entities/eventLogger/AuditEventEntity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AACpI,OAAO,EAAE,UAAU,EAA8E,MAAM,SAAS,CAAA;AAChH,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,6BAA6B,EAAE,MAAM,aAAa,CAAA;AAG3D,qBACa,gBAAiB,SAAQ,UAAU;IAE9C,EAAE,EAAG,MAAM,CAAA;IAGX,SAAS,EAAG,IAAI,CAAA;IAGhB,KAAK,EAAG,QAAQ,CAAA;IAGhB,aAAa,EAAG,MAAM,CAAA;IAGtB,MAAM,EAAG,MAAM,CAAA;IAGf,aAAa,EAAG,SAAS,CAAA;IAGzB,UAAU,EAAG,UAAU,CAAA;IAGvB,aAAa,EAAG,aAAa,CAAA;IAG7B,aAAa,EAAG,aAAa,CAAA;IAG7B,uBAAuB,CAAC,EAAE,uBAAuB,CAAA;IAGjD,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAG5B,WAAW,CAAC,EAAE,MAAM,CAAA;IAGpB,oBAAoB,CAAC,EAAE,oBAAoB,CAAA;IAG3C,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAG3B,UAAU,CAAC,EAAE,MAAM,CAAA;IAGnB,WAAW,EAAG,MAAM,CAAA;IAGpB,IAAI,CAAC,EAAE,MAAM,CAAA;IAGb,cAAc,CAAC,EAAE,MAAM,CAAA;IAGvB,SAAS,EAAG,IAAI,CAAA;IAGhB,aAAa,EAAG,IAAI,CAAA;CACrB;AAED,eAAO,MAAM,oBAAoB,SAAU,6BAA6B,KAAG,gBAsB1E,CAAA"}
|
|
@@ -9,13 +9,11 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
9
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.
|
|
12
|
+
exports.auditEventEntityFrom = exports.AuditEventEntity = void 0;
|
|
13
13
|
const ssi_types_1 = require("@sphereon/ssi-types");
|
|
14
14
|
const typeorm_1 = require("typeorm");
|
|
15
15
|
const ssi_sdk_core_1 = require("@sphereon/ssi-sdk.core");
|
|
16
16
|
const ssi_sdk_agent_config_1 = require("@sphereon/ssi-sdk.agent-config");
|
|
17
|
-
//TODO this entity, also contains some optional fields that are related to another event type (Activity) later we might want to refactor and reorganize this.
|
|
18
|
-
// For now I've added a discriminator value called eventType that can be one of the three types of events: 1. General, 2. Audit, and 3. Activity
|
|
19
17
|
let AuditEventEntity = class AuditEventEntity extends typeorm_1.BaseEntity {
|
|
20
18
|
};
|
|
21
19
|
exports.AuditEventEntity = AuditEventEntity;
|
|
@@ -27,10 +25,6 @@ __decorate([
|
|
|
27
25
|
(0, typeorm_1.Column)({ name: 'timestamp', nullable: false, unique: false, type: (0, ssi_sdk_agent_config_1.typeOrmDateTime)() }),
|
|
28
26
|
__metadata("design:type", Date)
|
|
29
27
|
], AuditEventEntity.prototype, "timestamp", void 0);
|
|
30
|
-
__decorate([
|
|
31
|
-
(0, typeorm_1.Column)('simple-enum', { name: 'eventType', enum: ssi_types_1.LoggingEventType, nullable: false, unique: false }),
|
|
32
|
-
__metadata("design:type", String)
|
|
33
|
-
], AuditEventEntity.prototype, "type", void 0);
|
|
34
28
|
__decorate([
|
|
35
29
|
(0, typeorm_1.Column)('simple-enum', { name: 'level', enum: ssi_types_1.LogLevel, nullable: false, unique: false }),
|
|
36
30
|
__metadata("design:type", Number)
|
|
@@ -87,22 +81,6 @@ __decorate([
|
|
|
87
81
|
(0, typeorm_1.Column)('text', { name: 'description', nullable: false, unique: false }),
|
|
88
82
|
__metadata("design:type", String)
|
|
89
83
|
], AuditEventEntity.prototype, "description", void 0);
|
|
90
|
-
__decorate([
|
|
91
|
-
(0, typeorm_1.Column)('simple-enum', { name: 'credentialType', enum: ssi_sdk_core_1.CredentialType, nullable: true, unique: false }),
|
|
92
|
-
__metadata("design:type", String)
|
|
93
|
-
], AuditEventEntity.prototype, "credentialType", void 0);
|
|
94
|
-
__decorate([
|
|
95
|
-
(0, typeorm_1.Column)('text', { name: 'credentialHash', nullable: true, unique: false }),
|
|
96
|
-
__metadata("design:type", String)
|
|
97
|
-
], AuditEventEntity.prototype, "credentialHash", void 0);
|
|
98
|
-
__decorate([
|
|
99
|
-
(0, typeorm_1.Column)('text', { name: 'originalCredential', nullable: true, unique: false }),
|
|
100
|
-
__metadata("design:type", String)
|
|
101
|
-
], AuditEventEntity.prototype, "originalCredential", void 0);
|
|
102
|
-
__decorate([
|
|
103
|
-
(0, typeorm_1.Column)('text', { name: 'sharePurpose', nullable: true, unique: false }),
|
|
104
|
-
__metadata("design:type", String)
|
|
105
|
-
], AuditEventEntity.prototype, "sharePurpose", void 0);
|
|
106
84
|
__decorate([
|
|
107
85
|
(0, typeorm_1.Column)('text', { name: 'data', nullable: true, unique: false }),
|
|
108
86
|
__metadata("design:type", String)
|
|
@@ -124,7 +102,6 @@ exports.AuditEventEntity = AuditEventEntity = __decorate([
|
|
|
124
102
|
], AuditEventEntity);
|
|
125
103
|
const auditEventEntityFrom = (args) => {
|
|
126
104
|
const auditEventEntity = new AuditEventEntity();
|
|
127
|
-
auditEventEntity.type = ssi_types_1.LoggingEventType.AUDIT;
|
|
128
105
|
auditEventEntity.timestamp = args.timestamp;
|
|
129
106
|
auditEventEntity.level = args.level;
|
|
130
107
|
auditEventEntity.correlationId = args.correlationId;
|
|
@@ -146,32 +123,4 @@ const auditEventEntityFrom = (args) => {
|
|
|
146
123
|
return auditEventEntity;
|
|
147
124
|
};
|
|
148
125
|
exports.auditEventEntityFrom = auditEventEntityFrom;
|
|
149
|
-
const activityEventEntityFrom = (args) => {
|
|
150
|
-
const activityEventEntity = new AuditEventEntity();
|
|
151
|
-
activityEventEntity.type = ssi_types_1.LoggingEventType.ACTIVITY;
|
|
152
|
-
activityEventEntity.timestamp = args.timestamp;
|
|
153
|
-
activityEventEntity.level = args.level;
|
|
154
|
-
activityEventEntity.correlationId = args.correlationId;
|
|
155
|
-
activityEventEntity.system = args.system;
|
|
156
|
-
activityEventEntity.subSystemType = args.subSystemType;
|
|
157
|
-
activityEventEntity.actionType = args.actionType;
|
|
158
|
-
activityEventEntity.actionSubType = args.actionSubType;
|
|
159
|
-
activityEventEntity.initiatorType = args.initiatorType;
|
|
160
|
-
activityEventEntity.systemCorrelationIdType = args.systemCorrelationIdType;
|
|
161
|
-
activityEventEntity.systemCorrelationId = args.systemCorrelationId;
|
|
162
|
-
activityEventEntity.systemAlias = args.systemAlias;
|
|
163
|
-
activityEventEntity.partyCorrelationType = args.partyCorrelationType;
|
|
164
|
-
activityEventEntity.partyCorrelationId = args.partyCorrelationId;
|
|
165
|
-
activityEventEntity.partyAlias = args.partyAlias;
|
|
166
|
-
activityEventEntity.description = args.description;
|
|
167
|
-
activityEventEntity.partyCorrelationType = args.partyCorrelationType;
|
|
168
|
-
activityEventEntity.data = JSON.stringify(args.data);
|
|
169
|
-
activityEventEntity.sharePurpose = args.sharePurpose;
|
|
170
|
-
activityEventEntity.credentialType = args.credentialType;
|
|
171
|
-
activityEventEntity.originalCredential = args.originalCredential;
|
|
172
|
-
activityEventEntity.credentialHash = args.credentialHash;
|
|
173
|
-
activityEventEntity.diagnosticData = JSON.stringify(args.diagnosticData);
|
|
174
|
-
return activityEventEntity;
|
|
175
|
-
};
|
|
176
|
-
exports.activityEventEntityFrom = activityEventEntityFrom;
|
|
177
126
|
//# sourceMappingURL=AuditEventEntity.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuditEventEntity.js","sourceRoot":"","sources":["../../../src/entities/eventLogger/AuditEventEntity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"AuditEventEntity.js","sourceRoot":"","sources":["../../../src/entities/eventLogger/AuditEventEntity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mDAAoI;AACpI,qCAAgH;AAChH,yDAA6D;AAE7D,yEAAgE;AAGzD,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,oBAAU;CA4D/C,CAAA;AA5DY,4CAAgB;AAE3B;IADC,IAAA,gCAAsB,EAAC,MAAM,CAAC;;4CACpB;AAGX;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAA,sCAAe,GAAE,EAAE,CAAC;8BAC3E,IAAI;mDAAA;AAGhB;IADC,IAAA,gBAAM,EAAC,aAAa,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,oBAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;;+CACzE;AAGhB;IADC,IAAA,gBAAM,EAAC,MAAM,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;;uDACpD;AAGtB;IADC,IAAA,gBAAM,EAAC,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,kBAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;;gDACzE;AAGf;IADC,IAAA,gBAAM,EAAC,aAAa,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,qBAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;;uDACzE;AAGzB;IADC,IAAA,gBAAM,EAAC,aAAa,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,sBAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;;oDACzE;AAGvB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;;uDACtD;AAG7B;IADC,IAAA,gBAAM,EAAC,aAAa,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,yBAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;;uDACzE;AAG7B;IADC,IAAA,gBAAM,EAAC,aAAa,EAAE,EAAE,IAAI,EAAE,yBAAyB,EAAE,IAAI,EAAE,mCAAuB,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;;iEACxE;AAGjD;IADC,IAAA,gBAAM,EAAC,MAAM,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;;6DACnD;AAG5B;IADC,IAAA,gBAAM,EAAC,MAAM,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;;qDACnD;AAGpB;IADC,IAAA,gBAAM,EAAC,aAAa,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,mCAAoB,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;;8DACxE;AAG3C;IADC,IAAA,gBAAM,EAAC,MAAM,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;;4DACnD;AAG3B;IADC,IAAA,gBAAM,EAAC,MAAM,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;;oDACnD;AAGnB;IADC,IAAA,gBAAM,EAAC,MAAM,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;;qDACpD;AAGpB;IADC,IAAA,gBAAM,EAAC,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;;8CACnD;AAGb;IADC,IAAA,gBAAM,EAAC,MAAM,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;;wDACnD;AAGvB;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,IAAA,sCAAe,GAAE,EAAE,CAAC;8BACvE,IAAI;mDAAA;AAGhB;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,IAAA,sCAAe,GAAE,EAAE,CAAC;8BACxE,IAAI;uDAAA;2BA3DT,gBAAgB;IAD5B,IAAA,gBAAM,EAAC,aAAa,CAAC;GACT,gBAAgB,CA4D5B;AAEM,MAAM,oBAAoB,GAAG,CAAC,IAAmC,EAAoB,EAAE;IAC5F,MAAM,gBAAgB,GAAqB,IAAI,gBAAgB,EAAE,CAAA;IACjE,gBAAgB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAA;IAC3C,gBAAgB,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;IACnC,gBAAgB,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAA;IACnD,gBAAgB,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;IACrC,gBAAgB,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAA;IACnD,gBAAgB,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAA;IAC7C,gBAAgB,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAA;IACnD,gBAAgB,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAA;IACnD,gBAAgB,CAAC,uBAAuB,GAAG,IAAI,CAAC,uBAAuB,CAAA;IACvE,gBAAgB,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAA;IAC/D,gBAAgB,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAA;IAC/C,gBAAgB,CAAC,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAA;IACjE,gBAAgB,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAA;IAC7D,gBAAgB,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAA;IAC7C,gBAAgB,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAA;IAC/C,gBAAgB,CAAC,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAA;IACjE,gBAAgB,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACjD,gBAAgB,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;IAErE,OAAO,gBAAgB,CAAA;AACzB,CAAC,CAAA;AAtBY,QAAA,oBAAoB,wBAsBhC"}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
import { GetAuditEventsArgs,
|
|
2
|
-
import {
|
|
1
|
+
import { GetAuditEventsArgs, StoreAuditEventArgs } from '../types';
|
|
2
|
+
import { AuditLoggingEvent } from '@sphereon/ssi-sdk.core';
|
|
3
3
|
export declare abstract class AbstractEventLoggerStore {
|
|
4
4
|
abstract getAuditEvents(args: GetAuditEventsArgs): Promise<Array<AuditLoggingEvent>>;
|
|
5
|
-
abstract getActivityEvents(args: GetAuditEventsArgs): Promise<Array<AuditLoggingEvent>>;
|
|
6
5
|
abstract storeAuditEvent(args: StoreAuditEventArgs): Promise<AuditLoggingEvent>;
|
|
7
|
-
abstract storeActivityEvent(args: StoreActivityEventArgs): Promise<ActivityLoggingEvent>;
|
|
8
6
|
}
|
|
9
7
|
//# sourceMappingURL=AbstractEventLoggerStore.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractEventLoggerStore.d.ts","sourceRoot":"","sources":["../../src/eventLogger/AbstractEventLoggerStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,
|
|
1
|
+
{"version":3,"file":"AbstractEventLoggerStore.d.ts","sourceRoot":"","sources":["../../src/eventLogger/AbstractEventLoggerStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAE1D,8BAAsB,wBAAwB;IAC5C,QAAQ,CAAC,cAAc,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACpF,QAAQ,CAAC,eAAe,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,iBAAiB,CAAC;CAChF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractEventLoggerStore.js","sourceRoot":"","sources":["../../src/eventLogger/AbstractEventLoggerStore.ts"],"names":[],"mappings":";;;AAGA,MAAsB,wBAAwB;
|
|
1
|
+
{"version":3,"file":"AbstractEventLoggerStore.js","sourceRoot":"","sources":["../../src/eventLogger/AbstractEventLoggerStore.ts"],"names":[],"mappings":";;;AAGA,MAAsB,wBAAwB;CAG7C;AAHD,4DAGC"}
|
|
@@ -1,16 +1,13 @@
|
|
|
1
1
|
import { DataSource } from 'typeorm';
|
|
2
|
-
import {
|
|
2
|
+
import { AuditLoggingEvent } from '@sphereon/ssi-sdk.core';
|
|
3
3
|
import { OrPromise } from '@sphereon/ssi-types';
|
|
4
4
|
import { AbstractEventLoggerStore } from './AbstractEventLoggerStore';
|
|
5
|
-
import {
|
|
5
|
+
import { GetAuditEventsArgs, StoreAuditEventArgs } from '../types';
|
|
6
6
|
export declare class EventLoggerStore extends AbstractEventLoggerStore {
|
|
7
7
|
private readonly dbConnection;
|
|
8
8
|
constructor(dbConnection: OrPromise<DataSource>);
|
|
9
9
|
getAuditEvents: (args?: GetAuditEventsArgs) => Promise<Array<AuditLoggingEvent>>;
|
|
10
|
-
getActivityEvents: (args?: GetActivityEventsArgs) => Promise<Array<ActivityLoggingEvent>>;
|
|
11
10
|
storeAuditEvent: (args: StoreAuditEventArgs) => Promise<AuditLoggingEvent>;
|
|
12
|
-
storeActivityEvent: (args: StoreActivityEventArgs) => Promise<ActivityLoggingEvent>;
|
|
13
11
|
private auditEventFrom;
|
|
14
|
-
private activityEventFrom;
|
|
15
12
|
}
|
|
16
13
|
//# sourceMappingURL=EventLoggerStore.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventLoggerStore.d.ts","sourceRoot":"","sources":["../../src/eventLogger/EventLoggerStore.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"EventLoggerStore.d.ts","sourceRoot":"","sources":["../../src/eventLogger/EventLoggerStore.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAC/C,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAA;AAErE,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAIlE,qBAAa,gBAAiB,SAAQ,wBAAwB;IAC5D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAuB;gBAExC,YAAY,EAAE,SAAS,CAAC,UAAU,CAAC;IAK/C,cAAc,UAAiB,kBAAkB,KAAG,QAAQ,MAAM,iBAAiB,CAAC,CAAC,CAQpF;IAED,eAAe,SAAgB,mBAAmB,KAAG,QAAQ,iBAAiB,CAAC,CAS9E;IAED,OAAO,CAAC,cAAc,CAqBrB;CACF"}
|
|
@@ -16,7 +16,6 @@ exports.EventLoggerStore = void 0;
|
|
|
16
16
|
const debug_1 = __importDefault(require("debug"));
|
|
17
17
|
const AbstractEventLoggerStore_1 = require("./AbstractEventLoggerStore");
|
|
18
18
|
const AuditEventEntity_1 = require("../entities/eventLogger/AuditEventEntity");
|
|
19
|
-
const dist_1 = require("@sphereon/ssi-types/dist");
|
|
20
19
|
const debug = (0, debug_1.default)('sphereon:ssi-sdk:event-store');
|
|
21
20
|
class EventLoggerStore extends AbstractEventLoggerStore_1.AbstractEventLoggerStore {
|
|
22
21
|
constructor(dbConnection) {
|
|
@@ -24,31 +23,9 @@ class EventLoggerStore extends AbstractEventLoggerStore_1.AbstractEventLoggerSto
|
|
|
24
23
|
this.getAuditEvents = (args) => __awaiter(this, void 0, void 0, function* () {
|
|
25
24
|
const connection = yield this.dbConnection; // TODO apply everywhere
|
|
26
25
|
debug('Getting audit events', args);
|
|
27
|
-
const
|
|
28
|
-
if (args === null || args === void 0 ? void 0 : args.filter) {
|
|
29
|
-
args.filter.forEach((filterCondition) => {
|
|
30
|
-
Object.assign(where, filterCondition);
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
const result = yield connection.getRepository(AuditEventEntity_1.AuditEventEntity).find({
|
|
34
|
-
where,
|
|
35
|
-
});
|
|
26
|
+
const result = yield connection.getRepository(AuditEventEntity_1.AuditEventEntity).find(Object.assign({}, ((args === null || args === void 0 ? void 0 : args.filter) && { where: args === null || args === void 0 ? void 0 : args.filter })));
|
|
36
27
|
return result.map((event) => this.auditEventFrom(event));
|
|
37
28
|
});
|
|
38
|
-
this.getActivityEvents = (args) => __awaiter(this, void 0, void 0, function* () {
|
|
39
|
-
const connection = yield this.dbConnection;
|
|
40
|
-
debug('Getting activity events', args);
|
|
41
|
-
const where = {};
|
|
42
|
-
if (args === null || args === void 0 ? void 0 : args.filter) {
|
|
43
|
-
args.filter.forEach((filterCondition) => {
|
|
44
|
-
Object.assign(where, filterCondition);
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
const result = yield connection.getRepository(AuditEventEntity_1.AuditEventEntity).find({
|
|
48
|
-
where,
|
|
49
|
-
});
|
|
50
|
-
return result.map((event) => this.activityEventFrom(event));
|
|
51
|
-
});
|
|
52
29
|
this.storeAuditEvent = (args) => __awaiter(this, void 0, void 0, function* () {
|
|
53
30
|
const { event } = args;
|
|
54
31
|
const auditEventEntity = (0, AuditEventEntity_1.auditEventEntityFrom)(event);
|
|
@@ -57,19 +34,8 @@ class EventLoggerStore extends AbstractEventLoggerStore_1.AbstractEventLoggerSto
|
|
|
57
34
|
const createdResult = yield connection.getRepository(AuditEventEntity_1.AuditEventEntity).save(auditEventEntity);
|
|
58
35
|
return this.auditEventFrom(createdResult);
|
|
59
36
|
});
|
|
60
|
-
this.storeActivityEvent = (args) => __awaiter(this, void 0, void 0, function* () {
|
|
61
|
-
const { event } = args;
|
|
62
|
-
const activityEventEntity = (0, AuditEventEntity_1.activityEventEntityFrom)(event);
|
|
63
|
-
const connection = yield this.dbConnection;
|
|
64
|
-
debug('Storing activity event', activityEventEntity);
|
|
65
|
-
const createdResult = yield connection.getRepository(AuditEventEntity_1.AuditEventEntity).save(activityEventEntity);
|
|
66
|
-
return this.activityEventFrom(createdResult);
|
|
67
|
-
});
|
|
68
37
|
this.auditEventFrom = (event) => {
|
|
69
|
-
return Object.assign(Object.assign({ id: event.id,
|
|
70
|
-
};
|
|
71
|
-
this.activityEventFrom = (event) => {
|
|
72
|
-
return Object.assign(Object.assign({ id: event.id, type: dist_1.LoggingEventType.ACTIVITY, credentialType: event.credentialType, sharePurpose: event.sharePurpose, description: event.description, timestamp: event.timestamp, level: event.level, correlationId: event.correlationId, actionType: event.actionType, actionSubType: event.actionSubType, initiatorType: event.initiatorType, partyAlias: event.partyAlias, partyCorrelationId: event.partyCorrelationId, partyCorrelationType: event.partyCorrelationType, subSystemType: event.subSystemType, system: event.system, systemAlias: event.systemAlias, systemCorrelationId: event.systemCorrelationId, systemCorrelationIdType: event.systemCorrelationIdType }, (event.data && { data: JSON.parse(event.data) })), (event.diagnosticData && { diagnosticData: JSON.parse(event.diagnosticData) }));
|
|
38
|
+
return Object.assign(Object.assign({ id: event.id, description: event.description, timestamp: event.timestamp, level: event.level, correlationId: event.correlationId, actionType: event.actionType, actionSubType: event.actionSubType, initiatorType: event.initiatorType, partyAlias: event.partyAlias, partyCorrelationId: event.partyCorrelationId, partyCorrelationType: event.partyCorrelationType, subSystemType: event.subSystemType, system: event.system, systemAlias: event.systemAlias, systemCorrelationId: event.systemCorrelationId, systemCorrelationIdType: event.systemCorrelationIdType }, (event.data && { data: JSON.parse(event.data) })), (event.diagnosticData && { diagnosticData: JSON.parse(event.diagnosticData) }));
|
|
73
39
|
};
|
|
74
40
|
this.dbConnection = dbConnection;
|
|
75
41
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventLoggerStore.js","sourceRoot":"","sources":["../../src/eventLogger/EventLoggerStore.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,kDAAuC;AAIvC,yEAAqE;AACrE,+
|
|
1
|
+
{"version":3,"file":"EventLoggerStore.js","sourceRoot":"","sources":["../../src/eventLogger/EventLoggerStore.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,kDAAuC;AAIvC,yEAAqE;AACrE,+EAAiG;AAGjG,MAAM,KAAK,GAAa,IAAA,eAAK,EAAC,8BAA8B,CAAC,CAAA;AAE7D,MAAa,gBAAiB,SAAQ,mDAAwB;IAG5D,YAAY,YAAmC;QAC7C,KAAK,EAAE,CAAA;QAIT,mBAAc,GAAG,CAAO,IAAyB,EAAqC,EAAE;YACtF,MAAM,UAAU,GAAe,MAAM,IAAI,CAAC,YAAY,CAAA,CAAC,wBAAwB;YAC/E,KAAK,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAA;YACnC,MAAM,MAAM,GAA4B,MAAM,UAAU,CAAC,aAAa,CAAC,mCAAgB,CAAC,CAAC,IAAI,mBACxF,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,KAAI,EAAE,KAAK,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,EAAE,CAAC,EAC5C,CAAA;YAEF,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAuB,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAA;QAC5E,CAAC,CAAA,CAAA;QAED,oBAAe,GAAG,CAAO,IAAyB,EAA8B,EAAE;YAChF,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAA;YAEtB,MAAM,gBAAgB,GAAqB,IAAA,uCAAoB,EAAC,KAAK,CAAC,CAAA;YACtE,MAAM,UAAU,GAAe,MAAM,IAAI,CAAC,YAAY,CAAA;YACtD,KAAK,CAAC,qBAAqB,EAAE,gBAAgB,CAAC,CAAA;YAC9C,MAAM,aAAa,GAAqB,MAAM,UAAU,CAAC,aAAa,CAAC,mCAAgB,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;YAE/G,OAAO,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,CAAA;QAC3C,CAAC,CAAA,CAAA;QAEO,mBAAc,GAAG,CAAC,KAAuB,EAAqB,EAAE;YACtE,qCACE,EAAE,EAAE,KAAK,CAAC,EAAE,EACZ,WAAW,EAAE,KAAK,CAAC,WAAW,EAC9B,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,aAAa,EAAE,KAAK,CAAC,aAAa,EAClC,UAAU,EAAE,KAAK,CAAC,UAAU,EAC5B,aAAa,EAAE,KAAK,CAAC,aAAa,EAClC,aAAa,EAAE,KAAK,CAAC,aAAa,EAClC,UAAU,EAAE,KAAK,CAAC,UAAU,EAC5B,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,EAC5C,oBAAoB,EAAE,KAAK,CAAC,oBAAoB,EAChD,aAAa,EAAE,KAAK,CAAC,aAAa,EAClC,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,WAAW,EAAE,KAAK,CAAC,WAAW,EAC9B,mBAAmB,EAAE,KAAK,CAAC,mBAAmB,EAC9C,uBAAuB,EAAE,KAAK,CAAC,uBAAuB,IACnD,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,GAChD,CAAC,KAAK,CAAC,cAAc,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC,EAClF;QACH,CAAC,CAAA;QA7CC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;IAClC,CAAC;CA6CF;AAnDD,4CAmDC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"1701634812183-CreateAuditEvents.d.ts","sourceRoot":"","sources":["../../../src/migrations/postgres/1701634812183-CreateAuditEvents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAEzD,qBAAa,8BAA+B,YAAW,kBAAkB;IACvE,IAAI,SAAmC;IAE1B,EAAE,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"1701634812183-CreateAuditEvents.d.ts","sourceRoot":"","sources":["../../../src/migrations/postgres/1701634812183-CreateAuditEvents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAEzD,qBAAa,8BAA+B,YAAW,kBAAkB;IACvE,IAAI,SAAmC;IAE1B,EAAE,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB3C,IAAI,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;CAU3D"}
|
|
@@ -23,35 +23,7 @@ class CreateAuditEvents1701634812183 {
|
|
|
23
23
|
yield queryRunner.query(`CREATE TYPE "public"."Initiator_type_enum" AS ENUM('user', 'system', 'external')`);
|
|
24
24
|
yield queryRunner.query(`CREATE TYPE "public"."System_correlation_id_type_enum" AS ENUM('did', 'email', 'hostname', 'phone', 'user')`);
|
|
25
25
|
yield queryRunner.query(`CREATE TYPE "public"."Party_correlation_type_enum" AS ENUM('did', 'email', 'hostname', 'phone')`);
|
|
26
|
-
yield queryRunner.query(`CREATE
|
|
27
|
-
yield queryRunner.query(`CREATE TYPE "public"."Event_credential_type_enum" AS ENUM('JSON_LD', 'JWT', 'SD_JWT', 'MSO_MDOC')`);
|
|
28
|
-
yield queryRunner.query(`CREATE TABLE "AuditEvents" (
|
|
29
|
-
"id" uuid NOT NULL DEFAULT uuid_generate_v4(),
|
|
30
|
-
"eventType" "public"."Event_type_enum" NOT NULL,
|
|
31
|
-
"timestamp" TIMESTAMP NOT NULL,
|
|
32
|
-
"level" "public"."Level_enum" NOT NULL,
|
|
33
|
-
"correlationId" TEXT NOT NULL,
|
|
34
|
-
"system" "public"."System_enum" NOT NULL,
|
|
35
|
-
"subSystemType" "public"."Subsystem_type_enum" NOT NULL,
|
|
36
|
-
"actionType" "public"."Action_type_enum" NOT NULL,
|
|
37
|
-
"actionSubType" TEXT NOT NULL,
|
|
38
|
-
"initiatorType" "public"."Initiator_type_enum" NOT NULL,
|
|
39
|
-
"systemCorrelationIdType" "public"."System_correlation_id_type_enum",
|
|
40
|
-
"systemCorrelationId" TEXT,
|
|
41
|
-
"systemAlias" TEXT,
|
|
42
|
-
"partyCorrelationType" "public"."Party_correlation_type_enum",
|
|
43
|
-
"partyCorrelationId" TEXT,
|
|
44
|
-
"partyAlias" TEXT,
|
|
45
|
-
"credentialType" "public"."Event_credential_type_enum",
|
|
46
|
-
"credentialHash" TEXT,
|
|
47
|
-
"originalCredential" TEXT,
|
|
48
|
-
"sharePurpose" TEXT,
|
|
49
|
-
"description" TEXT NOT NULL,
|
|
50
|
-
"data" TEXT,
|
|
51
|
-
"diagnosticData" TEXT,
|
|
52
|
-
"created_at" TIMESTAMP NOT NULL DEFAULT now(),
|
|
53
|
-
"last_updated_at" TIMESTAMP NOT NULL DEFAULT now(),
|
|
54
|
-
CONSTRAINT "PK_AuditEvents_id" PRIMARY KEY ("id"))`);
|
|
26
|
+
yield queryRunner.query(`CREATE TABLE "AuditEvents" ("id" uuid NOT NULL DEFAULT uuid_generate_v4(), "timestamp" TIMESTAMP NOT NULL, "level" "public"."Level_enum" NOT NULL, "correlationId" TEXT NOT NULL, "system" "public"."System_enum" NOT NULL, "subSystemType" "public"."Subsystem_type_enum" NOT NULL, "actionType" "public"."Action_type_enum" NOT NULL, "actionSubType" TEXT NOT NULL, "initiatorType" "public"."Initiator_type_enum" NOT NULL, "systemCorrelationIdType" "public"."System_correlation_id_type_enum", "systemCorrelationId" TEXT, "systemAlias" TEXT, "partyCorrelationType" "public"."Party_correlation_type_enum", "partyCorrelationId" TEXT, "partyAlias" TEXT, "description" TEXT NOT NULL, "data" TEXT, "diagnosticData" TEXT, "created_at" TIMESTAMP NOT NULL DEFAULT now(), "last_updated_at" TIMESTAMP NOT NULL DEFAULT now(), CONSTRAINT "PK_AuditEvents_id" PRIMARY KEY ("id"))`);
|
|
55
27
|
});
|
|
56
28
|
}
|
|
57
29
|
down(queryRunner) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"1701634812183-CreateAuditEvents.js","sourceRoot":"","sources":["../../../src/migrations/postgres/1701634812183-CreateAuditEvents.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,MAAa,8BAA8B;IAA3C;QACE,SAAI,GAAG,gCAAgC,CAAA;
|
|
1
|
+
{"version":3,"file":"1701634812183-CreateAuditEvents.js","sourceRoot":"","sources":["../../../src/migrations/postgres/1701634812183-CreateAuditEvents.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,MAAa,8BAA8B;IAA3C;QACE,SAAI,GAAG,gCAAgC,CAAA;IA6BzC,CAAC;IA3Bc,EAAE,CAAC,WAAwB;;YACtC,MAAM,WAAW,CAAC,KAAK,CAAC,+DAA+D,CAAC,CAAA;YACxF,MAAM,WAAW,CAAC,KAAK,CACrB,kIAAkI,CACnI,CAAA;YACD,MAAM,WAAW,CAAC,KAAK,CACrB,gOAAgO,CACjO,CAAA;YACD,MAAM,WAAW,CAAC,KAAK,CAAC,kGAAkG,CAAC,CAAA;YAC3H,MAAM,WAAW,CAAC,KAAK,CAAC,kFAAkF,CAAC,CAAA;YAC3G,MAAM,WAAW,CAAC,KAAK,CAAC,6GAA6G,CAAC,CAAA;YACtI,MAAM,WAAW,CAAC,KAAK,CAAC,iGAAiG,CAAC,CAAA;YAC1H,MAAM,WAAW,CAAC,KAAK,CACrB,21BAA21B,CAC51B,CAAA;QACH,CAAC;KAAA;IAEY,IAAI,CAAC,WAAwB;;YACxC,MAAM,WAAW,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAA;YACnD,MAAM,WAAW,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAA;YAC3E,MAAM,WAAW,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAA;YAC/E,MAAM,WAAW,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAA;YACnE,MAAM,WAAW,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAA;YAChE,MAAM,WAAW,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAA;YACnE,MAAM,WAAW,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAA;YAC3D,MAAM,WAAW,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAA;QAC5D,CAAC;KAAA;CACF;AA9BD,wEA8BC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"1701634819487-CreateAuditEvents.d.ts","sourceRoot":"","sources":["../../../src/migrations/sqlite/1701634819487-CreateAuditEvents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAEzD,qBAAa,8BAA+B,YAAW,kBAAkB;IACvE,IAAI,SAAmC;IAE1B,EAAE,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"1701634819487-CreateAuditEvents.d.ts","sourceRoot":"","sources":["../../../src/migrations/sqlite/1701634819487-CreateAuditEvents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAEzD,qBAAa,8BAA+B,YAAW,kBAAkB;IACvE,IAAI,SAAmC;IAE1B,EAAE,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAM3C,IAAI,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;CAG3D"}
|
|
@@ -16,31 +16,7 @@ class CreateAuditEvents1701634819487 {
|
|
|
16
16
|
}
|
|
17
17
|
up(queryRunner) {
|
|
18
18
|
return __awaiter(this, void 0, void 0, function* () {
|
|
19
|
-
yield queryRunner.query(`CREATE TABLE "AuditEvents" (
|
|
20
|
-
"id" varchar PRIMARY KEY NOT NULL,
|
|
21
|
-
"eventType" varchar CHECK( "eventType" IN ('audit', 'activity', 'general') ) NOT NULL,
|
|
22
|
-
"timestamp" datetime NOT NULL,
|
|
23
|
-
"level" varchar CHECK( "level" IN ('0','1','2','3') ) NOT NULL,
|
|
24
|
-
"correlationId" varchar NOT NULL,
|
|
25
|
-
"system" varchar CHECK( "system" IN ('general','kms','identity','oid4vci','credentials','web3','profile','contact') ) NOT NULL,
|
|
26
|
-
"subSystemType" varchar CHECK( "subSystemType" IN ('key','did_provider','did_resolver','oid4vp_op','oid4vci_client','siopv2_op','contact_manager','vc_issuer','vc_verifier','vc_persistence','transport','profile') ) NOT NULL,
|
|
27
|
-
"actionType" varchar CHECK( "actionType" IN ('create','read','update','delete','execute') ) NOT NULL,
|
|
28
|
-
"actionSubType" varchar NOT NULL, "initiatorType" varchar CHECK( "initiatorType" IN ('user','system','external') ) NOT NULL,
|
|
29
|
-
"systemCorrelationIdType" varchar CHECK( "systemCorrelationIdType" IN ('did','email','hostname','phone','user') ),
|
|
30
|
-
"systemCorrelationId" varchar,
|
|
31
|
-
"systemAlias" varchar,
|
|
32
|
-
"partyCorrelationType" varchar CHECK( "partyCorrelationType" IN ('did','email','hostname','phone') ),
|
|
33
|
-
"partyCorrelationId" varchar,
|
|
34
|
-
"partyAlias" varchar,
|
|
35
|
-
"credentialType" varchar CHECK( "credentialType" IN ('JSON_LD', 'JWT', 'SD_JWT', 'MSO_MDOC') ),
|
|
36
|
-
"credentialHash" varchar,
|
|
37
|
-
"originalCredential" varchar,
|
|
38
|
-
"sharePurpose" varchar,
|
|
39
|
-
"description" varchar NOT NULL,
|
|
40
|
-
"data" varchar,
|
|
41
|
-
"diagnosticData" varchar,
|
|
42
|
-
"created_at" datetime NOT NULL DEFAULT (datetime('now')),
|
|
43
|
-
"last_updated_at" datetime NOT NULL DEFAULT (datetime('now')))`);
|
|
19
|
+
yield queryRunner.query(`CREATE TABLE "AuditEvents" ("id" varchar PRIMARY KEY NOT NULL, "timestamp" datetime NOT NULL, "level" varchar CHECK( "level" IN ('0','1','2','3') ) NOT NULL, "correlationId" varchar NOT NULL, "system" varchar CHECK( "system" IN ('general','kms','identity','oid4vci','credentials','web3','profile','contact') ) NOT NULL, "subSystemType" varchar CHECK( "subSystemType" IN ('key','did_provider','did_resolver','oid4vp_op','oid4vci_client','siopv2_op','contact_manager','vc_issuer','vc_verifier','vc_persistence','transport','profile') ) NOT NULL, "actionType" varchar CHECK( "actionType" IN ('create','read','update','delete','execute') ) NOT NULL, "actionSubType" varchar NOT NULL, "initiatorType" varchar CHECK( "initiatorType" IN ('user','system','external') ) NOT NULL, "systemCorrelationIdType" varchar CHECK( "systemCorrelationIdType" IN ('did','email','hostname','phone','user') ), "systemCorrelationId" varchar, "systemAlias" varchar, "partyCorrelationType" varchar CHECK( "partyCorrelationType" IN ('did','email','hostname','phone') ), "partyCorrelationId" varchar, "partyAlias" varchar, "description" varchar NOT NULL, "data" varchar, "diagnosticData" varchar, "created_at" datetime NOT NULL DEFAULT (datetime('now')), "last_updated_at" datetime NOT NULL DEFAULT (datetime('now')))`);
|
|
44
20
|
});
|
|
45
21
|
}
|
|
46
22
|
down(queryRunner) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"1701634819487-CreateAuditEvents.js","sourceRoot":"","sources":["../../../src/migrations/sqlite/1701634819487-CreateAuditEvents.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,MAAa,8BAA8B;IAA3C;QACE,SAAI,GAAG,gCAAgC,CAAA;
|
|
1
|
+
{"version":3,"file":"1701634819487-CreateAuditEvents.js","sourceRoot":"","sources":["../../../src/migrations/sqlite/1701634819487-CreateAuditEvents.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,MAAa,8BAA8B;IAA3C;QACE,SAAI,GAAG,gCAAgC,CAAA;IAWzC,CAAC;IATc,EAAE,CAAC,WAAwB;;YACtC,MAAM,WAAW,CAAC,KAAK,CACrB,0wCAA0wC,CAC3wC,CAAA;QACH,CAAC;KAAA;IAEY,IAAI,CAAC,WAAwB;;YACxC,MAAM,WAAW,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAA;QACrD,CAAC;KAAA;CACF;AAZD,wEAYC"}
|
|
@@ -1,17 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { PartialAuditLoggingEvent } from '@sphereon/ssi-sdk.core';
|
|
2
|
+
import { NonPersistedAuditLoggingEvent } from './eventLogger';
|
|
3
3
|
export type FindAuditLoggingEventArgs = Array<PartialAuditLoggingEvent>;
|
|
4
|
-
export type FindActivityLoggingEventArgs = Array<PartialActivityLoggingEvent>;
|
|
5
4
|
export type StoreAuditEventArgs = {
|
|
6
5
|
event: NonPersistedAuditLoggingEvent;
|
|
7
6
|
};
|
|
8
|
-
export type StoreActivityEventArgs = {
|
|
9
|
-
event: NonPersistedActivityLoggingEvent;
|
|
10
|
-
};
|
|
11
7
|
export type GetAuditEventsArgs = {
|
|
12
8
|
filter?: FindAuditLoggingEventArgs;
|
|
13
9
|
};
|
|
14
|
-
export type GetActivityEventsArgs = {
|
|
15
|
-
filter?: FindActivityLoggingEventArgs;
|
|
16
|
-
};
|
|
17
10
|
//# sourceMappingURL=IAbstractEventLoggerStore.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IAbstractEventLoggerStore.d.ts","sourceRoot":"","sources":["../../../src/types/eventLogger/IAbstractEventLoggerStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"IAbstractEventLoggerStore.d.ts","sourceRoot":"","sources":["../../../src/types/eventLogger/IAbstractEventLoggerStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAA;AACjE,OAAO,EAAE,6BAA6B,EAAE,MAAM,eAAe,CAAA;AAE7D,MAAM,MAAM,yBAAyB,GAAG,KAAK,CAAC,wBAAwB,CAAC,CAAA;AAEvE,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,EAAE,6BAA6B,CAAA;CACrC,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,CAAC,EAAE,yBAAyB,CAAA;CACnC,CAAA"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AuditLoggingEvent } from '@sphereon/ssi-sdk.core';
|
|
2
2
|
export type NonPersistedAuditLoggingEvent = Omit<AuditLoggingEvent, 'id'>;
|
|
3
|
-
export type NonPersistedActivityLoggingEvent = Omit<ActivityLoggingEvent, 'id'>;
|
|
4
3
|
//# sourceMappingURL=eventLogger.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eventLogger.d.ts","sourceRoot":"","sources":["../../../src/types/eventLogger/eventLogger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"eventLogger.d.ts","sourceRoot":"","sources":["../../../src/types/eventLogger/eventLogger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAE1D,MAAM,MAAM,6BAA6B,GAAG,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sphereon/ssi-sdk.data-store",
|
|
3
|
-
"version": "0.30.2-unstable.
|
|
3
|
+
"version": "0.30.2-unstable.6+078276dc",
|
|
4
4
|
"source": "src/index.ts",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -15,12 +15,12 @@
|
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
17
|
"@sphereon/kmp-mdl-mdoc": "0.2.0-SNAPSHOT.22",
|
|
18
|
-
"@sphereon/pex": "5.0.0-unstable.
|
|
19
|
-
"@sphereon/ssi-sdk-ext.did-utils": "0.24.1-unstable.
|
|
20
|
-
"@sphereon/ssi-sdk-ext.identifier-resolution": "0.24.1-unstable.
|
|
21
|
-
"@sphereon/ssi-sdk.agent-config": "0.30.2-unstable.
|
|
22
|
-
"@sphereon/ssi-sdk.core": "0.30.2-unstable.
|
|
23
|
-
"@sphereon/ssi-types": "0.30.2-unstable.
|
|
18
|
+
"@sphereon/pex": "5.0.0-unstable.10",
|
|
19
|
+
"@sphereon/ssi-sdk-ext.did-utils": "0.24.1-unstable.134",
|
|
20
|
+
"@sphereon/ssi-sdk-ext.identifier-resolution": "0.24.1-unstable.134",
|
|
21
|
+
"@sphereon/ssi-sdk.agent-config": "0.30.2-unstable.6+078276dc",
|
|
22
|
+
"@sphereon/ssi-sdk.core": "0.30.2-unstable.6+078276dc",
|
|
23
|
+
"@sphereon/ssi-types": "0.30.2-unstable.6+078276dc",
|
|
24
24
|
"@veramo/core": "4.2.0",
|
|
25
25
|
"@veramo/utils": "4.2.0",
|
|
26
26
|
"blakejs": "^1.2.1",
|
|
@@ -53,5 +53,5 @@
|
|
|
53
53
|
"PostgreSQL",
|
|
54
54
|
"Contact Store"
|
|
55
55
|
],
|
|
56
|
-
"gitHead": "
|
|
56
|
+
"gitHead": "078276dc88945f3b759bcad6f108de94f06dd7a5"
|
|
57
57
|
}
|
|
@@ -4,15 +4,13 @@ import { DataStoreDigitalCredentialMigrations } from '../migrations'
|
|
|
4
4
|
import { CredentialRole, DataStoreDigitalCredentialEntities } from '../index'
|
|
5
5
|
import { DigitalCredentialStore } from '../digitalCredential/DigitalCredentialStore'
|
|
6
6
|
import {
|
|
7
|
-
AddCredentialArgs,
|
|
8
7
|
CredentialCorrelationType,
|
|
9
8
|
CredentialDocumentFormat,
|
|
10
9
|
CredentialStateType,
|
|
11
10
|
DocumentType,
|
|
12
11
|
DigitalCredential,
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
} from '../types'
|
|
12
|
+
} from '../types/digitalCredential/digitalCredential'
|
|
13
|
+
import { AddCredentialArgs, GetCredentialsArgs, GetCredentialsResponse } from '../types/digitalCredential/IAbstractDigitalCredentialStore'
|
|
16
14
|
import { IVerifiablePresentation } from '@sphereon/ssi-types'
|
|
17
15
|
import { createHash } from 'crypto'
|
|
18
16
|
|
|
@@ -249,79 +247,6 @@ describe('Database entities tests', (): void => {
|
|
|
249
247
|
expect(result).toEqual(true)
|
|
250
248
|
})
|
|
251
249
|
|
|
252
|
-
it('should delete stored digital credential with children', async (): Promise<void> => {
|
|
253
|
-
const rawCredential: string =
|
|
254
|
-
'eyJraWQiOiJkaWQ6a2V5Ono2TWtyaGt5M3B1c20yNk1laUZhWFUzbjJuZWtyYW13RlVtZ0dyZUdHa0RWNnpRaiN6Nk1rcmhreTNwdXNtMjZNZWlGYVhVM24ybmVrcmFtd0ZVbWdHcmVHR2tEVjZ6UWoiLCJhbGciOiJFZERTQSIsInR5cCI6IkpXVCJ9.eyJ2YyI6eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvMjAxOC9jcmVkZW50aWFscy92MSIsImh0dHBzOi8vc3BoZXJlb24tb3BlbnNvdXJjZS5naXRodWIuaW8vc3NpLW1vYmlsZS13YWxsZXQvY29udGV4dC9zcGhlcmVvbi13YWxsZXQtaWRlbnRpdHktdjEuanNvbmxkIl0sInR5cGUiOlsiVmVyaWZpYWJsZUNyZWRlbnRpYWwiLCJTcGhlcmVvbldhbGxldElkZW50aXR5Q3JlZGVudGlhbCJdLCJjcmVkZW50aWFsU3ViamVjdCI6eyJmaXJzdE5hbWUiOiJTIiwibGFzdE5hbWUiOiJLIiwiZW1haWxBZGRyZXNzIjoic0BrIn19LCJzdWIiOiJ1cm46dXVpZDpkZGE3YmYyNC04ZTdhLTQxZjgtYjY2Yy1hNDhkYmM1YjEwZmEiLCJqdGkiOiJ1cm46dXVpZDpkZGE3YmYyNC04ZTdhLTQxZjgtYjY2Yy1hNDhkYmM1YjEwZmEiLCJuYmYiOjE3MDg0NDA4MDgsImlzcyI6ImRpZDprZXk6ejZNa3Joa3kzcHVzbTI2TWVpRmFYVTNuMm5la3JhbXdGVW1nR3JlR0drRFY2elFqIn0.G0M84XVAxSmzGY-NQuB9NBofNrINSn6lvxW6761Vlq6ypvYgtc2xNdpiRmw8ryVNfnpzrr4Z5cB1RlrC05rJAw'
|
|
255
|
-
const digitalCredential1: AddCredentialArgs = {
|
|
256
|
-
rawDocument: rawCredential,
|
|
257
|
-
kmsKeyRef: 'testRef',
|
|
258
|
-
identifierMethod: 'did',
|
|
259
|
-
issuerCorrelationType: CredentialCorrelationType.DID,
|
|
260
|
-
subjectCorrelationType: CredentialCorrelationType.DID,
|
|
261
|
-
issuerCorrelationId: 'did:key:z6Mkrhky3pusm26MeiFaXU3n2nekramwFUmgGreGGkDV6zQj',
|
|
262
|
-
subjectCorrelationId: 'did:key:z6Mkrhky3pusm26MeiFaXU3n2nekramwFUmgGreGGkDV6zQj',
|
|
263
|
-
credentialRole: CredentialRole.VERIFIER,
|
|
264
|
-
tenantId: 'urn:uuid:nnag4b43-1e7a-98f8-a32c-a48dbc5b10mj',
|
|
265
|
-
}
|
|
266
|
-
|
|
267
|
-
const parentCredential: DigitalCredential = await digitalCredentialStore.addCredential(digitalCredential1)
|
|
268
|
-
|
|
269
|
-
const digitalCredential2: AddCredentialArgs = {
|
|
270
|
-
rawDocument:
|
|
271
|
-
'eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NksiLCJraWQiOiJkaWQ6dmVsb2NpdHk6djI6MHhjMTY3MTUxNmMyMTQ1ZDcwYjM0MGY1NjBhYjFjYjU4Y2M0ZDhhMDUyOjE2Mzc4MjY4NTEwMzM4MToxOTg2I2tleS0xIn0.eyJ2YyI6eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvMjAxOC9jcmVkZW50aWFscy92MSJdLCJ0eXBlIjpbIk9wZW5CYWRnZUNyZWRlbnRpYWwiLCJWZXJpZmlhYmxlQ3JlZGVudGlhbCIsIlZlcmlmaWFibGVDcmVkZW50aWFsIl0sImlkIjoiZGlkOnZlbG9jaXR5OnYyOjB4YzE2NzE1MTZjMjE0NWQ3MGIzNDBmNTYwYWIxY2I1OGNjNGQ4YTA1MjoxNjM3ODI2ODUxMDMzODE6MTk4NiIsImNyZWRlbnRpYWxTdGF0dXMiOnsidHlwZSI6IlZlbG9jaXR5UmV2b2NhdGlvbkxpc3RKYW4yMDIxIiwiaWQiOiJldGhlcmV1bToweDFDMjk0NjFDNzQ4MGQxZDg1NzBkZjdjMEE0RjMxNEQwYkU4Y0Q1QmYvZ2V0UmV2b2tlZFN0YXR1cz9hZGRyZXNzPTB4YzE2NzE1MTZDMjE0NUQ3MEIzNDBGNTYwQUIxQ0I1OENjNEQ4YTA1MiZsaXN0SWQ9NTI5NDcyODgxNzIzMTQmaW5kZXg9NTYyNCJ9LCJsaW5rQ29kZUNvbW1pdG1lbnQiOnsidHlwZSI6IlZlbG9jaXR5Q3JlZGVudGlhbExpbmtDb2RlQ29tbWl0bWVudDIwMjIiLCJ2YWx1ZSI6IkVpQ3dJQmRUcmE4MVkyMjEzSVNJSXo0UDh5ejNvNDlXMStYczRmczVIc1BvMXc9PSJ9LCJpc3N1ZXIiOnsiaWQiOiJkaWQ6aW9uOkVpQmFLaWRocEhma2ZzZWpaT1UxY09YVnlhdnE4WUtfaFJfTGgwX1dCNTVQX0EifSwiY29udGVudEhhc2giOnsidHlwZSI6IlZlbG9jaXR5Q29udGVudEhhc2gyMDIwIiwidmFsdWUiOiJkNWUzMGI5Y2FlNDljYjM5MjRjZjVhZjIwMDUwOTE4ZWZjZDQ4ZTk2MzAzZTZhMDQ4NmQzZmE0ODk4NjQ1NDFlIn0sImNyZWRlbnRpYWxTY2hlbWEiOnsiaWQiOiJodHRwczovL3N0YWdpbmdyZWdpc3RyYXIudmVsb2NpdHluZXR3b3JrLmZvdW5kYXRpb24vc2NoZW1hcy9vcGVuLWJhZGdlLWNyZWRlbnRpYWwuc2NoZW1hLmpzb24iLCJ0eXBlIjoiSnNvblNjaGVtYVZhbGlkYXRvcjIwMTgifSwiY29uc2VudGVkQXQiOiIyMDIyLTExLTA3VDIxOjI0OjQ3LjcwM1oiLCJjcmVkZW50aWFsU3ViamVjdCI6eyJpZCI6ImRpZDpqd2s6ZXlKamNuWWlPaUp6WldOd01qVTJhekVpTENKcmRIa2lPaUpGUXlJc0luVnpaU0k2SW5OcFp5SXNJbmdpT2lKRFdVdEdjbmxOVWpOc2RubHpiemQ0UjBKeVN6QnJRMkZZYUdwSGFXdFdMV3MxT0dGSE1GSTBTWGh6SWl3aWVTSTZJakV0TkhoTFowcFBkRlZyYjNablJqVnFjVWMxTm1KeGFtbG5UMEpUTVdGT09FZEJOMUV5YURsUlJtc2lmUSJ9LCJpc3N1YW5jZURhdGUiOiIyMDIyLTExLTA3VDIxOjI5OjI5LjIzNVoifSwibmJmIjoxNjY3ODU2NTY5LCJqdGkiOiJkaWQ6dmVsb2NpdHk6djI6MHhjMTY3MTUxNmMyMTQ1ZDcwYjM0MGY1NjBhYjFjYjU4Y2M0ZDhhMDUyOjE2Mzc4MjY4NTEwMzM4MToxOTg2IiwiaXNzIjoiZGlkOmlvbjpFaUJhS2lkaHBIZmtmc2VqWk9VMWNPWFZ5YXZxOFlLX2hSX0xoMF9XQjU1UF9BIiwic3ViIjoiZGlkOmp3azpleUpqY25ZaU9pSnpaV053TWpVMmF6RWlMQ0pyZEhraU9pSkZReUlzSW5WelpTSTZJbk5wWnlJc0luZ2lPaUpEV1V0R2NubE5Vak5zZG5semJ6ZDRSMEp5U3pCclEyRllhR3BIYVd0V0xXczFPR0ZITUZJMFNYaHpJaXdpZVNJNklqRXROSGhMWjBwUGRGVnJiM1puUmpWcWNVYzFObUp4YW1sblQwSlRNV0ZPT0VkQk4xRXlhRGxSUm1zaWZRIiwiaWF0IjoxNjY3ODU2NTY5fQ.-SiM5d7UrYn1gdj2hU5T5LnLQzhIklOtoexbyebLMeha0K89vkujsbFN4HNFP2TSfRYFt0-jXwDaZ8RNKESwFA',
|
|
272
|
-
parentId: parentCredential.id,
|
|
273
|
-
kmsKeyRef: 'testRef',
|
|
274
|
-
identifierMethod: 'did',
|
|
275
|
-
issuerCorrelationType: CredentialCorrelationType.DID,
|
|
276
|
-
subjectCorrelationType: CredentialCorrelationType.DID,
|
|
277
|
-
issuerCorrelationId: 'did:key:z1Mkrhky3pusm26MeiFaXU3n2nekramwFUmgGreGGkDV6zQj',
|
|
278
|
-
subjectCorrelationId: 'did:key:z6Mkrhky3pusm26MeiFaXU3n2nekramwFUmgGreGGkDV6zQj',
|
|
279
|
-
credentialRole: CredentialRole.VERIFIER,
|
|
280
|
-
tenantId: 'urn:uuid:nnag4b43-1e7a-98f8-a32c-a48dbc5b10mj',
|
|
281
|
-
}
|
|
282
|
-
const savedDigitalCredential2: DigitalCredential = await digitalCredentialStore.addCredential(digitalCredential2)
|
|
283
|
-
let deleteResult: boolean = await digitalCredentialStore.removeCredential({ id: parentCredential.id })
|
|
284
|
-
expect(deleteResult).toEqual(true)
|
|
285
|
-
await expect(() => digitalCredentialStore.getCredential({ id: savedDigitalCredential2.id })).rejects.toThrowError('No credential found for arg:')
|
|
286
|
-
})
|
|
287
|
-
|
|
288
|
-
it('should not delete stored parent digital credential if a child gets deleted', async (): Promise<void> => {
|
|
289
|
-
const rawCredential: string =
|
|
290
|
-
'eyJraWQiOiJkaWQ6a2V5Ono2TWtyaGt5M3B1c20yNk1laUZhWFUzbjJuZWtyYW13RlVtZ0dyZUdHa0RWNnpRaiN6Nk1rcmhreTNwdXNtMjZNZWlGYVhVM24ybmVrcmFtd0ZVbWdHcmVHR2tEVjZ6UWoiLCJhbGciOiJFZERTQSIsInR5cCI6IkpXVCJ9.eyJ2YyI6eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvMjAxOC9jcmVkZW50aWFscy92MSIsImh0dHBzOi8vc3BoZXJlb24tb3BlbnNvdXJjZS5naXRodWIuaW8vc3NpLW1vYmlsZS13YWxsZXQvY29udGV4dC9zcGhlcmVvbi13YWxsZXQtaWRlbnRpdHktdjEuanNvbmxkIl0sInR5cGUiOlsiVmVyaWZpYWJsZUNyZWRlbnRpYWwiLCJTcGhlcmVvbldhbGxldElkZW50aXR5Q3JlZGVudGlhbCJdLCJjcmVkZW50aWFsU3ViamVjdCI6eyJmaXJzdE5hbWUiOiJTIiwibGFzdE5hbWUiOiJLIiwiZW1haWxBZGRyZXNzIjoic0BrIn19LCJzdWIiOiJ1cm46dXVpZDpkZGE3YmYyNC04ZTdhLTQxZjgtYjY2Yy1hNDhkYmM1YjEwZmEiLCJqdGkiOiJ1cm46dXVpZDpkZGE3YmYyNC04ZTdhLTQxZjgtYjY2Yy1hNDhkYmM1YjEwZmEiLCJuYmYiOjE3MDg0NDA4MDgsImlzcyI6ImRpZDprZXk6ejZNa3Joa3kzcHVzbTI2TWVpRmFYVTNuMm5la3JhbXdGVW1nR3JlR0drRFY2elFqIn0.G0M84XVAxSmzGY-NQuB9NBofNrINSn6lvxW6761Vlq6ypvYgtc2xNdpiRmw8ryVNfnpzrr4Z5cB1RlrC05rJAw'
|
|
291
|
-
const digitalCredential1: AddCredentialArgs = {
|
|
292
|
-
rawDocument: rawCredential,
|
|
293
|
-
kmsKeyRef: 'testRef',
|
|
294
|
-
identifierMethod: 'did',
|
|
295
|
-
issuerCorrelationType: CredentialCorrelationType.DID,
|
|
296
|
-
subjectCorrelationType: CredentialCorrelationType.DID,
|
|
297
|
-
issuerCorrelationId: 'did:key:z6Mkrhky3pusm26MeiFaXU3n2nekramwFUmgGreGGkDV6zQj',
|
|
298
|
-
subjectCorrelationId: 'did:key:z6Mkrhky3pusm26MeiFaXU3n2nekramwFUmgGreGGkDV6zQj',
|
|
299
|
-
credentialRole: CredentialRole.VERIFIER,
|
|
300
|
-
tenantId: 'urn:uuid:nnag4b43-1e7a-98f8-a32c-a48dbc5b10mj',
|
|
301
|
-
}
|
|
302
|
-
|
|
303
|
-
const parentCredential: DigitalCredential = await digitalCredentialStore.addCredential(digitalCredential1)
|
|
304
|
-
|
|
305
|
-
const digitalCredential2: AddCredentialArgs = {
|
|
306
|
-
rawDocument:
|
|
307
|
-
'eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NksiLCJraWQiOiJkaWQ6dmVsb2NpdHk6djI6MHhjMTY3MTUxNmMyMTQ1ZDcwYjM0MGY1NjBhYjFjYjU4Y2M0ZDhhMDUyOjE2Mzc4MjY4NTEwMzM4MToxOTg2I2tleS0xIn0.eyJ2YyI6eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvMjAxOC9jcmVkZW50aWFscy92MSJdLCJ0eXBlIjpbIk9wZW5CYWRnZUNyZWRlbnRpYWwiLCJWZXJpZmlhYmxlQ3JlZGVudGlhbCIsIlZlcmlmaWFibGVDcmVkZW50aWFsIl0sImlkIjoiZGlkOnZlbG9jaXR5OnYyOjB4YzE2NzE1MTZjMjE0NWQ3MGIzNDBmNTYwYWIxY2I1OGNjNGQ4YTA1MjoxNjM3ODI2ODUxMDMzODE6MTk4NiIsImNyZWRlbnRpYWxTdGF0dXMiOnsidHlwZSI6IlZlbG9jaXR5UmV2b2NhdGlvbkxpc3RKYW4yMDIxIiwiaWQiOiJldGhlcmV1bToweDFDMjk0NjFDNzQ4MGQxZDg1NzBkZjdjMEE0RjMxNEQwYkU4Y0Q1QmYvZ2V0UmV2b2tlZFN0YXR1cz9hZGRyZXNzPTB4YzE2NzE1MTZDMjE0NUQ3MEIzNDBGNTYwQUIxQ0I1OENjNEQ4YTA1MiZsaXN0SWQ9NTI5NDcyODgxNzIzMTQmaW5kZXg9NTYyNCJ9LCJsaW5rQ29kZUNvbW1pdG1lbnQiOnsidHlwZSI6IlZlbG9jaXR5Q3JlZGVudGlhbExpbmtDb2RlQ29tbWl0bWVudDIwMjIiLCJ2YWx1ZSI6IkVpQ3dJQmRUcmE4MVkyMjEzSVNJSXo0UDh5ejNvNDlXMStYczRmczVIc1BvMXc9PSJ9LCJpc3N1ZXIiOnsiaWQiOiJkaWQ6aW9uOkVpQmFLaWRocEhma2ZzZWpaT1UxY09YVnlhdnE4WUtfaFJfTGgwX1dCNTVQX0EifSwiY29udGVudEhhc2giOnsidHlwZSI6IlZlbG9jaXR5Q29udGVudEhhc2gyMDIwIiwidmFsdWUiOiJkNWUzMGI5Y2FlNDljYjM5MjRjZjVhZjIwMDUwOTE4ZWZjZDQ4ZTk2MzAzZTZhMDQ4NmQzZmE0ODk4NjQ1NDFlIn0sImNyZWRlbnRpYWxTY2hlbWEiOnsiaWQiOiJodHRwczovL3N0YWdpbmdyZWdpc3RyYXIudmVsb2NpdHluZXR3b3JrLmZvdW5kYXRpb24vc2NoZW1hcy9vcGVuLWJhZGdlLWNyZWRlbnRpYWwuc2NoZW1hLmpzb24iLCJ0eXBlIjoiSnNvblNjaGVtYVZhbGlkYXRvcjIwMTgifSwiY29uc2VudGVkQXQiOiIyMDIyLTExLTA3VDIxOjI0OjQ3LjcwM1oiLCJjcmVkZW50aWFsU3ViamVjdCI6eyJpZCI6ImRpZDpqd2s6ZXlKamNuWWlPaUp6WldOd01qVTJhekVpTENKcmRIa2lPaUpGUXlJc0luVnpaU0k2SW5OcFp5SXNJbmdpT2lKRFdVdEdjbmxOVWpOc2RubHpiemQ0UjBKeVN6QnJRMkZZYUdwSGFXdFdMV3MxT0dGSE1GSTBTWGh6SWl3aWVTSTZJakV0TkhoTFowcFBkRlZyYjNablJqVnFjVWMxTm1KeGFtbG5UMEpUTVdGT09FZEJOMUV5YURsUlJtc2lmUSJ9LCJpc3N1YW5jZURhdGUiOiIyMDIyLTExLTA3VDIxOjI5OjI5LjIzNVoifSwibmJmIjoxNjY3ODU2NTY5LCJqdGkiOiJkaWQ6dmVsb2NpdHk6djI6MHhjMTY3MTUxNmMyMTQ1ZDcwYjM0MGY1NjBhYjFjYjU4Y2M0ZDhhMDUyOjE2Mzc4MjY4NTEwMzM4MToxOTg2IiwiaXNzIjoiZGlkOmlvbjpFaUJhS2lkaHBIZmtmc2VqWk9VMWNPWFZ5YXZxOFlLX2hSX0xoMF9XQjU1UF9BIiwic3ViIjoiZGlkOmp3azpleUpqY25ZaU9pSnpaV053TWpVMmF6RWlMQ0pyZEhraU9pSkZReUlzSW5WelpTSTZJbk5wWnlJc0luZ2lPaUpEV1V0R2NubE5Vak5zZG5semJ6ZDRSMEp5U3pCclEyRllhR3BIYVd0V0xXczFPR0ZITUZJMFNYaHpJaXdpZVNJNklqRXROSGhMWjBwUGRGVnJiM1puUmpWcWNVYzFObUp4YW1sblQwSlRNV0ZPT0VkQk4xRXlhRGxSUm1zaWZRIiwiaWF0IjoxNjY3ODU2NTY5fQ.-SiM5d7UrYn1gdj2hU5T5LnLQzhIklOtoexbyebLMeha0K89vkujsbFN4HNFP2TSfRYFt0-jXwDaZ8RNKESwFA',
|
|
308
|
-
parentId: parentCredential.id,
|
|
309
|
-
kmsKeyRef: 'testRef',
|
|
310
|
-
identifierMethod: 'did',
|
|
311
|
-
issuerCorrelationType: CredentialCorrelationType.DID,
|
|
312
|
-
subjectCorrelationType: CredentialCorrelationType.DID,
|
|
313
|
-
issuerCorrelationId: 'did:key:z1Mkrhky3pusm26MeiFaXU3n2nekramwFUmgGreGGkDV6zQj',
|
|
314
|
-
subjectCorrelationId: 'did:key:z6Mkrhky3pusm26MeiFaXU3n2nekramwFUmgGreGGkDV6zQj',
|
|
315
|
-
credentialRole: CredentialRole.VERIFIER,
|
|
316
|
-
tenantId: 'urn:uuid:nnag4b43-1e7a-98f8-a32c-a48dbc5b10mj',
|
|
317
|
-
}
|
|
318
|
-
const savedDigitalCredential2: DigitalCredential = await digitalCredentialStore.addCredential(digitalCredential2)
|
|
319
|
-
let deleteResult: boolean = await digitalCredentialStore.removeCredential({ id: savedDigitalCredential2.id })
|
|
320
|
-
expect(deleteResult).toEqual(true)
|
|
321
|
-
const fetchedCredential: DigitalCredential = await digitalCredentialStore.getCredential({ id: parentCredential.id })
|
|
322
|
-
expect(fetchedCredential.id).toEqual(parentCredential.id)
|
|
323
|
-
})
|
|
324
|
-
|
|
325
250
|
it('should not delete stored digital credential if id not found', async (): Promise<void> => {
|
|
326
251
|
const result = await digitalCredentialStore.removeCredential({ id: 'unknown_id' })
|
|
327
252
|
expect(result).toEqual(false)
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { DataSources } from '@sphereon/ssi-sdk.agent-config'
|
|
2
2
|
import { PartyCorrelationType } from '@sphereon/ssi-sdk.core'
|
|
3
|
-
import { ActionType, InitiatorType,
|
|
3
|
+
import { ActionType, InitiatorType, LogLevel, SubSystem, System, SystemCorrelationIdType } from '@sphereon/ssi-types'
|
|
4
4
|
import { DataSource } from 'typeorm'
|
|
5
5
|
import { DataStoreEventLoggerEntities } from '../index'
|
|
6
6
|
import { DataStoreEventLoggerMigrations } from '../migrations/generic'
|
|
7
|
-
import {
|
|
7
|
+
import { auditEventEntityFrom, AuditEventEntity } from '../entities/eventLogger/AuditEventEntity'
|
|
8
8
|
import { NonPersistedAuditLoggingEvent } from '../types'
|
|
9
9
|
|
|
10
10
|
describe('Database entities tests', (): void => {
|
|
@@ -31,7 +31,6 @@ describe('Database entities tests', (): void => {
|
|
|
31
31
|
|
|
32
32
|
it('should save audit event to database', async (): Promise<void> => {
|
|
33
33
|
const auditEvent: NonPersistedAuditLoggingEvent = {
|
|
34
|
-
type: LoggingEventType.AUDIT,
|
|
35
34
|
timestamp: new Date(),
|
|
36
35
|
level: LogLevel.DEBUG,
|
|
37
36
|
correlationId: 'b40b8474-58a2-4b23-9fde-bd6ee1902cdb',
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { DataSources } from '@sphereon/ssi-sdk.agent-config'
|
|
2
|
-
import { ActionType, InitiatorType,
|
|
2
|
+
import { ActionType, InitiatorType, LogLevel, SubSystem, System, SystemCorrelationIdType } from '@sphereon/ssi-types'
|
|
3
3
|
import { DataSource } from 'typeorm'
|
|
4
4
|
import { DataStoreEventLoggerMigrations } from '../migrations'
|
|
5
5
|
import { DataStoreEventLoggerEntities } from '../index'
|
|
@@ -33,7 +33,6 @@ describe('Database entities tests', (): void => {
|
|
|
33
33
|
|
|
34
34
|
it('should store audit event', async (): Promise<void> => {
|
|
35
35
|
const auditEvent: NonPersistedAuditLoggingEvent = {
|
|
36
|
-
type: LoggingEventType.AUDIT,
|
|
37
36
|
timestamp: new Date(),
|
|
38
37
|
level: LogLevel.DEBUG,
|
|
39
38
|
correlationId: 'b40b8474-58a2-4b23-9fde-bd6ee1902cdb',
|
|
@@ -59,7 +58,6 @@ describe('Database entities tests', (): void => {
|
|
|
59
58
|
|
|
60
59
|
it('should get all audit events', async (): Promise<void> => {
|
|
61
60
|
const auditEvent: NonPersistedAuditLoggingEvent = {
|
|
62
|
-
type: LoggingEventType.AUDIT,
|
|
63
61
|
timestamp: new Date(),
|
|
64
62
|
level: LogLevel.DEBUG,
|
|
65
63
|
correlationId: 'b40b8474-58a2-4b23-9fde-bd6ee1902cdb',
|
|
@@ -91,7 +89,6 @@ describe('Database entities tests', (): void => {
|
|
|
91
89
|
|
|
92
90
|
it('should get audit events by filter', async (): Promise<void> => {
|
|
93
91
|
const auditEvent: NonPersistedAuditLoggingEvent = {
|
|
94
|
-
type: LoggingEventType.AUDIT,
|
|
95
92
|
timestamp: new Date(),
|
|
96
93
|
level: LogLevel.DEBUG,
|
|
97
94
|
correlationId: 'b40b8474-58a2-4b23-9fde-bd6ee1902cdb',
|
|
@@ -106,7 +106,9 @@ export class DigitalCredentialStore extends AbstractDigitalCredentialStore {
|
|
|
106
106
|
let affected: number = 0
|
|
107
107
|
const findResult = await dcRepo.findBy(query)
|
|
108
108
|
for (const dc of findResult) {
|
|
109
|
-
|
|
109
|
+
if (dc.parentId !== null && dc.parentId !== undefined) {
|
|
110
|
+
affected += await this.deleteTree(dcRepo, { id: dc.parentId })
|
|
111
|
+
}
|
|
110
112
|
const result = await dcRepo.delete(dc.id)
|
|
111
113
|
if (result.affected) {
|
|
112
114
|
affected += result.affected
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
import { ActionSubType, ActionType, InitiatorType,
|
|
1
|
+
import { ActionSubType, ActionType, InitiatorType, LogLevel, SubSystem, System, SystemCorrelationIdType } from '@sphereon/ssi-types'
|
|
2
2
|
import { BaseEntity, Column, CreateDateColumn, Entity, PrimaryGeneratedColumn, UpdateDateColumn } from 'typeorm'
|
|
3
|
-
import {
|
|
4
|
-
import { NonPersistedAuditLoggingEvent
|
|
3
|
+
import { PartyCorrelationType } from '@sphereon/ssi-sdk.core'
|
|
4
|
+
import { NonPersistedAuditLoggingEvent } from '../../types'
|
|
5
5
|
import { typeOrmDateTime } from '@sphereon/ssi-sdk.agent-config'
|
|
6
6
|
|
|
7
|
-
//TODO this entity, also contains some optional fields that are related to another event type (Activity) later we might want to refactor and reorganize this.
|
|
8
|
-
// For now I've added a discriminator value called eventType that can be one of the three types of events: 1. General, 2. Audit, and 3. Activity
|
|
9
7
|
@Entity('AuditEvents')
|
|
10
8
|
export class AuditEventEntity extends BaseEntity {
|
|
11
9
|
@PrimaryGeneratedColumn('uuid')
|
|
@@ -14,9 +12,6 @@ export class AuditEventEntity extends BaseEntity {
|
|
|
14
12
|
@Column({ name: 'timestamp', nullable: false, unique: false, type: typeOrmDateTime() })
|
|
15
13
|
timestamp!: Date
|
|
16
14
|
|
|
17
|
-
@Column('simple-enum', { name: 'eventType', enum: LoggingEventType, nullable: false, unique: false })
|
|
18
|
-
type!: LoggingEventType
|
|
19
|
-
|
|
20
15
|
@Column('simple-enum', { name: 'level', enum: LogLevel, nullable: false, unique: false })
|
|
21
16
|
level!: LogLevel
|
|
22
17
|
|
|
@@ -59,18 +54,6 @@ export class AuditEventEntity extends BaseEntity {
|
|
|
59
54
|
@Column('text', { name: 'description', nullable: false, unique: false })
|
|
60
55
|
description!: string
|
|
61
56
|
|
|
62
|
-
@Column('simple-enum', { name: 'credentialType', enum: CredentialType, nullable: true, unique: false })
|
|
63
|
-
credentialType?: CredentialType
|
|
64
|
-
|
|
65
|
-
@Column('text', { name: 'credentialHash', nullable: true, unique: false })
|
|
66
|
-
credentialHash?: string
|
|
67
|
-
|
|
68
|
-
@Column('text', { name: 'originalCredential', nullable: true, unique: false })
|
|
69
|
-
originalCredential?: string
|
|
70
|
-
|
|
71
|
-
@Column('text', { name: 'sharePurpose', nullable: true, unique: false })
|
|
72
|
-
sharePurpose?: string
|
|
73
|
-
|
|
74
57
|
@Column('text', { name: 'data', nullable: true, unique: false })
|
|
75
58
|
data?: string
|
|
76
59
|
|
|
@@ -86,7 +69,6 @@ export class AuditEventEntity extends BaseEntity {
|
|
|
86
69
|
|
|
87
70
|
export const auditEventEntityFrom = (args: NonPersistedAuditLoggingEvent): AuditEventEntity => {
|
|
88
71
|
const auditEventEntity: AuditEventEntity = new AuditEventEntity()
|
|
89
|
-
auditEventEntity.type = LoggingEventType.AUDIT
|
|
90
72
|
auditEventEntity.timestamp = args.timestamp
|
|
91
73
|
auditEventEntity.level = args.level
|
|
92
74
|
auditEventEntity.correlationId = args.correlationId
|
|
@@ -108,32 +90,3 @@ export const auditEventEntityFrom = (args: NonPersistedAuditLoggingEvent): Audit
|
|
|
108
90
|
|
|
109
91
|
return auditEventEntity
|
|
110
92
|
}
|
|
111
|
-
|
|
112
|
-
export const activityEventEntityFrom = (args: NonPersistedActivityLoggingEvent): AuditEventEntity => {
|
|
113
|
-
const activityEventEntity: AuditEventEntity = new AuditEventEntity()
|
|
114
|
-
activityEventEntity.type = LoggingEventType.ACTIVITY
|
|
115
|
-
activityEventEntity.timestamp = args.timestamp
|
|
116
|
-
activityEventEntity.level = args.level
|
|
117
|
-
activityEventEntity.correlationId = args.correlationId
|
|
118
|
-
activityEventEntity.system = args.system
|
|
119
|
-
activityEventEntity.subSystemType = args.subSystemType
|
|
120
|
-
activityEventEntity.actionType = args.actionType
|
|
121
|
-
activityEventEntity.actionSubType = args.actionSubType
|
|
122
|
-
activityEventEntity.initiatorType = args.initiatorType
|
|
123
|
-
activityEventEntity.systemCorrelationIdType = args.systemCorrelationIdType
|
|
124
|
-
activityEventEntity.systemCorrelationId = args.systemCorrelationId
|
|
125
|
-
activityEventEntity.systemAlias = args.systemAlias
|
|
126
|
-
activityEventEntity.partyCorrelationType = args.partyCorrelationType
|
|
127
|
-
activityEventEntity.partyCorrelationId = args.partyCorrelationId
|
|
128
|
-
activityEventEntity.partyAlias = args.partyAlias
|
|
129
|
-
activityEventEntity.description = args.description
|
|
130
|
-
activityEventEntity.partyCorrelationType = args.partyCorrelationType
|
|
131
|
-
activityEventEntity.data = JSON.stringify(args.data)
|
|
132
|
-
activityEventEntity.sharePurpose = args.sharePurpose
|
|
133
|
-
activityEventEntity.credentialType = args.credentialType
|
|
134
|
-
activityEventEntity.originalCredential = args.originalCredential
|
|
135
|
-
activityEventEntity.credentialHash = args.credentialHash
|
|
136
|
-
activityEventEntity.diagnosticData = JSON.stringify(args.diagnosticData)
|
|
137
|
-
|
|
138
|
-
return activityEventEntity
|
|
139
|
-
}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
import { GetAuditEventsArgs,
|
|
2
|
-
import {
|
|
1
|
+
import { GetAuditEventsArgs, StoreAuditEventArgs } from '../types'
|
|
2
|
+
import { AuditLoggingEvent } from '@sphereon/ssi-sdk.core'
|
|
3
3
|
|
|
4
4
|
export abstract class AbstractEventLoggerStore {
|
|
5
5
|
abstract getAuditEvents(args: GetAuditEventsArgs): Promise<Array<AuditLoggingEvent>>
|
|
6
|
-
abstract getActivityEvents(args: GetAuditEventsArgs): Promise<Array<AuditLoggingEvent>>
|
|
7
6
|
abstract storeAuditEvent(args: StoreAuditEventArgs): Promise<AuditLoggingEvent>
|
|
8
|
-
abstract storeActivityEvent(args: StoreActivityEventArgs): Promise<ActivityLoggingEvent>
|
|
9
7
|
}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import Debug, { Debugger } from 'debug'
|
|
2
2
|
import { DataSource } from 'typeorm'
|
|
3
|
-
import {
|
|
3
|
+
import { AuditLoggingEvent } from '@sphereon/ssi-sdk.core'
|
|
4
4
|
import { OrPromise } from '@sphereon/ssi-types'
|
|
5
5
|
import { AbstractEventLoggerStore } from './AbstractEventLoggerStore'
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import { LoggingEventType } from '@sphereon/ssi-types/dist'
|
|
6
|
+
import { AuditEventEntity, auditEventEntityFrom } from '../entities/eventLogger/AuditEventEntity'
|
|
7
|
+
import { GetAuditEventsArgs, StoreAuditEventArgs } from '../types'
|
|
9
8
|
|
|
10
9
|
const debug: Debugger = Debug('sphereon:ssi-sdk:event-store')
|
|
11
10
|
|
|
@@ -20,35 +19,13 @@ export class EventLoggerStore extends AbstractEventLoggerStore {
|
|
|
20
19
|
getAuditEvents = async (args?: GetAuditEventsArgs): Promise<Array<AuditLoggingEvent>> => {
|
|
21
20
|
const connection: DataSource = await this.dbConnection // TODO apply everywhere
|
|
22
21
|
debug('Getting audit events', args)
|
|
23
|
-
const where: any = {}
|
|
24
|
-
if (args?.filter) {
|
|
25
|
-
args.filter.forEach((filterCondition) => {
|
|
26
|
-
Object.assign(where, filterCondition)
|
|
27
|
-
})
|
|
28
|
-
}
|
|
29
22
|
const result: Array<AuditEventEntity> = await connection.getRepository(AuditEventEntity).find({
|
|
30
|
-
where,
|
|
23
|
+
...(args?.filter && { where: args?.filter }),
|
|
31
24
|
})
|
|
32
25
|
|
|
33
26
|
return result.map((event: AuditEventEntity) => this.auditEventFrom(event))
|
|
34
27
|
}
|
|
35
28
|
|
|
36
|
-
getActivityEvents = async (args?: GetActivityEventsArgs): Promise<Array<ActivityLoggingEvent>> => {
|
|
37
|
-
const connection: DataSource = await this.dbConnection
|
|
38
|
-
debug('Getting activity events', args)
|
|
39
|
-
const where: any = {}
|
|
40
|
-
if (args?.filter) {
|
|
41
|
-
args.filter.forEach((filterCondition) => {
|
|
42
|
-
Object.assign(where, filterCondition)
|
|
43
|
-
})
|
|
44
|
-
}
|
|
45
|
-
const result: Array<AuditEventEntity> = await connection.getRepository(AuditEventEntity).find({
|
|
46
|
-
where,
|
|
47
|
-
})
|
|
48
|
-
|
|
49
|
-
return result.map((event: AuditEventEntity) => this.activityEventFrom(event))
|
|
50
|
-
}
|
|
51
|
-
|
|
52
29
|
storeAuditEvent = async (args: StoreAuditEventArgs): Promise<AuditLoggingEvent> => {
|
|
53
30
|
const { event } = args
|
|
54
31
|
|
|
@@ -60,47 +37,9 @@ export class EventLoggerStore extends AbstractEventLoggerStore {
|
|
|
60
37
|
return this.auditEventFrom(createdResult)
|
|
61
38
|
}
|
|
62
39
|
|
|
63
|
-
storeActivityEvent = async (args: StoreActivityEventArgs): Promise<ActivityLoggingEvent> => {
|
|
64
|
-
const { event } = args
|
|
65
|
-
|
|
66
|
-
const activityEventEntity: AuditEventEntity = activityEventEntityFrom(event)
|
|
67
|
-
const connection: DataSource = await this.dbConnection
|
|
68
|
-
debug('Storing activity event', activityEventEntity)
|
|
69
|
-
const createdResult: AuditEventEntity = await connection.getRepository(AuditEventEntity).save(activityEventEntity)
|
|
70
|
-
|
|
71
|
-
return this.activityEventFrom(createdResult)
|
|
72
|
-
}
|
|
73
|
-
|
|
74
40
|
private auditEventFrom = (event: AuditEventEntity): AuditLoggingEvent => {
|
|
75
41
|
return {
|
|
76
42
|
id: event.id,
|
|
77
|
-
type: LoggingEventType.AUDIT,
|
|
78
|
-
description: event.description,
|
|
79
|
-
timestamp: event.timestamp,
|
|
80
|
-
level: event.level,
|
|
81
|
-
correlationId: event.correlationId,
|
|
82
|
-
actionType: event.actionType,
|
|
83
|
-
actionSubType: event.actionSubType,
|
|
84
|
-
initiatorType: event.initiatorType,
|
|
85
|
-
partyAlias: event.partyAlias,
|
|
86
|
-
partyCorrelationId: event.partyCorrelationId,
|
|
87
|
-
partyCorrelationType: event.partyCorrelationType,
|
|
88
|
-
subSystemType: event.subSystemType,
|
|
89
|
-
system: event.system,
|
|
90
|
-
systemAlias: event.systemAlias,
|
|
91
|
-
systemCorrelationId: event.systemCorrelationId,
|
|
92
|
-
systemCorrelationIdType: event.systemCorrelationIdType,
|
|
93
|
-
...(event.data && { data: JSON.parse(event.data) }),
|
|
94
|
-
...(event.diagnosticData && { diagnosticData: JSON.parse(event.diagnosticData) }),
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
private activityEventFrom = (event: AuditEventEntity): ActivityLoggingEvent => {
|
|
99
|
-
return {
|
|
100
|
-
id: event.id,
|
|
101
|
-
type: LoggingEventType.ACTIVITY,
|
|
102
|
-
credentialType: event.credentialType,
|
|
103
|
-
sharePurpose: event.sharePurpose,
|
|
104
43
|
description: event.description,
|
|
105
44
|
timestamp: event.timestamp,
|
|
106
45
|
level: event.level,
|
|
@@ -15,36 +15,8 @@ export class CreateAuditEvents1701634812183 implements MigrationInterface {
|
|
|
15
15
|
await queryRunner.query(`CREATE TYPE "public"."Initiator_type_enum" AS ENUM('user', 'system', 'external')`)
|
|
16
16
|
await queryRunner.query(`CREATE TYPE "public"."System_correlation_id_type_enum" AS ENUM('did', 'email', 'hostname', 'phone', 'user')`)
|
|
17
17
|
await queryRunner.query(`CREATE TYPE "public"."Party_correlation_type_enum" AS ENUM('did', 'email', 'hostname', 'phone')`)
|
|
18
|
-
await queryRunner.query(`CREATE TYPE "public"."Event_type_enum" AS ENUM('audit', 'activity', 'general')`)
|
|
19
|
-
await queryRunner.query(`CREATE TYPE "public"."Event_credential_type_enum" AS ENUM('JSON_LD', 'JWT', 'SD_JWT', 'MSO_MDOC')`)
|
|
20
18
|
await queryRunner.query(
|
|
21
|
-
`CREATE TABLE "AuditEvents" (
|
|
22
|
-
"id" uuid NOT NULL DEFAULT uuid_generate_v4(),
|
|
23
|
-
"eventType" "public"."Event_type_enum" NOT NULL,
|
|
24
|
-
"timestamp" TIMESTAMP NOT NULL,
|
|
25
|
-
"level" "public"."Level_enum" NOT NULL,
|
|
26
|
-
"correlationId" TEXT NOT NULL,
|
|
27
|
-
"system" "public"."System_enum" NOT NULL,
|
|
28
|
-
"subSystemType" "public"."Subsystem_type_enum" NOT NULL,
|
|
29
|
-
"actionType" "public"."Action_type_enum" NOT NULL,
|
|
30
|
-
"actionSubType" TEXT NOT NULL,
|
|
31
|
-
"initiatorType" "public"."Initiator_type_enum" NOT NULL,
|
|
32
|
-
"systemCorrelationIdType" "public"."System_correlation_id_type_enum",
|
|
33
|
-
"systemCorrelationId" TEXT,
|
|
34
|
-
"systemAlias" TEXT,
|
|
35
|
-
"partyCorrelationType" "public"."Party_correlation_type_enum",
|
|
36
|
-
"partyCorrelationId" TEXT,
|
|
37
|
-
"partyAlias" TEXT,
|
|
38
|
-
"credentialType" "public"."Event_credential_type_enum",
|
|
39
|
-
"credentialHash" TEXT,
|
|
40
|
-
"originalCredential" TEXT,
|
|
41
|
-
"sharePurpose" TEXT,
|
|
42
|
-
"description" TEXT NOT NULL,
|
|
43
|
-
"data" TEXT,
|
|
44
|
-
"diagnosticData" TEXT,
|
|
45
|
-
"created_at" TIMESTAMP NOT NULL DEFAULT now(),
|
|
46
|
-
"last_updated_at" TIMESTAMP NOT NULL DEFAULT now(),
|
|
47
|
-
CONSTRAINT "PK_AuditEvents_id" PRIMARY KEY ("id"))`,
|
|
19
|
+
`CREATE TABLE "AuditEvents" ("id" uuid NOT NULL DEFAULT uuid_generate_v4(), "timestamp" TIMESTAMP NOT NULL, "level" "public"."Level_enum" NOT NULL, "correlationId" TEXT NOT NULL, "system" "public"."System_enum" NOT NULL, "subSystemType" "public"."Subsystem_type_enum" NOT NULL, "actionType" "public"."Action_type_enum" NOT NULL, "actionSubType" TEXT NOT NULL, "initiatorType" "public"."Initiator_type_enum" NOT NULL, "systemCorrelationIdType" "public"."System_correlation_id_type_enum", "systemCorrelationId" TEXT, "systemAlias" TEXT, "partyCorrelationType" "public"."Party_correlation_type_enum", "partyCorrelationId" TEXT, "partyAlias" TEXT, "description" TEXT NOT NULL, "data" TEXT, "diagnosticData" TEXT, "created_at" TIMESTAMP NOT NULL DEFAULT now(), "last_updated_at" TIMESTAMP NOT NULL DEFAULT now(), CONSTRAINT "PK_AuditEvents_id" PRIMARY KEY ("id"))`,
|
|
48
20
|
)
|
|
49
21
|
}
|
|
50
22
|
|
|
@@ -5,31 +5,7 @@ export class CreateAuditEvents1701634819487 implements MigrationInterface {
|
|
|
5
5
|
|
|
6
6
|
public async up(queryRunner: QueryRunner): Promise<void> {
|
|
7
7
|
await queryRunner.query(
|
|
8
|
-
`CREATE TABLE "AuditEvents" (
|
|
9
|
-
"id" varchar PRIMARY KEY NOT NULL,
|
|
10
|
-
"eventType" varchar CHECK( "eventType" IN ('audit', 'activity', 'general') ) NOT NULL,
|
|
11
|
-
"timestamp" datetime NOT NULL,
|
|
12
|
-
"level" varchar CHECK( "level" IN ('0','1','2','3') ) NOT NULL,
|
|
13
|
-
"correlationId" varchar NOT NULL,
|
|
14
|
-
"system" varchar CHECK( "system" IN ('general','kms','identity','oid4vci','credentials','web3','profile','contact') ) NOT NULL,
|
|
15
|
-
"subSystemType" varchar CHECK( "subSystemType" IN ('key','did_provider','did_resolver','oid4vp_op','oid4vci_client','siopv2_op','contact_manager','vc_issuer','vc_verifier','vc_persistence','transport','profile') ) NOT NULL,
|
|
16
|
-
"actionType" varchar CHECK( "actionType" IN ('create','read','update','delete','execute') ) NOT NULL,
|
|
17
|
-
"actionSubType" varchar NOT NULL, "initiatorType" varchar CHECK( "initiatorType" IN ('user','system','external') ) NOT NULL,
|
|
18
|
-
"systemCorrelationIdType" varchar CHECK( "systemCorrelationIdType" IN ('did','email','hostname','phone','user') ),
|
|
19
|
-
"systemCorrelationId" varchar,
|
|
20
|
-
"systemAlias" varchar,
|
|
21
|
-
"partyCorrelationType" varchar CHECK( "partyCorrelationType" IN ('did','email','hostname','phone') ),
|
|
22
|
-
"partyCorrelationId" varchar,
|
|
23
|
-
"partyAlias" varchar,
|
|
24
|
-
"credentialType" varchar CHECK( "credentialType" IN ('JSON_LD', 'JWT', 'SD_JWT', 'MSO_MDOC') ),
|
|
25
|
-
"credentialHash" varchar,
|
|
26
|
-
"originalCredential" varchar,
|
|
27
|
-
"sharePurpose" varchar,
|
|
28
|
-
"description" varchar NOT NULL,
|
|
29
|
-
"data" varchar,
|
|
30
|
-
"diagnosticData" varchar,
|
|
31
|
-
"created_at" datetime NOT NULL DEFAULT (datetime('now')),
|
|
32
|
-
"last_updated_at" datetime NOT NULL DEFAULT (datetime('now')))`,
|
|
8
|
+
`CREATE TABLE "AuditEvents" ("id" varchar PRIMARY KEY NOT NULL, "timestamp" datetime NOT NULL, "level" varchar CHECK( "level" IN ('0','1','2','3') ) NOT NULL, "correlationId" varchar NOT NULL, "system" varchar CHECK( "system" IN ('general','kms','identity','oid4vci','credentials','web3','profile','contact') ) NOT NULL, "subSystemType" varchar CHECK( "subSystemType" IN ('key','did_provider','did_resolver','oid4vp_op','oid4vci_client','siopv2_op','contact_manager','vc_issuer','vc_verifier','vc_persistence','transport','profile') ) NOT NULL, "actionType" varchar CHECK( "actionType" IN ('create','read','update','delete','execute') ) NOT NULL, "actionSubType" varchar NOT NULL, "initiatorType" varchar CHECK( "initiatorType" IN ('user','system','external') ) NOT NULL, "systemCorrelationIdType" varchar CHECK( "systemCorrelationIdType" IN ('did','email','hostname','phone','user') ), "systemCorrelationId" varchar, "systemAlias" varchar, "partyCorrelationType" varchar CHECK( "partyCorrelationType" IN ('did','email','hostname','phone') ), "partyCorrelationId" varchar, "partyAlias" varchar, "description" varchar NOT NULL, "data" varchar, "diagnosticData" varchar, "created_at" datetime NOT NULL DEFAULT (datetime('now')), "last_updated_at" datetime NOT NULL DEFAULT (datetime('now')))`,
|
|
33
9
|
)
|
|
34
10
|
}
|
|
35
11
|
|
|
@@ -1,22 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { PartialAuditLoggingEvent } from '@sphereon/ssi-sdk.core'
|
|
2
|
+
import { NonPersistedAuditLoggingEvent } from './eventLogger'
|
|
3
3
|
|
|
4
4
|
export type FindAuditLoggingEventArgs = Array<PartialAuditLoggingEvent>
|
|
5
5
|
|
|
6
|
-
export type FindActivityLoggingEventArgs = Array<PartialActivityLoggingEvent>
|
|
7
|
-
|
|
8
6
|
export type StoreAuditEventArgs = {
|
|
9
7
|
event: NonPersistedAuditLoggingEvent
|
|
10
8
|
}
|
|
11
9
|
|
|
12
|
-
export type StoreActivityEventArgs = {
|
|
13
|
-
event: NonPersistedActivityLoggingEvent
|
|
14
|
-
}
|
|
15
|
-
|
|
16
10
|
export type GetAuditEventsArgs = {
|
|
17
11
|
filter?: FindAuditLoggingEventArgs
|
|
18
12
|
}
|
|
19
|
-
|
|
20
|
-
export type GetActivityEventsArgs = {
|
|
21
|
-
filter?: FindActivityLoggingEventArgs
|
|
22
|
-
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AuditLoggingEvent } from '@sphereon/ssi-sdk.core'
|
|
2
2
|
|
|
3
3
|
export type NonPersistedAuditLoggingEvent = Omit<AuditLoggingEvent, 'id'>
|
|
4
|
-
export type NonPersistedActivityLoggingEvent = Omit<ActivityLoggingEvent, 'id'>
|