Added getters & setters

This commit is contained in:
ASTIER Yann 2024-10-03 17:27:42 +02:00
parent f0c7c03b9b
commit 6903630012
19 changed files with 791 additions and 21 deletions

8
.idea/.gitignore vendored Normal file
View File

@ -0,0 +1,8 @@
# Default ignored files
/shelf/
/workspace.xml
# Editor-based HTTP Client requests
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml

141
.idea/HegreLand.iml Normal file
View File

@ -0,0 +1,141 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="WEB_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" packagePrefix="App\" />
<sourceFolder url="file://$MODULE_DIR$/tests" isTestSource="true" packagePrefix="App\Tests\" />
<excludeFolder url="file://$MODULE_DIR$/vendor/composer" />
<excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/cache" />
<excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/collections" />
<excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/dbal" />
<excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/deprecations" />
<excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/doctrine-bundle" />
<excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/doctrine-migrations-bundle" />
<excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/event-manager" />
<excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/inflector" />
<excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/instantiator" />
<excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/lexer" />
<excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/migrations" />
<excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/orm" />
<excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/persistence" />
<excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/sql-formatter" />
<excludeFolder url="file://$MODULE_DIR$/vendor/egulias/email-validator" />
<excludeFolder url="file://$MODULE_DIR$/vendor/masterminds/html5" />
<excludeFolder url="file://$MODULE_DIR$/vendor/monolog/monolog" />
<excludeFolder url="file://$MODULE_DIR$/vendor/myclabs/deep-copy" />
<excludeFolder url="file://$MODULE_DIR$/vendor/nikic/php-parser" />
<excludeFolder url="file://$MODULE_DIR$/vendor/phar-io/manifest" />
<excludeFolder url="file://$MODULE_DIR$/vendor/phar-io/version" />
<excludeFolder url="file://$MODULE_DIR$/vendor/phpdocumentor/reflection-common" />
<excludeFolder url="file://$MODULE_DIR$/vendor/phpdocumentor/reflection-docblock" />
<excludeFolder url="file://$MODULE_DIR$/vendor/phpdocumentor/type-resolver" />
<excludeFolder url="file://$MODULE_DIR$/vendor/phpstan/phpdoc-parser" />
<excludeFolder url="file://$MODULE_DIR$/vendor/phpunit/php-code-coverage" />
<excludeFolder url="file://$MODULE_DIR$/vendor/phpunit/php-file-iterator" />
<excludeFolder url="file://$MODULE_DIR$/vendor/phpunit/php-invoker" />
<excludeFolder url="file://$MODULE_DIR$/vendor/phpunit/php-text-template" />
<excludeFolder url="file://$MODULE_DIR$/vendor/phpunit/php-timer" />
<excludeFolder url="file://$MODULE_DIR$/vendor/phpunit/phpunit" />
<excludeFolder url="file://$MODULE_DIR$/vendor/psr/cache" />
<excludeFolder url="file://$MODULE_DIR$/vendor/psr/clock" />
<excludeFolder url="file://$MODULE_DIR$/vendor/psr/container" />
<excludeFolder url="file://$MODULE_DIR$/vendor/psr/event-dispatcher" />
<excludeFolder url="file://$MODULE_DIR$/vendor/psr/link" />
<excludeFolder url="file://$MODULE_DIR$/vendor/psr/log" />
<excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/cli-parser" />
<excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/code-unit" />
<excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/code-unit-reverse-lookup" />
<excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/comparator" />
<excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/complexity" />
<excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/diff" />
<excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/environment" />
<excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/exporter" />
<excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/global-state" />
<excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/lines-of-code" />
<excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/object-enumerator" />
<excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/object-reflector" />
<excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/recursion-context" />
<excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/resource-operations" />
<excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/type" />
<excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/version" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/asset" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/asset-mapper" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/browser-kit" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/cache" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/cache-contracts" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/clock" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/config" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/console" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/css-selector" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/debug-bundle" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/dependency-injection" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/deprecation-contracts" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/doctrine-bridge" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/doctrine-messenger" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/dom-crawler" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/dotenv" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/error-handler" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/event-dispatcher" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/event-dispatcher-contracts" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/expression-language" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/filesystem" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/finder" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/flex" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/form" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/framework-bundle" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/http-client" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/http-client-contracts" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/http-foundation" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/http-kernel" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/intl" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/mailer" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/maker-bundle" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/messenger" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/mime" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/monolog-bridge" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/monolog-bundle" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/notifier" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/options-resolver" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/password-hasher" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/phpunit-bridge" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/polyfill-intl-grapheme" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/polyfill-intl-icu" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/polyfill-intl-idn" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/polyfill-intl-normalizer" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/polyfill-mbstring" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/polyfill-php83" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/process" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/property-access" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/property-info" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/routing" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/runtime" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/security-bundle" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/security-core" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/security-csrf" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/security-http" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/serializer" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/service-contracts" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/stimulus-bundle" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/stopwatch" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/string" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/translation" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/translation-contracts" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/twig-bridge" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/twig-bundle" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/type-info" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/ux-turbo" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/validator" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/var-dumper" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/var-exporter" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/web-link" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/web-profiler-bundle" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/yaml" />
<excludeFolder url="file://$MODULE_DIR$/vendor/theseer/tokenizer" />
<excludeFolder url="file://$MODULE_DIR$/vendor/twig/extra-bundle" />
<excludeFolder url="file://$MODULE_DIR$/vendor/twig/twig" />
<excludeFolder url="file://$MODULE_DIR$/vendor/webmozart/assert" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

