package repository // import ( // "context" // dbgen "github.com/SamuelTariku/FortuneBet-Backend/gen/db" // "github.com/SamuelTariku/FortuneBet-Backend/internal/domain" // ) // func convertDBTransaction(transaction dbgen.Transaction) domain.Transaction { // return domain.Transaction{ // ID: transaction.ID, // Amount: domain.Currency(transaction.Amount), // Type: domain.TransactionType(transaction.TransactionType), // Verified: transaction.Verified, // WalletID: transaction.WalletID, // } // } // func convertCreateTransaction(transaction domain.CreateTransaction) dbgen.CreateTransactionParams { // return dbgen.CreateTransactionParams{ // Amount: int64(transaction.Amount), // TransactionType: string(transaction.Type), // WalletID: transaction.WalletID, // } // } // func (s *Store) CreateTransaction(ctx context.Context, transaction domain.CreateTransaction) (domain.Transaction, error) { // newTransaction, err := s.queries.CreateTransaction(ctx, convertCreateTransaction(transaction)) // if err != nil { // return domain.Transaction{}, err // } // return convertDBTransaction(newTransaction), nil // } // func (s *Store) GetAllTransactions(ctx context.Context) ([]domain.Transaction, error) { // transactions, err := s.queries.GetAllTransactions(ctx) // if err != nil { // return nil, err // } // var result []domain.Transaction = make([]domain.Transaction, len(transactions)) // for _, transaction := range transactions { // result = append(result, convertDBTransaction(transaction)) // } // return result, nil // } // func (s *Store) GetTransactionsByWallet(ctx context.Context, walletID int64) ([]domain.Transaction, error) { // transactions, err := s.queries.GetTransactionsByWallet(ctx, walletID) // if err != nil { // return nil, err // } // var result []domain.Transaction = make([]domain.Transaction, len(transactions)) // for _, transaction := range transactions { // result = append(result, convertDBTransaction(transaction)) // } // return result, nil // } // func (s *Store) GetTransactionByID(ctx context.Context, id int64) (domain.Transaction, error) { // transaction, err := s.queries.GetTransactionByID(ctx, id) // if err != nil { // return domain.Transaction{}, nil // } // return convertDBTransaction(transaction), nil // } // func (s *Store) UpdateTransferVerification(ctx context.Context, id int64, verified bool) error { // err := s.queries.UpdateTransferVerification(ctx, dbgen.UpdateTransferVerificationParams{ // ID: id, // Verified: verified, // }) // return err // }