diff --git a/wwwroot/get_all_roles.dspy b/wwwroot/get_all_roles.dspy new file mode 100644 index 0000000..dcdd6bc --- /dev/null +++ b/wwwroot/get_all_roles.dspy @@ -0,0 +1,13 @@ +async with get_sor_context(request._run_ns, 'rbac') as sor: + recs = sor.R('role', {}) + d = [] + for r in recs: + if r.id in ['anonymous', 'any', 'logined']: + d.append(r.id) + else: + d.append(f'{r.orgtypeid}.{r.name}') + d.append(f'{r.orgtypeid}.*') + d.append(f'*.{r.name}') + d = sorted(list(set(d))) + return d + return [] diff --git a/wwwroot/get_normal_roles.dspy b/wwwroot/get_normal_roles.dspy new file mode 100644 index 0000000..81ddab4 --- /dev/null +++ b/wwwroot/get_normal_roles.dspy @@ -0,0 +1,15 @@ +async with get_sor_context(request._run_ns, 'rbac') as sor: + recs = sor.R('role', {}) + d = [] + for r in recs: + if r.id in ['anonymous', 'any', 'logined']: + continue + elif r.orgtypeid == '*' or r.orgtypeid is None: + continue + elif r.name == '*' or r.name is None: + continue + else: + d.append(f'{r.orgtypeid}.{r.name}') + d = sorted(list(set(d))) + return d + return []