Adding Permissions
Now you can use our library to statically check permissions from SQL queries:
from abstra_json_sql.authorization import Permissions
p = Permissions(default=False)
p.grant("SELECT", "orders", "status = 'completed' AND total > 100")
p.allowed("select * from orders where status = 'pending'") # False
p.allowed("select * from orders where total <= 100") # False
p.allowed("select * from orders where status = 'completed' AND total > 100") # True
p.revoke("SELECT", "orders", "customer_id = 42")
p.allowed("select * from orders where customer_id = 42 AND status = 'completed' AND total > 100") # False