sage_datamart/scripts/load_path.py

57 lines
1.6 KiB
Python

#!/usr/bin/env python3
"""sage_datamart load_path — register RBAC permissions"""
import os, subprocess
MOD = "sage_datamart"
SAGE_ROOT = os.path.expanduser("~/sage")
PYTHON = os.path.join(SAGE_ROOT, "py3", "bin", "python")
SET_PERM = os.path.join(SAGE_ROOT, "set_role_perm.py")
PATHS_ANY = [
f"/{MOD}/cron/etl_sync.dspy",
f"/{MOD}/cron/etl_aggregate.dspy",
f"/{MOD}/cron/etl_provider_cost.dspy",
]
PATHS_LOGINED = [
f"/{MOD}",
f"/{MOD}/index.ui",
f"/{MOD}/menu.ui",
f"/{MOD}/provider_roi.ui",
f"/{MOD}/api/%",
f"/{MOD}/stat_avg_ttft.ui",
f"/{MOD}/stat_success_rate.ui",
f"/{MOD}/stat_total_calls.ui",
f"/{MOD}/stat_total_users.ui",
f"/{MOD}/stat_fail_calls.ui",
f"/{MOD}/stat_today_usage.ui",
f"/{MOD}/stat_today_amount.ui",
f"/{MOD}/rt_card_calls.ui",
f"/{MOD}/rt_card_amount.ui",
f"/{MOD}/rt_card_users.ui",
f"/{MOD}/rt_card_active.ui",
f"/{MOD}/rt_card_online.ui",
f"/{MOD}/rt_card_success.ui",
f"/{MOD}/rt_card_fail.ui",
f"/{MOD}/sect_model_perf.ui",
f"/{MOD}/sect_currency.ui",
f"/{MOD}/sect_provider_roi.ui",
f"/{MOD}/sect_top_models.ui",
f"/{MOD}/sect_top_users.ui",
f"/{MOD}/sect_top_providers.ui",
f"/{MOD}/sect_user_apikeys.ui",
f"/{MOD}/sect_distributor_financial.ui",
f"/{MOD}/sect_distributor_currency.ui",
f"/{MOD}/sect_customer_currency.ui",
]
def run(role, path):
subprocess.run([PYTHON, SET_PERM, role, path], capture_output=True)
for p in PATHS_ANY:
run("any", p)
for p in PATHS_LOGINED:
run("logined", p)
print(f"[{MOD}] {len(PATHS_ANY)} any + {len(PATHS_LOGINED)} logined paths registered")