config = getConfig('.') DBPools(config.databases) dbname = get_module_dbname('entcms') async with db.sqlorContext(dbname) as sor: ns = {'sort': 'sort_order asc, 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 _content_type = params_kw.get('content_type', None) if _content_type: ns['content_type'] = _content_type _status = params_kw.get('status', None) if _status: ns['status'] = _status rows = await sor.R('cms_content', ns) total = len(rows) return {'status': 'ok', 'rows': rows, 'total': total}