import { Request, Response } from 'express' import { authService } from './auth.service' import { AuthRequest } from '@/shared/middleware/auth' export const authController = { register: async (req: Request, res: Response) => { try { const result = await authService.register(req.body) res.status(201).json({ success: true, message: 'تم التسجيل بنجاح', data: result }) } catch (error: any) { res.status(400).json({ success: false, message: error.message }) } }, login: async (req: Request, res: Response) => { try { const { email, password } = req.body const result = await authService.login(email, password) res.status(200).json({ success: true, message: 'تم تسجيل الدخول بنجاح', data: result }) } catch (error: any) { res.status(401).json({ success: false, message: error.message }) } }, me: async (req: AuthRequest, res: Response) => { try { const userId = req.user?.id if (!userId) { return res.status(401).json({ success: false, message: 'غير مصرح' }) } const user = await authService.getUserById(userId) res.status(200).json({ success: true, message: 'تم جلب البيانات بنجاح', data: user }) } catch (error: any) { res.status(400).json({ success: false, message: error.message }) } }, refreshToken: async (req: Request, res: Response) => { try { const { refreshToken } = req.body const result = await authService.refreshToken(refreshToken) res.status(200).json({ success: true, message: 'تم تحديث الرمز بنجاح', data: result }) } catch (error: any) { res.status(401).json({ success: false, message: error.message }) } }, logout: async (req: AuthRequest, res: Response) => { try { const userId = req.user?.id if (userId) { await authService.logout(userId) } res.status(200).json({ success: true, message: 'تم تسجيل الخروج بنجاح' }) } catch (error: any) { res.status(400).json({ success: false, message: error.message }) } } }