feat: complete Epic 0 — foundation migration & infrastructure setup
Stories 0.2-0.5: rename folders→declarations (backend+frontend), configure Redis for cache/queue/sessions, add foundation database migrations (permissions, archived_at), replace DeclarationStatus enum with architecture lifecycle values, create DeclarationObserver for status transition validation and auto-archive, fix controller status transitions to respect observer rules. 93 tests pass (240 assertions). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1,6 +1,14 @@
|
||||
<script setup lang="ts">
|
||||
import { Link, usePage } from '@inertiajs/vue3';
|
||||
import { BookOpen, Briefcase, Building2, Folder, HelpCircle, LayoutGrid, Users } from 'lucide-vue-next';
|
||||
import {
|
||||
BookOpen,
|
||||
Briefcase,
|
||||
Building2,
|
||||
FileStack,
|
||||
HelpCircle,
|
||||
LayoutGrid,
|
||||
Users,
|
||||
} from 'lucide-vue-next';
|
||||
import { computed } from 'vue';
|
||||
import NavFooter from '@/components/NavFooter.vue';
|
||||
import NavMain from '@/components/NavMain.vue';
|
||||
@@ -14,9 +22,9 @@ import {
|
||||
SidebarMenuButton,
|
||||
SidebarMenuItem,
|
||||
} from '@/components/ui/sidebar';
|
||||
import { dashboard } from '@/routes';
|
||||
import type { NavItem } from '@/types';
|
||||
import AppLogo from './AppLogo.vue';
|
||||
import { dashboard } from '@/routes';
|
||||
import WorkspaceSwitcher from './WorkspaceSwitcher.vue';
|
||||
|
||||
const page = usePage();
|
||||
@@ -36,9 +44,9 @@ const mainNavItems = computed<NavItem[]>(() => {
|
||||
icon: Briefcase,
|
||||
},
|
||||
{
|
||||
title: 'Dossiers',
|
||||
href: '/folders',
|
||||
icon: Folder,
|
||||
title: 'Déclarations',
|
||||
href: '/declarations',
|
||||
icon: FileStack,
|
||||
},
|
||||
);
|
||||
}
|
||||
@@ -90,9 +98,16 @@ const footerNavItems: NavItem[] = [
|
||||
<SidebarContent>
|
||||
<NavMain :items="mainNavItems" />
|
||||
<template
|
||||
v-if="['admin', 'superadmin'].includes(String($page.props.auth.user?.group ?? ''))"
|
||||
v-if="
|
||||
['admin', 'superadmin'].includes(
|
||||
String($page.props.auth.user?.group ?? ''),
|
||||
)
|
||||
"
|
||||
>
|
||||
<NavMain :items="administrationNavItems" label="Administration" />
|
||||
<NavMain
|
||||
:items="administrationNavItems"
|
||||
label="Administration"
|
||||
/>
|
||||
</template>
|
||||
</SidebarContent>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user