mirror of
https://github.com/Karaka-Management/oms-Admin.git
synced 2026-02-13 19:18:41 +00:00
improve unit tests
This commit is contained in:
parent
9e20a90a38
commit
d7ea018c02
|
|
@ -26,6 +26,5 @@ use phpOMS\Stdlib\Base\Enum;
|
||||||
*/
|
*/
|
||||||
abstract class InstallType extends Enum
|
abstract class InstallType extends Enum
|
||||||
{
|
{
|
||||||
public const PERMISSION = 0;
|
public const GROUP = 1;
|
||||||
public const GROUP = 1;
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -269,67 +269,40 @@ class Installer extends InstallerAbstract
|
||||||
public static function installExternal(DatabasePool $dbPool, array $data) : void
|
public static function installExternal(DatabasePool $dbPool, array $data) : void
|
||||||
{
|
{
|
||||||
foreach ($data as $type => $element) {
|
foreach ($data as $type => $element) {
|
||||||
if ($type === InstallType::PERMISSION) {
|
if ($type === InstallType::GROUP) {
|
||||||
self::installPermission($dbPool, $element);
|
|
||||||
} elseif ($type === InstallType::GROUP) {
|
|
||||||
self::installGroup($dbPool, $element);
|
self::installGroup($dbPool, $element);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Install permission
|
|
||||||
*
|
|
||||||
* @param DatabasePool $dbPool Database pool
|
|
||||||
* @param array $data Data to install
|
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*
|
|
||||||
* @since 1.0.0
|
|
||||||
*/
|
|
||||||
public static function installPermission(DatabasePool $dbPool, array $data) : void
|
|
||||||
{
|
|
||||||
$sth = $dbPool->get()->con->prepare(
|
|
||||||
'INSERT INTO `' . $dbPool->get()->prefix . 'permission` (`permission_id`, `permission_name`, `permission_description`) VALUES
|
|
||||||
(:id, :pid, :name, :type, :subtype, :icon, :uri, :target, :from, :order, :parent, :perm);'
|
|
||||||
);
|
|
||||||
|
|
||||||
$sth->bindValue(':id', $data['id'] ?? 0, \PDO::PARAM_INT);
|
|
||||||
$sth->bindValue(':pid', sha1(\str_replace('/', '', $data['pid'] ?? '')), \PDO::PARAM_STR);
|
|
||||||
$sth->bindValue(':name', $data['name'] ?? '', \PDO::PARAM_STR);
|
|
||||||
$sth->bindValue(':type', $data['type'] ?? 1, \PDO::PARAM_INT);
|
|
||||||
$sth->bindValue(':subtype', $data['subtype'] ?? 2, \PDO::PARAM_INT);
|
|
||||||
|
|
||||||
$sth->execute();
|
|
||||||
|
|
||||||
$lastInsertID = $dbPool->get()->con->lastInsertId();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Install group
|
* Install group
|
||||||
*
|
*
|
||||||
* @param DatabasePool $dbPool Database pool
|
* @param DatabasePool $dbPool Database pool
|
||||||
* @param array $data Data to install
|
* @param array $data Data to install
|
||||||
*
|
*
|
||||||
* @return void
|
* @return int
|
||||||
*
|
*
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
*/
|
*/
|
||||||
public static function installGroup(DatabasePool $dbPool, array $data) : void
|
public static function installGroup(DatabasePool $dbPool, array $data) : int
|
||||||
{
|
{
|
||||||
$sth = $dbPool->get()->con->prepare(
|
$sth = $dbPool->get()->con->prepare(
|
||||||
'INSERT INTO `' . $dbPool->get()->prefix . 'group` (`group_id`, `group_name`, `group_description`) VALUES
|
'INSERT INTO `' . $dbPool->get()->prefix . 'group` (
|
||||||
(:id, :pid, :name, :type, :subtype, :icon, :uri, :target, :from, :order, :parent, :perm);'
|
`group_id`, `group_name`, `group_description`, `group_description_raw`, `group_status`, `group_created`)
|
||||||
|
VALUES (:id, :name, :desc, :desc_raw, :status, :created);'
|
||||||
);
|
);
|
||||||
|
|
||||||
$sth->bindValue(':id', $data['id'] ?? 0, \PDO::PARAM_INT);
|
$sth->bindValue(':id', $data['id'] ?? 0, \PDO::PARAM_INT);
|
||||||
$sth->bindValue(':pid', sha1(\str_replace('/', '', $data['pid'] ?? '')), \PDO::PARAM_STR);
|
|
||||||
$sth->bindValue(':name', $data['name'] ?? '', \PDO::PARAM_STR);
|
$sth->bindValue(':name', $data['name'] ?? '', \PDO::PARAM_STR);
|
||||||
$sth->bindValue(':type', $data['type'] ?? 1, \PDO::PARAM_INT);
|
$sth->bindValue(':desc', $data['desc'] ?? '', \PDO::PARAM_STR);
|
||||||
$sth->bindValue(':subtype', $data['subtype'] ?? 2, \PDO::PARAM_INT);
|
$sth->bindValue(':desc_raw', $data['desc_raw'] ?? '', \PDO::PARAM_STR);
|
||||||
|
$sth->bindValue(':status', $data['status'] ?? 1, \PDO::PARAM_INT);
|
||||||
|
$sth->bindValue(':created', (new \DateTime('now'))->format('Y-m-d H:i:s'), \PDO::PARAM_STR);
|
||||||
$sth->execute();
|
$sth->execute();
|
||||||
|
|
||||||
$lastInsertID = $dbPool->get()->con->lastInsertId();
|
$lastInsertID = $dbPool->get()->con->lastInsertId();
|
||||||
|
|
||||||
|
return $lastInsertID;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -25,6 +25,7 @@ use Modules\Admin\Models\GroupMapper;
|
||||||
use Modules\Admin\Models\GroupPermissionMapper;
|
use Modules\Admin\Models\GroupPermissionMapper;
|
||||||
use Modules\Admin\Models\NullGroupPermission;
|
use Modules\Admin\Models\NullGroupPermission;
|
||||||
use Modules\Admin\Models\PermissionState;
|
use Modules\Admin\Models\PermissionState;
|
||||||
|
use Modules\Admin\Models\ModuleStatusUpdateType;
|
||||||
|
|
||||||
use phpOMS\Account\AccountStatus;
|
use phpOMS\Account\AccountStatus;
|
||||||
use phpOMS\Account\AccountType;
|
use phpOMS\Account\AccountType;
|
||||||
|
|
@ -399,7 +400,7 @@ final class Controller extends ModuleAbstract implements WebInterface
|
||||||
*/
|
*/
|
||||||
public function apiSettingsSet(RequestAbstract $request, ResponseAbstract $response, $data = null) : void
|
public function apiSettingsSet(RequestAbstract $request, ResponseAbstract $response, $data = null) : void
|
||||||
{
|
{
|
||||||
if (($data = $request->getData('settings')) === null) {
|
if ($request->getData('settings') === null) {
|
||||||
$data = $request->getLike('(settings_)(.*)');
|
$data = $request->getLike('(settings_)(.*)');
|
||||||
} else {
|
} else {
|
||||||
$data = \json_decode((string) $request->getData('settings'), true);
|
$data = \json_decode((string) $request->getData('settings'), true);
|
||||||
|
|
@ -500,9 +501,7 @@ final class Controller extends ModuleAbstract implements WebInterface
|
||||||
{
|
{
|
||||||
$val = [];
|
$val = [];
|
||||||
if (($val['name'] = empty($request->getData('name')))
|
if (($val['name'] = empty($request->getData('name')))
|
||||||
|| ($val['status'] = ($request->getData('status') === null
|
|| ($val['status'] = !GroupStatus::isValidValue((int) $request->getData('status')))
|
||||||
|| !GroupStatus::isValidValue((int) $request->getData('status'))
|
|
||||||
))
|
|
||||||
) {
|
) {
|
||||||
return $val;
|
return $val;
|
||||||
}
|
}
|
||||||
|
|
@ -638,7 +637,6 @@ final class Controller extends ModuleAbstract implements WebInterface
|
||||||
*/
|
*/
|
||||||
public function apiAccountFind(RequestAbstract $request, ResponseAbstract $response, $data = null) : void
|
public function apiAccountFind(RequestAbstract $request, ResponseAbstract $response, $data = null) : void
|
||||||
{
|
{
|
||||||
$response->getHeader()->set('Content-Type', MimeType::M_JSON . '; charset=utf-8', true);
|
|
||||||
$response->set(
|
$response->set(
|
||||||
$request->getUri()->__toString(),
|
$request->getUri()->__toString(),
|
||||||
\array_values(
|
\array_values(
|
||||||
|
|
@ -834,7 +832,7 @@ final class Controller extends ModuleAbstract implements WebInterface
|
||||||
public function apiModuleStatusUpdate(RequestAbstract $request, ResponseAbstract $response, $data = null) : void
|
public function apiModuleStatusUpdate(RequestAbstract $request, ResponseAbstract $response, $data = null) : void
|
||||||
{
|
{
|
||||||
$module = $request->getData('module');
|
$module = $request->getData('module');
|
||||||
$status = $request->getData('status');
|
$status = (int) $request->getData('status');
|
||||||
|
|
||||||
if ($module === null || $status === null) {
|
if ($module === null || $status === null) {
|
||||||
$response->set('module_stutus_update', null);
|
$response->set('module_stutus_update', null);
|
||||||
|
|
@ -843,25 +841,24 @@ final class Controller extends ModuleAbstract implements WebInterface
|
||||||
}
|
}
|
||||||
|
|
||||||
switch ($status) {
|
switch ($status) {
|
||||||
case 'activate':
|
case ModuleStatusUpdateType::ACTIVATE:
|
||||||
$done = $this->app->moduleManager->activate($module);
|
$done = $module === 'Admin' ? false : $this->app->moduleManager->activate($module);
|
||||||
$msg = 'Module successfully activated.';
|
$msg = $done ? 'Module successfully activated.' : 'Module not activated.';
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case 'deactivate':
|
case ModuleStatusUpdateType::DEACTIVATE:
|
||||||
$done = $this->app->moduleManager->deactivate($module);
|
$done = $module === 'Admin' ? false : $this->app->moduleManager->deactivate($module);
|
||||||
$msg = 'Module successfully deactivated.';
|
$msg = $done ? 'Module successfully deactivated.' : 'Module not deactivated.';
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case 'install':
|
case ModuleStatusUpdateType::INSTALL:
|
||||||
$done = $this->app->moduleManager->install($module);
|
$done = $module === 'Admin' ? false : $this->app->moduleManager->install($module);
|
||||||
$msg = 'Module successfully installed.';
|
$msg = $done ? 'Module successfully installed.' : 'Module not installed.';
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case 'uninstall':
|
case ModuleStatusUpdateType::UNINSTALL:
|
||||||
//$done = $this->app->moduleManager->uninstall($module);
|
$done = $module === 'Admin' ? false : $this->app->moduleManager->uninstall($module);
|
||||||
$done = true;
|
$msg = $done ? 'Module successfully uninstalled.' : 'Module not uninstalled.';
|
||||||
$msg = 'Module successfully uninstalled.';
|
|
||||||
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
|
|
||||||
|
|
@ -131,11 +131,11 @@ class AccountMapper extends DataMapperAbstract
|
||||||
return LoginReturnType::EMPTY_PASSWORD;
|
return LoginReturnType::EMPTY_PASSWORD;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (\password_verify($password, $result['account_password'])) {
|
if (\password_verify($password, $result['account_password'] ?? '')) {
|
||||||
return $result['account_id'];
|
return $result['account_id'];
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($result['account_password_temp'] !== '' && \password_verify($password, $result['account_password_temp'])) {
|
if (!empty($result['account_password_temp']) && \password_verify($password, $result['account_password_temp'] ?? '')) {
|
||||||
$query->update('account')->set(['account_password_temp' => ''])->where('account_login', '=', $login)->execute();
|
$query->update('account')->set(['account_password_temp' => ''])->where('account_login', '=', $login)->execute();
|
||||||
|
|
||||||
return $result['account_id'];
|
return $result['account_id'];
|
||||||
|
|
|
||||||
|
|
@ -81,11 +81,11 @@ class Group extends \phpOMS\Account\Group
|
||||||
/**
|
/**
|
||||||
* Get created by.
|
* Get created by.
|
||||||
*
|
*
|
||||||
* @return int
|
* @return mixed
|
||||||
*
|
*
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
*/
|
*/
|
||||||
public function getCreatedBy() : int
|
public function getCreatedBy()
|
||||||
{
|
{
|
||||||
return $this->createdBy;
|
return $this->createdBy;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
33
Models/ModuleStatusUpdateType.php
Normal file
33
Models/ModuleStatusUpdateType.php
Normal file
|
|
@ -0,0 +1,33 @@
|
||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* Orange Management
|
||||||
|
*
|
||||||
|
* PHP Version 7.2
|
||||||
|
*
|
||||||
|
* @package Modules\Admin
|
||||||
|
* @copyright Dennis Eichhorn
|
||||||
|
* @license OMS License 1.0
|
||||||
|
* @version 1.0.0
|
||||||
|
* @link http://website.orange-management.de
|
||||||
|
*/
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace Modules\Admin\Models;
|
||||||
|
|
||||||
|
use phpOMS\Stdlib\Base\Enum;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Permision state enum.
|
||||||
|
*
|
||||||
|
* @package Modules\Admin
|
||||||
|
* @license OMS License 1.0
|
||||||
|
* @link http://website.orange-management.de
|
||||||
|
* @since 1.0.0
|
||||||
|
*/
|
||||||
|
abstract class ModuleStatusUpdateType extends Enum
|
||||||
|
{
|
||||||
|
public const ACTIVATE = 1;
|
||||||
|
public const DEACTIVATE = 2;
|
||||||
|
public const INSTALL = 3;
|
||||||
|
public const UNINSTALL = 4;
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue
Block a user