MySQL · 1572 bytes Raw Blame History
1 -- SPDX-License-Identifier: AGPL-3.0-or-later
2
3 -- name: InsertRunner :one
4 INSERT INTO workflow_runners (name, labels, capacity, registered_by_user_id)
5 VALUES ($1, $2, $3, $4)
6 RETURNING id, name, labels, capacity, status, last_heartbeat_at,
7 registered_by_user_id, created_at, updated_at;
8
9 -- name: GetRunnerByID :one
10 SELECT id, name, labels, capacity, status, last_heartbeat_at,
11 registered_by_user_id, created_at, updated_at
12 FROM workflow_runners
13 WHERE id = $1;
14
15 -- name: GetRunnerByName :one
16 SELECT id, name, labels, capacity, status, last_heartbeat_at,
17 registered_by_user_id, created_at, updated_at
18 FROM workflow_runners
19 WHERE name = $1;
20
21 -- name: ListRunners :many
22 SELECT id, name, labels, capacity, status, last_heartbeat_at, created_at
23 FROM workflow_runners
24 ORDER BY name ASC;
25
26 -- name: TouchRunnerHeartbeat :exec
27 UPDATE workflow_runners
28 SET last_heartbeat_at = now(),
29 status = $2,
30 updated_at = now()
31 WHERE id = $1;
32
33 -- name: InsertRunnerToken :one
34 INSERT INTO runner_tokens (runner_id, token_hash, expires_at)
35 VALUES ($1, $2, $3)
36 RETURNING id, runner_id, token_hash, expires_at, revoked_at, created_at;
37
38 -- name: GetRunnerByTokenHash :one
39 SELECT r.id, r.name, r.labels, r.capacity, r.status,
40 r.last_heartbeat_at, r.created_at
41 FROM workflow_runners r
42 JOIN runner_tokens t ON t.runner_id = r.id
43 WHERE t.token_hash = $1
44 AND t.revoked_at IS NULL
45 AND (t.expires_at IS NULL OR t.expires_at > now());
46
47 -- name: RevokeAllTokensForRunner :exec
48 UPDATE runner_tokens
49 SET revoked_at = now()
50 WHERE runner_id = $1 AND revoked_at IS NULL;
51