docs: update fulfillment provider module docs to reflect CalculatedShippingOptionPrice (#10778)

The return value below the example for the `calculatePrice` method is shown correctly as `CalculatedShippingOptionPrice` but the example is not updated in the guide "How to Create a Fulfillment Provider Module"

This PR updates the example in the guide and the TS doc
This commit is contained in:
Ranjith kumar authored and GitHub committed 2024-12-31 11:44:17 +00:00
1 parent 6780ea9f13
commit 1ef3e4b8de
2 files changed
+22 -5

No files matched your search

@@ -229,13 +229,22 @@ export class AbstractFulfillmentProviderService
* @returns The calculated price's details. * @returns The calculated price's details.
* *
* @example * @example
* import { CalculateShippingOptionPriceDTO } from "@medusajs/framework/types"
* class MyFulfillmentProviderService extends AbstractFulfillmentProviderService { * class MyFulfillmentProviderService extends AbstractFulfillmentProviderService {
* // ... * // ...
* async calculatePrice(optionData: any, data: any, context: any): Promise<number> { * async calculatePrice(
* optionData: CalculateShippingOptionPriceDTO["optionData"],
* data: CalculateShippingOptionPriceDTO["data"],
* context: CalculateShippingOptionPriceDTO["context"]
* ): Promise<CalculatedShippingOptionPrice> {
* // assuming the client can calculate the price using * // assuming the client can calculate the price using
* // the third-party service * // the third-party service
* const price = await this.client.calculate(data) * const price = await this.client.calculate(data)
* return price * return {
* calculated_amount: price,
* // Update this boolean value based on your logic
* is_calculated_price_tax_inclusive: true,
* }
* } * }
* } * }
*/ */
@@ -346,7 +355,7 @@ export class AbstractFulfillmentProviderService
* `data` property, it's stored in the fulfillment's `data` property. * `data` property, it's stored in the fulfillment's `data` property.
* *
* The `data` property is useful when handling the fulfillment later, * The `data` property is useful when handling the fulfillment later,
* as you can access information useful for your integration. For example, you * as you can access information useful for your integration. For example, you
* can store an ID for the fulfillment in the third-party service. * can store an ID for the fulfillment in the third-party service.
* *
* Use this method to perform actions necessary in the third-party fulfillment service, such as * Use this method to perform actions necessary in the third-party fulfillment service, such as
@@ -241,11 +241,19 @@ you can retrieve the calculated price of the shipping method.
```ts ```ts
class MyFulfillmentProviderService extends AbstractFulfillmentProviderService { class MyFulfillmentProviderService extends AbstractFulfillmentProviderService {
// ... // ...
async calculatePrice(optionData: any, data: any, context: any): Promise<number> { async calculatePrice(
optionData: CalculateShippingOptionPriceDTO["optionData"],
data: CalculateShippingOptionPriceDTO["data"],
context: CalculateShippingOptionPriceDTO["context"]
): Promise<CalculatedShippingOptionPrice> {
// assuming the client can calculate the price using // assuming the client can calculate the price using
// the third-party service // the third-party service
const price = await this.client.calculate(data) const price = await this.client.calculate(data)
return price return {
calculated_amount: price,
// update this boolean value based on your logic
is_calculated_price_tax_inclusive: true
}
} }
} }
``` ```