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

54 lines
1.2 KiB
JavaScript
Raw Normal View History

2018-12-28 15:52:29 +01:00
'use strict'
const _createParseMovement = require('../../parse/movement')
2018-12-28 15:52:29 +01:00
const products = require('./products')
const transformReqBody = (body) => {
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
}
const createParseMovement = (profile, opt, data) => {
const _parseMovement = _createParseMovement(profile, opt, data)
const parseMovement = (m) => {
const res = _parseMovement(m)
// filter out empty stopovers
res.nextStopovers = res.nextStopovers.filter(st => !!st.stop)
return res
}
return parseMovement
}
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,
parseMovement: createParseMovement,
departuresGetPasslist: false,
departuresStbFltrEquiv: false,
2018-12-28 15:52:29 +01:00
trip: true,
radar: true,
reachableFrom: true
}
module.exports = saarfahrplanProfile