package adapter

import (
	"context"

	globalserverlessv1 "github.com/tidbcloud/tidb-management-service/api/spec/global/serverless/v1"
)

type DelegateDBUserInfo struct {
	TenantId    uint64
	Id          uint64
	Username    string
	Email       string
	BuiltinRole globalserverlessv1.SqlUser_BuiltinRole
}

//go:generate go run go.uber.org/mock/mockgen@latest -source=$GOFILE -package=mock_$GOPACKAGE -destination=./mock_$GOPACKAGE/mock_$GOFILE
type AccountService interface {
	GetClusterInitialDelegateUsers(
		ctx context.Context,
		tenantID, projectID uint64,
		serverlessToken string,
	) ([]*DelegateDBUserInfo, error)
	IsHitFeatureFlag(ctx context.Context, tenantID uint64, flagName string) (bool, error)
}
