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

View File

@ -55,25 +55,48 @@ async def get_user_roles(userid):
roles.append(r.name)
return roles
async def create_org(sor, ns):
async def create_org(sor, ns, orgtypes=[]):
await sor.C('organization', ns)
otns = {
'id':getID(),
'orgid':ns.id,
'orgtypeid':'customer'
}
await sor.C('orgtypes', otns)
if orgtypes == []:
orgtypes = ['customer']
if 'customer' not in orgtypes:
orgtypes.append('customer')
for ot in orgtypes:
otns = {
'id':getID(),
'orgid':ns.id,
'orgtypeid':ot
}
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)
sql = "select * from role where orgtypeid = 'customer' and name in ('admin', 'customer')"
recs = await sor.sqlExe(sql, {})
for r in recs:
await sor.C('userrole', {
'id':getID(),
'userid':ns.id,
'roleid':r.id
})
if roles == []:
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:
await sor.C('userrole', {
'id':getID(),
'userid':ns.id,
'roleid':r.id
})
async def register_user(sor, ns):
if ns.password != ns.cfm_password: