@nmshd/content 1.2.2 → 2.0.0-alpha.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 (215) hide show
  1. package/dist/attributes/Attribute.d.ts +9 -11
  2. package/dist/attributes/Attribute.js +27 -14
  3. package/dist/attributes/Attribute.js.map +1 -1
  4. package/dist/attributes/AttributeName.d.ts +16 -0
  5. package/dist/attributes/AttributeName.js +62 -0
  6. package/dist/attributes/AttributeName.js.map +1 -0
  7. package/dist/attributes/AttributeNamespace.d.ts +8 -0
  8. package/dist/attributes/AttributeNamespace.js +13 -0
  9. package/dist/attributes/AttributeNamespace.js.map +1 -0
  10. package/dist/attributes/addresses/Address.d.ts +22 -0
  11. package/dist/attributes/{types/address/DeliveryBoxAddress.js → addresses/Address.js} +31 -22
  12. package/dist/attributes/addresses/Address.js.map +1 -0
  13. package/dist/attributes/addresses/DeliveryAddress.d.ts +12 -0
  14. package/dist/attributes/{types/birth/BirthDate.js → addresses/DeliveryAddress.js} +17 -17
  15. package/dist/attributes/addresses/DeliveryAddress.js.map +1 -0
  16. package/dist/buildInformation.js +4 -4
  17. package/dist/forms/FormItem.js +4 -10
  18. package/dist/forms/FormItem.js.map +1 -1
  19. package/dist/index.d.ts +10 -1
  20. package/dist/index.js +10 -1
  21. package/dist/index.js.map +1 -1
  22. package/dist/messages/Mail.js +2 -3
  23. package/dist/messages/Mail.js.map +1 -1
  24. package/dist/relationships/RelationshipCreationChangeRequestBody.d.ts +29 -0
  25. package/dist/relationships/RelationshipCreationChangeRequestBody.js +56 -0
  26. package/dist/relationships/RelationshipCreationChangeRequestBody.js.map +1 -0
  27. package/dist/relationships/RelationshipCreationChangeResponseBody.d.ts +0 -0
  28. package/dist/relationships/RelationshipCreationChangeResponseBody.js +2 -0
  29. package/dist/relationships/RelationshipCreationChangeResponseBody.js.map +1 -0
  30. package/dist/relationships/RelationshipExistsAction.d.ts +7 -0
  31. package/dist/{attributes/types/birth/BirthCountry.js → relationships/RelationshipExistsAction.js} +7 -8
  32. package/dist/relationships/RelationshipExistsAction.js.map +1 -0
  33. package/dist/relationships/RelationshipExistsMessageAction.d.ts +11 -0
  34. package/dist/{attributes/types/address/City.js → relationships/RelationshipExistsMessageAction.js} +10 -10
  35. package/dist/relationships/RelationshipExistsMessageAction.js.map +1 -0
  36. package/dist/relationships/RelationshipTemplateBody.d.ts +42 -0
  37. package/dist/relationships/RelationshipTemplateBody.js +73 -0
  38. package/dist/relationships/RelationshipTemplateBody.js.map +1 -0
  39. package/dist/requests/AttributesRequest.d.ts +49 -0
  40. package/dist/requests/AttributesRequest.js +65 -0
  41. package/dist/requests/AttributesRequest.js.map +1 -0
  42. package/dist/requests/Request.d.ts +41 -0
  43. package/dist/{attributes/types/name/LegalNameDE.js → requests/Request.js} +20 -25
  44. package/dist/requests/Request.js.map +1 -0
  45. package/dist/requests/RequestItem.d.ts +62 -0
  46. package/dist/{attributes/AttributeQuery.js → requests/RequestItem.js} +18 -24
  47. package/dist/requests/RequestItem.js.map +1 -0
  48. package/dist/requests/RequestItemGroup.d.ts +82 -0
  49. package/dist/{attributes/types/name/Salutation.js → requests/RequestItemGroup.js} +23 -23
  50. package/dist/requests/RequestItemGroup.js.map +1 -0
  51. package/dist/requests/Response.d.ts +18 -0
  52. package/dist/{attributes/types/address/HouseNumber.js → requests/Response.js} +19 -10
  53. package/dist/requests/Response.js.map +1 -0
  54. package/dist/requests/ResponseItem.d.ts +48 -0
  55. package/dist/requests/ResponseItem.js +71 -0
  56. package/dist/requests/ResponseItem.js.map +1 -0
  57. package/dist/requests/ResponseItemGroup.d.ts +15 -0
  58. package/dist/{attributes/types/measurements/AbstractMeasurement.js → requests/ResponseItemGroup.js} +14 -15
  59. package/dist/requests/ResponseItemGroup.js.map +1 -0
  60. package/dist/requests/ResponseItemResult.d.ts +5 -0
  61. package/dist/requests/ResponseItemResult.js +10 -0
  62. package/dist/requests/ResponseItemResult.js.map +1 -0
  63. package/lib-web/nmshd.content.js +443 -1889
  64. package/lib-web/nmshd.content.min.js +1 -1
  65. package/package.json +7 -7
  66. package/dist/attributes/AbstractAttributeValue.d.ts +0 -9
  67. package/dist/attributes/AbstractAttributeValue.js +0 -8
  68. package/dist/attributes/AbstractAttributeValue.js.map +0 -1
  69. package/dist/attributes/AttributeQuery.d.ts +0 -12
  70. package/dist/attributes/AttributeQuery.js.map +0 -1
  71. package/dist/attributes/index.d.ts +0 -4
  72. package/dist/attributes/index.js +0 -21
  73. package/dist/attributes/index.js.map +0 -1
  74. package/dist/attributes/types/AbstractDay.d.ts +0 -7
  75. package/dist/attributes/types/AbstractDay.js +0 -26
  76. package/dist/attributes/types/AbstractDay.js.map +0 -1
  77. package/dist/attributes/types/AbstractMonth.d.ts +0 -25
  78. package/dist/attributes/types/AbstractMonth.js +0 -44
  79. package/dist/attributes/types/AbstractMonth.js.map +0 -1
  80. package/dist/attributes/types/AbstractYear.d.ts +0 -4
  81. package/dist/attributes/types/AbstractYear.js +0 -23
  82. package/dist/attributes/types/AbstractYear.js.map +0 -1
  83. package/dist/attributes/types/AttributeList.d.ts +0 -1
  84. package/dist/attributes/types/AttributeList.js +0 -37
  85. package/dist/attributes/types/AttributeList.js.map +0 -1
  86. package/dist/attributes/types/AttributeTypeMapping.d.ts +0 -1
  87. package/dist/attributes/types/AttributeTypeMapping.js +0 -9
  88. package/dist/attributes/types/AttributeTypeMapping.js.map +0 -1
  89. package/dist/attributes/types/address/AbstractAddress.d.ts +0 -4
  90. package/dist/attributes/types/address/AbstractAddress.js +0 -23
  91. package/dist/attributes/types/address/AbstractAddress.js.map +0 -1
  92. package/dist/attributes/types/address/City.d.ts +0 -4
  93. package/dist/attributes/types/address/City.js.map +0 -1
  94. package/dist/attributes/types/address/Country.d.ts +0 -4
  95. package/dist/attributes/types/address/Country.js +0 -26
  96. package/dist/attributes/types/address/Country.js.map +0 -1
  97. package/dist/attributes/types/address/DeliveryBoxAddress.d.ts +0 -13
  98. package/dist/attributes/types/address/DeliveryBoxAddress.js.map +0 -1
  99. package/dist/attributes/types/address/HouseNumber.d.ts +0 -4
  100. package/dist/attributes/types/address/HouseNumber.js.map +0 -1
  101. package/dist/attributes/types/address/PostOfficeBoxAddress.d.ts +0 -12
  102. package/dist/attributes/types/address/PostOfficeBoxAddress.js +0 -50
  103. package/dist/attributes/types/address/PostOfficeBoxAddress.js.map +0 -1
  104. package/dist/attributes/types/address/State.d.ts +0 -4
  105. package/dist/attributes/types/address/State.js +0 -26
  106. package/dist/attributes/types/address/State.js.map +0 -1
  107. package/dist/attributes/types/address/Street.d.ts +0 -4
  108. package/dist/attributes/types/address/Street.js +0 -26
  109. package/dist/attributes/types/address/Street.js.map +0 -1
  110. package/dist/attributes/types/address/StreetAddress.d.ts +0 -15
  111. package/dist/attributes/types/address/StreetAddress.js +0 -57
  112. package/dist/attributes/types/address/StreetAddress.js.map +0 -1
  113. package/dist/attributes/types/address/ZipCode.d.ts +0 -4
  114. package/dist/attributes/types/address/ZipCode.js +0 -26
  115. package/dist/attributes/types/address/ZipCode.js.map +0 -1
  116. package/dist/attributes/types/address/index.d.ts +0 -10
  117. package/dist/attributes/types/address/index.js +0 -27
  118. package/dist/attributes/types/address/index.js.map +0 -1
  119. package/dist/attributes/types/birth/BirthCity.d.ts +0 -3
  120. package/dist/attributes/types/birth/BirthCity.js +0 -18
  121. package/dist/attributes/types/birth/BirthCity.js.map +0 -1
  122. package/dist/attributes/types/birth/BirthCountry.d.ts +0 -3
  123. package/dist/attributes/types/birth/BirthCountry.js.map +0 -1
  124. package/dist/attributes/types/birth/BirthDate.d.ts +0 -9
  125. package/dist/attributes/types/birth/BirthDate.js.map +0 -1
  126. package/dist/attributes/types/birth/BirthDay.d.ts +0 -3
  127. package/dist/attributes/types/birth/BirthDay.js +0 -18
  128. package/dist/attributes/types/birth/BirthDay.js.map +0 -1
  129. package/dist/attributes/types/birth/BirthMonth.d.ts +0 -3
  130. package/dist/attributes/types/birth/BirthMonth.js +0 -18
  131. package/dist/attributes/types/birth/BirthMonth.js.map +0 -1
  132. package/dist/attributes/types/birth/BirthPlace.d.ts +0 -9
  133. package/dist/attributes/types/birth/BirthPlace.js +0 -39
  134. package/dist/attributes/types/birth/BirthPlace.js.map +0 -1
  135. package/dist/attributes/types/birth/BirthState.d.ts +0 -3
  136. package/dist/attributes/types/birth/BirthState.js +0 -18
  137. package/dist/attributes/types/birth/BirthState.js.map +0 -1
  138. package/dist/attributes/types/birth/BirthYear.d.ts +0 -3
  139. package/dist/attributes/types/birth/BirthYear.js +0 -18
  140. package/dist/attributes/types/birth/BirthYear.js.map +0 -1
  141. package/dist/attributes/types/birth/index.d.ts +0 -8
  142. package/dist/attributes/types/birth/index.js +0 -25
  143. package/dist/attributes/types/birth/index.js.map +0 -1
  144. package/dist/attributes/types/idcard/AbstractIDCard.d.ts +0 -3
  145. package/dist/attributes/types/idcard/AbstractIDCard.js +0 -8
  146. package/dist/attributes/types/idcard/AbstractIDCard.js.map +0 -1
  147. package/dist/attributes/types/idcard/IDCardAuthorityName.d.ts +0 -4
  148. package/dist/attributes/types/idcard/IDCardAuthorityName.js +0 -26
  149. package/dist/attributes/types/idcard/IDCardAuthorityName.js.map +0 -1
  150. package/dist/attributes/types/idcard/IDCardDE.d.ts +0 -11
  151. package/dist/attributes/types/idcard/IDCardDE.js +0 -45
  152. package/dist/attributes/types/idcard/IDCardDE.js.map +0 -1
  153. package/dist/attributes/types/idcard/IDCardIssuingDate.d.ts +0 -4
  154. package/dist/attributes/types/idcard/IDCardIssuingDate.js +0 -26
  155. package/dist/attributes/types/idcard/IDCardIssuingDate.js.map +0 -1
  156. package/dist/attributes/types/idcard/index.d.ts +0 -4
  157. package/dist/attributes/types/idcard/index.js +0 -21
  158. package/dist/attributes/types/idcard/index.js.map +0 -1
  159. package/dist/attributes/types/index.d.ts +0 -6
  160. package/dist/attributes/types/index.js +0 -23
  161. package/dist/attributes/types/index.js.map +0 -1
  162. package/dist/attributes/types/measurements/AbstractMeasurement.d.ts +0 -8
  163. package/dist/attributes/types/measurements/AbstractMeasurement.js.map +0 -1
  164. package/dist/attributes/types/measurements/LengthMeasurement.d.ts +0 -18
  165. package/dist/attributes/types/measurements/LengthMeasurement.js +0 -43
  166. package/dist/attributes/types/measurements/LengthMeasurement.js.map +0 -1
  167. package/dist/attributes/types/measurements/index.d.ts +0 -1
  168. package/dist/attributes/types/measurements/index.js +0 -18
  169. package/dist/attributes/types/measurements/index.js.map +0 -1
  170. package/dist/attributes/types/name/AbstractLegalName.d.ts +0 -3
  171. package/dist/attributes/types/name/AbstractLegalName.js +0 -8
  172. package/dist/attributes/types/name/AbstractLegalName.js.map +0 -1
  173. package/dist/attributes/types/name/BirthName.d.ts +0 -4
  174. package/dist/attributes/types/name/BirthName.js +0 -26
  175. package/dist/attributes/types/name/BirthName.js.map +0 -1
  176. package/dist/attributes/types/name/DisplayName.d.ts +0 -4
  177. package/dist/attributes/types/name/DisplayName.js +0 -26
  178. package/dist/attributes/types/name/DisplayName.js.map +0 -1
  179. package/dist/attributes/types/name/GivenName.d.ts +0 -4
  180. package/dist/attributes/types/name/GivenName.js +0 -26
  181. package/dist/attributes/types/name/GivenName.js.map +0 -1
  182. package/dist/attributes/types/name/LegalNameDE.d.ts +0 -11
  183. package/dist/attributes/types/name/LegalNameDE.js.map +0 -1
  184. package/dist/attributes/types/name/Pseudonym.d.ts +0 -4
  185. package/dist/attributes/types/name/Pseudonym.js +0 -26
  186. package/dist/attributes/types/name/Pseudonym.js.map +0 -1
  187. package/dist/attributes/types/name/Salutation.d.ts +0 -11
  188. package/dist/attributes/types/name/Salutation.js.map +0 -1
  189. package/dist/attributes/types/name/Surname.d.ts +0 -4
  190. package/dist/attributes/types/name/Surname.js +0 -26
  191. package/dist/attributes/types/name/Surname.js.map +0 -1
  192. package/dist/attributes/types/name/Title.d.ts +0 -4
  193. package/dist/attributes/types/name/Title.js +0 -26
  194. package/dist/attributes/types/name/Title.js.map +0 -1
  195. package/dist/attributes/types/name/index.d.ts +0 -9
  196. package/dist/attributes/types/name/index.js +0 -26
  197. package/dist/attributes/types/name/index.js.map +0 -1
  198. package/dist/attributes/types/person/Age.d.ts +0 -4
  199. package/dist/attributes/types/person/Age.js +0 -26
  200. package/dist/attributes/types/person/Age.js.map +0 -1
  201. package/dist/attributes/types/person/Gender.d.ts +0 -7
  202. package/dist/attributes/types/person/Gender.js +0 -29
  203. package/dist/attributes/types/person/Gender.js.map +0 -1
  204. package/dist/attributes/types/person/PersonEyeColor.d.ts +0 -4
  205. package/dist/attributes/types/person/PersonEyeColor.js +0 -26
  206. package/dist/attributes/types/person/PersonEyeColor.js.map +0 -1
  207. package/dist/attributes/types/person/PersonHeight.d.ts +0 -4
  208. package/dist/attributes/types/person/PersonHeight.js +0 -29
  209. package/dist/attributes/types/person/PersonHeight.js.map +0 -1
  210. package/dist/attributes/types/person/Sex.d.ts +0 -7
  211. package/dist/attributes/types/person/Sex.js +0 -29
  212. package/dist/attributes/types/person/Sex.js.map +0 -1
  213. package/dist/attributes/types/person/index.d.ts +0 -5
  214. package/dist/attributes/types/person/index.js +0 -22
  215. package/dist/attributes/types/person/index.js.map +0 -1
