adminforth 1.0.42 → 1.0.44
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/dataConnectors/sqlite.ts +1 -1
- package/dist/dataConnectors/sqlite.js +1 -1
- package/dist/index.js +6 -2
- package/index.ts +6 -2
- package/package.json +1 -1
package/dataConnectors/sqlite.ts
CHANGED
|
@@ -138,7 +138,7 @@ class SQLiteConnector {
|
|
|
138
138
|
|
|
139
139
|
|
|
140
140
|
getData({ resource, limit, offset, sort, filters }) {
|
|
141
|
-
console.log('getData', { resource, limit, offset, sort, filters });
|
|
141
|
+
console.log('SQLITE getData', { resource, limit, offset, sort, filters });
|
|
142
142
|
const columns = resource.dataSourceColumns.map((col) => col.name).join(', ');
|
|
143
143
|
const tableName = resource.table;
|
|
144
144
|
|
|
@@ -148,7 +148,7 @@ class SQLiteConnector {
|
|
|
148
148
|
return value;
|
|
149
149
|
}
|
|
150
150
|
getData({ resource, limit, offset, sort, filters }) {
|
|
151
|
-
console.log('getData', { resource, limit, offset, sort, filters });
|
|
151
|
+
console.log('SQLITE getData', { resource, limit, offset, sort, filters });
|
|
152
152
|
const columns = resource.dataSourceColumns.map((col) => col.name).join(', ');
|
|
153
153
|
const tableName = resource.table;
|
|
154
154
|
const where = filters.length ? `WHERE ${filters.map((f, i) => {
|
package/dist/index.js
CHANGED
|
@@ -472,7 +472,7 @@ class AdminForth {
|
|
|
472
472
|
}
|
|
473
473
|
const { limit, offset, filters, sort } = body;
|
|
474
474
|
for (const filter of (filters || [])) {
|
|
475
|
-
if (AdminForthFilterOperators
|
|
475
|
+
if (!Object.values(AdminForthFilterOperators).includes(filter.operator)) {
|
|
476
476
|
throw new Error(`Operator '${filter.operator}' is not allowed`);
|
|
477
477
|
}
|
|
478
478
|
if (!resource.columns.some((col) => col.name === filter.field)) {
|
|
@@ -500,6 +500,10 @@ class AdminForth {
|
|
|
500
500
|
const targetResource = this.config.resources.find((res) => res.resourceId == col.foreignResource.resourceId);
|
|
501
501
|
const targetConnector = this.connectors[targetResource.dataSource];
|
|
502
502
|
const targetResourcePkField = targetResource.columns.find((col) => col.primaryKey).name;
|
|
503
|
+
const pksUnique = [...new Set(data.data.map((item) => item[col.name]))];
|
|
504
|
+
if (pksUnique.length === 0) {
|
|
505
|
+
return;
|
|
506
|
+
}
|
|
503
507
|
const targetData = yield targetConnector.getData({
|
|
504
508
|
resource: targetResource,
|
|
505
509
|
limit: limit,
|
|
@@ -508,7 +512,7 @@ class AdminForth {
|
|
|
508
512
|
{
|
|
509
513
|
field: targetResourcePkField,
|
|
510
514
|
operator: AdminForthFilterOperators.IN,
|
|
511
|
-
value:
|
|
515
|
+
value: pksUnique,
|
|
512
516
|
}
|
|
513
517
|
],
|
|
514
518
|
sort: [],
|
package/index.ts
CHANGED
|
@@ -537,7 +537,7 @@ class AdminForth {
|
|
|
537
537
|
const { limit, offset, filters, sort } = body;
|
|
538
538
|
|
|
539
539
|
for (const filter of (filters || [])) {
|
|
540
|
-
if (AdminForthFilterOperators
|
|
540
|
+
if (!Object.values(AdminForthFilterOperators).includes(filter.operator)) {
|
|
541
541
|
throw new Error(`Operator '${filter.operator}' is not allowed`);
|
|
542
542
|
}
|
|
543
543
|
|
|
@@ -570,6 +570,10 @@ class AdminForth {
|
|
|
570
570
|
const targetResource = this.config.resources.find((res) => res.resourceId == col.foreignResource.resourceId);
|
|
571
571
|
const targetConnector = this.connectors[targetResource.dataSource];
|
|
572
572
|
const targetResourcePkField = targetResource.columns.find((col) => col.primaryKey).name;
|
|
573
|
+
const pksUnique = [...new Set(data.data.map((item) => item[col.name]))];
|
|
574
|
+
if (pksUnique.length === 0) {
|
|
575
|
+
return;
|
|
576
|
+
}
|
|
573
577
|
const targetData = await targetConnector.getData({
|
|
574
578
|
resource: targetResource,
|
|
575
579
|
limit: limit,
|
|
@@ -578,7 +582,7 @@ class AdminForth {
|
|
|
578
582
|
{
|
|
579
583
|
field: targetResourcePkField,
|
|
580
584
|
operator: AdminForthFilterOperators.IN,
|
|
581
|
-
value:
|
|
585
|
+
value: pksUnique,
|
|
582
586
|
}
|
|
583
587
|
],
|
|
584
588
|
sort: [],
|