refactor: update data fetching in management pages and improve type imports

- Simplified data extraction from AdminService in SkillsPage, TeamsPage, and UsersPage.
- Updated import paths for Team type in user-related components for consistency.
- Added id and name properties to SkillCategory interface for better data structure.
- Enhanced logging in useSkillsManagement for debugging skill creation process.
This commit is contained in:
Julien Froidefond
2025-08-24 22:25:12 +02:00
parent 6fba622003
commit 1a0877f51d
10 changed files with 18 additions and 19 deletions

View File

@@ -4,13 +4,10 @@ import { SkillsManagementPage } from "@/components/admin/skills";
export default async function SkillsPage() {
// Charger les données côté serveur
try {
const adminData = await AdminService.getAdminData();
const { skillCategories, teams } = await AdminService.getAdminData();
return (
<SkillsManagementPage
skillCategories={adminData.skillCategories}
teams={adminData.teams}
/>
<SkillsManagementPage skillCategories={skillCategories} teams={teams} />
);
} catch (error) {
console.error("Failed to load admin data:", error);

View File

@@ -4,13 +4,14 @@ import { TeamsManagementPage } from "@/components/admin/teams";
export default async function TeamsPage() {
// Charger les données côté serveur
try {
const adminData = await AdminService.getAdminData();
const { teams, teamStats, skillCategories } =
await AdminService.getAdminData();
return (
<TeamsManagementPage
teams={adminData.teams}
teamStats={adminData.teamStats}
skillCategories={adminData.skillCategories}
teams={teams}
teamStats={teamStats}
skillCategories={skillCategories}
/>
);
} catch (error) {

View File

@@ -4,9 +4,9 @@ import { UsersManagementPage } from "@/components/admin/users";
export default async function UsersPage() {
// Charger les données côté serveur
try {
const adminData = await AdminService.getAdminData();
const { teams } = await AdminService.getAdminData();
return <UsersManagementPage teams={adminData.teams} />;
return <UsersManagementPage teams={teams} />;
} catch (error) {
console.error("Failed to load admin data:", error);
return (

View File

@@ -75,8 +75,8 @@ export async function POST(request: NextRequest) {
// Créer la nouvelle skill
const result = await pool.query(
`INSERT INTO skills (name, category_id, description, icon)
VALUES ($1, $2, $3, $4)
`INSERT INTO skills (id, name, category_id, description, icon)
VALUES (gen_random_uuid(), $1, $2, $3, $4)
RETURNING id, name, description, icon, category_id`,
[name, categoryId, description || "", icon || ""]
);