mapintelligenceagency / gbfsql Goto Github PK
View Code? Open in Web Editor NEWA GBFS to GraphQL Wrapper
License: MIT License
A GBFS to GraphQL Wrapper
License: MIT License
Sentry Issue: GBFSQL-G
Cannot read property 'data' of undefined
Sentry Issue: GBFSQL-H
TypeError: Cannot read property 'feeds' of undefined
File "/usr/src/app/src/gbfs.js", line 38, in GBFS.load
const providedFeeds = gbfs.data.en.feeds.filter((feed) => supportedFeeds.includes(feed.name));
?, in async Promise.all
For GBFS-Feed: https://api.openbike.ulm.dev/gbfs/gbfs.json
There should be a exclude_disabled
modifier when querying for both docked and dock-less vehicle that filters out disabled vehicles, so they don't consume any client bandwidth when not being shown.
Possibly, the inverse (include_disabled
with default exclusion would be better), or there might be the option to specify which modifier to include, maybe modelling them as an enum and the being able to do
vehicles(include: [RESERVED, AVAILABLE]) {
vehicleId
}
Simple Dashboard showing active Gbfs Feeds, if they could be crawled, latency, queries against GbfsQl. Like the Traefik dashboard.
query {
Tier {
bikes {
x_mia_battery
}
}
}
works, while
query {
Tier {
bikes(with_ids: ["anIDhere"]) {
x_mia_battery
}
}
}
does not.
The JCDecaux->GBFS bridge is finished. Please add the feeds to your deployment.
https://europe-west1-jcdecaux-gbfs.cloudfunctions.net/gbfs/rouen/gbfs.json
https://europe-west1-jcdecaux-gbfs.cloudfunctions.net/gbfs/toulouse/gbfs.json
https://europe-west1-jcdecaux-gbfs.cloudfunctions.net/gbfs/luxembourg/gbfs.json
https://europe-west1-jcdecaux-gbfs.cloudfunctions.net/gbfs/dublin/gbfs.json
https://europe-west1-jcdecaux-gbfs.cloudfunctions.net/gbfs/valence/gbfs.json
https://europe-west1-jcdecaux-gbfs.cloudfunctions.net/gbfs/stockholm/gbfs.json
https://europe-west1-jcdecaux-gbfs.cloudfunctions.net/gbfs/santander/gbfs.json
https://europe-west1-jcdecaux-gbfs.cloudfunctions.net/gbfs/lund/gbfs.json
https://europe-west1-jcdecaux-gbfs.cloudfunctions.net/gbfs/bruxelles/gbfs.json
https://europe-west1-jcdecaux-gbfs.cloudfunctions.net/gbfs/amiens/gbfs.json
https://europe-west1-jcdecaux-gbfs.cloudfunctions.net/gbfs/mulhouse/gbfs.json
https://europe-west1-jcdecaux-gbfs.cloudfunctions.net/gbfs/lillestrom/gbfs.json
https://europe-west1-jcdecaux-gbfs.cloudfunctions.net/gbfs/lyon/gbfs.json
https://europe-west1-jcdecaux-gbfs.cloudfunctions.net/gbfs/ljubljana/gbfs.json
https://europe-west1-jcdecaux-gbfs.cloudfunctions.net/gbfs/seville/gbfs.json
https://europe-west1-jcdecaux-gbfs.cloudfunctions.net/gbfs/nancy/gbfs.json
https://europe-west1-jcdecaux-gbfs.cloudfunctions.net/gbfs/namur/gbfs.json
https://europe-west1-jcdecaux-gbfs.cloudfunctions.net/gbfs/creteil/gbfs.json
https://europe-west1-jcdecaux-gbfs.cloudfunctions.net/gbfs/cergy-pontoise/gbfs.json
https://europe-west1-jcdecaux-gbfs.cloudfunctions.net/gbfs/vilnius/gbfs.json
https://europe-west1-jcdecaux-gbfs.cloudfunctions.net/gbfs/toyama/gbfs.json
https://europe-west1-jcdecaux-gbfs.cloudfunctions.net/gbfs/marseille/gbfs.json
https://europe-west1-jcdecaux-gbfs.cloudfunctions.net/gbfs/nantes/gbfs.json
https://europe-west1-jcdecaux-gbfs.cloudfunctions.net/gbfs/brisbane/gbfs.json
https://europe-west1-jcdecaux-gbfs.cloudfunctions.net/gbfs/besancon/gbfs.json
During a recent outage, GBFS crashed when one of the configured GBFS feeds became unavailable. In this case, there should probably be an error which can be displayed in the MIA Mobility Map and no data should be returned instead of terminating.
Add a way of optionally supplying a Sentry access key and if it exists log any errors there
This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). The promise rejected with the reason:
StatusCodeError: 502 - "Bad Gateway"
at new StatusCodeError (/usr/src/app/node_modules/request-promise-core/lib/errors.js:32:15)
at Request.plumbing.callback (/usr/src/app/node_modules/request-promise-core/lib/plumbing.js:104:33)
at Request.RP$callback [as _callback] (/usr/src/app/node_modules/request-promise-core/lib/plumbing.js:46:31)
at Request.self.callback (/usr/src/app/node_modules/request/request.js:185:22)
at Request.emit (events.js:315:20)
at Request.EventEmitter.emit (domain.js:483:12)
at Request.<anonymous> (/usr/src/app/node_modules/request/request.js:1154:10)
at Request.emit (events.js:315:20)
at Request.EventEmitter.emit (domain.js:483:12)
at IncomingMessage.<anonymous> (/usr/src/app/node_modules/request/request.js:1076:12)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.