From 39c1b7d2d011bec4e73512962f0372ad85ca21b4 Mon Sep 17 00:00:00 2001 From: SnippetsX Date: Wed, 4 Dec 2024 00:37:52 +0300 Subject: [PATCH] backend need to be rewrited to go legacy code in archive folder --- {db => archive/db}/connection.js | 0 .../package-lock.json | 0 package.json => archive/package.json | 0 {routes => archive/routes}/actions.js | 0 {routes => archive/routes}/config.js | 0 {routes => archive/routes}/login.js | 0 {routes => archive/routes}/systemStats.js | 0 server.js => archive/server.js | 0 cmd/admin_backend/main.go | 38 +++++++++++++++++++ go.mod | 3 ++ pkg/handlers/welcome.go | 24 ++++++++++++ 11 files changed, 65 insertions(+) rename {db => archive/db}/connection.js (100%) rename package-lock.json => archive/package-lock.json (100%) rename package.json => archive/package.json (100%) rename {routes => archive/routes}/actions.js (100%) rename {routes => archive/routes}/config.js (100%) rename {routes => archive/routes}/login.js (100%) rename {routes => archive/routes}/systemStats.js (100%) rename server.js => archive/server.js (100%) create mode 100644 cmd/admin_backend/main.go create mode 100644 go.mod create mode 100644 pkg/handlers/welcome.go diff --git a/db/connection.js b/archive/db/connection.js similarity index 100% rename from db/connection.js rename to archive/db/connection.js diff --git a/package-lock.json b/archive/package-lock.json similarity index 100% rename from package-lock.json rename to archive/package-lock.json diff --git a/package.json b/archive/package.json similarity index 100% rename from package.json rename to archive/package.json diff --git a/routes/actions.js b/archive/routes/actions.js similarity index 100% rename from routes/actions.js rename to archive/routes/actions.js diff --git a/routes/config.js b/archive/routes/config.js similarity index 100% rename from routes/config.js rename to archive/routes/config.js diff --git a/routes/login.js b/archive/routes/login.js similarity index 100% rename from routes/login.js rename to archive/routes/login.js diff --git a/routes/systemStats.js b/archive/routes/systemStats.js similarity index 100% rename from routes/systemStats.js rename to archive/routes/systemStats.js diff --git a/server.js b/archive/server.js similarity index 100% rename from server.js rename to archive/server.js diff --git a/cmd/admin_backend/main.go b/cmd/admin_backend/main.go new file mode 100644 index 0000000..2942fed --- /dev/null +++ b/cmd/admin_backend/main.go @@ -0,0 +1,38 @@ +package main + +import ( + "admin_dashboard_backend/pkg/handlers" + "encoding/json" + "fmt" + "log" + "net/http" + "os" +) + +func main() { + + configFile, err := os.ReadFile("config.json") + if err != nil { + log.Fatal("Error loading config.json file:", err) + } + + var config struct { + Port json.Number `json:"serverPort"` + } + if err := json.Unmarshal(configFile, &config); err != nil { + log.Fatal("Error parsing config.json:", err) + } + port := config.Port.String() + if port == "" { + port = "84" // default port + } + + // Define routes + http.HandleFunc("/welcome", handlers.HandlersWelcome) + + // Start server + fmt.Printf("Server is running on port %s...\n", port) + if err := http.ListenAndServe(":"+port, nil); err != nil { + log.Fatal(err) + } +} diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..f96821c --- /dev/null +++ b/go.mod @@ -0,0 +1,3 @@ +module admin_dashboard_backend + +go 1.23.4 diff --git a/pkg/handlers/welcome.go b/pkg/handlers/welcome.go new file mode 100644 index 0000000..685b936 --- /dev/null +++ b/pkg/handlers/welcome.go @@ -0,0 +1,24 @@ +package handlers + +import ( + "encoding/json" + "net/http" +) + +type Response struct { + Message string `json:"message"` +} + +func HandlersWelcome(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodGet { + http.Error(w, "Method not allowed", http.StatusMethodNotAllowed) + return + } + + response := Response{ + Message: "Welcome to the API!", + } + + w.Header().Set("Content-Type", "application/json") + json.NewEncoder(w).Encode(response) +}