diff --git a/uapi/apidata.py b/uapi/apidata.py index 7fb7980..3a5177a 100644 --- a/uapi/apidata.py +++ b/uapi/apidata.py @@ -8,10 +8,23 @@ from appPublic.streamhttpclient import StreamHttpClient, liner from appPublic.dictObject import DictObject from appPublic.log import debug, exception, error from appPublic.aes import aes_encode_b64 +from appPublic.jsonConfig import getConfig from ahserver.globalEnv import password_decode from ahserver.serverenv import get_serverenv, ServerEnv from random import randint + +def _cache_enabled(): + """Check if cache is enabled for uapi module in config.json""" + try: + config = getConfig() + module_cache = config.module_cache + if module_cache is None: + return True + return getattr(module_cache, 'uapi', True) + except Exception: + return True + async def get_deerer(upappid, callerid): db = DBPools() dbname = get_dbname() @@ -69,9 +82,10 @@ class UAPIData: async def get_apiusers(self, appid, orgid=None): key = appid - d = self.org_users.get(key) - if d: - return d + if _cache_enabled(): + d = self.org_users.get(key) + if d: + return d env = ServerEnv() async with get_sor_context(env, 'uapi') as sor: sql = """select @@ -122,9 +136,10 @@ where b.orgid = c.ownerid async def get_api(self, appid, apiname): key = f'{appid}.{apiname}' - api = self.apidata.get(key) - if api: - return api + if _cache_enabled(): + api = self.apidata.get(key) + if api: + return api env = ServerEnv() async with get_sor_context(env, 'uapi') as sor: d = await sor_get_uapi(sor, appid, apiname)