Files
medusa-store/packages/modules/link-modules/src/definitions/order-exchange-payment-collection.ts
Harminder Virk d3e725a907 feat: add hasMany flag to enforce in app link uniqueness (#12039)
* feat: add createMultiple flag to enforce inApp link uniqueness

* changes

* mocks

* default

* many to many

---------

Co-authored-by: Carlos R. L. Rodrigues <rodrigolr@gmail.com>
2025-04-02 10:46:51 +02:00

76 lines
1.9 KiB
TypeScript

import { ModuleJoinerConfig } from "@medusajs/framework/types"
import { LINKS, Modules } from "@medusajs/framework/utils"
export const OrderExchangePaymentCollection: ModuleJoinerConfig = {
serviceName: LINKS.OrderExchangePaymentCollection,
isLink: true,
databaseConfig: {
tableName: "order_exchange_payment_collection",
idPrefix: "excpay",
},
alias: [
{
name: [
"order_exchange_payment_collection",
"order_exchange_payment_collections",
],
entity: "LinkOrderExchangePaymentCollection",
},
],
primaryKeys: ["id", "exchange_id", "payment_collection_id"],
relationships: [
{
serviceName: Modules.ORDER,
entity: "OrderExchange",
primaryKey: "id",
foreignKey: "exchange_id",
alias: "order",
args: {
methodSuffix: "OrderExchanges",
},
},
{
serviceName: Modules.PAYMENT,
entity: "PaymentCollection",
primaryKey: "id",
foreignKey: "payment_collection_id",
alias: "payment_collection",
args: {
methodSuffix: "PaymentCollections",
},
hasMany: true,
},
],
extends: [
{
serviceName: Modules.ORDER,
entity: "OrderExchange",
fieldAlias: {
exchange_payment_collections: {
path: "exchange_payment_collections_link.payment_collection",
isList: true,
},
},
relationship: {
serviceName: LINKS.OrderExchangePaymentCollection,
primaryKey: "exchange_id",
foreignKey: "id",
alias: "exchange_payment_collections_link",
},
},
{
serviceName: Modules.PAYMENT,
entity: "PaymentCollection",
fieldAlias: {
exchange: "order_exchange_link.order",
},
relationship: {
serviceName: LINKS.OrderExchangePaymentCollection,
primaryKey: "payment_collection_id",
foreignKey: "id",
alias: "order_exchange_link",
},
},
],
}