@@ -0,0 +1,7 @@
1
+ import { Serializable } from "@js-soft/ts-serval";
2
+ export interface RelationshipExistsActionJSON {
3
+ }
4
+ export interface IRelationshipExistsAction {
5
+ }
6
+ export declare abstract class RelationshipExistsAction extends Serializable implements IRelationshipExistsAction {
7
+ }
@@ -6,13 +6,12 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
7
  };
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.BirthCountry = void 0;
9
+ exports.RelationshipExistsAction = void 0;
10
10
  const ts_serval_1 = require("@js-soft/ts-serval");
11
- const Country_1 = require("../address/Country");
12
- let BirthCountry = class BirthCountry extends Country_1.Country {
11
+ let RelationshipExistsAction = class RelationshipExistsAction extends ts_serval_1.Serializable {
13
12
  };
14
- BirthCountry = __decorate([
15
- (0, ts_serval_1.type)("BirthCountry")
16
- ], BirthCountry);
17
- exports.BirthCountry = BirthCountry;
18
- //# sourceMappingURL=BirthCountry.js.map
13
+ RelationshipExistsAction = __decorate([
14
+ (0, ts_serval_1.type)("RelationshipExistsAction")
15
+ ], RelationshipExistsAction);
16
+ exports.RelationshipExistsAction = RelationshipExistsAction;
17
+ //# sourceMappingURL=RelationshipExistsAction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RelationshipExistsAction.js","sourceRoot":"","sources":["../../src/relationships/RelationshipExistsAction.ts"],"names":[],"mappings":";;;;;;;;;AAAA,kDAAuD;AAOvD,IAAsB,wBAAwB,GAA9C,MAAsB,wBAAyB,SAAQ,wBAAY;CAAwC,CAAA;AAArF,wBAAwB;IAD7C,IAAA,gBAAI,EAAC,0BAA0B,CAAC;GACX,wBAAwB,CAA6D;AAArF,4DAAwB"}
@@ -0,0 +1,11 @@
1
+ import { ISerializableAsync, SerializableAsync } from "@js-soft/ts-serval";
2
+ import { IRelationshipExistsAction, RelationshipExistsAction, RelationshipExistsActionJSON } from "./RelationshipExistsAction";
3
+ export interface RelationshipExistsMessageActionJSON extends RelationshipExistsActionJSON {
4
+ content: any;
5
+ }
6
+ export interface IRelationshipExistsMessageAction extends IRelationshipExistsAction {
7
+ content: ISerializableAsync;
8
+ }
9
+ export declare class RelationshipExistsMessageAction extends RelationshipExistsAction implements IRelationshipExistsMessageAction {
10
+ content: SerializableAsync;
11
+ }
@@ -9,18 +9,18 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.City = void 0;
12
+ exports.RelationshipExistsMessageAction = void 0;
13
13
  const ts_serval_1 = require("@js-soft/ts-serval");
14
- const AbstractAttributeValue_1 = require("../../AbstractAttributeValue");
15
- let City = class City extends AbstractAttributeValue_1.AbstractAttributeValue {
14
+ const RelationshipExistsAction_1 = require("./RelationshipExistsAction");
15
+ let RelationshipExistsMessageAction = class RelationshipExistsMessageAction extends RelationshipExistsAction_1.RelationshipExistsAction {
16
16
  };
17
17
  __decorate([
18
18
  (0, ts_serval_1.serialize)(),
19
19
  (0, ts_serval_1.validate)(),
20
- __metadata("design:type", String)
21
- ], City.prototype, "value", void 0);
22
- City = __decorate([
23
- (0, ts_serval_1.type)("City")
24
- ], City);
25
- exports.City = City;
26
- //# sourceMappingURL=City.js.map
20
+ __metadata("design:type", ts_serval_1.SerializableAsync)
21
+ ], RelationshipExistsMessageAction.prototype, "content", void 0);
22
+ RelationshipExistsMessageAction = __decorate([
23
+ (0, ts_serval_1.type)("RelationshipExistsMessageAction")
24
+ ], RelationshipExistsMessageAction);
25
+ exports.RelationshipExistsMessageAction = RelationshipExistsMessageAction;
26
+ //# sourceMappingURL=RelationshipExistsMessageAction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RelationshipExistsMessageAction.js","sourceRoot":"","sources":["../../src/relationships/RelationshipExistsMessageAction.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kDAAqG;AACrG,yEAImC;AAWnC,IAAa,+BAA+B,GAA5C,MAAa,+BACT,SAAQ,mDAAwB;CAMnC,CAAA;AADG;IAFC,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,GAAE;8BACK,6BAAiB;gEAAA;AANxB,+BAA+B;IAD3C,IAAA,gBAAI,EAAC,iCAAiC,CAAC;GAC3B,+BAA+B,CAO3C;AAPY,0EAA+B"}
@@ -0,0 +1,42 @@
1
+ import { ISerializableAsync, SerializableAsync } from "@js-soft/ts-serval";
2
+ import { Attribute, AttributeJSON, IAttribute } from "../attributes/Attribute";
3
+ import { Authorization, AuthorizationJSON, IAuthorization } from "../authorizations/Authorization";
4
+ import { ContentJSON } from "../ContentJSON";
5
+ import { AttributesChangeRequest, AttributesChangeRequestJSON, IAttributesChangeRequest } from "../requests/AttributesChangeRequest";
6
+ import { AttributesRequest, AttributesRequestJSON, IAttributesRequest } from "../requests/AttributesRequest";
7
+ import { IRelationshipExistsAction, RelationshipExistsAction, RelationshipExistsActionJSON } from "./RelationshipExistsAction";
8
+ export interface RelationshipTemplateBodyJSON extends ContentJSON {
9
+ title?: string;
10
+ sessionIdentifier?: string;
11
+ metadata?: any;
12
+ sharedAttributes?: AttributeJSON[];
13
+ sharedCertificates?: any[];
14
+ sharedAuthorizations?: AuthorizationJSON[];
15
+ requestedAttributesChanges?: AttributesChangeRequestJSON[];
16
+ requestedAttributes?: AttributesRequestJSON[];
17
+ requestedCertificates?: any[];
18
+ relationshipExistsAction?: RelationshipExistsActionJSON;
19
+ }
20
+ export interface IRelationshipTemplateBody extends ISerializableAsync {
21
+ title?: string;
22
+ sessionIdentifier?: string;
23
+ metadata?: any;
24
+ sharedAttributes?: IAttribute[];
25
+ sharedCertificates?: any[];
26
+ sharedAuthorizations?: IAuthorization[];
27
+ requestedAttributesChanges?: IAttributesChangeRequest[];
28
+ requestedAttributes?: IAttributesRequest[];
29
+ relationshipExistsAction?: IRelationshipExistsAction;
30
+ }
31
+ export declare class RelationshipTemplateBody extends SerializableAsync implements IRelationshipTemplateBody {
32
+ title?: string;
33
+ sessionIdentifier?: string;
34
+ metadata?: any;
35
+ sharedAttributes?: Attribute[];
36
+ sharedCertificates?: any[];
37
+ sharedAuthorizations?: Authorization[];
38
+ requestedAttributesChanges?: AttributesChangeRequest[];
39
+ requestedAttributes?: AttributesRequest[];
40
+ relationshipExistsAction?: RelationshipExistsAction;
41
+ static from(value: IRelationshipTemplateBody): Promise<RelationshipTemplateBody>;
42
+ }
@@ -0,0 +1,73 @@
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
+ var RelationshipTemplateBody_1;
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.RelationshipTemplateBody = void 0;
14
+ const ts_serval_1 = require("@js-soft/ts-serval");
15
+ const Attribute_1 = require("../attributes/Attribute");
16
+ const Authorization_1 = require("../authorizations/Authorization");
17
+ const AttributesRequest_1 = require("../requests/AttributesRequest");
18
+ const RelationshipExistsAction_1 = require("./RelationshipExistsAction");
19
+ let RelationshipTemplateBody = RelationshipTemplateBody_1 = class RelationshipTemplateBody extends ts_serval_1.SerializableAsync {
20
+ static async from(value) {
21
+ return (await super.from(value, RelationshipTemplateBody_1));
22
+ }
23
+ };
24
+ __decorate([
25
+ (0, ts_serval_1.serialize)(),
26
+ (0, ts_serval_1.validate)({ nullable: true }),
27
+ __metadata("design:type", String)
28
+ ], RelationshipTemplateBody.prototype, "title", void 0);
29
+ __decorate([
30
+ (0, ts_serval_1.serialize)(),
31
+ (0, ts_serval_1.validate)({ nullable: true }),
32
+ __metadata("design:type", String)
33
+ ], RelationshipTemplateBody.prototype, "sessionIdentifier", void 0);
34
+ __decorate([
35
+ (0, ts_serval_1.serialize)({ any: true }),
36
+ (0, ts_serval_1.validate)({ nullable: true }),
37
+ __metadata("design:type", Object)
38
+ ], RelationshipTemplateBody.prototype, "metadata", void 0);
39
+ __decorate([
40
+ (0, ts_serval_1.serialize)({ type: Attribute_1.Attribute }),
41
+ (0, ts_serval_1.validate)({ nullable: true }),
42
+ __metadata("design:type", Array)
43
+ ], RelationshipTemplateBody.prototype, "sharedAttributes", void 0);
44
+ __decorate([
45
+ (0, ts_serval_1.serialize)(),
46
+ (0, ts_serval_1.validate)({ nullable: true }),
47
+ __metadata("design:type", Array)
48
+ ], RelationshipTemplateBody.prototype, "sharedCertificates", void 0);
49
+ __decorate([
50
+ (0, ts_serval_1.serialize)({ type: Authorization_1.Authorization }),
51
+ (0, ts_serval_1.validate)({ nullable: true }),
52
+ __metadata("design:type", Array)
53
+ ], RelationshipTemplateBody.prototype, "sharedAuthorizations", void 0);
54
+ __decorate([
55
+ (0, ts_serval_1.serialize)({ type: Attribute_1.Attribute }),
56
+ (0, ts_serval_1.validate)({ nullable: true }),
57
+ __metadata("design:type", Array)
58
+ ], RelationshipTemplateBody.prototype, "requestedAttributesChanges", void 0);
59
+ __decorate([
60
+ (0, ts_serval_1.serialize)({ type: AttributesRequest_1.AttributesRequest }),
61
+ (0, ts_serval_1.validate)({ nullable: true }),
62
+ __metadata("design:type", Array)
63
+ ], RelationshipTemplateBody.prototype, "requestedAttributes", void 0);
64
+ __decorate([
65
+ (0, ts_serval_1.serialize)(),
66
+ (0, ts_serval_1.validate)({ nullable: true }),
67
+ __metadata("design:type", RelationshipExistsAction_1.RelationshipExistsAction)
68
+ ], RelationshipTemplateBody.prototype, "relationshipExistsAction", void 0);
69
+ RelationshipTemplateBody = RelationshipTemplateBody_1 = __decorate([
70
+ (0, ts_serval_1.type)("RelationshipTemplateBody")
71
+ ], RelationshipTemplateBody);
72
+ exports.RelationshipTemplateBody = RelationshipTemplateBody;
73
+ //# sourceMappingURL=RelationshipTemplateBody.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RelationshipTemplateBody.js","sourceRoot":"","sources":["../../src/relationships/RelationshipTemplateBody.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,kDAAqG;AACrG,uDAA8E;AAC9E,mEAAkG;AAOlG,qEAA4G;AAC5G,yEAImC;AA4BnC,IAAa,wBAAwB,gCAArC,MAAa,wBAAyB,SAAQ,6BAAiB;IAqCpD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAgC;QACrD,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,0BAAwB,CAAC,CAA6B,CAAA;IAC1F,CAAC;CACJ,CAAA;AArCG;IAFC,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;uDACR;AAIrB;IAFC,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;mEACI;AAIjC;IAFC,IAAA,qBAAS,EAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;IACxB,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;0DACR;AAIrB;IAFC,IAAA,qBAAS,EAAC,EAAE,IAAI,EAAE,qBAAS,EAAE,CAAC;IAC9B,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;kEACQ;AAIrC;IAFC,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;oEACI;AAIjC;IAFC,IAAA,qBAAS,EAAC,EAAE,IAAI,EAAE,6BAAa,EAAE,CAAC;IAClC,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;sEACgB;AAI7C;IAFC,IAAA,qBAAS,EAAC,EAAE,IAAI,EAAE,qBAAS,EAAE,CAAC;IAC9B,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;4EACgC;AAI7D;IAFC,IAAA,qBAAS,EAAC,EAAE,IAAI,EAAE,qCAAiB,EAAE,CAAC;IACtC,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;qEACmB;AAIhD;IAFC,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BACK,mDAAwB;0EAAA;AAnCjD,wBAAwB;IADpC,IAAA,gBAAI,EAAC,0BAA0B,CAAC;GACpB,wBAAwB,CAwCpC;AAxCY,4DAAwB"}
@@ -0,0 +1,49 @@
1
+ import { ISerializableAsync, SerializableAsync } from "@js-soft/ts-serval";
2
+ import { CoreDate, CoreId, ICoreDate, ICoreId } from "@nmshd/transport";
3
+ import { ContentJSON } from "../ContentJSON";
4
+ export interface AttributesRequestJSON extends ContentJSON {
5
+ id?: string;
6
+ key?: string;
7
+ reason?: string;
8
+ expiresAt?: string;
9
+ names: string[];
10
+ required: boolean;
11
+ }
12
+ export interface IAttributesRequest extends ISerializableAsync {
13
+ id?: ICoreId;
14
+ /**
15
+ * The technial key of the request which is submitted back with the answer. This can be used
16
+ * for mapping requests and answers. The key should be unique and non-personal, best a random UUID.
17
+ * @default undefined - no key is used
18
+ */
19
+ key?: string;
20
+ /**
21
+ * The human-readable reason for this request. This can be used to provide the user with more input
22
+ * why this request is necessary and should be answered.
23
+ * @default undefined - no reason is given
24
+ */
25
+ reason?: string;
26
+ /**
27
+ * The point in time the request is considered obsolete either technically (e.g. the request is no longer
28
+ * valid or its response is no longer accepted) or from a business perspective (e.g. the request is no longer
29
+ * of interest).
30
+ * @default undefined - the request won't expire
31
+ */
32
+ expiresAt?: ICoreDate;
33
+ names: string[];
34
+ /**
35
+ * Whether or not this attribute request is required or optional
36
+ * @default undefined - the attribute request is optional
37
+ */
38
+ required?: boolean;
39
+ }
40
+ export declare class AttributesRequest extends SerializableAsync implements IAttributesRequest {
41
+ id?: CoreId;
42
+ key?: string;
43
+ reason?: string;
44
+ expiresAt?: CoreDate;
45
+ names: string[];
46
+ required?: boolean;
47
+ static from(value: IAttributesRequest): Promise<AttributesRequest>;
48
+ static fromJSON(value: AttributesRequestJSON): Promise<AttributesRequest>;
49
+ }
@@ -0,0 +1,65 @@
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
+ var AttributesRequest_1;
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.AttributesRequest = void 0;
14
+ const ts_serval_1 = require("@js-soft/ts-serval");
15
+ const transport_1 = require("@nmshd/transport");
16
+ let AttributesRequest = AttributesRequest_1 = class AttributesRequest extends ts_serval_1.SerializableAsync {
17
+ static async from(value) {
18
+ return (await super.from(value, AttributesRequest_1));
19
+ }
20
+ static async fromJSON(value) {
21
+ return await this.from({
22
+ id: value.id ? transport_1.CoreId.from(value.id) : undefined,
23
+ expiresAt: value.expiresAt ? transport_1.CoreDate.from(value.expiresAt) : undefined,
24
+ key: value.key,
25
+ reason: value.reason,
26
+ names: value.names,
27
+ required: value.required
28
+ });
29
+ }
30
+ };
31
+ __decorate([
32
+ (0, ts_serval_1.serialize)(),
33
+ (0, ts_serval_1.validate)({ nullable: true }),
34
+ __metadata("design:type", transport_1.CoreId)
35
+ ], AttributesRequest.prototype, "id", void 0);
36
+ __decorate([
37
+ (0, ts_serval_1.serialize)(),
38
+ (0, ts_serval_1.validate)({ nullable: true }),
39
+ __metadata("design:type", String)
40
+ ], AttributesRequest.prototype, "key", void 0);
41
+ __decorate([
42
+ (0, ts_serval_1.serialize)(),
43
+ (0, ts_serval_1.validate)({ nullable: true }),
44
+ __metadata("design:type", String)
45
+ ], AttributesRequest.prototype, "reason", void 0);
46
+ __decorate([
47
+ (0, ts_serval_1.serialize)(),
48
+ (0, ts_serval_1.validate)({ nullable: true }),
49
+ __metadata("design:type", transport_1.CoreDate)
50
+ ], AttributesRequest.prototype, "expiresAt", void 0);
51
+ __decorate([
52
+ (0, ts_serval_1.serialize)({ type: String }),
53
+ (0, ts_serval_1.validate)(),
54
+ __metadata("design:type", Array)
55
+ ], AttributesRequest.prototype, "names", void 0);
56
+ __decorate([
57
+ (0, ts_serval_1.serialize)(),
58
+ (0, ts_serval_1.validate)({ nullable: true }),
59
+ __metadata("design:type", Boolean)
60
+ ], AttributesRequest.prototype, "required", void 0);
61
+ AttributesRequest = AttributesRequest_1 = __decorate([
62
+ (0, ts_serval_1.type)("AttributesRequest")
63
+ ], AttributesRequest);
64
+ exports.AttributesRequest = AttributesRequest;
65
+ //# sourceMappingURL=AttributesRequest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AttributesRequest.js","sourceRoot":"","sources":["../../src/requests/AttributesRequest.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,kDAAqG;AACrG,gDAAuE;AA2CvE,IAAa,iBAAiB,yBAA9B,MAAa,iBAAkB,SAAQ,6BAAiB;IAyB7C,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAyB;QAC9C,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,mBAAiB,CAAC,CAAsB,CAAA;IAC5E,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,KAA4B;QACrD,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC;YACnB,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,kBAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;YAChD,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,oBAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;YACvE,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ;SAC3B,CAAC,CAAA;IACN,CAAC;CACJ,CAAA;AApCG;IAFC,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BACjB,kBAAM;6CAAA;AAIlB;IAFC,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;8CACV;AAInB;IAFC,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;iDACP;AAItB;IAFC,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BACV,oBAAQ;oDAAA;AAI3B;IAFC,IAAA,qBAAS,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC3B,IAAA,oBAAQ,GAAE;;gDACW;AAItB;IAFC,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;mDACJ;AAvBhB,iBAAiB;IAD7B,IAAA,gBAAI,EAAC,mBAAmB,CAAC;GACb,iBAAiB,CAuC7B;AAvCY,8CAAiB"}
@@ -0,0 +1,41 @@
1
+ import { ISerializableAsync, SerializableAsync } from "@js-soft/ts-serval";
2
+ import { CoreDate, CoreId, ICoreDate } from "@nmshd/transport";
3
+ import { ContentJSON } from "../ContentJSON";
4
+ import { IRequestItem, RequestItem, RequestItemJSON } from "./RequestItem";
5
+ import { IRequestItemGroup, RequestItemGroup, RequestItemGroupJSON } from "./RequestItemGroup";
6
+ export interface RequestJSON extends ContentJSON {
7
+ id?: string;
8
+ /**
9
+ * The point in time the request is considered obsolete either technically (e.g. the request is no longer
10
+ * valid or its response is no longer accepted) or from a business perspective (e.g. the request is no longer
11
+ * of interest).
12
+ * @default undefined - the request won't expire
13
+ */
14
+ expiresAt?: string;
15
+ /**
16
+ * The items of the Request. Can be either a single {@link RequestItemJSON RequestItem} or a {@link RequestItemGroupJSON RequestItemGroup}, which itself can contain
17
+ * further {@link RequestItemJSON RequestItems}.
18
+ */
19
+ items: (RequestItemGroupJSON | RequestItemJSON)[];
20
+ }
21
+ export interface IRequest extends ISerializableAsync {
22
+ id?: CoreId;
23
+ /**
24
+ * The point in time the request is considered obsolete either technically (e.g. the request is no longer
25
+ * valid or its response is no longer accepted) or from a business perspective (e.g. the request is no longer
26
+ * of interest).
27
+ * @default undefined - the request won't expire
28
+ */
29
+ expiresAt?: ICoreDate;
30
+ /**
31
+ * The items of the Request. Can be either a single {@link RequestItem RequestItem} or a {@link RequestItemGroup RequestItemGroup}, which itself can contain
32
+ * further {@link RequestItem RequestItems}.
33
+ */
34
+ items: (IRequestItemGroup | IRequestItem)[];
35
+ }
36
+ export declare class Request extends SerializableAsync implements IRequest {
37
+ id?: CoreId;
38
+ expiresAt?: CoreDate;
39
+ items: (RequestItemGroup | RequestItem)[];
40
+ static from(value: IRequest | RequestJSON): Promise<Request>;
41
+ }
@@ -8,38 +8,33 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
+ var Request_1;
11
12
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.LegalNameDE = void 0;
13
+ exports.Request = void 0;
13
14
  const ts_serval_1 = require("@js-soft/ts-serval");
