package resource import ( "github.com/veypi/OneBD/rest" "github.com/veypi/OneAuth/cfg" "github.com/veypi/OneAuth/models" ) var _ = Router.Delete("/:resource_id", deleteResource) type deleteOpts struct { ResourceID string `parse:"path"` } func deleteResource(x *rest.X) (any, error) { // 解析参数 opts := &deleteOpts{} if err := x.Parse(opts); err != nil { return nil, err } // 查找资源 resource := &models.Resource{} if err := cfg.DB().Where("id = ?", opts.ResourceID).First(resource).Error; err != nil { return nil, rest.NewError("resource not found").WithCode(404) } // 删除资源 if err := cfg.DB().Delete(resource).Error; err != nil { return nil, rest.NewError("failed to delete resource").WithCode(500) } return map[string]interface{}{ "message": "resource deleted successfully", "id": opts.ResourceID, }, nil }