@docsvision/webclient
Version:
Type definitions for DocsVision WebClient scripts and extensions.
149 lines (148 loc) • 4.62 kB
TypeScript
import { Optional } from "@docsvision/web/core/services";
export interface IDssSignRequestSignatureParameters {
Hash: string;
CADESType: string;
IsDetached: boolean;
TSPAddress?: string;
IncludeDocumentName?: boolean;
/** base64({ [key: string]: string }) */
AuthenticatedAttributes?: string;
}
export declare enum DssSingType {
CAdES = 2,
XMLDSig = 0,
GOST3410 = 1,
PDF = 3,
MSOffice = 4,
CMS = 5
}
export interface DssSignRequestSignature {
Type: DssSingType;
Parameters: IDssSignRequestSignatureParameters;
CertificateId: number;
PinCode: string;
}
export interface DssSign2BinaryData {
RefId: string;
}
export interface DssSign2Request {
BinaryData: DssSign2BinaryData[];
Signature: DssSignRequestSignature;
ForceConfirmation?: boolean;
}
export interface IDssOperationResultInfo {
RefId: string;
OriginalRefId: string;
Status: "Completed" | "Created" | "InProgress" | "Processing" | "Error";
Error: string;
ErrorDescription: string;
}
export interface IDssSign2Operation {
Id: string;
Status: "Completed" | "Created" | "InProgress" | "Processing" | "Error";
Result: {
ProcessedDocuments: IDssOperationResultInfo[];
};
}
export interface IDssSign2Response {
Operation: IDssSign2Operation;
}
export interface IDssDocumentUploadResponse {
DocumentIds: string[];
}
export declare enum DSSActions {
/** Подтверждение входа пользователя */
Issue = 1,
/** Подпись документа */
SignDocument = 2,
/** Подпись пакета документов */
SignDocuments = 4,
/** Расшифрование докумета */
DecryptDocument = 8,
/** Создание запроса на сертификат */
CreateRequest = 16,
/** Смена ПИН-кода на закрытый ключ сертификата */
ChangePin = 32,
/** Перевыпуск сертификата */
RenewCertificate = 64,
/** Аннулирование сертификата */
RevokeCertificate = 128,
/** Приостановление действия сертификата */
HoldCertificate = 256,
/** Возобновление действия сертификата */
UnholdCertificate = 512,
/** Удаление сертификата */
DeleteCertificate = 1024,
/** Создание ключа согласования (CloudCSP) */
PrivateKeyAccess = 2048
}
export interface IDssTransactionDocumentContent {
Name: string;
Content: string;
}
export interface IDssTransactionParameter extends IDssSignRequestSignatureParameters {
SignatureType: DssSingType;
CertificateId: number;
/** Сведения о документе. Например, имя файла */
DocumentInfo: string;
/** Тип документа (обычно расширение). Параметр используется для визуализации документа */
DocumentType: string;
}
export interface IDssSignByTransactionRequest {
OperationCode: Optional<DSSActions>;
Document?: string;
Documents?: IDssTransactionDocumentContent[];
Parameters: Array<{
Name: keyof IDssTransactionParameter;
Value: any;
}>;
}
export interface Title {
Value: string;
}
export interface Image {
MimeType: string;
Value: string;
}
export interface TextChallenge {
Image: Image;
AuthnMethod: string;
RefID: string;
ExpiresIn: number;
ExpiresInSpecified: boolean;
}
export interface IDssTransactionConfirmationContextData {
RefID: string;
}
export interface IDssTransactionConfirmationChallenge {
Title: Title;
TextChallenge: TextChallenge[];
ContextData: IDssTransactionConfirmationContextData;
}
export interface IDssChoiceAuthenticationChallenge {
Title: Title;
ChoiceChallenge: Object[];
ContextData: IDssTransactionConfirmationContextData;
}
export interface IDssChallengeResult {
RefId: string;
Value?: string;
}
export interface IDssConfirmationResponse {
AccessToken?: string;
ExpiresIn?: number;
Challenge: IDssTransactionConfirmationChallenge;
ContextData: IDssTransactionConfirmationContextData;
IsFinal: boolean;
IsError: boolean;
Error?: string;
ErrorDescription?: string;
TransactionId?: string;
}
export interface IDssChoiceAuthenticationResponse {
Challenge: IDssChoiceAuthenticationChallenge;
IsFinal: boolean;
IsError: boolean;
Error?: string;
ErrorDescription?: string;
}