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

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

commit 3c3f2f266af1bcdbda41249b8d15343be92e5329
Author: d4x1 <[email protected]>
AuthorDate: Wed Sep 25 11:06:14 2024 +0800

    feat(project): update token check API response
---
 backend/core/models/project.go     | 22 ++++++----------------
 backend/server/services/project.go | 24 +++++++++++-------------
 2 files changed, 17 insertions(+), 29 deletions(-)

diff --git a/backend/core/models/project.go b/backend/core/models/project.go
index 5227d2a1c..6acafe27f 100644
--- a/backend/core/models/project.go
+++ b/backend/core/models/project.go
@@ -77,24 +77,14 @@ type ApiProjectCheck struct {
        Tokens *ApiProjectCheckToken `json:"tokens,omitempty" 
mapstructure:"tokens"`
 }
 
-type SuccessAndMessage struct {
-       Success bool   `json:"success" mapstructure:"success"`
-       Message string `json:"message" mapstructure:"message"`
+type TokenResultSuccessAndMessage struct {
+       PluginName   string `json:"pluginName" mapstructure:"pluginName"`
+       ConnectionID uint64 `json:"connectionId" mapstructure:"connectionId"`
+       Success      bool   `json:"success" mapstructure:"success"`
+       Message      string `json:"message" mapstructure:"message"`
 }
 
-// ApiProjectCheckToken
-//
-//     {
-//         "plugin_name":
-//         {
-//             "connection_id":
-//             {
-//                 "success": true,
-//                 "message": ""
-//             }
-//         }
-//     }
-type ApiProjectCheckToken = map[string]map[int]SuccessAndMessage
+type ApiProjectCheckToken []TokenResultSuccessAndMessage
 
 type Store struct {
        StoreKey   string          `gorm:"primaryKey;type:varchar(255)"`
diff --git a/backend/server/services/project.go 
b/backend/server/services/project.go
index 2e5c28aa8..1130140ec 100644
--- a/backend/server/services/project.go
+++ b/backend/server/services/project.go
@@ -198,24 +198,22 @@ func CheckProjectTokens(name string) 
(*models.ApiProjectCheckToken, errors.Error
        if err != nil {
                return nil, err
        }
-       ret := make(map[string]map[int]models.SuccessAndMessage)
+       var ret models.ApiProjectCheckToken
        for _, connection := range blueprint.Connections {
                pluginName := connection.PluginName
-               connectionId := int(connection.ConnectionId)
-               if _, ok := ret[pluginName]; !ok {
-                       ret[pluginName] = make(map[int]models.SuccessAndMessage)
-               }
-               connectionTokenResult := models.SuccessAndMessage{
-                       Success: true,
-                       Message: "success",
+               connectionId := connection.ConnectionId
+               connectionTokenResult := models.TokenResultSuccessAndMessage{
+                       PluginName:   pluginName,
+                       ConnectionID: connectionId,
+                       Success:      true,
+                       Message:      "success",
                }
                if err := checkConnectionToken(logger, *connection); err != nil 
{
-                       ret[pluginName][connectionId] = 
models.SuccessAndMessage{
-                               Success: false,
-                               Message: err.Error(),
-                       }
+                       connectionTokenResult.Success = false
+                       connectionTokenResult.Message = err.Error()
+
                }
-               ret[pluginName][connectionId] = connectionTokenResult
+               ret = append(ret, connectionTokenResult)
        }
        return &ret, nil
 }

Reply via email to