application_access_token_cache.py 1.1 KB

123456789101112131415161718192021222324252627282930
  1. # coding=utf-8
  2. """
  3. @project: MaxKB
  4. @Author:虎
  5. @file: application_access_token_cache.py
  6. @date:2024/7/25 11:34
  7. @desc:
  8. """
  9. from django.core.cache import cache
  10. from django.db.models import QuerySet
  11. from application.models import ApplicationAccessToken
  12. from common.utils.cache_util import get_cache
  13. @get_cache(cache_key=lambda access_token, use_get_data: access_token,
  14. use_get_data=lambda access_token, use_get_data: use_get_data,
  15. version='APPLICATION_ACCESS_TOKEN_CACHE')
  16. def get_application_access_token(access_token, use_get_data):
  17. application_access_token = QuerySet(ApplicationAccessToken).filter(access_token=access_token).first()
  18. if application_access_token is None:
  19. return None
  20. return {'white_active': application_access_token.white_active,
  21. 'white_list': application_access_token.white_list,
  22. 'application_icon': application_access_token.application.icon,
  23. 'application_name': application_access_token.application.name}
  24. def del_application_access_token(access_token):
  25. cache.delete(access_token, version='APPLICATION_ACCESS_TOKEN_CACHE')