adminforth 1.3.54-next.21 → 1.3.54-next.23

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 (39) hide show
  1. package/dataConnectors/baseConnector.ts +0 -1
  2. package/dist/auth.js +42 -57
  3. package/dist/auth.js.map +1 -0
  4. package/dist/basePlugin.js +1 -1
  5. package/dist/basePlugin.js.map +1 -0
  6. package/dist/dataConnectors/baseConnector.js +108 -129
  7. package/dist/dataConnectors/baseConnector.js.map +1 -0
  8. package/dist/dataConnectors/clickhouse.js +126 -149
  9. package/dist/dataConnectors/clickhouse.js.map +1 -0
  10. package/dist/dataConnectors/mongo.js +75 -102
  11. package/dist/dataConnectors/mongo.js.map +1 -0
  12. package/dist/dataConnectors/postgres.js +118 -143
  13. package/dist/dataConnectors/postgres.js.map +1 -0
  14. package/dist/dataConnectors/sqlite.js +107 -130
  15. package/dist/dataConnectors/sqlite.js.map +1 -0
  16. package/dist/index.js +197 -218
  17. package/dist/index.js.map +1 -0
  18. package/dist/modules/codeInjector.js +471 -496
  19. package/dist/modules/codeInjector.js.map +1 -0
  20. package/dist/modules/configValidator.js +14 -23
  21. package/dist/modules/configValidator.js.map +1 -0
  22. package/dist/modules/operationalResource.js +50 -71
  23. package/dist/modules/operationalResource.js.map +1 -0
  24. package/dist/modules/restApi.js +104 -117
  25. package/dist/modules/restApi.js.map +1 -0
  26. package/dist/modules/styleGenerator.js +1 -1
  27. package/dist/modules/styleGenerator.js.map +1 -0
  28. package/dist/modules/styles.js +1 -1
  29. package/dist/modules/styles.js.map +1 -0
  30. package/dist/modules/utils.js +1 -1
  31. package/dist/modules/utils.js.map +1 -0
  32. package/dist/servers/express.js +30 -43
  33. package/dist/servers/express.js.map +1 -0
  34. package/dist/types/AdminForthConfig.js +1 -1
  35. package/dist/types/AdminForthConfig.js.map +1 -0
  36. package/dist/types/FrontendAPI.js +1 -1
  37. package/dist/types/FrontendAPI.js.map +1 -0
  38. package/package.json +1 -1
  39. package/tsconfig.json +4 -4
@@ -1,12 +1,3 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
1
  import betterSqlite3 from 'better-sqlite3';
11
2
  import { AdminForthDataTypes, AdminForthFilterOperators, AdminForthSortDirections } from '../types/AdminForthConfig.js';
12
3
  import AdminForthBaseConnector from './baseConnector.js';
@@ -33,63 +24,61 @@ class SQLiteConnector extends AdminForthBaseConnector {
33
24
  // create connection here
34
25
  this.db = betterSqlite3(url.replace('sqlite://', ''));
35
26
  }
