|null $payload * @property int $attempts * @property string|null $last_error * @property Carbon|null $last_attempted_at * @property Carbon|null $created_at */ class ArchivePendingJob extends Model { /** * Nie veröffentlichtes Bild, dessen Sofortlöschung gescheitert ist * (A-10): kein Archiveintrag, sondern die Löschung wird nachgeholt. */ public const EVENT_IMAGE_PURGE = 'image_purge'; /** * Marker `archive_pending_at` aus der Zeit vor den Aufträgen (Deploy * vom 28.09.2026). Der Nachholer wendet darauf die bisherige Heuristik * einmalig an. */ public const EVENT_LEGACY_MARKER = 'legacy_marker'; public const UPDATED_AT = null; protected $fillable = [ 'press_release_id', 'event', 'subject_type', 'subject_id', 'reason_category', 'legal_request_id', 'actor_id', 'note', 'payload', 'attempts', 'last_error', 'last_attempted_at', 'created_at', ]; protected function casts(): array { return [ 'reason_category' => ArchiveReasonCategory::class, 'payload' => 'encrypted:array', 'attempts' => 'integer', 'last_attempted_at' => 'datetime', 'created_at' => 'datetime', ]; } }