@quillsql/react 2.13.27 → 2.13.29

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 (261) hide show
  1. package/dist/cjs/Chart.d.ts +2 -1
  2. package/dist/cjs/Chart.d.ts.map +1 -1
  3. package/dist/cjs/Chart.js +2 -2
  4. package/dist/cjs/ChartBuilder.d.ts +20 -2
  5. package/dist/cjs/ChartBuilder.d.ts.map +1 -1
  6. package/dist/cjs/ChartBuilder.js +140 -45
  7. package/dist/cjs/ChartEditor.d.ts +5 -3
  8. package/dist/cjs/ChartEditor.d.ts.map +1 -1
  9. package/dist/cjs/ChartEditor.js +4 -5
  10. package/dist/cjs/Context.d.ts +15 -4
  11. package/dist/cjs/Context.d.ts.map +1 -1
  12. package/dist/cjs/Context.js +43 -61
  13. package/dist/cjs/Dashboard.d.ts +4 -0
  14. package/dist/cjs/Dashboard.d.ts.map +1 -1
  15. package/dist/cjs/Dashboard.js +49 -9
  16. package/dist/cjs/QuillProvider.d.ts +7 -46
  17. package/dist/cjs/QuillProvider.d.ts.map +1 -1
  18. package/dist/cjs/QuillProvider.js +2 -4
  19. package/dist/cjs/ReportBuilder.d.ts +9 -1
  20. package/dist/cjs/ReportBuilder.d.ts.map +1 -1
  21. package/dist/cjs/ReportBuilder.js +198 -80
  22. package/dist/cjs/SQLEditor.d.ts +5 -1
  23. package/dist/cjs/SQLEditor.d.ts.map +1 -1
  24. package/dist/cjs/SQLEditor.js +81 -18
  25. package/dist/cjs/Table.d.ts.map +1 -1
  26. package/dist/cjs/Table.js +3 -2
  27. package/dist/cjs/components/Chart/InternalChart.d.ts +2 -1
  28. package/dist/cjs/components/Chart/InternalChart.d.ts.map +1 -1
  29. package/dist/cjs/components/Chart/InternalChart.js +110 -28
  30. package/dist/cjs/components/Chart/PieChart.d.ts.map +1 -1
  31. package/dist/cjs/components/Chart/PieChart.js +10 -7
  32. package/dist/cjs/components/Dashboard/DashboardFilter.d.ts +3 -2
  33. package/dist/cjs/components/Dashboard/DashboardFilter.d.ts.map +1 -1
  34. package/dist/cjs/components/Dashboard/DashboardFilter.js +66 -65
  35. package/dist/cjs/components/Dashboard/DataLoader.d.ts.map +1 -1
  36. package/dist/cjs/components/Dashboard/DataLoader.js +81 -34
  37. package/dist/cjs/components/Dashboard/MetricComponent.js +3 -3
  38. package/dist/cjs/components/Dashboard/TableComponent.d.ts +2 -1
  39. package/dist/cjs/components/Dashboard/TableComponent.d.ts.map +1 -1
  40. package/dist/cjs/components/Dashboard/TableComponent.js +3 -3
  41. package/dist/cjs/components/Dashboard/util.d.ts.map +1 -1
  42. package/dist/cjs/components/Dashboard/util.js +6 -2
  43. package/dist/cjs/components/QuillMultiSelectWithCombo.d.ts +3 -1
  44. package/dist/cjs/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
  45. package/dist/cjs/components/QuillMultiSelectWithCombo.js +29 -20
  46. package/dist/cjs/components/QuillTable.d.ts.map +1 -1
  47. package/dist/cjs/components/QuillTable.js +9 -1
  48. package/dist/cjs/components/ReportBuilder/FilterModal.d.ts.map +1 -1
  49. package/dist/cjs/components/ReportBuilder/FilterModal.js +25 -3
  50. package/dist/cjs/components/ReportBuilder/FilterStack.d.ts +2 -1
  51. package/dist/cjs/components/ReportBuilder/FilterStack.d.ts.map +1 -1
  52. package/dist/cjs/components/ReportBuilder/FilterStack.js +2 -2
  53. package/dist/cjs/components/ReportBuilder/convert.d.ts +1 -0
  54. package/dist/cjs/components/ReportBuilder/convert.d.ts.map +1 -1
  55. package/dist/cjs/components/ReportBuilder/convert.js +54 -4
  56. package/dist/cjs/components/ReportBuilder/ui.d.ts +2 -1
  57. package/dist/cjs/components/ReportBuilder/ui.d.ts.map +1 -1
  58. package/dist/cjs/components/ReportBuilder/ui.js +3 -2
  59. package/dist/cjs/components/UiComponents.d.ts +1 -0
  60. package/dist/cjs/components/UiComponents.d.ts.map +1 -1
  61. package/dist/cjs/hooks/useAskQuill.d.ts +1 -1
  62. package/dist/cjs/hooks/useAskQuill.d.ts.map +1 -1
  63. package/dist/cjs/hooks/useAskQuill.js +6 -5
  64. package/dist/cjs/hooks/useAstToFilterTree.d.ts +2 -1
  65. package/dist/cjs/hooks/useAstToFilterTree.d.ts.map +1 -1
  66. package/dist/cjs/hooks/useAstToFilterTree.js +3 -3
  67. package/dist/cjs/hooks/useDashboard.d.ts +6 -2
  68. package/dist/cjs/hooks/useDashboard.d.ts.map +1 -1
  69. package/dist/cjs/hooks/useDashboard.js +34 -10
  70. package/dist/cjs/hooks/useExport.d.ts.map +1 -1
  71. package/dist/cjs/hooks/useExport.js +6 -4
  72. package/dist/cjs/index.d.ts +2 -1
  73. package/dist/cjs/index.d.ts.map +1 -1
  74. package/dist/cjs/index.js +4 -1
  75. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts +8 -2
  76. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  77. package/dist/cjs/internals/ReportBuilder/PivotModal.js +59 -30
  78. package/dist/cjs/models/Client.d.ts +22 -3
  79. package/dist/cjs/models/Client.d.ts.map +1 -1
  80. package/dist/cjs/models/Dashboard.d.ts +2 -0
  81. package/dist/cjs/models/Dashboard.d.ts.map +1 -1
  82. package/dist/cjs/models/Report.d.ts +4 -0
  83. package/dist/cjs/models/Report.d.ts.map +1 -1
  84. package/dist/cjs/utils/astFilterProcessing.d.ts +3 -2
  85. package/dist/cjs/utils/astFilterProcessing.d.ts.map +1 -1
  86. package/dist/cjs/utils/astFilterProcessing.js +3323 -977
  87. package/dist/cjs/utils/astProcessing.d.ts +1 -1
  88. package/dist/cjs/utils/astProcessing.d.ts.map +1 -1
  89. package/dist/cjs/utils/astProcessing.js +4 -2
  90. package/dist/cjs/utils/client.d.ts +4 -2
  91. package/dist/cjs/utils/client.d.ts.map +1 -1
  92. package/dist/cjs/utils/client.js +48 -1
  93. package/dist/cjs/utils/columnProcessing.d.ts +3 -0
  94. package/dist/cjs/utils/columnProcessing.d.ts.map +1 -1
  95. package/dist/cjs/utils/columnProcessing.js +34 -1
  96. package/dist/cjs/utils/constants.d.ts +2 -0
  97. package/dist/cjs/utils/constants.d.ts.map +1 -1
  98. package/dist/cjs/utils/constants.js +3 -1
  99. package/dist/cjs/utils/dashboard.d.ts +4 -3
  100. package/dist/cjs/utils/dashboard.d.ts.map +1 -1
  101. package/dist/cjs/utils/dashboard.js +13 -91
  102. package/dist/cjs/utils/dataFetcher.d.ts +3 -1
  103. package/dist/cjs/utils/dataFetcher.d.ts.map +1 -1
  104. package/dist/cjs/utils/dataFetcher.js +66 -30
  105. package/dist/cjs/utils/filterProcessing.d.ts +1 -1
  106. package/dist/cjs/utils/filterProcessing.d.ts.map +1 -1
  107. package/dist/cjs/utils/filterProcessing.js +3 -0
  108. package/dist/cjs/utils/pivotConstructor.d.ts +4 -1
  109. package/dist/cjs/utils/pivotConstructor.d.ts.map +1 -1
  110. package/dist/cjs/utils/pivotConstructor.js +7 -7
  111. package/dist/cjs/utils/pivotProcessing.d.ts +4 -1
  112. package/dist/cjs/utils/pivotProcessing.d.ts.map +1 -1
  113. package/dist/cjs/utils/pivotProcessing.js +27 -20
  114. package/dist/cjs/utils/queryConstructor.d.ts.map +1 -1
  115. package/dist/cjs/utils/queryConstructor.js +104 -88
  116. package/dist/cjs/utils/report.d.ts +17 -5
  117. package/dist/cjs/utils/report.d.ts.map +1 -1
  118. package/dist/cjs/utils/report.js +23 -23
  119. package/dist/cjs/utils/schema.d.ts.map +1 -1
  120. package/dist/cjs/utils/schema.js +21 -21
  121. package/dist/cjs/utils/tableProcessing.d.ts +37 -10
  122. package/dist/cjs/utils/tableProcessing.d.ts.map +1 -1
  123. package/dist/cjs/utils/tableProcessing.js +46 -38
  124. package/dist/cjs/utils/tenants.d.ts +11 -0
  125. package/dist/cjs/utils/tenants.d.ts.map +1 -0
  126. package/dist/cjs/utils/tenants.js +13 -0
  127. package/dist/cjs/utils/textProcessing.d.ts +1 -0
  128. package/dist/cjs/utils/textProcessing.d.ts.map +1 -1
  129. package/dist/cjs/utils/textProcessing.js +49 -0
  130. package/dist/cjs/utils/validation.js +1 -1
  131. package/dist/esm/Chart.d.ts +2 -1
  132. package/dist/esm/Chart.d.ts.map +1 -1
  133. package/dist/esm/Chart.js +2 -2
  134. package/dist/esm/ChartBuilder.d.ts +20 -2
  135. package/dist/esm/ChartBuilder.d.ts.map +1 -1
  136. package/dist/esm/ChartBuilder.js +144 -50
  137. package/dist/esm/ChartEditor.d.ts +5 -3
  138. package/dist/esm/ChartEditor.d.ts.map +1 -1
  139. package/dist/esm/ChartEditor.js +5 -6
  140. package/dist/esm/Context.d.ts +15 -4
  141. package/dist/esm/Context.d.ts.map +1 -1
  142. package/dist/esm/Context.js +42 -60
  143. package/dist/esm/Dashboard.d.ts +4 -0
  144. package/dist/esm/Dashboard.d.ts.map +1 -1
  145. package/dist/esm/Dashboard.js +50 -10
  146. package/dist/esm/QuillProvider.d.ts +7 -46
  147. package/dist/esm/QuillProvider.d.ts.map +1 -1
  148. package/dist/esm/QuillProvider.js +2 -4
  149. package/dist/esm/ReportBuilder.d.ts +9 -1
  150. package/dist/esm/ReportBuilder.d.ts.map +1 -1
  151. package/dist/esm/ReportBuilder.js +200 -84
  152. package/dist/esm/SQLEditor.d.ts +5 -1
  153. package/dist/esm/SQLEditor.d.ts.map +1 -1
  154. package/dist/esm/SQLEditor.js +80 -17
  155. package/dist/esm/Table.d.ts.map +1 -1
  156. package/dist/esm/Table.js +4 -3
  157. package/dist/esm/components/Chart/InternalChart.d.ts +2 -1
  158. package/dist/esm/components/Chart/InternalChart.d.ts.map +1 -1
  159. package/dist/esm/components/Chart/InternalChart.js +111 -29
  160. package/dist/esm/components/Chart/PieChart.d.ts.map +1 -1
  161. package/dist/esm/components/Chart/PieChart.js +10 -7
  162. package/dist/esm/components/Dashboard/DashboardFilter.d.ts +3 -2
  163. package/dist/esm/components/Dashboard/DashboardFilter.d.ts.map +1 -1
  164. package/dist/esm/components/Dashboard/DashboardFilter.js +66 -65
  165. package/dist/esm/components/Dashboard/DataLoader.d.ts.map +1 -1
  166. package/dist/esm/components/Dashboard/DataLoader.js +82 -35
  167. package/dist/esm/components/Dashboard/MetricComponent.js +3 -3
  168. package/dist/esm/components/Dashboard/TableComponent.d.ts +2 -1
  169. package/dist/esm/components/Dashboard/TableComponent.d.ts.map +1 -1
  170. package/dist/esm/components/Dashboard/TableComponent.js +3 -3
  171. package/dist/esm/components/Dashboard/util.d.ts.map +1 -1
  172. package/dist/esm/components/Dashboard/util.js +6 -2
  173. package/dist/esm/components/QuillMultiSelectWithCombo.d.ts +3 -1
  174. package/dist/esm/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
  175. package/dist/esm/components/QuillMultiSelectWithCombo.js +29 -20
  176. package/dist/esm/components/QuillTable.d.ts.map +1 -1
  177. package/dist/esm/components/QuillTable.js +9 -1
  178. package/dist/esm/components/ReportBuilder/FilterModal.d.ts.map +1 -1
  179. package/dist/esm/components/ReportBuilder/FilterModal.js +26 -4
  180. package/dist/esm/components/ReportBuilder/FilterStack.d.ts +2 -1
  181. package/dist/esm/components/ReportBuilder/FilterStack.d.ts.map +1 -1
  182. package/dist/esm/components/ReportBuilder/FilterStack.js +2 -2
  183. package/dist/esm/components/ReportBuilder/convert.d.ts +1 -0
  184. package/dist/esm/components/ReportBuilder/convert.d.ts.map +1 -1
  185. package/dist/esm/components/ReportBuilder/convert.js +54 -5
  186. package/dist/esm/components/ReportBuilder/ui.d.ts +2 -1
  187. package/dist/esm/components/ReportBuilder/ui.d.ts.map +1 -1
  188. package/dist/esm/components/ReportBuilder/ui.js +4 -3
  189. package/dist/esm/components/UiComponents.d.ts +1 -0
  190. package/dist/esm/components/UiComponents.d.ts.map +1 -1
  191. package/dist/esm/hooks/useAskQuill.d.ts +1 -1
  192. package/dist/esm/hooks/useAskQuill.d.ts.map +1 -1
  193. package/dist/esm/hooks/useAskQuill.js +7 -6
  194. package/dist/esm/hooks/useAstToFilterTree.d.ts +2 -1
  195. package/dist/esm/hooks/useAstToFilterTree.d.ts.map +1 -1
  196. package/dist/esm/hooks/useAstToFilterTree.js +3 -3
  197. package/dist/esm/hooks/useDashboard.d.ts +6 -2
  198. package/dist/esm/hooks/useDashboard.d.ts.map +1 -1
  199. package/dist/esm/hooks/useDashboard.js +34 -10
  200. package/dist/esm/hooks/useExport.d.ts.map +1 -1
  201. package/dist/esm/hooks/useExport.js +7 -5
  202. package/dist/esm/index.d.ts +2 -1
  203. package/dist/esm/index.d.ts.map +1 -1
  204. package/dist/esm/index.js +1 -0
  205. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts +8 -2
  206. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  207. package/dist/esm/internals/ReportBuilder/PivotModal.js +59 -30
  208. package/dist/esm/models/Client.d.ts +22 -3
  209. package/dist/esm/models/Client.d.ts.map +1 -1
  210. package/dist/esm/models/Dashboard.d.ts +2 -0
  211. package/dist/esm/models/Dashboard.d.ts.map +1 -1
  212. package/dist/esm/models/Report.d.ts +4 -0
  213. package/dist/esm/models/Report.d.ts.map +1 -1
  214. package/dist/esm/utils/astFilterProcessing.d.ts +3 -2
  215. package/dist/esm/utils/astFilterProcessing.d.ts.map +1 -1
  216. package/dist/esm/utils/astFilterProcessing.js +3323 -977
  217. package/dist/esm/utils/astProcessing.d.ts +1 -1
  218. package/dist/esm/utils/astProcessing.d.ts.map +1 -1
  219. package/dist/esm/utils/astProcessing.js +5 -3
  220. package/dist/esm/utils/client.d.ts +4 -2
  221. package/dist/esm/utils/client.d.ts.map +1 -1
  222. package/dist/esm/utils/client.js +48 -1
  223. package/dist/esm/utils/columnProcessing.d.ts +3 -0
  224. package/dist/esm/utils/columnProcessing.d.ts.map +1 -1
  225. package/dist/esm/utils/columnProcessing.js +31 -1
  226. package/dist/esm/utils/constants.d.ts +2 -0
  227. package/dist/esm/utils/constants.d.ts.map +1 -1
  228. package/dist/esm/utils/constants.js +2 -0
  229. package/dist/esm/utils/dashboard.d.ts +4 -3
  230. package/dist/esm/utils/dashboard.d.ts.map +1 -1
  231. package/dist/esm/utils/dashboard.js +13 -90
  232. package/dist/esm/utils/dataFetcher.d.ts +3 -1
  233. package/dist/esm/utils/dataFetcher.d.ts.map +1 -1
  234. package/dist/esm/utils/dataFetcher.js +65 -29
  235. package/dist/esm/utils/filterProcessing.d.ts +1 -1
  236. package/dist/esm/utils/filterProcessing.d.ts.map +1 -1
  237. package/dist/esm/utils/filterProcessing.js +3 -0
  238. package/dist/esm/utils/pivotConstructor.d.ts +4 -1
  239. package/dist/esm/utils/pivotConstructor.d.ts.map +1 -1
  240. package/dist/esm/utils/pivotConstructor.js +8 -8
  241. package/dist/esm/utils/pivotProcessing.d.ts +4 -1
  242. package/dist/esm/utils/pivotProcessing.d.ts.map +1 -1
  243. package/dist/esm/utils/pivotProcessing.js +27 -20
  244. package/dist/esm/utils/queryConstructor.d.ts.map +1 -1
  245. package/dist/esm/utils/queryConstructor.js +104 -88
  246. package/dist/esm/utils/report.d.ts +17 -5
  247. package/dist/esm/utils/report.d.ts.map +1 -1
  248. package/dist/esm/utils/report.js +20 -23
  249. package/dist/esm/utils/schema.d.ts.map +1 -1
  250. package/dist/esm/utils/schema.js +21 -21
  251. package/dist/esm/utils/tableProcessing.d.ts +37 -10
  252. package/dist/esm/utils/tableProcessing.d.ts.map +1 -1
  253. package/dist/esm/utils/tableProcessing.js +47 -39
  254. package/dist/esm/utils/tenants.d.ts +11 -0
  255. package/dist/esm/utils/tenants.d.ts.map +1 -0
  256. package/dist/esm/utils/tenants.js +9 -0
  257. package/dist/esm/utils/textProcessing.d.ts +1 -0
  258. package/dist/esm/utils/textProcessing.d.ts.map +1 -1
  259. package/dist/esm/utils/textProcessing.js +48 -0
  260. package/dist/esm/utils/validation.js +1 -1
  261. package/package.json +1 -1
