chore: add new routes for addresses
This commit is contained in:
@@ -47,3 +47,21 @@ func (d *Database) DeleteAddress(InvalidAddressByAdmin string, CorrectAddressByA
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (d *Database) AllAddress() ([]models.Address, error) {
|
||||
rows, err := d.DB.Query("SELECT invalid_address, correct_address FROM adresse_correction")
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("getAllAddress: %w", err)
|
||||
}
|
||||
defer rows.Close()
|
||||
|
||||
var addresses []models.Address
|
||||
for rows.Next() {
|
||||
var a models.Address
|
||||
if err := rows.Scan(&a.InvalidAddress, &a.CorrectAddress); err != nil {
|
||||
return nil, fmt.Errorf("getAllAddress scan: %w", err)
|
||||
}
|
||||
addresses = append(addresses, a)
|
||||
}
|
||||
return addresses, rows.Err()
|
||||
}
|
||||
|
||||
@@ -255,7 +255,7 @@ func (db *Database) createTables() error {
|
||||
`CREATE TABLE IF NOT EXISTS adresse_correction (
|
||||
id SERIAL PRIMARY KEY,
|
||||
invalid_address VARCHAR(255) NOT NULL UNIQUE,
|
||||
correct_address VARCHAR(255) NOT NULL UNIQUE,
|
||||
correct_address VARCHAR(255) NOT NULL,
|
||||
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
|
||||
);`,
|
||||
|
||||
@@ -57,3 +57,20 @@ func DeleteAddress(c *gin.Context) {
|
||||
|
||||
c.JSON(http.StatusOK, gin.H{"message": "Adresses supprimées avec succès"})
|
||||
}
|
||||
|
||||
func GetAllAddress(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
|
||||
}
|
||||
|
||||
getAddress, err := database.AllAddress()
|
||||
if err != nil {
|
||||
c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()})
|
||||
return
|
||||
}
|
||||
|
||||
c.JSON(http.StatusOK, gin.H{"addresses": getAddress})
|
||||
}
|
||||
|
||||
@@ -135,6 +135,7 @@ func SetupRoutes(router *gin.Engine, database *db.Database, geoService *services
|
||||
// ============================================
|
||||
adminGroupV2.POST("/add/address", handlers.AddAddress)
|
||||
adminGroupV2.DELETE("/delete/address", handlers.DeleteAddress)
|
||||
adminGroupV2.GET("/addresses", handlers.GetAllAddress)
|
||||
// ============================================
|
||||
// PRODUITS - GESTION
|
||||
// ============================================
|
||||
|
||||
Reference in New Issue
Block a user