Skip to content

Commit

Permalink
chore: use constants on serialization contexts
Browse files Browse the repository at this point in the history
  • Loading branch information
vincentchalamon committed Sep 27, 2023
1 parent a8e6f62 commit 1e55f68
Show file tree
Hide file tree
Showing 4 changed files with 25 additions and 17 deletions.
12 changes: 7 additions & 5 deletions api/src/Entity/Book.php
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@
use Symfony\Bridge\Doctrine\Types\UuidType;
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
use Symfony\Component\Serializer\Annotation\Groups;
use Symfony\Component\Serializer\Normalizer\AbstractNormalizer;
use Symfony\Component\Serializer\Normalizer\AbstractObjectNormalizer;
use Symfony\Component\Uid\Uuid;
use Symfony\Component\Validator\Constraints as Assert;

Expand Down Expand Up @@ -61,11 +63,11 @@
),
],
normalizationContext: [
'groups' => ['Book:read:admin', 'Enum:read'],
'skip_null_values' => true,
AbstractNormalizer::GROUPS => ['Book:read:admin', 'Enum:read'],
AbstractObjectNormalizer::SKIP_NULL_VALUES => true,
],
denormalizationContext: [
'groups' => ['Book:write'],
AbstractNormalizer::GROUPS => ['Book:write'],
],
// todo waiting for https://github.com/api-platform/core/pull/5844
// collectDenormalizationErrors: true,
Expand All @@ -80,8 +82,8 @@
new Get(),
],
normalizationContext: [
'groups' => ['Book:read', 'Enum:read'],
'skip_null_values' => true,
AbstractNormalizer::GROUPS => ['Book:read', 'Enum:read'],
AbstractObjectNormalizer::SKIP_NULL_VALUES => true,
]
)]
#[ORM\Entity(repositoryClass: BookRepository::class)]
Expand Down
8 changes: 5 additions & 3 deletions api/src/Entity/Bookmark.php
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@
use Doctrine\ORM\Mapping as ORM;
use Symfony\Bridge\Doctrine\Types\UuidType;
use Symfony\Component\Serializer\Annotation\Groups;
use Symfony\Component\Serializer\Normalizer\AbstractNormalizer;
use Symfony\Component\Serializer\Normalizer\AbstractObjectNormalizer;
use Symfony\Component\Uid\Uuid;
use Symfony\Component\Validator\Constraints as Assert;

Expand All @@ -40,14 +42,14 @@
),
],
normalizationContext: [
'groups' => ['Bookmark:read'],
'skip_null_values' => true,
AbstractNormalizer::GROUPS => ['Bookmark:read'],
AbstractObjectNormalizer::SKIP_NULL_VALUES => true,
IriTransformerNormalizer::CONTEXT_KEY => [
'book' => '/books/{id}{._format}',
],
],
denormalizationContext: [
'groups' => ['Bookmark:write'],
AbstractNormalizer::GROUPS => ['Bookmark:write'],
],
// todo waiting for https://github.com/api-platform/core/pull/5844
// collectDenormalizationErrors: true,
Expand Down
16 changes: 9 additions & 7 deletions api/src/Entity/Review.php
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@
use Doctrine\ORM\Mapping as ORM;
use Symfony\Bridge\Doctrine\Types\UuidType;
use Symfony\Component\Serializer\Annotation\Groups;
use Symfony\Component\Serializer\Normalizer\AbstractNormalizer;
use Symfony\Component\Serializer\Normalizer\AbstractObjectNormalizer;
use Symfony\Component\Uid\Uuid;
use Symfony\Component\Validator\Constraints as Assert;

Expand Down Expand Up @@ -66,11 +68,11 @@
'book' => '/admin/books/{id}{._format}',
'user' => '/admin/users/{id}{._format}',
],
'skip_null_values' => true,
'groups' => ['Review:read', 'Review:read:admin'],
AbstractObjectNormalizer::SKIP_NULL_VALUES => true,
AbstractNormalizer::GROUPS => ['Review:read', 'Review:read:admin'],
],
denormalizationContext: [
'groups' => ['Review:write', 'Review:write:admin'],
AbstractNormalizer::GROUPS => ['Review:write', 'Review:write:admin'],
],
// todo waiting for https://github.com/api-platform/core/pull/5844
// collectDenormalizationErrors: true,
Expand Down Expand Up @@ -101,7 +103,7 @@
processor: ReviewPersistProcessor::class,
provider: CreateProvider::class,
itemUriTemplate: '/books/{bookId}/reviews/{id}{._format}',
validationContext: ['groups' => ['Default', 'Review:create']]
validationContext: [AbstractNormalizer::GROUPS => ['Default', 'Review:create']]
),
new Patch(
uriTemplate: '/books/{bookId}/reviews/{id}{._format}',
Expand Down Expand Up @@ -129,11 +131,11 @@
'book' => '/books/{id}{._format}',
'user' => '/users/{id}{._format}',
],
'skip_null_values' => true,
'groups' => ['Review:read'],
AbstractObjectNormalizer::SKIP_NULL_VALUES => true,
AbstractNormalizer::GROUPS => ['Review:read'],
],
denormalizationContext: [
'groups' => ['Review:write'],
AbstractNormalizer::GROUPS => ['Review:write'],
],
// todo waiting for https://github.com/api-platform/core/pull/5844
// collectDenormalizationErrors: true
Expand Down
6 changes: 4 additions & 2 deletions api/src/Entity/User.php
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
use Symfony\Component\Security\Core\User\UserInterface;
use Symfony\Component\Serializer\Annotation\Groups;
use Symfony\Component\Serializer\Normalizer\AbstractNormalizer;
use Symfony\Component\Serializer\Normalizer\AbstractObjectNormalizer;
use Symfony\Component\Uid\Uuid;

/**
Expand Down Expand Up @@ -41,8 +43,8 @@
),
],
normalizationContext: [
'groups' => ['User:read'],
'skip_null_values' => true,
AbstractNormalizer::GROUPS => ['User:read'],
AbstractObjectNormalizer::SKIP_NULL_VALUES => true,
]
)]
#[ORM\Entity(repositoryClass: UserRepository::class)]
Expand Down

0 comments on commit 1e55f68

Please sign in to comment.