8
.idea/modules.xml Normal file
View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/HegreLand.iml" filepath="$PROJECT_DIR$/.idea/HegreLand.iml" />
</modules>
</component>
</project>

159
.idea/php.xml Normal file
View File

@ -0,0 +1,159 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="MessDetectorOptionsConfiguration">
<option name="transferred" value="true" />
</component>
<component name="PHPCSFixerOptionsConfiguration">
<option name="transferred" value="true" />
</component>
<component name="PHPCodeSnifferOptionsConfiguration">
<option name="highlightLevel" value="WARNING" />
<option name="transferred" value="true" />
</component>
<component name="PhpIncludePathManager">
<include_path>
<path value="$PROJECT_DIR$/vendor/composer" />
<path value="$PROJECT_DIR$/vendor/doctrine/cache" />
<path value="$PROJECT_DIR$/vendor/doctrine/collections" />
<path value="$PROJECT_DIR$/vendor/doctrine/dbal" />
<path value="$PROJECT_DIR$/vendor/doctrine/deprecations" />
<path value="$PROJECT_DIR$/vendor/doctrine/doctrine-bundle" />
<path value="$PROJECT_DIR$/vendor/doctrine/doctrine-migrations-bundle" />
<path value="$PROJECT_DIR$/vendor/doctrine/event-manager" />
<path value="$PROJECT_DIR$/vendor/doctrine/inflector" />
<path value="$PROJECT_DIR$/vendor/doctrine/instantiator" />
<path value="$PROJECT_DIR$/vendor/doctrine/lexer" />
<path value="$PROJECT_DIR$/vendor/doctrine/migrations" />
<path value="$PROJECT_DIR$/vendor/doctrine/orm" />
<path value="$PROJECT_DIR$/vendor/doctrine/persistence" />
<path value="$PROJECT_DIR$/vendor/doctrine/sql-formatter" />
<path value="$PROJECT_DIR$/vendor/egulias/email-validator" />
<path value="$PROJECT_DIR$/vendor/masterminds/html5" />
<path value="$PROJECT_DIR$/vendor/monolog/monolog" />
<path value="$PROJECT_DIR$/vendor/myclabs/deep-copy" />
<path value="$PROJECT_DIR$/vendor/nikic/php-parser" />
<path value="$PROJECT_DIR$/vendor/phar-io/manifest" />
<path value="$PROJECT_DIR$/vendor/phar-io/version" />
<path value="$PROJECT_DIR$/vendor/phpdocumentor/reflection-common" />
<path value="$PROJECT_DIR$/vendor/phpdocumentor/reflection-docblock" />
<path value="$PROJECT_DIR$/vendor/phpdocumentor/type-resolver" />
<path value="$PROJECT_DIR$/vendor/phpstan/phpdoc-parser" />
<path value="$PROJECT_DIR$/vendor/phpunit/php-code-coverage" />
<path value="$PROJECT_DIR$/vendor/phpunit/php-file-iterator" />
<path value="$PROJECT_DIR$/vendor/phpunit/php-invoker" />
<path value="$PROJECT_DIR$/vendor/phpunit/php-text-template" />
<path value="$PROJECT_DIR$/vendor/phpunit/php-timer" />
<path value="$PROJECT_DIR$/vendor/phpunit/phpunit" />
<path value="$PROJECT_DIR$/vendor/psr/cache" />
<path value="$PROJECT_DIR$/vendor/psr/clock" />
<path value="$PROJECT_DIR$/vendor/psr/container" />
<path value="$PROJECT_DIR$/vendor/psr/event-dispatcher" />
<path value="$PROJECT_DIR$/vendor/psr/link" />
<path value="$PROJECT_DIR$/vendor/psr/log" />
<path value="$PROJECT_DIR$/vendor/sebastian/cli-parser" />
<path value="$PROJECT_DIR$/vendor/sebastian/code-unit" />
<path value="$PROJECT_DIR$/vendor/sebastian/code-unit-reverse-lookup" />
<path value="$PROJECT_DIR$/vendor/sebastian/comparator" />
<path value="$PROJECT_DIR$/vendor/sebastian/complexity" />
<path value="$PROJECT_DIR$/vendor/sebastian/diff" />
<path value="$PROJECT_DIR$/vendor/sebastian/environment" />
<path value="$PROJECT_DIR$/vendor/sebastian/exporter" />
<path value="$PROJECT_DIR$/vendor/sebastian/global-state" />
<path value="$PROJECT_DIR$/vendor/sebastian/lines-of-code" />
<path value="$PROJECT_DIR$/vendor/sebastian/object-enumerator" />
<path value="$PROJECT_DIR$/vendor/sebastian/object-reflector" />
<path value="$PROJECT_DIR$/vendor/sebastian/recursion-context" />
<path value="$PROJECT_DIR$/vendor/sebastian/resource-operations" />
<path value="$PROJECT_DIR$/vendor/sebastian/type" />
<path value="$PROJECT_DIR$/vendor/sebastian/version" />
<path value="$PROJECT_DIR$/vendor/symfony/asset" />
<path value="$PROJECT_DIR$/vendor/symfony/asset-mapper" />
<path value="$PROJECT_DIR$/vendor/symfony/browser-kit" />
<path value="$PROJECT_DIR$/vendor/symfony/cache" />
<path value="$PROJECT_DIR$/vendor/symfony/cache-contracts" />
<path value="$PROJECT_DIR$/vendor/symfony/clock" />
<path value="$PROJECT_DIR$/vendor/symfony/config" />
<path value="$PROJECT_DIR$/vendor/symfony/console" />
<path value="$PROJECT_DIR$/vendor/symfony/css-selector" />
<path value="$PROJECT_DIR$/vendor/symfony/debug-bundle" />
<path value="$PROJECT_DIR$/vendor/symfony/dependency-injection" />
<path value="$PROJECT_DIR$/vendor/symfony/deprecation-contracts" />
<path value="$PROJECT_DIR$/vendor/symfony/doctrine-bridge" />
<path value="$PROJECT_DIR$/vendor/symfony/doctrine-messenger" />
<path value="$PROJECT_DIR$/vendor/symfony/dom-crawler" />
<path value="$PROJECT_DIR$/vendor/symfony/dotenv" />
<path value="$PROJECT_DIR$/vendor/symfony/error-handler" />
<path value="$PROJECT_DIR$/vendor/symfony/event-dispatcher" />
<path value="$PROJECT_DIR$/vendor/symfony/event-dispatcher-contracts" />
<path value="$PROJECT_DIR$/vendor/symfony/expression-language" />
<path value="$PROJECT_DIR$/vendor/symfony/filesystem" />
<path value="$PROJECT_DIR$/vendor/symfony/finder" />
<path value="$PROJECT_DIR$/vendor/symfony/flex" />
<path value="$PROJECT_DIR$/vendor/symfony/form" />
<path value="$PROJECT_DIR$/vendor/symfony/framework-bundle" />
<path value="$PROJECT_DIR$/vendor/symfony/http-client" />
<path value="$PROJECT_DIR$/vendor/symfony/http-client-contracts" />
<path value="$PROJECT_DIR$/vendor/symfony/http-foundation" />
<path value="$PROJECT_DIR$/vendor/symfony/http-kernel" />
<path value="$PROJECT_DIR$/vendor/symfony/intl" />
<path value="$PROJECT_DIR$/vendor/symfony/mailer" />
<path value="$PROJECT_DIR$/vendor/symfony/maker-bundle" />
<path value="$PROJECT_DIR$/vendor/symfony/messenger" />
<path value="$PROJECT_DIR$/vendor/symfony/mime" />
<path value="$PROJECT_DIR$/vendor/symfony/monolog-bridge" />
<path value="$PROJECT_DIR$/vendor/symfony/monolog-bundle" />
<path value="$PROJECT_DIR$/vendor/symfony/notifier" />
<path value="$PROJECT_DIR$/vendor/symfony/options-resolver" />
<path value="$PROJECT_DIR$/vendor/symfony/password-hasher" />
<path value="$PROJECT_DIR$/vendor/symfony/phpunit-bridge" />
<path value="$PROJECT_DIR$/vendor/symfony/polyfill-intl-grapheme" />
<path value="$PROJECT_DIR$/vendor/symfony/polyfill-intl-icu" />
<path value="$PROJECT_DIR$/vendor/symfony/polyfill-intl-idn" />
<path value="$PROJECT_DIR$/vendor/symfony/polyfill-intl-normalizer" />
<path value="$PROJECT_DIR$/vendor/symfony/polyfill-mbstring" />
<path value="$PROJECT_DIR$/vendor/symfony/polyfill-php83" />
<path value="$PROJECT_DIR$/vendor/symfony/process" />
<path value="$PROJECT_DIR$/vendor/symfony/property-access" />
<path value="$PROJECT_DIR$/vendor/symfony/property-info" />
<path value="$PROJECT_DIR$/vendor/symfony/routing" />
<path value="$PROJECT_DIR$/vendor/symfony/runtime" />
<path value="$PROJECT_DIR$/vendor/symfony/security-bundle" />
<path value="$PROJECT_DIR$/vendor/symfony/security-core" />
<path value="$PROJECT_DIR$/vendor/symfony/security-csrf" />
<path value="$PROJECT_DIR$/vendor/symfony/security-http" />
<path value="$PROJECT_DIR$/vendor/symfony/serializer" />
<path value="$PROJECT_DIR$/vendor/symfony/service-contracts" />
<path value="$PROJECT_DIR$/vendor/symfony/stimulus-bundle" />
<path value="$PROJECT_DIR$/vendor/symfony/stopwatch" />
<path value="$PROJECT_DIR$/vendor/symfony/string" />
<path value="$PROJECT_DIR$/vendor/symfony/translation" />
<path value="$PROJECT_DIR$/vendor/symfony/translation-contracts" />
<path value="$PROJECT_DIR$/vendor/symfony/twig-bridge" />
<path value="$PROJECT_DIR$/vendor/symfony/twig-bundle" />
<path value="$PROJECT_DIR$/vendor/symfony/type-info" />
<path value="$PROJECT_DIR$/vendor/symfony/ux-turbo" />
<path value="$PROJECT_DIR$/vendor/symfony/validator" />
<path value="$PROJECT_DIR$/vendor/symfony/var-dumper" />
<path value="$PROJECT_DIR$/vendor/symfony/var-exporter" />
<path value="$PROJECT_DIR$/vendor/symfony/web-link" />
<path value="$PROJECT_DIR$/vendor/symfony/web-profiler-bundle" />
<path value="$PROJECT_DIR$/vendor/symfony/yaml" />
<path value="$PROJECT_DIR$/vendor/theseer/tokenizer" />
<path value="$PROJECT_DIR$/vendor/twig/extra-bundle" />
<path value="$PROJECT_DIR$/vendor/twig/twig" />
<path value="$PROJECT_DIR$/vendor/webmozart/assert" />
</include_path>
</component>
<component name="PhpProjectSharedConfiguration" php_language_level="8.2" />
<component name="PhpStanOptionsConfiguration">
<option name="transferred" value="true" />
</component>
<component name="PhpUnit">
<phpunit_settings>
<PhpUnitSettings configuration_file_path="$PROJECT_DIR$/phpunit.xml.dist" custom_loader_path="$PROJECT_DIR$/vendor/autoload.php" use_configuration_file="true" />
</phpunit_settings>
</component>
<component name="PsalmOptionsConfiguration">
<option name="transferred" value="true" />
</component>
</project>

