31 lines
1.9 KiB
Go
31 lines
1.9 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)
|
|
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)
|
|
}
|