This commit is contained in:
yumoqing 2025-07-05 22:24:23 +08:00
parent 4521bcb143
commit 0855761d34
2 changed files with 40 additions and 17 deletions

View File

@ -1,3 +1,3 @@
#!/usr/bin/bash #!/bin/bash
xls2ui -m ../models -o ../wwwroot rbac *.json xls2ui -m ../models -o ../wwwroot rbac *.json

View File

@ -55,19 +55,42 @@ async def get_user_roles(userid):
roles.append(r.name) roles.append(r.name)
return roles return roles
async def create_org(sor, ns): async def create_org(sor, ns, orgtypes=[]):
await sor.C('organization', ns) await sor.C('organization', ns)
if orgtypes == []:
orgtypes = ['customer']
if 'customer' not in orgtypes:
orgtypes.append('customer')
for ot in orgtypes:
otns = { otns = {
'id':getID(), 'id':getID(),
'orgid':ns.id, 'orgid':ns.id,
'orgtypeid':'customer' 'orgtypeid':ot
} }
await sor.C('orgtypes', otns) await sor.C('orgtypes', otns)
async def create_user(sor, ns): async def create_user(sor, ns, roles=[]):
"""
role format:
{
orgtypeid: rr,
roles: ['ee', 'bb']
}
"""
await sor.C('users', ns) await sor.C('users', ns)
sql = "select * from role where orgtypeid = 'customer' and name in ('admin', 'customer')" if roles == []:
recs = await sor.sqlExe(sql, {}) roles = [
{
'orgtypeid': 'customer',
'roles': [ 'customer']
}
]
for rt in roles:
sql = "select * from role where orgtypeid = ${otid}$ and name in ${roles}$)"
recs = await sor.sqlExe(sql, {
'otid': rt['orgtypeid',
'roles': rt['roles']
})
for r in recs: for r in recs:
await sor.C('userrole', { await sor.C('userrole', {
'id':getID(), 'id':getID(),