Skip to content

Commit d456a6e

Browse files
authored
Moved Password\PasswordProtectedInterface & CredentialInterface to Credential\ (#308)
1 parent 247196a commit d456a6e

22 files changed

Lines changed: 85 additions & 63 deletions

Credential/Anonymous.php

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,20 +4,25 @@
44

55
namespace MsgPhp\User\Credential;
66

7-
use MsgPhp\User\CredentialInterface;
7+
use MsgPhp\User\Event\Domain\ChangeCredentialEvent;
88

99
/**
1010
* @author Roland Franssen <[email protected]>
1111
*/
1212
final class Anonymous implements CredentialInterface
1313
{
14+
public function __invoke(ChangeCredentialEvent $event): bool
15+
{
16+
throw new \BadMethodCallException('An anonymous credential cannot be changed.');
17+
}
18+
1419
public static function getUsernameField(): string
1520
{
16-
throw new \LogicException('An anonymous credential has no username field.');
21+
throw new \BadMethodCallException('An anonymous credential has no username field.');
1722
}
1823

1924
public function getUsername(): string
2025
{
21-
throw new \LogicException('An anonymous credential has no username.');
26+
throw new \BadMethodCallException('An anonymous credential has no username.');
2227
}
2328
}
Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,17 @@
22

33
declare(strict_types=1);
44

5-
namespace MsgPhp\User;
5+
namespace MsgPhp\User\Credential;
6+
7+
use MsgPhp\User\Event\Domain\ChangeCredentialEvent;
68

79
/**
810
* @author Roland Franssen <[email protected]>
911
*/
1012
interface CredentialInterface
1113
{
14+
public function __invoke(ChangeCredentialEvent $event): bool;
15+
1216
public static function getUsernameField(): string;
1317

1418
public function getUsername(): string;

Credential/Email.php

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,6 @@
44

55
namespace MsgPhp\User\Credential;
66

7-
use MsgPhp\User\Credential\Features\EmailAsUsername;
8-
use MsgPhp\User\CredentialInterface;
97
use MsgPhp\User\Event\Domain\ChangeCredentialEvent;
108

119
/**
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
declare(strict_types=1);
44

5-
namespace MsgPhp\User\Credential\Features;
5+
namespace MsgPhp\User\Credential;
66

77
/**
88
* @author Roland Franssen <[email protected]>

Credential/EmailPassword.php

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,12 @@
44

55
namespace MsgPhp\User\Credential;
66

7-
use MsgPhp\User\Credential\Features\EmailAsUsername;
8-
use MsgPhp\User\Credential\Features\PasswordProtection;
9-
use MsgPhp\User\CredentialInterface;
107
use MsgPhp\User\Event\Domain\ChangeCredentialEvent;
11-
use MsgPhp\User\Password\PasswordProtectedInterface;
128

139
/**
1410
* @author Roland Franssen <[email protected]>
1511
*/
16-
final class EmailPassword implements CredentialInterface, PasswordProtectedInterface
12+
final class EmailPassword implements PasswordProtectedCredentialInterface
1713
{
1814
use EmailAsUsername;
1915
use PasswordProtection;

Credential/Nickname.php

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,6 @@
44

55
namespace MsgPhp\User\Credential;
66

7-
use MsgPhp\User\Credential\Features\NicknameAsUsername;
8-
use MsgPhp\User\CredentialInterface;
97
use MsgPhp\User\Event\Domain\ChangeCredentialEvent;
108

119
/**

Credential/Features/NicknameAsUsername.php renamed to Credential/NicknameAsUsername.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
declare(strict_types=1);
44

5-
namespace MsgPhp\User\Credential\Features;
5+
namespace MsgPhp\User\Credential;
66

77
/**
88
* @author Roland Franssen <[email protected]>

Credential/NicknamePassword.php

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,12 @@
44

55
namespace MsgPhp\User\Credential;
66

7-
use MsgPhp\User\Credential\Features\NicknameAsUsername;
8-
use MsgPhp\User\Credential\Features\PasswordProtection;
9-
use MsgPhp\User\CredentialInterface;
107
use MsgPhp\User\Event\Domain\ChangeCredentialEvent;
11-
use MsgPhp\User\Password\PasswordProtectedInterface;
128

139
/**
1410
* @author Roland Franssen <[email protected]>
1511
*/
16-
final class NicknamePassword implements CredentialInterface, PasswordProtectedInterface
12+
final class NicknamePassword implements PasswordProtectedCredentialInterface
1713
{
1814
use NicknameAsUsername;
1915
use PasswordProtection;
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace MsgPhp\User\Credential;
6+
7+
use MsgPhp\User\Password\PasswordAlgorithm;
8+
9+
/**
10+
* Represents a password protected credential. The password is usually a *hashed* value (thus secret).
11+
*
12+
* @author Roland Franssen <[email protected]>
13+
*/
14+
interface PasswordProtectedCredentialInterface extends CredentialInterface
15+
{
16+
public function getPassword(): string;
17+
18+
public function getPasswordAlgorithm(): ?PasswordAlgorithm;
19+
}

Credential/Features/PasswordProtection.php renamed to Credential/PasswordProtection.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
declare(strict_types=1);
44

5-
namespace MsgPhp\User\Credential\Features;
5+
namespace MsgPhp\User\Credential;
66

77
use MsgPhp\User\Password\PasswordAlgorithm;
88

0 commit comments

Comments
 (0)