const JWT = {};

const jwt = require("jsonwebtoken");

JWT.createToken = async (data, expiresIn = null) => {
    try {
        let token;
        if (expiresIn) {
            token = await jwt.sign(data, process.env.SECRET, {expiresIn});
        } else {
            token = await jwt.sign(data, process.env.SECRET);
        }
        return token;
    } catch (error) {
        throwError(error);
    }
};

JWT.decodeToken = async (token) => {
    try {
        const decode = await jwt.verify(token, process.env.SECRET);
        return decode.user;
    } catch (error) {
        throwError(error);
    }
};

module.exports = JWT;