@pdfbutler/migration-cli 0.0.10 → 0.0.11
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 +57 -1
- package/lib/commands/butler/pb/export.d.ts +4 -0
- package/lib/commands/butler/pb/export.js +128 -26
- package/lib/commands/butler/pb/export.js.map +1 -1
- package/lib/commands/butler/pb/import.d.ts +1 -0
- package/lib/commands/butler/pb/import.js +77 -45
- package/lib/commands/butler/pb/import.js.map +1 -1
- package/messages/butler.pb.export.md +27 -19
- package/messages/butler.pb.import.md +4 -0
- package/oclif.manifest.json +22 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -2,6 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
[](https://www.npmjs.com/package/@pdfbutler/migration-cli) [](https://www.npmjs.com/package/@pdfbutler/migration-cli) [](https://raw.githubusercontent.com/salesforcecli/pdfbutler-migration-cli/main/LICENSE.txt)
|
|
4
4
|
|
|
5
|
+
## Warning
|
|
6
|
+
|
|
7
|
+
v0.0.11 updates: <br/>
|
|
8
|
+
|
|
9
|
+
- '-b' flag disables backend export. If specified, the export operation doesn't use a PDF Butler backend process for exporting the configuration. By default, backend export is enabled.
|
|
10
|
+
- New '-l --logs' flag. Use this flag to enable a more detailed log of the migration process..
|
|
11
|
+
|
|
5
12
|
## About
|
|
6
13
|
|
|
7
14
|
@pdfbutler/migration-cli is a Salesforce plugin designed to simplify and automate the process of migrating configurations within the PDF Butler system in the Salesforce environment. PDF Butler is a powerful tool for generating and automating documents in the Salesforce platform, and the use of this CLI plugin allows users to easily manage configurations and transfer them between different Salesforce instances or projects.
|
|
@@ -78,6 +85,7 @@ FLAGS
|
|
|
78
85
|
|
|
79
86
|
-u, --unzip Use this flag to unzip the exported configuration. (Optional)
|
|
80
87
|
-b, --backend Use this flag to disable PDF Butler backend export. (Optional)
|
|
88
|
+
-l, --logs Use it to get a more detailed log of migration process. (Optional)
|
|
81
89
|
|
|
82
90
|
DESCRIPTION
|
|
83
91
|
Export DocConfigs and related DataSource files from your organization.
|
|
@@ -89,7 +97,7 @@ DESCRIPTION
|
|
|
89
97
|
|
|
90
98
|
To initiate an export, ensure you specify the necessary parameters, including the target org, PDF Butler docuemnt configuration ID,
|
|
91
99
|
output path, define PDF Butler credentials for backend authentication, specify endpoints and stage.
|
|
92
|
-
Additionally, you have the flexibility to enable or disable backend exports and even choose to unzip the exported configuration.
|
|
100
|
+
Additionally, you have the flexibility to enable or disable backend exports, get a more detailed log of migration process and even choose to unzip the exported configuration.
|
|
93
101
|
|
|
94
102
|
EXAMPLES
|
|
95
103
|
Run with --unzip and --backend flags
|
|
@@ -131,6 +139,51 @@ EXAMPLES
|
|
|
131
139
|
}
|
|
132
140
|
}
|
|
133
141
|
|
|
142
|
+
Run with --logs flag only
|
|
143
|
+
|
|
144
|
+
$ sf butler pb export -t sfusername@sandbox.com -i 'document_configuration_id'
|
|
145
|
+
-o 'export_folder_name/archive_or_folder_name' -s 'TEST' -e 'https://www.pdfbutler.com'
|
|
146
|
+
-a 'pdf_butler_user_name-ADMIN:admin_password' --logs
|
|
147
|
+
|
|
148
|
+
# Console output:
|
|
149
|
+
Connected to sfusername@sandbox.com (00D06000001aXGkEAM) with API version 58.0
|
|
150
|
+
DocConfig exported - 10061
|
|
151
|
+
Exported data from backend - 71940
|
|
152
|
+
Exported data from backend has been archived
|
|
153
|
+
User has read/write permissions
|
|
154
|
+
Archive unzipped and recorded locally
|
|
155
|
+
|
|
156
|
+
# Created:
|
|
157
|
+
Directory 'sfdc/export_folder_name'{
|
|
158
|
+
file 'docconfig.json',
|
|
159
|
+
zip file'archive_name.zip'{
|
|
160
|
+
Directory 'ConfigTypes',
|
|
161
|
+
Directory 'DataSources',
|
|
162
|
+
file 'doc-config.json',
|
|
163
|
+
file 'TemplateName.docx'
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
Run without --logs flag
|
|
168
|
+
|
|
169
|
+
$ sf butler pb export -t sfusername@sandbox.com -i 'document_configuration_id'
|
|
170
|
+
-o 'export_folder_name/archive_or_folder_name' -s 'TEST' -e 'https://www.pdfbutler.com'
|
|
171
|
+
-a 'pdf_butler_user_name-ADMIN:admin_password'
|
|
172
|
+
|
|
173
|
+
# Console output:
|
|
174
|
+
Connected to sfusername@sandbox.com (00D06000001aXGkEAM) with API version 58.0
|
|
175
|
+
|
|
176
|
+
# Created:
|
|
177
|
+
Directory 'sfdc/export_folder_name'{
|
|
178
|
+
file 'docconfig.json',
|
|
179
|
+
zip file'archive_name.zip'{
|
|
180
|
+
Directory 'ConfigTypes',
|
|
181
|
+
Directory 'DataSources',
|
|
182
|
+
file 'doc-config.json',
|
|
183
|
+
file 'TemplateName.docx'
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
|
|
134
187
|
Run without optional flags
|
|
135
188
|
|
|
136
189
|
$ sf butler pb export -t sfusername@sandbox.com -i 'document_configuration_id'
|
|
@@ -182,6 +235,9 @@ FLAG DESCRIPTIONS
|
|
|
182
235
|
-u, --unzip
|
|
183
236
|
Use this flag to indicate that the exported configuration should be unzipped.
|
|
184
237
|
If specified, the exported configuration will be unzipped after the export process is complete.
|
|
238
|
+
|
|
239
|
+
-l, --logs
|
|
240
|
+
Use this flag to enable a more detailed log of the migration process.
|
|
185
241
|
```
|
|
186
242
|
|
|
187
243
|
## butler pb import
|
|
@@ -18,6 +18,10 @@ export default class ButlerPbExport extends SfCommand<Buffer> {
|
|
|
18
18
|
endpoint: import("@oclif/core/lib/interfaces").OptionFlag<import("url").URL | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
19
19
|
stage: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
20
20
|
unzip: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
21
|
+
logs: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
22
|
+
partial: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
21
23
|
};
|
|
24
|
+
private static getDocConfigIds;
|
|
25
|
+
private static getDocConfigs;
|
|
22
26
|
run(): Promise<Buffer>;
|
|
23
27
|
}
|
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
/* eslint-disable @typescript-eslint/no-misused-promises */
|
|
4
|
+
/* eslint-disable @typescript-eslint/no-unsafe-argument */
|
|
5
|
+
/* eslint-disable @typescript-eslint/restrict-template-expressions */
|
|
6
|
+
/* eslint-disable @typescript-eslint/no-unsafe-call */
|
|
7
|
+
/* eslint-disable @typescript-eslint/no-unsafe-member-access */
|
|
8
|
+
/* eslint-disable sf-plugin/no-missing-messages */
|
|
9
|
+
/* eslint-disable @typescript-eslint/prefer-for-of */
|
|
10
|
+
/* eslint-disable no-await-in-loop */
|
|
11
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
12
|
+
/* eslint-disable no-console */
|
|
3
13
|
const fs_1 = require("fs");
|
|
4
14
|
const path = require("path");
|
|
5
15
|
const sf_plugins_core_1 = require("@salesforce/sf-plugins-core");
|
|
@@ -7,18 +17,59 @@ const core_1 = require("@salesforce/core");
|
|
|
7
17
|
const AdmZip = require("adm-zip");
|
|
8
18
|
const got_1 = require("got");
|
|
9
19
|
core_1.Messages.importMessagesDirectory(__dirname);
|
|
10
|
-
// const messages = Messages.loadMessages('pdfbutler-migration-cli', 'butler.pb.export');
|
|
11
20
|
const messages = core_1.Messages.loadMessages('@pdfbutler/migration-cli', 'butler.pb.export');
|
|
12
21
|
class ButlerPbExport extends sf_plugins_core_1.SfCommand {
|
|
22
|
+
static getDocConfigIds(id) {
|
|
23
|
+
const docConfigIds = id.split(/([\w-]{36})/).filter((n) => n);
|
|
24
|
+
docConfigIds.forEach((docId) => {
|
|
25
|
+
if (!docId.trim()) {
|
|
26
|
+
docConfigIds.splice(docConfigIds.indexOf(docId), 1);
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
if (docConfigIds.length <= 0) {
|
|
30
|
+
throw new Error('No matching Doc Configs ids found');
|
|
31
|
+
}
|
|
32
|
+
return docConfigIds;
|
|
33
|
+
}
|
|
34
|
+
static async getDocConfigs(docConfigIds, username) {
|
|
35
|
+
let docConfigPromises;
|
|
36
|
+
let connection;
|
|
37
|
+
let authInfo;
|
|
38
|
+
try {
|
|
39
|
+
authInfo = await core_1.AuthInfo.create({ username });
|
|
40
|
+
connection = await core_1.Connection.create({ authInfo });
|
|
41
|
+
}
|
|
42
|
+
catch (e) {
|
|
43
|
+
throw new Error('Connection to Salesforce has been failed');
|
|
44
|
+
}
|
|
45
|
+
console.log(`Connected to ${username} (${authInfo.getFields().orgId}) with API version ${connection.version}`);
|
|
46
|
+
try {
|
|
47
|
+
docConfigPromises = docConfigIds.map(async (docConfigId) => {
|
|
48
|
+
const promise = await connection.apex.get(`/cadmus_core/DocConfig/Export2/${docConfigId}`);
|
|
49
|
+
return promise;
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
catch (e) {
|
|
53
|
+
throw new Error('DocConfig export has been failed');
|
|
54
|
+
}
|
|
55
|
+
return Promise.all(docConfigPromises);
|
|
56
|
+
}
|
|
13
57
|
async run() {
|
|
14
58
|
const { flags } = await this.parse(ButlerPbExport);
|
|
15
59
|
const outFile = flags.out;
|
|
16
60
|
const outDir = path.dirname(outFile);
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
61
|
+
let docConfigIds = [];
|
|
62
|
+
let docConfigResponses = [];
|
|
63
|
+
try {
|
|
64
|
+
docConfigIds = ButlerPbExport.getDocConfigIds(flags.id);
|
|
65
|
+
docConfigResponses = await ButlerPbExport.getDocConfigs(docConfigIds, flags.target);
|
|
66
|
+
if (flags.logs)
|
|
67
|
+
this.log(`DocConfig exported - ${JSON.stringify(docConfigResponses).length}`);
|
|
68
|
+
}
|
|
69
|
+
catch (e) {
|
|
70
|
+
throw new Error('No matching Doc Configs ids found');
|
|
71
|
+
}
|
|
72
|
+
let zipMap = new Map();
|
|
22
73
|
let result = Buffer.from('');
|
|
23
74
|
if (!flags.backend) {
|
|
24
75
|
const auth = flags['auth-env-var'];
|
|
@@ -26,33 +77,75 @@ class ButlerPbExport extends sf_plugins_core_1.SfCommand {
|
|
|
26
77
|
if (auth?.indexOf(':')) {
|
|
27
78
|
base64Auth = Buffer.from(auth).toString('base64');
|
|
28
79
|
}
|
|
29
|
-
const
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
80
|
+
for (const docConfigId of docConfigIds) {
|
|
81
|
+
const finalUrl = `${flags.endpoint?.toString()}config/export-config/${flags.stage}/${docConfigId}`;
|
|
82
|
+
try {
|
|
83
|
+
result = await (0, got_1.default)(finalUrl, {
|
|
84
|
+
headers: {
|
|
85
|
+
Authorization: `Basic ${base64Auth}`,
|
|
86
|
+
},
|
|
87
|
+
}).buffer();
|
|
88
|
+
if (flags.logs)
|
|
89
|
+
this.log(`Exported data from backend - ${result.length}`);
|
|
90
|
+
zipMap.set(docConfigId, new AdmZip(result));
|
|
91
|
+
if (flags.logs)
|
|
92
|
+
this.log('Exported data from backend has been archived');
|
|
93
|
+
}
|
|
94
|
+
catch (err) {
|
|
95
|
+
if (!flags.partial) {
|
|
96
|
+
this.error(`${err}. One or more docConfigs have no backend.`);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
36
100
|
}
|
|
37
101
|
else {
|
|
38
|
-
|
|
102
|
+
zipMap = new Map();
|
|
39
103
|
}
|
|
40
104
|
await fs_1.promises.mkdir(`./sfdc/${outDir}`, { recursive: true });
|
|
41
|
-
if (flags.
|
|
42
|
-
|
|
43
|
-
|
|
105
|
+
if (flags.logs) {
|
|
106
|
+
try {
|
|
107
|
+
await fs_1.promises.access(`./sfdc/${outDir}`, fs_1.promises.constants.R_OK | fs_1.promises.constants.W_OK);
|
|
108
|
+
this.log('User has read/write permissions');
|
|
109
|
+
}
|
|
110
|
+
catch (err) {
|
|
111
|
+
this.log('User doesn\'t have read/write permissions');
|
|
112
|
+
}
|
|
44
113
|
}
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
114
|
+
if (zipMap.size > 0) {
|
|
115
|
+
if (flags.unzip) {
|
|
116
|
+
const extractionAndWritePromises = Array.from(zipMap.entries()).map(async ([key, value]) => {
|
|
117
|
+
value.extractAllTo(`./sfdc/${outDir}/${key}`, false);
|
|
118
|
+
const filePath = `./sfdc/${outDir}/${key}.json`;
|
|
119
|
+
const data = JSON.stringify(docConfigResponses[docConfigIds.indexOf(key)]);
|
|
120
|
+
await fs_1.promises.writeFile(filePath, data);
|
|
121
|
+
});
|
|
122
|
+
await Promise.all(extractionAndWritePromises);
|
|
123
|
+
if (flags.logs)
|
|
124
|
+
this.log('Archive unzipped and recorded locally');
|
|
49
125
|
}
|
|
50
|
-
|
|
51
|
-
|
|
126
|
+
else {
|
|
127
|
+
const zipAndWritePromises = Array.from(zipMap.entries()).map(async ([key, value]) => {
|
|
128
|
+
const zipToExport = new AdmZip();
|
|
129
|
+
for (const entry of value.getEntries()) {
|
|
130
|
+
zipToExport.addFile(entry.entryName, value.readFile(entry));
|
|
131
|
+
}
|
|
132
|
+
zipToExport.addFile('sfdc/docconfig.json', Buffer.from(JSON.stringify(docConfigResponses[docConfigIds.indexOf(key)])));
|
|
133
|
+
const zipPromise = fs_1.promises.writeFile(`./sfdc/${outDir}/${key}.zip`, zipToExport.toBuffer());
|
|
134
|
+
const jsonPromise = fs_1.promises.writeFile(`./sfdc/${outDir}/${key}.json`, JSON.stringify(docConfigResponses[docConfigIds.indexOf(key)]));
|
|
135
|
+
await Promise.all([zipPromise, jsonPromise]);
|
|
136
|
+
});
|
|
137
|
+
await Promise.all(zipAndWritePromises);
|
|
52
138
|
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
139
|
+
}
|
|
140
|
+
else {
|
|
141
|
+
const writePromises = docConfigIds.map(async (docConfigId) => {
|
|
142
|
+
const filePath = `./sfdc/${outDir}/${docConfigId}.json`;
|
|
143
|
+
const data = JSON.stringify(docConfigResponses[docConfigIds.indexOf(docConfigId)]);
|
|
144
|
+
await fs_1.promises.writeFile(filePath, data);
|
|
145
|
+
});
|
|
146
|
+
await Promise.all(writePromises);
|
|
147
|
+
if (flags.logs)
|
|
148
|
+
this.log('Archive recorded locally');
|
|
56
149
|
}
|
|
57
150
|
return result;
|
|
58
151
|
}
|
|
@@ -79,6 +172,7 @@ ButlerPbExport.flags = {
|
|
|
79
172
|
}),
|
|
80
173
|
out: sf_plugins_core_1.Flags.string({
|
|
81
174
|
summary: messages.getMessage('flags.out.summary'),
|
|
175
|
+
// eslint-disable-next-line sf-plugin/dash-o
|
|
82
176
|
char: 'o',
|
|
83
177
|
required: true,
|
|
84
178
|
}),
|
|
@@ -103,6 +197,14 @@ ButlerPbExport.flags = {
|
|
|
103
197
|
summary: messages.getMessage('flags.unzip.summary'),
|
|
104
198
|
char: 'u',
|
|
105
199
|
}),
|
|
200
|
+
logs: sf_plugins_core_1.Flags.boolean({
|
|
201
|
+
summary: messages.getMessage('flags.logs.summary'),
|
|
202
|
+
char: 'l',
|
|
203
|
+
}),
|
|
204
|
+
partial: sf_plugins_core_1.Flags.boolean({
|
|
205
|
+
summary: messages.getMessage('flags.partial.summary'),
|
|
206
|
+
char: 'p',
|
|
207
|
+
}),
|
|
106
208
|
};
|
|
107
209
|
exports.default = ButlerPbExport;
|
|
108
210
|
//# sourceMappingURL=export.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"export.js","sourceRoot":"","sources":["../../../../src/commands/butler/pb/export.ts"],"names":[],"mappings":";;AAAA,2BAAoC;AACpC,6BAA8B;AAC9B,iEAA+D;AAC/D,2CAAkE;AAClE,kCAAmC;AACnC,6BAAsB;
|
|
1
|
+
{"version":3,"file":"export.js","sourceRoot":"","sources":["../../../../src/commands/butler/pb/export.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,7 @@ export default class ButlerPbImport extends SfCommand<ButlerPbImportResult> {
|
|
|
14
14
|
endpoint: import("@oclif/core/lib/interfaces").OptionFlag<import("url").URL | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
15
15
|
stage: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
16
16
|
config: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
17
|
+
logs: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
17
18
|
};
|
|
18
19
|
private static getTargetPath;
|
|
19
20
|
run(): Promise<ButlerPbImportResult>;
|
|
@@ -29,40 +29,41 @@ class ButlerPbImport extends sf_plugins_core_1.SfCommand {
|
|
|
29
29
|
}
|
|
30
30
|
async run() {
|
|
31
31
|
const { flags } = await this.parse(ButlerPbImport);
|
|
32
|
-
const
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
32
|
+
const zipArray = [];
|
|
33
|
+
const jsonArray = [];
|
|
34
|
+
const files = fs.readdirSync(`${flags.config}`);
|
|
35
|
+
await Promise.all(files.map((fileName) => {
|
|
36
|
+
const fullPath = path.join(flags.config, fileName);
|
|
37
|
+
if (fileName.endsWith('.json')) {
|
|
38
|
+
jsonArray.push(fullPath);
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
zipArray.push(fullPath);
|
|
42
|
+
}
|
|
43
|
+
}));
|
|
44
|
+
const authInfo = await core_1.AuthInfo.create({ username: flags.target });
|
|
45
|
+
const connection = await core_1.Connection.create({ authInfo });
|
|
46
|
+
this.log(`Connected to ${flags.target} (${authInfo.getFields().orgId}) with API version ${connection.version}`);
|
|
47
|
+
try {
|
|
48
|
+
if (jsonArray.length > 0) {
|
|
49
|
+
const promises = jsonArray.map(async (jsonFile) => {
|
|
50
|
+
const sfdcConfig = JSON.parse(await fs.promises.readFile(jsonFile, 'utf8'));
|
|
51
|
+
await connection.apex.post('/cadmus_core/DocConfig/Import', sfdcConfig, {
|
|
52
|
+
headers: { 'content-type': 'application/json' },
|
|
53
|
+
});
|
|
54
|
+
});
|
|
55
|
+
await Promise.all(promises);
|
|
56
|
+
if (flags.logs)
|
|
57
|
+
this.log('Data successfully written to the target Salesforce org');
|
|
58
|
+
}
|
|
41
59
|
}
|
|
42
|
-
|
|
43
|
-
|
|
60
|
+
catch (e) {
|
|
61
|
+
throw new Error('Failed to write data to the target Salesforce org');
|
|
44
62
|
}
|
|
45
|
-
if (
|
|
63
|
+
if (zipArray.length === 0 || !flags.endpoint) {
|
|
46
64
|
return { success: false };
|
|
47
65
|
}
|
|
48
|
-
const targetDir = path.dirname(flags.config);
|
|
49
|
-
const authInfo = await core_1.AuthInfo.create({ username: flags.target });
|
|
50
|
-
const connection = await core_1.Connection.create({ authInfo });
|
|
51
|
-
this.log(`Connected to ${flags.target} (${authInfo.getFields().orgId}) with API version ${connection.version}`);
|
|
52
|
-
const sfdcConfig = JSON.parse(fs.readFileSync(`${targetDir}/docconfig.json`)?.toString());
|
|
53
|
-
const sfdcConfigObject = new Object();
|
|
54
|
-
Object.assign(sfdcConfigObject, sfdcConfig);
|
|
55
|
-
await connection.apex.post('/cadmus_core/DocConfig/Import', sfdcConfigObject, { header: { 'content-type': 'application/json' } });
|
|
56
66
|
if (flags.endpoint) {
|
|
57
|
-
if (zip == null) {
|
|
58
|
-
return { success: false };
|
|
59
|
-
}
|
|
60
|
-
const zipToSend = new AdmZip();
|
|
61
|
-
for (const entry of zip.getEntries()) {
|
|
62
|
-
if (entry != null) {
|
|
63
|
-
zipToSend.addFile(entry.entryName, zip.readFile(entry));
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
67
|
if (!flags['auth-env-var']) {
|
|
67
68
|
this.error('auth-env-var parameter is required when endpoint is provided');
|
|
68
69
|
return { success: false };
|
|
@@ -73,23 +74,50 @@ class ButlerPbImport extends sf_plugins_core_1.SfCommand {
|
|
|
73
74
|
base64Auth = Buffer.from(auth).toString('base64');
|
|
74
75
|
}
|
|
75
76
|
const baseUrl = `${flags.endpoint.toString()}`;
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
77
|
+
if (flags.logs)
|
|
78
|
+
this.log(`Endpoint base URL - ${baseUrl}`);
|
|
79
|
+
zipArray.map(async (zipName) => {
|
|
80
|
+
let zip = new AdmZip();
|
|
81
|
+
if (zipName.endsWith('zip')) {
|
|
82
|
+
zip = new AdmZip(zipName);
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
zip.addLocalFolder(zipName);
|
|
86
|
+
}
|
|
87
|
+
const zipToSend = new AdmZip();
|
|
88
|
+
for (const entry of zip.getEntries()) {
|
|
89
|
+
if (entry != null) {
|
|
90
|
+
zipToSend.addFile(entry.entryName, zip.readFile(entry));
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
const txt = zip.readAsText('doc-config.json');
|
|
94
|
+
if (flags.logs)
|
|
95
|
+
this.log(`doc-config.json length - ${txt.length}`);
|
|
96
|
+
const recordType = JSON.parse(txt).recordType;
|
|
97
|
+
const targetPath = ButlerPbImport.getTargetPath(recordType);
|
|
98
|
+
const finalUrl = `${baseUrl}${targetPath}`;
|
|
99
|
+
if (flags.logs)
|
|
100
|
+
this.log(`Final URL - ${finalUrl}`);
|
|
101
|
+
const fd = new FormData();
|
|
102
|
+
fd.append('zip', zipToSend.toBuffer(), { filename: 'zip' });
|
|
103
|
+
fd.append('metadata', JSON.stringify({
|
|
104
|
+
stage: flags.stage,
|
|
105
|
+
version: 'v10.0',
|
|
106
|
+
}), { contentType: 'application/json' });
|
|
107
|
+
try {
|
|
108
|
+
await got_1.default.post(finalUrl, {
|
|
109
|
+
body: fd.getBuffer(),
|
|
110
|
+
headers: fd.getHeaders({
|
|
111
|
+
Authorization: `Basic ${base64Auth}`,
|
|
112
|
+
}),
|
|
113
|
+
});
|
|
114
|
+
if (flags.logs)
|
|
115
|
+
this.log('Data successfully imported');
|
|
116
|
+
}
|
|
117
|
+
catch (e) {
|
|
118
|
+
throw new Error('Failed to write data to the PDF Butler system');
|
|
119
|
+
}
|
|
91
120
|
});
|
|
92
|
-
return { success: resp.statusCode === 200 };
|
|
93
121
|
}
|
|
94
122
|
return { success: true };
|
|
95
123
|
}
|
|
@@ -126,6 +154,10 @@ ButlerPbImport.flags = {
|
|
|
126
154
|
char: 'f',
|
|
127
155
|
required: true,
|
|
128
156
|
}),
|
|
157
|
+
logs: sf_plugins_core_1.Flags.boolean({
|
|
158
|
+
summary: messages.getMessage('flags.logs.summary'),
|
|
159
|
+
char: 'l',
|
|
160
|
+
}),
|
|
129
161
|
};
|
|
130
162
|
exports.default = ButlerPbImport;
|
|
131
163
|
//# sourceMappingURL=import.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"import.js","sourceRoot":"","sources":["../../../../src/commands/butler/pb/import.ts"],"names":[],"mappings":";;AAAA,6BAA8B;AAC9B,kCAAmC;AACnC,iEAA+D;AAC/D,2CAAkE;AAClE,sCAAuC;AACvC,kCAAmC;AACnC,6BAAsB;AAEtB,eAAQ,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;AAC5C,MAAM,QAAQ,GAAG,eAAQ,CAAC,YAAY,CAAC,0BAA0B,EAAE,kBAAkB,CAAC,CAAC;AAMvF,MAAqB,cAAe,SAAQ,2BAA+B;
|
|
1
|
+
{"version":3,"file":"import.js","sourceRoot":"","sources":["../../../../src/commands/butler/pb/import.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
# summary
|
|
2
|
-
|
|
3
|
-
Summary of a command.
|
|
4
|
-
|
|
5
|
-
# description
|
|
6
|
-
|
|
7
|
-
More information about a command. Don't repeat the summary.
|
|
8
|
-
|
|
9
|
-
# flags.name.summary
|
|
10
|
-
|
|
11
|
-
Description of a flag.
|
|
12
|
-
|
|
13
|
-
# flags.name.description
|
|
14
|
-
|
|
15
|
-
More information about a flag. Don't repeat the summary.
|
|
16
|
-
|
|
17
|
-
# examples
|
|
18
|
-
|
|
19
|
-
- <%= config.bin %> <%= command.id %>
|
|
1
|
+
# summary
|
|
2
|
+
|
|
3
|
+
Summary of a command.
|
|
4
|
+
|
|
5
|
+
# description
|
|
6
|
+
|
|
7
|
+
More information about a command. Don't repeat the summary.
|
|
8
|
+
|
|
9
|
+
# flags.name.summary
|
|
10
|
+
|
|
11
|
+
Description of a flag.
|
|
12
|
+
|
|
13
|
+
# flags.name.description
|
|
14
|
+
|
|
15
|
+
More information about a flag. Don't repeat the summary.
|
|
16
|
+
|
|
17
|
+
# examples
|
|
18
|
+
|
|
19
|
+
- <%= config.bin %> <%= command.id %>
|
|
20
20
|
|
|
21
21
|
# flags.target.summary
|
|
22
22
|
|
|
@@ -49,3 +49,11 @@ Summary for stage.
|
|
|
49
49
|
# flags.unzip.summary
|
|
50
50
|
|
|
51
51
|
Summary for unzip.
|
|
52
|
+
|
|
53
|
+
# flags.partial.summary
|
|
54
|
+
|
|
55
|
+
Summary for partial.
|
|
56
|
+
|
|
57
|
+
# flags.logs.summary
|
|
58
|
+
|
|
59
|
+
Summary for logs.
|
package/oclif.manifest.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "0.0.
|
|
2
|
+
"version": "0.0.11",
|
|
3
3
|
"commands": {
|
|
4
4
|
"butler:pb:export": {
|
|
5
5
|
"id": "butler:pb:export",
|
|
@@ -89,6 +89,20 @@
|
|
|
89
89
|
"char": "u",
|
|
90
90
|
"summary": "Summary for unzip.",
|
|
91
91
|
"allowNo": false
|
|
92
|
+
},
|
|
93
|
+
"logs": {
|
|
94
|
+
"name": "logs",
|
|
95
|
+
"type": "boolean",
|
|
96
|
+
"char": "l",
|
|
97
|
+
"summary": "Summary for logs.",
|
|
98
|
+
"allowNo": false
|
|
99
|
+
},
|
|
100
|
+
"partial": {
|
|
101
|
+
"name": "partial",
|
|
102
|
+
"type": "boolean",
|
|
103
|
+
"char": "p",
|
|
104
|
+
"summary": "Summary for partial.",
|
|
105
|
+
"allowNo": false
|
|
92
106
|
}
|
|
93
107
|
},
|
|
94
108
|
"args": {}
|
|
@@ -158,6 +172,13 @@
|
|
|
158
172
|
"summary": "Summary for config.",
|
|
159
173
|
"required": true,
|
|
160
174
|
"multiple": false
|
|
175
|
+
},
|
|
176
|
+
"logs": {
|
|
177
|
+
"name": "logs",
|
|
178
|
+
"type": "boolean",
|
|
179
|
+
"char": "l",
|
|
180
|
+
"summary": "Summary for logs.",
|
|
181
|
+
"allowNo": false
|
|
161
182
|
}
|
|
162
183
|
},
|
|
163
184
|
"args": {}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pdfbutler/migration-cli",
|
|
3
3
|
"description": "[](https://www.npmjs.com/package/pdfbutler-migration-cli) [](https://npmjs.org/package/pdfbutler-migration-cli) [](https://raw.githubusercontent.com/salesforcecli/pdfbutler-migration-cli/main/LICENSE.txt)",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.11",
|
|
5
5
|
"script": {
|
|
6
6
|
"postinstall": "sf plugins link @pdfbutler/migration-cli"
|
|
7
7
|
},
|