@activepieces/piece-sftp 0.2.5 → 0.2.6

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.
Files changed (33) hide show
  1. package/package.json +9 -7
  2. package/src/index.d.ts +14 -1
  3. package/src/index.js +89 -22
  4. package/src/index.js.map +1 -1
  5. package/src/lib/actions/create-file.d.ts +1 -0
  6. package/src/lib/actions/create-file.js +39 -21
  7. package/src/lib/actions/create-file.js.map +1 -1
  8. package/src/lib/actions/create-folder.d.ts +1 -0
  9. package/src/lib/actions/create-folder.js +15 -13
  10. package/src/lib/actions/create-folder.js.map +1 -1
  11. package/src/lib/actions/delete-file.d.ts +1 -0
  12. package/src/lib/actions/delete-file.js +26 -14
  13. package/src/lib/actions/delete-file.js.map +1 -1
  14. package/src/lib/actions/delete-folder.d.ts +1 -0
  15. package/src/lib/actions/delete-folder.js +31 -14
  16. package/src/lib/actions/delete-folder.js.map +1 -1
  17. package/src/lib/actions/{list.d.ts → list-files.d.ts} +1 -0
  18. package/src/lib/actions/list-files.js +81 -0
  19. package/src/lib/actions/list-files.js.map +1 -0
  20. package/src/lib/actions/read-file.d.ts +1 -0
  21. package/src/lib/actions/read-file.js +52 -18
  22. package/src/lib/actions/read-file.js.map +1 -1
  23. package/src/lib/actions/rename-file-or-folder.d.ts +2 -0
  24. package/src/lib/actions/rename-file-or-folder.js +30 -12
  25. package/src/lib/actions/rename-file-or-folder.js.map +1 -1
  26. package/src/lib/actions/upload-file.d.ts +1 -0
  27. package/src/lib/actions/upload-file.js +35 -23
  28. package/src/lib/actions/upload-file.js.map +1 -1
  29. package/src/lib/triggers/new-modified-file.d.ts +3 -0
  30. package/src/lib/triggers/new-modified-file.js +33 -44
  31. package/src/lib/triggers/new-modified-file.js.map +1 -1
  32. package/src/lib/actions/list.js +0 -52
  33. package/src/lib/actions/list.js.map +0 -1
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.listFolderContentsAction = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const index_1 = require("../../index");
6
+ const pieces_framework_1 = require("@activepieces/pieces-framework");
7
+ const __1 = require("../..");
8
+ function listSFTP(client, directoryPath) {
9
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
10
+ const contents = yield client.list(directoryPath);
11
+ yield client.end();
12
+ return contents;
13
+ });
14
+ }
15
+ function listFTP(client, directoryPath) {
16
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
17
+ const contents = yield client.list(directoryPath);
18
+ return contents.map(item => ({
19
+ type: item.type === 1 ? 'd' : '-',
20
+ name: item.name,
21
+ size: item.size,
22
+ modifyTime: item.modifiedAt,
23
+ accessTime: item.modifiedAt, // FTP doesn't provide access time
24
+ rights: {
25
+ user: item.permissions || '',
26
+ group: '',
27
+ other: ''
28
+ },
29
+ owner: '',
30
+ group: ''
31
+ }));
32
+ });
33
+ }
34
+ exports.listFolderContentsAction = (0, pieces_framework_1.createAction)({
35
+ auth: index_1.sftpAuth,
36
+ name: 'listFolderContents',
37
+ displayName: 'List Folder Contents',
38
+ description: 'Lists the contents of a given folder.',
39
+ props: {
40
+ directoryPath: pieces_framework_1.Property.ShortText({
41
+ displayName: 'Directory Path',
42
+ required: true,
43
+ description: 'The path of the folder to list e.g. `./myfolder`',
44
+ }),
45
+ },
46
+ run(context) {
47
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
48
+ const client = yield (0, __1.getClient)(context.auth);
49
+ const directoryPath = context.propsValue.directoryPath;
50
+ const protocolBackwardCompatibility = yield (0, __1.getProtocolBackwardCompatibility)(context.auth.protocol);
51
+ try {
52
+ let contents;
53
+ switch (protocolBackwardCompatibility) {
54
+ case 'ftps':
55
+ case 'ftp':
56
+ contents = yield listFTP(client, directoryPath);
57
+ break;
58
+ default:
59
+ case 'sftp':
60
+ contents = yield listSFTP(client, directoryPath);
61
+ break;
62
+ }
63
+ return {
64
+ status: 'success',
65
+ contents: contents,
66
+ };
67
+ }
68
+ catch (err) {
69
+ return {
70
+ status: 'error',
71
+ contents: null,
72
+ error: err,
73
+ };
74
+ }
75
+ finally {
76
+ yield (0, index_1.endClient)(client, context.auth.protocol);
77
+ }
78
+ });
79
+ },
80
+ });
81
+ //# sourceMappingURL=list-files.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-files.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/sftp/src/lib/actions/list-files.ts"],"names":[],"mappings":";;;;AAAA,uCAAkD;AAClD,qEAAwE;AAGxE,6BAAoE;AAEpE,SAAe,QAAQ,CAAC,MAAc,EAAE,aAAqB;;QAC3D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAClD,MAAM,MAAM,CAAC,GAAG,EAAE,CAAC;QACnB,OAAO,QAAQ,CAAC;IAClB,CAAC;CAAA;AAED,SAAe,OAAO,CAAC,MAAiB,EAAE,aAAqB;;QAC7D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAClD,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC3B,IAAI,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;YACjC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,UAAU,EAAE,IAAI,CAAC,UAAU,EAAG,kCAAkC;YAChE,MAAM,EAAE;gBACN,IAAI,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE;gBAC5B,KAAK,EAAE,EAAE;gBACT,KAAK,EAAE,EAAE;aACV;YACD,KAAK,EAAE,EAAE;YACT,KAAK,EAAE,EAAE;SACV,CAAC,CAAC,CAAC;IACN,CAAC;CAAA;AAEY,QAAA,wBAAwB,GAAG,IAAA,+BAAY,EAAC;IACnD,IAAI,EAAE,gBAAQ;IACd,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EAAE,sBAAsB;IACnC,WAAW,EAAE,uCAAuC;IACpD,KAAK,EAAE;QACL,aAAa,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAChC,WAAW,EAAE,gBAAgB;YAC7B,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,kDAAkD;SAChE,CAAC;KACH;IACK,GAAG,CAAC,OAAO;;YACf,MAAM,MAAM,GAAG,MAAM,IAAA,aAAS,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC7C,MAAM,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC;YACvD,MAAM,6BAA6B,GAAG,MAAM,IAAA,oCAAgC,EAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACpG,IAAI,CAAC;gBACH,IAAI,QAAQ,CAAC;gBACb,QAAQ,6BAA6B,EAAE,CAAC;oBACtC,KAAK,MAAM,CAAC;oBACZ,KAAK,KAAK;wBACR,QAAQ,GAAG,MAAM,OAAO,CAAC,MAAmB,EAAE,aAAa,CAAC,CAAC;wBAC7D,MAAM;oBACR,QAAQ;oBACR,KAAK,MAAM;wBACT,QAAQ,GAAG,MAAM,QAAQ,CAAC,MAAgB,EAAE,aAAa,CAAC,CAAC;wBAC3D,MAAM;gBACV,CAAC;gBAED,OAAO;oBACL,MAAM,EAAE,SAAS;oBACjB,QAAQ,EAAE,QAAQ;iBACnB,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO;oBACL,MAAM,EAAE,OAAO;oBACf,QAAQ,EAAE,IAAI;oBACd,KAAK,EAAE,GAAG;iBACX,CAAC;YACJ,CAAC;oBAAS,CAAC;gBACT,MAAM,IAAA,iBAAS,EAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;KAAA;CACF,CAAC,CAAC"}
@@ -1,4 +1,5 @@
1
1
  export declare const readFileContent: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").CustomAuthProperty<{
