import { ID } from '../../commonStateTypes/common'; import { AccountBasePayload } from '../../entity/account/accountPayload'; import { TransactionPayload } from '../../entity/transaction/payloadTypes/transactionPayload'; import { ZeniAPIResponse } from '../../responsePayload'; interface TransactionListPayload extends AccountBasePayload { transactions: TransactionPayload[]; transactions_count: number; } export interface TransactionListByAccountPayload { account: TransactionListPayload; query: { end_date: string; start_date: string; }; query_definitions: Record; } export interface QueryEntityMetaDataPayload { end_date: string; entity_id: ID; entity_name: string; entity_type: string; start_date: string; } interface QueryTransactionByCategoryTypeMetaDataPayload { end_date: string; is_attachment_missing_only: boolean; sort_by: string; sort_order: string; start_date: string; total_amount_min: number; } export interface TransactionListByEntityPayload { query: QueryEntityMetaDataPayload; transactions: TransactionPayload[]; } interface QueryClassMetaDataPayload { account_id: string; account_type: string; accounting_class_id: string; end_date: string; group_by: string; include_sub_class_transactions: boolean; sort_order: string; start_date: string; } export interface TransactionListByClassPayload { account: TransactionListPayload; query: QueryClassMetaDataPayload; query_definitions: Record; } interface QueryProjectMetaDataPayload { account_id: string; account_type: string; accounting_project_id: string; end_date: string; group_by: string; sort_order: string; start_date: string; } export interface TransactionListByProjectPayload { account: TransactionListPayload; query: QueryProjectMetaDataPayload; query_definitions: Record; } export type TransactionListByAccountResponse = ZeniAPIResponse; export type TransactionListByEntityResponse = ZeniAPIResponse; export type TransactionListByClassResponse = ZeniAPIResponse; export type TransactionListByProjectResponse = ZeniAPIResponse; interface TransactionsByCategoryTypePayload { query: QueryTransactionByCategoryTypeMetaDataPayload; transactions: TransactionPayload[]; } export type TransactionsByCategoryTypeResponse = ZeniAPIResponse; export {};