149 lines
4.9 KiB
HTML
149 lines
4.9 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>VIP Coordinator API Documentation</title>
|
|
<link rel="stylesheet" type="text/css" href="https://unpkg.com/swagger-ui-dist@5.9.0/swagger-ui.css" />
|
|
<style>
|
|
html {
|
|
box-sizing: border-box;
|
|
overflow: -moz-scrollbars-vertical;
|
|
overflow-y: scroll;
|
|
}
|
|
*, *:before, *:after {
|
|
box-sizing: inherit;
|
|
}
|
|
body {
|
|
margin:0;
|
|
background: #fafafa;
|
|
}
|
|
.swagger-ui .topbar {
|
|
background-color: #3498db;
|
|
}
|
|
.swagger-ui .topbar .download-url-wrapper .select-label {
|
|
color: white;
|
|
}
|
|
.swagger-ui .topbar .download-url-wrapper input[type=text] {
|
|
border: 2px solid #2980b9;
|
|
}
|
|
.swagger-ui .info .title {
|
|
color: #2c3e50;
|
|
}
|
|
.custom-header {
|
|
background: linear-gradient(135deg, #3498db, #2980b9);
|
|
color: white;
|
|
padding: 20px;
|
|
text-align: center;
|
|
margin-bottom: 20px;
|
|
}
|
|
.custom-header h1 {
|
|
margin: 0;
|
|
font-size: 2.5em;
|
|
font-weight: 300;
|
|
}
|
|
.custom-header p {
|
|
margin: 10px 0 0 0;
|
|
font-size: 1.2em;
|
|
opacity: 0.9;
|
|
}
|
|
.quick-links {
|
|
background: white;
|
|
padding: 20px;
|
|
margin: 20px;
|
|
border-radius: 8px;
|
|
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
|
|
}
|
|
.quick-links h3 {
|
|
color: #2c3e50;
|
|
margin-top: 0;
|
|
}
|
|
.quick-links ul {
|
|
list-style: none;
|
|
padding: 0;
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
|
|
gap: 10px;
|
|
}
|
|
.quick-links li {
|
|
background: #ecf0f1;
|
|
padding: 10px 15px;
|
|
border-radius: 5px;
|
|
border-left: 4px solid #3498db;
|
|
}
|
|
.quick-links li strong {
|
|
color: #2c3e50;
|
|
}
|
|
.quick-links li code {
|
|
background: #34495e;
|
|
color: white;
|
|
padding: 2px 6px;
|
|
border-radius: 3px;
|
|
font-size: 0.9em;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<div class="custom-header">
|
|
<h1>🚗 VIP Coordinator API</h1>
|
|
<p>Comprehensive API for managing VIP transportation coordination</p>
|
|
</div>
|
|
|
|
<div class="quick-links">
|
|
<h3>🚀 Quick Start Examples</h3>
|
|
<ul>
|
|
<li><strong>Health Check:</strong> <code>GET /api/health</code></li>
|
|
<li><strong>Get All VIPs:</strong> <code>GET /api/vips</code></li>
|
|
<li><strong>Get All Drivers:</strong> <code>GET /api/drivers</code></li>
|
|
<li><strong>Flight Info:</strong> <code>GET /api/flights/UA1234?date=2025-06-26</code></li>
|
|
<li><strong>VIP Schedule:</strong> <code>GET /api/vips/{vipId}/schedule</code></li>
|
|
<li><strong>Driver Availability:</strong> <code>POST /api/drivers/availability</code></li>
|
|
</ul>
|
|
</div>
|
|
|
|
<div id="swagger-ui"></div>
|
|
|
|
<script src="https://unpkg.com/swagger-ui-dist@5.9.0/swagger-ui-bundle.js"></script>
|
|
<script src="https://unpkg.com/swagger-ui-dist@5.9.0/swagger-ui-standalone-preset.js"></script>
|
|
<script>
|
|
window.onload = function() {
|
|
// Begin Swagger UI call region
|
|
const ui = SwaggerUIBundle({
|
|
url: 'http://localhost:3000/api-documentation.yaml',
|
|
dom_id: '#swagger-ui',
|
|
deepLinking: true,
|
|
presets: [
|
|
SwaggerUIBundle.presets.apis,
|
|
SwaggerUIStandalonePreset
|
|
],
|
|
plugins: [
|
|
SwaggerUIBundle.plugins.DownloadUrl
|
|
],
|
|
layout: "StandaloneLayout",
|
|
tryItOutEnabled: true,
|
|
requestInterceptor: function(request) {
|
|
// Add base URL if not present
|
|
if (request.url.startsWith('/api/')) {
|
|
request.url = 'http://localhost:3000' + request.url;
|
|
}
|
|
return request;
|
|
},
|
|
onComplete: function() {
|
|
console.log('VIP Coordinator API Documentation loaded successfully!');
|
|
},
|
|
docExpansion: 'list',
|
|
defaultModelsExpandDepth: 2,
|
|
defaultModelExpandDepth: 2,
|
|
showExtensions: true,
|
|
showCommonExtensions: true,
|
|
supportedSubmitMethods: ['get', 'post', 'put', 'delete', 'patch'],
|
|
validatorUrl: null
|
|
});
|
|
// End Swagger UI call region
|
|
|
|
window.ui = ui;
|
|
};
|
|
</script>
|
|
</body>
|
|
</html>
|