@quillsql/node 0.7.6 → 0.7.8

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 (45) hide show
  1. package/dist/cjs/db/CachedConnection.d.ts +3 -8
  2. package/dist/cjs/db/CachedConnection.js.map +1 -1
  3. package/dist/cjs/db/ClickHouse.js +124 -124
  4. package/dist/cjs/db/ClickHouse.js.map +1 -1
  5. package/dist/cjs/db/DatabaseHelper.d.ts +16 -12
  6. package/dist/cjs/db/DatabaseHelper.js +20 -0
  7. package/dist/cjs/db/DatabaseHelper.js.map +1 -1
  8. package/dist/cjs/db/Databricks.d.ts +29 -0
  9. package/dist/cjs/db/Databricks.js +210 -0
  10. package/dist/cjs/db/Databricks.js.map +1 -0
  11. package/dist/cjs/db/Mssql.d.ts +2 -2
  12. package/dist/cjs/db/Mssql.js +79 -44
  13. package/dist/cjs/db/Mssql.js.map +1 -1
  14. package/dist/cjs/db/Postgres.js +5 -1
  15. package/dist/cjs/db/Postgres.js.map +1 -1
  16. package/dist/cjs/index.d.ts +5 -3
  17. package/dist/cjs/index.js +26 -11
  18. package/dist/cjs/index.js.map +1 -1
  19. package/dist/cjs/models/Filters.js +57 -49
  20. package/dist/cjs/models/Filters.js.map +1 -1
  21. package/dist/cjs/utils/tenants.js +6 -2
  22. package/dist/cjs/utils/tenants.js.map +1 -1
  23. package/dist/esm/db/CachedConnection.d.ts +3 -8
  24. package/dist/esm/db/CachedConnection.js.map +1 -1
  25. package/dist/esm/db/ClickHouse.js +124 -124
  26. package/dist/esm/db/ClickHouse.js.map +1 -1
  27. package/dist/esm/db/DatabaseHelper.d.ts +16 -12
  28. package/dist/esm/db/DatabaseHelper.js +22 -2
  29. package/dist/esm/db/DatabaseHelper.js.map +1 -1
  30. package/dist/esm/db/Databricks.d.ts +29 -0
  31. package/dist/esm/db/Databricks.js +199 -0
  32. package/dist/esm/db/Databricks.js.map +1 -0
  33. package/dist/esm/db/Mssql.d.ts +2 -2
  34. package/dist/esm/db/Mssql.js +80 -45
  35. package/dist/esm/db/Mssql.js.map +1 -1
  36. package/dist/esm/db/Postgres.js +5 -1
  37. package/dist/esm/db/Postgres.js.map +1 -1
  38. package/dist/esm/index.d.ts +5 -3
  39. package/dist/esm/index.js +26 -11
  40. package/dist/esm/index.js.map +1 -1
  41. package/dist/esm/models/Filters.js +57 -49
  42. package/dist/esm/models/Filters.js.map +1 -1
  43. package/dist/esm/utils/tenants.js +6 -2
  44. package/dist/esm/utils/tenants.js.map +1 -1
  45. package/package.json +3 -1
