@sphereon/ssi-sdk.wellknown-did-issuer 0.33.1-feature.vcdm2.tsup.31 → 0.33.1-next.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/dist/agent/WellKnownDidIssuer.d.ts +35 -0
  2. package/dist/agent/WellKnownDidIssuer.d.ts.map +1 -0
  3. package/dist/agent/WellKnownDidIssuer.js +218 -0
  4. package/dist/agent/WellKnownDidIssuer.js.map +1 -0
  5. package/dist/entities/DidConfigurationResourceEntity.d.ts +14 -0
  6. package/dist/entities/DidConfigurationResourceEntity.d.ts.map +1 -0
  7. package/dist/entities/DidConfigurationResourceEntity.js +103 -0
  8. package/dist/entities/DidConfigurationResourceEntity.js.map +1 -0
  9. package/dist/index.d.ts +8 -112
  10. package/dist/index.d.ts.map +1 -0
  11. package/dist/index.js +31 -3992
  12. package/dist/index.js.map +1 -1
  13. package/dist/migrations/generic/1-CreateWellknownDidIssuer.d.ts +7 -0
  14. package/dist/migrations/generic/1-CreateWellknownDidIssuer.d.ts.map +1 -0
  15. package/dist/migrations/generic/1-CreateWellknownDidIssuer.js +72 -0
  16. package/dist/migrations/generic/1-CreateWellknownDidIssuer.js.map +1 -0
  17. package/dist/migrations/generic/index.d.ts +10 -0
  18. package/dist/migrations/generic/index.d.ts.map +1 -0
  19. package/dist/migrations/generic/index.js +13 -0
  20. package/dist/migrations/generic/index.js.map +1 -0
  21. package/dist/migrations/index.d.ts +2 -0
  22. package/dist/migrations/index.d.ts.map +1 -0
  23. package/dist/migrations/index.js +6 -0
  24. package/dist/migrations/index.js.map +1 -0
  25. package/dist/migrations/internal-migrations-ormconfig.d.ts +7 -0
  26. package/dist/migrations/internal-migrations-ormconfig.d.ts.map +1 -0
  27. package/dist/migrations/internal-migrations-ormconfig.js +29 -0
  28. package/dist/migrations/internal-migrations-ormconfig.js.map +1 -0
  29. package/dist/migrations/postgres/1661165115000-CreateWellknownDidIssuer.d.ts +7 -0
  30. package/dist/migrations/postgres/1661165115000-CreateWellknownDidIssuer.d.ts.map +1 -0
  31. package/dist/migrations/postgres/1661165115000-CreateWellknownDidIssuer.js +31 -0
  32. package/dist/migrations/postgres/1661165115000-CreateWellknownDidIssuer.js.map +1 -0
  33. package/dist/migrations/sqlite/1661161799000-CreateWellknownDidIssuer.d.ts +7 -0
  34. package/dist/migrations/sqlite/1661161799000-CreateWellknownDidIssuer.d.ts.map +1 -0
  35. package/dist/migrations/sqlite/1661161799000-CreateWellknownDidIssuer.js +31 -0
  36. package/dist/migrations/sqlite/1661161799000-CreateWellknownDidIssuer.js.map +1 -0
  37. package/dist/types/IWellKnownDidIssuer.d.ts +51 -0
  38. package/dist/types/IWellKnownDidIssuer.d.ts.map +1 -0
  39. package/dist/types/IWellKnownDidIssuer.js +3 -0
  40. package/dist/types/IWellKnownDidIssuer.js.map +1 -0
  41. package/package.json +15 -27
  42. package/src/agent/WellKnownDidIssuer.ts +0 -2
  43. package/dist/index.cjs +0 -4045
  44. package/dist/index.cjs.map +0 -1
  45. package/dist/index.d.cts +0 -116
