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.
- package/Readme.md +2 -1
- package/assets/add-a4odXvQk.js +1 -0
- package/assets/add-group-D-NleXth.js +1 -0
- package/assets/add-user-B4SVJT5P.js +1 -0
- package/assets/app-CtWuWD5N.css +1 -0
- package/assets/app-layout-eaSzcROf.js +1 -0
- package/assets/app.js +35 -39
- package/assets/catalog-ByUICd5z.js +6 -0
- package/assets/controls/chunks/_commonjsHelpers-C6fGbg64.js +6 -0
- package/assets/controls/chunks/index-CjiZ2FIa.js +93 -0
- package/assets/controls/chunks/jsx-runtime-jIxVPx5o.js +31 -0
- package/assets/controls/chunks/use-appearance-CFLOwiSX.js +38 -0
- package/assets/controls/chunks/use-window-size-BXgBKW65.js +19 -0
- package/assets/controls/chunks/vanilla-picker-Dg97NL4h.js +529 -0
- package/assets/{RelationDialogStack-CnHFOYyR.css → controls/ckeditor.css} +1 -1
- package/assets/controls/ckeditor.es.js +83663 -0
- package/assets/controls/handsontable.css +1 -0
- package/assets/controls/handsontable.es.js +70550 -0
- package/assets/controls/jsoneditor.css +1 -0
- package/assets/controls/jsoneditor.es.js +42009 -0
- package/assets/controls/leaflet.css +1 -0
- package/assets/controls/leaflet.es.js +10299 -0
- package/assets/controls/monaco.es.js +618 -0
- package/assets/controls/toast-ui.css +1 -0
- package/assets/controls/toast-ui.es.js +41768 -0
- package/assets/dashboard-BYd8G2cW.js +3 -0
- package/assets/debounce-BMmXVQ06.js +1 -0
- package/assets/history-B8KIDy44.js +1 -0
- package/assets/init-user-8aUohVDq.js +1 -0
- package/assets/list-ChmtBGjG.js +4 -0
- package/assets/login-CO4laf6m.js +1 -0
- package/assets/manifest.json +60 -615
- package/assets/{media-manager-WcKe1EvD.js → media-manager-BDbpSSjH.js} +3 -3
- package/assets/module-D59aE9uv.js +1 -0
- package/assets/notification-DNoyfNmT.js +20 -0
- package/assets/register-DBYIMXGQ.js +1 -0
- package/assets/{ru-eW0WKkga.js → ru-rYKdQbWF.js} +1 -1
- package/assets/use-appearance-_EbbjHTh.js +1 -0
- package/assets/user-filters-list-BMFRwkYF.js +1 -0
- package/assets/welcome-37rNVUHt.js +1 -0
- package/controllers/add.d.ts +1 -1
- package/controllers/addGroup.js +3 -3
- package/controllers/addUser.js +3 -3
- package/controllers/catalog/Catalog.d.ts +1 -1
- package/controllers/catalog/Catalog.js +2 -1
- package/controllers/catalog/FrontendCatalogAdapter.d.ts +2 -12
- package/controllers/catalog/FrontendCatalogAdapter.js +3 -16
- package/controllers/catalog/FrontentCatalogAdapter.d.ts +2 -12
- package/controllers/catalog/FrontentCatalogAdapter.js +0 -16
- package/controllers/edit.js +6 -11
- package/controllers/editGroup.d.ts +1 -1
- package/controllers/editGroup.js +3 -3
- package/controllers/editUser.d.ts +1 -1
- package/controllers/editUser.js +3 -3
- package/controllers/feed.js +1 -1
- package/controllers/filter-fields/columns.js +1 -1
- package/controllers/filter-fields/getAllUserFilters.js +2 -2
- package/controllers/filter-fields/groups.js +2 -2
- package/controllers/filter-fields/savedFilters.js +1 -1
- package/controllers/history-actions/HistoryController.js +1 -1
- package/controllers/initUser.js +2 -2
- package/controllers/list.d.ts +1 -1
- package/controllers/login.d.ts +1 -1
- package/controllers/login.js +3 -3
- package/controllers/media-manager/ThumbController.js +2 -2
- package/controllers/media-manager/mediaManagerApi.js +13 -15
- package/controllers/register.d.ts +1 -1
- package/controllers/register.js +5 -5
- package/controllers/remove.d.ts +1 -1
- package/controllers/userApiKey.js +2 -2
- package/controllers/view.d.ts +1 -1
- package/controllers/view.js +5 -5
- package/controllers/widgets/Action.js +5 -2
- package/controllers/widgets/Info.js +1 -1
- package/controllers/widgets/filterInfo.js +1 -1
- package/files/favicon.png +0 -0
- package/helpers/accessRightsHelper.d.ts +6 -4
- package/helpers/accessRightsHelper.js +13 -0
- package/helpers/diffHelpers.js +1 -1
- package/helpers/fieldsHelper.d.ts +1 -1
- package/helpers/fieldsHelper.js +8 -4
- package/helpers/filterDatetimeHelper.d.ts +1 -1
- package/helpers/inertiaAddHelper.d.ts +6 -5
- package/helpers/inertiaAddHelper.js +45 -37
- package/helpers/inertiaAutHelper.js +5 -5
- package/helpers/inertiaGroupHelper.d.ts +4 -4
- package/helpers/inertiaMenuHelper.js +1 -1
- package/helpers/inertiaUserHelper.d.ts +3 -3
- package/helpers/inertiaUserHelper.js +1 -1
- package/helpers/menuHelper.d.ts +2 -2
- package/index.d.ts +18 -6
- package/index.js +18 -6
- package/interfaces/adminpanelConfig.d.ts +10 -33
- package/interfaces/global.d.ts +10 -15
- package/interfaces/listQueryBuilder.d.ts +1 -1
- package/lib/Adminizer.d.ts +25 -2
- package/lib/Adminizer.js +124 -50
- package/lib/DataAccessor.d.ts +9 -5
- package/lib/DataAccessor.js +89 -42
- package/lib/access-rights/AccessRightsHandler.d.ts +17 -0
- package/lib/access-rights/AccessRightsHandler.js +63 -0
- package/lib/ai-assistant/AbstractAiModelService.d.ts +5 -8
- package/lib/ai-assistant/AbstractAiModelService.js +3 -14
- package/lib/ai-assistant/AiAssistantHandler.d.ts +2 -2
- package/lib/app-manager/AdminizerApp.d.ts +228 -0
- package/lib/app-manager/AdminizerApp.js +17 -0
- package/lib/app-manager/AppManager.d.ts +18 -0
- package/lib/app-manager/AppManager.js +537 -0
- package/lib/app-manager/AssetHandler.d.ts +17 -0
- package/lib/app-manager/AssetHandler.js +67 -0
- package/lib/app-manager/ConfigLayerHandler.d.ts +18 -0
- package/lib/app-manager/ConfigLayerHandler.js +119 -0
- package/lib/app-manager/ControllerHandler.d.ts +25 -0
- package/lib/app-manager/ControllerHandler.js +140 -0
- package/lib/catalog/AbstractCatalog.d.ts +28 -19
- package/lib/catalog/AbstractCatalog.js +41 -10
- package/lib/catalog/CatalogHandler.d.ts +13 -0
- package/lib/catalog/CatalogHandler.js +48 -2
- package/lib/catalog/CatalogTemplateComponentHandler.d.ts +23 -0
- package/lib/catalog/CatalogTemplateComponentHandler.js +59 -0
- package/lib/controls/Control.d.ts +17 -0
- package/lib/controls/Control.js +1 -0
- package/lib/controls/ControlsHandler.d.ts +5 -6
- package/lib/controls/ControlsHandler.js +0 -13
- package/lib/controls/codeEditor/MonacoEditor.d.ts +3 -4
- package/lib/controls/codeEditor/MonacoEditor.js +13 -8
- package/lib/controls/geojsoneditor/GeoEditor.d.ts +3 -4
- package/lib/controls/geojsoneditor/GeoEditor.js +14 -9
- package/lib/controls/jsoneditor/JsonEditor.d.ts +5 -6
- package/lib/controls/jsoneditor/JsonEditor.js +14 -13
- package/lib/controls/markdown/ToastUiEditor.d.ts +5 -6
- package/lib/controls/markdown/ToastUiEditor.js +14 -13
- package/lib/controls/table/Handsontable.d.ts +5 -6
- package/lib/controls/table/Handsontable.js +14 -13
- package/lib/controls/wysiwyg/CKeditor.d.ts +5 -6
- package/lib/controls/wysiwyg/CKeditor.js +14 -13
- package/lib/filters/ConditionValidator.d.ts +1 -1
- package/lib/filters/FilterService.d.ts +18 -18
- package/lib/filters/FilterService.js +11 -11
- package/lib/history-actions/AbstractHistoryAdapter.d.ts +14 -14
- package/lib/history-actions/AbstractHistoryAdapter.js +5 -6
- package/lib/history-actions/DefaultHistoryAdapter.d.ts +7 -7
- package/lib/history-actions/DefaultHistoryAdapter.js +2 -2
- package/lib/list-query-builder/ListQueryBuilder.d.ts +1 -1
- package/lib/media-manager/AbstractMediaManager.d.ts +14 -3
- package/lib/media-manager/AbstractMediaManager.js +16 -5
- package/lib/media-manager/MediaManagerHandler.d.ts +3 -0
- package/lib/media-manager/MediaManagerHandler.js +30 -5
- package/lib/media-manager/Thumb.js +7 -13
- package/lib/media-manager/helpers/MediaManagerHelper.d.ts +6 -4
- package/lib/media-manager/helpers/MediaManagerHelper.js +18 -18
- package/lib/model/AbstractModel.d.ts +9 -5
- package/lib/model/AbstractModel.js +9 -13
- package/lib/model/InternalModelAccessFactory.js +9 -10
- package/lib/model/ModelHandler.d.ts +45 -7
- package/lib/model/ModelHandler.js +168 -11
- package/lib/model/adapter/sequelize.d.ts +2 -4
- package/lib/model/adapter/sequelize.js +16 -193
- package/lib/model/adapter/typeorm.d.ts +2 -4
- package/lib/model/adapter/typeorm.js +2 -35
- package/lib/notifications/AbstractNotificationService.d.ts +9 -9
- package/lib/notifications/AbstractNotificationService.js +8 -8
- package/lib/notifications/GeneralNotificationService.js +1 -1
- package/lib/notifications/SystemNotificationService.js +1 -1
- package/lib/ui-i18n/uiTranslationKeys.d.ts +1 -1
- package/lib/ui-i18n/uiTranslationKeys.js +1 -0
- package/lib/widgets/abstractCustom.d.ts +7 -2
- package/lib/widgets/abstractCustom.js +6 -0
- package/lib/widgets/abstractInfo.d.ts +4 -1
- package/lib/widgets/abstractWidgetBase.d.ts +2 -0
- package/lib/widgets/abstractWidgetBase.js +2 -0
- package/lib/widgets/widgetHandler.d.ts +6 -2
- package/lib/widgets/widgetHandler.js +70 -19
- package/models/{FilterAP.d.ts → Filter.d.ts} +4 -70
- package/models/Filter.js +1 -0
- package/models/FilterColumn.d.ts +10 -0
- package/models/FilterColumn.js +1 -0
- package/models/Group.d.ts +8 -0
- package/models/Group.js +1 -0
- package/models/HistoryActions.d.ts +14 -0
- package/models/HistoryActions.js +1 -0
- package/models/MediaManagerAP.d.ts +2 -54
- package/models/MediaManagerAP.js +1 -51
- package/models/MediaManagerAssociationsAP.d.ts +1 -35
- package/models/MediaManagerAssociationsAP.js +1 -33
- package/models/MediaManagerMetaAP.d.ts +2 -30
- package/models/MediaManagerMetaAP.js +1 -27
- package/models/Notification.d.ts +13 -0
- package/models/Notification.js +1 -0
- package/models/User.d.ts +23 -0
- package/models/User.js +1 -0
- package/models/UserNotification.d.ts +7 -0
- package/models/UserNotification.js +1 -0
- package/package.json +25 -30
- package/services/FeedService.d.ts +5 -5
- package/services/FeedService.js +1 -1
- package/system/Router.js +2 -10
- package/system/bindAccessRights.js +1 -1
- package/system/bindAuthorization.js +2 -2
- package/system/bindControls.js +7 -6
- package/system/bindDashboardWidgets.js +3 -2
- package/system/bindDev.js +1 -1
- package/system/bindHistory.d.ts +1 -1
- package/system/bindHistory.js +1 -1
- package/system/bindInertia.js +0 -6
- package/system/bindMediaManager.js +4 -17
- package/system/bindNotifications.d.ts +1 -1
- package/system/bindNotifications.js +1 -1
- package/system/bindReqFunctions.d.ts +1 -0
- package/system/bindReqFunctions.js +20 -3
- package/system/buildInternalModelAccess.js +2 -15
- package/system/defaults.js +5 -10
- package/system/systemModelContracts.d.ts +22 -0
- package/system/systemModelContracts.js +155 -0
- package/system/validateSystemModels.d.ts +2 -0
- package/system/validateSystemModels.js +101 -0
- package/translations/ar.json +2 -1
- package/translations/cn.json +2 -1
- package/translations/de.json +2 -1
- package/translations/en.json +1 -0
- package/translations/es.json +2 -1
- package/translations/fr.json +2 -1
- package/translations/hi.json +2 -1
- package/translations/jp.json +2 -1
- package/translations/ko.json +2 -1
- package/translations/pt.json +2 -1
- package/translations/ru.json +2 -1
- package/translations/ua.json +2 -1
- package/translations/uz.json +2 -1
- package/translations/vi.json +2 -1
- package/ui/components/VanillaJSONEditor.d.ts +1 -1
- package/ui/components/handsontable.d.ts +1 -1
- package/ui/components/ui/avatar.d.ts +3 -3
- package/ui/components/ui/badge.d.ts +1 -1
- package/ui/components/ui/breadcrumb.d.ts +7 -7
- package/ui/components/ui/button.d.ts +1 -1
- package/ui/components/ui/calendar.d.ts +1 -1
- package/ui/components/ui/card.d.ts +7 -7
- package/ui/components/ui/checkbox.d.ts +1 -1
- package/ui/components/ui/collapsible.d.ts +3 -3
- package/ui/components/ui/command.d.ts +9 -9
- package/ui/components/ui/context-menu.d.ts +15 -15
- package/ui/components/ui/dialog-stack.d.ts +10 -10
- package/ui/components/ui/dialog.d.ts +10 -10
- package/ui/components/ui/dropdown-menu.d.ts +15 -15
- package/ui/components/ui/input.d.ts +1 -1
- package/ui/components/ui/label.d.ts +1 -1
- package/ui/components/ui/menubar.d.ts +16 -16
- package/ui/components/ui/pagination.d.ts +7 -7
- package/ui/components/ui/popover.d.ts +4 -4
- package/ui/components/ui/select.d.ts +10 -10
- package/ui/components/ui/separator.d.ts +1 -1
- package/ui/components/ui/sheet.d.ts +8 -8
- package/ui/components/ui/sidebar.d.ts +23 -23
- package/ui/components/ui/skeleton.d.ts +1 -1
- package/ui/components/ui/slider.d.ts +1 -1
- package/ui/components/ui/sonner.d.ts +1 -1
- package/ui/components/ui/switch.d.ts +1 -1
- package/ui/components/ui/table.d.ts +8 -8
- package/ui/components/ui/tabs.d.ts +4 -4
- package/ui/components/ui/textarea.d.ts +1 -1
- package/ui/components/ui/tooltip.d.ts +4 -4
- package/assets/RelationDialogStack-DI2bZxQX.js +0 -20
- package/assets/add-DCQ7ZW4B.js +0 -1
- package/assets/add-group-DCVPryBo.js +0 -1
- package/assets/add-group-form-DKRXC2n-.js +0 -1
- package/assets/add-user-B7OOiYxv.js +0 -1
- package/assets/add-user-form-UXAToWQd.js +0 -1
- package/assets/app-AKbNCggP.css +0 -1
- package/assets/app-layout-6EwNBvnR.js +0 -1
- package/assets/app-shell-D8wtkECO.js +0 -1
- package/assets/app-sidebar-DfGjL-2K.js +0 -1
- package/assets/app-sidebar-header-BZbIBQjq.js +0 -1
- package/assets/breadcrumbs-CODaqVkB.js +0 -1
- package/assets/catalog-DVvFGa2X.js +0 -6
- package/assets/dashboard-BadoiH_a.js +0 -3
- package/assets/date-picker-DSOkNiNo.js +0 -1
- package/assets/del-modal-Cd4M7af8.js +0 -1
- package/assets/dynamic-controls-BsrJhPDY.js +0 -1
- package/assets/geo-json-CzR5JBXL.js +0 -1
- package/assets/handsontable-BI98OF5R.js +0 -336
- package/assets/history-D1iLA6rs.js +0 -1
- package/assets/home-DbWj-W_k.js +0 -2
- package/assets/icon-C2JNaLxH.js +0 -1
- package/assets/init-user-D2HSyXup.js +0 -1
- package/assets/input-error-CH2caTtO.js +0 -1
- package/assets/jsoneditor-DVNQmA6G.js +0 -3869
- package/assets/list-CVoljVUw.js +0 -4
- package/assets/login-DFSLEO17.js +0 -1
- package/assets/material-icon-Bx9pGQiQ.js +0 -1
- package/assets/module-DJsC37CM.js +0 -1
- package/assets/monaco-Bl4zdWCn.js +0 -11
- package/assets/nav-footer-BiSQkPt4.js +0 -1
- package/assets/nav-main-rTH0PfDw.js +0 -1
- package/assets/nav-user-Bj6cWs0a.js +0 -1
- package/assets/notification-DKrNfaAB.js +0 -20
- package/assets/pagination-render-AKJvTIRA.js +0 -1
- package/assets/register-BTP4uxsK.js +0 -1
- package/assets/theme-switcher-Dm8EOGzx.js +0 -1
- package/assets/toast-editor-DOg_gvSp.js +0 -668
- package/assets/user-filters-list-C9R9J6Om.js +0 -1
- package/assets/user-info-BgSbT02v.js +0 -1
- package/assets/user-menu-content-TQTXHIv6.js +0 -1
- package/assets/vanilla-picker-B3LgXoKV.js +0 -2
- package/assets/vendor-l0sNRNKZ.js +0 -1
- package/assets/welcome-BwDlAOGh.js +0 -1
- package/controllers/navigation/edit.d.ts +0 -1
- package/controllers/navigation/edit.js +0 -8
- package/lib/ai-assistant/DummyAiModelService.d.ts +0 -8
- package/lib/ai-assistant/DummyAiModelService.js +0 -14
- package/lib/ai-assistant/OpenAiModelService.d.ts +0 -24
- package/lib/ai-assistant/OpenAiModelService.js +0 -184
- package/lib/catalog/Navigation.d.ts +0 -49
- package/lib/catalog/Navigation.js +0 -492
- package/lib/controls/AbstractControls.d.ts +0 -30
- package/lib/controls/AbstractControls.js +0 -14
- package/lib/media-manager/DefaultMediaManager.d.ts +0 -20
- package/lib/media-manager/DefaultMediaManager.js +0 -127
- package/lib/media-manager/Items.d.ts +0 -50
- package/lib/media-manager/Items.js +0 -296
- package/models/FilterAP.js +0 -68
- package/models/FilterColumnAP.d.ts +0 -32
- package/models/FilterColumnAP.js +0 -21
- package/models/GroupAP.d.ts +0 -31
- package/models/GroupAP.js +0 -22
- package/models/HistoryActionsAP.d.ts +0 -56
- package/models/HistoryActionsAP.js +0 -42
- package/models/NavigationAP.d.ts +0 -22
- package/models/NavigationAP.js +0 -16
- package/models/NotificationAP.d.ts +0 -44
- package/models/NotificationAP.js +0 -30
- package/models/UserAP.d.ts +0 -81
- package/models/UserAP.js +0 -57
- package/models/UserNotificationAP.d.ts +0 -26
- package/models/UserNotificationAP.js +0 -18
- package/system/bindAiAssistant.d.ts +0 -2
- package/system/bindAiAssistant.js +0 -30
- package/system/bindModels.d.ts +0 -2
- package/system/bindModels.js +0 -48
- package/system/bindNavigation.d.ts +0 -2
- 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/
|
|
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/
|
|
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/
|
|
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/
|
|
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/
|
|
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 {
|
|
2
|
-
import {
|
|
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:
|
|
25
|
+
export declare function inertiaGroupHelper(modelResource: ModelResource, req: ReqType, users: User[], groupedTokens: {
|
|
26
26
|
[key: string]: AccessRightsToken[];
|
|
27
|
-
}, group?:
|
|
27
|
+
}, group?: Group, view?: boolean): listProps;
|
|
28
28
|
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
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:
|
|
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/
|
|
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: {
|
package/helpers/menuHelper.d.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @constructor
|
|
5
5
|
*/
|
|
6
|
-
import {
|
|
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:
|
|
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/
|
|
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/
|
|
31
|
-
export * from "./models/
|
|
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 "./
|
|
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/
|
|
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/
|
|
31
|
-
export * from "./models/
|
|
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 "./
|
|
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 {
|
|
5
|
-
import {
|
|
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/
|
|
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:
|
|
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:
|
|
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
|
|
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 =
|
|
406
|
-
groups:
|
|
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[];
|
package/interfaces/global.d.ts
CHANGED
|
@@ -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 {
|
|
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
|
-
|
|
46
|
+
User: User;
|
|
51
47
|
messages: {
|
|
52
48
|
adminError: string[];
|
|
53
49
|
adminSuccess: string[];
|
|
54
50
|
};
|
|
55
|
-
userPretended?:
|
|
51
|
+
userPretended?: User;
|
|
56
52
|
};
|
|
57
53
|
type FlashMessages = 'info' | 'error' | 'success' | string;
|
|
58
54
|
type ReqType = Request & {
|
|
59
|
-
user:
|
|
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
|
}
|
package/lib/Adminizer.d.ts
CHANGED
|
@@ -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;
|