@solidxai/core-ui 0.1.12-beta.0 → 0.1.12-beta.2

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 (241) hide show
  1. package/dist/components/auth/AuthLayout.d.ts.map +1 -1
  2. package/dist/components/auth/AuthLayout.js +15 -19
  3. package/dist/components/auth/AuthLayout.js.map +1 -1
  4. package/dist/components/auth/AuthLayout.tsx +26 -20
  5. package/dist/components/auth/SolidLogin.d.ts.map +1 -1
  6. package/dist/components/auth/SolidLogin.js +6 -3
  7. package/dist/components/auth/SolidLogin.js.map +1 -1
  8. package/dist/components/auth/SolidLogin.tsx +16 -2
  9. package/dist/components/auth/SolidRegister.d.ts.map +1 -1
  10. package/dist/components/auth/SolidRegister.js +7 -4
  11. package/dist/components/auth/SolidRegister.js.map +1 -1
  12. package/dist/components/auth/SolidRegister.tsx +16 -2
  13. package/dist/components/common/BackButton.js +1 -1
  14. package/dist/components/common/BackButton.js.map +1 -1
  15. package/dist/components/common/BackButton.tsx +1 -1
  16. package/dist/components/common/CancelButton.js +1 -1
  17. package/dist/components/common/CancelButton.js.map +1 -1
  18. package/dist/components/common/CancelButton.tsx +1 -1
  19. package/dist/components/common/GeneralSettings.d.ts.map +1 -1
  20. package/dist/components/common/GeneralSettings.js +6 -33
  21. package/dist/components/common/GeneralSettings.js.map +1 -1
  22. package/dist/components/common/GeneralSettings.tsx +20 -57
  23. package/dist/components/common/SettingsComponent.d.ts.map +1 -1
  24. package/dist/components/common/SettingsComponent.js +1 -9
  25. package/dist/components/common/SettingsComponent.js.map +1 -1
  26. package/dist/components/common/SettingsComponent.tsx +1 -8
  27. package/dist/components/common/SolidBreadcrumb.js +1 -1
  28. package/dist/components/common/SolidBreadcrumb.js.map +1 -1
  29. package/dist/components/common/SolidBreadcrumb.tsx +2 -2
  30. package/dist/components/common/SolidFaviconProvider.d.ts.map +1 -1
  31. package/dist/components/common/SolidFaviconProvider.js +1 -8
  32. package/dist/components/common/SolidFaviconProvider.js.map +1 -1
  33. package/dist/components/common/SolidFaviconProvider.tsx +1 -7
  34. package/dist/components/common/SolidLoadingState.d.ts +10 -0
  35. package/dist/components/common/SolidLoadingState.d.ts.map +1 -0
  36. package/dist/components/common/SolidLoadingState.js +8 -0
  37. package/dist/components/common/SolidLoadingState.js.map +1 -0
  38. package/dist/components/common/SolidLoadingState.module.css +56 -0
  39. package/dist/components/common/SolidLoadingState.tsx +28 -0
  40. package/dist/components/core/card/CardItem.d.ts.map +1 -1
  41. package/dist/components/core/card/CardItem.js +3 -4
  42. package/dist/components/core/card/CardItem.js.map +1 -1
  43. package/dist/components/core/card/CardItem.tsx +3 -4
  44. package/dist/components/core/card/SolidCardView.d.ts.map +1 -1
  45. package/dist/components/core/card/SolidCardView.js +6 -1
  46. package/dist/components/core/card/SolidCardView.js.map +1 -1
  47. package/dist/components/core/card/SolidCardView.tsx +6 -1
  48. package/dist/components/core/card/SolidCardViewConfigure.d.ts.map +1 -1
  49. package/dist/components/core/card/SolidCardViewConfigure.js +4 -1
  50. package/dist/components/core/card/SolidCardViewConfigure.js.map +1 -1
  51. package/dist/components/core/card/SolidCardViewConfigure.tsx +4 -1
  52. package/dist/components/core/common/SolidCreateButton.d.ts.map +1 -1
  53. package/dist/components/core/common/SolidCreateButton.js +2 -13
  54. package/dist/components/core/common/SolidCreateButton.js.map +1 -1
  55. package/dist/components/core/common/SolidCreateButton.tsx +2 -15
  56. package/dist/components/core/common/SolidGlobalSearchElement.d.ts.map +1 -1
  57. package/dist/components/core/common/SolidGlobalSearchElement.js +34 -15
  58. package/dist/components/core/common/SolidGlobalSearchElement.js.map +1 -1
  59. package/dist/components/core/common/SolidGlobalSearchElement.tsx +37 -17
  60. package/dist/components/core/extension/solid-core/modelMetadata/list/GenerateModelCodeRowAction.js +15 -13
  61. package/dist/components/core/extension/solid-core/modelMetadata/list/GenerateModelCodeRowAction.js.map +1 -1
  62. package/dist/components/core/extension/solid-core/modelMetadata/list/GenerateModelCodeRowAction.tsx +4 -4
  63. package/dist/components/core/extension/solid-core/moduleMetadata/list/GenerateModuleCodeRowAction.js +6 -5
  64. package/dist/components/core/extension/solid-core/moduleMetadata/list/GenerateModuleCodeRowAction.js.map +1 -1
  65. package/dist/components/core/extension/solid-core/moduleMetadata/list/GenerateModuleCodeRowAction.tsx +1 -1
  66. package/dist/components/core/form/SolidFormFooter.d.ts +2 -1
  67. package/dist/components/core/form/SolidFormFooter.d.ts.map +1 -1
  68. package/dist/components/core/form/SolidFormFooter.js +48 -14
  69. package/dist/components/core/form/SolidFormFooter.js.map +1 -1
  70. package/dist/components/core/form/SolidFormFooter.tsx +50 -4
  71. package/dist/components/core/form/SolidFormView.d.ts.map +1 -1
  72. package/dist/components/core/form/SolidFormView.js +52 -50
  73. package/dist/components/core/form/SolidFormView.js.map +1 -1
  74. package/dist/components/core/form/SolidFormView.tsx +16 -9
  75. package/dist/components/core/json/SolidJsonEditor.css +195 -0
  76. package/dist/components/core/json/SolidJsonEditor.d.ts +19 -0
  77. package/dist/components/core/json/SolidJsonEditor.d.ts.map +1 -0
  78. package/dist/components/core/json/SolidJsonEditor.js +109 -0
  79. package/dist/components/core/json/SolidJsonEditor.js.map +1 -0
  80. package/dist/components/core/json/SolidJsonEditor.tsx +150 -0
  81. package/dist/components/core/kanban/KanbanCard.d.ts.map +1 -1
  82. package/dist/components/core/kanban/KanbanCard.js +2 -10
  83. package/dist/components/core/kanban/KanbanCard.js.map +1 -1
  84. package/dist/components/core/kanban/KanbanCard.tsx +2 -10
  85. package/dist/components/core/kanban/SolidKanbanView.d.ts.map +1 -1
  86. package/dist/components/core/kanban/SolidKanbanView.js +11 -4
  87. package/dist/components/core/kanban/SolidKanbanView.js.map +1 -1
  88. package/dist/components/core/kanban/SolidKanbanView.tsx +13 -5
  89. package/dist/components/core/list/SolidListView.d.ts +2 -0
  90. package/dist/components/core/list/SolidListView.d.ts.map +1 -1
  91. package/dist/components/core/list/SolidListView.js +195 -111
  92. package/dist/components/core/list/SolidListView.js.map +1 -1
  93. package/dist/components/core/list/SolidListView.tsx +136 -39
  94. package/dist/components/core/list/SolidListViewConfigure.d.ts.map +1 -1
  95. package/dist/components/core/list/SolidListViewConfigure.js +2 -0
  96. package/dist/components/core/list/SolidListViewConfigure.js.map +1 -1
  97. package/dist/components/core/list/SolidListViewConfigure.tsx +2 -0
  98. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.d.ts.map +1 -1
  99. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.js +16 -19
  100. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.js.map +1 -1
  101. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.tsx +16 -22
  102. package/dist/components/core/locales/SolidChatterLocaleTabView.d.ts.map +1 -1
  103. package/dist/components/core/locales/SolidChatterLocaleTabView.js +9 -8
  104. package/dist/components/core/locales/SolidChatterLocaleTabView.js.map +1 -1
  105. package/dist/components/core/locales/SolidChatterLocaleTabView.tsx +4 -1
  106. package/dist/components/core/locales/SolidLocale.d.ts.map +1 -1
  107. package/dist/components/core/locales/SolidLocale.js +1 -2
  108. package/dist/components/core/locales/SolidLocale.js.map +1 -1
  109. package/dist/components/core/locales/SolidLocale.tsx +1 -2
  110. package/dist/components/core/model/CreateModel.d.ts.map +1 -1
  111. package/dist/components/core/model/CreateModel.js +1 -1
  112. package/dist/components/core/model/CreateModel.js.map +1 -1
  113. package/dist/components/core/model/CreateModel.tsx +0 -1
  114. package/dist/components/core/model/ModelMetaData.d.ts.map +1 -1
  115. package/dist/components/core/model/ModelMetaData.js +1 -2
  116. package/dist/components/core/model/ModelMetaData.js.map +1 -1
  117. package/dist/components/core/model/ModelMetaData.tsx +1 -3
  118. package/dist/components/core/module/CreateModule.css +70 -2
  119. package/dist/components/core/module/CreateModule.d.ts.map +1 -1
  120. package/dist/components/core/module/CreateModule.js +2 -2
  121. package/dist/components/core/module/CreateModule.js.map +1 -1
  122. package/dist/components/core/module/CreateModule.tsx +13 -1
  123. package/dist/components/core/tree/SolidTreeView.d.ts.map +1 -1
  124. package/dist/components/core/tree/SolidTreeView.js +47 -26
  125. package/dist/components/core/tree/SolidTreeView.js.map +1 -1
  126. package/dist/components/core/tree/SolidTreeView.tsx +55 -23
  127. package/dist/components/layout/AdminTopHeader.js +2 -3
  128. package/dist/components/layout/AdminTopHeader.js.map +1 -1
  129. package/dist/components/layout/AdminTopHeader.tsx +2 -2
  130. package/dist/components/layout/AppSidebar.d.ts.map +1 -1
  131. package/dist/components/layout/AppSidebar.js +5 -2
  132. package/dist/components/layout/AppSidebar.js.map +1 -1
  133. package/dist/components/layout/AppSidebar.tsx +7 -4
  134. package/dist/components/layout/navbar-two-menu.d.ts.map +1 -1
  135. package/dist/components/layout/navbar-two-menu.js +6 -4
  136. package/dist/components/layout/navbar-two-menu.js.map +1 -1
  137. package/dist/components/layout/navbar-two-menu.tsx +4 -2
  138. package/dist/components/shad-cn-ui/SolidTabs.d.ts.map +1 -1
  139. package/dist/components/shad-cn-ui/SolidTabs.js +1 -1
  140. package/dist/components/shad-cn-ui/SolidTabs.js.map +1 -1
  141. package/dist/components/shad-cn-ui/SolidTabs.tsx +1 -0
  142. package/dist/constants/error-messages.d.ts +1 -0
  143. package/dist/constants/error-messages.d.ts.map +1 -1
  144. package/dist/constants/error-messages.js +1 -0
  145. package/dist/constants/error-messages.js.map +1 -1
  146. package/dist/constants/error-messages.ts +1 -0
  147. package/dist/helpers/assetUrl.d.ts +3 -0
  148. package/dist/helpers/assetUrl.d.ts.map +1 -0
  149. package/dist/helpers/assetUrl.js +22 -0
  150. package/dist/helpers/assetUrl.js.map +1 -0
  151. package/dist/helpers/assetUrl.ts +26 -0
  152. package/dist/helpers/modelViewPersistence.d.ts +5 -0
  153. package/dist/helpers/modelViewPersistence.d.ts.map +1 -0
  154. package/dist/helpers/modelViewPersistence.js +168 -0
  155. package/dist/helpers/modelViewPersistence.js.map +1 -0
  156. package/dist/helpers/modelViewPersistence.ts +201 -0
  157. package/dist/helpers/routePaths.d.ts +6 -0
  158. package/dist/helpers/routePaths.d.ts.map +1 -1
  159. package/dist/helpers/routePaths.js +13 -0
  160. package/dist/helpers/routePaths.js.map +1 -1
  161. package/dist/helpers/routePaths.ts +25 -0
  162. package/dist/index.d.ts +3 -0
  163. package/dist/index.d.ts.map +1 -1
  164. package/dist/index.js +3 -0
  165. package/dist/index.js.map +1 -1
  166. package/dist/index.ts +14 -0
  167. package/dist/redux/api/datasourceIntrospectionApi.d.ts +203 -0
  168. package/dist/redux/api/datasourceIntrospectionApi.d.ts.map +1 -0
  169. package/dist/redux/api/datasourceIntrospectionApi.js +71 -0
  170. package/dist/redux/api/datasourceIntrospectionApi.js.map +1 -0
  171. package/dist/redux/api/datasourceIntrospectionApi.ts +261 -0
  172. package/dist/redux/api/datasourceManagementApi.d.ts +46 -0
  173. package/dist/redux/api/datasourceManagementApi.d.ts.map +1 -0
  174. package/dist/redux/api/datasourceManagementApi.js +35 -0
  175. package/dist/redux/api/datasourceManagementApi.js.map +1 -0
  176. package/dist/redux/api/datasourceManagementApi.ts +86 -0
  177. package/dist/redux/api/solidServiceApi.d.ts +10 -2
  178. package/dist/redux/api/solidServiceApi.d.ts.map +1 -1
  179. package/dist/redux/api/solidServiceApi.js +2 -4
  180. package/dist/redux/api/solidServiceApi.js.map +1 -1
  181. package/dist/redux/api/solidServiceApi.ts +4 -6
  182. package/dist/redux/store/StoreProvider.d.ts.map +1 -1
  183. package/dist/redux/store/StoreProvider.js +4 -2
  184. package/dist/redux/store/StoreProvider.js.map +1 -1
  185. package/dist/redux/store/StoreProvider.tsx +9 -1
  186. package/dist/redux/store/defaultStoreConfig.d.ts +28 -1
  187. package/dist/redux/store/defaultStoreConfig.d.ts.map +1 -1
  188. package/dist/redux/store/defaultStoreConfig.js +4 -0
  189. package/dist/redux/store/defaultStoreConfig.js.map +1 -1
  190. package/dist/redux/store/defaultStoreConfig.ts +4 -0
  191. package/dist/resources/solid-custom.css +73 -16
  192. package/dist/routes/guards/AdminGuard.d.ts.map +1 -1
  193. package/dist/routes/guards/AdminGuard.js +2 -1
  194. package/dist/routes/guards/AdminGuard.js.map +1 -1
  195. package/dist/routes/guards/AdminGuard.tsx +7 -1
  196. package/dist/routes/guards/AuthGuard.d.ts.map +1 -1
  197. package/dist/routes/guards/AuthGuard.js +2 -1
  198. package/dist/routes/guards/AuthGuard.js.map +1 -1
  199. package/dist/routes/guards/AuthGuard.tsx +8 -2
  200. package/dist/routes/guards/GuestGuard.d.ts.map +1 -1
  201. package/dist/routes/guards/GuestGuard.js +2 -1
  202. package/dist/routes/guards/GuestGuard.js.map +1 -1
  203. package/dist/routes/guards/GuestGuard.tsx +8 -2
  204. package/dist/routes/pages/admin/core/CardPage.d.ts.map +1 -1
  205. package/dist/routes/pages/admin/core/CardPage.js +11 -0
  206. package/dist/routes/pages/admin/core/CardPage.js.map +1 -1
  207. package/dist/routes/pages/admin/core/CardPage.tsx +13 -0
  208. package/dist/routes/pages/admin/core/DashboardPage.d.ts.map +1 -1
  209. package/dist/routes/pages/admin/core/DashboardPage.js +7 -5
  210. package/dist/routes/pages/admin/core/DashboardPage.js.map +1 -1
  211. package/dist/routes/pages/admin/core/DashboardPage.module.css +18 -0
  212. package/dist/routes/pages/admin/core/DashboardPage.tsx +50 -32
  213. package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.css +828 -0
  214. package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.d.ts +3 -0
  215. package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.d.ts.map +1 -0
  216. package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.js +947 -0
  217. package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.js.map +1 -0
  218. package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.tsx +1719 -0
  219. package/dist/routes/pages/admin/core/DatasourcesPage.css +337 -0
  220. package/dist/routes/pages/admin/core/DatasourcesPage.d.ts +3 -0
  221. package/dist/routes/pages/admin/core/DatasourcesPage.d.ts.map +1 -0
  222. package/dist/routes/pages/admin/core/DatasourcesPage.js +221 -0
  223. package/dist/routes/pages/admin/core/DatasourcesPage.js.map +1 -0
  224. package/dist/routes/pages/admin/core/DatasourcesPage.tsx +540 -0
  225. package/dist/routes/pages/admin/core/KanbanPage.d.ts.map +1 -1
  226. package/dist/routes/pages/admin/core/KanbanPage.js +11 -0
  227. package/dist/routes/pages/admin/core/KanbanPage.js.map +1 -1
  228. package/dist/routes/pages/admin/core/KanbanPage.tsx +13 -0
  229. package/dist/routes/pages/admin/core/ListPage.d.ts.map +1 -1
  230. package/dist/routes/pages/admin/core/ListPage.js +25 -2
  231. package/dist/routes/pages/admin/core/ListPage.js.map +1 -1
  232. package/dist/routes/pages/admin/core/ListPage.tsx +29 -2
  233. package/dist/routes/pages/admin/core/TreePage.d.ts.map +1 -1
  234. package/dist/routes/pages/admin/core/TreePage.js +10 -2
  235. package/dist/routes/pages/admin/core/TreePage.js.map +1 -1
  236. package/dist/routes/pages/admin/core/TreePage.tsx +11 -2
  237. package/dist/routes/solidRoutes.d.ts.map +1 -1
  238. package/dist/routes/solidRoutes.js +5 -1
  239. package/dist/routes/solidRoutes.js.map +1 -1
  240. package/dist/routes/solidRoutes.tsx +4 -0
  241. package/package.json +1 -1
