package usecase

import (
	"backend/pkg/member/domain/config"
	"backend/pkg/member/domain/repository"
	"backend/pkg/member/domain/usecase"
)

type MemberUseCaseParam struct {
	Account         repository.AccountRepository
	User            repository.UserRepository
	AccountUID      repository.AccountUIDRepository
	VerifyCodeModel repository.VerifyCodeRepository
	GenerateUID     repository.AutoIDRepository
	Config          config.Config
}

type MemberUseCase struct {
	MemberUseCaseParam
}

func MustMemberUseCase(param MemberUseCaseParam) usecase.AccountUseCase {
	return &MemberUseCase{
		param,
	}
}
