e61d503ec482fd2d5e616ecbec51c4bac71168cb
15 $
(created
)::timestamptz,
20 $
(lifespanSeconds
)::text::interval,
21 CASE WHEN $
(lifespanSeconds
) IS NULL THEN NULL ELSE $
(created
)::timestamptz + $
(lifespanSeconds
)::text::interval END,
22 $
(refreshLifespanSeconds
)::text::interval,
23 CASE WHEN $
(refreshLifespanSeconds
) IS NULL THEN NULL ELSE $
(created
)::timestamptz + $
(refreshLifespanSeconds
)::text::interval END,
26 FROM profile p
INNER JOIN authentication a
USING (identifier_id
)
27 WHERE p.profile
= $
(profile
) AND a.identifier
= $
(identifier
)
28 ON CONFLICT (code_id
) DO UPDATE -- repeated redemption attempt invalidates existing token