AuthControllers.js 1.2 KB

123456789101112131415161718192021222324252627282930313233
  1. const { LoginResource } = require('../../resources/auth/LoginResource.js');
  2. const { UserResource } = require('../../resources/auth/UserResource.js');
  3. const { loginService, getUserService, logoutService } = require('../../services/auth/AuthService.js');
  4. const { successResponse, errorResponse, messageSuccessResponse } = require('../../utils/Response.js');
  5. const { validateLoginRequest } = require('../../validators/auth/LoginValidators.js');
  6. exports.login = async (req, res) => {
  7. try {
  8. const validated = validateLoginRequest(req.body);
  9. const data = await loginService(validated, req);
  10. return LoginResource(res, data, "Login success")
  11. } catch (error) {
  12. return errorResponse(res, error);
  13. }
  14. };
  15. exports.getUser = async (req, res) => {
  16. try {
  17. const data = await getUserService(req);
  18. return UserResource(res, data, 'Success get user');
  19. } catch (error) {
  20. return errorResponse(res, error);
  21. }
  22. };
  23. exports.logout = async (req, res) => {
  24. try {
  25. await logoutService(req);
  26. return messageSuccessResponse(res, 'Logout success', 200);
  27. } catch (error) {
  28. return errorResponse(res, error);
  29. }
  30. }