From e03e883e3af0de0611eb7f9a1b37fe9c131d9080 Mon Sep 17 00:00:00 2001 From: Suvodip Ghosh Date: Mon, 23 Jun 2025 16:38:18 +0530 Subject: [PATCH] first commit --- .env | 2 + .gitignore | 1 + go.mod | 11 +++ go.sum | 8 ++ image_asset.sqlite | Bin 0 -> 450560 bytes main.go | 236 +++++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 258 insertions(+) create mode 100644 .env create mode 100644 .gitignore create mode 100644 go.mod create mode 100644 go.sum create mode 100644 image_asset.sqlite create mode 100644 main.go diff --git a/.env b/.env new file mode 100644 index 0000000..81020f4 --- /dev/null +++ b/.env @@ -0,0 +1,2 @@ +PORT=8080 +URL_PREFIX=http://0.0.0.0:8000/image_asset \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..7087f7f --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +image_asset \ No newline at end of file diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..a3d17fb --- /dev/null +++ b/go.mod @@ -0,0 +1,11 @@ +module image_manager + +go 1.18 + +require ( + github.com/google/uuid v1.6.0 + github.com/joho/godotenv v1.5.1 + github.com/mattn/go-sqlite3 v1.14.28 +) + +require github.com/rs/cors v1.11.1 // indirect diff --git a/go.sum b/go.sum new file mode 100644 index 0000000..ae4eccd --- /dev/null +++ b/go.sum @@ -0,0 +1,8 @@ +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/joho/godotenv v1.5.1 h1:7eLL/+HRGLY0ldzfGMeQkb7vMd0as4CfYvUVzLqw0N0= +github.com/joho/godotenv v1.5.1/go.mod h1:f4LDr5Voq0i2e/R5DDNOoa2zzDfwtkZa6DnEwAbqwq4= +github.com/mattn/go-sqlite3 v1.14.28 h1:ThEiQrnbtumT+QMknw63Befp/ce/nUPgBPMlRFEum7A= +github.com/mattn/go-sqlite3 v1.14.28/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y= +github.com/rs/cors v1.11.1 h1:eU3gRzXLRK57F5rKMGMZURNdIG4EoAmX8k94r9wXWHA= +github.com/rs/cors v1.11.1/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= diff --git a/image_asset.sqlite b/image_asset.sqlite new file mode 100644 index 0000000000000000000000000000000000000000..797b9d0bba849629ba103a0b675c3ddb2eb6e6b8 GIT binary patch literal 450560 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 literal 0 HcmV?d00001 diff --git a/main.go b/main.go new file mode 100644 index 0000000..624dbb2 --- /dev/null +++ b/main.go @@ -0,0 +1,236 @@ +package main + +import ( + "database/sql" + "encoding/json" + "fmt" + "log" + "net/http" + "os" + "path/filepath" + "strings" + "github.com/joho/godotenv" + _ "github.com/mattn/go-sqlite3" + "github.com/google/uuid" + "github.com/rs/cors" +) + +type Config struct { + Port string + URLPrefix string +} + +type Image struct { + ID int + Name string + Delivered bool + Score int + SecretKey string + User string +} + +var db *sql.DB +var config Config + +func main() { + // Load environment variables + err := godotenv.Load() + if err != nil { + log.Fatal("Error loading .env file") + } + + config = Config{ + Port: os.Getenv("PORT"), + URLPrefix: os.Getenv("URL_PREFIX"), + } + + if len(os.Args) < 2 { + log.Fatal("Usage: ./image_manager [save_name|serve]") + } + + command := os.Args[1] + + // Initialize database + initDB() + + switch command { + case "save_name": + saveImageNames() + case "serve": + serveAPI() + default: + log.Fatal("Unknown command. Use 'save_name' or 'serve'") + } +} + +func initDB() { + var err error + db, err = sql.Open("sqlite3", "./image_asset.sqlite") + if err != nil { + log.Fatal(err) + } + + // Create table if not exists + _, err = db.Exec(` + CREATE TABLE IF NOT EXISTS images ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + name TEXT NOT NULL UNIQUE, + delivered INTEGER DEFAULT 0, + score INTEGER DEFAULT 0, + secret_key TEXT, + user TEXT + ) + `) + if err != nil { + log.Fatal(err) + } +} + +func saveImageNames() { + // Get all files in image_asset directory + files, err := os.ReadDir("./image_asset") + if err != nil { + log.Fatal(err) + } + + // Insert image names into database + for _, file := range files { + if !file.IsDir() { + // Check if the file is an image (simple extension check) + ext := strings.ToLower(filepath.Ext(file.Name())) + if ext == ".jpg" || ext == ".jpeg" || ext == ".png" || ext == ".gif" { + _, err := db.Exec("INSERT OR IGNORE INTO images (name) VALUES (?)", file.Name()) + if err != nil { + log.Printf("Error inserting %s: %v", file.Name(), err) + } else { + log.Printf("Saved: %s", file.Name()) + } + } + } + } +} + +func serveAPI() { + // Create a new CORS handler + c := cors.New(cors.Options{ + AllowedOrigins: []string{"http://localhost:4321"}, // Your frontend origin + AllowedMethods: []string{"GET", "POST", "OPTIONS"}, + AllowedHeaders: []string{"Content-Type"}, + AllowCredentials: true, + Debug: true, // Remove in production + }) + + // Create a new mux router + router := http.NewServeMux() + router.HandleFunc("/get-image", getImageHandler) + router.HandleFunc("/save-score", saveScoreHandler) + + // Wrap your router with the CORS handler + handler := c.Handler(router) + + log.Printf("Server starting on port %s", config.Port) + log.Fatal(http.ListenAndServe(":"+config.Port, handler)) +} + +func getImageHandler(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodGet { + http.Error(w, "Method not allowed", http.StatusMethodNotAllowed) + return + } + + // Get a random undelivered image + var img Image + err := db.QueryRow(` + SELECT id, name FROM images + WHERE delivered = 0 + ORDER BY RANDOM() + LIMIT 1 + `).Scan(&img.ID, &img.Name) + if err != nil { + if err == sql.ErrNoRows { + http.Error(w, "No images available", http.StatusNotFound) + return + } + http.Error(w, err.Error(), http.StatusInternalServerError) + return + } + + // Generate secret key + secretKey := uuid.New().String() + + // Update the image with delivered status and secret key + _, err = db.Exec(` + UPDATE images + SET delivered = 1, secret_key = ? + WHERE id = ? + `, secretKey, img.ID) + if err != nil { + http.Error(w, err.Error(), http.StatusInternalServerError) + return + } + + // Prepare response + response := map[string]interface{}{ + "url": fmt.Sprintf("%s/%s", config.URLPrefix, img.Name), + "secretKey": secretKey, + } + + w.Header().Set("Content-Type", "application/json") + json.NewEncoder(w).Encode(response) +} + +func saveScoreHandler(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodPost { + http.Error(w, "Method not allowed", http.StatusMethodNotAllowed) + return + } + + type Request struct { + FileName string `json:"fileName"` + Score int `json:"score"` + User string `json:"user,omitempty"` + SecretKey string `json:"secretKey"` + } + + var req Request + err := json.NewDecoder(r.Body).Decode(&req) + if err != nil { + http.Error(w, err.Error(), http.StatusBadRequest) + return + } + + // Validate request + if req.FileName == "" || req.SecretKey == "" { + http.Error(w, "fileName and secretKey are required", http.StatusBadRequest) + return + } + + // Verify secret key and update score + var img Image + err = db.QueryRow(` + SELECT id FROM images + WHERE name = ? AND secret_key = ? + `, req.FileName, req.SecretKey).Scan(&img.ID) + if err != nil { + if err == sql.ErrNoRows { + http.Error(w, "Invalid fileName or secretKey", http.StatusUnauthorized) + return + } + http.Error(w, err.Error(), http.StatusInternalServerError) + return + } + + // Update score and user + _, err = db.Exec(` + UPDATE images + SET score = ?, user = ? + WHERE id = ? + `, req.Score, req.User, img.ID) + if err != nil { + http.Error(w, err.Error(), http.StatusInternalServerError) + return + } + + w.WriteHeader(http.StatusOK) + w.Write([]byte("Score saved successfully")) +} \ No newline at end of file