// Package docs GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
// This file was generated by swaggo/swag
package docs

import "github.com/swaggo/swag"

const docTemplate_swagger = `{
    "schemes": {{ marshal .Schemes }},
    "swagger": "2.0",
    "info": {
        "description": "{{escape .Description}}",
        "title": "{{.Title}}",
        "contact": {},
        "version": "{{.Version}}"
    },
    "host": "{{.Host}}",
    "basePath": "{{.BasePath}}",
    "paths": {
        "/orders": {
            "post": {
                "description": "Create new order",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Orders"
                ],
                "summary": "Create order",
                "parameters": [
                    {
                        "description": "create order",
                        "name": "order",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.CreateOrderReqDto"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/orders/address/{id}": {
            "put": {
                "description": "Deliver existing order",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Orders"
                ],
                "summary": "Change delivery address order",
                "parameters": [
                    {
                        "description": "change delivery address",
                        "name": "order",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.ChangeDeliveryAddressReqDto"
                        }
                    },
                    {
                        "type": "string",
                        "description": "Order ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/orders/cancel/{id}": {
            "post": {
                "description": "Cancel existing order",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Orders"
                ],
                "summary": "Cancel order",
                "parameters": [
                    {
                        "description": "cancel order reason",
                        "name": "order",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.CancelOrderReqDto"
                        }
                    },
                    {
                        "type": "string",
                        "description": "Order ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/orders/cart/{id}": {
            "put": {
                "description": "Update existing order shopping cart",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Orders"
                ],
                "summary": "Update order shopping cart",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Order ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "update order",
                        "name": "order",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.UpdateShoppingItemsReqDto"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/orders/complete/{id}": {
            "post": {
                "description": "Complete existing order",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Orders"
                ],
                "summary": "Complete order",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Order ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/orders/pay/{id}": {
            "put": {
                "description": "Pay existing order",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Orders"
                ],
                "summary": "Pay order",
                "parameters": [
                    {
                        "description": "create order",
                        "name": "order",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.Payment"
                        }
                    },
                    {
                        "type": "string",
                        "description": "Order ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/orders/search": {
            "get": {
                "description": "Full text search by title and description",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Orders"
                ],
                "summary": "Search orders",
                "parameters": [
                    {
                        "type": "string",
                        "description": "search text",
                        "name": "search",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "page number",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "number of elements",
                        "name": "size",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.OrderSearchResponseDto"
                        }
                    }
                }
            }
        },
        "/orders/submit/{id}": {
            "put": {
                "description": "Submit existing order",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Orders"
                ],
                "summary": "Submit order",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Order ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/orders/{id}": {
            "get": {
                "description": "Get order by id",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Orders"
                ],
                "summary": "Get order",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Order ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.OrderResponseDto"
                        }
                    }
                }
            }
        }
    },
    "definitions": {
        "dto.CancelOrderReqDto": {
            "type": "object",
            "required": [
                "cancelReason"
            ],
            "properties": {
                "cancelReason": {
                    "type": "string"
                }
            }
        },
        "dto.ChangeDeliveryAddressReqDto": {
            "type": "object",
            "required": [
                "deliveryAddress"
            ],
            "properties": {
                "deliveryAddress": {
                    "type": "string"
                }
            }
        },
        "dto.CreateOrderReqDto": {
            "type": "object",
            "required": [
                "accountEmail",
                "deliveryAddress",
                "shopItems"
            ],
            "properties": {
                "accountEmail": {
                    "type": "string"
                },
                "deliveryAddress": {
                    "type": "string"
                },
                "shopItems": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/models.ShopItem"
                    }
                }
            }
        },
        "dto.OrderResponseDto": {
            "type": "object",
            "required": [
                "accountEmail"
            ],
            "properties": {
                "accountEmail": {
                    "type": "string"
                },
                "cancelReason": {
                    "type": "string"
                },
                "canceled": {
                    "type": "boolean"
                },
                "completed": {
                    "type": "boolean"
                },
                "created": {
                    "type": "boolean"
                },
                "deliveredTime": {
                    "type": "string"
                },
                "deliveryAddress": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "orderId": {
                    "type": "string"
                },
                "paid": {
                    "type": "boolean"
                },
                "payment": {
                    "$ref": "#/definitions/dto.Payment"
                },
                "shopItems": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/dto.ShopItem"
                    }
                },
                "submitted": {
                    "type": "boolean"
                },
                "totalPrice": {
                    "type": "number"
                }
            }
        },
        "dto.OrderSearchResponseDto": {
            "type": "object",
            "properties": {
                "orders": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/dto.OrderResponseDto"
                    }
                },
                "pagination": {
                    "$ref": "#/definitions/dto.Pagination"
                }
            }
        },
        "dto.Pagination": {
            "type": "object",
            "properties": {
                "hasMore": {
                    "type": "boolean"
                },
                "page": {
                    "type": "integer"
                },
                "size": {
                    "type": "integer"
                },
                "totalCount": {
                    "type": "integer"
                },
                "totalPages": {
                    "type": "integer"
                }
            }
        },
        "dto.Payment": {
            "type": "object",
            "required": [
                "paymentID",
                "timestamp"
            ],
            "properties": {
                "paymentID": {
                    "type": "string"
                },
                "timestamp": {
                    "type": "string"
                }
            }
        },
        "dto.ShopItem": {
            "type": "object",
            "properties": {
                "description": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "price": {
                    "type": "number"
                },
                "quantity": {
                    "type": "integer"
                },
                "title": {
                    "type": "string"
                }
            }
        },
        "dto.UpdateShoppingItemsReqDto": {
            "type": "object",
            "required": [
                "shopItems"
            ],
            "properties": {
                "shopItems": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/models.ShopItem"
                    }
                }
            }
        },
        "models.ShopItem": {
            "type": "object",
            "properties": {
                "description": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "price": {
                    "type": "number"
                },
                "quantity": {
                    "type": "integer"
                },
                "title": {
                    "type": "string"
                }
            }
        }
    }
}`

// SwaggerInfo_swagger holds exported Swagger Info so clients can modify it
var SwaggerInfo_swagger = &swag.Spec{
	Version:          "",
	Host:             "",
	BasePath:         "",
	Schemes:          []string{},
	Title:            "",
	Description:      "",
	InfoInstanceName: "swagger",
	SwaggerTemplate:  docTemplate_swagger,
}

func init() {
	swag.Register(SwaggerInfo_swagger.InstanceName(), SwaggerInfo_swagger)
}
