(input *plugin.ApiResourceInput, connection *models.WebhookConnection, err errors.Error)
| 211 | } |
| 212 | |
| 213 | func postDeployments(input *plugin.ApiResourceInput, connection *models.WebhookConnection, err errors.Error) (*plugin.ApiResourceOutput, errors.Error) { |
| 214 | if err != nil { |
| 215 | return nil, err |
| 216 | } |
| 217 | // get request |
| 218 | request := &WebhookDeploymentReq{} |
| 219 | err = api.DecodeMapStruct(input.Body, request, true) |
| 220 | if err != nil { |
| 221 | return &plugin.ApiResourceOutput{Body: err.Error(), Status: http.StatusBadRequest}, nil |
| 222 | } |
| 223 | // validate |
| 224 | vld = validator.New() |
| 225 | err = errors.Convert(vld.Struct(request)) |
| 226 | if err != nil { |
| 227 | return nil, errors.BadInput.Wrap(vld.Struct(request), `input json error`) |
| 228 | } |
| 229 | txHelper := dbhelper.NewTxHelper(basicRes, &err) |
| 230 | defer txHelper.End() |
| 231 | tx := txHelper.Begin() |
| 232 | if err := CreateDeploymentAndDeploymentCommits(connection, request, tx, logger); err != nil { |
| 233 | logger.Error(err, "create deployments") |
| 234 | return nil, err |
| 235 | } |
| 236 | |
| 237 | return &plugin.ApiResourceOutput{Body: nil, Status: http.StatusOK}, nil |
| 238 | } |
| 239 | |
| 240 | func CreateDeploymentAndDeploymentCommits(connection *models.WebhookConnection, request *WebhookDeploymentReq, tx dal.Transaction, logger log.Logger) errors.Error { |
| 241 | // validation |
no test coverage detected