First commit
This commit is contained in:
43
app/Controllers/CategoriesController.php
Normal file
43
app/Controllers/CategoriesController.php
Normal file
@@ -0,0 +1,43 @@
|
||||
<?php
|
||||
|
||||
namespace KamilCraftApi\App\Controllers;
|
||||
|
||||
use KamilCraftApi\App\Models\Category;
|
||||
use KamilCraftApi\Request\Request;
|
||||
use KamilCraftApi\Response;
|
||||
|
||||
class CategoriesController extends Controller
|
||||
{
|
||||
private Category $category;
|
||||
|
||||
public function __construct(Request $request) {
|
||||
parent::__construct();
|
||||
$this->category = new Category($request);
|
||||
}
|
||||
|
||||
public function showWhereName(string $slug): Response
|
||||
{
|
||||
if ( ! ($category = $this->category->getCategoryWhereName($slug)) ) {
|
||||
return (new Response())->json([
|
||||
'message' => 'Not found category'
|
||||
], 404);
|
||||
}
|
||||
return (new Response())->json($category);
|
||||
}
|
||||
|
||||
public function show(int $id): Response
|
||||
{
|
||||
if ( ! ($category = $this->category->getCategory($id)) ) {
|
||||
return (new Response())->json([
|
||||
'message' => 'Not found category'
|
||||
], 404);
|
||||
}
|
||||
return (new Response())->json($category);
|
||||
}
|
||||
|
||||
public function __invoke(): Response
|
||||
{
|
||||
$categories = $this->category;
|
||||
return (new Response())->json($categories());
|
||||
}
|
||||
}
|
21
app/Controllers/Controller.php
Normal file
21
app/Controllers/Controller.php
Normal file
@@ -0,0 +1,21 @@
|
||||
<?php
|
||||
|
||||
namespace KamilCraftApi\App\Controllers;
|
||||
|
||||
use KamilCraftApi\Interfaces\ControllerInterface;
|
||||
use KamilCraftApi\Response;
|
||||
|
||||
class Controller implements ControllerInterface
|
||||
{
|
||||
private Response $response;
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
$this->response = new Response();
|
||||
}
|
||||
|
||||
protected function response(): Response
|
||||
{
|
||||
return $this->response;
|
||||
}
|
||||
}
|
17
app/Controllers/HomeController.php
Normal file
17
app/Controllers/HomeController.php
Normal file
@@ -0,0 +1,17 @@
|
||||
<?php
|
||||
|
||||
namespace KamilCraftApi\App\Controllers;
|
||||
|
||||
use KamilCraftApi\Interfaces\ControllerInterface;
|
||||
use KamilCraftApi\Request\Request;
|
||||
use KamilCraftApi\Response;
|
||||
|
||||
class HomeController implements ControllerInterface
|
||||
{
|
||||
public function __invoke(Request $request): Response
|
||||
{
|
||||
return (new Response())->json((object)[
|
||||
'message' => 'Hello World'
|
||||
]);
|
||||
}
|
||||
}
|
39
app/Controllers/ProjectController.php
Normal file
39
app/Controllers/ProjectController.php
Normal file
@@ -0,0 +1,39 @@
|
||||
<?php
|
||||
|
||||
namespace KamilCraftApi\App\Controllers;
|
||||
|
||||
use KamilCraftApi\App\Models\Project;
|
||||
use KamilCraftApi\Response;
|
||||
|
||||
class ProjectController extends Controller
|
||||
{
|
||||
private Project $project;
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
$this->project = new Project();
|
||||
}
|
||||
|
||||
public function showWhereCategory(string $category): Response
|
||||
{
|
||||
$projects = $this->project->getProjectWhereCategory($category);
|
||||
return (new Response())->json($projects);
|
||||
}
|
||||
|
||||
public function show(int $id): Response
|
||||
{
|
||||
if ( ! ($project = $this->project->getProject($id)) ) {
|
||||
return (new Response())->json([
|
||||
'message' => 'Not found project'
|
||||
], 404);
|
||||
}
|
||||
return (new Response())->json($project);
|
||||
}
|
||||
|
||||
public function __invoke(): Response
|
||||
{
|
||||
$projects = $this->project;
|
||||
return (new Response())->json($projects());
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user