yokai-php /
security-token-bundle
These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more
| 1 | <?php |
||
| 2 | |||
| 3 | namespace Yokai\SecurityTokenBundle\Repository; |
||
| 4 | |||
| 5 | use Yokai\SecurityTokenBundle\Entity\Token; |
||
| 6 | use Yokai\SecurityTokenBundle\Exception\TokenConsumedException; |
||
| 7 | use Yokai\SecurityTokenBundle\Exception\TokenExpiredException; |
||
| 8 | use Yokai\SecurityTokenBundle\Exception\TokenNotFoundException; |
||
| 9 | |||
| 10 | /** |
||
| 11 | * A token repository handles token persistence. |
||
| 12 | * |
||
| 13 | * @author Yann Eugoné <[email protected]> |
||
| 14 | */ |
||
| 15 | interface TokenRepositoryInterface |
||
| 16 | { |
||
| 17 | /** |
||
| 18 | * Gets a Token instance from storage. |
||
| 19 | * |
||
| 20 | * @param string $value The token value |
||
| 21 | * @param string $purpose The token purpose |
||
| 22 | * |
||
| 23 | * @return Token |
||
| 24 | * |
||
| 25 | * @throws TokenNotFoundException if the token cannot be found |
||
| 26 | * @throws TokenExpiredException if the token is expired |
||
| 27 | * @throws TokenConsumedException if the token is consumed |
||
| 28 | */ |
||
| 29 | public function get(string $value, string $purpose): Token; |
||
| 30 | |||
| 31 | /** |
||
| 32 | * Find existing and active token for user and purpose. |
||
| 33 | * |
||
| 34 | * @param string $userClass The user class |
||
| 35 | * @param string $userId The user identifier |
||
| 36 | * @param string $purpose The token purpose |
||
| 37 | * |
||
| 38 | * @return Token|null |
||
| 39 | */ |
||
| 40 | public function findExisting(string $userClass, string $userId, string $purpose): ?Token; |
||
| 41 | |||
| 42 | /** |
||
| 43 | * Tell whether or not it exists a token for given purpose and value. |
||
| 44 | * |
||
| 45 | * @param string $value A token value |
||
| 46 | * @param string $purpose A token purpose |
||
| 47 | * |
||
| 48 | * @return bool |
||
| 49 | */ |
||
| 50 | public function exists(string $value, string $purpose): bool; |
||
| 51 | |||
| 52 | /** |
||
| 53 | * Add a token to storage. |
||
| 54 | * |
||
| 55 | * @param Token $token The token to add |
||
| 56 | */ |
||
| 57 | public function create(Token $token): void; |
||
|
0 ignored issues
–
show
|
|||
| 58 | |||
| 59 | /** |
||
| 60 | * Update a token to storage. |
||
| 61 | * |
||
| 62 | * @param Token $token The token to update |
||
| 63 | */ |
||
| 64 | public function update(Token $token): void; |
||
| 65 | } |
||
| 66 |
For interface and abstract methods, it is impossible to infer the return type from the immediate code. In these cases, it is generally advisible to explicitly annotate these methods with a
@returndoc comment to communicate to implementors of these methods what they are expected to return.