2
+ protocol: import("@activepieces/pieces-framework").StaticDropdownProperty<string, false>;
2
3
  host: import("@activepieces/pieces-framework").ShortTextProperty<true>;
3
4
  port: import("@activepieces/pieces-framework").NumberProperty<true>;
4
5
  username: import("@activepieces/pieces-framework").ShortTextProperty<true>;
@@ -4,7 +4,28 @@ exports.readFileContent = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const index_1 = require("../../index");
6
6
  const pieces_framework_1 = require("@activepieces/pieces-framework");
7
- const ssh2_sftp_client_1 = tslib_1.__importDefault(require("ssh2-sftp-client"));
7
+ const __1 = require("../..");
8
+ const stream_1 = require("stream");
9
+ function readFTP(client, filePath) {
10
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
11
+ const chunks = [];
12
+ const writeStream = new stream_1.Writable({
13
+ write(chunk, _encoding, callback) {
14
+ chunks.push(chunk);
15
+ callback();
16
+ }
17
+ });
18
+ yield client.downloadTo(writeStream, filePath);
19
+ return Buffer.concat(chunks);
20
+ });
21
+ }
22
+ function readSFTP(client, filePath) {
23
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
24
+ const fileContent = yield client.get(filePath);
25
+ yield client.end();
26
+ return fileContent;
27
+ });
28
+ }
8
29
  exports.readFileContent = (0, pieces_framework_1.createAction)({
9
30
  auth: index_1.sftpAuth,
10
31
  name: 'read_file_content',
@@ -19,25 +40,38 @@ exports.readFileContent = (0, pieces_framework_1.createAction)({
19
40
  run(context) {
20
41
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
21
42
  var _a;
22
- const { host, port, username, password } = context.auth;
43
+ const client = yield (0, __1.getClient)(context.auth);
23
44
  const filePath = context.propsValue['filePath'];
24
- const sftp = new ssh2_sftp_client_1.default();
25
- yield sftp.connect({
26
- host,
27
- port,
28
- username,
29
- password,
30
- readyTimeout: 15000,
31
- });
32
- const fileContent = yield sftp.get(filePath);
33
45
  const fileName = (_a = filePath.split('/').pop()) !== null && _a !== void 0 ? _a : filePath;
34
- yield sftp.end();
35
- return {
36
- file: yield context.files.write({
37
- fileName: fileName,
38
- data: fileContent,
39
- }),
40
- };
46
+ const protocolBackwardCompatibility = yield (0, __1.getProtocolBackwardCompatibility)(context.auth.protocol);
47
+ try {
48
+ let fileContent;
49
+ switch (protocolBackwardCompatibility) {
50
+ case 'ftps':
51
+ case 'ftp':
52
+ fileContent = yield readFTP(client, filePath);
53
+ break;
54
+ default:
55
+ case 'sftp':
56
+ fileContent = yield readSFTP(client, filePath);
57
+ break;
58
+ }
59
+ return {
60
+ file: yield context.files.write({
61
+ fileName: fileName,
62
+ data: fileContent,
63
+ }),
64
+ };
65
+ }
66
+ catch (err) {
67
+ return {
68
+ success: false,
69
+ error: err,
70
+ };
71
+ }
72
+ finally {
73
+ yield (0, index_1.endClient)(client, context.auth.protocol);
74
+ }
41
75
  });
42
76
  },
43
77
  });
