Greatly reduce repeated code

This commit is contained in:
2023-10-19 16:50:48 -04:00
parent 47e639be43
commit dd2d9f2672
34 changed files with 196 additions and 481 deletions

View File

@ -1,3 +1,5 @@
import { jsonError } from "../../common.js";
export async function onRequest(context: RequestContext) {
const { current_user: currentUser } = context.data;
@ -9,12 +11,7 @@ export async function onRequest(context: RequestContext) {
"396347223736057866",
].includes(currentUser.id)
)
return new Response('{"error":"Forbidden"}', {
headers: {
"content-type": "application/json",
},
status: 403,
});
return jsonError("Forbidden", 403);
return await context.next();
}

View File

@ -1,21 +1,13 @@
function makeResponse(body: string, status: number): Response {
return new Response(body, {
headers: {
"content-type": "application/json",
},
status,
});
}
import { jsonError } from "../../common.js";
export async function onRequestPost(context: RequestContext) {
const { user } = context.data.body;
if (!user) return makeResponse('{"error":"No user provided"}', 400);
if (!user) return jsonError("No user provided", 400);
const existingUser = await context.env.DATA.get(`gamemod_${user}`);
if (existingUser)
return makeResponse('{"error":"Cannot add an existing user"}', 400);
if (existingUser) return jsonError("Cannot add an existing user", 400);
if (
["165594923586945025", "289372404541554689", "396347223736057866"].includes(
@ -26,8 +18,7 @@ export async function onRequestPost(context: RequestContext) {
status: 204,
});
if (!user.match(/^\d{17,19}$/))
return makeResponse('{"error":"Invalid User ID"}', 400);
if (!user.match(/^\d{17,19}$/)) return jsonError("Invalid User ID", 400);
const data = { time: Date.now(), user: context.data.current_user.id };

View File

@ -1,3 +1,5 @@
import { jsonResponse } from "../../common.js";
export async function onRequestGet(context: RequestContext) {
const list = await context.env.DATA.list({ prefix: "gamemod_" });
const entries = [];
@ -8,9 +10,5 @@ export async function onRequestGet(context: RequestContext) {
user: key.name.replace("gamemod_", ""),
});
return new Response(JSON.stringify(entries), {
headers: {
"content-type": "application/json",
},
});
return jsonResponse(JSON.stringify(entries));
}

View File

@ -1,13 +1,9 @@
import { jsonError } from "../../common.js";
export async function onRequestPost(context: RequestContext) {
const { user } = context.data.body;
if (!user)
return new Response('{"error":"No user provided"}', {
headers: {
"content-type": "application/json",
},
status: 400,
});
if (!user) return jsonError("No user provided", 400);
await context.env.DATA.delete(`gamemod_${user}`);