Hono-based API server with LastLogin authentication, SQLite database, and group chat functionality.
index.ts
- Main HTTP handler with LastLogin wrapperdatabase/
- Database migrations and query functionsroutes/
- API route handlersX-LastLogin-Email
headerGET /api/conversations
- Get user's conversations (with participant info)GET /api/conversations/:id
- Get specific conversation with messagesPOST /api/conversations
- Create new conversationDELETE /api/conversations/:id
- Delete conversation (admin only)GET /api/conversations/:id/participants
- Get conversation participantsPOST /api/conversations/:id/invite
- Invite user by email (admin only)DELETE /api/conversations/:id/participants/:userId
- Remove participant (admin only)GET /api/invites/:token
- Get invitation details (public)POST /api/invites/:token/accept
- Accept invitation and join conversationPOST /api/chat
- Send message and get ChatGPT responseGET /api/conversations/:id/stream
- Server-Sent Events for real-time updateschat_users_v1
- User accountschat_conversations_v1
- Conversation metadatachat_messages_v1
- Individual messagesconversation_participants_v1
- User-conversation relationships with rolesconversation_invites_v1
- Pending email invitations with tokens