mirror of
https://github.com/Sonny93/my-links.git
synced 2025-12-08 14:43:24 +00:00
27 lines
997 B
TypeScript
27 lines
997 B
TypeScript
import { getDisplayPreferences } from '#shared/lib/display_preferences';
|
|
import { updateDisplayPreferencesValidator } from '#user/validators/update_display_preferences';
|
|
import { HttpContext } from '@adonisjs/core/http';
|
|
|
|
export default class DisplayPreferencesController {
|
|
async update({ request, response, auth }: HttpContext) {
|
|
const { displayPreferences } = await request.validateUsing(
|
|
updateDisplayPreferencesValidator
|
|
);
|
|
const userPrefs = auth.user!.displayPreferences ?? {};
|
|
const mergedPrefs = {
|
|
linkListDisplay:
|
|
displayPreferences.linkListDisplay ??
|
|
userPrefs.linkListDisplay ??
|
|
getDisplayPreferences().linkListDisplay,
|
|
collectionListDisplay:
|
|
displayPreferences.collectionListDisplay ??
|
|
userPrefs.collectionListDisplay ??
|
|
getDisplayPreferences().collectionListDisplay,
|
|
};
|
|
auth.user!.displayPreferences = mergedPrefs;
|
|
console.log(auth.user!.displayPreferences);
|
|
await auth.user!.save();
|
|
return response.redirect().withQs().back();
|
|
}
|
|
}
|