Yimaru-BackEnd/internal/services/transaction/port.go

32 lines
2.0 KiB
Go

package transaction
import (
"context"
"github.com/SamuelTariku/FortuneBet-Backend/internal/domain"
)
type TransactionStore interface {
CreateShopTransaction(ctx context.Context, transaction domain.CreateShopTransaction) (domain.ShopTransaction, error)
GetAllShopTransactions(ctx context.Context, filter domain.ShopTransactionFilter) ([]domain.ShopTransactionDetail, error)
GetShopTransactionByID(ctx context.Context, id int64) (domain.ShopTransactionDetail, error)
GetShopTransactionByBranch(ctx context.Context, id int64) ([]domain.ShopTransactionDetail, error)
UpdateShopTransactionVerified(ctx context.Context, id int64, verified bool, approvedBy int64, approverName string) error
GetTransactionTotals(ctx context.Context, filter domain.ReportFilter) (deposits, withdrawals domain.Currency, err error)
GetBranchTransactionTotals(ctx context.Context, filter domain.ReportFilter) (map[int64]domain.BranchTransactions, error)
CreateShopBet(ctx context.Context, bet domain.CreateShopBet) (domain.ShopBet, error)
GetAllShopBet(ctx context.Context, filter domain.ShopBetFilter) ([]domain.ShopBetDetail, error)
GetShopBetByID(ctx context.Context, id int64) (domain.ShopBetDetail, error)
GetShopBetByBetID(ctx context.Context, betID int64) (domain.ShopBetDetail, error)
GetShopBetByCashoutID(ctx context.Context, cashoutID string) (domain.ShopBetDetail, error)
GetShopBetByShopTransactionID(ctx context.Context, shopTransactionID int64) (domain.ShopBetDetail, error)
UpdateShopBetCashOut(ctx context.Context, id int64, cashedOut bool) error
UpdateShopBetCashoutID(ctx context.Context, id int64, cashoutID string) error
CreateShopDeposit(ctx context.Context, deposit domain.CreateShopDeposit) (domain.ShopDeposit, error)
GetAllShopDeposit(ctx context.Context, filter domain.ShopDepositFilter) ([]domain.ShopDepositDetail, error)
GetShopDepositByID(ctx context.Context, id int64) (domain.ShopDepositDetail, error)
GetShopDepositByShopTransactionID(ctx context.Context, shopTransactionID int64) (domain.ShopDepositDetail, error)
}