const express = require("express") const multer = require("multer") const fs = require("fs") const { uploadProfileImage } = require("../../services/supabase/supabaseUploadService") const { validateImage } = require("../../utils/validateImage") const authMiddleware = require("../../middleware/authMiddleware") const { updateAvatarUrl, getUserProfile } = require("../../services/profile/myProfileService") const router = express.Router() const upload = multer({ dest: "uploads/" }) router.post("/avatar", authMiddleware, upload.single("file"), async (req, res) => { try { const file = req.file if (!file) return res.status(400).json({ error: "No file uploaded" }) validateImage({ mimetype: file.mimetype, size: file.size }) const data = fs.readFileSync(file.path) const url = await uploadProfileImage(req.user.userId, { data, mimetype: file.mimetype }) fs.unlinkSync(file.path) const updated = await updateAvatarUrl(req.user.userId, url) res.json({ message: "Avatar updated", user: updated }) } catch (err) { console.error(err) res.status(400).json({ error: err.message }) } }) router.get("/me", authMiddleware, async (req, res) => { try { const user = await getUserProfile(req.user.id) res.json(user) } catch (err) { res.status(400).json({ error: err.message }) } }) module.exports = router