From f31dd71f1f6a7508a1c9aec3d53f38d219692ecf Mon Sep 17 00:00:00 2001 From: Jens Willemsens <6514515+JenswBE@users.noreply.github.com> Date: Thu, 21 Jul 2022 13:34:06 +0200 Subject: [PATCH] Rename localhost to 127.0.0.1 Due to https://github.com/IBM/openapi-validator/issues/338 --- api/openapi/api/openapi.yaml | 1153 +++++++++++++++++----------------- config.yml | 6 +- e2e/main_test.go | 3 +- local/keycloak.pgdump | Bin 204868 -> 205643 bytes local/traefik.yml | 2 +- 5 files changed, 591 insertions(+), 573 deletions(-) diff --git a/api/openapi/api/openapi.yaml b/api/openapi/api/openapi.yaml index 4d69a6f..f93c9f8 100644 --- a/api/openapi/api/openapi.yaml +++ b/api/openapi/api/openapi.yaml @@ -3,17 +3,17 @@ info: title: GoCommerce version: "1.0" servers: -- description: Local - url: /api + - description: Local + url: /api security: -- localAuth: [] + - localAuth: [] tags: -- name: config -- name: categories -- name: manufacturers -- name: products -- name: content -- name: events + - name: config + - name: categories + - name: manufacturers + - name: products + - name: content + - name: events paths: /config/: get: @@ -24,43 +24,44 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Config' + $ref: "#/components/schemas/Config" description: OK security: [] tags: - - config + - config /categories/: get: description: List categories operationId: list_categories parameters: - - description: Comma separated list of ImageConfig. Check ImageConfig for exact - format. - explode: false - in: query - name: img - required: false - schema: - items: - $ref: '#/components/schemas/ImageConfig' - type: array - style: form + - description: + Comma separated list of ImageConfig. Check ImageConfig for exact + format. + explode: false + in: query + name: img + required: false + schema: + items: + $ref: "#/components/schemas/ImageConfig" + type: array + style: form responses: "200": content: application/json: schema: - $ref: '#/components/schemas/CategoryList' + $ref: "#/components/schemas/CategoryList" description: OK default: content: application/json: schema: - $ref: '#/components/schemas/GocomError' + $ref: "#/components/schemas/GocomError" description: Default error response security: [] tags: - - categories + - categories post: description: Add category operationId: add_category @@ -68,36 +69,36 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Category' + $ref: "#/components/schemas/Category" required: true responses: "201": content: application/json: schema: - $ref: '#/components/schemas/Category' + $ref: "#/components/schemas/Category" description: Created default: content: application/json: schema: - $ref: '#/components/schemas/GocomError' + $ref: "#/components/schemas/GocomError" description: Default error response tags: - - categories + - categories /categories/{id}/: delete: description: Delete category operationId: delete_category parameters: - - description: ID - explode: false - in: path - name: id - required: true - schema: - $ref: '#/components/schemas/ShortID' - style: simple + - description: ID + explode: false + in: path + name: id + required: true + schema: + $ref: "#/components/schemas/ShortID" + style: simple responses: "204": description: No Content @@ -105,95 +106,96 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GocomError' + $ref: "#/components/schemas/GocomError" description: Default error response tags: - - categories + - categories get: description: Get category details operationId: get_category parameters: - - description: ID - explode: false - in: path - name: id - required: true - schema: - $ref: '#/components/schemas/ShortID' - style: simple - - description: Comma separated list of ImageConfig. Check ImageConfig for exact - format. - explode: false - in: query - name: img - required: false - schema: - items: - $ref: '#/components/schemas/ImageConfig' - type: array - style: form + - description: ID + explode: false + in: path + name: id + required: true + schema: + $ref: "#/components/schemas/ShortID" + style: simple + - description: + Comma separated list of ImageConfig. Check ImageConfig for exact + format. + explode: false + in: query + name: img + required: false + schema: + items: + $ref: "#/components/schemas/ImageConfig" + type: array + style: form responses: "200": content: application/json: schema: - $ref: '#/components/schemas/Category' + $ref: "#/components/schemas/Category" description: OK default: content: application/json: schema: - $ref: '#/components/schemas/GocomError' + $ref: "#/components/schemas/GocomError" description: Default error response security: [] tags: - - categories + - categories put: description: Update category operationId: update_category parameters: - - description: ID - explode: false - in: path - name: id - required: true - schema: - $ref: '#/components/schemas/ShortID' - style: simple + - description: ID + explode: false + in: path + name: id + required: true + schema: + $ref: "#/components/schemas/ShortID" + style: simple requestBody: content: application/json: schema: - $ref: '#/components/schemas/Category' + $ref: "#/components/schemas/Category" required: true responses: "200": content: application/json: schema: - $ref: '#/components/schemas/Category' + $ref: "#/components/schemas/Category" description: OK default: content: application/json: schema: - $ref: '#/components/schemas/GocomError' + $ref: "#/components/schemas/GocomError" description: Default error response tags: - - categories + - categories /categories/{id}/image/: delete: description: Delete image operationId: delete_category_image parameters: - - description: ID - explode: false - in: path - name: id - required: true - schema: - $ref: '#/components/schemas/ShortID' - style: simple + - description: ID + explode: false + in: path + name: id + required: true + schema: + $ref: "#/components/schemas/ShortID" + style: simple responses: "204": description: No Content @@ -201,86 +203,88 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GocomError' + $ref: "#/components/schemas/GocomError" description: Default error response tags: - - categories + - categories put: description: Upsert image operationId: upsert_category_image parameters: - - description: ID - explode: false - in: path - name: id - required: true - schema: - $ref: '#/components/schemas/ShortID' - style: simple - - description: Comma separated list of ImageConfig. Check ImageConfig for exact - format. - explode: false - in: query - name: img - required: false - schema: - items: - $ref: '#/components/schemas/ImageConfig' - type: array - style: form + - description: ID + explode: false + in: path + name: id + required: true + schema: + $ref: "#/components/schemas/ShortID" + style: simple + - description: + Comma separated list of ImageConfig. Check ImageConfig for exact + format. + explode: false + in: query + name: img + required: false + schema: + items: + $ref: "#/components/schemas/ImageConfig" + type: array + style: form requestBody: content: multipart/form-data: schema: - $ref: '#/components/schemas/FileBodySingle' + $ref: "#/components/schemas/FileBodySingle" required: true responses: "200": content: application/json: schema: - $ref: '#/components/schemas/Image' + $ref: "#/components/schemas/Image" description: OK default: content: application/json: schema: - $ref: '#/components/schemas/GocomError' + $ref: "#/components/schemas/GocomError" description: Default error response tags: - - categories + - categories /manufacturers/: get: description: List manufacturers operationId: list_manufacturers parameters: - - description: Comma separated list of ImageConfig. Check ImageConfig for exact - format. - explode: false - in: query - name: img - required: false - schema: - items: - $ref: '#/components/schemas/ImageConfig' - type: array - style: form + - description: + Comma separated list of ImageConfig. Check ImageConfig for exact + format. + explode: false + in: query + name: img + required: false + schema: + items: + $ref: "#/components/schemas/ImageConfig" + type: array + style: form responses: "200": content: application/json: schema: - $ref: '#/components/schemas/ManufacturerList' + $ref: "#/components/schemas/ManufacturerList" description: OK default: content: application/json: schema: - $ref: '#/components/schemas/GocomError' + $ref: "#/components/schemas/GocomError" description: Default error response security: [] tags: - - manufacturers + - manufacturers post: description: Add manufacturer operationId: add_manufacturer @@ -288,36 +292,36 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Manufacturer' + $ref: "#/components/schemas/Manufacturer" required: true responses: "201": content: application/json: schema: - $ref: '#/components/schemas/Manufacturer' + $ref: "#/components/schemas/Manufacturer" description: Created default: content: application/json: schema: - $ref: '#/components/schemas/GocomError' + $ref: "#/components/schemas/GocomError" description: Default error response tags: - - manufacturers + - manufacturers /manufacturers/{id}/: delete: description: Delete manufacturer operationId: delete_manufacturer parameters: - - description: ID - explode: false - in: path - name: id - required: true - schema: - $ref: '#/components/schemas/ShortID' - style: simple + - description: ID + explode: false + in: path + name: id + required: true + schema: + $ref: "#/components/schemas/ShortID" + style: simple responses: "204": description: No Content @@ -325,95 +329,96 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GocomError' + $ref: "#/components/schemas/GocomError" description: Default error response tags: - - manufacturers + - manufacturers get: description: Get manufacturer details operationId: get_manufacturer parameters: - - description: ID - explode: false - in: path - name: id - required: true - schema: - $ref: '#/components/schemas/ShortID' - style: simple - - description: Comma separated list of ImageConfig. Check ImageConfig for exact - format. - explode: false - in: query - name: img - required: false - schema: - items: - $ref: '#/components/schemas/ImageConfig' - type: array - style: form + - description: ID + explode: false + in: path + name: id + required: true + schema: + $ref: "#/components/schemas/ShortID" + style: simple + - description: + Comma separated list of ImageConfig. Check ImageConfig for exact + format. + explode: false + in: query + name: img + required: false + schema: + items: + $ref: "#/components/schemas/ImageConfig" + type: array + style: form responses: "200": content: application/json: schema: - $ref: '#/components/schemas/Manufacturer' + $ref: "#/components/schemas/Manufacturer" description: OK default: content: application/json: schema: - $ref: '#/components/schemas/GocomError' + $ref: "#/components/schemas/GocomError" description: Default error response security: [] tags: - - manufacturers + - manufacturers put: description: Update manufacturer operationId: update_manufacturer parameters: - - description: ID - explode: false - in: path - name: id - required: true - schema: - $ref: '#/components/schemas/ShortID' - style: simple + - description: ID + explode: false + in: path + name: id + required: true + schema: + $ref: "#/components/schemas/ShortID" + style: simple requestBody: content: application/json: schema: - $ref: '#/components/schemas/Manufacturer' + $ref: "#/components/schemas/Manufacturer" required: true responses: "200": content: application/json: schema: - $ref: '#/components/schemas/Manufacturer' + $ref: "#/components/schemas/Manufacturer" description: OK default: content: application/json: schema: - $ref: '#/components/schemas/GocomError' + $ref: "#/components/schemas/GocomError" description: Default error response tags: - - manufacturers + - manufacturers /manufacturers/{id}/image/: delete: description: Delete image operationId: delete_manufacturer_image parameters: - - description: ID - explode: false - in: path - name: id - required: true - schema: - $ref: '#/components/schemas/ShortID' - style: simple + - description: ID + explode: false + in: path + name: id + required: true + schema: + $ref: "#/components/schemas/ShortID" + style: simple responses: "204": description: No Content @@ -421,86 +426,88 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GocomError' + $ref: "#/components/schemas/GocomError" description: Default error response tags: - - manufacturers + - manufacturers put: description: Upsert image operationId: upsert_manufacturer_image parameters: - - description: ID - explode: false - in: path - name: id - required: true - schema: - $ref: '#/components/schemas/ShortID' - style: simple - - description: Comma separated list of ImageConfig. Check ImageConfig for exact - format. - explode: false - in: query - name: img - required: false - schema: - items: - $ref: '#/components/schemas/ImageConfig' - type: array - style: form + - description: ID + explode: false + in: path + name: id + required: true + schema: + $ref: "#/components/schemas/ShortID" + style: simple + - description: + Comma separated list of ImageConfig. Check ImageConfig for exact + format. + explode: false + in: query + name: img + required: false + schema: + items: + $ref: "#/components/schemas/ImageConfig" + type: array + style: form requestBody: content: multipart/form-data: schema: - $ref: '#/components/schemas/FileBodySingle' + $ref: "#/components/schemas/FileBodySingle" required: true responses: "200": content: application/json: schema: - $ref: '#/components/schemas/Image' + $ref: "#/components/schemas/Image" description: OK default: content: application/json: schema: - $ref: '#/components/schemas/GocomError' + $ref: "#/components/schemas/GocomError" description: Default error response tags: - - manufacturers + - manufacturers /products/: get: description: List products operationId: list_products parameters: - - description: Comma separated list of ImageConfig. Check ImageConfig for exact - format. - explode: false - in: query - name: img - required: false - schema: - items: - $ref: '#/components/schemas/ImageConfig' - type: array - style: form + - description: + Comma separated list of ImageConfig. Check ImageConfig for exact + format. + explode: false + in: query + name: img + required: false + schema: + items: + $ref: "#/components/schemas/ImageConfig" + type: array + style: form responses: "200": content: application/json: schema: - $ref: '#/components/schemas/ProductList' + $ref: "#/components/schemas/ProductList" description: OK default: content: application/json: schema: - $ref: '#/components/schemas/GocomError' + $ref: "#/components/schemas/GocomError" description: Default error response security: [] tags: - - products + - products post: description: Add product operationId: add_product @@ -508,36 +515,36 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Product' + $ref: "#/components/schemas/Product" required: true responses: "201": content: application/json: schema: - $ref: '#/components/schemas/Product' + $ref: "#/components/schemas/Product" description: Created default: content: application/json: schema: - $ref: '#/components/schemas/GocomError' + $ref: "#/components/schemas/GocomError" description: Default error response tags: - - products + - products /products/{id}/: delete: description: Delete product operationId: delete_product parameters: - - description: ID - explode: false - in: path - name: id - required: true - schema: - $ref: '#/components/schemas/ShortID' - style: simple + - description: ID + explode: false + in: path + name: id + required: true + schema: + $ref: "#/components/schemas/ShortID" + style: simple responses: "204": description: No Content @@ -545,195 +552,198 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GocomError' + $ref: "#/components/schemas/GocomError" description: Default error response tags: - - products + - products get: description: Get product details operationId: get_product parameters: - - description: ID - explode: false - in: path - name: id - required: true - schema: - $ref: '#/components/schemas/ShortID' - style: simple - - description: Comma separated list of ImageConfig. Check ImageConfig for exact - format. - explode: false - in: query - name: img - required: false - schema: - items: - $ref: '#/components/schemas/ImageConfig' - type: array - style: form - - description: The returned object should include related objects. - explode: true - in: query - name: resolve - required: false - schema: - default: false - type: boolean - style: form + - description: ID + explode: false + in: path + name: id + required: true + schema: + $ref: "#/components/schemas/ShortID" + style: simple + - description: + Comma separated list of ImageConfig. Check ImageConfig for exact + format. + explode: false + in: query + name: img + required: false + schema: + items: + $ref: "#/components/schemas/ImageConfig" + type: array + style: form + - description: The returned object should include related objects. + explode: true + in: query + name: resolve + required: false + schema: + default: false + type: boolean + style: form responses: "200": content: application/json: schema: - $ref: '#/components/schemas/ResolvedProduct' + $ref: "#/components/schemas/ResolvedProduct" description: OK default: content: application/json: schema: - $ref: '#/components/schemas/GocomError' + $ref: "#/components/schemas/GocomError" description: Default error response security: [] tags: - - products + - products put: description: Update product operationId: update_product parameters: - - description: ID - explode: false - in: path - name: id - required: true - schema: - $ref: '#/components/schemas/ShortID' - style: simple + - description: ID + explode: false + in: path + name: id + required: true + schema: + $ref: "#/components/schemas/ShortID" + style: simple requestBody: content: application/json: schema: - $ref: '#/components/schemas/Product' + $ref: "#/components/schemas/Product" required: true responses: "200": content: application/json: schema: - $ref: '#/components/schemas/Product' + $ref: "#/components/schemas/Product" description: OK default: content: application/json: schema: - $ref: '#/components/schemas/GocomError' + $ref: "#/components/schemas/GocomError" description: Default error response tags: - - products + - products /products/{id}/images/: get: description: Get product images operationId: list_product_images parameters: - - description: ID - explode: false - in: path - name: id - required: true - schema: - $ref: '#/components/schemas/ShortID' - style: simple - - description: Comma separated list of ImageConfig. Check ImageConfig for exact - format. - explode: false - in: query - name: img - required: false - schema: - items: - $ref: '#/components/schemas/ImageConfig' - type: array - style: form + - description: ID + explode: false + in: path + name: id + required: true + schema: + $ref: "#/components/schemas/ShortID" + style: simple + - description: + Comma separated list of ImageConfig. Check ImageConfig for exact + format. + explode: false + in: query + name: img + required: false + schema: + items: + $ref: "#/components/schemas/ImageConfig" + type: array + style: form responses: "200": content: application/json: schema: - $ref: '#/components/schemas/ImageList' + $ref: "#/components/schemas/ImageList" description: OK default: content: application/json: schema: - $ref: '#/components/schemas/GocomError' + $ref: "#/components/schemas/GocomError" description: Default error response tags: - - products + - products post: description: Add product images operationId: add_product_images parameters: - - description: ID - explode: false - in: path - name: id - required: true - schema: - $ref: '#/components/schemas/ShortID' - style: simple - - description: Comma separated list of ImageConfig. Check ImageConfig for exact - format. - explode: false - in: query - name: img - required: false - schema: - items: - $ref: '#/components/schemas/ImageConfig' - type: array - style: form + - description: ID + explode: false + in: path + name: id + required: true + schema: + $ref: "#/components/schemas/ShortID" + style: simple + - description: + Comma separated list of ImageConfig. Check ImageConfig for exact + format. + explode: false + in: query + name: img + required: false + schema: + items: + $ref: "#/components/schemas/ImageConfig" + type: array + style: form requestBody: content: multipart/form-data: schema: - $ref: '#/components/schemas/FileBodyMultiple' + $ref: "#/components/schemas/FileBodyMultiple" required: true responses: "201": content: application/json: schema: - $ref: '#/components/schemas/ImageList' + $ref: "#/components/schemas/ImageList" description: Created default: content: application/json: schema: - $ref: '#/components/schemas/GocomError' + $ref: "#/components/schemas/GocomError" description: Default error response tags: - - products + - products /products/{id}/images/{image_id}/: delete: description: Delete product image operationId: delete_product_image parameters: - - description: ID - explode: false - in: path - name: id - required: true - schema: - $ref: '#/components/schemas/ShortID' - style: simple - - description: Image ID - explode: false - in: path - name: image_id - required: true - schema: - $ref: '#/components/schemas/ShortID' - style: simple + - description: ID + explode: false + in: path + name: id + required: true + schema: + $ref: "#/components/schemas/ShortID" + style: simple + - description: Image ID + explode: false + in: path + name: image_id + required: true + schema: + $ref: "#/components/schemas/ShortID" + style: simple responses: "204": description: No Content @@ -741,54 +751,55 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GocomError' + $ref: "#/components/schemas/GocomError" description: Default error response tags: - - products + - products put: - description: "Update product image. In case the new order matches another image,\ + description: + "Update product image. In case the new order matches another image,\ \ the orders are swapped. Therefore, this call will return all impacted images\ \ (1 or 2). First the image on which the request was called and optionally\ \ second the swapped image." operationId: update_product_image parameters: - - description: ID - explode: false - in: path - name: id - required: true - schema: - $ref: '#/components/schemas/ShortID' - style: simple - - description: Image ID - explode: false - in: path - name: image_id - required: true - schema: - $ref: '#/components/schemas/ShortID' - style: simple + - description: ID + explode: false + in: path + name: id + required: true + schema: + $ref: "#/components/schemas/ShortID" + style: simple + - description: Image ID + explode: false + in: path + name: image_id + required: true + schema: + $ref: "#/components/schemas/ShortID" + style: simple requestBody: content: application/json: schema: - $ref: '#/components/schemas/Image' + $ref: "#/components/schemas/Image" required: true responses: "200": content: application/json: schema: - $ref: '#/components/schemas/ImageList' + $ref: "#/components/schemas/ImageList" description: OK default: content: application/json: schema: - $ref: '#/components/schemas/GocomError' + $ref: "#/components/schemas/GocomError" description: Default error response tags: - - products + - products /content/: get: description: List content @@ -798,110 +809,110 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ContentList' + $ref: "#/components/schemas/ContentList" description: OK default: content: application/json: schema: - $ref: '#/components/schemas/GocomError' + $ref: "#/components/schemas/GocomError" description: Default error response tags: - - content + - content /content/{content_name}/: get: description: Get content operationId: get_content parameters: - - description: Content name - explode: false - in: path - name: content_name - required: true - schema: - example: about - type: string - style: simple + - description: Content name + explode: false + in: path + name: content_name + required: true + schema: + example: about + type: string + style: simple responses: "200": content: application/json: schema: - $ref: '#/components/schemas/Content' + $ref: "#/components/schemas/Content" description: OK default: content: application/json: schema: - $ref: '#/components/schemas/GocomError' + $ref: "#/components/schemas/GocomError" description: Default error response security: [] tags: - - content + - content put: description: Update content operationId: update_content parameters: - - description: Content name - explode: false - in: path - name: content_name - required: true - schema: - example: about - type: string - style: simple + - description: Content name + explode: false + in: path + name: content_name + required: true + schema: + example: about + type: string + style: simple requestBody: content: application/json: schema: - $ref: '#/components/schemas/Content' + $ref: "#/components/schemas/Content" required: true responses: "200": content: application/json: schema: - $ref: '#/components/schemas/Content' + $ref: "#/components/schemas/Content" description: OK default: content: application/json: schema: - $ref: '#/components/schemas/GocomError' + $ref: "#/components/schemas/GocomError" description: Default error response tags: - - content + - content /events/: get: description: List events operationId: list_events parameters: - - description: Include events which are already done (end time in the past). - explode: true - in: query - name: include_past_events - required: false - schema: - default: false - type: boolean - style: form + - description: Include events which are already done (end time in the past). + explode: true + in: query + name: include_past_events + required: false + schema: + default: false + type: boolean + style: form responses: "200": content: application/json: schema: - $ref: '#/components/schemas/EventList' + $ref: "#/components/schemas/EventList" description: OK default: content: application/json: schema: - $ref: '#/components/schemas/GocomError' + $ref: "#/components/schemas/GocomError" description: Default error response security: [] tags: - - events + - events post: description: Add event operationId: add_event @@ -909,36 +920,36 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Event' + $ref: "#/components/schemas/Event" required: true responses: "201": content: application/json: schema: - $ref: '#/components/schemas/Event' + $ref: "#/components/schemas/Event" description: Created default: content: application/json: schema: - $ref: '#/components/schemas/GocomError' + $ref: "#/components/schemas/GocomError" description: Default error response tags: - - events + - events /events/{id}/: delete: description: Delete event operationId: delete_event parameters: - - description: ID - explode: false - in: path - name: id - required: true - schema: - $ref: '#/components/schemas/ShortID' - style: simple + - description: ID + explode: false + in: path + name: id + required: true + schema: + $ref: "#/components/schemas/ShortID" + style: simple responses: "204": description: No Content @@ -946,71 +957,71 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GocomError' + $ref: "#/components/schemas/GocomError" description: Default error response tags: - - events + - events get: description: Get event details operationId: get_event parameters: - - description: ID - explode: false - in: path - name: id - required: true - schema: - $ref: '#/components/schemas/ShortID' - style: simple + - description: ID + explode: false + in: path + name: id + required: true + schema: + $ref: "#/components/schemas/ShortID" + style: simple responses: "200": content: application/json: schema: - $ref: '#/components/schemas/Event' + $ref: "#/components/schemas/Event" description: OK default: content: application/json: schema: - $ref: '#/components/schemas/GocomError' + $ref: "#/components/schemas/GocomError" description: Default error response security: [] tags: - - events + - events put: description: Update event operationId: update_event parameters: - - description: ID - explode: false - in: path - name: id - required: true - schema: - $ref: '#/components/schemas/ShortID' - style: simple + - description: ID + explode: false + in: path + name: id + required: true + schema: + $ref: "#/components/schemas/ShortID" + style: simple requestBody: content: application/json: schema: - $ref: '#/components/schemas/Event' + $ref: "#/components/schemas/Event" required: true responses: "200": content: application/json: schema: - $ref: '#/components/schemas/Event' + $ref: "#/components/schemas/Event" description: OK default: content: application/json: schema: - $ref: '#/components/schemas/GocomError' + $ref: "#/components/schemas/GocomError" description: Default error response tags: - - events + - events components: parameters: pathContentName: @@ -1030,7 +1041,7 @@ components: name: id required: true schema: - $ref: '#/components/schemas/ShortID' + $ref: "#/components/schemas/ShortID" style: simple pathImageID: description: Image ID @@ -1039,10 +1050,11 @@ components: name: image_id required: true schema: - $ref: '#/components/schemas/ShortID' + $ref: "#/components/schemas/ShortID" style: simple queryImg: - description: Comma separated list of ImageConfig. Check ImageConfig for exact + description: + Comma separated list of ImageConfig. Check ImageConfig for exact format. explode: false in: query @@ -1050,7 +1062,7 @@ components: required: false schema: items: - $ref: '#/components/schemas/ImageConfig' + $ref: "#/components/schemas/ImageConfig" type: array style: form queryIncludePastEvents: @@ -1078,7 +1090,7 @@ components: content: application/json: schema: - $ref: '#/components/schemas/GocomError' + $ref: "#/components/schemas/GocomError" description: Default error response schemas: Config: @@ -1097,9 +1109,9 @@ components: enabled: true properties: features: - $ref: '#/components/schemas/ConfigFeatures' + $ref: "#/components/schemas/ConfigFeatures" required: - - features + - features type: object ConfigFeatures: example: @@ -1116,21 +1128,21 @@ components: enabled: true properties: categories: - $ref: '#/components/schemas/ConfigFeaturesCategories' + $ref: "#/components/schemas/ConfigFeaturesCategories" manufacturers: - $ref: '#/components/schemas/ConfigFeaturesManufacturers' + $ref: "#/components/schemas/ConfigFeaturesManufacturers" products: - $ref: '#/components/schemas/ConfigFeaturesProducts' + $ref: "#/components/schemas/ConfigFeaturesProducts" content: - $ref: '#/components/schemas/ConfigFeaturesContent' + $ref: "#/components/schemas/ConfigFeaturesContent" events: - $ref: '#/components/schemas/ConfigFeaturesEvents' + $ref: "#/components/schemas/ConfigFeaturesEvents" required: - - categories - - content - - events - - manufacturers - - products + - categories + - content + - events + - manufacturers + - products type: object ConfigFeaturesCategories: example: @@ -1139,7 +1151,7 @@ components: enabled: type: boolean required: - - enabled + - enabled type: object ConfigFeaturesManufacturers: example: @@ -1148,7 +1160,7 @@ components: enabled: type: boolean required: - - enabled + - enabled type: object ConfigFeaturesProducts: example: @@ -1157,7 +1169,7 @@ components: enabled: type: boolean required: - - enabled + - enabled type: object ConfigFeaturesContent: example: @@ -1166,7 +1178,7 @@ components: enabled: type: boolean required: - - enabled + - enabled type: object ConfigFeaturesEvents: example: @@ -1178,25 +1190,25 @@ components: whole_days_only: type: boolean required: - - enabled - - whole_days_only + - enabled + - whole_days_only type: object Category: allOf: - - $ref: '#/components/schemas/Header' - - $ref: '#/components/schemas/Category_allOf' + - $ref: "#/components/schemas/Header" + - $ref: "#/components/schemas/Category_allOf" CategoryList: example: categories: - - null - - null + - null + - null properties: categories: items: - $ref: '#/components/schemas/Category' + $ref: "#/components/schemas/Category" type: array required: - - categories + - categories type: object Content: example: @@ -1209,75 +1221,75 @@ components: readOnly: true type: string content_type: - $ref: '#/components/schemas/ContentType' + $ref: "#/components/schemas/ContentType" body: example: This is something about me. type: string required: - - body - - content_type - - name + - body + - content_type + - name type: object ContentType: enum: - - SIMPLE - - HTML + - SIMPLE + - HTML readOnly: true type: string ContentList: example: content: - - content_type: null - name: about - body: This is something about me. - - content_type: null - name: about - body: This is something about me. + - content_type: null + name: about + body: This is something about me. + - content_type: null + name: about + body: This is something about me. properties: content: items: - $ref: '#/components/schemas/Content' + $ref: "#/components/schemas/Content" type: array required: - - content + - content type: object Event: allOf: - - $ref: '#/components/schemas/Header' - - $ref: '#/components/schemas/Event_allOf' + - $ref: "#/components/schemas/Header" + - $ref: "#/components/schemas/Event_allOf" required: - - end - - event_type - - name - - start + - end + - event_type + - name + - start EventList: example: events: - - null - - null + - null + - null properties: events: items: - $ref: '#/components/schemas/Event' + $ref: "#/components/schemas/Event" type: array required: - - events + - events type: object FileBodySingle: properties: file: - $ref: '#/components/schemas/File' + $ref: "#/components/schemas/File" required: - - file + - file type: object FileBodyMultiple: properties: file: items: - $ref: '#/components/schemas/File' + $ref: "#/components/schemas/File" type: array required: - - file + - file type: object File: format: binary @@ -1289,7 +1301,7 @@ components: example: 400 type: integer code: - $ref: '#/components/schemas/GocomErrorCode' + $ref: "#/components/schemas/GocomErrorCode" message: description: Human-readable description of the error example: Provided authentication token is invalid @@ -1299,11 +1311,12 @@ components: example: "" type: string required: - - code - - message + - code + - message type: object GocomErrorCode: - description: "- CATEGORY_NAME_EMPTY: Category name is required and cannot be\ + description: + "- CATEGORY_NAME_EMPTY: Category name is required and cannot be\ \ empty\n- CATEGORY_ORDER_NEGATIVE: Category order should be a positive integer\n\ - CATEGORY_PARENT_ID_INVALID: Parent ID of the category is invalid\n- CONTENT_NAME_EMPTY:\ \ Content name is required and cannot be empty\n- CONTENT_TYPE_INVALID: Content\ @@ -1324,29 +1337,29 @@ components: \ The image does not exist\n- UNKNOWN_MANUFACTURER: The manufacturer does\ \ not exist\n- UNKNOWN_PRODUCT: The product does not exist\n" enum: - - CATEGORY_NAME_EMPTY - - CATEGORY_ORDER_NEGATIVE - - CATEGORY_PARENT_ID_INVALID - - CONTENT_NAME_EMPTY - - CONTENT_TYPE_INVALID - - EVENT_END_BEFORE_START - - IMAGE_ORDER_NEGATIVE - - INVALID_AUTH_TOKEN - - INVALID_ID - - MISSING_ADMIN_ROLE - - PARAMETER_MISSING - - PRODUCT_CATEGORY_IDS_INVALID - - PRODUCT_MANUFACTURER_ID_INVALID - - PRODUCT_NAME_EMPTY - - PRODUCT_PRICE_NEGATIVE - - SINGLE_IMAGE_IN_FORM - - UNKNOWN_CATEGORY - - UNKNOWN_CONTENT - - UNKNOWN_ERROR - - UNKNOWN_EVENT - - UNKNOWN_IMAGE - - UNKNOWN_MANUFACTURER - - UNKNOWN_PRODUCT + - CATEGORY_NAME_EMPTY + - CATEGORY_ORDER_NEGATIVE + - CATEGORY_PARENT_ID_INVALID + - CONTENT_NAME_EMPTY + - CONTENT_TYPE_INVALID + - EVENT_END_BEFORE_START + - IMAGE_ORDER_NEGATIVE + - INVALID_AUTH_TOKEN + - INVALID_ID + - MISSING_ADMIN_ROLE + - PARAMETER_MISSING + - PRODUCT_CATEGORY_IDS_INVALID + - PRODUCT_MANUFACTURER_ID_INVALID + - PRODUCT_NAME_EMPTY + - PRODUCT_PRICE_NEGATIVE + - SINGLE_IMAGE_IN_FORM + - UNKNOWN_CATEGORY + - UNKNOWN_CONTENT + - UNKNOWN_ERROR + - UNKNOWN_EVENT + - UNKNOWN_IMAGE + - UNKNOWN_MANUFACTURER + - UNKNOWN_PRODUCT example: INVALID_AUTH_TOKEN type: string Header: @@ -1359,8 +1372,8 @@ components: type: object HeaderTimestamped: allOf: - - $ref: '#/components/schemas/Header' - - $ref: '#/components/schemas/HeaderTimestamped_allOf' + - $ref: "#/components/schemas/Header" + - $ref: "#/components/schemas/HeaderTimestamped_allOf" Image: example: ext: png @@ -1380,7 +1393,7 @@ components: type: string urls: additionalProperties: - $ref: '#/components/schemas/ImageUrl' + $ref: "#/components/schemas/ImageUrl" example: "300_200_FIT": https://images.jensw.be/.../fill/300/200/.../anBn.png readOnly: true @@ -1390,13 +1403,14 @@ components: format: int64 type: integer required: - - ext - - id - - order - - urls + - ext + - id + - order + - urls type: object ImageConfig: - description: "Comma separated list of image configs in format width_height_resizeMode.\n\ + description: + "Comma separated list of image configs in format width_height_resizeMode.\n\ - Width: Width of the image\n- Height: Height of the image (optional, default\ \ = Width)\n- Resize mode (optional, default = FIT):\n - FIT: Fits the image\ \ within the dimensions. Resulting image\n might be smaller than\ @@ -1411,7 +1425,7 @@ components: type: string ImageUrlMap: additionalProperties: - $ref: '#/components/schemas/ImageUrl' + $ref: "#/components/schemas/ImageUrl" example: "300_200_FIT": https://images.jensw.be/.../fill/300/200/.../anBn.png readOnly: true @@ -1419,69 +1433,69 @@ components: ImageList: example: images: - - ext: png - urls: - "300_200_FIT": https://images.jensw.be/.../fill/300/200/.../anBn.png - id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 - order: 0 - - ext: png - urls: - "300_200_FIT": https://images.jensw.be/.../fill/300/200/.../anBn.png - id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 - order: 0 + - ext: png + urls: + "300_200_FIT": https://images.jensw.be/.../fill/300/200/.../anBn.png + id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 + order: 0 + - ext: png + urls: + "300_200_FIT": https://images.jensw.be/.../fill/300/200/.../anBn.png + id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 + order: 0 properties: images: items: - $ref: '#/components/schemas/Image' + $ref: "#/components/schemas/Image" type: array readOnly: true required: - - images + - images type: object Manufacturer: allOf: - - $ref: '#/components/schemas/Header' - - $ref: '#/components/schemas/Manufacturer_allOf' + - $ref: "#/components/schemas/Header" + - $ref: "#/components/schemas/Manufacturer_allOf" required: - - name + - name ManufacturerList: example: manufacturers: - - null - - null + - null + - null properties: manufacturers: items: - $ref: '#/components/schemas/Manufacturer' + $ref: "#/components/schemas/Manufacturer" type: array required: - - manufacturers + - manufacturers type: object Product: allOf: - - $ref: '#/components/schemas/HeaderTimestamped' - - $ref: '#/components/schemas/Product_allOf' + - $ref: "#/components/schemas/HeaderTimestamped" + - $ref: "#/components/schemas/Product_allOf" ProductStatus: enum: - - AVAILABLE - - ARCHIVED + - AVAILABLE + - ARCHIVED type: string ResolvedProduct: allOf: - - $ref: '#/components/schemas/Product' - - $ref: '#/components/schemas/ResolvedProduct_allOf' + - $ref: "#/components/schemas/Product" + - $ref: "#/components/schemas/ResolvedProduct_allOf" ProductList: example: products: - - null - - null + - null + - null properties: products: items: - $ref: '#/components/schemas/Product' + $ref: "#/components/schemas/Product" type: array required: - - products + - products type: object ShortID: description: Compressed representation of ID @@ -1510,14 +1524,14 @@ components: type: array image_urls: additionalProperties: - $ref: '#/components/schemas/ImageUrl' + $ref: "#/components/schemas/ImageUrl" example: "300_200_FIT": https://images.jensw.be/.../fill/300/200/.../anBn.png readOnly: true type: object required: - - name - - order + - name + - order type: object Event_allOf: properties: @@ -1528,17 +1542,20 @@ components: example: Extended shopping during this winter day! type: string event_type: - description: Type of event. Types should be defined in GoCommerce config + description: + Type of event. Types should be defined in GoCommerce config file. example: sale type: string start: - description: "Start of the event. In case \"whole_day\" is true, only the\ + description: + "Start of the event. In case \"whole_day\" is true, only the\ \ date part is considered." format: date-time type: string end: - description: "End of the event, could be same as start. In case \"whole_day\"\ + description: + "End of the event, could be same as start. In case \"whole_day\"\ \ is true, only the date part is considered." format: date-time type: string @@ -1569,7 +1586,7 @@ components: type: string image_urls: additionalProperties: - $ref: '#/components/schemas/ImageUrl' + $ref: "#/components/schemas/ImageUrl" example: "300_200_FIT": https://images.jensw.be/.../fill/300/200/.../anBn.png readOnly: true @@ -1598,26 +1615,26 @@ components: format: uuid type: string status: - $ref: '#/components/schemas/ProductStatus' + $ref: "#/components/schemas/ProductStatus" stock_count: format: int64 type: integer image_urls: items: - $ref: '#/components/schemas/ImageUrlMap' + $ref: "#/components/schemas/ImageUrlMap" readOnly: true type: array required: - - name - - price + - name + - price type: object ResolvedProduct_allOf: properties: manufacturer: - $ref: '#/components/schemas/Manufacturer' + $ref: "#/components/schemas/Manufacturer" categories: items: - $ref: '#/components/schemas/Category' + $ref: "#/components/schemas/Category" type: array type: object securitySchemes: diff --git a/config.yml b/config.yml index 1ee2668..32e6faf 100644 --- a/config.yml +++ b/config.yml @@ -4,7 +4,7 @@ Authentication: Username: test Password: test OIDC: - IssuerURL: "http://localhost:9001/realms/go-commerce" # See https://github.com/IBM/openapi-validator/issues/338 + IssuerURL: "http://127.0.0.1:9001/realms/go-commerce" # See https://github.com/IBM/openapi-validator/issues/338 Features: Content: List: @@ -16,12 +16,12 @@ Features: WholeDaysOnly: true Database: Default: - Host: localhost + Host: 127.0.0.1 User: go_commerce Password: go_commerce Database: go_commerce ImageProxy: - BaseURL: "http://localhost:8090/images/" + BaseURL: "http://127.0.0.1:8090/images/" Key: 8f2fd7184ad28abe1b2cd3b6bb0f74dff4765659260f72eff6bea4b9c065bb7d64cbe75e4cd89ca98693f6c24fd670d50b1556b1b307700c7bd4a7dc9e66a72d Salt: efab808e2a395eb3032e7906bdc83efebe216a4fc05a833690b7f48b5f39c8ba78f651513beb08056510e71eeea951b9ce7fb50ce6dbac372ab1d8603d8ee9d4 AllowedConfigs: "100:100:FIT,150:150:FIT,400:400:FIT,550:550:FIT" diff --git a/e2e/main_test.go b/e2e/main_test.go index d8c09db..86b0a75 100644 --- a/e2e/main_test.go +++ b/e2e/main_test.go @@ -1,3 +1,4 @@ +//go:build e2e // +build e2e package e2e @@ -17,7 +18,7 @@ import ( "github.com/stretchr/testify/suite" ) -const BaseURL = "http://localhost:8090/api/" +const BaseURL = "http://127.0.0.1:8090/api/" type E2ETestSuite struct { suite.Suite diff --git a/local/keycloak.pgdump b/local/keycloak.pgdump index 7e4eb8689723646eec9be66724c8af81d80ca63e..bd8b8187e2c12469c07e3d06789103b198aaad3d 100644 GIT binary patch delta 8504 zcmZu!30zHE)Nk!uNoiE)Hc5l1i0a;3H)Dp9Au>EeGE*XzXDSb69y4uh^Gsf*2uIRH z=BSVT7wDEt(t}@40$r0KO>LUemCz}fQaa{L4jq!kQAO%A8ko(|HfO7;a}Gz_pSwrD z1{221jqD-==Xl zIeP5UOFHQmMyk>pzCkx?IJF<{|$Gb zNe?-?{$>$f@`y{FcgqFn#>X7JaJ!s_KjG-bylT4hDMx?rWk*ZyT&3y7+`)@?5s7CU zEy%x46Q6VRL_rRXeZkSCg;~_0luI3XZwb(^r5v3-(1F$$+0oglCTvF>v7#XlX41QF zI9mGP13mSYqpymt(bexbn(^=&4S&zk?T>2dgby4|dYnytKXR!Hp4b89K5?n1pXvjB z`H7>l(HwnWe2CsIbe(Hn{N9orOMJvG@?>U4c=U#;Z;)l z_RTGNqFPFu#@Nv}Z;#NMU!-*ZyKA(nhNBDKzonnQay0fs4!!t|qXR!)r|Z6RwB4t( zG~@?IePUbEx!HE~<#QA2QI7v{x^!gO@6@@Lqg&z}=*~tvYG0m9|3bd5{1&yS!%SCX zZmQ?#$Ksp2pB;Q2> zJplTs#9Osdxvxq*LkA22`q5XPEZAmUNP$+Ydjd%L&?Yb$7#|Im{1ZJ`0L*3yl2Q5) z4Q!q#So1#&AOzTR1F+#E4PgwhIld@;V}w%R*lAO+;zyXk2w*S(7v3<1g#dwq+?pTX z9DW1nB{GHP&=z32$VfRr??;JDh7<+^8-4|hSf(j7<6W&_7%=_o8h*RAz&A_N@J($Y z4w%st+-^q;mlP=A!h+Cw}rs~5N+${q}PGe_76aEXn#N4-oZSO#q2 zFw`664C??EiE`~W&=J^&O(-Ac0)2qRTcdWGE7$|fW;5K8`RWEkf&FkmazZ;W0`TKe zjt=~CAeQ{s_TUU)F2d^RA(&X3qVajNrx4>2Z?HZu! z!9NgI0sGt$r62mhBw#I-Xme6OAqwwAlxFsap1^viqxribm{gkqU=7erK*x$7I1mlN zQ+f6paqESVSewtM!&87gYAB+yHsOfK#LR#Wz*axeM4a|J%m6lI zBpT^83q}JQxB|)a*{}rrHyFtga|MX1>NQb4kA(zak1I6>=FStm_&O0)YyJ>gO0P!q zYT^Qc@6`l>E?g+I{-5r|iXWLEV7$r+$(xG=SaYuE3%%Y0OkD z6RP&H=zqit=madq6qj6DDcEG=aEbqFA@y0J%JnrUhXRoaP88yeE7us?zD`JfjvlUW zTrW%}x)j%M-6%L>BnQj$6g&a+gp6A9eK$h{z&pW`C7-tib^xn?D_Sz(;~C@wyb@oA zZx{N%&jKtjot>~4m|`H3`*y*8UsXD^THj*9LK7jc@XND@t^45ibH^-+E~!CX4!|K7Cc1y{t@`df{$aJJW3KuVCiF2 zaQzdC*@Yu0Y?%zr5cbmoM907YSleS@!=@dF@60Vw+{Td2KLMZEEh7!P=p@vGmuQ}y zf^V$tYJBzUJeE~b3J_oqmudLi(}K;n=g{V-Gw_+!^GMaC!fOa()#uTZs)tPv5Usn`Q$p!e6Y?2HDS9xbuW`;h-7IUg0`^ z^(Alt)?lH2$?jx8E!&z4Hc2lt5x@>Nz&fce3-6BMqP|6rU|V((mv*`gwgA&a`R`Yt z6|ik#noUmUBFb#cP1O5%6&!%Y+yWck`8wzW%w#iep}g-6FbB5zHrTMZo9KN!k76f) zRpRSYw?P+Y{5rI_@D>=df;^1k!F}|n^bUH~@BpL!c^7*>=ph(?GY4bsa z&< zAj*vS$~vr1*3h8V0Uy?^0WnDlAyzt`zDg}mTHw@z_xTCa!9;?Fy*!m#+W3^olrlES zn79%T8DH`X&jyLY!-Ea65hTiUF$7P!>}8;9=Aorp=HaVerto5;yoigAm#0k2nP%O! z;H?Sih27E)^bC|Ihrk@d7=Yf4QpqeiK%Te=%&4gjf+TC10US#)7`5xUILRH*;_%QdTq;!}pTOv^>~4 zcf3a)&?9&^$OfWorc`@?##Nqpd9kj8iHpQbrsRY4QB7arCBE^Nv%*bSYLTkVwB<4_ z1)Z_2IgQz^#~U{z5zt)eEov$h>aY>PkXRvXxl+rArd(>l7a5Yd;?Aa;oxME8Ri12L zZ{jNPQpouA#$+k5f{vhPqDl^?LSvbIiWUqilv*8VW4Q%C-IUA%N8C~6y^lH?Z|r4+ z<{yM6iwJqkc)R9gIvDt<^Cx5`8fy!p#HhTnMA)lXtin=rf+uH8uz-;o8%(Ea7hJP1 zQozVZ#xLi{1TgrwgWdG8RM+<*R`_1Yx3(maYBT=?A)4{_Vk?6MGfEj>WJRX^Z!=?k z(Trg`!HiPLFSHTNV8(O|K3|ITio z4#c&Ihf>Q?(3@ds&dVH$9L)ZP!$VUMtZoG6R^}<=4?AHbG$mQb$yc3JOKWgW-dIkzErLsIpt8Y@q^xJu@& zWRC$smtnJHx{#S_H6Jl0|5h749t%x|P1Ba$H3eIKlN-UyqepYl(bsq^Q!>LKAuend z*LEZt2%0w>Dwvnc*mOf2`Y+u{m^e$a=cwdLepUxE2K2`p7T zPfnWf{&Gzb>SOlB8dk7`aai{engy!Cw9Se)_9lyKe?EyR>T%-tFnxWCj3Vq zf?qo-ca{Hg*H%Zs&PS=$ep9kJKhKxMf|-w|8fEGPDp-!L03MdVM<)c2`7t~WOhQ4g zsb+2}Sln>psw2Y=RIYK?IPz9qu!ou5cF@!JP#crWS*;8)!ah(4nzn3l7h=U; z_91u%cO&?DlhBpuiKr`3c_2g7^M1pIkRc?ZaUPAYQM(}+*VA~)lrxE&jvO1}UtX{m zJ&7)#-h<%nUPy($x4NEvJXy>xw7$a-t;?}HR3Oagg+4d`zaV(99~1D9@su$H!HQP| zV3mnS6T&A>KW`6qQ-OfWvF`qHpgI4wH<<@!YFK^LLtmlrVAMy@#+Hz&K;yIfkOa_| z%f;0Dc(7BQiF9iKu@;Vu1^viEbWAfjHG@&1U|T0)#mZ$e-ZzNMR|lz?v{>jW2+h%H z)KN0jX~9+wB<5`2VEhv8K9DG&sX`5jH#^yxSTfRFP{!84J#G2?V1&-}Z`9P@d9!N< zm~uHD8D3(_?MHwvzjUzB|0qoD#eZrz zoIwDw68fk;^{BJub%!C?)bFP*do~gDtTnZy^!U%ZFx5JOr^n&pWGE0k0J?`_(!6oL zk0cXSDK-c=W(p#uHM;a-8rQHE;}>1kL{*s|sH+lbECU8A6Wmgs2{io-sdrVyG|w`}}1N z`T~~N6fK$QG_c_Jj>nnrsD3Z^R%0&z@8F#w2JEZk9Vg<>>S2X<9pMJRl+Fma0xwEA zlkkE-P~0|*v}Df)sKiP>ER5hc6S|_SukIk3X6d8|VgoY%RXCoS`kHgq%SUwvv+?}| z132sxBFOJReB~_J3Zqka$@rGjF#Td%{QLazi^42m4d0GLh&O%GHS<=t%->^C!R%(E z4i@pWC~QDeb(!NCD)yFw?Ka0Dq`(Po5kv56^?#qSKHf}qo+ow1L@Dsjv?=1WRA3d$RJWuJ4Z3{7OtM^6Zu)9BamuoN!8nDdtJL)r3YnIRaEk4_ z3>-gcws4XB|8F2ZtgWd4jY7$n%^~>Vuj&j_hckUk!D~DV+Ok)_zaixOrTZ83bqkj{H9brzVMOrh@T16@F!N223`2dk~flE{0fcUMDDOz z2XQEmp(KsO*BYV!8;F)x?5-1ApRarBVG?la)#%964q5qy#eJuE*)3T%G3k6yHf+I< zj^)3f4mm$*pU=L8`L&(*_+D_SUwro7f$We~XYPggJ&HK(ZZNej^P_2c5q}_gc&TZh z1H=D%tMzbGF|~DRaVbPPJ^lHxAP4USsiuMBkx6KddIy{JM8|18i z)U(Z>f4FxvJX|pO^n$qk=gU6b8LbzUB1yI$#AJH>^HEfxLzXCHgnzSWA8 zvz}}!NNnFL&B1(n?`20%yZS}XJR3^QTZep0xPIxG@0ojb8GARaH9uHAK)23wyPrXX zb>yX02D85O-ZW;~G~1h-TgHdJ@o;K3tVdvgr1cY$rVahw958(46FLJW+e-Ky7x+#1rhOOo64Tum}OV< z#B6Enc2Q;VgH81MRVuO?k88c3Y~RH4QOVnR8NUpojzrGI+SJklt-r*gt`i^i;-i7D z*hWeS{N(TKByR}(;?L|MI>tak-T}VYs9dB=pK`zJd zpV(cA8;Yks^DtR{Dr4a3+K#K8i@%Jo>_PUsPru?FP6DjfKb$)G=Ek!@J#VDw=mpudYVh?`f(<^I}Qm78~xaUZo9W|(rWvF0-e@1 zCH#*5@4ki3H2Rjbr$gt-OD5 zi-*KtZn8gx4taEIwRMPL?=`hA@~#>=3|TW`Z{S{O-_iRb3T!vJ?hfvp(|qx@z|dl2 zql(@qnhn|e>d+SVvinUZO?zxGGACSdo45(umNw4|C%CH{O3DDT&z_tKH*aikszY zx6jV*(c8niwkd2%lz$#MsO(X4`TbTI-IZmv_uh1EICVJrmgCRq zm#%BAIam1NkB7&)`yYFqcx_4f_WYhpoELF@hM##In&JF>!>_AZc`vT+{ds?Ue(i$G z`Aa^Od8RAc>|@X8wQz4?9JwYlv)i@%c}-c)fsS9Hmc3OW6i4Q9hsKXW#UuJA0aooyDrp31x(rKki z=avn3qKIcR-TW$-EqNVR)m%^g`daC2Uvb7FvLq`lSb468Z~oe>5$^6`Q6>{&{MK1} zq#Hd>erR{d-Rl7hL`D%8Qf%bSoS$mdp&98dSS}LjS}7|C}>%_Cps9F6z0d{K@5*bsaiK7eAV@V^@9?Tlf4H z62}2G^Dc&#nB^U-nm?wp`1H7|K4k-I5C4jLT=}D$r0&lIHSQhMxO?zNrIL8U0&OMY z5M<|CNaDny=PT-vj%wXbtgnqEfpk{0UDyX3$vDzgt<_B}_T!h>O1yw{SIc{-pFP#j mUTQsm=4L0EK?2llZ2!U-j#Ltf-|V`hNgHgLvKm delta 7655 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 diff --git a/local/traefik.yml b/local/traefik.yml index b744cdb..c408d51 100644 --- a/local/traefik.yml +++ b/local/traefik.yml @@ -18,7 +18,7 @@ http: accessControlAllowCredentials: true accessControlAllowHeaders: "*" accessControlAllowMethods: "*" - accessControlAllowOriginListRegex: '^https?://(localhost|192\.168\.\d+\.\d+)(:\d+)$' + accessControlAllowOriginListRegex: '^https?://(localhost|127.0.0.1|192\.168\.\d+\.\d+)(:\d+)$' addVaryHeader: true strip-api-prefix: