autobaan/src/local.ts

65 lines
1.5 KiB
TypeScript
Raw Normal View History

import { IncomingRequest } from './common/request'
import { Reservation } from './common/reservation'
import { Runner } from './common/runner'
const run = async (request: IncomingRequest) => {
const { username, password, dateTimes, opponent } = request
const reservations = dateTimes.map((dt) => new Reservation(dt, opponent))
const runner = new Runner(username, password, reservations)
await runner.run({ headless: false })
}
// get supplied args
const args = process.argv.filter((_, index) => index >= 2)
if (args.length !== 7) {
console.error(
'Usage: npm run local <username> <password> <year> <month> <day> <startTime> <endTime> <opponentName> <opponentId>'
)
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({
2021-11-15 12:32:49 +01:00
username: username,
password: password,
dateTimes: [
{
year: Number.parseInt(year),
month: Number.parseInt(month),
day: Number.parseInt(day),
timeRange: {
start: {
hour: startHour,
minute: startMinute,
},
end: {
hour: endHour,
minute: endMinute,
},
},
},
],
opponent: {
id: opponentId,
name: opponentName,
},
})
.then(() => console.log('Success'))
.catch((e) => console.error(e))