21 lines
909 B
Go
21 lines
909 B
Go
package referralservice
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/SamuelTariku/FortuneBet-Backend/internal/domain"
|
|
)
|
|
|
|
type ReferralStore interface {
|
|
GenerateReferralCode() (string, error)
|
|
CreateReferral(ctx context.Context, userID int64) error
|
|
ProcessReferral(ctx context.Context, referredPhone, referralCode string, companyID int64) error
|
|
ProcessDepositBonus(ctx context.Context, userID string, amount float64) error
|
|
GetReferralStats(ctx context.Context, userID string) (*domain.ReferralStats, error)
|
|
CreateReferralSettings(ctx context.Context, req domain.ReferralSettingsReq) error
|
|
UpdateReferralSettings(ctx context.Context, settings *domain.ReferralSettings) error
|
|
GetReferralSettings(ctx context.Context) (*domain.ReferralSettings, error)
|
|
GetReferralCountByID(ctx context.Context, referrerID string) (int64, error)
|
|
ProcessBetReferral(ctx context.Context, userPhone string, betAmount float64) error
|
|
}
|