-- Deploy numerus:roles to pg

begin;

do
$$
declare
	role name;
	roles name[] := array['guest', 'invoicer', 'admin', 'authenticator'];
begin
	foreach role in array roles
	loop
		begin
			execute 'create role ' || role || ' noinherit nologin';
		exception
		when duplicate_object then
			raise notice '%, skipping', sqlerrm using errcode = sqlstate;
		end;
	end loop;
end
$$;

grant guest to authenticator;
grant invoicer to authenticator;
grant admin to authenticator;

commit;