@aiqadam/qadam-snowflake 0.3.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 (102) hide show
  1. package/LICENSE +22 -0
  2. package/NOTICE +6 -0
  3. package/README.md +5 -0
  4. package/package.json +23 -0
  5. package/src/i18n/de.json +120 -0
  6. package/src/i18n/es.json +120 -0
  7. package/src/i18n/fr.json +120 -0
  8. package/src/i18n/ja.json +120 -0
  9. package/src/i18n/nl.json +120 -0
  10. package/src/i18n/pt.json +120 -0
  11. package/src/i18n/ru.json +16 -0
  12. package/src/i18n/translation.json +120 -0
  13. package/src/i18n/vi.json +14 -0
  14. package/src/i18n/zh.json +120 -0
  15. package/src/index.d.ts +11 -0
  16. package/src/index.d.ts.map +1 -0
  17. package/src/index.js +63 -0
  18. package/src/index.js.map +1 -0
  19. package/src/lib/actions/create-dynamic-table.d.ts +45 -0
  20. package/src/lib/actions/create-dynamic-table.d.ts.map +1 -0
  21. package/src/lib/actions/create-dynamic-table.js +82 -0
  22. package/src/lib/actions/create-dynamic-table.js.map +1 -0
  23. package/src/lib/actions/delete-row.d.ts +43 -0
  24. package/src/lib/actions/delete-row.d.ts.map +1 -0
  25. package/src/lib/actions/delete-row.js +50 -0
  26. package/src/lib/actions/delete-row.js.map +1 -0
  27. package/src/lib/actions/execute-stored-procedure.d.ts +43 -0
  28. package/src/lib/actions/execute-stored-procedure.d.ts.map +1 -0
  29. package/src/lib/actions/execute-stored-procedure.js +97 -0
  30. package/src/lib/actions/execute-stored-procedure.js.map +1 -0
  31. package/src/lib/actions/get-row-by-id.d.ts +53 -0
  32. package/src/lib/actions/get-row-by-id.d.ts.map +1 -0
  33. package/src/lib/actions/get-row-by-id.js +72 -0
  34. package/src/lib/actions/get-row-by-id.js.map +1 -0
  35. package/src/lib/actions/get-table-schema.d.ts +42 -0
  36. package/src/lib/actions/get-table-schema.d.ts.map +1 -0
  37. package/src/lib/actions/get-table-schema.js +54 -0
  38. package/src/lib/actions/get-table-schema.js.map +1 -0
  39. package/src/lib/actions/insert-multiple-rows.d.ts +43 -0
  40. package/src/lib/actions/insert-multiple-rows.d.ts.map +1 -0
  41. package/src/lib/actions/insert-multiple-rows.js +86 -0
  42. package/src/lib/actions/insert-multiple-rows.js.map +1 -0
  43. package/src/lib/actions/insert-row.d.ts +52 -0
  44. package/src/lib/actions/insert-row.d.ts.map +1 -0
  45. package/src/lib/actions/insert-row.js +41 -0
  46. package/src/lib/actions/insert-row.js.map +1 -0
  47. package/src/lib/actions/list-tables.d.ts +32 -0
  48. package/src/lib/actions/list-tables.d.ts.map +1 -0
  49. package/src/lib/actions/list-tables.js +52 -0
  50. package/src/lib/actions/list-tables.js.map +1 -0
  51. package/src/lib/actions/load-data-from-stage.d.ts +48 -0
  52. package/src/lib/actions/load-data-from-stage.d.ts.map +1 -0
  53. package/src/lib/actions/load-data-from-stage.js +124 -0
  54. package/src/lib/actions/load-data-from-stage.js.map +1 -0
  55. package/src/lib/actions/run-multiple-queries.d.ts +17 -0
  56. package/src/lib/actions/run-multiple-queries.d.ts.map +1 -0
  57. package/src/lib/actions/run-multiple-queries.js +147 -0
  58. package/src/lib/actions/run-multiple-queries.js.map +1 -0
  59. package/src/lib/actions/run-query.d.ts +16 -0
  60. package/src/lib/actions/run-query.d.ts.map +1 -0
  61. package/src/lib/actions/run-query.js +58 -0
  62. package/src/lib/actions/run-query.js.map +1 -0
  63. package/src/lib/actions/search-rows.d.ts +45 -0
  64. package/src/lib/actions/search-rows.d.ts.map +1 -0
  65. package/src/lib/actions/search-rows.js +63 -0
  66. package/src/lib/actions/search-rows.js.map +1 -0
  67. package/src/lib/actions/update-row.d.ts +53 -0
  68. package/src/lib/actions/update-row.d.ts.map +1 -0
  69. package/src/lib/actions/update-row.js +59 -0
  70. package/src/lib/actions/update-row.js.map +1 -0
  71. package/src/lib/actions/upsert-row.d.ts +62 -0
  72. package/src/lib/actions/upsert-row.d.ts.map +1 -0
  73. package/src/lib/actions/upsert-row.js +98 -0
  74. package/src/lib/actions/upsert-row.js.map +1 -0
  75. package/src/lib/auth.d.ts +22 -0
  76. package/src/lib/auth.d.ts.map +1 -0
  77. package/src/lib/auth.js +246 -0
  78. package/src/lib/auth.js.map +1 -0
  79. package/src/lib/common/index.d.ts +93 -0
  80. package/src/lib/common/index.d.ts.map +1 -0
  81. package/src/lib/common/index.js +319 -0
  82. package/src/lib/common/index.js.map +1 -0
  83. package/src/lib/triggers/new-column.d.ts +163 -0
  84. package/src/lib/triggers/new-column.d.ts.map +1 -0
  85. package/src/lib/triggers/new-column.js +94 -0
  86. package/src/lib/triggers/new-column.js.map +1 -0
  87. package/src/lib/triggers/new-or-updated-row.d.ts +203 -0
  88. package/src/lib/triggers/new-or-updated-row.d.ts.map +1 -0
  89. package/src/lib/triggers/new-or-updated-row.js +108 -0
  90. package/src/lib/triggers/new-or-updated-row.js.map +1 -0
  91. package/src/lib/triggers/new-row.d.ts +203 -0
  92. package/src/lib/triggers/new-row.d.ts.map +1 -0
  93. package/src/lib/triggers/new-row.js +107 -0
  94. package/src/lib/triggers/new-row.js.map +1 -0
  95. package/src/lib/triggers/new-table.d.ts +123 -0
  96. package/src/lib/triggers/new-table.d.ts.map +1 -0
  97. package/src/lib/triggers/new-table.js +94 -0
  98. package/src/lib/triggers/new-table.js.map +1 -0
  99. package/src/lib/triggers/new-view.d.ts +123 -0
  100. package/src/lib/triggers/new-view.d.ts.map +1 -0
  101. package/src/lib/triggers/new-view.js +94 -0
  102. package/src/lib/triggers/new-view.js.map +1 -0
