mirror of
https://github.com/Karaka-Management/oms-Admin.git
synced 2026-02-14 03:28:41 +00:00
draft login, forgott end points
This commit is contained in:
parent
50d09e2ae3
commit
00fe4a3acf
|
|
@ -6,6 +6,33 @@ use phpOMS\Account\PermissionType;
|
||||||
use phpOMS\Router\RouteVerb;
|
use phpOMS\Router\RouteVerb;
|
||||||
|
|
||||||
return [
|
return [
|
||||||
|
'^.*/login(\?.*|$)' => [
|
||||||
|
[
|
||||||
|
'dest' => '\Modules\Admin\Controller\ApiController:apiLogin',
|
||||||
|
'verb' => RouteVerb::SET,
|
||||||
|
'permission' => [
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
'^.*/logout(\?.*|$)' => [
|
||||||
|
[
|
||||||
|
'dest' => '\Modules\Admin\Controller\ApiController:apiLogout',
|
||||||
|
'verb' => RouteVerb::SET,
|
||||||
|
'permission' => [
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
'^.*/forgott(\?.*|$)' => [
|
||||||
|
[
|
||||||
|
'dest' => '\Modules\Admin\Controller\ApiController:apiForgott',
|
||||||
|
'verb' => RouteVerb::SET,
|
||||||
|
'permission' => [
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
'^.*/admin/settings(\?.*|$)' => [
|
'^.*/admin/settings(\?.*|$)' => [
|
||||||
[
|
[
|
||||||
'dest' => '\Modules\Admin\Controller\ApiController:apiSettingsSet',
|
'dest' => '\Modules\Admin\Controller\ApiController:apiSettingsSet',
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,15 @@ use phpOMS\Account\PermissionType;
|
||||||
use phpOMS\Router\RouteVerb;
|
use phpOMS\Router\RouteVerb;
|
||||||
|
|
||||||
return [
|
return [
|
||||||
|
'^.*/forgott.*$' => [
|
||||||
|
[
|
||||||
|
'dest' => '\Modules\Admin\Controller\BackendController:viewForgott',
|
||||||
|
'verb' => RouteVerb::GET,
|
||||||
|
'permission' => [
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
'^.*/admin/settings/general.*$' => [
|
'^.*/admin/settings/general.*$' => [
|
||||||
[
|
[
|
||||||
'dest' => '\Modules\Admin\Controller\BackendController:viewSettingsGeneral',
|
'dest' => '\Modules\Admin\Controller\BackendController:viewSettingsGeneral',
|
||||||
|
|
|
||||||
|
|
@ -54,6 +54,10 @@ use phpOMS\Uri\HttpUri;
|
||||||
use phpOMS\Utils\Parser\Markdown\Markdown;
|
use phpOMS\Utils\Parser\Markdown\Markdown;
|
||||||
use phpOMS\Validation\Network\Email;
|
use phpOMS\Validation\Network\Email;
|
||||||
use phpOMS\Version\Version;
|
use phpOMS\Version\Version;
|
||||||
|
use phpOMS\Auth\LoginReturnType;
|
||||||
|
use phpOMS\Model\Message\Notify;
|
||||||
|
use phpOMS\Model\Message\Reload;
|
||||||
|
use phpOMS\Model\Message\NotifyType;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Admin controller class.
|
* Admin controller class.
|
||||||
|
|
@ -73,6 +77,83 @@ use phpOMS\Version\Version;
|
||||||
*/
|
*/
|
||||||
final class ApiController extends Controller
|
final class ApiController extends Controller
|
||||||
{
|
{
|
||||||
|
/**
|
||||||
|
* Api method to login
|
||||||
|
*
|
||||||
|
* @param RequestAbstract $request Request
|
||||||
|
* @param ResponseAbstract $response Response
|
||||||
|
* @param mixed $data Generic data
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*
|
||||||
|
* @api
|
||||||
|
*
|
||||||
|
* @since 1.0.0
|
||||||
|
*/
|
||||||
|
public function apiLogin(RequestAbstract $request, ResponseAbstract $response, $data = null) : void
|
||||||
|
{
|
||||||
|
$response->getHeader()->set('Content-Type', MimeType::M_JSON . '; charset=utf-8', true);
|
||||||
|
|
||||||
|
$login = AccountMapper::login((string) ($request->getData('user') ?? ''), (string) ($request->getData('pass') ?? ''));
|
||||||
|
|
||||||
|
if ($login >= LoginReturnType::OK) {
|
||||||
|
$this->app->sessionManager->set('UID', $login, true);
|
||||||
|
$this->app->sessionManager->save();
|
||||||
|
$response->set($request->getUri()->__toString(), new Reload());
|
||||||
|
} else {
|
||||||
|
$response->set($request->getUri()->__toString(), new Notify(
|
||||||
|
'Login failed due to wrong login information',
|
||||||
|
NotifyType::INFO
|
||||||
|
));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Api method to login
|
||||||
|
*
|
||||||
|
* @param RequestAbstract $request Request
|
||||||
|
* @param ResponseAbstract $response Response
|
||||||
|
* @param mixed $data Generic data
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*
|
||||||
|
* @api
|
||||||
|
*
|
||||||
|
* @since 1.0.0
|
||||||
|
*/
|
||||||
|
public function apiLogout(RequestAbstract $request, ResponseAbstract $response, $data = null) : void
|
||||||
|
{
|
||||||
|
$response->getHeader()->set('Content-Type', MimeType::M_JSON . '; charset=utf-8', true);
|
||||||
|
|
||||||
|
$this->app->sessionManager->remove('UID');
|
||||||
|
$this->app->sessionManager->save();
|
||||||
|
|
||||||
|
$response->getHeader()->set('Content-Type', MimeType::M_JSON . '; charset=utf-8', true);
|
||||||
|
$response->set($request->getUri()->__toString(), [
|
||||||
|
'status' => NotificationLevel::OK,
|
||||||
|
'title' => 'Logout successfull',
|
||||||
|
'message' => 'You are redirected to the login page',
|
||||||
|
'response' => null,
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Api method to login
|
||||||
|
*
|
||||||
|
* @param RequestAbstract $request Request
|
||||||
|
* @param ResponseAbstract $response Response
|
||||||
|
* @param mixed $data Generic data
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*
|
||||||
|
* @api
|
||||||
|
*
|
||||||
|
* @since 1.0.0
|
||||||
|
*/
|
||||||
|
public function apiForgott(RequestAbstract $request, ResponseAbstract $response, $data = null) : void
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Api method to get settings
|
* Api method to get settings
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -45,6 +45,22 @@ use phpOMS\Views\View;
|
||||||
*/
|
*/
|
||||||
final class BackendController extends Controller
|
final class BackendController extends Controller
|
||||||
{
|
{
|
||||||
|
/**
|
||||||
|
* Method which shows the password forgotten
|
||||||
|
*
|
||||||
|
* @param RequestAbstract $request Request
|
||||||
|
* @param ResponseAbstract $response Response
|
||||||
|
* @param mixed $data Generic data
|
||||||
|
*
|
||||||
|
* @return RenderableInterface Response can be rendered
|
||||||
|
*
|
||||||
|
* @since 1.0.0
|
||||||
|
*/
|
||||||
|
public function viewForgott(RequestAbstract $request, ResponseAbstract $response, $data = null) : RenderableInterface
|
||||||
|
{
|
||||||
|
return new View();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Method which generates the general settings view.
|
* Method which generates the general settings view.
|
||||||
*
|
*
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user