Files
gridpilot.gg/packages/racing/domain/repositories/ITransactionRepository.ts
2025-12-10 00:38:59 +01:00

17 lines
606 B
TypeScript

/**
* Repository Interface: ITransactionRepository
*
* Defines operations for Transaction entity persistence
*/
import type { Transaction, TransactionType } from '../entities/Transaction';
export interface ITransactionRepository {
findById(id: string): Promise<Transaction | null>;
findByWalletId(walletId: string): Promise<Transaction[]>;
findByType(type: TransactionType): Promise<Transaction[]>;
create(transaction: Transaction): Promise<Transaction>;
update(transaction: Transaction): Promise<Transaction>;
delete(id: string): Promise<void>;
exists(id: string): Promise<boolean>;
}