@quillsql/admin 1.3.7 → 1.3.9
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/cjs/Admin.d.ts +0 -5
- package/dist/cjs/Admin.d.ts.map +1 -1
- package/dist/cjs/Admin.js +56 -108
- package/dist/cjs/AdminProvider.d.ts +9 -5
- package/dist/cjs/AdminProvider.d.ts.map +1 -1
- package/dist/cjs/AdminProvider.js +73 -84
- package/dist/cjs/api/ConnectionClient.d.ts +12 -10
- package/dist/cjs/api/ConnectionClient.d.ts.map +1 -1
- package/dist/cjs/api/ConnectionClient.js +102 -30
- package/dist/cjs/assets/ArrowDownHeadIcon.d.ts +5 -0
- package/dist/cjs/assets/ArrowDownHeadIcon.d.ts.map +1 -0
- package/dist/cjs/assets/ArrowDownHeadIcon.js +5 -0
- package/dist/cjs/assets/XIcon.d.ts +5 -0
- package/dist/cjs/assets/XIcon.d.ts.map +1 -0
- package/dist/cjs/assets/XIcon.js +5 -0
- package/dist/cjs/assets/index.d.ts +3 -0
- package/dist/cjs/assets/index.d.ts.map +1 -0
- package/dist/cjs/assets/index.js +10 -0
- package/dist/cjs/components/DatabaseMismatchCard.d.ts +6 -0
- package/dist/cjs/components/DatabaseMismatchCard.d.ts.map +1 -0
- package/dist/cjs/components/DatabaseMismatchCard.js +18 -0
- package/dist/cjs/components/DatabaseSelector.d.ts +2 -1
- package/dist/cjs/components/DatabaseSelector.d.ts.map +1 -1
- package/dist/cjs/components/DatabaseSelector.js +2 -2
- package/dist/cjs/components/DropDownMenuWithLabel.d.ts +2 -1
- package/dist/cjs/components/DropDownMenuWithLabel.d.ts.map +1 -1
- package/dist/cjs/components/DropDownMenuWithLabel.js +160 -39
- package/dist/cjs/components/DynamicBanner.d.ts +11 -0
- package/dist/cjs/components/DynamicBanner.d.ts.map +1 -0
- package/dist/cjs/components/DynamicBanner.js +22 -0
- package/dist/cjs/components/EnvSelectPopover.d.ts.map +1 -1
- package/dist/cjs/components/EnvSelectPopover.js +0 -1
- package/dist/cjs/components/OrgSelect.d.ts +23 -0
- package/dist/cjs/components/OrgSelect.d.ts.map +1 -1
- package/dist/cjs/components/OrgSelect.js +55 -15
- package/dist/cjs/components/SqlTextEditor.d.ts +7 -0
- package/dist/cjs/components/SqlTextEditor.d.ts.map +1 -0
- package/dist/cjs/components/SqlTextEditor.js +44 -0
- package/dist/cjs/components/UiComponents.d.ts +119 -0
- package/dist/cjs/components/UiComponents.d.ts.map +1 -0
- package/dist/cjs/components/UiComponents.js +268 -0
- package/dist/cjs/forms/client_onboard/ConnectDatabase.d.ts +3 -2
- package/dist/cjs/forms/client_onboard/ConnectDatabase.d.ts.map +1 -1
- package/dist/cjs/forms/client_onboard/ConnectDatabase.js +101 -43
- package/dist/cjs/forms/client_onboard/ConnectSchema.d.ts +3 -1
- package/dist/cjs/forms/client_onboard/ConnectSchema.d.ts.map +1 -1
- package/dist/cjs/forms/client_onboard/ConnectSchema.js +13 -14
- package/dist/cjs/forms/client_onboard/CreateSqlViews.d.ts +10 -1
- package/dist/cjs/forms/client_onboard/CreateSqlViews.d.ts.map +1 -1
- package/dist/cjs/forms/client_onboard/CreateSqlViews.js +13 -13
- package/dist/cjs/forms/sql_views/CreateEditSqlView.d.ts +23 -0
- package/dist/cjs/forms/sql_views/CreateEditSqlView.d.ts.map +1 -0
- package/dist/cjs/forms/sql_views/CreateEditSqlView.js +161 -0
- package/dist/cjs/modals/NewDashboardModal.js +1 -1
- package/dist/cjs/primitives/TextInputPrimitive.d.ts +1 -0
- package/dist/cjs/primitives/TextInputPrimitive.d.ts.map +1 -1
- package/dist/cjs/primitives/TextInputPrimitive.js +2 -2
- package/dist/cjs/public_components/CreateEnvironment.d.ts.map +1 -1
- package/dist/cjs/public_components/CreateEnvironment.js +34 -8
- package/dist/cjs/public_components/DashboardBuilder.d.ts.map +1 -1
- package/dist/cjs/public_components/DashboardBuilder.js +30 -16
- package/dist/cjs/public_components/DashboardManager.d.ts.map +1 -1
- package/dist/cjs/public_components/DashboardManager.js +114 -104
- package/dist/cjs/public_components/SQLViewManager.d.ts.map +1 -1
- package/dist/cjs/public_components/SQLViewManager.js +252 -333
- package/dist/cjs/utils/dataEditor.d.ts +4 -0
- package/dist/cjs/utils/dataEditor.d.ts.map +1 -0
- package/dist/cjs/utils/dataEditor.js +144 -0
- package/dist/cjs/utils/dataFetcher.d.ts +3 -0
- package/dist/cjs/utils/dataFetcher.d.ts.map +1 -0
- package/dist/cjs/utils/dataFetcher.js +68 -0
- package/dist/cjs/utils/databases.d.ts +13 -2
- package/dist/cjs/utils/databases.d.ts.map +1 -1
- package/dist/cjs/utils/databases.js +52 -9
- package/dist/cjs/utils/table.d.ts +2 -0
- package/dist/cjs/utils/table.d.ts.map +1 -1
- package/dist/esm/Admin.d.ts +0 -5
- package/dist/esm/Admin.d.ts.map +1 -1
- package/dist/esm/Admin.js +56 -107
- package/dist/esm/AdminProvider.d.ts +9 -5
- package/dist/esm/AdminProvider.d.ts.map +1 -1
- package/dist/esm/AdminProvider.js +71 -85
- package/dist/esm/api/ConnectionClient.d.ts +12 -10
- package/dist/esm/api/ConnectionClient.d.ts.map +1 -1
- package/dist/esm/api/ConnectionClient.js +99 -29
- package/dist/esm/assets/ArrowDownHeadIcon.d.ts +5 -0
- package/dist/esm/assets/ArrowDownHeadIcon.d.ts.map +1 -0
- package/dist/esm/assets/ArrowDownHeadIcon.js +3 -0
- package/dist/esm/assets/XIcon.d.ts +5 -0
- package/dist/esm/assets/XIcon.d.ts.map +1 -0
- package/dist/esm/assets/XIcon.js +3 -0
- package/dist/esm/assets/index.d.ts +3 -0
- package/dist/esm/assets/index.d.ts.map +1 -0
- package/dist/esm/assets/index.js +2 -0
- package/dist/esm/components/DatabaseMismatchCard.d.ts +6 -0
- package/dist/esm/components/DatabaseMismatchCard.d.ts.map +1 -0
- package/dist/esm/components/DatabaseMismatchCard.js +15 -0
- package/dist/esm/components/DatabaseSelector.d.ts +2 -1
- package/dist/esm/components/DatabaseSelector.d.ts.map +1 -1
- package/dist/esm/components/DatabaseSelector.js +2 -2
- package/dist/esm/components/DropDownMenuWithLabel.d.ts +2 -1
- package/dist/esm/components/DropDownMenuWithLabel.d.ts.map +1 -1
- package/dist/esm/components/DropDownMenuWithLabel.js +137 -39
- package/dist/esm/components/DynamicBanner.d.ts +11 -0
- package/dist/esm/components/DynamicBanner.d.ts.map +1 -0
- package/dist/esm/components/DynamicBanner.js +16 -0
- package/dist/esm/components/EnvSelectPopover.d.ts.map +1 -1
- package/dist/esm/components/EnvSelectPopover.js +0 -1
- package/dist/esm/components/OrgSelect.d.ts +23 -0
- package/dist/esm/components/OrgSelect.d.ts.map +1 -1
- package/dist/esm/components/OrgSelect.js +52 -16
- package/dist/esm/components/SqlTextEditor.d.ts +7 -0
- package/dist/esm/components/SqlTextEditor.d.ts.map +1 -0
- package/dist/esm/components/SqlTextEditor.js +38 -0
- package/dist/esm/components/UiComponents.d.ts +119 -0
- package/dist/esm/components/UiComponents.d.ts.map +1 -0
- package/dist/esm/components/UiComponents.js +254 -0
- package/dist/esm/forms/client_onboard/ConnectDatabase.d.ts +3 -2
- package/dist/esm/forms/client_onboard/ConnectDatabase.d.ts.map +1 -1
- package/dist/esm/forms/client_onboard/ConnectDatabase.js +102 -44
- package/dist/esm/forms/client_onboard/ConnectSchema.d.ts +3 -1
- package/dist/esm/forms/client_onboard/ConnectSchema.d.ts.map +1 -1
- package/dist/esm/forms/client_onboard/ConnectSchema.js +13 -14
- package/dist/esm/forms/client_onboard/CreateSqlViews.d.ts +10 -1
- package/dist/esm/forms/client_onboard/CreateSqlViews.d.ts.map +1 -1
- package/dist/esm/forms/client_onboard/CreateSqlViews.js +12 -14
- package/dist/esm/forms/sql_views/CreateEditSqlView.d.ts +23 -0
- package/dist/esm/forms/sql_views/CreateEditSqlView.d.ts.map +1 -0
- package/dist/esm/forms/sql_views/CreateEditSqlView.js +155 -0
- package/dist/esm/modals/NewDashboardModal.js +1 -1
- package/dist/esm/primitives/TextInputPrimitive.d.ts +1 -0
- package/dist/esm/primitives/TextInputPrimitive.d.ts.map +1 -1
- package/dist/esm/primitives/TextInputPrimitive.js +2 -2
- package/dist/esm/public_components/CreateEnvironment.d.ts.map +1 -1
- package/dist/esm/public_components/CreateEnvironment.js +12 -9
- package/dist/esm/public_components/DashboardBuilder.d.ts.map +1 -1
- package/dist/esm/public_components/DashboardBuilder.js +30 -16
- package/dist/esm/public_components/DashboardManager.d.ts.map +1 -1
- package/dist/esm/public_components/DashboardManager.js +115 -105
- package/dist/esm/public_components/SQLViewManager.d.ts.map +1 -1
- package/dist/esm/public_components/SQLViewManager.js +254 -335
- package/dist/esm/utils/dataEditor.d.ts +4 -0
- package/dist/esm/utils/dataEditor.d.ts.map +1 -0
- package/dist/esm/utils/dataEditor.js +138 -0
- package/dist/esm/utils/dataFetcher.d.ts +3 -0
- package/dist/esm/utils/dataFetcher.d.ts.map +1 -0
- package/dist/esm/utils/dataFetcher.js +63 -0
- package/dist/esm/utils/databases.d.ts +13 -2
- package/dist/esm/utils/databases.d.ts.map +1 -1
- package/dist/esm/utils/databases.js +52 -9
- package/dist/esm/utils/table.d.ts +2 -0
- package/dist/esm/utils/table.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.useAdmin = exports.AdminProvider = void 0;
|
|
4
7
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
@@ -6,6 +9,7 @@ const react_1 = require("react");
|
|
|
6
9
|
const Admin_1 = require("./Admin");
|
|
7
10
|
const react_2 = require("@quillsql/react");
|
|
8
11
|
const constants_1 = require("./utils/constants");
|
|
12
|
+
const CreateEnvironment_1 = __importDefault(require("./public_components/CreateEnvironment"));
|
|
9
13
|
const AdminContext = (0, react_1.createContext)(undefined);
|
|
10
14
|
function reducer(state, action) {
|
|
11
15
|
switch (action.type) {
|
|
@@ -25,8 +29,6 @@ function reducer(state, action) {
|
|
|
25
29
|
return { ...state, clients: [...state.clients, action.payload] };
|
|
26
30
|
case 'SET_ENVIRONMENT':
|
|
27
31
|
return { ...state, environment: action.payload };
|
|
28
|
-
case 'SET_ORGANIZATION':
|
|
29
|
-
return { ...state, organization: action.payload };
|
|
30
32
|
case 'SET_ORGANIZATIONS':
|
|
31
33
|
return { ...state, organizations: action.payload };
|
|
32
34
|
case 'SET_ORGANIZATION_ID':
|
|
@@ -59,8 +61,8 @@ function reducer(state, action) {
|
|
|
59
61
|
return { ...state, navigateToDashboardManager: action.payload };
|
|
60
62
|
case 'SET_NAVIGATE_TO_DASHBOARD_BUILDER':
|
|
61
63
|
return { ...state, navigateToDashboardBuilder: action.payload };
|
|
62
|
-
case '
|
|
63
|
-
return { ...state,
|
|
64
|
+
case 'SET_DATABASE_TYPE_MISMATCH':
|
|
65
|
+
return { ...state, databaseTypeMismatch: action.payload };
|
|
64
66
|
default:
|
|
65
67
|
return state;
|
|
66
68
|
}
|
|
@@ -86,13 +88,10 @@ function AdminProvider({ children, publicKey, queryEndpoint, queryHeaders, withC
|
|
|
86
88
|
return {};
|
|
87
89
|
}
|
|
88
90
|
return {
|
|
89
|
-
activeComponent: savedState.activeComponent || 'Dashboards',
|
|
90
91
|
selectedDashboard: savedState.selectedDashboard || null,
|
|
91
92
|
organizationId: savedState.organizationId || null,
|
|
92
|
-
organizationIdSet: savedState.organizationIdSet || false,
|
|
93
|
-
organizations: savedState.organizations || [],
|
|
94
|
-
organization: savedState.organization || null,
|
|
95
93
|
client: savedState.client || null,
|
|
94
|
+
publicKey: savedState.publicKey || null,
|
|
96
95
|
};
|
|
97
96
|
}
|
|
98
97
|
catch (err) {
|
|
@@ -125,21 +124,17 @@ function AdminProvider({ children, publicKey, queryEndpoint, queryHeaders, withC
|
|
|
125
124
|
organizationIdSet: false,
|
|
126
125
|
dateFilter: {},
|
|
127
126
|
domainName: domainName || '',
|
|
127
|
+
databaseTypeMismatch: { show: false, backendDatabaseType: '' },
|
|
128
128
|
...loadState(),
|
|
129
129
|
};
|
|
130
130
|
const [state, dispatch] = (0, react_1.useReducer)(reducer, initialState);
|
|
131
131
|
(0, react_1.useEffect)(() => {
|
|
132
132
|
try {
|
|
133
133
|
const stateToSave = {
|
|
134
|
-
activeComponent: state.activeComponent,
|
|
135
134
|
selectedDashboard: state.selectedDashboard,
|
|
136
135
|
organizationId: state.organizationId,
|
|
137
|
-
organizationIdSet: state.organizationIdSet,
|
|
138
|
-
organizations: state.organizations,
|
|
139
|
-
organization: state.organization,
|
|
140
136
|
publicKey: state.publicKey,
|
|
141
137
|
client: state.client,
|
|
142
|
-
domainName: state.domainName,
|
|
143
138
|
};
|
|
144
139
|
const serializedState = JSON.stringify(stateToSave);
|
|
145
140
|
sessionStorage.setItem('adminState', serializedState);
|
|
@@ -148,15 +143,10 @@ function AdminProvider({ children, publicKey, queryEndpoint, queryHeaders, withC
|
|
|
148
143
|
console.warn('Error writing state to session storage');
|
|
149
144
|
}
|
|
150
145
|
}, [
|
|
151
|
-
state.activeComponent,
|
|
152
146
|
state.selectedDashboard,
|
|
153
147
|
state.organizationId,
|
|
154
148
|
state.client,
|
|
155
|
-
state.organizationIdSet,
|
|
156
|
-
state.organizations,
|
|
157
|
-
state.organization,
|
|
158
149
|
state.publicKey,
|
|
159
|
-
state.domainName,
|
|
160
150
|
]);
|
|
161
151
|
(0, react_1.useEffect)(() => {
|
|
162
152
|
async function fetchClient(publicKey) {
|
|
@@ -164,14 +154,26 @@ function AdminProvider({ children, publicKey, queryEndpoint, queryHeaders, withC
|
|
|
164
154
|
return;
|
|
165
155
|
}
|
|
166
156
|
try {
|
|
167
|
-
const response = await fetch(`${
|
|
168
|
-
method: '
|
|
169
|
-
headers: {
|
|
157
|
+
const response = await fetch(`${queryEndpoint}`, {
|
|
158
|
+
method: 'POST',
|
|
159
|
+
headers: {
|
|
160
|
+
...queryHeaders,
|
|
161
|
+
'Content-Type': 'application/json',
|
|
162
|
+
},
|
|
163
|
+
body: JSON.stringify({
|
|
164
|
+
metadata: {
|
|
165
|
+
clientId: publicKey,
|
|
166
|
+
publicKey,
|
|
167
|
+
task: 'client',
|
|
168
|
+
},
|
|
169
|
+
}),
|
|
170
170
|
});
|
|
171
171
|
const data = await response.json();
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
172
|
+
dispatch({
|
|
173
|
+
type: 'SET_CLIENT',
|
|
174
|
+
payload: initialState.client || data.data.client,
|
|
175
|
+
});
|
|
176
|
+
dispatch({ type: 'SET_CLIENTS', payload: data.data.clients });
|
|
175
177
|
}
|
|
176
178
|
catch (error) {
|
|
177
179
|
console.error('ERROR:', error);
|
|
@@ -185,16 +187,27 @@ function AdminProvider({ children, publicKey, queryEndpoint, queryHeaders, withC
|
|
|
185
187
|
return;
|
|
186
188
|
}
|
|
187
189
|
try {
|
|
188
|
-
const response = await fetch(`${
|
|
189
|
-
method: '
|
|
190
|
-
headers: {
|
|
190
|
+
const response = await fetch(`${queryEndpoint}`, {
|
|
191
|
+
method: 'POST',
|
|
192
|
+
headers: {
|
|
193
|
+
...queryHeaders,
|
|
194
|
+
'Content-Type': 'application/json',
|
|
195
|
+
},
|
|
196
|
+
body: JSON.stringify({
|
|
197
|
+
metadata: {
|
|
198
|
+
clientId: publicKey,
|
|
199
|
+
publicKey,
|
|
200
|
+
task: 'schema',
|
|
201
|
+
databaseType: state.client.databaseType,
|
|
202
|
+
},
|
|
203
|
+
}),
|
|
191
204
|
});
|
|
192
205
|
if (!response.ok) {
|
|
193
206
|
throw new Error('Failed to fetch tables data');
|
|
194
207
|
}
|
|
195
208
|
const data = await response.json();
|
|
196
|
-
dispatch({ type: 'SET_TABLES', payload: data.tables });
|
|
197
|
-
dispatch({ type: 'SET_SCHEMA', payload: data.tables });
|
|
209
|
+
dispatch({ type: 'SET_TABLES', payload: data.data.tables });
|
|
210
|
+
dispatch({ type: 'SET_SCHEMA', payload: data.data.tables });
|
|
198
211
|
}
|
|
199
212
|
catch (error) {
|
|
200
213
|
console.error('ERROR:', error);
|
|
@@ -204,31 +217,6 @@ function AdminProvider({ children, publicKey, queryEndpoint, queryHeaders, withC
|
|
|
204
217
|
fetchSchemaAndTables(state.client._id);
|
|
205
218
|
}
|
|
206
219
|
}, [state?.client, publicKey]);
|
|
207
|
-
(0, react_1.useEffect)(() => {
|
|
208
|
-
if (publicKey === '' || publicKey === undefined || publicKey === null) {
|
|
209
|
-
throw new Error('publicKey is required');
|
|
210
|
-
}
|
|
211
|
-
const getClients = async () => {
|
|
212
|
-
try {
|
|
213
|
-
const url = `${constants_1.QUILL_SERVER}/clients/${publicKey}/`;
|
|
214
|
-
const response = await fetch(url, {
|
|
215
|
-
method: 'GET',
|
|
216
|
-
headers: {
|
|
217
|
-
Authorization: `Bearer `,
|
|
218
|
-
},
|
|
219
|
-
});
|
|
220
|
-
if (!response.ok) {
|
|
221
|
-
throw new Error(`HTTP error! status: ${response.status}`);
|
|
222
|
-
}
|
|
223
|
-
const data = await response.json();
|
|
224
|
-
dispatch({ type: 'SET_CLIENTS', payload: data });
|
|
225
|
-
}
|
|
226
|
-
catch (error) {
|
|
227
|
-
console.error('Error fetching clients:', error);
|
|
228
|
-
}
|
|
229
|
-
};
|
|
230
|
-
getClients();
|
|
231
|
-
}, [publicKey]);
|
|
232
220
|
(0, react_1.useEffect)(() => {
|
|
233
221
|
let isSubscribed = true;
|
|
234
222
|
async function getCustomers() {
|
|
@@ -241,6 +229,7 @@ function AdminProvider({ children, publicKey, queryEndpoint, queryHeaders, withC
|
|
|
241
229
|
};
|
|
242
230
|
try {
|
|
243
231
|
let response;
|
|
232
|
+
dispatch({ type: 'SET_LOADING', payload: true });
|
|
244
233
|
if (state.queryEndpoint) {
|
|
245
234
|
response = await fetch(state.queryEndpoint, {
|
|
246
235
|
method: 'POST',
|
|
@@ -249,7 +238,11 @@ function AdminProvider({ children, publicKey, queryEndpoint, queryHeaders, withC
|
|
|
249
238
|
'Content-Type': 'application/json',
|
|
250
239
|
},
|
|
251
240
|
body: JSON.stringify({
|
|
252
|
-
metadata: {
|
|
241
|
+
metadata: {
|
|
242
|
+
clientId: state.client._id,
|
|
243
|
+
task: 'orgs',
|
|
244
|
+
databaseType: state.client.databaseType,
|
|
245
|
+
},
|
|
253
246
|
}),
|
|
254
247
|
credentials: state.withCredentials ? 'include' : 'omit', // If withCredentials is true, set to 'include'. Otherwise, set to 'omit'.
|
|
255
248
|
});
|
|
@@ -262,38 +255,45 @@ function AdminProvider({ children, publicKey, queryEndpoint, queryHeaders, withC
|
|
|
262
255
|
}
|
|
263
256
|
const data = await response.json();
|
|
264
257
|
if (data.status === 'error') {
|
|
258
|
+
dispatch({ type: 'SET_LOADING', payload: false });
|
|
265
259
|
throw new Error(data.error);
|
|
266
260
|
}
|
|
261
|
+
if (data.queries.dbMismatched) {
|
|
262
|
+
dispatch({
|
|
263
|
+
type: 'SET_DATABASE_TYPE_MISMATCH',
|
|
264
|
+
payload: {
|
|
265
|
+
show: true,
|
|
266
|
+
backendDatabaseType: data.queries.backendDatbaseType, // TYPO NEED TO FIX IN NODE and Python SDK
|
|
267
|
+
},
|
|
268
|
+
});
|
|
269
|
+
dispatch({ type: 'SET_LOADING', payload: false });
|
|
270
|
+
return;
|
|
271
|
+
}
|
|
267
272
|
if (state.queryEndpoint) {
|
|
268
273
|
dispatch({
|
|
269
274
|
type: 'SET_ORGANIZATIONS',
|
|
270
|
-
payload: [...data.data.rows
|
|
275
|
+
payload: [...data.data.rows],
|
|
271
276
|
});
|
|
272
277
|
}
|
|
273
278
|
else {
|
|
274
279
|
dispatch({
|
|
275
280
|
type: 'SET_ORGANIZATIONS',
|
|
276
|
-
payload: [...data.orgs
|
|
281
|
+
payload: [...data.orgs],
|
|
277
282
|
});
|
|
278
283
|
}
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
type: 'SET_ORGANIZATION_ID',
|
|
289
|
-
payload: state.client.adminCustomerId,
|
|
290
|
-
});
|
|
291
|
-
}
|
|
292
|
-
dispatch({ type: 'SET_ORGANIZATION_ID_SET', payload: true });
|
|
293
|
-
}
|
|
284
|
+
dispatch({
|
|
285
|
+
type: 'SET_DATABASE_TYPE_MISMATCH',
|
|
286
|
+
payload: { show: false, backendDatabaseType: '' },
|
|
287
|
+
});
|
|
288
|
+
dispatch({
|
|
289
|
+
type: 'SET_ORGANIZATION_ID',
|
|
290
|
+
payload: state.organizationId || state.client.adminCustomerId,
|
|
291
|
+
});
|
|
292
|
+
dispatch({ type: 'SET_LOADING', payload: false });
|
|
294
293
|
}
|
|
295
294
|
catch (error) {
|
|
296
295
|
console.error('Error fetching data:', error);
|
|
296
|
+
dispatch({ type: 'SET_LOADING', payload: false });
|
|
297
297
|
}
|
|
298
298
|
}
|
|
299
299
|
if (isSubscribed && state.client) {
|
|
@@ -303,17 +303,6 @@ function AdminProvider({ children, publicKey, queryEndpoint, queryHeaders, withC
|
|
|
303
303
|
isSubscribed = false;
|
|
304
304
|
};
|
|
305
305
|
}, [state.environment, state.client, state.organizationId, publicKey]);
|
|
306
|
-
(0,
|
|
307
|
-
if (state.client &&
|
|
308
|
-
state.clients &&
|
|
309
|
-
state.organizations &&
|
|
310
|
-
state.organizationIdSet) {
|
|
311
|
-
dispatch({ type: 'SET_LOADING', payload: false });
|
|
312
|
-
}
|
|
313
|
-
else {
|
|
314
|
-
dispatch({ type: 'SET_LOADING', payload: true });
|
|
315
|
-
}
|
|
316
|
-
}, [state.client, state.clients, state.organizations, state.organizationId]);
|
|
317
|
-
return ((0, jsx_runtime_1.jsx)(AdminContext.Provider, { value: { state, dispatch }, children: !state.loading && ((0, jsx_runtime_1.jsx)(react_2.QuillProvider, { organizationId: state.organizationId, queryEndpoint: state.queryEndpoint ?? '', withCredentials: state.withCredentials, queryHeaders: state.queryHeaders ?? {}, publicKey: state.client._id, environment: state.environment, theme: state.theme, children: children })) }));
|
|
306
|
+
return ((0, jsx_runtime_1.jsxs)(AdminContext.Provider, { value: { state, dispatch }, children: [!state.client && !state.loading && (0, jsx_runtime_1.jsx)(CreateEnvironment_1.default, {}), state.client && ((0, jsx_runtime_1.jsx)(react_2.QuillProvider, { organizationId: state.organizationId, queryEndpoint: state.queryEndpoint ?? '', withCredentials: state.withCredentials, queryHeaders: state.queryHeaders ?? {}, publicKey: state.client._id, environment: state.environment, theme: state.theme, children: children }))] }));
|
|
318
307
|
}
|
|
319
308
|
exports.AdminProvider = AdminProvider;
|
|
@@ -1,24 +1,26 @@
|
|
|
1
1
|
import { ConnectionError, ConnectionType } from '../utils/databases';
|
|
2
2
|
import { SchemaDetails } from '../utils/schema';
|
|
3
3
|
import { Column, ColumnsByTable } from '../utils/table';
|
|
4
|
-
export declare function testConnectionString(connectionString: string): Promise<any>;
|
|
5
|
-
export declare function getSchemaTableInfo(
|
|
6
|
-
export declare function getTablesBySchema(
|
|
7
|
-
export declare function getTableInfo(
|
|
8
|
-
export declare function getOrgInfo(
|
|
4
|
+
export declare function testConnectionString(connectionString: string, databaseType: string, clientId?: string): Promise<any>;
|
|
5
|
+
export declare function getSchemaTableInfo(clientId: string, schema: string, databaseType: string): Promise<SchemaDetails | ConnectionError>;
|
|
6
|
+
export declare function getTablesBySchema(clientId: string, schema: string): Promise<string[] | undefined>;
|
|
7
|
+
export declare function getTableInfo(clientId: string, schema: string, table: string): Promise<SchemaDetails>;
|
|
8
|
+
export declare function getOrgInfo(clientId: string, schema: string, table: string, orgIdColumn: string, orgColumn: string): Promise<{
|
|
9
9
|
name: string;
|
|
10
10
|
id: any;
|
|
11
11
|
}[]>;
|
|
12
|
-
export declare function getFKInfo(
|
|
13
|
-
export declare function getTableSchema(
|
|
12
|
+
export declare function getFKInfo(clientId: string, schema: string, table: string, primaryKey: string): Promise<string[]>;
|
|
13
|
+
export declare function getTableSchema(clientId: string, tables: string[], schemaName: string): Promise<ColumnsByTable[]>;
|
|
14
|
+
export declare function getTableColumnsBySchema(clientId: string, schemaNames: string[], databaseType: string, queryEndpoint?: string): Promise<ColumnsByTable[]>;
|
|
14
15
|
export declare function getSQLViews(tableSchemas: any, customerNameField: string): Promise<any>;
|
|
15
|
-
export declare function getSqlViewData(
|
|
16
|
+
export declare function getSqlViewData(clientId: string, query: string, databaseType: string, queryEndpoint?: string): Promise<any>;
|
|
16
17
|
export declare function getQueryFromAI(aiPrompt: string, columnsByTable: ColumnsByTable[]): Promise<string>;
|
|
18
|
+
export declare function getQueryFromAiWithConnection(aiPrompt: string, clientId: string, schemaNames?: string[]): Promise<string>;
|
|
17
19
|
export declare function createSQLView(connectionType: ConnectionType, allSchemaInfo: SchemaDetails, columnsByTable: ColumnsByTable[], viewInfo: {
|
|
18
20
|
name: string;
|
|
19
21
|
query: string;
|
|
20
22
|
}, client: any, domainName: string | undefined, tableData: {
|
|
21
23
|
rows: object[];
|
|
22
|
-
|
|
23
|
-
} | undefined, currentTableNames: string[], override
|
|
24
|
+
fields: Column[];
|
|
25
|
+
} | undefined, currentTableNames: string[], override: boolean | undefined, clientId: string): Promise<any>;
|
|
24
26
|
//# sourceMappingURL=ConnectionClient.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConnectionClient.d.ts","sourceRoot":"","sources":["../../../src/api/ConnectionClient.ts"],"names":[],"mappings":"AACA,OAAO,EACL,eAAe,EACf,cAAc,EAEf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAExD,wBAAsB,oBAAoB,
|
|
1
|
+
{"version":3,"file":"ConnectionClient.d.ts","sourceRoot":"","sources":["../../../src/api/ConnectionClient.ts"],"names":[],"mappings":"AACA,OAAO,EACL,eAAe,EACf,cAAc,EAEf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAExD,wBAAsB,oBAAoB,CACxC,gBAAgB,EAAE,MAAM,EACxB,YAAY,EAAE,MAAM,EACpB,QAAQ,CAAC,EAAE,MAAM,gBAiBlB;AAED,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,aAAa,GAAG,eAAe,CAAC,CAgB1C;AACD,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,CAe/B;AAED,wBAAsB,YAAY,CAChC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,aAAa,CAAC,CAgBxB;AAED,wBAAsB,UAAU,CAC9B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,GAAG,CAAA;CAAE,EAAE,CAAC,CAkBtC;AAED,wBAAsB,SAAS,CAC7B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,EAAE,CAAC,CA6BnB;AAED,wBAAsB,cAAc,CAClC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EAAE,EAChB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,cAAc,EAAE,CAAC,CAgB3B;AAED,wBAAsB,uBAAuB,CAC3C,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EAAE,EACrB,YAAY,EAAE,MAAM,EACpB,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,cAAc,EAAE,CAAC,CA4B3B;AAED,wBAAsB,WAAW,CAC/B,YAAY,EAAE,GAAG,EACjB,iBAAiB,EAAE,MAAM,GACxB,OAAO,CAAC,GAAG,CAAC,CAqBd;AAED,wBAAsB,cAAc,CAClC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,EACpB,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,GAAG,CAAC,CAmCd;AAED,wBAAsB,cAAc,CAClC,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,cAAc,EAAE,GAC/B,OAAO,CAAC,MAAM,CAAC,CAejB;AAED,wBAAsB,4BAA4B,CAChD,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,WAAW,CAAC,EAAE,MAAM,EAAE,GACrB,OAAO,CAAC,MAAM,CAAC,CAgBjB;AAED,wBAAsB,aAAa,CACjC,cAAc,EAAE,cAAc,EAC9B,aAAa,EAAE,aAAa,EAC5B,cAAc,EAAE,cAAc,EAAE,EAChC,QAAQ,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EACzC,MAAM,EAAE,GAAG,EACX,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,SAAS,EACL;IACE,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,GACD,SAAS,EACb,iBAAiB,EAAE,MAAM,EAAE,EAC3B,QAAQ,qBAAQ,EAChB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,GAAG,CAAC,CA2Ed"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createSQLView = exports.getQueryFromAI = exports.getSqlViewData = exports.getSQLViews = exports.getTableSchema = exports.getFKInfo = exports.getOrgInfo = exports.getTableInfo = exports.getTablesBySchema = exports.getSchemaTableInfo = exports.testConnectionString = void 0;
|
|
3
|
+
exports.createSQLView = exports.getQueryFromAiWithConnection = exports.getQueryFromAI = exports.getSqlViewData = exports.getSQLViews = exports.getTableColumnsBySchema = exports.getTableSchema = exports.getFKInfo = exports.getOrgInfo = exports.getTableInfo = exports.getTablesBySchema = exports.getSchemaTableInfo = exports.testConnectionString = void 0;
|
|
4
4
|
const constants_1 = require("../utils/constants");
|
|
5
|
-
|
|
6
|
-
async function testConnectionString(connectionString) {
|
|
5
|
+
async function testConnectionString(connectionString, databaseType, clientId) {
|
|
7
6
|
const localURL = `${constants_1.QUILL_SERVER}/sdk/test-connection`;
|
|
8
7
|
const response = await fetch(localURL, {
|
|
9
8
|
method: 'POST',
|
|
@@ -12,14 +11,16 @@ async function testConnectionString(connectionString) {
|
|
|
12
11
|
},
|
|
13
12
|
body: JSON.stringify({
|
|
14
13
|
connectionString,
|
|
14
|
+
clientId,
|
|
15
|
+
databaseType,
|
|
15
16
|
task: 'test-connection',
|
|
16
17
|
}),
|
|
17
18
|
});
|
|
18
19
|
const results = await response.json();
|
|
19
|
-
return results
|
|
20
|
+
return results;
|
|
20
21
|
}
|
|
21
22
|
exports.testConnectionString = testConnectionString;
|
|
22
|
-
async function getSchemaTableInfo(
|
|
23
|
+
async function getSchemaTableInfo(clientId, schema, databaseType) {
|
|
23
24
|
const localURL = `${constants_1.QUILL_SERVER}/sdk/schema-info`;
|
|
24
25
|
const response = await fetch(localURL, {
|
|
25
26
|
method: 'POST',
|
|
@@ -27,8 +28,9 @@ async function getSchemaTableInfo(connectionString, schema) {
|
|
|
27
28
|
'Content-Type': 'application/json',
|
|
28
29
|
},
|
|
29
30
|
body: JSON.stringify({
|
|
30
|
-
|
|
31
|
+
clientId,
|
|
31
32
|
schema,
|
|
33
|
+
databaseType,
|
|
32
34
|
task: 'schema-info',
|
|
33
35
|
}),
|
|
34
36
|
});
|
|
@@ -36,7 +38,7 @@ async function getSchemaTableInfo(connectionString, schema) {
|
|
|
36
38
|
return results;
|
|
37
39
|
}
|
|
38
40
|
exports.getSchemaTableInfo = getSchemaTableInfo;
|
|
39
|
-
async function getTablesBySchema(
|
|
41
|
+
async function getTablesBySchema(clientId, schema) {
|
|
40
42
|
const localURL = `${constants_1.QUILL_SERVER}/sdk/tables-by-schema`;
|
|
41
43
|
const response = await fetch(localURL, {
|
|
42
44
|
method: 'POST',
|
|
@@ -44,8 +46,8 @@ async function getTablesBySchema(connectionString, schema) {
|
|
|
44
46
|
'Content-Type': 'application/json',
|
|
45
47
|
},
|
|
46
48
|
body: JSON.stringify({
|
|
47
|
-
|
|
48
|
-
schema,
|
|
49
|
+
clientId,
|
|
50
|
+
schemaNames: [schema],
|
|
49
51
|
task: 'tables-by-schema',
|
|
50
52
|
}),
|
|
51
53
|
});
|
|
@@ -53,7 +55,7 @@ async function getTablesBySchema(connectionString, schema) {
|
|
|
53
55
|
return results.tables;
|
|
54
56
|
}
|
|
55
57
|
exports.getTablesBySchema = getTablesBySchema;
|
|
56
|
-
async function getTableInfo(
|
|
58
|
+
async function getTableInfo(clientId, schema, table) {
|
|
57
59
|
const localURL = `${constants_1.QUILL_SERVER}/sdk/table-info`;
|
|
58
60
|
const response = await fetch(localURL, {
|
|
59
61
|
method: 'POST',
|
|
@@ -61,7 +63,7 @@ async function getTableInfo(connectionString, schema, table) {
|
|
|
61
63
|
'Content-Type': 'application/json',
|
|
62
64
|
},
|
|
63
65
|
body: JSON.stringify({
|
|
64
|
-
|
|
66
|
+
clientId,
|
|
65
67
|
schema,
|
|
66
68
|
table,
|
|
67
69
|
task: 'table-info',
|
|
@@ -71,7 +73,7 @@ async function getTableInfo(connectionString, schema, table) {
|
|
|
71
73
|
return results;
|
|
72
74
|
}
|
|
73
75
|
exports.getTableInfo = getTableInfo;
|
|
74
|
-
async function getOrgInfo(
|
|
76
|
+
async function getOrgInfo(clientId, schema, table, orgIdColumn, orgColumn) {
|
|
75
77
|
const localURL = `${constants_1.QUILL_SERVER}/sdk/org-info`;
|
|
76
78
|
const response = await fetch(localURL, {
|
|
77
79
|
method: 'POST',
|
|
@@ -79,7 +81,7 @@ async function getOrgInfo(connectionString, schema, table, orgIdColumn, orgColum
|
|
|
79
81
|
'Content-Type': 'application/json',
|
|
80
82
|
},
|
|
81
83
|
body: JSON.stringify({
|
|
82
|
-
|
|
84
|
+
clientId,
|
|
83
85
|
schema,
|
|
84
86
|
table,
|
|
85
87
|
orgColumn,
|
|
@@ -91,7 +93,7 @@ async function getOrgInfo(connectionString, schema, table, orgIdColumn, orgColum
|
|
|
91
93
|
return results.orgStrings;
|
|
92
94
|
}
|
|
93
95
|
exports.getOrgInfo = getOrgInfo;
|
|
94
|
-
async function getFKInfo(
|
|
96
|
+
async function getFKInfo(clientId, schema, table, primaryKey) {
|
|
95
97
|
const localURL = `${constants_1.QUILL_SERVER}/sdk/fk-info`;
|
|
96
98
|
const response = await fetch(localURL, {
|
|
97
99
|
method: 'POST',
|
|
@@ -99,7 +101,7 @@ async function getFKInfo(connectionString, schema, table, primaryKey) {
|
|
|
99
101
|
'Content-Type': 'application/json',
|
|
100
102
|
},
|
|
101
103
|
body: JSON.stringify({
|
|
102
|
-
|
|
104
|
+
clientId,
|
|
103
105
|
schema,
|
|
104
106
|
table,
|
|
105
107
|
primaryKey,
|
|
@@ -119,7 +121,7 @@ async function getFKInfo(connectionString, schema, table, primaryKey) {
|
|
|
119
121
|
return results.foreignKeysString;
|
|
120
122
|
}
|
|
121
123
|
exports.getFKInfo = getFKInfo;
|
|
122
|
-
async function getTableSchema(
|
|
124
|
+
async function getTableSchema(clientId, tables, schemaName) {
|
|
123
125
|
const localURL = `${constants_1.QUILL_SERVER}/sdk/table-schemas`;
|
|
124
126
|
const response = await fetch(localURL, {
|
|
125
127
|
method: 'POST',
|
|
@@ -127,8 +129,9 @@ async function getTableSchema(connectionString, tables) {
|
|
|
127
129
|
'Content-Type': 'application/json',
|
|
128
130
|
},
|
|
129
131
|
body: JSON.stringify({
|
|
130
|
-
|
|
132
|
+
clientId,
|
|
131
133
|
tables,
|
|
134
|
+
schemaName,
|
|
132
135
|
task: 'table-schemas',
|
|
133
136
|
}),
|
|
134
137
|
});
|
|
@@ -136,6 +139,36 @@ async function getTableSchema(connectionString, tables) {
|
|
|
136
139
|
return results;
|
|
137
140
|
}
|
|
138
141
|
exports.getTableSchema = getTableSchema;
|
|
142
|
+
async function getTableColumnsBySchema(clientId, schemaNames, databaseType, queryEndpoint) {
|
|
143
|
+
const localURL = queryEndpoint ?? `${constants_1.QUILL_SERVER}/table-info-by-schema`;
|
|
144
|
+
const response = await fetch(localURL, {
|
|
145
|
+
method: 'POST',
|
|
146
|
+
headers: {
|
|
147
|
+
'Content-Type': 'application/json',
|
|
148
|
+
},
|
|
149
|
+
body: JSON.stringify({
|
|
150
|
+
clientId,
|
|
151
|
+
schemaNames,
|
|
152
|
+
task: 'table-schemas',
|
|
153
|
+
metadata: {
|
|
154
|
+
task: 'table-schemas',
|
|
155
|
+
preQueries: ['temp'],
|
|
156
|
+
clientId,
|
|
157
|
+
runQueryConfig: {
|
|
158
|
+
overridePost: true,
|
|
159
|
+
convertDatatypes: true,
|
|
160
|
+
getTables: true,
|
|
161
|
+
schema: schemaNames[0],
|
|
162
|
+
schemaNames: schemaNames,
|
|
163
|
+
},
|
|
164
|
+
databaseType: databaseType,
|
|
165
|
+
},
|
|
166
|
+
}),
|
|
167
|
+
});
|
|
168
|
+
const results = await response.json();
|
|
169
|
+
return queryEndpoint ? results.data.queryResults : results;
|
|
170
|
+
}
|
|
171
|
+
exports.getTableColumnsBySchema = getTableColumnsBySchema;
|
|
139
172
|
async function getSQLViews(tableSchemas, customerNameField) {
|
|
140
173
|
const localURL = `${constants_1.QUILL_SERVER}/sqlviewai`;
|
|
141
174
|
const response = await fetch(localURL, {
|
|
@@ -159,21 +192,40 @@ async function getSQLViews(tableSchemas, customerNameField) {
|
|
|
159
192
|
return results.notSureWhatThisIs.sqlQueries;
|
|
160
193
|
}
|
|
161
194
|
exports.getSQLViews = getSQLViews;
|
|
162
|
-
async function getSqlViewData(
|
|
163
|
-
const
|
|
164
|
-
const response = await fetch(
|
|
195
|
+
async function getSqlViewData(clientId, query, databaseType, queryEndpoint) {
|
|
196
|
+
const url = queryEndpoint ?? `${constants_1.QUILL_SERVER}/sdk/query-view`;
|
|
197
|
+
const response = await fetch(url, {
|
|
165
198
|
method: 'POST',
|
|
166
199
|
headers: {
|
|
167
200
|
'Content-Type': 'application/json',
|
|
168
201
|
},
|
|
169
202
|
body: JSON.stringify({
|
|
170
|
-
|
|
203
|
+
clientId,
|
|
171
204
|
query,
|
|
205
|
+
metadata: {
|
|
206
|
+
task: 'query-view',
|
|
207
|
+
preQueries: [query],
|
|
208
|
+
clientId,
|
|
209
|
+
runQueryConfig: {
|
|
210
|
+
overridePost: true,
|
|
211
|
+
convertDatatypes: true,
|
|
212
|
+
limitThousand: true,
|
|
213
|
+
},
|
|
214
|
+
databaseType: databaseType,
|
|
215
|
+
},
|
|
172
216
|
task: 'query-view',
|
|
173
217
|
}),
|
|
174
218
|
});
|
|
175
219
|
const results = await response.json();
|
|
176
|
-
|
|
220
|
+
if (results.status === 'error') {
|
|
221
|
+
return { ...results, success: false };
|
|
222
|
+
}
|
|
223
|
+
return queryEndpoint
|
|
224
|
+
? {
|
|
225
|
+
...results.data.queryResults[0],
|
|
226
|
+
success: results.status === 'success' ? true : false,
|
|
227
|
+
}
|
|
228
|
+
: results;
|
|
177
229
|
}
|
|
178
230
|
exports.getSqlViewData = getSqlViewData;
|
|
179
231
|
async function getQueryFromAI(aiPrompt, columnsByTable) {
|
|
@@ -193,7 +245,25 @@ async function getQueryFromAI(aiPrompt, columnsByTable) {
|
|
|
193
245
|
return results.message;
|
|
194
246
|
}
|
|
195
247
|
exports.getQueryFromAI = getQueryFromAI;
|
|
196
|
-
async function
|
|
248
|
+
async function getQueryFromAiWithConnection(aiPrompt, clientId, schemaNames) {
|
|
249
|
+
const localURL = `${constants_1.QUILL_SERVER}/ai-from-client-schema`;
|
|
250
|
+
const response = await fetch(localURL, {
|
|
251
|
+
method: 'POST',
|
|
252
|
+
headers: {
|
|
253
|
+
'Content-Type': 'application/json',
|
|
254
|
+
},
|
|
255
|
+
body: JSON.stringify({
|
|
256
|
+
prompt: aiPrompt,
|
|
257
|
+
clientId,
|
|
258
|
+
schemaNames,
|
|
259
|
+
task: 'sql-generator',
|
|
260
|
+
}),
|
|
261
|
+
});
|
|
262
|
+
const results = await response.json();
|
|
263
|
+
return results.message;
|
|
264
|
+
}
|
|
265
|
+
exports.getQueryFromAiWithConnection = getQueryFromAiWithConnection;
|
|
266
|
+
async function createSQLView(connectionType, allSchemaInfo, columnsByTable, viewInfo, client, domainName, tableData, currentTableNames, override = false, clientId) {
|
|
197
267
|
let queryName = viewInfo.name;
|
|
198
268
|
let validQuery = false;
|
|
199
269
|
let localURL = `${constants_1.QUILL_SERVER}/astify`;
|
|
@@ -204,8 +274,9 @@ async function createSQLView(connectionType, allSchemaInfo, columnsByTable, view
|
|
|
204
274
|
},
|
|
205
275
|
body: JSON.stringify({ query: viewInfo.query }),
|
|
206
276
|
});
|
|
207
|
-
tableData?.
|
|
208
|
-
if (column.name ===
|
|
277
|
+
tableData?.fields.forEach((column) => {
|
|
278
|
+
if (column.name ===
|
|
279
|
+
allSchemaInfo.selectedFields.foreignKey.replaceAll('"', '')) {
|
|
209
280
|
validQuery = true;
|
|
210
281
|
}
|
|
211
282
|
});
|
|
@@ -223,27 +294,28 @@ async function createSQLView(connectionType, allSchemaInfo, columnsByTable, view
|
|
|
223
294
|
if (currentTableNames.includes(queryName)) {
|
|
224
295
|
return { success: false, message: 'Query name already exists' };
|
|
225
296
|
}
|
|
226
|
-
const columns = columnsByTable.find((table) => table.tableName === allSchemaInfo.selectedFields.table).columns;
|
|
297
|
+
const columns = columnsByTable.find((table) => table.tableName === `${allSchemaInfo.selectedFields.schema}.${allSchemaInfo.selectedFields.table}`).columns;
|
|
227
298
|
const customerFieldType = columns.find((column) => column.columnName === allSchemaInfo.selectedFields.organizationIdField).fieldType;
|
|
228
299
|
const fuzzyType = customerFieldType === 'string' || customerFieldType === 'uuid'
|
|
229
300
|
? 'text'
|
|
230
301
|
: 'number';
|
|
231
302
|
localURL = `${constants_1.QUILL_SERVER}/sdk/create-environment`;
|
|
232
303
|
const payload = {
|
|
233
|
-
databaseConnectionString: (0, databases_1.formConnectionString)(connectionType),
|
|
234
|
-
databaseType: connectionType.type,
|
|
235
304
|
customerFieldName: allSchemaInfo.selectedFields.foreignKey,
|
|
236
|
-
customerTableName: allSchemaInfo.selectedFields.table
|
|
305
|
+
customerTableName: `${allSchemaInfo.selectedFields.schema}.${allSchemaInfo.selectedFields.table}`,
|
|
237
306
|
customerTableFieldName: allSchemaInfo.selectedFields.organizationIdField,
|
|
238
307
|
adminCustomerId: allSchemaInfo.selectedFields.defaultOrg?.id,
|
|
239
308
|
customerTableTitleFieldName: allSchemaInfo.selectedFields.customerNameField,
|
|
240
|
-
columns: tableData?.
|
|
309
|
+
columns: tableData?.fields,
|
|
241
310
|
task: 'create-environment',
|
|
242
311
|
viewQuery: viewInfo.query,
|
|
243
312
|
customerFieldType: fuzzyType,
|
|
244
313
|
name: queryName,
|
|
245
314
|
client,
|
|
246
315
|
domainName,
|
|
316
|
+
schemaName: allSchemaInfo.selectedFields.schema,
|
|
317
|
+
schemaNames: [allSchemaInfo.selectedFields.schema],
|
|
318
|
+
clientId,
|
|
247
319
|
};
|
|
248
320
|
const response = await fetch(localURL, {
|
|
249
321
|
method: 'POST',
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ArrowDownHeadIcon.d.ts","sourceRoot":"","sources":["../../../src/assets/ArrowDownHeadIcon.tsx"],"names":[],"mappings":"AAGA,QAAA,MAAM,iBAAiB;;6CAKtB,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
4
|
+
const ArrowDownHeadIcon = ({ ...props }) => ((0, jsx_runtime_1.jsx)("svg", { ...props, xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", width: "24", height: "24", children: (0, jsx_runtime_1.jsx)("path", { fill: "currentColor", d: "M12 13.172l4.95-4.95 1.414 1.414L12 16 5.636 9.636 7.05 8.222z" }) }));
|
|
5
|
+
exports.default = ArrowDownHeadIcon;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"XIcon.d.ts","sourceRoot":"","sources":["../../../src/assets/XIcon.tsx"],"names":[],"mappings":"AAGA,QAAA,MAAM,KAAK;;6CAcV,CAAC;AACF,eAAe,KAAK,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
4
|
+
const XIcon = ({ ...props }) => ((0, jsx_runtime_1.jsx)("svg", { ...props, xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", height: "20", width: "20", children: (0, jsx_runtime_1.jsx)("path", { fillRule: "evenodd", d: "M5.47 5.47a.75.75 0 011.06 0L12 10.94l5.47-5.47a.75.75 0 111.06 1.06L13.06 12l5.47 5.47a.75.75 0 11-1.06 1.06L12 13.06l-5.47 5.47a.75.75 0 01-1.06-1.06L10.94 12 5.47 6.53a.75.75 0 010-1.06z", clipRule: "evenodd" }) }));
|
|
5
|
+
exports.default = XIcon;
|