Create fetch single queue item endpoint

This commit is contained in:
regalijan 2023-10-19 16:49:16 -04:00
parent f3fb370b6f
commit aafdc9b04c
Signed by: regalijan
GPG Key ID: 5D4196DA269EF520

View File

@ -0,0 +1,43 @@
export async function onRequestGet(context: RequestContext) {
const types: { [k: string]: { permissions: number[]; prefix: string } } = {
appeal: {
permissions: [1 << 0, 1 << 1],
prefix: `appeal_`,
},
gma: {
permissions: [1 << 5],
prefix: `gameappeal_`,
},
report: {
permissions: [1 << 5],
prefix: `report_`,
},
};
const type = context.params.type as string;
const itemId = context.params.id as string;
if (
!types[type]?.permissions.find(
(p) => context.data.current_user.permissions & p
)
)
return new Response('{"error":"You cannot use this filter"}', {
headers: {
"content-type": "application/json",
},
status: 403,
});
let item = await context.env.DATA.get(`${types[type].prefix}${itemId}`);
if (!item)
item = await context.env.DATA.get(`closed${types[type].prefix}${itemId}`);
return new Response(item ? item : '{"error":"Not found"}', {
headers: {
"content-type": "application/json",
},
status: item ? 200 : 404,
});
}