20 lines
917 B
PHP
20 lines
917 B
PHP
<?php
|
|
|
|
namespace App\Models;
|
|
|
|
use App\Enums\CalendarSyncStatus;
|
|
use App\Models\Concerns\UsesStringIds;
|
|
use Illuminate\Database\Eloquent\Model;
|
|
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
|
|
|
class AppointmentCalendarEvent extends Model
|
|
{
|
|
use UsesStringIds;
|
|
public const CREATED_AT = 'createdAt'; public const UPDATED_AT = 'updatedAt';
|
|
protected $table = 'AppointmentCalendarEvent';
|
|
protected $fillable = ['appointmentId', 'connectionId', 'providerEventId', 'providerCalendarId', 'status', 'lastSyncedAt', 'lastSyncError', 'sourceVersion'];
|
|
protected function casts(): array { return ['status' => CalendarSyncStatus::class, 'lastSyncedAt' => 'datetime']; }
|
|
public function appointment(): BelongsTo { return $this->belongsTo(Appointment::class, 'appointmentId'); }
|
|
public function connection(): BelongsTo { return $this->belongsTo(StaffCalendarConnection::class, 'connectionId'); }
|
|
}
|