docs-util: fix issue with creating StoreProductType OAS schema (#11180)

This commit is contained in:
Shahed Nasser
2025-01-27 17:33:46 +02:00
committed by GitHub
parent 4ccb489dbe
commit dd487f02e1
17 changed files with 204 additions and 16 deletions
@@ -35,7 +35,7 @@ properties:
items: items:
type: object type: object
type: type:
type: object $ref: ./StoreProductType.yaml
length: length:
type: number type: number
title: length title: length
@@ -0,0 +1,35 @@
type: object
description: The product type's details.
x-schemaName: StoreProductType
required:
- id
- value
- created_at
- updated_at
properties:
id:
type: string
title: id
description: The product type's ID.
metadata:
type: object
description: The product type's metadata, can hold custom key-value pairs.
created_at:
type: string
format: date-time
title: created_at
description: The date the product type was created.
updated_at:
type: string
format: date-time
title: updated_at
description: The date the product type was updated.
deleted_at:
type: string
format: date-time
title: deleted_at
description: The date the product type was deleted.
value:
type: string
title: value
description: The type's value.
@@ -23,4 +23,4 @@ properties:
type: array type: array
description: The list of product types. description: The list of product types.
items: items:
$ref: ./StoreProduct.yaml $ref: ./StoreProductType.yaml
@@ -5,4 +5,4 @@ required:
- product_type - product_type
properties: properties:
product_type: product_type:
$ref: ./StoreProduct.yaml $ref: ./StoreProductType.yaml
@@ -68679,7 +68679,7 @@ components:
items: items:
type: object type: object
type: type:
type: object $ref: '#/components/schemas/StoreProductType'
length: length:
type: number type: number
title: length title: length
@@ -69116,6 +69116,42 @@ components:
properties: properties:
product_tag: product_tag:
$ref: '#/components/schemas/StoreProductTag' $ref: '#/components/schemas/StoreProductTag'
StoreProductType:
type: object
description: The product type's details.
x-schemaName: StoreProductType
required:
- id
- value
- created_at
- updated_at
properties:
id:
type: string
title: id
description: The product type's ID.
metadata:
type: object
description: The product type's metadata, can hold custom key-value pairs.
created_at:
type: string
format: date-time
title: created_at
description: The date the product type was created.
updated_at:
type: string
format: date-time
title: updated_at
description: The date the product type was updated.
deleted_at:
type: string
format: date-time
title: deleted_at
description: The date the product type was deleted.
value:
type: string
title: value
description: The type's value.
StoreProductTypeListResponse: StoreProductTypeListResponse:
type: object type: object
description: The paginated list of product types. description: The paginated list of product types.
@@ -69142,7 +69178,7 @@ components:
type: array type: array
description: The list of product types. description: The list of product types.
items: items:
$ref: '#/components/schemas/StoreProduct' $ref: '#/components/schemas/StoreProductType'
StoreProductTypeResponse: StoreProductTypeResponse:
type: object type: object
description: The product type's details. description: The product type's details.
@@ -69151,7 +69187,7 @@ components:
- product_type - product_type
properties: properties:
product_type: product_type:
$ref: '#/components/schemas/StoreProduct' $ref: '#/components/schemas/StoreProductType'
StoreProductVariant: StoreProductVariant:
type: object type: object
description: The variant's details. description: The variant's details.
@@ -35,7 +35,7 @@ properties:
items: items:
type: object type: object
type: type:
type: object $ref: ./StoreProductType.yaml
length: length:
type: number type: number
title: length title: length
@@ -0,0 +1,35 @@
type: object
description: The product type's details.
x-schemaName: StoreProductType
required:
- id
- value
- created_at
- updated_at
properties:
id:
type: string
title: id
description: The product type's ID.
metadata:
type: object
description: The product type's metadata, can hold custom key-value pairs.
created_at:
type: string
format: date-time
title: created_at
description: The date the product type was created.
updated_at:
type: string
format: date-time
title: updated_at
description: The date the product type was updated.
deleted_at:
type: string
format: date-time
title: deleted_at
description: The date the product type was deleted.
value:
type: string
title: value
description: The type's value.
@@ -23,4 +23,4 @@ properties:
type: array type: array
description: The list of product types. description: The list of product types.
items: items:
$ref: ./StoreProduct.yaml $ref: ./StoreProductType.yaml
@@ -5,4 +5,4 @@ required:
- product_type - product_type
properties: properties:
product_type: product_type:
$ref: ./StoreProduct.yaml $ref: ./StoreProductType.yaml
@@ -101,6 +101,8 @@ tags:
x-associatedSchema: x-associatedSchema:
$ref: '#/components/schemas/StoreProductTag' $ref: '#/components/schemas/StoreProductTag'
- name: Product Types - name: Product Types
x-associatedSchema:
$ref: '#/components/schemas/StoreProductType'
- name: Products - name: Products
description: | description: |
Customers browse products for their purchase. Customers browse products for their purchase.
@@ -32624,7 +32626,7 @@ components:
items: items:
type: object type: object
type: type:
type: object $ref: '#/components/schemas/StoreProductType'
length: length:
type: number type: number
title: length title: length
@@ -33061,6 +33063,42 @@ components:
properties: properties:
product_tag: product_tag:
$ref: '#/components/schemas/StoreProductTag' $ref: '#/components/schemas/StoreProductTag'
StoreProductType:
type: object
description: The product type's details.
x-schemaName: StoreProductType
required:
- id
- value
- created_at
- updated_at
properties:
id:
type: string
title: id
description: The product type's ID.
metadata:
type: object
description: The product type's metadata, can hold custom key-value pairs.
created_at:
type: string
format: date-time
title: created_at
description: The date the product type was created.
updated_at:
type: string
format: date-time
title: updated_at
description: The date the product type was updated.
deleted_at:
type: string
format: date-time
title: deleted_at
description: The date the product type was deleted.
value:
type: string
title: value
description: The type's value.
StoreProductTypeListResponse: StoreProductTypeListResponse:
type: object type: object
description: The paginated list of product types. description: The paginated list of product types.
@@ -33087,7 +33125,7 @@ components:
type: array type: array
description: The list of product types. description: The list of product types.
items: items:
$ref: '#/components/schemas/StoreProduct' $ref: '#/components/schemas/StoreProductType'
StoreProductTypeResponse: StoreProductTypeResponse:
type: object type: object
description: The product type's details. description: The product type's details.
@@ -33096,7 +33134,7 @@ components:
- product_type - product_type
properties: properties:
product_type: product_type:
$ref: '#/components/schemas/StoreProduct' $ref: '#/components/schemas/StoreProductType'
StoreProductVariant: StoreProductVariant:
type: object type: object
description: The variant's details. description: The variant's details.
@@ -126,6 +126,8 @@ tags:
x-associatedSchema: x-associatedSchema:
$ref: ./components/schemas/StoreProductTag.yaml $ref: ./components/schemas/StoreProductTag.yaml
- name: Product Types - name: Product Types
x-associatedSchema:
$ref: ./components/schemas/StoreProductType.yaml
- name: Products - name: Products
description: > description: >
Customers browse products for their purchase. Customers browse products for their purchase.
@@ -111,6 +111,8 @@ tags:
x-associatedSchema: x-associatedSchema:
$ref: "#/components/schemas/StoreProductTag" $ref: "#/components/schemas/StoreProductTag"
- name: Product Types - name: Product Types
x-associatedSchema:
$ref: "#/components/schemas/StoreProductType"
- name: Products - name: Products
description: > description: >
Customers browse products for their purchase. Customers browse products for their purchase.
@@ -37,7 +37,7 @@
* items: * items:
* $ref: "#/components/schemas/StoreProductCategory" * $ref: "#/components/schemas/StoreProductCategory"
* type: * type:
* $ref: "#/components/schemas/StoreProduct" * $ref: "#/components/schemas/StoreProductType"
* length: * length:
* type: number * type: number
* title: length * title: length
@@ -0,0 +1,40 @@
/**
* @schema StoreProductType
* type: object
* description: The product type's details.
* x-schemaName: StoreProductType
* required:
* - id
* - value
* - created_at
* - updated_at
* properties:
* id:
* type: string
* title: id
* description: The product type's ID.
* metadata:
* type: object
* description: The product type's metadata, can hold custom key-value pairs.
* created_at:
* type: string
* format: date-time
* title: created_at
* description: The date the product type was created.
* updated_at:
* type: string
* format: date-time
* title: updated_at
* description: The date the product type was updated.
* deleted_at:
* type: string
* format: date-time
* title: deleted_at
* description: The date the product type was deleted.
* value:
* type: string
* title: value
* description: The type's value.
*
*/
@@ -25,7 +25,7 @@
* type: array * type: array
* description: The list of product types. * description: The list of product types.
* items: * items:
* $ref: "#/components/schemas/StoreProduct" * $ref: "#/components/schemas/StoreProductType"
* *
*/ */
@@ -7,7 +7,7 @@
* - product_type * - product_type
* properties: * properties:
* product_type: * product_type:
* $ref: "#/components/schemas/StoreProduct" * $ref: "#/components/schemas/StoreProductType"
* *
*/ */
@@ -357,7 +357,7 @@ class OasSchemaHelper {
.replace("DTO", "") .replace("DTO", "")
.replace(this.schemaRefPrefix, "") .replace(this.schemaRefPrefix, "")
.replace( .replace(
/(?<!(AdminProduct|CreateProduct|StoreShippingOption|AdminShippingOption|CreateShippingOption|BaseProduct))Type$/, /(?<!(AdminProduct|CreateProduct|StoreShippingOption|AdminShippingOption|CreateShippingOption|BaseProduct|StoreProduct))Type$/,
"" ""
) )
} }