illuday
12/14/2017, 8:53 PMevanrs
12/14/2017, 9:14 PMilluday
12/14/2017, 9:24 PMevanrs
12/14/2017, 11:30 PMtype aggregatePaymentsPayload {
value: Int
count: Int
}
extend type Query {
aggregateAllPayments(): aggregatePaymentsPayload
}
import { fromEvent, FunctionEvent } from 'graphcool-lib'
export default async event => {
try {
const graphcool = fromEvent(event)
const api = graphcool.api('simple/v1')
const { allPayments } = await api.request(`
query AllPaymentsQuery {
allPayments {
amount
}
}
`)
// return a shape matching your payload type, "aggregatePaymentsPayload"
return {
sum: allPayments.reduce((sum, { amount }) => sum + amount, 0),
count: allPayments.length
}
} catch (e) {
console.log(e)
return { error: e }
}
}