$license->uuid ??= (string) Str::uuid()); } protected function casts(): array { return ['status' => LicenseStatus::class, 'features' => 'array', 'starts_at' => 'immutable_datetime', 'expires_at' => 'immutable_datetime', 'grace_until' => 'immutable_datetime']; } public function installation(): BelongsTo { return $this->belongsTo(DeploymentInstallation::class, 'deployment_installation_id'); } public function issuer(): BelongsTo { return $this->belongsTo(User::class, 'issued_by'); } public function events(): HasMany { return $this->hasMany(LicenseEvent::class); } }