У меня проблема с логикой c, которая сводила меня с ума весь день; надеюсь, что вы, ребята, можете помочь!
Поэтому я использую API Google Maps для возврата списка событий из календаря, а затем фильтрую эти события для определенных c событий, к которым принадлежит пользователь ( электронная почта в посетителях); теперь я пытаюсь извлечь участников мероприятия, проверить электронную почту других пользователей, выполнить запрос, чтобы вернуть их имя и изображение, затем добавить этот объект с их именем и изображением к исходному событию, а затем снова вернуть весь список с обновленными записями.
Вот событие, которое я получаю с сервера:
{ ...
id: 'ID',
status: 'confirmed',
description: 'Keyword'
start: [Object],
end: [Object],
attendees: [Array],
reminders: [Object]
...
}
Я беру электронное письмо с участником, который не является пользователем, и запускаю запрос в моей локальной базе данных, чтобы получить их имя и изображение, затем я хочу добавить их, чтобы событие показывалось так:
{ ...
id: 'ID',
status: 'confirmed',
description: 'Keyword'
start: [Object],
end: [Object],
attendees: [Array],
reminders: [Object]
...
opponent: {name: 'Name', picture: 'Picture_URL'}
}
Вот что у меня есть:
const events = results.data.items.filter(event => {
return (
event.description &&
event.description.includes('Keyword') &&
event.attendees.some(attendee => {
return attendee.email === currentUser.email;
})
);
});
Events come back fine from here, filtered with the events that include the user in attendees. I can't seem to get the next bit to work where I would modify the {event} object and add the {opponent} to it.
const opponent = events.map(event => {
return event.attendees.filter(async attendee => {
if (attendee.email !== currentUser.email) {
return await prisma.query
.user({ where: { email: attendee.email } })
.then(user => {
return {
name: user.name,
picture: user.picture,
};
})
.catch(err => {
return;
});
}
});
});
PS: prisma.query.user возвращает Обещание.
Буду очень признателен за любые указания или помощь в том, что мне не хватает!
Спасибо, ребята! :)