// 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}}",
        "contact": {},
        "version": "{{.Version}}"
    },
    "host": "{{.Host}}",
    "basePath": "{{.BasePath}}",
    "paths": {
        "/cql": {
            "post": {
                "description": "Executes a CQL (Cardinal Query Language) query",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "summary": "Executes a CQL (Cardinal Query Language) query",
                "parameters": [
                    {
                        "description": "CQL query to be executed",
                        "name": "cql",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/cardinal_server_handler.CQLQueryRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Results of the executed CQL query",
                        "schema": {
                            "$ref": "#/definitions/cardinal_server_handler.CQLQueryResponse"
                        }
                    },
                    "400": {
                        "description": "Invalid request parameters",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/debug/state": {
            "post": {
                "description": "Retrieves the debug state of the world",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "debug"
                ],
                "summary": "Get Debug State",
                "parameters": [
                    {
                        "description": "Debug State Request",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/cardinal_server_handler.DebugStateRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/pkg_world_dev_world-engine_cardinal_types.DebugStateElement"
                            }
                        }
                    }
                }
            }
        },
        "/events": {
            "get": {
                "description": "Establishes a new websocket connection to retrieve system events",
                "produces": [
                    "application/json"
                ],
                "summary": "Establishes a new websocket connection to retrieve system events",
                "responses": {
                    "101": {
                        "description": "Switch protocol to ws",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/health": {
            "get": {
                "description": "Retrieves the status of the server and game loop",
                "produces": [
                    "application/json"
                ],
                "summary": "Retrieves the status of the server and game loop",
                "responses": {
                    "200": {
                        "description": "Server and game loop status",
                        "schema": {
                            "$ref": "#/definitions/cardinal_server_handler.GetHealthResponse"
                        }
                    }
                }
            }
        },
        "/query/receipts/list": {
            "post": {
                "description": "Retrieves all transaction receipts",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "summary": "Retrieves all transaction receipts",
                "parameters": [
                    {
                        "description": "Query body",
                        "name": "ListTxReceiptsRequest",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/cardinal_server_handler.ListTxReceiptsRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of receipts",
                        "schema": {
                            "$ref": "#/definitions/cardinal_server_handler.ListTxReceiptsResponse"
                        }
                    },
                    "400": {
                        "description": "Invalid request body",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/query/{queryGroup}/{queryName}": {
            "post": {
                "description": "Executes a query",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "summary": "Executes a query",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Query group",
                        "name": "queryGroup",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Name of a registered query",
                        "name": "queryName",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Query to be executed",
                        "name": "queryBody",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "type": "object"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Results of the executed query",
                        "schema": {
                            "type": "object"
                        }
                    },
                    "400": {
                        "description": "Invalid request parameters",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/tx/game/{txName}": {
            "post": {
                "description": "Submits a transaction",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "summary": "Submits a transaction",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Name of a registered message",
                        "name": "txName",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Transaction details \u0026 message to be submitted",
                        "name": "txBody",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/sign.Transaction"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Transaction hash and tick",
                        "schema": {
                            "$ref": "#/definitions/cardinal_server_handler.PostTransactionResponse"
                        }
                    },
                    "400": {
                        "description": "Invalid request parameter",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "408": {
                        "description": "Request Timeout - message expired",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/tx/persona/create-persona": {
            "post": {
                "description": "Creates a persona",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "summary": "Creates a persona",
                "parameters": [
                    {
                        "description": "Transaction details \u0026 message to be submitted",
                        "name": "txBody",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/sign.Transaction"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Transaction hash and tick",
                        "schema": {
                            "$ref": "#/definitions/cardinal_server_handler.PostTransactionResponse"
                        }
                    },
                    "400": {
                        "description": "Invalid request parameter",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "401": {
                        "description": "Unauthorized - signature was invalid",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "408": {
                        "description": "Request Timeout - message expired",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error - unexpected cache errors",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/tx/{txGroup}/{txName}": {
            "post": {
                "description": "Submits a transaction",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "summary": "Submits a transaction",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Message group",
                        "name": "txGroup",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Name of a registered message",
                        "name": "txName",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Transaction details \u0026 message to be submitted",
                        "name": "txBody",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/sign.Transaction"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Transaction hash and tick",
                        "schema": {
                            "$ref": "#/definitions/cardinal_server_handler.PostTransactionResponse"
                        }
                    },
                    "400": {
                        "description": "Invalid request parameter",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "408": {
                        "description": "Request Timeout - message expired",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/world": {
            "get": {
                "description": "Contains the registered components, messages, queries, and namespace",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "summary": "Retrieves details of the game world",
                "responses": {
                    "200": {
                        "description": "Details of the game world",
                        "schema": {
                            "$ref": "#/definitions/cardinal_server_handler.GetWorldResponse"
                        }
                    },
                    "400": {
                        "description": "Invalid request parameters",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        }
    },
    "definitions": {
        "cardinal_server_handler.CQLQueryRequest": {
            "type": "object",
            "properties": {
                "cql": {
                    "type": "string"
                }
            }
        },
        "cardinal_server_handler.CQLQueryResponse": {
            "type": "object",
            "properties": {
                "results": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/pkg_world_dev_world-engine_cardinal_types.EntityStateElement"
                    }
                }
            }
        },
        "cardinal_server_handler.DebugStateRequest": {
            "type": "object"
        },
        "cardinal_server_handler.GetHealthResponse": {
            "type": "object",
            "properties": {
                "isGameLoopRunning": {
                    "type": "boolean"
                },
                "isServerRunning": {
                    "type": "boolean"
                }
            }
        },
        "cardinal_server_handler.GetWorldResponse": {
            "type": "object",
            "properties": {
                "components": {
                    "description": "list of component names",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/pkg_world_dev_world-engine_cardinal_types.FieldDetail"
                    }
                },
                "messages": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/pkg_world_dev_world-engine_cardinal_types.FieldDetail"
                    }
                },
                "namespace": {
                    "type": "string"
                },
                "queries": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/pkg_world_dev_world-engine_cardinal_types.FieldDetail"
                    }
                }
            }
        },
        "cardinal_server_handler.ListTxReceiptsRequest": {
            "type": "object",
            "properties": {
                "startTick": {
                    "type": "integer"
                }
            }
        },
        "cardinal_server_handler.ListTxReceiptsResponse": {
            "type": "object",
            "properties": {
                "endTick": {
                    "type": "integer"
                },
                "receipts": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/cardinal_server_handler.ReceiptEntry"
                    }
                },
                "startTick": {
                    "type": "integer"
                }
            }
        },
        "cardinal_server_handler.PostTransactionResponse": {
            "type": "object",
            "properties": {
                "tick": {
                    "type": "integer"
                },
                "txHash": {
                    "type": "string"
                }
            }
        },
        "cardinal_server_handler.ReceiptEntry": {
            "type": "object",
            "properties": {
                "errors": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "result": {},
                "tick": {
                    "type": "integer"
                },
                "txHash": {
                    "type": "string"
                }
            }
        },
        "pkg_world_dev_world-engine_cardinal_types.DebugStateElement": {
            "type": "object",
            "properties": {
                "components": {
                    "type": "object"
                },
                "id": {
                    "type": "integer"
                }
            }
        },
        "pkg_world_dev_world-engine_cardinal_types.EntityStateElement": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "object"
                },
                "id": {
                    "type": "integer"
                }
            }
        },
        "pkg_world_dev_world-engine_cardinal_types.FieldDetail": {
            "type": "object",
            "properties": {
                "fields": {
                    "description": "variable name and type",
                    "type": "object",
                    "additionalProperties": {}
                },
                "name": {
                    "description": "name of the message or query",
                    "type": "string"
                },
                "url": {
                    "type": "string"
                }
            }
        },
        "sign.Transaction": {
            "type": "object",
            "properties": {
                "body": {
                    "description": "json string",
                    "type": "object"
                },
                "namespace": {
                    "type": "string"
                },
                "personaTag": {
                    "type": "string"
                },
                "salt": {
                    "description": "an optional field for additional hash uniqueness",
                    "type": "integer"
                },
                "signature": {
                    "description": "hex encoded string",
                    "type": "string"
                },
                "timestamp": {
                    "description": "unix millisecond timestamp",
                    "type": "integer"
                }
            }
        }
    }
}`

// SwaggerInfo holds exported Swagger Info so clients can modify it
var SwaggerInfo = &swag.Spec{
	Version:          "1.0.0",
	Host:             "",
	BasePath:         "",
	Schemes:          []string{},
	Title:            "Cardinal API",
	Description:      "Cardinal server API for World Engine",
	InfoInstanceName: "swagger",
	SwaggerTemplate:  docTemplate,
	LeftDelim:        "{{",
	RightDelim:       "}}",
}

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