config = getConfig('.') DBPools(config.databases) dbname = get_module_dbname('entcms') async with db.sqlorContext(dbname) as sor: ns = {'sort': 'created_at desc'} # data_filter support filter_json = params_kw.get('data_filter', None) if filter_json: from sqlor.filter import DBFilter try: filter_def = json.loads(filter_json) if isinstance(filter_json, str) else filter_json dbf = DBFilter(filter_def) conds = dbf.gen(params_kw) ns.update(conds) ns.update(dbf.consts) except Exception: pass # Manual filter params _status = params_kw.get('status', None) if _status: ns['status'] = _status _source = params_kw.get('source', None) if _source: ns['source'] = _source rows = await sor.R('cms_leads', ns) total = len(rows) return {'status': 'ok', 'rows': rows, 'total': total}