@@ -0,0 +1,35 @@
1
+ import { DomainLinkageCredential, IDidConfigurationResource } from '@sphereon/wellknown-dids-client';
2
+ import { IAgentPlugin } from '@veramo/core';
3
+ import { OrPromise } from '@veramo/utils';
4
+ import { Connection } from 'typeorm';
5
+ import { IAddLinkedDomainsServiceArgs, IGetDidConfigurationResourceArgs, IIssueDomainLinkageCredentialArgs, ISaveDidConfigurationResourceArgs, IWellKnownDidIssuer, IWellKnownDidIssuerOptionsArgs, RequiredContext } from '../types/IWellKnownDidIssuer';
6
+ /**
7
+ * {@inheritDoc IWellKnownDidIssuer}
8
+ */
9
+ export declare class WellKnownDidIssuer implements IAgentPlugin {
10
+ private dbConnection;
11
+ readonly schema: any;
12
+ readonly methods: IWellKnownDidIssuer;
13
+ private readonly credentialIssuances;
14
+ private readonly didConfigurationResourceRelations;
15
+ constructor(dbConnection: OrPromise<Connection>, args?: IWellKnownDidIssuerOptionsArgs);
16
+ /** {@inheritDoc IWellKnownDidIssuer.registerSignatureVerification} */
17
+ private registerCredentialIssuance;
18
+ /** {@inheritDoc IWellKnownDidIssuer.removeSignatureVerification} */
19
+ private removeCredentialIssuance;
20
+ /** {@inheritDoc IWellKnownDidIssuer.issueDidConfigurationResource} */
21
+ private issueDidConfigurationResource;
22
+ /** {@inheritDoc IWellKnownDidIssuer.saveDidConfigurationResource} */
23
+ saveDidConfigurationResource(args: ISaveDidConfigurationResourceArgs, context: RequiredContext): Promise<void>;
24
+ /** {@inheritDoc IWellKnownDidIssuer.getDidConfigurationResource} */
25
+ getDidConfigurationResource(args: IGetDidConfigurationResourceArgs, context: RequiredContext): Promise<IDidConfigurationResource>;
26
+ /** {@inheritDoc IWellKnownDidIssuer.issueDomainLinkageCredential} */
27
+ issueDomainLinkageCredential(args: IIssueDomainLinkageCredentialArgs, context: RequiredContext): Promise<DomainLinkageCredential>;
28
+ /** {@inheritDoc IWellKnownDidIssuer.addLinkedDomainsService} */
29
+ addLinkedDomainsService(args: IAddLinkedDomainsServiceArgs, context: RequiredContext): Promise<void>;
30
+ private getCredentialIssuance;
31
+ private saveDomainLinkageCredential;
32
+ private normalizeCredential;
33
+ private mapIssuances;
34
+ }
35
+ //# sourceMappingURL=WellKnownDidIssuer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WellKnownDidIssuer.d.ts","sourceRoot":"","sources":["../../src/agent/WellKnownDidIssuer.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,uBAAuB,EACvB,yBAAyB,EAI1B,MAAM,iCAAiC,CAAA;AACxC,OAAO,EAAE,YAAY,EAAqC,MAAM,cAAc,CAAA;AAC9E,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAGzC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAIpC,OAAO,EACL,4BAA4B,EAC5B,gCAAgC,EAEhC,iCAAiC,EAGjC,iCAAiC,EACjC,mBAAmB,EACnB,8BAA8B,EAC9B,eAAe,EAChB,MAAM,8BAA8B,CAAA;AAGrC;;GAEG;AACH,qBAAa,kBAAmB,YAAW,YAAY;IAgBnD,OAAO,CAAC,YAAY;IAftB,QAAQ,CAAC,MAAM,MAA+B;IAC9C,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAQpC;IAED,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAkC;IACtE,OAAO,CAAC,QAAQ,CAAC,iCAAiC,CAAiB;gBAGzD,YAAY,EAAE,SAAS,CAAC,UAAU,CAAC,EAC3C,IAAI,CAAC,EAAE,8BAA8B;IAKvC,sEAAsE;YACxD,0BAA0B;IAQxC,oEAAoE;YACtD,wBAAwB;IAItC,sEAAsE;YACxD,6BAA6B;IAsC3C,qEAAqE;IACxD,4BAA4B,CAAC,IAAI,EAAE,iCAAiC,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAY3H,oEAAoE;IACvD,2BAA2B,CAAC,IAAI,EAAE,gCAAgC,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAa9I,qEAAqE;IACxD,4BAA4B,CAAC,IAAI,EAAE,iCAAiC,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,uBAAuB,CAAC;IA0C9I,gEAAgE;IACnD,uBAAuB,CAAC,IAAI,EAAE,4BAA4B,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;YAoCnG,qBAAqB;YAQrB,2BAA2B;IAiBzC,OAAO,CAAC,mBAAmB;YAIb,YAAY;CAY3B"}
@@ -0,0 +1,218 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.WellKnownDidIssuer = void 0;
13
+ const ssi_sdk_credential_store_1 = require("@sphereon/ssi-sdk.credential-store");
14
+ const ssi_types_1 = require("@sphereon/ssi-types");
15
+ const wellknown_dids_client_1 = require("@sphereon/wellknown-dids-client");
16
+ const did_jwt_vc_1 = require("did-jwt-vc");
17
+ const uuid_1 = require("uuid");
18
+ const DidConfigurationResourceEntity_1 = require("../entities/DidConfigurationResourceEntity");
19
+ const index_1 = require("../index");
20
+ const ssi_sdk_data_store_1 = require("@sphereon/ssi-sdk.data-store");
21
+ /**
22
+ * {@inheritDoc IWellKnownDidIssuer}
23
+ */
24
+ class WellKnownDidIssuer {
25
+ constructor(dbConnection, args) {
26
+ this.dbConnection = dbConnection;
27
+ this.schema = index_1.schema.IWellKnownDidVerifier;
28
+ this.methods = {
29
+ addLinkedDomainsService: this.addLinkedDomainsService.bind(this),
30
+ getDidConfigurationResource: this.getDidConfigurationResource.bind(this),
31
+ issueDidConfigurationResource: this.issueDidConfigurationResource.bind(this),
32
+ issueDomainLinkageCredential: this.issueDomainLinkageCredential.bind(this),
33
+ registerCredentialIssuance: this.registerCredentialIssuance.bind(this),
34
+ removeCredentialIssuance: this.removeCredentialIssuance.bind(this),
35
+ saveDidConfigurationResource: this.saveDidConfigurationResource.bind(this),
36
+ };
37
+ this.didConfigurationResourceRelations = ['linkedDids'];
38
+ this.credentialIssuances = (args && args.credentialIssuances) || {};
39
+ }
40
+ /** {@inheritDoc IWellKnownDidIssuer.registerSignatureVerification} */
41
+ registerCredentialIssuance(args, context) {
42
+ return __awaiter(this, void 0, void 0, function* () {
43
+ if (this.credentialIssuances[args.callbackName] !== undefined) {
44
+ return Promise.reject(new Error(`Credential issuance with callbackName: ${args.callbackName} already present`));
45
+ }
46
+ this.credentialIssuances[args.callbackName] = args.credentialIssuance;
47
+ });
48
+ }
49
+ /** {@inheritDoc IWellKnownDidIssuer.removeSignatureVerification} */
50
+ removeCredentialIssuance(args, context) {
51
+ return __awaiter(this, void 0, void 0, function* () {
52
+ return delete this.credentialIssuances[args.callbackName];
53
+ });
54
+ }
55
+ /** {@inheritDoc IWellKnownDidIssuer.issueDidConfigurationResource} */
56
+ issueDidConfigurationResource(args, context) {
57
+ return __awaiter(this, void 0, void 0, function* () {
58
+ if (!args.issuances.every((issuance) => issuance.origin === args.issuances[0].origin)) {
59
+ return Promise.reject(Error('All verifiableCredentials should be issued for the same origin'));
60
+ }
61
+ // TODO We should combine all origins into one service when we update to Veramo 3.1.6.next-165 or higher, as then we can support multiple origins
62
+ const addServices = args.issuances.map((issuance) => this.addLinkedDomainsService({
63
+ did: issuance.did,
64
+ origin: issuance.origin,
65
+ serviceId: issuance.serviceId,
66
+ }, context));
67
+ return Promise.all(addServices).then(() => __awaiter(this, void 0, void 0, function* () {
68
+ return new wellknown_dids_client_1.WellKnownDidIssuer()
69
+ .issueDidConfigurationResource({
70
+ issuances: yield this.mapIssuances(args.issuances),
71
+ issueCallback: typeof args.credentialIssuance === 'string' ? yield this.getCredentialIssuance(args.credentialIssuance) : args.credentialIssuance,
72
+ })
73
+ .then((didConfigurationResource) => __awaiter(this, void 0, void 0, function* () {
74
+ if (args.save) {
75
+ // TODO add support for multiple origins when we upgrade Veramo version
76
+ yield this.saveDidConfigurationResource({ origin: args.issuances[0].origin, didConfigurationResource }, context);
77
+ }
78
+ return didConfigurationResource;
79
+ }))
80
+ .catch((error) => Promise.reject(Error(`Unable to issue DID configuration resource. Error: ${error.message}`)));
81
+ }));
82
+ });
83
+ }
84
+ /** {@inheritDoc IWellKnownDidIssuer.saveDidConfigurationResource} */
85
+ saveDidConfigurationResource(args, context) {
86
+ return __awaiter(this, void 0, void 0, function* () {
87
+ const didConfigurationEntity = {
88
+ origin: args.origin,
89
+ context: args.didConfigurationResource['@context'],
90
+ linkedDids: args.didConfigurationResource.linked_dids.map((credential) => (0, DidConfigurationResourceEntity_1.createCredentialEntity)(this.normalizeCredential(credential))),
91
+ };
92
+ yield (yield this.dbConnection).getRepository(DidConfigurationResourceEntity_1.DidConfigurationResourceEntity).save(didConfigurationEntity, { transaction: true });
93
+ });
94
+ }
95
+ /** {@inheritDoc IWellKnownDidIssuer.getDidConfigurationResource} */
96
+ getDidConfigurationResource(args, context) {
97
+ return __awaiter(this, void 0, void 0, function* () {
98
+ const result = yield (yield this.dbConnection).getRepository(DidConfigurationResourceEntity_1.DidConfigurationResourceEntity).findOne({
99
+ where: { origin: args.origin },
100
+ relations: this.didConfigurationResourceRelations,
101
+ });
102
+ if (!result) {
103
+ return Promise.reject(Error(`No DID configuration resource found for origin: ${args.origin}`));
104
+ }
105
+ return (0, DidConfigurationResourceEntity_1.didConfigurationResourceFrom)(result);
106
+ });
107
+ }
108
+ /** {@inheritDoc IWellKnownDidIssuer.issueDomainLinkageCredential} */
109
+ issueDomainLinkageCredential(args, context) {
110
+ return __awaiter(this, void 0, void 0, function* () {
111
+ const did = (0, ssi_types_1.parseDid)(args.did).did;
112
+ if (new URL(args.origin).origin !== args.origin) {
113
+ return Promise.reject(Error(`Origin ${args.origin} is not valid`));
114
+ }
115
+ if (new URL(args.origin).protocol !== 'https:') {
116
+ return Promise.reject(Error(`Origin ${args.origin} is not a https URL`));
117
+ }
118
+ if (args.issuanceDate && isNaN(Date.parse(args.issuanceDate))) {
119
+ return Promise.reject(Error(`IssuanceDate ${args.issuanceDate} is not a valid date`));
120
+ }
121
+ if (isNaN(Date.parse(args.expirationDate))) {
122
+ return Promise.reject(Error(`ExpirationDate ${args.expirationDate} is not a valid date`));
123
+ }
124
+ const credentialIssuance = typeof args.credentialIssuance === 'string'
125
+ ? yield this.getCredentialIssuance(args.credentialIssuance)
126
+ : args.credentialIssuance;
127
+ return new wellknown_dids_client_1.WellKnownDidIssuer()
128
+ .issueDomainLinkageCredential({
129
+ did,
130
+ origin: args.origin,
131
+ issuanceDate: args.issuanceDate,
132
+ expirationDate: args.expirationDate,
133
+ options: args.options,
134
+ issueCallback: credentialIssuance,
135
+ })
136
+ .then((credential) => __awaiter(this, void 0, void 0, function* () {
137
+ if (args.save) {
138
+ yield this.saveDomainLinkageCredential(credential, context);
139
+ }
140
+ return credential;
141
+ }))
142
+ .catch((error) => Promise.reject(Error(`Unable to issue domain linkage credential for DID: ${did}. Error: ${error.message}`)));
143
+ });
144
+ }
145
+ /** {@inheritDoc IWellKnownDidIssuer.addLinkedDomainsService} */
146
+ addLinkedDomainsService(args, context) {
147
+ return __awaiter(this, void 0, void 0, function* () {
148
+ const did = (0, ssi_types_1.parseDid)(args.did).did;
149
+ if (new URL(args.origin).origin !== args.origin) {
150
+ return Promise.reject(Error(`Origin ${args.origin} is not valid`));
151
+ }
152
+ if (new URL(args.origin).protocol !== 'https:') {
153
+ return Promise.reject(Error(`Origin ${args.origin} is not a https URL`));
154
+ }
155
+ context.agent
156
+ .didManagerGet({ did })
157
+ .catch(() => Promise.reject(Error('DID cannot be found')))
158
+ .then((identifier) => __awaiter(this, void 0, void 0, function* () {
159
+ if (!identifier.services ||
160
+ identifier.services.filter(
161
+ // TODO we should also check for the origins in the serviceEndpoint objects when we start supporting multiple origins
162
+ (service) => service.type === wellknown_dids_client_1.ServiceTypesEnum.LINKED_DOMAINS && service.serviceEndpoint === args.origin).length === 0) {
163
+ yield context.agent.didManagerAddService({
164
+ did: identifier.did,
165
+ service: {
166
+ id: args.serviceId || (0, uuid_1.v4)(),
167
+ type: wellknown_dids_client_1.ServiceTypesEnum.LINKED_DOMAINS,
168
+ // TODO We should support a serviceEndpoint object here when we update to Veramo 3.1.6.next-165 or higher, as then we can support multiple origins
169
+ serviceEndpoint: args.origin,
170
+ },
171
+ });
172
+ }
173
+ }))
174
+ .catch((error) => Promise.reject(Error(`Unable to add LinkedDomains service to DID: ${args.did}. Error: ${error.message}`)));
175
+ });
176
+ }
177
+ getCredentialIssuance(callbackName) {
178
+ return __awaiter(this, void 0, void 0, function* () {
179
+ if (this.credentialIssuances[callbackName] === undefined) {
180
+ return Promise.reject(new Error(`Credential issuance not found for callbackName: ${callbackName}`));
181
+ }
182
+ return this.credentialIssuances[callbackName];
183
+ });
184
+ }
185
+ saveDomainLinkageCredential(credential, context) {
186
+ return __awaiter(this, void 0, void 0, function* () {
187
+ const vc = this.normalizeCredential(credential);
188
+ return context.agent.crsAddCredential({
189
+ credential: {
190
+ rawDocument: JSON.stringify(vc),
191
+ credentialRole: ssi_sdk_credential_store_1.CredentialRole.ISSUER,
192
+ regulationType: ssi_sdk_data_store_1.RegulationType.NON_REGULATED, // FIXME funke
193
+ kmsKeyRef: 'FIXME', // FIXME funke
194
+ identifierMethod: 'did',
195
+ issuerCorrelationId: ssi_types_1.CredentialMapper.issuerCorrelationIdFromIssuerType(vc.issuer),
196
+ issuerCorrelationType: ssi_sdk_credential_store_1.CredentialCorrelationType.DID,
197
+ subjectCorrelationId: ssi_types_1.CredentialMapper.issuerCorrelationIdFromIssuerType(vc.issuer), // FIXME get separate did for subject
198
+ subjectCorrelationType: ssi_sdk_credential_store_1.CredentialCorrelationType.DID,
199
+ },
200
+ });
201
+ });
202
+ }
203
+ normalizeCredential(credential) {
204
+ return typeof credential === 'string' ? (0, did_jwt_vc_1.normalizeCredential)(credential) : credential;
205
+ }
206
+ mapIssuances(issuances) {
207
+ return __awaiter(this, void 0, void 0, function* () {
208
+ const promises = issuances.map((issuance) => __awaiter(this, void 0, void 0, function* () {
209
+ return Object.assign(Object.assign({}, issuance), { issueCallback: typeof issuance.credentialIssuance === 'string'
210
+ ? yield this.getCredentialIssuance(issuance.credentialIssuance)
211
+ : issuance.credentialIssuance });
212
+ }));
213
+ return Promise.all(promises);
214
+ });
215
+ }
216
+ }
217
+ exports.WellKnownDidIssuer = WellKnownDidIssuer;
218
+ //# sourceMappingURL=WellKnownDidIssuer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WellKnownDidIssuer.js","sourceRoot":"","sources":["../../src/agent/WellKnownDidIssuer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { IDidConfigurationResource } from '@sphereon/wellknown-dids-client';
2
+ import { VerifiableCredential } from '@veramo/core';
3
+ import { Credential } from '@veramo/data-store';
4
+ import { BaseEntity } from 'typeorm';
5
+ export declare class DidConfigurationResourceEntity extends BaseEntity {
6
+ origin: string;
7
+ context: string;
8
+ linkedDids: Array<Credential>;
9
+ createdAt: Date;
10
+ lastUpdatedAt: Date;
11
+ }
12
+ export declare const didConfigurationResourceFrom: (didConfigurationResource: DidConfigurationResourceEntity) => IDidConfigurationResource;
13
+ export declare const createCredentialEntity: (vci: VerifiableCredential) => Credential;
14
+ //# sourceMappingURL=DidConfigurationResourceEntity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DidConfigurationResourceEntity.d.ts","sourceRoot":"","sources":["../../src/entities/DidConfigurationResourceEntity.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,yBAAyB,EAAkC,MAAM,iCAAiC,CAAA;AACpI,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AACnD,OAAO,EAAE,UAAU,EAAqB,MAAM,oBAAoB,CAAA;AAElE,OAAO,EAA4F,UAAU,EAAE,MAAM,SAAS,CAAA;AAE9H,qBACa,8BAA+B,SAAQ,UAAU;IAE5D,MAAM,EAAG,MAAM,CAAA;IAGf,OAAO,EAAG,MAAM,CAAA;IAKhB,UAAU,EAAG,KAAK,CAAC,UAAU,CAAC,CAAA;IAG9B,SAAS,EAAG,IAAI,CAAA;IAGhB,aAAa,EAAG,IAAI,CAAA;CACrB;AAED,eAAO,MAAM,4BAA4B,6BAA8B,8BAA8B,KAAG,yBAKvG,CAAA;AAUD,eAAO,MAAM,sBAAsB,QAAS,oBAAoB,KAAG,UAiDlE,CAAA"}
@@ -0,0 +1,103 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.createCredentialEntity = exports.didConfigurationResourceFrom = exports.DidConfigurationResourceEntity = void 0;
13
+ const data_store_1 = require("@veramo/data-store");
14
+ const utils_1 = require("@veramo/utils");
15
+ const typeorm_1 = require("typeorm");
16
+ let DidConfigurationResourceEntity = class DidConfigurationResourceEntity extends typeorm_1.BaseEntity {
17
+ };
18
+ exports.DidConfigurationResourceEntity = DidConfigurationResourceEntity;
19
+ __decorate([
20
+ (0, typeorm_1.PrimaryColumn)({ nullable: false }),
21
+ __metadata("design:type", String)
22
+ ], DidConfigurationResourceEntity.prototype, "origin", void 0);
23
+ __decorate([
24
+ (0, typeorm_1.Column)({ nullable: false }),
25
+ __metadata("design:type", String)
26
+ ], DidConfigurationResourceEntity.prototype, "context", void 0);
27
+ __decorate([
28
+ (0, typeorm_1.ManyToMany)(() => data_store_1.Credential, (credential) => credential.hash, { nullable: false, cascade: true, onDelete: 'NO ACTION' }),
29
+ (0, typeorm_1.JoinTable)({ name: 'DidConfigurationResourceCredentials' }),
30
+ __metadata("design:type", Array)
31
+ ], DidConfigurationResourceEntity.prototype, "linkedDids", void 0);
32
+ __decorate([
33
+ (0, typeorm_1.CreateDateColumn)({ name: 'created_at', nullable: false }),
34
+ __metadata("design:type", Date)
35
+ ], DidConfigurationResourceEntity.prototype, "createdAt", void 0);
36
+ __decorate([
37
+ (0, typeorm_1.UpdateDateColumn)({ name: 'last_updated_at', nullable: false }),
38
+ __metadata("design:type", Date)
39
+ ], DidConfigurationResourceEntity.prototype, "lastUpdatedAt", void 0);
40
+ exports.DidConfigurationResourceEntity = DidConfigurationResourceEntity = __decorate([
41
+ (0, typeorm_1.Entity)('DidConfigurationResource')
42
+ ], DidConfigurationResourceEntity);
43
+ const didConfigurationResourceFrom = (didConfigurationResource) => {
44
+ return {
45
+ '@context': didConfigurationResource.context,
46
+ linked_dids: linkedDidsFrom(didConfigurationResource.linkedDids),
47
+ };
48
+ };
49
+ exports.didConfigurationResourceFrom = didConfigurationResourceFrom;
50
+ const linkedDidsFrom = (credentials) => {
51
+ return credentials.map((credential) => {
52
+ var _a, _b, _c, _d;
53
+ return ((_b = (_a = credential === null || credential === void 0 ? void 0 : credential.raw) === null || _a === void 0 ? void 0 : _a.proof) === null || _b === void 0 ? void 0 : _b.type) === 'JwtProof2020' && typeof ((_d = (_c = credential === null || credential === void 0 ? void 0 : credential.raw) === null || _c === void 0 ? void 0 : _c.proof) === null || _d === void 0 ? void 0 : _d.jwt) === 'string'
54
+ ? credential.raw.proof.jwt
55
+ : credential.raw;
56
+ });
57
+ };
58
+ const createCredentialEntity = (vci) => {
59
+ const vc = vci;
60
+ const credential = new data_store_1.Credential();
61
+ credential.context = (0, utils_1.asArray)(vc['@context']);
62
+ credential.type = (0, utils_1.asArray)(vc.type || []);
63
+ credential.id = vc.id;
64
+ if (vc.issuanceDate) {
65
+ credential.issuanceDate = new Date(vc.issuanceDate);
66
+ }
67
+ if (vc.expirationDate) {
68
+ credential.expirationDate = new Date(vc.expirationDate);
69
+ }
70
+ const issuer = new data_store_1.Identifier();
71
+ issuer.did = (0, utils_1.extractIssuer)(vc);
72
+ credential.issuer = issuer;
73
+ if (vc.credentialSubject.id) {
74
+ const subject = new data_store_1.Identifier();
75
+ subject.did = vc.credentialSubject.id;
76
+ credential.subject = subject;
77
+ }
78
+ credential.claims = [];
79
+ for (const type in vc.credentialSubject) {
80
+ if (vc.credentialSubject.hasOwnProperty(type)) {
81
+ const value = vc.credentialSubject[type];
82
+ if (type !== 'id') {
83
+ const isObj = typeof value === 'function' || (typeof value === 'object' && !!value);
84
+ const claim = new data_store_1.Claim();
85
+ claim.hash = (0, utils_1.computeEntryHash)(JSON.stringify(vc) + type);
86
+ claim.type = type;
87
+ claim.value = isObj ? JSON.stringify(value) : value;
88
+ claim.isObj = isObj;
89
+ claim.issuer = credential.issuer;
90
+ claim.subject = credential.subject;
91
+ claim.expirationDate = credential.expirationDate;
92
+ claim.issuanceDate = credential.issuanceDate;
93
+ claim.credentialType = credential.type;
94
+ claim.context = credential.context;
95
+ credential.claims.push(claim);
96
+ }
97
+ }
98
+ }
99
+ credential.raw = vci;
100
+ return credential;
101
+ };
102
+ exports.createCredentialEntity = createCredentialEntity;
103
+ //# sourceMappingURL=DidConfigurationResourceEntity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DidConfigurationResourceEntity.js","sourceRoot":"","sources":["../../src/entities/DidConfigurationResourceEntity.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,116 +1,12 @@
1
- import { Credential } from '@veramo/data-store';
2
- import { BaseEntity, Connection, MigrationInterface, QueryRunner } from 'typeorm';
3
- import { IDidConfigurationResource, IIssueDomainLinkageCredentialOptions, IssuanceCallback, DomainLinkageCredential } from '@sphereon/wellknown-dids-client';
4
- import { IPluginMethodMap, IAgentContext, IDIDManager, IAgentPlugin } from '@veramo/core';
5
- import { OrPromise } from '@veramo/utils';
6
- import { ICredentialStore } from '@sphereon/ssi-sdk.credential-store';
7
-
8
- declare class DidConfigurationResourceEntity extends BaseEntity {
9
- origin: string;
10
- context: string;
11
- linkedDids: Array<Credential>;
12
- createdAt: Date;
13
- lastUpdatedAt: Date;
14
- }
15
-
16
- interface IWellKnownDidIssuer extends IPluginMethodMap {
17
- addLinkedDomainsService(args: IAddLinkedDomainsServiceArgs, context: RequiredContext): Promise<void>;
18
- getDidConfigurationResource(args: IGetDidConfigurationResourceArgs, context: RequiredContext): Promise<IDidConfigurationResource>;
19
- issueDidConfigurationResource(args: IIssueDidConfigurationResourceArgs, context: RequiredContext): Promise<IDidConfigurationResource>;
20
- issueDomainLinkageCredential(args: IIssueDomainLinkageCredentialArgs, context: RequiredContext): Promise<DomainLinkageCredential>;
21
- registerCredentialIssuance(args: IRegisterIssueCredentialArgs, context: RequiredContext): Promise<void>;
22
- removeCredentialIssuance(args: IRemoveCredentialIssuanceArgs, context: RequiredContext): Promise<boolean>;
23
- saveDidConfigurationResource(args: ISaveDidConfigurationResourceArgs, context: RequiredContext): Promise<void>;
24
- }
25
- interface IWellKnownDidIssuerOptionsArgs {
26
- credentialIssuances?: Record<string, IssuanceCallback>;
27
- }
28
- interface IRegisterIssueCredentialArgs {
29
- callbackName: string;
30
- credentialIssuance: IssuanceCallback;
31
- }
32
- interface IRemoveCredentialIssuanceArgs {
33
- callbackName: string;
34
- }
35
- interface IIssueDidConfigurationResourceArgs {
36
- issuances: Array<IIssueDomainLinkageCredentialArgs>;
37
- credentialIssuance?: string | IssuanceCallback;
38
- save?: boolean;
39
- }
40
- interface IIssueDomainLinkageCredentialArgs {
41
- did: string;
42
- origin: string;
43
- serviceId?: string;
44
- issuanceDate?: string;
45
- expirationDate: string;
46
- save?: boolean;
47
- options: IIssueDomainLinkageCredentialOptions;
48
- credentialIssuance?: string | IssuanceCallback;
49
- }
50
- interface IGetDidConfigurationResourceArgs {
51
- origin: string;
52
- }
53
- interface IAddLinkedDomainsServiceArgs {
54
- did: string;
55
- origin: string;
56
- serviceId?: string;
57
- }
58
- interface ISaveDidConfigurationResourceArgs {
59
- origin: string;
60
- didConfigurationResource: IDidConfigurationResource;
61
- }
62
- type RequiredContext = IAgentContext<IDIDManager & ICredentialStore>;
63
-
64
- /**
65
- * {@inheritDoc IWellKnownDidIssuer}
66
- */
67
- declare class WellKnownDidIssuer implements IAgentPlugin {
68
- private dbConnection;
69
- readonly schema: any;
70
- readonly methods: IWellKnownDidIssuer;
71
- private readonly credentialIssuances;
72
- private readonly didConfigurationResourceRelations;
73
- constructor(dbConnection: OrPromise<Connection>, args?: IWellKnownDidIssuerOptionsArgs);
74
- /** {@inheritDoc IWellKnownDidIssuer.registerSignatureVerification} */
75
- private registerCredentialIssuance;
76
- /** {@inheritDoc IWellKnownDidIssuer.removeSignatureVerification} */
77
- private removeCredentialIssuance;
78
- /** {@inheritDoc IWellKnownDidIssuer.issueDidConfigurationResource} */
79
- private issueDidConfigurationResource;
80
- /** {@inheritDoc IWellKnownDidIssuer.saveDidConfigurationResource} */
81
- saveDidConfigurationResource(args: ISaveDidConfigurationResourceArgs, context: RequiredContext): Promise<void>;
82
- /** {@inheritDoc IWellKnownDidIssuer.getDidConfigurationResource} */
83
- getDidConfigurationResource(args: IGetDidConfigurationResourceArgs, context: RequiredContext): Promise<IDidConfigurationResource>;
84
- /** {@inheritDoc IWellKnownDidIssuer.issueDomainLinkageCredential} */
85
- issueDomainLinkageCredential(args: IIssueDomainLinkageCredentialArgs, context: RequiredContext): Promise<DomainLinkageCredential>;
86
- /** {@inheritDoc IWellKnownDidIssuer.addLinkedDomainsService} */
87
- addLinkedDomainsService(args: IAddLinkedDomainsServiceArgs, context: RequiredContext): Promise<void>;
88
- private getCredentialIssuance;
89
- private saveDomainLinkageCredential;
90
- private normalizeCredential;
91
- private mapIssuances;
92
- }
93
-
94
- declare class CreateWellknownDidIssuer1661162010000 implements MigrationInterface {
95
- name: string;
96
- up(queryRunner: QueryRunner): Promise<void>;
97
- down(queryRunner: QueryRunner): Promise<void>;
98
- }
99
-
100
- /**
101
- * The migrations array that SHOULD be used when initializing a TypeORM database connection.
102
- *
103
- * These ensure the correct creation of tables and the proper migrations of data when tables change between versions.
104
- *
105
- * @public
106
- */
107
- declare const WellknownDidIssuerMigrations: (typeof CreateWellknownDidIssuer1661162010000)[];
108
-
1
+ import { DidConfigurationResourceEntity } from './entities/DidConfigurationResourceEntity';
109
2
  /**
110
3
  * @public
111
4
  */