14
- const AbstractLegalName_1 = require("./AbstractLegalName");
15
- const BirthName_1 = require("./BirthName");
16
- const GivenName_1 = require("./GivenName");
17
- const Pseudonym_1 = require("./Pseudonym");
18
- const Surname_1 = require("./Surname");
19
- let LegalNameDE = class LegalNameDE extends AbstractLegalName_1.AbstractLegalName {
15
+ const transport_1 = require("@nmshd/transport");
16
+ let Request = Request_1 = class Request extends ts_serval_1.SerializableAsync {
17
+ static async from(value) {
18
+ return await ts_serval_1.SerializableAsync.fromT(value, Request_1);
19
+ }
20
20
  };
21
21
  __decorate([
22
22
  (0, ts_serval_1.serialize)(),
23
- (0, ts_serval_1.validate)(),
24
- __metadata("design:type", Surname_1.Surname)
25
- ], LegalNameDE.prototype, "surname", void 0);
26
- __decorate([
27
- (0, ts_serval_1.serialize)({ type: GivenName_1.GivenName }),
28
- (0, ts_serval_1.validate)(),
29
- __metadata("design:type", Array)
30
- ], LegalNameDE.prototype, "givenNames", void 0);
23
+ (0, ts_serval_1.validate)({ nullable: true }),
24
+ __metadata("design:type", transport_1.CoreId)
25
+ ], Request.prototype, "id", void 0);
31
26
  __decorate([
32
27
  (0, ts_serval_1.serialize)(),
33
28
  (0, ts_serval_1.validate)({ nullable: true }),
34
- __metadata("design:type", BirthName_1.BirthName)
35
- ], LegalNameDE.prototype, "birthName", void 0);
29
+ __metadata("design:type", transport_1.CoreDate)
30
+ ], Request.prototype, "expiresAt", void 0);
36
31
  __decorate([
37
32
  (0, ts_serval_1.serialize)(),
38
- (0, ts_serval_1.validate)({ nullable: true }),
39
- __metadata("design:type", Pseudonym_1.Pseudonym)
40
- ], LegalNameDE.prototype, "pseudonym", void 0);
41
- LegalNameDE = __decorate([
42
- (0, ts_serval_1.type)("LegalNameDE")
43
- ], LegalNameDE);
44
- exports.LegalNameDE = LegalNameDE;
45
- //# sourceMappingURL=LegalNameDE.js.map
33
+ (0, ts_serval_1.validate)({ customValidator: (v) => (v.length < 1 ? "may not be empty" : undefined) }),
34
+ __metadata("design:type", Array)
35
+ ], Request.prototype, "items", void 0);
36
+ Request = Request_1 = __decorate([
37
+ (0, ts_serval_1.type)("Request")
38
+ ], Request);
39
+ exports.Request = Request;
40
+ //# sourceMappingURL=Request.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Request.js","sourceRoot":"","sources":["../../src/requests/Request.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,kDAAqG;AACrG,gDAA8D;AA0C9D,IAAa,OAAO,eAApB,MAAa,OAAQ,SAAQ,6BAAiB;IAanC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAA6B;QAClD,OAAO,MAAM,6BAAiB,CAAC,KAAK,CAAU,KAAK,EAAE,SAAO,CAAC,CAAA;IACjE,CAAC;CACJ,CAAA;AAbG;IAFC,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BACjB,kBAAM;mCAAA;AAIlB;IAFC,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BACV,oBAAQ;0CAAA;AAI3B;IAFC,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,EAAC,EAAE,eAAe,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC;;sCACtC;AAXvC,OAAO;IADnB,IAAA,gBAAI,EAAC,SAAS,CAAC;GACH,OAAO,CAgBnB;AAhBY,0BAAO"}
@@ -0,0 +1,62 @@
1
+ import { ISerializableAsync, SerializableAsync } from "@js-soft/ts-serval";
2
+ import { ContentJSON } from "../ContentJSON";
3
+ export interface RequestItemJSON extends ContentJSON {
4
+ /**
5
+ * The human-readable title of this item.
6
+ */
7
+ title?: string;
8
+ /**
9
+ * The human-readable description of this item.
10
+ */
11
+ description?: string;
12
+ /**
13
+ * This propertycan be used to add some arbitrary metadata to this item. The content
14
+ * of this property will be copied into the response on the side of the recipient, so
15
+ * the sender can use it to identify the group content as they receive the response.
16
+ */
17
+ responseMetadata?: object;
18
+ /**
19
+ * If set to `true`, the recipient has to accept this group if he wants to accept the
20
+ * Request.
21
+ * If set to `false`, the recipient can decide whether he wants to accept it or not.
22
+ *
23
+ * Caution: this setting does not take effect in case it is inside of a
24
+ * {@link RequestItemGroupJSON RequestItemGroup}, which is not accepted by the recipient,
25
+ * since a {@link RequestItemJSON RequestItem} can only be accepted if the parent group
26
+ * is accepted as well.
27
+ */
28
+ mustBeAccepted: boolean;
29
+ }
30
+ export interface IRequestItem extends ISerializableAsync {
31
+ /**
32
+ * The human-readable title of this item.
33
+ */
34
+ title?: string;
35
+ /**
36
+ * The human-readable description of this item.
37
+ */
38
+ description?: string;
39
+ /**
40
+ * This propertycan be used to add some arbitrary metadata to this item. The content
41
+ * of this property will be copied into the response on the side of the recipient, so
42
+ * the sender can use it to identify the group content as they receive the response.
43
+ */
44
+ responseMetadata?: object;
45
+ /**
46
+ * If set to `true`, the recipient has to accept this group if he wants to accept the
47
+ * Request.
48
+ * If set to `false`, the recipient can decide whether he wants to accept it or not.
49
+ *
50
+ * Caution: this setting does not take effect in case it is inside of a
51
+ * {@link RequestItemGroup RequestItemGroup}, which is not accepted by the recipient,
52
+ * since a {@link RequestItem RequestItem} can only be accepted if the parent group
53
+ * is accepted as well.
54
+ */
55
+ mustBeAccepted: boolean;
56
+ }
57
+ export declare abstract class RequestItem extends SerializableAsync {
58
+ title?: string;
59
+ description?: string;
60
+ mustBeAccepted: boolean;
61
+ responseMetadata?: object;
62
+ }
@@ -8,36 +8,30 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
- var AttributeQuery_1;
12
11
  Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.AttributeQuery = void 0;
