@icure/api 6.0.2 → 6.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/icc-api/api/IccAccesslogApi.d.ts +3 -1
- package/icc-api/api/IccAccesslogApi.js +10 -8
- package/icc-api/api/IccAccesslogApi.js.map +1 -1
- package/icc-api/api/IccAgendaApi.d.ts +3 -1
- package/icc-api/api/IccAgendaApi.js +10 -8
- package/icc-api/api/IccAgendaApi.js.map +1 -1
- package/icc-api/api/IccAnonymousAccessApi.d.ts +3 -1
- package/icc-api/api/IccAnonymousAccessApi.js +6 -4
- package/icc-api/api/IccAnonymousAccessApi.js.map +1 -1
- package/icc-api/api/IccApplicationsettingsApi.d.ts +3 -1
- package/icc-api/api/IccApplicationsettingsApi.js +6 -4
- package/icc-api/api/IccApplicationsettingsApi.js.map +1 -1
- package/icc-api/api/IccArticleApi.d.ts +3 -1
- package/icc-api/api/IccArticleApi.js +8 -6
- package/icc-api/api/IccArticleApi.js.map +1 -1
- package/icc-api/api/IccAuthApi.d.ts +13 -1
- package/icc-api/api/IccAuthApi.js +30 -4
- package/icc-api/api/IccAuthApi.js.map +1 -1
- package/icc-api/api/IccBeefactApi.d.ts +3 -1
- package/icc-api/api/IccBeefactApi.js +4 -2
- package/icc-api/api/IccBeefactApi.js.map +1 -1
- package/icc-api/api/IccBekmehrApi.d.ts +3 -1
- package/icc-api/api/IccBekmehrApi.js +30 -28
- package/icc-api/api/IccBekmehrApi.js.map +1 -1
- package/icc-api/api/IccBemikronoApi.d.ts +3 -1
- package/icc-api/api/IccBemikronoApi.js +11 -9
- package/icc-api/api/IccBemikronoApi.js.map +1 -1
- package/icc-api/api/IccBeresultexportApi.d.ts +3 -1
- package/icc-api/api/IccBeresultexportApi.js +6 -4
- package/icc-api/api/IccBeresultexportApi.js.map +1 -1
- package/icc-api/api/IccBeresultimportApi.d.ts +3 -1
- package/icc-api/api/IccBeresultimportApi.js +6 -4
- package/icc-api/api/IccBeresultimportApi.js.map +1 -1
- package/icc-api/api/IccBesamv2Api.d.ts +3 -1
- package/icc-api/api/IccBesamv2Api.js +36 -34
- package/icc-api/api/IccBesamv2Api.js.map +1 -1
- package/icc-api/api/IccCalendarItemApi.d.ts +3 -1
- package/icc-api/api/IccCalendarItemApi.js +15 -13
- package/icc-api/api/IccCalendarItemApi.js.map +1 -1
- package/icc-api/api/IccCalendarItemTypeApi.d.ts +3 -1
- package/icc-api/api/IccCalendarItemTypeApi.js +9 -7
- package/icc-api/api/IccCalendarItemTypeApi.js.map +1 -1
- package/icc-api/api/IccClassificationApi.d.ts +3 -1
- package/icc-api/api/IccClassificationApi.js +11 -9
- package/icc-api/api/IccClassificationApi.js.map +1 -1
- package/icc-api/api/IccClassificationTemplateApi.d.ts +3 -1
- package/icc-api/api/IccClassificationTemplateApi.js +11 -9
- package/icc-api/api/IccClassificationTemplateApi.js.map +1 -1
- package/icc-api/api/IccCodeApi.d.ts +3 -1
- package/icc-api/api/IccCodeApi.js +19 -17
- package/icc-api/api/IccCodeApi.js.map +1 -1
- package/icc-api/api/IccContactApi.d.ts +3 -2
- package/icc-api/api/IccContactApi.js +31 -32
- package/icc-api/api/IccContactApi.js.map +1 -1
- package/icc-api/api/IccDeviceApi.d.ts +3 -1
- package/icc-api/api/IccDeviceApi.js +21 -19
- package/icc-api/api/IccDeviceApi.js.map +1 -1
- package/icc-api/api/IccDoctemplateApi.d.ts +3 -1
- package/icc-api/api/IccDoctemplateApi.js +16 -14
- package/icc-api/api/IccDoctemplateApi.js.map +1 -1
- package/icc-api/api/IccDocumentApi.d.ts +3 -1
- package/icc-api/api/IccDocumentApi.js +23 -21
- package/icc-api/api/IccDocumentApi.js.map +1 -1
- package/icc-api/api/IccDocumentTemplateApi.d.ts +3 -1
- package/icc-api/api/IccDocumentTemplateApi.js +16 -14
- package/icc-api/api/IccDocumentTemplateApi.js.map +1 -1
- package/icc-api/api/IccEntityrefApi.d.ts +3 -1
- package/icc-api/api/IccEntityrefApi.js +5 -3
- package/icc-api/api/IccEntityrefApi.js.map +1 -1
- package/icc-api/api/IccEntitytemplateApi.d.ts +3 -1
- package/icc-api/api/IccEntitytemplateApi.js +14 -12
- package/icc-api/api/IccEntitytemplateApi.js.map +1 -1
- package/icc-api/api/IccFormApi.d.ts +3 -1
- package/icc-api/api/IccFormApi.js +27 -25
- package/icc-api/api/IccFormApi.js.map +1 -1
- package/icc-api/api/IccFrontendmigrationApi.d.ts +3 -1
- package/icc-api/api/IccFrontendmigrationApi.js +9 -7
- package/icc-api/api/IccFrontendmigrationApi.js.map +1 -1
- package/icc-api/api/IccGroupApi.d.ts +3 -1
- package/icc-api/api/IccGroupApi.js +19 -17
- package/icc-api/api/IccGroupApi.js.map +1 -1
- package/icc-api/api/IccHcpartyApi.d.ts +3 -1
- package/icc-api/api/IccHcpartyApi.js +25 -23
- package/icc-api/api/IccHcpartyApi.js.map +1 -1
- package/icc-api/api/IccHelementApi.d.ts +3 -1
- package/icc-api/api/IccHelementApi.js +16 -14
- package/icc-api/api/IccHelementApi.js.map +1 -1
- package/icc-api/api/IccIcureApi.d.ts +3 -1
- package/icc-api/api/IccIcureApi.js +19 -17
- package/icc-api/api/IccIcureApi.js.map +1 -1
- package/icc-api/api/IccInsuranceApi.d.ts +3 -1
- package/icc-api/api/IccInsuranceApi.js +10 -8
- package/icc-api/api/IccInsuranceApi.js.map +1 -1
- package/icc-api/api/IccInvoiceApi.d.ts +3 -1
- package/icc-api/api/IccInvoiceApi.js +34 -32
- package/icc-api/api/IccInvoiceApi.js.map +1 -1
- package/icc-api/api/IccKeywordApi.d.ts +3 -1
- package/icc-api/api/IccKeywordApi.js +9 -7
- package/icc-api/api/IccKeywordApi.js.map +1 -1
- package/icc-api/api/IccMaintenanceTaskApi.d.ts +3 -1
- package/icc-api/api/IccMaintenanceTaskApi.js +8 -6
- package/icc-api/api/IccMaintenanceTaskApi.js.map +1 -1
- package/icc-api/api/IccMedexApi.d.ts +3 -1
- package/icc-api/api/IccMedexApi.js +4 -2
- package/icc-api/api/IccMedexApi.js.map +1 -1
- package/icc-api/api/IccMedicallocationApi.d.ts +3 -1
- package/icc-api/api/IccMedicallocationApi.js +8 -6
- package/icc-api/api/IccMedicallocationApi.js.map +1 -1
- package/icc-api/api/IccMessageApi.d.ts +3 -1
- package/icc-api/api/IccMessageApi.js +22 -20
- package/icc-api/api/IccMessageApi.js.map +1 -1
- package/icc-api/api/IccPatientApi.d.ts +3 -1
- package/icc-api/api/IccPatientApi.js +37 -35
- package/icc-api/api/IccPatientApi.js.map +1 -1
- package/icc-api/api/IccPermissionApi.d.ts +3 -1
- package/icc-api/api/IccPermissionApi.js +4 -2
- package/icc-api/api/IccPermissionApi.js.map +1 -1
- package/icc-api/api/IccPlaceApi.d.ts +3 -1
- package/icc-api/api/IccPlaceApi.js +8 -6
- package/icc-api/api/IccPlaceApi.js.map +1 -1
- package/icc-api/api/IccPubsubApi.d.ts +3 -1
- package/icc-api/api/IccPubsubApi.js +7 -5
- package/icc-api/api/IccPubsubApi.js.map +1 -1
- package/icc-api/api/IccReceiptApi.d.ts +3 -1
- package/icc-api/api/IccReceiptApi.js +10 -8
- package/icc-api/api/IccReceiptApi.js.map +1 -1
- package/icc-api/api/IccReplicationApi.d.ts +3 -1
- package/icc-api/api/IccReplicationApi.js +7 -5
- package/icc-api/api/IccReplicationApi.js.map +1 -1
- package/icc-api/api/IccTarificationApi.d.ts +3 -1
- package/icc-api/api/IccTarificationApi.js +11 -9
- package/icc-api/api/IccTarificationApi.js.map +1 -1
- package/icc-api/api/IccTimeTableApi.d.ts +3 -1
- package/icc-api/api/IccTimeTableApi.js +9 -7
- package/icc-api/api/IccTimeTableApi.js.map +1 -1
- package/icc-api/api/IccTmpApi.d.ts +3 -1
- package/icc-api/api/IccTmpApi.js +74 -72
- package/icc-api/api/IccTmpApi.js.map +1 -1
- package/icc-api/api/IccUserApi.d.ts +3 -1
- package/icc-api/api/IccUserApi.js +29 -27
- package/icc-api/api/IccUserApi.js.map +1 -1
- package/icc-api/api/XHR.d.ts +2 -1
- package/icc-api/api/XHR.js +45 -59
- package/icc-api/api/XHR.js.map +1 -1
- package/icc-api/model/AuthenticationResponse.d.ts +2 -0
- package/icc-api/model/AuthenticationResponse.js.map +1 -1
- package/icc-api/model/Group.d.ts +6 -0
- package/icc-api/model/Group.js.map +1 -1
- package/icc-api/model/RefreshTokenExpiredError.d.ts +3 -0
- package/icc-api/model/RefreshTokenExpiredError.js +10 -0
- package/icc-api/model/RefreshTokenExpiredError.js.map +1 -0
- package/icc-api/model/RegistrationInformation.d.ts +1 -0
- package/icc-api/model/RegistrationInformation.js.map +1 -1
- package/icc-api/model/TimeTableItem.d.ts +2 -1
- package/icc-api/model/TimeTableItem.js.map +1 -1
- package/icc-x-api/auth/AuthService.d.ts +16 -0
- package/icc-x-api/auth/AuthService.js +3 -0
- package/icc-x-api/auth/AuthService.js.map +1 -0
- package/icc-x-api/auth/AuthenticationProvider.d.ts +30 -0
- package/icc-x-api/auth/AuthenticationProvider.js +56 -0
- package/icc-x-api/auth/AuthenticationProvider.js.map +1 -0
- package/icc-x-api/auth/BasicAuthService.d.ts +12 -0
- package/icc-x-api/auth/BasicAuthService.js +27 -0
- package/icc-x-api/auth/BasicAuthService.js.map +1 -0
- package/icc-x-api/auth/EnsembleAuthService.d.ts +17 -0
- package/icc-x-api/auth/EnsembleAuthService.js +60 -0
- package/icc-x-api/auth/EnsembleAuthService.js.map +1 -0
- package/icc-x-api/auth/JwtAuthService.d.ts +19 -0
- package/icc-x-api/auth/JwtAuthService.js +97 -0
- package/icc-x-api/auth/JwtAuthService.js.map +1 -0
- package/icc-x-api/auth/NoAuthService.d.ts +8 -0
- package/icc-x-api/auth/NoAuthService.js +30 -0
- package/icc-x-api/auth/NoAuthService.js.map +1 -0
- package/icc-x-api/filters/MaintenanceTaskAfterDateFilter.d.ts +1 -0
- package/icc-x-api/filters/MaintenanceTaskAfterDateFilter.js.map +1 -1
- package/icc-x-api/icc-accesslog-x-api.d.ts +2 -1
- package/icc-x-api/icc-accesslog-x-api.js +3 -2
- package/icc-x-api/icc-accesslog-x-api.js.map +1 -1
- package/icc-x-api/icc-bekmehr-x-api.d.ts +2 -1
- package/icc-x-api/icc-bekmehr-x-api.js +3 -2
- package/icc-x-api/icc-bekmehr-x-api.js.map +1 -1
- package/icc-x-api/icc-calendar-item-x-api.d.ts +2 -1
- package/icc-x-api/icc-calendar-item-x-api.js +3 -2
- package/icc-x-api/icc-calendar-item-x-api.js.map +1 -1
- package/icc-x-api/icc-classification-x-api.d.ts +2 -1
- package/icc-x-api/icc-classification-x-api.js +3 -2
- package/icc-x-api/icc-classification-x-api.js.map +1 -1
- package/icc-x-api/icc-code-x-api.d.ts +2 -1
- package/icc-x-api/icc-code-x-api.js +3 -2
- package/icc-x-api/icc-code-x-api.js.map +1 -1
- package/icc-x-api/icc-contact-x-api.d.ts +2 -1
- package/icc-x-api/icc-contact-x-api.js +3 -2
- package/icc-x-api/icc-contact-x-api.js.map +1 -1
- package/icc-x-api/icc-crypto-x-api.d.ts +13 -0
- package/icc-x-api/icc-crypto-x-api.js +22 -0
- package/icc-x-api/icc-crypto-x-api.js.map +1 -1
- package/icc-x-api/icc-doctemplate-x-api.d.ts +3 -1
- package/icc-x-api/icc-doctemplate-x-api.js +5 -3
- package/icc-x-api/icc-doctemplate-x-api.js.map +1 -1
- package/icc-x-api/icc-document-x-api.d.ts +3 -1
- package/icc-x-api/icc-document-x-api.js +5 -3
- package/icc-x-api/icc-document-x-api.js.map +1 -1
- package/icc-x-api/icc-form-x-api.d.ts +2 -1
- package/icc-x-api/icc-form-x-api.js +3 -2
- package/icc-x-api/icc-form-x-api.js.map +1 -1
- package/icc-x-api/icc-hcparty-x-api.d.ts +2 -1
- package/icc-x-api/icc-hcparty-x-api.js +3 -2
- package/icc-x-api/icc-hcparty-x-api.js.map +1 -1
- package/icc-x-api/icc-helement-x-api.d.ts +2 -1
- package/icc-x-api/icc-helement-x-api.js +3 -2
- package/icc-x-api/icc-helement-x-api.js.map +1 -1
- package/icc-x-api/icc-invoice-x-api.d.ts +2 -1
- package/icc-x-api/icc-invoice-x-api.js +3 -2
- package/icc-x-api/icc-invoice-x-api.js.map +1 -1
- package/icc-x-api/icc-maintenance-task-x-api.d.ts +2 -1
- package/icc-x-api/icc-maintenance-task-x-api.js +3 -2
- package/icc-x-api/icc-maintenance-task-x-api.js.map +1 -1
- package/icc-x-api/icc-message-x-api.d.ts +2 -1
- package/icc-x-api/icc-message-x-api.js +3 -2
- package/icc-x-api/icc-message-x-api.js.map +1 -1
- package/icc-x-api/icc-patient-x-api.d.ts +2 -1
- package/icc-x-api/icc-patient-x-api.js +3 -2
- package/icc-x-api/icc-patient-x-api.js.map +1 -1
- package/icc-x-api/icc-receipt-x-api.d.ts +2 -1
- package/icc-x-api/icc-receipt-x-api.js +3 -2
- package/icc-x-api/icc-receipt-x-api.js.map +1 -1
- package/icc-x-api/icc-time-table-x-api.d.ts +2 -1
- package/icc-x-api/icc-time-table-x-api.js +3 -2
- package/icc-x-api/icc-time-table-x-api.js.map +1 -1
- package/icc-x-api/icc-user-x-api.d.ts +2 -1
- package/icc-x-api/icc-user-x-api.js +3 -2
- package/icc-x-api/icc-user-x-api.js.map +1 -1
- package/icc-x-api/index.d.ts +0 -4
- package/icc-x-api/index.js +34 -35
- package/icc-x-api/index.js.map +1 -1
- package/icc-x-api/storage/StorageFacade.d.ts +1 -1
- package/icc-x-api/storage/StorageFacade.js.map +1 -1
- package/package.json +1 -1
|
@@ -2,12 +2,14 @@ import { IccDoctemplateApi } from '../icc-api';
|
|
|
2
2
|
import { IccCryptoXApi } from './icc-crypto-x-api';
|
|
3
3
|
import * as models from '../icc-api/model/models';
|
|
4
4
|
import { DocumentTemplate } from '../icc-api/model/models';
|
|
5
|
+
import { AuthenticationProvider } from './auth/AuthenticationProvider';
|
|
5
6
|
export declare class IccDoctemplateXApi extends IccDoctemplateApi {
|
|
6
7
|
crypto: IccCryptoXApi;
|
|
8
|
+
authenticationProvider: AuthenticationProvider;
|
|
7
9
|
fetchImpl: (input: RequestInfo, init?: RequestInit) => Promise<Response>;
|
|
8
10
|
constructor(host: string, headers: {
|
|
9
11
|
[key: string]: string;
|
|
10
|
-
}, crypto: IccCryptoXApi, fetchImpl?: (input: RequestInfo, init?: RequestInit) => Promise<Response>);
|
|
12
|
+
}, crypto: IccCryptoXApi, authenticationProvider?: AuthenticationProvider, fetchImpl?: (input: RequestInfo, init?: RequestInit) => Promise<Response>);
|
|
11
13
|
newInstance(user: models.User, template: string, c: any): Promise<DocumentTemplate>;
|
|
12
14
|
findAllByOwnerId(ownerId: string): Promise<Array<models.DocumentTemplate>>;
|
|
13
15
|
getAttachmentUrl(documentId: string, attachmentId: string): string;
|
|
@@ -5,15 +5,17 @@ const icc_api_1 = require("../icc-api");
|
|
|
5
5
|
const lodash_1 = require("lodash");
|
|
6
6
|
const binary_utils_1 = require("./utils/binary-utils");
|
|
7
7
|
const XHR_1 = require("../icc-api/api/XHR");
|
|
8
|
+
const AuthenticationProvider_1 = require("./auth/AuthenticationProvider");
|
|
8
9
|
// noinspection JSUnusedGlobalSymbols
|
|
9
10
|
class IccDoctemplateXApi extends icc_api_1.IccDoctemplateApi {
|
|
10
|
-
constructor(host, headers, crypto, fetchImpl = typeof window !== 'undefined'
|
|
11
|
+
constructor(host, headers, crypto, authenticationProvider = new AuthenticationProvider_1.NoAuthenticationProvider(), fetchImpl = typeof window !== 'undefined'
|
|
11
12
|
? window.fetch
|
|
12
13
|
: typeof self !== 'undefined'
|
|
13
14
|
? self.fetch
|
|
14
15
|
: fetch) {
|
|
15
|
-
super(host, headers, fetchImpl);
|
|
16
|
+
super(host, headers, authenticationProvider, fetchImpl);
|
|
16
17
|
this.crypto = crypto;
|
|
18
|
+
this.authenticationProvider = authenticationProvider;
|
|
17
19
|
this.fetchImpl = fetchImpl;
|
|
18
20
|
}
|
|
19
21
|
newInstance(user, template, c) {
|
|
@@ -58,7 +60,7 @@ class IccDoctemplateXApi extends icc_api_1.IccDoctemplateApi {
|
|
|
58
60
|
.replace('{attachmentId}', attachmentId + '') +
|
|
59
61
|
'?ts=' +
|
|
60
62
|
new Date().getTime();
|
|
61
|
-
return XHR_1.XHR.sendCommand('GET', _url, this.headers, _body, this.fetchImpl)
|
|
63
|
+
return XHR_1.XHR.sendCommand('GET', _url, this.headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())
|
|
62
64
|
.then((doc) => {
|
|
63
65
|
if (doc.contentType.startsWith('application/octet-stream')) {
|
|
64
66
|
const enc = new TextDecoder('utf-8');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"icc-doctemplate-x-api.js","sourceRoot":"","sources":["../../icc-x-api/icc-doctemplate-x-api.ts"],"names":[],"mappings":";;;AAAA,wCAA8C;AAG9C,mCAA+B;AAG/B,uDAAgD;AAChD,4CAAwC;
|
|
1
|
+
{"version":3,"file":"icc-doctemplate-x-api.js","sourceRoot":"","sources":["../../icc-x-api/icc-doctemplate-x-api.ts"],"names":[],"mappings":"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","sourcesContent":["import { IccDoctemplateApi } from '../icc-api'\nimport { IccCryptoXApi } from './icc-crypto-x-api'\n\nimport { extend } from 'lodash'\nimport * as models from '../icc-api/model/models'\nimport { DocumentTemplate } from '../icc-api/model/models'\nimport { string2ua } from './utils/binary-utils'\nimport { XHR } from '../icc-api/api/XHR'\nimport { AuthenticationProvider, NoAuthenticationProvider } from './auth/AuthenticationProvider'\n\n// noinspection JSUnusedGlobalSymbols\nexport class IccDoctemplateXApi extends IccDoctemplateApi {\n crypto: IccCryptoXApi\n authenticationProvider: AuthenticationProvider\n fetchImpl: (input: RequestInfo, init?: RequestInit) => Promise<Response>\n\n constructor(\n host: string,\n headers: { [key: string]: string },\n crypto: IccCryptoXApi,\n authenticationProvider: AuthenticationProvider = new NoAuthenticationProvider(),\n fetchImpl: (input: RequestInfo, init?: RequestInit) => Promise<Response> = typeof window !== 'undefined'\n ? window.fetch\n : typeof self !== 'undefined'\n ? self.fetch\n : fetch\n ) {\n super(host, headers, authenticationProvider, fetchImpl)\n this.crypto = crypto\n this.authenticationProvider = authenticationProvider\n this.fetchImpl = fetchImpl\n }\n\n newInstance(user: models.User, template: string, c: any): Promise<DocumentTemplate> {\n return new Promise<DocumentTemplate>((resolve, reject) => {\n const documentTemplate: DocumentTemplate = extend(\n {\n id: this.crypto.randomUuid(),\n _type: 'org.taktik.icure.entities.DocumentTemplate',\n owner: user.id,\n created: new Date().getTime(),\n modified: new Date().getTime(),\n guid: this.crypto.randomUuid(),\n group: null,\n specialty: null,\n attachment: string2ua(template),\n mainUti: 'public.plain-text',\n },\n c || {}\n )\n if (documentTemplate.group && documentTemplate.group.guid == null) {\n documentTemplate.group.guid = this.crypto.randomUuid()\n }\n\n //sauver l doctemplate vide\n\n if (template) {\n //save attachement\n }\n\n return resolve(documentTemplate)\n })\n }\n\n // noinspection JSUnusedLocalSymbols\n findAllByOwnerId(ownerId: string): Promise<Array<models.DocumentTemplate>> {\n return new Promise(function (resolve, reject) {\n reject(console.log('findByHCPartyPatientSecretFKeys not implemented in document API!'))\n })\n }\n\n // noinspection JSUnusedGlobalSymbols\n getAttachmentUrl(documentId: string, attachmentId: string) {\n return (\n this.host + '/doctemplate/{documentId}/attachment/{attachmentId}'.replace('{documentId}', documentId).replace('{attachmentId}', attachmentId)\n )\n }\n\n getAttachmentText(documentTemplateId: string, attachmentId: string): Promise<any | boolean> {\n const _body = null\n\n const _url =\n this.host +\n '/doctemplate/{documentTemplateId}/attachmentText/{attachmentId}'\n .replace('{documentTemplateId}', documentTemplateId + '')\n .replace('{attachmentId}', attachmentId + '') +\n '?ts=' +\n new Date().getTime()\n\n return XHR.sendCommand('GET', _url, this.headers, _body, this.fetchImpl, undefined, this.authenticationProvider.getAuthService())\n .then((doc) => {\n if (doc.contentType.startsWith('application/octet-stream')) {\n const enc = new TextDecoder('utf-8')\n const arr = new Uint8Array(doc.body)\n return enc.decode(arr)\n } else if (doc.contentType.startsWith('text/plain') || doc.contentType.startsWith('text/html') || doc.contentType.startsWith('text/xml')) {\n return doc.body\n } else {\n return false\n }\n })\n .catch((err) => this.handleError(err))\n }\n}\n"]}
|
|
@@ -2,6 +2,7 @@ import { IccAuthApi, IccDocumentApi } from '../icc-api';
|
|
|
2
2
|
import { IccCryptoXApi } from './icc-crypto-x-api';
|
|
3
3
|
import * as models from '../icc-api/model/models';
|
|
4
4
|
import { IccDataOwnerXApi } from './icc-data-owner-x-api';
|
|
5
|
+
import { AuthenticationProvider } from './auth/AuthenticationProvider';
|
|
5
6
|
export declare class IccDocumentXApi extends IccDocumentApi {
|
|
6
7
|
private crypto;
|
|
7
8
|
private authApi;
|
|
@@ -20,9 +21,10 @@ export declare class IccDocumentXApi extends IccDocumentApi {
|
|
|
20
21
|
[key: string]: string;
|
|
21
22
|
};
|
|
22
23
|
dataOwnerApi: IccDataOwnerXApi;
|
|
24
|
+
authenticationProvider: AuthenticationProvider;
|
|
23
25
|
constructor(host: string, headers: {
|
|
24
26
|
[key: string]: string;
|
|
25
|
-
}, crypto: IccCryptoXApi, authApi: IccAuthApi, dataOwnerApi: IccDataOwnerXApi, fetchImpl?: (input: RequestInfo, init?: RequestInit) => Promise<Response>);
|
|
27
|
+
}, crypto: IccCryptoXApi, authApi: IccAuthApi, dataOwnerApi: IccDataOwnerXApi, authenticationProvider?: AuthenticationProvider, fetchImpl?: (input: RequestInfo, init?: RequestInit) => Promise<Response>);
|
|
26
28
|
newInstance(user: models.User, message?: models.Message, c?: any): Promise<models.Document>;
|
|
27
29
|
initEncryptionKeys(user: models.User, document: models.Document): Promise<models.Document & {
|
|
28
30
|
encryptionKeys: any;
|
|
@@ -5,14 +5,15 @@ const icc_api_1 = require("../icc-api");
|
|
|
5
5
|
const _ = require("lodash");
|
|
6
6
|
const XHR_1 = require("../icc-api/api/XHR");
|
|
7
7
|
const binary_utils_1 = require("./utils/binary-utils");
|
|
8
|
+
const AuthenticationProvider_1 = require("./auth/AuthenticationProvider");
|
|
8
9
|
// noinspection JSUnusedGlobalSymbols
|
|
9
10
|
class IccDocumentXApi extends icc_api_1.IccDocumentApi {
|
|
10
|
-
constructor(host, headers, crypto, authApi, dataOwnerApi, fetchImpl = typeof window !== 'undefined'
|
|
11
|
+
constructor(host, headers, crypto, authApi, dataOwnerApi, authenticationProvider = new AuthenticationProvider_1.NoAuthenticationProvider(), fetchImpl = typeof window !== 'undefined'
|
|
11
12
|
? window.fetch
|
|
12
13
|
: typeof self !== 'undefined'
|
|
13
14
|
? self.fetch
|
|
14
15
|
: fetch) {
|
|
15
|
-
super(host, headers, fetchImpl);
|
|
16
|
+
super(host, headers, authenticationProvider, fetchImpl);
|
|
16
17
|
this.crypto = crypto;
|
|
17
18
|
this.authApi = authApi;
|
|
18
19
|
/** maps invalid UTI values to corresponding MIME type for backward-compatibility (pre-v1.0.117) */
|
|
@@ -405,6 +406,7 @@ class IccDocumentXApi extends icc_api_1.IccDocumentApi {
|
|
|
405
406
|
'x-music/x-midi': 'public.midi',
|
|
406
407
|
};
|
|
407
408
|
this.fetchImpl = fetchImpl;
|
|
409
|
+
this.authenticationProvider = authenticationProvider;
|
|
408
410
|
this.dataOwnerApi = dataOwnerApi;
|
|
409
411
|
}
|
|
410
412
|
// noinspection JSUnusedGlobalSymbols
|
|
@@ -527,7 +529,7 @@ class IccDocumentXApi extends icc_api_1.IccDocumentApi {
|
|
|
527
529
|
new Date().getTime() +
|
|
528
530
|
(enckeys ? `&enckeys=${enckeys}` : '') +
|
|
529
531
|
(fileName ? `&fileName=${fileName}` : '');
|
|
530
|
-
return XHR_1.XHR.sendCommand('GET', url, this.headers, null, this.fetchImpl, returnType)
|
|
532
|
+
return XHR_1.XHR.sendCommand('GET', url, this.headers, null, this.fetchImpl, returnType, this.authenticationProvider.getAuthService())
|
|
531
533
|
.then((doc) => doc.body)
|
|
532
534
|
.catch((err) => this.handleError(err));
|
|
533
535
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"icc-document-x-api.js","sourceRoot":"","sources":["../../icc-x-api/icc-document-x-api.ts"],"names":[],"mappings":"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","sourcesContent":["import { IccAuthApi, IccDocumentApi } from '../icc-api'\nimport { IccCryptoXApi } from './icc-crypto-x-api'\n\nimport * as _ from 'lodash'\nimport { XHR } from '../icc-api/api/XHR'\nimport * as models from '../icc-api/model/models'\n\nimport { a2b, hex2ua, string2ua, ua2string } from './utils/binary-utils'\nimport { IccDataOwnerXApi } from './icc-data-owner-x-api'\n\n// noinspection JSUnusedGlobalSymbols\nexport class IccDocumentXApi extends IccDocumentApi {\n fetchImpl: (input: RequestInfo, init?: RequestInit) => Promise<Response>\n\n /** maps invalid UTI values to corresponding MIME type for backward-compatibility (pre-v1.0.117) */\n compatUtiRevDefs: { [key: string]: string } = {\n 'com.adobe.encapsulatedPostscript': 'image/eps',\n 'com.adobe.illustrator.aiImage': 'application/illustrator',\n 'com.adobe.indesignImage': 'image/indesign',\n 'com.adobe.photoshopImage': 'image/psd',\n 'com.adobe.postscriptPfaFont': 'application/x-font-type1',\n 'com.adobe.postscriptPfbFont': 'application/x-font-type1',\n 'com.allume.stuffitArchive': 'application/stuffit',\n 'com.apple.binhexArchive': 'application/binhex',\n 'com.apple.diskImageUdif': 'application/x-apple-diskimage',\n 'com.apple.macbinaryArchive': 'application/macbinary',\n 'com.apple.quartzComposerComposition': 'application/x-quartzcomposer',\n 'com.apple.quicktimeImage': 'image/x-quicktime',\n 'com.apple.quicktimeMovie': 'video/quicktime',\n 'com.js.efxFax': 'image/efax',\n 'com.macromedia.shockwaveFlash': 'application/x-shockwave-flash',\n 'com.microsoft.advancedStreamRedirector': 'video/x-ms-asx',\n 'com.microsoft.advancedSystemsFormat': 'video/x-ms-asf',\n 'com.microsoft.waveformAudio': 'audio/wave',\n 'com.microsoft.windowsDynamicLinkLibrary': 'application/x-msdownload',\n 'com.microsoft.windowsExecutable': 'application/exe',\n 'com.microsoft.windowsMediaWax': 'audio/x-ms-wax',\n 'com.microsoft.windowsMediaWm': 'video/x-ms-wm',\n 'com.microsoft.windowsMediaWma': 'audio/x-ms-wma',\n 'com.microsoft.windowsMediaWmd': 'video/x-ms-wmd',\n 'com.microsoft.windowsMediaWmp': 'video/x-ms-wmp',\n 'com.microsoft.windowsMediaWmv': 'video/x-ms-wmv',\n 'com.microsoft.windowsMediaWmx': 'video/x-ms-wmx',\n 'com.microsoft.windowsMediaWmz': 'video/x-ms-wmz',\n 'com.microsoft.windowsMediaWvx': 'video/x-ms-wvx',\n 'com.netscape.javascriptSource': 'text/javascript',\n 'com.pkware.zipArchive': 'application/zip',\n 'com.rarlab.rarArchive': 'application/rar',\n 'com.redhat.redhatPackage': 'application/x-redhat-package',\n 'com.sgi.sgiImage': 'image/sgi',\n 'com.sun.javaAppDescriptor': 'text/vnd.sun.j2me.app-descriptor',\n 'com.sun.javaArchive': 'application/java-archive',\n 'com.sun.javaClass': 'application/java',\n 'com.sun.javaSource': 'text/x-java-source',\n 'com.sun.javaWebStart': 'application/jnlp',\n 'com.truevision.tgaImage': 'image/tga',\n 'org.bzip.bzip2Archive': 'application/x-bzip2',\n 'org.debian.debianPackage': 'application/x-debian-package',\n 'org.gnu.gnuTarArchive': 'application/x-gtar',\n 'org.gnu.gnuZipArchive': 'application/gzip',\n 'org.oasis.opendocument.textMaster': 'application/vnd.oasis.opendocument.text-master',\n 'org.oasis.opendocument.textWeb': 'application/vnd.oasis.opendocument.text-web',\n 'org.xiph.oggTheora': 'video/ogg',\n 'org.xiph.oggVorbis': 'audio/ogg',\n 'public.aifcAudio': 'audio/aiff',\n 'public.aiffAudio': 'audio/aiff',\n 'public.assemblySource': 'text/x-asm',\n 'public.cHeader': 'text/x-c-header',\n 'public.cpioArchive': 'application/x-cpio',\n 'public.cPlusPlusHeader': 'text/x-c++-hdr',\n 'public.cPlusPlusSource': 'application/x-cplusplus',\n 'public.cshScript': 'application/x-csh',\n 'public.cSource': 'text/x-c-code',\n 'public.isoImage': 'application/x-iso-image',\n 'public.mpeg4Audio': 'audio/mp4',\n 'public.objectiveCPlusPlusSource': 'text/x-objcppsrc',\n 'public.objectiveCSource': 'text/x-objcsrc',\n 'public.opentypeFont': 'font/opentype',\n 'public.perlScript': 'text/x-perl',\n 'public.phpScript': 'text/php',\n 'public.plainText': 'text/plain',\n 'public.pythonScript': 'text/x-python-script',\n 'public.shellScript': 'application/x-sh',\n 'public.tarArchive': 'application/tar',\n 'public.truetypeTtfFont': 'application/x-font-ttf',\n 'public.ulawAudio': 'audio/au',\n 'public.xbitmapImage': 'image/xbm',\n 'unofficial.atomFeed': 'application/atom+xml',\n 'unofficial.m3u8Playlist': 'application/x-mpegURL',\n 'unofficial.plsPlaylist': 'audio/scpls',\n 'unofficial.rdfFeed': 'application/rdf+xml',\n 'unofficial.rssFeed': 'application/rss+xml',\n }\n\n utiRevDefs: { [key: string]: string } = {\n ...this.compatUtiRevDefs,\n 'com.adobe.encapsulated-postscript': 'image/eps',\n 'com.adobe.illustrator.ai-image': 'application/illustrator',\n 'com.adobe.indesign-image': 'image/indesign',\n 'com.adobe.pdf': 'application/pdf',\n 'com.adobe.photoshop-image': 'image/psd',\n 'com.adobe.postscript': 'application/postscript',\n 'com.adobe.postscript-pfa-font': 'application/x-font-type1',\n 'com.adobe.postscript-pfb-font': 'application/x-font-type1',\n 'com.allume.stuffit-archive': 'application/stuffit',\n 'com.apple.applescript.script': 'application/x-applescript',\n 'com.apple.applescript.text': 'application/x-applescript',\n 'com.apple.binhex-archive': 'application/binhex',\n 'com.apple.disk-image-udif': 'application/x-apple-diskimage',\n 'com.apple.ical.ics': 'text/calendar',\n 'com.apple.ical.vcs': 'text/x-vcalendar',\n 'com.apple.macbinary-archive': 'application/macbinary',\n 'com.apple.pict': 'image/pict',\n 'com.apple.quartz-composer-composition': 'application/x-quartzcomposer',\n 'com.apple.quicktime-image': 'image/x-quicktime',\n 'com.apple.quicktime-movie': 'video/quicktime',\n 'com.bittorrent.torrent': 'application/x-bittorrent',\n 'com.compuserve.gif': 'image/gif',\n 'com.js.efx-fax': 'image/efax',\n 'com.kodak.flashpix.image': 'image/vndfpx',\n 'com.lizardtech.djvu': 'image/vnd.djvu',\n 'com.macromedia.shockwave-flash': 'application/x-shockwave-flash',\n 'com.microsoft.advanced-stream-redirector': 'video/x-ms-asx',\n 'com.microsoft.advanced-systems-format': 'video/x-ms-asf',\n 'com.microsoft.bmp': 'image/bmp',\n 'com.microsoft.excel.xls': 'application/excel',\n 'com.microsoft.ico': 'image/x-icon',\n 'com.microsoft.powerpoint.ppt': 'application/powerpoint',\n 'com.microsoft.waveform-audio': 'audio/wave',\n 'com.microsoft.windows-dynamic-link-library': 'application/x-msdownload',\n 'com.microsoft.windows-executable': 'application/exe',\n 'com.microsoft.windows-media-wax': 'audio/x-ms-wax',\n 'com.microsoft.windows-media-wm': 'video/x-ms-wm',\n 'com.microsoft.windows-media-wma': 'audio/x-ms-wma',\n 'com.microsoft.windows-media-wmd': 'video/x-ms-wmd',\n 'com.microsoft.windows-media-wmp': 'video/x-ms-wmp',\n 'com.microsoft.windows-media-wmv': 'video/x-ms-wmv',\n 'com.microsoft.windows-media-wmx': 'video/x-ms-wmx',\n 'com.microsoft.windows-media-wmz': 'video/x-ms-wmz',\n 'com.microsoft.windows-media-wvx': 'video/x-ms-wvx',\n 'com.microsoft.word.doc': 'application/msword',\n 'com.netscape.javascript-source': 'text/javascript',\n 'com.pkware.zip-archive': 'application/zip',\n 'com.rarlab.rar-archive': 'application/rar',\n 'com.real.realaudio': 'audio/vnd.rn-realaudio',\n 'com.real.realmedia': 'application/vnd.rn-realmedia',\n 'com.real.smil': 'application/smil',\n 'com.redhat.redhat-package': 'application/x-redhat-package',\n 'com.sgi.sgi-image': 'image/sgi',\n 'com.soundblaster.soundfont': 'application/x-soundfont',\n 'com.sun.java-app-descriptor': 'text/vnd.sun.j2me.app-descriptor',\n 'com.sun.java-archive': 'application/java-archive',\n 'com.sun.java-class': 'application/java',\n 'com.sun.java-source': 'text/x-java-source',\n 'com.sun.java-web-start': 'application/jnlp',\n 'com.truevision.tga-image': 'image/tga',\n 'org.bzip.bzip2-archive': 'application/x-bzip2',\n 'org.debian.debian-package': 'application/x-debian-package',\n 'org.gnu.gnu-tar-archive': 'application/x-gtar',\n 'org.gnu.gnu-zip-archive': 'application/gzip',\n 'org.neooffice.calc': 'application/vnd.sun.xml.calc',\n 'org.neooffice.draw': 'application/vnd.sun.xml.draw',\n 'org.neooffice.global': 'application/vnd.sun.xml.writer.global',\n 'org.neooffice.impress': 'application/vnd.sun.xml.impress',\n 'org.neooffice.math': 'application/vnd.sun.xml.math',\n 'org.neooffice.writer': 'application/vnd.sun.xml.writer',\n 'org.oasis.opendocument.chart': 'application/vnd.oasis.opendocument.chart',\n 'org.oasis.opendocument.database': 'application/vnd.oasis.opendocument.database',\n 'org.oasis.opendocument.formula': 'application/vnd.oasis.opendocument.formula',\n 'org.oasis.opendocument.graphics': 'application/vnd.oasis.opendocument.graphics',\n 'org.oasis.opendocument.image': 'application/vnd.oasis.opendocument.image',\n 'org.oasis.opendocument.presentation': 'application/vnd.oasis.opendocument.presentation',\n 'org.oasis.opendocument.spreadsheet': 'application/vnd.oasis.opendocument.spreadsheet',\n 'org.oasis.opendocument.text': 'application/vnd.oasis.opendocument.text',\n 'org.oasis.opendocument.text-master': 'application/vnd.oasis.opendocument.text-master',\n 'org.oasis.opendocument.text-web': 'application/vnd.oasis.opendocument.text-web',\n 'org.tug.tex': 'text/tex',\n 'org.xiph.flac': 'audio/flac',\n 'org.xiph.ogg-theora': 'video/ogg',\n 'org.xiph.ogg-vorbis': 'audio/ogg',\n 'public.3gpp': 'video/3gpp',\n 'public.3gpp2': 'video/3gpp2',\n 'public.aifc-audio': 'audio/aiff',\n 'public.aiff-audio': 'audio/aiff',\n 'public.assembly-source': 'text/x-asm',\n 'public.avi': 'video/avi',\n 'public.c-header': 'text/x-c-header',\n 'public.cpio-archive': 'application/x-cpio',\n 'public.c-plus-plus-header': 'text/x-c++-hdr',\n 'public.c-plus-plus-source': 'application/x-cplusplus',\n 'public.csh-script': 'application/x-csh',\n 'public.c-source': 'text/x-c-code',\n 'public.css': 'text/css',\n 'public.dv': 'video/x-dv',\n 'public.flv': 'video/x-flv',\n 'public.html': 'text/html',\n 'public.iso-image': 'application/x-iso-image',\n 'public.jpeg': 'image/jpeg',\n 'public.jpeg2000': 'image/jp2',\n 'public.midi': 'audio/midi',\n 'public.mka': 'audio/x-matroska',\n 'public.mkv': 'video/x-matroska',\n 'public.mp3': 'audio/mp3',\n 'public.mpeg': 'video/mpeg',\n 'public.mpeg4': 'video/mp4',\n 'public.mpeg4-audio': 'audio/mp4',\n 'public.mpegts': 'video/MP2T',\n 'public.objective-c-plus-plus-source': 'text/x-objcppsrc',\n 'public.objective-c-source': 'text/x-objcsrc',\n 'public.opentype-font': 'font/opentype',\n 'public.perl-script': 'text/x-perl',\n 'public.php-script': 'text/php',\n 'public.plain-text': 'text/plain',\n 'public.png': 'image/png',\n 'public.python-script': 'text/x-python-script',\n 'public.rtf': 'text/rtf',\n 'public.shell-script': 'application/x-sh',\n 'public.tar-archive': 'application/tar',\n 'public.tiff': 'image/tiff',\n 'public.truetype-ttf-font': 'application/x-font-ttf',\n 'public.ulaw-audio': 'audio/au',\n 'public.vcard': 'text/vcard',\n 'public.webm': 'video/webm',\n 'public.xbitmap-image': 'image/xbm',\n 'public.xml': 'text/xml',\n 'unofficial.atom-feed': 'application/atom+xml',\n 'unofficial.m3u8-playlist': 'application/x-mpegURL',\n 'unofficial.opml': 'text/x-opml',\n 'unofficial.pls-playlist': 'audio/scpls',\n 'unofficial.rdf-feed': 'application/rdf+xml',\n 'unofficial.rss-feed': 'application/rss+xml',\n }\n\n utiExts: { [key: string]: string } = {\n jpg: 'public.jpeg',\n jpeg: 'public.jpeg',\n png: 'public.png',\n rtf: 'public.rtf',\n mpeg: 'public.mpeg',\n mpg: 'public.mpeg',\n html: 'public.html',\n htm: 'public.html',\n pdf: 'com.adobe.pdf',\n xls: 'com.microsoft.excel.xls',\n xlsx: 'com.microsoft.excel.xls',\n doc: 'com.microsoft.word.doc',\n docx: 'com.microsoft.word.doc',\n }\n\n utiDefs: { [key: string]: string } = {\n 'application/atom+xml': 'unofficial.atom-feed',\n 'application/bat': 'com.microsoft.windows-executable',\n 'application/binhex': 'com.apple.binhex-archive',\n 'application/binhex4': 'com.apple.binhex-archive',\n 'application/ecmascript': 'com.netscape.javascript-source',\n 'application/eps': 'com.adobe.encapsulated-postscript',\n 'application/excel': 'com.microsoft.excel.xls',\n 'application/exe': 'com.microsoft.windows-executable',\n 'application/gnutar': 'public.tar-archive',\n 'application/gzip': 'org.gnu.gnu-zip-archive',\n 'application/illustrator': 'com.adobe.illustrator.ai-image',\n 'application/indesign': 'com.adobe.indesign-image',\n 'application/java-archive': 'com.sun.java-archive',\n 'application/java-byte-code': 'com.sun.java-class',\n 'application/java': 'com.sun.java-class',\n 'application/javascript': 'com.netscape.javascript-source',\n 'application/jnlp': 'com.sun.java-web-start',\n 'application/latex': 'org.tug.tex',\n 'application/mac-binary': 'com.apple.macbinary-archive',\n 'application/mac-binhex': 'com.apple.binhex-archive',\n 'application/mac-binhex40': 'com.apple.binhex-archive',\n 'application/macbinary': 'com.apple.macbinary-archive',\n 'application/mspowerpoint': 'com.microsoft.powerpoint.ppt',\n 'application/msword': 'com.microsoft.word.doc',\n 'application/octet-stream': 'com.microsoft.windows-executable',\n 'application/pdf': 'com.adobe.pdf',\n 'application/photoshop': 'com.adobe.photoshop-image',\n 'application/php': 'public.php-script',\n 'application/plain': 'public.plain-text',\n 'application/postscript': 'com.adobe.postscript',\n 'application/powerpoint': 'com.microsoft.powerpoint.ppt',\n 'application/rar': 'com.rarlab.rar-archive',\n 'application/rdf+xml': 'unofficial.rdf-feed',\n 'application/rss+xml': 'unofficial.rss-feed',\n 'application/rtf': 'public.rtf',\n 'application/smil': 'com.real.smil',\n 'application/stuffit': 'com.allume.stuffit-archive',\n 'application/tar': 'public.tar-archive',\n 'application/tga': 'com.truevision.tga-image',\n 'application/vnd.fpx': 'com.kodak.flashpix.image',\n 'application/vnd.ms-excel': 'com.microsoft.excel.xls',\n 'application/vnd.ms-powerpoint': 'com.microsoft.powerpoint.ppt',\n 'application/vnd.oasis.opendocument.chart': 'org.oasis.opendocument.chart',\n 'application/vnd.oasis.opendocument.database': 'org.oasis.opendocument.database',\n 'application/vnd.oasis.opendocument.formula': 'org.oasis.opendocument.formula',\n 'application/vnd.oasis.opendocument.graphics-template': 'org.oasis.opendocument.graphics',\n 'application/vnd.oasis.opendocument.graphics': 'org.oasis.opendocument.graphics',\n 'application/vnd.oasis.opendocument.image': 'org.oasis.opendocument.image',\n 'application/vnd.oasis.opendocument.presentation-template': 'org.oasis.opendocument.presentation',\n 'application/vnd.oasis.opendocument.presentation': 'org.oasis.opendocument.presentation',\n 'application/vnd.oasis.opendocument.spreadsheet-template': 'org.oasis.opendocument.spreadsheet',\n 'application/vnd.oasis.opendocument.spreadsheet': 'org.oasis.opendocument.spreadsheet',\n 'application/vnd.oasis.opendocument.text-master': 'org.oasis.opendocument.text-master',\n 'application/vnd.oasis.opendocument.text-template': 'org.oasis.opendocument.text',\n 'application/vnd.oasis.opendocument.text-web': 'org.oasis.opendocument.text-web',\n 'application/vnd.oasis.opendocument.text': 'org.oasis.opendocument.text',\n 'application/vnd.rn-realmedia': 'com.real.realmedia',\n 'application/vnd.sun.xml.calc.template': 'org.neooffice.calc',\n 'application/vnd.sun.xml.calc': 'org.neooffice.calc',\n 'application/vnd.sun.xml.draw.template': 'org.neooffice.draw',\n 'application/vnd.sun.xml.draw': 'org.neooffice.draw',\n 'application/vnd.sun.xml.impress.template': 'org.neooffice.impress',\n 'application/vnd.sun.xml.impress': 'org.neooffice.impress',\n 'application/vnd.sun.xml.math': 'org.neooffice.math',\n 'application/vnd.sun.xml.writer.global': 'org.neooffice.global',\n 'application/vnd.sun.xml.writer.template': 'org.neooffice.writer',\n 'application/vnd.sun.xml.writer': 'org.neooffice.writer',\n 'application/vndms-excel': 'com.microsoft.excel.xls',\n 'application/vndms-powerpoint': 'com.microsoft.powerpoint.ppt',\n 'application/vndrn-realmedia': 'com.real.realmedia',\n 'application/x-apple-diskimage': 'com.apple.disk-image-udif',\n 'application/x-applescript': 'com.apple.applescript.script',\n 'application/x-bat': 'com.microsoft.windows-executable',\n 'application/x-binary': 'com.apple.macbinary-archive',\n 'application/x-binhex40': 'com.apple.binhex-archive',\n 'application/x-bittorrent': 'com.bittorrent.torrent',\n 'application/x-bzip2': 'org.bzip.bzip2-archive',\n 'application/x-cpio': 'public.cpio-archive',\n 'application/x-cplusplus': 'public.c-plus-plus-source',\n 'application/x-csh': 'public.csh-script',\n 'application/x-deb': 'org.debian.debian-package',\n 'application/x-debian-package': 'org.debian.debian-package',\n 'application/x-eps': 'com.adobe.encapsulated-postscript',\n 'application/x-excel': 'com.microsoft.excel.xls',\n 'application/x-exe': 'com.microsoft.windows-executable',\n 'application/x-flac': 'org.xiph.flac',\n 'application/x-font-ttf': 'public.truetype-ttf-font',\n 'application/x-font-type1': 'com.adobe.postscript-pfa-font',\n 'application/x-gtar': 'org.gnu.gnu-tar-archive',\n 'application/x-gzip': 'org.gnu.gnu-zip-archive',\n 'application/x-iso-image': 'public.iso-image',\n 'application/x-java-class': 'com.sun.java-class',\n 'application/x-java': 'com.sun.java-web-start',\n 'application/x-javascript': 'com.netscape.javascript-source',\n 'application/x-latex': 'org.tug.tex',\n 'application/x-mac-binhex40': 'com.apple.binhex-archive',\n 'application/x-macbinary': 'com.apple.macbinary-archive',\n 'application/x-midi': 'public.midi',\n 'application/x-mpegURL': 'unofficial.m3u8-playlist',\n 'application/x-ms-wmd': 'com.microsoft.windows-media-wmd',\n 'application/x-ms-wmz': 'com.microsoft.windows-media-wmz',\n 'application/x-msdos-program': 'com.microsoft.windows-executable',\n 'application/x-msdownload': 'com.microsoft.windows-executable',\n 'application/x-msexcel': 'com.microsoft.excel.xls',\n 'application/x-mspowerpoint': 'com.microsoft.powerpoint.ppt',\n 'application/x-pdf': 'com.adobe.pdf',\n 'application/x-perl': 'public.perl-script',\n 'application/x-php': 'public.php-script',\n 'application/x-quartzcomposer': 'com.apple.quartz-composer-composition',\n 'application/x-rar-compressed': 'com.rarlab.rar-archive',\n 'application/x-redhat-package': 'com.redhat.redhat-package',\n 'application/x-rpm': 'com.redhat.redhat-package',\n 'application/x-rtf': 'public.rtf',\n 'application/x-sh': 'public.shell-script',\n 'application/x-shellscript': 'public.shell-script',\n 'application/x-shockwave-flash': 'com.macromedia.shockwave-flash',\n 'application/x-sit': 'com.allume.stuffit-archive',\n 'application/x-smil': 'com.real.smil',\n 'application/x-soundfont': 'com.soundblaster.soundfont',\n 'application/x-stuffit': 'com.allume.stuffit-archive',\n 'application/x-tar': 'public.tar-archive',\n 'application/x-tex': 'org.tug.tex',\n 'application/x-texinfo': 'org.tug.tex',\n 'application/x-troff-msvideo': 'public.avi',\n 'application/x-zip-compressed': 'com.pkware.zip-archive',\n 'application/xhtml+xml': 'public.html',\n 'application/xml': 'public.xml',\n 'application/zip': 'com.pkware.zip-archive',\n 'audio/3gpp': 'public.3gpp',\n 'audio/3gpp2': 'public.3gpp2',\n 'audio/aiff': 'public.aiff-audio',\n 'audio/au': 'public.ulaw-audio',\n 'audio/basic': 'public.ulaw-audio',\n 'audio/flac': 'org.xiph.flac',\n 'audio/mid': 'public.midi',\n 'audio/midi': 'public.midi',\n 'audio/mp3': 'public.mp3',\n 'audio/mp4': 'public.mpeg4-audio',\n 'audio/mp4a-latm': 'public.mpeg4-audio',\n 'audio/mpeg': 'public.mp3',\n 'audio/mpeg3': 'public.mp3',\n 'audio/mpegurl': 'unofficial.m3u-playlist',\n 'audio/mpg': 'public.mp3',\n 'audio/ogg': 'org.xiph.ogg-vorbis',\n 'audio/scpls': 'unofficial.pls-playlist',\n 'audio/snd': 'public.ulaw-audio',\n 'audio/vnd.rn-realaudio': 'com.real.realaudio',\n 'audio/wav': 'com.microsoft.waveform-audio',\n 'audio/wave': 'com.microsoft.waveform-audio',\n 'audio/webm': 'public.webm',\n 'audio/x-adpcm': 'public.ulaw-audio',\n 'audio/x-aiff': 'public.aiff-audio',\n 'audio/x-au': 'public.ulaw-audio',\n 'audio/x-flac': 'org.xiph.flac',\n 'audio/x-matroska': 'public.mka',\n 'audio/x-mid': 'public.midi',\n 'audio/x-midi': 'public.midi',\n 'audio/x-mp3': 'public.mp3',\n 'audio/x-mpeg-3': 'public.mp3',\n 'audio/x-mpeg': 'public.mp3',\n 'audio/x-mpeg3': 'public.mp3',\n 'audio/x-mpegurl': 'unofficial.m3u-playlist',\n 'audio/x-mpg': 'public.mp3',\n 'audio/x-ms-wax': 'com.microsoft.windows-media-wax',\n 'audio/x-ms-wma': 'com.microsoft.windows-media-wma',\n 'audio/x-ogg': 'org.xiph.ogg-vorbis',\n 'audio/x-pn-realaudio-plugin': 'com.real.realaudio',\n 'audio/x-pn-realaudio': 'com.real.realaudio',\n 'audio/x-pn-wav': 'com.microsoft.waveform-audio',\n 'audio/x-realaudio': 'com.real.realmedia',\n 'audio/x-scpls': 'unofficial.pls-playlist',\n 'audio/x-wav': 'com.microsoft.waveform-audio',\n 'font/opentype': 'public.opentype-font',\n 'image/bmp': 'com.microsoft.bmp',\n 'image/efax': 'com.js.efx-fax',\n 'image/eps': 'com.adobe.encapsulated-postscript',\n 'image/fpx': 'com.kodak.flashpix.image',\n 'image/gif': 'com.compuserve.gif',\n 'image/indd': 'com.adobe.indesign-image',\n 'image/indesign': 'com.adobe.indesign-image',\n 'image/jp2': 'public.jpeg2000',\n 'image/jpeg': 'public.jpeg',\n 'image/ms-bmp': 'com.microsoft.bmp',\n 'image/photoshop': 'com.adobe.photoshop-image',\n 'image/pict': 'com.apple.pict',\n 'image/pipeg': 'public.jpeg',\n 'image/pjpeg': 'public.jpeg',\n 'image/png': 'public.png',\n 'image/psd': 'com.adobe.photoshop-image',\n 'image/sgi': 'com.sgi.sgi-image',\n 'image/targa': 'com.truevision.tga-image',\n 'image/tga': 'com.truevision.tga-image',\n 'image/tiff': 'public.tiff',\n 'image/vnd.djvu': 'com.lizardtech.djvu',\n 'image/vndfpx': 'com.kodak.flashpix.image',\n 'image/vndnet-fpx': 'com.kodak.flashpix.image',\n 'image/webp': 'public.webp',\n 'image/x-bitmap': 'com.microsoft.bmp',\n 'image/x-bmp': 'com.microsoft.bmp',\n 'image/x-djvu': 'com.lizardtech.djvu',\n 'image/x-eps': 'com.adobe.encapsulated-postscript',\n 'image/x-icon': 'com.microsoft.ico',\n 'image/x-indesign': 'com.adobe.indesign-image',\n 'image/x-macpict': 'com.apple.pict',\n 'image/x-ms-bmp': 'com.microsoft.bmp',\n 'image/x-photoshop': 'com.adobe.photoshop-image',\n 'image/x-pict': 'com.apple.pict',\n 'image/x-quicktime': 'com.apple.quicktime-image',\n 'image/x-tiff': 'public.tiff',\n 'image/x-windows-bmp': 'com.microsoft.bmp',\n 'image/x-xbitmap': 'com.microsoft.bmp',\n 'image/x-xbm': 'public.xbitmap-image',\n 'image/xbm': 'public.xbitmap-image',\n 'multipart/x-gzip': 'org.gnu.gnu-zip-archive',\n 'multipart/x-zip': 'com.pkware.zip-archive',\n 'music/crescendo': 'public.midi',\n 'text/calendar': 'com.apple.ical.ics',\n 'text/css': 'public.css',\n 'text/directory': 'public.vcard',\n 'text/ecmascript': 'com.netscape.javascript-source',\n 'text/html': 'public.html',\n 'text/javascript': 'com.netscape.javascript-source',\n 'text/php': 'public.php-script',\n 'text/plain': 'public.plain-text',\n 'text/richtext': 'public.rtf',\n 'text/rtf': 'public.rtf',\n 'text/ruby-script': 'public.ruby-script',\n 'text/tex': 'org.tug.tex',\n 'text/vcard': 'public.vcard',\n 'text/vnd.sun.j2me.app-descriptor': 'com.sun.java-app-descriptor',\n 'text/x-asm': 'public.assembly-source',\n 'text/x-c-code': 'public.c-source',\n 'text/x-c-header': 'public.c-header',\n 'text/x-c': 'public.c-source',\n 'text/x-c++-code': 'public.c-plus-plus-source',\n 'text/x-c++-hdr': 'public.c-plus-plus-header',\n 'text/x-c++-src': 'public.c-plus-plus-source',\n 'text/x-c++src': 'public.c-plus-plus-source',\n 'text/x-h': 'public.c-header',\n 'text/x-java-source': 'com.sun.java-source',\n 'text/x-latex': 'org.tug.tex',\n 'text/x-objcppsrc': 'public.objective-c-plus-plus-source',\n 'text/x-objcsrc': 'public.objective-c-source',\n 'text/x-opml': 'unofficial.opml',\n 'text/x-perl-script': 'public.perl-script',\n 'text/x-perl': 'public.perl-script',\n 'text/x-php-script': 'public.php-script',\n 'text/x-python-script': 'public.python-script',\n 'text/x-python': 'public.python-script',\n 'text/x-scriptcsh': 'public.csh-script',\n 'text/x-scriptperl-module': 'public.perl-script',\n 'text/x-scriptperl': 'public.perl-script',\n 'text/x-scriptphyton': 'public.python-script',\n 'text/x-scriptsh': 'public.shell-script',\n 'text/x-server-parsed-html': 'public.html',\n 'text/x-tex': 'org.tug.tex',\n 'text/x-vcalendar': 'com.apple.ical.vcs',\n 'text/x-vcard': 'public.vcard',\n 'text/xhtml': 'public.html',\n 'text/xml': 'public.xml',\n 'video/3gpp': 'public.3gpp',\n 'video/3gpp2': 'public.3gpp2',\n 'video/avi': 'public.avi',\n 'video/MP2T': 'public.mpegts',\n 'video/mp4': 'public.mpeg4',\n 'video/mp4v': 'public.mpeg4',\n 'video/mpeg': 'public.mpeg',\n 'video/mpg': 'public.mpeg',\n 'video/msvideo': 'public.avi',\n 'video/ogg': 'org.xiph.ogg-theora',\n 'video/quicktime': 'com.apple.quicktime-movie',\n 'video/webm': 'public.webm',\n 'video/x-dv': 'public.dv',\n 'video/x-flv': 'public.flv',\n 'video/x-m4v': 'public.mpeg4',\n 'video/x-matroska': 'public.mkv',\n 'video/x-mpeg': 'public.mpeg',\n 'video/x-mpg': 'public.mpeg',\n 'video/x-ms-asf-plugin': 'com.microsoft.advanced-systems-format',\n 'video/x-ms-asf': 'com.microsoft.advanced-systems-format',\n 'video/x-ms-asx': 'com.microsoft.advanced-stream-redirector',\n 'video/x-ms-wm': 'com.microsoft.windows-media-wm',\n 'video/x-ms-wmd': 'com.microsoft.windows-media-wmd',\n 'video/x-ms-wmp': 'com.microsoft.windows-media-wmp',\n 'video/x-ms-wmv': 'com.microsoft.windows-media-wmv',\n 'video/x-ms-wmx': 'com.microsoft.windows-media-wmx',\n 'video/x-ms-wmz': 'com.microsoft.windows-media-wmz',\n 'video/x-ms-wvx': 'com.microsoft.windows-media-wvx',\n 'video/x-msvideo': 'public.avi',\n 'video/x-ogg': 'org.xiph.ogg-theora',\n 'x-msdos-program': 'com.microsoft.windows-executable',\n 'x-music/x-midi': 'public.midi',\n }\n dataOwnerApi: IccDataOwnerXApi\n\n constructor(\n host: string,\n headers: { [key: string]: string },\n private crypto: IccCryptoXApi,\n private authApi: IccAuthApi,\n dataOwnerApi: IccDataOwnerXApi,\n fetchImpl: (input: RequestInfo, init?: RequestInit) => Promise<Response> = typeof window !== 'undefined'\n ? window.fetch\n : typeof self !== 'undefined'\n ? self.fetch\n : fetch\n ) {\n super(host, headers, fetchImpl)\n this.fetchImpl = fetchImpl\n this.dataOwnerApi = dataOwnerApi\n }\n\n // noinspection JSUnusedGlobalSymbols\n newInstance(user: models.User, message?: models.Message, c: any = {}) {\n const document = _.extend(\n {\n id: this.crypto.randomUuid(),\n _type: 'org.taktik.icure.entities.Document',\n created: new Date().getTime(),\n modified: new Date().getTime(),\n responsible: this.dataOwnerApi.getDataOwnerOf(user),\n author: user.id,\n codes: [],\n tags: [],\n },\n c\n )\n\n return this.initDelegationsAndEncryptionKeys(user, message, document)\n }\n\n initEncryptionKeys(user: models.User, document: models.Document) {\n const dataOwnerId = this.dataOwnerApi.getDataOwnerOf(user)\n return this.crypto.initEncryptionKeys(document, dataOwnerId!).then((eks) => {\n let promise = Promise.resolve(\n _.extend(document, {\n encryptionKeys: eks.encryptionKeys,\n })\n )\n ;(user.autoDelegations ? (user.autoDelegations.all || []).concat(user.autoDelegations.medicalInformation || []) : []).forEach(\n (delegateId) =>\n (promise = promise.then((document) =>\n this.crypto.appendEncryptionKeys(document, dataOwnerId!, delegateId, eks.secretId).then((extraEks) => {\n return _.extend(extraEks.modifiedObject, {\n encryptionKeys: extraEks.encryptionKeys,\n })\n })\n ))\n )\n return promise\n })\n }\n\n private initDelegationsAndEncryptionKeys(\n user: models.User,\n message: models.Message | undefined = undefined,\n document: models.Document\n ): Promise<models.Document> {\n const dataOwnerId = this.dataOwnerApi.getDataOwnerOf(user)\n return this.crypto\n .extractDelegationsSFKs(message || null, dataOwnerId)\n .then((secretForeignKeys) =>\n Promise.all([\n this.crypto.initObjectDelegations(document, message, dataOwnerId!, secretForeignKeys.extractedKeys[0]),\n this.crypto.initEncryptionKeys(document, dataOwnerId!),\n ])\n )\n .then((initData) => {\n const dels = initData[0]\n const eks = initData[1]\n _.extend(document, {\n delegations: dels.delegations,\n cryptedForeignKeys: dels.cryptedForeignKeys,\n secretForeignKeys: dels.secretForeignKeys,\n encryptionKeys: eks.encryptionKeys,\n })\n\n let promise = Promise.resolve(document)\n ;(user.autoDelegations ? (user.autoDelegations.all || []).concat(user.autoDelegations.medicalInformation || []) : []).forEach(\n (delegateId) =>\n (promise = promise.then((document) =>\n this.crypto\n .addDelegationsAndEncryptionKeys(message || null, document, dataOwnerId!, delegateId, dels.secretId, eks.secretId)\n .catch((e) => {\n console.log(e)\n return document\n })\n ))\n )\n return promise\n })\n }\n\n // noinspection JSUnusedGlobalSymbols\n findByMessage(hcpartyId: string, message: models.Message) {\n return this.crypto\n .extractDelegationsSFKs(message, hcpartyId)\n .then((secretForeignKeys) =>\n this.findDocumentsByHCPartyPatientForeignKeys(secretForeignKeys.hcpartyId!, _.uniq(secretForeignKeys.extractedKeys).join(','))\n )\n .then((documents) => this.decrypt(hcpartyId, documents))\n .then(function (decryptedForms) {\n return decryptedForms\n })\n }\n\n decrypt(hcpartyId: string, documents: Array<models.Document>): Promise<Array<models.Document>> {\n return Promise.all(\n documents.map((document) =>\n this.crypto\n .extractKeysFromDelegationsForHcpHierarchy(\n hcpartyId,\n document.id!,\n _.size(document.encryptionKeys) ? document.encryptionKeys! : document.delegations!\n )\n .then(({ extractedKeys: sfks }) => {\n if (!sfks || !sfks.length) {\n console.log('Cannot decrypt document', document.id)\n return Promise.resolve(document)\n }\n\n if (sfks.length && (document.encryptedSelf || document.encryptedAttachment)) {\n return this.crypto.AES.importKey('raw', hex2ua(sfks[0].replace(/-/g, '')))\n .then((key: CryptoKey) =>\n Promise.all([\n document.encryptedSelf\n ? new Promise((resolve: (value: ArrayBuffer | null) => any) => {\n this.crypto.AES.decrypt(key, string2ua(a2b(document.encryptedSelf!))).then(resolve, () => {\n console.log('Cannot decrypt document', document.id)\n resolve(null)\n })\n })\n : Promise.resolve(null),\n document.encryptedAttachment\n ? new Promise((resolve: (value: ArrayBuffer | null) => any) => {\n this.crypto.AES.decrypt(key, document.encryptedAttachment!).then(resolve, () => {\n console.log('Cannot decrypt document', document.id)\n resolve(null)\n })\n })\n : Promise.resolve(null),\n ])\n )\n .then((decrypted: [ArrayBuffer | null, ArrayBuffer | null]) => {\n if (decrypted) {\n if (decrypted[0]) {\n document = _.extend(document, JSON.parse(ua2string(decrypted[0])))\n }\n if (decrypted[1]) {\n document.decryptedAttachment = decrypted[1]\n }\n }\n return document\n })\n } else {\n return Promise.resolve(document)\n }\n })\n )\n ).catch(function (e: Error) {\n console.log(e)\n return Promise.resolve(documents)\n })\n }\n\n //prettier-ignore\n getAttachmentAs(documentId: string, attachmentId: string, returnType: \"application/octet-stream\", enckeys?: string, fileName?: string): Promise<ArrayBuffer>\n //prettier-ignore\n getAttachmentAs(documentId: string, attachmentId: string, returnType: \"text/plain\", enckeys?: string, fileName?: string): Promise<string>\n //prettier-ignore\n getAttachmentAs(documentId: string, attachmentId: string, returnType: \"application/json\", enckeys?: string, fileName?: string): Promise<any>\n getAttachmentAs(\n documentId: string,\n attachmentId: string,\n returnType: 'application/octet-stream' | 'text/plain' | 'application/json',\n enckeys?: string,\n fileName?: string\n ): Promise<any> {\n const url =\n this.host +\n `/document/${documentId}/attachment/${attachmentId}` +\n '?ts=' +\n new Date().getTime() +\n (enckeys ? `&enckeys=${enckeys}` : '') +\n (fileName ? `&fileName=${fileName}` : '')\n return XHR.sendCommand('GET', url, this.headers, null, this.fetchImpl, returnType)\n .then((doc) => doc.body)\n .catch((err) => this.handleError(err))\n }\n\n // noinspection JSUnusedGlobalSymbols\n getAttachmentUrl(documentId: string, attachmentId: string, sfks: Array<{ delegatorId: string; key: CryptoKey }>, fileName?: string) {\n return this.authApi\n .token('GET', `/rest/v1/document/${documentId}/attachment/${attachmentId}`)\n .then(\n (token) =>\n this.host +\n `/document/${documentId}/attachment/${attachmentId}${token ? `;tokenid=${token}` : ''}` +\n (sfks && sfks.length ? '?enckeys=' + sfks.join(',') : '') +\n (fileName && fileName.length ? `${sfks && sfks.length ? '&' : '?'}fileName=${encodeURIComponent(fileName)}` : '')\n )\n }\n\n // noinspection JSUnusedGlobalSymbols\n uti(mimeType: string, extension: string) {\n return (mimeType && mimeType !== 'application/octet-stream' ? this.utiDefs[mimeType] : this.utiExts[extension]) || this.utiDefs[mimeType]\n }\n\n // noinspection JSUnusedGlobalSymbols\n mimeType(uti: string) {\n return this.utiRevDefs[uti]\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"icc-document-x-api.js","sourceRoot":"","sources":["../../icc-x-api/icc-document-x-api.ts"],"names":[],"mappings":"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","sourcesContent":["import { IccAuthApi, IccDocumentApi } from '../icc-api'\nimport { IccCryptoXApi } from './icc-crypto-x-api'\n\nimport * as _ from 'lodash'\nimport { XHR } from '../icc-api/api/XHR'\nimport * as models from '../icc-api/model/models'\n\nimport { a2b, hex2ua, string2ua, ua2string } from './utils/binary-utils'\nimport { IccDataOwnerXApi } from './icc-data-owner-x-api'\nimport { AuthenticationProvider, NoAuthenticationProvider } from './auth/AuthenticationProvider'\n\n// noinspection JSUnusedGlobalSymbols\nexport class IccDocumentXApi extends IccDocumentApi {\n fetchImpl: (input: RequestInfo, init?: RequestInit) => Promise<Response>\n\n /** maps invalid UTI values to corresponding MIME type for backward-compatibility (pre-v1.0.117) */\n compatUtiRevDefs: { [key: string]: string } = {\n 'com.adobe.encapsulatedPostscript': 'image/eps',\n 'com.adobe.illustrator.aiImage': 'application/illustrator',\n 'com.adobe.indesignImage': 'image/indesign',\n 'com.adobe.photoshopImage': 'image/psd',\n 'com.adobe.postscriptPfaFont': 'application/x-font-type1',\n 'com.adobe.postscriptPfbFont': 'application/x-font-type1',\n 'com.allume.stuffitArchive': 'application/stuffit',\n 'com.apple.binhexArchive': 'application/binhex',\n 'com.apple.diskImageUdif': 'application/x-apple-diskimage',\n 'com.apple.macbinaryArchive': 'application/macbinary',\n 'com.apple.quartzComposerComposition': 'application/x-quartzcomposer',\n 'com.apple.quicktimeImage': 'image/x-quicktime',\n 'com.apple.quicktimeMovie': 'video/quicktime',\n 'com.js.efxFax': 'image/efax',\n 'com.macromedia.shockwaveFlash': 'application/x-shockwave-flash',\n 'com.microsoft.advancedStreamRedirector': 'video/x-ms-asx',\n 'com.microsoft.advancedSystemsFormat': 'video/x-ms-asf',\n 'com.microsoft.waveformAudio': 'audio/wave',\n 'com.microsoft.windowsDynamicLinkLibrary': 'application/x-msdownload',\n 'com.microsoft.windowsExecutable': 'application/exe',\n 'com.microsoft.windowsMediaWax': 'audio/x-ms-wax',\n 'com.microsoft.windowsMediaWm': 'video/x-ms-wm',\n 'com.microsoft.windowsMediaWma': 'audio/x-ms-wma',\n 'com.microsoft.windowsMediaWmd': 'video/x-ms-wmd',\n 'com.microsoft.windowsMediaWmp': 'video/x-ms-wmp',\n 'com.microsoft.windowsMediaWmv': 'video/x-ms-wmv',\n 'com.microsoft.windowsMediaWmx': 'video/x-ms-wmx',\n 'com.microsoft.windowsMediaWmz': 'video/x-ms-wmz',\n 'com.microsoft.windowsMediaWvx': 'video/x-ms-wvx',\n 'com.netscape.javascriptSource': 'text/javascript',\n 'com.pkware.zipArchive': 'application/zip',\n 'com.rarlab.rarArchive': 'application/rar',\n 'com.redhat.redhatPackage': 'application/x-redhat-package',\n 'com.sgi.sgiImage': 'image/sgi',\n 'com.sun.javaAppDescriptor': 'text/vnd.sun.j2me.app-descriptor',\n 'com.sun.javaArchive': 'application/java-archive',\n 'com.sun.javaClass': 'application/java',\n 'com.sun.javaSource': 'text/x-java-source',\n 'com.sun.javaWebStart': 'application/jnlp',\n 'com.truevision.tgaImage': 'image/tga',\n 'org.bzip.bzip2Archive': 'application/x-bzip2',\n 'org.debian.debianPackage': 'application/x-debian-package',\n 'org.gnu.gnuTarArchive': 'application/x-gtar',\n 'org.gnu.gnuZipArchive': 'application/gzip',\n 'org.oasis.opendocument.textMaster': 'application/vnd.oasis.opendocument.text-master',\n 'org.oasis.opendocument.textWeb': 'application/vnd.oasis.opendocument.text-web',\n 'org.xiph.oggTheora': 'video/ogg',\n 'org.xiph.oggVorbis': 'audio/ogg',\n 'public.aifcAudio': 'audio/aiff',\n 'public.aiffAudio': 'audio/aiff',\n 'public.assemblySource': 'text/x-asm',\n 'public.cHeader': 'text/x-c-header',\n 'public.cpioArchive': 'application/x-cpio',\n 'public.cPlusPlusHeader': 'text/x-c++-hdr',\n 'public.cPlusPlusSource': 'application/x-cplusplus',\n 'public.cshScript': 'application/x-csh',\n 'public.cSource': 'text/x-c-code',\n 'public.isoImage': 'application/x-iso-image',\n 'public.mpeg4Audio': 'audio/mp4',\n 'public.objectiveCPlusPlusSource': 'text/x-objcppsrc',\n 'public.objectiveCSource': 'text/x-objcsrc',\n 'public.opentypeFont': 'font/opentype',\n 'public.perlScript': 'text/x-perl',\n 'public.phpScript': 'text/php',\n 'public.plainText': 'text/plain',\n 'public.pythonScript': 'text/x-python-script',\n 'public.shellScript': 'application/x-sh',\n 'public.tarArchive': 'application/tar',\n 'public.truetypeTtfFont': 'application/x-font-ttf',\n 'public.ulawAudio': 'audio/au',\n 'public.xbitmapImage': 'image/xbm',\n 'unofficial.atomFeed': 'application/atom+xml',\n 'unofficial.m3u8Playlist': 'application/x-mpegURL',\n 'unofficial.plsPlaylist': 'audio/scpls',\n 'unofficial.rdfFeed': 'application/rdf+xml',\n 'unofficial.rssFeed': 'application/rss+xml',\n }\n\n utiRevDefs: { [key: string]: string } = {\n ...this.compatUtiRevDefs,\n 'com.adobe.encapsulated-postscript': 'image/eps',\n 'com.adobe.illustrator.ai-image': 'application/illustrator',\n 'com.adobe.indesign-image': 'image/indesign',\n 'com.adobe.pdf': 'application/pdf',\n 'com.adobe.photoshop-image': 'image/psd',\n 'com.adobe.postscript': 'application/postscript',\n 'com.adobe.postscript-pfa-font': 'application/x-font-type1',\n 'com.adobe.postscript-pfb-font': 'application/x-font-type1',\n 'com.allume.stuffit-archive': 'application/stuffit',\n 'com.apple.applescript.script': 'application/x-applescript',\n 'com.apple.applescript.text': 'application/x-applescript',\n 'com.apple.binhex-archive': 'application/binhex',\n 'com.apple.disk-image-udif': 'application/x-apple-diskimage',\n 'com.apple.ical.ics': 'text/calendar',\n 'com.apple.ical.vcs': 'text/x-vcalendar',\n 'com.apple.macbinary-archive': 'application/macbinary',\n 'com.apple.pict': 'image/pict',\n 'com.apple.quartz-composer-composition': 'application/x-quartzcomposer',\n 'com.apple.quicktime-image': 'image/x-quicktime',\n 'com.apple.quicktime-movie': 'video/quicktime',\n 'com.bittorrent.torrent': 'application/x-bittorrent',\n 'com.compuserve.gif': 'image/gif',\n 'com.js.efx-fax': 'image/efax',\n 'com.kodak.flashpix.image': 'image/vndfpx',\n 'com.lizardtech.djvu': 'image/vnd.djvu',\n 'com.macromedia.shockwave-flash': 'application/x-shockwave-flash',\n 'com.microsoft.advanced-stream-redirector': 'video/x-ms-asx',\n 'com.microsoft.advanced-systems-format': 'video/x-ms-asf',\n 'com.microsoft.bmp': 'image/bmp',\n 'com.microsoft.excel.xls': 'application/excel',\n 'com.microsoft.ico': 'image/x-icon',\n 'com.microsoft.powerpoint.ppt': 'application/powerpoint',\n 'com.microsoft.waveform-audio': 'audio/wave',\n 'com.microsoft.windows-dynamic-link-library': 'application/x-msdownload',\n 'com.microsoft.windows-executable': 'application/exe',\n 'com.microsoft.windows-media-wax': 'audio/x-ms-wax',\n 'com.microsoft.windows-media-wm': 'video/x-ms-wm',\n 'com.microsoft.windows-media-wma': 'audio/x-ms-wma',\n 'com.microsoft.windows-media-wmd': 'video/x-ms-wmd',\n 'com.microsoft.windows-media-wmp': 'video/x-ms-wmp',\n 'com.microsoft.windows-media-wmv': 'video/x-ms-wmv',\n 'com.microsoft.windows-media-wmx': 'video/x-ms-wmx',\n 'com.microsoft.windows-media-wmz': 'video/x-ms-wmz',\n 'com.microsoft.windows-media-wvx': 'video/x-ms-wvx',\n 'com.microsoft.word.doc': 'application/msword',\n 'com.netscape.javascript-source': 'text/javascript',\n 'com.pkware.zip-archive': 'application/zip',\n 'com.rarlab.rar-archive': 'application/rar',\n 'com.real.realaudio': 'audio/vnd.rn-realaudio',\n 'com.real.realmedia': 'application/vnd.rn-realmedia',\n 'com.real.smil': 'application/smil',\n 'com.redhat.redhat-package': 'application/x-redhat-package',\n 'com.sgi.sgi-image': 'image/sgi',\n 'com.soundblaster.soundfont': 'application/x-soundfont',\n 'com.sun.java-app-descriptor': 'text/vnd.sun.j2me.app-descriptor',\n 'com.sun.java-archive': 'application/java-archive',\n 'com.sun.java-class': 'application/java',\n 'com.sun.java-source': 'text/x-java-source',\n 'com.sun.java-web-start': 'application/jnlp',\n 'com.truevision.tga-image': 'image/tga',\n 'org.bzip.bzip2-archive': 'application/x-bzip2',\n 'org.debian.debian-package': 'application/x-debian-package',\n 'org.gnu.gnu-tar-archive': 'application/x-gtar',\n 'org.gnu.gnu-zip-archive': 'application/gzip',\n 'org.neooffice.calc': 'application/vnd.sun.xml.calc',\n 'org.neooffice.draw': 'application/vnd.sun.xml.draw',\n 'org.neooffice.global': 'application/vnd.sun.xml.writer.global',\n 'org.neooffice.impress': 'application/vnd.sun.xml.impress',\n 'org.neooffice.math': 'application/vnd.sun.xml.math',\n 'org.neooffice.writer': 'application/vnd.sun.xml.writer',\n 'org.oasis.opendocument.chart': 'application/vnd.oasis.opendocument.chart',\n 'org.oasis.opendocument.database': 'application/vnd.oasis.opendocument.database',\n 'org.oasis.opendocument.formula': 'application/vnd.oasis.opendocument.formula',\n 'org.oasis.opendocument.graphics': 'application/vnd.oasis.opendocument.graphics',\n 'org.oasis.opendocument.image': 'application/vnd.oasis.opendocument.image',\n 'org.oasis.opendocument.presentation': 'application/vnd.oasis.opendocument.presentation',\n 'org.oasis.opendocument.spreadsheet': 'application/vnd.oasis.opendocument.spreadsheet',\n 'org.oasis.opendocument.text': 'application/vnd.oasis.opendocument.text',\n 'org.oasis.opendocument.text-master': 'application/vnd.oasis.opendocument.text-master',\n 'org.oasis.opendocument.text-web': 'application/vnd.oasis.opendocument.text-web',\n 'org.tug.tex': 'text/tex',\n 'org.xiph.flac': 'audio/flac',\n 'org.xiph.ogg-theora': 'video/ogg',\n 'org.xiph.ogg-vorbis': 'audio/ogg',\n 'public.3gpp': 'video/3gpp',\n 'public.3gpp2': 'video/3gpp2',\n 'public.aifc-audio': 'audio/aiff',\n 'public.aiff-audio': 'audio/aiff',\n 'public.assembly-source': 'text/x-asm',\n 'public.avi': 'video/avi',\n 'public.c-header': 'text/x-c-header',\n 'public.cpio-archive': 'application/x-cpio',\n 'public.c-plus-plus-header': 'text/x-c++-hdr',\n 'public.c-plus-plus-source': 'application/x-cplusplus',\n 'public.csh-script': 'application/x-csh',\n 'public.c-source': 'text/x-c-code',\n 'public.css': 'text/css',\n 'public.dv': 'video/x-dv',\n 'public.flv': 'video/x-flv',\n 'public.html': 'text/html',\n 'public.iso-image': 'application/x-iso-image',\n 'public.jpeg': 'image/jpeg',\n 'public.jpeg2000': 'image/jp2',\n 'public.midi': 'audio/midi',\n 'public.mka': 'audio/x-matroska',\n 'public.mkv': 'video/x-matroska',\n 'public.mp3': 'audio/mp3',\n 'public.mpeg': 'video/mpeg',\n 'public.mpeg4': 'video/mp4',\n 'public.mpeg4-audio': 'audio/mp4',\n 'public.mpegts': 'video/MP2T',\n 'public.objective-c-plus-plus-source': 'text/x-objcppsrc',\n 'public.objective-c-source': 'text/x-objcsrc',\n 'public.opentype-font': 'font/opentype',\n 'public.perl-script': 'text/x-perl',\n 'public.php-script': 'text/php',\n 'public.plain-text': 'text/plain',\n 'public.png': 'image/png',\n 'public.python-script': 'text/x-python-script',\n 'public.rtf': 'text/rtf',\n 'public.shell-script': 'application/x-sh',\n 'public.tar-archive': 'application/tar',\n 'public.tiff': 'image/tiff',\n 'public.truetype-ttf-font': 'application/x-font-ttf',\n 'public.ulaw-audio': 'audio/au',\n 'public.vcard': 'text/vcard',\n 'public.webm': 'video/webm',\n 'public.xbitmap-image': 'image/xbm',\n 'public.xml': 'text/xml',\n 'unofficial.atom-feed': 'application/atom+xml',\n 'unofficial.m3u8-playlist': 'application/x-mpegURL',\n 'unofficial.opml': 'text/x-opml',\n 'unofficial.pls-playlist': 'audio/scpls',\n 'unofficial.rdf-feed': 'application/rdf+xml',\n 'unofficial.rss-feed': 'application/rss+xml',\n }\n\n utiExts: { [key: string]: string } = {\n jpg: 'public.jpeg',\n jpeg: 'public.jpeg',\n png: 'public.png',\n rtf: 'public.rtf',\n mpeg: 'public.mpeg',\n mpg: 'public.mpeg',\n html: 'public.html',\n htm: 'public.html',\n pdf: 'com.adobe.pdf',\n xls: 'com.microsoft.excel.xls',\n xlsx: 'com.microsoft.excel.xls',\n doc: 'com.microsoft.word.doc',\n docx: 'com.microsoft.word.doc',\n }\n\n utiDefs: { [key: string]: string } = {\n 'application/atom+xml': 'unofficial.atom-feed',\n 'application/bat': 'com.microsoft.windows-executable',\n 'application/binhex': 'com.apple.binhex-archive',\n 'application/binhex4': 'com.apple.binhex-archive',\n 'application/ecmascript': 'com.netscape.javascript-source',\n 'application/eps': 'com.adobe.encapsulated-postscript',\n 'application/excel': 'com.microsoft.excel.xls',\n 'application/exe': 'com.microsoft.windows-executable',\n 'application/gnutar': 'public.tar-archive',\n 'application/gzip': 'org.gnu.gnu-zip-archive',\n 'application/illustrator': 'com.adobe.illustrator.ai-image',\n 'application/indesign': 'com.adobe.indesign-image',\n 'application/java-archive': 'com.sun.java-archive',\n 'application/java-byte-code': 'com.sun.java-class',\n 'application/java': 'com.sun.java-class',\n 'application/javascript': 'com.netscape.javascript-source',\n 'application/jnlp': 'com.sun.java-web-start',\n 'application/latex': 'org.tug.tex',\n 'application/mac-binary': 'com.apple.macbinary-archive',\n 'application/mac-binhex': 'com.apple.binhex-archive',\n 'application/mac-binhex40': 'com.apple.binhex-archive',\n 'application/macbinary': 'com.apple.macbinary-archive',\n 'application/mspowerpoint': 'com.microsoft.powerpoint.ppt',\n 'application/msword': 'com.microsoft.word.doc',\n 'application/octet-stream': 'com.microsoft.windows-executable',\n 'application/pdf': 'com.adobe.pdf',\n 'application/photoshop': 'com.adobe.photoshop-image',\n 'application/php': 'public.php-script',\n 'application/plain': 'public.plain-text',\n 'application/postscript': 'com.adobe.postscript',\n 'application/powerpoint': 'com.microsoft.powerpoint.ppt',\n 'application/rar': 'com.rarlab.rar-archive',\n 'application/rdf+xml': 'unofficial.rdf-feed',\n 'application/rss+xml': 'unofficial.rss-feed',\n 'application/rtf': 'public.rtf',\n 'application/smil': 'com.real.smil',\n 'application/stuffit': 'com.allume.stuffit-archive',\n 'application/tar': 'public.tar-archive',\n 'application/tga': 'com.truevision.tga-image',\n 'application/vnd.fpx': 'com.kodak.flashpix.image',\n 'application/vnd.ms-excel': 'com.microsoft.excel.xls',\n 'application/vnd.ms-powerpoint': 'com.microsoft.powerpoint.ppt',\n 'application/vnd.oasis.opendocument.chart': 'org.oasis.opendocument.chart',\n 'application/vnd.oasis.opendocument.database': 'org.oasis.opendocument.database',\n 'application/vnd.oasis.opendocument.formula': 'org.oasis.opendocument.formula',\n 'application/vnd.oasis.opendocument.graphics-template': 'org.oasis.opendocument.graphics',\n 'application/vnd.oasis.opendocument.graphics': 'org.oasis.opendocument.graphics',\n 'application/vnd.oasis.opendocument.image': 'org.oasis.opendocument.image',\n 'application/vnd.oasis.opendocument.presentation-template': 'org.oasis.opendocument.presentation',\n 'application/vnd.oasis.opendocument.presentation': 'org.oasis.opendocument.presentation',\n 'application/vnd.oasis.opendocument.spreadsheet-template': 'org.oasis.opendocument.spreadsheet',\n 'application/vnd.oasis.opendocument.spreadsheet': 'org.oasis.opendocument.spreadsheet',\n 'application/vnd.oasis.opendocument.text-master': 'org.oasis.opendocument.text-master',\n 'application/vnd.oasis.opendocument.text-template': 'org.oasis.opendocument.text',\n 'application/vnd.oasis.opendocument.text-web': 'org.oasis.opendocument.text-web',\n 'application/vnd.oasis.opendocument.text': 'org.oasis.opendocument.text',\n 'application/vnd.rn-realmedia': 'com.real.realmedia',\n 'application/vnd.sun.xml.calc.template': 'org.neooffice.calc',\n 'application/vnd.sun.xml.calc': 'org.neooffice.calc',\n 'application/vnd.sun.xml.draw.template': 'org.neooffice.draw',\n 'application/vnd.sun.xml.draw': 'org.neooffice.draw',\n 'application/vnd.sun.xml.impress.template': 'org.neooffice.impress',\n 'application/vnd.sun.xml.impress': 'org.neooffice.impress',\n 'application/vnd.sun.xml.math': 'org.neooffice.math',\n 'application/vnd.sun.xml.writer.global': 'org.neooffice.global',\n 'application/vnd.sun.xml.writer.template': 'org.neooffice.writer',\n 'application/vnd.sun.xml.writer': 'org.neooffice.writer',\n 'application/vndms-excel': 'com.microsoft.excel.xls',\n 'application/vndms-powerpoint': 'com.microsoft.powerpoint.ppt',\n 'application/vndrn-realmedia': 'com.real.realmedia',\n 'application/x-apple-diskimage': 'com.apple.disk-image-udif',\n 'application/x-applescript': 'com.apple.applescript.script',\n 'application/x-bat': 'com.microsoft.windows-executable',\n 'application/x-binary': 'com.apple.macbinary-archive',\n 'application/x-binhex40': 'com.apple.binhex-archive',\n 'application/x-bittorrent': 'com.bittorrent.torrent',\n 'application/x-bzip2': 'org.bzip.bzip2-archive',\n 'application/x-cpio': 'public.cpio-archive',\n 'application/x-cplusplus': 'public.c-plus-plus-source',\n 'application/x-csh': 'public.csh-script',\n 'application/x-deb': 'org.debian.debian-package',\n 'application/x-debian-package': 'org.debian.debian-package',\n 'application/x-eps': 'com.adobe.encapsulated-postscript',\n 'application/x-excel': 'com.microsoft.excel.xls',\n 'application/x-exe': 'com.microsoft.windows-executable',\n 'application/x-flac': 'org.xiph.flac',\n 'application/x-font-ttf': 'public.truetype-ttf-font',\n 'application/x-font-type1': 'com.adobe.postscript-pfa-font',\n 'application/x-gtar': 'org.gnu.gnu-tar-archive',\n 'application/x-gzip': 'org.gnu.gnu-zip-archive',\n 'application/x-iso-image': 'public.iso-image',\n 'application/x-java-class': 'com.sun.java-class',\n 'application/x-java': 'com.sun.java-web-start',\n 'application/x-javascript': 'com.netscape.javascript-source',\n 'application/x-latex': 'org.tug.tex',\n 'application/x-mac-binhex40': 'com.apple.binhex-archive',\n 'application/x-macbinary': 'com.apple.macbinary-archive',\n 'application/x-midi': 'public.midi',\n 'application/x-mpegURL': 'unofficial.m3u8-playlist',\n 'application/x-ms-wmd': 'com.microsoft.windows-media-wmd',\n 'application/x-ms-wmz': 'com.microsoft.windows-media-wmz',\n 'application/x-msdos-program': 'com.microsoft.windows-executable',\n 'application/x-msdownload': 'com.microsoft.windows-executable',\n 'application/x-msexcel': 'com.microsoft.excel.xls',\n 'application/x-mspowerpoint': 'com.microsoft.powerpoint.ppt',\n 'application/x-pdf': 'com.adobe.pdf',\n 'application/x-perl': 'public.perl-script',\n 'application/x-php': 'public.php-script',\n 'application/x-quartzcomposer': 'com.apple.quartz-composer-composition',\n 'application/x-rar-compressed': 'com.rarlab.rar-archive',\n 'application/x-redhat-package': 'com.redhat.redhat-package',\n 'application/x-rpm': 'com.redhat.redhat-package',\n 'application/x-rtf': 'public.rtf',\n 'application/x-sh': 'public.shell-script',\n 'application/x-shellscript': 'public.shell-script',\n 'application/x-shockwave-flash': 'com.macromedia.shockwave-flash',\n 'application/x-sit': 'com.allume.stuffit-archive',\n 'application/x-smil': 'com.real.smil',\n 'application/x-soundfont': 'com.soundblaster.soundfont',\n 'application/x-stuffit': 'com.allume.stuffit-archive',\n 'application/x-tar': 'public.tar-archive',\n 'application/x-tex': 'org.tug.tex',\n 'application/x-texinfo': 'org.tug.tex',\n 'application/x-troff-msvideo': 'public.avi',\n 'application/x-zip-compressed': 'com.pkware.zip-archive',\n 'application/xhtml+xml': 'public.html',\n 'application/xml': 'public.xml',\n 'application/zip': 'com.pkware.zip-archive',\n 'audio/3gpp': 'public.3gpp',\n 'audio/3gpp2': 'public.3gpp2',\n 'audio/aiff': 'public.aiff-audio',\n 'audio/au': 'public.ulaw-audio',\n 'audio/basic': 'public.ulaw-audio',\n 'audio/flac': 'org.xiph.flac',\n 'audio/mid': 'public.midi',\n 'audio/midi': 'public.midi',\n 'audio/mp3': 'public.mp3',\n 'audio/mp4': 'public.mpeg4-audio',\n 'audio/mp4a-latm': 'public.mpeg4-audio',\n 'audio/mpeg': 'public.mp3',\n 'audio/mpeg3': 'public.mp3',\n 'audio/mpegurl': 'unofficial.m3u-playlist',\n 'audio/mpg': 'public.mp3',\n 'audio/ogg': 'org.xiph.ogg-vorbis',\n 'audio/scpls': 'unofficial.pls-playlist',\n 'audio/snd': 'public.ulaw-audio',\n 'audio/vnd.rn-realaudio': 'com.real.realaudio',\n 'audio/wav': 'com.microsoft.waveform-audio',\n 'audio/wave': 'com.microsoft.waveform-audio',\n 'audio/webm': 'public.webm',\n 'audio/x-adpcm': 'public.ulaw-audio',\n 'audio/x-aiff': 'public.aiff-audio',\n 'audio/x-au': 'public.ulaw-audio',\n 'audio/x-flac': 'org.xiph.flac',\n 'audio/x-matroska': 'public.mka',\n 'audio/x-mid': 'public.midi',\n 'audio/x-midi': 'public.midi',\n 'audio/x-mp3': 'public.mp3',\n 'audio/x-mpeg-3': 'public.mp3',\n 'audio/x-mpeg': 'public.mp3',\n 'audio/x-mpeg3': 'public.mp3',\n 'audio/x-mpegurl': 'unofficial.m3u-playlist',\n 'audio/x-mpg': 'public.mp3',\n 'audio/x-ms-wax': 'com.microsoft.windows-media-wax',\n 'audio/x-ms-wma': 'com.microsoft.windows-media-wma',\n 'audio/x-ogg': 'org.xiph.ogg-vorbis',\n 'audio/x-pn-realaudio-plugin': 'com.real.realaudio',\n 'audio/x-pn-realaudio': 'com.real.realaudio',\n 'audio/x-pn-wav': 'com.microsoft.waveform-audio',\n 'audio/x-realaudio': 'com.real.realmedia',\n 'audio/x-scpls': 'unofficial.pls-playlist',\n 'audio/x-wav': 'com.microsoft.waveform-audio',\n 'font/opentype': 'public.opentype-font',\n 'image/bmp': 'com.microsoft.bmp',\n 'image/efax': 'com.js.efx-fax',\n 'image/eps': 'com.adobe.encapsulated-postscript',\n 'image/fpx': 'com.kodak.flashpix.image',\n 'image/gif': 'com.compuserve.gif',\n 'image/indd': 'com.adobe.indesign-image',\n 'image/indesign': 'com.adobe.indesign-image',\n 'image/jp2': 'public.jpeg2000',\n 'image/jpeg': 'public.jpeg',\n 'image/ms-bmp': 'com.microsoft.bmp',\n 'image/photoshop': 'com.adobe.photoshop-image',\n 'image/pict': 'com.apple.pict',\n 'image/pipeg': 'public.jpeg',\n 'image/pjpeg': 'public.jpeg',\n 'image/png': 'public.png',\n 'image/psd': 'com.adobe.photoshop-image',\n 'image/sgi': 'com.sgi.sgi-image',\n 'image/targa': 'com.truevision.tga-image',\n 'image/tga': 'com.truevision.tga-image',\n 'image/tiff': 'public.tiff',\n 'image/vnd.djvu': 'com.lizardtech.djvu',\n 'image/vndfpx': 'com.kodak.flashpix.image',\n 'image/vndnet-fpx': 'com.kodak.flashpix.image',\n 'image/webp': 'public.webp',\n 'image/x-bitmap': 'com.microsoft.bmp',\n 'image/x-bmp': 'com.microsoft.bmp',\n 'image/x-djvu': 'com.lizardtech.djvu',\n 'image/x-eps': 'com.adobe.encapsulated-postscript',\n 'image/x-icon': 'com.microsoft.ico',\n 'image/x-indesign': 'com.adobe.indesign-image',\n 'image/x-macpict': 'com.apple.pict',\n 'image/x-ms-bmp': 'com.microsoft.bmp',\n 'image/x-photoshop': 'com.adobe.photoshop-image',\n 'image/x-pict': 'com.apple.pict',\n 'image/x-quicktime': 'com.apple.quicktime-image',\n 'image/x-tiff': 'public.tiff',\n 'image/x-windows-bmp': 'com.microsoft.bmp',\n 'image/x-xbitmap': 'com.microsoft.bmp',\n 'image/x-xbm': 'public.xbitmap-image',\n 'image/xbm': 'public.xbitmap-image',\n 'multipart/x-gzip': 'org.gnu.gnu-zip-archive',\n 'multipart/x-zip': 'com.pkware.zip-archive',\n 'music/crescendo': 'public.midi',\n 'text/calendar': 'com.apple.ical.ics',\n 'text/css': 'public.css',\n 'text/directory': 'public.vcard',\n 'text/ecmascript': 'com.netscape.javascript-source',\n 'text/html': 'public.html',\n 'text/javascript': 'com.netscape.javascript-source',\n 'text/php': 'public.php-script',\n 'text/plain': 'public.plain-text',\n 'text/richtext': 'public.rtf',\n 'text/rtf': 'public.rtf',\n 'text/ruby-script': 'public.ruby-script',\n 'text/tex': 'org.tug.tex',\n 'text/vcard': 'public.vcard',\n 'text/vnd.sun.j2me.app-descriptor': 'com.sun.java-app-descriptor',\n 'text/x-asm': 'public.assembly-source',\n 'text/x-c-code': 'public.c-source',\n 'text/x-c-header': 'public.c-header',\n 'text/x-c': 'public.c-source',\n 'text/x-c++-code': 'public.c-plus-plus-source',\n 'text/x-c++-hdr': 'public.c-plus-plus-header',\n 'text/x-c++-src': 'public.c-plus-plus-source',\n 'text/x-c++src': 'public.c-plus-plus-source',\n 'text/x-h': 'public.c-header',\n 'text/x-java-source': 'com.sun.java-source',\n 'text/x-latex': 'org.tug.tex',\n 'text/x-objcppsrc': 'public.objective-c-plus-plus-source',\n 'text/x-objcsrc': 'public.objective-c-source',\n 'text/x-opml': 'unofficial.opml',\n 'text/x-perl-script': 'public.perl-script',\n 'text/x-perl': 'public.perl-script',\n 'text/x-php-script': 'public.php-script',\n 'text/x-python-script': 'public.python-script',\n 'text/x-python': 'public.python-script',\n 'text/x-scriptcsh': 'public.csh-script',\n 'text/x-scriptperl-module': 'public.perl-script',\n 'text/x-scriptperl': 'public.perl-script',\n 'text/x-scriptphyton': 'public.python-script',\n 'text/x-scriptsh': 'public.shell-script',\n 'text/x-server-parsed-html': 'public.html',\n 'text/x-tex': 'org.tug.tex',\n 'text/x-vcalendar': 'com.apple.ical.vcs',\n 'text/x-vcard': 'public.vcard',\n 'text/xhtml': 'public.html',\n 'text/xml': 'public.xml',\n 'video/3gpp': 'public.3gpp',\n 'video/3gpp2': 'public.3gpp2',\n 'video/avi': 'public.avi',\n 'video/MP2T': 'public.mpegts',\n 'video/mp4': 'public.mpeg4',\n 'video/mp4v': 'public.mpeg4',\n 'video/mpeg': 'public.mpeg',\n 'video/mpg': 'public.mpeg',\n 'video/msvideo': 'public.avi',\n 'video/ogg': 'org.xiph.ogg-theora',\n 'video/quicktime': 'com.apple.quicktime-movie',\n 'video/webm': 'public.webm',\n 'video/x-dv': 'public.dv',\n 'video/x-flv': 'public.flv',\n 'video/x-m4v': 'public.mpeg4',\n 'video/x-matroska': 'public.mkv',\n 'video/x-mpeg': 'public.mpeg',\n 'video/x-mpg': 'public.mpeg',\n 'video/x-ms-asf-plugin': 'com.microsoft.advanced-systems-format',\n 'video/x-ms-asf': 'com.microsoft.advanced-systems-format',\n 'video/x-ms-asx': 'com.microsoft.advanced-stream-redirector',\n 'video/x-ms-wm': 'com.microsoft.windows-media-wm',\n 'video/x-ms-wmd': 'com.microsoft.windows-media-wmd',\n 'video/x-ms-wmp': 'com.microsoft.windows-media-wmp',\n 'video/x-ms-wmv': 'com.microsoft.windows-media-wmv',\n 'video/x-ms-wmx': 'com.microsoft.windows-media-wmx',\n 'video/x-ms-wmz': 'com.microsoft.windows-media-wmz',\n 'video/x-ms-wvx': 'com.microsoft.windows-media-wvx',\n 'video/x-msvideo': 'public.avi',\n 'video/x-ogg': 'org.xiph.ogg-theora',\n 'x-msdos-program': 'com.microsoft.windows-executable',\n 'x-music/x-midi': 'public.midi',\n }\n dataOwnerApi: IccDataOwnerXApi\n authenticationProvider: AuthenticationProvider\n\n constructor(\n host: string,\n headers: { [key: string]: string },\n private crypto: IccCryptoXApi,\n private authApi: IccAuthApi,\n dataOwnerApi: IccDataOwnerXApi,\n authenticationProvider: AuthenticationProvider = new NoAuthenticationProvider(),\n fetchImpl: (input: RequestInfo, init?: RequestInit) => Promise<Response> = typeof window !== 'undefined'\n ? window.fetch\n : typeof self !== 'undefined'\n ? self.fetch\n : fetch\n ) {\n super(host, headers, authenticationProvider, fetchImpl)\n this.fetchImpl = fetchImpl\n this.authenticationProvider = authenticationProvider\n this.dataOwnerApi = dataOwnerApi\n }\n\n // noinspection JSUnusedGlobalSymbols\n newInstance(user: models.User, message?: models.Message, c: any = {}) {\n const document = _.extend(\n {\n id: this.crypto.randomUuid(),\n _type: 'org.taktik.icure.entities.Document',\n created: new Date().getTime(),\n modified: new Date().getTime(),\n responsible: this.dataOwnerApi.getDataOwnerOf(user),\n author: user.id,\n codes: [],\n tags: [],\n },\n c\n )\n\n return this.initDelegationsAndEncryptionKeys(user, message, document)\n }\n\n initEncryptionKeys(user: models.User, document: models.Document) {\n const dataOwnerId = this.dataOwnerApi.getDataOwnerOf(user)\n return this.crypto.initEncryptionKeys(document, dataOwnerId!).then((eks) => {\n let promise = Promise.resolve(\n _.extend(document, {\n encryptionKeys: eks.encryptionKeys,\n })\n )\n ;(user.autoDelegations ? (user.autoDelegations.all || []).concat(user.autoDelegations.medicalInformation || []) : []).forEach(\n (delegateId) =>\n (promise = promise.then((document) =>\n this.crypto.appendEncryptionKeys(document, dataOwnerId!, delegateId, eks.secretId).then((extraEks) => {\n return _.extend(extraEks.modifiedObject, {\n encryptionKeys: extraEks.encryptionKeys,\n })\n })\n ))\n )\n return promise\n })\n }\n\n private initDelegationsAndEncryptionKeys(\n user: models.User,\n message: models.Message | undefined = undefined,\n document: models.Document\n ): Promise<models.Document> {\n const dataOwnerId = this.dataOwnerApi.getDataOwnerOf(user)\n return this.crypto\n .extractDelegationsSFKs(message || null, dataOwnerId)\n .then((secretForeignKeys) =>\n Promise.all([\n this.crypto.initObjectDelegations(document, message, dataOwnerId!, secretForeignKeys.extractedKeys[0]),\n this.crypto.initEncryptionKeys(document, dataOwnerId!),\n ])\n )\n .then((initData) => {\n const dels = initData[0]\n const eks = initData[1]\n _.extend(document, {\n delegations: dels.delegations,\n cryptedForeignKeys: dels.cryptedForeignKeys,\n secretForeignKeys: dels.secretForeignKeys,\n encryptionKeys: eks.encryptionKeys,\n })\n\n let promise = Promise.resolve(document)\n ;(user.autoDelegations ? (user.autoDelegations.all || []).concat(user.autoDelegations.medicalInformation || []) : []).forEach(\n (delegateId) =>\n (promise = promise.then((document) =>\n this.crypto\n .addDelegationsAndEncryptionKeys(message || null, document, dataOwnerId!, delegateId, dels.secretId, eks.secretId)\n .catch((e) => {\n console.log(e)\n return document\n })\n ))\n )\n return promise\n })\n }\n\n // noinspection JSUnusedGlobalSymbols\n findByMessage(hcpartyId: string, message: models.Message) {\n return this.crypto\n .extractDelegationsSFKs(message, hcpartyId)\n .then((secretForeignKeys) =>\n this.findDocumentsByHCPartyPatientForeignKeys(secretForeignKeys.hcpartyId!, _.uniq(secretForeignKeys.extractedKeys).join(','))\n )\n .then((documents) => this.decrypt(hcpartyId, documents))\n .then(function (decryptedForms) {\n return decryptedForms\n })\n }\n\n decrypt(hcpartyId: string, documents: Array<models.Document>): Promise<Array<models.Document>> {\n return Promise.all(\n documents.map((document) =>\n this.crypto\n .extractKeysFromDelegationsForHcpHierarchy(\n hcpartyId,\n document.id!,\n _.size(document.encryptionKeys) ? document.encryptionKeys! : document.delegations!\n )\n .then(({ extractedKeys: sfks }) => {\n if (!sfks || !sfks.length) {\n console.log('Cannot decrypt document', document.id)\n return Promise.resolve(document)\n }\n\n if (sfks.length && (document.encryptedSelf || document.encryptedAttachment)) {\n return this.crypto.AES.importKey('raw', hex2ua(sfks[0].replace(/-/g, '')))\n .then((key: CryptoKey) =>\n Promise.all([\n document.encryptedSelf\n ? new Promise((resolve: (value: ArrayBuffer | null) => any) => {\n this.crypto.AES.decrypt(key, string2ua(a2b(document.encryptedSelf!))).then(resolve, () => {\n console.log('Cannot decrypt document', document.id)\n resolve(null)\n })\n })\n : Promise.resolve(null),\n document.encryptedAttachment\n ? new Promise((resolve: (value: ArrayBuffer | null) => any) => {\n this.crypto.AES.decrypt(key, document.encryptedAttachment!).then(resolve, () => {\n console.log('Cannot decrypt document', document.id)\n resolve(null)\n })\n })\n : Promise.resolve(null),\n ])\n )\n .then((decrypted: [ArrayBuffer | null, ArrayBuffer | null]) => {\n if (decrypted) {\n if (decrypted[0]) {\n document = _.extend(document, JSON.parse(ua2string(decrypted[0])))\n }\n if (decrypted[1]) {\n document.decryptedAttachment = decrypted[1]\n }\n }\n return document\n })\n } else {\n return Promise.resolve(document)\n }\n })\n )\n ).catch(function (e: Error) {\n console.log(e)\n return Promise.resolve(documents)\n })\n }\n\n //prettier-ignore\n getAttachmentAs(documentId: string, attachmentId: string, returnType: \"application/octet-stream\", enckeys?: string, fileName?: string): Promise<ArrayBuffer>\n //prettier-ignore\n getAttachmentAs(documentId: string, attachmentId: string, returnType: \"text/plain\", enckeys?: string, fileName?: string): Promise<string>\n //prettier-ignore\n getAttachmentAs(documentId: string, attachmentId: string, returnType: \"application/json\", enckeys?: string, fileName?: string): Promise<any>\n getAttachmentAs(\n documentId: string,\n attachmentId: string,\n returnType: 'application/octet-stream' | 'text/plain' | 'application/json',\n enckeys?: string,\n fileName?: string\n ): Promise<any> {\n const url =\n this.host +\n `/document/${documentId}/attachment/${attachmentId}` +\n '?ts=' +\n new Date().getTime() +\n (enckeys ? `&enckeys=${enckeys}` : '') +\n (fileName ? `&fileName=${fileName}` : '')\n return XHR.sendCommand('GET', url, this.headers, null, this.fetchImpl, returnType, this.authenticationProvider.getAuthService())\n .then((doc) => doc.body)\n .catch((err) => this.handleError(err))\n }\n\n // noinspection JSUnusedGlobalSymbols\n getAttachmentUrl(documentId: string, attachmentId: string, sfks: Array<{ delegatorId: string; key: CryptoKey }>, fileName?: string) {\n return this.authApi\n .token('GET', `/rest/v1/document/${documentId}/attachment/${attachmentId}`)\n .then(\n (token) =>\n this.host +\n `/document/${documentId}/attachment/${attachmentId}${token ? `;tokenid=${token}` : ''}` +\n (sfks && sfks.length ? '?enckeys=' + sfks.join(',') : '') +\n (fileName && fileName.length ? `${sfks && sfks.length ? '&' : '?'}fileName=${encodeURIComponent(fileName)}` : '')\n )\n }\n\n // noinspection JSUnusedGlobalSymbols\n uti(mimeType: string, extension: string) {\n return (mimeType && mimeType !== 'application/octet-stream' ? this.utiDefs[mimeType] : this.utiExts[extension]) || this.utiDefs[mimeType]\n }\n\n // noinspection JSUnusedGlobalSymbols\n mimeType(uti: string) {\n return this.utiRevDefs[uti]\n }\n}\n"]}
|
|
@@ -2,12 +2,13 @@ import { IccFormApi } from '../icc-api';
|
|
|
2
2
|
import { IccCryptoXApi } from './icc-crypto-x-api';
|
|
3
3
|
import * as models from '../icc-api/model/models';
|
|
4
4
|
import { IccDataOwnerXApi } from './icc-data-owner-x-api';
|
|
5
|
+
import { AuthenticationProvider } from './auth/AuthenticationProvider';
|
|
5
6
|
export declare class IccFormXApi extends IccFormApi {
|
|
6
7
|
crypto: IccCryptoXApi;
|
|
7
8
|
dataOwnerApi: IccDataOwnerXApi;
|
|
8
9
|
constructor(host: string, headers: {
|
|
9
10
|
[key: string]: string;
|
|
10
|
-
}, crypto: IccCryptoXApi, dataOwnerApi: IccDataOwnerXApi, fetchImpl?: (input: RequestInfo, init?: RequestInit) => Promise<Response>);
|
|
11
|
+
}, crypto: IccCryptoXApi, dataOwnerApi: IccDataOwnerXApi, authenticationProvider?: AuthenticationProvider, fetchImpl?: (input: RequestInfo, init?: RequestInit) => Promise<Response>);
|
|
11
12
|
newInstance(user: models.User, patient: models.Patient, c?: any, delegates?: string[]): Promise<models.Form>;
|
|
12
13
|
initEncryptionKeys(user: models.User, form: models.Form): Promise<models.Form & {
|
|
13
14
|
encryptionKeys: any;
|
|
@@ -4,14 +4,15 @@ exports.IccFormXApi = void 0;
|
|
|
4
4
|
const icc_api_1 = require("../icc-api");
|
|
5
5
|
const _ = require("lodash");
|
|
6
6
|
const binary_utils_1 = require("./utils/binary-utils");
|
|
7
|
+
const AuthenticationProvider_1 = require("./auth/AuthenticationProvider");
|
|
7
8
|
// noinspection JSUnusedGlobalSymbols
|
|
8
9
|
class IccFormXApi extends icc_api_1.IccFormApi {
|
|
9
|
-
constructor(host, headers, crypto, dataOwnerApi, fetchImpl = typeof window !== 'undefined'
|
|
10
|
+
constructor(host, headers, crypto, dataOwnerApi, authenticationProvider = new AuthenticationProvider_1.NoAuthenticationProvider(), fetchImpl = typeof window !== 'undefined'
|
|
10
11
|
? window.fetch
|
|
11
12
|
: typeof self !== 'undefined'
|
|
12
13
|
? self.fetch
|
|
13
14
|
: fetch) {
|
|
14
|
-
super(host, headers, fetchImpl);
|
|
15
|
+
super(host, headers, authenticationProvider, fetchImpl);
|
|
15
16
|
this.crypto = crypto;
|
|
16
17
|
this.dataOwnerApi = dataOwnerApi;
|
|
17
18
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"icc-form-x-api.js","sourceRoot":"","sources":["../../icc-x-api/icc-form-x-api.ts"],"names":[],"mappings":";;;AAAA,wCAAuC;AAGvC,4BAA2B;AAG3B,uDAAwE;AAGxE,qCAAqC;AACrC,MAAa,WAAY,SAAQ,oBAAU;IAIzC,YACE,IAAY,EACZ,OAAkC,EAClC,MAAqB,EACrB,YAA8B,EAC9B,YAA2E,OAAO,MAAM,KAAK,WAAW;QACtG,CAAC,CAAC,MAAM,CAAC,KAAK;QACd,CAAC,CAAC,OAAO,IAAI,KAAK,WAAW;YAC7B,CAAC,CAAC,IAAI,CAAC,KAAK;YACZ,CAAC,CAAC,KAAK;QAET,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAA;QAC/B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;IAClC,CAAC;IAED,qCAAqC;IACrC,WAAW,CAAC,IAAiB,EAAE,OAAuB,EAAE,IAAS,EAAE,EAAE,YAAsB,EAAE;QAC3F,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,CACnB;YACE,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE;YAC5B,KAAK,EAAE,gCAAgC;YACvC,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE;YAC7B,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE;YAC9B,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC;YACnD,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,KAAK,EAAE,EAAE;YACT,IAAI,EAAE,EAAE;SACT,EACD,CAAC,IAAI,EAAE,CACR,CAAA;QAED,OAAO,IAAI,CAAC,gCAAgC,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,CAAA;IAC9E,CAAC;IAED,kBAAkB,CAAC,IAAiB,EAAE,IAAiB;QACrD,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;QAC1D,OAAO,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,EAAE,WAAY,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;YACrE,IAAI,OAAO,GAAG,OAAO,CAAC,OAAO,CAC3B,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE;gBACb,cAAc,EAAE,GAAG,CAAC,cAAc;aACnC,CAAC,CACH,CACA;YAAA,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAC3H,CAAC,UAAU,EAAE,EAAE,CACb,CAAC,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAClC,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,OAAO,EAAE,WAAY,EAAE,UAAU,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;gBAClG,OAAO,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,EAAE;oBACvC,cAAc,EAAE,QAAQ,CAAC,cAAc;iBACxC,CAAC,CAAA;YACJ,CAAC,CAAC,CACH,CAAC,CACL,CAAA;YACD,OAAO,OAAO,CAAA;QAChB,CAAC,CAAC,CAAA;IACJ,CAAC;IAEO,gCAAgC,CACtC,IAAiB,EACjB,OAAuB,EACvB,IAAiB,EACjB,YAAsB,EAAE;QAExB,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;QAC1D,OAAO,IAAI,CAAC,MAAM;aACf,sBAAsB,CAAC,OAAO,EAAE,WAAY,CAAC;aAC7C,IAAI,CAAC,CAAC,iBAAiB,EAAE,EAAE,CAC1B,OAAO,CAAC,GAAG,CAAC;YACV,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,IAAI,EAAE,OAAO,EAAE,WAAY,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;YAClG,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,EAAE,WAAY,CAAC;SACnD,CAAC,CACH;aACA,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;YACjB,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;YACxB,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;YACvB,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE;gBACb,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;gBAC3C,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;gBACzC,cAAc,EAAE,GAAG,CAAC,cAAc;aACnC,CAAC,CAAA;YAEF,IAAI,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YACnC,CAAC,CAAC,IAAI,CACJ,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CACrI,CAAC,OAAO,CACP,CAAC,UAAU,EAAE,EAAE,CACb,CAAC,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAC/B,IAAI,CAAC,MAAM,CAAC,+BAA+B,CAAC,OAAO,EAAE,IAAI,EAAE,WAAY,EAAE,UAAU,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC5H,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;gBACd,OAAO,IAAI,CAAA;YACb,CAAC,CAAC,CACH,CAAC,CACL,CAAA;YACD,OAAO,OAAO,CAAA;QAChB,CAAC,CAAC,CAAA;IACN,CAAC;IAED,qCAAqC;IACrC;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,SAAiB,EAAE,OAAuB;QAC/C,OAAO,IAAI,CAAC,MAAM;aACf,sBAAsB,CAAC,OAAO,EAAE,SAAS,CAAC;aAC1C,IAAI,CAAC,CAAC,iBAAiB,EAAE,EAAE,CAC1B,IAAI,CAAC,oCAAoC,CAAC,iBAAiB,CAAC,SAAU,EAAE,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAC3H;aACA,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;aAC/C,IAAI,CAAC,UAAU,cAAc;YAC5B,OAAO,cAAc,CAAA;QACvB,CAAC,CAAC,CAAA;IACN,CAAC;IAED,OAAO,CAAC,SAAiB,EAAE,KAAyB;QAClD,OAAO,OAAO,CAAC,GAAG,CAChB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACjB,IAAI,CAAC,MAAM;aACR,yCAAyC,CAAC,SAAS,EAAE,IAAI,CAAC,EAAG,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAe,CAAC,CAAC,CAAC,IAAI,CAAC,WAAY,CAAC;aACtI,IAAI,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,EAAE,EAAE;YAChC,IAAI,IAAI,CAAC,aAAa,EAAE;gBACtB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,IAAA,qBAAM,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;qBACvE,IAAI,CACH,CAAC,GAAG,EAAE,EAAE,CACN,IAAI,OAAO,CAAC,CAAC,OAA4B,EAAE,EAAE;oBAC3C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,IAAA,wBAAS,EAAC,IAAA,kBAAG,EAAC,IAAI,CAAC,aAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;wBACnF,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,IAAI,CAAC,EAAE,CAAC,CAAA;wBAC3C,OAAO,CAAC,IAAI,CAAC,CAAA;oBACf,CAAC,CAAC,CAAA;gBACJ,CAAC,CAAC,CACL;qBACA,IAAI,CAAC,CAAC,SAAsB,EAAE,EAAE;oBAC/B,IAAI,SAAS,EAAE;wBACb,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAA,wBAAS,EAAC,SAAS,CAAC,CAAC,CAAC,CAAA;qBACxD;oBACD,OAAO,IAAI,CAAA;gBACb,CAAC,CAAC,CAAA;aACL;iBAAM;gBACL,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;aAC7B;QACH,CAAC,CAAC;aACD,KAAK,CAAC,UAAU,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QAChB,CAAC,CAAC,CACL,CACF,CAAC,KAAK,CAAC,UAAU,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QAChB,CAAC,CAAC,CAAA;IACJ,CAAC;CACF;AArKD,kCAqKC","sourcesContent":["import { IccFormApi } from '../icc-api'\nimport { IccCryptoXApi } from './icc-crypto-x-api'\n\nimport * as _ from 'lodash'\nimport * as models from '../icc-api/model/models'\n\nimport { a2b, hex2ua, string2ua, ua2string } from './utils/binary-utils'\nimport { IccDataOwnerXApi } from './icc-data-owner-x-api'\n\n// noinspection JSUnusedGlobalSymbols\nexport class IccFormXApi extends IccFormApi {\n crypto: IccCryptoXApi\n dataOwnerApi: IccDataOwnerXApi\n\n constructor(\n host: string,\n headers: { [key: string]: string },\n crypto: IccCryptoXApi,\n dataOwnerApi: IccDataOwnerXApi,\n fetchImpl: (input: RequestInfo, init?: RequestInit) => Promise<Response> = typeof window !== 'undefined'\n ? window.fetch\n : typeof self !== 'undefined'\n ? self.fetch\n : fetch\n ) {\n super(host, headers, fetchImpl)\n this.crypto = crypto\n this.dataOwnerApi = dataOwnerApi\n }\n\n // noinspection JSUnusedGlobalSymbols\n newInstance(user: models.User, patient: models.Patient, c: any = {}, delegates: string[] = []) {\n const form = _.extend(\n {\n id: this.crypto.randomUuid(),\n _type: 'org.taktik.icure.entities.Form',\n created: new Date().getTime(),\n modified: new Date().getTime(),\n responsible: this.dataOwnerApi.getDataOwnerOf(user),\n author: user.id,\n codes: [],\n tags: [],\n },\n c || {}\n )\n\n return this.initDelegationsAndEncryptionKeys(user, patient, form, delegates)\n }\n\n initEncryptionKeys(user: models.User, form: models.Form) {\n const dataOwnerId = this.dataOwnerApi.getDataOwnerOf(user)\n return this.crypto.initEncryptionKeys(form, dataOwnerId!).then((eks) => {\n let promise = Promise.resolve(\n _.extend(form, {\n encryptionKeys: eks.encryptionKeys,\n })\n )\n ;(user.autoDelegations ? (user.autoDelegations.all || []).concat(user.autoDelegations.medicalInformation || []) : []).forEach(\n (delegateId) =>\n (promise = promise.then((contact) =>\n this.crypto.appendEncryptionKeys(contact, dataOwnerId!, delegateId, eks.secretId).then((extraEks) => {\n return _.extend(extraEks.modifiedObject, {\n encryptionKeys: extraEks.encryptionKeys,\n })\n })\n ))\n )\n return promise\n })\n }\n\n private initDelegationsAndEncryptionKeys(\n user: models.User,\n patient: models.Patient,\n form: models.Form,\n delegates: string[] = []\n ): Promise<models.Form> {\n const dataOwnerId = this.dataOwnerApi.getDataOwnerOf(user)\n return this.crypto\n .extractDelegationsSFKs(patient, dataOwnerId!)\n .then((secretForeignKeys) =>\n Promise.all([\n this.crypto.initObjectDelegations(form, patient, dataOwnerId!, secretForeignKeys.extractedKeys[0]),\n this.crypto.initEncryptionKeys(form, dataOwnerId!),\n ])\n )\n .then((initData) => {\n const dels = initData[0]\n const eks = initData[1]\n _.extend(form, {\n delegations: dels.delegations,\n cryptedForeignKeys: dels.cryptedForeignKeys,\n secretForeignKeys: dels.secretForeignKeys,\n encryptionKeys: eks.encryptionKeys,\n })\n\n let promise = Promise.resolve(form)\n _.uniq(\n delegates.concat(user.autoDelegations ? (user.autoDelegations.all || []).concat(user.autoDelegations.medicalInformation || []) : [])\n ).forEach(\n (delegateId) =>\n (promise = promise.then((form) =>\n this.crypto.addDelegationsAndEncryptionKeys(patient, form, dataOwnerId!, delegateId, dels.secretId, eks.secretId).catch((e) => {\n console.log(e)\n return form\n })\n ))\n )\n return promise\n })\n }\n\n // noinspection JSUnusedGlobalSymbols\n /**\n * 1. Check whether there is a delegation with 'hcpartyId' or not.\n * 2. 'fetchHcParty[hcpartyId][1]': is encrypted AES exchange key by RSA public key of him.\n * 3. Obtain the AES exchange key, by decrypting the previous step value with hcparty private key\n * 3.1. KeyPair should be fetch from cache (in jwk)\n * 3.2. if it doesn't exist in the cache, it has to be loaded from Browser Local store, and then import it to WebCrypto\n * 4. Obtain the array of delegations which are delegated to his ID (hcpartyId) in this patient\n * 5. Decrypt and collect all keys (secretForeignKeys) within delegations of previous step (with obtained AES key of step 4)\n * 6. Do the REST call to get all contacts with (allSecretForeignKeysDelimitedByComa, hcpartyId)\n *\n * After these painful steps, you have the contacts of the patient.\n *\n * @param hcpartyId\n * @param patient (Promise)\n */\n findBy(hcpartyId: string, patient: models.Patient) {\n return this.crypto\n .extractDelegationsSFKs(patient, hcpartyId)\n .then((secretForeignKeys) =>\n this.findFormsByHCPartyPatientForeignKeys(secretForeignKeys.hcpartyId!, _.uniq(secretForeignKeys.extractedKeys).join(','))\n )\n .then((forms) => this.decrypt(hcpartyId, forms))\n .then(function (decryptedForms) {\n return decryptedForms\n })\n }\n\n decrypt(hcpartyId: string, forms: Array<models.Form>) {\n return Promise.all(\n forms.map((form) =>\n this.crypto\n .extractKeysFromDelegationsForHcpHierarchy(hcpartyId, form.id!, _.size(form.encryptionKeys) ? form.encryptionKeys! : form.delegations!)\n .then(({ extractedKeys: sfks }) => {\n if (form.encryptedSelf) {\n return this.crypto.AES.importKey('raw', hex2ua(sfks[0].replace(/-/g, '')))\n .then(\n (key) =>\n new Promise((resolve: (value: any) => any) => {\n this.crypto.AES.decrypt(key, string2ua(a2b(form.encryptedSelf!))).then(resolve, () => {\n console.log('Cannot decrypt form', form.id)\n resolve(null)\n })\n })\n )\n .then((decrypted: ArrayBuffer) => {\n if (decrypted) {\n form = _.extend(form, JSON.parse(ua2string(decrypted)))\n }\n return form\n })\n } else {\n return Promise.resolve(form)\n }\n })\n .catch(function (e) {\n console.log(e)\n })\n )\n ).catch(function (e) {\n console.log(e)\n })\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"icc-form-x-api.js","sourceRoot":"","sources":["../../icc-x-api/icc-form-x-api.ts"],"names":[],"mappings":"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","sourcesContent":["import { IccFormApi } from '../icc-api'\nimport { IccCryptoXApi } from './icc-crypto-x-api'\n\nimport * as _ from 'lodash'\nimport * as models from '../icc-api/model/models'\n\nimport { a2b, hex2ua, string2ua, ua2string } from './utils/binary-utils'\nimport { IccDataOwnerXApi } from './icc-data-owner-x-api'\nimport { AuthenticationProvider, NoAuthenticationProvider } from './auth/AuthenticationProvider'\n\n// noinspection JSUnusedGlobalSymbols\nexport class IccFormXApi extends IccFormApi {\n crypto: IccCryptoXApi\n dataOwnerApi: IccDataOwnerXApi\n\n constructor(\n host: string,\n headers: { [key: string]: string },\n crypto: IccCryptoXApi,\n dataOwnerApi: IccDataOwnerXApi,\n authenticationProvider: AuthenticationProvider = new NoAuthenticationProvider(),\n fetchImpl: (input: RequestInfo, init?: RequestInit) => Promise<Response> = typeof window !== 'undefined'\n ? window.fetch\n : typeof self !== 'undefined'\n ? self.fetch\n : fetch\n ) {\n super(host, headers, authenticationProvider, fetchImpl)\n this.crypto = crypto\n this.dataOwnerApi = dataOwnerApi\n }\n\n // noinspection JSUnusedGlobalSymbols\n newInstance(user: models.User, patient: models.Patient, c: any = {}, delegates: string[] = []) {\n const form = _.extend(\n {\n id: this.crypto.randomUuid(),\n _type: 'org.taktik.icure.entities.Form',\n created: new Date().getTime(),\n modified: new Date().getTime(),\n responsible: this.dataOwnerApi.getDataOwnerOf(user),\n author: user.id,\n codes: [],\n tags: [],\n },\n c || {}\n )\n\n return this.initDelegationsAndEncryptionKeys(user, patient, form, delegates)\n }\n\n initEncryptionKeys(user: models.User, form: models.Form) {\n const dataOwnerId = this.dataOwnerApi.getDataOwnerOf(user)\n return this.crypto.initEncryptionKeys(form, dataOwnerId!).then((eks) => {\n let promise = Promise.resolve(\n _.extend(form, {\n encryptionKeys: eks.encryptionKeys,\n })\n )\n ;(user.autoDelegations ? (user.autoDelegations.all || []).concat(user.autoDelegations.medicalInformation || []) : []).forEach(\n (delegateId) =>\n (promise = promise.then((contact) =>\n this.crypto.appendEncryptionKeys(contact, dataOwnerId!, delegateId, eks.secretId).then((extraEks) => {\n return _.extend(extraEks.modifiedObject, {\n encryptionKeys: extraEks.encryptionKeys,\n })\n })\n ))\n )\n return promise\n })\n }\n\n private initDelegationsAndEncryptionKeys(\n user: models.User,\n patient: models.Patient,\n form: models.Form,\n delegates: string[] = []\n ): Promise<models.Form> {\n const dataOwnerId = this.dataOwnerApi.getDataOwnerOf(user)\n return this.crypto\n .extractDelegationsSFKs(patient, dataOwnerId!)\n .then((secretForeignKeys) =>\n Promise.all([\n this.crypto.initObjectDelegations(form, patient, dataOwnerId!, secretForeignKeys.extractedKeys[0]),\n this.crypto.initEncryptionKeys(form, dataOwnerId!),\n ])\n )\n .then((initData) => {\n const dels = initData[0]\n const eks = initData[1]\n _.extend(form, {\n delegations: dels.delegations,\n cryptedForeignKeys: dels.cryptedForeignKeys,\n secretForeignKeys: dels.secretForeignKeys,\n encryptionKeys: eks.encryptionKeys,\n })\n\n let promise = Promise.resolve(form)\n _.uniq(\n delegates.concat(user.autoDelegations ? (user.autoDelegations.all || []).concat(user.autoDelegations.medicalInformation || []) : [])\n ).forEach(\n (delegateId) =>\n (promise = promise.then((form) =>\n this.crypto.addDelegationsAndEncryptionKeys(patient, form, dataOwnerId!, delegateId, dels.secretId, eks.secretId).catch((e) => {\n console.log(e)\n return form\n })\n ))\n )\n return promise\n })\n }\n\n // noinspection JSUnusedGlobalSymbols\n /**\n * 1. Check whether there is a delegation with 'hcpartyId' or not.\n * 2. 'fetchHcParty[hcpartyId][1]': is encrypted AES exchange key by RSA public key of him.\n * 3. Obtain the AES exchange key, by decrypting the previous step value with hcparty private key\n * 3.1. KeyPair should be fetch from cache (in jwk)\n * 3.2. if it doesn't exist in the cache, it has to be loaded from Browser Local store, and then import it to WebCrypto\n * 4. Obtain the array of delegations which are delegated to his ID (hcpartyId) in this patient\n * 5. Decrypt and collect all keys (secretForeignKeys) within delegations of previous step (with obtained AES key of step 4)\n * 6. Do the REST call to get all contacts with (allSecretForeignKeysDelimitedByComa, hcpartyId)\n *\n * After these painful steps, you have the contacts of the patient.\n *\n * @param hcpartyId\n * @param patient (Promise)\n */\n findBy(hcpartyId: string, patient: models.Patient) {\n return this.crypto\n .extractDelegationsSFKs(patient, hcpartyId)\n .then((secretForeignKeys) =>\n this.findFormsByHCPartyPatientForeignKeys(secretForeignKeys.hcpartyId!, _.uniq(secretForeignKeys.extractedKeys).join(','))\n )\n .then((forms) => this.decrypt(hcpartyId, forms))\n .then(function (decryptedForms) {\n return decryptedForms\n })\n }\n\n decrypt(hcpartyId: string, forms: Array<models.Form>) {\n return Promise.all(\n forms.map((form) =>\n this.crypto\n .extractKeysFromDelegationsForHcpHierarchy(hcpartyId, form.id!, _.size(form.encryptionKeys) ? form.encryptionKeys! : form.delegations!)\n .then(({ extractedKeys: sfks }) => {\n if (form.encryptedSelf) {\n return this.crypto.AES.importKey('raw', hex2ua(sfks[0].replace(/-/g, '')))\n .then(\n (key) =>\n new Promise((resolve: (value: any) => any) => {\n this.crypto.AES.decrypt(key, string2ua(a2b(form.encryptedSelf!))).then(resolve, () => {\n console.log('Cannot decrypt form', form.id)\n resolve(null)\n })\n })\n )\n .then((decrypted: ArrayBuffer) => {\n if (decrypted) {\n form = _.extend(form, JSON.parse(ua2string(decrypted)))\n }\n return form\n })\n } else {\n return Promise.resolve(form)\n }\n })\n .catch(function (e) {\n console.log(e)\n })\n )\n ).catch(function (e) {\n console.log(e)\n })\n }\n}\n"]}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { IccHcpartyApi } from '../icc-api';
|
|
2
2
|
import { HealthcareParty } from '../icc-api/model/HealthcareParty';
|
|
3
3
|
import * as models from '../icc-api/model/models';
|
|
4
|
+
import { AuthenticationProvider } from './auth/AuthenticationProvider';
|
|
4
5
|
export declare class IccHcpartyXApi extends IccHcpartyApi {
|
|
5
6
|
hcPartyKeysCache: {
|
|
6
7
|
[key: string]: {
|
|
@@ -13,7 +14,7 @@ export declare class IccHcpartyXApi extends IccHcpartyApi {
|
|
|
13
14
|
private CACHE_RETENTION_IN_MS;
|
|
14
15
|
constructor(host: string, headers: {
|
|
15
16
|
[key: string]: string;
|
|
16
|
-
}, fetchImpl?: (input: RequestInfo, init?: RequestInit) => Promise<Response>);
|
|
17
|
+
}, authenticationProvider?: AuthenticationProvider, fetchImpl?: (input: RequestInfo, init?: RequestInit) => Promise<Response>);
|
|
17
18
|
private getHcPartyFromCache;
|
|
18
19
|
completeNames(hcParty?: models.HealthcareParty): models.HealthcareParty | undefined;
|
|
19
20
|
putHcPartyInCache(key: string, value?: Promise<HealthcareParty> | null): Promise<HealthcareParty>;
|
|
@@ -13,14 +13,15 @@ exports.IccHcpartyXApi = void 0;
|
|
|
13
13
|
const icc_api_1 = require("../icc-api");
|
|
14
14
|
const models = require("../icc-api/model/models");
|
|
15
15
|
const person_util_1 = require("./utils/person-util");
|
|
16
|
+
const AuthenticationProvider_1 = require("./auth/AuthenticationProvider");
|
|
16
17
|
// noinspection JSUnusedGlobalSymbols
|
|
17
18
|
class IccHcpartyXApi extends icc_api_1.IccHcpartyApi {
|
|
18
|
-
constructor(host, headers, fetchImpl = typeof window !== 'undefined'
|
|
19
|
+
constructor(host, headers, authenticationProvider = new AuthenticationProvider_1.NoAuthenticationProvider(), fetchImpl = typeof window !== 'undefined'
|
|
19
20
|
? window.fetch
|
|
20
21
|
: typeof self !== 'undefined'
|
|
21
22
|
? self.fetch
|
|
22
23
|
: fetch) {
|
|
23
|
-
super(host, headers, fetchImpl);
|
|
24
|
+
super(host, headers, authenticationProvider, fetchImpl);
|
|
24
25
|
this.hcPartyKeysCache = {};
|
|
25
26
|
this.hcPartyCache = {};
|
|
26
27
|
this.CACHE_RETENTION_IN_MS = 300000;
|