10
.idea/phpunit.xml Normal file
View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="PHPUnit">
<option name="directories">
<list>
<option value="$PROJECT_DIR$/tests" />
</list>
</option>
</component>
</project>

6
.idea/vcs.xml Normal file
View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="" vcs="Git" />
</component>
</project>

View File

@ -4,14 +4,18 @@ security:
Symfony\Component\Security\Core\User\PasswordAuthenticatedUserInterface: 'auto' Symfony\Component\Security\Core\User\PasswordAuthenticatedUserInterface: 'auto'
# https://symfony.com/doc/current/security.html#loading-the-user-the-user-provider # https://symfony.com/doc/current/security.html#loading-the-user-the-user-provider
providers: providers:
users_in_memory: { memory: null } # used to reload user from session & other features (e.g. switch_user)
app_user_provider:
entity:
class: App\Entity\Employee
property: email
firewalls: firewalls:
dev: dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/ pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false security: false
main: main:
lazy: true lazy: true
provider: users_in_memory provider: app_user_provider
# activate different ways to authenticate # activate different ways to authenticate
# https://symfony.com/doc/current/security.html#the-firewall # https://symfony.com/doc/current/security.html#the-firewall

View File

@ -22,4 +22,46 @@ class Assignment
#[ORM\Column] #[ORM\Column]
private ?\DateTime $endHour = null; private ?\DateTime $endHour = null;
public function getStartHour(): ?\DateTime
{
return $this->startHour;
}
public function getEmployee(): ?Employee
{
return $this->employee;
}
public function setEmployee(?Employee $employee): void
{
$this->employee = $employee;
}
public function getRide(): ?Ride
{
return $this->ride;
}
public function setRide(?Ride $ride): void
{
$this->ride = $ride;
}
public function setStartHour(?\DateTime $startHour): void
{
$this->startHour = $startHour;
}
public function getEndHour(): ?\DateTime
{
return $this->endHour;
}
public function setEndHour(?\DateTime $endHour): void
{
$this->endHour = $endHour;
}
} }

