Skip to content

Commit 8d6d7bd

Browse files
committed
feat: Add variant SKU field to SaleorProviderFieldsMapping
1 parent 57f7aa0 commit 8d6d7bd

14 files changed

+30
-6
lines changed

apps/cms-v2/src/modules/configuration/app-config.test.ts

+2
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ const getMockContentfulInput = (): ContentfulProviderConfig.InputShape => {
1717
productSlug: "productSlug",
1818
variantId: "variantId",
1919
variantName: "variantName",
20+
variantSku: "variantSku",
2021
},
2122
spaceId: "test",
2223
};
@@ -34,6 +35,7 @@ const getMockDatocmsInput = (): DatocmsProviderConfig.InputShape => {
3435
productSlug: "productSlug",
3536
variantId: "variantId",
3637
variantName: "variantName",
38+
variantSku: "variantSku",
3739
},
3840
};
3941
};

apps/cms-v2/src/modules/configuration/print-saleor-product-fields.ts

+3
Original file line numberDiff line numberDiff line change
@@ -20,5 +20,8 @@ export const printSaleorProductFields = (fieldName: SaleorProviderFieldsMappingK
2020
case "variantId": {
2121
return "Variant ID";
2222
}
23+
case "variantSku": {
24+
return "Variant SKU";
25+
}
2326
}
2427
};

apps/cms-v2/src/modules/configuration/schemas/saleor-provider-fields-mapping.schema.ts

+2
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import { z } from "zod";
66
export const SaleorProviderFieldsMappingSchema = z.object({
77
variantId: z.string().min(1),
88
variantName: z.string().min(1),
9+
variantSku: z.string().min(1),
910
productId: z.string().min(1),
1011
productName: z.string().min(1),
1112
productSlug: z.string().min(1),
@@ -22,4 +23,5 @@ export const SaleorProviderFieldsMappingKeys: Array<SaleorProviderFieldsMappingK
2223
"productName",
2324
"productSlug",
2425
"channels",
26+
"variantSku",
2527
];

apps/cms-v2/src/modules/providers/builder.io/builder-io-config-form.tsx

+1
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,7 @@ const AddFormVariant = () => {
172172
productName: "",
173173
productSlug: "",
174174
variantId: "",
175+
variantSku: "",
175176
},
176177
}}
177178
/>

apps/cms-v2/src/modules/providers/contentful/contentful-client.test.ts

+2
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,15 @@ const getMockContenfulConfiguration = (): ContentfulProviderConfig.FullShape =>
1818
productSlug: "product-slug",
1919
variantId: "variant-id",
2020
variantName: "variant-name",
21+
variantSku: "variant-sku",
2122
},
2223
});
2324

2425
const getMockWebhookProductVariant = (): WebhookProductVariantFragment => {
2526
return {
2627
id: "test-id",
2728
name: "test-name",
29+
sku: "test-sku",
2830
product: {
2931
id: "test-product-id",
3032
name: "test-product-name",

apps/cms-v2/src/modules/providers/contentful/contentful-config-form.tsx

+1
Original file line numberDiff line numberDiff line change
@@ -339,6 +339,7 @@ const AddVariant = () => {
339339
productName: "",
340340
productSlug: "",
341341
variantId: "",
342+
variantSku: "",
342343
},
343344
spaceId: "",
344345
}}

apps/cms-v2/src/modules/providers/contentful/contentful-webhooks-processor.test.ts

+6-4
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,15 @@ const getMockContenfulConfiguration = (): ContentfulProviderConfig.FullShape =>
2121
productSlug: "product-slug",
2222
variantId: "variant-id",
2323
variantName: "variant-name",
24+
variantSku: "variant-sku",
2425
},
2526
});
2627

2728
const getMockWebhookProductVariant = (): WebhookProductVariantFragment => {
2829
return {
2930
id: "test-id",
3031
name: "test-name",
32+
sku: "test-sku",
3133
product: {
3234
id: "test-product-id",
3335
name: "test-product-name",
@@ -61,7 +63,7 @@ describe("ContentfulWebhooksProcessor", () => {
6163

6264
processor = new ContentfulWebhooksProcessor(
6365
getMockContenfulConfiguration(),
64-
() => mockContentfulClient
66+
() => mockContentfulClient,
6567
);
6668
});
6769

@@ -74,7 +76,7 @@ describe("ContentfulWebhooksProcessor", () => {
7476
expect.objectContaining({
7577
configuration: getMockContenfulConfiguration(),
7678
variant: mockProductVariant,
77-
})
79+
}),
7880
);
7981
});
8082

