К сожалению, в документации нет хороших примеров того, как передать переменную в фильтр, насколько я могу судить. Вот пример запроса, который работает в синхронизации приложений:
query listPayments {
listPayments(filter: {residentId: {contains: "some_random_id"}}) {
items {
timestamp
totalAmount
feeAmount
transactionId
paymentTraceId
paymentReferenceId
paymentMethodId
}
}
}
Но я понятия не имею, как передать его в мою функцию, которая затем взаимодействует со строкой шаблона:
export const getResidentPayments = async (residentId) => {
console.log('getting payments...')
try {
paymentHistoryResponse = (await API.graphql(
graphqlOperation(listPayments, {
input: {id: residentId}
}),
)).data
console.log('payment history res', paymentHistoryResponse);
paymentHistoryResponse = JSON.parse(paymentHistoryResponse);
return paymentHistoryResponse
} catch (error) {
console.log('got payment history err', error);
throw error;
}
}
const listPayments = ` query listPayments ($residentId: id ) {
listPayments(filter: {residentId: {contains: $residentId}}) {
items {
timestamp
totalAmount
feeAmount
transactionId
paymentTraceId
paymentReferenceId
paymentMethodId
}
}
}
`;
Буду очень признателен, если кто-нибудь скажет мне, что я делаю неправильно, так как это, вероятно, довольно очевидная ошибка новичка. Я шокирован тем, что у graphql нет примера документации для этого, если я не ошибаюсь и в этом.