Implement account edit; add SessionHelper, PasswordHelper and ActionResult

This commit is contained in:
Lexi / Zoe 2021-08-15 17:40:35 +02:00
parent 32add30c9d
commit 6ace072841
Signed by: binaryDiv
GPG key ID: F8D4956E224DA232
15 changed files with 637 additions and 68 deletions

View file

@ -4,8 +4,11 @@ declare(strict_types=1);
namespace MailAccountAdmin;
use DI\Container;
use MailAccountAdmin\Common\PasswordHelper;
use MailAccountAdmin\Common\SessionHelper;
use MailAccountAdmin\Common\UserHelper;
use MailAccountAdmin\Frontend\Accounts\AccountController;
use MailAccountAdmin\Frontend\Accounts\AccountHandler;
use MailAccountAdmin\Frontend\Domains\DomainController;
use MailAccountAdmin\Frontend\Login\LoginController;
use MailAccountAdmin\Frontend\Dashboard\DashboardController;
@ -89,41 +92,70 @@ class Dependencies
});
// Helper classes
$container->set(SessionHelper::class, function (ContainerInterface $c) {
return new SessionHelper();
});
$container->set(UserHelper::class, function (ContainerInterface $c) {
return new UserHelper(
$c->get(SessionHelper::class),
$c->get(AdminUserRepository::class),
);
});
// Frontend controllers
$container->set(PasswordHelper::class, function (ContainerInterface $c) {
return new PasswordHelper();
});
// Frontend controllers and handlers
// -> Login page
$container->set(LoginController::class, function (ContainerInterface $c) {
return new LoginController(
$c->get(self::TWIG),
$c->get(SessionHelper::class),
$c->get(UserHelper::class),
$c->get(AdminUserRepository::class),
$c->get(PasswordHelper::class),
);
});
// -> Dashboard
$container->set(DashboardController::class, function (ContainerInterface $c) {
return new DashboardController(
$c->get(self::TWIG),
$c->get(SessionHelper::class),
$c->get(UserHelper::class),
);
});
// -> Domains
$container->set(DomainController::class, function (ContainerInterface $c) {
return new DomainController(
$c->get(self::TWIG),
$c->get(SessionHelper::class),
$c->get(UserHelper::class),
$c->get(DomainRepository::class),
);
});
// -> Accounts
$container->set(AccountController::class, function (ContainerInterface $c) {
return new AccountController(
$c->get(self::TWIG),
$c->get(SessionHelper::class),
$c->get(UserHelper::class),
$c->get(AccountHandler::class),
$c->get(AccountRepository::class),
$c->get(AliasRepository::class),
);
});
$container->set(AccountHandler::class, function (ContainerInterface $c) {
return new AccountHandler(
$c->get(AccountRepository::class),
$c->get(AliasRepository::class),
$c->get(PasswordHelper::class),
);
});
return $container;
}