initial import

This commit is contained in:
ycc
2021-10-29 23:37:32 +02:00
parent 99865b0d6c
commit 5e9ad05a9c
29 changed files with 2737 additions and 0 deletions

BIN
swagger/favicon-16x16.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 445 B

BIN
swagger/favicon-32x32.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

93
swagger/index.html Normal file
View File

@ -0,0 +1,93 @@
<!-- HTML for static distribution bundle build -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Swagger UI</title>
<link href="https://fonts.googleapis.com/css?family=Open+Sans:400,700|Source+Code+Pro:300,600|Titillium+Web:400,600,700" rel="stylesheet">
<link rel="stylesheet" type="text/css" href="./swagger-ui.css" >
<link rel="icon" type="image/png" href="./favicon-32x32.png" sizes="32x32" />
<link rel="icon" type="image/png" href="./favicon-16x16.png" sizes="16x16" />
<style>
html
{
box-sizing: border-box;
overflow: -moz-scrollbars-vertical;
overflow-y: scroll;
}
*,
*:before,
*:after
{
box-sizing: inherit;
}
body {
margin:0;
background: #fafafa;
}
</style>
</head>
<body>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="position:absolute;width:0;height:0">
<defs>
<symbol viewBox="0 0 20 20" id="unlocked">
<path d="M15.8 8H14V5.6C14 2.703 12.665 1 10 1 7.334 1 6 2.703 6 5.6V6h2v-.801C8 3.754 8.797 3 10 3c1.203 0 2 .754 2 2.199V8H4c-.553 0-1 .646-1 1.199V17c0 .549.428 1.139.951 1.307l1.197.387C5.672 18.861 6.55 19 7.1 19h5.8c.549 0 1.428-.139 1.951-.307l1.196-.387c.524-.167.953-.757.953-1.306V9.199C17 8.646 16.352 8 15.8 8z"></path>
</symbol>
<symbol viewBox="0 0 20 20" id="locked">
<path d="M15.8 8H14V5.6C14 2.703 12.665 1 10 1 7.334 1 6 2.703 6 5.6V8H4c-.553 0-1 .646-1 1.199V17c0 .549.428 1.139.951 1.307l1.197.387C5.672 18.861 6.55 19 7.1 19h5.8c.549 0 1.428-.139 1.951-.307l1.196-.387c.524-.167.953-.757.953-1.306V9.199C17 8.646 16.352 8 15.8 8zM12 8H8V5.199C8 3.754 8.797 3 10 3c1.203 0 2 .754 2 2.199V8z"/>
</symbol>
<symbol viewBox="0 0 20 20" id="close">
<path d="M14.348 14.849c-.469.469-1.229.469-1.697 0L10 11.819l-2.651 3.029c-.469.469-1.229.469-1.697 0-.469-.469-.469-1.229 0-1.697l2.758-3.15-2.759-3.152c-.469-.469-.469-1.228 0-1.697.469-.469 1.228-.469 1.697 0L10 8.183l2.651-3.031c.469-.469 1.228-.469 1.697 0 .469.469.469 1.229 0 1.697l-2.758 3.152 2.758 3.15c.469.469.469 1.229 0 1.698z"/>
</symbol>
<symbol viewBox="0 0 20 20" id="large-arrow">
<path d="M13.25 10L6.109 2.58c-.268-.27-.268-.707 0-.979.268-.27.701-.27.969 0l7.83 7.908c.268.271.268.709 0 .979l-7.83 7.908c-.268.271-.701.27-.969 0-.268-.269-.268-.707 0-.979L13.25 10z"/>
</symbol>
<symbol viewBox="0 0 20 20" id="large-arrow-down">
<path d="M17.418 6.109c.272-.268.709-.268.979 0s.271.701 0 .969l-7.908 7.83c-.27.268-.707.268-.979 0l-7.908-7.83c-.27-.268-.27-.701 0-.969.271-.268.709-.268.979 0L10 13.25l7.418-7.141z"/>
</symbol>
<symbol viewBox="0 0 24 24" id="jump-to">
<path d="M19 7v4H5.83l3.58-3.59L8 6l-6 6 6 6 1.41-1.41L5.83 13H21V7z"/>
</symbol>
<symbol viewBox="0 0 24 24" id="expand">
<path d="M10 18h4v-2h-4v2zM3 6v2h18V6H3zm3 7h12v-2H6v2z"/>
</symbol>
</defs>
</svg>
<div id="swagger-ui"></div>
<script src="./swagger-ui-bundle.js"> </script>
<script src="./swagger-ui-standalone-preset.js"> </script>
<script>
window.onload = function() {
// Build a system
const ui = SwaggerUIBundle({
url: "swagger.json",
dom_id: '#swagger-ui',
presets: [
SwaggerUIBundle.presets.apis,
SwaggerUIStandalonePreset
],
plugins: [
SwaggerUIBundle.plugins.DownloadUrl
],
layout: "StandaloneLayout"
})
window.ui = ui
}
</script>
</body>
</html>

View File

