Николай, приветствую! Возник вопрос: подскажи, пожалуйста, куда копать.
Есть код, который формирует переменные к graphql:
const getVariables = (query: ParsedUrlQuery): BeersQueryVariables => {
const first =
query.first && typeof query.first === 'string'
? parseInt(query.first)
: undefined
return {
first,
}
}
GraphQL:
query beers($where: BeerWhereInput, $first: Int = 3, $skip: Int) {
beersConnection(where: $where, first: $first, skip: $skip) {
aggregate {
count
}
edges {
node {
...beer
}
}
}
}
fragment beer on Beer {
id
name
uri
image
places {
id
price
Place {
...place
}
}
}
fragment place on Place {
id
name
uri
}
Как в него запихать например такую переменную?
{"where": {
"name": "Lager Hell Ayinger (Айингер Лагер Хелль) бутылка"
}
}
Ну, в графовском запросе у тебя все ОК, то есть ты уже можешь в хук запроса скармливать where.
const variables = getVariables(router.query)
const response = useBeersQuery({
variables,
})
То есть в твоем случае достаточно вернуть так:
const getVariables = (query: ParsedUrlQuery): BeersQueryVariables => {
const first =
query.first && typeof query.first === 'string'
? parseInt(query.first)
: undefined
return {
first,
where: {
name: "Lager Hell Ayinger (Айингер Лагер Хелль) бутылка",
},
}
}
Спасибо, разбираюсь дальше!