presseportale/app/Enums
Kevin Adametz 2aebb9d27e companies: Zusammenführung im Bestand, rückabwickelbar (Roadmap 1a.3)
companies:merge führt Firmen mit derselben Firmen-E-Mail zu einem Newsroom
zusammen — nur über Adressen, die 1a.2 als Dublette oder Namensvariante
klassifiziert hat. Es bleibt die Firma mit den meisten jemals
veröffentlichten Meldungen; Meldungen, Kontakte, Nutzer- und
Zahlungsverknüpfungen wandern per company_id, jede Bewegung steht in
company_merge_moves. companies:unmerge spielt sie rückwärts ab.

77 % der Gruppen sind dieselbe Firma auf beiden Portalen (Altsystem: eine
Firma je Portal). Der Überlebende wird dann `both`; die Meldungen behalten
ihr Portal. Der alte Newsroom-Slug führt per 301 zum Überlebenden.
Slug-Kollisionen auf dem anderen Portal werden übersprungen, nicht
umbenannt. Company::slugExists() kennt jetzt `both`.

Dev-DB: 14 142 Adressen, 16 194 Firmen, 13 297 Meldungen in 2 min;
Rückabwicklung in 1:15 min exakt auf den Stand davor.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-15 08:43:46 +00:00
..
ActivityType.php web: Entfernung mit 410 Gone als Alternative zur Löschung 2026-09-01 11:06:35 +00:00
AiImageDeclaration.php KI-Kennzeichnung: 2 Optionen im Submit-Modal + Labels auf Detailseite 2026-07-10 16:51:23 +00:00
AiTextDeclaration.php KI-Kennzeichnung: 2 Optionen im Submit-Modal + Labels auf Detailseite 2026-07-10 16:51:23 +00:00
BoostPlacement.php Boost-Slot-Grenzen (5/3) + Kategorie-Boost zum halben Satz 2026-07-13 12:28:03 +00:00
CompanyAddressClass.php companies: Adress-Klassifizierung persistieren (Roadmap 1a.2, E1 = 3) 2026-09-11 09:11:09 +00:00
CompanyMergeSubject.php companies: Zusammenführung im Bestand, rückabwickelbar (Roadmap 1a.3) 2026-09-15 08:43:46 +00:00
CompanyType.php 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
ContactMessageStatus.php Backend-WIP: Kontakt-Queue, Page-Cache, Validierungs-Feedback, i18n 2026-07-09 15:38:11 +00:00
ContactMessageTopic.php Werbeplaetze reaktiviert: Eigenwerbe-Slots oeffnen das Kontakt-Widget 2026-07-10 16:53:02 +00:00
ConversionEventType.php conversion: Konversionsleiter mit Herkunft auf dem Magic-Link-Token (Block 0) 2026-09-01 13:12:12 +00:00
ConversionSource.php conversion: Konversionsleiter mit Herkunft auf dem Magic-Link-Token (Block 0) 2026-09-01 13:12:12 +00:00
CreditTransactionType.php Credit-Wallet + Ledger + Tier-Preisableitung (Fundament) 2026-06-17 14:16:43 +00:00
EmailNotificationType.php recht: Meldeverfahren v2 Phasen 5+7 — DSGVO-Strukturformular, 10-€-Checkout mit KI-Vorprüfung, Triage & Panel-Modal 2026-07-23 13:02:57 +00:00
ImageLicenseType.php KI-generierte Bilder: eigener Lizenztyp, Anbieter-Bestätigung, Kennzeichnung 2026-06-12 16:04:12 +00:00
InvoiceStatus.php 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
LegalRequestStatus.php WS-3: Recht & Compliance – Rechts-Kern (DSGVO/Persönlichkeitsrecht/Melden + Queue) 2026-06-16 14:20:05 +00:00
LegalRequestType.php recht: Meldeverfahren v2 Phasen 1-4 — Re-Sync-Sperre, Anonymisierung, Magic-Link-Intake, Self-Service-Korrektur 2026-07-22 15:56:34 +00:00
LegalRequestVerificationMethod.php recht: Meldeverfahren v2 Phasen 1-4 — Re-Sync-Sperre, Anonymisierung, Magic-Link-Intake, Self-Service-Korrektur 2026-07-22 15:56:34 +00:00
NewsletterCampaignStatus.php admin: internes Newsletter-Modul mit Filtern, Protokoll und Abmeldung 2026-07-21 09:26:57 +00:00
NewsletterRecipientStatus.php admin: internes Newsletter-Modul mit Filtern, Protokoll und Abmeldung 2026-07-21 09:26:57 +00:00
PaymentOptionType.php 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
PaymentStatus.php 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
Portal.php Optimierung Phase 0: Korrektheit & Security 2026-06-19 08:09:02 +00:00
PressReleaseClassification.php PM-Detailseite: Inhaltspruefung (Gruen/Gelb/Rot) + Qualitaets-Score sichtbar 2026-07-13 14:59:33 +00:00
PressReleaseContentTier.php User Panel: Phase-8-Abschluss, Titelbild/Lizenzen/Zeitzonen und KI-Pruef-Pipeline 2026-06-12 08:30:13 +00:00
PressReleaseEventType.php PM-Tracking: Ereignis-Log fuer Aufrufe + Shares (press_release_events) 2026-07-10 09:56:42 +00:00
PressReleasePlaceholder.php User Panel: Phase-8-Abschluss, Titelbild/Lizenzen/Zeitzonen und KI-Pruef-Pipeline 2026-06-12 08:30:13 +00:00
PressReleaseShareChannel.php PM-Tracking: Ereignis-Log fuer Aufrufe + Shares (press_release_events) 2026-07-10 09:56:42 +00:00
PressReleaseStatus.php 5.3: PressReleaseStatus::badgeClass() zentralisiert + toten statusColor-Code entfernt 2026-07-02 10:36:15 +00:00
RegistrationType.php 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
ReviewCheckSource.php Pruefzaehler + Pruefkontingent (Decision-Update Phase-2 vorgezogen) 2026-06-17 14:19:37 +00:00
SinglePurchaseStatus.php Phase 9D: Tarif-Datenmodell, Cashier und hybride Rechnungskreise STR-/MAN- 2026-06-12 10:15:46 +00:00
SinglePurchaseType.php recht: Meldeverfahren v2 Phasen 5+7 — DSGVO-Strukturformular, 10-€-Checkout mit KI-Vorprüfung, Triage & Panel-Modal 2026-07-23 13:02:57 +00:00
Tier.php Credit-Wallet + Ledger + Tier-Preisableitung (Fundament) 2026-06-17 14:16:43 +00:00
UserPaymentOptionStatus.php 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
VatIdCheckStatus.php User-Panel-Restarbeiten: PM-Guard, Profil-Rework, USt-ID-Prüfung, Buchungspflicht-Adresse 2026-06-12 14:36:18 +00:00
VatTreatment.php USt-Behandlung: Netto-Preise, VatResolver und Steuer-Ausweis im MAN-Kreis 2026-06-12 10:58:43 +00:00