@nmshd/runtime 6.22.0 → 6.23.0

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.
@@ -3,17 +3,25 @@ import { AttributesController } from "@nmshd/consumption";
3
3
  import { AttributeValues } from "@nmshd/content";
4
4
  import { AccountController } from "@nmshd/transport";
5
5
  import { LocalAttributeDTO } from "../../../types";
6
- import { ISO8601DateTimeString, SchemaRepository, SchemaValidator, UseCase } from "../../common";
7
- export interface CreateRepositoryAttributeRequest {
6
+ import { ISO8601DateTimeString, SchemaRepository, UseCase, ValidationResult } from "../../common";
7
+ import { IValidator } from "../../common/validation/IValidator";
8
+ interface AbstractCreateRepositoryAttributeRequest<T> {
8
9
  content: {
9
- value: AttributeValues.Identity.Json;
10
+ value: T;
10
11
  tags?: string[];
11
12
  validFrom?: ISO8601DateTimeString;
12
13
  validTo?: ISO8601DateTimeString;
13
14
  };
14
15
  }
15
- declare class Validator extends SchemaValidator<CreateRepositoryAttributeRequest> {
16
+ export interface CreateRepositoryAttributeRequest extends AbstractCreateRepositoryAttributeRequest<AttributeValues.Identity.Json> {
17
+ }
18
+ export interface SchemaValidatableCreateRepositoryAttributeRequest extends AbstractCreateRepositoryAttributeRequest<unknown> {
19
+ }
20
+ declare class Validator implements IValidator<CreateRepositoryAttributeRequest> {
21
+ private readonly schemaRepository;
16
22
  constructor(schemaRepository: SchemaRepository);
23
+ validate(value: CreateRepositoryAttributeRequest): Promise<ValidationResult> | ValidationResult;
24
+ private static addPrefixToErrorMessagesOfResult;
17
25
  }
18
26
  export declare class CreateRepositoryAttributeUseCase extends UseCase<CreateRepositoryAttributeRequest, LocalAttributeDTO> {
19
27
  private readonly attributeController;
@@ -1 +1 @@
1
- {"version":3,"file":"CreateRepositoryAttribute.d.ts","sourceRoot":"","sources":["../../../../src/useCases/consumption/attributes/CreateRepositoryAttribute.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,oBAAoB,EAAmC,MAAM,oBAAoB,CAAC;AAC3F,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAGrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAiB,qBAAqB,EAAiB,gBAAgB,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAG/H,MAAM,WAAW,gCAAgC;IAC7C,OAAO,EAAE;QACL,KAAK,EAAE,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC;QACrC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAChB,SAAS,CAAC,EAAE,qBAAqB,CAAC;QAClC,OAAO,CAAC,EAAE,qBAAqB,CAAC;KACnC,CAAC;CACL;AAED,cAAM,SAAU,SAAQ,eAAe,CAAC,gCAAgC,CAAC;gBAC1C,gBAAgB,EAAE,gBAAgB;CAGhE;AAED,qBAAa,gCAAiC,SAAQ,OAAO,CAAC,gCAAgC,EAAE,iBAAiB,CAAC;IAElG,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IACpC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;gBADjB,mBAAmB,EAAE,oBAAoB,EACzC,iBAAiB,EAAE,iBAAiB,EACrD,SAAS,EAAE,SAAS;cAKhB,eAAe,CAAC,OAAO,EAAE,gCAAgC,GAAG,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;CAiCjH"}
1
+ {"version":3,"file":"CreateRepositoryAttribute.d.ts","sourceRoot":"","sources":["../../../../src/useCases/consumption/attributes/CreateRepositoryAttribute.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAmC,MAAM,oBAAoB,CAAC;AAC3F,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAGrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAiB,qBAAqB,EAAiB,gBAAgB,EAAmB,OAAO,EAAqB,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACpK,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAGhE,UAAU,wCAAwC,CAAC,CAAC;IAChD,OAAO,EAAE;QACL,KAAK,EAAE,CAAC,CAAC;QACT,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAChB,SAAS,CAAC,EAAE,qBAAqB,CAAC;QAClC,OAAO,CAAC,EAAE,qBAAqB,CAAC;KACnC,CAAC;CACL;AAED,MAAM,WAAW,gCAAiC,SAAQ,wCAAwC,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC;CAAG;AAEpI,MAAM,WAAW,iDAAkD,SAAQ,wCAAwC,CAAC,OAAO,CAAC;CAAG;AAE/H,cAAM,SAAU,YAAW,UAAU,CAAC,gCAAgC,CAAC;IACxC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;gBAAhB,gBAAgB,EAAE,gBAAgB;IAEvE,QAAQ,CAAC,KAAK,EAAE,gCAAgC,GAAG,OAAO,CAAC,gBAAgB,CAAC,GAAG,gBAAgB;IAuBtG,OAAO,CAAC,MAAM,CAAC,gCAAgC;CAYlD;AAED,qBAAa,gCAAiC,SAAQ,OAAO,CAAC,gCAAgC,EAAE,iBAAiB,CAAC;IAElG,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IACpC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;gBADjB,mBAAmB,EAAE,oBAAoB,EACzC,iBAAiB,EAAE,iBAAiB,EACrD,SAAS,EAAE,SAAS;cAKhB,eAAe,CAAC,OAAO,EAAE,gCAAgC,GAAG,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;CAiCjH"}
@@ -14,21 +14,47 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
14
14
  var __importDefault = (this && this.__importDefault) || function (mod) {
15
15
  return (mod && mod.__esModule) ? mod : { "default": mod };
16
16
  };
17
+ var Validator_1;
17
18
  Object.defineProperty(exports, "__esModule", { value: true });
18
19
  exports.CreateRepositoryAttributeUseCase = void 0;
19
20
  const ts_utils_1 = require("@js-soft/ts-utils");
20
21
  const consumption_1 = require("@nmshd/consumption");
22
+ const content_1 = require("@nmshd/content");
21
23
  const transport_1 = require("@nmshd/transport");
22
24
  const typescript_ioc_1 = require("@nmshd/typescript-ioc");
23
25
  const lodash_1 = __importDefault(require("lodash"));
24
26
  const common_1 = require("../../common");
25
27
  const AttributeMapper_1 = require("./AttributeMapper");
26
- let Validator = class Validator extends common_1.SchemaValidator {
28
+ let Validator = Validator_1 = class Validator {
27
29
  constructor(schemaRepository) {
28
- super(schemaRepository.getSchema("CreateRepositoryAttributeRequest"));
30
+ this.schemaRepository = schemaRepository;
31
+ }
32
+ validate(value) {
33
+ const requestSchemaValidator = new common_1.SchemaValidator(this.schemaRepository.getSchema("CreateRepositoryAttributeRequest"));
34
+ const requestValidationResult = requestSchemaValidator.validate(value);
35
+ if (requestValidationResult.isInvalid())
36
+ return requestValidationResult;
37
+ const attributeType = value.content.value["@type"];
38
+ if (!content_1.AttributeValues.Identity.TYPE_NAMES.includes(attributeType)) {
39
+ const attributeTypeValidationResult = new common_1.ValidationResult();
40
+ attributeTypeValidationResult.addFailure(new common_1.ValidationFailure(common_1.RuntimeErrors.general.invalidPropertyValue("content.value.@type must match one of the allowed Attribute value types for IdentityAttributes"), "@type"));
41
+ return attributeTypeValidationResult;
42
+ }
43
+ const attributeContentSchemaValidator = new common_1.SchemaValidator(this.schemaRepository.getSchema(attributeType));
44
+ const attributeContentValidationResult = attributeContentSchemaValidator.validate(value.content.value);
45
+ return Validator_1.addPrefixToErrorMessagesOfResult(`${attributeType} :: `, attributeContentValidationResult);
46
+ }
47
+ static addPrefixToErrorMessagesOfResult(prefix, validationResult) {
48
+ if (validationResult.isValid())
49
+ return validationResult;
50
+ const failures = validationResult.getFailures();
51
+ const failuresWithPrefix = failures.map((failure) => new common_1.ValidationFailure(new ts_utils_1.ApplicationError(failure.error.code, `${prefix}${failure.error.message}`, failure.error.data), failure.propertyName));
52
+ const validationResultWithPrefix = new common_1.ValidationResult();
53
+ validationResultWithPrefix.addFailures(failuresWithPrefix);
54
+ return validationResultWithPrefix;
29
55
  }
30
56
  };
31
- Validator = __decorate([
57
+ Validator = Validator_1 = __decorate([
32
58
  __param(0, typescript_ioc_1.Inject),
33
59
  __metadata("design:paramtypes", [common_1.SchemaRepository])
34
60
  ], Validator);
@@ -1 +1 @@
1
- {"version":3,"file":"CreateRepositoryAttribute.js","sourceRoot":"","sources":["../../../../src/useCases/consumption/attributes/CreateRepositoryAttribute.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,gDAA2C;AAC3C,oDAA2F;AAE3F,gDAAqD;AACrD,0DAA+C;AAC/C,oDAAuB;AAEvB,yCAA+H;AAC/H,uDAAoD;AAWpD,IAAM,SAAS,GAAf,MAAM,SAAU,SAAQ,wBAAiD;IACrE,YAA2B,gBAAkC;QACzD,KAAK,CAAC,gBAAgB,CAAC,SAAS,CAAC,kCAAkC,CAAC,CAAC,CAAC;IAC1E,CAAC;CACJ,CAAA;AAJK,SAAS;IACS,WAAA,uBAAM,CAAA;qCAAmB,yBAAgB;GAD3D,SAAS,CAId;AAED,IAAa,gCAAgC,GAA7C,MAAa,gCAAiC,SAAQ,gBAA4D;IAC9G,YAC6B,mBAAyC,EACzC,iBAAoC,EACrD,SAAoB;QAE5B,KAAK,CAAC,SAAS,CAAC,CAAC;QAJQ,wBAAmB,GAAnB,mBAAmB,CAAsB;QACzC,sBAAiB,GAAjB,iBAAiB,CAAmB;IAIjE,CAAC;IAES,KAAK,CAAC,eAAe,CAAC,OAAyC;QACrE,MAAM,MAAM,GAAG,6CAA+B,CAAC,IAAI,CAAC;YAChD,OAAO,EAAE;gBACL,OAAO,EAAE,mBAAmB;gBAC5B,KAAK,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE;gBACzD,GAAG,OAAO,CAAC,OAAO;aACrB;SACJ,CAAC,CAAC;QAEH,MAAM,qCAAqC,GAAG,IAAA,sBAAa,EAAC;YACxD,OAAO,EAAE;gBACL,OAAO,EAAE,mBAAmB;gBAC5B,KAAK,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE;gBACzD,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK;aAC/B;SACJ,CAAC,CAAC;QAEH,qCAAqC,CAAC,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAE1E,MAAM,4BAA4B,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,qCAAqC,CAAC,CAAC;QAE9H,MAAM,gBAAgB,GAAG,4BAA4B,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,gBAAC,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QAE9I,IAAI,gBAAgB,EAAE,CAAC;YACnB,OAAO,iBAAM,CAAC,IAAI,CAAC,sBAAa,CAAC,UAAU,CAAC,wCAAwC,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9H,CAAC;QAED,MAAM,qBAAqB,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC;QAE/F,MAAM,IAAI,CAAC,iBAAiB,CAAC,cAAc,EAAE,CAAC;QAE9C,OAAO,iBAAM,CAAC,EAAE,CAAC,iCAAe,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAC5E,CAAC;CACJ,CAAA;AA1CY,4EAAgC;2CAAhC,gCAAgC;IAEpC,WAAA,uBAAM,CAAA;IACN,WAAA,uBAAM,CAAA;IACN,WAAA,uBAAM,CAAA;qCAFuC,kCAAoB;QACtB,6BAAiB;QAC1C,SAAS;GAJvB,gCAAgC,CA0C5C"}
1
+ {"version":3,"file":"CreateRepositoryAttribute.js","sourceRoot":"","sources":["../../../../src/useCases/consumption/attributes/CreateRepositoryAttribute.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -64,12 +64,12 @@
64
64
  "@js-soft/logging-abstractions": "^1.0.1",
65
65
  "@js-soft/ts-serval": "2.0.11",
66
66
  "@js-soft/ts-utils": "^2.3.3",
67
- "@nmshd/consumption": "6.22.0",
68
- "@nmshd/content": "6.22.0",
69
- "@nmshd/core-types": "6.22.0",
67
+ "@nmshd/consumption": "6.23.0",
68
+ "@nmshd/content": "6.23.0",
69
+ "@nmshd/core-types": "6.23.0",
70
70
  "@nmshd/crypto": "2.1.0",
71
71
  "@nmshd/iql": "^1.0.2",
72
- "@nmshd/transport": "6.22.0",
72
+ "@nmshd/transport": "6.23.0",
73
73
  "@nmshd/typescript-ioc": "3.2.4",
74
74
  "ajv": "^8.17.1",
75
75
  "ajv-errors": "^3.0.0",
@@ -96,5 +96,5 @@
96
96
  "access": "public",
97
97
  "provenance": true
98
98
  },
99
- "version": "6.22.0"
99
+ "version": "6.23.0"
100
100
  }