How to handle to get topojson from views when needed
Now we request for topoJson in this way
SELECT * FROM topo_update.app_do_GetFeaturesAsTopoJSON(
'topo_rein_ran',
ST_MakeEnvelope(-180, -90, 180, 90, 4258),
4258,
9,
ARRAY['path_layer','nodes']
)
but in some cases we have to create view to add extra info like this. How can we use a view like this in quary like the one above.
CREATE OR REPLACE VIEW topo_rein_ran.reindrift_anlegg_topojson_linje_v
AS
select
id,
reinbeitebruker_id,
reinbeitebruker_id2,
reinbeitebruker_id3,
-- reindriftsanleggstype,
-- anleggstype, -- does not work, since PSQL writing from java does not handle vector in json
-- anleggstype[0] AS anleggstype0, -- does not work, it reads, but not writes, through view
anleggstype,
(al.felles_egenskaper).forstedatafangstdato AS "fellesegenskaper.forstedatafangstdato",
(al.felles_egenskaper).verifiseringsdato AS "fellesegenskaper.verifiseringsdato",
(al.felles_egenskaper).oppdateringsdato AS "fellesegenskaper.oppdateringsdato",
(al.felles_egenskaper).opphav AS "fellesegenskaper.opphav",
((al.felles_egenskaper).kvalitet).maalemetode AS "fellesegenskaper.maalemetode",
((al.felles_egenskaper).kvalitet).noyaktighet AS "fellesegenskaper.noyaktighet",
linje,
-- alle_reinbeitebr_id,
status,
slette_status_kode,
CASE
WHEN EXISTS (SELECT 1 FROM topo_rein.rls_role_mapping rl
WHERE rl.session_id = current_setting('pgtopo_update.session_id')
AND rl.edit_all = true)
THEN true
WHEN reinbeitebruker_id =
ANY (SELECT column_value FROM topo_rein.rls_role_mapping rl
WHERE rl.session_id = current_setting('pgtopo_update.session_id')
AND rl.table_name = '*'
AND rl.column_name = 'reinbeitebruker_id')
THEN true
-- a user have explicit access to selected table
WHEN
reinbeitebruker_id =
ANY (SELECT column_value FROM topo_rein.rls_role_mapping rl
WHERE rl.session_id = current_setting('pgtopo_update.session_id')
AND rl.table_name = 'topo_rein_ran.reindrift_anlegg_linje'
AND rl.column_name = 'reinbeitebruker_id')
THEN true
WHEN reinbeitebruker_id is null
THEN true
ELSE false
END AS editable
from topo_rein_ran.reindrift_anlegg_linje al;