@@ -0,0 +1,210 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.connectToDatabricks = connectToDatabricks;
13
+ exports.disconnectFromDatabricks = disconnectFromDatabricks;
14
+ exports.runQueryDatabricks = runQueryDatabricks;
15
+ exports.getSchemasDatabricks = getSchemasDatabricks;
16
+ exports.getTablesBySchemaDatabricks = getTablesBySchemaDatabricks;
17
+ exports.getColumnsByTableDatabricks = getColumnsByTableDatabricks;
18
+ exports.getForeignKeysDatabricks = getForeignKeysDatabricks;
19
+ exports.getSchemaColumnInfoDatabricks = getSchemaColumnInfoDatabricks;
20
+ exports.formatDatabricksConfig = formatDatabricksConfig;
21
+ const sql_1 = require("@databricks/sql");
22
+ const DATABRICKS_DATATYPE_NAME_MAP = {
23
+ // Numeric Types
24
+ BIGINT: 20, // int8
25
+ BINARY: 17, // bytea
26
+ BOOLEAN: 16, // bool
27
+ DATE: 1082, // date
28
+ DECIMAL: 1700, // numeric
29
+ DOUBLE: 701, // float8
30
+ FLOAT: 701, // float8
31
+ INT: 23, // int4
32
+ INTERVAL: 1186, // interval
33
+ VOID: 2278, // void
34
+ SMALLINT: 21, // int2
35
+ STRING: 1043, // varchar
36
+ TIMESTAMP: 1114, // timestamp
37
+ TIMESTAMP_NTZ: 1114, // timestamp without timezone
38
+ TINYINT: 21, // mapped to smallint (int2) as postgres has no tinyint
39
+ // Complex Types - mapping to closest PostgreSQL equivalents
40
+ ARRAY: 2277, // anyarray
41
+ MAP: 3802, // jsonb
42
+ STRUCT: 3802, // jsonb
43
+ VARIANT: 3802, // jsonb
44
+ OBJECT: 3802, // jsonb
45
+ };
46
+ const DATABRICKS_DATATYPE_ID_MAP = {
47
+ // TTypeId.BOOLEAN_TYPE = 0
48
+ 0: 16, // bool
49
+ // TTypeId.TINYINT_TYPE = 1
50
+ 1: 21, // smallint (postgres has no tinyint)
51
+ // TTypeId.SMALLINT_TYPE = 2
52
+ 2: 21, // smallint
53
+ // TTypeId.INT_TYPE = 3
54
+ 3: 23, // integer
55
+ // TTypeId.BIGINT_TYPE = 4
56
+ 4: 20, // bigint
57
+ // TTypeId.FLOAT_TYPE = 5
58
+ 5: 700, // float4/real
59
+ // TTypeId.DOUBLE_TYPE = 6
60
+ 6: 701, // float8/double precision
61
+ // TTypeId.STRING_TYPE = 7
62
+ 7: 25, // text
63
+ // TTypeId.TIMESTAMP_TYPE = 8
64
+ 8: 1114, // timestamp
65
+ // TTypeId.BINARY_TYPE = 9
66
+ 9: 17, // bytea
67
+ // TTypeId.ARRAY_TYPE = 10
68
+ 10: 2277, // anyarray
69
+ // TTypeId.MAP_TYPE = 11
70
+ 11: 3802, // jsonb
71
+ // TTypeId.STRUCT_TYPE = 12
72
+ 12: 3802, // jsonb
73
+ // TTypeId.UNION_TYPE = 13
74
+ 13: 3802, // jsonb
75
+ // TTypeId.USER_DEFINED_TYPE = 14
76
+ 14: 3802, // jsonb
77
+ // TTypeId.DECIMAL_TYPE = 15
78
+ 15: 1700, // numeric
79
+ // TTypeId.NULL_TYPE = 16
80
+ 16: 1043, // varchar (default for null type)
81
+ // TTypeId.DATE_TYPE = 17
82
+ 17: 1082, // date
83
+ // TTypeId.VARCHAR_TYPE = 18
84
+ 18: 1043, // varchar
85
+ // TTypeId.CHAR_TYPE = 19
86
+ 19: 1042, // char
87
+ // TTypeId.INTERVAL_YEAR_MONTH_TYPE = 20
88
+ 20: 1186, // interval
89
+ // TTypeId.INTERVAL_DAY_TIME_TYPE = 21
90
+ 21: 1186, // interval
91
+ };
92
+ function connectToDatabricks(config) {
93
+ const client = new sql_1.DBSQLClient();
94
+ client.connect(config);
95
+ return client;
96
+ }
97
+ function disconnectFromDatabricks(client) {
98
+ client.close();
99
+ }
100
+ function runQueryDatabricks(sql, client) {
101
+ return __awaiter(this, void 0, void 0, function* () {
102
+ const session = yield client.openSession();
103
+ try {
104
+ const operation = yield session.executeStatement(sql);
105
+ const result = yield operation.fetchAll();
106
+ const schema = yield operation.getSchema();
107
+ if (!schema) {
108
+ throw new Error("Failed to get schema information");
109
+ }
110
+ return {
111
+ fields: schema.columns.map((column) => {
112
+ var _a, _b, _c, _d, _e;
113
+ return ({
114
+ name: column.columnName,
115
+ dataTypeID: DATABRICKS_DATATYPE_ID_MAP[(_e = (_d = (_c = (_b = (_a = column.typeDesc) === null || _a === void 0 ? void 0 : _a.types) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.primitiveEntry) === null || _d === void 0 ? void 0 : _d.type) !== null && _e !== void 0 ? _e : 12] || 1043,
116
+ });
117
+ }),
118
+ rows: result,
119
+ };
120
+ }
121
+ finally {
122
+ yield session.close();
123
+ }
124
+ });
125
+ }
126
+ function getSchemasDatabricks(client) {
127
+ return __awaiter(this, void 0, void 0, function* () {
128
+ const sql = `
129
+ SELECT schema_name
130
+ FROM system.information_schema.schemata
131
+ WHERE schema_name != "information_schema"
132
+ `;
133
+ const results = yield runQueryDatabricks(sql, client);
134
+ return results.rows.map((row) => row.databaseName);
135
+ });
136
+ }
137
+ function getTablesBySchemaDatabricks(client, schemaNames) {
138
+ return __awaiter(this, void 0, void 0, function* () {
139
+ const allTables = yield Promise.all(schemaNames.map((schema) => __awaiter(this, void 0, void 0, function* () {
140
+ const sql = `SELECT
141
+ table_name as tableName,
142
+ table_schema as schemaName,
143
+ table_catalog as catalogName
144
+ FROM system.information_schema.tables
145
+ WHERE table_schema = '${schema}'`;
146
+ const results = yield runQueryDatabricks(sql, client);
147
+ return results.rows.map((row) => ({
148
+ tableName: row.tableName,
149
+ schemaName: row.schemaName,
150
+ catalogName: row.catalogName,
151
+ }));
152
+ })));
153
+ return allTables.flat();
154
+ });
155
+ }
156
+ function getColumnsByTableDatabricks(client, schemaName, tableName) {
157
+ return __awaiter(this, void 0, void 0, function* () {
158
+ const sql = `SELECT
159
+ column_name as columnName
160
+ FROM system.information_schema.columns
161
+ WHERE table_schema = '${schemaName}'
162
+ AND table_name = '${tableName}'
163
+ ORDER BY ordinal_position`;
164
+ const results = yield runQueryDatabricks(sql, client);
165
+ return results.rows.map((row) => row.col_name);
166
+ });
167
+ }
168
+ // NOTE: This function is not used in the current implementation and deprecated since the materialized view update
169
+ function getForeignKeysDatabricks() {
170
+ return __awaiter(this, void 0, void 0, function* () {
171
+ // Databricks doesn't have a direct way to get foreign keys
172
+ // We'll return an empty array as this is deprecated
173
+ return [];
174
+ });
175
+ }
176
+ function getSchemaColumnInfoDatabricks(client, schemaName, tableNames) {
177
+ return __awaiter(this, void 0, void 0, function* () {
178
+ const allColumns = yield Promise.all(tableNames.map((table) => __awaiter(this, void 0, void 0, function* () {
179
+ var _a, _b;
180
+ const sql = `SELECT
181
+ column_name as columnName,
182
+ data_type as dataType
183
+ FROM system.information_schema.columns
184
+ WHERE table_schema = '${table.schemaName}'
185
+ AND table_name = '${table.tableName}'
186
+ ORDER BY ordinal_position`;
187
+ const results = yield runQueryDatabricks(sql, client);
188
+ const dataType = (((_b = (_a = results === null || results === void 0 ? void 0 : results.rows) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.dataType) || "").split("<")[0];
189
+ const postgresTypeId = DATABRICKS_DATATYPE_NAME_MAP[dataType] || 1043;
190
+ return {
191
+ tableName: `${table.schemaName}.${table.tableName}`,
192
+ columns: results.rows.map((row) => ({
193
+ columnName: row.columnName,
194
+ displayName: row.columnName,
195
+ fieldType: row.dataType,
196
+ dataTypeID: postgresTypeId,
197
+ })),
198
+ };
199
+ })));
200
+ return allColumns;
201
+ });
202
+ }
203
+ function formatDatabricksConfig(connectionString) {
204
+ const parsedUrl = new URL(connectionString);
205
+ const host = parsedUrl.hostname;
206
+ const path = parsedUrl.pathname;
207
+ const token = parsedUrl.password;
208
+ return { host, path, token };
209
+ }
210
+ //# sourceMappingURL=Databricks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Databricks.js","sourceRoot":"","sources":["../../../src/db/Databricks.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { ConnectionPool } from 'mssql';
2
- import { QuillQueryResults } from './DatabaseHelper';
1
+ import { ConnectionPool } from "mssql";
2
+ import { QuillQueryResults } from "./DatabaseHelper";
3
3
  export interface MssqlConnectionConfig {
4
4
  server: string;
5
5
  user: string;
@@ -31,8 +31,8 @@ function formatMssqlConfig(connectionString) {
31
31
  port: url.port ? parseInt(url.port) : 1433,
32
32
  options: {
33
33
  encrypt: true,
34
- trustServerCertificate: true
35
- }
34
+ trustServerCertificate: true,
35
+ },
36
36
  };
37
37
  }
38
38
  function connectToMssql(config) {
@@ -55,9 +55,11 @@ function runQueryMssql(sql, connection) {
55
55
  // this part isn't some AI hallucination, it's really like that
56
56
  const getSqlType = (typeString) => {
57
57
  var _a;
58
- return ((_a = typeString.match(/TYPES\.(\w+)/)) === null || _a === void 0 ? void 0 : _a[1]) || '';
58
+ return ((_a = typeString.match(/TYPES\.(\w+)/)) === null || _a === void 0 ? void 0 : _a[1]) || "";
59
59
  };
60
- const typeName = typeof meta.type === "function" ? getSqlType(meta.type().type.toString()) : getSqlType(meta.type.type.toString());
60
+ const typeName = typeof meta.type === "function"
61
+ ? getSqlType(meta.type().type.toString())
62
+ : getSqlType(meta.type.type.toString());
61
63
  return {
62
64
  name,
63
65
  dataTypeID: mssqlDataTypeToPostgresOID(typeName),
@@ -80,7 +82,7 @@ function getSchemasMssql(connection) {
80
82
  const sql = `SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA
81
83
  WHERE SCHEMA_NAME != 'INFORMATION_SCHEMA'`;
82
84
  const results = yield runQueryMssql(sql, connection);
83
- return results.rows.map(row => row.SCHEMA_NAME);
85
+ return results.rows.map((row) => row.SCHEMA_NAME);
84
86
  });
85
87
  }
86
88
  function getTablesBySchemaMssql(connection, schemaNames) {
@@ -94,9 +96,9 @@ function getTablesBySchemaMssql(connection, schemaNames) {
94
96
  AND TABLE_TYPE = 'BASE TABLE'
95
97
  `;
96
98
  const results = yield runQueryMssql(sql, connection);
97
- allTables.push(...results.rows.map(row => ({
99
+ allTables.push(...results.rows.map((row) => ({
98
100
  tableName: row.TABLE_NAME,
99
- schemaName: row.TABLE_SCHEMA
101
+ schemaName: row.TABLE_SCHEMA,
100
102
  })));
101
103
  }
102
104
  return allTables;
@@ -112,7 +114,7 @@ function getColumnsByTableMssql(connection, schemaName, tableName) {
112
114
  ORDER BY ORDINAL_POSITION
113
115
  `;
114
116
  const results = yield runQueryMssql(sql, connection);
115
- return results.rows.map(row => row.COLUMN_NAME);
117
+ return results.rows.map((row) => row.COLUMN_NAME);
116
118
  });
117
119
  }
118
120
  function getSchemaColumnInfoMssql(connection, schemaName, tableNames) {
@@ -132,12 +134,12 @@ function getSchemaColumnInfoMssql(connection, schemaName, tableNames) {
132
134
  return {
133
135
  tableName: `${table.schemaName}.${table.tableName}`,
134
136
  displayName: `${table.schemaName}.${table.tableName}`,
135
- columns: results.rows.map(row => ({
137
+ columns: results.rows.map((row) => ({
136
138
  columnName: row.columnName,
137
139
  displayName: row.columnName,
138
140
  dataTypeID: mssqlDataTypeToPostgresOID(row.fieldType),
139
- fieldType: row.fieldType
140
- }))
141
+ fieldType: row.fieldType,
142
+ })),
141
143
  };
142
144
  })));
