fix(security): modify law for create users and clients
This commit is contained in:
@@ -181,6 +181,11 @@ func RegisterClient(c *gin.Context) {
|
|||||||
|
|
||||||
// AdminCreateClient crée un client depuis l'interface admin (sans session ni token)
|
// AdminCreateClient crée un client depuis l'interface admin (sans session ni token)
|
||||||
func AdminCreateClient(c *gin.Context) {
|
func AdminCreateClient(c *gin.Context) {
|
||||||
|
if userRole := c.GetString("role"); userRole != "admin" {
|
||||||
|
c.JSON(http.StatusForbidden, gin.H{"error": "Seul un administrateur peut créer des clients"})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
var req models.RegisterClientRequest
|
var req models.RegisterClientRequest
|
||||||
if err := c.ShouldBindJSON(&req); err != nil {
|
if err := c.ShouldBindJSON(&req); err != nil {
|
||||||
log.Printf("❌ [ADMIN_CREATE_CLIENT] Binding error: %v | body: username=%q nom=%q prenom=%q tel=%q", err, req.Username, req.Nom, req.Prenom, req.Telephone)
|
log.Printf("❌ [ADMIN_CREATE_CLIENT] Binding error: %v | body: username=%q nom=%q prenom=%q tel=%q", err, req.Username, req.Nom, req.Prenom, req.Telephone)
|
||||||
@@ -821,8 +826,8 @@ func CreateUser(c *gin.Context) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
userRole := c.GetString("role")
|
userRole := c.GetString("role")
|
||||||
if userRole != "cabine" && userRole != "admin" {
|
if userRole != "admin" {
|
||||||
c.JSON(http.StatusForbidden, gin.H{"error": "Accès réservé aux livreurs et aux administrateurs"})
|
c.JSON(http.StatusForbidden, gin.H{"error": "Seul un administrateur peut créer des utilisateurs"})
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
err := database.CreateUser(&user)
|
err := database.CreateUser(&user)
|
||||||
|
|||||||
Reference in New Issue
Block a user