thomaswilson-sveltekit/src/routes/api/blog.json/+server.ts

32 lines
610 B
TypeScript
Raw Normal View History

2022-08-21 16:18:06 +00:00
import { json as json$1 } from '@sveltejs/kit';
import allPosts from '../../../content/posts.json';
2022-04-16 10:43:45 +00:00
export const GET = async ({ url }) => {
2022-04-16 10:43:45 +00:00
try {
const posts = Object.entries(allPosts).map(([key, value]) => ({
...value
}));
2022-04-16 10:43:45 +00:00
const sortedBlogPosts = posts.sort((a, b) => {
if (a.date > b.date) {
return -1;
}
if (a.date < b.date) {
return 1;
}
return 0;
});
2022-08-21 16:18:06 +00:00
return json$1({
posts: sortedBlogPosts
});
2022-04-16 10:43:45 +00:00
} catch (error) {
console.error({ error: JSON.stringify(error) });
2022-08-21 16:18:06 +00:00
return json$1({
error: 'Could not fetch posts. ' + error
}, {
status: 500
});
2022-04-16 10:43:45 +00:00
}
};