Start inserting game mod logs into D1
This commit is contained in:
@ -1,4 +1,3 @@
|
||||
import { insertLogs } from "../../../gcloud.js";
|
||||
import { getBanList, setBanList } from "../../../roblox-open-cloud.js";
|
||||
import { jsonError } from "../../../common.js";
|
||||
|
||||
@ -35,11 +34,19 @@ export async function onRequestPost(context: RequestContext) {
|
||||
UnbanReduct: statsReduction,
|
||||
};
|
||||
|
||||
await insertLogs(
|
||||
{ [data.roblox_id]: 4 },
|
||||
context.params.id as string,
|
||||
context,
|
||||
);
|
||||
await context.env.D1.prepare(
|
||||
"INSERT INTO game_mod_logs (action, evidence, executed_at, executor, id, target) VALUES (?, ?, ?, ?, ?, ?);",
|
||||
)
|
||||
.bind(
|
||||
"accept_appeal",
|
||||
`https://carcrushers.cc/mod-queue?id=${context.params.id}&type=gma`,
|
||||
Date.now(),
|
||||
context.data.current_user.id,
|
||||
crypto.randomUUID(),
|
||||
data.roblox_id,
|
||||
)
|
||||
.run();
|
||||
|
||||
await setBanList(context, banList);
|
||||
|
||||
return new Response(null, {
|
||||
|
@ -1,6 +1,5 @@
|
||||
import { getBanList } from "../../../roblox-open-cloud.js";
|
||||
import { jsonError, jsonResponse } from "../../../common.js";
|
||||
import { queryLogs } from "../../../gcloud.js";
|
||||
|
||||
export async function onRequestGet(context: RequestContext) {
|
||||
const robloxUserReq = await fetch(
|
||||
@ -52,12 +51,13 @@ export async function onRequestGet(context: RequestContext) {
|
||||
else if (banData.BanType === 2) current_status = "Banned";
|
||||
|
||||
const response = {
|
||||
history: (await queryLogs(users[0].id, context)).sort((a, b) =>
|
||||
a.entity.properties.executed_at.integerValue <
|
||||
b.entity.properties.executed_at.integerValue
|
||||
? 1
|
||||
: -1,
|
||||
),
|
||||
history: (
|
||||
await context.env.D1.prepare(
|
||||
"SELECT * FROM game_mod_logs WHERE target = ? ORDER BY executed_at DESC;",
|
||||
)
|
||||
.bind(users[0].id)
|
||||
.all()
|
||||
).results,
|
||||
user: {
|
||||
avatar: thumbnailRequest.ok
|
||||
? (
|
||||
|
@ -1,5 +1,4 @@
|
||||
import { getBanList, setBanList } from "../../../roblox-open-cloud.js";
|
||||
import { insertLogs } from "../../../gcloud.js";
|
||||
import { jsonError } from "../../../common.js";
|
||||
|
||||
export async function onRequestPost(context: RequestContext) {
|
||||
@ -19,7 +18,18 @@ export async function onRequestPost(context: RequestContext) {
|
||||
|
||||
if (isNaN(parseInt(user))) return jsonError("Invalid user ID", 400);
|
||||
|
||||
await insertLogs({ [user]: 3 }, ticket_link, context);
|
||||
await context.env.D1.prepare(
|
||||
"INSERT INTO game_mod_logs (action, evidence, executed_at, executor, id, target) VALUES (?, ?, ?, ?, ?, ?);",
|
||||
)
|
||||
.bind(
|
||||
"revoke",
|
||||
ticket_link,
|
||||
Date.now(),
|
||||
context.data.current_user.id,
|
||||
crypto.randomUUID(),
|
||||
parseInt(user),
|
||||
)
|
||||
.run();
|
||||
|
||||
const banList = (await getBanList(context)) as {
|
||||
[k: string]: { BanType: number };
|
||||
|
@ -1,5 +1,4 @@
|
||||
import { getBanList, setBanList } from "../../../roblox-open-cloud.js";
|
||||
import { insertLogs } from "../../../gcloud.js";
|
||||
import { jsonError } from "../../../common.js";
|
||||
import sendEmail from "../../../email.js";
|
||||
import { sendPushNotification } from "../../../gcloud.js";
|
||||
@ -32,14 +31,35 @@ export async function onRequestPost(context: RequestContext) {
|
||||
}
|
||||
|
||||
if (Object.values(logMap).length) {
|
||||
await insertLogs(logMap, context.params.id as string, context);
|
||||
const batchedQueries = [];
|
||||
const statement = context.env.D1.prepare(
|
||||
"INSERT INTO game_mod_logs (action, evidence, executed_at, executor, id, target) VALUES (?, ?, ?, ?, ?, ?);",
|
||||
);
|
||||
const actionMap: { [k: number]: string } = {
|
||||
1: "blacklist",
|
||||
2: "ban",
|
||||
};
|
||||
|
||||
for (const [k, v] of Object.entries(logMap)) {
|
||||
if (v === 0) continue;
|
||||
|
||||
batchedQueries.push(
|
||||
statement.bind(actionMap[v]),
|
||||
`https://carcrushers.cc/mod-queue?type=report&id=${context.params.id}`,
|
||||
Date.now(),
|
||||
context.data.current_user.id,
|
||||
crypto.randomUUID(),
|
||||
parseInt(k),
|
||||
);
|
||||
}
|
||||
|
||||
await context.env.D1.batch(batchedQueries);
|
||||
|
||||
const banList = (await getBanList(context)) as {
|
||||
[k: string]: { BanType: number };
|
||||
};
|
||||
|
||||
Object.assign(banList, newActions);
|
||||
await setBanList(context, banList);
|
||||
await setBanList(context, Object.assign(banList, newActions));
|
||||
}
|
||||
|
||||
reportData.open = false;
|
||||
|
Reference in New Issue
Block a user