| @@ -1267,6 +1267,254 @@ paths: | |||
| required: true | |||
| deprecated: false | |||
| parameters: [] | |||
| /api/products: | |||
| get: | |||
| operationId: api_products_get_collection | |||
| tags: | |||
| - Product | |||
| responses: | |||
| 200: | |||
| description: 'Product collection' | |||
| content: | |||
| application/ld+json: | |||
| schema: | |||
| type: object | |||
| properties: | |||
| 'hydra:member': { type: array, items: { $ref: '#/components/schemas/Product.jsonld' } } | |||
| 'hydra:totalItems': { type: integer, minimum: 0 } | |||
| 'hydra:view': { type: object, properties: { '@id': { type: string, format: iri-reference }, '@type': { type: string }, 'hydra:first': { type: string, format: iri-reference }, 'hydra:last': { type: string, format: iri-reference }, 'hydra:previous': { type: string, format: iri-reference }, 'hydra:next': { type: string, format: iri-reference } }, example: { '@id': string, type: string, 'hydra:first': string, 'hydra:last': string, 'hydra:previous': string, 'hydra:next': string } } | |||
| 'hydra:search': { type: object, properties: { '@type': { type: string }, 'hydra:template': { type: string }, 'hydra:variableRepresentation': { type: string }, 'hydra:mapping': { type: array, items: { type: object, properties: { '@type': { type: string }, variable: { type: string }, property: { type: [string, 'null'] }, required: { type: boolean } } } } } } | |||
| required: | |||
| - 'hydra:member' | |||
| application/json: | |||
| schema: | |||
| type: array | |||
| items: | |||
| $ref: '#/components/schemas/Product' | |||
| text/html: | |||
| schema: | |||
| type: array | |||
| items: | |||
| $ref: '#/components/schemas/Product' | |||
| application/hal+json: | |||
| schema: | |||
| type: object | |||
| properties: | |||
| _embedded: { type: array, items: { $ref: '#/components/schemas/Product.jsonhal' } } | |||
| totalItems: { type: integer, minimum: 0 } | |||
| itemsPerPage: { type: integer, minimum: 0 } | |||
| _links: { type: object, properties: { self: { type: object, properties: { href: { type: string, format: iri-reference } } }, first: { type: object, properties: { href: { type: string, format: iri-reference } } }, last: { type: object, properties: { href: { type: string, format: iri-reference } } }, next: { type: object, properties: { href: { type: string, format: iri-reference } } }, previous: { type: object, properties: { href: { type: string, format: iri-reference } } } } } | |||
| required: | |||
| - _links | |||
| - _embedded | |||
| summary: 'Retrieves the collection of Product resources.' | |||
| description: 'Retrieves the collection of Product resources.' | |||
| parameters: | |||
| - | |||
| name: page | |||
| in: query | |||
| description: 'The collection page number' | |||
| required: false | |||
| deprecated: false | |||
| allowEmptyValue: true | |||
| schema: | |||
| type: integer | |||
| default: 1 | |||
| style: form | |||
| explode: false | |||
| allowReserved: false | |||
| - | |||
| name: itemsPerPage | |||
| in: query | |||
| description: 'The number of items per page' | |||
| required: false | |||
| deprecated: false | |||
| allowEmptyValue: true | |||
| schema: | |||
| type: integer | |||
| default: 10 | |||
| minimum: 0 | |||
| maximum: 50 | |||
| style: form | |||
| explode: false | |||
| allowReserved: false | |||
| - | |||
| name: 'order[name]' | |||
| in: query | |||
| description: '' | |||
| required: false | |||
| deprecated: false | |||
| allowEmptyValue: true | |||
| schema: | |||
| type: string | |||
| enum: | |||
| - asc | |||
| - desc | |||
| style: form | |||
| explode: false | |||
| allowReserved: false | |||
| deprecated: false | |||
| post: | |||
| operationId: api_products_post | |||
| tags: | |||
| - Product | |||
| responses: | |||
| 201: | |||
| description: 'Product resource created' | |||
| content: | |||
| application/ld+json: | |||
| schema: | |||
| $ref: '#/components/schemas/Product.jsonld' | |||
| application/json: | |||
| schema: | |||
| $ref: '#/components/schemas/Product' | |||
| text/html: | |||
| schema: | |||
| $ref: '#/components/schemas/Product' | |||
| application/hal+json: | |||
| schema: | |||
| $ref: '#/components/schemas/Product.jsonhal' | |||
| links: { } | |||
| 400: | |||
| description: 'Invalid input' | |||
| 422: | |||
| description: 'Unprocessable entity' | |||
| summary: 'Creates a Product resource.' | |||
| description: 'Creates a Product resource.' | |||
| parameters: [] | |||
| requestBody: | |||
| description: 'The new Product resource' | |||
| content: | |||
| application/ld+json: | |||
| schema: | |||
| $ref: '#/components/schemas/Product.jsonld' | |||
| application/json: | |||
| schema: | |||
| $ref: '#/components/schemas/Product' | |||
| text/html: | |||
| schema: | |||
| $ref: '#/components/schemas/Product' | |||
| application/hal+json: | |||
| schema: | |||
| $ref: '#/components/schemas/Product.jsonhal' | |||
| required: true | |||
| deprecated: false | |||
| parameters: [] | |||
| '/api/products/{id}': | |||
| get: | |||
| operationId: api_products_id_get | |||
| tags: | |||
| - Product | |||
| responses: | |||
| 200: | |||
| description: 'Product resource' | |||
| content: | |||
| application/ld+json: | |||
| schema: | |||
| $ref: '#/components/schemas/Product.jsonld' | |||
| application/json: | |||
| schema: | |||
| $ref: '#/components/schemas/Product' | |||
| text/html: | |||
| schema: | |||
| $ref: '#/components/schemas/Product' | |||
| application/hal+json: | |||
| schema: | |||
| $ref: '#/components/schemas/Product.jsonhal' | |||
| 404: | |||
| description: 'Resource not found' | |||
| summary: 'Retrieves a Product resource.' | |||
| description: 'Retrieves a Product resource.' | |||
| parameters: | |||
| - | |||
| name: id | |||
| in: path | |||
| description: 'ProductApi identifier' | |||
| required: true | |||
| deprecated: false | |||
| allowEmptyValue: false | |||
| schema: | |||
| type: string | |||
| style: simple | |||
| explode: false | |||
| allowReserved: false | |||
| deprecated: false | |||
| delete: | |||
| operationId: api_products_id_delete | |||
| tags: | |||
| - Product | |||
| responses: | |||
| 204: | |||
| description: 'Product resource deleted' | |||
| 404: | |||
| description: 'Resource not found' | |||
| summary: 'Removes the Product resource.' | |||
| description: 'Removes the Product resource.' | |||
| parameters: | |||
| - | |||
| name: id | |||
| in: path | |||
| description: 'ProductApi identifier' | |||
| required: true | |||
| deprecated: false | |||
| allowEmptyValue: false | |||
| schema: | |||
| type: string | |||
| style: simple | |||
| explode: false | |||
| allowReserved: false | |||
| deprecated: false | |||
| patch: | |||
| operationId: api_products_id_patch | |||
| tags: | |||
| - Product | |||
| responses: | |||
| 200: | |||
| description: 'Product resource updated' | |||
| content: | |||
| application/ld+json: | |||
| schema: | |||
| $ref: '#/components/schemas/Product.jsonld' | |||
| application/json: | |||
| schema: | |||
| $ref: '#/components/schemas/Product' | |||
| text/html: | |||
| schema: | |||
| $ref: '#/components/schemas/Product' | |||
| application/hal+json: | |||
| schema: | |||
| $ref: '#/components/schemas/Product.jsonhal' | |||
| links: { } | |||
| 400: | |||
| description: 'Invalid input' | |||
| 422: | |||
| description: 'Unprocessable entity' | |||
| 404: | |||
| description: 'Resource not found' | |||
| summary: 'Updates the Product resource.' | |||
| description: 'Updates the Product resource.' | |||
| parameters: | |||
| - | |||
| name: id | |||
| in: path | |||
| description: 'ProductApi identifier' | |||
| required: true | |||
| deprecated: false | |||
| allowEmptyValue: false | |||
| schema: | |||
| type: string | |||
| style: simple | |||
| explode: false | |||
| allowReserved: false | |||
| requestBody: | |||
| description: 'The updated Product resource' | |||
| content: | |||
| application/merge-patch+json: | |||
| schema: | |||
| $ref: '#/components/schemas/Product' | |||
| required: true | |||
| deprecated: false | |||
| parameters: [] | |||
| /api/users: | |||
| get: | |||
| operationId: api_users_get_collection | |||
| @@ -1684,7 +1932,6 @@ components: | |||
| type: | |||
| - string | |||
| - 'null' | |||
| format: date-time | |||
| image: | |||
| 'owl:maxCardinality': 1 | |||
| type: | |||
| @@ -1762,7 +2009,6 @@ components: | |||
| type: | |||
| - string | |||
| - 'null' | |||
| format: date-time | |||
| image: | |||
| 'owl:maxCardinality': 1 | |||
| type: | |||
| @@ -1854,7 +2100,6 @@ components: | |||
| type: | |||
| - string | |||
| - 'null' | |||
| format: date-time | |||
| image: | |||
| 'owl:maxCardinality': 1 | |||
| type: | |||
| @@ -2499,6 +2744,128 @@ components: | |||
| - 'null' | |||
| format: iri-reference | |||
| example: 'https://example.com/' | |||
| Product: | |||
| type: object | |||
| description: '' | |||
| deprecated: false | |||
| required: | |||
| - name | |||
| properties: | |||
| name: | |||
| type: string | |||
| description: | |||
| type: | |||
| - string | |||
| - 'null' | |||
| image: | |||
| 'owl:maxCardinality': 1 | |||
| type: | |||
| - string | |||
| - 'null' | |||
| format: iri-reference | |||
| example: 'https://example.com/' | |||
| imageUrl: | |||
| readOnly: true | |||
| type: | |||
| - string | |||
| - 'null' | |||
| createdAt: | |||
| type: | |||
| - string | |||
| - 'null' | |||
| format: date-time | |||
| Product.jsonhal: | |||
| type: object | |||
| description: '' | |||
| deprecated: false | |||
| required: | |||
| - name | |||
| properties: | |||
| _links: | |||
| type: object | |||
| properties: | |||
| self: | |||
| type: object | |||
| properties: | |||
| href: | |||
| type: string | |||
| format: iri-reference | |||
| name: | |||
| type: string | |||
| description: | |||
| type: | |||
| - string | |||
| - 'null' | |||
| image: | |||
| 'owl:maxCardinality': 1 | |||
| type: | |||
| - string | |||
| - 'null' | |||
| format: iri-reference | |||
| example: 'https://example.com/' | |||
| imageUrl: | |||
| readOnly: true | |||
| type: | |||
| - string | |||
| - 'null' | |||
| createdAt: | |||
| type: | |||
| - string | |||
| - 'null' | |||
| format: date-time | |||
| Product.jsonld: | |||
| type: object | |||
| description: '' | |||
| deprecated: false | |||
| required: | |||
| - name | |||
| properties: | |||
| '@context': | |||
| readOnly: true | |||
| oneOf: | |||
| - | |||
| type: string | |||
| - | |||
| type: object | |||
| properties: | |||
| '@vocab': | |||
| type: string | |||
| hydra: | |||
| type: string | |||
| enum: ['http://www.w3.org/ns/hydra/core#'] | |||
| required: | |||
| - '@vocab' | |||
| - hydra | |||
| additionalProperties: true | |||
| '@id': | |||
| readOnly: true | |||
| type: string | |||
| '@type': | |||
| readOnly: true | |||
| type: string | |||
| name: | |||
| type: string | |||
| description: | |||
| type: | |||
| - string | |||
| - 'null' | |||
| image: | |||
| 'owl:maxCardinality': 1 | |||
| type: | |||
| - string | |||
| - 'null' | |||
| format: iri-reference | |||
| example: 'https://example.com/' | |||
| imageUrl: | |||
| readOnly: true | |||
| type: | |||
| - string | |||
| - 'null' | |||
| createdAt: | |||
| type: | |||
| - string | |||
| - 'null' | |||
| format: date-time | |||
| User: | |||
| type: object | |||
| description: '' | |||