<?php
namespace App;
use \Kernel\Classes\Auth;
function init_auth($router) {
$router -> linking("GET", "signup", function(){
$uname = $_GET["username"];
$password = $_GET["password"];
$auth = new Auth();
if($auth -> user_name_is_exists($uname)) {
return error_response("signup", "Username already exists");
}
$user = $auth -> signup($uname, $password);
if(!$user) {
return error_response("signup", "Unknown error");
}
return success_response([
"user_id" => $user -> get_id()
]);
});
$router -> linking("GET", "signin", function(){
$uname = $_GET["username"];
$password = $_GET["password"];
$auth = new Auth();
$session = $auth -> signin($uname, $password);
if(!$session) {
return error_response("signin", "Wrong username or password");
}
return success_response([
"session" => [
"token" => $session -> token,
"user" => [
"id" => $session -> user() -> get_id(),
"name" => $session -> user() -> name
]
]
]);
});
$router -> linking("GET", "signout", function(){
$token = sanitize_input($_GET["token"]);
$auth = new Auth();
if(!$auth -> signout($token)) {
return error_response("signout", "Unknown error");
}
return success_response();
});
}
function init_routes_map($router) {
init_auth($router);
}