Add payloads to video list

This commit is contained in:
Sam Carlton 2021-01-23 14:58:54 -06:00
parent c73d62f6bc
commit a1b2594b4a

View file

@ -28,6 +28,8 @@ class BuildLists {
// Where Eleventy Enpoints get stored // Where Eleventy Enpoints get stored
this.eleventyEndpointsSet = new Set() this.eleventyEndpointsSet = new Set()
this.allVideoAppsList = []
} }
listsOptions = [ listsOptions = [
@ -77,6 +79,14 @@ class BuildLists {
// ...extraVideos // ...extraVideos
// ].slice(0, 10 * 1000)) // ].slice(0, 10 * 1000))
}, },
beforeSave: videoListSet => {
return Array.from(videoListSet).map( video => {
return {
...video,
payload: buildVideoPayload( video, this.allVideoAppsList, this.lists.video )
}
})
}
} }
] ]
@ -107,10 +117,17 @@ class BuildLists {
// Make the relative path for our new JSON file // Make the relative path for our new JSON file
const listFullPath = `.${listOptions.path}` const listFullPath = `.${listOptions.path}`
const hasSaveMethod = listOptions.hasOwnProperty('beforeSave')
const saveMethod = hasSaveMethod ? listOptions.beforeSave : listSet => Array.from( listSet )
// console.log('listFullPath', listFullPath) // console.log('listFullPath', listFullPath)
const saveableList = saveMethod( this.lists[listOptions.name] )
console.log('saveableList', typeof saveableList)
// Write the list to JSON // Write the list to JSON
await fs.writeFile(listFullPath, JSON.stringify(Array.from(this.lists[listOptions.name]))) await fs.writeFile(listFullPath, JSON.stringify( saveableList ))
// Read back the JSON we just wrote to ensure it exists // Read back the JSON we just wrote to ensure it exists
const savedListJSON = await fs.readFile(listFullPath, 'utf-8') const savedListJSON = await fs.readFile(listFullPath, 'utf-8')
@ -190,7 +207,7 @@ class BuildLists {
// console.log('appList', appList) // console.log('appList', appList)
const allVideoAppsList = this.getAllVideoAppsList() this.allVideoAppsList = this.getAllVideoAppsList()
// console.log('allVideoAppsList', allVideoAppsList[0]) // console.log('allVideoAppsList', allVideoAppsList[0])
@ -206,7 +223,7 @@ class BuildLists {
if (isVideo) { if (isVideo) {
this.eleventyEndpointsSet.add({ this.eleventyEndpointsSet.add({
route: getVideoEndpoint(app), route: getVideoEndpoint(app),
payload: buildVideoPayload( app, allVideoAppsList, this.lists.video ) // payload: buildVideoPayload( app, this.allVideoAppsList, this.lists.video )
}) })
return return
@ -216,7 +233,7 @@ class BuildLists {
if ( isApp || isGame ) { if ( isApp || isGame ) {
this.nuxtEndpointsSet.add({ this.nuxtEndpointsSet.add({
route: `${getAppEndpoint(app)}/benchmarks`, route: `${getAppEndpoint(app)}/benchmarks`,
payload: buildAppBenchmarkPayload( app, allVideoAppsList, this.lists.video ) payload: buildAppBenchmarkPayload( app, this.allVideoAppsList, this.lists.video )
}) })
} }