- Moved
WrkFlow\ApiSdkBuilder\ApiFactory
toWrkFlow\ApiSdkBuilder\Factories\ApiFactory
. - Moved
WrkFlow\ApiSdkBuilder\Response
namespace toWrkFlow\ApiSdkBuilder\Factories\Responses
namespace. WrkFlow\ApiSdkBuilder\Contracts\OptionsContract
has new signature fortoBody(AbstractEnvironment $environment)
.WrkFlow\ApiSdkBuilder\Options\AbstractJsonOptions
has new signature fortoArray(AbstractEnvironment $environment)
.WrkFlow\ApiSdkBuilder\Contracts\SDKContainerFactoryContract
has new signaturemixed $body
parameter formakeResponse(string $class, ResponseInterface $response, mixed $body): AbstractResponse;
WrkFlow\ApiSdkBuilder\Factories\GuzzleLaravelApiFactory
removed in favor of LaravelServiceProvider provider with HTTP auto discovery.WrkFlow\ApiSdkBuilder\Factories\LaravelApiFactory
removed in favor of LaravelServiceProvider provider with HTTP auto discovery.
Response classes that extends AbstractJsonResponse/AbstractJsonItemsResponse
requires new parameter array $body
in __construct
.
It is important that name of the parameters is $body
.
Also parseJson
function is removed. Transfer your parsing code within constructor.
json
returnsGetValue
instance.xml
returnsGetValue
instance. Docs.
Both traits were removed in favor of GetValue package that makes accessing data easier.
makeResponse
has been removed. Update your endpoints to new usage:
public function paginate(
GetUnitsOptions $options = null,
PageInfoOptions $page = new PageInfoOptions()
): UnitsResponse {
$result = $this->api->post($this->uri(), new MergedJsonOptions([$options, $page]));
return $this->makeResponse(UnitsResponse::class, $result);
}
to
public function paginate(
GetUnitsOptions $options = null,
PageInfoOptions $page = new PageInfoOptions()
): UnitsResponse {
return $this->api->post(
responseClass: UnitsResponse::class,
uri: $this->uri(),
body: new MergedJsonOptions([$options, $page]),
);
}
__construct
signature has been changed - MakeBodyFromResponseAction $makeBodyFromResponseAction
removed.