F95API/test/helpers.ts

39 lines
854 B
TypeScript

"use strict";
// Public modules from npm
import dotenv from "dotenv";
import inquirer from "inquirer";
// Modulee from files
import { login } from "../src/index";
import LoginResult from "../src/scripts/classes/login-result";
// Configure the .env reader
dotenv.config();
export async function auth(): Promise<LoginResult> {
return login(process.env.F95_USERNAME, process.env.F95_PASSWORD, insert2faCode);
}
//#region Private methods
/**
* Ask the user to enter the OTP code
* necessary to authenticate on the server.
*/
async function insert2faCode(): Promise<number> {
const questions = [
{
type: "input",
name: "code",
message: "Insert 2FA code:"
}
];
// Prompt the user to insert the code
const answers = await inquirer.prompt(questions);
return answers.code as number;
}
//#endregion Private methods