diff options
| author | Armand Philippot <git@armandphilippot.com> | 2023-09-26 15:54:28 +0200 |
|---|---|---|
| committer | Armand Philippot <git@armandphilippot.com> | 2023-10-24 12:23:48 +0200 |
| commit | 70efcfeaa0603415dd992cb662d8efb960e6e49a (patch) | |
| tree | 5d37e98fae9aa7e5c3d8ef30a10db9fed9b63e36 /src/utils/helpers/rss.ts | |
| parent | 31695306bfed44409f03006ea717fd2cceff8f87 (diff) | |
refactor(routes): replace hardcoded routes with constants
It makes it easier to change a route if needed and it avoid typo
mistakes.
I also refactored a bit the concerned files to be complient with the
new ESlint config. However, I should rewrite the pages to reduce
the number of statements.
Diffstat (limited to 'src/utils/helpers/rss.ts')
| -rw-r--r-- | src/utils/helpers/rss.ts | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/src/utils/helpers/rss.ts b/src/utils/helpers/rss.ts index 28f3c7b..0381c68 100644 --- a/src/utils/helpers/rss.ts +++ b/src/utils/helpers/rss.ts @@ -4,8 +4,9 @@ import { getArticles, getTotalArticles, } from '../../services/graphql'; -import { type Article } from '../../types'; -import { settings } from '../../utils/config'; +import type { Article } from '../../types'; +import { settings } from '../config'; +import { ROUTES } from '../constants'; /** * Retrieve the data for all the articles. @@ -17,9 +18,9 @@ const getAllArticles = async (): Promise<Article[]> => { const rawArticles = await getArticles({ first: totalArticles }); const articles: Article[] = []; - rawArticles.edges.forEach((edge) => - articles.push(getArticleFromRawData(edge.node)) - ); + rawArticles.edges.forEach((edge) => { + articles.push(getArticleFromRawData(edge.node)); + }); return articles; }; @@ -43,8 +44,8 @@ export const generateFeed = async (): Promise<Feed> => { copyright, description: process.env.APP_FEED_DESCRIPTION, feedLinks: { - json: `${settings.url}/feed/json`, - atom: `${settings.url}/feed/atom`, + json: `${settings.url}${ROUTES.RSS}/json`, + atom: `${settings.url}${ROUTES.RSS}/atom`, }, generator: 'Feed & NextJS', id: settings.url, @@ -58,10 +59,10 @@ export const generateFeed = async (): Promise<Feed> => { articles.forEach((article) => { feed.addItem({ content: article.intro, - date: new Date(article.meta!.dates.publication), + date: new Date(article.meta.dates.publication), description: article.intro, id: `${article.id}`, - link: `${settings.url}/article/${article.slug}`, + link: `${settings.url}${ROUTES.ARTICLE}/${article.slug}`, title: article.title, }); }); |
