- Add SDLC dashboard, pipeline editor, ops center UI - build.sh: clone business modules to pkgs/, xls2ui CRUD, fix created_by - global_func.py: password_encode None-safe wrapper - pipeline_app.py: permission cache warmup removed - load_path.py: RBAC permission registration for all modules - scripts/merge_i18n.py: i18n merge tool - bin/init_perms.py, bin/init_data.py: init scripts - set_role_perm.py: single permission registration - Model uitype fields set for form editing - pipeline_core/pipeline_ops load_path.py scripts
71 lines
2.4 KiB
Python
71 lines
2.4 KiB
Python
#!/usr/bin/env python3
|
|
"""RBAC path registration for pipeline_core module."""
|
|
import os, sys, subprocess
|
|
|
|
MOD = "pipeline_core"
|
|
|
|
PATHS_ANY = [
|
|
f"/{MOD}/index.ui",
|
|
]
|
|
|
|
PATHS_LOGINED = [
|
|
f"/{MOD}",
|
|
# Pipelines CRUD
|
|
f"/{MOD}/pipelines/index.ui",
|
|
f"/{MOD}/pipelines/get_pipelines.dspy",
|
|
f"/{MOD}/pipelines/add_pipelines.dspy",
|
|
f"/{MOD}/pipelines/update_pipelines.dspy",
|
|
f"/{MOD}/pipelines/delete_pipelines.dspy",
|
|
# Pipeline Steps CRUD
|
|
f"/{MOD}/pipeline_steps/index.ui",
|
|
f"/{MOD}/pipeline_steps/get_pipeline_steps.dspy",
|
|
f"/{MOD}/pipeline_steps/add_pipeline_steps.dspy",
|
|
f"/{MOD}/pipeline_steps/update_pipeline_steps.dspy",
|
|
f"/{MOD}/pipeline_steps/delete_pipeline_steps.dspy",
|
|
# Pipeline Versions
|
|
f"/{MOD}/pipeline_versions/index.ui",
|
|
f"/{MOD}/pipeline_versions/get_pipeline_versions.dspy",
|
|
f"/{MOD}/pipeline_versions/add_pipeline_versions.dspy",
|
|
f"/{MOD}/pipeline_versions/update_pipeline_versions.dspy",
|
|
f"/{MOD}/pipeline_versions/delete_pipeline_versions.dspy",
|
|
# Pipeline Editor
|
|
f"/{MOD}/pipeline_editor/index.ui",
|
|
f"/{MOD}/pipeline_editor/save_steps.dspy",
|
|
# Data sources
|
|
f"/{MOD}/pipeline_steps/get_pipelines.dspy",
|
|
f"/{MOD}/pipeline_steps/get_step_types.dspy",
|
|
# API
|
|
f"/{MOD}/api/pipeline_publish.dspy",
|
|
f"/{MOD}/api/pipeline_steps_create.dspy",
|
|
f"/{MOD}/api/pipeline_steps_update.dspy",
|
|
f"/{MOD}/api/pipeline_steps_delete.dspy",
|
|
f"/{MOD}/api/pipeline_versions_create.dspy",
|
|
f"/{MOD}/api/pipeline_versions_update.dspy",
|
|
f"/{MOD}/api/pipeline_versions_delete.dspy",
|
|
f"/{MOD}/api/pipelines_create.dspy",
|
|
f"/{MOD}/api/pipelines_update.dspy",
|
|
f"/{MOD}/api/pipelines_delete.dspy",
|
|
]
|
|
|
|
|
|
def main():
|
|
root = os.path.expanduser("~/pipeline")
|
|
if not os.path.isfile(os.path.join(root, "set_role_perm.py")):
|
|
print("ERROR: pipeline root not found")
|
|
sys.exit(1)
|
|
set_perm = os.path.join(root, "set_role_perm.py")
|
|
py = sys.executable
|
|
count = 0
|
|
for role, paths in [("any", PATHS_ANY), ("logined", PATHS_LOGINED)]:
|
|
for path in paths:
|
|
r = subprocess.run([py, set_perm, role, path], capture_output=True, text=True, cwd=root)
|
|
if r.returncode == 0:
|
|
count += 1
|
|
else:
|
|
print(f" WARN: {path} -> {r.stderr.strip()[-80:]}")
|
|
print(f"Registered {count}/{len(PATHS_ANY)+len(PATHS_LOGINED)} paths for {MOD}")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|