19 lines
898 B
PHP
19 lines
898 B
PHP
<?php
|
|
|
|
namespace App\Models;
|
|
|
|
use App\Enums\{NotificationChannel, NotificationDeliveryStatus};
|
|
use App\Models\Concerns\UsesStringIds;
|
|
use Illuminate\Database\Eloquent\Model;
|
|
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
|
|
|
class NotificationDelivery extends Model
|
|
{
|
|
use UsesStringIds;
|
|
public $timestamps = false;
|
|
protected $table = 'NotificationDelivery';
|
|
protected $fillable = ['notificationId', 'channel', 'status', 'scheduledFor', 'attemptCount', 'lastAttemptedAt', 'providerName', 'providerMessageId', 'failureReason', 'sentAt'];
|
|
protected function casts(): array { return ['channel' => NotificationChannel::class, 'status' => NotificationDeliveryStatus::class, 'scheduledFor' => 'datetime', 'lastAttemptedAt' => 'datetime', 'sentAt' => 'datetime']; }
|
|
public function notification(): BelongsTo { return $this->belongsTo(Notification::class, 'notificationId'); }
|
|
}
|