@pdfbutler/migration-cli 0.0.19 → 0.0.21

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.
@@ -1,5 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ /* eslint-disable @typescript-eslint/no-var-requires */
4
+ /* eslint-disable @typescript-eslint/no-unsafe-return */
5
+ /* eslint-disable @typescript-eslint/no-unsafe-assignment */
6
+ /* eslint-disable complexity */
3
7
  /* eslint-disable @typescript-eslint/no-misused-promises */
4
8
  /* eslint-disable @typescript-eslint/no-unsafe-argument */
5
9
  /* eslint-disable @typescript-eslint/restrict-template-expressions */
@@ -15,59 +19,161 @@ const sf_plugins_core_1 = require("@salesforce/sf-plugins-core");
15
19
  const core_1 = require("@salesforce/core");
16
20
  const AdmZip = require("adm-zip");
17
21
  const got_1 = require("got");
22
+ const jsforce = require('jsforce');
23
+ const PATTERN_DOC_CONFIG = /([\w-]{36})/;
24
+ const PATH_EXPORT = '/cadmus_core/DocConfig/Export2/';
25
+ const CUT_AFTER = 150;
26
+ const MSG_SPLITTED_DOC_CONFIGS = 'Number of DocConfig Ids after splitting: [VALUE].';
27
+ const MSG_AUTHORIZATION = 'Authorization with the username: [VALUE].';
28
+ const MSG_EXPORTED_DOC_CONFIGS = 'Number of exported DocConfigs: [VALUE].';
29
+ const MSG_FOLDER_CREATED = 'Folder structure created at: [VALUE].';
30
+ const MSG_DOC_CONFIG_HAS_NO_BACKEND = 'DocConfig with ID - [VALUE], does not have a backend.';
31
+ const MSG_NO_AUTH_PARAMS = 'No authentication parameters provided. Please provide either username or session and instance parameters.';
32
+ const MSG_NO_MATCHING_DOC_CONFIGS = 'No matching Doc Configs ids found.';
33
+ const MSG_CONNECTION_FAILED = 'Connection to Salesforce has been failed.';
34
+ const MSG_EXPORT_FAILED = 'DocConfig export has failed. Check the IDs and try again.';
35
+ const MSG_BACKEND_DATA_ARCHIVED = 'Exported data from backend has been archived.';
36
+ const MSG_BLANK_BACKEND = 'One or more docConfigs have no backend.';
37
+ const MSG_USER_HAS_PERMISSIONS = 'User has read/write permissions.';
38
+ const MSG_USER_HAS_NO_PERMISSIONS = "User doesn't have read/write permissions.";
39
+ const MSG_ARCHIVE_UNZIPPED = 'Archive unzipped and recorded locally.';
40
+ const MSG_ARCHIVE_RECORDED = 'Archive recorded locally.';
41
+ const MSG_CREATION_CONNECTION = 'Creating Connection with the Salesforce org.';
42
+ const MSG_FETCH_DATA = 'Attempting to fetch data from the org.';
43
+ const MSG_UNZIP_FILES = 'Unzipping the files.';
44
+ const MSG_SAVE_AS_ZIP = 'Saving as zip.';
45
+ const MSG_SAVE_BACKEND = 'Saving backend only.';
46
+ const MSG_PARTIAL_EXPORT_ACTIVE = 'The partial export is active. DocConfigs that do not have a backend will not be exported.';
47
+ const MSG_RUN_AUTH_COMMAND = 'Run the command "sf org login web" before authenticating with the target.';
48
+ const MSG_CHECK_SESSION_INSTANCE = 'Check if the session is up to date and if the instance is correct.';
18
49
  core_1.Messages.importMessagesDirectory(__dirname);
19
50
  const messages = core_1.Messages.loadMessages('@pdfbutler/migration-cli', 'butler.pb.export');
