Files
chocoadmin/scripts/check-db.ts
T

88 lines
2.4 KiB
TypeScript

import { config } from "dotenv";
config({ path: ".env.local" });
async function main() {
const { db } = await import("@/lib/db");
const { getAccountTypeLabel, getActivateStatusLabel, getRequestStatusLabel } =
await import("@/lib/utils");
const [maestroCount, extensionCount, upgradeCount] = await Promise.all([
db.maestro.count(),
db.maestro_extension.count(),
db.maestro_upgrade.count(),
]);
const [maestros, extensionRequests, upgradeRequests] = await Promise.all([
db.maestro.findMany({
orderBy: { MaestroID: "desc" },
select: {
MaestroID: true,
Name: true,
AccountType: true,
ActivateStatus: true,
PlayerCount: true,
},
take: 3,
}),
db.maestro_extension.findMany({
orderBy: { MaestroExtensionID: "desc" },
select: {
MaestroExtensionID: true,
MaestroID: true,
AccountType: true,
Status: true,
},
take: 3,
}),
db.maestro_upgrade.findMany({
orderBy: { MaestroUpgradeID: "desc" },
select: {
MaestroUpgradeID: true,
MaestroID: true,
RegisteredAccountType: true,
RequestedAccountType: true,
Status: true,
},
take: 3,
}),
]);
console.log("DB connection OK");
console.log({
counts: {
maestro: maestroCount,
maestro_extension: extensionCount,
maestro_upgrade: upgradeCount,
},
maestros: maestros.map((maestro) => ({
id: maestro.MaestroID,
name: maestro.Name,
accountType: getAccountTypeLabel(maestro.AccountType),
activateStatus: getActivateStatusLabel(maestro.ActivateStatus),
playerCount: maestro.PlayerCount,
})),
extensionRequests: extensionRequests.map((request) => ({
id: request.MaestroExtensionID,
maestroId: request.MaestroID,
accountType: getAccountTypeLabel(request.AccountType),
status: getRequestStatusLabel(request.Status),
})),
upgradeRequests: upgradeRequests.map((request) => ({
id: request.MaestroUpgradeID,
maestroId: request.MaestroID,
from: getAccountTypeLabel(request.RegisteredAccountType),
to: getAccountTypeLabel(request.RequestedAccountType),
status: getRequestStatusLabel(request.Status),
})),
});
await db.$disconnect();
}
main().catch((error) => {
console.error("DB connection check failed");
console.error(error);
process.exitCode = 1;
});