// 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" "github.com/go-kratos/kratos/v2/transport/grpc" "github.com/go-kratos/kratos/v2/transport/http" "rag/file-system/internal/biz" "rag/file-system/internal/conf" "rag/file-system/internal/data" "rag/file-system/internal/server" "rag/file-system/internal/service" ) // Injectors from wire.go: // initApp wires up the entire dependency graph. func initApp(bootstrap *conf.Bootstrap, logger log.Logger) (*kratos.App, func(), error) { confServer := newConfServer(bootstrap) confData := newConfData(bootstrap) fileRepo := data.NewFileRepo(confData) fileUsecase := biz.NewFileUsecase(fileRepo, logger) bucketUsecase := biz.NewBucketUsecase(fileRepo, logger) dataData, cleanup, err := data.NewData(confData, logger) if err != nil { return nil, nil, err } folderRepo := data.NewFolderRepo(dataData, logger) fileMetaRepo := data.NewFileMetaRepo(dataData, logger) folderUsecase := biz.NewFolderUsecase(folderRepo, fileMetaRepo, fileRepo, logger) shareRepo := data.NewShareRepo(dataData, logger) shareUsecase := biz.NewShareUsecase(shareRepo, fileMetaRepo, fileRepo, logger) fileService := service.NewFileService(fileUsecase, bucketUsecase, folderUsecase, shareUsecase, logger) httpServer := server.NewHTTPServer(confServer, fileService, logger) grpcServer := server.NewGRPCServer(confServer, fileService, logger) app := newApp(logger, httpServer, grpcServer) return app, func() { cleanup() }, nil } // wire.go: // newApp creates a new Kratos application with HTTP and gRPC servers. func newApp(logger log.Logger, hs *http.Server, gs *grpc.Server) *kratos.App { return kratos.New(kratos.Name("file-system"), kratos.Logger(logger), kratos.Server(hs, gs)) } // newConfServer extracts the Server config from Bootstrap. func newConfServer(bc *conf.Bootstrap) *conf.Server { return bc.GetServer() } // newConfData extracts the Data config from Bootstrap. func newConfData(bc *conf.Bootstrap) *conf.Data { return bc.GetData() }