fix: improve custom info requests backend fix: add custom info requests to trigger overrides
33 lines
1.7 KiB
JavaScript
33 lines
1.7 KiB
JavaScript
const authentication = require('../modules/userManagement')
|
|
const queries = require('../../services/customInfoRequests')
|
|
const DataLoader = require('dataloader')
|
|
|
|
const customerCustomInfoRequestsLoader = new DataLoader(ids => queries.batchGetAllCustomInfoRequestsForCustomer(ids), { cache: false })
|
|
|
|
const customInfoRequestLoader = new DataLoader(ids => queries.batchGetCustomInfoRequest(ids), { cache: false })
|
|
|
|
const resolvers = {
|
|
Customer: {
|
|
customInfoRequests: parent => customerCustomInfoRequestsLoader.load(parent.id)
|
|
},
|
|
CustomRequestData: {
|
|
customInfoRequest: parent => customInfoRequestLoader.load(parent.infoRequestId)
|
|
},
|
|
Query: {
|
|
customInfoRequests: (...[, { onlyEnabled }]) => queries.getCustomInfoRequests(onlyEnabled),
|
|
customerCustomInfoRequests: (...[, { customerId }]) => queries.getAllCustomInfoRequestsForCustomer(customerId),
|
|
customerCustomInfoRequest: (...[, { customerId, infoRequestId }]) => queries.getCustomInfoRequestForCustomer(customerId, infoRequestId)
|
|
},
|
|
Mutation: {
|
|
insertCustomInfoRequest: (...[, { customRequest }]) => queries.addCustomInfoRequest(customRequest),
|
|
removeCustomInfoRequest: (...[, { id }]) => queries.removeCustomInfoRequest(id),
|
|
editCustomInfoRequest: (...[, { id, customRequest }]) => queries.editCustomInfoRequest(id, customRequest),
|
|
setAuthorizedCustomRequest: (...[, { customerId, infoRequestId, override }, context]) => {
|
|
const token = authentication.getToken(context)
|
|
return queries.setAuthorizedCustomRequest(customerId, infoRequestId, override, token)
|
|
},
|
|
setCustomerCustomInfoRequest: (...[, { customerId, infoRequestId, data }]) => queries.setCustomerData(customerId, infoRequestId, data)
|
|
}
|
|
}
|
|
|
|
module.exports = resolvers
|