Add bookmarkController, refactor generic views

This commit is contained in:
Alex Gleason
2024-01-01 14:07:39 -06:00
parent 69a44f9d2b
commit c8e2707704
3 changed files with 73 additions and 20 deletions

View File

@@ -0,0 +1,22 @@
import { type AppController } from '@/app.ts';
import { eventsDB } from '@/db/events.ts';
import { getTagSet } from '@/tags.ts';
import { renderStatuses } from '@/views.ts';
/** https://docs.joinmastodon.org/methods/bookmarks/#get */
const bookmarksController: AppController = async (c) => {
const pubkey = c.get('pubkey')!;
const [event10003] = await eventsDB.getEvents([
{ kinds: [10003], authors: [pubkey], limit: 1 },
]);
if (event10003) {
const eventIds = getTagSet(event10003.tags, 'e');
return renderStatuses(c, [...eventIds].reverse());
} else {
return c.json([]);
}
};
export { bookmarksController };