@accounter/server
Version:
50 lines (49 loc) • 2.83 kB
TypeScript
import DataLoader from 'dataloader';
import { DBProvider } from '../../app-providers/db.provider.js';
import { Optional, TimelessDateString } from '../../../shared/types/index.js';
import type { IGetSimilarTransactionsParams, IGetTransactionsByChargeIdsResult, IGetTransactionsByFiltersParams, IGetTransactionsByFiltersResult, IGetTransactionsByIdsResult, IReplaceTransactionsChargeIdParams, IUpdateTransactionParams } from '../types.js';
export type TransactionRequiredWrapper<T extends {
id: unknown;
account_id: unknown;
charge_id: unknown;
source_id: unknown;
currency: unknown;
event_date: unknown;
amount: unknown;
current_balance: unknown;
created_at: unknown;
updated_at: unknown;
}> = Omit<T, 'id' | 'account_id' | 'charge_id' | 'source_id' | 'currency' | 'event_date' | 'amount' | 'current_balance' | 'created_at' | 'updated_at'> & {
id: NonNullable<T['id']>;
account_id: NonNullable<T['account_id']>;
charge_id: NonNullable<T['charge_id']>;
source_id: NonNullable<T['source_id']>;
currency: NonNullable<T['currency']>;
event_date: NonNullable<T['event_date']>;
amount: NonNullable<T['amount']>;
current_balance: NonNullable<T['current_balance']>;
created_at: NonNullable<T['created_at']>;
updated_at: NonNullable<T['updated_at']>;
};
type IGetAdjustedTransactionsByFiltersParams = Optional<Omit<IGetTransactionsByFiltersParams, 'isIDs' | 'fromEventDate' | 'toEventDate' | 'fromDebitDate' | 'toDebitDate'>, 'IDs' | 'businessIDs'> & {
fromEventDate?: TimelessDateString | null;
toEventDate?: TimelessDateString | null;
fromDebitDate?: TimelessDateString | null;
toDebitDate?: TimelessDateString | null;
};
export declare class TransactionsProvider {
private context;
private dbProvider;
adminBusinessId: string;
constructor(context: GraphQLModules.Context, dbProvider: DBProvider);
private batchTransactionsByIds;
getTransactionByIdLoader: DataLoader<string, IGetTransactionsByIdsResult | undefined, string>;
private batchTransactionsByChargeIDs;
getTransactionsByChargeIDLoader: DataLoader<string, IGetTransactionsByChargeIdsResult[], string>;
getTransactionsByMissingRequiredInfo(): Promise<import("../types.js").IGetTransactionsByMissingRequiredInfoResult[]>;
getSimilarTransactions(params: Omit<IGetSimilarTransactionsParams, 'ownerId'>): Promise<IGetTransactionsByIdsResult[]>;
replaceTransactionsChargeId(params: IReplaceTransactionsChargeIdParams): Promise<import("../types.js").IReplaceTransactionsChargeIdResult[]>;
updateTransaction(params: IUpdateTransactionParams): Promise<import("../types.js").IUpdateTransactionResult[]>;
getTransactionsByFilters(params: IGetAdjustedTransactionsByFiltersParams): Promise<IGetTransactionsByFiltersResult[]>;
}
export {};