[routing] add the ACL name that returned True
This commit is contained in:
parent
bcc4a3e9d8
commit
142ea24630
|
@ -40,7 +40,20 @@ def get_routes(domains=None):
|
||||||
for acl_fct_name, keys in acls:
|
for acl_fct_name, keys in acls:
|
||||||
acl_fct = getattr(acls_mod, acl_fct_name)
|
acl_fct = getattr(acls_mod, acl_fct_name)
|
||||||
if acl_fct(req, *args, **kwargs):
|
if acl_fct(req, *args, **kwargs):
|
||||||
return await fct(req, *args, **{ **kwargs, **{'keys': keys} })
|
"""
|
||||||
|
We the 'acl' and 'keys' kwargs values to let the
|
||||||
|
decorated function know which ACL function answered
|
||||||
|
True, and which keys the request will return
|
||||||
|
"""
|
||||||
|
return await fct(
|
||||||
|
req, *args,
|
||||||
|
**{
|
||||||
|
**kwargs,
|
||||||
|
**{
|
||||||
|
'acl': f'{acls_mod.__name__}.{acl_fct_name}',
|
||||||
|
'keys': keys
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
raise HTTPException(401)
|
raise HTTPException(401)
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
create schema api;
|
create schema api;
|
||||||
|
|
||||||
create type verb as enum ('POST', 'GET', 'PUT', 'DELETE');
|
create type verb as enum ('POST', 'GET', 'PUT', 'PATCH', 'DELETE');
|
||||||
|
|
||||||
create table api.domain (
|
create table api.domain (
|
||||||
name text,
|
name text,
|
||||||
|
|
Loading…
Reference in New Issue