@visionfi/server-sdk
Version:
Server-side SDK for VisionFI API access using Google Service Account authentication
86 lines (85 loc) • 3.2 kB
TypeScript
import { AxiosInstance } from 'axios';
import { DocuSignConfig, DocuSignConfigResponse, DocuSignAuthStatusUpdate, DocuSignAuthStatusResponse } from './types.js';
/**
* Class for managing DocuSign configuration.
* Provides methods to get, update, and manage DocuSign integration configuration.
*/
export declare class DocuSignConfigManager {
private apiClient;
/**
* Creates a new DocuSignConfigManager instance.
*
* @param apiClient - The Axios instance used for API requests
*/
constructor(apiClient: AxiosInstance);
/**
* Retrieves the current DocuSign integration configuration.
*
* @returns A promise that resolves to the DocuSign configuration response
*
* @example
* ```typescript
* const configResponse = await docuSignManager.getConfig();
*
* if (configResponse.success) {
* console.log('DocuSign configuration:', configResponse.data);
* } else {
* console.error('Failed to get DocuSign config:', configResponse.message);
* }
* ```
*/
getConfig(): Promise<DocuSignConfigResponse>;
/**
* Updates or creates the DocuSign integration configuration.
*
* @param config - The DocuSign configuration to update or create
* @returns A promise that resolves to the DocuSign configuration response
*
* @example
* ```typescript
* const configResponse = await docuSignManager.updateConfig({
* userId: '12345678-1234-1234-1234-123456789012',
* accountId: '98765432-9876-9876-9876-987654321098',
* baseUri: 'https://demo.docusign.net/restapi',
* name: 'Production DocuSign Integration',
* enabled: true
* });
*
* if (configResponse.success) {
* console.log('DocuSign configuration updated:', configResponse.data);
* } else {
* console.error('Failed to update DocuSign config:', configResponse.message);
* }
* ```
*/
updateConfig(config: DocuSignConfig): Promise<DocuSignConfigResponse>;
/**
* Updates only the authentication status of a DocuSign integration.
*
* @param statusUpdate - The authentication status update data
* @returns A promise that resolves to the DocuSign authentication status response
*
* @example
* ```typescript
* const statusResponse = await docuSignManager.updateAuthStatus({
* authenticationStatus: 'authenticated',
* lastAuthenticated: new Date().toISOString()
* });
*
* if (statusResponse.success) {
* console.log('DocuSign auth status updated:', statusResponse.data);
* } else {
* console.error('Failed to update auth status:', statusResponse.message);
* }
* ```
*/
updateAuthStatus(statusUpdate: DocuSignAuthStatusUpdate): Promise<DocuSignAuthStatusResponse>;
/**
* Handles errors from API calls and formats them for the client.
*
* @param error - The error object from the failed API call
* @param defaultMessage - A default message to use if no specific message is available
* @returns A VisionFiError with the appropriate message and status code
*/
private handleError;
}