UNPKG

@docsvision/webclient

Version:

Type definitions for DocsVision WebClient scripts and extensions.

66 lines (65 loc) 3.68 kB
/// <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 {};