Я расширил свою схему graphql для добавления резолвера итогов, но я не могу расширить фильтр для фильтрации по этому полю. Я не могу понять, что может быть не так, потому что это кажется очень простым, так что, может быть, это не поддерживается? Я использую Postgraphile с makeExtendSchemaPlugin, но я считаю, что вопрос заключается в базовом синтаксисе graphql.
return {
typeDefs: gql`
extend type Note {
lines: Int
}
extend type NoteFilter {
lines: IntFilter
}
`,
resolvers: {
Note: {
resolve: async(parent, args, ctx, info) => {
// logic here
return parent['@lines'].data.length;
}
}
}
}
Это кажется таким простым. Преобразователь счета работает и показывает, сколько строк в заметке, но я не могу отфильтровать ее. Я не хочу помещать логику фильтра в само свойство линий. Если я определяю новый запрос и назначаю ему NoteFilter, фильтр существует, но не содержит моего расширенного свойства (строк). Кто-нибудь знает, что я делаю не так? Это конечная цель, которую я хотел бы запросить:
gql`
{
allNotes(filter: {
lines: {
greaterThan: 10
}
}) {
id
lines
line {
content
}
}
}
`