@activepieces/piece-google-bigquery 0.0.2 → 0.0.4

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 (61) hide show
  1. package/package.json +7 -58
  2. package/src/index.js +100 -60
  3. package/src/index.d.ts +0 -8
  4. package/src/index.d.ts.map +0 -1
  5. package/src/index.js.map +0 -1
  6. package/src/lib/actions/create-row.d.ts +0 -22
  7. package/src/lib/actions/create-row.d.ts.map +0 -1
  8. package/src/lib/actions/create-row.js +0 -75
  9. package/src/lib/actions/create-row.js.map +0 -1
  10. package/src/lib/actions/create-rows.d.ts +0 -21
  11. package/src/lib/actions/create-rows.d.ts.map +0 -1
  12. package/src/lib/actions/create-rows.js +0 -84
  13. package/src/lib/actions/create-rows.js.map +0 -1
  14. package/src/lib/actions/delete-rows.d.ts +0 -20
  15. package/src/lib/actions/delete-rows.d.ts.map +0 -1
  16. package/src/lib/actions/delete-rows.js +0 -43
  17. package/src/lib/actions/delete-rows.js.map +0 -1
  18. package/src/lib/actions/find-one-row.d.ts +0 -21
  19. package/src/lib/actions/find-one-row.d.ts.map +0 -1
  20. package/src/lib/actions/find-one-row.js +0 -60
  21. package/src/lib/actions/find-one-row.js.map +0 -1
  22. package/src/lib/actions/find-or-create-row.d.ts +0 -21
  23. package/src/lib/actions/find-or-create-row.d.ts.map +0 -1
  24. package/src/lib/actions/find-or-create-row.js +0 -79
  25. package/src/lib/actions/find-or-create-row.js.map +0 -1
  26. package/src/lib/actions/get-rows-for-job.d.ts +0 -13
  27. package/src/lib/actions/get-rows-for-job.d.ts.map +0 -1
  28. package/src/lib/actions/get-rows-for-job.js +0 -76
  29. package/src/lib/actions/get-rows-for-job.js.map +0 -1
  30. package/src/lib/actions/import-data.d.ts +0 -21
  31. package/src/lib/actions/import-data.d.ts.map +0 -1
  32. package/src/lib/actions/import-data.js +0 -111
  33. package/src/lib/actions/import-data.js.map +0 -1
  34. package/src/lib/actions/run-query.d.ts +0 -14
  35. package/src/lib/actions/run-query.d.ts.map +0 -1
  36. package/src/lib/actions/run-query.js +0 -86
  37. package/src/lib/actions/run-query.js.map +0 -1
  38. package/src/lib/actions/update-rows.d.ts +0 -21
  39. package/src/lib/actions/update-rows.d.ts.map +0 -1
  40. package/src/lib/actions/update-rows.js +0 -48
  41. package/src/lib/actions/update-rows.js.map +0 -1
  42. package/src/lib/common/index.d.ts +0 -73
  43. package/src/lib/common/index.d.ts.map +0 -1
  44. package/src/lib/common/index.js +0 -343
  45. package/src/lib/common/index.js.map +0 -1
  46. package/src/lib/triggers/new-job-completed.d.ts +0 -39
  47. package/src/lib/triggers/new-job-completed.d.ts.map +0 -1
  48. package/src/lib/triggers/new-job-completed.js +0 -118
  49. package/src/lib/triggers/new-job-completed.js.map +0 -1
  50. package/src/lib/triggers/new-row.d.ts +0 -75
  51. package/src/lib/triggers/new-row.d.ts.map +0 -1
  52. package/src/lib/triggers/new-row.js +0 -109
  53. package/src/lib/triggers/new-row.js.map +0 -1
  54. package/src/lib/triggers/query-job-completed.d.ts +0 -39
  55. package/src/lib/triggers/query-job-completed.d.ts.map +0 -1
  56. package/src/lib/triggers/query-job-completed.js +0 -127
  57. package/src/lib/triggers/query-job-completed.js.map +0 -1
  58. package/src/lib/triggers/updated-row.d.ts +0 -79
  59. package/src/lib/triggers/updated-row.d.ts.map +0 -1
  60. package/src/lib/triggers/updated-row.js +0 -118
  61. package/src/lib/triggers/updated-row.js.map +0 -1