@@ -0,0 +1,261 @@
1
+ import { createApi } from "@reduxjs/toolkit/query/react";
2
+ import { baseQueryWithAuth } from "./fetchBaseQuery";
3
+
4
+ export type DatasourceIntrospectionBootstrap = {
5
+ module: {
6
+ id: number;
7
+ name: string;
8
+ displayName: string;
9
+ description: string;
10
+ defaultDataSource: string;
11
+ };
12
+ datasources: Array<{
13
+ name: string;
14
+ displayName: string;
15
+ type: string;
16
+ envPrefix: string;
17
+ isDefault: boolean;
18
+ synchronize: boolean | null;
19
+ host: string;
20
+ port: number | null;
21
+ database: string;
22
+ }>;
23
+ recommendedDatasourceName: string | null;
24
+ };
25
+
26
+ export type DatasourceIntrospectionTableRecord = {
27
+ schema: string | null;
28
+ tableName: string;
29
+ mapped: boolean;
30
+ mappedModelId: number | null;
31
+ mappedModelSingularName: string | null;
32
+ mappedModelDisplayName: string | null;
33
+ mappedModuleId: number | null;
34
+ mappedModuleName: string | null;
35
+ mappedModuleDisplayName: string | null;
36
+ suggestedLegacyTableType: "none" | "existing_id" | "generated_id";
37
+ suggestedBaseClassName: string;
38
+ suggestedIdColumnName: string | null;
39
+ suggestedUserKeyField: string;
40
+ columnCount: number;
41
+ physicalColumnCount: number;
42
+ };
43
+
44
+ export type DatasourceIntrospectionTablesResponse = {
45
+ module: DatasourceIntrospectionBootstrap["module"];
46
+ datasource: DatasourceIntrospectionBootstrap["datasources"][number];
47
+ synchronizeBlocked: boolean;
48
+ synchronizeMessage: string | null;
49
+ records: DatasourceIntrospectionTableRecord[];
50
+ meta: {
51
+ totalRecords: number;
52
+ };
53
+ };
54
+
55
+ export type DatasourceIntrospectionTableDetail = {
56
+ module: DatasourceIntrospectionBootstrap["module"];
57
+ datasource: DatasourceIntrospectionBootstrap["datasources"][number];
58
+ table: DatasourceIntrospectionTableRecord;
59
+ columns: Array<{
60
+ columnName: string;
61
+ fieldName: string;
62
+ dataType: string;
63
+ solidFieldType: string;
64
+ ormType: string;
65
+ nullable: boolean;
66
+ defaultValue: string | null;
67
+ characterMaximumLength: number | null;
68
+ numericPrecision: number | null;
69
+ numericScale: number | null;
70
+ ordinalPosition: number | null;
71
+ isAutoGenerated: boolean;
72
+ handledBySuperclass: boolean;
73
+ superclassFieldName: string | null;
74
+ }>;
75
+ rawDdl: {
76
+ statement: string | null;
77
+ available: boolean;
78
+ note: string | null;
79
+ };
80
+ userKeyCandidates: Array<{
81
+ name: string;
82
+ label: string;
83
+ score: number;
84
+ reason: string;
85
+ isDefault: boolean;
86
+ }>;
87
+ suggestedMetadata: {
88
+ singularName: string;
89
+ pluralName: string;
90
+ displayName: string;
91
+ tableName: string;
92
+ schema: string | null;
93
+ dataSource: string;
94
+ dataSourceType: string;
95
+ legacyTableType: "none" | "existing_id" | "generated_id";
96
+ baseClassName: string;
97
+ userKeyField: string;
98
+ synchronize: false;
99
+ };
100
+ };
101
+
102
+ export type DatasourceIntrospectionMappingColumn = {
103
+ columnName: string;
104
+ fieldName: string;
105
+ dataType: string;
106
+ solidFieldType: string;
107
+ ormType: string;
108
+ nullable: boolean;
109
+ defaultValue: string | null;
110
+ characterMaximumLength: number | null;
111
+ numericPrecision: number | null;
112
+ numericScale: number | null;
113
+ ordinalPosition: number | null;
114
+ isAutoGenerated: boolean;
115
+ handledBySuperclass: boolean;
116
+ superclassFieldName: string | null;
117
+ fieldId: number | null;
118
+ include: boolean;
119
+ matched: boolean;
120
+ isPrimaryKey: boolean;
121
+ };
122
+
123
+ export type DatasourceIntrospectionMappingRequest = {
124
+ mapped: boolean;
125
+ modelId: number | null;
126
+ singularName: string;
127
+ pluralName: string;
128
+ displayName: string;
129
+ description: string;
130
+ tableName: string;
131
+ schema: string | null;
132
+ dataSource: string;
133
+ dataSourceType: string;
134
+ legacyTableType: "none" | "existing_id" | "generated_id";
135
+ baseClassName: string;
136
+ userKeyField: string;
137
+ enableAuditTracking: boolean;
138
+ enableSoftDelete: boolean;
139
+ draftPublishWorkflow: boolean;
140
+ internationalisation: boolean;
141
+ plannedMigrationTimestamp?: number | null;
142
+ columns: DatasourceIntrospectionMappingColumn[];
143
+ reviewedModel?: Record<string, any>;
144
+ };
145
+
146
+ export type DatasourceIntrospectionMappingPreview = {
147
+ operation: "create" | "update";
148
+ mappedModelId: number | null;
149
+ metadataJson: {
150
+ filePath: string;
151
+ model: Record<string, any>;
152
+ };
153
+ migration: {
154
+ willGenerate: boolean;
155
+ filePath: string | null;
156
+ fileName: string | null;
157
+ className: string | null;
158
+ timestamp: number | null;
159
+ content: string | null;
160
+ note: string;
161
+ missingSystemColumns: string[];
162
+ };
163
+ summary: {
164
+ includedColumnNames: string[];
165
+ removedColumnNames: string[];
166
+ missingSystemColumns: string[];
167
+ generatedSystemColumnCount: number;
168
+ };
169
+ };
170
+
171
+ export type DatasourceIntrospectionApplyResponse = DatasourceIntrospectionMappingPreview & {
172
+ modelId: number | null;
173
+ migration: DatasourceIntrospectionMappingPreview["migration"] & {
174
+ written: boolean;
175
+ };
176
+ };
177
+
178
+ function unwrapEnvelope<T = any>(payload: any): T {
179
+ let current = payload;
180
+
181
+ while (
182
+ current
183
+ && typeof current === "object"
184
+ && "data" in current
185
+ && current.data !== undefined
186
+ ) {
187
+ current = current.data;
188
+ }
189
+
190
+ return current as T;
191
+ }
192
+
193
+ export const datasourceIntrospectionApi = createApi({
194
+ reducerPath: "datasourceIntrospectionApi",
195
+ baseQuery: baseQueryWithAuth,
196
+ tagTypes: ["DatasourceIntrospection"],
197
+ endpoints: (builder) => ({
198
+ getDatasourceIntrospectionBootstrap: builder.query<DatasourceIntrospectionBootstrap, number>({
199
+ query: (moduleId) => `/datasource-introspection/modules/${moduleId}/bootstrap`,
200
+ providesTags: ["DatasourceIntrospection"],
201
+ transformResponse: (response: any) => unwrapEnvelope<DatasourceIntrospectionBootstrap>(response),
202
+ }),
203
+ getDatasourceIntrospectionTables: builder.query<
204
+ DatasourceIntrospectionTablesResponse,
205
+ { moduleId: number; datasource: string }
206
+ >({
207
+ query: ({ moduleId, datasource }) =>
208
+ `/datasource-introspection/modules/${moduleId}/tables?datasource=${encodeURIComponent(datasource)}`,
209
+ providesTags: ["DatasourceIntrospection"],
210
+ transformResponse: (response: any) => unwrapEnvelope<DatasourceIntrospectionTablesResponse>(response),
211
+ }),
212
+ getDatasourceIntrospectionTableDetail: builder.query<
213
+ DatasourceIntrospectionTableDetail,
214
+ { moduleId: number; datasource: string; table: string; schema?: string | null }
215
+ >({
216
+ query: ({ moduleId, datasource, table, schema }) => {
217
+ const searchParams = new URLSearchParams();
218
+ searchParams.set("datasource", datasource);
219
+ searchParams.set("table", table);
220
+ if (schema) {
221
+ searchParams.set("schema", schema);
222
+ }
223
+
224
+ return `/datasource-introspection/modules/${moduleId}/table-detail?${searchParams.toString()}`;
225
+ },
226
+ providesTags: ["DatasourceIntrospection"],
227
+ transformResponse: (response: any) => unwrapEnvelope<DatasourceIntrospectionTableDetail>(response),
228
+ }),
229
+ previewDatasourceIntrospectionMapping: builder.mutation<
230
+ DatasourceIntrospectionMappingPreview,
231
+ { moduleId: number; payload: DatasourceIntrospectionMappingRequest }
232
+ >({
233
+ query: ({ moduleId, payload }) => ({
234
+ url: `/datasource-introspection/modules/${moduleId}/mapping-preview`,
235
+ method: "POST",
236
+ body: payload,
237
+ }),
238
+ transformResponse: (response: any) => unwrapEnvelope<DatasourceIntrospectionMappingPreview>(response),
239
+ }),
240
+ applyDatasourceIntrospectionMapping: builder.mutation<
241
+ DatasourceIntrospectionApplyResponse,
242
+ { moduleId: number; payload: DatasourceIntrospectionMappingRequest }
243
+ >({
244
+ query: ({ moduleId, payload }) => ({
245
+ url: `/datasource-introspection/modules/${moduleId}/apply-mapping`,
246
+ method: "POST",
247
+ body: payload,
248
+ }),
249
+ invalidatesTags: ["DatasourceIntrospection"],
250
+ transformResponse: (response: any) => unwrapEnvelope<DatasourceIntrospectionApplyResponse>(response),
251
+ }),
252
+ }),
253
+ });
254
+
255
+ export const {
256
+ useGetDatasourceIntrospectionBootstrapQuery,
257
+ useGetDatasourceIntrospectionTablesQuery,
258
+ useGetDatasourceIntrospectionTableDetailQuery,
259
+ usePreviewDatasourceIntrospectionMappingMutation,
260
+ useApplyDatasourceIntrospectionMappingMutation,
261
+ } = datasourceIntrospectionApi;
@@ -0,0 +1,46 @@
1
+ export type DatasourceManagementRecord = {
2
+ name: string;
3
+ displayName: string;
4
+ type: "postgres" | "mysql" | "mssql" | string;
5
+ envPrefix: string;
6
+ isDefault: boolean;
7
+ host: string;
8
+ port: number | null;
9
+ database: string;
10
+ username: string;
11
+ passwordConfigured: boolean;
12
+ synchronize: boolean | null;
13
+ logging: boolean | null;
14
+ moduleFile: string;
15
+ envFile: string;
16
+ advanced: Record<string, any>;
17
+ };
18
+ export type CreateDatasourceManagementPayload = {
19
+ name: string;
20
+ displayName?: string;
21
+ type: "postgres" | "mysql" | "mssql";
22
+ host: string;
23
+ port: number;
24
+ database: string;
25
+ username: string;
26
+ password: string;
27
+ synchronize?: boolean;
28
+ logging?: boolean;
29
+ ssl?: boolean;
30
+ sslRejectUnauthorized?: boolean;
31
+ poolMax?: number;
32
+ connectionTimeoutMs?: number;
33
+ idleTimeoutMs?: number;
34
+ statementTimeoutMs?: number;
35
+ idleInTxTimeoutMs?: number;
36
+ retryAttempts?: number;
37
+ retryDelayMs?: number;
38
+ encrypt?: boolean;
39
+ trustServerCertificate?: boolean;
40
+ };
41
+ export declare const datasourceManagementApi: import("@reduxjs/toolkit/query/react").Api<import("@reduxjs/toolkit/query/react").BaseQueryFn<string | import("@reduxjs/toolkit/query/react").FetchArgs, unknown, import("@reduxjs/toolkit/query/react").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query/react").FetchBaseQueryMeta>, {
42
+ getDatasources: import("@reduxjs/toolkit/query/react").QueryDefinition<void, import("@reduxjs/toolkit/query/react").BaseQueryFn<string | import("@reduxjs/toolkit/query/react").FetchArgs, unknown, import("@reduxjs/toolkit/query/react").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query/react").FetchBaseQueryMeta>, "DatasourceManagement", DatasourceManagementRecord[], "datasourceManagementApi">;
43
+ createDatasource: import("@reduxjs/toolkit/query/react").MutationDefinition<CreateDatasourceManagementPayload, import("@reduxjs/toolkit/query/react").BaseQueryFn<string | import("@reduxjs/toolkit/query/react").FetchArgs, unknown, import("@reduxjs/toolkit/query/react").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query/react").FetchBaseQueryMeta>, "DatasourceManagement", DatasourceManagementRecord, "datasourceManagementApi">;
44
+ }, "datasourceManagementApi", "DatasourceManagement", typeof import("@reduxjs/toolkit/query/react").coreModuleName | typeof import("@reduxjs/toolkit/query/react").reactHooksModuleName>;
45
+ export declare const useGetDatasourcesQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseQuery<import("@reduxjs/toolkit/query/react").QueryDefinition<void, import("@reduxjs/toolkit/query/react").BaseQueryFn<string | import("@reduxjs/toolkit/query/react").FetchArgs, unknown, import("@reduxjs/toolkit/query/react").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query/react").FetchBaseQueryMeta>, "DatasourceManagement", DatasourceManagementRecord[], "datasourceManagementApi">>, useCreateDatasourceMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query/react").MutationDefinition<CreateDatasourceManagementPayload, import("@reduxjs/toolkit/query/react").BaseQueryFn<string | import("@reduxjs/toolkit/query/react").FetchArgs, unknown, import("@reduxjs/toolkit/query/react").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query/react").FetchBaseQueryMeta>, "DatasourceManagement", DatasourceManagementRecord, "datasourceManagementApi">>;
46
+ //# sourceMappingURL=datasourceManagementApi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datasourceManagementApi.d.ts","sourceRoot":"","sources":["../../../src/redux/api/datasourceManagementApi.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,0BAA0B,GAAG;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,UAAU,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,WAAW,EAAE,OAAO,GAAG,IAAI,CAAC;IAC5B,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,iCAAiC,GAAG;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,UAAU,GAAG,OAAO,GAAG,OAAO,CAAC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC,CAAC;AAiBF,eAAO,MAAM,uBAAuB;;;wLAoBlC,CAAC;AAEH,eAAO,MACL,sBAAsB,qcACtB,2BAA2B,oeACF,CAAC"}
@@ -0,0 +1,35 @@
1
+ import { createApi } from "@reduxjs/toolkit/query/react";
2
+ import { baseQueryWithAuth } from "./fetchBaseQuery";
3
+ function unwrapEnvelope(payload) {
4
+ var current = payload;
5
+ while (current
6
+ && typeof current === "object"
7
+ && "data" in current
8
+ && current.data !== undefined) {
9
+ current = current.data;
10
+ }
11
+ return current;
12
+ }
13
+ export var datasourceManagementApi = createApi({
14
+ reducerPath: "datasourceManagementApi",
15
+ baseQuery: baseQueryWithAuth,
16
+ tagTypes: ["DatasourceManagement"],
17
+ endpoints: function (builder) { return ({
18
+ getDatasources: builder.query({
19
+ query: function () { return "/datasource-management"; },
20
+ providesTags: ["DatasourceManagement"],
21
+ transformResponse: function (response) { var _a, _b; return (_b = (_a = unwrapEnvelope(response)) === null || _a === void 0 ? void 0 : _a.records) !== null && _b !== void 0 ? _b : []; },
22
+ }),
23
+ createDatasource: builder.mutation({
24
+ query: function (body) { return ({
25
+ url: "/datasource-management",
26
+ method: "POST",
27
+ body: body,
28
+ }); },
29
+ invalidatesTags: ["DatasourceManagement"],
30
+ transformResponse: function (response) { return unwrapEnvelope(response); },
31
+ }),
32
+ }); },
33
+ });
34
+ export var useGetDatasourcesQuery = datasourceManagementApi.useGetDatasourcesQuery, useCreateDatasourceMutation = datasourceManagementApi.useCreateDatasourceMutation;
35
+ //# sourceMappingURL=datasourceManagementApi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datasourceManagementApi.js","sourceRoot":"","sources":["../../../src/redux/api/datasourceManagementApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AA4CrD,SAAS,cAAc,CAAU,OAAY;IAC3C,IAAI,OAAO,GAAG,OAAO,CAAC;IAEtB,OACE,OAAO;WACJ,OAAO,OAAO,KAAK,QAAQ;WAC3B,MAAM,IAAI,OAAO;WACjB,OAAO,CAAC,IAAI,KAAK,SAAS,EAC7B;QACA,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;KACxB;IAED,OAAO,OAAY,CAAC;AACtB,CAAC;AAED,MAAM,CAAC,IAAM,uBAAuB,GAAG,SAAS,CAAC;IAC/C,WAAW,EAAE,yBAAyB;IACtC,SAAS,EAAE,iBAAiB;IAC5B,QAAQ,EAAE,CAAC,sBAAsB,CAAC;IAClC,SAAS,EAAE,UAAC,OAAO,IAAK,OAAA,CAAC;QACvB,cAAc,EAAE,OAAO,CAAC,KAAK,CAAqC;YAChE,KAAK,EAAE,cAAM,OAAA,wBAAwB,EAAxB,CAAwB;YACrC,YAAY,EAAE,CAAC,sBAAsB,CAAC;YACtC,iBAAiB,EAAE,UAAC,QAAa,gBAAK,OAAA,MAAA,MAAA,cAAc,CAA6C,QAAQ,CAAC,0CAAE,OAAO,mCAAI,EAAE,CAAA,EAAA;SAC1H,CAAC;QACF,gBAAgB,EAAE,OAAO,CAAC,QAAQ,CAAgE;YAChG,KAAK,EAAE,UAAC,IAAI,IAAK,OAAA,CAAC;gBAChB,GAAG,EAAE,wBAAwB;gBAC7B,MAAM,EAAE,MAAM;gBACd,IAAI,MAAA;aACL,CAAC,EAJe,CAIf;YACF,eAAe,EAAE,CAAC,sBAAsB,CAAC;YACzC,iBAAiB,EAAE,UAAC,QAAa,IAAK,OAAA,cAAc,CAA6B,QAAQ,CAAC,EAApD,CAAoD;SAC3F,CAAC;KACH,CAAC,EAfsB,CAetB;CACH,CAAC,CAAC;AAEH,MAAM,CACJ,IAAA,sBAAsB,GAEpB,uBAAuB,uBAFH,EACtB,2BAA2B,GACzB,uBAAuB,4BADE,CACD","sourcesContent":["import { createApi } from \"@reduxjs/toolkit/query/react\";\nimport { baseQueryWithAuth } from \"./fetchBaseQuery\";\n\nexport type DatasourceManagementRecord = {\n name: string;\n displayName: string;\n type: \"postgres\" | \"mysql\" | \"mssql\" | string;\n envPrefix: string;\n isDefault: boolean;\n host: string;\n port: number | null;\n database: string;\n username: string;\n passwordConfigured: boolean;\n synchronize: boolean | null;\n logging: boolean | null;\n moduleFile: string;\n envFile: string;\n advanced: Record<string, any>;\n};\n\nexport type CreateDatasourceManagementPayload = {\n name: string;\n displayName?: string;\n type: \"postgres\" | \"mysql\" | \"mssql\";\n host: string;\n port: number;\n database: string;\n username: string;\n password: string;\n synchronize?: boolean;\n logging?: boolean;\n ssl?: boolean;\n sslRejectUnauthorized?: boolean;\n poolMax?: number;\n connectionTimeoutMs?: number;\n idleTimeoutMs?: number;\n statementTimeoutMs?: number;\n idleInTxTimeoutMs?: number;\n retryAttempts?: number;\n retryDelayMs?: number;\n encrypt?: boolean;\n trustServerCertificate?: boolean;\n};\n\nfunction unwrapEnvelope<T = any>(payload: any): T {\n let current = payload;\n\n while (\n current\n && typeof current === \"object\"\n && \"data\" in current\n && current.data !== undefined\n ) {\n current = current.data;\n }\n\n return current as T;\n}\n\nexport const datasourceManagementApi = createApi({\n reducerPath: \"datasourceManagementApi\",\n baseQuery: baseQueryWithAuth,\n tagTypes: [\"DatasourceManagement\"],\n endpoints: (builder) => ({\n getDatasources: builder.query<DatasourceManagementRecord[], void>({\n query: () => \"/datasource-management\",\n providesTags: [\"DatasourceManagement\"],\n transformResponse: (response: any) => unwrapEnvelope<{ records?: DatasourceManagementRecord[] }>(response)?.records ?? [],\n }),\n createDatasource: builder.mutation<DatasourceManagementRecord, CreateDatasourceManagementPayload>({\n query: (body) => ({\n url: \"/datasource-management\",\n method: \"POST\",\n body,\n }),\n invalidatesTags: [\"DatasourceManagement\"],\n transformResponse: (response: any) => unwrapEnvelope<DatasourceManagementRecord>(response),\n }),\n }),\n});\n\nexport const {\n useGetDatasourcesQuery,\n useCreateDatasourceMutation,\n} = datasourceManagementApi;\n"]}
@@ -0,0 +1,86 @@
1
+ import { createApi } from "@reduxjs/toolkit/query/react";
2
+ import { baseQueryWithAuth } from "./fetchBaseQuery";
3
+
4
+ export type DatasourceManagementRecord = {
5
+ name: string;
6
+ displayName: string;
7
+ type: "postgres" | "mysql" | "mssql" | string;
8
+ envPrefix: string;
9
+ isDefault: boolean;
10
+ host: string;
11
+ port: number | null;
12
+ database: string;
13
+ username: string;
14
+ passwordConfigured: boolean;
15
+ synchronize: boolean | null;
16
+ logging: boolean | null;
17
+ moduleFile: string;
18
+ envFile: string;
19
+ advanced: Record<string, any>;
20
+ };
21
+
22
+ export type CreateDatasourceManagementPayload = {
23
+ name: string;
24
+ displayName?: string;
25
+ type: "postgres" | "mysql" | "mssql";
26
+ host: string;
27
+ port: number;
28
+ database: string;
29
+ username: string;
30
+ password: string;
31
+ synchronize?: boolean;
32
+ logging?: boolean;
33
+ ssl?: boolean;
34
+ sslRejectUnauthorized?: boolean;
35
+ poolMax?: number;
36
+ connectionTimeoutMs?: number;
37
+ idleTimeoutMs?: number;
38
+ statementTimeoutMs?: number;
39
+ idleInTxTimeoutMs?: number;
40
+ retryAttempts?: number;
41
+ retryDelayMs?: number;
42
+ encrypt?: boolean;
43
+ trustServerCertificate?: boolean;
44
+ };
45
+
46
+ function unwrapEnvelope<T = any>(payload: any): T {
47
+ let current = payload;
48
+
49
+ while (
50
+ current
51
+ && typeof current === "object"
52
+ && "data" in current
53
+ && current.data !== undefined
54
+ ) {
55
+ current = current.data;
56
+ }
57
+
58
+ return current as T;
59
+ }
60
+
61
+ export const datasourceManagementApi = createApi({
62
+ reducerPath: "datasourceManagementApi",
63
+ baseQuery: baseQueryWithAuth,
64
+ tagTypes: ["DatasourceManagement"],
65
+ endpoints: (builder) => ({
66
+ getDatasources: builder.query<DatasourceManagementRecord[], void>({
67
+ query: () => "/datasource-management",
68
+ providesTags: ["DatasourceManagement"],
69
+ transformResponse: (response: any) => unwrapEnvelope<{ records?: DatasourceManagementRecord[] }>(response)?.records ?? [],
70
+ }),
71
+ createDatasource: builder.mutation<DatasourceManagementRecord, CreateDatasourceManagementPayload>({
72
+ query: (body) => ({
73
+ url: "/datasource-management",
74
+ method: "POST",
75
+ body,
76
+ }),
77
+ invalidatesTags: ["DatasourceManagement"],
78
+ transformResponse: (response: any) => unwrapEnvelope<DatasourceManagementRecord>(response),
79
+ }),
80
+ }),
81
+ });
82
+
83
+ export const {
84
+ useGetDatasourcesQuery,
85
+ useCreateDatasourceMutation,
86
+ } = datasourceManagementApi;
@@ -1,12 +1,20 @@
1
1
  export declare const solidServiceApi: import("@reduxjs/toolkit/query/react").Api<import("@reduxjs/toolkit/query/react").BaseQueryFn<string | import("@reduxjs/toolkit/query/react").FetchArgs, unknown, import("@reduxjs/toolkit/query/react").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query/react").FetchBaseQueryMeta>, {
