@nmshd/runtime 2.0.0-beta.14 → 2.0.0-beta.17
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/Runtime.d.ts +1 -1
- package/dist/Runtime.js +6 -4
- package/dist/Runtime.js.map +1 -1
- package/dist/buildInformation.js +5 -5
- package/dist/events/consumption/MessageProcessedEvent.d.ts +14 -0
- package/dist/events/consumption/MessageProcessedEvent.js +17 -0
- package/dist/events/consumption/MessageProcessedEvent.js.map +1 -0
- package/dist/events/consumption/RelationshipTemplateProcessedEvent.d.ts +17 -0
- package/dist/events/consumption/RelationshipTemplateProcessedEvent.js +22 -0
- package/dist/events/consumption/RelationshipTemplateProcessedEvent.js.map +1 -0
- package/dist/events/consumption/index.d.ts +1 -0
- package/dist/events/consumption/index.js +1 -0
- package/dist/events/consumption/index.js.map +1 -1
- package/dist/extensibility/facades/transport/FilesFacade.d.ts +4 -4
- package/dist/extensibility/facades/transport/FilesFacade.js +5 -5
- package/dist/extensibility/facades/transport/FilesFacade.js.map +1 -1
- package/dist/modules/DeciderModule.js +11 -0
- package/dist/modules/DeciderModule.js.map +1 -1
- package/dist/modules/RequestModule.js +32 -24
- package/dist/modules/RequestModule.js.map +1 -1
- package/dist/useCases/common/Schemas.d.ts +3 -3
- package/dist/useCases/common/Schemas.js +164 -14
- package/dist/useCases/common/Schemas.js.map +1 -1
- package/dist/useCases/consumption/requests/RequestMapper.js.map +1 -1
- package/dist/useCases/transport/files/{LoadPeerFile.d.ts → GetOrLoadFile.d.ts} +7 -7
- package/dist/useCases/transport/files/{LoadPeerFile.js → GetOrLoadFile.js} +18 -18
- package/dist/useCases/transport/files/GetOrLoadFile.js.map +1 -0
- package/dist/useCases/transport/files/index.d.ts +1 -1
- package/dist/useCases/transport/files/index.js +1 -1
- package/dist/useCases/transport/files/index.js.map +1 -1
- package/lib-web/nmshd.runtime.js +307 -76
- package/lib-web/nmshd.runtime.js.map +1 -1
- package/lib-web/nmshd.runtime.min.js +2 -2
- package/lib-web/nmshd.runtime.min.js.map +1 -1
- package/package.json +6 -6
- package/dist/useCases/transport/files/LoadPeerFile.js.map +0 -1
package/lib-web/nmshd.runtime.js
CHANGED
|
@@ -121,15 +121,17 @@ const RuntimeLoggerFactory_1 = __webpack_require__(/*! ./RuntimeLoggerFactory */
|
|
|
121
121
|
const useCases_1 = __webpack_require__(/*! ./useCases */ "./dist/useCases/index.js");
|
|
122
122
|
const SchemaRepository_1 = __webpack_require__(/*! ./useCases/common/SchemaRepository */ "./dist/useCases/common/SchemaRepository.js");
|
|
123
123
|
class Runtime {
|
|
124
|
-
constructor(runtimeConfig, loggerFactory) {
|
|
124
|
+
constructor(runtimeConfig, loggerFactory, eventBus) {
|
|
125
125
|
this.runtimeConfig = runtimeConfig;
|
|
126
126
|
this.loggerFactory = loggerFactory;
|
|
127
127
|
this._isInitialized = false;
|
|
128
128
|
this._isStarted = false;
|
|
129
129
|
this._logger = this.loggerFactory.getLogger(this.constructor.name);
|
|
130
|
-
this._eventBus =
|
|
131
|
-
|
|
132
|
-
|
|
130
|
+
this._eventBus =
|
|
131
|
+
eventBus ??
|
|
132
|
+
new ts_utils_1.EventEmitter2EventBus((error, namespace) => {
|
|
133
|
+
this.logger.error(`An error was thrown in an event handler of the runtime event bus (namespace: '${namespace}'). Root error: ${error}`);
|
|
134
|
+
});
|
|
133
135
|
}
|
|
134
136
|
get logger() {
|
|
135
137
|
return this._logger;
|
|
@@ -446,11 +448,11 @@ const content_1 = __webpack_require__(/*! @nmshd/content */ "@nmshd/content");
|
|
|
446
448
|
const crypto_1 = __webpack_require__(/*! @nmshd/crypto */ "@nmshd/crypto");
|
|
447
449
|
const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
|
|
448
450
|
exports.buildInformation = {
|
|
449
|
-
version: "2.0.0-beta.
|
|
450
|
-
build: "
|
|
451
|
-
date: "2022-08-
|
|
452
|
-
commit: "
|
|
453
|
-
dependencies: {"@js-soft/docdb-querytranslator":"1.1.0","@js-soft/logging-abstractions":"1.0.0","@js-soft/ts-serval":"2.0.4","@js-soft/ts-utils":"^2.2.
|
|
451
|
+
version: "2.0.0-beta.17",
|
|
452
|
+
build: "103",
|
|
453
|
+
date: "2022-08-03T14:38:55+00:00",
|
|
454
|
+
commit: "73761c577a480f40abe34e0f51058c2370703d02",
|
|
455
|
+
dependencies: {"@js-soft/docdb-querytranslator":"1.1.0","@js-soft/logging-abstractions":"1.0.0","@js-soft/ts-serval":"2.0.4","@js-soft/ts-utils":"^2.2.2","@nmshd/consumption":"2.0.0-beta.6","@nmshd/content":"2.0.0-beta.3","@nmshd/crypto":"2.0.1","@nmshd/transport":"2.0.0-beta.4","ajv":"^8.11.0","ajv-errors":"^3.0.0","ajv-formats":"^2.1.1","json-stringify-safe":"^5.0.1","luxon":"^3.0.1","qrcode":"1.5.1","reflect-metadata":"0.1.13","ts-simple-nameof":"1.3.1","typescript-ioc":"3.2.2"},
|
|
454
456
|
libraries: {
|
|
455
457
|
serval: ts_serval_1.buildInformation,
|
|
456
458
|
consumption: consumption_1.buildInformation,
|
|
@@ -2291,6 +2293,33 @@ MailReceivedEvent.namespace = "consumption.mailReceived";
|
|
|
2291
2293
|
|
|
2292
2294
|
/***/ }),
|
|
2293
2295
|
|
|
2296
|
+
/***/ "./dist/events/consumption/MessageProcessedEvent.js":
|
|
2297
|
+
/*!**********************************************************!*\
|
|
2298
|
+
!*** ./dist/events/consumption/MessageProcessedEvent.js ***!
|
|
2299
|
+
\**********************************************************/
|
|
2300
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
2301
|
+
|
|
2302
|
+
"use strict";
|
|
2303
|
+
|
|
2304
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
2305
|
+
exports.MessageProcessedResult = exports.MessageProcessedEvent = void 0;
|
|
2306
|
+
const DataEvent_1 = __webpack_require__(/*! ../DataEvent */ "./dist/events/DataEvent.js");
|
|
2307
|
+
class MessageProcessedEvent extends DataEvent_1.DataEvent {
|
|
2308
|
+
constructor(eventTargetAddress, template, result) {
|
|
2309
|
+
super(MessageProcessedEvent.namespace, eventTargetAddress, { template, result });
|
|
2310
|
+
}
|
|
2311
|
+
}
|
|
2312
|
+
exports.MessageProcessedEvent = MessageProcessedEvent;
|
|
2313
|
+
MessageProcessedEvent.namespace = "consumption.MessageProcessed";
|
|
2314
|
+
var MessageProcessedResult;
|
|
2315
|
+
(function (MessageProcessedResult) {
|
|
2316
|
+
MessageProcessedResult["ManualRequestDecisionRequired"] = "ManualRequestDecisionRequired";
|
|
2317
|
+
MessageProcessedResult["NoRequest"] = "NoRequest";
|
|
2318
|
+
})(MessageProcessedResult = exports.MessageProcessedResult || (exports.MessageProcessedResult = {}));
|
|
2319
|
+
//# sourceMappingURL=MessageProcessedEvent.js.map
|
|
2320
|
+
|
|
2321
|
+
/***/ }),
|
|
2322
|
+
|
|
2294
2323
|
/***/ "./dist/events/consumption/OutgoingRequestCreatedEvent.js":
|
|
2295
2324
|
/*!****************************************************************!*\
|
|
2296
2325
|
!*** ./dist/events/consumption/OutgoingRequestCreatedEvent.js ***!
|
|
@@ -2386,6 +2415,38 @@ RelationshipEvent.namespace = "consumption.relationshipEvent.";
|
|
|
2386
2415
|
|
|
2387
2416
|
/***/ }),
|
|
2388
2417
|
|
|
2418
|
+
/***/ "./dist/events/consumption/RelationshipTemplateProcessedEvent.js":
|
|
2419
|
+
/*!***********************************************************************!*\
|
|
2420
|
+
!*** ./dist/events/consumption/RelationshipTemplateProcessedEvent.js ***!
|
|
2421
|
+
\***********************************************************************/
|
|
2422
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
2423
|
+
|
|
2424
|
+
"use strict";
|
|
2425
|
+
|
|
2426
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
2427
|
+
exports.RelationshipTemplateProcessedResult = exports.RelationshipTemplateProcessedEvent = void 0;
|
|
2428
|
+
const DataEvent_1 = __webpack_require__(/*! ../DataEvent */ "./dist/events/DataEvent.js");
|
|
2429
|
+
class RelationshipTemplateProcessedEvent extends DataEvent_1.DataEvent {
|
|
2430
|
+
constructor(eventTargetAddress, template, result) {
|
|
2431
|
+
super(RelationshipTemplateProcessedEvent.namespace, eventTargetAddress, { template, result });
|
|
2432
|
+
if (template.isOwn)
|
|
2433
|
+
throw new Error("Cannot create this event for an own Relationship Template.");
|
|
2434
|
+
}
|
|
2435
|
+
}
|
|
2436
|
+
exports.RelationshipTemplateProcessedEvent = RelationshipTemplateProcessedEvent;
|
|
2437
|
+
RelationshipTemplateProcessedEvent.namespace = "consumption.relationshipTemplateProcessed";
|
|
2438
|
+
var RelationshipTemplateProcessedResult;
|
|
2439
|
+
(function (RelationshipTemplateProcessedResult) {
|
|
2440
|
+
RelationshipTemplateProcessedResult["ManualRequestDecisionRequired"] = "ManualRequestDecisionRequired";
|
|
2441
|
+
RelationshipTemplateProcessedResult["NonCompletedRequestExists"] = "NonCompletedRequestExists";
|
|
2442
|
+
RelationshipTemplateProcessedResult["RelationshipExists"] = "RelationshipExists";
|
|
2443
|
+
RelationshipTemplateProcessedResult["NoRequest"] = "NoRequest";
|
|
2444
|
+
RelationshipTemplateProcessedResult["Error"] = "Error";
|
|
2445
|
+
})(RelationshipTemplateProcessedResult = exports.RelationshipTemplateProcessedResult || (exports.RelationshipTemplateProcessedResult = {}));
|
|
2446
|
+
//# sourceMappingURL=RelationshipTemplateProcessedEvent.js.map
|
|
2447
|
+
|
|
2448
|
+
/***/ }),
|
|
2449
|
+
|
|
2389
2450
|
/***/ "./dist/events/consumption/SharedAttributeCopyCreatedEvent.js":
|
|
2390
2451
|
/*!********************************************************************!*\
|
|
2391
2452
|
!*** ./dist/events/consumption/SharedAttributeCopyCreatedEvent.js ***!
|
|
@@ -2442,6 +2503,7 @@ __exportStar(__webpack_require__(/*! ./OutgoingRequestCreatedEvent */ "./dist/ev
|
|
|
2442
2503
|
__exportStar(__webpack_require__(/*! ./OutgoingRequestFromRelationshipCreationChangeCreatedAndCompletedEvent */ "./dist/events/consumption/OutgoingRequestFromRelationshipCreationChangeCreatedAndCompletedEvent.js"), exports);
|
|
2443
2504
|
__exportStar(__webpack_require__(/*! ./OutgoingRequestStatusChangedEvent */ "./dist/events/consumption/OutgoingRequestStatusChangedEvent.js"), exports);
|
|
2444
2505
|
__exportStar(__webpack_require__(/*! ./RelationshipEvent */ "./dist/events/consumption/RelationshipEvent.js"), exports);
|
|
2506
|
+
__exportStar(__webpack_require__(/*! ./RelationshipTemplateProcessedEvent */ "./dist/events/consumption/RelationshipTemplateProcessedEvent.js"), exports);
|
|
2445
2507
|
__exportStar(__webpack_require__(/*! ./SharedAttributeCopyCreatedEvent */ "./dist/events/consumption/SharedAttributeCopyCreatedEvent.js"), exports);
|
|
2446
2508
|
//# sourceMappingURL=index.js.map
|
|
2447
2509
|
|
|
@@ -3657,9 +3719,9 @@ exports.FilesFacade = void 0;
|
|
|
3657
3719
|
const typescript_ioc_1 = __webpack_require__(/*! typescript-ioc */ "./node_modules/typescript-ioc/dist/typescript-ioc.js");
|
|
3658
3720
|
const useCases_1 = __webpack_require__(/*! ../../../useCases */ "./dist/useCases/index.js");
|
|
3659
3721
|
let FilesFacade = class FilesFacade {
|
|
3660
|
-
constructor(uploadOwnFileUseCase,
|
|
3722
|
+
constructor(uploadOwnFileUseCase, getOrLoadFileUseCase, getFilesUseCase, downloadFileUseCase, getFileUseCase, createQrCodeForFileUseCase, createTokenForFileUseCase, createTokenQrCodeForFileUseCase) {
|
|
3661
3723
|
this.uploadOwnFileUseCase = uploadOwnFileUseCase;
|
|
3662
|
-
this.
|
|
3724
|
+
this.getOrLoadFileUseCase = getOrLoadFileUseCase;
|
|
3663
3725
|
this.getFilesUseCase = getFilesUseCase;
|
|
3664
3726
|
this.downloadFileUseCase = downloadFileUseCase;
|
|
3665
3727
|
this.getFileUseCase = getFileUseCase;
|
|
@@ -3670,8 +3732,8 @@ let FilesFacade = class FilesFacade {
|
|
|
3670
3732
|
async getFiles(request) {
|
|
3671
3733
|
return await this.getFilesUseCase.execute(request);
|
|
3672
3734
|
}
|
|
3673
|
-
async
|
|
3674
|
-
return await this.
|
|
3735
|
+
async getOrLoadFile(request) {
|
|
3736
|
+
return await this.getOrLoadFileUseCase.execute(request);
|
|
3675
3737
|
}
|
|
3676
3738
|
async downloadFile(request) {
|
|
3677
3739
|
return await this.downloadFileUseCase.execute(request);
|
|
@@ -3702,7 +3764,7 @@ FilesFacade = __decorate([
|
|
|
3702
3764
|
__param(6, typescript_ioc_1.Inject),
|
|
3703
3765
|
__param(7, typescript_ioc_1.Inject),
|
|
3704
3766
|
__metadata("design:paramtypes", [useCases_1.UploadOwnFileUseCase,
|
|
3705
|
-
useCases_1.
|
|
3767
|
+
useCases_1.GetOrLoadFileUseCase,
|
|
3706
3768
|
useCases_1.GetFilesUseCase,
|
|
3707
3769
|
useCases_1.DownloadFileUseCase,
|
|
3708
3770
|
useCases_1.GetFileUseCase,
|
|
@@ -4251,6 +4313,7 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
|
4251
4313
|
exports.DeciderModule = void 0;
|
|
4252
4314
|
const consumption_1 = __webpack_require__(/*! @nmshd/consumption */ "@nmshd/consumption");
|
|
4253
4315
|
const events_1 = __webpack_require__(/*! ../events */ "./dist/events/index.js");
|
|
4316
|
+
const MessageProcessedEvent_1 = __webpack_require__(/*! ../events/consumption/MessageProcessedEvent */ "./dist/events/consumption/MessageProcessedEvent.js");
|
|
4254
4317
|
const extensibility_1 = __webpack_require__(/*! ../extensibility */ "./dist/extensibility/index.js");
|
|
4255
4318
|
class DeciderModule extends extensibility_1.RuntimeModule {
|
|
4256
4319
|
init() {
|
|
@@ -4268,6 +4331,16 @@ class DeciderModule extends extensibility_1.RuntimeModule {
|
|
|
4268
4331
|
this.logger.error(`Could not require manual decision for request ${event.data.request.id}`, requireManualDecisionResult.error);
|
|
4269
4332
|
return;
|
|
4270
4333
|
}
|
|
4334
|
+
switch (event.data.request.source.type) {
|
|
4335
|
+
case "RelationshipTemplate":
|
|
4336
|
+
const getTemplateResult = await services.transportServices.relationshipTemplates.getRelationshipTemplate({ id: event.data.request.source.reference });
|
|
4337
|
+
this.runtime.eventBus.publish(new events_1.RelationshipTemplateProcessedEvent(event.eventTargetAddress, getTemplateResult.value, events_1.RelationshipTemplateProcessedResult.ManualRequestDecisionRequired));
|
|
4338
|
+
break;
|
|
4339
|
+
case "Message":
|
|
4340
|
+
const getMessageResult = await services.transportServices.messages.getMessage({ id: event.data.request.source.reference });
|
|
4341
|
+
this.runtime.eventBus.publish(new MessageProcessedEvent_1.MessageProcessedEvent(event.eventTargetAddress, { ...getMessageResult.value, attachments: getMessageResult.value.attachments.map((a) => a.id) }, MessageProcessedEvent_1.MessageProcessedResult.ManualRequestDecisionRequired));
|
|
4342
|
+
break;
|
|
4343
|
+
}
|
|
4271
4344
|
}
|
|
4272
4345
|
stop() {
|
|
4273
4346
|
this.unsubscribeFromAllEvents();
|
|
@@ -4347,6 +4420,8 @@ exports.RequestModule = void 0;
|
|
|
4347
4420
|
const consumption_1 = __webpack_require__(/*! @nmshd/consumption */ "@nmshd/consumption");
|
|
4348
4421
|
const content_1 = __webpack_require__(/*! @nmshd/content */ "@nmshd/content");
|
|
4349
4422
|
const events_1 = __webpack_require__(/*! ../events */ "./dist/events/index.js");
|
|
4423
|
+
const MessageProcessedEvent_1 = __webpack_require__(/*! ../events/consumption/MessageProcessedEvent */ "./dist/events/consumption/MessageProcessedEvent.js");
|
|
4424
|
+
const RelationshipTemplateProcessedEvent_1 = __webpack_require__(/*! ../events/consumption/RelationshipTemplateProcessedEvent */ "./dist/events/consumption/RelationshipTemplateProcessedEvent.js");
|
|
4350
4425
|
const RuntimeModule_1 = __webpack_require__(/*! ../extensibility/modules/RuntimeModule */ "./dist/extensibility/modules/RuntimeModule.js");
|
|
4351
4426
|
const types_1 = __webpack_require__(/*! ../types */ "./dist/types/index.js");
|
|
4352
4427
|
class RequestModule extends RuntimeModule_1.RuntimeModule {
|
|
@@ -4362,40 +4437,42 @@ class RequestModule extends RuntimeModule_1.RuntimeModule {
|
|
|
4362
4437
|
}
|
|
4363
4438
|
async handlePeerRelationshipTemplateLoaded(event) {
|
|
4364
4439
|
const template = event.data;
|
|
4365
|
-
if (template.content["@type"] !== "RelationshipTemplateBody")
|
|
4440
|
+
if (template.content["@type"] !== "RelationshipTemplateBody") {
|
|
4441
|
+
this.runtime.eventBus.publish(new RelationshipTemplateProcessedEvent_1.RelationshipTemplateProcessedEvent(event.eventTargetAddress, template, RelationshipTemplateProcessedEvent_1.RelationshipTemplateProcessedResult.NoRequest));
|
|
4366
4442
|
return;
|
|
4443
|
+
}
|
|
4367
4444
|
const body = template.content;
|
|
4368
4445
|
const services = await this.runtime.getServices(event.eventTargetAddress);
|
|
4369
|
-
const
|
|
4370
|
-
|
|
4371
|
-
|
|
4446
|
+
const existingRequestsFromTemplate = (await services.consumptionServices.incomingRequests.getRequests({ query: { "source.reference": template.id } })).value;
|
|
4447
|
+
const nonCompletedRequestExists = existingRequestsFromTemplate.some((r) => r.status !== consumption_1.LocalRequestStatus.Completed);
|
|
4448
|
+
if (nonCompletedRequestExists) {
|
|
4449
|
+
this.logger.info(`There is already an open Request for the RelationshipTemplate '${template.id}'.`);
|
|
4450
|
+
this.runtime.eventBus.publish(new RelationshipTemplateProcessedEvent_1.RelationshipTemplateProcessedEvent(event.eventTargetAddress, template, RelationshipTemplateProcessedEvent_1.RelationshipTemplateProcessedResult.NonCompletedRequestExists));
|
|
4372
4451
|
return;
|
|
4373
4452
|
}
|
|
4374
|
-
|
|
4375
|
-
|
|
4376
|
-
|
|
4453
|
+
const relationshipsToPeer = (await services.transportServices.relationships.getRelationships({ query: { peer: template.createdBy } })).value;
|
|
4454
|
+
const pendingRelationshipExists = relationshipsToPeer.some((r) => r.status === types_1.RelationshipStatus.Pending);
|
|
4455
|
+
if (pendingRelationshipExists) {
|
|
4456
|
+
this.logger.info(`There is already a pending Relationship for the RelationshipTemplate '${template.id}'. Skipping creation of a new request.`);
|
|
4457
|
+
this.runtime.eventBus.publish(new RelationshipTemplateProcessedEvent_1.RelationshipTemplateProcessedEvent(event.eventTargetAddress, template, RelationshipTemplateProcessedEvent_1.RelationshipTemplateProcessedResult.RelationshipExists));
|
|
4377
4458
|
return;
|
|
4378
4459
|
}
|
|
4379
|
-
const
|
|
4380
|
-
if (
|
|
4381
|
-
this.logger.error(`Could not get relationships for template '${template.id}'. Root error:`, getRelationshipsResult.error);
|
|
4382
|
-
return;
|
|
4383
|
-
}
|
|
4384
|
-
if (getRelationshipsResult.value.some((r) => r.status === types_1.RelationshipStatus.Pending)) {
|
|
4385
|
-
// TODO: JSSNMSHDD-3111 (inform caller of `loadPeerRelationshipTemplate` about the Relationship)
|
|
4386
|
-
this.logger.warn(`There is already a pending Relationship for the RelationshipTemplate '${template.id}'. Skipping creation of a new request.`);
|
|
4387
|
-
return;
|
|
4388
|
-
}
|
|
4389
|
-
if (getRelationshipsResult.value.some((r) => r.status === types_1.RelationshipStatus.Active)) {
|
|
4460
|
+
const activeRelationshipExists = relationshipsToPeer.some((r) => r.status === types_1.RelationshipStatus.Active);
|
|
4461
|
+
if (activeRelationshipExists) {
|
|
4390
4462
|
if (body.onExistingRelationship) {
|
|
4391
|
-
await this.createIncomingRequest(services, body.onExistingRelationship, template.id);
|
|
4463
|
+
const requestCreated = await this.createIncomingRequest(services, body.onExistingRelationship, template.id);
|
|
4464
|
+
if (!requestCreated) {
|
|
4465
|
+
this.runtime.eventBus.publish(new RelationshipTemplateProcessedEvent_1.RelationshipTemplateProcessedEvent(event.eventTargetAddress, template, RelationshipTemplateProcessedEvent_1.RelationshipTemplateProcessedResult.Error));
|
|
4466
|
+
}
|
|
4392
4467
|
return;
|
|
4393
4468
|
}
|
|
4394
|
-
|
|
4395
|
-
this.
|
|
4469
|
+
this.logger.info(`There is already an open Relationship for the RelationshipTemplate '${template.id}' and onExistingRelationship is not defined. Skipping creation of a new request.`);
|
|
4470
|
+
this.runtime.eventBus.publish(new RelationshipTemplateProcessedEvent_1.RelationshipTemplateProcessedEvent(event.eventTargetAddress, template, RelationshipTemplateProcessedEvent_1.RelationshipTemplateProcessedResult.RelationshipExists));
|
|
4396
4471
|
return;
|
|
4397
4472
|
}
|
|
4398
|
-
await this.createIncomingRequest(services, body.onNewRelationship, template.id);
|
|
4473
|
+
const requestCreated = await this.createIncomingRequest(services, body.onNewRelationship, template.id);
|
|
4474
|
+
if (!requestCreated)
|
|
4475
|
+
this.runtime.eventBus.publish(new RelationshipTemplateProcessedEvent_1.RelationshipTemplateProcessedEvent(event.eventTargetAddress, template, RelationshipTemplateProcessedEvent_1.RelationshipTemplateProcessedResult.Error));
|
|
4399
4476
|
}
|
|
4400
4477
|
async handleMessageReceivedEvent(event) {
|
|
4401
4478
|
const services = await this.runtime.getServices(event.eventTargetAddress);
|
|
@@ -4413,6 +4490,9 @@ class RequestModule extends RuntimeModule_1.RuntimeModule {
|
|
|
4413
4490
|
}
|
|
4414
4491
|
break;
|
|
4415
4492
|
}
|
|
4493
|
+
if (messageContentType !== "Request") {
|
|
4494
|
+
this.runtime.eventBus.publish(new MessageProcessedEvent_1.MessageProcessedEvent(event.eventTargetAddress, message, MessageProcessedEvent_1.MessageProcessedResult.NoRequest));
|
|
4495
|
+
}
|
|
4416
4496
|
}
|
|
4417
4497
|
async handleMessageSentEvent(event) {
|
|
4418
4498
|
const message = event.data;
|
|
@@ -4430,13 +4510,14 @@ class RequestModule extends RuntimeModule_1.RuntimeModule {
|
|
|
4430
4510
|
const receivedRequestResult = await services.consumptionServices.incomingRequests.received({ receivedRequest: request, requestSourceId });
|
|
4431
4511
|
if (receivedRequestResult.isError) {
|
|
4432
4512
|
this.logger.error(`Could not receive request ${request.id}. Root error:`, receivedRequestResult.error);
|
|
4433
|
-
return;
|
|
4513
|
+
return false;
|
|
4434
4514
|
}
|
|
4435
4515
|
const checkPrerequitesResult = await services.consumptionServices.incomingRequests.checkPrerequisites({ requestId: receivedRequestResult.value.id });
|
|
4436
4516
|
if (checkPrerequitesResult.isError) {
|
|
4437
4517
|
this.logger.error(`Could not check prerequisites for request ${request.id}. Root error:`, checkPrerequitesResult.error);
|
|
4438
|
-
return;
|
|
4518
|
+
return false;
|
|
4439
4519
|
}
|
|
4520
|
+
return true;
|
|
4440
4521
|
}
|
|
4441
4522
|
async handleIncomingRequestStatusChanged(event) {
|
|
4442
4523
|
if (event.data.newStatus !== consumption_1.LocalRequestStatus.Decided)
|
|
@@ -5473,7 +5554,7 @@ exports.JsonSchema = JsonSchema;
|
|
|
5473
5554
|
|
|
5474
5555
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
5475
5556
|
exports.DeleteDeviceRequest = exports.CreateDeviceOnboardingTokenRequest = exports.CreateDeviceRequest = exports.ValidateChallengeRequest = exports.CreateChallengeRequest = exports.CreateDeviceChallengeRequest = exports.CreateIdentityChallengeRequest = exports.CreateRelationshipChallengeRequest = exports.SyncEverythingRequest = exports.DownloadAttachmentRequest = exports.DownloadFileRequest = exports.SyncDatawalletRequest = exports.RegisterPushNotificationTokenRequest = exports.UpdateSettingRequest = exports.GetSettingsRequest = exports.GetSettingRequest = exports.DeleteSettingRequest = exports.CreateSettingRequest = exports.SentOutgoingRequestRequest = exports.RequireManualDecisionOfIncomingRequestRequest = exports.ReceivedIncomingRequestRequest = exports.GetOutgoingRequestsRequest = exports.GetOutgoingRequestRequest = exports.GetIncomingRequestsRequest = exports.GetIncomingRequestRequest = exports.CreateAndCompleteOutgoingRequestFromRelationshipCreationChangeRequest = exports.CompleteOutgoingRequestRequest = exports.CompleteIncomingRequestRequest = exports.CheckPrerequisitesOfIncomingRequestRequest = exports.RejectIncomingRequestRequest = exports.CreateOutgoingRequestRequest = exports.AcceptIncomingRequestRequest = exports.UpdateDraftRequest = exports.GetDraftsRequest = exports.GetDraftRequest = exports.DeleteDraftRequest = exports.CreateDraftRequest = exports.UpdateAttributeRequest = exports.SucceedAttributeRequest = exports.GetSharedToPeerAttributesRequest = exports.GetPeerAttributesRequest = exports.GetAttributesRequest = exports.GetAttributeRequest = exports.ExecuteRelationshipAttributeQueryRequest = exports.ExecuteIdentityAttributeQueryRequest = exports.DeleteAttributeRequest = exports.CreateSharedAttributeCopyRequest = exports.CreateAttributeRequest = exports.LoadPeerTokenAnonymousByTruncatedReferenceRequest = exports.LoadPeerTokenAnonymousByIdAndKeyRequest = void 0;
|
|
5476
|
-
exports.LoadPeerTokenRequest = exports.LoadPeerTokenViaSecretRequest = exports.LoadPeerTokenViaReferenceRequest = exports.GetTokensRequest = exports.GetTokenRequest = exports.GetQRCodeForTokenRequest = exports.CreateOwnTokenRequest = exports.LoadPeerRelationshipTemplateRequest = exports.LoadPeerRelationshipTemplateViaReferenceRequest = exports.LoadPeerRelationshipTemplateViaSecretRequest = exports.GetRelationshipTemplatesRequest = exports.GetRelationshipTemplateRequest = exports.CreateTokenQrCodeForOwnTemplateRequest = exports.CreateTokenForOwnTemplateRequest = exports.CreateQrCodeForOwnTemplateRequest = exports.CreateOwnRelationshipTemplateRequest = exports.RevokeRelationshipChangeRequest = exports.RejectRelationshipChangeRequest = exports.GetRelationshipsRequest = exports.GetRelationshipByAddressRequest = exports.GetRelationshipRequest = exports.GetAttributesForRelationshipRequest = exports.CreateRelationshipChangeRequest = exports.CreateRelationshipRequest = exports.AcceptRelationshipChangeRequest = exports.SendMessageRequest = exports.GetMessagesRequest = exports.GetMessageRequest = exports.GetAttachmentMetadataRequest = exports.CheckIdentityRequest = exports.UploadOwnFileValidatableRequest = exports.UploadOwnFileRequest = exports.
|
|
5557
|
+
exports.LoadPeerTokenRequest = exports.LoadPeerTokenViaSecretRequest = exports.LoadPeerTokenViaReferenceRequest = exports.GetTokensRequest = exports.GetTokenRequest = exports.GetQRCodeForTokenRequest = exports.CreateOwnTokenRequest = exports.LoadPeerRelationshipTemplateRequest = exports.LoadPeerRelationshipTemplateViaReferenceRequest = exports.LoadPeerRelationshipTemplateViaSecretRequest = exports.GetRelationshipTemplatesRequest = exports.GetRelationshipTemplateRequest = exports.CreateTokenQrCodeForOwnTemplateRequest = exports.CreateTokenForOwnTemplateRequest = exports.CreateQrCodeForOwnTemplateRequest = exports.CreateOwnRelationshipTemplateRequest = exports.RevokeRelationshipChangeRequest = exports.RejectRelationshipChangeRequest = exports.GetRelationshipsRequest = exports.GetRelationshipByAddressRequest = exports.GetRelationshipRequest = exports.GetAttributesForRelationshipRequest = exports.CreateRelationshipChangeRequest = exports.CreateRelationshipRequest = exports.AcceptRelationshipChangeRequest = exports.SendMessageRequest = exports.GetMessagesRequest = exports.GetMessageRequest = exports.GetAttachmentMetadataRequest = exports.CheckIdentityRequest = exports.UploadOwnFileValidatableRequest = exports.UploadOwnFileRequest = exports.GetOrLoadFileRequest = exports.GetOrLoadFileViaReferenceRequest = exports.GetOrLoadFileViaSecretRequest = exports.GetFilesRequest = exports.GetFileRequest = exports.CreateTokenQrCodeForFileRequest = exports.CreateTokenForFileRequest = exports.CreateQrCodeForFileRequest = exports.UpdateDeviceRequest = exports.GetDeviceOnboardingInfoRequest = exports.GetDeviceRequest = void 0;
|
|
5477
5558
|
exports.LoadPeerTokenAnonymousByIdAndKeyRequest = {
|
|
5478
5559
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
5479
5560
|
"$ref": "#/definitions/LoadPeerTokenAnonymousByIdAndKeyRequest",
|
|
@@ -7306,6 +7387,14 @@ exports.CreateOutgoingRequestRequest = {
|
|
|
7306
7387
|
],
|
|
7307
7388
|
"description": "The items of the Request. Can be either a single {@link RequestItemJSONDerivations RequestItem } or a {@link RequestItemGroupJSON RequestItemGroup } , which itself can contain further {@link RequestItemJSONDerivations RequestItems } ."
|
|
7308
7389
|
},
|
|
7390
|
+
"title": {
|
|
7391
|
+
"type": "string",
|
|
7392
|
+
"description": "The human-readable title of this Request."
|
|
7393
|
+
},
|
|
7394
|
+
"description": {
|
|
7395
|
+
"type": "string",
|
|
7396
|
+
"description": "The human-readable description of this Request."
|
|
7397
|
+
},
|
|
7309
7398
|
"metadata": {
|
|
7310
7399
|
"anyOf": [
|
|
7311
7400
|
{
|
|
@@ -7410,6 +7499,9 @@ exports.CreateOutgoingRequestRequest = {
|
|
|
7410
7499
|
},
|
|
7411
7500
|
{
|
|
7412
7501
|
"$ref": "#/definitions/ShareAttributeRequestItemJSON"
|
|
7502
|
+
},
|
|
7503
|
+
{
|
|
7504
|
+
"$ref": "#/definitions/ConsentRequestItemJSON"
|
|
7413
7505
|
}
|
|
7414
7506
|
]
|
|
7415
7507
|
},
|
|
@@ -7941,6 +8033,51 @@ exports.CreateOutgoingRequestRequest = {
|
|
|
7941
8033
|
],
|
|
7942
8034
|
"additionalProperties": false
|
|
7943
8035
|
},
|
|
8036
|
+
"ConsentRequestItemJSON": {
|
|
8037
|
+
"type": "object",
|
|
8038
|
+
"properties": {
|
|
8039
|
+
"@type": {
|
|
8040
|
+
"type": "string"
|
|
8041
|
+
},
|
|
8042
|
+
"@context": {
|
|
8043
|
+
"type": "string"
|
|
8044
|
+
},
|
|
8045
|
+
"@version": {
|
|
8046
|
+
"type": "string"
|
|
8047
|
+
},
|
|
8048
|
+
"title": {
|
|
8049
|
+
"type": "string",
|
|
8050
|
+
"description": "The human-readable title of this item."
|
|
8051
|
+
},
|
|
8052
|
+
"description": {
|
|
8053
|
+
"type": "string",
|
|
8054
|
+
"description": "The human-readable description of this item."
|
|
8055
|
+
},
|
|
8056
|
+
"metadata": {
|
|
8057
|
+
"type": "object",
|
|
8058
|
+
"description": "This property can be used to add some arbitrary metadata to this item. The content of this property will be copied into the response on the side of the recipient, so the sender can use it to identify the group content as they receive the response."
|
|
8059
|
+
},
|
|
8060
|
+
"mustBeAccepted": {
|
|
8061
|
+
"type": "boolean",
|
|
8062
|
+
"description": "If set to `true`, the recipient has to accept this group if he wants to accept the Request. If set to `false`, the recipient can decide whether he wants to accept it or not.\n\nCaution: this setting does not take effect in case it is inside of a\n {@link RequestItemGroupJSON RequestItemGroup } , which is not accepted by the recipient, since a {@link RequestItemJSON RequestItem } can only be accepted if the parent group is accepted as well."
|
|
8063
|
+
},
|
|
8064
|
+
"consent": {
|
|
8065
|
+
"type": "string"
|
|
8066
|
+
},
|
|
8067
|
+
"link": {
|
|
8068
|
+
"type": "string"
|
|
8069
|
+
},
|
|
8070
|
+
"requireActiveConsent": {
|
|
8071
|
+
"type": "boolean"
|
|
8072
|
+
}
|
|
8073
|
+
},
|
|
8074
|
+
"required": [
|
|
8075
|
+
"@type",
|
|
8076
|
+
"consent",
|
|
8077
|
+
"mustBeAccepted"
|
|
8078
|
+
],
|
|
8079
|
+
"additionalProperties": false
|
|
8080
|
+
},
|
|
7944
8081
|
"IRequestItemGroup": {
|
|
7945
8082
|
"type": "object",
|
|
7946
8083
|
"properties": {
|
|
@@ -7991,6 +8128,9 @@ exports.CreateOutgoingRequestRequest = {
|
|
|
7991
8128
|
},
|
|
7992
8129
|
{
|
|
7993
8130
|
"$ref": "#/definitions/IShareAttributeRequestItem"
|
|
8131
|
+
},
|
|
8132
|
+
{
|
|
8133
|
+
"$ref": "#/definitions/IConsentRequestItem"
|
|
7994
8134
|
}
|
|
7995
8135
|
]
|
|
7996
8136
|
},
|
|
@@ -8414,6 +8554,41 @@ exports.CreateOutgoingRequestRequest = {
|
|
|
8414
8554
|
],
|
|
8415
8555
|
"additionalProperties": false
|
|
8416
8556
|
},
|
|
8557
|
+
"IConsentRequestItem": {
|
|
8558
|
+
"type": "object",
|
|
8559
|
+
"properties": {
|
|
8560
|
+
"title": {
|
|
8561
|
+
"type": "string",
|
|
8562
|
+
"description": "The human-readable title of this item."
|
|
8563
|
+
},
|
|
8564
|
+
"description": {
|
|
8565
|
+
"type": "string",
|
|
8566
|
+
"description": "The human-readable description of this item."
|
|
8567
|
+
},
|
|
8568
|
+
"metadata": {
|
|
8569
|
+
"type": "object",
|
|
8570
|
+
"description": "This property can be used to add some arbitrary metadata to this item. The content of this property will be copied into the response on the side of the recipient, so the sender can use it to identify the group content as they receive the response."
|
|
8571
|
+
},
|
|
8572
|
+
"mustBeAccepted": {
|
|
8573
|
+
"type": "boolean",
|
|
8574
|
+
"description": "If set to `true`, the recipient has to accept this group if he wants to accept the Request. If set to `false`, the recipient can decide whether he wants to accept it or not.\n\nCaution: this setting does not take effect in case it is inside of a\n {@link RequestItemGroup RequestItemGroup } , which is not accepted by the recipient, since a {@link RequestItem RequestItem } can only be accepted if the parent group is accepted as well."
|
|
8575
|
+
},
|
|
8576
|
+
"consent": {
|
|
8577
|
+
"type": "string"
|
|
8578
|
+
},
|
|
8579
|
+
"link": {
|
|
8580
|
+
"type": "string"
|
|
8581
|
+
},
|
|
8582
|
+
"requireActiveConsent": {
|
|
8583
|
+
"type": "boolean"
|
|
8584
|
+
}
|
|
8585
|
+
},
|
|
8586
|
+
"required": [
|
|
8587
|
+
"consent",
|
|
8588
|
+
"mustBeAccepted"
|
|
8589
|
+
],
|
|
8590
|
+
"additionalProperties": false
|
|
8591
|
+
},
|
|
8417
8592
|
"AddressString": {
|
|
8418
8593
|
"type": "string",
|
|
8419
8594
|
"pattern": "id1[A-Za-z0-9]{32,33}"
|
|
@@ -9537,6 +9712,14 @@ exports.ReceivedIncomingRequestRequest = {
|
|
|
9537
9712
|
},
|
|
9538
9713
|
"description": "The items of the Request. Can be either a single {@link RequestItemJSONDerivations RequestItem } or a {@link RequestItemGroupJSON RequestItemGroup } , which itself can contain further {@link RequestItemJSONDerivations RequestItems } ."
|
|
9539
9714
|
},
|
|
9715
|
+
"title": {
|
|
9716
|
+
"type": "string",
|
|
9717
|
+
"description": "The human-readable title of this Request."
|
|
9718
|
+
},
|
|
9719
|
+
"description": {
|
|
9720
|
+
"type": "string",
|
|
9721
|
+
"description": "The human-readable description of this Request."
|
|
9722
|
+
},
|
|
9540
9723
|
"metadata": {
|
|
9541
9724
|
"type": "object",
|
|
9542
9725
|
"description": "This property can be used to add some arbitrary metadata to this request. The content of this property will be copied into the response on the side of the recipient."
|
|
@@ -9608,6 +9791,9 @@ exports.ReceivedIncomingRequestRequest = {
|
|
|
9608
9791
|
},
|
|
9609
9792
|
{
|
|
9610
9793
|
"$ref": "#/definitions/ShareAttributeRequestItemJSON"
|
|
9794
|
+
},
|
|
9795
|
+
{
|
|
9796
|
+
"$ref": "#/definitions/ConsentRequestItemJSON"
|
|
9611
9797
|
}
|
|
9612
9798
|
]
|
|
9613
9799
|
},
|
|
@@ -10139,6 +10325,51 @@ exports.ReceivedIncomingRequestRequest = {
|
|
|
10139
10325
|
],
|
|
10140
10326
|
"additionalProperties": false
|
|
10141
10327
|
},
|
|
10328
|
+
"ConsentRequestItemJSON": {
|
|
10329
|
+
"type": "object",
|
|
10330
|
+
"properties": {
|
|
10331
|
+
"@type": {
|
|
10332
|
+
"type": "string"
|
|
10333
|
+
},
|
|
10334
|
+
"@context": {
|
|
10335
|
+
"type": "string"
|
|
10336
|
+
},
|
|
10337
|
+
"@version": {
|
|
10338
|
+
"type": "string"
|
|
10339
|
+
},
|
|
10340
|
+
"title": {
|
|
10341
|
+
"type": "string",
|
|
10342
|
+
"description": "The human-readable title of this item."
|
|
10343
|
+
},
|
|
10344
|
+
"description": {
|
|
10345
|
+
"type": "string",
|
|
10346
|
+
"description": "The human-readable description of this item."
|
|
10347
|
+
},
|
|
10348
|
+
"metadata": {
|
|
10349
|
+
"type": "object",
|
|
10350
|
+
"description": "This property can be used to add some arbitrary metadata to this item. The content of this property will be copied into the response on the side of the recipient, so the sender can use it to identify the group content as they receive the response."
|
|
10351
|
+
},
|
|
10352
|
+
"mustBeAccepted": {
|
|
10353
|
+
"type": "boolean",
|
|
10354
|
+
"description": "If set to `true`, the recipient has to accept this group if he wants to accept the Request. If set to `false`, the recipient can decide whether he wants to accept it or not.\n\nCaution: this setting does not take effect in case it is inside of a\n {@link RequestItemGroupJSON RequestItemGroup } , which is not accepted by the recipient, since a {@link RequestItemJSON RequestItem } can only be accepted if the parent group is accepted as well."
|
|
10355
|
+
},
|
|
10356
|
+
"consent": {
|
|
10357
|
+
"type": "string"
|
|
10358
|
+
},
|
|
10359
|
+
"link": {
|
|
10360
|
+
"type": "string"
|
|
10361
|
+
},
|
|
10362
|
+
"requireActiveConsent": {
|
|
10363
|
+
"type": "boolean"
|
|
10364
|
+
}
|
|
10365
|
+
},
|
|
10366
|
+
"required": [
|
|
10367
|
+
"@type",
|
|
10368
|
+
"consent",
|
|
10369
|
+
"mustBeAccepted"
|
|
10370
|
+
],
|
|
10371
|
+
"additionalProperties": false
|
|
10372
|
+
},
|
|
10142
10373
|
"MessageIdString": {
|
|
10143
10374
|
"type": "string",
|
|
10144
10375
|
"pattern": "MSG[A-Za-z0-9]{17}"
|
|
@@ -11078,11 +11309,11 @@ exports.GetFilesRequest = {
|
|
|
11078
11309
|
}
|
|
11079
11310
|
}
|
|
11080
11311
|
};
|
|
11081
|
-
exports.
|
|
11312
|
+
exports.GetOrLoadFileViaSecretRequest = {
|
|
11082
11313
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
11083
|
-
"$ref": "#/definitions/
|
|
11314
|
+
"$ref": "#/definitions/GetOrLoadFileViaSecretRequest",
|
|
11084
11315
|
"definitions": {
|
|
11085
|
-
"
|
|
11316
|
+
"GetOrLoadFileViaSecretRequest": {
|
|
11086
11317
|
"type": "object",
|
|
11087
11318
|
"properties": {
|
|
11088
11319
|
"id": {
|
|
@@ -11105,11 +11336,11 @@ exports.LoadPeerFileViaSecretRequest = {
|
|
|
11105
11336
|
}
|
|
11106
11337
|
}
|
|
11107
11338
|
};
|
|
11108
|
-
exports.
|
|
11339
|
+
exports.GetOrLoadFileViaReferenceRequest = {
|
|
11109
11340
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
11110
|
-
"$ref": "#/definitions/
|
|
11341
|
+
"$ref": "#/definitions/GetOrLoadFileViaReferenceRequest",
|
|
11111
11342
|
"definitions": {
|
|
11112
|
-
"
|
|
11343
|
+
"GetOrLoadFileViaReferenceRequest": {
|
|
11113
11344
|
"type": "object",
|
|
11114
11345
|
"properties": {
|
|
11115
11346
|
"reference": {
|
|
@@ -11139,21 +11370,21 @@ exports.LoadPeerFileViaReferenceRequest = {
|
|
|
11139
11370
|
}
|
|
11140
11371
|
}
|
|
11141
11372
|
};
|
|
11142
|
-
exports.
|
|
11373
|
+
exports.GetOrLoadFileRequest = {
|
|
11143
11374
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
11144
|
-
"$ref": "#/definitions/
|
|
11375
|
+
"$ref": "#/definitions/GetOrLoadFileRequest",
|
|
11145
11376
|
"definitions": {
|
|
11146
|
-
"
|
|
11377
|
+
"GetOrLoadFileRequest": {
|
|
11147
11378
|
"anyOf": [
|
|
11148
11379
|
{
|
|
11149
|
-
"$ref": "#/definitions/
|
|
11380
|
+
"$ref": "#/definitions/GetOrLoadFileViaSecretRequest"
|
|
11150
11381
|
},
|
|
11151
11382
|
{
|
|
11152
|
-
"$ref": "#/definitions/
|
|
11383
|
+
"$ref": "#/definitions/GetOrLoadFileViaReferenceRequest"
|
|
11153
11384
|
}
|
|
11154
11385
|
]
|
|
11155
11386
|
},
|
|
11156
|
-
"
|
|
11387
|
+
"GetOrLoadFileViaSecretRequest": {
|
|
11157
11388
|
"type": "object",
|
|
11158
11389
|
"properties": {
|
|
11159
11390
|
"id": {
|
|
@@ -11174,7 +11405,7 @@ exports.LoadPeerFileRequest = {
|
|
|
11174
11405
|
"type": "string",
|
|
11175
11406
|
"pattern": "FIL[A-Za-z0-9]{17}"
|
|
11176
11407
|
},
|
|
11177
|
-
"
|
|
11408
|
+
"GetOrLoadFileViaReferenceRequest": {
|
|
11178
11409
|
"type": "object",
|
|
11179
11410
|
"properties": {
|
|
11180
11411
|
"reference": {
|
|
@@ -17147,10 +17378,10 @@ exports.GetFilesUseCase = GetFilesUseCase;
|
|
|
17147
17378
|
|
|
17148
17379
|
/***/ }),
|
|
17149
17380
|
|
|
17150
|
-
/***/ "./dist/useCases/transport/files/
|
|
17151
|
-
|
|
17152
|
-
!*** ./dist/useCases/transport/files/
|
|
17153
|
-
|
|
17381
|
+
/***/ "./dist/useCases/transport/files/GetOrLoadFile.js":
|
|
17382
|
+
/*!********************************************************!*\
|
|
17383
|
+
!*** ./dist/useCases/transport/files/GetOrLoadFile.js ***!
|
|
17384
|
+
\********************************************************/
|
|
17154
17385
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
17155
17386
|
|
|
17156
17387
|
"use strict";
|
|
@@ -17168,36 +17399,36 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
17168
17399
|
return function (target, key) { decorator(target, key, paramIndex); }
|
|
17169
17400
|
};
|
|
17170
17401
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
17171
|
-
exports.
|
|
17402
|
+
exports.GetOrLoadFileUseCase = void 0;
|
|
17172
17403
|
const ts_utils_1 = __webpack_require__(/*! @js-soft/ts-utils */ "./node_modules/@js-soft/ts-utils/dist/index.js");
|
|
17173
17404
|
const crypto_1 = __webpack_require__(/*! @nmshd/crypto */ "@nmshd/crypto");
|
|
17174
17405
|
const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
|
|
17175
17406
|
const typescript_ioc_1 = __webpack_require__(/*! typescript-ioc */ "./node_modules/typescript-ioc/dist/typescript-ioc.js");
|
|
17176
17407
|
const common_1 = __webpack_require__(/*! ../../common */ "./dist/useCases/common/index.js");
|
|
17177
17408
|
const FileMapper_1 = __webpack_require__(/*! ./FileMapper */ "./dist/useCases/transport/files/FileMapper.js");
|
|
17178
|
-
function
|
|
17409
|
+
function isViaSecret(request) {
|
|
17179
17410
|
return "id" in request && "secretKey" in request;
|
|
17180
17411
|
}
|
|
17181
|
-
function
|
|
17412
|
+
function isViaReference(request) {
|
|
17182
17413
|
return "reference" in request;
|
|
17183
17414
|
}
|
|
17184
17415
|
let Validator = class Validator extends common_1.SchemaValidator {
|
|
17185
17416
|
constructor(schemaRepository) {
|
|
17186
|
-
super(schemaRepository.getSchema("
|
|
17187
|
-
this.loadViaSecretSchema = schemaRepository.getSchema("
|
|
17188
|
-
this.loadViaReferenceSchema = schemaRepository.getSchema("
|
|
17417
|
+
super(schemaRepository.getSchema("GetOrLoadFileRequest"));
|
|
17418
|
+
this.loadViaSecretSchema = schemaRepository.getSchema("GetOrLoadFileViaSecretRequest");
|
|
17419
|
+
this.loadViaReferenceSchema = schemaRepository.getSchema("GetOrLoadFileViaReferenceRequest");
|
|
17189
17420
|
}
|
|
17190
17421
|
validate(input) {
|
|
17191
17422
|
if (this.schema.validate(input).isValid)
|
|
17192
17423
|
return new common_1.ValidationResult();
|
|
17193
17424
|
// any-of in combination with missing properties is a bit weird
|
|
17194
17425
|
// when { reference: null | undefined } is passed, it ignores reference
|
|
17195
|
-
// and treats it like a
|
|
17426
|
+
// and treats it like a GetOrLoadFileViaSecret.
|
|
17196
17427
|
// That's why we validate with the specific schema afterwards
|
|
17197
|
-
if (
|
|
17428
|
+
if (isViaReference(input)) {
|
|
17198
17429
|
return this.convertValidationResult(this.loadViaReferenceSchema.validate(input));
|
|
17199
17430
|
}
|
|
17200
|
-
else if (
|
|
17431
|
+
else if (isViaSecret(input)) {
|
|
17201
17432
|
return this.convertValidationResult(this.loadViaSecretSchema.validate(input));
|
|
17202
17433
|
}
|
|
17203
17434
|
const result = new common_1.ValidationResult();
|
|
@@ -17209,7 +17440,7 @@ Validator = __decorate([
|
|
|
17209
17440
|
__param(0, typescript_ioc_1.Inject),
|
|
17210
17441
|
__metadata("design:paramtypes", [common_1.SchemaRepository])
|
|
17211
17442
|
], Validator);
|
|
17212
|
-
let
|
|
17443
|
+
let GetOrLoadFileUseCase = class GetOrLoadFileUseCase extends common_1.UseCase {
|
|
17213
17444
|
constructor(fileController, tokenController, accountController, validator) {
|
|
17214
17445
|
super(validator);
|
|
17215
17446
|
this.fileController = fileController;
|
|
@@ -17218,11 +17449,11 @@ let LoadPeerFileUseCase = class LoadPeerFileUseCase extends common_1.UseCase {
|
|
|
17218
17449
|
}
|
|
17219
17450
|
async executeInternal(request) {
|
|
17220
17451
|
let createdFileResult;
|
|
17221
|
-
if (
|
|
17452
|
+
if (isViaSecret(request)) {
|
|
17222
17453
|
const key = crypto_1.CryptoSecretKey.fromBase64(request.secretKey);
|
|
17223
17454
|
createdFileResult = await this.loadFile(transport_1.CoreId.from(request.id), key);
|
|
17224
17455
|
}
|
|
17225
|
-
else if (
|
|
17456
|
+
else if (isViaReference(request)) {
|
|
17226
17457
|
createdFileResult = await this.loadFileFromReference(request.reference);
|
|
17227
17458
|
}
|
|
17228
17459
|
else {
|
|
@@ -17241,7 +17472,7 @@ let LoadPeerFileUseCase = class LoadPeerFileUseCase extends common_1.UseCase {
|
|
|
17241
17472
|
throw common_1.RuntimeErrors.files.invalidReference(reference);
|
|
17242
17473
|
}
|
|
17243
17474
|
async loadFileFromFileReference(truncatedReference) {
|
|
17244
|
-
const file = await this.fileController.
|
|
17475
|
+
const file = await this.fileController.getOrLoadFileByTruncated(truncatedReference);
|
|
17245
17476
|
return ts_utils_1.Result.ok(FileMapper_1.FileMapper.toFileDTO(file));
|
|
17246
17477
|
}
|
|
17247
17478
|
async loadFileFromTokenReference(truncatedReference) {
|
|
@@ -17256,11 +17487,11 @@ let LoadPeerFileUseCase = class LoadPeerFileUseCase extends common_1.UseCase {
|
|
|
17256
17487
|
return await this.loadFile(content.fileId, content.secretKey);
|
|
17257
17488
|
}
|
|
17258
17489
|
async loadFile(id, key) {
|
|
17259
|
-
const file = await this.fileController.
|
|
17490
|
+
const file = await this.fileController.getOrLoadFile(id, key);
|
|
17260
17491
|
return ts_utils_1.Result.ok(FileMapper_1.FileMapper.toFileDTO(file));
|
|
17261
17492
|
}
|
|
17262
17493
|
};
|
|
17263
|
-
|
|
17494
|
+
GetOrLoadFileUseCase = __decorate([
|
|
17264
17495
|
__param(0, typescript_ioc_1.Inject),
|
|
17265
17496
|
__param(1, typescript_ioc_1.Inject),
|
|
17266
17497
|
__param(2, typescript_ioc_1.Inject),
|
|
@@ -17269,9 +17500,9 @@ LoadPeerFileUseCase = __decorate([
|
|
|
17269
17500
|
transport_1.TokenController,
|
|
17270
17501
|
transport_1.AccountController,
|
|
17271
17502
|
Validator])
|
|
17272
|
-
],
|
|
17273
|
-
exports.
|
|
17274
|
-
//# sourceMappingURL=
|
|
17503
|
+
], GetOrLoadFileUseCase);
|
|
17504
|
+
exports.GetOrLoadFileUseCase = GetOrLoadFileUseCase;
|
|
17505
|
+
//# sourceMappingURL=GetOrLoadFile.js.map
|
|
17275
17506
|
|
|
17276
17507
|
/***/ }),
|
|
17277
17508
|
|
|
@@ -17393,7 +17624,7 @@ __exportStar(__webpack_require__(/*! ./DownloadFile */ "./dist/useCases/transpor
|
|
|
17393
17624
|
__exportStar(__webpack_require__(/*! ./FileMapper */ "./dist/useCases/transport/files/FileMapper.js"), exports);
|
|
17394
17625
|
__exportStar(__webpack_require__(/*! ./GetFile */ "./dist/useCases/transport/files/GetFile.js"), exports);
|
|
17395
17626
|
__exportStar(__webpack_require__(/*! ./GetFiles */ "./dist/useCases/transport/files/GetFiles.js"), exports);
|
|
17396
|
-
__exportStar(__webpack_require__(/*! ./
|
|
17627
|
+
__exportStar(__webpack_require__(/*! ./GetOrLoadFile */ "./dist/useCases/transport/files/GetOrLoadFile.js"), exports);
|
|
17397
17628
|
__exportStar(__webpack_require__(/*! ./UploadOwnFile */ "./dist/useCases/transport/files/UploadOwnFile.js"), exports);
|
|
17398
17629
|
//# sourceMappingURL=index.js.map
|
|
17399
17630
|
|
|
@@ -20536,7 +20767,7 @@ class ApplicationError extends Error {
|
|
|
20536
20767
|
return this.code === error.code;
|
|
20537
20768
|
}
|
|
20538
20769
|
toString() {
|
|
20539
|
-
return JSON.stringify(this, undefined, 2);
|
|
20770
|
+
return JSON.stringify({ code: this.code, message: this.message, data: this.data }, undefined, 2);
|
|
20540
20771
|
}
|
|
20541
20772
|
}
|
|
20542
20773
|
exports.ApplicationError = ApplicationError;
|