presseportale/app
Kevin Adametz 7c5518dc97 Fix: rollenlose aktive Nutzer -> Backfill-Command + Import-Nachlauf
Problem: Ein eingeloggter Nutzer ohne admin/editor/customer-Rolle wird per
redirectUsersTo auf die Startseite geleitet und haengt dort fest. Ursache
sind Alt-Konten, deren Rollen-Zuweisung nie lief (frueher Import bzw. ein
nach dem User-Insert fehlgeschlagener Rollen-Sync).

- Neues Command users:backfill-portal-role (--role, --dry-run): weist aktiven,
  komplett rollenlosen Nutzern die customer-Rolle zu. api-only-Konten haben
  bereits eine Rolle und bleiben unangetastet; inaktive werden uebersprungen.
- legacy:import ruft den Backfill nach dem User-Schritt automatisch auf
  (self-heal, da updateOrCreate + Rollen-Sync nicht atomar sind).

Analyse-Ergebnis nebenbei: In der aktuellen DB war nur genau 1 echter Fall
(bereits gefixt); die zuvor genannten ~167 waren fast alle api-only (gewollt
ohne Portal-Zugriff). Command laeuft daher jetzt sauber auf 0.

Test: BackfillPortalRoleTest (customer-Zuweisung, Rollen-Erhalt bei
customer/api-only, Ueberspringen Inaktiver, dry-run).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-02 09:23:56 +00:00
..
Actions 29-05-2026 Optimierungen Fixes am Code 2026-05-29 12:42:05 +00:00
Console/Commands Fix: rollenlose aktive Nutzer -> Backfill-Command + Import-Nachlauf 2026-07-02 09:23:56 +00:00
Contracts 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
Enums Optimierung Phase 0: Korrektheit & Security 2026-06-19 08:09:02 +00:00
Exceptions Proof-PDF + Extra-PM-Verkauf ueber die Credit-Wallet (Decision-Update 2.1/2.3) 2026-06-17 14:28:08 +00:00
Helpers 19-05-2026 Rebrand Pressekonto, Hub-Flux UI und Legacy-Media-Migration 2026-05-19 16:36:13 +00:00
Http Optimierung 4.3/4.4 (Home): Page-Data-Service + Invokable Controller 2026-06-19 12:14:38 +00:00
Jobs User Panel: Phase-8-Abschluss, Titelbild/Lizenzen/Zeitzonen und KI-Pruef-Pipeline 2026-06-12 08:30:13 +00:00
Listeners Optimierung 3.5: Kleinere Zentralisierungen (VAT, findByEmail, Waehrung, Provisioning) 2026-06-19 11:14:05 +00:00
Livewire Optimierung 5.2 (Teil 1): ProvidesUserFormRules-Concern 2026-06-19 12:41:57 +00:00
Mail 19-05-2026 Rebrand Pressekonto, Hub-Flux UI und Legacy-Media-Migration 2026-05-19 16:36:13 +00:00
Models 5.2: gemeinsamen Firmen-Sync-Kern als User::syncCompaniesWithRoles() gezogen 2026-07-02 08:47:23 +00:00
Observers 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
Policies Proof-PDF + Extra-PM-Verkauf ueber die Credit-Wallet (Decision-Update 2.1/2.3) 2026-06-17 14:28:08 +00:00
Providers Optimierung 3.6: Zugriffs-Gates und getrennte Impersonation-Sperre 2026-06-19 11:20:28 +00:00
Scopes 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
Services Optimierung 5.1: Tabellen-Concerns (Sortierung, Volltext-Heuristik, Stats) 2026-06-19 12:36:48 +00:00
Support Optimierung 4.1: Web-Portal-/Domain-Kontext extrahiert 2026-06-19 11:42:00 +00:00