{
    "swagger": "2.0",
    "info": {
        "title": "SqlDB WS API",
        "description": "Generic database access API\n",
        "version": "1.0.0",
        "termsOfService": "https://www.irt-saintexupery.com/",
        "contact": {
            "email": "yves.cerezal@irt-saintexupery.com"
        },
        "license": {
            "name": "Apache 2.0",
            "url": "http://www.apache.org/licenses/LICENSE-2.0.html"
        }
    },
    "basePath": "/v1",
    "paths": {
        "/l/adduser": {
            "post": {
                "tags": [
                    "l"
                ],
                "description": "Add user\n\u003cbr\u003e",
                "operationId": "LoginController.AddUser",
                "parameters": [
                    {
                        "in": "query",
                        "name": "username",
                        "description": "The username for register format",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "query",
                        "name": "password",
                        "description": "The password for register",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": ""
                    },
                    "403": {
                        "description": "user already exist"
                    }
                }
            }
        },
        "/l/login": {
            "post": {
                "tags": [
                    "l"
                ],
                "description": "User login\n\u003cbr\u003e",
                "operationId": "LoginController.Login",
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Credentials",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/Credential"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "{string} success !"
                    },
                    "402": {
                        "description": "user already connected"
                    },
                    "403": {
                        "description": "user does not exist"
                    }
                }
            }
        },
        "/l/logout": {
            "post": {
                "tags": [
                    "l"
                ],
                "description": "Logs user\n\u003cbr\u003e",
                "operationId": "LoginController.Logout",
                "responses": {
                    "200": {
                        "description": ""
                    },
                    "403": {
                        "description": "user not exist"
                    }
                }
            }
        },
        "/s/": {
            "get": {
                "tags": [
                    "s"
                ],
                "description": "get list table\n\u003cbr\u003e",
                "operationId": "SchemaController.GetTable",
                "responses": {
                    "200": {
                        "description": "{string} success !"
                    },
                    "403": {
                        "description": "no table"
                    }
                }
            }
        },
        "/s/{table}": {
            "get": {
                "tags": [
                    "s"
                ],
                "description": "get table schema\n\u003cbr\u003e",
                "operationId": "SchemaController.GetSchema",
                "parameters": [
                    {
                        "in": "path",
                        "name": "table",
                        "description": "Name of the table",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "success !"
                    },
                    "403": {
                        "description": "no table"
                    }
                }
            }
        },
        "/t/{table}": {
            "get": {
                "tags": [
                    "t"
                ],
                "description": "get all Datas\n\u003cbr\u003e",
                "operationId": "TableController.GetAllTable",
                "parameters": [
                    {
                        "in": "path",
                        "name": "table",
                        "description": "Name of the table",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "{string} success !"
                    },
                    "403": {
                        "description": "no table"
                    }
                }
            },
            "put": {
                "tags": [
                    "t"
                ],
                "description": "put data in table\n\u003cbr\u003e",
                "operationId": "TableController.Put data in table",
                "parameters": [
                    {
                        "in": "path",
                        "name": "table",
                        "description": "Name of the table",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "data",
                        "description": "body for data content (Json format)",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/json"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "{string} success"
                    },
                    "403": {
                        "description": ":table put issue"
                    }
                }
            },
            "post": {
                "tags": [
                    "t"
                ],
                "description": "get all Datas\n\u003cbr\u003e",
                "operationId": "TableController.TablePost",
                "parameters": [
                    {
                        "in": "path",
                        "name": "table",
                        "description": "Name of the table",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "TableQuery",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/TableQuery"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "{string} success !"
                    },
                    "403": {
                        "description": "no table"
                    }
                }
            },
            "delete": {
                "tags": [
                    "t"
                ],
                "description": "delete the data in table\n\u003cbr\u003e",
                "operationId": "TableController.Delete",
                "parameters": [
                    {
                        "in": "path",
                        "name": "table",
                        "description": "Name of the table",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "body for data content (Json format)",
                        "schema": {
                            "$ref": "#/definitions/true"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "{string} delete success!"
                    },
                    "403": {
                        "description": "delete issue"
                    }
                }
            }
        },
        "/t/{table}/{columns}": {
            "get": {
                "tags": [
                    "t"
                ],
                "description": "get all Datas\n\u003cbr\u003e",
                "operationId": "TableController.GetAllTableColumn",
                "parameters": [
                    {
                        "in": "path",
                        "name": "table",
                        "description": "Name of the table",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "path",
                        "name": "columns",
                        "description": "Name of the columns (separate with a comma)",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "{string} success !"
                    },
                    "403": {
                        "description": "no table"
                    }
                }
            }
        },
        "/t/{table}/{columns}/{restriction}": {
            "get": {
                "tags": [
                    "t"
                ],
                "description": "get all Datas\n\u003cbr\u003e",
                "operationId": "TableController.GetAllTableColumnRestriction",
                "parameters": [
                    {
                        "in": "path",
                        "name": "table",
                        "description": "Name of the table",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "path",
                        "name": "columns",
                        "description": "Name of the columns (separate with a comma)",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "path",
                        "name": "restriction",
                        "description": "SQL restriction",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "{string} success !"
                    },
                    "403": {
                        "description": "no table"
                    }
                }
            }
        },
        "/t/{table}/{columns}/{restriction}/{sortkeys}": {
            "get": {
                "tags": [
                    "t"
                ],
                "description": "get all Datas\n\u003cbr\u003e",
                "operationId": "TableController.GetAllTableColumnRestrictionSortkeys",
                "parameters": [
                    {
                        "in": "path",
                        "name": "table",
                        "description": "Name of the table",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "path",
                        "name": "columns",
                        "description": "Name of the columns (separate with a comma)",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "path",
                        "name": "restriction",
                        "description": "SQL restriction",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "{string} success !"
                    },
                    "403": {
                        "description": "no table"
                    }
                }
            }
        },
        "/t/{table}/{columns}/{restriction}/{sortkeys}/{dir}": {
            "get": {
                "tags": [
                    "t"
                ],
                "description": "get all Datas\n\u003cbr\u003e",
                "operationId": "TableController.GetAllTableColumnRestrictionSortkeysDir",
                "parameters": [
                    {
                        "in": "path",
                        "name": "table",
                        "description": "Name of the table",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "path",
                        "name": "columns",
                        "description": "Name of the columns (separate with a comma)",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "path",
                        "name": "restriction",
                        "description": "SQL restriction",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "{string} success !"
                    },
                    "403": {
                        "description": "no table"
                    }
                }
            }
        },
        "/ui/{fid}": {
            "get": {
                "tags": [
                    "ui"
                ],
                "description": "create access form\n\u003cbr\u003e",
                "operationId": "UiController.form",
                "parameters": [
                    {
                        "in": "path",
                        "name": "fid",
                        "description": "The fid of the form",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "json form"
                    },
                    "403": {
                        "description": "body is empty"
                    }
                }
            }
        },
        "/ui/{fid}/{uid}": {
            "get": {
                "tags": [
                    "ui"
                ],
                "description": "create access form\n\u003cbr\u003e",
                "operationId": "UiController.form",
                "parameters": [
                    {
                        "in": "path",
                        "name": "fid",
                        "description": "The fid of the form",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "path",
                        "name": "uid",
                        "description": "The uid you want to edit",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "json form"
                    },
                    "403": {
                        "description": "body is empty"
                    }
                }
            }
        },
        "/ui/{uid}": {
            "post": {
                "tags": [
                    "ui"
                ],
                "description": "insert access\n\u003cbr\u003e",
                "operationId": "UiController.Access form data post",
                "parameters": [
                    {
                        "in": "path",
                        "name": "uid",
                        "description": "The uid you want to edit",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "body of jsonform data",
                        "schema": {
                            "$ref": "#/definitions/form"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "json"
                    },
                    "403": {
                        "description": "body is empty"
                    }
                }
            }
        }
    },
    "definitions": {
        "Credential": {
            "title": "Credential",
            "type": "object"
        },
        "TableQuery": {
            "title": "TableQuery",
            "type": "object"
        },
        "form": {
            "title": "form",
            "type": "object"
        },
        "json": {
            "title": "json",
            "type": "object"
        },
        "true": {
            "title": "true",
            "type": "object"
        }
    },
    "tags": [
        {
            "name": "t",
            "description": "Operations about table\n"
        },
        {
            "name": "s",
            "description": "Operations about schema\n"
        },
        {
            "name": "l",
            "description": "Operations about login\n"
        },
        {
            "name": "ui",
            "description": "Operations about table\n"
        }
    ]
}