20
51
  class ButlerPbExport extends sf_plugins_core_1.SfCommand {
21
52
  static getDocConfigIds(id) {
22
- const docConfigIds = id.split(/([\w-]{36})/).filter((n) => n);
53
+ const docConfigIds = id.split(PATTERN_DOC_CONFIG).filter((n) => n);
23
54
  docConfigIds.map((docId) => {
24
- if (!docId.trim()) {
55
+ if (!docId.trim() || docId.length < 36) {
25
56
  docConfigIds.splice(docConfigIds.indexOf(docId), 1);
26
57
  }
27
58
  });
59
+ if (this.isLogsActive)
60
+ this.log(MSG_SPLITTED_DOC_CONFIGS.replace('[VALUE]', docConfigIds.length.toString()));
28
61
  if (docConfigIds.length < 0) {
29
- throw new Error('No matching Doc Configs ids found');
62
+ throw new Error(MSG_NO_MATCHING_DOC_CONFIGS);
30
63
  }
31
64
  return docConfigIds;
32
65
  }
33
- static async getDocConfigs(docConfigIds, username) {
34
- let docConfigPromises;
66
+ static isBlank(value) {
67
+ return value === ''
68
+ || value === null
69
+ || value === undefined;
70
+ }
71
+ static log(message, type = 'info') {
72
+ const prefix = type === 'info' ? '[INFO]' : '[ERROR]';
73
+ console.log(`${prefix} ${message}`);
74
+ }
75
+ static async authenticateWithTarget(username) {
76
+ try {
77
+ if (this.isLogsActive)
78
+ this.log(MSG_AUTHORIZATION.replace('[VALUE]', username));
79
+ const authInfo = await core_1.AuthInfo.create({ username });
80
+ if (this.isLogsActive)
81
+ this.log(MSG_CREATION_CONNECTION);
82
+ const connection = await core_1.Connection.create({ authInfo });
83
+ this.log(`Connected to ${username} (Org ID: ${authInfo.getFields().orgId})`);
84
+ return connection;
85
+ }
86
+ catch (error) {
87
+ this.log(MSG_RUN_AUTH_COMMAND, 'error');
88
+ throw new Error(MSG_CONNECTION_FAILED);
89
+ }
90
+ }
91
+ static async authenticateWitsSession(session, instance) {
92
+ session = session.trim();
93
+ instance = instance.trim();
94
+ const isInstanceBlank = this.isBlank(instance);
95
+ const isSessionBlank = this.isBlank(session);
96
+ if (!isInstanceBlank && !isSessionBlank) {
97
+ const connection = await new jsforce.Connection({
98
+ instanceUrl: `${instance}`,
99
+ sessionId: `${session}`,
100
+ });
101
+ this.log(`Connected to ${connection.instanceUrl}`);
102
+ return connection;
103
+ }
104
+ else if (!isSessionBlank && isInstanceBlank) {
105
+ this.log('Instance URL (--instance) cannot be empty', 'error');
106
+ }
107
+ else if (isSessionBlank && !isInstanceBlank) {
108
+ this.log('Session Id (--session) cannot be empty', 'error');
109
+ }
110
+ else {
111
+ this.log('Session Id and Instance URL (--session and --instance) cannot be empty', 'error');
112
+ }
113
+ this.log(MSG_CHECK_SESSION_INSTANCE, 'error');
114
+ throw new Error(MSG_CONNECTION_FAILED);
115
+ }
116
+ static async authenticate(username, session, instance) {
35
117
  let connection;
36
- let authInfo;
118
+ if (this.isBlank(username) && (this.isBlank(session) || this.isBlank(instance))) {
119
+ throw new Error(MSG_NO_AUTH_PARAMS);
120
+ }
37
121
  try {
38
- authInfo = await core_1.AuthInfo.create({ username });
39
- connection = await core_1.Connection.create({ authInfo });
122
+ if (this.isBlank(session) || this.isBlank(instance)) {
123
+ connection = await this.authenticateWithTarget(username);
124
+ }
125
+ else {
126
+ connection = await this.authenticateWitsSession(session, instance);
127
+ }
128
+ return connection;
40
129
  }
41
- catch (e) {
42
- throw new Error('Connection to Salesforce has been failed');
130
+ catch (error) {
131
+ throw new Error(MSG_CONNECTION_FAILED);
43
132
  }
44
- console.log(`Connected to ${username} (${authInfo.getFields().orgId}) with API version ${connection.version}`);
133
+ }
134
+ static async getDocConfigs(docConfigIds, connection) {
135
+ let docConfigPromises;
136
+ let responses = [];
45
137
  try {
138
+ if (ButlerPbExport.isLogsActive)
139
+ this.log(MSG_FETCH_DATA);
46
140
  docConfigPromises = docConfigIds.map(async (docConfigId) => {
47
- const promise = await connection.apex.get(`/cadmus_core/DocConfig/Export2/${docConfigId}`);
48
- return promise;
141
+ const endpoint = `${PATH_EXPORT}${docConfigId}`;
142
+ return connection.apex.get(endpoint);
49
143
  });
144
+ responses = await Promise.all(docConfigPromises);
50
145
  }
51
146
  catch (e) {
52
- throw new Error('DocConfig export has been failed');
147
+ throw new Error(MSG_EXPORT_FAILED);
53
148
  }
54
- const responses = await Promise.all(docConfigPromises);
55
149
  return responses;
56
150
  }
151
+ static convertBufferToUtf8(files) {
152
+ files.getEntries().forEach((file) => {
153
+ if (file.entryName.endsWith('.json')) {
154
+ file.setData(JSON.stringify(JSON.parse(file.getData().toString('utf8')), null, 2));
155
+ }
156
+ });
157
+ return files;
158
+ }
57
159
  async run() {
58
160
  const { flags } = await this.parse(ButlerPbExport);
161
+ ButlerPbExport.isLogsActive = flags.logs;
59
162
  const outDir = flags.out;
163
+ const isUseShortPath = flags.shortpaths;
60
164
  let docConfigIds = [];
61
165
  let docConfigResponses = [];
62
- try {
63
- docConfigIds = ButlerPbExport.getDocConfigIds(flags.id);
64
- docConfigResponses = await ButlerPbExport.getDocConfigs(docConfigIds, flags.target);
65
- if (flags.logs)
66
- this.log(`DocConfig exported - ${JSON.stringify(docConfigResponses).length}`);
67
- }
68
- catch (e) {
69
- throw new Error('No matching Doc Configs ids found');
70
- }
166
+ const targetUsername = flags.target;
167
+ const session = flags.session;
168
+ const instance = flags.instance;
169
+ docConfigIds = ButlerPbExport.getDocConfigIds(flags.id);
170
+ ButlerPbExport.log(JSON.stringify(docConfigIds, null, 2));
171
+ const connection = await ButlerPbExport.authenticate(targetUsername, session, instance);
172
+ docConfigResponses = await ButlerPbExport.getDocConfigs(docConfigIds, connection);
173
+ if (ButlerPbExport.isLogsActive)
174
+ ButlerPbExport.log(MSG_EXPORTED_DOC_CONFIGS.replace('[VALUE]', docConfigResponses.length.toString()));
175
+ if (docConfigResponses.length < 1)
176
+ throw new Error(MSG_NO_MATCHING_DOC_CONFIGS);
71
177
  let zipMap = new Map();
72
178
  let result = Buffer.from('');
73
179
  if (!flags.backend) {
@@ -76,23 +182,28 @@ class ButlerPbExport extends sf_plugins_core_1.SfCommand {
76
182
  if (auth?.indexOf(':')) {
77
183
  base64Auth = Buffer.from(auth).toString('base64');
78
184
  }
185
+ if (ButlerPbExport.isLogsActive && flags.partial)
186
+ ButlerPbExport.log(MSG_PARTIAL_EXPORT_ACTIVE);
79
187
  for (const docConfigId of docConfigIds) {
80
- const finalUrl = `${flags.endpoint?.toString()}config/export-config/${flags.stage}/${docConfigId}`;
188
+ let finalUrl = `${flags.endpoint?.toString()}config/export-config/${flags.stage}/${docConfigId}`;
189
+ if (isUseShortPath) {
190
+ finalUrl += '?shortPaths=true';
191
+ }
81
192
  try {
82
193
  result = await (0, got_1.default)(finalUrl, {
83
194
  headers: {
84
195
  Authorization: `Basic ${base64Auth}`,
85
196
  },
86
197
  }).buffer();
87
- if (flags.logs)
88
- this.log(`Exported data from backend - ${result.length}`);
89
198
  zipMap.set(docConfigId, new AdmZip(result));
90
- if (flags.logs)
91
- this.log('Exported data from backend has been archived');
199
+ if (ButlerPbExport.isLogsActive)
200
+ ButlerPbExport.log(MSG_BACKEND_DATA_ARCHIVED);
92
201
  }
93
202
  catch (err) {
203
+ if (ButlerPbExport.isLogsActive)
204
+ ButlerPbExport.log(MSG_DOC_CONFIG_HAS_NO_BACKEND.replace('[VALUE]', docConfigId));
94
205
  if (!flags.partial) {
95
- this.error(`${err}. One or more docConfigs have no backend.`);
206
+ throw new Error(MSG_BLANK_BACKEND);
96
207
  }
97
208
  }
98
209
  }
@@ -100,51 +211,64 @@ class ButlerPbExport extends sf_plugins_core_1.SfCommand {
100
211
  else {
101
212
  zipMap = new Map();
102
213
  }
214
+ if (ButlerPbExport.isLogsActive)
215
+ ButlerPbExport.log(MSG_FOLDER_CREATED.replace('[VALUE]', `./${outDir}/sfdc`));
103
216
  await fs_1.promises.mkdir(`./${outDir}/sfdc`, { recursive: true });
104
- if (flags.logs) {
217
+ if (ButlerPbExport.isLogsActive) {
105
218
  try {
106
219
  await fs_1.promises.access(`./${outDir}`, fs_1.promises.constants.R_OK | fs_1.promises.constants.W_OK);
107
- this.log('User has read/write permissions');
220
+ ButlerPbExport.log(MSG_USER_HAS_PERMISSIONS);
108
221
  }
109
222
  catch (err) {
110
- this.log('User doesn\'t have read/write permissions');
223
+ ButlerPbExport.log(MSG_USER_HAS_NO_PERMISSIONS);
111
224
  }
112
225
  }
113
226
  if (zipMap.size > 0) {
114
227
  if (flags.unzip) {
228
+ if (ButlerPbExport.isLogsActive)
229
+ ButlerPbExport.log(MSG_UNZIP_FILES);
115
230
  const extractionAndWritePromises = Array.from(zipMap.entries()).map(async ([key, value]) => {
116
- value.extractAllTo(`./${outDir}/${key}`, false);
231
+ ButlerPbExport.convertBufferToUtf8(value).extractAllTo(`./${outDir}/${key}`, false);
117
232
  const filePath = `./${outDir}/sfdc/${key}.json`;
118
- const data = JSON.stringify(docConfigResponses[docConfigIds.indexOf(key)]);
233
+ const data = JSON.stringify(docConfigResponses[docConfigIds.indexOf(key)], null, 2);
119
234
  await fs_1.promises.writeFile(filePath, data);
120
235
  });
121
236
  await Promise.all(extractionAndWritePromises);
122
- if (flags.logs)
123
- this.log('Archive unzipped and recorded locally');
237
+ if (ButlerPbExport.isLogsActive)
238
+ ButlerPbExport.log(MSG_ARCHIVE_UNZIPPED);
124
239
  }
125
240
  else {
241
+ if (ButlerPbExport.isLogsActive)
242
+ ButlerPbExport.log(MSG_SAVE_AS_ZIP);
126
243
  const zipAndWritePromises = Array.from(zipMap.entries()).map(async ([key, value]) => {
127
244
  const zipToExport = new AdmZip();
128
245
  for (const entry of value.getEntries()) {
129
- zipToExport.addFile(entry.entryName, value.readFile(entry));
246
+ let entryName = entry.entryName;
247
+ const fileName = entryName.substring(Number(entryName.lastIndexOf('/')) + 1, entryName.lastIndexOf('.'));
248
+ entryName = flags.cut ?
249
+ entryName.replace(fileName, fileName.substring(0, CUT_AFTER))
250
+ : entryName;
251
+ zipToExport.addFile(entryName, value.readFile(entry));
130
252
  }
131
- zipToExport.addFile('sfdc/docconfig.json', Buffer.from(JSON.stringify(docConfigResponses[docConfigIds.indexOf(key)])));
253
+ zipToExport.addFile('sfdc/docconfig.json', Buffer.from(JSON.stringify(docConfigResponses[docConfigIds.indexOf(key)], null, 2)));
132
254
  const zipPromise = fs_1.promises.writeFile(`./${outDir}/${key}.zip`, zipToExport.toBuffer());
133
- const jsonPromise = fs_1.promises.writeFile(`./${outDir}/sfdc/${key}.json`, JSON.stringify(docConfigResponses[docConfigIds.indexOf(key)]));
255
+ const jsonPromise = fs_1.promises.writeFile(`./${outDir}/sfdc/${key}.json`, JSON.stringify(docConfigResponses[docConfigIds.indexOf(key)], null, 2));
134
256
  await Promise.all([zipPromise, jsonPromise]);
135
257
  });
136
258
  await Promise.all(zipAndWritePromises);
259
+ if (ButlerPbExport.isLogsActive)
260
+ ButlerPbExport.log(MSG_ARCHIVE_RECORDED);
137
261
  }
138
262
  }
139
263
  else {
140
264
  const writePromises = docConfigIds.map(async (docConfigId) => {
141
265
  const filePath = `./${outDir}/sfdc/${docConfigId}.json`;
142
- const data = JSON.stringify(docConfigResponses[docConfigIds.indexOf(docConfigId)]) ?? '';
266
+ const data = JSON.stringify(docConfigResponses[docConfigIds.indexOf(docConfigId)], null, 2);
143
267
  await fs_1.promises.writeFile(filePath, data);
144
268
  });
145
269
  await Promise.all(writePromises);
146
- if (flags.logs)
147
- this.log('Archive recorded locally');
270
+ if (ButlerPbExport.isLogsActive)
271
+ ButlerPbExport.log(MSG_SAVE_BACKEND);
148
272
  }
149
273
  return result;
150
274
  }
@@ -162,7 +286,7 @@ ButlerPbExport.flags = {
162
286
  target: sf_plugins_core_1.Flags.string({
163
287
  summary: messages.getMessage('flags.target.summary'),
164
288
  char: 't',
165
- required: true,
289
+ required: false,
166
290
  }),
167
291
  id: sf_plugins_core_1.Flags.string({
168
292
  summary: messages.getMessage('flags.id.summary'),
@@ -204,6 +328,20 @@ ButlerPbExport.flags = {
204
328
  summary: messages.getMessage('flags.partial.summary'),
205
329
  char: 'p',
206
330
  }),
331
+ session: sf_plugins_core_1.Flags.string({
332
+ summary: messages.getMessage('flags.session.summary'),
333
+ }),
334
+ instance: sf_plugins_core_1.Flags.string({
335
+ summary: messages.getMessage('flags.instance.summary'),
336
+ }),
337
+ cut: sf_plugins_core_1.Flags.boolean({
338
+ summary: messages.getMessage('flags.cut.summary'),
339
+ char: 'c',
340
+ }),
341
+ shortpaths: sf_plugins_core_1.Flags.boolean({
342
+ summary: messages.getMessage('flags.shortpaths.summary'),
343
+ }),
207
344
  };
345
+ ButlerPbExport.isLogsActive = false;
208
346
  exports.default = ButlerPbExport;
209
347
  //# sourceMappingURL=export.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"export.js","sourceRoot":"","sources":["../../../../src/commands/butler/pb/export.ts"],"names":[],"mappings":";;AAAA,2DAA2D;AAC3D,0DAA0D;AAC1D,qEAAqE;AACrE,sDAAsD;AACtD,+DAA+D;AAC/D,kDAAkD;AAClD,qDAAqD;AACrD,qCAAqC;AACrC,uDAAuD;AACvD,+BAA+B;AAC/B,2BAAoC;AACpC,iEAA+D;AAC/D,2CAAkE;AAClE,kCAAmC;AACnC,6BAAsB;AAGtB,eAAQ,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;AAC5C,MAAM,QAAQ,GAAG,eAAQ,CAAC,YAAY,CAAC,0BAA0B,EAAE,kBAAkB,CAAC,CAAC;AAMvF,MAAqB,cAAe,SAAQ,2BAAiB;IA2DnD,MAAM,CAAC,eAAe,CAAC,EAAU;QACvC,MAAM,YAAY,GAAG,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QAE9D,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACzB,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE;gBACjB,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;aACrD;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;YAC3B,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;SACtD;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,YAAsB,EAAE,QAAgB;QACzE,IAAI,iBAAiB,CAAC;QACtB,IAAI,UAA8B,CAAC;QACnC,IAAI,QAAQ,CAAC;QAEb,IAAI;YACF,QAAQ,GAAG,MAAM,eAAQ,CAAC,MAAM,CAAC,EAAC,QAAQ,EAAC,CAAC,CAAC;YAC7C,UAAU,GAAG,MAAM,iBAAU,CAAC,MAAM,CAAC,EAAC,QAAQ,EAAC,CAAC,CAAC;SAClD;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;SAC7D;QAED,OAAO,CAAC,GAAG,CAAC,gBAAgB,QAAQ,KAAK,QAAQ,CAAC,SAAS,EAAE,CAAC,KAAK,sBAAsB,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;QAE/G,IAAG;YACD,iBAAiB,GAAG,YAAY,CAAC,GAAG,CAAC,KAAK,EAAC,WAAW,EAAC,EAAE;gBACvD,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,kCAAkC,WAAW,EAAE,CAAC,CAAC;gBAC3F,OAAO,OAAO,CAAC;YACjB,CAAC,CAAC,CAAC;SACJ;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;SACrD;QAED,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QACvD,OAAO,SAAS,CAAC;IACnB,CAAC;IAEM,KAAK,CAAC,GAAG;QACd,MAAM,EAAC,KAAK,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAEjD,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC;QACzB,IAAI,YAAY,GAAa,EAAE,CAAC;QAChC,IAAI,kBAAkB,GAAU,EAAE,CAAC;QAEnC,IAAG;YACD,YAAY,GAAG,cAAc,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACxD,kBAAkB,GAAG,MAAM,cAAc,CAAC,aAAa,CAAC,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;YACpF,IAAI,KAAK,CAAC,IAAI;gBAAE,IAAI,CAAC,GAAG,CAAC,wBAAwB,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;SAC/F;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;SACtD;QAED,IAAI,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;QACvB,IAAI,MAAM,GAAW,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAErC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;YAClB,MAAM,IAAI,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;YACnC,IAAI,UAAU,GAAG,IAAI,CAAC;YAEtB,IAAI,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE;gBACtB,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;aACnD;YAED,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE;gBACtC,MAAM,QAAQ,GAAG,GAAG,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,wBAAwB,KAAK,CAAC,KAAK,IAAI,WAAW,EAAE,CAAC;gBAEnG,IAAI;oBACF,MAAM,GAAG,MAAM,IAAA,aAAG,EAAc,QAAQ,EAAE;wBACxC,OAAO,EAAE;4BACP,aAAa,EAAE,SAAS,UAAU,EAAE;yBACrC;qBACF,CAAC,CAAC,MAAM,EAAE,CAAC;oBACZ,IAAI,KAAK,CAAC,IAAI;wBAAE,IAAI,CAAC,GAAG,CAAC,gCAAgC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAC1E,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;oBAC5C,IAAI,KAAK,CAAC,IAAI;wBAAE,IAAI,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;iBAC1E;gBAAC,OAAO,GAAG,EAAE;oBACZ,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;wBAClB,IAAI,CAAC,KAAK,CAAC,GAAG,GAAa,2CAA2C,CAAC,CAAC;qBACzE;iBACF;aACF;SACF;aAAM;YACL,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;SACpB;QACD,MAAM,aAAE,CAAC,KAAK,CAAC,KAAK,MAAM,OAAO,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC;QACtD,IAAI,KAAK,CAAC,IAAI,EAAE;YACd,IAAI;gBACF,MAAM,aAAE,CAAC,MAAM,CAAC,KAAK,MAAM,EAAE,EAAE,aAAE,CAAC,SAAS,CAAC,IAAI,GAAG,aAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBACtE,IAAI,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;aAC7C;YAAC,OAAO,GAAG,EAAE;gBACZ,IAAI,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;aACvD;SACF;QACD,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC,EAAE;YACnB,IAAI,KAAK,CAAC,KAAK,EAAE;gBACf,MAAM,0BAA0B,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;oBACzF,KAAK,CAAC,YAAY,CAAC,KAAK,MAAM,IAAI,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC;oBAChD,MAAM,QAAQ,GAAG,KAAK,MAAM,SAAS,GAAG,OAAO,CAAC;oBAChD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBAC3E,MAAM,aAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;gBACrC,CAAC,CAAC,CAAC;gBAEH,MAAM,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;gBAE9C,IAAI,KAAK,CAAC,IAAI;oBAAE,IAAI,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;aAEnE;iBAAM;gBACL,MAAM,mBAAmB,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;oBAClF,MAAM,WAAW,GAAG,IAAI,MAAM,EAAE,CAAC;oBACjC,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,UAAU,EAAE,EAAE;wBACtC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAW,CAAC,CAAC;qBACvE;oBAED,WAAW,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACvH,MAAM,UAAU,GAAG,aAAE,CAAC,SAAS,CAAC,KAAK,MAAM,IAAI,GAAG,MAAM,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;oBAClF,MAAM,WAAW,GAAG,aAAE,CAAC,SAAS,CAAC,KAAK,MAAM,SAAS,GAAG,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oBAChI,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;gBAC/C,CAAC,CAAC,CAAC;gBAEH,MAAM,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;aACxC;SACF;aAAM;YACL,MAAM,aAAa,GAAG,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE;gBAC3D,MAAM,QAAQ,GAAG,KAAK,MAAM,SAAS,WAAW,OAAO,CAAC;gBACxD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBACzF,MAAM,aAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC;YACH,MAAM,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YAEjC,IAAI,KAAK,CAAC,IAAI;gBAAE,IAAI,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;SACtD;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;;AArMsB,sBAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;AACzC,0BAAW,GAAG,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AACjD,uBAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;AAE5C,oBAAK,GAAG;IAC7B,IAAI,EAAE,uBAAK,CAAC,MAAM,CAAC;QACjB,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,oBAAoB,CAAC;QAClD,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,wBAAwB,CAAC;QAC1D,IAAI,EAAE,GAAG;QACT,QAAQ,EAAE,KAAK;KAChB,CAAC;IACF,MAAM,EAAE,uBAAK,CAAC,MAAM,CAAC;QACnB,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,sBAAsB,CAAC;QACpD,IAAI,EAAE,GAAG;QACT,QAAQ,EAAE,IAAI;KACf,CAAC;IACF,EAAE,EAAE,uBAAK,CAAC,MAAM,CAAC;QACf,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,kBAAkB,CAAC;QAChD,IAAI,EAAE,GAAG;QACT,QAAQ,EAAE,IAAI;KACf,CAAC;IACF,GAAG,EAAE,uBAAK,CAAC,MAAM,CAAC;QAChB,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,mBAAmB,CAAC;QACjD,4CAA4C;QAC5C,IAAI,EAAE,GAAG;QACT,QAAQ,EAAE,IAAI;KACf,CAAC;IACF,OAAO,EAAE,uBAAK,CAAC,OAAO,CAAC;QACrB,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,uBAAuB,CAAC;QACrD,IAAI,EAAE,GAAG;KACV,CAAC;IACF,cAAc,EAAE,uBAAK,CAAC,MAAM,CAAC;QAC3B,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,4BAA4B,CAAC;QAC1D,IAAI,EAAE,GAAG;KACV,CAAC;IACF,QAAQ,EAAE,uBAAK,CAAC,GAAG,CAAC;QAClB,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,wBAAwB,CAAC;QACtD,IAAI,EAAE,GAAG;KACV,CAAC;IACF,KAAK,EAAE,uBAAK,CAAC,MAAM,CAAC;QAClB,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,qBAAqB,CAAC;QACnD,IAAI,EAAE,GAAG;QACT,QAAQ,EAAE,IAAI;KACf,CAAC;IACF,KAAK,EAAE,uBAAK,CAAC,OAAO,CAAC;QACnB,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,qBAAqB,CAAC;QACnD,IAAI,EAAE,GAAG;KACV,CAAC;IACF,IAAI,EAAE,uBAAK,CAAC,OAAO,CAAC;QAClB,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,oBAAoB,CAAC;QAClD,IAAI,EAAE,GAAG;KACV,CAAC;IACF,OAAO,EAAE,uBAAK,CAAC,OAAO,CAAC;QACrB,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,uBAAuB,CAAC;QACrD,IAAI,EAAE,GAAG;KACV,CAAC;CACH,CAAC;kBAzDiB,cAAc"}
1
+ {"version":3,"file":"export.js","sourceRoot":"","sources":["../../../../src/commands/butler/pb/export.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import { SfCommand } from '@salesforce/sf-plugins-core';
2
+ export type ButlerPbExportpackResult = {
3
+ success: boolean;
4
+ };
5
+ export default class ButlerPbExportpack extends SfCommand<ButlerPbExportpackResult> {
6
+ static readonly summary: string;
7
+ static readonly description: string;
8
+ static readonly examples: string[];
9
+ static readonly flags: {
10
+ name: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
11
+ pack: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
12
+ target: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
13
+ out: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
14
+ logs: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
15
+ session: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
16
+ instance: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
17
+ };
18
+ private static isLogsActive;
19
+ private static log;
20
+ private static isBlank;
21
+ private static authenticateWithTarget;
22
+ private static authenticateWitsSession;
23
+ private static authenticate;
24
+ private static exportPackData;
25
+ private static saveToFile;
26
+ run(): Promise<ButlerPbExportpackResult>;
27
+ }
@@ -0,0 +1,214 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /* eslint-disable @typescript-eslint/no-var-requires */
4
+ /* eslint-disable @typescript-eslint/no-unsafe-return */
5
+ /* eslint-disable @typescript-eslint/no-unsafe-assignment */
6
+ /* eslint-disable complexity */
7
+ /* eslint-disable @typescript-eslint/no-misused-promises */
8
+ /* eslint-disable @typescript-eslint/no-unsafe-argument */
9
+ /* eslint-disable @typescript-eslint/restrict-template-expressions */
10
+ /* eslint-disable @typescript-eslint/no-unsafe-call */
11
+ /* eslint-disable @typescript-eslint/no-unsafe-member-access */
12
+ /* eslint-disable sf-plugin/no-missing-messages */
13
+ /* eslint-disable @typescript-eslint/prefer-for-of */
14
+ /* eslint-disable no-await-in-loop */
15
+ /* eslint-disable @typescript-eslint/no-explicit-any */
16
+ /* eslint-disable no-console */
17
+ const fs_1 = require("fs");
18
+ const sf_plugins_core_1 = require("@salesforce/sf-plugins-core");
19
+ const core_1 = require("@salesforce/core");
20
+ const jsforce = require('jsforce');
21
+ const PATH_EXPORT = '/services/apexrest/cadmus_core/Pack/Export/';
22
+ const ERROR_URL = 'Could not find a match for URL';
23
+ const ERROR_VERSION = 'Verify that you have PDFButler version greater than v1.440.';
24
+ const ERROR_ID_NOT_EXIST = 'List has no rows for assignment to SObject';
25
+ const ERROR_PACK_NOT_EXIST = "Can't find the Pack by the Customer Pack Id: [PACK_ID].";
26
+ const MSG_CONNECTION_FAILED = 'Connection to Salesforce has been failed.';
27
+ const MSG_CREATION_CONNECTION = 'Creating Connection with the Salesforce org.';
28
+ const MSG_AUTHORIZATION = 'Authorization with the username: [VALUE].';
29
+ const MSG_NO_AUTH_PARAMS = 'No authentication parameters provided. Please provide either username or session and instance parameters.';
30
+ const MSG_RUN_AUTH_COMMAND = 'Run the command "sf org login web" before authenticating with the target.';
31
+ const MSG_CHECK_SESSION_INSTANCE = 'Check if the session is up to date and if the instance is correct.';
32
+ core_1.Messages.importMessagesDirectory(__dirname);
33
+ const messages = core_1.Messages.loadMessages('@pdfbutler/migration-cli', 'butler.pb.exportpack');
34
+ class ButlerPbExportpack extends sf_plugins_core_1.SfCommand {
35
+ static log(message, type = 'info') {
36
+ const prefix = type === 'info' ? '[INFO]' : '[ERROR]';
37
+ console.log(`${prefix} ${message}`);
38
+ }
39
+ static isBlank(value) {
40
+ return value?.trim() === ''
41
+ || value === null
42
+ || value === undefined;
43
+ }
44
+ static async authenticateWithTarget(username) {
45
+ try {
46
+ if (this.isLogsActive)
47
+ this.log(MSG_AUTHORIZATION.replace('[VALUE]', username));
48
+ const authInfo = await core_1.AuthInfo.create({ username });
49
+ if (this.isLogsActive)
50
+ this.log(MSG_CREATION_CONNECTION);
51
+ const connection = await core_1.Connection.create({ authInfo });
52
+ this.log(`Connected to ${username} (Org ID: ${authInfo.getFields().orgId})`);
53
+ return connection;
54
+ }
55
+ catch (error) {
56
+ this.log(MSG_RUN_AUTH_COMMAND, 'error');
57
+ throw new Error(MSG_CONNECTION_FAILED);
58
+ }
59
+ }
60
+ static async authenticateWitsSession(session, instance) {
61
+ if (!this.isBlank(instance) && !this.isBlank(session)) {
62
+ const connection = await new jsforce.Connection({
63
+ instanceUrl: `${instance}`,
64
+ sessionId: `${session}`,
65
+ });
66
+ this.log(`Connected to ${connection.instanceUrl}`);
67
+ return connection;
68
+ }
69
+ else if (!this.isBlank(session) && this.isBlank(instance)) {
70
+ this.log('Instance URL (--instance) cannot be empty', 'error');
71
+ }
72
+ else if (this.isBlank(session) && !this.isBlank(instance)) {
73
+ this.log('Session Id (--session) cannot be empty', 'error');
74
+ }
75
+ else {
76
+ this.log('Session Id and Instance URL (--session and --instance) cannot be empty', 'error');
77
+ }
78
+ this.log(MSG_CHECK_SESSION_INSTANCE, 'error');
79
+ throw new Error(MSG_CONNECTION_FAILED);
80
+ }
81
+ static async authenticate(username, session, instance) {
82
+ let connection;
83
+ if (this.isBlank(username) && (this.isBlank(session) || this.isBlank(instance))) {
84
+ throw new Error(MSG_NO_AUTH_PARAMS);
85
+ }
86
+ try {
87
+ if (this.isBlank(session) || this.isBlank(instance)) {
88
+ connection = await this.authenticateWithTarget(username);
89
+ }
90
+ else {
91
+ connection = await this.authenticateWitsSession(session, instance);
92
+ }
93
+ return connection;
94
+ }
95
+ catch (error) {
96
+ throw new Error(MSG_CONNECTION_FAILED);
97
+ }
98
+ }
99
+ static async exportPackData(connection, packId) {
100
+ const exportUrl = `${PATH_EXPORT}${packId}`;
101
+ try {
102
+ this.log('Calling the service.');
103
+ const response = await connection.apex.get(exportUrl);
104
+ return response;
105
+ }
106
+ catch (error) {
107
+ if (this.isLogsActive) {
108
+ const message = error instanceof Error ? error.message : String(error);
109
+ if (message.includes(ERROR_URL)) {
110
+ this.log(`${ERROR_URL}. ${ERROR_VERSION}`, 'error');
111
+ }
112
+ if (message.includes(ERROR_ID_NOT_EXIST)) {
113
+ this.log(ERROR_PACK_NOT_EXIST.replace('[PACK_ID]', packId), 'error');
114
+ }
115
+ }
116
+ return [];
117
+ }
118
+ }
119
+ static async saveToFile(directory, filename, data) {
120
+ try {
121
+ if (this.isLogsActive) {
122
+ this.log('Saving to the directory');
123
+ }
124
+ const dirName = `./${directory}/sfdc`;
125
+ if (this.isLogsActive) {
126
+ this.log(`Directory hierarchy: ${dirName}`);
127
+ }
128
+ const filePath = `${dirName}/${filename}`;
129
+ if (this.isLogsActive) {
130
+ this.log(`File path: ${filePath}`);
131
+ }
132
+ await fs_1.promises.mkdir(dirName, { recursive: true });
133
+ await fs_1.promises.writeFile(filePath, JSON.stringify(data, null, 2));
134
+ this.log(`Data successfully written to ${filePath}`);
135
+ return filePath;
136
+ }
137
+ catch (error) {
138
+ const message = error instanceof Error ? error.message : String(error);
139
+ this.log(`Error during file save: ${message}`, 'error');
140
+ throw new Error('Failed to save the file');
141
+ }
142
+ }
143
+ async run() {
144
+ const { flags } = await this.parse(ButlerPbExportpack);
145
+ const username = flags.target;
146
+ const session = flags.session;
147
+ const instance = flags.instance;
148
+ const packsIds = flags.pack;
149
+ const outputDir = flags.out;
150
+ ButlerPbExportpack.isLogsActive = flags.logs;
151
+ if (outputDir.trim().length === 0) {
152
+ ButlerPbExportpack.log('The flag "out" cannot be empty', 'error');
153
+ return { success: false };
154
+ }
155
+ if (ButlerPbExportpack.isLogsActive) {
156
+ ButlerPbExportpack.log(`Username: "${username}"`);
157
+ ButlerPbExportpack.log(`Packs to retrieve: "${packsIds}"`);
158
+ ButlerPbExportpack.log(`Directory to output: "${outputDir}"`);
159
+ }
160
+ const connection = await ButlerPbExportpack.authenticate(username, session, instance);
161
+ for (const packId of packsIds.split(',')) {
162
+ ButlerPbExportpack.log(`Try to export pack by Id: ${packId.trim()}`);
163
+ const trimmedPackId = packId.trim();
164
+ const outputFilename = `${trimmedPackId}.json`;
165
+ const packData = await ButlerPbExportpack.exportPackData(connection, trimmedPackId);
166
+ if (packData == null || packData.length < 1) {
167
+ ButlerPbExportpack.log(`Exported pack data for pack ID ${trimmedPackId} is empty`, 'error');
168
+ continue;
169
+ }
170
+ await ButlerPbExportpack.saveToFile(outputDir, outputFilename, packData);
171
+ }
172
+ return { success: true };
173
+ }
174
+ }
175
+ ButlerPbExportpack.summary = messages.getMessage('summary');
176
+ ButlerPbExportpack.description = messages.getMessage('description');
177
+ ButlerPbExportpack.examples = messages.getMessages('examples');
178
+ ButlerPbExportpack.flags = {
179
+ name: sf_plugins_core_1.Flags.string({
180
+ summary: messages.getMessage('flags.name.summary'),
181
+ description: messages.getMessage('flags.name.description'),
182
+ char: 'n',
183
+ required: false,
184
+ }),
185
+ pack: sf_plugins_core_1.Flags.string({
186
+ summary: messages.getMessage('flags.pack.summary'),
187
+ char: 'p',
188
+ required: true,
189
+ }),
190
+ target: sf_plugins_core_1.Flags.string({
191
+ summary: messages.getMessage('flags.target.summary'),
192
+ char: 't',
193
+ required: false,
194
+ }),
195
+ out: sf_plugins_core_1.Flags.string({
196
+ summary: messages.getMessage('flags.out.summary'),
197
+ // eslint-disable-next-line sf-plugin/dash-o
198
+ char: 'o',
199
+ required: true,
200
+ }),
201
+ logs: sf_plugins_core_1.Flags.boolean({
202
+ summary: messages.getMessage('flags.logs.summary'),
203
+ char: 'l',
204
+ }),
205
+ session: sf_plugins_core_1.Flags.string({
206
+ summary: messages.getMessage('flags.session.summary'),
207
+ }),
208
+ instance: sf_plugins_core_1.Flags.string({
209
+ summary: messages.getMessage('flags.instance.summary'),
210
+ }),
211
+ };
212
+ ButlerPbExportpack.isLogsActive = false;
213
+ exports.default = ButlerPbExportpack;
214
+ //# sourceMappingURL=exportpack.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exportpack.js","sourceRoot":"","sources":["../../../../src/commands/butler/pb/exportpack.ts"],"names":[],"mappings":"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"}