Skip to main content
Glama
treasury.ts2.61 kB
import type { InvoiceExpressClient } from '../InvoiceExpressClient.js'; import type { ClientBalance, UpdateInitialBalanceRequest, RegularizationResponse, CreateRegularizationRequest, CreateTreasuryMovementRequest, } from '../types/treasury.js'; export class TreasuryEndpoint { constructor(private readonly client: InvoiceExpressClient) {} private formatDateToPT(date: string): string { if (date.includes('/')) return date; const [year, month, day] = date.split('-'); return `${day}/${month}/${year}`; } async getClientBalance(clientId: number): Promise<ClientBalance> { const response = await this.client.get<ClientBalance>( `/api/v3/clients/${clientId}/balance.json` ); return response; } async updateClientInitialBalance( clientId: number, data: UpdateInitialBalanceRequest ): Promise<void> { const formattedData = { ...data, date: this.formatDateToPT(data.date), }; await this.client.put<void>( `/api/v3/clients/${clientId}/initial_balance.json`, { initial_balance: formattedData, } ); } async getRegularizations(clientId: number): Promise<RegularizationResponse> { const response = await this.client.get<RegularizationResponse>( `/api/v3/clients/${clientId}/regularization.json` ); return response; } async createRegularization( clientId: number, data: CreateRegularizationRequest ): Promise<RegularizationResponse> { const formattedData = { ...data, date: this.formatDateToPT(data.date), }; const response = await this.client.post<RegularizationResponse>( `/api/v3/clients/${clientId}/regularization.json`, { regularization: formattedData, } ); return response; } async deleteRegularization( clientId: number, regularizationId: number ): Promise<void> { await this.client.delete<void>( `/api/v3/clients/${clientId}/regularization/${regularizationId}.json` ); } async createTreasuryMovement( clientId: number, data: CreateTreasuryMovementRequest ): Promise<void> { const formattedData = { ...data, date: this.formatDateToPT(data.date), }; await this.client.post<void>( `/api/v3/clients/${clientId}/treasury_movements.json`, { treasury_movement: formattedData, } ); } async deleteTreasuryMovement( clientId: number, movementId: number ): Promise<void> { await this.client.delete<void>( `/api/v3/clients/${clientId}/treasury_movements/${movementId}.json` ); } }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/andreagroferreira/invoiceexpress-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server