mirror of
https://github.com/public-transport/db-vendo-client.git
synced 2025-02-23 23:29:35 +02:00
102 lines
1.9 KiB
JavaScript
102 lines
1.9 KiB
JavaScript
'use strict'
|
|
|
|
const {readFileSync} = require('fs')
|
|
const {join} = require('path')
|
|
const {Agent} = require('https')
|
|
const baseProfile = require('./base.json')
|
|
|
|
const products = [{
|
|
id: 'train-and-s-bahn',
|
|
mode: 'train',
|
|
bitmasks: [1, 2],
|
|
name: 'Bahn & S-Bahn',
|
|
short: 'Bahn & S-Bahn',
|
|
default: true,
|
|
}, {
|
|
id: 'u-bahn',
|
|
mode: 'train',
|
|
bitmasks: [4],
|
|
name: 'U-Bahn',
|
|
short: 'U-Bahn',
|
|
default: true,
|
|
}, {
|
|
id: 'tram',
|
|
mode: 'train',
|
|
bitmasks: [16],
|
|
name: 'Straßenbahn',
|
|
short: 'Straßenbahn',
|
|
default: true,
|
|
}, {
|
|
id: 'city-bus',
|
|
mode: 'bus',
|
|
bitmasks: [128],
|
|
name: 'Stadtbus',
|
|
short: 'Stadtbus',
|
|
default: true,
|
|
}, {
|
|
id: 'regional-bus',
|
|
mode: 'bus',
|
|
bitmasks: [64],
|
|
name: 'Regionalbus',
|
|
short: 'Regionalbus',
|
|
default: true,
|
|
}, {
|
|
id: 'long-distance-bus',
|
|
mode: 'bus',
|
|
bitmasks: [32],
|
|
name: 'Fernbus',
|
|
short: 'Fernbus',
|
|
default: true,
|
|
}, {
|
|
id: 'other-bus',
|
|
mode: 'bus',
|
|
bitmasks: [2048],
|
|
name: 'sonstige Busse',
|
|
short: 'sonstige Busse',
|
|
default: true,
|
|
}, {
|
|
id: 'aerial-lift',
|
|
mode: 'gondola',
|
|
bitmasks: [256],
|
|
name: 'Seil-/Zahnradbahn',
|
|
short: 'Seil-/Zahnradbahn',
|
|
default: true,
|
|
}, {
|
|
id: 'ferry',
|
|
mode: 'watercraft',
|
|
bitmasks: [512],
|
|
name: 'Schiff',
|
|
short: 'Schiff',
|
|
default: true,
|
|
}, {
|
|
id: 'on-call',
|
|
mode: 'taxi',
|
|
bitmasks: [1024],
|
|
name: 'Anrufsammeltaxi',
|
|
short: 'AST',
|
|
default: true,
|
|
}]
|
|
|
|
// `fahrplan.ivb.at:443` doesn't provide the necessary CA certificate chain for
|
|
// Node.js to trust the certificate, so we manually add it.
|
|
// todo: fix this properly, e.g. by letting them know
|
|
const ca = readFileSync(join(__dirname, 'digicert-tls-rsa-sha256-2020-ca1.crt.pem'))
|
|
const agent = new Agent({ca})
|
|
const transformReq = (ctx, req) => ({...req, agent})
|
|
|
|
const ivbProfile = {
|
|
...baseProfile,
|
|
ver: '1.32',
|
|
transformReq,
|
|
|
|
locale: 'at-DE',
|
|
timezone: 'Europe/Vienna',
|
|
|
|
products,
|
|
|
|
refreshJourneyUseOutReconL: true,
|
|
trip: true,
|
|
reachableFrom: true,
|
|
}
|
|
|
|
module.exports = ivbProfile
|