@icure/cardinal-sdk 2.1.1 → 2.1.3

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.mjs +39272 -39200
  93. package/cardinal-sdk.mjs +71319 -70602
  94. package/crypto/entities/AccessLogShareOptions.d.mts +4 -0
  95. package/crypto/entities/AccessLogShareOptions.mjs +4 -0
  96. package/crypto/entities/CalendarItemShareOptions.d.mts +4 -0
  97. package/crypto/entities/CalendarItemShareOptions.mjs +4 -0
  98. package/crypto/entities/ClassificationShareOptions.d.mts +4 -0
  99. package/crypto/entities/ClassificationShareOptions.mjs +4 -0
  100. package/crypto/entities/ContactShareOptions.d.mts +4 -0
  101. package/crypto/entities/ContactShareOptions.mjs +4 -0
  102. package/crypto/entities/DocumentShareOptions.d.mts +4 -0
  103. package/crypto/entities/DocumentShareOptions.mjs +4 -0
  104. package/crypto/entities/EntityAccessInformation.d.mts +21 -0
  105. package/crypto/entities/EntityAccessInformation.mjs +4 -0
  106. package/crypto/entities/EntityWithEncryptionMetadataTypeName.d.mts +6 -0
  107. package/crypto/entities/EntityWithEncryptionMetadataTypeName.mjs +6 -0
  108. package/crypto/entities/ExchangeDataInjectionDetails.d.mts +4 -0
  109. package/crypto/entities/ExchangeDataInjectionDetails.mjs +4 -0
  110. package/crypto/entities/FormShareOptions.d.mts +4 -0
  111. package/crypto/entities/FormShareOptions.mjs +4 -0
  112. package/crypto/entities/HealthElementShareOptions.d.mts +4 -0
  113. package/crypto/entities/HealthElementShareOptions.mjs +4 -0
  114. package/crypto/entities/InvoiceShareOptions.d.mts +4 -0
  115. package/crypto/entities/InvoiceShareOptions.mjs +4 -0
  116. package/crypto/entities/MessageShareOptions.d.mts +4 -0
  117. package/crypto/entities/MessageShareOptions.mjs +4 -0
  118. package/crypto/entities/RawDecryptedExchangeData.d.mts +8 -0
  119. package/crypto/entities/RawDecryptedExchangeData.mjs +8 -0
  120. package/crypto/entities/RecoveryKeyOptions.d.mts +13 -0
  121. package/crypto/entities/RecoveryKeyOptions.mjs +9 -0
  122. package/crypto/entities/RecoveryKeySize.d.mts +4 -0
  123. package/crypto/entities/RecoveryKeySize.mjs +4 -0
  124. package/crypto/entities/SecretIdShareOptions.d.mts +19 -0
  125. package/crypto/entities/SecretIdShareOptions.mjs +15 -0
  126. package/crypto/entities/SecretIdUseOption.d.mts +11 -0
  127. package/crypto/entities/SecretIdUseOption.mjs +6 -0
  128. package/crypto/entities/ShamirUpdateRequest.d.mts +12 -0
  129. package/crypto/entities/ShamirUpdateRequest.mjs +4 -0
  130. package/crypto/entities/ShareAllPatientDataOptions.d.mts +4 -0
  131. package/crypto/entities/ShareAllPatientDataOptions.mjs +4 -0
  132. package/crypto/entities/ShareMetadataBehaviour.d.mts +4 -0
  133. package/crypto/entities/ShareMetadataBehaviour.mjs +4 -0
  134. package/crypto/entities/TopicShareOptions.d.mts +4 -0
  135. package/crypto/entities/TopicShareOptions.mjs +4 -0
  136. package/filters/AccessLogFilters.d.mts +120 -0
  137. package/filters/AgendaFilters.d.mts +79 -0
  138. package/filters/CalendarItemFilters.d.mts +166 -0
  139. package/filters/ClassificationFilters.d.mts +87 -0
  140. package/filters/CodeFilters.d.mts +96 -0
  141. package/filters/ContactFilters.d.mts +403 -0
  142. package/filters/DeviceFilters.d.mts +19 -0
  143. package/filters/DocumentFilters.d.mts +296 -0
  144. package/filters/FormFilters.d.mts +120 -0
  145. package/filters/FormTemplateFilters.d.mts +6 -0
  146. package/filters/GroupFilters.d.mts +27 -0
  147. package/filters/HealthElementFilters.d.mts +266 -0
  148. package/filters/HealthcarePartyFilters.d.mts +75 -0
  149. package/filters/MaintenanceTaskFilters.d.mts +68 -0
  150. package/filters/MessageFilters.d.mts +314 -0
  151. package/filters/PatientFilters.d.mts +298 -0
  152. package/filters/ServiceFilters.d.mts +342 -0
  153. package/filters/TopicFilters.d.mts +25 -0
  154. package/filters/UserFilters.d.mts +33 -0
  155. package/kotlin-kotlin-stdlib.mjs +6 -6
  156. package/model/AccessLog.d.mts +202 -0
  157. package/model/AccessLog.mjs +168 -0
  158. package/model/Agenda.d.mts +89 -0
  159. package/model/Agenda.mjs +85 -0
  160. package/model/BooleanResponse.d.mts +9 -0
  161. package/model/BooleanResponse.mjs +5 -0
  162. package/model/CalendarItem.d.mts +431 -0
  163. package/model/CalendarItem.mjs +320 -0
  164. package/model/CalendarItemType.d.mts +72 -0
  165. package/model/CalendarItemType.mjs +68 -0
  166. package/model/Classification.d.mts +187 -0
  167. package/model/Classification.mjs +160 -0
  168. package/model/Code.d.mts +63 -0
  169. package/model/Code.mjs +59 -0
  170. package/model/Contact.d.mts +354 -0
  171. package/model/Contact.mjs +274 -0
  172. package/model/CryptoActorStub.d.mts +6 -0
  173. package/model/CryptoActorStub.mjs +6 -0
  174. package/model/CryptoActorStubWithType.d.mts +14 -0
  175. package/model/CryptoActorStubWithType.mjs +6 -0
  176. package/model/DataOwnerRegistrationSuccess.d.mts +18 -0
  177. package/model/DataOwnerRegistrationSuccess.mjs +6 -0
  178. package/model/DataOwnerType.d.mts +6 -0
  179. package/model/DataOwnerType.mjs +6 -0
  180. package/model/DataOwnerWithType.d.mts +6 -0
  181. package/model/DatabaseInitialisation.d.mts +22 -0
  182. package/model/DatabaseInitialisation.mjs +22 -0
  183. package/model/Device.d.mts +103 -0
  184. package/model/Device.mjs +99 -0
  185. package/model/Document.d.mts +309 -0
  186. package/model/Document.mjs +238 -0
  187. package/model/EntityReferenceInGroup.d.mts +23 -0
  188. package/model/EntityReferenceInGroup.mjs +23 -0
  189. package/model/FrontEndMigration.d.mts +60 -0
  190. package/model/FrontEndMigration.mjs +56 -0
  191. package/model/Group.d.mts +79 -0
  192. package/model/Group.mjs +71 -0
  193. package/model/GroupDeletionReport.d.mts +17 -0
  194. package/model/GroupDeletionReport.mjs +5 -0
  195. package/model/GroupScoped.d.mts +10 -0
  196. package/model/GroupScoped.mjs +10 -0
  197. package/model/HealthElement.d.mts +355 -0
  198. package/model/HealthElement.mjs +272 -0
  199. package/model/HealthcareParty.d.mts +168 -0
  200. package/model/HealthcareParty.mjs +164 -0
  201. package/model/IdWithRev.d.mts +14 -0
  202. package/model/IdWithRev.mjs +10 -0
  203. package/model/IndexingInfo.d.mts +10 -0
  204. package/model/IndexingInfo.mjs +10 -0
  205. package/model/Insurance.d.mts +51 -0
  206. package/model/Insurance.mjs +43 -0
  207. package/model/Invoice.d.mts +705 -0
  208. package/model/Invoice.mjs +502 -0
  209. package/model/ListOfProperties.d.mts +9 -0
  210. package/model/ListOfProperties.mjs +9 -0
  211. package/model/MaintenanceTask.d.mts +202 -0
  212. package/model/MaintenanceTask.mjs +170 -0
  213. package/model/Message.d.mts +321 -0
  214. package/model/Message.mjs +246 -0
  215. package/model/PaginatedDocumentKeyIdPair.d.mts +14 -0
  216. package/model/PaginatedDocumentKeyIdPair.mjs +14 -0
  217. package/model/PaginatedList.d.mts +17 -0
  218. package/model/PaginatedList.mjs +17 -0
  219. package/model/Patient.d.mts +715 -0
  220. package/model/Patient.mjs +546 -0
  221. package/model/Place.d.mts +25 -0
  222. package/model/Place.mjs +21 -0
  223. package/model/PropertyStub.d.mts +59 -0
  224. package/model/PropertyStub.mjs +42 -0
  225. package/model/PropertyTypeStub.d.mts +14 -0
  226. package/model/PropertyTypeStub.mjs +14 -0
  227. package/model/PublicAgendasAndCalendarItemTypes.d.mts +15 -1
  228. package/model/PublicAgendasAndCalendarItemTypes.mjs +22 -4
  229. package/model/PublicKey.d.mts +13 -0
  230. package/model/PublicKey.mjs +13 -0
  231. package/model/Receipt.d.mts +195 -0
  232. package/model/Receipt.mjs +162 -0
  233. package/model/RegistrationInformation.d.mts +41 -0
  234. package/model/RegistrationInformation.mjs +37 -0
  235. package/model/RegistrationSuccess.d.mts +18 -0
  236. package/model/RegistrationSuccess.mjs +6 -0
  237. package/model/Replication.d.mts +30 -0
  238. package/model/Replication.mjs +26 -0
  239. package/model/ReplicationInfo.d.mts +21 -0
  240. package/model/ReplicationInfo.mjs +21 -0
  241. package/model/Role.d.mts +33 -0
  242. package/model/Role.mjs +29 -0
  243. package/model/StoredDocumentIdentifier.d.mts +4 -0
  244. package/model/StoredDocumentIdentifier.mjs +4 -0
  245. package/model/Topic.d.mts +213 -0
  246. package/model/Topic.mjs +174 -0
  247. package/model/TopicRole.d.mts +5 -0
  248. package/model/TopicRole.mjs +5 -0
  249. package/model/User.d.mts +96 -0
  250. package/model/User.mjs +92 -0
  251. package/model/UserGroup.d.mts +54 -0
  252. package/model/UserGroup.mjs +54 -0
  253. package/model/base/CodeIdentification.d.mts +6 -0
  254. package/model/base/CodeStub.d.mts +31 -0
  255. package/model/base/CodeStub.mjs +31 -0
  256. package/model/base/CryptoActor.d.mts +7 -0
  257. package/model/base/DataOwner.d.mts +7 -0
  258. package/model/base/HasCodes.d.mts +6 -0
  259. package/model/base/HasEncryptionMetadata.d.mts +7 -0
  260. package/model/base/HasEndOfLife.d.mts +5 -0
  261. package/model/base/HasTags.d.mts +7 -0
  262. package/model/base/ICureDocument.d.mts +7 -0
  263. package/model/base/Identifiable.d.mts +5 -0
  264. package/model/base/Identifier.d.mts +43 -0
  265. package/model/base/Identifier.mjs +43 -0
  266. package/model/base/LinkQualification.d.mts +31 -0
  267. package/model/base/LinkQualification.mjs +31 -0
  268. package/model/base/Named.d.mts +5 -0
  269. package/model/base/ParticipantType.d.mts +7 -0
  270. package/model/base/ParticipantType.mjs +7 -0
  271. package/model/base/Person.d.mts +5 -0
  272. package/model/base/StoredDocument.d.mts +6 -0
  273. package/model/base/Versionable.d.mts +6 -0
  274. package/model/couchdb/Basic.d.mts +14 -0
  275. package/model/couchdb/Basic.mjs +6 -0
  276. package/model/couchdb/DatabaseInfo.d.mts +46 -0
  277. package/model/couchdb/DatabaseInfo.mjs +42 -0
  278. package/model/couchdb/DesignDocument.d.mts +43 -0
  279. package/model/couchdb/DesignDocument.mjs +39 -0
  280. package/model/couchdb/DocIdentifier.d.mts +13 -0
  281. package/model/couchdb/DocIdentifier.mjs +13 -0
  282. package/model/couchdb/GroupDatabasesInfo.d.mts +19 -0
  283. package/model/couchdb/GroupDatabasesInfo.mjs +7 -0
  284. package/model/couchdb/Remote.d.mts +14 -0
  285. package/model/couchdb/Remote.mjs +10 -0
  286. package/model/couchdb/RemoteAuthentication.d.mts +9 -0
  287. package/model/couchdb/RemoteAuthentication.mjs +9 -0
  288. package/model/couchdb/ReplicationStats.d.mts +41 -0
  289. package/model/couchdb/ReplicationStats.mjs +41 -0
  290. package/model/couchdb/ReplicatorDocument.d.mts +62 -0
  291. package/model/couchdb/ReplicatorDocument.mjs +58 -0
  292. package/model/couchdb/View.d.mts +13 -0
  293. package/model/couchdb/View.mjs +9 -0
  294. package/model/data/LabelledOccurence.d.mts +14 -0
  295. package/model/data/LabelledOccurence.mjs +6 -0
  296. package/model/embed/AccessLevel.d.mts +6 -0
  297. package/model/embed/AccessLevel.mjs +6 -0
  298. package/model/embed/AddressType.d.mts +5 -0
  299. package/model/embed/AddressType.mjs +5 -0
  300. package/model/embed/AdministrationQuantity.d.mts +18 -0
  301. package/model/embed/AdministrationQuantity.mjs +18 -0
  302. package/model/embed/AgendaSlottingAlgorithm.d.mts +13 -0
  303. package/model/embed/AgendaSlottingAlgorithm.mjs +13 -0
  304. package/model/embed/Annotation.d.mts +48 -0
  305. package/model/embed/Annotation.mjs +44 -0
  306. package/model/embed/AuthenticationClass.d.mts +6 -0
  307. package/model/embed/AuthenticationClass.mjs +6 -0
  308. package/model/embed/CalendarItemTag.d.mts +71 -0
  309. package/model/embed/CalendarItemTag.mjs +50 -0
  310. package/model/embed/CareTeamMember.d.mts +70 -0
  311. package/model/embed/CareTeamMember.mjs +44 -0
  312. package/model/embed/CareTeamMemberType.d.mts +5 -0
  313. package/model/embed/CareTeamMemberType.mjs +5 -0
  314. package/model/embed/CareTeamMembership.d.mts +74 -0
  315. package/model/embed/CareTeamMembership.mjs +52 -0
  316. package/model/embed/ContactParticipant.d.mts +13 -0
  317. package/model/embed/ContactParticipant.mjs +5 -0
  318. package/model/embed/Content.d.mts +177 -0
  319. package/model/embed/Content.mjs +118 -0
  320. package/model/embed/ContractChangeType.d.mts +5 -0
  321. package/model/embed/ContractChangeType.mjs +5 -0
  322. package/model/embed/DataAttachment.d.mts +18 -0
  323. package/model/embed/DataAttachment.mjs +18 -0
  324. package/model/embed/DatabaseSynchronization.d.mts +22 -0
  325. package/model/embed/DatabaseSynchronization.mjs +22 -0
  326. package/model/embed/DelegationTag.d.mts +6 -0
  327. package/model/embed/DelegationTag.mjs +6 -0
  328. package/model/embed/DeletedAttachment.d.mts +23 -0
  329. package/model/embed/DeletedAttachment.mjs +23 -0
  330. package/model/embed/DocumentGroup.d.mts +13 -0
  331. package/model/embed/DocumentGroup.mjs +13 -0
  332. package/model/embed/DocumentStatus.d.mts +6 -0
  333. package/model/embed/DocumentStatus.mjs +6 -0
  334. package/model/embed/DocumentType.d.mts +5 -0
  335. package/model/embed/DocumentType.mjs +5 -0
  336. package/model/embed/Duration.d.mts +13 -0
  337. package/model/embed/Duration.mjs +13 -0
  338. package/model/embed/EmbeddedTimeTableHour.d.mts +13 -0
  339. package/model/embed/EmbeddedTimeTableHour.mjs +5 -0
  340. package/model/embed/EmbeddedTimeTableItem.d.mts +42 -0
  341. package/model/embed/EmbeddedTimeTableItem.mjs +30 -0
  342. package/model/embed/Encryptable.d.mts +7 -0
  343. package/model/embed/Episode.d.mts +78 -0
  344. package/model/embed/Episode.mjs +52 -0
  345. package/model/embed/FinancialInstitutionInformation.d.mts +110 -0
  346. package/model/embed/FinancialInstitutionInformation.mjs +76 -0
  347. package/model/embed/FrontEndMigrationStatus.d.mts +5 -0
  348. package/model/embed/FrontEndMigrationStatus.mjs +5 -0
  349. package/model/embed/Gender.d.mts +6 -0
  350. package/model/embed/Gender.mjs +6 -0
  351. package/model/embed/GroupType.d.mts +5 -0
  352. package/model/embed/GroupType.mjs +5 -0
  353. package/model/embed/IdentityDocumentReader.d.mts +30 -0
  354. package/model/embed/IdentityDocumentReader.mjs +30 -0
  355. package/model/embed/InvoiceType.d.mts +5 -0
  356. package/model/embed/InvoiceType.mjs +5 -0
  357. package/model/embed/InvoicingCode.d.mts +689 -0
  358. package/model/embed/InvoicingCode.mjs +454 -0
  359. package/model/embed/Laterality.d.mts +5 -0
  360. package/model/embed/Laterality.mjs +5 -0
  361. package/model/embed/Measure.d.mts +54 -0
  362. package/model/embed/Measure.mjs +54 -0
  363. package/model/embed/MedicalHouseContract.d.mts +413 -0
  364. package/model/embed/MedicalHouseContract.mjs +278 -0
  365. package/model/embed/Medication.d.mts +5 -0
  366. package/model/embed/Medication.mjs +5 -0
  367. package/model/embed/Medicinalproduct.d.mts +25 -0
  368. package/model/embed/Medicinalproduct.mjs +25 -0
  369. package/model/embed/MediumType.d.mts +5 -0
  370. package/model/embed/MediumType.mjs +5 -0
  371. package/model/embed/MembershipType.d.mts +5 -0
  372. package/model/embed/MembershipType.mjs +5 -0
  373. package/model/embed/MessageReadStatus.d.mts +14 -0
  374. package/model/embed/MessageReadStatus.mjs +14 -0
  375. package/model/embed/MhcSignatureType.d.mts +6 -0
  376. package/model/embed/MhcSignatureType.mjs +6 -0
  377. package/model/embed/Partnership.d.mts +18 -0
  378. package/model/embed/Partnership.mjs +18 -0
  379. package/model/embed/PartnershipStatus.d.mts +5 -0
  380. package/model/embed/PartnershipStatus.mjs +5 -0
  381. package/model/embed/PartnershipType.d.mts +6 -0
  382. package/model/embed/PartnershipType.mjs +6 -0
  383. package/model/embed/PatientHealthCareParty.d.mts +15 -0
  384. package/model/embed/PatientHealthCareParty.mjs +10 -0
  385. package/model/embed/PatientHealthCarePartyType.d.mts +5 -0
  386. package/model/embed/PatientHealthCarePartyType.mjs +5 -0
  387. package/model/embed/Payment.d.mts +17 -0
  388. package/model/embed/Payment.mjs +17 -0
  389. package/model/embed/PaymentType.d.mts +5 -0
  390. package/model/embed/PaymentType.mjs +5 -0
  391. package/model/embed/PersonName.d.mts +39 -0
  392. package/model/embed/PersonName.mjs +39 -0
  393. package/model/embed/PersonNameUse.d.mts +5 -0
  394. package/model/embed/PersonNameUse.mjs +5 -0
  395. package/model/embed/PersonalStatus.d.mts +5 -0
  396. package/model/embed/PersonalStatus.mjs +5 -0
  397. package/model/embed/Range.d.mts +13 -0
  398. package/model/embed/Range.mjs +13 -0
  399. package/model/embed/ReferenceRange.d.mts +34 -0
  400. package/model/embed/ReferenceRange.mjs +34 -0
  401. package/model/embed/ReferralPeriod.d.mts +17 -0
  402. package/model/embed/ReferralPeriod.mjs +17 -0
  403. package/model/embed/RegimenItem.d.mts +32 -0
  404. package/model/embed/RegimenItem.mjs +32 -0
  405. package/model/embed/Renewal.d.mts +14 -0
  406. package/model/embed/Renewal.mjs +14 -0
  407. package/model/embed/ResourceGroupAllocationSchedule.d.mts +34 -0
  408. package/model/embed/ResourceGroupAllocationSchedule.mjs +34 -0
  409. package/model/embed/RoleConfiguration.d.mts +14 -0
  410. package/model/embed/RoleConfiguration.mjs +10 -0
  411. package/model/embed/SecureDelegation.d.mts +41 -0
  412. package/model/embed/SecureDelegation.mjs +37 -0
  413. package/model/embed/SecurityMetadata.d.mts +11 -0
  414. package/model/embed/SecurityMetadata.mjs +6 -0
  415. package/model/embed/Substanceproduct.d.mts +25 -0
  416. package/model/embed/Substanceproduct.mjs +25 -0
  417. package/model/embed/SuspensionReason.d.mts +5 -0
  418. package/model/embed/SuspensionReason.mjs +5 -0
  419. package/model/embed/TaskStatus.d.mts +5 -0
  420. package/model/embed/TaskStatus.mjs +5 -0
  421. package/model/embed/TelecomType.d.mts +6 -0
  422. package/model/embed/TelecomType.mjs +6 -0
  423. package/model/embed/TimeSeries.d.mts +34 -0
  424. package/model/embed/TimeSeries.mjs +34 -0
  425. package/model/embed/TypedValue.d.mts +101 -0
  426. package/model/embed/TypedValue.mjs +70 -0
  427. package/model/embed/TypedValuesType.d.mts +5 -0
  428. package/model/embed/TypedValuesType.mjs +5 -0
  429. package/model/embed/UserAccessLevel.d.mts +11 -0
  430. package/model/embed/UserAccessLevel.mjs +11 -0
  431. package/model/embed/UserType.d.mts +5 -0
  432. package/model/embed/UserType.mjs +5 -0
  433. package/model/embed/ValueWithPrecision.d.mts +13 -0
  434. package/model/embed/ValueWithPrecision.mjs +5 -0
  435. package/model/embed/Weekday.d.mts +13 -0
  436. package/model/embed/Weekday.mjs +13 -0
  437. package/model/embed/form/template/Action.d.mts +18 -0
  438. package/model/embed/form/template/Action.mjs +18 -0
  439. package/model/embed/form/template/CheckBox.d.mts +5 -0
  440. package/model/embed/form/template/CheckBox.mjs +5 -0
  441. package/model/embed/form/template/DatePicker.d.mts +5 -0
  442. package/model/embed/form/template/DatePicker.mjs +5 -0
  443. package/model/embed/form/template/DateTimePicker.d.mts +5 -0
  444. package/model/embed/form/template/DateTimePicker.mjs +5 -0
  445. package/model/embed/form/template/DropdownField.d.mts +5 -0
  446. package/model/embed/form/template/DropdownField.mjs +5 -0
  447. package/model/embed/form/template/Field.d.mts +9 -0
  448. package/model/embed/form/template/FieldsGroup.d.mts +14 -0
  449. package/model/embed/form/template/FieldsGroup.mjs +10 -0
  450. package/model/embed/form/template/FormTemplateLayout.d.mts +26 -0
  451. package/model/embed/form/template/FormTemplateLayout.mjs +22 -0
  452. package/model/embed/form/template/Launcher.d.mts +18 -0
  453. package/model/embed/form/template/Launcher.mjs +10 -0
  454. package/model/embed/form/template/MeasureField.d.mts +5 -0
  455. package/model/embed/form/template/MeasureField.mjs +5 -0
  456. package/model/embed/form/template/MultipleChoice.d.mts +5 -0
  457. package/model/embed/form/template/MultipleChoice.mjs +5 -0
  458. package/model/embed/form/template/NumberField.d.mts +5 -0
  459. package/model/embed/form/template/NumberField.mjs +5 -0
  460. package/model/embed/form/template/RadioButton.d.mts +5 -0
  461. package/model/embed/form/template/RadioButton.mjs +5 -0
  462. package/model/embed/form/template/Section.d.mts +22 -0
  463. package/model/embed/form/template/Section.mjs +14 -0
  464. package/model/embed/form/template/State.d.mts +17 -0
  465. package/model/embed/form/template/State.mjs +9 -0
  466. package/model/embed/form/template/StateToUpdate.d.mts +5 -0
  467. package/model/embed/form/template/StateToUpdate.mjs +5 -0
  468. package/model/embed/form/template/StructureElement.d.mts +6 -0
  469. package/model/embed/form/template/TextField.d.mts +73 -0
  470. package/model/embed/form/template/TextField.mjs +69 -0
  471. package/model/embed/form/template/TimePicker.d.mts +5 -0
  472. package/model/embed/form/template/TimePicker.mjs +5 -0
  473. package/model/embed/form/template/Trigger.d.mts +5 -0
  474. package/model/embed/form/template/Trigger.mjs +5 -0
  475. package/model/enums/UsersStatus.d.mts +5 -0
  476. package/model/enums/UsersStatus.mjs +5 -0
  477. package/model/filter/predicate/AlwaysPredicate.d.mts +5 -0
  478. package/model/filter/predicate/AlwaysPredicate.mjs +5 -0
  479. package/model/filter/predicate/AndPredicate.d.mts +9 -0
  480. package/model/filter/predicate/AndPredicate.mjs +9 -0
  481. package/model/filter/predicate/KeyValuePredicate.d.mts +17 -0
  482. package/model/filter/predicate/KeyValuePredicate.mjs +17 -0
  483. package/model/filter/predicate/NotPredicate.d.mts +9 -0
  484. package/model/filter/predicate/NotPredicate.mjs +5 -0
  485. package/model/filter/predicate/Operator.d.mts +5 -0
  486. package/model/filter/predicate/Operator.mjs +5 -0
  487. package/model/filter/predicate/OrPredicate.d.mts +9 -0
  488. package/model/filter/predicate/OrPredicate.mjs +9 -0
  489. package/model/filter/predicate/Predicate.d.mts +6 -0
  490. package/model/requests/RequestedPermission.d.mts +5 -0
  491. package/model/requests/RequestedPermission.mjs +5 -0
  492. package/model/security/AlwaysPermissionItem.d.mts +10 -0
  493. package/model/security/AlwaysPermissionItem.mjs +6 -0
  494. package/model/security/AuthenticationToken.d.mts +23 -0
  495. package/model/security/AuthenticationToken.mjs +15 -0
  496. package/model/security/Enable2faRequest.d.mts +13 -0
  497. package/model/security/Enable2faRequest.mjs +5 -0
  498. package/model/security/ExternalJwtConfig.d.mts +110 -0
  499. package/model/security/ExternalJwtConfig.mjs +59 -0
  500. package/model/security/LoginIdentifier.d.mts +14 -0
  501. package/model/security/LoginIdentifier.mjs +6 -0
  502. package/model/security/Operation.d.mts +5 -0
  503. package/model/security/Operation.mjs +5 -0
  504. package/model/security/OperationToken.d.mts +27 -0
  505. package/model/security/OperationToken.mjs +11 -0
  506. package/model/security/Permission.d.mts +14 -0
  507. package/model/security/Permission.mjs +14 -0
  508. package/model/security/PermissionItem.d.mts +7 -0
  509. package/model/security/PermissionType.d.mts +6 -0
  510. package/model/security/PermissionType.mjs +6 -0
  511. package/model/security/TokenWithGroup.d.mts +17 -0
  512. package/model/security/TokenWithGroup.mjs +9 -0
  513. package/model/specializations/AesExchangeKeyEncryptionKeypairIdentifier.d.mts +7 -0
  514. package/options/AuthenticationMethod.d.mts +24 -10
  515. package/options/AuthenticationMethod.mjs +12 -10
  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
