feat(auth): wiki/activity access flags, SESSION_DOMAIN, wiki nav link

This commit is contained in:
Davide Scaini
2026-05-01 21:56:02 +02:00
parent f6e9fe8198
commit 82288a35ea
5 changed files with 161 additions and 59 deletions
+15 -6
View File
@@ -18,6 +18,7 @@ URL: http://localhost:4321
"""
import argparse
import os
import platform
import resource
import shutil
@@ -58,13 +59,15 @@ def init_instance() -> None:
if get_user(db, "dave"):
warn("user 'dave' already exists — skipping")
else:
create_user(db, "dave", "Dave", PASSWORD, is_admin=True)
create_user(db, "dave", "Dave", PASSWORD, is_admin=True,
wiki_access=True, activity_access=True)
ok("admin user 'dave' created")
if get_user(db, "brut"):
warn("user 'brut' already exists — skipping")
else:
create_user(db, "brut", "Brut", PASSWORD, is_admin=False)
create_user(db, "brut", "Brut", PASSWORD, is_admin=False,
wiki_access=True, activity_access=True)
ok("user 'brut' created")
for handle in ("dave", "brut"):
@@ -146,10 +149,11 @@ def start_dev(mobile: bool = False) -> None:
section("Starting bincio dev")
print()
print(" \033[1mCredentials\033[0m")
print(f" dave / {PASSWORD} (admin)")
print(f" brut / {PASSWORD}")
print(f" dave / {PASSWORD} (admin, wiki + activity)")
print(f" brut / {PASSWORD} (wiki + activity)")
print()
print(" \033[1mURL\033[0m http://localhost:4321")
print(" \033[1mURL\033[0m http://localhost:4321")
print(f" \033[1mShared DB\033[0m {DATA_DIR / 'instance.db'}")
print()
print(" Press Ctrl+C to stop.\n")
@@ -157,8 +161,13 @@ def start_dev(mobile: bool = False) -> None:
if mobile:
cmd += ["--api-host", "0.0.0.0"]
env = os.environ.copy()
# Show the wiki link in the nav during local dev (wiki typically lands on 4322
# when activity already holds 4321). Override with WIKI_DEV_URL if needed.
env.setdefault("PUBLIC_WIKI_URL", os.environ.get("WIKI_DEV_URL", "http://localhost:4322"))
try:
subprocess.run(cmd, cwd=PROJECT_DIR)
subprocess.run(cmd, cwd=PROJECT_DIR, env=env)
except KeyboardInterrupt:
pass