@apimatic/cli 1.1.0-beta.1 → 1.1.0-beta.3
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/README.md +7 -2
- package/lib/actions/action-result.d.ts +12 -6
- package/lib/actions/action-result.js +36 -10
- package/lib/actions/action-result.js.map +1 -1
- package/lib/actions/api/validate.d.ts +3 -1
- package/lib/actions/api/validate.js +14 -3
- package/lib/actions/api/validate.js.map +1 -1
- package/lib/actions/portal/copilot.js +2 -2
- package/lib/actions/portal/quickstart.d.ts +1 -0
- package/lib/actions/portal/quickstart.js +21 -0
- package/lib/actions/portal/quickstart.js.map +1 -1
- package/lib/actions/portal/toc/new-toc.d.ts +5 -5
- package/lib/actions/portal/toc/new-toc.js +41 -40
- package/lib/actions/portal/toc/new-toc.js.map +1 -1
- package/lib/actions/sdk/quickstart.d.ts +1 -0
- package/lib/actions/sdk/quickstart.js +20 -0
- package/lib/actions/sdk/quickstart.js.map +1 -1
- package/lib/application/portal/toc/toc-structure-generator.d.ts +6 -2
- package/lib/application/portal/toc/toc-structure-generator.js +102 -60
- package/lib/application/portal/toc/toc-structure-generator.js.map +1 -1
- package/lib/commands/portal/toc/new.d.ts +5 -3
- package/lib/commands/portal/toc/new.js +32 -24
- package/lib/commands/portal/toc/new.js.map +1 -1
- package/lib/infrastructure/services/portal-service.js +1 -1
- package/lib/infrastructure/services/portal-service.js.map +1 -1
- package/lib/infrastructure/services/validation-service.d.ts +27 -2
- package/lib/infrastructure/services/validation-service.js +106 -15
- package/lib/infrastructure/services/validation-service.js.map +1 -1
- package/lib/prompts/api/validate.d.ts +5 -2
- package/lib/prompts/api/validate.js +36 -0
- package/lib/prompts/api/validate.js.map +1 -1
- package/lib/prompts/format.d.ts +1 -1
- package/lib/prompts/format.js.map +1 -1
- package/lib/prompts/portal/quickstart.d.ts +3 -0
- package/lib/prompts/portal/quickstart.js +39 -2
- package/lib/prompts/portal/quickstart.js.map +1 -1
- package/lib/prompts/portal/toc/new-toc.d.ts +1 -1
- package/lib/prompts/portal/toc/new-toc.js +10 -2
- package/lib/prompts/portal/toc/new-toc.js.map +1 -1
- package/lib/prompts/sdk/quickstart.d.ts +3 -0
- package/lib/prompts/sdk/quickstart.js +39 -2
- package/lib/prompts/sdk/quickstart.js.map +1 -1
- package/lib/types/sdl/sdl.d.ts +20 -3
- package/lib/types/sdl/sdl.js +120 -22
- package/lib/types/sdl/sdl.js.map +1 -1
- package/lib/types/toc/toc.d.ts +31 -6
- package/lib/utils/string-utils.d.ts +1 -0
- package/lib/utils/string-utils.js +42 -0
- package/lib/utils/string-utils.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,80 +1,122 @@
|
|
|
1
|
-
import { stringify } from
|
|
1
|
+
import { stringify } from 'yaml';
|
|
2
|
+
// TODO: Refactor
|
|
2
3
|
export class TocStructureGenerator {
|
|
3
|
-
createTocStructure(endpointGroups, models,
|
|
4
|
-
|
|
5
|
-
toc: [
|
|
6
|
-
};
|
|
7
|
-
// Add Getting Started section
|
|
8
|
-
tocStructure.toc.push({
|
|
9
|
-
group: "Getting Started",
|
|
10
|
-
items: [
|
|
4
|
+
createTocStructure(endpointGroups, models, webhookGroups, callbackGroups, contentGroups = []) {
|
|
5
|
+
return {
|
|
6
|
+
toc: [
|
|
11
7
|
{
|
|
12
|
-
|
|
13
|
-
from: "getting-started"
|
|
14
|
-
}
|
|
15
|
-
]
|
|
16
|
-
});
|
|
17
|
-
// Add content groups
|
|
18
|
-
if (contentGroups.length > 0) {
|
|
19
|
-
tocStructure.toc.push(...contentGroups);
|
|
20
|
-
}
|
|
21
|
-
// Add API Endpoints section
|
|
22
|
-
if (!expandEndpoints || endpointGroups.size === 0) {
|
|
23
|
-
tocStructure.toc.push({
|
|
24
|
-
generate: "API Endpoints",
|
|
25
|
-
from: "endpoints"
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
else {
|
|
29
|
-
tocStructure.toc.push({
|
|
30
|
-
group: "API Endpoints",
|
|
31
|
-
items: Array.from(endpointGroups).map(([groupName, endpoints]) => ({
|
|
32
|
-
group: groupName,
|
|
8
|
+
group: 'Getting Started',
|
|
33
9
|
items: [
|
|
34
10
|
{
|
|
35
|
-
generate:
|
|
36
|
-
from:
|
|
37
|
-
|
|
38
|
-
},
|
|
39
|
-
...endpoints
|
|
11
|
+
generate: 'How to Get Started',
|
|
12
|
+
from: 'getting-started'
|
|
13
|
+
}
|
|
40
14
|
]
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
//Add Sdk Infra section
|
|
58
|
-
tocStructure.toc.push({
|
|
59
|
-
generate: "SDK Infrastructure",
|
|
60
|
-
from: "sdk-infra"
|
|
61
|
-
});
|
|
62
|
-
return tocStructure;
|
|
15
|
+
},
|
|
16
|
+
...contentGroups,
|
|
17
|
+
this.getEndpointsSection(endpointGroups),
|
|
18
|
+
{
|
|
19
|
+
group: 'Events',
|
|
20
|
+
items: [this.getCallbacksSection(callbackGroups), this.getWebhooksSection(webhookGroups)]
|
|
21
|
+
},
|
|
22
|
+
this.getModelsSection(models),
|
|
23
|
+
{
|
|
24
|
+
generate: 'SDK Infrastructure',
|
|
25
|
+
from: 'sdk-infra'
|
|
26
|
+
}
|
|
27
|
+
]
|
|
28
|
+
};
|
|
63
29
|
}
|
|
64
30
|
transformToYaml(toc) {
|
|
65
31
|
const transformedToc = this.transformKeys(toc);
|
|
66
32
|
return stringify(transformedToc, {
|
|
67
33
|
indent: 2,
|
|
68
|
-
nullStr:
|
|
34
|
+
nullStr: ''
|
|
69
35
|
});
|
|
70
36
|
}
|
|
37
|
+
getEndpointsSection(endpointGroups) {
|
|
38
|
+
if (endpointGroups.size === 0) {
|
|
39
|
+
return {
|
|
40
|
+
generate: 'API Endpoints',
|
|
41
|
+
from: 'endpoints'
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
return {
|
|
45
|
+
group: 'API Endpoints',
|
|
46
|
+
items: Array.from(endpointGroups).map(([groupName, endpoints]) => ({
|
|
47
|
+
group: groupName,
|
|
48
|
+
items: [
|
|
49
|
+
{
|
|
50
|
+
generate: null,
|
|
51
|
+
from: 'endpoint-group-overview',
|
|
52
|
+
endpointGroup: groupName
|
|
53
|
+
},
|
|
54
|
+
...endpoints
|
|
55
|
+
]
|
|
56
|
+
}))
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
getCallbacksSection(callbackGroups) {
|
|
60
|
+
if (callbackGroups.size === 0) {
|
|
61
|
+
return {
|
|
62
|
+
generate: null,
|
|
63
|
+
from: 'callbacks'
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
if (callbackGroups.size === 1) {
|
|
67
|
+
return {
|
|
68
|
+
group: Array.from(callbackGroups.keys())[0],
|
|
69
|
+
items: Array.from(callbackGroups.values())[0]
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
return {
|
|
73
|
+
group: 'Callbacks',
|
|
74
|
+
items: Array.from(callbackGroups).map(([groupName, eventList]) => ({
|
|
75
|
+
group: groupName,
|
|
76
|
+
items: eventList
|
|
77
|
+
}))
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
getWebhooksSection(webhookGroups) {
|
|
81
|
+
if (webhookGroups.size === 0) {
|
|
82
|
+
return {
|
|
83
|
+
generate: null,
|
|
84
|
+
from: 'webhooks'
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
if (webhookGroups.size === 1) {
|
|
88
|
+
return {
|
|
89
|
+
group: Array.from(webhookGroups.keys())[0],
|
|
90
|
+
items: Array.from(webhookGroups.values())[0]
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
return {
|
|
94
|
+
group: 'Webhooks',
|
|
95
|
+
items: Array.from(webhookGroups).map(([groupName, eventList]) => ({
|
|
96
|
+
group: groupName,
|
|
97
|
+
items: eventList
|
|
98
|
+
}))
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
getModelsSection(models) {
|
|
102
|
+
if (models.length === 0) {
|
|
103
|
+
return {
|
|
104
|
+
generate: 'Models',
|
|
105
|
+
from: 'models'
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
return {
|
|
109
|
+
group: 'Models',
|
|
110
|
+
items: models
|
|
111
|
+
};
|
|
112
|
+
}
|
|
71
113
|
transformKeys(obj) {
|
|
72
114
|
if (Array.isArray(obj)) {
|
|
73
115
|
return obj.map((item) => this.transformKeys(item));
|
|
74
116
|
}
|
|
75
|
-
if (obj !== null && typeof obj ===
|
|
117
|
+
if (obj !== null && typeof obj === 'object') {
|
|
76
118
|
return Object.fromEntries(Object.entries(obj).map(([key, value]) => [
|
|
77
|
-
key.replace(/([a-z0-9])([A-Z])/g,
|
|
119
|
+
key.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase(),
|
|
78
120
|
this.transformKeys(value)
|
|
79
121
|
]));
|
|
80
122
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toc-structure-generator.js","sourceRoot":"","sources":["../../../../src/application/portal/toc/toc-structure-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"toc-structure-generator.js","sourceRoot":"","sources":["../../../../src/application/portal/toc/toc-structure-generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
import { Command } from
|
|
1
|
+
import { Command } from '@oclif/core';
|
|
2
2
|
export default class PortalTocNew extends Command {
|
|
3
3
|
static summary: string;
|
|
4
4
|
static description: string;
|
|
5
5
|
static flags: {
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
'expand-endpoints': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
7
|
+
'expand-models': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
8
|
+
'expand-webhooks': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
9
|
+
'expand-callbacks': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
8
10
|
force: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
9
11
|
destination: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
12
|
};
|
|
@@ -1,60 +1,68 @@
|
|
|
1
1
|
var _a;
|
|
2
|
-
import { Command, Flags } from
|
|
3
|
-
import { PortalNewTocAction } from
|
|
4
|
-
import { TelemetryService } from
|
|
5
|
-
import { TocCreationFailedEvent } from
|
|
6
|
-
import { DirectoryPath } from
|
|
7
|
-
import { FlagsProvider } from
|
|
8
|
-
import { format, intro, outro } from
|
|
2
|
+
import { Command, Flags } from '@oclif/core';
|
|
3
|
+
import { PortalNewTocAction } from '../../../actions/portal/toc/new-toc.js';
|
|
4
|
+
import { TelemetryService } from '../../../infrastructure/services/telemetry-service.js';
|
|
5
|
+
import { TocCreationFailedEvent } from '../../../types/events/toc-creation-failed.js';
|
|
6
|
+
import { DirectoryPath } from '../../../types/file/directoryPath.js';
|
|
7
|
+
import { FlagsProvider } from '../../../types/flags-provider.js';
|
|
8
|
+
import { format, intro, outro } from '../../../prompts/format.js';
|
|
9
9
|
class PortalTocNew extends Command {
|
|
10
10
|
async run() {
|
|
11
|
-
const { flags: { input, destination, force,
|
|
11
|
+
const { flags: { input, destination, force, 'expand-endpoints': expandEndpoints, 'expand-models': expandModels, 'expand-webhooks': expandWebhooks, 'expand-callbacks': expandCallbacks } } = await this.parse(_a);
|
|
12
12
|
const workingDirectory = DirectoryPath.createInput(input);
|
|
13
|
-
const buildDirectory = input ? new DirectoryPath(input,
|
|
13
|
+
const buildDirectory = input ? new DirectoryPath(input, 'src') : workingDirectory.join('src');
|
|
14
14
|
const tocDirectory = destination ? new DirectoryPath(destination) : undefined;
|
|
15
15
|
const commandMetadata = {
|
|
16
16
|
commandName: _a.id,
|
|
17
17
|
shell: this.config.shell
|
|
18
18
|
};
|
|
19
|
-
intro(
|
|
19
|
+
intro('New TOC');
|
|
20
20
|
const action = new PortalNewTocAction(new DirectoryPath(this.config.configDir), commandMetadata);
|
|
21
|
-
const result = await action.execute(buildDirectory, tocDirectory, force, expandEndpoints, expandModels);
|
|
21
|
+
const result = await action.execute(buildDirectory, tocDirectory, force, expandEndpoints, expandModels, expandWebhooks, expandCallbacks);
|
|
22
22
|
outro(result);
|
|
23
23
|
result.mapAll(() => { }, async () => {
|
|
24
24
|
const telemetryService = new TelemetryService(new DirectoryPath(this.config.configDir));
|
|
25
25
|
await telemetryService.trackEvent(
|
|
26
26
|
// TODO: fix Toc error message
|
|
27
|
-
new TocCreationFailedEvent(
|
|
27
|
+
new TocCreationFailedEvent('error', _a.id, {
|
|
28
28
|
input,
|
|
29
29
|
destination,
|
|
30
30
|
force,
|
|
31
|
-
|
|
32
|
-
|
|
31
|
+
'expand-endpoints': expandEndpoints,
|
|
32
|
+
'expand-models': expandModels,
|
|
33
|
+
'expand-webhooks': expandWebhooks,
|
|
34
|
+
'expand-callbacks': expandCallbacks
|
|
33
35
|
}), commandMetadata.shell);
|
|
34
36
|
}, () => { });
|
|
35
37
|
}
|
|
36
38
|
}
|
|
37
39
|
_a = PortalTocNew;
|
|
38
|
-
PortalTocNew.summary =
|
|
40
|
+
PortalTocNew.summary = 'Generate a Table of Contents (TOC) file for your API documentation portal';
|
|
39
41
|
PortalTocNew.description = `This command generates a new Table of Contents (TOC) file used in the
|
|
40
42
|
generation of your API documentation portal.
|
|
41
43
|
|
|
42
44
|
The output is a YAML file with the .yml extension.
|
|
43
45
|
|
|
44
46
|
To learn more about the TOC file and APIMatic build directory structure, visit:
|
|
45
|
-
${format.link(
|
|
46
|
-
PortalTocNew.flags = Object.assign(Object.assign(Object.assign(Object.assign({}, FlagsProvider.destination(
|
|
47
|
+
${format.link('https://docs.apimatic.io/platform-api/#/http/guides/generating-on-prem-api-portal/overview-generating-api-portal')}`;
|
|
48
|
+
PortalTocNew.flags = Object.assign(Object.assign(Object.assign(Object.assign({}, FlagsProvider.destination('src/content', `toc.yml`)), FlagsProvider.input), FlagsProvider.force), { 'expand-endpoints': Flags.boolean({
|
|
47
49
|
default: false,
|
|
48
|
-
description: `include individual entries for each endpoint in the generated ${format.var(
|
|
49
|
-
}),
|
|
50
|
+
description: `include individual entries for each endpoint in the generated ${format.var('toc.yml')}. Requires a valid API specification in the working directory.`
|
|
51
|
+
}), 'expand-models': Flags.boolean({
|
|
50
52
|
default: false,
|
|
51
|
-
description: `include individual entries for each model in the generated ${format.var(
|
|
53
|
+
description: `include individual entries for each model in the generated ${format.var('toc.yml')}. Requires a valid API specification in the working directory.`
|
|
54
|
+
}), 'expand-webhooks': Flags.boolean({
|
|
55
|
+
default: false,
|
|
56
|
+
description: `include individual entries for each webhook in the generated ${format.var('toc.yml')}. Requires a valid API specification in the working directory.`
|
|
57
|
+
}), 'expand-callbacks': Flags.boolean({
|
|
58
|
+
default: false,
|
|
59
|
+
description: `include individual entries for each callback in the generated ${format.var('toc.yml')}. Requires a valid API specification in the working directory.`
|
|
52
60
|
}) });
|
|
53
|
-
PortalTocNew.cmdTxt = format.cmd(
|
|
61
|
+
PortalTocNew.cmdTxt = format.cmd('apimatic', 'portal', 'toc', 'new');
|
|
54
62
|
PortalTocNew.examples = [
|
|
55
|
-
`${_a.cmdTxt} ${format.flag(
|
|
56
|
-
`${_a.cmdTxt} ${format.flag(
|
|
57
|
-
`${_a.cmdTxt} ${format.flag(
|
|
63
|
+
`${_a.cmdTxt} ${format.flag('destination', './src/content/')}`,
|
|
64
|
+
`${_a.cmdTxt} ${format.flag('input', './')}`,
|
|
65
|
+
`${_a.cmdTxt} ${format.flag('input', './')} ${format.flag('destination', './src/content/')}`
|
|
58
66
|
];
|
|
59
67
|
export default PortalTocNew;
|
|
60
68
|
//# sourceMappingURL=new.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"new.js","sourceRoot":"","sources":["../../../../src/commands/portal/toc/new.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,uDAAuD,CAAC;AACzF,OAAO,EAAE,sBAAsB,EAAE,MAAM,8CAA8C,CAAC;AACtF,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAEjE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAElE,MAAqB,YAAa,SAAQ,OAAO;
|
|
1
|
+
{"version":3,"file":"new.js","sourceRoot":"","sources":["../../../../src/commands/portal/toc/new.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,7 +36,7 @@ export class PortalService {
|
|
|
36
36
|
const message = (_e = (_d = error.result.errors) === null || _d === void 0 ? void 0 : _d[""]) === null || _e === void 0 ? void 0 : _e[0];
|
|
37
37
|
return error.result.title + "\n- " + message;
|
|
38
38
|
}
|
|
39
|
-
return "An unexpected error occurred while generating the
|
|
39
|
+
return "An unexpected error occurred while generating the SDK, please try again later. If the problem persists, please reach out to our team at support@apimatic.io";
|
|
40
40
|
};
|
|
41
41
|
this.languagePlatform = {
|
|
42
42
|
[Language.CSHARP]: Platforms.CsNetStandardLib,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"portal-service.js","sourceRoot":"","sources":["../../../src/infrastructure/services/portal-service.ts"],"names":[],"mappings":"AACA,OAAO,EACL,MAAM,EACN,QAAQ,EAER,0BAA0B,EAC1B,oCAAoC,EACpC,WAAW,EACX,mCAAmC,EACnC,yBAAyB,EACzB,mBAAmB,EACnB,WAAW,EACX,wBAAwB,EAExB,aAAa,EACb,SAAS,EACV,MAAM,eAAe,CAAC;AACvB,OAAO,EAAY,WAAW,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAK7D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,EAAE,GAAG,EAAE,EAAE,EAAU,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,OAAO,aAAa;IAA1B;QACmB,iBAAY,GAAG,WAAW,CAAC,qBAAqB,CAAC;QACjD,gBAAW,GAAG,IAAI,WAAW,EAAE,CAAC;QAChC,eAAU,GAAG,IAAI,UAAU,EAAE,CAAC;QAuIvC,8BAAyB,GAAG,CAAC,QAAyB,EAAE,eAA8B,EAAU,EAAE;YACxG,MAAM,GAAG,GAAG,eAAe,KAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,OAAO,CAAA,CAAC;YACjD,OAAO,cAAc,GAAG,aAAH,GAAG,cAAH,GAAG,GAAI,EAAE,EAAE,CAAC;QACnC,CAAC,CAAC;QAEM,+BAA0B,GAAG,CAAC,WAAmB,EAA0B,EAAE;YACnF,OAAO;gBACL,MAAM,EAAE,gBAAgB,WAAW,EAAE;aACtC,CAAC;QACJ,CAAC,CAAC;QAEM,8BAAyB,GAAG,KAAK,EAAE,KAAc,EAAmB,EAAE;;YAC5E,IAAI,KAAK,YAAY,0BAA0B,EAAE,CAAC;gBAChD,KAAK;gBACL,OAAO,IAAI,CAAC,uBAAuB,CAAC,MAAA,KAAK,CAAC,MAAM,0CAAE,OAAO,CAAC,CAAC;YAC7D,CAAC;YACD,IAAI,KAAK,YAAY,yBAAyB,EAAE,CAAC;gBAC/C,KAAK;gBACL,OAAO,MAAA,MAAA,KAAK,CAAC,MAAM,0CAAE,OAAO,mCAAI,iDAAiD,CAAC;YACpF,CAAC;YACD,IAAI,KAAK,YAAY,mBAAmB,EAAE,CAAC;gBACzC,MAAM;gBACN,MAAM,OAAO,GAAG,MAAA,MAAC,KAAK,CAAC,MAAO,CAAC,MAAmC,0CAAG,EAAE,CAAC,0CAAG,CAAC,CAAC,CAAC;gBAC9E,OAAO,KAAK,CAAC,MAAO,CAAC,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC;YAChD,CAAC;YACD,OAAO,
|
|
1
|
+
{"version":3,"file":"portal-service.js","sourceRoot":"","sources":["../../../src/infrastructure/services/portal-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,42 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ValidateApiResult } from "@apimatic/sdk";
|
|
2
2
|
import { DirectoryPath } from "../../types/file/directoryPath.js";
|
|
3
3
|
import { Result } from "neverthrow";
|
|
4
4
|
import { FilePath } from "../../types/file/filePath.js";
|
|
5
5
|
import { CommandMetadata } from "../../types/common/command-metadata.js";
|
|
6
|
+
import { ServiceError } from "../service-error.js";
|
|
7
|
+
export declare enum RemovableFeature {
|
|
8
|
+
Merging = "Merging",
|
|
9
|
+
Pagination = "Pagination",
|
|
10
|
+
Webhooks = "Webhooks",
|
|
11
|
+
Callbacks = "Callbacks",
|
|
12
|
+
MultipleAuthSchemes = "MultipleAuthSchemes",
|
|
13
|
+
Oauth2 = "OAuth2"
|
|
14
|
+
}
|
|
15
|
+
export interface FeaturesToRemove {
|
|
16
|
+
features?: RemovableFeature[];
|
|
17
|
+
endpointsToKeep?: number;
|
|
18
|
+
}
|
|
6
19
|
export interface ValidateViaFileParams {
|
|
7
20
|
file: FilePath;
|
|
8
21
|
commandMetadata: CommandMetadata;
|
|
9
22
|
authKey?: string | null;
|
|
10
23
|
}
|
|
24
|
+
export interface UnallowedFeaturesResponse {
|
|
25
|
+
Features: RemovableFeature[];
|
|
26
|
+
EndpointLimit: number;
|
|
27
|
+
EndpointCount: number;
|
|
28
|
+
IsSplitSpec: boolean;
|
|
29
|
+
}
|
|
30
|
+
export interface ValidateApiResponse {
|
|
31
|
+
result: ValidateApiResult;
|
|
32
|
+
unallowedFeatures: UnallowedFeaturesResponse | null;
|
|
33
|
+
}
|
|
11
34
|
export declare class ValidationService {
|
|
12
35
|
private readonly configDir;
|
|
13
36
|
constructor(configDir: DirectoryPath);
|
|
14
|
-
validateViaFile({ file, commandMetadata, authKey }: ValidateViaFileParams): Promise<Result<
|
|
37
|
+
validateViaFile({ file, commandMetadata, authKey }: ValidateViaFileParams): Promise<Result<ValidateApiResponse, string>>;
|
|
38
|
+
stripUnallowedFeatures(specPath: FilePath, featuresToRemove: FeaturesToRemove, authKey?: string | null): Promise<Result<NodeJS.ReadableStream, ServiceError>>;
|
|
15
39
|
private createAuthorizationHeader;
|
|
16
40
|
private handleValidationErrors;
|
|
41
|
+
private parseErrorResponse;
|
|
17
42
|
}
|
|
@@ -1,27 +1,78 @@
|
|
|
1
|
+
import { __asyncValues } from "tslib";
|
|
2
|
+
import { createReadStream } from "node:fs";
|
|
1
3
|
import fsExtra from "fs-extra";
|
|
2
|
-
import {
|
|
4
|
+
import { ApiValidationV2ExternalApisController, ContentType, FileWrapper, ApiError } from "@apimatic/sdk";
|
|
3
5
|
import { getAuthInfo } from "../../client-utils/auth-manager.js";
|
|
4
6
|
import { apiClientFactory } from "./api-client-factory.js";
|
|
5
7
|
import { err, ok } from "neverthrow";
|
|
8
|
+
import FormData from "form-data";
|
|
9
|
+
import { handleServiceError } from "../service-error.js";
|
|
10
|
+
import axios from "axios";
|
|
11
|
+
import { envInfo } from "../env-info.js";
|
|
12
|
+
import { Buffer } from "node:buffer";
|
|
13
|
+
export var RemovableFeature;
|
|
14
|
+
(function (RemovableFeature) {
|
|
15
|
+
RemovableFeature["Merging"] = "Merging";
|
|
16
|
+
RemovableFeature["Pagination"] = "Pagination";
|
|
17
|
+
RemovableFeature["Webhooks"] = "Webhooks";
|
|
18
|
+
RemovableFeature["Callbacks"] = "Callbacks";
|
|
19
|
+
RemovableFeature["MultipleAuthSchemes"] = "MultipleAuthSchemes";
|
|
20
|
+
RemovableFeature["Oauth2"] = "OAuth2";
|
|
21
|
+
})(RemovableFeature || (RemovableFeature = {}));
|
|
6
22
|
export class ValidationService {
|
|
7
23
|
constructor(configDir) {
|
|
8
24
|
this.configDir = configDir;
|
|
9
25
|
}
|
|
10
26
|
async validateViaFile({ file, commandMetadata, authKey }) {
|
|
27
|
+
var _a;
|
|
11
28
|
const authInfo = await getAuthInfo(this.configDir.toString());
|
|
12
29
|
const authorizationHeader = this.createAuthorizationHeader(authInfo, authKey !== null && authKey !== void 0 ? authKey : null);
|
|
13
30
|
const client = apiClientFactory.createApiClient(authorizationHeader, commandMetadata.shell);
|
|
14
|
-
const controller = new
|
|
31
|
+
const controller = new ApiValidationV2ExternalApisController(client);
|
|
15
32
|
try {
|
|
16
33
|
const fileDescriptor = new FileWrapper(fsExtra.createReadStream(file.toString()));
|
|
17
|
-
|
|
18
|
-
const
|
|
19
|
-
|
|
34
|
+
const validation = await controller.validateApiViaFileV2(ContentType.EnumMultipartformdata, fileDescriptor);
|
|
35
|
+
const headerValue = (_a = validation.headers) === null || _a === void 0 ? void 0 : _a["x-unallowed-features"];
|
|
36
|
+
let unallowedFeatures = null;
|
|
37
|
+
if (headerValue) {
|
|
38
|
+
const decodedJson = globalThis.Buffer.from(headerValue, "base64").toString("utf8");
|
|
39
|
+
const parsed = JSON.parse(decodedJson);
|
|
40
|
+
unallowedFeatures = parsed;
|
|
41
|
+
}
|
|
42
|
+
return ok({
|
|
43
|
+
result: validation.result,
|
|
44
|
+
unallowedFeatures
|
|
45
|
+
});
|
|
20
46
|
}
|
|
21
47
|
catch (error) {
|
|
22
48
|
return err(await this.handleValidationErrors(error));
|
|
23
49
|
}
|
|
24
50
|
}
|
|
51
|
+
async stripUnallowedFeatures(specPath, featuresToRemove, authKey) {
|
|
52
|
+
const authInfo = await getAuthInfo(this.configDir.toString());
|
|
53
|
+
const authorizationHeader = this.createAuthorizationHeader(authInfo, authKey !== null && authKey !== void 0 ? authKey : null);
|
|
54
|
+
const formData = new FormData();
|
|
55
|
+
formData.append("file", createReadStream(specPath.toString()));
|
|
56
|
+
formData.append("featuresToRemove", JSON.stringify(featuresToRemove));
|
|
57
|
+
const baseURL = envInfo.getBaseUrl();
|
|
58
|
+
try {
|
|
59
|
+
const response = await axios({
|
|
60
|
+
method: "POST",
|
|
61
|
+
url: `${baseURL}/api-features/strip`,
|
|
62
|
+
data: formData,
|
|
63
|
+
headers: Object.assign(Object.assign({}, formData.getHeaders()), { Authorization: authorizationHeader }),
|
|
64
|
+
responseType: "stream",
|
|
65
|
+
validateStatus: () => true
|
|
66
|
+
});
|
|
67
|
+
if (response.status >= 400) {
|
|
68
|
+
return err(await this.parseErrorResponse(response));
|
|
69
|
+
}
|
|
70
|
+
return ok(response.data);
|
|
71
|
+
}
|
|
72
|
+
catch (error) {
|
|
73
|
+
return err(handleServiceError(error));
|
|
74
|
+
}
|
|
75
|
+
}
|
|
25
76
|
createAuthorizationHeader(authInfo, overrideAuthKey) {
|
|
26
77
|
const key = overrideAuthKey || (authInfo === null || authInfo === void 0 ? void 0 : authInfo.authKey);
|
|
27
78
|
return `X-Auth-Key ${key !== null && key !== void 0 ? key : ""}`;
|
|
@@ -29,21 +80,61 @@ export class ValidationService {
|
|
|
29
80
|
async handleValidationErrors(error) {
|
|
30
81
|
if (error instanceof ApiError) {
|
|
31
82
|
const apiError = error;
|
|
32
|
-
|
|
33
|
-
|
|
83
|
+
switch (apiError.statusCode) {
|
|
84
|
+
case 400:
|
|
85
|
+
return "Your API Definition is invalid. Please fix the issues and try again.";
|
|
86
|
+
case 401:
|
|
87
|
+
return "You are not authorized to perform this action. Please run 'auth:login' or provide a valid auth key.";
|
|
88
|
+
case 403:
|
|
89
|
+
return "You do not have permission to perform this action.";
|
|
90
|
+
case 500:
|
|
91
|
+
return "An unexpected error occurred validating the API specification, please try again later. If the problem persists, please reach out to our team at support@apimatic.io";
|
|
92
|
+
default:
|
|
93
|
+
return `Error ${apiError.statusCode}: An error occurred during validation.`;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
return "Unexpected error occurred while validating API specification.";
|
|
97
|
+
}
|
|
98
|
+
async parseErrorResponse(response) {
|
|
99
|
+
var _a, e_1, _b, _c;
|
|
100
|
+
var _d, _e;
|
|
101
|
+
const chunks = [];
|
|
102
|
+
try {
|
|
103
|
+
for (var _f = true, _g = __asyncValues(response.data), _h; _h = await _g.next(), _a = _h.done, !_a; _f = true) {
|
|
104
|
+
_c = _h.value;
|
|
105
|
+
_f = false;
|
|
106
|
+
const chunk = _c;
|
|
107
|
+
chunks.push(Buffer.from(chunk));
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
111
|
+
finally {
|
|
112
|
+
try {
|
|
113
|
+
if (!_f && !_a && (_b = _g.return)) await _b.call(_g);
|
|
34
114
|
}
|
|
35
|
-
|
|
36
|
-
|
|
115
|
+
finally { if (e_1) throw e_1.error; }
|
|
116
|
+
}
|
|
117
|
+
const errorBody = Buffer.concat(chunks).toString('utf-8');
|
|
118
|
+
let errorMessage = `Error ${response.status}: Failed to strip unallowed features.`;
|
|
119
|
+
try {
|
|
120
|
+
const errorData = JSON.parse(errorBody);
|
|
121
|
+
if ((_e = (_d = errorData.errors) === null || _d === void 0 ? void 0 : _d.summary) === null || _e === void 0 ? void 0 : _e[0]) {
|
|
122
|
+
errorMessage = errorData.errors.summary[0];
|
|
37
123
|
}
|
|
38
|
-
else if (
|
|
39
|
-
|
|
124
|
+
else if (errorData.message) {
|
|
125
|
+
errorMessage = errorData.message;
|
|
40
126
|
}
|
|
41
|
-
else if (
|
|
42
|
-
|
|
127
|
+
else if (errorData.title) {
|
|
128
|
+
errorMessage = errorData.title;
|
|
43
129
|
}
|
|
44
|
-
return `Error ${apiError.statusCode}: An error occurred during validation.`;
|
|
45
130
|
}
|
|
46
|
-
|
|
131
|
+
catch (_j) {
|
|
132
|
+
errorMessage = errorBody || errorMessage;
|
|
133
|
+
}
|
|
134
|
+
return {
|
|
135
|
+
message: errorMessage,
|
|
136
|
+
statusCode: response.status
|
|
137
|
+
};
|
|
47
138
|
}
|
|
48
139
|
}
|
|
49
140
|
//# sourceMappingURL=validation-service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation-service.js","sourceRoot":"","sources":["../../../src/infrastructure/services/validation-service.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,UAAU,CAAC;AAC/B,OAAO,EAEL,
|
|
1
|
+
{"version":3,"file":"validation-service.js","sourceRoot":"","sources":["../../../src/infrastructure/services/validation-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import { ValidationMessages } from "../../types/utils.js";
|
|
2
2
|
import { Result } from "neverthrow";
|
|
3
|
-
import {
|
|
3
|
+
import { ValidationEntry, ValidationSummary } from "@apimatic/sdk";
|
|
4
4
|
import { ServiceError } from "../../infrastructure/service-error.js";
|
|
5
5
|
import { FilePath } from "../../types/file/filePath.js";
|
|
6
|
+
import { ValidateApiResponse } from "../../infrastructure/services/validation-service.js";
|
|
6
7
|
export declare class ApiValidatePrompts {
|
|
7
|
-
validateApi(fn: Promise<Result<
|
|
8
|
+
validateApi(fn: Promise<Result<ValidateApiResponse, string>>): Promise<Result<ValidateApiResponse, string>>;
|
|
8
9
|
displayValidationMessages({ warnings, errors, messages }: ValidationMessages): void;
|
|
10
|
+
formatValidationEntry(entry: ValidationEntry): string;
|
|
11
|
+
displayValidationSummary(summary: ValidationSummary): void;
|
|
9
12
|
logValidationError(error: string): void;
|
|
10
13
|
networkError(serviceError: ServiceError): void;
|
|
11
14
|
transformedApiSaved(filePath: FilePath): void;
|