Update deployments PATCH endpoint to make more targeted updates with slugs #17027
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.
This PR updates the PATCH /deployments/{id} route to handle targeted updates to deployment schedules via the newly introduced deployment schedule slugs.
If not all existing schedules have slugs then we'll fall back to the existing logic where are schedules are recreated to match the request.
If the existing schedules have slugs, but not all provided schedules have slugs, then we'll return a 422 to avoid accidentally blowing away schedules.
Otherwise, we'll use the existing slugs and the provided slugs to make targeted updates to the deployment's schedules.
This update will allow us to use the PATCH endpoint in the SDK, which will prevent the updates made from the SDK from blasting away changes made in the UI (related to #14973).