Initial version, empty shell

This commit is contained in:
ycc
2024-07-11 11:40:11 +02:00
parent 9d4b051821
commit 32fcbb7ffe
33 changed files with 1082 additions and 2 deletions

BIN
swagger/favicon-16x16.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 665 B

BIN
swagger/favicon-32x32.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 628 B

60
swagger/index.html Normal file
View File

@@ -0,0 +1,60 @@
<!-- HTML for static distribution bundle build -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Swagger UI</title>
<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>
<div id="swagger-ui"></div>
<script src="./swagger-ui-bundle.js" charset="UTF-8"> </script>
<script src="./swagger-ui-standalone-preset.js" charset="UTF-8"> </script>
<script>
window.onload = function() {
// Begin Swagger UI call region
const ui = SwaggerUIBundle({
url: "swagger.json",
dom_id: '#swagger-ui',
deepLinking: true,
presets: [
SwaggerUIBundle.presets.apis,
SwaggerUIStandalonePreset
],
plugins: [
SwaggerUIBundle.plugins.DownloadUrl
],
layout: "StandaloneLayout"
});
// End Swagger UI call region
window.ui = ui;
};
</script>
</body>
</html>

View File

@@ -0,0 +1,79 @@
<!doctype html>
<html lang="en-US">
<head>
<title>Swagger UI: OAuth2 Redirect</title>
</head>
<body>
<script>
'use strict';
function run () {
var oauth2 = window.opener.swaggerUIRedirectOauth2;
var sentState = oauth2.state;
var redirectUrl = oauth2.redirectUrl;
var isValid, qp, arr;
if (/code|token|error/.test(window.location.hash)) {
qp = window.location.hash.substring(1);
} else {
qp = 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.schema.get("flow") === "authorizationCode" ||
oauth2.auth.schema.get("flow") === "authorization_code"
) && !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({auth: oauth2.auth, redirectUrl: redirectUrl});
} else {
let oauthErrorMsg;
if (qp.error) {
oauthErrorMsg = "["+qp.error+"]: " +
(qp.error_description ? qp.error_description+ ". " : "no accessCode received from the server. ") +
(qp.error_uri ? "More info: "+qp.error_uri : "");
}
oauth2.errCb({
authId: oauth2.auth.name,
source: "auth",
level: "error",
message: oauthErrorMsg || "[Authorization failed]: no accessCode received from the server"
});
}
} else {
oauth2.callback({auth: oauth2.auth, token: qp, isValid: isValid, redirectUrl: redirectUrl});
}
window.close();
}
if (document.readyState !== 'loading') {
run();
} else {
document.addEventListener('DOMContentLoaded', function () {
run();
});
}
</script>
</body>
</html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

4
swagger/swagger-ui.css Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

2
swagger/swagger-ui.js Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

156
swagger/swagger.json Normal file
View File

@@ -0,0 +1,156 @@
{
"swagger": "2.0",
"info": {
"title": "beego Test API",
"description": "beego has a very cool tools to autogenerate documents for your API\n",
"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": "/oc",
"paths": {
"/version/": {
"get": {
"tags": [
"version"
],
"description": "get version\n\u003cbr\u003e",
"operationId": "VersionController.GetAll",
"responses": {
"200": {
"description": ""
}
}
}
},
"/workflow/": {
"post": {
"tags": [
"workflow"
],
"description": "create workflows\n\u003cbr\u003e",
"operationId": "WorkflowController.Create",
"parameters": [
{
"in": "body",
"name": "body",
"description": "The workflow content",
"required": true,
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/models.workflow"
}
}
}
],
"responses": {
"200": {
"description": "{string} models.workflow.Id"
},
"403": {
"description": "body is empty"
}
}
}
},
"/workflow/find/{query}": {
"get": {
"tags": [
"workflow"
],
"description": "find workflows with query\n\u003cbr\u003e",
"operationId": "WorkflowController.Find",
"parameters": [
{
"in": "path",
"name": "query",
"description": "the keywords you need",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "{workflows} []models.workflow"
},
"403": {
"description": ""
}
}
}
},
"/workflow/{workflowId}": {
"get": {
"tags": [
"workflow"
],
"description": "find workflow by workflowid\n\u003cbr\u003e",
"operationId": "WorkflowController.Get",
"parameters": [
{
"in": "path",
"name": "workflowId",
"description": "the workflowid you want to get",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "{workflow} models.workflow"
},
"403": {
"description": ":workflowId is empty"
}
}
},
"delete": {
"tags": [
"workflow"
],
"description": "delete the workflow\n\u003cbr\u003e",
"operationId": "WorkflowController.Delete",
"parameters": [
{
"in": "path",
"name": "workflowId",
"description": "The workflowId you want to delete",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "{string} delete success!"
},
"403": {
"description": "workflowId is empty"
}
}
}
}
},
"definitions": {
"models.workflow": {
"title": "workflow",
"type": "object"
}
},
"tags": [
{
"name": "workflow",
"description": "Operations about workflow\n"
},
{
"name": "version",
"description": "VersionController operations for Version\n"
}
]
}

114
swagger/swagger.yml Normal file
View File

@@ -0,0 +1,114 @@
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: /oc
paths:
/version/:
get:
tags:
- version
description: |-
get version
<br>
operationId: VersionController.GetAll
responses:
"200":
description: ""
/workflow/:
post:
tags:
- workflow
description: |-
create workflows
<br>
operationId: WorkflowController.Create
parameters:
- in: body
name: body
description: The workflow content
required: true
schema:
type: array
items:
$ref: '#/definitions/models.workflow'
responses:
"200":
description: '{string} models.workflow.Id'
"403":
description: body is empty
/workflow/{workflowId}:
get:
tags:
- workflow
description: |-
find workflow by workflowid
<br>
operationId: WorkflowController.Get
parameters:
- in: path
name: workflowId
description: the workflowid you want to get
required: true
type: string
responses:
"200":
description: '{workflow} models.workflow'
"403":
description: :workflowId is empty
delete:
tags:
- workflow
description: |-
delete the workflow
<br>
operationId: WorkflowController.Delete
parameters:
- in: path
name: workflowId
description: The workflowId you want to delete
required: true
type: string
responses:
"200":
description: '{string} delete success!'
"403":
description: workflowId is empty
/workflow/find/{query}:
get:
tags:
- workflow
description: |-
find workflows with query
<br>
operationId: WorkflowController.Find
parameters:
- in: path
name: query
description: the keywords you need
required: true
type: string
responses:
"200":
description: '{workflows} []models.workflow'
"403":
description: ""
definitions:
models.workflow:
title: workflow
type: object
tags:
- name: workflow
description: |
Operations about workflow
- name: version
description: |
VersionController operations for Version