mirror of
https://github.com/Karaka-Management/oms-Admin.git
synced 2026-01-11 13:38:39 +00:00
new datamapper mostly implemented
This commit is contained in:
parent
44dfb31185
commit
2a764a1545
|
|
@ -17,11 +17,13 @@ namespace Modules\Admin\Admin;
|
|||
use Model\Setting;
|
||||
use Model\SettingMapper;
|
||||
use Model\SettingsEnum;
|
||||
use Modules\Admin\Models\LocalizationMapper;
|
||||
use phpOMS\Application\ApplicationAbstract;
|
||||
use phpOMS\Config\SettingsInterface;
|
||||
use phpOMS\DataStorage\Database\Connection\SQLiteConnection;
|
||||
use phpOMS\DataStorage\Database\DatabasePool;
|
||||
use phpOMS\DataStorage\Database\Query\Builder;
|
||||
use phpOMS\Localization\Localization;
|
||||
use phpOMS\Message\Mail\SubmitType;
|
||||
use phpOMS\Module\InstallerAbstract;
|
||||
use phpOMS\Module\ModuleInfo;
|
||||
|
|
@ -74,27 +76,27 @@ final class Installer extends InstallerAbstract
|
|||
**/
|
||||
private static function installDefaultSettings() : void
|
||||
{
|
||||
SettingMapper::create(new Setting(0, SettingsEnum::PASSWORD_PATTERN, ''));
|
||||
SettingMapper::create(new Setting(0, SettingsEnum::LOGIN_TRIES, '3', '\\d+'));
|
||||
SettingMapper::create(new Setting(0, SettingsEnum::LOGIN_TIMEOUT, '3', '\\d+'));
|
||||
SettingMapper::create(new Setting(0, SettingsEnum::PASSWORD_INTERVAL, '90', '\\d+'));
|
||||
SettingMapper::create(new Setting(0, SettingsEnum::PASSWORD_HISTORY, '3', '\\d+'));
|
||||
SettingMapper::create(new Setting(0, SettingsEnum::LOGGING_STATUS, '1', '[0-3]'));
|
||||
SettingMapper::create(new Setting(0, SettingsEnum::LOGGING_PATH, ''));
|
||||
SettingMapper::create(new Setting(0, SettingsEnum::DEFAULT_ORGANIZATION, '1', '\\d+'));
|
||||
SettingMapper::create(new Setting(0, SettingsEnum::LOGIN_STATUS, '1', '[0-3]'));
|
||||
SettingMapper::create(new Setting(0, SettingsEnum::DEFAULT_LOCALIZATION, '1', '\\d+'));
|
||||
SettingMapper::create(new Setting(0, SettingsEnum::MAIL_SERVER_ADDR, 'admin@orange-management.email', "(?:[a-z0-9!#$%&'*+\/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+\/=?^_`{|}~-]+)*|\"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*\")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9]))\.){3}(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9])|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])", module: 'Admin'));
|
||||
SettingMapper::create(new Setting(0, SettingsEnum::MAIL_SERVER_TYPE, SubmitType::MAIL, module: 'Admin'));
|
||||
SettingMapper::create(new Setting(0, SettingsEnum::MAIL_SERVER_USER, '', module: 'Admin'));
|
||||
SettingMapper::create(new Setting(0, SettingsEnum::MAIL_SERVER_PASS, '', module: 'Admin'));
|
||||
SettingMapper::create(new Setting(0, SettingsEnum::MAIL_SERVER_CERT, '', module: 'Admin'));
|
||||
SettingMapper::create(new Setting(0, SettingsEnum::MAIL_SERVER_KEY, '', module: 'Admin'));
|
||||
SettingMapper::create(new Setting(0, SettingsEnum::MAIL_SERVER_KEYPASS, '', module: 'Admin'));
|
||||
SettingMapper::create(new Setting(0, SettingsEnum::MAIL_SERVER_TLS, (string) false, module: 'Admin'));
|
||||
SettingMapper::create()->execute(new Setting(0, SettingsEnum::PASSWORD_PATTERN, ''));
|
||||
SettingMapper::create()->execute(new Setting(0, SettingsEnum::LOGIN_TRIES, '3', '\\d+'));
|
||||
SettingMapper::create()->execute(new Setting(0, SettingsEnum::LOGIN_TIMEOUT, '3', '\\d+'));
|
||||
SettingMapper::create()->execute(new Setting(0, SettingsEnum::PASSWORD_INTERVAL, '90', '\\d+'));
|
||||
SettingMapper::create()->execute(new Setting(0, SettingsEnum::PASSWORD_HISTORY, '3', '\\d+'));
|
||||
SettingMapper::create()->execute(new Setting(0, SettingsEnum::LOGGING_STATUS, '1', '[0-3]'));
|
||||
SettingMapper::create()->execute(new Setting(0, SettingsEnum::LOGGING_PATH, ''));
|
||||
SettingMapper::create()->execute(new Setting(0, SettingsEnum::DEFAULT_ORGANIZATION, '1', '\\d+'));
|
||||
SettingMapper::create()->execute(new Setting(0, SettingsEnum::LOGIN_STATUS, '1', '[0-3]'));
|
||||
SettingMapper::create()->execute(new Setting(0, SettingsEnum::DEFAULT_LOCALIZATION, '1', '\\d+'));
|
||||
SettingMapper::create()->execute(new Setting(0, SettingsEnum::MAIL_SERVER_ADDR, 'admin@orange-management.email', "(?:[a-z0-9!#$%&'*+\/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+\/=?^_`{|}~-]+)*|\"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*\")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9]))\.){3}(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9])|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])", module: 'Admin'));
|
||||
SettingMapper::create()->execute(new Setting(0, SettingsEnum::MAIL_SERVER_TYPE, SubmitType::MAIL, module: 'Admin'));
|
||||
SettingMapper::create()->execute(new Setting(0, SettingsEnum::MAIL_SERVER_USER, '', module: 'Admin'));
|
||||
SettingMapper::create()->execute(new Setting(0, SettingsEnum::MAIL_SERVER_PASS, '', module: 'Admin'));
|
||||
SettingMapper::create()->execute(new Setting(0, SettingsEnum::MAIL_SERVER_CERT, '', module: 'Admin'));
|
||||
SettingMapper::create()->execute(new Setting(0, SettingsEnum::MAIL_SERVER_KEY, '', module: 'Admin'));
|
||||
SettingMapper::create()->execute(new Setting(0, SettingsEnum::MAIL_SERVER_KEYPASS, '', module: 'Admin'));
|
||||
SettingMapper::create()->execute(new Setting(0, SettingsEnum::MAIL_SERVER_TLS, (string) false, module: 'Admin'));
|
||||
|
||||
$l11n = Localization::fromLanguage($request->getData('defaultlang'), $request->getData('defaultcountry') ?? '*');
|
||||
LocalizationMapper::create($l11n);
|
||||
$l11n = Localization::fromLanguage('en');
|
||||
LocalizationMapper::create()->execute($l11n);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -63,7 +63,7 @@ echo $this->getData('nav')->render();
|
|||
<div class="form-group">
|
||||
<label for="iOname"><?= $this->getHtml('OrganizationName'); ?></label>
|
||||
<select id="iOname" name="settings_1000000009">
|
||||
<?php $unit = UnitMapper::get((int) $generalSettings[1000000009]->content); ?>
|
||||
<?php $unit = UnitMapper::get()->where('id', (int) $generalSettings[1000000009]->content)->execute(); ?>
|
||||
<option value="<?= $unit->getId(); ?>"><?= $this->printHtml($unit->name); ?>
|
||||
</select>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -14,7 +14,6 @@ declare(strict_types=1);
|
|||
|
||||
namespace Modules\Admin\Controller;
|
||||
|
||||
use Model\App;
|
||||
use Model\SettingsEnum;
|
||||
use Modules\Admin\Models\Account;
|
||||
use Modules\Admin\Models\AccountMapper;
|
||||
|
|
@ -51,6 +50,7 @@ use phpOMS\Message\Http\RequestStatusCode;
|
|||
use phpOMS\Message\Http\Rest;
|
||||
use phpOMS\Message\Mail\Email;
|
||||
use phpOMS\Message\Mail\MailHandler;
|
||||
use phpOMS\Message\Mail\Smtp;
|
||||
use phpOMS\Message\Mail\SubmitType;
|
||||
use phpOMS\Message\NotificationLevel;
|
||||
use phpOMS\Message\RequestAbstract;
|
||||
|
|
@ -61,12 +61,12 @@ use phpOMS\Model\Message\NotifyType;
|
|||
use phpOMS\Model\Message\Reload;
|
||||
use phpOMS\Module\ModuleInfo;
|
||||
use phpOMS\Module\ModuleStatus;
|
||||
use phpOMS\System\File\Local\Directory;
|
||||
use phpOMS\System\File\Local\File;
|
||||
use phpOMS\System\MimeType;
|
||||
use phpOMS\Uri\HttpUri;
|
||||
use phpOMS\Uri\UriFactory;
|
||||
use phpOMS\Utils\Parser\Markdown\Markdown;
|
||||
use phpOMS\Utils\RnG\StringUtils as StringRng;
|
||||
use phpOMS\Utils\StringUtils;
|
||||
use phpOMS\Validation\Network\Email as EmailValidator;
|
||||
use phpOMS\Version\Version;
|
||||
|
|
@ -164,7 +164,7 @@ final class ApiController extends Controller
|
|||
);
|
||||
|
||||
$handler = new MailHandler();
|
||||
$handler->setMailer((int) ($emailSettings[SettingsEnum::MAIL_SERVER_TYPE] ?? SubmitType::MAIL));
|
||||
$handler->setMailer($emailSettings[SettingsEnum::MAIL_SERVER_TYPE] ?? SubmitType::MAIL);
|
||||
$handler->useAutoTLS = (bool) ($emailSettings[SettingsEnum::MAIL_SERVER_TLS] ?? false);
|
||||
|
||||
if ((int) ($emailSettings[SettingsEnum::MAIL_SERVER_TYPE] ?? SubmitType::MAIL) === SubmitType::SMTP) {
|
||||
|
|
@ -193,7 +193,7 @@ final class ApiController extends Controller
|
|||
*/
|
||||
public function apiForgot(RequestAbstract $request, ResponseAbstract $response, $data = null) : void
|
||||
{
|
||||
$account = AccountMapper::getBy((string) $request->getData('login'), 'login');
|
||||
$account = AccountMapper::get()->where('login', (string) $request->getData('login'))->execute();
|
||||
$forgotten = $this->app->appSettings->get(
|
||||
names: [SettingsEnum::LOGIN_FORGOTTEN_DATE, SettingsEnum::LOGIN_FORGOTTEN_COUNT],
|
||||
module: self::NAME,
|
||||
|
|
@ -311,10 +311,10 @@ final class ApiController extends Controller
|
|||
return;
|
||||
}
|
||||
|
||||
$account = AccountMapper::get((int) $request->getData('user'));
|
||||
$account->generatePassword($pass = StringUtils::generateString(10, 14, '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()_-+=/\\{}<>?'));
|
||||
$account = AccountMapper::get()->where('id', (int) $request->getData('user'))->execute();
|
||||
$account->generatePassword($pass = StringRng::generateString(10, 14, '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()_-+=/\\{}<>?'));
|
||||
|
||||
AccountMapper::update($account);
|
||||
AccountMapper::update()->execute($account);
|
||||
|
||||
$emailSettings = $this->app->appSettings->get(
|
||||
names: [
|
||||
|
|
@ -493,13 +493,13 @@ final class ApiController extends Controller
|
|||
}
|
||||
|
||||
/** @var Localization $l11n */
|
||||
$l11n = AccountMapper::get($accountId)->l11n;
|
||||
$l11n = AccountMapper::get()->where('id', $accountId)->execute()->l11n;
|
||||
|
||||
if ((bool) ($request->getData('load') ?? false)) {
|
||||
$locale = \explode('_', $request->getData('localization_load'));
|
||||
$l11n->loadFromLanguage($locale[0], $locale[1]);
|
||||
|
||||
LocalizationMapper::update($l11n);
|
||||
LocalizationMapper::update()->execute($l11n);
|
||||
|
||||
$this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Localization', 'Localization successfully modified', $l11n);
|
||||
|
||||
|
|
@ -594,7 +594,7 @@ final class ApiController extends Controller
|
|||
]
|
||||
);
|
||||
|
||||
LocalizationMapper::update($l11n);
|
||||
LocalizationMapper::update()->execute($l11n);
|
||||
|
||||
$this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Localization', 'Localization successfully modified', $l11n);
|
||||
}
|
||||
|
|
@ -708,7 +708,7 @@ final class ApiController extends Controller
|
|||
*/
|
||||
public function apiGroupGet(RequestAbstract $request, ResponseAbstract $response, $data = null) : void
|
||||
{
|
||||
$group = GroupMapper::get((int) $request->getData('id'));
|
||||
$group = GroupMapper::get()->where('id', (int) $request->getData('id'))->execute();
|
||||
$this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Group', 'Group successfully returned', $group);
|
||||
}
|
||||
|
||||
|
|
@ -728,7 +728,7 @@ final class ApiController extends Controller
|
|||
public function apiGroupUpdate(RequestAbstract $request, ResponseAbstract $response, $data = null) : void
|
||||
{
|
||||
/** @var Group $old */
|
||||
$old = clone GroupMapper::get((int) $request->getData('id'));
|
||||
$old = clone GroupMapper::get()->where('id', (int) $request->getData('id'))->execute();
|
||||
$new = $this->updateGroupFromRequest($request);
|
||||
$this->updateModel($request->header->account, $old, $new, GroupMapper::class, 'group', $request->getOrigin());
|
||||
$this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Group', 'Group successfully updated', $new);
|
||||
|
|
@ -745,7 +745,7 @@ final class ApiController extends Controller
|
|||
*/
|
||||
private function updateGroupFromRequest(RequestAbstract $request) : Group
|
||||
{
|
||||
$group = GroupMapper::get((int) $request->getData('id'));
|
||||
$group = GroupMapper::get()->where('id', (int) $request->getData('id'))->execute();
|
||||
$group->name = (string) ($request->getData('name') ?? $group->name);
|
||||
$group->setStatus((int) ($request->getData('status') ?? $group->getStatus()));
|
||||
$group->description = Markdown::parse((string) ($request->getData('description') ?? $group->descriptionRaw));
|
||||
|
|
@ -845,7 +845,7 @@ final class ApiController extends Controller
|
|||
return;
|
||||
}
|
||||
|
||||
$group = GroupMapper::get((int) $request->getData('id'));
|
||||
$group = GroupMapper::get()->where('id', (int) $request->getData('id'))->execute();
|
||||
$this->deleteModel($request->header->account, $group, GroupMapper::class, 'group', $request->getOrigin());
|
||||
$this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Group', 'Group successfully deleted', $group);
|
||||
}
|
||||
|
|
@ -869,7 +869,7 @@ final class ApiController extends Controller
|
|||
$response->set(
|
||||
$request->uri->__toString(),
|
||||
\array_values(
|
||||
GroupMapper::find((string) ($request->getData('search') ?? ''))
|
||||
GroupMapper::getAll()->where('name', '%' . ($request->getData('search') ?? '') . '%', 'LIKE')->execute()
|
||||
)
|
||||
);
|
||||
}
|
||||
|
|
@ -890,7 +890,7 @@ final class ApiController extends Controller
|
|||
public function apiAccountGet(RequestAbstract $request, ResponseAbstract $response, $data = null) : void
|
||||
{
|
||||
/** @var Account $account */
|
||||
$account = AccountMapper::get((int) $request->getData('id'));
|
||||
$account = AccountMapper::get()->where('id', (int) $request->getData('id'))->execute();
|
||||
$this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Account', 'Account successfully returned', $account);
|
||||
}
|
||||
|
||||
|
|
@ -913,7 +913,13 @@ final class ApiController extends Controller
|
|||
$response->set(
|
||||
$request->uri->__toString(),
|
||||
\array_values(
|
||||
AccountMapper::find((string) ($request->getData('search') ?? ''))
|
||||
AccountMapper::getAll()
|
||||
->where('login', '%' . ($request->getData('search') ?? '') . '%', 'LIKE')
|
||||
->where('email', '%' . ($request->getData('search') ?? '') . '%', 'LIKE', 'OR')
|
||||
->where('name1', '%' . ($request->getData('search') ?? '') . '%', 'LIKE', 'OR')
|
||||
->where('name2', '%' . ($request->getData('search') ?? '') . '%', 'LIKE', 'OR')
|
||||
->where('name3', '%' . ($request->getData('search') ?? '') . '%', 'LIKE', 'OR')
|
||||
->execute()
|
||||
)
|
||||
);
|
||||
}
|
||||
|
|
@ -934,10 +940,18 @@ final class ApiController extends Controller
|
|||
public function apiAccountGroupFind(RequestAbstract $request, ResponseAbstract $response, $data = null) : void
|
||||
{
|
||||
/** @var Account[] $accounts */
|
||||
$accounts = \array_values(AccountMapper::find((string) ($request->getData('search') ?? '')));
|
||||
$accounts = \array_values(
|
||||
AccountMapper::getAll()
|
||||
->where('login', '%' . ($request->getData('search') ?? '') . '%', 'LIKE')
|
||||
->where('email', '%' . ($request->getData('search') ?? '') . '%', 'LIKE', 'OR')
|
||||
->where('name1', '%' . ($request->getData('search') ?? '') . '%', 'LIKE', 'OR')
|
||||
->where('name2', '%' . ($request->getData('search') ?? '') . '%', 'LIKE', 'OR')
|
||||
->where('name3', '%' . ($request->getData('search') ?? '') . '%', 'LIKE', 'OR')
|
||||
->execute()
|
||||
);
|
||||
|
||||
/** @var Group[] $groups */
|
||||
$groups = \array_values(GroupMapper::find((string) ($request->getData('search') ?? '')));
|
||||
$groups = \array_values(GroupMapper::getAll()->where('name', '%' . ($request->getData('search') ?? '') . '%', 'LIKE')->execute());
|
||||
$data = [];
|
||||
|
||||
foreach ($accounts as $account) {
|
||||
|
|
@ -1035,7 +1049,7 @@ final class ApiController extends Controller
|
|||
$collection->setPath('/Modules/Media/Files/Accounts/' . ((string) $id));
|
||||
$collection->createdBy = new NullAccount($createdBy);
|
||||
|
||||
CollectionMapper::create($collection);
|
||||
CollectionMapper::create()->execute($collection);
|
||||
|
||||
return $collection;
|
||||
}
|
||||
|
|
@ -1122,7 +1136,7 @@ final class ApiController extends Controller
|
|||
public function apiAccountDelete(RequestAbstract $request, ResponseAbstract $response, $data = null) : void
|
||||
{
|
||||
/** @var Account $account */
|
||||
$account = AccountMapper::get((int) ($request->getData('id')));
|
||||
$account = AccountMapper::get()->where('id', (int) ($request->getData('id')))->execute();
|
||||
$this->deleteModel($request->header->account, $account, AccountMapper::class, 'account', $request->getOrigin());
|
||||
$this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Account', 'Account successfully deleted', $account);
|
||||
}
|
||||
|
|
@ -1143,11 +1157,11 @@ final class ApiController extends Controller
|
|||
public function apiAccountUpdate(RequestAbstract $request, ResponseAbstract $response, $data = null) : void
|
||||
{
|
||||
/** @var Account $old */
|
||||
$old = clone AccountMapper::get((int) $request->getData('id'));
|
||||
$old = clone AccountMapper::get()->where('id', (int) $request->getData('id'))->execute();
|
||||
$new = $this->updateAccountFromRequest($request);
|
||||
$this->updateModel($request->header->account, $old, $new, AccountMapper::class, 'account', $request->getOrigin());
|
||||
|
||||
if (\Modules\Profile\Models\ProfileMapper::getFor($new->getId(), 'account') instanceof \Modules\Profile\Models\NullProfile) {
|
||||
if (\Modules\Profile\Models\ProfileMapper::get()->where('account', $new->getId())->execute() instanceof \Modules\Profile\Models\NullProfile) {
|
||||
$this->createProfileForAccount($new, $request);
|
||||
}
|
||||
|
||||
|
|
@ -1167,7 +1181,7 @@ final class ApiController extends Controller
|
|||
private function updateAccountFromRequest(RequestAbstract $request, bool $allowPassword = false) : Account
|
||||
{
|
||||
/** @var Account $account */
|
||||
$account = AccountMapper::get((int) ($request->getData('id')));
|
||||
$account = AccountMapper::get()->where('id', (int) $request->getData('id'))->execute();
|
||||
$account->login = (string) ($request->getData('login') ?? $account->login);
|
||||
$account->name1 = (string) ($request->getData('name1') ?? $account->name1);
|
||||
$account->name2 = (string) ($request->getData('name2') ?? $account->name2);
|
||||
|
|
@ -1213,7 +1227,7 @@ final class ApiController extends Controller
|
|||
return;
|
||||
}
|
||||
|
||||
$old = ModuleMapper::get($module);
|
||||
$old = ModuleMapper::get()->where('id', $module)->execute();
|
||||
|
||||
$this->app->eventManager->triggerSimilar(
|
||||
'PRE:Module:Admin-module-status-update', '',
|
||||
|
|
@ -1229,7 +1243,7 @@ final class ApiController extends Controller
|
|||
|
||||
$new = clone $old;
|
||||
$new->setStatus(ModuleStatusUpdateType::ACTIVATE);
|
||||
ModuleMapper::update($new);
|
||||
ModuleMapper::update()->execute($new);
|
||||
|
||||
break;
|
||||
case ModuleStatusUpdateType::DEACTIVATE:
|
||||
|
|
@ -1238,7 +1252,7 @@ final class ApiController extends Controller
|
|||
|
||||
$new = clone $old;
|
||||
$new->setStatus(ModuleStatusUpdateType::DEACTIVATE);
|
||||
ModuleMapper::update($new);
|
||||
ModuleMapper::update()->execute($new);
|
||||
|
||||
break;
|
||||
case ModuleStatusUpdateType::INSTALL:
|
||||
|
|
@ -1279,13 +1293,13 @@ final class ApiController extends Controller
|
|||
|
||||
$moduleObj->setStatus(ModuleStatus::AVAILABLE);
|
||||
|
||||
ModuleMapper::create($moduleObj);
|
||||
ModuleMapper::create()->execute($moduleObj);
|
||||
|
||||
$done = $this->app->moduleManager->install($module);
|
||||
$msg = $done ? 'Module successfully installed.' : 'Module not installed.';
|
||||
|
||||
$moduleObj->setStatus(ModuleStatus::ACTIVE);
|
||||
ModuleMapper::update($moduleObj);
|
||||
ModuleMapper::update()->execute($moduleObj);
|
||||
|
||||
$queryLoad = new Builder($this->app->dbPool->get('insert'));
|
||||
$queryLoad->insert('module_load_pid', 'module_load_type', 'module_load_from', 'module_load_for', 'module_load_file')
|
||||
|
|
@ -1324,7 +1338,7 @@ final class ApiController extends Controller
|
|||
|
||||
$new = clone $old;
|
||||
$new->setStatus(ModuleStatusUpdateType::DELETE);
|
||||
ModuleMapper::delete($new);
|
||||
ModuleMapper::delete()->execute($new);
|
||||
|
||||
break;
|
||||
default:
|
||||
|
|
@ -1332,10 +1346,9 @@ final class ApiController extends Controller
|
|||
$msg = 'Unknown module status change request.';
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
}
|
||||
ModuleMapper::clearCache();
|
||||
|
||||
if ($done) {
|
||||
$new = ModuleMapper::get($module);
|
||||
$new = ModuleMapper::get()->where('id', $module)->execute();
|
||||
|
||||
$this->app->eventManager->triggerSimilar(
|
||||
'POST:Module:Admin-module-status-update', '',
|
||||
|
|
@ -1375,7 +1388,7 @@ final class ApiController extends Controller
|
|||
public function apiAccountPermissionGet(RequestAbstract $request, ResponseAbstract $response, $data = null) : void
|
||||
{
|
||||
/** @var AccountPermission $account */
|
||||
$account = AccountPermissionMapper::get((int) $request->getData('id'));
|
||||
$account = AccountPermissionMapper::get()->where('id', (int) $request->getData('id'))->execute();
|
||||
$this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Permission', 'Permission successfully returned', $account);
|
||||
}
|
||||
|
||||
|
|
@ -1395,7 +1408,7 @@ final class ApiController extends Controller
|
|||
public function apiGroupPermissionGet(RequestAbstract $request, ResponseAbstract $response, $data = null) : void
|
||||
{
|
||||
/** @var GroupPermission $group */
|
||||
$group = GroupPermissionMapper::get((int) $request->getData('id'));
|
||||
$group = GroupPermissionMapper::get()->where('id', (int) $request->getData('id'))->execute();
|
||||
$this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Permission', 'Permission successfully returned', $group);
|
||||
}
|
||||
|
||||
|
|
@ -1415,7 +1428,7 @@ final class ApiController extends Controller
|
|||
public function apiGroupPermissionDelete(RequestAbstract $request, ResponseAbstract $response, $data = null) : void
|
||||
{
|
||||
/** @var GroupPermission $permission */
|
||||
$permission = GroupPermissionMapper::get((int) $request->getData('id'));
|
||||
$permission = GroupPermissionMapper::get()->where('id', (int) $request->getData('id'))->execute();
|
||||
|
||||
if ($permission->getGroup() === 3) {
|
||||
// admin group cannot be deleted
|
||||
|
|
@ -1444,7 +1457,7 @@ final class ApiController extends Controller
|
|||
public function apiAccountPermissionDelete(RequestAbstract $request, ResponseAbstract $response, $data = null) : void
|
||||
{
|
||||
/** @var AccountPermission $permission */
|
||||
$permission = AccountPermissionMapper::get((int) $request->getData('id'));
|
||||
$permission = AccountPermissionMapper::get()->where('id', (int) $request->getData('id'))->execute();
|
||||
$this->deleteModel($request->header->account, $permission, AccountPermissionMapper::class, 'user-permission', $request->getOrigin());
|
||||
$this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Permission', 'Permission successfully deleted', $permission);
|
||||
}
|
||||
|
|
@ -1611,10 +1624,10 @@ final class ApiController extends Controller
|
|||
public function apiAccountPermissionUpdate(RequestAbstract $request, ResponseAbstract $response, $data = null) : void
|
||||
{
|
||||
/** @var AccountPermission $old */
|
||||
$old = clone AccountPermissionMapper::get((int) $request->getData('id'));
|
||||
$old = clone AccountPermissionMapper::get()->where('id', (int) $request->getData('id'))->execute();
|
||||
|
||||
/** @var AccountPermission $new */
|
||||
$new = $this->updatePermissionFromRequest(AccountPermissionMapper::get((int) $request->getData('id')), $request);
|
||||
$new = $this->updatePermissionFromRequest(AccountPermissionMapper::get()->where('id', (int) $request->getData('id'))->execute(), $request);
|
||||
|
||||
$this->updateModel($request->header->account, $old, $new, AccountPermissionMapper::class, 'account-permission', $request->getOrigin());
|
||||
$this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Permission', 'Permission successfully updated', $new);
|
||||
|
|
@ -1636,7 +1649,7 @@ final class ApiController extends Controller
|
|||
public function apiGroupPermissionUpdate(RequestAbstract $request, ResponseAbstract $response, $data = null) : void
|
||||
{
|
||||
/** @var GroupPermission $old */
|
||||
$old = clone GroupPermissionMapper::get((int) $request->getData('id'));
|
||||
$old = clone GroupPermissionMapper::get()->where('id', (int) $request->getData('id'))->execute();
|
||||
|
||||
if ($old->getGroup() === 3) {
|
||||
// admin group cannot be deleted
|
||||
|
|
@ -1646,7 +1659,7 @@ final class ApiController extends Controller
|
|||
}
|
||||
|
||||
/** @var GroupPermission $new */
|
||||
$new = $this->updatePermissionFromRequest(GroupPermissionMapper::get((int) $request->getData('id')), $request);
|
||||
$new = $this->updatePermissionFromRequest(GroupPermissionMapper::get()->where('id', (int) $request->getData('id'))->execute(), $request);
|
||||
|
||||
$this->updateModel($request->header->account, $old, $new, GroupPermissionMapper::class, 'group-permission', $request->getOrigin());
|
||||
$this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Permission', 'Permission successfully updated', $new);
|
||||
|
|
|
|||
|
|
@ -24,10 +24,9 @@ use Modules\Admin\Models\GroupPermissionMapper;
|
|||
use Modules\Admin\Models\LocalizationMapper;
|
||||
use Modules\Admin\Models\NullAccountPermission;
|
||||
use Modules\Admin\Models\NullGroupPermission;
|
||||
use Modules\Auditor\Models\Audit;
|
||||
use Modules\Auditor\Models\AuditMapper;
|
||||
use phpOMS\Contract\RenderableInterface;
|
||||
use phpOMS\DataStorage\Database\RelationType;
|
||||
use phpOMS\Localization\NullLocalization;
|
||||
use phpOMS\Message\RequestAbstract;
|
||||
use phpOMS\Message\ResponseAbstract;
|
||||
use phpOMS\Utils\Parser\Markdown\Markdown;
|
||||
|
|
@ -103,11 +102,11 @@ final class BackendController extends Controller
|
|||
$view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1000104001, $request, $response));
|
||||
|
||||
if ($request->getData('ptype') === 'p') {
|
||||
$view->setData('accounts', AccountMapper::getBeforePivot((int) ($request->getData('id') ?? 0), null, 25));
|
||||
$view->setData('accounts', AccountMapper::getAll()->where('id', (int) ($request->getData('id') ?? 0), '<')->limit(25)->execute());
|
||||
} elseif ($request->getData('ptype') === 'n') {
|
||||
$view->setData('accounts', AccountMapper::getAfterPivot((int) ($request->getData('id') ?? 0), null, 25));
|
||||
$view->setData('accounts', AccountMapper::getAll()->where('id', (int) ($request->getData('id') ?? 0), '>')->limit(25)->execute());
|
||||
} else {
|
||||
$view->setData('accounts', AccountMapper::getAfterPivot(0, null, 25));
|
||||
$view->setData('accounts', AccountMapper::getAll()->where('id', 0, '>')->limit(25)->execute());
|
||||
}
|
||||
|
||||
return $view;
|
||||
|
|
@ -129,9 +128,16 @@ final class BackendController extends Controller
|
|||
$view = new View($this->app->l11nManager, $request, $response);
|
||||
$view->setTemplate('/Modules/Admin/Theme/Backend/accounts-single');
|
||||
$view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1000104001, $request, $response));
|
||||
$view->addData('account', AccountMapper::get((int) $request->getData('id'), RelationType::ALL, 2));
|
||||
|
||||
$permissions = AccountPermissionMapper::getFor((int) $request->getData('id'), 'account');
|
||||
/** @var \Modules\Admin\Models\Account $account */
|
||||
$account = AccountMapper::get()->with('groups')->with('l11n')->where('id', (int) $request->getData('id'))->execute();
|
||||
if ($account->l11n instanceof NullLocalization) {
|
||||
$account->l11n->loadFromLanguage($request->getLanguage());
|
||||
}
|
||||
|
||||
$view->addData('account', $account);
|
||||
|
||||
$permissions = AccountPermissionMapper::getAll()->where('account', (int) $request->getData('id'))->execute();
|
||||
|
||||
if (!isset($permissions) || $permissions instanceof NullAccountPermission) {
|
||||
$permissions = [];
|
||||
|
|
@ -147,18 +153,15 @@ final class BackendController extends Controller
|
|||
// audit log
|
||||
if ($request->getData('ptype') === 'p') {
|
||||
$view->setData('auditlogs',
|
||||
AuditMapper::with('createdBy', (int) $request->getData('id'), [Audit::class])
|
||||
::getBeforePivot((int) $request->getData('audit'), null, 25)
|
||||
AuditMapper::getAll()->with('createdBy')->where('id', (int) ($request->getData('audit') ?? 0), '<')->limit(25)->execute()
|
||||
);
|
||||
} elseif ($request->getData('ptype') === 'n') {
|
||||
$view->setData('auditlogs',
|
||||
AuditMapper::with('createdBy', (int) $request->getData('id'), [Audit::class])
|
||||
::getAfterPivot((int) $request->getData('audit'), null, 25)
|
||||
AuditMapper::getAll()->with('createdBy')->where('id', (int) ($request->getData('audit') ?? 0), '>')->limit(25)->execute()
|
||||
);
|
||||
} else {
|
||||
$view->setData('auditlogs',
|
||||
AuditMapper::with('createdBy', (int) $request->getData('id'), [Audit::class])
|
||||
::getAfterPivot(0, null, 25)
|
||||
AuditMapper::getAll()->with('createdBy')->where('id', 0, '>')->limit(25)->execute()
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -203,11 +206,11 @@ final class BackendController extends Controller
|
|||
$view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1000103001, $request, $response));
|
||||
|
||||
if ($request->getData('ptype') === 'p') {
|
||||
$view->setData('groups', GroupMapper::getBeforePivot((int) ($request->getData('id') ?? 0), null, 25));
|
||||
$view->setData('groups', GroupMapper::getAll()->with('createdBy')->where('id', (int) ($request->getData('id') ?? 0), '<')->limit(25)->execute());
|
||||
} elseif ($request->getData('ptype') === 'n') {
|
||||
$view->setData('groups', GroupMapper::getAfterPivot((int) ($request->getData('id') ?? 0), null, 25));
|
||||
$view->setData('groups', GroupMapper::getAll()->with('createdBy')->where('id', (int) ($request->getData('id') ?? 0), '>')->limit(25)->execute());
|
||||
} else {
|
||||
$view->setData('groups', GroupMapper::getAfterPivot(0, null, 25));
|
||||
$view->setData('groups', GroupMapper::getAll()->where('id', 0, '>')->limit(25)->execute());
|
||||
}
|
||||
|
||||
$memberCount = GroupMapper::countMembers();
|
||||
|
|
@ -232,9 +235,11 @@ final class BackendController extends Controller
|
|||
$view = new View($this->app->l11nManager, $request, $response);
|
||||
$view->setTemplate('/Modules/Admin/Theme/Backend/groups-single');
|
||||
$view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1000103001, $request, $response));
|
||||
$view->addData('group', GroupMapper::get((int) $request->getData('id'), RelationType::ALL, 2));
|
||||
$view->addData('group',
|
||||
GroupMapper::get()->with('accounts')->where('id', (int) $request->getData('id'))->execute()
|
||||
);
|
||||
|
||||
$permissions = GroupPermissionMapper::getFor((int) $request->getData('id'), 'group');
|
||||
$permissions = GroupPermissionMapper::getAll()->where('group', (int) $request->getData('id'))->execute();
|
||||
|
||||
if (!isset($permissions) || $permissions instanceof NullGroupPermission) {
|
||||
$permissions = [];
|
||||
|
|
@ -250,25 +255,20 @@ final class BackendController extends Controller
|
|||
$editor = new \Modules\Editor\Theme\Backend\Components\Editor\BaseView($this->app->l11nManager, $request, $response);
|
||||
$view->addData('editor', $editor);
|
||||
|
||||
$mapperQuery = AuditMapper::getAll()
|
||||
->with('createdBy')
|
||||
->where('module', self::NAME)
|
||||
->where('type', StringUtils::intHash(GroupMapper::class))
|
||||
->where('ref', (string) ($request->getData('id') ?? '0'))
|
||||
->limit(25);
|
||||
|
||||
// audit log
|
||||
if ($request->getData('ptype') === 'p') {
|
||||
$view->setData('auditlogs',
|
||||
AuditMapper::with('module', self::NAME, [Audit::class])
|
||||
::with('type', StringUtils::intHash(GroupMapper::class), [Audit::class])
|
||||
::with('ref', (string) $request->getData('id') ?? '0', [Audit::class])
|
||||
::getBeforePivot((int) $request->getData('audit'), null, 25));
|
||||
$view->setData('auditlogs', $mapperQuery->where('id', (int) ($request->getData('audit') ?? 0), '<')->limit(25)->execute());
|
||||
} elseif ($request->getData('ptype') === 'n') {
|
||||
$view->setData('auditlogs',
|
||||
AuditMapper::with('module', self::NAME, [Audit::class])
|
||||
::with('type', StringUtils::intHash(GroupMapper::class), [Audit::class])
|
||||
::with('ref', (string) $request->getData('id') ?? '0', [Audit::class])
|
||||
::getAfterPivot((int) $request->getData('audit'), null, 25));
|
||||
$view->setData('auditlogs', $mapperQuery->where('id', (int) ($request->getData('audit') ?? 0), '>')->limit(25)->execute());
|
||||
} else {
|
||||
$view->setData('auditlogs',
|
||||
AuditMapper::with('module', self::NAME, [Audit::class])
|
||||
::with('type', StringUtils::intHash(GroupMapper::class), [Audit::class])
|
||||
::with('ref', (string) $request->getData('id') ?? '0', [Audit::class])
|
||||
::getAfterPivot(0, null, 25));
|
||||
$view->setData('auditlogs', $mapperQuery->where('id', 0, '>')->limit(25)->execute());
|
||||
}
|
||||
|
||||
return $view;
|
||||
|
|
@ -391,11 +391,11 @@ final class BackendController extends Controller
|
|||
|
||||
// audit log
|
||||
if ($request->getData('ptype') === 'p') {
|
||||
$view->setData('auditlogs', AuditMapper::with('module', $id, [Audit::class])::getBeforePivot((int) $request->getData('audit'), null, 25));
|
||||
$view->setData('auditlogs', AuditMapper::getAll()->where('module', $id)->where('id', (int) $request->getData('audit'), '<')->limit(25)->execute());
|
||||
} elseif ($request->getData('ptype') === 'n') {
|
||||
$view->setData('auditlogs', AuditMapper::with('module', $id, [Audit::class])::getAfterPivot((int) $request->getData('audit'), null, 25));
|
||||
$view->setData('auditlogs', AuditMapper::getAll()->where('module', $id)->where('id', (int) $request->getData('audit'), '>')->limit(25)->execute());
|
||||
} else {
|
||||
$view->setData('auditlogs', AuditMapper::with('module', $id, [Audit::class])::getAfterPivot(0, null, 25));
|
||||
$view->setData('auditlogs', AuditMapper::getAll()->where('module', $id)->where('id', 0, '>')->limit(25)->execute());
|
||||
}
|
||||
|
||||
return $view;
|
||||
|
|
@ -439,7 +439,7 @@ final class BackendController extends Controller
|
|||
|
||||
$id = $request->getData('id') ?? '';
|
||||
|
||||
$settings = SettingMapper::getFor($id, 'module');
|
||||
$settings = SettingMapper::getAll()->where('module', $id)->execute();
|
||||
if (!($settings instanceof NullSetting)) {
|
||||
$view->setData('settings', !\is_array($settings) ? [$settings] : $settings);
|
||||
}
|
||||
|
|
@ -456,8 +456,7 @@ final class BackendController extends Controller
|
|||
]);
|
||||
|
||||
$view->setData('generalSettings', $generalSettings);
|
||||
$view->setData('defaultlocalization', LocalizationMapper::get((int) $generalSettings[SettingsEnum::DEFAULT_LOCALIZATION]->content));
|
||||
$view->setData('settings', SettingMapper::getAll());
|
||||
$view->setData('defaultlocalization', LocalizationMapper::get()->where('id', (int) $generalSettings[SettingsEnum::DEFAULT_LOCALIZATION]->content)->execute());
|
||||
|
||||
return $view;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,9 +16,8 @@ namespace Modules\Admin\Models;
|
|||
|
||||
use phpOMS\Account\AccountStatus;
|
||||
use phpOMS\Auth\LoginReturnType;
|
||||
use phpOMS\DataStorage\Database\DataMapperAbstract;
|
||||
use phpOMS\DataStorage\Database\Mapper\DataMapperFactory;
|
||||
use phpOMS\DataStorage\Database\Query\Builder;
|
||||
use phpOMS\DataStorage\Database\RelationType;
|
||||
|
||||
/**
|
||||
* Account mapper class.
|
||||
|
|
@ -28,7 +27,7 @@ use phpOMS\DataStorage\Database\RelationType;
|
|||
* @link https://orange-management.org
|
||||
* @since 1.0.0
|
||||
*/
|
||||
final class AccountMapper extends DataMapperAbstract
|
||||
final class AccountMapper extends DataMapperFactory
|
||||
{
|
||||
/**
|
||||
* Columns.
|
||||
|
|
@ -36,7 +35,7 @@ final class AccountMapper extends DataMapperAbstract
|
|||
* @var array<string, array<string, bool|string|array>>
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected static array $columns = [
|
||||
public const COLUMNS = [
|
||||
'account_id' => ['name' => 'account_id', 'type' => 'int', 'internal' => 'id'],
|
||||
'account_status' => ['name' => 'account_status', 'type' => 'int', 'internal' => 'status'],
|
||||
'account_type' => ['name' => 'account_type', 'type' => 'int', 'internal' => 'type'],
|
||||
|
|
@ -60,7 +59,7 @@ final class AccountMapper extends DataMapperAbstract
|
|||
* @var array<string, array{mapper:string, external:string, by?:string, column?:string, conditional?:bool}>
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected static array $ownsOne = [
|
||||
public const OWNS_ONE = [
|
||||
'l11n' => [
|
||||
'mapper' => LocalizationMapper::class,
|
||||
'external' => 'account_localization',
|
||||
|
|
@ -73,7 +72,7 @@ final class AccountMapper extends DataMapperAbstract
|
|||
* @var array<string, array{mapper:string, table:string, self?:?string, external?:?string, column?:string}>
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected static array $hasMany = [
|
||||
public const HAS_MANY = [
|
||||
'groups' => [
|
||||
'mapper' => GroupMapper::class,
|
||||
'table' => 'account_group',
|
||||
|
|
@ -94,7 +93,7 @@ final class AccountMapper extends DataMapperAbstract
|
|||
* @var string
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected static string $model = Account::class;
|
||||
public const MODEL = Account::class;
|
||||
|
||||
/**
|
||||
* Primary table.
|
||||
|
|
@ -102,7 +101,7 @@ final class AccountMapper extends DataMapperAbstract
|
|||
* @var string
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected static string $table = 'account';
|
||||
public const TABLE = 'account';
|
||||
|
||||
/**
|
||||
* Primary field name.
|
||||
|
|
@ -110,7 +109,7 @@ final class AccountMapper extends DataMapperAbstract
|
|||
* @var string
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected static string $primaryField = 'account_id';
|
||||
public const PRIMARYFIELD ='account_id';
|
||||
|
||||
/**
|
||||
* Created at column
|
||||
|
|
@ -118,7 +117,7 @@ final class AccountMapper extends DataMapperAbstract
|
|||
* @var string
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected static string $createdAt = 'account_created_at';
|
||||
public const CREATED_AT = 'account_created_at';
|
||||
|
||||
/**
|
||||
* Get account with permissions
|
||||
|
|
@ -131,30 +130,19 @@ final class AccountMapper extends DataMapperAbstract
|
|||
*/
|
||||
public static function getWithPermissions(int $id) : Account
|
||||
{
|
||||
$account = self::get($id);
|
||||
$groupPermissions = GroupPermissionMapper::getFor(
|
||||
\array_keys($account->getGroups()),
|
||||
'group',
|
||||
RelationType::ALL,
|
||||
2
|
||||
);
|
||||
$account = self::get()->with('groups')->with('l11n')->where('id', $id)->execute();
|
||||
$groups = \array_keys($account->getGroups());
|
||||
|
||||
if (\is_array($groupPermissions)) {
|
||||
foreach ($groupPermissions as $permission) {
|
||||
$account->addPermissions(\is_array($permission) ? $permission : [$permission]);
|
||||
}
|
||||
} else {
|
||||
$account->addPermissions([$groupPermissions]);
|
||||
$groupPermissions = empty($groups)
|
||||
? []
|
||||
: GroupPermissionMapper::getAll()->where('group', \array_keys($account->getGroups()), 'in')->execute();
|
||||
foreach ($groupPermissions as $permission) {
|
||||
$account->addPermissions(\is_array($permission) ? $permission : [$permission]);
|
||||
}
|
||||
|
||||
$accountPermissions = AccountPermissionMapper::getFor($id, 'account', RelationType::ALL, 2);
|
||||
|
||||
if (\is_array($accountPermissions)) {
|
||||
foreach ($accountPermissions as $permission) {
|
||||
$account->addPermissions(\is_array($permission) ? $permission : [$permission]);
|
||||
}
|
||||
} else {
|
||||
$account->addPermissions([$accountPermissions]);
|
||||
$accountPermissions = AccountPermissionMapper::getAll()->where('account', $id)->execute();
|
||||
foreach ($accountPermissions as $permission) {
|
||||
$account->addPermissions(\is_array($permission) ? $permission : [$permission]);
|
||||
}
|
||||
|
||||
return $account;
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ declare(strict_types=1);
|
|||
|
||||
namespace Modules\Admin\Models;
|
||||
|
||||
use phpOMS\DataStorage\Database\DataMapperAbstract;
|
||||
use phpOMS\DataStorage\Database\Mapper\DataMapperFactory;
|
||||
|
||||
/**
|
||||
* Account permission mapper class.
|
||||
|
|
@ -24,7 +24,7 @@ use phpOMS\DataStorage\Database\DataMapperAbstract;
|
|||
* @link https://orange-management.org
|
||||
* @since 1.0.0
|
||||
*/
|
||||
final class AccountPermissionMapper extends DataMapperAbstract
|
||||
final class AccountPermissionMapper extends DataMapperFactory
|
||||
{
|
||||
/**
|
||||
* Columns.
|
||||
|
|
@ -32,7 +32,7 @@ final class AccountPermissionMapper extends DataMapperAbstract
|
|||
* @var array<string, array{name:string, type:string, internal:string, autocomplete?:bool, readonly?:bool, writeonly?:bool, annotations?:array}>
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected static array $columns = [
|
||||
public const COLUMNS = [
|
||||
'account_permission_id' => ['name' => 'account_permission_id', 'type' => 'int', 'internal' => 'id'],
|
||||
'account_permission_account' => ['name' => 'account_permission_account', 'type' => 'int', 'internal' => 'account'],
|
||||
'account_permission_unit' => ['name' => 'account_permission_unit', 'type' => 'int', 'internal' => 'unit'],
|
||||
|
|
@ -51,7 +51,7 @@ final class AccountPermissionMapper extends DataMapperAbstract
|
|||
* @var string
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected static string $model = AccountPermission::class;
|
||||
public const MODEL = AccountPermission::class;
|
||||
|
||||
/**
|
||||
* Primary table.
|
||||
|
|
@ -59,7 +59,7 @@ final class AccountPermissionMapper extends DataMapperAbstract
|
|||
* @var string
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected static string $table = 'account_permission';
|
||||
public const TABLE = 'account_permission';
|
||||
|
||||
/**
|
||||
* Primary field name.
|
||||
|
|
@ -67,5 +67,5 @@ final class AccountPermissionMapper extends DataMapperAbstract
|
|||
* @var string
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected static string $primaryField = 'account_permission_id';
|
||||
public const PRIMARYFIELD ='account_permission_id';
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ declare(strict_types=1);
|
|||
|
||||
namespace Modules\Admin\Models;
|
||||
|
||||
use phpOMS\DataStorage\Database\DataMapperAbstract;
|
||||
use phpOMS\DataStorage\Database\Mapper\DataMapperFactory;
|
||||
use phpOMS\Localization\Defaults\CountryMapper;
|
||||
|
||||
/**
|
||||
|
|
@ -25,7 +25,7 @@ use phpOMS\Localization\Defaults\CountryMapper;
|
|||
* @link https://orange-management.org
|
||||
* @since 1.0.0
|
||||
*/
|
||||
final class AddressMapper extends DataMapperAbstract
|
||||
final class AddressMapper extends DataMapperFactory
|
||||
{
|
||||
/**
|
||||
* Columns.
|
||||
|
|
@ -33,7 +33,7 @@ final class AddressMapper extends DataMapperAbstract
|
|||
* @var array<string, array{name:string, type:string, internal:string, autocomplete?:bool, readonly?:bool, writeonly?:bool, annotations?:array}>
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected static array $columns = [
|
||||
public const COLUMNS = [
|
||||
'address_id' => ['name' => 'address_id', 'type' => 'int', 'internal' => 'id'],
|
||||
'address_name' => ['name' => 'address_name', 'type' => 'string', 'internal' => 'name'],
|
||||
'address_addition' => ['name' => 'address_addition', 'type' => 'string', 'internal' => 'addition'],
|
||||
|
|
@ -51,7 +51,7 @@ final class AddressMapper extends DataMapperAbstract
|
|||
* @var array<string, array{mapper:string, external:string, by?:string, column?:string, conditional?:bool}>
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected static array $ownsOne = [
|
||||
public const OWNS_ONE = [
|
||||
'country' => [
|
||||
'mapper' => CountryMapper::class,
|
||||
'external' => 'address_country',
|
||||
|
|
@ -67,7 +67,7 @@ final class AddressMapper extends DataMapperAbstract
|
|||
* @var string
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected static string $table = 'address';
|
||||
public const TABLE = 'address';
|
||||
|
||||
/**
|
||||
* Primary field name.
|
||||
|
|
@ -75,5 +75,5 @@ final class AddressMapper extends DataMapperAbstract
|
|||
* @var string
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected static string $primaryField = 'address_id';
|
||||
public const PRIMARYFIELD ='address_id';
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ declare(strict_types=1);
|
|||
|
||||
namespace Modules\Admin\Models;
|
||||
|
||||
use phpOMS\DataStorage\Database\DataMapperAbstract;
|
||||
use phpOMS\DataStorage\Database\Mapper\DataMapperFactory;
|
||||
|
||||
/**
|
||||
* Account mapper class.
|
||||
|
|
@ -24,7 +24,7 @@ use phpOMS\DataStorage\Database\DataMapperAbstract;
|
|||
* @link https://orange-management.org
|
||||
* @since 1.0.0
|
||||
*/
|
||||
final class AppMapper extends DataMapperAbstract
|
||||
final class AppMapper extends DataMapperFactory
|
||||
{
|
||||
/**
|
||||
* Columns.
|
||||
|
|
@ -32,7 +32,7 @@ final class AppMapper extends DataMapperAbstract
|
|||
* @var array<string, array<string, bool|string|array>>
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected static array $columns = [
|
||||
public const COLUMNS = [
|
||||
'app_id' => ['name' => 'app_id', 'type' => 'int', 'internal' => 'id'],
|
||||
'app_name' => ['name' => 'app_name', 'type' => 'string', 'internal' => 'name'],
|
||||
'app_theme' => ['name' => 'app_theme', 'type' => 'string', 'internal' => 'theme'],
|
||||
|
|
@ -45,7 +45,7 @@ final class AppMapper extends DataMapperAbstract
|
|||
* @var string
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected static string $model = App::class;
|
||||
public const MODEL = App::class;
|
||||
|
||||
/**
|
||||
* Primary table.
|
||||
|
|
@ -53,7 +53,7 @@ final class AppMapper extends DataMapperAbstract
|
|||
* @var string
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected static string $table = 'app';
|
||||
public const TABLE = 'app';
|
||||
|
||||
/**
|
||||
* Primary field name.
|
||||
|
|
@ -61,5 +61,5 @@ final class AppMapper extends DataMapperAbstract
|
|||
* @var string
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected static string $primaryField = 'app_id';
|
||||
public const PRIMARYFIELD ='app_id';
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,9 +14,8 @@ declare(strict_types=1);
|
|||
|
||||
namespace Modules\Admin\Models;
|
||||
|
||||
use phpOMS\DataStorage\Database\DataMapperAbstract;
|
||||
use phpOMS\DataStorage\Database\Mapper\DataMapperFactory;
|
||||
use phpOMS\DataStorage\Database\Query\Builder;
|
||||
use phpOMS\DataStorage\Database\RelationType;
|
||||
|
||||
/**
|
||||
* Group mapper class.
|
||||
|
|
@ -26,7 +25,7 @@ use phpOMS\DataStorage\Database\RelationType;
|
|||
* @link https://orange-management.org
|
||||
* @since 1.0.0
|
||||
*/
|
||||
final class GroupMapper extends DataMapperAbstract
|
||||
final class GroupMapper extends DataMapperFactory
|
||||
{
|
||||
/**
|
||||
* Columns.
|
||||
|
|
@ -34,7 +33,7 @@ final class GroupMapper extends DataMapperAbstract
|
|||
* @var array<string, array{name:string, type:string, internal:string, autocomplete?:bool, readonly?:bool, writeonly?:bool, annotations?:array}>
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected static array $columns = [
|
||||
public const COLUMNS = [
|
||||
'group_id' => ['name' => 'group_id', 'type' => 'int', 'internal' => 'id'],
|
||||
'group_name' => ['name' => 'group_name', 'type' => 'string', 'internal' => 'name', 'autocomplete' => true],
|
||||
'group_status' => ['name' => 'group_status', 'type' => 'int', 'internal' => 'status'],
|
||||
|
|
@ -49,7 +48,7 @@ final class GroupMapper extends DataMapperAbstract
|
|||
* @var string
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected static string $model = Group::class;
|
||||
public const MODEL = Group::class;
|
||||
|
||||
/**
|
||||
* Primary table.
|
||||
|
|
@ -57,7 +56,7 @@ final class GroupMapper extends DataMapperAbstract
|
|||
* @var string
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected static string $table = 'group';
|
||||
public const TABLE = 'group';
|
||||
|
||||
/**
|
||||
* Primary field name.
|
||||
|
|
@ -65,7 +64,7 @@ final class GroupMapper extends DataMapperAbstract
|
|||
* @var string
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected static string $primaryField = 'group_id';
|
||||
public const PRIMARYFIELD ='group_id';
|
||||
|
||||
/**
|
||||
* Created at column
|
||||
|
|
@ -73,7 +72,7 @@ final class GroupMapper extends DataMapperAbstract
|
|||
* @var string
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected static string $createdAt = 'group_created';
|
||||
public const CREATED_AT = 'group_created';
|
||||
|
||||
/**
|
||||
* Has many relation.
|
||||
|
|
@ -81,7 +80,7 @@ final class GroupMapper extends DataMapperAbstract
|
|||
* @var array<string, array{mapper:string, table:string, self?:?string, external?:?string, column?:string}>
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected static array $hasMany = [
|
||||
public const HAS_MANY = [
|
||||
'accounts' => [
|
||||
'mapper' => AccountMapper::class,
|
||||
'table' => 'account_group',
|
||||
|
|
@ -101,13 +100,12 @@ final class GroupMapper extends DataMapperAbstract
|
|||
*/
|
||||
public static function getPermissionForModule(string $module) : array
|
||||
{
|
||||
$depth = 3;
|
||||
$query = self::getQuery();
|
||||
$query->innerJoin(GroupPermissionMapper::getTable())
|
||||
->on(self::$table . '_d' . $depth . '.group_id', '=', GroupPermissionMapper::getTable() . '.group_permission_group')
|
||||
->where(GroupPermissionMapper::getTable() . '.group_permission_module', '=', $module);
|
||||
$query->innerJoin(GroupPermissionMapper::TABLE)
|
||||
->on(self::TABLE . '_d1.group_id', '=', GroupPermissionMapper::TABLE . '.group_permission_group')
|
||||
->where(GroupPermissionMapper::TABLE . '.group_permission_module', '=', $module);
|
||||
|
||||
return self::getAllByQuery($query, RelationType::ALL, $depth);
|
||||
return self::getAll()->execute($query);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -122,13 +120,13 @@ final class GroupMapper extends DataMapperAbstract
|
|||
public static function countMembers(int $group = 0) : array
|
||||
{
|
||||
$query = new Builder(self::$db);
|
||||
$query->select(self::$hasMany['accounts']['self'])
|
||||
->select('COUNT(' . self::$hasMany['accounts']['external'] . ')')
|
||||
->from(self::$hasMany['accounts']['table'])
|
||||
->groupBy(self::$hasMany['accounts']['self']);
|
||||
$query->select(self::HAS_MANY['accounts']['self'])
|
||||
->select('COUNT(' . self::HAS_MANY['accounts']['external'] . ')')
|
||||
->from(self::HAS_MANY['accounts']['table'])
|
||||
->groupBy(self::HAS_MANY['accounts']['self']);
|
||||
|
||||
if ($group !== 0) {
|
||||
$query->where(self::$hasMany['accounts']['self'], '=', $group);
|
||||
$query->where(self::HAS_MANY['accounts']['self'], '=', $group);
|
||||
}
|
||||
|
||||
$result = $query->execute()
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ declare(strict_types=1);
|
|||
|
||||
namespace Modules\Admin\Models;
|
||||
|
||||
use phpOMS\DataStorage\Database\DataMapperAbstract;
|
||||
use phpOMS\DataStorage\Database\Mapper\DataMapperFactory;
|
||||
|
||||
/**
|
||||
* Group permission mapper class.
|
||||
|
|
@ -24,7 +24,7 @@ use phpOMS\DataStorage\Database\DataMapperAbstract;
|
|||
* @link https://orange-management.org
|
||||
* @since 1.0.0
|
||||
*/
|
||||
final class GroupPermissionMapper extends DataMapperAbstract
|
||||
final class GroupPermissionMapper extends DataMapperFactory
|
||||
{
|
||||
/**
|
||||
* Columns.
|
||||
|
|
@ -32,7 +32,7 @@ final class GroupPermissionMapper extends DataMapperAbstract
|
|||
* @var array<string, array{name:string, type:string, internal:string, autocomplete?:bool, readonly?:bool, writeonly?:bool, annotations?:array}>
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected static array $columns = [
|
||||
public const COLUMNS = [
|
||||
'group_permission_id' => ['name' => 'group_permission_id', 'type' => 'int', 'internal' => 'id'],
|
||||
'group_permission_group' => ['name' => 'group_permission_group', 'type' => 'int', 'internal' => 'group'],
|
||||
'group_permission_unit' => ['name' => 'group_permission_unit', 'type' => 'int', 'internal' => 'unit'],
|
||||
|
|
@ -51,7 +51,7 @@ final class GroupPermissionMapper extends DataMapperAbstract
|
|||
* @var string
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected static string $model = GroupPermission::class;
|
||||
public const MODEL = GroupPermission::class;
|
||||
|
||||
/**
|
||||
* Primary table.
|
||||
|
|
@ -59,7 +59,7 @@ final class GroupPermissionMapper extends DataMapperAbstract
|
|||
* @var string
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected static string $table = 'group_permission';
|
||||
public const TABLE = 'group_permission';
|
||||
|
||||
/**
|
||||
* Primary field name.
|
||||
|
|
@ -67,5 +67,5 @@ final class GroupPermissionMapper extends DataMapperAbstract
|
|||
* @var string
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected static string $primaryField = 'group_permission_id';
|
||||
public const PRIMARYFIELD ='group_permission_id';
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,9 +14,7 @@ declare(strict_types=1);
|
|||
|
||||
namespace Modules\Admin\Models;
|
||||
|
||||
use phpOMS\DataStorage\Database\DataMapperAbstract;
|
||||
use phpOMS\DataStorage\Database\Query\Builder;
|
||||
use phpOMS\DataStorage\Database\RelationType;
|
||||
use phpOMS\DataStorage\Database\Mapper\DataMapperFactory;
|
||||
use phpOMS\Localization\Defaults\CountryMapper;
|
||||
use phpOMS\Localization\Defaults\CurrencyMapper;
|
||||
use phpOMS\Localization\Defaults\LanguageMapper;
|
||||
|
|
@ -30,7 +28,7 @@ use phpOMS\Localization\Localization;
|
|||
* @link https://orange-management.org
|
||||
* @since 1.0.0
|
||||
*/
|
||||
final class LocalizationMapper extends DataMapperAbstract
|
||||
final class LocalizationMapper extends DataMapperFactory
|
||||
{
|
||||
/**
|
||||
* Columns.
|
||||
|
|
@ -38,7 +36,7 @@ final class LocalizationMapper extends DataMapperAbstract
|
|||
* @var array<string, array{name:string, type:string, internal:string, autocomplete?:bool, readonly?:bool, writeonly?:bool, annotations?:array}>
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected static array $columns = [
|
||||
public const COLUMNS = [
|
||||
'l11n_id' => ['name' => 'l11n_id', 'type' => 'int', 'internal' => 'id'],
|
||||
'l11n_country' => ['name' => 'l11n_country', 'type' => 'string', 'internal' => 'country'],
|
||||
'l11n_language' => ['name' => 'l11n_language', 'type' => 'string', 'internal' => 'language'],
|
||||
|
|
@ -97,27 +95,24 @@ final class LocalizationMapper extends DataMapperAbstract
|
|||
* @var array<string, array{mapper:string, external:string, by?:string, column?:string, conditional?:bool}>
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected static array $ownsOne = [
|
||||
public const OWNS_ONE = [
|
||||
'country' => [
|
||||
'mapper' => CountryMapper::class,
|
||||
'external' => 'l11n_country',
|
||||
'by' => 'code2',
|
||||
'column' => 'code2',
|
||||
'conditional' => true,
|
||||
'column' => 'code2'
|
||||
],
|
||||
'language' => [
|
||||
'mapper' => LanguageMapper::class,
|
||||
'external' => 'l11n_language',
|
||||
'by' => 'code2',
|
||||
'column' => 'code2',
|
||||
'conditional' => true,
|
||||
'column' => 'code2'
|
||||
],
|
||||
'currency' => [
|
||||
'mapper' => CurrencyMapper::class,
|
||||
'external' => 'l11n_currency',
|
||||
'by' => 'code',
|
||||
'column' => 'code',
|
||||
'conditional' => true,
|
||||
'column' => 'code'
|
||||
],
|
||||
];
|
||||
|
||||
|
|
@ -127,7 +122,7 @@ final class LocalizationMapper extends DataMapperAbstract
|
|||
* @var string
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected static string $table = 'l11n';
|
||||
public const TABLE = 'l11n';
|
||||
|
||||
/**
|
||||
* Primary field name.
|
||||
|
|
@ -135,7 +130,7 @@ final class LocalizationMapper extends DataMapperAbstract
|
|||
* @var string
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected static string $primaryField = 'l11n_id';
|
||||
public const PRIMARYFIELD ='l11n_id';
|
||||
|
||||
/**
|
||||
* Model to use by the mapper.
|
||||
|
|
@ -143,23 +138,5 @@ final class LocalizationMapper extends DataMapperAbstract
|
|||
* @var string
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected static string $model = Localization::class;
|
||||
|
||||
/**
|
||||
* Get object.
|
||||
*
|
||||
* @param mixed $primaryKey Key
|
||||
* @param int $relations Load relations
|
||||
* @param int $depth Relation depth
|
||||
* @param string $ref Ref (for getBy and getFor)
|
||||
* @param Builder $query Query
|
||||
*
|
||||
* @return mixed
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public static function get($primaryKey, int $relations = RelationType::ALL, int $depth = 1, string $ref = null, Builder $query = null) : mixed
|
||||
{
|
||||
return parent::get($primaryKey, $relations, 2);
|
||||
}
|
||||
public const MODEL = Localization::class;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ declare(strict_types=1);
|
|||
|
||||
namespace Modules\Admin\Models;
|
||||
|
||||
use phpOMS\DataStorage\Database\DataMapperAbstract;
|
||||
use phpOMS\DataStorage\Database\Mapper\DataMapperFactory;
|
||||
|
||||
/**
|
||||
* Module mapper class.
|
||||
|
|
@ -24,7 +24,7 @@ use phpOMS\DataStorage\Database\DataMapperAbstract;
|
|||
* @link https://orange-management.org
|
||||
* @since 1.0.0
|
||||
*/
|
||||
final class ModuleMapper extends DataMapperAbstract
|
||||
final class ModuleMapper extends DataMapperFactory
|
||||
{
|
||||
/**
|
||||
* Columns.
|
||||
|
|
@ -32,7 +32,7 @@ final class ModuleMapper extends DataMapperAbstract
|
|||
* @var array<string, array{name:string, type:string, internal:string, autocomplete?:bool, readonly?:bool, writeonly?:bool, annotations?:array}>
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected static array $columns = [
|
||||
public const COLUMNS = [
|
||||
'module_id' => ['name' => 'module_id', 'type' => 'string', 'internal' => 'id'],
|
||||
'module_path' => ['name' => 'module_path', 'type' => 'string', 'internal' => 'path'],
|
||||
'module_theme' => ['name' => 'module_theme', 'type' => 'string', 'internal' => 'theme'],
|
||||
|
|
@ -46,7 +46,7 @@ final class ModuleMapper extends DataMapperAbstract
|
|||
* @var string
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected static string $table = 'module';
|
||||
public const TABLE = 'module';
|
||||
|
||||
/**
|
||||
* Primary field name.
|
||||
|
|
@ -54,7 +54,7 @@ final class ModuleMapper extends DataMapperAbstract
|
|||
* @var string
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected static string $primaryField = 'module_id';
|
||||
public const PRIMARYFIELD ='module_id';
|
||||
|
||||
protected static bool $autoincrement = false;
|
||||
public const AUTOINCREMENT = false;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ require_once __DIR__ . '/../vendor/autoload.php';
|
|||
require_once __DIR__ . '/Autoloader.php';
|
||||
|
||||
use phpOMS\DataStorage\Database\DatabasePool;
|
||||
use phpOMS\DataStorage\Database\DataMapperAbstract;
|
||||
use phpOMS\DataStorage\Database\Mapper\DataMapperFactory;
|
||||
use phpOMS\DataStorage\Session\HttpSession;
|
||||
|
||||
$CONFIG = [
|
||||
|
|
@ -329,7 +329,7 @@ $GLOBALS['dbpool']->create('delete', $CONFIG['db']['core']['masters']['delete'])
|
|||
$GLOBALS['dbpool']->create('insert', $CONFIG['db']['core']['masters']['insert']);
|
||||
$GLOBALS['dbpool']->create('schema', $CONFIG['db']['core']['masters']['schema']);
|
||||
|
||||
DataMapperAbstract::setConnection($GLOBALS['dbpool']->get());
|
||||
DataMapperFactory::db($GLOBALS['dbpool']->get());
|
||||
|
||||
$GLOBALS['frameworkpath'] = '/phpOMS/';
|
||||
|
||||
|
|
|
|||
|
|
@ -46,11 +46,11 @@ final class AccountMapperTest extends \PHPUnit\Framework\TestCase
|
|||
$account->setStatus(AccountStatus::ACTIVE);
|
||||
$account->setType(AccountType::USER);
|
||||
|
||||
$id = AccountMapper::create($account);
|
||||
$id = AccountMapper::create()->execute($account);
|
||||
self::assertGreaterThan(0, $account->getId());
|
||||
self::assertEquals($id, $account->getId());
|
||||
|
||||
$accountR = AccountMapper::get($account->getId());
|
||||
$accountR = AccountMapper::get()->where('id', $account->getId())->execute();
|
||||
self::assertEquals($account->createdAt->format('Y-m-d'), $accountR->createdAt->format('Y-m-d'));
|
||||
self::assertEquals($account->login, $accountR->login);
|
||||
self::assertEquals($account->name1, $accountR->name1);
|
||||
|
|
@ -108,14 +108,14 @@ final class AccountMapperTest extends \PHPUnit\Framework\TestCase
|
|||
*/
|
||||
public function testInvalidLoginTries() : void
|
||||
{
|
||||
$accountR = AccountMapper::get(1);
|
||||
$accountR = AccountMapper::get()->where('id', 1)->execute();
|
||||
$accountR->tries = 10;
|
||||
AccountMapper::update($accountR);
|
||||
AccountMapper::update()->execute($accountR);
|
||||
|
||||
self::assertEquals(LoginReturnType::WRONG_INPUT_EXCEEDED, AccountMapper::login($accountR->login, 'orange'));
|
||||
|
||||
$accountR->tries = 0;
|
||||
AccountMapper::update($accountR);
|
||||
AccountMapper::update()->execute($accountR);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -124,14 +124,15 @@ final class AccountMapperTest extends \PHPUnit\Framework\TestCase
|
|||
*/
|
||||
public function testInvalidLoginAccountStatus() : void
|
||||
{
|
||||
$accountR = AccountMapper::get(1);
|
||||
/** @var Account $accountR */
|
||||
$accountR = AccountMapper::get()->where('id', 1)->execute();
|
||||
$accountR->setStatus(AccountStatus::BANNED);
|
||||
AccountMapper::update($accountR);
|
||||
AccountMapper::update()->execute($accountR);
|
||||
|
||||
self::assertEquals(LoginReturnType::INACTIVE, AccountMapper::login($accountR->login, 'orange'));
|
||||
|
||||
$accountR->setStatus(AccountStatus::ACTIVE);
|
||||
AccountMapper::update($accountR);
|
||||
AccountMapper::update()->execute($accountR);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -140,14 +141,15 @@ final class AccountMapperTest extends \PHPUnit\Framework\TestCase
|
|||
*/
|
||||
public function testEmptyLoginPassword() : void
|
||||
{
|
||||
$accountR = AccountMapper::get(1);
|
||||
/** @var Account $accountR */
|
||||
$accountR = AccountMapper::get()->where('id', 1)->execute();
|
||||
TestUtils::setMember($accountR, 'password', '');
|
||||
AccountMapper::update($accountR);
|
||||
AccountMapper::update()->execute($accountR);
|
||||
|
||||
self::assertEquals(LoginReturnType::EMPTY_PASSWORD, AccountMapper::login($accountR->login, 'orange'));
|
||||
|
||||
$accountR->generatePassword('orange');
|
||||
AccountMapper::update($accountR);
|
||||
AccountMapper::update()->execute($accountR);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -43,11 +43,11 @@ final class AddressMapperTest extends \PHPUnit\Framework\TestCase
|
|||
$address->setCountry('DE');
|
||||
$address->setGeo(['lat' => 12.1, 'long' => 11.2,]);
|
||||
|
||||
$id = AddressMapper::create($address);
|
||||
$id = AddressMapper::create()->execute($address);
|
||||
self::assertGreaterThan(0, $address->getId());
|
||||
self::assertEquals($id, $address->getId());
|
||||
|
||||
$addressR = AddressMapper::get($address->getId());
|
||||
$addressR = AddressMapper::get()->where('id', $address->getId())->execute();
|
||||
self::assertEquals($address->name, $addressR->name);
|
||||
self::assertEquals($address->addition, $addressR->addition);
|
||||
self::assertEquals($address->getType(), $addressR->getType());
|
||||
|
|
|
|||
|
|
@ -38,11 +38,11 @@ final class AppMapperTest extends \PHPUnit\Framework\TestCase
|
|||
$app->theme = 'Default';
|
||||
$app->status = ApplicationStatus::NORMAL;
|
||||
|
||||
$id = AppMapper::create($app);
|
||||
$id = AppMapper::create()->execute($app);
|
||||
self::assertGreaterThan(0, $app->getId());
|
||||
self::assertEquals($id, $app->getId());
|
||||
|
||||
$appR = AppMapper::get($app->getId());
|
||||
$appR = AppMapper::get()->where('id', $app->getId())->execute();
|
||||
self::assertEquals($app->name, $appR->name);
|
||||
self::assertEquals($app->theme, $appR->theme);
|
||||
self::assertEquals($app->status, $appR->status);
|
||||
|
|
|
|||
|
|
@ -34,10 +34,10 @@ final class GroupMapperTest extends \PHPUnit\Framework\TestCase
|
|||
public function testGroupPermissionForModule() : void
|
||||
{
|
||||
$group = new Group('test');
|
||||
$groupId = GroupMapper::create($group);
|
||||
$groupId = GroupMapper::create()->execute($group);
|
||||
|
||||
$permission = new GroupPermission($groupId, null, null, 'Admin');
|
||||
GroupPermissionMapper::create($permission);
|
||||
GroupPermissionMapper::create()->execute($permission);
|
||||
|
||||
$permissions = GroupMapper::getPermissionForModule('Admin');
|
||||
|
||||
|
|
|
|||
|
|
@ -35,8 +35,8 @@ final class LocalizationMapperTest extends \PHPUnit\Framework\TestCase
|
|||
\json_decode(\file_get_contents(__DIR__ . '/om_OMS.json'), true)
|
||||
);
|
||||
|
||||
$id = LocalizationMapper::create($localization);
|
||||
$localizationRemote = LocalizationMapper::get($id);
|
||||
$id = LocalizationMapper::create()->execute($localization);
|
||||
$localizationRemote = LocalizationMapper::get()->where('id', $id)->execute();
|
||||
|
||||
self::assertEquals('fahrenheit', $localizationRemote->getTemperature());
|
||||
self::assertEquals($localization->jsonSerialize(), $localizationRemote->jsonSerialize());
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user