28 lines
835 B
TypeScript
28 lines
835 B
TypeScript
import { Application, Router } from "@oak/oak";
|
|
import { getNotes, getNotesByDid } from "./src/data/db.ts";
|
|
|
|
const router = new Router();
|
|
|
|
router.get("/", (ctx) => {
|
|
ctx.response.body = "Hello world";
|
|
});
|
|
|
|
router.get("/notes", (ctx) => {
|
|
const cursor = ctx.request.url.searchParams.get("cursor") ?? undefined;
|
|
const limit = Number(ctx.request.url.searchParams.get("limit")) || 20;
|
|
ctx.response.body = getNotes(cursor, limit);
|
|
});
|
|
|
|
router.get("/:did/notes", (ctx) => {
|
|
const { did } = ctx.params;
|
|
const cursor = ctx.request.url.searchParams.get("cursor") ?? undefined;
|
|
const limit = Number(ctx.request.url.searchParams.get("limit")) || 20;
|
|
ctx.response.body = getNotesByDid(did, cursor, limit);
|
|
});
|
|
|
|
const app = new Application();
|
|
app.use(router.routes());
|
|
app.use(router.allowedMethods());
|
|
|
|
app.listen({ port: 8080 });
|