@virusis/api-client 0.1.16 → 0.1.19
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/base.d.ts +12 -1
- package/dist/base.js +174 -1
- package/dist/container.d.ts +15 -3
- package/dist/generated/clients/diagnostics-service.d.ts +2 -0
- package/dist/generated/clients/diagnostics-service.js +2 -0
- package/dist/generated/clients/feedbacks-service.d.ts +2 -0
- package/dist/generated/clients/feedbacks-service.js +2 -0
- package/dist/generated/clients/index.d.ts +5 -1
- package/dist/generated/clients/index.js +5 -1
- package/dist/generated/clients/portal-service.d.ts +2 -0
- package/dist/generated/clients/portal-service.js +2 -0
- package/dist/generated/clients/risk-service.d.ts +2 -0
- package/dist/generated/clients/risk-service.js +2 -0
- package/dist/generated/clients-rx/diagnostics-service-rx.d.ts +16 -0
- package/dist/generated/clients-rx/diagnostics-service-rx.js +12 -0
- package/dist/generated/clients-rx/feedbacks-service-rx.d.ts +16 -0
- package/dist/generated/clients-rx/feedbacks-service-rx.js +12 -0
- package/dist/generated/clients-rx/index.d.ts +5 -1
- package/dist/generated/clients-rx/index.js +5 -1
- package/dist/generated/clients-rx/portal-service-rx.d.ts +16 -0
- package/dist/generated/clients-rx/portal-service-rx.js +12 -0
- package/dist/generated/clients-rx/risk-service-rx.d.ts +16 -0
- package/dist/generated/clients-rx/risk-service-rx.js +12 -0
- package/dist/generated/index.d.ts +398 -67
- package/dist/generated/index.js +811 -138
- package/dist/generated/models/access-token-i-data-result.d.ts +4 -0
- package/dist/generated/models/access-token-i-data-result.js +1 -0
- package/dist/generated/models/access-token.d.ts +4 -0
- package/dist/generated/models/access-token.js +1 -0
- package/dist/generated/models/application-click-event-batch-dto.d.ts +4 -0
- package/dist/generated/models/application-click-event-batch-dto.js +1 -0
- package/dist/generated/models/application-click-event-create-dto.d.ts +4 -0
- package/dist/generated/models/application-click-event-create-dto.js +1 -0
- package/dist/generated/models/feedback-category-dto-list-i-data-result.d.ts +4 -0
- package/dist/generated/models/feedback-category-dto-list-i-data-result.js +1 -0
- package/dist/generated/models/feedback-category-dto.d.ts +4 -0
- package/dist/generated/models/feedback-category-dto.js +1 -0
- package/dist/generated/models/index.d.ts +17 -0
- package/dist/generated/models/index.js +17 -0
- package/dist/generated/models/otp-generate-result.d.ts +4 -0
- package/dist/generated/models/otp-generate-result.js +1 -0
- package/dist/generated/models/queue-monitor-workers-response.d.ts +4 -0
- package/dist/generated/models/queue-monitor-workers-response.js +1 -0
- package/dist/generated/models/risk-flag-request-dto.d.ts +4 -0
- package/dist/generated/models/risk-flag-request-dto.js +1 -0
- package/dist/generated/models/risk-signal-avg-dto.d.ts +4 -0
- package/dist/generated/models/risk-signal-avg-dto.js +1 -0
- package/dist/generated/models/risk-signal-client-dto.d.ts +4 -0
- package/dist/generated/models/risk-signal-client-dto.js +1 -0
- package/dist/generated/models/risk-signal-counts-dto.d.ts +4 -0
- package/dist/generated/models/risk-signal-counts-dto.js +1 -0
- package/dist/generated/models/risk-signals-dto.d.ts +4 -0
- package/dist/generated/models/risk-signals-dto.js +1 -0
- package/dist/generated/models/risk-state-dto.d.ts +4 -0
- package/dist/generated/models/risk-state-dto.js +1 -0
- package/dist/generated/models/risk-verify-dto.d.ts +4 -0
- package/dist/generated/models/risk-verify-dto.js +1 -0
- package/dist/generated/models/scan-status-dto-i-data-result.d.ts +4 -0
- package/dist/generated/models/scan-status-dto-i-data-result.js +1 -0
- package/dist/generated/models/scan-status-dto.d.ts +4 -0
- package/dist/generated/models/scan-status-dto.js +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/rx.d.ts +30 -6
- package/dist/security/index.d.ts +4 -0
- package/dist/security/index.js +2 -0
- package/dist/security/input-security-policy.d.ts +23 -0
- package/dist/security/input-security-policy.js +5 -0
- package/dist/security/input-security-service.d.ts +3 -0
- package/dist/security/input-security-service.js +153 -0
- package/dist/security/request-sanitizer.d.ts +18 -0
- package/dist/security/request-sanitizer.js +242 -0
- package/package.json +9 -4
package/dist/base.d.ts
CHANGED
|
@@ -1,7 +1,18 @@
|
|
|
1
1
|
export declare class ApiClientConfig {
|
|
2
2
|
baseUrl: string;
|
|
3
3
|
getToken?: (() => string | null | Promise<string | null>) | undefined;
|
|
4
|
-
|
|
4
|
+
getAppKey?: (() => string | null | Promise<string | null>) | undefined;
|
|
5
|
+
appKeyHeaderName: string;
|
|
6
|
+
sanitizeRequests: boolean;
|
|
7
|
+
onInputSecurityEvent?: ((event: {
|
|
8
|
+
field: string;
|
|
9
|
+
threats: string[];
|
|
10
|
+
}) => void) | undefined;
|
|
11
|
+
trustedAbsoluteHosts: string[];
|
|
12
|
+
constructor(baseUrl: string, getToken?: (() => string | null | Promise<string | null>) | undefined, getAppKey?: (() => string | null | Promise<string | null>) | undefined, appKeyHeaderName?: string, sanitizeRequests?: boolean, onInputSecurityEvent?: ((event: {
|
|
13
|
+
field: string;
|
|
14
|
+
threats: string[];
|
|
15
|
+
}) => void) | undefined, trustedAbsoluteHosts?: string[]);
|
|
5
16
|
}
|
|
6
17
|
export declare class BaseApiClient {
|
|
7
18
|
protected readonly configuration: ApiClientConfig;
|
package/dist/base.js
CHANGED
|
@@ -1,9 +1,23 @@
|
|
|
1
1
|
export class ApiClientConfig {
|
|
2
|
-
constructor(baseUrl, getToken
|
|
2
|
+
constructor(baseUrl, getToken,
|
|
3
|
+
// CREDENTIAL-GROUPING-2026-04-23: Her istege X-App-Key header'i eklemek icin.
|
|
4
|
+
// WebAPI ApplicationIdentityMiddleware bu header'i JWT'deki (iss, azp) ile karsilastirir.
|
|
5
|
+
// Deger AppKey (ornek: "0101000" trial UI, "0201000" private API backend).
|
|
6
|
+
getAppKey,
|
|
7
|
+
// Header adi configurable — default "X-App-Key".
|
|
8
|
+
appKeyHeaderName = "X-App-Key",
|
|
9
|
+
// INPUT-SECURITY-2026-05-03: Defensive sanitization for requests
|
|
10
|
+
sanitizeRequests = true, onInputSecurityEvent, trustedAbsoluteHosts = []) {
|
|
3
11
|
this.baseUrl = baseUrl;
|
|
4
12
|
this.getToken = getToken;
|
|
13
|
+
this.getAppKey = getAppKey;
|
|
14
|
+
this.appKeyHeaderName = appKeyHeaderName;
|
|
15
|
+
this.sanitizeRequests = sanitizeRequests;
|
|
16
|
+
this.onInputSecurityEvent = onInputSecurityEvent;
|
|
17
|
+
this.trustedAbsoluteHosts = trustedAbsoluteHosts;
|
|
5
18
|
}
|
|
6
19
|
}
|
|
20
|
+
import { validatePath, sanitizeBody, validateAbsoluteUrl } from "./security/request-sanitizer.js";
|
|
7
21
|
export class BaseApiClient {
|
|
8
22
|
constructor(configuration) {
|
|
9
23
|
this.configuration = configuration;
|
|
@@ -18,6 +32,24 @@ export async function doFetch(cfg, path, init) {
|
|
|
18
32
|
if (!cfg.baseUrl) {
|
|
19
33
|
throw new Error("ApiClientConfig.baseUrl is required and must be absolute.");
|
|
20
34
|
}
|
|
35
|
+
// INPUT-SECURITY-2026-05-03: Full request sanitization when enabled
|
|
36
|
+
if (cfg.sanitizeRequests) {
|
|
37
|
+
// Validate path
|
|
38
|
+
const pathCheck = validatePath(path);
|
|
39
|
+
if (!pathCheck.safe) {
|
|
40
|
+
throw new Error("Blocked: dangerous characters in request path");
|
|
41
|
+
}
|
|
42
|
+
// Sanitize JSON body
|
|
43
|
+
if (init?.body && typeof init.body === "string") {
|
|
44
|
+
const contentType = getContentType(init);
|
|
45
|
+
if (contentType.includes("application/json")) {
|
|
46
|
+
const sanitized = applySanitizeBody(cfg, init.body);
|
|
47
|
+
if (sanitized) {
|
|
48
|
+
init = { ...init, body: sanitized };
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
21
53
|
const headers = new Headers(init?.headers || {});
|
|
22
54
|
headers.set("Accept", "application/json");
|
|
23
55
|
if (!headers.has("Content-Type"))
|
|
@@ -25,6 +57,8 @@ export async function doFetch(cfg, path, init) {
|
|
|
25
57
|
const token = cfg.getToken ? await cfg.getToken() : null;
|
|
26
58
|
if (token)
|
|
27
59
|
headers.set("Authorization", `Bearer ${token}`);
|
|
60
|
+
// CREDENTIAL-GROUPING-2026-04-23
|
|
61
|
+
await applyAppKeyHeader(headers, cfg);
|
|
28
62
|
const url = buildUrl(cfg.baseUrl, path);
|
|
29
63
|
const res = await fetch(url, { ...init, headers });
|
|
30
64
|
if (!res.ok) {
|
|
@@ -39,6 +73,23 @@ export async function doFetchAbsolute(cfg, url, init) {
|
|
|
39
73
|
if (!cfg.baseUrl) {
|
|
40
74
|
throw new Error("ApiClientConfig.baseUrl is required and must be absolute.");
|
|
41
75
|
}
|
|
76
|
+
// INPUT-SECURITY-2026-05-03: Use shared SSRF/scheme/host validator
|
|
77
|
+
if (cfg.sanitizeRequests) {
|
|
78
|
+
const urlCheck = validateAbsoluteUrl(url, cfg.trustedAbsoluteHosts);
|
|
79
|
+
if (!urlCheck.safe) {
|
|
80
|
+
throw new Error(`Blocked: ${urlCheck.reason}`);
|
|
81
|
+
}
|
|
82
|
+
// Sanitize JSON body
|
|
83
|
+
if (init?.body && typeof init.body === "string") {
|
|
84
|
+
const contentType = getContentType(init);
|
|
85
|
+
if (contentType.includes("application/json")) {
|
|
86
|
+
const sanitized = applySanitizeBody(cfg, init.body);
|
|
87
|
+
if (sanitized) {
|
|
88
|
+
init = { ...init, body: sanitized };
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
42
93
|
const headers = new Headers(init?.headers || {});
|
|
43
94
|
headers.set("Accept", "application/json");
|
|
44
95
|
if (!headers.has("Content-Type"))
|
|
@@ -46,6 +97,8 @@ export async function doFetchAbsolute(cfg, url, init) {
|
|
|
46
97
|
const token = cfg.getToken ? await cfg.getToken() : null;
|
|
47
98
|
if (token)
|
|
48
99
|
headers.set("Authorization", `Bearer ${token}`);
|
|
100
|
+
// CREDENTIAL-GROUPING-2026-04-23
|
|
101
|
+
await applyAppKeyHeader(headers, cfg);
|
|
49
102
|
const res = await fetch(url, { ...init, headers });
|
|
50
103
|
if (!res.ok) {
|
|
51
104
|
const text = await res.text().catch(() => "");
|
|
@@ -58,6 +111,10 @@ export async function doFetchAbsolute(cfg, url, init) {
|
|
|
58
111
|
function buildUrl(base, path) {
|
|
59
112
|
const trimmedBase = base.replace(/\/+$/, "");
|
|
60
113
|
let trimmedPath = path.replace(/^\/+/, "");
|
|
114
|
+
// INPUT-SECURITY-2026-05-03: Path traversal / injection preflight
|
|
115
|
+
if (/\.\.[/\\]|%2e%2e|%2f|%5c|[\r\n\x00-\x1F]/i.test(trimmedPath)) {
|
|
116
|
+
throw new Error("Blocked: dangerous characters in request path");
|
|
117
|
+
}
|
|
61
118
|
if (trimmedPath && !trimmedPath.startsWith("/")) {
|
|
62
119
|
trimmedPath = "/" + trimmedPath;
|
|
63
120
|
}
|
|
@@ -70,6 +127,19 @@ function buildUrl(base, path) {
|
|
|
70
127
|
// Returns a fetch function that injects auth + default headers, keeps Response intact
|
|
71
128
|
export function buildAuthFetch(cfg) {
|
|
72
129
|
return async (url, init) => {
|
|
130
|
+
if (cfg.sanitizeRequests) {
|
|
131
|
+
validateRequestTarget(cfg, url);
|
|
132
|
+
}
|
|
133
|
+
// INPUT-SECURITY-2026-05-03: Sanitize body for auth fetch path
|
|
134
|
+
if (cfg.sanitizeRequests && init?.body && typeof init.body === "string") {
|
|
135
|
+
const contentType = getContentType(init);
|
|
136
|
+
if (contentType.includes("application/json")) {
|
|
137
|
+
const sanitized = applySanitizeBody(cfg, init.body);
|
|
138
|
+
if (sanitized) {
|
|
139
|
+
init = { ...init, body: sanitized };
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}
|
|
73
143
|
const headers = new Headers(init?.headers || {});
|
|
74
144
|
headers.set("Accept", "application/json");
|
|
75
145
|
if (!headers.has("Content-Type"))
|
|
@@ -77,11 +147,26 @@ export function buildAuthFetch(cfg) {
|
|
|
77
147
|
const token = cfg.getToken ? await cfg.getToken() : null;
|
|
78
148
|
if (token)
|
|
79
149
|
headers.set("Authorization", `Bearer ${token}`);
|
|
150
|
+
// CREDENTIAL-GROUPING-2026-04-23
|
|
151
|
+
await applyAppKeyHeader(headers, cfg);
|
|
80
152
|
const headersInit = {};
|
|
81
153
|
headers.forEach((v, k) => (headersInit[k] = v));
|
|
82
154
|
return fetch(url, { ...init, headers: headersInit });
|
|
83
155
|
};
|
|
84
156
|
}
|
|
157
|
+
// CREDENTIAL-GROUPING-2026-04-23
|
|
158
|
+
// Uc fetch helper icin ortak X-App-Key uygulayicisi.
|
|
159
|
+
// cfg.getAppKey varsa async olarak cagirir ve header'i set eder (call-site override varsa dokunmaz).
|
|
160
|
+
async function applyAppKeyHeader(headers, cfg) {
|
|
161
|
+
if (!cfg.getAppKey)
|
|
162
|
+
return;
|
|
163
|
+
const headerName = cfg.appKeyHeaderName || "X-App-Key";
|
|
164
|
+
if (headers.has(headerName))
|
|
165
|
+
return; // call-site override ONCELIK
|
|
166
|
+
const appKey = await cfg.getAppKey();
|
|
167
|
+
if (appKey)
|
|
168
|
+
headers.set(headerName, appKey);
|
|
169
|
+
}
|
|
85
170
|
// Build an http object with defaults (credentials, extra headers etc.) applied on top of auth fetch
|
|
86
171
|
export function buildHttpWithDefaults(cfg, defaults) {
|
|
87
172
|
const authFetch = buildAuthFetch(cfg);
|
|
@@ -104,3 +189,91 @@ export function buildHttpWithDefaults(cfg, defaults) {
|
|
|
104
189
|
},
|
|
105
190
|
};
|
|
106
191
|
}
|
|
192
|
+
// ─── Input security helpers for fetch paths ─────────────────────
|
|
193
|
+
function getContentType(init) {
|
|
194
|
+
if (!init?.headers)
|
|
195
|
+
return "application/json";
|
|
196
|
+
const h = new Headers(init.headers);
|
|
197
|
+
return h.get("Content-Type") ?? "application/json";
|
|
198
|
+
}
|
|
199
|
+
function validateRequestTarget(cfg, input) {
|
|
200
|
+
const value = requestInfoToString(input);
|
|
201
|
+
if (!value)
|
|
202
|
+
return;
|
|
203
|
+
if (isAbsoluteUrl(value)) {
|
|
204
|
+
const urlCheck = validateAbsoluteUrl(value, cfg.trustedAbsoluteHosts);
|
|
205
|
+
if (!urlCheck.safe) {
|
|
206
|
+
throw new Error(`Blocked: ${urlCheck.reason}`);
|
|
207
|
+
}
|
|
208
|
+
return;
|
|
209
|
+
}
|
|
210
|
+
const pathCheck = validatePath(value);
|
|
211
|
+
if (!pathCheck.safe) {
|
|
212
|
+
throw new Error("Blocked: dangerous characters in request path");
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
function requestInfoToString(input) {
|
|
216
|
+
if (typeof input === "string")
|
|
217
|
+
return input;
|
|
218
|
+
if (input instanceof URL)
|
|
219
|
+
return input.toString();
|
|
220
|
+
if (typeof Request !== "undefined" && input instanceof Request)
|
|
221
|
+
return input.url;
|
|
222
|
+
return "";
|
|
223
|
+
}
|
|
224
|
+
function isAbsoluteUrl(value) {
|
|
225
|
+
try {
|
|
226
|
+
new URL(value);
|
|
227
|
+
return true;
|
|
228
|
+
}
|
|
229
|
+
catch {
|
|
230
|
+
return false;
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
/**
|
|
234
|
+
* Parse, sanitize, and re-serialize a JSON body string.
|
|
235
|
+
* Returns the sanitized JSON string, or throws on blocked content.
|
|
236
|
+
*/
|
|
237
|
+
function applySanitizeBody(cfg, bodyStr) {
|
|
238
|
+
let parsed;
|
|
239
|
+
try {
|
|
240
|
+
parsed = JSON.parse(bodyStr);
|
|
241
|
+
}
|
|
242
|
+
catch {
|
|
243
|
+
return null; // not valid JSON — pass through
|
|
244
|
+
}
|
|
245
|
+
if (typeof parsed !== "object" || parsed === null) {
|
|
246
|
+
return null;
|
|
247
|
+
}
|
|
248
|
+
const isRootArray = Array.isArray(parsed);
|
|
249
|
+
const bodyForSanitizer = isRootArray
|
|
250
|
+
? { items: parsed }
|
|
251
|
+
: parsed;
|
|
252
|
+
const result = sanitizeBody(bodyForSanitizer);
|
|
253
|
+
if (result.blocked) {
|
|
254
|
+
// Emit event if handler registered
|
|
255
|
+
for (const t of result.threats) {
|
|
256
|
+
if (cfg.onInputSecurityEvent && t.detectedThreats?.length) {
|
|
257
|
+
cfg.onInputSecurityEvent({
|
|
258
|
+
field: "body",
|
|
259
|
+
threats: t.detectedThreats.map((d) => d.type),
|
|
260
|
+
});
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
throw new Error("Blocked: request body contains dangerous content — " +
|
|
264
|
+
result.threats.map((t) => t.detectedThreats?.map((d) => d.type).join(",")).join("; "));
|
|
265
|
+
}
|
|
266
|
+
if (result.modified) {
|
|
267
|
+
// Emit event for sanitized (non-blocked) modifications
|
|
268
|
+
for (const t of result.threats) {
|
|
269
|
+
if (cfg.onInputSecurityEvent && t.detectedThreats?.length) {
|
|
270
|
+
cfg.onInputSecurityEvent({
|
|
271
|
+
field: "body",
|
|
272
|
+
threats: t.detectedThreats.map((d) => d.type),
|
|
273
|
+
});
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
return JSON.stringify(isRootArray ? result.body.items : result.body);
|
|
277
|
+
}
|
|
278
|
+
return null; // no modifications needed
|
|
279
|
+
}
|
package/dist/container.d.ts
CHANGED
|
@@ -18,15 +18,20 @@ export declare function getServices(): {
|
|
|
18
18
|
baseUserDevicesService: import("./index.js").BaseUserDevicesClient;
|
|
19
19
|
curlTasksService: import("./index.js").CurlTasksClient;
|
|
20
20
|
devicesService: import("./index.js").DevicesClient;
|
|
21
|
+
diagnosticsService: import("./index.js").DiagnosticsClient;
|
|
22
|
+
feedbacksService: import("./index.js").FeedbacksClient;
|
|
23
|
+
apiService: import("./index.js").ApiClient;
|
|
21
24
|
interactionTrackersService: import("./index.js").InteractionTrackersClient;
|
|
22
25
|
menuGroupsService: import("./index.js").MenuGroupsClient;
|
|
23
26
|
menuOperationClaimsService: import("./index.js").MenuOperationClaimsClient;
|
|
24
27
|
menusService: import("./index.js").MenusClient;
|
|
25
28
|
notificationsService: import("./index.js").NotificationsClient;
|
|
26
29
|
operationClaimsService: import("./index.js").OperationClaimsClient;
|
|
30
|
+
portalService: import("./index.js").PortalClient;
|
|
27
31
|
queueMonitorService: import("./index.js").QueueMonitorClient;
|
|
28
32
|
metricsService: import("./index.js").MetricsClient;
|
|
29
33
|
healthService: import("./index.js").HealthClient;
|
|
34
|
+
riskService: import("./index.js").RiskClient;
|
|
30
35
|
scanApiBusSourcesService: import("./index.js").ScanApiBusSourcesClient;
|
|
31
36
|
scanApiCredentialsService: import("./index.js").ScanApiCredentialsClient;
|
|
32
37
|
scanApiCredentialUsagesService: import("./index.js").ScanApiCredentialUsagesClient;
|
|
@@ -67,7 +72,6 @@ export declare function getServices(): {
|
|
|
67
72
|
scanTimingRunsService: import("./index.js").ScanTimingRunsClient;
|
|
68
73
|
scanTypesService: import("./index.js").ScanTypesClient;
|
|
69
74
|
scanVisibilityTypesService: import("./index.js").ScanVisibilityTypesClient;
|
|
70
|
-
apiService: import("./index.js").ApiClient;
|
|
71
75
|
internalService: import("./index.js").InternalClient;
|
|
72
76
|
threatConceptsService: import("./index.js").ThreatConceptsClient;
|
|
73
77
|
threatFrameworksService: import("./index.js").ThreatFrameworksClient;
|
|
@@ -95,15 +99,20 @@ export declare function getServicesRx(): {
|
|
|
95
99
|
baseUserDevicesService: import("./index.js").BaseUserDevicesClient;
|
|
96
100
|
curlTasksService: import("./index.js").CurlTasksClient;
|
|
97
101
|
devicesService: import("./index.js").DevicesClient;
|
|
102
|
+
diagnosticsService: import("./index.js").DiagnosticsClient;
|
|
103
|
+
feedbacksService: import("./index.js").FeedbacksClient;
|
|
104
|
+
apiService: import("./index.js").ApiClient;
|
|
98
105
|
interactionTrackersService: import("./index.js").InteractionTrackersClient;
|
|
99
106
|
menuGroupsService: import("./index.js").MenuGroupsClient;
|
|
100
107
|
menuOperationClaimsService: import("./index.js").MenuOperationClaimsClient;
|
|
101
108
|
menusService: import("./index.js").MenusClient;
|
|
102
109
|
notificationsService: import("./index.js").NotificationsClient;
|
|
103
110
|
operationClaimsService: import("./index.js").OperationClaimsClient;
|
|
111
|
+
portalService: import("./index.js").PortalClient;
|
|
104
112
|
queueMonitorService: import("./index.js").QueueMonitorClient;
|
|
105
113
|
metricsService: import("./index.js").MetricsClient;
|
|
106
114
|
healthService: import("./index.js").HealthClient;
|
|
115
|
+
riskService: import("./index.js").RiskClient;
|
|
107
116
|
scanApiBusSourcesService: import("./index.js").ScanApiBusSourcesClient;
|
|
108
117
|
scanApiCredentialsService: import("./index.js").ScanApiCredentialsClient;
|
|
109
118
|
scanApiCredentialUsagesService: import("./index.js").ScanApiCredentialUsagesClient;
|
|
@@ -144,7 +153,6 @@ export declare function getServicesRx(): {
|
|
|
144
153
|
scanTimingRunsService: import("./index.js").ScanTimingRunsClient;
|
|
145
154
|
scanTypesService: import("./index.js").ScanTypesClient;
|
|
146
155
|
scanVisibilityTypesService: import("./index.js").ScanVisibilityTypesClient;
|
|
147
|
-
apiService: import("./index.js").ApiClient;
|
|
148
156
|
internalService: import("./index.js").InternalClient;
|
|
149
157
|
threatConceptsService: import("./index.js").ThreatConceptsClient;
|
|
150
158
|
threatFrameworksService: import("./index.js").ThreatFrameworksClient;
|
|
@@ -173,15 +181,20 @@ export declare function getServicesByMode(mode?: ClientMode): {
|
|
|
173
181
|
baseUserDevicesService: import("./index.js").BaseUserDevicesClient;
|
|
174
182
|
curlTasksService: import("./index.js").CurlTasksClient;
|
|
175
183
|
devicesService: import("./index.js").DevicesClient;
|
|
184
|
+
diagnosticsService: import("./index.js").DiagnosticsClient;
|
|
185
|
+
feedbacksService: import("./index.js").FeedbacksClient;
|
|
186
|
+
apiService: import("./index.js").ApiClient;
|
|
176
187
|
interactionTrackersService: import("./index.js").InteractionTrackersClient;
|
|
177
188
|
menuGroupsService: import("./index.js").MenuGroupsClient;
|
|
178
189
|
menuOperationClaimsService: import("./index.js").MenuOperationClaimsClient;
|
|
179
190
|
menusService: import("./index.js").MenusClient;
|
|
180
191
|
notificationsService: import("./index.js").NotificationsClient;
|
|
181
192
|
operationClaimsService: import("./index.js").OperationClaimsClient;
|
|
193
|
+
portalService: import("./index.js").PortalClient;
|
|
182
194
|
queueMonitorService: import("./index.js").QueueMonitorClient;
|
|
183
195
|
metricsService: import("./index.js").MetricsClient;
|
|
184
196
|
healthService: import("./index.js").HealthClient;
|
|
197
|
+
riskService: import("./index.js").RiskClient;
|
|
185
198
|
scanApiBusSourcesService: import("./index.js").ScanApiBusSourcesClient;
|
|
186
199
|
scanApiCredentialsService: import("./index.js").ScanApiCredentialsClient;
|
|
187
200
|
scanApiCredentialUsagesService: import("./index.js").ScanApiCredentialUsagesClient;
|
|
@@ -222,7 +235,6 @@ export declare function getServicesByMode(mode?: ClientMode): {
|
|
|
222
235
|
scanTimingRunsService: import("./index.js").ScanTimingRunsClient;
|
|
223
236
|
scanTypesService: import("./index.js").ScanTypesClient;
|
|
224
237
|
scanVisibilityTypesService: import("./index.js").ScanVisibilityTypesClient;
|
|
225
|
-
apiService: import("./index.js").ApiClient;
|
|
226
238
|
internalService: import("./index.js").InternalClient;
|
|
227
239
|
threatConceptsService: import("./index.js").ThreatConceptsClient;
|
|
228
240
|
threatFrameworksService: import("./index.js").ThreatFrameworksClient;
|
|
@@ -5,15 +5,20 @@ export * from "./auth-service.js";
|
|
|
5
5
|
export * from "./base-user-devices-service.js";
|
|
6
6
|
export * from "./curl-tasks-service.js";
|
|
7
7
|
export * from "./devices-service.js";
|
|
8
|
+
export * from "./diagnostics-service.js";
|
|
9
|
+
export * from "./feedbacks-service.js";
|
|
10
|
+
export * from "./api-service.js";
|
|
8
11
|
export * from "./interaction-trackers-service.js";
|
|
9
12
|
export * from "./menu-groups-service.js";
|
|
10
13
|
export * from "./menu-operation-claims-service.js";
|
|
11
14
|
export * from "./menus-service.js";
|
|
12
15
|
export * from "./notifications-service.js";
|
|
13
16
|
export * from "./operation-claims-service.js";
|
|
17
|
+
export * from "./portal-service.js";
|
|
14
18
|
export * from "./queue-monitor-service.js";
|
|
15
19
|
export * from "./metrics-service.js";
|
|
16
20
|
export * from "./health-service.js";
|
|
21
|
+
export * from "./risk-service.js";
|
|
17
22
|
export * from "./scan-api-bus-sources-service.js";
|
|
18
23
|
export * from "./scan-api-credentials-service.js";
|
|
19
24
|
export * from "./scan-api-credential-usages-service.js";
|
|
@@ -54,7 +59,6 @@ export * from "./scan-timing-events-service.js";
|
|
|
54
59
|
export * from "./scan-timing-runs-service.js";
|
|
55
60
|
export * from "./scan-types-service.js";
|
|
56
61
|
export * from "./scan-visibility-types-service.js";
|
|
57
|
-
export * from "./api-service.js";
|
|
58
62
|
export * from "./internal-service.js";
|
|
59
63
|
export * from "./threat-concepts-service.js";
|
|
60
64
|
export * from "./threat-frameworks-service.js";
|
|
@@ -5,15 +5,20 @@ export * from "./auth-service.js";
|
|
|
5
5
|
export * from "./base-user-devices-service.js";
|
|
6
6
|
export * from "./curl-tasks-service.js";
|
|
7
7
|
export * from "./devices-service.js";
|
|
8
|
+
export * from "./diagnostics-service.js";
|
|
9
|
+
export * from "./feedbacks-service.js";
|
|
10
|
+
export * from "./api-service.js";
|
|
8
11
|
export * from "./interaction-trackers-service.js";
|
|
9
12
|
export * from "./menu-groups-service.js";
|
|
10
13
|
export * from "./menu-operation-claims-service.js";
|
|
11
14
|
export * from "./menus-service.js";
|
|
12
15
|
export * from "./notifications-service.js";
|
|
13
16
|
export * from "./operation-claims-service.js";
|
|
17
|
+
export * from "./portal-service.js";
|
|
14
18
|
export * from "./queue-monitor-service.js";
|
|
15
19
|
export * from "./metrics-service.js";
|
|
16
20
|
export * from "./health-service.js";
|
|
21
|
+
export * from "./risk-service.js";
|
|
17
22
|
export * from "./scan-api-bus-sources-service.js";
|
|
18
23
|
export * from "./scan-api-credentials-service.js";
|
|
19
24
|
export * from "./scan-api-credential-usages-service.js";
|
|
@@ -54,7 +59,6 @@ export * from "./scan-timing-events-service.js";
|
|
|
54
59
|
export * from "./scan-timing-runs-service.js";
|
|
55
60
|
export * from "./scan-types-service.js";
|
|
56
61
|
export * from "./scan-visibility-types-service.js";
|
|
57
|
-
export * from "./api-service.js";
|
|
58
62
|
export * from "./internal-service.js";
|
|
59
63
|
export * from "./threat-concepts-service.js";
|
|
60
64
|
export * from "./threat-frameworks-service.js";
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { DiagnosticsClient } from "../index.js";
|
|
2
|
+
import type { ApiClientConfig } from "../../base.js";
|
|
3
|
+
export declare function createDiagnosticsServiceRx(config: ApiClientConfig, baseUrl?: string, http?: {
|
|
4
|
+
fetch(url: RequestInfo, init?: RequestInit): Promise<Response>;
|
|
5
|
+
}): import("../../rx.js").Rxified<DiagnosticsClient>;
|
|
6
|
+
export type DiagnosticsServiceRx = ReturnType<typeof createDiagnosticsServiceRx>;
|
|
7
|
+
export declare const diagnosticsServiceRx: (config: ApiClientConfig, baseUrl?: string, http?: {
|
|
8
|
+
fetch(url: RequestInfo, init?: RequestInit): Promise<Response>;
|
|
9
|
+
}) => import("../../rx.js").Rxified<DiagnosticsClient>;
|
|
10
|
+
export declare class DiagnosticsServiceRxClass {
|
|
11
|
+
constructor(config: ApiClientConfig, baseUrl?: string, http?: {
|
|
12
|
+
fetch(url: RequestInfo, init?: RequestInit): Promise<Response>;
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
export interface DiagnosticsServiceRxClass extends DiagnosticsServiceRx {
|
|
16
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { DiagnosticsClient } from "../index.js";
|
|
2
|
+
import { rxifyClient } from "../../rx.js";
|
|
3
|
+
export function createDiagnosticsServiceRx(config, baseUrl, http) {
|
|
4
|
+
return rxifyClient(new DiagnosticsClient(config, baseUrl, http));
|
|
5
|
+
}
|
|
6
|
+
export const diagnosticsServiceRx = (config, baseUrl, http) => createDiagnosticsServiceRx(config, baseUrl, http);
|
|
7
|
+
// Angular DI icin: class token kullandiginda Observable donen wrapper
|
|
8
|
+
export class DiagnosticsServiceRxClass {
|
|
9
|
+
constructor(config, baseUrl, http) {
|
|
10
|
+
return createDiagnosticsServiceRx(config, baseUrl, http);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { FeedbacksClient } from "../index.js";
|
|
2
|
+
import type { ApiClientConfig } from "../../base.js";
|
|
3
|
+
export declare function createFeedbacksServiceRx(config: ApiClientConfig, baseUrl?: string, http?: {
|
|
4
|
+
fetch(url: RequestInfo, init?: RequestInit): Promise<Response>;
|
|
5
|
+
}): import("../../rx.js").Rxified<FeedbacksClient>;
|
|
6
|
+
export type FeedbacksServiceRx = ReturnType<typeof createFeedbacksServiceRx>;
|
|
7
|
+
export declare const feedbacksServiceRx: (config: ApiClientConfig, baseUrl?: string, http?: {
|
|
8
|
+
fetch(url: RequestInfo, init?: RequestInit): Promise<Response>;
|
|
9
|
+
}) => import("../../rx.js").Rxified<FeedbacksClient>;
|
|
10
|
+
export declare class FeedbacksServiceRxClass {
|
|
11
|
+
constructor(config: ApiClientConfig, baseUrl?: string, http?: {
|
|
12
|
+
fetch(url: RequestInfo, init?: RequestInit): Promise<Response>;
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
export interface FeedbacksServiceRxClass extends FeedbacksServiceRx {
|
|
16
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { FeedbacksClient } from "../index.js";
|
|
2
|
+
import { rxifyClient } from "../../rx.js";
|
|
3
|
+
export function createFeedbacksServiceRx(config, baseUrl, http) {
|
|
4
|
+
return rxifyClient(new FeedbacksClient(config, baseUrl, http));
|
|
5
|
+
}
|
|
6
|
+
export const feedbacksServiceRx = (config, baseUrl, http) => createFeedbacksServiceRx(config, baseUrl, http);
|
|
7
|
+
// Angular DI icin: class token kullandiginda Observable donen wrapper
|
|
8
|
+
export class FeedbacksServiceRxClass {
|
|
9
|
+
constructor(config, baseUrl, http) {
|
|
10
|
+
return createFeedbacksServiceRx(config, baseUrl, http);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
@@ -5,15 +5,20 @@ export * from "./auth-service-rx.js";
|
|
|
5
5
|
export * from "./base-user-devices-service-rx.js";
|
|
6
6
|
export * from "./curl-tasks-service-rx.js";
|
|
7
7
|
export * from "./devices-service-rx.js";
|
|
8
|
+
export * from "./diagnostics-service-rx.js";
|
|
9
|
+
export * from "./feedbacks-service-rx.js";
|
|
10
|
+
export * from "./api-service-rx.js";
|
|
8
11
|
export * from "./interaction-trackers-service-rx.js";
|
|
9
12
|
export * from "./menu-groups-service-rx.js";
|
|
10
13
|
export * from "./menu-operation-claims-service-rx.js";
|
|
11
14
|
export * from "./menus-service-rx.js";
|
|
12
15
|
export * from "./notifications-service-rx.js";
|
|
13
16
|
export * from "./operation-claims-service-rx.js";
|
|
17
|
+
export * from "./portal-service-rx.js";
|
|
14
18
|
export * from "./queue-monitor-service-rx.js";
|
|
15
19
|
export * from "./metrics-service-rx.js";
|
|
16
20
|
export * from "./health-service-rx.js";
|
|
21
|
+
export * from "./risk-service-rx.js";
|
|
17
22
|
export * from "./scan-api-bus-sources-service-rx.js";
|
|
18
23
|
export * from "./scan-api-credentials-service-rx.js";
|
|
19
24
|
export * from "./scan-api-credential-usages-service-rx.js";
|
|
@@ -54,7 +59,6 @@ export * from "./scan-timing-events-service-rx.js";
|
|
|
54
59
|
export * from "./scan-timing-runs-service-rx.js";
|
|
55
60
|
export * from "./scan-types-service-rx.js";
|
|
56
61
|
export * from "./scan-visibility-types-service-rx.js";
|
|
57
|
-
export * from "./api-service-rx.js";
|
|
58
62
|
export * from "./internal-service-rx.js";
|
|
59
63
|
export * from "./threat-concepts-service-rx.js";
|
|
60
64
|
export * from "./threat-frameworks-service-rx.js";
|
|
@@ -5,15 +5,20 @@ export * from "./auth-service-rx.js";
|
|
|
5
5
|
export * from "./base-user-devices-service-rx.js";
|
|
6
6
|
export * from "./curl-tasks-service-rx.js";
|
|
7
7
|
export * from "./devices-service-rx.js";
|
|
8
|
+
export * from "./diagnostics-service-rx.js";
|
|
9
|
+
export * from "./feedbacks-service-rx.js";
|
|
10
|
+
export * from "./api-service-rx.js";
|
|
8
11
|
export * from "./interaction-trackers-service-rx.js";
|
|
9
12
|
export * from "./menu-groups-service-rx.js";
|
|
10
13
|
export * from "./menu-operation-claims-service-rx.js";
|
|
11
14
|
export * from "./menus-service-rx.js";
|
|
12
15
|
export * from "./notifications-service-rx.js";
|
|
13
16
|
export * from "./operation-claims-service-rx.js";
|
|
17
|
+
export * from "./portal-service-rx.js";
|
|
14
18
|
export * from "./queue-monitor-service-rx.js";
|
|
15
19
|
export * from "./metrics-service-rx.js";
|
|
16
20
|
export * from "./health-service-rx.js";
|
|
21
|
+
export * from "./risk-service-rx.js";
|
|
17
22
|
export * from "./scan-api-bus-sources-service-rx.js";
|
|
18
23
|
export * from "./scan-api-credentials-service-rx.js";
|
|
19
24
|
export * from "./scan-api-credential-usages-service-rx.js";
|
|
@@ -54,7 +59,6 @@ export * from "./scan-timing-events-service-rx.js";
|
|
|
54
59
|
export * from "./scan-timing-runs-service-rx.js";
|
|
55
60
|
export * from "./scan-types-service-rx.js";
|
|
56
61
|
export * from "./scan-visibility-types-service-rx.js";
|
|
57
|
-
export * from "./api-service-rx.js";
|
|
58
62
|
export * from "./internal-service-rx.js";
|
|
59
63
|
export * from "./threat-concepts-service-rx.js";
|
|
60
64
|
export * from "./threat-frameworks-service-rx.js";
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { PortalClient } from "../index.js";
|
|
2
|
+
import type { ApiClientConfig } from "../../base.js";
|
|
3
|
+
export declare function createPortalServiceRx(config: ApiClientConfig, baseUrl?: string, http?: {
|
|
4
|
+
fetch(url: RequestInfo, init?: RequestInit): Promise<Response>;
|
|
5
|
+
}): import("../../rx.js").Rxified<PortalClient>;
|
|
6
|
+
export type PortalServiceRx = ReturnType<typeof createPortalServiceRx>;
|
|
7
|
+
export declare const portalServiceRx: (config: ApiClientConfig, baseUrl?: string, http?: {
|
|
8
|
+
fetch(url: RequestInfo, init?: RequestInit): Promise<Response>;
|
|
9
|
+
}) => import("../../rx.js").Rxified<PortalClient>;
|
|
10
|
+
export declare class PortalServiceRxClass {
|
|
11
|
+
constructor(config: ApiClientConfig, baseUrl?: string, http?: {
|
|
12
|
+
fetch(url: RequestInfo, init?: RequestInit): Promise<Response>;
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
export interface PortalServiceRxClass extends PortalServiceRx {
|
|
16
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { PortalClient } from "../index.js";
|
|
2
|
+
import { rxifyClient } from "../../rx.js";
|
|
3
|
+
export function createPortalServiceRx(config, baseUrl, http) {
|
|
4
|
+
return rxifyClient(new PortalClient(config, baseUrl, http));
|
|
5
|
+
}
|
|
6
|
+
export const portalServiceRx = (config, baseUrl, http) => createPortalServiceRx(config, baseUrl, http);
|
|
7
|
+
// Angular DI icin: class token kullandiginda Observable donen wrapper
|
|
8
|
+
export class PortalServiceRxClass {
|
|
9
|
+
constructor(config, baseUrl, http) {
|
|
10
|
+
return createPortalServiceRx(config, baseUrl, http);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { RiskClient } from "../index.js";
|
|
2
|
+
import type { ApiClientConfig } from "../../base.js";
|
|
3
|
+
export declare function createRiskServiceRx(config: ApiClientConfig, baseUrl?: string, http?: {
|
|
4
|
+
fetch(url: RequestInfo, init?: RequestInit): Promise<Response>;
|
|
5
|
+
}): import("../../rx.js").Rxified<RiskClient>;
|
|
6
|
+
export type RiskServiceRx = ReturnType<typeof createRiskServiceRx>;
|
|
7
|
+
export declare const riskServiceRx: (config: ApiClientConfig, baseUrl?: string, http?: {
|
|
8
|
+
fetch(url: RequestInfo, init?: RequestInit): Promise<Response>;
|
|
9
|
+
}) => import("../../rx.js").Rxified<RiskClient>;
|
|
10
|
+
export declare class RiskServiceRxClass {
|
|
11
|
+
constructor(config: ApiClientConfig, baseUrl?: string, http?: {
|
|
12
|
+
fetch(url: RequestInfo, init?: RequestInit): Promise<Response>;
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
export interface RiskServiceRxClass extends RiskServiceRx {
|
|
16
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { RiskClient } from "../index.js";
|
|
2
|
+
import { rxifyClient } from "../../rx.js";
|
|
3
|
+
export function createRiskServiceRx(config, baseUrl, http) {
|
|
4
|
+
return rxifyClient(new RiskClient(config, baseUrl, http));
|
|
5
|
+
}
|
|
6
|
+
export const riskServiceRx = (config, baseUrl, http) => createRiskServiceRx(config, baseUrl, http);
|
|
7
|
+
// Angular DI icin: class token kullandiginda Observable donen wrapper
|
|
8
|
+
export class RiskServiceRxClass {
|
|
9
|
+
constructor(config, baseUrl, http) {
|
|
10
|
+
return createRiskServiceRx(config, baseUrl, http);
|
|
11
|
+
}
|
|
12
|
+
}
|