diff --git a/json/uapiio.json b/json/uapiio.json index 314348c..07d5129 100644 --- a/json/uapiio.json +++ b/json/uapiio.json @@ -4,12 +4,6 @@ "title":"API输入输出", "description":"API的输入输出定义", "sortby": "name", - "data_filter":{ - "fields":[ - {"field":"name","title":"类型名","uitype":"str"}, - {"field":"description","title":"类型说明","uitype":"str"} - ] - }, "browserfields":{ "exclouded":["id"], "alters":{} diff --git a/uapi/apidata.py b/uapi/apidata.py index d412416..f4e43a5 100644 --- a/uapi/apidata.py +++ b/uapi/apidata.py @@ -108,7 +108,7 @@ a.orgid as userorgid, a.apikey from upappkey a, users b, upapp c where b.orgid = c.ownerid - and a.ownerid = b.id + and a.ownerid = b.id and a.upappid = c.id and a.upappid = ${appid}$ """ @@ -143,7 +143,7 @@ where b.orgid = c.ownerid i = randint(0, cnt - 1) return users[i].userid - async def get_api(self, appid, apiname): + async def get_api_from_db(self, appid, apiname): key = f'{appid}.{apiname}' if _cache_enabled(): api = self.apidata.get(key) @@ -163,3 +163,10 @@ where b.orgid = c.ownerid exception(f'{e}') raise e + async def get_api(self, appid, apiname): + key = f'{appid}.{apiname}' + api = self.apidata.get(key) + if api: + return api + return await self.get_api_from_db(appid, apiname) +