From 8954cbd05f243a3255f4812e915e6e94498b7770 Mon Sep 17 00:00:00 2001 From: Nico Kroll Date: Mon, 15 Jul 2024 11:44:02 +0200 Subject: [PATCH] More endpoints integrated --- src/v2/shop.yaml | 752 +++++++++++++++++++++++++++++++++++++++++++---- src/v2/todo.yaml | 136 +-------- 2 files changed, 700 insertions(+), 188 deletions(-) diff --git a/src/v2/shop.yaml b/src/v2/shop.yaml index 615d29a..c669b56 100644 --- a/src/v2/shop.yaml +++ b/src/v2/shop.yaml @@ -10,10 +10,11 @@ servers: - url: "http://localhost/ROOT/api/shop" description: "Local development server" paths: +# General /AddressStates: get: tags: - - "Configuration" + - "General" responses: 200: description: "successful operation" @@ -30,7 +31,7 @@ paths: /Branches: get: tags: - - "Configuration" + - "General" parameters: - $ref: "#/components/parameters/GuidOnlineService" responses: @@ -46,10 +47,258 @@ paths: $ref: "#/components/responses/GenericError" security: - SessionScheme: [] + /MaterialTypes: + get: + tags: + - "General" + responses: + 200: + description: "successful operation" + content: + application/json: + schema: + type: "array" + items: + $ref: "#/components/schemas/MaterialType" + default: + $ref: "#/components/responses/GenericError" + security: + - SessionScheme: [] + /MaterialGroups: + get: + tags: + - "General" + responses: + 200: + description: "successful operation" + content: + application/json: + schema: + type: "array" + items: + $ref: "#/components/schemas/MaterialGroup" + default: + $ref: "#/components/responses/GenericError" + security: + - SessionScheme: [] + /MaterialSubGroups: + get: + tags: + - "General" + responses: + 200: + description: "successful operation" + content: + application/json: + schema: + type: "array" + items: + $ref: "#/components/schemas/MaterialSubGroup" + default: + $ref: "#/components/responses/GenericError" + security: + - SessionScheme: [] +# Settings + /Configs: + get: + tags: + - "Settings" + parameters: + - $ref: "#/components/parameters/GuidOnlineService" + responses: + 200: + description: "successful operation" + content: + application/json: + schema: + type: "array" + items: + $ref: "#/components/schemas/Config" + default: + $ref: "#/components/responses/GenericError" + security: + - SessionScheme: [] + /Configs/{Guid}: + patch: + tags: + - "Settings" + parameters: + - $ref: "#/components/parameters/GuidPath" + - $ref: "#/components/parameters/_HashValue" + requestBody: + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/Config" + responses: + 200: + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/Config" + default: + $ref: "#/components/responses/GenericError" + security: + - SessionScheme: [] + /Addresses: + get: + tags: + - "Settings" + responses: + 200: + description: "successful operation" + content: + application/json: + schema: + type: "array" + items: + $ref: "#/components/schemas/Address" + default: + $ref: "#/components/responses/GenericError" + security: + - SessionScheme: [] + post: + tags: + - "Settings" + requestBody: + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/Address" + responses: + 200: + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/Address" + default: + $ref: "#/components/responses/GenericError" + security: + - SessionScheme: [] + /Addresses/{Guid}: + patch: + tags: + - "Settings" + parameters: + - $ref: "#/components/parameters/GuidPath" + - $ref: "#/components/parameters/_HashValue" + requestBody: + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/Address" + responses: + 200: + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/Address" + default: + $ref: "#/components/responses/GenericError" + security: + - SessionScheme: [] + delete: + tags: + - "Settings" + parameters: + - $ref: "#/components/parameters/GuidPath" + - $ref: "#/components/parameters/_HashValue" + responses: + 200: + description: "successful operation" + default: + $ref: "#/components/responses/GenericError" + security: + - SessionScheme: [] + /OfferArticles: + get: + tags: + - "Settings" + parameters: + - $ref: "#/components/parameters/GuidOnlineService" + responses: + 200: + description: "successful operation" + content: + application/json: + schema: + type: "array" + items: + $ref: "#/components/schemas/OfferArticle" + default: + $ref: "#/components/responses/GenericError" + security: + - SessionScheme: [] + post: + tags: + - "Settings" + parameters: + - $ref: "#/components/parameters/GuidOnlineService" + requestBody: + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/OfferArticle" + responses: + 200: + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/OfferArticle" + default: + $ref: "#/components/responses/GenericError" + security: + - SessionScheme: [] + /OfferArticles/{Guid}: + patch: + tags: + - "Settings" + parameters: + - $ref: "#/components/parameters/GuidPath" + - $ref: "#/components/parameters/_HashValue" + requestBody: + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/OfferArticle" + responses: + 200: + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/OfferArticle" + default: + $ref: "#/components/responses/GenericError" + security: + - SessionScheme: [] + delete: + tags: + - "Settings" + parameters: + - $ref: "#/components/parameters/GuidPath" + - $ref: "#/components/parameters/_HashValue" + responses: + 200: + description: "successful operation" + default: + $ref: "#/components/responses/GenericError" + security: + - SessionScheme: [] +# Menu /Modules: get: tags: - - "Configuration" + - "Menu" parameters: - $ref: "#/components/parameters/GuidOnlineService" responses: @@ -65,10 +314,36 @@ paths: $ref: "#/components/responses/GenericError" security: - SessionScheme: [] + /Downloads: + get: + tags: + - "Menu" + parameters: + - name: "GuidModule" + in: "query" + required: true + schema: + type: "string" + default: null + example: "ebb89e89-8d25-809e-7814-c53b686ae164" + responses: + 200: + description: "successful operation" + content: + application/json: + schema: + type: "array" + items: + $ref: "#/components/schemas/Download" + default: + $ref: "#/components/responses/GenericError" + security: + - SessionScheme: [] +# Search /TableConfigs: get: tags: - - "Configuration" + - "Search" parameters: - $ref: "#/components/parameters/GuidOnlineService" responses: @@ -87,7 +362,6 @@ paths: /FilterSuggestions: get: tags: - - "Configuration" - "Search" parameters: - $ref: "#/components/parameters/GuidOnlineService" @@ -205,57 +479,7 @@ paths: $ref: "#/components/responses/GenericError" security: - SessionScheme: [] - /MaterialTypes: - get: - tags: - - "Calculation" - responses: - 200: - description: "successful operation" - content: - application/json: - schema: - type: "array" - items: - $ref: "#/components/schemas/MaterialType" - default: - $ref: "#/components/responses/GenericError" - security: - - SessionScheme: [] - /MaterialGroups: - get: - tags: - - "Calculation" - responses: - 200: - description: "successful operation" - content: - application/json: - schema: - type: "array" - items: - $ref: "#/components/schemas/MaterialGroup" - default: - $ref: "#/components/responses/GenericError" - security: - - SessionScheme: [] - /MaterialSubGroups: - get: - tags: - - "Calculation" - responses: - 200: - description: "successful operation" - content: - application/json: - schema: - type: "array" - items: - $ref: "#/components/schemas/MaterialSubGroup" - default: - $ref: "#/components/responses/GenericError" - security: - - SessionScheme: [] +# Calculation /CalculationProfiles: get: tags: @@ -514,6 +738,213 @@ paths: $ref: "#/components/responses/GenericError" security: - SessionScheme: [] +# Cart + /Carts: + get: + tags: + - "Cart" + parameters: + - $ref: "#/components/parameters/GuidOnlineService" + responses: + 200: + description: "successful operation" + content: + application/json: + schema: + type: "array" + items: + $ref: "#/components/schemas/Cart" + default: + $ref: "#/components/responses/GenericError" + security: + - SessionScheme: [] + post: + tags: + - "Cart" + parameters: + - $ref: "#/components/parameters/GuidOnlineService" + requestBody: + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/Cart" + responses: + 200: + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/Cart" + default: + $ref: "#/components/responses/GenericError" + security: + - SessionScheme: [] + /Carts/{Guid}: + patch: + tags: + - "Cart" + parameters: + - $ref: "#/components/parameters/GuidPath" + - $ref: "#/components/parameters/_HashValue" + requestBody: + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/Cart" + responses: + 200: + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/Cart" + default: + $ref: "#/components/responses/GenericError" + security: + - SessionScheme: [] + delete: + tags: + - "Cart" + parameters: + - $ref: "#/components/parameters/GuidPath" + - $ref: "#/components/parameters/_HashValue" + responses: + 200: + description: "successful operation" + default: + $ref: "#/components/responses/GenericError" + security: + - SessionScheme: [] + /CartSets: + get: + tags: + - "Cart" + parameters: + - name: "GuidCart" + in: "query" + required: true + schema: + type: "string" + default: null + example: "ebb89e89-8d25-809e-7814-c53b686ae164" + responses: + 200: + description: "successful operation" + content: + application/json: + schema: + type: "array" + items: + $ref: "#/components/schemas/CartSet" + default: + $ref: "#/components/responses/GenericError" + security: + - SessionScheme: [] + post: + tags: + - "Cart" + parameters: + - name: "GuidCart" + in: "query" + required: true + schema: + type: "string" + default: null + example: "ebb89e89-8d25-809e-7814-c53b686ae164" + requestBody: + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/CartSet" + responses: + 200: + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/CartSet" + default: + $ref: "#/components/responses/GenericError" + security: + - SessionScheme: [] + /CartSets/{Guid}: + patch: + tags: + - "Cart" + parameters: + - $ref: "#/components/parameters/GuidPath" + - $ref: "#/components/parameters/_HashValue" + requestBody: + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/CartSet" + responses: + 200: + description: "successful operation" + content: + application/json: + schema: + $ref: "#/components/schemas/CartSet" + default: + $ref: "#/components/responses/GenericError" + security: + - SessionScheme: [] + delete: + tags: + - "Cart" + parameters: + - $ref: "#/components/parameters/GuidPath" + - $ref: "#/components/parameters/_HashValue" + responses: + 200: + description: "successful operation" + default: + $ref: "#/components/responses/GenericError" + security: + - SessionScheme: [] + /DeliveryTypes: + get: + tags: + - "Cart" + parameters: + - $ref: "#/components/parameters/GuidOnlineService" + responses: + 200: + description: "successful operation" + content: + application/json: + schema: + type: "array" + items: + $ref: "#/components/schemas/DeliveryType" + default: + $ref: "#/components/responses/GenericError" + security: + - SessionScheme: [] + /PaymentTypes: + get: + tags: + - "Cart" + parameters: + - $ref: "#/components/parameters/GuidOnlineService" + responses: + 200: + description: "successful operation" + content: + application/json: + schema: + type: "array" + items: + $ref: "#/components/schemas/PaymentType" + default: + $ref: "#/components/responses/GenericError" + security: + - SessionScheme: [] components: schemas: GenericError: @@ -576,7 +1007,7 @@ components: Name1: "Max Mustermann" Name2: null Name3: null - Street: "Musterstra�e 123" + Street: "Musterstr. 123" Postalcode: "01234" Town: "Musterhausen" Township: "Musterviertel" @@ -886,6 +1317,213 @@ components: type: "number" FixedSurcharge: type: "number" + Config: + type: "object" + required: + - "Guid" + - "DefaultAmount" + - "OneClickPurchase" + - "FullTaxPercentage" + - "ReducedTaxPercentage" + - "OfferLayout" + properties: + Guid: + type: "string" + readOnly: true + DefaultAmount: + type: "number" + readOnly: true + OneClickPurchase: + type: "boolean" + readOnly: true + FullTaxPercentage: + type: "number" + ReducedTaxPercentage: + type: "number" + OfferLayout: + type: "object" + properties: + GuidDbBlobBackground: + type: "string" + TopOffsetInPixel: + type: "integer" + BottomOffsetInPixel: + type: "integer" + CalculationFilter: + type: "object" + readOnly: true + required: + - "MaterialTypes" + - "MaterialGroups" + - "MaterialSubGroups" + properties: + MaterialTypes: + type: "array" + items: + type: "object" + required: + - "Guid" + - "Designation" + properties: + Guid: + type: "string" + Designation: + type: "string" + MaterialGroups: + type: "array" + items: + type: "object" + required: + - "Guid" + - "Designation" + properties: + Guid: + type: "string" + Designation: + type: "string" + MaterialSubGroups: + type: "array" + items: + type: "object" + required: + - "Guid" + - "Designation" + properties: + Guid: + type: "string" + Designation: + type: "string" + OfferArticle: + type: "object" + required: + - "Guid" + - "SequenceNumber" + - "Designation" + - "IsUsedByDefault" + - "Amount" + - "SalesNetPrice" + - "TaxType" + properties: + Guid: + type: "string" + SequenceNumber: + type: "integer" + Designation: + type: "string" + IsUsedByDefault: + type: "boolean" + Amount: + type: "number" + SalesNetPrice: + type: "number" + TaxType: + type: "string" + enum: + - "Full" + - "Reduced" + - "None" + Address: + type: "object" + required: + - "Guid" + - "Type" + - "Address" + properties: + Guid: + type: "string" + Type: + type: "string" + readOnly: true + enum: + - "Primary" + - "SubAccount" + - "Individual" + Address: + $ref: "#/components/schemas/PostalAddress" + Cart: + type: "object" + required: + - "Guid" + - "CreationMoment" + - "SequenceNumber" + - "Comment" + properties: + Guid: + type: "string" + readOnly: true + CreationMoment: + type: "string" + format: "date-time" + readOnly: true + Designation: + type: "string" + Comment: + type: "string" + CartSet: + type: "object" + required: + - "Guid" + - "Articles" + properties: + Guid: + type: "string" + readOnly: true + Comment: + type: "string" + Articles: + type: "array" + items: + type: "object" + required: + - "Guid" + - "GuidArticle" + - "Amount" + properties: + Guid: + type: "string" + GuidArticle: + type: "string" + Amount: + type: "number" + NetPrice: + type: "number" + Download: + type: "object" + required: + - "Guid" + - "GuidDbBlob" + - "Type" + properties: + Guid: + type: "string" + GuidDbBlob: + type: "string" + Type: + type: "string" + enum: + - "NewTab" + - "SameTab" + - "Embedded" + DeliveryType: + type: "object" + required: + - "Guid" + - "Designation" + properties: + Guid: + type: "string" + Designation: + type: "string" + PaymentType: + type: "object" + required: + - "Guid" + - "Designation" + properties: + Guid: + type: "string" + Designation: + type: "string" securitySchemes: SessionScheme: type: http diff --git a/src/v2/todo.yaml b/src/v2/todo.yaml index 350ba9e..fd85bf4 100644 --- a/src/v2/todo.yaml +++ b/src/v2/todo.yaml @@ -1,28 +1,3 @@ - /Configs: - get: - patch: - > [{ - "DefaultAmount": 4, - "OneClickPurchase": false, - "FullTaxPercentage": 19, - "ReducedTaxPercentage": 7, - "OfferLayout": - { - "GuidDbBlobBackground": "...", - "TopOffsetInPixel": 234, - "BottomOffsetInPixel": 234 - } - }] - /OfferArticles: - get: - post: - delete: - patch: - /Addresses: - get: - post: - delete: - patch: /ArticleInformations: get: /Vehicles: @@ -30,42 +5,13 @@ /Tubes: get: - Unsicher, ob das so bleibt - /Carts: + /Documents: + - Alle anderen Belege + /Campaigns: get: - post: - delete: - patch: - > [{ - Comment - }] - /CartSets: - get: - post: - delete: - patch: - > [{ - Comment, - Articles: [{ - Guid - GuidCartSet - GuidArticle - Amount - Price - ... - }, - { - Guid - GuidCartSet - GuidArticle - Amount - Price - ... - }] - }] - /DeliveryTypes: - get: - /PaymentTypes: + /Areas: get: + - Dynamisch Preisänderungen und co anzeigen /Carts/{Guid}/Order: post: - GuidDeliveryType @@ -74,75 +20,3 @@ - Comment ... > Document - /Documents: - - Alle anderen Belege - /Downloads: - get: - /Campaigns: - get: - /Areas: - get: - - Dynamisch Preisänderungen und co anzeigen - - - - - - - - - - - - - - - - - - - - - - - - - - VehicleType: - > Designation, "ComfortSearchSet": [{"Designation": "Durchmesser", "Type": "Diameters"}, {"Designation": "Lochzahl", "Type": "HoleCircles"}] - - /Articles: - get: - - Alle Suchparameter, wie Suchbegriff, Komfortsuchefelder und co - - Alle Felder, die der Kunde an dieser Stelle nicht sehen darf, werden mit null geliefert. Sonst ist das Antwortschema statisch und vollständig. - > [{ - "Designation": null, - // Alle anderen Spalten, - "GuidColumnConfig": "82397489235", - ... - }] - /Filters: - get: - - Liefert alle Metainformationen aus - - Alle Suchparameter, wie Suchbegriff, Komfortsuchefelder und co - > [{ - "Designation": "Fahrzeugauswahl", - "Type": "Vehicle", // [Vehicle, MaterialType, Diameter...] - "Selection": [ - { - "Designation": "PKW", - "NumberOfResults": 123, - "ParameterKey": "VehicleType", - "ParameterValue": "832745983475895" - }, - { - "Designation": "Motorrad", - "NumberOfResults": 12, - "ParameterKey": "VehicleType", - "ParameterValue": "83724534899" - } - ] - }] - /ColumnConfigs: - get: - - Ein Set aus den Informationen der Detail- und Bestandsspaltenkonfigurationen.