@quillsql/react 2.13.48 → 2.13.50

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 (297) hide show
  1. package/dist/cjs/Chart.d.ts +2 -2
  2. package/dist/cjs/Chart.d.ts.map +1 -1
  3. package/dist/cjs/Chart.js +31 -43
  4. package/dist/cjs/ChartBuilder.d.ts +2 -2
  5. package/dist/cjs/ChartBuilder.d.ts.map +1 -1
  6. package/dist/cjs/ChartBuilder.js +172 -147
  7. package/dist/cjs/ChartEditor.d.ts +2 -2
  8. package/dist/cjs/ChartEditor.d.ts.map +1 -1
  9. package/dist/cjs/ChartEditor.js +3 -1
  10. package/dist/cjs/Context.d.ts +10 -3
  11. package/dist/cjs/Context.d.ts.map +1 -1
  12. package/dist/cjs/Context.js +328 -250
  13. package/dist/cjs/Dashboard.d.ts.map +1 -1
  14. package/dist/cjs/Dashboard.js +12 -25
  15. package/dist/cjs/DateRangePicker/QuillDateRangePicker.d.ts.map +1 -1
  16. package/dist/cjs/DateRangePicker/QuillDateRangePicker.js +32 -14
  17. package/dist/cjs/DateRangePicker/dateRangePickerUtils.d.ts +24 -10
  18. package/dist/cjs/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
  19. package/dist/cjs/DateRangePicker/dateRangePickerUtils.js +472 -96
  20. package/dist/cjs/QuillProvider.d.ts +7 -1
  21. package/dist/cjs/QuillProvider.d.ts.map +1 -1
  22. package/dist/cjs/QuillProvider.js +6 -5
  23. package/dist/cjs/ReportBuilder.d.ts.map +1 -1
  24. package/dist/cjs/ReportBuilder.js +23 -11
  25. package/dist/cjs/SQLEditor.d.ts +1 -1
  26. package/dist/cjs/SQLEditor.d.ts.map +1 -1
  27. package/dist/cjs/SQLEditor.js +52 -18
  28. package/dist/cjs/Table.d.ts.map +1 -1
  29. package/dist/cjs/Table.js +20 -7
  30. package/dist/cjs/assets/ExclamationFilledIcon.d.ts.map +1 -1
  31. package/dist/cjs/components/Chart/BarChart.d.ts.map +1 -1
  32. package/dist/cjs/components/Chart/BarChart.js +4 -2
  33. package/dist/cjs/components/Chart/BarList.d.ts.map +1 -1
  34. package/dist/cjs/components/Chart/BarList.js +2 -1
  35. package/dist/cjs/components/Chart/CustomReferenceLine.d.ts +1 -1
  36. package/dist/cjs/components/Chart/CustomReferenceLine.d.ts.map +1 -1
  37. package/dist/cjs/components/Chart/CustomReferenceLine.js +7 -6
  38. package/dist/cjs/components/Chart/GaugeChart.d.ts +1 -1
  39. package/dist/cjs/components/Chart/GaugeChart.d.ts.map +1 -1
  40. package/dist/cjs/components/Chart/GaugeChart.js +62 -35
  41. package/dist/cjs/components/Chart/InternalChart.d.ts.map +1 -1
  42. package/dist/cjs/components/Chart/InternalChart.js +32 -34
  43. package/dist/cjs/components/Chart/LineChart.d.ts.map +1 -1
  44. package/dist/cjs/components/Chart/LineChart.js +5 -2
  45. package/dist/cjs/components/Chart/MapChart.d.ts +3 -3
  46. package/dist/cjs/components/Chart/MapChart.d.ts.map +1 -1
  47. package/dist/cjs/components/Chart/MapChart.js +62 -34
  48. package/dist/cjs/components/Chart/PieChart.d.ts +3 -1
  49. package/dist/cjs/components/Chart/PieChart.d.ts.map +1 -1
  50. package/dist/cjs/components/Chart/PieChart.js +82 -40
  51. package/dist/cjs/components/Dashboard/DashboardFilter.d.ts.map +1 -1
  52. package/dist/cjs/components/Dashboard/DashboardFilter.js +4 -20
  53. package/dist/cjs/components/Dashboard/DashboardTemplate.d.ts.map +1 -1
  54. package/dist/cjs/components/Dashboard/DashboardTemplate.js +2 -1
  55. package/dist/cjs/components/Dashboard/DataLoader.d.ts +4 -4
  56. package/dist/cjs/components/Dashboard/DataLoader.d.ts.map +1 -1
  57. package/dist/cjs/components/Dashboard/DataLoader.js +31 -14
  58. package/dist/cjs/components/Dashboard/MetricComponent.js +4 -3
  59. package/dist/cjs/components/Dashboard/util.d.ts +1 -1
  60. package/dist/cjs/components/Dashboard/util.d.ts.map +1 -1
  61. package/dist/cjs/components/Dashboard/util.js +7 -6
  62. package/dist/cjs/components/QuillMultiSelect.d.ts.map +1 -1
  63. package/dist/cjs/components/QuillMultiSelect.js +15 -9
  64. package/dist/cjs/components/QuillMultiSelectSectionList.d.ts.map +1 -1
  65. package/dist/cjs/components/QuillMultiSelectSectionList.js +52 -34
  66. package/dist/cjs/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
  67. package/dist/cjs/components/QuillMultiSelectWithCombo.js +204 -171
  68. package/dist/cjs/components/QuillSelect.d.ts.map +1 -1
  69. package/dist/cjs/components/QuillSelect.js +93 -82
  70. package/dist/cjs/components/QuillSelectWithCombo.d.ts.map +1 -1
  71. package/dist/cjs/components/QuillSelectWithCombo.js +101 -99
  72. package/dist/cjs/components/QuillTable.d.ts.map +1 -1
  73. package/dist/cjs/components/QuillTable.js +1 -0
  74. package/dist/cjs/components/ReportBuilder/FilterStack.d.ts +2 -1
  75. package/dist/cjs/components/ReportBuilder/FilterStack.d.ts.map +1 -1
  76. package/dist/cjs/components/ReportBuilder/FilterStack.js +3 -4
  77. package/dist/cjs/components/ReportBuilder/ui.d.ts +2 -2
  78. package/dist/cjs/components/ReportBuilder/ui.d.ts.map +1 -1
  79. package/dist/cjs/components/ReportBuilder/ui.js +5 -7
  80. package/dist/cjs/components/UiComponents.d.ts +7 -0
  81. package/dist/cjs/components/UiComponents.d.ts.map +1 -1
  82. package/dist/cjs/components/UiComponents.js +92 -5
  83. package/dist/cjs/hooks/useAskQuill.d.ts.map +1 -1
  84. package/dist/cjs/hooks/useAskQuill.js +5 -1
  85. package/dist/cjs/hooks/useDashboard.d.ts.map +1 -1
  86. package/dist/cjs/hooks/useDashboard.js +96 -58
  87. package/dist/cjs/hooks/useExport.d.ts.map +1 -1
  88. package/dist/cjs/hooks/useExport.js +23 -13
  89. package/dist/cjs/hooks/useOnClickOutside.d.ts.map +1 -1
  90. package/dist/cjs/hooks/useQuill.d.ts.map +1 -1
  91. package/dist/cjs/hooks/useQuill.js +8 -10
  92. package/dist/cjs/hooks/useReport.d.ts.map +1 -1
  93. package/dist/cjs/hooks/useVirtualTables.d.ts.map +1 -1
  94. package/dist/cjs/hooks/useVirtualTables.js +16 -22
  95. package/dist/cjs/index.d.ts +2 -2
  96. package/dist/cjs/index.d.ts.map +1 -1
  97. package/dist/cjs/index.js +2 -1
  98. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts +2 -1
  99. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  100. package/dist/cjs/internals/ReportBuilder/PivotModal.js +19 -7
  101. package/dist/cjs/models/Client.d.ts +0 -1
  102. package/dist/cjs/models/Client.d.ts.map +1 -1
  103. package/dist/cjs/models/Data.d.ts +20 -0
  104. package/dist/cjs/models/Data.d.ts.map +1 -0
  105. package/dist/cjs/models/Data.js +2 -0
  106. package/dist/cjs/models/Filter.d.ts +42 -4
  107. package/dist/cjs/models/Filter.d.ts.map +1 -1
  108. package/dist/cjs/models/Pivot.d.ts.map +1 -1
  109. package/dist/cjs/utils/astProcessing.d.ts +3 -2
  110. package/dist/cjs/utils/astProcessing.d.ts.map +1 -1
  111. package/dist/cjs/utils/astProcessing.js +28 -37
  112. package/dist/cjs/utils/client.d.ts +3 -2
  113. package/dist/cjs/utils/client.d.ts.map +1 -1
  114. package/dist/cjs/utils/client.js +38 -39
  115. package/dist/cjs/utils/columnProcessing.d.ts.map +1 -1
  116. package/dist/cjs/utils/columnProcessing.js +14 -3
  117. package/dist/cjs/utils/constants.d.ts +1 -0
  118. package/dist/cjs/utils/constants.d.ts.map +1 -1
  119. package/dist/cjs/utils/constants.js +2 -1
  120. package/dist/cjs/utils/dashboard.d.ts +3 -2
  121. package/dist/cjs/utils/dashboard.d.ts.map +1 -1
  122. package/dist/cjs/utils/dashboard.js +30 -12
  123. package/dist/cjs/utils/dataFetcher.d.ts +8 -5
  124. package/dist/cjs/utils/dataFetcher.d.ts.map +1 -1
  125. package/dist/cjs/utils/dataFetcher.js +188 -65
  126. package/dist/cjs/utils/filterProcessing.d.ts +2 -1
  127. package/dist/cjs/utils/filterProcessing.d.ts.map +1 -1
  128. package/dist/cjs/utils/filterProcessing.js +24 -38
  129. package/dist/cjs/utils/getDomain.d.ts.map +1 -1
  130. package/dist/cjs/utils/pivotConstructor.d.ts +2 -1
  131. package/dist/cjs/utils/pivotConstructor.d.ts.map +1 -1
  132. package/dist/cjs/utils/pivotConstructor.js +15 -11
  133. package/dist/cjs/utils/pivotProcessing.d.ts.map +1 -1
  134. package/dist/cjs/utils/pivotProcessing.js +3 -5
  135. package/dist/cjs/utils/queryConstructor.js +1 -1
  136. package/dist/cjs/utils/report.d.ts +10 -7
  137. package/dist/cjs/utils/report.d.ts.map +1 -1
  138. package/dist/cjs/utils/report.js +52 -60
  139. package/dist/cjs/utils/schema.d.ts +4 -3
  140. package/dist/cjs/utils/schema.d.ts.map +1 -1
  141. package/dist/cjs/utils/schema.js +30 -44
  142. package/dist/cjs/utils/tableProcessing.d.ts +16 -10
  143. package/dist/cjs/utils/tableProcessing.d.ts.map +1 -1
  144. package/dist/cjs/utils/tableProcessing.js +91 -90
  145. package/dist/cjs/utils/textProcessing.d.ts.map +1 -1
  146. package/dist/cjs/utils/textProcessing.js +2 -1
  147. package/dist/cjs/utils/ui.d.ts.map +1 -1
  148. package/dist/esm/Chart.d.ts +2 -2
  149. package/dist/esm/Chart.d.ts.map +1 -1
  150. package/dist/esm/Chart.js +33 -45
  151. package/dist/esm/ChartBuilder.d.ts +2 -2
  152. package/dist/esm/ChartBuilder.d.ts.map +1 -1
  153. package/dist/esm/ChartBuilder.js +173 -148
  154. package/dist/esm/ChartEditor.d.ts +2 -2
  155. package/dist/esm/ChartEditor.d.ts.map +1 -1
  156. package/dist/esm/ChartEditor.js +4 -2
  157. package/dist/esm/Context.d.ts +10 -3
  158. package/dist/esm/Context.d.ts.map +1 -1
  159. package/dist/esm/Context.js +330 -252
  160. package/dist/esm/Dashboard.d.ts.map +1 -1
  161. package/dist/esm/Dashboard.js +14 -27
  162. package/dist/esm/DateRangePicker/QuillDateRangePicker.d.ts.map +1 -1
  163. package/dist/esm/DateRangePicker/QuillDateRangePicker.js +32 -14
  164. package/dist/esm/DateRangePicker/dateRangePickerUtils.d.ts +24 -10
  165. package/dist/esm/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
  166. package/dist/esm/DateRangePicker/dateRangePickerUtils.js +471 -95
  167. package/dist/esm/QuillProvider.d.ts +7 -1
  168. package/dist/esm/QuillProvider.d.ts.map +1 -1
  169. package/dist/esm/QuillProvider.js +6 -5
  170. package/dist/esm/ReportBuilder.d.ts.map +1 -1
  171. package/dist/esm/ReportBuilder.js +25 -13
  172. package/dist/esm/SQLEditor.d.ts +1 -1
  173. package/dist/esm/SQLEditor.d.ts.map +1 -1
  174. package/dist/esm/SQLEditor.js +55 -21
  175. package/dist/esm/Table.d.ts.map +1 -1
  176. package/dist/esm/Table.js +21 -8
  177. package/dist/esm/assets/ExclamationFilledIcon.d.ts.map +1 -1
  178. package/dist/esm/components/Chart/BarChart.d.ts.map +1 -1
  179. package/dist/esm/components/Chart/BarChart.js +4 -2
  180. package/dist/esm/components/Chart/BarList.d.ts.map +1 -1
  181. package/dist/esm/components/Chart/BarList.js +2 -1
  182. package/dist/esm/components/Chart/CustomReferenceLine.d.ts +1 -1
  183. package/dist/esm/components/Chart/CustomReferenceLine.d.ts.map +1 -1
  184. package/dist/esm/components/Chart/CustomReferenceLine.js +8 -7
  185. package/dist/esm/components/Chart/GaugeChart.d.ts +1 -1
  186. package/dist/esm/components/Chart/GaugeChart.d.ts.map +1 -1
  187. package/dist/esm/components/Chart/GaugeChart.js +64 -37
  188. package/dist/esm/components/Chart/InternalChart.d.ts.map +1 -1
  189. package/dist/esm/components/Chart/InternalChart.js +34 -36
  190. package/dist/esm/components/Chart/LineChart.d.ts.map +1 -1
  191. package/dist/esm/components/Chart/LineChart.js +5 -2
  192. package/dist/esm/components/Chart/MapChart.d.ts +3 -3
  193. package/dist/esm/components/Chart/MapChart.d.ts.map +1 -1
  194. package/dist/esm/components/Chart/MapChart.js +67 -39
  195. package/dist/esm/components/Chart/PieChart.d.ts +3 -1
  196. package/dist/esm/components/Chart/PieChart.d.ts.map +1 -1
  197. package/dist/esm/components/Chart/PieChart.js +82 -40
  198. package/dist/esm/components/Dashboard/DashboardFilter.d.ts.map +1 -1
  199. package/dist/esm/components/Dashboard/DashboardFilter.js +5 -21
  200. package/dist/esm/components/Dashboard/DashboardSection.js +2 -2
  201. package/dist/esm/components/Dashboard/DashboardTemplate.d.ts.map +1 -1
  202. package/dist/esm/components/Dashboard/DashboardTemplate.js +3 -2
  203. package/dist/esm/components/Dashboard/DataLoader.d.ts +4 -4
  204. package/dist/esm/components/Dashboard/DataLoader.d.ts.map +1 -1
  205. package/dist/esm/components/Dashboard/DataLoader.js +32 -15
  206. package/dist/esm/components/Dashboard/MetricComponent.js +4 -3
  207. package/dist/esm/components/Dashboard/util.d.ts +1 -1
  208. package/dist/esm/components/Dashboard/util.d.ts.map +1 -1
  209. package/dist/esm/components/Dashboard/util.js +8 -7
  210. package/dist/esm/components/QuillMultiSelect.d.ts.map +1 -1
  211. package/dist/esm/components/QuillMultiSelect.js +15 -9
  212. package/dist/esm/components/QuillMultiSelectSectionList.d.ts.map +1 -1
  213. package/dist/esm/components/QuillMultiSelectSectionList.js +52 -34
  214. package/dist/esm/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
  215. package/dist/esm/components/QuillMultiSelectWithCombo.js +205 -172
  216. package/dist/esm/components/QuillSelect.d.ts.map +1 -1
  217. package/dist/esm/components/QuillSelect.js +95 -84
  218. package/dist/esm/components/QuillSelectWithCombo.d.ts.map +1 -1
  219. package/dist/esm/components/QuillSelectWithCombo.js +102 -100
  220. package/dist/esm/components/QuillTable.d.ts.map +1 -1
  221. package/dist/esm/components/QuillTable.js +1 -0
  222. package/dist/esm/components/ReportBuilder/FilterStack.d.ts +2 -1
  223. package/dist/esm/components/ReportBuilder/FilterStack.d.ts.map +1 -1
  224. package/dist/esm/components/ReportBuilder/FilterStack.js +3 -4
  225. package/dist/esm/components/ReportBuilder/ui.d.ts +2 -2
  226. package/dist/esm/components/ReportBuilder/ui.d.ts.map +1 -1
  227. package/dist/esm/components/ReportBuilder/ui.js +5 -7
  228. package/dist/esm/components/UiComponents.d.ts +7 -0
  229. package/dist/esm/components/UiComponents.d.ts.map +1 -1
  230. package/dist/esm/components/UiComponents.js +90 -4
  231. package/dist/esm/hooks/useAskQuill.d.ts.map +1 -1
  232. package/dist/esm/hooks/useAskQuill.js +6 -2
  233. package/dist/esm/hooks/useDashboard.d.ts.map +1 -1
  234. package/dist/esm/hooks/useDashboard.js +98 -60
  235. package/dist/esm/hooks/useExport.d.ts.map +1 -1
  236. package/dist/esm/hooks/useExport.js +25 -15
  237. package/dist/esm/hooks/useOnClickOutside.d.ts.map +1 -1
  238. package/dist/esm/hooks/useQuill.d.ts.map +1 -1
  239. package/dist/esm/hooks/useQuill.js +9 -11
  240. package/dist/esm/hooks/useReport.d.ts.map +1 -1
  241. package/dist/esm/hooks/useReport.js +1 -1
  242. package/dist/esm/hooks/useVirtualTables.d.ts.map +1 -1
  243. package/dist/esm/hooks/useVirtualTables.js +17 -23
  244. package/dist/esm/index.d.ts +2 -2
  245. package/dist/esm/index.d.ts.map +1 -1
  246. package/dist/esm/index.js +1 -1
  247. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts +2 -1
  248. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  249. package/dist/esm/internals/ReportBuilder/PivotModal.js +20 -8
  250. package/dist/esm/models/Client.d.ts +0 -1
  251. package/dist/esm/models/Client.d.ts.map +1 -1
  252. package/dist/esm/models/Data.d.ts +20 -0
  253. package/dist/esm/models/Data.d.ts.map +1 -0
  254. package/dist/esm/models/Data.js +1 -0
  255. package/dist/esm/models/Filter.d.ts +42 -4
  256. package/dist/esm/models/Filter.d.ts.map +1 -1
  257. package/dist/esm/models/Pivot.d.ts.map +1 -1
  258. package/dist/esm/utils/astProcessing.d.ts +3 -2
  259. package/dist/esm/utils/astProcessing.d.ts.map +1 -1
  260. package/dist/esm/utils/astProcessing.js +28 -37
  261. package/dist/esm/utils/client.d.ts +3 -2
  262. package/dist/esm/utils/client.d.ts.map +1 -1
  263. package/dist/esm/utils/client.js +38 -39
  264. package/dist/esm/utils/columnProcessing.d.ts.map +1 -1
  265. package/dist/esm/utils/columnProcessing.js +14 -3
  266. package/dist/esm/utils/constants.d.ts +1 -0
  267. package/dist/esm/utils/constants.d.ts.map +1 -1
  268. package/dist/esm/utils/constants.js +1 -0
  269. package/dist/esm/utils/dashboard.d.ts +3 -2
  270. package/dist/esm/utils/dashboard.d.ts.map +1 -1
  271. package/dist/esm/utils/dashboard.js +31 -13
  272. package/dist/esm/utils/dataFetcher.d.ts +8 -5
  273. package/dist/esm/utils/dataFetcher.d.ts.map +1 -1
  274. package/dist/esm/utils/dataFetcher.js +186 -65
  275. package/dist/esm/utils/filterProcessing.d.ts +2 -1
  276. package/dist/esm/utils/filterProcessing.d.ts.map +1 -1
  277. package/dist/esm/utils/filterProcessing.js +25 -39
  278. package/dist/esm/utils/getDomain.d.ts.map +1 -1
  279. package/dist/esm/utils/pivotConstructor.d.ts +2 -1
  280. package/dist/esm/utils/pivotConstructor.d.ts.map +1 -1
  281. package/dist/esm/utils/pivotConstructor.js +16 -12
  282. package/dist/esm/utils/pivotProcessing.d.ts.map +1 -1
  283. package/dist/esm/utils/pivotProcessing.js +5 -7
  284. package/dist/esm/utils/queryConstructor.js +1 -1
  285. package/dist/esm/utils/report.d.ts +10 -7
  286. package/dist/esm/utils/report.d.ts.map +1 -1
  287. package/dist/esm/utils/report.js +53 -61
  288. package/dist/esm/utils/schema.d.ts +4 -3
  289. package/dist/esm/utils/schema.d.ts.map +1 -1
  290. package/dist/esm/utils/schema.js +30 -44
  291. package/dist/esm/utils/tableProcessing.d.ts +16 -10
  292. package/dist/esm/utils/tableProcessing.d.ts.map +1 -1
  293. package/dist/esm/utils/tableProcessing.js +93 -92
  294. package/dist/esm/utils/textProcessing.d.ts.map +1 -1
  295. package/dist/esm/utils/textProcessing.js +2 -1
  296. package/dist/esm/utils/ui.d.ts.map +1 -1
  297. package/package.json +2 -1
