@virusis/api-client 0.1.16 → 0.1.17

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 CHANGED
@@ -1,7 +1,9 @@
1
1
  export declare class ApiClientConfig {
2
2
  baseUrl: string;
3
3
  getToken?: (() => string | null | Promise<string | null>) | undefined;
4
- constructor(baseUrl: string, getToken?: (() => string | null | Promise<string | null>) | undefined);
4
+ getAppKey?: (() => string | null | Promise<string | null>) | undefined;
5
+ appKeyHeaderName: string;
6
+ constructor(baseUrl: string, getToken?: (() => string | null | Promise<string | null>) | undefined, getAppKey?: (() => string | null | Promise<string | null>) | undefined, appKeyHeaderName?: string);
5
7
  }
6
8
  export declare class BaseApiClient {
7
9
  protected readonly configuration: ApiClientConfig;
package/dist/base.js CHANGED
@@ -1,7 +1,15 @@
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") {
3
9
  this.baseUrl = baseUrl;
4
10
  this.getToken = getToken;
11
+ this.getAppKey = getAppKey;
12
+ this.appKeyHeaderName = appKeyHeaderName;
5
13
  }
6
14
  }
7
15
  export class BaseApiClient {
@@ -25,6 +33,8 @@ export async function doFetch(cfg, path, init) {
25
33
  const token = cfg.getToken ? await cfg.getToken() : null;
26
34
  if (token)
27
35
  headers.set("Authorization", `Bearer ${token}`);
36
+ // CREDENTIAL-GROUPING-2026-04-23
37
+ await applyAppKeyHeader(headers, cfg);
28
38
  const url = buildUrl(cfg.baseUrl, path);
29
39
  const res = await fetch(url, { ...init, headers });
30
40
  if (!res.ok) {
@@ -46,6 +56,8 @@ export async function doFetchAbsolute(cfg, url, init) {
46
56
  const token = cfg.getToken ? await cfg.getToken() : null;
47
57
  if (token)
48
58
  headers.set("Authorization", `Bearer ${token}`);
59
+ // CREDENTIAL-GROUPING-2026-04-23
60
+ await applyAppKeyHeader(headers, cfg);
49
61
  const res = await fetch(url, { ...init, headers });
50
62
  if (!res.ok) {
51
63
  const text = await res.text().catch(() => "");
@@ -77,11 +89,26 @@ export function buildAuthFetch(cfg) {
77
89
  const token = cfg.getToken ? await cfg.getToken() : null;
78
90
  if (token)
79
91
  headers.set("Authorization", `Bearer ${token}`);
92
+ // CREDENTIAL-GROUPING-2026-04-23
93
+ await applyAppKeyHeader(headers, cfg);
80
94
  const headersInit = {};
81
95
  headers.forEach((v, k) => (headersInit[k] = v));
82
96
  return fetch(url, { ...init, headers: headersInit });
83
97
  };
84
98
  }
99
+ // CREDENTIAL-GROUPING-2026-04-23
100
+ // Uc fetch helper icin ortak X-App-Key uygulayicisi.
101
+ // cfg.getAppKey varsa async olarak cagirir ve header'i set eder (call-site override varsa dokunmaz).
102
+ async function applyAppKeyHeader(headers, cfg) {
103
+ if (!cfg.getAppKey)
104
+ return;
105
+ const headerName = cfg.appKeyHeaderName || "X-App-Key";
106
+ if (headers.has(headerName))
107
+ return; // call-site override ONCELIK
108
+ const appKey = await cfg.getAppKey();
109
+ if (appKey)
110
+ headers.set(headerName, appKey);
111
+ }
85
112
  // Build an http object with defaults (credentials, extra headers etc.) applied on top of auth fetch
86
113
  export function buildHttpWithDefaults(cfg, defaults) {
87
114
  const authFetch = buildAuthFetch(cfg);
@@ -18,6 +18,8 @@ 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
+ feedbacksService: import("./index.js").FeedbacksClient;
22
+ apiService: import("./index.js").ApiClient;
21
23
  interactionTrackersService: import("./index.js").InteractionTrackersClient;
22
24
  menuGroupsService: import("./index.js").MenuGroupsClient;
23
25
  menuOperationClaimsService: import("./index.js").MenuOperationClaimsClient;
@@ -67,7 +69,6 @@ export declare function getServices(): {
67
69
  scanTimingRunsService: import("./index.js").ScanTimingRunsClient;
68
70
  scanTypesService: import("./index.js").ScanTypesClient;
69
71
  scanVisibilityTypesService: import("./index.js").ScanVisibilityTypesClient;
70
- apiService: import("./index.js").ApiClient;
71
72
  internalService: import("./index.js").InternalClient;
72
73
  threatConceptsService: import("./index.js").ThreatConceptsClient;
73
74
  threatFrameworksService: import("./index.js").ThreatFrameworksClient;
@@ -95,6 +96,8 @@ export declare function getServicesRx(): {
95
96
  baseUserDevicesService: import("./index.js").BaseUserDevicesClient;
96
97
  curlTasksService: import("./index.js").CurlTasksClient;
97
98
  devicesService: import("./index.js").DevicesClient;
99
+ feedbacksService: import("./index.js").FeedbacksClient;
100
+ apiService: import("./index.js").ApiClient;
98
101
  interactionTrackersService: import("./index.js").InteractionTrackersClient;
99
102
  menuGroupsService: import("./index.js").MenuGroupsClient;
100
103
  menuOperationClaimsService: import("./index.js").MenuOperationClaimsClient;
@@ -144,7 +147,6 @@ export declare function getServicesRx(): {
144
147
  scanTimingRunsService: import("./index.js").ScanTimingRunsClient;
145
148
  scanTypesService: import("./index.js").ScanTypesClient;
146
149
  scanVisibilityTypesService: import("./index.js").ScanVisibilityTypesClient;
147
- apiService: import("./index.js").ApiClient;
148
150
  internalService: import("./index.js").InternalClient;
149
151
  threatConceptsService: import("./index.js").ThreatConceptsClient;
150
152
  threatFrameworksService: import("./index.js").ThreatFrameworksClient;
@@ -173,6 +175,8 @@ export declare function getServicesByMode(mode?: ClientMode): {
173
175
  baseUserDevicesService: import("./index.js").BaseUserDevicesClient;
174
176
  curlTasksService: import("./index.js").CurlTasksClient;
175
177
  devicesService: import("./index.js").DevicesClient;
178
+ feedbacksService: import("./index.js").FeedbacksClient;
179
+ apiService: import("./index.js").ApiClient;
176
180
  interactionTrackersService: import("./index.js").InteractionTrackersClient;
177
181
  menuGroupsService: import("./index.js").MenuGroupsClient;
178
182
  menuOperationClaimsService: import("./index.js").MenuOperationClaimsClient;
@@ -222,7 +226,6 @@ export declare function getServicesByMode(mode?: ClientMode): {
222
226
  scanTimingRunsService: import("./index.js").ScanTimingRunsClient;
223
227
  scanTypesService: import("./index.js").ScanTypesClient;
224
228
  scanVisibilityTypesService: import("./index.js").ScanVisibilityTypesClient;
225
- apiService: import("./index.js").ApiClient;
226
229
  internalService: import("./index.js").InternalClient;
227
230
  threatConceptsService: import("./index.js").ThreatConceptsClient;
228
231
  threatFrameworksService: import("./index.js").ThreatFrameworksClient;
@@ -0,0 +1,2 @@
1
+ export { FeedbacksClient, FeedbacksClient as FeedbacksService, IFeedbacksClient } from "../index.js";
2
+ export { FeedbacksClient as feedbacksService, IFeedbacksClient as iFeedbacksClient } from "../index.js";
@@ -0,0 +1,2 @@
1
+ export { FeedbacksClient, FeedbacksClient as FeedbacksService } from "../index.js";
2
+ export { FeedbacksClient as feedbacksService } from "../index.js";
@@ -5,6 +5,8 @@ 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 "./feedbacks-service.js";
9
+ export * from "./api-service.js";
8
10
  export * from "./interaction-trackers-service.js";
9
11
  export * from "./menu-groups-service.js";
10
12
  export * from "./menu-operation-claims-service.js";
@@ -54,7 +56,6 @@ export * from "./scan-timing-events-service.js";
54
56
  export * from "./scan-timing-runs-service.js";
55
57
  export * from "./scan-types-service.js";
56
58
  export * from "./scan-visibility-types-service.js";
57
- export * from "./api-service.js";
58
59
  export * from "./internal-service.js";
59
60
  export * from "./threat-concepts-service.js";
60
61
  export * from "./threat-frameworks-service.js";
@@ -5,6 +5,8 @@ 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 "./feedbacks-service.js";
9
+ export * from "./api-service.js";
8
10
  export * from "./interaction-trackers-service.js";
9
11
  export * from "./menu-groups-service.js";
10
12
  export * from "./menu-operation-claims-service.js";
@@ -54,7 +56,6 @@ export * from "./scan-timing-events-service.js";
54
56
  export * from "./scan-timing-runs-service.js";
55
57
  export * from "./scan-types-service.js";
56
58
  export * from "./scan-visibility-types-service.js";
57
- export * from "./api-service.js";
58
59
  export * from "./internal-service.js";
59
60
  export * from "./threat-concepts-service.js";
60
61
  export * from "./threat-frameworks-service.js";
@@ -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,6 +5,8 @@ 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 "./feedbacks-service-rx.js";
9
+ export * from "./api-service-rx.js";
8
10
  export * from "./interaction-trackers-service-rx.js";
9
11
  export * from "./menu-groups-service-rx.js";
10
12
  export * from "./menu-operation-claims-service-rx.js";
@@ -54,7 +56,6 @@ export * from "./scan-timing-events-service-rx.js";
54
56
  export * from "./scan-timing-runs-service-rx.js";
55
57
  export * from "./scan-types-service-rx.js";
56
58
  export * from "./scan-visibility-types-service-rx.js";
57
- export * from "./api-service-rx.js";
58
59
  export * from "./internal-service-rx.js";
59
60
  export * from "./threat-concepts-service-rx.js";
60
61
  export * from "./threat-frameworks-service-rx.js";
@@ -5,6 +5,8 @@ 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 "./feedbacks-service-rx.js";
9
+ export * from "./api-service-rx.js";
8
10
  export * from "./interaction-trackers-service-rx.js";
9
11
  export * from "./menu-groups-service-rx.js";
10
12
  export * from "./menu-operation-claims-service-rx.js";
@@ -54,7 +56,6 @@ export * from "./scan-timing-events-service-rx.js";
54
56
  export * from "./scan-timing-runs-service-rx.js";
55
57
  export * from "./scan-types-service-rx.js";
56
58
  export * from "./scan-visibility-types-service-rx.js";
57
- export * from "./api-service-rx.js";
58
59
  export * from "./internal-service-rx.js";
59
60
  export * from "./threat-concepts-service-rx.js";
60
61
  export * from "./threat-frameworks-service-rx.js";
@@ -684,6 +684,72 @@ export declare class DevicesClient extends BaseApiClient implements IDevicesClie
684
684
  getFiltersBase(body?: DeviceForTableFilterDataTableQuery | undefined, signal?: AbortSignal): Promise<DeviceForTableDtoListResultFilterIDataResult>;
685
685
  protected processGetFiltersBase(response: Response): Promise<DeviceForTableDtoListResultFilterIDataResult>;
686
686
  }
687
+ export interface IFeedbacksClient extends IEntity {
688
+ /**
689
+ * @param feedbackTypeId (optional)
690
+ * @return OK
691
+ */
692
+ categories(feedbackTypeId?: number | undefined, signal?: AbortSignal): Promise<any>;
693
+ }
694
+ export declare class FeedbacksClient extends BaseApiClient implements IFeedbacksClient {
695
+ private http;
696
+ private baseUrl;
697
+ protected jsonParseReviver: ((key: string, value: any) => any) | undefined;
698
+ constructor(configuration: ApiClientConfig, baseUrl?: string, http?: {
699
+ fetch(url: RequestInfo, init?: RequestInit): Promise<Response>;
700
+ });
701
+ /**
702
+ * @param feedbackTypeId (optional)
703
+ * @return OK
704
+ */
705
+ categories(feedbackTypeId?: number | undefined, signal?: AbortSignal): Promise<any>;
706
+ protected processCategories(response: Response): Promise<any>;
707
+ }
708
+ export interface IApiClient extends IEntity {
709
+ /**
710
+ * @param dto (optional)
711
+ * @param screenshot (optional)
712
+ * @param networkSnapshot (optional)
713
+ * @return OK
714
+ */
715
+ feedbacks(dto?: string | undefined, screenshot?: FileParameter | undefined, networkSnapshot?: FileParameter | undefined, signal?: AbortSignal): Promise<any>;
716
+ /**
717
+ * @param body (optional)
718
+ * @return OK
719
+ */
720
+ shareLinksPost(body?: CreateShareLinkRequest | undefined, signal?: AbortSignal): Promise<any>;
721
+ /**
722
+ * @return OK
723
+ */
724
+ shareLinksGet(code: string, signal?: AbortSignal): Promise<any>;
725
+ }
726
+ export declare class ApiClient extends BaseApiClient implements IApiClient {
727
+ private http;
728
+ private baseUrl;
729
+ protected jsonParseReviver: ((key: string, value: any) => any) | undefined;
730
+ constructor(configuration: ApiClientConfig, baseUrl?: string, http?: {
731
+ fetch(url: RequestInfo, init?: RequestInit): Promise<Response>;
732
+ });
733
+ /**
734
+ * @param dto (optional)
735
+ * @param screenshot (optional)
736
+ * @param networkSnapshot (optional)
737
+ * @return OK
738
+ */
739
+ feedbacks(dto?: string | undefined, screenshot?: FileParameter | undefined, networkSnapshot?: FileParameter | undefined, signal?: AbortSignal): Promise<any>;
740
+ protected processFeedbacks(response: Response): Promise<any>;
741
+ /**
742
+ * @param body (optional)
743
+ * @return OK
744
+ */
745
+ shareLinksPost(body?: CreateShareLinkRequest | undefined, signal?: AbortSignal): Promise<any>;
746
+ protected processShareLinksPost(response: Response): Promise<any>;
747
+ /**
748
+ * @return OK
749
+ */
750
+ shareLinksGet(code: string, signal?: AbortSignal): Promise<any>;
751
+ protected processShareLinksGet(response: Response): Promise<any>;
752
+ }
687
753
  export interface IInteractionTrackersClient extends IEntity {
688
754
  /**
689
755
  * @param body (optional)
@@ -3823,9 +3889,10 @@ export interface IScanEngineImagesClient extends IEntity {
3823
3889
  */
3824
3890
  saveImageBySearch(imageName?: string | undefined, signal?: AbortSignal): Promise<IResult>;
3825
3891
  /**
3892
+ * @param force (optional)
3826
3893
  * @return OK
3827
3894
  */
3828
- saveImagesBySearch(signal?: AbortSignal): Promise<IResult>;
3895
+ saveImagesBySearch(force?: boolean | undefined, signal?: AbortSignal): Promise<IResult>;
3829
3896
  /**
3830
3897
  * @param id (optional)
3831
3898
  * @param scanEngineId (optional)
@@ -3912,9 +3979,10 @@ export declare class ScanEngineImagesClient extends BaseApiClient implements ISc
3912
3979
  saveImageBySearch(imageName?: string | undefined, signal?: AbortSignal): Promise<IResult>;
3913
3980
  protected processSaveImageBySearch(response: Response): Promise<IResult>;
3914
3981
  /**
3982
+ * @param force (optional)
3915
3983
  * @return OK
3916
3984
  */
3917
- saveImagesBySearch(signal?: AbortSignal): Promise<IResult>;
3985
+ saveImagesBySearch(force?: boolean | undefined, signal?: AbortSignal): Promise<IResult>;
3918
3986
  protected processSaveImagesBySearch(response: Response): Promise<IResult>;
3919
3987
  /**
3920
3988
  * @param id (optional)
@@ -4355,6 +4423,10 @@ export interface IScansClient extends IEntity {
4355
4423
  * @return OK
4356
4424
  */
4357
4425
  completeScan(guid?: string | undefined, signal?: AbortSignal): Promise<IResult>;
4426
+ /**
4427
+ * @return OK
4428
+ */
4429
+ status(guid: string, signal?: AbortSignal): Promise<ScanStatusDtoIDataResult>;
4358
4430
  /**
4359
4431
  * @param body (optional)
4360
4432
  * @return OK
@@ -4468,6 +4540,11 @@ export declare class ScansClient extends BaseApiClient implements IScansClient {
4468
4540
  */
4469
4541
  completeScan(guid?: string | undefined, signal?: AbortSignal): Promise<IResult>;
4470
4542
  protected processCompleteScan(response: Response): Promise<IResult>;
4543
+ /**
4544
+ * @return OK
4545
+ */
4546
+ status(guid: string, signal?: AbortSignal): Promise<ScanStatusDtoIDataResult>;
4547
+ protected processStatus(response: Response): Promise<ScanStatusDtoIDataResult>;
4471
4548
  /**
4472
4549
  * @param body (optional)
4473
4550
  * @return OK
@@ -6294,36 +6371,6 @@ export declare class ScanVisibilityTypesClient extends BaseApiClient implements
6294
6371
  getFiltersBase(body?: ScanVisibilityTypeForTableFilterDataTableQuery | undefined, signal?: AbortSignal): Promise<ScanVisibilityTypeForTableDtoListResultFilterIDataResult>;
6295
6372
  protected processGetFiltersBase(response: Response): Promise<ScanVisibilityTypeForTableDtoListResultFilterIDataResult>;
6296
6373
  }
6297
- export interface IApiClient extends IEntity {
6298
- /**
6299
- * @param body (optional)
6300
- * @return OK
6301
- */
6302
- shareLinksPost(body?: CreateShareLinkRequest | undefined, signal?: AbortSignal): Promise<any>;
6303
- /**
6304
- * @return OK
6305
- */
6306
- shareLinksGet(code: string, signal?: AbortSignal): Promise<any>;
6307
- }
6308
- export declare class ApiClient extends BaseApiClient implements IApiClient {
6309
- private http;
6310
- private baseUrl;
6311
- protected jsonParseReviver: ((key: string, value: any) => any) | undefined;
6312
- constructor(configuration: ApiClientConfig, baseUrl?: string, http?: {
6313
- fetch(url: RequestInfo, init?: RequestInit): Promise<Response>;
6314
- });
6315
- /**
6316
- * @param body (optional)
6317
- * @return OK
6318
- */
6319
- shareLinksPost(body?: CreateShareLinkRequest | undefined, signal?: AbortSignal): Promise<any>;
6320
- protected processShareLinksPost(response: Response): Promise<any>;
6321
- /**
6322
- * @return OK
6323
- */
6324
- shareLinksGet(code: string, signal?: AbortSignal): Promise<any>;
6325
- protected processShareLinksGet(response: Response): Promise<any>;
6326
- }
6327
6374
  export interface IInternalClient extends IEntity {
6328
6375
  /**
6329
6376
  * @return OK
@@ -7111,6 +7158,10 @@ export interface ITrialUsersClient extends IEntity {
7111
7158
  * @return OK
7112
7159
  */
7113
7160
  getByMail(mail?: string | undefined, signal?: AbortSignal): Promise<TrialUserIDataResult>;
7161
+ /**
7162
+ * @return OK
7163
+ */
7164
+ markFirstFeedbackShown(signal?: AbortSignal): Promise<any>;
7114
7165
  /**
7115
7166
  * @param body (optional)
7116
7167
  * @return OK
@@ -7170,6 +7221,11 @@ export declare class TrialUsersClient extends BaseApiClient implements ITrialUse
7170
7221
  */
7171
7222
  getByMail(mail?: string | undefined, signal?: AbortSignal): Promise<TrialUserIDataResult>;
7172
7223
  protected processGetByMail(response: Response): Promise<TrialUserIDataResult>;
7224
+ /**
7225
+ * @return OK
7226
+ */
7227
+ markFirstFeedbackShown(signal?: AbortSignal): Promise<any>;
7228
+ protected processMarkFirstFeedbackShown(response: Response): Promise<any>;
7173
7229
  /**
7174
7230
  * @param body (optional)
7175
7231
  * @return OK
@@ -11245,6 +11301,18 @@ export interface ScanStaticSectionListIDataResult extends IEntity {
11245
11301
  readonly message?: string | undefined;
11246
11302
  readonly data?: ScanStaticSection[] | undefined;
11247
11303
  }
11304
+ export interface ScanStatusDto extends IDto {
11305
+ id?: number;
11306
+ guid?: string | undefined;
11307
+ processingState?: string | undefined;
11308
+ isTerminal?: boolean;
11309
+ updateTime?: Date | undefined;
11310
+ }
11311
+ export interface ScanStatusDtoIDataResult extends IEntity {
11312
+ readonly success?: boolean;
11313
+ readonly message?: string | undefined;
11314
+ data?: ScanStatusDto;
11315
+ }
11248
11316
  export interface ScanSummaryDto extends IDto {
11249
11317
  scanGuid?: string | undefined;
11250
11318
  submissionName?: string | undefined;
@@ -12015,6 +12083,7 @@ export interface TrialUser extends IEntity {
12015
12083
  id?: number;
12016
12084
  baseUserId?: number;
12017
12085
  viewKey?: string;
12086
+ firstScanFeedbackShownAt?: Date | undefined;
12018
12087
  updateTime?: Date | undefined;
12019
12088
  status?: boolean | undefined;
12020
12089
  }
@@ -2407,6 +2407,192 @@ export class DevicesClient extends BaseApiClient {
2407
2407
  return Promise.resolve(null);
2408
2408
  }
2409
2409
  }
2410
+ export class FeedbacksClient extends BaseApiClient {
2411
+ constructor(configuration, baseUrl, http) {
2412
+ super(configuration);
2413
+ this.jsonParseReviver = undefined;
2414
+ this.http = http ? http : { fetch: buildAuthFetch(configuration) };
2415
+ this.baseUrl = (baseUrl ?? configuration.baseUrl ?? "").replace(/\/+$/, "").replace(/\/api$/, "");
2416
+ }
2417
+ /**
2418
+ * @param feedbackTypeId (optional)
2419
+ * @return OK
2420
+ */
2421
+ categories(feedbackTypeId, signal) {
2422
+ let url_ = this.baseUrl + "/api/Feedbacks/categories?";
2423
+ if (feedbackTypeId === null)
2424
+ throw new globalThis.Error("The parameter 'feedbackTypeId' cannot be null.");
2425
+ else if (feedbackTypeId !== undefined)
2426
+ url_ += "feedbackTypeId=" + encodeURIComponent("" + feedbackTypeId) + "&";
2427
+ url_ = url_.replace(/[?&]$/, "");
2428
+ let options_ = {
2429
+ method: "GET",
2430
+ signal,
2431
+ headers: {}
2432
+ };
2433
+ return this.http.fetch(url_, options_).then((_response) => {
2434
+ return this.processCategories(_response);
2435
+ });
2436
+ }
2437
+ processCategories(response) {
2438
+ const status = response.status;
2439
+ let _headers = {};
2440
+ if (response.headers && response.headers.forEach) {
2441
+ response.headers.forEach((v, k) => _headers[k] = v);
2442
+ }
2443
+ ;
2444
+ if (status === 200) {
2445
+ return response.text().then((_responseText) => {
2446
+ const result200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
2447
+ return result200;
2448
+ });
2449
+ }
2450
+ else if (status !== 200 && status !== 204) {
2451
+ return response.text().then((_responseText) => {
2452
+ return throwException("An unexpected server error occurred.", status, _responseText, _headers);
2453
+ });
2454
+ }
2455
+ return Promise.resolve(null);
2456
+ }
2457
+ }
2458
+ export class ApiClient extends BaseApiClient {
2459
+ constructor(configuration, baseUrl, http) {
2460
+ super(configuration);
2461
+ this.jsonParseReviver = undefined;
2462
+ this.http = http ? http : { fetch: buildAuthFetch(configuration) };
2463
+ this.baseUrl = (baseUrl ?? configuration.baseUrl ?? "").replace(/\/+$/, "").replace(/\/api$/, "");
2464
+ }
2465
+ /**
2466
+ * @param dto (optional)
2467
+ * @param screenshot (optional)
2468
+ * @param networkSnapshot (optional)
2469
+ * @return OK
2470
+ */
2471
+ feedbacks(dto, screenshot, networkSnapshot, signal) {
2472
+ let url_ = this.baseUrl + "/api/Feedbacks";
2473
+ url_ = url_.replace(/[?&]$/, "");
2474
+ const content_ = new FormData();
2475
+ if (dto === null || dto === undefined)
2476
+ throw new globalThis.Error("The parameter 'dto' cannot be null.");
2477
+ else
2478
+ content_.append("Dto", dto.toString());
2479
+ if (screenshot === null || screenshot === undefined)
2480
+ throw new globalThis.Error("The parameter 'screenshot' cannot be null.");
2481
+ else
2482
+ content_.append("Screenshot", screenshot.data, screenshot.fileName ? screenshot.fileName : "Screenshot");
2483
+ if (networkSnapshot === null || networkSnapshot === undefined)
2484
+ throw new globalThis.Error("The parameter 'networkSnapshot' cannot be null.");
2485
+ else
2486
+ content_.append("NetworkSnapshot", networkSnapshot.data, networkSnapshot.fileName ? networkSnapshot.fileName : "NetworkSnapshot");
2487
+ let options_ = {
2488
+ body: content_,
2489
+ method: "POST",
2490
+ signal,
2491
+ headers: {}
2492
+ };
2493
+ return this.http.fetch(url_, options_).then((_response) => {
2494
+ return this.processFeedbacks(_response);
2495
+ });
2496
+ }
2497
+ processFeedbacks(response) {
2498
+ const status = response.status;
2499
+ let _headers = {};
2500
+ if (response.headers && response.headers.forEach) {
2501
+ response.headers.forEach((v, k) => _headers[k] = v);
2502
+ }
2503
+ ;
2504
+ if (status === 200) {
2505
+ return response.text().then((_responseText) => {
2506
+ const result200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
2507
+ return result200;
2508
+ });
2509
+ }
2510
+ else if (status !== 200 && status !== 204) {
2511
+ return response.text().then((_responseText) => {
2512
+ return throwException("An unexpected server error occurred.", status, _responseText, _headers);
2513
+ });
2514
+ }
2515
+ return Promise.resolve(null);
2516
+ }
2517
+ /**
2518
+ * @param body (optional)
2519
+ * @return OK
2520
+ */
2521
+ shareLinksPost(body, signal) {
2522
+ let url_ = this.baseUrl + "/api/share-links";
2523
+ url_ = url_.replace(/[?&]$/, "");
2524
+ const content_ = JSON.stringify(body);
2525
+ let options_ = {
2526
+ body: content_,
2527
+ method: "POST",
2528
+ signal,
2529
+ headers: {
2530
+ "Content-Type": "application/json",
2531
+ }
2532
+ };
2533
+ return this.http.fetch(url_, options_).then((_response) => {
2534
+ return this.processShareLinksPost(_response);
2535
+ });
2536
+ }
2537
+ processShareLinksPost(response) {
2538
+ const status = response.status;
2539
+ let _headers = {};
2540
+ if (response.headers && response.headers.forEach) {
2541
+ response.headers.forEach((v, k) => _headers[k] = v);
2542
+ }
2543
+ ;
2544
+ if (status === 200) {
2545
+ return response.text().then((_responseText) => {
2546
+ const result200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
2547
+ return result200;
2548
+ });
2549
+ }
2550
+ else if (status !== 200 && status !== 204) {
2551
+ return response.text().then((_responseText) => {
2552
+ return throwException("An unexpected server error occurred.", status, _responseText, _headers);
2553
+ });
2554
+ }
2555
+ return Promise.resolve(null);
2556
+ }
2557
+ /**
2558
+ * @return OK
2559
+ */
2560
+ shareLinksGet(code, signal) {
2561
+ let url_ = this.baseUrl + "/api/share-links/{code}";
2562
+ if (code === undefined || code === null)
2563
+ throw new globalThis.Error("The parameter 'code' must be defined.");
2564
+ url_ = url_.replace("{code}", encodeURIComponent("" + code));
2565
+ url_ = url_.replace(/[?&]$/, "");
2566
+ let options_ = {
2567
+ method: "GET",
2568
+ signal,
2569
+ headers: {}
2570
+ };
2571
+ return this.http.fetch(url_, options_).then((_response) => {
2572
+ return this.processShareLinksGet(_response);
2573
+ });
2574
+ }
2575
+ processShareLinksGet(response) {
2576
+ const status = response.status;
2577
+ let _headers = {};
2578
+ if (response.headers && response.headers.forEach) {
2579
+ response.headers.forEach((v, k) => _headers[k] = v);
2580
+ }
2581
+ ;
2582
+ if (status === 200) {
2583
+ return response.text().then((_responseText) => {
2584
+ const result200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
2585
+ return result200;
2586
+ });
2587
+ }
2588
+ else if (status !== 200 && status !== 204) {
2589
+ return response.text().then((_responseText) => {
2590
+ return throwException("An unexpected server error occurred.", status, _responseText, _headers);
2591
+ });
2592
+ }
2593
+ return Promise.resolve(null);
2594
+ }
2595
+ }
2410
2596
  export class InteractionTrackersClient extends BaseApiClient {
2411
2597
  constructor(configuration, baseUrl, http) {
2412
2598
  super(configuration);
@@ -13710,10 +13896,15 @@ export class ScanEngineImagesClient extends BaseApiClient {
13710
13896
  return Promise.resolve(null);
13711
13897
  }
13712
13898
  /**
13899
+ * @param force (optional)
13713
13900
  * @return OK
13714
13901
  */
13715
- saveImagesBySearch(signal) {
13716
- let url_ = this.baseUrl + "/api/ScanEngineImages/SaveImagesBySearch";
13902
+ saveImagesBySearch(force, signal) {
13903
+ let url_ = this.baseUrl + "/api/ScanEngineImages/SaveImagesBySearch?";
13904
+ if (force === null)
13905
+ throw new globalThis.Error("The parameter 'force' cannot be null.");
13906
+ else if (force !== undefined)
13907
+ url_ += "force=" + encodeURIComponent("" + force) + "&";
13717
13908
  url_ = url_.replace(/[?&]$/, "");
13718
13909
  let options_ = {
13719
13910
  method: "GET",
@@ -15762,6 +15953,47 @@ export class ScansClient extends BaseApiClient {
15762
15953
  }
15763
15954
  return Promise.resolve(null);
15764
15955
  }
15956
+ /**
15957
+ * @return OK
15958
+ */
15959
+ status(guid, signal) {
15960
+ let url_ = this.baseUrl + "/api/Scans/{guid}/status";
15961
+ if (guid === undefined || guid === null)
15962
+ throw new globalThis.Error("The parameter 'guid' must be defined.");
15963
+ url_ = url_.replace("{guid}", encodeURIComponent("" + guid));
15964
+ url_ = url_.replace(/[?&]$/, "");
15965
+ let options_ = {
15966
+ method: "GET",
15967
+ signal,
15968
+ headers: {
15969
+ "Accept": "application/json"
15970
+ }
15971
+ };
15972
+ return this.http.fetch(url_, options_).then((_response) => {
15973
+ return this.processStatus(_response);
15974
+ });
15975
+ }
15976
+ processStatus(response) {
15977
+ const status = response.status;
15978
+ let _headers = {};
15979
+ if (response.headers && response.headers.forEach) {
15980
+ response.headers.forEach((v, k) => _headers[k] = v);
15981
+ }
15982
+ ;
15983
+ if (status === 200) {
15984
+ return response.text().then((_responseText) => {
15985
+ let result200 = null;
15986
+ result200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
15987
+ return result200;
15988
+ });
15989
+ }
15990
+ else if (status !== 200 && status !== 204) {
15991
+ return response.text().then((_responseText) => {
15992
+ return throwException("An unexpected server error occurred.", status, _responseText, _headers);
15993
+ });
15994
+ }
15995
+ return Promise.resolve(null);
15996
+ }
15765
15997
  /**
15766
15998
  * @param body (optional)
15767
15999
  * @return OK
@@ -22500,92 +22732,6 @@ export class ScanVisibilityTypesClient extends BaseApiClient {
22500
22732
  return Promise.resolve(null);
22501
22733
  }
22502
22734
  }
22503
- export class ApiClient extends BaseApiClient {
22504
- constructor(configuration, baseUrl, http) {
22505
- super(configuration);
22506
- this.jsonParseReviver = undefined;
22507
- this.http = http ? http : { fetch: buildAuthFetch(configuration) };
22508
- this.baseUrl = (baseUrl ?? configuration.baseUrl ?? "").replace(/\/+$/, "").replace(/\/api$/, "");
22509
- }
22510
- /**
22511
- * @param body (optional)
22512
- * @return OK
22513
- */
22514
- shareLinksPost(body, signal) {
22515
- let url_ = this.baseUrl + "/api/share-links";
22516
- url_ = url_.replace(/[?&]$/, "");
22517
- const content_ = JSON.stringify(body);
22518
- let options_ = {
22519
- body: content_,
22520
- method: "POST",
22521
- signal,
22522
- headers: {
22523
- "Content-Type": "application/json",
22524
- }
22525
- };
22526
- return this.http.fetch(url_, options_).then((_response) => {
22527
- return this.processShareLinksPost(_response);
22528
- });
22529
- }
22530
- processShareLinksPost(response) {
22531
- const status = response.status;
22532
- let _headers = {};
22533
- if (response.headers && response.headers.forEach) {
22534
- response.headers.forEach((v, k) => _headers[k] = v);
22535
- }
22536
- ;
22537
- if (status === 200) {
22538
- return response.text().then((_responseText) => {
22539
- const result200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
22540
- return result200;
22541
- });
22542
- }
22543
- else if (status !== 200 && status !== 204) {
22544
- return response.text().then((_responseText) => {
22545
- return throwException("An unexpected server error occurred.", status, _responseText, _headers);
22546
- });
22547
- }
22548
- return Promise.resolve(null);
22549
- }
22550
- /**
22551
- * @return OK
22552
- */
22553
- shareLinksGet(code, signal) {
22554
- let url_ = this.baseUrl + "/api/share-links/{code}";
22555
- if (code === undefined || code === null)
22556
- throw new globalThis.Error("The parameter 'code' must be defined.");
22557
- url_ = url_.replace("{code}", encodeURIComponent("" + code));
22558
- url_ = url_.replace(/[?&]$/, "");
22559
- let options_ = {
22560
- method: "GET",
22561
- signal,
22562
- headers: {}
22563
- };
22564
- return this.http.fetch(url_, options_).then((_response) => {
22565
- return this.processShareLinksGet(_response);
22566
- });
22567
- }
22568
- processShareLinksGet(response) {
22569
- const status = response.status;
22570
- let _headers = {};
22571
- if (response.headers && response.headers.forEach) {
22572
- response.headers.forEach((v, k) => _headers[k] = v);
22573
- }
22574
- ;
22575
- if (status === 200) {
22576
- return response.text().then((_responseText) => {
22577
- const result200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
22578
- return result200;
22579
- });
22580
- }
22581
- else if (status !== 200 && status !== 204) {
22582
- return response.text().then((_responseText) => {
22583
- return throwException("An unexpected server error occurred.", status, _responseText, _headers);
22584
- });
22585
- }
22586
- return Promise.resolve(null);
22587
- }
22588
- }
22589
22735
  export class InternalClient extends BaseApiClient {
22590
22736
  constructor(configuration, baseUrl, http) {
22591
22737
  super(configuration);
@@ -25335,6 +25481,41 @@ export class TrialUsersClient extends BaseApiClient {
25335
25481
  }
25336
25482
  return Promise.resolve(null);
25337
25483
  }
25484
+ /**
25485
+ * @return OK
25486
+ */
25487
+ markFirstFeedbackShown(signal) {
25488
+ let url_ = this.baseUrl + "/api/TrialUsers/mark-first-feedback-shown";
25489
+ url_ = url_.replace(/[?&]$/, "");
25490
+ let options_ = {
25491
+ method: "POST",
25492
+ signal,
25493
+ headers: {}
25494
+ };
25495
+ return this.http.fetch(url_, options_).then((_response) => {
25496
+ return this.processMarkFirstFeedbackShown(_response);
25497
+ });
25498
+ }
25499
+ processMarkFirstFeedbackShown(response) {
25500
+ const status = response.status;
25501
+ let _headers = {};
25502
+ if (response.headers && response.headers.forEach) {
25503
+ response.headers.forEach((v, k) => _headers[k] = v);
25504
+ }
25505
+ ;
25506
+ if (status === 200) {
25507
+ return response.text().then((_responseText) => {
25508
+ const result200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
25509
+ return result200;
25510
+ });
25511
+ }
25512
+ else if (status !== 200 && status !== 204) {
25513
+ return response.text().then((_responseText) => {
25514
+ return throwException("An unexpected server error occurred.", status, _responseText, _headers);
25515
+ });
25516
+ }
25517
+ return Promise.resolve(null);
25518
+ }
25338
25519
  /**
25339
25520
  * @param body (optional)
25340
25521
  * @return OK
@@ -487,6 +487,8 @@ export * from "./scan-static-section-for-table-filter.js";
487
487
  export * from "./scan-static-section-for-table-filter-data-table-query.js";
488
488
  export * from "./scan-static-section-i-data-result.js";
489
489
  export * from "./scan-static-section-list-i-data-result.js";
490
+ export * from "./scan-status-dto.js";
491
+ export * from "./scan-status-dto-i-data-result.js";
490
492
  export * from "./scan-summary-dto.js";
491
493
  export * from "./scan-summary-dto-i-data-result.js";
492
494
  export * from "./scan-threat-detection.js";
@@ -487,6 +487,8 @@ export * from "./scan-static-section-for-table-filter.js";
487
487
  export * from "./scan-static-section-for-table-filter-data-table-query.js";
488
488
  export * from "./scan-static-section-i-data-result.js";
489
489
  export * from "./scan-static-section-list-i-data-result.js";
490
+ export * from "./scan-status-dto.js";
491
+ export * from "./scan-status-dto-i-data-result.js";
490
492
  export * from "./scan-summary-dto.js";
491
493
  export * from "./scan-summary-dto-i-data-result.js";
492
494
  export * from "./scan-threat-detection.js";
@@ -0,0 +1,4 @@
1
+ import type { ScanStatusDtoIDataResult as __ScanStatusDtoIDataResult } from "../index.js";
2
+ export declare const ScanStatusDtoIDataResult: __ScanStatusDtoIDataResult;
3
+ export type ScanStatusDtoIDataResult = __ScanStatusDtoIDataResult;
4
+ export type scanStatusDtoIDataResult = __ScanStatusDtoIDataResult;
@@ -0,0 +1 @@
1
+ export const ScanStatusDtoIDataResult = {};
@@ -0,0 +1,4 @@
1
+ import type { ScanStatusDto as __ScanStatusDto } from "../index.js";
2
+ export declare const ScanStatusDto: __ScanStatusDto;
3
+ export type ScanStatusDto = __ScanStatusDto;
4
+ export type scanStatusDto = __ScanStatusDto;
@@ -0,0 +1 @@
1
+ export const ScanStatusDto = {};
package/dist/rx.d.ts CHANGED
@@ -36,6 +36,12 @@ export declare function createAllClients(cfg: ApiClientConfig, baseUrl?: string,
36
36
  DevicesClient: ClientCtors.DevicesClient;
37
37
  DevicesService: ClientCtors.DevicesClient;
38
38
  devicesService: ClientCtors.DevicesClient;
39
+ FeedbacksClient: ClientCtors.FeedbacksClient;
40
+ FeedbacksService: ClientCtors.FeedbacksClient;
41
+ feedbacksService: ClientCtors.FeedbacksClient;
42
+ ApiClient: ClientCtors.ApiClient;
43
+ ApiService: ClientCtors.ApiClient;
44
+ apiService: ClientCtors.ApiClient;
39
45
  InteractionTrackersClient: ClientCtors.InteractionTrackersClient;
40
46
  InteractionTrackersService: ClientCtors.InteractionTrackersClient;
41
47
  interactionTrackersService: ClientCtors.InteractionTrackersClient;
@@ -183,9 +189,6 @@ export declare function createAllClients(cfg: ApiClientConfig, baseUrl?: string,
183
189
  ScanVisibilityTypesClient: ClientCtors.ScanVisibilityTypesClient;
184
190
  ScanVisibilityTypesService: ClientCtors.ScanVisibilityTypesClient;
185
191
  scanVisibilityTypesService: ClientCtors.ScanVisibilityTypesClient;
186
- ApiClient: ClientCtors.ApiClient;
187
- ApiService: ClientCtors.ApiClient;
188
- apiService: ClientCtors.ApiClient;
189
192
  InternalClient: ClientCtors.InternalClient;
190
193
  InternalService: ClientCtors.InternalClient;
191
194
  internalService: ClientCtors.InternalClient;
@@ -263,6 +266,12 @@ export declare function createAllRxClients(cfg: ApiClientConfig, baseUrl?: strin
263
266
  DevicesClient: Rxified<ClientCtors.DevicesClient>;
264
267
  DevicesService: Rxified<ClientCtors.DevicesClient>;
265
268
  devicesService: Rxified<ClientCtors.DevicesClient>;
269
+ FeedbacksClient: Rxified<ClientCtors.FeedbacksClient>;
270
+ FeedbacksService: Rxified<ClientCtors.FeedbacksClient>;
271
+ feedbacksService: Rxified<ClientCtors.FeedbacksClient>;
272
+ ApiClient: Rxified<ClientCtors.ApiClient>;
273
+ ApiService: Rxified<ClientCtors.ApiClient>;
274
+ apiService: Rxified<ClientCtors.ApiClient>;
266
275
  InteractionTrackersClient: Rxified<ClientCtors.InteractionTrackersClient>;
267
276
  InteractionTrackersService: Rxified<ClientCtors.InteractionTrackersClient>;
268
277
  interactionTrackersService: Rxified<ClientCtors.InteractionTrackersClient>;
@@ -410,9 +419,6 @@ export declare function createAllRxClients(cfg: ApiClientConfig, baseUrl?: strin
410
419
  ScanVisibilityTypesClient: Rxified<ClientCtors.ScanVisibilityTypesClient>;
411
420
  ScanVisibilityTypesService: Rxified<ClientCtors.ScanVisibilityTypesClient>;
412
421
  scanVisibilityTypesService: Rxified<ClientCtors.ScanVisibilityTypesClient>;
413
- ApiClient: Rxified<ClientCtors.ApiClient>;
414
- ApiService: Rxified<ClientCtors.ApiClient>;
415
- apiService: Rxified<ClientCtors.ApiClient>;
416
422
  InternalClient: Rxified<ClientCtors.InternalClient>;
417
423
  InternalService: Rxified<ClientCtors.InternalClient>;
418
424
  internalService: Rxified<ClientCtors.InternalClient>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@virusis/api-client",
3
- "version": "0.1.16",
3
+ "version": "0.1.17",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",