@virusis/api-client 0.1.17 → 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.
Files changed (65) hide show
  1. package/dist/base.d.ts +10 -1
  2. package/dist/base.js +147 -1
  3. package/dist/container.d.ts +9 -0
  4. package/dist/generated/clients/diagnostics-service.d.ts +2 -0
  5. package/dist/generated/clients/diagnostics-service.js +2 -0
  6. package/dist/generated/clients/index.d.ts +3 -0
  7. package/dist/generated/clients/index.js +3 -0
  8. package/dist/generated/clients/portal-service.d.ts +2 -0
  9. package/dist/generated/clients/portal-service.js +2 -0
  10. package/dist/generated/clients/risk-service.d.ts +2 -0
  11. package/dist/generated/clients/risk-service.js +2 -0
  12. package/dist/generated/clients-rx/diagnostics-service-rx.d.ts +16 -0
  13. package/dist/generated/clients-rx/diagnostics-service-rx.js +12 -0
  14. package/dist/generated/clients-rx/index.d.ts +3 -0
  15. package/dist/generated/clients-rx/index.js +3 -0
  16. package/dist/generated/clients-rx/portal-service-rx.d.ts +16 -0
  17. package/dist/generated/clients-rx/portal-service-rx.js +12 -0
  18. package/dist/generated/clients-rx/risk-service-rx.d.ts +16 -0
  19. package/dist/generated/clients-rx/risk-service-rx.js +12 -0
  20. package/dist/generated/index.d.ts +303 -41
  21. package/dist/generated/index.js +529 -37
  22. package/dist/generated/models/access-token-i-data-result.d.ts +4 -0
  23. package/dist/generated/models/access-token-i-data-result.js +1 -0
  24. package/dist/generated/models/access-token.d.ts +4 -0
  25. package/dist/generated/models/access-token.js +1 -0
  26. package/dist/generated/models/application-click-event-batch-dto.d.ts +4 -0
  27. package/dist/generated/models/application-click-event-batch-dto.js +1 -0
  28. package/dist/generated/models/application-click-event-create-dto.d.ts +4 -0
  29. package/dist/generated/models/application-click-event-create-dto.js +1 -0
  30. package/dist/generated/models/feedback-category-dto-list-i-data-result.d.ts +4 -0
  31. package/dist/generated/models/feedback-category-dto-list-i-data-result.js +1 -0
  32. package/dist/generated/models/feedback-category-dto.d.ts +4 -0
  33. package/dist/generated/models/feedback-category-dto.js +1 -0
  34. package/dist/generated/models/index.d.ts +15 -0
  35. package/dist/generated/models/index.js +15 -0
  36. package/dist/generated/models/otp-generate-result.d.ts +4 -0
  37. package/dist/generated/models/otp-generate-result.js +1 -0
  38. package/dist/generated/models/queue-monitor-workers-response.d.ts +4 -0
  39. package/dist/generated/models/queue-monitor-workers-response.js +1 -0
  40. package/dist/generated/models/risk-flag-request-dto.d.ts +4 -0
  41. package/dist/generated/models/risk-flag-request-dto.js +1 -0
  42. package/dist/generated/models/risk-signal-avg-dto.d.ts +4 -0
  43. package/dist/generated/models/risk-signal-avg-dto.js +1 -0
  44. package/dist/generated/models/risk-signal-client-dto.d.ts +4 -0
  45. package/dist/generated/models/risk-signal-client-dto.js +1 -0
  46. package/dist/generated/models/risk-signal-counts-dto.d.ts +4 -0
  47. package/dist/generated/models/risk-signal-counts-dto.js +1 -0
  48. package/dist/generated/models/risk-signals-dto.d.ts +4 -0
  49. package/dist/generated/models/risk-signals-dto.js +1 -0
  50. package/dist/generated/models/risk-state-dto.d.ts +4 -0
  51. package/dist/generated/models/risk-state-dto.js +1 -0
  52. package/dist/generated/models/risk-verify-dto.d.ts +4 -0
  53. package/dist/generated/models/risk-verify-dto.js +1 -0
  54. package/dist/index.d.ts +1 -0
  55. package/dist/index.js +1 -0
  56. package/dist/rx.d.ts +18 -0
  57. package/dist/security/index.d.ts +4 -0
  58. package/dist/security/index.js +2 -0
  59. package/dist/security/input-security-policy.d.ts +23 -0
  60. package/dist/security/input-security-policy.js +5 -0
  61. package/dist/security/input-security-service.d.ts +3 -0
  62. package/dist/security/input-security-service.js +153 -0
  63. package/dist/security/request-sanitizer.d.ts +18 -0
  64. package/dist/security/request-sanitizer.js +242 -0
  65. package/package.json +9 -4
