// Code generated by swaggo/swag. DO NOT EDIT
package msp

import "github.com/swaggo/swag"

const docTemplate = `{
    "schemes": {{ marshal .Schemes }},
    "swagger": "2.0",
    "info": {
        "description": "{{escape .Description}}",
        "title": "{{.Title}}",
        "contact": {},
        "version": "{{.Version}}"
    },
    "host": "{{.Host}}",
    "basePath": "{{.BasePath}}",
    "paths": {
        "/msp/customerSignupUrl": {
            "post": {
                "description": "This endpoint creates a new signup URL for an MSP customer.",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Account"
                ],
                "summary": "Create a new signup URL for an MSP customer",
                "parameters": [
                    {
                        "description": "The MSP customer org ID.",
                        "name": "mspCustomerOrgId",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/api.OpenApiCreateMspCustomerSignupUrlReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.OpenApiMspCustomerSignupUrl"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/api.OpenApiError"
                        }
                    }
                }
            }
        },
        "/msp/mspCustomers": {
            "get": {
                "description": "This endpoint returns a list of MSP customers.",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Account"
                ],
                "summary": "Get a list of MSP customers",
                "parameters": [
                    {
                        "type": "string",
                        "description": "The page token of the next page.",
                        "name": "pageToken",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "The page size of the next page. If ` + "`" + `pageSize` + "`" + ` is set to 0, it returns all MSP customers in one page.",
                        "name": "pageSize",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.OpenApiListMspCustomerRsp"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/api.OpenApiError"
                        }
                    }
                }
            }
        },
        "/msp/mspCustomers/{customerOrgId}": {
            "get": {
                "description": "This endpoint retrieves a single MSP customer by their customer org ID.",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Account"
                ],
                "summary": "Retrieve a single MSP customer",
                "parameters": [
                    {
                        "type": "string",
                        "description": "The MSP customer org ID.",
                        "name": "customerOrgId",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.OpenApiMspCustomer"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/api.OpenApiError"
                        }
                    }
                }
            },
            "delete": {
                "description": "This endpoint deletes an existing MSP customer.",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Account"
                ],
                "summary": "Delete an existing MSP customer",
                "parameters": [
                    {
                        "type": "string",
                        "description": "The MSP customer org ID.",
                        "name": "customersOrgId",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/api.OpenApiError"
                        }
                    }
                }
            }
        }
    },
    "definitions": {
        "api.OpenApiCreateMspCustomerSignupUrlReq": {
            "type": "object",
            "properties": {
                "orgId": {
                    "description": "The ID of the MSP.",
                    "type": "string",
                    "example": "123456"
                }
            }
        },
        "api.OpenApiError": {
            "type": "object",
            "properties": {
                "code": {
                    "type": "string"
                },
                "error": {},
                "msgPrefix": {
                    "type": "string"
                },
                "status": {
                    "type": "integer"
                }
            }
        },
        "api.OpenApiListMspCustomerRsp": {
            "type": "object",
            "properties": {
                "mspCustomers": {
                    "description": "The list of matching MSP Customers.",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/api.OpenApiMspCustomer"
                    }
                },
                "nextPageToken": {
                    "description": "` + "`" + `next_page_token` + "`" + ` can be sent in a subsequent call to fetch more results",
                    "type": "string",
                    "example": "498c7f44-656f-4944-b455-0695faa5d4f9"
                }
            }
        },
        "api.OpenApiMspCustomer": {
            "type": "object",
            "properties": {
                "effectedTime": {
                    "description": "The effected time of the MSP customer.",
                    "type": "string",
                    "example": "2023-12-06 15:18:13"
                },
                "email": {
                    "description": "The email of the MSP customer.",
                    "type": "string",
                    "example": "123@my.com"
                },
                "expiredTime": {
                    "description": "The expired time of the MSP customer.",
                    "type": "string",
                    "example": "2023-12-06 15:18:13"
                },
                "id": {
                    "description": "The ID of the MSP customer.",
                    "type": "string",
                    "example": "123456"
                },
                "orgId": {
                    "description": "The ID of the MSP customer.",
                    "type": "string",
                    "example": "123456"
                },
                "orgName": {
                    "description": "The org name of the MSP customer.",
                    "type": "string",
                    "example": "New Org"
                },
                "state": {
                    "description": "The state of the MSP customer.",
                    "type": "string",
                    "example": "active"
                }
            }
        },
        "api.OpenApiMspCustomerSignupUrl": {
            "type": "object",
            "properties": {
                "customerSignupUrl": {
                    "description": "The signup URL of the MSP customer.",
                    "type": "string",
                    "example": "https://test.com/signup?msp=test\u0026third_party_account_provider=test\u0026third_party_account_token=test"
                },
                "expiredAt": {
                    "description": "The expired time of the MSP customer signup url.",
                    "type": "string",
                    "example": "2024-12-06 15:18:13"
                }
            }
        }
    }
}`

// SwaggerInfo holds exported Swagger Info so clients can modify it
var SwaggerInfo = &swag.Spec{
	Version:          "v1beta1",
	Host:             "msp.tidbapi.com",
	BasePath:         "/v1beta1",
	Schemes:          []string{},
	Title:            "MSP (Managed Service Provider) Customer OPENAPI",
	Description:      "This is a account system server for managed service provider (MSP) customer.",
	InfoInstanceName: "swagger",
	SwaggerTemplate:  docTemplate,
}

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