comparison schema/auth.sql @ 2915:69292eb68984

Simplify function and move to appropriate schema Since utm_covers() uses a function from schema users, it can be used only if appropriate access to the schema has been granted anyhow. Using current_user_area_utm() here to have a level of abstraction between utm_covers() and the modelling of the actual responsibility area.
author Tom Gottfried <tom@intevation.de>
date Wed, 03 Apr 2019 15:26:39 +0200
parents 89f5af7e14ad
children 96ac7a980ec2
comparison
equal deleted inserted replaced
2914:84a40983bb9f 2915:69292eb68984
2 -- without warranty, see README.md and license for details. 2 -- without warranty, see README.md and license for details.
3 3
4 -- SPDX-License-Identifier: AGPL-3.0-or-later 4 -- SPDX-License-Identifier: AGPL-3.0-or-later
5 -- License-Filename: LICENSES/AGPL-3.0.txt 5 -- License-Filename: LICENSES/AGPL-3.0.txt
6 6
7 -- Copyright (C) 2018 by via donau 7 -- Copyright (C) 2018, 2019 by via donau
8 -- – Österreichische Wasserstraßen-Gesellschaft mbH 8 -- – Österreichische Wasserstraßen-Gesellschaft mbH
9 -- Software engineering by Intevation GmbH 9 -- Software engineering by Intevation GmbH
10 10
11 -- Author(s): 11 -- Author(s):
12 -- * Tom Gottried <tom@intevation.de> 12 -- * Tom Gottried <tom@intevation.de>
137 FOR ALL TO waterway_admin 137 FOR ALL TO waterway_admin
138 USING ((location).country_code = (SELECT country FROM users.list_users WHERE username = current_user)); 138 USING ((location).country_code = (SELECT country FROM users.list_users WHERE username = current_user));
139 139
140 CREATE POLICY responsibility_area ON waterway.bottlenecks 140 CREATE POLICY responsibility_area ON waterway.bottlenecks
141 FOR ALL TO waterway_admin 141 FOR ALL TO waterway_admin
142 USING (utm_covers(area)); 142 USING (users.utm_covers(area));
143 143
144 CREATE POLICY responsibility_area ON waterway.sounding_results 144 CREATE POLICY responsibility_area ON waterway.sounding_results
145 FOR ALL TO waterway_admin 145 FOR ALL TO waterway_admin
146 USING (utm_covers(area)); 146 USING (users.utm_covers(area));
147 147
148 CREATE POLICY responsibility_area ON waterway.fairway_dimensions 148 CREATE POLICY responsibility_area ON waterway.fairway_dimensions
149 FOR ALL TO waterway_admin 149 FOR ALL TO waterway_admin
150 USING (utm_covers(area)); 150 USING (users.utm_covers(area));
151 151
152 CREATE POLICY sys_admin ON waterway.stretches 152 CREATE POLICY sys_admin ON waterway.stretches
153 FOR ALL TO sys_admin 153 FOR ALL TO sys_admin
154 USING (true); 154 USING (true);
155 155