36
- discoverFields(resource) {
37
- return __awaiter(this, void 0, void 0, function* () {
38
- const tableName = resource.table;
39
- const stmt = this.db.prepare(`PRAGMA table_info(${tableName})`);
40
- const rows = yield stmt.all();
41
- const fieldTypes = {};
42
- rows.forEach((row) => {
43
- const field = {};
44
- const baseType = row.type.toLowerCase();
45
- if (baseType == 'int') {
46
- field.type = AdminForthDataTypes.INTEGER;
47
- field._underlineType = 'int';
48
- }
49
- else if (baseType.includes('varchar(')) {
50
- field.type = AdminForthDataTypes.STRING;
51
- field._underlineType = 'varchar';
52
- const length = baseType.match(/\d+/);
53
- field.maxLength = length ? parseInt(length[0]) : null;
54
- }
55
- else if (baseType == 'text') {
56
- field.type = AdminForthDataTypes.TEXT;
57
- field._underlineType = 'text';
58
- }
59
- else if (baseType.includes('decimal(')) {
60
- field.type = AdminForthDataTypes.DECIMAL;
61
- field._underlineType = 'decimal';
62
- const [precision, scale] = baseType.match(/\d+/g);
63
- field.precision = parseInt(precision);
64
- field.scale = parseInt(scale);
65
- }
66
- else if (baseType == 'real') {
67
- field.type = AdminForthDataTypes.FLOAT; //8-byte IEEE floating point number. It
68
- field._underlineType = 'real';
69
- }
70
- else if (baseType == 'timestamp') {
71
- field.type = AdminForthDataTypes.DATETIME;
72
- field._underlineType = 'timestamp';
73
- }
74
- else if (baseType == 'boolean') {
75
- field.type = AdminForthDataTypes.BOOLEAN;
76
- field._underlineType = 'boolean';
77
- }
78
- else if (baseType == 'datetime') {
79
- field.type = AdminForthDataTypes.DATETIME;
80
- field._underlineType = 'datetime';
81
- }
82
- else {
83
- field.type = 'unknown';
84
- }
85
- field._baseTypeDebug = baseType;
86
- field.required = row.notnull == 1;
87
- field.primaryKey = row.pk == 1;
88
- field.default = row.dflt_value;
89
- fieldTypes[row.name] = field;
90
- });
91
- return fieldTypes;
27
+ async discoverFields(resource) {
28
+ const tableName = resource.table;
29
+ const stmt = this.db.prepare(`PRAGMA table_info(${tableName})`);
30
+ const rows = await stmt.all();
31
+ const fieldTypes = {};
32
+ rows.forEach((row) => {
33
+ const field = {};
34
+ const baseType = row.type.toLowerCase();
35
+ if (baseType == 'int') {
36
+ field.type = AdminForthDataTypes.INTEGER;
37
+ field._underlineType = 'int';
38
+ }
39
+ else if (baseType.includes('varchar(')) {
40
+ field.type = AdminForthDataTypes.STRING;
41
+ field._underlineType = 'varchar';
42
+ const length = baseType.match(/\d+/);
43
+ field.maxLength = length ? parseInt(length[0]) : null;
44
+ }
45
+ else if (baseType == 'text') {
46
+ field.type = AdminForthDataTypes.TEXT;
47
+ field._underlineType = 'text';
48
+ }
49
+ else if (baseType.includes('decimal(')) {
50
+ field.type = AdminForthDataTypes.DECIMAL;
51
+ field._underlineType = 'decimal';
52
+ const [precision, scale] = baseType.match(/\d+/g);
53
+ field.precision = parseInt(precision);
54
+ field.scale = parseInt(scale);
55
+ }
56
+ else if (baseType == 'real') {
57
+ field.type = AdminForthDataTypes.FLOAT; //8-byte IEEE floating point number. It
58
+ field._underlineType = 'real';
59
+ }
60
+ else if (baseType == 'timestamp') {
61
+ field.type = AdminForthDataTypes.DATETIME;
62
+ field._underlineType = 'timestamp';
63
+ }
64
+ else if (baseType == 'boolean') {
65
+ field.type = AdminForthDataTypes.BOOLEAN;
66
+ field._underlineType = 'boolean';
67
+ }
68
+ else if (baseType == 'datetime') {
69
+ field.type = AdminForthDataTypes.DATETIME;
70
+ field._underlineType = 'datetime';
71
+ }
72
+ else {
73
+ field.type = 'unknown';
74
+ }
75
+ field._baseTypeDebug = baseType;
76
+ field.required = row.notnull == 1;
77
+ field.primaryKey = row.pk == 1;
78
+ field.default = row.dflt_value;
79
+ fieldTypes[row.name] = field;
92
80
  });
81
+ return fieldTypes;
93
82
  }
94
83
  getFieldValue(field, value) {
95
84
  if (field.type == AdminForthDataTypes.DATETIME) {
@@ -194,81 +183,69 @@ class SQLiteConnector extends AdminForthBaseConnector {
194
183
  return acc;
195
184
  }, []);
196
185
  }
197
- getDataWithOriginalTypes(_a) {
198
- return __awaiter(this, arguments, void 0, function* ({ resource, limit, offset, sort, filters }) {
199
- const columns = resource.dataSourceColumns.map((col) => col.name).join(', ');
200
- const tableName = resource.table;
201
- const where = this.whereClause(filters);
202
- const filterValues = this.whereParams(filters);
203
- const orderBy = sort.length ? `ORDER BY ${sort.map((s) => `${s.field} ${this.SortDirectionsMap[s.direction]}`).join(', ')}` : '';
204
- const q = `SELECT ${columns} FROM ${tableName} ${where} ${orderBy} LIMIT ? OFFSET ?`;
205
- const stmt = this.db.prepare(q);
206
- const d = [...filterValues, limit, offset];
207
- if (process.env.HEAVY_DEBUG) {
208
- console.log('🪲📜 SQLITE Q', q, 'params:', d);
186
+ async getDataWithOriginalTypes({ resource, limit, offset, sort, filters }) {
187
+ const columns = resource.dataSourceColumns.map((col) => col.name).join(', ');
188
+ const tableName = resource.table;
189
+ const where = this.whereClause(filters);
190
+ const filterValues = this.whereParams(filters);
191
+ const orderBy = sort.length ? `ORDER BY ${sort.map((s) => `${s.field} ${this.SortDirectionsMap[s.direction]}`).join(', ')}` : '';
192
+ const q = `SELECT ${columns} FROM ${tableName} ${where} ${orderBy} LIMIT ? OFFSET ?`;
193
+ const stmt = this.db.prepare(q);
194
+ const d = [...filterValues, limit, offset];
195
+ if (process.env.HEAVY_DEBUG) {
196
+ console.log('🪲📜 SQLITE Q', q, 'params:', d);
197
+ }
198
+ const rows = await stmt.all(d);
199
+ return rows.map((row) => {
200
+ const newRow = {};
201
+ for (const [key, value] of Object.entries(row)) {
202
+ newRow[key] = value;
209
203
  }
210
- const rows = yield stmt.all(d);
211
- return rows.map((row) => {
212
- const newRow = {};
213
- for (const [key, value] of Object.entries(row)) {
214
- newRow[key] = value;
215
- }
216
- return newRow;
217
- });
204
+ return newRow;
218
205
  });
219
206
  }
220
- getCount(_a) {
221
- return __awaiter(this, arguments, void 0, function* ({ resource, filters }) {
222
- const tableName = resource.table;
223
- const where = this.whereClause(filters);
224
- const filterValues = this.whereParams(filters);
225
- const totalStmt = this.db.prepare(`SELECT COUNT(*) FROM ${tableName} ${where}`);
226
- return totalStmt.get([...filterValues])['COUNT(*)'];
227
- });
207
+ async getCount({ resource, filters }) {
208
+ const tableName = resource.table;
209
+ const where = this.whereClause(filters);
210
+ const filterValues = this.whereParams(filters);
211
+ const totalStmt = this.db.prepare(`SELECT COUNT(*) FROM ${tableName} ${where}`);
212
+ return totalStmt.get([...filterValues])['COUNT(*)'];
228
213
  }
229
- getMinMaxForColumnsWithOriginalTypes(_a) {
230
- return __awaiter(this, arguments, void 0, function* ({ resource, columns }) {
231
- const tableName = resource.table;
232
- const result = {};
233
- yield Promise.all(columns.map((col) => __awaiter(this, void 0, void 0, function* () {
234
- const stmt = yield this.db.prepare(`SELECT MIN(${col.name}) as min, MAX(${col.name}) as max FROM ${tableName}`);
235
- const { min, max } = stmt.get();
236
- result[col.name] = {
237
- min, max,
238
- };
239
- })));
240
- return result;
241
- });
214
+ async getMinMaxForColumnsWithOriginalTypes({ resource, columns }) {
215
+ const tableName = resource.table;
216
+ const result = {};
217
+ await Promise.all(columns.map(async (col) => {
218
+ const stmt = await this.db.prepare(`SELECT MIN(${col.name}) as min, MAX(${col.name}) as max FROM ${tableName}`);
219
+ const { min, max } = stmt.get();
220
+ result[col.name] = {
221
+ min, max,
222
+ };
223
+ }));
224
+ return result;
242
225
  }
243
- createRecordOriginalValues(_a) {
244
- return __awaiter(this, arguments, void 0, function* ({ resource, record }) {
245
- const tableName = resource.table;
246
- const columns = Object.keys(record);
247
- const placeholders = columns.map(() => '?').join(', ');
248
- const values = columns.map((colName) => record[colName]);
249
- const q = this.db.prepare(`INSERT INTO ${tableName} (${columns.join(', ')}) VALUES (${placeholders})`);
250
- yield q.run(values);
251
- });
226
+ async createRecordOriginalValues({ resource, record }) {
227
+ const tableName = resource.table;
228
+ const columns = Object.keys(record);
229
+ const placeholders = columns.map(() => '?').join(', ');
230
+ const values = columns.map((colName) => record[colName]);
231
+ const q = this.db.prepare(`INSERT INTO ${tableName} (${columns.join(', ')}) VALUES (${placeholders})`);
232
+ await q.run(values);
252
233
  }
253
- updateRecordOriginalValues(_a) {
254
- return __awaiter(this, arguments, void 0, function* ({ resource, recordId, newValues }) {
255
- const columnsWithPlaceholders = Object.keys(newValues).map((col) => `${col} = ?`);
256
- const values = [...Object.values(newValues), recordId];
257
- const q = this.db.prepare(`UPDATE ${resource.table} SET ${columnsWithPlaceholders} WHERE ${this.getPrimaryKey(resource)} = ?`);
258
- process.env.HEAVY_DEBUG && console.log('🪲 SQLITE Query', `UPDATE ${resource.table} SET ${columnsWithPlaceholders} WHERE ${this.getPrimaryKey(resource)} = ?`, 'params:', values);
259
- yield q.run(values);
260
- });
234
+ async updateRecordOriginalValues({ resource, recordId, newValues }) {
235
+ const columnsWithPlaceholders = Object.keys(newValues).map((col) => `${col} = ?`);
236
+ const values = [...Object.values(newValues), recordId];
237
+ const q = this.db.prepare(`UPDATE ${resource.table} SET ${columnsWithPlaceholders} WHERE ${this.getPrimaryKey(resource)} = ?`);
238
+ process.env.HEAVY_DEBUG && console.log('🪲 SQLITE Query', `UPDATE ${resource.table} SET ${columnsWithPlaceholders} WHERE ${this.getPrimaryKey(resource)} = ?`, 'params:', values);
239
+ await q.run(values);
261
240
  }
262
- deleteRecord(_a) {
263
- return __awaiter(this, arguments, void 0, function* ({ resource, recordId }) {
264
- const q = this.db.prepare(`DELETE FROM ${resource.table} WHERE ${this.getPrimaryKey(resource)} = ?`);
265
- const res = yield q.run(recordId);
266
- return res.changes > 0;
267
- });
241
+ async deleteRecord({ resource, recordId }) {
242
+ const q = this.db.prepare(`DELETE FROM ${resource.table} WHERE ${this.getPrimaryKey(resource)} = ?`);
243
+ const res = await q.run(recordId);
244
+ return res.changes > 0;
268
245
  }
269
246
  close() {
270
247
  this.db.close();
271
248
  }
272
249
  }
273
250
  export default SQLiteConnector;
274
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3FsaXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vZGF0YUNvbm5lY3RvcnMvc3FsaXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLE9BQU8sYUFBYSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSx5QkFBeUIsRUFBRSx3QkFBd0IsRUFBZ0YsTUFBTSw4QkFBOEIsQ0FBQztBQUN0TSxPQUFPLHVCQUF1QixNQUFNLG9CQUFvQixDQUFDO0FBQ3pELE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUUxQixNQUFNLGVBQWdCLFNBQVEsdUJBQXVCO0lBSWpELFlBQVksRUFBRSxHQUFHLEVBQW1CO1FBQ2xDLEtBQUssRUFBRSxDQUFDO1FBd0hWLGlCQUFZLEdBQUc7WUFDYixDQUFDLHlCQUF5QixDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUc7WUFDbkMsQ0FBQyx5QkFBeUIsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJO1lBQ3BDLENBQUMseUJBQXlCLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRztZQUNuQyxDQUFDLHlCQUF5QixDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUc7WUFDbkMsQ0FBQyx5QkFBeUIsQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJO1lBQ3JDLENBQUMseUJBQXlCLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSTtZQUNyQyxDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU07WUFDeEMsQ0FBQyx5QkFBeUIsQ0FBQyxLQUFLLENBQUMsRUFBRSxPQUFPO1lBQzFDLENBQUMseUJBQXlCLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSTtZQUNwQyxDQUFDLHlCQUF5QixDQUFDLEdBQUcsQ0FBQyxFQUFFLFFBQVE7U0FDMUMsQ0FBQztRQUVGLHNCQUFpQixHQUFHO1lBQ2xCLENBQUMsd0JBQXdCLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSztZQUNyQyxDQUFDLHdC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
251
+ //# sourceMappingURL=sqlite.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../dataConnectors/sqlite.ts"],"names":[],"mappings":"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"}