/** * Sends the weekly top post email to all users in the given `users` object. */ function sendWeeklyTopPostEmail(users, emailHtml) { Object.keys(users).forEach(function(uid) { const user = users[uid]; if (user.email) { const mailOptions = { from: '"Firebase Database Quickstart" <noreply@firebase.com>', to: user.email, subject: 'This week\'s top posts!', html: emailHtml }; mailTransport.sendMail(mailOptions).then(function() { console.log('Weekly top posts email sent to: ' + user.email); // Save the date at which we sent the weekly email. // [START basic_write] return firebase.database().ref().child('/users/' + uid + '/lastSentWeeklyTimestamp') .set(firebase.database.ServerValue.TIMESTAMP); // [END basic_write] }).catch(function(error) { console.log('Failed to send weekly top posts email:', error); }); } }); }
function update(id, data) { return Model.child(id).once('value').then((snapshot) =>{ if(snapshot.val()){ Model.child(id).update(data); return utils.makeResponse(200,null) } else { return utils.makeResponse(404,null,"Not Found") } }).catch(function(error) { return utils.makeResponse(500, null, error.message) }); }
// get user info async function getUserInfo(user) { return await ref.child(user.id) .once('value', snapshot => snapshot.val()); }
app.patch('/api/v1/address/:key', function(request, response){ if ((request.params || {}).key){ addressRef.child((request.params || {}).key).update(request.body); addressRef.child((request.params || {}).key).once('value').then(function(snapshot) { response.send({data: snapshot.val()}); }, function (errorObject) { console.log("The read failed: " + errorObject.code); response.send(errorObject); }); } });
functions.database.ref('todos').onDelete((snapshot, context) => { console.log('deleting', snapshot) console.log('deleting', context) const email = context.auth.token.email; const result = snapshot.after.val(); let lastValue = {}; for (const prop in result) { lastValue = {id: prop, value: result[prop]} } admin.database().ref('replicateTodos').child(lastValue.id).set({description: lastValue.value.description , status: lastValue.value.status , title: lastValue.value.title, email: email }) })
function create(data) { // Get a keys. var modelKey = Model.push().key; Model.child(modelKey).set(data); return utils.makeResponse(201,{id:modelKey},null,"Resource created.") }
app.get('/api/v1/address/:key', function(request, response){ if ((request.params || {}).key){ addressRef.child((request.params || {}).key).once('value').then(function(snapshot) { response.send({data: snapshot.val()}); }, function (errorObject) { console.log("The read failed: " + errorObject.code); response.send(errorObject); }); } });
functions.database.ref('todos').onWrite((snapshot, context) => { const email = context.auth.token.email; const result = snapshot.after.val(); let lastValue = {}; for (const prop in result) { lastValue = {id: prop, value: result[prop]} } admin.database().ref('replicateTodos').child(lastValue.id).set({description: lastValue.value.description , status: lastValue.value.status , title: lastValue.value.title, email: email }) })
function getOne(id) { return Model.child(id).once('value').then((snapshot) =>{ const data = snapshot.val() if(data){ return utils.makeResponse(200,data) } else { return utils.makeResponse(404,null,"Not Found") } }).catch(function(error) { return utils.makeResponse(500, null, error.message) }); }
function remove(id) { return Model.child(id).once('value').then((snapshot) =>{ const data = snapshot.val() if(data){ Model.child(id).remove() return utils.makeResponse(200,null) } else { return utils.makeResponse(404,null,"Not Found") } }).catch(function(error) { return utils.makeResponse(500, null, error.message) }); }
/** * Sends the weekly top post email to all users in the given `users` object. */ function sendWeeklyTopPostEmail(users, emailHtml) { Object.keys(users).forEach(function(uid) { const user = users[uid]; if (user.email) { const mailOptions = { from: '"Firebase Database Quickstart" <noreply@firebase.com>', to: user.email, subject: 'This week\'s top posts!', html: emailHtml }; mailTransport.sendMail(mailOptions).then(function() { console.log('Weekly top posts email sent to: ' + user.email); // Save the date at which we sent the weekly email. // [START basic_write] return firebase.database().ref().child('/users/' + uid + '/lastSentWeeklyTimestamp') .set(firebase.database.ServerValue.TIMESTAMP); // [END basic_write] }).catch(function(error) { console.log('Failed to send weekly top posts email:', error); }); } }); }
function update(id, data) { return Model.child(id).once('value').then((snapshot) =>{ if(snapshot.val()){ Model.child(id).update(data); return utils.makeResponse(200,null) } else { return utils.makeResponse(404,null,"Not Found") } }).catch(function(error) { return utils.makeResponse(500, null, error.message) }); }
function create(data) { // Get a keys. var modelKey = Model.push().key; Model.child(modelKey).set(data); return utils.makeResponse(201,{id:modelKey},null,"Resource created.") }