@hmcts/annotation-ui-lib
Version:
PDF Viewer and ability to highlight text with and comment tracking
144 lines • 11.9 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { of } from 'rxjs';
import { TransferState, makeStateKey } from '@angular/platform-browser';
import { tap } from 'rxjs/operators';
import { isPlatformServer } from '@angular/common';
import { HttpClient } from '@angular/common/http';
import { Injectable, PLATFORM_ID, Inject } from '@angular/core';
import { EmLoggerService } from '../logging/em-logger.service';
export class ApiHttpService {
/**
* @param {?} log
* @param {?} httpClient
* @param {?} platformId
* @param {?} transferState
*/
constructor(log, httpClient, platformId, transferState) {
this.log = log;
this.httpClient = httpClient;
this.platformId = platformId;
this.transferState = transferState;
log.setClass('ApiHttpService');
}
/**
* @param {?} baseUrl
* @return {?}
*/
setBaseUrl(baseUrl) {
this.baseUrl = baseUrl;
}
/**
* @return {?}
*/
getBaseUrl() {
return this.baseUrl;
}
/**
* @param {?} baseUrl
* @param {?} body
* @return {?}
*/
createAnnotationSet(baseUrl, body) {
return this.httpClient.post(`${baseUrl}/em-anno/annotation-sets`, body, { observe: 'response' });
}
/**
* @param {?} baseUrl
* @param {?} dmDocumentId
* @return {?}
*/
fetch(baseUrl, dmDocumentId) {
/** @type {?} */
const STATE_KEY = makeStateKey('annotationSet-' + dmDocumentId);
if (this.transferState.hasKey(STATE_KEY)) {
/** @type {?} */
const annotationSet = this.transferState.get(STATE_KEY, null);
this.transferState.remove(STATE_KEY);
return of(annotationSet);
}
else {
/** @type {?} */
const url = `${baseUrl}/em-anno/annotation-sets/${dmDocumentId}`;
return this.httpClient.get(url, { observe: 'response' })
.pipe(tap(annotationSet => {
if (isPlatformServer(this.platformId)) {
this.transferState.set(STATE_KEY, annotationSet);
}
}));
}
}
/**
* @param {?} dmDocumentId
* @param {?} outputDmDocumentId
* @param {?} baseUrl
* @return {?}
*/
documentTask(dmDocumentId, outputDmDocumentId, baseUrl) {
/** @type {?} */
const url = `${baseUrl}/api/em-npa/document-tasks`;
/** @type {?} */
const documentTasks = {
inputDocumentId: dmDocumentId,
outputDocumentId: outputDmDocumentId
};
this.log.info('Calling NPA service-' + dmDocumentId);
return this.httpClient.post(url, documentTasks, { observe: 'response' });
}
/**
* @param {?} annotation
* @return {?}
*/
deleteAnnotation(annotation) {
/** @type {?} */
const url = `${this.baseUrl}/em-anno/annotations/${annotation.id}`;
return this.httpClient.delete(url, { observe: 'response' });
}
/**
* @param {?} annotation
* @return {?}
*/
saveAnnotation(annotation) {
/** @type {?} */
const url = `${this.baseUrl}/em-anno/annotations`;
return this.httpClient.post(url, annotation, { observe: 'response' });
}
}
ApiHttpService.decorators = [
{ type: Injectable }
];
ApiHttpService.ctorParameters = () => [
{ type: EmLoggerService },
{ type: HttpClient },
{ type: undefined, decorators: [{ type: Inject, args: [PLATFORM_ID,] }] },
{ type: TransferState }
];
if (false) {
/**
* @type {?}
* @private
*/
ApiHttpService.prototype.baseUrl;
/**
* @type {?}
* @private
*/
ApiHttpService.prototype.log;
/**
* @type {?}
* @private
*/
ApiHttpService.prototype.httpClient;
/**
* @type {?}
* @private
*/
ApiHttpService.prototype.platformId;
/**
* @type {?}
* @private
*/
ApiHttpService.prototype.transferState;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWh0dHAuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BobWN0cy9hbm5vdGF0aW9uLXVpLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9kYXRhL2FwaS1odHRwLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBYSxFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUFlLFVBQVUsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzlELE9BQU8sRUFBQyxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUc5RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFHL0QsTUFBTTs7Ozs7OztJQUdGLFlBQW9CLEdBQW9CLEVBQ3BCLFVBQXNCLEVBQ0QsVUFBVSxFQUMvQixhQUE0QjtRQUg1QixRQUFHLEdBQUgsR0FBRyxDQUFpQjtRQUNwQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ0QsZUFBVSxHQUFWLFVBQVUsQ0FBQTtRQUMvQixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QyxHQUFHLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDbkMsQ0FBQzs7Ozs7SUFFRCxVQUFVLENBQUMsT0FBZTtRQUN0QixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUMzQixDQUFDOzs7O0lBRUQsVUFBVTtRQUNOLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3hCLENBQUM7Ozs7OztJQUVELG1CQUFtQixDQUFDLE9BQU8sRUFBRSxJQUFJO1FBQzdCLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBaUIsR0FBRyxPQUFPLDBCQUEwQixFQUM1RSxJQUFJLEVBQUUsRUFBQyxPQUFPLEVBQUUsVUFBVSxFQUFDLENBQUMsQ0FBQztJQUNyQyxDQUFDOzs7Ozs7SUFFRCxLQUFLLENBQUMsT0FBTyxFQUFFLFlBQVk7O2NBQ2pCLFNBQVMsR0FBRyxZQUFZLENBQStCLGdCQUFnQixHQUFHLFlBQVksQ0FBQztRQUM3RixFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7O2tCQUNqQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQStCLFNBQVMsRUFBRSxJQUFJLENBQUM7WUFDM0YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDckMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUM3QixDQUFDO1FBQUMsSUFBSSxDQUFDLENBQUM7O2tCQUNFLEdBQUcsR0FBRyxHQUFHLE9BQU8sNEJBQTRCLFlBQVksRUFBRTtZQUNoRSxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQWlCLEdBQUcsRUFBRSxFQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUMsQ0FBQztpQkFDN0QsSUFBSSxDQUNELEdBQUcsQ0FBQyxhQUFhLENBQUMsRUFBRTtnQkFDaEIsRUFBRSxDQUFDLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDcEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLGFBQWEsQ0FBQyxDQUFDO2dCQUNyRCxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQ0wsQ0FBQztRQUNkLENBQUM7SUFDTCxDQUFDOzs7Ozs7O0lBQ0QsWUFBWSxDQUFDLFlBQVksRUFBRSxrQkFBa0IsRUFBRSxPQUFlOztjQUNwRCxHQUFHLEdBQUcsR0FBRyxPQUFPLDRCQUE0Qjs7Y0FDNUMsYUFBYSxHQUFHO1lBQ2xCLGVBQWUsRUFBRSxZQUFZO1lBQzdCLGdCQUFnQixFQUFFLGtCQUFrQjtTQUN2QztRQUNELElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLHNCQUFzQixHQUFHLFlBQVksQ0FBQyxDQUFDO1FBQ3JELE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBZ0IsR0FBRyxFQUFFLGFBQWEsRUFBRSxFQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUMsQ0FBQyxDQUFDO0lBQzFGLENBQUM7Ozs7O0lBRUQsZ0JBQWdCLENBQUMsVUFBc0I7O2NBQzdCLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLHdCQUF3QixVQUFVLENBQUMsRUFBRSxFQUFFO1FBQ2xFLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBYyxHQUFHLEVBQUUsRUFBQyxPQUFPLEVBQUUsVUFBVSxFQUFDLENBQUMsQ0FBQztJQUMzRSxDQUFDOzs7OztJQUVELGNBQWMsQ0FBQyxVQUFzQjs7Y0FDM0IsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sc0JBQXNCO1FBQ2pELE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBYyxHQUFHLEVBQUUsVUFBVSxFQUFFLEVBQUMsT0FBTyxFQUFFLFVBQVUsRUFBQyxDQUFDLENBQUM7SUFDckYsQ0FBQzs7O1lBNURKLFVBQVU7OztZQUZGLGVBQWU7WUFKRixVQUFVOzRDQVlmLE1BQU0sU0FBQyxXQUFXO1lBZjFCLGFBQWE7Ozs7Ozs7SUFXbEIsaUNBQXdCOzs7OztJQUVaLDZCQUE0Qjs7Ozs7SUFDNUIsb0NBQThCOzs7OztJQUM5QixvQ0FBdUM7Ozs7O0lBQ3ZDLHVDQUFvQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7T2JzZXJ2YWJsZSwgb2Z9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVHJhbnNmZXJTdGF0ZSwgbWFrZVN0YXRlS2V5IH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBpc1BsYXRmb3JtU2VydmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7SHR0cFJlc3BvbnNlLCBIdHRwQ2xpZW50fSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQge0luamVjdGFibGUsIFBMQVRGT1JNX0lELCBJbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtJRG9jdW1lbnRUYXNrfSBmcm9tICcuL2RvY3VtZW50LXRhc2subW9kZWwnO1xuaW1wb3J0IHtBbm5vdGF0aW9uLCBJQW5ub3RhdGlvbiwgSUFubm90YXRpb25TZXR9IGZyb20gJy4vYW5ub3RhdGlvbi1zZXQubW9kZWwnO1xuaW1wb3J0IHsgRW1Mb2dnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vbG9nZ2luZy9lbS1sb2dnZXIuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBcGlIdHRwU2VydmljZSB7XG4gICAgcHJpdmF0ZSBiYXNlVXJsOiBzdHJpbmc7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGxvZzogRW1Mb2dnZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgaHR0cENsaWVudDogSHR0cENsaWVudCxcbiAgICAgICAgICAgICAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHBsYXRmb3JtSWQsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSB0cmFuc2ZlclN0YXRlOiBUcmFuc2ZlclN0YXRlKSB7XG4gICAgICAgIGxvZy5zZXRDbGFzcygnQXBpSHR0cFNlcnZpY2UnKTtcbiAgICB9XG5cbiAgICBzZXRCYXNlVXJsKGJhc2VVcmw6IHN0cmluZykge1xuICAgICAgICB0aGlzLmJhc2VVcmwgPSBiYXNlVXJsO1xuICAgIH1cblxuICAgIGdldEJhc2VVcmwoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZVVybDtcbiAgICB9XG5cbiAgICBjcmVhdGVBbm5vdGF0aW9uU2V0KGJhc2VVcmwsIGJvZHkpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxJQW5ub3RhdGlvblNldD4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0PElBbm5vdGF0aW9uU2V0PihgJHtiYXNlVXJsfS9lbS1hbm5vL2Fubm90YXRpb24tc2V0c2AsXG4gICAgICAgICAgICBib2R5LCB7b2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cblxuICAgIGZldGNoKGJhc2VVcmwsIGRtRG9jdW1lbnRJZCk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPElBbm5vdGF0aW9uU2V0Pj4ge1xuICAgICAgICBjb25zdCBTVEFURV9LRVkgPSBtYWtlU3RhdGVLZXk8SHR0cFJlc3BvbnNlPElBbm5vdGF0aW9uU2V0Pj4oJ2Fubm90YXRpb25TZXQtJyArIGRtRG9jdW1lbnRJZCk7XG4gICAgICAgIGlmICh0aGlzLnRyYW5zZmVyU3RhdGUuaGFzS2V5KFNUQVRFX0tFWSkpIHtcbiAgICAgICAgICAgIGNvbnN0IGFubm90YXRpb25TZXQgPSB0aGlzLnRyYW5zZmVyU3RhdGUuZ2V0PEh0dHBSZXNwb25zZTxJQW5ub3RhdGlvblNldD4+KFNUQVRFX0tFWSwgbnVsbCk7XG4gICAgICAgICAgICB0aGlzLnRyYW5zZmVyU3RhdGUucmVtb3ZlKFNUQVRFX0tFWSk7XG4gICAgICAgICAgICByZXR1cm4gb2YoYW5ub3RhdGlvblNldCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCB1cmwgPSBgJHtiYXNlVXJsfS9lbS1hbm5vL2Fubm90YXRpb24tc2V0cy8ke2RtRG9jdW1lbnRJZH1gO1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8SUFubm90YXRpb25TZXQ+KHVybCwge29ic2VydmU6ICdyZXNwb25zZSd9KVxuICAgICAgICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgIHRhcChhbm5vdGF0aW9uU2V0ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNQbGF0Zm9ybVNlcnZlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudHJhbnNmZXJTdGF0ZS5zZXQoU1RBVEVfS0VZLCBhbm5vdGF0aW9uU2V0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuICAgIGRvY3VtZW50VGFzayhkbURvY3VtZW50SWQsIG91dHB1dERtRG9jdW1lbnRJZCwgYmFzZVVybDogc3RyaW5nKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8SURvY3VtZW50VGFzaz4+IHtcbiAgICAgICAgY29uc3QgdXJsID0gYCR7YmFzZVVybH0vYXBpL2VtLW5wYS9kb2N1bWVudC10YXNrc2A7XG4gICAgICAgIGNvbnN0IGRvY3VtZW50VGFza3MgPSB7XG4gICAgICAgICAgICBpbnB1dERvY3VtZW50SWQ6IGRtRG9jdW1lbnRJZCxcbiAgICAgICAgICAgIG91dHB1dERvY3VtZW50SWQ6IG91dHB1dERtRG9jdW1lbnRJZFxuICAgICAgICB9O1xuICAgICAgICB0aGlzLmxvZy5pbmZvKCdDYWxsaW5nIE5QQSBzZXJ2aWNlLScgKyBkbURvY3VtZW50SWQpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBvc3Q8SURvY3VtZW50VGFzaz4odXJsLCBkb2N1bWVudFRhc2tzLCB7b2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cblxuICAgIGRlbGV0ZUFubm90YXRpb24oYW5ub3RhdGlvbjogQW5ub3RhdGlvbik6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPElBbm5vdGF0aW9uPj4ge1xuICAgICAgICBjb25zdCB1cmwgPSBgJHt0aGlzLmJhc2VVcmx9L2VtLWFubm8vYW5ub3RhdGlvbnMvJHthbm5vdGF0aW9uLmlkfWA7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZGVsZXRlPElBbm5vdGF0aW9uPih1cmwsIHtvYnNlcnZlOiAncmVzcG9uc2UnfSk7XG4gICAgfVxuXG4gICAgc2F2ZUFubm90YXRpb24oYW5ub3RhdGlvbjogQW5ub3RhdGlvbik6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPElBbm5vdGF0aW9uPj4ge1xuICAgICAgICBjb25zdCB1cmwgPSBgJHt0aGlzLmJhc2VVcmx9L2VtLWFubm8vYW5ub3RhdGlvbnNgO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBvc3Q8SUFubm90YXRpb24+KHVybCwgYW5ub3RhdGlvbiwge29ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG59XG4iXX0=