@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.
Files changed (79) hide show
  1. package/package.json +4 -4
  2. package/src/i18n/de.json +37 -0
  3. package/src/i18n/es.json +37 -0
  4. package/src/i18n/fr.json +37 -0
  5. package/src/i18n/ja.json +37 -0
  6. package/src/i18n/nl.json +37 -0
  7. package/src/i18n/pt.json +37 -0
  8. package/src/i18n/ru.json +36 -0
  9. package/src/i18n/translation.json +37 -0
  10. package/src/i18n/vi.json +36 -0
  11. package/src/i18n/zh.json +37 -0
  12. package/src/index.d.ts +4 -2
  13. package/src/index.d.ts.map +1 -0
  14. package/src/index.js +33 -2
  15. package/src/index.js.map +1 -1
  16. package/src/lib/actions/create-dynamic-table.d.ts +36 -0
  17. package/src/lib/actions/create-dynamic-table.d.ts.map +1 -0
  18. package/src/lib/actions/create-dynamic-table.js +81 -0
  19. package/src/lib/actions/create-dynamic-table.js.map +1 -0
  20. package/src/lib/actions/delete-row.d.ts +43 -0
  21. package/src/lib/actions/delete-row.d.ts.map +1 -0
  22. package/src/lib/actions/delete-row.js +45 -0
  23. package/src/lib/actions/delete-row.js.map +1 -0
  24. package/src/lib/actions/execute-stored-procedure.d.ts +43 -0
  25. package/src/lib/actions/execute-stored-procedure.d.ts.map +1 -0
  26. package/src/lib/actions/execute-stored-procedure.js +92 -0
  27. package/src/lib/actions/execute-stored-procedure.js.map +1 -0
  28. package/src/lib/actions/get-row-by-id.d.ts +53 -0
  29. package/src/lib/actions/get-row-by-id.d.ts.map +1 -0
  30. package/src/lib/actions/get-row-by-id.js +67 -0
  31. package/src/lib/actions/get-row-by-id.js.map +1 -0
  32. package/src/lib/actions/get-table-schema.d.ts +42 -0
  33. package/src/lib/actions/get-table-schema.d.ts.map +1 -0
  34. package/src/lib/actions/get-table-schema.js +49 -0
  35. package/src/lib/actions/get-table-schema.js.map +1 -0
  36. package/src/lib/actions/insert-multiple-rows.d.ts +43 -0
  37. package/src/lib/actions/insert-multiple-rows.d.ts.map +1 -0
  38. package/src/lib/actions/insert-multiple-rows.js +81 -0
  39. package/src/lib/actions/insert-multiple-rows.js.map +1 -0
  40. package/src/lib/actions/insert-row.d.ts +16 -10
  41. package/src/lib/actions/insert-row.d.ts.map +1 -0
  42. package/src/lib/actions/insert-row.js +1 -1
  43. package/src/lib/actions/insert-row.js.map +1 -1
  44. package/src/lib/actions/list-tables.d.ts +32 -0
  45. package/src/lib/actions/list-tables.d.ts.map +1 -0
  46. package/src/lib/actions/list-tables.js +47 -0
  47. package/src/lib/actions/list-tables.js.map +1 -0
  48. package/src/lib/actions/load-data-from-stage.d.ts +48 -0
  49. package/src/lib/actions/load-data-from-stage.d.ts.map +1 -0
  50. package/src/lib/actions/load-data-from-stage.js +117 -0
  51. package/src/lib/actions/load-data-from-stage.js.map +1 -0
  52. package/src/lib/actions/run-multiple-queries.d.ts +4 -2
  53. package/src/lib/actions/run-multiple-queries.d.ts.map +1 -0
  54. package/src/lib/actions/run-multiple-queries.js +1 -1
  55. package/src/lib/actions/run-multiple-queries.js.map +1 -1
  56. package/src/lib/actions/run-query.d.ts +4 -2
  57. package/src/lib/actions/run-query.d.ts.map +1 -0
  58. package/src/lib/actions/run-query.js +1 -1
  59. package/src/lib/actions/run-query.js.map +1 -1
  60. package/src/lib/actions/search-rows.d.ts +45 -0
  61. package/src/lib/actions/search-rows.d.ts.map +1 -0
  62. package/src/lib/actions/search-rows.js +58 -0
  63. package/src/lib/actions/search-rows.js.map +1 -0
  64. package/src/lib/actions/update-row.d.ts +53 -0
  65. package/src/lib/actions/update-row.d.ts.map +1 -0
  66. package/src/lib/actions/update-row.js +54 -0
  67. package/src/lib/actions/update-row.js.map +1 -0
  68. package/src/lib/actions/upsert-row.d.ts +62 -0
  69. package/src/lib/actions/upsert-row.d.ts.map +1 -0
  70. package/src/lib/actions/upsert-row.js +93 -0
  71. package/src/lib/actions/upsert-row.js.map +1 -0
  72. package/src/lib/auth.d.ts +14 -1
  73. package/src/lib/auth.d.ts.map +1 -0
  74. package/src/lib/auth.js +203 -17
  75. package/src/lib/auth.js.map +1 -1
  76. package/src/lib/common/index.d.ts +49 -11
  77. package/src/lib/common/index.d.ts.map +1 -0
  78. package/src/lib/common/index.js +88 -36
  79. 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
