Add short links middleware and list endpoint

This commit is contained in:
Regalijan 2024-10-26 02:25:31 -04:00
parent bc17b40c27
commit 822a6c0e04
Signed by: regalijan
GPG Key ID: 5D4196DA269EF520
2 changed files with 25 additions and 0 deletions

View File

@ -0,0 +1,14 @@
import { jsonError } from "../../common.js";
export async function onRequest(context: RequestContext) {
const { current_user: user } = context.data;
if (!user) return jsonError("Unauthorized", 401);
if (
![0, 2, 4, 5, 6, 7, 9, 10, 11, 12].find((i) => user.permissions & (1 << i))
)
return jsonError("Forbidden", 403);
return await context.next();
}

View File

@ -0,0 +1,11 @@
import { jsonResponse } from "../../common.js";
export async function onRequestGet(context: RequestContext) {
const { results } = await context.env.D1.prepare(
"SELECT created_at, destination, path FROM short_links WHERE user = ?;",
)
.bind(context.data.current_user.id)
.all();
return jsonResponse(JSON.stringify(results));
}