feat(*): Modules export entities and fields (#5242)

This commit is contained in:
Carlos R. L. Rodrigues
2023-10-03 14:20:43 -07:00
committed by GitHub
parent eeceec791c
commit 130cbc1f43
27 changed files with 801 additions and 226 deletions
+15 -18
View File
@@ -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",