adminforth 1.3.54-next.22 → 1.3.54-next.24

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 (125) hide show
  1. package/dist/auth.js +41 -56
  2. package/dist/auth.js.map +1 -1
  3. package/dist/dataConnectors/baseConnector.js +107 -128
  4. package/dist/dataConnectors/baseConnector.js.map +1 -1
  5. package/dist/dataConnectors/clickhouse.js +125 -148
  6. package/dist/dataConnectors/clickhouse.js.map +1 -1
  7. package/dist/dataConnectors/mongo.js +74 -101
  8. package/dist/dataConnectors/mongo.js.map +1 -1
  9. package/dist/dataConnectors/postgres.js +117 -142
  10. package/dist/dataConnectors/postgres.js.map +1 -1
  11. package/dist/dataConnectors/sqlite.js +106 -129
  12. package/dist/dataConnectors/sqlite.js.map +1 -1
  13. package/dist/index.js +196 -217
  14. package/dist/index.js.map +1 -1
  15. package/dist/modules/codeInjector.js +470 -495
  16. package/dist/modules/codeInjector.js.map +1 -1
  17. package/dist/modules/configValidator.js +13 -22
  18. package/dist/modules/configValidator.js.map +1 -1
  19. package/dist/modules/operationalResource.js +49 -70
  20. package/dist/modules/operationalResource.js.map +1 -1
  21. package/dist/modules/restApi.js +103 -116
  22. package/dist/modules/restApi.js.map +1 -1
  23. package/dist/plugins/audit-log/types.js +2 -0
  24. package/dist/plugins/audit-log/types.js.map +1 -0
  25. package/dist/plugins/chat-gpt/types.js +2 -0
  26. package/dist/plugins/chat-gpt/types.js.map +1 -0
  27. package/dist/plugins/email-password-reset/types.js +2 -0
  28. package/dist/plugins/email-password-reset/types.js.map +1 -0
  29. package/dist/plugins/foreign-inline-list/types.js +2 -0
  30. package/dist/plugins/foreign-inline-list/types.js.map +1 -0
  31. package/dist/plugins/import-export/types.js +2 -0
  32. package/dist/plugins/import-export/types.js.map +1 -0
  33. package/dist/plugins/rich-editor/custom/async-queue.js +29 -0
  34. package/dist/plugins/rich-editor/custom/async-queue.js.map +1 -0
  35. package/dist/plugins/rich-editor/dist/async-queue.js +41 -0
  36. package/dist/plugins/rich-editor/dist/custom/async-queue.js +29 -0
  37. package/dist/plugins/rich-editor/dist/custom/async-queue.js.map +1 -0
  38. package/dist/plugins/rich-editor/types.js +16 -0
  39. package/dist/plugins/rich-editor/types.js.map +1 -0
  40. package/dist/plugins/two-factors-auth/types.js +2 -0
  41. package/dist/plugins/two-factors-auth/types.js.map +1 -0
  42. package/dist/plugins/upload/types.js +2 -0
  43. package/dist/plugins/upload/types.js.map +1 -0
  44. package/dist/servers/express.js +29 -42
  45. package/dist/servers/express.js.map +1 -1
  46. package/package.json +4 -1
  47. package/auth.ts +0 -140
  48. package/basePlugin.ts +0 -70
  49. package/dataConnectors/baseConnector.ts +0 -222
  50. package/dataConnectors/clickhouse.ts +0 -343
  51. package/dataConnectors/mongo.ts +0 -202
  52. package/dataConnectors/postgres.ts +0 -310
  53. package/dataConnectors/sqlite.ts +0 -258
  54. package/index.ts +0 -428
  55. package/modules/codeInjector.ts +0 -747
  56. package/modules/configValidator.ts +0 -588
  57. package/modules/operationalResource.ts +0 -98
  58. package/modules/restApi.ts +0 -718
  59. package/modules/styleGenerator.ts +0 -55
  60. package/modules/styles.ts +0 -126
  61. package/modules/utils.ts +0 -472
  62. package/servers/express.ts +0 -259
  63. package/spa/.eslintrc.cjs +0 -14
  64. package/spa/README.md +0 -39
  65. package/spa/env.d.ts +0 -1
  66. package/spa/index.html +0 -23
  67. package/spa/package-lock.json +0 -4659
  68. package/spa/package.json +0 -52
  69. package/spa/postcss.config.js +0 -6
  70. package/spa/public/assets/favicon.png +0 -0
  71. package/spa/src/App.vue +0 -418
  72. package/spa/src/assets/base.css +0 -2
  73. package/spa/src/assets/logo.svg +0 -19
  74. package/spa/src/components/AcceptModal.vue +0 -45
  75. package/spa/src/components/Breadcrumbs.vue +0 -41
  76. package/spa/src/components/BreadcrumbsWithButtons.vue +0 -26
  77. package/spa/src/components/CustomDatePicker.vue +0 -176
  78. package/spa/src/components/CustomDateRangePicker.vue +0 -218
  79. package/spa/src/components/CustomRangePicker.vue +0 -156
  80. package/spa/src/components/Dropdown.vue +0 -168
  81. package/spa/src/components/Filters.vue +0 -222
  82. package/spa/src/components/HelloWorld.vue +0 -17
  83. package/spa/src/components/MenuLink.vue +0 -27
  84. package/spa/src/components/ResourceForm.vue +0 -325
  85. package/spa/src/components/ResourceListTable.vue +0 -466
  86. package/spa/src/components/SingleSkeletLoader.vue +0 -13
  87. package/spa/src/components/SkeleteLoader.vue +0 -23
  88. package/spa/src/components/ThreeDotsMenu.vue +0 -43
  89. package/spa/src/components/Toast.vue +0 -78
  90. package/spa/src/components/ValueRenderer.vue +0 -141
  91. package/spa/src/components/icons/IconCalendar.vue +0 -5
  92. package/spa/src/components/icons/IconCommunity.vue +0 -7
  93. package/spa/src/components/icons/IconDocumentation.vue +0 -7
  94. package/spa/src/components/icons/IconEcosystem.vue +0 -7
  95. package/spa/src/components/icons/IconSupport.vue +0 -7
  96. package/spa/src/components/icons/IconTime.vue +0 -5
  97. package/spa/src/components/icons/IconTooling.vue +0 -19
  98. package/spa/src/composables/useFrontendApi.ts +0 -26
  99. package/spa/src/composables/useStores.ts +0 -131
  100. package/spa/src/index.scss +0 -31
  101. package/spa/src/main.ts +0 -18
  102. package/spa/src/renderers/CompactUUID.vue +0 -48
  103. package/spa/src/renderers/CountryFlag.vue +0 -69
  104. package/spa/src/router/index.ts +0 -59
  105. package/spa/src/spa_types/core.ts +0 -53
  106. package/spa/src/stores/core.ts +0 -148
  107. package/spa/src/stores/filters.ts +0 -27
  108. package/spa/src/stores/modal.ts +0 -48
  109. package/spa/src/stores/toast.ts +0 -31
  110. package/spa/src/stores/user.ts +0 -72
  111. package/spa/src/utils.ts +0 -160
  112. package/spa/src/views/CreateView.vue +0 -167
  113. package/spa/src/views/EditView.vue +0 -170
  114. package/spa/src/views/ListView.vue +0 -352
  115. package/spa/src/views/LoginView.vue +0 -192
  116. package/spa/src/views/ResourceParent.vue +0 -17
  117. package/spa/src/views/ShowView.vue +0 -194
  118. package/spa/tailwind.config.js +0 -17
  119. package/spa/tsconfig.app.json +0 -14
  120. package/spa/tsconfig.json +0 -11
  121. package/spa/tsconfig.node.json +0 -19
  122. package/spa/vite.config.ts +0 -56
  123. package/tsconfig.json +0 -112
  124. package/types/AdminForthConfig.ts +0 -1762
  125. package/types/FrontendAPI.ts +0 -143
