<?php
namespace App\Controller\Endpoint;
use App\Controller\AbstractClass\AbstractObfuscatorController;
use App\Service\AdvertisingManagement;
use App\Service\ObfuscatorService;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\RequestStack;
use Symfony\Component\HttpFoundation\Response;
/**
* Class ObfuscatorController
*/
class ObfuscatorController extends AbstractObfuscatorController
{
private string $class;
private ?Request $request = null;
public function __construct(AdvertisingManagement $advertiserService, RequestStack $requestStack)
{
$this->request = $requestStack->getCurrentRequest();
$advertiser = $advertiserService->getCurrentAdvertiser();
$className = (new \ReflectionClass($this))->getShortName();
$this->class = 'App\\Controller\\Advertiser\\Generic\\Generic' . $className;
if (method_exists($advertiser, 'getRef') && class_exists('App\\Controller\\Advertiser\\' . $advertiser . '\\' . $advertiser->getRef() . $className)) {
$this->class = 'App\\Controller\\Advertiser\\' . $advertiser . '\\' . $advertiser->getRef() . $className;
}
}
#[Route(ObfuscatorService::ROUTE . '{uuid}', name: 'obfuscator_access_file')]
public function accessFiles(string $uuid): Response
{
return $this->forward($this->class . '::' . __FUNCTION__, $this->request->attributes->get('_route_params'));
}
}