X-Git-Url: http://git.squeep.com/?p=squeep-indie-auther;a=blobdiff_plain;f=src%2Fdb%2Fsqlite%2Fsql%2Fredeem-code.sql;fp=src%2Fdb%2Fsqlite%2Fsql%2Fredeem-code.sql;h=5f237e8c514fdd5c6b08a807fa68c4313439ce6b;hp=0000000000000000000000000000000000000000;hb=b0103b0d496262c438b40bc20304081dbfe41e73;hpb=8ed81748bce7cea7904cac7225b20a60cafdfc16 diff --git a/src/db/sqlite/sql/redeem-code.sql b/src/db/sqlite/sql/redeem-code.sql new file mode 100644 index 0000000..5f237e8 --- /dev/null +++ b/src/db/sqlite/sql/redeem-code.sql @@ -0,0 +1,27 @@ +-- +INSERT INTO token ( + code_id, + created, + is_token, + client_id, + profile_id, + expires, + duration, + refresh_expires, + refresh_duration +) + SELECT + :codeId, + :created, + :isToken, + :clientId, + p.profile_id, + CASE WHEN :lifespanSeconds IS NULL THEN NULL ELSE :created + :lifespanSeconds END, + :lifespanSeconds, + CASE WHEN :refreshLifespanSeconds IS NULL THEN NULL ELSE :created + :refreshLifespanSeconds END, + :refreshLifespanSeconds + FROM profile p INNER JOIN authentication a USING (identifier_id) + WHERE p.profile = :profile AND a.identifier = :identifier +ON CONFLICT (code_id) DO UPDATE + SET is_revoked = true +RETURNING is_revoked