UNPKG

@ekisa-xsighub/sdk

Version:

SDK de emparejamiento que permite la integración de la aplicación móvil con el servidor centralizado para capturar y transferir las firmas de los usuarios en tiempo real.

64 lines (55 loc) 2.44 kB
import { SessionReference, Session, SessionSignature, SessionSignatureMetadata, SessionDocument, SessionDocumentSignature, SessionDocumentMetadata } from '@ekisa-xsighub/core'; interface SdkQr { generate(pairingKey: string): Promise<string>; generatex(pairingKey: string): Promise<string>; } type SdkClientConfig = { api: string; version: string; }; type ReferenceCreate = Omit<SessionReference, 'id' | 'signatures'>; type ReferenceUpdate = Partial<ReferenceCreate>; interface SdkReferences { create(data: ReferenceCreate): Promise<SessionReference>; update(referenceId: number, data: ReferenceUpdate): Promise<SessionReference>; delete(referenceId: number): Promise<SessionReference>; } interface SdkSessions { create(): Promise<Session>; findByIpAddress(): Promise<Session>; findByPairingKey(pairingKey: string): Promise<Session>; pair(pairingKey: string): Promise<Session>; unpair(pairingKey: string): Promise<Session>; destroy(pairingKey: string): Promise<Session>; } type SignatureCreate = Omit<SessionSignature, 'id'>; interface SdkSignatures { create(data: SignatureCreate): Promise<SessionSignature>; findById(signatureId: number): Promise<SessionSignature>; update(signatureId: number, data: SessionSignature): Promise<SessionSignature>; loadMetadata(documentId: number, data: SessionSignatureMetadata): Promise<SessionSignature>; delete(signatureId: number): Promise<SessionSignature>; } type DocumentCreate = Omit<SessionDocument, 'id'>; interface SdkDocuments { create(data: DocumentCreate): Promise<SessionDocument>; findById(documentId: number): Promise<SessionDocument>; update(signatureId: number, data: SessionDocument): Promise<SessionDocument>; attach(documentId: number, data: SessionDocumentSignature): Promise<SessionDocument>; delete(signatureId: number): Promise<SessionDocument>; loadMetadata(documentId: number, data: SessionDocumentMetadata): Promise<SessionDocument>; populateMetadata(rawContent: string, data: SessionDocumentMetadata): string; extractSignatures(rawContent: string): { [key: string]: string; }; } interface SdkClient { init: (config: SdkClientConfig) => SdkClient; sessions: SdkSessions; references: SdkReferences; signatures: SdkSignatures; documents: SdkDocuments; qr: SdkQr; } declare const client: SdkClient; export { SdkClient, client };