TokenRepositoryInterface
last analyzed

Size/Duplication

Total Lines 51
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
dl 0
loc 51
c 0
b 0
f 0

5 Methods

Rating   Name   Duplication   Size   Complexity  
get() 0 1 ?
findExisting() 0 1 ?
exists() 0 1 ?
create() 0 1 ?
update() 0 1 ?
1
<?php
2
3
namespace Yokai\SecurityTokenBundle\Repository;
4
5
use Yokai\SecurityTokenBundle\Entity\Token;
6
use Yokai\SecurityTokenBundle\Exception\TokenExpiredException;
7
use Yokai\SecurityTokenBundle\Exception\TokenNotFoundException;
8
use Yokai\SecurityTokenBundle\Exception\TokenConsumedException;
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($value, $purpose);
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($userClass, $userId, $purpose);
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 boolean
49
     */
50
    public function exists($value, $purpose);
51
52
    /**
53
     * Add a token to storage.
54
     *
55
     * @param Token $token The token to add
56
     */
57
    public function create(Token $token);
0 ignored issues
show
Documentation introduced by
For interfaces and abstract methods it is generally a good practice to add a @return annotation even if it is just @return void or @return null, so that implementors know what to do in the overridden method.

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 @return doc comment to communicate to implementors of these methods what they are expected to return.

Loading history...
58
59
    /**
60
     * Update a token to storage.
61
     *
62
     * @param Token $token The token to update
63
     */
64
    public function update(Token $token);
0 ignored issues
show
Documentation introduced by
For interfaces and abstract methods it is generally a good practice to add a @return annotation even if it is just @return void or @return null, so that implementors know what to do in the overridden method.

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 @return doc comment to communicate to implementors of these methods what they are expected to return.

Loading history...
65
}
66