diff --git a/src/hooks.ts b/src/hooks.ts index ad9034b..392a511 100644 --- a/src/hooks.ts +++ b/src/hooks.ts @@ -5,6 +5,6 @@ export const reroute: Reroute = async ({ url }) => { const split = url.hostname.split('.'); if (url.hostname !== PUBLIC_URL && split.length >= 2) { - return `/handles/${split[0]}/`; + return `/${split[0]}${url.pathname}`; } }; diff --git a/src/lib/server/db/schema.ts b/src/lib/server/db/schema.ts index 36345f9..c702659 100644 --- a/src/lib/server/db/schema.ts +++ b/src/lib/server/db/schema.ts @@ -7,10 +7,10 @@ export const user = sqliteTable('user', { handle: text('handle').notNull(), created_at: text('created_at') .notNull() - .default(sql`CURRENT_TIMESTAMP`), + .default(sql`current_timestamp`), updated_at: text('updated_at') .notNull() - .default(sql`CURRENT_TIMESTAMP`) + .default(sql`current_timestamp`) }); //export type User = typeof user.$inferSelect; diff --git a/src/routes/.well-known/atproto-did/+server.ts b/src/routes/.well-known/atproto-did/+server.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/routes/handles/[handle]/+page.server.ts b/src/routes/[handle]/+page.server.ts similarity index 100% rename from src/routes/handles/[handle]/+page.server.ts rename to src/routes/[handle]/+page.server.ts diff --git a/src/routes/handles/[handle]/+page.svelte b/src/routes/[handle]/+page.svelte similarity index 100% rename from src/routes/handles/[handle]/+page.svelte rename to src/routes/[handle]/+page.svelte diff --git a/src/routes/[handle]/.well-known/atproto-did/+server.ts b/src/routes/[handle]/.well-known/atproto-did/+server.ts new file mode 100644 index 0000000..0709b59 --- /dev/null +++ b/src/routes/[handle]/.well-known/atproto-did/+server.ts @@ -0,0 +1,15 @@ +import { error } from '@sveltejs/kit'; +import { db } from '$lib/server/db'; +import type { RequestHandler } from './$types'; + +export const GET: RequestHandler = async ({ params: { handle } }) => { + const user = await db.query.user.findFirst({ + where: (user, { eq }) => eq(user.handle, handle) + }); + + if (!user) { + error(404, 'User not found'); + } + + return new Response(String(user.did)); +}; diff --git a/src/routes/handles/[handle]/.well-known/atproto-did/+page.svelte b/src/routes/handles/[handle]/.well-known/atproto-did/+page.svelte deleted file mode 100644 index c1b8bbe..0000000 --- a/src/routes/handles/[handle]/.well-known/atproto-did/+page.svelte +++ /dev/null @@ -1,4 +0,0 @@ - - -

This worked