@sphereon/ssi-sdk.data-store 0.19.1-next.2 → 0.19.1-unstable.63
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/AbstractDigitalCredentialStore.d.ts +10 -0
- package/dist/digitalCredential/AbstractDigitalCredentialStore.d.ts.map +1 -0
- package/dist/digitalCredential/AbstractDigitalCredentialStore.js +7 -0
- package/dist/digitalCredential/AbstractDigitalCredentialStore.js.map +1 -0
- package/dist/digitalCredential/DigitalCredentialStore.d.ts +15 -0
- package/dist/digitalCredential/DigitalCredentialStore.d.ts.map +1 -0
- package/dist/digitalCredential/DigitalCredentialStore.js +118 -0
- package/dist/digitalCredential/DigitalCredentialStore.js.map +1 -0
- package/dist/entities/digitalCredential/DigitalCredentialEntity.d.ts +23 -0
- package/dist/entities/digitalCredential/DigitalCredentialEntity.d.ts.map +1 -0
- package/dist/entities/digitalCredential/DigitalCredentialEntity.js +93 -0
- package/dist/entities/digitalCredential/DigitalCredentialEntity.js.map +1 -0
- package/dist/entities/xstate/StateEntity.d.ts +14 -0
- package/dist/entities/xstate/StateEntity.d.ts.map +1 -0
- package/dist/entities/xstate/StateEntity.js +60 -0
- package/dist/entities/xstate/StateEntity.js.map +1 -0
- package/dist/index.d.ts +10 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +19 -1
- package/dist/index.js.map +1 -1
- package/dist/migrations/generic/6-CreateDigitalCredential.d.ts +7 -0
- package/dist/migrations/generic/6-CreateDigitalCredential.d.ts.map +1 -0
- package/dist/migrations/generic/6-CreateDigitalCredential.js +78 -0
- package/dist/migrations/generic/6-CreateDigitalCredential.js.map +1 -0
- package/dist/migrations/generic/7-CreateXStateStore.d.ts +7 -0
- package/dist/migrations/generic/7-CreateXStateStore.d.ts.map +1 -0
- package/dist/migrations/generic/7-CreateXStateStore.js +78 -0
- package/dist/migrations/generic/7-CreateXStateStore.js.map +1 -0
- package/dist/migrations/generic/index.d.ts +4 -0
- package/dist/migrations/generic/index.d.ts.map +1 -1
- package/dist/migrations/generic/index.js +7 -1
- package/dist/migrations/generic/index.js.map +1 -1
- package/dist/migrations/index.d.ts +1 -1
- package/dist/migrations/index.d.ts.map +1 -1
- package/dist/migrations/index.js +3 -1
- package/dist/migrations/index.js.map +1 -1
- package/dist/migrations/postgres/1708525189001-CreateDigitalCredential.d.ts +7 -0
- package/dist/migrations/postgres/1708525189001-CreateDigitalCredential.d.ts.map +1 -0
- package/dist/migrations/postgres/1708525189001-CreateDigitalCredential.js +59 -0
- package/dist/migrations/postgres/1708525189001-CreateDigitalCredential.js.map +1 -0
- package/dist/migrations/postgres/1708797018115-CreateXStateStore.d.ts +7 -0
- package/dist/migrations/postgres/1708797018115-CreateXStateStore.d.ts.map +1 -0
- package/dist/migrations/postgres/1708797018115-CreateXStateStore.js +45 -0
- package/dist/migrations/postgres/1708797018115-CreateXStateStore.js.map +1 -0
- package/dist/migrations/sqlite/1708525189002-CreateDigitalCredential.d.ts +7 -0
- package/dist/migrations/sqlite/1708525189002-CreateDigitalCredential.d.ts.map +1 -0
- package/dist/migrations/sqlite/1708525189002-CreateDigitalCredential.js +50 -0
- package/dist/migrations/sqlite/1708525189002-CreateDigitalCredential.js.map +1 -0
- package/dist/migrations/sqlite/1708796002272-CreateXStateStore.d.ts +7 -0
- package/dist/migrations/sqlite/1708796002272-CreateXStateStore.d.ts.map +1 -0
- package/dist/migrations/sqlite/1708796002272-CreateXStateStore.js +42 -0
- package/dist/migrations/sqlite/1708796002272-CreateXStateStore.js.map +1 -0
- package/dist/types/digitalCredential/IAbstractDigitalCredentialStore.d.ts +42 -0
- package/dist/types/digitalCredential/IAbstractDigitalCredentialStore.d.ts.map +1 -0
- package/dist/types/digitalCredential/IAbstractDigitalCredentialStore.js +3 -0
- package/dist/types/digitalCredential/IAbstractDigitalCredentialStore.js.map +1 -0
- package/dist/types/digitalCredential/digitalCredential.d.ts +42 -0
- package/dist/types/digitalCredential/digitalCredential.d.ts.map +1 -0
- package/dist/types/digitalCredential/digitalCredential.js +28 -0
- package/dist/types/digitalCredential/digitalCredential.js.map +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +1 -0
- package/dist/types/index.js.map +1 -1
- package/dist/types/xstate/IAbstractXStateStore.d.ts +38 -0
- package/dist/types/xstate/IAbstractXStateStore.d.ts.map +1 -0
- package/dist/types/xstate/IAbstractXStateStore.js +3 -0
- package/dist/types/xstate/IAbstractXStateStore.js.map +1 -0
- package/dist/utils/SortingUtils.d.ts +3 -0
- package/dist/utils/SortingUtils.d.ts.map +1 -0
- package/dist/utils/SortingUtils.js +18 -0
- package/dist/utils/SortingUtils.js.map +1 -0
- package/dist/utils/digitalCredential/MappingUtils.d.ts +7 -0
- package/dist/utils/digitalCredential/MappingUtils.d.ts.map +1 -0
- package/dist/utils/digitalCredential/MappingUtils.js +99 -0
- package/dist/utils/digitalCredential/MappingUtils.js.map +1 -0
- package/dist/xstate/IAbstractXStateStore.d.ts +9 -0
- package/dist/xstate/IAbstractXStateStore.d.ts.map +1 -0
- package/dist/xstate/IAbstractXStateStore.js +7 -0
- package/dist/xstate/IAbstractXStateStore.js.map +1 -0
- package/dist/xstate/XStateStore.d.ts +17 -0
- package/dist/xstate/XStateStore.d.ts.map +1 -0
- package/dist/xstate/XStateStore.js +110 -0
- package/dist/xstate/XStateStore.js.map +1 -0
- package/package.json +5 -4
- package/src/__tests__/digitalCredential.entities.test.ts +254 -0
- package/src/__tests__/digitalCredential.store.test.ts +294 -0
- package/src/__tests__/xstate.entities.test.ts +47 -0
- package/src/__tests__/xstate.store.test.ts +158 -0
- package/src/digitalCredential/AbstractDigitalCredentialStore.ts +17 -0
- package/src/digitalCredential/DigitalCredentialStore.ts +127 -0
- package/src/entities/digitalCredential/DigitalCredentialEntity.ts +64 -0
- package/src/entities/xstate/StateEntity.ts +34 -0
- package/src/index.ts +18 -0
- package/src/migrations/generic/6-CreateDigitalCredential.ts +66 -0
- package/src/migrations/generic/7-CreateXStateStore.ts +66 -0
- package/src/migrations/generic/index.ts +6 -0
- package/src/migrations/index.ts +2 -0
- package/src/migrations/postgres/1708525189001-CreateDigitalCredential.ts +44 -0
- package/src/migrations/postgres/1708797018115-CreateXStateStore.ts +29 -0
- package/src/migrations/sqlite/1708525189002-CreateDigitalCredential.ts +34 -0
- package/src/migrations/sqlite/1708796002272-CreateXStateStore.ts +26 -0
- package/src/types/digitalCredential/IAbstractDigitalCredentialStore.ts +37 -0
- package/src/types/digitalCredential/digitalCredential.ts +46 -0
- package/src/types/index.ts +1 -0
- package/src/types/xstate/IAbstractXStateStore.ts +39 -0
- package/src/utils/SortingUtils.ts +16 -0
- package/src/utils/digitalCredential/MappingUtils.ts +122 -0
- package/src/xstate/IAbstractXStateStore.ts +9 -0
- package/src/xstate/XStateStore.ts +107 -0
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
export type NonPersistedDigitalCredential = Omit<DigitalCredential, 'id'>;
|
|
2
|
+
export type DigitalCredential = {
|
|
3
|
+
id: string;
|
|
4
|
+
documentType: DocumentType;
|
|
5
|
+
documentFormat: CredentialDocumentFormat;
|
|
6
|
+
rawDocument: string;
|
|
7
|
+
uniformDocument: string;
|
|
8
|
+
hash: string;
|
|
9
|
+
issuerCorrelationType: CredentialCorrelationType;
|
|
10
|
+
subjectCorrelationType?: CredentialCorrelationType;
|
|
11
|
+
issuerCorrelationId: string;
|
|
12
|
+
subjectCorrelationId?: string;
|
|
13
|
+
verifiedState?: CredentialStateType;
|
|
14
|
+
tenantId?: string;
|
|
15
|
+
createdAt: Date;
|
|
16
|
+
lastUpdatedAt: Date;
|
|
17
|
+
validUntil?: Date;
|
|
18
|
+
validFrom?: Date;
|
|
19
|
+
verifiedAt?: Date;
|
|
20
|
+
revokedAt?: Date;
|
|
21
|
+
};
|
|
22
|
+
export declare enum DocumentType {
|
|
23
|
+
VC = "VC",
|
|
24
|
+
VP = "VP",
|
|
25
|
+
P = "P",
|
|
26
|
+
C = "C"
|
|
27
|
+
}
|
|
28
|
+
export declare enum CredentialDocumentFormat {
|
|
29
|
+
JSON_LD = "JSON_LD",
|
|
30
|
+
JWT = "JWT",
|
|
31
|
+
SD_JWT = "SD_JWT",
|
|
32
|
+
MDOC = "MDOC"
|
|
33
|
+
}
|
|
34
|
+
export declare enum CredentialCorrelationType {
|
|
35
|
+
DID = "DID"
|
|
36
|
+
}
|
|
37
|
+
export declare enum CredentialStateType {
|
|
38
|
+
REVOKED = "REVOKED",
|
|
39
|
+
VERIFIED = "VERIFIED",
|
|
40
|
+
EXPIRED = "EXPIRED"
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=digitalCredential.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"digitalCredential.d.ts","sourceRoot":"","sources":["../../../src/types/digitalCredential/digitalCredential.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,6BAA6B,GAAG,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAA;AAEzE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV,YAAY,EAAE,YAAY,CAAA;IAC1B,cAAc,EAAE,wBAAwB,CAAA;IACxC,WAAW,EAAE,MAAM,CAAA;IACnB,eAAe,EAAE,MAAM,CAAA;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,qBAAqB,EAAE,yBAAyB,CAAA;IAChD,sBAAsB,CAAC,EAAE,yBAAyB,CAAA;IAClD,mBAAmB,EAAE,MAAM,CAAA;IAC3B,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,aAAa,CAAC,EAAE,mBAAmB,CAAA;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,IAAI,CAAA;IACf,aAAa,EAAE,IAAI,CAAA;IACnB,UAAU,CAAC,EAAE,IAAI,CAAA;IACjB,SAAS,CAAC,EAAE,IAAI,CAAA;IAChB,UAAU,CAAC,EAAE,IAAI,CAAA;IACjB,SAAS,CAAC,EAAE,IAAI,CAAA;CACjB,CAAA;AAED,oBAAY,YAAY;IACtB,EAAE,OAAO;IACT,EAAE,OAAO;IACT,CAAC,MAAM;IACP,CAAC,MAAM;CACR;AAED,oBAAY,wBAAwB;IAClC,OAAO,YAAY;IACnB,GAAG,QAAQ;IACX,MAAM,WAAW;IACjB,IAAI,SAAS;CACd;AAED,oBAAY,yBAAyB;IACnC,GAAG,QAAQ;CACZ;AAED,oBAAY,mBAAmB;IAC7B,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,OAAO,YAAY;CACpB"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CredentialStateType = exports.CredentialCorrelationType = exports.CredentialDocumentFormat = exports.DocumentType = void 0;
|
|
4
|
+
var DocumentType;
|
|
5
|
+
(function (DocumentType) {
|
|
6
|
+
DocumentType["VC"] = "VC";
|
|
7
|
+
DocumentType["VP"] = "VP";
|
|
8
|
+
DocumentType["P"] = "P";
|
|
9
|
+
DocumentType["C"] = "C";
|
|
10
|
+
})(DocumentType = exports.DocumentType || (exports.DocumentType = {}));
|
|
11
|
+
var CredentialDocumentFormat;
|
|
12
|
+
(function (CredentialDocumentFormat) {
|
|
13
|
+
CredentialDocumentFormat["JSON_LD"] = "JSON_LD";
|
|
14
|
+
CredentialDocumentFormat["JWT"] = "JWT";
|
|
15
|
+
CredentialDocumentFormat["SD_JWT"] = "SD_JWT";
|
|
16
|
+
CredentialDocumentFormat["MDOC"] = "MDOC";
|
|
17
|
+
})(CredentialDocumentFormat = exports.CredentialDocumentFormat || (exports.CredentialDocumentFormat = {}));
|
|
18
|
+
var CredentialCorrelationType;
|
|
19
|
+
(function (CredentialCorrelationType) {
|
|
20
|
+
CredentialCorrelationType["DID"] = "DID";
|
|
21
|
+
})(CredentialCorrelationType = exports.CredentialCorrelationType || (exports.CredentialCorrelationType = {}));
|
|
22
|
+
var CredentialStateType;
|
|
23
|
+
(function (CredentialStateType) {
|
|
24
|
+
CredentialStateType["REVOKED"] = "REVOKED";
|
|
25
|
+
CredentialStateType["VERIFIED"] = "VERIFIED";
|
|
26
|
+
CredentialStateType["EXPIRED"] = "EXPIRED";
|
|
27
|
+
})(CredentialStateType = exports.CredentialStateType || (exports.CredentialStateType = {}));
|
|
28
|
+
//# sourceMappingURL=digitalCredential.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"digitalCredential.js","sourceRoot":"","sources":["../../../src/types/digitalCredential/digitalCredential.ts"],"names":[],"mappings":";;;AAuBA,IAAY,YAKX;AALD,WAAY,YAAY;IACtB,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,uBAAO,CAAA;IACP,uBAAO,CAAA;AACT,CAAC,EALW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAKvB;AAED,IAAY,wBAKX;AALD,WAAY,wBAAwB;IAClC,+CAAmB,CAAA;IACnB,uCAAW,CAAA;IACX,6CAAiB,CAAA;IACjB,yCAAa,CAAA;AACf,CAAC,EALW,wBAAwB,GAAxB,gCAAwB,KAAxB,gCAAwB,QAKnC;AAED,IAAY,yBAEX;AAFD,WAAY,yBAAyB;IACnC,wCAAW,CAAA;AACb,CAAC,EAFW,yBAAyB,GAAzB,iCAAyB,KAAzB,iCAAyB,QAEpC;AAED,IAAY,mBAIX;AAJD,WAAY,mBAAmB;IAC7B,0CAAmB,CAAA;IACnB,4CAAqB,CAAA;IACrB,0CAAmB,CAAA;AACrB,CAAC,EAJW,mBAAmB,GAAnB,2BAAmB,KAAnB,2BAAmB,QAI9B"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -7,4 +7,5 @@ export * from './statusList/statusList';
|
|
|
7
7
|
export * from './statusList/IAbstractStatusListStore';
|
|
8
8
|
export * from './eventLogger/IAbstractEventLoggerStore';
|
|
9
9
|
export * from './eventLogger/eventLogger';
|
|
10
|
+
export * from './xstate/IAbstractXStateStore';
|
|
10
11
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,qCAAqC,CAAA;AACnD,cAAc,mDAAmD,CAAA;AACjE,cAAc,mBAAmB,CAAA;AACjC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,yBAAyB,CAAA;AACvC,cAAc,yBAAyB,CAAA;AACvC,cAAc,uCAAuC,CAAA;AACrD,cAAc,yCAAyC,CAAA;AACvD,cAAc,2BAA2B,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,qCAAqC,CAAA;AACnD,cAAc,mDAAmD,CAAA;AACjE,cAAc,mBAAmB,CAAA;AACjC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,yBAAyB,CAAA;AACvC,cAAc,yBAAyB,CAAA;AACvC,cAAc,uCAAuC,CAAA;AACrD,cAAc,yCAAyC,CAAA;AACvD,cAAc,2BAA2B,CAAA;AACzC,cAAc,+BAA+B,CAAA"}
|
package/dist/types/index.js
CHANGED
|
@@ -23,4 +23,5 @@ __exportStar(require("./statusList/statusList"), exports);
|
|
|
23
23
|
__exportStar(require("./statusList/IAbstractStatusListStore"), exports);
|
|
24
24
|
__exportStar(require("./eventLogger/IAbstractEventLoggerStore"), exports);
|
|
25
25
|
__exportStar(require("./eventLogger/eventLogger"), exports);
|
|
26
|
+
__exportStar(require("./xstate/IAbstractXStateStore"), exports);
|
|
26
27
|
//# sourceMappingURL=index.js.map
|
package/dist/types/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sEAAmD;AACnD,oFAAiE;AACjE,oDAAiC;AACjC,kEAA+C;AAC/C,0DAAuC;AACvC,0DAAuC;AACvC,wEAAqD;AACrD,0EAAuD;AACvD,4DAAyC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sEAAmD;AACnD,oFAAiE;AACjE,oDAAiC;AACjC,kEAA+C;AAC/C,0DAAuC;AACvC,0DAAuC;AACvC,wEAAqD;AACrD,0EAAuD;AACvD,4DAAyC;AACzC,gEAA6C"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export type SaveStateArgs = Omit<State, 'id' | 'createdAt' | 'updatedAt'>;
|
|
2
|
+
export type GetActiveStateArgs = Pick<State, 'machineType' | 'tenantId'>;
|
|
3
|
+
export type FindStatesArgs = Array<Partial<Omit<State, 'state'>>>;
|
|
4
|
+
export type GetStatesArgs = {
|
|
5
|
+
filter: FindStatesArgs;
|
|
6
|
+
};
|
|
7
|
+
export type NonPersistedXStateStoreEvent = SaveStateArgs;
|
|
8
|
+
export type DeleteStateArgs = {
|
|
9
|
+
id: string;
|
|
10
|
+
};
|
|
11
|
+
export type DeleteExpiredStateArgs = {
|
|
12
|
+
machineType?: string;
|
|
13
|
+
};
|
|
14
|
+
export type State = {
|
|
15
|
+
id: string;
|
|
16
|
+
/**
|
|
17
|
+
* value of the state's name. top level of event type. examples: acceptAgreement, enterPersonalDetails
|
|
18
|
+
*/
|
|
19
|
+
stateName: string;
|
|
20
|
+
/**
|
|
21
|
+
* Machine type/id
|
|
22
|
+
*/
|
|
23
|
+
machineType: string;
|
|
24
|
+
/**
|
|
25
|
+
* event types like SET_TOC, SET_FIRSTNAME, ...
|
|
26
|
+
*/
|
|
27
|
+
xStateEventType: string;
|
|
28
|
+
/**
|
|
29
|
+
* state of the machine in this snapshot
|
|
30
|
+
*/
|
|
31
|
+
state: unknown;
|
|
32
|
+
createdAt: Date;
|
|
33
|
+
expiresAt?: Date;
|
|
34
|
+
updatedAt: Date;
|
|
35
|
+
completedAt?: Date;
|
|
36
|
+
tenantId?: string;
|
|
37
|
+
};
|
|
38
|
+
//# sourceMappingURL=IAbstractXStateStore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IAbstractXStateStore.d.ts","sourceRoot":"","sources":["../../../src/types/xstate/IAbstractXStateStore.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,GAAG,WAAW,GAAG,WAAW,CAAC,CAAA;AAEzE,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,KAAK,EAAE,aAAa,GAAG,UAAU,CAAC,CAAA;AAExE,MAAM,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;AAEjE,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,cAAc,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,4BAA4B,GAAG,aAAa,CAAA;AAExD,MAAM,MAAM,eAAe,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAAA;AAC5C,MAAM,MAAM,sBAAsB,GAAG;IAAE,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAE7D,MAAM,MAAM,KAAK,GAAG;IAClB,EAAE,EAAE,MAAM,CAAA;IACV;;OAEG;IACH,SAAS,EAAE,MAAM,CAAA;IACjB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAA;IACnB;;OAEG;IACH,eAAe,EAAE,MAAM,CAAA;IACvB;;OAEG;IACH,KAAK,EAAE,OAAO,CAAA;IACd,SAAS,EAAE,IAAI,CAAA;IACf,SAAS,CAAC,EAAE,IAAI,CAAA;IAChB,SAAS,EAAE,IAAI,CAAA;IACf,WAAW,CAAC,EAAE,IAAI,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IAbstractXStateStore.js","sourceRoot":"","sources":["../../../src/types/xstate/IAbstractXStateStore.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SortingUtils.d.ts","sourceRoot":"","sources":["../../src/utils/SortingUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAEtD,eAAO,MAAM,4BAA4B,gCAAiC,MAAM,wBAa/E,CAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseAndValidateOrderOptions = void 0;
|
|
4
|
+
const parseAndValidateOrderOptions = (order) => {
|
|
5
|
+
const orderPairs = order.split(',').map((pair) => pair.trim().split('.'));
|
|
6
|
+
const orderOptions = {};
|
|
7
|
+
orderPairs.forEach(([field, direction]) => {
|
|
8
|
+
const dir = direction.toUpperCase();
|
|
9
|
+
if (dir !== 'ASC' && dir !== 'DESC') {
|
|
10
|
+
throw new Error(`Invalid order direction: '${direction}'. Must be 'asc' or 'desc'.`);
|
|
11
|
+
}
|
|
12
|
+
;
|
|
13
|
+
orderOptions[field] = dir;
|
|
14
|
+
});
|
|
15
|
+
return orderOptions;
|
|
16
|
+
};
|
|
17
|
+
exports.parseAndValidateOrderOptions = parseAndValidateOrderOptions;
|
|
18
|
+
//# sourceMappingURL=SortingUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SortingUtils.js","sourceRoot":"","sources":["../../src/utils/SortingUtils.ts"],"names":[],"mappings":";;;AAEO,MAAM,4BAA4B,GAAG,CAAuB,KAAa,EAAuB,EAAE;IACvG,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;IACzE,MAAM,YAAY,GAAwB,EAAE,CAAA;IAE5C,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,EAAE;QACxC,MAAM,GAAG,GAAG,SAAS,CAAC,WAAW,EAAE,CAAA;QACnC,IAAI,GAAG,KAAK,KAAK,IAAI,GAAG,KAAK,MAAM,EAAE;YACnC,MAAM,IAAI,KAAK,CAAC,6BAA6B,SAAS,6BAA6B,CAAC,CAAA;SACrF;QACD,CAAC;QAAC,YAAoB,CAAC,KAAK,CAAC,GAAG,GAAG,CAAA;IACrC,CAAC,CAAC,CAAA;IAEF,OAAO,YAAY,CAAA;AACrB,CAAC,CAAA;AAbY,QAAA,4BAA4B,gCAaxC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { AddCredentialArgs } from '../../types/digitalCredential/IAbstractDigitalCredentialStore';
|
|
2
|
+
import { DigitalCredentialEntity } from '../../entities/digitalCredential/DigitalCredentialEntity';
|
|
3
|
+
import { DigitalCredential, NonPersistedDigitalCredential } from '../../types/digitalCredential/digitalCredential';
|
|
4
|
+
export declare const nonPersistedDigitalCredentialEntityFromAddArgs: (addCredentialArgs: AddCredentialArgs) => NonPersistedDigitalCredential;
|
|
5
|
+
export declare const digitalCredentialFrom: (credentialEntity: DigitalCredentialEntity) => DigitalCredential;
|
|
6
|
+
export declare const digitalCredentialsFrom: (credentialEntities: Array<DigitalCredentialEntity>) => DigitalCredential[];
|
|
7
|
+
//# sourceMappingURL=MappingUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MappingUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/digitalCredential/MappingUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,+DAA+D,CAAA;AACjG,OAAO,EAAE,uBAAuB,EAAE,MAAM,0DAA0D,CAAA;AAWlG,OAAO,EAGL,iBAAiB,EACjB,6BAA6B,EAC9B,MAAM,iDAAiD,CAAA;AAqExD,eAAO,MAAM,8CAA8C,sBAAuB,iBAAiB,KAAG,6BAyBrG,CAAA;AAED,eAAO,MAAM,qBAAqB,qBAAsB,uBAAuB,KAAG,iBAIjF,CAAA;AAED,eAAO,MAAM,sBAAsB,uBAAwB,MAAM,uBAAuB,CAAC,KAAG,iBAAiB,EAE5G,CAAA"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.digitalCredentialsFrom = exports.digitalCredentialFrom = exports.nonPersistedDigitalCredentialEntityFromAddArgs = void 0;
|
|
4
|
+
const ssi_types_1 = require("@sphereon/ssi-types");
|
|
5
|
+
const digitalCredential_1 = require("../../types/digitalCredential/digitalCredential");
|
|
6
|
+
const utils_1 = require("@veramo/utils");
|
|
7
|
+
function determineDocumentType(raw) {
|
|
8
|
+
const rawDocument = parseRawDocument(raw);
|
|
9
|
+
if (!rawDocument) {
|
|
10
|
+
throw new Error(`Couldn't parse the credential: ${raw}`);
|
|
11
|
+
}
|
|
12
|
+
const hasProof = ssi_types_1.CredentialMapper.hasProof(rawDocument);
|
|
13
|
+
const isCredential = ssi_types_1.CredentialMapper.isCredential(rawDocument);
|
|
14
|
+
const isPresentation = ssi_types_1.CredentialMapper.isPresentation(rawDocument);
|
|
15
|
+
if (isCredential) {
|
|
16
|
+
return hasProof ? digitalCredential_1.DocumentType.VC : digitalCredential_1.DocumentType.C;
|
|
17
|
+
}
|
|
18
|
+
else if (isPresentation) {
|
|
19
|
+
return hasProof ? digitalCredential_1.DocumentType.VP : digitalCredential_1.DocumentType.P;
|
|
20
|
+
}
|
|
21
|
+
throw new Error(`Couldn't determine the type of the credential: ${raw}`);
|
|
22
|
+
}
|
|
23
|
+
function parseRawDocument(raw) {
|
|
24
|
+
if (ssi_types_1.CredentialMapper.isJwtEncoded(raw) || ssi_types_1.CredentialMapper.isSdJwtEncoded(raw)) {
|
|
25
|
+
return raw;
|
|
26
|
+
}
|
|
27
|
+
try {
|
|
28
|
+
return JSON.parse(raw);
|
|
29
|
+
}
|
|
30
|
+
catch (e) {
|
|
31
|
+
throw new Error(`Can't parse the raw credential: ${raw}`);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
function determineCredentialDocumentFormat(documentFormat) {
|
|
35
|
+
switch (documentFormat) {
|
|
36
|
+
case 1 /* DocumentFormat.JSONLD */:
|
|
37
|
+
return digitalCredential_1.CredentialDocumentFormat.JSON_LD;
|
|
38
|
+
case 0 /* DocumentFormat.JWT */:
|
|
39
|
+
return digitalCredential_1.CredentialDocumentFormat.JWT;
|
|
40
|
+
case 2 /* DocumentFormat.SD_JWT_VC */:
|
|
41
|
+
return digitalCredential_1.CredentialDocumentFormat.SD_JWT;
|
|
42
|
+
default:
|
|
43
|
+
throw new Error(`Not supported document format: ${documentFormat}`);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
function getValidUntil(uniformDocument) {
|
|
47
|
+
if ('expirationDate' in uniformDocument) {
|
|
48
|
+
return new Date(uniformDocument.expirationDate);
|
|
49
|
+
}
|
|
50
|
+
else if ('validUntil' in uniformDocument) {
|
|
51
|
+
return new Date(uniformDocument.validUntil);
|
|
52
|
+
}
|
|
53
|
+
else if ('exp' in uniformDocument) {
|
|
54
|
+
return new Date(uniformDocument.exp);
|
|
55
|
+
}
|
|
56
|
+
return undefined;
|
|
57
|
+
}
|
|
58
|
+
function getValidFrom(uniformDocument) {
|
|
59
|
+
if ('issuanceDate' in uniformDocument) {
|
|
60
|
+
return new Date(uniformDocument.issuanceDate);
|
|
61
|
+
}
|
|
62
|
+
else if ('validFrom' in uniformDocument) {
|
|
63
|
+
return new Date(uniformDocument['validFrom']);
|
|
64
|
+
}
|
|
65
|
+
else if ('nbf' in uniformDocument) {
|
|
66
|
+
return new Date(uniformDocument['nbf'] * 1000);
|
|
67
|
+
}
|
|
68
|
+
else if ('iat' in uniformDocument) {
|
|
69
|
+
return new Date(uniformDocument['iat'] * 1000);
|
|
70
|
+
}
|
|
71
|
+
return undefined;
|
|
72
|
+
}
|
|
73
|
+
const nonPersistedDigitalCredentialEntityFromAddArgs = (addCredentialArgs) => {
|
|
74
|
+
var _a;
|
|
75
|
+
const documentType = determineDocumentType(addCredentialArgs.rawDocument);
|
|
76
|
+
const documentFormat = ssi_types_1.CredentialMapper.detectDocumentType(addCredentialArgs.rawDocument);
|
|
77
|
+
if (documentFormat === 2 /* DocumentFormat.SD_JWT_VC */ && !((_a = addCredentialArgs.opts) === null || _a === void 0 ? void 0 : _a.hasher)) {
|
|
78
|
+
throw new Error('No hasher function is provided for SD_JWT credential.');
|
|
79
|
+
}
|
|
80
|
+
const uniformDocument = documentFormat === 2 /* DocumentFormat.SD_JWT_VC */
|
|
81
|
+
? (0, ssi_types_1.decodeSdJwtVc)(addCredentialArgs.rawDocument, addCredentialArgs.opts.hasher).decodedPayload
|
|
82
|
+
: documentType === digitalCredential_1.DocumentType.VC || documentType === digitalCredential_1.DocumentType.C
|
|
83
|
+
? ssi_types_1.CredentialMapper.toUniformCredential(addCredentialArgs.rawDocument)
|
|
84
|
+
: ssi_types_1.CredentialMapper.toUniformPresentation(addCredentialArgs.rawDocument);
|
|
85
|
+
const validFrom = getValidFrom(uniformDocument);
|
|
86
|
+
const validUntil = getValidUntil(uniformDocument);
|
|
87
|
+
return Object.assign(Object.assign({}, addCredentialArgs), { documentType, documentFormat: determineCredentialDocumentFormat(documentFormat), createdAt: new Date(), hash: (0, utils_1.computeEntryHash)(addCredentialArgs.rawDocument), uniformDocument: JSON.stringify(uniformDocument), validFrom,
|
|
88
|
+
validUntil, lastUpdatedAt: new Date() });
|
|
89
|
+
};
|
|
90
|
+
exports.nonPersistedDigitalCredentialEntityFromAddArgs = nonPersistedDigitalCredentialEntityFromAddArgs;
|
|
91
|
+
const digitalCredentialFrom = (credentialEntity) => {
|
|
92
|
+
return Object.assign({}, credentialEntity);
|
|
93
|
+
};
|
|
94
|
+
exports.digitalCredentialFrom = digitalCredentialFrom;
|
|
95
|
+
const digitalCredentialsFrom = (credentialEntities) => {
|
|
96
|
+
return credentialEntities.map((credentialEntity) => (0, exports.digitalCredentialFrom)(credentialEntity));
|
|
97
|
+
};
|
|
98
|
+
exports.digitalCredentialsFrom = digitalCredentialsFrom;
|
|
99
|
+
//# sourceMappingURL=MappingUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MappingUtils.js","sourceRoot":"","sources":["../../../src/utils/digitalCredential/MappingUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { DeleteExpiredStateArgs, DeleteStateArgs, GetActiveStateArgs, GetStatesArgs, SaveStateArgs, State } from '../types';
|
|
2
|
+
export declare abstract class IAbstractXStateStore {
|
|
3
|
+
abstract saveState(state: SaveStateArgs): Promise<State>;
|
|
4
|
+
abstract getActiveState(args: GetActiveStateArgs): Promise<State>;
|
|
5
|
+
abstract getStates(args?: GetStatesArgs): Promise<Array<State>>;
|
|
6
|
+
abstract deleteState(args: DeleteStateArgs): Promise<boolean>;
|
|
7
|
+
abstract deleteExpiredStates(args: DeleteExpiredStateArgs): Promise<boolean>;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=IAbstractXStateStore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IAbstractXStateStore.d.ts","sourceRoot":"","sources":["../../src/xstate/IAbstractXStateStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,kBAAkB,EAAE,aAAa,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAE3H,8BAAsB,oBAAoB;IACxC,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC;IACxD,QAAQ,CAAC,cAAc,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,KAAK,CAAC;IACjE,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC/D,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC;IAC7D,QAAQ,CAAC,mBAAmB,CAAC,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC,OAAO,CAAC;CAC7E"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IAbstractXStateStore.js","sourceRoot":"","sources":["../../src/xstate/IAbstractXStateStore.ts"],"names":[],"mappings":";;;AAEA,MAAsB,oBAAoB;CAMzC;AAND,oDAMC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { OrPromise } from '@sphereon/ssi-types';
|
|
2
|
+
import { DataSource } from 'typeorm';
|
|
3
|
+
import { StateEntity } from '../entities/xstate/StateEntity';
|
|
4
|
+
import { DeleteExpiredStateArgs, DeleteStateArgs, GetActiveStateArgs, GetStatesArgs, SaveStateArgs, State } from '../types';
|
|
5
|
+
import { IAbstractXStateStore } from './IAbstractXStateStore';
|
|
6
|
+
export declare class XStateStore extends IAbstractXStateStore {
|
|
7
|
+
private readonly dbConnection;
|
|
8
|
+
constructor(dbConnection: OrPromise<DataSource>);
|
|
9
|
+
saveState(state: SaveStateArgs): Promise<State>;
|
|
10
|
+
getActiveState(args: GetActiveStateArgs): Promise<State>;
|
|
11
|
+
getStates(args?: GetStatesArgs): Promise<Array<State>>;
|
|
12
|
+
deleteState(args: DeleteStateArgs): Promise<boolean>;
|
|
13
|
+
deleteExpiredStates(args: DeleteExpiredStateArgs): Promise<boolean>;
|
|
14
|
+
static stateFrom: (stateEntity: StateEntity) => State;
|
|
15
|
+
static stateEntityFrom: (state: State | SaveStateArgs) => StateEntity;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=XStateStore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"XStateStore.d.ts","sourceRoot":"","sources":["../../src/xstate/XStateStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAE/C,OAAO,EAAY,UAAU,EAA8B,MAAM,SAAS,CAAA;AAE1E,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAA;AAC5D,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,kBAAkB,EAAE,aAAa,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAC3H,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAI7D,qBAAa,WAAY,SAAQ,oBAAoB;IACnD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAuB;gBAExC,YAAY,EAAE,SAAS,CAAC,UAAU,CAAC;IAKzC,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC;IAM/C,cAAc,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,KAAK,CAAC;IA+BxD,SAAS,CAAC,IAAI,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAUtD,WAAW,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC;IAepD,mBAAmB,CAAC,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC,OAAO,CAAC;IAazE,OAAc,SAAS,gBAAiB,WAAW,KAAG,KAAK,CAK1D;IAED,OAAc,eAAe,UAAW,KAAK,GAAG,aAAa,KAAG,WAAW,CAK1E;CACF"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.XStateStore = void 0;
|
|
16
|
+
const debug_1 = __importDefault(require("debug"));
|
|
17
|
+
const typeorm_1 = require("typeorm");
|
|
18
|
+
const StateEntity_1 = require("../entities/xstate/StateEntity");
|
|
19
|
+
const IAbstractXStateStore_1 = require("./IAbstractXStateStore");
|
|
20
|
+
const debug = (0, debug_1.default)('sphereon:ssi-sdk:xstate');
|
|
21
|
+
class XStateStore extends IAbstractXStateStore_1.IAbstractXStateStore {
|
|
22
|
+
constructor(dbConnection) {
|
|
23
|
+
super();
|
|
24
|
+
this.dbConnection = dbConnection;
|
|
25
|
+
}
|
|
26
|
+
saveState(state) {
|
|
27
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
28
|
+
const connection = yield this.dbConnection;
|
|
29
|
+
debug(`Executing saveState with state: ${JSON.stringify(state)}`);
|
|
30
|
+
return connection.getRepository(StateEntity_1.StateEntity).save(XStateStore.stateEntityFrom(state));
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
getActiveState(args) {
|
|
34
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
35
|
+
const { tenantId, machineType } = args;
|
|
36
|
+
const connection = yield this.dbConnection;
|
|
37
|
+
debug(`Executing getActiveState query with machineType: ${machineType}, tenantId: ${tenantId}`);
|
|
38
|
+
const queryBuilder = connection
|
|
39
|
+
.getRepository(StateEntity_1.StateEntity)
|
|
40
|
+
.createQueryBuilder('state')
|
|
41
|
+
.where('state.completedAt IS NULL')
|
|
42
|
+
.andWhere(new typeorm_1.Brackets((qb) => {
|
|
43
|
+
qb.where('state.expiresAt IS NULL').orWhere('state.expiresAt > :now', { now: new Date() });
|
|
44
|
+
}))
|
|
45
|
+
.orderBy('state.updatedAt', 'DESC');
|
|
46
|
+
if (tenantId) {
|
|
47
|
+
queryBuilder.andWhere('state.tenantId = :tenantId', { tenantId });
|
|
48
|
+
}
|
|
49
|
+
if (machineType) {
|
|
50
|
+
queryBuilder.andWhere('state.machineType = :machineType', { machineType });
|
|
51
|
+
}
|
|
52
|
+
const result = yield queryBuilder.getOne();
|
|
53
|
+
if (!result) {
|
|
54
|
+
throw new Error(`No active state found for machineType: ${machineType}, tenantId: ${tenantId}`);
|
|
55
|
+
}
|
|
56
|
+
return XStateStore.stateFrom(result);
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
getStates(args) {
|
|
60
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
61
|
+
const connection = yield this.dbConnection;
|
|
62
|
+
debug('Getting states', args);
|
|
63
|
+
const result = yield connection.getRepository(StateEntity_1.StateEntity).find(Object.assign({}, ((args === null || args === void 0 ? void 0 : args.filter) && { where: args === null || args === void 0 ? void 0 : args.filter })));
|
|
64
|
+
return result.map((event) => XStateStore.stateFrom(event));
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
deleteState(args) {
|
|
68
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
69
|
+
if (!args.id) {
|
|
70
|
+
throw new Error('No id parameter is provided.');
|
|
71
|
+
}
|
|
72
|
+
try {
|
|
73
|
+
const connection = yield this.dbConnection;
|
|
74
|
+
debug(`Executing deleteState query with id: ${args.id}`);
|
|
75
|
+
const result = yield connection.getRepository(StateEntity_1.StateEntity).delete(args.id);
|
|
76
|
+
return result.affected != null && result.affected > 0;
|
|
77
|
+
}
|
|
78
|
+
catch (error) {
|
|
79
|
+
debug(`Error deleting state: ${error}`);
|
|
80
|
+
return false;
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
deleteExpiredStates(args) {
|
|
85
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
86
|
+
try {
|
|
87
|
+
const connection = yield this.dbConnection;
|
|
88
|
+
debug(`Executing deleteExpiredStates query with params: ${JSON.stringify(args)}`);
|
|
89
|
+
const deleteCriteria = Object.assign({ expiresAt: (0, typeorm_1.LessThan)(new Date()) }, (args.machineType && { type: args.machineType }));
|
|
90
|
+
const result = yield connection.getRepository(StateEntity_1.StateEntity).delete(deleteCriteria);
|
|
91
|
+
return result.affected != null && result.affected > 0;
|
|
92
|
+
}
|
|
93
|
+
catch (error) {
|
|
94
|
+
debug(`Error deleting state: ${error}`);
|
|
95
|
+
return false;
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
exports.XStateStore = XStateStore;
|
|
101
|
+
XStateStore.stateFrom = (stateEntity) => {
|
|
102
|
+
return Object.assign(Object.assign({}, stateEntity), { state: JSON.parse(stateEntity.state) });
|
|
103
|
+
};
|
|
104
|
+
XStateStore.stateEntityFrom = (state) => {
|
|
105
|
+
const entity = new StateEntity_1.StateEntity();
|
|
106
|
+
Object.assign(entity, state);
|
|
107
|
+
entity.state = JSON.stringify(state.state);
|
|
108
|
+
return entity;
|
|
109
|
+
};
|
|
110
|
+
//# sourceMappingURL=XStateStore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"XStateStore.js","sourceRoot":"","sources":["../../src/xstate/XStateStore.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sphereon/ssi-sdk.data-store",
|
|
3
|
-
"version": "0.19.1-
|
|
3
|
+
"version": "0.19.1-unstable.63+a98fb8b0",
|
|
4
4
|
"source": "src/index.ts",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -13,9 +13,10 @@
|
|
|
13
13
|
"typeorm-postgres:migration:run": "pnpm run typeorm -- migration:run -c migration-postgres"
|
|
14
14
|
},
|
|
15
15
|
"dependencies": {
|
|
16
|
-
"@sphereon/ssi-sdk.core": "0.19.1-
|
|
17
|
-
"@sphereon/ssi-types": "0.19.1-
|
|
16
|
+
"@sphereon/ssi-sdk.core": "0.19.1-unstable.63+a98fb8b0",
|
|
17
|
+
"@sphereon/ssi-types": "0.19.1-unstable.63+a98fb8b0",
|
|
18
18
|
"@veramo/core": "4.2.0",
|
|
19
|
+
"@veramo/utils": "4.2.0",
|
|
19
20
|
"class-validator": "^0.14.0",
|
|
20
21
|
"debug": "^4.3.4",
|
|
21
22
|
"typeorm": "^0.3.12"
|
|
@@ -43,5 +44,5 @@
|
|
|
43
44
|
"PostgreSQL",
|
|
44
45
|
"Contact Store"
|
|
45
46
|
],
|
|
46
|
-
"gitHead": "
|
|
47
|
+
"gitHead": "a98fb8b0055b8fcb78c3865770014c00ddd0dc2a"
|
|
47
48
|
}
|