Revision 56bbece7 snf-astakos-app/astakos/api/quotas.py
b/snf-astakos-app/astakos/api/quotas.py | ||
---|---|---|
38 | 38 |
|
39 | 39 |
from snf_django.lib import api |
40 | 40 |
from snf_django.lib.api.faults import BadRequest, ItemNotFound |
41 |
from django.core.cache import cache |
|
41 | 42 |
|
43 |
from astakos.im import settings |
|
42 | 44 |
from astakos.im import register |
43 | 45 |
from astakos.im.quotas import get_user_quotas, service_get_quotas |
44 | 46 |
|
... | ... | |
49 | 51 |
user_from_token, component_from_token) |
50 | 52 |
|
51 | 53 |
|
54 |
def get_visible_resources(): |
|
55 |
key = "resources" |
|
56 |
result = cache.get(key) |
|
57 |
if result is None: |
|
58 |
cache.set(key, register.get_api_visible_resources(), |
|
59 |
settings.RESOURCE_CACHE_TIMEOUT) |
|
60 |
result = cache.get(key) |
|
61 |
return result |
|
62 |
|
|
63 |
|
|
52 | 64 |
@api.api_method(http_method='GET', token_required=True, user_required=False) |
53 | 65 |
@user_from_token |
54 | 66 |
def quotas(request): |
55 |
visible_resources = register.get_api_visible_resources()
|
|
67 |
visible_resources = get_visible_resources()
|
|
56 | 68 |
resource_names = [r.name for r in visible_resources] |
57 | 69 |
result = get_user_quotas(request.user, resources=resource_names) |
58 | 70 |
return json_response(result) |
... | ... | |
73 | 85 |
|
74 | 86 |
@api.api_method(http_method='GET', token_required=False, user_required=False) |
75 | 87 |
def resources(request): |
76 |
resources = register.get_api_visible_resources()
|
|
88 |
resources = get_visible_resources()
|
|
77 | 89 |
result = register.resources_to_dict(resources) |
78 | 90 |
return json_response(result) |
79 | 91 |
|
Also available in: Unified diff