-- Deploy camper:service to pg -- requires: roles -- requires: schema_camper -- requires: company -- requires: icon -- requires: user_profile begin; set search_path to camper, public; create table service ( service_id integer generated by default as identity primary key, company_id integer not null references company, icon_name text not null references icon, name text not null constraint name_not_empty check(length(trim(name)) > 0), description xml not null ); grant select on table service to guest; grant select on table service to employee; grant select, insert, update, delete on table service to admin; alter table service enable row level security; create policy guest_ok on service for select using (true) ; create policy insert_to_company on service for insert with check ( company_id in (select company_id from user_profile) ) ; create policy update_company on service for update using ( company_id in (select company_id from user_profile) ) ; create policy delete_from_company on service for delete using ( company_id in (select company_id from user_profile) ) ; commit;