12
+ exports.RequestItem = void 0;
14
13
  const ts_serval_1 = require("@js-soft/ts-serval");
15
- const transport_1 = require("@nmshd/transport");
16
- let AttributeQuery = AttributeQuery_1 = class AttributeQuery extends transport_1.CoreSerializable {
17
- static from(value) {
18
- return super.fromT(value, AttributeQuery_1);
19
- }
20
- };
14
+ class RequestItem extends ts_serval_1.SerializableAsync {
15
+ }
21
16
  __decorate([
22
17
  (0, ts_serval_1.serialize)(),
23
- (0, ts_serval_1.validate)(),
24
- __metadata("design:type", Boolean)
25
- ], AttributeQuery.prototype, "onlyValid", void 0);
18
+ (0, ts_serval_1.validate)({ nullable: true }),
19
+ __metadata("design:type", String)
20
+ ], RequestItem.prototype, "title", void 0);
26
21
  __decorate([
27
22
  (0, ts_serval_1.serialize)(),
28
- (0, ts_serval_1.validate)({
29
- nullable: true,
30
- customValidator: (v) => (v === "" ? "must not be an empty string" : undefined)
31
- }),
23
+ (0, ts_serval_1.validate)({ nullable: true }),
32
24
  __metadata("design:type", String)
33
- ], AttributeQuery.prototype, "attributeType", void 0);
25
+ ], RequestItem.prototype, "description", void 0);
34
26
  __decorate([
35
- (0, ts_serval_1.serialize)({ type: String }),
27
+ (0, ts_serval_1.serialize)(),
28
+ (0, ts_serval_1.validate)(),
29
+ __metadata("design:type", Boolean)
30
+ ], RequestItem.prototype, "mustBeAccepted", void 0);
31
+ __decorate([
32
+ (0, ts_serval_1.serialize)(),
36
33
  (0, ts_serval_1.validate)({ nullable: true }),
37
- __metadata("design:type", Array)
38
- ], AttributeQuery.prototype, "tags", void 0);
39
- AttributeQuery = AttributeQuery_1 = __decorate([
40
- (0, ts_serval_1.type)("AttributeQuery")
41
- ], AttributeQuery);
42
- exports.AttributeQuery = AttributeQuery;
43
- //# sourceMappingURL=AttributeQuery.js.map
34
+ __metadata("design:type", Object)
35
+ ], RequestItem.prototype, "responseMetadata", void 0);
36
+ exports.RequestItem = RequestItem;
37
+ //# sourceMappingURL=RequestItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RequestItem.js","sourceRoot":"","sources":["../../src/requests/RequestItem.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kDAA+F;AAiE/F,MAAsB,WAAY,SAAQ,6BAAiB;CAgB1D;AAbG;IAFC,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;0CACR;AAIrB;IAFC,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;gDACF;AAI3B;IAFC,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,GAAE;;mDACmB;AAI9B;IAFC,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;qDACG;AAfpC,kCAgBC"}
@@ -0,0 +1,82 @@
1
+ import { ISerializableAsync, SerializableAsync } from "@js-soft/ts-serval";
2
+ import { ContentJSON } from "../ContentJSON";
3
+ import { IRequestItem, RequestItem, RequestItemJSON } from "./RequestItem";
4
+ /**
5
+ * A RequestItemGroup can be used to group one or more {@link RequestItemJSON RequestItems}. This is useful
6
+ * if you want to
7
+ * * make sure that the items in the group can only be accepted together
8
+ *
9
+ * Example: when sending a `CreateAttributeRequestItem` **and** a `ShareAttributeRequestItem` in a single
10
+ * Request where the latter one targets an attribute created by the first one, it it should be impossible to
11
+ * reject the first item, while accepting the second one.
12
+ * * visually group items on the UI and give the a common title/description
13
+ */
14
+ export interface RequestItemGroupJSON extends ContentJSON {
15
+ /**
16
+ * The human-readable title of this group.
17
+ */
18
+ title?: string;
19
+ /**
20
+ * The human-readable description of this group.
21
+ */
22
+ description?: string;
23
+ /**
24
+ * If set to `true`, the recipient has to accept this group if he wants to accept the
25
+ * Request.
26
+ * If set to `false`, the recipient can decide whether he wants to accept it or not.
27
+ */
28
+ mustBeAccepted: boolean;
29
+ /**
30
+ * This propertycan be used to add some arbitrary metadata to this group. The content
31
+ * of this property will be copied into the response on the side of the recipient, so
32
+ * the sender can use it to identify the group content as they receive the response.
33
+ */
34
+ responseMetadata?: object;
35
+ /**
36
+ * The items of this group.
37
+ */
38
+ items: RequestItemJSON[];
39
+ }
40
+ /**
41
+ * A RequestItemGroup can be used to group one or more {@link RequestItem RequestItems}. This is useful
42
+ * if you want to
43
+ * * make sure that the items in the group can only be accepted together
44
+ *
45
+ * Example: when sending a `CreateAttributeRequestItem` **and** a `ShareAttributeRequestItem` in a single
46
+ * Request where the latter one targets an attribute created by the first one, it it should be impossible to
47
+ * reject the first item, while accepting the second one.
48
+ * * visually group items on the UI and give the a common title/description
49
+ */
50
+ export interface IRequestItemGroup extends ISerializableAsync {
51
+ /**
52
+ * The human-readable title of this group.
53
+ */
54
+ title?: string;
55
+ /**
56
+ * The human-readable description of this group.
57
+ */
58
+ description?: string;
59
+ /**
60
+ * If set to `true`, the recipient has to accept this group if he wants to accept the
61
+ * Request.
62
+ * If set to `false`, the recipient can decide whether he wants to accept it or not.
63
+ */
64
+ mustBeAccepted: boolean;
65
+ /**
66
+ * This propertycan be used to add some arbitrary metadata to this group. The content
67
+ * of this property will be copied into the response on the side of the recipient, so
68
+ * the sender can use it to identify the group content as they receive the response.
69
+ */
70
+ responseMetadata?: object;
71
+ /**
72
+ * The items of this group.
73
+ */
74
+ items: IRequestItem[];
75
+ }
76
+ export declare class RequestItemGroup extends SerializableAsync {
77
+ title?: string;
78
+ description?: string;
79
+ mustBeAccepted: boolean;
80
+ items: RequestItem[];
81
+ responseMetadata?: object;
82
+ }