adminforth 2.4.0-next.16 → 2.4.0-next.161

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 (169) hide show
  1. package/commands/callTsProxy.js +14 -4
  2. package/commands/cli.js +12 -4
  3. package/commands/createApp/templates/custom/tsconfig.json.hbs +2 -3
  4. package/commands/createApp/templates/index.ts.hbs +10 -2
  5. package/commands/createApp/templates/package.json.hbs +1 -1
  6. package/commands/createApp/utils.js +27 -2
  7. package/commands/createCustomComponent/configLoader.js +3 -0
  8. package/commands/createCustomComponent/main.js +1 -0
  9. package/commands/createCustomComponent/templates/customCrud/beforeActionButtons.vue.hbs +38 -0
  10. package/commands/createPlugin/templates/custom/tsconfig.json.hbs +2 -5
  11. package/dist/dataConnectors/baseConnector.d.ts.map +1 -1
  12. package/dist/dataConnectors/baseConnector.js +46 -15
  13. package/dist/dataConnectors/baseConnector.js.map +1 -1
  14. package/dist/dataConnectors/clickhouse.d.ts.map +1 -1
  15. package/dist/dataConnectors/clickhouse.js +15 -0
  16. package/dist/dataConnectors/clickhouse.js.map +1 -1
  17. package/dist/dataConnectors/mongo.d.ts.map +1 -1
  18. package/dist/dataConnectors/mongo.js +44 -15
  19. package/dist/dataConnectors/mongo.js.map +1 -1
  20. package/dist/dataConnectors/mysql.d.ts.map +1 -1
  21. package/dist/dataConnectors/mysql.js +11 -0
  22. package/dist/dataConnectors/mysql.js.map +1 -1
  23. package/dist/dataConnectors/postgres.d.ts.map +1 -1
  24. package/dist/dataConnectors/postgres.js +11 -0
  25. package/dist/dataConnectors/postgres.js.map +1 -1
  26. package/dist/dataConnectors/sqlite.d.ts.map +1 -1
  27. package/dist/dataConnectors/sqlite.js +11 -0
  28. package/dist/dataConnectors/sqlite.js.map +1 -1
  29. package/dist/index.d.ts +2 -1
  30. package/dist/index.d.ts.map +1 -1
  31. package/dist/index.js +20 -9
  32. package/dist/index.js.map +1 -1
  33. package/dist/modules/codeInjector.d.ts +1 -0
  34. package/dist/modules/codeInjector.d.ts.map +1 -1
  35. package/dist/modules/codeInjector.js +42 -5
  36. package/dist/modules/codeInjector.js.map +1 -1
  37. package/dist/modules/configValidator.d.ts.map +1 -1
  38. package/dist/modules/configValidator.js +59 -3
  39. package/dist/modules/configValidator.js.map +1 -1
  40. package/dist/modules/restApi.d.ts.map +1 -1
  41. package/dist/modules/restApi.js +148 -25
  42. package/dist/modules/restApi.js.map +1 -1
  43. package/dist/modules/styles.d.ts +457 -13
  44. package/dist/modules/styles.d.ts.map +1 -1
  45. package/dist/modules/styles.js +513 -31
  46. package/dist/modules/styles.js.map +1 -1
  47. package/dist/modules/utils.d.ts +1 -0
  48. package/dist/modules/utils.d.ts.map +1 -1
  49. package/dist/modules/utils.js +9 -0
  50. package/dist/modules/utils.js.map +1 -1
  51. package/dist/spa/index.html +1 -1
  52. package/dist/spa/src/App.vue +37 -16
  53. package/dist/spa/src/adminforth.ts +42 -18
  54. package/dist/spa/src/afcl/BarChart.vue +2 -2
  55. package/dist/spa/src/afcl/Button.vue +6 -6
  56. package/dist/spa/src/afcl/Checkbox.vue +21 -13
  57. package/dist/spa/src/afcl/CountryFlag.vue +4 -1
  58. package/dist/spa/src/{components/CustomDatePicker.vue → afcl/DatePicker.vue} +95 -9
  59. package/dist/spa/src/afcl/Dialog.vue +44 -27
  60. package/dist/spa/src/afcl/Dropzone.vue +12 -12
  61. package/dist/spa/src/afcl/Input.vue +6 -6
  62. package/dist/spa/src/afcl/JsonViewer.vue +25 -0
  63. package/dist/spa/src/afcl/LinkButton.vue +1 -1
  64. package/dist/spa/src/afcl/PieChart.vue +5 -5
  65. package/dist/spa/src/afcl/ProgressBar.vue +7 -7
  66. package/dist/spa/src/afcl/Select.vue +68 -34
  67. package/dist/spa/src/afcl/Skeleton.vue +6 -6
  68. package/dist/spa/src/afcl/Table.vue +202 -72
  69. package/dist/spa/src/afcl/Textarea.vue +31 -0
  70. package/dist/spa/src/afcl/Toggle.vue +32 -0
  71. package/dist/spa/src/afcl/Tooltip.vue +1 -2
  72. package/dist/spa/src/afcl/VerticalTabs.vue +16 -7
  73. package/dist/spa/src/afcl/index.ts +4 -3
  74. package/dist/spa/src/components/AcceptModal.vue +7 -7
  75. package/dist/spa/src/components/Breadcrumbs.vue +5 -5
  76. package/dist/spa/src/components/ColumnValueInput.vue +38 -18
  77. package/dist/spa/src/components/ColumnValueInputWrapper.vue +4 -3
  78. package/dist/spa/src/components/CustomDateRangePicker.vue +9 -8
  79. package/dist/spa/src/components/CustomRangePicker.vue +37 -8
  80. package/dist/spa/src/components/ErrorMessage.vue +21 -0
  81. package/dist/spa/src/components/Filters.vue +84 -38
  82. package/dist/spa/src/components/GroupsTable.vue +9 -8
  83. package/dist/spa/src/components/MenuLink.vue +3 -3
  84. package/dist/spa/src/components/ResourceForm.vue +94 -51
  85. package/dist/spa/src/components/ResourceListTable.vue +78 -80
  86. package/dist/spa/src/components/ResourceListTableVirtual.vue +70 -72
  87. package/dist/spa/src/components/ShowTable.vue +17 -12
  88. package/dist/spa/src/components/SingleSkeletLoader.vue +6 -6
  89. package/dist/spa/src/components/SkeleteLoader.vue +3 -3
  90. package/dist/spa/src/components/ThreeDotsMenu.vue +73 -14
  91. package/dist/spa/src/components/Toast.vue +27 -9
  92. package/dist/spa/src/components/UserMenuSettingsButton.vue +77 -0
  93. package/dist/spa/src/components/ValueRenderer.vue +43 -16
  94. package/dist/spa/src/controls/BoolToggle.vue +34 -0
  95. package/dist/spa/src/i18n.ts +1 -1
  96. package/dist/spa/src/renderers/CompactField.vue +1 -1
  97. package/dist/spa/src/renderers/CompactUUID.vue +1 -1
  98. package/dist/spa/src/router/index.ts +8 -0
  99. package/dist/spa/src/shims-vue.d.ts +5 -0
  100. package/dist/spa/src/spa_types/core.ts +8 -1
  101. package/dist/spa/src/stores/core.ts +1 -1
  102. package/dist/spa/src/stores/filters.ts +28 -2
  103. package/dist/spa/src/stores/modal.ts +6 -1
  104. package/dist/spa/src/stores/toast.ts +22 -3
  105. package/dist/spa/src/types/Back.ts +118 -22
  106. package/dist/spa/src/types/Common.ts +51 -31
  107. package/dist/spa/src/types/FrontendAPI.ts +31 -5
  108. package/dist/spa/src/types/adapters/CompletionAdapter.ts +25 -0
  109. package/dist/spa/src/types/adapters/EmailAdapter.ts +27 -0
  110. package/dist/spa/src/types/adapters/ImageGenerationAdapter.ts +50 -0
  111. package/dist/spa/src/types/adapters/ImageVisionAdapter.ts +30 -0
  112. package/dist/spa/src/types/adapters/OAuth2Adapter.ts +34 -0
  113. package/dist/spa/src/types/adapters/StorageAdapter.ts +73 -0
  114. package/dist/spa/src/types/adapters/index.ts +6 -0
  115. package/dist/spa/src/utils.ts +217 -7
  116. package/dist/spa/src/views/CreateView.vue +18 -19
  117. package/dist/spa/src/views/EditView.vue +25 -19
  118. package/dist/spa/src/views/ListView.vue +126 -81
  119. package/dist/spa/src/views/LoginView.vue +33 -41
  120. package/dist/spa/src/views/ResourceParent.vue +2 -2
  121. package/dist/spa/src/views/SettingsView.vue +139 -0
  122. package/dist/spa/src/views/ShowView.vue +59 -39
  123. package/dist/spa/src/websocket.ts +6 -1
  124. package/dist/spa/tsconfig.app.json +1 -1
  125. package/dist/spa/vite.config.ts +45 -2
  126. package/dist/types/Back.d.ts +85 -14
  127. package/dist/types/Back.d.ts.map +1 -1
  128. package/dist/types/Back.js +15 -0
  129. package/dist/types/Back.js.map +1 -1
  130. package/dist/types/Common.d.ts +44 -28
  131. package/dist/types/Common.d.ts.map +1 -1
  132. package/dist/types/Common.js.map +1 -1
  133. package/dist/types/FrontendAPI.d.ts +31 -3
  134. package/dist/types/FrontendAPI.d.ts.map +1 -1
  135. package/dist/types/FrontendAPI.js.map +1 -1
  136. package/dist/types/adapters/CompletionAdapter.d.ts +20 -0
  137. package/dist/types/adapters/CompletionAdapter.d.ts.map +1 -0
  138. package/dist/types/adapters/CompletionAdapter.js +2 -0
  139. package/dist/types/adapters/CompletionAdapter.js.map +1 -0
  140. package/dist/types/adapters/EmailAdapter.d.ts +20 -0
  141. package/dist/types/adapters/EmailAdapter.d.ts.map +1 -0
  142. package/dist/types/adapters/EmailAdapter.js +2 -0
  143. package/dist/types/adapters/EmailAdapter.js.map +1 -0
  144. package/dist/types/adapters/ImageGenerationAdapter.d.ts +37 -0
  145. package/dist/types/adapters/ImageGenerationAdapter.d.ts.map +1 -0
  146. package/dist/types/adapters/ImageGenerationAdapter.js +2 -0
  147. package/dist/types/adapters/ImageGenerationAdapter.js.map +1 -0
  148. package/dist/types/adapters/ImageVisionAdapter.d.ts +25 -0
  149. package/dist/types/adapters/ImageVisionAdapter.d.ts.map +1 -0
  150. package/dist/types/adapters/ImageVisionAdapter.js +2 -0
  151. package/dist/types/adapters/ImageVisionAdapter.js.map +1 -0
  152. package/dist/types/adapters/OAuth2Adapter.d.ts +32 -0
  153. package/dist/types/adapters/OAuth2Adapter.d.ts.map +1 -0
  154. package/dist/types/adapters/OAuth2Adapter.js +2 -0
  155. package/dist/types/adapters/OAuth2Adapter.js.map +1 -0
  156. package/dist/types/adapters/StorageAdapter.d.ts +63 -0
  157. package/dist/types/adapters/StorageAdapter.d.ts.map +1 -0
  158. package/dist/types/adapters/StorageAdapter.js +2 -0
  159. package/dist/types/adapters/StorageAdapter.js.map +1 -0
  160. package/dist/types/adapters/index.d.ts +7 -0
  161. package/dist/types/adapters/index.d.ts.map +1 -0
  162. package/dist/types/adapters/index.js +2 -0
  163. package/dist/types/adapters/index.js.map +1 -0
  164. package/package.json +3 -2
  165. package/dist/spa/src/types/Adapters.ts +0 -213
  166. package/dist/types/Adapters.d.ts +0 -168
  167. package/dist/types/Adapters.d.ts.map +0 -1
  168. package/dist/types/Adapters.js +0 -2
  169. package/dist/types/Adapters.js.map +0 -1
