import dayjs from 'dayjs' import { ReservationRequest } from './common/request' import { Reservation } from './common/reservation' import { Runner } from './common/runner' const run = async (request: ReservationRequest) => { const { username, password, dateRange, opponent } = request const reservation = new Reservation(dateRange, opponent) const runner = new Runner(username, password, [reservation]) await runner.run({ headless: false }) } // get supplied args const args = process.argv.filter((_, index) => index >= 2) if (args.length !== 9) { console.error( 'Usage: npm run local ' ) process.exit(1) } const [ username, password, year, month, day, startTime, endTime, opponentName, opponentId, ] = args const [startHour, startMinute] = startTime .split(':') .map((t) => Number.parseInt(t)) const [endHour, endMinute] = endTime.split(':').map((t) => Number.parseInt(t)) run({ username: username, password: password, dateRange: { start: dayjs(`${year}-${month}-${day}T${startHour}:${startMinute}`), end: dayjs(`${year}-${month}-${day}T${endHour}:${endMinute}`), }, opponent: { name: opponentName, id: opponentId, }, }) .then(() => console.log('Success')) .catch((e) => console.error(e))