refactor: schema modularization

This commit is contained in:
Sérgio Salgado 2021-01-22 18:19:52 +00:00 committed by Josh Harvey
parent d9e3a9e61f
commit 82b5db6908
35 changed files with 2423 additions and 685 deletions

View file

@ -0,0 +1,24 @@
const DataLoader = require('dataloader')
const { parseAsync } = require('json2csv')
const transactions = require('../../modules/transactions')
const anonymous = require('../../../constants').anonymousCustomer
const transactionsLoader = new DataLoader(ids => transactions.getCustomerTransactionsBatch(ids))
const resolvers = {
Customer: {
transactions: parent => transactionsLoader.load(parent.id)
},
Transaction: {
isAnonymous: parent => (parent.customerId === anonymous.uuid)
},
Query: {
transactions: (...[, { from, until, limit, offset }]) =>
transactions.batch(from, until, limit, offset),
transactionsCsv: (...[, { from, until, limit, offset }]) =>
transactions.batch(from, until, limit, offset).then(parseAsync)
}
}
module.exports = resolvers