lamassu-server/lib/new-admin/graphql/resolvers/customer.resolver.js
2021-09-07 17:26:36 +01:00

25 lines
1 KiB
JavaScript

const anonymous = require('../../../constants').anonymousCustomer
const customers = require('../../../customers')
const filters = require('../../filters')
const loyalty = require('../../../loyalty')
const resolvers = {
Customer: {
isAnonymous: parent => (parent.customerId === anonymous.uuid)
},
Query: {
customers: (...[, { phone, name, address, id }]) => customers.getCustomersList(phone, name, address, id),
customer: (...[, { customerId }]) => customers.getCustomerById(customerId),
customerFilters: () => filters.customer(),
getCustomersWithDiscounts: (...[, { discounts }]) => loyalty.getCustomersWithDiscounts(discounts)
},
Mutation: {
setCustomer: (root, { customerId, customerInput }, context, info) => {
const token = !!context.req.cookies.lid && context.req.session.user.id
if (customerId === anonymous.uuid) return customers.getCustomerById(customerId)
return customers.updateCustomer(customerId, customerInput, token)
}
}
}
module.exports = resolvers