From a4e7d88993a10f738fa876d2aa3332f4a97a3e5c Mon Sep 17 00:00:00 2001 From: ymq Date: Wed, 12 Aug 2026 12:07:31 +0800 Subject: [PATCH] fix: check rolepermission columns --- wwwroot/api/check_perm.dspy | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/wwwroot/api/check_perm.dspy b/wwwroot/api/check_perm.dspy index 78647bf..111bddc 100644 --- a/wwwroot/api/check_perm.dspy +++ b/wwwroot/api/check_perm.dspy @@ -2,12 +2,15 @@ dbname = get_module_dbname('rbac') async with DBPools().sqlorContext(dbname) as sor: - recs = await sor.sqlExe( - "SELECT path, roleid FROM rolepermission WHERE path LIKE '%%login%%'", {}) - perms = [{"path": getattr(r, "path", ""), "roleid": getattr(r, "roleid", "")} for r in (recs or [])] + # Check all perms + recs = await sor.sqlExe("SELECT * FROM rolepermission LIMIT 5", {}) + if recs: + cols = [k for k in dir(recs[0]) if not k.startswith('_')] + else: + cols = [] - recs2 = await sor.sqlExe( - "SELECT path, roleid FROM rolepermission WHERE path LIKE '%%up_login%%' OR path LIKE '%%login.ui%%'", {}) - perms2 = [{"path": getattr(r, "path", ""), "roleid": getattr(r, "roleid", "")} for r in (recs2 or [])] + # Check for login path in all perms + count = await sor.sqlExe("SELECT COUNT(*) as c FROM rolepermission", {}) + tc = getattr(count[0], "c", 0) if count else 0 -return json.dumps({"login_perms": perms, "up_login_perms": perms2}, ensure_ascii=False) +return json.dumps({"columns": cols, "total_perms": tc}, ensure_ascii=False)