fix(link-modules): generate graphql type of read only links (#9955)
This commit is contained in:
1 parent
6496789c65
commit
03f4b66b90
35 files changed
+100
-27
No files matched your search
@@ -0,0 +1,7 @@
|
|||||||
|
---
|
||||||
|
"@medusajs/link-modules": patch
|
||||||
|
"@medusajs/types": patch
|
||||||
|
"@medusajs/utils": patch
|
||||||
|
---
|
||||||
|
|
||||||
|
Generate graph schema with readonly links
|
||||||
@@ -67,6 +67,7 @@ medusaIntegrationTestRunner({
|
|||||||
extends: [
|
extends: [
|
||||||
{
|
{
|
||||||
serviceName: "currency",
|
serviceName: "currency",
|
||||||
|
entity: "Currency",
|
||||||
fieldAlias: {
|
fieldAlias: {
|
||||||
region: {
|
region: {
|
||||||
path: "region_link.region",
|
path: "region_link.region",
|
||||||
@@ -85,6 +86,7 @@ medusaIntegrationTestRunner({
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
serviceName: "region",
|
serviceName: "region",
|
||||||
|
entity: "Region",
|
||||||
fieldAlias: {
|
fieldAlias: {
|
||||||
currency: {
|
currency: {
|
||||||
path: "currency_link.currency",
|
path: "currency_link.currency",
|
||||||
@@ -164,6 +166,7 @@ medusaIntegrationTestRunner({
|
|||||||
extends: [
|
extends: [
|
||||||
{
|
{
|
||||||
serviceName: "product",
|
serviceName: "product",
|
||||||
|
entity: "ProductVariant",
|
||||||
fieldAlias: {
|
fieldAlias: {
|
||||||
region: {
|
region: {
|
||||||
path: "region_link.region",
|
path: "region_link.region",
|
||||||
@@ -182,6 +185,7 @@ medusaIntegrationTestRunner({
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
serviceName: "region",
|
serviceName: "region",
|
||||||
|
entity: "Region",
|
||||||
fieldAlias: {
|
fieldAlias: {
|
||||||
product_variant: {
|
product_variant: {
|
||||||
path: "product_variant_link.product_variant",
|
path: "product_variant_link.product_variant",
|
||||||
@@ -266,6 +270,7 @@ medusaIntegrationTestRunner({
|
|||||||
extends: [
|
extends: [
|
||||||
{
|
{
|
||||||
serviceName: "currency",
|
serviceName: "currency",
|
||||||
|
entity: "Currency",
|
||||||
fieldAlias: {
|
fieldAlias: {
|
||||||
region: {
|
region: {
|
||||||
path: "region_link.region",
|
path: "region_link.region",
|
||||||
@@ -284,6 +289,7 @@ medusaIntegrationTestRunner({
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
serviceName: "region",
|
serviceName: "region",
|
||||||
|
entity: "Region",
|
||||||
fieldAlias: {
|
fieldAlias: {
|
||||||
currency: {
|
currency: {
|
||||||
path: "currency_link.currency",
|
path: "currency_link.currency",
|
||||||
@@ -362,6 +368,7 @@ medusaIntegrationTestRunner({
|
|||||||
extends: [
|
extends: [
|
||||||
{
|
{
|
||||||
serviceName: "currency",
|
serviceName: "currency",
|
||||||
|
entity: "Currency",
|
||||||
fieldAlias: {
|
fieldAlias: {
|
||||||
regions: {
|
regions: {
|
||||||
path: "region_link.region",
|
path: "region_link.region",
|
||||||
@@ -380,6 +387,7 @@ medusaIntegrationTestRunner({
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
serviceName: "region",
|
serviceName: "region",
|
||||||
|
entity: "Region",
|
||||||
fieldAlias: {
|
fieldAlias: {
|
||||||
currency: {
|
currency: {
|
||||||
path: "currency_link.currency",
|
path: "currency_link.currency",
|
||||||
|
|||||||
@@ -48,6 +48,7 @@ export interface JoinerServiceConfig {
|
|||||||
relationships?: JoinerRelationship[]
|
relationships?: JoinerRelationship[]
|
||||||
extends?: {
|
extends?: {
|
||||||
serviceName: string
|
serviceName: string
|
||||||
|
entity?: string
|
||||||
relationship: JoinerRelationship
|
relationship: JoinerRelationship
|
||||||
}[]
|
}[]
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -198,6 +198,7 @@ export type ModuleJoinerConfig = Omit<
|
|||||||
relationships?: ModuleJoinerRelationship[]
|
relationships?: ModuleJoinerRelationship[]
|
||||||
extends?: {
|
extends?: {
|
||||||
serviceName: string
|
serviceName: string
|
||||||
|
entity?: string
|
||||||
fieldAlias?: Record<
|
fieldAlias?: Record<
|
||||||
string,
|
string,
|
||||||
| string
|
| string
|
||||||
|
|||||||
@@ -388,6 +388,7 @@ ${serviceBObj.module}: {
|
|||||||
extends: [
|
extends: [
|
||||||
{
|
{
|
||||||
serviceName: serviceAObj.module,
|
serviceName: serviceAObj.module,
|
||||||
|
entity: serviceAObj.entity,
|
||||||
fieldAlias: buildFieldAlias({
|
fieldAlias: buildFieldAlias({
|
||||||
property: serviceBObj.isList ? pluralize(aliasB) : aliasB,
|
property: serviceBObj.isList ? pluralize(aliasB) : aliasB,
|
||||||
path: aliasB + "_link." + aliasB,
|
path: aliasB + "_link." + aliasB,
|
||||||
@@ -405,6 +406,7 @@ ${serviceBObj.module}: {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
serviceName: serviceBObj.module,
|
serviceName: serviceBObj.module,
|
||||||
|
entity: serviceBObj.entity,
|
||||||
fieldAlias: buildFieldAlias({
|
fieldAlias: buildFieldAlias({
|
||||||
property: serviceAObj.isList ? pluralize(aliasA) : aliasA,
|
property: serviceAObj.isList ? pluralize(aliasA) : aliasA,
|
||||||
path: aliasA + "_link." + aliasA,
|
path: aliasA + "_link." + aliasA,
|
||||||
@@ -482,6 +484,7 @@ ${serviceBObj.module}: {
|
|||||||
extends: [
|
extends: [
|
||||||
{
|
{
|
||||||
serviceName: serviceAObj.module,
|
serviceName: serviceAObj.module,
|
||||||
|
entity: serviceAObj.entity,
|
||||||
fieldAlias: buildFieldAlias(readOnlyLinkOptions?.shortcut),
|
fieldAlias: buildFieldAlias(readOnlyLinkOptions?.shortcut),
|
||||||
relationship: {
|
relationship: {
|
||||||
serviceName: serviceBObj.module,
|
serviceName: serviceBObj.module,
|
||||||
|
|||||||
@@ -40,6 +40,7 @@ export const CartPaymentCollection: ModuleJoinerConfig = {
|
|||||||
extends: [
|
extends: [
|
||||||
{
|
{
|
||||||
serviceName: Modules.CART,
|
serviceName: Modules.CART,
|
||||||
|
entity: "Cart",
|
||||||
fieldAlias: {
|
fieldAlias: {
|
||||||
payment_collection: "payment_collection_link.payment_collection",
|
payment_collection: "payment_collection_link.payment_collection",
|
||||||
},
|
},
|
||||||
@@ -52,6 +53,7 @@ export const CartPaymentCollection: ModuleJoinerConfig = {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
serviceName: Modules.PAYMENT,
|
serviceName: Modules.PAYMENT,
|
||||||
|
entity: "PaymentCollection",
|
||||||
fieldAlias: {
|
fieldAlias: {
|
||||||
cart: "cart_link.cart",
|
cart: "cart_link.cart",
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -40,6 +40,7 @@ export const CartPromotion: ModuleJoinerConfig = {
|
|||||||
extends: [
|
extends: [
|
||||||
{
|
{
|
||||||
serviceName: Modules.CART,
|
serviceName: Modules.CART,
|
||||||
|
entity: "Cart",
|
||||||
fieldAlias: {
|
fieldAlias: {
|
||||||
promotions: {
|
promotions: {
|
||||||
path: "cart_link.promotions",
|
path: "cart_link.promotions",
|
||||||
|
|||||||
@@ -52,6 +52,7 @@ export const LocationFulfillmentProvider: ModuleJoinerConfig = {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
serviceName: Modules.FULFILLMENT,
|
serviceName: Modules.FULFILLMENT,
|
||||||
|
entity: "FulfillmentProvider",
|
||||||
relationship: {
|
relationship: {
|
||||||
serviceName: LINKS.LocationFulfillmentProvider,
|
serviceName: LINKS.LocationFulfillmentProvider,
|
||||||
primaryKey: "fulfillment_provider_id",
|
primaryKey: "fulfillment_provider_id",
|
||||||
|
|||||||
@@ -57,6 +57,7 @@ export const LocationFulfillmentSet: ModuleJoinerConfig = {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
serviceName: Modules.FULFILLMENT,
|
serviceName: Modules.FULFILLMENT,
|
||||||
|
entity: "FulfillmentSet",
|
||||||
fieldAlias: {
|
fieldAlias: {
|
||||||
location: "locations_link.location",
|
location: "locations_link.location",
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -40,6 +40,7 @@ export const OrderCart: ModuleJoinerConfig = {
|
|||||||
extends: [
|
extends: [
|
||||||
{
|
{
|
||||||
serviceName: Modules.ORDER,
|
serviceName: Modules.ORDER,
|
||||||
|
entity: "Order",
|
||||||
fieldAlias: {
|
fieldAlias: {
|
||||||
cart: "cart_link.cart",
|
cart: "cart_link.cart",
|
||||||
},
|
},
|
||||||
@@ -52,6 +53,7 @@ export const OrderCart: ModuleJoinerConfig = {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
serviceName: Modules.CART,
|
serviceName: Modules.CART,
|
||||||
|
entity: "Cart",
|
||||||
fieldAlias: {
|
fieldAlias: {
|
||||||
order: "order_link.order",
|
order: "order_link.order",
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -43,6 +43,7 @@ export const OrderClaimPaymentCollection: ModuleJoinerConfig = {
|
|||||||
extends: [
|
extends: [
|
||||||
{
|
{
|
||||||
serviceName: Modules.ORDER,
|
serviceName: Modules.ORDER,
|
||||||
|
entity: "OrderClaim",
|
||||||
fieldAlias: {
|
fieldAlias: {
|
||||||
claim_payment_collections: {
|
claim_payment_collections: {
|
||||||
path: "claim_payment_collections_link.payment_collection",
|
path: "claim_payment_collections_link.payment_collection",
|
||||||
@@ -58,6 +59,7 @@ export const OrderClaimPaymentCollection: ModuleJoinerConfig = {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
serviceName: Modules.PAYMENT,
|
serviceName: Modules.PAYMENT,
|
||||||
|
entity: "PaymentCollection",
|
||||||
fieldAlias: {
|
fieldAlias: {
|
||||||
claim: "order_claim_link.order",
|
claim: "order_claim_link.order",
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -43,6 +43,7 @@ export const OrderExchangePaymentCollection: ModuleJoinerConfig = {
|
|||||||
extends: [
|
extends: [
|
||||||
{
|
{
|
||||||
serviceName: Modules.ORDER,
|
serviceName: Modules.ORDER,
|
||||||
|
entity: "OrderExchange",
|
||||||
fieldAlias: {
|
fieldAlias: {
|
||||||
exchange_payment_collections: {
|
exchange_payment_collections: {
|
||||||
path: "exchange_payment_collections_link.payment_collection",
|
path: "exchange_payment_collections_link.payment_collection",
|
||||||
@@ -58,6 +59,7 @@ export const OrderExchangePaymentCollection: ModuleJoinerConfig = {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
serviceName: Modules.PAYMENT,
|
serviceName: Modules.PAYMENT,
|
||||||
|
entity: "PaymentCollection",
|
||||||
fieldAlias: {
|
fieldAlias: {
|
||||||
exchange: "order_exchange_link.order",
|
exchange: "order_exchange_link.order",
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -40,6 +40,7 @@ export const OrderFulfillment: ModuleJoinerConfig = {
|
|||||||
extends: [
|
extends: [
|
||||||
{
|
{
|
||||||
serviceName: Modules.ORDER,
|
serviceName: Modules.ORDER,
|
||||||
|
entity: "Order",
|
||||||
fieldAlias: {
|
fieldAlias: {
|
||||||
fulfillments: {
|
fulfillments: {
|
||||||
path: "fulfillment_link.fulfillments",
|
path: "fulfillment_link.fulfillments",
|
||||||
@@ -56,6 +57,7 @@ export const OrderFulfillment: ModuleJoinerConfig = {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
serviceName: Modules.FULFILLMENT,
|
serviceName: Modules.FULFILLMENT,
|
||||||
|
entity: "Fulfillment",
|
||||||
fieldAlias: {
|
fieldAlias: {
|
||||||
order: "order_link.order",
|
order: "order_link.order",
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -41,6 +41,7 @@ export const OrderPaymentCollection: ModuleJoinerConfig = {
|
|||||||
extends: [
|
extends: [
|
||||||
{
|
{
|
||||||
serviceName: Modules.ORDER,
|
serviceName: Modules.ORDER,
|
||||||
|
entity: "Order",
|
||||||
fieldAlias: {
|
fieldAlias: {
|
||||||
payment_collections: {
|
payment_collections: {
|
||||||
path: "payment_collections_link.payment_collection",
|
path: "payment_collections_link.payment_collection",
|
||||||
@@ -56,6 +57,7 @@ export const OrderPaymentCollection: ModuleJoinerConfig = {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
serviceName: Modules.PAYMENT,
|
serviceName: Modules.PAYMENT,
|
||||||
|
entity: "PaymentCollection",
|
||||||
fieldAlias: {
|
fieldAlias: {
|
||||||
order: "order_link.order",
|
order: "order_link.order",
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -40,8 +40,12 @@ export const OrderPromotion: ModuleJoinerConfig = {
|
|||||||
extends: [
|
extends: [
|
||||||
{
|
{
|
||||||
serviceName: Modules.ORDER,
|
serviceName: Modules.ORDER,
|
||||||
|
entity: "Order",
|
||||||
fieldAlias: {
|
fieldAlias: {
|
||||||
promotion: "promotion_link.promotion",
|
promotion: {
|
||||||
|
path: "promotion_link.promotion",
|
||||||
|
isList: true,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
relationship: {
|
relationship: {
|
||||||
serviceName: LINKS.OrderPromotion,
|
serviceName: LINKS.OrderPromotion,
|
||||||
@@ -52,6 +56,7 @@ export const OrderPromotion: ModuleJoinerConfig = {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
serviceName: Modules.PROMOTION,
|
serviceName: Modules.PROMOTION,
|
||||||
|
entity: "Promotion",
|
||||||
relationship: {
|
relationship: {
|
||||||
serviceName: LINKS.OrderPromotion,
|
serviceName: LINKS.OrderPromotion,
|
||||||
primaryKey: "promotion_id",
|
primaryKey: "promotion_id",
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ export const ReturnFulfillment: ModuleJoinerConfig = {
|
|||||||
relationships: [
|
relationships: [
|
||||||
{
|
{
|
||||||
serviceName: Modules.ORDER,
|
serviceName: Modules.ORDER,
|
||||||
entity: "Order",
|
entity: "Return",
|
||||||
primaryKey: "id",
|
primaryKey: "id",
|
||||||
foreignKey: "return_id",
|
foreignKey: "return_id",
|
||||||
alias: "return",
|
alias: "return",
|
||||||
@@ -40,6 +40,7 @@ export const ReturnFulfillment: ModuleJoinerConfig = {
|
|||||||
extends: [
|
extends: [
|
||||||
{
|
{
|
||||||
serviceName: Modules.ORDER,
|
serviceName: Modules.ORDER,
|
||||||
|
entity: "Return",
|
||||||
fieldAlias: {
|
fieldAlias: {
|
||||||
return_fulfillments: {
|
return_fulfillments: {
|
||||||
path: "return_fulfillment_link.fulfillments",
|
path: "return_fulfillment_link.fulfillments",
|
||||||
@@ -56,6 +57,7 @@ export const ReturnFulfillment: ModuleJoinerConfig = {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
serviceName: Modules.FULFILLMENT,
|
serviceName: Modules.FULFILLMENT,
|
||||||
|
entity: "Fulfillment",
|
||||||
relationship: {
|
relationship: {
|
||||||
serviceName: LINKS.OrderFulfillment,
|
serviceName: LINKS.OrderFulfillment,
|
||||||
primaryKey: "fulfillment_id",
|
primaryKey: "fulfillment_id",
|
||||||
|
|||||||
@@ -42,6 +42,7 @@ export const ProductSalesChannel: ModuleJoinerConfig = {
|
|||||||
extends: [
|
extends: [
|
||||||
{
|
{
|
||||||
serviceName: Modules.PRODUCT,
|
serviceName: Modules.PRODUCT,
|
||||||
|
entity: "Product",
|
||||||
fieldAlias: {
|
fieldAlias: {
|
||||||
sales_channels: {
|
sales_channels: {
|
||||||
path: "sales_channels_link.sales_channel",
|
path: "sales_channels_link.sales_channel",
|
||||||
@@ -58,6 +59,7 @@ export const ProductSalesChannel: ModuleJoinerConfig = {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
serviceName: Modules.SALES_CHANNEL,
|
serviceName: Modules.SALES_CHANNEL,
|
||||||
|
entity: "SalesChannel",
|
||||||
relationship: {
|
relationship: {
|
||||||
serviceName: LINKS.ProductSalesChannel,
|
serviceName: LINKS.ProductSalesChannel,
|
||||||
primaryKey: "sales_channel_id",
|
primaryKey: "sales_channel_id",
|
||||||
|
|||||||
@@ -49,6 +49,7 @@ export const ProductVariantInventoryItem: ModuleJoinerConfig = {
|
|||||||
extends: [
|
extends: [
|
||||||
{
|
{
|
||||||
serviceName: Modules.PRODUCT,
|
serviceName: Modules.PRODUCT,
|
||||||
|
entity: "ProductVariant",
|
||||||
fieldAlias: {
|
fieldAlias: {
|
||||||
inventory: "inventory_items.inventory",
|
inventory: "inventory_items.inventory",
|
||||||
},
|
},
|
||||||
@@ -62,6 +63,7 @@ export const ProductVariantInventoryItem: ModuleJoinerConfig = {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
serviceName: Modules.INVENTORY,
|
serviceName: Modules.INVENTORY,
|
||||||
|
entity: "InventoryItem",
|
||||||
fieldAlias: {
|
fieldAlias: {
|
||||||
variants: {
|
variants: {
|
||||||
path: "variant_link.variant",
|
path: "variant_link.variant",
|
||||||
|
|||||||
@@ -41,6 +41,7 @@ export const ProductVariantPriceSet: ModuleJoinerConfig = {
|
|||||||
extends: [
|
extends: [
|
||||||
{
|
{
|
||||||
serviceName: Modules.PRODUCT,
|
serviceName: Modules.PRODUCT,
|
||||||
|
entity: "ProductVariant",
|
||||||
fieldAlias: {
|
fieldAlias: {
|
||||||
price_set: "price_set_link.price_set",
|
price_set: "price_set_link.price_set",
|
||||||
prices: {
|
prices: {
|
||||||
@@ -62,6 +63,7 @@ export const ProductVariantPriceSet: ModuleJoinerConfig = {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
serviceName: Modules.PRICING,
|
serviceName: Modules.PRICING,
|
||||||
|
entity: "PriceSet",
|
||||||
relationship: {
|
relationship: {
|
||||||
serviceName: LINKS.ProductVariantPriceSet,
|
serviceName: LINKS.ProductVariantPriceSet,
|
||||||
primaryKey: "price_set_id",
|
primaryKey: "price_set_id",
|
||||||
|
|||||||
@@ -42,6 +42,7 @@ export const PublishableApiKeySalesChannel: ModuleJoinerConfig = {
|
|||||||
extends: [
|
extends: [
|
||||||
{
|
{
|
||||||
serviceName: Modules.API_KEY,
|
serviceName: Modules.API_KEY,
|
||||||
|
entity: "ApiKey",
|
||||||
fieldAlias: {
|
fieldAlias: {
|
||||||
sales_channels: {
|
sales_channels: {
|
||||||
path: "sales_channels_link.sales_channel",
|
path: "sales_channels_link.sales_channel",
|
||||||
@@ -58,6 +59,7 @@ export const PublishableApiKeySalesChannel: ModuleJoinerConfig = {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
serviceName: Modules.SALES_CHANNEL,
|
serviceName: Modules.SALES_CHANNEL,
|
||||||
|
entity: "SalesChannel",
|
||||||
fieldAlias: {
|
fieldAlias: {
|
||||||
publishable_api_keys: {
|
publishable_api_keys: {
|
||||||
path: "api_keys_link.api_key",
|
path: "api_keys_link.api_key",
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ export const CartCustomer: ModuleJoinerConfig = {
|
|||||||
extends: [
|
extends: [
|
||||||
{
|
{
|
||||||
serviceName: Modules.CART,
|
serviceName: Modules.CART,
|
||||||
|
entity: "Cart",
|
||||||
relationship: {
|
relationship: {
|
||||||
serviceName: Modules.CUSTOMER,
|
serviceName: Modules.CUSTOMER,
|
||||||
entity: "Customer",
|
entity: "Customer",
|
||||||
@@ -20,6 +21,7 @@ export const CartCustomer: ModuleJoinerConfig = {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
serviceName: Modules.CUSTOMER,
|
serviceName: Modules.CUSTOMER,
|
||||||
|
entity: "Customer",
|
||||||
relationship: {
|
relationship: {
|
||||||
serviceName: Modules.CART,
|
serviceName: Modules.CART,
|
||||||
entity: "Cart",
|
entity: "Cart",
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ export const CartProduct: ModuleJoinerConfig = {
|
|||||||
extends: [
|
extends: [
|
||||||
{
|
{
|
||||||
serviceName: Modules.CART,
|
serviceName: Modules.CART,
|
||||||
|
entity: "LineItem",
|
||||||
relationship: {
|
relationship: {
|
||||||
serviceName: Modules.PRODUCT,
|
serviceName: Modules.PRODUCT,
|
||||||
primaryKey: "id",
|
primaryKey: "id",
|
||||||
@@ -19,6 +20,7 @@ export const CartProduct: ModuleJoinerConfig = {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
serviceName: Modules.CART,
|
serviceName: Modules.CART,
|
||||||
|
entity: "LineItem",
|
||||||
relationship: {
|
relationship: {
|
||||||
serviceName: Modules.PRODUCT,
|
serviceName: Modules.PRODUCT,
|
||||||
entity: "ProductVariant",
|
entity: "ProductVariant",
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ export const CartRegion: ModuleJoinerConfig = {
|
|||||||
extends: [
|
extends: [
|
||||||
{
|
{
|
||||||
serviceName: Modules.CART,
|
serviceName: Modules.CART,
|
||||||
|
entity: "Cart",
|
||||||
relationship: {
|
relationship: {
|
||||||
serviceName: Modules.REGION,
|
serviceName: Modules.REGION,
|
||||||
entity: "Region",
|
entity: "Region",
|
||||||
@@ -20,6 +21,7 @@ export const CartRegion: ModuleJoinerConfig = {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
serviceName: Modules.REGION,
|
serviceName: Modules.REGION,
|
||||||
|
entity: "Region",
|
||||||
relationship: {
|
relationship: {
|
||||||
serviceName: Modules.CART,
|
serviceName: Modules.CART,
|
||||||
entity: "Cart",
|
entity: "Cart",
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ export const CartSalesChannel: ModuleJoinerConfig = {
|
|||||||
extends: [
|
extends: [
|
||||||
{
|
{
|
||||||
serviceName: Modules.CART,
|
serviceName: Modules.CART,
|
||||||
|
entity: "Cart",
|
||||||
relationship: {
|
relationship: {
|
||||||
serviceName: Modules.SALES_CHANNEL,
|
serviceName: Modules.SALES_CHANNEL,
|
||||||
entity: "SalesChannel",
|
entity: "SalesChannel",
|
||||||
@@ -20,6 +21,7 @@ export const CartSalesChannel: ModuleJoinerConfig = {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
serviceName: Modules.SALES_CHANNEL,
|
serviceName: Modules.SALES_CHANNEL,
|
||||||
|
entity: "SalesChannel",
|
||||||
relationship: {
|
relationship: {
|
||||||
serviceName: Modules.CART,
|
serviceName: Modules.CART,
|
||||||
entity: "Cart",
|
entity: "Cart",
|
||||||
|
|||||||
+1
@@ -7,6 +7,7 @@ export const InventoryLevelStockLocation: ModuleJoinerConfig = {
|
|||||||
extends: [
|
extends: [
|
||||||
{
|
{
|
||||||
serviceName: Modules.INVENTORY,
|
serviceName: Modules.INVENTORY,
|
||||||
|
entity: "InventoryLevel",
|
||||||
relationship: {
|
relationship: {
|
||||||
serviceName: Modules.STOCK_LOCATION,
|
serviceName: Modules.STOCK_LOCATION,
|
||||||
entity: "StockLocation",
|
entity: "StockLocation",
|
||||||
|
|||||||
+1
@@ -7,6 +7,7 @@ export const LineItemAdjustmentPromotion: ModuleJoinerConfig = {
|
|||||||
extends: [
|
extends: [
|
||||||
{
|
{
|
||||||
serviceName: Modules.CART,
|
serviceName: Modules.CART,
|
||||||
|
entity: "LineItemAdjustment",
|
||||||
relationship: {
|
relationship: {
|
||||||
serviceName: Modules.PROMOTION,
|
serviceName: Modules.PROMOTION,
|
||||||
entity: "Promotion",
|
entity: "Promotion",
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ export const OrderCustomer: ModuleJoinerConfig = {
|
|||||||
extends: [
|
extends: [
|
||||||
{
|
{
|
||||||
serviceName: Modules.ORDER,
|
serviceName: Modules.ORDER,
|
||||||
|
entity: "Order",
|
||||||
relationship: {
|
relationship: {
|
||||||
serviceName: Modules.CUSTOMER,
|
serviceName: Modules.CUSTOMER,
|
||||||
entity: "Customer",
|
entity: "Customer",
|
||||||
@@ -20,6 +21,7 @@ export const OrderCustomer: ModuleJoinerConfig = {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
serviceName: Modules.CUSTOMER,
|
serviceName: Modules.CUSTOMER,
|
||||||
|
entity: "Customer",
|
||||||
relationship: {
|
relationship: {
|
||||||
serviceName: Modules.ORDER,
|
serviceName: Modules.ORDER,
|
||||||
entity: "Order",
|
entity: "Order",
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ export const OrderProduct: ModuleJoinerConfig = {
|
|||||||
extends: [
|
extends: [
|
||||||
{
|
{
|
||||||
serviceName: Modules.ORDER,
|
serviceName: Modules.ORDER,
|
||||||
|
entity: "OrderLineItem",
|
||||||
relationship: {
|
relationship: {
|
||||||
serviceName: Modules.PRODUCT,
|
serviceName: Modules.PRODUCT,
|
||||||
entity: "Product",
|
entity: "Product",
|
||||||
@@ -20,6 +21,7 @@ export const OrderProduct: ModuleJoinerConfig = {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
serviceName: Modules.ORDER,
|
serviceName: Modules.ORDER,
|
||||||
|
entity: "OrderLineItem",
|
||||||
relationship: {
|
relationship: {
|
||||||
serviceName: Modules.PRODUCT,
|
serviceName: Modules.PRODUCT,
|
||||||
entity: "ProductVariant",
|
entity: "ProductVariant",
|
||||||
@@ -33,6 +35,7 @@ export const OrderProduct: ModuleJoinerConfig = {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
serviceName: Modules.PRODUCT,
|
serviceName: Modules.PRODUCT,
|
||||||
|
entity: "ProductVariant",
|
||||||
relationship: {
|
relationship: {
|
||||||
serviceName: Modules.ORDER,
|
serviceName: Modules.ORDER,
|
||||||
entity: "OrderLineItem",
|
entity: "OrderLineItem",
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ export const OrderRegion: ModuleJoinerConfig = {
|
|||||||
extends: [
|
extends: [
|
||||||
{
|
{
|
||||||
serviceName: Modules.ORDER,
|
serviceName: Modules.ORDER,
|
||||||
|
entity: "Order",
|
||||||
relationship: {
|
relationship: {
|
||||||
serviceName: Modules.REGION,
|
serviceName: Modules.REGION,
|
||||||
entity: "Region",
|
entity: "Region",
|
||||||
@@ -20,6 +21,7 @@ export const OrderRegion: ModuleJoinerConfig = {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
serviceName: Modules.REGION,
|
serviceName: Modules.REGION,
|
||||||
|
entity: "Region",
|
||||||
relationship: {
|
relationship: {
|
||||||
serviceName: Modules.ORDER,
|
serviceName: Modules.ORDER,
|
||||||
entity: "Order",
|
entity: "Order",
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ export const OrderSalesChannel: ModuleJoinerConfig = {
|
|||||||
extends: [
|
extends: [
|
||||||
{
|
{
|
||||||
serviceName: Modules.ORDER,
|
serviceName: Modules.ORDER,
|
||||||
|
entity: "Order",
|
||||||
relationship: {
|
relationship: {
|
||||||
serviceName: Modules.SALES_CHANNEL,
|
serviceName: Modules.SALES_CHANNEL,
|
||||||
entity: "SalesChannel",
|
entity: "SalesChannel",
|
||||||
@@ -20,6 +21,7 @@ export const OrderSalesChannel: ModuleJoinerConfig = {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
serviceName: Modules.SALES_CHANNEL,
|
serviceName: Modules.SALES_CHANNEL,
|
||||||
|
entity: "SalesChannel",
|
||||||
relationship: {
|
relationship: {
|
||||||
serviceName: Modules.ORDER,
|
serviceName: Modules.ORDER,
|
||||||
entity: "Order",
|
entity: "Order",
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ export const StoreCurrencies: ModuleJoinerConfig = {
|
|||||||
extends: [
|
extends: [
|
||||||
{
|
{
|
||||||
serviceName: Modules.STORE,
|
serviceName: Modules.STORE,
|
||||||
|
entity: "Store",
|
||||||
relationship: {
|
relationship: {
|
||||||
serviceName: Modules.CURRENCY,
|
serviceName: Modules.CURRENCY,
|
||||||
entity: "Currency",
|
entity: "Currency",
|
||||||
|
|||||||
@@ -38,6 +38,7 @@ export const RegionPaymentProvider: ModuleJoinerConfig = {
|
|||||||
extends: [
|
extends: [
|
||||||
{
|
{
|
||||||
serviceName: Modules.REGION,
|
serviceName: Modules.REGION,
|
||||||
|
entity: "Region",
|
||||||
fieldAlias: {
|
fieldAlias: {
|
||||||
payment_providers: {
|
payment_providers: {
|
||||||
path: "payment_provider_link.payment_provider",
|
path: "payment_provider_link.payment_provider",
|
||||||
@@ -54,6 +55,7 @@ export const RegionPaymentProvider: ModuleJoinerConfig = {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
serviceName: Modules.PAYMENT,
|
serviceName: Modules.PAYMENT,
|
||||||
|
entity: "PaymentProvider",
|
||||||
fieldAlias: {
|
fieldAlias: {
|
||||||
regions: {
|
regions: {
|
||||||
path: "region_link.region",
|
path: "region_link.region",
|
||||||
|
|||||||
@@ -40,6 +40,7 @@ export const SalesChannelLocation: ModuleJoinerConfig = {
|
|||||||
extends: [
|
extends: [
|
||||||
{
|
{
|
||||||
serviceName: Modules.SALES_CHANNEL,
|
serviceName: Modules.SALES_CHANNEL,
|
||||||
|
entity: "SalesChannel",
|
||||||
fieldAlias: {
|
fieldAlias: {
|
||||||
stock_locations: {
|
stock_locations: {
|
||||||
path: "locations_link.location",
|
path: "locations_link.location",
|
||||||
@@ -56,6 +57,7 @@ export const SalesChannelLocation: ModuleJoinerConfig = {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
serviceName: Modules.STOCK_LOCATION,
|
serviceName: Modules.STOCK_LOCATION,
|
||||||
|
entity: "StockLocation",
|
||||||
fieldAlias: {
|
fieldAlias: {
|
||||||
sales_channels: {
|
sales_channels: {
|
||||||
path: "sales_channels_link.sales_channel",
|
path: "sales_channels_link.sales_channel",
|
||||||
|
|||||||
@@ -41,6 +41,7 @@ export const ShippingOptionPriceSet: ModuleJoinerConfig = {
|
|||||||
extends: [
|
extends: [
|
||||||
{
|
{
|
||||||
serviceName: Modules.FULFILLMENT,
|
serviceName: Modules.FULFILLMENT,
|
||||||
|
entity: "ShippingOption",
|
||||||
fieldAlias: {
|
fieldAlias: {
|
||||||
prices: {
|
prices: {
|
||||||
path: "price_set_link.price_set.prices",
|
path: "price_set_link.price_set.prices",
|
||||||
@@ -60,6 +61,7 @@ export const ShippingOptionPriceSet: ModuleJoinerConfig = {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
serviceName: Modules.PRICING,
|
serviceName: Modules.PRICING,
|
||||||
|
entity: "PriceSet",
|
||||||
relationship: {
|
relationship: {
|
||||||
serviceName: LINKS.ShippingOptionPriceSet,
|
serviceName: LINKS.ShippingOptionPriceSet,
|
||||||
primaryKey: "price_set_id",
|
primaryKey: "price_set_id",
|
||||||
|
|||||||
@@ -46,11 +46,7 @@ export function generateGraphQLSchema(
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* const extJoinerConfig = MedusaModule.getJoinerConfig(
|
let extendedEntityName =
|
||||||
extend.relationship.serviceName
|
|
||||||
)*/
|
|
||||||
|
|
||||||
const extendedEntityName =
|
|
||||||
extendedModule[extend.serviceName].__joinerConfig.linkableKeys[
|
extendedModule[extend.serviceName].__joinerConfig.linkableKeys[
|
||||||
extend.relationship.primaryKey
|
extend.relationship.primaryKey
|
||||||
]
|
]
|
||||||
@@ -69,13 +65,30 @@ export function generateGraphQLSchema(
|
|||||||
|
|
||||||
let type = extend.relationship.isList ? `[${entityName}]` : entityName
|
let type = extend.relationship.isList ? `[${entityName}]` : entityName
|
||||||
if (joinerConfig?.isReadOnlyLink) {
|
if (joinerConfig?.isReadOnlyLink) {
|
||||||
// TODO: In readonly, the relation ship of the extend should be applied on all entities in the module that have the relationshiop foregin key attribute
|
// TODO: In readonly links, the relationship of the extend where entity is undefined has to be applied on all entities in the module that have the relationshiop foreing key attribute (unkown in this context)
|
||||||
/*type = extend.relationship.isList
|
if (!extend.entity) {
|
||||||
? `[${extendedEntityName}]`
|
|
||||||
: extendedEntityName*/
|
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const rel = extend.relationship
|
||||||
|
const extendedService = MedusaModule.getModuleInstance(rel.serviceName)
|
||||||
|
|
||||||
|
const hasGraphqlSchema =
|
||||||
|
!!extendedService[rel.serviceName].__joinerConfig.schema
|
||||||
|
const relEntity = rel.entity
|
||||||
|
? rel.entity
|
||||||
|
: extendedService[rel.serviceName].__joinerConfig.linkableKeys[
|
||||||
|
rel.primaryKey
|
||||||
|
]
|
||||||
|
|
||||||
|
if (!relEntity || !hasGraphqlSchema) {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
type = rel.isList ? `[${relEntity}]` : relEntity!
|
||||||
|
extendedEntityName = extend.entity
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Find the field aliases shortcut to extend the entity with it
|
* Find the field aliases shortcut to extend the entity with it
|
||||||
*/
|
*/
|
||||||
@@ -86,22 +99,6 @@ export function generateGraphQLSchema(
|
|||||||
? extend.relationship.isList
|
? extend.relationship.isList
|
||||||
: config.isList ?? extend.relationship.isList
|
: config.isList ?? extend.relationship.isList
|
||||||
|
|
||||||
// const pathSegments = path.split(",").reverse()
|
|
||||||
|
|
||||||
/*const relationshipMarkerIndex = pathSegments.findIndex((segment) => {
|
|
||||||
return !!joinerConfig.relationships!.find(
|
|
||||||
(relation) => relation.alias === targetEntityAlias
|
|
||||||
)
|
|
||||||
})
|
|
||||||
|
|
||||||
if (relationshipMarkerIndex === -1) {
|
|
||||||
return
|
|
||||||
}*/
|
|
||||||
|
|
||||||
/*const relationshipPropertyPath = pathSegments
|
|
||||||
.slice(0, relationshipMarkerIndex + 1)
|
|
||||||
.reverse()*/
|
|
||||||
|
|
||||||
const targetEntityAlias = path.split(".").pop()
|
const targetEntityAlias = path.split(".").pop()
|
||||||
|
|
||||||
const targetEntityRelation = joinerConfig.relationships?.find(
|
const targetEntityRelation = joinerConfig.relationships?.find(
|
||||||
|
|||||||
Reference in new issue
Block a user