Mercurial > gemma
view schema/manage_users.sql @ 222:cfde876fbaf9
Try to DROP ROLEs before creating them and keep test results
author | Tom Gottfried <tom@intevation.de> |
---|---|
date | Wed, 25 Jul 2018 11:59:10 +0200 |
parents | 229f385448fa |
children | 8b9cae6d3a21 |
line wrap: on
line source
-- -- Functions encapsulating user management functionality and -- exposing it to privileged users -- CREATE OR REPLACE FUNCTION sys_admin.create_user( userrole varchar, username users.user_profiles.username%TYPE, pw varchar, country users.user_profiles.country%TYPE, map_extent users.user_profiles.map_extent%TYPE, email_adress users.user_profiles.email_adress%TYPE ) RETURNS void AS $$ BEGIN IF map_extent IS NULL THEN map_extent = ST_Extent(area) FROM users.responsibility_areas ra WHERE ra.country = create_user.country; END IF; INSERT INTO users.user_profiles VALUES ( username, country, map_extent, email_adress); EXECUTE format( 'CREATE ROLE %I IN ROLE %I LOGIN PASSWORD %L', username, userrole, pw); END; $$ LANGUAGE plpgsql SECURITY DEFINER;