Skip to content

Commit 52fb46b

Browse files
author
VuXfi
committed
refactor: remove deprecated hooks and restructure admin panel bindings for improved organization and performance
1 parent 714373a commit 52fb46b

File tree

17 files changed

+111
-722
lines changed

17 files changed

+111
-722
lines changed

hook/afterHook.js

Lines changed: 0 additions & 62 deletions
This file was deleted.

hook/bindAdminpanel.js

Lines changed: 0 additions & 39 deletions
This file was deleted.

hook/bindAdminpanel.ts

Lines changed: 44 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,16 @@ import { ProductMediaManager } from "../libs/adminpanel/ProductMediaManager/Prod
44
import {models } from "../libs/adminpanel/models/bind"
55
export default function bindAdminpanel () {
66
processBindAdminpanel();
7-
sails.on('Adminpanel:afterHook:loaded', async ()=>{
7+
sails.on('Adminpanel:loaded', async ()=>{
88
// Catalog bind
9-
const CatalogHandler = sails.hooks.adminpanel.adminizer.getCatalogHandler()
9+
const catalogHandler = sails.hooks.adminpanel.adminizer.catalogHandler
1010
const productCatalog = new ProductCatalog()
11-
CatalogHandler.add(productCatalog);
11+
catalogHandler.add(productCatalog);
1212

1313
// Product media manager bind
14-
const MediaManagerHandler = sails.hooks.adminpanel.adminizer.getMediaManagerHandler()
14+
const mediaManagerHandler = sails.hooks.adminpanel.adminizer.mediaManagerHandler
1515
const productMediaManager = new ProductMediaManager()
16-
MediaManagerHandler.add(productMediaManager)
16+
mediaManagerHandler.add(productMediaManager)
1717
})
1818
}
1919

@@ -23,6 +23,8 @@ function addModelConfig(newModels: Record<string, any>) {
2323
Object.assign(sails.config.adminpanel.models, newModels);
2424
}
2525

26+
27+
2628
function processBindAdminpanel(){
2729
// Используем локальный addModelConfig
2830
addModelConfig(models);
@@ -36,6 +38,43 @@ function processBindAdminpanel(){
3638
icon: `barcode`
3739
});
3840
}
41+
42+
// Add navbar link for product catalog
43+
if (sails.config.adminpanel.navbar && Array.isArray(sails.config.adminpanel.navbar.additionalLinks)) {
44+
let baseRoute = sails.config.adminpanel.routePrefix;
45+
sails.config.adminpanel.navbar.additionalLinks.push({
46+
id: 'product-catalog',
47+
title: 'Catalog',
48+
link: `${baseRoute}/catalog/products`,
49+
icon: 'shopping-cart' as any,
50+
section: 'Store' as any
51+
});
52+
}
53+
54+
// Add routes for product setup
55+
if (sails.hooks.adminpanel && sails.hooks.adminpanel.adminizer) {
56+
const adminizer = sails.hooks.adminpanel.adminizer;
57+
adminizer.emitter.on('adminizer:loaded', () => {
58+
const routePrefix = adminizer.config.routePrefix;
59+
60+
// Route for product setup page
61+
adminizer.app.get(`${routePrefix}/product-setup`, (req: any, res: any) => {
62+
if (adminizer.config.auth?.enable && !req.user) {
63+
return res.redirect(`${routePrefix}/model/userap/login`);
64+
}
65+
// For now, redirect to catalog - later can render ProductSetup component
66+
return res.redirect(`${routePrefix}/catalog/products`);
67+
});
68+
69+
// API routes for concepts
70+
// @ts-ignore
71+
adminizer.app.get(`${routePrefix}/catalog/products/concepts`, sails.controllers.productsetup.concepts);
72+
// @ts-ignore
73+
adminizer.app.post(`${routePrefix}/catalog/products/concepts`, sails.controllers.productsetup.addConcept);
74+
// @ts-ignore
75+
adminizer.app.delete(`${routePrefix}/catalog/products/concepts/:concept`, sails.controllers.productsetup.deleteConcept);
76+
});
77+
}
3978
}
4079

4180

hook/bindAssets.js

Lines changed: 0 additions & 45 deletions
This file was deleted.

hook/bindDictionaries.js

Lines changed: 0 additions & 27 deletions
This file was deleted.

hook/bindLocales.js

Lines changed: 0 additions & 87 deletions
This file was deleted.

hook/defaults.js

Lines changed: 0 additions & 27 deletions
This file was deleted.

0 commit comments

Comments
 (0)