Files
bigcapital/packages/server/src/interfaces/TransactionsByCustomers.ts
2024-02-17 23:58:26 +02:00

52 lines
1.6 KiB
TypeScript

import { IFinancialSheetCommonMeta } from './FinancialStatements';
import { IFinancialTable, ITableData } from './Table';
import {
ITransactionsByContactsAmount,
ITransactionsByContactsTransaction,
ITransactionsByContactsFilter,
} from './TransactionsByContacts';
export interface ITransactionsByCustomersAmount
extends ITransactionsByContactsAmount {}
export interface ITransactionsByCustomersTransaction
extends ITransactionsByContactsTransaction {}
export interface ITransactionsByCustomersCustomer {
customerName: string;
openingBalance: ITransactionsByCustomersAmount;
closingBalance: ITransactionsByCustomersAmount;
transactions: ITransactionsByCustomersTransaction[];
}
export interface ITransactionsByCustomersFilter
extends ITransactionsByContactsFilter {
customersIds: number[];
}
export type ITransactionsByCustomersData = ITransactionsByCustomersCustomer[];
export interface ITransactionsByCustomersStatement {
data: ITransactionsByCustomersData;
query: ITransactionsByCustomersFilter;
meta: ITransactionsByCustomersMeta;
}
export interface ITransactionsByCustomersTable extends IFinancialTable {
query: ITransactionsByCustomersFilter;
meta: ITransactionsByCustomersMeta;
}
export interface ITransactionsByCustomersService {
transactionsByCustomers(
tenantId: number,
filter: ITransactionsByCustomersFilter
): Promise<ITransactionsByCustomersStatement>;
}
export interface ITransactionsByCustomersMeta
extends IFinancialSheetCommonMeta {
formattedFromDate: string;
formattedToDate: string;
formattedDateRange: string;
}