adminforth 2.17.0-next.9 → 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.
Files changed (106) hide show
  1. package/commands/callTsProxy.js +2 -1
  2. package/commands/createApp/templates/adminuser.ts.hbs +2 -1
  3. package/commands/createApp/templates/index.ts.hbs +3 -2
  4. package/commands/createCustomComponent/main.js +0 -3
  5. package/commands/createCustomComponent/templates/customCrud/afterBreadcrumbs.vue.hbs +4 -2
  6. package/commands/createCustomComponent/templates/customCrud/beforeActionButtons.vue.hbs +3 -2
  7. package/commands/createCustomComponent/templates/customCrud/beforeBreadcrumbs.vue.hbs +4 -2
  8. package/commands/createCustomComponent/templates/customCrud/bottom.vue.hbs +4 -2
  9. package/commands/createCustomComponent/templates/customCrud/threeDotsDropdownItems.vue.hbs +4 -2
  10. package/commands/createPlugin/templates/index.ts.hbs +4 -0
  11. package/dist/auth.d.ts +2 -2
  12. package/dist/auth.d.ts.map +1 -1
  13. package/dist/auth.js +17 -10
  14. package/dist/auth.js.map +1 -1
  15. package/dist/basePlugin.d.ts +1 -0
  16. package/dist/basePlugin.d.ts.map +1 -1
  17. package/dist/basePlugin.js +6 -2
  18. package/dist/basePlugin.js.map +1 -1
  19. package/dist/dataConnectors/baseConnector.d.ts +1 -0
  20. package/dist/dataConnectors/baseConnector.d.ts.map +1 -1
  21. package/dist/dataConnectors/baseConnector.js +100 -14
  22. package/dist/dataConnectors/baseConnector.js.map +1 -1
  23. package/dist/dataConnectors/clickhouse.d.ts +2 -0
  24. package/dist/dataConnectors/clickhouse.d.ts.map +1 -1
  25. package/dist/dataConnectors/clickhouse.js +15 -4
  26. package/dist/dataConnectors/clickhouse.js.map +1 -1
  27. package/dist/dataConnectors/mongo.d.ts +8 -1
  28. package/dist/dataConnectors/mongo.d.ts.map +1 -1
  29. package/dist/dataConnectors/mongo.js +72 -28
  30. package/dist/dataConnectors/mongo.js.map +1 -1
  31. package/dist/dataConnectors/mysql.d.ts +2 -0
  32. package/dist/dataConnectors/mysql.d.ts.map +1 -1
  33. package/dist/dataConnectors/mysql.js +22 -23
  34. package/dist/dataConnectors/mysql.js.map +1 -1
  35. package/dist/dataConnectors/postgres.d.ts +2 -0
  36. package/dist/dataConnectors/postgres.d.ts.map +1 -1
  37. package/dist/dataConnectors/postgres.js +23 -26
  38. package/dist/dataConnectors/postgres.js.map +1 -1
  39. package/dist/dataConnectors/sqlite.d.ts +2 -0
  40. package/dist/dataConnectors/sqlite.d.ts.map +1 -1
  41. package/dist/dataConnectors/sqlite.js +19 -19
  42. package/dist/dataConnectors/sqlite.js.map +1 -1
  43. package/dist/index.d.ts +10 -4
  44. package/dist/index.d.ts.map +1 -1
  45. package/dist/index.js +60 -54
  46. package/dist/index.js.map +1 -1
  47. package/dist/modules/codeInjector.d.ts.map +1 -1
  48. package/dist/modules/codeInjector.js +45 -63
  49. package/dist/modules/codeInjector.js.map +1 -1
  50. package/dist/modules/configValidator.d.ts.map +1 -1
  51. package/dist/modules/configValidator.js +14 -9
  52. package/dist/modules/configValidator.js.map +1 -1
  53. package/dist/modules/logger.d.ts +5 -0
  54. package/dist/modules/logger.d.ts.map +1 -0
  55. package/dist/modules/logger.js +16 -0
  56. package/dist/modules/logger.js.map +1 -0
  57. package/dist/modules/restApi.d.ts.map +1 -1
  58. package/dist/modules/restApi.js +21 -23
  59. package/dist/modules/restApi.js.map +1 -1
  60. package/dist/modules/socketBroker.d.ts.map +1 -1
  61. package/dist/modules/socketBroker.js +6 -5
  62. package/dist/modules/socketBroker.js.map +1 -1
  63. package/dist/modules/styles.js +1 -1
  64. package/dist/servers/express.d.ts.map +1 -1
  65. package/dist/servers/express.js +11 -11
  66. package/dist/servers/express.js.map +1 -1
  67. package/dist/spa/src/App.vue +6 -3
  68. package/dist/spa/src/adminforth.ts +60 -1
  69. package/dist/spa/src/afcl/DatePicker.vue +0 -1
  70. package/dist/spa/src/afcl/Dropzone.vue +6 -4
  71. package/dist/spa/src/afcl/Tooltip.vue +38 -4
  72. package/dist/spa/src/components/ColumnValueInput.vue +14 -1
  73. package/dist/spa/src/components/CustomDateRangePicker.vue +0 -2
  74. package/dist/spa/src/components/CustomRangePicker.vue +9 -6
  75. package/dist/spa/src/components/Filters.vue +4 -4
  76. package/dist/spa/src/components/ListActionsThreeDots.vue +235 -0
  77. package/dist/spa/src/components/ResourceForm.vue +4 -4
  78. package/dist/spa/src/components/ResourceListTable.vue +30 -16
  79. package/dist/spa/src/components/ResourceListTableVirtual.vue +34 -18
  80. package/dist/spa/src/components/Sidebar.vue +4 -2
  81. package/dist/spa/src/components/ThreeDotsMenu.vue +35 -20
  82. package/dist/spa/src/composables/useFrontendApi.ts +8 -4
  83. package/dist/spa/src/renderers/CompactField.vue +3 -2
  84. package/dist/spa/src/renderers/CompactUUID.vue +3 -2
  85. package/dist/spa/src/stores/core.ts +3 -2
  86. package/dist/spa/src/types/Back.ts +33 -10
  87. package/dist/spa/src/types/Common.ts +7 -14
  88. package/dist/spa/src/types/FrontendAPI.ts +25 -10
  89. package/dist/spa/src/views/CreateView.vue +23 -31
  90. package/dist/spa/src/views/EditView.vue +23 -31
  91. package/dist/spa/src/views/ListView.vue +20 -10
  92. package/dist/spa/src/views/SettingsView.vue +3 -2
  93. package/dist/spa/src/views/ShowView.vue +7 -6
  94. package/dist/types/Back.d.ts +26 -4
  95. package/dist/types/Back.d.ts.map +1 -1
  96. package/dist/types/Back.js +6 -0
  97. package/dist/types/Back.js.map +1 -1
  98. package/dist/types/Common.d.ts +8 -15
  99. package/dist/types/Common.d.ts.map +1 -1
  100. package/dist/types/Common.js +2 -0
  101. package/dist/types/Common.js.map +1 -1
  102. package/dist/types/FrontendAPI.d.ts +32 -10
  103. package/dist/types/FrontendAPI.d.ts.map +1 -1
  104. package/dist/types/FrontendAPI.js.map +1 -1
  105. package/package.json +4 -1
  106. 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
