PHP-Course/exam/routes/routes.php

38 lines
1.0 KiB
PHP

<?php
// Namespaces
use Pecee\SimpleRouter\SimpleRouter;
use Pecee\Http\Request;
// Error handling
SimpleRouter::error(function (Request $request, Exception $exception) {
$code = $exception->getCode();
response()->httpCode(is_int($code) ? $code : 500)->json(["message" => $exception->getMessage()]);
});
// Index
SimpleRouter::all("/", function () {
redirect("docs", 301);
});
/*
* Open routes
*/
// Login
SimpleRouter::post("/login", [Api\Login\Login::class, "post"]);
/*
* Normal Auth routes
*/
SimpleRouter::group(["middleware" => \Khofmann\Auth\Auth::class], function () {
// Login
SimpleRouter::post("/logout", [Api\Logout\Logout::class, "post"]);
// Get any user
SimpleRouter::get("/user/{id}", [Api\User\User::class, "get"]);
// Update self
SimpleRouter::post("/user/self", [Api\User\User::class, "postSelf"]);
});
/*
* Admin Auth routes
*/
SimpleRouter::group(["middleware" => \Khofmann\Auth\AdminAuth::class], function () {
// Update any user
SimpleRouter::post("/user/{id}", [Api\User\User::class, "post"]);
});