<?php namespace App\ServerProviders; use App\Contracts\ServerProvider; use App\Models\Server; use Illuminate\Support\Facades\Storage; abstract class AbstractProvider implements ServerProvider { protected ?Server $server; public function __construct(Server $server = null) { $this->server = $server; } protected function generateKeyPair(): void { generate_key_pair(Storage::disk(config('core.key_pairs_disk'))->path((string) $this->server->id)); } }