58 lines
1.6 KiB
Python
58 lines
1.6 KiB
Python
#!/usr/bin/env python3
|
||
# -*- coding: utf-8 -*-
|
||
"""world_snapshot 模块 RBAC 权限注册脚本(W-04)。"""
|
||
import os
|
||
import sys
|
||
|
||
SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__))
|
||
SAGE_ROOT = None
|
||
for cand in (os.path.join(SCRIPT_DIR, '..', '..', '..'),
|
||
os.path.expanduser('~/repos/sage'),
|
||
os.path.expanduser('~/sage')):
|
||
cand = os.path.abspath(cand)
|
||
if os.path.isdir(os.path.join(cand, 'wwwroot')) and os.path.isdir(os.path.join(cand, 'py3', 'bin')):
|
||
SAGE_ROOT = cand
|
||
break
|
||
if not SAGE_ROOT:
|
||
print('ERROR: sage root not found, skip RBAC registration')
|
||
sys.exit(0)
|
||
|
||
sys.path.insert(0, os.path.join(SAGE_ROOT, 'py3', 'bin'))
|
||
sys.path.insert(0, os.path.join(SAGE_ROOT))
|
||
|
||
try:
|
||
from set_role_perm import set_role_perm # noqa: E402
|
||
except Exception as e: # noqa: BLE001
|
||
print(f'ERROR: cannot import set_role_perm: {e}')
|
||
sys.exit(0)
|
||
|
||
MOD = 'world_snapshot'
|
||
|
||
PATHS_LOGINED = [
|
||
f'/{MOD}',
|
||
f'/{MOD}/index.ui',
|
||
f'/{MOD}/api/snapshot_create.dspy',
|
||
f'/{MOD}/api/snapshot_get.dspy',
|
||
f'/{MOD}/api/snapshot_list.dspy',
|
||
f'/{MOD}/api/snapshot_update.dspy',
|
||
f'/{MOD}/api/snapshot_delete.dspy',
|
||
f'/{MOD}/api/snapshot_restore.dspy',
|
||
f'/{MOD}/api/snapshot_types.dspy',
|
||
f'/{MOD}/api/snapshot_statuses.dspy',
|
||
f'/{MOD}/api/snapshot_worlds.dspy',
|
||
]
|
||
|
||
|
||
def main():
|
||
for path in PATHS_LOGINED:
|
||
try:
|
||
set_role_perm(path, 'logined')
|
||
print(f'OK {path} -> logined')
|
||
except Exception as e: # noqa: BLE001
|
||
print(f'ERR {path}: {e}')
|
||
print('world_snapshot RBAC registration done')
|
||
|
||
|
||
if __name__ == '__main__':
|
||
main()
|