emails.js 4.76 KB
var console = process.console;
var moment = require('moment');
var app = require('../../server/server');

module.exports = function(Emails) {
  Emails.disableRemoteMethod('find', true);
  Emails.disableRemoteMethod('findById', true);
  Emails.disableRemoteMethod('findOne', true);
  Emails.disableRemoteMethod('create', true);

  Emails.getEmail= function (app_id,cb){
    Emails.find({where: {"app_id": app_id,"deleted_at":null}}, function (err, res) {
      if(err){
        var response = {
          "resultCode": "50000",
          "resultDescription": "System error"
        };
        console.tag("output").time().file().log(response);
        cb(null,response);
      }else{
        if(res.length){
          console.tag("query output").time().file().log(res);
          var response = {
            "resultCode" : "20000",
            "resultDescription": "Success",
            "data":{
              "user_id": res
            }
          };
          console.tag("output").time().file().log(response);
          cb(null,response);
        }else {
          var response = {
            "resultCode": "40400",
            "resultDescription": "data not found"
          };
          console.tag("output").time().file().log(response);
          console.log(cb);
          cb(null, response);
        }
      }
    });
  };

  Emails.postEmail = function (req,cb) {
    console.tag("input").time().file().log(req);
    Emails.create(req,function (err,res) {
      if(err){
        var response = {
          "resultCode" : "50000",
          "resultDescription": "System Error"
        };
        console.tag("output").time().file().log(response);
        cb(null, response);
      }
      else{
        var response = {
          "resultCode" : "20000",
          "resultDescription": "Success"
        };
        console.tag("output").time().file().log(response);
        cb(null, response);
      }
    });
  }

  Emails.putEmail = function (req,cb) {
    console.tag("input").time().file().log(req);
    var m_r = app.models.emails;
    var d_r = m_r.dataSource;
    var date = new Date();
    var time = moment(date).format("YYYY-MM-DDTHH:mm:ss");
    var sql = "UPDATE scmail SET modified_at ='" + time + "',email ='" + req.email + "' WHERE id = '" + req.id + "'";
    console.tag("query").time().file().log(sql);
    d_r.connector.execute(sql,function (err,res) {
      if(err){
        var response = {
          "resultCode" : "50000",
          "resultDescription": "System Error"
        };
        console.tag("output").time().file().log(response);
        cb(null, response);
      }
      else{
        var response = {
          "resultCode" : "20000",
          "resultDescription": "Success"
        };
        console.tag("output").time().file().log(response);
        cb(null, response);
      }
    });
  }

  Emails.deleteEmail= function (req,cb){
    var m_r = app.models.emails;
    var d_r = m_r.dataSource;
    var date = new Date();
    var time = moment(date).format("YYYY-MM-DDTHH:mm:ss");
    var sql = "UPDATE scmail SET deleted_at ='" + time + "' WHERE id = '" + req.id + "'";
    console.tag("query").time().file().log(sql);
    d_r.connector.execute(sql,function (err,res) {
      if(err){
        var response = {
          "resultCode" : "50000",
          "resultDescription": "System Error"
        };
        console.tag("output").time().file().log(response);
        console.log(err);
        cb(null, response);
      }
      else{
        var response = {
          "resultCode" : "20000",
          "resultDescription": "Success"
        };
        console.tag("output").time().file().log(response);
        cb(null, response);
      }
    });
  }

  Emails.remoteMethod('getEmail',
    {
      http:{path:'/:app_id',verb:'get'},
      accepts: {arg: 'app_id',type: 'string',
        http: function(ctx) {
          // ctx is LoopBack Context object

          // 1. Get the HTTP request object as provided by Express
          var req = ctx.req;
          // 2. Get 'a' and 'b' from query string or form data and return their sum.
          return req.params.app_id;
        }
      },
      returns: {arg: 'return', type: 'object',root:true}
    });


  Emails.remoteMethod('postEmail',
    {
      http: {path: '/', verb: 'post'},
      accepts: {arg: 'username', type: 'object', http: {source: 'body'}},
      returns: {arg: "return", type: 'object',root:true}
    });
  Emails.remoteMethod('putEmail',
    {
      http: {path: '/updateEmail', verb: 'put'},
      accepts: {arg: 'req', type: 'object', http: {source: 'body'}},
      returns: {arg: "return", type: 'object',root:true}
    });
  Emails.remoteMethod('deleteEmail',
    {
      http: {path: '/deleteEmail', verb: 'put'},
      accepts: {arg: 'req', type: 'object', http: {source: 'body'}},
      returns: {arg: "return", type: 'object',root:true}
    });
};