@@ -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,EAEV,MAAM,kBAAkB,CAAC;AAK1B,OAAO,EAAE,iBAAiB,EACvB,SAAS,EAAsB,sBAAsB,EAGtC,MAAM,oBAAoB,CAAC;AAG7C,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,CA2CnD;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;IAqB1J,iBAAiB,CAAC,MAAM,EAAE,WAAW;CA0rCtC"}
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,EAGV,MAAM,kBAAkB,CAAC;AAK1B,OAAO,EAAE,iBAAiB,EACvB,SAAS,EAAsB,sBAAsB,EAGtC,MAAM,oBAAoB,CAAC;AA2C7C,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,CA2CnD;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;IAqB1J,iBAAiB,CAAC,MAAM,EAAE,WAAW;CA4yCtC"}
@@ -1,7 +1,24 @@
1
- import { ADMINFORTH_VERSION, listify } from './utils.js';
1
+ import { ADMINFORTH_VERSION, listify, getLoginPromptHTML } from './utils.js';
2
2
  import AdminForthAuth from "../auth.js";
3
3
  import { ActionCheckSource, AdminForthDataTypes, AdminForthFilterOperators, AdminForthResourcePages, AllowedActionsEnum } from "../types/Common.js";
4
4
  import { filtersTools } from "../modules/filtersTools.js";
