#javascript #graphql #apollo
#javascript #graphql #apollo
Вопрос:
У меня есть Teacher
тип, который выглядит следующим образом:
type Teacher {
id: ID!
name: String
reservations: [Applicant],
reservations_by_day: {
monday: [Applicant]
tuesday: [Applicant]
wednesday: [Applicant]
thursday: [Applicant]
}
}
это Applicant
тип:
type Applicant {
id: ID!
code: String
name: String
option: Option!
}
И это Option
тип:
type Option {
id: ID!
teacher: String
time: String
day: String
workshop: Workshop!
}
В основном я хочу разрешить reservations_by_day
в зависимости от дня, который выбрал заявитель. Как я мог бы закодировать свой распознаватель для достижения этой цели? Принимая во внимание, что day
prop вложен в другие вещи:
{
Applicant {
Option {
day
}
}
}
Распознаватели учителей
Teacher: {
options: (obj) =>
db.options.filter((option) => option.teacher_id === obj.id),
reservations: (obj) =>
db.applicants.filter((applicant) =>
new RegExp(obj.id).test(applicant.option_id)
),
reservations_by_day: {
monday: () => [],
tuesday: () => [],
wednesday: () => [],
thursday: () => [],
}
}
Комментарии:
1. Пожалуйста, покажите нам существующий код для ваших
Teacher
распознавателей2. Я отредактировал свой ответ. В принципе, у меня пока ничего
reservations_by_day
нет, потому что я даже не знаю, с чего начать3. Спасибо. Вы бы просто использовали
db.applicatants.filter
снова, нет? В чем именно проблема?4. Я немного смущен, хотя почему у вас
Teacher
естьoptions
распознаватель, но нетoptions
поля в схеме. Также почемуTeacher.applicants
фильтруются по anoption_id
? И почему вы используете для этого регулярные выражения?