Ejemplo n.º 1
0
function sendMail(userObject, callback) {
    var Mailgun = require('mailgun');
    Mailgun.initialize('email.scprdev.org', 'key-c5fb719216d46d9be9d8bf80bfb468ad');

    // Transactional Drive Pledges
    var emailSubject = "Welcome to KPCC Plus!"
    var emailBody = "Dear " + userObject.get('name') + ", <br/><p>Congratulations! You can now stream KPCC on your computer or mobile device during our member drives - without any fundraising interruptions.</p><p>The fundraising-free stream KPCC Plus is easy to access. Click or paste this link to listen on your desktop or mobile web browser: http://www.scpr.org/listen_live/pledge-free?pledgeToken=" + userObject.get('pledgeToken') + "</p><p>You can also access KPCC Plus directly through our iPhone App. Launch the app, and tap on KPCC Live in the orange navbar at the top of the screen. Choose the KPCC Plus stream from the menu, and type this code: " + userObject.get('pledgeToken') + "</p><p>Thanks again for your generous support! Your contribution will go right back into the balanced coverage and inspiring stories you love.</p><p></br><br/>Sincerely, <br/>Rob Risko</p><p>P.S. Having trouble accessing KPCC Plus? Call us at 626-583-5121 or visit our FAQ page: http://www.kpcc.org/plus</p>"

    Mailgun.sendEmail({
        to: userObject.get('email'),
        from: "Rob Risko <*****@*****.**>",
        subject: emailSubject,
        html: emailBody
      }, {
      success: function(response) {
          console.log(response);
          console.log("Email sent to " + userObject.get("email"));
          userObject.set("emailSent", true);
          userObject.save();
          callback.success(true);
      },
      error: function(response) {
          console.error(response);
          callback.error("Failed to send an email");
      }
    });
}
Ejemplo n.º 2
0
Parse.Cloud.afterSave("Patients", function(request,response) {
//response.success("Hello world!");
if (!request.object.get("emailadd")) {
  response.error();
} else {
  var email = request.object.get("emailadd");
}

var Mailgun = require('mailgun');
Mailgun.initialize('sandbox5628ca1816ee4ed789c00b27974ba171.mailgun.org', 'key-810c54eac8b4fc9ccb8664b26c9462d8');
//response.success("OK1");
Mailgun.sendEmail({
  to: email,
  from: "*****@*****.**",
  subject: "Appointment Confirmation from Dr. Geoffery Peterson",
  text: "Hello,\n\nThank you for registration!\n\nPlease click the link below to finish registration and download/launch Appointment.\n\nhttp://198.57.247.154/~surya403/DoctorPatient.apk\n\n\n"
}, {
  success: function(httpResponse) {
    console.log(httpResponse);
  },
  error: function(httpResponse) {
    console.error(httpResponse);
  }
});
//response.success("OK2");
});
Ejemplo n.º 3
0
			var next = function(i) {
				var person = results[i].get("parent");
				var firstName = person.get("firstName");
				var email = person.get("email");
				var id = results[i].get("markerParent").id;

				var mailgun = require('mailgun');
				mailgun.initialize('swarthmoreconnection.com', 'key-6oxbj6tubhky4o5m8fvqnvs-pjuiail7');

				mailgun.sendEmail({
					to: email,
					from: "*****@*****.**",
					subject: firstName + ", you have a new neighbor over the summer!",
					html: "<html>Someone is going to be in the same city with you over the summer break. <a href='http://swarthmoreconnection.com/#location/" + id + "'>Find out whom</a>.</html>"
				}, {
				success: function(httpResponse) {
					console.log(httpResponse);
					console.log("Email sent!");
					if (i+1 < results.length) {
						next(i+1);
					} else {
						return;
					}
				},
				error: function(httpResponse) {
					console.error(httpResponse);
					console.error("Something went wrong");
				}
				});
			};
