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

warren pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-devlake.git


The following commit(s) were added to refs/heads/main by this push:
     new 8610564c4 fix(sonarqube): fix remote api (#4425)
8610564c4 is described below

commit 8610564c4151e9a9e79204522e8b9a77c982f789
Author: Warren Chen <[email protected]>
AuthorDate: Thu Feb 16 10:41:56 2023 +0800

    fix(sonarqube): fix remote api (#4425)
---
 backend/plugins/sonarqube/api/remote.go | 33 +++++++++++++++++++++++++--------
 1 file changed, 25 insertions(+), 8 deletions(-)

diff --git a/backend/plugins/sonarqube/api/remote.go 
b/backend/plugins/sonarqube/api/remote.go
index 90f15c596..3215f9ada 100644
--- a/backend/plugins/sonarqube/api/remote.go
+++ b/backend/plugins/sonarqube/api/remote.go
@@ -37,6 +37,7 @@ type RemoteScopesChild struct {
        Type     string      `json:"type"`
        ParentId *string     `json:"parentId"`
        Id       string      `json:"id"`
+       Name     string      `json:"name"`
        Data     interface{} `json:"data"`
 }
 
@@ -45,6 +46,12 @@ type RemoteScopesOutput struct {
        NextPageToken string              `json:"nextPageToken"`
 }
 
+type SearchRemoteScopesOutput struct {
+       Children []RemoteScopesChild `json:"children"`
+       Page     int                 `json:"page"`
+       PageSize int                 `json:"pageSize"`
+}
+
 type PageData struct {
        Page    int    `json:"page"`
        PerPage int    `json:"per_page"`
@@ -60,8 +67,8 @@ const TypeProject string = "scope"
 // @Tags plugins/sonarqube
 // @Accept application/json
 // @Param connectionId path int false "connection ID"
-// @Param pageToken body string false "page Token"
-// @Success 200  {object} []models.SonarqubeProject
+// @Param pageToken query string false "page Token"
+// @Success 200  {object} RemoteScopesOutput
 // @Failure 400  {object} shared.ApiBody "Bad Request"
 // @Failure 500  {object} shared.ApiBody "Internal Error"
 // @Router /plugins/sonarqube/connections/{connectionId}/remote-scopes [GET]
@@ -118,6 +125,7 @@ func RemoteScopes(input *plugin.ApiResourceInput) 
(*plugin.ApiResourceOutput, er
                child := RemoteScopesChild{
                        Type: TypeProject,
                        Id:   project.ProjectKey,
+                       Name: project.Name,
                        Data: tasks.ConvertProject(&project),
                }
                outputBody.Children = append(outputBody.Children, child)
@@ -152,9 +160,9 @@ func RemoteScopes(input *plugin.ApiResourceInput) 
(*plugin.ApiResourceOutput, er
 // @Tags plugins/sonarqube
 // @Accept application/json
 // @Param connectionId path int false "connection ID"
-// @Param page body int false "page number"
-// @Param pageSize body int false "page size per page"
-// @Success 200  {object} []models.SonarqubeProject
+// @Param page query int false "page number"
+// @Param pageSize query int false "page size per page"
+// @Success 200  {object} SearchRemoteScopesOutput
 // @Failure 400  {object} shared.ApiBody "Bad Request"
 // @Failure 500  {object} shared.ApiBody "Internal Error"
 // @Router /plugins/sonarqube/connections/{connectionId}/search-remote-scopes 
[GET]
@@ -222,12 +230,21 @@ func SearchRemoteScopes(input *plugin.ApiResourceInput) 
(*plugin.ApiResourceOutp
        }
 
        // set projects return
-       var projects []models.SonarqubeProject
+       outputBody := &SearchRemoteScopesOutput{}
        for _, project := range resBody.Data {
-               projects = append(projects, *tasks.ConvertProject(&project))
+               child := RemoteScopesChild{
+                       Type:     TypeProject,
+                       Id:       project.ProjectKey,
+                       ParentId: nil,
+                       Name:     project.Name,
+                       Data:     tasks.ConvertProject(&project),
+               }
+               outputBody.Children = append(outputBody.Children, child)
        }
+       outputBody.Page = p
+       outputBody.PageSize = ps
 
-       return &plugin.ApiResourceOutput{Body: projects, Status: 
http.StatusOK}, nil
+       return &plugin.ApiResourceOutput{Body: outputBody, Status: 
http.StatusOK}, nil
 }
 
 func GetPageTokenFromPageData(pageData *PageData) (string, errors.Error) {

Reply via email to