codecombat/scripts/mongodb/createSchoolSalePayment.js

62 lines
1.7 KiB
JavaScript
Raw Normal View History

2016-04-28 19:13:16 -04:00
// Create external school sale payment object
// Usage:
// Modify/review hard coded data below.
// mongo <address>:<port>/<database> <script file> -u <username> -p <password>
// NOTE: Must use a valid Coco user id or email for purchaserID or recipientEmail, could be admin user id if necessary
// ** Start MODIFY/REVIEW values
var recipientEmail = 'pam@fred.com';
var purchaserID; // Leave blank to use ID of user of valid Coco email address
var created = '2016-05-01T00:00:00.000Z';
var amount = 11111; // Value in cents
var description = 'TODO: set this string to relevant school sale info'
// ** End MODIFY/REVIEW values
var service = 'external';
recipientEmail = recipientEmail.toLowerCase();
var user = db.users.findOne({emailLower: recipientEmail});
if (!purchaserID && user) {
purchaserID = user._id + '';
}
if (!purchaserID) {
print(`No valid purchaserID found for ${recipientEmail} or ${purchaserID}`);
quit();
}
print("Input Data:");
print("recipientEmail\t", recipientEmail);
print("purchaserID\t", purchaserID);
print("created\t\t", created);
print("amount\t\t", amount);
print("service\t\t", service);
var criteria = {
purchaser: ObjectId(purchaserID),
created: created,
amount: NumberInt(amount),
description: description,
service: service
}
if (user) {
criteria.recipient = user._id
}
else if (purchaserID) {
criteria.recipient = ObjectId(purchaserID);
}
else {
print("ERROR: no valid user or purchaserID!");
quit();
}
var existingPayment = db.payments.findOne(criteria);
if (existingPayment) {
print(`Already have a payment for ${recipientEmail} purchaser ${purchaserID}: ${existingPayment._id.valueOf()}`);
}
else {
db.payments.insert(criteria);
print(`Added payment for ${recipientEmail}`);
}