I have a resolver set up that queries mock db file (a json).
Query: {
users: (_, filters, { dataSources }) => {
console.log(dataSources.userAPI.getAllUsers(filters))
return dataSources.userAPI.getAllUsers(filters);
}
}
userAPI.getALlUsers is below. First I want to filter the list of users. Then for each filtered user, I want to add more fields to it before return the mapped users
function getAllUsers(args) {
const { targetId, skip, limit } = args;
const filteredUsers = new Promise((resolve, reject) => {
const users = db.users.filter(u => {
if (u.apps[targetId]) return u;
});
if (users.length === 0) return reject();
else return resolve(users);
});
filteredUsers.then((users, err) => {
if (err) console.log(err);
else {
const mappedUsers = users.map(u => {
const withReturnFields = {
email: u.email,
fullname: u.fullname
};
return withReturnFields;
});
return mappedUsers.slice(skip, skip + limit);
}
});
}
I think my promise isn't working as expected. Any insights? My schemas are all set up correctly. I tried console logging