package/dist/base.d.ts CHANGED
@@ -3,7 +3,16 @@ export declare class ApiClientConfig {
3
3
  getToken?: (() => string | null | Promise<string | null>) | undefined;
4
4
  getAppKey?: (() => string | null | Promise<string | null>) | undefined;
5
5
  appKeyHeaderName: string;
6
- constructor(baseUrl: string, getToken?: (() => string | null | Promise<string | null>) | undefined, getAppKey?: (() => string | null | Promise<string | null>) | undefined, 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[]);
7
16
  }
8
17
  export declare class BaseApiClient {
9
18
  protected readonly configuration: ApiClientConfig;
package/dist/base.js CHANGED
@@ -5,13 +5,19 @@ export class ApiClientConfig {
5
5
  // Deger AppKey (ornek: "0101000" trial UI, "0201000" private API backend).
6
6
  getAppKey,
7
7
  // Header adi configurable — default "X-App-Key".
8
- appKeyHeaderName = "X-App-Key") {
8
+ appKeyHeaderName = "X-App-Key",
9
+ // INPUT-SECURITY-2026-05-03: Defensive sanitization for requests
10
+ sanitizeRequests = true, onInputSecurityEvent, trustedAbsoluteHosts = []) {
9
11
  this.baseUrl = baseUrl;
10
12
  this.getToken = getToken;
11
13
  this.getAppKey = getAppKey;
12
14
  this.appKeyHeaderName = appKeyHeaderName;
15
+ this.sanitizeRequests = sanitizeRequests;
16
+ this.onInputSecurityEvent = onInputSecurityEvent;
17
+ this.trustedAbsoluteHosts = trustedAbsoluteHosts;
13
18
  }
14
19
  }
