PatchConnection 更新现有连接 (enhanced with Identity Store validation)
(input *plugin.ApiResourceInput)
| 52 | |
| 53 | // PatchConnection 更新现有连接 (enhanced with Identity Store validation) |
| 54 | func PatchConnection(input *plugin.ApiResourceInput) (*plugin.ApiResourceOutput, errors.Error) { |
| 55 | connection := &models.QDevConnection{} |
| 56 | if err := connectionHelper.First(&connection, input.Params); err != nil { |
| 57 | return nil, err |
| 58 | } |
| 59 | if err := (&models.QDevConnection{}).MergeFromRequest(connection, input.Body); err != nil { |
| 60 | return nil, errors.Convert(err) |
| 61 | } |
| 62 | |
| 63 | // 验证更新后的连接参数 (enhanced validation) |
| 64 | if err := validateConnection(connection); err != nil { |
| 65 | return nil, errors.BadInput.Wrap(err, "connection validation failed") |
| 66 | } |
| 67 | |
| 68 | if err := connectionHelper.SaveWithCreateOrUpdate(connection); err != nil { |
| 69 | return nil, err |
| 70 | } |
| 71 | return &plugin.ApiResourceOutput{Body: connection.Sanitize(), Status: http.StatusOK}, nil |
| 72 | } |
| 73 | |
| 74 | // DeleteConnection 删除连接 |
| 75 | func DeleteConnection(input *plugin.ApiResourceInput) (*plugin.ApiResourceOutput, errors.Error) { |
nothing calls this directly
no test coverage detected