UNPKG

@accounter/server

Version:

50 lines (49 loc) 2.83 kB
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 {};