1import { LoaderFunctionArgs } from "https://esm.sh/react-router@7.5.0?deps=react@18.2.0,react-dom@18.2.0";
2import { search } from "../backend/database/queries.ts";
3
4export async function loader({ request }: LoaderFunctionArgs) {
1import { LoaderFunctionArgs } from "https://esm.sh/react-router@7.5.0?deps=react@18.2.0,react-dom@18.2.0";
2import { getTopicById, getMessagesByTopicId } from "../backend/database/queries.ts";
3
4export async function loader({ params }: LoaderFunctionArgs) {
1import { LoaderFunctionArgs } from "https://esm.sh/react-router@7.5.0?deps=react@18.2.0,react-dom@18.2.0";
2import { getTopicById, getMessageById, getMessagesByTopicId } from "../backend/database/queries.ts";
3
4export async function loader({ params }: LoaderFunctionArgs) {
1import { ActionFunctionArgs } from "https://esm.sh/react-router@7.5.0?deps=react@18.2.0,react-dom@18.2.0";
2import { createMessage } from "../backend/database/queries.ts";
3
4export async function action({ request }: ActionFunctionArgs) {
1import { Hono } from "https://esm.sh/hono@3.11.12";
2import { authenticate } from "../auth/auth.ts";
3import { updateLastActive } from "../database/users.ts";
4import {
5 createMessage,
9 getUnreadMessageCount,
10 getChatPartners
11} from "../database/messages.ts";
12
13const messageRoutes = new Hono();
1import { Hono } from "https://esm.sh/hono@3.11.12";
2import { authenticate } from "../auth/auth.ts";
3import { updateLastActive } from "../database/users.ts";
4import {
5 createPost,
9 likePost,
10 unlikePost
11} from "../database/posts.ts";
12import {
13 createComment,
14 getPostComments,
15 deleteComment
16} from "../database/comments.ts";
17import { blob } from "https://esm.town/v/std/blob";
18
7 getOnlineUsers,
8 searchUsers
9} from "../database/users.ts";
10import { getUserPosts, getLikedPosts } from "../database/posts.ts";
11import { blob } from "https://esm.town/v/std/blob";
12
2import { compare, hash } from "https://esm.sh/bcrypt@5.1.1";
3import { User, PublicUser, AuthResponse } from "../../shared/types.ts";
4import { getUserByEmail, createUser, getPublicUserData, updateLastActive } from "../database/users.ts";
5
6// Secret key for JWT signing
1import { sqlite } from "https://esm.town/v/stevekrouse/sqlite";
2
3// Initialize all database tables
4export async function initializeDatabase() {
5 // Users table
6 await sqlite.execute(`
41โ โโโ index.ts # Main API entry point
42โ โโโ auth/ # Authentication functions
43โ โโโ database/ # Database operations
44โ โโโ routes/ # API routes
45โ โโโ utils/ # Utility functions