chore: add address routes

This commit is contained in:
2026-02-24 20:52:44 +01:00
parent a87e9a1441
commit b05f844940
5 changed files with 91 additions and 1 deletions
+59
View File
@@ -0,0 +1,59 @@
package handlers
import (
"gestion/db"
"net/http"
"github.com/gin-gonic/gin"
)
func AddAddress(c *gin.Context) {
database := c.MustGet("database").(*db.Database)
userRole := c.GetString("role")
if userRole != "admin" {
c.JSON(http.StatusForbidden, gin.H{"error": "Accès réservé aux administrateurs"})
return
}
var req struct {
CorrectAddress string `json:"correct_address" binding:"required"`
InvalidAddress string `json:"invalid_address" binding:"required"`
}
if err := c.ShouldBindJSON(&req); err != nil {
c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
return
}
if err := database.AddAddress(req.CorrectAddress, req.InvalidAddress); err != nil {
c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()})
return
}
c.JSON(http.StatusCreated, gin.H{"message": "Adresses ajoutées avec succès"})
}
func DeleteAddress(c *gin.Context) {
database := c.MustGet("database").(*db.Database)
userRole := c.GetString("role")
if userRole != "admin" {
c.JSON(http.StatusForbidden, gin.H{"error": "Accès réservé aux administrateurs"})
return
}
var req struct {
CorrectAddress string `json:"correct_address" binding:"required"`
InvalidAddress string `json:"invalid_address" binding:"required"`
}
if err := c.ShouldBindJSON(&req); err != nil {
c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
return
}
if err := database.DeleteAddress(req.InvalidAddress, req.CorrectAddress); err != nil {
c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()})
return
}
c.JSON(http.StatusOK, gin.H{"message": "Adresses supprimées avec succès"})
}