@quillsql/admin 1.6.3 → 1.7.0

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 (304) hide show
  1. package/dist/cjs/Admin.d.ts +14 -8
  2. package/dist/cjs/Admin.d.ts.map +1 -1
  3. package/dist/cjs/Admin.js +134 -25
  4. package/dist/cjs/AdminProvider.d.ts +26 -5
  5. package/dist/cjs/AdminProvider.d.ts.map +1 -1
  6. package/dist/cjs/AdminProvider.js +174 -85
  7. package/dist/cjs/api/ConnectionClient.d.ts +26 -12
  8. package/dist/cjs/api/ConnectionClient.d.ts.map +1 -1
  9. package/dist/cjs/api/ConnectionClient.js +198 -31
  10. package/dist/cjs/assets/ArrowDownHeadIcon.d.ts.map +1 -1
  11. package/dist/cjs/assets/XIcon.d.ts.map +1 -1
  12. package/dist/cjs/components/CardSection.d.ts.map +1 -1
  13. package/dist/cjs/components/CardSection.js +4 -2
  14. package/dist/cjs/components/ClipboardButton.d.ts.map +1 -1
  15. package/dist/cjs/components/DashboardSelectPopover.d.ts.map +1 -1
  16. package/dist/cjs/components/DashboardSelectPopover.js +46 -7
  17. package/dist/cjs/components/DatabaseSelector.d.ts +3 -1
  18. package/dist/cjs/components/DatabaseSelector.d.ts.map +1 -1
  19. package/dist/cjs/components/DatabaseSelector.js +3 -2
  20. package/dist/cjs/components/DateRangePicker/SingleDatePicker.d.ts.map +1 -1
  21. package/dist/cjs/components/DateRangePicker/SingleDatePicker.js +31 -7
  22. package/dist/cjs/components/DateRangePicker/YearlessDateRangePicker.d.ts.map +1 -1
  23. package/dist/cjs/components/DateRangePicker/YearlessDateRangePicker.js +31 -7
  24. package/dist/cjs/components/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
  25. package/dist/cjs/components/DropDownMenuWithLabel.d.ts.map +1 -1
  26. package/dist/cjs/components/DropDownMenuWithLabel.js +8 -1
  27. package/dist/cjs/components/DynamicBanner.d.ts +3 -2
  28. package/dist/cjs/components/DynamicBanner.d.ts.map +1 -1
  29. package/dist/cjs/components/DynamicBanner.js +7 -2
  30. package/dist/cjs/components/EmptyDashboardComponent/index.d.ts.map +1 -1
  31. package/dist/cjs/components/EmptyDashboardComponent/index.js +3 -2
  32. package/dist/cjs/components/EmptyVirtualTablesComponent.d.ts.map +1 -1
  33. package/dist/cjs/components/EmptyVirtualTablesComponent.js +4 -1
  34. package/dist/cjs/components/FormTooltip.d.ts.map +1 -1
  35. package/dist/cjs/components/FormTooltip.js +4 -1
  36. package/dist/cjs/components/InputLabel.d.ts.map +1 -1
  37. package/dist/cjs/components/InputLabel.js +4 -2
  38. package/dist/cjs/components/InternalDashboard/DashboardFilter.d.ts +1 -1
  39. package/dist/cjs/components/InternalDashboard/DashboardFilter.d.ts.map +1 -1
  40. package/dist/cjs/components/InternalDashboard/DashboardLoadingComponent.d.ts.map +1 -1
  41. package/dist/cjs/components/InternalDashboard/DateRangePicker/QuillDateRangePicker.d.ts.map +1 -1
  42. package/dist/cjs/components/InternalDashboard/DateRangePicker/QuillDateRangePicker.js +33 -14
  43. package/dist/cjs/components/InternalDashboard/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
  44. package/dist/cjs/components/InternalDashboard/InternalDashboard.d.ts.map +1 -1
  45. package/dist/cjs/components/InternalDashboard/InternalDashboard.js +128 -35
  46. package/dist/cjs/components/OrgSelect.d.ts +0 -6
  47. package/dist/cjs/components/OrgSelect.d.ts.map +1 -1
  48. package/dist/cjs/components/OrgSelect.js +79 -47
  49. package/dist/cjs/components/QuillMultiSelectWithCombo.d.ts +8 -2
  50. package/dist/cjs/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
  51. package/dist/cjs/components/QuillMultiSelectWithCombo.js +351 -167
  52. package/dist/cjs/components/QuillPopover.d.ts.map +1 -1
  53. package/dist/cjs/components/QuillPopover.js +4 -5
  54. package/dist/cjs/components/QuillSelect.js +9 -9
  55. package/dist/cjs/components/QuillSelectWithCombo.d.ts +4 -3
  56. package/dist/cjs/components/QuillSelectWithCombo.d.ts.map +1 -1
  57. package/dist/cjs/components/QuillSelectWithCombo.js +47 -21
  58. package/dist/cjs/components/QuillToolTipPortal.d.ts.map +1 -1
  59. package/dist/cjs/components/SqlTextEditor.d.ts.map +1 -1
  60. package/dist/cjs/components/SqlTextEditor.js +15 -2
  61. package/dist/cjs/components/Tenants/EditTenant.d.ts.map +1 -1
  62. package/dist/cjs/components/Tenants/EditTenant.js +51 -8
  63. package/dist/cjs/components/UiComponents.d.ts +16 -43
  64. package/dist/cjs/components/UiComponents.d.ts.map +1 -1
  65. package/dist/cjs/components/UiComponents.js +162 -33
  66. package/dist/cjs/forms/client_onboard/ConnectDatabase.d.ts.map +1 -1
  67. package/dist/cjs/forms/client_onboard/ConnectDatabase.js +163 -51
  68. package/dist/cjs/forms/client_onboard/ConnectSchema.d.ts.map +1 -1
  69. package/dist/cjs/forms/client_onboard/ConnectSchema.js +36 -2
  70. package/dist/cjs/forms/client_onboard/CreateVirtualTables.d.ts +2 -1
  71. package/dist/cjs/forms/client_onboard/CreateVirtualTables.d.ts.map +1 -1
  72. package/dist/cjs/forms/client_onboard/CreateVirtualTables.js +60 -22
  73. package/dist/cjs/forms/client_onboard/__tests__/ConnectSchema.test.js +2 -1
  74. package/dist/cjs/forms/client_onboard/__tests__/CreateVirtualTables.test.js +2 -1
  75. package/dist/cjs/forms/virtual_tables/CreateEditVirtualTable.d.ts.map +1 -1
  76. package/dist/cjs/forms/virtual_tables/CreateEditVirtualTable.js +101 -15
  77. package/dist/cjs/hooks/useDatabaseSchema.d.ts.map +1 -1
  78. package/dist/cjs/hooks/useDatabaseSchema.js +18 -2
  79. package/dist/cjs/hooks/useLongLoading.d.ts +13 -0
  80. package/dist/cjs/hooks/useLongLoading.d.ts.map +1 -0
  81. package/dist/cjs/hooks/useLongLoading.js +67 -0
  82. package/dist/cjs/hooks/useOnClickOutside.d.ts.map +1 -1
  83. package/dist/cjs/hooks/useThrottle.d.ts.map +1 -1
  84. package/dist/cjs/icons/ArrowDownHeadIcon.d.ts.map +1 -1
  85. package/dist/cjs/icons/CheckCircleIcon.d.ts.map +1 -1
  86. package/dist/cjs/icons/ExclamationFilledIcon.d.ts.map +1 -1
  87. package/dist/cjs/icons/ExteriorLinkIcon.d.ts.map +1 -1
  88. package/dist/cjs/icons/QuestionMarkCircleIcon.d.ts.map +1 -1
  89. package/dist/cjs/modals/CodePreview.d.ts.map +1 -1
  90. package/dist/cjs/modals/CodePreview.js +7 -2
  91. package/dist/cjs/modals/CreateEnvironmentModal.d.ts +5 -0
  92. package/dist/cjs/modals/CreateEnvironmentModal.d.ts.map +1 -0
  93. package/dist/cjs/modals/CreateEnvironmentModal.js +21 -0
  94. package/dist/cjs/modals/EditEnvironmentModal.d.ts.map +1 -1
  95. package/dist/cjs/modals/EditEnvironmentModal.js +74 -17
  96. package/dist/cjs/modals/EditFiltersModal.d.ts.map +1 -1
  97. package/dist/cjs/modals/EditFiltersModal.js +19 -15
  98. package/dist/cjs/modals/NewDashboardModal.d.ts.map +1 -1
  99. package/dist/cjs/modals/NewDashboardModal.js +54 -28
  100. package/dist/cjs/modals/PromoteReportModal.d.ts.map +1 -1
  101. package/dist/cjs/modals/PromoteReportModal.js +15 -4
  102. package/dist/cjs/modals/PromoteViewModal.d.ts.map +1 -1
  103. package/dist/cjs/modals/PromoteViewModal.js +13 -2
  104. package/dist/cjs/primitives/ButtonPrimitive.d.ts.map +1 -1
  105. package/dist/cjs/primitives/ButtonPrimitive.js +10 -6
  106. package/dist/cjs/primitives/CheckboxPrimitive.d.ts.map +1 -1
  107. package/dist/cjs/primitives/CheckboxPrimitive.js +2 -0
  108. package/dist/cjs/primitives/HeaderPrimitive.d.ts.map +1 -1
  109. package/dist/cjs/primitives/HeaderPrimitive.js +11 -7
  110. package/dist/cjs/primitives/PopoverPrimitive.d.ts.map +1 -1
  111. package/dist/cjs/primitives/PopoverPrimitive.js +19 -6
  112. package/dist/cjs/primitives/SecondaryButtonPrimitive.d.ts.map +1 -1
  113. package/dist/cjs/primitives/SecondaryButtonPrimitive.js +5 -3
  114. package/dist/cjs/primitives/TogglePrimitive.d.ts.map +1 -1
  115. package/dist/cjs/public_components/ChartQueryBuilder.d.ts.map +1 -1
  116. package/dist/cjs/public_components/ChartQueryBuilder.js +17 -7
  117. package/dist/cjs/public_components/CreateEnvironment.d.ts.map +1 -1
  118. package/dist/cjs/public_components/CreateEnvironment.js +68 -30
  119. package/dist/cjs/public_components/DashboardManager.d.ts.map +1 -1
  120. package/dist/cjs/public_components/DashboardManager.js +71 -4
  121. package/dist/cjs/public_components/EnvSelectPopover.d.ts +2 -1
  122. package/dist/cjs/public_components/EnvSelectPopover.d.ts.map +1 -1
  123. package/dist/cjs/public_components/EnvSelectPopover.js +48 -8
  124. package/dist/cjs/public_components/VirtualTableManager.d.ts.map +1 -1
  125. package/dist/cjs/public_components/VirtualTableManager.js +124 -10
  126. package/dist/cjs/public_components/__tests__/CreateEnvironment.test.js +41 -2
  127. package/dist/cjs/utils/astProcessing.d.ts.map +1 -1
  128. package/dist/cjs/utils/columnProcessing.d.ts +1 -0
  129. package/dist/cjs/utils/columnProcessing.d.ts.map +1 -1
  130. package/dist/cjs/utils/columnProcessing.js +7 -1
  131. package/dist/cjs/utils/constants.d.ts +1 -0
  132. package/dist/cjs/utils/constants.d.ts.map +1 -1
  133. package/dist/cjs/utils/constants.js +5 -1
  134. package/dist/cjs/utils/dataEditor.d.ts.map +1 -1
  135. package/dist/cjs/utils/dataFetcher.d.ts.map +1 -1
  136. package/dist/cjs/utils/dataFetcher.js +0 -1
  137. package/dist/cjs/utils/databases.d.ts +6 -1
  138. package/dist/cjs/utils/databases.d.ts.map +1 -1
  139. package/dist/cjs/utils/databases.js +23 -5
  140. package/dist/cjs/utils/delay.d.ts.map +1 -1
  141. package/dist/cjs/utils/filter.d.ts +17 -21
  142. package/dist/cjs/utils/filter.d.ts.map +1 -1
  143. package/dist/cjs/utils/filter.js +6 -6
  144. package/dist/cjs/utils/report.d.ts +5 -5
  145. package/dist/cjs/utils/report.d.ts.map +1 -1
  146. package/dist/cjs/utils/schema.d.ts +6 -3
  147. package/dist/cjs/utils/schema.d.ts.map +1 -1
  148. package/dist/cjs/utils/schema.js +42 -3
  149. package/dist/cjs/utils/table.d.ts.map +1 -1
  150. package/dist/cjs/utils/tenants.d.ts.map +1 -1
  151. package/dist/cjs/utils/ui.d.ts.map +1 -1
  152. package/dist/esm/Admin.d.ts +14 -8
  153. package/dist/esm/Admin.d.ts.map +1 -1
  154. package/dist/esm/Admin.js +135 -26
  155. package/dist/esm/AdminProvider.d.ts +26 -5
  156. package/dist/esm/AdminProvider.d.ts.map +1 -1
  157. package/dist/esm/AdminProvider.js +177 -88
  158. package/dist/esm/api/ConnectionClient.d.ts +26 -12
  159. package/dist/esm/api/ConnectionClient.d.ts.map +1 -1
  160. package/dist/esm/api/ConnectionClient.js +196 -31
  161. package/dist/esm/assets/ArrowDownHeadIcon.d.ts.map +1 -1
  162. package/dist/esm/assets/XIcon.d.ts.map +1 -1
  163. package/dist/esm/components/CardSection.d.ts.map +1 -1
  164. package/dist/esm/components/CardSection.js +4 -2
  165. package/dist/esm/components/ClipboardButton.d.ts.map +1 -1
  166. package/dist/esm/components/DashboardSelectPopover.d.ts.map +1 -1
  167. package/dist/esm/components/DashboardSelectPopover.js +47 -8
  168. package/dist/esm/components/DatabaseSelector.d.ts +3 -1
  169. package/dist/esm/components/DatabaseSelector.d.ts.map +1 -1
  170. package/dist/esm/components/DatabaseSelector.js +3 -2
  171. package/dist/esm/components/DateRangePicker/SingleDatePicker.d.ts.map +1 -1
  172. package/dist/esm/components/DateRangePicker/SingleDatePicker.js +31 -7
  173. package/dist/esm/components/DateRangePicker/YearlessDateRangePicker.d.ts.map +1 -1
  174. package/dist/esm/components/DateRangePicker/YearlessDateRangePicker.js +31 -7
  175. package/dist/esm/components/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
  176. package/dist/esm/components/DropDownMenuWithLabel.d.ts.map +1 -1
  177. package/dist/esm/components/DropDownMenuWithLabel.js +9 -2
  178. package/dist/esm/components/DynamicBanner.d.ts +3 -2
  179. package/dist/esm/components/DynamicBanner.d.ts.map +1 -1
  180. package/dist/esm/components/DynamicBanner.js +7 -2
  181. package/dist/esm/components/EmptyDashboardComponent/index.d.ts.map +1 -1
  182. package/dist/esm/components/EmptyDashboardComponent/index.js +3 -2
  183. package/dist/esm/components/EmptyVirtualTablesComponent.d.ts.map +1 -1
  184. package/dist/esm/components/EmptyVirtualTablesComponent.js +4 -1
  185. package/dist/esm/components/FormTooltip.d.ts.map +1 -1
  186. package/dist/esm/components/FormTooltip.js +4 -1
  187. package/dist/esm/components/InputLabel.d.ts.map +1 -1
  188. package/dist/esm/components/InputLabel.js +4 -2
  189. package/dist/esm/components/InternalDashboard/DashboardFilter.d.ts +1 -1
  190. package/dist/esm/components/InternalDashboard/DashboardFilter.d.ts.map +1 -1
  191. package/dist/esm/components/InternalDashboard/DashboardFilter.js +1 -1
  192. package/dist/esm/components/InternalDashboard/DashboardLoadingComponent.d.ts.map +1 -1
  193. package/dist/esm/components/InternalDashboard/DateRangePicker/QuillDateRangePicker.d.ts.map +1 -1
  194. package/dist/esm/components/InternalDashboard/DateRangePicker/QuillDateRangePicker.js +33 -11
  195. package/dist/esm/components/InternalDashboard/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
  196. package/dist/esm/components/InternalDashboard/InternalDashboard.d.ts.map +1 -1
  197. package/dist/esm/components/InternalDashboard/InternalDashboard.js +129 -36
  198. package/dist/esm/components/OrgSelect.d.ts +0 -6
  199. package/dist/esm/components/OrgSelect.d.ts.map +1 -1
  200. package/dist/esm/components/OrgSelect.js +79 -45
  201. package/dist/esm/components/QuillMultiSelectWithCombo.d.ts +8 -2
  202. package/dist/esm/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
  203. package/dist/esm/components/QuillMultiSelectWithCombo.js +351 -167
  204. package/dist/esm/components/QuillPopover.d.ts.map +1 -1
  205. package/dist/esm/components/QuillPopover.js +4 -5
  206. package/dist/esm/components/QuillSelect.js +9 -9
  207. package/dist/esm/components/QuillSelectWithCombo.d.ts +4 -3
  208. package/dist/esm/components/QuillSelectWithCombo.d.ts.map +1 -1
  209. package/dist/esm/components/QuillSelectWithCombo.js +47 -21
  210. package/dist/esm/components/QuillToolTipPortal.d.ts.map +1 -1
  211. package/dist/esm/components/SqlTextEditor.d.ts.map +1 -1
  212. package/dist/esm/components/SqlTextEditor.js +15 -2
  213. package/dist/esm/components/Tenants/EditTenant.d.ts.map +1 -1
  214. package/dist/esm/components/Tenants/EditTenant.js +51 -8
  215. package/dist/esm/components/UiComponents.d.ts +16 -43
  216. package/dist/esm/components/UiComponents.d.ts.map +1 -1
  217. package/dist/esm/components/UiComponents.js +127 -29
  218. package/dist/esm/forms/client_onboard/ConnectDatabase.d.ts.map +1 -1
  219. package/dist/esm/forms/client_onboard/ConnectDatabase.js +163 -51
  220. package/dist/esm/forms/client_onboard/ConnectSchema.d.ts.map +1 -1
  221. package/dist/esm/forms/client_onboard/ConnectSchema.js +36 -2
  222. package/dist/esm/forms/client_onboard/CreateVirtualTables.d.ts +2 -1
  223. package/dist/esm/forms/client_onboard/CreateVirtualTables.d.ts.map +1 -1
  224. package/dist/esm/forms/client_onboard/CreateVirtualTables.js +61 -23
  225. package/dist/esm/forms/client_onboard/__tests__/ConnectSchema.test.js +2 -1
  226. package/dist/esm/forms/client_onboard/__tests__/CreateVirtualTables.test.js +2 -1
  227. package/dist/esm/forms/virtual_tables/CreateEditVirtualTable.d.ts.map +1 -1
  228. package/dist/esm/forms/virtual_tables/CreateEditVirtualTable.js +103 -17
  229. package/dist/esm/hooks/useDatabaseSchema.d.ts.map +1 -1
  230. package/dist/esm/hooks/useDatabaseSchema.js +19 -3
  231. package/dist/esm/hooks/useLongLoading.d.ts +13 -0
  232. package/dist/esm/hooks/useLongLoading.d.ts.map +1 -0
  233. package/dist/esm/hooks/useLongLoading.js +64 -0
  234. package/dist/esm/hooks/useOnClickOutside.d.ts.map +1 -1
  235. package/dist/esm/hooks/useThrottle.d.ts.map +1 -1
  236. package/dist/esm/icons/ArrowDownHeadIcon.d.ts.map +1 -1
  237. package/dist/esm/icons/CheckCircleIcon.d.ts.map +1 -1
  238. package/dist/esm/icons/ExclamationFilledIcon.d.ts.map +1 -1
  239. package/dist/esm/icons/ExteriorLinkIcon.d.ts.map +1 -1
  240. package/dist/esm/icons/QuestionMarkCircleIcon.d.ts.map +1 -1
  241. package/dist/esm/modals/CodePreview.d.ts.map +1 -1
  242. package/dist/esm/modals/CodePreview.js +7 -2
  243. package/dist/esm/modals/CreateEnvironmentModal.d.ts +5 -0
  244. package/dist/esm/modals/CreateEnvironmentModal.d.ts.map +1 -0
  245. package/dist/esm/modals/CreateEnvironmentModal.js +15 -0
  246. package/dist/esm/modals/EditEnvironmentModal.d.ts.map +1 -1
  247. package/dist/esm/modals/EditEnvironmentModal.js +74 -17
  248. package/dist/esm/modals/EditFiltersModal.d.ts.map +1 -1
  249. package/dist/esm/modals/EditFiltersModal.js +21 -17
  250. package/dist/esm/modals/NewDashboardModal.d.ts.map +1 -1
  251. package/dist/esm/modals/NewDashboardModal.js +55 -29
  252. package/dist/esm/modals/PromoteReportModal.d.ts.map +1 -1
  253. package/dist/esm/modals/PromoteReportModal.js +15 -4
  254. package/dist/esm/modals/PromoteViewModal.d.ts.map +1 -1
  255. package/dist/esm/modals/PromoteViewModal.js +13 -2
  256. package/dist/esm/primitives/ButtonPrimitive.d.ts.map +1 -1
  257. package/dist/esm/primitives/ButtonPrimitive.js +10 -6
  258. package/dist/esm/primitives/CheckboxPrimitive.d.ts.map +1 -1
  259. package/dist/esm/primitives/CheckboxPrimitive.js +2 -0
  260. package/dist/esm/primitives/HeaderPrimitive.d.ts.map +1 -1
  261. package/dist/esm/primitives/HeaderPrimitive.js +11 -7
  262. package/dist/esm/primitives/PopoverPrimitive.d.ts.map +1 -1
  263. package/dist/esm/primitives/PopoverPrimitive.js +19 -6
  264. package/dist/esm/primitives/SecondaryButtonPrimitive.d.ts.map +1 -1
  265. package/dist/esm/primitives/SecondaryButtonPrimitive.js +5 -3
  266. package/dist/esm/primitives/TogglePrimitive.d.ts.map +1 -1
  267. package/dist/esm/public_components/ChartQueryBuilder.d.ts.map +1 -1
  268. package/dist/esm/public_components/ChartQueryBuilder.js +18 -8
  269. package/dist/esm/public_components/CreateEnvironment.d.ts.map +1 -1
  270. package/dist/esm/public_components/CreateEnvironment.js +68 -30
  271. package/dist/esm/public_components/DashboardManager.d.ts.map +1 -1
  272. package/dist/esm/public_components/DashboardManager.js +72 -5
  273. package/dist/esm/public_components/EnvSelectPopover.d.ts +2 -1
  274. package/dist/esm/public_components/EnvSelectPopover.d.ts.map +1 -1
  275. package/dist/esm/public_components/EnvSelectPopover.js +49 -9
  276. package/dist/esm/public_components/VirtualTableManager.d.ts.map +1 -1
  277. package/dist/esm/public_components/VirtualTableManager.js +125 -11
  278. package/dist/esm/public_components/__tests__/CreateEnvironment.test.js +41 -2
  279. package/dist/esm/utils/astProcessing.d.ts.map +1 -1
  280. package/dist/esm/utils/columnProcessing.d.ts +1 -0
  281. package/dist/esm/utils/columnProcessing.d.ts.map +1 -1
  282. package/dist/esm/utils/columnProcessing.js +7 -2
  283. package/dist/esm/utils/constants.d.ts +1 -0
  284. package/dist/esm/utils/constants.d.ts.map +1 -1
  285. package/dist/esm/utils/constants.js +4 -0
  286. package/dist/esm/utils/dataEditor.d.ts.map +1 -1
  287. package/dist/esm/utils/dataFetcher.d.ts.map +1 -1
  288. package/dist/esm/utils/dataFetcher.js +0 -1
  289. package/dist/esm/utils/databases.d.ts +6 -1
  290. package/dist/esm/utils/databases.d.ts.map +1 -1
  291. package/dist/esm/utils/databases.js +23 -5
  292. package/dist/esm/utils/delay.d.ts.map +1 -1
  293. package/dist/esm/utils/filter.d.ts +17 -21
  294. package/dist/esm/utils/filter.d.ts.map +1 -1
  295. package/dist/esm/utils/filter.js +5 -5
  296. package/dist/esm/utils/report.d.ts +5 -5
  297. package/dist/esm/utils/report.d.ts.map +1 -1
  298. package/dist/esm/utils/schema.d.ts +6 -3
  299. package/dist/esm/utils/schema.d.ts.map +1 -1
  300. package/dist/esm/utils/schema.js +42 -3
  301. package/dist/esm/utils/table.d.ts.map +1 -1
  302. package/dist/esm/utils/tenants.d.ts.map +1 -1
  303. package/dist/esm/utils/ui.d.ts.map +1 -1
  304. package/package.json +1 -1
