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

abeizn 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 7a85b7f88 fix(sonarqube): fix search-remote-scope api error, fix api 
document (#5259)
7a85b7f88 is described below

commit 7a85b7f8865cfe849259587f6ba763b406594827
Author: Leric Zhang <[email protected]>
AuthorDate: Tue May 23 10:24:40 2023 +0800

    fix(sonarqube): fix search-remote-scope api error, fix api document (#5259)
---
 backend/helpers/pluginhelper/api/remote_api_helper.go |  6 ++++--
 backend/plugins/sonarqube/api/connection.go           |  9 +++++++++
 backend/plugins/sonarqube/api/proxy.go                | 10 ++++++++++
 backend/plugins/sonarqube/api/remote.go               |  6 +++---
 backend/plugins/sonarqube/api/scope.go                |  6 +++---
 5 files changed, 29 insertions(+), 8 deletions(-)

diff --git a/backend/helpers/pluginhelper/api/remote_api_helper.go 
b/backend/helpers/pluginhelper/api/remote_api_helper.go
index 798801a20..b9d874a68 100644
--- a/backend/helpers/pluginhelper/api/remote_api_helper.go
+++ b/backend/helpers/pluginhelper/api/remote_api_helper.go
@@ -160,7 +160,7 @@ func (r *RemoteApiHelper[Conn, Scope, ApiScope, Group]) 
GetScopesFromRemote(inpu
        gid := groupId[0]
        queryData, err := getPageDataFromPageToken(pageToken[0])
        if err != nil {
-               return nil, errors.BadInput.New("failed to get paget token")
+               return nil, errors.BadInput.New("failed to get page token")
        }
 
        outputBody := &RemoteScopesOutput{}
@@ -244,7 +244,9 @@ func (r *RemoteApiHelper[Conn, Scope, ApiScope, Group]) 
GetScopesFromRemote(inpu
        return &plugin.ApiResourceOutput{Body: outputBody, Status: 
http.StatusOK}, nil
 }
 
-func (r *RemoteApiHelper[Conn, Scope, ApiScope, Group]) 
SearchRemoteScopes(input *plugin.ApiResourceInput, searchScope func(basicRes 
coreContext.BasicRes, queryData *RemoteQueryData, connection Conn) ([]ApiScope, 
errors.Error)) (*plugin.ApiResourceOutput, errors.Error) {
+func (r *RemoteApiHelper[Conn, Scope, ApiScope, Group]) 
SearchRemoteScopes(input *plugin.ApiResourceInput,
+       searchScope func(basicRes coreContext.BasicRes, queryData 
*RemoteQueryData, connection Conn) ([]ApiScope, errors.Error),
+) (*plugin.ApiResourceOutput, errors.Error) {
        connectionId, err := 
errors.Convert01(strconv.ParseUint(input.Params["connectionId"], 10, 64))
        if err != nil || connectionId == 0 {
                return nil, errors.BadInput.New("invalid connectionId")
diff --git a/backend/plugins/sonarqube/api/connection.go 
b/backend/plugins/sonarqube/api/connection.go
index 8ca67b18e..9dc000e61 100644
--- a/backend/plugins/sonarqube/api/connection.go
+++ b/backend/plugins/sonarqube/api/connection.go
@@ -36,6 +36,7 @@ type SonarqubeTestConnResponse struct {
        Connection *models.SonarqubeConn
 }
 
+// TestConnection test sonarqube connection options
 // @Summary test sonarqube connection
 // @Description Test sonarqube Connection
 // @Tags plugins/sonarqube
@@ -82,6 +83,7 @@ func TestConnection(input *plugin.ApiResourceInput) 
(*plugin.ApiResourceOutput,
        }
 }
 
+// PostConnections create sonarqube connection
 // @Summary create sonarqube connection
 // @Description Create sonarqube connection
 // @Tags plugins/sonarqube
@@ -100,10 +102,12 @@ func PostConnections(input *plugin.ApiResourceInput) 
(*plugin.ApiResourceOutput,
        return &plugin.ApiResourceOutput{Body: connection, Status: 
http.StatusOK}, nil
 }
 
+// PatchConnection patch sonarqube connection
 // @Summary patch sonarqube connection
 // @Description Patch sonarqube connection
 // @Tags plugins/sonarqube
 // @Param body body models.SonarqubeConnection true "json body"
+// @Param connectionId path int false "connection ID"
 // @Success 200  {object} models.SonarqubeConnection
 // @Failure 400  {string} errcode.Error "Bad Request"
 // @Failure 500  {string} errcode.Error "Internal Error"
@@ -117,9 +121,11 @@ func PatchConnection(input *plugin.ApiResourceInput) 
(*plugin.ApiResourceOutput,
        return &plugin.ApiResourceOutput{Body: connection}, nil
 }
 
+// DeleteConnection delete a sonarqube connection
 // @Summary delete a sonarqube connection
 // @Description Delete a sonarqube connection
 // @Tags plugins/sonarqube
+// @Param connectionId path int false "connection ID"
 // @Success 200  {object} models.SonarqubeConnection
 // @Failure 400  {string} errcode.Error "Bad Request"
 // @Failure 500  {string} errcode.Error "Internal Error"
@@ -134,6 +140,7 @@ func DeleteConnection(input *plugin.ApiResourceInput) 
(*plugin.ApiResourceOutput
        return &plugin.ApiResourceOutput{Body: connection}, err
 }
 
+// ListConnections get all sonarqube connections
 // @Summary get all sonarqube connections
 // @Description Get all sonarqube connections
 // @Tags plugins/sonarqube
@@ -150,9 +157,11 @@ func ListConnections(input *plugin.ApiResourceInput) 
(*plugin.ApiResourceOutput,
        return &plugin.ApiResourceOutput{Body: connections, Status: 
http.StatusOK}, nil
 }
 
+// GetConnection get sonarqube connection detail
 // @Summary get sonarqube connection detail
 // @Description Get sonarqube connection detail
 // @Tags plugins/sonarqube
+// @Param connectionId path int false "connection ID"
 // @Success 200  {object} models.SonarqubeConnection
 // @Failure 400  {string} errcode.Error "Bad Request"
 // @Failure 500  {string} errcode.Error "Internal Error"
diff --git a/backend/plugins/sonarqube/api/proxy.go 
b/backend/plugins/sonarqube/api/proxy.go
index 381907ece..ed5b0a4a2 100644
--- a/backend/plugins/sonarqube/api/proxy.go
+++ b/backend/plugins/sonarqube/api/proxy.go
@@ -27,6 +27,16 @@ import (
        "github.com/apache/incubator-devlake/plugins/sonarqube/models"
 )
 
+// Proxy proxy api request to upstream sonarqube
+// @Summary proxy api request to upstream sonarqube
+// @Description Proxy HTTP GET request to the sonarqube behind this connection.
+// @Tags plugins/sonarqube
+// @Param connectionId path int false "connection ID"
+// @Param path path string false "API Path"
+// @Success 200  {object} interface{} "Success"
+// @Failure 400  {string} errcode.Error "Bad Request"
+// @Failure 500  {string} errcode.Error "Internal Error"
+// @Router /plugins/sonarqube/connections/{connectionId}/proxy/rest/{*path} 
[GET]
 func Proxy(input *plugin.ApiResourceInput) (*plugin.ApiResourceOutput, 
errors.Error) {
        connection := &models.SonarqubeConnection{}
        err := connectionHelper.First(connection, input.Params)
diff --git a/backend/plugins/sonarqube/api/remote.go 
b/backend/plugins/sonarqube/api/remote.go
index 5e29e4615..7d885e9bc 100644
--- a/backend/plugins/sonarqube/api/remote.go
+++ b/backend/plugins/sonarqube/api/remote.go
@@ -73,6 +73,7 @@ func RemoteScopes(input *plugin.ApiResourceInput) 
(*plugin.ApiResourceOutput, er
 // @Tags plugins/sonarqube
 // @Accept application/json
 // @Param connectionId path int false "connection ID"
+// @Param search query string false "search keyword"
 // @Param page query int false "page number"
 // @Param pageSize query int false "page size per page"
 // @Success 200  {object} api.SearchRemoteScopesOutput
@@ -80,9 +81,8 @@ func RemoteScopes(input *plugin.ApiResourceInput) 
(*plugin.ApiResourceOutput, er
 // @Failure 500  {object} shared.ApiBody "Internal Error"
 // @Router /plugins/sonarqube/connections/{connectionId}/search-remote-scopes 
[GET]
 func SearchRemoteScopes(input *plugin.ApiResourceInput) 
(*plugin.ApiResourceOutput, errors.Error) {
-       return remoteHelper.GetScopesFromRemote(input,
-               nil,
-               func(basicRes context2.BasicRes, gid string, queryData 
*api.RemoteQueryData, connection models.SonarqubeConnection) 
([]models.SonarqubeApiProject, errors.Error) {
+       return remoteHelper.SearchRemoteScopes(input,
+               func(basicRes context2.BasicRes, queryData 
*api.RemoteQueryData, connection models.SonarqubeConnection) 
([]models.SonarqubeApiProject, errors.Error) {
                        query := initialQuery(queryData)
                        query.Set("q", queryData.Search[0])
                        // create api client
diff --git a/backend/plugins/sonarqube/api/scope.go 
b/backend/plugins/sonarqube/api/scope.go
index 3d46b2ef7..e2946eec3 100644
--- a/backend/plugins/sonarqube/api/scope.go
+++ b/backend/plugins/sonarqube/api/scope.go
@@ -67,10 +67,12 @@ func UpdateScope(input *plugin.ApiResourceInput) 
(*plugin.ApiResourceOutput, err
 // @Description get Sonarqube projects
 // @Tags plugins/sonarqube
 // @Param connectionId path int false "connection ID"
+// @Param pageSize query int false "page size, default 50"
+// @Param page query int false "page size, default 1"
 // @Success 200  {object} []ScopeRes
 // @Failure 400  {object} shared.ApiBody "Bad Request"
 // @Failure 500  {object} shared.ApiBody "Internal Error"
-// @Router /plugins/sonarqube/connections/{connectionId}/scopes/ [GET]
+// @Router /plugins/sonarqube/connections/{connectionId}/scopes [GET]
 func GetScopeList(input *plugin.ApiResourceInput) (*plugin.ApiResourceOutput, 
errors.Error) {
        return scopeHelper.GetScopeList(input)
 }
@@ -81,8 +83,6 @@ func GetScopeList(input *plugin.ApiResourceInput) 
(*plugin.ApiResourceOutput, er
 // @Tags plugins/sonarqube
 // @Param connectionId path int false "connection ID"
 // @Param scopeId path string false "project key"
-// @Param pageSize query int false "page size, default 50"
-// @Param page query int false "page size, default 1"
 // @Success 200  {object} ScopeRes
 // @Failure 400  {object} shared.ApiBody "Bad Request"
 // @Failure 500  {object} shared.ApiBody "Internal Error"

Reply via email to