@rockcarver/frodo-lib 0.16.2-2 → 0.16.2-4
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/CHANGELOG.md +9 -1
- package/cjs/api/AgentApi.js +221 -0
- package/cjs/api/AgentApi.js.map +1 -0
- package/cjs/api/AgentApi.test.js.map +1 -0
- package/cjs/api/ApiTypes.js.map +1 -1
- package/cjs/api/BaseApi.js +17 -13
- package/cjs/api/BaseApi.js.map +1 -1
- package/cjs/ext/axios-curlirize/curlirize.js +47 -0
- package/cjs/ext/axios-curlirize/curlirize.js.map +1 -0
- package/cjs/ext/axios-curlirize/lib/CurlHelper.js +74 -0
- package/cjs/ext/axios-curlirize/lib/CurlHelper.js.map +1 -0
- package/cjs/index.js +5 -1
- package/cjs/index.js.map +1 -1
- package/cjs/ops/AgentOps.js +805 -0
- package/cjs/ops/AgentOps.js.map +1 -0
- package/cjs/ops/AgentOps.test.js.map +1 -0
- package/cjs/ops/AuthenticateOps.js +8 -8
- package/cjs/ops/AuthenticateOps.js.map +1 -1
- package/cjs/ops/JourneyOps.test.js.map +1 -1
- package/cjs/ops/OpsTypes.js.map +1 -1
- package/cjs/test/mocks/AgentApi/deleteAgentByTypeAndId/IdentityGatewayAgent/ajays_client.json +22 -0
- package/cjs/test/mocks/AgentApi/deleteAgentByTypeAndId/IdentityGatewayAgent/api_client.json +22 -0
- package/cjs/test/mocks/AgentApi/deleteAgentByTypeAndId/IdentityGatewayAgent/ig_chico.json +22 -0
- package/cjs/test/mocks/AgentApi/deleteAgentByTypeAndId/IdentityGatewayAgent/ig_mytestrun_com.json +32 -0
- package/cjs/test/mocks/AgentApi/deleteAgentByTypeAndId/J2EEAgent/javaAgent.json +623 -0
- package/cjs/test/mocks/AgentApi/deleteAgentByTypeAndId/J2EEAgent/tomcatagent.json +630 -0
- package/cjs/test/mocks/AgentApi/deleteAgentByTypeAndId/WebAgent/apacheagent.json +456 -0
- package/cjs/test/mocks/AgentApi/deleteAgentByTypeAndId/WebAgent/webserver.json +455 -0
- package/cjs/test/mocks/AgentApi/findAgentById/ajays_client.json +19 -0
- package/cjs/test/mocks/AgentApi/findAgentById/apacheagent.json +142 -0
- package/cjs/test/mocks/AgentApi/findAgentById/api_client.json +19 -0
- package/cjs/test/mocks/AgentApi/findAgentById/ig_chico.json +19 -0
- package/cjs/test/mocks/AgentApi/findAgentById/ig_mytestrun_com.json +29 -0
- package/cjs/test/mocks/AgentApi/findAgentById/javaAgent.json +190 -0
- package/cjs/test/mocks/AgentApi/findAgentById/tomcatagent.json +191 -0
- package/cjs/test/mocks/AgentApi/findAgentById/webserver.json +144 -0
- package/cjs/test/mocks/AgentApi/findAgentByTypeAndId/IdentityGatewayAgent/ajays_client.json +23 -0
- package/cjs/test/mocks/AgentApi/findAgentByTypeAndId/IdentityGatewayAgent/api_client.json +22 -0
- package/cjs/test/mocks/AgentApi/findAgentByTypeAndId/IdentityGatewayAgent/ig_chico.json +22 -0
- package/cjs/test/mocks/AgentApi/findAgentByTypeAndId/IdentityGatewayAgent/ig_mytestrun_com.json +33 -0
- package/cjs/test/mocks/AgentApi/findAgentByTypeAndId/J2EEAgent/javaAgent.json +193 -0
- package/cjs/test/mocks/AgentApi/findAgentByTypeAndId/J2EEAgent/tomcatagent.json +195 -0
- package/cjs/test/mocks/AgentApi/findAgentByTypeAndId/WebAgent/apacheagent.json +145 -0
- package/cjs/test/mocks/AgentApi/findAgentByTypeAndId/WebAgent/webserver.json +148 -0
- package/cjs/test/mocks/AgentApi/findAgentByTypeAndId/not_found.json +8 -0
- package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/ajays_client.json +22 -0
- package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/api_client.json +22 -0
- package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/ig_chico.json +22 -0
- package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/ig_mytestrun_com.json +32 -0
- package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/javaAgent.json +623 -0
- package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/tomcatagent.json +630 -0
- package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/apacheagent.json +456 -0
- package/cjs/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/webserver.json +455 -0
- package/cjs/test/mocks/AgentApi/getAgentTypes/agentTypes.json +54 -0
- package/cjs/test/mocks/AgentApi/getAgents/agents.json +3862 -0
- package/cjs/test/mocks/AgentApi/getAgentsByType/IdentityGatewayAgents.json +73 -0
- package/cjs/test/mocks/AgentApi/getAgentsByType/J2EEAgents.json +379 -0
- package/cjs/test/mocks/AgentApi/getAgentsByType/WebAgents.json +284 -0
- package/cjs/test/mocks/ForgeRockApiMockEngine.js +147 -20
- package/cjs/test/mocks/ForgeRockApiMockEngine.js.map +1 -1
- package/esm/api/AgentApi.mjs +164 -0
- package/esm/api/AgentApi.test.mjs +267 -0
- package/esm/api/BaseApi.mjs +17 -5
- package/esm/ext/axios-curlirize/curlirize.mjs +38 -0
- package/esm/ext/axios-curlirize/lib/CurlHelper.mjs +67 -0
- package/esm/index.mjs +2 -0
- package/esm/ops/AgentOps.mjs +576 -0
- package/esm/ops/AgentOps.test.mjs +1212 -0
- package/esm/ops/AuthenticateOps.mjs +8 -8
- package/esm/ops/JourneyOps.test.mjs +4 -8
- package/esm/test/mocks/AgentApi/deleteAgentByTypeAndId/IdentityGatewayAgent/ajays_client.json +22 -0
- package/esm/test/mocks/AgentApi/deleteAgentByTypeAndId/IdentityGatewayAgent/api_client.json +22 -0
- package/esm/test/mocks/AgentApi/deleteAgentByTypeAndId/IdentityGatewayAgent/ig_chico.json +22 -0
- package/esm/test/mocks/AgentApi/deleteAgentByTypeAndId/IdentityGatewayAgent/ig_mytestrun_com.json +32 -0
- package/esm/test/mocks/AgentApi/deleteAgentByTypeAndId/J2EEAgent/javaAgent.json +623 -0
- package/esm/test/mocks/AgentApi/deleteAgentByTypeAndId/J2EEAgent/tomcatagent.json +630 -0
- package/esm/test/mocks/AgentApi/deleteAgentByTypeAndId/WebAgent/apacheagent.json +456 -0
- package/esm/test/mocks/AgentApi/deleteAgentByTypeAndId/WebAgent/webserver.json +455 -0
- package/esm/test/mocks/AgentApi/findAgentById/ajays_client.json +19 -0
- package/esm/test/mocks/AgentApi/findAgentById/apacheagent.json +142 -0
- package/esm/test/mocks/AgentApi/findAgentById/api_client.json +19 -0
- package/esm/test/mocks/AgentApi/findAgentById/ig_chico.json +19 -0
- package/esm/test/mocks/AgentApi/findAgentById/ig_mytestrun_com.json +29 -0
- package/esm/test/mocks/AgentApi/findAgentById/javaAgent.json +190 -0
- package/esm/test/mocks/AgentApi/findAgentById/tomcatagent.json +191 -0
- package/esm/test/mocks/AgentApi/findAgentById/webserver.json +144 -0
- package/esm/test/mocks/AgentApi/findAgentByTypeAndId/IdentityGatewayAgent/ajays_client.json +23 -0
- package/esm/test/mocks/AgentApi/findAgentByTypeAndId/IdentityGatewayAgent/api_client.json +22 -0
- package/esm/test/mocks/AgentApi/findAgentByTypeAndId/IdentityGatewayAgent/ig_chico.json +22 -0
- package/esm/test/mocks/AgentApi/findAgentByTypeAndId/IdentityGatewayAgent/ig_mytestrun_com.json +33 -0
- package/esm/test/mocks/AgentApi/findAgentByTypeAndId/J2EEAgent/javaAgent.json +193 -0
- package/esm/test/mocks/AgentApi/findAgentByTypeAndId/J2EEAgent/tomcatagent.json +195 -0
- package/esm/test/mocks/AgentApi/findAgentByTypeAndId/WebAgent/apacheagent.json +145 -0
- package/esm/test/mocks/AgentApi/findAgentByTypeAndId/WebAgent/webserver.json +148 -0
- package/esm/test/mocks/AgentApi/findAgentByTypeAndId/not_found.json +8 -0
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/ajays_client.json +22 -0
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/api_client.json +22 -0
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/ig_chico.json +22 -0
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/IdentityGatewayAgent/ig_mytestrun_com.json +32 -0
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/javaAgent.json +623 -0
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/J2EEAgent/tomcatagent.json +630 -0
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/apacheagent.json +456 -0
- package/esm/test/mocks/AgentApi/getAgentByTypeAndId/WebAgent/webserver.json +455 -0
- package/esm/test/mocks/AgentApi/getAgentTypes/agentTypes.json +54 -0
- package/esm/test/mocks/AgentApi/getAgents/agents.json +3862 -0
- package/esm/test/mocks/AgentApi/getAgentsByType/IdentityGatewayAgents.json +73 -0
- package/esm/test/mocks/AgentApi/getAgentsByType/J2EEAgents.json +379 -0
- package/esm/test/mocks/AgentApi/getAgentsByType/WebAgents.json +284 -0
- package/esm/test/mocks/ForgeRockApiMockEngine.mjs +136 -20
- package/package.json +3 -4
- package/types/api/AgentApi.d.ts +51 -0
- package/types/api/AgentApi.d.ts.map +1 -0
- package/types/api/ApiTypes.d.ts +3 -0
- package/types/api/ApiTypes.d.ts.map +1 -1
- package/types/api/BaseApi.d.ts.map +1 -1
- package/types/ext/axios-curlirize/curlirize.d.ts +3 -0
- package/types/ext/axios-curlirize/curlirize.d.ts.map +1 -0
- package/types/ext/axios-curlirize/lib/CurlHelper.d.ts +11 -0
- package/types/ext/axios-curlirize/lib/CurlHelper.d.ts.map +1 -0
- package/types/index.d.ts +2 -0
- package/types/index.d.ts.map +1 -1
- package/types/ops/AgentOps.d.ts +210 -0
- package/types/ops/AgentOps.d.ts.map +1 -0
- package/types/ops/AuthenticateOps.d.ts.map +1 -1
- package/types/ops/OpsTypes.d.ts +5 -1
- package/types/ops/OpsTypes.d.ts.map +1 -1
- package/types/test/mocks/ForgeRockApiMockEngine.d.ts +35 -2
- package/types/test/mocks/ForgeRockApiMockEngine.d.ts.map +1 -1
package/esm/api/BaseApi.mjs
CHANGED
|
@@ -8,7 +8,7 @@ import storage from '../storage/SessionStorage';
|
|
|
8
8
|
import path from 'path';
|
|
9
9
|
import { fileURLToPath } from 'url';
|
|
10
10
|
import { curlirizeMessage, printMessage } from '../ops/utils/Console';
|
|
11
|
-
import _curlirize from 'axios-curlirize';
|
|
11
|
+
import _curlirize from '../ext/axios-curlirize/curlirize';
|
|
12
12
|
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
13
13
|
const pkg = JSON.parse(fs.readFileSync(path.resolve(__dirname, '../../package.json'), 'utf8'));
|
|
14
14
|
axiosRetry(axios, {
|
|
@@ -107,7 +107,10 @@ export function generateAmApi(resource, requestOverride = {}) {
|
|
|
107
107
|
let headers = {
|
|
108
108
|
'User-Agent': userAgent,
|
|
109
109
|
'Content-Type': 'application/json',
|
|
110
|
-
|
|
110
|
+
// only add API version if we have it
|
|
111
|
+
...(resource.apiVersion && {
|
|
112
|
+
'Accept-API-Version': resource.apiVersion
|
|
113
|
+
}),
|
|
111
114
|
// only send session cookie if we know its name and value
|
|
112
115
|
...(storage.session.getCookieName() && storage.session.getCookieValue() && {
|
|
113
116
|
Cookie: `${storage.session.getCookieName()}=${storage.session.getCookieValue()}`
|
|
@@ -151,8 +154,14 @@ export function generateAmApi(resource, requestOverride = {}) {
|
|
|
151
154
|
export function generateOauth2Api(resource, requestOverride = {}) {
|
|
152
155
|
let headers = {
|
|
153
156
|
'User-Agent': userAgent,
|
|
154
|
-
|
|
155
|
-
|
|
157
|
+
// only add API version if we have it
|
|
158
|
+
...(resource.apiVersion && {
|
|
159
|
+
'Accept-API-Version': resource.apiVersion
|
|
160
|
+
}),
|
|
161
|
+
// only send session cookie if we know its name and value
|
|
162
|
+
...(storage.session.getCookieName() && storage.session.getCookieValue() && {
|
|
163
|
+
Cookie: `${storage.session.getCookieName()}=${storage.session.getCookieValue()}`
|
|
164
|
+
})
|
|
156
165
|
};
|
|
157
166
|
if (requestOverride['headers']) {
|
|
158
167
|
headers = {
|
|
@@ -288,7 +297,10 @@ export function generateESVApi(resource, requestOverride = {}) {
|
|
|
288
297
|
const headers = {
|
|
289
298
|
'User-Agent': userAgent,
|
|
290
299
|
'Content-Type': 'application/json',
|
|
291
|
-
|
|
300
|
+
// only add API version if we have it
|
|
301
|
+
...(resource.apiVersion && {
|
|
302
|
+
'Accept-API-Version': resource.apiVersion
|
|
303
|
+
})
|
|
292
304
|
};
|
|
293
305
|
const requestDetails = {
|
|
294
306
|
// baseURL: getTenantURL(storage.session.getTenant()),
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { CurlHelper } from './lib/CurlHelper';
|
|
2
|
+
function defaultLogCallback(curlResult, err = undefined) {
|
|
3
|
+
const {
|
|
4
|
+
command
|
|
5
|
+
} = curlResult;
|
|
6
|
+
if (err) {
|
|
7
|
+
console.error(err);
|
|
8
|
+
} else {
|
|
9
|
+
console.info(command);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
export default ((instance, callback = defaultLogCallback) => {
|
|
13
|
+
instance.interceptors.request.use(req => {
|
|
14
|
+
try {
|
|
15
|
+
const curl = new CurlHelper(req);
|
|
16
|
+
req.curlObject = curl;
|
|
17
|
+
req.curlCommand = curl.generateCommand();
|
|
18
|
+
req.clearCurl = () => {
|
|
19
|
+
delete req.curlObject;
|
|
20
|
+
delete req.curlCommand;
|
|
21
|
+
delete req.clearCurl;
|
|
22
|
+
};
|
|
23
|
+
} catch (err) {
|
|
24
|
+
// Even if the axios middleware is stopped, no error should occur outside.
|
|
25
|
+
callback(null, err);
|
|
26
|
+
} finally {
|
|
27
|
+
if (req.curlirize !== false) {
|
|
28
|
+
callback({
|
|
29
|
+
command: req.curlCommand,
|
|
30
|
+
object: req.curlObject
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
// eslint-disable-next-line no-unsafe-finally
|
|
34
|
+
return req;
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
});
|
|
38
|
+
//# sourceMappingURL=curlirize.js.map
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
export class CurlHelper {
|
|
2
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
3
|
+
|
|
4
|
+
constructor(config) {
|
|
5
|
+
this.request = config;
|
|
6
|
+
}
|
|
7
|
+
getHeaders() {
|
|
8
|
+
let headers = this.request.headers,
|
|
9
|
+
curlHeaders = '';
|
|
10
|
+
|
|
11
|
+
// get the headers concerning the appropriate method (defined in the global axios instance)
|
|
12
|
+
// eslint-disable-next-line no-prototype-builtins
|
|
13
|
+
if (headers.hasOwnProperty('common')) {
|
|
14
|
+
headers = this.request.headers[this.request.method];
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
// add any custom headers (defined upon calling methods like .get(), .post(), etc.)
|
|
18
|
+
for (const property in this.request.headers) {
|
|
19
|
+
if (!['common', 'delete', 'get', 'head', 'patch', 'post', 'put'].includes(property)) {
|
|
20
|
+
headers[property] = this.request.headers[property];
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
for (const property in headers) {
|
|
24
|
+
const header = `${property}:${headers[property]}`;
|
|
25
|
+
curlHeaders = `${curlHeaders} -H "${header}"`;
|
|
26
|
+
}
|
|
27
|
+
return curlHeaders.trim();
|
|
28
|
+
}
|
|
29
|
+
getMethod() {
|
|
30
|
+
return `-X ${this.request.method.toUpperCase()}`;
|
|
31
|
+
}
|
|
32
|
+
getBody() {
|
|
33
|
+
if (typeof this.request.data !== 'undefined' && this.request.data !== '' && this.request.data !== null && this.request.method.toUpperCase() !== 'GET') {
|
|
34
|
+
const data = typeof this.request.data === 'object' || Object.prototype.toString.call(this.request.data) === '[object Array]' ? JSON.stringify(this.request.data) : this.request.data;
|
|
35
|
+
return `--data '${data}'`.trim();
|
|
36
|
+
} else {
|
|
37
|
+
return '';
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
getUrl() {
|
|
41
|
+
if (this.request.baseURL) {
|
|
42
|
+
return this.request.baseURL + '/' + this.request.url;
|
|
43
|
+
}
|
|
44
|
+
return this.request.url;
|
|
45
|
+
}
|
|
46
|
+
getQueryString() {
|
|
47
|
+
let params = '',
|
|
48
|
+
i = 0;
|
|
49
|
+
for (const param in this.request.params) {
|
|
50
|
+
params += i !== 0 ? `&${param}=${this.request.params[param]}` : `?${param}=${this.request.params[param]}`;
|
|
51
|
+
i++;
|
|
52
|
+
}
|
|
53
|
+
return params;
|
|
54
|
+
}
|
|
55
|
+
getBuiltURL() {
|
|
56
|
+
let url = this.getUrl();
|
|
57
|
+
if (this.getQueryString() !== '') {
|
|
58
|
+
url = url.charAt(url.length - 1) === '/' ? url.substr(0, url.length - 1) : url;
|
|
59
|
+
url += this.getQueryString();
|
|
60
|
+
}
|
|
61
|
+
return url.trim();
|
|
62
|
+
}
|
|
63
|
+
generateCommand() {
|
|
64
|
+
return `curl ${this.getMethod()} ${this.getHeaders()} ${this.getBody()} "${this.getBuiltURL()}"`.trim().replace(/\s{2,}/g, ' ');
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=CurlHelper.js.map
|
package/esm/index.mjs
CHANGED
|
@@ -2,6 +2,7 @@ import Color from 'colors';
|
|
|
2
2
|
Color.enable();
|
|
3
3
|
|
|
4
4
|
// Api Layer
|
|
5
|
+
export * as AgentRaw from './api/AgentApi';
|
|
5
6
|
export * as EmailTemplateRaw from './api/EmailTemplateApi';
|
|
6
7
|
export * as NodeRaw from './api/NodeApi';
|
|
7
8
|
export * as SecretsRaw from './api/SecretsApi';
|
|
@@ -13,6 +14,7 @@ export * as VariablesRaw from './api/VariablesApi';
|
|
|
13
14
|
|
|
14
15
|
// Ops Layer
|
|
15
16
|
export * as Admin from './ops/AdminOps';
|
|
17
|
+
export * as Agent from './ops/AgentOps';
|
|
16
18
|
export * as Authenticate from './ops/AuthenticateOps';
|
|
17
19
|
export * as CirclesOfTrust from './ops/CirclesOfTrustOps';
|
|
18
20
|
export * as ConnectionProfile from './ops/ConnectionProfileOps';
|