112
5
  declare const schema: any;
113
-
114
- declare const WellknownDidIssuerEntities: (typeof DidConfigurationResourceEntity)[];
115
-
116
- export { DidConfigurationResourceEntity, type IAddLinkedDomainsServiceArgs, type IGetDidConfigurationResourceArgs, type IIssueDidConfigurationResourceArgs, type IIssueDomainLinkageCredentialArgs, type IRegisterIssueCredentialArgs, type IRemoveCredentialIssuanceArgs, type ISaveDidConfigurationResourceArgs, type IWellKnownDidIssuer, type IWellKnownDidIssuerOptionsArgs, type RequiredContext, WellKnownDidIssuer, WellknownDidIssuerEntities, WellknownDidIssuerMigrations, schema };
6
+ export { schema };
7
+ export { DidConfigurationResourceEntity } from './entities/DidConfigurationResourceEntity';
8
+ export { WellKnownDidIssuer } from './agent/WellKnownDidIssuer';
9
+ export * from './types/IWellKnownDidIssuer';
10
+ export declare const WellknownDidIssuerEntities: (typeof DidConfigurationResourceEntity)[];
11
+ export { WellknownDidIssuerMigrations } from './migrations';
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,2CAA2C,CAAA;AAE1F;;GAEG;AACH,QAAA,MAAM,MAAM,KAAmC,CAAA;AAC/C,OAAO,EAAE,MAAM,EAAE,CAAA;AACjB,OAAO,EAAE,8BAA8B,EAAE,MAAM,2CAA2C,CAAA;AAC1F,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAC/D,cAAc,6BAA6B,CAAA;AAC3C,eAAO,MAAM,0BAA0B,2CAAmC,CAAA;AAC1E,OAAO,EAAE,4BAA4B,EAAE,MAAM,cAAc,CAAA"}