Files
medusa-store/packages/modules/link-modules/src/definitions/order-fulfillment.ts
Adrien de Peretti 937a632eb6 chore: make module loaders DML aware and auto generate joiner config (#7781)
* chore: make module loaders DML aware and auto generate joiner config

* fixes and cleanup

* improve dml entity check

* add unit tests on load resources

* cleanup deps

* cleanup deps

* cleanup Modules

* finalise

* fix modules-sdk jest

* fix modules-sdk jest

* fix import

* fix import
2024-06-20 18:18:07 +02:00

66 lines
1.5 KiB
TypeScript

import { ModuleJoinerConfig } from "@medusajs/types"
import { LINKS, Modules } from "@medusajs/utils"
export const OrderFulfillment: ModuleJoinerConfig = {
serviceName: LINKS.OrderFulfillment,
isLink: true,
databaseConfig: {
tableName: "order_fulfillment",
idPrefix: "ordful",
},
alias: [
{
name: ["order_fulfillment", "order_fulfillments"],
args: {
entity: "LinkOrderFulfillment",
},
},
],
primaryKeys: ["id", "order_id", "fulfillment_id"],
relationships: [
{
serviceName: Modules.ORDER,
primaryKey: "id",
foreignKey: "order_id",
alias: "order",
args: {
methodSuffix: "Orders",
},
},
{
serviceName: Modules.FULFILLMENT,
primaryKey: "id",
foreignKey: "fulfillment_id",
alias: "fulfillments",
args: {
// TODO: We are not suppose to know the module implementation here, wait for later to think about inferring it
methodSuffix: "Fulfillments",
},
},
],
extends: [
{
serviceName: Modules.ORDER,
fieldAlias: {
fulfillments: "fulfillment_link.fulfillments",
},
relationship: {
serviceName: LINKS.OrderFulfillment,
primaryKey: "order_id",
foreignKey: "id",
alias: "fulfillment_link",
isList: true,
},
},
{
serviceName: Modules.FULFILLMENT,
relationship: {
serviceName: LINKS.OrderFulfillment,
primaryKey: "fulfillment_id",
foreignKey: "id",
alias: "order_link",
},
},
],
}