UNPKG

@visionfi/server-sdk

Version:

Server-side SDK for VisionFI API access using Google Service Account authentication

48 lines (47 loc) 1.53 kB
/** * 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); } }