package raffle import ( "context" dbgen "github.com/SamuelTariku/FortuneBet-Backend/gen/db" "github.com/SamuelTariku/FortuneBet-Backend/internal/domain" ) type RaffleStore interface { CreateRaffle(ctx context.Context, raffle domain.CreateRaffle) (domain.Raffle, error) AddSportRaffleFilter(ctx context.Context, raffleID int32, sportID, leagueID int64) error DeleteRaffle(ctx context.Context, raffleID int32) (domain.Raffle, error) GetRafflesOfCompany(ctx context.Context, companyID int32) ([]dbgen.Raffle, error) GetRaffleStanding(ctx context.Context, raffleID, limit int32) ([]domain.RaffleStanding, error) CreateRaffleWinner(ctx context.Context, raffleWinnerParams domain.RaffleWinnerParams) error SetRaffleComplete(ctx context.Context, raffleID int32) error CheckValidSportRaffleFilter(ctx context.Context, raffleID int32, sportID, leagueID int64) (bool, error) CheckSportRaffleHasFilter(ctx context.Context, raffleID int32) (bool, error) CreateRaffleTicket(ctx context.Context, raffleTicketParams domain.CreateRaffleTicket) (domain.RaffleTicket, error) GetUserRaffleTickets(ctx context.Context, userID int32) ([]domain.RaffleTicketRes, error) SuspendRaffleTicket(ctx context.Context, raffleTicketID int32) error UnSuspendRaffleTicket(ctx context.Context, raffleID int32) error GetRaffleTicketCount(ctx context.Context, raffleID, userID int32) (int64, error) GetRaffleTicketLimit(ctx context.Context, raffleID int32) (int32, error) }