Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // in smsService
- exports.messageJobToDrivers = function(data){
- return new Promise(function(resolve,reject){
- driverService.find().then(function(drivers){
- Promise.map(drivers, function(driver){
- if (driver && driver.phoneNumber) {
- return exports.sendSms(({
- to: driver.phoneNumber,
- body: "There is a new Get Me request in the job queue"
- })).then(function () {
- logger.debug("Job message sent to " + driver.phoneNumber);
- return;
- }).catch(function (err) {
- logger.warn("Job message failed to " + driver.phoneNumber);
- return;
- })
- }
- }) //no catch here because it can't error
- })
- //resolve here so that we don't wait for all text messages to go out
- resolve(data);
- })
- }
- //in rideService
- exports.createRide = function(data) {
- return new Promise(function(resolve, reject) {
- if(!data || Object.keys(data).length === 0) {
- return reject(new errors.InvalidDataError("Invalid data"));
- }
- data.validation = {
- vehicleRequired: true
- };
- // Set requested time
- data.requestedTime = new Date();
- processAndValidateData(data, rideRequestType.create)
- .then(saveChargeHold)
- .then(createNewRequest)
- .then(smsService.messageJobToDrivers)
- .then(resolve)
- .catch(reject);
- });
- }
- //in deliveryService
- create: function(requestBody) {
- return new Promise(function(resolve, reject) {
- if(!requestBody || Object.keys(requestBody).length === 0) {
- return reject(new errors.InvalidDataError('Invalid requestBody'));
- }
- requestBody.requestType = deliveryRequestType.create;
- processAndValidateData(requestBody)
- .then(createPaymentHold)
- .then(createNewRequest)
- .then(smsService.messageJobToDrivers)
- .then(resolve)
- .catch(reject);
- });
- },
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement