docs: add Sanity integration guide (#10152)
* docs: add integrate to Sanity guide * address PR feedback * added more screenshots * edit introduction * added meta images + changes
This commit is contained in:
1 parent
6680f69588
commit
a429a267f1
19 files changed
+2150
-92
No files matched your search
@@ -1681,17 +1681,17 @@ import {
|
||||
createWorkflow,
|
||||
transform,
|
||||
when,
|
||||
WorkflowResponse
|
||||
WorkflowResponse,
|
||||
} from "@medusajs/framework/workflows-sdk"
|
||||
import {
|
||||
completeCartWorkflow,
|
||||
useQueryGraphStep,
|
||||
createRemoteLinkStep,
|
||||
createOrderFulfillmentWorkflow,
|
||||
emitEventStep
|
||||
emitEventStep,
|
||||
} from "@medusajs/medusa/core-flows"
|
||||
import {
|
||||
Modules
|
||||
Modules,
|
||||
} from "@medusajs/framework/utils"
|
||||
import createDigitalProductOrderStep from "./steps/create-digital-product-order"
|
||||
import { DIGITAL_PRODUCT_MODULE } from "../../modules/digital-product"
|
||||
@@ -1705,8 +1705,8 @@ const createDigitalProductOrderWorkflow = createWorkflow(
|
||||
(input: WorkflowInput) => {
|
||||
const { id } = completeCartWorkflow.runAsStep({
|
||||
input: {
|
||||
id: input.cart_id
|
||||
}
|
||||
id: input.cart_id,
|
||||
},
|
||||
})
|
||||
|
||||
const { data: orders } = useQueryGraphStep({
|
||||
@@ -1715,18 +1715,18 @@ const createDigitalProductOrderWorkflow = createWorkflow(
|
||||
"*",
|
||||
"items.*",
|
||||
"items.variant.*",
|
||||
"items.variant.digital_product.*"
|
||||
"items.variant.digital_product.*",
|
||||
],
|
||||
filters: {
|
||||
id
|
||||
id,
|
||||
},
|
||||
options: {
|
||||
throwIfKeyNotFound: true
|
||||
}
|
||||
throwIfKeyNotFound: true,
|
||||
},
|
||||
})
|
||||
|
||||
const itemsWithDigitalProducts = transform({
|
||||
orders
|
||||
orders,
|
||||
},
|
||||
(data) => {
|
||||
return data.orders[0].items.filter((item) => item.variant.digital_product !== undefined)
|
||||
@@ -1740,37 +1740,37 @@ const createDigitalProductOrderWorkflow = createWorkflow(
|
||||
const {
|
||||
digital_product_order,
|
||||
} = createDigitalProductOrderStep({
|
||||
items: orders[0].items
|
||||
items: orders[0].items,
|
||||
})
|
||||
|
||||
createRemoteLinkStep([{
|
||||
[DIGITAL_PRODUCT_MODULE]: {
|
||||
digital_product_order_id: digital_product_order.id
|
||||
digital_product_order_id: digital_product_order.id,
|
||||
},
|
||||
[Modules.ORDER]: {
|
||||
order_id: id
|
||||
}
|
||||
order_id: id,
|
||||
},
|
||||
}])
|
||||
|
||||
createOrderFulfillmentWorkflow.runAsStep({
|
||||
input: {
|
||||
order_id: id,
|
||||
items: transform({
|
||||
itemsWithDigitalProducts
|
||||
itemsWithDigitalProducts,
|
||||
}, (data) => {
|
||||
return data.itemsWithDigitalProducts.map((item) => ({
|
||||
id: item.id,
|
||||
quantity: item.quantity
|
||||
quantity: item.quantity,
|
||||
}))
|
||||
})
|
||||
}
|
||||
}),
|
||||
},
|
||||
})
|
||||
|
||||
emitEventStep({
|
||||
eventName: "digital_product_order.created",
|
||||
data: {
|
||||
id: digital_product_order.id
|
||||
}
|
||||
id: digital_product_order.id,
|
||||
},
|
||||
})
|
||||
|
||||
return digital_product_order
|
||||
@@ -1778,7 +1778,7 @@ const createDigitalProductOrderWorkflow = createWorkflow(
|
||||
|
||||
return new WorkflowResponse({
|
||||
order: orders[0],
|
||||
digital_product_order
|
||||
digital_product_order,
|
||||
})
|
||||
}
|
||||
)
|
||||
@@ -1970,7 +1970,7 @@ export const fulfillWorkflowHighlights = [
|
||||
```ts title="src/workflows/fulfill-digital-order/index.ts" highlights={fulfillWorkflowHighlights} collapsibleLines="1-10" expandMoreLabel="Show Imports"
|
||||
import {
|
||||
createWorkflow,
|
||||
WorkflowResponse
|
||||
WorkflowResponse,
|
||||
} from "@medusajs/framework/workflows-sdk"
|
||||
import {
|
||||
useQueryGraphStep,
|
||||
@@ -1990,18 +1990,18 @@ export const fulfillDigitalOrderWorkflow = createWorkflow(
|
||||
"*",
|
||||
"products.*",
|
||||
"products.medias.*",
|
||||
"order.*"
|
||||
"order.*",
|
||||
],
|
||||
filters: {
|
||||
id,
|
||||
},
|
||||
options: {
|
||||
throwIfKeyNotFound: true
|
||||
}
|
||||
throwIfKeyNotFound: true,
|
||||
},
|
||||
})
|
||||
|
||||
sendDigitalOrderNotificationStep({
|
||||
digital_product_order: digitalProductOrders[0]
|
||||
digital_product_order: digitalProductOrders[0],
|
||||
})
|
||||
|
||||
return new WorkflowResponse(
|
||||
|
||||
@@ -1145,7 +1145,7 @@ export const createVendorOrdersWorkflowHighlights = [
|
||||
```ts title="src/workflows/marketplace/create-vendor-orders/index.ts" collapsibleLines="1-13" expandMoreLabel="Show Imports"
|
||||
import {
|
||||
createWorkflow,
|
||||
WorkflowResponse
|
||||
WorkflowResponse,
|
||||
} from "@medusajs/framework/workflows-sdk"
|
||||
import {
|
||||
useQueryGraphStep,
|
||||
@@ -1165,21 +1165,21 @@ const createVendorOrdersWorkflow = createWorkflow(
|
||||
(input: WorkflowInput) => {
|
||||
const { data: carts } = useQueryGraphStep({
|
||||
entity: "cart",
|
||||
fields: ['items.*'],
|
||||
fields: ["items.*"],
|
||||
filters: { id: input.cart_id },
|
||||
options: {
|
||||
throwIfKeyNotFound: true
|
||||
}
|
||||
throwIfKeyNotFound: true,
|
||||
},
|
||||
})
|
||||
|
||||
const { id: orderId } = completeCartWorkflow.runAsStep({
|
||||
input: {
|
||||
id: carts[0].id
|
||||
}
|
||||
id: carts[0].id,
|
||||
},
|
||||
})
|
||||
|
||||
const { vendorsItems } = groupVendorItemsStep({
|
||||
cart: carts[0].id
|
||||
cart: carts[0].id,
|
||||
})
|
||||
|
||||
const order = getOrderDetailWorkflow.runAsStep({
|
||||
@@ -1200,17 +1200,17 @@ const createVendorOrdersWorkflow = createWorkflow(
|
||||
|
||||
const {
|
||||
orders: vendorOrders,
|
||||
linkDefs
|
||||
linkDefs,
|
||||
} = createVendorOrdersStep({
|
||||
parentOrder: order,
|
||||
vendorsItems
|
||||
vendorsItems,
|
||||
})
|
||||
|
||||
createRemoteLinkStep(linkDefs)
|
||||
|
||||
return new WorkflowResponse({
|
||||
parent_order: order,
|
||||
vendor_orders: vendorOrders
|
||||
vendor_orders: vendorOrders,
|
||||
})
|
||||
}
|
||||
)
|
||||
|
||||
@@ -600,15 +600,15 @@ export const createSubscriptionWorkflowHighlights = [
|
||||
```ts title="src/workflows/create-subscription/index.ts" highlights={createSubscriptionWorkflowHighlights} collapsibleLines="1-13" expandMoreLabel="Show Imports"
|
||||
import {
|
||||
createWorkflow,
|
||||
WorkflowResponse
|
||||
WorkflowResponse,
|
||||
} from "@medusajs/framework/workflows-sdk"
|
||||
import {
|
||||
createRemoteLinkStep,
|
||||
completeCartWorkflow,
|
||||
useQueryGraphStep
|
||||
useQueryGraphStep,
|
||||
} from "@medusajs/medusa/core-flows"
|
||||
import {
|
||||
SubscriptionInterval
|
||||
SubscriptionInterval,
|
||||
} from "../../modules/subscription/types"
|
||||
import createSubscriptionStep from "./steps/create-subscription"
|
||||
|
||||
@@ -625,33 +625,33 @@ const createSubscriptionWorkflow = createWorkflow(
|
||||
(input: WorkflowInput) => {
|
||||
const { id } = completeCartWorkflow.runAsStep({
|
||||
input: {
|
||||
id: input.cart_id
|
||||
}
|
||||
id: input.cart_id,
|
||||
},
|
||||
})
|
||||
|
||||
const { data: orders } = useQueryGraphStep({
|
||||
entity: "order",
|
||||
fields: ["*", "id", "customer_id"],
|
||||
filters: {
|
||||
id
|
||||
id,
|
||||
},
|
||||
options: {
|
||||
throwIfKeyNotFound: true
|
||||
}
|
||||
throwIfKeyNotFound: true,
|
||||
},
|
||||
})
|
||||
|
||||
const { subscription, linkDefs } = createSubscriptionStep({
|
||||
cart_id: input.cart_id,
|
||||
order_id: orders[0].id,
|
||||
customer_id: orders[0].customer_id,
|
||||
subscription_data: input.subscription_data
|
||||
subscription_data: input.subscription_data,
|
||||
})
|
||||
|
||||
createRemoteLinkStep(linkDefs)
|
||||
|
||||
return new WorkflowResponse({
|
||||
subscription: subscription,
|
||||
order: orders[0]
|
||||
order: orders[0],
|
||||
})
|
||||
}
|
||||
)
|
||||
@@ -1786,14 +1786,14 @@ import {
|
||||
useQueryGraphStep,
|
||||
createPaymentSessionsWorkflow,
|
||||
createRemoteLinkStep,
|
||||
capturePaymentStep
|
||||
capturePaymentStep,
|
||||
} from "@medusajs/medusa/core-flows"
|
||||
import {
|
||||
SubscriptionData
|
||||
SubscriptionData,
|
||||
} from "../../modules/subscription/types"
|
||||
import {
|
||||
authorizePaymentSessionStep,
|
||||
createPaymentCollectionsStep
|
||||
createPaymentCollectionsStep,
|
||||
} from "@medusajs/medusa/core-flows"
|
||||
import createSubscriptionOrderStep from "./steps/create-subscription-order"
|
||||
import updateSubscriptionStep from "./steps/update-subscription"
|
||||
@@ -1819,21 +1819,21 @@ const createSubscriptionOrderWorkflow = createWorkflow(
|
||||
"cart.shipping_methods.tax_lines.*",
|
||||
"cart.shipping_methods.adjustments.*",
|
||||
"cart.payment_collection.*",
|
||||
"cart.payment_collection.payment_sessions.*"
|
||||
"cart.payment_collection.payment_sessions.*",
|
||||
],
|
||||
filters: {
|
||||
id: [input.subscription.id]
|
||||
id: [input.subscription.id],
|
||||
},
|
||||
options: {
|
||||
throwIfKeyNotFound: true
|
||||
}
|
||||
throwIfKeyNotFound: true,
|
||||
},
|
||||
})
|
||||
|
||||
const payment_collection = createPaymentCollectionsStep([{
|
||||
region_id: carts[0].region_id,
|
||||
currency_code: carts[0].currency_code,
|
||||
amount: carts[0].payment_collection.amount,
|
||||
metadata: carts[0].payment_collection.metadata
|
||||
metadata: carts[0].payment_collection.metadata,
|
||||
}])[0]
|
||||
|
||||
const paymentSession = createPaymentSessionsWorkflow.runAsStep({
|
||||
@@ -1841,34 +1841,34 @@ const createSubscriptionOrderWorkflow = createWorkflow(
|
||||
payment_collection_id: payment_collection.id,
|
||||
provider_id: carts[0].payment_collection.payment_sessions[0].provider_id,
|
||||
data: carts[0].payment_collection.payment_sessions[0].data,
|
||||
context: carts[0].payment_collection.payment_sessions[0].context
|
||||
}
|
||||
context: carts[0].payment_collection.payment_sessions[0].context,
|
||||
},
|
||||
})
|
||||
|
||||
const payment = authorizePaymentSessionStep({
|
||||
id: paymentSession.id,
|
||||
context: paymentSession.context
|
||||
context: paymentSession.context,
|
||||
})
|
||||
|
||||
const { order, linkDefs } = createSubscriptionOrderStep({
|
||||
subscription: input.subscription,
|
||||
cart: carts[0],
|
||||
payment_collection
|
||||
payment_collection,
|
||||
})
|
||||
|
||||
createRemoteLinkStep(linkDefs)
|
||||
|
||||
capturePaymentStep({
|
||||
payment_id: payment.id,
|
||||
amount: payment.amount
|
||||
amount: payment.amount,
|
||||
})
|
||||
|
||||
updateSubscriptionStep({
|
||||
subscription_id: input.subscription.id
|
||||
subscription_id: input.subscription.id,
|
||||
})
|
||||
|
||||
return new WorkflowResponse({
|
||||
order
|
||||
order,
|
||||
})
|
||||
}
|
||||
)
|
||||
|
||||
Reference in new issue
Block a user