Implement tenant announcements and audit log fixes
Some checks failed
linter / quality (push) Has been cancelled
tests / ci (push) Has been cancelled
tests / ui (push) Has been cancelled

This commit is contained in:
Codex Agent
2026-01-02 14:19:46 +01:00
parent 412ecbe691
commit 8f13465415
33 changed files with 1400 additions and 117 deletions

View File

@@ -0,0 +1,19 @@
<?php
namespace App\Enums;
enum TenantAnnouncementAudience: string
{
case ALL = 'all';
case TENANTS = 'tenants';
case SEGMENTS = 'segments';
public function label(): string
{
return match ($this) {
self::ALL => __('Alle Tenants'),
self::TENANTS => __('Ausgewählte Tenants'),
self::SEGMENTS => __('Segmente'),
};
}
}

View File

@@ -0,0 +1,19 @@
<?php
namespace App\Enums;
enum TenantAnnouncementDeliveryStatus: string
{
case QUEUED = 'queued';
case FAILED = 'failed';
case SKIPPED = 'skipped';
public function label(): string
{
return match ($this) {
self::QUEUED => __('Warteschlange'),
self::FAILED => __('Fehlgeschlagen'),
self::SKIPPED => __('Übersprungen'),
};
}
}

View File

@@ -0,0 +1,17 @@
<?php
namespace App\Enums;
enum TenantAnnouncementSegment: string
{
case ACTIVE_PACKAGE = 'active_package';
case ACTIVE_STATUS = 'active_status';
public function label(): string
{
return match ($this) {
self::ACTIVE_PACKAGE => __('Aktives Paket'),
self::ACTIVE_STATUS => __('Aktiv (nicht gesperrt/gelöscht)'),
};
}
}

View File

@@ -0,0 +1,21 @@
<?php
namespace App\Enums;
enum TenantAnnouncementStatus: string
{
case DRAFT = 'draft';
case SCHEDULED = 'scheduled';
case ACTIVE = 'active';
case ARCHIVED = 'archived';
public function label(): string
{
return match ($this) {
self::DRAFT => __('Entwurf'),
self::SCHEDULED => __('Geplant'),
self::ACTIVE => __('Aktiv'),
self::ARCHIVED => __('Archiviert'),
};
}
}