This is an automated email from the ASF dual-hosted git repository.

liujun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo-kubernetes.git


The following commit(s) were added to refs/heads/master by this push:
     new af029242 add pagination support for application/instance/info ap
af029242 is described below

commit af029242e271163f4c77b8437303764213b2964d
Author: chickenlj <[email protected]>
AuthorDate: Mon Oct 21 09:43:40 2024 +0800

    add pagination support for application/instance/info ap
---
 pkg/admin/model/application.go   | 10 ++++++++++
 pkg/admin/service/application.go |  6 ++++--
 2 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/pkg/admin/model/application.go b/pkg/admin/model/application.go
index 24dcc198..49fbbd74 100644
--- a/pkg/admin/model/application.go
+++ b/pkg/admin/model/application.go
@@ -179,6 +179,16 @@ type ApplicationTabInstanceInfoResp struct {
        WorkloadName    string            `json:"workloadName"`
 }
 
+type ByApplicationInstanceName []*ApplicationTabInstanceInfoResp
+
+func (a ByApplicationInstanceName) Len() int { return len(a) }
+
+func (a ByApplicationInstanceName) Less(i, j int) bool {
+       return a[i].Name < a[j].Name
+}
+
+func (a ByApplicationInstanceName) Swap(i, j int) { a[i], a[j] = a[j], a[i] }
+
 func (a *ApplicationTabInstanceInfoResp) FromDataplaneResource(dataplane 
*mesh.DataplaneResource) *ApplicationTabInstanceInfoResp {
        // TODO: support more fields
        extensions := dataplane.Spec.Extensions
diff --git a/pkg/admin/service/application.go b/pkg/admin/service/application.go
index 7b1ae7b9..d1f0f8f3 100644
--- a/pkg/admin/service/application.go
+++ b/pkg/admin/service/application.go
@@ -66,7 +66,7 @@ func GetApplicationDetail(rt core_runtime.Runtime, req 
*model.ApplicationDetailR
        return respItem, nil
 }
 
-func GetApplicationTabInstanceInfo(rt core_runtime.Runtime, req 
*model.ApplicationTabInstanceInfoReq) ([]*model.ApplicationTabInstanceInfoResp, 
error) {
+func GetApplicationTabInstanceInfo(rt core_runtime.Runtime, req 
*model.ApplicationTabInstanceInfoReq) (*model.SearchPaginationResult, error) {
        manager := rt.ResourceManager()
        dataplaneList := &mesh.DataplaneResourceList{}
 
@@ -82,7 +82,9 @@ func GetApplicationTabInstanceInfo(rt core_runtime.Runtime, 
req *model.Applicati
                res = append(res, resItem)
        }
 
-       return res, nil
+       pagedRes := ToSearchPaginationResult(res, 
model.ByApplicationInstanceName(res), req.PageReq)
+
+       return pagedRes, nil
 }
 
 func GetApplicationServiceFormInfo(rt core_runtime.Runtime, req 
*model.ApplicationServiceFormReq) (*model.SearchPaginationResult, error) {

Reply via email to