// Package docs Code generated by swaggo/swag. DO NOT EDIT
package docs

import "github.com/swaggo/swag"

const docTemplate = `{
    "schemes": {{ marshal .Schemes }},
    "swagger": "2.0",
    "info": {
        "description": "{{escape .Description}}",
        "title": "{{.Title}}",
        "termsOfService": "http://swagger.io/terms/",
        "contact": {
            "name": "API Support",
            "url": "http://www.swagger.io/support",
            "email": "support@swagger.io"
        },
        "license": {
            "name": "Apache 2.0",
            "url": "http://www.apache.org/licenses/LICENSE-2.0.html"
        },
        "version": "{{.Version}}"
    },
    "host": "{{.Host}}",
    "basePath": "{{.BasePath}}",
    "paths": {
        "/v1/chargebacks": {
            "post": {
                "description": "Verify if the chargeback exists using idempotency with user ID and transaction ID.\u003cbr\u003e\u003cbr\u003e- **If it does not exist:** Sends a message to the queue (` + "`" + `chargeback-opened` + "`" + `) to create a new chargeback in the processor. \u003cbr\u003e\u003cbr\u003e- **Returns:** \u003cbr\u003e\u003cbr\u003e` + "`" + `202 Accepted` + "`" + ` \u003cbr\u003e\u003cbr\u003e` + "`" + `\"message\": \"Chargeback sent to processor successfully\"` + "`" + ` \u003cbr\u003e\u003cbr\u003e\u003cbr\u003e- **If it already exists:** \u003cbr\u003e\u003cbr\u003e- **Returns:** \u003cbr\u003e\u003cbr\u003e` + "`" + `200 OK` + "`" + ` \u003cbr\u003e\u003cbr\u003e` + "`" + `\"message\": \"Chargeback already exists\"` + "`" + `",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "chargeback"
                ],
                "summary": "Open a chargeback for user and transaction",
                "parameters": [
                    {
                        "description": "Data of the chargeback",
                        "name": "chargeback",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.ChargebackRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/presentation.JSONResponse"
                        }
                    },
                    "202": {
                        "description": "Accepted",
                        "schema": {
                            "$ref": "#/definitions/presentation.JSONResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/presentation.JSONResponse"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/presentation.JSONResponse"
                        }
                    }
                }
            }
        }
    },
    "definitions": {
        "dto.ChargebackRequest": {
            "type": "object",
            "required": [
                "reason",
                "transaction_id",
                "user_id"
            ],
            "properties": {
                "reason": {
                    "type": "string"
                },
                "transaction_id": {
                    "type": "string"
                },
                "user_id": {
                    "type": "string"
                }
            }
        },
        "presentation.JSONResponse": {
            "type": "object",
            "properties": {
                "data": {},
                "error": {
                    "type": "boolean"
                },
                "message": {
                    "type": "string"
                }
            }
        }
    }
}`

// SwaggerInfo holds exported Swagger Info so clients can modify it
var SwaggerInfo = &swag.Spec{
	Version:          "1.0",
	Host:             "localhost:8080",
	BasePath:         "/",
	Schemes:          []string{},
	Title:            "Chargeback API",
	Description:      "This is Chargeback API. Is possible to open a new chargeback.",
	InfoInstanceName: "swagger",
	SwaggerTemplate:  docTemplate,
	LeftDelim:        "{{",
	RightDelim:       "}}",
}

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