| 1 | -- SPDX-License-Identifier: AGPL-3.0-or-later |
| 2 | |
| 3 | -- name: InsertArtifact :one |
| 4 | INSERT INTO workflow_artifacts (run_id, name, object_key, byte_count, expires_at) |
| 5 | VALUES ($1, $2, $3, $4, $5) |
| 6 | RETURNING id, run_id, name, object_key, byte_count, expires_at, created_at; |
| 7 | |
| 8 | -- name: ListArtifactsForRun :many |
| 9 | SELECT id, name, object_key, byte_count, expires_at, created_at |
| 10 | FROM workflow_artifacts |
| 11 | WHERE run_id = $1 |
| 12 | ORDER BY name ASC; |
| 13 | |
| 14 | -- name: GetArtifactByID :one |
| 15 | SELECT id, run_id, name, object_key, byte_count, expires_at, created_at |
| 16 | FROM workflow_artifacts |
| 17 | WHERE id = $1; |
| 18 | |
| 19 | -- name: ListExpiredWorkflowArtifactsForCleanup :many |
| 20 | SELECT id, object_key |
| 21 | FROM workflow_artifacts |
| 22 | WHERE expires_at < $1 |
| 23 | AND object_key LIKE 'actions/runs/%' |
| 24 | ORDER BY expires_at ASC, id ASC |
| 25 | LIMIT $2; |
| 26 | |
| 27 | -- name: DeleteWorkflowArtifactsByIDs :execrows |
| 28 | DELETE FROM workflow_artifacts |
| 29 | WHERE id = ANY($1::bigint[]); |
| 30 | |
| 31 | -- name: ListArtifactObjectKeysForRun :many |
| 32 | -- Used by the run-delete REST handler to drive a best-effort S3 |
| 33 | -- cleanup after the workflow_runs row (and its cascaded |
| 34 | -- workflow_artifacts rows) have been removed. |
| 35 | SELECT object_key |
| 36 | FROM workflow_artifacts |
| 37 | WHERE run_id = $1; |
| 38 | |
| 39 | -- name: DeleteWorkflowArtifactByID :execrows |
| 40 | DELETE FROM workflow_artifacts WHERE id = $1; |
| 41 |