diff options
| author | Adam Soltys <[email protected]> | 2024-09-10 20:39:47 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2024-09-17 09:18:36 -0700 |
| commit | 1f63848ca9fb01336f04b41434de1cc06a5b3d93 (patch) | |
| tree | 2affa3041863be365f33d99e1f32bda60cf93a32 /src/routes/(app)/messages/+page.server.ts | |
| parent | 6e48c584605bec5623c12c470d04d07303983801 (diff) | |
| download | coinos-ui-1f63848ca9fb01336f04b41434de1cc06a5b3d93.tar.gz coinos-ui-1f63848ca9fb01336f04b41434de1cc06a5b3d93.zip | |
move routes
Diffstat (limited to 'src/routes/(app)/messages/+page.server.ts')
| -rw-r--r-- | src/routes/(app)/messages/+page.server.ts | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/src/routes/(app)/messages/+page.server.ts b/src/routes/(app)/messages/+page.server.ts new file mode 100644 index 00000000..94659621 --- /dev/null +++ b/src/routes/(app)/messages/+page.server.ts @@ -0,0 +1,42 @@ +import { get } from "$lib/utils"; +import { redirect } from "@sveltejs/kit"; + +interface Message { + created_at: number; +} + +interface Note { + created_at: number; + seen: number; +} + +export async function load({ params, parent, }) { + let { user } = await parent(); + if (user.username !== params.username) redirect(307, `/${params.username}`); + let { since = 0 } = params; + + let messages = [], + notes = []; + + if (user?.pubkey) { + let { pubkey } = user; + try { + messages = await get(`/${pubkey}/${since}/messages`); + messages = messages.sort((a: Message, b: Message) => b.created_at - a.created_at); + } catch (e) { + console.log(`failed to fetch nostr messages`, e); + } + + try { + notes = await get(`/${pubkey}/notes`); + } catch (e) { + console.log(`failed to fetch nostr notes for ${pubkey}`, e); + } + + notes.map((e: Note) => { + e.seen = e.created_at; + }); + } + + return { messages, notes }; +} |
