flywheeljs
v0.0.3
Published
A Javascript client for the Flywheel REST API
Downloads
5
Readme
🚕 flywheeljs
A Javascript wrapper to the Flywheel REST API, for both NodeJS and the browser.
DISCLAIMER This project is an independent work and has not been authorized, sponsored, or otherwise approved by Flywheel Software Inc.
Promises
flywheeljs depends on a native ES6 Promise implementation to be supported. If your environment doesn't support ES6 Promises, you can polyfill.
Install
- NodeJS / Browserify:
npm install flywheeljs --save
Other platforms / bundling tools could be easily added if needed.
Getting started
To login a user and then order a cab:
flywheel = require ('flywheeljs');
var userEmail = '[email protected]';
var userPassword = 'userpassword';
var latitude = 37.615223; // Pickup latitude
var longitude = -122.389977; // Pickup longitude
var tip = 10 * 100; // 10$ tip
// These variables are needed to order the cab
var authToken = '';
var userName = '';
var userPhone = '';
var paymentToken = '';
flywheel.login({
email: userEmail,
password: userPassword
})
.then(function (response) {
authToken = response.auth_token;
userName = response.passenger.first_name;
userPhone = response.passenger.telephone;
paymentToken = response.passenger.payment_instruments[0].token;
return flywheel.applicationContext({
authToken: authToken,
latitude: latitude,
longitude: longitude
});
})
.then(function (response) {
return flywheel.createRide({
pickUpLat: latitude,
pickUpLon: longitude,
passenger: {
name: userName,
phone: userPhone
},
paymentToken: paymentToken,
serviceAvailabilitiesId: response.service_availabilities[0].id,
tip: tip,
authToken: authToken
});
})
.then(function (response) {
console.log("Your cab has been ordered! Your order id is: ", response.id);
})
.catch(function (error) {
console.err('There was an error', error);
});
Documentation
You will find all the documentation here.
Contributing
Pull requests are welcomed. To get started:
- Download or clone the repo
npm install
npm run test-browser
, you can openrunner.html
file to see run the tests in the browser
Todo
- [ ] add delayed trip request
- [ ] 'examples' folder
- [ ] use npm instead of gulp (see this library boilerplate)