Files
raby/common/Controller/Web/Admin/Equipos.php
2020-05-21 14:46:03 -04:00

59 lines
1.9 KiB
PHP

<?php
namespace ProVM\NotariaRaby\Common\Controller\Web\Admin;
use Psr\Http\Message\ServerRequestInterface as Request;
use Psr\Http\Message\ResponseInterface as Response;
use Slim\Views\Blade as View;
use ProVM\Common\Service\Filemanager;
class Equipos {
public function __invoke(Request $request, Response $response, View $view, Filemanager $filemanager): Response {
$filename = 'equipos.yml';
$equipos = $filemanager->folder('data')->load($filename);
return $view->render($response, 'admin.equipos', compact('equipos'));
}
public function add(Request $request, Response $response, Filemanager $filemanager): Response {
$post = $request->getParsedBody();
$filename = 'equipos.yml';
$equipos = $filemanager->folder('data')->load($filename);
$miembro = (object) [
'nombre' => $post['nombre'],
'email' => $post['email']
];
$equipos[$post['equipo']]->miembros []= $miembro;
$status = $filemanager->folder('data')->save($filename, $equipos);
$output = [
'information' => $post,
'estado' => $status,
'equipos' => $equipos
];
$response->getBody()->write(json_encode($output));
return $response
->withHeader('Content-Type', 'application/json')
->withStatus(201);
}
public function remove(Request $request, Response $response, Filemanager $filemanager): Response {
$post = $request->getParsedBody();
$filename = 'equipos.yml';
$equipos = $filemanager->folder('data')->load($filename);
unset($equipos[$post['equipo']]->miembros[$post['id']]);
$status = $filemanager->folder('data')->save($filename, $equipos);
$output = [
'information' => $post,
'estado' => $status,
'equipos' => $equipos
];
$response->getBody()->write(json_encode($output));
return $response
->withHeader('Content-Type', 'application/json')
->withStatus(201);
}
}