20
+ import { validatePath, sanitizeBody, validateAbsoluteUrl } from "./security/request-sanitizer.js";
15
21
  export class BaseApiClient {
16
22
  constructor(configuration) {
17
23
  this.configuration = configuration;
@@ -26,6 +32,24 @@ export async function doFetch(cfg, path, init) {
26
32
  if (!cfg.baseUrl) {
27
33
  throw new Error("ApiClientConfig.baseUrl is required and must be absolute.");
28
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
+ }
29
53
  const headers = new Headers(init?.headers || {});
30
54
  headers.set("Accept", "application/json");
31
55
  if (!headers.has("Content-Type"))
@@ -49,6 +73,23 @@ export async function doFetchAbsolute(cfg, url, init) {
49
73
  if (!cfg.baseUrl) {
50
74
  throw new Error("ApiClientConfig.baseUrl is required and must be absolute.");
51
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
+ }
52
93
  const headers = new Headers(init?.headers || {});
53
94
  headers.set("Accept", "application/json");
54
95
  if (!headers.has("Content-Type"))
@@ -70,6 +111,10 @@ export async function doFetchAbsolute(cfg, url, init) {
70
111
  function buildUrl(base, path) {
71
112
  const trimmedBase = base.replace(/\/+$/, "");
72
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
+ }
73
118
  if (trimmedPath && !trimmedPath.startsWith("/")) {
74
119
  trimmedPath = "/" + trimmedPath;
75
120
  }
@@ -82,6 +127,19 @@ function buildUrl(base, path) {
82
127
  // Returns a fetch function that injects auth + default headers, keeps Response intact
83
128
  export function buildAuthFetch(cfg) {
84
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
+ }
85
143
  const headers = new Headers(init?.headers || {});
86
144
  headers.set("Accept", "application/json");
87
145
  if (!headers.has("Content-Type"))
@@ -131,3 +189,91 @@ export function buildHttpWithDefaults(cfg, defaults) {
131
189
  },
132
190
  };
133
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
+ }
@@ -18,6 +18,7 @@ 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;
21
22
  feedbacksService: import("./index.js").FeedbacksClient;
22
23
  apiService: import("./index.js").ApiClient;
23
24
  interactionTrackersService: import("./index.js").InteractionTrackersClient;
@@ -26,9 +27,11 @@ export declare function getServices(): {
26
27
  menusService: import("./index.js").MenusClient;
27
28
  notificationsService: import("./index.js").NotificationsClient;
28
29
  operationClaimsService: import("./index.js").OperationClaimsClient;
30
+ portalService: import("./index.js").PortalClient;
29
31
  queueMonitorService: import("./index.js").QueueMonitorClient;
30
32
  metricsService: import("./index.js").MetricsClient;
31
33
  healthService: import("./index.js").HealthClient;
34
+ riskService: import("./index.js").RiskClient;
32
35
  scanApiBusSourcesService: import("./index.js").ScanApiBusSourcesClient;
33
36
  scanApiCredentialsService: import("./index.js").ScanApiCredentialsClient;
34
37
  scanApiCredentialUsagesService: import("./index.js").ScanApiCredentialUsagesClient;
@@ -96,6 +99,7 @@ export declare function getServicesRx(): {
96
99
  baseUserDevicesService: import("./index.js").BaseUserDevicesClient;
97
100
  curlTasksService: import("./index.js").CurlTasksClient;
98
101
  devicesService: import("./index.js").DevicesClient;
102
+ diagnosticsService: import("./index.js").DiagnosticsClient;
99
103
  feedbacksService: import("./index.js").FeedbacksClient;
100
104
  apiService: import("./index.js").ApiClient;
101
105
  interactionTrackersService: import("./index.js").InteractionTrackersClient;
@@ -104,9 +108,11 @@ export declare function getServicesRx(): {
104
108
  menusService: import("./index.js").MenusClient;
105
109
  notificationsService: import("./index.js").NotificationsClient;
106
110
  operationClaimsService: import("./index.js").OperationClaimsClient;
111
+ portalService: import("./index.js").PortalClient;
107
112
  queueMonitorService: import("./index.js").QueueMonitorClient;
108
113
  metricsService: import("./index.js").MetricsClient;
109
114
  healthService: import("./index.js").HealthClient;
115
+ riskService: import("./index.js").RiskClient;
110
116
  scanApiBusSourcesService: import("./index.js").ScanApiBusSourcesClient;
111
117
  scanApiCredentialsService: import("./index.js").ScanApiCredentialsClient;
112
118
  scanApiCredentialUsagesService: import("./index.js").ScanApiCredentialUsagesClient;
@@ -175,6 +181,7 @@ export declare function getServicesByMode(mode?: ClientMode): {
175
181
  baseUserDevicesService: import("./index.js").BaseUserDevicesClient;
176
182
  curlTasksService: import("./index.js").CurlTasksClient;
177
183
  devicesService: import("./index.js").DevicesClient;
184
+ diagnosticsService: import("./index.js").DiagnosticsClient;
178
185
  feedbacksService: import("./index.js").FeedbacksClient;
179
186
  apiService: import("./index.js").ApiClient;
180
187
  interactionTrackersService: import("./index.js").InteractionTrackersClient;
@@ -183,9 +190,11 @@ export declare function getServicesByMode(mode?: ClientMode): {
183
190
  menusService: import("./index.js").MenusClient;
184
191
  notificationsService: import("./index.js").NotificationsClient;
185
192
  operationClaimsService: import("./index.js").OperationClaimsClient;
193
+ portalService: import("./index.js").PortalClient;
186
194
  queueMonitorService: import("./index.js").QueueMonitorClient;
187
195
  metricsService: import("./index.js").MetricsClient;
188
196
  healthService: import("./index.js").HealthClient;
197
+ riskService: import("./index.js").RiskClient;
189
198
  scanApiBusSourcesService: import("./index.js").ScanApiBusSourcesClient;
190
199
  scanApiCredentialsService: import("./index.js").ScanApiCredentialsClient;
191
200
  scanApiCredentialUsagesService: import("./index.js").ScanApiCredentialUsagesClient;
@@ -0,0 +1,2 @@
1
+ export { DiagnosticsClient, DiagnosticsClient as DiagnosticsService, IDiagnosticsClient } from "../index.js";
2
+ export { DiagnosticsClient as diagnosticsService, IDiagnosticsClient as iDiagnosticsClient } from "../index.js";
@@ -0,0 +1,2 @@
1
+ export { DiagnosticsClient, DiagnosticsClient as DiagnosticsService } from "../index.js";
2
+ export { DiagnosticsClient as diagnosticsService } from "../index.js";
@@ -5,6 +5,7 @@ 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";
8
9
  export * from "./feedbacks-service.js";
9
10
  export * from "./api-service.js";
10
11
  export * from "./interaction-trackers-service.js";
@@ -13,9 +14,11 @@ export * from "./menu-operation-claims-service.js";
13
14
  export * from "./menus-service.js";
14
15
  export * from "./notifications-service.js";
15
16
  export * from "./operation-claims-service.js";
17
+ export * from "./portal-service.js";
16
18
  export * from "./queue-monitor-service.js";
17
19
  export * from "./metrics-service.js";
18
20
  export * from "./health-service.js";
21
+ export * from "./risk-service.js";
19
22
  export * from "./scan-api-bus-sources-service.js";
20
23
  export * from "./scan-api-credentials-service.js";
21
24
  export * from "./scan-api-credential-usages-service.js";
@@ -5,6 +5,7 @@ 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";
8
9
  export * from "./feedbacks-service.js";
9
10
  export * from "./api-service.js";
10
11
  export * from "./interaction-trackers-service.js";
@@ -13,9 +14,11 @@ export * from "./menu-operation-claims-service.js";
13
14
  export * from "./menus-service.js";
14
15
  export * from "./notifications-service.js";
15
16
  export * from "./operation-claims-service.js";
17
+ export * from "./portal-service.js";
16
18
  export * from "./queue-monitor-service.js";
17
19
  export * from "./metrics-service.js";
18
20
  export * from "./health-service.js";
21
+ export * from "./risk-service.js";
19
22
  export * from "./scan-api-bus-sources-service.js";
20
23
  export * from "./scan-api-credentials-service.js";
21
24
  export * from "./scan-api-credential-usages-service.js";
@@ -0,0 +1,2 @@
1
+ export { PortalClient, PortalClient as PortalService, IPortalClient } from "../index.js";
2
+ export { PortalClient as portalService, IPortalClient as iPortalClient } from "../index.js";
@@ -0,0 +1,2 @@
1
+ export { PortalClient, PortalClient as PortalService } from "../index.js";
2
+ export { PortalClient as portalService } from "../index.js";
@@ -0,0 +1,2 @@
1
+ export { RiskClient, RiskClient as RiskService, IRiskClient } from "../index.js";
2
+ export { RiskClient as riskService, IRiskClient as iRiskClient } from "../index.js";
@@ -0,0 +1,2 @@
1
+ export { RiskClient, RiskClient as RiskService } from "../index.js";
2
+ export { RiskClient as riskService } from "../index.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
+ }
@@ -5,6 +5,7 @@ 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";
8
9
  export * from "./feedbacks-service-rx.js";
9
10
  export * from "./api-service-rx.js";
10
11
  export * from "./interaction-trackers-service-rx.js";
@@ -13,9 +14,11 @@ export * from "./menu-operation-claims-service-rx.js";
13
14
  export * from "./menus-service-rx.js";
14
15
  export * from "./notifications-service-rx.js";
15
16
  export * from "./operation-claims-service-rx.js";
17
+ export * from "./portal-service-rx.js";
16
18
  export * from "./queue-monitor-service-rx.js";
17
19
  export * from "./metrics-service-rx.js";
18
20
  export * from "./health-service-rx.js";
21
+ export * from "./risk-service-rx.js";
19
22
  export * from "./scan-api-bus-sources-service-rx.js";
20
23
  export * from "./scan-api-credentials-service-rx.js";
21
24
  export * from "./scan-api-credential-usages-service-rx.js";
@@ -5,6 +5,7 @@ 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";
8
9
  export * from "./feedbacks-service-rx.js";
9
10
  export * from "./api-service-rx.js";
10
11
  export * from "./interaction-trackers-service-rx.js";
@@ -13,9 +14,11 @@ export * from "./menu-operation-claims-service-rx.js";
13
14
  export * from "./menus-service-rx.js";
14
15
  export * from "./notifications-service-rx.js";
15
16
  export * from "./operation-claims-service-rx.js";
17
+ export * from "./portal-service-rx.js";
16
18
  export * from "./queue-monitor-service-rx.js";
17
19
  export * from "./metrics-service-rx.js";
18
20
  export * from "./health-service-rx.js";
21
+ export * from "./risk-service-rx.js";
19
22
  export * from "./scan-api-bus-sources-service-rx.js";
20
23
  export * from "./scan-api-credentials-service-rx.js";
21
24
  export * from "./scan-api-credential-usages-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
+ }