refacto: no user when interract with pref, auto get
This commit is contained in:
@@ -3,8 +3,7 @@ import { PreferencesService } from "@/lib/services/preferences.service";
|
|||||||
|
|
||||||
export async function GET() {
|
export async function GET() {
|
||||||
try {
|
try {
|
||||||
const user = await PreferencesService.getCurrentUser();
|
const preferences = await PreferencesService.getPreferences();
|
||||||
const preferences = await PreferencesService.getPreferences(user.id);
|
|
||||||
return NextResponse.json(preferences);
|
return NextResponse.json(preferences);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error("Erreur lors de la récupération des préférences:", error);
|
console.error("Erreur lors de la récupération des préférences:", error);
|
||||||
@@ -15,8 +14,7 @@ export async function GET() {
|
|||||||
export async function PUT(request: NextRequest) {
|
export async function PUT(request: NextRequest) {
|
||||||
try {
|
try {
|
||||||
const preferences = await request.json();
|
const preferences = await request.json();
|
||||||
const user = await PreferencesService.getCurrentUser();
|
const updatedPreferences = await PreferencesService.updatePreferences(preferences);
|
||||||
const updatedPreferences = await PreferencesService.updatePreferences(user.id, preferences);
|
|
||||||
return NextResponse.json(updatedPreferences);
|
return NextResponse.json(updatedPreferences);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error("Erreur lors de la mise à jour des préférences:", error);
|
console.error("Erreur lors de la mise à jour des préférences:", error);
|
||||||
|
|||||||
@@ -12,11 +12,6 @@ export interface UserPreferences {
|
|||||||
cacheMode: "memory" | "file";
|
cacheMode: "memory" | "file";
|
||||||
}
|
}
|
||||||
|
|
||||||
const defaultPreferences: UserPreferences = {
|
|
||||||
showThumbnails: true,
|
|
||||||
cacheMode: "memory",
|
|
||||||
};
|
|
||||||
|
|
||||||
export class PreferencesService {
|
export class PreferencesService {
|
||||||
static async getCurrentUser(): Promise<User> {
|
static async getCurrentUser(): Promise<User> {
|
||||||
const userCookie = cookies().get("stripUser");
|
const userCookie = cookies().get("stripUser");
|
||||||
@@ -33,9 +28,10 @@ export class PreferencesService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static async getPreferences(userId: string): Promise<UserPreferences> {
|
static async getPreferences(): Promise<UserPreferences> {
|
||||||
try {
|
try {
|
||||||
const preferences = await PreferencesModel.findOne({ userId });
|
const user = await this.getCurrentUser();
|
||||||
|
const preferences = await PreferencesModel.findOne({ userId: user.id });
|
||||||
if (!preferences) {
|
if (!preferences) {
|
||||||
return {
|
return {
|
||||||
showThumbnails: true,
|
showThumbnails: true,
|
||||||
@@ -55,13 +51,11 @@ export class PreferencesService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static async updatePreferences(
|
static async updatePreferences(preferences: Partial<UserPreferences>): Promise<UserPreferences> {
|
||||||
userId: string,
|
|
||||||
preferences: Partial<UserPreferences>
|
|
||||||
): Promise<UserPreferences> {
|
|
||||||
try {
|
try {
|
||||||
|
const user = await this.getCurrentUser();
|
||||||
const updatedPreferences = await PreferencesModel.findOneAndUpdate(
|
const updatedPreferences = await PreferencesModel.findOneAndUpdate(
|
||||||
{ userId },
|
{ userId: user.id },
|
||||||
{ $set: preferences },
|
{ $set: preferences },
|
||||||
{ new: true, upsert: true }
|
{ new: true, upsert: true }
|
||||||
);
|
);
|
||||||
|
|||||||
Reference in New Issue
Block a user