presseportale/app/Services/Company
Kevin Adametz 1ccb4a8479 auth/security: API-Firmenzuordnung nur für Mitglieder oder Allowlist, Google-Vorabübernahme geschlossen, gemeinsamer Login-Abschluss (Umsetzungsaudit 29.09.: R-01, K-04, K-07, K-08, B-10)
- R-01: ApiNewsroomAssignment hängt an eine bestehende Firma nur noch Owner,
  Mitglieder oder Nutzer aus NEWSROOM_API_ASSIGNMENT_USER_IDS; Pivot mit
  granted_via = api; Befehl company-memberships:api-assignments (Liste,
  --remove mit Vorschau)
- K-04: OAuth-Verifikation eines offenen Kontos verwirft Passwort,
  remember_token und Sanctum-Tokens; SessionRevocation + Middleware
  EnsureSessionIsNotRevoked widerruft alte Sessions (Redis-tauglich)
- K-08: LoginCompletion für Passwort, Magic Link und Google — last_login_at
  und Anmeldemethode auch nach 2FA, Landeziel über die Challenge, Google
  ohne erzwungenes remember, magic-login ohne guest für eigene Links
- B-10: eigener Magic-Link-Zweck image_confirmation (Migration)
- K-07: legalAcceptanceVersions #[Locked], Versionswechsel beim Absenden
  wird abgelehnt, Gate-Abfragen je Request zwischengespeichert

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 13:09:00 +00:00
..
ApiNewsroomAssignment.php auth/security: API-Firmenzuordnung nur für Mitglieder oder Allowlist, Google-Vorabübernahme geschlossen, gemeinsamer Login-Abschluss (Umsetzungsaudit 29.09.: R-01, K-04, K-07, K-08, B-10) 2026-10-02 13:09:00 +00:00
CompanyAddressClassifier.php api: neue Firmen dem bestehenden Newsroom zuordnen (Roadmap 1a.4) 2026-09-15 10:26:13 +00:00
CompanyMergePlan.php companies: Zusammenführung im Bestand, rückabwickelbar (Roadmap 1a.3) 2026-09-15 08:43:46 +00:00
CompanyMergeReport.php companies: Adress-Klassifizierung persistieren (Roadmap 1a.2, E1 = 3) 2026-09-11 09:11:09 +00:00
CompanyMergeService.php api: neue Firmen dem bestehenden Newsroom zuordnen (Roadmap 1a.4) 2026-09-15 10:26:13 +00:00
CompanyMergeSkip.php companies: Zusammenführung im Bestand, rückabwickelbar (Roadmap 1a.3) 2026-09-15 08:43:46 +00:00
CompanyNameNormalizer.php companies: Links aus Firmennamen normalisieren — API-Eingang und Bestandsbefehl 2026-09-17 09:07:49 +00:00
CompanyProfileCheck.php betrieb: Logs je Thema in Tagesdateien (billing, ki, monitoring, market); Doku: Duplicate-Content-Decision durch Anhang 2 abgelöst 2026-09-18 13:35:42 +00:00
CompanyRemovalService.php web: Entfernung mit 410 Gone als Alternative zur Löschung 2026-09-01 11:06:35 +00:00
MergedNewsroomLookup.php newsroom: Verwaltungszugang „Diesen Newsroom verwalten" (Roadmap 1b.2) 2026-09-15 10:42:20 +00:00
NewsroomClaimService.php mail: adressbezogene Abmeldung fuer Empfaenger ohne Konto (Roadmap 1d.3) 2026-09-16 14:35:47 +00:00