@simplysf/simply-data 2.4.16 → 2.4.17
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 +3 -3
- package/lib/commands/simply/data/files/download.d.ts +10 -2
- package/lib/commands/simply/data/files/download.js +10 -2
- package/lib/commands/simply/data/files/download.js.map +1 -1
- package/lib/commands/simply/data/files/upload.d.ts +10 -2
- package/lib/commands/simply/data/files/upload.js +10 -7
- package/lib/commands/simply/data/files/upload.js.map +1 -1
- package/oclif.manifest.json +120 -120
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -78,7 +78,7 @@ FLAG DESCRIPTIONS
|
|
|
78
78
|
Setup and Configuration" permission — the command warns and proceeds rather than failing.
|
|
79
79
|
```
|
|
80
80
|
|
|
81
|
-
_See code: [lib/commands/simply/data/file/upload.js](https://github.com/SimplySF/simply-plugins/blob/@simplysf/simply-data@2.4.
|
|
81
|
+
_See code: [lib/commands/simply/data/file/upload.js](https://github.com/SimplySF/simply-plugins/blob/@simplysf/simply-data@2.4.17/packages/simply-data/lib/commands/simply/data/file/upload.js)_
|
|
82
82
|
|
|
83
83
|
## `sf simply data files download`
|
|
84
84
|
|
|
@@ -140,7 +140,7 @@ FLAG DESCRIPTIONS
|
|
|
140
140
|
Provide a WHERE clause to allow the plugin to specify which ContentVersion records should be downloaded.
|
|
141
141
|
```
|
|
142
142
|
|
|
143
|
-
_See code: [lib/commands/simply/data/files/download.js](https://github.com/SimplySF/simply-plugins/blob/@simplysf/simply-data@2.4.
|
|
143
|
+
_See code: [lib/commands/simply/data/files/download.js](https://github.com/SimplySF/simply-plugins/blob/@simplysf/simply-data@2.4.17/packages/simply-data/lib/commands/simply/data/files/download.js)_
|
|
144
144
|
|
|
145
145
|
## `sf simply data files upload`
|
|
146
146
|
|
|
@@ -206,7 +206,7 @@ FLAG DESCRIPTIONS
|
|
|
206
206
|
quasi concurrent uploads. Please note that setting this value too high can cause performance issues.
|
|
207
207
|
```
|
|
208
208
|
|
|
209
|
-
_See code: [lib/commands/simply/data/files/upload.js](https://github.com/SimplySF/simply-plugins/blob/@simplysf/simply-data@2.4.
|
|
209
|
+
_See code: [lib/commands/simply/data/files/upload.js](https://github.com/SimplySF/simply-plugins/blob/@simplysf/simply-data@2.4.17/packages/simply-data/lib/commands/simply/data/files/upload.js)_
|
|
210
210
|
<!-- commandsstop -->
|
|
211
211
|
|
|
212
212
|
## License
|
|
@@ -1,4 +1,11 @@
|
|
|
1
1
|
import { SfCommand } from '@salesforce/sf-plugins-core';
|
|
2
|
+
/** How many downloads succeeded and failed, and the CSVs each set was written to. */
|
|
3
|
+
export type DataFilesDownloadResult = {
|
|
4
|
+
successCount: number;
|
|
5
|
+
errorCount: number;
|
|
6
|
+
successFile: string;
|
|
7
|
+
errorFile: string;
|
|
8
|
+
};
|
|
2
9
|
/**
|
|
3
10
|
* Downloads files specified by a where clause for a `ContentVersion` query from a Salesforce
|
|
4
11
|
* org. By default, the plugin uses the REST API for the download to allow for the streaming of
|
|
@@ -7,7 +14,7 @@ import { SfCommand } from '@salesforce/sf-plugins-core';
|
|
|
7
14
|
* Successes and failures are written to `download/success.csv` and `download/error.csv`
|
|
8
15
|
* respectively as downloads complete, rather than accumulated in memory.
|
|
9
16
|
*/
|
|
10
|
-
export default class DataFilesDownload extends SfCommand<
|
|
17
|
+
export default class DataFilesDownload extends SfCommand<DataFilesDownloadResult> {
|
|
11
18
|
static readonly summary: string;
|
|
12
19
|
static readonly description: string;
|
|
13
20
|
static readonly examples: string[];
|
|
@@ -19,5 +26,6 @@ export default class DataFilesDownload extends SfCommand<void> {
|
|
|
19
26
|
'target-org': import("@oclif/core/interfaces").OptionFlag<import("@salesforce/core").Org>;
|
|
20
27
|
'flags-dir': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
21
28
|
};
|
|
22
|
-
|
|
29
|
+
/** @returns The success and error counts and the CSVs they were written to. */
|
|
30
|
+
run(): Promise<DataFilesDownloadResult>;
|
|
23
31
|
}
|
|
@@ -23,6 +23,8 @@ import { downloadContentVersion, REQUESTS_PER_DOWNLOAD, requestsForQuery, } from
|
|
|
23
23
|
import { apiBudgetFlags, assertApiBudget } from '../../../../common/apiBudgetFlag.js';
|
|
24
24
|
Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
|
|
25
25
|
const messages = Messages.loadMessages('@simplysf/simply-data', 'simply.data.files.download');
|
|
26
|
+
const SUCCESS_FILE = 'download/success.csv';
|
|
27
|
+
const ERROR_FILE = 'download/error.csv';
|
|
26
28
|
/**
|
|
27
29
|
* Downloads files specified by a where clause for a `ContentVersion` query from a Salesforce
|
|
28
30
|
* org. By default, the plugin uses the REST API for the download to allow for the streaming of
|
|
@@ -50,6 +52,7 @@ export default class DataFilesDownload extends SfCommand {
|
|
|
50
52
|
required: true,
|
|
51
53
|
}),
|
|
52
54
|
};
|
|
55
|
+
/** @returns The success and error counts and the CSVs they were written to. */
|
|
53
56
|
async run() {
|
|
54
57
|
const { flags } = await this.parse(DataFilesDownload);
|
|
55
58
|
// Authorize to the target org
|
|
@@ -68,7 +71,7 @@ export default class DataFilesDownload extends SfCommand {
|
|
|
68
71
|
if (!fs.existsSync('download')) {
|
|
69
72
|
fs.mkdirSync('download');
|
|
70
73
|
}
|
|
71
|
-
const successWriter = createCsvFileWriter(
|
|
74
|
+
const successWriter = createCsvFileWriter(SUCCESS_FILE, [
|
|
72
75
|
'Id',
|
|
73
76
|
'ContentDocumentId',
|
|
74
77
|
'ContentSize',
|
|
@@ -81,7 +84,7 @@ export default class DataFilesDownload extends SfCommand {
|
|
|
81
84
|
'Title',
|
|
82
85
|
'FilePath',
|
|
83
86
|
]);
|
|
84
|
-
const errorWriter = createCsvFileWriter(
|
|
87
|
+
const errorWriter = createCsvFileWriter(ERROR_FILE, [
|
|
85
88
|
'Id',
|
|
86
89
|
'ContentDocumentId',
|
|
87
90
|
'ContentSize',
|
|
@@ -97,6 +100,8 @@ export default class DataFilesDownload extends SfCommand {
|
|
|
97
100
|
this.spinner.start('Downloading files', '\n', { stdout: true });
|
|
98
101
|
const downloadQueue = new PQueue({ concurrency: flags['max-parallel-jobs'] });
|
|
99
102
|
let count = 0;
|
|
103
|
+
let successCount = 0;
|
|
104
|
+
let errorCount = 0;
|
|
100
105
|
downloadQueue.on('add', () => {
|
|
101
106
|
this.spinner.status = `Completed: ${count}. Size: ${downloadQueue.size} Pending: ${downloadQueue.pending}\n`;
|
|
102
107
|
});
|
|
@@ -109,16 +114,19 @@ export default class DataFilesDownload extends SfCommand {
|
|
|
109
114
|
try {
|
|
110
115
|
contentVersionDownload.FilePath = await downloadContentVersion(targetOrgConnection, contentVersionDownload, 'download');
|
|
111
116
|
await successWriter.write(contentVersionDownload);
|
|
117
|
+
successCount++;
|
|
112
118
|
}
|
|
113
119
|
catch (error) {
|
|
114
120
|
contentVersionDownload.Error = String(error);
|
|
115
121
|
await errorWriter.write(contentVersionDownload);
|
|
122
|
+
errorCount++;
|
|
116
123
|
}
|
|
117
124
|
});
|
|
118
125
|
}
|
|
119
126
|
await downloadQueue.onIdle();
|
|
120
127
|
await Promise.all([successWriter.end(), errorWriter.end()]);
|
|
121
128
|
this.spinner.stop();
|
|
129
|
+
return { successCount, errorCount, successFile: SUCCESS_FILE, errorFile: ERROR_FILE };
|
|
122
130
|
}
|
|
123
131
|
}
|
|
124
132
|
//# sourceMappingURL=download.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"download.js","sourceRoot":"","sources":["../../../../../src/commands/simply/data/files/download.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,MAAM,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,gBAAgB,GAEjB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAEtF,QAAQ,CAAC,kCAAkC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7D,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,uBAAuB,EAAE,4BAA4B,CAAC,CAAC;AAE9F;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,
|
|
1
|
+
{"version":3,"file":"download.js","sourceRoot":"","sources":["../../../../../src/commands/simply/data/files/download.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,11 @@
|
|
|
1
1
|
import { SfCommand } from '@salesforce/sf-plugins-core';
|
|
2
|
+
/** How many uploads succeeded and failed, and the CSVs each set was written to. */
|
|
3
|
+
export type DataFilesUploadResult = {
|
|
4
|
+
successCount: number;
|
|
5
|
+
errorCount: number;
|
|
6
|
+
successFile: string;
|
|
7
|
+
errorFile: string;
|
|
8
|
+
};
|
|
2
9
|
/**
|
|
3
10
|
* Uploads files specified by a CSV (columns: `PathOnClient`, `Title`,
|
|
4
11
|
* `FirstPublishLocationId`) to a Salesforce org. By default, the plugin uses the REST API for
|
|
@@ -8,7 +15,7 @@ import { SfCommand } from '@salesforce/sf-plugins-core';
|
|
|
8
15
|
* Successes and failures are written to `upload/success.csv` and `upload/error.csv`
|
|
9
16
|
* respectively as uploads complete, rather than accumulated in memory.
|
|
10
17
|
*/
|
|
11
|
-
export default class DataFilesUpload extends SfCommand<
|
|
18
|
+
export default class DataFilesUpload extends SfCommand<DataFilesUploadResult> {
|
|
12
19
|
static readonly summary: string;
|
|
13
20
|
static readonly description: string;
|
|
14
21
|
static readonly examples: string[];
|
|
@@ -20,5 +27,6 @@ export default class DataFilesUpload extends SfCommand<void> {
|
|
|
20
27
|
'target-org': import("@oclif/core/interfaces").OptionFlag<import("@salesforce/core").Org>;
|
|
21
28
|
'flags-dir': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
22
29
|
};
|
|
23
|
-
|
|
30
|
+
/** @returns The success and error counts and the CSVs they were written to. */
|
|
31
|
+
run(): Promise<DataFilesUploadResult>;
|
|
24
32
|
}
|
|
@@ -24,6 +24,8 @@ import { uploadContentVersion, countCsvRows, REQUESTS_PER_UPLOAD, } from '@simpl
|
|
|
24
24
|
import { apiBudgetFlags, assertApiBudget } from '../../../../common/apiBudgetFlag.js';
|
|
25
25
|
Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
|
|
26
26
|
const messages = Messages.loadMessages('@simplysf/simply-data', 'simply.data.files.upload');
|
|
27
|
+
const SUCCESS_FILE = 'upload/success.csv';
|
|
28
|
+
const ERROR_FILE = 'upload/error.csv';
|
|
27
29
|
/**
|
|
28
30
|
* Uploads files specified by a CSV (columns: `PathOnClient`, `Title`,
|
|
29
31
|
* `FirstPublishLocationId`) to a Salesforce org. By default, the plugin uses the REST API for
|
|
@@ -52,6 +54,7 @@ export default class DataFilesUpload extends SfCommand {
|
|
|
52
54
|
default: 1,
|
|
53
55
|
}),
|
|
54
56
|
};
|
|
57
|
+
/** @returns The success and error counts and the CSVs they were written to. */
|
|
55
58
|
async run() {
|
|
56
59
|
const { flags } = await this.parse(DataFilesUpload);
|
|
57
60
|
// Authorize to the target org
|
|
@@ -65,23 +68,20 @@ export default class DataFilesUpload extends SfCommand {
|
|
|
65
68
|
if (!fs.existsSync('upload')) {
|
|
66
69
|
fs.mkdirSync('upload');
|
|
67
70
|
}
|
|
68
|
-
const successWriter = createCsvFileWriter(
|
|
71
|
+
const successWriter = createCsvFileWriter(SUCCESS_FILE, [
|
|
69
72
|
'PathOnClient',
|
|
70
73
|
'Title',
|
|
71
74
|
'FirstPublishLocationId',
|
|
72
75
|
'ContentDocumentId',
|
|
73
76
|
]);
|
|
74
|
-
const errorWriter = createCsvFileWriter('
|
|
75
|
-
'PathOnClient',
|
|
76
|
-
'Title',
|
|
77
|
-
'FirstPublishLocationId',
|
|
78
|
-
'Error',
|
|
79
|
-
]);
|
|
77
|
+
const errorWriter = createCsvFileWriter(ERROR_FILE, ['PathOnClient', 'Title', 'FirstPublishLocationId', 'Error']);
|
|
80
78
|
this.spinner.stop();
|
|
81
79
|
const fileQueue = new PQueue({ concurrency: flags['max-parallel-jobs'] });
|
|
82
80
|
const parser = fs.createReadStream(flags['file-path']).pipe(parse({ bom: true, columns: true }));
|
|
83
81
|
this.spinner.start('Uploading files', 'Initializing', { stdout: true });
|
|
84
82
|
let count = 0;
|
|
83
|
+
let successCount = 0;
|
|
84
|
+
let errorCount = 0;
|
|
85
85
|
fileQueue.on('add', () => {
|
|
86
86
|
this.spinner.status = `Completed: ${count}. Size: ${fileQueue.size} Pending: ${fileQueue.pending}`;
|
|
87
87
|
});
|
|
@@ -96,16 +96,19 @@ export default class DataFilesUpload extends SfCommand {
|
|
|
96
96
|
const contentVersion = await uploadContentVersion(targetOrgConnection, contentVersionToUpload.PathOnClient, contentVersionToUpload.Title, contentVersionToUpload.FirstPublishLocationId);
|
|
97
97
|
contentVersionToUpload.ContentDocumentId = contentVersion.ContentDocumentId;
|
|
98
98
|
await successWriter.write(contentVersionToUpload);
|
|
99
|
+
successCount++;
|
|
99
100
|
}
|
|
100
101
|
catch (error) {
|
|
101
102
|
contentVersionToUpload.Error = String(error);
|
|
102
103
|
await errorWriter.write(contentVersionToUpload);
|
|
104
|
+
errorCount++;
|
|
103
105
|
}
|
|
104
106
|
});
|
|
105
107
|
}
|
|
106
108
|
await fileQueue.onIdle();
|
|
107
109
|
await Promise.all([successWriter.end(), errorWriter.end()]);
|
|
108
110
|
this.spinner.stop();
|
|
111
|
+
return { successCount, errorCount, successFile: SUCCESS_FILE, errorFile: ERROR_FILE };
|
|
109
112
|
}
|
|
110
113
|
}
|
|
111
114
|
//# sourceMappingURL=upload.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload.js","sourceRoot":"","sources":["../../../../../src/commands/simply/data/files/upload.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAClC,OAAO,MAAM,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EACL,oBAAoB,EACpB,YAAY,EACZ,mBAAmB,GAEpB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAEtF,QAAQ,CAAC,kCAAkC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7D,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,uBAAuB,EAAE,0BAA0B,CAAC,CAAC;AAE5F;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,
|
|
1
|
+
{"version":3,"file":"upload.js","sourceRoot":"","sources":["../../../../../src/commands/simply/data/files/upload.ts"],"names":[],"mappings":"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"}
|
package/oclif.manifest.json
CHANGED
|
@@ -1,124 +1,5 @@
|
|
|
1
1
|
{
|
|
2
2
|
"commands": {
|
|
3
|
-
"simply:data:file:upload": {
|
|
4
|
-
"aliases": [],
|
|
5
|
-
"args": {},
|
|
6
|
-
"description": "Uploads a file to a Salesforce org.\n\nOnly the file's name is sent to the org — Salesforce stores it as the ContentVersion's PathOnClient and derives FileExtension and FileType from it — so the local directory the file came from is never uploaded.",
|
|
7
|
-
"examples": [
|
|
8
|
-
"<%= config.bin %> <%= command.id %> --file-path fileToUpload.txt --target-org myTargetOrg",
|
|
9
|
-
"<%= config.bin %> <%= command.id %> --file-path fileToUpload.txt --first-publish-location-id 0019000000DmehK --target-org myTargetOrg"
|
|
10
|
-
],
|
|
11
|
-
"flags": {
|
|
12
|
-
"json": {
|
|
13
|
-
"description": "Format output as json.",
|
|
14
|
-
"helpGroup": "GLOBAL",
|
|
15
|
-
"name": "json",
|
|
16
|
-
"allowNo": false,
|
|
17
|
-
"type": "boolean"
|
|
18
|
-
},
|
|
19
|
-
"flags-dir": {
|
|
20
|
-
"helpGroup": "GLOBAL",
|
|
21
|
-
"name": "flags-dir",
|
|
22
|
-
"summary": "Import flag values from a directory.",
|
|
23
|
-
"hasDynamicHelp": false,
|
|
24
|
-
"multiple": false,
|
|
25
|
-
"type": "option"
|
|
26
|
-
},
|
|
27
|
-
"api-version": {
|
|
28
|
-
"description": "Override the api version used for api requests made by this command",
|
|
29
|
-
"name": "api-version",
|
|
30
|
-
"hasDynamicHelp": false,
|
|
31
|
-
"multiple": false,
|
|
32
|
-
"type": "option"
|
|
33
|
-
},
|
|
34
|
-
"target-org": {
|
|
35
|
-
"char": "o",
|
|
36
|
-
"name": "target-org",
|
|
37
|
-
"noCacheDefault": true,
|
|
38
|
-
"required": true,
|
|
39
|
-
"summary": "Username or alias of the target org. Not required if the `target-org` configuration variable is already set.",
|
|
40
|
-
"hasDynamicHelp": true,
|
|
41
|
-
"multiple": false,
|
|
42
|
-
"type": "option"
|
|
43
|
-
},
|
|
44
|
-
"max-api-usage": {
|
|
45
|
-
"description": "Checked before any request is made, so a run that would exceed its budget stops without doing partial work. The percentage applies to the requests the org has left today, not to its daily maximum — an org that has already used most of its allocation gets a proportionally smaller budget.\n\nNote that uploading a file costs two API requests, not one: the upload itself, and a follow-up query for the resulting ContentDocumentId.\n\nA run that cannot finish within the org's remaining requests is refused regardless of this value. To allow a larger share, raise it; to allow the maximum, pass 100.\n\nIf the org's remaining allocation can't be read — reading it falls back to the limits API, which needs the \"View Setup and Configuration\" permission — the command warns and proceeds rather than failing.",
|
|
46
|
-
"name": "max-api-usage",
|
|
47
|
-
"summary": "Maximum percentage of the org's remaining API requests this run may consume.",
|
|
48
|
-
"default": 20,
|
|
49
|
-
"hasDynamicHelp": false,
|
|
50
|
-
"multiple": false,
|
|
51
|
-
"type": "option"
|
|
52
|
-
},
|
|
53
|
-
"file-path": {
|
|
54
|
-
"name": "file-path",
|
|
55
|
-
"required": true,
|
|
56
|
-
"summary": "Path to the file to upload. May be relative or absolute; only the file's name is sent to the org.",
|
|
57
|
-
"hasDynamicHelp": false,
|
|
58
|
-
"multiple": false,
|
|
59
|
-
"type": "option"
|
|
60
|
-
},
|
|
61
|
-
"first-publish-location-id": {
|
|
62
|
-
"name": "first-publish-location-id",
|
|
63
|
-
"summary": "Specify a record Id that the file should be linked to.",
|
|
64
|
-
"hasDynamicHelp": false,
|
|
65
|
-
"multiple": false,
|
|
66
|
-
"type": "option"
|
|
67
|
-
},
|
|
68
|
-
"title": {
|
|
69
|
-
"name": "title",
|
|
70
|
-
"summary": "Specify the title for the file being uploaded.",
|
|
71
|
-
"hasDynamicHelp": false,
|
|
72
|
-
"multiple": false,
|
|
73
|
-
"type": "option"
|
|
74
|
-
}
|
|
75
|
-
},
|
|
76
|
-
"hasDynamicHelp": true,
|
|
77
|
-
"hiddenAliases": [],
|
|
78
|
-
"id": "simply:data:file:upload",
|
|
79
|
-
"pluginAlias": "@simplysf/simply-data",
|
|
80
|
-
"pluginName": "@simplysf/simply-data",
|
|
81
|
-
"pluginType": "core",
|
|
82
|
-
"strict": true,
|
|
83
|
-
"summary": "Upload a file to a Salesforce org.",
|
|
84
|
-
"enableJsonFlag": true,
|
|
85
|
-
"isESM": true,
|
|
86
|
-
"relativePath": [
|
|
87
|
-
"lib",
|
|
88
|
-
"commands",
|
|
89
|
-
"simply",
|
|
90
|
-
"data",
|
|
91
|
-
"file",
|
|
92
|
-
"upload.js"
|
|
93
|
-
],
|
|
94
|
-
"aliasPermutations": [],
|
|
95
|
-
"permutations": [
|
|
96
|
-
"simply:data:file:upload",
|
|
97
|
-
"data:simply:file:upload",
|
|
98
|
-
"data:file:simply:upload",
|
|
99
|
-
"data:file:upload:simply",
|
|
100
|
-
"simply:file:data:upload",
|
|
101
|
-
"file:simply:data:upload",
|
|
102
|
-
"file:data:simply:upload",
|
|
103
|
-
"file:data:upload:simply",
|
|
104
|
-
"simply:file:upload:data",
|
|
105
|
-
"file:simply:upload:data",
|
|
106
|
-
"file:upload:simply:data",
|
|
107
|
-
"file:upload:data:simply",
|
|
108
|
-
"simply:data:upload:file",
|
|
109
|
-
"data:simply:upload:file",
|
|
110
|
-
"data:upload:simply:file",
|
|
111
|
-
"data:upload:file:simply",
|
|
112
|
-
"simply:upload:data:file",
|
|
113
|
-
"upload:simply:data:file",
|
|
114
|
-
"upload:data:simply:file",
|
|
115
|
-
"upload:data:file:simply",
|
|
116
|
-
"simply:upload:file:data",
|
|
117
|
-
"upload:simply:file:data",
|
|
118
|
-
"upload:file:simply:data",
|
|
119
|
-
"upload:file:data:simply"
|
|
120
|
-
]
|
|
121
|
-
},
|
|
122
3
|
"simply:data:files:download": {
|
|
123
4
|
"aliases": [],
|
|
124
5
|
"args": {},
|
|
@@ -348,7 +229,126 @@
|
|
|
348
229
|
"upload:files:simply:data",
|
|
349
230
|
"upload:files:data:simply"
|
|
350
231
|
]
|
|
232
|
+
},
|
|
233
|
+
"simply:data:file:upload": {
|
|
234
|
+
"aliases": [],
|
|
235
|
+
"args": {},
|
|
236
|
+
"description": "Uploads a file to a Salesforce org.\n\nOnly the file's name is sent to the org — Salesforce stores it as the ContentVersion's PathOnClient and derives FileExtension and FileType from it — so the local directory the file came from is never uploaded.",
|
|
237
|
+
"examples": [
|
|
238
|
+
"<%= config.bin %> <%= command.id %> --file-path fileToUpload.txt --target-org myTargetOrg",
|
|
239
|
+
"<%= config.bin %> <%= command.id %> --file-path fileToUpload.txt --first-publish-location-id 0019000000DmehK --target-org myTargetOrg"
|
|
240
|
+
],
|
|
241
|
+
"flags": {
|
|
242
|
+
"json": {
|
|
243
|
+
"description": "Format output as json.",
|
|
244
|
+
"helpGroup": "GLOBAL",
|
|
245
|
+
"name": "json",
|
|
246
|
+
"allowNo": false,
|
|
247
|
+
"type": "boolean"
|
|
248
|
+
},
|
|
249
|
+
"flags-dir": {
|
|
250
|
+
"helpGroup": "GLOBAL",
|
|
251
|
+
"name": "flags-dir",
|
|
252
|
+
"summary": "Import flag values from a directory.",
|
|
253
|
+
"hasDynamicHelp": false,
|
|
254
|
+
"multiple": false,
|
|
255
|
+
"type": "option"
|
|
256
|
+
},
|
|
257
|
+
"api-version": {
|
|
258
|
+
"description": "Override the api version used for api requests made by this command",
|
|
259
|
+
"name": "api-version",
|
|
260
|
+
"hasDynamicHelp": false,
|
|
261
|
+
"multiple": false,
|
|
262
|
+
"type": "option"
|
|
263
|
+
},
|
|
264
|
+
"target-org": {
|
|
265
|
+
"char": "o",
|
|
266
|
+
"name": "target-org",
|
|
267
|
+
"noCacheDefault": true,
|
|
268
|
+
"required": true,
|
|
269
|
+
"summary": "Username or alias of the target org. Not required if the `target-org` configuration variable is already set.",
|
|
270
|
+
"hasDynamicHelp": true,
|
|
271
|
+
"multiple": false,
|
|
272
|
+
"type": "option"
|
|
273
|
+
},
|
|
274
|
+
"max-api-usage": {
|
|
275
|
+
"description": "Checked before any request is made, so a run that would exceed its budget stops without doing partial work. The percentage applies to the requests the org has left today, not to its daily maximum — an org that has already used most of its allocation gets a proportionally smaller budget.\n\nNote that uploading a file costs two API requests, not one: the upload itself, and a follow-up query for the resulting ContentDocumentId.\n\nA run that cannot finish within the org's remaining requests is refused regardless of this value. To allow a larger share, raise it; to allow the maximum, pass 100.\n\nIf the org's remaining allocation can't be read — reading it falls back to the limits API, which needs the \"View Setup and Configuration\" permission — the command warns and proceeds rather than failing.",
|
|
276
|
+
"name": "max-api-usage",
|
|
277
|
+
"summary": "Maximum percentage of the org's remaining API requests this run may consume.",
|
|
278
|
+
"default": 20,
|
|
279
|
+
"hasDynamicHelp": false,
|
|
280
|
+
"multiple": false,
|
|
281
|
+
"type": "option"
|
|
282
|
+
},
|
|
283
|
+
"file-path": {
|
|
284
|
+
"name": "file-path",
|
|
285
|
+
"required": true,
|
|
286
|
+
"summary": "Path to the file to upload. May be relative or absolute; only the file's name is sent to the org.",
|
|
287
|
+
"hasDynamicHelp": false,
|
|
288
|
+
"multiple": false,
|
|
289
|
+
"type": "option"
|
|
290
|
+
},
|
|
291
|
+
"first-publish-location-id": {
|
|
292
|
+
"name": "first-publish-location-id",
|
|
293
|
+
"summary": "Specify a record Id that the file should be linked to.",
|
|
294
|
+
"hasDynamicHelp": false,
|
|
295
|
+
"multiple": false,
|
|
296
|
+
"type": "option"
|
|
297
|
+
},
|
|
298
|
+
"title": {
|
|
299
|
+
"name": "title",
|
|
300
|
+
"summary": "Specify the title for the file being uploaded.",
|
|
301
|
+
"hasDynamicHelp": false,
|
|
302
|
+
"multiple": false,
|
|
303
|
+
"type": "option"
|
|
304
|
+
}
|
|
305
|
+
},
|
|
306
|
+
"hasDynamicHelp": true,
|
|
307
|
+
"hiddenAliases": [],
|
|
308
|
+
"id": "simply:data:file:upload",
|
|
309
|
+
"pluginAlias": "@simplysf/simply-data",
|
|
310
|
+
"pluginName": "@simplysf/simply-data",
|
|
311
|
+
"pluginType": "core",
|
|
312
|
+
"strict": true,
|
|
313
|
+
"summary": "Upload a file to a Salesforce org.",
|
|
314
|
+
"enableJsonFlag": true,
|
|
315
|
+
"isESM": true,
|
|
316
|
+
"relativePath": [
|
|
317
|
+
"lib",
|
|
318
|
+
"commands",
|
|
319
|
+
"simply",
|
|
320
|
+
"data",
|
|
321
|
+
"file",
|
|
322
|
+
"upload.js"
|
|
323
|
+
],
|
|
324
|
+
"aliasPermutations": [],
|
|
325
|
+
"permutations": [
|
|
326
|
+
"simply:data:file:upload",
|
|
327
|
+
"data:simply:file:upload",
|
|
328
|
+
"data:file:simply:upload",
|
|
329
|
+
"data:file:upload:simply",
|
|
330
|
+
"simply:file:data:upload",
|
|
331
|
+
"file:simply:data:upload",
|
|
332
|
+
"file:data:simply:upload",
|
|
333
|
+
"file:data:upload:simply",
|
|
334
|
+
"simply:file:upload:data",
|
|
335
|
+
"file:simply:upload:data",
|
|
336
|
+
"file:upload:simply:data",
|
|
337
|
+
"file:upload:data:simply",
|
|
338
|
+
"simply:data:upload:file",
|
|
339
|
+
"data:simply:upload:file",
|
|
340
|
+
"data:upload:simply:file",
|
|
341
|
+
"data:upload:file:simply",
|
|
342
|
+
"simply:upload:data:file",
|
|
343
|
+
"upload:simply:data:file",
|
|
344
|
+
"upload:data:simply:file",
|
|
345
|
+
"upload:data:file:simply",
|
|
346
|
+
"simply:upload:file:data",
|
|
347
|
+
"upload:simply:file:data",
|
|
348
|
+
"upload:file:simply:data",
|
|
349
|
+
"upload:file:data:simply"
|
|
350
|
+
]
|
|
351
351
|
}
|
|
352
352
|
},
|
|
353
|
-
"version": "2.4.
|
|
353
|
+
"version": "2.4.17"
|
|
354
354
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@simplysf/simply-data",
|
|
3
3
|
"description": "Utilities for working with data",
|
|
4
|
-
"version": "2.4.
|
|
4
|
+
"version": "2.4.17",
|
|
5
5
|
"author": "@ClayChipps",
|
|
6
6
|
"homepage": "https://github.com/SimplySF/simply-plugins",
|
|
7
7
|
"bugs": "https://github.com/SimplySF/simply-plugins/issues",
|
|
@@ -206,5 +206,5 @@
|
|
|
206
206
|
"output": []
|
|
207
207
|
}
|
|
208
208
|
},
|
|
209
|
-
"gitHead": "
|
|
209
|
+
"gitHead": "7bd4cc96688ad9379ae8440a6a945f61d1d004bc"
|
|
210
210
|
}
|