import { Response } from 'express'; import { MyRequest } from '../types/Express'; import { ErrorResponse, SuccessResponse } from '../utils/Response'; import { AuthServices } from '../services/auth/auth.service'; import { ErrorResponseC, SuccessResponseC, } from '../services/services.response'; export const Login = async (req: MyRequest, res: Response) => { const { email, password } = req.body; const result = await AuthServices.executeLogin(res, email, password); if (result instanceof SuccessResponseC) return SuccessResponse( res, result.code, result.data, result.message, result.status ); if (result instanceof ErrorResponseC) return ErrorResponse(res, result.code, result.message, result.error); }; export const Register = async (req: MyRequest, res: Response) => { const { email, password, firstName, lastName, role, phone = null, ...additionalInfo } = req.body; const result = await AuthServices.executeRegister( res, email, password, firstName, lastName, role, phone, additionalInfo ); if (result instanceof SuccessResponseC) return SuccessResponse( res, result.code, result.data, result.message, result.status ); if (result instanceof ErrorResponseC) return ErrorResponse(res, result.code, result.message, result.error); }; export const AuthBack = async (req: MyRequest, res: Response) => { const result = await AuthServices.executeAuthBack(req.user!.user_id); if (result instanceof SuccessResponseC) return SuccessResponse( res, result.code, result.data, result.message, result.status ); if (result instanceof ErrorResponseC) return ErrorResponse(res, result.code, result.message, result.error); }; export const Logout = async (req: MyRequest, res: Response) => { const result = await AuthServices.executeLogout(res); if (result instanceof SuccessResponseC) return SuccessResponse( res, result.code, result.data, result.message, result.status ); if (result instanceof ErrorResponseC) return ErrorResponse(res, result.code, result.message, result.error); }; export const ResetPassword = async (req: MyRequest, res: Response) => { const { userId, newPassword } = req.body; const result = await AuthServices.executeResetPassword(userId, newPassword); if (result instanceof SuccessResponseC) return SuccessResponse( res, result.code, result.data, result.message, result.status ); if (result instanceof ErrorResponseC) return ErrorResponse(res, result.code, result.message, result.error); }; export const ResetTeacherPassword = async ( req: MyRequest, res: Response ) => { const { teacherId, newPassword } = req.body; const result = await AuthServices.executeResetTeacherPassword( teacherId, newPassword ); if (result instanceof SuccessResponseC) return SuccessResponse( res, result.code, result.data, result.message, result.status ); if (result instanceof ErrorResponseC) return ErrorResponse(res, result.code, result.message, result.error); };