Add updatePipeline endpoint
This commit is contained in:
@@ -560,6 +560,72 @@ func createSchema(db database.Database, pollChan chan uuid.UUID) (graphql.Schema
|
||||
return runner, nil
|
||||
},
|
||||
},
|
||||
"updatePipeline": &graphql.Field{
|
||||
Type: pipelineType,
|
||||
Description: "Create a new pipeline",
|
||||
Args: graphql.FieldConfigArgument{
|
||||
"pipelineId": &graphql.ArgumentConfig{
|
||||
Type: graphql.NewNonNull(graphql.String),
|
||||
},
|
||||
"name": &graphql.ArgumentConfig{
|
||||
Type: graphql.String,
|
||||
},
|
||||
"url": &graphql.ArgumentConfig{
|
||||
Type: graphql.String,
|
||||
},
|
||||
"pollInterval": &graphql.ArgumentConfig{
|
||||
Type: graphql.Int,
|
||||
},
|
||||
"cloneCredentialId": &graphql.ArgumentConfig{
|
||||
Type: graphql.String,
|
||||
},
|
||||
},
|
||||
Resolve: func(params graphql.ResolveParams) (interface{}, error) {
|
||||
pipelineId, err := uuid.Parse(params.Args["pipelineId"].(string))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var name *string
|
||||
var url *string
|
||||
var interval *int
|
||||
|
||||
if nameVal, ok := params.Args["name"]; ok {
|
||||
nameVal := nameVal.(string)
|
||||
name = &nameVal
|
||||
} else {
|
||||
name = nil
|
||||
}
|
||||
|
||||
if urlVal, ok := params.Args["url"]; ok {
|
||||
urlVal := urlVal.(string)
|
||||
url = &urlVal
|
||||
} else {
|
||||
url = nil
|
||||
}
|
||||
|
||||
if intervalVal, ok := params.Args["pollInterval"]; ok {
|
||||
intervalVal := intervalVal.(int)
|
||||
interval = &intervalVal
|
||||
} else {
|
||||
interval = nil
|
||||
}
|
||||
|
||||
pipeline, err := db.UpdatePipeline(
|
||||
pipelineId,
|
||||
name,
|
||||
url,
|
||||
interval,
|
||||
)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
pollChan <- pipeline.Id
|
||||
|
||||
return pipeline, nil
|
||||
},
|
||||
},
|
||||
"setPipelineCloneCredential": &graphql.Field{
|
||||
Type: pipelineType,
|
||||
Description: "Set the CloneCredential used by a pipeline to clone the source repo",
|
||||
|
||||
Reference in New Issue
Block a user