Added Timestampable interface to entities that missed it, to fix timetravel in certain cases

This commit is contained in:
Jan Böhmer 2023-11-27 17:53:35 +01:00
parent 584062c29a
commit da0845c11c
5 changed files with 10 additions and 5 deletions

View file

@ -37,6 +37,7 @@ use ApiPlatform\Metadata\Patch;
use ApiPlatform\Metadata\Post;
use ApiPlatform\Serializer\Filter\PropertyFilter;
use App\ApiPlatform\Filter\LikeFilter;
use App\Entity\Contracts\TimeStampableInterface;
use App\Repository\DBElementRepository;
use Doctrine\DBAL\Types\Types;
use Doctrine\ORM\Mapping as ORM;
@ -68,7 +69,7 @@ use Symfony\Component\Validator\Constraints as Assert;
#[ApiFilter(LikeFilter::class, properties: ["other_type", "comment"])]
#[ApiFilter(DateFilter::class, strategy: DateFilter::EXCLUDE_NULL)]
#[ApiFilter(OrderFilter::class, properties: ['comment', 'addedDate', 'lastModified'])]
class PartAssociation extends AbstractDBElement
class PartAssociation extends AbstractDBElement implements TimeStampableInterface
{
use TimestampTrait;

View file

@ -35,6 +35,7 @@ use ApiPlatform\Metadata\Post;
use ApiPlatform\OpenApi\Model\Operation;
use ApiPlatform\Serializer\Filter\PropertyFilter;
use App\ApiPlatform\Filter\LikeFilter;
use App\Entity\Contracts\TimeStampableInterface;
use App\Validator\UniqueValidatableInterface;
use Doctrine\DBAL\Types\Types;
use App\Entity\Base\AbstractDBElement;
@ -84,7 +85,7 @@ use Symfony\Component\Validator\Context\ExecutionContextInterface;
#[ApiFilter(LikeFilter::class, properties: ["name", "comment", 'mountnames'])]
#[ApiFilter(RangeFilter::class, properties: ['quantity'])]
#[ApiFilter(OrderFilter::class, properties: ['name', 'id', 'addedDate', 'lastModified', 'quantity'])]
class ProjectBOMEntry extends AbstractDBElement implements UniqueValidatableInterface
class ProjectBOMEntry extends AbstractDBElement implements UniqueValidatableInterface, TimeStampableInterface
{
use TimestampTrait;

View file

@ -30,6 +30,7 @@ use ApiPlatform\OpenApi\Model\Operation;
use ApiPlatform\Serializer\Filter\PropertyFilter;
use App\Entity\Base\AbstractNamedDBElement;
use App\Entity\Base\TimestampTrait;
use App\Entity\Contracts\TimeStampableInterface;
use App\Repository\UserSystem\ApiTokenRepository;
use App\State\CurrentApiTokenProvider;
use App\State\PartDBInfoProvider;
@ -54,7 +55,7 @@ use Symfony\Component\Validator\Constraints\NotBlank;
provider: CurrentApiTokenProvider::class,
)]
#[ApiFilter(PropertyFilter::class)]
class ApiToken
class ApiToken implements TimeStampableInterface
{
use TimestampTrait;

View file

@ -22,6 +22,7 @@ declare(strict_types=1);
namespace App\Entity\UserSystem;
use App\Entity\Contracts\TimeStampableInterface;
use Doctrine\DBAL\Types\Types;
use App\Entity\Base\TimestampTrait;
use Doctrine\ORM\Mapping as ORM;
@ -31,7 +32,7 @@ use Jbtronics\TFAWebauthn\Model\LegacyU2FKeyInterface;
#[ORM\HasLifecycleCallbacks]
#[ORM\Table(name: 'u2f_keys')]
#[ORM\UniqueConstraint(name: 'user_unique', columns: ['user_id', 'key_handle'])]
class U2FKey implements LegacyU2FKeyInterface
class U2FKey implements LegacyU2FKeyInterface, TimeStampableInterface
{
use TimestampTrait;

View file

@ -22,6 +22,7 @@ declare(strict_types=1);
*/
namespace App\Entity\UserSystem;
use App\Entity\Contracts\TimeStampableInterface;
use Doctrine\DBAL\Types\Types;
use App\Entity\Base\TimestampTrait;
use Doctrine\ORM\Mapping as ORM;
@ -31,7 +32,7 @@ use Webauthn\PublicKeyCredentialSource as BasePublicKeyCredentialSource;
#[ORM\Entity]
#[ORM\HasLifecycleCallbacks]
#[ORM\Table(name: 'webauthn_keys')]
class WebauthnKey extends BasePublicKeyCredentialSource
class WebauthnKey extends BasePublicKeyCredentialSource implements TimeStampableInterface
{
use TimestampTrait;