Initial version of smartbooking generated by generator-jhipster@9.0.0-beta.0

This commit is contained in:
2025-12-10 16:41:34 +01:00
commit e4b8486f4b
376 changed files with 44072 additions and 0 deletions

View File

@@ -0,0 +1,117 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>smartbooking - Swagger UI</title>
<base href="/swagger-ui/" />
<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" />
</head>
<body>
<div id="swagger-ui"></div>
<script src="./swagger-ui-bundle.js"></script>
<script src="./swagger-ui-standalone-preset.js"></script>
<script src="./axios.min.js"></script>
<script type="text/javascript">
const AlwaysEnableTryItOutPlugin = function () {
return {
components: {
TryItOutButton: () => null,
},
};
};
function getCSRF() {
const name = 'XSRF-TOKEN=';
const ca = document.cookie.split(';');
for (let i = 0; i < ca.length; i++) {
let c = ca[i];
while (c.charAt(0) === ' ') c = c.substring(1);
if (c.includes(name)) return c.substring(name.length, c.length);
}
return '';
}
function createAxiosConfig(serverBaseUri) {
return {
timeout: 5000,
baseURL: serverBaseUri,
};
}
async function fetchUrls(serverBaseUri, axiosConfig, baseUrl) {
let urls;
if (!urls || urls.length === 0) {
try {
const response = await axios.get('/management/jhiopenapigroups', axiosConfig);
if (Array.isArray(response.data)) {
urls = response.data.map(({ group, description }) => ({ name: description, url: `${serverBaseUri}${baseUrl}/${group}` }));
}
} catch (error) {
console.error('Failed to fetch default API docs', error);
}
}
console.log(`Swagger urls`, urls);
return urls?.length ? urls : [{ name: 'default', url: `${serverBaseUri}${baseUrl}` }];
}
function sortUrls(urls) {
if (!urls) return urls;
urls.sort((a, b) => compareUrls(a.name.toLowerCase(), b.name.toLowerCase()));
return urls;
}
function compareUrls(nameA, nameB) {
if (nameA.includes('(default)')) return -1;
if (nameB.includes('(default)')) return 1;
if (nameA.includes('(management)')) return -1;
if (nameB.includes('(management)')) return 1;
return nameA.localeCompare(nameB);
}
function initializeSwaggerUI(urls, baseUrl) {
// Build a system
const ui = SwaggerUIBundle({
urls: urls,
url: baseUrl,
dom_id: '#swagger-ui',
deepLinking: true,
filter: true,
layout: 'StandaloneLayout',
withCredentials: true,
presets: [SwaggerUIBundle.presets.apis, SwaggerUIStandalonePreset],
plugins: [SwaggerUIBundle.plugins.DownloadUrl, AlwaysEnableTryItOutPlugin],
tryItOutEnabled: true,
requestInterceptor: function (req) {
req.headers['X-XSRF-TOKEN'] = getCSRF();
// Remove the sample Swagger UI request body if present
if (req.method === 'GET' && req.body === '{"additionalProp1":"string","additionalProp2":"string","additionalProp3":"string"}') {
req.body = undefined;
}
return req;
},
});
globalThis.ui = ui;
}
globalThis.onload = async function () {
const baseUrl = 'v3/api-docs';
const serverBaseUri = document.baseURI.replace('swagger-ui/', '');
const axiosConfig = createAxiosConfig(serverBaseUri);
const urls = await fetchUrls(serverBaseUri, axiosConfig, baseUrl);
const sortedUrls = sortUrls(urls);
initializeSwaggerUI(sortedUrls, baseUrl);
};
</script>
</body>
</html>