-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.js
135 lines (126 loc) · 3.07 KB
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
// specify modules needed for team profile generator to work
const Manager = require("./src/Manager");
const Engineer = require("./src/Engineer");
const Intern = require("./src/Intern");
const inquirer = require("inquirer");
const path = require("path");
const fs = require("fs");
const generateHTML = require('./lib/generateHTML');
let EmployeeArray = [];
// prompt initial manager questions
const promptUser = () => {
inquirer.prompt([
{
type: 'input',
name: 'name',
message: "What is the Mangers NAME?",
},
{
type: 'number',
name: 'id',
message: 'What is the employee ID number?',
},
{
type: 'input',
name: 'email',
message: 'What is the employee EMAIL?',
},
{
type: 'number',
name: 'officeNumber',
message: 'What is the Managers Office Number?'
}
])
.then(answers => {
const manager = new Manager(answers.name, answers.id, answers.email, answers.officeNumber);
EmployeeArray.push(manager);
role();
})
}
role = () => {
inquirer.prompt([
{
type: "list",
message: "Please choose the role of the employee you are adding",
choices: ["Engineer", "Intern", "Team Finished"],
name: "role"
}
])
.then(answers => {
switch (answers.role) {
case "Engineer":
addEngineer();
break;
case "Intern":
addIntern();
break;
case "Team Finished":
console.log(EmployeeArray);
generateTeam();
break;
}
})
}
addEngineer = () => {
inquirer.prompt([
{
type: 'input',
name: 'name',
message: "What is the Engineers NAME?",
},
{
type: 'number',
name: 'id',
message: 'What is the employee ID number?',
},
{
type: 'input',
name: 'email',
message: 'What is the employee EMAIL?',
},
{
type: 'input',
name: 'github',
message: 'What is their GITHUB username?'
}
])
.then(answers => {
const engineer = new Engineer(answers.name, answers.id, answers.email, answers.github);
EmployeeArray.push(engineer);
role();
})
}
addIntern = () => {
inquirer.prompt([
{
type: 'input',
name: 'name',
message: "What is the Interns NAME?",
},
{
type: 'number',
name: 'id',
message: 'What is the employee ID number?',
},
{
type: 'input',
name: 'email',
message: 'What is the employee EMAIL?',
},
{
type: 'input',
name: 'school',
message: 'What SCHOOL did the Intern attend?'
}
])
.then(answers => {
const intern = new Intern(answers.name, answers.id, answers.email, answers.school);
EmployeeArray.push(intern);
role();
})
}
function generateTeam() {
fs.writeFileSync('./dist/teamindex.html', generateHTML(EmployeeArray));
console.log('Team Generated');
}
promptUser();