[API] Removed api_blueprint docs and use swagger (#3595)
* [NGINX] Removed api docs location * [WEB] Removed api_blueprint api docs * [WEB] Added openapi/swagger api viewer * [WEB] Added openapi.yaml with api docs * [WEB] Added request body for create app password endpoint * [Web] Updated types in openapi.yaml * [Web] Only define API docs auth header once * [Web] Added 401 api response to docs
This commit is contained in:
parent
48b74d77a0
commit
5fe9de0500
@ -61,10 +61,6 @@
|
||||
rewrite ^(.*)$ $1.php last;
|
||||
}
|
||||
|
||||
location /api {
|
||||
try_files /_apidocs.html =404;
|
||||
}
|
||||
|
||||
location ~ ^/api/v1/(.*)$ {
|
||||
try_files $uri $uri/ /json_api.php?query=$1;
|
||||
}
|
||||
|
24115
data/web/_apidocs.html
24115
data/web/_apidocs.html
File diff suppressed because one or more lines are too long
BIN
data/web/api/favicon-16x16.png
Normal file
BIN
data/web/api/favicon-16x16.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 665 B |
BIN
data/web/api/favicon-32x32.png
Normal file
BIN
data/web/api/favicon-32x32.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 628 B |
60
data/web/api/index.html
Normal file
60
data/web/api/index.html
Normal 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"> </script>
|
||||
<script src="./swagger-ui-standalone-preset.js"> </script>
|
||||
<script>
|
||||
window.onload = function() {
|
||||
// Begin Swagger UI call region
|
||||
const ui = SwaggerUIBundle({
|
||||
url: "/api/openapi.yaml",
|
||||
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>
|
68
data/web/api/oauth2-redirect.html
Normal file
68
data/web/api/oauth2-redirect.html
Normal file
@ -0,0 +1,68 @@
|
||||
<!doctype html>
|
||||
<html lang="en-US">
|
||||
<title>Swagger UI: OAuth2 Redirect</title>
|
||||
<body onload="run()">
|
||||
</body>
|
||||
</html>
|
||||
<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.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();
|
||||
}
|
||||
</script>
|
4891
data/web/api/openapi.yaml
Normal file
4891
data/web/api/openapi.yaml
Normal file
File diff suppressed because it is too large
Load Diff
126
data/web/api/swagger-ui-bundle.js
Normal file
126
data/web/api/swagger-ui-bundle.js
Normal file
File diff suppressed because one or more lines are too long
1
data/web/api/swagger-ui-bundle.js.map
Normal file
1
data/web/api/swagger-ui-bundle.js.map
Normal file
File diff suppressed because one or more lines are too long
22
data/web/api/swagger-ui-standalone-preset.js
Normal file
22
data/web/api/swagger-ui-standalone-preset.js
Normal file
File diff suppressed because one or more lines are too long
1
data/web/api/swagger-ui-standalone-preset.js.map
Normal file
1
data/web/api/swagger-ui-standalone-preset.js.map
Normal file
File diff suppressed because one or more lines are too long
4
data/web/api/swagger-ui.css
Normal file
4
data/web/api/swagger-ui.css
Normal file
File diff suppressed because one or more lines are too long
1
data/web/api/swagger-ui.css.map
Normal file
1
data/web/api/swagger-ui.css.map
Normal file
File diff suppressed because one or more lines are too long
9
data/web/api/swagger-ui.js
Normal file
9
data/web/api/swagger-ui.js
Normal file
File diff suppressed because one or more lines are too long
1
data/web/api/swagger-ui.js.map
Normal file
1
data/web/api/swagger-ui.js.map
Normal file
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue
Block a user