refactor: userpreferences are now in the DB
This commit is contained in:
28
src/app/api/user-preferences/column-visibility/route.ts
Normal file
28
src/app/api/user-preferences/column-visibility/route.ts
Normal file
@@ -0,0 +1,28 @@
|
||||
import { NextRequest, NextResponse } from 'next/server';
|
||||
import { userPreferencesService } from '@/services/user-preferences';
|
||||
|
||||
/**
|
||||
* PATCH /api/user-preferences/column-visibility - Met à jour partiellement la visibilité des colonnes
|
||||
*/
|
||||
export async function PATCH(request: NextRequest) {
|
||||
try {
|
||||
const updates = await request.json();
|
||||
|
||||
const current = await userPreferencesService.getColumnVisibility();
|
||||
await userPreferencesService.saveColumnVisibility({ ...current, ...updates });
|
||||
|
||||
return NextResponse.json({
|
||||
success: true,
|
||||
message: 'Visibilité des colonnes mise à jour avec succès'
|
||||
});
|
||||
} catch (error) {
|
||||
console.error('Erreur lors de la mise à jour de la visibilité des colonnes:', error);
|
||||
return NextResponse.json(
|
||||
{
|
||||
success: false,
|
||||
error: 'Erreur lors de la mise à jour de la visibilité des colonnes'
|
||||
},
|
||||
{ status: 500 }
|
||||
);
|
||||
}
|
||||
}
|
||||
76
src/app/api/user-preferences/kanban-filters/route.ts
Normal file
76
src/app/api/user-preferences/kanban-filters/route.ts
Normal file
@@ -0,0 +1,76 @@
|
||||
import { NextRequest, NextResponse } from 'next/server';
|
||||
import { userPreferencesService } from '@/services/user-preferences';
|
||||
|
||||
/**
|
||||
* GET /api/user-preferences/kanban-filters - Récupère les filtres Kanban
|
||||
*/
|
||||
export async function GET() {
|
||||
try {
|
||||
const filters = await userPreferencesService.getKanbanFilters();
|
||||
|
||||
return NextResponse.json({
|
||||
success: true,
|
||||
data: filters
|
||||
});
|
||||
} catch (error) {
|
||||
console.error('Erreur lors de la récupération des filtres Kanban:', error);
|
||||
return NextResponse.json(
|
||||
{
|
||||
success: false,
|
||||
error: 'Erreur lors de la récupération des filtres Kanban'
|
||||
},
|
||||
{ status: 500 }
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* PUT /api/user-preferences/kanban-filters - Met à jour les filtres Kanban
|
||||
*/
|
||||
export async function PUT(request: NextRequest) {
|
||||
try {
|
||||
const filters = await request.json();
|
||||
|
||||
await userPreferencesService.saveKanbanFilters(filters);
|
||||
|
||||
return NextResponse.json({
|
||||
success: true,
|
||||
message: 'Filtres Kanban sauvegardés avec succès'
|
||||
});
|
||||
} catch (error) {
|
||||
console.error('Erreur lors de la sauvegarde des filtres Kanban:', error);
|
||||
return NextResponse.json(
|
||||
{
|
||||
success: false,
|
||||
error: 'Erreur lors de la sauvegarde des filtres Kanban'
|
||||
},
|
||||
{ status: 500 }
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* PATCH /api/user-preferences/kanban-filters - Met à jour partiellement les filtres Kanban
|
||||
*/
|
||||
export async function PATCH(request: NextRequest) {
|
||||
try {
|
||||
const updates = await request.json();
|
||||
|
||||
const current = await userPreferencesService.getKanbanFilters();
|
||||
await userPreferencesService.saveKanbanFilters({ ...current, ...updates });
|
||||
|
||||
return NextResponse.json({
|
||||
success: true,
|
||||
message: 'Filtres Kanban mis à jour avec succès'
|
||||
});
|
||||
} catch (error) {
|
||||
console.error('Erreur lors de la mise à jour des filtres Kanban:', error);
|
||||
return NextResponse.json(
|
||||
{
|
||||
success: false,
|
||||
error: 'Erreur lors de la mise à jour des filtres Kanban'
|
||||
},
|
||||
{ status: 500 }
|
||||
);
|
||||
}
|
||||
}
|
||||
50
src/app/api/user-preferences/route.ts
Normal file
50
src/app/api/user-preferences/route.ts
Normal file
@@ -0,0 +1,50 @@
|
||||
import { NextRequest, NextResponse } from 'next/server';
|
||||
import { userPreferencesService } from '@/services/user-preferences';
|
||||
|
||||
/**
|
||||
* GET /api/user-preferences - Récupère toutes les préférences utilisateur
|
||||
*/
|
||||
export async function GET() {
|
||||
try {
|
||||
const preferences = await userPreferencesService.getAllPreferences();
|
||||
|
||||
return NextResponse.json({
|
||||
success: true,
|
||||
data: preferences
|
||||
});
|
||||
} catch (error) {
|
||||
console.error('Erreur lors de la récupération des préférences:', error);
|
||||
return NextResponse.json(
|
||||
{
|
||||
success: false,
|
||||
error: 'Erreur lors de la récupération des préférences'
|
||||
},
|
||||
{ status: 500 }
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* PUT /api/user-preferences - Met à jour toutes les préférences utilisateur
|
||||
*/
|
||||
export async function PUT(request: NextRequest) {
|
||||
try {
|
||||
const preferences = await request.json();
|
||||
|
||||
await userPreferencesService.saveAllPreferences(preferences);
|
||||
|
||||
return NextResponse.json({
|
||||
success: true,
|
||||
message: 'Préférences sauvegardées avec succès'
|
||||
});
|
||||
} catch (error) {
|
||||
console.error('Erreur lors de la sauvegarde des préférences:', error);
|
||||
return NextResponse.json(
|
||||
{
|
||||
success: false,
|
||||
error: 'Erreur lors de la sauvegarde des préférences'
|
||||
},
|
||||
{ status: 500 }
|
||||
);
|
||||
}
|
||||
}
|
||||
28
src/app/api/user-preferences/view-preferences/route.ts
Normal file
28
src/app/api/user-preferences/view-preferences/route.ts
Normal file
@@ -0,0 +1,28 @@
|
||||
import { NextRequest, NextResponse } from 'next/server';
|
||||
import { userPreferencesService } from '@/services/user-preferences';
|
||||
|
||||
/**
|
||||
* PATCH /api/user-preferences/view-preferences - Met à jour partiellement les préférences de vue
|
||||
*/
|
||||
export async function PATCH(request: NextRequest) {
|
||||
try {
|
||||
const updates = await request.json();
|
||||
|
||||
const current = await userPreferencesService.getViewPreferences();
|
||||
await userPreferencesService.saveViewPreferences({ ...current, ...updates });
|
||||
|
||||
return NextResponse.json({
|
||||
success: true,
|
||||
message: 'Préférences de vue mises à jour avec succès'
|
||||
});
|
||||
} catch (error) {
|
||||
console.error('Erreur lors de la mise à jour des préférences de vue:', error);
|
||||
return NextResponse.json(
|
||||
{
|
||||
success: false,
|
||||
error: 'Erreur lors de la mise à jour des préférences de vue'
|
||||
},
|
||||
{ status: 500 }
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user