feat: Ajout des liens entre les évènements et les associations
This commit is contained in:
@ -1,7 +1,12 @@
|
||||
import DirectusToMarkdown from '@resilien/directus-to-markdown'
|
||||
import urlslug from 'url-slug'
|
||||
|
||||
const filterDraft = process.env.DRAFT && process.env.DRAFT == 'true' ? '' : { draft: { _eq: 'false' } }
|
||||
var lastDate = new Date();
|
||||
lastDate.setMonth(lastDate.getMonth() - 3);
|
||||
lastDate.setFullYear(lastDate.getFullYear() - 10);
|
||||
console.log(lastDate)
|
||||
|
||||
const filterDraft = process.env.DRAFT && process.env.DRAFT == 'true' ? { date: { _gt: lastDate } } : { draft: { _eq: 'false' }, date: { _gt: lastDate } }
|
||||
const filterAssociation = process.env.DRAFT && process.env.DRAFT == 'true' ? '' : { display_website: { _eq: 'true' } }
|
||||
|
||||
const config = {
|
||||
@ -38,8 +43,8 @@ const config = {
|
||||
},
|
||||
actualites: {
|
||||
readByQueryOption: {
|
||||
fields: ['title', 'date', 'image', 'image_credit', 'vignette', 'vignette_credit', 'description', 'auteur', 'draft', 'content', 'event'],
|
||||
filterDraft,
|
||||
fields: ['title', 'date', 'image', 'image_credit', 'vignette', 'vignette_credit', 'description', 'auteur', 'draft', 'content', 'event', 'authors.Association_id.denomination'],
|
||||
filter: filterDraft,
|
||||
limit: 1000
|
||||
},
|
||||
pathBuilder: (article) => {
|
||||
@ -47,7 +52,16 @@ const config = {
|
||||
if (!article.image_credit) delete article.image_credit
|
||||
if (!article.vignette) delete article.vignette
|
||||
if (!article.vignette_credit) delete article.vignette_credit
|
||||
|
||||
if (!article.authors || article.authors.length == 0) {
|
||||
delete article.authors
|
||||
} else {
|
||||
article.authors = article.authors.map(a => `/associations/${urlslug(a.Association_id.denomination)}`)
|
||||
}
|
||||
const [year, month, day] = article.date.split("-")
|
||||
|
||||
console.log(article.date + ' - ' + article.title)
|
||||
|
||||
return `./content/actualites/${year}/${month}/${day}-${urlslug(article.title, { remove: /\./g })}`;
|
||||
},
|
||||
deleteFields: [],
|
||||
@ -65,8 +79,10 @@ const config = {
|
||||
'bureau.sort',
|
||||
'bureau.Contact_id.*',
|
||||
'content',
|
||||
'actualites.actualites_id.date',
|
||||
'actualites.actualites_id.title',
|
||||
],
|
||||
filterAssociation
|
||||
filter: filterAssociation
|
||||
},
|
||||
pathBuilder: (association) => {
|
||||
if (!association.title) {
|
||||
@ -99,6 +115,16 @@ const config = {
|
||||
delete association.bureau
|
||||
}
|
||||
|
||||
if (!association.actualites || association.actualites.length == 0) {
|
||||
delete association.actualites
|
||||
} else {
|
||||
association.actualites = association.actualites.map(a => {
|
||||
const [year, month, day] = a.actualites_id.date.split("-")
|
||||
|
||||
return `/actualites/${year}/${month}/${day}-${urlslug(a.actualites_id.title, { remove: /\./g })}`
|
||||
})
|
||||
}
|
||||
|
||||
return `./content/associations/${urlslug(association.denomination)}`;
|
||||
},
|
||||
deleteFields: [],
|
||||
|
Reference in New Issue
Block a user