@activepieces/piece-snowflake 0.1.4 → 0.2.0
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 +4 -4
- package/src/i18n/de.json +37 -0
- package/src/i18n/es.json +37 -0
- package/src/i18n/fr.json +37 -0
- package/src/i18n/ja.json +37 -0
- package/src/i18n/nl.json +37 -0
- package/src/i18n/pt.json +37 -0
- package/src/i18n/ru.json +36 -0
- package/src/i18n/translation.json +37 -0
- package/src/i18n/vi.json +36 -0
- package/src/i18n/zh.json +37 -0
- package/src/index.d.ts +4 -2
- package/src/index.d.ts.map +1 -0
- package/src/index.js +33 -2
- package/src/index.js.map +1 -1
- package/src/lib/actions/create-dynamic-table.d.ts +36 -0
- package/src/lib/actions/create-dynamic-table.d.ts.map +1 -0
- package/src/lib/actions/create-dynamic-table.js +81 -0
- package/src/lib/actions/create-dynamic-table.js.map +1 -0
- package/src/lib/actions/delete-row.d.ts +43 -0
- package/src/lib/actions/delete-row.d.ts.map +1 -0
- package/src/lib/actions/delete-row.js +45 -0
- package/src/lib/actions/delete-row.js.map +1 -0
- package/src/lib/actions/execute-stored-procedure.d.ts +43 -0
- package/src/lib/actions/execute-stored-procedure.d.ts.map +1 -0
- package/src/lib/actions/execute-stored-procedure.js +92 -0
- package/src/lib/actions/execute-stored-procedure.js.map +1 -0
- package/src/lib/actions/get-row-by-id.d.ts +53 -0
- package/src/lib/actions/get-row-by-id.d.ts.map +1 -0
- package/src/lib/actions/get-row-by-id.js +67 -0
- package/src/lib/actions/get-row-by-id.js.map +1 -0
- package/src/lib/actions/get-table-schema.d.ts +42 -0
- package/src/lib/actions/get-table-schema.d.ts.map +1 -0
- package/src/lib/actions/get-table-schema.js +49 -0
- package/src/lib/actions/get-table-schema.js.map +1 -0
- package/src/lib/actions/insert-multiple-rows.d.ts +43 -0
- package/src/lib/actions/insert-multiple-rows.d.ts.map +1 -0
- package/src/lib/actions/insert-multiple-rows.js +81 -0
- package/src/lib/actions/insert-multiple-rows.js.map +1 -0
- package/src/lib/actions/insert-row.d.ts +16 -10
- package/src/lib/actions/insert-row.d.ts.map +1 -0
- package/src/lib/actions/insert-row.js +1 -1
- package/src/lib/actions/insert-row.js.map +1 -1
- package/src/lib/actions/list-tables.d.ts +32 -0
- package/src/lib/actions/list-tables.d.ts.map +1 -0
- package/src/lib/actions/list-tables.js +47 -0
- package/src/lib/actions/list-tables.js.map +1 -0
- package/src/lib/actions/load-data-from-stage.d.ts +48 -0
- package/src/lib/actions/load-data-from-stage.d.ts.map +1 -0
- package/src/lib/actions/load-data-from-stage.js +117 -0
- package/src/lib/actions/load-data-from-stage.js.map +1 -0
- package/src/lib/actions/run-multiple-queries.d.ts +4 -2
- package/src/lib/actions/run-multiple-queries.d.ts.map +1 -0
- package/src/lib/actions/run-multiple-queries.js +1 -1
- package/src/lib/actions/run-multiple-queries.js.map +1 -1
- package/src/lib/actions/run-query.d.ts +4 -2
- package/src/lib/actions/run-query.d.ts.map +1 -0
- package/src/lib/actions/run-query.js +1 -1
- package/src/lib/actions/run-query.js.map +1 -1
- package/src/lib/actions/search-rows.d.ts +45 -0
- package/src/lib/actions/search-rows.d.ts.map +1 -0
- package/src/lib/actions/search-rows.js +58 -0
- package/src/lib/actions/search-rows.js.map +1 -0
- package/src/lib/actions/update-row.d.ts +53 -0
- package/src/lib/actions/update-row.d.ts.map +1 -0
- package/src/lib/actions/update-row.js +54 -0
- package/src/lib/actions/update-row.js.map +1 -0
- package/src/lib/actions/upsert-row.d.ts +62 -0
- package/src/lib/actions/upsert-row.d.ts.map +1 -0
- package/src/lib/actions/upsert-row.js +93 -0
- package/src/lib/actions/upsert-row.js.map +1 -0
- package/src/lib/auth.d.ts +14 -1
- package/src/lib/auth.d.ts.map +1 -0
- package/src/lib/auth.js +203 -17
- package/src/lib/auth.js.map +1 -1
- package/src/lib/common/index.d.ts +49 -11
- package/src/lib/common/index.d.ts.map +1 -0
- package/src/lib/common/index.js +88 -36
- package/src/lib/common/index.js.map +1 -1
package/src/lib/auth.js
CHANGED
|
@@ -1,43 +1,204 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.snowflakeAuth = void 0;
|
|
3
|
+
exports.snowflakeAuth = exports.snowflakeCustomAuth = exports.snowflakeOAuth2Auth = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const pieces_framework_1 = require("@activepieces/pieces-framework");
|
|
6
|
-
|
|
6
|
+
const snowflake_sdk_1 = tslib_1.__importDefault(require("snowflake-sdk"));
|
|
7
|
+
// Suppress the SDK's verbose INFO/DEBUG logs so they don't corrupt stdout IPC
|
|
8
|
+
snowflake_sdk_1.default.configure({ logLevel: 'ERROR' });
|
|
9
|
+
function formatPrivateKey(privateKey) {
|
|
10
|
+
const lines = privateKey
|
|
11
|
+
.replace('-----BEGIN PRIVATE KEY-----', '')
|
|
12
|
+
.replace('-----END PRIVATE KEY-----', '')
|
|
13
|
+
.trim()
|
|
14
|
+
.split(' ');
|
|
15
|
+
return [
|
|
16
|
+
'-----BEGIN PRIVATE KEY-----',
|
|
17
|
+
...lines,
|
|
18
|
+
'-----END PRIVATE KEY-----',
|
|
19
|
+
].join('\n');
|
|
20
|
+
}
|
|
21
|
+
function connectAsync(conn) {
|
|
22
|
+
return new Promise((resolve, reject) => conn.connect((err) => (err ? reject(err) : resolve())));
|
|
23
|
+
}
|
|
24
|
+
function destroyAsync(conn) {
|
|
25
|
+
return new Promise((resolve, reject) => conn.destroy((err) => (err ? reject(err) : resolve())));
|
|
26
|
+
}
|
|
27
|
+
exports.snowflakeOAuth2Auth = pieces_framework_1.PieceAuth.OAuth2({
|
|
28
|
+
displayName: 'OAuth',
|
|
29
|
+
description: `Connect via Snowflake OAuth using a custom security integration.
|
|
30
|
+
|
|
31
|
+
> **Prerequisite:** You need the \`ACCOUNTADMIN\` role (or a role with the \`CREATE INTEGRATION\` privilege).
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
### Step 1 — Create a security integration
|
|
36
|
+
|
|
37
|
+
Open a **SQL Worksheet** in your Snowflake console and run:
|
|
38
|
+
|
|
39
|
+
\`\`\`sql
|
|
40
|
+
CREATE SECURITY INTEGRATION "activepieces"
|
|
41
|
+
TYPE = OAUTH
|
|
42
|
+
OAUTH_CLIENT = CUSTOM
|
|
43
|
+
OAUTH_CLIENT_TYPE = 'CONFIDENTIAL'
|
|
44
|
+
OAUTH_REDIRECT_URI = 'https://cloud.activepieces.com/redirect'
|
|
45
|
+
ENABLED = TRUE
|
|
46
|
+
OAUTH_ISSUE_REFRESH_TOKENS = TRUE;
|
|
47
|
+
\`\`\`
|
|
48
|
+
|
|
49
|
+
> Replace the redirect URI with the one shown on your Activepieces OAuth connection page.
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
### Step 2 — Retrieve client credentials
|
|
54
|
+
|
|
55
|
+
Run the following query to get your **Client ID** and **Client Secret**:
|
|
56
|
+
|
|
57
|
+
\`\`\`sql
|
|
58
|
+
SELECT SYSTEM$SHOW_OAUTH_CLIENT_SECRETS('activepieces');
|
|
59
|
+
\`\`\`
|
|
60
|
+
|
|
61
|
+
Copy \`OAUTH_CLIENT_ID\` and \`OAUTH_CLIENT_SECRET\` from the JSON result.
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
### Step 3 — Find your Account Identifier
|
|
66
|
+
|
|
67
|
+
Click the **account icon** at the bottom-left of the Snowflake console → **View account details**.
|
|
68
|
+
Copy the **Account Identifier** (e.g. \`xy12345.us-east-1\` or \`orgname-accountname\`).
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
### Step 4 — Connect
|
|
73
|
+
|
|
74
|
+
Enter the **Client ID** and **Client Secret** in the Activepieces OAuth2 settings for this connection, fill in the **Account Identifier** below, then click **Connect**.`,
|
|
75
|
+
authUrl: 'https://{account}.snowflakecomputing.com/oauth/authorize',
|
|
76
|
+
tokenUrl: 'https://{account}.snowflakecomputing.com/oauth/token-request',
|
|
77
|
+
scope: ['session:role-any', 'refresh_token'],
|
|
78
|
+
pkce: false,
|
|
79
|
+
authorizationMethod: pieces_framework_1.OAuth2AuthorizationMethod.BODY,
|
|
80
|
+
required: true,
|
|
7
81
|
props: {
|
|
8
82
|
account: pieces_framework_1.Property.ShortText({
|
|
9
|
-
displayName: 'Account',
|
|
83
|
+
displayName: 'Account Identifier',
|
|
10
84
|
required: true,
|
|
11
|
-
description: '
|
|
85
|
+
description: 'Account icon (bottom-left) → **View account details** → copy the **Account Identifier**. Examples: `xy12345.us-east-1`, `orgname-accountname`.',
|
|
86
|
+
}),
|
|
87
|
+
database: pieces_framework_1.Property.ShortText({
|
|
88
|
+
displayName: 'Default Database',
|
|
89
|
+
required: false,
|
|
90
|
+
description: 'Optional. Default database for queries. Find names under **Data → Databases**.',
|
|
91
|
+
}),
|
|
92
|
+
warehouse: pieces_framework_1.Property.ShortText({
|
|
93
|
+
displayName: 'Default Warehouse',
|
|
94
|
+
required: false,
|
|
95
|
+
description: 'Optional. Default virtual warehouse. Find names under **Admin → Warehouses**.',
|
|
96
|
+
}),
|
|
97
|
+
role: pieces_framework_1.Property.ShortText({
|
|
98
|
+
displayName: 'Default Role',
|
|
99
|
+
required: false,
|
|
100
|
+
description: 'Optional. Default security role. Find names under **Admin → Users & Roles → Roles**.',
|
|
101
|
+
}),
|
|
102
|
+
},
|
|
103
|
+
validate: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth }) {
|
|
104
|
+
try {
|
|
105
|
+
const conn = snowflake_sdk_1.default.createConnection({
|
|
106
|
+
account: auth.props['account'],
|
|
107
|
+
authenticator: 'OAUTH',
|
|
108
|
+
token: auth.access_token,
|
|
109
|
+
database: auth.props['database'],
|
|
110
|
+
warehouse: auth.props['warehouse'],
|
|
111
|
+
role: auth.props['role'],
|
|
112
|
+
application: 'ActivePieces',
|
|
113
|
+
});
|
|
114
|
+
yield connectAsync(conn);
|
|
115
|
+
yield destroyAsync(conn);
|
|
116
|
+
return { valid: true };
|
|
117
|
+
}
|
|
118
|
+
catch (e) {
|
|
119
|
+
return { valid: false, error: e.message };
|
|
120
|
+
}
|
|
121
|
+
}),
|
|
122
|
+
});
|
|
123
|
+
exports.snowflakeCustomAuth = pieces_framework_1.PieceAuth.CustomAuth({
|
|
124
|
+
displayName: 'Username & Password / Key Pair',
|
|
125
|
+
description: `Connect using your Snowflake username with either a **password** or an **RSA private key**.
|
|
126
|
+
|
|
127
|
+
### Finding your Account Identifier
|
|
128
|
+
|
|
129
|
+
Click the **account icon** at the bottom-left of the Snowflake console → **View account details**.
|
|
130
|
+
Copy the **Account Identifier** (e.g. \`xy12345.us-east-1\` or \`orgname-accountname\`).
|
|
131
|
+
|
|
132
|
+
---
|
|
133
|
+
|
|
134
|
+
### Option A — Password
|
|
135
|
+
|
|
136
|
+
Use your Snowflake username and the password you use to log in at [app.snowflake.com](https://app.snowflake.com).
|
|
137
|
+
Your username is shown in the profile section at the top-left of the console, or under **Admin → Users & Roles → Users**.
|
|
138
|
+
|
|
139
|
+
---
|
|
140
|
+
|
|
141
|
+
### Option B — Key Pair *(recommended for automation)*
|
|
142
|
+
|
|
143
|
+
**1. Generate a key pair** (run in your terminal):
|
|
144
|
+
|
|
145
|
+
\`\`\`bash
|
|
146
|
+
# Unencrypted (no passphrase needed)
|
|
147
|
+
openssl genrsa 2048 | openssl pkcs8 -topk8 -nocrypt -out rsa_key.p8
|
|
148
|
+
openssl rsa -in rsa_key.p8 -pubout -out rsa_key.pub
|
|
149
|
+
|
|
150
|
+
# Encrypted (you will be prompted for a passphrase)
|
|
151
|
+
openssl genrsa 2048 | openssl pkcs8 -topk8 -out rsa_key_encrypted.p8
|
|
152
|
+
openssl rsa -in rsa_key_encrypted.p8 -pubout -out rsa_key.pub
|
|
153
|
+
\`\`\`
|
|
154
|
+
|
|
155
|
+
**2. Register the public key** with your Snowflake user (run in a SQL Worksheet):
|
|
156
|
+
|
|
157
|
+
\`\`\`sql
|
|
158
|
+
ALTER USER <your_username>
|
|
159
|
+
SET RSA_PUBLIC_KEY='<contents of rsa_key.pub, excluding the BEGIN/END lines>';
|
|
160
|
+
\`\`\`
|
|
161
|
+
|
|
162
|
+
**3. Paste the private key** — copy the full contents of \`rsa_key.p8\` (including the \`-----BEGIN PRIVATE KEY-----\` header and footer) into the **Private Key** field below.`,
|
|
163
|
+
props: {
|
|
164
|
+
account: pieces_framework_1.Property.ShortText({
|
|
165
|
+
displayName: 'Account Identifier',
|
|
166
|
+
required: true,
|
|
167
|
+
description: 'Account icon (bottom-left) → **View account details** → copy the **Account Identifier**. Examples: `xy12345.us-east-1`, `orgname-accountname`.',
|
|
12
168
|
}),
|
|
13
169
|
username: pieces_framework_1.Property.ShortText({
|
|
14
170
|
displayName: 'Username',
|
|
15
171
|
required: true,
|
|
16
|
-
description: '
|
|
172
|
+
description: 'Your Snowflake login name. Shown in the profile section (top-left of the console) or under **Admin → Users & Roles → Users**.',
|
|
17
173
|
}),
|
|
18
174
|
password: pieces_framework_1.PieceAuth.SecretText({
|
|
19
175
|
displayName: 'Password',
|
|
20
|
-
description: '
|
|
176
|
+
description: 'Your Snowflake password *(Option A)*. Leave blank if you are using a Private Key.',
|
|
21
177
|
required: false,
|
|
22
178
|
}),
|
|
23
179
|
privateKey: pieces_framework_1.PieceAuth.SecretText({
|
|
24
180
|
displayName: 'Private Key',
|
|
25
|
-
description: '
|
|
181
|
+
description: 'RSA private key in PEM format *(Option B)*. Paste the full contents of your `.p8` file, including the `-----BEGIN PRIVATE KEY-----` and `-----END PRIVATE KEY-----` lines. Leave blank if you are using a Password.',
|
|
182
|
+
required: false,
|
|
183
|
+
}),
|
|
184
|
+
privateKeyPassphrase: pieces_framework_1.PieceAuth.SecretText({
|
|
185
|
+
displayName: 'Private Key Passphrase',
|
|
186
|
+
description: 'Passphrase for the private key. Only required if you generated an **encrypted** key pair.',
|
|
26
187
|
required: false,
|
|
27
188
|
}),
|
|
28
189
|
database: pieces_framework_1.Property.ShortText({
|
|
29
|
-
displayName: 'Database',
|
|
30
|
-
description: '
|
|
190
|
+
displayName: 'Default Database',
|
|
191
|
+
description: 'Optional. Default database for queries. Find names under **Data → Databases**.',
|
|
31
192
|
required: false,
|
|
32
193
|
}),
|
|
33
194
|
role: pieces_framework_1.Property.ShortText({
|
|
34
|
-
displayName: 'Role',
|
|
35
|
-
description: '
|
|
195
|
+
displayName: 'Default Role',
|
|
196
|
+
description: 'Optional. Default security role. Find names under **Admin → Users & Roles → Roles**.',
|
|
36
197
|
required: false,
|
|
37
198
|
}),
|
|
38
199
|
warehouse: pieces_framework_1.Property.ShortText({
|
|
39
|
-
displayName: 'Warehouse',
|
|
40
|
-
description: '
|
|
200
|
+
displayName: 'Default Warehouse',
|
|
201
|
+
description: 'Optional. Default virtual warehouse. Find names under **Admin → Warehouses**.',
|
|
41
202
|
required: false,
|
|
42
203
|
}),
|
|
43
204
|
},
|
|
@@ -46,12 +207,37 @@ exports.snowflakeAuth = pieces_framework_1.PieceAuth.CustomAuth({
|
|
|
46
207
|
if (!auth.password && !auth.privateKey) {
|
|
47
208
|
return {
|
|
48
209
|
valid: false,
|
|
49
|
-
error: 'Either
|
|
210
|
+
error: 'Either Password or Private Key must be provided.',
|
|
50
211
|
};
|
|
51
212
|
}
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
213
|
+
try {
|
|
214
|
+
const connectionOptions = {
|
|
215
|
+
account: auth.account,
|
|
216
|
+
username: auth.username,
|
|
217
|
+
database: auth.database,
|
|
218
|
+
warehouse: auth.warehouse,
|
|
219
|
+
role: auth.role,
|
|
220
|
+
application: 'ActivePieces',
|
|
221
|
+
};
|
|
222
|
+
if (auth.privateKey) {
|
|
223
|
+
connectionOptions.authenticator = 'SNOWFLAKE_JWT';
|
|
224
|
+
connectionOptions.privateKey = formatPrivateKey(auth.privateKey);
|
|
225
|
+
if (auth.privateKeyPassphrase) {
|
|
226
|
+
connectionOptions.privateKeyPass = auth.privateKeyPassphrase;
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
else {
|
|
230
|
+
connectionOptions.password = auth.password;
|
|
231
|
+
}
|
|
232
|
+
const conn = snowflake_sdk_1.default.createConnection(connectionOptions);
|
|
233
|
+
yield connectAsync(conn);
|
|
234
|
+
yield destroyAsync(conn);
|
|
235
|
+
return { valid: true };
|
|
236
|
+
}
|
|
237
|
+
catch (e) {
|
|
238
|
+
return { valid: false, error: e.message };
|
|
239
|
+
}
|
|
55
240
|
}),
|
|
56
241
|
});
|
|
242
|
+
exports.snowflakeAuth = [exports.snowflakeOAuth2Auth, exports.snowflakeCustomAuth];
|
|
57
243
|
//# sourceMappingURL=auth.js.map
|
package/src/lib/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/lib/auth.ts"],"names":[],"mappings":";;;;AAAA,
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/lib/auth.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,45 +1,83 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { DropdownState } from '@activepieces/pieces-framework';
|
|
2
|
+
import { AppConnectionType } from '@activepieces/shared';
|
|
3
3
|
import snowflake from 'snowflake-sdk';
|
|
4
|
-
export
|
|
4
|
+
export type SnowflakeAuthValue = {
|
|
5
|
+
type: AppConnectionType.OAUTH2;
|
|
6
|
+
access_token: string;
|
|
7
|
+
props: {
|
|
8
|
+
account: string;
|
|
9
|
+
database?: string;
|
|
10
|
+
warehouse?: string;
|
|
11
|
+
role?: string;
|
|
12
|
+
};
|
|
13
|
+
} | {
|
|
14
|
+
type: AppConnectionType.CUSTOM_AUTH;
|
|
15
|
+
props: {
|
|
16
|
+
account: string;
|
|
17
|
+
username: string;
|
|
18
|
+
password?: string;
|
|
19
|
+
privateKey?: string;
|
|
20
|
+
privateKeyPassphrase?: string;
|
|
21
|
+
database?: string;
|
|
22
|
+
role?: string;
|
|
23
|
+
warehouse?: string;
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
export declare function configureConnection(auth: SnowflakeAuthValue, application?: string, timeout?: number): snowflake.Connection;
|
|
5
27
|
export declare function connect(conn: snowflake.Connection): Promise<void>;
|
|
6
28
|
export declare function destroy(conn: snowflake.Connection): Promise<void>;
|
|
7
29
|
export declare function execute(conn: snowflake.Connection, sqlText: string, binds: snowflake.Binds): Promise<any[] | undefined>;
|
|
8
30
|
export declare const snowflakeCommonProps: {
|
|
9
|
-
database: import("@activepieces/pieces-framework").DropdownProperty<
|
|
31
|
+
database: import("@activepieces/pieces-framework").DropdownProperty<string, true, (import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props> | import("@activepieces/pieces-framework").CustomAuthProperty<{
|
|
32
|
+
account: import("@activepieces/pieces-framework").ShortTextProperty<true>;
|
|
33
|
+
username: import("@activepieces/pieces-framework").ShortTextProperty<true>;
|
|
34
|
+
password: import("@activepieces/pieces-framework").SecretTextProperty<false>;
|
|
35
|
+
privateKey: import("@activepieces/pieces-framework").SecretTextProperty<false>;
|
|
36
|
+
privateKeyPassphrase: import("@activepieces/pieces-framework").SecretTextProperty<false>;
|
|
37
|
+
database: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
38
|
+
role: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
39
|
+
warehouse: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
40
|
+
}>)[]>;
|
|
41
|
+
schema: import("@activepieces/pieces-framework").DropdownProperty<string, true, (import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props> | import("@activepieces/pieces-framework").CustomAuthProperty<{
|
|
10
42
|
account: import("@activepieces/pieces-framework").ShortTextProperty<true>;
|
|
11
43
|
username: import("@activepieces/pieces-framework").ShortTextProperty<true>;
|
|
12
44
|
password: import("@activepieces/pieces-framework").SecretTextProperty<false>;
|
|
13
45
|
privateKey: import("@activepieces/pieces-framework").SecretTextProperty<false>;
|
|
46
|
+
privateKeyPassphrase: import("@activepieces/pieces-framework").SecretTextProperty<false>;
|
|
14
47
|
database: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
15
48
|
role: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
16
49
|
warehouse: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
17
|
-
}
|
|
18
|
-
|
|
50
|
+
}>)[]>;
|
|
51
|
+
table: import("@activepieces/pieces-framework").DropdownProperty<string, true, (import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props> | import("@activepieces/pieces-framework").CustomAuthProperty<{
|
|
19
52
|
account: import("@activepieces/pieces-framework").ShortTextProperty<true>;
|
|
20
53
|
username: import("@activepieces/pieces-framework").ShortTextProperty<true>;
|
|
21
54
|
password: import("@activepieces/pieces-framework").SecretTextProperty<false>;
|
|
22
55
|
privateKey: import("@activepieces/pieces-framework").SecretTextProperty<false>;
|
|
56
|
+
privateKeyPassphrase: import("@activepieces/pieces-framework").SecretTextProperty<false>;
|
|
23
57
|
database: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
24
58
|
role: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
25
59
|
warehouse: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
26
|
-
}
|
|
27
|
-
|
|
60
|
+
}>)[]>;
|
|
61
|
+
table_column_values: import("@activepieces/pieces-framework").DynamicProperties<true, (import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props> | import("@activepieces/pieces-framework").CustomAuthProperty<{
|
|
28
62
|
account: import("@activepieces/pieces-framework").ShortTextProperty<true>;
|
|
29
63
|
username: import("@activepieces/pieces-framework").ShortTextProperty<true>;
|
|
30
64
|
password: import("@activepieces/pieces-framework").SecretTextProperty<false>;
|
|
31
65
|
privateKey: import("@activepieces/pieces-framework").SecretTextProperty<false>;
|
|
66
|
+
privateKeyPassphrase: import("@activepieces/pieces-framework").SecretTextProperty<false>;
|
|
32
67
|
database: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
33
68
|
role: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
34
69
|
warehouse: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
35
|
-
}
|
|
36
|
-
|
|
70
|
+
}>)[]>;
|
|
71
|
+
table_update_values: import("@activepieces/pieces-framework").DynamicProperties<true, (import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props> | import("@activepieces/pieces-framework").CustomAuthProperty<{
|
|
37
72
|
account: import("@activepieces/pieces-framework").ShortTextProperty<true>;
|
|
38
73
|
username: import("@activepieces/pieces-framework").ShortTextProperty<true>;
|
|
39
74
|
password: import("@activepieces/pieces-framework").SecretTextProperty<false>;
|
|
40
75
|
privateKey: import("@activepieces/pieces-framework").SecretTextProperty<false>;
|
|
76
|
+
privateKeyPassphrase: import("@activepieces/pieces-framework").SecretTextProperty<false>;
|
|
41
77
|
database: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
42
78
|
role: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
43
79
|
warehouse: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
44
|
-
}
|
|
80
|
+
}>)[]>;
|
|
45
81
|
};
|
|
82
|
+
export declare function getTableColumnOptions(auth: SnowflakeAuthValue, table: string): Promise<DropdownState<string>>;
|
|
83
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/common/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,aAAa,EAEd,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,OAAO,SAAS,MAAM,eAAe,CAAC;AAKtC,MAAM,MAAM,kBAAkB,GAC1B;IACE,IAAI,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE;QACL,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;CACH,GACD;IACE,IAAI,EAAE,iBAAiB,CAAC,WAAW,CAAC;IACpC,KAAK,EAAE;QACL,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;CACH,CAAC;AAgBN,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,kBAAkB,EACxB,WAAW,SAA2B,EACtC,OAAO,SAAwB,wBA+ChC;AAED,wBAAsB,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,UAAU,iBAUvD;AAED,wBAAsB,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,UAAU,iBAUvD;AAED,wBAAsB,OAAO,CAC3B,IAAI,EAAE,SAAS,CAAC,UAAU,EAC1B,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,SAAS,CAAC,KAAK,8BAevB;AAED,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkLhC,CAAC;AAEF,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,kBAAkB,EACxB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAchC"}
|
package/src/lib/common/index.js
CHANGED
|
@@ -5,8 +5,10 @@ exports.configureConnection = configureConnection;
|
|
|
5
5
|
exports.connect = connect;
|
|
6
6
|
exports.destroy = destroy;
|
|
7
7
|
exports.execute = execute;
|
|
8
|
+
exports.getTableColumnOptions = getTableColumnOptions;
|
|
8
9
|
const tslib_1 = require("tslib");
|
|
9
10
|
const pieces_framework_1 = require("@activepieces/pieces-framework");
|
|
11
|
+
const shared_1 = require("@activepieces/shared");
|
|
10
12
|
const auth_1 = require("../auth");
|
|
11
13
|
const snowflake_sdk_1 = tslib_1.__importDefault(require("snowflake-sdk"));
|
|
12
14
|
const DEFAULT_APPLICATION_NAME = 'ActivePieces';
|
|
@@ -24,21 +26,37 @@ function formatPrivateKey(privateKey) {
|
|
|
24
26
|
].join('\n');
|
|
25
27
|
}
|
|
26
28
|
function configureConnection(auth, application = DEFAULT_APPLICATION_NAME, timeout = DEFAULT_QUERY_TIMEOUT) {
|
|
29
|
+
if (auth.type === shared_1.AppConnectionType.OAUTH2) {
|
|
30
|
+
return snowflake_sdk_1.default.createConnection({
|
|
31
|
+
account: auth.props.account,
|
|
32
|
+
authenticator: 'OAUTH',
|
|
33
|
+
token: auth.access_token,
|
|
34
|
+
database: auth.props.database,
|
|
35
|
+
warehouse: auth.props.warehouse,
|
|
36
|
+
role: auth.props.role,
|
|
37
|
+
application,
|
|
38
|
+
timeout,
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
const { account, username, password, privateKey, privateKeyPassphrase, database, role, warehouse, } = auth.props;
|
|
27
42
|
const connectionOptions = {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
43
|
+
account,
|
|
44
|
+
username,
|
|
45
|
+
role,
|
|
46
|
+
database,
|
|
47
|
+
warehouse,
|
|
48
|
+
application,
|
|
49
|
+
timeout,
|
|
35
50
|
};
|
|
36
|
-
if (
|
|
37
|
-
connectionOptions.privateKey = formatPrivateKey(
|
|
51
|
+
if (privateKey) {
|
|
52
|
+
connectionOptions.privateKey = formatPrivateKey(privateKey);
|
|
38
53
|
connectionOptions.authenticator = 'SNOWFLAKE_JWT';
|
|
54
|
+
if (privateKeyPassphrase) {
|
|
55
|
+
connectionOptions.privateKeyPass = privateKeyPassphrase;
|
|
56
|
+
}
|
|
39
57
|
}
|
|
40
58
|
else {
|
|
41
|
-
connectionOptions.password =
|
|
59
|
+
connectionOptions.password = password;
|
|
42
60
|
}
|
|
43
61
|
return snowflake_sdk_1.default.createConnection(connectionOptions);
|
|
44
62
|
}
|
|
@@ -102,20 +120,17 @@ exports.snowflakeCommonProps = {
|
|
|
102
120
|
placeholder: 'Please connect your account first',
|
|
103
121
|
};
|
|
104
122
|
}
|
|
105
|
-
const
|
|
106
|
-
const connection = configureConnection(authValue.props);
|
|
123
|
+
const connection = configureConnection(auth);
|
|
107
124
|
yield connect(connection);
|
|
108
125
|
const response = yield execute(connection, 'SHOW DATABASES', []);
|
|
109
126
|
yield destroy(connection);
|
|
110
127
|
return {
|
|
111
128
|
disabled: false,
|
|
112
129
|
options: response
|
|
113
|
-
? response.map((db) => {
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
};
|
|
118
|
-
})
|
|
130
|
+
? response.map((db) => ({
|
|
131
|
+
label: db['name'],
|
|
132
|
+
value: db['name'],
|
|
133
|
+
}))
|
|
119
134
|
: [],
|
|
120
135
|
};
|
|
121
136
|
}),
|
|
@@ -140,20 +155,17 @@ exports.snowflakeCommonProps = {
|
|
|
140
155
|
placeholder: 'Please select database first',
|
|
141
156
|
};
|
|
142
157
|
}
|
|
143
|
-
const
|
|
144
|
-
const connection = configureConnection(authValue.props);
|
|
158
|
+
const connection = configureConnection(auth);
|
|
145
159
|
yield connect(connection);
|
|
146
160
|
const response = yield execute(connection, `SHOW SCHEMAS IN DATABASE ${database}`, []);
|
|
147
161
|
yield destroy(connection);
|
|
148
162
|
return {
|
|
149
163
|
disabled: false,
|
|
150
164
|
options: response
|
|
151
|
-
? response.map((schema) => {
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
};
|
|
156
|
-
})
|
|
165
|
+
? response.map((schema) => ({
|
|
166
|
+
label: schema['name'],
|
|
167
|
+
value: schema['name'],
|
|
168
|
+
}))
|
|
157
169
|
: [],
|
|
158
170
|
};
|
|
159
171
|
}),
|
|
@@ -185,20 +197,17 @@ exports.snowflakeCommonProps = {
|
|
|
185
197
|
placeholder: 'Please select schema first',
|
|
186
198
|
};
|
|
187
199
|
}
|
|
188
|
-
const
|
|
189
|
-
const connection = configureConnection(authValue.props);
|
|
200
|
+
const connection = configureConnection(auth);
|
|
190
201
|
yield connect(connection);
|
|
191
202
|
const response = yield execute(connection, `SHOW TABLES IN SCHEMA ${database}.${schema}`, []);
|
|
192
203
|
yield destroy(connection);
|
|
193
204
|
return {
|
|
194
205
|
disabled: false,
|
|
195
206
|
options: response
|
|
196
|
-
? response.map((table) => {
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
};
|
|
201
|
-
})
|
|
207
|
+
? response.map((table) => ({
|
|
208
|
+
label: table['name'],
|
|
209
|
+
value: `${database}.${schema}.${table['name']}`,
|
|
210
|
+
}))
|
|
202
211
|
: [],
|
|
203
212
|
};
|
|
204
213
|
}),
|
|
@@ -213,8 +222,34 @@ exports.snowflakeCommonProps = {
|
|
|
213
222
|
return {};
|
|
214
223
|
if (!table)
|
|
215
224
|
return {};
|
|
216
|
-
const
|
|
217
|
-
|
|
225
|
+
const connection = configureConnection(auth);
|
|
226
|
+
yield connect(connection);
|
|
227
|
+
const response = yield execute(connection, `DESCRIBE TABLE ${table}`, []);
|
|
228
|
+
yield destroy(connection);
|
|
229
|
+
const fields = {};
|
|
230
|
+
if (response) {
|
|
231
|
+
for (const column of response) {
|
|
232
|
+
fields[column.name] = pieces_framework_1.Property.ShortText({
|
|
233
|
+
displayName: column.name,
|
|
234
|
+
required: false,
|
|
235
|
+
});
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
return fields;
|
|
239
|
+
}),
|
|
240
|
+
}),
|
|
241
|
+
table_update_values: pieces_framework_1.Property.DynamicProperties({
|
|
242
|
+
auth: auth_1.snowflakeAuth,
|
|
243
|
+
displayName: 'Columns to Update',
|
|
244
|
+
description: 'Only filled columns will be updated. Leave a column empty to keep its existing value.',
|
|
245
|
+
required: true,
|
|
246
|
+
refreshers: ['database', 'schema', 'table'],
|
|
247
|
+
props: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth, table }) {
|
|
248
|
+
if (!auth)
|
|
249
|
+
return {};
|
|
250
|
+
if (!table)
|
|
251
|
+
return {};
|
|
252
|
+
const connection = configureConnection(auth);
|
|
218
253
|
yield connect(connection);
|
|
219
254
|
const response = yield execute(connection, `DESCRIBE TABLE ${table}`, []);
|
|
220
255
|
yield destroy(connection);
|
|
@@ -231,4 +266,21 @@ exports.snowflakeCommonProps = {
|
|
|
231
266
|
}),
|
|
232
267
|
}),
|
|
233
268
|
};
|
|
269
|
+
function getTableColumnOptions(auth, table) {
|
|
270
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
271
|
+
const connection = configureConnection(auth);
|
|
272
|
+
yield connect(connection);
|
|
273
|
+
const response = yield execute(connection, `DESCRIBE TABLE ${table}`, []);
|
|
274
|
+
yield destroy(connection);
|
|
275
|
+
return {
|
|
276
|
+
disabled: false,
|
|
277
|
+
options: response
|
|
278
|
+
? response.map((col) => ({
|
|
279
|
+
label: col.name,
|
|
280
|
+
value: col.name,
|
|
281
|
+
}))
|
|
282
|
+
: [],
|
|
283
|
+
};
|
|
284
|
+
});
|
|
285
|
+
}
|
|
234
286
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/common/index.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/common/index.ts"],"names":[],"mappings":"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"}
|