@apimatic/cli 1.1.0-alpha.7 → 1.1.0-alpha.9
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 +85 -47
- package/lib/actions/portal/generate.d.ts +7 -0
- package/lib/actions/portal/generate.js +58 -0
- package/lib/actions/portal/toc/new-toc.d.ts +17 -0
- package/lib/actions/portal/toc/new-toc.js +134 -0
- package/lib/application/portal/toc/sdl-parser.d.ts +13 -0
- package/lib/application/portal/toc/sdl-parser.js +53 -0
- package/lib/application/portal/toc/toc-content-parser.d.ts +5 -0
- package/lib/application/portal/toc/toc-content-parser.js +46 -0
- package/lib/application/portal/toc/toc-structure-generator.d.ts +6 -0
- package/lib/application/portal/toc/toc-structure-generator.js +88 -0
- package/lib/client-utils/sdk-client.js +7 -3
- package/lib/commands/api/transform.js +3 -3
- package/lib/commands/api/validate.js +1 -1
- package/lib/commands/portal/generate.d.ts +6 -1
- package/lib/commands/portal/generate.js +58 -75
- package/lib/commands/portal/quickstart.js +21 -25
- package/lib/commands/portal/serve.d.ts +0 -1
- package/lib/commands/portal/serve.js +4 -10
- package/lib/commands/portal/toc/new.d.ts +15 -0
- package/lib/commands/portal/toc/new.js +65 -0
- package/lib/commands/sdk/generate.js +4 -4
- package/lib/controllers/api/transform.js +9 -6
- package/lib/controllers/api/validate.d.ts +2 -2
- package/lib/controllers/api/validate.js +8 -16
- package/lib/controllers/portal/generate.d.ts +2 -2
- package/lib/controllers/portal/generate.js +101 -49
- package/lib/controllers/portal/quickstart.d.ts +3 -3
- package/lib/controllers/portal/quickstart.js +60 -8
- package/lib/controllers/portal/serve.d.ts +1 -2
- package/lib/controllers/portal/serve.js +13 -27
- package/lib/controllers/sdk/generate.d.ts +3 -3
- package/lib/controllers/sdk/generate.js +5 -6
- package/lib/infrastructure/services/portal-service.d.ts +16 -0
- package/lib/infrastructure/services/portal-service.js +133 -0
- package/lib/prompts/portal/generate.d.ts +10 -0
- package/lib/prompts/portal/generate.js +62 -0
- package/lib/prompts/portal/quickstart.d.ts +4 -5
- package/lib/prompts/portal/quickstart.js +16 -17
- package/lib/prompts/portal/toc/new-toc.d.ts +10 -0
- package/lib/prompts/portal/toc/new-toc.js +46 -0
- package/lib/services/portal/server.d.ts +5 -2
- package/lib/services/portal/server.js +57 -27
- package/lib/types/api/transform.d.ts +16 -0
- package/lib/types/api/transform.js +19 -2
- package/lib/types/common/result.d.ts +17 -0
- package/lib/types/common/result.js +36 -0
- package/lib/types/portal/generate.d.ts +26 -9
- package/lib/types/portal/generate.js +2 -1
- package/lib/types/sdk/generate.d.ts +3 -2
- package/lib/types/sdk/generate.js +3 -2
- package/lib/types/sdl/sdl.d.ts +11 -0
- package/lib/types/sdl/sdl.js +3 -0
- package/lib/types/toc/toc.d.ts +31 -0
- package/lib/types/toc/toc.js +10 -0
- package/lib/utils/utils.d.ts +2 -0
- package/lib/utils/utils.js +37 -14
- package/lib/validators/common/directoryValidator.js +4 -4
- package/package.json +12 -9
|
@@ -3,8 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.generatePortal = exports.watchAndRegeneratePortal = void 0;
|
|
4
4
|
const path = require("path");
|
|
5
5
|
const chokidar = require("chokidar");
|
|
6
|
-
const sdk_1 = require("@apimatic/sdk");
|
|
7
|
-
const sdk_client_1 = require("../../client-utils/sdk-client");
|
|
8
6
|
const utils_1 = require("../../utils/utils");
|
|
9
7
|
const generate_1 = require("./generate");
|
|
10
8
|
const axios_1 = require("axios");
|
|
@@ -43,14 +41,10 @@ const progressSpinner = {
|
|
|
43
41
|
};
|
|
44
42
|
const watchAndRegeneratePortal = async (sourceDir, portalDir, configDir, overrideAuthKey, ignoredPaths = []) => {
|
|
45
43
|
// Convert ignoredPaths to absolute paths for consistent comparison
|
|
46
|
-
const
|
|
47
|
-
const generatedPortalZipPath = path.join(sourceDir, "generated_portal.zip");
|
|
48
|
-
const generatedPortalPath = path.join(path.dirname(portalDir), "api-portal");
|
|
44
|
+
const generatedFilesPaths = (0, utils_1.getGeneratedFilesPaths)(sourceDir, portalDir);
|
|
49
45
|
const absoluteIgnoredPaths = [
|
|
50
46
|
...ignoredPaths.filter((ignoredPath) => ignoredPath.trim() !== ""),
|
|
51
|
-
|
|
52
|
-
generatedPortalZipPath,
|
|
53
|
-
generatedPortalPath
|
|
47
|
+
...generatedFilesPaths
|
|
54
48
|
].map((ignoredPath) => path.resolve(sourceDir, ignoredPath));
|
|
55
49
|
const watcher = chokidar.watch(sourceDir, {
|
|
56
50
|
ignored: [...absoluteIgnoredPaths, /(^|[/\\])\..+/],
|
|
@@ -58,16 +52,11 @@ const watchAndRegeneratePortal = async (sourceDir, portalDir, configDir, overrid
|
|
|
58
52
|
persistent: true
|
|
59
53
|
});
|
|
60
54
|
const deletedDirectories = new Set();
|
|
61
|
-
let cancellationToken = null;
|
|
62
55
|
watcher
|
|
63
56
|
.on("all", async (event, path) => {
|
|
64
57
|
if (event == "unlinkDir") {
|
|
65
58
|
deletedDirectories.add(path);
|
|
66
59
|
}
|
|
67
|
-
if (cancellationToken) {
|
|
68
|
-
cancellationToken.cancel("New portal regeneration request, operation cancelled.");
|
|
69
|
-
}
|
|
70
|
-
cancellationToken = axios_1.default.CancelToken.source();
|
|
71
60
|
if (event == "unlink") {
|
|
72
61
|
for (const dir of deletedDirectories) {
|
|
73
62
|
if (path.startsWith(dir)) {
|
|
@@ -75,7 +64,7 @@ const watchAndRegeneratePortal = async (sourceDir, portalDir, configDir, overrid
|
|
|
75
64
|
}
|
|
76
65
|
}
|
|
77
66
|
}
|
|
78
|
-
await handleFileChange(sourceDir, portalDir, configDir, overrideAuthKey, absoluteIgnoredPaths
|
|
67
|
+
await handleFileChange(sourceDir, portalDir, configDir, overrideAuthKey, absoluteIgnoredPaths);
|
|
79
68
|
})
|
|
80
69
|
.on("error", (error) => {
|
|
81
70
|
console.error("Watcher error:", error);
|
|
@@ -83,25 +72,22 @@ const watchAndRegeneratePortal = async (sourceDir, portalDir, configDir, overrid
|
|
|
83
72
|
return watcher;
|
|
84
73
|
};
|
|
85
74
|
exports.watchAndRegeneratePortal = watchAndRegeneratePortal;
|
|
86
|
-
const generatePortal = async (sourceDir, portalDir, configDir, ignoredPaths = [], overrideAuthKey = null
|
|
87
|
-
const
|
|
88
|
-
const docsPortalController = new sdk_1.DocsPortalManagementController(client);
|
|
89
|
-
const zippedBuildFilePath = await (0, utils_1.validateAndZipPortalSource)(sourceDir, path.join(sourceDir, "portal_source.zip"), ignoredPaths);
|
|
75
|
+
const generatePortal = async (sourceDir, portalDir, configDir, ignoredPaths = [], overrideAuthKey = null) => {
|
|
76
|
+
const zippedBuildFilePath = await (0, utils_1.validateAndZipPortalSource)(sourceDir, path.join(sourceDir, ".portal_source.zip"), ignoredPaths);
|
|
90
77
|
const generatePortalParams = {
|
|
91
|
-
zippedBuildFilePath,
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
docsPortalController,
|
|
78
|
+
sourceBuildInputZipFilePath: zippedBuildFilePath,
|
|
79
|
+
generatedPortalArtifactsFolderPath: portalDir,
|
|
80
|
+
generatedPortalArtifactsZipFilePath: path.join(sourceDir, ".generated_portal.zip"),
|
|
95
81
|
overrideAuthKey,
|
|
96
|
-
|
|
82
|
+
generateZipFile: false
|
|
97
83
|
};
|
|
98
|
-
await (0, generate_1.downloadDocsPortal)(generatePortalParams, configDir
|
|
84
|
+
await (0, generate_1.downloadDocsPortal)(generatePortalParams, configDir);
|
|
99
85
|
};
|
|
100
86
|
exports.generatePortal = generatePortal;
|
|
101
|
-
async function handleFileChange(sourceDir, portalDir, configDir, overrideAuthKey, absoluteIgnoredPaths
|
|
87
|
+
async function handleFileChange(sourceDir, portalDir, configDir, overrideAuthKey, absoluteIgnoredPaths) {
|
|
102
88
|
progressSpinner.start();
|
|
103
89
|
try {
|
|
104
|
-
await (0, exports.generatePortal)(sourceDir, portalDir, configDir, absoluteIgnoredPaths, overrideAuthKey
|
|
90
|
+
await (0, exports.generatePortal)(sourceDir, portalDir, configDir, absoluteIgnoredPaths, overrideAuthKey);
|
|
105
91
|
progressSpinner.stop();
|
|
106
92
|
await (0, utils_1.cleanUpGeneratedPortalFiles)(sourceDir);
|
|
107
93
|
}
|
|
@@ -149,4 +135,4 @@ async function handleFileChange(sourceDir, portalDir, configDir, overrideAuthKey
|
|
|
149
135
|
}
|
|
150
136
|
}
|
|
151
137
|
}
|
|
152
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
138
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udHJvbGxlcnMvcG9ydGFsL3NlcnZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZCQUE2QjtBQUM3QixxQ0FBcUM7QUFDckMsNkNBTTJCO0FBRTNCLHlDQUFnRDtBQUNoRCxpQ0FBMEI7QUFFMUIsTUFBTSxlQUFlLEdBQUc7SUFDdEIsTUFBTSxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFBLGdDQUF3QixFQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVFLFNBQVMsRUFBRSxLQUFLO0lBQ2hCLFFBQVEsRUFBRSxJQUE2QjtJQUN2QyxVQUFVLEVBQUUsQ0FBQztJQUNiLElBQUksRUFBRSx5QkFBeUI7SUFDL0IsS0FBSztRQUNILElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xCLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxDQUFDLFFBQVEsR0FBRyxXQUFXLENBQUMsR0FBRyxFQUFFO1lBQy9CLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO1lBQzdELE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLGFBQWEsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNyRCxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDVixDQUFDO0lBQ0QsSUFBSTtRQUNGLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUMzQixhQUFhLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzdCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLENBQUM7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
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { CodeGenerationExternalApIsController } from "@apimatic/sdk";
|
|
2
2
|
import { GenerationIdParams, DownloadSDKParams } from "../../types/sdk/generate";
|
|
3
|
-
export declare const getSDKGenerationId: ({ file, url, platform }: GenerationIdParams, sdkGenerationController:
|
|
4
|
-
export declare const downloadGeneratedSDK: ({ codeGenId, zippedSDKPath, sdkFolderPath, zip }: DownloadSDKParams, sdkGenerationController:
|
|
3
|
+
export declare const getSDKGenerationId: ({ file, url, platform }: GenerationIdParams, sdkGenerationController: CodeGenerationExternalApIsController) => Promise<string>;
|
|
4
|
+
export declare const downloadGeneratedSDK: ({ codeGenId, zippedSDKPath, sdkFolderPath, zip }: DownloadSDKParams, sdkGenerationController: CodeGenerationExternalApIsController) => Promise<string>;
|
|
@@ -4,7 +4,6 @@ exports.downloadGeneratedSDK = exports.getSDKGenerationId = void 0;
|
|
|
4
4
|
const fs = require("fs-extra");
|
|
5
5
|
const core_1 = require("@oclif/core");
|
|
6
6
|
const sdk_1 = require("@apimatic/sdk");
|
|
7
|
-
const sdk_2 = require("@apimatic/sdk");
|
|
8
7
|
const generate_1 = require("../../types/sdk/generate");
|
|
9
8
|
const utils_1 = require("../../utils/utils");
|
|
10
9
|
const getSDKGenerationId = async ({ file, url, platform }, sdkGenerationController) => {
|
|
@@ -12,8 +11,8 @@ const getSDKGenerationId = async ({ file, url, platform }, sdkGenerationControll
|
|
|
12
11
|
let generation;
|
|
13
12
|
const sdkPlatform = getSDKPlatform(platform);
|
|
14
13
|
if (file) {
|
|
15
|
-
const fileDescriptor = new
|
|
16
|
-
generation = await sdkGenerationController.
|
|
14
|
+
const fileDescriptor = new sdk_1.FileWrapper(fs.createReadStream(file));
|
|
15
|
+
generation = await sdkGenerationController.generateSdkViaFile(fileDescriptor, sdkPlatform);
|
|
17
16
|
}
|
|
18
17
|
else if (url) {
|
|
19
18
|
// If url to spec file is provided
|
|
@@ -21,7 +20,7 @@ const getSDKGenerationId = async ({ file, url, platform }, sdkGenerationControll
|
|
|
21
20
|
url: url,
|
|
22
21
|
template: sdkPlatform
|
|
23
22
|
};
|
|
24
|
-
generation = await sdkGenerationController.
|
|
23
|
+
generation = await sdkGenerationController.generateSdkViaUrl(body);
|
|
25
24
|
}
|
|
26
25
|
else {
|
|
27
26
|
throw new Error("Please provide a specification file");
|
|
@@ -46,7 +45,7 @@ const getSDKPlatform = (platform) => {
|
|
|
46
45
|
// Download Platform
|
|
47
46
|
const downloadGeneratedSDK = async ({ codeGenId, zippedSDKPath, sdkFolderPath, zip }, sdkGenerationController) => {
|
|
48
47
|
core_1.ux.action.start("Downloading SDK");
|
|
49
|
-
const { result } = await sdkGenerationController.
|
|
48
|
+
const { result } = await sdkGenerationController.downloadSdk(codeGenId);
|
|
50
49
|
if (result.readable) {
|
|
51
50
|
if (!zip) {
|
|
52
51
|
await (0, utils_1.unzipFile)(result, sdkFolderPath);
|
|
@@ -64,4 +63,4 @@ const downloadGeneratedSDK = async ({ codeGenId, zippedSDKPath, sdkFolderPath, z
|
|
|
64
63
|
}
|
|
65
64
|
};
|
|
66
65
|
exports.downloadGeneratedSDK = downloadGeneratedSDK;
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udHJvbGxlcnMvc2RrL2dlbmVyYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLCtCQUErQjtBQUMvQixzQ0FBaUM7QUFFakMsdUNBS3FDO0FBQ3JDLHVEQUFrRztBQUNsRyw2Q0FBNEU7QUFFckUsTUFBTSxrQkFBa0IsR0FBRyxLQUFLLEVBQ3JDLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQXNCLEVBQzNDLHVCQUE2RCxFQUM1QyxFQUFFO0lBQ25CLFNBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFFbEMsSUFBSSxVQUEyQyxDQUFDO0lBQ2hELE1BQU0sV0FBVyxHQUFHLGNBQWMsQ0FBQyxRQUFRLENBQWMsQ0FBQztJQUMxRCxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ1QsTUFBTSxjQUFjLEdBQUcsSUFBSSxpQkFBVyxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ2xFLFVBQVUsR0FBRyxNQUFNLHVCQUF1QixDQUFDLGtCQUFrQixDQUFDLGNBQWMsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUM3RixDQUFDO1NBQU0sSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNmLGtDQUFrQztRQUNsQyxNQUFNLElBQUksR0FBNkI7WUFDckMsR0FBRyxFQUFFLEdBQUc7WUFDUixRQUFRLEVBQUUsV0FBVztTQUN0QixDQUFDO1FBQ0YsVUFBVSxHQUFHLE1BQU0sdUJBQXVCLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckUsQ0FBQztTQUFNLENBQUM7UUFDTixNQUFNLElBQUksS0FBSyxDQUFDLHFDQUFxQyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUNELFNBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDakIsT0FBTyxVQUFVLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztBQUM5QixDQUFDLENBQUM7QUF2QlcsUUFBQSxrQkFBa0Isc0JBdUI3QjtBQUVGLDhGQUE4RjtBQUM5RixNQUFNLGNBQWMsR0FBRyxDQUFDLFFBQWdCLEVBQStCLEVBQUU7SUFDdkUsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLDBCQUFlLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztRQUNwRCxPQUFPLDBCQUFlLENBQUMsUUFBd0MsQ0FBQyxDQUFDO0lBQ25FLENBQUM7U0FBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsZUFBUyxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQXFCLENBQUMsRUFBRSxDQUFDO1FBQ3BFLE9BQU8sUUFBcUIsQ0FBQztJQUMvQixDQUFDO1NBQU0sQ0FBQztRQUNOLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsMEJBQWUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLGVBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzFGLE1BQU0sSUFBSSxLQUFLLENBQUMsd0NBQXdDLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDdkUsQ0FBQztBQUNILENBQUMsQ0FBQztBQUVGLG9CQUFvQjtBQUNiLE1BQU0sb0JBQW9CLEdBQUcsS0FBSyxFQUN2QyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBcUIsRUFDbkUsdUJBQTZELEVBQzVDLEVBQUU7SUFDbkIsU0FBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNuQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQThDLE1BQU0sdUJBQXVCLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ25ILElBQUssTUFBZ0MsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUMvQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDVCxNQUFNLElBQUEsaUJBQVMsRUFBQyxNQUErQixFQUFFLGFBQWEsQ0FBQyxDQUFDO1lBQ2hFLFNBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDakIsT0FBTyxhQUFhLENBQUM7UUFDdkIsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLElBQUEsb0NBQTRCLEVBQUMsTUFBK0IsRUFBRSxhQUFhLENBQUMsQ0FBQztZQUNuRixTQUFFLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2pCLE9BQU8sYUFBYSxDQUFDO1FBQ3ZCLENBQUM7SUFDSCxDQUFDO1NBQU0sQ0FBQztRQUNOLE1BQU0sSUFBSSxLQUFLLENBQUMsMkJBQTJCLENBQUMsQ0FBQztJQUMvQyxDQUFDO0FBQ0gsQ0FBQyxDQUFDO0FBbkJXLFFBQUEsb0JBQW9CLHdCQW1CL0IifQ==
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { GeneratePortalParams } from "../../types/portal/generate";
|
|
2
|
+
import { Result } from "../../types/common/result";
|
|
3
|
+
import { Sdl } from "../../types/sdl/sdl";
|
|
4
|
+
export declare class PortalService {
|
|
5
|
+
private readonly CONTENT_TYPE;
|
|
6
|
+
private readonly TIMEOUT;
|
|
7
|
+
generateOnPremPortal(params: GeneratePortalParams, configDir: string): Promise<Result<NodeJS.ReadableStream, string>>;
|
|
8
|
+
generateSdl(specPath: string, configDir: string): Promise<Result<Sdl, string>>;
|
|
9
|
+
private createGenericErrorResult;
|
|
10
|
+
private createAuthorizationHeader;
|
|
11
|
+
private createApiClient;
|
|
12
|
+
private generatePortalFromSyncEndpoint;
|
|
13
|
+
private handlePortalGenerationErrors;
|
|
14
|
+
private parseErrorResponse;
|
|
15
|
+
private saveAndExtractErrorZipFile;
|
|
16
|
+
}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PortalService = void 0;
|
|
4
|
+
const fsExtra = require("fs-extra");
|
|
5
|
+
const fs = require("fs");
|
|
6
|
+
const path = require("path");
|
|
7
|
+
const sdk_1 = require("@apimatic/sdk");
|
|
8
|
+
const auth_manager_1 = require("../../client-utils/auth-manager");
|
|
9
|
+
const result_1 = require("../../types/common/result");
|
|
10
|
+
const utils_1 = require("../../utils/utils");
|
|
11
|
+
class PortalService {
|
|
12
|
+
constructor() {
|
|
13
|
+
this.CONTENT_TYPE = sdk_1.ContentType.EnumMultipartformdata;
|
|
14
|
+
this.TIMEOUT = 0;
|
|
15
|
+
this.createAuthorizationHeader = (authInfo, overrideAuthKey) => {
|
|
16
|
+
const key = overrideAuthKey || (authInfo === null || authInfo === void 0 ? void 0 : authInfo.authKey);
|
|
17
|
+
return `X-Auth-Key ${key !== null && key !== void 0 ? key : ""}`;
|
|
18
|
+
};
|
|
19
|
+
this.createApiClient = (authorizationHeader) => {
|
|
20
|
+
return new sdk_1.Client({
|
|
21
|
+
customHeaderAuthenticationCredentials: {
|
|
22
|
+
Authorization: authorizationHeader
|
|
23
|
+
},
|
|
24
|
+
timeout: this.TIMEOUT
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
this.generatePortalFromSyncEndpoint = async (docsPortalManagementController, zippedBuildFilePath) => {
|
|
28
|
+
const file = new sdk_1.FileWrapper(fs.createReadStream(zippedBuildFilePath));
|
|
29
|
+
const response = await docsPortalManagementController.generateOnPremPortalViaBuildInput(this.CONTENT_TYPE, file);
|
|
30
|
+
return response.result;
|
|
31
|
+
};
|
|
32
|
+
this.handlePortalGenerationErrors = async (error, params) => {
|
|
33
|
+
var _a;
|
|
34
|
+
if (error instanceof sdk_1.UnauthorizedResponseError) {
|
|
35
|
+
//401
|
|
36
|
+
const body = await this.parseErrorResponse(error);
|
|
37
|
+
return (0, utils_1.getMessageInRedColor)((_a = body.message) !== null && _a !== void 0 ? _a : "Unauthorized access.");
|
|
38
|
+
}
|
|
39
|
+
else if (error instanceof sdk_1.ProblemDetailsError) {
|
|
40
|
+
//400 & 403
|
|
41
|
+
const body = await this.parseErrorResponse(error);
|
|
42
|
+
const message = body.errors[Object.keys(body.errors)[0]][0];
|
|
43
|
+
return (0, utils_1.getMessageInRedColor)(body.title + "\n- " + message);
|
|
44
|
+
}
|
|
45
|
+
else if (error instanceof sdk_1.ApiError && error.statusCode === 422) {
|
|
46
|
+
//422
|
|
47
|
+
return await this.saveAndExtractErrorZipFile(error, params);
|
|
48
|
+
}
|
|
49
|
+
else if (error instanceof sdk_1.InternalServerErrorResponseError) {
|
|
50
|
+
//500
|
|
51
|
+
const body = await this.parseErrorResponse(error);
|
|
52
|
+
return (0, utils_1.getMessageInRedColor)(`${body.message} Please try again or reach out to our team at support@apimatic.io for help if your problem persists.`);
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
return (0, utils_1.getMessageInRedColor)(error instanceof Error ? error.message : String(error));
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
this.parseErrorResponse = async (error) => {
|
|
59
|
+
if (error instanceof Error && "body" in error) {
|
|
60
|
+
const stream = error.body;
|
|
61
|
+
return await (0, utils_1.parseStreamBodyToJson)(stream);
|
|
62
|
+
}
|
|
63
|
+
throw error;
|
|
64
|
+
};
|
|
65
|
+
this.saveAndExtractErrorZipFile = async (error, params) => {
|
|
66
|
+
const data = error.body;
|
|
67
|
+
const writeStream = fs.createWriteStream(params.generatedPortalArtifactsZipFilePath);
|
|
68
|
+
//TODO: Extract zip to temp folder and only copy the the debug report.
|
|
69
|
+
return await new Promise((resolve, reject) => {
|
|
70
|
+
data
|
|
71
|
+
.pipe(writeStream)
|
|
72
|
+
.on("finish", async () => {
|
|
73
|
+
await (0, utils_1.extractZipFile)(params.generatedPortalArtifactsZipFilePath, params.generatedPortalArtifactsFolderPath);
|
|
74
|
+
await (0, utils_1.deleteFile)(params.generatedPortalArtifactsZipFilePath);
|
|
75
|
+
await (0, utils_1.deleteFile)(path.join(params.generatedPortalArtifactsFolderPath, "static"));
|
|
76
|
+
resolve((0, utils_1.getMessageInRedColor)("An error occurred during portal generation due to an issue with the input. An error report has been written at the destination path: " +
|
|
77
|
+
path.join(params.generatedPortalArtifactsFolderPath, "apimatic-debug")));
|
|
78
|
+
})
|
|
79
|
+
.on("error", async () => {
|
|
80
|
+
reject((0, utils_1.getMessageInRedColor)("An error occurred during portal generation due to an issue with the input. The error report could not be generated. Please try again later."));
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
async generateOnPremPortal(params, configDir) {
|
|
86
|
+
if (!(await fsExtra.pathExists(params.sourceBuildInputZipFilePath))) {
|
|
87
|
+
return result_1.Result.failure("Build file doesn't exist");
|
|
88
|
+
}
|
|
89
|
+
const authInfo = await (0, auth_manager_1.getAuthInfo)(configDir);
|
|
90
|
+
const authorizationHeader = this.createAuthorizationHeader(authInfo, params.overrideAuthKey);
|
|
91
|
+
const client = this.createApiClient(authorizationHeader);
|
|
92
|
+
const docsPortalManagementController = new sdk_1.DocsPortalManagementController(client);
|
|
93
|
+
try {
|
|
94
|
+
const stream = await this.generatePortalFromSyncEndpoint(docsPortalManagementController, params.sourceBuildInputZipFilePath);
|
|
95
|
+
return result_1.Result.success(stream);
|
|
96
|
+
}
|
|
97
|
+
catch (error) {
|
|
98
|
+
return result_1.Result.failure(await this.handlePortalGenerationErrors(error, params));
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
async generateSdl(specPath, configDir) {
|
|
102
|
+
if (!(await fsExtra.pathExists(specPath))) {
|
|
103
|
+
return result_1.Result.failure("Spec file doesn't exist");
|
|
104
|
+
}
|
|
105
|
+
const authInfo = await (0, auth_manager_1.getAuthInfo)(configDir);
|
|
106
|
+
const authorizationHeader = this.createAuthorizationHeader(authInfo, null);
|
|
107
|
+
const client = this.createApiClient(authorizationHeader);
|
|
108
|
+
const transformationController = new sdk_1.TransformationController(client);
|
|
109
|
+
try {
|
|
110
|
+
const file = new sdk_1.FileWrapper(fs.createReadStream(specPath));
|
|
111
|
+
const generation = await transformationController.transformViaFile(sdk_1.ContentType.EnumMultipartformdata, file, sdk_1.ExportFormats.Apimatic);
|
|
112
|
+
if (!generation.result.success) {
|
|
113
|
+
return this.createGenericErrorResult();
|
|
114
|
+
}
|
|
115
|
+
const transformationId = generation.result.id;
|
|
116
|
+
const { result } = await transformationController.downloadTransformedFile(transformationId);
|
|
117
|
+
if (result.readable) {
|
|
118
|
+
return result_1.Result.success((await (0, utils_1.parseStreamBodyToJson)(result)));
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
return this.createGenericErrorResult();
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
catch (_a) {
|
|
125
|
+
return this.createGenericErrorResult();
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
createGenericErrorResult() {
|
|
129
|
+
return result_1.Result.failure("An unexpected error occurred");
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
exports.PortalService = PortalService;
|
|
133
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9ydGFsLXNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaW5mcmFzdHJ1Y3R1cmUvc2VydmljZXMvcG9ydGFsLXNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsb0NBQW9DO0FBQ3BDLHlCQUF5QjtBQUN6Qiw2QkFBNkI7QUFDN0IsdUNBYXVCO0FBQ3ZCLGtFQUF3RTtBQUV4RSxzREFBbUQ7QUFDbkQsNkNBQTRHO0FBSTVHLE1BQWEsYUFBYTtJQUExQjtRQUNtQixpQkFBWSxHQUFHLGlCQUFXLENBQUMscUJBQXFCLENBQUM7UUFDakQsWUFBTyxHQUFHLENBQUMsQ0FBQztRQWdFckIsOEJBQXlCLEdBQUcsQ0FBQyxRQUF5QixFQUFFLGVBQThCLEVBQVUsRUFBRTtZQUN4RyxNQUFNLEdBQUcsR0FBRyxlQUFlLEtBQUksUUFBUSxhQUFSLFFBQVEsdUJBQVIsUUFBUSxDQUFFLE9BQU8sQ0FBQSxDQUFDO1lBQ2pELE9BQU8sY0FBYyxHQUFHLGFBQUgsR0FBRyxjQUFILEdBQUcsR0FBSSxFQUFFLEVBQUUsQ0FBQztRQUNuQyxDQUFDLENBQUM7UUFFTSxvQkFBZSxHQUFHLENBQUMsbUJBQTJCLEVBQVUsRUFBRTtZQUNoRSxPQUFPLElBQUksWUFBTSxDQUFDO2dCQUNoQixxQ0FBcUMsRUFBRTtvQkFDckMsYUFBYSxFQUFFLG1CQUFtQjtpQkFDbkM7Z0JBQ0QsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO2FBQ3RCLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQztRQUVNLG1DQUE4QixHQUFHLEtBQUssRUFDNUMsOEJBQThELEVBQzlELG1CQUEyQixFQUNLLEVBQUU7WUFDbEMsTUFBTSxJQUFJLEdBQUcsSUFBSSxpQkFBVyxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7WUFDdkUsTUFBTSxRQUFRLEdBQ1osTUFBTSw4QkFBOEIsQ0FBQyxpQ0FBaUMsQ0FBQyxJ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
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare class PortalGeneratePrompts {
|
|
2
|
+
private readonly spin;
|
|
3
|
+
overwriteExistingPortalArtifactsPrompt(): Promise<boolean>;
|
|
4
|
+
existingDestinationPortalZipPrompt(): Promise<boolean>;
|
|
5
|
+
displayPortalGenerationMessage(): void;
|
|
6
|
+
displayPortalGenerationSuccessMessage(): void;
|
|
7
|
+
displayPortalGenerationErrorMessage(): void;
|
|
8
|
+
displayOutroMessage(generatedPortalPath: string): void;
|
|
9
|
+
logError(error: string): void;
|
|
10
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PortalGeneratePrompts = void 0;
|
|
4
|
+
const prompts_1 = require("@clack/prompts");
|
|
5
|
+
const axios_1 = require("axios");
|
|
6
|
+
const utils_1 = require("../../utils/utils");
|
|
7
|
+
class PortalGeneratePrompts {
|
|
8
|
+
constructor() {
|
|
9
|
+
this.spin = (0, prompts_1.spinner)();
|
|
10
|
+
}
|
|
11
|
+
async overwriteExistingPortalArtifactsPrompt() {
|
|
12
|
+
const useExistingFolder = await (0, prompts_1.select)({
|
|
13
|
+
message: `The destination folder is not empty, do you want to overwrite the existing files?`,
|
|
14
|
+
options: [
|
|
15
|
+
{ value: "yes", label: "Yes" },
|
|
16
|
+
{ value: "no", label: "No" }
|
|
17
|
+
]
|
|
18
|
+
});
|
|
19
|
+
if ((0, axios_1.isCancel)(useExistingFolder)) {
|
|
20
|
+
(0, prompts_1.cancel)("Operation cancelled.");
|
|
21
|
+
return process.exit(1);
|
|
22
|
+
}
|
|
23
|
+
if (useExistingFolder === "no") {
|
|
24
|
+
(0, prompts_1.outro)("Please enter a different destination folder or remove the existing files and try again.");
|
|
25
|
+
}
|
|
26
|
+
return useExistingFolder === "yes";
|
|
27
|
+
}
|
|
28
|
+
async existingDestinationPortalZipPrompt() {
|
|
29
|
+
const useExistingZip = await (0, prompts_1.select)({
|
|
30
|
+
message: `A zip file already exists at the specified destination path, do you want to overwrite it?`,
|
|
31
|
+
options: [
|
|
32
|
+
{ value: "yes", label: "Yes" },
|
|
33
|
+
{ value: "no", label: "No" }
|
|
34
|
+
]
|
|
35
|
+
});
|
|
36
|
+
if ((0, axios_1.isCancel)(useExistingZip)) {
|
|
37
|
+
(0, prompts_1.cancel)("Operation cancelled.");
|
|
38
|
+
return process.exit(1);
|
|
39
|
+
}
|
|
40
|
+
if (useExistingZip === "no") {
|
|
41
|
+
(0, prompts_1.outro)("Please enter a different destination path or delete the existing zip file and try again.");
|
|
42
|
+
}
|
|
43
|
+
return useExistingZip === "yes";
|
|
44
|
+
}
|
|
45
|
+
displayPortalGenerationMessage() {
|
|
46
|
+
this.spin.start("Generating portal...");
|
|
47
|
+
}
|
|
48
|
+
displayPortalGenerationSuccessMessage() {
|
|
49
|
+
this.spin.stop("✅ Portal generated successfully.");
|
|
50
|
+
}
|
|
51
|
+
displayPortalGenerationErrorMessage() {
|
|
52
|
+
this.spin.stop((0, utils_1.getMessageInRedColor)(`Portal Generation failed.`));
|
|
53
|
+
}
|
|
54
|
+
displayOutroMessage(generatedPortalPath) {
|
|
55
|
+
(0, prompts_1.outro)(`The generated portal can be found at ${generatedPortalPath}`);
|
|
56
|
+
}
|
|
57
|
+
logError(error) {
|
|
58
|
+
(0, prompts_1.outro)(error);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
exports.PortalGeneratePrompts = PortalGeneratePrompts;
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcHJvbXB0cy9wb3J0YWwvZ2VuZXJhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNENBQWdFO0FBQ2hFLGlDQUFpQztBQUNqQyw2Q0FBeUQ7QUFFekQsTUFBYSxxQkFBcUI7SUFBbEM7UUFDbUIsU0FBSSxHQUFHLElBQUEsaUJBQU8sR0FBRSxDQUFDO0lBK0RwQyxDQUFDO0lBN0RDLEtBQUssQ0FBQyxzQ0FBc0M7UUFDMUMsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLElBQUEsZ0JBQU0sRUFBQztZQUNyQyxPQUFPLEVBQUUsbUZBQW1GO1lBQzVGLE9BQU8sRUFBRTtnQkFDUCxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRTtnQkFDOUIsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7YUFDN0I7U0FDRixDQUFDLENBQUM7UUFFSCxJQUFJLElBQUEsZ0JBQVEsRUFBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUM7WUFDaEMsSUFBQSxnQkFBTSxFQUFDLHNCQUFzQixDQUFDLENBQUM7WUFDL0IsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3pCLENBQUM7UUFFRCxJQUFJLGlCQUFpQixLQUFLLElBQUksRUFBRSxDQUFDO1lBQy9CLElBQUEsZUFBSyxFQUFDLHlGQUF5RixDQUFDLENBQUM7UUFDbkcsQ0FBQztRQUVELE9BQU8saUJBQWlCLEtBQUssS0FBSyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxLQUFLLENBQUMsa0NBQWtDO1FBQ3RDLE1BQU0sY0FBYyxHQUFHLE1BQU0sSUFBQSxnQkFBTSxFQUFDO1lBQ2xDLE9BQU8sRUFBRSwyRkFBMkY7WUFDcEcsT0FBTyxFQUFFO2dCQUNQLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFO2dCQUM5QixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTthQUM3QjtTQUNGLENBQUMsQ0FBQztRQUVILElBQUksSUFBQSxnQkFBUSxFQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUM7WUFDN0IsSUFBQSxnQkFBTSxFQUFDLHNCQUFzQixDQUFDLENBQUM7WUFDL0IsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3pCLENBQUM7UUFFRCxJQUFJLGNBQWMsS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUM1QixJQUFBLGVBQUssRUFBQywwRkFBMEYsQ0FBQyxDQUFDO1FBQ3BHLENBQUM7UUFFRCxPQUFPLGNBQWMsS0FBSyxLQUFLLENBQUM7SUFDbEMsQ0FBQztJQUVELDhCQUE4QjtRQUM1QixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxxQ0FBcUM7UUFDbkMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsa0NBQWtDLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsbUNBQW1DO1FBQ2pDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUEsNEJBQW9CLEVBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxtQkFBMkI7UUFDN0MsSUFBQSxlQUFLLEVBQUMsd0NBQXdDLG1CQUFtQixFQUFFLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQWE7UUFDcEIsSUFBQSxlQUFLLEVBQUMsS0FBSyxDQUFDLENBQUM7SUFDZixDQUFDO0NBQ0Y7QUFoRUQsc0RBZ0VDIn0=
|
|
@@ -2,10 +2,9 @@ export declare class PortalQuickstartPrompts {
|
|
|
2
2
|
private readonly spin;
|
|
3
3
|
private readonly vscodeExtensionUrl;
|
|
4
4
|
private readonly serverUrl;
|
|
5
|
-
private readonly
|
|
6
|
-
private readonly
|
|
7
|
-
private readonly
|
|
8
|
-
private readonly defaultPortalDirectory;
|
|
5
|
+
private readonly referenceDocumentationUrl;
|
|
6
|
+
private readonly customizeTheSdksUrl;
|
|
7
|
+
private readonly defaultPortalDirectoryPath;
|
|
9
8
|
displayWelcomeMessage(): void;
|
|
10
9
|
loginPrompt(): Promise<{
|
|
11
10
|
email: string;
|
|
@@ -28,5 +27,5 @@ export declare class PortalQuickstartPrompts {
|
|
|
28
27
|
displayBuildDirectoryAsTree(targetFolder: string): void;
|
|
29
28
|
displayPortalGenerationMessage(): void;
|
|
30
29
|
displayPortalGenerationSuccessMessage(): void;
|
|
31
|
-
displayOutroMessage(): void;
|
|
30
|
+
displayOutroMessage(directory: string): void;
|
|
32
31
|
}
|
|
@@ -11,10 +11,9 @@ class PortalQuickstartPrompts {
|
|
|
11
11
|
this.spin = (0, prompts_1.spinner)();
|
|
12
12
|
this.vscodeExtensionUrl = "\u001b[4mhttps://marketplace.visualstudio.com/items?itemName=apimatic-developers.apimatic-for-vscode\u001b[0m";
|
|
13
13
|
this.serverUrl = "\u001b[4mhttp://localhost:3000\u001b[0m";
|
|
14
|
-
this.
|
|
15
|
-
this.
|
|
16
|
-
this.
|
|
17
|
-
this.defaultPortalDirectory = path.join(process.cwd(), this.portalDirectory);
|
|
14
|
+
this.referenceDocumentationUrl = "\u001b[4mhttps://docs.apimatic.io/platform-api/#/http/guides/generating-on-prem-api-portal/overview-generating-api-portal\u001b[0m";
|
|
15
|
+
this.customizeTheSdksUrl = "\u001b[4mhttps://docs.apimatic.io/generate-sdks/codegen-settings/codegen-settings-overview\u001b[0m";
|
|
16
|
+
this.defaultPortalDirectoryPath = process.cwd();
|
|
18
17
|
}
|
|
19
18
|
displayWelcomeMessage() {
|
|
20
19
|
(0, prompts_1.intro)(`Hello there 👋`);
|
|
@@ -51,7 +50,7 @@ class PortalQuickstartPrompts {
|
|
|
51
50
|
(0, prompts_1.cancel)("Operation cancelled.");
|
|
52
51
|
return process.exit(0);
|
|
53
52
|
}
|
|
54
|
-
return { email: String(email), password: String(pass) };
|
|
53
|
+
return { email: String(email).trim(), password: String(pass).trim() };
|
|
55
54
|
}
|
|
56
55
|
displayLoggingInMessage() {
|
|
57
56
|
this.spin.start((0, utils_1.getMessageInMagentaColor)("Logging in"));
|
|
@@ -87,7 +86,7 @@ class PortalQuickstartPrompts {
|
|
|
87
86
|
(0, prompts_1.cancel)("Operation cancelled.");
|
|
88
87
|
return process.exit(0);
|
|
89
88
|
}
|
|
90
|
-
return String(spec);
|
|
89
|
+
return String(spec).trim();
|
|
91
90
|
}
|
|
92
91
|
displaySpecValidationMessage() {
|
|
93
92
|
prompts_1.log.step((0, utils_1.getMessageInOrangeColor)(`Step 2 of 4: Validate and Lint your OpenAPI file`));
|
|
@@ -116,7 +115,7 @@ class PortalQuickstartPrompts {
|
|
|
116
115
|
}
|
|
117
116
|
if (useSampleSpec === "exit") {
|
|
118
117
|
(0, prompts_1.outro)((0, utils_1.getMessageInCyanColor)("Good luck fixing your API definition! 🛠️ Feel free to run this command again once you're done."));
|
|
119
|
-
process.exit(0);
|
|
118
|
+
return process.exit(0);
|
|
120
119
|
}
|
|
121
120
|
}
|
|
122
121
|
async sdkLanguagesPrompt() {
|
|
@@ -148,11 +147,11 @@ class PortalQuickstartPrompts {
|
|
|
148
147
|
placeholder: "Enter absolute path to the directory or leave it empty to use the current directory.",
|
|
149
148
|
defaultValue: "./",
|
|
150
149
|
validate: (input) => {
|
|
151
|
-
const dirPath = path.resolve(input.trim()
|
|
152
|
-
if (!fs.existsSync(dirPath) && dirPath != this.
|
|
150
|
+
const dirPath = path.resolve(input.trim());
|
|
151
|
+
if (!fs.existsSync(dirPath) && dirPath != this.defaultPortalDirectoryPath) {
|
|
153
152
|
return (0, utils_1.getMessageInRedColor)("Error: The specified directory path does not exist. Please try again.");
|
|
154
153
|
}
|
|
155
|
-
if (dirPath !== this.
|
|
154
|
+
if (dirPath !== this.defaultPortalDirectoryPath) {
|
|
156
155
|
const files = fs.readdirSync(dirPath).filter(item => !item.startsWith('.'));
|
|
157
156
|
;
|
|
158
157
|
if (files.length > 0) {
|
|
@@ -169,10 +168,10 @@ class PortalQuickstartPrompts {
|
|
|
169
168
|
return process.exit(0);
|
|
170
169
|
}
|
|
171
170
|
if (directory === "./") {
|
|
172
|
-
return this.
|
|
171
|
+
return this.defaultPortalDirectoryPath;
|
|
173
172
|
}
|
|
174
173
|
else {
|
|
175
|
-
return
|
|
174
|
+
return String(directory).trim();
|
|
176
175
|
}
|
|
177
176
|
}
|
|
178
177
|
displayBuildDirectoryGenerationMessage() {
|
|
@@ -199,18 +198,18 @@ class PortalQuickstartPrompts {
|
|
|
199
198
|
displayPortalGenerationSuccessMessage() {
|
|
200
199
|
this.spin.stop((0, utils_1.getMessageInCyanColor)("✅ Portal setup complete!"));
|
|
201
200
|
}
|
|
202
|
-
displayOutroMessage() {
|
|
201
|
+
displayOutroMessage(directory) {
|
|
203
202
|
prompts_1.log.step((0, utils_1.getMessageInCyanColor)(`📢 Your API Portal is live at: ${this.serverUrl}\n`) +
|
|
204
|
-
(0, utils_1.getMessageInCyanColor)(`Hot reload enabled! Edit files in
|
|
203
|
+
(0, utils_1.getMessageInCyanColor)(`Hot reload enabled! Edit files in ${directory} to see changes instantly reflected in your API Portal.\n`) +
|
|
205
204
|
(0, utils_1.getMessageInCyanColor)(`Press CTRL+C to stop the server.\n\n`) +
|
|
206
205
|
(0, utils_1.getMessageInCyanColor)(`What's next?\n`) +
|
|
207
206
|
(0, utils_1.getMessageInCyanColor)(`- Check out the Interactive Playground in your API Portal.\n`) +
|
|
208
|
-
(0, utils_1.getMessageInCyanColor)(`- Read the reference documentation to learn more about how you can customize this API Portal: ${this.
|
|
207
|
+
(0, utils_1.getMessageInCyanColor)(`- Read the reference documentation to learn more about how you can customize this API Portal: ${this.referenceDocumentationUrl}`) +
|
|
209
208
|
(0, utils_1.getMessageInCyanColor)(` \n`) +
|
|
210
209
|
(0, utils_1.getMessageInCyanColor)(`- Review the SDK Documentation for your favourite programming language and download an SDK from the API Portal.\n`) +
|
|
211
|
-
(0, utils_1.getMessageInCyanColor)(`- Check out how you can customize the SDKs using Code Generation settings: ${this.
|
|
210
|
+
(0, utils_1.getMessageInCyanColor)(`- Check out how you can customize the SDKs using Code Generation settings: ${this.customizeTheSdksUrl}`) +
|
|
212
211
|
(0, utils_1.getMessageInCyanColor)(` \n`));
|
|
213
212
|
}
|
|
214
213
|
}
|
|
215
214
|
exports.PortalQuickstartPrompts = PortalQuickstartPrompts;
|
|
216
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
215
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVpY2tzdGFydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wcm9tcHRzL3BvcnRhbC9xdWlja3N0YXJ0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlCQUF5QjtBQUN6Qiw2QkFBNkI7QUFDN0IsbUNBQW1DO0FBQ25DLDRDQUFtSDtBQUNuSCw2Q0FRMkI7QUFFM0IsTUFBYSx1QkFBdUI7SUFBcEM7UUFDbUIsU0FBSSxHQUFHLElBQUEsaUJBQU8sR0FBRSxDQUFDO1FBQ2pCLHVCQUFrQixHQUNqQywrR0FBK0csQ0FBQztRQUNqRyxjQUFTLEdBQUcseUNBQXlDLENBQUM7UUFDdEQsOEJBQXlCLEdBQ3hDLG9JQUFvSSxDQUFDO1FBQ3RILHdCQUFtQixHQUNsQyxxR0FBcUcsQ0FBQztRQUN2RiwrQkFBMEIsR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7SUFtUTlELENBQUM7SUFqUUMscUJBQXFCO1FBQ25CLElBQUEsZUFBSyxFQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDeEIsYUFBRyxDQUFDLE9BQU8sQ0FDVCx3R0FBd0csQ0FDekcsQ0FBQztRQUNGLGFBQUcsQ0FBQyxPQUFPLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsS0FBSyxDQUFDLFdBQVc7UUFDZixhQUFHLENBQUMsT0FBTyxDQUFDLDRCQUE0QixDQUFDLENBQUM7UUFFMUMsTUFBTSxLQUFLLEdBQUcsTUFBTSxJQUFBLGNBQUksRUFBQztZQUN2QixPQUFPLEVBQUUsOEJBQThCO1lBQ3ZDLFFBQVEsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUNsQixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7b0JBQ1gsT0FBTyxJQUFBLDRCQUFvQixFQUFDLG9CQUFvQixDQUFDLENBQUM7Z0JBQ3BELENBQUM7Z0JBRUQsTUFBTSxVQUFVLEdBQ2Qsc0lBQXNJLENBQUM7Z0JBRXpJLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxD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
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare class PortalNewTocPrompts {
|
|
2
|
+
private readonly spin;
|
|
3
|
+
overwriteExistingTocPrompt(): Promise<boolean>;
|
|
4
|
+
startProgressIndicatorWithMessage(message: string): void;
|
|
5
|
+
stopProgressIndicatorWithMessage(message: string): void;
|
|
6
|
+
displayOutroMessage(tocPath: string): void;
|
|
7
|
+
logError(error: string): void;
|
|
8
|
+
displayWarning(message: string): void;
|
|
9
|
+
displayInfo(message: string): void;
|
|
10
|
+
}
|