32 lines
801 B
TypeScript
32 lines
801 B
TypeScript
export async function onRequestPost(context: RequestContext) {
|
|
const { active } = context.data.body;
|
|
const { permissions } = context.data.current_user;
|
|
console.log(permissions)
|
|
|
|
if (!(permissions & (1 << 0)) && !(permissions & (1 << 11)))
|
|
return new Response('{"error":"Forbidden"}', {
|
|
headers: {
|
|
"content-type": "application/json",
|
|
},
|
|
status: 403,
|
|
});
|
|
|
|
if (typeof active !== "boolean")
|
|
return new Response('{"error":"Active property must be a boolean"}', {
|
|
headers: {
|
|
"content-type": "application/json",
|
|
},
|
|
status: 400,
|
|
});
|
|
|
|
if (active) {
|
|
await context.env.DATA.delete("appeal_disabled");
|
|
} else {
|
|
await context.env.DATA.put("appeal_disabled", "1");
|
|
}
|
|
|
|
return new Response(null, {
|
|
status: 204,
|
|
});
|
|
}
|