halo-dev / halo

强大易用的开源建站工具。
https://www.halo.run
GNU General Public License v3.0
34.11k stars 9.72k forks source link

删除附件分组时通过 Reconciler 去删除附件 #2710

Open guqing opened 2 years ago

guqing commented 2 years ago

Your current Halo version

2.0.0-alpha.4

Describe this feature

目前删除附件的逻辑是 Console 端处理的:

  1. 选择删除并将附件移动至未分组时,会在前端批量调用更新附件的接口,将所有附件的 groupRef 置空。
  2. 选择删除并同时删除附件时,会在前端批量调用删除附件接口。

但调用API去删除分组下面的附件,附件过多时删除分组将会导致页面卡死或崩溃。

期望在 Group 中加上 finalizer,如果删除 Group 则在 reconciler 中先删除其下的所有附件,再移除 finalizer。 如果需要让用户决定是否级联删除附件,可以在 Group 中加上 spec.cascadeDelete=false 字段。

更多信息参考:

Additional information

/kind improvement /area core /label priority/critical-urgent

f2c-ci-robot[bot] commented 2 years ago

@guqing: The label(s) kind/priority/critical-urgent cannot be applied, because the repository doesn't have them.

In response to [this](https://github.com/halo-dev/halo/issues/2710): >### Your current Halo version > >2.0.0-alpha.4 > >### Describe this feature > >目前删除附件的逻辑是 Console 端处理的: >1. 选择删除并将附件移动至未分组时,会在前端批量调用更新附件的接口,将所有附件的 groupRef 置空。 >2. 选择删除并同时删除附件时,会在前端批量调用删除附件接口。 > >但调用API去删除分组下面的附件,附件过多时删除分组将会导致页面卡死或崩溃。 > >期望在 Group 中加上 finalizer,如果删除 Group 则在 reconciler 中先删除其下的所有附件,再移除 finalizer。 >如果需要让用户决定是否级联删除附件,可以在 Group 中加上 spec.cascadeDelete=false 字段。 > >更多信息参考 https://github.com/halo-dev/console/pull/695 > >### Additional information > >/kind improvement >/area core >/kind priority/critical-urgent Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md). If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository.
JohnNiang commented 2 years ago

/assign