adminforth 1.13.0-next.2 → 1.13.0-next.21

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 (40) hide show
  1. package/commands/createApp/templates/index.ts.hbs +0 -1
  2. package/dist/dataConnectors/clickhouse.d.ts.map +1 -1
  3. package/dist/dataConnectors/clickhouse.js +7 -1
  4. package/dist/dataConnectors/clickhouse.js.map +1 -1
  5. package/dist/dataConnectors/mysql.d.ts.map +1 -1
  6. package/dist/dataConnectors/mysql.js +9 -4
  7. package/dist/dataConnectors/mysql.js.map +1 -1
  8. package/dist/index.d.ts +1 -0
  9. package/dist/index.d.ts.map +1 -1
  10. package/dist/index.js +2 -4
  11. package/dist/index.js.map +1 -1
  12. package/dist/modules/codeInjector.d.ts.map +1 -1
  13. package/dist/modules/codeInjector.js +8 -1
  14. package/dist/modules/codeInjector.js.map +1 -1
  15. package/dist/modules/configValidator.d.ts +5 -0
  16. package/dist/modules/configValidator.d.ts.map +1 -1
  17. package/dist/modules/configValidator.js +57 -5
  18. package/dist/modules/configValidator.js.map +1 -1
  19. package/dist/modules/restApi.d.ts.map +1 -1
  20. package/dist/modules/restApi.js +73 -6
  21. package/dist/modules/restApi.js.map +1 -1
  22. package/dist/spa/src/components/ColumnValueInput.vue +5 -1
  23. package/dist/spa/src/components/GroupsTable.vue +9 -3
  24. package/dist/spa/src/components/ResourceForm.vue +18 -5
  25. package/dist/spa/src/components/ResourceListTable.vue +70 -3
  26. package/dist/spa/src/components/ShowTable.vue +11 -3
  27. package/dist/spa/src/components/SkeleteLoader.vue +11 -3
  28. package/dist/spa/src/components/ThreeDotsMenu.vue +75 -7
  29. package/dist/spa/src/types/Back.ts +55 -0
  30. package/dist/spa/src/types/Common.ts +5 -0
  31. package/dist/spa/src/views/EditView.vue +1 -1
  32. package/dist/spa/src/views/ShowView.vue +76 -1
  33. package/dist/types/Back.d.ts +54 -0
  34. package/dist/types/Back.d.ts.map +1 -1
  35. package/dist/types/Back.js.map +1 -1
  36. package/dist/types/Common.d.ts +6 -1
  37. package/dist/types/Common.d.ts.map +1 -1
  38. package/dist/types/Common.js +1 -0
  39. package/dist/types/Common.js.map +1 -1
  40. package/package.json +1 -1
@@ -246,6 +246,54 @@ export default class ConfigValidator {
246
246
  }
247
247
  return showInTransformedToObject;
248
248
  }