@@ -1 +1 @@
1
- {"version":3,"file":"read-file.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/sftp/src/lib/actions/read-file.ts"],"names":[],"mappings":";;;;AAAA,uCAAuC;AACvC,qEAAwE;AACxE,gFAAsC;AAEzB,QAAA,eAAe,GAAG,IAAA,+BAAY,EAAC;IAC1C,IAAI,EAAE,gBAAQ;IACd,IAAI,EAAE,mBAAmB;IACzB,WAAW,EAAE,mBAAmB;IAChC,WAAW,EAAE,6BAA6B;IAC1C,KAAK,EAAE;QACL,QAAQ,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC3B,WAAW,EAAE,WAAW;YACxB,QAAQ,EAAE,IAAI;SACf,CAAC;KACH;IACK,GAAG,CAAC,OAAO;;;YACf,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;YACxD,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YAChD,MAAM,IAAI,GAAG,IAAI,0BAAM,EAAE,CAAC;YAE1B,MAAM,IAAI,CAAC,OAAO,CAAC;gBACjB,IAAI;gBACJ,IAAI;gBACJ,QAAQ;gBACR,QAAQ;gBACR,YAAY,EAAE,KAAK;aACpB,CAAC,CAAC;YAEH,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC7C,MAAM,QAAQ,GAAG,MAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,mCAAI,QAAQ,CAAC;YACvD,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;YAEjB,OAAO;gBACL,IAAI,EAAE,MAAM,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;oBAC9B,QAAQ,EAAE,QAAQ;oBAClB,IAAI,EAAE,WAAqB;iBAC5B,CAAC;aACH,CAAC;QACJ,CAAC;KAAA;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"read-file.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/sftp/src/lib/actions/read-file.ts"],"names":[],"mappings":";;;;AAAA,uCAAkD;AAClD,qEAAwE;AAGxE,6BAAoE;AACpE,mCAAkC;AAElC,SAAe,OAAO,CAAC,MAAiB,EAAE,QAAgB;;QACxD,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM,WAAW,GAAG,IAAI,iBAAQ,CAAC;YAC/B,KAAK,CAAC,KAAa,EAAE,SAAiB,EAAE,QAAoB;gBAC1D,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACnB,QAAQ,EAAE,CAAC;YACb,CAAC;SACF,CAAC,CAAC;QACH,MAAM,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAC/C,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;CAAA;AAED,SAAe,QAAQ,CAAC,MAAc,EAAE,QAAgB;;QACtD,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC/C,MAAM,MAAM,CAAC,GAAG,EAAE,CAAC;QACnB,OAAO,WAAqB,CAAC;IAC/B,CAAC;CAAA;AAEY,QAAA,eAAe,GAAG,IAAA,+BAAY,EAAC;IAC1C,IAAI,EAAE,gBAAQ;IACd,IAAI,EAAE,mBAAmB;IACzB,WAAW,EAAE,mBAAmB;IAChC,WAAW,EAAE,6BAA6B;IAC1C,KAAK,EAAE;QACL,QAAQ,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC3B,WAAW,EAAE,WAAW;YACxB,QAAQ,EAAE,IAAI;SACf,CAAC;KACH;IACK,GAAG,CAAC,OAAO;;;YACf,MAAM,MAAM,GAAG,MAAM,IAAA,aAAS,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC7C,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YAChD,MAAM,QAAQ,GAAG,MAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,mCAAI,QAAQ,CAAC;YACvD,MAAM,6BAA6B,GAAG,MAAM,IAAA,oCAAgC,EAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACpG,IAAI,CAAC;gBACH,IAAI,WAAmB,CAAC;gBACxB,QAAQ,6BAA6B,EAAE,CAAC;oBACtC,KAAK,MAAM,CAAC;oBACZ,KAAK,KAAK;wBACR,WAAW,GAAG,MAAM,OAAO,CAAC,MAAmB,EAAE,QAAQ,CAAC,CAAC;wBAC3D,MAAM;oBACR,QAAQ;oBACR,KAAK,MAAM;wBACT,WAAW,GAAG,MAAM,QAAQ,CAAC,MAAgB,EAAE,QAAQ,CAAC,CAAC;wBACzD,MAAM;gBACV,CAAC;gBAED,OAAO;oBACL,IAAI,EAAE,MAAM,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;wBAC9B,QAAQ,EAAE,QAAQ;wBAClB,IAAI,EAAE,WAAW;qBAClB,CAAC;iBACH,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,GAAG;iBACX,CAAC;YACJ,CAAC;oBAAS,CAAC;gBACT,MAAM,IAAA,iBAAS,EAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;KAAA;CACF,CAAC,CAAC"}
@@ -1,9 +1,11 @@
1
1
  export declare const renameFileOrFolderAction: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").CustomAuthProperty<{
2
+ protocol: import("@activepieces/pieces-framework").StaticDropdownProperty<string, false>;
2
3
  host: import("@activepieces/pieces-framework").ShortTextProperty<true>;
3
4
  port: import("@activepieces/pieces-framework").NumberProperty<true>;
4
5
  username: import("@activepieces/pieces-framework").ShortTextProperty<true>;
5
6
  password: import("@activepieces/pieces-framework").SecretTextProperty<true>;
6
7
  }>, {
8
+ information: import("dist/packages/pieces/community/framework/src/lib/property/input/markdown-property").MarkDownProperty;
7
9
  oldPath: import("@activepieces/pieces-framework").ShortTextProperty<true>;
8
10
  newPath: import("@activepieces/pieces-framework").ShortTextProperty<true>;
9
11
  }>;
@@ -4,13 +4,29 @@ exports.renameFileOrFolderAction = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const index_1 = require("../../index");
6
6
  const pieces_framework_1 = require("@activepieces/pieces-framework");