@ -0,0 +1,53 @@
<!doctype html>
<html lang="en-US">
<body onload="run()">
</body>
</html>
<script>
'use strict';
function run () {
var oauth2 = window.opener.swaggerUIRedirectOauth2;
var sentState = oauth2.state;
var isValid, qp, arr;
qp = (window.location.hash || location.search).substring(1);
arr = qp.split("&")
arr.forEach(function (v,i,_arr) { _arr[i] = '"' + v.replace('=', '":"') + '"';})
qp = qp ? JSON.parse('{' + arr.join() + '}',
function (key, value) {
return key === "" ? value : decodeURIComponent(value)
}
) : {}
isValid = qp.state === sentState
if (oauth2.auth.schema.get("flow") === "accessCode" && !oauth2.auth.code) {
if (!isValid) {
oauth2.errCb({
authId: oauth2.auth.name,
source: "auth",
level: "warning",
message: "Authorization may be unsafe, passed state was changed in server Passed state wasn't returned from auth server"
});
}
if (qp.code) {
delete oauth2.state;
oauth2.auth.code = qp.code;
oauth2.callback(oauth2.auth);
} else {
oauth2.errCb({
authId: oauth2.auth.name,
source: "auth",
level: "error",
message: "Authorization failed: no accessCode received from the server"
});
}
} else {
oauth2.callback({auth: oauth2.auth, token: qp, isValid: isValid});
}
window.close();
}
</script>

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
{"version":3,"file":"swagger-ui-bundle.js","sources":["webpack:///swagger-ui-bundle.js"],"mappings":"AAAA;AAu/FA;AA6+FA;;;;;;;;;;;;;;;;;;;;;;;;;;AAyTA;;;;;;AAoIA;AAi7FA;AAmtCA;AAi0IA;AA0oJA;AAgwFA;AAyrGA;AA0lFA;AA4nFA;AA+9CA;AA+gDA;AAwrCA;AA60EA;;;;;AA6oCA;AAsyJA;;;;;;;;;;;;;;AA64EA;AA4mIA;AAquJA;AA2qHA;AA2mGA;AAiiEA;AAq4DA;AAg3DA;AAoPA;;;;;;AAk7FA;AA07FA;;;;;AAi8CA;AAgsFA;AAs2CA;AAglCA;AAu9CA;AAy8EA;AAsiCA;AA+yFA;;;;;;;;;AAgkDA;AA2zIA;AAu7FA;AAmrFA;AAu0EA","sourceRoot":""}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
{"version":3,"file":"swagger-ui-standalone-preset.js","sources":["webpack:///swagger-ui-standalone-preset.js"],"mappings":"AAAA;;;;;AA8QA;AAmvGA;AAuxFA;;;;;;AAocA;AAkvFA;AAu+CA;AAo+CA;AAgrCA;AAuyEA","sourceRoot":""}

2
swagger/swagger-ui.css Normal file

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
{"version":3,"file":"swagger-ui.css","sources":[],"mappings":"","sourceRoot":""}

15
swagger/swagger-ui.js Normal file

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
{"version":3,"file":"swagger-ui.js","sources":["webpack:///swagger-ui.js"],"mappings":"AAAA;;;;;;AA0yCA;AAoyHA;AAmyHA;AAykGA;AA+9BA;AA6iCA;AAojCA;AAu5BA","sourceRoot":""}

378
swagger/swagger.json Normal file
View File

@ -0,0 +1,378 @@
{
"swagger": "2.0",
"info": {
"title": "beego Test API",
"description": "beego has a very cool tools to autogenerate documents for your API",
"version": "1.0.0",
"termsOfService": "http://beego.me/",
"contact": {
"email": "astaxie@gmail.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",
"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",
"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",
"operationId": "LoginController.Logout",
"responses": {
"200": {
"description": ""
},
"403": {
"description": "user not exist"
}
}
}
},
"/s/": {
"get": {
"tags": [
"s"
],
"description": "get list table",
"operationId": "SchemaController.GetTable",
"responses": {
"200": {
"description": "{string} success !"
},
"403": {
"description": "no table"
}
}
}
},
"/s/{table}": {
"get": {
"tags": [
"s"
],
"description": "get table schema",
"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",
"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"
}
}
},
"delete": {
"tags": [
"t"
],
"description": "delete the data in table",
"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",
"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",
"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",
"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",
"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"
}
}
}
}
},
"definitions": {
"Credential": {
"title": "Credential",
"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"
}
]
}

252
swagger/swagger.yml Normal file
View File

@ -0,0 +1,252 @@
swagger: "2.0"
info:
title: beego Test API
description: beego has a very cool tools to autogenerate documents for your API
version: 1.0.0
termsOfService: http://beego.me/
contact:
email: astaxie@gmail.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
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
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
operationId: LoginController.Logout
responses:
"200":
description: ""
"403":
description: user not exist
/s/:
get:
tags:
- s
description: get list table
operationId: SchemaController.GetTable
responses:
"200":
description: '{string} success !'
"403":
description: no table
/s/{table}:
get:
tags:
- s
description: get table schema
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
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
delete:
tags:
- t
description: delete the data in table
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
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
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
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
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
definitions:
Credential:
title: Credential
type: object
"true":
title: "true"
type: object
tags:
- name: t
description: |
Operations about table
- name: s
description: |
Operations about schema
- name: l
description: |
Operations about login