48 lines
1.0 KiB
Go
48 lines
1.0 KiB
Go
//go:build wireinject
|
|
// +build wireinject
|
|
|
|
package wire
|
|
|
|
import (
|
|
"context"
|
|
"opencatd-open/team/dao"
|
|
handler "opencatd-open/team/handler/team"
|
|
"opencatd-open/team/service"
|
|
|
|
"github.com/google/wire"
|
|
"gorm.io/gorm"
|
|
)
|
|
|
|
// 定义 provider set
|
|
var userSet = wire.NewSet(
|
|
dao.NewUserDAO,
|
|
wire.Bind(new(dao.UserRepository), new(*dao.UserDAO)),
|
|
service.NewUserService,
|
|
)
|
|
|
|
var keySet = wire.NewSet(
|
|
dao.NewApiKeyDAO,
|
|
wire.Bind(new(dao.ApiKeyRepository), new(*dao.ApiKeyDAO)),
|
|
service.NewApiKeyService,
|
|
)
|
|
|
|
var tokenSet = wire.NewSet(
|
|
dao.NewTokenDAO,
|
|
wire.Bind(new(dao.TokenRepository), new(*dao.TokenDAO)),
|
|
service.NewTokenService,
|
|
)
|
|
|
|
var usageSet = wire.NewSet(
|
|
dao.NewUsageDAO,
|
|
wire.Bind(new(dao.UsageRepository), new(*dao.UsageDAO)),
|
|
dao.NewDailyUsageDAO,
|
|
wire.Bind(new(dao.DailyUsageRepository), new(*dao.DailyUsageDAO)),
|
|
service.NewUsageService,
|
|
)
|
|
|
|
// 初始化 TeamHandler
|
|
func InitTeamHandler(ctx context.Context, db *gorm.DB) (*handler.TeamHandler, error) {
|
|
wire.Build(userSet, keySet, tokenSet, usageSet, handler.NewTeamHandler)
|
|
return nil, nil
|
|
}
|