mirror of https://github.com/halo-dev/halo
fix: extension resources weren't deleted as expected on initialization (#5859)
#### What type of PR is this? /kind improvement /area core /milestone 2.16.x #### What this PR does / why we need it: 修复初始化时未按预期删除自定义资源 #### Does this PR introduce a user-facing change? ```release-note 修复初始化时未按预期删除自定义资源 ```pull/5803/head
parent
fa286f74ee
commit
9b3f00dab0
|
@ -15,6 +15,7 @@ import org.springframework.stereotype.Component;
|
|||
import org.springframework.util.CollectionUtils;
|
||||
import reactor.core.publisher.Flux;
|
||||
import reactor.core.publisher.Mono;
|
||||
import run.halo.app.extension.ExtensionUtil;
|
||||
import run.halo.app.extension.ReactiveExtensionClient;
|
||||
import run.halo.app.extension.Unstructured;
|
||||
import run.halo.app.infra.properties.HaloProperties;
|
||||
|
@ -96,7 +97,13 @@ public class ExtensionResourceInitializer implements ApplicationListener<Applica
|
|||
extension.getMetadata().setVersion(existingExt.getMetadata().getVersion());
|
||||
return extensionClient.update(extension);
|
||||
})
|
||||
.switchIfEmpty(Mono.defer(() -> extensionClient.create(extension)));
|
||||
.switchIfEmpty(Mono.defer(() -> {
|
||||
if (ExtensionUtil.isDeleted(extension)) {
|
||||
// skip deleted extension
|
||||
return Mono.empty();
|
||||
}
|
||||
return extensionClient.create(extension);
|
||||
}));
|
||||
}
|
||||
|
||||
private List<Resource> listResources(String location) {
|
||||
|
|
Loading…
Reference in New Issue