View File

@ -3,6 +3,7 @@
namespace App\Entity; namespace App\Entity;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM; use Doctrine\ORM\Mapping as ORM;
@ -16,6 +17,12 @@ class Category
#[ORM\Column(length: 30)] #[ORM\Column(length: 30)]
private ?string $label = null; private ?string $label = null;
#[ORM\ManyToOne(targetEntity: Mission::class, inversedBy: 'category')]
private ?Mission $mission = null;
#[ORM\ManyToOne(targetEntity: MissionCategory::class, inversedBy: 'category')]
private Collection $missionCategory;
public function getId(): ?int public function getId(): ?int
{ {
return $this->id; return $this->id;
@ -40,5 +47,28 @@ class Category
return $this; return $this;
} }
public function getMission(): ?Mission
{
return $this->mission;
} }
?>
public function setMission(?Mission $mission): void
{
$this->mission = $mission;
}
public function getMissionCategory(): Collection
{
return $this->missionCategory;
}
public function setMissionCategory(Collection $missionCategory): void
{
$this->missionCategory = $missionCategory;
}
}

View File

@ -30,6 +30,9 @@ class Employee implements UserInterface, PasswordAuthenticatedUserInterface
#[ORM\Column] #[ORM\Column]
private ?string $password = null; private ?string $password = null;
#[ORM\Column]
private array $roles = [];
#[ORM\ManyToOne(targetEntity: EmployeeSkill::class, inversedBy: 'employee')] #[ORM\ManyToOne(targetEntity: EmployeeSkill::class, inversedBy: 'employee')]
private Collection $employeeskills; private Collection $employeeskills;
@ -165,4 +168,45 @@ class Employee implements UserInterface, PasswordAuthenticatedUserInterface
{ {
return (string) $this->email; return (string) $this->email;
} }
public function getRoles(): array
{
$roles = $this->roles;
// guarantee every user at least has ROLE_USER
$roles[] = 'ROLE_USER';
return array_unique($roles);
}
/**
* @param list<string> $roles
*/
public function setRoles(array $roles): static
{
$this->roles = $roles;
return $this;
}
public function getMissions(): Collection
{
return $this->missions;
}
public function setMissions(Collection $missions): void
{
$this->missions = $missions;
}
public function getIncidents(): Collection
{
return $this->incidents;
}
public function setIncidents(Collection $incidents): void
{
$this->incidents = $incidents;
}
} }

