Files
reservas/app/Domain/Inventory/Models/SnipeAsset.php

49 lines
1.5 KiB
PHP

<?php
namespace App\Domain\Inventory\Models;
use App\Domain\Reservations\Models\AssetBlock;
use App\Domain\Reservations\Models\ReservationItem;
use Database\Factories\SnipeAssetFactory;
use Illuminate\Database\Eloquent\Attributes\UseFactory;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\HasMany;
#[UseFactory(SnipeAssetFactory::class)]
class SnipeAsset extends Model
{
/** @use HasFactory<SnipeAssetFactory> */
use HasFactory;
protected $fillable = [
'snipe_asset_id', 'asset_tag', 'name', 'serial', 'model_id', 'model_name',
'category_id', 'category_name', 'manufacturer', 'status_id', 'status_name',
'location_id', 'location_name', 'requestable', 'assigned_type', 'assigned_id',
'image_url', 'source_updated_at', 'synced_at', 'content_hash', 'active',
'last_seen_sync_run_id',
];
protected function casts(): array
{
return [
'requestable' => 'boolean',
'active' => 'boolean',
'source_updated_at' => 'datetime',
'synced_at' => 'datetime',
];
}
/** @return HasMany<ReservationItem, $this> */
public function reservationItems(): HasMany
{
return $this->hasMany(ReservationItem::class);
}
/** @return HasMany<AssetBlock, $this> */
public function blocks(): HasMany
{
return $this->hasMany(AssetBlock::class);
}
}