fixed gorm shema for correct deletion and many2many relation beetween users and devices

This commit is contained in:
tdv
2025-09-15 16:59:35 +03:00
parent 673971deb8
commit aa60651610
5 changed files with 17 additions and 5 deletions

View File

@@ -106,12 +106,10 @@ func (h *UsersHandler) Delete(c *gin.Context) {
return
}
var u models.User
if err := h.db.Preload("Devices").First(&u, id).Error; err != nil {
if err := h.db.First(&u, id).Error; err != nil {
c.JSON(http.StatusNotFound, gin.H{"error": "user not found"})
return
}
// optional safeguard: prevent self-delete; uncomment if desired
// if ClaimUserID(MustClaims(c)) == u.ID { c.JSON(http.StatusBadRequest, gin.H{"error":"cannot delete yourself"}); return }
if err := h.db.Transaction(func(tx *gorm.DB) error {
if err := tx.Model(&u).Association("Devices").Clear(); err != nil {
return err