| 1 | -- SPDX-License-Identifier: AGPL-3.0-or-later |
| 2 | |
| 3 | -- name: UpsertRepoSecret :one |
| 4 | INSERT INTO workflow_secrets (repo_id, name, ciphertext, nonce, created_by_user_id) |
| 5 | VALUES ($1, $2, $3, $4, $5) |
| 6 | ON CONFLICT (repo_id, name) WHERE repo_id IS NOT NULL DO UPDATE |
| 7 | SET ciphertext = EXCLUDED.ciphertext, |
| 8 | nonce = EXCLUDED.nonce, |
| 9 | updated_at = now() |
| 10 | RETURNING id, repo_id, org_id, name, ciphertext, nonce, |
| 11 | created_by_user_id, created_at, updated_at; |
| 12 | |
| 13 | -- name: UpsertOrgSecret :one |
| 14 | INSERT INTO workflow_secrets (org_id, name, ciphertext, nonce, created_by_user_id) |
| 15 | VALUES ($1, $2, $3, $4, $5) |
| 16 | ON CONFLICT (org_id, name) WHERE org_id IS NOT NULL DO UPDATE |
| 17 | SET ciphertext = EXCLUDED.ciphertext, |
| 18 | nonce = EXCLUDED.nonce, |
| 19 | updated_at = now() |
| 20 | RETURNING id, repo_id, org_id, name, ciphertext, nonce, |
| 21 | created_by_user_id, created_at, updated_at; |
| 22 | |
| 23 | -- name: ListRepoSecrets :many |
| 24 | SELECT id, name, created_by_user_id, created_at, updated_at |
| 25 | FROM workflow_secrets |
| 26 | WHERE repo_id = $1 |
| 27 | ORDER BY name ASC; |
| 28 | |
| 29 | -- name: ListOrgSecrets :many |
| 30 | SELECT id, name, created_by_user_id, created_at, updated_at |
| 31 | FROM workflow_secrets |
| 32 | WHERE org_id = $1 |
| 33 | ORDER BY name ASC; |
| 34 | |
| 35 | -- name: GetRepoSecret :one |
| 36 | SELECT id, name, ciphertext, nonce |
| 37 | FROM workflow_secrets |
| 38 | WHERE repo_id = $1 AND name = $2; |
| 39 | |
| 40 | -- name: GetOrgSecret :one |
| 41 | SELECT id, name, ciphertext, nonce |
| 42 | FROM workflow_secrets |
| 43 | WHERE org_id = $1 AND name = $2; |
| 44 | |
| 45 | -- name: DeleteRepoSecret :exec |
| 46 | DELETE FROM workflow_secrets WHERE repo_id = $1 AND name = $2; |
| 47 | |
| 48 | -- name: DeleteOrgSecret :exec |
| 49 | DELETE FROM workflow_secrets WHERE org_id = $1 AND name = $2; |
| 50 |