@@ -54,7 +54,7 @@ export declare const createBasicSelectASTFromColumns: (columns: ColumnInternal[]
54
54
  orderby: null;
55
55
  limit: null;
56
56
  };
57
- export declare const fetchAndProcessASTFromPrompt: (aiPrompt: string, schema: Table[], client: QuillProviderClient, prevPivot?: Pivot, currentQuery?: string, prevTable?: string) => Promise<{
57
+ export declare const fetchAndProcessASTFromPrompt: (aiPrompt: string, schema: Table[], client: QuillProviderClient, prevPivot?: Pivot, currentQuery?: string, prevTable?: string, dashboardName?: string) => Promise<{
58
58
  ast: any;
59
59
  pivot: Pivot | null | undefined;
60
60
  whereAST: any;
@@ -1 +1 @@
1
- {"version":3,"file":"astProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/astProcessing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"astProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/astProcessing.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { getTableNames } from '../components/ReportBuilder/ast';
2
- import { convertBigQuery, convertGroupBy, convertRemoveSimpleParentheses, convertStringComparison, convertUnaryToBinary, convertWildcardColumns, } from '../components/ReportBuilder/convert';
2
+ import { convertBigQuery, convertGroupBy, convertOrderBy, convertRemoveSimpleParentheses, convertStringComparison, convertUnaryToBinary, convertWildcardColumns, } from '../components/ReportBuilder/convert';
3
3
  import { deepCopy, removeNonSelectedTableReferences, removeTableNameAlias, } from '../components/ReportBuilder/util';
4
4
  import { QUILL_SERVER } from './constants';
5
5
  import { getUniqueStringValues } from './tableProcessing';
@@ -326,7 +326,8 @@ export const createBasicSelectASTFromColumns = (columns, tableName) => {
326
326
  limit: null,
327
327
  };
328
328
  };
329
- export const fetchAndProcessASTFromPrompt = async (aiPrompt, schema, client, prevPivot, currentQuery, prevTable) => {
329
+ //TODO: Move all fetches to a /sdk route
330
+ export const fetchAndProcessASTFromPrompt = async (aiPrompt, schema, client, prevPivot, currentQuery, prevTable, dashboardName) => {
330
331
  let res, data, ast, newAst, pivot;
331
332
  let numRetries = 0;
332
333
  let whereAST;
@@ -379,6 +380,7 @@ export const fetchAndProcessASTFromPrompt = async (aiPrompt, schema, client, pre
379
380
  newAst = removeTableNameAlias(newAst);
380
381
  newAst = convertWildcardColumns(newAst, schema); // must go before groupby
381
382
  ({ ast: newAst, pivot } = convertGroupBy(newAst, schema, prevPivot, prevTable));
383
+ newAst = convertOrderBy(newAst, schema);
382
384
  newAst = convertStringComparison(newAst, client.databaseType || 'postgresql');
383
385
  newAst = convertRemoveSimpleParentheses(newAst);
384
386
  const table = getTableNames(newAst)[0];
@@ -390,7 +392,7 @@ export const fetchAndProcessASTFromPrompt = async (aiPrompt, schema, client, pre
390
392
  if (!tableInfo) {
391
393
  throw new Error('Table info not found');
392
394
  }
393
- const uniqueValues = await getUniqueStringValues(tableInfo.columns, processedName, client);
395
+ const uniqueValues = await getUniqueStringValues(tableInfo.columns, processedName, client, undefined, undefined, undefined, undefined, dashboardName);
394
396
  newAst = convertUnaryToBinary(newAst);
395
397
  newAst = removeNonSelectedTableReferences(newAst, processedName, tableInfo.columns.map((col) => col.field), uniqueValues);
396
398
  if (pivot) {
@@ -1,4 +1,6 @@
1
- import { Client } from '../models/Client';
1
+ import { Client, QuillDatabaseTenant, QuillTenant } from '../models/Client';
2
2
  export declare const EMPTY_CLIENT: Client;
3
- export declare function fetchClient(publicKey: string, queryEndpoint: string, withCredentials?: boolean, queryHeaders?: HeadersInit): Promise<Client>;
3
+ export declare function fetchClient(publicKey: string, queryEndpoint: string, withCredentials?: boolean, queryHeaders?: HeadersInit): Promise<Client & {
4
+ allTenantTypes?: (QuillTenant | QuillDatabaseTenant)[];
5
+ }>;
4
6
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/utils/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,eAAO,MAAM,YAAY,EAAE,MAM1B,CAAC;AAEF,wBAAsB,WAAW,CAC/B,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EACrB,eAAe,UAAQ,EACvB,YAAY,CAAC,EAAE,WAAW,GACzB,OAAO,CAAC,MAAM,CAAC,CAwBjB"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/utils/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE5E,eAAO,MAAM,YAAY,EAAE,MAM1B,CAAC;AAEF,wBAAsB,WAAW,CAC/B,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EACrB,eAAe,UAAQ,EACvB,YAAY,CAAC,EAAE,WAAW,GACzB,OAAO,CACR,MAAM,GAAG;IAAE,cAAc,CAAC,EAAE,CAAC,WAAW,GAAG,mBAAmB,CAAC,EAAE,CAAA;CAAE,CACpE,CAgFA"}
@@ -7,6 +7,7 @@ export const EMPTY_CLIENT = {
7
7
  };
8
8
  export async function fetchClient(publicKey, queryEndpoint, withCredentials = false, queryHeaders) {
9
9
  let result = EMPTY_CLIENT;
10
+ let clientTenantIds = [];
10
11
  try {
11
12
  const response = await fetch(`${queryEndpoint}`, {
12
13
  method: 'POST',
@@ -25,9 +26,55 @@ export async function fetchClient(publicKey, queryEndpoint, withCredentials = fa
25
26
  });
26
27
  const json = await response.json();
27
28
  result = json.data?.data?.client || json.data?.client;
29
+ clientTenantIds = await Promise.all(result.allTenantTypes?.map(async (tenant) => {
30
+ const tenantResponse = await fetch(queryEndpoint, {
31
+ method: 'POST',
32
+ headers: {
33
+ ...queryHeaders,
34
+ 'Content-Type': 'application/json',
35
+ },
36
+ body: JSON.stringify({
37
+ metadata: {
38
+ tenantId: tenant.id,
39
+ task: 'tenant-query',
40
+ clientId: result.id,
41
+ },
42
+ }),
43
+ credentials: withCredentials ? 'include' : 'omit',
44
+ });
45
+ const data = await tenantResponse.json();
46
+ if (!data.data?.rows) {
47
+ return {
48
+ id: tenant.id,
49
+ tenantIds: [],
50
+ };
51
+ }
52
+ return {
53
+ id: tenant.id,
54
+ tenantIds: data.data.rows.map((row) => ({
55
+ id: row[tenant.tenantField],
56
+ flag: row['quill_flag'],
57
+ label: row['quill_label'],
58
+ })),
59
+ };
60
+ }));
28
61
  }
29
62
  catch (error) {
30
63
  console.error('ERROR:', error);
31
64
  }
32
- return result;
65
+ return {
66
+ ...result,
67
+ allTenantTypes: result.multiTenancyDisabled
68
+ ? [
69
+ {
70
+ scope: 'database',
71
+ flags: [],
72
+ tenantField: 'QUILL_SINGLE_TENANT',
73
+ },
74
+ ]
75
+ : result.allTenantTypes?.map((tenant) => ({
76
+ ...tenant,
77
+ tenantIds: clientTenantIds?.find((clientTenant) => clientTenant.id === tenant.id)?.tenantIds || [],
78
+ })),
79
+ };
33
80
  }
@@ -17,6 +17,9 @@ export declare function convertFieldTypeToJSType(fieldType: string): string;
17
17
  export declare function convertFormatToJsType(column: Column): string;
18
18
  export declare function processColumnName(columnName: string): string;
19
19
  export declare function isStringType(fieldType: string): boolean;
20
+ export declare function isDateType(fieldType: string): boolean;
21
+ export declare function isNumberType(fieldType: string): boolean;
22
+ export declare function isBoolType(fieldType: string): boolean;
20
23
  export declare const getYAxisFields: (report: QuillReportInternal, dashboardFilters: DashboardFilter[]) => any[];
21
24
  export {};
22
25
  //# sourceMappingURL=columnProcessing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"columnProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/columnProcessing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAEhE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAQvD,UAAU,6CAA6C;IACrD,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,oCAAoC;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,KAAK,2BAA2B,GAC5B,6CAA6C,GAC7C,oCAAoC,CAAC;AAEzC,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,2BAA2B,GACjC,cAAc,CAgJhB;AAED,wBAAgB,iCAAiC,CAC/C,UAAU,EAAE,UAAU,GACrB,cAAc,CAShB;AAsED,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAwDlE;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAY5D;AAED,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED,eAAO,MAAM,cAAc,WACjB,mBAAmB,oBACT,eAAe,EAAE,UAqDpC,CAAC"}
1
+ {"version":3,"file":"columnProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/columnProcessing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAEhE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAQvD,UAAU,6CAA6C;IACrD,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,oCAAoC;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,KAAK,2BAA2B,GAC5B,6CAA6C,GAC7C,oCAAoC,CAAC;AAEzC,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,2BAA2B,GACjC,cAAc,CAmJhB;AAED,wBAAgB,iCAAiC,CAC/C,UAAU,EAAE,UAAU,GACrB,cAAc,CAShB;AAsED,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAwDlE;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAY5D;AAED,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAIvD;AAED,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CASrD;AAED,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAavD;AAED,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAErD;AAED,eAAO,MAAM,cAAc,WACjB,mBAAmB,oBACT,eAAe,EAAE,UAqDpC,CAAC"}
@@ -91,6 +91,9 @@ export function convertPostgresColumn(field) {
91
91
  case 3807: // jsonb[]
92
92
  fieldType = 'jsonb[]';
93
93
  break;
94
+ case 2277: // anyarray
95
+ fieldType = 'anyarray';
96
+ break;
94
97
  case 1043: // varchar
95
98
  default:
96
99
  fieldType = 'varchar';
@@ -291,7 +294,34 @@ export function processColumnName(columnName) {
291
294
  return removeBigQuerySpecialChars(columnName);
292
295
  }
293
296
  export function isStringType(fieldType) {
294
- return ['string', 'varchar', 'text', 'char'].includes(fieldType);
297
+ return ['string', 'varchar', 'text', 'char', 'bpchar', 'citext'].includes(fieldType);
298
+ }
299
+ export function isDateType(fieldType) {
300
+ return [
301
+ 'date',
302
+ 'datetime',
303
+ 'time',
304
+ 'timestamptz',
305
+ 'timestamp',
306
+ 'interval',
307
+ ].includes(fieldType);
308
+ }
309
+ export function isNumberType(fieldType) {
310
+ return [
311
+ 'int8',
312
+ 'int2',
313
+ 'int4',
314
+ 'float4',
315
+ 'float8',
316
+ 'numeric',
317
+ 'number',
318
+ 'smallint',
319
+ 'float2',
320
+ 'float16',
321
+ ].includes(fieldType);
322
+ }
323
+ export function isBoolType(fieldType) {
324
+ return ['bool', 'boolean'].includes(fieldType);
295
325
  }
296
326
  export const getYAxisFields = (report, dashboardFilters) => {
297
327
  try {
@@ -2,4 +2,6 @@ export declare const MAX_COLUMN_ROWS_LIMIT = 500;
2
2
  export declare const MAX_PIVOT_UNIQUE_VALUES = 250;
3
3
  export declare const QUILL_SERVER: string;
4
4
  export declare const QUILL_QUERY_ENDPOINT: string;
5
+ export declare const ALL_TENANTS = "QUILL_ALL_TENANTS";
6
+ export declare const SINGLE_TENANT = "QUILL_SINGLE_TENANT";
5
7
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/utils/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB,MAAM,CAAC;AACzC,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAC3C,eAAO,MAAM,YAAY,QAGoB,CAAC;AAC9C,eAAO,MAAM,oBAAoB,QAGnB,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/utils/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB,MAAM,CAAC;AACzC,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAC3C,eAAO,MAAM,YAAY,QAGoB,CAAC;AAC9C,eAAO,MAAM,oBAAoB,QAGnB,CAAC;AACf,eAAO,MAAM,WAAW,sBAAsB,CAAC;AAC/C,eAAO,MAAM,aAAa,wBAAwB,CAAC"}
@@ -6,3 +6,5 @@ export const QUILL_SERVER = typeof process !== 'undefined' && process.env
6
6
  export const QUILL_QUERY_ENDPOINT = typeof process !== 'undefined' && process.env
7
7
  ? (process.env.QUILL_QUERY_ENDPOINT ?? '/cloud')
8
8
  : '/cloud';
9
+ export const ALL_TENANTS = 'QUILL_ALL_TENANTS';
10
+ export const SINGLE_TENANT = 'QUILL_SINGLE_TENANT';
@@ -1,6 +1,5 @@
1
1
  import { QuillReportInternal } from '../models/Report';
2
2
  import { QuillProviderClient } from '../models/Client';
3
- import { DashboardFilter } from '../models/Filter';
4
3
  /**
5
4
  * Returns a cleaned version of the dashboard item we store in state. We clean
6
5
  * the dashboard item so that we aren't exposing unnecessary details to the
@@ -11,6 +10,8 @@ import { DashboardFilter } from '../models/Filter';
11
10
  export declare function cleanDashboardItem(item: {
12
11
  [key: string]: any;
13
12
  } | undefined, dashboardFilters: any, client: QuillProviderClient, dateBucket?: string): Promise<QuillReportInternal>;
14
- export declare function getDashboard(dashboardName: string, client: QuillProviderClient): Promise<any>;
15
- export declare function getDashboardFilters(dashboardName: string, client: QuillProviderClient): Promise<DashboardFilter[]>;
13
+ export declare function getDashboard(dashboardName: string, client: QuillProviderClient, tenants?: {
14
+ tenantField: string;
15
+ tenantIds: (string | number)[];
16
+ }[] | (string | number)[], flags?: string[]): Promise<any>;
16
17
  //# sourceMappingURL=dashboard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard.d.ts","sourceRoot":"","sources":["../../../src/utils/dashboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAWvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AA4BnD;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,GAAG,SAAS,EACxC,gBAAgB,EAAE,GAAG,EACrB,MAAM,EAAE,mBAAmB,EAC3B,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,mBAAmB,CAAC,CA+D9B;AAmHD,wBAAsB,YAAY,CAChC,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC,GAAG,CAAC,CA2Bd;AAED,wBAAsB,mBAAmB,CACvC,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC,eAAe,EAAE,CAAC,CAiG5B"}
1
+ {"version":3,"file":"dashboard.d.ts","sourceRoot":"","sources":["../../../src/utils/dashboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAWvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAuBvD;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,GAAG,SAAS,EACxC,gBAAgB,EAAE,GAAG,EACrB,MAAM,EAAE,mBAAmB,EAC3B,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,mBAAmB,CAAC,CAiE9B;AA4HD,wBAAsB,YAAY,CAChC,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,mBAAmB,EAC3B,OAAO,CAAC,EACJ;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;CAAE,EAAE,GACzD,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,EACvB,KAAK,CAAC,EAAE,MAAM,EAAE,GACf,OAAO,CAAC,GAAG,CAAC,CA6Bd"}
@@ -3,7 +3,6 @@ import { snakeAndCamelCaseToTitleCase } from './textProcessing';
3
3
  import { getData } from './dataFetcher';
4
4
  import { getDateBucketFromRange } from './dates';
5
5
  import { generatePivotWithSQL } from './pivotConstructor';
6
- import { COMPARISON_RANGE, defaultOptionsV2, PRIMARY_RANGE, } from '../DateRangePicker/dateRangePickerUtils';
7
6
  const defaultDashboardItem = {
8
7
  id: '',
9
8
  name: '',
@@ -46,7 +45,7 @@ export async function cleanDashboardItem(item, dashboardFilters, client, dateBuc
46
45
  let pivotTable;
47
46
  let pivotError;
48
47
  try {
49
- pivotTable = await getPivotTable(item, dashboardFilters, client, dateBucket);
48
+ pivotTable = await getPivotTable(item, dashboardFilters, client, dateBucket, item.dashboardName);
50
49
  }
51
50
  catch (e) {
52
51
  pivotTable = undefined;
@@ -81,6 +80,7 @@ export async function cleanDashboardItem(item, dashboardFilters, client, dateBuc
81
80
  order: item.order,
82
81
  filtersApplied: item.filtersApplied,
83
82
  filterMap: item.filterMap,
83
+ flags: item.flags,
84
84
  rowCount: item.rowCount ? parseInt(item.rowCount) : item.rows.length,
85
85
  template: item.template,
86
86
  sort: item.sort,
@@ -94,7 +94,7 @@ export async function cleanDashboardItem(item, dashboardFilters, client, dateBuc
94
94
  /**
95
95
  * Extract and transform the data from itemInfo.
96
96
  */
97
- async function getPivotTable(report, dashboardFilters, client, dateBucketInitial) {
97
+ async function getPivotTable(report, dashboardFilters, client, dateBucketInitial, dashboardName, tenants) {
98
98
  if (!report)
99
99
  return undefined;
100
100
  const dateFilter = Object.values(dashboardFilters ?? {}).find((filter) => filter.filterType === 'date_range' || filter.operator === 'BETWEEN');
@@ -142,7 +142,7 @@ async function getPivotTable(report, dashboardFilters, client, dateBucketInitial
142
142
  if (!dateBucket && filterDateRange) {
143
143
  dateBucket = getDateBucketFromRange(filterDateRange);
144
144
  }
145
- const pivotTable = await generatePivotWithSQL(pivot, report, client, dateBucket, dateFilter, report.distinctStrings);
145
+ const pivotTable = await generatePivotWithSQL(pivot, report, client, dateBucket, dateFilter, report.distinctStrings, undefined, dashboardName, tenants);
146
146
  return pivotTable;
147
147
  }
148
148
  catch (e) {
@@ -155,6 +155,8 @@ async function getPivotTable(report, dashboardFilters, client, dateBucketInitial
155
155
  pivot,
156
156
  report,
157
157
  client,
158
+ dashboardName,
159
+ tenants,
158
160
  })
159
161
  : undefined;
160
162
  }
@@ -181,104 +183,25 @@ function extractPivotedYAxis(pivotTable, itemInfo, config = undefined) {
181
183
  // }
182
184
  // return fields;
183
185
  }
184
- export async function getDashboard(dashboardName, client) {
185
- const searchParams = new URLSearchParams({
186
- publicKey: client.publicKey,
187
- orgId: client?.organizationId || '*',
188
- name: dashboardName,
189
- }).toString();
186
+ export async function getDashboard(dashboardName, client, tenants, flags) {
190
187
  const hostedBody = {
191
188
  metadata: {
192
189
  name: dashboardName,
193
190
  task: 'dashboard',
194
191
  clientId: client.publicKey,
195
- orgId: client.organizationId || '*',
196
192
  databaseType: client.databaseType,
197
193
  useNewNodeSql: true,
194
+ tenants,
195
+ flags,
198
196
  },
199
197
  };
200
- const resp = await getData(client, `dashconfig?${searchParams}`, 'omit', hostedBody, null, 'GET');
201
- return resp;
202
- }
203
- export async function getDashboardFilters(dashboardName, client) {
204
198
  const searchParams = new URLSearchParams({
205
199
  publicKey: client.publicKey,
206
- orgId: client.organizationId || '*',
207
200
  name: dashboardName,
208
201
  }).toString();
209
- const hostedBody = {
210
- metadata: {
211
- name: dashboardName,
212
- task: 'dashboard-filters-options',
213
- clientId: client.publicKey,
214
- orgId: client.organizationId || '*',
215
- databaseType: client.databaseType,
216
- useNewNodeSql: true,
217
- },
218
- };
219
202
  const resp = await getData(client, `dashconfig?${searchParams}`, 'omit', hostedBody, null, 'GET');
220
- const filterArray = [];
221
- if (resp.dateFilter && Object.keys(resp.dateFilter).length) {
222
- let presetsOptions = defaultOptionsV2;
223
- if (resp.dateFilter.presetRanges) {
224
- presetsOptions = resp.dateFilter.presetRanges.map((elem) => {
225
- if (!elem.isStatic) {
226
- return {
227
- label: elem.label,
228
- value: elem.value,
229
- startDate: (PRIMARY_RANGE[elem.value] ??
230
- PRIMARY_RANGE['LAST_30_DAYS']).startDate,
231
- endDate: (PRIMARY_RANGE[elem.value] ??
232
- PRIMARY_RANGE['LAST_30_DAYS']).endDate,
233
- };
234
- }
235
- return {
236
- label: elem.label,
237
- value: elem.value,
238
- startDate: new Date(elem.startDate),
239
- endDate: new Date(elem.endDate),
240
- };
241
- });
242
- }
243
- const key = resp.dateFilter?.primaryRange?.value || 'LAST_6_MONTHS';
244
- const primaryPreset = presetsOptions.find((option) => {
245
- return option.value === key;
246
- });
247
- const filter = {
248
- startDate: primaryPreset.startDate,
249
- endDate: primaryPreset.endDate,
250
- filterType: 'date_range',
251
- options: presetsOptions.map((elem) => {
252
- return {
253
- label: elem.label,
254
- value: elem.value,
255
- };
256
- }),
257
- field: 'date_range',
258
- label: resp.dateFilter.label,
259
- preset: {
260
- label: primaryPreset.label,
261
- value: primaryPreset.value,
262
- },
263
- dashboardName: dashboardName,
264
- };
265
- if (resp.dateFilter.comparison) {
266
- filter.comparison = true;
267
- const compKey = resp.dateFilter.defaultComparisonRange ?? 'PREV_PERIOD';
268
- const range = { startDate: filter.startDate, endDate: filter.endDate };
269
- filter.comparisonRange = {
270
- startDate: COMPARISON_RANGE[compKey](range)?.startDate,
271
- endDate: COMPARISON_RANGE[compKey](range)?.endDate,
272
- value: compKey,
273
- };
274
- }
275
- else {
276
- filter.comparison = false;
277
- }
278
- filterArray.push(filter);
279
- }
280
- filterArray.push(...resp.filters.map((f) => {
281
- return { ...f, dashboardName: dashboardName };
282
- }));
283
- return filterArray;
203
+ return {
204
+ ...resp,
205
+ createdAt: resp.createdAt && new Date(resp.createdAt),
206
+ };
284
207
  }
@@ -1,6 +1,8 @@
1
1
  import { QuillProviderClient } from '../models/Client';
2
2
  export declare function getData(client: QuillProviderClient, cloudQueryEndpoint: string, noCred: RequestCredentials, hostedRequestBody: any, cloudRequestBody: any, method?: string, queryParam?: string, abortSignal?: AbortSignal): Promise<any>;
3
- export declare function getDataFromCloud(client: QuillProviderClient, cloudQueryEndpoint: string, cloudRequestBody: any, method?: string, abortSignal?: AbortSignal): Promise<any>;
3
+ export declare function useQuillCloud(): {
4
+ getDataFromCloud: (client: QuillProviderClient, cloudQueryEndpoint: string, cloudRequestBody: any, method?: string, abortSignal?: AbortSignal) => Promise<any>;
5
+ };
4
6
  export declare function fetchSqlQuery(ast: any, client: QuillProviderClient, formData?: any): Promise<{
5
7
  query: string;
6
8
  error?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"dataFetcher.d.ts","sourceRoot":"","sources":["../../../src/utils/dataFetcher.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AA8EvD,wBAAsB,OAAO,CAC3B,MAAM,EAAE,mBAAmB,EAC3B,kBAAkB,EAAE,MAAM,EAC1B,MAAM,EAAE,kBAAkB,EAC1B,iBAAiB,EAAE,GAAG,EACtB,gBAAgB,EAAE,GAAG,EACrB,MAAM,SAAS,EACf,UAAU,CAAC,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,WAAW,gBAsJ1B;AAED,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,mBAAmB,EAC3B,kBAAkB,EAAE,MAAM,EAC1B,gBAAgB,EAAE,GAAG,EACrB,MAAM,SAAS,EACf,WAAW,CAAC,EAAE,WAAW,gBA8B1B;AAED,wBAAsB,aAAa,CACjC,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,mBAAmB,EAC3B,QAAQ,CAAC,EAAE,GAAG,GACb,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAmB5C"}
1
+ {"version":3,"file":"dataFetcher.d.ts","sourceRoot":"","sources":["../../../src/utils/dataFetcher.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAgFvD,wBAAsB,OAAO,CAC3B,MAAM,EAAE,mBAAmB,EAC3B,kBAAkB,EAAE,MAAM,EAC1B,MAAM,EAAE,kBAAkB,EAC1B,iBAAiB,EAAE,GAAG,EACtB,gBAAgB,EAAE,GAAG,EACrB,MAAM,SAAS,EACf,UAAU,CAAC,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,WAAW,gBA0K1B;AAED,wBAAgB,aAAa;+BAGjB,mBAAmB,sBACP,MAAM,oBACR,GAAG,iCAEP,WAAW;EAoC5B;AAED,wBAAsB,aAAa,CACjC,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,mBAAmB,EAC3B,QAAQ,CAAC,EAAE,GAAG,GACb,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAmB5C"}
@@ -1,4 +1,6 @@
1
+ import { useContext } from 'react';
1
2
  import { QUILL_SERVER } from './constants';
3
+ import { TenantContext } from '../Context';
2
4
  function fetchQuillData(responseData) {
3
5
  if (!responseData) {
4
6
  return null;
@@ -61,6 +63,7 @@ async function testSqlViewState(hostedRequestBody, client, referencedTables) {
61
63
  }
62
64
  // this function gets the data either from the self hosted endpoint or
63
65
  // our cloud server
66
+ // Tenants and Flags must be passed in as part of the body explicity
64
67
  export async function getData(client, cloudQueryEndpoint, noCred, hostedRequestBody, cloudRequestBody, method = 'POST', queryParam, abortSignal) {
65
68
  if (!client) {
66
69
  return null;
@@ -171,7 +174,33 @@ export async function getData(client, cloudQueryEndpoint, noCred, hostedRequestB
171
174
  }
172
175
  else {
173
176
  // cloud
174
- return await getDataFromCloud(client, cloudQueryEndpoint, cloudRequestBody, method, abortSignal);
177
+ try {
178
+ const url = `${QUILL_SERVER}/${cloudQueryEndpoint}`;
179
+ const resp = await fetch(url, {
180
+ method,
181
+ headers: {
182
+ Authorization: 'Bearer ',
183
+ 'Content-Type': 'application/json',
184
+ },
185
+ body: method === 'POST'
186
+ ? JSON.stringify({
187
+ ...cloudRequestBody,
188
+ ...{
189
+ publicKey: client?.publicKey,
190
+ },
191
+ })
192
+ : null,
193
+ signal: abortSignal,
194
+ });
195
+ return await resp.json();
196
+ }
197
+ catch (e) {
198
+ if (e instanceof Error && e.name === 'AbortError') {
199
+ throw e;
200
+ }
201
+ console.error('Failed to parse JSON:', e);
202
+ return null;
203
+ }
175
204
  }
176
205
  }
177
206
  catch (e) {
@@ -182,35 +211,42 @@ export async function getData(client, cloudQueryEndpoint, noCred, hostedRequestB
182
211
  return null;
183
212
  }
184
213
  }
185
- export async function getDataFromCloud(client, cloudQueryEndpoint, cloudRequestBody, method = 'POST', abortSignal) {
186
- try {
187
- const url = `${QUILL_SERVER}/${cloudQueryEndpoint}`;
188
- const resp = await fetch(url, {
189
- method,
190
- headers: {
191
- Authorization: 'Bearer ',
192
- 'Content-Type': 'application/json',
193
- },
194
- body: method === 'POST'
195
- ? JSON.stringify({
196
- ...cloudRequestBody,
197
- ...{
198
- publicKey: client?.publicKey,
199
- orgId: client?.organizationId,
200
- },
201
- })
202
- : null,
203
- signal: abortSignal,
204
- });
205
- return await resp.json();
206
- }
207
- catch (e) {
208
- if (e instanceof Error && e.name === 'AbortError') {
209
- throw e;
214
+ export function useQuillCloud() {
215
+ const { tenants, flags } = useContext(TenantContext);
216
+ const getDataFromCloud = async (client, cloudQueryEndpoint, cloudRequestBody, method = 'POST', abortSignal) => {
217
+ try {
218
+ const url = `${QUILL_SERVER}/${cloudQueryEndpoint}`;
219
+ const resp = await fetch(url, {
220
+ method,
221
+ headers: {
222
+ Authorization: 'Bearer ',
223
+ 'Content-Type': 'application/json',
224
+ },
225
+ body: method === 'POST'
226
+ ? JSON.stringify({
227
+ ...cloudRequestBody,
228
+ ...{
229
+ publicKey: client?.publicKey,
230
+ tenants: tenants,
231
+ flags: flags,
232
+ },
233
+ })
234
+ : null,
235
+ signal: abortSignal,
236
+ });
237
+ return await resp.json();
210
238
  }
211
- console.error('Failed to parse JSON:', e);
212
- return null;
213
- }
239
+ catch (e) {
240
+ if (e instanceof Error && e.name === 'AbortError') {
241
+ throw e;
242
+ }
243
+ console.error('Failed to parse JSON:', e);
244
+ return null;
245
+ }
246
+ };
247
+ return {
248
+ getDataFromCloud,
249
+ };
214
250
  }
215
251
  export async function fetchSqlQuery(ast, client, formData) {
216
252
  try {
@@ -4,7 +4,7 @@ import { FilterTreeNode } from './astFilterProcessing';
4
4
  export declare function findAndProcessDateFilter(filters: any[]): any;
5
5
  export declare function processFilterFromBackend(filter: any): any;
6
6
  export declare function updateFilter(filter: any, value: any, comparison: any, dashboardName: string): any;
7
- export declare const getType: (t: string) => FieldType.String | FieldType.Number | FieldType.Date | FieldType.Boolean;
7
+ export declare const getType: (t: string) => FieldType;
8
8
  /**
9
9
  * Returns a sentence to describe a Filter
10
10
  */
@@ -1 +1 @@
1
- {"version":3,"file":"filterProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/filterProcessing.ts"],"names":[],"mappings":"AAQA,OAAO,EAEL,SAAS,EACT,cAAc,EAGd,mBAAmB,EACnB,MAAM,EAEN,eAAe,EAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAmB,MAAM,uBAAuB,CAAC;AAGxE,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,GAAG,CAoB5D;AAMD,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,GAAG,OAkBnD;AAED,wBAAgB,YAAY,CAC1B,MAAM,EAAE,GAAG,EACX,KAAK,EAAE,GAAU,EACjB,UAAU,EAAE,GAAU,EACtB,aAAa,EAAE,MAAM,OAmGtB;AAGD,eAAO,MAAM,OAAO,MAAO,MAAM,6EAwDhC,CAAC;AAEF;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAwB7D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,GAAG,GAAG,cAAc,EAAE,CAoCrE;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,GAAG,EAAE,yBAgCnD;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,GAAG,EACZ,OAAO,EAAE,cAAc,EAAE,EACzB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,GAAG,GACV,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA2B/D;AAED,wBAAgB,iCAAiC,CAC/C,gBAAgB,EAAE,MAAM,EACxB,mBAAmB,EAAE,mBAAmB,GACvC,mBAAmB,CAkKrB;AAED,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,eAAe,EAAE,EAC1B,aAAa,EAAE,cAAc,EAAE,GAC9B,GAAG,EAAE,CA+CP;AAED,wBAAgB,oBAAoB,CAClC,QAAQ,CAAC,EAAE,cAAc,EAAE,EAC3B,QAAQ,CAAC,EAAE,cAAc,EAAE,GAC1B,OAAO,CA+BT;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,YAAY,EAAE;IACpD,CAAC,MAAM,EAAE,MAAM,GAAG;QAAE,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;CAChD,GAAG;IACF,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CACzB,CASA;AAED,eAAO,MAAM,uBAAuB,WAC1B,mBAAmB,WAClB,WAAW,EAAE,iBACP,MAAM,KACpB,CAAC,mBAAmB,GAAG;IAAE,SAAS,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,GAAG,SAqDpD,CAAC"}
1
+ {"version":3,"file":"filterProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/filterProcessing.ts"],"names":[],"mappings":"AAQA,OAAO,EAEL,SAAS,EACT,cAAc,EAGd,mBAAmB,EACnB,MAAM,EAEN,eAAe,EAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAmB,MAAM,uBAAuB,CAAC;AAGxE,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,GAAG,CAoB5D;AAMD,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,GAAG,OAkBnD;AAED,wBAAgB,YAAY,CAC1B,MAAM,EAAE,GAAG,EACX,KAAK,EAAE,GAAU,EACjB,UAAU,EAAE,GAAU,EACtB,aAAa,EAAE,MAAM,OAmGtB;AAGD,eAAO,MAAM,OAAO,MAAO,MAAM,cA0DhC,CAAC;AAEF;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAwB7D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,GAAG,GAAG,cAAc,EAAE,CAoCrE;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,GAAG,EAAE,yBAgCnD;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,GAAG,EACZ,OAAO,EAAE,cAAc,EAAE,EACzB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,GAAG,GACV,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA4B/D;AAED,wBAAgB,iCAAiC,CAC/C,gBAAgB,EAAE,MAAM,EACxB,mBAAmB,EAAE,mBAAmB,GACvC,mBAAmB,CAkKrB;AAED,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,eAAe,EAAE,EAC1B,aAAa,EAAE,cAAc,EAAE,GAC9B,GAAG,EAAE,CA+CP;AAED,wBAAgB,oBAAoB,CAClC,QAAQ,CAAC,EAAE,cAAc,EAAE,EAC3B,QAAQ,CAAC,EAAE,cAAc,EAAE,GAC1B,OAAO,CA+BT;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,YAAY,EAAE;IACpD,CAAC,MAAM,EAAE,MAAM,GAAG;QAAE,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;CAChD,GAAG;IACF,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CACzB,CASA;AAED,eAAO,MAAM,uBAAuB,WAC1B,mBAAmB,WAClB,WAAW,EAAE,iBACP,MAAM,KACpB,CAAC,mBAAmB,GAAG;IAAE,SAAS,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,GAAG,SAqDpD,CAAC"}
@@ -192,6 +192,8 @@ export const getType = (t) => {
192
192
  case 'bool':
193
193
  case 'boolean':
194
194
  return FieldType.Boolean;
195
+ case 'anyarray':
196
+ return FieldType.Null;
195
197
  default:
196
198
  return FieldType.String;
197
199
  }
@@ -322,6 +324,7 @@ export async function buildQueryFromFilters(baseAst, filters, endpoint, client)
322
324
  publicKey: client.publicKey,
323
325
  useNewNodeSql: true,
324
326
  }),
327
+ credentials: client.withCredentials ? 'include' : 'omit',
325
328
  });
326
329
  const data = await response.json();
327
330
  const query = data.query;
@@ -2,7 +2,10 @@ import { QuillProviderClient } from '../models/Client';
2
2
  import { ColumnInternal } from '../models/Columns';
3
3
  import { Pivot } from '../models/Pivot';
4
4
  import { QuillReportInternal } from '../models/Report';
5
- export declare function generatePivotWithSQL(pivot: Pivot, report: QuillReportInternal, client: QuillProviderClient, dateBucket?: string, dateFilter?: any, distinctStrings?: string[], rowLimit?: number): Promise<{
5
+ export declare function generatePivotWithSQL(pivot: Pivot, report: QuillReportInternal, client: QuillProviderClient, dateBucket?: string, dateFilter?: any, distinctStrings?: string[], rowLimit?: number, dashboardName?: string, tenants?: {
6
+ tenantField: string;
7
+ tenantIds: (string | number)[];
8
+ }[] | (string | number)[]): Promise<{
6
9
  rows: any[];
7
10
  columns: ColumnInternal[];
8
11
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"pivotConstructor.d.ts","sourceRoot":"","sources":["../../../src/utils/pivotConstructor.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AASvD,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,mBAAmB,EAC3B,MAAM,EAAE,mBAAmB,EAC3B,UAAU,CAAC,EAAE,MAAM,EACnB,UAAU,CAAC,EAAE,GAAG,EAChB,eAAe,CAAC,EAAE,MAAM,EAAE,EAC1B,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC;IAAE,IAAI,EAAE,GAAG,EAAE,CAAC;IAAC,OAAO,EAAE,cAAc,EAAE,CAAA;CAAE,CAAC,CAgPrD"}
1
+ {"version":3,"file":"pivotConstructor.d.ts","sourceRoot":"","sources":["../../../src/utils/pivotConstructor.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AASvD,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,mBAAmB,EAC3B,MAAM,EAAE,mBAAmB,EAC3B,UAAU,CAAC,EAAE,MAAM,EACnB,UAAU,CAAC,EAAE,GAAG,EAChB,eAAe,CAAC,EAAE,MAAM,EAAE,EAC1B,QAAQ,CAAC,EAAE,MAAM,EACjB,aAAa,CAAC,EAAE,MAAM,EACtB,OAAO,CAAC,EACJ;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;CAAE,EAAE,GACzD,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GACtB,OAAO,CAAC;IAAE,IAAI,EAAE,GAAG,EAAE,CAAC;IAAC,OAAO,EAAE,cAAc,EAAE,CAAA;CAAE,CAAC,CA8OrD"}