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.
Files changed (50) hide show
  1. package/dist/lib/clients/http-client.js +1 -1
  2. package/dist/lib/commons-cache.js +1 -1
  3. package/dist/lib/commons-const.js +1 -1
  4. package/dist/lib/commons-elasticsearch.js +1 -1
  5. package/dist/lib/commons-errors.js +1 -1
  6. package/dist/lib/commons-opensearch.js +1 -1
  7. package/dist/lib/commons-splunk.js +1 -1
  8. package/dist/lib/commons-util.js +1 -1
  9. package/dist/lib/default-routes-docs.js +1 -1
  10. package/dist/lib/default-routes-pos.js +1 -1
  11. package/dist/lib/default-routes-pre.js +1 -1
  12. package/dist/lib/environment.js +1 -1
  13. package/dist/lib/factory/api-gateway.js +1 -1
  14. package/dist/lib/factory/client-factory.js +1 -1
  15. package/dist/lib/factory/function-factory.js +1 -1
  16. package/dist/lib/factory/operation-flow-factory.js +1 -1
  17. package/dist/lib/factory/server-factory.js +1 -1
  18. package/dist/lib/factory/transformation-function-factory.js +1 -1
  19. package/dist/lib/handle-route.js +1 -1
  20. package/dist/lib/index.js +1 -1
  21. package/dist/lib/jwt-util.js +1 -1
  22. package/dist/lib/license/license-service.js +1 -1
  23. package/dist/lib/models/base-context.js +1 -1
  24. package/dist/lib/models/elastic-index-data.js +1 -1
  25. package/dist/lib/models/flow-context.js +1 -1
  26. package/dist/lib/models/flow-indexed.js +1 -1
  27. package/dist/lib/models/operation-function-indexed.js +1 -1
  28. package/dist/lib/models/operation-function-transformation-indexed.js +1 -1
  29. package/dist/lib/models/operation-http-indexed.js +1 -1
  30. package/dist/lib/models/operation-mock-indexed.js +1 -1
  31. package/dist/lib/models/route-context.js +1 -1
  32. package/dist/lib/models/security-route.js +1 -1
  33. package/dist/lib/models/service-context.js +1 -1
  34. package/dist/lib/models/service-group.js +1 -1
  35. package/dist/lib/models/service-route.js +1 -1
  36. package/dist/lib/models/splunk-data.js +1 -1
  37. package/dist/lib/operations/abstract-operation.js +1 -1
  38. package/dist/lib/operations/function.js +1 -1
  39. package/dist/lib/operations/http.js +1 -1
  40. package/dist/lib/operations/mock.js +1 -1
  41. package/dist/lib/operations/monitor-check.js +1 -1
  42. package/dist/lib/orchestration-flow.js +1 -1
  43. package/dist/lib/router.js +1 -1
  44. package/dist/lib/security-validation.js +1 -1
  45. package/dist/lib/services/server.js +1 -1
  46. package/dist/lib/services/template-monitorcheck-route.js +1 -1
  47. package/dist/public/redoc.html +153 -132
  48. package/dist/public/scalardoc.html +173 -0
  49. package/dist/public/swagger.html +512 -73
  50. package/package.json +2 -1
@@ -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
- <meta charset="UTF-8" />
6
- <meta name="viewport" content="width=device-width, initial-scale=1" />
7
- <title>Documentação da API | Pay2B</title>
8
-
9
- <link rel="icon" href="https://pay2b.com.br/favicon.ico" type="image/x-icon" />
10
- <script src="https://cdn.redoc.ly/redoc/latest/bundles/redoc.standalone.js"></script>
11
-
12
- <style>
13
- html,
14
- body {
15
- margin: 0;
16
- padding: 0;
17
- height: 100%;
18
- font-family: "Segoe UI", Tahoma, sans-serif;
19
- background-color: #f9fafc;
20
- color: #333;
21
- }
22
-
23
- .navbar {
24
- background-color: #1f2d3d;
25
- color: #fff;
26
- padding: 12px 24px;
27
- display: flex;
28
- align-items: center;
29
- justify-content: space-between;
30
- }
31
-
32
- .navbar__logo {
33
- display: flex;
34
- align-items: center;
35
- }
36
-
37
- .navbar__logo img {
38
- height: 36px;
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
- .footer__container {
60
- display: flex;
61
- align-items: center;
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
- .footer__left {
67
- display: flex;
68
- align-items: center;
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
- .footer__logo {
72
- height: 28px;
73
- }
53
+ .custom-header img {
54
+ height: 40px;
55
+ width: auto;
56
+ }
74
57
 
75
- .footer__right {
76
- display: flex;
77
- flex-wrap: wrap;
78
- align-items: center;
79
- gap: 12px;
80
- font-weight: 400;
81
- }
58
+ .custom-header nav {
59
+ display: flex;
60
+ gap: 1.5rem;
61
+ align-items: center;
62
+ }
82
63
 
83
- .footer__right a {
84
- color: #fff;
85
- text-decoration: none;
86
- transition: opacity 0.2s;
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
- .footer__right a:hover {
90
- opacity: 0.75;
91
- }
72
+ .custom-header a:hover {
73
+ opacity: 0.85;
74
+ }
92
75
 
93
- .sep {
94
- color: #999;
95
- }
96
- </style>
76
+ .p4f-footer.scalar-app {
77
+ display: none;
78
+ }
79
+ </style>
97
80
  </head>
98
81
 
99
82
  <body>
100
83
 
101
- <!-- Navbar -->
102
- <div class="navbar">
103
- <div class="navbar__logo">
104
- <img src="https://cdn-email.s3.us-east-1.amazonaws.com/images/pay2b-logo-header.png" alt="Pay2B Logo" />
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
- </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>
108
94
 
109
- <!-- ReDoc container -->
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
- <div class="footer__left">
116
- <img src="https://cdn-email.s3.us-east-1.amazonaws.com/images/pay2b-logo-header.png" alt="Pay2B"
117
- class="footer__logo" />
118
- </div>
119
- <div class="footer__right">
120
- <a href="https://www.linkedin.com/company/pay2b" target="_blank" rel="noopener noreferrer">LinkedIn</a>
121
- <span class="sep">|</span>
122
- <a href="https://pay2b.com.br/termos" target="_blank">Termos e Condições</a>
123
- <span class="sep">|</span>
124
- <a href="https://www.pay2b.com.br/politica-de-privacidade" target="_blank">Política de Privacidade</a>
125
- </div>
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
- </footer>
128
-
129
- <!-- Redoc script -->
130
- <script>
131
- Redoc.init('/docs/openapi.yaml', {
132
- theme: {
133
- colors: {
134
- primary: {
135
- main: '#5B2C6F'
136
- }
137
- },
138
- typography: {
139
- fontFamily: 'Segoe UI, Tahoma, sans-serif',
140
- headings: {
141
- fontWeight: 'bold'
142
- }
143
- }
144
- },
145
- scrollYOffset: 60,
146
- hideDownloadButton: false,
147
- expandResponses: '200,201'
148
- }, document.getElementById('redoc-container'));
149
- </script>
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>