Make BaseModule a real entity

- Add all dependencies, necessary to run the content (baseUrl, Arguments)
- Encapsulate all POST/GET/DELETE/PATCH/PUT methods as protected methods inside the BaseModule
- Return Module content ONLY per `BaseModule::run()` (including the Hook logic there as well)
This commit is contained in:
Philipp 2021-11-20 15:38:03 +01:00
parent 238613fd01
commit 8bdd90066f
No known key found for this signature in database
GPG key ID: 24A7501396EB5432
252 changed files with 615 additions and 623 deletions

View file

@ -21,13 +21,15 @@
namespace Friendica\Module\Settings\TwoFactor;
use Friendica\App\BaseURL;
use Friendica\App;
use Friendica\Core\L10n;
use Friendica\Core\PConfig\Capability\IManagePersonalConfigValues;
use Friendica\Core\Renderer;
use Friendica\Security\TwoFactor\Model\AppSpecificPassword;
use Friendica\Module\BaseSettings;
use Friendica\Module\Security\Login;
use Friendica\Util\Profiler;
use Psr\Log\LoggerInterface;
/**
* // Page 5: 2FA enabled, app-specific password generation
@ -40,15 +42,12 @@ class AppSpecific extends BaseSettings
/** @var IManagePersonalConfigValues */
protected $pConfig;
/** @var BaseURL */
protected $baseUrl;
public function __construct(IManagePersonalConfigValues $pConfig, BaseURL $baseUrl, L10n $l10n, array $parameters = [])
public function __construct(L10n $l10n, App\BaseURL $baseUrl, App\Arguments $args, LoggerInterface $logger, Profiler $profiler, IManagePersonalConfigValues $pConfig, array $server, array $parameters = [])
{
parent::__construct($l10n, $parameters);
parent::__construct($l10n, $baseUrl, $args, $logger, $profiler, $server, $parameters);
$this->pConfig = $pConfig;
$this->baseUrl = $baseUrl;
if (!local_user()) {
return;
@ -66,7 +65,7 @@ class AppSpecific extends BaseSettings
}
}
public function post()
protected function post(array $request = [], array $post = [])
{
if (!local_user()) {
return;
@ -109,7 +108,7 @@ class AppSpecific extends BaseSettings
}
}
public function content(): string
protected function content(array $request = []): string
{
if (!local_user()) {
return Login::form('settings/2fa/app_specific');

View file

@ -33,7 +33,7 @@ use PragmaRX\Google2FA\Google2FA;
class Index extends BaseSettings
{
public function post()
protected function post(array $request = [], array $post = [])
{
if (!local_user()) {
return;
@ -94,7 +94,7 @@ class Index extends BaseSettings
}
}
public function content(): string
protected function content(array $request = []): string
{
if (!local_user()) {
return Login::form('settings/2fa');

View file

@ -21,13 +21,15 @@
namespace Friendica\Module\Settings\TwoFactor;
use Friendica\App\BaseURL;
use Friendica\App;
use Friendica\Core\L10n;
use Friendica\Core\PConfig\Capability\IManagePersonalConfigValues;
use Friendica\Core\Renderer;
use Friendica\Security\TwoFactor\Model\RecoveryCode;
use Friendica\Module\BaseSettings;
use Friendica\Module\Security\Login;
use Friendica\Util\Profiler;
use Psr\Log\LoggerInterface;
/**
* // Page 3: 2FA enabled but not verified, show recovery codes
@ -38,15 +40,12 @@ class Recovery extends BaseSettings
{
/** @var IManagePersonalConfigValues */
protected $pConfig;
/** @var BaseURL */
protected $baseUrl;
public function __construct(IManagePersonalConfigValues $pConfig, BaseURL $baseUrl, L10n $l10n, array $parameters = [])
public function __construct(L10n $l10n, App\BaseURL $baseUrl, App\Arguments $args, LoggerInterface $logger, Profiler $profiler, IManagePersonalConfigValues $pConfig, array $server, array $parameters = [])
{
parent::__construct($l10n, $parameters);
parent::__construct($l10n, $baseUrl, $args, $logger, $profiler, $server, $parameters);
$this->pConfig = $pConfig;
$this->baseUrl = $baseUrl;
if (!local_user()) {
return;
@ -64,7 +63,7 @@ class Recovery extends BaseSettings
}
}
public function post()
protected function post(array $request = [], array $post = [])
{
if (!local_user()) {
return;
@ -81,7 +80,7 @@ class Recovery extends BaseSettings
}
}
public function content(): string
protected function content(array $request = []): string
{
if (!local_user()) {
return Login::form('settings/2fa/recovery');

View file

@ -2,14 +2,16 @@
namespace Friendica\Module\Settings\TwoFactor;
use Friendica\App\BaseURL;
use Friendica\App;
use Friendica\Core\L10n;
use Friendica\Core\PConfig\Capability\IManagePersonalConfigValues;
use Friendica\Core\Renderer;
use Friendica\Module\BaseSettings;
use Friendica\Security\TwoFactor;
use Friendica\Util\DateTimeFormat;
use Friendica\Util\Profiler;
use Friendica\Util\Temporal;
use Psr\Log\LoggerInterface;
use UAParser\Parser;
/**
@ -19,17 +21,14 @@ class Trusted extends BaseSettings
{
/** @var IManagePersonalConfigValues */
protected $pConfig;
/** @var BaseURL */
protected $baseUrl;
/** @var TwoFactor\Repository\TrustedBrowser */
protected $trustedBrowserRepo;
public function __construct(IManagePersonalConfigValues $pConfig, BaseURL $baseUrl, TwoFactor\Repository\TrustedBrowser $trustedBrowserRepo, L10n $l10n, array $parameters = [])
public function __construct(L10n $l10n, App\BaseURL $baseUrl, App\Arguments $args, LoggerInterface $logger, Profiler $profiler, IManagePersonalConfigValues $pConfig, TwoFactor\Repository\TrustedBrowser $trustedBrowserRepo, array $server, array $parameters = [])
{
parent::__construct($l10n, $parameters);
parent::__construct($l10n, $baseUrl, $args, $logger, $profiler, $server, $parameters);
$this->pConfig = $pConfig;
$this->baseUrl = $baseUrl;
$this->trustedBrowserRepo = $trustedBrowserRepo;
if (!local_user()) {
@ -48,7 +47,7 @@ class Trusted extends BaseSettings
}
}
public function post()
protected function post(array $request = [], array $post = [])
{
if (!local_user()) {
return;
@ -78,7 +77,7 @@ class Trusted extends BaseSettings
}
public function content(): string
protected function content(array $request = []): string
{
parent::content();

View file

@ -25,14 +25,16 @@ use BaconQrCode\Renderer\Image\SvgImageBackEnd;
use BaconQrCode\Renderer\ImageRenderer;
use BaconQrCode\Renderer\RendererStyle\RendererStyle;
use BaconQrCode\Writer;
use Friendica\App\BaseURL;
use Friendica\App;
use Friendica\Core\L10n;
use Friendica\Core\PConfig\Capability\IManagePersonalConfigValues;
use Friendica\Core\Renderer;
use Friendica\Core\Session;
use Friendica\Module\BaseSettings;
use Friendica\Module\Security\Login;
use Friendica\Util\Profiler;
use PragmaRX\Google2FA\Google2FA;
use Psr\Log\LoggerInterface;
/**
* // Page 4: 2FA enabled but not verified, QR code and verification
@ -43,15 +45,12 @@ class Verify extends BaseSettings
{
/** @var IManagePersonalConfigValues */
protected $pConfig;
/** @var BaseURL */
protected $baseUrl;
public function __construct(IManagePersonalConfigValues $pConfig, BaseURL $baseUrl, L10n $l10n, array $parameters = [])
public function __construct(L10n $l10n, App\BaseURL $baseUrl, App\Arguments $args, LoggerInterface $logger, Profiler $profiler, IManagePersonalConfigValues $pConfig, array $server, array $parameters = [])
{
parent::__construct($l10n, $parameters);
parent::__construct($l10n, $baseUrl, $args, $logger, $profiler, $server, $parameters);
$this->pConfig = $pConfig;
$this->baseUrl = $baseUrl;
if (!local_user()) {
return;
@ -70,7 +69,7 @@ class Verify extends BaseSettings
}
}
public function post()
protected function post(array $request = [], array $post = [])
{
if (!local_user()) {
return;
@ -96,7 +95,7 @@ class Verify extends BaseSettings
}
}
public function content(): string
protected function content(array $request = []): string
{
if (!local_user()) {
return Login::form('settings/2fa/verify');