diff --git a/internal/app/config/config.go b/internal/app/config/config.go index 46c4ef6..1bd0b16 100644 --- a/internal/app/config/config.go +++ b/internal/app/config/config.go @@ -1,8 +1,6 @@ package config import ( - "github.com/joho/godotenv" - "github.com/kos-v/dsnparser" "os" "strings" ) @@ -41,33 +39,6 @@ type defaultConfig struct { var Config = defaultConfig{} -func InitConfig() { - envPath := GetEnvFilePath() - _ = godotenv.Load(envPath) - - Config.DB.DSN = GetEnv("DB_DSN") - Config.DB.Driver = "postgres" - Config.Redis.Addr = GetEnv("REDIS_ADDR") - Config.Redis.Pass = GetEnv("REDIS_PASS") - Config.GRPC.GrpcListenAddr = GetEnv("LISTEN_ADDR") - Config.HTTP.ListenAddr = GetEnv("HTTP_LISTEN_ADDR") - Config.JWKS.Url = GetEnv("JWKS_URL") - Config.DebugMode.Enable = GetEnv("DEBUG", "false") == "true" - - dsn := dsnparser.Parse(Config.DB.DSN) - var dsn2 = "" - - dsn2 += "user=" + dsn.GetUser() - dsn2 += " password=" + dsn.GetPassword() - dsn2 += " dbname=" + dsn.GetPath() - - if dsn.HasParam("sslmode") { - dsn2 += " sslmode=" + dsn.GetParam("sslmode") - } - - Config.DB.DSN2 = dsn2 -} - func GetEnv(key string, defaultValue ...string) string { r := os.Getenv(key) if len(r) == 0 && len(defaultValue) > 0 { diff --git a/internal/app/config/init.go b/internal/app/config/init.go new file mode 100644 index 0000000..b70ded8 --- /dev/null +++ b/internal/app/config/init.go @@ -0,0 +1,33 @@ +package config + +import ( + "github.com/joho/godotenv" + "github.com/kos-v/dsnparser" +) + +func InitConfig() { + envPath := GetEnvFilePath() + _ = godotenv.Load(envPath) + + Config.DB.DSN = GetEnv("DB_DSN") + Config.DB.Driver = "postgres" + Config.Redis.Addr = GetEnv("REDIS_ADDR") + Config.Redis.Pass = GetEnv("REDIS_PASS") + Config.GRPC.GrpcListenAddr = GetEnv("LISTEN_ADDR") + Config.HTTP.ListenAddr = GetEnv("HTTP_LISTEN_ADDR") + Config.JWKS.Url = GetEnv("JWKS_URL") + Config.DebugMode.Enable = GetEnv("DEBUG", "false") == "true" + + dsn := dsnparser.Parse(Config.DB.DSN) + var dsn2 = "" + + dsn2 += "user=" + dsn.GetUser() + dsn2 += " password=" + dsn.GetPassword() + dsn2 += " dbname=" + dsn.GetPath() + + if dsn.HasParam("sslmode") { + dsn2 += " sslmode=" + dsn.GetParam("sslmode") + } + + Config.DB.DSN2 = dsn2 +} diff --git a/internal/app/gin/init.go b/internal/app/gin/init.go new file mode 100644 index 0000000..129c2e9 --- /dev/null +++ b/internal/app/gin/init.go @@ -0,0 +1,16 @@ +package gin + +import ( + "framework_v2/internal/app/facades" + ginzap "github.com/gin-contrib/zap" + "github.com/gin-gonic/gin" + "time" +) + +func InitGin() { + gin.SetMode(gin.ReleaseMode) + + facades.Router = gin.New() + + facades.Router.Use(ginzap.Ginzap(facades.Logger, time.RFC3339, true)) +} diff --git a/internal/app/gin/gin.go b/internal/app/gin/route.go similarity index 89% rename from internal/app/gin/gin.go rename to internal/app/gin/route.go index 805d30c..212aa59 100644 --- a/internal/app/gin/gin.go +++ b/internal/app/gin/route.go @@ -6,23 +6,11 @@ import ( "framework_v2/internal/app/helpers" "framework_v2/internal/app/user" http2 "framework_v2/internal/middleware/http" - ginzap "github.com/gin-contrib/zap" "github.com/gin-gonic/gin" "net/http" "reflect" - "time" ) -func InitGin() { - gin.SetMode(gin.ReleaseMode) - - facades.Router = gin.New() - - facades.Router.Use(ginzap.Ginzap(facades.Logger, time.RFC3339, true)) - //access.Router.Use(gin.Recovery()) - //access.Router.Use(ginzap.RecoveryWithZap(access.Logger, true)) -} - //func HandleRoute(method httpMethod, relativePath string, controller HandlerFunc, middlewares ...gin.HandlerFunc) { // access.Router.Handle(method.String(), relativePath, func(c *gin.Context) { // for _, middleware := range middlewares { diff --git a/internal/app/jobs/asynq.go b/internal/app/jobs/init.go similarity index 100% rename from internal/app/jobs/asynq.go rename to internal/app/jobs/init.go diff --git a/internal/app/jwks/init.go b/internal/app/jwks/init.go new file mode 100644 index 0000000..a4acaea --- /dev/null +++ b/internal/app/jwks/init.go @@ -0,0 +1,13 @@ +package jwks + +import "time" + +func InitJwksRefresh() { + // 启动一个定时器 + go func() { + for { + RefreshJWKS() + time.Sleep(refreshRate) + } + }() +} diff --git a/internal/app/jwks/jwks.go b/internal/app/jwks/jwks.go index 7f24e41..69cf1dc 100644 --- a/internal/app/jwks/jwks.go +++ b/internal/app/jwks/jwks.go @@ -17,16 +17,6 @@ var ( ErrJWKSNotInitialized = errors.New("JWKS is not initialized") ) -func InitJwksRefresh() { - // 启动一个定时器 - go func() { - for { - RefreshJWKS() - time.Sleep(refreshRate) - } - }() -} - func RefreshJWKS() { logger.Logger.Info("Refreshing JWKS...") diff --git a/internal/app/logger/logger.go b/internal/app/logger/init.go similarity index 100% rename from internal/app/logger/logger.go rename to internal/app/logger/init.go diff --git a/internal/app/redis/redis.go b/internal/app/redis/init.go similarity index 100% rename from internal/app/redis/redis.go rename to internal/app/redis/init.go diff --git a/internal/cmd/http.go b/internal/cmd/http.go index b13e733..604054b 100644 --- a/internal/cmd/http.go +++ b/internal/cmd/http.go @@ -7,7 +7,7 @@ import ( "framework_v2/internal/app/jobs" "framework_v2/internal/app/jwks" "framework_v2/internal/app/logger" - "framework_v2/internal/app/server" + "framework_v2/internal/routes" "github.com/spf13/cobra" ) @@ -23,7 +23,7 @@ var httpCommand = &cobra.Command{ jwks.InitJwksRefresh() jobs.InitAsynQClient() gin.InitGin() - server.InitHttp() + routes.InitHttp() StartHttp() }, diff --git a/internal/app/server/http.go b/internal/routes/init.go similarity index 68% rename from internal/app/server/http.go rename to internal/routes/init.go index 44e3c6d..7901490 100644 --- a/internal/app/server/http.go +++ b/internal/routes/init.go @@ -1,8 +1,7 @@ -package server +package routes import ( "framework_v2/internal/app/facades" - "framework_v2/internal/routes" ) func InitHttp() { @@ -10,5 +9,5 @@ func InitHttp() { panic("You must call InitGin() before InitHttp()") } - routes.InitApiRoutes() + InitApiRoutes() }