key = $key; return $this; } /** * Return the request instance being used for this transformer. * * @return \Pterodactyl\Models\APIKey */ public function getKey(): APIKey { return $this->key; } /** * Determine if the API key loaded onto the transformer has permission * to access a different resource. This is used when including other * models on a transformation request. * * @param string $resource * @return bool */ protected function authorize(string $resource): bool { return AdminAcl::check($this->getKey(), $resource, AdminAcl::READ); } /** * Create a new instance of the transformer and pass along the currently * set API key. * * @param string $abstract * @param array $parameters * @return \Pterodactyl\Transformers\Api\Admin\BaseTransformer */ protected function makeTransformer(string $abstract, array $parameters = []): self { /** @var \Pterodactyl\Transformers\Api\Admin\BaseTransformer $transformer */ $transformer = Container::getInstance()->makeWith($abstract, $parameters); $transformer->setKey($this->getKey()); return $transformer; } }