2
- seeder: import("@reduxjs/toolkit/query/react").MutationDefinition<any, import("@reduxjs/toolkit/query/react").BaseQueryFn<string | import("@reduxjs/toolkit/query/react").FetchArgs, unknown, import("@reduxjs/toolkit/query/react").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query/react").FetchBaseQueryMeta>, never, any, "solidServiceApi">;
2
+ seeder: import("@reduxjs/toolkit/query/react").MutationDefinition<string | {
3
+ seeder: string;
4
+ modulesToSeed?: string[] | undefined;
5
+ }, import("@reduxjs/toolkit/query/react").BaseQueryFn<string | import("@reduxjs/toolkit/query/react").FetchArgs, unknown, import("@reduxjs/toolkit/query/react").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query/react").FetchBaseQueryMeta>, never, any, "solidServiceApi">;
3
6
  codeGenerationPostProcess: import("@reduxjs/toolkit/query/react").MutationDefinition<{
4
7
  runModuleMetadataSeeder: boolean;
5
8
  runSolidIngestion: boolean;
9
+ modulesToSeed?: string[] | undefined;
6
10
  }, import("@reduxjs/toolkit/query/react").BaseQueryFn<string | import("@reduxjs/toolkit/query/react").FetchArgs, unknown, import("@reduxjs/toolkit/query/react").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query/react").FetchBaseQueryMeta>, never, any, "solidServiceApi">;