View File

@ -4,16 +4,39 @@ namespace App\Entity;
use Doctrine\ORM\Mapping as ORM; use Doctrine\ORM\Mapping as ORM;
#[ORM\Table(name: 'Requirements')] #[ORM\Table(name: 'EmployeeSkill')]
class Requirements class EmployeeSkill
{ {
#[ORM\Id] #[ORM\Id]
#[ORM\OneToMany(targetEntity: Mission::class, mappedBy: 'requirements')] #[ORM\OneToMany(targetEntity: Employee::class, mappedBy: 'EmployeeSkills')]
#[ORM\JoinColumn(nullable: false)] #[ORM\JoinColumn(nullable: false)]
private ?Mission $mission = null; private ?Employee $employee = null;
#[ORM\Id] #[ORM\Id]
#[ORM\OneToMany(targetEntity: Skill::class, mappedBy: 'requirements')] #[ORM\OneToMany(targetEntity: Skill::class, mappedBy: 'EmployeeSkills')]
#[ORM\JoinColumn(nullable: false)] #[ORM\JoinColumn(nullable: false)]
private ?Skill $skill = null; private ?Skill $skill = null;
public function getSkill(): ?Skill
{
return $this->skill;
}
public function setSkill(?Skill $skill): void
{
$this->skill = $skill;
}
public function getEmployee(): ?Employee
{
return $this->employee;
}
public function setEmployee(?Employee $employee): void
{
$this->employee = $employee;
}
} }