@@ -4,7 +4,7 @@ import { useEffect, useMemo, useRef, useState } from 'react';
4
4
  import { ButtonPrimitive, HeaderPrimitive, ModalPrimitive, SecondaryButtonPrimitive, TextInputPrimitive, } from '../primitives';
5
5
  import { useAdmin } from '../AdminProvider';
6
6
  import { EnvSelectPopover } from '../components';
7
- import { defaultTheme, TableCell } from '../Admin';
7
+ import { TableCell } from '../Admin';
8
8
  import CreateEditVirtualTable from '../forms/virtual_tables/CreateEditVirtualTable';
9
9
  import { addVirtualTable, editVirtualTable, deleteVirtualTable as requestDeleteVirtualTable, } from '../utils/dataEditor';
10
10
  import { getVirtualTableData } from '../api/ConnectionClient';
@@ -23,6 +23,7 @@ import { onlySingleDatabaseTenant } from '../utils/tenants';
23
23
  import { useDatabaseSchema } from '../hooks/useDatabaseSchema';
24
24
  import InputLabel from '../components/InputLabel';
25
25
  import { useDashboardManager } from '../hooks/useDashboardManager';
26
+ import CreateEnvironmentModal from '../modals/CreateEnvironmentModal';
26
27
  export const getDuplicateColumns = (columns) => {
27
28
  if (!columns) {
28
29
  return [];
@@ -60,8 +61,10 @@ export default function VirtualTableManager({ containerStyle, virtualTable, }) {
60
61
  const [initialVirtualTable, setInitialVirtualTable] = useState(undefined);
61
62
  const [submittingVirtualTable, setSubmittingVirtualTable] = useState(false);
62
63
  const [noCustomerField, setNoCustomerField] = useState(false);
64
+ const [showCreateEnvironmentModal, setShowCreateEnvironmentModal] = useState(false);
63
65
  const parentRef = useRef(null);
64
- const { state, dispatch, clientLoading, setClient, getToken, quillFetchWithToken, } = useAdmin();
66
+ const envHeaderRef = useRef(null);
67
+ const { state, dispatch, clientLoading, setClient, getToken, quillFetchWithToken, eventTracking, } = useAdmin();
65
68
  const closeEditModal = () => {
66
69
  setEditModalIsOpen(false);
67
70
  setEditName('');
@@ -77,6 +80,16 @@ export default function VirtualTableManager({ containerStyle, virtualTable, }) {
77
80
  setEditError(table.broken ? (table.error ?? 'Invalid query') : undefined);
78
81
  setCustomFieldInfo(table.customFieldInfo);
79
82
  !suppressModal && setEditModalIsOpen(true);
83
+ eventTracking?.addBreadcrumb?.({
84
+ message: 'Clicked table cell in VirtualTableManager',
85
+ data: {
86
+ table: table.name,
87
+ suppressModal: suppressModal,
88
+ },
89
+ category: 'interaction',
90
+ level: 'info',
91
+ timestamp: Date.now(),
92
+ });
80
93
  };
81
94
  const reloadTables = async (tables) => {
82
95
  const tempClient = {
@@ -253,6 +266,17 @@ export default function VirtualTableManager({ containerStyle, virtualTable, }) {
253
266
  setEditQueryView(false);
254
267
  }
255
268
  catch (e) {
269
+ eventTracking?.logError?.({
270
+ type: 'bug', // TODO: determine type
271
+ severity: 'high',
272
+ message: 'Error submitting virtual table',
273
+ errorMessage: e.message,
274
+ errorStack: e.stack,
275
+ errorData: {
276
+ caller: 'VirtualTableManager',
277
+ function: 'handleModalSubmit',
278
+ },
279
+ });
256
280
  console.error(e);
257
281
  }
258
282
  };
@@ -280,6 +304,15 @@ export default function VirtualTableManager({ containerStyle, virtualTable, }) {
280
304
  alert(`This table is referenced in the following dashboard filter${filtersIsPlural}.\n\n${referencedFilterInfo.join('\n')} \n\nPlease delete those filters before deleting this table.`);
281
305
  return;
282
306
  }
307
+ eventTracking?.addBreadcrumb?.({
308
+ message: 'Confirmed delete table in VirtualTableManager',
309
+ data: {
310
+ table: name,
311
+ },
312
+ category: 'interaction',
313
+ level: 'info',
314
+ timestamp: Date.now(),
315
+ });
283
316
  const response = await requestDeleteVirtualTable(id, state, getToken);
284
317
  await reloadTables();
285
318
  return response;
@@ -294,13 +327,16 @@ export default function VirtualTableManager({ containerStyle, virtualTable, }) {
294
327
  break;
295
328
  }
296
329
  };
330
+ if (showCreateEnvironmentModal) {
331
+ return (_jsx(CreateEnvironmentModal, { showCreateEnvironmentModal: showCreateEnvironmentModal, setShowCreateEnvironmentModal: setShowCreateEnvironmentModal }));
332
+ }
297
333
  return (_jsx("div", { style: { ...containerStyle }, children: _jsxs("div", { style: {
298
334
  minHeight: '100%',
299
335
  display: 'flex',
300
336
  flexDirection: 'column',
301
337
  paddingTop: '0px',
302
338
  position: 'relative',
303
- }, ref: parentRef, children: [(state.databaseTypeMismatch.show || !editQueryView) && (_jsx("div", { style: {
339
+ }, ref: parentRef, children: [(state.databaseTypeMismatch.show || !editQueryView) && (_jsx("div", { ref: envHeaderRef, style: {
304
340
  // width: 'calc(100vw - 30px)',
305
341
  display: 'flex',
306
342
  position: 'sticky',
@@ -334,11 +370,19 @@ export default function VirtualTableManager({ containerStyle, virtualTable, }) {
334
370
  setClient(client, true);
335
371
  }, onSelectedEditEnvironment: () => {
336
372
  setEditEnvironmentModalIsOpen(true);
373
+ }, onCreateNewEnvironment: () => {
374
+ setShowCreateEnvironmentModal(true);
337
375
  }, theme: state.theme, parentRef: parentRef, isLoading: clientLoading }) }), !editQueryView && !state.databaseTypeMismatch.show && (_jsxs("div", { style: {
338
376
  display: 'flex',
339
377
  flexDirection: 'row',
340
378
  gap: 8,
341
379
  }, children: [_jsx(SecondaryButtonPrimitive, { onClick: () => {
380
+ eventTracking?.addBreadcrumb?.({
381
+ message: 'Clicked refresh tables button in VirtualTableManager',
382
+ category: 'interaction',
383
+ level: 'info',
384
+ timestamp: Date.now(),
385
+ });
342
386
  reloadTables(tables);
343
387
  }, label: "Refresh Tables" }), _jsx(ButtonPrimitive, { onClick: () => {
344
388
  setEditName('');
@@ -346,12 +390,19 @@ export default function VirtualTableManager({ containerStyle, virtualTable, }) {
346
390
  setEditVirtualTableId('');
347
391
  setInitialVirtualTable(undefined);
348
392
  setEditQueryView(true);
393
+ eventTracking?.addBreadcrumb?.({
394
+ message: 'Clicked add virtual table button in VirtualTableManager',
395
+ category: 'interaction',
396
+ level: 'info',
397
+ timestamp: Date.now(),
398
+ });
349
399
  }, label: "Add Virtual Table +" })] }))] }) })), clientLoading || areTablesLoading ? (_jsx("div", { style: {
350
400
  display: 'grid',
351
401
  gridGap: 24,
352
402
  gridTemplateColumns: 'repeat(auto-fill,minmax(460px, 1fr))',
353
403
  padding: 25,
354
404
  width: '100%',
405
+ ...containerStyle,
355
406
  }, children: Array.from({ length: 12 }).map((_, i) => (_jsx("div", { style: {
356
407
  height: '180px',
357
408
  width: '540px',
@@ -363,14 +414,31 @@ export default function VirtualTableManager({ containerStyle, virtualTable, }) {
363
414
  overflow: 'hidden',
364
415
  }, children: _jsxs("svg", { width: "100%", height: "100%", xmlns: "http://www.w3.org/2000/svg", xmlnsXlink: "http://www.w3.org/1999/xlink", children: [_jsx("rect", { width: "100%", height: "100%", fill: '#F9F9FA' }), _jsx("defs", { fill: '#F9F9FA', children: _jsxs("linearGradient", { id: "skeletonGradient", x1: "0%", y1: "0%", x2: "10%", y2: "0%", gradientUnits: "userSpaceOnUse", children: [_jsx("stop", { offset: "0%", stopColor: "rgba(255,255,255,0)" }), _jsx("stop", { offset: "50%", stopColor: "#FEFEFE" }), _jsx("stop", { offset: "100%", stopColor: "rgba(255,255,255,0)" }), _jsx("animate", { attributeName: "x1", from: "-100%", to: "100%", dur: "2s", repeatCount: "indefinite" }), _jsx("animate", { attributeName: "x2", from: "-50%", to: "150%", dur: "2s", repeatCount: "indefinite" })] }) }), _jsx("rect", { width: "50%", height: "100%", fill: "url(#skeletonGradient)", children: _jsx("animate", { attributeName: "x", from: "-100%", to: "100%", dur: "2s", repeatCount: "indefinite" }) })] }) }) }, i))) }, 'edit-view-query')) : state.databaseTypeMismatch.show ? (_jsx(DatabaseMismatchCard, { environmentName: state.client.name, environmentDatabaseType: state.client.databaseType, backendDatabaseType: state.databaseTypeMismatch.backendDatabaseType })) : (_jsxs(_Fragment, { children: [!editQueryView ? (tables && tables.length === 0 ? (_jsx(EmptyVirtualTablesComponent, { onClick: () => {
365
416
  setEditQueryView(true);
417
+ eventTracking?.addBreadcrumb?.({
418
+ message: 'Clicked EmptyVirtualTablesComponent in VirtualTableManager',
419
+ category: 'interaction',
420
+ level: 'info',
421
+ timestamp: Date.now(),
422
+ });
366
423
  } })) : (_jsx("div", { style: {
367
424
  display: 'grid',
368
425
  gridGap: 24,
369
426
  gridTemplateColumns: 'repeat(auto-fill,minmax(460px, 1fr))',
370
427
  padding: 25,
428
+ height: '100%',
429
+ maxHeight: envHeaderRef.current
430
+ ? `calc(100vh - ${envHeaderRef.current?.getBoundingClientRect().bottom ?? 0}px)`
431
+ : '100%',
432
+ overflow: 'scroll',
371
433
  }, children: tables && tables?.length ? (_jsxs(_Fragment, { children: [tables.map((table) => (_jsx(TableCell, { table: table, clickTableCellHeader: clickTableCell, clickTableCellBody: () => {
372
434
  clickTableCell(table, true);
373
435
  setEditQueryView(true);
436
+ eventTracking?.addBreadcrumb?.({
437
+ message: 'Clicked table body in VirtualTableManager',
438
+ category: 'interaction',
439
+ level: 'info',
440
+ timestamp: Date.now(),
441
+ });
374
442
  }, isLoading: loadingTables[table._id], reloadAction: (table) => reloadTables([table]), hoverActions: (table) => (_jsxs("div", { style: {
375
443
  display: 'flex',
376
444
  flexDirection: 'row',
@@ -386,8 +454,18 @@ export default function VirtualTableManager({ containerStyle, virtualTable, }) {
386
454
  display: 'flex',
387
455
  flexDirection: 'row',
388
456
  alignItems: 'center',
457
+ border: `0 solid ${state.theme?.borderColor ?? '#e7e7e7'}`,
389
458
  }, onClick: (event) => {
390
459
  event.stopPropagation();
460
+ eventTracking?.addBreadcrumb?.({
461
+ message: 'Clicked edit query button in VirtualTableManager Table Cell',
462
+ data: {
463
+ table: table.name,
464
+ },
465
+ category: 'interaction',
466
+ level: 'info',
467
+ timestamp: Date.now(),
468
+ });
391
469
  clickTableCell(table, true);
392
470
  setEditQueryView(true);
393
471
  }, className: "secondary-button-quill", children: [_jsx("style", { children: `.secondary-button-quill { background: white } .secondary-button-quill:hover { background: #F4F4F5 }` }), _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "currentColor", height: 12, width: 12, style: {
@@ -404,8 +482,18 @@ export default function VirtualTableManager({ containerStyle, virtualTable, }) {
404
482
  display: 'flex',
405
483
  flexDirection: 'row',
406
484
  alignItems: 'center',
485
+ border: `0 solid ${state.theme?.borderColor ?? '#e7e7e7'}`,
407
486
  }, onClick: (event) => {
408
487
  event.stopPropagation();
488
+ eventTracking?.addBreadcrumb?.({
489
+ message: 'Clicked table settings in VirtualTableManager Table Cell',
490
+ data: {
491
+ table: table.name,
492
+ },
493
+ category: 'interaction',
494
+ level: 'info',
495
+ timestamp: Date.now(),
496
+ });
409
497
  clickTableCell(table);
410
498
  }, className: "secondary-button-quill", children: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "currentColor", height: 16, width: 16, style: {
411
499
  marginLeft: 'auto',
@@ -427,8 +515,18 @@ export default function VirtualTableManager({ containerStyle, virtualTable, }) {
427
515
  display: 'flex',
428
516
  flexDirection: 'row',
429
517
  alignItems: 'center',
518
+ border: `0 solid ${state.theme?.borderColor ?? '#e7e7e7'}`,
430
519
  }, className: "secondary-button-quill", onClick: (event) => {
431
520
  event.stopPropagation();
521
+ eventTracking?.addBreadcrumb?.({
522
+ message: 'Clicked refresh table button in VirtualTableManager Table Cell',
523
+ data: {
524
+ table: table.name,
525
+ },
526
+ category: 'interaction',
527
+ level: 'info',
528
+ timestamp: Date.now(),
529
+ });
432
530
  reloadTables([table]);
433
531
  }, children: [_jsx("style", { children: `.secondary-button-quill { background: white } .secondary-button-quill:hover { background: #F4F4F5 }` }), _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "currentColor", viewBox: "0 0 16 16", strokeWidth: 1.5, height: 16, width: 16, style: {
434
532
  marginLeft: 'auto',
@@ -437,6 +535,7 @@ export default function VirtualTableManager({ containerStyle, virtualTable, }) {
437
535
  height: 32,
438
536
  width: 32,
439
537
  color: state.theme?.secondaryTextColor,
538
+ border: `0 solid ${state.theme?.borderColor ?? '#e7e7e7'}`,
440
539
  borderRadius: 6,
441
540
  outline: 'none',
442
541
  cursor: 'pointer',
@@ -446,6 +545,15 @@ export default function VirtualTableManager({ containerStyle, virtualTable, }) {
446
545
  alignItems: 'center',
447
546
  }, onClick: (event) => {
448
547
  event.stopPropagation();
548
+ eventTracking?.addBreadcrumb?.({
549
+ message: 'Clicked delete table button in VirtualTableManager Table Cell',
550
+ data: {
551
+ table: table.name,
552
+ },
553
+ category: 'interaction',
554
+ level: 'info',
555
+ timestamp: Date.now(),
556
+ });
449
557
  deleteVirtualTable(table._id, table.name, table.name);
450
558
  }, className: "secondary-button-quill", children: [_jsx("style", { children: `.secondary-button-quill { background: white } .secondary-button-quill:hover { background: #F4F4F5 }` }), _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 20 20", fill: "currentColor", height: 14, width: 14, style: {
451
559
  marginLeft: 'auto',
@@ -482,7 +590,7 @@ function EditAddViewModal({ viewName, viewQuery, viewOwnerTenantFields, viewId,
482
590
  const [tableData, setTableData] = useState(undefined);
483
591
  const [errorInfo, setErrorInfo] = useState({ show: false, message: '' });
484
592
  const clientIsSingleTenant = useMemo(() => onlySingleDatabaseTenant(state.client), [state.client]);
485
- const { getToken } = useAdmin();
593
+ const { getToken, eventTracking } = useAdmin();
486
594
  useEffect(() => {
487
595
  setCustomFieldQuery(customFieldInfo?.query || '');
488
596
  setCustomFieldType(customFieldInfo?.type || 'eav');
@@ -518,7 +626,8 @@ function EditAddViewModal({ viewName, viewQuery, viewOwnerTenantFields, viewId,
518
626
  marginTop: '0px',
519
627
  marginBottom: '0px',
520
628
  fontWeight: 'bold',
521
- color: '#384151',
629
+ color: state.theme?.primaryTextColor,
630
+ fontFamily: state.theme?.fontFamily,
522
631
  }, children: viewName ? 'Edit Virtual Table' : 'Add Virtual Table' }), _jsx(MemoizedDeleteButton, { onClick: closeEditModal, style: undefined })] }), _jsx(InputLabel, { children: "Name" }), _jsx(TextInputPrimitive, { ref: (input) => editModalIsOpen && !viewName && input?.focus(), placeholder: "Enter view display name...", onChange: (e) => setName(e.target.value), value: name ? name : '' }), _jsx("br", {}), viewOwnerTenantFields.length > 0 && (_jsxs(_Fragment, { children: [_jsx(InputLabel, { tooltip: "Dashboards may only query from virtual tables that share an owner with them. Virtual tables are required to return each of their owners' foreign keys as part of the query.", children: "Owners" }), _jsx("div", { style: {
523
632
  flexDirection: 'row',
524
633
  display: 'flex',
@@ -530,7 +639,8 @@ function EditAddViewModal({ viewName, viewQuery, viewOwnerTenantFields, viewId,
530
639
  .map((tenantField) => (_jsx("div", { style: {
531
640
  fontWeight: 300,
532
641
  fontSize: 12,
533
- color: defaultTheme?.primaryTextColor,
642
+ fontFamily: state.theme?.fontFamily,
643
+ color: state.theme?.primaryTextColor,
534
644
  padding: 2,
535
645
  paddingLeft: 4,
536
646
  paddingRight: 4,
@@ -559,7 +669,8 @@ function EditAddViewModal({ viewName, viewQuery, viewOwnerTenantFields, viewId,
559
669
  fontWeight: '600',
560
670
  fontSize: '14px',
561
671
  marginBottom: '6px',
562
- color: '#212121',
672
+ color: state.theme?.secondaryTextColor,
673
+ fontFamily: state.theme?.fontFamily,
563
674
  }, children: "Custom fields" }), _jsx(TogglePrimitive, { value: useCustomField, onClick: () => {
564
675
  setUseCustomField((useCustomField) => !useCustomField);
565
676
  }, style: {
@@ -569,19 +680,22 @@ function EditAddViewModal({ viewName, viewQuery, viewOwnerTenantFields, viewId,
569
680
  fontSize: '14px',
570
681
  marginBottom: '6px',
571
682
  marginTop: '20px',
572
- color: '#212121',
683
+ color: state.theme?.secondaryTextColor,
684
+ fontFamily: state.theme?.fontFamily,
573
685
  }, children: "Custom field type" }), _jsx(SegmentedControl, { theme: state.theme, value: customFieldType?.toLowerCase(), onChange: (e) => {
574
686
  setCustomFieldType(e);
575
687
  }, left: { label: 'EAV', value: 'eav' }, right: { label: 'JSON', value: 'json' } }), _jsx("br", {}), _jsx("h3", { style: {
576
688
  fontWeight: '600',
577
689
  fontSize: '14px',
578
690
  marginBottom: '6px',
579
- color: '#212121',
691
+ color: state.theme?.secondaryTextColor,
692
+ fontFamily: state.theme?.fontFamily,
580
693
  }, children: "Custom field query" }), _jsx("h3", { style: {
581
694
  fontWeight: '400',
582
695
  fontSize: '14px',
583
696
  marginBottom: '20px',
584
- color: '#212121',
697
+ color: state.theme?.secondaryTextColor,
698
+ fontFamily: state.theme?.fontFamily,
585
699
  }, children: customFieldType === 'eav'
586
700
  ? `A table of custom fields. It must have these columns: ref_table, ref_id, ref_table_id_field, field, value, type${clientIsSingleTenant ? '' : `, ${state.client.customerFieldName.replaceAll('"', '')}`}.`
587
701
  : `A table of custom fields. It must have these columns: ref_table, ref_column, field${clientIsSingleTenant ? '' : `, ${state.client.customerFieldName.replaceAll('"', '')}`}.` }), _jsx(SqlTextEditor, { value: customFieldQuery, setValue: (e) => {
@@ -598,7 +712,7 @@ function EditAddViewModal({ viewName, viewQuery, viewOwnerTenantFields, viewId,
598
712
  }
599
713
  setErrorInfo({ show: false, message: '' });
600
714
  setRunQueryButtonLoading(true);
601
- const getSqlResults = await getVirtualTableData(state.client._id, customFieldQuery, state.client.databaseType, state.queryEndpoint, getToken);
715
+ const getSqlResults = await getVirtualTableData(state.client._id, customFieldQuery, state.client.databaseType, state.queryEndpoint, getToken, eventTracking, state.queryHeaders);
602
716
  if (!getSqlResults.success) {
603
717
  setErrorInfo({
604
718
  show: true,
@@ -7,6 +7,7 @@ import { useAdmin } from '../../AdminProvider';
7
7
  import { quillFetch } from '../../utils/dataFetcher';
8
8
  import dotenv from 'dotenv';
9
9
  import path from 'path';
10
+ import { defaultTheme } from '../../Admin';
10
11
  // Load environment variables from .env.local
11
12
  dotenv.config({ path: path.resolve(__dirname, '../../../.env.local') });
12
13
  // Mock necessary modules
@@ -228,6 +229,33 @@ const testDatabases = [
228
229
  },
229
230
  virtualTableQuery: 'SELECT amount, customer_id FROM `transactions`.`transactions`;',
230
231
  },
232
+ {
233
+ databaseType: 'Databricks',
234
+ databaseLabel: 'Databricks',
235
+ databaseConnectionString: null,
236
+ databaseCredentials: {
237
+ host: process.env.TEST_DATABRICKS_HOST,
238
+ path: process.env.TEST_DATABRICKS_PATH,
239
+ token: process.env.TEST_DATABRICKS_TOKEN,
240
+ database: null,
241
+ user: null,
242
+ password: null,
243
+ port: null,
244
+ warehouse: null,
245
+ },
246
+ jsonString: null,
247
+ schemaName: 'default',
248
+ tenant: {
249
+ name: 'Test Tenant',
250
+ tenantField: 'customer_id',
251
+ tenantTable: 'default.customers',
252
+ idField: 'id',
253
+ nameField: 'name',
254
+ tagField: 'id',
255
+ defaultTenant: 'John Doe',
256
+ },
257
+ virtualTableQuery: 'SELECT * FROM default.transactions;',
258
+ },
231
259
  ];
232
260
  describe('CreateEnvironment', () => {
233
261
  const mockOnOnboardComplete = jest.fn();
@@ -242,7 +270,8 @@ describe('CreateEnvironment', () => {
242
270
  // mockQuillFetch = jest.fn((args) => quillFetch(args));
243
271
  mockState = {
244
272
  queryEndpoint: 'http://localhost:8080/cloud',
245
- domainName: 'test-domain',
273
+ clerkOrgId: 'test-domain',
274
+ theme: defaultTheme,
246
275
  };
247
276
  useAdmin.mockReturnValue({
248
277
  state: mockState,
@@ -371,6 +400,16 @@ describe('CreateEnvironment', () => {
371
400
  .querySelector('input'), { target: { value: database.databaseCredentials.warehouse } });
372
401
  });
373
402
  }
403
+ if (database.databaseCredentials?.path) {
404
+ await act(async () => {
405
+ fireEvent.change(screen.getByTestId('quill-input-path').querySelector('input'), { target: { value: database.databaseCredentials.path } });
406
+ });
407
+ }
408
+ if (database.databaseCredentials?.token) {
409
+ await act(async () => {
410
+ fireEvent.change(screen.getByTestId('quill-input-token').querySelector('input'), { target: { value: database.databaseCredentials.token } });
411
+ });
412
+ }
374
413
  // Verify Connect button is enabled
375
414
  expect(screen.getByTestId('quill-connect-button').querySelector('button')
376
415
  .className).not.toContain('quill-button-disabled');
@@ -443,7 +482,7 @@ describe('CreateEnvironment', () => {
443
482
  newClient = JSON.parse(element.getAttribute('data-new-client') || '{}');
444
483
  // Verify database schema was set
445
484
  expect(environmentDetails.databaseSchema).toBeInstanceOf(Array);
446
- // Client should have databaseType, schemaNames (non empty array), and domainName
485
+ // Client should have databaseType, schemaNames (non empty array), and clerkOrgId
447
486
  expect(newClient.schemaNames).toBeInstanceOf(Array);
448
487
  expect(newClient.schemaNames.length).toBeGreaterThan(0);
449
488
  expect(newClient.databaseType).toBe(database.databaseType);
@@ -1 +1 @@
1
- {"version":3,"file":"astProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/astProcessing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAG/C,wBAAgB,kCAAkC,CAChD,qBAAqB,EAAE,MAAM,EAAE,EAC/B,SAAS,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,EACjD,MAAM,EAAE,GAAG,EACX,GAAG,EAAE,GAAG,OAqDT;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,GAAG,OAQxC;AAED,eAAO,MAAM,YAAY,WACf,WAAW,UACX,mBAAmB,YACjB,MAAM,OAAO,CAAC,MAAM,CAAC,KAC9B,OAAO,CAAC;IAAE,GAAG,EAAE,GAAG,CAAA;CAAE,CAyBtB,CAAC;AAEF;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM,GAAG,SAAS,CAYpE"}
1
+ {"version":3,"file":"astProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/astProcessing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAG/C,wBAAgB,kCAAkC,CAChD,qBAAqB,EAAE,MAAM,EAAE,EAC/B,SAAS,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,EACjD,MAAM,EAAE,GAAG,EACX,GAAG,EAAE,GAAG,OAqDT;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,GAAG,OAQxC;AAED,eAAO,MAAM,YAAY,GACvB,QAAQ,WAAW,EACnB,QAAQ,mBAAmB,EAC3B,UAAU,MAAM,OAAO,CAAC,MAAM,CAAC,KAC9B,OAAO,CAAC;IAAE,GAAG,EAAE,GAAG,CAAA;CAAE,CAyBtB,CAAC;AAEF;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM,GAAG,SAAS,CAYpE"}
@@ -7,6 +7,7 @@ export type ColumnInfo = {
7
7
  isVisible: true;
8
8
  };
9
9
  export declare function convertFieldTypeToJSType(fieldType: string): string;
10
+ export declare function fieldTypeToDataTypeID(fieldType: string): number;
10
11
  export declare function processColumnReference(column: string, databaseType: string): string;
11
12
  export declare function convertColumnInfoToColumnInternal(columnInfo: ColumnInfo): ColumnInternal;
12
13
  export declare function isStringType(fieldType: string): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"columnProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/columnProcessing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,cAAc,EAAE,MAAM,SAAS,CAAC;AAErD,MAAM,MAAM,UAAU,GAAG;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,IAAI,CAAC;CACjB,CAAC;AAEF,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAwDlE;AAsED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,UAuB1E;AAED,wBAAgB,iCAAiC,CAC/C,UAAU,EAAE,UAAU,GACrB,cAAc,CAShB;AAED,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAYvD;AAED,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CASrD;AAED,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAwBvD"}
1
+ {"version":3,"file":"columnProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/columnProcessing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,cAAc,EAAE,MAAM,SAAS,CAAC;AAErD,MAAM,MAAM,UAAU,GAAG;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,IAAI,CAAC;CACjB,CAAC;AAEF,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAwDlE;AAED,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CA0C/D;AA0BD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,UA0B1E;AAED,wBAAgB,iCAAiC,CAC/C,UAAU,EAAE,UAAU,GACrB,cAAc,CAShB;AAED,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAYvD;AAED,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CASrD;AAED,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAyBvD"}
@@ -53,7 +53,7 @@ export function convertFieldTypeToJSType(fieldType) {
53
53
  }
54
54
  return jsType;
55
55
  }
56
- function fieldTypeToDataTypeID(fieldType) {
56
+ export function fieldTypeToDataTypeID(fieldType) {
57
57
  switch (fieldType) {
58
58
  case 'bool':
59
59
  return 16;
@@ -135,7 +135,11 @@ export function processColumnReference(column, databaseType) {
135
135
  return `[${column}]`;
136
136
  }
137
137
  const columnParts = column.split('.');
138
- if (columnParts.length > 1) {
138
+ if (columnParts.length > 2) {
139
+ // databricks
140
+ return `\`${columnParts[0]}\`.\`${columnParts[1]}\`.\`${columnParts[2]}\``;
141
+ }
142
+ else if (columnParts.length > 1) {
139
143
  return `\`${columnParts[0]}\`.\`${columnParts[1]}\``;
140
144
  }
141
145
  return `\`${column}\``;
@@ -196,5 +200,6 @@ export function isNumberType(fieldType) {
196
200
  'uint32',
197
201
  'uint16',
198
202
  'uint8',
203
+ 'long',
199
204
  ].includes(fieldType.toLowerCase());
200
205
  }
@@ -6,4 +6,5 @@ export declare const SINGLE_TENANT = "QUILL_SINGLE_TENANT";
6
6
  export declare const SAVED_QUERIES_DASHBOARD = "quill-saved-queries";
7
7
  export declare const QUILL_SERVER: string;
8
8
  export declare const QUILL_QUERY_ENDPOINT: string;
9
+ export declare const QUILL_ENDPOINTS: string[];
9
10
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/utils/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAWH,eAAO,MAAM,WAAW,sBAAsB,CAAC;AAC/C,eAAO,MAAM,aAAa,wBAAwB,CAAC;AACnD,eAAO,MAAM,uBAAuB,wBAAwB,CAAC;AAE7D,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;;GAEG;AAWH,eAAO,MAAM,WAAW,sBAAsB,CAAC;AAC/C,eAAO,MAAM,aAAa,wBAAwB,CAAC;AACnD,eAAO,MAAM,uBAAuB,wBAAwB,CAAC;AAE7D,eAAO,MAAM,YAAY,QAGoB,CAAC;AAC9C,eAAO,MAAM,oBAAoB,QAGnB,CAAC;AAEf,eAAO,MAAM,eAAe,UAG3B,CAAC"}
@@ -19,3 +19,7 @@ export const QUILL_SERVER = typeof process !== 'undefined' && process.env
19
19
  export const QUILL_QUERY_ENDPOINT = typeof process !== 'undefined' && process.env
20
20
  ? (process.env.QUILL_QUERY_ENDPOINT ?? '/cloud')
21
21
  : '/cloud';
22
+ export const QUILL_ENDPOINTS = [
23
+ 'https://quill-344421.uc.r.appspot.com/cloud',
24
+ 'https://quill-ruby-server.onrender.com/cloud',
25
+ ];
@@ -1 +1 @@
1
- {"version":3,"file":"dataEditor.d.ts","sourceRoot":"","sources":["../../../src/utils/dataEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAGzC,eAAO,MAAM,gBAAgB,aACjB,MAAM,iBACD,MAAM,cACT,MAAM,mBACD,GAAG,SACb,KAAK,qBACO,MAAM,EAAE,YACjB,MAAM,OAAO,CAAC,MAAM,CAAC,oBACb,OAAO,8DAqC1B,CAAC;AAEF,eAAO,MAAM,eAAe,SACpB,MAAM,iBACG,MAAM,mBACJ,GAAG,SACb,KAAK,qBACO,MAAM,EAAE,YACjB,MAAM,OAAO,CAAC,MAAM,CAAC,oBACb,OAAO,8DAgC1B,CAAC;AAEF,eAAO,MAAM,kBAAkB,OACzB,MAAM,SACH,KAAK,YACF,MAAM,OAAO,CAAC,MAAM,CAAC,kDAoBhC,CAAC"}
1
+ {"version":3,"file":"dataEditor.d.ts","sourceRoot":"","sources":["../../../src/utils/dataEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAGzC,eAAO,MAAM,gBAAgB,GAC3B,UAAU,MAAM,EAChB,eAAe,MAAM,EACrB,YAAY,MAAM,EAClB,iBAAiB,GAAG,EACpB,OAAO,KAAK,EACZ,mBAAmB,MAAM,EAAE,EAC3B,UAAU,MAAM,OAAO,CAAC,MAAM,CAAC,EAC/B,kBAAkB,OAAO,8DAqC1B,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,MAAM,MAAM,EACZ,eAAe,MAAM,EACrB,iBAAiB,GAAG,EACpB,OAAO,KAAK,EACZ,mBAAmB,MAAM,EAAE,EAC3B,UAAU,MAAM,OAAO,CAAC,MAAM,CAAC,EAC/B,kBAAkB,OAAO,8DAgC1B,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAC7B,IAAI,MAAM,EACV,OAAO,KAAK,EACZ,UAAU,MAAM,OAAO,CAAC,MAAM,CAAC,kDAoBhC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"dataFetcher.d.ts","sourceRoot":"","sources":["../../../src/utils/dataFetcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAG/C,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,IAAI,CACV,mBAAmB,EACnB,UAAU,GAAG,eAAe,GAAG,cAAc,GAAG,iBAAiB,CAClE,CAAC;IACF,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,GAAG,CAAC;IACd,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IAChC,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,UAAU,2FASpB,iBAAiB,KAAG,OAAO,CAAC,YAAY,CAwD1C,CAAC"}
1
+ {"version":3,"file":"dataFetcher.d.ts","sourceRoot":"","sources":["../../../src/utils/dataFetcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAG/C,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,IAAI,CACV,mBAAmB,EACnB,UAAU,GAAG,eAAe,GAAG,cAAc,GAAG,iBAAiB,CAClE,CAAC;IACF,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,GAAG,CAAC;IACd,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IAChC,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,UAAU,GAAU,wFAS9B,iBAAiB,KAAG,OAAO,CAAC,YAAY,CAuD1C,CAAC"}
@@ -12,7 +12,6 @@ export const quillFetch = async ({ client, task, method = 'POST', metadata, abor
12
12
  ...(token ? { Authorization: `Bearer ${token}` } : {}),
13
13
  ...client.queryHeaders,
14
14
  'Content-Type': 'application/json',
15
- 'Vercel-Env': process.env.NEXT_PUBLIC_VERCEL_ENV ?? 'production',
16
15
  },
17
16
  body: JSON.stringify({
18
17
  metadata: {
@@ -44,7 +44,12 @@ export interface SnowflakeConnection extends DatabaseConnection {
44
44
  export interface BigQueryConnection extends DatabaseConnection {
45
45
  jsonString: string;
46
46
  }
47
- export type ConnectionType = DatabaseConnection | PostgresConnection | MySQLConnection | SnowflakeConnection | BigQueryConnection | ClickHouseConnection | SQLServerConnection;
47
+ export interface DatabricksConnection extends DatabaseConnection {
48
+ host: string;
49
+ path: string;
50
+ token: string;
51
+ }
52
+ export type ConnectionType = DatabaseConnection | PostgresConnection | MySQLConnection | SnowflakeConnection | BigQueryConnection | ClickHouseConnection | SQLServerConnection | DatabricksConnection;
48
53
  export interface DatabaseDefaultInfo {
49
54
  label: string;
50
55
  value: string;
@@ -1 +1 @@
1
- {"version":3,"file":"databases.d.ts","sourceRoot":"","sources":["../../../src/utils/databases.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,kBAAmB,SAAQ,kBAAkB;IAC5D,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,oBAAqB,SAAQ,kBAAkB;IAC9D,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,eAAgB,SAAQ,kBAAkB;IACzD,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,mBAAoB,SAAQ,kBAAkB;IAC7D,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,mBAAoB,SAAQ,kBAAkB;IAC7D,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAmB,SAAQ,kBAAkB;IAC5D,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,cAAc,GACtB,kBAAkB,GAClB,kBAAkB,GAClB,eAAe,GACf,mBAAmB,GACnB,kBAAkB,GAClB,oBAAoB,GACpB,mBAAmB,CAAC;AAExB,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,qBAAqB,EAAE,mBAAmB,EAoCtD,CAAC;AAEF,wBAAgB,2BAA2B,CACzC,YAAY,EAAE,MAAM,GACnB,cAAc,CA0DhB;AAED,wBAAgB,oBAAoB,CAAC,UAAU,CAAC,EAAE,kBAAkB,UA6CnE"}
1
+ {"version":3,"file":"databases.d.ts","sourceRoot":"","sources":["../../../src/utils/databases.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,kBAAmB,SAAQ,kBAAkB;IAC5D,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,oBAAqB,SAAQ,kBAAkB;IAC9D,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,eAAgB,SAAQ,kBAAkB;IACzD,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,mBAAoB,SAAQ,kBAAkB;IAC7D,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,mBAAoB,SAAQ,kBAAkB;IAC7D,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAmB,SAAQ,kBAAkB;IAC5D,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,oBAAqB,SAAQ,kBAAkB;IAC9D,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,cAAc,GACtB,kBAAkB,GAClB,kBAAkB,GAClB,eAAe,GACf,mBAAmB,GACnB,kBAAkB,GAClB,oBAAoB,GACpB,mBAAmB,GACnB,oBAAoB,CAAC;AAEzB,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,qBAAqB,EAAE,mBAAmB,EA0CtD,CAAC;AAEF,wBAAgB,2BAA2B,CACzC,YAAY,EAAE,MAAM,GACnB,cAAc,CAkEhB;AAED,wBAAgB,oBAAoB,CAAC,UAAU,CAAC,EAAE,kBAAkB,UAmDnE"}
@@ -29,9 +29,14 @@ export const DATABASE_DEFAULT_INFO = [
29
29
  value: 'BigQuery',
30
30
  imageUrl: 'https://www.gstatic.com/bricks/image/702bc723dcfcddf8942bb459be20163106a5f64ed91404df38c73ca955f96260.svg',
31
31
  },
32
+ {
33
+ label: 'Databricks',
34
+ value: 'Databricks',
35
+ imageUrl: 'https://cdn.bfldr.com/9AYANS2F/at/k8bgnnxhb4bggjk88r4x9snf/databricks-symbol-color.svg?auto=webp&format=png',
36
+ },
32
37
  ];
33
38
  export function getDatabaseConnectionFormat(databaseName) {
34
- if (databaseName === 'MySQL') {
39
+ if (databaseName.toLowerCase() === 'mysql') {
35
40
  return {
36
41
  user: '',
37
42
  password: '',
@@ -42,7 +47,7 @@ export function getDatabaseConnectionFormat(databaseName) {
42
47
  connectionString: '',
43
48
  };
44
49
  }
45
- else if (databaseName === 'Snowflake') {
50
+ else if (databaseName.toLowerCase() === 'snowflake') {
46
51
  return {
47
52
  user: '',
48
53
  password: '',
@@ -53,14 +58,14 @@ export function getDatabaseConnectionFormat(databaseName) {
53
58
  connectionString: '',
54
59
  };
55
60
  }
56
- else if (databaseName === 'BigQuery') {
61
+ else if (databaseName.toLowerCase() === 'bigquery') {
57
62
  return {
58
63
  type: 'BigQuery',
59
64
  connectionString: '',
60
65
  jsonString: '',
61
66
  };
62
67
  }
63
- else if (databaseName === 'ClickHouse') {
68
+ else if (databaseName.toLowerCase() === 'clickhouse') {
64
69
  return {
65
70
  user: '',
66
71
  password: '',
@@ -70,7 +75,7 @@ export function getDatabaseConnectionFormat(databaseName) {
70
75
  connectionString: '',
71
76
  };
72
77
  }
73
- else if (databaseName === 'MSSQL') {
78
+ else if (databaseName.toLowerCase() === 'mssql') {
74
79
  return {
75
80
  user: '',
76
81
  password: '',
@@ -81,6 +86,15 @@ export function getDatabaseConnectionFormat(databaseName) {
81
86
  connectionString: '',
82
87
  };
83
88
  }
89
+ else if (databaseName.toLowerCase() === 'databricks') {
90
+ return {
91
+ host: '',
92
+ path: '',
93
+ token: '',
94
+ type: 'Databricks',
95
+ connectionString: '',
96
+ };
97
+ }
84
98
  else {
85
99
  // Postgres by default
86
100
  return {
@@ -128,5 +142,9 @@ export function formConnectionString(connection) {
128
142
  const typedConnection = connection;
129
143
  return `mssql://${typedConnection.user}:${typedConnection.password}@${typedConnection.host}:${typedConnection.port}/${typedConnection.databaseName}`.replaceAll(' ', '');
130
144
  }
145
+ else if (connection.type === 'Databricks') {
146
+ const typedConnection = connection;
147
+ return `databricks://databricks:${typedConnection.token}@${typedConnection.host}/${typedConnection.path.replace(/^\//, '')}`.replaceAll(' ', '');
148
+ }
131
149
  return '';
132
150
  }
@@ -1 +1 @@
1
- {"version":3,"file":"delay.d.ts","sourceRoot":"","sources":["../../../src/utils/delay.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,KAAK,OAAQ,MAAM,qBAE/B,CAAC"}
1
+ {"version":3,"file":"delay.d.ts","sourceRoot":"","sources":["../../../src/utils/delay.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,KAAK,GAAI,IAAI,MAAM,qBAE/B,CAAC"}