Skip to content

Commit 824d7c0

Browse files
authored
Merge pull request #27 from muke78/fixMessageRequestHttp
fix: Mejorar manejo de errores y mensajes en servicios de usuario
2 parents cd7a31c + c486880 commit 824d7c0

12 files changed

Lines changed: 44 additions & 68 deletions

File tree

src/controllers/users/functions/deleteUser.js

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,8 @@ export const EliminarUsuario = async (req, res) => {
1616
message: `El usuario ${deletedUser.NameUser} fue eliminado correctamente`,
1717
});
1818
} catch (error) {
19-
if (error.status === 400)
20-
return methodIncorrect(req, res, "Faltan campos requeridos");
21-
if (error.status === 404)
22-
return methodNotFound(
23-
req,
24-
res,
25-
"No se encontro el id del usuario que se quiere eliminar",
26-
);
19+
if (error.status === 400) return methodIncorrect(req, res, error.message);
20+
if (error.status === 404) return methodNotFound(req, res, error.message);
2721
return methodError(req, res, { message: error });
2822
}
2923
};
@@ -36,8 +30,7 @@ export const DeleteUserBulk = async (req, res) => {
3630
message: `Se eliminaron ${req.body.ids.length} usuarios correctamente`,
3731
});
3832
} catch (error) {
39-
if (error.status === 400)
40-
return methodIncorrect(req, res, "Faltan campos requeridos");
33+
if (error.status === 400) return methodIncorrect(req, res, error.message);
4134
return methodError(req, res, { message: error });
4235
}
4336
};

src/controllers/users/functions/editUser.js

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -21,15 +21,8 @@ export const EditarUsuario = async (req, res) => {
2121
}
2222
} catch (error) {
2323
if (error.status === 409)
24-
return methodConflicts(req, res, {
25-
message: "El correo ya existe y no se puede actualizar",
26-
});
27-
if (error.status === 404)
28-
return methodNotFound(
29-
req,
30-
res,
31-
"No se proporcionó un ID válido o el usuario no existe",
32-
);
24+
return methodConflicts(req, res, { message: error.message });
25+
if (error.status === 404) return methodNotFound(req, res, error.message);
3326
return methodError(req, res, { message: error });
3427
}
3528
};

src/controllers/users/functions/insertUsers.js

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,9 @@ export const InsertarUsario = async (req, res) => {
1414
const newuser = await insertUserService(req.body);
1515
return methodCreated(req, res, newuser);
1616
} catch (error) {
17-
if (error.status === 400)
18-
return methodIncorrect(req, res, "Faltan campos requeridos");
17+
if (error.status === 400) return methodIncorrect(req, res, error.message);
1918
if (error.status === 409)
20-
return methodConflicts(req, res, {
21-
message: "El correo ya se encuentra registrado",
22-
});
19+
return methodConflicts(req, res, { message: error.message });
2320
return methodError(req, res, { message: error });
2421
}
2522
};
@@ -34,12 +31,9 @@ export const InsertarUsuariosRunnerMasive = async (req, res) => {
3431
`Se insertaron correctamente ${newUserMasive.length} usuarios como prueba`,
3532
);
3633
} catch (error) {
37-
if (error.status === 400)
38-
return methodIncorrect(req, res, "Faltan campos requeridos");
34+
if (error.status === 400) return methodIncorrect(req, res, error.message);
3935
if (error.status === 409)
40-
return methodConflicts(req, res, {
41-
message: "El correo ya se encuentra registrado",
42-
});
36+
return methodConflicts(req, res, { message: error.message });
4337
return methodError(req, res, { message: error });
4438
}
4539
};

src/controllers/users/functions/login.js

Lines changed: 3 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -13,20 +13,9 @@ export const Login = async (req, res) => {
1313

1414
methodOK(req, res, token);
1515
} catch (error) {
16-
if (error.status === 404)
17-
return methodNotFound(req, res, "Usuario no encontrado");
18-
if (error.status === 403)
19-
return methodForbidden(
20-
req,
21-
res,
22-
"El usuario está inactivo, pida la reactivación a un administrador",
23-
);
24-
if (error.status === 400)
25-
return methodIncorrect(
26-
req,
27-
res,
28-
"La contraseña es incorrecta o está mal escrita",
29-
);
16+
if (error.status === 404) return methodNotFound(req, res, error.message);
17+
if (error.status === 403) return methodForbidden(req, res, error.message);
18+
if (error.status === 400) return methodIncorrect(req, res, error.message);
3019

3120
return methodError(req, res, { message: error });
3221
}

src/controllers/users/functions/registerUser.js

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,9 @@ export const RegistrarUsuario = async (req, res) => {
1111
const newUser = await registerUserService(req.body);
1212
return methodCreated(req, res, newUser);
1313
} catch (error) {
14-
if (error.status === 400)
15-
return methodIncorrect(req, res, "Faltan campos requeridos");
14+
if (error.status === 400) return methodIncorrect(req, res, error.message);
1615
if (error.status === 409)
17-
return methodConflicts(req, res, {
18-
message: "El correo ya se encuentra registrado",
19-
});
16+
return methodConflicts(req, res, { message: error.message });
2017
return methodError(req, res, { message: error });
2118
}
2219
};

