Add updatePipeline endpoint
This commit is contained in:
@@ -77,6 +77,49 @@ RETURNING id, name, url, poll_interval;`
|
||||
return pipeline, nil
|
||||
}
|
||||
|
||||
func (db *Database) UpdatePipeline(pipelineId uuid.UUID, name *string, url *string, pollInterval *int) (Pipeline, error) {
|
||||
query := `
|
||||
UPDATE pipelines
|
||||
SET name=$1, url=$2, poll_interval=$3
|
||||
WHERE id=$4
|
||||
RETURNING name, url, poll_interval, clone_credential;`
|
||||
|
||||
pipeline, err := db.GetPipelineById(pipelineId)
|
||||
if err != nil {
|
||||
return pipeline, err
|
||||
}
|
||||
|
||||
var nameNew string
|
||||
var urlNew string
|
||||
var pollIntervalNew int
|
||||
|
||||
if name != nil {
|
||||
nameNew = *name
|
||||
} else {
|
||||
nameNew = pipeline.Name
|
||||
}
|
||||
if url != nil {
|
||||
urlNew = *url
|
||||
} else {
|
||||
urlNew = pipeline.Url
|
||||
}
|
||||
if pollInterval != nil {
|
||||
pollIntervalNew = *pollInterval
|
||||
} else {
|
||||
pollIntervalNew = pipeline.PollInterval
|
||||
}
|
||||
|
||||
err = db.Conn.QueryRow(context.Background(),
|
||||
query, nameNew, urlNew, pollIntervalNew, pipelineId).Scan(
|
||||
&pipeline.Name, &pipeline.Url, &pipeline.PollInterval, &pipeline.CloneCredential,
|
||||
)
|
||||
if err != nil {
|
||||
return pipeline, fmt.Errorf("Could not add credential to pipeline: %w", err)
|
||||
}
|
||||
|
||||
return pipeline, err
|
||||
}
|
||||
|
||||
func (db *Database) SetPipelineCloneCredential(pipelineId uuid.UUID, credentialId *uuid.UUID) (Pipeline, error) {
|
||||
query := `
|
||||
UPDATE pipelines
|
||||
|
||||
Reference in New Issue
Block a user