const jwt = require('jsonwebtoken')
const UserModel = require('../models/UserModel')

module.exports = async (req, res, next) => {
  if (req.header && req.header('Authorization')) {
    const token = await req.header('Authorization').split(' ')[1]
    const decodedToken = await jwt.verify(token, process.env.APP_SECRET)
    const user = await UserModel.findById(decodedToken.id)
    if (user) {
      try {
        user.last_online = new Date()
        await user.save() // ذخیره تغییرات در دیتابیس
      } catch (error) {
      // بررسی و پردازش خطاها
        console.error('Error updating last online time:', error)
      }
    }
  }

  next()
}
