*/ public function toModelAttributes(): array { return [ 'snipe_asset_id' => $this->snipeAssetId, 'asset_tag' => $this->assetTag, 'name' => $this->name, 'serial' => $this->serial, 'model_id' => $this->modelId, 'model_name' => $this->modelName, 'category_id' => $this->categoryId, 'category_name' => $this->categoryName, 'manufacturer' => $this->manufacturer, 'status_id' => $this->statusId, 'status_name' => $this->statusName, 'location_id' => $this->locationId, 'location_name' => $this->locationName, 'requestable' => $this->requestable, 'assigned_type' => $this->assignedType, 'assigned_id' => $this->assignedId, 'image_url' => $this->imageUrl, 'source_updated_at' => $this->sourceUpdatedAt, ]; } public function contentHash(): string { $attributes = $this->toModelAttributes(); $attributes['source_updated_at'] = $this->sourceUpdatedAt?->toIso8601String(); return hash('sha256', json_encode($attributes, JSON_THROW_ON_ERROR | JSON_UNESCAPED_UNICODE)); } }