Untitled
unknown
plain_text
2 years ago
3.4 kB
3
Indexable
import prisma from '../../prisma/index.js'; // Helper function exclude(user, keys) { for (let key of keys) { delete user[key]; } return user; } // Helper function excludeMany(users, keys) { let allUsers = []; users?.map(user => { for (let key of keys) { delete user[key]; } allUsers.push(user); }); return allUsers; } // Find all users export const findAllUser = async (req, res) => { console.log('Inside find all user'); try { const users = await prisma.User.findMany(); const usersWithoutPassword = excludeMany(users, ['password']); res.json(usersWithoutPassword); } catch (error) { console.error(error); res.status(500).json({ error: 'Something went wrong' }); } }; // Find user by ID export const findUser = async (req, res) => { console.log('Inside find one user'); const id = req.params.id; try { const user = await prisma.User.findUnique({ where: { id: id } }); const userWithoutPassword = exclude(user, ['password']); if (!user) { res.status(404).send("User doesn't exists"); } else { // const { password, hashedPassword, ...userInfo } = user; res.json(userWithoutPassword); } } catch (error) { console.error(error); res.status(500).json({ error: 'Something went wrong' }); } }; // Update a user export const updateUser = async (req, res) => { console.log('Inside update user'); const id = req.params.id; const updatedUser = req.body; console.log('Updated User', updateUser); try { const user = await prisma.User.update({ where: { id: id }, data: { email: updatedUser.email, image: updatedUser.image } }); const { password, hashedPassword, ...userInfo } = user; res.json(userInfo); } catch (error) { console.error(error); res.status(500).json({ error: 'Something went wrong' }); } }; // Update a user export const updateUserAdmin = async (req, res) => { console.log('Inside update user'); const id = req.params.id; const updatedUser = req.body; console.log('Updated User', updateUser); try { const user = await prisma.User.update({ where: { id: id }, data: { adminType: updatedUser.adminType } }); const { password, hashedPassword, ...userInfo } = user; res.json(userInfo); } catch (error) { console.error(error); res.status(500).json({ error: 'Something went wrong' }); } }; // Delete a user export const deleteUser = async (req, res) => { console.log('Inside delete user'); const id = req.params.id; try { await prisma.User.delete({ where: { id: id } }); res.status(200).json({ Message: 'User Deleted Successfully' }); } catch (error) { console.error(error); res.status(500).json({ error: 'Something went wrong' }); } };
Editor is loading...