Skip to content

Commit 76f97ff

Browse files
committed
-refactoring
1 parent b7b9bdb commit 76f97ff

File tree

2 files changed

+19
-3
lines changed

2 files changed

+19
-3
lines changed

tests/Fixtures/TestBundle/Document/Dummy.php

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@
2020
use Doctrine\Common\Collections\ArrayCollection;
2121
use Doctrine\Common\Collections\Collection;
2222
use Doctrine\ODM\MongoDB\Mapping\Annotations as ODM;
23+
use Symfony\Component\Serializer\Attribute\Context;
24+
use Symfony\Component\Serializer\Normalizer\AbstractNormalizer;
2325
use Symfony\Component\Validator\Constraints as Assert;
2426

2527
/**
@@ -28,7 +30,7 @@
2830
* @author Kévin Dunglas <[email protected]>
2931
* @author Alexandre Delplace <[email protected]>
3032
*/
31-
#[ApiResource(extraProperties: ['doctrine_mongodb' => ['execute_options' => ['allowDiskUse' => true]], 'standard_put' => false, 'rfc_7807_compliant_errors' => false], filters: ['my_dummy.mongodb.boolean', 'my_dummy.mongodb.date', 'my_dummy.mongodb.exists', 'my_dummy.mongodb.numeric', 'my_dummy.mongodb.order', 'my_dummy.mongodb.range', 'my_dummy.mongodb.search', 'my_dummy.property'])]
33+
#[ApiResource(normalizationContext: [AbstractNormalizer::IGNORED_ATTRIBUTES => ['dummyDateWithFormat']], filters: ['my_dummy.mongodb.boolean', 'my_dummy.mongodb.date', 'my_dummy.mongodb.exists', 'my_dummy.mongodb.numeric', 'my_dummy.mongodb.order', 'my_dummy.mongodb.range', 'my_dummy.mongodb.search', 'my_dummy.property'], extraProperties: ['doctrine_mongodb' => ['execute_options' => ['allowDiskUse' => true]], 'standard_put' => false, 'rfc_7807_compliant_errors' => false])]
3234
#[ApiResource(uriTemplate: '/related_owned_dummies/{id}/owning_dummy{._format}', uriVariables: ['id' => new Link(fromClass: RelatedOwnedDummy::class, identifiers: ['id'], fromProperty: 'owningDummy')], status: 200, filters: ['my_dummy.mongodb.boolean', 'my_dummy.mongodb.date', 'my_dummy.mongodb.exists', 'my_dummy.mongodb.numeric', 'my_dummy.mongodb.order', 'my_dummy.mongodb.range', 'my_dummy.mongodb.search', 'my_dummy.property'], operations: [new Get()])]
3335
#[ApiResource(uriTemplate: '/related_owning_dummies/{id}/owned_dummy{._format}', uriVariables: ['id' => new Link(fromClass: RelatedOwningDummy::class, identifiers: ['id'], fromProperty: 'ownedDummy')], status: 200, filters: ['my_dummy.mongodb.boolean', 'my_dummy.mongodb.date', 'my_dummy.mongodb.exists', 'my_dummy.mongodb.numeric', 'my_dummy.mongodb.order', 'my_dummy.mongodb.range', 'my_dummy.mongodb.search', 'my_dummy.property'], operations: [new Get()])]
3436
#[ODM\Document]
@@ -75,6 +77,13 @@ class Dummy
7577
#[ApiProperty(iris: ['https://schema.org/DateTime'])]
7678
#[ODM\Field(type: 'date', nullable: true)]
7779
public $dummyDate;
80+
/**
81+
* @var \DateTime|null A dummy date
82+
*/
83+
#[Context(denormalizationContext: ['datetime_format' => 'Y-m-d'])]
84+
#[ApiProperty(iris: ['https://schema.org/DateTime'])]
85+
#[ODM\Field(type: 'date', nullable: true)]
86+
private $dummyDateWithFormat;
7887
/**
7988
* @var float|null A dummy float
8089
*/
@@ -113,9 +122,10 @@ public static function staticMethod(): void
113122
{
114123
}
115124

116-
public function __construct()
125+
public function __construct(?\DateTime $dummyDateWithFormat = null)
117126
{
118127
$this->relatedDummies = new ArrayCollection();
128+
$this->dummyDateWithFormat = $dummyDateWithFormat;
119129
}
120130

121131
public function getId(): ?int
@@ -178,6 +188,11 @@ public function getDummyDate()
178188
return $this->dummyDate;
179189
}
180190

191+
public function getDummyDateWithFormat()
192+
{
193+
return $this->dummyDateWithFormat;
194+
}
195+
181196
public function setDummyPrice($dummyPrice)
182197
{
183198
$this->dummyPrice = $dummyPrice;

tests/Fixtures/TestBundle/Entity/Dummy.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,15 @@
2121
use Doctrine\Common\Collections\Collection;
2222
use Doctrine\ORM\Mapping as ORM;
2323
use Symfony\Component\Serializer\Attribute\Context;
24+
use Symfony\Component\Serializer\Normalizer\AbstractNormalizer;
2425
use Symfony\Component\Validator\Constraints as Assert;
2526

2627
/**
2728
* Dummy.
2829
*
2930
* @author Kévin Dunglas <[email protected]>
3031
*/
31-
#[ApiResource(filters: ['my_dummy.boolean', 'my_dummy.date', 'my_dummy.exists', 'my_dummy.numeric', 'my_dummy.order', 'my_dummy.range', 'my_dummy.search', 'my_dummy.property'], extraProperties: ['standard_put' => false, 'rfc_7807_compliant_errors' => false])]
32+
#[ApiResource(normalizationContext: [AbstractNormalizer::IGNORED_ATTRIBUTES => ['dummyDateWithFormat']], filters: ['my_dummy.boolean', 'my_dummy.date', 'my_dummy.exists', 'my_dummy.numeric', 'my_dummy.order', 'my_dummy.range', 'my_dummy.search', 'my_dummy.property'], extraProperties: ['standard_put' => false, 'rfc_7807_compliant_errors' => false])]
3233
#[ApiResource(uriTemplate: '/related_owned_dummies/{id}/owning_dummy{._format}', uriVariables: ['id' => new Link(fromClass: RelatedOwnedDummy::class, identifiers: ['id'], fromProperty: 'owningDummy')], status: 200, filters: ['my_dummy.boolean', 'my_dummy.date', 'my_dummy.exists', 'my_dummy.numeric', 'my_dummy.order', 'my_dummy.range', 'my_dummy.search', 'my_dummy.property'], operations: [new Get()])]
3334
#[ApiResource(uriTemplate: '/related_owning_dummies/{id}/owned_dummy{._format}', uriVariables: ['id' => new Link(fromClass: RelatedOwningDummy::class, identifiers: ['id'], fromProperty: 'ownedDummy')], status: 200, filters: ['my_dummy.boolean', 'my_dummy.date', 'my_dummy.exists', 'my_dummy.numeric', 'my_dummy.order', 'my_dummy.range', 'my_dummy.search', 'my_dummy.property'], operations: [new Get()])]
3435
#[ORM\Entity]

0 commit comments

Comments
 (0)