@orchesty/connector-loki 1.0.0
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/CHANGELOG.md +7 -0
- package/LICENSE +190 -0
- package/coverage/clover.xml +106 -0
- package/coverage/coverage-final.json +4 -0
- package/coverage/lcov-report/base.css +224 -0
- package/coverage/lcov-report/block-navigation.js +87 -0
- package/coverage/lcov-report/favicon.png +0 -0
- package/coverage/lcov-report/index.html +146 -0
- package/coverage/lcov-report/prettify.css +1 -0
- package/coverage/lcov-report/prettify.js +2 -0
- package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/coverage/lcov-report/sorter.js +210 -0
- package/coverage/lcov-report/src/Batch/LokiGetQueryListBatch.ts.html +799 -0
- package/coverage/lcov-report/src/Batch/index.html +116 -0
- package/coverage/lcov-report/src/LokiApplication.ts.html +364 -0
- package/coverage/lcov-report/src/index.html +116 -0
- package/coverage/lcov-report/test/dataProvider.ts.html +139 -0
- package/coverage/lcov-report/test/index.html +116 -0
- package/coverage/lcov.info +203 -0
- package/dist/Batch/LokiGetQueryListBatch.d.ts +129 -0
- package/dist/Batch/LokiGetQueryListBatch.js +68 -0
- package/dist/LokiApplication.d.ts +21 -0
- package/dist/LokiApplication.js +98 -0
- package/dist/package.json +22 -0
- package/jest.config.js +13 -0
- package/package.json +22 -0
- package/src/Batch/LokiGetQueryListBatch.ts +238 -0
- package/src/Batch/__tests__/Data/LokiGetQueryListBatch/input.json +8 -0
- package/src/Batch/__tests__/Data/LokiGetQueryListBatch/mock.json +259 -0
- package/src/Batch/__tests__/Data/LokiGetQueryListBatch/output.json +43 -0
- package/src/Batch/__tests__/LokiGetQueryListBatch.ts +17 -0
- package/src/LokiApplication.ts +93 -0
- package/test/dataProvider.ts +18 -0
- package/tsconfig.json +8 -0
- package/tsconfig.prod.json +13 -0
- package/tsconfig.prod.tsbuildinfo +1 -0
|
@@ -0,0 +1,259 @@
|
|
|
1
|
+
{
|
|
2
|
+
"http": "GET http://127.0.0.1:3100/loki/api/v1/query_range?query=%7Bcontainer%3D%22test-container%22%7D",
|
|
3
|
+
"code": 200,
|
|
4
|
+
"body": {
|
|
5
|
+
"status": "success",
|
|
6
|
+
"data": {
|
|
7
|
+
"resultType": "streams",
|
|
8
|
+
"result": [
|
|
9
|
+
{
|
|
10
|
+
"stream": {
|
|
11
|
+
"container": "test-container",
|
|
12
|
+
"detected_level": "unknown",
|
|
13
|
+
"service_name": "test-container"
|
|
14
|
+
},
|
|
15
|
+
"values": [
|
|
16
|
+
[
|
|
17
|
+
"1763718000105421097",
|
|
18
|
+
"{\"level\":50,\"time\":1763718000103,\"pid\":953,\"hostname\":\"3975fa509fa3\",\"previousNodeId\":\"692013fc52d8b25b8607189c\",\"nodeId\":\"692013fc52d8b25b8607189b\",\"correlationId\":\"f814b1a4-e50a-4799-b4e0-e82d3c210eed\",\"topologyId\":\"692013fc52d8b25b86071897\",\"processId\":\"2a4e871b-cdcb-45cc-bc4b-c5cca17ed72c\",\"parentId\":\"35264ef5-90ef-4729-bfd2-342739d3eb18\",\"sequenceId\":\"0\",\"userId\":\"orchesty\",\"timestamp\":1763718000103,\"service\":\"sdk\",\"levelName\":\"error\",\"message\":\"Request process failed. Message: [Error occurred: Service with name [hbpf.custom-node.event-status-filter-messageInTrash] does not exist!]\"}"
|
|
19
|
+
],
|
|
20
|
+
[
|
|
21
|
+
"1763718000082354870",
|
|
22
|
+
"{\"level\":50,\"time\":1763718000080,\"pid\":953,\"hostname\":\"3975fa509fa3\",\"previousNodeId\":\"692013fc52d8b25b8607189c\",\"nodeId\":\"692013fc52d8b25b8607189a\",\"correlationId\":\"f814b1a4-e50a-4799-b4e0-e82d3c210eed\",\"topologyId\":\"692013fc52d8b25b86071897\",\"processId\":\"178876cb-8de8-4a20-b806-2819dff03a23\",\"parentId\":\"35264ef5-90ef-4729-bfd2-342739d3eb18\",\"sequenceId\":\"0\",\"userId\":\"orchesty\",\"timestamp\":1763718000080,\"service\":\"sdk\",\"levelName\":\"error\",\"message\":\"Request process failed. Message: [Error occurred: Service with name [hbpf.custom-node.event-status-filter-limitOverflow] does not exist!]\"}"
|
|
23
|
+
],
|
|
24
|
+
[
|
|
25
|
+
"1763718000075690371",
|
|
26
|
+
"{\"level\":50,\"time\":1763718000073,\"pid\":953,\"hostname\":\"3975fa509fa3\",\"previousNodeId\":\"692013fc52d8b25b8607189c\",\"nodeId\":\"692013fc52d8b25b86071899\",\"correlationId\":\"f814b1a4-e50a-4799-b4e0-e82d3c210eed\",\"topologyId\":\"692013fc52d8b25b86071897\",\"processId\":\"08b02c86-ca3e-44a1-ae6a-7aa8adee8e64\",\"parentId\":\"35264ef5-90ef-4729-bfd2-342739d3eb18\",\"sequenceId\":\"0\",\"userId\":\"orchesty\",\"timestamp\":1763718000073,\"service\":\"sdk\",\"levelName\":\"error\",\"message\":\"Request process failed. Message: [Error occurred: Service with name [hbpf.custom-node.event-status-filter-processFailed] does not exist!]\"}"
|
|
27
|
+
]
|
|
28
|
+
]
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"stream": {
|
|
32
|
+
"container": "test-container",
|
|
33
|
+
"detected_level": "info",
|
|
34
|
+
"service_name": "test-container"
|
|
35
|
+
},
|
|
36
|
+
"values": [
|
|
37
|
+
[
|
|
38
|
+
"1763716743460138650",
|
|
39
|
+
"{\"level\":30,\"time\":1763716743459,\"pid\":953,\"hostname\":\"3975fa509fa3\",\"previousNodeId\":\"692015f2711ce3b17d0b72f2\",\"nodeId\":\"692015f2711ce3b17d0b72f3\",\"correlationId\":\"56d59e60-4de9-466e-a239-62849f58174f\",\"topologyId\":\"692015dc70454e872a0bc373\",\"processId\":\"a3a8f55a-4931-44da-8fc1-db9f3422ba0a\",\"sequenceId\":\"0\",\"userId\":\"orchesty\",\"applications\":\"loki\",\"timestamp\":1763716743459,\"service\":\"sdk\",\"levelName\":\"info\",\"message\":\"Request successfully processed. Message: [Processed successfully.]\"}"
|
|
40
|
+
],
|
|
41
|
+
[
|
|
42
|
+
"1763716742150279721",
|
|
43
|
+
"{\"level\":30,\"time\":1763716742142,\"pid\":953,\"hostname\":\"3975fa509fa3\",\"previousNodeId\":\"692015f2711ce3b17d0b72f2\",\"nodeId\":\"692015f2711ce3b17d0b72f3\",\"correlationId\":\"56d59e60-4de9-466e-a239-62849f58174f\",\"topologyId\":\"692015dc70454e872a0bc373\",\"processId\":\"a3a8f55a-4931-44da-8fc1-db9f3422ba0a\",\"sequenceId\":\"0\",\"userId\":\"orchesty\",\"applications\":\"loki\",\"timestamp\":1763716742142,\"service\":\"sdk\",\"levelName\":\"info\",\"message\":\"Request successfully processed. Message: [Message will be used as a iterator with cursor [1763715600133392400]. Data will be send to follower(s).]\"}"
|
|
44
|
+
],
|
|
45
|
+
[
|
|
46
|
+
"1763716651483968589",
|
|
47
|
+
"{\"level\":30,\"time\":1763716651483,\"pid\":953,\"hostname\":\"3975fa509fa3\",\"previousNodeId\":\"692015f2711ce3b17d0b72f2\",\"nodeId\":\"692015f2711ce3b17d0b72f3\",\"correlationId\":\"d7dfb793-000a-4d72-a385-3f6e2f788ab7\",\"topologyId\":\"692015dc70454e872a0bc373\",\"processId\":\"dcb634b6-1f2b-467d-93a9-618a42c237b1\",\"sequenceId\":\"0\",\"userId\":\"orchesty\",\"applications\":\"loki\",\"timestamp\":1763716651483,\"service\":\"sdk\",\"levelName\":\"info\",\"message\":\"Request successfully processed. Message: [Processed successfully.]\"}"
|
|
48
|
+
]
|
|
49
|
+
]
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"stream": {
|
|
53
|
+
"container": "test-container",
|
|
54
|
+
"detected_level": "debug",
|
|
55
|
+
"service_name": "test-container"
|
|
56
|
+
},
|
|
57
|
+
"values": [
|
|
58
|
+
[
|
|
59
|
+
"1763718000105457435",
|
|
60
|
+
"{\"level\":20,\"time\":1763718000104,\"pid\":953,\"hostname\":\"3975fa509fa3\",\"previousNodeId\":\"692013fc52d8b25b8607189c\",\"nodeId\":\"692013fc52d8b25b8607189b\",\"correlationId\":\"f814b1a4-e50a-4799-b4e0-e82d3c210eed\",\"topologyId\":\"692013fc52d8b25b86071897\",\"processId\":\"2a4e871b-cdcb-45cc-bc4b-c5cca17ed72c\",\"parentId\":\"35264ef5-90ef-4729-bfd2-342739d3eb18\",\"sequenceId\":\"0\",\"userId\":\"orchesty\",\"timestamp\":1763718000104,\"service\":\"sdk\",\"levelName\":\"debug\",\"message\":\"Total request duration: 1ms for endpoint POST[/custom-node/event-status-filter-messageInTrash/process]\"}"
|
|
61
|
+
],
|
|
62
|
+
[
|
|
63
|
+
"1763718000102718589",
|
|
64
|
+
"{\"level\":20,\"time\":1763718000102,\"pid\":953,\"hostname\":\"3975fa509fa3\",\"previousNodeId\":\"692013fc52d8b25b8607189c\",\"nodeId\":\"692013fc52d8b25b8607189b\",\"correlationId\":\"f814b1a4-e50a-4799-b4e0-e82d3c210eed\",\"topologyId\":\"692013fc52d8b25b86071897\",\"processId\":\"2a4e871b-cdcb-45cc-bc4b-c5cca17ed72c\",\"parentId\":\"35264ef5-90ef-4729-bfd2-342739d3eb18\",\"sequenceId\":\"0\",\"userId\":\"orchesty\",\"reqHeaders\":{\"host\":\"worker:8080\",\"user-agent\":\"Go-http-client/1.1\",\"content-length\":\"1011\",\"accept-encoding\":\"gzip\"},\"reqBody\":{\"headers\":{\"applications\":\"\",\"content-type\":\"application/json\",\"correlation-id\":\"f814b1a4-e50a-4799-b4e0-e82d3c210eed\",\"node-id\":\"692013fc52d8b25b8607189b\",\"parent-id\":\"35264ef5-90ef-4729-bfd2-342739d3eb18\",\"previous-node-id\":\"692013fc52d8b25b8607189c\",\"process-id\":\"2a4e871b-cdcb-45cc-bc4b-c5cca17ed72c\",\"process-started\":1763718000047,\"system-event\":\"true\",\"topology-id\":\"692013fc52d8b25b86071897\",\"user\":\"orchesty\",\"worker-followers\":\"[]\"},\"body\":\"{\\\"type\\\":\\\"messageInTrash\\\",\\\"data\\\":{\\\"topologyName\\\":\\\"oauth2-refresh-tokens\\\",\\\"topologyVersion\\\":0,\\\"applications\\\":\\\"\\\",\\\"topologyId\\\":\\\"692013fa52d8b25b86071892\\\",\\\"resultMessage\\\":\\\"result status [400], message: Error occurred: Service with name [hbpf.batch.get-application-for-refresh] does not exist!\\\",\\\"correlationId\\\":\\\"4a83b1fc-5de7-475f-b4cf-8dec88fcbaeb\\\",\\\"processId\\\":\\\"b7cd93cf-03e6-4a0e-a2bb-a7b06b26346f\\\",\\\"user\\\":\\\"orchesty\\\",\\\"timestampMs\\\":1763718000018},\\\"contents\\\":[{\\\"trashId\\\":\\\"69203370ecd9fd9edfd75929\\\",\\\"body\\\":\\\"{}\\\\n\\\"}]}\"},\"timestamp\":1763718000102,\"service\":\"sdk\",\"levelName\":\"debug\",\"message\":\"Incoming request: Method[POST] Url[/custom-node/event-status-filter-messageInTrash/process]\"}"
|
|
65
|
+
],
|
|
66
|
+
[
|
|
67
|
+
"1763718000082385057",
|
|
68
|
+
"{\"level\":20,\"time\":1763718000081,\"pid\":953,\"hostname\":\"3975fa509fa3\",\"previousNodeId\":\"692013fc52d8b25b8607189c\",\"nodeId\":\"692013fc52d8b25b8607189a\",\"correlationId\":\"f814b1a4-e50a-4799-b4e0-e82d3c210eed\",\"topologyId\":\"692013fc52d8b25b86071897\",\"processId\":\"178876cb-8de8-4a20-b806-2819dff03a23\",\"parentId\":\"35264ef5-90ef-4729-bfd2-342739d3eb18\",\"sequenceId\":\"0\",\"userId\":\"orchesty\",\"timestamp\":1763718000081,\"service\":\"sdk\",\"levelName\":\"debug\",\"message\":\"Total request duration: 2ms for endpoint POST[/custom-node/event-status-filter-limitOverflow/process]\"}"
|
|
69
|
+
]
|
|
70
|
+
]
|
|
71
|
+
}
|
|
72
|
+
],
|
|
73
|
+
"stats": {
|
|
74
|
+
"summary": {
|
|
75
|
+
"bytesProcessedPerSecond": 9164713,
|
|
76
|
+
"linesProcessedPerSecond": 6777,
|
|
77
|
+
"totalBytesProcessed": 164974,
|
|
78
|
+
"totalLinesProcessed": 122,
|
|
79
|
+
"execTime": 0.018001,
|
|
80
|
+
"queueTime": 0.000182,
|
|
81
|
+
"subqueries": 0,
|
|
82
|
+
"totalEntriesReturned": 100,
|
|
83
|
+
"splits": 1,
|
|
84
|
+
"shards": 1,
|
|
85
|
+
"totalPostFilterLines": 122,
|
|
86
|
+
"totalStructuredMetadataBytesProcessed": 3000
|
|
87
|
+
},
|
|
88
|
+
"querier": {
|
|
89
|
+
"store": {
|
|
90
|
+
"totalChunksRef": 0,
|
|
91
|
+
"totalChunksDownloaded": 0,
|
|
92
|
+
"chunksDownloadTime": 0,
|
|
93
|
+
"queryReferencedStructuredMetadata": false,
|
|
94
|
+
"queryUsedV2Engine": false,
|
|
95
|
+
"chunk": {
|
|
96
|
+
"headChunkBytes": 0,
|
|
97
|
+
"headChunkLines": 0,
|
|
98
|
+
"decompressedBytes": 0,
|
|
99
|
+
"decompressedLines": 0,
|
|
100
|
+
"compressedBytes": 0,
|
|
101
|
+
"totalDuplicates": 0,
|
|
102
|
+
"postFilterLines": 0,
|
|
103
|
+
"headChunkStructuredMetadataBytes": 0,
|
|
104
|
+
"decompressedStructuredMetadataBytes": 0
|
|
105
|
+
},
|
|
106
|
+
"chunkRefsFetchTime": 1375760,
|
|
107
|
+
"congestionControlLatency": 0,
|
|
108
|
+
"pipelineWrapperFilteredLines": 0,
|
|
109
|
+
"dataobj": {
|
|
110
|
+
"prePredicateDecompressedRows": 0,
|
|
111
|
+
"prePredicateDecompressedBytes": 0,
|
|
112
|
+
"prePredicateDecompressedStructuredMetadataBytes": 0,
|
|
113
|
+
"postPredicateRows": 0,
|
|
114
|
+
"postPredicateDecompressedBytes": 0,
|
|
115
|
+
"postPredicateStructuredMetadataBytes": 0,
|
|
116
|
+
"postFilterRows": 0,
|
|
117
|
+
"pagesScanned": 0,
|
|
118
|
+
"pagesDownloaded": 0,
|
|
119
|
+
"pagesDownloadedBytes": 0,
|
|
120
|
+
"pageBatches": 0,
|
|
121
|
+
"totalRowsAvailable": 0,
|
|
122
|
+
"totalPageDownloadTime": 0
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
},
|
|
126
|
+
"ingester": {
|
|
127
|
+
"totalReached": 1,
|
|
128
|
+
"totalChunksMatched": 2,
|
|
129
|
+
"totalBatches": 1,
|
|
130
|
+
"totalLinesSent": 100,
|
|
131
|
+
"store": {
|
|
132
|
+
"totalChunksRef": 0,
|
|
133
|
+
"totalChunksDownloaded": 0,
|
|
134
|
+
"chunksDownloadTime": 0,
|
|
135
|
+
"queryReferencedStructuredMetadata": false,
|
|
136
|
+
"queryUsedV2Engine": false,
|
|
137
|
+
"chunk": {
|
|
138
|
+
"headChunkBytes": 27194,
|
|
139
|
+
"headChunkLines": 30,
|
|
140
|
+
"decompressedBytes": 137780,
|
|
141
|
+
"decompressedLines": 92,
|
|
142
|
+
"compressedBytes": 65197,
|
|
143
|
+
"totalDuplicates": 0,
|
|
144
|
+
"postFilterLines": 122,
|
|
145
|
+
"headChunkStructuredMetadataBytes": 240,
|
|
146
|
+
"decompressedStructuredMetadataBytes": 2760
|
|
147
|
+
},
|
|
148
|
+
"chunkRefsFetchTime": 0,
|
|
149
|
+
"congestionControlLatency": 0,
|
|
150
|
+
"pipelineWrapperFilteredLines": 0,
|
|
151
|
+
"dataobj": {
|
|
152
|
+
"prePredicateDecompressedRows": 0,
|
|
153
|
+
"prePredicateDecompressedBytes": 0,
|
|
154
|
+
"prePredicateDecompressedStructuredMetadataBytes": 0,
|
|
155
|
+
"postPredicateRows": 0,
|
|
156
|
+
"postPredicateDecompressedBytes": 0,
|
|
157
|
+
"postPredicateStructuredMetadataBytes": 0,
|
|
158
|
+
"postFilterRows": 0,
|
|
159
|
+
"pagesScanned": 0,
|
|
160
|
+
"pagesDownloaded": 0,
|
|
161
|
+
"pagesDownloadedBytes": 0,
|
|
162
|
+
"pageBatches": 0,
|
|
163
|
+
"totalRowsAvailable": 0,
|
|
164
|
+
"totalPageDownloadTime": 0
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
},
|
|
168
|
+
"cache": {
|
|
169
|
+
"chunk": {
|
|
170
|
+
"entriesFound": 0,
|
|
171
|
+
"entriesRequested": 0,
|
|
172
|
+
"entriesStored": 0,
|
|
173
|
+
"bytesReceived": 0,
|
|
174
|
+
"bytesSent": 0,
|
|
175
|
+
"requests": 0,
|
|
176
|
+
"downloadTime": 0,
|
|
177
|
+
"queryLengthServed": 0
|
|
178
|
+
},
|
|
179
|
+
"index": {
|
|
180
|
+
"entriesFound": 0,
|
|
181
|
+
"entriesRequested": 0,
|
|
182
|
+
"entriesStored": 0,
|
|
183
|
+
"bytesReceived": 0,
|
|
184
|
+
"bytesSent": 0,
|
|
185
|
+
"requests": 0,
|
|
186
|
+
"downloadTime": 0,
|
|
187
|
+
"queryLengthServed": 0
|
|
188
|
+
},
|
|
189
|
+
"result": {
|
|
190
|
+
"entriesFound": 0,
|
|
191
|
+
"entriesRequested": 0,
|
|
192
|
+
"entriesStored": 0,
|
|
193
|
+
"bytesReceived": 0,
|
|
194
|
+
"bytesSent": 0,
|
|
195
|
+
"requests": 0,
|
|
196
|
+
"downloadTime": 0,
|
|
197
|
+
"queryLengthServed": 0
|
|
198
|
+
},
|
|
199
|
+
"statsResult": {
|
|
200
|
+
"entriesFound": 0,
|
|
201
|
+
"entriesRequested": 0,
|
|
202
|
+
"entriesStored": 0,
|
|
203
|
+
"bytesReceived": 0,
|
|
204
|
+
"bytesSent": 0,
|
|
205
|
+
"requests": 0,
|
|
206
|
+
"downloadTime": 0,
|
|
207
|
+
"queryLengthServed": 0
|
|
208
|
+
},
|
|
209
|
+
"volumeResult": {
|
|
210
|
+
"entriesFound": 0,
|
|
211
|
+
"entriesRequested": 0,
|
|
212
|
+
"entriesStored": 0,
|
|
213
|
+
"bytesReceived": 0,
|
|
214
|
+
"bytesSent": 0,
|
|
215
|
+
"requests": 0,
|
|
216
|
+
"downloadTime": 0,
|
|
217
|
+
"queryLengthServed": 0
|
|
218
|
+
},
|
|
219
|
+
"seriesResult": {
|
|
220
|
+
"entriesFound": 0,
|
|
221
|
+
"entriesRequested": 0,
|
|
222
|
+
"entriesStored": 0,
|
|
223
|
+
"bytesReceived": 0,
|
|
224
|
+
"bytesSent": 0,
|
|
225
|
+
"requests": 0,
|
|
226
|
+
"downloadTime": 0,
|
|
227
|
+
"queryLengthServed": 0
|
|
228
|
+
},
|
|
229
|
+
"labelResult": {
|
|
230
|
+
"entriesFound": 0,
|
|
231
|
+
"entriesRequested": 0,
|
|
232
|
+
"entriesStored": 0,
|
|
233
|
+
"bytesReceived": 0,
|
|
234
|
+
"bytesSent": 0,
|
|
235
|
+
"requests": 0,
|
|
236
|
+
"downloadTime": 0,
|
|
237
|
+
"queryLengthServed": 0
|
|
238
|
+
},
|
|
239
|
+
"instantMetricResult": {
|
|
240
|
+
"entriesFound": 0,
|
|
241
|
+
"entriesRequested": 0,
|
|
242
|
+
"entriesStored": 0,
|
|
243
|
+
"bytesReceived": 0,
|
|
244
|
+
"bytesSent": 0,
|
|
245
|
+
"requests": 0,
|
|
246
|
+
"downloadTime": 0,
|
|
247
|
+
"queryLengthServed": 0
|
|
248
|
+
}
|
|
249
|
+
},
|
|
250
|
+
"index": {
|
|
251
|
+
"totalChunks": 0,
|
|
252
|
+
"postFilterChunks": 0,
|
|
253
|
+
"shardsDuration": 0,
|
|
254
|
+
"usedBloomFilters": false
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
{
|
|
2
|
+
"headers": {
|
|
3
|
+
"user": "TestUser"
|
|
4
|
+
},
|
|
5
|
+
"data": [
|
|
6
|
+
{
|
|
7
|
+
"body": "{\"level\":20,\"time\":1763718000104,\"pid\":953,\"hostname\":\"3975fa509fa3\",\"previousNodeId\":\"692013fc52d8b25b8607189c\",\"nodeId\":\"692013fc52d8b25b8607189b\",\"correlationId\":\"f814b1a4-e50a-4799-b4e0-e82d3c210eed\",\"topologyId\":\"692013fc52d8b25b86071897\",\"processId\":\"2a4e871b-cdcb-45cc-bc4b-c5cca17ed72c\",\"parentId\":\"35264ef5-90ef-4729-bfd2-342739d3eb18\",\"sequenceId\":\"0\",\"userId\":\"orchesty\",\"timestamp\":1763718000104,\"service\":\"sdk\",\"levelName\":\"debug\",\"message\":\"Total request duration: 1ms for endpoint POST[/custom-node/event-status-filter-messageInTrash/process]\"}",
|
|
8
|
+
"headers": {}
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"body": "{\"level\":50,\"time\":1763718000103,\"pid\":953,\"hostname\":\"3975fa509fa3\",\"previousNodeId\":\"692013fc52d8b25b8607189c\",\"nodeId\":\"692013fc52d8b25b8607189b\",\"correlationId\":\"f814b1a4-e50a-4799-b4e0-e82d3c210eed\",\"topologyId\":\"692013fc52d8b25b86071897\",\"processId\":\"2a4e871b-cdcb-45cc-bc4b-c5cca17ed72c\",\"parentId\":\"35264ef5-90ef-4729-bfd2-342739d3eb18\",\"sequenceId\":\"0\",\"userId\":\"orchesty\",\"timestamp\":1763718000103,\"service\":\"sdk\",\"levelName\":\"error\",\"message\":\"Request process failed. Message: [Error occurred: Service with name [hbpf.custom-node.event-status-filter-messageInTrash] does not exist!]\"}",
|
|
12
|
+
"headers": {}
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"body": "{\"level\":20,\"time\":1763718000102,\"pid\":953,\"hostname\":\"3975fa509fa3\",\"previousNodeId\":\"692013fc52d8b25b8607189c\",\"nodeId\":\"692013fc52d8b25b8607189b\",\"correlationId\":\"f814b1a4-e50a-4799-b4e0-e82d3c210eed\",\"topologyId\":\"692013fc52d8b25b86071897\",\"processId\":\"2a4e871b-cdcb-45cc-bc4b-c5cca17ed72c\",\"parentId\":\"35264ef5-90ef-4729-bfd2-342739d3eb18\",\"sequenceId\":\"0\",\"userId\":\"orchesty\",\"reqHeaders\":{\"host\":\"worker:8080\",\"user-agent\":\"Go-http-client/1.1\",\"content-length\":\"1011\",\"accept-encoding\":\"gzip\"},\"reqBody\":{\"headers\":{\"applications\":\"\",\"content-type\":\"application/json\",\"correlation-id\":\"f814b1a4-e50a-4799-b4e0-e82d3c210eed\",\"node-id\":\"692013fc52d8b25b8607189b\",\"parent-id\":\"35264ef5-90ef-4729-bfd2-342739d3eb18\",\"previous-node-id\":\"692013fc52d8b25b8607189c\",\"process-id\":\"2a4e871b-cdcb-45cc-bc4b-c5cca17ed72c\",\"process-started\":1763718000047,\"system-event\":\"true\",\"topology-id\":\"692013fc52d8b25b86071897\",\"user\":\"orchesty\",\"worker-followers\":\"[]\"},\"body\":\"{\\\"type\\\":\\\"messageInTrash\\\",\\\"data\\\":{\\\"topologyName\\\":\\\"oauth2-refresh-tokens\\\",\\\"topologyVersion\\\":0,\\\"applications\\\":\\\"\\\",\\\"topologyId\\\":\\\"692013fa52d8b25b86071892\\\",\\\"resultMessage\\\":\\\"result status [400], message: Error occurred: Service with name [hbpf.batch.get-application-for-refresh] does not exist!\\\",\\\"correlationId\\\":\\\"4a83b1fc-5de7-475f-b4cf-8dec88fcbaeb\\\",\\\"processId\\\":\\\"b7cd93cf-03e6-4a0e-a2bb-a7b06b26346f\\\",\\\"user\\\":\\\"orchesty\\\",\\\"timestampMs\\\":1763718000018},\\\"contents\\\":[{\\\"trashId\\\":\\\"69203370ecd9fd9edfd75929\\\",\\\"body\\\":\\\"{}\\\\n\\\"}]}\"},\"timestamp\":1763718000102,\"service\":\"sdk\",\"levelName\":\"debug\",\"message\":\"Incoming request: Method[POST] Url[/custom-node/event-status-filter-messageInTrash/process]\"}",
|
|
16
|
+
"headers": {}
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"body": "{\"level\":20,\"time\":1763718000081,\"pid\":953,\"hostname\":\"3975fa509fa3\",\"previousNodeId\":\"692013fc52d8b25b8607189c\",\"nodeId\":\"692013fc52d8b25b8607189a\",\"correlationId\":\"f814b1a4-e50a-4799-b4e0-e82d3c210eed\",\"topologyId\":\"692013fc52d8b25b86071897\",\"processId\":\"178876cb-8de8-4a20-b806-2819dff03a23\",\"parentId\":\"35264ef5-90ef-4729-bfd2-342739d3eb18\",\"sequenceId\":\"0\",\"userId\":\"orchesty\",\"timestamp\":1763718000081,\"service\":\"sdk\",\"levelName\":\"debug\",\"message\":\"Total request duration: 2ms for endpoint POST[/custom-node/event-status-filter-limitOverflow/process]\"}",
|
|
20
|
+
"headers": {}
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"body": "{\"level\":50,\"time\":1763718000080,\"pid\":953,\"hostname\":\"3975fa509fa3\",\"previousNodeId\":\"692013fc52d8b25b8607189c\",\"nodeId\":\"692013fc52d8b25b8607189a\",\"correlationId\":\"f814b1a4-e50a-4799-b4e0-e82d3c210eed\",\"topologyId\":\"692013fc52d8b25b86071897\",\"processId\":\"178876cb-8de8-4a20-b806-2819dff03a23\",\"parentId\":\"35264ef5-90ef-4729-bfd2-342739d3eb18\",\"sequenceId\":\"0\",\"userId\":\"orchesty\",\"timestamp\":1763718000080,\"service\":\"sdk\",\"levelName\":\"error\",\"message\":\"Request process failed. Message: [Error occurred: Service with name [hbpf.custom-node.event-status-filter-limitOverflow] does not exist!]\"}",
|
|
24
|
+
"headers": {}
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"body": "{\"level\":50,\"time\":1763718000073,\"pid\":953,\"hostname\":\"3975fa509fa3\",\"previousNodeId\":\"692013fc52d8b25b8607189c\",\"nodeId\":\"692013fc52d8b25b86071899\",\"correlationId\":\"f814b1a4-e50a-4799-b4e0-e82d3c210eed\",\"topologyId\":\"692013fc52d8b25b86071897\",\"processId\":\"08b02c86-ca3e-44a1-ae6a-7aa8adee8e64\",\"parentId\":\"35264ef5-90ef-4729-bfd2-342739d3eb18\",\"sequenceId\":\"0\",\"userId\":\"orchesty\",\"timestamp\":1763718000073,\"service\":\"sdk\",\"levelName\":\"error\",\"message\":\"Request process failed. Message: [Error occurred: Service with name [hbpf.custom-node.event-status-filter-processFailed] does not exist!]\"}",
|
|
28
|
+
"headers": {}
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"body": "{\"level\":30,\"time\":1763716743459,\"pid\":953,\"hostname\":\"3975fa509fa3\",\"previousNodeId\":\"692015f2711ce3b17d0b72f2\",\"nodeId\":\"692015f2711ce3b17d0b72f3\",\"correlationId\":\"56d59e60-4de9-466e-a239-62849f58174f\",\"topologyId\":\"692015dc70454e872a0bc373\",\"processId\":\"a3a8f55a-4931-44da-8fc1-db9f3422ba0a\",\"sequenceId\":\"0\",\"userId\":\"orchesty\",\"applications\":\"loki\",\"timestamp\":1763716743459,\"service\":\"sdk\",\"levelName\":\"info\",\"message\":\"Request successfully processed. Message: [Processed successfully.]\"}",
|
|
32
|
+
"headers": {}
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"body": "{\"level\":30,\"time\":1763716742142,\"pid\":953,\"hostname\":\"3975fa509fa3\",\"previousNodeId\":\"692015f2711ce3b17d0b72f2\",\"nodeId\":\"692015f2711ce3b17d0b72f3\",\"correlationId\":\"56d59e60-4de9-466e-a239-62849f58174f\",\"topologyId\":\"692015dc70454e872a0bc373\",\"processId\":\"a3a8f55a-4931-44da-8fc1-db9f3422ba0a\",\"sequenceId\":\"0\",\"userId\":\"orchesty\",\"applications\":\"loki\",\"timestamp\":1763716742142,\"service\":\"sdk\",\"levelName\":\"info\",\"message\":\"Request successfully processed. Message: [Message will be used as a iterator with cursor [1763715600133392400]. Data will be send to follower(s).]\"}",
|
|
36
|
+
"headers": {}
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"body": "{\"level\":30,\"time\":1763716651483,\"pid\":953,\"hostname\":\"3975fa509fa3\",\"previousNodeId\":\"692015f2711ce3b17d0b72f2\",\"nodeId\":\"692015f2711ce3b17d0b72f3\",\"correlationId\":\"d7dfb793-000a-4d72-a385-3f6e2f788ab7\",\"topologyId\":\"692015dc70454e872a0bc373\",\"processId\":\"dcb634b6-1f2b-467d-93a9-618a42c237b1\",\"sequenceId\":\"0\",\"userId\":\"orchesty\",\"applications\":\"loki\",\"timestamp\":1763716651483,\"service\":\"sdk\",\"levelName\":\"info\",\"message\":\"Request successfully processed. Message: [Processed successfully.]\"}",
|
|
40
|
+
"headers": {}
|
|
41
|
+
}
|
|
42
|
+
]
|
|
43
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { container } from '@orchesty/nodejs-connectors/test/TestAbstract';
|
|
2
|
+
import NodeTester from '@orchesty/nodejs-sdk/dist/test/Testers/NodeTester';
|
|
3
|
+
import init from '../../../test/dataProvider';
|
|
4
|
+
import { NAME as LOKI_GET_QUERY_LIST_BATCH } from '../LokiGetQueryListBatch';
|
|
5
|
+
|
|
6
|
+
let tester: NodeTester;
|
|
7
|
+
|
|
8
|
+
describe('Tests for LokiGetQueryListBatch', () => {
|
|
9
|
+
beforeEach(() => {
|
|
10
|
+
tester = new NodeTester(container, __filename);
|
|
11
|
+
init();
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
it('process - ok', async () => {
|
|
15
|
+
await tester.testBatch(LOKI_GET_QUERY_LIST_BATCH);
|
|
16
|
+
});
|
|
17
|
+
});
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import CoreFormsEnum, { getFormName } from '@orchesty/nodejs-sdk/dist/lib/Application/Base/CoreFormsEnum';
|
|
2
|
+
import { ApplicationInstall } from '@orchesty/nodejs-sdk/dist/lib/Application/Database/ApplicationInstall';
|
|
3
|
+
import Field from '@orchesty/nodejs-sdk/dist/lib/Application/Model/Form/Field';
|
|
4
|
+
import FieldType from '@orchesty/nodejs-sdk/dist/lib/Application/Model/Form/FieldType';
|
|
5
|
+
import Form from '@orchesty/nodejs-sdk/dist/lib/Application/Model/Form/Form';
|
|
6
|
+
import FormStack from '@orchesty/nodejs-sdk/dist/lib/Application/Model/Form/FormStack';
|
|
7
|
+
import { ABasicApplication, PASSWORD, USER } from '@orchesty/nodejs-sdk/dist/lib/Authorization/Type/Basic/ABasicApplication';
|
|
8
|
+
import RequestDto from '@orchesty/nodejs-sdk/dist/lib/Transport/Curl/RequestDto';
|
|
9
|
+
import { HttpMethods } from '@orchesty/nodejs-sdk/dist/lib/Transport/HttpMethods';
|
|
10
|
+
import AProcessDto from '@orchesty/nodejs-sdk/dist/lib/Utils/AProcessDto';
|
|
11
|
+
import { encode } from '@orchesty/nodejs-sdk/dist/lib/Utils/Base64';
|
|
12
|
+
import { CommonHeaders, JSON_TYPE } from '@orchesty/nodejs-sdk/dist/lib/Utils/Headers';
|
|
13
|
+
|
|
14
|
+
export const NAME = 'loki';
|
|
15
|
+
|
|
16
|
+
export const TENANT_KEY = 'tenant';
|
|
17
|
+
export const URL_KEY = 'url';
|
|
18
|
+
|
|
19
|
+
export enum LokiHeaders {
|
|
20
|
+
TENANT = 'X-Scope-OrgID',
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export default class LokiApplication extends ABasicApplication {
|
|
24
|
+
|
|
25
|
+
public getName(): string {
|
|
26
|
+
return NAME;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
public getDescription(): string {
|
|
30
|
+
return 'Grafana Loki is a set of open source components that can be composed into a fully featured logging stack. A small index and highly compressed chunks simplifies the operation and significantly lowers the cost of Loki.';
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
public getPublicName(): string {
|
|
34
|
+
return 'Loki';
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
public getLogo(): string {
|
|
38
|
+
return 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI5MCIgaGVpZ2h0PSIxMDQiIHhtbDpzcGFjZT0icHJlc2VydmUiIHZlcnNpb249IjEuMSI+CiA8ZGVmcz4KICA8bGluZWFyR3JhZGllbnQgeTI9Ii0xMC4wMzIyNyIgeDI9Ii0xLjExNjg4IiB5MT0iMy4yMDUxNSIgeDE9IjAuOTIwMTYiIGlkPSJTVkdJRF8xXyI+CiAgIDxzdG9wIHN0b3AtY29sb3I9IiNmYWVkMWUiIG9mZnNldD0iMCIvPgogICA8c3RvcCBzdG9wLWNvbG9yPSIjZjE1YjJiIiBvZmZzZXQ9IjEiLz4KICA8L2xpbmVhckdyYWRpZW50PgogIDxsaW5lYXJHcmFkaWVudCB5Mj0iLTUuODA2NjQiIHgyPSIwLjE0NDEiIHkxPSIzLjI5MTEyIiB4MT0iMC42NTg4OCIgaWQ9IlNWR0lEXzJfIj4KICAgPHN0b3Agc3RvcC1jb2xvcj0iI2ZhZWQxZSIgb2Zmc2V0PSIwIi8+CiAgIDxzdG9wIHN0b3AtY29sb3I9IiNmMTViMmIiIG9mZnNldD0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPGxpbmVhckdyYWRpZW50IHkyPSItOC42NzU2OSIgeDI9Ii0wLjkwODEzIiB5MT0iNC41NjE3MyIgeDE9IjEuMTI4OTEiIGlkPSJTVkdJRF8zXyI+CiAgIDxzdG9wIHN0b3AtY29sb3I9IiNmYWVkMWUiIG9mZnNldD0iMCIvPgogICA8c3RvcCBzdG9wLWNvbG9yPSIjZjE1YjJiIiBvZmZzZXQ9IjEiLz4KICA8L2xpbmVhckdyYWRpZW50PgogIDxsaW5lYXJHcmFkaWVudCB5Mj0iLTEwLjAzMjg2IiB4Mj0iLTEuMTE3MTEiIHkxPSIzLjIwNDU3IiB4MT0iMC45MTk5MyIgaWQ9IlNWR0lEXzRfIj4KICAgPHN0b3Agc3RvcC1jb2xvcj0iI2ZhZWQxZSIgb2Zmc2V0PSIwIi8+CiAgIDxzdG9wIHN0b3AtY29sb3I9IiNmMTViMmIiIG9mZnNldD0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPGxpbmVhckdyYWRpZW50IHkyPSItOC42NzU1OCIgeDI9Ii0wLjkwOTY3IiB5MT0iNC41NjE4NCIgeDE9IjEuMTI5NSIgaWQ9IlNWR0lEXzVfIj4KICAgPHN0b3Agc3RvcC1jb2xvcj0iI2ZhZWQxZSIgb2Zmc2V0PSIwIi8+CiAgIDxzdG9wIHN0b3AtY29sb3I9IiNmMTViMmIiIG9mZnNldD0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPGxpbmVhckdyYWRpZW50IHkyPSItNi43MzkwNyIgeDI9IjAuMDkxNDkiIHkxPSIyLjM1ODY5IiB4MT0iMC42MDYyNyIgaWQ9IlNWR0lEXzZfIj4KICAgPHN0b3Agc3RvcC1jb2xvcj0iI2ZhZWQxZSIgb2Zmc2V0PSIwIi8+CiAgIDxzdG9wIHN0b3AtY29sb3I9IiNmMTViMmIiIG9mZnNldD0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPGxpbmVhckdyYWRpZW50IHkyPSItMTAuMDMyMzkiIHgyPSItMS4xMTg1MSIgeTE9IjMuMjA1MDQiIHgxPSIwLjkyMDY3IiBpZD0iU1ZHSURfN18iPgogICA8c3RvcCBzdG9wLWNvbG9yPSIjZmFlZDFlIiBvZmZzZXQ9IjAiLz4KICAgPHN0b3Agc3RvcC1jb2xvcj0iI2YxNWIyYiIgb2Zmc2V0PSIxIi8+CiAgPC9saW5lYXJHcmFkaWVudD4KICA8bGluZWFyR3JhZGllbnQgeTI9Ii04LjY3NjE2IiB4Mj0iLTAuOTA3OSIgeTE9IjQuNTYxMjYiIHgxPSIxLjEyOTE0IiBpZD0iU1ZHSURfOF8iPgogICA8c3RvcCBzdG9wLWNvbG9yPSIjZmFlZDFlIiBvZmZzZXQ9IjAiLz4KICAgPHN0b3Agc3RvcC1jb2xvcj0iI2YxNWIyYiIgb2Zmc2V0PSIxIi8+CiAgPC9saW5lYXJHcmFkaWVudD4KICA8bGluZWFyR3JhZGllbnQgeTI9Ii0wLjEyMzkyIiB4Mj0iMC4wMzQxMiIgeTE9IjEuNjcyMjciIHgxPSIxLjM4MzI0IiBpZD0iU1ZHSURfOV8iPgogICA8c3RvcCBzdG9wLWNvbG9yPSIjZmFlZDFlIiBvZmZzZXQ9IjAiLz4KICAgPHN0b3Agc3RvcC1jb2xvcj0iI2YxNWIyYiIgb2Zmc2V0PSIxIi8+CiAgPC9saW5lYXJHcmFkaWVudD4KICA8bGluZWFyR3JhZGllbnQgeTI9Ii0wLjEyNDI5IiB4Mj0iMC4wMjU1MiIgeTE9IjEuNjcyOTQiIHgxPSIxLjM5ODc4IiBpZD0iU1ZHSURfMTBfIj4KICAgPHN0b3Agc3RvcC1jb2xvcj0iI2ZhZWQxZSIgb2Zmc2V0PSIwIi8+CiAgIDxzdG9wIHN0b3AtY29sb3I9IiNmMTViMmIiIG9mZnNldD0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPGxpbmVhckdyYWRpZW50IHkyPSItMC4xMjQ2MiIgeDI9IjAuMDE4OCIgeTE9IjEuNjczNjEiIHgxPSIxLjQxMTIiIGlkPSJTVkdJRF8xMV8iPgogICA8c3RvcCBzdG9wLWNvbG9yPSIjZmFlZDFlIiBvZmZzZXQ9IjAiLz4KICAgPHN0b3Agc3RvcC1jb2xvcj0iI2YxNWIyYiIgb2Zmc2V0PSIxIi8+CiAgPC9saW5lYXJHcmFkaWVudD4KICA8bGluZWFyR3JhZGllbnQgeTI9Ii0wLjEyNDEzIiB4Mj0iMC4wMjk5MSIgeTE9IjEuNjcyNzgiIHgxPSIxLjM5MTI5IiBpZD0iU1ZHSURfMTJfIj4KICAgPHN0b3Agc3RvcC1jb2xvcj0iI2ZhZWQxZSIgb2Zmc2V0PSIwIi8+CiAgIDxzdG9wIHN0b3AtY29sb3I9IiNmMTViMmIiIG9mZnNldD0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPGxpbmVhckdyYWRpZW50IHkyPSItMC4xMjM2MSIgeDI9IjAuMDQ0NDciIHkxPSIxLjY3MTUxIiB4MT0iMS4zNjQ0NCIgaWQ9IlNWR0lEXzEzXyI+CiAgIDxzdG9wIHN0b3AtY29sb3I9IiNmYWVkMWUiIG9mZnNldD0iMCIvPgogICA8c3RvcCBzdG9wLWNvbG9yPSIjZjE1YjJiIiBvZmZzZXQ9IjEiLz4KICA8L2xpbmVhckdyYWRpZW50PgogIDxsaW5lYXJHcmFkaWVudCB5Mj0iLTAuMTIzODQiIHgyPSIwLjAzOTciIHkxPSIxLjY3MTkiIHgxPSIxLjM3MzA0IiBpZD0iU1ZHSURfMTRfIj4KICAgPHN0b3Agc3RvcC1jb2xvcj0iI2ZhZWQxZSIgb2Zmc2V0PSIwIi8+CiAgIDxzdG9wIHN0b3AtY29sb3I9IiNmMTViMmIiIG9mZnNldD0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiA8L2RlZnM+CiA8Zz4KICA8dGl0bGU+TGF5ZXIgMTwvdGl0bGU+CiAgPGcgaWQ9InN2Z18xIj4KICAgPGcgaWQ9InN2Z18xNSI+CiAgICA8cG9seWdvbiBpZD0ic3ZnXzE2IiBmaWxsPSJ1cmwoI1NWR0lEXzFfKSIgcG9pbnRzPSIyMS4xODk5OTQ4MTIwMTE3Miw5NC4zNTk5OTc1NzA1MTQ2OCAxMi45MDk5OTYwMzI3MTQ4NDQsOTUuNjM5OTk2MzQ5ODExNTUgMTQuMTg5OTk0ODEyMDExNzE5LDEwMy45MjAwMDI3NTg1MDI5NiAyMi40NzAwMDEyMjA3MDMxMjUsMTAyLjY0OTk5ODQ4NjA0MjAyICIvPgogICAgPHBvbHlnb24gaWQ9InN2Z18xNyIgZmlsbD0idXJsKCNTVkdJRF8yXykiIHBvaW50cz0iNTEuMDkwMDAzOTY3Mjg1MTU2LDg0Ljk2OTk5ODE4MDg2NjI0IDg3LjY1MDAwMTUyNTg3ODksNzkuMzQwMDAwOTI3NDQ4MjcgODYuMzcwMDAyNzQ2NTgyMDMsNzEuMDYwMDAyMTQ4MTUxNCA0OS44MTk5OTk2OTQ4MjQyMiw3Ni42Nzk5OTcyNjUzMzg5ICIvPgogICAgPHBvbHlnb24gaWQ9InN2Z18xOCIgZmlsbD0idXJsKCNTVkdJRF8zXykiIHBvaW50cz0iMzYuODQ5OTk4NDc0MTIxMDk0LDc4LjY3OTk5NzI2NTMzODkgMzguMTE5OTk1MTE3MTg3NSw4Ni45NjAwMDM2NzQwMzAzIDQ2LjQwOTk5NjAzMjcxNDg0NCw4NS42ODk5OTk0MDE1NjkzNyA0NS4xMjk5OTcyNTM0MTc5Nyw3Ny4zOTk5OTg0ODYwNDIwMiAiLz4KICAgIDxwb2x5Z29uIGlkPSJzdmdfMTkiIGZpbGw9InVybCgjU1ZHSURfNF8pIiBwb2ludHM9IjM1LjQzOTk5NDgxMjAxMTcyLDEwMC42NDk5OTg0ODYwNDIwMiAzNC4xNTk5OTYwMzI3MTQ4NDQsOTIuMzY5OTk5NzA2NzQ1MTUgMjUuODc5OTk3MjUzNDE3OTcsOTMuNjM5OTk2MzQ5ODExNTUgMjcuMTUwMDAxNTI1ODc4OTA2LDEwMS45Mjk5OTcyNjUzMzg5ICIvPgogICAgPHBvbHlnb24gaWQ9InN2Z18yMCIgZmlsbD0idXJsKCNTVkdJRF81XykiIHBvaW50cz0iMTIuMTg5OTk0ODEyMDExNzE5LDkwLjk1MDAwMTUzNzc5OTg0IDIwLjQ3MDAwMTIyMDcwMzEyNSw4OS42Nzk5OTcyNjUzMzg5IDE5LjE5OTk5Njk0ODI0MjE4OCw4MS4zODk5OTYzNDk4MTE1NSAxMC45MTk5OTgxNjg5NDUzMTIsODIuNjcwMDAyNzU4NTAyOTYgIi8+CiAgICA8cG9seWdvbiBpZD0ic3ZnXzIxIiBmaWxsPSJ1cmwoI1NWR0lEXzZfKSIgcG9pbnRzPSI4OC4zNzAwMDI3NDY1ODIwMyw4NC4wMzAwMDMzNjg4NTQ1MiA1MS44MTAwMDUxODc5ODgyOCw4OS42NDk5OTg0ODYwNDIwMiA1My4wOTAwMDM5NjcyODUxNTYsOTcuOTM5OTk5NDAxNTY5MzcgODkuNjM5OTkxNzYwMjUzOSw5Mi4zMTAwMDIxNDgxNTE0ICIvPgogICAgPHBvbHlnb24gaWQ9InN2Z18yMiIgZmlsbD0idXJsKCNTVkdJRF83XykiIHBvaW50cz0iMzguODQ5OTk4NDc0MTIxMDk0LDkxLjY0OTk5ODQ4NjA0MjAyIDQwLjExOTk5NTExNzE4NzUsOTkuOTI5OTk3MjY1MzM4OSA0OC40MDAwMDE1MjU4Nzg5MDYsOTguNjYwMDAwNjIyMjcyNDkgNDcuMTI5OTk3MjUzNDE3OTcsOTAuMzY5OTk5NzA2NzQ1MTUgIi8+CiAgICA8cG9seWdvbiBpZD0ic3ZnXzIzIiBmaWxsPSJ1cmwoI1NWR0lEXzhfKSIgcG9pbnRzPSIyNS4xNTk5OTYwMzI3MTQ4NDQsODguOTYwMDAzNjc0MDMwMyAzMy40Mzk5OTQ4MTIwMTE3Miw4Ny42Nzk5OTcyNjUzMzg5IDMyLjE2OTk5ODE2ODk0NTMxLDc5LjM5OTk5ODQ4NjA0MjAyIDIzLjg3OTk5NzI1MzQxNzk3LDgwLjY3MDAwMjc1ODUwMjk2ICIvPgogICAgPHBvbHlnb24gaWQ9InN2Z18yNCIgZmlsbD0idXJsKCNTVkdJRF85XykiIHBvaW50cz0iMTAuMTk5OTk2OTQ4MjQyMTg4LDc3Ljk5MDAwMjQ1MzMyNzE4IDEzLjY4OTk5NDgxMjAxMTcxOSw3Ny40NTAwMDE1Mzc3OTk4NCAzLjUsMTEuMTY5OTk5ODk3NDgwMDExIDAsMTEuNzA5OTk5ODU5MzMzMDM4ICIvPgogICAgPHBvbHlnb24gaWQ9InN2Z18yNSIgZmlsbD0idXJsKCNTVkdJRF8xMF8pIiBwb2ludHM9IjE1LDc3LjI0OTk5Njk2MDE2MzEyIDE4LjUsNzYuNzEwMDAzNjc0MDMwMyA3LjU1OTk5NzU1ODU5Mzc1LDUuNTUwMDAwMDExOTIwOTI5IDQuMDU5OTk3NTU4NTkzNzUsNi4wODk5OTk5NzM3NzM5NTYgIi8+CiAgICA8cG9seWdvbiBpZD0ic3ZnXzI2IiBmaWxsPSJ1cmwoI1NWR0lEXzExXykiIHBvaW50cz0iMjMuMjIwMDAxMjIwNzAzMTI1LDc1Ljk4MDAwMDMxNzA5NjcxIDI2LjcwOTk5OTA4NDQ3MjY1Niw3NS40Mzk5OTk0MDE1NjkzNyAxNS4xMTAwMDA2MTAzNTE1NjIsMCAxMS42MTAwMDA2MTAzNTE1NjIsMC41NDAwMDAwMjE0NTc2NzIxICIvPgogICAgPHBvbHlnb24gaWQ9InN2Z18yNyIgZmlsbD0idXJsKCNTVkdJRF8xMl8pIiBwb2ludHM9IjI4LjAxOTk5NjY0MzA2NjQwNiw3NS4yNDAwMDI0NTMzMjcxOCAzMS41MTk5OTY2NDMwNjY0MDYsNzQuNzAwMDAxNTM3Nzk5ODQgMjAuOTM5OTk0ODEyMDExNzIsNS45MTk5OTk4OTc0ODAwMTEgMTcuNDM5OTk0ODEyMDExNzIsNi40NTk5OTk4NTkzMzMwMzggIi8+CiAgICA8cG9seWdvbiBpZD0ic3ZnXzI4IiBmaWxsPSJ1cmwoI1NWR0lEXzEzXykiIHBvaW50cz0iMzYuMTI5OTk3MjUzNDE3OTcsNzMuOTk5OTk2OTYwMTYzMTIgMzkuNjI5OTk3MjUzNDE3OTcsNzMuNDYwMDAzNjc0MDMwMyAzMC4yMjk5OTU3Mjc1MzkwNjIsMTIuMzYwMDAwNDMxNTM3NjI4IDI2LjcyOTk5NTcyNzUzOTA2MiwxMi44OTAwMDAxNjQ1MDg4MiAiLz4KICAgIDxwb2x5Z29uIGlkPSJzdmdfMjkiIGZpbGw9InVybCgjU1ZHSURfMTRfKSIgcG9pbnRzPSI0MC45Mzk5OTQ4MTIwMTE3Miw3My4yNTk5OTkwOTYzOTM1OSA0NC40Mzk5OTQ4MTIwMTE3Miw3Mi43MTk5OTgxODA4NjYyNCAzNC42ODAwMDAzMDUxNzU3OCw5LjI3OTk5OTU1NDE1NzI1NyAzMS4xODAwMDAzMDUxNzU3OCw5LjgxMDAwMDI0MDgwMjc2NSAiLz4KICAgPC9nPgogIDwvZz4KIDwvZz4KPC9zdmc+';
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
public getFormStack(): FormStack {
|
|
42
|
+
return new FormStack().addForm(
|
|
43
|
+
new Form(CoreFormsEnum.AUTHORIZATION_FORM, getFormName(CoreFormsEnum.AUTHORIZATION_FORM))
|
|
44
|
+
.addField(new Field(FieldType.URL, URL_KEY, 'Url', undefined, true))
|
|
45
|
+
.addField(new Field(FieldType.TEXT, TENANT_KEY, 'Tenant', undefined, false))
|
|
46
|
+
.addField(new Field(FieldType.TEXT, USER, 'User', undefined, false))
|
|
47
|
+
.addField(new Field(FieldType.TEXT, PASSWORD, 'Password', undefined, false)),
|
|
48
|
+
);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
public getRequestDto(
|
|
52
|
+
dto: AProcessDto,
|
|
53
|
+
applicationInstall: ApplicationInstall,
|
|
54
|
+
method: HttpMethods,
|
|
55
|
+
path?: string,
|
|
56
|
+
data?: unknown,
|
|
57
|
+
): RequestDto {
|
|
58
|
+
const {
|
|
59
|
+
user,
|
|
60
|
+
password,
|
|
61
|
+
tenant,
|
|
62
|
+
url: lokiURL,
|
|
63
|
+
} = applicationInstall.getSettings()[CoreFormsEnum.AUTHORIZATION_FORM];
|
|
64
|
+
|
|
65
|
+
const url = new URL(path ?? '', lokiURL).href;
|
|
66
|
+
|
|
67
|
+
const headers: Record<string, string> = {
|
|
68
|
+
[CommonHeaders.CONTENT_TYPE]: JSON_TYPE,
|
|
69
|
+
[CommonHeaders.ACCEPT]: JSON_TYPE,
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
if (user && password) {
|
|
73
|
+
headers[CommonHeaders.AUTHORIZATION] = `Basic ${encode(`${user}:${password}`)}`;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
if (tenant) {
|
|
77
|
+
headers[LokiHeaders.TENANT] = tenant;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
const requestDto = new RequestDto(url, method, dto, data, headers);
|
|
81
|
+
|
|
82
|
+
return requestDto;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
public isAuthorized(applicationInstall: ApplicationInstall): boolean {
|
|
86
|
+
const authorizationForm = applicationInstall.getSettings()[CoreFormsEnum.AUTHORIZATION_FORM];
|
|
87
|
+
return (
|
|
88
|
+
authorizationForm?.[URL_KEY]
|
|
89
|
+
?? (authorizationForm?.[URL_KEY] && authorizationForm?.[USER] && authorizationForm?.[PASSWORD])
|
|
90
|
+
);
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { appInstall, DEFAULT_USER } from '@orchesty/nodejs-connectors/test/DataProvider';
|
|
2
|
+
import { container } from '@orchesty/nodejs-connectors/test/TestAbstract';
|
|
3
|
+
import CoreFormsEnum from '@orchesty/nodejs-sdk/dist/lib/Application/Base/CoreFormsEnum';
|
|
4
|
+
import LokiGetQueryListBatch from '../src/Batch/LokiGetQueryListBatch';
|
|
5
|
+
import LokiApplication, { NAME as LOKI_APPLICATION, URL_KEY } from '../src/LokiApplication';
|
|
6
|
+
|
|
7
|
+
export default function init(): void {
|
|
8
|
+
appInstall(LOKI_APPLICATION, DEFAULT_USER, {
|
|
9
|
+
[CoreFormsEnum.AUTHORIZATION_FORM]: {
|
|
10
|
+
[URL_KEY]: 'http://127.0.0.1:3100',
|
|
11
|
+
},
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
const app = new LokiApplication();
|
|
15
|
+
container.setApplication(app);
|
|
16
|
+
|
|
17
|
+
container.setNode(new LokiGetQueryListBatch(), app);
|
|
18
|
+
}
|
package/tsconfig.json
ADDED