package role import ( "github.com/veypi/OneBD/rest" "oa/models" "oa/cfg" ) var _ = Router.Delete("/:role_id", deleteRole) type deleteOpts struct { RoleID string `parse:"path"` // 角色 ID } func deleteRole(x *rest.X) (any, error) { // 解析参数 opts := &deleteOpts{} if err := x.Parse(opts); err != nil { return nil, err } // 查找角色 role := &models.Role{} if err := cfg.DB().Where("id = ?", opts.RoleID).First(role).Error; err != nil { return nil, rest.NewError("role not found").WithCode(404) } // 执行删除操作 if err := cfg.DB().Delete(role).Error; err != nil { return nil, err } // 返回成功消息 return map[string]interface{}{ "message": "role deleted successfully", "id": opts.RoleID, }, nil }