@icure/api 8.0.0-RC.2 → 8.0.0-RC.4

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 (213) hide show
  1. package/icc-api/api/IccAccesslogApi.d.ts +12 -4
  2. package/icc-api/api/IccAccesslogApi.js +23 -18
  3. package/icc-api/api/IccAccesslogApi.js.map +1 -1
  4. package/icc-api/api/IccAgendaApi.d.ts +13 -4
  5. package/icc-api/api/IccAgendaApi.js +42 -19
  6. package/icc-api/api/IccAgendaApi.js.map +1 -1
  7. package/icc-api/api/IccApplicationsettingsApi.d.ts +1 -1
  8. package/icc-api/api/IccApplicationsettingsApi.js +2 -2
  9. package/icc-api/api/IccApplicationsettingsApi.js.map +1 -1
  10. package/icc-api/api/IccArticleApi.d.ts +13 -4
  11. package/icc-api/api/IccArticleApi.js +50 -26
  12. package/icc-api/api/IccArticleApi.js.map +1 -1
  13. package/icc-api/api/IccAuthApi.d.ts +1 -1
  14. package/icc-api/api/IccAuthApi.js +2 -2
  15. package/icc-api/api/IccAuthApi.js.map +1 -1
  16. package/icc-api/api/IccCalendarItemApi.d.ts +8 -4
  17. package/icc-api/api/IccCalendarItemApi.js +15 -22
  18. package/icc-api/api/IccCalendarItemApi.js.map +1 -1
  19. package/icc-api/api/IccCalendarItemTypeApi.d.ts +6 -4
  20. package/icc-api/api/IccCalendarItemTypeApi.js +60 -45
  21. package/icc-api/api/IccCalendarItemTypeApi.js.map +1 -1
  22. package/icc-api/api/IccClassificationApi.d.ts +14 -5
  23. package/icc-api/api/IccClassificationApi.js +22 -12
  24. package/icc-api/api/IccClassificationApi.js.map +1 -1
  25. package/icc-api/api/IccClassificationTemplateApi.d.ts +14 -5
  26. package/icc-api/api/IccClassificationTemplateApi.js +102 -70
  27. package/icc-api/api/IccClassificationTemplateApi.js.map +1 -1
  28. package/icc-api/api/IccCodeApi.d.ts +1 -1
  29. package/icc-api/api/IccCodeApi.js +2 -2
  30. package/icc-api/api/IccCodeApi.js.map +1 -1
  31. package/icc-api/api/IccContactApi.d.ts +11 -4
  32. package/icc-api/api/IccContactApi.js +20 -13
  33. package/icc-api/api/IccContactApi.js.map +1 -1
  34. package/icc-api/api/IccDataownerApi.d.ts +1 -1
  35. package/icc-api/api/IccDataownerApi.js +44 -27
  36. package/icc-api/api/IccDataownerApi.js.map +1 -1
  37. package/icc-api/api/IccDeviceApi.d.ts +1 -1
  38. package/icc-api/api/IccDeviceApi.js +43 -32
  39. package/icc-api/api/IccDeviceApi.js.map +1 -1
  40. package/icc-api/api/IccDoctemplateApi.d.ts +10 -8
  41. package/icc-api/api/IccDoctemplateApi.js +121 -101
  42. package/icc-api/api/IccDoctemplateApi.js.map +1 -1
  43. package/icc-api/api/IccDocumentApi.d.ts +13 -5
  44. package/icc-api/api/IccDocumentApi.js +24 -14
  45. package/icc-api/api/IccDocumentApi.js.map +1 -1
  46. package/icc-api/api/IccEntityrefApi.d.ts +1 -1
  47. package/icc-api/api/IccEntityrefApi.js +27 -16
  48. package/icc-api/api/IccEntityrefApi.js.map +1 -1
  49. package/icc-api/api/IccEntitytemplateApi.d.ts +6 -4
  50. package/icc-api/api/IccEntitytemplateApi.js +118 -97
  51. package/icc-api/api/IccEntitytemplateApi.js.map +1 -1
  52. package/icc-api/api/IccFormApi.d.ts +13 -5
  53. package/icc-api/api/IccFormApi.js +24 -18
  54. package/icc-api/api/IccFormApi.js.map +1 -1
  55. package/icc-api/api/IccFrontendmigrationApi.d.ts +1 -1
  56. package/icc-api/api/IccFrontendmigrationApi.js +19 -10
  57. package/icc-api/api/IccFrontendmigrationApi.js.map +1 -1
  58. package/icc-api/api/IccGroupApi.d.ts +16 -2
  59. package/icc-api/api/IccGroupApi.js +29 -3
  60. package/icc-api/api/IccGroupApi.js.map +1 -1
  61. package/icc-api/api/IccHcpartyApi.d.ts +25 -10
  62. package/icc-api/api/IccHcpartyApi.js +84 -53
  63. package/icc-api/api/IccHcpartyApi.js.map +1 -1
  64. package/icc-api/api/IccHelementApi.d.ts +13 -5
  65. package/icc-api/api/IccHelementApi.js +25 -21
  66. package/icc-api/api/IccHelementApi.js.map +1 -1
  67. package/icc-api/api/IccIcureApi.d.ts +1 -1
  68. package/icc-api/api/IccIcureApi.js +2 -2
  69. package/icc-api/api/IccIcureApi.js.map +1 -1
  70. package/icc-api/api/IccInsuranceApi.d.ts +3 -1
  71. package/icc-api/api/IccInsuranceApi.js +76 -47
  72. package/icc-api/api/IccInsuranceApi.js.map +1 -1
  73. package/icc-api/api/IccInvoiceApi.d.ts +1 -1
  74. package/icc-api/api/IccInvoiceApi.js +5 -11
  75. package/icc-api/api/IccInvoiceApi.js.map +1 -1
  76. package/icc-api/api/IccKeywordApi.d.ts +6 -5
  77. package/icc-api/api/IccKeywordApi.js +59 -45
  78. package/icc-api/api/IccKeywordApi.js.map +1 -1
  79. package/icc-api/api/IccMaintenanceTaskApi.d.ts +13 -4
  80. package/icc-api/api/IccMaintenanceTaskApi.js +22 -12
  81. package/icc-api/api/IccMaintenanceTaskApi.js.map +1 -1
  82. package/icc-api/api/IccMedexApi.d.ts +1 -1
  83. package/icc-api/api/IccMedexApi.js +19 -10
  84. package/icc-api/api/IccMedexApi.js.map +1 -1
  85. package/icc-api/api/IccMedicallocationApi.d.ts +6 -4
  86. package/icc-api/api/IccMedicallocationApi.js +52 -39
  87. package/icc-api/api/IccMedicallocationApi.js.map +1 -1
  88. package/icc-api/api/IccMessageApi.d.ts +9 -7
  89. package/icc-api/api/IccMessageApi.js +14 -21
  90. package/icc-api/api/IccMessageApi.js.map +1 -1
  91. package/icc-api/api/IccPatientApi.d.ts +13 -5
  92. package/icc-api/api/IccPatientApi.js +23 -13
  93. package/icc-api/api/IccPatientApi.js.map +1 -1
  94. package/icc-api/api/IccPermissionApi.d.ts +1 -1
  95. package/icc-api/api/IccPermissionApi.js +19 -10
  96. package/icc-api/api/IccPermissionApi.js.map +1 -1
  97. package/icc-api/api/IccPlaceApi.d.ts +7 -5
  98. package/icc-api/api/IccPlaceApi.js +53 -40
  99. package/icc-api/api/IccPlaceApi.js.map +1 -1
  100. package/icc-api/api/IccReceiptApi.d.ts +13 -4
  101. package/icc-api/api/IccReceiptApi.js +23 -13
  102. package/icc-api/api/IccReceiptApi.js.map +1 -1
  103. package/icc-api/api/IccReplicationApi.d.ts +1 -1
  104. package/icc-api/api/IccReplicationApi.js +3 -5
  105. package/icc-api/api/IccReplicationApi.js.map +1 -1
  106. package/icc-api/api/IccRoleApi.d.ts +16 -0
  107. package/icc-api/api/IccRoleApi.js +42 -0
  108. package/icc-api/api/IccRoleApi.js.map +1 -0
  109. package/icc-api/api/IccTarificationApi.d.ts +1 -1
  110. package/icc-api/api/IccTarificationApi.js +19 -10
  111. package/icc-api/api/IccTarificationApi.js.map +1 -1
  112. package/icc-api/api/IccTimeTableApi.d.ts +13 -4
  113. package/icc-api/api/IccTimeTableApi.js +21 -9
  114. package/icc-api/api/IccTimeTableApi.js.map +1 -1
  115. package/icc-api/api/IccTopicApi.d.ts +13 -6
  116. package/icc-api/api/IccTopicApi.js +18 -3
  117. package/icc-api/api/IccTopicApi.js.map +1 -1
  118. package/icc-api/api/IccUserApi.d.ts +31 -1
  119. package/icc-api/api/IccUserApi.js +65 -2
  120. package/icc-api/api/IccUserApi.js.map +1 -1
  121. package/icc-api/api/{IccExchangeDataApi.d.ts → internal/IccExchangeDataApi.d.ts} +4 -4
  122. package/icc-api/api/internal/IccExchangeDataApi.js +106 -0
  123. package/icc-api/api/internal/IccExchangeDataApi.js.map +1 -0
  124. package/icc-api/api/{IccExchangeDataMapApi.d.ts → internal/IccExchangeDataMapApi.d.ts} +4 -4
  125. package/icc-api/api/internal/IccExchangeDataMapApi.js +84 -0
  126. package/icc-api/api/internal/IccExchangeDataMapApi.js.map +1 -0
  127. package/icc-api/api/internal/IccRecoveryDataApi.d.ts +19 -0
  128. package/icc-api/api/internal/IccRecoveryDataApi.js +83 -0
  129. package/icc-api/api/internal/IccRecoveryDataApi.js.map +1 -0
  130. package/icc-api/api/{IccSecureDelegationKeyMapApi.d.ts → internal/IccSecureDelegationKeyMapApi.d.ts} +6 -6
  131. package/icc-api/api/{IccSecureDelegationKeyMapApi.js → internal/IccSecureDelegationKeyMapApi.js} +5 -5
  132. package/icc-api/api/internal/IccSecureDelegationKeyMapApi.js.map +1 -0
  133. package/icc-api/model/Group.d.ts +4 -0
  134. package/icc-api/model/Group.js.map +1 -1
  135. package/icc-api/model/Message.d.ts +5 -0
  136. package/icc-api/model/Message.js.map +1 -1
  137. package/icc-api/model/MessageAttachment.d.ts +10 -0
  138. package/icc-api/model/MessageAttachment.js +10 -0
  139. package/icc-api/model/MessageAttachment.js.map +1 -0
  140. package/icc-api/model/PaginatedListInsurance.d.ts +20 -0
  141. package/icc-api/model/PaginatedListInsurance.js +10 -0
  142. package/icc-api/model/PaginatedListInsurance.js.map +1 -0
  143. package/icc-api/model/Role.d.ts +11 -0
  144. package/icc-api/model/Role.js +10 -0
  145. package/icc-api/model/Role.js.map +1 -0
  146. package/icc-api/model/RoleConfiguration.d.ts +6 -0
  147. package/icc-api/model/RoleConfiguration.js +10 -0
  148. package/icc-api/model/RoleConfiguration.js.map +1 -0
  149. package/icc-api/model/RoleSourceEnum.d.ts +11 -0
  150. package/icc-api/model/RoleSourceEnum.js +16 -0
  151. package/icc-api/model/RoleSourceEnum.js.map +1 -0
  152. package/icc-api/model/User.d.ts +19 -0
  153. package/icc-api/model/User.js +6 -0
  154. package/icc-api/model/User.js.map +1 -1
  155. package/icc-api/model/UserTypeEnum.d.ts +9 -0
  156. package/icc-api/model/UserTypeEnum.js +14 -0
  157. package/icc-api/model/UserTypeEnum.js.map +1 -0
  158. package/icc-api/model/internal/ExchangeData.d.ts +20 -4
  159. package/icc-api/model/internal/ExchangeData.js +8 -2
  160. package/icc-api/model/internal/ExchangeData.js.map +1 -1
  161. package/icc-api/model/internal/RecoveryData.d.ts +47 -0
  162. package/icc-api/model/internal/RecoveryData.js +34 -0
  163. package/icc-api/model/internal/RecoveryData.js.map +1 -0
  164. package/icc-api/model/models.d.ts +6 -1
  165. package/icc-api/model/models.js +5 -0
  166. package/icc-api/model/models.js.map +1 -1
  167. package/icc-x-api/auth/JwtBridgedAuthService.d.ts +1 -0
  168. package/icc-x-api/auth/JwtBridgedAuthService.js +10 -3
  169. package/icc-x-api/auth/JwtBridgedAuthService.js.map +1 -1
  170. package/icc-x-api/crypto/BaseExchangeDataManager.d.ts +37 -25
  171. package/icc-x-api/crypto/BaseExchangeDataManager.js +123 -64
  172. package/icc-x-api/crypto/BaseExchangeDataManager.js.map +1 -1
  173. package/icc-x-api/crypto/CryptoPrimitives.d.ts +3 -0
  174. package/icc-x-api/crypto/CryptoPrimitives.js +5 -0
  175. package/icc-x-api/crypto/CryptoPrimitives.js.map +1 -1
  176. package/icc-x-api/crypto/DelegationsDeAnonymization.js +1 -1
  177. package/icc-x-api/crypto/DelegationsDeAnonymization.js.map +1 -1
  178. package/icc-x-api/crypto/ExchangeDataManager.js +14 -6
  179. package/icc-x-api/crypto/ExchangeDataManager.js.map +1 -1
  180. package/icc-x-api/crypto/ExchangeDataMapManager.d.ts +1 -1
  181. package/icc-x-api/crypto/ExchangeDataMapManager.js.map +1 -1
  182. package/icc-x-api/crypto/HMACUtils.d.ts +10 -0
  183. package/icc-x-api/crypto/HMACUtils.js +48 -0
  184. package/icc-x-api/crypto/HMACUtils.js.map +1 -0
  185. package/icc-x-api/crypto/SecureDelegationsManager.js +3 -0
  186. package/icc-x-api/crypto/SecureDelegationsManager.js.map +1 -1
  187. package/icc-x-api/crypto/UserSignatureKeysManager.d.ts +1 -1
  188. package/icc-x-api/crypto/UserSignatureKeysManager.js +2 -2
  189. package/icc-x-api/crypto/UserSignatureKeysManager.js.map +1 -1
  190. package/icc-x-api/icc-calendar-item-x-api.js.map +1 -1
  191. package/icc-x-api/icc-icure-maintenance-x-api.d.ts +1 -1
  192. package/icc-x-api/icc-icure-maintenance-x-api.js.map +1 -1
  193. package/icc-x-api/icc-maintenance-task-x-api.d.ts +5 -3
  194. package/icc-x-api/icc-maintenance-task-x-api.js +7 -1
  195. package/icc-x-api/icc-maintenance-task-x-api.js.map +1 -1
  196. package/icc-x-api/icc-recovery-x-api.d.ts +0 -0
  197. package/icc-x-api/icc-recovery-x-api.js +2 -0
  198. package/icc-x-api/icc-recovery-x-api.js.map +1 -0
  199. package/icc-x-api/index.d.ts +2 -0
  200. package/icc-x-api/index.js +7 -2
  201. package/icc-x-api/index.js.map +1 -1
  202. package/icc-x-api/storage/KeyStorageImpl.d.ts +1 -0
  203. package/icc-x-api/storage/KeyStorageImpl.js +20 -12
  204. package/icc-x-api/storage/KeyStorageImpl.js.map +1 -1
  205. package/package.json +1 -1
  206. package/icc-api/api/IccDocumentTemplateApi.d.ts +0 -106
  207. package/icc-api/api/IccDocumentTemplateApi.js +0 -223
  208. package/icc-api/api/IccDocumentTemplateApi.js.map +0 -1
  209. package/icc-api/api/IccExchangeDataApi.js +0 -85
  210. package/icc-api/api/IccExchangeDataApi.js.map +0 -1
  211. package/icc-api/api/IccExchangeDataMapApi.js +0 -65
  212. package/icc-api/api/IccExchangeDataMapApi.js.map +0 -1
  213. package/icc-api/api/IccSecureDelegationKeyMapApi.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IccRecoveryDataApi.js","sourceRoot":"","sources":["../../../../icc-api/api/internal/IccRecoveryDataApi.ts"],"names":[],"mappings":"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","sourcesContent":["import { XHR } from '../XHR'\nimport { RecoveryData } from '../../model/internal/RecoveryData'\nimport { AuthenticationProvider, NoAuthenticationProvider } from '../../../icc-x-api'\nimport { iccRestApiPath } from '../IccRestApiPath'\nimport { DocIdentifier } from '../../model/DocIdentifier'\nimport { Content } from '../../model/Content'\n\nexport class IccRecoveryDataApi {\n host: string\n headers: Array<XHR.Header>\n authenticationProvider: AuthenticationProvider\n fetchImpl?: (input: RequestInfo, init?: RequestInit) => Promise<Response>\n\n constructor(\n host: string,\n headers: any,\n authenticationProvider?: AuthenticationProvider,\n fetchImpl?: (input: RequestInfo, init?: RequestInit) => Promise<Response>\n ) {\n this.host = iccRestApiPath(host)\n this.headers = Object.keys(headers).map((k) => new XHR.Header(k, headers[k]))\n this.authenticationProvider = !!authenticationProvider ? authenticationProvider : new NoAuthenticationProvider()\n this.fetchImpl = fetchImpl\n }\n\n setHeaders(h: Array<XHR.Header>) {\n this.headers = h\n }\n\n handleError(e: XHR.XHRError): never {\n throw e\n }\n\n async createRecoveryData(body?: RecoveryData): Promise<RecoveryData> {\n const _url = this.host + `/recoverydata` + '?ts=' + new Date().getTime()\n let headers = this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new RecoveryData(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n async getRecoveryData(recoveryDataId: string): Promise<RecoveryData> {\n const _url = this.host + `/recoverydata/${encodeURIComponent(String(recoveryDataId))}` + '?ts=' + new Date().getTime()\n let headers = this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('GET', _url, headers, null, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new RecoveryData(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n async deleteRecoveryData(recoveryDataId: string): Promise<DocIdentifier> {\n const _url = this.host + `/recoverydata/${encodeURIComponent(String(recoveryDataId))}` + '?ts=' + new Date().getTime()\n return XHR.sendCommand('DELETE', _url, this.headers, null, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new DocIdentifier(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n async deleteAllRecoveryDataForRecipient(recipientId: string): Promise<Content> {\n const _url = this.host + `/recoverydata/forRecipient/${encodeURIComponent(String(recipientId))}` + '?ts=' + new Date().getTime()\n let headers = this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('DELETE', _url, headers, null, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new Content(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n async deleteAllRecoveryDataOfTypeForRecipient(type: string, recipientId: string): Promise<Content> {\n const _url =\n this.host +\n `/recoverydata/forRecipient/${encodeURIComponent(String(recipientId))}/ofType/${encodeURIComponent(String(type))}` +\n '?ts=' +\n new Date().getTime()\n return XHR.sendCommand('DELETE', _url, this.headers, null, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new Content(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n}\n"]}
@@ -1,9 +1,9 @@
1
- import { EntityShareOrMetadataUpdateRequest } from '../model/requests/EntityShareOrMetadataUpdateRequest';
2
- import { EntityBulkShareResult } from '../model/requests/EntityBulkShareResult';
3
- import { XHR } from './XHR';
4
- import { AuthenticationProvider } from '../../icc-x-api';
5
- import { SecureDelegationKeyMap } from '../model/internal/SecureDelegationKeyMap';
6
- import { ListOfIds } from '../model/ListOfIds';
1
+ import { EntityShareOrMetadataUpdateRequest } from '../../model/requests/EntityShareOrMetadataUpdateRequest';
2
+ import { EntityBulkShareResult } from '../../model/requests/EntityBulkShareResult';
3
+ import { XHR } from '../XHR';
4
+ import { AuthenticationProvider } from '../../../icc-x-api';
5
+ import { SecureDelegationKeyMap } from '../../model/internal/SecureDelegationKeyMap';
6
+ import { ListOfIds } from '../../model/ListOfIds';
7
7
  /**
8
8
  * @internal this class is for internal use only and may be changed without notice.
9
9
  */
@@ -10,11 +10,11 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.IccSecureDelegationKeyMapApi = void 0;
13
- const EntityBulkShareResult_1 = require("../model/requests/EntityBulkShareResult");
14
- const XHR_1 = require("./XHR");
15
- const icc_x_api_1 = require("../../icc-x-api");
16
- const IccRestApiPath_1 = require("./IccRestApiPath");
17
- const SecureDelegationKeyMap_1 = require("../model/internal/SecureDelegationKeyMap");
13
+ const EntityBulkShareResult_1 = require("../../model/requests/EntityBulkShareResult");
14
+ const XHR_1 = require("../XHR");
15
+ const icc_x_api_1 = require("../../../icc-x-api");
16
+ const IccRestApiPath_1 = require("../IccRestApiPath");
17
+ const SecureDelegationKeyMap_1 = require("../../model/internal/SecureDelegationKeyMap");
18
18
  /**
19
19
  * @internal this class is for internal use only and may be changed without notice.
20
20
  */
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IccSecureDelegationKeyMapApi.js","sourceRoot":"","sources":["../../../../icc-api/api/internal/IccSecureDelegationKeyMapApi.ts"],"names":[],"mappings":"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","sourcesContent":["import { EntityShareOrMetadataUpdateRequest } from '../../model/requests/EntityShareOrMetadataUpdateRequest'\nimport { EntityBulkShareResult } from '../../model/requests/EntityBulkShareResult'\nimport { XHR } from '../XHR'\nimport { AuthenticationProvider, NoAuthenticationProvider } from '../../../icc-x-api'\nimport { iccRestApiPath } from '../IccRestApiPath'\nimport { SecureDelegationKeyMap } from '../../model/internal/SecureDelegationKeyMap'\nimport { ListOfIds } from '../../model/ListOfIds'\n\n/**\n * @internal this class is for internal use only and may be changed without notice.\n */\nexport class IccSecureDelegationKeyMapApi {\n host: string\n _headers: Array<XHR.Header>\n authenticationProvider: AuthenticationProvider\n fetchImpl?: (input: RequestInfo, init?: RequestInit) => Promise<Response>\n\n constructor(\n host: string,\n headers: any,\n authenticationProvider?: AuthenticationProvider,\n fetchImpl?: (input: RequestInfo, init?: RequestInit) => Promise<Response>\n ) {\n this.host = iccRestApiPath(host)\n this._headers = Object.keys(headers).map((k) => new XHR.Header(k, headers[k]))\n this.authenticationProvider = !!authenticationProvider ? authenticationProvider : new NoAuthenticationProvider()\n this.fetchImpl = fetchImpl\n }\n\n get headers(): Promise<Array<XHR.Header>> {\n return Promise.resolve(this._headers)\n }\n\n setHeaders(h: Array<XHR.Header>) {\n this._headers = h\n }\n\n handleError(e: XHR.XHRError): never {\n throw e\n }\n\n async getByDelegationKeys(delegationKeys: ListOfIds, proofOfAccessHeaders: XHR.Header[]): Promise<SecureDelegationKeyMap[]> {\n let _body = delegationKeys\n\n const _url = this.host + `/securedelegationkeymap/bydelegationkeys` + '?ts=' + new Date().getTime()\n let headers = [...(await this.headers), ...proofOfAccessHeaders]\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new SecureDelegationKeyMap(it)))\n .catch((err) => this.handleError(err))\n }\n\n async create(delegationKeyMap: SecureDelegationKeyMap, proofOfAccessHeader: XHR.Header): Promise<SecureDelegationKeyMap> {\n let _body = delegationKeyMap\n\n const _url = this.host + `/securedelegationkeymap` + '?ts=' + new Date().getTime()\n let headers = [...(await this.headers), proofOfAccessHeader]\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new SecureDelegationKeyMap(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n async bulkShareSecureDelegationKeyMap(\n request: {\n [entityId: string]: { [requestId: string]: EntityShareOrMetadataUpdateRequest }\n },\n proofOfAccessHeaders: XHR.Header[]\n ): Promise<EntityBulkShareResult<SecureDelegationKeyMap>[]> {\n const _url = this.host + '/securedelegationkeymap/bulkSharedMetadataUpdate' + '?ts=' + new Date().getTime()\n let headers = [...(await this.headers), ...proofOfAccessHeaders]\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('PUT', _url, headers, request, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((x) => new EntityBulkShareResult<SecureDelegationKeyMap>(x, SecureDelegationKeyMap)))\n .catch((err) => this.handleError(err))\n }\n}\n"]}
@@ -12,6 +12,7 @@
12
12
  import { CodeStub } from './CodeStub';
13
13
  import { OperationToken } from './OperationToken';
14
14
  import { PropertyStub } from './PropertyStub';
15
+ import { UserTypeEnum } from './UserTypeEnum';
15
16
  /**
16
17
  * This entity represents a group
17
18
  */
@@ -66,4 +67,7 @@ export declare class Group {
66
67
  [key: string]: string;
67
68
  };
68
69
  superGroup?: string;
70
+ defaultUserRoles?: {
71
+ [key in UserTypeEnum]: Array<String>;
72
+ };
69
73
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Group.js","sourceRoot":"","sources":["../../../icc-api/model/Group.ts"],"names":[],"mappings":";;;AAeA;;GAEG;AACH,MAAa,KAAK;IAChB,YAAY,IAAgB;QAC1B,MAAM,CAAC,MAAM,CAAC,IAAa,EAAE,IAAI,CAAC,CAAA;IACpC,CAAC;CA+CF;AAlDD,sBAkDC","sourcesContent":["/**\n * iCure Data Stack API Documentation\n * The iCure Data Stack Application API is the native interface to iCure. This version is obsolete, please use v2.\n *\n * OpenAPI spec version: v1\n *\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { CodeStub } from './CodeStub'\nimport { OperationToken } from './OperationToken'\nimport { PropertyStub } from './PropertyStub'\n\n/**\n * This entity represents a group\n */\nexport class Group {\n constructor(json: JSON | any) {\n Object.assign(this as Group, json)\n }\n\n /**\n * The id of the group. We encourage using either a v4 UUID or a HL7 Id.\n */\n id?: string\n /**\n * The revision of the group in the database, used for conflict management / optimistic locking.\n */\n rev?: string\n /**\n * hard delete (unix epoch in ms) timestamp of the object. Filled automatically when deletePatient is called.\n */\n deletionDate?: number\n /**\n * A tag is an item from a codification system that qualifies an entity as being member of a certain class, whatever the value it might have taken. If the tag qualifies the content of a field, it means that whatever the content of the field, the tag will always apply. For example, the label of a field is qualified using a tag. LOINC is a codification system typically used for tags.\n */\n tags?: Array<CodeStub>\n /**\n * Username for the group\n */\n name?: string\n /**\n * Password for the group access\n */\n password?: string\n /**\n * List of servers accessible to the group\n */\n servers?: Array<string>\n /**\n * Whether the group has a super admin permission, originally set to no access.\n */\n superAdmin?: boolean\n /**\n * Extra properties for the user. Those properties are typed (see class Property)\n */\n properties?: Array<PropertyStub>\n /**\n * Single-used token to perform specific operations\n */\n operationTokens?: { [key: string]: OperationToken }\n /**\n * List of entities that have to be collected from a shared database. Only Code and tarification can be set at this point.\n */\n sharedEntities?: { [key: string]: string }\n superGroup?: string\n}\n"]}
1
+ {"version":3,"file":"Group.js","sourceRoot":"","sources":["../../../icc-api/model/Group.ts"],"names":[],"mappings":";;;AAgBA;;GAEG;AACH,MAAa,KAAK;IAChB,YAAY,IAAgB;QAC1B,MAAM,CAAC,MAAM,CAAC,IAAa,EAAE,IAAI,CAAC,CAAA;IACpC,CAAC;CAgDF;AAnDD,sBAmDC","sourcesContent":["/**\n * iCure Data Stack API Documentation\n * The iCure Data Stack Application API is the native interface to iCure. This version is obsolete, please use v2.\n *\n * OpenAPI spec version: v1\n *\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { CodeStub } from './CodeStub'\nimport { OperationToken } from './OperationToken'\nimport { PropertyStub } from './PropertyStub'\nimport { UserTypeEnum } from './UserTypeEnum'\n\n/**\n * This entity represents a group\n */\nexport class Group {\n constructor(json: JSON | any) {\n Object.assign(this as Group, json)\n }\n\n /**\n * The id of the group. We encourage using either a v4 UUID or a HL7 Id.\n */\n id?: string\n /**\n * The revision of the group in the database, used for conflict management / optimistic locking.\n */\n rev?: string\n /**\n * hard delete (unix epoch in ms) timestamp of the object. Filled automatically when deletePatient is called.\n */\n deletionDate?: number\n /**\n * A tag is an item from a codification system that qualifies an entity as being member of a certain class, whatever the value it might have taken. If the tag qualifies the content of a field, it means that whatever the content of the field, the tag will always apply. For example, the label of a field is qualified using a tag. LOINC is a codification system typically used for tags.\n */\n tags?: Array<CodeStub>\n /**\n * Username for the group\n */\n name?: string\n /**\n * Password for the group access\n */\n password?: string\n /**\n * List of servers accessible to the group\n */\n servers?: Array<string>\n /**\n * Whether the group has a super admin permission, originally set to no access.\n */\n superAdmin?: boolean\n /**\n * Extra properties for the user. Those properties are typed (see class Property)\n */\n properties?: Array<PropertyStub>\n /**\n * Single-used token to perform specific operations\n */\n operationTokens?: { [key: string]: OperationToken }\n /**\n * List of entities that have to be collected from a shared database. Only Code and tarification can be set at this point.\n */\n sharedEntities?: { [key: string]: string }\n superGroup?: string\n defaultUserRoles?: { [key in UserTypeEnum]: Array<String> }\n}\n"]}
@@ -13,6 +13,7 @@ import { CodeStub } from './CodeStub';
13
13
  import { Delegation } from './Delegation';
14
14
  import { MessageReadStatus } from './MessageReadStatus';
15
15
  import { SecurityMetadata } from './SecurityMetadata';
16
+ import { MessageAttachment } from "./MessageAttachment";
16
17
  /**
17
18
  * This entity is a root level object. It represents a Message. It is serialized in JSON and saved in the underlying CouchDB database.
18
19
  */
@@ -104,6 +105,10 @@ export declare class Message {
104
105
  readStatus?: {
105
106
  [key: string]: MessageReadStatus;
106
107
  };
108
+ /**
109
+ * Attachments of the message
110
+ */
111
+ messageAttachments?: MessageAttachment[];
107
112
  transportGuid?: string;
108
113
  remark?: string;
109
114
  conversationGuid?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"Message.js","sourceRoot":"","sources":["../../../icc-api/model/Message.ts"],"names":[],"mappings":";;;AAiBA;;GAEG;AACH,MAAa,OAAO;IAClB,YAAY,IAAgB;QAC1B,MAAM,CAAC,MAAM,CAAC,IAAe,EAAE,IAAI,CAAC,CAAA;IACtC,CAAC;CA6HF;AAhID,0BAgIC","sourcesContent":["/**\n * iCure Data Stack API Documentation\n * The iCure Data Stack Application API is the native interface to iCure. This version is obsolete, please use v2.\n *\n * OpenAPI spec version: v1\n *\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { CodeStub } from './CodeStub'\nimport { Delegation } from './Delegation'\nimport { MessageReadStatus } from './MessageReadStatus'\nimport { SecurityMetadata } from './SecurityMetadata'\nimport { EntityWithDelegationTypeName } from '../../icc-x-api/utils/EntityWithDelegationTypeName'\n\n/**\n * This entity is a root level object. It represents a Message. It is serialized in JSON and saved in the underlying CouchDB database.\n */\nexport class Message {\n constructor(json: JSON | any) {\n Object.assign(this as Message, json)\n }\n\n /**\n * The ID of the message. We encourage using either a v4 UUID or a HL7 Id.\n */\n id?: string\n /**\n * The revision of the message in the database, used for conflict management / optimistic locking.\n */\n rev?: string\n /**\n * The timestamp (unix epoch in ms) of creation of this entity, will be filled automatically if missing. Not enforced by the application server.\n */\n created?: number\n /**\n * The date (unix epoch in ms) of the latest modification of this entity, will be filled automatically if missing. Not enforced by the application server.\n */\n modified?: number\n /**\n * The id of the User that has created this entity, will be filled automatically if missing. Not enforced by the application server.\n */\n author?: string\n /**\n * The id of the HealthcareParty that is responsible for this entity, will be filled automatically if missing. Not enforced by the application server.\n */\n responsible?: string\n /**\n * The id of the medical location where this entity was created.\n */\n medicalLocationId?: string\n /**\n * A tag is an item from a codification system that qualifies an entity as being member of a certain class, whatever the value it might have taken. If the tag qualifies the content of a field, it means that whatever the content of the field, the tag will always apply. For example, the label of a field is qualified using a tag. LOINC is a codification system typically used for tags.\n */\n tags?: Array<CodeStub>\n /**\n * A code is an item from a codification system that qualifies the content of this entity. SNOMED-CT, ICPC-2 or ICD-10 codifications systems can be used for codes\n */\n codes?: Array<CodeStub>\n /**\n * Soft delete (unix epoch in ms) timestamp of the object.\n */\n endOfLife?: number\n /**\n * hard delete (unix epoch in ms) timestamp of the object. Filled automatically when deletePatient is called.\n */\n deletionDate?: number\n /**\n * Address of the sender of the message\n */\n fromAddress?: string\n /**\n * ID of the healthcare party sending the message\n */\n fromHealthcarePartyId?: string\n formId?: string\n /**\n * Status of the message\n */\n status?: number\n /**\n * The type of user who is the recipient of this message\n */\n recipientsType?: string\n /**\n * List of IDs of healthcare parties to whom the message is addressed\n */\n recipients?: Array<string>\n /**\n * The address of the recipient of the message. Format is of an email address with extra domains defined for mycarenet and ehealth: (efact.mycarenet.be/eattest.mycarenet.be/chapter4.mycarenet.be/ehbox.ehealth.fgov.be)\n */\n toAddresses?: Array<string>\n /**\n * The timestamp (unix epoch in ms) when the message was received\n */\n received?: number\n /**\n * The timestamp (unix epoch in ms) when the message was sent\n */\n sent?: number\n metas?: { [key: string]: string }\n /**\n * Status showing whether the message is read or not and the time of reading\n */\n readStatus?: { [key: string]: MessageReadStatus }\n transportGuid?: string\n remark?: string\n conversationGuid?: string\n /**\n * Subject for the message\n */\n subject?: string\n /**\n * Set of IDs for invoices in the message\n */\n invoiceIds?: Array<string>\n /**\n * ID of a parent in a message conversation\n */\n parentId?: string\n externalRef?: string\n unassignedResults?: Array<string>\n assignedResults?: { [key: string]: string }\n senderReferences?: { [key: string]: string }\n /**\n * The secretForeignKeys are filled at the to many end of a one to many relationship (for example inside Contact for the Patient -> Contacts relationship). Used when we want to find all contacts for a specific patient. These keys are in clear. You can have several to partition the medical document space.\n */\n secretForeignKeys?: Array<string>\n /**\n * The secretForeignKeys are filled at the to many end of a one to many relationship (for example inside Contact for the Patient -> Contacts relationship). Used when we want to find the patient for a specific contact. These keys are the encrypted id (using the hcParty key for the delegate) that can be found in clear inside the patient. ids encrypted using the hcParty keys.\n */\n cryptedForeignKeys?: { [key: string]: Array<Delegation> }\n /**\n * When a document is created, the responsible generates a cryptographically random master key (never to be used for something else than referencing from other entities). He/she encrypts it using his own AES exchange key and stores it as a delegation. The responsible is thus always in the delegations as well\n */\n delegations?: { [key: string]: Array<Delegation> }\n /**\n * When a document needs to be encrypted, the responsible generates a cryptographically random master key (different from the delegation key, never to appear in clear anywhere in the db. He/she encrypts it using his own AES exchange key and stores it as a delegation\n */\n encryptionKeys?: { [key: string]: Array<Delegation> }\n /**\n * The base64 encoded data of this object, formatted as JSON and encrypted in AES using the random master key from encryptionKeys.\n */\n encryptedSelf?: string\n securityMetadata?: SecurityMetadata\n \n}\n"]}
1
+ {"version":3,"file":"Message.js","sourceRoot":"","sources":["../../../icc-api/model/Message.ts"],"names":[],"mappings":";;;AAiBA;;GAEG;AACH,MAAa,OAAO;IAClB,YAAY,IAAgB;QAC1B,MAAM,CAAC,MAAM,CAAC,IAAe,EAAE,IAAI,CAAC,CAAA;IACtC,CAAC;CAiIF;AApID,0BAoIC","sourcesContent":["/**\n * iCure Data Stack API Documentation\n * The iCure Data Stack Application API is the native interface to iCure. This version is obsolete, please use v2.\n *\n * OpenAPI spec version: v1\n *\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { CodeStub } from './CodeStub'\nimport { Delegation } from './Delegation'\nimport { MessageReadStatus } from './MessageReadStatus'\nimport { SecurityMetadata } from './SecurityMetadata'\nimport {MessageAttachment} from \"./MessageAttachment\"\n\n/**\n * This entity is a root level object. It represents a Message. It is serialized in JSON and saved in the underlying CouchDB database.\n */\nexport class Message {\n constructor(json: JSON | any) {\n Object.assign(this as Message, json)\n }\n\n /**\n * The ID of the message. We encourage using either a v4 UUID or a HL7 Id.\n */\n id?: string\n /**\n * The revision of the message in the database, used for conflict management / optimistic locking.\n */\n rev?: string\n /**\n * The timestamp (unix epoch in ms) of creation of this entity, will be filled automatically if missing. Not enforced by the application server.\n */\n created?: number\n /**\n * The date (unix epoch in ms) of the latest modification of this entity, will be filled automatically if missing. Not enforced by the application server.\n */\n modified?: number\n /**\n * The id of the User that has created this entity, will be filled automatically if missing. Not enforced by the application server.\n */\n author?: string\n /**\n * The id of the HealthcareParty that is responsible for this entity, will be filled automatically if missing. Not enforced by the application server.\n */\n responsible?: string\n /**\n * The id of the medical location where this entity was created.\n */\n medicalLocationId?: string\n /**\n * A tag is an item from a codification system that qualifies an entity as being member of a certain class, whatever the value it might have taken. If the tag qualifies the content of a field, it means that whatever the content of the field, the tag will always apply. For example, the label of a field is qualified using a tag. LOINC is a codification system typically used for tags.\n */\n tags?: Array<CodeStub>\n /**\n * A code is an item from a codification system that qualifies the content of this entity. SNOMED-CT, ICPC-2 or ICD-10 codifications systems can be used for codes\n */\n codes?: Array<CodeStub>\n /**\n * Soft delete (unix epoch in ms) timestamp of the object.\n */\n endOfLife?: number\n /**\n * hard delete (unix epoch in ms) timestamp of the object. Filled automatically when deletePatient is called.\n */\n deletionDate?: number\n /**\n * Address of the sender of the message\n */\n fromAddress?: string\n /**\n * ID of the healthcare party sending the message\n */\n fromHealthcarePartyId?: string\n formId?: string\n /**\n * Status of the message\n */\n status?: number\n /**\n * The type of user who is the recipient of this message\n */\n recipientsType?: string\n /**\n * List of IDs of healthcare parties to whom the message is addressed\n */\n recipients?: Array<string>\n /**\n * The address of the recipient of the message. Format is of an email address with extra domains defined for mycarenet and ehealth: (efact.mycarenet.be/eattest.mycarenet.be/chapter4.mycarenet.be/ehbox.ehealth.fgov.be)\n */\n toAddresses?: Array<string>\n /**\n * The timestamp (unix epoch in ms) when the message was received\n */\n received?: number\n /**\n * The timestamp (unix epoch in ms) when the message was sent\n */\n sent?: number\n metas?: { [key: string]: string }\n /**\n * Status showing whether the message is read or not and the time of reading\n */\n readStatus?: { [key: string]: MessageReadStatus }\n /**\n * Attachments of the message\n */\n messageAttachments?: MessageAttachment[]\n transportGuid?: string\n remark?: string\n conversationGuid?: string\n /**\n * Subject for the message\n */\n subject?: string\n /**\n * Set of IDs for invoices in the message\n */\n invoiceIds?: Array<string>\n /**\n * ID of a parent in a message conversation\n */\n parentId?: string\n externalRef?: string\n unassignedResults?: Array<string>\n assignedResults?: { [key: string]: string }\n senderReferences?: { [key: string]: string }\n /**\n * The secretForeignKeys are filled at the to many end of a one to many relationship (for example inside Contact for the Patient -> Contacts relationship). Used when we want to find all contacts for a specific patient. These keys are in clear. You can have several to partition the medical document space.\n */\n secretForeignKeys?: Array<string>\n /**\n * The secretForeignKeys are filled at the to many end of a one to many relationship (for example inside Contact for the Patient -> Contacts relationship). Used when we want to find the patient for a specific contact. These keys are the encrypted id (using the hcParty key for the delegate) that can be found in clear inside the patient. ids encrypted using the hcParty keys.\n */\n cryptedForeignKeys?: { [key: string]: Array<Delegation> }\n /**\n * When a document is created, the responsible generates a cryptographically random master key (never to be used for something else than referencing from other entities). He/she encrypts it using his own AES exchange key and stores it as a delegation. The responsible is thus always in the delegations as well\n */\n delegations?: { [key: string]: Array<Delegation> }\n /**\n * When a document needs to be encrypted, the responsible generates a cryptographically random master key (different from the delegation key, never to appear in clear anywhere in the db. He/she encrypts it using his own AES exchange key and stores it as a delegation\n */\n encryptionKeys?: { [key: string]: Array<Delegation> }\n /**\n * The base64 encoded data of this object, formatted as JSON and encrypted in AES using the random master key from encryptionKeys.\n */\n encryptedSelf?: string\n securityMetadata?: SecurityMetadata\n \n}\n"]}
@@ -0,0 +1,10 @@
1
+ import { Document } from "./Document";
2
+ import DocumentLocationEnum = Document.DocumentLocationEnum;
3
+ export declare class MessageAttachment {
4
+ constructor(json: JSON | any);
5
+ type?: DocumentLocationEnum;
6
+ /**
7
+ * Ids of this attachment ordered from oldest to newest
8
+ */
9
+ ids?: string[];
10
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MessageAttachment = void 0;
4
+ class MessageAttachment {
5
+ constructor(json) {
6
+ Object.assign(this, json);
7
+ }
8
+ }
9
+ exports.MessageAttachment = MessageAttachment;
10
+ //# sourceMappingURL=MessageAttachment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessageAttachment.js","sourceRoot":"","sources":["../../../icc-api/model/MessageAttachment.ts"],"names":[],"mappings":";;;AAIA,MAAa,iBAAiB;IAC5B,YAAY,IAAgB;QAC1B,MAAM,CAAC,MAAM,CAAC,IAAyB,EAAE,IAAI,CAAC,CAAA;IAChD,CAAC;CAOF;AAVD,8CAUC","sourcesContent":["import {Document} from \"./Document\"\nimport DocumentLocationEnum = Document.DocumentLocationEnum\n\n\nexport class MessageAttachment {\n constructor(json: JSON | any) {\n Object.assign(this as MessageAttachment, json)\n }\n\n type?: DocumentLocationEnum\n /**\n * Ids of this attachment ordered from oldest to newest\n */\n ids?: string[]\n}\n"]}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * iCure Data Stack API Documentation
3
+ * The iCure Data Stack Application API is the native interface to iCure. This version is obsolete, please use v2.
4
+ *
5
+ * OpenAPI spec version: v1
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by the swagger code generator program.
9
+ * https://github.com/swagger-api/swagger-codegen.git
10
+ * Do not edit the class manually.
11
+ */
12
+ import { PaginatedDocumentKeyIdPairObject } from './PaginatedDocumentKeyIdPairObject';
13
+ import { Insurance } from './Insurance';
14
+ export declare class PaginatedListInsurance {
15
+ constructor(json: JSON | any);
16
+ pageSize?: number;
17
+ totalSize?: number;
18
+ rows?: Array<Insurance>;
19
+ nextKeyPair?: PaginatedDocumentKeyIdPairObject;
20
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PaginatedListInsurance = void 0;
4
+ class PaginatedListInsurance {
5
+ constructor(json) {
6
+ Object.assign(this, json);
7
+ }
8
+ }
9
+ exports.PaginatedListInsurance = PaginatedListInsurance;
10
+ //# sourceMappingURL=PaginatedListInsurance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PaginatedListInsurance.js","sourceRoot":"","sources":["../../../icc-api/model/PaginatedListInsurance.ts"],"names":[],"mappings":";;;AAcA,MAAa,sBAAsB;IACjC,YAAY,IAAgB;QAC1B,MAAM,CAAC,MAAM,CAAC,IAA8B,EAAE,IAAI,CAAC,CAAA;IACrD,CAAC;CAMF;AATD,wDASC","sourcesContent":["/**\n * iCure Data Stack API Documentation\n * The iCure Data Stack Application API is the native interface to iCure. This version is obsolete, please use v2.\n *\n * OpenAPI spec version: v1\n *\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { PaginatedDocumentKeyIdPairObject } from './PaginatedDocumentKeyIdPairObject'\nimport { Insurance } from './Insurance'\n\nexport class PaginatedListInsurance {\n constructor(json: JSON | any) {\n Object.assign(this as PaginatedListInsurance, json)\n }\n\n pageSize?: number\n totalSize?: number\n rows?: Array<Insurance>\n nextKeyPair?: PaginatedDocumentKeyIdPairObject\n}\n"]}
@@ -0,0 +1,11 @@
1
+ export declare class Role {
2
+ constructor(json: JSON | any);
3
+ id?: string;
4
+ rev?: string;
5
+ /**
6
+ * hard delete (unix epoch in ms) timestamp of the object. Filled automatically when deletePatient is called.
7
+ */
8
+ deletionDate?: number;
9
+ name?: string;
10
+ permissions?: Array<string>;
11
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Role = void 0;
4
+ class Role {
5
+ constructor(json) {
6
+ Object.assign(this, json);
7
+ }
8
+ }
9
+ exports.Role = Role;
10
+ //# sourceMappingURL=Role.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Role.js","sourceRoot":"","sources":["../../../icc-api/model/Role.ts"],"names":[],"mappings":";;;AAAA,MAAa,IAAI;IACf,YAAY,IAAgB;QAC1B,MAAM,CAAC,MAAM,CAAC,IAAY,EAAE,IAAI,CAAC,CAAA;IACnC,CAAC;CAUF;AAbD,oBAaC","sourcesContent":["export class Role {\n constructor(json: JSON | any) {\n Object.assign(this as Role, json)\n }\n\n id?: string\n rev?: string\n /**\n * hard delete (unix epoch in ms) timestamp of the object. Filled automatically when deletePatient is called.\n */\n deletionDate?: number\n name?: string\n permissions?: Array<string>\n}\n"]}
@@ -0,0 +1,6 @@
1
+ import { RoleSourceEnum } from './RoleSourceEnum';
2
+ export declare class RoleConfiguration {
3
+ constructor(json: JSON | any);
4
+ source?: RoleSourceEnum;
5
+ roles?: Array<string>;
6
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RoleConfiguration = void 0;
4
+ class RoleConfiguration {
5
+ constructor(json) {
6
+ Object.assign(this, json);
7
+ }
8
+ }
9
+ exports.RoleConfiguration = RoleConfiguration;
10
+ //# sourceMappingURL=RoleConfiguration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RoleConfiguration.js","sourceRoot":"","sources":["../../../icc-api/model/RoleConfiguration.ts"],"names":[],"mappings":";;;AAEA,MAAa,iBAAiB;IAC5B,YAAY,IAAgB;QAC1B,MAAM,CAAC,MAAM,CAAC,IAAyB,EAAE,IAAI,CAAC,CAAA;IAChD,CAAC;CAIF;AAPD,8CAOC","sourcesContent":["import { RoleSourceEnum } from './RoleSourceEnum'\n\nexport class RoleConfiguration {\n constructor(json: JSON | any) {\n Object.assign(this as RoleConfiguration, json)\n }\n\n source?: RoleSourceEnum\n roles?: Array<string>\n}\n"]}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Represent where the default roles for a certain type of user come from.
3
+ * Default: the roles are the ones defined by iCure.
4
+ * Inherited: the roles are defined in a supergroup of the current group.
5
+ * Configuration: the roles are defined in the current group.
6
+ */
7
+ export declare enum RoleSourceEnum {
8
+ Default = "DEFAULT",
9
+ Inherited = "INHERITED",
10
+ Configuration = "CONFIGURATION"
11
+ }
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RoleSourceEnum = void 0;
4
+ /**
5
+ * Represent where the default roles for a certain type of user come from.
6
+ * Default: the roles are the ones defined by iCure.
7
+ * Inherited: the roles are defined in a supergroup of the current group.
8
+ * Configuration: the roles are defined in the current group.
9
+ */
10
+ var RoleSourceEnum;
11
+ (function (RoleSourceEnum) {
12
+ RoleSourceEnum["Default"] = "DEFAULT";
13
+ RoleSourceEnum["Inherited"] = "INHERITED";
14
+ RoleSourceEnum["Configuration"] = "CONFIGURATION";
15
+ })(RoleSourceEnum = exports.RoleSourceEnum || (exports.RoleSourceEnum = {}));
16
+ //# sourceMappingURL=RoleSourceEnum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RoleSourceEnum.js","sourceRoot":"","sources":["../../../icc-api/model/RoleSourceEnum.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,qCAAmB,CAAA;IACnB,yCAAuB,CAAA;IACvB,iDAA+B,CAAA;AACjC,CAAC,EAJW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAIzB","sourcesContent":["/**\n * Represent where the default roles for a certain type of user come from.\n * Default: the roles are the ones defined by iCure.\n * Inherited: the roles are defined in a supergroup of the current group.\n * Configuration: the roles are defined in the current group.\n */\nexport enum RoleSourceEnum {\n Default = 'DEFAULT',\n Inherited = 'INHERITED',\n Configuration = 'CONFIGURATION',\n}\n"]}
@@ -117,6 +117,10 @@ export declare class User {
117
117
  authenticationTokens?: {
118
118
  [key: string]: AuthenticationToken;
119
119
  };
120
+ /**
121
+ * System metadata for the user: this configuration is read only, and defined only when using the cloud version of iCure.
122
+ */
123
+ systemMetadata?: User.SystemMetadata;
120
124
  }
121
125
  export declare namespace User {
122
126
  type TypeEnum = 'database' | 'ldap' | 'token';
@@ -153,4 +157,19 @@ export declare namespace User {
153
157
  cdItemTreatment: AutoDelegationTagEnum;
154
158
  cdItemVaccine: AutoDelegationTagEnum;
155
159
  };
160
+ class SystemMetadata {
161
+ constructor(json: JSON | any);
162
+ /**
163
+ * The roles of the user that the cloud environment recognizes
164
+ */
165
+ roles?: string[];
166
+ /**
167
+ * If the user is considered as an admin by the cloud environment
168
+ */
169
+ isAdmin?: boolean;
170
+ /**
171
+ * True if the content of roles is inherited from the user's group configuration, false if the roles are defined specifically for the use
172
+ */
173
+ inheritsRoles?: boolean;
174
+ }
156
175
  }
@@ -42,5 +42,11 @@ exports.User = User;
42
42
  cdItemTreatment: 'cdItemTreatment',
43
43
  cdItemVaccine: 'cdItemVaccine',
44
44
  };
45
+ class SystemMetadata {
46
+ constructor(json) {
47
+ Object.assign(this, json);
48
+ }
49
+ }
50
+ User.SystemMetadata = SystemMetadata;
45
51
  })(User = exports.User || (exports.User = {}));
46
52
  //# sourceMappingURL=User.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"User.js","sourceRoot":"","sources":["../../../icc-api/model/User.ts"],"names":[],"mappings":";;;AAeA;;GAEG;AACH,MAAa,IAAI;IACf,YAAY,IAAgB;QAC1B,MAAM,CAAC,MAAM,CAAC,IAAY,EAAE,IAAI,CAAC,CAAA;IACnC,CAAC;CAgGF;AAnGD,oBAmGC;AACD,WAAiB,IAAI;IAEN,aAAQ,GAAG;QACtB,QAAQ,EAAE,UAAsB;QAChC,IAAI,EAAE,MAAkB;QACxB,KAAK,EAAE,OAAmB;KAC3B,CAAA;IAEY,eAAU,GAAG;QACxB,MAAM,EAAE,QAAsB;QAC9B,QAAQ,EAAE,UAAwB;QAClC,WAAW,EAAE,aAA2B;KACzC,CAAA;IAqBY,0BAAqB,GAAG;QACnC,GAAG,EAAE,KAA8B;QACnC,kBAAkB,EAAE,oBAA6C;QACjE,kBAAkB,EAAE,oBAA6C;QACjE,oBAAoB,EAAE,sBAA+C;QACrE,kBAAkB,EAAE,oBAA6C;QACjE,oBAAoB,EAAE,sBAA+C;QACrE,uBAAuB,EAAE,yBAAkD;QAC3E,UAAU,EAAE,YAAqC;QACjD,gBAAgB,EAAE,kBAA2C;QAC7D,uBAAuB,EAAE,yBAAkD;QAC3E,wBAAwB,EAAE,0BAAmD;QAC7E,aAAa,EAAE,eAAwC;QACvD,eAAe,EAAE,iBAA0C;QAC3D,SAAS,EAAE,WAAoC;QAC/C,YAAY,EAAE,cAAuC;QACrD,eAAe,EAAE,iBAA0C;QAC3D,gBAAgB,EAAE,kBAA2C;QAC7D,eAAe,EAAE,iBAA0C;QAC3D,aAAa,EAAE,eAAwC;KACxD,CAAA;AACH,CAAC,EAtDgB,IAAI,GAAJ,YAAI,KAAJ,YAAI,QAsDpB","sourcesContent":["/**\n * iCure Data Stack API Documentation\n * The iCure Data Stack Application API is the native interface to iCure. This version is obsolete, please use v2.\n *\n * OpenAPI spec version: v1\n *\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { AuthenticationToken } from './AuthenticationToken'\nimport { Permission } from './Permission'\nimport { PropertyStub } from './PropertyStub'\n\n/**\n * This entity is a root level object. It represents an user that can log in to the iCure platform. It is serialized in JSON and saved in the underlying icure-base CouchDB database.\n */\nexport class User {\n constructor(json: JSON | any) {\n Object.assign(this as User, json)\n }\n\n /**\n * the Id of the user. We encourage using either a v4 UUID or a HL7 Id.\n */\n id?: string\n /**\n * the revision of the user in the database, used for conflict management / optimistic locking.\n */\n rev?: string\n /**\n * hard delete (unix epoch in ms) timestamp of the object. Filled automatically when deletePatient is called.\n */\n deletionDate?: number\n created?: number\n /**\n * Last name of the user. This is the official last name that should be used for official administrative purposes.\n */\n name?: string\n /**\n * Extra properties for the user. Those properties are typed (see class Property)\n */\n properties?: Array<PropertyStub>\n /**\n * If permission to modify patient data is granted or revoked\n */\n permissions?: Array<Permission>\n /**\n * Roles specified for the user\n */\n roles?: Array<string>\n /**\n * Authorization source for user. 'Database', 'ldap' or 'token'\n */\n type?: User.TypeEnum\n /**\n * State of user's activeness: 'Active', 'Disabled' or 'Registering'\n */\n status?: User.StatusEnum\n /**\n * Username for this user. We encourage using an email address\n */\n login?: string\n /**\n * Hashed version of the password (BCrypt is used for hashing)\n */\n passwordHash?: string\n /**\n * Secret token used to verify 2fa\n */\n secret?: string\n /**\n * Whether the user has activated two factors authentication\n */\n use2fa?: boolean\n /**\n * id of the group (practice/hospital) the user is member of\n */\n groupId?: string\n /**\n * Id of the healthcare party if the user is a healthcare party.\n */\n healthcarePartyId?: string\n /**\n * Id of the patient if the user is a patient\n */\n patientId?: string\n /**\n * Id of the device if the user is a device\n */\n deviceId?: string\n /**\n * Delegations that are automatically generated client side when a new database object is created by this user\n */\n autoDelegations?: { [key in User.AutoDelegationTagEnum]?: Array<string> }\n /**\n * the timestamp (unix epoch in ms) of creation of the user, will be filled automatically if missing. Not enforced by the application server.\n */\n createdDate?: number\n /**\n * the timestamp (unix epoch in ms) of the latest validation of the terms of use of the application\n */\n termsOfUseDate?: number\n /**\n * email address of the user (used for token exchange or password recovery).\n */\n email?: string\n /**\n * mobile phone of the user (used for token exchange or password recovery).\n */\n mobilePhone?: string\n applicationTokens?: { [key: string]: string }\n /**\n * Encrypted and time-limited Authentication tokens used for inter-applications authentication\n */\n authenticationTokens?: { [key: string]: AuthenticationToken }\n}\nexport namespace User {\n export type TypeEnum = 'database' | 'ldap' | 'token'\n export const TypeEnum = {\n Database: 'database' as TypeEnum,\n Ldap: 'ldap' as TypeEnum,\n Token: 'token' as TypeEnum,\n }\n export type StatusEnum = 'ACTIVE' | 'DISABLED' | 'REGISTERING'\n export const StatusEnum = {\n ACTIVE: 'ACTIVE' as StatusEnum,\n DISABLED: 'DISABLED' as StatusEnum,\n REGISTERING: 'REGISTERING' as StatusEnum,\n }\n export type AutoDelegationTagEnum =\n | 'all'\n | 'administrativeData'\n | 'generalInformation'\n | 'financialInformation'\n | 'medicalInformation'\n | 'sensitiveInformation'\n | 'confidentialInformation'\n | 'cdItemRisk'\n | 'cdItemFamilyRisk'\n | 'cdItemHealthcareelement'\n | 'cdItemHealthcareapproach'\n | 'cdItemAllergy'\n | 'cdItemDiagnosis'\n | 'cdItemLab'\n | 'cdItemResult'\n | 'cdItemParameter'\n | 'cdItemMedication'\n | 'cdItemTreatment'\n | 'cdItemVaccine'\n export const AutoDelegationTagEnum = {\n all: 'all' as AutoDelegationTagEnum,\n administrativeData: 'administrativeData' as AutoDelegationTagEnum,\n generalInformation: 'generalInformation' as AutoDelegationTagEnum,\n financialInformation: 'financialInformation' as AutoDelegationTagEnum,\n medicalInformation: 'medicalInformation' as AutoDelegationTagEnum,\n sensitiveInformation: 'sensitiveInformation' as AutoDelegationTagEnum,\n confidentialInformation: 'confidentialInformation' as AutoDelegationTagEnum,\n cdItemRisk: 'cdItemRisk' as AutoDelegationTagEnum,\n cdItemFamilyRisk: 'cdItemFamilyRisk' as AutoDelegationTagEnum,\n cdItemHealthcareelement: 'cdItemHealthcareelement' as AutoDelegationTagEnum,\n cdItemHealthcareapproach: 'cdItemHealthcareapproach' as AutoDelegationTagEnum,\n cdItemAllergy: 'cdItemAllergy' as AutoDelegationTagEnum,\n cdItemDiagnosis: 'cdItemDiagnosis' as AutoDelegationTagEnum,\n cdItemLab: 'cdItemLab' as AutoDelegationTagEnum,\n cdItemResult: 'cdItemResult' as AutoDelegationTagEnum,\n cdItemParameter: 'cdItemParameter' as AutoDelegationTagEnum,\n cdItemMedication: 'cdItemMedication' as AutoDelegationTagEnum,\n cdItemTreatment: 'cdItemTreatment' as AutoDelegationTagEnum,\n cdItemVaccine: 'cdItemVaccine' as AutoDelegationTagEnum,\n }\n}\n"]}
1
+ {"version":3,"file":"User.js","sourceRoot":"","sources":["../../../icc-api/model/User.ts"],"names":[],"mappings":";;;AAeA;;GAEG;AACH,MAAa,IAAI;IACf,YAAY,IAAgB;QAC1B,MAAM,CAAC,MAAM,CAAC,IAAY,EAAE,IAAI,CAAC,CAAA;IACnC,CAAC;CAoGF;AAvGD,oBAuGC;AACD,WAAiB,IAAI;IAEN,aAAQ,GAAG;QACtB,QAAQ,EAAE,UAAsB;QAChC,IAAI,EAAE,MAAkB;QACxB,KAAK,EAAE,OAAmB;KAC3B,CAAA;IAEY,eAAU,GAAG;QACxB,MAAM,EAAE,QAAsB;QAC9B,QAAQ,EAAE,UAAwB;QAClC,WAAW,EAAE,aAA2B;KACzC,CAAA;IAqBY,0BAAqB,GAAG;QACnC,GAAG,EAAE,KAA8B;QACnC,kBAAkB,EAAE,oBAA6C;QACjE,kBAAkB,EAAE,oBAA6C;QACjE,oBAAoB,EAAE,sBAA+C;QACrE,kBAAkB,EAAE,oBAA6C;QACjE,oBAAoB,EAAE,sBAA+C;QACrE,uBAAuB,EAAE,yBAAkD;QAC3E,UAAU,EAAE,YAAqC;QACjD,gBAAgB,EAAE,kBAA2C;QAC7D,uBAAuB,EAAE,yBAAkD;QAC3E,wBAAwB,EAAE,0BAAmD;QAC7E,aAAa,EAAE,eAAwC;QACvD,eAAe,EAAE,iBAA0C;QAC3D,SAAS,EAAE,WAAoC;QAC/C,YAAY,EAAE,cAAuC;QACrD,eAAe,EAAE,iBAA0C;QAC3D,gBAAgB,EAAE,kBAA2C;QAC7D,eAAe,EAAE,iBAA0C;QAC3D,aAAa,EAAE,eAAwC;KACxD,CAAA;IAED,MAAa,cAAc;QACzB,YAAY,IAAgB;YAC1B,MAAM,CAAC,MAAM,CAAC,IAAY,EAAE,IAAI,CAAC,CAAA;QACnC,CAAC;KAcF;IAjBY,mBAAc,iBAiB1B,CAAA;AACH,CAAC,EAzEgB,IAAI,GAAJ,YAAI,KAAJ,YAAI,QAyEpB","sourcesContent":["/**\n * iCure Data Stack API Documentation\n * The iCure Data Stack Application API is the native interface to iCure. This version is obsolete, please use v2.\n *\n * OpenAPI spec version: v1\n *\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { AuthenticationToken } from './AuthenticationToken'\nimport { Permission } from './Permission'\nimport { PropertyStub } from './PropertyStub'\n\n/**\n * This entity is a root level object. It represents an user that can log in to the iCure platform. It is serialized in JSON and saved in the underlying icure-base CouchDB database.\n */\nexport class User {\n constructor(json: JSON | any) {\n Object.assign(this as User, json)\n }\n\n /**\n * the Id of the user. We encourage using either a v4 UUID or a HL7 Id.\n */\n id?: string\n /**\n * the revision of the user in the database, used for conflict management / optimistic locking.\n */\n rev?: string\n /**\n * hard delete (unix epoch in ms) timestamp of the object. Filled automatically when deletePatient is called.\n */\n deletionDate?: number\n created?: number\n /**\n * Last name of the user. This is the official last name that should be used for official administrative purposes.\n */\n name?: string\n /**\n * Extra properties for the user. Those properties are typed (see class Property)\n */\n properties?: Array<PropertyStub>\n /**\n * If permission to modify patient data is granted or revoked\n */\n permissions?: Array<Permission>\n /**\n * Roles specified for the user\n */\n roles?: Array<string>\n /**\n * Authorization source for user. 'Database', 'ldap' or 'token'\n */\n type?: User.TypeEnum\n /**\n * State of user's activeness: 'Active', 'Disabled' or 'Registering'\n */\n status?: User.StatusEnum\n /**\n * Username for this user. We encourage using an email address\n */\n login?: string\n /**\n * Hashed version of the password (BCrypt is used for hashing)\n */\n passwordHash?: string\n /**\n * Secret token used to verify 2fa\n */\n secret?: string\n /**\n * Whether the user has activated two factors authentication\n */\n use2fa?: boolean\n /**\n * id of the group (practice/hospital) the user is member of\n */\n groupId?: string\n /**\n * Id of the healthcare party if the user is a healthcare party.\n */\n healthcarePartyId?: string\n /**\n * Id of the patient if the user is a patient\n */\n patientId?: string\n /**\n * Id of the device if the user is a device\n */\n deviceId?: string\n /**\n * Delegations that are automatically generated client side when a new database object is created by this user\n */\n autoDelegations?: { [key in User.AutoDelegationTagEnum]?: Array<string> }\n /**\n * the timestamp (unix epoch in ms) of creation of the user, will be filled automatically if missing. Not enforced by the application server.\n */\n createdDate?: number\n /**\n * the timestamp (unix epoch in ms) of the latest validation of the terms of use of the application\n */\n termsOfUseDate?: number\n /**\n * email address of the user (used for token exchange or password recovery).\n */\n email?: string\n /**\n * mobile phone of the user (used for token exchange or password recovery).\n */\n mobilePhone?: string\n applicationTokens?: { [key: string]: string }\n /**\n * Encrypted and time-limited Authentication tokens used for inter-applications authentication\n */\n authenticationTokens?: { [key: string]: AuthenticationToken }\n /**\n * System metadata for the user: this configuration is read only, and defined only when using the cloud version of iCure.\n */\n systemMetadata?: User.SystemMetadata\n}\nexport namespace User {\n export type TypeEnum = 'database' | 'ldap' | 'token'\n export const TypeEnum = {\n Database: 'database' as TypeEnum,\n Ldap: 'ldap' as TypeEnum,\n Token: 'token' as TypeEnum,\n }\n export type StatusEnum = 'ACTIVE' | 'DISABLED' | 'REGISTERING'\n export const StatusEnum = {\n ACTIVE: 'ACTIVE' as StatusEnum,\n DISABLED: 'DISABLED' as StatusEnum,\n REGISTERING: 'REGISTERING' as StatusEnum,\n }\n export type AutoDelegationTagEnum =\n | 'all'\n | 'administrativeData'\n | 'generalInformation'\n | 'financialInformation'\n | 'medicalInformation'\n | 'sensitiveInformation'\n | 'confidentialInformation'\n | 'cdItemRisk'\n | 'cdItemFamilyRisk'\n | 'cdItemHealthcareelement'\n | 'cdItemHealthcareapproach'\n | 'cdItemAllergy'\n | 'cdItemDiagnosis'\n | 'cdItemLab'\n | 'cdItemResult'\n | 'cdItemParameter'\n | 'cdItemMedication'\n | 'cdItemTreatment'\n | 'cdItemVaccine'\n export const AutoDelegationTagEnum = {\n all: 'all' as AutoDelegationTagEnum,\n administrativeData: 'administrativeData' as AutoDelegationTagEnum,\n generalInformation: 'generalInformation' as AutoDelegationTagEnum,\n financialInformation: 'financialInformation' as AutoDelegationTagEnum,\n medicalInformation: 'medicalInformation' as AutoDelegationTagEnum,\n sensitiveInformation: 'sensitiveInformation' as AutoDelegationTagEnum,\n confidentialInformation: 'confidentialInformation' as AutoDelegationTagEnum,\n cdItemRisk: 'cdItemRisk' as AutoDelegationTagEnum,\n cdItemFamilyRisk: 'cdItemFamilyRisk' as AutoDelegationTagEnum,\n cdItemHealthcareelement: 'cdItemHealthcareelement' as AutoDelegationTagEnum,\n cdItemHealthcareapproach: 'cdItemHealthcareapproach' as AutoDelegationTagEnum,\n cdItemAllergy: 'cdItemAllergy' as AutoDelegationTagEnum,\n cdItemDiagnosis: 'cdItemDiagnosis' as AutoDelegationTagEnum,\n cdItemLab: 'cdItemLab' as AutoDelegationTagEnum,\n cdItemResult: 'cdItemResult' as AutoDelegationTagEnum,\n cdItemParameter: 'cdItemParameter' as AutoDelegationTagEnum,\n cdItemMedication: 'cdItemMedication' as AutoDelegationTagEnum,\n cdItemTreatment: 'cdItemTreatment' as AutoDelegationTagEnum,\n cdItemVaccine: 'cdItemVaccine' as AutoDelegationTagEnum,\n }\n\n export class SystemMetadata {\n constructor(json: JSON | any) {\n Object.assign(this as User, json)\n }\n\n /**\n * The roles of the user that the cloud environment recognizes\n */\n roles?: string[]\n /**\n * If the user is considered as an admin by the cloud environment\n */\n isAdmin?: boolean\n /**\n * True if the content of roles is inherited from the user's group configuration, false if the roles are defined specifically for the use\n */\n inheritsRoles?: boolean\n }\n}\n"]}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Represents the type of a owner
3
+ */
4
+ export declare enum UserTypeEnum {
5
+ Patient = "PATIENT",
6
+ Hcp = "HCP",
7
+ Device = "DEVICE",
8
+ User = "USER"
9
+ }
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UserTypeEnum = void 0;
4
+ /**
5
+ * Represents the type of a owner
6
+ */
7
+ var UserTypeEnum;
8
+ (function (UserTypeEnum) {
9
+ UserTypeEnum["Patient"] = "PATIENT";
10
+ UserTypeEnum["Hcp"] = "HCP";
11
+ UserTypeEnum["Device"] = "DEVICE";
12
+ UserTypeEnum["User"] = "USER";
13
+ })(UserTypeEnum = exports.UserTypeEnum || (exports.UserTypeEnum = {}));
14
+ //# sourceMappingURL=UserTypeEnum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UserTypeEnum.js","sourceRoot":"","sources":["../../../icc-api/model/UserTypeEnum.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,IAAY,YAKX;AALD,WAAY,YAAY;IACtB,mCAAmB,CAAA;IACnB,2BAAW,CAAA;IACX,iCAAiB,CAAA;IACjB,6BAAa,CAAA;AACf,CAAC,EALW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAKvB","sourcesContent":["/**\n * Represents the type of a owner\n */\nexport enum UserTypeEnum {\n Patient = 'PATIENT',\n Hcp = 'HCP',\n Device = 'DEVICE',\n User = 'USER',\n}\n"]}
@@ -50,13 +50,29 @@ export declare class ExchangeData {
50
50
  [keyPairFingerprint: string]: string;
51
51
  };
52
52
  /**
53
- * Signature to ensure the key data has not been tampered with: when creating new exchange data the delegator will hash
54
- * the content of [exchangeKey] and [accessControlSecret] then use his trusted private keys to sign this hash. This field
55
- * will contain the signature by fingerprint of the public key to use for verification.
53
+ * Encrypted signature key (hmac-sha256) shared between delegate and delegator, to allow either of them to modify
54
+ * the exchange data, without voiding the authenticity guarantee.
56
55
  */
57
- signature: {
56
+ sharedSignatureKey: {
58
57
  [keyPairFingerprint: string]: string;
59
58
  };
59
+ /**
60
+ * Signature to ensure the key data has not been tampered with by third parties (any actor without access to the
61
+ * keypair of the delegator/delegate): when creating new exchange data the delegator will create a new hmac key and
62
+ * sign it with his own private key.
63
+ * This field will contain the signature by fingerprint of the public key to use for verification.
64
+ */
65
+ delegatorSignature: {
66
+ [keyPairFingerprint: string]: string;
67
+ };
68
+ /**
69
+ * Base 64 signature of the exchange data, to ensure it was not tampered by third parties. This signature validates:
70
+ * - The (decrypted) exchange key
71
+ * - The (decrypted) access control secret
72
+ * - The delegator and delegates being part of the exchange data
73
+ * - The public keys used in the exchange data (allows to consider them as verified in a second moment).
74
+ */
75
+ sharedSignature: string;
60
76
  /**
61
77
  * hard delete (unix epoch in ms) timestamp of the object. Filled automatically when the delete method is called.
62
78
  */
@@ -6,8 +6,14 @@ exports.ExchangeData = void 0;
6
6
  */
7
7
  class ExchangeData {
8
8
  constructor(json) {
9
- if (!json.delegator || !json.delegate || !json.exchangeKey || !json.accessControlSecret || !json.signature)
10
- throw new Error(`Exchange data json is missing required properties.\n${JSON.stringify(json)}`);
9
+ if (!json.delegator ||
10
+ !json.delegate ||
11
+ !json.exchangeKey ||
12
+ !json.accessControlSecret ||
13
+ !json.sharedSignatureKey ||
14
+ !json.sharedSignature ||
15
+ !json.delegatorSignature)
16
+ throw new Error(`Exchange data json is missing required properties.\n${JSON.stringify(json, undefined, 2)}`);
11
17
  Object.assign(this, json);
12
18
  }
13
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ExchangeData.js","sourceRoot":"","sources":["../../../../icc-api/model/internal/ExchangeData.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,MAAa,YAAY;IACvB,YAAY,IAAgB;QAC1B,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,IAAI,CAAC,SAAS;YACxG,MAAM,IAAI,KAAK,CAAC,uDAAuD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAChG,MAAM,CAAC,MAAM,CAAC,IAAoB,EAAE,IAAI,CAAC,CAAA;IAC3C,CAAC;CAsDF;AA3DD,oCA2DC","sourcesContent":["/**\n * @internal this entity is meant for internal use only\n */\nexport class ExchangeData {\n constructor(json: JSON | any) {\n if (!json.delegator || !json.delegate || !json.exchangeKey || !json.accessControlSecret || !json.signature)\n throw new Error(`Exchange data json is missing required properties.\\n${JSON.stringify(json)}`)\n Object.assign(this as ExchangeData, json)\n }\n\n /**\n * the Id of the exchange data. We encourage using either a v4 UUID or a HL7 Id.\n */\n id?: string\n /**\n * the revision of the exchange data in the database, used for conflict management / optimistic locking.\n */\n rev?: string\n /**\n * ID of the data owner which created this exchange data, in order to share some data with the [delegate].\n */\n delegator!: string\n /**\n * ID of a data owner which can use this exchange data to access data shared with him by [delegator].\n */\n delegate!: string\n /**\n * Aes key to use for sharing data from the delegator to the delegate, encrypted with the public keys of both delegate\n * and delegator. This key should never be sent decrypted to the server, as it allows to read medical data.\n */\n exchangeKey!: { [keyPairFingerprint: string]: string }\n /**\n * Key used for access control to data shared from the delegator to the delegate, encrypted with the public keys of both\n * delegate and delegator.\n *\n * This key will be used by the client to calculate the keys of [HasSecureDelegationsAccessControl.securityMetadata] which\n * allows to implement a form of access control where the identity of data owners with access to a specific entity can't be\n * deduced from the database alone. This is useful for example to allow patients to access their medical data without creating\n * a deducible link between the patient and the medical data in the database.\n *\n * There are no strict requirements on how the client should use this secret to create the security metadata key, but for\n * authentication the client must be able to provide a 128 bit long access control key (see [DataOwnerAuthenticationDetails.accessControlKeys])\n * which once hashed using sha256 will give the key of the security metadata.\n * However, in order to avoid introducing undesired links between entities which could be detrimental to the patients privacy\n * the access control keys should be created also using information on the entity class and confidentiality level of information\n * in applications where hcps share information using a hierarchical structure.\n * ```\n * accessControlKey = sha256Bytes(accessControlSecret + entityClass + confidentialityLevel).take(16)\n * securityMetadataKey = sha256Hex(accessControlKey)\n * ```\n */\n accessControlSecret!: { [keyPairFingerprint: string]: string }\n /**\n * Signature to ensure the key data has not been tampered with: when creating new exchange data the delegator will hash\n * the content of [exchangeKey] and [accessControlSecret] then use his trusted private keys to sign this hash. This field\n * will contain the signature by fingerprint of the public key to use for verification.\n */\n signature!: { [keyPairFingerprint: string]: string }\n /**\n * hard delete (unix epoch in ms) timestamp of the object. Filled automatically when the delete method is called.\n */\n deletionDate?: number\n}\n"]}
1
+ {"version":3,"file":"ExchangeData.js","sourceRoot":"","sources":["../../../../icc-api/model/internal/ExchangeData.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,MAAa,YAAY;IACvB,YAAY,IAAgB;QAC1B,IACE,CAAC,IAAI,CAAC,SAAS;YACf,CAAC,IAAI,CAAC,QAAQ;YACd,CAAC,IAAI,CAAC,WAAW;YACjB,CAAC,IAAI,CAAC,mBAAmB;YACzB,CAAC,IAAI,CAAC,kBAAkB;YACxB,CAAC,IAAI,CAAC,eAAe;YACrB,CAAC,IAAI,CAAC,kBAAkB;YAExB,MAAM,IAAI,KAAK,CAAC,uDAAuD,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,CAAA;QAC9G,MAAM,CAAC,MAAM,CAAC,IAAoB,EAAE,IAAI,CAAC,CAAA;IAC3C,CAAC;CAoEF;AAjFD,oCAiFC","sourcesContent":["/**\n * @internal this entity is meant for internal use only\n */\nexport class ExchangeData {\n constructor(json: JSON | any) {\n if (\n !json.delegator ||\n !json.delegate ||\n !json.exchangeKey ||\n !json.accessControlSecret ||\n !json.sharedSignatureKey ||\n !json.sharedSignature ||\n !json.delegatorSignature\n )\n throw new Error(`Exchange data json is missing required properties.\\n${JSON.stringify(json, undefined, 2)}`)\n Object.assign(this as ExchangeData, json)\n }\n\n /**\n * the Id of the exchange data. We encourage using either a v4 UUID or a HL7 Id.\n */\n id?: string\n /**\n * the revision of the exchange data in the database, used for conflict management / optimistic locking.\n */\n rev?: string\n /**\n * ID of the data owner which created this exchange data, in order to share some data with the [delegate].\n */\n delegator!: string\n /**\n * ID of a data owner which can use this exchange data to access data shared with him by [delegator].\n */\n delegate!: string\n /**\n * Aes key to use for sharing data from the delegator to the delegate, encrypted with the public keys of both delegate\n * and delegator. This key should never be sent decrypted to the server, as it allows to read medical data.\n */\n exchangeKey!: { [keyPairFingerprint: string]: string }\n /**\n * Key used for access control to data shared from the delegator to the delegate, encrypted with the public keys of both\n * delegate and delegator.\n *\n * This key will be used by the client to calculate the keys of [HasSecureDelegationsAccessControl.securityMetadata] which\n * allows to implement a form of access control where the identity of data owners with access to a specific entity can't be\n * deduced from the database alone. This is useful for example to allow patients to access their medical data without creating\n * a deducible link between the patient and the medical data in the database.\n *\n * There are no strict requirements on how the client should use this secret to create the security metadata key, but for\n * authentication the client must be able to provide a 128 bit long access control key (see [DataOwnerAuthenticationDetails.accessControlKeys])\n * which once hashed using sha256 will give the key of the security metadata.\n * However, in order to avoid introducing undesired links between entities which could be detrimental to the patients privacy\n * the access control keys should be created also using information on the entity class and confidentiality level of information\n * in applications where hcps share information using a hierarchical structure.\n * ```\n * accessControlKey = sha256Bytes(accessControlSecret + entityClass + confidentialityLevel).take(16)\n * securityMetadataKey = sha256Hex(accessControlKey)\n * ```\n */\n accessControlSecret!: { [keyPairFingerprint: string]: string }\n /**\n * Encrypted signature key (hmac-sha256) shared between delegate and delegator, to allow either of them to modify\n * the exchange data, without voiding the authenticity guarantee.\n */\n sharedSignatureKey!: { [keyPairFingerprint: string]: string }\n /**\n * Signature to ensure the key data has not been tampered with by third parties (any actor without access to the\n * keypair of the delegator/delegate): when creating new exchange data the delegator will create a new hmac key and\n * sign it with his own private key.\n * This field will contain the signature by fingerprint of the public key to use for verification.\n */\n delegatorSignature!: { [keyPairFingerprint: string]: string }\n /**\n * Base 64 signature of the exchange data, to ensure it was not tampered by third parties. This signature validates:\n * - The (decrypted) exchange key\n * - The (decrypted) access control secret\n * - The delegator and delegates being part of the exchange data\n * - The public keys used in the exchange data (allows to consider them as verified in a second moment).\n */\n sharedSignature!: string\n /**\n * hard delete (unix epoch in ms) timestamp of the object. Filled automatically when the delete method is called.\n */\n deletionDate?: number\n}\n"]}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * @internal this entity is meant for internal use only
3
+ */
4
+ export declare class RecoveryData {
5
+ constructor(json: JSON | any);
6
+ id?: string;
7
+ rev?: string;
8
+ /**
9
+ * Id of the data owner that this recovery data is meant for
10
+ */
11
+ recipient: string;
12
+ /**
13
+ * Encrypted recovery data. The structure of the decrypted data depends on the [type] of the recovery data.
14
+ */
15
+ encryptedSelf: string;
16
+ /**
17
+ * Type of the recovery data.
18
+ */
19
+ type: RecoveryData.Type;
20
+ /**
21
+ * Timestamp (unix epoch in ms) at which this recovery data will expire. If null, this recovery data will never
22
+ * expire. Negative values or zero mean the data is already expired.
23
+ */
24
+ expirationInstant?: number;
25
+ /**
26
+ * hard delete (unix epoch in ms) timestamp of the object. Filled automatically when the delete method is called.
27
+ */
28
+ deletionDate?: number;
29
+ }
30
+ export declare namespace RecoveryData {
31
+ /**
32
+ * Represents possible types of recovery data.
33
+ */
34
+ enum Type {
35
+ /**
36
+ * This recovery data is meant to be used to recover a keypair of the recipient. This could be for making a key
37
+ * available on another device, or for recovering a keypair that has been fully lost.
38
+ */
39
+ KEYPAIR_RECOVERY = "KEYPAIR_RECOVERY",
40
+ /**
41
+ * This recovery data is meant to be used to recover an exchange key of the recipient. The main purpose of this
42
+ * is to allow data owners to share data with other data owners that do not have created a keypair yet, but it
43
+ * can also be used as part of the give-access-back recovery mechanism.
44
+ */
45
+ EXCHANGE_KEY_RECOVERY = "EXCHANGE_KEY_RECOVERY"
46
+ }
47
+ }
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RecoveryData = void 0;
4
+ /**
5
+ * @internal this entity is meant for internal use only
6
+ */
7
+ class RecoveryData {
8
+ constructor(json) {
9
+ if (!json.recipient || !json.encryptedSelf || !json.type)
10
+ throw new Error(`Recovery data json is missing required properties.\n${JSON.stringify(json)}`);
11
+ Object.assign(this, json);
12
+ }
13
+ }
14
+ exports.RecoveryData = RecoveryData;
15
+ (function (RecoveryData) {
16
+ /**
17
+ * Represents possible types of recovery data.
18
+ */
19
+ let Type;
20
+ (function (Type) {
21
+ /**
22
+ * This recovery data is meant to be used to recover a keypair of the recipient. This could be for making a key
23
+ * available on another device, or for recovering a keypair that has been fully lost.
24
+ */
25
+ Type["KEYPAIR_RECOVERY"] = "KEYPAIR_RECOVERY";
26
+ /**
27
+ * This recovery data is meant to be used to recover an exchange key of the recipient. The main purpose of this
28
+ * is to allow data owners to share data with other data owners that do not have created a keypair yet, but it
29
+ * can also be used as part of the give-access-back recovery mechanism.
30
+ */
31
+ Type["EXCHANGE_KEY_RECOVERY"] = "EXCHANGE_KEY_RECOVERY";
32
+ })(Type = RecoveryData.Type || (RecoveryData.Type = {}));
33
+ })(RecoveryData = exports.RecoveryData || (exports.RecoveryData = {}));
34
+ //# sourceMappingURL=RecoveryData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RecoveryData.js","sourceRoot":"","sources":["../../../../icc-api/model/internal/RecoveryData.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,MAAa,YAAY;IACvB,YAAY,IAAgB;QAC1B,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,IAAI;YACtD,MAAM,IAAI,KAAK,CAAC,uDAAuD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAChG,MAAM,CAAC,MAAM,CAAC,IAAoB,EAAE,IAAI,CAAC,CAAA;IAC3C,CAAC;CAyBF;AA9BD,oCA8BC;AACD,WAAiB,YAAY;IAC3B;;OAEG;IACH,IAAY,IAYX;IAZD,WAAY,IAAI;QACd;;;WAGG;QACH,6CAAqC,CAAA;QACrC;;;;WAIG;QACH,uDAA+C,CAAA;IACjD,CAAC,EAZW,IAAI,GAAJ,iBAAI,KAAJ,iBAAI,QAYf;AACH,CAAC,EAjBgB,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAiB5B","sourcesContent":["/**\n * @internal this entity is meant for internal use only\n */\nexport class RecoveryData {\n constructor(json: JSON | any) {\n if (!json.recipient || !json.encryptedSelf || !json.type)\n throw new Error(`Recovery data json is missing required properties.\\n${JSON.stringify(json)}`)\n Object.assign(this as RecoveryData, json)\n }\n\n id?: string\n rev?: string\n /**\n * Id of the data owner that this recovery data is meant for\n */\n recipient!: string\n /**\n * Encrypted recovery data. The structure of the decrypted data depends on the [type] of the recovery data.\n */\n encryptedSelf!: string\n /**\n * Type of the recovery data.\n */\n type!: RecoveryData.Type\n /**\n * Timestamp (unix epoch in ms) at which this recovery data will expire. If null, this recovery data will never\n * expire. Negative values or zero mean the data is already expired.\n */\n expirationInstant?: number\n /**\n * hard delete (unix epoch in ms) timestamp of the object. Filled automatically when the delete method is called.\n */\n deletionDate?: number\n}\nexport namespace RecoveryData {\n /**\n * Represents possible types of recovery data.\n */\n export enum Type {\n /**\n * This recovery data is meant to be used to recover a keypair of the recipient. This could be for making a key\n * available on another device, or for recovering a keypair that has been fully lost.\n */\n KEYPAIR_RECOVERY = 'KEYPAIR_RECOVERY',\n /**\n * This recovery data is meant to be used to recover an exchange key of the recipient. The main purpose of this\n * is to allow data owners to share data with other data owners that do not have created a keypair yet, but it\n * can also be used as part of the give-access-back recovery mechanism.\n */\n EXCHANGE_KEY_RECOVERY = 'EXCHANGE_KEY_RECOVERY',\n }\n}\n"]}