ns = params_kw.copy() print(f'get_userapikey.dspy:{ns=}') if not ns.get('page'): ns['page'] = 1 if not ns.get('sort'): ns['sort'] = 'id' filterjson = params_kw.get('data_filter') userid = await get_user() ns['userid'] = userid if not filterjson: fields = [ f['name'] for f in [ { "name": "id", "title": "id", "type": "str", "length": 32 }, { "name": "providerid", "title": "\u4f9b\u5e94\u5546id", "type": "str", "length": 200 }, { "name": "customerid", "title": "\u7528\u6237id", "type": "str", "length": 32, "default": "0" }, { "name": "apikey", "title": "api\u5bc6\u94a5", "type": "str", "length": 4000, "default": "0" }, { "name": "secretkey", "title": "\u9644\u5c5e\u5bc6\u94a5", "type": "str", "length": 4000 }, { "name": "rfname", "title": "\u51fd\u6570\u540d", "type": "str", "length": 400 } ] ] filterjson = default_filterjson(fields, ns) sql = '''select a.*, b.providerid_text, c.customerid_text from (select y.* from users x, userapikey y where x.id=${userid}$ and x.orgid = y.customerid) a left join (select id as providerid, orgname as providerid_text from organization where 1 = 1) b on a.providerid = b.providerid left join (select id as customerid, orgname as customerid_text from organization where 1 = 1) c on a.customerid = c.customerid''' if filterjson: dbf = DBFilter(filterjson) conds = dbf.gen(ns) if conds: ns.update(dbf.consts) sql += ' and ' + conds info(f'{ns=},{sql=}') db = DBPools() async with db.sqlorContext('sage') as sor: r = await sor.sqlPaging(sql, ns) return r return { "total":0, "rows":[] }