7
11
  }, "solidServiceApi", never, typeof import("@reduxjs/toolkit/query/react").coreModuleName | typeof import("@reduxjs/toolkit/query/react").reactHooksModuleName>;
8
- export declare const useSeederMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query/react").MutationDefinition<any, import("@reduxjs/toolkit/query/react").BaseQueryFn<string | import("@reduxjs/toolkit/query/react").FetchArgs, unknown, import("@reduxjs/toolkit/query/react").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query/react").FetchBaseQueryMeta>, never, any, "solidServiceApi">>, useCodeGenerationPostProcessMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query/react").MutationDefinition<{
12
+ export declare const useSeederMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query/react").MutationDefinition<string | {
13
+ seeder: string;
14
+ modulesToSeed?: string[] | undefined;
15
+ }, import("@reduxjs/toolkit/query/react").BaseQueryFn<string | import("@reduxjs/toolkit/query/react").FetchArgs, unknown, import("@reduxjs/toolkit/query/react").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query/react").FetchBaseQueryMeta>, never, any, "solidServiceApi">>, useCodeGenerationPostProcessMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query/react").MutationDefinition<{
9
16
  runModuleMetadataSeeder: boolean;
10
17
  runSolidIngestion: boolean;
18
+ modulesToSeed?: string[] | undefined;
11
19
  }, import("@reduxjs/toolkit/query/react").BaseQueryFn<string | import("@reduxjs/toolkit/query/react").FetchArgs, unknown, import("@reduxjs/toolkit/query/react").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query/react").FetchBaseQueryMeta>, never, any, "solidServiceApi">>;
