Complete support for cron pipeline triggering
This commit is contained in:
+40
-4
@@ -705,13 +705,49 @@ WHERE pipeline_id=$1;`
|
||||
return crons, nil
|
||||
}
|
||||
|
||||
func (db *Database) AddCronForPipeline(pipelineId uuid.UUID, cron string, pattern string) error {
|
||||
func (db *Database) GetCronById(id uuid.UUID) (Cron, error) {
|
||||
|
||||
query := `
|
||||
SELECT cron, pipeline_id, pattern
|
||||
FROM crons
|
||||
WHERE id=$1;`
|
||||
|
||||
cron := Cron{
|
||||
Id: id,
|
||||
}
|
||||
|
||||
var pipelineIdStr string
|
||||
|
||||
err := db.Conn.QueryRow(context.Background(), query, id).Scan(&cron.Cron, &pipelineIdStr, &cron.Pattern)
|
||||
if err != nil {
|
||||
return cron, fmt.Errorf("Could not query database for cron with id %v: %w", id.String(), err)
|
||||
}
|
||||
|
||||
cron.PipelineId, err = uuid.Parse(pipelineIdStr)
|
||||
return cron, err
|
||||
}
|
||||
|
||||
func (db *Database) AddCronForPipeline(pipelineId uuid.UUID, cronStr string, pattern string) (Cron, error) {
|
||||
query := `
|
||||
INSERT INTO crons (id, pipeline_id, cron, pattern)
|
||||
VALUES (uuid_generate_v4(), $1, $2, $3);`
|
||||
VALUES (uuid_generate_v4(), $1, $2, $3)
|
||||
RETURNING id;`
|
||||
|
||||
_, err := db.Conn.Exec(context.Background(), query, pipelineId, cron, pattern)
|
||||
return err
|
||||
cron := Cron{
|
||||
PipelineId: pipelineId,
|
||||
Cron: cronStr,
|
||||
Pattern: pattern,
|
||||
}
|
||||
|
||||
var idStr string
|
||||
|
||||
err := db.Conn.QueryRow(context.Background(), query, pipelineId, cronStr, pattern).Scan(&idStr)
|
||||
if err != nil {
|
||||
return cron, fmt.Errorf("Could not create cron: %w", err)
|
||||
}
|
||||
|
||||
cron.Id, err = uuid.Parse(idStr)
|
||||
return cron, err
|
||||
}
|
||||
|
||||
func (db *Database) RemoveCronForPipeline(cronId uuid.UUID) error {
|
||||
|
||||
+4
-3
@@ -81,7 +81,8 @@ type Runner struct {
|
||||
}
|
||||
|
||||
type Cron struct {
|
||||
Id uuid.UUID
|
||||
Cron string
|
||||
Pattern string
|
||||
Id uuid.UUID
|
||||
PipelineId uuid.UUID
|
||||
Cron string
|
||||
Pattern string
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user