Viewing File: /usr/local/cpanel/whostmgr/docroot/cgi/ncssl/source/src/Controller/RenewController.php

<?php

namespace App\Controller;

use App\Exception\ActivateException;
use App\Model\GetRenewRequestDTO;
use App\Service\Certificate\Activate;
use App\Service\Certificate\CertificateTransfer;
use App\Service\State\StateUser;
use Psr\Log\LoggerInterface;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpKernel\Attribute\MapQueryString;
use Symfony\Component\Routing\Annotation\Route;

class RenewController extends AbstractController
{
    #[Route('renew', name: 'renew', methods: ['GET'])]
    public function index(
        #[MapQueryString] GetRenewRequestDTO $renewRequest,
        Activate $activateService,
        LoggerInterface $logger,
        StateUser $stateUser,
    ): Response
    {
        $logger->notice('Renew have got get request with parameters', (array) $renewRequest);

        $data = new CertificateTransfer(CertificateTransfer::prepareActivateParams($renewRequest));
        $data->setCPanelUser($stateUser->getUser()->getUserIdentifier());

        try {
            $activateService->activate($data, true);
        } catch (ActivateException $exception) {
            return (new Response())->setStatusCode(Response::HTTP_INTERNAL_SERVER_ERROR);
        }

        return (new Response())->setStatusCode(Response::HTTP_NO_CONTENT);
    }
}
Back to Directory File Manager