<?php namespace App\Models\Casts; use Illuminate\Contracts\Database\Eloquent\CastsAttributes; use Webauthn\TrustPath\TrustPathLoader; class TrustPath implements CastsAttributes { public function get($model, string $key, $value, array $attributes): ?\Webauthn\TrustPath\TrustPath { return $value !== null ? TrustPathLoader::loadTrustPath(json_decode($value, true)) : null; } public function set($model, string $key, $value, array $attributes) { return json_encode($value); } }