@quillsql/node 0.4.3 → 0.4.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.
- package/dist/db/DatabaseHelper.d.ts +0 -1
- package/dist/db/DatabaseHelper.js +0 -1
- package/dist/index.d.ts +18 -2
- package/dist/index.js +14 -8
- package/dist/index.uspec.d.ts +0 -1
- package/dist/index.uspec.js +40 -38
- package/package.json +1 -1
- package/src/db/DatabaseHelper.ts +0 -1
- package/src/index.ts +33 -14
- package/src/index.uspec.ts +40 -40
|
@@ -7,7 +7,6 @@ import { SnowflakeConnectionConfig } from "./Snowflake";
|
|
|
7
7
|
import { BigQueryConfig } from "./BigQuery";
|
|
8
8
|
import { MysqlConnectionConfig } from "./Mysql";
|
|
9
9
|
export declare enum DatabaseType {
|
|
10
|
-
postgres = "postgres",
|
|
11
10
|
postgresql = "postgresql",
|
|
12
11
|
snowflake = "snowflake",
|
|
13
12
|
bigquery = "bigquery",
|
|
@@ -16,7 +16,6 @@ const BigQuery_1 = require("./BigQuery");
|
|
|
16
16
|
const Mysql_1 = require("./Mysql");
|
|
17
17
|
var DatabaseType;
|
|
18
18
|
(function (DatabaseType) {
|
|
19
|
-
DatabaseType["postgres"] = "postgres";
|
|
20
19
|
DatabaseType["postgresql"] = "postgresql";
|
|
21
20
|
DatabaseType["snowflake"] = "snowflake";
|
|
22
21
|
DatabaseType["bigquery"] = "bigquery";
|
package/dist/index.d.ts
CHANGED
|
@@ -6,12 +6,28 @@ import { DatabaseType } from "./db/DatabaseHelper";
|
|
|
6
6
|
/**
|
|
7
7
|
* Quill - Fullstack API Platform for Dashboards and Reporting.
|
|
8
8
|
*/
|
|
9
|
+
export interface QuillQueryResult {
|
|
10
|
+
data?: any;
|
|
11
|
+
status: string;
|
|
12
|
+
error?: string;
|
|
13
|
+
queries?: {
|
|
14
|
+
rows: any[];
|
|
15
|
+
fields: any[];
|
|
16
|
+
};
|
|
17
|
+
}
|
|
9
18
|
export default class QuillClass {
|
|
10
19
|
targetConnection: CachedConnection;
|
|
11
20
|
private baseUrl;
|
|
12
21
|
private config;
|
|
13
|
-
constructor(
|
|
14
|
-
|
|
22
|
+
constructor(data: {
|
|
23
|
+
privateKey: string;
|
|
24
|
+
databaseType: DatabaseType;
|
|
25
|
+
databaseConnectionString?: string;
|
|
26
|
+
databaseConfig?: any;
|
|
27
|
+
cache?: Partial<CacheCredentials>;
|
|
28
|
+
metadataServerURL?: string;
|
|
29
|
+
});
|
|
30
|
+
query({ orgId, metadata, }: QuillQueryParams): Promise<QuillQueryResult>;
|
|
15
31
|
private runQueries;
|
|
16
32
|
private postQuill;
|
|
17
33
|
close(): Promise<void>;
|
package/dist/index.js
CHANGED
|
@@ -21,20 +21,18 @@ const schemaConversion_1 = require("./utils/schemaConversion");
|
|
|
21
21
|
const HOST = process.env.ENV === "development"
|
|
22
22
|
? "http://localhost:8080"
|
|
23
23
|
: "https://quill-344421.uc.r.appspot.com";
|
|
24
|
-
/**
|
|
25
|
-
* Quill - Fullstack API Platform for Dashboards and Reporting.
|
|
26
|
-
*/
|
|
27
24
|
class QuillClass {
|
|
28
|
-
constructor(
|
|
25
|
+
constructor(data) {
|
|
26
|
+
const { privateKey, databaseType, databaseConnectionString, databaseConfig, cache, metadataServerURL, } = data;
|
|
29
27
|
this.baseUrl = metadataServerURL ? metadataServerURL : HOST;
|
|
30
28
|
this.config = { headers: { Authorization: `Bearer ${privateKey}` } };
|
|
31
|
-
let credentials =
|
|
29
|
+
let credentials = databaseConfig;
|
|
32
30
|
if (databaseConnectionString) {
|
|
33
31
|
credentials = (0, DatabaseHelper_1.getDatabaseCredentials)(databaseType, databaseConnectionString);
|
|
34
32
|
}
|
|
35
|
-
this.targetConnection = new CachedConnection_1.CachedConnection(databaseType, credentials, cache);
|
|
33
|
+
this.targetConnection = new CachedConnection_1.CachedConnection(databaseType, credentials, cache || {});
|
|
36
34
|
}
|
|
37
|
-
query({ orgId, metadata }) {
|
|
35
|
+
query({ orgId, metadata, }) {
|
|
38
36
|
var _a, _b, _c;
|
|
39
37
|
return __awaiter(this, void 0, void 0, function* () {
|
|
40
38
|
this.targetConnection.orgId = orgId;
|
|
@@ -169,7 +167,14 @@ class QuillClass {
|
|
|
169
167
|
}
|
|
170
168
|
exports.default = QuillClass;
|
|
171
169
|
const Quill = ({ privateKey, databaseConnectionString, databaseConfig, cache, databaseType, metadataServerURL, }) => {
|
|
172
|
-
return new QuillClass(
|
|
170
|
+
return new QuillClass({
|
|
171
|
+
privateKey,
|
|
172
|
+
databaseType,
|
|
173
|
+
databaseConnectionString,
|
|
174
|
+
databaseConfig,
|
|
175
|
+
cache,
|
|
176
|
+
metadataServerURL,
|
|
177
|
+
});
|
|
173
178
|
};
|
|
174
179
|
module.exports = Quill;
|
|
175
180
|
module.exports.Quill = Quill;
|
|
@@ -183,3 +188,4 @@ module.exports.getColumnInfoBySchemaByDatabase =
|
|
|
183
188
|
DatabaseHelper_1.getColumnInfoBySchemaByDatabase;
|
|
184
189
|
module.exports.connectToDatabase = DatabaseHelper_1.connectToDatabase;
|
|
185
190
|
module.exports.runQueryByDatabase = DatabaseHelper_1.runQueryByDatabase;
|
|
191
|
+
module.exports.DatabaseType = DatabaseHelper_1.DatabaseType;
|
package/dist/index.uspec.d.ts
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/dist/index.uspec.js
CHANGED
|
@@ -1,39 +1,41 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
});
|
|
2
|
+
// import Quill from ".";
|
|
3
|
+
// import { DatabaseType } from "./db/DatabaseHelper";
|
|
4
|
+
// jest.mock(".");
|
|
5
|
+
// describe("Quill", () => {
|
|
6
|
+
// let quill: Quill;
|
|
7
|
+
// beforeEach(() => {
|
|
8
|
+
// quill = new Quill(
|
|
9
|
+
// "dummy_private_key",
|
|
10
|
+
// DatabaseType.postgres,
|
|
11
|
+
// "dummy_db_url",
|
|
12
|
+
// {},
|
|
13
|
+
// undefined
|
|
14
|
+
// );
|
|
15
|
+
// quill.targetConnection.query = jest.fn().mockResolvedValue([]);
|
|
16
|
+
// });
|
|
17
|
+
// describe("query", () => {
|
|
18
|
+
// it("return nothing when suppling no queries", () => {
|
|
19
|
+
// const metadata = {
|
|
20
|
+
// task: "test",
|
|
21
|
+
// queries: [],
|
|
22
|
+
// };
|
|
23
|
+
// const result = quill.query({
|
|
24
|
+
// orgId: "dummy",
|
|
25
|
+
// metadata,
|
|
26
|
+
// });
|
|
27
|
+
// expect(result).resolves.toEqual([]);
|
|
28
|
+
// });
|
|
29
|
+
// it("returns an error for the improper query", () => {
|
|
30
|
+
// const metadata = {
|
|
31
|
+
// task: "test",
|
|
32
|
+
// queries: ["SELECT * FROM test"],
|
|
33
|
+
// };
|
|
34
|
+
// const result = quill.query({
|
|
35
|
+
// orgId: "dummy",
|
|
36
|
+
// metadata,
|
|
37
|
+
// });
|
|
38
|
+
// });
|
|
39
|
+
// });
|
|
40
|
+
// // Add more test cases as needed
|
|
41
|
+
// });
|
package/package.json
CHANGED
package/src/db/DatabaseHelper.ts
CHANGED
package/src/index.ts
CHANGED
|
@@ -31,6 +31,13 @@ const HOST =
|
|
|
31
31
|
* Quill - Fullstack API Platform for Dashboards and Reporting.
|
|
32
32
|
*/
|
|
33
33
|
|
|
34
|
+
export interface QuillQueryResult {
|
|
35
|
+
data?: any;
|
|
36
|
+
status: string;
|
|
37
|
+
error?: string;
|
|
38
|
+
queries?: { rows: any[]; fields: any[] };
|
|
39
|
+
}
|
|
40
|
+
|
|
34
41
|
export default class QuillClass {
|
|
35
42
|
// Configure cached connection pools with the given config.
|
|
36
43
|
public targetConnection;
|
|
@@ -41,17 +48,25 @@ export default class QuillClass {
|
|
|
41
48
|
};
|
|
42
49
|
};
|
|
43
50
|
|
|
44
|
-
constructor(
|
|
45
|
-
privateKey: string
|
|
46
|
-
databaseType: DatabaseType
|
|
47
|
-
databaseConnectionString?: string
|
|
48
|
-
|
|
49
|
-
cache
|
|
50
|
-
metadataServerURL?: string
|
|
51
|
-
) {
|
|
51
|
+
constructor(data: {
|
|
52
|
+
privateKey: string;
|
|
53
|
+
databaseType: DatabaseType;
|
|
54
|
+
databaseConnectionString?: string;
|
|
55
|
+
databaseConfig?: any;
|
|
56
|
+
cache?: Partial<CacheCredentials>;
|
|
57
|
+
metadataServerURL?: string;
|
|
58
|
+
}) {
|
|
59
|
+
const {
|
|
60
|
+
privateKey,
|
|
61
|
+
databaseType,
|
|
62
|
+
databaseConnectionString,
|
|
63
|
+
databaseConfig,
|
|
64
|
+
cache,
|
|
65
|
+
metadataServerURL,
|
|
66
|
+
} = data;
|
|
52
67
|
this.baseUrl = metadataServerURL ? metadataServerURL : HOST;
|
|
53
68
|
this.config = { headers: { Authorization: `Bearer ${privateKey}` } };
|
|
54
|
-
let credentials =
|
|
69
|
+
let credentials = databaseConfig;
|
|
55
70
|
if (databaseConnectionString) {
|
|
56
71
|
credentials = getDatabaseCredentials(
|
|
57
72
|
databaseType,
|
|
@@ -61,11 +76,14 @@ export default class QuillClass {
|
|
|
61
76
|
this.targetConnection = new CachedConnection(
|
|
62
77
|
databaseType,
|
|
63
78
|
credentials,
|
|
64
|
-
cache
|
|
79
|
+
cache || {}
|
|
65
80
|
);
|
|
66
81
|
}
|
|
67
82
|
|
|
68
|
-
public async query({
|
|
83
|
+
public async query({
|
|
84
|
+
orgId,
|
|
85
|
+
metadata,
|
|
86
|
+
}: QuillQueryParams): Promise<QuillQueryResult> {
|
|
69
87
|
this.targetConnection.orgId = orgId;
|
|
70
88
|
try {
|
|
71
89
|
const preQueryResults = metadata.preQueries
|
|
@@ -256,14 +274,14 @@ const Quill = ({
|
|
|
256
274
|
databaseConfig: any;
|
|
257
275
|
metadataServerURL?: string;
|
|
258
276
|
}) => {
|
|
259
|
-
return new QuillClass(
|
|
277
|
+
return new QuillClass({
|
|
260
278
|
privateKey,
|
|
261
279
|
databaseType,
|
|
262
280
|
databaseConnectionString,
|
|
263
281
|
databaseConfig,
|
|
264
282
|
cache,
|
|
265
|
-
metadataServerURL
|
|
266
|
-
);
|
|
283
|
+
metadataServerURL,
|
|
284
|
+
});
|
|
267
285
|
};
|
|
268
286
|
|
|
269
287
|
module.exports = Quill;
|
|
@@ -278,3 +296,4 @@ module.exports.getColumnInfoBySchemaByDatabase =
|
|
|
278
296
|
getColumnInfoBySchemaByDatabase;
|
|
279
297
|
module.exports.connectToDatabase = connectToDatabase;
|
|
280
298
|
module.exports.runQueryByDatabase = runQueryByDatabase;
|
|
299
|
+
module.exports.DatabaseType = DatabaseType;
|
package/src/index.uspec.ts
CHANGED
|
@@ -1,45 +1,45 @@
|
|
|
1
|
-
import Quill from ".";
|
|
2
|
-
import { DatabaseType } from "./db/DatabaseHelper";
|
|
1
|
+
// import Quill from ".";
|
|
2
|
+
// import { DatabaseType } from "./db/DatabaseHelper";
|
|
3
3
|
|
|
4
|
-
jest.mock(".");
|
|
4
|
+
// jest.mock(".");
|
|
5
5
|
|
|
6
|
-
describe("Quill", () => {
|
|
7
|
-
|
|
6
|
+
// describe("Quill", () => {
|
|
7
|
+
// let quill: Quill;
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
9
|
+
// beforeEach(() => {
|
|
10
|
+
// quill = new Quill(
|
|
11
|
+
// "dummy_private_key",
|
|
12
|
+
// DatabaseType.postgres,
|
|
13
|
+
// "dummy_db_url",
|
|
14
|
+
// {},
|
|
15
|
+
// undefined
|
|
16
|
+
// );
|
|
17
|
+
// quill.targetConnection.query = jest.fn().mockResolvedValue([]);
|
|
18
|
+
// });
|
|
19
19
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
20
|
+
// describe("query", () => {
|
|
21
|
+
// it("return nothing when suppling no queries", () => {
|
|
22
|
+
// const metadata = {
|
|
23
|
+
// task: "test",
|
|
24
|
+
// queries: [],
|
|
25
|
+
// };
|
|
26
|
+
// const result = quill.query({
|
|
27
|
+
// orgId: "dummy",
|
|
28
|
+
// metadata,
|
|
29
|
+
// });
|
|
30
|
+
// expect(result).resolves.toEqual([]);
|
|
31
|
+
// });
|
|
32
|
+
// it("returns an error for the improper query", () => {
|
|
33
|
+
// const metadata = {
|
|
34
|
+
// task: "test",
|
|
35
|
+
// queries: ["SELECT * FROM test"],
|
|
36
|
+
// };
|
|
37
|
+
// const result = quill.query({
|
|
38
|
+
// orgId: "dummy",
|
|
39
|
+
// metadata,
|
|
40
|
+
// });
|
|
41
|
+
// });
|
|
42
|
+
// });
|
|
43
43
|
|
|
44
|
-
|
|
45
|
-
});
|
|
44
|
+
// // Add more test cases as needed
|
|
45
|
+
// });
|