func DeleteUserInstance(c *gin.Context) { db := c.MustGet("db").(gorm.DB) consumer := c.MustGet("consumer").(models.User) id := c.Params.ByName("id") var user models.User db.First(&user, id) if user.Username == "" { response := make(map[string]string) response["error"] = "Resource not found." c.JSON(404, response) } else { if (consumer.Admin) || (user.Id == consumer.Id) { db.Delete(&user) if user.Id != consumer.Id { if user.Gravatar == "" { user.Gravatar = user.Email } user.Email = "" } user.Password = "" c.JSON(200, user) } else { response := make(map[string]string) response["error"] = "Invalid credentials." c.JSON(401, response) } } }