sendou.ink/scripts/fc-lookup.ts
Kalle fd48bced91
Migrate Prettier/Eslint/Stylelint setup to Biome (#1772)
* 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>
2024-06-24 13:07:17 +03:00

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();