7
- const ssh2_sftp_client_1 = tslib_1.__importDefault(require("ssh2-sftp-client"));
7
+ const __1 = require("../..");
8
+ const shared_1 = require("@activepieces/shared");
9
+ function renameFTP(client, oldPath, newPath) {
10
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
11
+ yield client.rename(oldPath, newPath);
12
+ });
13
+ }
14
+ function renameSFTP(client, oldPath, newPath) {
15
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
16
+ yield client.rename(oldPath, newPath);
17
+ yield client.end();
18
+ });
19
+ }
8
20
  exports.renameFileOrFolderAction = (0, pieces_framework_1.createAction)({
9
21
  auth: index_1.sftpAuth,
10
22
  name: 'renameFileOrFolder',
11
23
  displayName: 'Rename File or Folder',
12
24
  description: 'Renames a file or folder at given path.',
13
25
  props: {
26
+ information: pieces_framework_1.Property.MarkDown({
27
+ value: 'Depending on the server you can also use this to move a file to another directory, as long as the directory exists.',
28
+ variant: shared_1.MarkdownVariant.INFO,
29
+ }),
14
30
  oldPath: pieces_framework_1.Property.ShortText({
15
31
  displayName: 'Old Path',
16
32
  required: true,
@@ -24,19 +40,21 @@ exports.renameFileOrFolderAction = (0, pieces_framework_1.createAction)({
24
40
  },
25
41
  run(context) {
26
42
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
27
- const { host, port, username, password } = context.auth;
43
+ const client = yield (0, __1.getClient)(context.auth);
28
44
  const oldPath = context.propsValue.oldPath;
29
45
  const newPath = context.propsValue.newPath;
30
- const sftp = new ssh2_sftp_client_1.default();
46
+ const protocolBackwardCompatibility = yield (0, __1.getProtocolBackwardCompatibility)(context.auth.protocol);
31
47
  try {
32
- yield sftp.connect({
33
- host,
34
- port,
35
- username,
36
- password,
37
- readyTimeout: 15000,
38
- });
39
- yield sftp.rename(oldPath, newPath);
48
+ switch (protocolBackwardCompatibility) {
49
+ case 'ftps':
50
+ case 'ftp':
51
+ yield renameFTP(client, oldPath, newPath);
52
+ break;
53
+ default:
54
+ case 'sftp':
55
+ yield renameSFTP(client, oldPath, newPath);
56
+ break;
57
+ }
40
58
  return {
41
59
  status: 'success',
42
60
  };
@@ -48,7 +66,7 @@ exports.renameFileOrFolderAction = (0, pieces_framework_1.createAction)({
48
66
  };
49
67
  }
50
68
  finally {
51
- yield sftp.end();
69
+ yield (0, index_1.endClient)(client, context.auth.protocol);
52
70
  }
53
71
  });
54
72
  },
@@ -1 +1 @@
1
- {"version":3,"file":"rename-file-or-folder.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/sftp/src/lib/actions/rename-file-or-folder.ts"],"names":[],"mappings":";;;;AAAA,uCAAuC;AACvC,qEAAwE;AACxE,gFAAsC;AAEzB,QAAA,wBAAwB,GAAG,IAAA,+BAAY,EAAC;IACnD,IAAI,EAAE,gBAAQ;IACd,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EAAE,uBAAuB;IACpC,WAAW,EAAE,yCAAyC;IACtD,KAAK,EAAE;QACL,OAAO,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC1B,WAAW,EAAE,UAAU;YACvB,QAAQ,EAAE,IAAI;YACd,WAAW,EACT,qEAAqE;SACxE,CAAC;QACF,OAAO,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC1B,WAAW,EAAE,UAAU;YACvB,QAAQ,EAAE,IAAI;YACd,WAAW,EACT,mEAAmE;SACtE,CAAC;KACH;IACK,GAAG,CAAC,OAAO;;YACf,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;YACxD,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC;YAC3C,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC;YAC3C,MAAM,IAAI,GAAG,IAAI,0BAAM,EAAE,CAAC;YAE1B,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,OAAO,CAAC;oBACjB,IAAI;oBACJ,IAAI;oBACJ,QAAQ;oBACR,QAAQ;oBACR,YAAY,EAAE,KAAK;iBACpB,CAAC,CAAC;gBAEH,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAEpC,OAAO;oBACL,MAAM,EAAE,SAAS;iBAClB,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO;oBACL,MAAM,EAAE,OAAO;oBACf,KAAK,EAAE,GAAG;iBACX,CAAC;YACJ,CAAC;oBAAS,CAAC;gBACT,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;YACnB,CAAC;QACH,CAAC;KAAA;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"rename-file-or-folder.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/sftp/src/lib/actions/rename-file-or-folder.ts"],"names":[],"mappings":";;;;AAAA,uCAAkD;AAClD,qEAAwE;AAGxE,6BAAoE;AACpE,iDAAuD;AAEvD,SAAe,SAAS,CAAC,MAAiB,EAAE,OAAe,EAAE,OAAe;;QAC1E,MAAM,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;CAAA;AAED,SAAe,UAAU,CAAC,MAAc,EAAE,OAAe,EAAE,OAAe;;QACxE,MAAM,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACtC,MAAM,MAAM,CAAC,GAAG,EAAE,CAAC;IACrB,CAAC;CAAA;AAEY,QAAA,wBAAwB,GAAG,IAAA,+BAAY,EAAC;IACnD,IAAI,EAAE,gBAAQ;IACd,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EAAE,uBAAuB;IACpC,WAAW,EAAE,yCAAyC;IACtD,KAAK,EAAE;QACL,WAAW,EAAE,2BAAQ,CAAC,QAAQ,CAAC;YAC7B,KAAK,EAAE,qHAAqH;YAC5H,OAAO,EAAE,wBAAe,CAAC,IAAI;SAC9B,CAAC;QACF,OAAO,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC1B,WAAW,EAAE,UAAU;YACvB,QAAQ,EAAE,IAAI;YACd,WAAW,EACT,qEAAqE;SACxE,CAAC;QACF,OAAO,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC1B,WAAW,EAAE,UAAU;YACvB,QAAQ,EAAE,IAAI;YACd,WAAW,EACT,mEAAmE;SACtE,CAAC;KACH;IACK,GAAG,CAAC,OAAO;;YACf,MAAM,MAAM,GAAG,MAAM,IAAA,aAAS,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC7C,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC;YAC3C,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC;YAC3C,MAAM,6BAA6B,GAAG,MAAM,IAAA,oCAAgC,EAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACpG,IAAI,CAAC;gBACH,QAAQ,6BAA6B,EAAE,CAAC;oBACtC,KAAK,MAAM,CAAC;oBACZ,KAAK,KAAK;wBACR,MAAM,SAAS,CAAC,MAAmB,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;wBACvD,MAAM;oBACR,QAAQ;oBACR,KAAK,MAAM;wBACT,MAAM,UAAU,CAAC,MAAgB,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;wBACrD,MAAM;gBACV,CAAC;gBAED,OAAO;oBACL,MAAM,EAAE,SAAS;iBAClB,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO;oBACL,MAAM,EAAE,OAAO;oBACf,KAAK,EAAE,GAAG;iBACX,CAAC;YACJ,CAAC;oBAAS,CAAC;gBACT,MAAM,IAAA,iBAAS,EAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;KAAA;CACF,CAAC,CAAC"}
@@ -1,4 +1,5 @@
1
1
  export declare const uploadFileAction: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").CustomAuthProperty<{
2
+ protocol: import("@activepieces/pieces-framework").StaticDropdownProperty<string, false>;
2
3
  host: import("@activepieces/pieces-framework").ShortTextProperty<true>;
3
4
  port: import("@activepieces/pieces-framework").NumberProperty<true>;
4
5
  username: import("@activepieces/pieces-framework").ShortTextProperty<true>;
@@ -3,8 +3,26 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.uploadFileAction = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const pieces_framework_1 = require("@activepieces/pieces-framework");
6
- const ssh2_sftp_client_1 = tslib_1.__importDefault(require("ssh2-sftp-client"));
7
6
  const __1 = require("../..");
7
+ const stream_1 = require("stream");
8
+ function uploadFileToFTP(client, fileName, fileContent) {
9
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
10
+ const remoteDirectory = fileName.substring(0, fileName.lastIndexOf('/'));
11
+ yield client.ensureDir(remoteDirectory);
12
+ yield client.uploadFrom(stream_1.Readable.from(fileContent.data), fileName);
13
+ });
14
+ }
15
+ function uploadFileToSFTP(client, fileName, fileContent) {
16
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
17
+ const remotePathExists = yield client.exists(fileName);
18
+ if (!remotePathExists) {
19
+ const remoteDirectory = fileName.substring(0, fileName.lastIndexOf('/'));
20
+ yield client.mkdir(remoteDirectory, true);
21
+ }
22
+ yield client.put(fileContent.data, fileName);
23
+ yield client.end();
24
+ });
25
+ }
8
26
  exports.uploadFileAction = (0, pieces_framework_1.createAction)({
9
27
  auth: __1.sftpAuth,
10
28
  name: 'upload_file',
@@ -23,40 +41,34 @@ exports.uploadFileAction = (0, pieces_framework_1.createAction)({
23
41
  },
24
42
  run(context) {
25
43
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
26
- const host = context.auth.host;
27
- const port = context.auth.port;
28
- const username = context.auth.username;
29
- const password = context.auth.password;
44
+ const client = yield (0, __1.getClient)(context.auth);
30
45
  const fileName = context.propsValue['fileName'];
31
46
  const fileContent = context.propsValue['fileContent'];
32
- const sftp = new ssh2_sftp_client_1.default();
47
+ const protocolBackwardCompatibility = yield (0, __1.getProtocolBackwardCompatibility)(context.auth.protocol);
33
48
  try {
34
- yield sftp.connect({
35
- host,
36
- port,
37
- username,
38
- password,
39
- });
40
- const remotePathExists = yield sftp.exists(fileName);
41
- if (!remotePathExists) {
42
- // Extract the directory path from the fileName
43
- const remoteDirectory = fileName.substring(0, fileName.lastIndexOf('/'));
44
- // Create the directory if it doesn't exist
45
- yield sftp.mkdir(remoteDirectory, true); // The second argument 'true' makes the function create all intermediate directories
46
- // You can also check if the directory was successfully created and handle any potential errors here
49
+ switch (protocolBackwardCompatibility) {
50
+ case 'ftps':
51
+ case 'ftp':
52
+ yield uploadFileToFTP(client, fileName, fileContent);
53
+ break;
54
+ default:
55
+ case 'sftp':
56
+ yield uploadFileToSFTP(client, fileName, fileContent);
57
+ break;
47
58
  }
48
- yield sftp.put(fileContent.data, fileName);
49
- yield sftp.end();
50
59
  return {
51
60
  status: 'success',
52
61
  };
53
62
  }
54
- catch (err) {
63
+ catch (error) {
64
+ console.error(error);
55
65
  return {
56
66
  status: 'error',
57
- error: err,
58
67
  };
59
68
  }
69
+ finally {
70
+ yield (0, __1.endClient)(client, context.auth.protocol);
71
+ }
60
72
  });
61
73
  },
62
74
  });
@@ -1 +1 @@
1
- {"version":3,"file":"upload-file.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/sftp/src/lib/actions/upload-file.ts"],"names":[],"mappings":";;;;AAAA,qEAAwE;AACxE,gFAAsC;AACtC,6BAAiC;AAEpB,QAAA,gBAAgB,GAAG,IAAA,+BAAY,EAAC;IAC3C,IAAI,EAAE,YAAQ;IACd,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,aAAa;IAC1B,WAAW,EAAE,kCAAkC;IAC/C,KAAK,EAAE;QACL,QAAQ,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC3B,WAAW,EAAE,WAAW;YACxB,QAAQ,EAAE,IAAI;YACd,WAAW,EACT,2EAA2E;SAC9E,CAAC;QACF,WAAW,EAAE,2BAAQ,CAAC,IAAI,CAAC;YACzB,WAAW,EAAE,cAAc;YAC3B,QAAQ,EAAE,IAAI;SACf,CAAC;KACH;IACK,GAAG,CAAC,OAAO;;YACf,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;YAC/B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;YAC/B,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;YACvC,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;YACvC,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YAChD,MAAM,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;YACtD,MAAM,IAAI,GAAG,IAAI,0BAAM,EAAE,CAAC;YAE1B,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,OAAO,CAAC;oBACjB,IAAI;oBACJ,IAAI;oBACJ,QAAQ;oBACR,QAAQ;iBACT,CAAC,CAAC;gBAEH,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACrD,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBACtB,+CAA+C;oBAC/C,MAAM,eAAe,GAAG,QAAQ,CAAC,SAAS,CACxC,CAAC,EACD,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAC1B,CAAC;oBAEF,2CAA2C;oBAC3C,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC,CAAC,oFAAoF;oBAE7H,oGAAoG;gBACtG,CAAC;gBAED,MAAM,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;gBAC3C,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;gBAEjB,OAAO;oBACL,MAAM,EAAE,SAAS;iBAClB,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO;oBACL,MAAM,EAAE,OAAO;oBACf,KAAK,EAAE,GAAG;iBACX,CAAC;YACJ,CAAC;QACH,CAAC;KAAA;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"upload-file.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/sftp/src/lib/actions/upload-file.ts"],"names":[],"mappings":";;;;AAAA,qEAAwE;AAGxE,6BAAyF;AACzF,mCAAkC;AAElC,SAAe,eAAe,CAAC,MAAiB,EAAE,QAAgB,EAAE,WAA0B;;QAC5F,MAAM,eAAe,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;QACzE,MAAM,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;QACxC,MAAM,MAAM,CAAC,UAAU,CAAC,iBAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC;IACrE,CAAC;CAAA;AAED,SAAe,gBAAgB,CAAC,MAAc,EAAE,QAAgB,EAAE,WAA0B;;QAC1F,MAAM,gBAAgB,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACvD,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,MAAM,eAAe,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;YACzE,MAAM,MAAM,CAAC,KAAK,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;QAC5C,CAAC;QACD,MAAM,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC7C,MAAM,MAAM,CAAC,GAAG,EAAE,CAAC;IACrB,CAAC;CAAA;AAEY,QAAA,gBAAgB,GAAG,IAAA,+BAAY,EAAC;IAC3C,IAAI,EAAE,YAAQ;IACd,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,aAAa;IAC1B,WAAW,EAAE,kCAAkC;IAC/C,KAAK,EAAE;QACL,QAAQ,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC3B,WAAW,EAAE,WAAW;YACxB,QAAQ,EAAE,IAAI;YACd,WAAW,EACT,2EAA2E;SAC9E,CAAC;QACF,WAAW,EAAE,2BAAQ,CAAC,IAAI,CAAC;YACzB,WAAW,EAAE,cAAc;YAC3B,QAAQ,EAAE,IAAI;SACf,CAAC;KACH;IACK,GAAG,CAAC,OAAO;;YACf,MAAM,MAAM,GAAG,MAAM,IAAA,aAAS,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC7C,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YAChD,MAAM,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;YACtD,MAAM,6BAA6B,GAAG,MAAM,IAAA,oCAAgC,EAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACpG,IAAI,CAAC;gBACH,QAAQ,6BAA6B,EAAE,CAAC;oBACtC,KAAK,MAAM,CAAC;oBACZ,KAAK,KAAK;wBACR,MAAM,eAAe,CAAC,MAAmB,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;wBAClE,MAAM;oBACR,QAAQ;oBACR,KAAK,MAAM;wBACT,MAAM,gBAAgB,CAAC,MAAgB,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;wBAChE,MAAM;gBACV,CAAC;gBACD,OAAO;oBACL,MAAM,EAAE,SAAS;iBAClB,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACrB,OAAO;oBACL,MAAM,EAAE,OAAO;iBAChB,CAAC;YACJ,CAAC;oBAAS,CAAC;gBACT,MAAM,IAAA,aAAS,EAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;KAAA;CACF,CAAC,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { TriggerStrategy } from '@activepieces/pieces-framework';
2
2
  export declare const newOrModifiedFile: import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.WEBHOOK, import("@activepieces/pieces-framework").CustomAuthProperty<{
3
+ protocol: import("@activepieces/pieces-framework").StaticDropdownProperty<string, false>;
3
4
  host: import("@activepieces/pieces-framework").ShortTextProperty<true>;
4
5
  port: import("@activepieces/pieces-framework").NumberProperty<true>;
5
6
  username: import("@activepieces/pieces-framework").ShortTextProperty<true>;
@@ -8,6 +9,7 @@ export declare const newOrModifiedFile: import("@activepieces/pieces-framework")
8
9
  path: import("@activepieces/pieces-framework").ShortTextProperty<true>;
9
10
  ignoreHiddenFiles: import("@activepieces/pieces-framework").CheckboxProperty<false>;
10
11
  }> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.POLLING, import("@activepieces/pieces-framework").CustomAuthProperty<{
12
+ protocol: import("@activepieces/pieces-framework").StaticDropdownProperty<string, false>;
11
13
  host: import("@activepieces/pieces-framework").ShortTextProperty<true>;
12
14
  port: import("@activepieces/pieces-framework").NumberProperty<true>;
13
15
  username: import("@activepieces/pieces-framework").ShortTextProperty<true>;
@@ -16,6 +18,7 @@ export declare const newOrModifiedFile: import("@activepieces/pieces-framework")
16
18
  path: import("@activepieces/pieces-framework").ShortTextProperty<true>;
17
19
  ignoreHiddenFiles: import("@activepieces/pieces-framework").CheckboxProperty<false>;
18
20
  }> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.APP_WEBHOOK, import("@activepieces/pieces-framework").CustomAuthProperty<{
21
+ protocol: import("@activepieces/pieces-framework").StaticDropdownProperty<string, false>;
19
22
  host: import("@activepieces/pieces-framework").ShortTextProperty<true>;
20
23
  port: import("@activepieces/pieces-framework").NumberProperty<true>;
21
24
  username: import("@activepieces/pieces-framework").ShortTextProperty<true>;
@@ -3,40 +3,45 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.newOrModifiedFile = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const pieces_framework_1 = require("@activepieces/pieces-framework");
6
- const pieces_framework_2 = require("@activepieces/pieces-framework");
7
6
  const pieces_common_1 = require("@activepieces/pieces-common");
8
7
  const __1 = require("../..");
9
8
  const dayjs_1 = tslib_1.__importDefault(require("dayjs"));
10
- const ssh2_sftp_client_1 = tslib_1.__importDefault(require("ssh2-sftp-client"));
9
+ function getModifyTime(file, protocol) {
10
+ return protocol === 'sftp' ?
11
+ file.modifyTime :
12
+ (0, dayjs_1.default)(file.modifiedAt).valueOf();
13
+ }
11
14
  const polling = {
12
15
  strategy: pieces_common_1.DedupeStrategy.TIMEBASED,
13
16
  items: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth, propsValue, lastFetchEpochMS }) {
14
- var _b;
15
- const host = auth.host;
16
- const port = auth.port;
17
- const username = auth.username;
18
- const password = auth.password;
19
- const sftp = new ssh2_sftp_client_1.default();
17
+ let client = null;
20
18
  try {
21
- yield sftp.connect({
22
- host,
23
- port,
24
- username,
25
- password,
19
+ const protocolBackwardCompatibility = yield (0, __1.getProtocolBackwardCompatibility)(auth.protocol);
20
+ client = yield (0, __1.getClient)(auth);
21
+ const files = yield client.list(propsValue.path);
22
+ const filteredFiles = files.filter(file => {
23
+ const modTime = getModifyTime(file, protocolBackwardCompatibility);
24
+ return (0, dayjs_1.default)(modTime).valueOf() > lastFetchEpochMS;
25
+ });
26
+ const finalFiles = propsValue.ignoreHiddenFiles ?
27
+ filteredFiles.filter(file => !file.name.startsWith('.')) :
28
+ filteredFiles;
29
+ return finalFiles.map(file => {
30
+ const modTime = getModifyTime(file, protocolBackwardCompatibility);
31
+ return {
32
+ data: Object.assign(Object.assign({}, file), { path: `${propsValue.path}/${file.name}` }),
33
+ epochMilliSeconds: (0, dayjs_1.default)(modTime).valueOf(),
34
+ };
26
35
  });
27
- let files = yield sftp.list(propsValue.path);
28
- yield sftp.end();
29
- files = files.filter((file) => (0, dayjs_1.default)(file.modifyTime).valueOf() > lastFetchEpochMS);
30
- if (((_b = propsValue.ignoreHiddenFiles) !== null && _b !== void 0 ? _b : false) === true)
31
- files = files.filter((file) => !file.name.startsWith('.'));
32
- return files.map((file) => ({
33
- data: Object.assign(Object.assign({}, file), { path: `${propsValue.path}/${file.name}` }),
34
- epochMilliSeconds: (0, dayjs_1.default)(file.modifyTime).valueOf(),
35
- }));
36
36
  }
37
37
  catch (err) {
38
38
  return [];
39
39
  }
40
+ finally {
41
+ if (client) {
42
+ yield (0, __1.endClient)(client, auth.protocol);
43
+ }
44
+ }
40
45
  }),
41
46
  };
42
47
  exports.newOrModifiedFile = (0, pieces_framework_1.createTrigger)({
@@ -58,35 +63,19 @@ exports.newOrModifiedFile = (0, pieces_framework_1.createTrigger)({
58
63
  defaultValue: false,
59
64
  }),
60
65
  },
61
- type: pieces_framework_2.TriggerStrategy.POLLING,
66
+ type: pieces_framework_1.TriggerStrategy.POLLING,
62
67
  onEnable: (context) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
63
- yield pieces_common_1.pollingHelper.onEnable(polling, {
64
- auth: context.auth,
65
- store: context.store,
66
- propsValue: context.propsValue,
67
- });
68
+ yield pieces_common_1.pollingHelper.onEnable(polling, context);
68
69
  }),
69
70
  onDisable: (context) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
70
- yield pieces_common_1.pollingHelper.onDisable(polling, {
71
- auth: context.auth,
72
- store: context.store,
73
- propsValue: context.propsValue,
74
- });
71
+ yield pieces_common_1.pollingHelper.onDisable(polling, context);
75
72
  }),
