Mercurial > gemma
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 |