Files
ayristech-youtube/lib/actions/userActions.ts
T
2026-07-23 16:55:44 +03:00

57 lines
1.3 KiB
TypeScript

'use server';
import { db } from '@/lib/db';
import { revalidatePath } from 'next/cache';
export async function getUsers() {
try {
const users = await db.user.findMany({
orderBy: { createdAt: 'desc' },
select: {
id: true,
name: true,
email: true,
role: true,
createdAt: true,
},
});
// If database has no users yet, return default admin
if (users.length === 0) {
return [
{
id: '1',
name: 'Admin User',
email: 'admin@ayris.tech',
role: 'ADMIN',
createdAt: new Date(),
},
];
}
return users;
} catch (error) {
console.error('Error fetching users:', error);
return [];
}
}
export async function createAdminUser(data: { name: string; email: string; password?: string }) {
try {
const newUser = await db.user.create({
data: {
name: data.name,
email: data.email,
password: data.password || 'admin123',
role: 'ADMIN',
},
});
revalidatePath('/[locale]/admin');
return { success: true, user: newUser };
} catch (error: any) {
console.error('Error creating admin user:', error);
return { success: false, error: error.message || 'Failed to create admin user' };
}
}