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 }
