mirror of
https://github.com/Sendouc/sendou.ink.git
synced 2026-04-25 15:56:19 -05:00
* Initial * Calendar initial * Extract EventCalendar * Events list initial * Winners * SQL fixes * List events by series * Leaderboards * Series leaderboard * Own entry peek * Edit page skeleton * RHF initial test * RHF stuff * Form etc. progress * Fix tournament series description * Fix tabs layout * Fix socials insert * Check for not removing admin * Adding series * TODOs * Allow updating org with no series * FormFieldset * Allow series without events * TextAreaFormfield accepting array syntax * Input form array field * ToggleFormField * SelectFormField * UserSearchFormField * Fetch badgeOptions * Badge editing * Progress * Use native preventScrollReset * Rename func * Fix sticky scroll * Fix translation * i18n errors * handle,meta in edit * Add ref to user search * TODOs * Done
44 lines
1.1 KiB
TypeScript
44 lines
1.1 KiB
TypeScript
import "dotenv/config";
|
|
import { db } from "~/db/sql";
|
|
import invariant from "~/utils/invariant";
|
|
import { logger } from "~/utils/logger";
|
|
|
|
async function main() {
|
|
const name = process.argv[2]?.trim();
|
|
const orgIdRaw = process.argv[3]?.trim();
|
|
const orgId = Number(orgIdRaw);
|
|
|
|
invariant(name, "name of tournament is required (argument 1)");
|
|
invariant(orgIdRaw, "org id is required (argument 2)");
|
|
invariant(!Number.isNaN(orgId), "org id must be a number");
|
|
|
|
await db
|
|
.selectFrom("TournamentOrganization")
|
|
.select(["TournamentOrganization.id"])
|
|
.where("id", "=", orgId)
|
|
.executeTakeFirstOrThrow();
|
|
|
|
const allEvents = await db
|
|
.selectFrom("CalendarEvent")
|
|
.select(["CalendarEvent.name", "CalendarEvent.id"])
|
|
.execute();
|
|
|
|
const filtered = allEvents.filter((event) =>
|
|
event.name.toLowerCase().includes(name.toLowerCase()),
|
|
);
|
|
|
|
await db
|
|
.updateTable("CalendarEvent")
|
|
.set({ organizationId: orgId })
|
|
.where(
|
|
"id",
|
|
"in",
|
|
filtered.map((event) => event.id),
|
|
)
|
|
.execute();
|
|
|
|
logger.info(`Added ${filtered.length} tournaments to organization ${orgId}`);
|
|
}
|
|
|
|
main();
|