alpha
Login
or
Join now
flo-bit.dev
/
bluesky-trending
Star
0
Fork
0
Atom
Configure Feed
Issues
Pull Requests
Commits
Tags
Feed URL
Select the types of activity you want to include in your feed.
[READ-ONLY] Mirror of https://github.com/flo-bit/bluesky-trending. show trending bluesky hashtags of the last day/hour
flo-bit.dev/bluesky-trending/
Star
0
Fork
0
Atom
Configure Feed
Issues
Pull Requests
Commits
Tags
Feed URL
Select the types of activity you want to include in your feed.
Overview
Issues
Pulls
Pipelines
add api
author
Florian
date
2 years ago
(Nov 30, 2024, 12:50 AM +0100)
commit
77d0f864
77d0f8647ce4b8c8ed50677ee468f3538cee7d4f
parent
6b10f579
6b10f5793382da1db0e6d829700cbcdcc4e46bce
+40
3 changed files
Expand all
Collapse all
Unified
Split
src
routes
api
[lang]
top-day.json
+server.ts
top-last-hour.json
+server.ts
languages.json
+server.ts
+16
src/routes/api/[lang]/top-day.json/+server.ts
View file
Reviewed
···
1
1
+
import { getLastUpdateTimestamp, getTopHashtagsLast24Hours } from '$lib';
2
2
+
import { json, type RequestHandler } from '@sveltejs/kit';
3
3
+
4
4
+
export const GET: RequestHandler = async ({ params }) => {
5
5
+
const languageCode = params.lang ?? 'en';
6
6
+
7
7
+
const lastDay = await getTopHashtagsLast24Hours(languageCode);
8
8
+
9
9
+
const lastUpdateTimestamp = await getLastUpdateTimestamp();
10
10
+
11
11
+
if (!lastUpdateTimestamp) {
12
12
+
return json({ tags: lastDay });
13
13
+
}
14
14
+
15
15
+
return json({ tags: lastDay, 'last-update': new Date(lastUpdateTimestamp / 1000 + 5000) });
16
16
+
};
+16
src/routes/api/[lang]/top-last-hour.json/+server.ts
View file
Reviewed
···
1
1
+
import { getLastUpdateTimestamp, getTopHashtagsLastHour } from '$lib';
2
2
+
import { json, type RequestHandler } from '@sveltejs/kit';
3
3
+
4
4
+
export const GET: RequestHandler = async ({ params }) => {
5
5
+
const languageCode = params.lang ?? 'en';
6
6
+
7
7
+
const lastHourTags = await getTopHashtagsLastHour(languageCode);
8
8
+
9
9
+
const lastUpdateTimestamp = await getLastUpdateTimestamp();
10
10
+
11
11
+
if (!lastUpdateTimestamp) {
12
12
+
return json({ tags: lastHourTags });
13
13
+
}
14
14
+
15
15
+
return json({ tags: lastHourTags, 'last-update': new Date(lastUpdateTimestamp / 1000 + 5000) });
16
16
+
};
+8
src/routes/api/languages.json/+server.ts
View file
Reviewed
···
1
1
+
import { languageEmojis } from '$lib/emojis';
2
2
+
import { json, type RequestHandler } from '@sveltejs/kit';
3
3
+
4
4
+
export const GET: RequestHandler = async () => {
5
5
+
const languages = Object.keys(languageEmojis);
6
6
+
7
7
+
return json({ languages });
8
8
+
};