fix: add address and customer metadata to tax calc context (#10122)

Fixes CMRC-713

**What**
- Ensure that customer and shipping address metadata is passed in the tax calculation context when updating tax lines on a cart.

**Why**
- Gives more flexibility in criteria to evaluate tax rates. 
- https://github.com/medusajs/medusa/discussions/10121
- https://github.com/medusajs/medusa/discussions/10114

Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>
This commit is contained in:
Sebastian Rindom
2024-11-19 12:42:31 +01:00
committed by GitHub
parent 3b1463048a
commit 41dc05d0c9
4 changed files with 53 additions and 0 deletions
@@ -47,6 +47,7 @@ const cartFields = [
"shipping_methods.amount",
"customer.id",
"customer.email",
"customer.metadata",
"customer.groups.id",
"shipping_address.id",
"shipping_address.address_1",
@@ -56,6 +57,7 @@ const cartFields = [
"shipping_address.country_code",
"shipping_address.region_code",
"shipping_address.province",
"shipping_address.metadata",
]
export type UpdateTaxLinesWorkflowInput = {
@@ -53,6 +53,7 @@ function normalizeTaxModuleContext(
id: orderOrCart.customer.id,
email: orderOrCart.customer.email,
customer_groups: orderOrCart.customer.groups?.map((g) => g.id) || [],
metadata: orderOrCart.customer.metadata,
}
return {
@@ -63,6 +64,7 @@ function normalizeTaxModuleContext(
address_2: address.address_2,
city: address.city,
postal_code: address.postal_code,
metadata: address.metadata,
},
customer,
is_return: isReturn ?? false,