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

const verifyUser = async (req, res, next) => {
  try {
    const { mobile, otp } = req.body
    if (!mobile || !otp) {
      return res.status(422).json({
        error: true,
        message: 'اطلاعات ارسالی اشتباه است'
      })
    }

    const user = await UserModel.findOne({ mobile })
    if (!user) {
      return res.status(404).json({
        error: true,
        message: 'کاربری با این شماره موبایل یافت نشد'
      })
    }
    const token = TokenService.sign({ id: user._id })
    let step = ''
    if (user.user_name === null) { step = 'user_name' } else if
    (!user.password) { step = 'password' } else if
    (!user.first_name) { step = 'first_name' } else if
    (!user.user_type) { step = 'user_type' } else { step = 'profile_image' }
    if (user.otp === otp) {
      return res.json({
        message: 'کد تایید صحیح بود',
        token,
        step
      })
    }

    return res.status(422).json({
      error: true,
      message: 'کد تایید اشتباه است'
    })
  } catch (error) {
    next(error)
  }
}

module.exports = {
  verifyUser
}
