@docsvision/webclient
Version:
Type definitions for DocsVision WebClient scripts and extensions.
66 lines (65 loc) • 3.68 kB
TypeScript
/// <reference types="node" />
import { ICloudSignatureService } from '@docsvision/webclient/BackOffice/$CloudSignature';
import { $ApplicationSettings } from '@docsvision/webclient/StandardServices';
import { IDssSign2Response, IDssConfirmationResponse } from '@docsvision/webclient/BackOffice/DssSignRequestModels';
import { $RequestManager } from '@docsvision/webclient/System/$RequestManager';
import { $WindowLocation } from '@docsvision/webclient/Platform/$WindowLocation';
import { $RealtimeCommunicationService } from '@docsvision/webclient/System/$RealtimeCommunicationService';
import { IRealTimeCommunicationMessage } from '@docsvision/webclient/System/IRealTimeCommunicationMessage';
import { $MessageWindow } from '@docsvision/web/components/modals/message-box';
import { $CryptoProDssController, $SignatureMethodsController } from '@docsvision/webclient/Generated/DocsVision.WebClient.Controllers';
import { ISignRequest } from '@docsvision/webclient/BackOffice/ISignRequest';
import { ISignResult } from '@docsvision/webclient/BackOffice/ISignResult';
import { $LocalStorage } from '@docsvision/webclient/System/$LocalStorage';
import { ISignatureVerificationResult } from '@docsvision/webclient/BackOffice/ISignatureVerificationResult';
import { IGetCertificateResult } from '@docsvision/webclient/BackOffice/IGetCertificateResult';
import { IGetDocumentInfoResult } from '@docsvision/webclient/BackOffice/IGetDocumentInfoResult';
interface IAuthorizedRealtimeMessageData {
accessToken: string;
accountName: string;
expiresIn: number;
error?: string;
errorDescription?: string;
}
export declare class CryptoProDssService implements ICloudSignatureService {
private services;
dssAddress: string;
dssClientId: string;
authorizeRedirectUrl: string;
signServerAppName: string;
stsAppName: string;
documentStoreAppName: string;
verifyUrl: string;
verificationAvailableValue: boolean;
authorizeWindow: Window | undefined;
authorizeWindowCheckInterval: NodeJS.Timeout;
continueAuthorizeCallback: (err: string) => void;
token: string;
constructor(services: $RequestManager & $WindowLocation & $SignatureMethodsController & $RealtimeCommunicationService & $MessageWindow & $CryptoProDssController & $ApplicationSettings & $LocalStorage);
signatureAvailable(): boolean;
userAuthorized(): boolean;
needsAuthorization(): boolean;
authorize(accountName?: string): Promise<void>;
logout(): Promise<void>;
getCertificate(id: number): Promise<IGetCertificateResult>;
getCertificateList(): Promise<IGetCertificateResult[]>;
verifySignature(signature: string, document: string): Promise<ISignatureVerificationResult>;
verificationAvailable(): boolean;
signDocument(request: ISignRequest): Promise<ISignResult>;
getDocumentInfo(id: string): Promise<IGetDocumentInfoResult>;
private downloadDocumentFromStore;
private createSignOperation;
private getFormatValue;
private uploadDocumentsToStore;
private deleteDocumentsFromStore;
confirmSignOperation(signOperation: IDssSign2Response, request: ISignRequest): Promise<IDssConfirmationResponse>;
private getConfirmedSignOperation;
private createSignConfirmation;
private checkSignConfirmation;
private getActionPolicy;
performWidthAuthorization<T>(requestAction: (authorization: string) => Promise<T>): Promise<T>;
getAuthorization(token: string): string;
onAuthorizedMessage(msg: IRealTimeCommunicationMessage<IAuthorizedRealtimeMessageData>): Promise<void>;
onAuthorized(data: IAuthorizedRealtimeMessageData, showError?: boolean): Promise<void>;
}
export {};