@@ -1,11 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseFetchResponse = exports.quillFetch = void 0;
3
4
  exports.getData = getData;
4
- exports.useQuillCloud = useQuillCloud;
5
5
  exports.fetchSqlQuery = fetchSqlQuery;
6
- const react_1 = require("react");
7
6
  const constants_1 = require("./constants");
8
- const Context_1 = require("../Context");
9
7
  function fetchQuillData(responseData) {
10
8
  if (!responseData) {
11
9
  return null;
@@ -37,39 +35,160 @@ function parseData(rows, queryType) {
37
35
  return rows;
38
36
  }
39
37
  }
40
- async function testSqlViewState(hostedRequestBody, client, referencedTables) {
38
+ async function testSqlViewState(client, referencedTables, getToken) {
41
39
  let errorMessage = null;
42
40
  await Promise.all(referencedTables.map(async (table) => {
43
41
  if (!table) {
44
42
  return;
45
43
  }
46
- const hostedBody = {
44
+ const { data: resp } = await (0, exports.quillFetch)({
45
+ client,
46
+ task: 'test-view',
47
47
  metadata: {
48
48
  tables: [table],
49
- task: 'test-view',
50
- clientId: hostedRequestBody.metadata.clientId,
49
+ clientId: client.clientId,
51
50
  },
52
- };
53
- const cloudBody = { ...hostedBody };
54
- const resp = await getData(client, 'test-view', 'same-origin', hostedBody, cloudBody);
51
+ getToken,
52
+ });
55
53
  if (resp.success === false) {
56
54
  const brokenBody = {
57
55
  metadata: {
58
56
  table: table,
59
57
  task: 'set-broken-view',
60
- clientId: hostedRequestBody.metadata.clientId,
58
+ clientId: client.clientId,
61
59
  },
62
60
  };
63
- getData(client, 'test-view', 'same-origin', brokenBody, cloudBody);
61
+ (0, exports.quillFetch)({
62
+ client,
63
+ task: 'set-broken-view',
64
+ metadata: brokenBody,
65
+ credentials: 'same-origin',
66
+ getToken,
67
+ });
64
68
  errorMessage = `Virtual Table Error: '${table}' is out of sync with datasource.`;
65
69
  }
66
70
  }));
67
71
  return errorMessage;
68
72
  }
69
- // this function gets the data either from the self hosted endpoint or
70
- // our cloud server
71
- // Tenants and Flags must be passed in as part of the body explicity
72
- async function getData(client, cloudQueryEndpoint, noCred, hostedRequestBody, cloudRequestBody, method = 'POST', queryParam, abortSignal) {
73
+ const quillFetch = async ({ client, task, method = 'POST', metadata, abortSignal, credentials = 'omit', urlParameters, getToken, }) => {
74
+ const token = await getToken();
75
+ const queryString = urlParameters ?? `task=${task}`;
76
+ const endpoint = client.queryEndpoint
77
+ ? `${client.queryEndpoint}?${queryString}`
78
+ : `${constants_1.QUILL_SERVER}${constants_1.QUILL_QUERY_ENDPOINT}?${queryString}`;
79
+ try {
80
+ const response = await fetch(endpoint, {
81
+ method,
82
+ headers: {
83
+ ...(token ? { Authorization: `Bearer ${token}` } : {}),
84
+ ...client.queryHeaders,
85
+ 'Content-Type': 'application/json',
86
+ },
87
+ body: JSON.stringify({
88
+ metadata: {
89
+ task,
90
+ clientId: client.clientId,
91
+ ...metadata,
92
+ },
93
+ }),
94
+ credentials: client.withCredentials ? 'include' : credentials,
95
+ signal: abortSignal,
96
+ });
97
+ if (!response.ok) {
98
+ throw new Error('API request failed');
99
+ }
100
+ let result = await response.json();
101
+ // Not sure if this is required, but putting it here just in case
102
+ // based on other lines of code I've seen
103
+ // Probably happens if self-hosted endpoint was not set up correctly and
104
+ // the response was wrapped in an additional data object
105
+ if (result.data?.data &&
106
+ (result.data.queries || result.data.status || result.data.error)) {
107
+ result = result.data;
108
+ }
109
+ return {
110
+ data: result.data,
111
+ queries: result.queries,
112
+ status: result.status,
113
+ error: result.error,
114
+ };
115
+ }
116
+ catch (e) {
117
+ if (e instanceof Error && e.name === 'AbortError') {
118
+ throw e;
119
+ }
120
+ console.error('Failed to fetch:', e);
121
+ return { error: 'Failed to fetch data' };
122
+ }
123
+ };
124
+ exports.quillFetch = quillFetch;
125
+ // This function parses the response from the fetch call,
126
+ // which is what getData used to do after fetching data
127
+ const parseFetchResponse = async (client, task, response, getToken) => {
128
+ try {
129
+ if (response.status === 'error' || response.data?.error) {
130
+ let errorPrefix = 'Error: ';
131
+ let errorMessage = 'Failed to fetch report: ' + (response.error || response.data?.error);
132
+ if (task === 'query' || task === 'patterns') {
133
+ errorPrefix = response.error?.includes('Query Parsing Error')
134
+ ? ''
135
+ : 'SQL Error: ';
136
+ errorMessage = errorPrefix + response.error;
137
+ }
138
+ else if (response.error?.includes('Virtual Table Error')) {
139
+ errorMessage = response.error;
140
+ }
141
+ let adminErrorMessage = undefined;
142
+ if (response?.data?.referencedTables) {
143
+ adminErrorMessage =
144
+ (await testSqlViewState(client, response.data.referencedTables, getToken)) ?? undefined;
145
+ }
146
+ return {
147
+ success: false,
148
+ errorMessage,
149
+ adminErrorMessage,
150
+ data: response,
151
+ };
152
+ }
153
+ if (response.error) {
154
+ return {
155
+ success: false,
156
+ errorMessage: response.error,
157
+ ...response,
158
+ };
159
+ }
160
+ const result = {
161
+ ...response.data,
162
+ };
163
+ const fields = response.queries?.queryResults[0]?.fields;
164
+ const rows = response.queries?.queryResults[0]?.rows;
165
+ const compareRows = response.queries?.queryResults[1]?.rows;
166
+ if (fields) {
167
+ result.fields = fields;
168
+ }
169
+ if (rows) {
170
+ result.rows = rows;
171
+ }
172
+ if (compareRows && task !== 'report') {
173
+ result.compareRows = compareRows;
174
+ }
175
+ if (response.data?.queryOrder) {
176
+ response.data.queryOrder.forEach((queryKey, index) => {
177
+ result[queryKey] = parseData(response.queries?.queryResults?.[index]?.rows, queryKey);
178
+ });
179
+ }
180
+ return result;
181
+ }
182
+ catch (e) {
183
+ console.error('Failed to parse response:', e);
184
+ return null;
185
+ }
186
+ };
187
+ exports.parseFetchResponse = parseFetchResponse;
188
+ /**
189
+ * @deprecated Use quillFetch instead. If post fetch parsing is required, use parseFetchResponse.
190
+ */
191
+ async function getData(client, cloudQueryEndpoint, noCred, hostedRequestBody, cloudRequestBody, method = 'POST', getToken, queryParam, abortSignal) {
73
192
  if (!client) {
74
193
  return null;
75
194
  }
@@ -110,7 +229,7 @@ async function getData(client, cloudQueryEndpoint, noCred, hostedRequestBody, cl
110
229
  processedData.data &&
111
230
  processedData.data.referencedTables) {
112
231
  adminErrorMessage =
113
- (await testSqlViewState(hostedRequestBody, client, processedData.data.referencedTables)) ?? undefined;
232
+ (await testSqlViewState(client, processedData.data.referencedTables, getToken)) ?? undefined;
114
233
  }
115
234
  return {
116
235
  success: false,
@@ -219,58 +338,62 @@ async function getData(client, cloudQueryEndpoint, noCred, hostedRequestBody, cl
219
338
  return null;
220
339
  }
221
340
  }
222
- function useQuillCloud() {
223
- const { tenants, flags } = (0, react_1.useContext)(Context_1.TenantContext);
224
- const getDataFromCloud = async (client, cloudQueryEndpoint, cloudRequestBody, method = 'POST', abortSignal) => {
225
- try {
226
- const url = `${constants_1.QUILL_SERVER}/${cloudQueryEndpoint}`;
227
- const resp = await fetch(url, {
228
- method,
229
- headers: {
230
- Authorization: 'Bearer ',
231
- 'Content-Type': 'application/json',
232
- },
233
- body: method === 'POST'
234
- ? JSON.stringify({
235
- ...cloudRequestBody,
236
- ...{
237
- publicKey: client?.publicKey,
238
- tenants: tenants,
239
- flags: flags,
240
- },
241
- })
242
- : null,
243
- signal: abortSignal,
244
- });
245
- return await resp.json();
246
- }
247
- catch (e) {
248
- if (e instanceof Error && e.name === 'AbortError') {
249
- throw e;
250
- }
251
- console.error('Failed to parse JSON:', e);
252
- return null;
253
- }
254
- };
255
- return {
256
- getDataFromCloud,
257
- };
258
- }
259
- async function fetchSqlQuery(ast, client, formData) {
341
+ // export function useQuillCloud() {
342
+ // const { tenants, flags } = useContext(TenantContext);
343
+ // const getDataFromCloud = async (
344
+ // client: QuillProviderClient,
345
+ // cloudQueryEndpoint: string,
346
+ // cloudRequestBody: any,
347
+ // method = 'POST',
348
+ // abortSignal?: AbortSignal,
349
+ // ) => {
350
+ // try {
351
+ // const url = `${QUILL_SERVER}/${cloudQueryEndpoint}`;
352
+ // const resp = await fetch(url, {
353
+ // method,
354
+ // headers: {
355
+ // Authorization: 'Bearer ',
356
+ // 'Content-Type': 'application/json',
357
+ // },
358
+ // body:
359
+ // method === 'POST'
360
+ // ? JSON.stringify({
361
+ // ...cloudRequestBody,
362
+ // ...{
363
+ // publicKey: client?.publicKey,
364
+ // tenants: tenants,
365
+ // flags: flags,
366
+ // },
367
+ // })
368
+ // : null,
369
+ // signal: abortSignal,
370
+ // });
371
+ // return await resp.json();
372
+ // } catch (e) {
373
+ // if (e instanceof Error && e.name === 'AbortError') {
374
+ // throw e;
375
+ // }
376
+ // console.error('Failed to parse JSON:', e);
377
+ // return null;
378
+ // }
379
+ // };
380
+ // return {
381
+ // getDataFromCloud,
382
+ // };
383
+ // }
384
+ async function fetchSqlQuery(ast, client, getToken, formData) {
260
385
  try {
261
386
  const where = formData ? formData : ast?.where || null;
262
- const response = await fetch(`${constants_1.QUILL_SERVER}/sqlify`, {
263
- method: 'POST',
264
- headers: {
265
- 'Content-Type': 'application/json',
266
- },
267
- body: JSON.stringify({
387
+ const { data } = await (0, exports.quillFetch)({
388
+ client,
389
+ task: 'sqlify',
390
+ metadata: {
391
+ clientId: client.clientId,
392
+ useNewNodeSql: true,
268
393
  ast: { ...ast, where },
269
- publicKey: client.publicKey,
270
- useNewNodeSql: true, // new flag
271
- }),
394
+ },
395
+ getToken,
272
396
  });
273
- const data = await response.json();
274
397
  return { query: data.query };
275
398
  }
276
399
  catch (error) {
@@ -2,6 +2,7 @@ import { FieldType, InternalFilter, DashboardDateFilter, Filter, DashboardFilter
2
2
  import { QuillReport } from '../models/Report';
3
3
  import { FilterTreeNode } from './astFilterProcessing';
4
4
  import { ReportBuilderState } from '../models/ReportBuilder';
5
+ import { QuillProviderClient } from '../models/Client';
5
6
  export declare function findAndProcessDateFilter(filters: any[]): any;
6
7
  export declare function processFilterFromBackend(filter: any): any;
7
8
  export declare function updateFilter(filter: any, value: any | undefined, comparison: any | undefined, dashboardName: string): any;
@@ -22,7 +23,7 @@ export declare function filterStackToFilterTree(stack: any[]): FilterTreeNode |
22
23
  /**
23
24
  * This function uses the baseAst and forms a SQL query using the a filters array
24
25
  */
25
- export declare function buildQueryFromFilters(reportBuilderState: ReportBuilderState, filters: FilterTreeNode[], endpoint: string, client: any): Promise<{
26
+ export declare function buildQueryFromFilters(reportBuilderState: ReportBuilderState, filters: FilterTreeNode[], client: QuillProviderClient, getToken: () => Promise<string>): Promise<{
26
27
  success: boolean;
27
28
  query?: string;
28
29
  error?: string;
@@ -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,EAEhB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAmB,MAAM,uBAAuB,CAAC;AAExE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAG7D,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,GAAG,YAAO,EACjB,UAAU,EAAE,GAAG,YAAO,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,kBAAkB,EAAE,kBAAkB,EACtC,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,CAiC/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,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":"AASA,OAAO,EAEL,SAAS,EACT,cAAc,EAGd,mBAAmB,EACnB,MAAM,EAEN,eAAe,EAEhB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAmB,MAAM,uBAAuB,CAAC;AAExE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAGvD,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,GAAG,YAAO,EACjB,UAAU,EAAE,GAAG,YAAO,EACtB,aAAa,EAAE,MAAM,OAqFtB;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,kBAAkB,EAAE,kBAAkB,EACtC,OAAO,EAAE,cAAc,EAAE,EACzB,MAAM,EAAE,mBAAmB,EAC3B,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,GAC9B,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAiC/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,CAgDP;AAED,wBAAgB,oBAAoB,CAClC,QAAQ,CAAC,EAAE,cAAc,EAAE,EAC3B,QAAQ,CAAC,EAAE,cAAc,EAAE,GAC1B,OAAO,CA+BT;AAED,eAAO,MAAM,uBAAuB,WAC1B,mBAAmB,WAClB,WAAW,EAAE,iBACP,MAAM,KACpB,CAAC,mBAAmB,GAAG;IAAE,SAAS,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,GAAG,SAkDpD,CAAC"}
@@ -17,6 +17,7 @@ const Filter_1 = require("../models/Filter");
17
17
  const astFilterProcessing_1 = require("./astFilterProcessing");
18
18
  const textProcessing_1 = require("./textProcessing");
19
19
  const reportBuilder_1 = require("./reportBuilder");
20
+ const dataFetcher_1 = require("./dataFetcher");
20
21
  function findAndProcessDateFilter(filters) {
21
22
  let dateFilter = filters.find((filter) => filter.filterType === 'date_range');
22
23
  if (dateFilter) {
@@ -83,25 +84,8 @@ function updateFilter(filter, value = null, comparison = null, dashboardName) {
83
84
  }
84
85
  if (filter.filterType === 'date' || filter.filterType === 'date_range') {
85
86
  let presetsOptions = dateRangePickerUtils_1.defaultOptionsV2;
86
- if (filter.presetRanges) {
87
- presetsOptions = filter.presetRanges.map((elem) => {
88
- if (!elem.isStatic) {
89
- return {
90
- label: elem.label,
91
- value: elem.value,
92
- startDate: (dateRangePickerUtils_1.PRIMARY_RANGE[elem.value] ??
93
- dateRangePickerUtils_1.PRIMARY_RANGE['LAST_30_DAYS']).startDate,
94
- endDate: (dateRangePickerUtils_1.PRIMARY_RANGE[elem.value] ??
95
- dateRangePickerUtils_1.PRIMARY_RANGE['LAST_30_DAYS']).endDate,
96
- };
97
- }
98
- return {
99
- label: elem.label,
100
- value: elem.value,
101
- startDate: new Date(elem.startDate),
102
- endDate: new Date(elem.endDate),
103
- };
104
- });
87
+ if (filter.presetOptions || filter.defaultPresetRanges) {
88
+ presetsOptions = (0, dateRangePickerUtils_1.convertPresetOptionsToSelectableList)(filter.presetOptions ?? [], filter.defaultPresetRanges ?? []);
105
89
  }
106
90
  if (comparison ||
107
91
  (filter.comparison && filter.comparisonRange.value !== 'NO_COMPARISON')) {
@@ -321,29 +305,26 @@ function filterStackToFilterTree(stack) {
321
305
  /**
322
306
  * This function uses the baseAst and forms a SQL query using the a filters array
323
307
  */
324
- async function buildQueryFromFilters(reportBuilderState, filters, endpoint, client) {
308
+ async function buildQueryFromFilters(reportBuilderState, filters, client, getToken) {
325
309
  const subTree = filterStackToFilterTree(filters);
326
310
  let whereNode = null;
327
311
  if (subTree) {
328
- whereNode = (0, astFilterProcessing_1.filterTreeToAst)(subTree, client.databaseType.toLowerCase());
312
+ whereNode = (0, astFilterProcessing_1.filterTreeToAst)(subTree, client.databaseType?.toLowerCase() || 'postgresql');
329
313
  }
330
- const ast = (0, reportBuilder_1.reportBuilderStateToAst)({ ...reportBuilderState, filterStack: filters }, client.databaseType.toLowerCase());
314
+ const ast = (0, reportBuilder_1.reportBuilderStateToAst)({ ...reportBuilderState, filterStack: filters }, client.databaseType?.toLowerCase() || 'postgresql');
331
315
  const queryAst = { ...ast, where: whereNode };
332
316
  try {
333
- const response = await fetch(`${endpoint}/sqlify`, {
334
- method: 'POST',
335
- headers: {
336
- 'Content-Type': 'application/json',
337
- },
338
- body: JSON.stringify({
339
- ast: queryAst,
340
- publicKey: client.publicKey,
317
+ const { data } = await (0, dataFetcher_1.quillFetch)({
318
+ client,
319
+ task: 'sqlify',
320
+ metadata: {
321
+ clientId: client.clientId,
341
322
  useNewNodeSql: true,
342
- }),
343
- credentials: client.withCredentials ? 'include' : 'omit',
323
+ ast: queryAst,
324
+ },
325
+ getToken,
344
326
  });
345
- const data = await response.json();
346
- const query = data.query;
327
+ const query = data?.query;
347
328
  return { success: true, query };
348
329
  }
349
330
  catch (error) {
@@ -520,7 +501,8 @@ function mergeCustomFilters(filters, customFilters) {
520
501
  value: 'LAST_30_DAYS',
521
502
  },
522
503
  dashboardName: 'none',
523
- presetRanges: dateRangePickerUtils_1.defaultOptionsV2,
504
+ presetOptions: [],
505
+ defaultPresetRanges: [],
524
506
  preset: {
525
507
  label: 'Last 30 Days',
526
508
  value: 'LAST_30_DAYS',
@@ -558,8 +540,7 @@ function filtersAreEquivalent(filters1, filters2) {
558
540
  const createDefaultDateFilter = (filter, reports, dashboardName) => {
559
541
  const comparisonRangeStart = getComparisonRange(filter, 'startDate');
560
542
  const comparisonRangeEnd = getComparisonRange(filter, 'endDate');
561
- const range = filter?.presetRanges?.find((range) => range.value === filter.primaryRange?.value) ??
562
- dateRangePickerUtils_1.PRIMARY_RANGE[filter.primaryRange?.value ?? 'LAST_30_DAYS'] ??
543
+ const range = dateRangePickerUtils_1.PRIMARY_RANGE[filter.primaryRange?.value ?? 'LAST_30_DAYS'] ??
563
544
  dateRangePickerUtils_1.PRIMARY_RANGE['LAST_30_DAYS'];
564
545
  return filter
565
546
  ? {
@@ -594,7 +575,12 @@ const createDefaultDateFilter = (filter, reports, dashboardName) => {
594
575
  };
595
576
  exports.createDefaultDateFilter = createDefaultDateFilter;
596
577
  const getComparisonRange = (dateFilter, rangeType) => {
597
- const range = dateFilter?.presetRanges?.find((range) => range.value === dateFilter?.primaryRange?.value) ?? dateRangePickerUtils_1.PRIMARY_RANGE[dateFilter?.primaryRange?.value ?? 'LAST_30_DAYS'];
578
+ const range = (0, dateRangePickerUtils_1.convertPresetOptionsToSelectableList)(dateFilter?.presetOptions ?? [], dateFilter?.defaultPresetRanges ?? []).find((option) => option.value === dateFilter?.primaryRange?.value) ??
579
+ dateRangePickerUtils_1.PRIMARY_RANGE[dateFilter?.primaryRange?.value ?? 'LAST_30_DAYS'] ??
580
+ dateRangePickerUtils_1.PRIMARY_RANGE['LAST_30_DAYS'];
581
+ if (!range.startDate || !range.endDate) {
582
+ return undefined;
583
+ }
598
584
  return (dateFilter?.comparisonRange?.[rangeType] ??
599
585
  dateRangePickerUtils_1.COMPARISON_RANGE[dateFilter?.defaultComparisonRange ??
600
586
  'NO_COMPARISON']({
@@ -1 +1 @@
1
- {"version":3,"file":"getDomain.d.ts","sourceRoot":"","sources":["../../../src/utils/getDomain.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,cAAc,EAAE;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAC,EAAE,GAAG,SAAS,GAAG,MAAM,EAAE,CA6CtI"}
1
+ {"version":3,"file":"getDomain.d.ts","sourceRoot":"","sources":["../../../src/utils/getDomain.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,SAAS,CAC/B,IAAI,EAAE,GAAG,EAAE,EACX,MAAM,EAAE,GAAG,EAAE,EACb,cAAc,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,EAAE,GAAG,SAAS,GAC/D,MAAM,EAAE,CA6CV"}
@@ -2,7 +2,7 @@ import { QuillProviderClient } from '../models/Client';
2
2
  import { Pivot, PivotData } from '../models/Pivot';
3
3
  import { QuillReportInternal } from '../models/Report';
4
4
  import { AdditionalProcessing } from './tableProcessing';
5
- export declare function generatePivotWithSQL({ pivot, report, client, dateBucket, dateFilter, distinctStrings, dashboardName, tenants, additionalProcessing, pivotQuery, comparisonPivotQuery, getPivotRowCount, caller, }: {
5
+ export declare function generatePivotWithSQL({ pivot, report, client, dateBucket, dateFilter, distinctStrings, dashboardName, tenants, additionalProcessing, pivotQuery, comparisonPivotQuery, getPivotRowCount, caller, getToken, }: {
6
6
  pivot: Pivot;
7
7
  report?: QuillReportInternal;
8
8
  client: QuillProviderClient;
@@ -19,6 +19,7 @@ export declare function generatePivotWithSQL({ pivot, report, client, dateBucket
19
19
  comparisonPivotQuery?: string;
20
20
  getPivotRowCount?: boolean;
21
21
  caller?: string;
22
+ getToken: () => Promise<string>;
22
23
  }): Promise<PivotData>;
23
24
  export declare function disambiguatedValueField(pivot: Pivot): string | undefined;
24
25
  //# sourceMappingURL=pivotConstructor.d.ts.map
@@ -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,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAYvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAGzD,wBAAsB,oBAAoB,CAAC,EACzC,KAAK,EACL,MAAM,EACN,MAAM,EACN,UAAU,EACV,UAAU,EACV,eAAe,EACf,aAAa,EACb,OAAO,EACP,oBAAoB,EACpB,UAAU,EACV,oBAAoB,EACpB,gBAAuB,EACvB,MAAM,GACP,EAAE;IACD,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B,MAAM,EAAE,mBAAmB,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EACJ;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;KAAE,EAAE,GACzD,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IACxB,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,OAAO,CAAC,SAAS,CAAC,CA2WrB;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,KAAK,sBAYnD"}
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,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAYvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAGzD,wBAAsB,oBAAoB,CAAC,EACzC,KAAK,EACL,MAAM,EACN,MAAM,EACN,UAAU,EACV,UAAU,EACV,eAAe,EACf,aAAa,EACb,OAAO,EACP,oBAAoB,EACpB,UAAU,EACV,oBAAoB,EACpB,gBAAuB,EACvB,MAAM,EACN,QAAQ,GACT,EAAE;IACD,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B,MAAM,EAAE,mBAAmB,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EACJ;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;KAAE,EAAE,GACzD,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IACxB,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;CACjC,GAAG,OAAO,CAAC,SAAS,CAAC,CA6WrB;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,KAAK,sBAYnD"}
@@ -11,7 +11,7 @@ const dates_1 = require("./dates");
11
11
  const merge_1 = require("./merge");
12
12
  const queryConstructor_1 = require("./queryConstructor");
13
13
  const textProcessing_1 = require("./textProcessing");
14
- async function generatePivotWithSQL({ pivot, report, client, dateBucket, dateFilter, distinctStrings, dashboardName, tenants, additionalProcessing, pivotQuery, comparisonPivotQuery, getPivotRowCount = true, caller, }) {
14
+ async function generatePivotWithSQL({ pivot, report, client, dateBucket, dateFilter, distinctStrings, dashboardName, tenants, additionalProcessing, pivotQuery, comparisonPivotQuery, getPivotRowCount = true, caller, getToken, }) {
15
15
  let sqlQuery = pivotQuery;
16
16
  let comparisonPivotSql = comparisonPivotQuery;
17
17
  const databaseType = client.databaseType || 'postgresql';
@@ -86,10 +86,11 @@ async function generatePivotWithSQL({ pivot, report, client, dateBucket, dateFil
86
86
  if (paginatedComparisonQuery) {
87
87
  preQueries.push(paginatedComparisonQuery);
88
88
  }
89
- const hostedBody = {
89
+ const { data: resp } = await (0, dataFetcher_1.quillFetch)({
90
+ client,
91
+ task: 'query',
90
92
  metadata: {
91
93
  preQueries,
92
- task: 'query',
93
94
  clientId: client.publicKey,
94
95
  databaseType: databaseType,
95
96
  runQueryConfig: {
@@ -100,9 +101,10 @@ async function generatePivotWithSQL({ pivot, report, client, dateBucket, dateFil
100
101
  dashboardName: dashboardName && tenants ? dashboardName : undefined,
101
102
  tenants: dashboardName && tenants ? tenants : undefined,
102
103
  },
103
- };
104
- const cloudBody = { ...hostedBody };
105
- const resp = await (0, dataFetcher_1.getData)(client, 'query', 'same-origin', hostedBody, cloudBody, 'POST', 'fetch-pivot');
104
+ urlParameters: `caller=generatePivot&task=query`,
105
+ credentials: 'same-origin',
106
+ getToken,
107
+ });
106
108
  if (resp.success === false) {
107
109
  throw resp.errorMessage;
108
110
  }
@@ -150,11 +152,13 @@ async function generatePivotWithSQL({ pivot, report, client, dateBucket, dateFil
150
152
  label: (0, textProcessing_1.snakeCaseToTitleCase)((0, columnProcessing_1.processColumnName)(field.name.replace('comparison_', 'comparison '))),
151
153
  format: field.name === pivot.rowField
152
154
  ? 'string'
153
- // This scary equation is calculating which aggregation a column is associated with.
154
- // Eg you have 7 columns and 2 aggregations, you can assume column 0 is the row field, 1-3 is aggregation 0, and 4-6 is aggregation 1.
155
- : pivot.aggregations?.[Math.floor((index - 1) / Math.floor((responseFields.length - 1) / (pivot.aggregations?.length ?? 1)))]?.aggregationType === 'percentage'
156
- ? 'percent'
157
- : 'whole_number',
155
+ : // This scary equation is calculating which aggregation a column is associated with.
156
+ // Eg you have 7 columns and 2 aggregations, you can assume column 0 is the row field, 1-3 is aggregation 0, and 4-6 is aggregation 1.
157
+ pivot.aggregations?.[Math.floor((index - 1) /
158
+ Math.floor((responseFields.length - 1) /
159
+ (pivot.aggregations?.length ?? 1)))]?.aggregationType === 'percentage'
160
+ ? 'percent'
161
+ : 'whole_number',
158
162
  fieldType: field.fieldType,
159
163
  jsType: field.jsType,
160
164
  dataTypeID: field.dataTypeID,
@@ -1 +1 @@
1
- {"version":3,"file":"pivotProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/pivotProcessing.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAMxD,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAuB7E;AAED,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,cAAc,EAAE,EACzB,YAAY,EAAE,oBAAoB;;;;EAyDnC;AAED,wBAAgB,UAAU,CACxB,KAAK,EAAE,KAAK,EACZ,eAAe,EAAE;IACf,SAAS,EAAE,GAAG,CAAC;IACf,YAAY,EAAE,GAAG,CAAC;IAClB,WAAW,EAAE,GAAG,CAAC;CAClB,GACA,KAAK,CAsCP;AAED,eAAO,MAAM,eAAe,WAAY,GAAG,SAAS,KAAK,YA8BxD,CAAC;AAEF,eAAO,MAAM,aAAa,UACjB,KAAK,WACH,cAAc,EAAE,WAChB,mBAAmB,kBACZ,MAAM,cACV,SAAS;;;;;;;;;;;CAuDtB,CAAC"}
1
+ {"version":3,"file":"pivotProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/pivotProcessing.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAWxD,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAuB7E;AAED,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,cAAc,EAAE,EACzB,YAAY,EAAE,oBAAoB;;;;EAqDnC;AAED,wBAAgB,UAAU,CACxB,KAAK,EAAE,KAAK,EACZ,eAAe,EAAE;IACf,SAAS,EAAE,GAAG,CAAC;IACf,YAAY,EAAE,GAAG,CAAC;IAClB,WAAW,EAAE,GAAG,CAAC;CAClB,GACA,KAAK,CAsCP;AAED,eAAO,MAAM,eAAe,WAAY,GAAG,SAAS,KAAK,YA8BxD,CAAC;AAEF,eAAO,MAAM,aAAa,UACjB,KAAK,WACH,cAAc,EAAE,WAChB,mBAAmB,kBACZ,MAAM,cACV,SAAS;;;;;;;;;;;CAuDtB,CAAC"}
@@ -37,7 +37,7 @@ function getPossiblePivotFieldOptions(columns, uniqueValues) {
37
37
  const valueFields = [];
38
38
  for (const column of columns) {
39
39
  // row fields can be dates or strings
40
- if (valueFormatter_1.DATE_FORMAT_TYPES.includes(column.format)) {
40
+ if ((0, columnProcessing_1.isDateType)(column.fieldType)) {
41
41
  rowFields.push(column.field);
42
42
  }
43
43
  // include ID fields as rowField pivot option
@@ -45,7 +45,7 @@ function getPossiblePivotFieldOptions(columns, uniqueValues) {
45
45
  // rowFields.push(column.field);
46
46
  // }
47
47
  // column fields can be strings
48
- if (column.jsType === 'string') {
48
+ if ((0, columnProcessing_1.isStringType)(column.fieldType)) {
49
49
  const possibleValues = uniqueValues?.[column.field] ?? [];
50
50
  const isNullValuesOnly = !possibleValues ||
51
51
  (Object.keys(possibleValues).length === 1 &&
@@ -62,9 +62,7 @@ function getPossiblePivotFieldOptions(columns, uniqueValues) {
62
62
  }
63
63
  }
64
64
  // value fields can be numbers or bools
65
- // TODO: should "format" be used as the indicator, or fieldType?
66
- if (valueFormatter_1.NUMBER_FORMAT_TYPES.includes(column.format) ||
67
- column.jsType === 'bool') {
65
+ if ((0, columnProcessing_1.isNumberType)(column.fieldType) || (0, columnProcessing_1.isBoolType)(column.fieldType)) {
68
66
  if (!(0, util_1.isIdColumn)(column.field)) {
69
67
  valueFields.push(column.field);
70
68
  }
@@ -877,7 +877,7 @@ function additionalProcessingOnPivotQuery(pivot, query, additionalProcessing, da
877
877
  }
878
878
  const additionalProcessingQuery = `
879
879
  SELECT *
880
- FROM quill_base_pivot ${sortQuery}${databaseType === 'mssql' ? ` OFFSET ${offset} ROWS FETCH NEXT ${limit} ROWS ONLY` : ` LIMIT ${limit} OFFSET ${offset}`}
880
+ FROM quill_base_pivot ${sortQuery}${databaseType.toLowerCase() === 'mssql' ? ` OFFSET ${offset} ROWS FETCH NEXT ${limit} ROWS ONLY` : ` LIMIT ${limit} OFFSET ${offset}`}
881
881
  `
882
882
  .replace(/\s+/g, ' ')
883
883
  .trim();
@@ -27,7 +27,7 @@ export type ReportBuilderInfo = {
27
27
  };
28
28
  export declare const EMPTY_REPORT: QuillReport;
29
29
  export declare const EMPTY_INTERNAL_REPORT: QuillReportInternal;
30
- export declare function fetchReport({ reportId, client, tenants, flags, useReportTask, filters, additionalProcessing, dateBucket, customFields, rowsOnly, rowCountOnly, abortSignal, getDefaultDashboardFilters, }: {
30
+ export declare function fetchReport({ reportId, client, tenants, flags, useReportTask, filters, additionalProcessing, dateBucket, customFields, rowsOnly, rowCountOnly, abortSignal, getToken, }: {
31
31
  reportId: string;
32
32
  client: QuillProviderClient;
33
33
  tenants?: {
@@ -43,12 +43,12 @@ export declare function fetchReport({ reportId, client, tenants, flags, useRepor
43
43
  rowsOnly?: boolean;
44
44
  rowCountOnly?: boolean;
45
45
  abortSignal?: AbortSignal;
46
- getDefaultDashboardFilters?: boolean;
46
+ getToken: () => Promise<string>;
47
47
  }): Promise<{
48
48
  report: QuillReportInternal;
49
49
  error?: string;
50
50
  }>;
51
- export declare function processReportResponse({ resp, client, filters, dateBucket, additionalProcessing, customFields, }: {
51
+ export declare function processReportResponse({ resp, client, filters, dateBucket, additionalProcessing, customFields, getToken, }: {
52
52
  resp: any;
53
53
  client: QuillProviderClient;
54
54
  filters?: (DashboardFilter | InternalFilter)[];
@@ -57,26 +57,28 @@ export declare function processReportResponse({ resp, client, filters, dateBucke
57
57
  customFields?: {
58
58
  [tableName: string]: CustomField[];
59
59
  } | null;
60
+ getToken: () => Promise<string>;
60
61
  }): Promise<QuillReportInternal>;
61
- export declare function fetchReportInfo(reportId: string, client: QuillProviderClient, tenants?: {
62
+ export declare function fetchReportInfo(reportId: string, client: QuillProviderClient, getToken: () => Promise<string>, tenants?: {
62
63
  tenantField: string;
63
64
  tenantIds: (string | number)[];
64
65
  }[] | (string | number)[]): Promise<{
65
66
  report: any;
66
67
  filters: any;
67
68
  }>;
68
- export declare function fetchReportRowCount(reportId: string, client: QuillProviderClient, tenants?: {
69
+ export declare function fetchReportRowCount(reportId: string, client: QuillProviderClient, getToken: () => Promise<string>, tenants?: {
69
70
  tenantField: string;
70
71
  tenantIds: (string | number)[];
71
72
  }[] | (string | number)[], flags?: string[], useReportTask?: boolean, filters?: any[], additionalProcessing?: AdditionalProcessing, customFields?: any, abortSignal?: AbortSignal): Promise<number | undefined>;
72
- export declare function saveReport({ report, dashboardItemId, client, }: {
73
+ export declare function saveReport({ report, dashboardItemId, client, getToken, }: {
73
74
  report: any;
74
75
  dashboardItemId?: string;
75
76
  client: QuillProviderClient;
77
+ getToken: () => Promise<string>;
76
78
  }): Promise<any>;
77
79
  export declare const formatRowsFromReport: (report: any, xAxisField?: string, xAxisFormat?: string) => any;
78
80
  export declare function convertInternalReportToReport(report: QuillReportInternal, dashboardFilters: DashboardFilter[], initiator?: string): QuillReport;
79
- export declare const fetchReportBuilderDataFromAST: ({ baseAst, schema, client, tenants, pivot, previousRelevant, requiresNewFilteredUniqueValues, report, customFields, skipUniqueValues, skipRowCount, processing, dashboardName, }: {
81
+ export declare const fetchReportBuilderDataFromAST: ({ baseAst, schema, client, tenants, pivot, previousRelevant, requiresNewFilteredUniqueValues, report, customFields, skipUniqueValues, skipRowCount, processing, dashboardName, getToken, }: {
80
82
  baseAst: any;
81
83
  schema: Table[];
82
84
  client: QuillProviderClient;
@@ -97,5 +99,6 @@ export declare const fetchReportBuilderDataFromAST: ({ baseAst, schema, client,
97
99
  skipRowCount?: boolean;
98
100
  processing?: AdditionalProcessing;
99
101
  dashboardName: string;
102
+ getToken: () => Promise<string>;
100
103
  }) => Promise<ReportBuilderInfo>;
101
104
  //# sourceMappingURL=report.d.ts.map