untitled-1522
Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data – all from the browser, and deployed in milliseconds.
Viewing readonly version of main branch: v51View latest version
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 handlers
- All API routes require authentication via LastLogin
- User email is extracted from
X-LastLogin-Emailheader
GET /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 conversation
POST /api/chat- Send message and get ChatGPT responseGET /api/conversations/:id/stream- Server-Sent Events for real-time updates
chat_users_v1- User accountschat_conversations_v1- Conversation metadatachat_messages_v1- Individual messages
conversation_participants_v1- User-conversation relationships with rolesconversation_invites_v1- Pending email invitations with tokens
- Automatic user creation on first login
- Conversation history storage with full message history
- ChatGPT integration via OpenAI API
- Group chat functionality with role-based permissions
- Email invitations with secure tokens
- Real-time updates via Server-Sent Events
- Secure user isolation - users can only access their conversations