refactor: add default sort for extension listing (#5937)

#### What type of PR is this?
/kind improvement
/area core
/milestone 2.16.x

#### What this PR does / why we need it:
为自定义模型 List API 添加默认排序

#### Which issue(s) this PR fixes:
Fixes #5647

#### Does this PR introduce a user-facing change?
```release-note
为自定义模型 List API 添加默认排序
```
pull/5953/head^2
guqing 2024-05-20 16:34:42 +08:00 committed by GitHub
parent c22b4e9ef4
commit 2a7900cca9
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 6 additions and 1 deletions

View File

@ -1,5 +1,7 @@
package run.halo.app.extension.router; package run.halo.app.extension.router;
import static org.springframework.data.domain.Sort.Order.asc;
import static org.springframework.data.domain.Sort.Order.desc;
import static run.halo.app.extension.Comparators.compareCreationTimestamp; import static run.halo.app.extension.Comparators.compareCreationTimestamp;
import static run.halo.app.extension.Comparators.compareName; import static run.halo.app.extension.Comparators.compareName;
import static run.halo.app.extension.Comparators.nullsComparator; import static run.halo.app.extension.Comparators.nullsComparator;
@ -40,7 +42,10 @@ public class SortableRequest extends IListRequest.QueryListRequest {
implementation = String.class, implementation = String.class,
example = "metadata.creationTimestamp,desc")) example = "metadata.creationTimestamp,desc"))
public Sort getSort() { public Sort getSort() {
return SortResolver.defaultInstance.resolve(exchange); return SortResolver.defaultInstance.resolve(exchange)
.and(Sort.by(desc("metadata.creationTimestamp"),
asc("metadata.name"))
);
} }
/** /**