$schemas * @param Collection $commands */ function __construct( public string $name, public ChannelAuth $auth, public string $url, public string $previewTarget, public Collection $commands, public Collection $schemas, public array $imageFilters, public array $roles, ) { $this->lucentUrl = $url . "/lucent"; $this->filesUrl = $this->makeFilesUrl(); $this->previewTargetUrl = $url . "/" . $previewTarget; } private function makeFilesUrl(): string { $lucentDisk = config("lucent.public_disk"); return match (config("filesystems.disks.$lucentDisk.driver")) { "s3" => config("filesystems.disks.$lucentDisk.endpoint") . "/lucent" . config("filesystems.disks.$lucentDisk.bucket"), "local" => $this->url . "/storage/lucent" . config("filesystems.disks.$lucentDisk.endpoint"), default => "", }; } }