import axios from 'axios';
import { Cookies } from 'react-cookie';
import cookie from 'cookie';
import moment from 'moment';
import jwt from 'jsonwebtoken';
import Redis from 'ioredis';
import md5 from 'md5';

import { cors } from '../../../../lib/cors';

const redis = new Redis(process.env.REDIS_URL);

export default async function handler(req, res) 
{
	await cors(req, res);
	let { phone, code } = req.body;
	let token = "";

	phone = phone.replace(/[^0-9.]/g, '');

	const key = md5(`sms_code_${ phone }`);
	let existed_data = await redis.get(key);

	if(existed_data !== null)
	{
		const existed_data_json = JSON.parse(existed_data);

		if(existed_data_json.code === code)
		{
			console.log("existed_data_json");
			console.log(existed_data_json);
			console.log("*".repeat(50));

			token = jwt.sign({ "acc_number": existed_data_json.acc_number, is_admin: existed_data_json.user.is_admin, login: existed_data_json.user.email, companies: existed_data_json.companies, }, process.env.JWT_SECRET_CLIENT, { noTimestamp: true });

			res.status(200).json({ ...existed_data_json, ...{ status: "success", token: token, } });
		}
		else
		{
			res.status(403).json();
		}
	}
	else
	{
		res.status(403).json();
	}
}