41 lines
1.1 KiB
PHP
41 lines
1.1 KiB
PHP
<?php
|
|
|
|
namespace App\Models;
|
|
|
|
use App\Models\Concerns\HasUuid;
|
|
use Illuminate\Database\Eloquent\Attributes\Fillable;
|
|
use Illuminate\Database\Eloquent\Model;
|
|
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
|
|
|
#[Fillable(['machine_id', 'provider', 'command_type', 'payload', 'status', 'external_reference', 'correlation_id', 'requested_by_user_id', 'requested_by_supervisor_id', 'sent_at', 'responded_at'])]
|
|
class MachineCommand extends Model
|
|
{
|
|
use HasUuid;
|
|
|
|
protected function casts(): array
|
|
{
|
|
return [
|
|
'command_type' => 'string',
|
|
'payload' => 'array',
|
|
'status' => 'string',
|
|
'sent_at' => 'datetime',
|
|
'responded_at' => 'datetime',
|
|
];
|
|
}
|
|
|
|
public function machine(): BelongsTo
|
|
{
|
|
return $this->belongsTo(Machine::class);
|
|
}
|
|
|
|
public function requestedByUser(): BelongsTo
|
|
{
|
|
return $this->belongsTo(User::class, 'requested_by_user_id');
|
|
}
|
|
|
|
public function requestedBySupervisor(): BelongsTo
|
|
{
|
|
return $this->belongsTo(Supervisor::class, 'requested_by_supervisor_id');
|
|
}
|
|
}
|