adminizer 4.7.0-build.222 → 5.0.0-build.0

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 (341) hide show
  1. package/Readme.md +2 -1
  2. package/assets/add-a4odXvQk.js +1 -0
  3. package/assets/add-group-D-NleXth.js +1 -0
  4. package/assets/add-user-B4SVJT5P.js +1 -0
  5. package/assets/app-CtWuWD5N.css +1 -0
  6. package/assets/app-layout-eaSzcROf.js +1 -0
  7. package/assets/app.js +35 -39
  8. package/assets/catalog-ByUICd5z.js +6 -0
  9. package/assets/controls/chunks/_commonjsHelpers-C6fGbg64.js +6 -0
  10. package/assets/controls/chunks/index-CjiZ2FIa.js +93 -0
  11. package/assets/controls/chunks/jsx-runtime-jIxVPx5o.js +31 -0
  12. package/assets/controls/chunks/use-appearance-CFLOwiSX.js +38 -0
  13. package/assets/controls/chunks/use-window-size-BXgBKW65.js +19 -0
  14. package/assets/controls/chunks/vanilla-picker-Dg97NL4h.js +529 -0
  15. package/assets/{RelationDialogStack-CnHFOYyR.css → controls/ckeditor.css} +1 -1
  16. package/assets/controls/ckeditor.es.js +83663 -0
  17. package/assets/controls/handsontable.css +1 -0
  18. package/assets/controls/handsontable.es.js +70550 -0
  19. package/assets/controls/jsoneditor.css +1 -0
  20. package/assets/controls/jsoneditor.es.js +42009 -0
  21. package/assets/controls/leaflet.css +1 -0
  22. package/assets/controls/leaflet.es.js +10299 -0
  23. package/assets/controls/monaco.es.js +618 -0
  24. package/assets/controls/toast-ui.css +1 -0
  25. package/assets/controls/toast-ui.es.js +41768 -0
  26. package/assets/dashboard-BYd8G2cW.js +3 -0
  27. package/assets/debounce-BMmXVQ06.js +1 -0
  28. package/assets/history-B8KIDy44.js +1 -0
  29. package/assets/init-user-8aUohVDq.js +1 -0
  30. package/assets/list-ChmtBGjG.js +4 -0
  31. package/assets/login-CO4laf6m.js +1 -0
  32. package/assets/manifest.json +60 -615
  33. package/assets/{media-manager-WcKe1EvD.js → media-manager-BDbpSSjH.js} +3 -3
  34. package/assets/module-D59aE9uv.js +1 -0
  35. package/assets/notification-DNoyfNmT.js +20 -0
  36. package/assets/register-DBYIMXGQ.js +1 -0
  37. package/assets/{ru-eW0WKkga.js → ru-rYKdQbWF.js} +1 -1
  38. package/assets/use-appearance-_EbbjHTh.js +1 -0
  39. package/assets/user-filters-list-BMFRwkYF.js +1 -0
  40. package/assets/welcome-37rNVUHt.js +1 -0
  41. package/controllers/add.d.ts +1 -1
  42. package/controllers/addGroup.js +3 -3
  43. package/controllers/addUser.js +3 -3
  44. package/controllers/catalog/Catalog.d.ts +1 -1
  45. package/controllers/catalog/Catalog.js +2 -1
  46. package/controllers/catalog/FrontendCatalogAdapter.d.ts +2 -12
  47. package/controllers/catalog/FrontendCatalogAdapter.js +3 -16
  48. package/controllers/catalog/FrontentCatalogAdapter.d.ts +2 -12
  49. package/controllers/catalog/FrontentCatalogAdapter.js +0 -16
  50. package/controllers/edit.js +6 -11
  51. package/controllers/editGroup.d.ts +1 -1
  52. package/controllers/editGroup.js +3 -3
  53. package/controllers/editUser.d.ts +1 -1
  54. package/controllers/editUser.js +3 -3
  55. package/controllers/feed.js +1 -1
  56. package/controllers/filter-fields/columns.js +1 -1
  57. package/controllers/filter-fields/getAllUserFilters.js +2 -2
  58. package/controllers/filter-fields/groups.js +2 -2
  59. package/controllers/filter-fields/savedFilters.js +1 -1
  60. package/controllers/history-actions/HistoryController.js +1 -1
  61. package/controllers/initUser.js +2 -2
  62. package/controllers/list.d.ts +1 -1
  63. package/controllers/login.d.ts +1 -1
  64. package/controllers/login.js +3 -3
  65. package/controllers/media-manager/ThumbController.js +2 -2
  66. package/controllers/media-manager/mediaManagerApi.js +13 -15
  67. package/controllers/register.d.ts +1 -1
  68. package/controllers/register.js +5 -5
  69. package/controllers/remove.d.ts +1 -1
  70. package/controllers/userApiKey.js +2 -2
  71. package/controllers/view.d.ts +1 -1
  72. package/controllers/view.js +5 -5
  73. package/controllers/widgets/Action.js +5 -2
  74. package/controllers/widgets/Info.js +1 -1
  75. package/controllers/widgets/filterInfo.js +1 -1
  76. package/files/favicon.png +0 -0
  77. package/helpers/accessRightsHelper.d.ts +6 -4
  78. package/helpers/accessRightsHelper.js +13 -0
  79. package/helpers/diffHelpers.js +1 -1
  80. package/helpers/fieldsHelper.d.ts +1 -1
  81. package/helpers/fieldsHelper.js +8 -4
  82. package/helpers/filterDatetimeHelper.d.ts +1 -1
  83. package/helpers/inertiaAddHelper.d.ts +6 -5
  84. package/helpers/inertiaAddHelper.js +45 -37
  85. package/helpers/inertiaAutHelper.js +5 -5
  86. package/helpers/inertiaGroupHelper.d.ts +4 -4
  87. package/helpers/inertiaMenuHelper.js +1 -1
  88. package/helpers/inertiaUserHelper.d.ts +3 -3
  89. package/helpers/inertiaUserHelper.js +1 -1
  90. package/helpers/menuHelper.d.ts +2 -2
  91. package/index.d.ts +18 -6
  92. package/index.js +18 -6
  93. package/interfaces/adminpanelConfig.d.ts +10 -33
  94. package/interfaces/global.d.ts +10 -15
  95. package/interfaces/listQueryBuilder.d.ts +1 -1
  96. package/lib/Adminizer.d.ts +25 -2
  97. package/lib/Adminizer.js +124 -50
  98. package/lib/DataAccessor.d.ts +9 -5
  99. package/lib/DataAccessor.js +89 -42
  100. package/lib/access-rights/AccessRightsHandler.d.ts +17 -0
  101. package/lib/access-rights/AccessRightsHandler.js +63 -0
  102. package/lib/ai-assistant/AbstractAiModelService.d.ts +5 -8
  103. package/lib/ai-assistant/AbstractAiModelService.js +3 -14
  104. package/lib/ai-assistant/AiAssistantHandler.d.ts +2 -2
  105. package/lib/app-manager/AdminizerApp.d.ts +228 -0
  106. package/lib/app-manager/AdminizerApp.js +17 -0
  107. package/lib/app-manager/AppManager.d.ts +18 -0
  108. package/lib/app-manager/AppManager.js +537 -0
  109. package/lib/app-manager/AssetHandler.d.ts +17 -0
  110. package/lib/app-manager/AssetHandler.js +67 -0
  111. package/lib/app-manager/ConfigLayerHandler.d.ts +18 -0
  112. package/lib/app-manager/ConfigLayerHandler.js +119 -0
  113. package/lib/app-manager/ControllerHandler.d.ts +25 -0
  114. package/lib/app-manager/ControllerHandler.js +140 -0
  115. package/lib/catalog/AbstractCatalog.d.ts +28 -19
  116. package/lib/catalog/AbstractCatalog.js +41 -10
  117. package/lib/catalog/CatalogHandler.d.ts +13 -0
  118. package/lib/catalog/CatalogHandler.js +48 -2
  119. package/lib/catalog/CatalogTemplateComponentHandler.d.ts +23 -0
  120. package/lib/catalog/CatalogTemplateComponentHandler.js +59 -0
  121. package/lib/controls/Control.d.ts +17 -0
  122. package/lib/controls/Control.js +1 -0
  123. package/lib/controls/ControlsHandler.d.ts +5 -6
  124. package/lib/controls/ControlsHandler.js +0 -13
  125. package/lib/controls/codeEditor/MonacoEditor.d.ts +3 -4
  126. package/lib/controls/codeEditor/MonacoEditor.js +13 -8
  127. package/lib/controls/geojsoneditor/GeoEditor.d.ts +3 -4
  128. package/lib/controls/geojsoneditor/GeoEditor.js +14 -9
  129. package/lib/controls/jsoneditor/JsonEditor.d.ts +5 -6
  130. package/lib/controls/jsoneditor/JsonEditor.js +14 -13
  131. package/lib/controls/markdown/ToastUiEditor.d.ts +5 -6
  132. package/lib/controls/markdown/ToastUiEditor.js +14 -13
  133. package/lib/controls/table/Handsontable.d.ts +5 -6
  134. package/lib/controls/table/Handsontable.js +14 -13
  135. package/lib/controls/wysiwyg/CKeditor.d.ts +5 -6
  136. package/lib/controls/wysiwyg/CKeditor.js +14 -13
  137. package/lib/filters/ConditionValidator.d.ts +1 -1
  138. package/lib/filters/FilterService.d.ts +18 -18
  139. package/lib/filters/FilterService.js +11 -11
  140. package/lib/history-actions/AbstractHistoryAdapter.d.ts +14 -14
  141. package/lib/history-actions/AbstractHistoryAdapter.js +5 -6
  142. package/lib/history-actions/DefaultHistoryAdapter.d.ts +7 -7
  143. package/lib/history-actions/DefaultHistoryAdapter.js +2 -2
  144. package/lib/list-query-builder/ListQueryBuilder.d.ts +1 -1
  145. package/lib/media-manager/AbstractMediaManager.d.ts +14 -3
  146. package/lib/media-manager/AbstractMediaManager.js +16 -5
  147. package/lib/media-manager/MediaManagerHandler.d.ts +3 -0
  148. package/lib/media-manager/MediaManagerHandler.js +30 -5
  149. package/lib/media-manager/Thumb.js +7 -13
  150. package/lib/media-manager/helpers/MediaManagerHelper.d.ts +6 -4
  151. package/lib/media-manager/helpers/MediaManagerHelper.js +18 -18
  152. package/lib/model/AbstractModel.d.ts +9 -5
  153. package/lib/model/AbstractModel.js +9 -13
  154. package/lib/model/InternalModelAccessFactory.js +9 -10
  155. package/lib/model/ModelHandler.d.ts +45 -7
  156. package/lib/model/ModelHandler.js +168 -11
  157. package/lib/model/adapter/sequelize.d.ts +2 -4
  158. package/lib/model/adapter/sequelize.js +16 -193
  159. package/lib/model/adapter/typeorm.d.ts +2 -4
  160. package/lib/model/adapter/typeorm.js +2 -35
  161. package/lib/notifications/AbstractNotificationService.d.ts +9 -9
  162. package/lib/notifications/AbstractNotificationService.js +8 -8
  163. package/lib/notifications/GeneralNotificationService.js +1 -1
  164. package/lib/notifications/SystemNotificationService.js +1 -1
  165. package/lib/ui-i18n/uiTranslationKeys.d.ts +1 -1
  166. package/lib/ui-i18n/uiTranslationKeys.js +1 -0
  167. package/lib/widgets/abstractCustom.d.ts +7 -2
  168. package/lib/widgets/abstractCustom.js +6 -0
  169. package/lib/widgets/abstractInfo.d.ts +4 -1
  170. package/lib/widgets/abstractWidgetBase.d.ts +2 -0
  171. package/lib/widgets/abstractWidgetBase.js +2 -0
  172. package/lib/widgets/widgetHandler.d.ts +6 -2
  173. package/lib/widgets/widgetHandler.js +70 -19
  174. package/models/{FilterAP.d.ts → Filter.d.ts} +4 -70
  175. package/models/Filter.js +1 -0
  176. package/models/FilterColumn.d.ts +10 -0
  177. package/models/FilterColumn.js +1 -0
  178. package/models/Group.d.ts +8 -0
  179. package/models/Group.js +1 -0
  180. package/models/HistoryActions.d.ts +14 -0
  181. package/models/HistoryActions.js +1 -0
  182. package/models/MediaManagerAP.d.ts +2 -54
  183. package/models/MediaManagerAP.js +1 -51
  184. package/models/MediaManagerAssociationsAP.d.ts +1 -35
  185. package/models/MediaManagerAssociationsAP.js +1 -33
  186. package/models/MediaManagerMetaAP.d.ts +2 -30
  187. package/models/MediaManagerMetaAP.js +1 -27
  188. package/models/Notification.d.ts +13 -0
  189. package/models/Notification.js +1 -0
  190. package/models/User.d.ts +23 -0
  191. package/models/User.js +1 -0
  192. package/models/UserNotification.d.ts +7 -0
  193. package/models/UserNotification.js +1 -0
  194. package/package.json +25 -30
  195. package/services/FeedService.d.ts +5 -5
  196. package/services/FeedService.js +1 -1
  197. package/system/Router.js +2 -10
  198. package/system/bindAccessRights.js +1 -1
  199. package/system/bindAuthorization.js +2 -2
  200. package/system/bindControls.js +7 -6
  201. package/system/bindDashboardWidgets.js +3 -2
  202. package/system/bindDev.js +1 -1
  203. package/system/bindHistory.d.ts +1 -1
  204. package/system/bindHistory.js +1 -1
  205. package/system/bindInertia.js +0 -6
  206. package/system/bindMediaManager.js +4 -17
  207. package/system/bindNotifications.d.ts +1 -1
  208. package/system/bindNotifications.js +1 -1
  209. package/system/bindReqFunctions.d.ts +1 -0
  210. package/system/bindReqFunctions.js +20 -3
  211. package/system/buildInternalModelAccess.js +2 -15
  212. package/system/defaults.js +5 -10
  213. package/system/systemModelContracts.d.ts +22 -0
  214. package/system/systemModelContracts.js +155 -0
  215. package/system/validateSystemModels.d.ts +2 -0
  216. package/system/validateSystemModels.js +101 -0
  217. package/translations/ar.json +2 -1
  218. package/translations/cn.json +2 -1
  219. package/translations/de.json +2 -1
  220. package/translations/en.json +1 -0
  221. package/translations/es.json +2 -1
  222. package/translations/fr.json +2 -1
  223. package/translations/hi.json +2 -1
  224. package/translations/jp.json +2 -1
  225. package/translations/ko.json +2 -1
  226. package/translations/pt.json +2 -1
  227. package/translations/ru.json +2 -1
  228. package/translations/ua.json +2 -1
  229. package/translations/uz.json +2 -1
  230. package/translations/vi.json +2 -1
  231. package/ui/components/VanillaJSONEditor.d.ts +1 -1
  232. package/ui/components/handsontable.d.ts +1 -1
  233. package/ui/components/ui/avatar.d.ts +3 -3
  234. package/ui/components/ui/badge.d.ts +1 -1
  235. package/ui/components/ui/breadcrumb.d.ts +7 -7
  236. package/ui/components/ui/button.d.ts +1 -1
  237. package/ui/components/ui/calendar.d.ts +1 -1
  238. package/ui/components/ui/card.d.ts +7 -7
  239. package/ui/components/ui/checkbox.d.ts +1 -1
  240. package/ui/components/ui/collapsible.d.ts +3 -3
  241. package/ui/components/ui/command.d.ts +9 -9
  242. package/ui/components/ui/context-menu.d.ts +15 -15
  243. package/ui/components/ui/dialog-stack.d.ts +10 -10
  244. package/ui/components/ui/dialog.d.ts +10 -10
  245. package/ui/components/ui/dropdown-menu.d.ts +15 -15
  246. package/ui/components/ui/input.d.ts +1 -1
  247. package/ui/components/ui/label.d.ts +1 -1
  248. package/ui/components/ui/menubar.d.ts +16 -16
  249. package/ui/components/ui/pagination.d.ts +7 -7
  250. package/ui/components/ui/popover.d.ts +4 -4
  251. package/ui/components/ui/select.d.ts +10 -10
  252. package/ui/components/ui/separator.d.ts +1 -1
  253. package/ui/components/ui/sheet.d.ts +8 -8
  254. package/ui/components/ui/sidebar.d.ts +23 -23
  255. package/ui/components/ui/skeleton.d.ts +1 -1
  256. package/ui/components/ui/slider.d.ts +1 -1
  257. package/ui/components/ui/sonner.d.ts +1 -1
  258. package/ui/components/ui/switch.d.ts +1 -1
  259. package/ui/components/ui/table.d.ts +8 -8
  260. package/ui/components/ui/tabs.d.ts +4 -4
  261. package/ui/components/ui/textarea.d.ts +1 -1
  262. package/ui/components/ui/tooltip.d.ts +4 -4
  263. package/assets/RelationDialogStack-DI2bZxQX.js +0 -20
  264. package/assets/add-DCQ7ZW4B.js +0 -1
  265. package/assets/add-group-DCVPryBo.js +0 -1
  266. package/assets/add-group-form-DKRXC2n-.js +0 -1
  267. package/assets/add-user-B7OOiYxv.js +0 -1
  268. package/assets/add-user-form-UXAToWQd.js +0 -1
  269. package/assets/app-AKbNCggP.css +0 -1
  270. package/assets/app-layout-6EwNBvnR.js +0 -1
  271. package/assets/app-shell-D8wtkECO.js +0 -1
  272. package/assets/app-sidebar-DfGjL-2K.js +0 -1
  273. package/assets/app-sidebar-header-BZbIBQjq.js +0 -1
  274. package/assets/breadcrumbs-CODaqVkB.js +0 -1
  275. package/assets/catalog-DVvFGa2X.js +0 -6
  276. package/assets/dashboard-BadoiH_a.js +0 -3
  277. package/assets/date-picker-DSOkNiNo.js +0 -1
  278. package/assets/del-modal-Cd4M7af8.js +0 -1
  279. package/assets/dynamic-controls-BsrJhPDY.js +0 -1
  280. package/assets/geo-json-CzR5JBXL.js +0 -1
  281. package/assets/handsontable-BI98OF5R.js +0 -336
  282. package/assets/history-D1iLA6rs.js +0 -1
  283. package/assets/home-DbWj-W_k.js +0 -2
  284. package/assets/icon-C2JNaLxH.js +0 -1
  285. package/assets/init-user-D2HSyXup.js +0 -1
  286. package/assets/input-error-CH2caTtO.js +0 -1
  287. package/assets/jsoneditor-DVNQmA6G.js +0 -3869
  288. package/assets/list-CVoljVUw.js +0 -4
  289. package/assets/login-DFSLEO17.js +0 -1
  290. package/assets/material-icon-Bx9pGQiQ.js +0 -1
  291. package/assets/module-DJsC37CM.js +0 -1
  292. package/assets/monaco-Bl4zdWCn.js +0 -11
  293. package/assets/nav-footer-BiSQkPt4.js +0 -1
  294. package/assets/nav-main-rTH0PfDw.js +0 -1
  295. package/assets/nav-user-Bj6cWs0a.js +0 -1
  296. package/assets/notification-DKrNfaAB.js +0 -20
  297. package/assets/pagination-render-AKJvTIRA.js +0 -1
  298. package/assets/register-BTP4uxsK.js +0 -1
  299. package/assets/theme-switcher-Dm8EOGzx.js +0 -1
  300. package/assets/toast-editor-DOg_gvSp.js +0 -668
  301. package/assets/user-filters-list-C9R9J6Om.js +0 -1
  302. package/assets/user-info-BgSbT02v.js +0 -1
  303. package/assets/user-menu-content-TQTXHIv6.js +0 -1
  304. package/assets/vanilla-picker-B3LgXoKV.js +0 -2
  305. package/assets/vendor-l0sNRNKZ.js +0 -1
  306. package/assets/welcome-BwDlAOGh.js +0 -1
  307. package/controllers/navigation/edit.d.ts +0 -1
  308. package/controllers/navigation/edit.js +0 -8
  309. package/lib/ai-assistant/DummyAiModelService.d.ts +0 -8
  310. package/lib/ai-assistant/DummyAiModelService.js +0 -14
  311. package/lib/ai-assistant/OpenAiModelService.d.ts +0 -24
  312. package/lib/ai-assistant/OpenAiModelService.js +0 -184
  313. package/lib/catalog/Navigation.d.ts +0 -49
  314. package/lib/catalog/Navigation.js +0 -492
  315. package/lib/controls/AbstractControls.d.ts +0 -30
  316. package/lib/controls/AbstractControls.js +0 -14
  317. package/lib/media-manager/DefaultMediaManager.d.ts +0 -20
  318. package/lib/media-manager/DefaultMediaManager.js +0 -127
  319. package/lib/media-manager/Items.d.ts +0 -50
  320. package/lib/media-manager/Items.js +0 -296
  321. package/models/FilterAP.js +0 -68
  322. package/models/FilterColumnAP.d.ts +0 -32
  323. package/models/FilterColumnAP.js +0 -21
  324. package/models/GroupAP.d.ts +0 -31
  325. package/models/GroupAP.js +0 -22
  326. package/models/HistoryActionsAP.d.ts +0 -56
  327. package/models/HistoryActionsAP.js +0 -42
  328. package/models/NavigationAP.d.ts +0 -22
  329. package/models/NavigationAP.js +0 -16
  330. package/models/NotificationAP.d.ts +0 -44
  331. package/models/NotificationAP.js +0 -30
  332. package/models/UserAP.d.ts +0 -81
  333. package/models/UserAP.js +0 -57
  334. package/models/UserNotificationAP.d.ts +0 -26
  335. package/models/UserNotificationAP.js +0 -18
  336. package/system/bindAiAssistant.d.ts +0 -2
  337. package/system/bindAiAssistant.js +0 -30
  338. package/system/bindModels.d.ts +0 -2
  339. package/system/bindModels.js +0 -48
  340. package/system/bindNavigation.d.ts +0 -2
  341. package/system/bindNavigation.js +0 -38
