feat(pricing, utils, types): adds money amount to pricing module (#4909)

What:

- Adds money amount service / repo / model
- Adds money amount to entry service
- Adds tests for services
- Refreshes schema
- Update joiner config to include money amounts


RESOLVES CORE-1478
RESOLVES CORE-1479

Co-authored-by: Shahed Nasser <27354907+shahednasser@users.noreply.github.com>
Co-authored-by: Carlos R. L. Rodrigues <37986729+carlos-r-l-rodrigues@users.noreply.github.com>
This commit is contained in:
Riqwan Thamir
2023-08-31 15:03:10 +02:00
committed by GitHub
parent 0627d06f72
commit fcb6b4f510
27 changed files with 1481 additions and 112 deletions

View File

@@ -1,2 +1,3 @@
export * from "./inventory-level-stock-location"
export * from "./product-variant-inventory-item"
export * from "./product-variant-money-amount"

View File

@@ -0,0 +1,60 @@
import { Modules } from "@medusajs/modules-sdk"
import { ModuleJoinerConfig } from "@medusajs/types"
import { LINKS } from "../links"
export const ProductVariantMoneyAmount: ModuleJoinerConfig = {
serviceName: LINKS.ProductVariantMoneyAmount,
isLink: true,
databaseConfig: {
tableName: "product_variant_money_amount",
idPrefix: "pvma",
},
alias: [
{
name: "product_variant_money_amount",
},
{
name: "product_variant_money_amounts",
},
],
primaryKeys: ["id", "variant_id", "money_amount_id"],
relationships: [
{
serviceName: Modules.PRODUCT,
primaryKey: "id",
foreignKey: "variant_id",
alias: "variant",
args: {
methodSuffix: "Variants",
},
},
{
serviceName: Modules.PRICING,
primaryKey: "id",
foreignKey: "money_amount_id",
alias: "money_amount",
deleteCascade: true,
},
],
extends: [
{
serviceName: Modules.PRODUCT,
relationship: {
serviceName: LINKS.ProductVariantMoneyAmount,
primaryKey: "variant_id",
foreignKey: "id",
alias: "prices",
isList: true,
},
},
{
serviceName: Modules.PRICING,
relationship: {
serviceName: LINKS.ProductVariantMoneyAmount,
primaryKey: "money_amount_id",
foreignKey: "id",
alias: "variant_link",
},
},
],
}

View File

@@ -93,8 +93,7 @@ export const initialize = async (
!modulesLoadedKeys.includes(primary.serviceName) ||
!modulesLoadedKeys.includes(foreign.serviceName)
) {
// TODO: This should be uncommented when all modules are done
// continue
continue
}
const moduleDefinition = getLinkModuleDefinition(
@@ -180,8 +179,7 @@ export async function runMigrations(
!modulesLoadedKeys.includes(primary.serviceName) ||
!modulesLoadedKeys.includes(foreign.serviceName)
) {
// TODO: This should be uncommented when all modules are done
// continue
continue
}
const migrate = getMigration(definition, serviceKey, primary, foreign)

View File

@@ -8,4 +8,10 @@ export const LINKS = {
Modules.INVENTORY,
"inventory_item_id"
),
ProductVariantMoneyAmount: composeLinkName(
Modules.PRODUCT,
"variant_id",
Modules.PRICING,
"money_amount_id"
),
}