apicrud.Grants
- class apicrud.Grants(db_session=None, ttl=None)
Account usage limits
An account’s usage limits are specified here in the grants table; the free-service tier is defined and passed in via load_defaults(). Records in grants table are owned by administrator-level user. If a record matches a user uid, the default grant name=value is overridden.
- db_session
existing db session
- Type:
obj
- ttl
how long to cache a grant in memory
- Type:
int
- __init__(db_session=None, ttl=None)
Methods
__init__
([db_session, ttl])crud_get
(crud_results, id)Process results from BasicCRUD.get() for grants endpoint.
find
(crud_results, **kwargs)Process results from BasicCRUD.find() for grants endpoint
get
(name[, uid])Get the cached value of a named grant, if it hasn't expired
load_defaults
(defaults)Load default values from a dict of keyword: value pairs
uncache
(uid)Remove grants from cache, any time a user's status changes
- crud_get(crud_results, id)
Process results from BasicCRUD.get() for grants endpoint. If the id is found in database, perform the standard CRUD get(). Otherwise, look for a hybrid id in form uid:grant and return the cached Grant value. Grant values are serialized as strings even if they are integers (decimal, octal, hex).
- Parameters:
crud_results (tuple) – preliminary response
name (str) – name filter, if specified
- find(crud_results, **kwargs)
Process results from BasicCRUD.find() for grants endpoint
- Parameters:
crud_results (tuple) – preliminary response
name (str) – name filter, if specified
- get(name, uid=None)
Get the cached value of a named grant, if it hasn’t expired
- Parameters:
name (str) – name of a grant, as defined in service config
uid (str) – user ID
- Returns:
granted limit or None if undefined
- Return type:
int or str
- load_defaults(defaults)
Load default values from a dict of keyword: value pairs
- Parameters:
defaults (dict) – new defaults
- uncache(uid)
Remove grants from cache, any time a user’s status changes
- Parameters:
uid (str) – user ID