52 lines
1.2 KiB
Go
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
|
|
} |