View File

@ -2,6 +2,7 @@
namespace App\Entity; namespace App\Entity;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM; use Doctrine\ORM\Mapping as ORM;
class Incident class Incident
@ -14,6 +15,25 @@ class Incident
#[ORM\Column(length: 255)] #[ORM\Column(length: 255)]
private ?string $description = null; private ?string $description = null;
#[ORM\OneToMany(targetEntity: Employee::class, mappedBy: 'incident')]
private ?Employee $employee;
#[ORM\OneToMany(targetEntity: IncidentType::class, mappedBy: 'incident')]
private ?IncidentType $incidentType;
#[ORM\OneToMany(targetEntity: Ride::class, mappedBy: 'incident')]
private ?Ride $ride;
public function getEmployeeincidents(): Collection
{
return $this->employeeincidents;
}
public function setEmployeeincidents(Collection $employeeincidents): void
{
$this->employeeincidents = $employeeincidents;
}
public function getId(): ?int public function getId(): ?int
{ {
return $this->id; return $this->id;
@ -38,5 +58,37 @@ class Incident
return $this; return $this;
} }
public function getEmployee(): ?Employee
{
return $this->employee;
} }
?>
public function setEmployee(?Employee $employee): void
{
$this->employee = $employee;
}
public function getIncidentType(): ?IncidentType
{
return $this->incidentType;
}
public function setIncidentType(?IncidentType $incidentType): void
{
$this->incidentType = $incidentType;
}
public function getRide(): ?Ride
{
return $this->ride;
}
public function setRide(?Ride $ride): void
{
$this->ride = $ride;
}
}

View File

