Skip to content

Commit 0d10354

Browse files
author
Philipp Marien
committed
Merge branch 'release/1.2.0'
2 parents 6936766 + 232881c commit 0d10354

File tree

1 file changed

+15
-5
lines changed

1 file changed

+15
-5
lines changed

src/JsonApiClient.php

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -115,20 +115,30 @@ public function fetch(FetchRequestInterface $request): DocumentInterface
115115

116116
/**
117117
* @param SaveRequestInterface $request
118+
* @param bool $forceCreate Set too true if you want to force a post request
119+
*
118120
* @return DocumentInterface
119121
* @throws \Exception
120122
*/
121-
public function save(SaveRequestInterface $request): DocumentInterface
123+
public function save(SaveRequestInterface $request, $forceCreate = false): DocumentInterface
122124
{
123125
$uri = $this->buildUri($this->buildPath($request));
124126

125-
return $this->handleResponse(
126-
$this->httpClient()->post(
127+
if (!$request->containsId() || $forceCreate) {
128+
$response = $this->httpClient()->post(
127129
$uri,
128130
$this->buildRequestContent($request->document()),
129131
$request->headers()->all()
130-
)
131-
);
132+
);
133+
} else {
134+
$response = $this->httpClient()->patch(
135+
$uri,
136+
$this->buildRequestContent($request->document()),
137+
$request->headers()->all()
138+
);
139+
}
140+
141+
return $this->handleResponse($response);
132142
}
133143

134144
/**

0 commit comments

Comments
 (0)