Skip to content

Commit a6e314a

Browse files
committed
fix: id generation
1 parent 1817fe2 commit a6e314a

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

src/Http/Service/Factory/RequestFactory.php

+10
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
use Assert\Assertion;
88
use Assert\AssertionFailedException;
9+
use Ramsey\Uuid\Uuid;
910
use Symfony\Component\HttpFoundation\Request;
1011
use Symfony\Component\HttpFoundation\RequestStack;
1112
use Undabot\JsonApi\Definition\Encoding\PhpArrayToResourceEncoderInterface;
@@ -63,6 +64,15 @@ public function createResourceRequest(): CreateResourceRequest
6364
unset($requestPrimaryData['lid']);
6465
}
6566

67+
/**
68+
* If no ID is already generated create new one so the write model
69+
* can already have ID as a property. Consider having ID strategy
70+
* set through configuration.
71+
*/
72+
if (false === array_key_exists('id', $requestPrimaryData)) {
73+
$requestPrimaryData['id'] = (string) Uuid::uuid4();
74+
}
75+
6676
$resource = $this->resourceEncoder->decode($requestPrimaryData);
6777

6878
return new CreateResourceRequest($resource);

0 commit comments

Comments
 (0)