@activepieces/piece-sftp 0.2.4 → 0.2.5

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/package.json CHANGED
@@ -1,20 +1,36 @@
1
1
  {
2
2
  "name": "@activepieces/piece-sftp",
3
- "version": "0.2.4",
3
+ "version": "0.2.5",
4
4
  "dependencies": {
5
- "@sinclair/typebox": "0.26.8",
6
- "axios": "^1.6.3",
5
+ "@anthropic-ai/sdk": "0.27.3",
6
+ "@sinclair/typebox": "0.33.18",
7
+ "axios": "1.7.7",
8
+ "axios-retry": "4.4.1",
7
9
  "dayjs": "1.11.9",
8
- "is-base64": "1.1.0",
9
- "lodash": "4.17.21",
10
+ "deepmerge": "4.3.1",
11
+ "mime-types": "2.1.35",
10
12
  "nanoid": "3.3.6",
13
+ "openai": "4.67.1",
14
+ "replicate": "0.34.1",
11
15
  "semver": "7.6.0",
12
16
  "ssh2-sftp-client": "9.1.0",
13
- "@activepieces/pieces-common": "0.2.9",
14
- "@activepieces/pieces-framework": "0.7.24",
15
- "@activepieces/shared": "0.10.93",
16
- "tslib": "1.14.1"
17
+ "@activepieces/pieces-common": "0.2.28",
18
+ "@activepieces/pieces-framework": "0.7.39",
19
+ "@activepieces/shared": "0.10.126",
20
+ "tslib": "2.6.2"
21
+ },
22
+ "overrides": {
23
+ "@tryfabric/martian": {
24
+ "@notionhq/client": "$@notionhq/client"
25
+ },
26
+ "vite": {
27
+ "rollup": "npm:@rollup/wasm-node"
28
+ }
29
+ },
30
+ "resolutions": {
31
+ "rollup": "npm:@rollup/wasm-node"
17
32
  },
18
33
  "main": "./src/index.js",
19
- "type": "commonjs"
34
+ "type": "commonjs",
35
+ "types": "./src/index.d.ts"
20
36
  }
package/src/index.js CHANGED
@@ -6,8 +6,14 @@ const pieces_framework_1 = require("@activepieces/pieces-framework");
6
6
  const shared_1 = require("@activepieces/shared");
7
7
  const ssh2_sftp_client_1 = tslib_1.__importDefault(require("ssh2-sftp-client"));
8
8
  const create_file_1 = require("./lib/actions/create-file");
9
+ const upload_file_1 = require("./lib/actions/upload-file");
9
10
  const read_file_1 = require("./lib/actions/read-file");
10
11
  const new_modified_file_1 = require("./lib/triggers/new-modified-file");
