31 lines
1.2 KiB
Plaintext
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 |