@@ -17,6 +17,19 @@ export interface MessageApi {
17
17
  encrypted: MessageFlavouredApi<EncryptedMessage>;
18
18
  tryAndRecover: MessageFlavouredApi<Message>;
19
19
  inGroup: MessageInGroupApi;
20
+ /**
21
+ *
22
+ * Creates a new Message with initialized encryption metadata
23
+ * @param base a message with initialized content and uninitialized encryption metadata. The result of this
24
+ * method takes the content from [base] if provided.
25
+ * @param patient the patient linked to the Message.
26
+ * @param user the current user, will be used for the auto-delegations if provided.
27
+ * @param delegates additional data owners that will have access to the newly created entity. You may choose the
28
+ * permissions that the delegates will have on the entity, but they will have access to all encryption metadata.
29
+ * @param secretId specifies which secret id of [patient] to use for the new Message
30
+ * @return a message with initialized encryption metadata.
31
+ * @throws IllegalArgumentException if base is not null and has a revision or has encryption metadata.
32
+ */
20
33
  withEncryptionMetadata(base: DecryptedMessage | undefined, patient: Patient | undefined, options?: {
21
34
  user?: User | undefined;
22
35
  delegates?: {
@@ -25,46 +38,388 @@ export interface MessageApi {
25
38
  secretId?: SecretIdUseOption;
26
39
  alternateRootDelegateId?: string | undefined;
27
40
  }): Promise<DecryptedMessage>;
41
+ /**
42
+ *
43
+ * Attempts to extract the encryption keys of a message. If the user does not have access to any encryption key
44
+ * of the access log the method will return an empty set.
45
+ * Note: entities now have only one encryption key, but this method returns a set for compatibility with older
46
+ * versions of iCure where this was not a guarantee.
47
+ * @param message a message
48
+ * @return the encryption keys extracted from the provided Message.
49
+ */
28
50
  getEncryptionKeysOf(message: Message): Promise<Array<HexString>>;
51
+ /**
52
+ *
53
+ * Specifies if the current user has write access to a message through delegations.
54
+ * Doesn't consider actual permissions on the server side: for example, if the data owner has access to all entities
55
+ * thanks to extended permission but has no delegation on the provided entity this method returns false. Similarly,
56
+ * if the SDK was initialized in hierarchical mode but the user is lacking the hierarchical permission on the server
57
+ * side this method will still return true if there is a delegation to the parent.
58
+ * @param message a message
59
+ * @return if the current user has write access to the provided Message
60
+ */
29
61
  hasWriteAccess(message: Message): Promise<boolean>;
62
+ /**
63
+ *
64
+ * Attempts to extract the patient id linked to a message.
65
+ * Note: messages usually should be linked with only one patient, but this method returns a set for compatibility
66
+ * with older versions of iCure
67
+ * @param message a message
68
+ * @return the id of the patient linked to the Message, or empty if the current user can't access any patient id
69
+ * of the Message.
70
+ */
30
71
  decryptPatientIdOf(message: Message): Promise<Array<EntityReferenceInGroup>>;
72
+ /**
73
+ *
74
+ * Create metadata to allow other users to identify the anonymous delegates of a message.
75
+ *
76
+ * When calling this method the SDK will use all the information available to the current user to try to identify
77
+ * any anonymous data-owners in the delegations of the provided Message. The SDK will be able to identify the
78
+ * anonymous data owners of the delegations only under the following conditions:
79
+ * - The other participant of the delegation is the current data owner
80
+ * - The SDK is using hierarchical data owners and the other participant of the delegation is a parent of the
81
+ * current data owner
82
+ * - There is de-anonymization metadata for the delegation shared with the current data owner.
83
+ *
84
+ * After identifying the anonymous delegates in the Message the sdk will create the corresponding de-anonymization
85
+ * metadata if it does not yet exist, and then share it with the provided delegates.
86
+ *
87
+ * Note that this delegation metadata may be used to de-anonymize the corresponding delegation in any Message,
88
+ * not only in the provided instance.
89
+ *
90
+ * ## Example
91
+ *
92
+ * If you have a message E, and you have shared it with patient P and healthcare party H, H will not
93
+ * be able to know that P has access to E until you create delegations de anonymization metadata and share that with
94
+ * H. From now on, for any Message that you have shared with P, H will be able to know that the Message was
95
+ * shared with P, regardless of whether it was created before or after the corresponding de-anonymization metadata.
96
+ *
97
+ * At the same time since the de-anonymization metadata applies to a specific delegation and therefore to a specific
98
+ * delegator-delegate pair, you will not be able to see if P has access to a message that was created by H and
99
+ * shared with you and P unless also H creates delegations de-anonymization metadata.
100
+ *
101
+ * @param entity a message
102
+ * @param delegates a set of data owner ids
103
+ */
31
104
  createDelegationDeAnonymizationMetadata(entity: Message, delegates: Array<string>): Promise<void>;
105
+ /**
106
+ *
107
+ * Decrypts a message, throwing an exception if it is not possible.
108
+ * @param message a message
109
+ * @return the decrypted Message
110
+ * @throws EntityEncryptionException if the Message could not be decrypted
111
+ */
32
112
  decrypt(message: EncryptedMessage): Promise<DecryptedMessage>;
113
+ /**
114
+ *
115
+ * Tries to decrypt a message, returns the input if it is not possible.
116
+ * @param message an encrypted Message
117
+ * @return the decrypted Message if the decryption was successful or the input if it was not.
118
+ */
33
119
  tryDecrypt(message: EncryptedMessage): Promise<Message>;
120
+ /**
121
+ *
122
+ * Encrypts provided decrypted Messages, and validates already encrypted Messages.
123
+ * @param messages Messages to encrypt and/or validate
124
+ * @return the encrypted and validates Messages
125
+ * @throws EntityEncryptionException if any of the provided decrypted Messages couldn't be encrypted (the current
126
+ * user can't access its encryption key or no key was initialized) or if the already encrypted Messages don't
127
+ * respect the manifest.
128
+ */
34
129
  encryptOrValidate(messages: Array<Message>): Promise<Array<EncryptedMessage>>;
130
+ /**
131
+ *
132
+ * Get all the secret ids that the current data owner can access from the provided message.
133
+ * @param message a message
134
+ * @return a map where the keys are the secret ids of the patient and the value is a set of references
135
+ * ([EntityReferenceInGroup]) to the data owners that the current user knows have access to that secret id.
136
+ */
35
137
  getSecretIdsOf(message: Message): Promise<{
36
138
  [key: string]: Array<EntityReferenceInGroup>;
37
139
  }>;
140
+ /**
141
+ *
142
+ * Get the ids of all messages matching the provided filter.
143
+ *
144
+ * This method does not guarantee that the returned data will be ordered when using sortable filter options.
145
+ * Even if the data obtained from an invocation of the method appears to be ordered, any changes to the stored data,
146
+ * or to the internal iCure implementations, may cause future invocations to return unordered data.
147
+ * If you need ordered data use [matchMessagesBySorted] instead.
148
+ *
149
+ * @param filter a message filter
150
+ * @return a list of message ids
151
+ */
38
152
  matchMessagesBy(filter: FilterOptions<Message>): Promise<Array<string>>;
153
+ /**
154
+ *
155
+ * Get the ids of all messages matching the provided filter.
156
+ *
157
+ * This method guarantees that the returned data will be ordered using the rules specified by the provided filter,
158
+ * but the operation may take longer than [matchMessagesBy].
159
+ *
160
+ * @param filter a message filter
161
+ * @return a list of message ids
162
+ */
39
163
  matchMessagesBySorted(filter: SortableFilterOptions<Message>): Promise<Array<string>>;
164
+ /**
165
+ *
166
+ * Deletes a message. If you don't have write access to the message the method will fail.
167
+ * @param entityId id of the message.
168
+ * @param rev the latest known rev of the message to delete
169
+ * @return the id and revision of the deleted message.
170
+ * @throws RevisionConflictException if the provided revision doesn't match the latest known revision
171
+ */
40
172
  deleteMessageById(entityId: string, rev: string): Promise<StoredDocumentIdentifier>;
173
+ /**
174
+ *
175
+ * Deletes many messages. Ids that do not correspond to an entity, or that correspond to an entity for which
176
+ * you don't have write access will be ignored.
177
+ * @param entityIds ids and revisions of the messages to delete.
178
+ * @return the id and revision of the deleted messages. If some entities could not be deleted (for example
179
+ * because you had no write access to them) they will not be included in this list.
180
+ */
41
181
  deleteMessagesByIds(entityIds: Array<StoredDocumentIdentifier>): Promise<Array<StoredDocumentIdentifier>>;
182
+ /**
183
+ *
184
+ * Permanently deletes a message.
185
+ * @param id id of the message to purge
186
+ * @param rev latest revision of the message
187
+ * @throws RevisionConflictException if the provided revision doesn't match the latest known revision
188
+ */
42
189
  purgeMessageById(id: string, rev: string): Promise<void>;
190
+ /**
191
+ *
192
+ * Permanently deletes many messages.
193
+ * @param entityIds ids and revisions of the messages to delete
194
+ * @return the id and revision of the deleted messages. If some entities couldn't be deleted (for example
195
+ * because you had no write access to them) they will not be included in this list.
196
+ */
43
197
  purgeMessagesByIds(entityIds: Array<StoredDocumentIdentifier>): Promise<Array<StoredDocumentIdentifier>>;
198
+ /**
199
+ *
200
+ * Deletes a message. If you don't have write access to the message the method will fail.
201
+ * @param message the message to delete
202
+ * @return the id and revision of the deleted message.
203
+ * @throws RevisionConflictException if the provided message doesn't match the latest known revision
204
+ */
44
205
  deleteMessage(message: Message): Promise<StoredDocumentIdentifier>;
206
+ /**
207
+ *
208
+ * Deletes many messages. Ignores message for which you don't have write access or that don't match the latest revision.
209
+ * @param messages the messages to delete
210
+ * @return the id and revision of the deleted messages. If some entities couldn't be deleted they will not be
211
+ * included in this list.
212
+ */
45
213
  deleteMessages(messages: Array<Message>): Promise<Array<StoredDocumentIdentifier>>;
214
+ /**
215
+ *
216
+ * Permanently deletes a message.
217
+ * @param message the message to purge.
218
+ * @throws RevisionConflictException if the provided message doesn't match the latest known revision
219
+ */
46
220
  purgeMessage(message: Message): Promise<void>;
221
+ /**
222
+ *
223
+ * Permanently deletes many messages.
224
+ * @param messages the messages to purge.
225
+ * @return the id and revision of the deleted messages. If some entities couldn't be deleted (for example
226
+ * because you had no write access to them) they will not be included in this list.
227
+ */
47
228
  purgeMessages(messages: Array<Message>): Promise<Array<StoredDocumentIdentifier>>;
229
+ /**
230
+ *
231
+ * Share a message with another data owner. The Message must already exist in the database for this method to
232
+ * succeed. If you want to share the Message before creation you should instead pass provide the delegates in
233
+ * the initialize encryption metadata method.
234
+ * Note: this method only updates the security metadata. If the input entity has unsaved changes they may be lost.
235
+ * @param delegateId the owner that will gain access to the Message
236
+ * @param message the Message to share with [delegateId]
237
+ * @param options specifies how the Message will be shared. Refer to the documentation of [MessageShareOptions] for
238
+ * more information.
239
+ * @return the updated Message if the sharing was successful, or details on the errors if the sharing failed.
240
+ */
48
241
  shareWith(delegateId: string, message: DecryptedMessage, options?: {
49
242
  options?: MessageShareOptions | undefined;
50
243
  }): Promise<DecryptedMessage>;
244
+ /**
245
+ *
246
+ * Share a message with multiple data owners. The Message must already exist in the database for this method to
247
+ * succeed. If you want to share the Message before creation you should instead pass provide the delegates in
248
+ * the initialize encryption metadata method.
249
+ * Note: this method only updates the security metadata. If the input entity has unsaved changes they may be lost.
250
+ * Throws an exception if the operation fails.
251
+ * @param message the Message to share
252
+ * @param delegates specify the data owners which will gain access to the entity and the options for sharing with
253
+ * each of them.
254
+ * @return the updated Message.
255
+ */
51
256
  shareWithMany(message: DecryptedMessage, delegates: {
52
257
  [key: string]: MessageShareOptions;
53
258
  }): Promise<DecryptedMessage>;
259
+ /**
260
+ *
261
+ * Get an iterator that iterates through all messages matching the provided filter, executing multiple requests to
262
+ * the api if needed.
263
+ *
264
+ * This method does not guarantee that the returned data will be ordered when using sortable filter options.
265
+ * Even if the data obtained from an invocation of the method appears to be ordered, any changes to the stored data,
266
+ * or to the internal iCure implementations, may cause future invocations to return unordered data.
267
+ * If you need ordered data use [filterMessagesBySorted] instead.
268
+ *
269
+ * @param filter a message filter
270
+ * @return an iterator that iterates over all messages matching the provided filter.
271
+ */
54
272
  filterMessagesBy(filter: FilterOptions<Message>): Promise<PaginatedListIterator<DecryptedMessage>>;
273
+ /**
274
+ *
275
+ * Get an iterator that iterates through all messages matching the provided filter, executing multiple requests to
276
+ * the api if needed.
277
+ *
278
+ * This method guarantees that the returned data will be ordered using the rules specified by the provided filter,
279
+ * but the operation may take longer than [filterMessagesBy].
280
+ *
281
+ * @param filter a message filter
282
+ * @return an iterator that iterates over all messages matching the provided filter.
283
+ */
55
284
  filterMessagesBySorted(filter: SortableFilterOptions<Message>): Promise<PaginatedListIterator<DecryptedMessage>>;
285
+ /**
286
+ *
287
+ * Create a new Message. The provided Message must have the encryption metadata initialized. This method requires
288
+ * the permission to create messages outside of topics. If you want to create a message within a topic use the
289
+ * [createMessageInTopic] method instead.
290
+ * @param entity a message with initialized encryption metadata
291
+ * @return the created Message with updated revision.
292
+ * @throws IllegalArgumentException if the encryption metadata of the input was not initialized.
293
+ */
56
294
  createMessage(entity: DecryptedMessage): Promise<DecryptedMessage>;
295
+ /**
296
+ *
297
+ * Create multiple messages. All the provided messages must have the encryption metadata initialized, otherwise
298
+ * this method fails without doing anything. This method requires the permission to create messages outside of topics.
299
+ * @param entities messages with initialized encryption metadata
300
+ * @return the created messages with updated revision.
301
+ * @throws IllegalArgumentException if the encryption metadata of any message in the input was not initialized.
302
+ */
57
303
  createMessages(entities: Array<DecryptedMessage>): Promise<Array<DecryptedMessage>>;
304
+ /**
305
+ *
306
+ * Create a new Message. The provided Message must have the encryption metadata initialized, and the id of the topic
307
+ * set in [Message.transportGuid] (note that your configuration must not encrypt the transport guid). The user needs
308
+ * to be a participant in that topic for this method to succeed.
309
+ * @param entity a message with initialized encryption metadata and with a transportGuid set to the topic
310
+ * @return the created Message with updated revision.
311
+ * @throws IllegalArgumentException if the encryption metadata of the input was not initialized.
312
+ */
58
313
  createMessageInTopic(entity: DecryptedMessage): Promise<DecryptedMessage>;
314
+ /**
315
+ *
316
+ * Restores a message that was marked as deleted.
317
+ * @param id the id of the entity
318
+ * @param rev the latest revision of the entity.
319
+ * @return the restored entity.
320
+ * @throws RevisionConflictException if the provided revision doesn't match the latest known revision
321
+ */
59
322
  undeleteMessageById(id: string, rev: string): Promise<DecryptedMessage>;
323
+ /**
324
+ *
325
+ * Restores a batch of messages that were marked as deleted.
326
+ * @param entityIds the ids and the revisions of the messages to restore.
327
+ * @return the restored messages. If some entities couldn't be restored (because the user does not have access or the revision is not
328
+ * up-to-date), then those entities will not be restored and will not appear in this list.
329
+ */
60
330
  undeleteMessagesByIds(entityIds: Array<StoredDocumentIdentifier>): Promise<Array<DecryptedMessage>>;
331
+ /**
332
+ *
333
+ * Restores a message that was marked as deleted.
334
+ * @param message the message to undelete
335
+ * @return the restored message.
336
+ * @throws RevisionConflictException if the provided message doesn't match the latest known revision
337
+ */
61
338
  undeleteMessage(message: Message): Promise<DecryptedMessage>;
339
+ /**
340
+ *
341
+ * Restores a batch of messages that were marked as deleted.
342
+ * @param messages the messages to restore.
343
+ * @return the restored messages. If some entities couldn't be restored (because the user does not have access or the revision is not
344
+ * up-to-date), then those entities will not be restored and will not appear in this list.
345
+ */
62
346
  undeleteMessages(messages: Array<Message>): Promise<Array<DecryptedMessage>>;
347
+ /**
348
+ *
349
+ * Modifies a message. You need to have write access to the entity.
350
+ * Flavoured method.
351
+ * @param entity a message with update content
352
+ * @return the Message updated with the provided content and a new revision.
353
+ */
63
354
  modifyMessage(entity: DecryptedMessage): Promise<DecryptedMessage>;
355
+ /**
356
+ *
357
+ * Modifies multiple messages. Ignores all messages for which you don't have write access.
358
+ * Flavoured method.
359
+ * @param entities messages with update content
360
+ * @return the updated messages with a new revision.
361
+ */
64
362
  modifyMessages(entities: Array<DecryptedMessage>): Promise<Array<DecryptedMessage>>;
363
+ /**
364
+ *
365
+ * Get a message by its id. You must have read access to the entity. Fails if the id does not correspond to any
366
+ * entity, corresponds to an entity that is not a message, or corresponds to an entity for which you don't have
367
+ * read access.
368
+ * Flavoured method.
369
+ * @param entityId a message id.
370
+ * @return the Message with id [entityId].
371
+ */
65
372
  getMessage(entityId: string): Promise<DecryptedMessage | undefined>;
373
+ /**
374
+ *
375
+ * Get multiple messages by their ids. Ignores all ids that do not correspond to an entity, correspond to
376
+ * an entity that is not a message, or correspond to an entity for which you don't have read access.
377
+ * Flavoured method.
378
+ * @param entityIds a list of messages ids
379
+ * @return all messages that you can access with one of the provided ids.
380
+ */
66
381
  getMessages(entityIds: Array<string>): Promise<Array<DecryptedMessage>>;
382
+ /**
383
+ *
384
+ * Updates the [Message.readStatus] of messages with the provided ids. You can use this method even if you don't
385
+ * have write permissions on the message, but you still need read permissions.
386
+ *
387
+ * Depending on the permissions of the current user the method may have some restrictions:
388
+ * - If the user does not have the permission `MessageManagement.ReadStatusUpdate.UnrestrictedUser` then the [userId]
389
+ * must be either null or the current user id.
390
+ * - If the user does not have the permission `MessageManagement.ReadStatusUpdate.UnrestrictedTime` then [time] must
391
+ * be null (will be set automatically by the server)
392
+ * If one of these two restrictions is not respected the method will fail.
393
+ *
394
+ * Additionally, unless the user has the `MessageManagement.ReadStatusUpdate.UnrestrictedEntryOverride`, the status
395
+ * update request will only succeed in the following condition:
396
+ * - If the [readStatus] is false there must no entry in the [Message.readStatus] for [userId] (the message goes from
397
+ * undelivered to delivered but unread)
398
+ * - If the [readStatus] is true there must either be no entry in [Message.readStatus] for [userId] (the message goes
399
+ * from undelivered to read), or there is an entry with [MessageReadStatus.read] set to false (the message goes from
400
+ * delivered to read).
401
+ * If for a specific message these conditions are not satisfied (and the user does not have the
402
+ * `MessageManagement.ReadStatusUpdate.UnrestrictedEntryOverride` permission), or if the user does not have read
403
+ * access to that method that message will be ignored and will not be included in the result. Other messages will
404
+ * still be updated if they satisfy these condition.
405
+ *
406
+ * @param entityIds the ids of the messages to update
407
+ * @param time the unix timestamp of when the message was read
408
+ * @param readStatus true if the message was read, false if it was just received.
409
+ * @param userId the id of the user for which the status should be updated. Null will be considered as the current
410
+ * user id.
411
+ * @return the updated messages.
412
+ */
67
413
  setMessagesReadStatus(entityIds: Array<string>, time: number | undefined, readStatus: boolean, userId: string | undefined): Promise<Array<DecryptedMessage>>;
414
+ /**
415
+ *
416
+ * Subscribe to receive real-time notifications when an entity is updated.
417
+ * @param events the type of events that will be notified to the subscription
418
+ * @param filter the subscription will receive notifications only for entities matching this filter, you should
419
+ * make the filter as restrictive as possible.
420
+ * @param subscriptionConfig customize the configuration for the subscription
421
+ * @return a subscription that receives notifications for the configured events.
422
+ */
68
423
  subscribeToEvents(events: Array<SubscriptionEventType>, filter: FilterOptions<Message>, options?: {
69
424
  subscriptionConfig?: EntitySubscriptionConfiguration | undefined;
70
425
  }): Promise<EntitySubscription<EncryptedMessage>>;
@@ -7,30 +7,259 @@ import { SubscriptionEventType } from '../subscription/SubscriptionEventType.mjs
7
7
  import { MessageBasicInGroupApi } from './MessageBasicInGroupApi.mjs';
8
8
  export interface MessageBasicApi {
9
9
  inGroup: MessageBasicInGroupApi;
10
+ /**
11
+ *
12
+ * Get the ids of all messages matching the provided filter.
13
+ *
14
+ * This method does not guarantee that the returned data will be ordered when using sortable filter options.
15
+ * Even if the data obtained from an invocation of the method appears to be ordered, any changes to the stored data,
16
+ * or to the internal iCure implementations, may cause future invocations to return unordered data.
17
+ * If you need ordered data use [matchMessagesBySorted] instead.
18
+ *
19
+ * @param filter a message filter
20
+ * @return a list of message ids
21
+ */
10
22
  matchMessagesBy(filter: BaseFilterOptions<Message>): Promise<Array<string>>;
23
+ /**
24
+ *
25
+ * Get the ids of all messages matching the provided filter.
26
+ *
27
+ * This method guarantees that the returned data will be ordered using the rules specified by the provided filter,
28
+ * but the operation may take longer than [matchMessagesBy].
29
+ *
30
+ * @param filter a message filter
31
+ * @return a list of message ids
32
+ */
11
33
  matchMessagesBySorted(filter: BaseSortableFilterOptions<Message>): Promise<Array<string>>;
34
+ /**
35
+ *
36
+ * Get an iterator that iterates through all messages matching the provided filter, executing multiple requests to
37
+ * the api if needed.
38
+ *
39
+ * This method does not guarantee that the returned data will be ordered when using sortable filter options.
40
+ * Even if the data obtained from an invocation of the method appears to be ordered, any changes to the stored data,
41
+ * or to the internal iCure implementations, may cause future invocations to return unordered data.
42
+ * If you need ordered data use [filterMessagesBySorted] instead.
43
+ *
44
+ * @param filter a message filter
45
+ * @return an iterator that iterates over all messages matching the provided filter.
46
+ */
12
47
  filterMessagesBy(filter: BaseFilterOptions<Message>): Promise<PaginatedListIterator<EncryptedMessage>>;
48
+ /**
49
+ *
50
+ * Get an iterator that iterates through all messages matching the provided filter, executing multiple requests to
51
+ * the api if needed.
52
+ *
53
+ * This method guarantees that the returned data will be ordered using the rules specified by the provided filter,
54
+ * but the operation may take longer than [filterMessagesBy].
55
+ *
56
+ * @param filter a message filter
57
+ * @return an iterator that iterates over all messages matching the provided filter.
58
+ */
13
59
  filterMessagesBySorted(filter: BaseSortableFilterOptions<Message>): Promise<PaginatedListIterator<EncryptedMessage>>;
60
+ /**
61
+ *
62
+ * Deletes a message. If you don't have write access to the message the method will fail.
63
+ * @param entityId id of the message.
64
+ * @param rev the latest known rev of the message to delete
65
+ * @return the id and revision of the deleted message.
66
+ * @throws RevisionConflictException if the provided revision doesn't match the latest known revision
67
+ */
14
68
  deleteMessageById(entityId: string, rev: string): Promise<StoredDocumentIdentifier>;
69
+ /**
70
+ *
71
+ * Deletes many messages. Ids that do not correspond to an entity, or that correspond to an entity for which
72
+ * you don't have write access will be ignored.
73
+ * @param entityIds ids and revisions of the messages to delete.
74
+ * @return the id and revision of the deleted messages. If some entities could not be deleted (for example
75
+ * because you had no write access to them) they will not be included in this list.
76
+ */
15
77
  deleteMessagesByIds(entityIds: Array<StoredDocumentIdentifier>): Promise<Array<StoredDocumentIdentifier>>;
78
+ /**
79
+ *
80
+ * Permanently deletes a message.
81
+ * @param id id of the message to purge
82
+ * @param rev latest revision of the message
83
+ * @throws RevisionConflictException if the provided revision doesn't match the latest known revision
84
+ */
16
85
  purgeMessageById(id: string, rev: string): Promise<void>;
86
+ /**
87
+ *
88
+ * Permanently deletes many messages.
89
+ * @param entityIds ids and revisions of the messages to delete
90
+ * @return the id and revision of the deleted messages. If some entities couldn't be deleted (for example
91
+ * because you had no write access to them) they will not be included in this list.
92
+ */
17
93
  purgeMessagesByIds(entityIds: Array<StoredDocumentIdentifier>): Promise<Array<StoredDocumentIdentifier>>;
94
+ /**
95
+ *
96
+ * Deletes a message. If you don't have write access to the message the method will fail.
97
+ * @param message the message to delete
98
+ * @return the id and revision of the deleted message.
99
+ * @throws RevisionConflictException if the provided message doesn't match the latest known revision
100
+ */
18
101
  deleteMessage(message: Message): Promise<StoredDocumentIdentifier>;
102
+ /**
103
+ *
104
+ * Deletes many messages. Ignores message for which you don't have write access or that don't match the latest revision.
105
+ * @param messages the messages to delete
106
+ * @return the id and revision of the deleted messages. If some entities couldn't be deleted they will not be
107
+ * included in this list.
108
+ */
19
109
  deleteMessages(messages: Array<Message>): Promise<Array<StoredDocumentIdentifier>>;
110
+ /**
111
+ *
112
+ * Permanently deletes a message.
113
+ * @param message the message to purge.
114
+ * @throws RevisionConflictException if the provided message doesn't match the latest known revision
115
+ */
20
116
  purgeMessage(message: Message): Promise<void>;
117
+ /**
118
+ *
119
+ * Permanently deletes many messages.
120
+ * @param messages the messages to purge.
121
+ * @return the id and revision of the deleted messages. If some entities couldn't be deleted (for example
122
+ * because you had no write access to them) they will not be included in this list.
123
+ */
21
124
  purgeMessages(messages: Array<Message>): Promise<Array<StoredDocumentIdentifier>>;
125
+ /**
126
+ *
127
+ * Create a new Message. The provided Message must have the encryption metadata initialized. This method requires
128
+ * the permission to create messages outside of topics. If you want to create a message within a topic use the
129
+ * [createMessageInTopic] method instead.
130
+ * @param entity a message with initialized encryption metadata
131
+ * @return the created Message with updated revision.
132
+ * @throws IllegalArgumentException if the encryption metadata of the input was not initialized.
133
+ */
22
134
  createMessage(entity: EncryptedMessage): Promise<EncryptedMessage>;
135
+ /**
136
+ *
137
+ * Create multiple messages. All the provided messages must have the encryption metadata initialized, otherwise
138
+ * this method fails without doing anything. This method requires the permission to create messages outside of topics.
139
+ * @param entities messages with initialized encryption metadata
140
+ * @return the created messages with updated revision.
141
+ * @throws IllegalArgumentException if the encryption metadata of any message in the input was not initialized.
142
+ */
23
143
  createMessages(entities: Array<EncryptedMessage>): Promise<Array<EncryptedMessage>>;
144
+ /**
145
+ *
146
+ * Create a new Message. The provided Message must have the encryption metadata initialized, and the id of the topic
147
+ * set in [Message.transportGuid] (note that your configuration must not encrypt the transport guid). The user needs
148
+ * to be a participant in that topic for this method to succeed.
149
+ * @param entity a message with initialized encryption metadata and with a transportGuid set to the topic
150
+ * @return the created Message with updated revision.
151
+ * @throws IllegalArgumentException if the encryption metadata of the input was not initialized.
152
+ */
24
153
  createMessageInTopic(entity: EncryptedMessage): Promise<EncryptedMessage>;
154
+ /**
155
+ *
156
+ * Restores a message that was marked as deleted.
157
+ * @param id the id of the entity
158
+ * @param rev the latest revision of the entity.
159
+ * @return the restored entity.
160
+ * @throws RevisionConflictException if the provided revision doesn't match the latest known revision
161
+ */
25
162
  undeleteMessageById(id: string, rev: string): Promise<EncryptedMessage>;
163
+ /**
164
+ *
165
+ * Restores a batch of messages that were marked as deleted.
166
+ * @param entityIds the ids and the revisions of the messages to restore.
167
+ * @return the restored messages. If some entities couldn't be restored (because the user does not have access or the revision is not
168
+ * up-to-date), then those entities will not be restored and will not appear in this list.
169
+ */
26
170
  undeleteMessagesByIds(entityIds: Array<StoredDocumentIdentifier>): Promise<Array<EncryptedMessage>>;
171
+ /**
172
+ *
173
+ * Restores a message that was marked as deleted.
174
+ * @param message the message to undelete
175
+ * @return the restored message.
176
+ * @throws RevisionConflictException if the provided message doesn't match the latest known revision
177
+ */
27
178
  undeleteMessage(message: Message): Promise<EncryptedMessage>;
179
+ /**
180
+ *
181
+ * Restores a batch of messages that were marked as deleted.
182
+ * @param messages the messages to restore.
183
+ * @return the restored messages. If some entities couldn't be restored (because the user does not have access or the revision is not
184
+ * up-to-date), then those entities will not be restored and will not appear in this list.
185
+ */
28
186
  undeleteMessages(messages: Array<Message>): Promise<Array<EncryptedMessage>>;
187
+ /**
188
+ *
189
+ * Modifies a message. You need to have write access to the entity.
190
+ * Flavoured method.
191
+ * @param entity a message with update content
192
+ * @return the Message updated with the provided content and a new revision.
193
+ */
29
194
  modifyMessage(entity: EncryptedMessage): Promise<EncryptedMessage>;
195
+ /**
196
+ *
197
+ * Modifies multiple messages. Ignores all messages for which you don't have write access.
198
+ * Flavoured method.
199
+ * @param entities messages with update content
200
+ * @return the updated messages with a new revision.
201
+ */
30
202
  modifyMessages(entities: Array<EncryptedMessage>): Promise<Array<EncryptedMessage>>;
203
+ /**
204
+ *
205
+ * Get a message by its id. You must have read access to the entity. Fails if the id does not correspond to any
206
+ * entity, corresponds to an entity that is not a message, or corresponds to an entity for which you don't have
207
+ * read access.
208
+ * Flavoured method.
209
+ * @param entityId a message id.
210
+ * @return the Message with id [entityId].
211
+ */
31
212
  getMessage(entityId: string): Promise<EncryptedMessage | undefined>;
213
+ /**
214
+ *
215
+ * Get multiple messages by their ids. Ignores all ids that do not correspond to an entity, correspond to
216
+ * an entity that is not a message, or correspond to an entity for which you don't have read access.
217
+ * Flavoured method.
218
+ * @param entityIds a list of messages ids
219
+ * @return all messages that you can access with one of the provided ids.
220
+ */
32
221
  getMessages(entityIds: Array<string>): Promise<Array<EncryptedMessage>>;
222
+ /**
223
+ *
224
+ * Updates the [Message.readStatus] of messages with the provided ids. You can use this method even if you don't
225
+ * have write permissions on the message, but you still need read permissions.
226
+ *
227
+ * Depending on the permissions of the current user the method may have some restrictions:
228
+ * - If the user does not have the permission `MessageManagement.ReadStatusUpdate.UnrestrictedUser` then the [userId]
229
+ * must be either null or the current user id.
230
+ * - If the user does not have the permission `MessageManagement.ReadStatusUpdate.UnrestrictedTime` then [time] must
231
+ * be null (will be set automatically by the server)
232
+ * If one of these two restrictions is not respected the method will fail.
233
+ *
234
+ * Additionally, unless the user has the `MessageManagement.ReadStatusUpdate.UnrestrictedEntryOverride`, the status
235
+ * update request will only succeed in the following condition:
236
+ * - If the [readStatus] is false there must no entry in the [Message.readStatus] for [userId] (the message goes from
237
+ * undelivered to delivered but unread)
238
+ * - If the [readStatus] is true there must either be no entry in [Message.readStatus] for [userId] (the message goes
239
+ * from undelivered to read), or there is an entry with [MessageReadStatus.read] set to false (the message goes from
240
+ * delivered to read).
241
+ * If for a specific message these conditions are not satisfied (and the user does not have the
242
+ * `MessageManagement.ReadStatusUpdate.UnrestrictedEntryOverride` permission), or if the user does not have read
243
+ * access to that method that message will be ignored and will not be included in the result. Other messages will
244
+ * still be updated if they satisfy these condition.
245
+ *
246
+ * @param entityIds the ids of the messages to update
247
+ * @param time the unix timestamp of when the message was read
248
+ * @param readStatus true if the message was read, false if it was just received.
249
+ * @param userId the id of the user for which the status should be updated. Null will be considered as the current
250
+ * user id.
251
+ * @return the updated messages.
252
+ */
33
253
  setMessagesReadStatus(entityIds: Array<string>, time: number | undefined, readStatus: boolean, userId: string | undefined): Promise<Array<EncryptedMessage>>;
254
+ /**
255
+ *
256
+ * Subscribe to receive real-time notifications when an entity is updated.
257
+ * @param events the type of events that will be notified to the subscription
258
+ * @param filter the subscription will receive notifications only for entities matching this filter, you should
259
+ * make the filter as restrictive as possible.
260
+ * @param subscriptionConfig customize the configuration for the subscription
261
+ * @return a subscription that receives notifications for the configured events.
262
+ */
34
263
  subscribeToEvents(events: Array<SubscriptionEventType>, filter: BaseFilterOptions<Message>, options?: {
35
264
  subscriptionConfig?: EntitySubscriptionConfiguration | undefined;
36
265
  }): Promise<EntitySubscription<EncryptedMessage>>;