users migrace má nové sloupce gitea_user_id, gitea_sync_status, gitea_sync_error, gitea_synced_at.
Přidal jsem gitea_provisioning.py, který přes Gitea API vytváří, aktivuje, deaktivuje a synchronizuje účty.
Role viewer Gitea účet nemá; developer a admin účet mají.
Změny role a enable/disable v administraci spouští sync do Gitea.
Admin UI v routes/users.py zobrazuje stav Gitea synchronizace a má ruční Sync Gitea.
Google login po přihlášení dorovnává Gitea stav podle portálového uživatele.
Gitea OAuth login je v portálu vypnutý; endpointy zůstaly, ale vrací hlášku, že se má použít Google.
Lokální login se zobrazuje/povolí jen při explicitním AUTH_MODE=local.
Gitea API token se čte z GITEA_ADMIN_TOKEN, případně fallback GITEA_API_TOKEN nebo GITEA_TOKEN. Podřízené Gitea username je deterministicky portal-{user_id}, portálová tabulka zůstává zdroj pravdy.
Ověření: python -m py_compile prošel pro všechny upravené Python soubory.
This commit is contained in:
JiriUhlir
2026-06-10 09:34:56 +02:00
parent 38edf07ff3
commit b1263edac6
7 changed files with 334 additions and 24 deletions
+8
View File
@@ -67,6 +67,14 @@ def get_gitea_server_url() -> str:
return get_gitea_public_url() or INTERNAL_GITEA_URL
def get_gitea_admin_token() -> str:
return (
read_env_value("GITEA_ADMIN_TOKEN", "")
or read_env_value("GITEA_API_TOKEN", "")
or read_env_value("GITEA_TOKEN", "")
).strip()
def get_gitea_redirect_uri() -> str:
redirect_uri = read_env_value("GITEA_OAUTH_REDIRECT_URI", "").strip()
if redirect_uri: