-- Deploy numerus:logout to pg -- requires: schema_auth -- requires: user -- requires: current_app_user begin; set search_path to numerus, auth, public; create or replace function logout() returns void as $$ update "user" set cookie = default , cookie_expires_at = default where cookie = current_app_user() and cookie_expires_at > current_timestamp and length(cookie) > 30 $$ language sql security definer set search_path to auth, numerus, pg_temp; comment on function logout() is 'Removes the cookie and its expiry data from the current user, set as request.user setting'; revoke execute on function logout() from public; grant execute on function logout() to invoicer; grant execute on function logout() to admin; commit;