import { Request, Response } from 'express'; import { AuthRequest } from '../../../middleware/auth'; import { authService } from '../../../services/authService'; export async function login(req: Request, res: Response) { try { const { email, password } = req.body; const { user, token } = await authService.login(email, password); res.json({ user, token }); } catch { res.status(401).json({ error: 'Invalid credentials' }); } } export async function signIn(req: Request, res: Response) { try { const { email, password, displayName, avatarUrl } = req.body; const user = await authService.createUser({email : email, password : password, displayName : displayName, avatarUrl : avatarUrl, permissions : {}}); res.json({ user }); } catch { res.status(401).json({ error: 'Invalid signIn credentials' }); } } export async function getCurrentUser(req: AuthRequest, res: Response) { try { if (!req.user) { res.status(401).json({ error: 'Not authenticated' }); return } res.json(req.user); } catch { res.status(500).json({ error: 'Server error' }); } } export async function refreshToken(req: AuthRequest, res: Response) { try { if (!req.user) { return res.status(401).json({ error: 'Not authenticated' }); } const token = await authService.generateToken(req.user.id); res.json({ token }); } catch { res.status(500).json({ error: 'Failed to refresh token' }); } }