@@ -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 dayjs from 'dayjs';
11
2
  import pkg from 'pg';
12
3
  import { AdminForthDataTypes, AdminForthFilterOperators, AdminForthSortDirections } from '../types/AdminForthConfig.js';
@@ -34,19 +25,18 @@ class PostgresConnector extends AdminForthBaseConnector {
34
25
  this.db = new Client({
35
26
  connectionString: url
36
27
  });
37
- (() => __awaiter(this, void 0, void 0, function* () {
38
- yield this.db.connect();
28
+ (async () => {
29
+ await this.db.connect();
39
30
  this.db.on('error', (err) => {
40
31
  console.log('Postgres error: ', err.message, err.stack);
41
32
  this.db.end();
42
33
  this.db = new PostgresConnector({ url }).db;
43
34
  });
44
- }))();
35
+ })();
45
36
  }
46
- discoverFields(resource) {
47
- return __awaiter(this, void 0, void 0, function* () {
48
- const tableName = resource.table;
49
- const stmt = yield this.db.query(`
37
+ async discoverFields(resource) {
38
+ const tableName = resource.table;
39
+ const stmt = await this.db.query(`
50
40
  SELECT
51
41
  a.attname AS name,
52
42
  pg_catalog.format_type(a.atttypid, a.atttypmod) AS type,
@@ -69,67 +59,66 @@ class PostgresConnector extends AdminForthBaseConnector {
69
59
  ORDER BY
70
60
  a.attnum;
71
61
  `, [tableName]);
72
- const rows = stmt.rows;
73
- const fieldTypes = {};
74
- rows.forEach((row) => {
75
- const field = {};
76
- const baseType = row.type.toLowerCase();
77
- if (baseType == 'int') {
78
- field.type = AdminForthDataTypes.INTEGER;
79
- field._underlineType = 'int';
80
- }
81
- else if (baseType.includes('float') || baseType.includes('double')) {
82
- field.type = AdminForthDataTypes.FLOAT;
83
- field._underlineType = 'float';
84
- }
85
- else if (baseType.includes('bool')) {
86
- field.type = AdminForthDataTypes.BOOLEAN;
87
- field._underlineType = 'bool';
88
- }
89
- else if (baseType == 'uuid') {
90
- field.type = AdminForthDataTypes.STRING;
91
- field._underlineType = 'uuid';
92
- }
93
- else if (baseType.includes('character varying')) {
94
- field.type = AdminForthDataTypes.STRING;
95
- field._underlineType = 'varchar';
96
- const length = baseType.match(/\d+/);
97
- field.maxLength = length ? parseInt(length[0]) : null;
98
- }
99
- else if (baseType == 'text') {
100
- field.type = AdminForthDataTypes.TEXT;
101
- field._underlineType = 'text';
102
- }
103
- else if (baseType.includes('decimal(')) {
104
- field.type = AdminForthDataTypes.DECIMAL;
105
- field._underlineType = 'decimal';
106
- const [precision, scale] = baseType.match(/\d+/g);
107
- field.precision = parseInt(precision);
108
- field.scale = parseInt(scale);
109
- }
110
- else if (baseType == 'real') {
111
- field.type = AdminForthDataTypes.FLOAT;
112
- field._underlineType = 'real';
113
- }
114
- else if (baseType == 'date') {
115
- field.type = AdminForthDataTypes.DATE;
116
- field._underlineType = 'timestamp';
117
- }
118
- else if (baseType.includes('date') || baseType.includes('time')) {
119
- field.type = AdminForthDataTypes.DATETIME;
120
- field._underlineType = 'timestamp';
121
- }
122
- else {
123
- field.type = 'unknown';
124
- }
125
- field._baseTypeDebug = baseType;
126
- field.primaryKey = row.pk == 1;
127
- field.default = row.dflt_value;
128
- field.required = row.notnull && !row.dflt_value;
129
- fieldTypes[row.name] = field;
130
- });
131
- return fieldTypes;
62
+ const rows = stmt.rows;
63
+ const fieldTypes = {};
64
+ rows.forEach((row) => {
65
+ const field = {};
66
+ const baseType = row.type.toLowerCase();
67
+ if (baseType == 'int') {
68
+ field.type = AdminForthDataTypes.INTEGER;
69
+ field._underlineType = 'int';
70
+ }
71
+ else if (baseType.includes('float') || baseType.includes('double')) {
72
+ field.type = AdminForthDataTypes.FLOAT;
73
+ field._underlineType = 'float';
74
+ }
75
+ else if (baseType.includes('bool')) {
76
+ field.type = AdminForthDataTypes.BOOLEAN;
77
+ field._underlineType = 'bool';
78
+ }
79
+ else if (baseType == 'uuid') {
80
+ field.type = AdminForthDataTypes.STRING;
81
+ field._underlineType = 'uuid';
82
+ }
83
+ else if (baseType.includes('character varying')) {
84
+ field.type = AdminForthDataTypes.STRING;
85
+ field._underlineType = 'varchar';
86
+ const length = baseType.match(/\d+/);
87
+ field.maxLength = length ? parseInt(length[0]) : null;
88
+ }
89
+ else if (baseType == 'text') {
90
+ field.type = AdminForthDataTypes.TEXT;
91
+ field._underlineType = 'text';
92
+ }
93
+ else if (baseType.includes('decimal(')) {
94
+ field.type = AdminForthDataTypes.DECIMAL;
95
+ field._underlineType = 'decimal';
96
+ const [precision, scale] = baseType.match(/\d+/g);
97
+ field.precision = parseInt(precision);
98
+ field.scale = parseInt(scale);
99
+ }
100
+ else if (baseType == 'real') {
101
+ field.type = AdminForthDataTypes.FLOAT;
102
+ field._underlineType = 'real';
103
+ }
104
+ else if (baseType == 'date') {
105
+ field.type = AdminForthDataTypes.DATE;
106
+ field._underlineType = 'timestamp';
107
+ }
108
+ else if (baseType.includes('date') || baseType.includes('time')) {
109
+ field.type = AdminForthDataTypes.DATETIME;
110
+ field._underlineType = 'timestamp';
111
+ }
112
+ else {
113
+ field.type = 'unknown';
114
+ }
115
+ field._baseTypeDebug = baseType;
116
+ field.primaryKey = row.pk == 1;
117
+ field.default = row.dflt_value;
118
+ field.required = row.notnull && !row.dflt_value;
119
+ fieldTypes[row.name] = field;
132
120
  });
121
+ return fieldTypes;
133
122
  }
134
123
  getFieldValue(field, value) {
135
124
  if (field.type == AdminForthDataTypes.DATETIME) {
@@ -231,80 +220,66 @@ class PostgresConnector extends AdminForthBaseConnector {
231
220
  values: filterValues,
232
221
  };
233
222
  }
234
- getDataWithOriginalTypes(_a) {
235
- return __awaiter(this, arguments, void 0, function* ({ resource, limit, offset, sort, filters }) {
236
- const columns = resource.dataSourceColumns.map((col) => `"${col.name}"`).join(', ');
237
- const tableName = resource.table;
238
- const { sql: where, paramsCount, values: filterValues } = this.whereClauseAndValues(resource, filters);
239
- const limitOffset = `LIMIT $${paramsCount} OFFSET $${paramsCount + 1}`;
240
- const d = [...filterValues, limit, offset];
241
- const orderBy = sort.length ? `ORDER BY ${sort.map((s) => `"${s.field}" ${this.SortDirectionsMap[s.direction]}`).join(', ')}` : '';
242
- const selectQuery = `SELECT ${columns} FROM ${tableName} ${where} ${orderBy} ${limitOffset}`;
243
- if (process.env.HEAVY_DEBUG) {
244
- console.log('🪲 PG selectQuery:', selectQuery, 'params:', d);
223
+ async getDataWithOriginalTypes({ resource, limit, offset, sort, filters }) {
224
+ const columns = resource.dataSourceColumns.map((col) => `"${col.name}"`).join(', ');
225
+ const tableName = resource.table;
226
+ const { sql: where, paramsCount, values: filterValues } = this.whereClauseAndValues(resource, filters);
227
+ const limitOffset = `LIMIT $${paramsCount} OFFSET $${paramsCount + 1}`;
228
+ const d = [...filterValues, limit, offset];
229
+ const orderBy = sort.length ? `ORDER BY ${sort.map((s) => `"${s.field}" ${this.SortDirectionsMap[s.direction]}`).join(', ')}` : '';
230
+ const selectQuery = `SELECT ${columns} FROM ${tableName} ${where} ${orderBy} ${limitOffset}`;
231
+ if (process.env.HEAVY_DEBUG) {
232
+ console.log('🪲 PG selectQuery:', selectQuery, 'params:', d);
233
+ }
234
+ const stmt = await this.db.query(selectQuery, d);
235
+ const rows = stmt.rows;
236
+ return rows.map((row) => {
237
+ const newRow = {};
238
+ for (const [key, value] of Object.entries(row)) {
239
+ newRow[key] = value;
245
240
  }
246
- const stmt = yield this.db.query(selectQuery, d);
247
- const rows = stmt.rows;
248
- return rows.map((row) => {
249
- const newRow = {};
250
- for (const [key, value] of Object.entries(row)) {
251
- newRow[key] = value;
252
- }
253
- return newRow;
254
- });
241
+ return newRow;
255
242
  });
256
243
  }
257
- getCount(_a) {
258
- return __awaiter(this, arguments, void 0, function* ({ resource, filters }) {
259
- const tableName = resource.table;
260
- const { sql: where, values: filterValues } = this.whereClauseAndValues(resource, filters);
261
- const stmt = yield this.db.query(`SELECT COUNT(*) FROM ${tableName} ${where}`, filterValues);
262
- return stmt.rows[0].count;
263
- });
244
+ async getCount({ resource, filters }) {
245
+ const tableName = resource.table;
246
+ const { sql: where, values: filterValues } = this.whereClauseAndValues(resource, filters);
247
+ const stmt = await this.db.query(`SELECT COUNT(*) FROM ${tableName} ${where}`, filterValues);
248
+ return stmt.rows[0].count;
264
249
  }
265
- getMinMaxForColumnsWithOriginalTypes(_a) {
266
- return __awaiter(this, arguments, void 0, function* ({ resource, columns }) {
267
- const tableName = resource.table;
268
- const result = {};
269
- yield Promise.all(columns.map((col) => __awaiter(this, void 0, void 0, function* () {
270
- const stmt = yield this.db.query(`SELECT MIN(${col.name}) as min, MAX(${col.name}) as max FROM ${tableName}`);
271
- const { min, max } = stmt.rows[0];
272
- result[col.name] = {
273
- min, max,
274
- };
275
- })));
276
- return result;
277
- });
250
+ async getMinMaxForColumnsWithOriginalTypes({ resource, columns }) {
251
+ const tableName = resource.table;
252
+ const result = {};
253
+ await Promise.all(columns.map(async (col) => {
254
+ const stmt = await this.db.query(`SELECT MIN(${col.name}) as min, MAX(${col.name}) as max FROM ${tableName}`);
255
+ const { min, max } = stmt.rows[0];
256
+ result[col.name] = {
257
+ min, max,
258
+ };
259
+ }));
260
+ return result;
278
261
  }
279
- createRecordOriginalValues(_a) {
280
- return __awaiter(this, arguments, void 0, function* ({ resource, record }) {
281
- const tableName = resource.table;
282
- const columns = Object.keys(record);
283
- const placeholders = columns.map((_, i) => `$${i + 1}`).join(', ');
284
- const values = columns.map((colName) => record[colName]);
285
- for (let i = 0; i < columns.length; i++) {
286
- columns[i] = `"${columns[i]}"`;
287
- }
288
- yield this.db.query(`INSERT INTO ${tableName} (${columns.join(', ')}) VALUES (${placeholders})`, values);
289
- });
262
+ async createRecordOriginalValues({ resource, record }) {
263
+ const tableName = resource.table;
264
+ const columns = Object.keys(record);
265
+ const placeholders = columns.map((_, i) => `$${i + 1}`).join(', ');
266
+ const values = columns.map((colName) => record[colName]);
267
+ for (let i = 0; i < columns.length; i++) {
268
+ columns[i] = `"${columns[i]}"`;
269
+ }
270
+ await this.db.query(`INSERT INTO ${tableName} (${columns.join(', ')}) VALUES (${placeholders})`, values);
290
271
  }
291
- updateRecordOriginalValues(_a) {
292
- return __awaiter(this, arguments, void 0, function* ({ resource, recordId, newValues }) {
293
- const values = [...Object.values(newValues), recordId];
294
- const columnsWithPlaceholders = Object.keys(newValues).map((col, i) => `"${col}" = $${i + 1}`).join(', ');
295
- yield this.db.query(`UPDATE ${resource.table} SET ${columnsWithPlaceholders} WHERE "${this.getPrimaryKey(resource)}" = $${values.length}`, values);
296
- });
272
+ async updateRecordOriginalValues({ resource, recordId, newValues }) {
273
+ const values = [...Object.values(newValues), recordId];
274
+ const columnsWithPlaceholders = Object.keys(newValues).map((col, i) => `"${col}" = $${i + 1}`).join(', ');
275
+ await this.db.query(`UPDATE ${resource.table} SET ${columnsWithPlaceholders} WHERE "${this.getPrimaryKey(resource)}" = $${values.length}`, values);
297
276
  }
298
- deleteRecord(_a) {
299
- return __awaiter(this, arguments, void 0, function* ({ resource, recordId }) {
300
- const res = yield this.db.query(`DELETE FROM ${resource.table} WHERE "${this.getPrimaryKey(resource)}" = $1`, [recordId]);
301
- return res.rowCount > 0;
302
- });
277
+ async deleteRecord({ resource, recordId }) {
278
+ const res = await this.db.query(`DELETE FROM ${resource.table} WHERE "${this.getPrimaryKey(resource)}" = $1`, [recordId]);
279
+ return res.rowCount > 0;
303
280
  }
304
- close() {
305
- return __awaiter(this, void 0, void 0, function* () {
306
- yield this.db.end();
307
- });
281
+ async close() {
282
+ await this.db.end();
308
283
  }
309
284
  }
310
285
  export default PostgresConnector;
@@ -1 +1 @@
1
- {"version":3,"file":"postgres.js","sourceRoot":"","sources":["../../dataConnectors/postgres.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"postgres.js","sourceRoot":"","sources":["../../dataConnectors/postgres.ts"],"names":[],"mappings":"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"}
@@ -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,77 +183,65 @@ 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();