diff --git a/lib/v2/arcteryx/new-arrivals.js b/lib/v2/arcteryx/new-arrivals.js index 5ff99117d..709bbe526 100644 --- a/lib/v2/arcteryx/new-arrivals.js +++ b/lib/v2/arcteryx/new-arrivals.js @@ -1,21 +1,8 @@ const got = require('@/utils/got'); const { art } = require('@/utils/render'); const path = require('path'); +const { generateRssData } = require('./utils'); -const attributeSet = new Set(['name', 'image', 'short_description', 'slug']); -function generateRssData(item, index, arr) { - const attributes = item.attribute; - const data = {}; - - attributes.forEach((attribute) => { - const key = attribute.name; - const value = attribute.value[0].value; - if (attributeSet.has(key)) { - data[key] = value; - } - }); - arr[index] = data; -} module.exports = async (ctx) => { const { country, gender } = ctx.params; const host = `https://arcteryx.com/${country}/en/`; @@ -32,7 +19,9 @@ module.exports = async (ctx) => { }, }); const items = response.data.universes.universe[1]['items-section'].items.item; - items.forEach(generateRssData); + items.forEach((item, index, arr) => { + generateRssData(item, index, arr, country); + }); ctx.state.data = { title: `Arcteryx - New Arrivals(${country.toUpperCase()}) - ${gender.toUpperCase()}`, diff --git a/lib/v2/arcteryx/outlet.js b/lib/v2/arcteryx/outlet.js index 8980963c4..ac67628d0 100644 --- a/lib/v2/arcteryx/outlet.js +++ b/lib/v2/arcteryx/outlet.js @@ -1,21 +1,8 @@ const got = require('@/utils/got'); const { art } = require('@/utils/render'); const path = require('path'); +const { generateRssData } = require('./utils'); -const attributeSet = new Set(['name', 'image', 'short_description', 'slug']); -function generateRssData(item, index, arr) { - const attributes = item.attribute; - const data = {}; - - attributes.forEach((attribute) => { - const key = attribute.name; - const value = attribute.value[0].value; - if (attributeSet.has(key)) { - data[key] = value; - } - }); - arr[index] = data; -} module.exports = async (ctx) => { const { country, gender } = ctx.params; const host = `https://outlet.arcteryx.com/${country}/en/`; @@ -34,7 +21,9 @@ module.exports = async (ctx) => { }, }); const items = response.data.universes.universe[1]['items-section'].items.item; - items.forEach(generateRssData); + items.forEach((item, index, arr) => { + generateRssData(item, index, arr, country); + }); ctx.state.data = { title: `Arcteryx - Outlet(${country.toUpperCase()}) - ${gender.toUpperCase()}`, diff --git a/lib/v2/arcteryx/templates/product-description.art b/lib/v2/arcteryx/templates/product-description.art index 1f7d0e26d..a00005c73 100644 --- a/lib/v2/arcteryx/templates/product-description.art +++ b/lib/v2/arcteryx/templates/product-description.art @@ -1,6 +1,12 @@