import { Response, Request } from "express"; import { finishMailVerify as _finishMailVerify, startMailVerify as _startMailVerify, refreshToken as _refreshToken, register as _register, smsSend as _smsSend, smsOTP as _smsOTP, logout as _logout, login as _login, me as _me } from "../actions/auth"; import { AuthRequest } from "../middlewares/authMiddleware"; export const register = async (req: Request, res: Response): Promise => { const result = await _register(req.body); res.status(result.code) .json({ message: result.message, code: result.code }); }; export const login = async (req: Request, res: Response): Promise => { try { const result = await _login(req.body); res.status(result.code).json({ message: result.message, code: result.code, ...(result.payload && { payload: result.payload }), }); } catch (error) { console.error("Login controller error:", error); res.status(500).json({ message: "server-error", code: 500, }); } }; export const logout = async (req: AuthRequest, res: Response): Promise => { try { const result = await _logout(req.context!); res.status(result.code).json({ message: result.message, code: result.code, }); } catch (error) { console.error("Logout controller error:", error); res.status(500).json({ message: "server-error", code: 500, }); } }; export const me = async (req: AuthRequest, res: Response): Promise => { try { const result = await _me(req.context!); res.status(result.code).json({ message: result.message, code: result.code, ...(result.payload && { payload: result.payload }) }); } catch (error) { res.status(500).json({ message: "server-error", code: 500 }); } }; export const refreshToken = async (req: Request, res: Response): Promise => { const result = await _refreshToken(req.body); res.status(result.code) .json({ message: result.message, code: result.code, ...(result.payload && { payload: result.payload, }), }); }; export const startMailVerify = async (req: AuthRequest, res: Response): Promise => { try { const result = await _startMailVerify(req.context!); res.status(result.code).json({ message: result.message, code: result.code, ...(result.payload && { payload: result.payload }), }); } catch (error) { console.error("StartMailVerify controller error:", error); res.status(500).json({ message: "internal-server-error", code: 500 }); } }; export const finishMailVerify = async (req: AuthRequest, res: Response): Promise => { const result = await _finishMailVerify(req.body, req.context!); res.status(result.code) .json({ message: result.message, code: result.code, }); }; export const smsOTP = async (req: Request, res: Response): Promise => { const result = await _smsOTP(req.body); res.status(result.code) .json({ message: result.message, code: result.code }); }; export const smsSend = async (req: Request, res: Response): Promise => { try { const result = await _smsSend(req.body); res.status(result.code).json({ message: result.message, code: result.code, ...(result.payload && { payload: result.payload }), }); } catch (error) { console.error("SmsSend controller error:", error); res.status(500).json({ message: "internal-server-error", code: 500 }); } };