@hmcts/media-viewer
Version:
44 lines • 9.27 kB
JavaScript
import { createEffect, ofType } from '@ngrx/effects';
import { Injectable } from '@angular/core';
import { catchError, exhaustMap, map, switchMap } from 'rxjs/operators';
import { of } from 'rxjs';
import * as documentActions from '../actions/document.actions';
import * as i0 from "@angular/core";
import * as i1 from "@ngrx/effects";
import * as i2 from "../../viewers/convertible-content-viewer/document-conversion-api.service";
import * as i3 from "../../viewers/rotation-persist/rotation-api.service";
export class DocumentEffects {
constructor(actions$, documentConversionService, rotationApiService) {
this.actions$ = actions$;
this.documentConversionService = documentConversionService;
this.rotationApiService = rotationApiService;
this.convert$ = createEffect(() => this.actions$.pipe(ofType(documentActions.CONVERT), map((action) => action.payload), exhaustMap((documentId) => {
return this.documentConversionService.convert(documentId).pipe(map((result) => {
const url = URL.createObjectURL(result.body);
return new documentActions.ConvertSuccess(url);
}), catchError(error => {
return of(new documentActions.ConvertFailure(error));
}));
})));
this.loadRotation$ = createEffect(() => this.actions$.pipe(ofType(documentActions.LOAD_ROTATION), map((action) => action.payload), switchMap((documentId) => {
return this.rotationApiService.getRotation(documentId).pipe(map(resp => {
return new documentActions.LoadRotationSuccess(resp.body);
}), catchError(error => {
return of(new documentActions.LoadRotationFailure(error));
}));
})));
this.saveRotation$ = createEffect(() => this.actions$.pipe(ofType(documentActions.SAVE_ROTATION), map((action) => action.payload), switchMap((payload) => {
return this.rotationApiService.saveRotation(payload).pipe(map(resp => {
return new documentActions.SaveRotationSuccess(resp.body);
}), catchError(error => {
return of(new documentActions.SaveRotationFailure(error));
}));
})));
}
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DocumentEffects, deps: [{ token: i1.Actions }, { token: i2.DocumentConversionApiService }, { token: i3.RotationApiService }], target: i0.ɵɵFactoryTarget.Injectable }); }
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DocumentEffects }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DocumentEffects, decorators: [{
type: Injectable
}], ctorParameters: () => [{ type: i1.Actions }, { type: i2.DocumentConversionApiService }, { type: i3.RotationApiService }] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQuZWZmZWN0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhLXZpZXdlci9zcmMvbGliL3N0b3JlL2VmZmVjdHMvZG9jdW1lbnQuZWZmZWN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVcsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUd4RSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFCLE9BQU8sS0FBSyxlQUFlLE1BQU0sNkJBQTZCLENBQUM7Ozs7O0FBRy9ELE1BQU0sT0FBTyxlQUFlO0lBQzFCLFlBQ1UsUUFBaUIsRUFDakIseUJBQXVELEVBQ3ZELGtCQUFzQztRQUZ0QyxhQUFRLEdBQVIsUUFBUSxDQUFTO1FBQ2pCLDhCQUF5QixHQUF6Qix5QkFBeUIsQ0FBOEI7UUFDdkQsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUdoRCxhQUFRLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUMzQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDbEIsTUFBTSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsRUFDL0IsR0FBRyxDQUFDLENBQUMsTUFBK0IsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUN4RCxVQUFVLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtZQUN4QixPQUFPLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUM1RCxHQUFHLENBQUMsQ0FBQyxNQUEwQixFQUFFLEVBQUU7Z0JBQ2pDLE1BQU0sR0FBRyxHQUFHLEdBQUcsQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUM3QyxPQUFPLElBQUksZUFBZSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNqRCxDQUFDLENBQUMsRUFDRixVQUFVLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ2pCLE9BQU8sRUFBRSxDQUFDLElBQUksZUFBZSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQ3ZELENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDUixDQUFDLENBQUMsQ0FBQyxDQUNKLENBQUM7UUFFRixrQkFBYSxHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FDaEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ2xCLE1BQU0sQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLEVBQ3JDLEdBQUcsQ0FBQyxDQUFDLE1BQW9DLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFDN0QsU0FBUyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDdkIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FDekQsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUNULE9BQU8sSUFBSSxlQUFlLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzVELENBQUMsQ0FBQyxFQUNGLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDakIsT0FBTyxFQUFFLENBQUMsSUFBSSxlQUFlLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUM1RCxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ1IsQ0FBQyxDQUFDLENBQUMsQ0FDSixDQUFDO1FBRUYsa0JBQWEsR0FBRyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQ2hDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUNsQixNQUFNLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxFQUNyQyxHQUFHLENBQUMsQ0FBQyxNQUFvQyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQzdELFNBQVMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ3BCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQ3ZELEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDVCxPQUFPLElBQUksZUFBZSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM1RCxDQUFDLENBQUMsRUFDRixVQUFVLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ2pCLE9BQU8sRUFBRSxDQUFDLElBQUksZUFBZSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDNUQsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNSLENBQUMsQ0FBQyxDQUFDLENBQ0osQ0FBQztJQTlDRSxDQUFDO2tJQUxNLGVBQWU7c0lBQWYsZUFBZTs7NEZBQWYsZUFBZTtrQkFEM0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGlvbnMsIGNyZWF0ZUVmZmVjdCwgb2ZUeXBlIH0gZnJvbSAnQG5ncngvZWZmZWN0cyc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBleGhhdXN0TWFwLCBtYXAsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IERvY3VtZW50Q29udmVyc2lvbkFwaVNlcnZpY2UgfSBmcm9tICcuLi8uLi92aWV3ZXJzL2NvbnZlcnRpYmxlLWNvbnRlbnQtdmlld2VyL2RvY3VtZW50LWNvbnZlcnNpb24tYXBpLnNlcnZpY2UnO1xuaW1wb3J0IHsgUm90YXRpb25BcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdmlld2Vycy9yb3RhdGlvbi1wZXJzaXN0L3JvdGF0aW9uLWFwaS5zZXJ2aWNlJztcbmltcG9ydCB7IG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgKiBhcyBkb2N1bWVudEFjdGlvbnMgZnJvbSAnLi4vYWN0aW9ucy9kb2N1bWVudC5hY3Rpb25zJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIERvY3VtZW50RWZmZWN0cyB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgYWN0aW9ucyQ6IEFjdGlvbnMsXG4gICAgcHJpdmF0ZSBkb2N1bWVudENvbnZlcnNpb25TZXJ2aWNlOiBEb2N1bWVudENvbnZlcnNpb25BcGlTZXJ2aWNlLFxuICAgIHByaXZhdGUgcm90YXRpb25BcGlTZXJ2aWNlOiBSb3RhdGlvbkFwaVNlcnZpY2UsXG4gICkgeyB9XG5cbiAgY29udmVydCQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgb2ZUeXBlKGRvY3VtZW50QWN0aW9ucy5DT05WRVJUKSxcbiAgICBtYXAoKGFjdGlvbjogZG9jdW1lbnRBY3Rpb25zLkNvbnZlcnQpID0+IGFjdGlvbi5wYXlsb2FkKSxcbiAgICBleGhhdXN0TWFwKChkb2N1bWVudElkKSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5kb2N1bWVudENvbnZlcnNpb25TZXJ2aWNlLmNvbnZlcnQoZG9jdW1lbnRJZCkucGlwZShcbiAgICAgICAgbWFwKChyZXN1bHQ6IEh0dHBSZXNwb25zZTxCbG9iPikgPT4ge1xuICAgICAgICAgIGNvbnN0IHVybCA9IFVSTC5jcmVhdGVPYmplY3RVUkwocmVzdWx0LmJvZHkpO1xuICAgICAgICAgIHJldHVybiBuZXcgZG9jdW1lbnRBY3Rpb25zLkNvbnZlcnRTdWNjZXNzKHVybCk7XG4gICAgICAgIH0pLFxuICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgICByZXR1cm4gb2YobmV3IGRvY3VtZW50QWN0aW9ucy5Db252ZXJ0RmFpbHVyZShlcnJvcikpO1xuICAgICAgICB9KSk7XG4gICAgfSkpXG4gICk7XG5cbiAgbG9hZFJvdGF0aW9uJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICBvZlR5cGUoZG9jdW1lbnRBY3Rpb25zLkxPQURfUk9UQVRJT04pLFxuICAgIG1hcCgoYWN0aW9uOiBkb2N1bWVudEFjdGlvbnMuTG9hZFJvdGF0aW9uKSA9PiBhY3Rpb24ucGF5bG9hZCksXG4gICAgc3dpdGNoTWFwKChkb2N1bWVudElkKSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5yb3RhdGlvbkFwaVNlcnZpY2UuZ2V0Um90YXRpb24oZG9jdW1lbnRJZCkucGlwZShcbiAgICAgICAgbWFwKHJlc3AgPT4ge1xuICAgICAgICAgIHJldHVybiBuZXcgZG9jdW1lbnRBY3Rpb25zLkxvYWRSb3RhdGlvblN1Y2Nlc3MocmVzcC5ib2R5KTtcbiAgICAgICAgfSksXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICAgIHJldHVybiBvZihuZXcgZG9jdW1lbnRBY3Rpb25zLkxvYWRSb3RhdGlvbkZhaWx1cmUoZXJyb3IpKTtcbiAgICAgICAgfSkpO1xuICAgIH0pKVxuICApO1xuXG4gIHNhdmVSb3RhdGlvbiQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgb2ZUeXBlKGRvY3VtZW50QWN0aW9ucy5TQVZFX1JPVEFUSU9OKSxcbiAgICBtYXAoKGFjdGlvbjogZG9jdW1lbnRBY3Rpb25zLlNhdmVSb3RhdGlvbikgPT4gYWN0aW9uLnBheWxvYWQpLFxuICAgIHN3aXRjaE1hcCgocGF5bG9hZCkgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMucm90YXRpb25BcGlTZXJ2aWNlLnNhdmVSb3RhdGlvbihwYXlsb2FkKS5waXBlKFxuICAgICAgICBtYXAocmVzcCA9PiB7XG4gICAgICAgICAgcmV0dXJuIG5ldyBkb2N1bWVudEFjdGlvbnMuU2F2ZVJvdGF0aW9uU3VjY2VzcyhyZXNwLmJvZHkpO1xuICAgICAgICB9KSxcbiAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICAgICAgcmV0dXJuIG9mKG5ldyBkb2N1bWVudEFjdGlvbnMuU2F2ZVJvdGF0aW9uRmFpbHVyZShlcnJvcikpO1xuICAgICAgICB9KSk7XG4gICAgfSkpXG4gICk7XG59XG4iXX0=