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