X-Git-Url: http://git.squeep.com/?p=squeep-indie-auther;a=blobdiff_plain;f=src%2Fdb%2Fpostgres%2Fsql%2Frefresh-code.sql;fp=src%2Fdb%2Fpostgres%2Fsql%2Frefresh-code.sql;h=339e4883dd8a2e51169834110a3a44ef4e016248;hp=0000000000000000000000000000000000000000;hb=b0103b0d496262c438b40bc20304081dbfe41e73;hpb=8ed81748bce7cea7904cac7225b20a60cafdfc16 diff --git a/src/db/postgres/sql/refresh-code.sql b/src/db/postgres/sql/refresh-code.sql new file mode 100644 index 0000000..339e488 --- /dev/null +++ b/src/db/postgres/sql/refresh-code.sql @@ -0,0 +1,19 @@ +-- +UPDATE token SET + expires = $(refreshed)::timestamptz + duration, + refreshed = $(refreshed)::timestamptz, + refresh_expires = $(refreshed)::timestamptz + refresh_duration, + refresh_count = refresh_count + 1 +WHERE + code_id = $(codeId) +AND + NOT is_revoked +AND + (refresh_expires IS NOT NULL AND refresh_expires > $(refreshed)::timestamptz) +RETURNING + expires, + refresh_expires, + ARRAY( + SELECT s.scope FROM token_scope ts INNER JOIN scope s USING (scope_id) + WHERE ts.code_id = code_id + ) AS scopes