@teqed/interact-ibmi
Version:
Menus for interacting with IBMi AS400 using node-odbc.
58 lines (57 loc) • 1.99 kB
JavaScript
import chalk from 'chalk';
import { genericSelectMenu } from '../../generic/generic.js';
import changePasswordMenu from './change/change-password.js';
import copyuser from './copy/copyuser.js';
import deleteUserMenu from './delete/delete-user.js';
import displayUserMenu from './display-user.js';
import reenableNetserverUser from './reenable-netserver-user.js';
import reenableUserMenu from './reenable-user.js';
// Create an array of strings containing menu choices.
export default async function () {
/* Create an array of strings containing menu choices. */
const menuChoice = [
`1. Display User`,
`2. Copy User`,
`3. Delete User`,
`4. Change User Password`,
`5. Reenable User`,
`6. Unlock Netserver User`,
`7. Previous Menu`, // 6 - exitMenu
];
const helpUsersMenuChoice = await genericSelectMenu({
choices: menuChoice,
message: chalk.bgBlue(`\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0Help Users\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0`) + `\u00A0\u00A0`,
});
const handleAnswer = async (answer) => {
/* A case inputCommand for answer */
switch (answer) {
case menuChoice[0]: {
return await displayUserMenu();
}
case menuChoice[1]: {
return await copyuser();
}
case menuChoice[2]: {
return await deleteUserMenu();
break;
}
case menuChoice[3]: {
return await changePasswordMenu();
break;
}
case menuChoice[4]: {
await reenableUserMenu();
break;
}
case menuChoice[5]: {
await reenableNetserverUser();
break;
}
default: {
break;
}
}
return 1;
};
return handleAnswer(helpUsersMenuChoice);
}