249
+ validateFieldGroups(fieldGroups, resourceColumns) {
250
+ if (!fieldGroups)
251
+ return;
252
+ fieldGroups.forEach((group) => {
253
+ group.columns.forEach((col) => {
254
+ if (!resourceColumns.includes(col)) {
255
+ const similar = suggestIfTypo(resourceColumns, col);
256
+ throw new Error(`Group '${group.groupName}' has an unknown column '${col}'. ${similar ? `Did you mean '${similar}'?` : ''}`);
257
+ }
258
+ });
259
+ });
260
+ }
261
+ validateAndNormalizeCustomActions(resInput, res, errors) {
262
+ var _a;
263
+ if (!((_a = resInput.options) === null || _a === void 0 ? void 0 : _a.actions)) {
264
+ return [];
265
+ }
266
+ const actions = [...resInput.options.actions];
267
+ actions.forEach((action) => {
268
+ var _a, _b, _c;
269
+ if (!action.name) {
270
+ errors.push(`Resource "${res.resourceId}" has action without name`);
271
+ }
272
+ if (!action.action && !action.url) {
273
+ errors.push(`Resource "${res.resourceId}" action "${action.name}" must have action or url`);
274
+ }
275
+ if (action.action && action.url) {
276
+ errors.push(`Resource "${res.resourceId}" action "${action.name}" cannot have both action and url`);
277
+ }
278
+ // Generate ID if not present
279
+ if (!action.id) {
280
+ action.id = md5hash(action.name);
281
+ }
282
+ if (!action.showIn) {
283
+ action.showIn = {
284
+ list: true,
285
+ showButton: false,
286
+ showThreeDotsMenu: false,
287
+ };
288
+ }
289
+ else {
290
+ action.showIn.list = (_a = action.showIn.list) !== null && _a !== void 0 ? _a : true;
291
+ action.showIn.showButton = (_b = action.showIn.showButton) !== null && _b !== void 0 ? _b : false;
292
+ action.showIn.showThreeDotsMenu = (_c = action.showIn.showThreeDotsMenu) !== null && _c !== void 0 ? _c : false;
293
+ }
294
+ });
295
+ return actions;
296
+ }
249
297
  validateAndNormalizeResources(errors, warnings) {
250
298
  if (!this.inputConfig.resources) {
251
299
  errors.push('No resources defined, at least one resource must be defined');
@@ -278,7 +326,7 @@ export default class ConfigValidator {
278
326
  }
279
327
  res.columns = resInput.columns.map((inCol, inColIndex) => {
280
328
  var _a, _b, _c, _d, _e;
281
- const col = Object.assign(Object.assign({}, inCol), { showIn: undefined, required: undefined, editingNote: undefined });
329
+ const col = Object.assign(Object.assign({}, inCol), { showIn: undefined, editingNote: undefined });
282
330
  // check for duplicate column names
283
331
  if (resInput.columns.findIndex((c) => c.name === col.name) !== inColIndex) {
284
332
  errors.push(`Resource "${res.resourceId}" has duplicate column name "${col.name}"`);
@@ -328,8 +376,6 @@ export default class ConfigValidator {
328
376
  errors.push(`Resource "${res.resourceId}" column "${inCol.name}" has invalid required value "${wrongRequiredOn}", allowed keys are 'create', 'edit']`);
329
377
  }
330
378
  }
331
- // force required to be object
332
- col.required = typeof inCol.required === 'boolean' ? { create: inCol.required, edit: inCol.required } : inCol.required;
333
379
  // same for editingNote
334
380
  if (inCol.editingNote && !((typeof inCol.editingNote === 'string') || (typeof inCol.editingNote === 'object'))) {
335
381
  errors.push(`Resource "${res.resourceId}" column "${col.name}" editingNote must be a string or object`);
@@ -423,13 +469,13 @@ export default class ConfigValidator {
423
469
  }
424
470
  // we do || here because 'resourceId' might yet not be assigned from 'table'
425
471
  col.foreignResource.polymorphicResources.forEach((polymorphicResource, polymorphicResourceIndex) => {
426
- if (!polymorphicResource.resourceId) {
472
+ if (polymorphicResource.resourceId === undefined) {
427
473
  errors.push(`Resource "${res.resourceId}" column "${col.name}" has polymorphic foreign resource without resourceId`);
428
474
  }
429
475
  else if (!polymorphicResource.whenValue) {
430
476
  errors.push(`Resource "${res.resourceId}" column "${col.name}" has polymorphic foreign resource without whenValue`);
431
477
  }
432
- else {
478
+ else if (polymorphicResource.resourceId !== null) {
433
479
  const resource = this.inputConfig.resources.find((r) => r.resourceId === polymorphicResource.resourceId || r.table === polymorphicResource.resourceId);
434
480
  if (!resource) {
435
481
  const similar = suggestIfTypo(this.inputConfig.resources.map((r) => r.resourceId || r.table), polymorphicResource.resourceId);
@@ -543,6 +589,12 @@ export default class ConfigValidator {
543
589
  }
544
590
  }
545
591
  options.bulkActions = this.validateAndNormalizeBulkActions(resInput, res, errors);
592
+ options.actions = this.validateAndNormalizeCustomActions(resInput, res, errors);
593
+ const allColumnsList = res.columns.map((col) => col.name);
594
+ this.validateFieldGroups(options.fieldGroups, allColumnsList);
595
+ this.validateFieldGroups(options.showFieldGroups, allColumnsList);
596
+ this.validateFieldGroups(options.createFieldGroups, allColumnsList);
597
+ this.validateFieldGroups(options.editFieldGroups, allColumnsList);
546
598
  // if pageInjection is a string, make array with one element. Also check file exists
547
599
  const possibleInjections = ['beforeBreadcrumbs', 'afterBreadcrumbs', 'bottom', 'threeDotsDropdownItems', 'customActionIcons'];
548
600
  const possiblePages = ['list', 'show', 'create', 'edit'];
@@ -1 +1 @@
1
- {"version":3,"file":"configValidator.js","sourceRoot":"","sources":["../../modules/configValidator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configValidator.js","sourceRoot":"","sources":["../../modules/configValidator.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"restApi.d.ts","sourceRoot":"","sources":["../../modules/restApi.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,WAAW,EAEhB,kBAAkB,EAKlB,kBAAkB,EAElB,SAAS,EACV,MAAM,kBAAkB,CAAC;AAK1B,OAAO,EAAE,iBAAiB,EACvB,SAAS,EAAsB,sBAAsB,EAGtC,MAAM,oBAAoB,CAAC;AAE7C,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,kBAAkB,EAC5B,IAAI,EAAE,GAAG,EACT,MAAM,EAAE,iBAAiB,EACzB,UAAU,EAAE,WAAW,GACtB,OAAO,CAAC;IAAC,cAAc,EAAE,sBAAsB,CAAA;CAAC,CAAC,CA6CnD;AAED,MAAM,CAAC,OAAO,OAAO,iBAAkB,YAAW,kBAAkB;IAElE,UAAU,EAAE,WAAW,CAAC;gBAEZ,UAAU,EAAE,WAAW;IAI7B,qBAAqB,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,EAAC,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS;IAsB1J,iBAAiB,CAAC,MAAM,EAAE,WAAW;CA0jCtC"}
1
+ {"version":3,"file":"restApi.d.ts","sourceRoot":"","sources":["../../modules/restApi.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,WAAW,EAEhB,kBAAkB,EAKlB,kBAAkB,EAElB,SAAS,EACV,MAAM,kBAAkB,CAAC;AAK1B,OAAO,EAAE,iBAAiB,EACvB,SAAS,EAAsB,sBAAsB,EAGtC,MAAM,oBAAoB,CAAC;AAE7C,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,kBAAkB,EAC5B,IAAI,EAAE,GAAG,EACT,MAAM,EAAE,iBAAiB,EACzB,UAAU,EAAE,WAAW,GACtB,OAAO,CAAC;IAAC,cAAc,EAAE,sBAAsB,CAAA;CAAC,CAAC,CA8CnD;AAED,MAAM,CAAC,OAAO,OAAO,iBAAkB,YAAW,kBAAkB;IAElE,UAAU,EAAE,WAAW,CAAC;gBAEZ,UAAU,EAAE,WAAW;IAI7B,qBAAqB,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,EAAC,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS;IAsB1J,iBAAiB,CAAC,MAAM,EAAE,WAAW;CAuoCtC"}
@@ -22,6 +22,7 @@ export async function interpretResource(adminUser, resource, meta, source, admin
22
22
  [ActionCheckSource.CreateRequest]: ['create'],
23
23
  [ActionCheckSource.DisplayButtons]: ['show', 'edit', 'delete', 'create', 'filter'],
24
24
  [ActionCheckSource.BulkActionRequest]: ['show', 'edit', 'delete', 'create', 'filter'],
25
+ [ActionCheckSource.CustomActionRequest]: ['show', 'edit', 'delete', 'create', 'filter'],
25
26
  }[source];
26
27
  await Promise.all(Object.entries(resource.options.allowedActions).map(async ([key, value]) => {
27
28
  if (process.env.HEAVY_DEBUG) {
@@ -423,7 +424,10 @@ export default class AdminForthRestAPI {
423
424
  }
424
425
  return Object.assign(Object.assign({}, col), { showIn,
425
426
  validation, label: translated[`resCol${i}`], enum: enumItems });
426
- })), options: Object.assign(Object.assign({}, resource.options), { fieldGroups: (_a = resource.options.fieldGroups) === null || _a === void 0 ? void 0 : _a.map((group, i) => (Object.assign(Object.assign({}, group), { groupName: translated[`fieldGroup${i}`] || group.groupName }))), bulkActions: allowedBulkActions.map((action, i) => (Object.assign(Object.assign({}, action), { label: action.label ? translated[`bulkAction${i}`] : action.label, confirm: action.confirm ? translated[`bulkActionConfirm${i}`] : action.confirm }))), allowedActions }) });
427
+ })), options: Object.assign(Object.assign({}, resource.options), { fieldGroups: (_a = resource.options.fieldGroups) === null || _a === void 0 ? void 0 : _a.map((group, i) => {
428
+ var _a;
429
+ return (Object.assign(Object.assign({}, group), { noTitle: (_a = group.noTitle) !== null && _a !== void 0 ? _a : false, groupName: translated[`fieldGroup${i}`] || group.groupName }));
430
+ }), bulkActions: allowedBulkActions.map((action, i) => (Object.assign(Object.assign({}, action), { label: action.label ? translated[`bulkAction${i}`] : action.label, confirm: action.confirm ? translated[`bulkActionConfirm${i}`] : action.confirm }))), allowedActions }) });
427
431
  delete toReturn.hooks;
428
432
  delete toReturn.plugins;
429
433
  return {
@@ -554,7 +558,14 @@ export default class AdminForthRestAPI {
554
558
  const targetResourcePkFields = {};
555
559
  const pksUniques = {};
556
560
  col.foreignResource.polymorphicResources.forEach((pr) => {
557
- targetResources[pr.whenValue] = this.adminforth.config.resources.find((res) => res.resourceId == pr.resourceId);
561
+ if (pr.resourceId === null) {
562
+ return;
563
+ }
564
+ const targetResource = this.adminforth.config.resources.find((res) => res.resourceId == pr.resourceId);
565
+ if (!targetResource) {
566
+ return;
567
+ }
568
+ targetResources[pr.whenValue] = targetResource;
558
569
  targetConnectors[pr.whenValue] = this.adminforth.connectors[targetResources[pr.whenValue].dataSource];
559
570
  targetResourcePkFields[pr.whenValue] = targetResources[pr.whenValue].columns.find((col) => col.primaryKey).name;
560
571
  const pksUnique = [...new Set(data.data.filter((item) => item[col.foreignResource.polymorphicOn] === pr.whenValue).map((item) => item[col.name]))];
@@ -588,6 +599,14 @@ export default class AdminForthRestAPI {
588
599
  }
589
600
  data.data.forEach((item) => {
590
601
  item[col.name] = targetDataMap[item[col.name]];
602
+ if (!item[col.name]) {
603
+ if (col.foreignResource && col.foreignResource.polymorphicResources) {
604
+ const systemResource = col.foreignResource.polymorphicResources.find(pr => pr.resourceId === null);
605
+ if (systemResource) {
606
+ item[col.foreignResource.polymorphicOn] = systemResource.whenValue;
607
+ }
608
+ }
609
+ }
591
610
  });
592
611
  }));
593
612
  // remove all columns which are not defined in resources, or defined but backendOnly
@@ -648,7 +667,7 @@ export default class AdminForthRestAPI {
648
667
  if (!columnConfig.foreignResource) {
649
668
  return { error: `Column '${column}' in resource '${resourceId}' is not a foreign key` };
650
669
  }
651
- const targetResourceIds = columnConfig.foreignResource.resourceId ? [columnConfig.foreignResource.resourceId] : columnConfig.foreignResource.polymorphicResources.map((pr) => pr.resourceId);
670
+ const targetResourceIds = columnConfig.foreignResource.resourceId ? [columnConfig.foreignResource.resourceId] : columnConfig.foreignResource.polymorphicResources.filter(pr => pr.resourceId !== null).map((pr) => pr.resourceId);
652
671
  const targetResources = targetResourceIds.map((trId) => this.adminforth.config.resources.find((res) => res.resourceId == trId));
653
672
  const responses = (await Promise.all(targetResources.map(async (targetResource) => {
654
673
  return new Promise(async (resolve) => {
@@ -786,7 +805,14 @@ export default class AdminForthRestAPI {
786
805
  const targetConnectors = {};
787
806
  const targetResourcePkFields = {};
788
807
  column.foreignResource.polymorphicResources.forEach((pr) => {
789
- targetResources[pr.whenValue] = this.adminforth.config.resources.find((res) => res.resourceId == pr.resourceId);
808
+ if (pr.resourceId === null) {
809
+ return;
810
+ }
811
+ const targetResource = this.adminforth.config.resources.find((res) => res.resourceId == pr.resourceId);
812
+ if (!targetResource) {
813
+ return;
814
+ }
815
+ targetResources[pr.whenValue] = targetResource;
790
816
  targetConnectors[pr.whenValue] = this.adminforth.connectors[targetResources[pr.whenValue].dataSource];
791
817
  targetResourcePkFields[pr.whenValue] = targetResources[pr.whenValue].columns.find((col) => col.primaryKey).name;
792
818
  });
@@ -849,14 +875,21 @@ export default class AdminForthRestAPI {
849
875
  }
850
876
  // for polymorphic foreign resources, we need to find out the value for polymorphicOn column
851
877
  for (const column of resource.columns) {
852
- if ((_b = column.foreignResource) === null || _b === void 0 ? void 0 : _b.polymorphicOn) {
878
+ if (((_b = column.foreignResource) === null || _b === void 0 ? void 0 : _b.polymorphicOn) && record[column.name] !== undefined) {
853
879
  let newPolymorphicOnValue = null;
854
880
  if (record[column.name]) {
855
881
  const targetResources = {};
856
882
  const targetConnectors = {};
857
883
  const targetResourcePkFields = {};
858
884
  column.foreignResource.polymorphicResources.forEach((pr) => {
859
- targetResources[pr.whenValue] = this.adminforth.config.resources.find((res) => res.resourceId == pr.resourceId);
885
+ if (pr.resourceId === null) {
886
+ return;
887
+ }
888
+ const targetResource = this.adminforth.config.resources.find((res) => res.resourceId == pr.resourceId);
889
+ if (!targetResource) {
890
+ return;
891
+ }
892
+ targetResources[pr.whenValue] = targetResource;
860
893
  targetConnectors[pr.whenValue] = this.adminforth.connectors[targetResources[pr.whenValue].dataSource];
861
894
  targetResourcePkFields[pr.whenValue] = targetResources[pr.whenValue].columns.find((col) => col.primaryKey).name;
862
895
  });
@@ -949,6 +982,40 @@ export default class AdminForthRestAPI {
949
982
  this.adminforth.activatedPlugins.forEach((plugin) => {
950
983
  plugin.setupEndpoints(server);
951
984
  });
985
+ server.endpoint({
986
+ method: 'POST',
987
+ path: '/start_custom_action',
988
+ handler: async ({ body, adminUser, tr }) => {
989
+ const { resourceId, actionId, recordId } = body;
990
+ const resource = this.adminforth.config.resources.find((res) => res.resourceId == resourceId);
991
+ if (!resource) {
992
+ return { error: await tr(`Resource {resourceId} not found`, 'errors', { resourceId }) };
993
+ }
994
+ const { allowedActions } = await interpretResource(adminUser, resource, { requestBody: body }, ActionCheckSource.CustomActionRequest, this.adminforth);
995
+ const action = resource.options.actions.find((act) => act.id == actionId);
996
+ if (!action) {
997
+ return { error: await tr(`Action {actionId} not found`, 'errors', { actionId }) };
998
+ }
999
+ if (action.allowed) {
1000
+ const execAllowed = await action.allowed({ adminUser, standardAllowedActions: allowedActions });
1001
+ if (!execAllowed) {
1002
+ return { error: await tr(`Action "{actionId}" not allowed`, 'errors', { actionId: action.name }) };
1003
+ }
1004
+ }
1005
+ if (action.url) {
1006
+ return {
1007
+ actionId,
1008
+ recordId,
1009
+ resourceId,
1010
+ redirectUrl: action.url
1011
+ };
1012
+ }
1013
+ const response = await action.action({ recordId, adminUser, resource, tr, adminforth: this.adminforth });
1014
+ return Object.assign({ actionId,
1015
+ recordId,
1016
+ resourceId }, response);
1017
+ }
1018
+ });
952
1019
  }
953
1020
  }
954
1021
  //# sourceMappingURL=restApi.js.map