@ampsec/platform-client 40.0.0 → 40.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/src/dto/enums/finding.status.d.ts +25 -1
- package/build/src/dto/enums/finding.status.js +25 -1
- package/build/src/dto/enums/finding.status.js.map +1 -1
- package/build/src/services/AmpApi.d.ts +3 -2
- package/build/src/services/AmpApi.js +2 -1
- package/build/src/services/AmpApi.js.map +1 -1
- package/build/src/services/data.service.d.ts +5 -5
- package/build/src/services/data.service.js +45 -45
- package/build/src/services/data.service.js.map +1 -1
- package/build/src/services/entity.service.d.ts +5 -5
- package/build/src/services/entity.service.js +56 -56
- package/build/src/services/entity.service.js.map +1 -1
- package/build/src/services/findings.service.d.ts +10 -0
- package/build/src/services/findings.service.js +24 -0
- package/build/src/services/findings.service.js.map +1 -0
- package/build/src/services/index.d.ts +1 -0
- package/build/src/services/index.js +1 -0
- package/build/src/services/index.js.map +1 -1
- package/build/src/services/reports.service.d.ts +2 -2
- package/build/src/services/reports.service.js +40 -40
- package/build/src/services/reports.service.js.map +1 -1
- package/build/src/services/rest/AgentIdentityService.d.ts +2 -2
- package/build/src/services/rest/AgentIdentityService.js +17 -17
- package/build/src/services/rest/AgentIdentityService.js.map +1 -1
- package/build/src/services/rest/ConnectorInstallService.d.ts +2 -2
- package/build/src/services/rest/ConnectorInstallService.js +12 -12
- package/build/src/services/rest/ConnectorInstallService.js.map +1 -1
- package/build/src/services/rest/EnumService.js +8 -8
- package/build/src/services/rest/EnumService.js.map +1 -1
- package/build/src/services/rest/RestClient.d.ts +1 -1
- package/build/src/services/rest/RestClient.js +27 -27
- package/build/src/services/rest/RestClient.js.map +1 -1
- package/build/src/services/rest/UserIdentityService.d.ts +1 -1
- package/build/src/services/rest/UserIdentityService.js +7 -7
- package/build/src/services/rest/UserIdentityService.js.map +1 -1
- package/build/src/services/rest/rateLimit.rest.d.ts +1 -1
- package/build/src/services/rest/rateLimit.rest.js +8 -8
- package/build/src/services/rest/rateLimit.rest.js.map +1 -1
- package/build/src/services/rest/retry.rest.js +1 -1
- package/build/src/services/rest/retry.rest.js.map +1 -1
- package/build/src/services/settings.service.d.ts +10 -10
- package/build/src/services/settings.service.js +96 -96
- package/build/src/services/settings.service.js.map +1 -1
- package/package.json +1 -1
- package/src/dto/enums/finding.status.ts +26 -1
- package/src/services/AmpApi.ts +3 -3
- package/src/services/data.service.ts +10 -10
- package/src/services/entity.service.ts +10 -10
- package/src/services/findings.service.ts +24 -0
- package/src/services/index.ts +1 -0
- package/src/services/reports.service.ts +4 -4
- package/src/services/rest/AgentIdentityService.ts +4 -4
- package/src/services/rest/ConnectorInstallService.ts +4 -4
- package/src/services/rest/EnumService.ts +2 -2
- package/src/services/rest/RestClient.ts +2 -2
- package/src/services/rest/UserIdentityService.ts +2 -2
- package/src/services/rest/rateLimit.rest.ts +3 -3
- package/src/services/rest/retry.rest.ts +1 -1
- package/src/services/settings.service.ts +20 -20
|
@@ -6,6 +6,6 @@ export type TokenResponse = {
|
|
|
6
6
|
export declare class AgentIdentityService {
|
|
7
7
|
protected readonly rest: RestClient;
|
|
8
8
|
constructor(rest: RestClient);
|
|
9
|
-
exchangeToken(targetTenantId: string)
|
|
10
|
-
me()
|
|
9
|
+
exchangeToken: (targetTenantId: string) => Promise<TokenResponse>;
|
|
10
|
+
me: () => Promise<AgentDto>;
|
|
11
11
|
}
|
|
@@ -3,25 +3,25 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.AgentIdentityService = void 0;
|
|
4
4
|
class AgentIdentityService {
|
|
5
5
|
constructor(rest) {
|
|
6
|
+
this.exchangeToken = async (targetTenantId) => {
|
|
7
|
+
const res = await this.rest.call({
|
|
8
|
+
url: '/api/v1/auth/token/exchange',
|
|
9
|
+
method: 'GET',
|
|
10
|
+
params: {
|
|
11
|
+
tid: targetTenantId,
|
|
12
|
+
},
|
|
13
|
+
});
|
|
14
|
+
return res.data;
|
|
15
|
+
};
|
|
16
|
+
this.me = async () => {
|
|
17
|
+
const res = await this.rest.call({
|
|
18
|
+
url: '/api/v1/me',
|
|
19
|
+
method: 'GET',
|
|
20
|
+
});
|
|
21
|
+
return res.data;
|
|
22
|
+
};
|
|
6
23
|
this.rest = rest;
|
|
7
24
|
}
|
|
8
|
-
async exchangeToken(targetTenantId) {
|
|
9
|
-
const res = await this.rest.call({
|
|
10
|
-
url: '/api/v1/auth/token/exchange',
|
|
11
|
-
method: 'GET',
|
|
12
|
-
params: {
|
|
13
|
-
tid: targetTenantId,
|
|
14
|
-
},
|
|
15
|
-
});
|
|
16
|
-
return res.data;
|
|
17
|
-
}
|
|
18
|
-
async me() {
|
|
19
|
-
const res = await this.rest.call({
|
|
20
|
-
url: '/api/v1/me',
|
|
21
|
-
method: 'GET',
|
|
22
|
-
});
|
|
23
|
-
return res.data;
|
|
24
|
-
}
|
|
25
25
|
}
|
|
26
26
|
exports.AgentIdentityService = AgentIdentityService;
|
|
27
27
|
//# sourceMappingURL=AgentIdentityService.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentIdentityService.js","sourceRoot":"","sources":["../../../../src/services/rest/AgentIdentityService.ts"],"names":[],"mappings":";;;AAOA,MAAa,oBAAoB;IAE/B,YAAY,IAAgB;
|
|
1
|
+
{"version":3,"file":"AgentIdentityService.js","sourceRoot":"","sources":["../../../../src/services/rest/AgentIdentityService.ts"],"names":[],"mappings":";;;AAOA,MAAa,oBAAoB;IAE/B,YAAY,IAAgB;QAG5B,kBAAa,GAAG,KAAK,EAAE,cAAsB,EAA0B,EAAE;YACvE,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC/B,GAAG,EAAE,6BAA6B;gBAClC,MAAM,EAAE,KAAK;gBACb,MAAM,EAAE;oBACN,GAAG,EAAE,cAAc;iBACpB;aACF,CAAC,CAAC;YACH,OAAO,GAAG,CAAC,IAAqB,CAAC;QACnC,CAAC,CAAC;QAEF,OAAE,GAAG,KAAK,IAAuB,EAAE;YACjC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC/B,GAAG,EAAE,YAAY;gBACjB,MAAM,EAAE,KAAK;aACd,CAAC,CAAC;YACH,OAAO,GAAG,CAAC,IAAgB,CAAC;QAC9B,CAAC,CAAC;QAnBA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CAmBF;AAvBD,oDAuBC"}
|
|
@@ -2,6 +2,6 @@ import { RestClient } from './RestClient';
|
|
|
2
2
|
export declare class ConnectorInstallService {
|
|
3
3
|
private readonly rest;
|
|
4
4
|
constructor(rest: RestClient);
|
|
5
|
-
getInstallToken(cid: string)
|
|
6
|
-
buildInstallOAuthUrl(apiBaseUrl: string, token: string, redirectUrl: string)
|
|
5
|
+
getInstallToken: (cid: string) => Promise<string>;
|
|
6
|
+
buildInstallOAuthUrl: (apiBaseUrl: string, token: string, redirectUrl: string) => string;
|
|
7
7
|
}
|
|
@@ -3,20 +3,20 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.ConnectorInstallService = void 0;
|
|
4
4
|
class ConnectorInstallService {
|
|
5
5
|
constructor(rest) {
|
|
6
|
+
this.getInstallToken = async (cid) => {
|
|
7
|
+
const res = await this.rest.call({
|
|
8
|
+
url: '/install/oauth/token',
|
|
9
|
+
method: 'POST',
|
|
10
|
+
data: { cid },
|
|
11
|
+
});
|
|
12
|
+
const token = res.data.token;
|
|
13
|
+
return token;
|
|
14
|
+
};
|
|
15
|
+
this.buildInstallOAuthUrl = (apiBaseUrl, token, redirectUrl) => {
|
|
16
|
+
return `${apiBaseUrl}/install/oauth?token=${token}&redirect=${encodeURIComponent(redirectUrl)}`;
|
|
17
|
+
};
|
|
6
18
|
this.rest = rest;
|
|
7
19
|
}
|
|
8
|
-
async getInstallToken(cid) {
|
|
9
|
-
const res = await this.rest.call({
|
|
10
|
-
url: '/install/oauth/token',
|
|
11
|
-
method: 'POST',
|
|
12
|
-
data: { cid },
|
|
13
|
-
});
|
|
14
|
-
const token = res.data.token;
|
|
15
|
-
return token;
|
|
16
|
-
}
|
|
17
|
-
buildInstallOAuthUrl(apiBaseUrl, token, redirectUrl) {
|
|
18
|
-
return `${apiBaseUrl}/install/oauth?token=${token}&redirect=${encodeURIComponent(redirectUrl)}`;
|
|
19
|
-
}
|
|
20
20
|
}
|
|
21
21
|
exports.ConnectorInstallService = ConnectorInstallService;
|
|
22
22
|
//# sourceMappingURL=ConnectorInstallService.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConnectorInstallService.js","sourceRoot":"","sources":["../../../../src/services/rest/ConnectorInstallService.ts"],"names":[],"mappings":";;;AAEA,MAAa,uBAAuB;IAGlC,YAAY,IAAgB;
|
|
1
|
+
{"version":3,"file":"ConnectorInstallService.js","sourceRoot":"","sources":["../../../../src/services/rest/ConnectorInstallService.ts"],"names":[],"mappings":";;;AAEA,MAAa,uBAAuB;IAGlC,YAAY,IAAgB;QAI5B,oBAAe,GAAG,KAAK,EAAE,GAAW,EAAmB,EAAE;YACvD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC/B,GAAG,EAAE,sBAAsB;gBAC3B,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,EAAC,GAAG,EAAC;aACZ,CAAC,CAAC;YACH,MAAM,KAAK,GAAI,GAAG,CAAC,IAAwB,CAAC,KAAK,CAAC;YAClD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC;QAEF,yBAAoB,GAAG,CAAC,UAAkB,EAAE,KAAa,EAAE,WAAmB,EAAU,EAAE;YACxF,OAAO,GAAG,UAAU,wBAAwB,KAAK,aAAa,kBAAkB,CAAC,WAAW,CAAC,EAAE,CAAC;QAClG,CAAC,CAAC;QAfA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CAeF;AApBD,0DAoBC"}
|
|
@@ -4,18 +4,18 @@ exports.DefaultEnumService = void 0;
|
|
|
4
4
|
const constants_1 = require("../constants");
|
|
5
5
|
class DefaultEnumCollection {
|
|
6
6
|
constructor(rest, kind, targetApi) {
|
|
7
|
+
this.list = async (filter) => {
|
|
8
|
+
const res = await this.rest.call({
|
|
9
|
+
url: `/${this.targetApi}/v1/enum/${this.kind}`,
|
|
10
|
+
method: 'GET',
|
|
11
|
+
params: filter,
|
|
12
|
+
});
|
|
13
|
+
return res.data;
|
|
14
|
+
};
|
|
7
15
|
this.rest = rest;
|
|
8
16
|
this.kind = kind;
|
|
9
17
|
this.targetApi = targetApi;
|
|
10
18
|
}
|
|
11
|
-
async list(filter) {
|
|
12
|
-
const res = await this.rest.call({
|
|
13
|
-
url: `/${this.targetApi}/v1/enum/${this.kind}`,
|
|
14
|
-
method: 'GET',
|
|
15
|
-
params: filter,
|
|
16
|
-
});
|
|
17
|
-
return res.data;
|
|
18
|
-
}
|
|
19
19
|
}
|
|
20
20
|
class DefaultEnumService {
|
|
21
21
|
constructor(rest, targetApi = constants_1.TARGET_API_AGENT) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EnumService.js","sourceRoot":"","sources":["../../../../src/services/rest/EnumService.ts"],"names":[],"mappings":";;;AAEA,4CAAoD;AAapD,MAAM,qBAAqB;IAKzB,YAAY,IAAgB,EAAE,IAAY,EAAE,SAAiB;
|
|
1
|
+
{"version":3,"file":"EnumService.js","sourceRoot":"","sources":["../../../../src/services/rest/EnumService.ts"],"names":[],"mappings":";;;AAEA,4CAAoD;AAapD,MAAM,qBAAqB;IAKzB,YAAY,IAAgB,EAAE,IAAY,EAAE,SAAiB;QAK7D,SAAI,GAAG,KAAK,EAAE,MAAuB,EAA0B,EAAE;YAC/D,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC/B,GAAG,EAAE,IAAI,IAAI,CAAC,SAAS,YAAY,IAAI,CAAC,IAAI,EAAE;gBAC9C,MAAM,EAAE,KAAK;gBACb,MAAM,EAAE,MAAM;aACf,CAAC,CAAC;YACH,OAAO,GAAG,CAAC,IAAqB,CAAC;QACnC,CAAC,CAAC;QAXA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;CASF;AAED,MAAa,kBAAkB;IAM7B,YAAY,IAAgB,EAAE,SAAS,GAAG,4BAAgB;QACxD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,WAAW,GAAG,IAAI,qBAAqB,CAAC,IAAI,EAAE,gBAAI,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;QACrF,IAAI,CAAC,aAAa,GAAG,IAAI,qBAAqB,CAAC,IAAI,EAAE,gBAAI,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAAC;QACzF,IAAI,CAAC,MAAM,GAAG,IAAI,qBAAqB,CAAC,IAAI,EAAE,gBAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAC7E,CAAC;CACF;AAZD,gDAYC"}
|
|
@@ -42,6 +42,6 @@ export declare class DefaultRestClient {
|
|
|
42
42
|
protected readonly rateLimitStrategy: RestClientRateLimitStrategy;
|
|
43
43
|
protected readonly logger: AmpLogger;
|
|
44
44
|
constructor(options?: RestClientOptions);
|
|
45
|
-
call(request: RestRequest)
|
|
45
|
+
call: (request: RestRequest) => Promise<RestResponse>;
|
|
46
46
|
}
|
|
47
47
|
export declare const getAmpRestClient: (options: AmpRestClientOptions) => RestClient;
|
|
@@ -44,6 +44,33 @@ const logging_1 = require("../../logging");
|
|
|
44
44
|
class DefaultRestClient {
|
|
45
45
|
constructor(options = {}) {
|
|
46
46
|
var _a, _b, _c, _d, _e;
|
|
47
|
+
this.call = async (request) => {
|
|
48
|
+
var _a, _b;
|
|
49
|
+
const req = lodash_1.default.merge(request);
|
|
50
|
+
try {
|
|
51
|
+
await this.rateLimitStrategy.reserve(req);
|
|
52
|
+
this.logger.debug({ req }); // noop logger by default
|
|
53
|
+
const res = await this.ampAxios.request(req);
|
|
54
|
+
return {
|
|
55
|
+
status: res.status,
|
|
56
|
+
headers: (0, utils_1.convertHeaders)(res),
|
|
57
|
+
data: res.data,
|
|
58
|
+
error: null,
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
catch (err) {
|
|
62
|
+
if (err instanceof axios_1.AxiosError) {
|
|
63
|
+
const axiosError = err;
|
|
64
|
+
return {
|
|
65
|
+
status: (_b = (_a = axiosError.response) === null || _a === void 0 ? void 0 : _a.status) !== null && _b !== void 0 ? _b : 500,
|
|
66
|
+
headers: axiosError.response ? (0, utils_1.convertHeaders)(axiosError.response) : {},
|
|
67
|
+
data: null,
|
|
68
|
+
error: err,
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
throw err;
|
|
72
|
+
}
|
|
73
|
+
};
|
|
47
74
|
// TODO: rest client
|
|
48
75
|
const client = (_a = options.client) !== null && _a !== void 0 ? _a : axios_1.default;
|
|
49
76
|
this.ampAxios = client.create({
|
|
@@ -64,33 +91,6 @@ class DefaultRestClient {
|
|
|
64
91
|
this.retryStrategy = (_d = options.retryStrategy) !== null && _d !== void 0 ? _d : retry_rest_1.noopRestRetryStrategy;
|
|
65
92
|
this.rateLimitStrategy = (_e = options.rateLimitStrategy) !== null && _e !== void 0 ? _e : rateLimit_rest_1.noopRestClientRateLimitStrategy;
|
|
66
93
|
}
|
|
67
|
-
async call(request) {
|
|
68
|
-
var _a, _b;
|
|
69
|
-
const req = lodash_1.default.merge(request);
|
|
70
|
-
try {
|
|
71
|
-
await this.rateLimitStrategy.reserve(req);
|
|
72
|
-
this.logger.debug({ req }); // noop logger by default
|
|
73
|
-
const res = await this.ampAxios.request(req);
|
|
74
|
-
return {
|
|
75
|
-
status: res.status,
|
|
76
|
-
headers: (0, utils_1.convertHeaders)(res),
|
|
77
|
-
data: res.data,
|
|
78
|
-
error: null,
|
|
79
|
-
};
|
|
80
|
-
}
|
|
81
|
-
catch (err) {
|
|
82
|
-
if (err instanceof axios_1.AxiosError) {
|
|
83
|
-
const axiosError = err;
|
|
84
|
-
return {
|
|
85
|
-
status: (_b = (_a = axiosError.response) === null || _a === void 0 ? void 0 : _a.status) !== null && _b !== void 0 ? _b : 500,
|
|
86
|
-
headers: axiosError.response ? (0, utils_1.convertHeaders)(axiosError.response) : {},
|
|
87
|
-
data: null,
|
|
88
|
-
error: err,
|
|
89
|
-
};
|
|
90
|
-
}
|
|
91
|
-
throw err;
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
94
|
}
|
|
95
95
|
exports.DefaultRestClient = DefaultRestClient;
|
|
96
96
|
const getAmpRestClient = (options) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RestClient.js","sourceRoot":"","sources":["../../../../src/services/rest/RestClient.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAAuB;AACvB,4CAAoB;AACpB,+CAA4D;AAG5D,6CAA4E;AAC5E,mCAAmD;AACnD,qDAAiI;AACjI,2CAAoD;AA6BpD;;;;;;GAMG;AACH,MAAa,iBAAiB;IAM5B,YAAY,UAA6B,EAAE;;
|
|
1
|
+
{"version":3,"file":"RestClient.js","sourceRoot":"","sources":["../../../../src/services/rest/RestClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,15 +3,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.UserIdentityService = void 0;
|
|
4
4
|
class UserIdentityService {
|
|
5
5
|
constructor(rest) {
|
|
6
|
+
this.me = async () => {
|
|
7
|
+
const res = await this.rest.call({
|
|
8
|
+
url: '/eng/v1/me',
|
|
9
|
+
method: 'GET',
|
|
10
|
+
});
|
|
11
|
+
return res.data;
|
|
12
|
+
};
|
|
6
13
|
this.rest = rest;
|
|
7
14
|
}
|
|
8
|
-
async me() {
|
|
9
|
-
const res = await this.rest.call({
|
|
10
|
-
url: '/eng/v1/me',
|
|
11
|
-
method: 'GET',
|
|
12
|
-
});
|
|
13
|
-
return res.data;
|
|
14
|
-
}
|
|
15
15
|
}
|
|
16
16
|
exports.UserIdentityService = UserIdentityService;
|
|
17
17
|
//# sourceMappingURL=UserIdentityService.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserIdentityService.js","sourceRoot":"","sources":["../../../../src/services/rest/UserIdentityService.ts"],"names":[],"mappings":";;;AAOA,MAAa,mBAAmB;IAE9B,YAAY,IAAgB;
|
|
1
|
+
{"version":3,"file":"UserIdentityService.js","sourceRoot":"","sources":["../../../../src/services/rest/UserIdentityService.ts"],"names":[],"mappings":";;;AAOA,MAAa,mBAAmB;IAE9B,YAAY,IAAgB;QAG5B,OAAE,GAAG,KAAK,IAA0B,EAAE;YACpC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC/B,GAAG,EAAE,YAAY;gBACjB,MAAM,EAAE,KAAK;aACd,CAAC,CAAC;YACH,OAAO,GAAG,CAAC,IAAmB,CAAC;QACjC,CAAC,CAAC;QARA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CAQF;AAZD,kDAYC"}
|
|
@@ -3,23 +3,23 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.StaticRestClientRateLimitStrategy = exports.noopRestClientRateLimitStrategy = void 0;
|
|
4
4
|
exports.noopRestClientRateLimitStrategy = {
|
|
5
5
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
6
|
-
reserve(_req) {
|
|
6
|
+
reserve: (_req) => {
|
|
7
7
|
return Promise.resolve();
|
|
8
8
|
},
|
|
9
9
|
};
|
|
10
10
|
const sleep = (ms) => new Promise(resolve => setTimeout(resolve, ms));
|
|
11
11
|
class StaticRestClientRateLimitStrategy {
|
|
12
12
|
constructor(delay) {
|
|
13
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
14
|
+
this.reserve = async (_req) => {
|
|
15
|
+
while (Date.now() - this.lastRequest < this.delay) {
|
|
16
|
+
await sleep(this.delay);
|
|
17
|
+
}
|
|
18
|
+
this.lastRequest = Date.now();
|
|
19
|
+
};
|
|
13
20
|
this.delay = delay;
|
|
14
21
|
this.lastRequest = 0;
|
|
15
22
|
}
|
|
16
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
17
|
-
async reserve(_req) {
|
|
18
|
-
while (Date.now() - this.lastRequest < this.delay) {
|
|
19
|
-
await sleep(this.delay);
|
|
20
|
-
}
|
|
21
|
-
this.lastRequest = Date.now();
|
|
22
|
-
}
|
|
23
23
|
}
|
|
24
24
|
exports.StaticRestClientRateLimitStrategy = StaticRestClientRateLimitStrategy;
|
|
25
25
|
//# sourceMappingURL=rateLimit.rest.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rateLimit.rest.js","sourceRoot":"","sources":["../../../../src/services/rest/rateLimit.rest.ts"],"names":[],"mappings":";;;AAMa,QAAA,+BAA+B,GAAgC;IAC1E,6DAA6D;IAC7D,OAAO,CAAC,IAAiB;
|
|
1
|
+
{"version":3,"file":"rateLimit.rest.js","sourceRoot":"","sources":["../../../../src/services/rest/rateLimit.rest.ts"],"names":[],"mappings":";;;AAMa,QAAA,+BAA+B,GAAgC;IAC1E,6DAA6D;IAC7D,OAAO,EAAE,CAAC,IAAiB,EAAiB,EAAE;QAC5C,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;CACF,CAAC;AAEF,MAAM,KAAK,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAE9E,MAAa,iCAAiC;IAI5C,YAAY,KAAa;QAIzB,6DAA6D;QAC7D,YAAO,GAAG,KAAK,EAAE,IAAiB,EAAiB,EAAE;YACnD,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,EAAE;gBACjD,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACzB;YACD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAChC,CAAC,CAAC;QATA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;IACvB,CAAC;CAQF;AAfD,8EAeC"}
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.noopRestRetryStrategy = void 0;
|
|
4
4
|
const utils_1 = require("./utils");
|
|
5
5
|
exports.noopRestRetryStrategy = {
|
|
6
|
-
onError(req, err) {
|
|
6
|
+
onError: (req, err) => {
|
|
7
7
|
var _a, _b;
|
|
8
8
|
const axiosError = err;
|
|
9
9
|
const res = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retry.rest.js","sourceRoot":"","sources":["../../../../src/services/rest/retry.rest.ts"],"names":[],"mappings":";;;AACA,mCAAuC;AAQ1B,QAAA,qBAAqB,GAA4B;IAC5D,OAAO,CAAC,GAAgB,EAAE,GAAe;;
|
|
1
|
+
{"version":3,"file":"retry.rest.js","sourceRoot":"","sources":["../../../../src/services/rest/retry.rest.ts"],"names":[],"mappings":";;;AACA,mCAAuC;AAQ1B,QAAA,qBAAqB,GAA4B;IAC5D,OAAO,EAAE,CAAC,GAAgB,EAAE,GAAe,EAAyB,EAAE;;QACpE,MAAM,UAAU,GAAG,GAAiB,CAAC;QACrC,MAAM,GAAG,GAAiB;YACxB,MAAM,EAAE,MAAA,MAAA,UAAU,CAAC,QAAQ,0CAAE,MAAM,mCAAI,GAAG;YAC1C,OAAO,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAA,sBAAc,EAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE;YACvE,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,GAAG;SACX,CAAC;QACF,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;CACF,CAAC"}
|
|
@@ -18,19 +18,19 @@ export declare class AmpSettingsService {
|
|
|
18
18
|
protected readonly rest: RestClient;
|
|
19
19
|
protected readonly targetApi: string;
|
|
20
20
|
constructor(rest: RestClient, targetApi?: TargetApi);
|
|
21
|
-
getSettingsMap(tid?: string)
|
|
22
|
-
create<T>(key: TypedAmpSettingsKey<T>, value: T, tid: string, cid?: string)
|
|
23
|
-
update(id: string, entity: AmpSettingUpsertDto)
|
|
24
|
-
delete(id: string)
|
|
25
|
-
static formatSettingMap(settings: AmpSettingDto[], valuesOnly?: boolean)
|
|
21
|
+
getSettingsMap: (tid?: string) => Promise<AmpSettingsMap>;
|
|
22
|
+
create: <T>(key: TypedAmpSettingsKey<T>, value: T, tid: string, cid?: string) => Promise<AmpSettingDto>;
|
|
23
|
+
update: (id: string, entity: AmpSettingUpsertDto) => Promise<AmpSettingDto>;
|
|
24
|
+
delete: (id: string) => Promise<AmpSettingDto>;
|
|
25
|
+
static formatSettingMap: (settings: AmpSettingDto[], valuesOnly?: boolean) => TenantSettingsMap;
|
|
26
26
|
}
|
|
27
27
|
export declare class AmpSettingsMap {
|
|
28
28
|
private readonly settings;
|
|
29
29
|
private readonly rawSettingsList;
|
|
30
30
|
constructor(settings: TenantSettingsMap, rawSettingsList: AmpSettingDto[]);
|
|
31
|
-
getGlobalSetting<T>(key: TypedAmpSettingsKey<T>)
|
|
32
|
-
getConnectorSetting<T>(cid: string, key: TypedAmpSettingsKey<T>)
|
|
33
|
-
getConnectorSettings(cid: string)
|
|
34
|
-
getRawMap()
|
|
35
|
-
static asKey<T>(key: AmpSettingKey, defaultValue: T)
|
|
31
|
+
getGlobalSetting: <T>(key: TypedAmpSettingsKey<T>) => T;
|
|
32
|
+
getConnectorSetting: <T>(cid: string, key: TypedAmpSettingsKey<T>) => T;
|
|
33
|
+
getConnectorSettings: (cid: string) => RawAmpSettingsMap | undefined;
|
|
34
|
+
getRawMap: () => TenantSettingsMap;
|
|
35
|
+
static asKey: <T>(key: AmpSettingKey, defaultValue: T) => TypedAmpSettingsKey<T>;
|
|
36
36
|
}
|
|
@@ -7,113 +7,113 @@ exports.AmpSettingsMap = exports.AmpSettingsService = void 0;
|
|
|
7
7
|
const lodash_1 = __importDefault(require("lodash"));
|
|
8
8
|
class AmpSettingsService {
|
|
9
9
|
constructor(rest, targetApi = 'api') {
|
|
10
|
+
this.getSettingsMap = async (tid) => {
|
|
11
|
+
const res = await this.rest.call({
|
|
12
|
+
url: `/${this.targetApi}/v1/settings`,
|
|
13
|
+
method: 'GET',
|
|
14
|
+
params: { tid },
|
|
15
|
+
});
|
|
16
|
+
const page = res.data;
|
|
17
|
+
const settings = page.data;
|
|
18
|
+
const rawSettingsMap = AmpSettingsService.formatSettingMap(settings, true);
|
|
19
|
+
return new AmpSettingsMap(rawSettingsMap, settings);
|
|
20
|
+
};
|
|
21
|
+
this.create = async (key, value, tid, cid) => {
|
|
22
|
+
const page = await this.rest.call({
|
|
23
|
+
url: `/${this.targetApi}/v1/settings`,
|
|
24
|
+
method: 'POST',
|
|
25
|
+
data: {
|
|
26
|
+
tid,
|
|
27
|
+
cid,
|
|
28
|
+
key,
|
|
29
|
+
value,
|
|
30
|
+
},
|
|
31
|
+
});
|
|
32
|
+
const settings = page.data;
|
|
33
|
+
return settings[0];
|
|
34
|
+
};
|
|
35
|
+
this.update = async (id, entity) => {
|
|
36
|
+
const page = await this.rest.call({
|
|
37
|
+
url: `/${this.targetApi}/v1/settings/${id}`,
|
|
38
|
+
method: 'PUT',
|
|
39
|
+
data: entity,
|
|
40
|
+
});
|
|
41
|
+
const settings = page.data;
|
|
42
|
+
return settings[0];
|
|
43
|
+
};
|
|
44
|
+
this.delete = async (id) => {
|
|
45
|
+
const page = await this.rest.call({
|
|
46
|
+
url: `/${this.targetApi}/v1/settings/${id}`,
|
|
47
|
+
method: 'DELETE',
|
|
48
|
+
});
|
|
49
|
+
const settings = page.data;
|
|
50
|
+
return settings[0];
|
|
51
|
+
};
|
|
10
52
|
this.rest = rest;
|
|
11
53
|
this.targetApi = targetApi;
|
|
12
54
|
}
|
|
13
|
-
async getSettingsMap(tid) {
|
|
14
|
-
const res = await this.rest.call({
|
|
15
|
-
url: `/${this.targetApi}/v1/settings`,
|
|
16
|
-
method: 'GET',
|
|
17
|
-
params: { tid },
|
|
18
|
-
});
|
|
19
|
-
const page = res.data;
|
|
20
|
-
const settings = page.data;
|
|
21
|
-
const rawSettingsMap = AmpSettingsService.formatSettingMap(settings, true);
|
|
22
|
-
return new AmpSettingsMap(rawSettingsMap, settings);
|
|
23
|
-
}
|
|
24
|
-
async create(key, value, tid, cid) {
|
|
25
|
-
const page = await this.rest.call({
|
|
26
|
-
url: `/${this.targetApi}/v1/settings`,
|
|
27
|
-
method: 'POST',
|
|
28
|
-
data: {
|
|
29
|
-
tid,
|
|
30
|
-
cid,
|
|
31
|
-
key,
|
|
32
|
-
value,
|
|
33
|
-
},
|
|
34
|
-
});
|
|
35
|
-
const settings = page.data;
|
|
36
|
-
return settings[0];
|
|
37
|
-
}
|
|
38
|
-
async update(id, entity) {
|
|
39
|
-
const page = await this.rest.call({
|
|
40
|
-
url: `/${this.targetApi}/v1/settings/${id}`,
|
|
41
|
-
method: 'PUT',
|
|
42
|
-
data: entity,
|
|
43
|
-
});
|
|
44
|
-
const settings = page.data;
|
|
45
|
-
return settings[0];
|
|
46
|
-
}
|
|
47
|
-
async delete(id) {
|
|
48
|
-
const page = await this.rest.call({
|
|
49
|
-
url: `/${this.targetApi}/v1/settings/${id}`,
|
|
50
|
-
method: 'DELETE',
|
|
51
|
-
});
|
|
52
|
-
const settings = page.data;
|
|
53
|
-
return settings[0];
|
|
54
|
-
}
|
|
55
|
-
static formatSettingMap(settings, valuesOnly = true) {
|
|
56
|
-
const rawSettingsMap = {
|
|
57
|
-
tenantSettings: {},
|
|
58
|
-
connectorSettings: {},
|
|
59
|
-
};
|
|
60
|
-
settings.forEach(setting => {
|
|
61
|
-
if (setting.cid) {
|
|
62
|
-
if (!rawSettingsMap.connectorSettings[setting.cid]) {
|
|
63
|
-
rawSettingsMap.connectorSettings[setting.cid] = {};
|
|
64
|
-
}
|
|
65
|
-
rawSettingsMap.connectorSettings[setting.cid][setting.key] = valuesOnly ? setting.value : setting;
|
|
66
|
-
}
|
|
67
|
-
else {
|
|
68
|
-
rawSettingsMap.tenantSettings[setting.key] = valuesOnly ? setting.value : setting;
|
|
69
|
-
}
|
|
70
|
-
});
|
|
71
|
-
return rawSettingsMap;
|
|
72
|
-
}
|
|
73
55
|
}
|
|
74
56
|
exports.AmpSettingsService = AmpSettingsService;
|
|
57
|
+
AmpSettingsService.formatSettingMap = (settings, valuesOnly = true) => {
|
|
58
|
+
const rawSettingsMap = {
|
|
59
|
+
tenantSettings: {},
|
|
60
|
+
connectorSettings: {},
|
|
61
|
+
};
|
|
62
|
+
settings.forEach(setting => {
|
|
63
|
+
if (setting.cid) {
|
|
64
|
+
if (!rawSettingsMap.connectorSettings[setting.cid]) {
|
|
65
|
+
rawSettingsMap.connectorSettings[setting.cid] = {};
|
|
66
|
+
}
|
|
67
|
+
rawSettingsMap.connectorSettings[setting.cid][setting.key] = valuesOnly ? setting.value : setting;
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
rawSettingsMap.tenantSettings[setting.key] = valuesOnly ? setting.value : setting;
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
return rawSettingsMap;
|
|
74
|
+
};
|
|
75
75
|
class AmpSettingsMap {
|
|
76
76
|
constructor(settings, rawSettingsList) {
|
|
77
77
|
this.rawSettingsList = new Array();
|
|
78
|
-
this.
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
const tenantVal = this.settings.tenantSettings[key.id];
|
|
83
|
-
if (tenantVal) {
|
|
84
|
-
return tenantVal;
|
|
85
|
-
}
|
|
86
|
-
return key.defaultValue;
|
|
87
|
-
}
|
|
88
|
-
getConnectorSetting(cid, key) {
|
|
89
|
-
const tenantVal = this.settings.tenantSettings[key.id];
|
|
90
|
-
const connectorMap = this.settings.connectorSettings[cid];
|
|
91
|
-
if (connectorMap) {
|
|
92
|
-
const connectorVal = connectorMap[key.id];
|
|
93
|
-
if (connectorVal) {
|
|
94
|
-
return connectorVal;
|
|
78
|
+
this.getGlobalSetting = (key) => {
|
|
79
|
+
const tenantVal = this.settings.tenantSettings[key.id];
|
|
80
|
+
if (tenantVal) {
|
|
81
|
+
return tenantVal;
|
|
95
82
|
}
|
|
96
|
-
|
|
97
|
-
if (tenantVal) {
|
|
98
|
-
return tenantVal;
|
|
99
|
-
}
|
|
100
|
-
return key.defaultValue;
|
|
101
|
-
}
|
|
102
|
-
getConnectorSettings(cid) {
|
|
103
|
-
if (!this.settings.connectorSettings[cid]) {
|
|
104
|
-
return undefined;
|
|
105
|
-
}
|
|
106
|
-
return lodash_1.default.clone(this.settings.connectorSettings[cid]);
|
|
107
|
-
}
|
|
108
|
-
getRawMap() {
|
|
109
|
-
return AmpSettingsService.formatSettingMap(this.rawSettingsList, false);
|
|
110
|
-
}
|
|
111
|
-
static asKey(key, defaultValue) {
|
|
112
|
-
return {
|
|
113
|
-
id: key,
|
|
114
|
-
defaultValue,
|
|
83
|
+
return key.defaultValue;
|
|
115
84
|
};
|
|
85
|
+
this.getConnectorSetting = (cid, key) => {
|
|
86
|
+
const tenantVal = this.settings.tenantSettings[key.id];
|
|
87
|
+
const connectorMap = this.settings.connectorSettings[cid];
|
|
88
|
+
if (connectorMap) {
|
|
89
|
+
const connectorVal = connectorMap[key.id];
|
|
90
|
+
if (connectorVal) {
|
|
91
|
+
return connectorVal;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
if (tenantVal) {
|
|
95
|
+
return tenantVal;
|
|
96
|
+
}
|
|
97
|
+
return key.defaultValue;
|
|
98
|
+
};
|
|
99
|
+
this.getConnectorSettings = (cid) => {
|
|
100
|
+
if (!this.settings.connectorSettings[cid]) {
|
|
101
|
+
return undefined;
|
|
102
|
+
}
|
|
103
|
+
return lodash_1.default.clone(this.settings.connectorSettings[cid]);
|
|
104
|
+
};
|
|
105
|
+
this.getRawMap = () => {
|
|
106
|
+
return AmpSettingsService.formatSettingMap(this.rawSettingsList, false);
|
|
107
|
+
};
|
|
108
|
+
this.settings = settings;
|
|
109
|
+
this.rawSettingsList = rawSettingsList;
|
|
116
110
|
}
|
|
117
111
|
}
|
|
118
112
|
exports.AmpSettingsMap = AmpSettingsMap;
|
|
113
|
+
AmpSettingsMap.asKey = (key, defaultValue) => {
|
|
114
|
+
return {
|
|
115
|
+
id: key,
|
|
116
|
+
defaultValue,
|
|
117
|
+
};
|
|
118
|
+
};
|
|
119
119
|
//# sourceMappingURL=settings.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.service.js","sourceRoot":"","sources":["../../../src/services/settings.service.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAuB;AAoBvB,MAAa,kBAAkB;IAG7B,YAAY,IAAgB,EAAE,YAAuB,KAAK;
|
|
1
|
+
{"version":3,"file":"settings.service.js","sourceRoot":"","sources":["../../../src/services/settings.service.ts"],"names":[],"mappings":"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"}
|