339e4883dd8a2e51169834110a3a44ef4e016248
[squeep-indie-auther] / src / db / postgres / sql / refresh-code.sql
1 --
2 UPDATE token SET
3 expires = $(refreshed)::timestamptz + duration,
4 refreshed = $(refreshed)::timestamptz,
5 refresh_expires = $(refreshed)::timestamptz + refresh_duration,
6 refresh_count = refresh_count + 1
7 WHERE
8 code_id = $(codeId)
9 AND
10 NOT is_revoked
11 AND
12 (refresh_expires IS NOT NULL AND refresh_expires > $(refreshed)::timestamptz)
13 RETURNING
14 expires,
15 refresh_expires,
16 ARRAY(
17 SELECT s.scope FROM token_scope ts INNER JOIN scope s USING (scope_id)
18 WHERE ts.code_id = code_id
19 ) AS scopes