src/controllers/users/functions/searchUser.js

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,8 @@ export const BusquedaDeUsuarios = async (req, res) => {
1111

1212
methodOK(req, res, resultSearch);
1313
} catch (error) {
14-
if (error.status === 400)
15-
return methodIncorrect(
16-
req,
17-
res,
18-
`No se encontro el correo ${req.params.email}`,
19-
);
14+
console.log(error);
15+
if (error.status === 400) return methodIncorrect(req, res, error.message);
2016
return methodError(req, res, { message: error });
2117
}
2218
};

src/services/users/functions/authService.js

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,20 +8,27 @@ export const loginService = async ({ email, password }) => {
88
const user = await findUserByEmail(email);
99

1010
if (!user) {
11-
throw { status: 404 };
11+
throw { status: 404, message: "El usuario no ha podidio ser encontrado" };
12+
}
13+
14+
if (user.AccountType === "google") {
15+
throw { status: 400, message: "El correo ya esta registrado con google" };
1216
}
1317

1418
const isPasswordValid = await hashedArg.verify(user.Password, password);
1519

1620
if (!isPasswordValid) {
1721
throw {
1822
status: 400,
23+
message: "La contraseña es incorrecta o está mal escrita",
1924
};
2025
}
2126

2227
if (user.AccountStatus === "Inactivo") {
2328
throw {
2429
status: 403,
30+
message:
31+
"El usuario está inactivo, pida la reactivación a un administrador",
2532
};
2633
}
2734

src/services/users/functions/deleteUserService.js

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,17 +6,20 @@ import {
66

77
export const deleteUserService = async ({ id }) => {
88
if (!id) {
9-
throw { status: 400 };
9+
throw { status: 400, message: "Faltan campos por completar" };
1010
}
1111

1212
const foundUserToEliminated = await validateFoundUserToEliminated(id);
1313
if (foundUserToEliminated.length === 0) {
14-
throw { status: 404 };
14+
throw {
15+
status: 404,
16+
message: "No se encontro el id del usuario que se quiere eliminar",
17+
};
1518
}
1619

1720
const deleteUserFromID = await deleteUser(id);
1821
if (deleteUserFromID.affectedRows === 0) {
19-
throw { status: 400 };
22+
throw { status: 500 };
2023
}
2124

2225
return foundUserToEliminated[0];
@@ -32,7 +35,7 @@ export const deleteUserBulkService = async ({ ids }) => {
3235

3336
const MAX_IDS = 600;
3437
if (ids.length > MAX_IDS) {
35-
throw { status: 400 };
38+
throw { status: 400, message: "Faltan campos por completar" };
3639
}
3740

3841
const batchSize = 100;

src/services/users/functions/insertUserService.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,12 @@ export const insertUserService = async ({
1313
role,
1414
}) => {
1515
if (!nameUser || !email || !password || !accountStatus || !role) {
16-
throw { status: 400 };
16+
throw { status: 400, message: "Faltan campos por completar" };
1717
}
1818

1919
const existingUser = await findUserByEmail(email);
2020
if (existingUser) {
21-
throw { status: 409 };
21+
throw { status: 409, message: "El correo ya se encuentra registrado" };
2222
}
2323

2424
const hashedPassword = await hashedArg.hash(password);
@@ -40,7 +40,7 @@ export const insertUserService = async ({
4040

4141
export const insertUserMasiveService = async ({ countInsert }) => {
4242
if (!countInsert || isNaN(countInsert)) {
43-
throw { status: 400 };
43+
throw { status: 400, message: "Faltan campos por completar" };
4444
}
4545

4646
const insertados = [];
@@ -54,7 +54,7 @@ export const insertUserMasiveService = async ({ countInsert }) => {
5454

5555
const existingUser = await findUserByEmail(email);
5656
if (existingUser) {
57-
throw { status: 409 };
57+
throw { status: 409, message: "El correo ya se encuentra registrado" };
5858
}
5959

6060
const hashedPassword = await hashedArg.hash(password);

src/services/users/functions/registerUserService.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@ import { registerUser } from "../../../models/users/functions/registerUserModel.
66

77
export const registerUserService = async ({ nameUser, email, password }) => {
88
if (!nameUser || !email || !password) {
9-
throw { status: 400 };
9+
throw { status: 400, message: "Faltan campos por completar" };
1010
}
1111

1212
const existingUser = await findUserByEmail(email);
1313

1414
if (existingUser) {
15-
throw { status: 409 };
15+
throw { status: 409, message: "El correo ya se encuentra registrado" };
1616
}
1717

1818
const hashedPassword = await hashedArg.hash(password);

0 commit comments

Comments
 (0)