From 817cd9d63ab7981bbbe6d63dce1d77eaaa48d1ed Mon Sep 17 00:00:00 2001 From: rijkvanzanten Date: Thu, 29 Oct 2020 17:57:29 -0400 Subject: [PATCH] Fix mounting path of custom modules Fixes #808 --- app/src/modules/register.ts | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/app/src/modules/register.ts b/app/src/modules/register.ts index 84fcb47376..413efcebba 100644 --- a/app/src/modules/register.ts +++ b/app/src/modules/register.ts @@ -3,6 +3,7 @@ import { replaceRoutes } from '@/router'; import { getModules } from './index'; import { useUserStore, usePermissionsStore } from '@/stores'; import api from '@/api'; +import { merge } from 'lodash'; const modules = getModules(); let loadedModules: any = []; @@ -19,10 +20,21 @@ export async function loadModules() { try { const customResponse = await api.get('/extensions/modules'); - if (customResponse.data.data && Array.isArray(customResponse.data.data) && customResponse.data.data.length > 0) { + if ( + customResponse.data.data && + Array.isArray(customResponse.data.data) && + customResponse.data.data.length > 0 + ) { for (const customKey of customResponse.data.data) { try { const module = await import(/* webpackIgnore: true */ `/extensions/modules/${customKey}/index.js`); + module.default.routes = module.default.routes.map((route: RouteConfig) => { + if (route.path) { + route.path = `/${module.default.id}/${route.path}`; + } + + return route; + }); loadedModules.push(module.default); } catch (err) { console.error(`Couldn't load custom module "${customKey}"`);