<?php

namespace Lesson19;

use Pimple\Container as Pimple;
use Pimple\Psr11\Container;
use Silex\Application;
use Symfony\Component\HttpFoundation\Request;

require_once __DIR__ . '/vendor/autoload.php';

$app = new Application();
$container = new Container($dic = new Pimple());
$dic[ProjectStore::NAME] = ProjectStore::instantiate($container);
$dic[ProjectManager::NAME] = ProjectManager::instantiate($container);

/** @var \Lesson19\ProjectManager $projectsManager */
$projectsManager = $container->get(ProjectManager::NAME);

$app->get('/projects', function () use($projectsManager) {
  return $projectsManager->listAll();
});
$app->post('/projects', function (Request $req) use($projectsManager) {
  $data = json_decode($req->getContent());
  return $projectsManager->createProject($data->name, $data->description);
});


$app->run();