Skip to content

Commit

Permalink
chore: Set default signature method
Browse files Browse the repository at this point in the history
Signed-off-by: Vitor Mattos <[email protected]>
  • Loading branch information
vitormattos committed Apr 12, 2024
1 parent d2a15ad commit 0b0af10
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 13 deletions.
21 changes: 8 additions & 13 deletions lib/Service/IdentifyMethod/AbstractIdentifyMethod.php
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ abstract class AbstractIdentifyMethod implements IIdentifyMethod {
* @var string[]
*/
public array $availableSignatureMethods = [];
protected string $defaultSignatureMethod = '';
/**
* @var AbstractSignatureMethod[]
*/
Expand Down Expand Up @@ -315,23 +316,17 @@ private function loadSavedSettings(): void {
}
return $carry;
}, []);
$enabled = false;
foreach ($this->availableSignatureMethods as $signatureMethodName) {
$this->signatureMethods[$signatureMethodName] =
$this->getEmptyInstanceOfSignatureMethodByName($signatureMethodName);
}
if (!isset($this->settings['signatureMethods']) || !is_array($this->settings['signatureMethods'])) {
return;
}
foreach ($this->settings['signatureMethods'] as $signatureMethodName => $settings) {
if (!in_array($signatureMethodName, $this->availableSignatureMethods)) {
unset($this->settings['signatureMethods'][$signatureMethodName]);
continue;
if (isset($this->settings[$signatureMethodName]['enabled']) && $this->settings[$signatureMethodName]['enabled']) {
$this->signatureMethods[$signatureMethodName]->enable();
$enabled = true;
}
$signatureMethod = $this->getEmptyInstanceOfSignatureMethodByName($signatureMethodName);
if (isset($settings['enabled']) && $settings['enabled']) {
$signatureMethod->enable();
}
$this->signatureMethods[$signatureMethodName] = $signatureMethod;
}
if (!$enabled && $this->defaultSignatureMethod) {
$this->signatureMethods[$this->defaultSignatureMethod]->enable();
}
}

Expand Down
1 change: 1 addition & 0 deletions lib/Service/IdentifyMethod/Account.php
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ class Account extends AbstractIdentifyMethod {
ISignatureMethod::SIGNATURE_METHOD_EMAIL_TOKEN,
ISignatureMethod::SIGNATURE_METHOD_PASSWORD,
];
public string $defaultSignatureMethod = ISignatureMethod::SIGNATURE_METHOD_PASSWORD;
public function __construct(
protected IdentifyService $identifyService,
private IUserManager $userManager,
Expand Down
1 change: 1 addition & 0 deletions lib/Service/IdentifyMethod/Email.php
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ class Email extends AbstractIdentifyMethod {
ISignatureMethod::SIGNATURE_METHOD_CLICK_TO_SIGN,
ISignatureMethod::SIGNATURE_METHOD_EMAIL_TOKEN,
];
public string $defaultSignatureMethod = ISignatureMethod::SIGNATURE_METHOD_EMAIL_TOKEN;
public function __construct(
protected IdentifyService $identifyService,
private IdentifyMethodMapper $identifyMethodMapper,
Expand Down

0 comments on commit 0b0af10

Please sign in to comment.