@@ -87,7 +89,7 @@ describe("ContentfulWebhooksProcessor", () => {
8789
expect.objectContaining({
8890
configuration: getMockContenfulConfiguration(),
8991
variant: mockProductVariant,
90-
})
92+
}),
9193
);
9294
});
9395

@@ -100,7 +102,7 @@ describe("ContentfulWebhooksProcessor", () => {
100102
expect.objectContaining({
101103
configuration: getMockContenfulConfiguration(),
102104
variant: mockProductVariant,
103-
})
105+
}),
104106
);
105107
});
106108

apps/cms-v2/src/modules/providers/datocms/datocms-config-form.tsx

+1
Original file line numberDiff line numberDiff line change
@@ -255,6 +255,7 @@ const AddFormVariant = () => {
255255
productName: "",
256256
productSlug: "",
257257
variantId: "",
258+
variantSku: "",
258259
},
259260
}}
260261
/>

apps/cms-v2/src/modules/providers/fields-mapper.test.ts

+3
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,12 @@ describe("FieldsMapper", () => {
1111
productSlug: "product-slug",
1212
variantId: "variant-id",
1313
variantName: "variant-name",
14+
variantSku: "variant-sku",
1415
},
1516
variant: {
1617
id: "aaa-bbb-ccc",
1718
name: "43",
19+
sku: "sku",
1820
channelListings: [
1921
{
2022
channel: {
@@ -37,6 +39,7 @@ describe("FieldsMapper", () => {
3739
"product-name": "Shoes",
3840
"product-slug": "shoes",
3941
"variant-id": "aaa-bbb-ccc",
42+
"variant-sku": "sku",
4043
channels: [
4144
{
4245
channel: {

apps/cms-v2/src/modules/providers/fields-mapper.ts

+3-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@ export class FieldsMapper {
99
variant: WebhookProductVariantFragment;
1010
configMapping: ProvidersConfig.AnyFullShape["productVariantFieldsMapping"];
1111
}) {
12-
const { channels, variantName, productId, productName, productSlug, variantId } = configMapping;
12+
const { channels, variantName, productId, productName, productSlug, variantId, variantSku } =
13+
configMapping;
1314

1415
return {
1516
[variantName]: variant.name,
@@ -18,6 +19,7 @@ export class FieldsMapper {
1819
[productSlug]: variant.product.slug,
1920
[variantId]: variant.id,
2021
[channels]: variant.channelListings,
22+
[variantSku]: variant.sku,
2123
};
2224
}
2325
}

apps/cms-v2/src/modules/providers/payloadcms/payloadcms-config-form.tsx

+1
Original file line numberDiff line numberDiff line change
@@ -197,6 +197,7 @@ const AddFormVariant = () => {
197197
productName: "",
198198
productSlug: "",
199199
variantId: "",
200+
variantSku: "",
200201
},
201202
}}
202203
/>

apps/cms-v2/src/modules/providers/strapi/strapi-config-form.tsx

+1
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,7 @@ const AddFormVariant = () => {
155155
productName: "",
156156
productSlug: "",
157157
variantId: "",
158+
variantSku: "",
158159
},
159160
}}
160161
/>

apps/cms-v2/src/modules/webhooks-operations/webhooks-processors-delegator.test.ts

+3
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ const getMockContentfulInput = (): ContentfulProviderConfig.InputShape => {
1818
productSlug: "productSlug",
1919
variantId: "variantId",
2020
variantName: "variantName",
21+
variantSku: "variantSku",
2122
},
2223
spaceId: "test",
2324
};
@@ -36,6 +37,7 @@ const getMockDatocmsInput = (): DatocmsProviderConfig.InputShape => {
3637
productSlug: "productSlug",
3738
variantId: "variantId",
3839
variantName: "variantName",
40+
variantSku: "variantSku",
3941
},
4042
};
4143
};
@@ -81,6 +83,7 @@ const getMockProductVariantWebhookFragment = (): WebhookProductVariantFragment =
8183
return {
8284
id: "variant-id",
8385
name: "variant-name",
86+
sku: "variant-sku",
8487
product: {
8588
id: "product-id",
8689
name: "product-name",

apps/cms-v2/src/pages/api/manifest.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ const handler = createManifestHandler({
3333
*/
3434
],
3535
homepageUrl: "https://github.com/saleor/apps",
36-
id: "saleor.app.cms2",
36+
id: "saleor.app.cms4",
3737
name: "CMS",
3838
permissions: ["MANAGE_PRODUCTS"],
3939
requiredSaleorVersion: ">=3.10 <4",

0 commit comments

Comments
 (0)