Skip to content

Commit

Permalink
Remove data transformer registry (#321)
Browse files Browse the repository at this point in the history
This will:
- title
  • Loading branch information
jskowronski39 authored Jan 15, 2024
2 parents 184fc2d + b829c58 commit ddca1cc
Show file tree
Hide file tree
Showing 32 changed files with 240 additions and 519 deletions.
8 changes: 0 additions & 8 deletions config/services.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,6 @@ services:
autowire: true # Automatically injects dependencies in your services.
autoconfigure: true # Automatically registers your services as commands, event subscribers, etc.

_instanceof:
App\Form\RegisteredDataTransformerInterface:
tags: [ 'app.form.registered_data_transformer' ]

# makes classes in src/ available to be used as services
# this creates a service per class whose id is the fully-qualified class name
App\:
Expand Down Expand Up @@ -111,10 +107,6 @@ services:
arguments:
$defaultLocale: '%kernel.default_locale%'

App\Form\DataTransformerRegistry:
arguments:
$registeredDataTransformers: !tagged_iterator app.form.registered_data_transformer

when@test:
services:
security.helper: # see: https://github.com/Codeception/module-symfony/issues/34
Expand Down
6 changes: 3 additions & 3 deletions src/Controller/Dlc/CreateAction.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

namespace App\Controller\Dlc;

use App\Form\DataTransformerRegistry;
use App\Form\Dlc\DataTransformer\DlcFormDtoDataTransformer;
use App\Form\Dlc\DlcFormType;
use App\Form\Dlc\Dto\DlcFormDto;
use App\Security\Enum\PermissionsEnum;
Expand All @@ -19,7 +19,7 @@ class CreateAction extends AbstractController
{
public function __construct(
private EntityManagerInterface $entityManager,
private DataTransformerRegistry $dataTransformerRegistry
private DlcFormDtoDataTransformer $dlcFormDtoDataTransformer
) {
}

Expand All @@ -32,7 +32,7 @@ public function __invoke(Request $request): Response
$form->handleRequest($request);

if ($form->isSubmitted() && $form->isValid()) {
$dlc = $this->dataTransformerRegistry->transformToEntity($dlcFormDto);
$dlc = $this->dlcFormDtoDataTransformer->transformToEntity($dlcFormDto);

$this->entityManager->persist($dlc);
$this->entityManager->flush();
Expand Down
8 changes: 4 additions & 4 deletions src/Controller/Dlc/UpdateAction.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
namespace App\Controller\Dlc;

use App\Entity\Dlc\Dlc;
use App\Form\DataTransformerRegistry;
use App\Form\Dlc\DataTransformer\DlcFormDtoDataTransformer;
use App\Form\Dlc\DlcFormType;
use App\Form\Dlc\Dto\DlcFormDto;
use App\Security\Enum\PermissionsEnum;
Expand All @@ -20,20 +20,20 @@ class UpdateAction extends AbstractController
{
public function __construct(
private EntityManagerInterface $entityManager,
private DataTransformerRegistry $dataTransformerRegistry
private DlcFormDtoDataTransformer $dlcFormDtoDataTransformer
) {
}

#[Route('/dlc/{id}/update', name: 'app_dlc_update')]
#[IsGranted(PermissionsEnum::DLC_UPDATE->value, 'dlc')]
public function __invoke(Request $request, Dlc $dlc): Response
{
$dlcFormDto = $this->dataTransformerRegistry->transformFromEntity(new DlcFormDto(), $dlc);
$dlcFormDto = $this->dlcFormDtoDataTransformer->transformFromEntity(new DlcFormDto(), $dlc);
$form = $this->createForm(DlcFormType::class, $dlcFormDto);
$form->handleRequest($request);

if ($form->isSubmitted() && $form->isValid()) {
$this->dataTransformerRegistry->transformToEntity($dlcFormDto, $dlc);
$this->dlcFormDtoDataTransformer->transformToEntity($dlcFormDto, $dlc);

$this->entityManager->flush();

Expand Down
6 changes: 3 additions & 3 deletions src/Controller/Mod/CreateAction.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

namespace App\Controller\Mod;

use App\Form\DataTransformerRegistry;
use App\Form\Mod\DataTransformer\ModFormDtoDataTransformer;
use App\Form\Mod\Dto\ModFormDto;
use App\Form\Mod\ModFormType;
use App\Security\Enum\PermissionsEnum;
Expand All @@ -19,7 +19,7 @@ class CreateAction extends AbstractController
{
public function __construct(
private EntityManagerInterface $entityManager,
private DataTransformerRegistry $dataTransformerRegistry
private ModFormDtoDataTransformer $modFormDtoDataTransformer
) {
}

Expand All @@ -32,7 +32,7 @@ public function __invoke(Request $request): Response
$form->handleRequest($request);

if ($form->isSubmitted() && $form->isValid()) {
$mod = $this->dataTransformerRegistry->transformToEntity($modFormDto);
$mod = $this->modFormDtoDataTransformer->transformToEntity($modFormDto);

$this->entityManager->persist($mod);
$this->entityManager->flush();
Expand Down
8 changes: 4 additions & 4 deletions src/Controller/Mod/UpdateAction.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
namespace App\Controller\Mod;

use App\Entity\Mod\AbstractMod;
use App\Form\DataTransformerRegistry;
use App\Form\Mod\DataTransformer\ModFormDtoDataTransformer;
use App\Form\Mod\Dto\ModFormDto;
use App\Form\Mod\ModFormType;
use App\Security\Enum\PermissionsEnum;
Expand All @@ -20,20 +20,20 @@ class UpdateAction extends AbstractController
{
public function __construct(
private EntityManagerInterface $entityManager,
private DataTransformerRegistry $dataTransformerRegistry
private ModFormDtoDataTransformer $modFormDtoDataTransformer
) {
}

#[Route('/mod/{id}/update', name: 'app_mod_update')]
#[IsGranted(PermissionsEnum::MOD_UPDATE->value, 'mod')]
public function __invoke(Request $request, AbstractMod $mod): Response
{
$modFormDto = $this->dataTransformerRegistry->transformFromEntity(new ModFormDto(), $mod);
$modFormDto = $this->modFormDtoDataTransformer->transformFromEntity(new ModFormDto(), $mod);
$form = $this->createForm(ModFormType::class, $modFormDto);
$form->handleRequest($request);

if ($form->isSubmitted() && $form->isValid()) {
$this->dataTransformerRegistry->transformToEntity($modFormDto, $mod);
$this->modFormDtoDataTransformer->transformToEntity($modFormDto, $mod);

$this->entityManager->flush();

Expand Down
6 changes: 3 additions & 3 deletions src/Controller/ModGroup/CreateAction.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

namespace App\Controller\ModGroup;

use App\Form\DataTransformerRegistry;
use App\Form\ModGroup\DataTransformer\ModGroupFormDtoDataTransformer;
use App\Form\ModGroup\Dto\ModGroupFormDto;
use App\Form\ModGroup\ModGroupFormType;
use App\Security\Enum\PermissionsEnum;
Expand All @@ -19,7 +19,7 @@ class CreateAction extends AbstractController
{
public function __construct(
private EntityManagerInterface $entityManager,
private DataTransformerRegistry $dataTransformerRegistry
private ModGroupFormDtoDataTransformer $modGroupFormDtoDataTransformer
) {
}

Expand All @@ -32,7 +32,7 @@ public function __invoke(Request $request): Response
$form->handleRequest($request);

if ($form->isSubmitted() && $form->isValid()) {
$modGroup = $this->dataTransformerRegistry->transformToEntity($modGroupFormDto);
$modGroup = $this->modGroupFormDtoDataTransformer->transformToEntity($modGroupFormDto);

$this->entityManager->persist($modGroup);
$this->entityManager->flush();
Expand Down
8 changes: 4 additions & 4 deletions src/Controller/ModGroup/UpdateAction.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
namespace App\Controller\ModGroup;

use App\Entity\ModGroup\ModGroup;
use App\Form\DataTransformerRegistry;
use App\Form\ModGroup\DataTransformer\ModGroupFormDtoDataTransformer;
use App\Form\ModGroup\Dto\ModGroupFormDto;
use App\Form\ModGroup\ModGroupFormType;
use App\Security\Enum\PermissionsEnum;
Expand All @@ -20,20 +20,20 @@ class UpdateAction extends AbstractController
{
public function __construct(
private EntityManagerInterface $entityManager,
private DataTransformerRegistry $dataTransformerRegistry
private ModGroupFormDtoDataTransformer $modGroupFormDtoDataTransformer
) {
}

#[Route('/mod-group/{name}/update', name: 'app_mod_group_update')]
#[IsGranted(PermissionsEnum::MOD_GROUP_UPDATE->value, 'modGroup')]
public function __invoke(Request $request, ModGroup $modGroup): Response
{
$modGroupFormDto = $this->dataTransformerRegistry->transformFromEntity(new ModGroupFormDto(), $modGroup);
$modGroupFormDto = $this->modGroupFormDtoDataTransformer->transformFromEntity(new ModGroupFormDto(), $modGroup);
$form = $this->createForm(ModGroupFormType::class, $modGroupFormDto);
$form->handleRequest($request);

if ($form->isSubmitted() && $form->isValid()) {
$this->dataTransformerRegistry->transformToEntity($modGroupFormDto, $modGroup);
$this->modGroupFormDtoDataTransformer->transformToEntity($modGroupFormDto, $modGroup);

$this->entityManager->flush();

Expand Down
12 changes: 4 additions & 8 deletions src/Controller/ModList/CopyAction.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
namespace App\Controller\ModList;

use App\Entity\ModList\ModList;
use App\Form\DataTransformerRegistry;
use App\Form\ModList\DataTransformer\ModListFormDtoDataTransformer;
use App\Form\ModList\Dto\ModListFormDto;
use App\Form\ModList\ModListFormType;
use App\Security\Enum\PermissionsEnum;
Expand All @@ -20,24 +20,20 @@ class CopyAction extends AbstractController
{
public function __construct(
private EntityManagerInterface $entityManager,
private DataTransformerRegistry $dataTransformerRegistry
private ModListFormDtoDataTransformer $modListFormDtoDataTransformer
) {
}

#[Route('/mod-list/{name}/copy', name: 'app_mod_list_copy')]
#[IsGranted(PermissionsEnum::MOD_LIST_COPY->value, 'modList')]
public function __invoke(Request $request, ModList $modList): Response
{
/** @var ModListFormDto $modListFormDto */
$modListFormDto = $this->dataTransformerRegistry->transformFromEntity(new ModListFormDto(), $modList);
$modListFormDto->setId(null); // Entity will be treated as new by the unique name validator
$modListFormDto->setApproved(false); // Reset approval status

$modListFormDto = $this->modListFormDtoDataTransformer->transformFromEntity(new ModListFormDto(), $modList, true);
$form = $this->createForm(ModListFormType::class, $modListFormDto);
$form->handleRequest($request);

if ($form->isSubmitted() && $form->isValid()) {
$modListCopy = $this->dataTransformerRegistry->transformToEntity($modListFormDto);
$modListCopy = $this->modListFormDtoDataTransformer->transformToEntity($modListFormDto);

$this->entityManager->persist($modListCopy);
$this->entityManager->flush();
Expand Down
6 changes: 3 additions & 3 deletions src/Controller/ModList/CreateAction.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

namespace App\Controller\ModList;

use App\Form\DataTransformerRegistry;
use App\Form\ModList\DataTransformer\ModListFormDtoDataTransformer;
use App\Form\ModList\Dto\ModListFormDto;
use App\Form\ModList\ModListFormType;
use App\Security\Enum\PermissionsEnum;
Expand All @@ -19,7 +19,7 @@ class CreateAction extends AbstractController
{
public function __construct(
private EntityManagerInterface $entityManager,
private DataTransformerRegistry $dataTransformerRegistry
private ModListFormDtoDataTransformer $modListFormDtoDataTransformer
) {
}

Expand All @@ -32,7 +32,7 @@ public function __invoke(Request $request): Response
$form->handleRequest($request);

if ($form->isSubmitted() && $form->isValid()) {
$modList = $this->dataTransformerRegistry->transformToEntity($modListFormDto);
$modList = $this->modListFormDtoDataTransformer->transformToEntity($modListFormDto);

$this->entityManager->persist($modList);
$this->entityManager->flush();
Expand Down
8 changes: 4 additions & 4 deletions src/Controller/ModList/UpdateAction.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
namespace App\Controller\ModList;

use App\Entity\ModList\ModList;
use App\Form\DataTransformerRegistry;
use App\Form\ModList\DataTransformer\ModListFormDtoDataTransformer;
use App\Form\ModList\Dto\ModListFormDto;
use App\Form\ModList\ModListFormType;
use App\Security\Enum\PermissionsEnum;
Expand All @@ -20,20 +20,20 @@ class UpdateAction extends AbstractController
{
public function __construct(
private EntityManagerInterface $entityManager,
private DataTransformerRegistry $dataTransformerRegistry
private ModListFormDtoDataTransformer $modListFormDtoDataTransformer
) {
}

#[Route('/mod-list/{name}/update', name: 'app_mod_list_update')]
#[IsGranted(PermissionsEnum::MOD_LIST_UPDATE->value, 'modList')]
public function __invoke(Request $request, ModList $modList): Response
{
$modListFormDto = $this->dataTransformerRegistry->transformFromEntity(new ModListFormDto(), $modList);
$modListFormDto = $this->modListFormDtoDataTransformer->transformFromEntity(new ModListFormDto(), $modList);
$form = $this->createForm(ModListFormType::class, $modListFormDto);
$form->handleRequest($request);

if ($form->isSubmitted() && $form->isValid()) {
$this->dataTransformerRegistry->transformToEntity($modListFormDto, $modList);
$this->modListFormDtoDataTransformer->transformToEntity($modListFormDto, $modList);

$this->entityManager->flush();

Expand Down
8 changes: 4 additions & 4 deletions src/Controller/User/UpdateAction.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
namespace App\Controller\User;

use App\Entity\User\User;
use App\Form\DataTransformerRegistry;
use App\Form\User\DataTransformer\UserFormDtoDataTransformer;
use App\Form\User\Dto\UserFormDto;
use App\Form\User\UserFormType;
use App\Security\Enum\PermissionsEnum;
Expand All @@ -20,22 +20,22 @@ class UpdateAction extends AbstractController
{
public function __construct(
private EntityManagerInterface $entityManager,
private DataTransformerRegistry $dataTransformerRegistry
private UserFormDtoDataTransformer $userFormDtoDataTransformer
) {
}

#[Route('/user/{id}/update', name: 'app_user_update')]
#[IsGranted(PermissionsEnum::USER_UPDATE->value, 'user')]
public function __invoke(Request $request, User $user): Response
{
$userFormDto = $this->dataTransformerRegistry->transformFromEntity(new UserFormDto(), $user);
$userFormDto = $this->userFormDtoDataTransformer->transformFromEntity(new UserFormDto(), $user);
$form = $this->createForm(UserFormType::class, $userFormDto, [
'target' => $user,
]);
$form->handleRequest($request);

if ($form->isSubmitted() && $form->isValid()) {
$this->dataTransformerRegistry->transformToEntity($userFormDto, $user);
$this->userFormDtoDataTransformer->transformToEntity($userFormDto, $user);

$this->entityManager->flush();

Expand Down
6 changes: 3 additions & 3 deletions src/Controller/UserGroup/CreateAction.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

namespace App\Controller\UserGroup;

use App\Form\DataTransformerRegistry;
use App\Form\UserGroup\DataTransformer\UserGroupFormDtoDataTransformer;
use App\Form\UserGroup\Dto\UserGroupFormDto;
use App\Form\UserGroup\UserGroupFormType;
use App\Security\Enum\PermissionsEnum;
Expand All @@ -19,7 +19,7 @@ class CreateAction extends AbstractController
{
public function __construct(
private EntityManagerInterface $entityManager,
private DataTransformerRegistry $dataTransformerRegistry
private UserGroupFormDtoDataTransformer $userGroupFormDtoDataTransformer
) {
}

Expand All @@ -32,7 +32,7 @@ public function __invoke(Request $request): Response
$form->handleRequest($request);

if ($form->isSubmitted() && $form->isValid()) {
$userGroup = $this->dataTransformerRegistry->transformToEntity($userGroupFormDto);
$userGroup = $this->userGroupFormDtoDataTransformer->transformToEntity($userGroupFormDto);

$this->entityManager->persist($userGroup);
$this->entityManager->flush();
Expand Down
8 changes: 4 additions & 4 deletions src/Controller/UserGroup/UpdateAction.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
namespace App\Controller\UserGroup;

use App\Entity\UserGroup\UserGroup;
use App\Form\DataTransformerRegistry;
use App\Form\UserGroup\DataTransformer\UserGroupFormDtoDataTransformer;
use App\Form\UserGroup\Dto\UserGroupFormDto;
use App\Form\UserGroup\UserGroupFormType;
use App\Security\Enum\PermissionsEnum;
Expand All @@ -20,20 +20,20 @@ class UpdateAction extends AbstractController
{
public function __construct(
private EntityManagerInterface $entityManager,
private DataTransformerRegistry $dataTransformerRegistry
private UserGroupFormDtoDataTransformer $userGroupFormDtoDataTransformer
) {
}

#[Route('/user-group/{name}/update', name: 'app_user_group_update')]
#[IsGranted(PermissionsEnum::USER_GROUP_UPDATE->value, 'userGroup')]
public function __invoke(Request $request, UserGroup $userGroup): Response
{
$userGroupFormDto = $this->dataTransformerRegistry->transformFromEntity(new UserGroupFormDto(), $userGroup);
$userGroupFormDto = $this->userGroupFormDtoDataTransformer->transformFromEntity(new UserGroupFormDto(), $userGroup);
$form = $this->createForm(UserGroupFormType::class, $userGroupFormDto);
$form->handleRequest($request);

if ($form->isSubmitted() && $form->isValid()) {
$this->dataTransformerRegistry->transformToEntity($userGroupFormDto, $userGroup);
$this->userGroupFormDtoDataTransformer->transformToEntity($userGroupFormDto, $userGroup);

$this->entityManager->flush();

Expand Down
Loading

0 comments on commit ddca1cc

Please sign in to comment.