52 lines
1.2 KiB
Go

package routes
import (
"github.com/gin-gonic/gin"
"backend/server"
"os" // os is used by ensureUploadsDir
)
func SetupRoutes() *gin.Engine {
r := gin.Default()
// Create uploads directory if it doesn't exist
if err := ensureUploadsDir(); err != nil {
panic("Failed to create uploads directory: " + err.Error())
}
// Health
r.GET("/health", server.HealthCheck)
// Reviews
r.GET("/reviews/query", server.QueryReviews)
r.POST("/reviews/new", server.SaveReview)
// Places
r.GET("/places/query", server.QueryPlaces)
r.POST("/places/new", server.SavePlace)
r.PUT("/places/:id/website", server.UpdatePlaceWebsite) // NEW: Route for updating website
// Place Images
r.GET("/place_images/query", server.QueryImages)
r.GET("/place_images/query/:place_id", server.QueryImagesForPlace)
r.GET("/place_images/folder", server.ListEndpoints)
// New Image Upload Endpoint
r.POST("/images/upload", server.UploadImage)
// Serve static files from uploads directory
r.Static("/uploads", "./uploads")
return r
}
// ensureUploadsDir creates the uploads directory if it doesn't exist
func ensureUploadsDir() error {
uploadDir := "./uploads"
if _, err := os.Stat(uploadDir); os.IsNotExist(err) {
return os.Mkdir(uploadDir, 0755)
}
return nil
}