feat: Implement admin user management features
- Added adminCreateUser endpoint and corresponding DTO for creating users. - Implemented deleteUser and resetPassword functionalities for admin users. - Introduced updateEmail functionality for admin users. - Updated UsersService to handle user creation, deletion, password reset, and email updates. - Modified UsersController to include new admin routes with appropriate role checks. - Refactored frontend navigation to link to user management under profile. - Created new profile tabs for user management and database management. - Developed AnvandareClient component for user management, including user creation, deletion, role changes, and password resets. - Added DatabsTab for managing product listings and merging duplicates. - Enhanced MinProfilTab for user profile management with form handling.
This commit is contained in:
@@ -1,30 +1,6 @@
|
||||
import { auth } from '../../../auth';
|
||||
import { redirect } from 'next/navigation';
|
||||
import { fetchJson } from '../../../lib/api';
|
||||
import UserAdminClient from './UserAdminClient';
|
||||
|
||||
type User = {
|
||||
id: number;
|
||||
username: string;
|
||||
email: string;
|
||||
firstName: string | null;
|
||||
lastName: string | null;
|
||||
role: string;
|
||||
createdAt: string;
|
||||
};
|
||||
|
||||
export default async function AdminUsersPage() {
|
||||
const session = await auth();
|
||||
if (!session || (session.user as any)?.role !== 'admin') {
|
||||
redirect('/');
|
||||
}
|
||||
|
||||
const users = await fetchJson<User[]>('/api/users');
|
||||
|
||||
return (
|
||||
<main className="p-6 max-w-4xl mx-auto">
|
||||
<h1 className="text-2xl font-bold mb-6">Användarhantering</h1>
|
||||
<UserAdminClient users={users} currentUserId={session.user.id} />
|
||||
</main>
|
||||
);
|
||||
export default function AdminUsersPage() {
|
||||
redirect('/profil?tab=anvandare');
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user