@ -3,6 +3,7 @@
namespace App\Entity; namespace App\Entity;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM; use Doctrine\ORM\Mapping as ORM;
@ -16,6 +17,9 @@ class IncidentType
#[ORM\Column(length: 30)] #[ORM\Column(length: 30)]
private ?string $label = null; private ?string $label = null;
#[ORM\ManyToOne(targetEntity: Incident::class, inversedBy: 'incidentType')]
private Collection $incidents;
public function getId(): ?int public function getId(): ?int
{ {
return $this->id; return $this->id;
@ -40,5 +44,17 @@ class IncidentType
return $this; return $this;
} }
public function getIncidents(): Collection
{
return $this->incidents;
} }
?>
public function setIncidents(Collection $incidents): void
{
$this->incidents = $incidents;
}
}

View File

@ -3,6 +3,7 @@
namespace App\Entity; namespace App\Entity;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM; use Doctrine\ORM\Mapping as ORM;
@ -16,8 +17,41 @@ class Mission
#[ORM\Column(length: 30)] #[ORM\Column(length: 30)]
private ?string $label = null; private ?string $label = null;
#[ORM\ManyToOne(targetEntity: Requirements::class, inversedBy: 'missions')] #[ORM\ManyToOne(targetEntity: Requirement::class, inversedBy: 'mission')]
private ?Requirements $requirements = null; private Collection $requirements;
#[ORM\OneToMany(targetEntity: Employee::class, mappedBy: 'mission')]
private ?employee $employee = null;
#[ORM\OneToMany(targetEntity: Category::class, mappedBy: 'mission')]
private Collection $categories;
#[ORM\OneToMany(targetEntity: Ride::class, mappedBy: 'mission')]
private ?Ride $ride;
#[ORM\ManyToOne(targetEntity: MissionCategory::class, inversedBy: 'mission')]
private Collection $missionCategory;
public function getRequirements(): Collection
{
return $this->requirements;
}
public function setRequirements(Collection $requirements): void
{
$this->requirements = $requirements;
}
public function getEmployeemissions(): Collection
{
return $this->employeemissions;
}
public function setEmployeemissions(Collection $employeemissions): void
{
$this->employeemissions = $employeemissions;
}
public function getId(): ?int public function getId(): ?int
{ {
@ -43,5 +77,48 @@ class Mission
return $this; return $this;
} }
public function getEmployee(): ?employee
{
return $this->employee;
} }
?>
public function setEmployee(?employee $employee): void
{
$this->employee = $employee;
}
public function getCategories(): Collection
{
return $this->categories;
}
public function setCategories(Collection $categories): void
{
$this->categories = $categories;
}
public function getRide(): ?Ride
{
return $this->ride;
}
public function setRide(?Ride $ride): void
{
$this->ride = $ride;
}
public function getMissionCategory(): Collection
{
return $this->missionCategory;
}
public function setMissionCategory(Collection $missionCategory): void
{
$this->missionCategory = $missionCategory;
}
}

View File

@ -17,4 +17,26 @@ class MissionCategory
#[ORM\OneToMany(targetEntity: Category::class, mappedBy: 'MissionCategory')] #[ORM\OneToMany(targetEntity: Category::class, mappedBy: 'MissionCategory')]
#[ORM\JoinColumn(nullable: false)] #[ORM\JoinColumn(nullable: false)]
private ?Category $category = null; private ?Category $category = null;
public function getMission(): ?Mission
{
return $this->mission;
}
public function setMission(?Mission $mission): void
{
$this->mission = $mission;
}
public function getCategory(): ?Category
{
return $this->category;
}
public function setCategory(?Category $category): void
{
$this->category = $category;
}
} }

View File

@ -20,6 +20,9 @@ class Representation
#[ORM\Column] #[ORM\Column]
private ?int $count = null; private ?int $count = null;
#[ORM\Column]
private ?\DateTime $date = null;
public function getCount(): ?int public function getCount(): ?int
{ {
return $this->count; return $this->count;
@ -30,9 +33,6 @@ class Representation
$this->count = $count; $this->count = $count;
} }
#[ORM\Column]
private ?\DateTime $date = null;
public function getDate(): ?\DateTime public function getDate(): ?\DateTime
{ {
return $this->date; return $this->date;
@ -42,4 +42,27 @@ class Representation
{ {
$this->date = $date; $this->date = $date;
} }
public function getEmployee(): ?Employee
{
return $this->employee;
}
public function setEmployee(?Employee $employee): void
{
$this->employee = $employee;
}
public function getRide(): ?Ride
{
return $this->ride;
}
public function setRide(?Ride $ride): void
{
$this->ride = $ride;
}
} }

