@activepieces/piece-sftp 0.5.1 → 0.5.3
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 +7 -19
- package/src/index.js +39 -47
- package/src/index.d.ts +0 -13
- package/src/index.d.ts.map +0 -1
- package/src/index.js.map +0 -1
- package/src/lib/actions/common.d.ts +0 -7
- package/src/lib/actions/common.d.ts.map +0 -1
- package/src/lib/actions/common.js +0 -138
- package/src/lib/actions/common.js.map +0 -1
- package/src/lib/actions/create-file.d.ts +0 -15
- package/src/lib/actions/create-file.d.ts.map +0 -1
- package/src/lib/actions/create-file.js +0 -92
- package/src/lib/actions/create-file.js.map +0 -1
- package/src/lib/actions/create-folder.d.ts +0 -15
- package/src/lib/actions/create-folder.d.ts.map +0 -1
- package/src/lib/actions/create-folder.js +0 -72
- package/src/lib/actions/create-folder.js.map +0 -1
- package/src/lib/actions/delete-file.d.ts +0 -14
- package/src/lib/actions/delete-file.d.ts.map +0 -1
- package/src/lib/actions/delete-file.js +0 -74
- package/src/lib/actions/delete-file.js.map +0 -1
- package/src/lib/actions/delete-folder.d.ts +0 -15
- package/src/lib/actions/delete-folder.d.ts.map +0 -1
- package/src/lib/actions/delete-folder.js +0 -87
- package/src/lib/actions/delete-folder.js.map +0 -1
- package/src/lib/actions/list-files.d.ts +0 -14
- package/src/lib/actions/list-files.d.ts.map +0 -1
- package/src/lib/actions/list-files.js +0 -94
- package/src/lib/actions/list-files.js.map +0 -1
- package/src/lib/actions/read-file.d.ts +0 -14
- package/src/lib/actions/read-file.d.ts.map +0 -1
- package/src/lib/actions/read-file.js +0 -92
- package/src/lib/actions/read-file.js.map +0 -1
- package/src/lib/actions/rename-file-or-folder.d.ts +0 -16
- package/src/lib/actions/rename-file-or-folder.d.ts.map +0 -1
- package/src/lib/actions/rename-file-or-folder.js +0 -88
- package/src/lib/actions/rename-file-or-folder.js.map +0 -1
- package/src/lib/actions/upload-file.d.ts +0 -15
- package/src/lib/actions/upload-file.d.ts.map +0 -1
- package/src/lib/actions/upload-file.js +0 -90
- package/src/lib/actions/upload-file.js.map +0 -1
- package/src/lib/auth.d.ts +0 -12
- package/src/lib/auth.d.ts.map +0 -1
- package/src/lib/auth.js +0 -121
- package/src/lib/auth.js.map +0 -1
- package/src/lib/common.d.ts +0 -17
- package/src/lib/common.d.ts.map +0 -1
- package/src/lib/common.js +0 -116
- package/src/lib/common.js.map +0 -1
- package/src/lib/triggers/new-modified-file.d.ts +0 -55
- package/src/lib/triggers/new-modified-file.d.ts.map +0 -1
- package/src/lib/triggers/new-modified-file.js +0 -82
- package/src/lib/triggers/new-modified-file.js.map +0 -1
package/src/lib/common.js
DELETED
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getProtocolBackwardCompatibility = getProtocolBackwardCompatibility;
|
|
4
|
-
exports.getClient = getClient;
|
|
5
|
-
exports.endClient = endClient;
|
|
6
|
-
const tslib_1 = require("tslib");
|
|
7
|
-
const shared_1 = require("@activepieces/shared");
|
|
8
|
-
const ssh2_sftp_client_1 = tslib_1.__importDefault(require("ssh2-sftp-client"));
|
|
9
|
-
const basic_ftp_1 = require("basic-ftp");
|
|
10
|
-
function getProtocolBackwardCompatibility(protocol) {
|
|
11
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
12
|
-
if ((0, shared_1.isNil)(protocol)) {
|
|
13
|
-
return 'sftp';
|
|
14
|
-
}
|
|
15
|
-
return protocol;
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
|
-
function getClient(auth) {
|
|
19
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
20
|
-
const { protocol, host, port, allow_unauthorized_certificates, allow_anonymous_login, username, password, privateKey, algorithm } = auth;
|
|
21
|
-
const protocolBackwardCompatibility = yield getProtocolBackwardCompatibility(protocol);
|
|
22
|
-
if (protocolBackwardCompatibility === 'sftp') {
|
|
23
|
-
const sftp = new ssh2_sftp_client_1.default();
|
|
24
|
-
if (privateKey) {
|
|
25
|
-
// Handle literal \n strings (from users who manually escaped newlines)
|
|
26
|
-
let processedKey = privateKey
|
|
27
|
-
.replace(/\\r\\n/g, '\n')
|
|
28
|
-
.replace(/\\n/g, '\n')
|
|
29
|
-
.replace(/\r\n/g, '\n')
|
|
30
|
-
.replace(/\r/g, '\n')
|
|
31
|
-
.trim();
|
|
32
|
-
// Handle case where browser input converts newlines to spaces
|
|
33
|
-
// Detect if key is on a single line (no newlines) but has PEM markers
|
|
34
|
-
if (!processedKey.includes('\n') && processedKey.match(/-----BEGIN [A-Z0-9 ]+ KEY-----.*-----END [A-Z0-9 ]+ KEY-----/)) {
|
|
35
|
-
// Split on spaces that appear after key markers or base64 content
|
|
36
|
-
// PEM format: header, optional encryption info, blank line, base64 (64 chars/line), footer
|
|
37
|
-
processedKey = processedKey
|
|
38
|
-
// Add newline after BEGIN header
|
|
39
|
-
.replace(/(-----BEGIN [A-Z0-9 ]+ KEY-----)\s+/, '$1\n')
|
|
40
|
-
// Add newline after Proc-Type header
|
|
41
|
-
.replace(/(Proc-Type:\s*\S+)\s+/, '$1\n')
|
|
42
|
-
// Add newline after DEK-Info header (followed by blank line)
|
|
43
|
-
.replace(/(DEK-Info:\s*\S+)\s+/, '$1\n\n')
|
|
44
|
-
// Add newline before END footer
|
|
45
|
-
.replace(/\s+(-----END [A-Z0-9 ]+ KEY-----)/, '\n$1');
|
|
46
|
-
// Now handle the base64 content - split into 64-char lines
|
|
47
|
-
const beginMatch = processedKey.match(/(-----BEGIN [A-Z0-9 ]+ KEY-----\n(?:Proc-Type:[^\n]+\n)?(?:DEK-Info:[^\n]+\n\n)?)/);
|
|
48
|
-
const endMatch = processedKey.match(/(\n-----END [A-Z0-9 ]+ KEY-----)/);
|
|
49
|
-
if (beginMatch && endMatch) {
|
|
50
|
-
const header = beginMatch[1];
|
|
51
|
-
const footer = endMatch[1];
|
|
52
|
-
const base64Content = processedKey
|
|
53
|
-
.replace(header, '')
|
|
54
|
-
.replace(footer, '')
|
|
55
|
-
.replace(/\s+/g, ''); // Remove all whitespace from base64
|
|
56
|
-
// Split base64 into 64-character lines
|
|
57
|
-
const lines = base64Content.match(/.{1,64}/g) || [];
|
|
58
|
-
processedKey = header + lines.join('\n') + footer;
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
const connectOptions = {
|
|
62
|
-
host,
|
|
63
|
-
port,
|
|
64
|
-
username,
|
|
65
|
-
privateKey: processedKey,
|
|
66
|
-
timeout: 10000,
|
|
67
|
-
};
|
|
68
|
-
if (password) {
|
|
69
|
-
connectOptions.passphrase = password;
|
|
70
|
-
}
|
|
71
|
-
if (algorithm && algorithm.length > 0) {
|
|
72
|
-
connectOptions.algorithms = {
|
|
73
|
-
serverHostKey: algorithm
|
|
74
|
-
};
|
|
75
|
-
}
|
|
76
|
-
yield sftp.connect(connectOptions);
|
|
77
|
-
}
|
|
78
|
-
else if (password) {
|
|
79
|
-
yield sftp.connect({
|
|
80
|
-
host,
|
|
81
|
-
port,
|
|
82
|
-
username,
|
|
83
|
-
password,
|
|
84
|
-
timeout: 10000,
|
|
85
|
-
});
|
|
86
|
-
}
|
|
87
|
-
return sftp;
|
|
88
|
-
}
|
|
89
|
-
else {
|
|
90
|
-
const ftpClient = new basic_ftp_1.Client();
|
|
91
|
-
yield ftpClient.access({
|
|
92
|
-
host,
|
|
93
|
-
port,
|
|
94
|
-
user: username,
|
|
95
|
-
password,
|
|
96
|
-
secure: protocolBackwardCompatibility === 'ftps',
|
|
97
|
-
secureOptions: {
|
|
98
|
-
rejectUnauthorized: !(allow_unauthorized_certificates !== null && allow_unauthorized_certificates !== void 0 ? allow_unauthorized_certificates : false),
|
|
99
|
-
}
|
|
100
|
-
});
|
|
101
|
-
return ftpClient;
|
|
102
|
-
}
|
|
103
|
-
});
|
|
104
|
-
}
|
|
105
|
-
function endClient(client, protocol) {
|
|
106
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
107
|
-
const protocolBackwardCompatibility = yield getProtocolBackwardCompatibility(protocol);
|
|
108
|
-
if (protocolBackwardCompatibility === 'sftp') {
|
|
109
|
-
yield client.end();
|
|
110
|
-
}
|
|
111
|
-
else {
|
|
112
|
-
client.close();
|
|
113
|
-
}
|
|
114
|
-
});
|
|
115
|
-
}
|
|
116
|
-
//# sourceMappingURL=common.js.map
|
package/src/lib/common.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/lib/common.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import { TriggerStrategy } from '@activepieces/pieces-framework';
|
|
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>;
|
|
4
|
-
allow_unauthorized_certificates: import("@activepieces/pieces-framework").CheckboxProperty<false>;
|
|
5
|
-
allow_anonymous_login: import("@activepieces/pieces-framework").CheckboxProperty<false>;
|
|
6
|
-
host: import("@activepieces/pieces-framework").ShortTextProperty<true>;
|
|
7
|
-
port: import("@activepieces/pieces-framework").NumberProperty<true>;
|
|
8
|
-
username: import("@activepieces/pieces-framework").ShortTextProperty<true>;
|
|
9
|
-
password: import("@activepieces/pieces-framework").SecretTextProperty<false>;
|
|
10
|
-
privateKey: import("@activepieces/pieces-framework").SecretTextProperty<false>;
|
|
11
|
-
algorithm: import("@activepieces/pieces-framework").StaticMultiSelectDropdownProperty<string, false>;
|
|
12
|
-
}>, {
|
|
13
|
-
path: import("@activepieces/pieces-framework").ShortTextProperty<true>;
|
|
14
|
-
ignoreHiddenFiles: import("@activepieces/pieces-framework").CheckboxProperty<false>;
|
|
15
|
-
}> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.POLLING, import("@activepieces/pieces-framework").CustomAuthProperty<{
|
|
16
|
-
protocol: import("@activepieces/pieces-framework").StaticDropdownProperty<string, false>;
|
|
17
|
-
allow_unauthorized_certificates: import("@activepieces/pieces-framework").CheckboxProperty<false>;
|
|
18
|
-
allow_anonymous_login: import("@activepieces/pieces-framework").CheckboxProperty<false>;
|
|
19
|
-
host: import("@activepieces/pieces-framework").ShortTextProperty<true>;
|
|
20
|
-
port: import("@activepieces/pieces-framework").NumberProperty<true>;
|
|
21
|
-
username: import("@activepieces/pieces-framework").ShortTextProperty<true>;
|
|
22
|
-
password: import("@activepieces/pieces-framework").SecretTextProperty<false>;
|
|
23
|
-
privateKey: import("@activepieces/pieces-framework").SecretTextProperty<false>;
|
|
24
|
-
algorithm: import("@activepieces/pieces-framework").StaticMultiSelectDropdownProperty<string, false>;
|
|
25
|
-
}>, {
|
|
26
|
-
path: import("@activepieces/pieces-framework").ShortTextProperty<true>;
|
|
27
|
-
ignoreHiddenFiles: import("@activepieces/pieces-framework").CheckboxProperty<false>;
|
|
28
|
-
}> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.MANUAL, import("@activepieces/pieces-framework").CustomAuthProperty<{
|
|
29
|
-
protocol: import("@activepieces/pieces-framework").StaticDropdownProperty<string, false>;
|
|
30
|
-
allow_unauthorized_certificates: import("@activepieces/pieces-framework").CheckboxProperty<false>;
|
|
31
|
-
allow_anonymous_login: import("@activepieces/pieces-framework").CheckboxProperty<false>;
|
|
32
|
-
host: import("@activepieces/pieces-framework").ShortTextProperty<true>;
|
|
33
|
-
port: import("@activepieces/pieces-framework").NumberProperty<true>;
|
|
34
|
-
username: import("@activepieces/pieces-framework").ShortTextProperty<true>;
|
|
35
|
-
password: import("@activepieces/pieces-framework").SecretTextProperty<false>;
|
|
36
|
-
privateKey: import("@activepieces/pieces-framework").SecretTextProperty<false>;
|
|
37
|
-
algorithm: import("@activepieces/pieces-framework").StaticMultiSelectDropdownProperty<string, false>;
|
|
38
|
-
}>, {
|
|
39
|
-
path: import("@activepieces/pieces-framework").ShortTextProperty<true>;
|
|
40
|
-
ignoreHiddenFiles: import("@activepieces/pieces-framework").CheckboxProperty<false>;
|
|
41
|
-
}> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.APP_WEBHOOK, import("@activepieces/pieces-framework").CustomAuthProperty<{
|
|
42
|
-
protocol: import("@activepieces/pieces-framework").StaticDropdownProperty<string, false>;
|
|
43
|
-
allow_unauthorized_certificates: import("@activepieces/pieces-framework").CheckboxProperty<false>;
|
|
44
|
-
allow_anonymous_login: import("@activepieces/pieces-framework").CheckboxProperty<false>;
|
|
45
|
-
host: import("@activepieces/pieces-framework").ShortTextProperty<true>;
|
|
46
|
-
port: import("@activepieces/pieces-framework").NumberProperty<true>;
|
|
47
|
-
username: import("@activepieces/pieces-framework").ShortTextProperty<true>;
|
|
48
|
-
password: import("@activepieces/pieces-framework").SecretTextProperty<false>;
|
|
49
|
-
privateKey: import("@activepieces/pieces-framework").SecretTextProperty<false>;
|
|
50
|
-
algorithm: import("@activepieces/pieces-framework").StaticMultiSelectDropdownProperty<string, false>;
|
|
51
|
-
}>, {
|
|
52
|
-
path: import("@activepieces/pieces-framework").ShortTextProperty<true>;
|
|
53
|
-
ignoreHiddenFiles: import("@activepieces/pieces-framework").CheckboxProperty<false>;
|
|
54
|
-
}>;
|
|
55
|
-
//# sourceMappingURL=new-modified-file.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"new-modified-file.d.ts","sourceRoot":"","sources":["../../../../src/lib/triggers/new-modified-file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiD,eAAe,EAAqC,MAAM,gCAAgC,CAAC;AAqDnJ,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiC5B,CAAC"}
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.newOrModifiedFile = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const pieces_framework_1 = require("@activepieces/pieces-framework");
|
|
6
|
-
const pieces_common_1 = require("@activepieces/pieces-common");
|
|
7
|
-
const common_1 = require("../common");
|
|
8
|
-
const auth_1 = require("../auth");
|
|
9
|
-
const dayjs_1 = tslib_1.__importDefault(require("dayjs"));
|
|
10
|
-
function getModifyTime(file, protocol) {
|
|
11
|
-
return protocol === 'sftp' ?
|
|
12
|
-
file.modifyTime :
|
|
13
|
-
(0, dayjs_1.default)(file.modifiedAt).valueOf();
|
|
14
|
-
}
|
|
15
|
-
const polling = {
|
|
16
|
-
strategy: pieces_common_1.DedupeStrategy.TIMEBASED,
|
|
17
|
-
items: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth, propsValue, lastFetchEpochMS }) {
|
|
18
|
-
let client = null;
|
|
19
|
-
try {
|
|
20
|
-
const protocolBackwardCompatibility = yield (0, common_1.getProtocolBackwardCompatibility)(auth.props.protocol);
|
|
21
|
-
client = yield (0, common_1.getClient)(auth.props);
|
|
22
|
-
const files = yield client.list(propsValue.path);
|
|
23
|
-
const filteredFiles = files.filter(file => {
|
|
24
|
-
const modTime = getModifyTime(file, protocolBackwardCompatibility);
|
|
25
|
-
return (0, dayjs_1.default)(modTime).valueOf() > lastFetchEpochMS;
|
|
26
|
-
});
|
|
27
|
-
const finalFiles = propsValue.ignoreHiddenFiles ?
|
|
28
|
-
filteredFiles.filter(file => !file.name.startsWith('.')) :
|
|
29
|
-
filteredFiles;
|
|
30
|
-
return finalFiles.map(file => {
|
|
31
|
-
const modTime = getModifyTime(file, protocolBackwardCompatibility);
|
|
32
|
-
return {
|
|
33
|
-
data: Object.assign(Object.assign({}, file), { path: `${propsValue.path}/${file.name}` }),
|
|
34
|
-
epochMilliSeconds: (0, dayjs_1.default)(modTime).valueOf(),
|
|
35
|
-
};
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
catch (err) {
|
|
39
|
-
return [];
|
|
40
|
-
}
|
|
41
|
-
finally {
|
|
42
|
-
if (client) {
|
|
43
|
-
yield (0, common_1.endClient)(client, auth.props.protocol);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
}),
|
|
47
|
-
};
|
|
48
|
-
exports.newOrModifiedFile = (0, pieces_framework_1.createTrigger)({
|
|
49
|
-
auth: auth_1.sftpAuth,
|
|
50
|
-
name: 'new_file',
|
|
51
|
-
displayName: 'New File',
|
|
52
|
-
description: 'Trigger when a new file is created or modified.',
|
|
53
|
-
props: {
|
|
54
|
-
path: pieces_framework_1.Property.ShortText({
|
|
55
|
-
displayName: 'Path',
|
|
56
|
-
description: 'The path to watch for new files',
|
|
57
|
-
required: true,
|
|
58
|
-
defaultValue: './',
|
|
59
|
-
}),
|
|
60
|
-
ignoreHiddenFiles: pieces_framework_1.Property.Checkbox({
|
|
61
|
-
displayName: 'Ignore hidden files',
|
|
62
|
-
description: 'Ignore hidden files',
|
|
63
|
-
required: false,
|
|
64
|
-
defaultValue: false,
|
|
65
|
-
}),
|
|
66
|
-
},
|
|
67
|
-
type: pieces_framework_1.TriggerStrategy.POLLING,
|
|
68
|
-
onEnable: (context) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
69
|
-
yield pieces_common_1.pollingHelper.onEnable(polling, context);
|
|
70
|
-
}),
|
|
71
|
-
onDisable: (context) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
72
|
-
yield pieces_common_1.pollingHelper.onDisable(polling, context);
|
|
73
|
-
}),
|
|
74
|
-
run: (context) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
75
|
-
return yield pieces_common_1.pollingHelper.poll(polling, context);
|
|
76
|
-
}),
|
|
77
|
-
test: (context) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
78
|
-
return yield pieces_common_1.pollingHelper.test(polling, context);
|
|
79
|
-
}),
|
|
80
|
-
sampleData: null,
|
|
81
|
-
});
|
|
82
|
-
//# sourceMappingURL=new-modified-file.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"new-modified-file.js","sourceRoot":"","sources":["../../../../src/lib/triggers/new-modified-file.ts"],"names":[],"mappings":"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"}
|