5
+ async function resolveBoolOrFn(val, ctx) {
6
+ if (typeof val === 'function') {
7
+ return !!(await (val)(ctx));
8
+ }
9
+ return !!val;
10
+ }
11
+ async function isBackendOnly(col, ctx) {
12
+ return await resolveBoolOrFn(col.backendOnly, ctx);
13
+ }
14
+ async function isShown(col, page, ctx) {
15
+ const s = col.showIn || {};
16
+ if (s[page] !== undefined)
17
+ return await resolveBoolOrFn(s[page], ctx);
18
+ if (s.all !== undefined)
19
+ return await resolveBoolOrFn(s.all, ctx);
20
+ return true;
21
+ }
5
22
  export async function interpretResource(adminUser, resource, meta, source, adminforth) {
6
23
  if (process.env.HEAVY_DEBUG) {
7
24
  console.log('🪲Interpreting resource', resource.resourceId, source, 'adminUser', adminUser);
@@ -142,6 +159,17 @@ export default class AdminForthRestAPI {
142
159
  return { ok: true };
143
160
  },
144
161
  });
162
+ server.endpoint({
163
+ noAuth: true,
164
+ method: 'GET',
165
+ path: '/get_login_form_config',
166
+ handler: async ({ tr }) => {
167
+ const loginPromptHTML = await getLoginPromptHTML(this.adminforth.config.auth.loginPromptHTML);
168
+ return {
169
+ loginPromptHTML: await tr(loginPromptHTML, 'system.loginPromptHTML'),
170
+ };
171
+ }
172
+ });
145
173
  server.endpoint({
146
174
  noAuth: true,
147
175
  method: 'GET',
@@ -161,14 +189,17 @@ export default class AdminForthRestAPI {
161
189
  usernameFieldName: usernameColumn.label,
162
190
  loginBackgroundImage: this.adminforth.config.auth.loginBackgroundImage,
163
191
  loginBackgroundPosition: this.adminforth.config.auth.loginBackgroundPosition,
192
+ removeBackgroundBlendMode: this.adminforth.config.auth.removeBackgroundBlendMode,
164
193
  title: (_a = this.adminforth.config.customization) === null || _a === void 0 ? void 0 : _a.title,
165
194
  demoCredentials: this.adminforth.config.auth.demoCredentials,
166
- loginPromptHTML: await tr(this.adminforth.config.auth.loginPromptHTML, 'system.loginPromptHTML'),
167
195
  loginPageInjections: this.adminforth.config.customization.loginPageInjections,
168
196
  globalInjections: {
169
197
  everyPageBottom: this.adminforth.config.customization.globalInjections.everyPageBottom,
198
+ sidebarTop: this.adminforth.config.customization.globalInjections.sidebarTop,
170
199
  },
171
200
  rememberMeDays: this.adminforth.config.auth.rememberMeDays,
201
+ singleTheme: this.adminforth.config.customization.singleTheme,
202
+ customHeadItems: this.adminforth.config.customization.customHeadItems,
172
203
  };
173
204
  },
174
205
  });
