Files
markone/packages/server/src/server.ts

42 lines
1.0 KiB
TypeScript
Raw Normal View History

2025-05-06 11:00:35 +01:00
import { authenticated, login, logout, signUp } from "./auth/auth.ts"
import { startBackgroundSessionCleanup } from "./auth/session.ts"
2025-05-07 15:47:08 +01:00
import { insertDemoBookmarks } from "./bookmark/bookmark.ts"
import { listUserBookmarks, deleteUserBookmark } from "./bookmark/handlers.ts"
2025-05-06 11:00:35 +01:00
import { migrateDatabase } from "./database.ts"
2025-05-07 15:47:08 +01:00
import { httpHandler, preflightHandler } from "./http-handler.ts"
2025-05-06 11:00:35 +01:00
import { createDemoUser } from "./user/user.ts"
2025-05-07 15:47:08 +01:00
async function main() {
2025-05-06 11:00:35 +01:00
migrateDatabase()
2025-05-07 15:47:08 +01:00
const user = await createDemoUser()
insertDemoBookmarks(user)
2025-05-06 11:00:35 +01:00
startBackgroundSessionCleanup()
Bun.serve({
routes: {
"/api/login": {
POST: httpHandler(login),
},
"/api/sign-up": {
POST: httpHandler(signUp),
},
"/api/logout": {
POST: authenticated(logout),
},
"/api/bookmarks": {
GET: authenticated(listUserBookmarks),
},
2025-05-07 15:47:08 +01:00
"/api/bookmark/:id": {
DELETE: authenticated(deleteUserBookmark),
OPTIONS: preflightHandler({
allowedMethods: ["GET", "POST", "DELETE", "OPTIONS"],
}),
},
2025-05-06 11:00:35 +01:00
},
2025-05-07 15:47:08 +01:00
port: 8080,
2025-05-06 11:00:35 +01:00
})
}
main()