kilometrikisa
v0.6.0
Published
Provides access to Kilometrikisa.fi information
Downloads
6
Readme
Kilometrikisa
This module will enable you to easily access information on the Kilometrikisa site.
Usage
Setup the cookie jar
Before using the library, you might need to configure a cookie jar for storing the cookies needed for logging in.
import * as Kilometrikisa from 'kilometrikisa';
import axiosCookieJarSupport from '@3846masa/axios-cookiejar-support';
import * as tough from 'tough-cookie';
// Setup cookie jar
const cookieJar = new tough.CookieJar();
Kilometrikisa.setupAxiosCookieJar(axiosCookieJarSupport, cookieJar);
// Use library
Kilometrikisa.login('username', 'password')
.then(user => ...);
Log in and fetch basic user information
const user = await Kilometrikisa.login('username', 'password');
console.log(user);
Fetch results for user
Kilometrikisa.login(kktestLogin, kktestPw)
.then(() => Kilometrikisa.getUserResults())
.then(results => {
const totalKm = results.reduce((s, v) => s + v.km, 0);
console.log(totalKm + " km driven");
});
// Example output
[
...
{ date: '2017-06-27', km: 10.7 },
{ date: '2017-06-28', km: 28 },
{ date: '2017-06-29', km: 24.6 },
{ date: '2017-06-30', km: 0 },
{ date: '2017-07-01', km: 21.7 },
{ date: '2017-07-02', km: 26.2 },
{ date: '2017-07-03', km: 12.4 },
...
]
Fetch top 100 statistics
const n = 2;
const page = await Kilometrikisa.allTeamsTopListPage();
const teams = await Kilometrikisa.getTeamInfoPages(page, n);
console.log(teams);
Fetch detailed information for the team where the user belongs to
Kilometrikisa.login('username', 'password')
.then(() => Kilometrikisa.getContests())
.then((contests) => Kilometrikisa.fetchTeamResults(contests[0]))
.then(teamResults => {
console.log(teamResults.name);
console.log(teamResults.results);
});
Update information to the contest log
Note that this API will only work when the contest is active.
Kilometrikisa.login('username', 'password')
.then(() => Kilometrikisa.updateLog('2021-08-22', 100.5))
.then(() => console.log('Log updated'));
Get the contests user has participated in
Kilometrikisa.login('username', 'password')
.then(() => Kilometrikisa.getContests())
.then((result) => {
console.log(result[0].teamName + ' ' result[0].contest + ' ' + result[0].time);
console.log(result[0].link);
});
Get the latest contest information
const contests = await Kilometrikisa.getAllContests();
const latest = contests[0];
console.log(latest.name); // Talvikilometrikisa 2021
console.log(latest.link); // /contests/talvikilometrikisa-2021/teams/