Files
jabali-panel/app/Models/Autoresponder.php
2026-02-02 03:11:45 +02:00

67 lines
1.3 KiB
PHP

<?php
declare(strict_types=1);
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
class Autoresponder extends Model
{
protected $fillable = [
'mailbox_id',
'subject',
'message',
'start_date',
'end_date',
'is_active',
'interval_hours',
];
protected function casts(): array
{
return [
'start_date' => 'date',
'end_date' => 'date',
'is_active' => 'boolean',
'interval_hours' => 'integer',
];
}
public function mailbox(): BelongsTo
{
return $this->belongsTo(Mailbox::class);
}
/**
* Check if the autoresponder is currently active based on dates.
*/
public function isCurrentlyActive(): bool
{
if (!$this->is_active) {
return false;
}
$now = now()->startOfDay();
if ($this->start_date && $now->lt($this->start_date)) {
return false;
}
if ($this->end_date && $now->gt($this->end_date)) {
return false;
}
return true;
}
/**
* Get the email address for this autoresponder.
*/
public function getEmailAttribute(): string
{
return $this->mailbox?->email ?? '';
}
}