12
20
  //# sourceMappingURL=solidServiceApi.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"solidServiceApi.d.ts","sourceRoot":"","sources":["../../../src/redux/api/solidServiceApi.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,eAAe;;;iCAc0D,OAAO;2BAAuB,OAAO;;+JAQzH,CAAC;AAEH,eAAO,MACH,iBAAiB,wZACjB,oCAAoC;6BAZ8C,OAAO;uBAAuB,OAAO;qRAaxG,CAAC"}
1
+ {"version":3,"file":"solidServiceApi.d.ts","sourceRoot":"","sources":["../../../src/redux/api/solidServiceApi.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,eAAe;;gBAIoB,MAAM;;;;iCAQgC,OAAO;2BAAuB,OAAO;;;+JAQzH,CAAC;AAEH,eAAO,MACH,iBAAiB;YAnB2B,MAAM;;uRAoBlD,oCAAoC;6BAZ8C,OAAO;uBAAuB,OAAO;;qRAaxG,CAAC"}
@@ -5,12 +5,10 @@ export var solidServiceApi = createApi({
5
5
  baseQuery: baseQueryWithAuth,
6
6
  endpoints: function (builder) { return ({
7
7
  seeder: builder.mutation({
8
- query: function (name) { return ({
8
+ query: function (payload) { return ({
9
9
  url: '/seed',
10
10
  method: 'POST',
11
- body: {
12
- "seeder": name
13
- }
11
+ body: typeof payload === 'string' ? { seeder: payload } : payload,
14
12
  }); },
15
13
  }),
16
14
  // Add a mutation for calling /code-generation/post-process, which takes an empty body
@@ -1 +1 @@
1
- {"version":3,"file":"solidServiceApi.js","sourceRoot":"","sources":["../../../src/redux/api/solidServiceApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,MAAM,CAAC,IAAM,eAAe,GAAG,SAAS,CAAC;IACrC,WAAW,EAAE,iBAAiB;IAC9B,SAAS,EAAE,iBAAiB;IAC5B,SAAS,EAAE,UAAC,OAAO,IAAK,OAAA,CAAC;QACrB,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC;YACrB,KAAK,EAAE,UAAC,IAAI,IAAK,OAAA,CAAC;gBACd,GAAG,EAAE,OAAO;gBACZ,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE;oBACF,QAAQ,EAAE,IAAI;iBACjB;aACJ,CAAC,EANe,CAMf;SACL,CAAC;QACF,sFAAsF;QACtF,yBAAyB,EAAE,OAAO,CAAC,QAAQ,CAA4E;YACnH,KAAK,EAAE,UAAC,OAAO,IAAK,OAAA,CAAC;gBACjB,GAAG,EAAE,+BAA+B;gBACpC,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,OAAO;aAChB,CAAC,EAJkB,CAIlB;SACL,CAAC;KACL,CAAC,EAlBsB,CAkBtB;CACL,CAAC,CAAC;AAEH,MAAM,CACF,IAAA,iBAAiB,GAEjB,eAAe,kBAFE,EACjB,oCAAoC,GACpC,eAAe,qCADqB,CACpB","sourcesContent":["import { createApi } from '@reduxjs/toolkit/query/react';\nimport { baseQueryWithAuth } from './fetchBaseQuery';\n\nexport const solidServiceApi = createApi({\n reducerPath: 'solidServiceApi',\n baseQuery: baseQueryWithAuth,\n endpoints: (builder) => ({\n seeder: builder.mutation({\n query: (name) => ({\n url: '/seed',\n method: 'POST',\n body: {\n \"seeder\": name\n }\n }),\n }),\n // Add a mutation for calling /code-generation/post-process, which takes an empty body\n codeGenerationPostProcess: builder.mutation<any, { \"runModuleMetadataSeeder\": boolean, \"runSolidIngestion\": boolean }>({\n query: (payload) => ({\n url: '/code-generation/post-process',\n method: 'POST',\n body: payload\n }),\n }),\n }),\n});\n\nexport const {\n useSeederMutation,\n useCodeGenerationPostProcessMutation\n} = solidServiceApi;\n"]}
1
+ {"version":3,"file":"solidServiceApi.js","sourceRoot":"","sources":["../../../src/redux/api/solidServiceApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,MAAM,CAAC,IAAM,eAAe,GAAG,SAAS,CAAC;IACrC,WAAW,EAAE,iBAAiB;IAC9B,SAAS,EAAE,iBAAiB;IAC5B,SAAS,EAAE,UAAC,OAAO,IAAK,OAAA,CAAC;QACrB,MAAM,EAAE,OAAO,CAAC,QAAQ,CAA6D;YACjF,KAAK,EAAE,UAAC,OAAO,IAAK,OAAA,CAAC;gBACjB,GAAG,EAAE,OAAO;gBACZ,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO;aACpE,CAAC,EAJkB,CAIlB;SACL,CAAC;QACF,sFAAsF;QACtF,yBAAyB,EAAE,OAAO,CAAC,QAAQ,CAAwG;YAC/I,KAAK,EAAE,UAAC,OAAO,IAAK,OAAA,CAAC;gBACjB,GAAG,EAAE,+BAA+B;gBACpC,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,OAAO;aAChB,CAAC,EAJkB,CAIlB;SACL,CAAC;KACL,CAAC,EAhBsB,CAgBtB;CACL,CAAC,CAAC;AAEH,MAAM,CACF,IAAA,iBAAiB,GAEjB,eAAe,kBAFE,EACjB,oCAAoC,GACpC,eAAe,qCADqB,CACpB","sourcesContent":["import { createApi } from '@reduxjs/toolkit/query/react';\nimport { baseQueryWithAuth } from './fetchBaseQuery';\n\nexport const solidServiceApi = createApi({\n reducerPath: 'solidServiceApi',\n baseQuery: baseQueryWithAuth,\n endpoints: (builder) => ({\n seeder: builder.mutation<any, { seeder: string, modulesToSeed?: string[] } | string>({\n query: (payload) => ({\n url: '/seed',\n method: 'POST',\n body: typeof payload === 'string' ? { seeder: payload } : payload,\n }),\n }),\n // Add a mutation for calling /code-generation/post-process, which takes an empty body\n codeGenerationPostProcess: builder.mutation<any, { \"runModuleMetadataSeeder\": boolean, \"runSolidIngestion\": boolean, \"modulesToSeed\"?: string[] }>({\n query: (payload) => ({\n url: '/code-generation/post-process',\n method: 'POST',\n body: payload\n }),\n }),\n }),\n});\n\nexport const {\n useSeederMutation,\n useCodeGenerationPostProcessMutation\n} = solidServiceApi;\n"]}
@@ -5,17 +5,15 @@ export const solidServiceApi = createApi({
5
5
  reducerPath: 'solidServiceApi',
6
6
  baseQuery: baseQueryWithAuth,
7
7
  endpoints: (builder) => ({
8
- seeder: builder.mutation({
9
- query: (name) => ({
8
+ seeder: builder.mutation<any, { seeder: string, modulesToSeed?: string[] } | string>({
9
+ query: (payload) => ({
10
10
  url: '/seed',
11
11
  method: 'POST',
12
- body: {
13
- "seeder": name
14
- }
12
+ body: typeof payload === 'string' ? { seeder: payload } : payload,
15
13
  }),
16
14
  }),
17
15
  // Add a mutation for calling /code-generation/post-process, which takes an empty body
18
- codeGenerationPostProcess: builder.mutation<any, { "runModuleMetadataSeeder": boolean, "runSolidIngestion": boolean }>({
16
+ codeGenerationPostProcess: builder.mutation<any, { "runModuleMetadataSeeder": boolean, "runSolidIngestion": boolean, "modulesToSeed"?: string[] }>({
19
17
  query: (payload) => ({
20
18
  url: '/code-generation/post-process',
21
19
  method: 'POST',
@@ -1 +1 @@
1
- {"version":3,"file":"StoreProvider.d.ts","sourceRoot":"","sources":["../../../src/redux/store/StoreProvider.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAE,gBAAgB,EAAmB,MAAM,oBAAoB,CAAC;AAWvE,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,QAAQ,EACR,WAAW,GACZ,EAAE;IACD,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,CAAC,EAAE,WAAW,CAAC,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAC3E,WAAW,CAAC,EAAE,WAAW,CAAC,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;CAClF,2CA6BA"}
1
+ {"version":3,"file":"StoreProvider.d.ts","sourceRoot":"","sources":["../../../src/redux/store/StoreProvider.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAE,gBAAgB,EAAmB,MAAM,oBAAoB,CAAC;AAYvE,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,QAAQ,EACR,WAAW,GACZ,EAAE;IACD,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,CAAC,EAAE,WAAW,CAAC,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAC3E,WAAW,CAAC,EAAE,WAAW,CAAC,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;CAClF,2CAoCA"}
@@ -40,6 +40,7 @@ import { Provider } from "react-redux";
40
40
  import { createSolidStore } from "./createSolidStore";
41
41
  import { eventBus, AppEvents } from "../../helpers/eventBus";
42
42
  import { solidGet } from "../../http/solidHttp";
43
+ import { SolidLoadingState } from "../../components/common/SolidLoadingState";
43
44
  function fetchEntities() {
44
45
  var _a;
45
46
  return __awaiter(this, void 0, void 0, function () {
@@ -80,8 +81,9 @@ export function StoreProvider(_a) {
80
81
  };
81
82
  }, [reducers, middlewares]);
82
83
  var content = useMemo(function () {
83
- if (!store)
84
- return _jsx("div", { children: "Loading..." });
84
+ if (!store) {
85
+ return (_jsx(SolidLoadingState, { title: "Preparing workspace", description: "We are loading the application shell and getting your workspace ready." }));
86
+ }
85
87
  return _jsx(Provider, { store: store, children: children });
86
88
  }, [store, children]);
87
89
  return content;
@@ -1 +1 @@
1
- {"version":3,"file":"StoreProvider.js","sourceRoot":"","sources":["../../../src/redux/store/StoreProvider.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAErD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAmB,MAAM,oBAAoB,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD,SAAe,aAAa;;;;;;wBACT,qBAAM,QAAQ,CAAC,wBAAwB,CAAC,EAAA;;oBAAnD,QAAQ,GAAG,SAAwC;oBACnD,IAAI,GAAG,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,CAAC;oBACtB,OAAO,GAAG,CAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,0CAAE,OAAO,KAAI,EAAE,CAAC;oBAC1C,sBAAO,OAAO,CAAC,GAAG,CAAC,UAAC,CAA2B,IAAK,OAAA,CAAC,CAAC,YAAY,EAAd,CAAc,CAAC,EAAC;;;;CACrE;AAED,MAAM,UAAU,aAAa,CAAC,EAQ7B;QAPC,QAAQ,cAAA,EACR,QAAQ,cAAA,EACR,WAAW,iBAAA;IAML,IAAA,KAAoB,QAAQ,CAAoB,IAAI,CAAC,EAApD,KAAK,QAAA,EAAE,QAAQ,QAAqC,CAAC;IAE5D,SAAS,CAAC;QACR,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,aAAa,EAAE;aACZ,IAAI,CAAC,UAAC,QAAQ;YACb,IAAI,CAAC,OAAO;gBAAE,OAAO;YACrB,QAAQ,CAAC,gBAAgB,CAAC,EAAE,QAAQ,UAAA,EAAE,QAAQ,UAAA,EAAE,WAAW,aAAA,EAAE,CAAC,CAAC,CAAC;QAClE,CAAC,CAAC;aACD,KAAK,CAAC;YACL,IAAI,CAAC,OAAO;gBAAE,OAAO;YACrB,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE;gBACnC,OAAO,EAAE,qDAAqD;aAC/D,CAAC,CAAC;YACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,UAAA,EAAE,WAAW,aAAA,EAAE,CAAC,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;QAEL,OAAO;YACL,OAAO,GAAG,KAAK,CAAC;QAClB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;IAE5B,IAAM,OAAO,GAAG,OAAO,CAAC;QACtB,IAAI,CAAC,KAAK;YAAE,OAAO,uCAAqB,CAAC;QACzC,OAAO,KAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YAAG,QAAQ,GAAY,CAAC;IACvD,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEtB,OAAO,OAAO,CAAC;AACjB,CAAC","sourcesContent":["import { useEffect, useMemo, useState } from \"react\";\nimport type { ReactNode } from \"react\";\nimport { Provider } from \"react-redux\";\nimport { createSolidStore, type SolidStore } from \"./createSolidStore\";\nimport { eventBus, AppEvents } from \"../../helpers/eventBus\";\nimport { solidGet } from \"../../http/solidHttp\";\n\nasync function fetchEntities(): Promise<string[]> {\n const response = await solidGet(\"/model-metadata/public\");\n const data = response?.data;\n const records = data?.data?.records || [];\n return records.map((r: { singularName: string }) => r.singularName);\n}\n\nexport function StoreProvider({\n children,\n reducers,\n middlewares,\n}: {\n children: ReactNode;\n reducers?: NonNullable<Parameters<typeof createSolidStore>[0]>[\"reducers\"];\n middlewares?: NonNullable<Parameters<typeof createSolidStore>[0]>[\"middlewares\"];\n}) {\n const [store, setStore] = useState<SolidStore | null>(null);\n\n useEffect(() => {\n let mounted = true;\n fetchEntities()\n .then((entities) => {\n if (!mounted) return;\n setStore(createSolidStore({ entities, reducers, middlewares }));\n })\n .catch(() => {\n if (!mounted) return;\n eventBus.emit(AppEvents.GlobalError, {\n message: \"Unable to reach the server. Please try again later.\",\n });\n setStore(createSolidStore({ entities: [], reducers, middlewares }));\n });\n\n return () => {\n mounted = false;\n };\n }, [reducers, middlewares]);\n\n const content = useMemo(() => {\n if (!store) return <div>Loading...</div>;\n return <Provider store={store}>{children}</Provider>;\n }, [store, children]);\n\n return content;\n}\n"]}
1
+ {"version":3,"file":"StoreProvider.js","sourceRoot":"","sources":["../../../src/redux/store/StoreProvider.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAErD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAmB,MAAM,oBAAoB,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAE9E,SAAe,aAAa;;;;;;wBACT,qBAAM,QAAQ,CAAC,wBAAwB,CAAC,EAAA;;oBAAnD,QAAQ,GAAG,SAAwC;oBACnD,IAAI,GAAG,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,CAAC;oBACtB,OAAO,GAAG,CAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,0CAAE,OAAO,KAAI,EAAE,CAAC;oBAC1C,sBAAO,OAAO,CAAC,GAAG,CAAC,UAAC,CAA2B,IAAK,OAAA,CAAC,CAAC,YAAY,EAAd,CAAc,CAAC,EAAC;;;;CACrE;AAED,MAAM,UAAU,aAAa,CAAC,EAQ7B;QAPC,QAAQ,cAAA,EACR,QAAQ,cAAA,EACR,WAAW,iBAAA;IAML,IAAA,KAAoB,QAAQ,CAAoB,IAAI,CAAC,EAApD,KAAK,QAAA,EAAE,QAAQ,QAAqC,CAAC;IAE5D,SAAS,CAAC;QACR,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,aAAa,EAAE;aACZ,IAAI,CAAC,UAAC,QAAQ;YACb,IAAI,CAAC,OAAO;gBAAE,OAAO;YACrB,QAAQ,CAAC,gBAAgB,CAAC,EAAE,QAAQ,UAAA,EAAE,QAAQ,UAAA,EAAE,WAAW,aAAA,EAAE,CAAC,CAAC,CAAC;QAClE,CAAC,CAAC;aACD,KAAK,CAAC;YACL,IAAI,CAAC,OAAO;gBAAE,OAAO;YACrB,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE;gBACnC,OAAO,EAAE,qDAAqD;aAC/D,CAAC,CAAC;YACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,UAAA,EAAE,WAAW,aAAA,EAAE,CAAC,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;QAEL,OAAO;YACL,OAAO,GAAG,KAAK,CAAC;QAClB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;IAE5B,IAAM,OAAO,GAAG,OAAO,CAAC;QACtB,IAAI,CAAC,KAAK,EAAE;YACV,OAAO,CACL,KAAC,iBAAiB,IAChB,KAAK,EAAC,qBAAqB,EAC3B,WAAW,EAAC,wEAAwE,GACpF,CACH,CAAC;SACH;QACD,OAAO,KAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YAAG,QAAQ,GAAY,CAAC;IACvD,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEtB,OAAO,OAAO,CAAC;AACjB,CAAC","sourcesContent":["import { useEffect, useMemo, useState } from \"react\";\nimport type { ReactNode } from \"react\";\nimport { Provider } from \"react-redux\";\nimport { createSolidStore, type SolidStore } from \"./createSolidStore\";\nimport { eventBus, AppEvents } from \"../../helpers/eventBus\";\nimport { solidGet } from \"../../http/solidHttp\";\nimport { SolidLoadingState } from \"../../components/common/SolidLoadingState\";\n\nasync function fetchEntities(): Promise<string[]> {\n const response = await solidGet(\"/model-metadata/public\");\n const data = response?.data;\n const records = data?.data?.records || [];\n return records.map((r: { singularName: string }) => r.singularName);\n}\n\nexport function StoreProvider({\n children,\n reducers,\n middlewares,\n}: {\n children: ReactNode;\n reducers?: NonNullable<Parameters<typeof createSolidStore>[0]>[\"reducers\"];\n middlewares?: NonNullable<Parameters<typeof createSolidStore>[0]>[\"middlewares\"];\n}) {\n const [store, setStore] = useState<SolidStore | null>(null);\n\n useEffect(() => {\n let mounted = true;\n fetchEntities()\n .then((entities) => {\n if (!mounted) return;\n setStore(createSolidStore({ entities, reducers, middlewares }));\n })\n .catch(() => {\n if (!mounted) return;\n eventBus.emit(AppEvents.GlobalError, {\n message: \"Unable to reach the server. Please try again later.\",\n });\n setStore(createSolidStore({ entities: [], reducers, middlewares }));\n });\n\n return () => {\n mounted = false;\n };\n }, [reducers, middlewares]);\n\n const content = useMemo(() => {\n if (!store) {\n return (\n <SolidLoadingState\n title=\"Preparing workspace\"\n description=\"We are loading the application shell and getting your workspace ready.\"\n />\n );\n }\n return <Provider store={store}>{children}</Provider>;\n }, [store, children]);\n\n return content;\n}\n"]}
@@ -4,6 +4,7 @@ import { Provider } from "react-redux";
4
4
  import { createSolidStore, type SolidStore } from "./createSolidStore";
5
5
  import { eventBus, AppEvents } from "../../helpers/eventBus";
6
6
  import { solidGet } from "../../http/solidHttp";
7
+ import { SolidLoadingState } from "../../components/common/SolidLoadingState";
7
8
 
8
9
  async function fetchEntities(): Promise<string[]> {
9
10
  const response = await solidGet("/model-metadata/public");
@@ -44,7 +45,14 @@ export function StoreProvider({
44
45
  }, [reducers, middlewares]);
45
46
 
46
47
  const content = useMemo(() => {
47
- if (!store) return <div>Loading...</div>;
48
+ if (!store) {
49
+ return (
50
+ <SolidLoadingState
51
+ title="Preparing workspace"
52
+ description="We are loading the application shell and getting your workspace ready."
53
+ />
54
+ );
55
+ }
48
56
  return <Provider store={store}>{children}</Provider>;
49
57
  }, [store, children]);
50
58