Skip to content

Commit 5def376

Browse files
authored
Merge pull request #35 from Cmacu/master
Adding Push Folder to NetSuite
2 parents 76063c4 + f3325b4 commit 5def376

File tree

5 files changed

+56
-13
lines changed

5 files changed

+56
-13
lines changed

.vscode/settings.json

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,24 @@
11
// Place your settings in this file to overwrite default and user settings.
22
{
3-
// we want to use the TS server from our node_modules folder to control its version
4-
"typescript.tsdk": "./node_modules/typescript/lib",
3+
// we want to use the TS server from our node_modules folder to control its version
4+
"typescript.tsdk": "./node_modules/typescript/lib",
55

6-
// OAuth NetSuite Token ID
7-
"netSuiteUpload.netSuiteKey": "<INTEGRATION KEY>",
6+
// OAuth NetSuite Token ID
7+
"netSuiteUpload.netSuiteKey": "<INTEGRATION KEY>",
88

9-
// OAuth NetSuite Token Secret
10-
"netSuiteUpload.netSuiteSecret": "<INTEGRATION SECRET>",
9+
// OAuth NetSuite Token Secret
10+
"netSuiteUpload.netSuiteSecret": "<INTEGRATION SECRET>",
1111

12-
// OAuth NetSuite Consumer Key
13-
"netSuiteUpload.consumerToken": "<CONSUMER KEY>",
12+
// OAuth NetSuite Consumer Key
13+
"netSuiteUpload.consumerToken": "<CONSUMER KEY>",
1414

15-
// OAuth NetSuite Consumer Secret
16-
"netSuiteUpload.consumerSecret": "<CONSUMER SECRET>",
15+
// OAuth NetSuite Consumer Secret
16+
"netSuiteUpload.consumerSecret": "<CONSUMER SECRET>",
1717

18-
// Account number
19-
"netSuiteUpload.realm": "<ACCOUNT NUMBER>"
18+
// Account number
19+
"netSuiteUpload.realm": "<ACCOUNT NUMBER>",
20+
21+
"editor.tabSize": 4,
22+
"javascript.format.enable": false,
23+
"editor.detectIndentation": true
2024
}

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ Right-click a file or folder in the navigation panel to see the context menu opt
2323
- `Delete file in NetSuite` - deletes a file in NetSuite
2424
- `Compare file with NetSuite` - diff your local version with the NetSuite version
2525
- `Pull folder from NetSuite` - Download the folder and all contents from NetSuite
26+
- `Push folder to NetSuite` - Uploads the folder and all contents to NetSuite
2627

2728
![Snippet & commands](img/netsuite_upload.gif)
2829

bl/netSuiteBl.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -216,6 +216,12 @@ function addDependency(editor, pathText, paramText) {
216216
}
217217
}
218218

219+
function uploadDirectoryToNetSuite(directory) {
220+
// TODO: If needed add extension setting for exclude pattern
221+
vscode.workspace.findFiles(new vscode.RelativePattern(directory.path, '*.*')).then(files => files.forEach(file => uploadFileToNetSuite(file)));
222+
}
223+
224+
exports.uploadDirectoryToNetSuite = uploadDirectoryToNetSuite;
219225
exports.downloadFileFromNetSuite = downloadFileFromNetSuite;
220226
exports.previewFileFromNetSuite = previewFileFromNetSuite;
221227
exports.downloadDirectoryFromNetSuite = downloadDirectoryFromNetSuite;

extension.js

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,27 @@ function activate(context) {
7676
});
7777
context.subscriptions.push(deleteFileDisposable);
7878

79+
let uploadFolderDisposable = vscode.commands.registerCommand('netsuite-upload.uploadFolder', (directory) => {
80+
// Root SuiteScript folder has to be opened
81+
if (!vscode.workspace.workspaceFolders.length) {
82+
vscode.window.showErrorMessage(noProjectOpenedErrorMessage);
83+
return;
84+
}
85+
86+
if (!directory || !Object.keys(directory).length) {
87+
if (!vscode.window.activeTextEditor && !vscode.window.activeTextEditor.document.uri) {
88+
vscode.window.showErrorMessage(noFileSelectedErrorMessage);
89+
return;
90+
}
91+
else {
92+
let path = vscode.window.activeTextEditor.document.uri.path;
93+
directory = vscode.Uri.file(path.substring(0, path.lastIndexOf("/")));
94+
}
95+
}
96+
netSuiteBl.uploadDirectoryToNetSuite(directory);
97+
});
98+
context.subscriptions.push(uploadFolderDisposable);
99+
79100
let downloadFolderDisposable = vscode.commands.registerCommand('netsuite-upload.downloadFolder', (directory) => {
80101
if (!directory) {
81102
vscode.window.showErrorMessage('No directory selected.');

package.json

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
"onCommand:netsuite-upload.uploadFile",
2828
"onCommand:netsuite-upload.deleteFile",
2929
"onCommand:netsuite-upload.previewFile",
30+
"onCommand:netsuite-upload.uploadFolder",
3031
"onCommand:netsuite-upload.downloadFolder",
3132
"onCommand:netsuite-upload.addCustomDependency",
3233
"onCommand:netsuite-upload.addNSDependency",
@@ -97,6 +98,11 @@
9798
"title": "Delete file in NetSuite",
9899
"category": "NetSuite"
99100
},
101+
{
102+
"command": "netsuite-upload.uploadFolder",
103+
"title": "Push folder to NetSuite",
104+
"category": "NetSuite"
105+
},
100106
{
101107
"command": "netsuite-upload.downloadFolder",
102108
"title": "Pull folder from NetSuite",
@@ -140,6 +146,11 @@
140146
"command": "netsuite-upload.deleteFile",
141147
"group": "netsuite"
142148
},
149+
{
150+
"when": "explorerResourceIsFolder",
151+
"command": "netsuite-upload.uploadFolder",
152+
"group": "netsuite"
153+
},
143154
{
144155
"when": "explorerResourceIsFolder",
145156
"command": "netsuite-upload.downloadFolder",
@@ -186,4 +197,4 @@
186197
"superagent": "^5.1.0",
187198
"underscore": "1.9.1"
188199
}
189-
}
200+
}

0 commit comments

Comments
 (0)