@icure/cardinal-sdk 2.1.0 → 2.1.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 (520) hide show
  1. package/Kotlin-DateTime-library-kotlinx-datetime.mjs +1 -1
  2. package/api/AccessLogApi.d.mts +279 -0
  3. package/api/AccessLogBasicApi.d.mts +176 -0
  4. package/api/AccessLogBasicInGroupApi.d.mts +84 -0
  5. package/api/AccessLogFlavouredApi.d.mts +114 -0
  6. package/api/AccessLogFlavouredInGroupApi.d.mts +56 -0
  7. package/api/AccessLogInGroupApi.d.mts +104 -0
  8. package/api/AgendaApi.d.mts +86 -0
  9. package/api/AnonymousRoleApi.d.mts +7 -0
  10. package/api/AnonymousRoleApi.mjs +2 -0
  11. package/api/CalendarItemApi.d.mts +333 -0
  12. package/api/CalendarItemBasicApi.d.mts +201 -0
  13. package/api/CalendarItemBasicInGroupApi.d.mts +88 -0
  14. package/api/CalendarItemFlavouredApi.d.mts +148 -0
  15. package/api/CalendarItemFlavouredInGroupApi.d.mts +56 -0
  16. package/api/CalendarItemInGroupApi.d.mts +128 -0
  17. package/api/CardinalMaintenanceTaskApi.d.mts +26 -0
  18. package/api/ClassificationApi.d.mts +202 -0
  19. package/api/ClassificationBasicApi.d.mts +91 -0
  20. package/api/ClassificationFlavouredApi.d.mts +80 -0
  21. package/api/ContactApi.d.mts +385 -0
  22. package/api/ContactBasicApi.d.mts +268 -0
  23. package/api/ContactBasicInGroupApi.d.mts +112 -0
  24. package/api/ContactFlavouredApi.d.mts +165 -0
  25. package/api/ContactFlavouredInGroupApi.d.mts +64 -0
  26. package/api/ContactInGroupApi.d.mts +148 -0
  27. package/api/CryptoApi.d.mts +37 -0
  28. package/api/CryptoInGroupApi.d.mts +7 -0
  29. package/api/DataOwnerApi.d.mts +84 -0
  30. package/api/DeviceApi.d.mts +40 -0
  31. package/api/DocumentApi.d.mts +465 -0
  32. package/api/DocumentBasicApi.d.mts +245 -0
  33. package/api/DocumentBasicInGroupApi.d.mts +88 -0
  34. package/api/DocumentFlavouredApi.d.mts +126 -0
  35. package/api/DocumentFlavouredInGroupApi.d.mts +56 -0
  36. package/api/DocumentInGroupApi.d.mts +132 -0
  37. package/api/FormApi.d.mts +303 -0
  38. package/api/FormBasicApi.d.mts +192 -0
  39. package/api/FormBasicInGroupApi.d.mts +88 -0
  40. package/api/FormFlavouredApi.d.mts +134 -0
  41. package/api/FormFlavouredInGroupApi.d.mts +56 -0
  42. package/api/FormInGroupApi.d.mts +124 -0
  43. package/api/FormTemplateApi.d.mts +4 -0
  44. package/api/GroupApi.d.mts +7 -0
  45. package/api/HealthElementApi.d.mts +307 -0
  46. package/api/HealthElementBasicApi.d.mts +187 -0
  47. package/api/HealthElementBasicInGroupApi.d.mts +88 -0
  48. package/api/HealthElementFlavouredApi.d.mts +124 -0
  49. package/api/HealthElementFlavouredInGroupApi.d.mts +56 -0
  50. package/api/HealthElementInGroupApi.d.mts +128 -0
  51. package/api/HealthcarePartyApi.d.mts +95 -0
  52. package/api/InvoiceApi.d.mts +253 -0
  53. package/api/InvoiceBasicApi.d.mts +142 -0
  54. package/api/InvoiceBasicInGroupApi.d.mts +72 -0
  55. package/api/InvoiceFlavouredApi.d.mts +100 -0
  56. package/api/InvoiceFlavouredInGroupApi.d.mts +48 -0
  57. package/api/InvoiceInGroupApi.d.mts +108 -0
  58. package/api/MaintenanceTaskApi.d.mts +252 -0
  59. package/api/MaintenanceTaskBasicApi.d.mts +144 -0
  60. package/api/MaintenanceTaskFlavouredApi.d.mts +95 -0
  61. package/api/MessageApi.d.mts +355 -0
  62. package/api/MessageBasicApi.d.mts +229 -0
  63. package/api/MessageBasicInGroupApi.d.mts +88 -0
  64. package/api/MessageFlavouredApi.d.mts +165 -0
  65. package/api/MessageFlavouredInGroupApi.d.mts +56 -0
  66. package/api/MessageInGroupApi.d.mts +124 -0
  67. package/api/PatientApi.d.mts +445 -0
  68. package/api/PatientBasicApi.d.mts +246 -0
  69. package/api/PatientBasicInGroupApi.d.mts +92 -0
  70. package/api/PatientFlavouredApi.d.mts +195 -0
  71. package/api/PatientFlavouredInGroupApi.d.mts +64 -0
  72. package/api/PatientInGroupApi.d.mts +136 -0
  73. package/api/ReceiptApi.d.mts +147 -0
  74. package/api/ReceiptBasicApi.d.mts +132 -0
  75. package/api/ReceiptBasicInGroupApi.d.mts +72 -0
  76. package/api/ReceiptFlavouredApi.d.mts +90 -0
  77. package/api/ReceiptFlavouredInGroupApi.d.mts +48 -0
  78. package/api/ReceiptInGroupApi.d.mts +108 -0
  79. package/api/RecoveryApi.d.mts +140 -0
  80. package/api/RoleApi.d.mts +61 -0
  81. package/api/ShamirKeysManagerApi.d.mts +21 -0
  82. package/api/TopicApi.d.mts +317 -0
  83. package/api/TopicBasicApi.d.mts +206 -0
  84. package/api/TopicBasicInGroupApi.d.mts +88 -0
  85. package/api/TopicFlavouredApi.d.mts +143 -0
  86. package/api/TopicFlavouredInGroupApi.d.mts +56 -0
  87. package/api/TopicInGroupApi.d.mts +124 -0
  88. package/api/UserApi.d.mts +52 -0
  89. package/api/UserInGroupApi.d.mts +6 -0
  90. package/api.d.mts +1 -0
  91. package/api.mjs +1 -0
  92. package/cardinal-sdk-ts.d.mts +35 -0
  93. package/cardinal-sdk-ts.mjs +39310 -39209
  94. package/cardinal-sdk.mjs +77619 -76586
  95. package/crypto/entities/AccessLogShareOptions.d.mts +4 -0
  96. package/crypto/entities/AccessLogShareOptions.mjs +4 -0
  97. package/crypto/entities/CalendarItemShareOptions.d.mts +4 -0
  98. package/crypto/entities/CalendarItemShareOptions.mjs +4 -0
  99. package/crypto/entities/ClassificationShareOptions.d.mts +4 -0
  100. package/crypto/entities/ClassificationShareOptions.mjs +4 -0
  101. package/crypto/entities/ContactShareOptions.d.mts +4 -0
  102. package/crypto/entities/ContactShareOptions.mjs +4 -0
  103. package/crypto/entities/DocumentShareOptions.d.mts +4 -0
  104. package/crypto/entities/DocumentShareOptions.mjs +4 -0
  105. package/crypto/entities/EntityAccessInformation.d.mts +21 -0
  106. package/crypto/entities/EntityAccessInformation.mjs +4 -0
  107. package/crypto/entities/EntityWithEncryptionMetadataTypeName.d.mts +6 -0
  108. package/crypto/entities/EntityWithEncryptionMetadataTypeName.mjs +6 -0
  109. package/crypto/entities/ExchangeDataInjectionDetails.d.mts +4 -0
  110. package/crypto/entities/ExchangeDataInjectionDetails.mjs +4 -0
  111. package/crypto/entities/FormShareOptions.d.mts +4 -0
  112. package/crypto/entities/FormShareOptions.mjs +4 -0
  113. package/crypto/entities/HealthElementShareOptions.d.mts +4 -0
  114. package/crypto/entities/HealthElementShareOptions.mjs +4 -0
  115. package/crypto/entities/InvoiceShareOptions.d.mts +4 -0
  116. package/crypto/entities/InvoiceShareOptions.mjs +4 -0
  117. package/crypto/entities/MessageShareOptions.d.mts +4 -0
  118. package/crypto/entities/MessageShareOptions.mjs +4 -0
  119. package/crypto/entities/RawDecryptedExchangeData.d.mts +8 -0
  120. package/crypto/entities/RawDecryptedExchangeData.mjs +8 -0
  121. package/crypto/entities/RecoveryKeyOptions.d.mts +13 -0
  122. package/crypto/entities/RecoveryKeyOptions.mjs +9 -0
  123. package/crypto/entities/RecoveryKeySize.d.mts +4 -0
  124. package/crypto/entities/RecoveryKeySize.mjs +4 -0
  125. package/crypto/entities/SecretIdShareOptions.d.mts +19 -0
  126. package/crypto/entities/SecretIdShareOptions.mjs +15 -0
  127. package/crypto/entities/SecretIdUseOption.d.mts +11 -0
  128. package/crypto/entities/SecretIdUseOption.mjs +6 -0
  129. package/crypto/entities/ShamirUpdateRequest.d.mts +12 -0
  130. package/crypto/entities/ShamirUpdateRequest.mjs +4 -0
  131. package/crypto/entities/ShareAllPatientDataOptions.d.mts +4 -0
  132. package/crypto/entities/ShareAllPatientDataOptions.mjs +4 -0
  133. package/crypto/entities/ShareMetadataBehaviour.d.mts +4 -0
  134. package/crypto/entities/ShareMetadataBehaviour.mjs +4 -0
  135. package/crypto/entities/TopicShareOptions.d.mts +4 -0
  136. package/crypto/entities/TopicShareOptions.mjs +4 -0
  137. package/filters/AccessLogFilters.d.mts +120 -0
  138. package/filters/AgendaFilters.d.mts +79 -0
  139. package/filters/CalendarItemFilters.d.mts +166 -0
  140. package/filters/ClassificationFilters.d.mts +87 -0
  141. package/filters/CodeFilters.d.mts +96 -0
  142. package/filters/ContactFilters.d.mts +403 -0
  143. package/filters/DeviceFilters.d.mts +19 -0
  144. package/filters/DocumentFilters.d.mts +296 -0
  145. package/filters/FormFilters.d.mts +120 -0
  146. package/filters/FormTemplateFilters.d.mts +6 -0
  147. package/filters/GroupFilters.d.mts +27 -0
  148. package/filters/HealthElementFilters.d.mts +266 -0
  149. package/filters/HealthcarePartyFilters.d.mts +75 -0
  150. package/filters/MaintenanceTaskFilters.d.mts +68 -0
  151. package/filters/MessageFilters.d.mts +314 -0
  152. package/filters/PatientFilters.d.mts +298 -0
  153. package/filters/ServiceFilters.d.mts +342 -0
  154. package/filters/TopicFilters.d.mts +25 -0
  155. package/filters/UserFilters.d.mts +33 -0
  156. package/kotlin-kotlin-stdlib.mjs +4 -4
  157. package/kotlinx-coroutines-core.mjs +8 -8
  158. package/model/AccessLog.d.mts +202 -0
  159. package/model/AccessLog.mjs +168 -0
  160. package/model/Agenda.d.mts +89 -0
  161. package/model/Agenda.mjs +85 -0
  162. package/model/BooleanResponse.d.mts +9 -0
  163. package/model/BooleanResponse.mjs +5 -0
  164. package/model/CalendarItem.d.mts +431 -0
  165. package/model/CalendarItem.mjs +320 -0
  166. package/model/CalendarItemType.d.mts +72 -0
  167. package/model/CalendarItemType.mjs +68 -0
  168. package/model/Classification.d.mts +187 -0
  169. package/model/Classification.mjs +160 -0
  170. package/model/Code.d.mts +63 -0
  171. package/model/Code.mjs +59 -0
  172. package/model/Contact.d.mts +354 -0
  173. package/model/Contact.mjs +274 -0
  174. package/model/CryptoActorStub.d.mts +6 -0
  175. package/model/CryptoActorStub.mjs +6 -0
  176. package/model/CryptoActorStubWithType.d.mts +14 -0
  177. package/model/CryptoActorStubWithType.mjs +6 -0
  178. package/model/DataOwnerRegistrationSuccess.d.mts +18 -0
  179. package/model/DataOwnerRegistrationSuccess.mjs +6 -0
  180. package/model/DataOwnerType.d.mts +6 -0
  181. package/model/DataOwnerType.mjs +6 -0
  182. package/model/DataOwnerWithType.d.mts +6 -0
  183. package/model/DatabaseInitialisation.d.mts +22 -0
  184. package/model/DatabaseInitialisation.mjs +22 -0
  185. package/model/Device.d.mts +103 -0
  186. package/model/Device.mjs +99 -0
  187. package/model/Document.d.mts +309 -0
  188. package/model/Document.mjs +238 -0
  189. package/model/EntityReferenceInGroup.d.mts +23 -0
  190. package/model/EntityReferenceInGroup.mjs +23 -0
  191. package/model/FrontEndMigration.d.mts +60 -0
  192. package/model/FrontEndMigration.mjs +56 -0
  193. package/model/Group.d.mts +94 -0
  194. package/model/Group.mjs +140 -0
  195. package/model/GroupDeletionReport.d.mts +17 -0
  196. package/model/GroupDeletionReport.mjs +5 -0
  197. package/model/GroupScoped.d.mts +10 -0
  198. package/model/GroupScoped.mjs +10 -0
  199. package/model/HealthElement.d.mts +358 -0
  200. package/model/HealthElement.mjs +284 -0
  201. package/model/HealthcareParty.d.mts +168 -0
  202. package/model/HealthcareParty.mjs +164 -0
  203. package/model/IdWithRev.d.mts +14 -0
  204. package/model/IdWithRev.mjs +10 -0
  205. package/model/IndexingInfo.d.mts +10 -0
  206. package/model/IndexingInfo.mjs +10 -0
  207. package/model/Insurance.d.mts +51 -0
  208. package/model/Insurance.mjs +43 -0
  209. package/model/Invoice.d.mts +705 -0
  210. package/model/Invoice.mjs +502 -0
  211. package/model/ListOfProperties.d.mts +9 -0
  212. package/model/ListOfProperties.mjs +9 -0
  213. package/model/MaintenanceTask.d.mts +202 -0
  214. package/model/MaintenanceTask.mjs +170 -0
  215. package/model/Message.d.mts +321 -0
  216. package/model/Message.mjs +246 -0
  217. package/model/PaginatedDocumentKeyIdPair.d.mts +14 -0
  218. package/model/PaginatedDocumentKeyIdPair.mjs +14 -0
  219. package/model/PaginatedList.d.mts +17 -0
  220. package/model/PaginatedList.mjs +17 -0
  221. package/model/Patient.d.mts +715 -0
  222. package/model/Patient.mjs +546 -0
  223. package/model/Place.d.mts +25 -0
  224. package/model/Place.mjs +21 -0
  225. package/model/PropertyStub.d.mts +59 -0
  226. package/model/PropertyStub.mjs +42 -0
  227. package/model/PropertyTypeStub.d.mts +14 -0
  228. package/model/PropertyTypeStub.mjs +14 -0
  229. package/model/PublicAgendasAndCalendarItemTypes.d.mts +15 -1
  230. package/model/PublicAgendasAndCalendarItemTypes.mjs +22 -4
  231. package/model/PublicKey.d.mts +13 -0
  232. package/model/PublicKey.mjs +13 -0
  233. package/model/Receipt.d.mts +195 -0
  234. package/model/Receipt.mjs +162 -0
  235. package/model/RegistrationInformation.d.mts +41 -0
  236. package/model/RegistrationInformation.mjs +37 -0
  237. package/model/RegistrationSuccess.d.mts +18 -0
  238. package/model/RegistrationSuccess.mjs +6 -0
  239. package/model/Replication.d.mts +30 -0
  240. package/model/Replication.mjs +26 -0
  241. package/model/ReplicationInfo.d.mts +21 -0
  242. package/model/ReplicationInfo.mjs +21 -0
  243. package/model/Role.d.mts +33 -0
  244. package/model/Role.mjs +29 -0
  245. package/model/StoredDocumentIdentifier.d.mts +4 -0
  246. package/model/StoredDocumentIdentifier.mjs +4 -0
  247. package/model/Topic.d.mts +213 -0
  248. package/model/Topic.mjs +174 -0
  249. package/model/TopicRole.d.mts +5 -0
  250. package/model/TopicRole.mjs +5 -0
  251. package/model/User.d.mts +98 -0
  252. package/model/User.mjs +104 -0
  253. package/model/UserGroup.d.mts +54 -0
  254. package/model/UserGroup.mjs +54 -0
  255. package/model/base/CodeIdentification.d.mts +6 -0
  256. package/model/base/CodeStub.d.mts +31 -0
  257. package/model/base/CodeStub.mjs +31 -0
  258. package/model/base/CryptoActor.d.mts +7 -0
  259. package/model/base/DataOwner.d.mts +7 -0
  260. package/model/base/HasCodes.d.mts +6 -0
  261. package/model/base/HasEncryptionMetadata.d.mts +7 -0
  262. package/model/base/HasEndOfLife.d.mts +5 -0
  263. package/model/base/HasTags.d.mts +7 -0
  264. package/model/base/ICureDocument.d.mts +7 -0
  265. package/model/base/Identifiable.d.mts +5 -0
  266. package/model/base/Identifier.d.mts +43 -0
  267. package/model/base/Identifier.mjs +43 -0
  268. package/model/base/LinkQualification.d.mts +31 -0
  269. package/model/base/LinkQualification.mjs +31 -0
  270. package/model/base/Named.d.mts +5 -0
  271. package/model/base/ParticipantType.d.mts +7 -0
  272. package/model/base/ParticipantType.mjs +7 -0
  273. package/model/base/Person.d.mts +5 -0
  274. package/model/base/StoredDocument.d.mts +6 -0
  275. package/model/base/Versionable.d.mts +6 -0
  276. package/model/couchdb/Basic.d.mts +14 -0
  277. package/model/couchdb/Basic.mjs +6 -0
  278. package/model/couchdb/DatabaseInfo.d.mts +46 -0
  279. package/model/couchdb/DatabaseInfo.mjs +42 -0
  280. package/model/couchdb/DesignDocument.d.mts +43 -0
  281. package/model/couchdb/DesignDocument.mjs +39 -0
  282. package/model/couchdb/DocIdentifier.d.mts +13 -0
  283. package/model/couchdb/DocIdentifier.mjs +13 -0
  284. package/model/couchdb/GroupDatabasesInfo.d.mts +19 -0
  285. package/model/couchdb/GroupDatabasesInfo.mjs +7 -0
  286. package/model/couchdb/Remote.d.mts +14 -0
  287. package/model/couchdb/Remote.mjs +10 -0
  288. package/model/couchdb/RemoteAuthentication.d.mts +9 -0
  289. package/model/couchdb/RemoteAuthentication.mjs +9 -0
  290. package/model/couchdb/ReplicationStats.d.mts +41 -0
  291. package/model/couchdb/ReplicationStats.mjs +41 -0
  292. package/model/couchdb/ReplicatorDocument.d.mts +62 -0
  293. package/model/couchdb/ReplicatorDocument.mjs +58 -0
  294. package/model/couchdb/View.d.mts +13 -0
  295. package/model/couchdb/View.mjs +9 -0
  296. package/model/data/LabelledOccurence.d.mts +14 -0
  297. package/model/data/LabelledOccurence.mjs +6 -0
  298. package/model/embed/AccessLevel.d.mts +6 -0
  299. package/model/embed/AccessLevel.mjs +6 -0
  300. package/model/embed/AddressType.d.mts +5 -0
  301. package/model/embed/AddressType.mjs +5 -0
  302. package/model/embed/AdministrationQuantity.d.mts +18 -0
  303. package/model/embed/AdministrationQuantity.mjs +18 -0
  304. package/model/embed/AgendaSlottingAlgorithm.d.mts +13 -0
  305. package/model/embed/AgendaSlottingAlgorithm.mjs +13 -0
  306. package/model/embed/Annotation.d.mts +48 -0
  307. package/model/embed/Annotation.mjs +44 -0
  308. package/model/embed/AuthenticationClass.d.mts +6 -0
  309. package/model/embed/AuthenticationClass.mjs +6 -0
  310. package/model/embed/CalendarItemTag.d.mts +71 -0
  311. package/model/embed/CalendarItemTag.mjs +50 -0
  312. package/model/embed/CareTeamMember.d.mts +70 -0
  313. package/model/embed/CareTeamMember.mjs +44 -0
  314. package/model/embed/CareTeamMemberType.d.mts +5 -0
  315. package/model/embed/CareTeamMemberType.mjs +5 -0
  316. package/model/embed/CareTeamMembership.d.mts +74 -0
  317. package/model/embed/CareTeamMembership.mjs +52 -0
  318. package/model/embed/ContactParticipant.d.mts +13 -0
  319. package/model/embed/ContactParticipant.mjs +5 -0
  320. package/model/embed/Content.d.mts +177 -0
  321. package/model/embed/Content.mjs +118 -0
  322. package/model/embed/ContractChangeType.d.mts +5 -0
  323. package/model/embed/ContractChangeType.mjs +5 -0
  324. package/model/embed/DataAttachment.d.mts +18 -0
  325. package/model/embed/DataAttachment.mjs +18 -0
  326. package/model/embed/DatabaseSynchronization.d.mts +22 -0
  327. package/model/embed/DatabaseSynchronization.mjs +22 -0
  328. package/model/embed/DelegationTag.d.mts +6 -0
  329. package/model/embed/DelegationTag.mjs +6 -0
  330. package/model/embed/DeletedAttachment.d.mts +23 -0
  331. package/model/embed/DeletedAttachment.mjs +23 -0
  332. package/model/embed/DocumentGroup.d.mts +13 -0
  333. package/model/embed/DocumentGroup.mjs +13 -0
  334. package/model/embed/DocumentStatus.d.mts +6 -0
  335. package/model/embed/DocumentStatus.mjs +6 -0
  336. package/model/embed/DocumentType.d.mts +5 -0
  337. package/model/embed/DocumentType.mjs +5 -0
  338. package/model/embed/Duration.d.mts +13 -0
  339. package/model/embed/Duration.mjs +13 -0
  340. package/model/embed/EmbeddedTimeTableHour.d.mts +13 -0
  341. package/model/embed/EmbeddedTimeTableHour.mjs +5 -0
  342. package/model/embed/EmbeddedTimeTableItem.d.mts +42 -0
  343. package/model/embed/EmbeddedTimeTableItem.mjs +30 -0
  344. package/model/embed/Encryptable.d.mts +7 -0
  345. package/model/embed/Episode.d.mts +78 -0
  346. package/model/embed/Episode.mjs +52 -0
  347. package/model/embed/FinancialInstitutionInformation.d.mts +110 -0
  348. package/model/embed/FinancialInstitutionInformation.mjs +76 -0
  349. package/model/embed/FrontEndMigrationStatus.d.mts +5 -0
  350. package/model/embed/FrontEndMigrationStatus.mjs +5 -0
  351. package/model/embed/Gender.d.mts +6 -0
  352. package/model/embed/Gender.mjs +6 -0
  353. package/model/embed/GroupType.d.mts +5 -0
  354. package/model/embed/GroupType.mjs +5 -0
  355. package/model/embed/IdentityDocumentReader.d.mts +30 -0
  356. package/model/embed/IdentityDocumentReader.mjs +30 -0
  357. package/model/embed/InvoiceType.d.mts +5 -0
  358. package/model/embed/InvoiceType.mjs +5 -0
  359. package/model/embed/InvoicingCode.d.mts +689 -0
  360. package/model/embed/InvoicingCode.mjs +454 -0
  361. package/model/embed/Laterality.d.mts +5 -0
  362. package/model/embed/Laterality.mjs +5 -0
  363. package/model/embed/Measure.d.mts +54 -0
  364. package/model/embed/Measure.mjs +54 -0
  365. package/model/embed/MedicalHouseContract.d.mts +413 -0
  366. package/model/embed/MedicalHouseContract.mjs +278 -0
  367. package/model/embed/Medication.d.mts +5 -0
  368. package/model/embed/Medication.mjs +5 -0
  369. package/model/embed/Medicinalproduct.d.mts +25 -0
  370. package/model/embed/Medicinalproduct.mjs +25 -0
  371. package/model/embed/MediumType.d.mts +5 -0
  372. package/model/embed/MediumType.mjs +5 -0
  373. package/model/embed/MembershipType.d.mts +5 -0
  374. package/model/embed/MembershipType.mjs +5 -0
  375. package/model/embed/MessageReadStatus.d.mts +14 -0
  376. package/model/embed/MessageReadStatus.mjs +14 -0
  377. package/model/embed/MhcSignatureType.d.mts +6 -0
  378. package/model/embed/MhcSignatureType.mjs +6 -0
  379. package/model/embed/Partnership.d.mts +18 -0
  380. package/model/embed/Partnership.mjs +18 -0
  381. package/model/embed/PartnershipStatus.d.mts +5 -0
  382. package/model/embed/PartnershipStatus.mjs +5 -0
  383. package/model/embed/PartnershipType.d.mts +6 -0
  384. package/model/embed/PartnershipType.mjs +6 -0
  385. package/model/embed/PatientHealthCareParty.d.mts +15 -0
  386. package/model/embed/PatientHealthCareParty.mjs +10 -0
  387. package/model/embed/PatientHealthCarePartyType.d.mts +5 -0
  388. package/model/embed/PatientHealthCarePartyType.mjs +5 -0
  389. package/model/embed/Payment.d.mts +17 -0
  390. package/model/embed/Payment.mjs +17 -0
  391. package/model/embed/PaymentType.d.mts +5 -0
  392. package/model/embed/PaymentType.mjs +5 -0
  393. package/model/embed/PersonName.d.mts +39 -0
  394. package/model/embed/PersonName.mjs +39 -0
  395. package/model/embed/PersonNameUse.d.mts +5 -0
  396. package/model/embed/PersonNameUse.mjs +5 -0
  397. package/model/embed/PersonalStatus.d.mts +5 -0
  398. package/model/embed/PersonalStatus.mjs +5 -0
  399. package/model/embed/Range.d.mts +13 -0
  400. package/model/embed/Range.mjs +13 -0
  401. package/model/embed/ReferenceRange.d.mts +34 -0
  402. package/model/embed/ReferenceRange.mjs +34 -0
  403. package/model/embed/ReferralPeriod.d.mts +17 -0
  404. package/model/embed/ReferralPeriod.mjs +17 -0
  405. package/model/embed/RegimenItem.d.mts +32 -0
  406. package/model/embed/RegimenItem.mjs +32 -0
  407. package/model/embed/Renewal.d.mts +14 -0
  408. package/model/embed/Renewal.mjs +14 -0
  409. package/model/embed/ResourceGroupAllocationSchedule.d.mts +34 -0
  410. package/model/embed/ResourceGroupAllocationSchedule.mjs +34 -0
  411. package/model/embed/RoleConfiguration.d.mts +14 -0
  412. package/model/embed/RoleConfiguration.mjs +10 -0
  413. package/model/embed/SecureDelegation.d.mts +41 -0
  414. package/model/embed/SecureDelegation.mjs +37 -0
  415. package/model/embed/SecurityMetadata.d.mts +11 -0
  416. package/model/embed/SecurityMetadata.mjs +6 -0
  417. package/model/embed/Substanceproduct.d.mts +25 -0
  418. package/model/embed/Substanceproduct.mjs +25 -0
  419. package/model/embed/SuspensionReason.d.mts +5 -0
  420. package/model/embed/SuspensionReason.mjs +5 -0
  421. package/model/embed/TaskStatus.d.mts +5 -0
  422. package/model/embed/TaskStatus.mjs +5 -0
  423. package/model/embed/TelecomType.d.mts +6 -0
  424. package/model/embed/TelecomType.mjs +6 -0
  425. package/model/embed/TimeSeries.d.mts +34 -0
  426. package/model/embed/TimeSeries.mjs +34 -0
  427. package/model/embed/TypedValue.d.mts +101 -0
  428. package/model/embed/TypedValue.mjs +70 -0
  429. package/model/embed/TypedValuesType.d.mts +5 -0
  430. package/model/embed/TypedValuesType.mjs +5 -0
  431. package/model/embed/UserAccessLevel.d.mts +11 -0
  432. package/model/embed/UserAccessLevel.mjs +11 -0
  433. package/model/embed/UserType.d.mts +5 -0
  434. package/model/embed/UserType.mjs +5 -0
  435. package/model/embed/ValueWithPrecision.d.mts +13 -0
  436. package/model/embed/ValueWithPrecision.mjs +5 -0
  437. package/model/embed/Weekday.d.mts +13 -0
  438. package/model/embed/Weekday.mjs +13 -0
  439. package/model/embed/form/template/Action.d.mts +18 -0
  440. package/model/embed/form/template/Action.mjs +18 -0
  441. package/model/embed/form/template/CheckBox.d.mts +5 -0
  442. package/model/embed/form/template/CheckBox.mjs +5 -0
  443. package/model/embed/form/template/DatePicker.d.mts +5 -0
  444. package/model/embed/form/template/DatePicker.mjs +5 -0
  445. package/model/embed/form/template/DateTimePicker.d.mts +5 -0
  446. package/model/embed/form/template/DateTimePicker.mjs +5 -0
  447. package/model/embed/form/template/DropdownField.d.mts +5 -0
  448. package/model/embed/form/template/DropdownField.mjs +5 -0
  449. package/model/embed/form/template/Field.d.mts +9 -0
  450. package/model/embed/form/template/FieldsGroup.d.mts +14 -0
  451. package/model/embed/form/template/FieldsGroup.mjs +10 -0
  452. package/model/embed/form/template/FormTemplateLayout.d.mts +26 -0
  453. package/model/embed/form/template/FormTemplateLayout.mjs +22 -0
  454. package/model/embed/form/template/Launcher.d.mts +18 -0
  455. package/model/embed/form/template/Launcher.mjs +10 -0
  456. package/model/embed/form/template/MeasureField.d.mts +5 -0
  457. package/model/embed/form/template/MeasureField.mjs +5 -0
  458. package/model/embed/form/template/MultipleChoice.d.mts +5 -0
  459. package/model/embed/form/template/MultipleChoice.mjs +5 -0
  460. package/model/embed/form/template/NumberField.d.mts +5 -0
  461. package/model/embed/form/template/NumberField.mjs +5 -0
  462. package/model/embed/form/template/RadioButton.d.mts +5 -0
  463. package/model/embed/form/template/RadioButton.mjs +5 -0
  464. package/model/embed/form/template/Section.d.mts +22 -0
  465. package/model/embed/form/template/Section.mjs +14 -0
  466. package/model/embed/form/template/State.d.mts +17 -0
  467. package/model/embed/form/template/State.mjs +9 -0
  468. package/model/embed/form/template/StateToUpdate.d.mts +5 -0
  469. package/model/embed/form/template/StateToUpdate.mjs +5 -0
  470. package/model/embed/form/template/StructureElement.d.mts +6 -0
  471. package/model/embed/form/template/TextField.d.mts +73 -0
  472. package/model/embed/form/template/TextField.mjs +69 -0
  473. package/model/embed/form/template/TimePicker.d.mts +5 -0
  474. package/model/embed/form/template/TimePicker.mjs +5 -0
  475. package/model/embed/form/template/Trigger.d.mts +5 -0
  476. package/model/embed/form/template/Trigger.mjs +5 -0
  477. package/model/enums/UsersStatus.d.mts +5 -0
  478. package/model/enums/UsersStatus.mjs +5 -0
  479. package/model/filter/predicate/AlwaysPredicate.d.mts +5 -0
  480. package/model/filter/predicate/AlwaysPredicate.mjs +5 -0
  481. package/model/filter/predicate/AndPredicate.d.mts +9 -0
  482. package/model/filter/predicate/AndPredicate.mjs +9 -0
  483. package/model/filter/predicate/KeyValuePredicate.d.mts +17 -0
  484. package/model/filter/predicate/KeyValuePredicate.mjs +17 -0
  485. package/model/filter/predicate/NotPredicate.d.mts +9 -0
  486. package/model/filter/predicate/NotPredicate.mjs +5 -0
  487. package/model/filter/predicate/Operator.d.mts +5 -0
  488. package/model/filter/predicate/Operator.mjs +5 -0
  489. package/model/filter/predicate/OrPredicate.d.mts +9 -0
  490. package/model/filter/predicate/OrPredicate.mjs +9 -0
  491. package/model/filter/predicate/Predicate.d.mts +6 -0
  492. package/model/requests/RequestedPermission.d.mts +5 -0
  493. package/model/requests/RequestedPermission.mjs +5 -0
  494. package/model/security/AlwaysPermissionItem.d.mts +10 -0
  495. package/model/security/AlwaysPermissionItem.mjs +6 -0
  496. package/model/security/AuthenticationToken.d.mts +23 -0
  497. package/model/security/AuthenticationToken.mjs +15 -0
  498. package/model/security/Enable2faRequest.d.mts +13 -0
  499. package/model/security/Enable2faRequest.mjs +5 -0
  500. package/model/security/ExternalJwtConfig.d.mts +110 -0
  501. package/model/security/ExternalJwtConfig.mjs +59 -0
  502. package/model/security/LoginIdentifier.d.mts +14 -0
  503. package/model/security/LoginIdentifier.mjs +6 -0
  504. package/model/security/Operation.d.mts +5 -0
  505. package/model/security/Operation.mjs +5 -0
  506. package/model/security/OperationToken.d.mts +27 -0
  507. package/model/security/OperationToken.mjs +11 -0
  508. package/model/security/Permission.d.mts +14 -0
  509. package/model/security/Permission.mjs +14 -0
  510. package/model/security/PermissionItem.d.mts +7 -0
  511. package/model/security/PermissionType.d.mts +6 -0
  512. package/model/security/PermissionType.mjs +6 -0
  513. package/model/security/TokenWithGroup.d.mts +17 -0
  514. package/model/security/TokenWithGroup.mjs +9 -0
  515. package/model/specializations/AesExchangeKeyEncryptionKeypairIdentifier.d.mts +7 -0
  516. package/package.json +1 -1
  517. package/subscription/EntitySubscriptionConfiguration.d.mts +24 -0
  518. package/subscription/EntitySubscriptionConfiguration.mjs +24 -0
  519. package/subscription/EntitySubscriptionEvent.d.mts +21 -0
  520. package/subscription/EntitySubscriptionEvent.mjs +9 -0