76
73
  run: (context) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
77
- return yield pieces_common_1.pollingHelper.poll(polling, {
78
- auth: context.auth,
79
- store: context.store,
80
- propsValue: context.propsValue,
81
- });
74
+ return yield pieces_common_1.pollingHelper.poll(polling, context);
82
75
  }),
83
76
  test: (context) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
84
- return yield pieces_common_1.pollingHelper.test(polling, {
85
- auth: context.auth,
86
- store: context.store,
87
- propsValue: context.propsValue,
88
- });
77
+ return yield pieces_common_1.pollingHelper.test(polling, context);
89
78
  }),
90
- sampleData: {},
79
+ sampleData: null,
91
80
  });
92
81
  //# sourceMappingURL=new-modified-file.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"new-modified-file.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/sftp/src/lib/triggers/new-modified-file.ts"],"names":[],"mappings":";;;;AAAA,qEAIwC;AACxC,qEAAiE;AACjE,+DAIqC;AACrC,6BAAiC;AACjC,0DAA0B;AAC1B,gFAAsC;AAEtC,MAAM,OAAO,GAGT;IACF,QAAQ,EAAE,8BAAc,CAAC,SAAS;IAClC,KAAK,EAAE,KAA+C,EAAE,oDAA1C,EAAE,IAAI,EAAE,UAAU,EAAE,gBAAgB,EAAE;;QAClD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAE/B,MAAM,IAAI,GAAG,IAAI,0BAAM,EAAE,CAAC;QAE1B,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,OAAO,CAAC;gBACjB,IAAI;gBACJ,IAAI;gBACJ,QAAQ;gBACR,QAAQ;aACT,CAAC,CAAC;YAEH,IAAI,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAC7C,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;YACjB,KAAK,GAAG,KAAK,CAAC,MAAM,CAClB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,eAAK,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,GAAG,gBAAgB,CAC9D,CAAC;YACF,IAAI,CAAC,MAAA,UAAU,CAAC,iBAAiB,mCAAI,KAAK,CAAC,KAAK,IAAI;gBAClD,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;YAE7D,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC1B,IAAI,kCACC,IAAI,KACP,IAAI,EAAE,GAAG,UAAU,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,GACxC;gBACD,iBAAiB,EAAE,IAAA,eAAK,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE;aACpD,CAAC,CAAC,CAAC;QACN,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC,CAAA;CACF,CAAC;AAEW,QAAA,iBAAiB,GAAG,IAAA,gCAAa,EAAC;IAC7C,IAAI,EAAE,YAAQ;IACd,IAAI,EAAE,UAAU;IAChB,WAAW,EAAE,UAAU;IACvB,WAAW,EAAE,iDAAiD;IAC9D,KAAK,EAAE;QACL,IAAI,EAAE,2BAAQ,CAAC,SAAS,CAAC;YACvB,WAAW,EAAE,MAAM;YACnB,WAAW,EAAE,iCAAiC;YAC9C,QAAQ,EAAE,IAAI;YACd,YAAY,EAAE,IAAI;SACnB,CAAC;QACF,iBAAiB,EAAE,2BAAQ,CAAC,QAAQ,CAAC;YACnC,WAAW,EAAE,qBAAqB;YAClC,WAAW,EAAE,qBAAqB;YAClC,QAAQ,EAAE,KAAK;YACf,YAAY,EAAE,KAAK;SACpB,CAAC;KACH;IACD,IAAI,EAAE,kCAAe,CAAC,OAAO;IAC7B,QAAQ,EAAE,CAAO,OAAO,EAAE,EAAE;QAC1B,MAAM,6BAAa,CAAC,QAAQ,CAAC,OAAO,EAAE;YACpC,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,UAAU,EAAE,OAAO,CAAC,UAAU;SAC/B,CAAC,CAAC;IACL,CAAC,CAAA;IACD,SAAS,EAAE,CAAO,OAAO,EAAE,EAAE;QAC3B,MAAM,6BAAa,CAAC,SAAS,CAAC,OAAO,EAAE;YACrC,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,UAAU,EAAE,OAAO,CAAC,UAAU;SAC/B,CAAC,CAAC;IACL,CAAC,CAAA;IACD,GAAG,EAAE,CAAO,OAAO,EAAE,EAAE;QACrB,OAAO,MAAM,6BAAa,CAAC,IAAI,CAAC,OAAO,EAAE;YACvC,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,UAAU,EAAE,OAAO,CAAC,UAAU;SAC/B,CAAC,CAAC;IACL,CAAC,CAAA;IACD,IAAI,EAAE,CAAO,OAAO,EAAE,EAAE;QACtB,OAAO,MAAM,6BAAa,CAAC,IAAI,CAAC,OAAO,EAAE;YACvC,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,UAAU,EAAE,OAAO,CAAC,UAAU;SAC/B,CAAC,CAAC;IACL,CAAC,CAAA;IACD,UAAU,EAAE,EAAE;CACf,CAAC,CAAC"}