- console.log('Mongo error: ', err.message);
58
+ afLogger.error(`Mongo error: ${err.message}`);
38
59
  });
39
- console.log('Connected to Mongo');
60
+ afLogger.info('Connected to Mongo');
40
61
  }
41
62
  catch (e) {
42
- console.error(`Failed to connect to Mongo: ${e}`);
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', 'decimal', 'string'];
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: 'STRING',
116
- integer: 'INTEGER',
117
- float: 'FLOAT',
118
- boolean: 'BOOLEAN',
119
- datetime: 'DATETIME',
120
- date: 'DATE',
121
- json: 'JSON',
122
- decimal: '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 : 'STRING' }, (primaryKey ? { isPrimaryKey: true } : {})), { sampleValue: sampleValues.get(name) });
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 (field.type == AdminForthDataTypes.DATETIME) {
175
- if (!value) {
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
- else if (field.type == AdminForthDataTypes.BOOLEAN) {
181
- return value === null ? null : (value ? true : false);
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
- else if (field.type == AdminForthDataTypes.DECIMAL) {
184
- if (value === null || value === undefined) {
211
+ if (field.type === AdminForthDataTypes.FLOAT) {
212
+ if (value === "" || value === null) {
185
213
  return null;
186
214
  }
187
- return Decimal128.fromString(value === null || value === void 0 ? void 0 : value.toString());
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
- console.warn('āš ļø Ignoring insecureRawSQL filter for MongoDB:', filter.insecureRawSQL);
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
- if (['integer', 'decimal', 'float'].includes(column.type)) {
224
- return { [filter.field]: this.OperatorsMap[filter.operator](+filter.value) };
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](filter.value) };
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
- result[column] = await collection
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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"}
@@ -15,6 +15,8 @@ declare class MysqlConnector extends AdminForthBaseConnector implements IAdminFo
15
15
  nin: string;
16
16
  and: string;
17
17
  or: string;
18
+ isEmpty: string;
19
+ isNotEmpty: string;
18
20
  };
19
21
  SortDirectionsMap: {
20
22
  asc: string;
@@ -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;AAGzD,cAAM,cAAe,SAAQ,uBAAwB,YAAW,8BAA8B;IAEtF,WAAW,CAAC,GAAG,KAAA,GAAG,OAAO,CAAC,IAAI,CAAC;IAarC,YAAY;;;;;;;;;;;;;MAaV;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;IAoDjF,eAAe,CAAC,MAAM,EAAE,uBAAuB,GAAG,sBAAsB,GAAG,GAAG,EAAE;IA+BhF,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;IAkBpH,oCAAoC,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE;;;KAAA;IAiB1D,0BAA0B,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE;;;KAAA,GAAG,OAAO,CAAC,MAAM,CAAC;IAajE,0BAA0B,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAG,SAAS,EAAE;;;;KAAA;IAU7D,YAAY,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE;;;KAAA,GAAG,OAAO,CAAC,OAAO,CAAC;IAStD,KAAK;CAGZ;AAED,eAAe,cAAc,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
- console.error(`Failed to connect to MySQL: ${e}`);
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
- console.error('JSON field value is not string or object, but has type:', typeof value);
185
- console.error('Field:', field);
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
- if (filter.operator == AdminForthFilterOperators.IN || filter.operator == AdminForthFilterOperators.NIN) {
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
- if (filter.operator == AdminForthFilterOperators.LIKE || filter.operator == AdminForthFilterOperators.ILIKE) {
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
- if (process.env.HEAVY_DEBUG_QUERY) {
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
- if (process.env.HEAVY_DEBUG_QUERY) {
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
- if (process.env.HEAVY_DEBUG_QUERY) {
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
- if (process.env.HEAVY_DEBUG_QUERY) {
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
- if (process.env.HEAVY_DEBUG_QUERY) {
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
- if (process.env.HEAVY_DEBUG_QUERY) {
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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"}
@@ -15,6 +15,8 @@ declare class PostgresConnector extends AdminForthBaseConnector implements IAdmi
15
15
  nin: string;
16
16
  and: string;
17
17
  or: string;
18
+ isEmpty: string;
19
+ isNotEmpty: string;
18
20
  };
19
21
  SortDirectionsMap: {
20
22
  asc: string;
@@ -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;AAKzD,cAAM,iBAAkB,SAAQ,uBAAwB,YAAW,8BAA8B;IAEvF,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB7C,YAAY;;;;;;;;;;;;;MAaV;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;IA+C/G,eAAe,CAAC,MAAM,EAAE,uBAAuB,GAAG,sBAAsB,GAAG,GAAG,EAAE;IA6BhF,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;IAwBpF,QAAQ,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE;QAAE,QAAQ,EAAE,kBAAkB,CAAC;QAAC,OAAO,EAAE,sBAAsB,CAAC;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAkBpH,oCAAoC,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE;;;KAAA;IAiB1D,0BAA0B,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE;;;KAAA,GAAG,OAAO,CAAC,MAAM,CAAC;IAmBjE,0BAA0B,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE;;;;KAAA;IAU5D,YAAY,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE;;;KAAA,GAAG,OAAO,CAAC,OAAO,CAAC;IAStD,KAAK;CAGd;AAED,eAAe,iBAAiB,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
- console.log('Postgres error: ', err.message, err.stack);
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
- console.error(`Failed to connect to Postgres ${e}`);
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
- console.error('JSON field value is not string or object, but has type:', typeof value);
197
- console.error('Field:', field);
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
- if (filter.operator == AdminForthFilterOperators.IN || filter.operator == AdminForthFilterOperators.NIN) {
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
- if (filter.operator == AdminForthFilterOperators.LIKE || filter.operator == AdminForthFilterOperators.ILIKE) {
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
- if (process.env.HEAVY_DEBUG_QUERY) {
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
- if (process.env.HEAVY_DEBUG_QUERY) {
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
- if (process.env.HEAVY_DEBUG_QUERY) {
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
- // console.log('\nšŸ”µ [PG INSERT]:', q);
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
- if (process.env.HEAVY_DEBUG_QUERY) {
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
- if (process.env.HEAVY_DEBUG_QUERY) {
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
  }