camper/deploy/add_campsite_feature.sql

28 lines
776 B
PL/PgSQL

-- Deploy camper:add_campsite_feature to pg
-- requires: roles
-- requires: schema_camper
-- requires: campsite_feature
-- requires: campsite
begin;
set search_path to camper, public;
create or replace function add_campsite_feature(company_id integer, campsite_label text, icon_name text, name text) returns integer as
$$
insert into campsite_feature (campsite_id, icon_name, name)
select campsite_id, icon_name, add_campsite_feature.name
from campsite
where label = campsite_label
and company_id = add_campsite_feature.company_id
returning campsite_feature_id
;
$$
language sql
;
revoke execute on function add_campsite_feature(integer, text, text, text) from public;
grant execute on function add_campsite_feature(integer, text, text, text) to admin;
commit;