- Route::get('/settings/users', [UserController::class, 'index']);
- Route::get('/settings/users/create', [UserController::class, 'create']);
- Route::get('/settings/users/{id}/delete', [UserController::class, 'delete']);
- Route::patch('/settings/users/{id}/switch-books-view', [UserController::class, 'switchBooksView']);
- Route::patch('/settings/users/{id}/switch-shelves-view', [UserController::class, 'switchShelvesView']);
- Route::patch('/settings/users/{id}/switch-shelf-view', [UserController::class, 'switchShelfView']);
- Route::patch('/settings/users/{id}/change-sort/{type}', [UserController::class, 'changeSort']);
- Route::patch('/settings/users/{id}/update-expansion-preference/{key}', [UserController::class, 'updateExpansionPreference']);
- Route::patch('/settings/users/toggle-dark-mode', [UserController::class, 'toggleDarkMode']);
- Route::patch('/settings/users/update-code-language-favourite', [UserController::class, 'updateCodeLanguageFavourite']);
- Route::post('/settings/users/create', [UserController::class, 'store']);
- Route::get('/settings/users/{id}', [UserController::class, 'edit']);
- Route::put('/settings/users/{id}', [UserController::class, 'update']);
- Route::delete('/settings/users/{id}', [UserController::class, 'destroy']);
+ Route::get('/settings/users', [UserControllers\UserController::class, 'index']);
+ Route::get('/settings/users/create', [UserControllers\UserController::class, 'create']);
+ Route::get('/settings/users/{id}/delete', [UserControllers\UserController::class, 'delete']);
+ Route::post('/settings/users/create', [UserControllers\UserController::class, 'store']);
+ Route::get('/settings/users/{id}', [UserControllers\UserController::class, 'edit']);
+ Route::put('/settings/users/{id}', [UserControllers\UserController::class, 'update']);
+ Route::delete('/settings/users/{id}', [UserControllers\UserController::class, 'destroy']);
+
+ // User Account
+ Route::get('/my-account', [UserControllers\UserAccountController::class, 'redirect']);
+ Route::get('/my-account/profile', [UserControllers\UserAccountController::class, 'showProfile']);
+ Route::put('/my-account/profile', [UserControllers\UserAccountController::class, 'updateProfile']);
+ Route::get('/my-account/shortcuts', [UserControllers\UserAccountController::class, 'showShortcuts']);
+ Route::put('/my-account/shortcuts', [UserControllers\UserAccountController::class, 'updateShortcuts']);
+ Route::get('/my-account/notifications', [UserControllers\UserAccountController::class, 'showNotifications']);
+ Route::put('/my-account/notifications', [UserControllers\UserAccountController::class, 'updateNotifications']);
+ Route::get('/my-account/auth', [UserControllers\UserAccountController::class, 'showAuth']);
+ Route::put('/my-account/auth/password', [UserControllers\UserAccountController::class, 'updatePassword']);
+ Route::get('/my-account/delete', [UserControllers\UserAccountController::class, 'delete']);
+ Route::delete('/my-account', [UserControllers\UserAccountController::class, 'destroy']);
+
+ // User Preference Endpoints
+ Route::patch('/preferences/change-view/{type}', [UserControllers\UserPreferencesController::class, 'changeView']);
+ Route::patch('/preferences/change-sort/{type}', [UserControllers\UserPreferencesController::class, 'changeSort']);
+ Route::patch('/preferences/change-expansion/{type}', [UserControllers\UserPreferencesController::class, 'changeExpansion']);
+ Route::patch('/preferences/toggle-dark-mode', [UserControllers\UserPreferencesController::class, 'toggleDarkMode']);
+ Route::patch('/preferences/update-code-language-favourite', [UserControllers\UserPreferencesController::class, 'updateCodeLanguageFavourite']);