<?php
namespace Customize\Controller\Api;
use Customize\Service\WordPressService;
use Eccube\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Routing\Annotation\Route;
class WordPressController extends AbstractController
{
/** @var WordPressService */
protected $wordPressService;
public function __construct(
WordPressService $wordPressService
) {
$this->wordPressService = $wordPressService;
}
/**
* WordPressいつくし記事一覧取得API.
*
* @Route(
* path="/api/wordpress/{type}/posts",
* name="api_wordpress_posts",
* methods={"GET"},
* requirements={"type"="itsukushi_special|itsukushi_reading"}
* )
*/
public function index(Request $request, $type)
{
$data = [];
$category = $request->query->get('category', null);
$data['posts'] = $this->wordPressService->getItsukushiPosts(
$type,
$request->query->get('page', 1),
$category
);
$data['count'] = $this->wordPressService->getItsukushiPostCount($type, $category);
$data['categories'] = $this->wordPressService->getItsukushiPostCategories($type);
return $this->json($data);
}
/**
* WordPressいつくし記事詳細取得API.
*
* @Route(
* path="/api/wordpress/{type}/posts/{id}",
* name="api_wordpress_post",
* methods={"GET"},
* requirements={"type"="itsukushi_special|itsukushi_reading"}
* )
*/
public function show(Request $request, $type, $id)
{
$post = $this->wordPressService->getItsukushiPost($type, $id);
return $this->json($post);
}
}