143
145
  return allColumns;
@@ -146,44 +148,77 @@ function getSchemaColumnInfoMssql(connection, schemaName, tableNames) {
146
148
  function mssqlDataTypeToPostgresOID(type) {
147
149
  switch (type.toLowerCase()) {
148
150
  // Numeric Types
149
- case 'bigint': return 20; // BIGINT
150
- case 'int': return 23; // INTEGER
151
- case 'smallint': return 21; // SMALLINT
152
- case 'tinyint': return 21; // SMALLINT
153
- case 'decimal': return 1700; // NUMERIC
154
- case 'numeric': return 1700; // NUMERIC
155
- case 'money': return 790; // MONEY
156
- case 'smallmoney': return 790; // MONEY
157
- case 'float': return 701; // DOUBLE PRECISION
158
- case 'real': return 700; // REAL
159
- case 'bit': return 16; // BOOLEAN
151
+ case "bigint":
152
+ return 20; // BIGINT
153
+ case "int":
154
+ return 23; // INTEGER
155
+ case "smallint":
156
+ return 21; // SMALLINT
157
+ case "tinyint":
158
+ return 21; // SMALLINT
159
+ case "decimal":
160
+ return 1700; // NUMERIC
161
+ case "numeric":
162
+ return 1700; // NUMERIC
163
+ case "money":
164
+ return 790; // MONEY
165
+ case "smallmoney":
166
+ return 790; // MONEY
167
+ case "float":
168
+ return 701; // DOUBLE PRECISION
169
+ case "real":
170
+ return 700; // REAL
171
+ case "bit":
172
+ return 16; // BOOLEAN
160
173
  // Character Types
161
- case 'char': return 1042; // CHAR
162
- case 'varchar': return 1043; // VARCHAR
163
- case 'text': return 25; // TEXT
164
- case 'nchar': return 1042; // CHAR
165
- case 'nvarchar': return 1043; // VARCHAR
166
- case 'ntext': return 25; // TEXT
174
+ case "char":
175
+ return 1042; // CHAR
176
+ case "varchar":
177
+ return 1043; // VARCHAR
178
+ case "text":
179
+ return 25; // TEXT
180
+ case "nchar":
181
+ return 1042; // CHAR
182
+ case "nvarchar":
183
+ return 1043; // VARCHAR
184
+ case "ntext":
185
+ return 25; // TEXT
167
186
  // Binary Types
168
- case 'binary': return 17; // BYTEA
169
- case 'varbinary': return 17; // BYTEA
170
- case 'image': return 17; // BYTEA
187
+ case "binary":
188
+ return 17; // BYTEA
189
+ case "varbinary":
190
+ return 17; // BYTEA
191
+ case "image":
192
+ return 17; // BYTEA
171
193
  // Date/Time Types
172
- case 'date': return 1082; // DATE
173
- case 'datetime': return 1114; // TIMESTAMP
174
- case 'datetime2': return 1114; // TIMESTAMP
175
- case 'smalldatetime': return 1114; // TIMESTAMP
176
- case 'time': return 1083; // TIME
177
- case 'datetimeoffset': return 1184; // TIMESTAMPTZ
194
+ case "date":
195
+ return 1082; // DATE
196
+ case "datetime":
197
+ return 1114; // TIMESTAMP
198
+ case "datetime2":
199
+ return 1114; // TIMESTAMP
200
+ case "smalldatetime":
201
+ return 1114; // TIMESTAMP
202
+ case "time":
203
+ return 1083; // TIME
204
+ case "datetimeoffset":
205
+ return 1184; // TIMESTAMPTZ
178
206
  // Other Types
179
- case 'uniqueidentifier': return 2950; // UUID
180
- case 'xml': return 142; // XML
181
- case 'json': return 114; // JSON
182
- case 'sql_variant': return 1043; // VARCHAR as fallback
207
+ case "uniqueidentifier":
208
+ return 2950; // UUID
209
+ case "xml":
210
+ return 142; // XML
211
+ case "json":
212
+ return 114; // JSON
213
+ case "sql_variant":
214
+ return 1043; // VARCHAR as fallback
183
215
  // Spatial Types
184
- case 'geometry': return 17; // BYTEA
185
- case 'geography': return 17; // BYTEA
186
- default: return 1043; // Default to VARCHAR
216
+ case "geometry":
217
+ return 17; // BYTEA
218
+ case "geography":
219
+ return 17; // BYTEA
220
+ default:
221
+ return 1043; // Default to VARCHAR
187
222
  }
188
223
  }
189
224
  //# sourceMappingURL=Mssql.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Mssql.js","sourceRoot":"","sources":["../../../src/db/Mssql.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Mssql.js","sourceRoot":"","sources":["../../../src/db/Mssql.ts"],"names":[],"mappings":"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"}
@@ -26,7 +26,11 @@ pg_1.types.setTypeParser(1114, function (val) {
26
26
  return val;
27
27
  });
28
28
  function connectToPostgres(config) {
29
- return new pg_1.Pool(config);
29
+ const pool = new pg_1.Pool(config);
30
+ pool.on("error", (err) => {
31
+ console.error("Idle client terminated", err.message);
32
+ });
33
+ return pool;
30
34
  }
31
35
  function disconnectFromPostgres(pool) {
32
36
  pool.end();
@@ -1 +1 @@
1
- {"version":3,"file":"Postgres.js","sourceRoot":"","sources":["../../../src/db/Postgres.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Postgres.js","sourceRoot":"","sources":["../../../src/db/Postgres.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { CacheCredentials } from "./models/Cache";
2
2
  import { QuillQueryParams } from "./models/Quill";
3
3
  import "dotenv/config";
4
+ import { DatabaseConnectionConfig, DatabaseConnectionType } from "./db/DatabaseHelper";
4
5
  export declare const SINGLE_TENANT = "QUILL_SINGLE_TENANT";
5
6
  export declare const ALL_TENANTS = "QUILL_ALL_TENANTS";
6
7
  /**
@@ -21,7 +22,8 @@ export declare enum DatabaseType {
21
22
  bigquery = "bigquery",
22
23
  mysql = "mysql",
23
24
  clickhouse = "clickhouse",
24
- mssql = "mssql"
25
+ mssql = "mssql",
26
+ databricks = "databricks"
25
27
  }
26
28
  export declare class Quill implements AsyncDisposable {
27
29
  private targetConnection;
@@ -29,9 +31,9 @@ export declare class Quill implements AsyncDisposable {
29
31
  private config;
30
32
  constructor(data: {
31
33
  privateKey: string;
32
- databaseType: "postgresql" | "snowflake" | "bigquery" | "mysql" | "clickhouse" | "mssql";
34
+ databaseType: DatabaseConnectionType;
33
35
  databaseConnectionString?: string;
34
- databaseConfig?: any;
36
+ databaseConfig?: DatabaseConnectionConfig;
35
37
  cache?: Partial<CacheCredentials>;
36
38
  metadataServerURL?: string;
37
39
  });
package/dist/cjs/index.js CHANGED
@@ -27,7 +27,13 @@ exports.ALL_TENANTS = "QUILL_ALL_TENANTS";
27
27
  const HOST = process.env.ENV === "development"
28
28
  ? "http://localhost:8080"
29
29
  : "https://quill-344421.uc.r.appspot.com";
30
- const FLAG_TASKS = new Set(['dashboard', 'report', 'item', 'report-info', 'filter-options']);
30
+ const FLAG_TASKS = new Set([
31
+ "dashboard",
32
+ "report",
33
+ "item",
34
+ "report-info",
35
+ "filter-options",
36
+ ]);
31
37
  var DatabaseType;
32
38
  (function (DatabaseType) {
33
39
  DatabaseType["postgresql"] = "postgresql";
@@ -36,16 +42,23 @@ var DatabaseType;
36
42
  DatabaseType["mysql"] = "mysql";
37
43
  DatabaseType["clickhouse"] = "clickhouse";
38
44
  DatabaseType["mssql"] = "mssql";
45
+ DatabaseType["databricks"] = "databricks";
39
46
  })(DatabaseType || (exports.DatabaseType = DatabaseType = {}));
40
47
  class Quill {
41
48
  constructor(data) {
42
49
  const { privateKey, databaseType, databaseConnectionString, databaseConfig, cache, metadataServerURL, } = data;
50
+ if (!databaseType || !privateKey) {
51
+ throw new Error("Quill requires a database type and private key.");
52
+ }
43
53
  this.baseUrl = metadataServerURL ? metadataServerURL : HOST;
44
54
  this.config = { headers: { Authorization: `Bearer ${privateKey}` } };
45
55
  let credentials = databaseConfig;
46
56
  if (databaseConnectionString) {
47
57
  credentials = (0, DatabaseHelper_1.getDatabaseCredentials)(databaseType, databaseConnectionString);
48
58
  }
59
+ if (!credentials) {
60
+ throw new Error("Quill requires a database config or connection string.");
61
+ }
49
62
  this.targetConnection = new CachedConnection_1.CachedConnection(databaseType, credentials, cache || {});
50
63
  }
51
64
  query(_a) {
@@ -70,11 +83,10 @@ class Quill {
70
83
  // If the task is one that requires flags to be synthesized from the tenants
71
84
  if (FLAG_TASKS.has(metadata.task) &&
72
85
  (tenants === null || tenants === void 0 ? void 0 : tenants[0]) !== exports.ALL_TENANTS &&
73
- (tenants === null || tenants === void 0 ? void 0 : tenants[0]) !== exports.SINGLE_TENANT &&
74
- (metadata.task !== 'filter-options' ||
75
- !metadata.reportId)) {
76
- const response = yield this.postQuill('tenant-mapped-flags', {
86
+ (tenants === null || tenants === void 0 ? void 0 : tenants[0]) !== exports.SINGLE_TENANT) {
87
+ const response = yield this.postQuill("tenant-mapped-flags", {
77
88
  reportId: (_b = metadata.reportId) !== null && _b !== void 0 ? _b : metadata.dashboardItemId,
89
+ clientId: metadata.clientId,
78
90
  dashboardName: metadata.name,
79
91
  tenants,
80
92
  flags,
@@ -94,7 +106,9 @@ class Quill {
94
106
  }
95
107
  else if ((tenants === null || tenants === void 0 ? void 0 : tenants[0]) === exports.SINGLE_TENANT && flags) {
96
108
  if (flags.length && typeof flags[0] === "object") {
97
- tenantFlags = [{ tenantField: exports.SINGLE_TENANT, flags: flags }];
109
+ tenantFlags = [
110
+ { tenantField: exports.SINGLE_TENANT, flags: flags },
111
+ ];
98
112
  }
99
113
  else {
100
114
  tenantFlags = flags;
@@ -209,11 +223,12 @@ class Quill {
209
223
  try {
210
224
  let limitedViewQuery = table.viewQuery;
211
225
  if (runQueryConfig.limitBy) {
212
- limitedViewQuery = this.targetConnection.databaseType === "mssql"
213
- ? table.viewQuery.match(/SELECT TOP \d+/i)
214
- ? table.viewQuery
215
- : table.viewQuery.replace(/select/i, `SELECT TOP ${runQueryConfig.limitBy}`)
216
- : `${table.viewQuery.replace(/;/, "")} limit ${runQueryConfig.limitBy}`;
226
+ limitedViewQuery =
227
+ this.targetConnection.databaseType === "mssql"
228
+ ? table.viewQuery.match(/SELECT TOP \d+/i)
229
+ ? table.viewQuery
230
+ : table.viewQuery.replace(/select/i, `SELECT TOP ${runQueryConfig.limitBy}`)
231
+ : `${table.viewQuery.replace(/;/, "")} limit ${runQueryConfig.limitBy}`;
217
232
  }
218
233
  const queryResult = yield this.targetConnection.query(limitedViewQuery);
219
234
  const columns = queryResult.fields.map((field) => {