package ports import ( "context" "github.com/SamuelTariku/FortuneBet-Backend/internal/domain" ) type ReferralStore interface { CreateReferralCode(ctx context.Context, referralCode domain.CreateReferralCode) (domain.ReferralCode, error) CreateUserReferral(ctx context.Context, referral domain.CreateUserReferrals) (domain.UserReferral, error) GetReferralCodesByUser(ctx context.Context, userID int64) ([]domain.ReferralCode, error) GetReferralCode(ctx context.Context, code string) (domain.ReferralCode, error) UpdateReferralCode(ctx context.Context, referral domain.UpdateReferralCode) error GetReferralStats(ctx context.Context, userID int64, companyID int64) (domain.ReferralStats, error) GetUserReferral(ctx context.Context, referredID int64) (domain.UserReferral, error) GetUserReferralsByCode(ctx context.Context, code string) ([]domain.UserReferral, error) GetUserReferralCount(ctx context.Context, referrerID int64) (int64, error) }