<?php
declare(strict_types=1);
namespace App\Controller\AdminApi;
use App\Traits\SentryNotifyTrait;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
/**
* @Route("/api/admin")
*/
class AdminApiController extends AbstractController
{
use SentryNotifyTrait;
/**
* @Route("/invoice/download/{id}", name="admin_api_invoice_download")
*/
public function downloadAWSFile(string $id): Response
{
return $this->forward('App\Controller\Api\InvoiceController::downloadAWSFile', [
'id' => $id,
'sendLink' => true,
]);
}
/**
* @Route("/{id}/run-procedure", name="admin_api_document_run_procedure")
*/
public function runProcedure(string $id): Response
{
return $this->forward('App\Controller\Admin\DocumentController::runProcedure', [
'id' => $id,
]);
}
/**
* @Route("/organization/{id}/impersonation", name="admin_api_organization_impersonation")
*/
public function impersonation(int $id, Request $request): Response
{
return $this->forward('App\Controller\Admin\OrganizationController::impersonation', [
'id' => $id,
'request' => $request,
'redirect' => false,
]);
}
/**
* @Route("/invoice/{idOrganization}/paid", name="admin_api_invoice_paid")
*/
public function paidInvoice(int $idOrganization): Response
{
return $this->forward('App\Controller\Admin\InvoiceController::paidInvoice', [
'idOrganization' => $idOrganization,
'redirect' => false,
]);
}
}