This commit is contained in:
seb
2026-10-04 19:38:16 +02:00
parent a3926d3547
commit e00533f9fa
3 changed files with 34 additions and 9 deletions

View File

@@ -1806,7 +1806,15 @@ export function register(app, basePath = '') {
* /article/{sku}/father:
* post:
* summary: Toggle father mode for an article
* description: Enables or disables father article status. Enabling requires specifying an attributeNameId; disabling requires the article to have zero children.
* description: |
* Enables or disables father article status. Enabling requires specifying an
* attributeNameId; disabling requires the article to have zero children.
*
* `attributeNameId` is **conditionally required**: it is optional in the schema
* because it is only required when `isFather` is `true`. Omitting it (or passing
* `0`/a negative value) together with `isFather: true` returns `400`
* `attributeNameId is required to become a father article`. It must not be sent
* when `isFather` is `false`.
* tags:
* - Article
* security:
@@ -1831,7 +1839,10 @@ export function register(app, basePath = '') {
* description: True to make article a father, false to revert to regular article
* attributeNameId:
* type: integer
* description: Required when isFather is true. The attributename id for variants.
* description: |
* **Conditionally required when `isFather` is `true`** (required iff isFather=true).
* The attributename id used for the article's variants. Omitting it while
* enabling father mode returns 400. Must be omitted when `isFather` is `false`.
* responses:
* 200:
* description: Updated article
@@ -1843,7 +1854,10 @@ export function register(app, basePath = '') {
* article:
* $ref: '#/components/schemas/Article'
* 400:
* description: Invalid input or article still has children
* description: |
* Invalid input, `attributeNameId` missing while `isFather` is true, article still
* has children, article has stock/suppliers/a Stückliste/options, or the attribute is
* already used by an ancestor father article.
* 404:
* description: Article or attribute name not found
*/