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

import "github.com/swaggo/swag"

const docTemplate = `{
    "schemes": {{ marshal .Schemes }},
    "swagger": "2.0",
    "info": {
        "description": "{{escape .Description}}",
        "title": "{{.Title}}",
        "contact": {
            "name": "Changaz Danial",
            "email": "changaz.d@gmail.com"
        },
        "version": "{{.Version}}"
    },
    "host": "{{.Host}}",
    "basePath": "{{.BasePath}}",
    "paths": {
        "/api/v1/accounts/": {
            "get": {
                "security": [
                    {
                        "JWT": []
                    }
                ],
                "description": "Get balance",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "accounts"
                ],
                "summary": "Get balance",
                "parameters": [
                    {
                        "description": "input",
                        "name": "input",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/account-management-service_internal_controller_http_v1.getBalanceInput"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/account-management-service_internal_controller_http_v1.accountRoutes"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/echo.HTTPError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/echo.HTTPError"
                        }
                    }
                }
            }
        },
        "/api/v1/accounts/create": {
            "post": {
                "security": [
                    {
                        "JWT": []
                    }
                ],
                "description": "Create account",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "accounts"
                ],
                "summary": "Create account",
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/account-management-service_internal_controller_http_v1.accountRoutes"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/echo.HTTPError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/echo.HTTPError"
                        }
                    }
                }
            }
        },
        "/api/v1/accounts/deposit": {
            "post": {
                "security": [
                    {
                        "JWT": []
                    }
                ],
                "description": "Deposit",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "accounts"
                ],
                "summary": "Deposit",
                "parameters": [
                    {
                        "description": "input",
                        "name": "input",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/account-management-service_internal_controller_http_v1.accountDepositInput"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/echo.HTTPError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/echo.HTTPError"
                        }
                    }
                }
            }
        },
        "/api/v1/accounts/transfer": {
            "post": {
                "security": [
                    {
                        "JWT": []
                    }
                ],
                "description": "Transfer",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "accounts"
                ],
                "summary": "Transfer",
                "parameters": [
                    {
                        "description": "input",
                        "name": "input",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/account-management-service_internal_controller_http_v1.accountTransferInput"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/echo.HTTPError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/echo.HTTPError"
                        }
                    }
                }
            }
        },
        "/api/v1/accounts/withdraw": {
            "post": {
                "security": [
                    {
                        "JWT": []
                    }
                ],
                "description": "Withdraw",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "accounts"
                ],
                "summary": "Withdraw",
                "parameters": [
                    {
                        "description": "input",
                        "name": "input",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/account-management-service_internal_controller_http_v1.accountWithdrawInput"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/echo.HTTPError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/echo.HTTPError"
                        }
                    }
                }
            }
        },
        "/api/v1/operations/history": {
            "get": {
                "security": [
                    {
                        "JWT": []
                    }
                ],
                "description": "Get history of operations",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "operations"
                ],
                "summary": "Get history",
                "parameters": [
                    {
                        "description": "input",
                        "name": "input",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/internal_controller_http_v1.getHistoryInput"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/internal_controller_http_v1.operationRoutes"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/echo.HTTPError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/echo.HTTPError"
                        }
                    }
                }
            }
        },
        "/api/v1/operations/report-file": {
            "get": {
                "security": [
                    {
                        "JWT": []
                    }
                ],
                "description": "Get report file",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "text/csv"
                ],
                "tags": [
                    "operations"
                ],
                "summary": "Get report file",
                "parameters": [
                    {
                        "description": "input",
                        "name": "input",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/internal_controller_http_v1.getReportInput"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/echo.HTTPError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/echo.HTTPError"
                        }
                    }
                }
            }
        },
        "/api/v1/operations/report-link": {
            "get": {
                "security": [
                    {
                        "JWT": []
                    }
                ],
                "description": "Get link to report",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "operations"
                ],
                "summary": "Get report link",
                "parameters": [
                    {
                        "description": "input",
                        "name": "input",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/internal_controller_http_v1.getReportInput"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/internal_controller_http_v1.operationRoutes"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/echo.HTTPError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/echo.HTTPError"
                        }
                    }
                }
            }
        },
        "/api/v1/products/create": {
            "post": {
                "security": [
                    {
                        "JWT": []
                    }
                ],
                "description": "Create product",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "products"
                ],
                "summary": "Create product",
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/account-management-service_internal_controller_http_v1.productRoutes"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/echo.HTTPError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/echo.HTTPError"
                        }
                    }
                }
            }
        },
        "/api/v1/products/getById": {
            "get": {
                "security": [
                    {
                        "JWT": []
                    }
                ],
                "description": "Get product by id",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "products"
                ],
                "summary": "Get product by id",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/account-management-service_internal_controller_http_v1.productRoutes"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/echo.HTTPError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/echo.HTTPError"
                        }
                    }
                }
            }
        },
        "/api/v1/reservations/create": {
            "post": {
                "security": [
                    {
                        "JWT": []
                    }
                ],
                "description": "Create reservation",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "reservations"
                ],
                "summary": "Create reservation",
                "parameters": [
                    {
                        "description": "input",
                        "name": "input",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/account-management-service_internal_controller_http_v1.reservationCreateInput"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/account-management-service_internal_controller_http_v1.reservationRoutes"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/echo.HTTPError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/echo.HTTPError"
                        }
                    }
                }
            }
        },
        "/api/v1/reservations/refund": {
            "post": {
                "security": [
                    {
                        "JWT": []
                    }
                ],
                "description": "Refund reservation",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "reservations"
                ],
                "summary": "Refund reservation",
                "parameters": [
                    {
                        "description": "input",
                        "name": "input",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/account-management-service_internal_controller_http_v1.reservationRefundInput"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/echo.HTTPError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/echo.HTTPError"
                        }
                    }
                }
            }
        },
        "/api/v1/reservations/revenue": {
            "post": {
                "security": [
                    {
                        "JWT": []
                    }
                ],
                "description": "Revenue reservation",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "reservations"
                ],
                "summary": "Revenue reservation",
                "parameters": [
                    {
                        "description": "input",
                        "name": "input",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/account-management-service_internal_controller_http_v1.reservationRevenueInput"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/echo.HTTPError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/echo.HTTPError"
                        }
                    }
                }
            }
        },
        "/auth/sign-in": {
            "post": {
                "description": "Sign in",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "auth"
                ],
                "summary": "Sign in",
                "parameters": [
                    {
                        "description": "input",
                        "name": "input",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/account-management-service_internal_controller_http_v1.signInInput"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/account-management-service_internal_controller_http_v1.authRoutes"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/echo.HTTPError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/echo.HTTPError"
                        }
                    }
                }
            }
        },
        "/auth/sign-up": {
            "post": {
                "description": "Sign up",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "auth"
                ],
                "summary": "Sign up",
                "parameters": [
                    {
                        "description": "input",
                        "name": "input",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/account-management-service_internal_controller_http_v1.signUpInput"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/account-management-service_internal_controller_http_v1.authRoutes"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/echo.HTTPError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/echo.HTTPError"
                        }
                    }
                }
            }
        }
    },
    "definitions": {
        "account-management-service_internal_controller_http_v1.accountDepositInput": {
            "type": "object",
            "required": [
                "amount",
                "id"
            ],
            "properties": {
                "amount": {
                    "type": "integer"
                },
                "id": {
                    "type": "integer"
                }
            }
        },
        "account-management-service_internal_controller_http_v1.accountRoutes": {
            "type": "object"
        },
        "account-management-service_internal_controller_http_v1.accountTransferInput": {
            "type": "object",
            "required": [
                "amount",
                "from",
                "to"
            ],
            "properties": {
                "amount": {
                    "type": "integer"
                },
                "from": {
                    "type": "integer"
                },
                "to": {
                    "type": "integer"
                }
            }
        },
        "account-management-service_internal_controller_http_v1.accountWithdrawInput": {
            "type": "object",
            "required": [
                "amount",
                "id"
            ],
            "properties": {
                "amount": {
                    "type": "integer"
                },
                "id": {
                    "type": "integer"
                }
            }
        },
        "account-management-service_internal_controller_http_v1.authRoutes": {
            "type": "object"
        },
        "account-management-service_internal_controller_http_v1.getBalanceInput": {
            "type": "object",
            "required": [
                "id"
            ],
            "properties": {
                "id": {
                    "type": "integer"
                }
            }
        },
        "account-management-service_internal_controller_http_v1.getHistoryInput": {
            "type": "object",
            "required": [
                "account_id"
            ],
            "properties": {
                "account_id": {
                    "type": "integer"
                },
                "limit": {
                    "type": "integer"
                },
                "offset": {
                    "type": "integer"
                },
                "sort_type": {
                    "type": "string"
                }
            }
        },
        "account-management-service_internal_controller_http_v1.getReportInput": {
            "type": "object",
            "required": [
                "month",
                "year"
            ],
            "properties": {
                "month": {
                    "type": "integer"
                },
                "year": {
                    "type": "integer"
                }
            }
        },
        "account-management-service_internal_controller_http_v1.operationRoutes": {
            "type": "object",
            "properties": {
                "service.Operation": {}
            }
        },
        "account-management-service_internal_controller_http_v1.productRoutes": {
            "type": "object"
        },
        "account-management-service_internal_controller_http_v1.reservationCreateInput": {
            "type": "object",
            "required": [
                "account_id",
                "amount",
                "order_id",
                "product_id"
            ],
            "properties": {
                "account_id": {
                    "type": "integer"
                },
                "amount": {
                    "type": "integer"
                },
                "order_id": {
                    "type": "integer"
                },
                "product_id": {
                    "type": "integer"
                }
            }
        },
        "account-management-service_internal_controller_http_v1.reservationRefundInput": {
            "type": "object",
            "required": [
                "order_id"
            ],
            "properties": {
                "order_id": {
                    "type": "integer"
                }
            }
        },
        "account-management-service_internal_controller_http_v1.reservationRevenueInput": {
            "type": "object",
            "required": [
                "account_id",
                "amount",
                "order_id",
                "product_id"
            ],
            "properties": {
                "account_id": {
                    "type": "integer"
                },
                "amount": {
                    "type": "integer"
                },
                "order_id": {
                    "type": "integer"
                },
                "product_id": {
                    "type": "integer"
                }
            }
        },
        "account-management-service_internal_controller_http_v1.reservationRoutes": {
            "type": "object"
        },
        "account-management-service_internal_controller_http_v1.signInInput": {
            "type": "object",
            "required": [
                "password",
                "username"
            ],
            "properties": {
                "password": {
                    "type": "string"
                },
                "username": {
                    "type": "string",
                    "maxLength": 32,
                    "minLength": 4
                }
            }
        },
        "account-management-service_internal_controller_http_v1.signUpInput": {
            "type": "object",
            "required": [
                "password",
                "username"
            ],
            "properties": {
                "password": {
                    "type": "string"
                },
                "username": {
                    "type": "string",
                    "maxLength": 32,
                    "minLength": 4
                }
            }
        },
        "echo.HTTPError": {
            "type": "object",
            "properties": {
                "message": {}
            }
        },
        "internal_controller_http_v1.accountDepositInput": {
            "type": "object",
            "required": [
                "amount",
                "id"
            ],
            "properties": {
                "amount": {
                    "type": "integer"
                },
                "id": {
                    "type": "integer"
                }
            }
        },
        "internal_controller_http_v1.accountRoutes": {
            "type": "object"
        },
        "internal_controller_http_v1.accountTransferInput": {
            "type": "object",
            "required": [
                "amount",
                "from",
                "to"
            ],
            "properties": {
                "amount": {
                    "type": "integer"
                },
                "from": {
                    "type": "integer"
                },
                "to": {
                    "type": "integer"
                }
            }
        },
        "internal_controller_http_v1.accountWithdrawInput": {
            "type": "object",
            "required": [
                "amount",
                "id"
            ],
            "properties": {
                "amount": {
                    "type": "integer"
                },
                "id": {
                    "type": "integer"
                }
            }
        },
        "internal_controller_http_v1.authRoutes": {
            "type": "object"
        },
        "internal_controller_http_v1.getBalanceInput": {
            "type": "object",
            "required": [
                "id"
            ],
            "properties": {
                "id": {
                    "type": "integer"
                }
            }
        },
        "internal_controller_http_v1.getHistoryInput": {
            "type": "object",
            "required": [
                "account_id"
            ],
            "properties": {
                "account_id": {
                    "type": "integer"
                },
                "limit": {
                    "type": "integer"
                },
                "offset": {
                    "type": "integer"
                },
                "sort_type": {
                    "type": "string"
                }
            }
        },
        "internal_controller_http_v1.getReportInput": {
            "type": "object",
            "required": [
                "month",
                "year"
            ],
            "properties": {
                "month": {
                    "type": "integer"
                },
                "year": {
                    "type": "integer"
                }
            }
        },
        "internal_controller_http_v1.operationRoutes": {
            "type": "object",
            "properties": {
                "service.Operation": {}
            }
        },
        "internal_controller_http_v1.productRoutes": {
            "type": "object"
        },
        "internal_controller_http_v1.reservationCreateInput": {
            "type": "object",
            "required": [
                "account_id",
                "amount",
                "order_id",
                "product_id"
            ],
            "properties": {
                "account_id": {
                    "type": "integer"
                },
                "amount": {
                    "type": "integer"
                },
                "order_id": {
                    "type": "integer"
                },
                "product_id": {
                    "type": "integer"
                }
            }
        },
        "internal_controller_http_v1.reservationRefundInput": {
            "type": "object",
            "required": [
                "order_id"
            ],
            "properties": {
                "order_id": {
                    "type": "integer"
                }
            }
        },
        "internal_controller_http_v1.reservationRevenueInput": {
            "type": "object",
            "required": [
                "account_id",
                "amount",
                "order_id",
                "product_id"
            ],
            "properties": {
                "account_id": {
                    "type": "integer"
                },
                "amount": {
                    "type": "integer"
                },
                "order_id": {
                    "type": "integer"
                },
                "product_id": {
                    "type": "integer"
                }
            }
        },
        "internal_controller_http_v1.reservationRoutes": {
            "type": "object"
        },
        "internal_controller_http_v1.signInInput": {
            "type": "object",
            "required": [
                "password",
                "username"
            ],
            "properties": {
                "password": {
                    "type": "string"
                },
                "username": {
                    "type": "string",
                    "maxLength": 32,
                    "minLength": 4
                }
            }
        },
        "internal_controller_http_v1.signUpInput": {
            "type": "object",
            "required": [
                "password",
                "username"
            ],
            "properties": {
                "password": {
                    "type": "string"
                },
                "username": {
                    "type": "string",
                    "maxLength": 32,
                    "minLength": 4
                }
            }
        }
    },
    "securityDefinitions": {
        "JWT": {
            "type": "apiKey",
            "name": "Authorization",
            "in": "header"
        }
    }
}`

// SwaggerInfo holds exported Swagger Info so clients can modify it
var SwaggerInfo = &swag.Spec{
	Version:          "1.0",
	Host:             "localhost:8089",
	BasePath:         "/",
	Schemes:          []string{},
	Title:            "Account Management Service",
	Description:      "This is a service for managing accounts, reservations, products and operations.",
	InfoInstanceName: "swagger",
	SwaggerTemplate:  docTemplate,
}

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