Customer Module¶
Provides the basic customer domain, which is required in other e-commerce related packages.
A customer represents the legal entity of a single person and is normally used in a "my account" area.
Secondary Ports¶
An implementation needs to provide an adapter for the CustomerService
as well as an implementation of the Customer
interface.
A typical implementation would fetch the Token from the auth object and with that information call a microservice that will return the customer data (authorized by the token).
Your specific implementation of a customer can also include much more properties - as long as the two interfaces (ports) are implemented.
No customer data needed?¶
You can enable the provided adapter for the customerService with:
commerce.customer.useNilCustomerAdapter: true
GraphQL¶
Queries:
* Commerce_Customer_Status
returns the customer's login status
* Commerce_Customer
returns the logged-in customer