import { APIClient } from "./ApiClient"; export interface Balances { [key: number]: number; } export interface MovementUpdate { account_id: number; time: number; label: String; file_id?: number; amount: number; checked: boolean; } export interface Movement { id: number; account_id: number; time: number; label: string; file_id?: number; amount: number; checked: boolean; time_create: number; time_update: number; } export class MovementApi { /** * Get all accounts balances */ static async GetAllBalances(): Promise { return ( await APIClient.exec({ uri: `/accounts/balances`, method: "GET", }) ).data; } /** * Create a new movement */ static async Create(q: MovementUpdate): Promise { await APIClient.exec({ uri: `/movement`, method: "POST", jsonData: q, }); } /** * Get all the movements of an account */ static async GetAccountMovements(account_id: number): Promise { return ( await APIClient.exec({ uri: `/account/${account_id}/movements`, method: "GET", }) ).data; } /** * Update a movement information */ static async Update(movement: Movement): Promise { return ( await APIClient.exec({ uri: `/movement/${movement.id}`, method: "PUT", jsonData: movement, }) ).data; } }