Změny:
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:
+10
-1
@@ -18,7 +18,16 @@ def _user_select_columns(con) -> str:
|
||||
columns = _table_columns(con, "users")
|
||||
enabled_select = "COALESCE(is_enabled, 1) AS is_enabled" if "is_enabled" in columns else "1 AS is_enabled"
|
||||
optional_columns = []
|
||||
for column in ("last_login_at", "auth_provider", "provider_subject", "avatar_url"):
|
||||
for column in (
|
||||
"last_login_at",
|
||||
"auth_provider",
|
||||
"provider_subject",
|
||||
"avatar_url",
|
||||
"gitea_user_id",
|
||||
"gitea_sync_status",
|
||||
"gitea_sync_error",
|
||||
"gitea_synced_at",
|
||||
):
|
||||
if column in columns:
|
||||
optional_columns.append(column)
|
||||
else:
|
||||
|
||||
Reference in New Issue
Block a user