View File

@ -5,8 +5,8 @@ namespace App\Entity;
use Doctrine\ORM\Mapping as ORM; use Doctrine\ORM\Mapping as ORM;
#[ORM\Table(name: 'Requirements')] #[ORM\Table(name: 'Requirement')]
class Requirements class Requirement
{ {
#[ORM\Id] #[ORM\Id]
#[ORM\OneToMany(targetEntity: Mission::class, mappedBy: 'requirements')] #[ORM\OneToMany(targetEntity: Mission::class, mappedBy: 'requirements')]
@ -17,4 +17,27 @@ class Requirements
#[ORM\OneToMany(targetEntity: Skill::class, mappedBy: 'requirements')] #[ORM\OneToMany(targetEntity: Skill::class, mappedBy: 'requirements')]
#[ORM\JoinColumn(nullable: false)] #[ORM\JoinColumn(nullable: false)]
private ?Skill $skill = null; private ?Skill $skill = null;
public function getMission(): ?Mission
{
return $this->mission;
}
public function setMission(?Mission $mission): void
{
$this->mission = $mission;
}
public function getSkill(): ?Skill
{
return $this->skill;
}
public function setSkill(?Skill $skill): void
{
$this->skill = $skill;
}
} }

View File

@ -2,6 +2,7 @@
namespace App\Entity; namespace App\Entity;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM; use Doctrine\ORM\Mapping as ORM;
@ -18,6 +19,40 @@ class Ride
#[ORM\Column] #[ORM\Column]
private ?int $count = null; private ?int $count = null;
#[ORM\ManyToOne(targetEntity: Assignment::class, inversedBy: 'ride')]
private Collection $assignments;
#[ORM\ManyToOne(targetEntity: Representation::class, inversedBy: 'ride')]
private Collection $representations;
#[ORM\ManyToOne(targetEntity: IncidentType::class, inversedBy: 'ride')]
private Collection $incidentTypes;
#[ORM\ManyToOne(targetEntity: Mission::class, inversedBy: 'ride')]
private Collection $missions;
public function getAssignments(): Collection
{
return $this->assignments;
}
public function setAssignments(Collection $assignments): void
{
$this->assignments = $assignments;
}
public function getRepresentations(): Collection
{
return $this->representations;
}
public function setRepresentations(Collection $representations): void
{
$this->representations = $representations;
}
public function getId(): ?int public function getId(): ?int
{ {
return $this->id; return $this->id;
@ -53,4 +88,26 @@ class Ride
return $this; return $this;
} }
public function getIncidentTypes(): Collection
{
return $this->incidentTypes;
}
public function setIncidentTypes(Collection $incidentTypes): void
{
$this->incidentTypes = $incidentTypes;
}
public function getMissions(): Collection
{
return $this->missions;
}
public function setMissions(Collection $missions): void
{
$this->missions = $missions;
}
} }

View File

@ -2,7 +2,7 @@
namespace App\Entity; namespace App\Entity;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM; use Doctrine\ORM\Mapping as ORM;
@ -16,8 +16,32 @@ class Skill
#[ORM\Column(length: 30)] #[ORM\Column(length: 30)]
private ?string $label = null; private ?string $label = null;
#[ORM\ManyToOne(targetEntity: Requirements::class, inversedBy: 'skills')] #[ORM\ManyToOne(targetEntity: Requirement::class, inversedBy: 'skill')]
private ?Requirements $requirements = null; private Collection $requirements;
#[ORM\ManyToOne(targetEntity: EmployeeSkill::class, inversedBy: 'skill')]
private Collection $employeeskills;
public function getRequirements(): Collection
{
return $this->requirements;
}
public function setRequirements(Collection $requirements): void
{
$this->requirements = $requirements;
}
public function getEmployeeskills(): Collection
{
return $this->employeeskills;
}
public function setEmployeeskills(Collection $employeeskills): void
{
$this->employeeskills = $employeeskills;
}
public function getId(): ?int public function getId(): ?int
{ {
@ -43,4 +67,5 @@ class Skill
return $this; return $this;
} }
} }