-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathresolver.js
More file actions
40 lines (38 loc) · 1.05 KB
/
resolver.js
File metadata and controls
40 lines (38 loc) · 1.05 KB
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
// resolvers.js
const employees = [
{ id: 1, name: "John Doe", age: 30 },
{ id: 2, name: "Jane Smith", age: 25 },
{ id: 3, name: "Bob Johnson", age: 35 },
];
const resolvers = {
hello: () => {
return "Hello world!";
},
employee: ({ id }) => {
return employees.find((employee) => employee.id === id);
},
addEmployee: ({ name, age }) => {
const id = employees.length + 1;
const newEmployee = { id, name, age };
employees.push(newEmployee);
return newEmployee;
},
removeEmployee: ({ id }) => {
const index = employees.findIndex((employee) => employee.id === id);
if (index !== -1) {
const removedEmployee = employees.splice(index, 1)[0];
return removedEmployee;
}
return null;
},
updateEmployee: ({ id }) => {
const index = employees.findIndex((employee) => employee.id === id);
if (index !== -1) {
const updatedEmployee = { ...employees[index], name, age };
employees[index] = updatedEmployee;
return updatedEmployee;
}
return null;
},
};
module.exports = resolvers;