file-system/cmd/server/wire_gen.go
向宁 3eb1a1839d feat: add JWT auth middleware with public endpoint selector
Add HS256 JWT authentication to both HTTP and gRPC servers using
Kratos jwt middleware with selector to skip auth for public share
endpoints (GetShareInfo, DownloadShare). Wire DI updated to inject
conf.Auth into server constructors.
2026-05-25 13:43:34 +08:00

70 lines
2.3 KiB
Go

// 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)
auth := newConfAuth(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, auth, fileService, logger)
grpcServer := server.NewGRPCServer(confServer, auth, 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()
}
// newConfAuth extracts the Auth config from Bootstrap.
func newConfAuth(bc *conf.Bootstrap) *conf.Auth {
return bc.GetAuth()
}