@quillsql/admin 1.3.6 → 1.3.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 (151) hide show
  1. package/dist/cjs/Admin.d.ts.map +1 -1
  2. package/dist/cjs/Admin.js +25 -15
  3. package/dist/cjs/AdminProvider.d.ts +10 -0
  4. package/dist/cjs/AdminProvider.d.ts.map +1 -1
  5. package/dist/cjs/AdminProvider.js +63 -43
  6. package/dist/cjs/api/ConnectionClient.d.ts +12 -10
  7. package/dist/cjs/api/ConnectionClient.d.ts.map +1 -1
  8. package/dist/cjs/api/ConnectionClient.js +100 -29
  9. package/dist/cjs/assets/ArrowDownHeadIcon.d.ts +5 -0
  10. package/dist/cjs/assets/ArrowDownHeadIcon.d.ts.map +1 -0
  11. package/dist/cjs/assets/ArrowDownHeadIcon.js +5 -0
  12. package/dist/cjs/assets/XIcon.d.ts +5 -0
  13. package/dist/cjs/assets/XIcon.d.ts.map +1 -0
  14. package/dist/cjs/assets/XIcon.js +5 -0
  15. package/dist/cjs/assets/index.d.ts +3 -0
  16. package/dist/cjs/assets/index.d.ts.map +1 -0
  17. package/dist/cjs/assets/index.js +10 -0
  18. package/dist/cjs/components/DatabaseMismatchCard.d.ts +6 -0
  19. package/dist/cjs/components/DatabaseMismatchCard.d.ts.map +1 -0
  20. package/dist/cjs/components/DatabaseMismatchCard.js +18 -0
  21. package/dist/cjs/components/DatabaseSelector.d.ts +2 -1
  22. package/dist/cjs/components/DatabaseSelector.d.ts.map +1 -1
  23. package/dist/cjs/components/DatabaseSelector.js +2 -2
  24. package/dist/cjs/components/DropDownMenuWithLabel.d.ts +2 -1
  25. package/dist/cjs/components/DropDownMenuWithLabel.d.ts.map +1 -1
  26. package/dist/cjs/components/DropDownMenuWithLabel.js +160 -39
  27. package/dist/cjs/components/DynamicBanner.d.ts +11 -0
  28. package/dist/cjs/components/DynamicBanner.d.ts.map +1 -0
  29. package/dist/cjs/components/DynamicBanner.js +22 -0
  30. package/dist/cjs/components/EnvSelectPopover.d.ts.map +1 -1
  31. package/dist/cjs/components/EnvSelectPopover.js +0 -1
  32. package/dist/cjs/components/OrgSelect.d.ts +23 -0
  33. package/dist/cjs/components/OrgSelect.d.ts.map +1 -1
  34. package/dist/cjs/components/OrgSelect.js +55 -15
  35. package/dist/cjs/components/SqlTextEditor.d.ts +7 -0
  36. package/dist/cjs/components/SqlTextEditor.d.ts.map +1 -0
  37. package/dist/cjs/components/SqlTextEditor.js +44 -0
  38. package/dist/cjs/components/UiComponents.d.ts +119 -0
  39. package/dist/cjs/components/UiComponents.d.ts.map +1 -0
  40. package/dist/cjs/components/UiComponents.js +268 -0
  41. package/dist/cjs/forms/client_onboard/ConnectDatabase.d.ts +3 -2
  42. package/dist/cjs/forms/client_onboard/ConnectDatabase.d.ts.map +1 -1
  43. package/dist/cjs/forms/client_onboard/ConnectDatabase.js +101 -43
  44. package/dist/cjs/forms/client_onboard/ConnectSchema.d.ts +3 -1
  45. package/dist/cjs/forms/client_onboard/ConnectSchema.d.ts.map +1 -1
  46. package/dist/cjs/forms/client_onboard/ConnectSchema.js +13 -14
  47. package/dist/cjs/forms/client_onboard/CreateSqlViews.d.ts +10 -1
  48. package/dist/cjs/forms/client_onboard/CreateSqlViews.d.ts.map +1 -1
  49. package/dist/cjs/forms/client_onboard/CreateSqlViews.js +12 -10
  50. package/dist/cjs/forms/sql_views/CreateEditSqlView.d.ts +24 -0
  51. package/dist/cjs/forms/sql_views/CreateEditSqlView.d.ts.map +1 -0
  52. package/dist/cjs/forms/sql_views/CreateEditSqlView.js +161 -0
  53. package/dist/cjs/modals/NewDashboardModal.js +1 -1
  54. package/dist/cjs/public_components/CreateEnvironment.d.ts.map +1 -1
  55. package/dist/cjs/public_components/CreateEnvironment.js +34 -8
  56. package/dist/cjs/public_components/DashboardBuilder.d.ts.map +1 -1
  57. package/dist/cjs/public_components/DashboardBuilder.js +30 -16
  58. package/dist/cjs/public_components/DashboardManager.d.ts.map +1 -1
  59. package/dist/cjs/public_components/DashboardManager.js +110 -93
  60. package/dist/cjs/public_components/SQLViewManager.d.ts.map +1 -1
  61. package/dist/cjs/public_components/SQLViewManager.js +252 -333
  62. package/dist/cjs/utils/constants.d.ts +1 -1
  63. package/dist/cjs/utils/constants.d.ts.map +1 -1
  64. package/dist/cjs/utils/constants.js +1 -2
  65. package/dist/cjs/utils/dataEditor.d.ts +4 -0
  66. package/dist/cjs/utils/dataEditor.d.ts.map +1 -0
  67. package/dist/cjs/utils/dataEditor.js +144 -0
  68. package/dist/cjs/utils/dataFetcher.d.ts +3 -0
  69. package/dist/cjs/utils/dataFetcher.d.ts.map +1 -0
  70. package/dist/cjs/utils/dataFetcher.js +68 -0
  71. package/dist/cjs/utils/databases.d.ts +13 -2
  72. package/dist/cjs/utils/databases.d.ts.map +1 -1
  73. package/dist/cjs/utils/databases.js +52 -9
  74. package/dist/cjs/utils/table.d.ts +2 -0
  75. package/dist/cjs/utils/table.d.ts.map +1 -1
  76. package/dist/esm/Admin.d.ts.map +1 -1
  77. package/dist/esm/Admin.js +25 -15
  78. package/dist/esm/AdminProvider.d.ts +10 -0
  79. package/dist/esm/AdminProvider.d.ts.map +1 -1
  80. package/dist/esm/AdminProvider.js +61 -44
  81. package/dist/esm/api/ConnectionClient.d.ts +12 -10
  82. package/dist/esm/api/ConnectionClient.d.ts.map +1 -1
  83. package/dist/esm/api/ConnectionClient.js +97 -28
  84. package/dist/esm/assets/ArrowDownHeadIcon.d.ts +5 -0
  85. package/dist/esm/assets/ArrowDownHeadIcon.d.ts.map +1 -0
  86. package/dist/esm/assets/ArrowDownHeadIcon.js +3 -0
  87. package/dist/esm/assets/XIcon.d.ts +5 -0
  88. package/dist/esm/assets/XIcon.d.ts.map +1 -0
  89. package/dist/esm/assets/XIcon.js +3 -0
  90. package/dist/esm/assets/index.d.ts +3 -0
  91. package/dist/esm/assets/index.d.ts.map +1 -0
  92. package/dist/esm/assets/index.js +2 -0
  93. package/dist/esm/components/DatabaseMismatchCard.d.ts +6 -0
  94. package/dist/esm/components/DatabaseMismatchCard.d.ts.map +1 -0
  95. package/dist/esm/components/DatabaseMismatchCard.js +15 -0
  96. package/dist/esm/components/DatabaseSelector.d.ts +2 -1
  97. package/dist/esm/components/DatabaseSelector.d.ts.map +1 -1
  98. package/dist/esm/components/DatabaseSelector.js +2 -2
  99. package/dist/esm/components/DropDownMenuWithLabel.d.ts +2 -1
  100. package/dist/esm/components/DropDownMenuWithLabel.d.ts.map +1 -1
  101. package/dist/esm/components/DropDownMenuWithLabel.js +137 -39
  102. package/dist/esm/components/DynamicBanner.d.ts +11 -0
  103. package/dist/esm/components/DynamicBanner.d.ts.map +1 -0
  104. package/dist/esm/components/DynamicBanner.js +16 -0
  105. package/dist/esm/components/EnvSelectPopover.d.ts.map +1 -1
  106. package/dist/esm/components/EnvSelectPopover.js +0 -1
  107. package/dist/esm/components/OrgSelect.d.ts +23 -0
  108. package/dist/esm/components/OrgSelect.d.ts.map +1 -1
  109. package/dist/esm/components/OrgSelect.js +52 -16
  110. package/dist/esm/components/SqlTextEditor.d.ts +7 -0
  111. package/dist/esm/components/SqlTextEditor.d.ts.map +1 -0
  112. package/dist/esm/components/SqlTextEditor.js +38 -0
  113. package/dist/esm/components/UiComponents.d.ts +119 -0
  114. package/dist/esm/components/UiComponents.d.ts.map +1 -0
  115. package/dist/esm/components/UiComponents.js +254 -0
  116. package/dist/esm/forms/client_onboard/ConnectDatabase.d.ts +3 -2
  117. package/dist/esm/forms/client_onboard/ConnectDatabase.d.ts.map +1 -1
  118. package/dist/esm/forms/client_onboard/ConnectDatabase.js +102 -44
  119. package/dist/esm/forms/client_onboard/ConnectSchema.d.ts +3 -1
  120. package/dist/esm/forms/client_onboard/ConnectSchema.d.ts.map +1 -1
  121. package/dist/esm/forms/client_onboard/ConnectSchema.js +13 -14
  122. package/dist/esm/forms/client_onboard/CreateSqlViews.d.ts +10 -1
  123. package/dist/esm/forms/client_onboard/CreateSqlViews.d.ts.map +1 -1
  124. package/dist/esm/forms/client_onboard/CreateSqlViews.js +11 -11
  125. package/dist/esm/forms/sql_views/CreateEditSqlView.d.ts +24 -0
  126. package/dist/esm/forms/sql_views/CreateEditSqlView.d.ts.map +1 -0
  127. package/dist/esm/forms/sql_views/CreateEditSqlView.js +155 -0
  128. package/dist/esm/modals/NewDashboardModal.js +1 -1
  129. package/dist/esm/public_components/CreateEnvironment.d.ts.map +1 -1
  130. package/dist/esm/public_components/CreateEnvironment.js +12 -9
  131. package/dist/esm/public_components/DashboardBuilder.d.ts.map +1 -1
  132. package/dist/esm/public_components/DashboardBuilder.js +30 -16
  133. package/dist/esm/public_components/DashboardManager.d.ts.map +1 -1
  134. package/dist/esm/public_components/DashboardManager.js +111 -94
  135. package/dist/esm/public_components/SQLViewManager.d.ts.map +1 -1
  136. package/dist/esm/public_components/SQLViewManager.js +254 -335
  137. package/dist/esm/utils/constants.d.ts +1 -1
  138. package/dist/esm/utils/constants.d.ts.map +1 -1
  139. package/dist/esm/utils/constants.js +1 -2
  140. package/dist/esm/utils/dataEditor.d.ts +4 -0
  141. package/dist/esm/utils/dataEditor.d.ts.map +1 -0
  142. package/dist/esm/utils/dataEditor.js +138 -0
  143. package/dist/esm/utils/dataFetcher.d.ts +3 -0
  144. package/dist/esm/utils/dataFetcher.d.ts.map +1 -0
  145. package/dist/esm/utils/dataFetcher.js +63 -0
  146. package/dist/esm/utils/databases.d.ts +13 -2
  147. package/dist/esm/utils/databases.d.ts.map +1 -1
  148. package/dist/esm/utils/databases.js +52 -9
  149. package/dist/esm/utils/table.d.ts +2 -0
  150. package/dist/esm/utils/table.d.ts.map +1 -1
  151. package/package.json +2 -2