@@ -1,5 +1,5 @@
1
1
  export function redirectToLogin(req, res) {
2
- const loginUrl = `${req.adminizer.config.routePrefix}/model/userap/login`;
2
+ const loginUrl = `${req.adminizer.config.routePrefix}/model/User/login`;
3
3
  const redirectTo = encodeURIComponent(req.originalUrl);
4
4
  res.redirect(`${loginUrl}?redirectTo=${redirectTo}`);
5
5
  }
@@ -15,12 +15,12 @@ export function inertiaLoginHelper(req) {
15
15
  success: req.i18n.__("Verification complete!"),
16
16
  error: req.i18n.__("Error solving CAPTCHA. Try again."),
17
17
  };
18
- props.submitLink = `${req.adminizer.config.routePrefix}/model/userap/login`;
18
+ props.submitLink = `${req.adminizer.config.routePrefix}/model/User/login`;
19
19
  props.redirectTo = req.query?.redirectTo || '';
20
20
  if (req.adminizer.config.registration?.enable === true) {
21
21
  props.registerLink = {
22
22
  title: req.i18n.__("Register"),
23
- link: `${req.adminizer.config.routePrefix}/model/userap/register`
23
+ link: `${req.adminizer.config.routePrefix}/model/User/register`
24
24
  };
25
25
  }
