mirror of
https://github.com/Sendouc/sendou.ink.git
synced 2026-03-21 18:04:39 -05:00
* Initial * CSS lint * Test CI * Add 1v1, 2v2, and 3v3 Tags (#1771) * Initial * CSS lint * Test CI * Rename step --------- Co-authored-by: xi <104683822+ximk@users.noreply.github.com>
39 lines
929 B
TypeScript
39 lines
929 B
TypeScript
import "dotenv/config";
|
|
import { db } from "~/db/sql";
|
|
import invariant from "~/utils/invariant";
|
|
import { logger } from "~/utils/logger";
|
|
|
|
const friendCode = process.argv[2]?.trim();
|
|
|
|
invariant(friendCode, "friend code is required (argument 1)");
|
|
|
|
async function main() {
|
|
const allFcs = await db
|
|
.selectFrom("UserFriendCode")
|
|
.innerJoin("User", "User.id", "UserFriendCode.userId")
|
|
.select([
|
|
"UserFriendCode.friendCode",
|
|
"User.id as userId",
|
|
"User.discordId",
|
|
"User.discordUniqueName",
|
|
])
|
|
.orderBy("UserFriendCode.createdAt", "asc")
|
|
.whereRef("User.id", "=", "UserFriendCode.submitterUserId")
|
|
.execute();
|
|
|
|
const matches = allFcs.filter((fc) => fc.friendCode === friendCode);
|
|
|
|
if (matches.length === 0) {
|
|
logger.info("No matches found");
|
|
return;
|
|
}
|
|
|
|
for (const match of matches) {
|
|
logger.info(
|
|
`${match.friendCode} - ${match.discordUniqueName} - ${match.discordId}`,
|
|
);
|
|
}
|
|
}
|
|
|
|
void main();
|