@@ -15,6 +15,19 @@ export interface DocumentApi {
15
15
  encrypted: DocumentFlavouredApi<EncryptedDocument>;
16
16
  tryAndRecover: DocumentFlavouredApi<Document>;
17
17
  inGroup: DocumentInGroupApi;
18
+ /**
19
+ *
20
+ * Creates a new document with initialized encryption metadata
21
+ * @param base a document with initialized content and uninitialized encryption metadata. The result of this
22
+ * method takes the content from [base] if provided.
23
+ * @param message the message linked to the document, if any.
24
+ * @param user the current user, will be used for the auto-delegations if provided.
25
+ * @param delegates additional data owners that will have access to the newly created entity. You may choose the
26
+ * permissions that the delegates will have on the entity, but they will have access to all encryption metadata.
27
+ * @param secretId specifies which secret id of [message] to use for the new document
28
+ * @return a document with initialized encryption metadata.
29
+ * @throws IllegalArgumentException if base is not null and has a revision or has encryption metadata.
30
+ */
18
31
  withEncryptionMetadataLinkedToMessage(base: DecryptedDocument | undefined, message: Message, options?: {
19
32
  user?: User | undefined;
20
33
  delegates?: {
@@ -23,6 +36,19 @@ export interface DocumentApi {
23
36
  secretId?: SecretIdUseOption;
24
37
  alternateRootDelegateId?: string | undefined;
25
38
  }): Promise<DecryptedDocument>;
39
+ /**
40
+ *
41
+ * Creates a new document with initialized encryption metadata
42
+ * @param base a document with initialized content and uninitialized encryption metadata. The result of this
43
+ * method takes the content from [base] if provided.
44
+ * @param patient the patient linked to the patient, if any.
45
+ * @param user the current user, will be used for the auto-delegations if provided.
46
+ * @param delegates additional data owners that will have access to the newly created entity. You may choose the
47
+ * permissions that the delegates will have on the entity, but they will have access to all encryption metadata.
48
+ * @param secretId specifies which secret id of [Message] to use for the new document
49
+ * @return a document with initialized encryption metadata.
50
+ * @throws IllegalArgumentException if base is not null and has a revision or has encryption metadata.
51
+ */
26
52
  withEncryptionMetadataLinkedToPatient(base: DecryptedDocument | undefined, patient: Patient, options?: {
27
53
  user?: User | undefined;
28
54
  delegates?: {
@@ -31,6 +57,17 @@ export interface DocumentApi {
31
57
  secretId?: SecretIdUseOption;
32
58
  alternateRootDelegateId?: string | undefined;
33
59
  }): Promise<DecryptedDocument>;
60
+ /**
61
+ *
62
+ * Creates a new document with initialized encryption metadata
63
+ * @param base a document with initialized content and uninitialized encryption metadata. The result of this
64
+ * method takes the content from [base] if provided.
65
+ * @param user the current user, will be used for the auto-delegations if provided.
66
+ * @param delegates additional data owners that will have access to the newly created entity. You may choose the
67
+ * permissions that the delegates will have on the entity, but they will have access to all encryption metadata.
68
+ * @return a document with initialized encryption metadata.
69
+ * @throws IllegalArgumentException if base is not null and has a revision or has encryption metadata.
70
+ */
34
71
  withEncryptionMetadataUnlinked(base: DecryptedDocument | undefined, options?: {
35
72
  user?: User | undefined;
36
73
  delegates?: {
@@ -38,58 +75,486 @@ export interface DocumentApi {
38
75
  };
39
76
  alternateRootDelegateId?: string | undefined;
40
77
  }): Promise<DecryptedDocument>;
78
+ /**
79
+ *
80
+ * Retrieves and tries to decrypt the main attachment of a document.
81
+ * This method returns null if the user has no access to an encryption key of the document that allows to correctly
82
+ * decrypt the attachment.
83
+ *
84
+ * In cases where there could be multiple encryption keys associated to the document, you should also provide a
85
+ * validator for the decrypted attachment: if you do after decrypting the result with the document encryption key
86
+ * the sdk will also pass the decrypted result to the validator before considering the decryption as successful.
87
+ * This is because due to the nature of the AES-CBC encryption algorithm, it is impossible to know with 100%
88
+ * certainty if the data was decrypted correctly, therefore additional context is needed.
89
+ *
90
+ * @param document a document
91
+ * @param decryptedAttachmentValidator a function to verify if the attachment was decrypted correctly. Should be
92
+ * provided in cases where the document may have multiple encryption keys.
93
+ * @return the decrypted main attachment of the document if it could be correctly decrypted using the keys available
94
+ * to the current user, null otherwise.
95
+ */
41
96
  getAndTryDecryptMainAttachment(document: Document, options?: {
42
97
  decryptedAttachmentValidator?: (x1: Int8Array) => Promise<boolean>;
43
98
  }): Promise<Int8Array | undefined>;
99
+ /**
100
+ *
101
+ * Similar to [getAndTryDecryptMainAttachment] but throws an exception instead of returning null if the attachment
102
+ * could not be decrypted.
103
+ * @param document a document
104
+ * @param decryptedAttachmentValidator a function to verify if the attachment was decrypted correctly. Should be
105
+ * provided in cases where the document may have multiple encryption keys.
106
+ * @return the decrypted main attachment of the document
107
+ * @throws EntityEncryptionException if the main attachment of the document could not be decrypted
108
+ */
44
109
  getAndDecryptMainAttachment(document: Document, options?: {
45
110
  decryptedAttachmentValidator?: (x1: Int8Array) => Promise<boolean>;
46
111
  }): Promise<Int8Array>;
112
+ /**
113
+ *
114
+ * Encrypts the provided main attachment using the key of the document and then saves it to the backend, overwriting
115
+ * the previous attachment if any.
116
+ * @param document a document
117
+ * @param utis uniform type identifiers for the attachment (https://en.wikipedia.org/wiki/Uniform_Type_Identifier).
118
+ * If null and there is already a main attachment for the document the current utis will be reused, otherwise it
119
+ * null will be considered as an empty list. In all other cases overwrites any existing value.
120
+ * @param attachment the clear main attachment to encrypt and set
121
+ * @throws EntityEncryptionException if the current user does not have access to any encryption key of the provided
122
+ * document.
123
+ * @return the updated document
124
+ */
47
125
  encryptAndSetMainAttachment(document: Document, utis: Array<string> | undefined, attachment: Int8Array): Promise<EncryptedDocument>;
126
+ /**
127
+ *
128
+ * Same as [getAndDecryptMainAttachment] but instead of getting the main attachment of the entity gets the secondary
129
+ * attachment associated with the provided key.
130
+ * @param document a document
131
+ * @param key the key of a secondary attachment in the document
132
+ * @param decryptedAttachmentValidator a function to verify if the attachment was decrypted correctly. Should be
133
+ * provided in cases where the document may have multiple encryption keys.
134
+ * @return the decrypted secondary attachment of the document associated with the provided key
135
+ * @throws EntityEncryptionException if the main attachment of the document could not be decrypted
136
+ */
48
137
  getAndDecryptSecondaryAttachment(document: Document, key: string, options?: {
49
138
  decryptedAttachmentValidator?: (x1: Int8Array) => Promise<boolean>;
50
139
  }): Promise<Int8Array>;
140
+ /**
141
+ *
142
+ * Encrypts the provided secondary attachment using the key of the document and then saves it to the backend,
143
+ * overwriting the previous attachment if any.
144
+ * @param document a document
145
+ * @param key a key to distinguish the secondary attachment from other secondary attachments. The key can be any
146
+ * string except for the id of the document, which is by convention reserved for the main attachment of the document.
147
+ * @param utis uniform type identifiers for the attachment (https://en.wikipedia.org/wiki/Uniform_Type_Identifier).
148
+ * If null and there is already a secondary attachment at key for the document the current utis will be reused,
149
+ * otherwise it null will be considered as an empty list. In all other cases overwrites any existing value.
150
+ * @param attachment the clear main attachment to encrypt and set
151
+ * @throws EntityEncryptionException if the current user does not have access to any encryption key of the provided
152
+ * document.
153
+ * @return the updated document
154
+ */
51
155
  encryptAndSetSecondaryAttachment(document: Document, key: string, utis: Array<string> | undefined, attachment: Int8Array): Promise<EncryptedDocument>;
156
+ /**
157
+ *
158
+ * Attempts to extract the encryption keys of a document. If the user does not have access to any encryption key
159
+ * of the access log the method will return an empty set.
160
+ * Note: entities now have only one encryption key, but this method returns a set for compatibility with older
161
+ * versions of iCure where this was not a guarantee.
162
+ * @param document a document
163
+ * @return the encryption keys extracted from the provided document.
164
+ */
52
165
  getEncryptionKeysOf(document: Document): Promise<Array<HexString>>;
166
+ /**
167
+ *
168
+ * Specifies if the current user has write access to a document through delegations.
169
+ * Doesn't consider actual permissions on the server side: for example, if the data owner has access to all entities
170
+ * thanks to extended permission but has no delegation on the provided entity this method returns false. Similarly,
171
+ * if the SDK was initialized in hierarchical mode but the user is lacking the hierarchical permission on the server
172
+ * side this method will still return true if there is a delegation to the parent.
173
+ * @param document a document
174
+ * @return if the current user has write access to the provided document
175
+ */
53
176
  hasWriteAccess(document: Document): Promise<boolean>;
177
+ /**
178
+ *
179
+ * Attempts to extract the patient id linked to a document.
180
+ * Note: documents usually should be linked with only one patient, but this method returns a set for compatibility
181
+ * with older versions of iCure
182
+ * @param document a document
183
+ * @return the id of the patient linked to the document, or empty if the current user can't access any patient id
184
+ * of the document.
185
+ */
54
186
  decryptOwningEntityIdsOf(document: Document): Promise<Array<EntityReferenceInGroup>>;
187
+ /**
188
+ *
189
+ * Create metadata to allow other users to identify the anonymous delegates of a document.
190
+ *
191
+ * When calling this method the SDK will use all the information available to the current user to try to identify
192
+ * any anonymous data-owners in the delegations of the provided document. The SDK will be able to identify the
193
+ * anonymous data owners of the delegations only under the following conditions:
194
+ * - The other participant of the delegation is the current data owner
195
+ * - The SDK is using hierarchical data owners and the other participant of the delegation is a parent of the
196
+ * current data owner
197
+ * - There is de-anonymization metadata for the delegation shared with the current data owner.
198
+ *
199
+ * After identifying the anonymous delegates in the document the sdk will create the corresponding de-anonymization
200
+ * metadata if it does not yet exist, and then share it with the provided delegates.
201
+ *
202
+ * Note that this delegation metadata may be used to de-anonymize the corresponding delegation in any Document,
203
+ * not only in the provided instance.
204
+ *
205
+ * ## Example
206
+ *
207
+ * If you have a document E, and you have shared it with patient P and healthcare party H, H will not
208
+ * be able to know that P has access to E until you create delegations de anonymization metadata and share that with
209
+ * H. From now on, for any document that you have shared with P, H will be able to know that the document was
210
+ * shared with P, regardless of whether it was created before or after the corresponding de-anonymization metadata.
211
+ *
212
+ * At the same time since the de-anonymization metadata applies to a specific delegation and therefore to a specific
213
+ * delegator-delegate pair, you will not be able to see if P has access to a document that was created by H and
214
+ * shared with you and P unless also H creates delegations de-anonymization metadata.
215
+ *
216
+ * @param entity a document
217
+ * @param delegates a set of data owner ids
218
+ */
55
219
  createDelegationDeAnonymizationMetadata(entity: Document, delegates: Array<string>): Promise<void>;
220
+ /**
221
+ *
222
+ * Decrypts a document, throwing an exception if it is not possible.
223
+ * @param document a document
224
+ * @return the decrypted document
225
+ * @throws EntityEncryptionException if the document could not be decrypted
226
+ */
56
227
  decrypt(document: EncryptedDocument): Promise<DecryptedDocument>;
228
+ /**
229
+ *
230
+ * Tries to decrypt a document, returns the input if it is not possible.
231
+ * @param document an encrypted document
232
+ * @return the decrypted document if the decryption was successful or the input if it was not.
233
+ */
57
234
  tryDecrypt(document: EncryptedDocument): Promise<Document>;
235
+ /**
236
+ *
237
+ * Tries to decrypt the attachment of a document, returning null if it is not possible. This method can be used
238
+ * to decrypt an already retrieved raw attachment.
239
+ *
240
+ * In cases where there could be multiple encryption keys associated to the document, you should also provide a
241
+ * validator for the decrypted attachment: if you do after decrypting the result with the document encryption key
242
+ * the sdk will also pass the decrypted result to the validator before considering the decryption as successful.
243
+ * This is because due to the nature of the AES-CBC encryption algorithm, it is impossible to know with 100%
244
+ * certainty if the data was decrypted correctly, therefore additional context is needed.
245
+ *
246
+ * @param document a document
247
+ * @param encryptedAttachment a raw attachment of the document
248
+ * @param decryptedAttachmentValidator a function to verify if the attachment was decrypted correctly. Should be
249
+ * provided in cases where the document may have multiple encryption keys.
250
+ * @return the decrypted attachment if it could be decrypted using the keys available to the current data owner,
251
+ * null otherwise.
252
+ */
58
253
  tryDecryptAttachment(document: Document, encryptedAttachment: Int8Array, options?: {
59
254
  decryptedAttachmentValidator?: (x1: Int8Array) => Promise<boolean>;
60
255
  }): Promise<Int8Array | undefined>;
256
+ /**
257
+ *
258
+ * Get the ids of all documents matching the provided filter.
259
+ *
260
+ * This method does not guarantee that the returned data will be ordered when using sortable filter options.
261
+ * Even if the data obtained from an invocation of the method appears to be ordered, any changes to the stored data,
262
+ * or to the internal iCure implementations, may cause future invocations to return unordered data.
263
+ * If you need ordered data use [matchDocumentsBySorted] instead.
264
+ *
265
+ * @param filter a document filter
266
+ * @return a list of document ids
267
+ */
61
268
  matchDocumentsBy(filter: FilterOptions<Document>): Promise<Array<string>>;
269
+ /**
270
+ *
271
+ * Get the ids of all documents matching the provided filter.
272
+ *
273
+ * This method guarantees that the returned data will be ordered using the rules specified by the provided filter,
274
+ * but the operation may take longer than [matchDocumentsBy].
275
+ *
276
+ * @param filter a document filter
277
+ * @return a list of document ids
278
+ */
62
279
  matchDocumentsBySorted(filter: SortableFilterOptions<Document>): Promise<Array<string>>;
280
+ /**
281
+ *
282
+ * Deletes a document. If you don't have write access to the document the method will fail.
283
+ * @param entityId id of the document.
284
+ * @param rev the latest known rev of the document to delete
285
+ * @return the id and revision of the deleted document.
286
+ * @throws RevisionConflictException if the provided revision doesn't match the latest known revision
287
+ */
63
288
  deleteDocumentById(entityId: string, rev: string): Promise<StoredDocumentIdentifier>;
289
+ /**
290
+ *
291
+ * Deletes many documents. Ids that don't correspond to an entity, or that correspond to an entity for which
292
+ * you don't have write access will be ignored.
293
+ * @param entityIds ids and revisions of the documents to delete.
294
+ * @return the id and revision of the deleted documents. If some entities couldn't be deleted (for example
295
+ * because you had no write access to them) they will not be included in this list.
296
+ */
64
297
  deleteDocumentsByIds(entityIds: Array<StoredDocumentIdentifier>): Promise<Array<StoredDocumentIdentifier>>;
298
+ /**
299
+ *
300
+ * Permanently deletes a document.
301
+ * @param id id of the document to purge
302
+ * @param rev latest revision of the document
303
+ * @throws RevisionConflictException if the provided revision doesn't match the latest known revision
304
+ */
65
305
  purgeDocumentById(id: string, rev: string): Promise<void>;
306
+ /**
307
+ *
308
+ * Permanently deletes many documents.
309
+ * @param entityIds ids and revisions of the documents to delete
310
+ * @return the id and revision of the deleted documents. If some entities couldn't be deleted (for example
311
+ * because you had no write access to them) they will not be included in this list.
312
+ */
66
313
  purgeDocumentsByIds(entityIds: Array<StoredDocumentIdentifier>): Promise<Array<StoredDocumentIdentifier>>;
314
+ /**
315
+ *
316
+ * Deletes a document. If you don't have write access to the document the method will fail.
317
+ * @param document the document to delete
318
+ * @return the id and revision of the deleted document.
319
+ * @throws RevisionConflictException if the provided document doesn't match the latest known revision
320
+ */
67
321
  deleteDocument(document: Document): Promise<StoredDocumentIdentifier>;
322
+ /**
323
+ *
324
+ * Deletes many documents. Ignores document for which you don't have write access or that don't match the latest revision.
325
+ * @param documents the documents to delete
326
+ * @return the id and revision of the deleted documents. If some entities couldn't be deleted they will not be
327
+ * included in this list.
328
+ */
68
329
  deleteDocuments(documents: Array<Document>): Promise<Array<StoredDocumentIdentifier>>;
330
+ /**
331
+ *
332
+ * Permanently deletes a document.
333
+ * @param document the document to purge.
334
+ * @throws RevisionConflictException if the provided document doesn't match the latest known revision
335
+ */
69
336
  purgeDocument(document: Document): Promise<void>;
337
+ /**
338
+ *
339
+ * Permanently deletes many documents.
340
+ * @param documents the documents to purge.
341
+ * @return the id and revision of the deleted documents. If some entities couldn't be deleted (for example
342
+ * because you had no write access to them) they will not be included in this list.
343
+ */
70
344
  purgeDocuments(documents: Array<Document>): Promise<Array<StoredDocumentIdentifier>>;
345
+ /**
346
+ *
347
+ * Get the main attachment from the document with the provided id as raw bytes. This method will not
348
+ * perform any transformation on the attachment, and if the attachment was encrypted the returned data is encrypted.
349
+ * @param documentId a document id
350
+ * @return the main attachment of the document with id [documentId], as stored in the backend.
351
+ */
71
352
  getRawMainAttachment(documentId: string): Promise<Int8Array>;
353
+ /**
354
+ *
355
+ * Get the secondary attachment at [key] from the document with the provided id as raw bytes. This method will not
356
+ * perform any transformation on the attachment, and if the attachment was encrypted the returned data is encrypted.
357
+ * @param documentId a document id
358
+ * @param key the key of the secondary attachment to retrieve.
359
+ * @return the secondary attachment at [key] of the document with id [documentId], as stored in the backend.
360
+ */
72
361
  getRawSecondaryAttachment(documentId: string, key: string): Promise<Int8Array>;
362
+ /**
363
+ *
364
+ * Sets the main attachment for a document without performing any transformation. Most notably the attachment
365
+ * will not be encrypted by this method.
366
+ * If a main attachment already exist on the document it will be replaced.
367
+ * @param documentId the id of the document.
368
+ *
369
+ * @param rev the revision of the document
370
+ * @param utis uniform type identifiers for the attachment (https://en.wikipedia.org/wiki/Uniform_Type_Identifier).
371
+ * If null and there is already a main attachment for the document the current utis will be reused, otherwise it
372
+ * null will be considered as an empty list. In all other cases overwrites any existing value.
373
+ * @param attachment the attachment to set
374
+ * @param encrypted specifies if the attachment you provided is encrypted or not. This will only be used to
375
+ * have a more accurate representation of the type of attachment in the attachment storage servers; the document
376
+ * entity won't be affected by this value.
377
+ * @return the updated document
378
+ */
73
379
  setRawMainAttachment(documentId: string, rev: string, utis: Array<string> | undefined, attachment: Int8Array, encrypted: boolean): Promise<EncryptedDocument>;
380
+ /**
381
+ *
382
+ * Sets the secondary attachment at the provided key for a document without performing any transformation. Most
383
+ * notably the attachment will not be encrypted by this method.
384
+ * If there is already a secondary attachment for the provided key on the document it will be replaced.
385
+ * @param documentId the id of the document.
386
+ * @param key a key to distinguish the secondary attachment from other secondary attachments. The key can be any
387
+ * string except for the [documentId], which is by convention reserved for the main attachment of the document.
388
+ * @param rev the revision of the document
389
+ * @param utis uniform type identifiers for the attachment (https://en.wikipedia.org/wiki/Uniform_Type_Identifier).
390
+ * If null and there is already a secondary attachment at key for the document the current utis will be reused,
391
+ * otherwise it null will be considered as an empty list. In all other cases overwrites any existing value.
392
+ * @param attachment the attachment to set
393
+ * @param encrypted specifies if the attachment you provided is encrypted or not. This will only be used to
394
+ * have a more accurate representation of the type of attachment in the attachment storage servers; the document
395
+ * entity won't be affected by this value.
396
+ * @return the updated document
397
+ */
74
398
  setRawSecondaryAttachment(documentId: string, key: string, rev: string, utis: Array<string> | undefined, attachment: Int8Array, encrypted: boolean): Promise<EncryptedDocument>;
399
+ /**
400
+ *
401
+ * Deletes the main attachment of a document.
402
+ * @param entityId the id of the document
403
+ * @param rev the last known revision of the document
404
+ * @return the updated document
405
+ */
75
406
  deleteMainAttachment(entityId: string, rev: string): Promise<EncryptedDocument>;
407
+ /**
408
+ *
409
+ * Deletes a secondary attachment of a document.
410
+ * @param documentId the id of the document
411
+ * @param key key of the secondary attachment to delete
412
+ * @param rev the last known revision of the document
413
+ * @return the updated document
414
+ */
76
415
  deleteSecondaryAttachment(documentId: string, key: string, rev: string): Promise<EncryptedDocument>;
416
+ /**
417
+ *
418
+ * Share a document with another data owner. The document must already exist in the database for this method to
419
+ * succeed. If you want to share the document before creation you should instead pass provide the delegates in
420
+ * the initialize encryption metadata method.
421
+ * Note: this method only updates the security metadata. If the input entity has unsaved changes they may be lost.
422
+ * @param delegateId the owner that will gain access to the document
423
+ * @param document the document to share with [delegateId]
424
+ * @param options specifies how the document will be shared. By default, all data available to the current user
425
+ * will be shared, and the delegate will have the same permissions as the current user on the document. Refer
426
+ * to the documentation of [DocumentShareOptions] for more information.
427
+ * @return the updated document if the sharing was successful, or details on the errors if the sharing failed.
428
+ */
77
429
  shareWith(delegateId: string, document: DecryptedDocument, options?: {
78
430
  options?: DocumentShareOptions | undefined;
79
431
  }): Promise<DecryptedDocument>;
432
+ /**
433
+ *
434
+ * Share a document with multiple data owners. The document must already exist in the database for this method to
435
+ * succeed. If you want to share the document before creation you should instead pass provide the delegates in
436
+ * the initialize encryption metadata method.
437
+ * Note: this method only updates the security metadata. If the input entity has unsaved changes they may be lost.
438
+ * Throws an exception if the operation fails.
439
+ * @param document the document to share
440
+ * @param delegates specify the data owners which will gain access to the entity and the options for sharing with
441
+ * each of them.
442
+ * @return the updated document.
443
+ */
80
444
  shareWithMany(document: DecryptedDocument, delegates: {
81
445
  [key: string]: DocumentShareOptions;
82
446
  }): Promise<DecryptedDocument>;
447
+ /**
448
+ *
449
+ * Get an iterator that iterates through all documents matching the provided filter, executing multiple requests to
450
+ * the api if needed.
451
+ *
452
+ * This method does not guarantee that the returned data will be ordered when using sortable filter options.
453
+ * Even if the data obtained from an invocation of the method appears to be ordered, any changes to the stored data,
454
+ * or to the internal iCure implementations, may cause future invocations to return unordered data.
455
+ * If you need ordered data use [filterDocumentsBySorted] instead.
456
+ *
457
+ * @param filter a document filter
458
+ * @return an iterator that iterates over all documents matching the provided filter.
459
+ */
83
460
  filterDocumentsBy(filter: FilterOptions<Document>): Promise<PaginatedListIterator<DecryptedDocument>>;
461
+ /**
462
+ *
463
+ * Get an iterator that iterates through all documents matching the provided filter, executing multiple requests to
464
+ * the api if needed.
465
+ *
466
+ * This method guarantees that the returned data will be ordered using the rules specified by the provided filter,
467
+ * but the operation may take longer than [filterDocumentsBy].
468
+ *
469
+ * @param filter a document filter
470
+ * @return an iterator that iterates over all documents matching the provided filter.
471
+ */
84
472
  filterDocumentsBySorted(filter: SortableFilterOptions<Document>): Promise<PaginatedListIterator<DecryptedDocument>>;
473
+ /**
474
+ *
475
+ * Create a new document. The provided document must have the encryption metadata initialized.
476
+ * @param entity a document with initialized encryption metadata
477
+ * @return the created document with updated revision.
478
+ * @throws IllegalArgumentException if the encryption metadata of the input was not initialized.
479
+ */
85
480
  createDocument(entity: DecryptedDocument): Promise<DecryptedDocument>;
481
+ /**
482
+ *
483
+ * Create a batch of new documents. All the provided documents must have the encryption metadata initialized.
484
+ * @param entities the documents with initialized encryption metadata
485
+ * @return the created documents with updated revision.
486
+ * @throws IllegalArgumentException if the encryption metadata was not initialized in any of the entities.
487
+ */
86
488
  createDocuments(entities: Array<DecryptedDocument>): Promise<Array<DecryptedDocument>>;
489
+ /**
490
+ *
491
+ * Restores a document that was marked as deleted.
492
+ * @param id the id of the entity
493
+ * @param rev the latest revision of the entity.
494
+ * @return the restored entity.
495
+ * @throws RevisionConflictException if the provided revision doesn't match the latest known revision
496
+ */
87
497
  undeleteDocumentById(id: string, rev: string): Promise<DecryptedDocument>;
498
+ /**
499
+ *
500
+ * Restores a batch of documents that were marked as deleted.
501
+ * @param entityIds the ids and the revisions of the documents to restore.
502
+ * @return the restored documents. If some entities couldn't be restored (because the user does not have access or the revision is not
503
+ * up-to-date), then those entities will not be restored and will not appear in this list.
504
+ */
88
505
  undeleteDocumentsByIds(entityIds: Array<StoredDocumentIdentifier>): Promise<Array<DecryptedDocument>>;
506
+ /**
507
+ *
508
+ * Restores a document that was marked as deleted.
509
+ * @param document the document to undelete
510
+ * @return the restored document.
511
+ * @throws RevisionConflictException if the provided document doesn't match the latest known revision
512
+ */
89
513
  undeleteDocument(document: Document): Promise<DecryptedDocument>;
514
+ /**
515
+ *
516
+ * Restores a batch of documents that were marked as deleted.
517
+ * @param documents the documents to restore.
518
+ * @return the restored documents. If some entities couldn't be restored (because the user does not have access or the revision is not
519
+ * up-to-date), then those entities will not be restored and will not appear in this list.
520
+ */
90
521
  undeleteDocuments(documents: Array<DecryptedDocument>): Promise<Array<DecryptedDocument>>;
522
+ /**
523
+ *
524
+ * Modifies a document. You need to have write access to the entity. Note that you can't use this method to
525
+ * change the attachments and/or attachment metadata on the document. You should use various set attachment methods
526
+ * instead.
527
+ * Flavoured method.
528
+ * @param entity a document with update content
529
+ * @return the document updated with the provided content and a new revision.
530
+ */
91
531
  modifyDocument(entity: DecryptedDocument): Promise<DecryptedDocument>;
532
+ /**
533
+ *
534
+ * Modifies multiple documents. Ignores all documents for which you don't have write access.
535
+ * Flavoured method.
536
+ * @param entities documents with update content
537
+ * @return the updated documents with a new revision. If some entities couldn't be updated (because the user does not have access or the revision is not
538
+ * up-to-date), then those entities will not be updated and will not appear in this list.
539
+ */
92
540
  modifyDocuments(entities: Array<DecryptedDocument>): Promise<Array<DecryptedDocument>>;
541
+ /**
542
+ *
543
+ * Get a document by its id. You must have read access to the entity. Fails if the id does not correspond to any
544
+ * entity, corresponds to an entity that is not a document, or corresponds to an entity for which you don't have
545
+ * read access.
546
+ * Flavoured method.
547
+ * @param entityId a document id.
548
+ * @return the document with id [entityId].
549
+ */
93
550
  getDocument(entityId: string): Promise<DecryptedDocument | undefined>;
551
+ /**
552
+ *
553
+ * Get multiple documents by their ids. Ignores all ids that do not correspond to an entity, correspond to
554
+ * an entity that is not a document, or correspond to an entity for which you don't have read access.
555
+ * Flavoured method.
556
+ * @param entityIds a list of documents ids
557
+ * @return all documents that you can access with one of the provided ids.
558
+ */
94
559
  getDocuments(entityIds: Array<string>): Promise<Array<DecryptedDocument>>;
95
560
  }