@@ -0,0 +1,123 @@
1
+ import { TriggerStrategy } from '@aiqadam/qadams-framework';
2
+ export declare const newViewTrigger: import("@aiqadam/qadams-framework").ITrigger<TriggerStrategy.WEBHOOK, (import("@aiqadam/qadams-framework").OAuth2Property<import("@aiqadam/qadams-framework").OAuth2Props> | import("@aiqadam/qadams-framework").CustomAuthProperty<{
3
+ account: import("@aiqadam/qadams-framework").ShortTextProperty<true>;
4
+ username: import("@aiqadam/qadams-framework").ShortTextProperty<true>;
5
+ password: import("@aiqadam/qadams-framework").SecretTextProperty<false>;
6
+ privateKey: import("@aiqadam/qadams-framework").SecretTextProperty<false>;
7
+ privateKeyPassphrase: import("@aiqadam/qadams-framework").SecretTextProperty<false>;
8
+ database: import("@aiqadam/qadams-framework").ShortTextProperty<false>;
9
+ role: import("@aiqadam/qadams-framework").ShortTextProperty<false>;
10
+ warehouse: import("@aiqadam/qadams-framework").ShortTextProperty<false>;
11
+ }>)[], {
12
+ database: import("@aiqadam/qadams-framework").DropdownProperty<string, true, (import("@aiqadam/qadams-framework").OAuth2Property<import("@aiqadam/qadams-framework").OAuth2Props> | import("@aiqadam/qadams-framework").CustomAuthProperty<{
13
+ account: import("@aiqadam/qadams-framework").ShortTextProperty<true>;
14
+ username: import("@aiqadam/qadams-framework").ShortTextProperty<true>;
15
+ password: import("@aiqadam/qadams-framework").SecretTextProperty<false>;
16
+ privateKey: import("@aiqadam/qadams-framework").SecretTextProperty<false>;
17
+ privateKeyPassphrase: import("@aiqadam/qadams-framework").SecretTextProperty<false>;
18
+ database: import("@aiqadam/qadams-framework").ShortTextProperty<false>;
19
+ role: import("@aiqadam/qadams-framework").ShortTextProperty<false>;
20
+ warehouse: import("@aiqadam/qadams-framework").ShortTextProperty<false>;
21
+ }>)[]>;
22
+ schema: import("@aiqadam/qadams-framework").DropdownProperty<string, true, (import("@aiqadam/qadams-framework").OAuth2Property<import("@aiqadam/qadams-framework").OAuth2Props> | import("@aiqadam/qadams-framework").CustomAuthProperty<{
23
+ account: import("@aiqadam/qadams-framework").ShortTextProperty<true>;
24
+ username: import("@aiqadam/qadams-framework").ShortTextProperty<true>;
25
+ password: import("@aiqadam/qadams-framework").SecretTextProperty<false>;
26
+ privateKey: import("@aiqadam/qadams-framework").SecretTextProperty<false>;
27
+ privateKeyPassphrase: import("@aiqadam/qadams-framework").SecretTextProperty<false>;
28
+ database: import("@aiqadam/qadams-framework").ShortTextProperty<false>;
29
+ role: import("@aiqadam/qadams-framework").ShortTextProperty<false>;
30
+ warehouse: import("@aiqadam/qadams-framework").ShortTextProperty<false>;
31
+ }>)[]>;
32
+ }> | import("@aiqadam/qadams-framework").ITrigger<TriggerStrategy.POLLING, (import("@aiqadam/qadams-framework").OAuth2Property<import("@aiqadam/qadams-framework").OAuth2Props> | import("@aiqadam/qadams-framework").CustomAuthProperty<{
33
+ account: import("@aiqadam/qadams-framework").ShortTextProperty<true>;
34
+ username: import("@aiqadam/qadams-framework").ShortTextProperty<true>;
35
+ password: import("@aiqadam/qadams-framework").SecretTextProperty<false>;
36
+ privateKey: import("@aiqadam/qadams-framework").SecretTextProperty<false>;
37
+ privateKeyPassphrase: import("@aiqadam/qadams-framework").SecretTextProperty<false>;
38
+ database: import("@aiqadam/qadams-framework").ShortTextProperty<false>;
39
+ role: import("@aiqadam/qadams-framework").ShortTextProperty<false>;
40
+ warehouse: import("@aiqadam/qadams-framework").ShortTextProperty<false>;
41
+ }>)[], {
42
+ database: import("@aiqadam/qadams-framework").DropdownProperty<string, true, (import("@aiqadam/qadams-framework").OAuth2Property<import("@aiqadam/qadams-framework").OAuth2Props> | import("@aiqadam/qadams-framework").CustomAuthProperty<{
43
+ account: import("@aiqadam/qadams-framework").ShortTextProperty<true>;
44
+ username: import("@aiqadam/qadams-framework").ShortTextProperty<true>;
45
+ password: import("@aiqadam/qadams-framework").SecretTextProperty<false>;
46
+ privateKey: import("@aiqadam/qadams-framework").SecretTextProperty<false>;
47
+ privateKeyPassphrase: import("@aiqadam/qadams-framework").SecretTextProperty<false>;
48
+ database: import("@aiqadam/qadams-framework").ShortTextProperty<false>;
49
+ role: import("@aiqadam/qadams-framework").ShortTextProperty<false>;
50
+ warehouse: import("@aiqadam/qadams-framework").ShortTextProperty<false>;
51
+ }>)[]>;
52
+ schema: import("@aiqadam/qadams-framework").DropdownProperty<string, true, (import("@aiqadam/qadams-framework").OAuth2Property<import("@aiqadam/qadams-framework").OAuth2Props> | import("@aiqadam/qadams-framework").CustomAuthProperty<{
53
+ account: import("@aiqadam/qadams-framework").ShortTextProperty<true>;
54
+ username: import("@aiqadam/qadams-framework").ShortTextProperty<true>;
55
+ password: import("@aiqadam/qadams-framework").SecretTextProperty<false>;
56
+ privateKey: import("@aiqadam/qadams-framework").SecretTextProperty<false>;
57
+ privateKeyPassphrase: import("@aiqadam/qadams-framework").SecretTextProperty<false>;
58
+ database: import("@aiqadam/qadams-framework").ShortTextProperty<false>;
59
+ role: import("@aiqadam/qadams-framework").ShortTextProperty<false>;
60
+ warehouse: import("@aiqadam/qadams-framework").ShortTextProperty<false>;
61
+ }>)[]>;
62
+ }> | import("@aiqadam/qadams-framework").ITrigger<TriggerStrategy.MANUAL, (import("@aiqadam/qadams-framework").OAuth2Property<import("@aiqadam/qadams-framework").OAuth2Props> | import("@aiqadam/qadams-framework").CustomAuthProperty<{
63
+ account: import("@aiqadam/qadams-framework").ShortTextProperty<true>;
64
+ username: import("@aiqadam/qadams-framework").ShortTextProperty<true>;
65
+ password: import("@aiqadam/qadams-framework").SecretTextProperty<false>;
66
+ privateKey: import("@aiqadam/qadams-framework").SecretTextProperty<false>;
67
+ privateKeyPassphrase: import("@aiqadam/qadams-framework").SecretTextProperty<false>;
68
+ database: import("@aiqadam/qadams-framework").ShortTextProperty<false>;
69
+ role: import("@aiqadam/qadams-framework").ShortTextProperty<false>;
70
+ warehouse: import("@aiqadam/qadams-framework").ShortTextProperty<false>;
71
+ }>)[], {
72
+ database: import("@aiqadam/qadams-framework").DropdownProperty<string, true, (import("@aiqadam/qadams-framework").OAuth2Property<import("@aiqadam/qadams-framework").OAuth2Props> | import("@aiqadam/qadams-framework").CustomAuthProperty<{
73
+ account: import("@aiqadam/qadams-framework").ShortTextProperty<true>;
74
+ username: import("@aiqadam/qadams-framework").ShortTextProperty<true>;
75
+ password: import("@aiqadam/qadams-framework").SecretTextProperty<false>;
76
+ privateKey: import("@aiqadam/qadams-framework").SecretTextProperty<false>;
77
+ privateKeyPassphrase: import("@aiqadam/qadams-framework").SecretTextProperty<false>;
78
+ database: import("@aiqadam/qadams-framework").ShortTextProperty<false>;
79
+ role: import("@aiqadam/qadams-framework").ShortTextProperty<false>;
80
+ warehouse: import("@aiqadam/qadams-framework").ShortTextProperty<false>;
81
+ }>)[]>;
82
+ schema: import("@aiqadam/qadams-framework").DropdownProperty<string, true, (import("@aiqadam/qadams-framework").OAuth2Property<import("@aiqadam/qadams-framework").OAuth2Props> | import("@aiqadam/qadams-framework").CustomAuthProperty<{
83
+ account: import("@aiqadam/qadams-framework").ShortTextProperty<true>;
84
+ username: import("@aiqadam/qadams-framework").ShortTextProperty<true>;
85
+ password: import("@aiqadam/qadams-framework").SecretTextProperty<false>;
86
+ privateKey: import("@aiqadam/qadams-framework").SecretTextProperty<false>;
87
+ privateKeyPassphrase: import("@aiqadam/qadams-framework").SecretTextProperty<false>;
88
+ database: import("@aiqadam/qadams-framework").ShortTextProperty<false>;
89
+ role: import("@aiqadam/qadams-framework").ShortTextProperty<false>;
90
+ warehouse: import("@aiqadam/qadams-framework").ShortTextProperty<false>;
91
+ }>)[]>;
92
+ }> | import("@aiqadam/qadams-framework").ITrigger<TriggerStrategy.APP_WEBHOOK, (import("@aiqadam/qadams-framework").OAuth2Property<import("@aiqadam/qadams-framework").OAuth2Props> | import("@aiqadam/qadams-framework").CustomAuthProperty<{
93
+ account: import("@aiqadam/qadams-framework").ShortTextProperty<true>;
94
+ username: import("@aiqadam/qadams-framework").ShortTextProperty<true>;
95
+ password: import("@aiqadam/qadams-framework").SecretTextProperty<false>;
96
+ privateKey: import("@aiqadam/qadams-framework").SecretTextProperty<false>;
97
+ privateKeyPassphrase: import("@aiqadam/qadams-framework").SecretTextProperty<false>;
98
+ database: import("@aiqadam/qadams-framework").ShortTextProperty<false>;
99
+ role: import("@aiqadam/qadams-framework").ShortTextProperty<false>;
100
+ warehouse: import("@aiqadam/qadams-framework").ShortTextProperty<false>;
101
+ }>)[], {
102
+ database: import("@aiqadam/qadams-framework").DropdownProperty<string, true, (import("@aiqadam/qadams-framework").OAuth2Property<import("@aiqadam/qadams-framework").OAuth2Props> | import("@aiqadam/qadams-framework").CustomAuthProperty<{
103
+ account: import("@aiqadam/qadams-framework").ShortTextProperty<true>;
104
+ username: import("@aiqadam/qadams-framework").ShortTextProperty<true>;
105
+ password: import("@aiqadam/qadams-framework").SecretTextProperty<false>;
106
+ privateKey: import("@aiqadam/qadams-framework").SecretTextProperty<false>;
107
+ privateKeyPassphrase: import("@aiqadam/qadams-framework").SecretTextProperty<false>;
108
+ database: import("@aiqadam/qadams-framework").ShortTextProperty<false>;
109
+ role: import("@aiqadam/qadams-framework").ShortTextProperty<false>;
110
+ warehouse: import("@aiqadam/qadams-framework").ShortTextProperty<false>;
111
+ }>)[]>;
112
+ schema: import("@aiqadam/qadams-framework").DropdownProperty<string, true, (import("@aiqadam/qadams-framework").OAuth2Property<import("@aiqadam/qadams-framework").OAuth2Props> | import("@aiqadam/qadams-framework").CustomAuthProperty<{
113
+ account: import("@aiqadam/qadams-framework").ShortTextProperty<true>;
114
+ username: import("@aiqadam/qadams-framework").ShortTextProperty<true>;
115
+ password: import("@aiqadam/qadams-framework").SecretTextProperty<false>;
116
+ privateKey: import("@aiqadam/qadams-framework").SecretTextProperty<false>;
117
+ privateKeyPassphrase: import("@aiqadam/qadams-framework").SecretTextProperty<false>;
118
+ database: import("@aiqadam/qadams-framework").ShortTextProperty<false>;
119
+ role: import("@aiqadam/qadams-framework").ShortTextProperty<false>;
120
+ warehouse: import("@aiqadam/qadams-framework").ShortTextProperty<false>;
121
+ }>)[]>;
122
+ }>;
123
+ //# sourceMappingURL=new-view.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"new-view.d.ts","sourceRoot":"","sources":["../../../../src/lib/triggers/new-view.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,eAAe,EAEhB,MAAM,2BAA2B,CAAC;AAoEnC,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmCzB,CAAC"}
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.newViewTrigger = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const qadams_framework_1 = require("@aiqadam/qadams-framework");
6
+ const qadams_common_1 = require("@aiqadam/qadams-common");
7
+ const auth_1 = require("../auth");
8
+ const common_1 = require("../common");
9
+ const props = {
10
+ database: common_1.snowflakeCommonProps.database,
11
+ schema: common_1.snowflakeCommonProps.schema,
12
+ };
13
+ function toEpochMs(value) {
14
+ if (value instanceof Date)
15
+ return value.getTime();
16
+ if (typeof value === 'string')
17
+ return new Date(value).getTime();
18
+ return 0;
19
+ }
20
+ const polling = {
21
+ strategy: qadams_common_1.DedupeStrategy.TIMEBASED,
22
+ items: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth, propsValue }) {
23
+ const { database, schema } = propsValue;
24
+ if (!database || !schema)
25
+ return [];
26
+ const connection = (0, common_1.configureConnection)(auth);
27
+ yield (0, common_1.connect)(connection);
28
+ try {
29
+ const result = yield (0, common_1.execute)(connection, `SHOW VIEWS IN SCHEMA ${database}.${schema}`, []);
30
+ if (!result)
31
+ return [];
32
+ return result.map((view) => ({
33
+ epochMilliSeconds: toEpochMs(view['created_on']),
34
+ data: {
35
+ view_name: view['name'],
36
+ database_name: view['database_name'],
37
+ schema_name: view['schema_name'],
38
+ owner: view['owner'],
39
+ comment: view['comment'],
40
+ text: view['text'],
41
+ is_secure: view['is_secure'],
42
+ is_materialized: view['is_materialized'],
43
+ created_on: view['created_on'],
44
+ },
45
+ }));
46
+ }
47
+ finally {
48
+ yield (0, common_1.destroy)(connection);
49
+ }
50
+ }),
51
+ };
52
+ exports.newViewTrigger = (0, qadams_framework_1.createTrigger)({
53
+ auth: auth_1.snowflakeAuth,
54
+ name: 'new_view',
55
+ displayName: 'New View',
56
+ description: 'Triggers when a new view is created in the selected schema. Checked by polling every few minutes.',
57
+ aiMetadata: {
58
+ description: "Fires when a new view is created in the selected Snowflake database and schema, detected by polling and comparing each view's creation time against the last-seen watermark. Each newly created view produces one event with its name, owner, definition text, and metadata.",
59
+ },
60
+ props,
61
+ sampleData: {
62
+ view_name: 'ACTIVE_CUSTOMERS',
63
+ database_name: 'MY_DATABASE',
64
+ schema_name: 'PUBLIC',
65
+ owner: 'SYSADMIN',
66
+ comment: '',
67
+ text: "CREATE VIEW ACTIVE_CUSTOMERS AS SELECT * FROM CUSTOMERS WHERE STATUS = 'ACTIVE'",
68
+ is_secure: 'N',
69
+ is_materialized: 'N',
70
+ created_on: '2024-01-15T10:30:00.000Z',
71
+ },
72
+ type: qadams_framework_1.TriggerStrategy.POLLING,
73
+ test(context) {
74
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
75
+ return yield qadams_common_1.pollingHelper.test(polling, context);
76
+ });
77
+ },
78
+ onEnable(context) {
79
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
80
+ yield qadams_common_1.pollingHelper.onEnable(polling, context);
81
+ });
82
+ },
83
+ onDisable(context) {
84
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
85
+ yield qadams_common_1.pollingHelper.onDisable(polling, context);
86
+ });
87
+ },
88
+ run(context) {
89
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
90
+ return yield qadams_common_1.pollingHelper.poll(polling, context);
91
+ });
92
+ },
93
+ });
94
+ //# sourceMappingURL=new-view.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"new-view.js","sourceRoot":"","sources":["../../../../src/lib/triggers/new-view.ts"],"names":[],"mappings":"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"}