@icure/cardinal-sdk 2.1.1 → 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 (518) 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 +39268 -39198
  93. package/cardinal-sdk.mjs +71238 -70553
  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/kotlinx-coroutines-core.mjs +1 -1
  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/package.json +1 -1
  515. package/subscription/EntitySubscriptionConfiguration.d.mts +24 -0
  516. package/subscription/EntitySubscriptionConfiguration.mjs +24 -0
  517. package/subscription/EntitySubscriptionEvent.d.mts +21 -0
  518. package/subscription/EntitySubscriptionEvent.mjs +9 -0
@@ -2,10 +2,31 @@ import { ShamirUpdateRequest } from '../crypto/entities/ShamirUpdateRequest.mjs'
2
2
  import { CryptoActorStubWithType } from '../model/CryptoActorStubWithType.mjs';
3
3
  import { CryptoActor } from '../model/base/CryptoActor.mjs';
4
4
  import { KeypairFingerprintV1String } from '../model/specializations/KeypairFingerprintV1String.mjs';
5
+ /**
6
+ *
7
+ * Allows to create or update shamir split keys.
8
+ */
5
9
  export interface ShamirKeysManagerApi {
10
+ /**
11
+ *
12
+ * Get information on existing private keys splits for the provided data owner. For each private key of the provided data owner which has been
13
+ * split using the Shamir sharing algorithm gives the list of the notaries (other data owners) which hold a copy of the key part.
14
+ * @param dataOwner a data owner
15
+ * @return the existing splits for the current data owner as a publicKeyFingerprint -> notariesIds object
16
+ */
6
17
  getExistingSplitsInfo(dataOwner: CryptoActor): {
7
18
  [key: string]: Array<string>;
8
19
  };
20
+ /**
21
+ *
22
+ * Creates, updates or deletes shamir splits for keys of the current data owner. Any request to update the splits for a specific key will completely
23
+ * replace any existing data on that split (all previous notaries will be ignored).
24
+ * Note: currently you can only split the legacy key pair.
25
+ * @param keySplitsToUpdate the fingerprints of key pairs which will have updated/new splits and the details on how to create the updated splits.
26
+ * @param keySplitsToDelete the fingerprints or hex-encoded spki public keys which will not be shared anymore.
27
+ * @throws IllegalArgumentException if the parameters refer to non-existing or unavailable keys, have split creation details, or if they request
28
+ * to delete a non-existing split.
29
+ */
9
30
  updateSelfSplits(keySplitsToUpdate: {
10
31
  [key: string]: ShamirUpdateRequest;
11
32
  }, keySplitsToDelete: Array<KeypairFingerprintV1String>): Promise<CryptoActorStubWithType>;
@@ -18,6 +18,19 @@ export interface TopicApi {
18
18
  encrypted: TopicFlavouredApi<EncryptedTopic>;
19
19
  tryAndRecover: TopicFlavouredApi<Topic>;
20
20
  inGroup: TopicInGroupApi;
21
+ /**
22
+ *
23
+ * Creates a new topic with initialized encryption metadata
24
+ * @param base a topic with initialized content and uninitialized encryption metadata. The result of this
25
+ * method takes the content from [base] if provided.
26
+ * @param patient the patient linked to the topic.
27
+ * @param user the current user, will be used for the auto-delegations if provided.
28
+ * @param delegates additional data owners that will have access to the newly created entity. You may choose the
29
+ * permissions that the delegates will have on the entity, but they will have access to all encryption metadata.
30
+ * @param secretId specifies which secret id of [patient] to use for the new topic
31
+ * @return a topic with initialized encryption metadata.
32
+ * @throws IllegalArgumentException if base is not null and has a revision or has encryption metadata.
33
+ */
21
34
  withEncryptionMetadata(base: DecryptedTopic | undefined, patient: Patient | undefined, options?: {
22
35
  user?: User | undefined;
23
36
  delegates?: {
@@ -26,42 +39,346 @@ export interface TopicApi {
26
39
  secretId?: SecretIdUseOption;
27
40
  alternateRootDelegateId?: string | undefined;
28
41
  }): Promise<DecryptedTopic>;
42
+ /**
43
+ *
44
+ * Attempts to extract the encryption keys of a topic. If the user does not have access to any encryption key
45
+ * of the access log the method will return an empty set.
46
+ * Note: entities now have only one encryption key, but this method returns a set for compatibility with older
47
+ * versions of iCure where this was not a guarantee.
48
+ * @param topic a topic
49
+ * @return the encryption keys extracted from the provided topic.
50
+ */
29
51
  getEncryptionKeysOf(topic: Topic): Promise<Array<HexString>>;
52
+ /**
53
+ *
54
+ * Specifies if the current user has write access to a topic through delegations.
55
+ * Doesn't consider actual permissions on the server side: for example, if the data owner has access to all entities
56
+ * thanks to extended permission but has no delegation on the provided entity this method returns false. Similarly,
57
+ * if the SDK was initialized in hierarchical mode but the user is lacking the hierarchical permission on the server
58
+ * side this method will still return true if there is a delegation to the parent.
59
+ * @param topic a topic
60
+ * @return if the current user has write access to the provided topic
61
+ */
30
62
  hasWriteAccess(topic: Topic): Promise<boolean>;
63
+ /**
64
+ *
65
+ * Attempts to extract the patient id linked to a topic.
66
+ * Note: topics usually should be linked with only one patient, but this method returns a set for compatibility
67
+ * with older versions of iCure
68
+ * @param topic a topic
69
+ * @return the id of the patient linked to the topic, or empty if the current user can't access any patient id
70
+ * of the topic.
71
+ */
31
72
  decryptPatientIdOf(topic: Topic): Promise<Array<EntityReferenceInGroup>>;
73
+ /**
74
+ *
75
+ * Create metadata to allow other users to identify the anonymous delegates of a topic.
76
+ *
77
+ * When calling this method the SDK will use all the information available to the current user to try to identify
78
+ * any anonymous data-owners in the delegations of the provided topic. The SDK will be able to identify the
79
+ * anonymous data owners of the delegations only under the following conditions:
80
+ * - The other participant of the delegation is the current data owner
81
+ * - The SDK is using hierarchical data owners and the other participant of the delegation is a parent of the
82
+ * current data owner
83
+ * - There is de-anonymization metadata for the delegation shared with the current data owner.
84
+ *
85
+ * After identifying the anonymous delegates in the topic the sdk will create the corresponding de-anonymization
86
+ * metadata if it does not yet exist, and then share it with the provided delegates.
87
+ *
88
+ * Note that this delegation metadata may be used to de-anonymize the corresponding delegation in any Topic,
89
+ * not only in the provided instance.
90
+ *
91
+ * ## Example
92
+ *
93
+ * If you have a topic E, and you have shared it with patient P and healthcare party H, H will not
94
+ * be able to know that P has access to E until you create delegations de anonymization metadata and share that with
95
+ * H. From now on, for any topic that you have shared with P, H will be able to know that the topic was
96
+ * shared with P, regardless of whether it was created before or after the corresponding de-anonymization metadata.
97
+ *
98
+ * At the same time since the de-anonymization metadata applies to a specific delegation and therefore to a specific
99
+ * delegator-delegate pair, you will not be able to see if P has access to a topic that was created by H and
100
+ * shared with you and P unless also H creates delegations de-anonymization metadata.
101
+ *
102
+ * @param entity a topic
103
+ * @param delegates a set of data owner ids
104
+ */
32
105
  createDelegationDeAnonymizationMetadata(entity: Topic, delegates: Array<string>): Promise<void>;
106
+ /**
107
+ *
108
+ * Decrypts a topic, throwing an exception if it is not possible.
109
+ * @param topic a topic
110
+ * @return the decrypted topic
111
+ * @throws EntityEncryptionException if the topic could not be decrypted
112
+ */
33
113
  decrypt(topic: EncryptedTopic): Promise<DecryptedTopic>;
114
+ /**
115
+ *
116
+ * Tries to decrypt a topic, returns the input if it is not possible.
117
+ * @param topic an encrypted topic
118
+ * @return the decrypted topic if the decryption was successful or the input if it was not.
119
+ */
34
120
  tryDecrypt(topic: EncryptedTopic): Promise<Topic>;
121
+ /**
122
+ *
123
+ * Get the ids of all topics matching the provided filter.
124
+ *
125
+ * This method does not guarantee that the returned data will be ordered when using sortable filter options.
126
+ * Even if the data obtained from an invocation of the method appears to be ordered, any changes to the stored data,
127
+ * or to the internal iCure implementations, may cause future invocations to return unordered data.
128
+ * If you need ordered data use [matchTopicsBySorted] instead.
129
+ *
130
+ * @param filter a topic filter
131
+ * @return a list of topic ids
132
+ */
35
133
  matchTopicsBy(filter: FilterOptions<Topic>): Promise<Array<string>>;
134
+ /**
135
+ *
136
+ * Get the ids of all topics matching the provided filter.
137
+ *
138
+ * This method guarantees that the returned data will be ordered using the rules specified by the provided filter,
139
+ * but the operation may take longer than [matchTopicsBy].
140
+ *
141
+ * @param filter a topic filter
142
+ * @return a list of topic ids
143
+ */
36
144
  matchTopicsBySorted(filter: SortableFilterOptions<Topic>): Promise<Array<string>>;
145
+ /**
146
+ *
147
+ * Deletes a topic. If you don't have write access to the topic the method will fail.
148
+ * @param entityId id of the topic.
149
+ * @param rev the latest known rev of the topic to delete
150
+ * @return the id and revision of the deleted topic.
151
+ * @throws RevisionConflictException if the provided revision doesn't match the latest known revision
152
+ */
37
153
  deleteTopicById(entityId: string, rev: string): Promise<StoredDocumentIdentifier>;
154
+ /**
155
+ *
156
+ * Deletes many topics. Ids that do not correspond to an entity, or that correspond to an entity for which
157
+ * you don't have write access will be ignored.
158
+ * @param entityIds ids and revisions of the topics to delete.
159
+ * @return the id and revision of the deleted topics. If some entities could not be deleted (for example
160
+ * because you had no write access to them) they will not be included in this list.
161
+ */
38
162
  deleteTopicsByIds(entityIds: Array<StoredDocumentIdentifier>): Promise<Array<StoredDocumentIdentifier>>;
163
+ /**
164
+ *
165
+ * Permanently deletes a topic.
166
+ * @param id id of the topic to purge
167
+ * @param rev latest revision of the topic
168
+ * @throws RevisionConflictException if the provided revision doesn't match the latest known revision
169
+ */
39
170
  purgeTopicById(id: string, rev: string): Promise<void>;
171
+ /**
172
+ *
173
+ * Permanently deletes many topics.
174
+ * @param entityIds ids and revisions of the topics to delete
175
+ * @return the id and revision of the deleted topics. If some entities couldn't be deleted (for example
176
+ * because you had no write access to them) they will not be included in this list.
177
+ */
40
178
  purgeTopicsByIds(entityIds: Array<StoredDocumentIdentifier>): Promise<Array<StoredDocumentIdentifier>>;
179
+ /**
180
+ *
181
+ * Deletes a topic. If you don't have write access to the topic the method will fail.
182
+ * @param topic the topic to delete
183
+ * @return the id and revision of the deleted topic.
184
+ * @throws RevisionConflictException if the provided topic doesn't match the latest known revision
185
+ */
41
186
  deleteTopic(topic: Topic): Promise<StoredDocumentIdentifier>;
187
+ /**
188
+ *
189
+ * Deletes many topics. Ignores topic for which you don't have write access or that don't match the latest revision.
190
+ * @param topics the topics to delete
191
+ * @return the id and revision of the deleted topics. If some entities couldn't be deleted they will not be
192
+ * included in this list.
193
+ */
42
194
  deleteTopics(topics: Array<Topic>): Promise<Array<StoredDocumentIdentifier>>;
195
+ /**
196
+ *
197
+ * Permanently deletes a topic.
198
+ * @param topic the topic to purge.
199
+ * @throws RevisionConflictException if the provided topic doesn't match the latest known revision
200
+ */
43
201
  purgeTopic(topic: Topic): Promise<void>;
202
+ /**
203
+ *
204
+ * Permanently deletes many topics.
205
+ * @param topics the topics to purge.
206
+ * @return the id and revision of the deleted topics. If some entities couldn't be deleted (for example
207
+ * because you had no write access to them) they will not be included in this list.
208
+ */
44
209
  purgeTopics(topics: Array<Topic>): Promise<Array<StoredDocumentIdentifier>>;
210
+ /**
211
+ *
212
+ * Share a topic with another data owner. The topic must already exist in the database for this method to
213
+ * succeed. If you want to share the topic before creation you should instead pass provide the delegates in
214
+ * the initialize encryption metadata method.
215
+ * Note: this method only updates the security metadata. If the input entity has unsaved changes they may be lost.
216
+ * @param delegateId the owner that will gain access to the topic
217
+ * @param topic the topic to share with [delegateId]
218
+ * @param options specifies how the topic will be shared. By default, all data available to the current user
219
+ * will be shared, and the delegate will have the same permissions as the current user on the topic. Refer
220
+ * to the documentation of [TopicShareOptions] for more information.
221
+ * @return the updated topic if the sharing was successful, or details on the errors if the sharing failed.
222
+ */
45
223
  shareWith(delegateId: string, topic: DecryptedTopic, options?: {
46
224
  options?: TopicShareOptions | undefined;
47
225
  }): Promise<DecryptedTopic>;
226
+ /**
227
+ *
228
+ * Share a topic with multiple data owners. The topic must already exist in the database for this method to
229
+ * succeed. If you want to share the topic before creation you should instead pass provide the delegates in
230
+ * the initialize encryption metadata method.
231
+ * Note: this method only updates the security metadata. If the input entity has unsaved changes they may be lost.
232
+ * Throws an exception if the operation fails.
233
+ * @param topic the topic to share
234
+ * @param delegates specify the data owners which will gain access to the entity and the options for sharing with
235
+ * each of them.
236
+ * @return the updated topic.
237
+ */
48
238
  shareWithMany(topic: DecryptedTopic, delegates: {
49
239
  [key: string]: TopicShareOptions;
50
240
  }): Promise<DecryptedTopic>;
241
+ /**
242
+ *
243
+ * Get an iterator that iterates through all topics matching the provided filter, executing multiple requests to
244
+ * the api if needed.
245
+ *
246
+ * This method does not guarantee that the returned data will be ordered when using sortable filter options.
247
+ * Even if the data obtained from an invocation of the method appears to be ordered, any changes to the stored data,
248
+ * or to the internal iCure implementations, may cause future invocations to return unordered data.
249
+ * If you need ordered data use [filterTopicsBySorted] instead.
250
+ *
251
+ * @param filter a topic filter
252
+ * @return an iterator that iterates over all topics matching the provided filter.
253
+ */
51
254
  filterTopicsBy(filter: FilterOptions<Topic>): Promise<PaginatedListIterator<DecryptedTopic>>;
255
+ /**
256
+ *
257
+ * Get an iterator that iterates through all topics matching the provided filter, executing multiple requests to
258
+ * the api if needed.
259
+ *
260
+ * This method guarantees that the returned data will be ordered using the rules specified by the provided filter,
261
+ * but the operation may take longer than [filterTopicsBy].
262
+ *
263
+ * @param filter a topic filter
264
+ * @return an iterator that iterates over all topics matching the provided filter.
265
+ */
52
266
  filterTopicsBySorted(filter: SortableFilterOptions<Topic>): Promise<PaginatedListIterator<DecryptedTopic>>;
267
+ /**
268
+ *
269
+ * Create a new topic. The provided topic must have the encryption metadata initialized.
270
+ * @param entity a topic with initialized encryption metadata
271
+ * @return the created topic with updated revision.
272
+ * @throws IllegalArgumentException if the encryption metadata of the input was not initialized.
273
+ */
53
274
  createTopic(entity: DecryptedTopic): Promise<DecryptedTopic>;
275
+ /**
276
+ *
277
+ * Create multiple topics. All the provided topics must have the encryption metadata initialized, otherwise
278
+ * this method fails without doing anything.
279
+ * @param entities topics with initialized encryption metadata
280
+ * @return the created topics with updated revision.
281
+ * @throws IllegalArgumentException if the encryption metadata of any topic in the input was not initialized.
282
+ */
54
283
  createTopics(entities: Array<DecryptedTopic>): Promise<Array<DecryptedTopic>>;
284
+ /**
285
+ *
286
+ * Restores a topic that was marked as deleted.
287
+ * @param id the id of the entity
288
+ * @param rev the latest revision of the entity.
289
+ * @return the restored entity.
290
+ * @throws RevisionConflictException if the provided revision doesn't match the latest known revision
291
+ */
55
292
  undeleteTopicById(id: string, rev: string): Promise<DecryptedTopic>;
293
+ /**
294
+ *
295
+ * Restores a batch of topics that were marked as deleted.
296
+ * @param entityIds the ids and the revisions of the topics to restore.
297
+ * @return the restored topics. If some entities couldn't be restored (because the user does not have access or the revision is not
298
+ * up-to-date), then those entities will not be restored and will not appear in this list.
299
+ */
56
300
  undeleteTopicsByIds(entityIds: Array<StoredDocumentIdentifier>): Promise<Array<DecryptedTopic>>;
301
+ /**
302
+ *
303
+ * Restores a topic that was marked as deleted.
304
+ * @param topic the topic to undelete
305
+ * @return the restored topic.
306
+ * @throws RevisionConflictException if the provided topic doesn't match the latest known revision
307
+ */
57
308
  undeleteTopic(topic: Topic): Promise<DecryptedTopic>;
309
+ /**
310
+ *
311
+ * Restores a batch of topics that were marked as deleted.
312
+ * @param topics the topics to restore.
313
+ * @return the restored topics. If some entities couldn't be restored (because the user does not have access or the revision is not
314
+ * up-to-date), then those entities will not be restored and will not appear in this list.
315
+ */
58
316
  undeleteTopics(topics: Array<Topic>): Promise<Array<DecryptedTopic>>;
317
+ /**
318
+ *
319
+ * Modifies a topic. You need to have write access to the entity.
320
+ * Flavoured method.
321
+ * @param entity a topic with update content
322
+ * @return the topic updated with the provided content and a new revision.
323
+ */
59
324
  modifyTopic(entity: DecryptedTopic): Promise<DecryptedTopic>;
325
+ /**
326
+ *
327
+ * Modifies multiple topics. Ignores all topics for which you don't have write access.
328
+ * Flavoured method.
329
+ * @param entities topics with update content
330
+ * @return the updated topics with a new revision.
331
+ */
60
332
  modifyTopics(entities: Array<DecryptedTopic>): Promise<Array<DecryptedTopic>>;
333
+ /**
334
+ *
335
+ * Get a topic by its id. You must have read access to the entity. Fails if the id does not correspond to any
336
+ * entity, corresponds to an entity that is not a topic, or corresponds to an entity for which you don't have
337
+ * read access.
338
+ * Flavoured method.
339
+ * @param entityId a topic id.
340
+ * @return the topic with id [entityId].
341
+ */
61
342
  getTopic(entityId: string): Promise<DecryptedTopic | undefined>;
343
+ /**
344
+ *
345
+ * Get multiple topics by their ids. Ignores all ids that do not correspond to an entity, correspond to
346
+ * an entity that is not a topic, or correspond to an entity for which you don't have read access.
347
+ * Flavoured method.
348
+ * @param entityIds a list of topics ids
349
+ * @return all topics that you can access with one of the provided ids.
350
+ */
62
351
  getTopics(entityIds: Array<string>): Promise<Array<DecryptedTopic>>;
352
+ /**
353
+ *
354
+ * Add a participant to the topic. The participant will be able to create messages associated to the topic.
355
+ * Any user with a [TopicRole.Admin] on the can use this method, even if they don't have direct write access
356
+ * to it through delegations.
357
+ * @param entityId id of the topic
358
+ * @param dataOwnerId id of the new participant
359
+ * @param topicRole the role that the participant will have in the topic
360
+ * @return the updated topic
361
+ */
63
362
  addParticipant(entityId: string, dataOwnerId: string, topicRole: TopicRole): Promise<DecryptedTopic>;
363
+ /**
364
+ *
365
+ * Removes a participant from a topic. The participant will not be able anymore to search for messages of that topic.
366
+ * Any user with a [TopicRole.Admin] on the can use this method, even if they don't have direct write access
367
+ * to it through delegations.
368
+ * @param entityId id of the topic
369
+ * @param dataOwnerId id of the participant to remove
370
+ * @return the updated topic
371
+ */
64
372
  removeParticipant(entityId: string, dataOwnerId: string): Promise<DecryptedTopic>;
373
+ /**
374
+ *
375
+ * Subscribe to receive real-time notifications when an entity is updated.
376
+ * @param events the type of events that will be notified to the subscription
377
+ * @param filter the subscription will receive notifications only for entities matching this filter, you should
378
+ * make the filter as restrictive as possible.
379
+ * @param subscriptionConfig customize the configuration for the subscription
380
+ * @return a subscription that receives notifications for the configured events.
381
+ */
65
382
  subscribeToEvents(events: Array<SubscriptionEventType>, filter: FilterOptions<Topic>, options?: {
66
383
  subscriptionConfig?: EntitySubscriptionConfiguration | undefined;
67
384
  }): Promise<EntitySubscription<EncryptedTopic>>;
@@ -8,30 +8,236 @@ import { SubscriptionEventType } from '../subscription/SubscriptionEventType.mjs
8
8
  import { TopicBasicInGroupApi } from './TopicBasicInGroupApi.mjs';
9
9
  export interface TopicBasicApi {
10
10
  inGroup: TopicBasicInGroupApi;
11
+ /**
12
+ *
13
+ * Get the ids of all topics matching the provided filter.
14
+ *
15
+ * This method does not guarantee that the returned data will be ordered when using sortable filter options.
16
+ * Even if the data obtained from an invocation of the method appears to be ordered, any changes to the stored data,
17
+ * or to the internal iCure implementations, may cause future invocations to return unordered data.
18
+ * If you need ordered data use [matchTopicsBySorted] instead.
19
+ *
20
+ * @param filter a topic filter
21
+ * @return a list of topic ids
22
+ */
11
23
  matchTopicsBy(filter: BaseFilterOptions<Topic>): Promise<Array<string>>;
24
+ /**
25
+ *
26
+ * Get the ids of all topics matching the provided filter.
27
+ *
28
+ * This method guarantees that the returned data will be ordered using the rules specified by the provided filter,
29
+ * but the operation may take longer than [matchTopicsBy].
30
+ *
31
+ * @param filter a topic filter
32
+ * @return a list of topic ids
33
+ */
12
34
  matchTopicsBySorted(filter: BaseSortableFilterOptions<Topic>): Promise<Array<string>>;
35
+ /**
36
+ *
37
+ * Get an iterator that iterates through all topics matching the provided filter, executing multiple requests to
38
+ * the api if needed.
39
+ *
40
+ * This method does not guarantee that the returned data will be ordered when using sortable filter options.
41
+ * Even if the data obtained from an invocation of the method appears to be ordered, any changes to the stored data,
42
+ * or to the internal iCure implementations, may cause future invocations to return unordered data.
43
+ * If you need ordered data use [filterTopicsBySorted] instead.
44
+ *
45
+ * @param filter a topic filter
46
+ * @return an iterator that iterates over all topics matching the provided filter.
47
+ */
13
48
  filterTopicsBy(filter: BaseFilterOptions<Topic>): Promise<PaginatedListIterator<EncryptedTopic>>;
49
+ /**
50
+ *
51
+ * Get an iterator that iterates through all topics matching the provided filter, executing multiple requests to
52
+ * the api if needed.
53
+ *
54
+ * This method guarantees that the returned data will be ordered using the rules specified by the provided filter,
55
+ * but the operation may take longer than [filterTopicsBy].
56
+ *
57
+ * @param filter a topic filter
58
+ * @return an iterator that iterates over all topics matching the provided filter.
59
+ */
14
60
  filterTopicsBySorted(filter: BaseSortableFilterOptions<Topic>): Promise<PaginatedListIterator<EncryptedTopic>>;
61
+ /**
62
+ *
63
+ * Deletes a topic. If you don't have write access to the topic the method will fail.
64
+ * @param entityId id of the topic.
65
+ * @param rev the latest known rev of the topic to delete
66
+ * @return the id and revision of the deleted topic.
67
+ * @throws RevisionConflictException if the provided revision doesn't match the latest known revision
68
+ */
15
69
  deleteTopicById(entityId: string, rev: string): Promise<StoredDocumentIdentifier>;
70
+ /**
71
+ *
72
+ * Deletes many topics. Ids that do not correspond to an entity, or that correspond to an entity for which
73
+ * you don't have write access will be ignored.
74
+ * @param entityIds ids and revisions of the topics to delete.
75
+ * @return the id and revision of the deleted topics. If some entities could not be deleted (for example
76
+ * because you had no write access to them) they will not be included in this list.
77
+ */
16
78
  deleteTopicsByIds(entityIds: Array<StoredDocumentIdentifier>): Promise<Array<StoredDocumentIdentifier>>;
79
+ /**
80
+ *
81
+ * Permanently deletes a topic.
82
+ * @param id id of the topic to purge
83
+ * @param rev latest revision of the topic
84
+ * @throws RevisionConflictException if the provided revision doesn't match the latest known revision
85
+ */
17
86
  purgeTopicById(id: string, rev: string): Promise<void>;
87
+ /**
88
+ *
89
+ * Permanently deletes many topics.
90
+ * @param entityIds ids and revisions of the topics to delete
91
+ * @return the id and revision of the deleted topics. If some entities couldn't be deleted (for example
92
+ * because you had no write access to them) they will not be included in this list.
93
+ */
18
94
  purgeTopicsByIds(entityIds: Array<StoredDocumentIdentifier>): Promise<Array<StoredDocumentIdentifier>>;
95
+ /**
96
+ *
97
+ * Deletes a topic. If you don't have write access to the topic the method will fail.
98
+ * @param topic the topic to delete
99
+ * @return the id and revision of the deleted topic.
100
+ * @throws RevisionConflictException if the provided topic doesn't match the latest known revision
101
+ */
19
102
  deleteTopic(topic: Topic): Promise<StoredDocumentIdentifier>;
103
+ /**
104
+ *
105
+ * Deletes many topics. Ignores topic for which you don't have write access or that don't match the latest revision.
106
+ * @param topics the topics to delete
107
+ * @return the id and revision of the deleted topics. If some entities couldn't be deleted they will not be
108
+ * included in this list.
109
+ */
20
110
  deleteTopics(topics: Array<Topic>): Promise<Array<StoredDocumentIdentifier>>;
111
+ /**
112
+ *
113
+ * Permanently deletes a topic.
114
+ * @param topic the topic to purge.
115
+ * @throws RevisionConflictException if the provided topic doesn't match the latest known revision
116
+ */
21
117
  purgeTopic(topic: Topic): Promise<void>;
118
+ /**
119
+ *
120
+ * Permanently deletes many topics.
121
+ * @param topics the topics to purge.
122
+ * @return the id and revision of the deleted topics. If some entities couldn't be deleted (for example
123
+ * because you had no write access to them) they will not be included in this list.
124
+ */
22
125
  purgeTopics(topics: Array<Topic>): Promise<Array<StoredDocumentIdentifier>>;
126
+ /**
127
+ *
128
+ * Create a new topic. The provided topic must have the encryption metadata initialized.
129
+ * @param entity a topic with initialized encryption metadata
130
+ * @return the created topic with updated revision.
131
+ * @throws IllegalArgumentException if the encryption metadata of the input was not initialized.
132
+ */
23
133
  createTopic(entity: EncryptedTopic): Promise<EncryptedTopic>;
134
+ /**
135
+ *
136
+ * Create multiple topics. All the provided topics must have the encryption metadata initialized, otherwise
137
+ * this method fails without doing anything.
138
+ * @param entities topics with initialized encryption metadata
139
+ * @return the created topics with updated revision.
140
+ * @throws IllegalArgumentException if the encryption metadata of any topic in the input was not initialized.
141
+ */
24
142
  createTopics(entities: Array<EncryptedTopic>): Promise<Array<EncryptedTopic>>;
143
+ /**
144
+ *
145
+ * Restores a topic that was marked as deleted.
146
+ * @param id the id of the entity
147
+ * @param rev the latest revision of the entity.
148
+ * @return the restored entity.
149
+ * @throws RevisionConflictException if the provided revision doesn't match the latest known revision
150
+ */
25
151
  undeleteTopicById(id: string, rev: string): Promise<EncryptedTopic>;
152
+ /**
153
+ *
154
+ * Restores a batch of topics that were marked as deleted.
155
+ * @param entityIds the ids and the revisions of the topics to restore.
156
+ * @return the restored topics. If some entities couldn't be restored (because the user does not have access or the revision is not
157
+ * up-to-date), then those entities will not be restored and will not appear in this list.
158
+ */
26
159
  undeleteTopicsByIds(entityIds: Array<StoredDocumentIdentifier>): Promise<Array<EncryptedTopic>>;
160
+ /**
161
+ *
162
+ * Restores a topic that was marked as deleted.
163
+ * @param topic the topic to undelete
164
+ * @return the restored topic.
165
+ * @throws RevisionConflictException if the provided topic doesn't match the latest known revision
166
+ */
27
167
  undeleteTopic(topic: Topic): Promise<EncryptedTopic>;
168
+ /**
169
+ *
170
+ * Restores a batch of topics that were marked as deleted.
171
+ * @param topics the topics to restore.
172
+ * @return the restored topics. If some entities couldn't be restored (because the user does not have access or the revision is not
173
+ * up-to-date), then those entities will not be restored and will not appear in this list.
174
+ */
28
175
  undeleteTopics(topics: Array<Topic>): Promise<Array<EncryptedTopic>>;
176
+ /**
177
+ *
178
+ * Modifies a topic. You need to have write access to the entity.
179
+ * Flavoured method.
180
+ * @param entity a topic with update content
181
+ * @return the topic updated with the provided content and a new revision.
182
+ */
29
183
  modifyTopic(entity: EncryptedTopic): Promise<EncryptedTopic>;
184
+ /**
185
+ *
186
+ * Modifies multiple topics. Ignores all topics for which you don't have write access.
187
+ * Flavoured method.
188
+ * @param entities topics with update content
189
+ * @return the updated topics with a new revision.
190
+ */
30
191
  modifyTopics(entities: Array<EncryptedTopic>): Promise<Array<EncryptedTopic>>;
192
+ /**
193
+ *
194
+ * Get a topic by its id. You must have read access to the entity. Fails if the id does not correspond to any
195
+ * entity, corresponds to an entity that is not a topic, or corresponds to an entity for which you don't have
196
+ * read access.
197
+ * Flavoured method.
198
+ * @param entityId a topic id.
199
+ * @return the topic with id [entityId].
200
+ */
31
201
  getTopic(entityId: string): Promise<EncryptedTopic | undefined>;
202
+ /**
203
+ *
204
+ * Get multiple topics by their ids. Ignores all ids that do not correspond to an entity, correspond to
205
+ * an entity that is not a topic, or correspond to an entity for which you don't have read access.
206
+ * Flavoured method.
207
+ * @param entityIds a list of topics ids
208
+ * @return all topics that you can access with one of the provided ids.
209
+ */
32
210
  getTopics(entityIds: Array<string>): Promise<Array<EncryptedTopic>>;
211
+ /**
212
+ *
213
+ * Add a participant to the topic. The participant will be able to create messages associated to the topic.
214
+ * Any user with a [TopicRole.Admin] on the can use this method, even if they don't have direct write access
215
+ * to it through delegations.
216
+ * @param entityId id of the topic
217
+ * @param dataOwnerId id of the new participant
218
+ * @param topicRole the role that the participant will have in the topic
219
+ * @return the updated topic
220
+ */
33
221
  addParticipant(entityId: string, dataOwnerId: string, topicRole: TopicRole): Promise<EncryptedTopic>;
222
+ /**
223
+ *
224
+ * Removes a participant from a topic. The participant will not be able anymore to search for messages of that topic.
225
+ * Any user with a [TopicRole.Admin] on the can use this method, even if they don't have direct write access
226
+ * to it through delegations.
227
+ * @param entityId id of the topic
228
+ * @param dataOwnerId id of the participant to remove
229
+ * @return the updated topic
230
+ */
34
231
  removeParticipant(entityId: string, dataOwnerId: string): Promise<EncryptedTopic>;
232
+ /**
233
+ *
234
+ * Subscribe to receive real-time notifications when an entity is updated.
235
+ * @param events the type of events that will be notified to the subscription
236
+ * @param filter the subscription will receive notifications only for entities matching this filter, you should
237
+ * make the filter as restrictive as possible.
238
+ * @param subscriptionConfig customize the configuration for the subscription
239
+ * @return a subscription that receives notifications for the configured events.
240
+ */
35
241
  subscribeToEvents(events: Array<SubscriptionEventType>, filter: BaseFilterOptions<Topic>, options?: {
36
242
  subscriptionConfig?: EntitySubscriptionConfiguration | undefined;
37
243
  }): Promise<EntitySubscription<EncryptedTopic>>;