Merge pull request #838 from chaotixkilla/feat-add-backend-support-customer-custom-fields

Add backend support to customer custom fields
This commit is contained in:
Rafael Taranto 2021-11-24 17:41:39 +00:00 committed by GitHub
commit abd3bcc625
5 changed files with 122 additions and 8 deletions

View file

@ -16,7 +16,10 @@ const resolvers = {
const token = !!context.req.cookies.lamassu_sid && context.req.session.user.id
if (customerId === anonymous.uuid) return customers.getCustomerById(customerId)
return customers.updateCustomer(customerId, customerInput, token)
}
},
addCustomField: (...[, { customerId, label, value }]) => customers.addCustomField(customerId, label, value),
saveCustomField: (...[, { customerId, fieldId, newValue }]) => customers.saveCustomField(customerId, fieldId, newValue),
removeCustomField: (...[, [ { customerId, fieldId } ]]) => customers.removeCustomField(customerId, fieldId)
}
}

View file

@ -1,6 +1,12 @@
const { gql } = require('apollo-server-express')
const typeDef = gql`
type CustomerCustomField {
id: ID
label: String
value: String
}
type Customer {
id: ID!
authorizedOverride: String
@ -30,6 +36,7 @@ const typeDef = gql`
lastTxClass: String
transactions: [Transaction]
subscriberInfo: JSONObject
customFields: [CustomerCustomField]
}
input CustomerInput {
@ -66,6 +73,9 @@ const typeDef = gql`
type Mutation {
setCustomer(customerId: ID!, customerInput: CustomerInput): Customer @auth
addCustomField(customerId: ID!, label: String!, value: String!): CustomerCustomField @auth
saveCustomField(customerId: ID!, fieldId: ID!, value: String!): CustomerCustomField @auth
removeCustomField(customerId: ID!, fieldId: ID!): CustomerCustomField @auth
}
`