mirror of
https://github.com/Karaka-Management/oms-Admin.git
synced 2026-01-23 02:38:40 +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
|
||||
{
|
||||
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
|
||||
{
|
||||
foreach ($data as $type => $element) {
|
||||
if ($type === InstallType::PERMISSION) {
|
||||
self::installPermission($dbPool, $element);
|
||||
} elseif ($type === InstallType::GROUP) {
|
||||
if ($type === InstallType::GROUP) {
|
||||
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
|
||||
*
|
||||
* @param DatabasePool $dbPool Database pool
|
||||
* @param array $data Data to install
|
||||
*
|
||||
* @return void
|
||||
* @return int
|
||||
*
|
||||
* @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(
|
||||
'INSERT INTO `' . $dbPool->get()->prefix . 'group` (`group_id`, `group_name`, `group_description`) VALUES
|
||||
(:id, :pid, :name, :type, :subtype, :icon, :uri, :target, :from, :order, :parent, :perm);'
|
||||
'INSERT INTO `' . $dbPool->get()->prefix . 'group` (
|
||||
`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(':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->bindValue(':desc', $data['desc'] ?? '', \PDO::PARAM_STR);
|
||||
$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();
|
||||
|
||||
$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\NullGroupPermission;
|
||||
use Modules\Admin\Models\PermissionState;
|
||||
use Modules\Admin\Models\ModuleStatusUpdateType;
|
||||
|
||||
use phpOMS\Account\AccountStatus;
|
||||
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
|
||||
{
|
||||
if (($data = $request->getData('settings')) === null) {
|
||||
if ($request->getData('settings') === null) {
|
||||
$data = $request->getLike('(settings_)(.*)');
|
||||
} else {
|
||||
$data = \json_decode((string) $request->getData('settings'), true);
|
||||
|
|
@ -500,9 +501,7 @@ final class Controller extends ModuleAbstract implements WebInterface
|
|||
{
|
||||
$val = [];
|
||||
if (($val['name'] = empty($request->getData('name')))
|
||||
|| ($val['status'] = ($request->getData('status') === null
|
||||
|| !GroupStatus::isValidValue((int) $request->getData('status'))
|
||||
))
|
||||
|| ($val['status'] = !GroupStatus::isValidValue((int) $request->getData('status')))
|
||||
) {
|
||||
return $val;
|
||||
}
|
||||
|
|
@ -638,7 +637,6 @@ final class Controller extends ModuleAbstract implements WebInterface
|
|||
*/
|
||||
public function apiAccountFind(RequestAbstract $request, ResponseAbstract $response, $data = null) : void
|
||||
{
|
||||
$response->getHeader()->set('Content-Type', MimeType::M_JSON . '; charset=utf-8', true);
|
||||
$response->set(
|
||||
$request->getUri()->__toString(),
|
||||
\array_values(
|
||||
|
|
@ -834,7 +832,7 @@ final class Controller extends ModuleAbstract implements WebInterface
|
|||
public function apiModuleStatusUpdate(RequestAbstract $request, ResponseAbstract $response, $data = null) : void
|
||||
{
|
||||
$module = $request->getData('module');
|
||||
$status = $request->getData('status');
|
||||
$status = (int) $request->getData('status');
|
||||
|
||||
if ($module === null || $status === null) {
|
||||
$response->set('module_stutus_update', null);
|
||||
|
|
@ -843,25 +841,24 @@ final class Controller extends ModuleAbstract implements WebInterface
|
|||
}
|
||||
|
||||
switch ($status) {
|
||||
case 'activate':
|
||||
$done = $this->app->moduleManager->activate($module);
|
||||
$msg = 'Module successfully activated.';
|
||||
case ModuleStatusUpdateType::ACTIVATE:
|
||||
$done = $module === 'Admin' ? false : $this->app->moduleManager->activate($module);
|
||||
$msg = $done ? 'Module successfully activated.' : 'Module not activated.';
|
||||
|
||||
break;
|
||||
case 'deactivate':
|
||||
$done = $this->app->moduleManager->deactivate($module);
|
||||
$msg = 'Module successfully deactivated.';
|
||||
case ModuleStatusUpdateType::DEACTIVATE:
|
||||
$done = $module === 'Admin' ? false : $this->app->moduleManager->deactivate($module);
|
||||
$msg = $done ? 'Module successfully deactivated.' : 'Module not deactivated.';
|
||||
|
||||
break;
|
||||
case 'install':
|
||||
$done = $this->app->moduleManager->install($module);
|
||||
$msg = 'Module successfully installed.';
|
||||
case ModuleStatusUpdateType::INSTALL:
|
||||
$done = $module === 'Admin' ? false : $this->app->moduleManager->install($module);
|
||||
$msg = $done ? 'Module successfully installed.' : 'Module not installed.';
|
||||
|
||||
break;
|
||||
case 'uninstall':
|
||||
//$done = $this->app->moduleManager->uninstall($module);
|
||||
$done = true;
|
||||
$msg = 'Module successfully uninstalled.';
|
||||
case ModuleStatusUpdateType::UNINSTALL:
|
||||
$done = $module === 'Admin' ? false : $this->app->moduleManager->uninstall($module);
|
||||
$msg = $done ? 'Module successfully uninstalled.' : 'Module not uninstalled.';
|
||||
|
||||
break;
|
||||
default:
|
||||
|
|
|
|||
|
|
@ -131,11 +131,11 @@ class AccountMapper extends DataMapperAbstract
|
|||
return LoginReturnType::EMPTY_PASSWORD;
|
||||
}
|
||||
|
||||
if (\password_verify($password, $result['account_password'])) {
|
||||
if (\password_verify($password, $result['account_password'] ?? '')) {
|
||||
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();
|
||||
|
||||
return $result['account_id'];
|
||||
|
|
|
|||
|
|
@ -81,11 +81,11 @@ class Group extends \phpOMS\Account\Group
|
|||
/**
|
||||
* Get created by.
|
||||
*
|
||||
* @return int
|
||||
* @return mixed
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public function getCreatedBy() : int
|
||||
public function getCreatedBy()
|
||||
{
|
||||
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