@@ -22,5 +22,5 @@ export declare const defaultDateRange: {
22
22
  readonly value: "LAST_90_DAYS";
23
23
  readonly label: "Last 90 days";
24
24
  };
25
- export declare const QUILL_SERVER = "https://quill-344421.uc.r.appspot.com";
25
+ export declare const QUILL_SERVER: string;
26
26
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/utils/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;EAM1B,CAAC;AACX,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC;AACvE,eAAO,MAAM,gBAAgB;;;CAA6B,CAAC;AAG3D,eAAO,MAAM,YAAY,0CAA0C,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/utils/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;EAM1B,CAAC;AACX,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC;AACvE,eAAO,MAAM,gBAAgB;;;CAA6B,CAAC;AAE3D,eAAO,MAAM,YAAY,QACiD,CAAC"}
@@ -12,5 +12,4 @@ exports.InitialDateRangeOptions = [
12
12
  { value: 'ALL_TIME', label: 'All time' },
13
13
  ];
14
14
  exports.defaultDateRange = exports.InitialDateRangeOptions[0];
15
- // export const QUILL_SERVER = 'http://localhost:8080';
16
- exports.QUILL_SERVER = 'https://quill-344421.uc.r.appspot.com';
15
+ exports.QUILL_SERVER = process.env.QUILL_SERVER_HOST ?? 'https://quill-344421.uc.r.appspot.com';
@@ -0,0 +1,4 @@
1
+ export declare const editSQLView: (editName: string, editViewQuery: string, editViewId: string, state: any) => Promise<any>;
2
+ export declare const addSqlView: (name: string, editViewQuery: string, state: any) => Promise<any>;
3
+ export declare const deleteSQLView: (id: string, state: any) => Promise<any>;
4
+ //# sourceMappingURL=dataEditor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataEditor.d.ts","sourceRoot":"","sources":["../../../src/utils/dataEditor.tsx"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW,aACZ,MAAM,iBACD,MAAM,cACT,MAAM,SACX,GAAG,iBAsDX,CAAC;AAEF,eAAO,MAAM,UAAU,SACf,MAAM,iBACG,MAAM,SACd,GAAG,iBA+CX,CAAC;AAEF,eAAO,MAAM,aAAa,OAAc,MAAM,SAAS,GAAG,iBAmCzD,CAAC"}
@@ -0,0 +1,144 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.deleteSQLView = exports.addSqlView = exports.editSQLView = void 0;
4
+ const constants_1 = require("./constants");
5
+ const editSQLView = async (editName, editViewQuery, editViewId, state) => {
6
+ if (!editName.length) {
7
+ alert('Please enter a table name.');
8
+ return;
9
+ }
10
+ if (!editViewQuery.length) {
11
+ alert('Please enter a table query.');
12
+ return;
13
+ }
14
+ if (!editViewId) {
15
+ alert('Could not save.');
16
+ return;
17
+ }
18
+ let response;
19
+ if (state.queryEndpoint) {
20
+ response = await fetch(state.queryEndpoint, {
21
+ method: 'POST',
22
+ headers: {
23
+ 'Content-Type': 'application/json',
24
+ ...state.queryHeaders,
25
+ },
26
+ body: JSON.stringify({
27
+ metadata: {
28
+ preQueries: [editViewQuery.replace(/;/, '')],
29
+ name: editName,
30
+ task: 'view',
31
+ id: editViewId,
32
+ clientId: state.client._id,
33
+ runQueryConfig: { getColumns: true },
34
+ databaseType: state.client.databaseType,
35
+ },
36
+ }),
37
+ credentials: state.withCredentials ? 'include' : 'omit', // If withCredentials is true, set to 'include'. Otherwise, set to 'omit'.
38
+ });
39
+ }
40
+ else {
41
+ response = await fetch(`${constants_1.QUILL_SERVER}/table/${state.client._id}/`, {
42
+ method: 'POST',
43
+ headers: {
44
+ 'Content-Type': 'application/json',
45
+ Authorization: `Bearer `,
46
+ },
47
+ body: JSON.stringify({
48
+ viewQuery: editViewQuery[editViewQuery.length - 1] === ';'
49
+ ? editViewQuery.slice(0, -1)
50
+ : editViewQuery,
51
+ name: editName,
52
+ id: editViewId,
53
+ }),
54
+ });
55
+ }
56
+ return await response.json();
57
+ };
58
+ exports.editSQLView = editSQLView;
59
+ const addSqlView = async (name, editViewQuery, state) => {
60
+ if (!name.length) {
61
+ alert('Please enter a table name.');
62
+ return;
63
+ }
64
+ if (!editViewQuery.length) {
65
+ alert('Please enter a table query.');
66
+ return;
67
+ }
68
+ let response;
69
+ if (state.queryEndpoint) {
70
+ response = await fetch(state.queryEndpoint, {
71
+ method: 'POST',
72
+ headers: {
73
+ 'Content-Type': 'application/json',
74
+ ...state.queryHeaders,
75
+ },
76
+ body: JSON.stringify({
77
+ metadata: {
78
+ preQueries: [editViewQuery.replace(/;/, '')],
79
+ name: name,
80
+ task: 'view',
81
+ clientId: state.client._id,
82
+ runQueryConfig: { getColumns: true },
83
+ databaseType: state.client.databaseType,
84
+ },
85
+ }),
86
+ credentials: state.withCredentials ? 'include' : 'omit', // If withCredentials is true, set to 'include'. Otherwise, set to 'omit'.
87
+ });
88
+ }
89
+ else {
90
+ response = await fetch(`${constants_1.QUILL_SERVER}/table/${state.client._id}/`, {
91
+ method: 'POST',
92
+ headers: {
93
+ 'Content-Type': 'application/json',
94
+ Authorization: `Bearer `,
95
+ },
96
+ body: JSON.stringify({
97
+ viewQuery: editViewQuery[editViewQuery.length - 1] === ';'
98
+ ? editViewQuery.slice(0, -1)
99
+ : editViewQuery,
100
+ name: name,
101
+ }),
102
+ });
103
+ }
104
+ return await response.json();
105
+ };
106
+ exports.addSqlView = addSqlView;
107
+ const deleteSQLView = async (id, state) => {
108
+ let response;
109
+ if (state.queryEndpoint) {
110
+ response = await fetch(state.queryEndpoint, {
111
+ method: 'POST',
112
+ headers: {
113
+ 'Content-Type': 'application/json',
114
+ ...state.queryHeaders,
115
+ },
116
+ body: JSON.stringify({
117
+ metadata: {
118
+ task: 'view',
119
+ id: id,
120
+ deleted: true,
121
+ clientId: state.client._id,
122
+ runQueryConfig: { getColumns: true },
123
+ databaseType: state.client.databaseType,
124
+ },
125
+ }),
126
+ credentials: state.withCredentials ? 'include' : 'omit', // If withCredentials is true, set to 'include'. Otherwise, set to 'omit'.
127
+ });
128
+ }
129
+ else {
130
+ response = await fetch(`${constants_1.QUILL_SERVER}/table/${state.client._id}/`, {
131
+ method: 'POST',
132
+ headers: {
133
+ 'Content-Type': 'application/json',
134
+ Authorization: `Bearer `,
135
+ },
136
+ body: JSON.stringify({
137
+ id: id,
138
+ deleted: true,
139
+ }),
140
+ });
141
+ }
142
+ return await response.json();
143
+ };
144
+ exports.deleteSQLView = deleteSQLView;
@@ -0,0 +1,3 @@
1
+ export declare function getData(client: any, cloudQueryEndpoint: string, noCred: RequestCredentials, hostedRequestBody: any, cloudRequestBody: any, method?: string): Promise<any>;
2
+ export declare function getDataFromCloud(client: any, cloudQueryEndpoint: string, cloudRequestBody: any, method?: string): Promise<any>;
3
+ //# sourceMappingURL=dataFetcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataFetcher.d.ts","sourceRoot":"","sources":["../../../src/utils/dataFetcher.tsx"],"names":[],"mappings":"AAEA,wBAAsB,OAAO,CAC3B,MAAM,EAAE,GAAG,EACX,kBAAkB,EAAE,MAAM,EAC1B,MAAM,EAAE,kBAAkB,EAC1B,iBAAiB,EAAE,GAAG,EACtB,gBAAgB,EAAE,GAAG,EACrB,MAAM,SAAS,gBAkChB;AAED,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,GAAG,EACX,kBAAkB,EAAE,MAAM,EAC1B,gBAAgB,EAAE,GAAG,EACrB,MAAM,SAAS,gBAgChB"}
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getDataFromCloud = exports.getData = void 0;
4
+ // this function gets the data either from the self hosted endpoint or
5
+ // our cloud server
6
+ async function getData(client, cloudQueryEndpoint, noCred, hostedRequestBody, cloudRequestBody, method = 'POST') {
7
+ if (client.queryEndpoint) {
8
+ // self hosted
9
+ const resp = await fetch(client.queryEndpoint, {
10
+ method: 'POST',
11
+ headers: {
12
+ ...client.queryHeaders,
13
+ 'Content-Type': 'application/json',
14
+ },
15
+ credentials: client.withCredentials ? 'include' : noCred,
16
+ body: JSON.stringify(hostedRequestBody),
17
+ });
18
+ try {
19
+ const responseJson = await resp.json();
20
+ const result = {
21
+ ...responseJson.data,
22
+ rows: responseJson?.queries?.queryResults[0]?.rows,
23
+ compareRows: responseJson?.queries?.queryResults[1]?.rows,
24
+ };
25
+ return result;
26
+ }
27
+ catch (e) {
28
+ console.error('Failed to parse JSON:', e);
29
+ return null;
30
+ }
31
+ }
32
+ else {
33
+ // cloud
34
+ return await getDataFromCloud(client, cloudQueryEndpoint, cloudRequestBody, method);
35
+ }
36
+ }
37
+ exports.getData = getData;
38
+ async function getDataFromCloud(client, cloudQueryEndpoint, cloudRequestBody, method = 'POST') {
39
+ const environment = client?.environment;
40
+ const resp = await fetch(
41
+ // `https://quill-344421.uc.r.appspot.com/${cloudQueryEndpoint}`,
42
+ `http://localhost:8080/${cloudQueryEndpoint}`, {
43
+ method,
44
+ headers: {
45
+ Authorization: 'Bearer ',
46
+ ...(environment ? { environment } : {}), // Remember to provide the actual token
47
+ 'Content-Type': 'application/json',
48
+ environment: environment || undefined,
49
+ },
50
+ body: method === 'POST'
51
+ ? JSON.stringify({
52
+ ...cloudRequestBody,
53
+ ...{
54
+ publicKey: client?._id,
55
+ orgId: client?.adminCustomerId,
56
+ },
57
+ })
58
+ : null,
59
+ });
60
+ try {
61
+ return await resp.json();
62
+ }
63
+ catch (e) {
64
+ console.error('Failed to parse JSON:', e);
65
+ return null;
66
+ }
67
+ }
68
+ exports.getDataFromCloud = getDataFromCloud;
@@ -21,7 +21,18 @@ interface MySQLConnection extends DatabaseConnection {
21
21
  databaseName: string;
22
22
  port: string;
23
23
  }
