adminizer 4.7.0-build.224 → 5.0.0-build.1
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-De0wyF0A.js +1 -0
- package/assets/add-group-CMWybgIR.js +1 -0
- package/assets/add-user-BxP23daH.js +1 -0
- package/assets/app-CtWuWD5N.css +1 -0
- package/assets/app-layout-GYMU2HO1.js +1 -0
- package/assets/app.js +45 -50
- package/assets/catalog-tImW1BnS.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/controls/ckeditor.es.js +83683 -0
- package/assets/controls/handsontable.css +1 -0
- package/assets/controls/handsontable.es.js +70585 -0
- package/assets/controls/jsoneditor.css +1 -0
- package/assets/controls/jsoneditor.es.js +42082 -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 +41797 -0
- package/assets/dashboard-CQ4atH3N.js +3 -0
- package/assets/debounce-BMmXVQ06.js +1 -0
- package/assets/history-BileQPEi.js +1 -0
- package/assets/init-user-8aUohVDq.js +1 -0
- package/assets/list-Pz_5mfSq.js +4 -0
- package/assets/login-CO4laf6m.js +1 -0
- package/assets/manifest.json +66 -602
- package/assets/media-manager-BDbpSSjH.js +6 -0
- package/assets/media-manager-BZPjl98I.css +1 -0
- package/assets/module-CQiOdgZN.js +1 -0
- package/assets/notification-BIyv1smE.js +20 -0
- package/assets/register-DBYIMXGQ.js +1 -0
- package/assets/ru-rYKdQbWF.js +1 -0
- package/assets/use-appearance-_EbbjHTh.js +1 -0
- package/assets/user-filters-list-Aq8CvCeh.js +1 -0
- package/assets/welcome-DxhWYzUL.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/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 +19 -6
- package/index.js +19 -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 +5 -2
- package/lib/widgets/abstractCustom.js +4 -0
- package/lib/widgets/widgetHandler.d.ts +5 -2
- package/lib/widgets/widgetHandler.js +60 -14
- 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/assets/RelationDialogStack-DhThUMep.js +0 -20
- package/assets/add-group-L8lMigab.js +0 -1
- package/assets/add-group-form-o7F6t6qW.js +0 -1
- package/assets/add-user-BE4-TNJw.js +0 -1
- package/assets/add-user-form-BP_8TjxN.js +0 -1
- package/assets/add-w398ZkhF.js +0 -1
- package/assets/app-C7J5ccrI.css +0 -1
- package/assets/app-layout-Bg455MIY.js +0 -1
- package/assets/app-shell-BT2kF0We.js +0 -1
- package/assets/app-sidebar-CZfPUXck.js +0 -1
- package/assets/app-sidebar-header-UVcKhNm6.js +0 -1
- package/assets/breadcrumbs-CrqIBT84.js +0 -1
- package/assets/catalog-btkCCwiv.js +0 -6
- package/assets/dashboard-Bvasc1cr.js +0 -3
- package/assets/date-picker-kxQWOxHk.js +0 -1
- package/assets/del-modal-C39LR5aQ.js +0 -1
- package/assets/dynamic-controls-DyPP5sTC.js +0 -1
- package/assets/geo-json-CGNQFl6J.js +0 -1
- package/assets/handsontable-Dv59QFH5.js +0 -336
- package/assets/history-DwKR8MPu.js +0 -1
- package/assets/home-BrtAkCRj.js +0 -2
- package/assets/icon-DpUVVHmK.js +0 -1
- package/assets/init-user-8PiKR1zX.js +0 -1
- package/assets/input-error-Cbt-Y3Fj.js +0 -1
- package/assets/jsoneditor-CiPXPMho.js +0 -3869
- package/assets/list-DGsL_qii.js +0 -4
- package/assets/login-Br_FcBU_.js +0 -1
- package/assets/material-icon-DOkM71fv.js +0 -1
- package/assets/module-EgfgIEhF.js +0 -1
- package/assets/monaco-ompgKQ3_.js +0 -11
- package/assets/nav-footer-DzLwfBAE.js +0 -1
- package/assets/nav-main-CSEbjYgs.js +0 -1
- package/assets/nav-user-DJ0hfhfH.js +0 -1
- package/assets/notification-B19ZLro7.js +0 -20
- package/assets/pagination-render-8GvJxq55.js +0 -1
- package/assets/register-CZzIeT2G.js +0 -1
- package/assets/ru-1NdRIQNV.js +0 -1
- package/assets/theme-switcher-CBbEj1u-.js +0 -1
- package/assets/toast-editor-DwVqd1rz.js +0 -668
- package/assets/user-filters-list-7Im79QyS.js +0 -1
- package/assets/user-info-YiU17Mmy.js +0 -1
- package/assets/user-menu-content-gdpNF5-8.js +0 -1
- package/assets/vanilla-picker-B3LgXoKV.js +0 -2
- package/assets/vendor-l0sNRNKZ.js +0 -1
- package/assets/welcome-nT0eFWHb.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
- /package/assets/{RelationDialogStack-B00Ot5qS.css → controls/ckeditor.css} +0 -0
|
@@ -9,8 +9,11 @@ export async function widgetActionController(req, res) {
|
|
|
9
9
|
}
|
|
10
10
|
else if (req.method.toUpperCase() === 'POST') {
|
|
11
11
|
try {
|
|
12
|
-
await widget.action();
|
|
13
|
-
|
|
12
|
+
const data = await widget.action();
|
|
13
|
+
if (data && typeof data === "object" && !Array.isArray(data)) {
|
|
14
|
+
return res.json({ ok: true, ...data });
|
|
15
|
+
}
|
|
16
|
+
return res.json({ ok: true, data });
|
|
14
17
|
}
|
|
15
18
|
catch (error) {
|
|
16
19
|
return res.json(error);
|
|
@@ -4,7 +4,7 @@ async function resolveDashboardUser(req) {
|
|
|
4
4
|
return req.user;
|
|
5
5
|
}
|
|
6
6
|
const adminLogin = req.adminizer.config.administrator?.login ?? "admin";
|
|
7
|
-
const userModel = req.adminizer.modelHandler.internal("widgets").get("
|
|
7
|
+
const userModel = req.adminizer.modelHandler.internal("widgets").get("User");
|
|
8
8
|
const user = await userModel.findOne({ where: { login: adminLogin } });
|
|
9
9
|
return user ?? null;
|
|
10
10
|
}
|
package/files/favicon.png
CHANGED
|
Binary file
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { User } from "../models/User";
|
|
2
2
|
import { AccessRightsToken } from "../interfaces/types";
|
|
3
3
|
import { Adminizer } from "../lib/Adminizer";
|
|
4
4
|
export declare class AccessRightsHelper {
|
|
@@ -6,14 +6,16 @@ export declare class AccessRightsHelper {
|
|
|
6
6
|
adminizer: Adminizer;
|
|
7
7
|
constructor(adminizer: Adminizer);
|
|
8
8
|
registerToken(accessRightsToken: AccessRightsToken): void;
|
|
9
|
+
unregisterToken(tokenId: string): boolean;
|
|
10
|
+
hasToken(tokenId: string): boolean;
|
|
9
11
|
registerTokens(accessRightsTokens: AccessRightsToken[]): void;
|
|
10
12
|
registerModelTokens(modelName: string, department?: string): void;
|
|
11
13
|
getTokens(): AccessRightsToken[];
|
|
12
14
|
getTokensByDepartment(department: string): AccessRightsToken[];
|
|
13
15
|
getAllDepartments(): string[];
|
|
14
|
-
enoughPermissions(tokens: string[], user:
|
|
15
|
-
hasPermission(tokenId: string | undefined, user:
|
|
16
|
+
enoughPermissions(tokens: string[], user: User): boolean;
|
|
17
|
+
hasPermission(tokenId: string | undefined, user: User, context?: string): boolean;
|
|
16
18
|
}
|
|
17
19
|
export declare class GroupsAccessRightsHelper {
|
|
18
|
-
static hasAccess(user:
|
|
20
|
+
static hasAccess(user: User, groupsAccessRights?: string[]): boolean;
|
|
19
21
|
}
|
|
@@ -18,6 +18,19 @@ export class AccessRightsHelper {
|
|
|
18
18
|
}
|
|
19
19
|
this._tokens.push(accessRightsToken);
|
|
20
20
|
}
|
|
21
|
+
unregisterToken(tokenId) {
|
|
22
|
+
const normalizedTokenId = tokenId.toLowerCase();
|
|
23
|
+
const index = this._tokens.findIndex((token) => token.id === normalizedTokenId);
|
|
24
|
+
if (index === -1) {
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
27
|
+
this._tokens.splice(index, 1);
|
|
28
|
+
return true;
|
|
29
|
+
}
|
|
30
|
+
hasToken(tokenId) {
|
|
31
|
+
const normalizedTokenId = tokenId.toLowerCase();
|
|
32
|
+
return this._tokens.some((token) => token.id === normalizedTokenId);
|
|
33
|
+
}
|
|
21
34
|
registerTokens(accessRightsTokens) {
|
|
22
35
|
for (let token of accessRightsTokens) {
|
|
23
36
|
this.registerToken(token);
|
package/helpers/diffHelpers.js
CHANGED
|
@@ -6,7 +6,7 @@ export function sanitizeForDiff(data) {
|
|
|
6
6
|
const systemFields = ['id', 'createdAt', 'updatedAt', 'deletedAt', '__v', '_id'];
|
|
7
7
|
systemFields.forEach(field => delete result[field]);
|
|
8
8
|
// Cleaning sensitive data
|
|
9
|
-
// TODO: Place in environment variables or config
|
|
9
|
+
// TODO: Place in environment variables or config & put in docs
|
|
10
10
|
const sensitiveFields = ['password', 'token', 'secret', 'apiKey', 'creditCard'];
|
|
11
11
|
sensitiveFields.forEach(field => {
|
|
12
12
|
if (result[field] !== undefined) {
|
|
@@ -28,7 +28,7 @@ export declare class FieldsHelper {
|
|
|
28
28
|
* @param {Object} fields
|
|
29
29
|
* @param user
|
|
30
30
|
* @param action
|
|
31
|
-
* @deprecated
|
|
31
|
+
* @deprecated this method has overload association tree on each request that is not optimize
|
|
32
32
|
*/
|
|
33
33
|
static loadAssociations(req: ReqType, fields: Fields, action?: ActionType): Promise<Fields>;
|
|
34
34
|
}
|
package/helpers/fieldsHelper.js
CHANGED
|
@@ -8,8 +8,9 @@ export class FieldsHelper {
|
|
|
8
8
|
* @param {Object} fields
|
|
9
9
|
* @param user
|
|
10
10
|
* @param action
|
|
11
|
-
* @deprecated
|
|
11
|
+
* @deprecated this method has overload association tree on each request that is not optimize
|
|
12
12
|
*/
|
|
13
|
+
// TODO: make separate request for all dropdown relations by api call
|
|
13
14
|
static async loadAssociations(req, fields, action) {
|
|
14
15
|
/**
|
|
15
16
|
* Load all associated records for given field key
|
|
@@ -29,7 +30,8 @@ export class FieldsHelper {
|
|
|
29
30
|
Adminizer.log.error('No model found for field: ', fields[key]);
|
|
30
31
|
return;
|
|
31
32
|
}
|
|
32
|
-
|
|
33
|
+
const resolvedModelName = req.adminizer.modelHandler.resolveModelName(modelName);
|
|
34
|
+
let Model = req.adminizer.modelHandler.model.get(resolvedModelName);
|
|
33
35
|
if (!Model) {
|
|
34
36
|
return;
|
|
35
37
|
}
|
|
@@ -39,8 +41,10 @@ export class FieldsHelper {
|
|
|
39
41
|
Adminizer.log.warn("Warning: executing malicious job trying to add a huge amount of records in field config," +
|
|
40
42
|
" please rewrite this part of code in the nearest future");
|
|
41
43
|
let modelResource = {
|
|
42
|
-
name:
|
|
43
|
-
|
|
44
|
+
name: resolvedModelName,
|
|
45
|
+
config: req.adminizer.config.models[resolvedModelName],
|
|
46
|
+
model: Model,
|
|
47
|
+
uri: `${req.adminizer.config.routePrefix}/model/${resolvedModelName}`
|
|
44
48
|
};
|
|
45
49
|
let dataAccessor = new DataAccessor(req.adminizer, req.user, modelResource, "view");
|
|
46
50
|
list = await Model.find({}, dataAccessor);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ModelResource, PropsField } from "../interfaces/types";
|
|
2
2
|
import { Actions } from "./inertiaActionsHelper";
|
|
3
3
|
import { Fields, Field } from "./fieldsHelper";
|
|
4
|
-
import {
|
|
4
|
+
import { Control, ControlType } from "../lib/controls/Control";
|
|
5
5
|
export type PropsFieldType = 'text' | 'number' | 'range' | 'week' | 'month' | 'email' | 'color' | 'time' | 'date' | 'datetime-local' | 'password' | 'select' | 'select-many' | 'association-many' | 'association' | 'textarea' | 'mediamanager' | 'single-file' | 'checkbox' | ControlType;
|
|
6
6
|
interface FieldProps extends Record<string | number | symbol, unknown> {
|
|
7
7
|
edit: boolean;
|
|
@@ -24,13 +24,14 @@ interface FieldProps extends Record<string | number | symbol, unknown> {
|
|
|
24
24
|
model: string;
|
|
25
25
|
}
|
|
26
26
|
export default function inertiaAddHelper(req: ReqType, modelResource: ModelResource, fields: Fields, record?: Record<string, string | boolean | number | string[]>, view?: boolean): FieldProps;
|
|
27
|
-
export declare function getControlsOptions(fieldConfig: Field["config"], req: ReqType, type: ControlType, defaultControlName: string): {
|
|
27
|
+
export declare function getControlsOptions(fieldConfig: Field["config"], req: ReqType, type: ControlType, defaultControlName: string, context?: string): {
|
|
28
28
|
name: string;
|
|
29
29
|
config: any;
|
|
30
|
-
path:
|
|
30
|
+
path: string;
|
|
31
|
+
cssPath: string;
|
|
31
32
|
};
|
|
32
|
-
export declare function inputText(type: string, isIn: string[]): "email" | "password" | "
|
|
33
|
-
export declare function getControl(req: ReqType, type: ControlType, name: string | undefined, defaultControlName: string):
|
|
33
|
+
export declare function inputText(type: string, isIn: string[]): "email" | "password" | "month" | "text" | "number" | "date" | "time" | "color" | "week" | "range" | "select" | "datetime-local";
|
|
34
|
+
export declare function getControl(req: ReqType, type: ControlType, name: string | undefined, defaultControlName: string, context?: string): Control;
|
|
34
35
|
export declare function setAssociationValues(field: Field, value: string[]): {
|
|
35
36
|
initOptions: {
|
|
36
37
|
label: any;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import inertiaActionsHelper from "./inertiaActionsHelper.js";
|
|
2
|
-
import chalk from "chalk";
|
|
3
2
|
import { isObject } from "./JsUtils.js";
|
|
3
|
+
import { Adminizer } from "../lib/Adminizer.js";
|
|
4
|
+
const missingControlWarnings = new Set();
|
|
4
5
|
/**
|
|
5
6
|
* Get ISO week number from date
|
|
6
7
|
* @param date - Date object
|
|
@@ -59,6 +60,7 @@ export default function inertiaAddHelper(req, modelResource, fields, record, vie
|
|
|
59
60
|
let value = record ? record[key] : undefined;
|
|
60
61
|
let relatedModel = undefined;
|
|
61
62
|
let canCreateRelated = false;
|
|
63
|
+
const controlContext = `${modelResource.name}.${key}`;
|
|
62
64
|
//@ts-ignore TODO: fix field type
|
|
63
65
|
if (modelResource.config.model && req.adminizer.configHelper.isId(field, modelResource.config.model)) {
|
|
64
66
|
disabled = true;
|
|
@@ -111,7 +113,10 @@ export default function inertiaAddHelper(req, modelResource, fields, record, vie
|
|
|
111
113
|
const { initValue, initOptions } = setAssociationValues(field, value);
|
|
112
114
|
options = initOptions;
|
|
113
115
|
value = initValue;
|
|
114
|
-
|
|
116
|
+
const rawRelatedModel = (field.model?.model || field.model?.collection);
|
|
117
|
+
relatedModel = rawRelatedModel
|
|
118
|
+
? req.adminizer.modelHandler.resolveModelName(rawRelatedModel)
|
|
119
|
+
: undefined;
|
|
115
120
|
if (relatedModel && req.user) {
|
|
116
121
|
canCreateRelated = req.adminizer.accessRightsHelper.hasPermission(`create-${relatedModel}-model`, req.user);
|
|
117
122
|
}
|
|
@@ -127,27 +132,27 @@ export default function inertiaAddHelper(req, modelResource, fields, record, vie
|
|
|
127
132
|
}
|
|
128
133
|
if (['ckeditor', 'wysiwyg', 'texteditor', 'word'].includes(type)) {
|
|
129
134
|
fieldType = 'wysiwyg';
|
|
130
|
-
options = getControlsOptions(fieldConfig, req, fieldType, 'ckeditor');
|
|
135
|
+
options = getControlsOptions(fieldConfig, req, fieldType, 'ckeditor', controlContext);
|
|
131
136
|
}
|
|
132
137
|
if (['tui', 'tuieditor', 'toast-ui'].includes(type)) {
|
|
133
138
|
fieldType = 'markdown';
|
|
134
|
-
options = getControlsOptions(fieldConfig, req, fieldType, 'toast-ui');
|
|
139
|
+
options = getControlsOptions(fieldConfig, req, fieldType, 'toast-ui', controlContext);
|
|
135
140
|
}
|
|
136
141
|
if (type === 'table') {
|
|
137
142
|
fieldType = 'table';
|
|
138
|
-
options = getControlsOptions(fieldConfig, req, fieldType, 'handsontable');
|
|
143
|
+
options = getControlsOptions(fieldConfig, req, fieldType, 'handsontable', controlContext);
|
|
139
144
|
}
|
|
140
145
|
if (['jsoneditor', 'json', 'array', 'object'].includes(type)) {
|
|
141
146
|
fieldType = 'jsonEditor';
|
|
142
|
-
options = getControlsOptions(fieldConfig, req, fieldType, 'jsoneditor');
|
|
147
|
+
options = getControlsOptions(fieldConfig, req, fieldType, 'jsoneditor', controlContext);
|
|
143
148
|
}
|
|
144
149
|
if (['ace', 'html', 'xml', 'aceeditor', 'code'].includes(type)) {
|
|
145
150
|
fieldType = 'codeEditor';
|
|
146
|
-
options = getControlsOptions(fieldConfig, req, fieldType, 'monaco');
|
|
151
|
+
options = getControlsOptions(fieldConfig, req, fieldType, 'monaco', controlContext);
|
|
147
152
|
}
|
|
148
153
|
if (['geojson', 'geo-polygon', 'geo-marker'].includes(type)) {
|
|
149
154
|
fieldType = 'geoJson';
|
|
150
|
-
options = getControlsOptions(fieldConfig, req, fieldType, 'leaflet');
|
|
155
|
+
options = getControlsOptions(fieldConfig, req, fieldType, 'leaflet', controlContext);
|
|
151
156
|
}
|
|
152
157
|
if (type === 'mediamanager' || type === 'single-file') {
|
|
153
158
|
const mConfig = field.config;
|
|
@@ -177,30 +182,28 @@ export default function inertiaAddHelper(req, modelResource, fields, record, vie
|
|
|
177
182
|
}
|
|
178
183
|
return props;
|
|
179
184
|
}
|
|
180
|
-
export function getControlsOptions(fieldConfig, req, type, defaultControlName) {
|
|
185
|
+
export function getControlsOptions(fieldConfig, req, type, defaultControlName, context) {
|
|
181
186
|
if (!isObject(fieldConfig))
|
|
182
187
|
throw `Type error: fieldConfig is object`;
|
|
183
188
|
const fieldOptions = fieldConfig?.options;
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
189
|
+
const control = getControl(req, type, fieldOptions?.name, defaultControlName, context);
|
|
190
|
+
const editorName = control.getName();
|
|
191
|
+
const shouldUseFieldConfig = !fieldOptions?.name || fieldOptions.name === editorName;
|
|
192
|
+
const options = {
|
|
187
193
|
name: editorName,
|
|
188
194
|
config: {
|
|
189
195
|
...(control?.getConfig() || {}), // Base config of the editor
|
|
190
|
-
...(fieldOptions?.config || {}),
|
|
196
|
+
...(shouldUseFieldConfig ? fieldOptions?.config || {} : {}),
|
|
191
197
|
},
|
|
192
|
-
path: control
|
|
198
|
+
path: control.getJsPath(),
|
|
199
|
+
cssPath: control.getCssPath(),
|
|
193
200
|
};
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
};
|
|
200
|
-
// If items are provided, use them instead of the editor's config
|
|
201
|
-
if (fieldOptions?.config?.items && editorName === 'ckeditor') {
|
|
202
|
-
options.config = { items: fieldOptions.config.items };
|
|
203
|
-
}
|
|
201
|
+
// If items are provided, use them instead of the CKEditor defaults.
|
|
202
|
+
if (type === 'wysiwyg'
|
|
203
|
+
&& editorName === 'ckeditor'
|
|
204
|
+
&& shouldUseFieldConfig
|
|
205
|
+
&& fieldOptions?.config?.items) {
|
|
206
|
+
options.config = { items: fieldOptions.config.items };
|
|
204
207
|
}
|
|
205
208
|
return options;
|
|
206
209
|
}
|
|
@@ -237,21 +240,26 @@ export function inputText(type, isIn) {
|
|
|
237
240
|
}
|
|
238
241
|
}
|
|
239
242
|
}
|
|
240
|
-
export function getControl(req, type, name, defaultControlName) {
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
243
|
+
export function getControl(req, type, name, defaultControlName, context) {
|
|
244
|
+
const requestedControlName = name ?? defaultControlName;
|
|
245
|
+
const requestedControl = req.adminizer.controlsHandler.get(type, requestedControlName);
|
|
246
|
+
if (requestedControl) {
|
|
247
|
+
return requestedControl;
|
|
248
|
+
}
|
|
244
249
|
if (name) {
|
|
245
|
-
|
|
250
|
+
const warningKey = `${context ?? "unknown"}:${type}:${name}:${defaultControlName}`;
|
|
251
|
+
if (!missingControlWarnings.has(warningKey)) {
|
|
252
|
+
missingControlWarnings.add(warningKey);
|
|
253
|
+
Adminizer.log.warn(`Control "${name}" for ${context ?? `type "${type}"`} is unavailable; ` +
|
|
254
|
+
`falling back to "${defaultControlName}".`);
|
|
255
|
+
}
|
|
246
256
|
}
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
console.log(chalk.yellow(`Control ${type} - ${name} not found, falling back to default`));
|
|
252
|
-
control = req.adminizer.controlsHandler.get(type, defaultControlName);
|
|
257
|
+
const defaultControl = req.adminizer.controlsHandler.get(type, defaultControlName);
|
|
258
|
+
if (!defaultControl) {
|
|
259
|
+
throw new Error(`Default control "${defaultControlName}" for type "${type}" is not registered` +
|
|
260
|
+
(context ? ` (${context})` : ""));
|
|
253
261
|
}
|
|
254
|
-
return
|
|
262
|
+
return defaultControl;
|
|
255
263
|
}
|
|
256
264
|
export function setAssociationValues(field, value) {
|
|
257
265
|
let options = [];
|
|
@@ -282,7 +290,7 @@ export function setAssociationValues(field, value) {
|
|
|
282
290
|
};
|
|
283
291
|
for (let opt of config.records) {
|
|
284
292
|
const optAny = opt;
|
|
285
|
-
const displayField = typeof field.modelConfig
|
|
293
|
+
const displayField = typeof field.modelConfig?.titleField !== 'undefined'
|
|
286
294
|
? field.modelConfig.titleField
|
|
287
295
|
: typeof optAny.title !== 'undefined'
|
|
288
296
|
? 'title'
|
|
@@ -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,39 @@ 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";
|
|
58
|
+
export * from "./lib/media-manager/helpers/MediaManagerHelper";
|
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,39 @@ 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";
|
|
58
|
+
export * from "./lib/media-manager/helpers/MediaManagerHelper.js";
|