feat(*): Modules export entities and fields (#5242)
This commit is contained in:
@@ -1,30 +1,27 @@
|
||||
import { Modules } from "@medusajs/modules-sdk"
|
||||
import { ModuleJoinerConfig } from "@medusajs/types"
|
||||
import { MapToConfig } from "@medusajs/utils"
|
||||
import * as Models from "@models"
|
||||
import { Currency, MoneyAmount, PriceSet } from "@models"
|
||||
|
||||
export enum LinkableKeys {
|
||||
MONEY_AMOUNT_ID = "money_amount_id",
|
||||
CURRENCY_CODE = "currency_code",
|
||||
PRICE_SET_ID = "price_set_id",
|
||||
}
|
||||
|
||||
export const entityNameToLinkableKeysMap: MapToConfig = {
|
||||
[Models.PriceSet.name]: [
|
||||
{ mapTo: LinkableKeys.PRICE_SET_ID, valueFrom: "id" },
|
||||
],
|
||||
[Models.Currency.name]: [
|
||||
{ mapTo: LinkableKeys.CURRENCY_CODE, valueFrom: "code" },
|
||||
],
|
||||
[Models.MoneyAmount.name]: [
|
||||
{ mapTo: LinkableKeys.MONEY_AMOUNT_ID, valueFrom: "id" },
|
||||
],
|
||||
export const LinkableKeys = {
|
||||
money_amount_id: MoneyAmount.name,
|
||||
currency_code: Currency.name,
|
||||
price_set_id: PriceSet.name,
|
||||
}
|
||||
const entityLinkableKeysMap: MapToConfig = {}
|
||||
Object.entries(LinkableKeys).forEach(([key, value]) => {
|
||||
entityLinkableKeysMap[value] ??= []
|
||||
entityLinkableKeysMap[value].push({
|
||||
mapTo: key,
|
||||
valueFrom: key.split("_").pop()!,
|
||||
})
|
||||
})
|
||||
export const entityNameToLinkableKeysMap: MapToConfig = entityLinkableKeysMap
|
||||
|
||||
export const joinerConfig: ModuleJoinerConfig = {
|
||||
serviceName: Modules.PRICING,
|
||||
primaryKeys: ["id", "currency_code"],
|
||||
linkableKeys: Object.values(LinkableKeys),
|
||||
linkableKeys: LinkableKeys,
|
||||
alias: [
|
||||
{
|
||||
name: "price_set",
|
||||
|
||||
Reference in New Issue
Block a user