Wednesday, 10 May 2017

Firebase function update date to database

I am trying to add a date to the Firebase database at this location: /users/{uid]/AccessDate. The function I am using is using a HTTPS WebHook. I am accessing the function like this:

https://us-central1-project_my_project.cloudfunctions.net/date

This is the code I am trying to modify:

Please help :(

     /**
     * Copyright 2016 Google Inc. All Rights Reserved.
     *
     * Licensed under the Apache License, Version 2.0 (the "License");
     * you may not use this file except in compliance with the License.
     * You may obtain a copy of the License at
     *
     *      http://www.apache.org/licenses/LICENSE-2.0
     *
     * Unless required by applicable law or agreed to in writing, software
     * distributed under the License is distributed on an "AS IS" BASIS,
     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     * See the License for the specific language governing permissions and
     * limitations under the License.
     */
    'use strict';

    // [START functionsimport]
    const functions = require('firebase-functions');
    const admin = require('firebase-admin');
    admin.initializeApp(functions.config().firebase);
    // [END functionsimport]
    // [START additionalimports]
    // Moments library to format dates.
    const moment = require('moment');
    // CORS Express middleware to enable CORS Requests.
    const cors = require('cors')({origin: true});
    // [END additionalimports]

    // [START all]
    /**
     * Returns the server's date. You must provide a `format` URL query parameter or `format` vaue in
     * the request body with which we'll try to format the date.
     *
     * Format must follow the Node moment library. See: http://momentjs.com/
     *
     * Example format: "MMMM Do YYYY, h:mm:ss a".
     * Example request using URL query parameters:
     *   https://us-central1-<project-id>.cloudfunctions.net/date?format=MMMM%20Do%20YYYY%2C%20h%3Amm%3Ass%20a
     * Example request using request body with cURL:
     *   curl -H 'Content-Type: application/json' /
     *        -d '{"format": "MMMM Do YYYY, h:mm:ss a"}' /
     *        https://us-central1-<project-id>.cloudfunctions.net/date
     *
     * This endpoint supports CORS.
     */
    // [START trigger]
    exports.date = functions.https.onRequest((req, res) => {
    // [END trigger]
      // [START sendError]
      // Forbidding PUT requests.
      if (req.method === 'PUT') {
        res.status(403).send('Forbidden!');
      }
      // [END sendError]

      // [START usingMiddleware]
      // Enable CORS using the `cors` express middleware.
      cors(req, res, () => {
      // [END usingMiddleware]
        // Reading date format from URL query parameter.
        // [START readQueryParam]
        let format = req.query.format;
        // [END readQueryParam]
        // Reading date format from request body query parameter
        if (!format) {
          // [START readBodyParam]
          format = req.body.format;
          // [END readBodyParam]
        }
        // [START sendResponse]
        const formattedDate = moment().format(format);
        console.log('Sending Formatted date:', formattedDate);

      //  var db = firebase.database();
      //  db.ref("-Users/Oer5c1NxFOVw5DpzN4miuu7j2").update({ AccessDate: formattedDate });
//// this does not work,,,, 


         console.log('FORMAT =>',format,'<=');
        res.status(200).send(formattedDate);
        // [END sendResponse]
      });
    });
    // [END all]



via Tudor Ozy

No comments:

Post a Comment