@visionfi/server-sdk
Version:
Server-side SDK for VisionFI API access using Google Service Account authentication
48 lines (47 loc) • 1.53 kB
JavaScript
/**
* Document Client - handles document operations for packages in Server SDK
* Copyright (c) 2024-2025 VisionFI. All Rights Reserved.
*/
import { VisionFiError } from '@visionfi/core';
export class DocumentClient {
apiClient;
constructor(apiClient) {
this.apiClient = apiClient;
}
/**
* Add documents to a package
*/
async add(packageId, options) {
try {
const response = await this.apiClient.put(`/operations/packages/${packageId}/document`, options);
return response.data;
}
catch (error) {
throw this.handleError(error, 'Failed to add documents to package');
}
}
/**
* Delete a document from a package
*/
async delete(packageId, documentUuid) {
try {
const response = await this.apiClient.delete(`/operations/packages/${packageId}/document/${documentUuid}`);
return response.data;
}
catch (error) {
throw this.handleError(error, 'Failed to delete document from package');
}
}
/**
* Handle errors consistently
*/
handleError(error, defaultMessage) {
if (error instanceof VisionFiError) {
return error;
}
const message = error.response?.data?.message || error.message || defaultMessage;
const statusCode = error.response?.status;
const code = error.response?.data?.code || 'unknown_error';
return new VisionFiError(message, statusCode, code);
}
}