15
apps/web/src/app/api/books/[id]/log-pages/route.ts
Executable file
15
apps/web/src/app/api/books/[id]/log-pages/route.ts
Executable file
@@ -0,0 +1,15 @@
|
||||
import { handleApi } from "@/lib/api";
|
||||
import { logPages } from "@/lib/services/reading";
|
||||
import { requireUser } from "@/lib/services/user";
|
||||
|
||||
export async function POST(
|
||||
request: Request,
|
||||
{ params }: { params: Promise<{ id: string }> }
|
||||
) {
|
||||
const { id } = await params;
|
||||
const body = await request.json();
|
||||
return handleApi(async () => {
|
||||
const { user } = await requireUser();
|
||||
return logPages(user.id, id, body.pages, body.date, body.note);
|
||||
});
|
||||
}
|
||||
15
apps/web/src/app/api/books/[id]/route.ts
Executable file
15
apps/web/src/app/api/books/[id]/route.ts
Executable file
@@ -0,0 +1,15 @@
|
||||
import { handleApi } from "@/lib/api";
|
||||
import { updateBook } from "@/lib/services/reading";
|
||||
import { requireUser } from "@/lib/services/user";
|
||||
|
||||
export async function PATCH(
|
||||
request: Request,
|
||||
{ params }: { params: Promise<{ id: string }> }
|
||||
) {
|
||||
const { id } = await params;
|
||||
const body = await request.json();
|
||||
return handleApi(async () => {
|
||||
const { user } = await requireUser();
|
||||
return updateBook(id, user.id, body);
|
||||
});
|
||||
}
|
||||
18
apps/web/src/app/api/books/route.ts
Executable file
18
apps/web/src/app/api/books/route.ts
Executable file
@@ -0,0 +1,18 @@
|
||||
import { handleApi } from "@/lib/api";
|
||||
import { getBooks, createBook } from "@/lib/services/reading";
|
||||
import { requireUser } from "@/lib/services/user";
|
||||
|
||||
export async function GET() {
|
||||
return handleApi(async () => {
|
||||
const { user } = await requireUser();
|
||||
return getBooks(user.id);
|
||||
});
|
||||
}
|
||||
|
||||
export async function POST(request: Request) {
|
||||
const body = await request.json();
|
||||
return handleApi(async () => {
|
||||
const { user } = await requireUser();
|
||||
return createBook(user.id, body);
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user