@ampsec/platform-client 3.0.0 → 4.0.1
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/build/src/FilterCriteria.d.ts +18 -0
- package/build/src/FilterCriteria.js +3 -0
- package/build/src/FilterCriteria.js.map +1 -0
- package/build/src/dto/enums/agent.status.js +1 -0
- package/build/src/dto/enums/agent.status.js.map +1 -1
- package/build/src/dto/enums/connector.status.js +1 -0
- package/build/src/dto/enums/connector.status.js.map +1 -1
- package/build/src/dto/enums/finding.severity.js +1 -0
- package/build/src/dto/enums/finding.severity.js.map +1 -1
- package/build/src/dto/enums/finding.status.js +1 -0
- package/build/src/dto/enums/finding.status.js.map +1 -1
- package/build/src/dto/page.dto.d.ts +8 -0
- package/build/src/dto/platform/platform.agents.dto.d.ts +2 -2
- package/build/src/dto/platform/platform.assets.dto.d.ts +2 -2
- package/build/src/dto/platform/platform.connectors.dto.d.ts +2 -2
- package/build/src/dto/platform/platform.findings.dto.d.ts +2 -2
- package/build/src/dto/platform/platform.metrics.dto.d.ts +2 -2
- package/build/src/dto/platform/platform.reportResults.dto.d.ts +2 -2
- package/build/src/dto/platform/platform.saasAssets.dto.d.ts +2 -2
- package/build/src/dto/platform/platform.saasComponents.dto.d.ts +2 -2
- package/build/src/dto/platform/platform.saasUsers.dto.d.ts +1 -1
- package/build/src/dto/platform/platform.users.dto.d.ts +2 -2
- package/build/src/etag.d.ts +3 -0
- package/build/src/etag.js +6 -1
- package/build/src/etag.js.map +1 -1
- package/build/src/index.d.ts +2 -0
- package/build/src/index.js +2 -0
- package/build/src/index.js.map +1 -1
- package/build/src/services/AmpApi.d.ts +32 -0
- package/build/src/services/AmpApi.js +39 -0
- package/build/src/services/AmpApi.js.map +1 -0
- package/build/src/services/AmpSdk.d.ts +31 -0
- package/build/src/services/AmpSdk.js +38 -0
- package/build/src/services/AmpSdk.js.map +1 -0
- package/build/src/services/data.service.d.ts +23 -0
- package/build/src/services/data.service.js +52 -0
- package/build/src/services/data.service.js.map +1 -0
- package/build/src/services/entity.service.d.ts +34 -0
- package/build/src/services/entity.service.js +78 -0
- package/build/src/services/entity.service.js.map +1 -0
- package/build/src/services/index.d.ts +5 -0
- package/build/src/services/index.js +22 -0
- package/build/src/services/index.js.map +1 -0
- package/build/src/services/rest/RestClient.d.ts +46 -0
- package/build/src/services/rest/RestClient.js +106 -0
- package/build/src/services/rest/RestClient.js.map +1 -0
- package/build/src/services/rest/RestRequest.d.ts +8 -0
- package/build/src/services/rest/RestRequest.js +3 -0
- package/build/src/services/rest/RestRequest.js.map +1 -0
- package/build/src/services/rest/RestResponse.d.ts +7 -0
- package/build/src/services/rest/RestResponse.js +3 -0
- package/build/src/services/rest/RestResponse.js.map +1 -0
- package/build/src/services/rest/index.d.ts +5 -0
- package/build/src/services/rest/index.js +22 -0
- package/build/src/services/rest/index.js.map +1 -0
- package/build/src/services/rest/rateLimit.rest.d.ts +11 -0
- package/build/src/services/rest/rateLimit.rest.js +25 -0
- package/build/src/services/rest/rateLimit.rest.js.map +1 -0
- package/build/src/services/rest/retry.rest.d.ts +7 -0
- package/build/src/services/rest/retry.rest.js +18 -0
- package/build/src/services/rest/retry.rest.js.map +1 -0
- package/build/src/services/rest/utils.d.ts +7 -0
- package/build/src/services/rest/utils.js +12 -0
- package/build/src/services/rest/utils.js.map +1 -0
- package/package.json +7 -3
- package/src/FilterCriteria.ts +18 -0
- package/src/dto/agents.dto.ts +15 -0
- package/src/dto/assets.dto.ts +10 -0
- package/src/dto/base.dto.ts +25 -0
- package/src/dto/connectors.dto.ts +13 -0
- package/src/dto/enums/agent.status.ts +6 -0
- package/src/dto/enums/connector.status.ts +7 -0
- package/src/dto/enums/finding.severity.ts +7 -0
- package/src/dto/enums/finding.status.ts +5 -0
- package/src/dto/enums/index.ts +4 -0
- package/src/dto/extKeyMap.dto.ts +6 -0
- package/src/dto/findings.dto.ts +26 -0
- package/src/dto/index.ts +19 -0
- package/src/dto/message.dto.ts +3 -0
- package/src/dto/metrics.dto.ts +10 -0
- package/src/dto/page.dto.ts +14 -0
- package/src/dto/platform/index.ts +13 -0
- package/src/dto/platform/multi.tenant.based.dto.ts +11 -0
- package/src/dto/platform/platform.agents.dto.ts +6 -0
- package/src/dto/platform/platform.assets.dto.ts +6 -0
- package/src/dto/platform/platform.connectors.dto.ts +6 -0
- package/src/dto/platform/platform.findings.dto.ts +6 -0
- package/src/dto/platform/platform.metrics.dto.ts +6 -0
- package/src/dto/platform/platform.providers.dto.ts +5 -0
- package/src/dto/platform/platform.reportResults.dto.ts +6 -0
- package/src/dto/platform/platform.saasAssets.dto.ts +5 -0
- package/src/dto/platform/platform.saasComponents.dto.ts +6 -0
- package/src/dto/platform/platform.saasUsers.dto.ts +6 -0
- package/src/dto/platform/platform.tenants.dto.ts +5 -0
- package/src/dto/platform/platform.users.dto.ts +6 -0
- package/src/dto/platform/tenant.based.dto.ts +11 -0
- package/src/dto/providers.dto.ts +8 -0
- package/src/dto/reportResults.dto.ts +12 -0
- package/src/dto/riskContributors.dto.ts +10 -0
- package/src/dto/saasAssets.dto.ts +16 -0
- package/src/dto/saasComponents.dto.ts +18 -0
- package/src/dto/saasUsers.dto.ts +14 -0
- package/src/dto/tenants.dto.ts +8 -0
- package/src/dto/users.dto.ts +28 -0
- package/src/etag.ts +17 -0
- package/src/index.ts +4 -0
- package/src/services/AmpApi.ts +66 -0
- package/src/services/AmpSdk.ts +72 -0
- package/src/services/data.service.ts +69 -0
- package/src/services/entity.service.ts +104 -0
- package/src/services/index.ts +5 -0
- package/src/services/rest/RestClient.ts +103 -0
- package/src/services/rest/RestRequest.ts +9 -0
- package/src/services/rest/RestResponse.ts +8 -0
- package/src/services/rest/index.ts +5 -0
- package/src/services/rest/rateLimit.rest.ts +31 -0
- package/src/services/rest/retry.rest.ts +21 -0
- package/src/services/rest/utils.ts +13 -0
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import {RestRequest} from './RestRequest';
|
|
2
|
+
|
|
3
|
+
export interface RestClientRateLimitStrategy {
|
|
4
|
+
reserve(_req: RestRequest): Promise<void>;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
export const noopRestClientRateLimitStrategy: RestClientRateLimitStrategy = {
|
|
8
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
9
|
+
reserve(_req: RestRequest): Promise<void> {
|
|
10
|
+
return Promise.resolve();
|
|
11
|
+
},
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
const sleep = (ms: number) => new Promise(resolve => setTimeout(resolve, ms));
|
|
15
|
+
|
|
16
|
+
export class StaticRestClientRateLimitStrategy implements RestClientRateLimitStrategy {
|
|
17
|
+
private readonly delay: number;
|
|
18
|
+
private lastRequest: number;
|
|
19
|
+
|
|
20
|
+
constructor(delay: number) {
|
|
21
|
+
this.delay = delay;
|
|
22
|
+
this.lastRequest = 0;
|
|
23
|
+
}
|
|
24
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
25
|
+
async reserve(_req: RestRequest): Promise<void> {
|
|
26
|
+
while (Date.now() - this.lastRequest < this.delay) {
|
|
27
|
+
await sleep(this.delay);
|
|
28
|
+
}
|
|
29
|
+
this.lastRequest = Date.now();
|
|
30
|
+
}
|
|
31
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import {AxiosError} from 'axios';
|
|
2
|
+
import {convertHeaders} from './utils';
|
|
3
|
+
import {RestRequest} from './RestRequest';
|
|
4
|
+
import {RestResponse} from './RestResponse';
|
|
5
|
+
|
|
6
|
+
export interface RestClientRetryStrategy {
|
|
7
|
+
onError(_req: RestRequest, _err: AxiosError): Promise<RestResponse>;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export const noopRestRetryStrategy: RestClientRetryStrategy = {
|
|
11
|
+
onError(req: RestRequest, err: AxiosError): Promise<RestResponse> {
|
|
12
|
+
const axiosError = err as AxiosError;
|
|
13
|
+
const res: RestResponse = {
|
|
14
|
+
status: axiosError.response?.status ?? 500,
|
|
15
|
+
headers: axiosError.response ? convertHeaders(axiosError.response) : {},
|
|
16
|
+
data: null,
|
|
17
|
+
error: err,
|
|
18
|
+
};
|
|
19
|
+
return Promise.resolve(res);
|
|
20
|
+
},
|
|
21
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import {AxiosResponse} from 'axios';
|
|
2
|
+
|
|
3
|
+
export type StringMap<T> = {[key: string]: T};
|
|
4
|
+
export type HeadersMap = StringMap<string>;
|
|
5
|
+
export type QueryMap = StringMap<unknown>;
|
|
6
|
+
|
|
7
|
+
export function convertHeaders(res: AxiosResponse): HeadersMap {
|
|
8
|
+
const headers: HeadersMap = {};
|
|
9
|
+
for (const [key, value] of Object.entries(res.headers)) {
|
|
10
|
+
headers[key] = value as string;
|
|
11
|
+
}
|
|
12
|
+
return headers;
|
|
13
|
+
}
|