@icure/api 8.0.48 → 8.0.49
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.
- package/icc-api/api/IccContactApi.js +1 -1
- package/icc-api/api/IccContactApi.js.map +1 -1
- package/icc-x-api/filters/HealthElementByHcPartyTagCodeFilter.d.ts +1 -1
- package/icc-x-api/filters/HealthElementByHcPartyTagCodeFilter.js.map +1 -1
- package/package.json +1 -1
- package/test/icc-x-api/icc-recovery-x-api.js +5 -0
- package/test/icc-x-api/icc-recovery-x-api.js.map +1 -1
|
@@ -470,7 +470,7 @@ class IccContactApi {
|
|
|
470
470
|
new Date().getTime() +
|
|
471
471
|
(startDate ? '&startDate=' + encodeURIComponent(String(startDate)) : '') +
|
|
472
472
|
(endDate ? '&endDate=' + encodeURIComponent(String(endDate)) : '') +
|
|
473
|
-
(hcpartyid ? '&
|
|
473
|
+
(hcpartyid ? '&hcPartyId=' + encodeURIComponent(String(hcpartyid)) : '') +
|
|
474
474
|
(startKey ? '&startKey=' + encodeURIComponent(String(startKey)) : '') +
|
|
475
475
|
(startDocumentId ? '&startDocumentId=' + encodeURIComponent(String(startDocumentId)) : '') +
|
|
476
476
|
(limit ? '&limit=' + encodeURIComponent(String(limit)) : '');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IccContactApi.js","sourceRoot":"","sources":["../../../icc-api/api/IccContactApi.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * iCure Data Stack API Documentation\n * The iCure Data Stack Application API is the native interface to iCure. This version is obsolete, please use v2.\n *\n * OpenAPI spec version: v1\n *\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { XHR } from './XHR'\nimport { AbstractFilterContact } from '../model/AbstractFilterContact'\nimport { AbstractFilterService } from '../model/AbstractFilterService'\nimport { Contact } from '../model/Contact'\nimport { Content } from '../model/Content'\nimport { Delegation } from '../model/Delegation'\nimport { DocIdentifier } from '../model/DocIdentifier'\nimport { FilterChainContact } from '../model/FilterChainContact'\nimport { FilterChainService } from '../model/FilterChainService'\nimport { IcureStub } from '../model/IcureStub'\nimport { LabelledOccurence } from '../model/LabelledOccurence'\nimport { ListOfIds } from '../model/ListOfIds'\nimport { PaginatedListContact } from '../model/PaginatedListContact'\nimport { PaginatedListService } from '../model/PaginatedListService'\nimport { Service } from '../model/Service'\nimport { AuthenticationProvider, NoAuthenticationProvider } from '../../icc-x-api/auth/AuthenticationProvider'\nimport { iccRestApiPath } from './IccRestApiPath'\nimport { EntityShareOrMetadataUpdateRequest } from '../model/requests/EntityShareOrMetadataUpdateRequest'\nimport { EntityBulkShareResult } from '../model/requests/EntityBulkShareResult'\nimport { MinimalEntityBulkShareResult } from '../model/requests/MinimalEntityBulkShareResult'\nimport { BulkShareOrUpdateMetadataParams } from '../model/requests/BulkShareOrUpdateMetadataParams'\n\nexport class IccContactApi {\n host: string\n _headers: Array<XHR.Header>\n authenticationProvider: AuthenticationProvider\n fetchImpl?: (input: RequestInfo, init?: RequestInit) => Promise<Response>\n\n get headers(): Promise<Array<XHR.Header>> {\n return Promise.resolve(this._headers)\n }\n\n constructor(\n host: string,\n headers: any,\n authenticationProvider?: AuthenticationProvider,\n fetchImpl?: (input: RequestInfo, init?: RequestInit) => Promise<Response>\n ) {\n this.host = iccRestApiPath(host)\n this._headers = Object.keys(headers).map((k) => new XHR.Header(k, headers[k]))\n this.authenticationProvider = !!authenticationProvider ? authenticationProvider : new NoAuthenticationProvider()\n this.fetchImpl = fetchImpl\n }\n\n handleError(e: XHR.XHRError): never {\n throw e\n }\n\n /**\n * Keys must be delimited by coma\n * @summary Close contacts for Healthcare Party and secret foreign keys.\n * @param hcPartyId\n * @param secretFKeys\n */\n async closeForHCPartyPatientForeignKeys(hcPartyId: string, secretFKeys: string): Promise<Array<Contact>> {\n let _body = null\n\n const _url =\n this.host +\n `/contact/byHcPartySecretForeignKeys/close` +\n '?ts=' +\n new Date().getTime() +\n (hcPartyId ? '&hcPartyId=' + encodeURIComponent(String(hcPartyId)) : '') +\n (secretFKeys ? '&secretFKeys=' + encodeURIComponent(String(secretFKeys)) : '')\n let headers = await this.headers\n return XHR.sendCommand('PUT', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Contact(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Creates a contact with the current user and returns an instance of created contact afterward.\n * @summary Create a contact with the current user\n * @param body\n */\n async createContact(body?: Contact): Promise<Contact> {\n const _url = this.host + `/contact` + '?ts=' + new Date().getTime()\n let headers = await this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new Contact(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns the modified contacts.\n * @summary Create a batch of contacts\n * @param body\n */\n async createContacts(body?: Array<Contact>): Promise<Array<Contact>> {\n const _url = this.host + `/contact/batch` + '?ts=' + new Date().getTime()\n let headers = await this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Contact(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * @summary Deletes a batch of contacts.\n *\n * @param contactIds a ListOfIds containing the ids of the contacts to delete.\n * @return a Promise that will resolve in an array of the DocIdentifiers of the successfully deleted contacts.\n */\n async deleteContacts(contactIds: ListOfIds): Promise<Array<DocIdentifier>> {\n const headers = (await this.headers).filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand(\n 'POST',\n this.host + `/contact/delete/batch` + '?ts=' + new Date().getTime(),\n headers,\n contactIds,\n this.fetchImpl,\n undefined,\n this.authenticationProvider.getAuthService()\n )\n .then((doc) => (doc.body as Array<JSON>).map((it) => new DocIdentifier(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * @summary Deletes a single contact by id.\n *\n * @param contactId the id of the contact to delete.\n */\n async deleteContact(contactId: string): Promise<DocIdentifier> {\n return XHR.sendCommand(\n 'DELETE',\n this.host + `/contact/${encodeURIComponent(contactId)}` + '?ts=' + new Date().getTime(),\n await this.headers,\n null,\n this.fetchImpl,\n undefined,\n this.authenticationProvider.getAuthService()\n )\n .then((doc) => new DocIdentifier(doc.body))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns a list of contacts along with next start keys and Document ID. If the nextStartKey is Null it means that this is the last page.\n * @summary List contacts for the current user (HcParty) or the given hcparty in the filter\n * @param body\n * @param startDocumentId A Contact document ID\n * @param limit Number of rows\n */\n async filterContactsBy(startDocumentId?: string, limit?: number, body?: FilterChainContact): Promise<PaginatedListContact> {\n let _body = null\n _body = body\n\n const _url =\n this.host +\n `/contact/filter` +\n '?ts=' +\n new Date().getTime() +\n (startDocumentId ? '&startDocumentId=' + encodeURIComponent(String(startDocumentId)) : '') +\n (limit ? '&limit=' + encodeURIComponent(String(limit)) : '')\n let headers = await this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new PaginatedListContact(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns a list of contacts along with next start keys and Document ID. If the nextStartKey is Null it means that this is the last page.\n * @summary List services for the current user (HcParty) or the given hcparty in the filter\n * @param body\n * @param startDocumentId A Contact document ID\n * @param limit Number of rows\n */\n async filterServicesBy(startDocumentId?: string, limit?: number, body?: FilterChainService): Promise<PaginatedListService> {\n let _body = null\n _body = body\n\n const _url =\n this.host +\n `/contact/service/filter` +\n '?ts=' +\n new Date().getTime() +\n (startDocumentId ? '&startDocumentId=' + encodeURIComponent(String(startDocumentId)) : '') +\n (limit ? '&limit=' + encodeURIComponent(String(limit)) : '')\n let headers = await this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new PaginatedListService(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @summary Get a list of contacts found by Healthcare Party and form's id.\n * @param hcPartyId\n * @param formId\n */\n async findByHCPartyFormId(hcPartyId: string, formId: string): Promise<Array<Contact>> {\n let _body = null\n\n const _url =\n this.host +\n `/contact/byHcPartyFormId` +\n '?ts=' +\n new Date().getTime() +\n (hcPartyId ? '&hcPartyId=' + encodeURIComponent(String(hcPartyId)) : '') +\n (formId ? '&formId=' + encodeURIComponent(String(formId)) : '')\n let headers = await this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Contact(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @summary Get a list of contacts found by Healthcare Party and form's ids.\n * @param body\n * @param hcPartyId\n */\n async findByHCPartyFormIds(hcPartyId: string, body?: ListOfIds): Promise<Array<Contact>> {\n let _body = null\n _body = body\n\n const _url =\n this.host +\n `/contact/byHcPartyFormIds` +\n '?ts=' +\n new Date().getTime() +\n (hcPartyId ? '&hcPartyId=' + encodeURIComponent(String(hcPartyId)) : '')\n let headers = await this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Contact(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Keys must be delimited by coma\n * @summary Get a list of contacts found by Healthcare Party and secret foreign keys.\n * @param hcPartyId\n * @param planOfActionsIds\n * @param skipClosedContacts\n @param body\n */\n async findByHCPartyPatientSecretFKeysUsingPost(\n hcPartyId: string,\n planOfActionsIds?: string,\n skipClosedContacts?: boolean,\n body?: Array<string>\n ): Promise<Array<Contact>> {\n let _body = null\n _body = body\n\n const _url =\n this.host +\n `/contact/byHcPartySecretForeignKeys` +\n '?ts=' +\n new Date().getTime() +\n (hcPartyId ? '&hcPartyId=' + encodeURIComponent(String(hcPartyId)) : '') +\n (planOfActionsIds ? '&planOfActionsIds=' + encodeURIComponent(String(planOfActionsIds)) : '') +\n (skipClosedContacts ? '&skipClosedContacts=' + encodeURIComponent(String(skipClosedContacts)) : '')\n let headers = await this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Contact(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Keys must be delimited by coma\n * @summary Get a list of contacts found by Healthcare Party and secret foreign keys.\n * @param hcPartyId\n * @param secretFKeys\n * @param planOfActionsIds\n * @param skipClosedContacts\n */\n async findByHCPartyPatientSecretFKeys(\n hcPartyId: string,\n secretFKeys: string,\n planOfActionsIds?: string,\n skipClosedContacts?: boolean\n ): Promise<Array<Contact>> {\n let _body = null\n\n const _url =\n this.host +\n `/contact/byHcPartySecretForeignKeys` +\n '?ts=' +\n new Date().getTime() +\n (hcPartyId ? '&hcPartyId=' + encodeURIComponent(String(hcPartyId)) : '') +\n (secretFKeys ? '&secretFKeys=' + encodeURIComponent(String(secretFKeys)) : '') +\n (planOfActionsIds ? '&planOfActionsIds=' + encodeURIComponent(String(planOfActionsIds)) : '') +\n (skipClosedContacts ? '&skipClosedContacts=' + encodeURIComponent(String(skipClosedContacts)) : '')\n let headers = await this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Contact(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @summary List contacts found By Healthcare Party and service Id.\n * @param hcPartyId\n * @param serviceId\n */\n async findByHCPartyServiceId(hcPartyId: string, serviceId: string): Promise<Array<Contact>> {\n let _body = null\n\n const _url =\n this.host +\n `/contact/byHcPartyServiceId` +\n '?ts=' +\n new Date().getTime() +\n (hcPartyId ? '&hcPartyId=' + encodeURIComponent(String(hcPartyId)) : '') +\n (serviceId ? '&serviceId=' + encodeURIComponent(String(serviceId)) : '')\n let headers = await this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Contact(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @summary List contacts found By externalId.\n * @param externalId\n */\n async findContactsByExternalId(externalId: string): Promise<Array<Contact>> {\n let _body = null\n\n const _url =\n this.host +\n `/contact/byExternalId` +\n '?ts=' +\n new Date().getTime() +\n (externalId ? '&externalId=' + encodeURIComponent(String(externalId)) : '')\n let headers = await this.headers\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Contact(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @summary Get a list of contacts found by Healthcare Party and Patient foreign keys.\n * @param body\n * @param hcPartyId\n */\n async findContactsByHCPartyPatientForeignKeys(hcPartyId: string, body?: ListOfIds): Promise<Array<Contact>> {\n let _body = null\n _body = body\n\n const _url =\n this.host +\n `/contact/byHcPartyPatientForeignKeys` +\n '?ts=' +\n new Date().getTime() +\n (hcPartyId ? '&hcPartyId=' + encodeURIComponent(String(hcPartyId)) : '')\n let headers = await this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Contact(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Keys must be delimited by coma\n * @summary List contacts found By Healthcare Party and secret foreign keys.\n * @param body\n * @param hcPartyId\n */\n async findContactsDelegationsStubsByHCPartyPatientForeignKeysUsingPost(hcPartyId: string, body?: Array<string>): Promise<Array<IcureStub>> {\n let _body = null\n _body = body\n\n const _url =\n this.host +\n `/contact/byHcPartySecretForeignKeys/delegations` +\n '?ts=' +\n new Date().getTime() +\n (hcPartyId ? '&hcPartyId=' + encodeURIComponent(String(hcPartyId)) : '')\n let headers = await this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new IcureStub(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @summary List contacts found By Healthcare Party and secret foreign keys.\n * @param hcPartyId\n * @param secretFKeys\n */\n async findContactsDelegationsStubsByHCPartyPatientForeignKeys(hcPartyId: string, secretFKeys: string): Promise<Array<IcureStub>> {\n let _body = null\n\n const _url =\n this.host +\n `/contact/byHcPartySecretForeignKeys/delegations` +\n '?ts=' +\n new Date().getTime() +\n (hcPartyId ? '&hcPartyId=' + encodeURIComponent(String(hcPartyId)) : '') +\n (secretFKeys ? '&secretFKeys=' + encodeURIComponent(String(secretFKeys)) : '')\n let headers = await this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new IcureStub(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Gets a contact based on its id\n * @summary Get a contact\n * @param contactId\n */\n async getContact(contactId: string): Promise<Contact> {\n let _body = null\n\n const _url = this.host + `/contact/${encodeURIComponent(String(contactId))}` + '?ts=' + new Date().getTime()\n let headers = await this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new Contact(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Gets a service based on its id\n * @summary Get a service\n * @param serviceId\n */\n async getService(serviceId: string): Promise<Service> {\n let _body = null\n\n const _url = this.host + `/contact/service/${encodeURIComponent(String(serviceId))}` + '?ts=' + new Date().getTime()\n let headers = await this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new Service(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Get a list of contact by ids/keys.\n * @summary Get contacts by batch\n * @param body\n */\n async getContacts(body?: ListOfIds): Promise<Array<Contact>> {\n let _body = null\n _body = body\n\n const _url = this.host + `/contact/byIds` + '?ts=' + new Date().getTime()\n let headers = await this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Contact(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @summary Get an empty content\n */\n async getEmptyContent(): Promise<Content> {\n let _body = null\n\n const _url = this.host + `/contact/service/content/empty` + '?ts=' + new Date().getTime()\n let headers = await this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new Content(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @summary Get the list of all used codes frequencies in services\n * @param codeType\n * @param minOccurences\n */\n async getServiceCodesOccurences(codeType: string, minOccurences: number): Promise<Array<LabelledOccurence>> {\n let _body = null\n\n const _url =\n this.host +\n `/contact/service/codes/${encodeURIComponent(String(codeType))}/${encodeURIComponent(String(minOccurences))}` +\n '?ts=' +\n new Date().getTime()\n let headers = await this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new LabelledOccurence(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns a list of contacts.\n * @summary List contacts bu opening date parties with(out) pagination\n * @param startKey The contact openingDate\n * @param endKey The contact max openingDate\n * @param hcpartyid hcpartyid\n * @param startDocumentId A contact party document ID\n * @param limit Number of rows\n */\n async listContactsByOpeningDate(\n startDate: number,\n endDate: number,\n hcpartyid: string,\n startKey?: string,\n startDocumentId?: string,\n limit?: number\n ): Promise<PaginatedListContact> {\n let _body = null\n\n const _url =\n this.host +\n `/contact/byOpeningDate` +\n '?ts=' +\n new Date().getTime() +\n (startDate ? '&startDate=' + encodeURIComponent(String(startDate)) : '') +\n (endDate ? '&endDate=' + encodeURIComponent(String(endDate)) : '') +\n (hcpartyid ? '&hcpartyid=' + encodeURIComponent(String(hcpartyid)) : '') +\n (startKey ? '&startKey=' + encodeURIComponent(String(startKey)) : '') +\n (startDocumentId ? '&startDocumentId=' + encodeURIComponent(String(startDocumentId)) : '') +\n (limit ? '&limit=' + encodeURIComponent(String(limit)) : '')\n let headers = await this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new PaginatedListContact(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns a list of services\n * @summary List services with provided ids\n * @param body\n */\n async listServices(body?: ListOfIds): Promise<Array<Service>> {\n let _body = null\n _body = body\n\n const _url = this.host + `/contact/service` + '?ts=' + new Date().getTime()\n let headers = await this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Service(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns a list of services\n * @summary List services by related association id\n * @param associationId\n */\n async listServicesByAssociationId(associationId: string): Promise<Array<Service>> {\n let _body = null\n\n const _url =\n this.host +\n `/contact/service/associationId` +\n '?ts=' +\n new Date().getTime() +\n (associationId ? '&associationId=' + encodeURIComponent(String(associationId)) : '')\n let headers = await this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Service(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns the list of services linked to the provided health element id\n * @summary List services linked to a health element\n * @param healthElementId\n * @param hcPartyId hcPartyId\n */\n async listServicesByHealthElementId(healthElementId: string, hcPartyId: string): Promise<Array<Service>> {\n let _body = null\n\n const _url =\n this.host +\n `/contact/service/healthElementId/${encodeURIComponent(String(healthElementId))}` +\n '?ts=' +\n new Date().getTime() +\n (hcPartyId ? '&hcPartyId=' + encodeURIComponent(String(hcPartyId)) : '')\n let headers = await this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Service(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns a list of services\n * @summary List services linked to provided ids\n * @param body\n * @param linkType The type of the link\n */\n async listServicesLinkedTo(linkType?: string, body?: ListOfIds): Promise<Array<Service>> {\n let _body = null\n _body = body\n\n const _url =\n this.host + `/contact/service/linkedTo` + '?ts=' + new Date().getTime() + (linkType ? '&linkType=' + encodeURIComponent(String(linkType)) : '')\n let headers = await this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Service(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @summary Get ids of contacts matching the provided filter for the current user (HcParty)\n * @param body\n */\n async matchContactsBy(body?: AbstractFilterContact): Promise<Array<string>> {\n let _body = null\n _body = body\n\n const _url = this.host + `/contact/match` + '?ts=' + new Date().getTime()\n let headers = await this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => JSON.parse(JSON.stringify(it))))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @summary Get ids of services matching the provided filter for the current user\n * @param body\n */\n async matchServicesBy(body?: AbstractFilterService): Promise<Array<string>> {\n let _body = null\n _body = body\n\n const _url = this.host + `/contact/service/match` + '?ts=' + new Date().getTime()\n let headers = await this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => JSON.parse(JSON.stringify(it))))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns the modified contact.\n * @summary Modify a contact\n * @param body\n */\n async modifyContact(body?: Contact): Promise<Contact> {\n let _body = null\n _body = body\n\n const _url = this.host + `/contact` + '?ts=' + new Date().getTime()\n let headers = await this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('PUT', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new Contact(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns the modified contacts.\n * @summary Modify a batch of contacts\n * @param body\n */\n async modifyContacts(body?: Array<Contact>): Promise<Array<Contact>> {\n let _body = null\n _body = body\n\n const _url = this.host + `/contact/batch` + '?ts=' + new Date().getTime()\n let headers = await this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('PUT', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Contact(it)))\n .catch((err) => this.handleError(err))\n }\n\n\n /**\n * @summary List Contact ids by data owner and a set of secret foreign key. The ids will be sorted by Contact openingDate, in ascending or descending\n * order according to the specified parameter value.\n *\n * @param dataOwnerId the data owner id.\n * @param secretFKeys an array of secret foreign keys.\n * @param startDate a timestamp in epoch milliseconds. If undefined, all the contact ids since the beginning of time will be returned.\n * @param endDate a timestamp in epoch milliseconds. If undefined, all the contact ids until the end of time will be returned.\n * @param descending whether to return the ids ordered in ascending or descending order by Contact openingDate\n * @return a promise that will resolve in an Array of Contact ids.\n */\n async findContactIdsByDataOwnerPatientOpeningDate(\n dataOwnerId: string,\n secretFKeys: string[],\n startDate?: number,\n endDate?: number,\n descending?: boolean\n ): Promise<string[]> {\n const _url =\n this.host +\n `/contact/byDataOwnerPatientOpeningDate?ts=${new Date().getTime()}` +\n '&dataOwnerId=' +\n encodeURIComponent(dataOwnerId) +\n (!!startDate ? `&startDate=${encodeURIComponent(startDate)}` : '') +\n (!!endDate ? `&endDate=${encodeURIComponent(endDate)}` : '') +\n (!!descending ? `&descending=${descending}` : '')\n const headers = (await this.headers).filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n const body = new ListOfIds({ ids: secretFKeys })\n return XHR.sendCommand('POST', _url, headers, null, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => JSON.parse(JSON.stringify(it))))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * @internal this method is for internal use only and may be changed without notice\n */\n async bulkShareContacts(request: BulkShareOrUpdateMetadataParams): Promise<EntityBulkShareResult<Contact>[]> {\n const _url = this.host + '/contact/bulkSharedMetadataUpdate' + '?ts=' + new Date().getTime()\n let headers = await this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('PUT', _url, headers, request, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((x) => new EntityBulkShareResult<Contact>(x, Contact)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * @internal this method is for internal use only and may be changed without notice\n */\n async bulkShareContactsMinimal(request: BulkShareOrUpdateMetadataParams): Promise<MinimalEntityBulkShareResult[]> {\n const _url = this.host + '/contact/bulkSharedMetadataUpdateMinimal' + '?ts=' + new Date().getTime()\n let headers = await this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('PUT', _url, headers, request, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((x) => new MinimalEntityBulkShareResult(x)))\n .catch((err) => this.handleError(err))\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"IccContactApi.js","sourceRoot":"","sources":["../../../icc-api/api/IccContactApi.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * iCure Data Stack API Documentation\n * The iCure Data Stack Application API is the native interface to iCure. This version is obsolete, please use v2.\n *\n * OpenAPI spec version: v1\n *\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { XHR } from './XHR'\nimport { AbstractFilterContact } from '../model/AbstractFilterContact'\nimport { AbstractFilterService } from '../model/AbstractFilterService'\nimport { Contact } from '../model/Contact'\nimport { Content } from '../model/Content'\nimport { Delegation } from '../model/Delegation'\nimport { DocIdentifier } from '../model/DocIdentifier'\nimport { FilterChainContact } from '../model/FilterChainContact'\nimport { FilterChainService } from '../model/FilterChainService'\nimport { IcureStub } from '../model/IcureStub'\nimport { LabelledOccurence } from '../model/LabelledOccurence'\nimport { ListOfIds } from '../model/ListOfIds'\nimport { PaginatedListContact } from '../model/PaginatedListContact'\nimport { PaginatedListService } from '../model/PaginatedListService'\nimport { Service } from '../model/Service'\nimport { AuthenticationProvider, NoAuthenticationProvider } from '../../icc-x-api/auth/AuthenticationProvider'\nimport { iccRestApiPath } from './IccRestApiPath'\nimport { EntityShareOrMetadataUpdateRequest } from '../model/requests/EntityShareOrMetadataUpdateRequest'\nimport { EntityBulkShareResult } from '../model/requests/EntityBulkShareResult'\nimport { MinimalEntityBulkShareResult } from '../model/requests/MinimalEntityBulkShareResult'\nimport { BulkShareOrUpdateMetadataParams } from '../model/requests/BulkShareOrUpdateMetadataParams'\n\nexport class IccContactApi {\n host: string\n _headers: Array<XHR.Header>\n authenticationProvider: AuthenticationProvider\n fetchImpl?: (input: RequestInfo, init?: RequestInit) => Promise<Response>\n\n get headers(): Promise<Array<XHR.Header>> {\n return Promise.resolve(this._headers)\n }\n\n constructor(\n host: string,\n headers: any,\n authenticationProvider?: AuthenticationProvider,\n fetchImpl?: (input: RequestInfo, init?: RequestInit) => Promise<Response>\n ) {\n this.host = iccRestApiPath(host)\n this._headers = Object.keys(headers).map((k) => new XHR.Header(k, headers[k]))\n this.authenticationProvider = !!authenticationProvider ? authenticationProvider : new NoAuthenticationProvider()\n this.fetchImpl = fetchImpl\n }\n\n handleError(e: XHR.XHRError): never {\n throw e\n }\n\n /**\n * Keys must be delimited by coma\n * @summary Close contacts for Healthcare Party and secret foreign keys.\n * @param hcPartyId\n * @param secretFKeys\n */\n async closeForHCPartyPatientForeignKeys(hcPartyId: string, secretFKeys: string): Promise<Array<Contact>> {\n let _body = null\n\n const _url =\n this.host +\n `/contact/byHcPartySecretForeignKeys/close` +\n '?ts=' +\n new Date().getTime() +\n (hcPartyId ? '&hcPartyId=' + encodeURIComponent(String(hcPartyId)) : '') +\n (secretFKeys ? '&secretFKeys=' + encodeURIComponent(String(secretFKeys)) : '')\n let headers = await this.headers\n return XHR.sendCommand('PUT', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Contact(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Creates a contact with the current user and returns an instance of created contact afterward.\n * @summary Create a contact with the current user\n * @param body\n */\n async createContact(body?: Contact): Promise<Contact> {\n const _url = this.host + `/contact` + '?ts=' + new Date().getTime()\n let headers = await this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new Contact(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns the modified contacts.\n * @summary Create a batch of contacts\n * @param body\n */\n async createContacts(body?: Array<Contact>): Promise<Array<Contact>> {\n const _url = this.host + `/contact/batch` + '?ts=' + new Date().getTime()\n let headers = await this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Contact(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * @summary Deletes a batch of contacts.\n *\n * @param contactIds a ListOfIds containing the ids of the contacts to delete.\n * @return a Promise that will resolve in an array of the DocIdentifiers of the successfully deleted contacts.\n */\n async deleteContacts(contactIds: ListOfIds): Promise<Array<DocIdentifier>> {\n const headers = (await this.headers).filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand(\n 'POST',\n this.host + `/contact/delete/batch` + '?ts=' + new Date().getTime(),\n headers,\n contactIds,\n this.fetchImpl,\n undefined,\n this.authenticationProvider.getAuthService()\n )\n .then((doc) => (doc.body as Array<JSON>).map((it) => new DocIdentifier(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * @summary Deletes a single contact by id.\n *\n * @param contactId the id of the contact to delete.\n */\n async deleteContact(contactId: string): Promise<DocIdentifier> {\n return XHR.sendCommand(\n 'DELETE',\n this.host + `/contact/${encodeURIComponent(contactId)}` + '?ts=' + new Date().getTime(),\n await this.headers,\n null,\n this.fetchImpl,\n undefined,\n this.authenticationProvider.getAuthService()\n )\n .then((doc) => new DocIdentifier(doc.body))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns a list of contacts along with next start keys and Document ID. If the nextStartKey is Null it means that this is the last page.\n * @summary List contacts for the current user (HcParty) or the given hcparty in the filter\n * @param body\n * @param startDocumentId A Contact document ID\n * @param limit Number of rows\n */\n async filterContactsBy(startDocumentId?: string, limit?: number, body?: FilterChainContact): Promise<PaginatedListContact> {\n let _body = null\n _body = body\n\n const _url =\n this.host +\n `/contact/filter` +\n '?ts=' +\n new Date().getTime() +\n (startDocumentId ? '&startDocumentId=' + encodeURIComponent(String(startDocumentId)) : '') +\n (limit ? '&limit=' + encodeURIComponent(String(limit)) : '')\n let headers = await this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new PaginatedListContact(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns a list of contacts along with next start keys and Document ID. If the nextStartKey is Null it means that this is the last page.\n * @summary List services for the current user (HcParty) or the given hcparty in the filter\n * @param body\n * @param startDocumentId A Contact document ID\n * @param limit Number of rows\n */\n async filterServicesBy(startDocumentId?: string, limit?: number, body?: FilterChainService): Promise<PaginatedListService> {\n let _body = null\n _body = body\n\n const _url =\n this.host +\n `/contact/service/filter` +\n '?ts=' +\n new Date().getTime() +\n (startDocumentId ? '&startDocumentId=' + encodeURIComponent(String(startDocumentId)) : '') +\n (limit ? '&limit=' + encodeURIComponent(String(limit)) : '')\n let headers = await this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new PaginatedListService(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @summary Get a list of contacts found by Healthcare Party and form's id.\n * @param hcPartyId\n * @param formId\n */\n async findByHCPartyFormId(hcPartyId: string, formId: string): Promise<Array<Contact>> {\n let _body = null\n\n const _url =\n this.host +\n `/contact/byHcPartyFormId` +\n '?ts=' +\n new Date().getTime() +\n (hcPartyId ? '&hcPartyId=' + encodeURIComponent(String(hcPartyId)) : '') +\n (formId ? '&formId=' + encodeURIComponent(String(formId)) : '')\n let headers = await this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Contact(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @summary Get a list of contacts found by Healthcare Party and form's ids.\n * @param body\n * @param hcPartyId\n */\n async findByHCPartyFormIds(hcPartyId: string, body?: ListOfIds): Promise<Array<Contact>> {\n let _body = null\n _body = body\n\n const _url =\n this.host +\n `/contact/byHcPartyFormIds` +\n '?ts=' +\n new Date().getTime() +\n (hcPartyId ? '&hcPartyId=' + encodeURIComponent(String(hcPartyId)) : '')\n let headers = await this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Contact(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Keys must be delimited by coma\n * @summary Get a list of contacts found by Healthcare Party and secret foreign keys.\n * @param hcPartyId\n * @param planOfActionsIds\n * @param skipClosedContacts\n @param body\n */\n async findByHCPartyPatientSecretFKeysUsingPost(\n hcPartyId: string,\n planOfActionsIds?: string,\n skipClosedContacts?: boolean,\n body?: Array<string>\n ): Promise<Array<Contact>> {\n let _body = null\n _body = body\n\n const _url =\n this.host +\n `/contact/byHcPartySecretForeignKeys` +\n '?ts=' +\n new Date().getTime() +\n (hcPartyId ? '&hcPartyId=' + encodeURIComponent(String(hcPartyId)) : '') +\n (planOfActionsIds ? '&planOfActionsIds=' + encodeURIComponent(String(planOfActionsIds)) : '') +\n (skipClosedContacts ? '&skipClosedContacts=' + encodeURIComponent(String(skipClosedContacts)) : '')\n let headers = await this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Contact(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Keys must be delimited by coma\n * @summary Get a list of contacts found by Healthcare Party and secret foreign keys.\n * @param hcPartyId\n * @param secretFKeys\n * @param planOfActionsIds\n * @param skipClosedContacts\n */\n async findByHCPartyPatientSecretFKeys(\n hcPartyId: string,\n secretFKeys: string,\n planOfActionsIds?: string,\n skipClosedContacts?: boolean\n ): Promise<Array<Contact>> {\n let _body = null\n\n const _url =\n this.host +\n `/contact/byHcPartySecretForeignKeys` +\n '?ts=' +\n new Date().getTime() +\n (hcPartyId ? '&hcPartyId=' + encodeURIComponent(String(hcPartyId)) : '') +\n (secretFKeys ? '&secretFKeys=' + encodeURIComponent(String(secretFKeys)) : '') +\n (planOfActionsIds ? '&planOfActionsIds=' + encodeURIComponent(String(planOfActionsIds)) : '') +\n (skipClosedContacts ? '&skipClosedContacts=' + encodeURIComponent(String(skipClosedContacts)) : '')\n let headers = await this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Contact(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @summary List contacts found By Healthcare Party and service Id.\n * @param hcPartyId\n * @param serviceId\n */\n async findByHCPartyServiceId(hcPartyId: string, serviceId: string): Promise<Array<Contact>> {\n let _body = null\n\n const _url =\n this.host +\n `/contact/byHcPartyServiceId` +\n '?ts=' +\n new Date().getTime() +\n (hcPartyId ? '&hcPartyId=' + encodeURIComponent(String(hcPartyId)) : '') +\n (serviceId ? '&serviceId=' + encodeURIComponent(String(serviceId)) : '')\n let headers = await this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Contact(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @summary List contacts found By externalId.\n * @param externalId\n */\n async findContactsByExternalId(externalId: string): Promise<Array<Contact>> {\n let _body = null\n\n const _url =\n this.host +\n `/contact/byExternalId` +\n '?ts=' +\n new Date().getTime() +\n (externalId ? '&externalId=' + encodeURIComponent(String(externalId)) : '')\n let headers = await this.headers\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Contact(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @summary Get a list of contacts found by Healthcare Party and Patient foreign keys.\n * @param body\n * @param hcPartyId\n */\n async findContactsByHCPartyPatientForeignKeys(hcPartyId: string, body?: ListOfIds): Promise<Array<Contact>> {\n let _body = null\n _body = body\n\n const _url =\n this.host +\n `/contact/byHcPartyPatientForeignKeys` +\n '?ts=' +\n new Date().getTime() +\n (hcPartyId ? '&hcPartyId=' + encodeURIComponent(String(hcPartyId)) : '')\n let headers = await this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Contact(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Keys must be delimited by coma\n * @summary List contacts found By Healthcare Party and secret foreign keys.\n * @param body\n * @param hcPartyId\n */\n async findContactsDelegationsStubsByHCPartyPatientForeignKeysUsingPost(hcPartyId: string, body?: Array<string>): Promise<Array<IcureStub>> {\n let _body = null\n _body = body\n\n const _url =\n this.host +\n `/contact/byHcPartySecretForeignKeys/delegations` +\n '?ts=' +\n new Date().getTime() +\n (hcPartyId ? '&hcPartyId=' + encodeURIComponent(String(hcPartyId)) : '')\n let headers = await this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new IcureStub(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @summary List contacts found By Healthcare Party and secret foreign keys.\n * @param hcPartyId\n * @param secretFKeys\n */\n async findContactsDelegationsStubsByHCPartyPatientForeignKeys(hcPartyId: string, secretFKeys: string): Promise<Array<IcureStub>> {\n let _body = null\n\n const _url =\n this.host +\n `/contact/byHcPartySecretForeignKeys/delegations` +\n '?ts=' +\n new Date().getTime() +\n (hcPartyId ? '&hcPartyId=' + encodeURIComponent(String(hcPartyId)) : '') +\n (secretFKeys ? '&secretFKeys=' + encodeURIComponent(String(secretFKeys)) : '')\n let headers = await this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new IcureStub(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Gets a contact based on its id\n * @summary Get a contact\n * @param contactId\n */\n async getContact(contactId: string): Promise<Contact> {\n let _body = null\n\n const _url = this.host + `/contact/${encodeURIComponent(String(contactId))}` + '?ts=' + new Date().getTime()\n let headers = await this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new Contact(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Gets a service based on its id\n * @summary Get a service\n * @param serviceId\n */\n async getService(serviceId: string): Promise<Service> {\n let _body = null\n\n const _url = this.host + `/contact/service/${encodeURIComponent(String(serviceId))}` + '?ts=' + new Date().getTime()\n let headers = await this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new Service(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Get a list of contact by ids/keys.\n * @summary Get contacts by batch\n * @param body\n */\n async getContacts(body?: ListOfIds): Promise<Array<Contact>> {\n let _body = null\n _body = body\n\n const _url = this.host + `/contact/byIds` + '?ts=' + new Date().getTime()\n let headers = await this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Contact(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @summary Get an empty content\n */\n async getEmptyContent(): Promise<Content> {\n let _body = null\n\n const _url = this.host + `/contact/service/content/empty` + '?ts=' + new Date().getTime()\n let headers = await this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new Content(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @summary Get the list of all used codes frequencies in services\n * @param codeType\n * @param minOccurences\n */\n async getServiceCodesOccurences(codeType: string, minOccurences: number): Promise<Array<LabelledOccurence>> {\n let _body = null\n\n const _url =\n this.host +\n `/contact/service/codes/${encodeURIComponent(String(codeType))}/${encodeURIComponent(String(minOccurences))}` +\n '?ts=' +\n new Date().getTime()\n let headers = await this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new LabelledOccurence(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns a list of contacts.\n * @summary List contacts bu opening date parties with(out) pagination\n * @param startKey The contact openingDate\n * @param endKey The contact max openingDate\n * @param hcpartyid hcpartyid\n * @param startDocumentId A contact party document ID\n * @param limit Number of rows\n */\n async listContactsByOpeningDate(\n startDate: number,\n endDate: number,\n hcpartyid: string,\n startKey?: string,\n startDocumentId?: string,\n limit?: number\n ): Promise<PaginatedListContact> {\n let _body = null\n\n const _url =\n this.host +\n `/contact/byOpeningDate` +\n '?ts=' +\n new Date().getTime() +\n (startDate ? '&startDate=' + encodeURIComponent(String(startDate)) : '') +\n (endDate ? '&endDate=' + encodeURIComponent(String(endDate)) : '') +\n (hcpartyid ? '&hcPartyId=' + encodeURIComponent(String(hcpartyid)) : '') +\n (startKey ? '&startKey=' + encodeURIComponent(String(startKey)) : '') +\n (startDocumentId ? '&startDocumentId=' + encodeURIComponent(String(startDocumentId)) : '') +\n (limit ? '&limit=' + encodeURIComponent(String(limit)) : '')\n let headers = await this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new PaginatedListContact(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns a list of services\n * @summary List services with provided ids\n * @param body\n */\n async listServices(body?: ListOfIds): Promise<Array<Service>> {\n let _body = null\n _body = body\n\n const _url = this.host + `/contact/service` + '?ts=' + new Date().getTime()\n let headers = await this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Service(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns a list of services\n * @summary List services by related association id\n * @param associationId\n */\n async listServicesByAssociationId(associationId: string): Promise<Array<Service>> {\n let _body = null\n\n const _url =\n this.host +\n `/contact/service/associationId` +\n '?ts=' +\n new Date().getTime() +\n (associationId ? '&associationId=' + encodeURIComponent(String(associationId)) : '')\n let headers = await this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Service(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns the list of services linked to the provided health element id\n * @summary List services linked to a health element\n * @param healthElementId\n * @param hcPartyId hcPartyId\n */\n async listServicesByHealthElementId(healthElementId: string, hcPartyId: string): Promise<Array<Service>> {\n let _body = null\n\n const _url =\n this.host +\n `/contact/service/healthElementId/${encodeURIComponent(String(healthElementId))}` +\n '?ts=' +\n new Date().getTime() +\n (hcPartyId ? '&hcPartyId=' + encodeURIComponent(String(hcPartyId)) : '')\n let headers = await this.headers\n return XHR.sendCommand('GET', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Service(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns a list of services\n * @summary List services linked to provided ids\n * @param body\n * @param linkType The type of the link\n */\n async listServicesLinkedTo(linkType?: string, body?: ListOfIds): Promise<Array<Service>> {\n let _body = null\n _body = body\n\n const _url =\n this.host + `/contact/service/linkedTo` + '?ts=' + new Date().getTime() + (linkType ? '&linkType=' + encodeURIComponent(String(linkType)) : '')\n let headers = await this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Service(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @summary Get ids of contacts matching the provided filter for the current user (HcParty)\n * @param body\n */\n async matchContactsBy(body?: AbstractFilterContact): Promise<Array<string>> {\n let _body = null\n _body = body\n\n const _url = this.host + `/contact/match` + '?ts=' + new Date().getTime()\n let headers = await this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => JSON.parse(JSON.stringify(it))))\n .catch((err) => this.handleError(err))\n }\n\n /**\n *\n * @summary Get ids of services matching the provided filter for the current user\n * @param body\n */\n async matchServicesBy(body?: AbstractFilterService): Promise<Array<string>> {\n let _body = null\n _body = body\n\n const _url = this.host + `/contact/service/match` + '?ts=' + new Date().getTime()\n let headers = await this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('POST', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => JSON.parse(JSON.stringify(it))))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns the modified contact.\n * @summary Modify a contact\n * @param body\n */\n async modifyContact(body?: Contact): Promise<Contact> {\n let _body = null\n _body = body\n\n const _url = this.host + `/contact` + '?ts=' + new Date().getTime()\n let headers = await this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('PUT', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => new Contact(doc.body as JSON))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * Returns the modified contacts.\n * @summary Modify a batch of contacts\n * @param body\n */\n async modifyContacts(body?: Array<Contact>): Promise<Array<Contact>> {\n let _body = null\n _body = body\n\n const _url = this.host + `/contact/batch` + '?ts=' + new Date().getTime()\n let headers = await this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('PUT', _url, headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => new Contact(it)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * @summary List Contact ids by data owner and a set of secret foreign key. The ids will be sorted by Contact openingDate, in ascending or descending\n * order according to the specified parameter value.\n *\n * @param dataOwnerId the data owner id.\n * @param secretFKeys an array of secret foreign keys.\n * @param startDate a timestamp in epoch milliseconds. If undefined, all the contact ids since the beginning of time will be returned.\n * @param endDate a timestamp in epoch milliseconds. If undefined, all the contact ids until the end of time will be returned.\n * @param descending whether to return the ids ordered in ascending or descending order by Contact openingDate\n * @return a promise that will resolve in an Array of Contact ids.\n */\n async findContactIdsByDataOwnerPatientOpeningDate(\n dataOwnerId: string,\n secretFKeys: string[],\n startDate?: number,\n endDate?: number,\n descending?: boolean\n ): Promise<string[]> {\n const _url =\n this.host +\n `/contact/byDataOwnerPatientOpeningDate?ts=${new Date().getTime()}` +\n '&dataOwnerId=' +\n encodeURIComponent(dataOwnerId) +\n (!!startDate ? `&startDate=${encodeURIComponent(startDate)}` : '') +\n (!!endDate ? `&endDate=${encodeURIComponent(endDate)}` : '') +\n (!!descending ? `&descending=${descending}` : '')\n const headers = (await this.headers).filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n const body = new ListOfIds({ ids: secretFKeys })\n return XHR.sendCommand('POST', _url, headers, null, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((it) => JSON.parse(JSON.stringify(it))))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * @internal this method is for internal use only and may be changed without notice\n */\n async bulkShareContacts(request: BulkShareOrUpdateMetadataParams): Promise<EntityBulkShareResult<Contact>[]> {\n const _url = this.host + '/contact/bulkSharedMetadataUpdate' + '?ts=' + new Date().getTime()\n let headers = await this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('PUT', _url, headers, request, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((x) => new EntityBulkShareResult<Contact>(x, Contact)))\n .catch((err) => this.handleError(err))\n }\n\n /**\n * @internal this method is for internal use only and may be changed without notice\n */\n async bulkShareContactsMinimal(request: BulkShareOrUpdateMetadataParams): Promise<MinimalEntityBulkShareResult[]> {\n const _url = this.host + '/contact/bulkSharedMetadataUpdateMinimal' + '?ts=' + new Date().getTime()\n let headers = await this.headers\n headers = headers.filter((h) => h.header !== 'Content-Type').concat(new XHR.Header('Content-Type', 'application/json'))\n return XHR.sendCommand('PUT', _url, headers, request, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => (doc.body as Array<JSON>).map((x) => new MinimalEntityBulkShareResult(x)))\n .catch((err) => this.handleError(err))\n }\n}\n"]}
|
|
@@ -14,7 +14,7 @@ export declare class HealthElementByHcPartyTagCodeFilter extends AbstractFilterH
|
|
|
14
14
|
$type: string;
|
|
15
15
|
constructor(json: JSON | any);
|
|
16
16
|
desc?: string;
|
|
17
|
-
|
|
17
|
+
healthcarePartyId?: string;
|
|
18
18
|
codeType?: string;
|
|
19
19
|
codeCode?: string;
|
|
20
20
|
tagType?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HealthElementByHcPartyTagCodeFilter.js","sourceRoot":"","sources":["../../../icc-x-api/filters/HealthElementByHcPartyTagCodeFilter.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;GAUG;AACH,iGAA6F;AAE7F,MAAa,mCAAoC,SAAQ,yDAA2B;IAElF,YAAY,IAAgB;QAC1B,KAAK,CAAC,IAAI,CAAC,CAAA;QAFb,UAAK,GAAW,qCAAqC,CAAA;QAInD,MAAM,CAAC,MAAM,CAAC,IAA2C,EAAE,IAAI,CAAC,CAAA;IAClE,CAAC;CASF;AAfD,kFAeC","sourcesContent":["/**\n * iCure Data Stack API Documentation\n * The iCure Data Stack Application API is the native interface to iCure. This version is obsolete, please use v2.\n *\n * OpenAPI spec version: v1\n *\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { AbstractFilterHealthElement } from '../../icc-api/model/AbstractFilterHealthElement'\n\nexport class HealthElementByHcPartyTagCodeFilter extends AbstractFilterHealthElement {\n $type: string = 'HealthElementByHcPartyTagCodeFilter'\n constructor(json: JSON | any) {\n super(json)\n\n Object.assign(this as HealthElementByHcPartyTagCodeFilter, json)\n }\n\n desc?: string\n
|
|
1
|
+
{"version":3,"file":"HealthElementByHcPartyTagCodeFilter.js","sourceRoot":"","sources":["../../../icc-x-api/filters/HealthElementByHcPartyTagCodeFilter.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;GAUG;AACH,iGAA6F;AAE7F,MAAa,mCAAoC,SAAQ,yDAA2B;IAElF,YAAY,IAAgB;QAC1B,KAAK,CAAC,IAAI,CAAC,CAAA;QAFb,UAAK,GAAW,qCAAqC,CAAA;QAInD,MAAM,CAAC,MAAM,CAAC,IAA2C,EAAE,IAAI,CAAC,CAAA;IAClE,CAAC;CASF;AAfD,kFAeC","sourcesContent":["/**\n * iCure Data Stack API Documentation\n * The iCure Data Stack Application API is the native interface to iCure. This version is obsolete, please use v2.\n *\n * OpenAPI spec version: v1\n *\n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { AbstractFilterHealthElement } from '../../icc-api/model/AbstractFilterHealthElement'\n\nexport class HealthElementByHcPartyTagCodeFilter extends AbstractFilterHealthElement {\n $type: string = 'HealthElementByHcPartyTagCodeFilter'\n constructor(json: JSON | any) {\n super(json)\n\n Object.assign(this as HealthElementByHcPartyTagCodeFilter, json)\n }\n\n desc?: string\n healthcarePartyId?: string\n codeType?: string\n codeCode?: string\n tagType?: string\n tagCode?: string\n status?: number\n}\n"]}
|
package/package.json
CHANGED
|
@@ -22,6 +22,8 @@ const DataOwnerTypeEnum_1 = require("../../icc-api/model/DataOwnerTypeEnum");
|
|
|
22
22
|
const SecureDelegation_1 = require("../../icc-api/model/SecureDelegation");
|
|
23
23
|
var AccessLevelEnum = SecureDelegation_1.SecureDelegation.AccessLevelEnum;
|
|
24
24
|
const icc_recovery_x_api_1 = require("../../icc-x-api/icc-recovery-x-api");
|
|
25
|
+
const FilterChainHealthElement_1 = require("../../icc-api/model/FilterChainHealthElement");
|
|
26
|
+
const HealthElementByHcPartyFilter_1 = require("../../icc-x-api/filters/HealthElementByHcPartyFilter");
|
|
25
27
|
(0, chai_1.use)(chaiAsPromised);
|
|
26
28
|
(0, test_utils_1.setLocalStorage)(fetch);
|
|
27
29
|
let env;
|
|
@@ -79,6 +81,9 @@ describe('Recovery api use scenarios', () => {
|
|
|
79
81
|
(0, chai_1.expect)(yield patientApi.recoveryApi.recoverExchangeData(recoveryKey + 'aa')).to.equal(icc_recovery_x_api_1.RecoveryDataUseFailureReason.Missing); // User put in the wrong key
|
|
80
82
|
(0, chai_1.expect)(yield patientApi.recoveryApi.recoverExchangeData(recoveryKey)).to.be.null;
|
|
81
83
|
(0, chai_1.expect)(yield patientApi.recoveryApi.recoverExchangeData(recoveryKey)).to.equal(icc_recovery_x_api_1.RecoveryDataUseFailureReason.Missing); // After use it is automatically deleted
|
|
84
|
+
(0, chai_1.expect)((yield patientApi.healthcareElementApi.filterByWithUser(patientUser, undefined, 10000, new FilterChainHealthElement_1.FilterChainHealthElement({
|
|
85
|
+
filter: new HealthElementByHcPartyFilter_1.HealthElementByHcPartyFilter({ hcpId: patientUser.patientId }),
|
|
86
|
+
}))).rows[0]).to.be.deep.equal(sharedHealthData);
|
|
82
87
|
(0, chai_1.expect)(yield patientApi.healthcareElementApi.getHealthElementWithUser(patientUser, sharedHealthData.id)).to.be.deep.equal(sharedHealthData);
|
|
83
88
|
yield hcp.api.cryptoApi.forceReload();
|
|
84
89
|
const healthData2 = yield hcp.api.healthcareElementApi.createHealthElementWithUser(hcp.user, yield hcp.api.healthcareElementApi.newInstance(hcp.user, patient, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"icc-recovery-x-api.js","sourceRoot":"","sources":["../../../test/icc-x-api/icc-recovery-x-api.ts"],"names":[],"mappings":"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","sourcesContent":["import { createNewHcpApi, getEnvironmentInitializer, getTempEmail, isLiteTest, setLocalStorage, TestUtils } from '../utils/test_utils'\nimport { before } from 'mocha'\nimport { getEnvVariables, TestVars } from '@icure/test-setup/types'\nimport { CryptoPrimitives, IcureApi, KeyPair, sleep } from '../../icc-x-api'\nimport { randomUUID, webcrypto } from 'crypto'\nimport { User } from '../../icc-api/model/User'\nimport { assert, expect, use as chaiUse } from 'chai'\nimport * as chaiAsPromised from 'chai-as-promised'\nimport { TestKeyStorage, TestStorage } from '../utils/TestStorage'\nimport { CryptoActorStubWithType } from '../../icc-api/model/CryptoActorStub'\nimport { DataOwnerTypeEnum } from '../../icc-api/model/DataOwnerTypeEnum'\nimport { DataOwnerWithType } from '../../icc-api/model/DataOwnerWithType'\nimport { SecureDelegation } from '../../icc-api/model/SecureDelegation'\nimport AccessLevelEnum = SecureDelegation.AccessLevelEnum\nimport { RecoveryDataUseFailureReason } from '../../icc-x-api/icc-recovery-x-api'\nimport { KeyPairRecoverer } from '../../icc-x-api/crypto/KeyPairRecoverer'\nimport { delay } from 'lodash'\n\nchaiUse(chaiAsPromised)\nsetLocalStorage(fetch)\nlet env: TestVars\n\ndescribe('Recovery api use scenarios', () => {\n before(async function () {\n this.timeout(600000)\n const initializer = await getEnvironmentInitializer()\n env = await initializer.execute(getEnvVariables())\n })\n\n it('An hcp should be able to share data with an uninitialized patient data owner and the patient should be able to recover the exchange data with the provided recovery key.', async function () {\n const hcp = await createNewHcpApi(env)\n const patientId = randomUUID()\n const patientMail = getTempEmail()\n const patientPassword = randomUUID()\n const patient = await hcp.api.patientApi.createPatientWithUser(\n hcp.user,\n await hcp.api.patientApi.newInstance(hcp.user, {\n id: patientId,\n firstName: 'John',\n lastName: 'Doe',\n })\n )\n const patientUser = await hcp.api.userApi.createUser(\n new User({\n id: randomUUID(),\n login: patientMail,\n passwordHash: patientPassword,\n patientId: patientId,\n })\n )\n const healthData = await hcp.api.healthcareElementApi.createHealthElementWithUser(\n hcp.user,\n await hcp.api.healthcareElementApi.newInstance(hcp.user, patient, {\n descr: 'Health data',\n })\n )\n await expect(hcp.api.healthcareElementApi.shareWith(patientId, healthData)).to.be.rejected\n expect(await hcp.api.patientApi.forceInitialiseExchangeDataToNewlyInvitedPatient(patientId)).to.be.true\n const recoveryKey = await hcp.api.recoveryApi.createExchangeDataRecoveryInfo(patientId)\n const sharedHealthData = await hcp.api.healthcareElementApi.shareWith(patientId, healthData)\n const patientApi = await IcureApi.initialise(\n env.iCureUrl,\n { username: patientMail, password: patientPassword },\n {\n dataOwnerRequiresAnonymousDelegation(dataOwner: CryptoActorStubWithType): boolean {\n return dataOwner.type == DataOwnerTypeEnum.Patient\n },\n generateNewKeyForDataOwner(): Promise<boolean> {\n return Promise.resolve(true)\n },\n recoverAndVerifySelfHierarchyKeys(\n keysData: {\n dataOwner: DataOwnerWithType\n unknownKeys: string[]\n unavailableKeys: string[]\n }[]\n ): Promise<{\n [p: string]: { recoveredKeys: { [p: string]: KeyPair<CryptoKey> }; keyAuthenticity: { [p: string]: boolean } }\n }> {\n return Promise.resolve(Object.fromEntries(keysData.map((x) => [x.dataOwner.dataOwner.id, { recoveredKeys: {}, keyAuthenticity: {} }])))\n },\n verifyDelegatePublicKeys(_: any, publicKeys: string[]): Promise<string[]> {\n return Promise.resolve(publicKeys)\n },\n },\n webcrypto as any,\n fetch,\n {\n storage: new TestStorage(),\n keyStorage: new TestKeyStorage(),\n }\n )\n if (!isLiteTest()) await expect(patientApi.healthcareElementApi.getHealthElementWithUser(patientUser, sharedHealthData.id!)).to.be.rejected\n expect(await patientApi.recoveryApi.recoverExchangeData(recoveryKey + 'aa')).to.equal(RecoveryDataUseFailureReason.Missing) // User put in the wrong key\n expect(await patientApi.recoveryApi.recoverExchangeData(recoveryKey)).to.be.null\n expect(await patientApi.recoveryApi.recoverExchangeData(recoveryKey)).to.equal(RecoveryDataUseFailureReason.Missing) // After use it is automatically deleted\n expect(await patientApi.healthcareElementApi.getHealthElementWithUser(patientUser, sharedHealthData.id!)).to.be.deep.equal(sharedHealthData)\n await hcp.api.cryptoApi.forceReload()\n const healthData2 = await hcp.api.healthcareElementApi.createHealthElementWithUser(\n hcp.user,\n await hcp.api.healthcareElementApi.newInstance(\n hcp.user,\n patient,\n {\n descr: 'Health data 2',\n },\n {\n additionalDelegates: { [patientId]: AccessLevelEnum.WRITE },\n }\n )\n )\n expect(await patientApi.healthcareElementApi.getHealthElementWithUser(patientUser, healthData2.id!)).to.be.deep.equal(healthData2)\n expect(await hcp.api.cryptoApi.exchangeData.base.getExchangeDataByDelegatorDelegatePair(hcp.credentials.dataOwnerId, patientId)).to.have.length(1)\n })\n\n it('A user should be able to create keypair recovery data and use the recovery key to get back the keys.', async function () {\n const hcp = await createNewHcpApi(env)\n const patient = await hcp.api.patientApi.createPatientWithUser(\n hcp.user,\n await hcp.api.patientApi.newInstance(hcp.user, {\n firstName: 'John',\n lastName: 'Doe',\n note: 'Encrypted content',\n })\n )\n expect(patient.note).to.equal('Encrypted content')\n const recoveryKey = await hcp.api.recoveryApi.createRecoveryInfoForAvailableKeyPairs()\n let recoverAndVerifiedCalled = false\n const recoveredApi = await IcureApi.initialise(\n env.iCureUrl,\n { username: hcp.credentials.user, password: hcp.credentials.password },\n {\n dataOwnerRequiresAnonymousDelegation(dataOwner: CryptoActorStubWithType): boolean {\n return dataOwner.type == DataOwnerTypeEnum.Patient\n },\n generateNewKeyForDataOwner(): Promise<boolean> {\n return Promise.resolve(false)\n },\n async recoverAndVerifySelfHierarchyKeys(\n keysData: {\n dataOwner: DataOwnerWithType\n unknownKeys: string[]\n unavailableKeys: string[]\n }[],\n _: any,\n keyRecoverer: KeyPairRecoverer\n ): Promise<{\n [p: string]: { recoveredKeys: { [p: string]: KeyPair<CryptoKey> }; keyAuthenticity: { [p: string]: boolean } }\n }> {\n recoverAndVerifiedCalled = true\n const recovered = await keyRecoverer.recoverWithRecoveryKey(recoveryKey, true)\n if ('success' in recovered) {\n expect(Object.entries(recovered.success)).to.have.length(1)\n const recoveredForSelf = recovered.success[hcp.credentials.dataOwnerId]\n expect(Object.entries(recoveredForSelf)).to.have.length(1)\n expect(await keyRecoverer.recoverWithRecoveryKey(recoveryKey, true)).to.deep.equal({ failure: RecoveryDataUseFailureReason.Missing })\n const res: {\n [p: string]: { recoveredKeys: { [p: string]: KeyPair<CryptoKey> }; keyAuthenticity: { [p: string]: boolean } }\n } = {}\n for (const keyData of keysData) {\n if (keyData.dataOwner.dataOwner.id == hcp.credentials.dataOwnerId) {\n res[keyData.dataOwner.dataOwner.id] = {\n recoveredKeys: recoveredForSelf,\n keyAuthenticity: {},\n }\n } else {\n res[keyData.dataOwner.dataOwner.id!] = {\n recoveredKeys: {},\n keyAuthenticity: {},\n }\n }\n }\n return res\n } else {\n assert.fail('Could not recover keys with recovery key')\n }\n },\n verifyDelegatePublicKeys(_: any, publicKeys: string[]): Promise<string[]> {\n return Promise.resolve(publicKeys)\n },\n },\n webcrypto as any,\n fetch,\n {\n storage: new TestStorage(),\n keyStorage: new TestKeyStorage(),\n }\n )\n expect(recoverAndVerifiedCalled).to.be.true\n expect(recoveredApi.dataOwnerApi.getHexPublicKeysOf(await recoveredApi.healthcarePartyApi.getCurrentHealthcareParty())).to.have.length(1)\n expect(await recoveredApi.patientApi.getPatientWithUser(hcp.user, patient.id!)).to.be.deep.equal(patient)\n })\n\n it('Recovery data should expire after the lifetime has elapsed', async function () {\n const hcp = await createNewHcpApi(env)\n const recoveryKey = await hcp.api.recoveryApi.createRecoveryInfoForAvailableKeyPairs({ lifetimeSeconds: 5 })\n await sleep(1000)\n const recovered1 = await hcp.api.recoveryApi.recoverKeyPairs(recoveryKey, false)\n expect(recovered1).to.have.keys('success')\n await sleep(1000)\n const recovered2 = await hcp.api.recoveryApi.recoverKeyPairs(recoveryKey, false)\n expect(recovered2).to.have.keys('success')\n await sleep(3000)\n const recovered3 = await hcp.api.recoveryApi.recoverKeyPairs(recoveryKey, false)\n expect(recovered3).to.deep.equal({ failure: RecoveryDataUseFailureReason.Missing })\n })\n})\n"]}
|
|
1
|
+
{"version":3,"file":"icc-recovery-x-api.js","sourceRoot":"","sources":["../../../test/icc-x-api/icc-recovery-x-api.ts"],"names":[],"mappings":"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","sourcesContent":["import { createNewHcpApi, getEnvironmentInitializer, getTempEmail, isLiteTest, setLocalStorage, TestUtils } from '../utils/test_utils'\nimport { before } from 'mocha'\nimport { getEnvVariables, TestVars } from '@icure/test-setup/types'\nimport { CryptoPrimitives, IcureApi, KeyPair, sleep } from '../../icc-x-api'\nimport { randomUUID, webcrypto } from 'crypto'\nimport { User } from '../../icc-api/model/User'\nimport { assert, expect, use as chaiUse } from 'chai'\nimport * as chaiAsPromised from 'chai-as-promised'\nimport { TestKeyStorage, TestStorage } from '../utils/TestStorage'\nimport { CryptoActorStubWithType } from '../../icc-api/model/CryptoActorStub'\nimport { DataOwnerTypeEnum } from '../../icc-api/model/DataOwnerTypeEnum'\nimport { DataOwnerWithType } from '../../icc-api/model/DataOwnerWithType'\nimport { SecureDelegation } from '../../icc-api/model/SecureDelegation'\nimport AccessLevelEnum = SecureDelegation.AccessLevelEnum\nimport { RecoveryDataUseFailureReason } from '../../icc-x-api/icc-recovery-x-api'\nimport { KeyPairRecoverer } from '../../icc-x-api/crypto/KeyPairRecoverer'\nimport { delay } from 'lodash'\nimport { FilterChainHealthElement } from '../../icc-api/model/FilterChainHealthElement'\nimport { HealthElementByHcPartyFilter } from '../../icc-x-api/filters/HealthElementByHcPartyFilter'\n\nchaiUse(chaiAsPromised)\nsetLocalStorage(fetch)\nlet env: TestVars\n\ndescribe('Recovery api use scenarios', () => {\n before(async function () {\n this.timeout(600000)\n const initializer = await getEnvironmentInitializer()\n env = await initializer.execute(getEnvVariables())\n })\n\n it('An hcp should be able to share data with an uninitialized patient data owner and the patient should be able to recover the exchange data with the provided recovery key.', async function () {\n const hcp = await createNewHcpApi(env)\n const patientId = randomUUID()\n const patientMail = getTempEmail()\n const patientPassword = randomUUID()\n const patient = await hcp.api.patientApi.createPatientWithUser(\n hcp.user,\n await hcp.api.patientApi.newInstance(hcp.user, {\n id: patientId,\n firstName: 'John',\n lastName: 'Doe',\n })\n )\n const patientUser = await hcp.api.userApi.createUser(\n new User({\n id: randomUUID(),\n login: patientMail,\n passwordHash: patientPassword,\n patientId: patientId,\n })\n )\n const healthData = await hcp.api.healthcareElementApi.createHealthElementWithUser(\n hcp.user,\n await hcp.api.healthcareElementApi.newInstance(hcp.user, patient, {\n descr: 'Health data',\n })\n )\n await expect(hcp.api.healthcareElementApi.shareWith(patientId, healthData)).to.be.rejected\n expect(await hcp.api.patientApi.forceInitialiseExchangeDataToNewlyInvitedPatient(patientId)).to.be.true\n const recoveryKey = await hcp.api.recoveryApi.createExchangeDataRecoveryInfo(patientId)\n const sharedHealthData = await hcp.api.healthcareElementApi.shareWith(patientId, healthData)\n const patientApi = await IcureApi.initialise(\n env.iCureUrl,\n { username: patientMail, password: patientPassword },\n {\n dataOwnerRequiresAnonymousDelegation(dataOwner: CryptoActorStubWithType): boolean {\n return dataOwner.type == DataOwnerTypeEnum.Patient\n },\n generateNewKeyForDataOwner(): Promise<boolean> {\n return Promise.resolve(true)\n },\n recoverAndVerifySelfHierarchyKeys(\n keysData: {\n dataOwner: DataOwnerWithType\n unknownKeys: string[]\n unavailableKeys: string[]\n }[]\n ): Promise<{\n [p: string]: { recoveredKeys: { [p: string]: KeyPair<CryptoKey> }; keyAuthenticity: { [p: string]: boolean } }\n }> {\n return Promise.resolve(Object.fromEntries(keysData.map((x) => [x.dataOwner.dataOwner.id, { recoveredKeys: {}, keyAuthenticity: {} }])))\n },\n verifyDelegatePublicKeys(_: any, publicKeys: string[]): Promise<string[]> {\n return Promise.resolve(publicKeys)\n },\n },\n webcrypto as any,\n fetch,\n {\n storage: new TestStorage(),\n keyStorage: new TestKeyStorage(),\n }\n )\n if (!isLiteTest()) await expect(patientApi.healthcareElementApi.getHealthElementWithUser(patientUser, sharedHealthData.id!)).to.be.rejected\n expect(await patientApi.recoveryApi.recoverExchangeData(recoveryKey + 'aa')).to.equal(RecoveryDataUseFailureReason.Missing) // User put in the wrong key\n expect(await patientApi.recoveryApi.recoverExchangeData(recoveryKey)).to.be.null\n expect(await patientApi.recoveryApi.recoverExchangeData(recoveryKey)).to.equal(RecoveryDataUseFailureReason.Missing) // After use it is automatically deleted\n expect(\n (\n await patientApi.healthcareElementApi.filterByWithUser(\n patientUser,\n undefined,\n 10000,\n new FilterChainHealthElement({\n filter: new HealthElementByHcPartyFilter({ hcpId: patientUser.patientId }),\n })\n )\n ).rows![0]\n ).to.be.deep.equal(sharedHealthData)\n expect(await patientApi.healthcareElementApi.getHealthElementWithUser(patientUser, sharedHealthData.id!)).to.be.deep.equal(sharedHealthData)\n await hcp.api.cryptoApi.forceReload()\n const healthData2 = await hcp.api.healthcareElementApi.createHealthElementWithUser(\n hcp.user,\n await hcp.api.healthcareElementApi.newInstance(\n hcp.user,\n patient,\n {\n descr: 'Health data 2',\n },\n {\n additionalDelegates: { [patientId]: AccessLevelEnum.WRITE },\n }\n )\n )\n expect(await patientApi.healthcareElementApi.getHealthElementWithUser(patientUser, healthData2.id!)).to.be.deep.equal(healthData2)\n expect(await hcp.api.cryptoApi.exchangeData.base.getExchangeDataByDelegatorDelegatePair(hcp.credentials.dataOwnerId, patientId)).to.have.length(1)\n })\n\n it('A user should be able to create keypair recovery data and use the recovery key to get back the keys.', async function () {\n const hcp = await createNewHcpApi(env)\n const patient = await hcp.api.patientApi.createPatientWithUser(\n hcp.user,\n await hcp.api.patientApi.newInstance(hcp.user, {\n firstName: 'John',\n lastName: 'Doe',\n note: 'Encrypted content',\n })\n )\n expect(patient.note).to.equal('Encrypted content')\n const recoveryKey = await hcp.api.recoveryApi.createRecoveryInfoForAvailableKeyPairs()\n let recoverAndVerifiedCalled = false\n const recoveredApi = await IcureApi.initialise(\n env.iCureUrl,\n { username: hcp.credentials.user, password: hcp.credentials.password },\n {\n dataOwnerRequiresAnonymousDelegation(dataOwner: CryptoActorStubWithType): boolean {\n return dataOwner.type == DataOwnerTypeEnum.Patient\n },\n generateNewKeyForDataOwner(): Promise<boolean> {\n return Promise.resolve(false)\n },\n async recoverAndVerifySelfHierarchyKeys(\n keysData: {\n dataOwner: DataOwnerWithType\n unknownKeys: string[]\n unavailableKeys: string[]\n }[],\n _: any,\n keyRecoverer: KeyPairRecoverer\n ): Promise<{\n [p: string]: { recoveredKeys: { [p: string]: KeyPair<CryptoKey> }; keyAuthenticity: { [p: string]: boolean } }\n }> {\n recoverAndVerifiedCalled = true\n const recovered = await keyRecoverer.recoverWithRecoveryKey(recoveryKey, true)\n if ('success' in recovered) {\n expect(Object.entries(recovered.success)).to.have.length(1)\n const recoveredForSelf = recovered.success[hcp.credentials.dataOwnerId]\n expect(Object.entries(recoveredForSelf)).to.have.length(1)\n expect(await keyRecoverer.recoverWithRecoveryKey(recoveryKey, true)).to.deep.equal({ failure: RecoveryDataUseFailureReason.Missing })\n const res: {\n [p: string]: { recoveredKeys: { [p: string]: KeyPair<CryptoKey> }; keyAuthenticity: { [p: string]: boolean } }\n } = {}\n for (const keyData of keysData) {\n if (keyData.dataOwner.dataOwner.id == hcp.credentials.dataOwnerId) {\n res[keyData.dataOwner.dataOwner.id] = {\n recoveredKeys: recoveredForSelf,\n keyAuthenticity: {},\n }\n } else {\n res[keyData.dataOwner.dataOwner.id!] = {\n recoveredKeys: {},\n keyAuthenticity: {},\n }\n }\n }\n return res\n } else {\n assert.fail('Could not recover keys with recovery key')\n }\n },\n verifyDelegatePublicKeys(_: any, publicKeys: string[]): Promise<string[]> {\n return Promise.resolve(publicKeys)\n },\n },\n webcrypto as any,\n fetch,\n {\n storage: new TestStorage(),\n keyStorage: new TestKeyStorage(),\n }\n )\n expect(recoverAndVerifiedCalled).to.be.true\n expect(recoveredApi.dataOwnerApi.getHexPublicKeysOf(await recoveredApi.healthcarePartyApi.getCurrentHealthcareParty())).to.have.length(1)\n expect(await recoveredApi.patientApi.getPatientWithUser(hcp.user, patient.id!)).to.be.deep.equal(patient)\n })\n\n it('Recovery data should expire after the lifetime has elapsed', async function () {\n const hcp = await createNewHcpApi(env)\n const recoveryKey = await hcp.api.recoveryApi.createRecoveryInfoForAvailableKeyPairs({ lifetimeSeconds: 5 })\n await sleep(1000)\n const recovered1 = await hcp.api.recoveryApi.recoverKeyPairs(recoveryKey, false)\n expect(recovered1).to.have.keys('success')\n await sleep(1000)\n const recovered2 = await hcp.api.recoveryApi.recoverKeyPairs(recoveryKey, false)\n expect(recovered2).to.have.keys('success')\n await sleep(3000)\n const recovered3 = await hcp.api.recoveryApi.recoverKeyPairs(recoveryKey, false)\n expect(recovered3).to.deep.equal({ failure: RecoveryDataUseFailureReason.Missing })\n })\n})\n"]}
|