// ================================================================================
// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.
// You can delete these comments if you wish manually maintain this interface file.
// ================================================================================

package service

import (
	"context"
	"kami/internal/model/do"
	"kami/internal/model/entity"

	"github.com/gogf/gf/v2/database/gdb"
)

type (
	IAccount interface {
		Add(ctx context.Context, data do.V1AccountInfo, tx gdb.TX) (err error)
		HandleStatus(ctx context.Context, data entity.V1AccountInfo, tx gdb.TX) (err error)
		GetAccountByUId(ctx context.Context, Uid string) (data entity.V1AccountInfo, err error)
	}
)

var (
	localAccount IAccount
)

func Account() IAccount {
	if localAccount == nil {
		panic("implement not found for interface IAccount, forgot register?")
	}
	return localAccount
}

func RegisterAccount(i IAccount) {
	localAccount = i
}
