<?php
namespace App\Controller\Backend;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use FOS\RestBundle\Controller\Annotations as Rest;
use FOS\RestBundle\View\View;
use App\Annotation\Log;
use App\Annotation\PermissionAdmin;
use App\Annotation\PermissionPublic;
/**
* @Rest\Route("/api/landing-page")
*/
class LandingpageController extends BaseController
{
/**
* @Rest\Get("/list")
* @PermissionPublic
* @return View
*/
public function getList(Request $request): View
{
return View::create(
$this->currentRepo->getList($request, null),
Response::HTTP_OK
);
}
/**
* @Rest\Post("")
* @PermissionAdmin
* @Log
* @return View
*/
public function add(Request $request): View
{
// Validate the request data
$landingpage = $this->currentService->addNew($request);
return View::create( $landingpage, Response::HTTP_OK);
}
/**
* @Rest\Post("/update")
* @PermissionAdmin
* @Log
* @return View
*/
public function update(Request $request): View
{
return View::create($this->currentService->update(null, $request), Response::HTTP_OK);
}
/**
* @Rest\Delete("/{id}")
* @PermissionAdmin
* @Log
* @return View
*/
public function delete(int $id): View
{
return View::create(
[
'result' => $this->currentService->deleteEntity($id)
],
Response::HTTP_OK
);
}
/**
* @Rest\Get("/{id}")
* @PermissionPublic
* @return View
*/
public function getOne($id): View
{
return View::create($this->currentService->getById($id), Response::HTTP_OK);
}
}