8041a39dfd
- Added TourScheduleEngine class for managing user queues in a guild. - Implemented methods for joining, leaving, listing, and clearing queues. - Added functionality to promote users to speaker in a stage channel and send announcements. - Created integration tests for the TourScheduleEngine to verify FIFO behavior and announcement dispatch. test: Add unit tests for ping and sign-up commands - Created tests for ping command to ensure it replies with "Pong!". - Implemented tests for sign-up command to verify queue joining, listing, and permission checks. test: Add integration tests for mileage engine flow - Developed tests to validate mileage awarding, event persistence, and role upgrades based on mileage thresholds. chore: Update TypeScript configuration for ESLint - Added tsconfig.eslint.json for ESLint integration. - Modified tsconfig.json to exclude test files from the main compilation.
31 lines
844 B
TypeScript
31 lines
844 B
TypeScript
import { migrateAndSeed, runMigrations, seedInitialConfig } from "./migrations";
|
|
|
|
async function main(): Promise<void> {
|
|
const command = (process.argv[2] ?? "migrate").trim();
|
|
|
|
if (command === "migrate") {
|
|
await runMigrations();
|
|
console.log("Database migrations applied.");
|
|
return;
|
|
}
|
|
|
|
if (command === "seed") {
|
|
const inserted = await seedInitialConfig();
|
|
console.log(`Database seed complete. Inserted ${inserted} config entries.`);
|
|
return;
|
|
}
|
|
|
|
if (command === "setup") {
|
|
const inserted = await migrateAndSeed();
|
|
console.log(`Database setup complete. Seeded ${inserted} config entries.`);
|
|
return;
|
|
}
|
|
|
|
throw new Error(`Unknown db command: ${command}. Use migrate|seed|setup.`);
|
|
}
|
|
|
|
void main().catch((error: unknown) => {
|
|
console.error("Database command failed:", error);
|
|
process.exit(1);
|
|
});
|