Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Create fetch single queue item endpoint
  • Loading branch information
regalijan committed Oct 19, 2023
1 parent f3fb370 commit aafdc9b
Showing 1 changed file with 43 additions and 0 deletions.
43 changes: 43 additions & 0 deletions functions/api/mod-queue/[type]/[id].ts
@@ -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,
});
}

0 comments on commit aafdc9b

Please sign in to comment.