Skip to content
This repository was archived by the owner on Jan 19, 2025. It is now read-only.

Commit 590f3b3

Browse files
committed
Improved posts api :rocket
1 parent addea38 commit 590f3b3

File tree

3 files changed

+14
-3
lines changed

3 files changed

+14
-3
lines changed

gatsby-node.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -162,8 +162,12 @@ export const onPostBuild: GatsbyNode["onPostBuild"] = async ({ graphql }) => {
162162
`)
163163
).data!;
164164

165-
const blogPostsApi = blogPostsApiAdapter(apiBasePath, blogPostsQuery);
166165
const authorsApi = blogAuthorsApiAdapter(imagesApiQuery);
166+
const blogPostsApi = blogPostsApiAdapter(
167+
apiBasePath,
168+
blogPostsQuery,
169+
authorsApi,
170+
);
167171
const blogPostDetailApis = blogPostDetailsApiAdapter(blogPostsQuery);
168172
const projectsApi = projectsApiAdapter(imagesApiQuery);
169173
const artApi = artApiAdapter(imagesApiQuery);

src/logic/api/api-adapters.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ const postResourceEndpointCreator = (apiBasePath: string, slug: string) =>
2525
export const blogPostsApiAdapter = (
2626
apiBasePath: string,
2727
blogPostsApiQueryResult: Queries.BlogPostsApiQuery,
28+
authorsApi: BlogAuthorsApi,
2829
): BlogPostsListApi => {
2930
const posts: BlogPostApi[] =
3031
blogPostsApiQueryResult!.allMarkdownRemark.edges.map(({ node }) => {
@@ -35,7 +36,13 @@ export const blogPostsApiAdapter = (
3536
date: frontmatter.date!,
3637
readingTime: node.fields!.readingTime!.text!,
3738
featuredImageUrl: frontmatter.image!.publicURL!,
38-
authors: frontmatter.authors!.map((it) => it!),
39+
authors: authorsApi.authors.filter((it) =>
40+
frontmatter.authors!.find(
41+
(author) =>
42+
author!.split("_").join(" ").toUpperCase() ===
43+
it.name.toUpperCase(),
44+
),
45+
),
3946
tags: frontmatter.tags!.map((it) => it!),
4047
resourceEndpoint: postResourceEndpointCreator(
4148
apiBasePath,

src/logic/api/api-model.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ export interface BlogPostApi {
1616
date: string;
1717
readingTime: string;
1818
featuredImageUrl: string;
19-
authors: string[];
19+
authors: BlogAuthorApi[];
2020
tags: string[];
2121
resourceEndpoint: string;
2222
webEndpoint: string;

0 commit comments

Comments
 (0)