fix(contentful-plugin): Keep existing entry fields

This commit is contained in:
Oliver Windall Juhl
2020-08-27 18:03:46 +02:00
committed by GitHub
parent 9dc6999a9a
commit eb47896668
5 changed files with 76 additions and 26 deletions
@@ -7,7 +7,11 @@ const route = Router()
export default (app) => {
app.use("/hooks", route)
route.post("/contentful", middlewares.wrap(require("./contentful").default))
route.post(
"/contentful",
bodyParser.json(),
middlewares.wrap(require("./contentful").default)
)
return app
}
@@ -168,7 +168,9 @@ class ContentfulService extends BaseService {
const variantEntries = await this.getVariantEntries_(product._id)
const variantLinks = this.getVariantLinks_(variantEntries)
productEntry.fields = _.assignIn(productEntry.fields, {
const productEntryFields = {
...productEntry.fields,
title: {
"en-US": product.title,
},
@@ -181,7 +183,9 @@ class ContentfulService extends BaseService {
objectId: {
"en-US": product._id,
},
})
}
productEntry.fields = productEntryFields
const updatedEntry = await productEntry.update()
const publishedEntry = await updatedEntry.publish()
@@ -218,7 +222,8 @@ class ContentfulService extends BaseService {
return this.createProductVariantInContentful(variant)
}
variantEntry.fields = _.assignIn(variantEntry.fields, {
const variantEntryFields = {
...variantEntry.fields,
title: {
"en-US": variant.title,
},
@@ -234,7 +239,9 @@ class ContentfulService extends BaseService {
objectId: {
"en-US": variant._id,
},
})
}
variantEntry.fields = variantEntryFields
const updatedEntry = await variantEntry.update()
const publishedEntry = await updatedEntry.publish()