pipeline-sdlc/wwwroot/api/check_perm.dspy
2026-08-12 12:07:52 +08:00

20 lines
766 B
Plaintext

# check_perm.dspy
dbname = get_module_dbname('rbac')
async with DBPools().sqlorContext(dbname) as sor:
# Get all 'any' role permissions
rp = await sor.sqlExe("SELECT permid FROM rolepermission WHERE roleid='any'", {})
permids = [getattr(r, "permid", "") for r in (rp or [])]
# Check permission table for these IDs
result = []
for pid in permids[:10]:
perm = await sor.sqlExe("SELECT * FROM permission WHERE id=${p}$", {"p": pid})
if perm:
d = perm[0].to_dict() if hasattr(perm[0], 'to_dict') else {}
result.append(d)
else:
result.append({"permid": pid, "error": "not found"})
return json.dumps({"perm_count": len(permids), "sample": result}, ensure_ascii=False, default=str)