fix: check if attribute code exists in the case we have no attribute id #40459
+28
−5
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.
Description (*)
Missing
attribute_idhandling: Previously, ifattribute_idwas missing from the payload (even ifattribute_codewas in the URL), the system attempted to create a new attribute, resulting in a duplicate code error. This fix resolves theattribute_idfrom the existing attribute code if needed.Invalid Option ID Crash: If the payload contained numeric option IDs that did not exist in the database (e.g., during migration or copy-paste between envs), it caused a SQL Integrity Constraint Violation. This fix validates provided option IDs against the database and treats invalid/missing IDs as new options to be created.
Related Pull Requests
Fixed Issues (if relevant)
Manual testing scenarios (*)
PUT /V1/products/attributes/:codeworks withoutattribute_idin body. Good testable with "color" attribute.vendor/bin/phpunit app/code/Magento/Catalog/Test/Unit/Model/Product/Attribute/RepositoryTest.phpQuestions or comments
Contribution checklist (*)