@@ -233,14 +264,17 @@ export default class AdminForthRestAPI {
233
264
  usernameFieldName: usernameColumn.label,
234
265
  loginBackgroundImage: this.adminforth.config.auth.loginBackgroundImage,
235
266
  loginBackgroundPosition: this.adminforth.config.auth.loginBackgroundPosition,
267
+ removeBackgroundBlendMode: this.adminforth.config.auth.removeBackgroundBlendMode,
236
268
  title: (_c = this.adminforth.config.customization) === null || _c === void 0 ? void 0 : _c.title,
237
269
  demoCredentials: this.adminforth.config.auth.demoCredentials,
238
- loginPromptHTML: await tr(this.adminforth.config.auth.loginPromptHTML, 'system.loginPromptHTML'),
239
270
  loginPageInjections: this.adminforth.config.customization.loginPageInjections,
240
271
  rememberMeDays: this.adminforth.config.auth.rememberMeDays,
272
+ singleTheme: this.adminforth.config.customization.singleTheme,
273
+ customHeadItems: this.adminforth.config.customization.customHeadItems,
241
274
  };
242
275
  const loggedInPart = {
243
276
  showBrandNameInSidebar: this.adminforth.config.customization.showBrandNameInSidebar,
277
+ showBrandLogoInSidebar: this.adminforth.config.customization.showBrandLogoInSidebar,
244
278
  brandLogo: this.adminforth.config.customization.brandLogo,
245
279
  datesFormat: this.adminforth.config.customization.datesFormat,
246
280
  timeFormat: this.adminforth.config.customization.timeFormat,
@@ -251,6 +285,7 @@ export default class AdminForthRestAPI {
251
285
  announcementBadge,
252
286
  globalInjections: this.adminforth.config.customization.globalInjections,
253
287
  userFullnameField: this.adminforth.config.auth.userFullNameField,
288
+ settingPages: this.adminforth.config.auth.userMenuSettingsPages,
254
289
  };
255
290
  // translate menu labels
256
291
  const translateRoutines = [];
@@ -275,12 +310,20 @@ export default class AdminForthRestAPI {
275
310
  await Promise.all(translateRoutines);
276
311
  // strip all backendOnly fields or not described in adminForth fields from dbUser
277
312
  // (when user defines column and does not set backendOnly, we assume it is not backendOnly)
278
- Object.keys(adminUser.dbUser).forEach((key) => {
279
- const col = userResource.columns.find((col) => col.name === key);
280
- if (!col || col.backendOnly) {
313
+ const ctx = {
314
+ adminUser,
315
+ resource: userResource,
316
+ meta: {},
317
+ source: ActionCheckSource.ShowRequest,
318
+ adminforth: this.adminforth,
319
+ };
320
+ for (const key of Object.keys(adminUser.dbUser)) {
321
+ const col = userResource.columns.find((c) => c.name === key);
322
+ const bo = col ? await isBackendOnly(col, ctx) : true;
323
+ if (!col || bo) {
281
324
  delete adminUser.dbUser[key];
282
325
  }
283
- });
326
+ }
284
327
  return {
285
328
  user: userData,
286
329
  resources: this.adminforth.config.resources.map((res) => ({
@@ -435,7 +478,7 @@ export default class AdminForthRestAPI {
435
478
  method: 'POST',
436
479
  path: '/get_resource_data',
437
480
  handler: async ({ body, adminUser, headers, query, cookies, requestUrl }) => {
438
- var _a, _b, _c, _d, _e;
481
+ var _a, _b, _c, _d, _e, _f;
439
482
  const { resourceId, source } = body;
440
483
  if (['show', 'list', 'edit'].includes(source) === false) {
441
484
  return { error: 'Invalid source, should be list or show' };
@@ -632,22 +675,38 @@ export default class AdminForthRestAPI {
632
675
  }
633
676
  });
634
677
  }));
678
+ const pkField = (_d = resource.columns.find((col) => col.primaryKey)) === null || _d === void 0 ? void 0 : _d.name;
635
679
  // remove all columns which are not defined in resources, or defined but backendOnly
636
- data.data.forEach((item) => {
637
- Object.keys(item).forEach((key) => {
638
- if (!resource.columns.find((col) => col.name === key) || resource.columns.find((col) => col.name === key && col.backendOnly)) {
639
- delete item[key];
680
+ {
681
+ const ctx = {
682
+ adminUser,
683
+ resource,
684
+ meta,
685
+ source: {
686
+ show: ActionCheckSource.ShowRequest,
687
+ list: ActionCheckSource.ListRequest,
688
+ edit: ActionCheckSource.EditLoadRequest,
689
+ }[source],
690
+ adminforth: this.adminforth,
691
+ };
692
+ for (const item of data.data) {
693
+ for (const key of Object.keys(item)) {
694
+ const col = resource.columns.find((c) => c.name === key);
695
+ const bo = col ? await isBackendOnly(col, ctx) : true;
696
+ if (!col || bo) {
697
+ delete item[key];
698
+ }
640
699
  }
641
- });
642
- item._label = resource.recordLabel(item);
643
- });
700
+ item._label = resource.recordLabel(item);
701
+ }
702
+ }
644
703
  if (source === 'list' && resource.options.listTableClickUrl) {
645
704
  await Promise.all(data.data.map(async (item) => {
646
705
  item._clickUrl = await resource.options.listTableClickUrl(item, adminUser);
647
706
  }));
648
707
  }
649
708
  // only after adminforth made all post processing, give user ability to edit it
650
- for (const hook of listify((_e = (_d = resource.hooks) === null || _d === void 0 ? void 0 : _d[hookSource]) === null || _e === void 0 ? void 0 : _e.afterDatasourceResponse)) {
709
+ for (const hook of listify((_f = (_e = resource.hooks) === null || _e === void 0 ? void 0 : _e[hookSource]) === null || _f === void 0 ? void 0 : _f.afterDatasourceResponse)) {
651
710
  const resp = await hook({
652
711
  resource,
653
712
  query: body,
@@ -672,7 +731,7 @@ export default class AdminForthRestAPI {
672
731
  method: 'POST',
673
732
  path: '/get_resource_foreign_data',
674
733
  handler: async ({ body, adminUser, headers, query, cookies, requestUrl }) => {
675
- const { resourceId, column } = body;
734
+ const { resourceId, column, search } = body;
676
735
  if (!this.adminforth.statuses.dbDiscover) {
677
736
  return { error: 'Database discovery not started' };
678
737
  }
@@ -742,6 +801,43 @@ export default class AdminForthRestAPI {
742
801
  throw new Error(`Wrong filter object value: ${JSON.stringify(filters)}`);
743
802
  }
744
803
  }
804
+ if (search && search.trim() && columnConfig.foreignResource.searchableFields) {
805
+ const searchableFields = Array.isArray(columnConfig.foreignResource.searchableFields)
806
+ ? columnConfig.foreignResource.searchableFields
807
+ : [columnConfig.foreignResource.searchableFields];
808
+ const searchOperator = columnConfig.foreignResource.searchIsCaseSensitive
809
+ ? AdminForthFilterOperators.LIKE
810
+ : AdminForthFilterOperators.ILIKE;
811
+ const availableSearchFields = searchableFields.filter((fieldName) => {
812
+ const fieldExists = targetResource.columns.some(col => col.name === fieldName);
813
+ if (!fieldExists) {
814
+ process.env.HEAVY_DEBUG && console.log(`⚠️ Field '${fieldName}' not found in polymorphic target resource '${targetResource.resourceId}', skipping in search filter.`);
815
+ }
816
+ return fieldExists;
817
+ });
818
+ if (availableSearchFields.length === 0) {
819
+ process.env.HEAVY_DEBUG && console.log(`⚠️ No searchable fields available in polymorphic target resource '${targetResource.resourceId}', skipping resource.`);
820
+ resolve({ items: [] });
821
+ return;
822
+ }
823
+ const searchFilters = availableSearchFields.map((fieldName) => {
824
+ const filter = {
825
+ field: fieldName,
826
+ operator: searchOperator,
827
+ value: search.trim(),
828
+ };
829
+ return filter;
830
+ });
831
+ if (searchFilters.length > 1) {
832
+ normalizedFilters.subFilters.push({
833
+ operator: AdminForthFilterOperators.OR,
834
+ subFilters: searchFilters,
835
+ });
836
+ }
837
+ else if (searchFilters.length === 1) {
838
+ normalizedFilters.subFilters.push(searchFilters[0]);
839
+ }
840
+ }
745
841
  const dbDataItems = await this.adminforth.connectors[targetResource.dataSource].getData({
746
842
  resource: targetResource,
747
843
  limit,
@@ -835,6 +931,7 @@ export default class AdminForthRestAPI {
835
931
  return { error };
836
932
  }
837
933
  const { record } = body;
934
+ // todo if showIn.create is function, code below will be buggy (will not detect required fact)
838
935
  for (const column of resource.columns) {
839
936
  if (((_a = column.required) === null || _a === void 0 ? void 0 : _a.create) &&
840
937
  record[column.name] === undefined &&
@@ -842,11 +939,28 @@ export default class AdminForthRestAPI {
842
939
  return { error: `Column '${column.name}' is required`, ok: false };
843
940
  }
844
941
  }
942
+ const ctxCreate = {
943
+ adminUser,
944
+ resource,
945
+ meta: { requestBody: body },
946
+ source: ActionCheckSource.CreateRequest,
947
+ adminforth: this.adminforth,
948
+ };
949
+ for (const column of resource.columns) {
950
+ if ((_b = column.required) === null || _b === void 0 ? void 0 : _b.create) {
951
+ const shown = await isShown(column, 'create', ctxCreate);
952
+ if (shown && record[column.name] === undefined) {
953
+ return { error: `Column '${column.name}' is required`, ok: false };
954
+ }
955
+ }
956
+ }
845
957
  for (const column of resource.columns) {
846
958
  const fieldName = column.name;
847
959
  if (fieldName in record) {
848
- if (!((_b = column.showIn) === null || _b === void 0 ? void 0 : _b.create) || column.backendOnly) {
849
- return { error: `Field "${fieldName}" cannot be modified as it is restricted from creation (showIn.create is false, please set it to true)`, ok: false };
960
+ const shown = await isShown(column, 'create', ctxCreate);
961
+ const bo = await isBackendOnly(column, ctxCreate);
962
+ if (!shown || bo) {
963
+ return { error: `Field "${fieldName}" cannot be modified as it is restricted from creation (backendOnly or showIn.create is false, please set it to true)`, ok: false };
850
964
  }
851
965
  }
852
966
  }
@@ -890,7 +1004,7 @@ export default class AdminForthRestAPI {
890
1004
  }
891
1005
  const response = await this.adminforth.createResourceRecord({ resource, record, adminUser, extra: { body, query, headers, cookies, requestUrl } });
892
1006
  if (response.error) {
893
- return { error: response.error, ok: false };
1007
+ return { error: response.error, ok: false, newRecordId: response.newRecordId };
894
1008
  }
895
1009
  const connector = this.adminforth.connectors[resource.dataSource];
896
1010
  return {
@@ -903,7 +1017,7 @@ export default class AdminForthRestAPI {
903
1017
  method: 'POST',
904
1018
  path: '/update_record',
905
1019
  handler: async ({ body, adminUser, query, headers, cookies, requestUrl }) => {
906
- var _a, _b, _c;
1020
+ var _a, _b;
907
1021
  const resource = this.adminforth.config.resources.find((res) => res.resourceId == body['resourceId']);
908
1022
  if (!resource) {
909
1023
  return { error: `Resource '${body['resourceId']}' not found` };
@@ -921,21 +1035,30 @@ export default class AdminForthRestAPI {
921
1035
  if (!allowed) {
922
1036
  return { error: allowedError };
923
1037
  }
1038
+ const ctxEdit = {
1039
+ adminUser,
1040
+ resource,
1041
+ meta: { requestBody: body, newRecord: record, oldRecord, pk: recordId },
1042
+ source: ActionCheckSource.EditRequest,
1043
+ adminforth: this.adminforth,
1044
+ };
924
1045
  for (const column of resource.columns) {
925
1046
  const fieldName = column.name;
926
1047
  if (fieldName in record) {
927
- if (!((_a = column.showIn) === null || _a === void 0 ? void 0 : _a.edit) || column.editReadonly || column.backendOnly) {
928
- return { error: `Field "${fieldName}" cannot be modified as it is restricted from editing (showIn.edit is false, please set it to true)`, ok: false };
1048
+ const shown = await isShown(column, 'edit', ctxEdit);
1049
+ const bo = await isBackendOnly(column, ctxEdit);
1050
+ if (!shown || column.editReadonly || bo) {
1051
+ return { error: `Field "${fieldName}" cannot be modified as it is restricted from editing (backendOnly or showIn.edit is false, please set it to true)`, ok: false };
929
1052
  }
930
1053
  }
931
1054
  }
932
1055
  // for polymorphic foreign resources, we need to find out the value for polymorphicOn column
933
1056
  for (const column of resource.columns) {
934
- if (((_b = column.foreignResource) === null || _b === void 0 ? void 0 : _b.polymorphicOn) && record[column.name] === null) {
1057
+ if (((_a = column.foreignResource) === null || _a === void 0 ? void 0 : _a.polymorphicOn) && record[column.name] === null) {
935
1058
  const systemResource = column.foreignResource.polymorphicResources.find(pr => pr.resourceId === null);
936
1059
  record[column.foreignResource.polymorphicOn] = systemResource.whenValue;
937
1060
  }
938
- else if (((_c = column.foreignResource) === null || _c === void 0 ? void 0 : _c.polymorphicOn) && record[column.name]) {
1061
+ else if (((_b = column.foreignResource) === null || _b === void 0 ? void 0 : _b.polymorphicOn) && record[column.name]) {
939
1062
  let newPolymorphicOnValue = null;
940
1063
  if (record[column.name]) {
941
1064
  const targetResources = {};