- exports.snowflakeAuth = pieces_framework_1.PieceAuth.CustomAuth({
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: 'A string indicating the Snowflake account identifier.',
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: 'The login name for your Snowflake user.',
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: 'Password for the user.',
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: 'The private key to authenticate with. Either this or password is required',
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: 'The default database to use for the session after connecting.',
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: 'The default security role to use for the session after connecting.',
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: 'The default virtual warehouse to use for the session after connecting. Used for performing queries, loading data, etc.',
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 password or private key must be provided for authentication.',
210
+ error: 'Either Password or Private Key must be provided.',
50
211
  };
51
212
  }
52
- return {
53
- valid: true,
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
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/lib/auth.ts"],"names":[],"mappings":";;;;AAAA,qEAAqE;AAExD,QAAA,aAAa,GAAG,4BAAS,CAAC,UAAU,CAAC;IAChD,KAAK,EAAE;QACL,OAAO,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC1B,WAAW,EAAE,SAAS;YACtB,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,uDAAuD;SACrE,CAAC;QACF,QAAQ,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC3B,WAAW,EAAE,UAAU;YACvB,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,yCAAyC;SACvD,CAAC;QACF,QAAQ,EAAE,4BAAS,CAAC,UAAU,CAAC;YAC7B,WAAW,EAAE,UAAU;YACvB,WAAW,EAAE,wBAAwB;YACrC,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,UAAU,EAAE,4BAAS,CAAC,UAAU,CAAC;YAC/B,WAAW,EAAE,aAAa;YAC1B,WAAW,EACT,2EAA2E;YAC7E,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,QAAQ,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC3B,WAAW,EAAE,UAAU;YACvB,WAAW,EACT,+DAA+D;YACjE,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,IAAI,EAAE,2BAAQ,CAAC,SAAS,CAAC;YACvB,WAAW,EAAE,MAAM;YACnB,WAAW,EACT,oEAAoE;YACtE,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,SAAS,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC5B,WAAW,EAAE,WAAW;YACxB,WAAW,EACT,wHAAwH;YAC1H,QAAQ,EAAE,KAAK;SAChB,CAAC;KACH;IACD,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,KAAiB,EAAE,oDAAZ,EAAE,IAAI,EAAE;QACvB,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACvC,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,KAAK,EACH,qEAAqE;aACxE,CAAC;QACJ,CAAC;QACD,OAAO;YACL,KAAK,EAAE,IAAI;SACZ,CAAC;IACJ,CAAC,CAAA;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/lib/auth.ts"],"names":[],"mappings":"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"}
@@ -1,45 +1,83 @@
1
- import { PiecePropValueSchema } from '@activepieces/pieces-framework';
2
- import { snowflakeAuth } from '../auth';
1
+ import { DropdownState } from '@activepieces/pieces-framework';
2
+ import { AppConnectionType } from '@activepieces/shared';
3
3
  import snowflake from 'snowflake-sdk';
4
- export declare function configureConnection(auth: PiecePropValueSchema<typeof snowflakeAuth>, application?: string, timeout?: number): snowflake.Connection;
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<any, true, import("@activepieces/pieces-framework").CustomAuthProperty<{
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
- schema: import("@activepieces/pieces-framework").DropdownProperty<any, true, import("@activepieces/pieces-framework").CustomAuthProperty<{
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
- table: import("@activepieces/pieces-framework").DropdownProperty<string, true, import("@activepieces/pieces-framework").CustomAuthProperty<{
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
- table_column_values: import("@activepieces/pieces-framework").DynamicProperties<true, import("@activepieces/pieces-framework").CustomAuthProperty<{
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"}
@@ -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
- application: application,
29
- timeout: timeout,
30
- username: auth.username,
31
- role: auth.role,
32
- database: auth.database,
33
- warehouse: auth.warehouse,
34
- account: auth.account,
43
+ account,
44
+ username,
45
+ role,
46
+ database,
47
+ warehouse,
48
+ application,
49
+ timeout,
35
50
  };
36
- if (auth.privateKey) {
37
- connectionOptions.privateKey = formatPrivateKey(auth.privateKey);
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 = auth.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 authValue = auth;
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
- return {
115
- label: db.name,
116
- value: db.name,
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 authValue = auth;
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
- return {
153
- label: schema.name,
154
- value: schema.name,
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 authValue = auth;
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
- return {
198
- label: table.name,
199
- value: `${database}.${schema}.${table.name}`,
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 authValue = auth;
217
- const connection = configureConnection(authValue.props);
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":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/common/index.ts"],"names":[],"mappings":"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"}