kboss/b/role/addRolePermission.dspy
2025-07-16 14:27:17 +08:00

31 lines
1.2 KiB
Plaintext

async def addRolePermission(ns):
"""
角色权限配置
:param roleid:
:param permid:要配置的权限,为列表传入
"""
db = DBPools()
async with db.sqlorContext('kboss') as sor:
try:
dleroles = {'roleid': ns.get('roleid')}
rolereacs = await sor.R('rolepermission', dleroles)
for i in rolereacs:
if i['permid'] not in eval(ns.get('permid')):
await sor.U('rolepermission', {'del_flg': '1', 'id': i['id']})
for i in eval(ns.get('permid')):
roles = {'roleid': ns.get('roleid'), 'permid': i}
reacs = await sor.R('rolepermission', roles)
if len(reacs) >= 1:
rolens = {'id': reacs[0]['id'], 'del_flg': '0'}
await sor.U('rolepermission', rolens)
continue
ns['id'] = uuid()
ns['permid'] = i
await sor.C('rolepermission', ns)
return {'status': True, 'msg': '配置成功'}
except:
return {'status': False, 'msg': '配置失败'}
ret = await addRolePermission(params_kw)
return ret