gridsome.server.js 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. const axios = require('axios')
  2. module.exports = function (api) {
  3. api.loadSource(async store => {
  4. store.addMetaData('titreDuProjet', 'La métropole performative ?')
  5. store.addMetaData('sousTitre', 'Récits et échelles de la fabrique institutionnelle métropolitaine de rouen')
  6. store.addMetaData('auteurs', ['Jean Debrie','Xavier Desjardins'])
  7. // Ajout des chapitres
  8. let data_chapters = await axios.get('https://popsu.strapi.figli.io/chapitres')
  9. const chapterContent = store.addContentType({
  10. typeName: 'chapitres',
  11. })
  12. for (const item of data_chapters.data) {
  13. chapterContent.addNode({
  14. id: item.id,
  15. titre: item.titre,
  16. contenu: item.contenu,
  17. rubrique: item.rubrique,
  18. })
  19. }
  20. // Ajout des sections
  21. let data_sections = await axios.get('https://popsu.strapi.figli.io/sections')
  22. const sectionContent = store.addContentType({
  23. typeName: 'sections',
  24. })
  25. for (const item of data_sections.data) {
  26. sectionContent.addNode({
  27. id: item.id,
  28. titre: item.titre,
  29. contenu: item.contenu,
  30. })
  31. }
  32. // Ajout des fonds
  33. let data_fonds = await axios.get('https://popsu.strapi.figli.io/fonds')
  34. const fondContent = store.addContentType({
  35. typeName: 'fonds',
  36. })
  37. for (const item of data_fonds.data) {
  38. fondContent.addNode({
  39. id: item.id,
  40. url: item.image.url,
  41. })
  42. }
  43. // Ajout des crédits
  44. let data_credits = await axios.get('https://popsu.strapi.figli.io/credits')
  45. const creditContent = store.addContentType({
  46. typeName: 'credits',
  47. })
  48. for (const item of data_credits.data) {
  49. creditContent.addNode({
  50. id: item.id,
  51. nom: item.nom,
  52. role: item.role,
  53. })
  54. }
  55. })
  56. }