Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
13 / 13
100.00% covered (success)
100.00%
13 / 13
CRAP
100.00% covered (success)
100.00%
1 / 1
AccessToken
100.00% covered (success)
100.00%
13 / 13
100.00% covered (success)
100.00%
13 / 13
14
100.00% covered (success)
100.00%
1 / 1
 getId
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
2
 setId
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getUser
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 setUser
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getPurpose
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 setPurpose
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getToken
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 setToken
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getCreatedAt
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 setCreatedAt
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getExpiresAt
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 setExpiresAt
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 testOnlyGetField
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
1<?php
2
3namespace Olz\Entity;
4
5use Doctrine\ORM\Mapping as ORM;
6use Olz\Entity\Common\TestableInterface;
7use Olz\Entity\Users\User;
8use Olz\Repository\AccessTokenRepository;
9
10#[ORM\Table(name: 'access_tokens')]
11#[ORM\Index(name: 'token_index', columns: ['token'])]
12#[ORM\Index(name: 'user_id_index', columns: ['user_id'])]
13#[ORM\Entity(repositoryClass: AccessTokenRepository::class)]
14class AccessToken implements TestableInterface {
15    #[ORM\ManyToOne(targetEntity: User::class)]
16    #[ORM\JoinColumn(name: 'user_id', referencedColumnName: 'id', nullable: true)]
17    private ?User $user;
18
19    #[ORM\Column(type: 'string', nullable: false)]
20    private string $purpose;
21
22    #[ORM\Column(type: 'string', nullable: false)]
23    private string $token;
24
25    #[ORM\Column(type: 'datetime', nullable: false)]
26    private \DateTime $created_at;
27
28    #[ORM\Column(type: 'datetime', nullable: true)]
29    private ?\DateTime $expires_at;
30
31    #[ORM\Id]
32    #[ORM\Column(type: 'bigint', nullable: false)]
33    #[ORM\GeneratedValue]
34    private int|string $id;
35
36    public function getId(): ?int {
37        return isset($this->id) ? intval($this->id) : null;
38    }
39
40    public function setId(int $new_id): void {
41        $this->id = $new_id;
42    }
43
44    public function getUser(): ?User {
45        return $this->user;
46    }
47
48    public function setUser(?User $new_user): void {
49        $this->user = $new_user;
50    }
51
52    public function getPurpose(): string {
53        return $this->purpose;
54    }
55
56    public function setPurpose(string $new_purpose): void {
57        $this->purpose = $new_purpose;
58    }
59
60    public function getToken(): string {
61        return $this->token;
62    }
63
64    public function setToken(string $new_token): void {
65        $this->token = $new_token;
66    }
67
68    public function getCreatedAt(): \DateTime {
69        return $this->created_at;
70    }
71
72    public function setCreatedAt(\DateTime $new_created_at): void {
73        $this->created_at = $new_created_at;
74    }
75
76    public function getExpiresAt(): ?\DateTime {
77        return $this->expires_at;
78    }
79
80    public function setExpiresAt(?\DateTime $new_expires_at): void {
81        $this->expires_at = $new_expires_at;
82    }
83
84    // ---
85
86    public function testOnlyGetField(string $field_name): mixed {
87        return $this->{$field_name};
88    }
89}