12
+ const delete_folder_1 = require("./lib/actions/delete-folder");
13
+ const delete_file_1 = require("./lib/actions/delete-file");
14
+ const list_1 = require("./lib/actions/list");
15
+ const create_folder_1 = require("./lib/actions/create-folder");
16
+ const rename_file_or_folder_1 = require("./lib/actions/rename-file-or-folder");
11
17
  exports.sftpAuth = pieces_framework_1.PieceAuth.CustomAuth({
12
18
  description: 'Enter the authentication details',
13
19
  props: {
@@ -33,7 +39,7 @@ exports.sftpAuth = pieces_framework_1.PieceAuth.CustomAuth({
33
39
  required: true,
34
40
  }),
35
41
  },
36
- validate: ({ auth }) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
42
+ validate: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth }) {
37
43
  const { host, port, username, password } = auth;
38
44
  const sftp = new ssh2_sftp_client_1.default();
39
45
  try {
@@ -66,9 +72,24 @@ exports.sftp = (0, pieces_framework_1.createPiece)({
66
72
  minimumSupportedRelease: '0.7.1',
67
73
  logoUrl: 'https://cdn.activepieces.com/pieces/sftp.svg',
68
74
  categories: [shared_1.PieceCategory.CORE, shared_1.PieceCategory.DEVELOPER_TOOLS],
69
- authors: ["Abdallah-Alwarawreh", "kishanprmr", "AbdulTheActivePiecer", "khaledmashaly", "abuaboud"],
75
+ authors: [
76
+ 'Abdallah-Alwarawreh',
77
+ 'kishanprmr',
78
+ 'AbdulTheActivePiecer',
79
+ 'khaledmashaly',
80
+ 'abuaboud',
81
+ ],
70
82
  auth: exports.sftpAuth,
71
- actions: [create_file_1.createFile, read_file_1.readFileContent],
83
+ actions: [
84
+ create_file_1.createFile,
85
+ upload_file_1.uploadFileAction,
86
+ read_file_1.readFileContent,
87
+ delete_file_1.deleteFileAction,
88
+ create_folder_1.createFolderAction,
89
+ delete_folder_1.deleteFolderAction,
90
+ list_1.listFolderContentsAction,
91
+ rename_file_or_folder_1.renameFileOrFolderAction,
92
+ ],
72
93
  triggers: [new_modified_file_1.newOrModifiedFile],
73
94
  });
74
95
  //# sourceMappingURL=index.js.map
package/src/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/pieces/community/sftp/src/index.ts"],"names":[],"mappings":";;;;AAAA,qEAIwC;AACxC,iDAAqD;AACrD,gFAAsC;AACtC,2DAAuD;AACvD,uDAA0D;AAC1D,wEAAqE;AACxD,QAAA,QAAQ,GAAG,4BAAS,CAAC,UAAU,CAAC;IAC3C,WAAW,EAAE,kCAAkC;IAC/C,KAAK,EAAE;QACL,IAAI,EAAE,2BAAQ,CAAC,SAAS,CAAC;YACvB,WAAW,EAAE,MAAM;YACnB,WAAW,EAAE,6BAA6B;YAC1C,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,IAAI,EAAE,2BAAQ,CAAC,MAAM,CAAC;YACpB,WAAW,EAAE,MAAM;YACnB,WAAW,EAAE,6BAA6B;YAC1C,QAAQ,EAAE,IAAI;YACd,YAAY,EAAE,EAAE;SACjB,CAAC;QACF,QAAQ,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC3B,WAAW,EAAE,UAAU;YACvB,WAAW,EAAE,iCAAiC;YAC9C,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,QAAQ,EAAE,4BAAS,CAAC,UAAU,CAAC;YAC7B,WAAW,EAAE,UAAU;YACvB,WAAW,EAAE,iCAAiC;YAC9C,QAAQ,EAAE,IAAI;SACf,CAAC;KACH;IACD,QAAQ,EAAE,CAAO,EAAE,IAAI,EAAE,EAAE,EAAE;QAC3B,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QAChD,MAAM,IAAI,GAAG,IAAI,0BAAM,EAAE,CAAC;QAE1B,IAAI;YACF,MAAM,IAAI,CAAC,OAAO,CAAC;gBACjB,IAAI;gBACJ,IAAI;gBACJ,QAAQ;gBACR,QAAQ;gBACR,OAAO,EAAE,KAAK;aACf,CAAC,CAAC;YACH,OAAO;gBACL,KAAK,EAAE,IAAI;aACZ,CAAC;SACH;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,KAAK,EACH,iEAAiE;aACpE,CAAC;SACH;gBAAS;YACR,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;SAClB;IACH,CAAC,CAAA;IACD,QAAQ,EAAE,IAAI;CACf,CAAC,CAAC;AAEU,QAAA,IAAI,GAAG,IAAA,8BAAW,EAAC;IAC9B,WAAW,EAAE,MAAM;IACnB,WAAW,EAAE,+BAA+B;IAE5C,uBAAuB,EAAE,OAAO;IAChC,OAAO,EAAE,8CAA8C;IACvD,UAAU,EAAE,CAAC,sBAAa,CAAC,IAAI,EAAE,sBAAa,CAAC,eAAe,CAAC;IAC/D,OAAO,EAAE,CAAC,qBAAqB,EAAC,YAAY,EAAC,sBAAsB,EAAC,eAAe,EAAC,UAAU,CAAC;IAC/F,IAAI,EAAE,gBAAQ;IACd,OAAO,EAAE,CAAC,wBAAU,EAAE,2BAAe,CAAC;IACtC,QAAQ,EAAE,CAAC,qCAAiB,CAAC;CAC9B,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/pieces/community/sftp/src/index.ts"],"names":[],"mappings":";;;;AAAA,qEAIwC;AACxC,iDAAqD;AACrD,gFAAsC;AACtC,2DAAuD;AACvD,2DAA6D;AAC7D,uDAA0D;AAC1D,wEAAqE;AACrE,+DAAiE;AACjE,2DAA6D;AAC7D,6CAA8D;AAC9D,+DAAiE;AACjE,+EAA+E;AAClE,QAAA,QAAQ,GAAG,4BAAS,CAAC,UAAU,CAAC;IAC3C,WAAW,EAAE,kCAAkC;IAC/C,KAAK,EAAE;QACL,IAAI,EAAE,2BAAQ,CAAC,SAAS,CAAC;YACvB,WAAW,EAAE,MAAM;YACnB,WAAW,EAAE,6BAA6B;YAC1C,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,IAAI,EAAE,2BAAQ,CAAC,MAAM,CAAC;YACpB,WAAW,EAAE,MAAM;YACnB,WAAW,EAAE,6BAA6B;YAC1C,QAAQ,EAAE,IAAI;YACd,YAAY,EAAE,EAAE;SACjB,CAAC;QACF,QAAQ,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC3B,WAAW,EAAE,UAAU;YACvB,WAAW,EAAE,iCAAiC;YAC9C,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,QAAQ,EAAE,4BAAS,CAAC,UAAU,CAAC;YAC7B,WAAW,EAAE,UAAU;YACvB,WAAW,EAAE,iCAAiC;YAC9C,QAAQ,EAAE,IAAI;SACf,CAAC;KACH;IACD,QAAQ,EAAE,KAAiB,EAAE,oDAAZ,EAAE,IAAI,EAAE;QACvB,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QAChD,MAAM,IAAI,GAAG,IAAI,0BAAM,EAAE,CAAC;QAE1B,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,OAAO,CAAC;gBACjB,IAAI;gBACJ,IAAI;gBACJ,QAAQ;gBACR,QAAQ;gBACR,OAAO,EAAE,KAAK;aACf,CAAC,CAAC;YACH,OAAO;gBACL,KAAK,EAAE,IAAI;aACZ,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,KAAK,EACH,iEAAiE;aACpE,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QACnB,CAAC;IACH,CAAC,CAAA;IACD,QAAQ,EAAE,IAAI;CACf,CAAC,CAAC;AAEU,QAAA,IAAI,GAAG,IAAA,8BAAW,EAAC;IAC9B,WAAW,EAAE,MAAM;IACnB,WAAW,EAAE,+BAA+B;IAE5C,uBAAuB,EAAE,OAAO;IAChC,OAAO,EAAE,8CAA8C;IACvD,UAAU,EAAE,CAAC,sBAAa,CAAC,IAAI,EAAE,sBAAa,CAAC,eAAe,CAAC;IAC/D,OAAO,EAAE;QACP,qBAAqB;QACrB,YAAY;QACZ,sBAAsB;QACtB,eAAe;QACf,UAAU;KACX;IACD,IAAI,EAAE,gBAAQ;IACd,OAAO,EAAE;QACP,wBAAU;QACV,8BAAgB;QAChB,2BAAe;QACf,8BAAgB;QAChB,kCAAkB;QAClB,kCAAkB;QAClB,+BAAwB;QACxB,gDAAwB;KACzB;IACD,QAAQ,EAAE,CAAC,qCAAiB,CAAC;CAC9B,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"create-file.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/sftp/src/lib/actions/create-file.ts"],"names":[],"mappings":";;;;AAAA,qEAAwE;AACxE,gFAAsC;AACtC,6BAAiC;AAEpB,QAAA,UAAU,GAAG,IAAA,+BAAY,EAAC;IACrC,IAAI,EAAE,YAAQ;IACd,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,uBAAuB;IACpC,WAAW,EAAE,qCAAqC;IAClD,KAAK,EAAE;QACL,QAAQ,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC3B,WAAW,EAAE,WAAW;YACxB,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,WAAW,EAAE,2BAAQ,CAAC,QAAQ,CAAC;YAC7B,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;gBACF,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;oBACrB,+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;iBACrG;gBAED,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,CAAC;gBACnD,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;gBAEjB,OAAO;oBACL,MAAM,EAAE,SAAS;iBAClB,CAAC;aACH;YAAC,OAAO,GAAG,EAAE;gBACZ,OAAO;oBACL,MAAM,EAAE,OAAO;oBACf,KAAK,EAAE,GAAG;iBACX,CAAC;aACH;QACH,CAAC;KAAA;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"create-file.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/sftp/src/lib/actions/create-file.ts"],"names":[],"mappings":";;;;AAAA,qEAAwE;AACxE,gFAAsC;AACtC,6BAAiC;AAEpB,QAAA,UAAU,GAAG,IAAA,+BAAY,EAAC;IACrC,IAAI,EAAE,YAAQ;IACd,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,uBAAuB;IACpC,WAAW,EAAE,qCAAqC;IAClD,KAAK,EAAE;QACL,QAAQ,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC3B,WAAW,EAAE,WAAW;YACxB,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,WAAW,EAAE,2BAAQ,CAAC,QAAQ,CAAC;YAC7B,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,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,CAAC;gBACnD,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"}
@@ -0,0 +1,9 @@
1
+ export declare const createFolderAction: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").CustomAuthProperty<{
2
+ host: import("@activepieces/pieces-framework").ShortTextProperty<true>;
3
+ port: import("@activepieces/pieces-framework").NumberProperty<true>;
4
+ username: import("@activepieces/pieces-framework").ShortTextProperty<true>;
5
+ password: import("@activepieces/pieces-framework").SecretTextProperty<true>;
6
+ }>, {
7
+ folderPath: import("@activepieces/pieces-framework").ShortTextProperty<true>;
8
+ recursive: import("@activepieces/pieces-framework").CheckboxProperty<false>;
9
+ }>;
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createFolderAction = 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.createFolderAction = (0, pieces_framework_1.createAction)({
9
+ auth: index_1.sftpAuth,
10
+ name: 'createFolder',
11
+ displayName: 'Create Folder',
12
+ description: 'Creates a folder at given path.',
13
+ props: {
14
+ folderPath: pieces_framework_1.Property.ShortText({
15
+ displayName: 'Folder Path',
16
+ required: true,
17
+ description: 'The new folder path e.g. `./myfolder`',
18
+ }),
19
+ recursive: pieces_framework_1.Property.Checkbox({
20
+ displayName: 'Recursive',
21
+ defaultValue: false,
22
+ required: false,
23
+ }),
24
+ },
25
+ run(context) {
26
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
27
+ var _a;
28
+ const { host, port, username, password } = context.auth;
29
+ const directoryPath = context.propsValue.folderPath;
30
+ const recursive = (_a = context.propsValue.recursive) !== null && _a !== void 0 ? _a : false;
31
+ const sftp = new ssh2_sftp_client_1.default();
32
+ try {
33
+ yield sftp.connect({
34
+ host,
35
+ port,
36
+ username,
37
+ password,
38
+ readyTimeout: 15000,
39
+ });
40
+ yield sftp.mkdir(directoryPath, recursive);
41
+ return {
42
+ status: 'success',
43
+ };
44
+ }
45
+ catch (err) {
46
+ return {
47
+ status: 'error',
48
+ error: err,
49
+ };
50
+ }
51
+ finally {
52
+ yield sftp.end();
53
+ }
54
+ });
55
+ },
56
+ });
57
+ //# sourceMappingURL=create-folder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-folder.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/sftp/src/lib/actions/create-folder.ts"],"names":[],"mappings":";;;;AAAA,uCAAuC;AACvC,qEAAwE;AACxE,gFAAsC;AAEzB,QAAA,kBAAkB,GAAG,IAAA,+BAAY,EAAC;IAC7C,IAAI,EAAE,gBAAQ;IACd,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,eAAe;IAC5B,WAAW,EAAE,iCAAiC;IAC9C,KAAK,EAAE;QACL,UAAU,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC7B,WAAW,EAAE,aAAa;YAC1B,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,uCAAuC;SACrD,CAAC;QACF,SAAS,EAAE,2BAAQ,CAAC,QAAQ,CAAC;YAC3B,WAAW,EAAE,WAAW;YACxB,YAAY,EAAE,KAAK;YACnB,QAAQ,EAAE,KAAK;SAChB,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,UAAU,CAAC;YACpD,MAAM,SAAS,GAAG,MAAA,OAAO,CAAC,UAAU,CAAC,SAAS,mCAAI,KAAK,CAAC;YACxD,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,KAAK,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;gBAE3C,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"}
@@ -0,0 +1,8 @@
1
+ export declare const deleteFileAction: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").CustomAuthProperty<{
2
+ host: import("@activepieces/pieces-framework").ShortTextProperty<true>;
3
+ port: import("@activepieces/pieces-framework").NumberProperty<true>;
4
+ username: import("@activepieces/pieces-framework").ShortTextProperty<true>;
5
+ password: import("@activepieces/pieces-framework").SecretTextProperty<true>;
6
+ }>, {
7
+ filePath: import("@activepieces/pieces-framework").ShortTextProperty<true>;
8
+ }>;
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.deleteFileAction = 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.deleteFileAction = (0, pieces_framework_1.createAction)({
9
+ auth: index_1.sftpAuth,
10
+ name: 'deleteFile',
11
+ displayName: 'Delete file',
12
+ description: 'Deletes a file at given path.',
13
+ props: {
14
+ filePath: pieces_framework_1.Property.ShortText({
15
+ displayName: 'File Path',
16
+ required: true,
17
+ description: 'The path of the file to delete e.g. `./myfolder/test.mp3`',
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 filePath = context.propsValue.filePath;
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
+ yield sftp.delete(filePath);
34
+ return {
35
+ status: 'success',
36
+ };
37
+ }
38
+ catch (err) {
39
+ return {
40
+ status: 'error',
41
+ error: err,
42
+ };
43
+ }
44
+ finally {
45
+ yield sftp.end();
46
+ }
47
+ });
48
+ },
49
+ });
50
+ //# sourceMappingURL=delete-file.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete-file.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/sftp/src/lib/actions/delete-file.ts"],"names":[],"mappings":";;;;AAAA,uCAAuC;AACvC,qEAAwE;AACxE,gFAAsC;AAEzB,QAAA,gBAAgB,GAAG,IAAA,+BAAY,EAAC;IAC3C,IAAI,EAAE,gBAAQ;IACd,IAAI,EAAE,YAAY;IAClB,WAAW,EAAE,aAAa;IAC1B,WAAW,EAAE,+BAA+B;IAC5C,KAAK,EAAE;QACL,QAAQ,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC3B,WAAW,EAAE,WAAW;YACxB,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,2DAA2D;SACzE,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,QAAQ,CAAC;YAC7C,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,QAAQ,CAAC,CAAC;gBAE5B,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"}
@@ -0,0 +1,9 @@
1
+ export declare const deleteFolderAction: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").CustomAuthProperty<{
2
+ host: import("@activepieces/pieces-framework").ShortTextProperty<true>;
3
+ port: import("@activepieces/pieces-framework").NumberProperty<true>;
4
+ username: import("@activepieces/pieces-framework").ShortTextProperty<true>;
5
+ password: import("@activepieces/pieces-framework").SecretTextProperty<true>;
6
+ }>, {
7
+ folderPath: import("@activepieces/pieces-framework").ShortTextProperty<true>;
8
+ recursive: import("@activepieces/pieces-framework").CheckboxProperty<false>;
9
+ }>;
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.deleteFolderAction = 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.deleteFolderAction = (0, pieces_framework_1.createAction)({
9
+ auth: index_1.sftpAuth,
10
+ name: 'deleteFolder',
11
+ displayName: 'Delete Folder',
12
+ description: 'Deletes an existing folder at given path.',
13
+ props: {
14
+ folderPath: pieces_framework_1.Property.ShortText({
15
+ displayName: 'Folder Path',
16
+ required: true,
17
+ description: 'The path of the folder to delete e.g. `./myfolder`',
18
+ }),
19
+ recursive: pieces_framework_1.Property.Checkbox({
20
+ displayName: 'Recursive',
21
+ defaultValue: false,
22
+ required: false,
23
+ description: 'Enable this option to delete the folder and all its contents, including subfolders and files.',
24
+ }),
25
+ },
26
+ run(context) {
27
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
28
+ var _a;
29
+ const { host, port, username, password } = context.auth;
30
+ const directoryPath = context.propsValue.folderPath;
31
+ const recursive = (_a = context.propsValue.recursive) !== null && _a !== void 0 ? _a : false;
32
+ const sftp = new ssh2_sftp_client_1.default();
33
+ try {
34
+ yield sftp.connect({
35
+ host,
36
+ port,
37
+ username,
38
+ password,
39
+ readyTimeout: 15000,
40
+ });
41
+ yield sftp.rmdir(directoryPath, recursive);
42
+ return {
43
+ status: 'success',
44
+ };
45
+ }
46
+ catch (err) {
47
+ return {
48
+ status: 'error',
49
+ error: err,
50
+ };
51
+ }
52
+ finally {
53
+ yield sftp.end();
54
+ }
55
+ });
56
+ },
57
+ });
58
+ //# sourceMappingURL=delete-folder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete-folder.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/sftp/src/lib/actions/delete-folder.ts"],"names":[],"mappings":";;;;AAAA,uCAAuC;AACvC,qEAAwE;AACxE,gFAAsC;AAEzB,QAAA,kBAAkB,GAAG,IAAA,+BAAY,EAAC;IAC7C,IAAI,EAAE,gBAAQ;IACd,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,eAAe;IAC5B,WAAW,EAAE,2CAA2C;IACxD,KAAK,EAAE;QACL,UAAU,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC7B,WAAW,EAAE,aAAa;YAC1B,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,oDAAoD;SAClE,CAAC;QACF,SAAS,EAAE,2BAAQ,CAAC,QAAQ,CAAC;YAC3B,WAAW,EAAE,WAAW;YACxB,YAAY,EAAE,KAAK;YACnB,QAAQ,EAAE,KAAK;YACf,WAAW,EACT,+FAA+F;SAClG,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,UAAU,CAAC;YACpD,MAAM,SAAS,GAAG,MAAA,OAAO,CAAC,UAAU,CAAC,SAAS,mCAAI,KAAK,CAAC;YACxD,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,KAAK,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;gBAE3C,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"}
@@ -0,0 +1,8 @@
1
+ export declare const listFolderContentsAction: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").CustomAuthProperty<{
2
+ host: import("@activepieces/pieces-framework").ShortTextProperty<true>;
3
+ port: import("@activepieces/pieces-framework").NumberProperty<true>;
4
+ username: import("@activepieces/pieces-framework").ShortTextProperty<true>;
5
+ password: import("@activepieces/pieces-framework").SecretTextProperty<true>;
6
+ }>, {
7
+ directoryPath: import("@activepieces/pieces-framework").ShortTextProperty<true>;
8
+ }>;
@@ -0,0 +1,52 @@
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
@@ -0,0 +1 @@
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"}
@@ -9,7 +9,7 @@ exports.readFileContent = (0, pieces_framework_1.createAction)({
9
9
  auth: index_1.sftpAuth,
10
10
  name: 'read_file_content',
11
11
  displayName: 'Read File Content',
12
- description: 'Read the content of a file',
12
+ description: 'Read the content of a file.',
13
13
  props: {
14
14
  filePath: pieces_framework_1.Property.ShortText({
15
15
  displayName: 'File Path',
@@ -17,8 +17,8 @@ exports.readFileContent = (0, pieces_framework_1.createAction)({
17
17
  }),
18
18
  },
19
19
  run(context) {
20
- var _a;
21
20
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
21
+ var _a;
22
22
  const { host, port, username, password } = context.auth;
23
23
  const filePath = context.propsValue['filePath'];
24
24
  const sftp = new ssh2_sftp_client_1.default();
@@ -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,4BAA4B;IACzC,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;;KACH;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,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"}
@@ -0,0 +1,9 @@
1
+ export declare const renameFileOrFolderAction: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").CustomAuthProperty<{
2
+ host: import("@activepieces/pieces-framework").ShortTextProperty<true>;
3
+ port: import("@activepieces/pieces-framework").NumberProperty<true>;
4
+ username: import("@activepieces/pieces-framework").ShortTextProperty<true>;
5
+ password: import("@activepieces/pieces-framework").SecretTextProperty<true>;
6
+ }>, {
7
+ oldPath: import("@activepieces/pieces-framework").ShortTextProperty<true>;
8
+ newPath: import("@activepieces/pieces-framework").ShortTextProperty<true>;
9
+ }>;
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.renameFileOrFolderAction = 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.renameFileOrFolderAction = (0, pieces_framework_1.createAction)({
9
+ auth: index_1.sftpAuth,
10
+ name: 'renameFileOrFolder',
11
+ displayName: 'Rename File or Folder',
12
+ description: 'Renames a file or folder at given path.',
13
+ props: {
14
+ oldPath: pieces_framework_1.Property.ShortText({
15
+ displayName: 'Old Path',
16
+ required: true,
17
+ description: 'The path of the file or folder to rename e.g. `./myfolder/test.mp3`',
18
+ }),
19
+ newPath: pieces_framework_1.Property.ShortText({
20
+ displayName: 'New Path',
21
+ required: true,
22
+ description: 'The new path of the file or folder e.g. `./myfolder/new-name.mp3`',
23
+ }),
24
+ },
25
+ run(context) {
26
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
27
+ const { host, port, username, password } = context.auth;
28
+ const oldPath = context.propsValue.oldPath;
29
+ const newPath = context.propsValue.newPath;
30
+ const sftp = new ssh2_sftp_client_1.default();
31
+ try {
32
+ yield sftp.connect({
33
+ host,
34
+ port,
35
+ username,
36
+ password,
37
+ readyTimeout: 15000,
38
+ });
39
+ yield sftp.rename(oldPath, newPath);
40
+ return {
41
+ status: 'success',
42
+ };
43
+ }
44
+ catch (err) {
45
+ return {
46
+ status: 'error',
47
+ error: err,
48
+ };
49
+ }
50
+ finally {
51
+ yield sftp.end();
52
+ }
53
+ });
54
+ },
55
+ });
56
+ //# sourceMappingURL=rename-file-or-folder.js.map
@@ -0,0 +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"}
@@ -0,0 +1,9 @@
1
+ export declare const uploadFileAction: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").CustomAuthProperty<{
2
+ host: import("@activepieces/pieces-framework").ShortTextProperty<true>;
3
+ port: import("@activepieces/pieces-framework").NumberProperty<true>;
4
+ username: import("@activepieces/pieces-framework").ShortTextProperty<true>;
5
+ password: import("@activepieces/pieces-framework").SecretTextProperty<true>;
6
+ }>, {
7
+ fileName: import("@activepieces/pieces-framework").ShortTextProperty<true>;
8
+ fileContent: import("@activepieces/pieces-framework").FileProperty<true>;
9
+ }>;
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.uploadFileAction = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const pieces_framework_1 = require("@activepieces/pieces-framework");
6
+ const ssh2_sftp_client_1 = tslib_1.__importDefault(require("ssh2-sftp-client"));
7
+ const __1 = require("../..");
8
+ exports.uploadFileAction = (0, pieces_framework_1.createAction)({
9
+ auth: __1.sftpAuth,
10
+ name: 'upload_file',
11
+ displayName: 'Upload File',
12
+ description: 'Upload a file to the given path.',
13
+ props: {
14
+ fileName: pieces_framework_1.Property.ShortText({
15
+ displayName: 'File Path',
16
+ required: true,
17
+ description: 'The path on the sftp server to store the file. e.g. `./myfolder/test.mp3`',
18
+ }),
19
+ fileContent: pieces_framework_1.Property.File({
20
+ displayName: 'File content',
21
+ required: true,
22
+ }),
23
+ },
24
+ run(context) {
25
+ 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;
30
+ const fileName = context.propsValue['fileName'];
31
+ const fileContent = context.propsValue['fileContent'];
32
+ const sftp = new ssh2_sftp_client_1.default();
33
+ 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
47
+ }
48
+ yield sftp.put(fileContent.data, fileName);
49
+ yield sftp.end();
50
+ return {
51
+ status: 'success',
52
+ };
53
+ }
54
+ catch (err) {
55
+ return {
56
+ status: 'error',
57
+ error: err,
58
+ };
59
+ }
60
+ });
61
+ },
62
+ });
63
+ //# sourceMappingURL=upload-file.js.map
@@ -0,0 +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"}
@@ -10,8 +10,8 @@ const dayjs_1 = tslib_1.__importDefault(require("dayjs"));
10
10
  const ssh2_sftp_client_1 = tslib_1.__importDefault(require("ssh2-sftp-client"));
11
11
  const polling = {
12
12
  strategy: pieces_common_1.DedupeStrategy.TIMEBASED,
13
- items: ({ auth, propsValue, lastFetchEpochMS }) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
14
- var _a;
13
+ items: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth, propsValue, lastFetchEpochMS }) {
14
+ var _b;
15
15
  const host = auth.host;
16
16
  const port = auth.port;
17
17
  const username = auth.username;
@@ -27,7 +27,7 @@ const polling = {
27
27
  let files = yield sftp.list(propsValue.path);
28
28
  yield sftp.end();
29
29
  files = files.filter((file) => (0, dayjs_1.default)(file.modifyTime).valueOf() > lastFetchEpochMS);
30
- if (((_a = propsValue.ignoreHiddenFiles) !== null && _a !== void 0 ? _a : false) === true)
30
+ if (((_b = propsValue.ignoreHiddenFiles) !== null && _b !== void 0 ? _b : false) === true)
31
31
  files = files.filter((file) => !file.name.startsWith('.'));
32
32
  return files.map((file) => ({
33
33
  data: Object.assign(Object.assign({}, file), { path: `${propsValue.path}/${file.name}` }),
@@ -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":"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"}
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"}