db-vendo-client/p/saarfahrplan/index.js

51 lines
1.1 KiB
JavaScript
Raw Permalink Normal View History

2018-12-28 15:52:29 +01:00
'use strict'
2019-10-20 00:19:52 +02:00
const {parseHook} = require('../../lib/profile-hooks')
const _parseMovement = require('../../parse/movement')
2018-12-28 15:52:29 +01:00
const products = require('./products')
2019-10-20 00:19:52 +02:00
const transformReqBody = (ctx, body) => {
2018-12-28 15:52:29 +01:00
body.client = {
type: 'AND',
id: 'ZPS-SAAR',
v: 1000070,
name: 'Saarfahrplan',
os: 'Android 9'
}
body.ver = '1.21'
body.auth = {type: 'AID', aid: '51XfsVqgbdA6oXzHrx75jhlocRg6Xe'}
body.lang = 'de'
return body
}
2019-10-20 00:19:52 +02:00
const fixMovement = ({parsed}, m) => {
// filter out empty stopovers
parsed.nextStopovers = parsed.nextStopovers.filter(st => !!st.stop)
return parsed
}
2018-12-28 15:52:29 +01:00
const saarfahrplanProfile = {
locale: 'de-DE',
timezone: 'Europe/Berlin',
endpoint: 'https://saarfahrplan.de/bin/mgate.exe',
transformReqBody,
// decrypted form of https://gist.github.com/derhuerst/f5a8c07f9b3226ecad6c8f64d83df6a2#file-haf_config_base-properties-L70
salt: Buffer.from('HJtlubisvxiJxss', 'utf8'),
addMicMac: true,
products: products,
2019-10-20 00:19:52 +02:00
parseMovement: parseHook(_parseMovement, fixMovement),
departuresGetPasslist: false,
departuresStbFltrEquiv: false,
2018-12-28 15:52:29 +01:00
trip: true,
radar: true,
reachableFrom: true
}
module.exports = saarfahrplanProfile