41 lines
1.2 KiB
PHP
41 lines
1.2 KiB
PHP
<?php
|
|
// Namespaces
|
|
use Pecee\SimpleRouter\SimpleRouter;
|
|
use Pecee\Http\Request;
|
|
use Khofmann\Response\Response;
|
|
// Error handling
|
|
SimpleRouter::error(function (Request $request, Exception $exception) {
|
|
$code = $exception->getCode();
|
|
Response::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::patch("/user/self", [Api\User\User::class, "patchSelf"]);
|
|
});
|
|
/*
|
|
* Admin Auth routes
|
|
*/
|
|
SimpleRouter::group(["middleware" => \Khofmann\Auth\AdminAuth::class], function () {
|
|
// Update any user
|
|
SimpleRouter::patch("/user/{id}", [Api\User\User::class, "patch"]);
|
|
// Delete any user
|
|
SimpleRouter::delete("/user/{id}", [Api\User\User::class, "delete"]);
|
|
});
|