20 lines
954 B
Go
20 lines
954 B
Go
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)
|
|
}
|