diff --git a/.env b/.env index e6c9e5043a492e38e42076487b302845cb07cff1..0a0d6c5c94342f27f8660b8688fe1ce4a51892d7 100644 --- a/.env +++ b/.env @@ -26,7 +26,7 @@ APP_SECRET=ea3ebbf899855d483050e0d1aad6a759 # DATABASE_URL="sqlite:///%kernel.project_dir%/var/data.db" # DATABASE_URL="mysql://app:!ChangeMe!@127.0.0.1:3306/app?serverVersion=8.0.32&charset=utf8mb4" # DATABASE_URL="mysql://app:!ChangeMe!@127.0.0.1:3306/app?serverVersion=10.11.2-MariaDB&charset=utf8mb4" -DATABASE_URL="postgresql://postgres:12345@127.0.0.1:5432/app?serverVersion=16&charset=utf8" +DATABASE_URL="postgresql://postgres:12345@127.0.0.1:5433/postgres?serverVersion=16&charset=utf8" ###< doctrine/doctrine-bundle ### ###> symfony/messenger ### diff --git a/composer.json b/composer.json index e4fcbc19e56f2220a6b384ae8cc1b588f96b40a5..b4e8fa85c17abe252ced221ed44e24f84c416c69 100644 --- a/composer.json +++ b/composer.json @@ -38,6 +38,7 @@ "symfony/string": "7.0.*", "symfony/translation": "7.0.*", "symfony/twig-bundle": "7.0.*", + "symfony/uid": "7.0.*", "symfony/ux-turbo": "^2.16", "symfony/validator": "6.4.*", "symfony/web-link": "7.0.*", diff --git a/composer.lock b/composer.lock index 8a0131f764178aba4c80592c54804f9a5f3f9f08..45f3c979bd82b3a193fdf2cb0843b2728db3ba31 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "82e62585d889ab4827bf4bf460016802", + "content-hash": "b1f7459f48c910e2a39af6ee5a9b80eb", "packages": [ { "name": "composer/semver", @@ -5241,6 +5241,85 @@ ], "time": "2024-01-29T20:11:03+00:00" }, + { + "name": "symfony/polyfill-uuid", + "version": "v1.29.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-uuid.git", + "reference": "3abdd21b0ceaa3000ee950097bc3cf9efc137853" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-uuid/zipball/3abdd21b0ceaa3000ee950097bc3cf9efc137853", + "reference": "3abdd21b0ceaa3000ee950097bc3cf9efc137853", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "provide": { + "ext-uuid": "*" + }, + "suggest": { + "ext-uuid": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Uuid\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Grégoire Pineau", + "email": "lyrixx@lyrixx.info" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for uuid functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "uuid" + ], + "support": { + "source": "https://github.com/symfony/polyfill-uuid/tree/v1.29.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-01-29T20:11:03+00:00" + }, { "name": "symfony/process", "version": "v7.0.4", @@ -6729,6 +6808,80 @@ ], "time": "2024-02-15T11:33:06+00:00" }, + { + "name": "symfony/uid", + "version": "v7.0.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/uid.git", + "reference": "87cedaf3fabd7b733859d4d77aa4ca598259054b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/uid/zipball/87cedaf3fabd7b733859d4d77aa4ca598259054b", + "reference": "87cedaf3fabd7b733859d4d77aa4ca598259054b", + "shasum": "" + }, + "require": { + "php": ">=8.2", + "symfony/polyfill-uuid": "^1.15" + }, + "require-dev": { + "symfony/console": "^6.4|^7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Uid\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Grégoire Pineau", + "email": "lyrixx@lyrixx.info" + }, + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides an object-oriented API to generate and represent UIDs", + "homepage": "https://symfony.com", + "keywords": [ + "UID", + "ulid", + "uuid" + ], + "support": { + "source": "https://github.com/symfony/uid/tree/v7.0.3" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-01-23T15:02:46+00:00" + }, { "name": "symfony/ux-turbo", "version": "v2.16.0", diff --git a/migrations/Version20240423071100.php b/migrations/Version20240423071100.php new file mode 100644 index 0000000000000000000000000000000000000000..f16e9f8cea3dafa67a372815dcc4b2d6662e2526 --- /dev/null +++ b/migrations/Version20240423071100.php @@ -0,0 +1,103 @@ +<?php + +declare(strict_types=1); + +namespace DoctrineMigrations; + +use Doctrine\DBAL\Schema\Schema; +use Doctrine\Migrations\AbstractMigration; + +/** + * Auto-generated Migration: Please modify to your needs! + */ +final class Version20240423071100 extends AbstractMigration +{ + public function getDescription(): string + { + return ''; + } + + public function up(Schema $schema): void + { + // this up() migration is auto-generated, please modify it to your needs + $this->addSql('CREATE SEQUENCE address_id_seq INCREMENT BY 1 MINVALUE 1 START 1'); + $this->addSql('CREATE SEQUENCE email_id_seq INCREMENT BY 1 MINVALUE 1 START 1'); + $this->addSql('CREATE SEQUENCE news_comment_id_seq INCREMENT BY 1 MINVALUE 1 START 1'); + $this->addSql('CREATE SEQUENCE news_type_id_seq INCREMENT BY 1 MINVALUE 1 START 1'); + $this->addSql('CREATE SEQUENCE phone_id_seq INCREMENT BY 1 MINVALUE 1 START 1'); + $this->addSql('CREATE SEQUENCE restaurant_id_seq INCREMENT BY 1 MINVALUE 1 START 1'); + $this->addSql('CREATE SEQUENCE tags_id_seq INCREMENT BY 1 MINVALUE 1 START 1'); + $this->addSql('CREATE TABLE address (id INT NOT NULL, restaurant_id INT NOT NULL, name VARCHAR(255) NOT NULL, PRIMARY KEY(id))'); + $this->addSql('CREATE INDEX IDX_D4E6F81B1E7706E ON address (restaurant_id)'); + $this->addSql('CREATE TABLE email (id INT NOT NULL, restaurant_id INT NOT NULL, name VARCHAR(255) NOT NULL, PRIMARY KEY(id))'); + $this->addSql('CREATE INDEX IDX_E7927C74B1E7706E ON email (restaurant_id)'); + $this->addSql('CREATE TABLE news (id UUID NOT NULL, type_id INT NOT NULL, code VARCHAR(255) NOT NULL, active BOOLEAN NOT NULL, create_at TIMESTAMP(0) WITHOUT TIME ZONE NOT NULL, update_at TIMESTAMP(0) WITHOUT TIME ZONE NOT NULL, sort INT NOT NULL, preview_image VARCHAR(255) NOT NULL, detail_image VARCHAR(255) NOT NULL, preview_text TEXT NOT NULL, detail_text TEXT NOT NULL, main_page_render BOOLEAN NOT NULL, PRIMARY KEY(id))'); + $this->addSql('CREATE INDEX IDX_1DD39950C54C8C93 ON news (type_id)'); + $this->addSql('COMMENT ON COLUMN news.id IS \'(DC2Type:uuid)\''); + $this->addSql('CREATE TABLE news_comment (id INT NOT NULL, news_id_id UUID NOT NULL, moderator_id_id INT NOT NULL, user_id_id INT NOT NULL, moderated BOOLEAN NOT NULL, user_name VARCHAR(255) NOT NULL, text VARCHAR(255) NOT NULL, create_at TIMESTAMP(0) WITHOUT TIME ZONE NOT NULL, update_at TIMESTAMP(0) WITHOUT TIME ZONE NOT NULL, PRIMARY KEY(id))'); + $this->addSql('CREATE UNIQUE INDEX UNIQ_C3904E8A5FB1909 ON news_comment (news_id_id)'); + $this->addSql('CREATE INDEX IDX_C3904E8ACEB712DF ON news_comment (moderator_id_id)'); + $this->addSql('CREATE INDEX IDX_C3904E8A9D86650F ON news_comment (user_id_id)'); + $this->addSql('COMMENT ON COLUMN news_comment.news_id_id IS \'(DC2Type:uuid)\''); + $this->addSql('CREATE TABLE news_type (id INT NOT NULL, name VARCHAR(255) NOT NULL, PRIMARY KEY(id))'); + $this->addSql('CREATE TABLE phone (id INT NOT NULL, restaurant_id INT NOT NULL, name VARCHAR(255) NOT NULL, PRIMARY KEY(id))'); + $this->addSql('CREATE INDEX IDX_444F97DDB1E7706E ON phone (restaurant_id)'); + $this->addSql('CREATE TABLE restaurant (id INT NOT NULL, type_id_id INT NOT NULL, settlement_id_id INT NOT NULL, uuid UUID NOT NULL, name VARCHAR(255) NOT NULL, code VARCHAR(255) NOT NULL, active BOOLEAN NOT NULL, sort INT NOT NULL, create_at TIMESTAMP(0) WITHOUT TIME ZONE NOT NULL, update_at TIMESTAMP(0) WITHOUT TIME ZONE NOT NULL, coordinates TEXT NOT NULL, description TEXT NOT NULL, check_price VARCHAR(255) NOT NULL, check_info TEXT NOT NULL, site VARCHAR(255) NOT NULL, preview_image VARCHAR(255) NOT NULL, detail_image VARCHAR(255) NOT NULL, how_to_find TEXT NOT NULL, PRIMARY KEY(id))'); + $this->addSql('CREATE UNIQUE INDEX UNIQ_EB95123FD17F50A6 ON restaurant (uuid)'); + $this->addSql('CREATE INDEX IDX_EB95123F714819A0 ON restaurant (type_id_id)'); + $this->addSql('CREATE INDEX IDX_EB95123F45EC589B ON restaurant (settlement_id_id)'); + $this->addSql('COMMENT ON COLUMN restaurant.uuid IS \'(DC2Type:uuid)\''); + $this->addSql('COMMENT ON COLUMN restaurant.coordinates IS \'(DC2Type:array)\''); + $this->addSql('CREATE TABLE tags (id INT NOT NULL, restaurant_id INT NOT NULL, name VARCHAR(255) NOT NULL, PRIMARY KEY(id))'); + $this->addSql('CREATE INDEX IDX_6FBC9426B1E7706E ON tags (restaurant_id)'); + $this->addSql('ALTER TABLE address ADD CONSTRAINT FK_D4E6F81B1E7706E FOREIGN KEY (restaurant_id) REFERENCES restaurant (id) NOT DEFERRABLE INITIALLY IMMEDIATE'); + $this->addSql('ALTER TABLE email ADD CONSTRAINT FK_E7927C74B1E7706E FOREIGN KEY (restaurant_id) REFERENCES restaurant (id) NOT DEFERRABLE INITIALLY IMMEDIATE'); + $this->addSql('ALTER TABLE news ADD CONSTRAINT FK_1DD39950C54C8C93 FOREIGN KEY (type_id) REFERENCES news_type (id) NOT DEFERRABLE INITIALLY IMMEDIATE'); + $this->addSql('ALTER TABLE news_comment ADD CONSTRAINT FK_C3904E8A5FB1909 FOREIGN KEY (news_id_id) REFERENCES news (id) NOT DEFERRABLE INITIALLY IMMEDIATE'); + $this->addSql('ALTER TABLE news_comment ADD CONSTRAINT FK_C3904E8ACEB712DF FOREIGN KEY (moderator_id_id) REFERENCES "user" (id) NOT DEFERRABLE INITIALLY IMMEDIATE'); + $this->addSql('ALTER TABLE news_comment ADD CONSTRAINT FK_C3904E8A9D86650F FOREIGN KEY (user_id_id) REFERENCES "user" (id) NOT DEFERRABLE INITIALLY IMMEDIATE'); + $this->addSql('ALTER TABLE phone ADD CONSTRAINT FK_444F97DDB1E7706E FOREIGN KEY (restaurant_id) REFERENCES restaurant (id) NOT DEFERRABLE INITIALLY IMMEDIATE'); + $this->addSql('ALTER TABLE restaurant ADD CONSTRAINT FK_EB95123F714819A0 FOREIGN KEY (type_id_id) REFERENCES restaurant_type (id) NOT DEFERRABLE INITIALLY IMMEDIATE'); + $this->addSql('ALTER TABLE restaurant ADD CONSTRAINT FK_EB95123F45EC589B FOREIGN KEY (settlement_id_id) REFERENCES settlement (id) NOT DEFERRABLE INITIALLY IMMEDIATE'); + $this->addSql('ALTER TABLE tags ADD CONSTRAINT FK_6FBC9426B1E7706E FOREIGN KEY (restaurant_id) REFERENCES restaurant (id) NOT DEFERRABLE INITIALLY IMMEDIATE'); + $this->addSql('ALTER TABLE kitchen ADD restaurant_id INT NOT NULL'); + $this->addSql('ALTER TABLE kitchen ADD CONSTRAINT FK_EAA3CE34B1E7706E FOREIGN KEY (restaurant_id) REFERENCES restaurant (id) NOT DEFERRABLE INITIALLY IMMEDIATE'); + $this->addSql('CREATE INDEX IDX_EAA3CE34B1E7706E ON kitchen (restaurant_id)'); + $this->addSql('CREATE UNIQUE INDEX UNIQ_8D93D649D17F50A6 ON "user" (uuid)'); + } + + public function down(Schema $schema): void + { + // this down() migration is auto-generated, please modify it to your needs + $this->addSql('CREATE SCHEMA public'); + $this->addSql('ALTER TABLE kitchen DROP CONSTRAINT FK_EAA3CE34B1E7706E'); + $this->addSql('DROP SEQUENCE address_id_seq CASCADE'); + $this->addSql('DROP SEQUENCE email_id_seq CASCADE'); + $this->addSql('DROP SEQUENCE news_comment_id_seq CASCADE'); + $this->addSql('DROP SEQUENCE news_type_id_seq CASCADE'); + $this->addSql('DROP SEQUENCE phone_id_seq CASCADE'); + $this->addSql('DROP SEQUENCE restaurant_id_seq CASCADE'); + $this->addSql('DROP SEQUENCE tags_id_seq CASCADE'); + $this->addSql('ALTER TABLE address DROP CONSTRAINT FK_D4E6F81B1E7706E'); + $this->addSql('ALTER TABLE email DROP CONSTRAINT FK_E7927C74B1E7706E'); + $this->addSql('ALTER TABLE news DROP CONSTRAINT FK_1DD39950C54C8C93'); + $this->addSql('ALTER TABLE news_comment DROP CONSTRAINT FK_C3904E8A5FB1909'); + $this->addSql('ALTER TABLE news_comment DROP CONSTRAINT FK_C3904E8ACEB712DF'); + $this->addSql('ALTER TABLE news_comment DROP CONSTRAINT FK_C3904E8A9D86650F'); + $this->addSql('ALTER TABLE phone DROP CONSTRAINT FK_444F97DDB1E7706E'); + $this->addSql('ALTER TABLE restaurant DROP CONSTRAINT FK_EB95123F714819A0'); + $this->addSql('ALTER TABLE restaurant DROP CONSTRAINT FK_EB95123F45EC589B'); + $this->addSql('ALTER TABLE tags DROP CONSTRAINT FK_6FBC9426B1E7706E'); + $this->addSql('DROP TABLE address'); + $this->addSql('DROP TABLE email'); + $this->addSql('DROP TABLE news'); + $this->addSql('DROP TABLE news_comment'); + $this->addSql('DROP TABLE news_type'); + $this->addSql('DROP TABLE phone'); + $this->addSql('DROP TABLE restaurant'); + $this->addSql('DROP TABLE tags'); + $this->addSql('DROP INDEX UNIQ_8D93D649D17F50A6'); + $this->addSql('DROP INDEX IDX_EAA3CE34B1E7706E'); + $this->addSql('ALTER TABLE kitchen DROP restaurant_id'); + } +} diff --git a/migrations/Version20240423071601.php b/migrations/Version20240423071601.php new file mode 100644 index 0000000000000000000000000000000000000000..c8b2ca7296d333ddb2dec3128aa6460ed644af88 --- /dev/null +++ b/migrations/Version20240423071601.php @@ -0,0 +1,40 @@ +<?php + +declare(strict_types=1); + +namespace DoctrineMigrations; + +use Doctrine\DBAL\Schema\Schema; +use Doctrine\Migrations\AbstractMigration; + +/** + * Auto-generated Migration: Please modify to your needs! + */ +final class Version20240423071601 extends AbstractMigration +{ + public function getDescription(): string + { + return ''; + } + + public function up(Schema $schema): void + { + // this up() migration is auto-generated, please modify it to your needs + $this->addSql('CREATE TABLE news_news_category (news_id UUID NOT NULL, news_category_id UUID NOT NULL, PRIMARY KEY(news_id, news_category_id))'); + $this->addSql('CREATE INDEX IDX_1A91D6D6B5A459A0 ON news_news_category (news_id)'); + $this->addSql('CREATE INDEX IDX_1A91D6D63B732BAD ON news_news_category (news_category_id)'); + $this->addSql('COMMENT ON COLUMN news_news_category.news_id IS \'(DC2Type:uuid)\''); + $this->addSql('COMMENT ON COLUMN news_news_category.news_category_id IS \'(DC2Type:uuid)\''); + $this->addSql('ALTER TABLE news_news_category ADD CONSTRAINT FK_1A91D6D6B5A459A0 FOREIGN KEY (news_id) REFERENCES news (id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE'); + $this->addSql('ALTER TABLE news_news_category ADD CONSTRAINT FK_1A91D6D63B732BAD FOREIGN KEY (news_category_id) REFERENCES news_category (id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE'); + } + + public function down(Schema $schema): void + { + // this down() migration is auto-generated, please modify it to your needs + $this->addSql('CREATE SCHEMA public'); + $this->addSql('ALTER TABLE news_news_category DROP CONSTRAINT FK_1A91D6D6B5A459A0'); + $this->addSql('ALTER TABLE news_news_category DROP CONSTRAINT FK_1A91D6D63B732BAD'); + $this->addSql('DROP TABLE news_news_category'); + } +} diff --git a/src/Entity/Address.php b/src/Entity/Address.php new file mode 100644 index 0000000000000000000000000000000000000000..6fa2e409744c5d9c142fb66c18fbd4737c875c75 --- /dev/null +++ b/src/Entity/Address.php @@ -0,0 +1,51 @@ +<?php + +namespace App\Entity; + +use App\Repository\AddressRepository; +use Doctrine\ORM\Mapping as ORM; + +#[ORM\Entity(repositoryClass: AddressRepository::class)] +class Address +{ + #[ORM\Id] + #[ORM\GeneratedValue] + #[ORM\Column] + private ?int $id = null; + + #[ORM\Column(length: 255)] + private ?string $name = null; + + #[ORM\ManyToOne(inversedBy: 'address')] + #[ORM\JoinColumn(nullable: false)] + private ?Restaurant $restaurant = null; + + public function getId(): ?int + { + return $this->id; + } + + public function getName(): ?string + { + return $this->name; + } + + public function setName(string $name): static + { + $this->name = $name; + + return $this; + } + + public function getRestaurant(): ?Restaurant + { + return $this->restaurant; + } + + public function setRestaurant(?Restaurant $restaurant): static + { + $this->restaurant = $restaurant; + + return $this; + } +} diff --git a/src/Entity/Email.php b/src/Entity/Email.php new file mode 100644 index 0000000000000000000000000000000000000000..ba955dba0d2ab5ef9c99169455d98a17d5e0c2e2 --- /dev/null +++ b/src/Entity/Email.php @@ -0,0 +1,51 @@ +<?php + +namespace App\Entity; + +use App\Repository\EmailRepository; +use Doctrine\ORM\Mapping as ORM; + +#[ORM\Entity(repositoryClass: EmailRepository::class)] +class Email +{ + #[ORM\Id] + #[ORM\GeneratedValue] + #[ORM\Column] + private ?int $id = null; + + #[ORM\Column(length: 255)] + private ?string $name = null; + + #[ORM\ManyToOne(inversedBy: 'email')] + #[ORM\JoinColumn(nullable: false)] + private ?Restaurant $restaurant = null; + + public function getId(): ?int + { + return $this->id; + } + + public function getName(): ?string + { + return $this->name; + } + + public function setName(string $name): static + { + $this->name = $name; + + return $this; + } + + public function getRestaurant(): ?Restaurant + { + return $this->restaurant; + } + + public function setRestaurant(?Restaurant $restaurant): static + { + $this->restaurant = $restaurant; + + return $this; + } +} diff --git a/src/Entity/Kitchen.php b/src/Entity/Kitchen.php new file mode 100644 index 0000000000000000000000000000000000000000..2d084758a19d9084148d994613f14b080e967e9c --- /dev/null +++ b/src/Entity/Kitchen.php @@ -0,0 +1,51 @@ +<?php + +namespace App\Entity; + +use App\Repository\KitchenRepository; +use Doctrine\ORM\Mapping as ORM; + +#[ORM\Entity(repositoryClass: KitchenRepository::class)] +class Kitchen +{ + #[ORM\Id] + #[ORM\GeneratedValue] + #[ORM\Column] + private ?int $id = null; + + #[ORM\Column(length: 255)] + private ?string $name = null; + + #[ORM\ManyToOne(inversedBy: 'kitchen')] + #[ORM\JoinColumn(nullable: false)] + private ?Restaurant $restaurant = null; + + public function getId(): ?int + { + return $this->id; + } + + public function getName(): ?string + { + return $this->name; + } + + public function setName(string $name): static + { + $this->name = $name; + + return $this; + } + + public function getRestaurant(): ?Restaurant + { + return $this->restaurant; + } + + public function setRestaurant(?Restaurant $restaurant): static + { + $this->restaurant = $restaurant; + + return $this; + } +} diff --git a/src/Entity/News.php b/src/Entity/News.php new file mode 100644 index 0000000000000000000000000000000000000000..a4de9af03f5262f79ee0281bb48af7dba3f5482a --- /dev/null +++ b/src/Entity/News.php @@ -0,0 +1,224 @@ +<?php + +namespace App\Entity; + +use App\Repository\NewsRepository; +use Doctrine\Common\Collections\ArrayCollection; +use Doctrine\Common\Collections\Collection; +use Doctrine\DBAL\Types\Types; +use Doctrine\ORM\Mapping as ORM; +use Symfony\Component\Uid\Uuid; + +#[ORM\Entity(repositoryClass: NewsRepository::class)] +class News +{ + #[ORM\Id] + #[ORM\Column(type: 'uuid', unique: true)] + private ?Uuid $id = null; + + #[ORM\Column(length: 255)] + private ?string $code = null; + + #[ORM\Column] + private ?bool $active = null; + + #[ORM\Column(type: Types::DATETIME_MUTABLE)] + private ?\DateTimeInterface $createAt = null; + + #[ORM\Column(type: Types::DATETIME_MUTABLE)] + private ?\DateTimeInterface $updateAt = null; + + #[ORM\Column] + private ?int $sort = null; + + #[ORM\Column(length: 255)] + private ?string $previewImage = null; + + #[ORM\Column(length: 255)] + private ?string $detailImage = null; + + #[ORM\Column(type: Types::TEXT)] + private ?string $previewText = null; + + #[ORM\Column(type: Types::TEXT)] + private ?string $detailText = null; + + #[ORM\ManyToOne(inversedBy: 'news')] + #[ORM\JoinColumn(nullable: false)] + private ?NewsType $type = null; + + #[ORM\Column] + private ?bool $mainPageRender = null; + + /** + * @var Collection<int, NewsCategory> + */ + #[ORM\ManyToMany(targetEntity: NewsCategory::class)] + private Collection $newsCategories; + + public function __construct() + { + $this->newsCategories = new ArrayCollection(); + } + + public function getId(): ?Uuid + { + return $this->id; + } + + public function getCode(): ?string + { + return $this->code; + } + + public function setCode(string $code): static + { + $this->code = $code; + + return $this; + } + + public function isActive(): ?bool + { + return $this->active; + } + + public function setActive(bool $active): static + { + $this->active = $active; + + return $this; + } + + public function getCreateAt(): ?\DateTimeInterface + { + return $this->createAt; + } + + public function setCreateAt(\DateTimeInterface $createAt): static + { + $this->createAt = $createAt; + + return $this; + } + + public function getUpdateAt(): ?\DateTimeInterface + { + return $this->updateAt; + } + + public function setUpdateAt(\DateTimeInterface $updateAt): static + { + $this->updateAt = $updateAt; + + return $this; + } + + public function getSort(): ?int + { + return $this->sort; + } + + public function setSort(int $sort): static + { + $this->sort = $sort; + + return $this; + } + + public function getPreviewImage(): ?string + { + return $this->previewImage; + } + + public function setPreviewImage(string $previewImage): static + { + $this->previewImage = $previewImage; + + return $this; + } + + public function getDetailImage(): ?string + { + return $this->detailImage; + } + + public function setDetailImage(string $detailImage): static + { + $this->detailImage = $detailImage; + + return $this; + } + + public function getPreviewText(): ?string + { + return $this->previewText; + } + + public function setPreviewText(string $previewText): static + { + $this->previewText = $previewText; + + return $this; + } + + public function getDetailText(): ?string + { + return $this->detailText; + } + + public function setDetailText(string $detailText): static + { + $this->detailText = $detailText; + + return $this; + } + + public function getType(): ?NewsType + { + return $this->type; + } + + public function setType(?NewsType $type): static + { + $this->type = $type; + + return $this; + } + + public function isMainPageRender(): ?bool + { + return $this->mainPageRender; + } + + public function setMainPageRender(bool $mainPageRender): static + { + $this->mainPageRender = $mainPageRender; + + return $this; + } + + /** + * @return Collection<int, NewsCategory> + */ + public function getNewsCategories(): Collection + { + return $this->newsCategories; + } + + public function addNewsCategory(NewsCategory $newsCategory): static + { + if (!$this->newsCategories->contains($newsCategory)) { + $this->newsCategories->add($newsCategory); + } + + return $this; + } + + public function removeNewsCategory(NewsCategory $newsCategory): static + { + $this->newsCategories->removeElement($newsCategory); + + return $this; + } +} diff --git a/src/Entity/NewsCategory.php b/src/Entity/NewsCategory.php new file mode 100644 index 0000000000000000000000000000000000000000..974a99c1527a6bfb33f36f4c54ce7de667b43fe7 --- /dev/null +++ b/src/Entity/NewsCategory.php @@ -0,0 +1,79 @@ +<?php + +namespace App\Entity; + +use App\Repository\NewsCategoryRepository; +use Doctrine\Common\Collections\ArrayCollection; +use Doctrine\Common\Collections\Collection; +use Doctrine\ORM\Mapping as ORM; +use Symfony\Component\Uid\Uuid; + +#[ORM\Entity(repositoryClass: NewsCategoryRepository::class)] +class NewsCategory +{ + #[ORM\Id] + #[ORM\Column(type: 'uuid', unique: true)] + private ?Uuid $id = null; + + #[ORM\Column(length: 255)] + private ?string $name = null; + + #[ORM\Column(length: 255)] + private ?string $code = null; + + public function getId(): ?Uuid + { + return $this->id; + } + + public function getName(): ?string + { + return $this->name; + } + + public function setName(string $name): static + { + $this->name = $name; + + return $this; + } + + public function getCode(): ?string + { + return $this->code; + } + + public function setCode(string $code): static + { + $this->code = $code; + + return $this; + } + + /** + * @return Collection<int, News> + */ + public function getNews(): Collection + { + return $this->news; + } + + public function addNews(News $news): static + { + if (!$this->news->contains($news)) { + $this->news->add($news); + $news->addNewsCategory($this); + } + + return $this; + } + + public function removeNews(News $news): static + { + if ($this->news->removeElement($news)) { + $news->removeNewsCategory($this); + } + + return $this; + } +} diff --git a/src/Entity/NewsComment.php b/src/Entity/NewsComment.php new file mode 100644 index 0000000000000000000000000000000000000000..44f0e48f82f403e5642813c01fc4089e1e04ab35 --- /dev/null +++ b/src/Entity/NewsComment.php @@ -0,0 +1,144 @@ +<?php + +namespace App\Entity; + +use App\Repository\NewsCommentRepository; +use Doctrine\DBAL\Types\Types; +use Doctrine\ORM\Mapping as ORM; + +#[ORM\Entity(repositoryClass: NewsCommentRepository::class)] +class NewsComment +{ + #[ORM\Id] + #[ORM\GeneratedValue] + #[ORM\Column] + private ?int $id = null; + + #[ORM\OneToOne(cascade: ['persist', 'remove'])] + #[ORM\JoinColumn(nullable: false)] + private ?News $newsId = null; + + #[ORM\Column] + private ?bool $moderated = null; + + #[ORM\ManyToOne] + #[ORM\JoinColumn(nullable: false)] + private ?User $moderatorId = null; + + #[ORM\Column(length: 255)] + private ?string $userName = null; + + #[ORM\ManyToOne(inversedBy: 'newsComments')] + #[ORM\JoinColumn(nullable: false)] + private ?User $userId = null; + + #[ORM\Column(length: 255)] + private ?string $text = null; + + #[ORM\Column(type: Types::DATETIME_MUTABLE)] + private ?\DateTimeInterface $createAt = null; + + #[ORM\Column(type: Types::DATETIME_MUTABLE)] + private ?\DateTimeImmutable $updateAt = null; + + public function getId(): ?int + { + return $this->id; + } + + public function getNewsId(): ?News + { + return $this->newsId; + } + + public function setNewsId(News $newsId): static + { + $this->newsId = $newsId; + + return $this; + } + + public function isModerated(): ?bool + { + return $this->moderated; + } + + public function setModerated(bool $moderated): static + { + $this->moderated = $moderated; + + return $this; + } + + public function getModeratorId(): ?User + { + return $this->moderatorId; + } + + public function setModeratorId(?User $moderatorId): static + { + $this->moderatorId = $moderatorId; + + return $this; + } + + public function getUserName(): ?string + { + return $this->userName; + } + + public function setUserName(string $userName): static + { + $this->userName = $userName; + + return $this; + } + + public function getUserId(): ?User + { + return $this->userId; + } + + public function setUserId(?User $userId): static + { + $this->userId = $userId; + + return $this; + } + + public function getText(): ?string + { + return $this->text; + } + + public function setText(string $text): static + { + $this->text = $text; + + return $this; + } + + public function getCreateAt(): ?\DateTimeInterface + { + return $this->createAt; + } + + public function setCreateAt(\DateTimeInterface $createAt): static + { + $this->createAt = $createAt; + + return $this; + } + + public function getUpdateAt(): ?\DateTimeImmutable + { + return $this->updateAt; + } + + public function setUpdateAt(\DateTimeImmutable $updateAt): static + { + $this->updateAt = $updateAt; + + return $this; + } +} diff --git a/src/Entity/NewsType.php b/src/Entity/NewsType.php new file mode 100644 index 0000000000000000000000000000000000000000..409ac097029db2d0216074692202eb5bdd639588 --- /dev/null +++ b/src/Entity/NewsType.php @@ -0,0 +1,78 @@ +<?php + +namespace App\Entity; + +use App\Repository\NewsTypeRepository; +use Doctrine\Common\Collections\ArrayCollection; +use Doctrine\Common\Collections\Collection; +use Doctrine\ORM\Mapping as ORM; + +#[ORM\Entity(repositoryClass: NewsTypeRepository::class)] +class NewsType +{ + #[ORM\Id] + #[ORM\GeneratedValue] + #[ORM\Column] + private ?int $id = null; + + #[ORM\Column(length: 255)] + private ?string $name = null; + + /** + * @var Collection<int, News> + */ + #[ORM\OneToMany(targetEntity: News::class, mappedBy: 'type')] + private Collection $news; + + public function __construct() + { + $this->news = new ArrayCollection(); + } + + public function getId(): ?int + { + return $this->id; + } + + public function getName(): ?string + { + return $this->name; + } + + public function setName(string $name): static + { + $this->name = $name; + + return $this; + } + + /** + * @return Collection<int, News> + */ + public function getNews(): Collection + { + return $this->news; + } + + public function addNews(News $news): static + { + if (!$this->news->contains($news)) { + $this->news->add($news); + $news->setType($this); + } + + return $this; + } + + public function removeNews(News $news): static + { + if ($this->news->removeElement($news)) { + // set the owning side to null (unless already changed) + if ($news->getType() === $this) { + $news->setType(null); + } + } + + return $this; + } +} diff --git a/src/Entity/Phone.php b/src/Entity/Phone.php new file mode 100644 index 0000000000000000000000000000000000000000..00c028f1ac63b1ac8a15da9d09952dc7d9eafc70 --- /dev/null +++ b/src/Entity/Phone.php @@ -0,0 +1,51 @@ +<?php + +namespace App\Entity; + +use App\Repository\PhoneRepository; +use Doctrine\ORM\Mapping as ORM; + +#[ORM\Entity(repositoryClass: PhoneRepository::class)] +class Phone +{ + #[ORM\Id] + #[ORM\GeneratedValue] + #[ORM\Column] + private ?int $id = null; + + #[ORM\Column(length: 255)] + private ?string $name = null; + + #[ORM\ManyToOne(inversedBy: 'phone')] + #[ORM\JoinColumn(nullable: false)] + private ?Restaurant $restaurant = null; + + public function getId(): ?int + { + return $this->id; + } + + public function getName(): ?string + { + return $this->name; + } + + public function setName(string $name): static + { + $this->name = $name; + + return $this; + } + + public function getRestaurant(): ?Restaurant + { + return $this->restaurant; + } + + public function setRestaurant(?Restaurant $restaurant): static + { + $this->restaurant = $restaurant; + + return $this; + } +} diff --git a/src/Entity/Restaurant.php b/src/Entity/Restaurant.php new file mode 100644 index 0000000000000000000000000000000000000000..02fd3b1da266a445ee0f69ca4b0ecb8e34528643 --- /dev/null +++ b/src/Entity/Restaurant.php @@ -0,0 +1,470 @@ +<?php + +namespace App\Entity; + +use App\Repository\RestaurantRepository; +use Doctrine\Common\Collections\ArrayCollection; +use Doctrine\Common\Collections\Collection; +use Doctrine\DBAL\Types\Types; +use Doctrine\ORM\Mapping as ORM; +use Symfony\Component\Uid\Uuid; + +#[ORM\Entity(repositoryClass: RestaurantRepository::class)] +class Restaurant +{ + #[ORM\Id] + #[ORM\GeneratedValue] + #[ORM\Column] + private ?int $id = null; + + #[ORM\Column(type: 'uuid', unique: true)] + private ?Uuid $uuid = null; + + #[ORM\Column(length: 255)] + private ?string $name = null; + + #[ORM\Column(length: 255)] + private ?string $code = null; + + #[ORM\Column] + private ?bool $active = null; + + #[ORM\Column] + private ?int $sort = null; + + #[ORM\Column(type: Types::DATETIME_MUTABLE)] + private ?\DateTimeInterface $createAt = null; + + #[ORM\Column(type: Types::DATETIME_MUTABLE)] + private ?\DateTimeInterface $updateAt = null; + + #[ORM\Column(type: Types::ARRAY)] + private array $coordinates = []; + + #[ORM\ManyToOne(inversedBy: 'restaurants')] + #[ORM\JoinColumn(nullable: false)] + private ?RestaurantType $typeId = null; + + #[ORM\ManyToOne(inversedBy: 'restaurants')] + #[ORM\JoinColumn(nullable: false)] + private ?Settlement $settlementId = null; + + #[ORM\Column(type: Types::TEXT)] + private ?string $description = null; + + #[ORM\Column(length: 255)] + private ?string $checkPrice = null; + + #[ORM\Column(type: Types::TEXT)] + private ?string $checkInfo = null; + + /** + * @var Collection<int, Kitchen> + */ + #[ORM\OneToMany(targetEntity: Kitchen::class, mappedBy: 'restaurant')] + private Collection $kitchen; + + /** + * @var Collection<int, Phone> + */ + #[ORM\OneToMany(targetEntity: Phone::class, mappedBy: 'restaurant')] + private Collection $phone; + + /** + * @var Collection<int, Email> + */ + #[ORM\OneToMany(targetEntity: Email::class, mappedBy: 'restaurant')] + private Collection $email; + + /** + * @var Collection<int, Address> + */ + #[ORM\OneToMany(targetEntity: Address::class, mappedBy: 'restaurant')] + private Collection $address; + + /** + * @var Collection<int, Tags> + */ + #[ORM\OneToMany(targetEntity: Tags::class, mappedBy: 'restaurant')] + private Collection $tags; + + #[ORM\Column(length: 255)] + private ?string $site = null; + + #[ORM\Column(length: 255)] + private ?string $previewImage = null; + + #[ORM\Column(length: 255)] + private ?string $detailImage = null; + + #[ORM\Column(type: Types::TEXT)] + private ?string $howToFind = null; + + public function __construct() + { + $this->kitchen = new ArrayCollection(); + $this->phone = new ArrayCollection(); + $this->email = new ArrayCollection(); + $this->address = new ArrayCollection(); + $this->tags = new ArrayCollection(); + } + + public function getId(): ?int + { + return $this->id; + } + + public function getUuid(): ?Uuid + { + return $this->uuid; + } + + public function setUuid(Uuid $uuid): static + { + $this->uuid = $uuid; + + return $this; + } + + public function getName(): ?string + { + return $this->name; + } + + public function setName(string $name): static + { + $this->name = $name; + + return $this; + } + + public function getCode(): ?string + { + return $this->code; + } + + public function setCode(string $code): static + { + $this->code = $code; + + return $this; + } + + public function isActive(): ?bool + { + return $this->active; + } + + public function setActive(bool $active): static + { + $this->active = $active; + + return $this; + } + + public function getSort(): ?int + { + return $this->sort; + } + + public function setSort(int $sort): static + { + $this->sort = $sort; + + return $this; + } + + public function getCreateAt(): ?\DateTimeInterface + { + return $this->createAt; + } + + public function setCreateAt(\DateTimeInterface $createAt): static + { + $this->createAt = $createAt; + + return $this; + } + + public function getUpdateAt(): ?\DateTimeInterface + { + return $this->updateAt; + } + + public function setUpdateAt(\DateTimeInterface $updateAt): static + { + $this->updateAt = $updateAt; + + return $this; + } + + public function getCoordinates(): array + { + return $this->coordinates; + } + + public function setCoordinates(array $coordinates): static + { + $this->coordinates = $coordinates; + + return $this; + } + + public function getTypeId(): ?RestaurantType + { + return $this->typeId; + } + + public function setTypeId(?RestaurantType $typeId): static + { + $this->typeId = $typeId; + + return $this; + } + + public function getSettlementId(): ?Settlement + { + return $this->settlementId; + } + + public function setSettlementId(?Settlement $settlementId): static + { + $this->settlementId = $settlementId; + + return $this; + } + + public function getDescription(): ?string + { + return $this->description; + } + + public function setDescription(string $description): static + { + $this->description = $description; + + return $this; + } + + public function getCheckPrice(): ?string + { + return $this->checkPrice; + } + + public function setCheckPrice(string $checkPrice): static + { + $this->checkPrice = $checkPrice; + + return $this; + } + + public function getCheckInfo(): ?string + { + return $this->checkInfo; + } + + public function setCheckInfo(string $checkInfo): static + { + $this->checkInfo = $checkInfo; + + return $this; + } + + /** + * @return Collection<int, Kitchen> + */ + public function getKitchen(): Collection + { + return $this->kitchen; + } + + public function addKitchen(Kitchen $kitchen): static + { + if (!$this->kitchen->contains($kitchen)) { + $this->kitchen->add($kitchen); + $kitchen->setRestaurant($this); + } + + return $this; + } + + public function removeKitchen(Kitchen $kitchen): static + { + if ($this->kitchen->removeElement($kitchen)) { + // set the owning side to null (unless already changed) + if ($kitchen->getRestaurant() === $this) { + $kitchen->setRestaurant(null); + } + } + + return $this; + } + + /** + * @return Collection<int, Phone> + */ + public function getPhone(): Collection + { + return $this->phone; + } + + public function addPhone(Phone $phone): static + { + if (!$this->phone->contains($phone)) { + $this->phone->add($phone); + $phone->setRestaurant($this); + } + + return $this; + } + + public function removePhone(Phone $phone): static + { + if ($this->phone->removeElement($phone)) { + // set the owning side to null (unless already changed) + if ($phone->getRestaurant() === $this) { + $phone->setRestaurant(null); + } + } + + return $this; + } + + /** + * @return Collection<int, Email> + */ + public function getEmail(): Collection + { + return $this->email; + } + + public function addEmail(Email $email): static + { + if (!$this->email->contains($email)) { + $this->email->add($email); + $email->setRestaurant($this); + } + + return $this; + } + + public function removeEmail(Email $email): static + { + if ($this->email->removeElement($email)) { + // set the owning side to null (unless already changed) + if ($email->getRestaurant() === $this) { + $email->setRestaurant(null); + } + } + + return $this; + } + + /** + * @return Collection<int, Address> + */ + public function getAddress(): Collection + { + return $this->address; + } + + public function addAddress(Address $address): static + { + if (!$this->address->contains($address)) { + $this->address->add($address); + $address->setRestaurant($this); + } + + return $this; + } + + public function removeAddress(Address $address): static + { + if ($this->address->removeElement($address)) { + // set the owning side to null (unless already changed) + if ($address->getRestaurant() === $this) { + $address->setRestaurant(null); + } + } + + return $this; + } + + /** + * @return Collection<int, Tags> + */ + public function getTags(): Collection + { + return $this->tags; + } + + public function addTag(Tags $tag): static + { + if (!$this->tags->contains($tag)) { + $this->tags->add($tag); + $tag->setRestaurant($this); + } + + return $this; + } + + public function removeTag(Tags $tag): static + { + if ($this->tags->removeElement($tag)) { + // set the owning side to null (unless already changed) + if ($tag->getRestaurant() === $this) { + $tag->setRestaurant(null); + } + } + + return $this; + } + + public function getSite(): ?string + { + return $this->site; + } + + public function setSite(string $site): static + { + $this->site = $site; + + return $this; + } + + public function getPreviewImage(): ?string + { + return $this->previewImage; + } + + public function setPreviewImage(string $previewImage): static + { + $this->previewImage = $previewImage; + + return $this; + } + + public function getDetailImage(): ?string + { + return $this->detailImage; + } + + public function setDetailImage(string $detailImage): static + { + $this->detailImage = $detailImage; + + return $this; + } + + public function getHowToFind(): ?string + { + return $this->howToFind; + } + + public function setHowToFind(string $howToFind): static + { + $this->howToFind = $howToFind; + + return $this; + } +} diff --git a/src/Entity/RestaurantType.php b/src/Entity/RestaurantType.php new file mode 100644 index 0000000000000000000000000000000000000000..2698a85f08ef297db33b4ad68b3005aeccc100bf --- /dev/null +++ b/src/Entity/RestaurantType.php @@ -0,0 +1,93 @@ +<?php + +namespace App\Entity; + +use App\Repository\RestaurantTypeRepository; +use Doctrine\Common\Collections\ArrayCollection; +use Doctrine\Common\Collections\Collection; +use Doctrine\ORM\Mapping as ORM; + +#[ORM\Entity(repositoryClass: RestaurantTypeRepository::class)] +class RestaurantType +{ + #[ORM\Id] + #[ORM\GeneratedValue] + #[ORM\Column] + private ?int $id = null; + + #[ORM\Column(length: 255)] + private ?string $name = null; + + #[ORM\Column(length: 255)] + private ?string $code = null; + + /** + * @var Collection<int, Restaurant> + */ + #[ORM\OneToMany(targetEntity: Restaurant::class, mappedBy: 'typeId')] + private Collection $restaurants; + + public function __construct() + { + $this->restaurants = new ArrayCollection(); + } + + public function getId(): ?int + { + return $this->id; + } + + public function getName(): ?string + { + return $this->name; + } + + public function setName(string $name): static + { + $this->name = $name; + + return $this; + } + + public function getCode(): ?string + { + return $this->code; + } + + public function setCode(string $code): static + { + $this->code = $code; + + return $this; + } + + /** + * @return Collection<int, Restaurant> + */ + public function getRestaurants(): Collection + { + return $this->restaurants; + } + + public function addRestaurant(Restaurant $restaurant): static + { + if (!$this->restaurants->contains($restaurant)) { + $this->restaurants->add($restaurant); + $restaurant->setTypeId($this); + } + + return $this; + } + + public function removeRestaurant(Restaurant $restaurant): static + { + if ($this->restaurants->removeElement($restaurant)) { + // set the owning side to null (unless already changed) + if ($restaurant->getTypeId() === $this) { + $restaurant->setTypeId(null); + } + } + + return $this; + } +} diff --git a/src/Entity/Settlement.php b/src/Entity/Settlement.php new file mode 100644 index 0000000000000000000000000000000000000000..9f983df8312f4e9c5e43769299161367e3a1343a --- /dev/null +++ b/src/Entity/Settlement.php @@ -0,0 +1,155 @@ +<?php + +namespace App\Entity; + +use App\Repository\SettlementRepository; +use Doctrine\Common\Collections\ArrayCollection; +use Doctrine\Common\Collections\Collection; +use Doctrine\DBAL\Types\Types; +use Doctrine\ORM\Mapping as ORM; +use Symfony\Component\Uid\Uuid; + +#[ORM\Entity(repositoryClass: SettlementRepository::class)] +class Settlement +{ + #[ORM\Id] + #[ORM\GeneratedValue] + #[ORM\Column] + private ?int $id = null; + + #[ORM\Column(type: 'uuid', unique: true)] + private ?Uuid $uuid = null; + + #[ORM\Column(length: 255)] + private ?string $name = null; + + #[ORM\Column(length: 255)] + private ?string $code = null; + + #[ORM\Column(type: Types::ARRAY)] + private array $coordinates = []; + + #[ORM\Column(type: Types::DATETIME_MUTABLE)] + private ?\DateTimeInterface $createAt = null; + + #[ORM\Column(type: Types::DATETIME_MUTABLE)] + private ?\DateTimeInterface $updateAt = null; + + /** + * @var Collection<int, Restaurant> + */ + #[ORM\OneToMany(targetEntity: Restaurant::class, mappedBy: 'settlementId')] + private Collection $restaurants; + + public function __construct() + { + $this->restaurants = new ArrayCollection(); + } + + public function getId(): ?int + { + return $this->id; + } + + public function getUuid(): ?Uuid + { + return $this->uuid; + } + + public function setUuid(Uuid $uuid): static + { + $this->uuid = $uuid; + + return $this; + } + + public function getName(): ?string + { + return $this->name; + } + + public function setName(string $name): static + { + $this->name = $name; + + return $this; + } + + public function getCode(): ?string + { + return $this->code; + } + + public function setCode(string $code): static + { + $this->code = $code; + + return $this; + } + + public function getCoordinates(): array + { + return $this->coordinates; + } + + public function setCoordinates(array $coordinates): static + { + $this->coordinates = $coordinates; + + return $this; + } + + public function getCreateAt(): ?\DateTimeInterface + { + return $this->createAt; + } + + public function setCreateAt(\DateTimeInterface $createAt): static + { + $this->createAt = $createAt; + + return $this; + } + + public function getUpdateAt(): ?\DateTimeInterface + { + return $this->updateAt; + } + + public function setUpdateAt(\DateTimeInterface $updateAt): static + { + $this->updateAt = $updateAt; + + return $this; + } + + /** + * @return Collection<int, Restaurant> + */ + public function getRestaurants(): Collection + { + return $this->restaurants; + } + + public function addRestaurant(Restaurant $restaurant): static + { + if (!$this->restaurants->contains($restaurant)) { + $this->restaurants->add($restaurant); + $restaurant->setSettlementId($this); + } + + return $this; + } + + public function removeRestaurant(Restaurant $restaurant): static + { + if ($this->restaurants->removeElement($restaurant)) { + // set the owning side to null (unless already changed) + if ($restaurant->getSettlementId() === $this) { + $restaurant->setSettlementId(null); + } + } + + return $this; + } +} diff --git a/src/Entity/Tags.php b/src/Entity/Tags.php new file mode 100644 index 0000000000000000000000000000000000000000..34514ad6ba09746c34f816259c4554608b7e169e --- /dev/null +++ b/src/Entity/Tags.php @@ -0,0 +1,51 @@ +<?php + +namespace App\Entity; + +use App\Repository\TagsRepository; +use Doctrine\ORM\Mapping as ORM; + +#[ORM\Entity(repositoryClass: TagsRepository::class)] +class Tags +{ + #[ORM\Id] + #[ORM\GeneratedValue] + #[ORM\Column] + private ?int $id = null; + + #[ORM\Column(length: 255)] + private ?string $name = null; + + #[ORM\ManyToOne(inversedBy: 'tags')] + #[ORM\JoinColumn(nullable: false)] + private ?Restaurant $restaurant = null; + + public function getId(): ?int + { + return $this->id; + } + + public function getName(): ?string + { + return $this->name; + } + + public function setName(string $name): static + { + $this->name = $name; + + return $this; + } + + public function getRestaurant(): ?Restaurant + { + return $this->restaurant; + } + + public function setRestaurant(?Restaurant $restaurant): static + { + $this->restaurant = $restaurant; + + return $this; + } +} diff --git a/src/Entity/User.php b/src/Entity/User.php new file mode 100644 index 0000000000000000000000000000000000000000..7f1d85e372e6efd2889c7346133c3976dc51735a --- /dev/null +++ b/src/Entity/User.php @@ -0,0 +1,95 @@ +<?php + +namespace App\Entity; + +use App\Repository\UserRepository; +use Doctrine\Common\Collections\ArrayCollection; +use Doctrine\Common\Collections\Collection; +use Doctrine\ORM\Mapping as ORM; +use Symfony\Component\Uid\Uuid; + +#[ORM\Entity(repositoryClass: UserRepository::class)] +#[ORM\Table(name: '`user`')] +class User +{ + #[ORM\Id] + #[ORM\GeneratedValue] + #[ORM\Column] + private ?int $id = null; + + #[ORM\Column(type: 'uuid', unique: true)] + private ?Uuid $uuid = null; + + #[ORM\Column(length: 255)] + private ?string $name = null; + + /** + * @var Collection<int, NewsComment> + */ + #[ORM\OneToMany(targetEntity: NewsComment::class, mappedBy: 'userId')] + private Collection $newsComments; + + public function __construct() + { + $this->newsComments = new ArrayCollection(); + } + + public function getId(): ?int + { + return $this->id; + } + + public function getUuid(): ?Uuid + { + return $this->uuid; + } + + public function setUuid(Uuid $uuid): static + { + $this->uuid = $uuid; + + return $this; + } + + public function getName(): ?string + { + return $this->name; + } + + public function setName(string $name): static + { + $this->name = $name; + + return $this; + } + + /** + * @return Collection<int, NewsComment> + */ + public function getNewsComments(): Collection + { + return $this->newsComments; + } + + public function addNewsComment(NewsComment $newsComment): static + { + if (!$this->newsComments->contains($newsComment)) { + $this->newsComments->add($newsComment); + $newsComment->setUserId($this); + } + + return $this; + } + + public function removeNewsComment(NewsComment $newsComment): static + { + if ($this->newsComments->removeElement($newsComment)) { + // set the owning side to null (unless already changed) + if ($newsComment->getUserId() === $this) { + $newsComment->setUserId(null); + } + } + + return $this; + } +} diff --git a/src/Repository/AddressRepository.php b/src/Repository/AddressRepository.php new file mode 100644 index 0000000000000000000000000000000000000000..e87117f70e405b7589e9163f3c41e2d26ac907ee --- /dev/null +++ b/src/Repository/AddressRepository.php @@ -0,0 +1,48 @@ +<?php + +namespace App\Repository; + +use App\Entity\Address; +use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; +use Doctrine\Persistence\ManagerRegistry; + +/** + * @extends ServiceEntityRepository<Address> + * + * @method Address|null find($id, $lockMode = null, $lockVersion = null) + * @method Address|null findOneBy(array $criteria, array $orderBy = null) + * @method Address[] findAll() + * @method Address[] findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null) + */ +class AddressRepository extends ServiceEntityRepository +{ + public function __construct(ManagerRegistry $registry) + { + parent::__construct($registry, Address::class); + } + +// /** +// * @return Address[] Returns an array of Address objects +// */ +// public function findByExampleField($value): array +// { +// return $this->createQueryBuilder('a') +// ->andWhere('a.exampleField = :val') +// ->setParameter('val', $value) +// ->orderBy('a.id', 'ASC') +// ->setMaxResults(10) +// ->getQuery() +// ->getResult() +// ; +// } + +// public function findOneBySomeField($value): ?Address +// { +// return $this->createQueryBuilder('a') +// ->andWhere('a.exampleField = :val') +// ->setParameter('val', $value) +// ->getQuery() +// ->getOneOrNullResult() +// ; +// } +} diff --git a/src/Repository/EmailRepository.php b/src/Repository/EmailRepository.php new file mode 100644 index 0000000000000000000000000000000000000000..f22b0ee0d029d5f706c6be57fde2ad6178b21efb --- /dev/null +++ b/src/Repository/EmailRepository.php @@ -0,0 +1,48 @@ +<?php + +namespace App\Repository; + +use App\Entity\Email; +use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; +use Doctrine\Persistence\ManagerRegistry; + +/** + * @extends ServiceEntityRepository<Email> + * + * @method Email|null find($id, $lockMode = null, $lockVersion = null) + * @method Email|null findOneBy(array $criteria, array $orderBy = null) + * @method Email[] findAll() + * @method Email[] findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null) + */ +class EmailRepository extends ServiceEntityRepository +{ + public function __construct(ManagerRegistry $registry) + { + parent::__construct($registry, Email::class); + } + +// /** +// * @return Email[] Returns an array of Email objects +// */ +// public function findByExampleField($value): array +// { +// return $this->createQueryBuilder('e') +// ->andWhere('e.exampleField = :val') +// ->setParameter('val', $value) +// ->orderBy('e.id', 'ASC') +// ->setMaxResults(10) +// ->getQuery() +// ->getResult() +// ; +// } + +// public function findOneBySomeField($value): ?Email +// { +// return $this->createQueryBuilder('e') +// ->andWhere('e.exampleField = :val') +// ->setParameter('val', $value) +// ->getQuery() +// ->getOneOrNullResult() +// ; +// } +} diff --git a/src/Repository/KitchenRepository.php b/src/Repository/KitchenRepository.php new file mode 100644 index 0000000000000000000000000000000000000000..745766d73b3d27a8293c5c15bf14b4dd0d38384d --- /dev/null +++ b/src/Repository/KitchenRepository.php @@ -0,0 +1,48 @@ +<?php + +namespace App\Repository; + +use App\Entity\Kitchen; +use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; +use Doctrine\Persistence\ManagerRegistry; + +/** + * @extends ServiceEntityRepository<Kitchen> + * + * @method Kitchen|null find($id, $lockMode = null, $lockVersion = null) + * @method Kitchen|null findOneBy(array $criteria, array $orderBy = null) + * @method Kitchen[] findAll() + * @method Kitchen[] findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null) + */ +class KitchenRepository extends ServiceEntityRepository +{ + public function __construct(ManagerRegistry $registry) + { + parent::__construct($registry, Kitchen::class); + } + +// /** +// * @return Kitchen[] Returns an array of Kitchen objects +// */ +// public function findByExampleField($value): array +// { +// return $this->createQueryBuilder('k') +// ->andWhere('k.exampleField = :val') +// ->setParameter('val', $value) +// ->orderBy('k.id', 'ASC') +// ->setMaxResults(10) +// ->getQuery() +// ->getResult() +// ; +// } + +// public function findOneBySomeField($value): ?Kitchen +// { +// return $this->createQueryBuilder('k') +// ->andWhere('k.exampleField = :val') +// ->setParameter('val', $value) +// ->getQuery() +// ->getOneOrNullResult() +// ; +// } +} diff --git a/src/Repository/NewsCategoryRepository.php b/src/Repository/NewsCategoryRepository.php new file mode 100644 index 0000000000000000000000000000000000000000..3a5eeebb501dc92019e437a531fbe0fcbf9d5093 --- /dev/null +++ b/src/Repository/NewsCategoryRepository.php @@ -0,0 +1,48 @@ +<?php + +namespace App\Repository; + +use App\Entity\NewsCategory; +use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; +use Doctrine\Persistence\ManagerRegistry; + +/** + * @extends ServiceEntityRepository<NewsCategory> + * + * @method NewsCategory|null find($id, $lockMode = null, $lockVersion = null) + * @method NewsCategory|null findOneBy(array $criteria, array $orderBy = null) + * @method NewsCategory[] findAll() + * @method NewsCategory[] findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null) + */ +class NewsCategoryRepository extends ServiceEntityRepository +{ + public function __construct(ManagerRegistry $registry) + { + parent::__construct($registry, NewsCategory::class); + } + +// /** +// * @return NewsCategory[] Returns an array of NewsCategory objects +// */ +// public function findByExampleField($value): array +// { +// return $this->createQueryBuilder('n') +// ->andWhere('n.exampleField = :val') +// ->setParameter('val', $value) +// ->orderBy('n.id', 'ASC') +// ->setMaxResults(10) +// ->getQuery() +// ->getResult() +// ; +// } + +// public function findOneBySomeField($value): ?NewsCategory +// { +// return $this->createQueryBuilder('n') +// ->andWhere('n.exampleField = :val') +// ->setParameter('val', $value) +// ->getQuery() +// ->getOneOrNullResult() +// ; +// } +} diff --git a/src/Repository/NewsCommentRepository.php b/src/Repository/NewsCommentRepository.php new file mode 100644 index 0000000000000000000000000000000000000000..1784010b168e15c5a630f0fab35a3cdbfbd61653 --- /dev/null +++ b/src/Repository/NewsCommentRepository.php @@ -0,0 +1,48 @@ +<?php + +namespace App\Repository; + +use App\Entity\NewsComment; +use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; +use Doctrine\Persistence\ManagerRegistry; + +/** + * @extends ServiceEntityRepository<NewsComment> + * + * @method NewsComment|null find($id, $lockMode = null, $lockVersion = null) + * @method NewsComment|null findOneBy(array $criteria, array $orderBy = null) + * @method NewsComment[] findAll() + * @method NewsComment[] findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null) + */ +class NewsCommentRepository extends ServiceEntityRepository +{ + public function __construct(ManagerRegistry $registry) + { + parent::__construct($registry, NewsComment::class); + } + +// /** +// * @return NewsComment[] Returns an array of NewsComment objects +// */ +// public function findByExampleField($value): array +// { +// return $this->createQueryBuilder('n') +// ->andWhere('n.exampleField = :val') +// ->setParameter('val', $value) +// ->orderBy('n.id', 'ASC') +// ->setMaxResults(10) +// ->getQuery() +// ->getResult() +// ; +// } + +// public function findOneBySomeField($value): ?NewsComment +// { +// return $this->createQueryBuilder('n') +// ->andWhere('n.exampleField = :val') +// ->setParameter('val', $value) +// ->getQuery() +// ->getOneOrNullResult() +// ; +// } +} diff --git a/src/Repository/NewsRepository.php b/src/Repository/NewsRepository.php new file mode 100644 index 0000000000000000000000000000000000000000..3b5d8645e9d224f41d8510010eb2ad51d0675722 --- /dev/null +++ b/src/Repository/NewsRepository.php @@ -0,0 +1,48 @@ +<?php + +namespace App\Repository; + +use App\Entity\News; +use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; +use Doctrine\Persistence\ManagerRegistry; + +/** + * @extends ServiceEntityRepository<News> + * + * @method News|null find($id, $lockMode = null, $lockVersion = null) + * @method News|null findOneBy(array $criteria, array $orderBy = null) + * @method News[] findAll() + * @method News[] findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null) + */ +class NewsRepository extends ServiceEntityRepository +{ + public function __construct(ManagerRegistry $registry) + { + parent::__construct($registry, News::class); + } + +// /** +// * @return News[] Returns an array of News objects +// */ +// public function findByExampleField($value): array +// { +// return $this->createQueryBuilder('n') +// ->andWhere('n.exampleField = :val') +// ->setParameter('val', $value) +// ->orderBy('n.id', 'ASC') +// ->setMaxResults(10) +// ->getQuery() +// ->getResult() +// ; +// } + +// public function findOneBySomeField($value): ?News +// { +// return $this->createQueryBuilder('n') +// ->andWhere('n.exampleField = :val') +// ->setParameter('val', $value) +// ->getQuery() +// ->getOneOrNullResult() +// ; +// } +} diff --git a/src/Repository/NewsTypeRepository.php b/src/Repository/NewsTypeRepository.php new file mode 100644 index 0000000000000000000000000000000000000000..385998b7a956694f621dbd6286b876565699a042 --- /dev/null +++ b/src/Repository/NewsTypeRepository.php @@ -0,0 +1,48 @@ +<?php + +namespace App\Repository; + +use App\Entity\NewsType; +use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; +use Doctrine\Persistence\ManagerRegistry; + +/** + * @extends ServiceEntityRepository<NewsType> + * + * @method NewsType|null find($id, $lockMode = null, $lockVersion = null) + * @method NewsType|null findOneBy(array $criteria, array $orderBy = null) + * @method NewsType[] findAll() + * @method NewsType[] findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null) + */ +class NewsTypeRepository extends ServiceEntityRepository +{ + public function __construct(ManagerRegistry $registry) + { + parent::__construct($registry, NewsType::class); + } + +// /** +// * @return NewsType[] Returns an array of NewsType objects +// */ +// public function findByExampleField($value): array +// { +// return $this->createQueryBuilder('n') +// ->andWhere('n.exampleField = :val') +// ->setParameter('val', $value) +// ->orderBy('n.id', 'ASC') +// ->setMaxResults(10) +// ->getQuery() +// ->getResult() +// ; +// } + +// public function findOneBySomeField($value): ?NewsType +// { +// return $this->createQueryBuilder('n') +// ->andWhere('n.exampleField = :val') +// ->setParameter('val', $value) +// ->getQuery() +// ->getOneOrNullResult() +// ; +// } +} diff --git a/src/Repository/PhoneRepository.php b/src/Repository/PhoneRepository.php new file mode 100644 index 0000000000000000000000000000000000000000..de389d66d0b7588d5aaee5cb45780e36ba6ff5f8 --- /dev/null +++ b/src/Repository/PhoneRepository.php @@ -0,0 +1,48 @@ +<?php + +namespace App\Repository; + +use App\Entity\Phone; +use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; +use Doctrine\Persistence\ManagerRegistry; + +/** + * @extends ServiceEntityRepository<Phone> + * + * @method Phone|null find($id, $lockMode = null, $lockVersion = null) + * @method Phone|null findOneBy(array $criteria, array $orderBy = null) + * @method Phone[] findAll() + * @method Phone[] findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null) + */ +class PhoneRepository extends ServiceEntityRepository +{ + public function __construct(ManagerRegistry $registry) + { + parent::__construct($registry, Phone::class); + } + +// /** +// * @return Phone[] Returns an array of Phone objects +// */ +// public function findByExampleField($value): array +// { +// return $this->createQueryBuilder('p') +// ->andWhere('p.exampleField = :val') +// ->setParameter('val', $value) +// ->orderBy('p.id', 'ASC') +// ->setMaxResults(10) +// ->getQuery() +// ->getResult() +// ; +// } + +// public function findOneBySomeField($value): ?Phone +// { +// return $this->createQueryBuilder('p') +// ->andWhere('p.exampleField = :val') +// ->setParameter('val', $value) +// ->getQuery() +// ->getOneOrNullResult() +// ; +// } +} diff --git a/src/Repository/RestaurantRepository.php b/src/Repository/RestaurantRepository.php new file mode 100644 index 0000000000000000000000000000000000000000..8b5b18df316298e7c5f5aed58b29bfcd3da3ae1c --- /dev/null +++ b/src/Repository/RestaurantRepository.php @@ -0,0 +1,48 @@ +<?php + +namespace App\Repository; + +use App\Entity\Restaurant; +use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; +use Doctrine\Persistence\ManagerRegistry; + +/** + * @extends ServiceEntityRepository<Restaurant> + * + * @method Restaurant|null find($id, $lockMode = null, $lockVersion = null) + * @method Restaurant|null findOneBy(array $criteria, array $orderBy = null) + * @method Restaurant[] findAll() + * @method Restaurant[] findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null) + */ +class RestaurantRepository extends ServiceEntityRepository +{ + public function __construct(ManagerRegistry $registry) + { + parent::__construct($registry, Restaurant::class); + } + +// /** +// * @return Restaurant[] Returns an array of Restaurant objects +// */ +// public function findByExampleField($value): array +// { +// return $this->createQueryBuilder('r') +// ->andWhere('r.exampleField = :val') +// ->setParameter('val', $value) +// ->orderBy('r.id', 'ASC') +// ->setMaxResults(10) +// ->getQuery() +// ->getResult() +// ; +// } + +// public function findOneBySomeField($value): ?Restaurant +// { +// return $this->createQueryBuilder('r') +// ->andWhere('r.exampleField = :val') +// ->setParameter('val', $value) +// ->getQuery() +// ->getOneOrNullResult() +// ; +// } +} diff --git a/src/Repository/RestaurantTypeRepository.php b/src/Repository/RestaurantTypeRepository.php new file mode 100644 index 0000000000000000000000000000000000000000..30e6a42d09a2e21561edae74dc89787c2546293e --- /dev/null +++ b/src/Repository/RestaurantTypeRepository.php @@ -0,0 +1,48 @@ +<?php + +namespace App\Repository; + +use App\Entity\RestaurantType; +use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; +use Doctrine\Persistence\ManagerRegistry; + +/** + * @extends ServiceEntityRepository<RestaurantType> + * + * @method RestaurantType|null find($id, $lockMode = null, $lockVersion = null) + * @method RestaurantType|null findOneBy(array $criteria, array $orderBy = null) + * @method RestaurantType[] findAll() + * @method RestaurantType[] findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null) + */ +class RestaurantTypeRepository extends ServiceEntityRepository +{ + public function __construct(ManagerRegistry $registry) + { + parent::__construct($registry, RestaurantType::class); + } + +// /** +// * @return RestaurantType[] Returns an array of RestaurantType objects +// */ +// public function findByExampleField($value): array +// { +// return $this->createQueryBuilder('r') +// ->andWhere('r.exampleField = :val') +// ->setParameter('val', $value) +// ->orderBy('r.id', 'ASC') +// ->setMaxResults(10) +// ->getQuery() +// ->getResult() +// ; +// } + +// public function findOneBySomeField($value): ?RestaurantType +// { +// return $this->createQueryBuilder('r') +// ->andWhere('r.exampleField = :val') +// ->setParameter('val', $value) +// ->getQuery() +// ->getOneOrNullResult() +// ; +// } +} diff --git a/src/Repository/SettlementRepository.php b/src/Repository/SettlementRepository.php new file mode 100644 index 0000000000000000000000000000000000000000..1b5e100bda76a7b1bcf8677a447d1c551a228caf --- /dev/null +++ b/src/Repository/SettlementRepository.php @@ -0,0 +1,48 @@ +<?php + +namespace App\Repository; + +use App\Entity\Settlement; +use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; +use Doctrine\Persistence\ManagerRegistry; + +/** + * @extends ServiceEntityRepository<Settlement> + * + * @method Settlement|null find($id, $lockMode = null, $lockVersion = null) + * @method Settlement|null findOneBy(array $criteria, array $orderBy = null) + * @method Settlement[] findAll() + * @method Settlement[] findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null) + */ +class SettlementRepository extends ServiceEntityRepository +{ + public function __construct(ManagerRegistry $registry) + { + parent::__construct($registry, Settlement::class); + } + +// /** +// * @return Settlement[] Returns an array of Settlement objects +// */ +// public function findByExampleField($value): array +// { +// return $this->createQueryBuilder('s') +// ->andWhere('s.exampleField = :val') +// ->setParameter('val', $value) +// ->orderBy('s.id', 'ASC') +// ->setMaxResults(10) +// ->getQuery() +// ->getResult() +// ; +// } + +// public function findOneBySomeField($value): ?Settlement +// { +// return $this->createQueryBuilder('s') +// ->andWhere('s.exampleField = :val') +// ->setParameter('val', $value) +// ->getQuery() +// ->getOneOrNullResult() +// ; +// } +} diff --git a/src/Repository/TagsRepository.php b/src/Repository/TagsRepository.php new file mode 100644 index 0000000000000000000000000000000000000000..4f0146363e6efd8235bae18aa1e598f52fab0746 --- /dev/null +++ b/src/Repository/TagsRepository.php @@ -0,0 +1,48 @@ +<?php + +namespace App\Repository; + +use App\Entity\Tags; +use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; +use Doctrine\Persistence\ManagerRegistry; + +/** + * @extends ServiceEntityRepository<Tags> + * + * @method Tags|null find($id, $lockMode = null, $lockVersion = null) + * @method Tags|null findOneBy(array $criteria, array $orderBy = null) + * @method Tags[] findAll() + * @method Tags[] findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null) + */ +class TagsRepository extends ServiceEntityRepository +{ + public function __construct(ManagerRegistry $registry) + { + parent::__construct($registry, Tags::class); + } + +// /** +// * @return Tags[] Returns an array of Tags objects +// */ +// public function findByExampleField($value): array +// { +// return $this->createQueryBuilder('t') +// ->andWhere('t.exampleField = :val') +// ->setParameter('val', $value) +// ->orderBy('t.id', 'ASC') +// ->setMaxResults(10) +// ->getQuery() +// ->getResult() +// ; +// } + +// public function findOneBySomeField($value): ?Tags +// { +// return $this->createQueryBuilder('t') +// ->andWhere('t.exampleField = :val') +// ->setParameter('val', $value) +// ->getQuery() +// ->getOneOrNullResult() +// ; +// } +} diff --git a/src/Repository/UserRepository.php b/src/Repository/UserRepository.php new file mode 100644 index 0000000000000000000000000000000000000000..376752657d714fa842fe7bc74d876a4ee7ccde2a --- /dev/null +++ b/src/Repository/UserRepository.php @@ -0,0 +1,48 @@ +<?php + +namespace App\Repository; + +use App\Entity\User; +use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; +use Doctrine\Persistence\ManagerRegistry; + +/** + * @extends ServiceEntityRepository<User> + * + * @method User|null find($id, $lockMode = null, $lockVersion = null) + * @method User|null findOneBy(array $criteria, array $orderBy = null) + * @method User[] findAll() + * @method User[] findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null) + */ +class UserRepository extends ServiceEntityRepository +{ + public function __construct(ManagerRegistry $registry) + { + parent::__construct($registry, User::class); + } + +// /** +// * @return User[] Returns an array of User objects +// */ +// public function findByExampleField($value): array +// { +// return $this->createQueryBuilder('u') +// ->andWhere('u.exampleField = :val') +// ->setParameter('val', $value) +// ->orderBy('u.id', 'ASC') +// ->setMaxResults(10) +// ->getQuery() +// ->getResult() +// ; +// } + +// public function findOneBySomeField($value): ?User +// { +// return $this->createQueryBuilder('u') +// ->andWhere('u.exampleField = :val') +// ->setParameter('val', $value) +// ->getQuery() +// ->getOneOrNullResult() +// ; +// } +} diff --git a/symfony.lock b/symfony.lock index aaf3e509e106e1f163d76d63288d3a3f51b20fbf..f28d08f531406d6b080e5cdc72fd6a610cf26b3f 100644 --- a/symfony.lock +++ b/symfony.lock @@ -248,6 +248,15 @@ "./templates/base.html.twig" ] }, + "symfony/uid": { + "version": "7.0", + "recipe": { + "repo": "github.com/symfony/recipes", + "branch": "main", + "version": "7.0", + "ref": "0df5844274d871b37fc3816c57a768ffc60a43a5" + } + }, "symfony/ux-turbo": { "version": "v2.16.0" },