You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@devlake.apache.org by wa...@apache.org on 2022/11/23 13:20:40 UTC
[incubator-devlake] branch release-v0.14 updated: fix(zentao): fix GetTotalPages (#3799)
This is an automated email from the ASF dual-hosted git repository.
warren pushed a commit to branch release-v0.14
in repository https://gitbox.apache.org/repos/asf/incubator-devlake.git
The following commit(s) were added to refs/heads/release-v0.14 by this push:
new 5ab05dd38 fix(zentao): fix GetTotalPages (#3799)
5ab05dd38 is described below
commit 5ab05dd383f59448df109c214e153e0a01e0887b
Author: Warren Chen <yi...@merico.dev>
AuthorDate: Wed Nov 23 21:20:35 2022 +0800
fix(zentao): fix GetTotalPages (#3799)
---
plugins/zentao/tasks/api_client.go | 3 ++-
plugins/zentao/tasks/execution_collector.go | 3 ---
plugins/zentao/tasks/product_collector.go | 2 --
plugins/zentao/tasks/project_collector.go | 3 ---
plugins/zentao/tasks/shared.go | 7 +++++--
plugins/zentao/tasks/task_collector.go | 3 +--
6 files changed, 8 insertions(+), 13 deletions(-)
diff --git a/plugins/zentao/tasks/api_client.go b/plugins/zentao/tasks/api_client.go
index aff7b4d69..07cac6406 100644
--- a/plugins/zentao/tasks/api_client.go
+++ b/plugins/zentao/tasks/api_client.go
@@ -91,5 +91,6 @@ func NewZentaoApiClient(taskCtx core.TaskContext, connection *models.ZentaoConne
}
type ZentaoPagination struct {
- Page int `json:"page"`
+ Total int `json:"total"`
+ Limit int `json:"limit"`
}
diff --git a/plugins/zentao/tasks/execution_collector.go b/plugins/zentao/tasks/execution_collector.go
index 8f6d2c6ae..6092b7995 100644
--- a/plugins/zentao/tasks/execution_collector.go
+++ b/plugins/zentao/tasks/execution_collector.go
@@ -46,8 +46,6 @@ func CollectExecution(taskCtx core.SubTaskContext) errors.Error {
Table: RAW_EXECUTION_TABLE,
},
ApiClient: data.ApiClient,
-
- PageSize: 100,
// TODO write which api would you want request
UrlTemplate: "executions/{{ .Params.ExecutionId }}",
Query: func(reqData *helper.RequestData) (url.Values, errors.Error) {
@@ -56,7 +54,6 @@ func CollectExecution(taskCtx core.SubTaskContext) errors.Error {
query.Set("limit", fmt.Sprintf("%v", reqData.Pager.Size))
return query, nil
},
- GetTotalPages: GetTotalPagesFromResponse,
ResponseParser: func(res *http.Response) ([]json.RawMessage, errors.Error) {
body, err := io.ReadAll(res.Body)
if err != nil {
diff --git a/plugins/zentao/tasks/product_collector.go b/plugins/zentao/tasks/product_collector.go
index cc1e9d8cb..68956cc9c 100644
--- a/plugins/zentao/tasks/product_collector.go
+++ b/plugins/zentao/tasks/product_collector.go
@@ -46,7 +46,6 @@ func CollectProduct(taskCtx core.SubTaskContext) errors.Error {
Table: RAW_PRODUCT_TABLE,
},
ApiClient: data.ApiClient,
- PageSize: 100,
// TODO write which api would you want request
UrlTemplate: "products/{{ .Params.ProductId }}",
Query: func(reqData *helper.RequestData) (url.Values, errors.Error) {
@@ -55,7 +54,6 @@ func CollectProduct(taskCtx core.SubTaskContext) errors.Error {
query.Set("limit", fmt.Sprintf("%v", reqData.Pager.Size))
return query, nil
},
- GetTotalPages: GetTotalPagesFromResponse,
ResponseParser: func(res *http.Response) ([]json.RawMessage, errors.Error) {
body, err := io.ReadAll(res.Body)
if err != nil {
diff --git a/plugins/zentao/tasks/project_collector.go b/plugins/zentao/tasks/project_collector.go
index 6d737a0b5..6b895b8a2 100644
--- a/plugins/zentao/tasks/project_collector.go
+++ b/plugins/zentao/tasks/project_collector.go
@@ -45,8 +45,6 @@ func CollectProject(taskCtx core.SubTaskContext) errors.Error {
Table: RAW_PROJECT_TABLE,
},
ApiClient: data.ApiClient,
-
- PageSize: 100,
// TODO write which api would you want request
UrlTemplate: "projects",
Query: func(reqData *helper.RequestData) (url.Values, errors.Error) {
@@ -55,7 +53,6 @@ func CollectProject(taskCtx core.SubTaskContext) errors.Error {
query.Set("limit", fmt.Sprintf("%v", reqData.Pager.Size))
return query, nil
},
- GetTotalPages: GetTotalPagesFromResponse,
ResponseParser: func(res *http.Response) ([]json.RawMessage, errors.Error) {
var data struct {
Projects []json.RawMessage `json:"projects"`
diff --git a/plugins/zentao/tasks/shared.go b/plugins/zentao/tasks/shared.go
index 39fc86318..8c6099178 100644
--- a/plugins/zentao/tasks/shared.go
+++ b/plugins/zentao/tasks/shared.go
@@ -31,8 +31,11 @@ func GetTotalPagesFromResponse(res *http.Response, args *helper.ApiCollectorArgs
if err != nil {
return 0, err
}
- return body.Page, nil
-
+ pages := body.Total / args.PageSize
+ if body.Total%args.PageSize > 0 {
+ pages++
+ }
+ return pages, nil
}
func getAccountId(account *models.ZentaoAccount) int64 {
diff --git a/plugins/zentao/tasks/task_collector.go b/plugins/zentao/tasks/task_collector.go
index 8094870cf..89b0aad96 100644
--- a/plugins/zentao/tasks/task_collector.go
+++ b/plugins/zentao/tasks/task_collector.go
@@ -45,8 +45,7 @@ func CollectTask(taskCtx core.SubTaskContext) errors.Error {
Table: RAW_TASK_TABLE,
},
ApiClient: data.ApiClient,
-
- PageSize: 100,
+ PageSize: 100,
// TODO write which api would you want request
UrlTemplate: "/executions/{{ .Params.ExecutionId }}/tasks",
Query: func(reqData *helper.RequestData) (url.Values, errors.Error) {