22 lines
796 B
PHP
22 lines
796 B
PHP
![]() |
<?php
|
||
|
namespace Incoviba\Controller;
|
||
|
|
||
|
use Psr\Http\Message\ResponseInterface;
|
||
|
use Psr\Http\Message\ServerRequestInterface;
|
||
|
use Incoviba\Common\Alias\View;
|
||
|
use Incoviba\Repository;
|
||
|
|
||
|
class Proyectos
|
||
|
{
|
||
|
public function __invoke(ServerRequestInterface $request, ResponseInterface $response, View $view): ResponseInterface
|
||
|
{
|
||
|
return $view->render($response, 'proyectos.list');
|
||
|
}
|
||
|
public function list(ServerRequestInterface $request, ResponseInterface $response, Repository\Proyecto $proyectoRepository): ResponseInterface
|
||
|
{
|
||
|
$proyectos = $proyectoRepository->fetchAllActive();
|
||
|
$response->getBody()->write(json_encode(['proyectos' => $proyectos, 'total' => count($proyectos)]));
|
||
|
return $response->withHeader('Content-Type', 'application/json');
|
||
|
}
|
||
|
}
|