24
- export type ConnectionType = DatabaseConnection | PostgresConnection | MySQLConnection;
24
+ interface SnowflakeConnection extends DatabaseConnection {
25
+ user: string;
26
+ password: string;
27
+ host: string;
28
+ databaseName: string;
29
+ port: string;
30
+ }
31
+ interface BigQueryConnection extends DatabaseConnection {
32
+ companyTag: string;
33
+ jsonString: string;
34
+ }
35
+ export type ConnectionType = DatabaseConnection | PostgresConnection | MySQLConnection | SnowflakeConnection | BigQueryConnection;
25
36
  export interface DatabaseDefaultInfo {
26
37
  label: string;
27
38
  value: string;
@@ -29,6 +40,6 @@ export interface DatabaseDefaultInfo {
29
40
  }
30
41
  export declare const DATABASE_DEFAULT_INFO: DatabaseDefaultInfo[];
31
42
  export declare function getDatabaseConnectionFormat(databaseName: string): ConnectionType | undefined;
32
- export declare function formConnectionString(connection: DatabaseConnection | undefined): string;
43
+ export declare function formConnectionString(connection?: DatabaseConnection, jsonFile?: File): string;
33
44
  export {};
34
45
  //# sourceMappingURL=databases.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"databases.d.ts","sourceRoot":"","sources":["../../../src/utils/databases.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,kBAAmB,SAAQ,kBAAkB;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,eAAgB,SAAQ,kBAAkB;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,cAAc,GACtB,kBAAkB,GAClB,kBAAkB,GAClB,eAAe,CAAC;AAEpB,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,qBAAqB,EAAE,mBAAmB,EAatD,CAAC;AAEF,wBAAgB,2BAA2B,CACzC,YAAY,EAAE,MAAM,GACnB,cAAc,GAAG,SAAS,CAuB5B;AAED,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,kBAAkB,GAAG,SAAS,UAa3C"}
1
+ {"version":3,"file":"databases.d.ts","sourceRoot":"","sources":["../../../src/utils/databases.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,kBAAmB,SAAQ,kBAAkB;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,eAAgB,SAAQ,kBAAkB;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,mBAAoB,SAAQ,kBAAkB;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,kBAAmB,SAAQ,kBAAkB;IACrD,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,cAAc,GACtB,kBAAkB,GAClB,kBAAkB,GAClB,eAAe,GACf,mBAAmB,GACnB,kBAAkB,CAAC;AAEvB,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,qBAAqB,EAAE,mBAAmB,EAyBtD,CAAC;AAEF,wBAAgB,2BAA2B,CACzC,YAAY,EAAE,MAAM,GACnB,cAAc,GAAG,SAAS,CAwC5B;AAED,wBAAgB,oBAAoB,CAClC,UAAU,CAAC,EAAE,kBAAkB,EAC/B,QAAQ,CAAC,EAAE,IAAI,UAyBhB"}
@@ -7,12 +7,21 @@ exports.DATABASE_DEFAULT_INFO = [
7
7
  value: 'PostgreSQL',
8
8
  imageUrl: 'https://upload.wikimedia.org/wikipedia/commons/thumb/2/29/Postgresql_elephant.svg/640px-Postgresql_elephant.svg.png',
9
9
  },
10
- // {
11
- // label: 'MySQL',
12
- // value: 'mysql',
13
- // imageUrl:
14
- // 'https://d1.awsstatic.com/asset-repository/products/amazon-rds/1024px-MySQL.ff87215b43fd7292af172e2a5d9b844217262571.png',
15
- // },
10
+ {
11
+ label: 'Big Query',
12
+ value: 'BigQuery',
13
+ imageUrl: 'https://cdn.icon-icons.com/icons2/2699/PNG/512/google_bigquery_logo_icon_168150.png',
14
+ },
15
+ {
16
+ label: 'Snowflake',
17
+ value: 'Snowflake',
18
+ imageUrl: 'https://estuary.dev/static/972ca52d0addb818460efc144940d25f/f8411/7154a4_Snowflake_a6a3c49601.png',
19
+ },
20
+ {
21
+ label: 'MySQL',
22
+ value: 'MySQL',
23
+ imageUrl: 'https://d1.awsstatic.com/asset-repository/products/amazon-rds/1024px-MySQL.ff87215b43fd7292af172e2a5d9b844217262571.png',
24
+ },
16
25
  ];
17
26
  function getDatabaseConnectionFormat(databaseName) {
18
27
  if (databaseName === 'PostgreSQL') {
@@ -26,21 +35,40 @@ function getDatabaseConnectionFormat(databaseName) {
26
35
  connectionString: '',
27
36
  };
28
37
  }
29
- else if (databaseName === 'mysql') {
38
+ else if (databaseName === 'MySQL') {
30
39
  return {
31
40
  user: '',
32
41
  password: '',
33
42
  host: '',
34
43
  databaseName: '',
35
44
  port: '',
36
- type: 'mysql',
45
+ type: 'MySQL',
37
46
  connectionString: '',
38
47
  };
39
48
  }
49
+ else if (databaseName === 'Snowflake') {
50
+ return {
51
+ user: '',
52
+ password: '',
53
+ host: '',
54
+ databaseName: '',
55
+ port: '',
56
+ type: 'Snowflake',
57
+ connectionString: '',
58
+ };
59
+ }
60
+ else if (databaseName === 'BigQuery') {
61
+ return {
62
+ type: 'BigQuery',
63
+ connectionString: '',
64
+ companyTag: '',
65
+ jsonString: '',
66
+ };
67
+ }
40
68
  return undefined;
41
69
  }
42
70
  exports.getDatabaseConnectionFormat = getDatabaseConnectionFormat;
43
- function formConnectionString(connection) {
71
+ function formConnectionString(connection, jsonFile) {
44
72
  if (!connection) {
45
73
  return 'There is no connection info';
46
74
  }
@@ -51,6 +79,21 @@ function formConnectionString(connection) {
51
79
  const typedConnection = connection;
52
80
  return `postgres://${typedConnection.user}:${typedConnection.password}@${typedConnection.host}:${typedConnection.port}/${typedConnection.databaseName}`;
53
81
  }
82
+ else if (connection.type === 'mysql') {
83
+ const typedConnection = connection;
84
+ return `mysql://${typedConnection.user}:${typedConnection.password}@${typedConnection.host}:${typedConnection.port}`;
85
+ }
86
+ else if (connection.type === 'snowflake') {
87
+ const typedConnection = connection;
88
+ return `mysql://${typedConnection.user}:${typedConnection.password}@${typedConnection.host}:${typedConnection.port}`;
89
+ }
90
+ else if (connection.type === 'BigQuery') {
91
+ const typedConnection = connection;
92
+ const cleanedJsonString = typedConnection.jsonString
93
+ .replace(/\\(?![n"])/g, '')
94
+ .replace(/\n/g, '');
95
+ return `${typedConnection.companyTag}${cleanedJsonString}`;
96
+ }
54
97
  return '';
55
98
  }
56
99
  exports.formConnectionString = formConnectionString;
@@ -1,7 +1,9 @@
1
1
  export interface ColumnsByTable {
2
2
  tableName: string;
3
+ displayName: string;
3
4
  columns: {
4
5
  columnName: string;
6
+ displayName: string;
5
7
  fieldType: string;
6
8
  dataTypeId: Number;
7
9
  }[];
@@ -1 +1 @@
1
- {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../src/utils/table.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE;QACP,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;KACpB,EAAE,CAAC;CACL;AAED,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB"}
1
+ {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../src/utils/table.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE;QACP,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;KACpB,EAAE,CAAC;CACL;AAED,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB"}
@@ -1 +1 @@
1
- {"version":3,"file":"Admin.d.ts","sourceRoot":"","sources":["../../src/Admin.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Admin.d.ts","sourceRoot":"","sources":["../../src/Admin.tsx"],"names":[],"mappings":"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"}
package/dist/esm/Admin.js CHANGED
@@ -52,10 +52,10 @@ export function EditFiltersModal({ isOpen, dashboardData, selectedDashboard, cli
52
52
  }
53
53
  }, [data]);
54
54
  useEffect(() => {
55
- setIsDateComparison(!!state.dateFilter.comparison);
55
+ setIsDateComparison(!!state.dateFilter?.comparison ?? false);
56
56
  }, [state.dateFilter]);
57
57
  useEffect(() => {
58
- if (state.tables.length) {
58
+ if (state.tables?.length) {
59
59
  const defaultTable = state.tables[0];
60
60
  const name = state.editDashboardData?.filters[0]?.table;
61
61
  const table = state.tables.find((t) => t.name === name) ?? defaultTable;
@@ -115,7 +115,7 @@ export function EditFiltersModal({ isOpen, dashboardData, selectedDashboard, cli
115
115
  }
116
116
  });
117
117
  if (hasDuplicateField ||
118
- (Object.keys(newDateFilter).length > 0 &&
118
+ (newDateFilter && Object.keys(newDateFilter).length > 0 &&
119
119
  updatedFilters.some((filter) => filter.filterType === 'date'))) {
120
120
  alert('Maximum of one filter per field');
121
121
  return;
@@ -135,12 +135,15 @@ export function EditFiltersModal({ isOpen, dashboardData, selectedDashboard, cli
135
135
  const body = {
136
136
  newDashboardName: selectedDashboardName,
137
137
  filters: updatedFilters,
138
- dateFilter: {
139
- ...newDateFilter,
140
- comparison: isDateComparison,
141
- primaryRange: initialRange,
142
- },
138
+ dateFilter: newDateFilter
139
+ ? {
140
+ ...newDateFilter,
141
+ comparison: isDateComparison,
142
+ primaryRange: initialRange,
143
+ }
144
+ : null,
143
145
  name: selectedDashboard,
146
+ databaseType: state.client.databaseType,
144
147
  };
145
148
  dispatch({ type: 'SET_DATE_FILTER', payload: body.dateFilter });
146
149
  const headers = {
@@ -166,7 +169,7 @@ export function EditFiltersModal({ isOpen, dashboardData, selectedDashboard, cli
166
169
  };
167
170
  const handleDeleteDateFilter = async () => {
168
171
  setShowDateFilter(false);
169
- setNewDateFilter({});
172
+ setNewDateFilter(null);
170
173
  };
171
174
  const handleAddDateFilter = async () => {
172
175
  setShowDateFilter(true);
@@ -180,7 +183,10 @@ export function EditFiltersModal({ isOpen, dashboardData, selectedDashboard, cli
180
183
  await fetch(URL, {
181
184
  method: 'DELETE',
182
185
  headers: { 'Content-Type': 'application/json' },
183
- body: JSON.stringify({ clientId: client._id }),
186
+ body: JSON.stringify({
187
+ clientId: client._id,
188
+ databaseType: state.client.databaseType,
189
+ }),
184
190
  });
185
191
  setIsOpen(false);
186
192
  setNewFilters([]);
@@ -190,7 +196,7 @@ export function EditFiltersModal({ isOpen, dashboardData, selectedDashboard, cli
190
196
  return (_jsx(ModalComponent, { isOpen: isOpen, close: () => {
191
197
  setIsOpen(false);
192
198
  setNewFilters([]);
193
- setIsDateComparison(state.dateFilter.comparison);
199
+ setIsDateComparison(state.dateFilter?.comparison ?? false);
194
200
  }, style: {
195
201
  minWidth: '814px',
196
202
  maxWidth: '814px',
@@ -328,7 +334,7 @@ export function AddFilterModal({ isOpen, selectedDashboard, client, setIsOpen, M
328
334
  const [dateRange, setDateRange] = useState([new Date(), new Date()]);
329
335
  const { state, dispatch } = useAdmin();
330
336
  useEffect(() => {
331
- if (state.tables.length) {
337
+ if (state.tables?.length) {
332
338
  setSelectedTable(state.tables[0]);
333
339
  // setField(tables[0].columns.map((elem) => elem.name));
334
340
  setField(state.tables[0].columns[0].name);
@@ -625,7 +631,7 @@ export function AddDashboardModal({ selectedDashboard, isOpen, setIsOpen, client
625
631
  const [newFilters, setNewFilters] = useState([]);
626
632
  const [newDateFilter, setNewDateFilter] = useState(null);
627
633
  useEffect(() => {
628
- if (state.tables.length) {
634
+ if (state.tables?.length) {
629
635
  setSelectedTable(state.tables[0]);
630
636
  // setField(tables[0].columns.map((elem) => elem.name));
631
637
  setField(state.tables[0].columns[0].name);
@@ -785,7 +791,7 @@ export function TableCell({ table, clickTableCell }) {
785
791
  minWidth: '540px',
786
792
  maxWidth: '540px',
787
793
  cursor: 'pointer',
788
- }, children: [_jsx("div", { style: { display: 'flex', flexDirection: 'row', alignItems: 'center' }, children: _jsx("h3", { style: { color: '#384151' }, children: table.displayName }) }), _jsx(Highlight, { ...defaultProps, theme: prismTheme, code: table.viewQuery, language: "sql", children: ({ className, style, tokens, getLineProps, getTokenProps }) => (_jsx("pre", { className: className, style: {
794
+ }, children: [_jsx("div", { style: { display: 'flex', flexDirection: 'row', alignItems: 'center' }, children: _jsx("h3", { style: { color: '#384151' }, children: table.displayName }) }), _jsx(Highlight, { ...defaultProps, theme: prismTheme, code: table?.viewQuery || '', language: "sql", children: ({ className, style, tokens, getLineProps, getTokenProps }) => (_jsx("pre", { className: className, style: {
789
795
  ...style,
790
796
  textAlign: 'left',
791
797
  margin: '1em 0',
@@ -795,7 +801,7 @@ export function TableCell({ table, clickTableCell }) {
795
801
  maxWidth: 520,
796
802
  // lineHeight: "1.3em",
797
803
  // height: "1.3em",
798
- }, children: tokens.map((line, i) => (_jsx("div", { ...getLineProps({ line, key: i }), children: line.map((token, key) => (_jsx("span", { ...getTokenProps({ token, key }) }, key))) }, i))) })) })] }, table.displayName));
804
+ }, children: tokens.map((line, i) => (_jsx("div", { ...getLineProps({ line, key: i }), children: line.map((token, key) => (_jsx("span", { ...getTokenProps({ token, key }) }, key))) }, i))) })) })] }, table._id));
799
805
  }
800
806
  export const SQLEditorComponent = ({ query, setQuery,
801
807
  // handleRunQuery,
@@ -1147,6 +1153,7 @@ export function ReportWrapper({ SecondaryButtonComponent, ButtonComponent, Modal
1147
1153
  metadata: {
1148
1154
  task: 'edit_query',
1149
1155
  id: state.reportId,
1156
+ databaseType: state.client.databaseType,
1150
1157
  query,
1151
1158
  ...(organizationId && { orgId: organizationId }),
1152
1159
  },
@@ -1211,11 +1218,13 @@ export function ReportWrapper({ SecondaryButtonComponent, ButtonComponent, Modal
1211
1218
  task: 'delete',
1212
1219
  dashboardItemId: state.reportId,
1213
1220
  clientId: state.client._id,
1221
+ databaseType: state.client.databaseType,
1214
1222
  }
1215
1223
  : {
1216
1224
  task: 'delete',
1217
1225
  dashboardItemId: state.reportId,
1218
1226
  clientId: state.client._id,
1227
+ databaseType: state.client.databaseType,
1219
1228
  },
1220
1229
  }),
1221
1230
  credentials: withCredentials ? 'include' : 'omit', // If withCredentials is true, set to 'include'. Otherwise, set to 'omit'.
@@ -1226,6 +1235,7 @@ export function ReportWrapper({ SecondaryButtonComponent, ButtonComponent, Modal
1226
1235
  const url = `${QUILL_SERVER}/deletedash/${state.client._id}/${organizationId}/`;
1227
1236
  const requestBody = {
1228
1237
  dashboardItemId: state.reportId,
1238
+ databaseType: state.client.databaseType,
1229
1239
  };
1230
1240
  const response = await fetch(url, {
1231
1241
  method: 'POST',
@@ -28,6 +28,10 @@ interface State {
28
28
  navigateToDashboardManager?: () => void;
29
29
  navigateToDashboardBuilder?: () => void;
30
30
  domainName?: string;
31
+ databaseTypeMismatch: {
32
+ show: boolean;
33
+ backendDatabaseType: string;
34
+ };
31
35
  }
32
36
  type Action = {
33
37
  type: 'SET_LOADING';
@@ -107,6 +111,12 @@ type Action = {
107
111
  } | {
108
112
  type: 'SET_ORGANIZATION_ID_SET';
109
113
  payload: boolean;
114
+ } | {
115
+ type: 'SET_DATABASE_TYPE_MISMATCH';
116
+ payload: {
117
+ show: boolean;
118
+ backendDatabaseType: string;
119
+ };
110
120
  };
111
121
  declare const useAdmin: () => {
112
122
  state: State;
@@ -1 +1 @@
1
- {"version":3,"file":"AdminProvider.d.ts","sourceRoot":"","sources":["../../src/AdminProvider.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AdminProvider.d.ts","sourceRoot":"","sources":["../../src/AdminProvider.tsx"],"names":[],"mappings":"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"}