camper/deploy/translate_amenity_carousel_slide.sql
jordi fita mas eeaa3b415e Add amenities section and public page
This is more or less the same as the campsites, as public information
goes, but for buildings and other amenities that the camping provides
that are not campsites.
2024-01-27 22:51:41 +01:00

29 lines
1.0 KiB
PL/PgSQL

-- Deploy camper:translate_amenity_carousel_slide to pg
-- requires: roles
-- requires: schema_camper
-- requires: amenity
-- requires: amenity_carousel_i18n
begin;
set search_path to camper, public;
create or replace function translate_amenity_carousel_slide(company_id integer, label text, media_id integer, lang_tag text, caption text) returns void as
$$
insert into amenity_carousel_i18n (amenity_id, media_id, lang_tag, caption)
select amenity_id, translate_amenity_carousel_slide.media_id, lang_tag, case trim(caption) when '' then null else caption end
from amenity
where label = translate_amenity_carousel_slide.label
and company_id = translate_amenity_carousel_slide.company_id
on conflict (amenity_id, media_id, lang_tag) do update
set caption = excluded.caption
;
$$
language sql
;
revoke execute on function translate_amenity_carousel_slide(integer, text, integer, text, text) from public;
grant execute on function translate_amenity_carousel_slide(integer, text, integer, text, text) to admin;
commit;