mirror of
https://github.com/aljazceru/ditto.git
synced 2026-01-07 15:44:22 +01:00
Add bookmarkController, refactor generic views
This commit is contained in:
22
src/controllers/api/bookmarks.ts
Normal file
22
src/controllers/api/bookmarks.ts
Normal 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 };
|
||||
Reference in New Issue
Block a user