Migration modular monolith DDD (0.1 → 3.3) #17

Merged
matthieu merged 99 commits from integration/modular-monolith-0.1-1.3 into develop 2026-06-23 13:50:43 +00:00
3 changed files with 64 additions and 0 deletions
Showing only changes of commit 51de96c797 - Show all commits
+22
View File
@@ -0,0 +1,22 @@
const activeModuleIds = ref<string[]>([])
const loaded = ref(false)
export function useModules() {
async function loadModules(): Promise<void> {
const api = useApi()
const data = await api.get<{ modules: string[] }>('/modules', {}, { toast: false })
activeModuleIds.value = data.modules ?? []
loaded.value = true
}
function isModuleActive(id: string): boolean {
return activeModuleIds.value.includes(id)
}
function resetModules(): void {
activeModuleIds.value = []
loaded.value = false
}
return { activeModuleIds, loaded, loadModules, isModuleActive, resetModules }
}
+31
View File
@@ -0,0 +1,31 @@
import type { SidebarSection } from '~/shared/types/sidebar'
const sections = ref<SidebarSection[]>([])
const disabledRoutes = ref<string[]>([])
const loaded = ref(false)
export function useSidebar() {
async function loadSidebar(): Promise<void> {
const api = useApi()
const data = await api.get<{ sections: SidebarSection[]; disabledRoutes: string[] }>(
'/sidebar', {}, { toast: false },
)
sections.value = data.sections ?? []
disabledRoutes.value = data.disabledRoutes ?? []
loaded.value = true
}
function isRouteDisabled(path: string): boolean {
return disabledRoutes.value.some(
(disabled) => path === disabled || path.startsWith(disabled + '/'),
)
}
function resetSidebar(): void {
sections.value = []
disabledRoutes.value = []
loaded.value = false
}
return { sections, disabledRoutes, loaded, loadSidebar, isRouteDisabled, resetSidebar }
}
+11
View File
@@ -0,0 +1,11 @@
export type SidebarItem = {
label: string
to: string
icon: string
}
export type SidebarSection = {
label: string
icon: string
items: SidebarItem[]
}