@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.
- package/dist/components/auth/AuthLayout.d.ts.map +1 -1
- package/dist/components/auth/AuthLayout.js +15 -19
- package/dist/components/auth/AuthLayout.js.map +1 -1
- package/dist/components/auth/AuthLayout.tsx +26 -20
- package/dist/components/auth/SolidLogin.d.ts.map +1 -1
- package/dist/components/auth/SolidLogin.js +6 -3
- package/dist/components/auth/SolidLogin.js.map +1 -1
- package/dist/components/auth/SolidLogin.tsx +16 -2
- package/dist/components/auth/SolidRegister.d.ts.map +1 -1
- package/dist/components/auth/SolidRegister.js +7 -4
- package/dist/components/auth/SolidRegister.js.map +1 -1
- package/dist/components/auth/SolidRegister.tsx +16 -2
- package/dist/components/common/BackButton.js +1 -1
- package/dist/components/common/BackButton.js.map +1 -1
- package/dist/components/common/BackButton.tsx +1 -1
- package/dist/components/common/CancelButton.js +1 -1
- package/dist/components/common/CancelButton.js.map +1 -1
- package/dist/components/common/CancelButton.tsx +1 -1
- package/dist/components/common/GeneralSettings.d.ts.map +1 -1
- package/dist/components/common/GeneralSettings.js +6 -33
- package/dist/components/common/GeneralSettings.js.map +1 -1
- package/dist/components/common/GeneralSettings.tsx +20 -57
- package/dist/components/common/SettingsComponent.d.ts.map +1 -1
- package/dist/components/common/SettingsComponent.js +1 -9
- package/dist/components/common/SettingsComponent.js.map +1 -1
- package/dist/components/common/SettingsComponent.tsx +1 -8
- package/dist/components/common/SolidBreadcrumb.js +1 -1
- package/dist/components/common/SolidBreadcrumb.js.map +1 -1
- package/dist/components/common/SolidBreadcrumb.tsx +2 -2
- package/dist/components/common/SolidFaviconProvider.d.ts.map +1 -1
- package/dist/components/common/SolidFaviconProvider.js +1 -8
- package/dist/components/common/SolidFaviconProvider.js.map +1 -1
- package/dist/components/common/SolidFaviconProvider.tsx +1 -7
- package/dist/components/common/SolidLoadingState.d.ts +10 -0
- package/dist/components/common/SolidLoadingState.d.ts.map +1 -0
- package/dist/components/common/SolidLoadingState.js +8 -0
- package/dist/components/common/SolidLoadingState.js.map +1 -0
- package/dist/components/common/SolidLoadingState.module.css +56 -0
- package/dist/components/common/SolidLoadingState.tsx +28 -0
- package/dist/components/core/card/CardItem.d.ts.map +1 -1
- package/dist/components/core/card/CardItem.js +3 -4
- package/dist/components/core/card/CardItem.js.map +1 -1
- package/dist/components/core/card/CardItem.tsx +3 -4
- package/dist/components/core/card/SolidCardView.d.ts.map +1 -1
- package/dist/components/core/card/SolidCardView.js +6 -1
- package/dist/components/core/card/SolidCardView.js.map +1 -1
- package/dist/components/core/card/SolidCardView.tsx +6 -1
- package/dist/components/core/card/SolidCardViewConfigure.d.ts.map +1 -1
- package/dist/components/core/card/SolidCardViewConfigure.js +4 -1
- package/dist/components/core/card/SolidCardViewConfigure.js.map +1 -1
- package/dist/components/core/card/SolidCardViewConfigure.tsx +4 -1
- package/dist/components/core/common/SolidCreateButton.d.ts.map +1 -1
- package/dist/components/core/common/SolidCreateButton.js +2 -13
- package/dist/components/core/common/SolidCreateButton.js.map +1 -1
- package/dist/components/core/common/SolidCreateButton.tsx +2 -15
- package/dist/components/core/common/SolidGlobalSearchElement.d.ts.map +1 -1
- package/dist/components/core/common/SolidGlobalSearchElement.js +34 -15
- package/dist/components/core/common/SolidGlobalSearchElement.js.map +1 -1
- package/dist/components/core/common/SolidGlobalSearchElement.tsx +37 -17
- package/dist/components/core/extension/solid-core/modelMetadata/list/GenerateModelCodeRowAction.js +15 -13
- package/dist/components/core/extension/solid-core/modelMetadata/list/GenerateModelCodeRowAction.js.map +1 -1
- package/dist/components/core/extension/solid-core/modelMetadata/list/GenerateModelCodeRowAction.tsx +4 -4
- package/dist/components/core/extension/solid-core/moduleMetadata/list/GenerateModuleCodeRowAction.js +6 -5
- package/dist/components/core/extension/solid-core/moduleMetadata/list/GenerateModuleCodeRowAction.js.map +1 -1
- package/dist/components/core/extension/solid-core/moduleMetadata/list/GenerateModuleCodeRowAction.tsx +1 -1
- package/dist/components/core/form/SolidFormFooter.d.ts +2 -1
- package/dist/components/core/form/SolidFormFooter.d.ts.map +1 -1
- package/dist/components/core/form/SolidFormFooter.js +48 -14
- package/dist/components/core/form/SolidFormFooter.js.map +1 -1
- package/dist/components/core/form/SolidFormFooter.tsx +50 -4
- package/dist/components/core/form/SolidFormView.d.ts.map +1 -1
- package/dist/components/core/form/SolidFormView.js +52 -50
- package/dist/components/core/form/SolidFormView.js.map +1 -1
- package/dist/components/core/form/SolidFormView.tsx +16 -9
- package/dist/components/core/json/SolidJsonEditor.css +195 -0
- package/dist/components/core/json/SolidJsonEditor.d.ts +19 -0
- package/dist/components/core/json/SolidJsonEditor.d.ts.map +1 -0
- package/dist/components/core/json/SolidJsonEditor.js +109 -0
- package/dist/components/core/json/SolidJsonEditor.js.map +1 -0
- package/dist/components/core/json/SolidJsonEditor.tsx +150 -0
- package/dist/components/core/kanban/KanbanCard.d.ts.map +1 -1
- package/dist/components/core/kanban/KanbanCard.js +2 -10
- package/dist/components/core/kanban/KanbanCard.js.map +1 -1
- package/dist/components/core/kanban/KanbanCard.tsx +2 -10
- package/dist/components/core/kanban/SolidKanbanView.d.ts.map +1 -1
- package/dist/components/core/kanban/SolidKanbanView.js +11 -4
- package/dist/components/core/kanban/SolidKanbanView.js.map +1 -1
- package/dist/components/core/kanban/SolidKanbanView.tsx +13 -5
- package/dist/components/core/list/SolidListView.d.ts +2 -0
- package/dist/components/core/list/SolidListView.d.ts.map +1 -1
- package/dist/components/core/list/SolidListView.js +195 -111
- package/dist/components/core/list/SolidListView.js.map +1 -1
- package/dist/components/core/list/SolidListView.tsx +136 -39
- package/dist/components/core/list/SolidListViewConfigure.d.ts.map +1 -1
- package/dist/components/core/list/SolidListViewConfigure.js +2 -0
- package/dist/components/core/list/SolidListViewConfigure.js.map +1 -1
- package/dist/components/core/list/SolidListViewConfigure.tsx +2 -0
- package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.d.ts.map +1 -1
- package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.js +16 -19
- package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.js.map +1 -1
- package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.tsx +16 -22
- package/dist/components/core/locales/SolidChatterLocaleTabView.d.ts.map +1 -1
- package/dist/components/core/locales/SolidChatterLocaleTabView.js +9 -8
- package/dist/components/core/locales/SolidChatterLocaleTabView.js.map +1 -1
- package/dist/components/core/locales/SolidChatterLocaleTabView.tsx +4 -1
- package/dist/components/core/locales/SolidLocale.d.ts.map +1 -1
- package/dist/components/core/locales/SolidLocale.js +1 -2
- package/dist/components/core/locales/SolidLocale.js.map +1 -1
- package/dist/components/core/locales/SolidLocale.tsx +1 -2
- package/dist/components/core/model/CreateModel.d.ts.map +1 -1
- package/dist/components/core/model/CreateModel.js +1 -1
- package/dist/components/core/model/CreateModel.js.map +1 -1
- package/dist/components/core/model/CreateModel.tsx +0 -1
- package/dist/components/core/model/ModelMetaData.d.ts.map +1 -1
- package/dist/components/core/model/ModelMetaData.js +1 -2
- package/dist/components/core/model/ModelMetaData.js.map +1 -1
- package/dist/components/core/model/ModelMetaData.tsx +1 -3
- package/dist/components/core/module/CreateModule.css +70 -2
- package/dist/components/core/module/CreateModule.d.ts.map +1 -1
- package/dist/components/core/module/CreateModule.js +2 -2
- package/dist/components/core/module/CreateModule.js.map +1 -1
- package/dist/components/core/module/CreateModule.tsx +13 -1
- package/dist/components/core/tree/SolidTreeView.d.ts.map +1 -1
- package/dist/components/core/tree/SolidTreeView.js +47 -26
- package/dist/components/core/tree/SolidTreeView.js.map +1 -1
- package/dist/components/core/tree/SolidTreeView.tsx +55 -23
- package/dist/components/layout/AdminTopHeader.js +2 -3
- package/dist/components/layout/AdminTopHeader.js.map +1 -1
- package/dist/components/layout/AdminTopHeader.tsx +2 -2
- package/dist/components/layout/AppSidebar.d.ts.map +1 -1
- package/dist/components/layout/AppSidebar.js +5 -2
- package/dist/components/layout/AppSidebar.js.map +1 -1
- package/dist/components/layout/AppSidebar.tsx +7 -4
- package/dist/components/layout/navbar-two-menu.d.ts.map +1 -1
- package/dist/components/layout/navbar-two-menu.js +6 -4
- package/dist/components/layout/navbar-two-menu.js.map +1 -1
- package/dist/components/layout/navbar-two-menu.tsx +4 -2
- package/dist/components/shad-cn-ui/SolidTabs.d.ts.map +1 -1
- package/dist/components/shad-cn-ui/SolidTabs.js +1 -1
- package/dist/components/shad-cn-ui/SolidTabs.js.map +1 -1
- package/dist/components/shad-cn-ui/SolidTabs.tsx +1 -0
- package/dist/constants/error-messages.d.ts +1 -0
- package/dist/constants/error-messages.d.ts.map +1 -1
- package/dist/constants/error-messages.js +1 -0
- package/dist/constants/error-messages.js.map +1 -1
- package/dist/constants/error-messages.ts +1 -0
- package/dist/helpers/assetUrl.d.ts +3 -0
- package/dist/helpers/assetUrl.d.ts.map +1 -0
- package/dist/helpers/assetUrl.js +22 -0
- package/dist/helpers/assetUrl.js.map +1 -0
- package/dist/helpers/assetUrl.ts +26 -0
- package/dist/helpers/modelViewPersistence.d.ts +5 -0
- package/dist/helpers/modelViewPersistence.d.ts.map +1 -0
- package/dist/helpers/modelViewPersistence.js +168 -0
- package/dist/helpers/modelViewPersistence.js.map +1 -0
- package/dist/helpers/modelViewPersistence.ts +201 -0
- package/dist/helpers/routePaths.d.ts +6 -0
- package/dist/helpers/routePaths.d.ts.map +1 -1
- package/dist/helpers/routePaths.js +13 -0
- package/dist/helpers/routePaths.js.map +1 -1
- package/dist/helpers/routePaths.ts +25 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/index.ts +14 -0
- package/dist/redux/api/datasourceIntrospectionApi.d.ts +203 -0
- package/dist/redux/api/datasourceIntrospectionApi.d.ts.map +1 -0
- package/dist/redux/api/datasourceIntrospectionApi.js +71 -0
- package/dist/redux/api/datasourceIntrospectionApi.js.map +1 -0
- package/dist/redux/api/datasourceIntrospectionApi.ts +261 -0
- package/dist/redux/api/datasourceManagementApi.d.ts +46 -0
- package/dist/redux/api/datasourceManagementApi.d.ts.map +1 -0
- package/dist/redux/api/datasourceManagementApi.js +35 -0
- package/dist/redux/api/datasourceManagementApi.js.map +1 -0
- package/dist/redux/api/datasourceManagementApi.ts +86 -0
- package/dist/redux/api/solidServiceApi.d.ts +10 -2
- package/dist/redux/api/solidServiceApi.d.ts.map +1 -1
- package/dist/redux/api/solidServiceApi.js +2 -4
- package/dist/redux/api/solidServiceApi.js.map +1 -1
- package/dist/redux/api/solidServiceApi.ts +4 -6
- package/dist/redux/store/StoreProvider.d.ts.map +1 -1
- package/dist/redux/store/StoreProvider.js +4 -2
- package/dist/redux/store/StoreProvider.js.map +1 -1
- package/dist/redux/store/StoreProvider.tsx +9 -1
- package/dist/redux/store/defaultStoreConfig.d.ts +28 -1
- package/dist/redux/store/defaultStoreConfig.d.ts.map +1 -1
- package/dist/redux/store/defaultStoreConfig.js +4 -0
- package/dist/redux/store/defaultStoreConfig.js.map +1 -1
- package/dist/redux/store/defaultStoreConfig.ts +4 -0
- package/dist/resources/solid-custom.css +73 -16
- package/dist/routes/guards/AdminGuard.d.ts.map +1 -1
- package/dist/routes/guards/AdminGuard.js +2 -1
- package/dist/routes/guards/AdminGuard.js.map +1 -1
- package/dist/routes/guards/AdminGuard.tsx +7 -1
- package/dist/routes/guards/AuthGuard.d.ts.map +1 -1
- package/dist/routes/guards/AuthGuard.js +2 -1
- package/dist/routes/guards/AuthGuard.js.map +1 -1
- package/dist/routes/guards/AuthGuard.tsx +8 -2
- package/dist/routes/guards/GuestGuard.d.ts.map +1 -1
- package/dist/routes/guards/GuestGuard.js +2 -1
- package/dist/routes/guards/GuestGuard.js.map +1 -1
- package/dist/routes/guards/GuestGuard.tsx +8 -2
- package/dist/routes/pages/admin/core/CardPage.d.ts.map +1 -1
- package/dist/routes/pages/admin/core/CardPage.js +11 -0
- package/dist/routes/pages/admin/core/CardPage.js.map +1 -1
- package/dist/routes/pages/admin/core/CardPage.tsx +13 -0
- package/dist/routes/pages/admin/core/DashboardPage.d.ts.map +1 -1
- package/dist/routes/pages/admin/core/DashboardPage.js +7 -5
- package/dist/routes/pages/admin/core/DashboardPage.js.map +1 -1
- package/dist/routes/pages/admin/core/DashboardPage.module.css +18 -0
- package/dist/routes/pages/admin/core/DashboardPage.tsx +50 -32
- package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.css +828 -0
- package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.d.ts +3 -0
- package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.d.ts.map +1 -0
- package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.js +947 -0
- package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.js.map +1 -0
- package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.tsx +1719 -0
- package/dist/routes/pages/admin/core/DatasourcesPage.css +337 -0
- package/dist/routes/pages/admin/core/DatasourcesPage.d.ts +3 -0
- package/dist/routes/pages/admin/core/DatasourcesPage.d.ts.map +1 -0
- package/dist/routes/pages/admin/core/DatasourcesPage.js +221 -0
- package/dist/routes/pages/admin/core/DatasourcesPage.js.map +1 -0
- package/dist/routes/pages/admin/core/DatasourcesPage.tsx +540 -0
- package/dist/routes/pages/admin/core/KanbanPage.d.ts.map +1 -1
- package/dist/routes/pages/admin/core/KanbanPage.js +11 -0
- package/dist/routes/pages/admin/core/KanbanPage.js.map +1 -1
- package/dist/routes/pages/admin/core/KanbanPage.tsx +13 -0
- package/dist/routes/pages/admin/core/ListPage.d.ts.map +1 -1
- package/dist/routes/pages/admin/core/ListPage.js +25 -2
- package/dist/routes/pages/admin/core/ListPage.js.map +1 -1
- package/dist/routes/pages/admin/core/ListPage.tsx +29 -2
- package/dist/routes/pages/admin/core/TreePage.d.ts.map +1 -1
- package/dist/routes/pages/admin/core/TreePage.js +10 -2
- package/dist/routes/pages/admin/core/TreePage.js.map +1 -1
- package/dist/routes/pages/admin/core/TreePage.tsx +11 -2
- package/dist/routes/solidRoutes.d.ts.map +1 -1
- package/dist/routes/solidRoutes.js +5 -1
- package/dist/routes/solidRoutes.js.map +1 -1
- package/dist/routes/solidRoutes.tsx +4 -0
- 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<
|
|
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<
|
|
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
|
|
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 (
|
|
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,
|
|
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: (
|
|
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;
|
|
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(
|
|
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;
|
|
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)
|
|
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
|
|