@@ -1,76 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getRowsForJobAction = 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
- exports.getRowsForJobAction = (0, pieces_framework_1.createAction)({
9
- auth: common_1.bigQueryAuth,
10
- name: 'get_rows_for_job',
11
- displayName: 'Get Rows for Job Completed',
12
- description: 'Retrieves the result rows from a completed BigQuery query job by Job ID. Use this after a "Query Job Completed" trigger to fetch the full result set.',
13
- props: {
14
- project_id: common_1.projectIdProp,
15
- job_id: pieces_framework_1.Property.ShortText({
16
- displayName: 'Job ID',
17
- description: 'The BigQuery job ID to fetch results for. This is returned by the "Query Job Completed" trigger or a "Run a Query" action.',
18
- required: true,
19
- }),
20
- max_results: pieces_framework_1.Property.Number({
21
- displayName: 'Max Rows',
22
- description: 'Maximum number of rows to return (up to 10,000). Default: 1,000.',
23
- required: false,
24
- defaultValue: 1000,
25
- }),
26
- location: pieces_framework_1.Property.ShortText({
27
- displayName: 'Location',
28
- description: 'Dataset location where the job ran (e.g. US, EU). Leave blank for US.',
29
- required: false,
30
- }),
31
- },
32
- run(context) {
33
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
34
- var _a, _b, _c, _d, _e, _f;
35
- const { project_id, job_id, max_results, location } = context.propsValue;
36
- const limit = Math.min((_a = max_results) !== null && _a !== void 0 ? _a : 1000, 10000);
37
- const token = yield (0, common_1.getAccessToken)(context.auth);
38
- const allRows = [];
39
- let schema = [];
40
- let pageToken;
41
- let totalRows = '0';
42
- let bytesProcessed = '0';
43
- let cacheHit = false;
44
- do {
45
- const remaining = limit - allRows.length;
46
- const response = yield pieces_common_1.httpClient.sendRequest({
47
- method: pieces_common_1.HttpMethod.GET,
48
- url: `${common_1.BASE_URL}/projects/${project_id}/queries/${job_id}`,
49
- headers: { Authorization: `Bearer ${token}` },
50
- queryParams: Object.assign(Object.assign({ maxResults: String(Math.min(remaining, 1000)), timeoutMs: '10000' }, (pageToken ? { pageToken } : {})), (location ? { location } : {})),
51
- });
52
- const body = response.body;
53
- if (!body.jobComplete) {
54
- throw new Error(`Job ${job_id} has not completed yet. Wait for the job to finish before fetching results.`);
55
- }
56
- if ((_b = body.schema) === null || _b === void 0 ? void 0 : _b.fields)
57
- schema = body.schema.fields;
58
- allRows.push(...((_c = body.rows) !== null && _c !== void 0 ? _c : []));
59
- pageToken = body.pageToken;
60
- totalRows = (_d = body.totalRows) !== null && _d !== void 0 ? _d : totalRows;
61
- bytesProcessed = (_e = body.totalBytesProcessed) !== null && _e !== void 0 ? _e : bytesProcessed;
62
- cacheHit = (_f = body.cacheHit) !== null && _f !== void 0 ? _f : cacheHit;
63
- } while (pageToken && allRows.length < limit);
64
- const rows = (0, common_1.bigQueryRowsToFlat)(schema, allRows.slice(0, limit));
65
- return {
66
- rows,
67
- row_count: rows.length,
68
- total_rows: parseInt(totalRows, 10),
69
- bytes_processed: bytesProcessed,
70
- cache_hit: cacheHit,
71
- job_id,
72
- };
73
- });
74
- },
75
- });
76
- //# sourceMappingURL=get-rows-for-job.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-rows-for-job.js","sourceRoot":"","sources":["../../../../src/lib/actions/get-rows-for-job.ts"],"names":[],"mappings":"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"}
@@ -1,21 +0,0 @@
1
- export declare const importDataAction: import("@activepieces/pieces-framework").IAction<(import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props> | import("@activepieces/pieces-framework").CustomAuthProperty<{
2
- instructions: import("@activepieces/pieces-framework/dist/src/lib/property/input/markdown-property").MarkDownProperty;
3
- serviceAccountJson: import("@activepieces/pieces-framework").ShortTextProperty<true>;
4
- }>)[], {
5
- project_id: import("@activepieces/pieces-framework").DropdownProperty<string, true, (import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props> | import("@activepieces/pieces-framework").CustomAuthProperty<{
6
- instructions: import("@activepieces/pieces-framework/dist/src/lib/property/input/markdown-property").MarkDownProperty;
7
- serviceAccountJson: import("@activepieces/pieces-framework").ShortTextProperty<true>;
8
- }>)[]>;
9
- dataset_id: import("@activepieces/pieces-framework").DropdownProperty<string, true, (import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props> | import("@activepieces/pieces-framework").CustomAuthProperty<{
10
- instructions: import("@activepieces/pieces-framework/dist/src/lib/property/input/markdown-property").MarkDownProperty;
11
- serviceAccountJson: import("@activepieces/pieces-framework").ShortTextProperty<true>;
12
- }>)[]>;
13
- table_id: import("@activepieces/pieces-framework").DropdownProperty<string, true, (import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props> | import("@activepieces/pieces-framework").CustomAuthProperty<{
14
- instructions: import("@activepieces/pieces-framework/dist/src/lib/property/input/markdown-property").MarkDownProperty;
15
- serviceAccountJson: import("@activepieces/pieces-framework").ShortTextProperty<true>;
16
- }>)[]>;
17
- data: import("@activepieces/pieces-framework").JsonProperty<true>;
18
- skip_invalid_rows: import("@activepieces/pieces-framework").CheckboxProperty<false>;
19
- ignore_unknown_values: import("@activepieces/pieces-framework").CheckboxProperty<false>;
20
- }>;
21
- //# sourceMappingURL=import-data.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"import-data.d.ts","sourceRoot":"","sources":["../../../../src/lib/actions/import-data.ts"],"names":[],"mappings":"AAwCA,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;EAqG3B,CAAC"}
@@ -1,111 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.importDataAction = 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 CHUNK_SIZE = 500; // BigQuery recommends ≤500 rows per streaming request
9
- function parseInputData(data) {
10
- if (Array.isArray(data))
11
- return data;
12
- if (typeof data === 'string') {
13
- const trimmed = data.trim();
14
- // JSON array
15
- if (trimmed.startsWith('['))
16
- return JSON.parse(trimmed);
17
- // Newline-delimited JSON (NDJSON)
18
- return trimmed
19
- .split('\n')
20
- .map((line) => line.trim())
21
- .filter((line) => line.length > 0)
22
- .map((line) => JSON.parse(line));
23
- }
24
- throw new Error('Data must be a JSON array or a newline-delimited JSON (NDJSON) string.');
25
- }
26
- exports.importDataAction = (0, pieces_framework_1.createAction)({
27
- auth: common_1.bigQueryAuth,
28
- name: 'import_data',
29
- displayName: 'Import Data',
30
- description: 'Imports a batch of rows into a BigQuery table. Accepts a JSON array or newline-delimited JSON (NDJSON). Large datasets are automatically split into chunks.',
31
- props: {
32
- project_id: common_1.projectIdProp,
33
- dataset_id: common_1.datasetIdProp,
34
- table_id: common_1.tableIdProp,
35
- data: pieces_framework_1.Property.Json({
36
- displayName: 'Data',
37
- description: 'The data to import. Provide a JSON array of objects (`[{...}, {...}]`) or a newline-delimited JSON string where each line is one row object.',
38
- required: true,
39
- }),
40
- skip_invalid_rows: pieces_framework_1.Property.Checkbox({
41
- displayName: 'Skip Invalid Rows',
42
- description: 'Continue importing valid rows even if some rows fail validation. Default: off (fail entire batch).',
43
- required: false,
44
- defaultValue: false,
45
- }),
46
- ignore_unknown_values: pieces_framework_1.Property.Checkbox({
47
- displayName: 'Ignore Unknown Fields',
48
- description: 'Silently drop fields not present in the table schema. Default: off (fail on unknown fields).',
49
- required: false,
50
- defaultValue: false,
51
- }),
52
- },
53
- run(context) {
54
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
55
- var _a, _b, _c, _d, _e;
56
- const { project_id, dataset_id, table_id, data, skip_invalid_rows, ignore_unknown_values, } = context.propsValue;
57
- const rows = parseInputData(data);
58
- if (rows.length === 0)
59
- throw new Error('Data contains no rows to import.');
60
- const token = yield (0, common_1.getAccessToken)(context.auth);
61
- const now = Date.now();
62
- let totalInserted = 0;
63
- let totalErrors = 0;
64
- const allErrors = [];
65
- // Split into chunks of CHUNK_SIZE
66
- for (let offset = 0; offset < rows.length; offset += CHUNK_SIZE) {
67
- const chunk = rows.slice(offset, offset + CHUNK_SIZE);
68
- const bqRows = chunk.map((row, i) => ({
69
- insertId: `${now}-${offset + i}-${Math.random()
70
- .toString(36)
71
- .slice(2, 9)}`,
72
- json: row,
73
- }));
74
- const response = yield pieces_common_1.httpClient.sendRequest({
75
- method: pieces_common_1.HttpMethod.POST,
76
- url: `${common_1.BASE_URL}/projects/${project_id}/datasets/${dataset_id}/tables/${table_id}/insertAll`,
77
- headers: { Authorization: `Bearer ${token}` },
78
- body: {
79
- kind: 'bigquery#tableDataInsertAllRequest',
80
- skipInvalidRows: skip_invalid_rows !== null && skip_invalid_rows !== void 0 ? skip_invalid_rows : false,
81
- ignoreUnknownValues: ignore_unknown_values !== null && ignore_unknown_values !== void 0 ? ignore_unknown_values : false,
82
- rows: bqRows,
83
- },
84
- });
85
- const chunkErrors = (_a = response.body.insertErrors) !== null && _a !== void 0 ? _a : [];
86
- if (chunkErrors.length > 0 && !(skip_invalid_rows !== null && skip_invalid_rows !== void 0 ? skip_invalid_rows : false)) {
87
- const first = (_b = chunkErrors[0]) === null || _b === void 0 ? void 0 : _b.errors[0];
88
- throw new Error(`Import failed on row ${offset + ((_d = (_c = chunkErrors[0]) === null || _c === void 0 ? void 0 : _c.index) !== null && _d !== void 0 ? _d : 0)}: ${(_e = first === null || first === void 0 ? void 0 : first.message) !== null && _e !== void 0 ? _e : 'Unknown error'}`);
89
- }
90
- totalInserted += chunk.length - chunkErrors.length;
91
- totalErrors += chunkErrors.length;
92
- allErrors.push(...chunkErrors.map((e) => {
93
- var _a, _b, _c, _d;
94
- return ({
95
- row_index: offset + e.index,
96
- first_error: (_b = (_a = e.errors[0]) === null || _a === void 0 ? void 0 : _a.message) !== null && _b !== void 0 ? _b : 'Unknown',
97
- reason: (_d = (_c = e.errors[0]) === null || _c === void 0 ? void 0 : _c.reason) !== null && _d !== void 0 ? _d : null,
98
- });
99
- }));
100
- }
101
- return {
102
- success: totalErrors === 0,
103
- rows_attempted: rows.length,
104
- rows_imported: totalInserted,
105
- error_count: totalErrors,
106
- errors: allErrors,
107
- };
108
- });
109
- },
110
- });
111
- //# sourceMappingURL=import-data.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"import-data.js","sourceRoot":"","sources":["../../../../src/lib/actions/import-data.ts"],"names":[],"mappings":"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"}
@@ -1,14 +0,0 @@
1
- export declare const runQueryAction: import("@activepieces/pieces-framework").IAction<(import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props> | import("@activepieces/pieces-framework").CustomAuthProperty<{
2
- instructions: import("@activepieces/pieces-framework/dist/src/lib/property/input/markdown-property").MarkDownProperty;
3
- serviceAccountJson: import("@activepieces/pieces-framework").ShortTextProperty<true>;
4
- }>)[], {
5
- project_id: import("@activepieces/pieces-framework").DropdownProperty<string, true, (import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props> | import("@activepieces/pieces-framework").CustomAuthProperty<{
6
- instructions: import("@activepieces/pieces-framework/dist/src/lib/property/input/markdown-property").MarkDownProperty;
7
- serviceAccountJson: import("@activepieces/pieces-framework").ShortTextProperty<true>;
8
- }>)[]>;
9
- query: import("@activepieces/pieces-framework").LongTextProperty<true>;
10
- max_results: import("@activepieces/pieces-framework").NumberProperty<false>;
11
- location: import("@activepieces/pieces-framework").ShortTextProperty<false>;
12
- use_legacy_sql: import("@activepieces/pieces-framework").CheckboxProperty<false>;
13
- }>;
14
- //# sourceMappingURL=run-query.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"run-query.d.ts","sourceRoot":"","sources":["../../../../src/lib/actions/run-query.ts"],"names":[],"mappings":"AAyBA,eAAO,MAAM,cAAc;;;;;;;;;;;;EAwGzB,CAAC"}
@@ -1,86 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.runQueryAction = 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
- exports.runQueryAction = (0, pieces_framework_1.createAction)({
9
- auth: common_1.bigQueryAuth,
10
- name: 'run_query',
11
- displayName: 'Run a Query',
12
- description: 'Execute a SQL query on BigQuery and return the results as flat rows',
13
- props: {
14
- project_id: common_1.projectIdProp,
15
- query: pieces_framework_1.Property.LongText({
16
- displayName: 'SQL Query',
17
- description: 'The SQL query to run. Uses standard SQL syntax. Example: `SELECT * FROM \\`my_dataset.my_table\\` LIMIT 100`',
18
- required: true,
19
- }),
20
- max_results: pieces_framework_1.Property.Number({
21
- displayName: 'Max Rows',
22
- description: 'Maximum number of rows to return (up to 10,000)',
23
- required: false,
24
- defaultValue: 1000,
25
- }),
26
- location: pieces_framework_1.Property.ShortText({
27
- displayName: 'Location',
28
- description: 'Geographic location of your dataset (e.g. US, EU, us-central1). Leave blank for US.',
29
- required: false,
30
- }),
31
- use_legacy_sql: pieces_framework_1.Property.Checkbox({
32
- displayName: 'Use Legacy SQL',
33
- description: 'Enable only if your query uses BigQuery Legacy SQL syntax (not recommended)',
34
- required: false,
35
- defaultValue: false,
36
- }),
37
- },
38
- run(context) {
39
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
40
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
41
- const { project_id, query, max_results, location, use_legacy_sql } = context.propsValue;
42
- const limit = Math.min((_a = max_results) !== null && _a !== void 0 ? _a : 1000, 10000);
43
- const token = yield (0, common_1.getAccessToken)(context.auth);
44
- // Submit synchronous query (waits up to 10 seconds before returning)
45
- const initialResponse = yield pieces_common_1.httpClient.sendRequest({
46
- method: pieces_common_1.HttpMethod.POST,
47
- url: `${common_1.BASE_URL}/projects/${project_id}/queries`,
48
- headers: { Authorization: `Bearer ${token}` },
49
- body: Object.assign({ query, useLegacySql: use_legacy_sql !== null && use_legacy_sql !== void 0 ? use_legacy_sql : false, maxResults: Math.min(limit, 1000), timeoutMs: 10000 }, (location ? { location } : {})),
50
- });
51
- let result = initialResponse.body;
52
- let schema = (_c = (_b = result.schema) === null || _b === void 0 ? void 0 : _b.fields) !== null && _c !== void 0 ? _c : [];
53
- // If job is still running, poll until it completes
54
- if (!result.jobComplete) {
55
- const jobId = result.jobReference.jobId;
56
- const polled = yield (0, common_1.waitForJobResults)(token, project_id, jobId, (_d = location) !== null && _d !== void 0 ? _d : undefined);
57
- result = Object.assign(Object.assign({}, polled), { jobReference: { projectId: project_id, jobId } });
58
- schema = (_f = (_e = polled.schema) === null || _e === void 0 ? void 0 : _e.fields) !== null && _f !== void 0 ? _f : schema;
59
- }
60
- // Collect all rows, paginating if needed
61
- const allRows = [...((_g = result.rows) !== null && _g !== void 0 ? _g : [])];
62
- let pageToken = result.pageToken;
63
- while (pageToken && allRows.length < limit) {
64
- const remaining = limit - allRows.length;
65
- const pageResponse = yield pieces_common_1.httpClient.sendRequest({
66
- method: pieces_common_1.HttpMethod.GET,
67
- url: `${common_1.BASE_URL}/projects/${project_id}/queries/${result.jobReference.jobId}`,
68
- headers: { Authorization: `Bearer ${token}` },
69
- queryParams: Object.assign({ pageToken, maxResults: String(Math.min(remaining, 1000)) }, (location ? { location } : {})),
70
- });
71
- allRows.push(...((_h = pageResponse.body.rows) !== null && _h !== void 0 ? _h : []));
72
- pageToken = pageResponse.body.pageToken;
73
- }
74
- const rows = (0, common_1.bigQueryRowsToFlat)(schema, allRows.slice(0, limit));
75
- return {
76
- rows,
77
- row_count: rows.length,
78
- total_rows: parseInt((_j = result.totalRows) !== null && _j !== void 0 ? _j : '0', 10),
79
- bytes_processed: (_k = result.totalBytesProcessed) !== null && _k !== void 0 ? _k : '0',
80
- job_id: (_m = (_l = result.jobReference) === null || _l === void 0 ? void 0 : _l.jobId) !== null && _m !== void 0 ? _m : null,
81
- cache_hit: (_o = result.cacheHit) !== null && _o !== void 0 ? _o : false,
82
- };
83
- });
84
- },
85
- });
86
- //# sourceMappingURL=run-query.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"run-query.js","sourceRoot":"","sources":["../../../../src/lib/actions/run-query.ts"],"names":[],"mappings":"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"}
@@ -1,21 +0,0 @@
1
- export declare const updateRowsAction: import("@activepieces/pieces-framework").IAction<(import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props> | import("@activepieces/pieces-framework").CustomAuthProperty<{
2
- instructions: import("@activepieces/pieces-framework/dist/src/lib/property/input/markdown-property").MarkDownProperty;
3
- serviceAccountJson: import("@activepieces/pieces-framework").ShortTextProperty<true>;
4
- }>)[], {
5
- project_id: import("@activepieces/pieces-framework").DropdownProperty<string, true, (import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props> | import("@activepieces/pieces-framework").CustomAuthProperty<{
6
- instructions: import("@activepieces/pieces-framework/dist/src/lib/property/input/markdown-property").MarkDownProperty;
7
- serviceAccountJson: import("@activepieces/pieces-framework").ShortTextProperty<true>;
8
- }>)[]>;
9
- dataset_id: import("@activepieces/pieces-framework").DropdownProperty<string, true, (import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props> | import("@activepieces/pieces-framework").CustomAuthProperty<{
10
- instructions: import("@activepieces/pieces-framework/dist/src/lib/property/input/markdown-property").MarkDownProperty;
11
- serviceAccountJson: import("@activepieces/pieces-framework").ShortTextProperty<true>;
12
- }>)[]>;
13
- table_id: import("@activepieces/pieces-framework").DropdownProperty<string, true, (import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props> | import("@activepieces/pieces-framework").CustomAuthProperty<{
14
- instructions: import("@activepieces/pieces-framework/dist/src/lib/property/input/markdown-property").MarkDownProperty;
15
- serviceAccountJson: import("@activepieces/pieces-framework").ShortTextProperty<true>;
16
- }>)[]>;
17
- set_expression: import("@activepieces/pieces-framework").LongTextProperty<true>;
18
- where_clause: import("@activepieces/pieces-framework").LongTextProperty<true>;
19
- location: import("@activepieces/pieces-framework").ShortTextProperty<false>;
20
- }>;
21
- //# sourceMappingURL=update-rows.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"update-rows.d.ts","sourceRoot":"","sources":["../../../../src/lib/actions/update-rows.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;EAwD3B,CAAC"}
@@ -1,48 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.updateRowsAction = void 0;
4
- const tslib_1 = require("tslib");
5
- const pieces_framework_1 = require("@activepieces/pieces-framework");
6
- const common_1 = require("../common");
7
- exports.updateRowsAction = (0, pieces_framework_1.createAction)({
8
- auth: common_1.bigQueryAuth,
9
- name: 'update_rows',
10
- displayName: 'Update Row(s)',
11
- description: 'Updates one or more existing rows in a BigQuery table using SQL SET and WHERE expressions.',
12
- props: {
13
- project_id: common_1.projectIdProp,
14
- dataset_id: common_1.datasetIdProp,
15
- table_id: common_1.tableIdProp,
16
- set_expression: pieces_framework_1.Property.LongText({
17
- displayName: 'SET Expression',
18
- description: 'Comma-separated column assignments. Do not include the SET keyword. Example: `status = "active", updated_at = CURRENT_TIMESTAMP()`',
19
- required: true,
20
- }),
21
- where_clause: pieces_framework_1.Property.LongText({
22
- displayName: 'WHERE Clause',
23
- description: 'SQL condition to match the rows to update. Do not include the WHERE keyword. Example: `id = "abc123"`',
24
- required: true,
25
- }),
26
- location: pieces_framework_1.Property.ShortText({
27
- displayName: 'Location',
28
- description: 'Dataset location (e.g. US, EU). Leave blank to use the default.',
29
- required: false,
30
- }),
31
- },
32
- run(context) {
33
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
34
- var _a;
35
- const { project_id, dataset_id, table_id, set_expression, where_clause, location, } = context.propsValue;
36
- const token = yield (0, common_1.getAccessToken)(context.auth);
37
- const fullTable = `\`${project_id}.${dataset_id}.${table_id}\``;
38
- const query = `UPDATE ${fullTable} SET ${set_expression} WHERE ${where_clause}`;
39
- const result = yield (0, common_1.runDmlQuery)(token, project_id, query, (_a = location) !== null && _a !== void 0 ? _a : undefined);
40
- return {
41
- success: true,
42
- rows_updated: result.updatedRowCount,
43
- job_id: result.jobId,
44
- };
45
- });
46
- },
47
- });
48
- //# sourceMappingURL=update-rows.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"update-rows.js","sourceRoot":"","sources":["../../../../src/lib/actions/update-rows.ts"],"names":[],"mappings":";;;;AAAA,qEAAwE;AACxE,sCAQmB;AAEN,QAAA,gBAAgB,GAAG,IAAA,+BAAY,EAAC;IAC3C,IAAI,EAAE,qBAAY;IAClB,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,eAAe;IAC5B,WAAW,EACT,4FAA4F;IAC9F,KAAK,EAAE;QACL,UAAU,EAAE,sBAAa;QACzB,UAAU,EAAE,sBAAa;QACzB,QAAQ,EAAE,oBAAW;QACrB,cAAc,EAAE,2BAAQ,CAAC,QAAQ,CAAC;YAChC,WAAW,EAAE,gBAAgB;YAC7B,WAAW,EACT,oIAAoI;YACtI,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,YAAY,EAAE,2BAAQ,CAAC,QAAQ,CAAC;YAC9B,WAAW,EAAE,cAAc;YAC3B,WAAW,EACT,uGAAuG;YACzG,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,QAAQ,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC3B,WAAW,EAAE,UAAU;YACvB,WAAW,EACT,iEAAiE;YACnE,QAAQ,EAAE,KAAK;SAChB,CAAC;KACH;IACK,GAAG,CAAC,OAAO;;;YACf,MAAM,EACJ,UAAU,EACV,UAAU,EACV,QAAQ,EACR,cAAc,EACd,YAAY,EACZ,QAAQ,GACT,GAAG,OAAO,CAAC,UAAU,CAAC;YACvB,MAAM,KAAK,GAAG,MAAM,IAAA,uBAAc,EAAC,OAAO,CAAC,IAAyB,CAAC,CAAC;YAEtE,MAAM,SAAS,GAAG,KAAK,UAAU,IAAI,UAAU,IAAI,QAAQ,IAAI,CAAC;YAChE,MAAM,KAAK,GAAG,UAAU,SAAS,QAAQ,cAAc,UAAU,YAAY,EAAE,CAAC;YAEhF,MAAM,MAAM,GAAG,MAAM,IAAA,oBAAW,EAC9B,KAAK,EACL,UAAoB,EACpB,KAAK,EACL,MAAC,QAAmB,mCAAI,SAAS,CAClC,CAAC;YAEF,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,MAAM,CAAC,eAAe;gBACpC,MAAM,EAAE,MAAM,CAAC,KAAK;aACrB,CAAC;QACJ,CAAC;KAAA;CACF,CAAC,CAAC"}
@@ -1,73 +0,0 @@
1
- import { AppConnectionValueForAuthProperty } from '@activepieces/pieces-framework';
2
- export declare const BASE_URL = "https://bigquery.googleapis.com/bigquery/v2";
3
- export declare const bigQueryScopes: string[];
4
- export declare const bigQueryAuth: (import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props> | import("@activepieces/pieces-framework").CustomAuthProperty<{
5
- instructions: import("@activepieces/pieces-framework/dist/src/lib/property/input/markdown-property").MarkDownProperty;
6
- serviceAccountJson: import("@activepieces/pieces-framework").ShortTextProperty<true>;
7
- }>)[];
8
- export type BigQueryAuthValue = AppConnectionValueForAuthProperty<typeof bigQueryAuth>;
9
- export declare function getAccessToken(auth: BigQueryAuthValue): Promise<string>;
10
- export declare const projectIdProp: import("@activepieces/pieces-framework").DropdownProperty<string, true, (import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props> | import("@activepieces/pieces-framework").CustomAuthProperty<{
11
- instructions: import("@activepieces/pieces-framework/dist/src/lib/property/input/markdown-property").MarkDownProperty;
12
- serviceAccountJson: import("@activepieces/pieces-framework").ShortTextProperty<true>;
13
- }>)[]>;
14
- export declare const datasetIdProp: import("@activepieces/pieces-framework").DropdownProperty<string, true, (import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props> | import("@activepieces/pieces-framework").CustomAuthProperty<{
15
- instructions: import("@activepieces/pieces-framework/dist/src/lib/property/input/markdown-property").MarkDownProperty;
16
- serviceAccountJson: import("@activepieces/pieces-framework").ShortTextProperty<true>;
17
- }>)[]>;
18
- export declare const tableIdProp: import("@activepieces/pieces-framework").DropdownProperty<string, true, (import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props> | import("@activepieces/pieces-framework").CustomAuthProperty<{
19
- instructions: import("@activepieces/pieces-framework/dist/src/lib/property/input/markdown-property").MarkDownProperty;
20
- serviceAccountJson: import("@activepieces/pieces-framework").ShortTextProperty<true>;
21
- }>)[]>;
22
- export interface BQField {
23
- name: string;
24
- type: string;
25
- mode?: string;
26
- fields?: BQField[];
27
- }
28
- export interface BQRow {
29
- f: Array<{
30
- v: unknown;
31
- }>;
32
- }
33
- /**
34
- * Converts BigQuery query result rows (f[].v format) into flat key/value objects
35
- * ready for spreadsheet mapping. Nested RECORD fields are JSON-stringified.
36
- * REPEATED fields are joined as comma-separated strings.
37
- */
38
- export declare function bigQueryRowsToFlat(fields: BQField[], rows: BQRow[]): Record<string, string | number | boolean | null>[];
39
- /**
40
- * Fetches a table's schema fields from the BigQuery API.
41
- */
42
- export declare function getTableSchema(token: string, projectId: string, datasetId: string, tableId: string): Promise<BQField[]>;
43
- /**
44
- * Submits a DML query (DELETE / UPDATE / INSERT) as a BigQuery job,
45
- * polls until DONE, and returns the DML statistics.
46
- */
47
- export declare function runDmlQuery(token: string, projectId: string, query: string, location?: string): Promise<{
48
- jobId: string;
49
- affectedRowCount: number;
50
- deletedRowCount: number;
51
- updatedRowCount: number;
52
- insertedRowCount: number;
53
- }>;
54
- /**
55
- * Waits for a BigQuery job to reach DONE state by long-polling jobs.getQueryResults.
56
- * Returns the final response (schema + first page of rows).
57
- */
58
- export declare function waitForJobResults(token: string, projectId: string, jobId: string, location?: string): Promise<{
59
- schema?: {
60
- fields: BQField[];
61
- };
62
- rows?: BQRow[];
63
- pageToken?: string;
64
- totalRows?: string;
65
- totalBytesProcessed?: string;
66
- cacheHit?: boolean;
67
- jobComplete: boolean;
68
- jobReference: {
69
- projectId: string;
70
- jobId: string;
71
- };
72
- }>;
73
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/common/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,iCAAiC,EAIlC,MAAM,gCAAgC,CAAC;AAIxC,eAAO,MAAM,QAAQ,gDAAgD,CAAC;AAEtE,eAAO,MAAM,cAAc,UAA+C,CAAC;AAE3E,eAAO,MAAM,YAAY;;;KA8DxB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,iCAAiC,CAC/D,OAAO,YAAY,CACpB,CAAC;AAEF,wBAAsB,cAAc,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CAe7E;AAMD,eAAO,MAAM,aAAa;;;MAkDxB,CAAC;AAEH,eAAO,MAAM,aAAa;;;MAuDxB,CAAC;AAEH,eAAO,MAAM,WAAW;;;MAsDvB,CAAC;AAMF,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,KAAK;IACpB,CAAC,EAAE,KAAK,CAAC;QAAE,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CAC1B;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,OAAO,EAAE,EACjB,IAAI,EAAE,KAAK,EAAE,GACZ,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,EAAE,CAyBpD;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,OAAO,EAAE,CAAC,CAUpB;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAC/B,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC;IACT,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;CAC1B,CAAC,CA6DD;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC;IACT,MAAM,CAAC,EAAE;QAAE,MAAM,EAAE,OAAO,EAAE,CAAA;KAAE,CAAC;IAC/B,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CACpD,CAAC,CA4BD"}