Merge branch 'master' into develop

This commit is contained in:
olivermrbl
2022-12-22 15:45:16 +01:00
2 changed files with 23 additions and 5 deletions

View File

@@ -10,25 +10,37 @@ Version `1.7.0` of Medusa introduces a breaking change in the [CustomerService](
In this new version, the method [`retrieveByEmail` in the Customer Service](../../../references/services/classes/CustomerService.md#retrievebyemail) has been deprecated in favor of other methods. Read the actions required below to learn which methods to use instead.
In addition, after introducing the Claim Order feature, this version of Medusa introduces changes in the database that allows two customers having the same email based on the value of the `has_account` field. This change requires running migrations after the update.
## Actions Required
Instead of using `customerService.retrieveByEmail`, you should now use the methods `customerService.retrieveRegisteredByEmail` or `customerService.retrieveUnRegisteredByEmail`.
### Run Migrations
Run the following command to run migrations:
```bash
medusa migrations run
```
### Change Used Methods
Instead of using `customerService.retrieveByEmail`, you should now use the methods `customerService.retrieveRegisteredByEmail` or `customerService.retrieveUnregisteredByEmail`.
The `customerService.retrieveRegisteredByEmail` method allows you to retrieve a registered customer by email:
```tsx
```ts
customerService.retrieveRegisteredByEmail("example@gmail.com");
```
On the other hand, the `retrieveUnregisteredByEmail` method allows to retrieve guest customers by email:
```jsx
customerService.retrieveUnRegisteredByEmail("example@gmail.com");
customerService.retrieveUnregisteredByEmail("example@gmail.com");
```
To retrieve a customer by email regardless of whether they are registered or not, you can use the `customerService.list` method instead:
```tsx
```ts
customerService.list({
email: "example@gmail.com"
})

View File

@@ -5,11 +5,17 @@ import TabItem from '@theme/TabItem';
In this document, youll learn how to implement the claim order flow in a storefront to allow customers to claim their orders.
:::note
This flow was added starting from Medusa v1.7. You can learn more about upgrading in the [upgrade guide](../backend/upgrade-guides/1-7-0.md).
:::
## Flow Overview
When a guest customer places an order, their order is not associated with any customer. The order is only associated with an email that the guest customer provides during checkout.
This email must be an email that isnt used with an existing account. Also, this email cannot be used later on to create a new account. It can, however, be used to create another order as a guest customer.
This email must be an email that isnt used with an existing account. It can, however, be used to create another order as a guest customer.
After this customer registers with a different email and logs in, they can claim their order by providing the orders ID. An email will then be sent to the email address associated with the order.