heimdall-api-platform 1.0.39 → 1.0.41
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/clients/http-client.js +1 -1
- package/dist/lib/commons-cache.js +1 -1
- package/dist/lib/commons-const.js +1 -1
- package/dist/lib/commons-elasticsearch.js +1 -1
- package/dist/lib/commons-errors.js +1 -1
- package/dist/lib/commons-opensearch.js +1 -1
- package/dist/lib/commons-splunk.js +1 -1
- package/dist/lib/commons-util.js +1 -1
- package/dist/lib/default-routes-docs.js +1 -1
- package/dist/lib/default-routes-pos.js +1 -1
- package/dist/lib/default-routes-pre.js +1 -1
- package/dist/lib/environment.js +1 -1
- package/dist/lib/factory/api-gateway.js +1 -1
- package/dist/lib/factory/client-factory.js +1 -1
- package/dist/lib/factory/function-factory.js +1 -1
- package/dist/lib/factory/operation-flow-factory.js +1 -1
- package/dist/lib/factory/server-factory.js +1 -1
- package/dist/lib/factory/transformation-function-factory.js +1 -1
- package/dist/lib/handle-route.js +1 -1
- package/dist/lib/index.js +1 -1
- package/dist/lib/jwt-util.js +1 -1
- package/dist/lib/license/license-service.js +1 -1
- package/dist/lib/models/base-context.js +1 -1
- package/dist/lib/models/elastic-index-data.js +1 -1
- package/dist/lib/models/flow-context.js +1 -1
- package/dist/lib/models/flow-indexed.js +1 -1
- package/dist/lib/models/operation-function-indexed.js +1 -1
- package/dist/lib/models/operation-function-transformation-indexed.js +1 -1
- package/dist/lib/models/operation-http-indexed.js +1 -1
- package/dist/lib/models/operation-mock-indexed.js +1 -1
- package/dist/lib/models/route-context.js +1 -1
- package/dist/lib/models/security-route.js +1 -1
- package/dist/lib/models/service-context.js +1 -1
- package/dist/lib/models/service-group.js +1 -1
- package/dist/lib/models/service-route.js +1 -1
- package/dist/lib/models/splunk-data.js +1 -1
- package/dist/lib/operations/abstract-operation.js +1 -1
- package/dist/lib/operations/function.js +1 -1
- package/dist/lib/operations/http.js +1 -1
- package/dist/lib/operations/mock.js +1 -1
- package/dist/lib/operations/monitor-check.js +1 -1
- package/dist/lib/orchestration-flow.js +1 -1
- package/dist/lib/router.js +1 -1
- package/dist/lib/security-validation.js +1 -1
- package/dist/lib/services/server.js +1 -1
- package/dist/lib/services/template-monitorcheck-route.js +1 -1
- package/dist/public/redoc.html +153 -132
- package/dist/public/scalardoc.html +173 -0
- package/dist/public/swagger.html +512 -73
- package/package.json +2 -1
package/dist/public/redoc.html
CHANGED
|
@@ -1,152 +1,173 @@
|
|
|
1
1
|
<!DOCTYPE html>
|
|
2
|
-
<html lang="pt-BR">
|
|
2
|
+
<html lang="pt-BR" data-theme="light">
|
|
3
3
|
|
|
4
4
|
<head>
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
margin-right: 12px;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
.navbar__title {
|
|
43
|
-
font-size: 18px;
|
|
44
|
-
font-weight: bold;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
#redoc-container {
|
|
48
|
-
height: calc(100% - 120px);
|
|
49
|
-
/* espaço reservado para navbar e footer */
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
.pay2b-footer {
|
|
53
|
-
background-color: #1f2d3d;
|
|
54
|
-
color: #fff;
|
|
55
|
-
padding: 20px 40px;
|
|
56
|
-
font-size: 14px;
|
|
57
|
-
}
|
|
5
|
+
<meta charset="UTF-8"/>
|
|
6
|
+
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover"/>
|
|
7
|
+
<meta name="description"
|
|
8
|
+
content="Heimdall API Platform - Microgateway de alta performance para APIs, com orquestração inteligente, roteamento dinâmico e integração entre microsserviços"/>
|
|
9
|
+
<meta name="keywords"
|
|
10
|
+
content="API Gateway, microgateway, orquestração, roteamento dinâmico, Node.js, Redis, OpenSearch, Redoc, microsserviços, REST API, cache, throttling, observabilidade"/>
|
|
11
|
+
<meta name="author" content="P4F - Protonss4Fun"/>
|
|
12
|
+
<meta name="theme-color" content="#003d7a"/>
|
|
13
|
+
<meta property="og:title" content="Heimdall API Platform - API Documentation"/>
|
|
14
|
+
<meta property="og:description"
|
|
15
|
+
content="Microgateway de alta performance com orquestração inteligente e roteamento dinâmico para APIs"/>
|
|
16
|
+
<meta property="og:type" content="website"/>
|
|
17
|
+
<meta property="og:url" content="https://www.protonss4fun.com.br"/>
|
|
18
|
+
<meta property="og:image"
|
|
19
|
+
content="https://static.wixstatic.com/media/20b3f7_42a596f7c2244e1f946ebb5fa8a8512f~mv2.png"/>
|
|
20
|
+
<meta name="twitter:card" content="summary_large_image"/>
|
|
21
|
+
<meta name="twitter:title" content="Heimdall API Platform - API Documentation"/>
|
|
22
|
+
<meta name="twitter:description"
|
|
23
|
+
content="Microgateway de alta performance com orquestração inteligente e roteamento dinâmico para APIs"/>
|
|
24
|
+
<title>Heimdall API Platform - API Documentation | Scalar</title>
|
|
25
|
+
|
|
26
|
+
<link rel="icon" href="https://static.wixstatic.com/media/20b3f7_42a596f7c2244e1f946ebb5fa8a8512f~mv2.png"
|
|
27
|
+
type="image/png"/>
|
|
28
|
+
<link rel="preconnect" href="https://fonts.googleapis.com"/>
|
|
29
|
+
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin/>
|
|
30
|
+
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap"
|
|
31
|
+
rel="stylesheet"/>
|
|
32
|
+
|
|
33
|
+
<style>
|
|
34
|
+
* {
|
|
35
|
+
margin: 0;
|
|
36
|
+
padding: 0;
|
|
37
|
+
box-sizing: border-box;
|
|
38
|
+
}
|
|
58
39
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
justify-content: space-between;
|
|
63
|
-
flex-wrap: wrap;
|
|
64
|
-
}
|
|
40
|
+
body {
|
|
41
|
+
font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
|
|
42
|
+
}
|
|
65
43
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
44
|
+
.custom-header {
|
|
45
|
+
padding: 1rem 2rem;
|
|
46
|
+
display: flex;
|
|
47
|
+
justify-content: space-between;
|
|
48
|
+
align-items: center;
|
|
49
|
+
background: #b8d430;
|
|
50
|
+
border-bottom: 1px solid rgba(0, 0, 0, 0.1);
|
|
51
|
+
}
|
|
70
52
|
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
53
|
+
.custom-header img {
|
|
54
|
+
height: 40px;
|
|
55
|
+
width: auto;
|
|
56
|
+
}
|
|
74
57
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
font-weight: 400;
|
|
81
|
-
}
|
|
58
|
+
.custom-header nav {
|
|
59
|
+
display: flex;
|
|
60
|
+
gap: 1.5rem;
|
|
61
|
+
align-items: center;
|
|
62
|
+
}
|
|
82
63
|
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
64
|
+
.custom-header a {
|
|
65
|
+
color: #ffffff;
|
|
66
|
+
text-decoration: none;
|
|
67
|
+
font-size: 14px;
|
|
68
|
+
font-weight: 600;
|
|
69
|
+
transition: opacity 0.2s;
|
|
70
|
+
}
|
|
88
71
|
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
72
|
+
.custom-header a:hover {
|
|
73
|
+
opacity: 0.85;
|
|
74
|
+
}
|
|
92
75
|
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
76
|
+
.p4f-footer.scalar-app {
|
|
77
|
+
display: none;
|
|
78
|
+
}
|
|
79
|
+
</style>
|
|
97
80
|
</head>
|
|
98
81
|
|
|
99
82
|
<body>
|
|
100
83
|
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
<span class="navbar__title">Documentação da API</span>
|
|
84
|
+
<header class="custom-header scalar-app">
|
|
85
|
+
<div style="display: flex; align-items: center; gap: 12px;">
|
|
86
|
+
<img src="https://static.wixstatic.com/media/20b3f7_42a596f7c2244e1f946ebb5fa8a8512f~mv2.png/v1/fill/w_90,h_93,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/Logo_fw.png" alt="P4F Logo">
|
|
87
|
+
<span style="color: #003d7a; font-size: 18px; font-weight: 700;">Heimdall API Platform</span>
|
|
106
88
|
</div>
|
|
107
|
-
|
|
89
|
+
<nav>
|
|
90
|
+
<a href="https://www.protonss4fun.com.br" target="_blank" rel="noopener noreferrer">Site</a>
|
|
91
|
+
<a href="https://www.linkedin.com/company/protonss4fun" target="_blank" rel="noopener noreferrer">LinkedIn</a>
|
|
92
|
+
</nav>
|
|
93
|
+
</header>
|
|
108
94
|
|
|
109
|
-
|
|
110
|
-
<div id="redoc-container"></div>
|
|
111
|
-
|
|
112
|
-
<!-- Footer -->
|
|
113
|
-
<footer class="pay2b-footer">
|
|
95
|
+
<footer class="p4f-footer scalar-app">
|
|
114
96
|
<div class="footer__container">
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
<
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
97
|
+
<div class="footer__left">
|
|
98
|
+
<img src="https://static.wixstatic.com/media/20b3f7_42a596f7c2244e1f946ebb5fa8a8512f~mv2.png/v1/fill/w_90,h_93,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/Logo_fw.png"
|
|
99
|
+
alt="P4F Logo" class="footer__logo-p4f"/>
|
|
100
|
+
<p class="footer__copyright">© 2026 P4F. All rights reserved.</p>
|
|
101
|
+
</div>
|
|
102
|
+
|
|
103
|
+
<div class="footer__right">
|
|
104
|
+
<div class="footer__social">
|
|
105
|
+
<a href="https://www.linkedin.com/company/protonss4fun" class="footer__social-link" target="_blank"
|
|
106
|
+
rel="noopener noreferrer" aria-label="LinkedIn P4F"
|
|
107
|
+
style="background: linear-gradient(135deg, var(--accent-color), var(--primary-color)); color: white;">
|
|
108
|
+
in
|
|
109
|
+
</a>
|
|
110
|
+
</div>
|
|
111
|
+
|
|
112
|
+
<a href="https://www.protonss4fun.com.br/" class="powered-by" target="_blank" rel="noopener noreferrer">
|
|
113
|
+
Powered by P4F
|
|
114
|
+
</a>
|
|
115
|
+
</div>
|
|
126
116
|
</div>
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
117
|
+
</footer>
|
|
118
|
+
|
|
119
|
+
<script>
|
|
120
|
+
const themeToggle = document.getElementById('themeToggle');
|
|
121
|
+
const themeIcon = document.getElementById('themeIcon');
|
|
122
|
+
const html = document.documentElement;
|
|
123
|
+
|
|
124
|
+
const savedTheme = localStorage.getItem('theme') || 'light';
|
|
125
|
+
html.setAttribute('data-theme', savedTheme);
|
|
126
|
+
updateThemeIcon(savedTheme);
|
|
127
|
+
|
|
128
|
+
themeToggle.addEventListener('click', () => {
|
|
129
|
+
const currentTheme = html.getAttribute('data-theme');
|
|
130
|
+
const newTheme = currentTheme === 'light' ? 'dark' : 'light';
|
|
131
|
+
html.setAttribute('data-theme', newTheme);
|
|
132
|
+
localStorage.setItem('theme', newTheme);
|
|
133
|
+
updateThemeIcon(newTheme);
|
|
134
|
+
location.reload();
|
|
135
|
+
});
|
|
136
|
+
|
|
137
|
+
function updateThemeIcon(theme) {
|
|
138
|
+
themeIcon.textContent = theme === 'light' ? '🌙' : '☀️';
|
|
139
|
+
}
|
|
140
|
+
</script>
|
|
141
|
+
<script
|
|
142
|
+
id="api-reference"
|
|
143
|
+
data-url="/docs/openapi.yaml"
|
|
144
|
+
data-configuration='{
|
|
145
|
+
"theme": "bluePlanet",
|
|
146
|
+
"hideClientButton": true,
|
|
147
|
+
"showSidebar": true,
|
|
148
|
+
"showDeveloperTools": "localhost",
|
|
149
|
+
"showToolbar": false,
|
|
150
|
+
"operationTitleSource": "summary",
|
|
151
|
+
"persistAuth": false,
|
|
152
|
+
"telemetry": true,
|
|
153
|
+
"layout": "modern",
|
|
154
|
+
"isEditable": false,
|
|
155
|
+
"isLoading": false,
|
|
156
|
+
"hideModels": false,
|
|
157
|
+
"documentDownloadType": "both",
|
|
158
|
+
"hideTestRequestButton": false,
|
|
159
|
+
"hideSearch": false,
|
|
160
|
+
"showOperationId": false,
|
|
161
|
+
"hideDarkModeToggle": false,
|
|
162
|
+
"withDefaultFonts": true,
|
|
163
|
+
"defaultOpenAllTags": false,
|
|
164
|
+
"expandAllModelSections": false,
|
|
165
|
+
"expandAllResponses": false,
|
|
166
|
+
"orderSchemaPropertiesBy": "alpha",
|
|
167
|
+
"orderRequiredPropertiesFirst": true
|
|
168
|
+
}'>
|
|
169
|
+
</script>
|
|
170
|
+
<script src="https://cdn.jsdelivr.net/npm/@scalar/api-reference"></script>
|
|
150
171
|
</body>
|
|
151
172
|
|
|
152
|
-
</html>
|
|
173
|
+
</html>
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="pt-BR" data-theme="light">
|
|
3
|
+
|
|
4
|
+
<head>
|
|
5
|
+
<meta charset="UTF-8"/>
|
|
6
|
+
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover"/>
|
|
7
|
+
<meta name="description"
|
|
8
|
+
content="Heimdall API Platform - Microgateway de alta performance para APIs, com orquestração inteligente, roteamento dinâmico e integração entre microsserviços"/>
|
|
9
|
+
<meta name="keywords"
|
|
10
|
+
content="API Gateway, microgateway, orquestração, roteamento dinâmico, Node.js, Redis, OpenSearch, Redoc, microsserviços, REST API, cache, throttling, observabilidade"/>
|
|
11
|
+
<meta name="author" content="P4F - Protonss4Fun"/>
|
|
12
|
+
<meta name="theme-color" content="#003d7a"/>
|
|
13
|
+
<meta property="og:title" content="Heimdall API Platform - API Documentation"/>
|
|
14
|
+
<meta property="og:description"
|
|
15
|
+
content="Microgateway de alta performance com orquestração inteligente e roteamento dinâmico para APIs"/>
|
|
16
|
+
<meta property="og:type" content="website"/>
|
|
17
|
+
<meta property="og:url" content="https://www.protonss4fun.com.br"/>
|
|
18
|
+
<meta property="og:image"
|
|
19
|
+
content="https://static.wixstatic.com/media/20b3f7_42a596f7c2244e1f946ebb5fa8a8512f~mv2.png"/>
|
|
20
|
+
<meta name="twitter:card" content="summary_large_image"/>
|
|
21
|
+
<meta name="twitter:title" content="Heimdall API Platform - API Documentation"/>
|
|
22
|
+
<meta name="twitter:description"
|
|
23
|
+
content="Microgateway de alta performance com orquestração inteligente e roteamento dinâmico para APIs"/>
|
|
24
|
+
<title>Heimdall API Platform - API Documentation | Scalar</title>
|
|
25
|
+
|
|
26
|
+
<link rel="icon" href="https://static.wixstatic.com/media/20b3f7_42a596f7c2244e1f946ebb5fa8a8512f~mv2.png"
|
|
27
|
+
type="image/png"/>
|
|
28
|
+
<link rel="preconnect" href="https://fonts.googleapis.com"/>
|
|
29
|
+
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin/>
|
|
30
|
+
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap"
|
|
31
|
+
rel="stylesheet"/>
|
|
32
|
+
|
|
33
|
+
<style>
|
|
34
|
+
* {
|
|
35
|
+
margin: 0;
|
|
36
|
+
padding: 0;
|
|
37
|
+
box-sizing: border-box;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
body {
|
|
41
|
+
font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.custom-header {
|
|
45
|
+
padding: 1rem 2rem;
|
|
46
|
+
display: flex;
|
|
47
|
+
justify-content: space-between;
|
|
48
|
+
align-items: center;
|
|
49
|
+
background: #b8d430;
|
|
50
|
+
border-bottom: 1px solid rgba(0, 0, 0, 0.1);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
.custom-header img {
|
|
54
|
+
height: 40px;
|
|
55
|
+
width: auto;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
.custom-header nav {
|
|
59
|
+
display: flex;
|
|
60
|
+
gap: 1.5rem;
|
|
61
|
+
align-items: center;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.custom-header a {
|
|
65
|
+
color: #ffffff;
|
|
66
|
+
text-decoration: none;
|
|
67
|
+
font-size: 14px;
|
|
68
|
+
font-weight: 600;
|
|
69
|
+
transition: opacity 0.2s;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
.custom-header a:hover {
|
|
73
|
+
opacity: 0.85;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
.p4f-footer.scalar-app {
|
|
77
|
+
display: none;
|
|
78
|
+
}
|
|
79
|
+
</style>
|
|
80
|
+
</head>
|
|
81
|
+
|
|
82
|
+
<body>
|
|
83
|
+
|
|
84
|
+
<header class="custom-header scalar-app">
|
|
85
|
+
<div style="display: flex; align-items: center; gap: 12px;">
|
|
86
|
+
<img src="https://static.wixstatic.com/media/20b3f7_42a596f7c2244e1f946ebb5fa8a8512f~mv2.png/v1/fill/w_90,h_93,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/Logo_fw.png" alt="P4F Logo">
|
|
87
|
+
<span style="color: #003d7a; font-size: 18px; font-weight: 700;">Heimdall API Platform</span>
|
|
88
|
+
</div>
|
|
89
|
+
<nav>
|
|
90
|
+
<a href="https://www.protonss4fun.com.br" target="_blank" rel="noopener noreferrer">Site</a>
|
|
91
|
+
<a href="https://www.linkedin.com/company/protonss4fun" target="_blank" rel="noopener noreferrer">LinkedIn</a>
|
|
92
|
+
</nav>
|
|
93
|
+
</header>
|
|
94
|
+
|
|
95
|
+
<footer class="p4f-footer scalar-app">
|
|
96
|
+
<div class="footer__container">
|
|
97
|
+
<div class="footer__left">
|
|
98
|
+
<img src="https://static.wixstatic.com/media/20b3f7_42a596f7c2244e1f946ebb5fa8a8512f~mv2.png/v1/fill/w_90,h_93,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/Logo_fw.png"
|
|
99
|
+
alt="P4F Logo" class="footer__logo-p4f"/>
|
|
100
|
+
<p class="footer__copyright">© 2026 P4F. All rights reserved.</p>
|
|
101
|
+
</div>
|
|
102
|
+
|
|
103
|
+
<div class="footer__right">
|
|
104
|
+
<div class="footer__social">
|
|
105
|
+
<a href="https://www.linkedin.com/company/protonss4fun" class="footer__social-link" target="_blank"
|
|
106
|
+
rel="noopener noreferrer" aria-label="LinkedIn P4F"
|
|
107
|
+
style="background: linear-gradient(135deg, var(--accent-color), var(--primary-color)); color: white;">
|
|
108
|
+
in
|
|
109
|
+
</a>
|
|
110
|
+
</div>
|
|
111
|
+
|
|
112
|
+
<a href="https://www.protonss4fun.com.br/" class="powered-by" target="_blank" rel="noopener noreferrer">
|
|
113
|
+
Powered by P4F
|
|
114
|
+
</a>
|
|
115
|
+
</div>
|
|
116
|
+
</div>
|
|
117
|
+
</footer>
|
|
118
|
+
|
|
119
|
+
<script>
|
|
120
|
+
const themeToggle = document.getElementById('themeToggle');
|
|
121
|
+
const themeIcon = document.getElementById('themeIcon');
|
|
122
|
+
const html = document.documentElement;
|
|
123
|
+
|
|
124
|
+
const savedTheme = localStorage.getItem('theme') || 'light';
|
|
125
|
+
html.setAttribute('data-theme', savedTheme);
|
|
126
|
+
updateThemeIcon(savedTheme);
|
|
127
|
+
|
|
128
|
+
themeToggle.addEventListener('click', () => {
|
|
129
|
+
const currentTheme = html.getAttribute('data-theme');
|
|
130
|
+
const newTheme = currentTheme === 'light' ? 'dark' : 'light';
|
|
131
|
+
html.setAttribute('data-theme', newTheme);
|
|
132
|
+
localStorage.setItem('theme', newTheme);
|
|
133
|
+
updateThemeIcon(newTheme);
|
|
134
|
+
location.reload();
|
|
135
|
+
});
|
|
136
|
+
|
|
137
|
+
function updateThemeIcon(theme) {
|
|
138
|
+
themeIcon.textContent = theme === 'light' ? '🌙' : '☀️';
|
|
139
|
+
}
|
|
140
|
+
</script>
|
|
141
|
+
<script
|
|
142
|
+
id="api-reference"
|
|
143
|
+
data-url="/docs/openapi.yaml"
|
|
144
|
+
data-configuration='{
|
|
145
|
+
"theme": "bluePlanet",
|
|
146
|
+
"hideClientButton": true,
|
|
147
|
+
"showSidebar": true,
|
|
148
|
+
"showDeveloperTools": "localhost",
|
|
149
|
+
"showToolbar": false,
|
|
150
|
+
"operationTitleSource": "summary",
|
|
151
|
+
"persistAuth": false,
|
|
152
|
+
"telemetry": true,
|
|
153
|
+
"layout": "modern",
|
|
154
|
+
"isEditable": false,
|
|
155
|
+
"isLoading": false,
|
|
156
|
+
"hideModels": false,
|
|
157
|
+
"documentDownloadType": "both",
|
|
158
|
+
"hideTestRequestButton": false,
|
|
159
|
+
"hideSearch": false,
|
|
160
|
+
"showOperationId": false,
|
|
161
|
+
"hideDarkModeToggle": false,
|
|
162
|
+
"withDefaultFonts": true,
|
|
163
|
+
"defaultOpenAllTags": false,
|
|
164
|
+
"expandAllModelSections": false,
|
|
165
|
+
"expandAllResponses": false,
|
|
166
|
+
"orderSchemaPropertiesBy": "alpha",
|
|
167
|
+
"orderRequiredPropertiesFirst": true
|
|
168
|
+
}'>
|
|
169
|
+
</script>
|
|
170
|
+
<script src="https://cdn.jsdelivr.net/npm/@scalar/api-reference"></script>
|
|
171
|
+
</body>
|
|
172
|
+
|
|
173
|
+
</html>
|