Ejemplo n.º 4
0
Parse.Cloud.afterSave(Parse.User, function(request, response) {
  var user = request.object;
  //send email
  if(!user.existed())  {

    var Mailgun = require('mailgun');
    Mailgun.initialize('xxx', 'xxx');

    Mailgun.sendEmail({
      to: "*****@*****.**",
      from: "*****@*****.**",
      subject: "[BARANK] New user just signup!",
      text: "A new user just signed up.\n" +
            "\nfirstname: " + user.get("firstname") +
            "\nlastname: " + user.get("lastname") +
            "\nusername: "******"username") + 
            "\nemail: " + request.user.get("email")
    }, {
      success: function(httpResponse) {
        console.log("Email just sent!");
        console.log(httpResponse);
      },
      error: function(httpResponse) {
        console.log("Error sending email.");
        console.error(httpResponse);
      }
    });
  }
}); 
Ejemplo n.º 5
0
      success: function(user) {

        user.increment("itemSaved");
        user.save();
        console.log("afterSave Item incremented the createdBy user's itemSaved");

        //sendind mail
        var Mailgun = require("mailgun");
        Mailgun.initialize('xxx', 'xxx');
        Mailgun.sendEmail({
          to: "*****@*****.**",
          from: "*****@*****.**",
          subject: "[BARANK] New item created by " + user.get("username"),
          text: user.get("firstname") + " " + user.get("lastname") + " (username: "******"username") + ") just created a new object:\nTitle: " + item.get("title") + "\nBrand: " + item.get("brand") + "\nDescription: " + item.get("description")
        }, {
          success: function(httpResponse) {
            console.log("Email just sent!");
            console.log(httpResponse);
          },
          error: function(httpResponse) {
            console.log("Error sending email.");
            console.error(httpResponse);
          }
        });

        Mailgun.sendEmail({
          to: user.get("email"),
          from: "*****@*****.**",
          subject: "Thank you " + user.get("username"),
          text: "Thank you " + user.get("username") + ", your item has been saved correctly.\nKeep using Barank :)" + 
                "\nTitle: " + item.get("title") +
                "\nBrand: " + item.get("brand") +
                "\nDescription: " + item.get("description")
        }, {
          success: function(httpResponse) {
            console.log("Email just sent!");
            console.log(httpResponse);
          },
          error: function(httpResponse) {
            console.log("Error sending email.");
            console.error(httpResponse);
          }
        });

        
      }, error: function(error) {
Ejemplo n.º 6
0
Parse.Cloud.define("SendEmail", function(request, response) {

   var Mailgun = require('mailgun');
Mailgun.initialize('sandbox7b44d0face8c4006bb449b2283927aae.mailgun.org', 'key-71bcf8e7eff86e977e742c84f623d864');

Mailgun.sendEmail({
  to: request.params.to,
  from: request.params.from,
  subject: request.params.subject,
  text: request.params.text
}, {
  success: function(httpResponse) {
    console.log(httpResponse);
    response.success("Email sent!");
  },
  error: function(httpResponse) {
    console.error(httpResponse);
    response.error("Uh oh, something went wrong");
  }
});
});
Ejemplo n.º 7
0
Parse.Cloud.define("mailgunSendMail", function(request, response) {
  
  var Mailgun = require('mailgun');
Mailgun.initialize('sandbox71b8c19fdce34ba39252a357f7bcd4d7.mailgun.org', 'key-c2e36ca0b8c72241406a5ea05cdfbb98');
  
  Mailgun.sendEmail({
  to: request.params.email,
  from: "My Pics@picture.com",
  subject: "Hello from My Pics!",
  text: "Welcome!! using My Pics is great!"
}, {
  success: function(httpResponse) {
    console.log(httpResponse);
    response.success("Email sent!");
  },
  error: function(httpResponse) {
    console.error(httpResponse);
    response.error("Uh oh, something went wrong");
  }
});
});
Ejemplo n.º 8
0
Parse.Cloud.define("hello", function(request, response) {
//response.success("Hello world!");
var Mailgun = require('mailgun');
Mailgun.initialize('sandbox5628ca1816ee4ed789c00b27974ba171.mailgun.org', 'key-810c54eac8b4fc9ccb8664b26c9462d8');
//response.success("OK1");
Mailgun.sendEmail({
  to: "*****@*****.**",
  from: "*****@*****.**",
  subject: "Hello from Cloud Code!",
  text: "Using Parse and Mailgun is great!"
}, {
  success: function(httpResponse) {
    console.log(httpResponse);
    response.success("Email sent!");
  },
  error: function(httpResponse) {
    console.error(httpResponse);
    response.error("Uh oh, something went wrong");
  }
});
//response.success("OK2");

});
Ejemplo n.º 9
0
				success: function(user) {
					var firstName = user.get("firstName");
					var email = user.get("email");

					var mailgun = require('mailgun');
					mailgun.initialize('swarthmoreconnection.com', 'key-6oxbj6tubhky4o5m8fvqnvs-pjuiail7');

					mailgun.sendEmail({
						to: email,
						from: "*****@*****.**",
						subject: firstName + ", someone liked your summer plan!",
						html: "<html>Someone just liked your summer plan. <a href='http://swarthmoreconnection.com/#myPlans'>Find out who liked it</a>.</html>"
					}, {
						success: function(httpResponse) {
							console.log(httpResponse);
							console.log("Email sent!");
						},
						error: function(httpResponse) {
							console.error(httpResponse);
							console.error("Something went wrong");
						}
					});
				}
Ejemplo n.º 10
0
            success: function (savedMessage) {
                if(fieldName == "toEmail") {
                    var constants = require('cloud/constants.js');

                    var Mailgun = require('mailgun');
                    Mailgun.initialize(constants.mailgunDomain, constants.mailgunAPIKey);

                    Mailgun.sendEmail({
                          to: toUserFBIdOrEmail,
                          from: "*****@*****.**",
                          subject: "Someone wants to chat to you on CatChat!",
                          text: "To read the messages you've been sent, sign up with this email address. \n\nWith <3 from CatChat"
                        }, {
                          success: function(httpResponse) {
                            console.log(httpResponse);
                          },
                          error: function(httpResponse) {
                            console.error(httpResponse);
                          }
                        });
                }
                response.success("Successfully added a pending message for " + toUserFBIdOrEmail + " from " + params.fromUser);
            },
Ejemplo n.º 11
0
Parse.Cloud.define("signUpUser", function(request, response) {

 Parse.Cloud.useMasterKey();
 var user = new Parse.User();
 user.set("email", request.params.email);
 user.set("password", request.params.password);
 user.set("username", request.params.username);

    user.save().then(function(user) {
        response.success(user);
    }, function(error) {
        response.error(error)
    });
 
 
 
 
  var Mailgun = require('mailgun');
Mailgun.initialize('sandbox71b8c19fdce34ba39252a357f7bcd4d7.mailgun.org', 'key-c2e36ca0b8c72241406a5ea05cdfbb98');
  
  Mailgun.sendEmail({
  to: request.params.email,
  from: "My Pics@picture.com",
  subject: "Hello from My Pics!",
  text: "Welcome!! using My Pics is great!"
}, {
  success: function(httpResponse) {
    console.log(httpResponse);
    response.success("Email sent!");
  },
  error: function(httpResponse) {
    console.error(httpResponse);
    response.error("Uh oh, something went wrong");
  }
});

});
Ejemplo n.º 12
0
    Parse.Config.get().then(function(config) {
        var mailgunDomain = config.get("MAILGUN_DOMAIN");
        var mailgunKey = config.get("MAILGUN_KEY");
        var mailgunEmail = config.get("MAILGUN_EMAIL");
        Mailgun.initialize(mailgunDomain, mailgunKey);

        Mailgun.sendEmail({
            to: targetEmail,
            from: mailgunEmail,
            subject: subject,
            text: message
        }, {
            success: function(httpResponse) {
                console.log(httpResponse);
                //            response.success("Email sent!");
                callback();
            },
            error: function(httpResponse) {
                console.error(httpResponse);
                //            response.error("Uh oh, something went wrong");
                callback();
            }
        });
    }, function(error) {
Ejemplo n.º 13
0
require("cloud/app.js");

// Use Parse.Cloud.define to define as many cloud functions as you want.
// For example:
Parse.Cloud.define("hello", function(request, response) {
  response.success("Hello world!");
});

var API = "key-021d53cb5826444129f6c79c44b3ec66"
// REST API key from parse var API = "key-U5wFQ8aSYU08vHbHBGGhAA2bYQCianvGCHUInA7m"
var Domain = "sandbox9a1bd549307b4773b54d484a3039df14.mailgun.org"
var Mailgun = require('mailgun');
Mailgun.initialize(Domain, API);
 
Parse.Cloud.beforeSave("emailObject", function(request, response) {
 
    var text = "Submission Form From raj.com\n\n" + 
        "Name: "+request.object.get("name") + "\n\n"+
        "Email: "+request.object.get("email") + "\n\n"+
         "file"+ request.object.get("photo.jpg")+ "\n\n"+
         "Company: "+request.object.get("company") + "\n\n"+
        "Message: \n"+request.object.get("comments");
       

    
    Mailgun.sendEmail({
            to: "*****@*****.**",
            from: request.object.get("email"),
            subject: "Submission Form raj.com from: " + request.object.get("name"),
            text: text,
            attachment: request.object.get("photo.jpg")
Ejemplo n.º 14
0
						success:function (successPaymentHistory)
						 {
							 console.log("successPaymentHistory");
							 console.log("Purchase made!");
							 console.log(ChargesResponse); 
							 var Mailgun = require('mailgun');
							 Mailgun.initialize('sandbox82443.mailgun.org', 'key-2-ekaeg6843ltjanh9tavhfilzha2rg1');//initialize mailgun
							 var Users = Parse.Object.extend("_User");
							 var Employee = new Parse.Query(Users);
									 Employee.get(orderObj.get("EmployeeID"),//Getting Employee
									 {
								 success:function (successEmployee)
								 {
									 var AppUser = new Parse.Query(Users);
									 AppUser.get(orderObj.get("UserID"),//Getting App User
									 {
								 success:function (successAppUser)
								 {
											 var queryEmp = new Parse.Query(Parse.Installation);
											 queryEmp.equalTo('user_id', orderObj.get("EmployeeID"));//Push to Emp
											 Parse.Push.send(
											 {
												 where: queryEmp,
												 data: {
												 alert: "You have received new order #"+orderObj.get('OrderNumber')
												 }
											 }, 
											 {
											 success: function() 
											 {
											 	console.log('Push was successful to Employee'); // Push was successful		 
											 },
											 error: function(error) 
											 {
											 	response.error(error);
											 	console.log('Push error for Employee');// Handle error
											 }
											 });
													 var queryApp = new Parse.Query(Parse.Installation);
													 queryApp.equalTo('user_id', orderObj.get("UserID"));//Push to App User
													 Parse.Push.send(
													 {
														 where: queryApp,
														 data: {
														 alert: "Your order #"+orderObj.get('OrderNumber')+" is received & will proccess within "+orderObj.get('deliveryTime')+" minutes from now!!" 
													 }
													 }, 
													 {
														 success: function() 
														 {
														 	console.log('Push was successful to App User'); // Push was successful	
														 },
														 error: function(error) 
														 {
														 	response.error(error);
														 	console.log('Push error for App User');// Handle error
														 }
													 });
									 var msgEmp={
									 to: successEmployee.get("email"), 
									 from: "*****@*****.**",
									 subject: 'New Order by POPii',
									 html: "Hi \n"+successEmployee.get("firstName")+" "+successEmployee.get("lastName")+"\n\n You have received new order #"+orderObj.get('OrderNumber') +html
									 };
									 console.log(JSON.stringify(msgEmp));
									 Mailgun.sendEmail(msgEmp, 
									 {
										 success: function(httpResponse) //Mail to Emp
										 {
											
										 	//response.success("Email sent msgEmp!");
										 },
										 error: function(httpResponse) 
										 {
											 response.error(error);
											 //response.error("Uh oh, something went wrong");
										 }
									 });

									 var msgApp={
										 to: successAppUser.get("email"), 
										 from: "*****@*****.**",
										 subject: 'Your order received by POPii',
										 html: "Hi \n"+successAppUser.get("firstName")+" "+successAppUser.get("lastName")+"\n\n Your order #"+orderObj.get('OrderNumber')+" is received & will proccess within "+orderObj.get('deliveryTime')+" minutes from now!! Thanks for using POPii"  +html
										 }; 
									 console.log(JSON.stringify(msgApp));
									 Mailgun.sendEmail(msgApp, 
										 {
											 success: function(httpResponse) //Mail to App User
												 {
												
													 //response.success("Email sent!");
												 },
											 error: function(httpResponse) 
												 {
													 response.error(error);
													 //response.error("Uh oh, something went wrong");
												 }
										 }); 
								 },
								 error:function(error)
								 {
								 response.error(error);
								 }
									 }); 
								 },
								 error:function(error)
								 {
								 	response.error(error);
								 }
									 });
									 response.success(1);
						 }, 
Ejemplo n.º 15
0
Parse.Cloud.afterSave("Orders", function(request, response) {
	Parse.Cloud.useMasterKey();
	var orderObj=request.object;//Get Orders Object from request
	var OrderStatus = orderObj.get('OrderStatus');
 	if(OrderStatus===1)//fetch object exist in request
	{
		 
		 
		 var payMethod=orderObj.get("PaymentMethod");
		 if(payMethod==='Stripe')
		 {
			 var Stripe = require('stripe');
			 Stripe.initialize('sk_live_G66he8LxAt1U8VtwLjmJ1cVW');
			 //Stripe.initialize('sk_test_u73W3aHKcpurldoswHku9qBD');
			 //sk_live_NtAa5LQcjakmqalEovU6Mx6e
			 var paidAmount=parseFloat(orderObj.get('TotalAmount'));
			 // for(var i=0;i<OrderItems.length;i++)
			 // {
				//  var price = OrderItems[i].price;
				//  var qty = OrderItems[i].purchaseQuantity;
				//  paidAmount=paidAmount+parseFloat(price)*parseFloat(qty);//calculate total price
			 // }
			 var stripePayLoad={
				 amount: 100 * paidAmount, // $10 expressed in cents
				 currency: "usd",
				 card: orderObj.get("Token"),
				 metadata: {'order_id': orderObj.id}
				 };
			 Stripe.Charges.create(stripePayLoad,//made payment via Stripe
			 {
				 success: function(httpResponse) 
				 	{
						Proccess(orderObj,httpResponse,response);
				 	},
				 error: function(httpResponse) 
					 {
					 	 response.error(httpResponse);
						 console.log("Uh oh, something went wrong");
						 console.log(httpResponse);
					 }
			 });
		}
		else
		{
			Proccess(orderObj,orderObj.get('paymentHistory'),response);
		}
	}
	else
	{		
		Parse.Cloud.useMasterKey();
		var orderObj=request.object;//Get Orders Object from request
		var OrderStatus = orderObj.get('OrderStatus');
		var NotifyMsg='';
		if(OrderStatus===2)
			NotifyMsg='Thank you, your order is being processed';
		else if(OrderStatus===3)
			NotifyMsg='Your order is complete. Please come pick up.';
		else if(OrderStatus===4)
			NotifyMsg='Thank you for using POPii. Enjoy your food.';

		if(NotifyMsg!=='')
		{
			 var Mailgun = require('mailgun');
			 Mailgun.initialize('sandbox82443.mailgun.org', 'key-2-ekaeg6843ltjanh9tavhfilzha2rg1');//initialize mailgun
			 var Users = Parse.Object.extend("_User");
			 var AppUser = new Parse.Query(Users);
			 AppUser.get(orderObj.get("UserID"),//Getting App User
			 {
				 success:function (successAppUser)
				 {
					var msgApp={
						 to: successAppUser.get("email"), 
						 from: "*****@*****.**",
						 subject: NotifyMsg,
						 html: "Hi \n"+successAppUser.get("firstName")+" "+successAppUser.get("lastName")+"\n\n "+NotifyMsg+"\n\n Thanks for using POPii"
						};
					 Mailgun.sendEmail(msgApp, 
						{
							 success: function(httpResponse) //Mail to App User
								 {
									 
									 //response.success("Email sent!");
								 },
							 error: function(httpResponse) 
								 {
									 console.error(httpResponse);
									 //response.error("Uh oh, something went wrong");
								 }
						});
				 	var queryApp = new Parse.Query(Parse.Installation);
					 queryApp.equalTo('user_id', orderObj.get("UserID"));//Push to App User
					 Parse.Push.send(
						 {
							 where: queryApp,
							 data: {
									 alert: NotifyMsg
								 }
						 }, 
						 {
						 success: function() 
						 {
						 	console.log('Push was successful to App User'); // Push was successful	
						 },
						 error: function(error) 
						 {
						 	console.log('Push error for App User');// Handle error
						 }
						 });
					},
					 error:function(error)
					{
					 	console.log(error);
					}
		 	});
		}
		
 }
});
Ejemplo n.º 16
0
require('cloud/app.js');

var Mailgun = require('mailgun');
Mailgun.initialize('sandbox788c9f2dbbca4766be5ae734b8c5847f.mailgun.org', 'key-e074cdf4268854e4be36d660bea00d54');

// Use Parse.Cloud.define to define as many cloud functions as you want.
// For example:
Parse.Cloud.define("hello", function (request, response) {
  response.success("Hello world!");
});

var secretCode = "L’Oréal IT EE";

Parse.Cloud.beforeSave("_User", function (request, response) {
  var user = request.object;

  var code = user.get('code');
  var email = user.get('email');

  if (code != secretCode) {
    if (!code) { // If user does not has a code before, generate a 4 digits
      code = "" + Math.floor(Math.random() * 8999 + 1000);
      user.set('code', code);
    }
  }

  response.success();
});

function sendCodeToEmail(user, emailContent, response) {
  var code = user.get('code');
Ejemplo n.º 17
0
var moment = require("moment"); // current time
var mailgun = require("mailgun"); // sending emails
var _ = require('underscore'); // email templating
var fs = require('fs');

// initialze mailgun with domain and API key
mailgun.initialize("sandbox6d7935d6b6fa46cb830bde2511060cc8.mailgun.org", "key-6bc3fad9806ac814453c3dcb3704dd99");

// compile template
var template = fs.readFileSync("cloud/views/deal_email.js", "utf8");
var compiled = _.template(template);

Parse.Cloud.define("sendEmail", function(request, response) {
    mailgun.sendEmail({
        to: request.params.to,
        from: "BarLift <*****@*****.**>",
        subject: request.params.subject,
        html: request.params.html
    }, {
        success: function(httpResponse) {
            response.success("Email sent!");
        },
        error: function(httpResponse) {
            response.error(httpResponse);
        }
    });
});

Parse.Cloud.define("pushesSent", function(request, response) {
    Parse.Cloud.useMasterKey();
Ejemplo n.º 18
0
function notifyLateReturnUsers(status) {
    var Mailgun = require('mailgun');
    Mailgun.initialize('sandbox6e52f31b7a044f37839ce035cd213a9e.mailgun.org', 'key-865ba1409c47bf9c1040c278c0637a5b');

    var today = new Date();
    var twoDaysAgo = new Date(today);
    twoDaysAgo.setDate(today.getDate());
    
    //Find Device that has not been return by certain time, return the user's name
    var Devices = Parse.Object.extend("Devices");
    var query = new Parse.Query(Devices);
    query.lessThan ("updatedAt",twoDaysAgo);
    query.notEqualTo("user","");
    query.find({
        success: function(results) {
            if(results.length < 0){
                status.success("No late Users, job completed successfully.");
                return;
            }
            
            for (var i = 0; i < results.length; i++) { 
                var deviceID = results[i].get("deviceId");
                var model = results[i].get("model");
                var user = results[i].get("user");

                console.log("User: "******", deviceId: " + deviceID + ", model: " + model);

                //Find email belongs to late user found in previous query 
                var Users = Parse.Object.extend("Users");
                var userQuery = new Parse.Query(Users);
                userQuery.equalTo("userName", user);
                userQuery.find({
                    success: function(users) {
                        var email = users[0].get("email");
                        if(validateEmail(email)){
                            Mailgun.sendEmail({
                                to: email,
                                bcc: "*****@*****.**",
                                from: "*****@*****.**",
                                subject: deviceID + " is OVERDUE",
                                text: users[0].get("userName") + ", ++is now overdue.\nPlease return your device as soon as possible, or contact the QA team for an extension.\n\nThanks,\n\nPNI QA Team"
                            }, {
                                success: function(httpResponse) {
                                    console.log(httpResponse);
                                    status.success("Notification email sent to " + user);
                                },
                                error: function(httpResponse) {
                                    console.error(httpResponse);
                                    status.error("Uh oh, email went wrong.");
                                }
                            });
                        }
                    },
                    error: function(error) {
                        console.error(error);
                        status.error("Uh oh, user query went wrong.");
                    }
                });
            }
        },
        error: function(error) {
            console.error(error);
            status.error("Uh oh, device query went wrong.");
        }
    });
    
}
Ejemplo n.º 19
0
// Initialize modules
var Stripe = require('stripe');
Stripe.initialize('sk_test_Lf3CEX3liEWOr0v0LSO0nnOy');

var Mailgun = require('mailgun');
Mailgun.initialize('sandbox74731.mailgun.org', 'key-3ir7uu4-blgsx6b712ke5a4epgv5lfx0');

// Purchase endpoint for the photo album order
Parse.Cloud.define('purchaseItem', function(request, response) {
	// Get the order object
	var query = new Parse.Query('Order');
	query.equalTo('objectId', request.params.order);
    query.include('album');
	query.first({
		success: function(order) {
            console.log('Got order ' + JSON.stringify(order));
		    // Start charging the card
			order.save(null, {
				success: function(httpResponse) {
					// Create a Stripe charge with the card token
                    console.log('Charging order for ' + order.get('total'));
					Stripe.Charges.create({
						amount: order.get('total') * 100, // in cents
                        currency: 'USD',
				  		card: order.get('cardToken') // the token ID is sent from the client
					}, {
							success: function(httpResponse) {
                                console.log('Charged ' + httpResponse);
						    	// Credit card was charged. Save the payment token.
						    	order.set('paymentToken', httpResponse.id);
						    	order.set('charged', true);
Ejemplo n.º 20
0
var _ = require('underscore');
var Mailgun = require('mailgun');
Mailgun.initialize('mg.cobracup.se', 'key-bc14dd14e4c28a20da1bdbc5f5f1223a');

exports.getTeam = function(req, res) {
  //console.log("Trying to get the team..");
  var Team = Parse.Object.extend('Team');
  var teamQuery = new Parse.Query(Team);
  teamQuery.equalTo('team_id', req.params.teamid);
  teamQuery.include('nhlTeam');
  teamQuery.find().then(function(theTeam) {
    if (theTeam) {
      console.log("Gotten the team...");
      var Standings = Parse.Object.extend('Standings');
      var standingsQuery = new Parse.Query(Standings);
      standingsQuery.descending('points');
      standingsQuery.include(["team.nhlTeam"]);
      //standingsQuery.limit(5);
      standingsQuery.find().then(function(standings) {
        if (standings) {
          var PlayerStats = Parse.Object.extend('PlayerStats');
          var playerStatsQuery = new Parse.Query(PlayerStats);
          playerStatsQuery.find().then(function(playerStats) {
            if (playerStats) {
              var Game = Parse.Object.extend('Game');

              var innerTeamQuery = new Parse.Query(Team);
              innerTeamQuery.equalTo('objectId', theTeam[0].id);

              var homeTeamQuery = new Parse.Query(Game);
              homeTeamQuery.matchesQuery('home', innerTeamQuery);
Ejemplo n.º 21
0
Parse.Cloud.job("notifyLateReturnUser", function(request, status) {
    
    var Mailgun = require('mailgun');
    Mailgun.initialize('sandbox6e52f31b7a044f37839ce035cd213a9e.mailgun.org', 'key-865ba1409c47bf9c1040c278c0637a5b');

    var today = new Date();
    var twoDaysAgo = new Date(today);
    twoDaysAgo.setDate(today.getDate());
    
    var lateUserList = [];
    var emailList = "";
    
    //Find Device that has not been return by certain time, return the user's name
    var Devices = Parse.Object.extend("Devices");
    var query = new Parse.Query(Devices);
    query.lessThan ("updatedAt",twoDaysAgo);
    query.notEqualTo("user","");
    query.find({
        success: function(results) {
            console.log("over two days: " + results);
            for (var i = 0; i < results.length; i++) { 
                var object = results[i];
                lateUserList.push(object.get('user'));
            }
            
            console.log("lateUserList:" + lateUserList);
        
            //Find email belongs to late user found in previous query 
            var Users = Parse.Object.extend("Users");
            var userQuery = new Parse.Query(Users);
            for (var i = 0; i < lateUserList.length; i++)
            {
                userQuery.EqualTo("user",lateUserList[i]);    
            }
            
            userQuery.find({
                success: function(results) {
                    console.log("return late users: " + results);
                    for (var i = 0; i < results.length; i++) { 
                        var object = results[i];
                        emailList += object.get('email') + ",";
                    }
                    
                    console.log("emailList: " + emailList);
                    
                    Mailgun.sendEmail({
                        to: emailList,
                        from: "PNI QA",
                        subject: "You have checkouted QA device is OVERDUE",
                        text: "Please return your device ASAP or talk to QA team for an extension"
                    }, {
                        success: function(httpResponse) {
                            console.log(httpResponse);
                            response.success("Email sent!");
                            status.success("NotifyLateReturnUser completed successfully.");
                        },
                        error: function(httpResponse) {
                            console.error(httpResponse);
                            response.error("Uh oh, something went wrong");
                            status.error("Uh oh, email went wrong.");
                        }
                    });
                    
                },  

                error: function(error) {
                    status.error("Uh oh, user query went wrong.");
                }
            });
        },  

        error: function(error) {
            status.error("Uh oh, device query went wrong.");
        }
        
    });

    
});
Ejemplo n.º 22
0
var mailgun = require('mailgun');
mailgun.initialize('<yourdomainhere.com>', 'key-123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ');

Parse.Cloud.afterSave("PushNotifications", function(request) {
  var sender = request.object.get("sender");
  var channel = request.object.get("channel");
  var message = request.object.get("message");
  var sent = request.object.get("sent");
  var objectId = request.object.id;
  var body = '<html><body>Hello, <br /><br />A request to send a push notification to all users on the channel, "' + channel + '".<br /><br />The message includes the following text: "' + message + '".<br /><br />If you are ready to send this message, please confirm by clicking the following link: <a href="http://<yourdomainhere.com>/MG2Parse.php?pushId='+objectId+'">Send Push Now</a><br /><br />Thank you,<br />MG2Parse';
 if(!sent){
  mailgun.sendEmail({
  to: sender,
  from: "PushValidation <pushvalidate@<yourdomainhere.com>",
  subject: "Please Confirm Your Push Notification",
  html: body}
  , {
    success: function(httpResponse) {
        console.log(httpResponse);
    },
    error: function(httpResponse) {
        console.error(httpResponse);
    }
  });
}});
Ejemplo n.º 23
0
/* Initialize the Stripe and Mailgun Cloud Modules */
var Stripe = require('stripe');
Stripe.initialize('');

var Mailgun = require('mailgun');
Mailgun.initialize("", "");

/*
 * Purchase an item from the Parse Store using the Stripe
 * Cloud Module.
 *
 * Expected input (in request.params):
 *   itemName       : String, can be "Mug, "Tshirt" or "Hoodie"
 *   size           : String, optional for items like the mug 
 *   cardToken      : String, the credit card token returned to the client from Stripe
 *   name           : String, the buyer's name
 *   email          : String, the buyer's email address
 *   address        : String, the buyer's street address
 *   city_state     : String, the buyer's city and state
 *   zip            : String, the buyer's zip code
 *
 * Also, please note that on success, "Success" will be returned. 
 */
Parse.Cloud.define("purchaseItem", function(request, response) {
  // The Item and Order tables are completely locked down. We 
  // ensure only Cloud Code can get access by using the master key.
  Parse.Cloud.useMasterKey();

  // Top level variables used in the promise chain. Unlike callbacks,
  // each link in the chain of promise has a separate context.
  var item, order;
Ejemplo n.º 24
0
// Use Parse.Cloud.define to define as many cloud functions as you want.
// For example:
Parse.Cloud.define("hello", function(request, response) {
  response.success("Hello world!");
});

var Mailgun = require('mailgun');
Mailgun.initialize('sandboxd2064f0b8f7a41cd8ec4a3b3288ae134.mailgun.org', 'pubkey-cc5d6cd3d56ff18849a5fc4de3235973');

Parse.Cloud.beforeSave("Customer", function(request, response) {

	var text = "Support Ticket\n" +
		"Branch: "+request.object.get("branch") + "\n"+
		"Name: "+request.object.get("customerName") + "\n"+
		"Company: "+request.object.get("companyName") + "\n"+
		"Email: "+request.object.get("customerEmail") + "\n\n"+
    "Office Phone: "+request.object.get("customerOfficePhone") + "\n\n"+
		"Mobile Phone:\n" + request.object.get("customerMobilePhone");

	Mailgun.sendEmail({
			to: "*****@*****.**",
			from: request.object.get("customerEmail"),
			subject: "Johnstone Customer Info - " + request.object.get("companyName"),
			text: text
		}, {
		success: function(httpResponse) {
			response.success("success sending email");
		},
		error: function(httpResponse) {
			console.error(httpResponse);
			response.error("Something went wrong");
Ejemplo n.º 25
0
'use strict';

var JUDGEMENT_LIKELIHOOD_PERCENT_OPTIONS = [
    0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100
];

var Mailgun = require('mailgun');
Mailgun.initialize('sandboxd5e0f918a26f489aaab13df5438f9db7.mailgun.org', 'key-e355f088775a5a0798bb7ec93b72b8c6');


var PrivateUserData = Parse.Object.extend('PrivateUserData');
var UserFeedback = Parse.Object.extend('UserFeedback');
var Judgement = Parse.Object.extend('Judgement');
var JudgementUpdate = Parse.Object.extend('JudgementUpdate');
var ReasonComment = Parse.Object.extend('ReasonComment');

var NOTIFICATION_TYPES = {
    'newCommentAddedToReason': 'newCommentAddedToReason',
    'newJudgementAddedToPrediction': 'newJudgementAddedToPrediction'
};

var Notification = Parse.Object.extend('Notification', {}, {
    newReasonCommentAdded: function(reasonComment, userToNotify) {
        return new Notification().save({
            'notificationType': NOTIFICATION_TYPES.newCommentAddedToReason,
            'reasonComment': reasonComment,
            'judgement': reasonComment.get('judgement'),
            'userToNotify': userToNotify
        })
        .then(null, function(e) {
            console.error(e);