All files / src/controllers users_controller.ts

69.62% Statements 55/79
50% Branches 5/10
80% Functions 4/5
69.62% Lines 55/79

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 801x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x                         1x 1x 1x 1x 1x 1x 1x       1x 1x     1x 1x 1x 1x 2x 2x 2x 1x 1x 1x 1x 2x     2x 1x 1x 1x 1x 1x 1x       1x 1x     1x  
import { Request, Response } from 'express';
import * as usersService from '../services/users_service';
import { handleError } from '../utils/handle_error';
import bcrypt from 'bcrypt';
import * as config from '../config/config'
import {registerUser} from "./auth_controller";
 
// export const addUser = async (req: Request, res: Response): Promise<void> => {
//     try {
//         const { username, password, email } = req.body;
//         const hashedPassword = await bcrypt.hash(password, config.default.auth.salt); // Hash the password
//         const userData = {username, password: hashedPassword, email};
//         const savedPost = await usersService.addUser(userData);
//         res.status(201).json(`Added user ${username} with id: ${savedPost._id}`);
//     } catch (err) {
//         handleError(err, res);
//     }
// };
 
export const createUser = async (req: Request, res: Response): Promise<void> => {
   await registerUser(req, res);
};
 
export const getUsers = async (req: Request, res: Response): Promise<void> => {
    try {
        let users;
        users = await usersService.getUsers();
        if (users.length === 0) {
            res.status(204).json({ message: 'No users found' });
        } else {
            res.json(users);
        }
    } catch (err) {
        handleError(err, res);
    }
};
 
 
 
export const getUserById = async (req: Request, res: Response): Promise<void> => {
    try {
        const user = await usersService.getUserById(req.params.id);
        if (!user) {
            res.status(404).json({ message: 'User not found' });
            return;
        }
        res.json(user);
    } catch (err) {
        handleError(err, res);
    }
}
 
 
export const updateUserById = async (req: Request, res: Response): Promise<void> => {
    try {
        const user = await usersService.updateUserById(req.params.id, req.body);
        if (!user) {
            res.status(404).json({ message: 'User not found' });
            return;
        }
        res.json(user);
    } catch (err) {
        handleError(err, res);
    }
}
 
 
export const deleteUserById = async (req: Request, res: Response): Promise<void> => {
    try {
        const user = await usersService.deleteUserById(req.params.id);
        if (!user) {
            res.status(404).json({ message: 'User not found' });
            return;
        }
        res.json({ message: 'User deleted successfully' });
    } catch (err) {
        handleError(err, res);
    }
}