48 lines
1.4 KiB

// Code generated by Wire. DO NOT EDIT.
//go:generate go run -mod=mod github.com/google/wire/cmd/wire
//go:build !wireinject
// +build !wireinject
package main
import (
"github.com/go-kratos/kratos/v2"
"github.com/go-kratos/kratos/v2/log"
"wallet-system/internal/biz"
"wallet-system/internal/conf"
"wallet-system/internal/data"
"wallet-system/internal/data/aws/kms"
"wallet-system/internal/data/aws/s3"
"wallet-system/internal/data/leveldb"
"wallet-system/internal/data/tron"
"wallet-system/internal/server"
"wallet-system/internal/service"
)
import (
_ "go.uber.org/automaxprocs"
)
// Injectors from wire.go:
// wireApp init kratos application.
func wireApp(confServer *conf.Server, confData *conf.Data, aws *conf.Aws, logger log.Logger) (*kratos.App, func(), error) {
s3Client := s3.NewClientS3(aws)
kmsClient := kms.NewClientKms(aws)
levelDB := leveldb.NewLevelDB(confData)
client := tron.NewTronGrpc(aws)
dataData, cleanup, err := data.NewData(confData, aws, s3Client, kmsClient, levelDB, client, logger)
if err != nil {
return nil, nil, err
}
walletRepo := data.NewWalletRepo(dataData, logger)
walletInfo := biz.NewWalletInfo(walletRepo, logger)
walletService := service.NewWalletService(walletInfo)
grpcServer := server.NewGRPCServer(confServer, walletService, logger)
httpServer := server.NewHTTPServer(confServer, walletService, logger)
app := newApp(logger, grpcServer, httpServer)
return app, func() {
cleanup()
}, nil
}