From 9730156ad294e6168367e4c518c80bb6e5d0bae9 Mon Sep 17 00:00:00 2001 From: Vadims Date: Mon, 15 Apr 2024 13:36:15 +0300 Subject: [PATCH] fix: handle unique error in admin dashboard --- src/Airport/Entity/Airport.php | 3 +++ src/City/Entity/City.php | 4 +++- src/Country/Entity/Country.php | 5 +++++ src/Currency/Entity/Currency.php | 3 +++ src/Nationality/Entity/Nationality.php | 2 ++ src/Region/Entity/Region.php | 2 ++ src/State/Entity/State.php | 1 + src/SubRegion/Entity/SubRegion.php | 2 ++ src/Timezone/Entity/Timezone.php | 3 +++ 9 files changed, 24 insertions(+), 1 deletion(-) diff --git a/src/Airport/Entity/Airport.php b/src/Airport/Entity/Airport.php index f2cd43f..386786f 100644 --- a/src/Airport/Entity/Airport.php +++ b/src/Airport/Entity/Airport.php @@ -13,9 +13,12 @@ use Ramsey\Uuid\Doctrine\UuidGenerator; use Ramsey\Uuid\UuidInterface; use Symfony\Bridge\Doctrine\Types\UuidType; +use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity; #[ORM\Entity(repositoryClass: AirportRepository::class)] #[ORM\HasLifecycleCallbacks] +#[UniqueEntity('icao')] +#[UniqueEntity('iata')] class Airport { use TimestampTrait; diff --git a/src/City/Entity/City.php b/src/City/Entity/City.php index 2ec9a20..3639177 100644 --- a/src/City/Entity/City.php +++ b/src/City/Entity/City.php @@ -13,10 +13,12 @@ use Ramsey\Uuid\UuidInterface; use Symfony\Bridge\Doctrine\Types\UuidType; use Doctrine\ORM\Mapping as ORM; +use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity; #[ORM\Entity(repositoryClass: CityRepository::class)] #[ORM\HasLifecycleCallbacks] #[ORM\UniqueConstraint(name: 'city_title__country_unique', columns: ['country_id', 'title'])] +#[UniqueEntity('iata')] class City { use TimestampTrait; @@ -39,7 +41,7 @@ class City #[ORM\Column(length: 150, nullable: false)] private string $title; - #[ORM\Column(length: 3, nullable: true)] + #[ORM\Column(length: 3, nullable: true, unique: true)] private ?string $iata = null; public function __construct(?UuidInterface $id = null) diff --git a/src/Country/Entity/Country.php b/src/Country/Entity/Country.php index 9edfefe..bfaddb2 100644 --- a/src/Country/Entity/Country.php +++ b/src/Country/Entity/Country.php @@ -17,9 +17,14 @@ use Ramsey\Uuid\Doctrine\UuidGenerator; use Ramsey\Uuid\UuidInterface; use Symfony\Bridge\Doctrine\Types\UuidType; +use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity; #[ORM\Entity(repositoryClass: CountryRepository::class)] #[ORM\HasLifecycleCallbacks] +#[UniqueEntity('title')] +#[UniqueEntity('iso2')] +#[UniqueEntity('iso3')] +#[UniqueEntity('numericCode')] class Country { use TimestampTrait; diff --git a/src/Currency/Entity/Currency.php b/src/Currency/Entity/Currency.php index 0b88237..a627af8 100644 --- a/src/Currency/Entity/Currency.php +++ b/src/Currency/Entity/Currency.php @@ -10,9 +10,12 @@ use Ramsey\Uuid\Doctrine\UuidGenerator; use Ramsey\Uuid\Doctrine\UuidType; use Ramsey\Uuid\UuidInterface; +use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity; #[ORM\Entity(repositoryClass: CurrencyRepository::class)] #[ORM\HasLifecycleCallbacks] +#[UniqueEntity('code')] +#[UniqueEntity('name')] class Currency { use TimestampTrait; diff --git a/src/Nationality/Entity/Nationality.php b/src/Nationality/Entity/Nationality.php index 56dd73a..4f043eb 100644 --- a/src/Nationality/Entity/Nationality.php +++ b/src/Nationality/Entity/Nationality.php @@ -10,9 +10,11 @@ use Ramsey\Uuid\Doctrine\UuidGenerator; use Ramsey\Uuid\UuidInterface; use Symfony\Bridge\Doctrine\Types\UuidType; +use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity; #[ORM\Entity(repositoryClass: NationalityRepository::class)] #[ORM\HasLifecycleCallbacks] +#[UniqueEntity('title')] class Nationality { use TimestampTrait; diff --git a/src/Region/Entity/Region.php b/src/Region/Entity/Region.php index bfdce01..cf5d4c7 100644 --- a/src/Region/Entity/Region.php +++ b/src/Region/Entity/Region.php @@ -10,9 +10,11 @@ use Ramsey\Uuid\Doctrine\UuidGenerator; use Ramsey\Uuid\UuidInterface; use Symfony\Bridge\Doctrine\Types\UuidType; +use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity; #[ORM\Entity(repositoryClass: RegionRepository::class)] #[ORM\HasLifecycleCallbacks] +#[UniqueEntity('title')] class Region { use TimestampTrait; diff --git a/src/State/Entity/State.php b/src/State/Entity/State.php index fa42973..e69762a 100644 --- a/src/State/Entity/State.php +++ b/src/State/Entity/State.php @@ -12,6 +12,7 @@ use Ramsey\Uuid\UuidInterface; use Doctrine\ORM\Mapping as ORM; use Symfony\Bridge\Doctrine\Types\UuidType; +use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity; #[ORM\Entity(repositoryClass: StateRepository::class)] #[ORM\HasLifecycleCallbacks] diff --git a/src/SubRegion/Entity/SubRegion.php b/src/SubRegion/Entity/SubRegion.php index 0731efe..0661871 100644 --- a/src/SubRegion/Entity/SubRegion.php +++ b/src/SubRegion/Entity/SubRegion.php @@ -11,9 +11,11 @@ use Ramsey\Uuid\Doctrine\UuidGenerator; use Ramsey\Uuid\UuidInterface; use Symfony\Bridge\Doctrine\Types\UuidType; +use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity; #[ORM\Entity(repositoryClass: SubRegionRepository::class)] #[ORM\HasLifecycleCallbacks] +#[UniqueEntity('title')] class SubRegion { use TimestampTrait; diff --git a/src/Timezone/Entity/Timezone.php b/src/Timezone/Entity/Timezone.php index fdcdd9a..a9674a0 100644 --- a/src/Timezone/Entity/Timezone.php +++ b/src/Timezone/Entity/Timezone.php @@ -10,9 +10,12 @@ use Ramsey\Uuid\Doctrine\UuidGenerator; use Ramsey\Uuid\UuidInterface; use Symfony\Bridge\Doctrine\Types\UuidType; +use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity; #[ORM\Entity(repositoryClass: TimezoneRepository::class)] #[ORM\HasLifecycleCallbacks] +#[UniqueEntity('title')] +#[UniqueEntity('code')] class Timezone { use TimestampTrait;