1
+ {"version":3,"file":"new-modified-file.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/sftp/src/lib/triggers/new-modified-file.ts"],"names":[],"mappings":"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"}
@@ -1,52 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.listFolderContentsAction = void 0;
4
- const tslib_1 = require("tslib");
5
- const index_1 = require("../../index");
6
- const pieces_framework_1 = require("@activepieces/pieces-framework");
7
- const ssh2_sftp_client_1 = tslib_1.__importDefault(require("ssh2-sftp-client"));
8
- exports.listFolderContentsAction = (0, pieces_framework_1.createAction)({
9
- auth: index_1.sftpAuth,
10
- name: 'listFolderContents',
11
- displayName: 'List Folder Contents',
12
- description: 'Lists the contents of a given folder.',
13
- props: {
14
- directoryPath: pieces_framework_1.Property.ShortText({
15
- displayName: 'Directory Path',
16
- required: true,
17
- description: 'The path of the folder to list e.g. `./myfolder`',
18
- }),
19
- },
20
- run(context) {
21
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
22
- const { host, port, username, password } = context.auth;
23
- const directoryPath = context.propsValue['directoryPath'];
24
- const sftp = new ssh2_sftp_client_1.default();
25
- try {
26
- yield sftp.connect({
27
- host,
28
- port,
29
- username,
30
- password,
31
- readyTimeout: 15000,
32
- });
33
- const contents = yield sftp.list(directoryPath);
34
- return {
35
- status: 'success',
36
- contents: contents,
37
- };
38
- }
39
- catch (err) {
40
- return {
41
- status: 'error',
42
- contents: null,
43
- error: err,
44
- };
45
- }
46
- finally {
47
- yield sftp.end();
48
- }
49
- });
50
- },
51
- });
52
- //# sourceMappingURL=list.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/sftp/src/lib/actions/list.ts"],"names":[],"mappings":";;;;AAAA,uCAAuC;AACvC,qEAAwE;AACxE,gFAAsC;AAEzB,QAAA,wBAAwB,GAAG,IAAA,+BAAY,EAAC;IACnD,IAAI,EAAE,gBAAQ;IACd,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EAAE,sBAAsB;IACnC,WAAW,EAAE,uCAAuC;IACpD,KAAK,EAAE;QACL,aAAa,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAChC,WAAW,EAAE,gBAAgB;YAC7B,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,kDAAkD;SAChE,CAAC;KACH;IACK,GAAG,CAAC,OAAO;;YACf,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;YACxD,MAAM,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;YAC1D,MAAM,IAAI,GAAG,IAAI,0BAAM,EAAE,CAAC;YAE1B,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,OAAO,CAAC;oBACjB,IAAI;oBACJ,IAAI;oBACJ,QAAQ;oBACR,QAAQ;oBACR,YAAY,EAAE,KAAK;iBACpB,CAAC,CAAC;gBAEH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBAEhD,OAAO;oBACL,MAAM,EAAE,SAAS;oBACjB,QAAQ,EAAE,QAAQ;iBACnB,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO;oBACL,MAAM,EAAE,OAAO;oBACf,QAAQ,EAAE,IAAI;oBACd,KAAK,EAAE,GAAG;iBACX,CAAC;YACJ,CAAC;oBAAS,CAAC;gBACT,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;YACnB,CAAC;QACH,CAAC;KAAA;CACF,CAAC,CAAC"}