PAT-1866 Migrate sandboxes-service-api-client onto php-api-client-base#515
Merged
Conversation
d8db592 to
2573040
Compare
485a784 to
2a94369
Compare
keboola-pr-reviewer-bot
left a comment
There was a problem hiding this comment.
Verdict: needs_human (risk 3/5) · profile ajda
reviewer returned a payload that failed validation.
romantmb
approved these changes
Jun 16, 2026
2a94369 to
9d6bae4
Compare
Replace the duplicated transport/auth/retry/JSON plumbing with the shared base lib. AppsApiClient and SandboxesApiClient take the storage token + tunable options as flat constructor params (DI-friendly), build the authenticator internally, unify models on the interface's fromResponseData (fromArray dropped), and supply the service error format via a standalone SandboxesErrorMessageResolver.
9d6bae4 to
7dd3130
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Release Notes
https://linear.app/keboola/issue/PAT-1866/unified-api-client-base
Depends on #513
Migrates
keboola/sandboxes-service-api-clientontokeboola/php-api-client-base, removing its own copy of the transport/auth/retry/JSON plumbing.AppsApiClientandSandboxesApiClientnow compose the baseApiClientand take the authenticator as a typed first-class argument (StorageApiTokenAuthenticator), so passing an invalid auth scheme is a type error (and a PHPStan error) rather than a runtime failure.Key changes:
ApiClient/ApiClientConfiguration/RetryDecider/Json/ResponseModelInterface/Exception\ClientException/Authentication\StorageTokenAuthenticator; depend on the base via the monorepo path repository.AppsApiClient/SandboxesApiClientconstructors are now(string $baseUrl, StorageApiTokenAuthenticator $auth, ?ApiClientOptions $options = null); the model classes implement the baseResponseModelInterface.composer cigreen, PHPStan level max, infection MSI 96%).Plans for customer communication
None.
Impact analysis
Breaking change for callers constructing
AppsApiClient/SandboxesApiClient: authentication is now a typedStorageApiTokenAuthenticatorargument and client options useKeboola\ApiClientBase\ApiClientOptions. Released as a new major version. Cannot be released untilphp-api-client-baseis published (see PR #513).Change type
Refactoring
Justification
Deduplicate
sandboxes-service-api-clientonto the unified API client base (PAT-1866).Deployment
Merge & automatic deploy.
Rollback plan
Revert of this PR.
Post release support plan
None.