26
26
  // Optional additional link at the bottom of login page
@@ -46,7 +46,7 @@ export function inertiaLoginHelper(req) {
46
46
  }
47
47
  export function inertiaRegisterHelper(req) {
48
48
  let props = {};
49
- props.submitLink = `${req.adminizer.config.routePrefix}/model/userap/register`;
49
+ props.submitLink = `${req.adminizer.config.routePrefix}/model/User/register`;
50
50
  props.header = {
51
51
  title: req.i18n.__("Create an Account"),
52
52
  desc: req.i18n.__("Please fill out the fields below")
@@ -60,7 +60,7 @@ export function inertiaRegisterHelper(req) {
60
60
  props.localeLabel = req.i18n.__("Locale");
61
61
  props.submitButton = req.i18n.__("Register");
62
62
  props.backToLogin = {
63
- link: `${req.adminizer.config.routePrefix}/model/userap/login`,
63
+ link: `${req.adminizer.config.routePrefix}/model/User/login`,
64
64
  text: req.i18n.__("Back to Login")
65
65
  };
66
66
  return props;
@@ -1,5 +1,5 @@
1
- import { GroupAP } from "../models/GroupAP";
2
- import { UserAP } from "../models/UserAP";
1
+ import { Group } from "../models/Group";
2
+ import { User } from "../models/User";
3
3
  import { AccessRightsToken, ModelResource, PropsField } from "../interfaces/types";
4
4
  interface groupedTokens {
5
5
  header: string;
@@ -22,7 +22,7 @@ interface listProps extends Record<string | number | symbol, unknown> {
22
22
  users: PropsField[];
23
23
  groupedTokens: groupedTokens[];
24
24
  }
25
- export declare function inertiaGroupHelper(modelResource: ModelResource, req: ReqType, users: UserAP[], groupedTokens: {
25
+ export declare function inertiaGroupHelper(modelResource: ModelResource, req: ReqType, users: User[], groupedTokens: {
26
26
  [key: string]: AccessRightsToken[];
27
- }, group?: GroupAP, view?: boolean): listProps;
27
+ }, group?: Group, view?: boolean): listProps;
28
28
  export {};
@@ -51,6 +51,6 @@ export class InertiaMenuHelper {
51
51
  return this.adminizer.menuHelper.getBrandTitle();
52
52
  }
53
53
  getLogoutUrl() {
54
- return `${this.adminizer.config.routePrefix}/model/userap/logout`;
54
+ return `${this.adminizer.config.routePrefix}/model/User/logout`;
55
55
  }
56
56
  }
@@ -1,5 +1,5 @@
1
- import { GroupAP } from "../models/GroupAP";
2
- import { UserAP } from "../models/UserAP";
1
+ import { Group } from "../models/Group";
2
+ import { User } from "../models/User";
3
3
  import { ModelResource, PropsField } from "../interfaces/types";
4
4
  interface listProps extends Record<string | number | symbol, unknown> {
5
5
  edit: boolean;
@@ -24,5 +24,5 @@ interface listProps extends Record<string | number | symbol, unknown> {
24
24
  };
25
25
  apiKey?: string;
26
26
  }
27
- export declare function inertiaUserHelper(modelResource: ModelResource, req: ReqType, groups: GroupAP[], user?: UserAP, view?: boolean): listProps;
27
+ export declare function inertiaUserHelper(modelResource: ModelResource, req: ReqType, groups: Group[], user?: User, view?: boolean): listProps;
28
28
  export {};
@@ -8,7 +8,7 @@ export function inertiaUserHelper(modelResource, req, groups, user, view = false
8
8
  },
9
9
  userPretend: {
10
10
  label: req.i18n.__('Pretend to be a user'),
11
- postLink: `${req.adminizer.config.routePrefix}/model/userap/login`
11
+ postLink: `${req.adminizer.config.routePrefix}/model/User/login`
12
12
  },
13
13
  passwordError: req.i18n.__('Values in "password" and "repeatPassword" fields should be the same'),
14
14
  btnSave: {
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * @constructor
5
5
  */
6
- import { UserAP } from "../models/UserAP";
6
+ import { User } from "../models/User";
7
7
  import { ActionType, AdminpanelConfig, HrefConfig, ModelConfig } from "../interfaces/adminpanelConfig";
8
8
  export type MenuItem = {
9
9
  link: string;
@@ -65,5 +65,5 @@ export declare class MenuHelper {
65
65
  *
66
66
  * @returns {Array}
67
67
  */
68
- getMenuItems(user: UserAP): MenuItem[];
68
+ getMenuItems(user: User): MenuItem[];
69
69
  }
package/index.d.ts CHANGED
@@ -8,8 +8,8 @@ export * from "./lib/widgets/abstractWidgetBase";
8
8
  export * from "./lib/widgets/abstractSwitch";
9
9
  export * from "./lib/widgets/widgetHandler";
10
10
  export * from "./lib/catalog/AbstractCatalog";
11
- export * from "./lib/catalog/Navigation";
12
11
  export * from "./lib/catalog/CatalogHandler";
12
+ export * from "./lib/catalog/CatalogTemplateComponentHandler";
13
13
  export * from "./lib/media-manager/MediaManagerHandler";
14
14
  export * from "./controllers/media-manager/mediaManagerAdapter";
15
15
  export * from "./interfaces/adminpanelConfig";
@@ -20,26 +20,38 @@ export * from "./interfaces/internalModelAccess";
20
20
  export * from "./interfaces/MaaterialIcons";
21
21
  export * from "./lib/model/AbstractModel";
22
22
  export * from "./lib/model/InternalModelAccessFactory";
23
+ export * from "./system/systemModelContracts";
23
24
  export * from "./lib/model/adapter/sequelize";
24
25
  export * from "./lib/model/adapter/typeorm";
25
26
  export * from "./lib/media-manager/AbstractMediaManager";
26
- export * from "./lib/controls/AbstractControls";
27
+ export * from "./lib/controls/Control";
27
28
  export * from "./lib/controls/ControlsHandler";
28
29
  export * from "./lib/Adminizer";
29
30
  export * from "./lib/I18n";
30
- export * from "./models/GroupAP";
31
- export * from "./models/UserAP";
31
+ export * from "./models/Group";
32
+ export * from "./models/User";
33
+ export * from "./models/Filter";
34
+ export * from "./models/FilterColumn";
35
+ export * from "./models/HistoryActions";
36
+ export * from "./models/Notification";
37
+ export * from "./models/UserNotification";
32
38
  export * from "./models/MediaManagerAP";
33
39
  export * from "./models/MediaManagerAssociationsAP";
34
40
  export * from "./models/MediaManagerMetaAP";
35
- export * from "./models/NavigationAP";
36
- export * from "./system/bindNavigation";
41
+ export * from "./policies/authPolicies";
37
42
  export * from "./lib/helper/jwt";
38
43
  export * from "./lib/notifications/AbstractNotificationService";
39
44
  export * from "./lib/POWCaptcha";
40
45
  export * from "./lib/ai-assistant/AbstractAiModelService";
46
+ export * from "./lib/ai-assistant/AiAssistantHandler";
41
47
  export * from "./lib/DataAccessor";
42
48
  export * from "./lib/history-actions/AbstractHistoryAdapter";
43
49
  export * from "./lib/filters/CustomFilterHandler";
44
50
  export * from "./lib/feedback/AbstractFeedbackHandler";
45
51
  export * from "./lib/feedback/FeedbackHandler";
52
+ export * from "./lib/app-manager/AdminizerApp";
53
+ export * from "./lib/app-manager/AppManager";
54
+ export * from "./lib/app-manager/ControllerHandler";
55
+ export * from "./lib/app-manager/AssetHandler";
56
+ export * from "./lib/app-manager/ConfigLayerHandler";
57
+ export * from "./lib/access-rights/AccessRightsHandler";
package/index.js CHANGED
@@ -8,8 +8,8 @@ export * from "./lib/widgets/abstractWidgetBase.js";
8
8
  export * from "./lib/widgets/abstractSwitch.js";
9
9
  export * from "./lib/widgets/widgetHandler.js";
10
10
  export * from "./lib/catalog/AbstractCatalog.js";
11
- export * from "./lib/catalog/Navigation.js";
12
11
  export * from "./lib/catalog/CatalogHandler.js";
12
+ export * from "./lib/catalog/CatalogTemplateComponentHandler.js";
13
13
  export * from "./lib/media-manager/MediaManagerHandler.js";
14
14
  export * from "./controllers/media-manager/mediaManagerAdapter.js";
15
15
  export * from "./interfaces/adminpanelConfig.js";
@@ -20,26 +20,38 @@ export * from "./interfaces/internalModelAccess.js";
20
20
  export * from "./interfaces/MaaterialIcons.js";
21
21
  export * from "./lib/model/AbstractModel.js";
22
22
  export * from "./lib/model/InternalModelAccessFactory.js";
23
+ export * from "./system/systemModelContracts.js";
23
24
  export * from "./lib/model/adapter/sequelize.js";
24
25
  export * from "./lib/model/adapter/typeorm.js";
25
26
  export * from "./lib/media-manager/AbstractMediaManager.js";
26
- export * from "./lib/controls/AbstractControls.js";
27
+ export * from "./lib/controls/Control.js";
27
28
  export * from "./lib/controls/ControlsHandler.js";
28
29
  export * from "./lib/Adminizer.js";
29
30
  export * from "./lib/I18n.js";
30
- export * from "./models/GroupAP.js";
31
- export * from "./models/UserAP.js";
31
+ export * from "./models/Group.js";
32
+ export * from "./models/User.js";
33
+ export * from "./models/Filter.js";
34
+ export * from "./models/FilterColumn.js";
35
+ export * from "./models/HistoryActions.js";
36
+ export * from "./models/Notification.js";
37
+ export * from "./models/UserNotification.js";
32
38
  export * from "./models/MediaManagerAP.js";
33
39
  export * from "./models/MediaManagerAssociationsAP.js";
34
40
  export * from "./models/MediaManagerMetaAP.js";
35
- export * from "./models/NavigationAP.js";
36
- export * from "./system/bindNavigation.js";
41
+ export * from "./policies/authPolicies.js";
37
42
  export * from "./lib/helper/jwt.js";
38
43
  export * from "./lib/notifications/AbstractNotificationService.js";
39
44
  export * from "./lib/POWCaptcha.js";
40
45
  export * from "./lib/ai-assistant/AbstractAiModelService.js";
46
+ export * from "./lib/ai-assistant/AiAssistantHandler.js";
41
47
  export * from "./lib/DataAccessor.js";
42
48
  export * from "./lib/history-actions/AbstractHistoryAdapter.js";
43
49
  export * from "./lib/filters/CustomFilterHandler.js";
44
50
  export * from "./lib/feedback/AbstractFeedbackHandler.js";
45
51
  export * from "./lib/feedback/FeedbackHandler.js";
52
+ export * from "./lib/app-manager/AdminizerApp.js";
53
+ export * from "./lib/app-manager/AppManager.js";
54
+ export * from "./lib/app-manager/ControllerHandler.js";
55
+ export * from "./lib/app-manager/AssetHandler.js";
56
+ export * from "./lib/app-manager/ConfigLayerHandler.js";
57
+ export * from "./lib/access-rights/AccessRightsHandler.js";
@@ -1,14 +1,15 @@
1
1
  import { MaterialIcon } from "./MaaterialIcons";
2
2
  import { EditorOptions } from "@toast-ui/editor/types/editor";
3
3
  import { GridSettings as HandsontableSettings } from "handsontable/settings";
4
- import { GroupAP } from "../models/GroupAP";
5
- import { UserAP } from "../models/UserAP";
4
+ import { Group } from "../models/Group";
5
+ import { User } from "../models/User";
6
6
  import { InternalModelAccessMap } from "./internalModelAccess";
7
7
  /**
8
8
  * Controller function type - async function that handles requests and returns a response
9
9
  */
10
10
  export type ControllerFunction = (req: ReqType, res: ResType) => Promise<any>;
11
11
  export type AdminpanelIcon = MaterialIcon;
12
+ export type NonEmptyArray<T> = [T, ...T[]];
12
13
  export type FieldsTypes = "string" | "password" | "date" | "datetime" | "time" | "integer" | "number" | "float" | "color" | "email" | "month" | "week" | "range" | "boolean" | "binary" | "text" | "longtext" | "mediumtext" | "ckeditor" | "wysiwyg" | "texteditor" | "word" | 'tui' | 'tuieditor' | 'toast-ui' | "jsoneditor" | "json" | "array" | "object" | "ace" | "code" | "html" | "xml" | "aceeditor" | "menu" | "schedule" | "worktime" | "association" | "association-many" | "select" | "select-many" | "table" | "geojson" | "mediamanager" | "single-file" |
13
14
  /**
14
15
  * it will be needed only for polygon data
@@ -58,7 +59,7 @@ export interface AdminpanelConfig {
58
59
  /**
59
60
  * Optional additional link at the bottom of the login page
60
61
  * Example:
61
- * addishinalLoginPage: { link: '/model/userap/register', textKey: 'Additional login page' }
62
+ * addishinalLoginPage: { link: '/model/User/register', textKey: 'Additional login page' }
62
63
  * link can be relative to routePrefix (e.g. 'model/help' or '/model/help') or absolute (https://...)
63
64
  */
64
65
  addishinalLoginPage?: {
@@ -98,13 +99,13 @@ export interface AdminpanelConfig {
98
99
  * Optional callback to filter or transform all navbar links after models have been processed.
99
100
  * Receives all links (static + model-generated) and the current user; returns the final array.
100
101
  */
101
- handleAdditionalLinks?: (user: UserAP, allLinks: HrefConfig[]) => HrefConfig[];
102
+ handleAdditionalLinks?: (user: User, allLinks: HrefConfig[]) => HrefConfig[];
102
103
  /**
103
104
  * Per-section handlers, applied after all links (static + model-generated) are collected.
104
105
  * Each key is a section name; the handler receives links belonging to that section.
105
106
  */
106
107
  sectionHandlers?: {
107
- [section: string]: (user: UserAP, links: HrefConfig[]) => HrefConfig[];
108
+ [section: string]: (user: User, links: HrefConfig[]) => HrefConfig[];
108
109
  };
109
110
  };
110
111
  /**
@@ -198,10 +199,6 @@ export interface AdminpanelConfig {
198
199
  * System field for store absolute root path adminpanel hookfolder
199
200
  */
200
201
  rootPath?: string;
201
- /**
202
- * Navigation
203
- */
204
- navigation?: NavigationConfig;
205
202
  mediamanager?: MediaManagerConfig;
206
203
  /** System settings */
207
204
  system?: {
@@ -395,15 +392,15 @@ export interface ModelConfig {
395
392
  * */
396
393
  identifierField?: string;
397
394
  /** In this field we can set model field, for which we want to check user access right.
398
- * May be association or association-many to UserAP or GroupAP */
395
+ * May be association or association-many to User or Group */
399
396
  userAccessRelation?: {
400
397
  field: string;
401
398
  via?: string;
402
399
  } | string;
403
400
  userAccessRelationCallback?: (userWithGroups: UserWithGroups, record: any) => boolean;
404
401
  }
405
- type UserWithGroups = UserAP & {
406
- groups: GroupAP[];
402
+ type UserWithGroups = User & {
403
+ groups: Group[];
407
404
  };
408
405
  export type ModelFieldConfig = (BaseFieldConfig | TuiEditorFieldConfig) & {
409
406
  groupsAccessRights?: string[];
@@ -491,7 +488,7 @@ export interface TuiEditorFieldConfig extends BaseFieldConfig {
491
488
  export interface MediaManagerOptionsField {
492
489
  id: 'default' | string;
493
490
  group: string;
494
- accept: string[];
491
+ accept: NonEmptyArray<string>;
495
492
  initTab?: 'tile-image' | 'table-video' | 'table-text' | 'table-application' | 'table-all' | 'tile-all';
496
493
  config?: Record<string, any>;
497
494
  onlyView?: boolean;
@@ -586,26 +583,6 @@ export interface HrefConfig {
586
583
  */
587
584
  section?: string;
588
585
  }
589
- export interface NavigationItemTypeConfig {
590
- model: string;
591
- title: string;
592
- /**
593
- * /page/${data.record.slug}
594
- */
595
- urlPath: string | ((v: any) => string);
596
- }
597
- export interface NavigationConfig {
598
- model?: string;
599
- sections: string[];
600
- groupField: {
601
- name: string;
602
- required: boolean;
603
- label: string;
604
- }[];
605
- allowContentInGroup?: boolean;
606
- items: NavigationItemTypeConfig[];
607
- movingGroupsRootOnly?: boolean;
608
- }
609
586
  export interface MediaManagerConfig {
610
587
  fileStoragePath: string;
611
588
  allowMIME?: string[];
@@ -4,7 +4,8 @@ import multer from "multer";
4
4
  import { I18n } from "../lib/I18n";
5
5
  import { Inertia } from "../lib/inertia/inertiaAdapter";
6
6
  import { Flash } from "../lib/inertia/flash";
7
- import { UserAP } from "../models/UserAP";
7
+ import { User } from "../models/User";
8
+ import { AppRuntime } from "../lib/app-manager/AdminizerApp";
8
9
  declare global {
9
10
  /** @deprecated use import from TS model decalration */
10
11
  type ModelsAP = {
@@ -38,25 +39,20 @@ declare global {
38
39
  isPublic?: boolean;
39
40
  parent?: ModelsAP["MediaManagerAP"];
40
41
  };
41
- NavigationAP: {
42
- id?: string;
43
- label: string;
44
- tree: any;
45
- };
46
42
  };
47
43
  type reqSession = {
48
44
  flashMessages: Record<string, string[]>;
49
45
  xInertiaCurrentComponent: string | undefined;
50
- UserAP: UserAP;
46
+ User: User;
51
47
  messages: {
52
48
  adminError: string[];
53
49
  adminSuccess: string[];
54
50
  };
55
- userPretended?: UserAP;
51
+ userPretended?: User;
56
52
  };
57
53
  type FlashMessages = 'info' | 'error' | 'success' | string;
58
54
  type ReqType = Request & {
59
- user: UserAP;
55
+ user: User;
60
56
  Inertia: Inertia;
61
57
  flash: Flash<FlashMessages>;
62
58
  session: reqSession;
@@ -67,7 +63,11 @@ declare global {
67
63
  route: {
68
64
  [key: string]: string;
69
65
  };
66
+ /**
67
+ * @deprecated Will be removed in Adminizer v6. Use `runtime` in app controllers.
68
+ */
70
69
  adminizer: Adminizer;
70
+ runtime: AppRuntime;
71
71
  upload: (options?: {
72
72
  destination?: string;
73
73
  filename?: (file: Express.Multer.File) => string;
@@ -77,12 +77,7 @@ declare global {
77
77
  uploadedFileType: string;
78
78
  params: Record<string, string>;
79
79
  };
80
- type ResType = Response & {
81
- /**
82
- * @deprecated // TODO delete after finish catalog
83
- */
84
- viewAdmin(specifiedPath: string, locals?: any, cb_view?: Function): void;
85
- };
80
+ type ResType = Response;
86
81
  type MiddlewareType = (req: ReqType, res: ResType, next: NextFunction) => void;
87
82
  type PropType<TObj, TProp extends keyof TObj> = TObj[TProp];
88
83
  }
@@ -1,4 +1,4 @@
1
- import { FilterCondition } from "../models/FilterAP";
1
+ import { FilterCondition } from "../models/Filter";
2
2
  /**
3
3
  * Input format for list/feed/export query builder.
4
4
  * This is not the internal model query language.
@@ -14,15 +14,29 @@ import type { ViteDevServer } from 'vite';
14
14
  import { MenuHelper } from "../helpers/menuHelper";
15
15
  import { ControlsHandler } from "./controls/ControlsHandler";
16
16
  import { CatalogHandler } from "./catalog/CatalogHandler";
17
+ import { CatalogTemplateComponentHandler } from "./catalog/CatalogTemplateComponentHandler";
17
18
  import { AiAssistantHandler } from './ai-assistant/AiAssistantHandler';
18
19
  import { NotificationHandler } from './notifications/NotificationHandler';
19
20
  import { INotification } from "../interfaces/types";
20
21
  import { MediaManagerHandler } from "./media-manager/MediaManagerHandler";
21
- import { StorageServices } from "./catalog/Navigation";
22
22
  import { HistoryHandler } from "./history-actions/HistoryHandler";
23
23
  import { CustomFilterHandler } from "./filters/CustomFilterHandler";
24
24
  import { FeedbackHandler } from "./feedback/FeedbackHandler";
25
+ import { AppManager } from "./app-manager/AppManager";
26
+ import { ControllerHandler } from "./app-manager/ControllerHandler";
27
+ import { AssetHandler } from "./app-manager/AssetHandler";
28
+ import { ConfigLayerHandler } from "./app-manager/ConfigLayerHandler";
29
+ import { AccessRightsHandler } from "./access-rights/AccessRightsHandler";
30
+ export declare function createAdminizerLogger(): winston.Logger;
31
+ export interface EmitAsyncOptions {
32
+ /**
33
+ * Maximum time to wait for each listener. Set to 0 to disable the timeout.
34
+ * @default 10000
35
+ */
36
+ timeoutMs?: number;
37
+ }
25
38
  export declare class Adminizer {
39
+ private static readonly defaultListenerTimeoutMs;
26
40
  /**
27
41
  * If you convey this default Middleware, it will add it to the very top of the router,
28
42
  * and will contact each request
@@ -46,9 +60,14 @@ export declare class Adminizer {
46
60
  vite: ViteDevServer;
47
61
  controlsHandler: ControlsHandler;
48
62
  catalogHandler: CatalogHandler;
63
+ catalogTemplateComponentHandler: CatalogTemplateComponentHandler;
49
64
  mediaManagerHandler: MediaManagerHandler;
50
- storageServices: StorageServices;
51
65
  feedbackHandler: FeedbackHandler;
66
+ appManager: AppManager;
67
+ controllerHandler: ControllerHandler;
68
+ assetHandler: AssetHandler;
69
+ configLayerHandler: ConfigLayerHandler;
70
+ accessRightsHandler: AccessRightsHandler;
52
71
  jwtSecret: string;
53
72
  static logger: winston.Logger;
54
73
  constructor(ormAdapters: AbstractAdapter[]);
@@ -61,6 +80,10 @@ export declare class Adminizer {
61
80
  init(config: AdminpanelConfig): Promise<void>;
62
81
  sendNotification(notification: Omit<INotification, 'id' | 'createdAt' | 'icon'>): Promise<boolean>;
63
82
  get emitter(): EventEmitter;
83
+ /**
84
+ * Runs event listeners and waits for async module side effects before continuing.
85
+ */
86
+ emitAsync<TPayload = unknown>(event: string | symbol, payload: TPayload, options?: EmitAsyncOptions): Promise<void>;
64
87
  getOrmAdapter(ormType: string): AbstractAdapter;
65
88
  static get log(): {
66
89
  info: (...args: any[]) => winston.Logger;