adminforth 2.17.0-next.8 ā 2.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/commands/callTsProxy.js +2 -1
- package/commands/createApp/templates/adminuser.ts.hbs +2 -1
- package/commands/createApp/templates/index.ts.hbs +3 -2
- package/commands/createCustomComponent/main.js +0 -3
- package/commands/createCustomComponent/templates/customCrud/afterBreadcrumbs.vue.hbs +4 -2
- package/commands/createCustomComponent/templates/customCrud/beforeActionButtons.vue.hbs +3 -2
- package/commands/createCustomComponent/templates/customCrud/beforeBreadcrumbs.vue.hbs +4 -2
- package/commands/createCustomComponent/templates/customCrud/bottom.vue.hbs +4 -2
- package/commands/createCustomComponent/templates/customCrud/threeDotsDropdownItems.vue.hbs +4 -2
- package/commands/createPlugin/templates/index.ts.hbs +4 -0
- package/dist/auth.d.ts +2 -2
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +17 -10
- package/dist/auth.js.map +1 -1
- package/dist/basePlugin.d.ts +1 -0
- package/dist/basePlugin.d.ts.map +1 -1
- package/dist/basePlugin.js +6 -2
- package/dist/basePlugin.js.map +1 -1
- package/dist/dataConnectors/baseConnector.d.ts +1 -0
- package/dist/dataConnectors/baseConnector.d.ts.map +1 -1
- package/dist/dataConnectors/baseConnector.js +100 -14
- package/dist/dataConnectors/baseConnector.js.map +1 -1
- package/dist/dataConnectors/clickhouse.d.ts +2 -0
- package/dist/dataConnectors/clickhouse.d.ts.map +1 -1
- package/dist/dataConnectors/clickhouse.js +15 -4
- package/dist/dataConnectors/clickhouse.js.map +1 -1
- package/dist/dataConnectors/mongo.d.ts +8 -1
- package/dist/dataConnectors/mongo.d.ts.map +1 -1
- package/dist/dataConnectors/mongo.js +72 -28
- package/dist/dataConnectors/mongo.js.map +1 -1
- package/dist/dataConnectors/mysql.d.ts +2 -0
- package/dist/dataConnectors/mysql.d.ts.map +1 -1
- package/dist/dataConnectors/mysql.js +22 -23
- package/dist/dataConnectors/mysql.js.map +1 -1
- package/dist/dataConnectors/postgres.d.ts +2 -0
- package/dist/dataConnectors/postgres.d.ts.map +1 -1
- package/dist/dataConnectors/postgres.js +23 -26
- package/dist/dataConnectors/postgres.js.map +1 -1
- package/dist/dataConnectors/sqlite.d.ts +2 -0
- package/dist/dataConnectors/sqlite.d.ts.map +1 -1
- package/dist/dataConnectors/sqlite.js +19 -19
- package/dist/dataConnectors/sqlite.js.map +1 -1
- package/dist/index.d.ts +10 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +60 -54
- package/dist/index.js.map +1 -1
- package/dist/modules/codeInjector.d.ts.map +1 -1
- package/dist/modules/codeInjector.js +45 -63
- package/dist/modules/codeInjector.js.map +1 -1
- package/dist/modules/configValidator.d.ts.map +1 -1
- package/dist/modules/configValidator.js +14 -9
- package/dist/modules/configValidator.js.map +1 -1
- package/dist/modules/logger.d.ts +5 -0
- package/dist/modules/logger.d.ts.map +1 -0
- package/dist/modules/logger.js +16 -0
- package/dist/modules/logger.js.map +1 -0
- package/dist/modules/restApi.d.ts.map +1 -1
- package/dist/modules/restApi.js +21 -23
- package/dist/modules/restApi.js.map +1 -1
- package/dist/modules/socketBroker.d.ts.map +1 -1
- package/dist/modules/socketBroker.js +6 -5
- package/dist/modules/socketBroker.js.map +1 -1
- package/dist/modules/styles.js +1 -1
- package/dist/servers/express.d.ts.map +1 -1
- package/dist/servers/express.js +11 -11
- package/dist/servers/express.js.map +1 -1
- package/dist/spa/src/App.vue +6 -3
- package/dist/spa/src/adminforth.ts +60 -1
- package/dist/spa/src/afcl/DatePicker.vue +0 -1
- package/dist/spa/src/afcl/Dropzone.vue +6 -4
- package/dist/spa/src/afcl/Tooltip.vue +38 -4
- package/dist/spa/src/components/ColumnValueInput.vue +14 -1
- package/dist/spa/src/components/CustomDateRangePicker.vue +0 -2
- package/dist/spa/src/components/CustomRangePicker.vue +9 -6
- package/dist/spa/src/components/Filters.vue +4 -4
- package/dist/spa/src/components/ListActionsThreeDots.vue +235 -0
- package/dist/spa/src/components/ResourceForm.vue +4 -4
- package/dist/spa/src/components/ResourceListTable.vue +30 -16
- package/dist/spa/src/components/ResourceListTableVirtual.vue +34 -18
- package/dist/spa/src/components/Sidebar.vue +4 -2
- package/dist/spa/src/components/ThreeDotsMenu.vue +35 -20
- package/dist/spa/src/composables/useFrontendApi.ts +8 -4
- package/dist/spa/src/renderers/CompactField.vue +3 -2
- package/dist/spa/src/renderers/CompactUUID.vue +3 -2
- package/dist/spa/src/stores/core.ts +3 -2
- package/dist/spa/src/types/Back.ts +34 -11
- package/dist/spa/src/types/Common.ts +7 -14
- package/dist/spa/src/types/FrontendAPI.ts +25 -10
- package/dist/spa/src/views/CreateView.vue +23 -31
- package/dist/spa/src/views/EditView.vue +27 -31
- package/dist/spa/src/views/ListView.vue +20 -10
- package/dist/spa/src/views/SettingsView.vue +3 -2
- package/dist/spa/src/views/ShowView.vue +7 -6
- package/dist/types/Back.d.ts +27 -5
- package/dist/types/Back.d.ts.map +1 -1
- package/dist/types/Back.js +6 -0
- package/dist/types/Back.js.map +1 -1
- package/dist/types/Common.d.ts +8 -15
- package/dist/types/Common.d.ts.map +1 -1
- package/dist/types/Common.js +2 -0
- package/dist/types/Common.js.map +1 -1
- package/dist/types/FrontendAPI.d.ts +32 -10
- package/dist/types/FrontendAPI.d.ts.map +1 -1
- package/dist/types/FrontendAPI.js.map +1 -1
- package/package.json +4 -1
- package/commands/createCustomComponent/templates/customCrud/saveButton.vue.hbs +0 -28
|
@@ -1,11 +1,30 @@
|
|
|
1
1
|
import dayjs from 'dayjs';
|
|
2
2
|
import { MongoClient } from 'mongodb';
|
|
3
|
-
import { Decimal128 } from 'bson';
|
|
3
|
+
import { Decimal128, Double } from 'bson';
|
|
4
4
|
import AdminForthBaseConnector from './baseConnector.js';
|
|
5
|
+
import { afLogger } from '../modules/logger.js';
|
|
5
6
|
import { AdminForthDataTypes, AdminForthFilterOperators, AdminForthSortDirections, } from '../types/Common.js';
|
|
6
7
|
const escapeRegex = (value) => {
|
|
7
8
|
return value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); // Escapes special characters
|
|
8
9
|
};
|
|
10
|
+
function normalizeMongoValue(v) {
|
|
11
|
+
if (v == null) {
|
|
12
|
+
return v;
|
|
13
|
+
}
|
|
14
|
+
if (v instanceof Decimal128) {
|
|
15
|
+
return v.toString();
|
|
16
|
+
}
|
|
17
|
+
if (v instanceof Double) {
|
|
18
|
+
return v.valueOf();
|
|
19
|
+
}
|
|
20
|
+
if (typeof v === "object" && v.$numberDecimal) {
|
|
21
|
+
return String(v.$numberDecimal);
|
|
22
|
+
}
|
|
23
|
+
if (typeof v === "object" && v.$numberDouble) {
|
|
24
|
+
return Number(v.$numberDouble);
|
|
25
|
+
}
|
|
26
|
+
return v;
|
|
27
|
+
}
|
|
9
28
|
class MongoConnector extends AdminForthBaseConnector {
|
|
10
29
|
constructor() {
|
|
11
30
|
super(...arguments);
|
|
@@ -22,6 +41,8 @@ class MongoConnector extends AdminForthBaseConnector {
|
|
|
22
41
|
[AdminForthFilterOperators.NIN]: (value) => ({ $nin: value }),
|
|
23
42
|
[AdminForthFilterOperators.AND]: (value) => ({ $and: value }),
|
|
24
43
|
[AdminForthFilterOperators.OR]: (value) => ({ $or: value }),
|
|
44
|
+
[AdminForthFilterOperators.IS_EMPTY]: () => null,
|
|
45
|
+
[AdminForthFilterOperators.IS_NOT_EMPTY]: () => ({ $ne: null }),
|
|
25
46
|
};
|
|
26
47
|
this.SortDirectionsMap = {
|
|
27
48
|
[AdminForthSortDirections.asc]: 1,
|
|
@@ -34,12 +55,12 @@ class MongoConnector extends AdminForthBaseConnector {
|
|
|
34
55
|
try {
|
|
35
56
|
await this.client.connect();
|
|
36
57
|
this.client.on('error', (err) => {
|
|
37
|
-
|
|
58
|
+
afLogger.error(`Mongo error: ${err.message}`);
|
|
38
59
|
});
|
|
39
|
-
|
|
60
|
+
afLogger.info('Connected to Mongo');
|
|
40
61
|
}
|
|
41
62
|
catch (e) {
|
|
42
|
-
|
|
63
|
+
afLogger.error(`Failed to connect to Mongo: ${e}`);
|
|
43
64
|
}
|
|
44
65
|
})();
|
|
45
66
|
}
|
|
@@ -109,19 +130,19 @@ class MongoConnector extends AdminForthBaseConnector {
|
|
|
109
130
|
return Array.from(fieldTypes.entries()).map(([name, types]) => {
|
|
110
131
|
var _a;
|
|
111
132
|
const primaryKey = name === '_id';
|
|
112
|
-
const priority = ['datetime', 'date', 'integer', 'float', 'boolean', 'json', '
|
|
133
|
+
const priority = ['datetime', 'date', 'decimal', 'integer', 'float', 'boolean', 'json', 'string'];
|
|
113
134
|
const matched = priority.find(t => types.has(t)) || 'string';
|
|
114
135
|
const typeMap = {
|
|
115
|
-
string:
|
|
116
|
-
integer:
|
|
117
|
-
float:
|
|
118
|
-
boolean:
|
|
119
|
-
datetime:
|
|
120
|
-
date:
|
|
121
|
-
json:
|
|
122
|
-
decimal:
|
|
136
|
+
string: AdminForthDataTypes.STRING,
|
|
137
|
+
integer: AdminForthDataTypes.INTEGER,
|
|
138
|
+
float: AdminForthDataTypes.FLOAT,
|
|
139
|
+
boolean: AdminForthDataTypes.BOOLEAN,
|
|
140
|
+
datetime: AdminForthDataTypes.DATETIME,
|
|
141
|
+
date: AdminForthDataTypes.DATE,
|
|
142
|
+
json: AdminForthDataTypes.JSON,
|
|
143
|
+
decimal: AdminForthDataTypes.DECIMAL,
|
|
123
144
|
};
|
|
124
|
-
return Object.assign(Object.assign({ name, type: (_a = typeMap[matched]) !== null && _a !== void 0 ? _a :
|
|
145
|
+
return Object.assign(Object.assign({ name, type: (_a = typeMap[matched]) !== null && _a !== void 0 ? _a : AdminForthDataTypes.STRING }, (primaryKey ? { isPrimaryKey: true } : {})), { sampleValue: sampleValues.get(name) });
|
|
125
146
|
});
|
|
126
147
|
}
|
|
127
148
|
async discoverFields(resource) {
|
|
@@ -171,20 +192,33 @@ class MongoConnector extends AdminForthBaseConnector {
|
|
|
171
192
|
return value;
|
|
172
193
|
}
|
|
173
194
|
setFieldValue(field, value) {
|
|
174
|
-
if (
|
|
175
|
-
|
|
195
|
+
if (value === undefined)
|
|
196
|
+
return undefined;
|
|
197
|
+
if (value === null)
|
|
198
|
+
return null;
|
|
199
|
+
if (field.type === AdminForthDataTypes.DATETIME) {
|
|
200
|
+
if (value === "" || value === null) {
|
|
176
201
|
return null;
|
|
177
202
|
}
|
|
178
|
-
return dayjs(value).toDate();
|
|
203
|
+
return dayjs(value).isValid() ? dayjs(value).toDate() : null;
|
|
179
204
|
}
|
|
180
|
-
|
|
181
|
-
|
|
205
|
+
if (field.type === AdminForthDataTypes.INTEGER) {
|
|
206
|
+
if (value === "" || value === null) {
|
|
207
|
+
return null;
|
|
208
|
+
}
|
|
209
|
+
return Number.isFinite(value) ? Math.trunc(value) : null;
|
|
182
210
|
}
|
|
183
|
-
|
|
184
|
-
if (value ===
|
|
211
|
+
if (field.type === AdminForthDataTypes.FLOAT) {
|
|
212
|
+
if (value === "" || value === null) {
|
|
185
213
|
return null;
|
|
186
214
|
}
|
|
187
|
-
return
|
|
215
|
+
return Number.isFinite(value) ? value : null;
|
|
216
|
+
}
|
|
217
|
+
if (field.type === AdminForthDataTypes.DECIMAL) {
|
|
218
|
+
if (value === "" || value === null) {
|
|
219
|
+
return null;
|
|
220
|
+
}
|
|
221
|
+
return value.toString();
|
|
188
222
|
}
|
|
189
223
|
return value;
|
|
190
224
|
}
|
|
@@ -195,7 +229,7 @@ class MongoConnector extends AdminForthBaseConnector {
|
|
|
195
229
|
}
|
|
196
230
|
// explicitly ignore raw SQL filters for MongoDB
|
|
197
231
|
if (filter.insecureRawSQL !== undefined) {
|
|
198
|
-
|
|
232
|
+
afLogger.warn(`ā ļø Ignoring insecureRawSQL filter for MongoDB:, ${filter.insecureRawSQL}`);
|
|
199
233
|
return {};
|
|
200
234
|
}
|
|
201
235
|
if (filter.field) {
|
|
@@ -220,10 +254,15 @@ class MongoConnector extends AdminForthBaseConnector {
|
|
|
220
254
|
return { $expr: { [mongoExprOp]: [left, right] } };
|
|
221
255
|
}
|
|
222
256
|
const column = resource.dataSourceColumns.find((col) => col.name === filter.field);
|
|
223
|
-
|
|
224
|
-
|
|
257
|
+
const filterValue = filter.value;
|
|
258
|
+
if ([AdminForthDataTypes.INTEGER, AdminForthDataTypes.DECIMAL, AdminForthDataTypes.FLOAT].includes(column.type)) {
|
|
259
|
+
// Handle array values for IN/NIN operators
|
|
260
|
+
const convertedValue = Array.isArray(filterValue)
|
|
261
|
+
? filterValue.map(v => +v)
|
|
262
|
+
: +filterValue;
|
|
263
|
+
return { [filter.field]: this.OperatorsMap[filter.operator](convertedValue) };
|
|
225
264
|
}
|
|
226
|
-
return { [filter.field]: this.OperatorsMap[filter.operator](
|
|
265
|
+
return { [filter.field]: this.OperatorsMap[filter.operator](filterValue) };
|
|
227
266
|
}
|
|
228
267
|
// filter is a AndOr filter
|
|
229
268
|
return this.OperatorsMap[filter.operator](filter.subFilters
|
|
@@ -263,11 +302,16 @@ class MongoConnector extends AdminForthBaseConnector {
|
|
|
263
302
|
const collection = this.client.db().collection(tableName);
|
|
264
303
|
const result = {};
|
|
265
304
|
for (const column of columns) {
|
|
266
|
-
|
|
305
|
+
const [doc] = await collection
|
|
267
306
|
.aggregate([
|
|
268
|
-
{ $group: { _id: null, min: { $min: `$${column}` }, max: { $max: `$${column}` } } },
|
|
307
|
+
{ $group: { _id: null, min: { $min: `$${column.name}` }, max: { $max: `$${column.name}` } } },
|
|
308
|
+
{ $project: { _id: 0, min: 1, max: 1 } },
|
|
269
309
|
])
|
|
270
310
|
.toArray();
|
|
311
|
+
result[column.name] = {
|
|
312
|
+
min: normalizeMongoValue(doc === null || doc === void 0 ? void 0 : doc.min),
|
|
313
|
+
max: normalizeMongoValue(doc === null || doc === void 0 ? void 0 : doc.max),
|
|
314
|
+
};
|
|
271
315
|
}
|
|
272
316
|
return result;
|
|
273
317
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mongo.js","sourceRoot":"","sources":["../../dataConnectors/mongo.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mongo.js","sourceRoot":"","sources":["../../dataConnectors/mongo.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mysql.d.ts","sourceRoot":"","sources":["../../dataConnectors/mysql.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,8BAA8B,EAAE,MAAM,kBAAkB,CAAC;AAEvI,OAAO,uBAAuB,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"mysql.d.ts","sourceRoot":"","sources":["../../dataConnectors/mysql.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,8BAA8B,EAAE,MAAM,kBAAkB,CAAC;AAEvI,OAAO,uBAAuB,MAAM,oBAAoB,CAAC;AAIzD,cAAM,cAAe,SAAQ,uBAAwB,YAAW,8BAA8B;IAEtF,WAAW,CAAC,GAAG,KAAA,GAAG,OAAO,CAAC,IAAI,CAAC;IAarC,YAAY;;;;;;;;;;;;;;;MAeV;IAEF,iBAAiB;;;MAGf;IAEI,YAAY,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAWtC,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,GAAG,CAAA;KAAE,CAAC,CAAC;IAqB5F,cAAc,CAAC,QAAQ,KAAA;IAgF7B,aAAa,CAAC,KAAK,KAAA,EAAE,KAAK,KAAA;IAgC1B,aAAa,CAAC,KAAK,KAAA,EAAE,KAAK,KAAA;IAmB1B,eAAe,CAAC,MAAM,EAAE,uBAAuB,GAAG,sBAAsB,GAAG,MAAM;IAwDjF,eAAe,CAAC,MAAM,EAAE,uBAAuB,GAAG,sBAAsB,GAAG,GAAG,EAAE;IAmChF,oBAAoB,CAAC,OAAO,EAAE,sBAAsB,GAAI;QACtD,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,GAAG,EAAE,CAAC;KACf;IAOK,wBAAwB,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE;;;;;;KAAA,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAyBpF,QAAQ,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE;QAAE,QAAQ,EAAE,kBAAkB,CAAC;QAAC,OAAO,EAAE,sBAAsB,CAAC;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAgBpH,oCAAoC,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE;;;KAAA;IAe1D,0BAA0B,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE;;;KAAA,GAAG,OAAO,CAAC,MAAM,CAAC;IAWjE,0BAA0B,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAG,SAAS,EAAE;;;;KAAA;IAQ7D,YAAY,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE;;;KAAA,GAAG,OAAO,CAAC,OAAO,CAAC;IAOtD,KAAK;CAGZ;AAED,eAAe,cAAc,CAAC"}
|
|
@@ -2,6 +2,7 @@ import dayjs from 'dayjs';
|
|
|
2
2
|
import { AdminForthDataTypes, AdminForthFilterOperators, AdminForthSortDirections, } from '../types/Common.js';
|
|
3
3
|
import AdminForthBaseConnector from './baseConnector.js';
|
|
4
4
|
import mysql from 'mysql2/promise';
|
|
5
|
+
import { dbLogger, afLogger } from '../modules/logger.js';
|
|
5
6
|
class MysqlConnector extends AdminForthBaseConnector {
|
|
6
7
|
constructor() {
|
|
7
8
|
super(...arguments);
|
|
@@ -18,6 +19,8 @@ class MysqlConnector extends AdminForthBaseConnector {
|
|
|
18
19
|
[AdminForthFilterOperators.NIN]: 'NOT IN',
|
|
19
20
|
[AdminForthFilterOperators.AND]: 'AND',
|
|
20
21
|
[AdminForthFilterOperators.OR]: 'OR',
|
|
22
|
+
[AdminForthFilterOperators.IS_EMPTY]: 'IS NULL',
|
|
23
|
+
[AdminForthFilterOperators.IS_NOT_EMPTY]: 'IS NOT NULL',
|
|
21
24
|
};
|
|
22
25
|
this.SortDirectionsMap = {
|
|
23
26
|
[AdminForthSortDirections.asc]: 'ASC',
|
|
@@ -34,7 +37,7 @@ class MysqlConnector extends AdminForthBaseConnector {
|
|
|
34
37
|
});
|
|
35
38
|
}
|
|
36
39
|
catch (e) {
|
|
37
|
-
|
|
40
|
+
afLogger.error(`Failed to connect to MySQL: ${e}`);
|
|
38
41
|
}
|
|
39
42
|
}
|
|
40
43
|
async getAllTables() {
|
|
@@ -181,8 +184,8 @@ class MysqlConnector extends AdminForthBaseConnector {
|
|
|
181
184
|
return value;
|
|
182
185
|
}
|
|
183
186
|
else {
|
|
184
|
-
|
|
185
|
-
|
|
187
|
+
afLogger.error(`JSON field value is not string or object, but has type: ${typeof value}`);
|
|
188
|
+
afLogger.error(`Field:, ${field}`);
|
|
186
189
|
return {};
|
|
187
190
|
}
|
|
188
191
|
}
|
|
@@ -221,7 +224,11 @@ class MysqlConnector extends AdminForthBaseConnector {
|
|
|
221
224
|
let placeholder = '?';
|
|
222
225
|
let field = filter.field;
|
|
223
226
|
let operator = this.OperatorsMap[filter.operator];
|
|
224
|
-
|
|
227
|
+
// Handle IS_EMPTY and IS_NOT_EMPTY operators
|
|
228
|
+
if (filter.operator == AdminForthFilterOperators.IS_EMPTY || filter.operator == AdminForthFilterOperators.IS_NOT_EMPTY) {
|
|
229
|
+
return `${field} ${operator}`;
|
|
230
|
+
}
|
|
231
|
+
else if (filter.operator == AdminForthFilterOperators.IN || filter.operator == AdminForthFilterOperators.NIN) {
|
|
225
232
|
placeholder = `(${filter.value.map(() => '?').join(', ')})`;
|
|
226
233
|
}
|
|
227
234
|
else if (filter.operator == AdminForthFilterOperators.ILIKE) {
|
|
@@ -268,7 +275,11 @@ class MysqlConnector extends AdminForthBaseConnector {
|
|
|
268
275
|
return [];
|
|
269
276
|
}
|
|
270
277
|
// filter is a Single filter
|
|
271
|
-
|
|
278
|
+
// Handle IS_EMPTY and IS_NOT_EMPTY operators - no params needed
|
|
279
|
+
if (filter.operator == AdminForthFilterOperators.IS_EMPTY || filter.operator == AdminForthFilterOperators.IS_NOT_EMPTY) {
|
|
280
|
+
return [];
|
|
281
|
+
}
|
|
282
|
+
else if (filter.operator == AdminForthFilterOperators.LIKE || filter.operator == AdminForthFilterOperators.ILIKE) {
|
|
272
283
|
return [`%${filter.value}%`];
|
|
273
284
|
}
|
|
274
285
|
else if (filter.operator == AdminForthFilterOperators.IN || filter.operator == AdminForthFilterOperators.NIN) {
|
|
@@ -313,9 +324,7 @@ class MysqlConnector extends AdminForthBaseConnector {
|
|
|
313
324
|
selectQuery += ` LIMIT ${limit}`;
|
|
314
325
|
if (offset)
|
|
315
326
|
selectQuery += ` OFFSET ${offset}`;
|
|
316
|
-
|
|
317
|
-
console.log('šŖ²š MySQL Q:', selectQuery, 'values:', filterValues);
|
|
318
|
-
}
|
|
327
|
+
dbLogger.trace(`šŖ²š MySQL Q: ${selectQuery} values: ${JSON.stringify(filterValues)}`);
|
|
319
328
|
const [results] = await this.client.execute(selectQuery, filterValues);
|
|
320
329
|
return results.map((row) => {
|
|
321
330
|
const newRow = {};
|
|
@@ -336,9 +345,7 @@ class MysqlConnector extends AdminForthBaseConnector {
|
|
|
336
345
|
}
|
|
337
346
|
const { sql: where, values: filterValues } = this.whereClauseAndValues(filters);
|
|
338
347
|
const q = `SELECT COUNT(*) FROM ${tableName} ${where}`;
|
|
339
|
-
|
|
340
|
-
console.log('šŖ²š MySQL Q:', q, 'values:', filterValues);
|
|
341
|
-
}
|
|
348
|
+
dbLogger.trace(`šŖ²š MySQL Q: ${q} values: ${JSON.stringify(filterValues)}`);
|
|
342
349
|
const [results] = await this.client.execute(q, filterValues);
|
|
343
350
|
return +results[0]["COUNT(*)"];
|
|
344
351
|
}
|
|
@@ -347,9 +354,7 @@ class MysqlConnector extends AdminForthBaseConnector {
|
|
|
347
354
|
const result = {};
|
|
348
355
|
await Promise.all(columns.map(async (col) => {
|
|
349
356
|
const q = `SELECT MIN(${col.name}) as min, MAX(${col.name}) as max FROM ${tableName}`;
|
|
350
|
-
|
|
351
|
-
console.log('šŖ²š MySQL Q:', q);
|
|
352
|
-
}
|
|
357
|
+
dbLogger.trace(`šŖ²š MySQL Q: ${q}`);
|
|
353
358
|
const [results] = await this.client.execute(q);
|
|
354
359
|
const { min, max } = results[0];
|
|
355
360
|
result[col.name] = {
|
|
@@ -364,9 +369,7 @@ class MysqlConnector extends AdminForthBaseConnector {
|
|
|
364
369
|
const placeholders = columns.map(() => '?').join(', ');
|
|
365
370
|
const values = columns.map((colName) => typeof record[colName] === 'undefined' ? null : record[colName]);
|
|
366
371
|
const q = `INSERT INTO ${tableName} (${columns.join(', ')}) VALUES (${placeholders})`;
|
|
367
|
-
|
|
368
|
-
console.log('šŖ²š MySQL Q:', q, 'values:', values);
|
|
369
|
-
}
|
|
372
|
+
dbLogger.trace(`šŖ²š MySQL Q: ${q} values: ${JSON.stringify(values)}`);
|
|
370
373
|
const ret = await this.client.execute(q, values);
|
|
371
374
|
return ret.insertId;
|
|
372
375
|
}
|
|
@@ -374,16 +377,12 @@ class MysqlConnector extends AdminForthBaseConnector {
|
|
|
374
377
|
const values = [...Object.values(newValues), recordId];
|
|
375
378
|
const columnsWithPlaceholders = Object.keys(newValues).map((col, i) => `${col} = ?`).join(', ');
|
|
376
379
|
const q = `UPDATE ${resource.table} SET ${columnsWithPlaceholders} WHERE ${this.getPrimaryKey(resource)} = ?`;
|
|
377
|
-
|
|
378
|
-
console.log('šŖ²š MySQL Q:', q, 'values:', values);
|
|
379
|
-
}
|
|
380
|
+
dbLogger.trace(`šŖ²š MySQL Q: ${q} values: ${JSON.stringify(values)}`);
|
|
380
381
|
await this.client.execute(q, values);
|
|
381
382
|
}
|
|
382
383
|
async deleteRecord({ resource, recordId }) {
|
|
383
384
|
const q = `DELETE FROM ${resource.table} WHERE ${this.getPrimaryKey(resource)} = ?`;
|
|
384
|
-
|
|
385
|
-
console.log('šŖ²š MySQL Q:', q, 'values:', [recordId]);
|
|
386
|
-
}
|
|
385
|
+
dbLogger.trace(`šŖ²š MySQL Q: ${q} values: ${JSON.stringify([recordId])}`);
|
|
387
386
|
const res = await this.client.execute(q, [recordId]);
|
|
388
387
|
return res.rowCount > 0;
|
|
389
388
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mysql.js","sourceRoot":"","sources":["../../dataConnectors/mysql.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mysql.js","sourceRoot":"","sources":["../../dataConnectors/mysql.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postgres.d.ts","sourceRoot":"","sources":["../../dataConnectors/postgres.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,8BAA8B,EAAE,MAAM,kBAAkB,CAAC;AAEvI,OAAO,uBAAuB,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"postgres.d.ts","sourceRoot":"","sources":["../../dataConnectors/postgres.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,8BAA8B,EAAE,MAAM,kBAAkB,CAAC;AAEvI,OAAO,uBAAuB,MAAM,oBAAoB,CAAC;AAOzD,cAAM,iBAAkB,SAAQ,uBAAwB,YAAW,8BAA8B;IAEvF,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB7C,YAAY;;;;;;;;;;;;;;;MAeV;IAEF,iBAAiB;;;MAGf;IAEI,YAAY,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAStC,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,GAAG,CAAA;KAAE,CAAC,CAAC;IAW5F,cAAc,CAAC,QAAQ,KAAA;IAgG7B,aAAa,CAAC,KAAK,KAAA,EAAE,KAAK,KAAA;IA6C1B,aAAa,CAAC,KAAK,KAAA,EAAE,KAAK,KAAA;IAiC1B,eAAe,CAAC,QAAQ,EAAE,kBAAkB,EAAE,MAAM,EAAE,uBAAuB,GAAG,sBAAsB,GAAG,MAAM;IAmD/G,eAAe,CAAC,MAAM,EAAE,uBAAuB,GAAG,sBAAsB,GAAG,GAAG,EAAE;IAiChF,oBAAoB,CAAC,QAAQ,EAAE,kBAAkB,EAAE,OAAO,EAAE,sBAAsB,GAAG;QACjF,GAAG,EAAE,MAAM,CAAC;QACZ,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,EAAE,GAAG,EAAE,CAAC;KACjB;IAYK,wBAAwB,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE;;;;;;KAAA,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAsBpF,QAAQ,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE;QAAE,QAAQ,EAAE,kBAAkB,CAAC;QAAC,OAAO,EAAE,sBAAsB,CAAC;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAgBpH,oCAAoC,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE;;;KAAA;IAe1D,0BAA0B,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE;;;KAAA,GAAG,OAAO,CAAC,MAAM,CAAC;IAejE,0BAA0B,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE;;;;KAAA;IAQ5D,YAAY,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE;;;KAAA,GAAG,OAAO,CAAC,OAAO,CAAC;IAOtD,KAAK;CAGd;AAED,eAAe,iBAAiB,CAAC"}
|
|
@@ -2,6 +2,7 @@ import dayjs from 'dayjs';
|
|
|
2
2
|
import { AdminForthDataTypes, AdminForthFilterOperators, AdminForthSortDirections, } from '../types/Common.js';
|
|
3
3
|
import AdminForthBaseConnector from './baseConnector.js';
|
|
4
4
|
import pkg from 'pg';
|
|
5
|
+
import { afLogger, dbLogger } from '../modules/logger.js';
|
|
5
6
|
const { Client } = pkg;
|
|
6
7
|
class PostgresConnector extends AdminForthBaseConnector {
|
|
7
8
|
constructor() {
|
|
@@ -19,6 +20,8 @@ class PostgresConnector extends AdminForthBaseConnector {
|
|
|
19
20
|
[AdminForthFilterOperators.NIN]: 'NOT IN',
|
|
20
21
|
[AdminForthFilterOperators.AND]: 'AND',
|
|
21
22
|
[AdminForthFilterOperators.OR]: 'OR',
|
|
23
|
+
[AdminForthFilterOperators.IS_EMPTY]: 'IS NULL',
|
|
24
|
+
[AdminForthFilterOperators.IS_NOT_EMPTY]: 'IS NOT NULL',
|
|
22
25
|
};
|
|
23
26
|
this.SortDirectionsMap = {
|
|
24
27
|
[AdminForthSortDirections.asc]: 'ASC',
|
|
@@ -32,14 +35,14 @@ class PostgresConnector extends AdminForthBaseConnector {
|
|
|
32
35
|
try {
|
|
33
36
|
await this.client.connect();
|
|
34
37
|
this.client.on('error', async (err) => {
|
|
35
|
-
|
|
38
|
+
afLogger.error(`Postgres error: ${err.message} ${err.stack}`);
|
|
36
39
|
this.client.end();
|
|
37
40
|
await new Promise((resolve) => { setTimeout(resolve, 1000); });
|
|
38
41
|
this.setupClient(url);
|
|
39
42
|
});
|
|
40
43
|
}
|
|
41
44
|
catch (e) {
|
|
42
|
-
|
|
45
|
+
afLogger.error(`Failed to connect to Postgres ${e}`);
|
|
43
46
|
}
|
|
44
47
|
}
|
|
45
48
|
async getAllTables() {
|
|
@@ -193,8 +196,8 @@ class PostgresConnector extends AdminForthBaseConnector {
|
|
|
193
196
|
return value;
|
|
194
197
|
}
|
|
195
198
|
else {
|
|
196
|
-
|
|
197
|
-
|
|
199
|
+
afLogger.error(`JSON field value is not string or object, but has type: ${typeof value}`);
|
|
200
|
+
afLogger.error(`Field:, ${field}`);
|
|
198
201
|
return {};
|
|
199
202
|
}
|
|
200
203
|
}
|
|
@@ -251,7 +254,11 @@ class PostgresConnector extends AdminForthBaseConnector {
|
|
|
251
254
|
let field = filter.field;
|
|
252
255
|
const fieldData = resource.dataSourceColumns.find((col) => col.name == field);
|
|
253
256
|
let operator = this.OperatorsMap[filter.operator];
|
|
254
|
-
|
|
257
|
+
// Handle IS_EMPTY and IS_NOT_EMPTY operators
|
|
258
|
+
if (filter.operator == AdminForthFilterOperators.IS_EMPTY || filter.operator == AdminForthFilterOperators.IS_NOT_EMPTY) {
|
|
259
|
+
return `"${field}" ${operator}`;
|
|
260
|
+
}
|
|
261
|
+
else if (filter.operator == AdminForthFilterOperators.IN || filter.operator == AdminForthFilterOperators.NIN) {
|
|
255
262
|
placeholder = `(${filter.value.map(() => placeholder).join(', ')})`;
|
|
256
263
|
}
|
|
257
264
|
if (fieldData._underlineType == 'uuid' &&
|
|
@@ -288,7 +295,11 @@ class PostgresConnector extends AdminForthBaseConnector {
|
|
|
288
295
|
return [];
|
|
289
296
|
}
|
|
290
297
|
// filter is a Single filter
|
|
291
|
-
|
|
298
|
+
// Handle IS_EMPTY and IS_NOT_EMPTY operators - no params needed
|
|
299
|
+
if (filter.operator == AdminForthFilterOperators.IS_EMPTY || filter.operator == AdminForthFilterOperators.IS_NOT_EMPTY) {
|
|
300
|
+
return [];
|
|
301
|
+
}
|
|
302
|
+
else if (filter.operator == AdminForthFilterOperators.LIKE || filter.operator == AdminForthFilterOperators.ILIKE) {
|
|
292
303
|
return [`%${filter.value}%`];
|
|
293
304
|
}
|
|
294
305
|
else if (filter.operator == AdminForthFilterOperators.IN || filter.operator == AdminForthFilterOperators.NIN) {
|
|
@@ -328,9 +339,7 @@ class PostgresConnector extends AdminForthBaseConnector {
|
|
|
328
339
|
const d = [...filterValues, limit, offset];
|
|
329
340
|
const orderBy = sort.length ? `ORDER BY ${sort.map((s) => `"${s.field}" ${this.SortDirectionsMap[s.direction]}`).join(', ')}` : '';
|
|
330
341
|
const selectQuery = `SELECT ${columns} FROM "${tableName}" ${where} ${orderBy} ${limitOffset}`;
|
|
331
|
-
|
|
332
|
-
console.log('šŖ²š PG Q:', selectQuery, 'params:', d);
|
|
333
|
-
}
|
|
342
|
+
dbLogger.trace(`šŖ²š PG Q: ${selectQuery}, params: ${JSON.stringify(d)}`);
|
|
334
343
|
const stmt = await this.client.query(selectQuery, d);
|
|
335
344
|
const rows = stmt.rows;
|
|
336
345
|
return rows.map((row) => {
|
|
@@ -352,9 +361,7 @@ class PostgresConnector extends AdminForthBaseConnector {
|
|
|
352
361
|
}
|
|
353
362
|
const { sql: where, values: filterValues } = this.whereClauseAndValues(resource, filters);
|
|
354
363
|
const q = `SELECT COUNT(*) FROM "${tableName}" ${where}`;
|
|
355
|
-
|
|
356
|
-
console.log('šŖ²š PG Q:', q, 'values:', filterValues);
|
|
357
|
-
}
|
|
364
|
+
dbLogger.trace(`šŖ²š PG Q: ${q}, values: ${JSON.stringify(filterValues)}`);
|
|
358
365
|
const stmt = await this.client.query(q, filterValues);
|
|
359
366
|
return +stmt.rows[0].count;
|
|
360
367
|
}
|
|
@@ -363,9 +370,7 @@ class PostgresConnector extends AdminForthBaseConnector {
|
|
|
363
370
|
const result = {};
|
|
364
371
|
await Promise.all(columns.map(async (col) => {
|
|
365
372
|
const q = `SELECT MIN(${col.name}) as min, MAX(${col.name}) as max FROM "${tableName}"`;
|
|
366
|
-
|
|
367
|
-
console.log('šŖ²š PG Q:', q);
|
|
368
|
-
}
|
|
373
|
+
dbLogger.trace(`šŖ²š PG Q: ${q}`);
|
|
369
374
|
const stmt = await this.client.query(q);
|
|
370
375
|
const { min, max } = stmt.rows[0];
|
|
371
376
|
result[col.name] = {
|
|
@@ -384,11 +389,7 @@ class PostgresConnector extends AdminForthBaseConnector {
|
|
|
384
389
|
}
|
|
385
390
|
const primaryKey = this.getPrimaryKey(resource);
|
|
386
391
|
const q = `INSERT INTO "${tableName}" (${columns.join(', ')}) VALUES (${placeholders}) RETURNING "${primaryKey}"`;
|
|
387
|
-
|
|
388
|
-
// console.log('š¦ [VALUES]:', JSON.stringify(values, null, 2));
|
|
389
|
-
if (process.env.HEAVY_DEBUG_QUERY) {
|
|
390
|
-
console.log('šŖ²š PG Q:', q, 'values:', values);
|
|
391
|
-
}
|
|
392
|
+
dbLogger.trace(`šŖ²š PG Q: ${q}, values: ${JSON.stringify(values)}`);
|
|
392
393
|
const ret = await this.client.query(q, values);
|
|
393
394
|
return ret.rows[0][primaryKey];
|
|
394
395
|
}
|
|
@@ -396,16 +397,12 @@ class PostgresConnector extends AdminForthBaseConnector {
|
|
|
396
397
|
const values = [...Object.values(newValues), recordId];
|
|
397
398
|
const columnsWithPlaceholders = Object.keys(newValues).map((col, i) => `"${col}" = $${i + 1}`).join(', ');
|
|
398
399
|
const q = `UPDATE "${resource.table}" SET ${columnsWithPlaceholders} WHERE "${this.getPrimaryKey(resource)}" = $${values.length}`;
|
|
399
|
-
|
|
400
|
-
console.log('šŖ²š PG Q:', q, 'values:', values);
|
|
401
|
-
}
|
|
400
|
+
dbLogger.trace(`šŖ²š PG Q: ${q}, values: ${JSON.stringify(values)}`);
|
|
402
401
|
await this.client.query(q, values);
|
|
403
402
|
}
|
|
404
403
|
async deleteRecord({ resource, recordId }) {
|
|
405
404
|
const q = `DELETE FROM "${resource.table}" WHERE "${this.getPrimaryKey(resource)}" = $1`;
|
|
406
|
-
|
|
407
|
-
console.log('šŖ²š PG Q:', q, 'values:', [recordId]);
|
|
408
|
-
}
|
|
405
|
+
dbLogger.trace(`šŖ²š PG Q: ${q}, values: ${JSON.stringify([recordId])}`);
|
|
409
406
|
const res = await this.client.query(q, [recordId]);
|
|
410
407
|
return res.rowCount > 0;
|
|
411
408
|
}
|