@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,8 +1,9 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useReducer, createContext, useEffect, useContext, } from 'react';
|
|
3
3
|
import { theme } from './Admin';
|
|
4
4
|
import { QuillProvider } from '@quillsql/react';
|
|
5
5
|
import { QUILL_SERVER } from './utils/constants';
|
|
6
|
+
import CreateEnvironment from './public_components/CreateEnvironment';
|
|
6
7
|
const AdminContext = createContext(undefined);
|
|
7
8
|
function reducer(state, action) {
|
|
8
9
|
switch (action.type) {
|
|
@@ -22,8 +23,6 @@ function reducer(state, action) {
|
|
|
22
23
|
return { ...state, clients: [...state.clients, action.payload] };
|
|
23
24
|
case 'SET_ENVIRONMENT':
|
|
24
25
|
return { ...state, environment: action.payload };
|
|
25
|
-
case 'SET_ORGANIZATION':
|
|
26
|
-
return { ...state, organization: action.payload };
|
|
27
26
|
case 'SET_ORGANIZATIONS':
|
|
28
27
|
return { ...state, organizations: action.payload };
|
|
29
28
|
case 'SET_ORGANIZATION_ID':
|
|
@@ -56,8 +55,8 @@ function reducer(state, action) {
|
|
|
56
55
|
return { ...state, navigateToDashboardManager: action.payload };
|
|
57
56
|
case 'SET_NAVIGATE_TO_DASHBOARD_BUILDER':
|
|
58
57
|
return { ...state, navigateToDashboardBuilder: action.payload };
|
|
59
|
-
case '
|
|
60
|
-
return { ...state,
|
|
58
|
+
case 'SET_DATABASE_TYPE_MISMATCH':
|
|
59
|
+
return { ...state, databaseTypeMismatch: action.payload };
|
|
61
60
|
default:
|
|
62
61
|
return state;
|
|
63
62
|
}
|
|
@@ -82,13 +81,10 @@ function AdminProvider({ children, publicKey, queryEndpoint, queryHeaders, withC
|
|
|
82
81
|
return {};
|
|
83
82
|
}
|
|
84
83
|
return {
|
|
85
|
-
activeComponent: savedState.activeComponent || 'Dashboards',
|
|
86
84
|
selectedDashboard: savedState.selectedDashboard || null,
|
|
87
85
|
organizationId: savedState.organizationId || null,
|
|
88
|
-
organizationIdSet: savedState.organizationIdSet || false,
|
|
89
|
-
organizations: savedState.organizations || [],
|
|
90
|
-
organization: savedState.organization || null,
|
|
91
86
|
client: savedState.client || null,
|
|
87
|
+
publicKey: savedState.publicKey || null,
|
|
92
88
|
};
|
|
93
89
|
}
|
|
94
90
|
catch (err) {
|
|
@@ -121,21 +117,17 @@ function AdminProvider({ children, publicKey, queryEndpoint, queryHeaders, withC
|
|
|
121
117
|
organizationIdSet: false,
|
|
122
118
|
dateFilter: {},
|
|
123
119
|
domainName: domainName || '',
|
|
120
|
+
databaseTypeMismatch: { show: false, backendDatabaseType: '' },
|
|
124
121
|
...loadState(),
|
|
125
122
|
};
|
|
126
123
|
const [state, dispatch] = useReducer(reducer, initialState);
|
|
127
124
|
useEffect(() => {
|
|
128
125
|
try {
|
|
129
126
|
const stateToSave = {
|
|
130
|
-
activeComponent: state.activeComponent,
|
|
131
127
|
selectedDashboard: state.selectedDashboard,
|
|
132
128
|
organizationId: state.organizationId,
|
|
133
|
-
organizationIdSet: state.organizationIdSet,
|
|
134
|
-
organizations: state.organizations,
|
|
135
|
-
organization: state.organization,
|
|
136
129
|
publicKey: state.publicKey,
|
|
137
130
|
client: state.client,
|
|
138
|
-
domainName: state.domainName,
|
|
139
131
|
};
|
|
140
132
|
const serializedState = JSON.stringify(stateToSave);
|
|
141
133
|
sessionStorage.setItem('adminState', serializedState);
|
|
@@ -144,15 +136,10 @@ function AdminProvider({ children, publicKey, queryEndpoint, queryHeaders, withC
|
|
|
144
136
|
console.warn('Error writing state to session storage');
|
|
145
137
|
}
|
|
146
138
|
}, [
|
|
147
|
-
state.activeComponent,
|
|
148
139
|
state.selectedDashboard,
|
|
149
140
|
state.organizationId,
|
|
150
141
|
state.client,
|
|
151
|
-
state.organizationIdSet,
|
|
152
|
-
state.organizations,
|
|
153
|
-
state.organization,
|
|
154
142
|
state.publicKey,
|
|
155
|
-
state.domainName,
|
|
156
143
|
]);
|
|
157
144
|
useEffect(() => {
|
|
158
145
|
async function fetchClient(publicKey) {
|
|
@@ -160,14 +147,26 @@ function AdminProvider({ children, publicKey, queryEndpoint, queryHeaders, withC
|
|
|
160
147
|
return;
|
|
161
148
|
}
|
|
162
149
|
try {
|
|
163
|
-
const response = await fetch(`${
|
|
164
|
-
method: '
|
|
165
|
-
headers: {
|
|
150
|
+
const response = await fetch(`${queryEndpoint}`, {
|
|
151
|
+
method: 'POST',
|
|
152
|
+
headers: {
|
|
153
|
+
...queryHeaders,
|
|
154
|
+
'Content-Type': 'application/json',
|
|
155
|
+
},
|
|
156
|
+
body: JSON.stringify({
|
|
157
|
+
metadata: {
|
|
158
|
+
clientId: publicKey,
|
|
159
|
+
publicKey,
|
|
160
|
+
task: 'client',
|
|
161
|
+
},
|
|
162
|
+
}),
|
|
166
163
|
});
|
|
167
164
|
const data = await response.json();
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
165
|
+
dispatch({
|
|
166
|
+
type: 'SET_CLIENT',
|
|
167
|
+
payload: initialState.client || data.data.client,
|
|
168
|
+
});
|
|
169
|
+
dispatch({ type: 'SET_CLIENTS', payload: data.data.clients });
|
|
171
170
|
}
|
|
172
171
|
catch (error) {
|
|
173
172
|
console.error('ERROR:', error);
|
|
@@ -181,16 +180,27 @@ function AdminProvider({ children, publicKey, queryEndpoint, queryHeaders, withC
|
|
|
181
180
|
return;
|
|
182
181
|
}
|
|
183
182
|
try {
|
|
184
|
-
const response = await fetch(`${
|
|
185
|
-
method: '
|
|
186
|
-
headers: {
|
|
183
|
+
const response = await fetch(`${queryEndpoint}`, {
|
|
184
|
+
method: 'POST',
|
|
185
|
+
headers: {
|
|
186
|
+
...queryHeaders,
|
|
187
|
+
'Content-Type': 'application/json',
|
|
188
|
+
},
|
|
189
|
+
body: JSON.stringify({
|
|
190
|
+
metadata: {
|
|
191
|
+
clientId: publicKey,
|
|
192
|
+
publicKey,
|
|
193
|
+
task: 'schema',
|
|
194
|
+
databaseType: state.client.databaseType,
|
|
195
|
+
},
|
|
196
|
+
}),
|
|
187
197
|
});
|
|
188
198
|
if (!response.ok) {
|
|
189
199
|
throw new Error('Failed to fetch tables data');
|
|
190
200
|
}
|
|
191
201
|
const data = await response.json();
|
|
192
|
-
dispatch({ type: 'SET_TABLES', payload: data.tables });
|
|
193
|
-
dispatch({ type: 'SET_SCHEMA', payload: data.tables });
|
|
202
|
+
dispatch({ type: 'SET_TABLES', payload: data.data.tables });
|
|
203
|
+
dispatch({ type: 'SET_SCHEMA', payload: data.data.tables });
|
|
194
204
|
}
|
|
195
205
|
catch (error) {
|
|
196
206
|
console.error('ERROR:', error);
|
|
@@ -200,31 +210,6 @@ function AdminProvider({ children, publicKey, queryEndpoint, queryHeaders, withC
|
|
|
200
210
|
fetchSchemaAndTables(state.client._id);
|
|
201
211
|
}
|
|
202
212
|
}, [state?.client, publicKey]);
|
|
203
|
-
useEffect(() => {
|
|
204
|
-
if (publicKey === '' || publicKey === undefined || publicKey === null) {
|
|
205
|
-
throw new Error('publicKey is required');
|
|
206
|
-
}
|
|
207
|
-
const getClients = async () => {
|
|
208
|
-
try {
|
|
209
|
-
const url = `${QUILL_SERVER}/clients/${publicKey}/`;
|
|
210
|
-
const response = await fetch(url, {
|
|
211
|
-
method: 'GET',
|
|
212
|
-
headers: {
|
|
213
|
-
Authorization: `Bearer `,
|
|
214
|
-
},
|
|
215
|
-
});
|
|
216
|
-
if (!response.ok) {
|
|
217
|
-
throw new Error(`HTTP error! status: ${response.status}`);
|
|
218
|
-
}
|
|
219
|
-
const data = await response.json();
|
|
220
|
-
dispatch({ type: 'SET_CLIENTS', payload: data });
|
|
221
|
-
}
|
|
222
|
-
catch (error) {
|
|
223
|
-
console.error('Error fetching clients:', error);
|
|
224
|
-
}
|
|
225
|
-
};
|
|
226
|
-
getClients();
|
|
227
|
-
}, [publicKey]);
|
|
228
213
|
useEffect(() => {
|
|
229
214
|
let isSubscribed = true;
|
|
230
215
|
async function getCustomers() {
|
|
@@ -237,6 +222,7 @@ function AdminProvider({ children, publicKey, queryEndpoint, queryHeaders, withC
|
|
|
237
222
|
};
|
|
238
223
|
try {
|
|
239
224
|
let response;
|
|
225
|
+
dispatch({ type: 'SET_LOADING', payload: true });
|
|
240
226
|
if (state.queryEndpoint) {
|
|
241
227
|
response = await fetch(state.queryEndpoint, {
|
|
242
228
|
method: 'POST',
|
|
@@ -245,7 +231,11 @@ function AdminProvider({ children, publicKey, queryEndpoint, queryHeaders, withC
|
|
|
245
231
|
'Content-Type': 'application/json',
|
|
246
232
|
},
|
|
247
233
|
body: JSON.stringify({
|
|
248
|
-
metadata: {
|
|
234
|
+
metadata: {
|
|
235
|
+
clientId: state.client._id,
|
|
236
|
+
task: 'orgs',
|
|
237
|
+
databaseType: state.client.databaseType,
|
|
238
|
+
},
|
|
249
239
|
}),
|
|
250
240
|
credentials: state.withCredentials ? 'include' : 'omit', // If withCredentials is true, set to 'include'. Otherwise, set to 'omit'.
|
|
251
241
|
});
|
|
@@ -258,38 +248,45 @@ function AdminProvider({ children, publicKey, queryEndpoint, queryHeaders, withC
|
|
|
258
248
|
}
|
|
259
249
|
const data = await response.json();
|
|
260
250
|
if (data.status === 'error') {
|
|
251
|
+
dispatch({ type: 'SET_LOADING', payload: false });
|
|
261
252
|
throw new Error(data.error);
|
|
262
253
|
}
|
|
254
|
+
if (data.queries.dbMismatched) {
|
|
255
|
+
dispatch({
|
|
256
|
+
type: 'SET_DATABASE_TYPE_MISMATCH',
|
|
257
|
+
payload: {
|
|
258
|
+
show: true,
|
|
259
|
+
backendDatabaseType: data.queries.backendDatbaseType, // TYPO NEED TO FIX IN NODE and Python SDK
|
|
260
|
+
},
|
|
261
|
+
});
|
|
262
|
+
dispatch({ type: 'SET_LOADING', payload: false });
|
|
263
|
+
return;
|
|
264
|
+
}
|
|
263
265
|
if (state.queryEndpoint) {
|
|
264
266
|
dispatch({
|
|
265
267
|
type: 'SET_ORGANIZATIONS',
|
|
266
|
-
payload: [...data.data.rows
|
|
268
|
+
payload: [...data.data.rows],
|
|
267
269
|
});
|
|
268
270
|
}
|
|
269
271
|
else {
|
|
270
272
|
dispatch({
|
|
271
273
|
type: 'SET_ORGANIZATIONS',
|
|
272
|
-
payload: [...data.orgs
|
|
274
|
+
payload: [...data.orgs],
|
|
273
275
|
});
|
|
274
276
|
}
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
type: 'SET_ORGANIZATION_ID',
|
|
285
|
-
payload: state.client.adminCustomerId,
|
|
286
|
-
});
|
|
287
|
-
}
|
|
288
|
-
dispatch({ type: 'SET_ORGANIZATION_ID_SET', payload: true });
|
|
289
|
-
}
|
|
277
|
+
dispatch({
|
|
278
|
+
type: 'SET_DATABASE_TYPE_MISMATCH',
|
|
279
|
+
payload: { show: false, backendDatabaseType: '' },
|
|
280
|
+
});
|
|
281
|
+
dispatch({
|
|
282
|
+
type: 'SET_ORGANIZATION_ID',
|
|
283
|
+
payload: state.organizationId || state.client.adminCustomerId,
|
|
284
|
+
});
|
|
285
|
+
dispatch({ type: 'SET_LOADING', payload: false });
|
|
290
286
|
}
|
|
291
287
|
catch (error) {
|
|
292
288
|
console.error('Error fetching data:', error);
|
|
289
|
+
dispatch({ type: 'SET_LOADING', payload: false });
|
|
293
290
|
}
|
|
294
291
|
}
|
|
295
292
|
if (isSubscribed && state.client) {
|
|
@@ -299,17 +296,6 @@ function AdminProvider({ children, publicKey, queryEndpoint, queryHeaders, withC
|
|
|
299
296
|
isSubscribed = false;
|
|
300
297
|
};
|
|
301
298
|
}, [state.environment, state.client, state.organizationId, publicKey]);
|
|
302
|
-
|
|
303
|
-
if (state.client &&
|
|
304
|
-
state.clients &&
|
|
305
|
-
state.organizations &&
|
|
306
|
-
state.organizationIdSet) {
|
|
307
|
-
dispatch({ type: 'SET_LOADING', payload: false });
|
|
308
|
-
}
|
|
309
|
-
else {
|
|
310
|
-
dispatch({ type: 'SET_LOADING', payload: true });
|
|
311
|
-
}
|
|
312
|
-
}, [state.client, state.clients, state.organizations, state.organizationId]);
|
|
313
|
-
return (_jsx(AdminContext.Provider, { value: { state, dispatch }, children: !state.loading && (_jsx(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 })) }));
|
|
299
|
+
return (_jsxs(AdminContext.Provider, { value: { state, dispatch }, children: [!state.client && !state.loading && _jsx(CreateEnvironment, {}), state.client && (_jsx(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 }))] }));
|
|
314
300
|
}
|
|
315
301
|
export { AdminProvider, useAdmin };
|
|
@@ -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":"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"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { QUILL_SERVER } from '../utils/constants';
|
|
2
|
-
|
|
3
|
-
export async function testConnectionString(connectionString) {
|
|
2
|
+
export async function testConnectionString(connectionString, databaseType, clientId) {
|
|
4
3
|
const localURL = `${QUILL_SERVER}/sdk/test-connection`;
|
|
5
4
|
const response = await fetch(localURL, {
|
|
6
5
|
method: 'POST',
|
|
@@ -9,13 +8,15 @@ export async function testConnectionString(connectionString) {
|
|
|
9
8
|
},
|
|
10
9
|
body: JSON.stringify({
|
|
11
10
|
connectionString,
|
|
11
|
+
clientId,
|
|
12
|
+
databaseType,
|
|
12
13
|
task: 'test-connection',
|
|
13
14
|
}),
|
|
14
15
|
});
|
|
15
16
|
const results = await response.json();
|
|
16
|
-
return results
|
|
17
|
+
return results;
|
|
17
18
|
}
|
|
18
|
-
export async function getSchemaTableInfo(
|
|
19
|
+
export async function getSchemaTableInfo(clientId, schema, databaseType) {
|
|
19
20
|
const localURL = `${QUILL_SERVER}/sdk/schema-info`;
|
|
20
21
|
const response = await fetch(localURL, {
|
|
21
22
|
method: 'POST',
|
|
@@ -23,15 +24,16 @@ export async function getSchemaTableInfo(connectionString, schema) {
|
|
|
23
24
|
'Content-Type': 'application/json',
|
|
24
25
|
},
|
|
25
26
|
body: JSON.stringify({
|
|
26
|
-
|
|
27
|
+
clientId,
|
|
27
28
|
schema,
|
|
29
|
+
databaseType,
|
|
28
30
|
task: 'schema-info',
|
|
29
31
|
}),
|
|
30
32
|
});
|
|
31
33
|
const results = await response.json();
|
|
32
34
|
return results;
|
|
33
35
|
}
|
|
34
|
-
export async function getTablesBySchema(
|
|
36
|
+
export async function getTablesBySchema(clientId, schema) {
|
|
35
37
|
const localURL = `${QUILL_SERVER}/sdk/tables-by-schema`;
|
|
36
38
|
const response = await fetch(localURL, {
|
|
37
39
|
method: 'POST',
|
|
@@ -39,15 +41,15 @@ export async function getTablesBySchema(connectionString, schema) {
|
|
|
39
41
|
'Content-Type': 'application/json',
|
|
40
42
|
},
|
|
41
43
|
body: JSON.stringify({
|
|
42
|
-
|
|
43
|
-
schema,
|
|
44
|
+
clientId,
|
|
45
|
+
schemaNames: [schema],
|
|
44
46
|
task: 'tables-by-schema',
|
|
45
47
|
}),
|
|
46
48
|
});
|
|
47
49
|
const results = await response.json();
|
|
48
50
|
return results.tables;
|
|
49
51
|
}
|
|
50
|
-
export async function getTableInfo(
|
|
52
|
+
export async function getTableInfo(clientId, schema, table) {
|
|
51
53
|
const localURL = `${QUILL_SERVER}/sdk/table-info`;
|
|
52
54
|
const response = await fetch(localURL, {
|
|
53
55
|
method: 'POST',
|
|
@@ -55,7 +57,7 @@ export async function getTableInfo(connectionString, schema, table) {
|
|
|
55
57
|
'Content-Type': 'application/json',
|
|
56
58
|
},
|
|
57
59
|
body: JSON.stringify({
|
|
58
|
-
|
|
60
|
+
clientId,
|
|
59
61
|
schema,
|
|
60
62
|
table,
|
|
61
63
|
task: 'table-info',
|
|
@@ -64,7 +66,7 @@ export async function getTableInfo(connectionString, schema, table) {
|
|
|
64
66
|
const results = await response.json();
|
|
65
67
|
return results;
|
|
66
68
|
}
|
|
67
|
-
export async function getOrgInfo(
|
|
69
|
+
export async function getOrgInfo(clientId, schema, table, orgIdColumn, orgColumn) {
|
|
68
70
|
const localURL = `${QUILL_SERVER}/sdk/org-info`;
|
|
69
71
|
const response = await fetch(localURL, {
|
|
70
72
|
method: 'POST',
|
|
@@ -72,7 +74,7 @@ export async function getOrgInfo(connectionString, schema, table, orgIdColumn, o
|
|
|
72
74
|
'Content-Type': 'application/json',
|
|
73
75
|
},
|
|
74
76
|
body: JSON.stringify({
|
|
75
|
-
|
|
77
|
+
clientId,
|
|
76
78
|
schema,
|
|
77
79
|
table,
|
|
78
80
|
orgColumn,
|
|
@@ -83,7 +85,7 @@ export async function getOrgInfo(connectionString, schema, table, orgIdColumn, o
|
|
|
83
85
|
const results = await response.json();
|
|
84
86
|
return results.orgStrings;
|
|
85
87
|
}
|
|
86
|
-
export async function getFKInfo(
|
|
88
|
+
export async function getFKInfo(clientId, schema, table, primaryKey) {
|
|
87
89
|
const localURL = `${QUILL_SERVER}/sdk/fk-info`;
|
|
88
90
|
const response = await fetch(localURL, {
|
|
89
91
|
method: 'POST',
|
|
@@ -91,7 +93,7 @@ export async function getFKInfo(connectionString, schema, table, primaryKey) {
|
|
|
91
93
|
'Content-Type': 'application/json',
|
|
92
94
|
},
|
|
93
95
|
body: JSON.stringify({
|
|
94
|
-
|
|
96
|
+
clientId,
|
|
95
97
|
schema,
|
|
96
98
|
table,
|
|
97
99
|
primaryKey,
|
|
@@ -110,7 +112,7 @@ export async function getFKInfo(connectionString, schema, table, primaryKey) {
|
|
|
110
112
|
}
|
|
111
113
|
return results.foreignKeysString;
|
|
112
114
|
}
|
|
113
|
-
export async function getTableSchema(
|
|
115
|
+
export async function getTableSchema(clientId, tables, schemaName) {
|
|
114
116
|
const localURL = `${QUILL_SERVER}/sdk/table-schemas`;
|
|
115
117
|
const response = await fetch(localURL, {
|
|
116
118
|
method: 'POST',
|
|
@@ -118,14 +120,44 @@ export async function getTableSchema(connectionString, tables) {
|
|
|
118
120
|
'Content-Type': 'application/json',
|
|
119
121
|
},
|
|
120
122
|
body: JSON.stringify({
|
|
121
|
-
|
|
123
|
+
clientId,
|
|
122
124
|
tables,
|
|
125
|
+
schemaName,
|
|
123
126
|
task: 'table-schemas',
|
|
124
127
|
}),
|
|
125
128
|
});
|
|
126
129
|
const results = await response.json();
|
|
127
130
|
return results;
|
|
128
131
|
}
|
|
132
|
+
export async function getTableColumnsBySchema(clientId, schemaNames, databaseType, queryEndpoint) {
|
|
133
|
+
const localURL = queryEndpoint ?? `${QUILL_SERVER}/table-info-by-schema`;
|
|
134
|
+
const response = await fetch(localURL, {
|
|
135
|
+
method: 'POST',
|
|
136
|
+
headers: {
|
|
137
|
+
'Content-Type': 'application/json',
|
|
138
|
+
},
|
|
139
|
+
body: JSON.stringify({
|
|
140
|
+
clientId,
|
|
141
|
+
schemaNames,
|
|
142
|
+
task: 'table-schemas',
|
|
143
|
+
metadata: {
|
|
144
|
+
task: 'table-schemas',
|
|
145
|
+
preQueries: ['temp'],
|
|
146
|
+
clientId,
|
|
147
|
+
runQueryConfig: {
|
|
148
|
+
overridePost: true,
|
|
149
|
+
convertDatatypes: true,
|
|
150
|
+
getTables: true,
|
|
151
|
+
schema: schemaNames[0],
|
|
152
|
+
schemaNames: schemaNames,
|
|
153
|
+
},
|
|
154
|
+
databaseType: databaseType,
|
|
155
|
+
},
|
|
156
|
+
}),
|
|
157
|
+
});
|
|
158
|
+
const results = await response.json();
|
|
159
|
+
return queryEndpoint ? results.data.queryResults : results;
|
|
160
|
+
}
|
|
129
161
|
export async function getSQLViews(tableSchemas, customerNameField) {
|
|
130
162
|
const localURL = `${QUILL_SERVER}/sqlviewai`;
|
|
131
163
|
const response = await fetch(localURL, {
|
|
@@ -148,21 +180,40 @@ export async function getSQLViews(tableSchemas, customerNameField) {
|
|
|
148
180
|
}
|
|
149
181
|
return results.notSureWhatThisIs.sqlQueries;
|
|
150
182
|
}
|
|
151
|
-
export async function getSqlViewData(
|
|
152
|
-
const
|
|
153
|
-
const response = await fetch(
|
|
183
|
+
export async function getSqlViewData(clientId, query, databaseType, queryEndpoint) {
|
|
184
|
+
const url = queryEndpoint ?? `${QUILL_SERVER}/sdk/query-view`;
|
|
185
|
+
const response = await fetch(url, {
|
|
154
186
|
method: 'POST',
|
|
155
187
|
headers: {
|
|
156
188
|
'Content-Type': 'application/json',
|
|
157
189
|
},
|
|
158
190
|
body: JSON.stringify({
|
|
159
|
-
|
|
191
|
+
clientId,
|
|
160
192
|
query,
|
|
193
|
+
metadata: {
|
|
194
|
+
task: 'query-view',
|
|
195
|
+
preQueries: [query],
|
|
196
|
+
clientId,
|
|
197
|
+
runQueryConfig: {
|
|
198
|
+
overridePost: true,
|
|
199
|
+
convertDatatypes: true,
|
|
200
|
+
limitThousand: true,
|
|
201
|
+
},
|
|
202
|
+
databaseType: databaseType,
|
|
203
|
+
},
|
|
161
204
|
task: 'query-view',
|
|
162
205
|
}),
|
|
163
206
|
});
|
|
164
207
|
const results = await response.json();
|
|
165
|
-
|
|
208
|
+
if (results.status === 'error') {
|
|
209
|
+
return { ...results, success: false };
|
|
210
|
+
}
|
|
211
|
+
return queryEndpoint
|
|
212
|
+
? {
|
|
213
|
+
...results.data.queryResults[0],
|
|
214
|
+
success: results.status === 'success' ? true : false,
|
|
215
|
+
}
|
|
216
|
+
: results;
|
|
166
217
|
}
|
|
167
218
|
export async function getQueryFromAI(aiPrompt, columnsByTable) {
|
|
168
219
|
const localURL = `${QUILL_SERVER}/sdk/sql-generator`;
|
|
@@ -180,7 +231,24 @@ export async function getQueryFromAI(aiPrompt, columnsByTable) {
|
|
|
180
231
|
const results = await response.json();
|
|
181
232
|
return results.message;
|
|
182
233
|
}
|
|
183
|
-
export async function
|
|
234
|
+
export async function getQueryFromAiWithConnection(aiPrompt, clientId, schemaNames) {
|
|
235
|
+
const localURL = `${QUILL_SERVER}/ai-from-client-schema`;
|
|
236
|
+
const response = await fetch(localURL, {
|
|
237
|
+
method: 'POST',
|
|
238
|
+
headers: {
|
|
239
|
+
'Content-Type': 'application/json',
|
|
240
|
+
},
|
|
241
|
+
body: JSON.stringify({
|
|
242
|
+
prompt: aiPrompt,
|
|
243
|
+
clientId,
|
|
244
|
+
schemaNames,
|
|
245
|
+
task: 'sql-generator',
|
|
246
|
+
}),
|
|
247
|
+
});
|
|
248
|
+
const results = await response.json();
|
|
249
|
+
return results.message;
|
|
250
|
+
}
|
|
251
|
+
export async function createSQLView(connectionType, allSchemaInfo, columnsByTable, viewInfo, client, domainName, tableData, currentTableNames, override = false, clientId) {
|
|
184
252
|
let queryName = viewInfo.name;
|
|
185
253
|
let validQuery = false;
|
|
186
254
|
let localURL = `${QUILL_SERVER}/astify`;
|
|
@@ -191,8 +259,9 @@ export async function createSQLView(connectionType, allSchemaInfo, columnsByTabl
|
|
|
191
259
|
},
|
|
192
260
|
body: JSON.stringify({ query: viewInfo.query }),
|
|
193
261
|
});
|
|
194
|
-
tableData?.
|
|
195
|
-
if (column.name ===
|
|
262
|
+
tableData?.fields.forEach((column) => {
|
|
263
|
+
if (column.name ===
|
|
264
|
+
allSchemaInfo.selectedFields.foreignKey.replaceAll('"', '')) {
|
|
196
265
|
validQuery = true;
|
|
197
266
|
}
|
|
198
267
|
});
|
|
@@ -210,27 +279,28 @@ export async function createSQLView(connectionType, allSchemaInfo, columnsByTabl
|
|
|
210
279
|
if (currentTableNames.includes(queryName)) {
|
|
211
280
|
return { success: false, message: 'Query name already exists' };
|
|
212
281
|
}
|
|
213
|
-
const columns = columnsByTable.find((table) => table.tableName === allSchemaInfo.selectedFields.table).columns;
|
|
282
|
+
const columns = columnsByTable.find((table) => table.tableName === `${allSchemaInfo.selectedFields.schema}.${allSchemaInfo.selectedFields.table}`).columns;
|
|
214
283
|
const customerFieldType = columns.find((column) => column.columnName === allSchemaInfo.selectedFields.organizationIdField).fieldType;
|
|
215
284
|
const fuzzyType = customerFieldType === 'string' || customerFieldType === 'uuid'
|
|
216
285
|
? 'text'
|
|
217
286
|
: 'number';
|
|
218
287
|
localURL = `${QUILL_SERVER}/sdk/create-environment`;
|
|
219
288
|
const payload = {
|
|
220
|
-
databaseConnectionString: formConnectionString(connectionType),
|
|
221
|
-
databaseType: connectionType.type,
|
|
222
289
|
customerFieldName: allSchemaInfo.selectedFields.foreignKey,
|
|
223
|
-
customerTableName: allSchemaInfo.selectedFields.table
|
|
290
|
+
customerTableName: `${allSchemaInfo.selectedFields.schema}.${allSchemaInfo.selectedFields.table}`,
|
|
224
291
|
customerTableFieldName: allSchemaInfo.selectedFields.organizationIdField,
|
|
225
292
|
adminCustomerId: allSchemaInfo.selectedFields.defaultOrg?.id,
|
|
226
293
|
customerTableTitleFieldName: allSchemaInfo.selectedFields.customerNameField,
|
|
227
|
-
columns: tableData?.
|
|
294
|
+
columns: tableData?.fields,
|
|
228
295
|
task: 'create-environment',
|
|
229
296
|
viewQuery: viewInfo.query,
|
|
230
297
|
customerFieldType: fuzzyType,
|
|
231
298
|
name: queryName,
|
|
232
299
|
client,
|
|
233
300
|
domainName,
|
|
301
|
+
schemaName: allSchemaInfo.selectedFields.schema,
|
|
302
|
+
schemaNames: [allSchemaInfo.selectedFields.schema],
|
|
303
|
+
clientId,
|
|
234
304
|
};
|
|
235
305
|
const response = await fetch(localURL, {
|
|
236
306
|
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,3 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
const ArrowDownHeadIcon = ({ ...props }) => (_jsx("svg", { ...props, xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", width: "24", height: "24", children: _jsx("path", { fill: "currentColor", d: "M12 13.172l4.95-4.95 1.414 1.414L12 16 5.636 9.636 7.05 8.222z" }) }));
|
|
3
|
+
export 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,3 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
const XIcon = ({ ...props }) => (_jsx("svg", { ...props, xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", height: "20", width: "20", children: _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" }) }));
|
|
3
|
+
export default XIcon;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/assets/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC"}
|