From c42a9cd0cf994c3762099b5caa1ee9930d0c4eb7 Mon Sep 17 00:00:00 2001 From: TolaMironcenko Date: Wed, 16 Jul 2025 14:57:35 +0700 Subject: [PATCH] more refactor --- main.go | 54 +++++-------------------------------------- server/Configure.go | 23 ++++++++++++++++++ server/Run.go | 22 ++++++++++++++++++ utils/InitDatabase.go | 18 +++++++++++++++ utils/LoadEnv.go | 14 +++++++++++ 5 files changed, 83 insertions(+), 48 deletions(-) create mode 100644 server/Configure.go create mode 100644 server/Run.go create mode 100644 utils/InitDatabase.go create mode 100644 utils/LoadEnv.go diff --git a/main.go b/main.go index 7b859be..d277fa4 100644 --- a/main.go +++ b/main.go @@ -1,55 +1,13 @@ package main import ( - "auth_service/api/auth" - "auth_service/api/users" - "auth_service/database" - "log" - "net/http" - "os" - - "github.com/joho/godotenv" + "auth_service/server" + "auth_service/utils" ) func main() { - err := godotenv.Load("auth_service.config") - if err != nil { - log.Fatal("Error loading .env file") - } - database.Init() - database.Migrate() - - if os.Getenv("USERS_FILE") != "" { - allusers := database.GetUsersFromFile(os.Getenv("USERS_FILE")) - for i := range allusers { - database.CreateUser(&allusers[i]) - } - } - - http.HandleFunc("/api/token", auth.Token) - http.HandleFunc("/api/token/verify", auth.VerifyToken) - http.HandleFunc("/api/access", auth.VerifyToken) - if os.Getenv("ENABLE_SELF_REGISTER") == "true" { - http.HandleFunc("/api/register", users.RegisterUser) - } - - http.HandleFunc("/api/users", users.GetAllUsers) - http.HandleFunc("/api/users/user", users.GetUser) - http.HandleFunc("/api/users/password", users.ChangePassword) - http.HandleFunc("/api/users/change", users.ChangeUser) - http.HandleFunc("/api/users/del", users.DelUser) - http.HandleFunc("/api/users/add", users.AddUser) - if os.Getenv("ENABLE_TLS") == "true" { - http.ListenAndServeTLS( - os.Getenv("SERVER_ADDRESS")+":"+os.Getenv("SERVER_PORT"), - os.Getenv("CERT_FILE"), - os.Getenv("KEY_FILE"), - nil, - ) - } else { - http.ListenAndServe( - os.Getenv("SERVER_ADDRESS")+":"+os.Getenv("SERVER_PORT"), - nil, - ) - } + utils.LoadEnv() + utils.InitDatabase() + server.Configure() + server.Run() } diff --git a/server/Configure.go b/server/Configure.go new file mode 100644 index 0000000..99bcc28 --- /dev/null +++ b/server/Configure.go @@ -0,0 +1,23 @@ +package server + +import ( + "auth_service/api/auth" + "auth_service/api/users" + "net/http" + "os" +) + +func Configure() { + http.HandleFunc("/api/token", auth.Token) + http.HandleFunc("/api/token/verify", auth.VerifyToken) + http.HandleFunc("/api/access", auth.VerifyToken) + if os.Getenv("ENABLE_SELF_REGISTER") == "true" { + http.HandleFunc("/api/register", users.RegisterUser) + } + http.HandleFunc("/api/users", users.GetAllUsers) + http.HandleFunc("/api/users/user", users.GetUser) + http.HandleFunc("/api/users/password", users.ChangePassword) + http.HandleFunc("/api/users/change", users.ChangeUser) + http.HandleFunc("/api/users/del", users.DelUser) + http.HandleFunc("/api/users/add", users.AddUser) +} diff --git a/server/Run.go b/server/Run.go new file mode 100644 index 0000000..f90ba50 --- /dev/null +++ b/server/Run.go @@ -0,0 +1,22 @@ +package server + +import ( + "net/http" + "os" +) + +func Run() { + if os.Getenv("ENABLE_TLS") == "true" { + http.ListenAndServeTLS( + os.Getenv("SERVER_ADDRESS")+":"+os.Getenv("SERVER_PORT"), + os.Getenv("CERT_FILE"), + os.Getenv("KEY_FILE"), + nil, + ) + } else { + http.ListenAndServe( + os.Getenv("SERVER_ADDRESS")+":"+os.Getenv("SERVER_PORT"), + nil, + ) + } +} diff --git a/utils/InitDatabase.go b/utils/InitDatabase.go new file mode 100644 index 0000000..baba2a6 --- /dev/null +++ b/utils/InitDatabase.go @@ -0,0 +1,18 @@ +package utils + +import ( + "auth_service/database" + "os" +) + +func InitDatabase() { + database.Init() + database.Migrate() + + if os.Getenv("USERS_FILE") != "" { + allusers := database.GetUsersFromFile(os.Getenv("USERS_FILE")) + for i := range allusers { + database.CreateUser(&allusers[i]) + } + } +} diff --git a/utils/LoadEnv.go b/utils/LoadEnv.go new file mode 100644 index 0000000..9e54d1e --- /dev/null +++ b/utils/LoadEnv.go @@ -0,0 +1,14 @@ +package utils + +import ( + "log" + + "github.com/joho/godotenv" +) + +func LoadEnv() { + err := godotenv.Load("auth_service.config") + if err != nil { + log.Fatal("Error loading .env file") + } +}