qo
Qovery
OSS
qo
Pipelines
Nx runs
Insights
Compare tasks
Analytics
Sign in
Toggle Sidebar
co
console
Pipelines
feat(variables): [QOV-2445] create an override from a conflict and show which scope wins (#3141) * feat(variables): offer to create an override on a creation conflict When POST /variable returns 409 and the existing variable sits at a strictly higher scope, is a value, file or override, and has the same secret kind, the conflict toast offers "Create an override". It opens the override modal with the existing variable as parent and the value and scope the user typed. Other conflicts keep the link to the existing variable. * feat(variables): show which scope wins in the service variable list A variable overridden at a lower scope is muted and labelled "Overridden in <scope>"; the override is labelled "Overrides <scope>". Both labels scroll to the other row. * fix(variables): only offer an override for the same key, on a fresh form A 409 can also come from a mount path clash with a variable of another key; that case now keeps the link to the existing variable instead of offering an override of an unrelated variable. The override modal replaced the creation modal at the same tree position, so it reused the creation form state (file format, mount path, interpolation toggle). A distinct key now forces a remount so the override form starts from the parent variable. * fix(variables): detect the conflict from the HTTP status and match the variable kind - Detect the 409 with isHttpStatus instead of the code the interceptor copies from the body. - Only offer an override when the request and the existing variable are the same kind (file or value). An existing override only carries its kind through the variable it overrides, which the 409 body does not include, so it keeps the link. - Clear the unsaved-changes guard armed by the creation form before swapping in the override form. * chore(deps): bump qovery-typescript-axios to 1.1.1029 * refactor(variables): type the 409 body with the generated client Use VariableConflictResponse and ExistingVariableResponse from qovery-typescript-axios instead of the local ConflictingVariableResponse type. variable_type and is_secret are now always sent, so the checks for an older API go away. An existing override still falls back to the link: the body doesn't include the variable it overrides. * chore(deps): bump qovery-typescript-axios to 1.1.1030
nx affected --target=lint --parallel=3
⌘K
feat(variables): [QOV-2445] create an override from a conflict and show which scope wins (#3141)
Succeeded
in
1s
Started
Copy command
nx affected --target=lint --parallel=3
staging
Tasks
Resource Usage
qo
Qovery
OSS