pancake-client-sdk
Version:
Official TypeScript SDK for Pancake POS API
85 lines (84 loc) • 2.56 kB
TypeScript
import { FinancialTransaction, CreateTransactionRequest, TransactionCategory, CreateCategoryRequest, AdvertisingExpense, CreateAdvertisingExpenseRequest, TransactionListParams, FinancialReport, ReportParams } from '../types/finance';
import { BaseResource } from './base';
export declare class FinanceResource extends BaseResource {
/**
* Get list of financial transactions
*/
listTransactions(params?: TransactionListParams): Promise<{
data: FinancialTransaction[];
}>;
/**
* Get transaction by ID
*/
getTransactionById(transactionId: string): Promise<FinancialTransaction>;
/**
* Create new transaction
*/
createTransaction(data: CreateTransactionRequest): Promise<FinancialTransaction>;
/**
* Update transaction
*/
updateTransaction(transactionId: string, data: Partial<FinancialTransaction>): Promise<FinancialTransaction>;
/**
* Delete transaction
*/
deleteTransaction(transactionId: string): Promise<void>;
/**
* Get list of transaction categories
*/
listCategories(type?: 'receipt' | 'expense'): Promise<{
data: TransactionCategory[];
}>;
/**
* Create new category
*/
createCategory(data: CreateCategoryRequest): Promise<TransactionCategory>;
/**
* Update category
*/
updateCategory(categoryId: number, data: Partial<TransactionCategory>): Promise<TransactionCategory>;
/**
* Delete category
*/
deleteCategory(categoryId: number): Promise<void>;
/**
* Create advertising expense
*/
createAdvertisingExpense(data: CreateAdvertisingExpenseRequest): Promise<AdvertisingExpense>;
/**
* List advertising expenses
*/
listAdvertisingExpenses(params?: {
page_size?: number;
page_number?: number;
platform?: string;
from_date?: string;
to_date?: string;
}): Promise<{
data: AdvertisingExpense[];
}>;
/**
* Get financial report
*/
getFinancialReport(params: ReportParams): Promise<FinancialReport>;
/**
* Get daily summary report
*/
getDailySummary(params: {
from_date: string;
to_date: string;
}): Promise<{
date: string;
receipts: number;
expenses: number;
net: number;
}[]>;
/**
* Get category breakdown report
*/
getCategoryBreakdown(params: ReportParams): Promise<{
category_id: number;
category_name: string;
total_amount: number;
}[]>;
}