require('dotenv').config() const validateToken = require('./validateToken') const refreshToken = require('./refreshToken') const writeEnv = require('./writeEnv') let client_id = process.env.TWITCH_APP_ID let client_secret = process.env.TWITCH_APP_SECRET module.exports = async function (user_access_token) { let user_refresh_token = '' // Check if user_access_token is valid if (!await validateToken(user_access_token)) { // If not, refresh it [user_access_token, user_refresh_token ] = await refreshToken(client_id, client_secret, user_access_token) writeEnv('TWITCH_USER_ACCESS_TOKEN', user_access_token) writeEnv('TWITCH_USER_REFRESH_TOKEN', user_refresh_token) let user_name = await getUserInfo(client_id, user_access_token).login writeEnv('TWITCH_USER_USERNAME', user_name) } return [user_access_token, user_name] }